rsuite 5.52.0 → 5.53.1
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/AutoComplete/styles/index.css +4 -0
- package/CHANGELOG.md +25 -0
- package/Cascader/styles/index.css +4 -0
- package/CheckPicker/styles/index.css +4 -0
- package/CheckTree/styles/index.css +34 -14
- package/CheckTreePicker/styles/index.css +34 -14
- package/CheckTreePicker/styles/index.less +39 -29
- package/DatePicker/styles/index.css +4 -0
- package/DateRangePicker/styles/index.css +4 -0
- package/InputGroup/styles/index.css +5 -0
- package/InputGroup/styles/index.less +1 -1
- package/InputNumber/styles/index.css +2 -0
- package/InputPicker/styles/index.css +4 -0
- package/Message/styles/index.css +170 -29
- package/Message/styles/index.less +42 -3
- package/Message/styles/mixin.less +18 -3
- package/MultiCascader/styles/index.css +4 -0
- package/Pagination/styles/index.css +4 -0
- package/SelectPicker/styles/index.css +4 -0
- package/Tabs/package.json +7 -0
- package/Tabs/styles/index.css +1816 -0
- package/Tabs/styles/index.less +28 -0
- package/TagInput/styles/index.css +4 -0
- package/TagPicker/styles/index.css +4 -0
- package/Tree/styles/index.css +10 -4
- package/TreePicker/styles/index.css +10 -4
- package/TreePicker/styles/index.less +9 -5
- package/cjs/Carousel/Carousel.js +1 -1
- package/cjs/CheckTreePicker/CheckTreeNode.js +1 -1
- package/cjs/DateRangePicker/DateRangePicker.d.ts +10 -10
- package/cjs/DateRangePicker/DateRangePicker.js +1 -1
- package/cjs/DateRangePicker/index.d.ts +1 -1
- package/cjs/Dropdown/DropdownItem.js +4 -2
- package/cjs/Message/Message.d.ts +28 -6
- package/cjs/Message/Message.js +17 -11
- package/cjs/Nav/Nav.d.ts +2 -0
- package/cjs/Nav/Nav.js +14 -10
- package/cjs/Panel/Panel.js +2 -2
- package/cjs/Stack/Stack.js +2 -2
- package/cjs/Steps/Steps.js +1 -1
- package/cjs/Tabs/Tab.d.ts +25 -0
- package/cjs/Tabs/Tab.js +21 -0
- package/cjs/Tabs/TabPanel.d.ts +10 -0
- package/cjs/Tabs/TabPanel.js +33 -0
- package/cjs/Tabs/Tabs.d.ts +50 -0
- package/cjs/Tabs/Tabs.js +221 -0
- package/cjs/Tabs/index.d.ts +3 -0
- package/cjs/Tabs/index.js +9 -0
- package/cjs/Timeline/Timeline.js +1 -1
- package/cjs/index.d.ts +2 -0
- package/cjs/index.js +3 -1
- package/cjs/internals/Menu/Menu.js +12 -1
- package/cjs/internals/Picker/ListCheckItem.js +7 -2
- package/cjs/internals/Picker/ListItem.js +6 -2
- package/cjs/internals/Picker/TreeView.js +1 -1
- package/cjs/utils/ReactChildren.d.ts +2 -2
- package/cjs/utils/ReactChildren.js +22 -20
- package/cjs/utils/index.d.ts +2 -0
- package/cjs/utils/index.js +8 -2
- package/cjs/utils/statusIcons.js +2 -2
- package/dist/rsuite-no-reset-rtl.css +212 -35
- package/dist/rsuite-no-reset-rtl.min.css +1 -1
- package/dist/rsuite-no-reset-rtl.min.css.map +1 -1
- package/dist/rsuite-no-reset.css +212 -35
- package/dist/rsuite-no-reset.min.css +1 -1
- package/dist/rsuite-no-reset.min.css.map +1 -1
- package/dist/rsuite-rtl.css +212 -35
- package/dist/rsuite-rtl.min.css +1 -1
- package/dist/rsuite-rtl.min.css.map +1 -1
- package/dist/rsuite.css +212 -35
- package/dist/rsuite.js +84 -51
- package/dist/rsuite.js.map +1 -1
- package/dist/rsuite.min.css +1 -1
- package/dist/rsuite.min.css.map +1 -1
- package/dist/rsuite.min.js +1 -1
- package/dist/rsuite.min.js.map +1 -1
- package/esm/Carousel/Carousel.js +1 -1
- package/esm/CheckTreePicker/CheckTreeNode.js +1 -1
- package/esm/DateRangePicker/DateRangePicker.d.ts +10 -10
- package/esm/DateRangePicker/DateRangePicker.js +1 -1
- package/esm/DateRangePicker/index.d.ts +1 -1
- package/esm/Dropdown/DropdownItem.js +4 -2
- package/esm/Message/Message.d.ts +28 -6
- package/esm/Message/Message.js +19 -13
- package/esm/Nav/Nav.d.ts +2 -0
- package/esm/Nav/Nav.js +13 -9
- package/esm/Panel/Panel.js +2 -2
- package/esm/Stack/Stack.js +3 -3
- package/esm/Steps/Steps.js +1 -1
- package/esm/Tabs/Tab.d.ts +25 -0
- package/esm/Tabs/Tab.js +15 -0
- package/esm/Tabs/TabPanel.d.ts +10 -0
- package/esm/Tabs/TabPanel.js +27 -0
- package/esm/Tabs/Tabs.d.ts +50 -0
- package/esm/Tabs/Tabs.js +215 -0
- package/esm/Tabs/index.d.ts +3 -0
- package/esm/Tabs/index.js +3 -0
- package/esm/Timeline/Timeline.js +1 -1
- package/esm/index.d.ts +2 -0
- package/esm/index.js +1 -0
- package/esm/internals/Menu/Menu.js +12 -1
- package/esm/internals/Picker/ListCheckItem.js +7 -2
- package/esm/internals/Picker/ListItem.js +6 -2
- package/esm/internals/Picker/TreeView.js +1 -1
- package/esm/utils/ReactChildren.d.ts +2 -2
- package/esm/utils/ReactChildren.js +22 -20
- package/esm/utils/index.d.ts +2 -0
- package/esm/utils/index.js +3 -1
- package/esm/utils/statusIcons.js +2 -2
- package/internals/Picker/styles/index.less +1 -1
- package/package.json +1 -1
- package/styles/color-modes/dark.less +4 -0
- package/styles/color-modes/light.less +18 -4
- package/styles/index.less +1 -0
- package/styles/mixins/listbox.less +2 -7
- package/styles/variables.less +2 -1
package/esm/Tabs/Tabs.js
ADDED
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
|
+
import _taggedTemplateLiteralLoose from "@babel/runtime/helpers/esm/taggedTemplateLiteralLoose";
|
|
4
|
+
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
5
|
+
var _templateObject;
|
|
6
|
+
import React from 'react';
|
|
7
|
+
import PropTypes from 'prop-types';
|
|
8
|
+
import { useClassNames, useControlled, ReactChildren, useEventCallback, useUniqueId, useCustom } from '../utils';
|
|
9
|
+
import Nav from '../Nav';
|
|
10
|
+
import Tab from './Tab';
|
|
11
|
+
import TabPanel from './TabPanel';
|
|
12
|
+
function getFocusableTabs(tablist) {
|
|
13
|
+
var tabs = tablist === null || tablist === void 0 ? void 0 : tablist.querySelectorAll('[role=tab]');
|
|
14
|
+
return Array.from(tabs).filter(function (tab) {
|
|
15
|
+
return !(tab.getAttribute('aria-disabled') === 'true');
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
function getFocusedTab(tablist) {
|
|
19
|
+
var tabs = getFocusableTabs(tablist);
|
|
20
|
+
return tabs.find(function (tab) {
|
|
21
|
+
return tab.getAttribute('aria-selected');
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
function nextItem(tablist) {
|
|
25
|
+
if (!tablist) {
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
28
|
+
var item = getFocusedTab(tablist);
|
|
29
|
+
var items = getFocusableTabs(tablist);
|
|
30
|
+
if (!item) {
|
|
31
|
+
return items[0];
|
|
32
|
+
}
|
|
33
|
+
var nextItem = items[items.indexOf(item) + 1];
|
|
34
|
+
if (!nextItem || nextItem.getAttribute('role') !== 'tab') {
|
|
35
|
+
return items[0];
|
|
36
|
+
}
|
|
37
|
+
return nextItem;
|
|
38
|
+
}
|
|
39
|
+
function previousItem(tablist) {
|
|
40
|
+
if (!tablist) {
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
var item = getFocusedTab(tablist);
|
|
44
|
+
var items = getFocusableTabs(tablist);
|
|
45
|
+
if (!item) {
|
|
46
|
+
return items[items.length - 1];
|
|
47
|
+
}
|
|
48
|
+
var previousItem = items[items.indexOf(item) - 1];
|
|
49
|
+
if (!previousItem || previousItem.getAttribute('role') !== 'tab') {
|
|
50
|
+
return items[items.length - 1];
|
|
51
|
+
}
|
|
52
|
+
return previousItem;
|
|
53
|
+
}
|
|
54
|
+
var renderPanels = function renderPanels(children, tabProps) {
|
|
55
|
+
var id = tabProps.id,
|
|
56
|
+
activeKey = tabProps.activeKey;
|
|
57
|
+
return ReactChildren.map(children, function (child) {
|
|
58
|
+
var _child$props = child.props,
|
|
59
|
+
eventKey = _child$props.eventKey,
|
|
60
|
+
children = _child$props.children;
|
|
61
|
+
var selected = eventKey === activeKey;
|
|
62
|
+
return /*#__PURE__*/React.createElement(TabPanel, {
|
|
63
|
+
"aria-labelledby": id + "-" + eventKey,
|
|
64
|
+
"aria-hidden": !selected,
|
|
65
|
+
id: id + "-panel-" + eventKey,
|
|
66
|
+
active: selected
|
|
67
|
+
}, children);
|
|
68
|
+
});
|
|
69
|
+
};
|
|
70
|
+
var renderTabs = function renderTabs(children, tabPanelProps) {
|
|
71
|
+
var id = tabPanelProps.id,
|
|
72
|
+
activeKey = tabPanelProps.activeKey;
|
|
73
|
+
return ReactChildren.map(children, function (child) {
|
|
74
|
+
var _child$props2 = child.props,
|
|
75
|
+
eventKey = _child$props2.eventKey,
|
|
76
|
+
title = _child$props2.title,
|
|
77
|
+
disabled = _child$props2.disabled,
|
|
78
|
+
icon = _child$props2.icon;
|
|
79
|
+
var selected = eventKey === activeKey;
|
|
80
|
+
return /*#__PURE__*/React.createElement(Nav.Item, {
|
|
81
|
+
role: "tab",
|
|
82
|
+
as: "button",
|
|
83
|
+
type: "button",
|
|
84
|
+
"aria-selected": selected,
|
|
85
|
+
"aria-controls": id + "-panel-" + eventKey,
|
|
86
|
+
"aria-disabled": disabled,
|
|
87
|
+
"data-event-key": eventKey,
|
|
88
|
+
disabled: disabled,
|
|
89
|
+
icon: icon,
|
|
90
|
+
id: id + "-" + eventKey,
|
|
91
|
+
tabIndex: selected ? undefined : -1,
|
|
92
|
+
eventKey: eventKey
|
|
93
|
+
}, title);
|
|
94
|
+
});
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Tabs are a set of layered sections of content, known as tab panels, that display one panel of content at a time.
|
|
99
|
+
*
|
|
100
|
+
* @version 5.53.0
|
|
101
|
+
* @see https://rsuitejs.com/components/tabs
|
|
102
|
+
*/
|
|
103
|
+
var Tabs = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
104
|
+
var _props$as = props.as,
|
|
105
|
+
Component = _props$as === void 0 ? 'div' : _props$as,
|
|
106
|
+
_props$classPrefix = props.classPrefix,
|
|
107
|
+
classPrefix = _props$classPrefix === void 0 ? 'tabs' : _props$classPrefix,
|
|
108
|
+
_props$appearance = props.appearance,
|
|
109
|
+
appearance = _props$appearance === void 0 ? 'tabs' : _props$appearance,
|
|
110
|
+
className = props.className,
|
|
111
|
+
children = props.children,
|
|
112
|
+
activeKeyProp = props.activeKey,
|
|
113
|
+
defaultActiveKey = props.defaultActiveKey,
|
|
114
|
+
idProp = props.id,
|
|
115
|
+
reversed = props.reversed,
|
|
116
|
+
vertical = props.vertical,
|
|
117
|
+
onSelect = props.onSelect,
|
|
118
|
+
rest = _objectWithoutPropertiesLoose(props, ["as", "classPrefix", "appearance", "className", "children", "activeKey", "defaultActiveKey", "id", "reversed", "vertical", "onSelect"]);
|
|
119
|
+
var id = useUniqueId('tab-', idProp);
|
|
120
|
+
var _useCustom = useCustom(),
|
|
121
|
+
rtl = _useCustom.rtl;
|
|
122
|
+
var _useControlled = useControlled(activeKeyProp, defaultActiveKey),
|
|
123
|
+
activeKey = _useControlled[0],
|
|
124
|
+
setActiveKey = _useControlled[1];
|
|
125
|
+
var _useClassNames = useClassNames(classPrefix),
|
|
126
|
+
withClassPrefix = _useClassNames.withClassPrefix,
|
|
127
|
+
prefix = _useClassNames.prefix,
|
|
128
|
+
merge = _useClassNames.merge;
|
|
129
|
+
var tablistRef = React.useRef(null);
|
|
130
|
+
var handleSelect = useEventCallback(function (eventKey, event) {
|
|
131
|
+
setActiveKey(eventKey);
|
|
132
|
+
onSelect === null || onSelect === void 0 ? void 0 : onSelect(eventKey, event);
|
|
133
|
+
});
|
|
134
|
+
var handleKeyDown = useEventCallback(function (event) {
|
|
135
|
+
var _getFocusableTabs;
|
|
136
|
+
var target = event.target;
|
|
137
|
+
if (target.getAttribute('role') !== 'tab') {
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
var previousItemKey = vertical ? 'ArrowUp' : 'ArrowLeft';
|
|
141
|
+
var nextItemKey = vertical ? 'ArrowDown' : 'ArrowRight';
|
|
142
|
+
if (!vertical && rtl) {
|
|
143
|
+
previousItemKey = 'ArrowRight';
|
|
144
|
+
nextItemKey = 'ArrowLeft';
|
|
145
|
+
}
|
|
146
|
+
var item = null;
|
|
147
|
+
switch (event.key) {
|
|
148
|
+
case previousItemKey:
|
|
149
|
+
item = previousItem(tablistRef.current);
|
|
150
|
+
event.preventDefault();
|
|
151
|
+
break;
|
|
152
|
+
case nextItemKey:
|
|
153
|
+
item = nextItem(tablistRef.current);
|
|
154
|
+
event.preventDefault();
|
|
155
|
+
break;
|
|
156
|
+
case 'Home':
|
|
157
|
+
item = (_getFocusableTabs = getFocusableTabs(tablistRef.current)) === null || _getFocusableTabs === void 0 ? void 0 : _getFocusableTabs[0];
|
|
158
|
+
event.preventDefault();
|
|
159
|
+
break;
|
|
160
|
+
case 'End':
|
|
161
|
+
var tabs = getFocusableTabs(tablistRef.current);
|
|
162
|
+
item = tabs[tabs.length - 1];
|
|
163
|
+
event.preventDefault();
|
|
164
|
+
break;
|
|
165
|
+
}
|
|
166
|
+
if (item) {
|
|
167
|
+
var _item;
|
|
168
|
+
var _item$dataset = (_item = item) === null || _item === void 0 ? void 0 : _item.dataset,
|
|
169
|
+
_eventKey = _item$dataset.eventKey;
|
|
170
|
+
handleSelect(_eventKey, event);
|
|
171
|
+
item.focus();
|
|
172
|
+
}
|
|
173
|
+
});
|
|
174
|
+
return /*#__PURE__*/React.createElement(Component, _extends({
|
|
175
|
+
className: merge(className, withClassPrefix({
|
|
176
|
+
reversed: reversed,
|
|
177
|
+
vertical: vertical
|
|
178
|
+
}))
|
|
179
|
+
}, rest, {
|
|
180
|
+
ref: ref
|
|
181
|
+
}), /*#__PURE__*/React.createElement(Nav, {
|
|
182
|
+
role: "tablist",
|
|
183
|
+
"aria-orientation": vertical ? 'vertical' : 'horizontal',
|
|
184
|
+
reversed: reversed,
|
|
185
|
+
vertical: vertical,
|
|
186
|
+
appearance: appearance,
|
|
187
|
+
activeKey: activeKey,
|
|
188
|
+
onSelect: handleSelect,
|
|
189
|
+
onKeyDown: handleKeyDown,
|
|
190
|
+
ref: tablistRef
|
|
191
|
+
}, renderTabs(children, {
|
|
192
|
+
id: id,
|
|
193
|
+
activeKey: activeKey
|
|
194
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
195
|
+
className: prefix(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["content"])))
|
|
196
|
+
}, renderPanels(children, {
|
|
197
|
+
id: id,
|
|
198
|
+
activeKey: activeKey
|
|
199
|
+
})));
|
|
200
|
+
});
|
|
201
|
+
Tabs.Tab = Tab;
|
|
202
|
+
Tabs.displayName = 'Tabs';
|
|
203
|
+
Tabs.propTypes = {
|
|
204
|
+
appearance: PropTypes.oneOf(['tabs', 'subtle']),
|
|
205
|
+
activeKey: PropTypes.any,
|
|
206
|
+
defaultActiveKey: PropTypes.any,
|
|
207
|
+
reversed: PropTypes.bool,
|
|
208
|
+
vertical: PropTypes.bool,
|
|
209
|
+
id: PropTypes.string,
|
|
210
|
+
className: PropTypes.string,
|
|
211
|
+
classPrefix: PropTypes.string,
|
|
212
|
+
children: PropTypes.node,
|
|
213
|
+
onSelect: PropTypes.func
|
|
214
|
+
};
|
|
215
|
+
export default Tabs;
|
package/esm/Timeline/Timeline.js
CHANGED
|
@@ -28,7 +28,7 @@ var Timeline = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
28
28
|
var _useClassNames = useClassNames(classPrefix),
|
|
29
29
|
merge = _useClassNames.merge,
|
|
30
30
|
withClassPrefix = _useClassNames.withClassPrefix;
|
|
31
|
-
var count =
|
|
31
|
+
var count = ReactChildren.count(children);
|
|
32
32
|
var withTime = some(React.Children.toArray(children), function (item) {
|
|
33
33
|
var _item$props;
|
|
34
34
|
return item === null || item === void 0 ? void 0 : (_item$props = item.props) === null || _item$props === void 0 ? void 0 : _item$props.time;
|
package/esm/index.d.ts
CHANGED
|
@@ -118,6 +118,8 @@ export { default as Accordion } from './Accordion';
|
|
|
118
118
|
export type { AccordionProps } from './Accordion';
|
|
119
119
|
export { default as PanelGroup } from './PanelGroup';
|
|
120
120
|
export type { PanelGroupProps } from './PanelGroup';
|
|
121
|
+
export { default as Tabs } from './Tabs';
|
|
122
|
+
export type { TabsProps } from './Tabs';
|
|
121
123
|
export { default as Table } from './Table';
|
|
122
124
|
export type { TableProps, ColumnProps, ColumnGroupProps, CellProps, TableLocaleType } from './Table';
|
|
123
125
|
export { default as Progress } from './Progress';
|
package/esm/index.js
CHANGED
|
@@ -63,6 +63,7 @@ export { default as CheckTree } from './CheckTree';
|
|
|
63
63
|
export { default as Panel } from './Panel';
|
|
64
64
|
export { default as Accordion } from './Accordion';
|
|
65
65
|
export { default as PanelGroup } from './PanelGroup';
|
|
66
|
+
export { default as Tabs } from './Tabs';
|
|
66
67
|
export { default as Table } from './Table';
|
|
67
68
|
export { default as Progress } from './Progress';
|
|
68
69
|
export { default as Timeline } from './Timeline';
|
|
@@ -12,6 +12,16 @@ import useClickOutside from '../../utils/useClickOutside';
|
|
|
12
12
|
import { isFocusLeaving } from '../../utils/events';
|
|
13
13
|
import { isFocusableElement } from '../../utils/dom';
|
|
14
14
|
var defaultOpenMenuOn = ['click'];
|
|
15
|
+
function getMenuItemTarget(event) {
|
|
16
|
+
var _event$currentTarget;
|
|
17
|
+
var target = event.target;
|
|
18
|
+
if (target.getAttribute('role') === 'menuitem') {
|
|
19
|
+
return target;
|
|
20
|
+
}
|
|
21
|
+
return Array.from((_event$currentTarget = event.currentTarget) === null || _event$currentTarget === void 0 ? void 0 : _event$currentTarget.querySelectorAll('[role="menuitem"]')).find(function (item) {
|
|
22
|
+
return item.contains(target);
|
|
23
|
+
});
|
|
24
|
+
}
|
|
15
25
|
|
|
16
26
|
/**
|
|
17
27
|
* Headless ARIA `menu`
|
|
@@ -286,7 +296,8 @@ function Menu(_ref) {
|
|
|
286
296
|
|
|
287
297
|
// Only used for clicks bubbling from child `menuitem`s.
|
|
288
298
|
var handleMenuClick = useCallback(function (event) {
|
|
289
|
-
var target = event
|
|
299
|
+
var target = getMenuItemTarget(event);
|
|
300
|
+
if (!target) return;
|
|
290
301
|
|
|
291
302
|
// Only handle clicks on `menuitem`s
|
|
292
303
|
if (target.getAttribute('role') !== 'menuitem') return;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
|
+
import _taggedTemplateLiteralLoose from "@babel/runtime/helpers/esm/taggedTemplateLiteralLoose";
|
|
3
4
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
5
|
+
var _templateObject;
|
|
4
6
|
import React from 'react';
|
|
5
7
|
import { useClassNames, useEventCallback } from '../../utils';
|
|
6
8
|
import Checkbox from '../../Checkbox';
|
|
@@ -44,7 +46,9 @@ var ListCheckItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
44
46
|
var _useCombobox = useCombobox(),
|
|
45
47
|
id = _useCombobox.id;
|
|
46
48
|
var _useClassNames = useClassNames(classPrefix),
|
|
47
|
-
withClassPrefix = _useClassNames.withClassPrefix
|
|
49
|
+
withClassPrefix = _useClassNames.withClassPrefix,
|
|
50
|
+
merge = _useClassNames.merge,
|
|
51
|
+
rootPrefix = _useClassNames.rootPrefix;
|
|
48
52
|
var checkboxItemClasses = withClassPrefix({
|
|
49
53
|
focus: focus
|
|
50
54
|
});
|
|
@@ -61,6 +65,7 @@ var ListCheckItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
61
65
|
onClick: handleSelectItem,
|
|
62
66
|
onCheckboxClick: handleCheck
|
|
63
67
|
};
|
|
68
|
+
console.log(className, 'className');
|
|
64
69
|
return /*#__PURE__*/React.createElement(Component, _extends({
|
|
65
70
|
role: "option",
|
|
66
71
|
"aria-selected": active,
|
|
@@ -69,7 +74,7 @@ var ListCheckItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
69
74
|
"data-key": value
|
|
70
75
|
}, rest, {
|
|
71
76
|
ref: ref,
|
|
72
|
-
className: className,
|
|
77
|
+
className: merge(className, rootPrefix(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["picker-list-item"])))),
|
|
73
78
|
tabIndex: -1
|
|
74
79
|
}), renderMenuItemCheckbox ? renderMenuItemCheckbox(checkboxProps) : /*#__PURE__*/React.createElement(CheckboxItem, _extends({
|
|
75
80
|
role: "checkbox"
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
|
+
import _taggedTemplateLiteralLoose from "@babel/runtime/helpers/esm/taggedTemplateLiteralLoose";
|
|
3
4
|
import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWithoutPropertiesLoose";
|
|
5
|
+
var _templateObject;
|
|
4
6
|
import React from 'react';
|
|
5
7
|
import { useClassNames, useEventCallback } from '../../utils';
|
|
6
8
|
import useCombobox from './hooks/useCombobox';
|
|
@@ -30,7 +32,9 @@ var ListItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
30
32
|
}
|
|
31
33
|
});
|
|
32
34
|
var _useClassNames = useClassNames(classPrefix),
|
|
33
|
-
withClassPrefix = _useClassNames.withClassPrefix
|
|
35
|
+
withClassPrefix = _useClassNames.withClassPrefix,
|
|
36
|
+
merge = _useClassNames.merge,
|
|
37
|
+
rootPrefix = _useClassNames.rootPrefix;
|
|
34
38
|
var classes = withClassPrefix({
|
|
35
39
|
active: active,
|
|
36
40
|
focus: focus,
|
|
@@ -44,7 +48,7 @@ var ListItem = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
44
48
|
"data-key": value
|
|
45
49
|
}, rest, {
|
|
46
50
|
ref: ref,
|
|
47
|
-
className: className,
|
|
51
|
+
className: merge(className, rootPrefix(_templateObject || (_templateObject = _taggedTemplateLiteralLoose(["picker-list-item"])))),
|
|
48
52
|
tabIndex: -1,
|
|
49
53
|
onKeyDown: disabled ? null : onKeyDown,
|
|
50
54
|
onClick: handleClick
|
|
@@ -14,7 +14,7 @@ var TreeView = /*#__PURE__*/React.forwardRef(function (props, ref) {
|
|
|
14
14
|
popupType = _useCombobox.popupType;
|
|
15
15
|
return /*#__PURE__*/React.createElement("div", _extends({
|
|
16
16
|
role: "tree",
|
|
17
|
-
id: id + "-" + popupType,
|
|
17
|
+
id: id ? id + "-" + popupType : undefined,
|
|
18
18
|
"aria-multiselectable": multiselectable,
|
|
19
19
|
"aria-labelledby": labelId,
|
|
20
20
|
ref: ref
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
export declare function find(children: React.ReactNode, func: any, context?: any): React.ReactNode;
|
|
3
|
-
export declare function map(children: React.ReactNode, func: any, context?: any): any[]
|
|
4
|
-
export declare function mapCloneElement(children: React.ReactNode, func: any, context?: any): any[]
|
|
3
|
+
export declare function map(children: React.ReactNode, func: any, context?: any): any[];
|
|
4
|
+
export declare function mapCloneElement(children: React.ReactNode, func: any, context?: any): any[];
|
|
5
5
|
export declare function count(children: React.ReactNode): number;
|
|
6
6
|
declare function some(children: React.ReactNode, func: any, context?: any): boolean;
|
|
7
7
|
declare const _default: {
|
|
@@ -1,10 +1,27 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
3
3
|
import React from 'react';
|
|
4
|
+
function typeOf(object) {
|
|
5
|
+
if (typeof object === 'object' && object !== null) {
|
|
6
|
+
return object.type || object.$$typeof;
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
function isFragment(children) {
|
|
10
|
+
return React.Children.count(children) === 1 && typeOf(children) === Symbol.for('react.fragment');
|
|
11
|
+
}
|
|
12
|
+
function flatChildren(children) {
|
|
13
|
+
return React.Children.toArray(React.Children.map(children, function (child) {
|
|
14
|
+
if (isFragment(child)) {
|
|
15
|
+
var _child$props;
|
|
16
|
+
return React.Children.toArray(((_child$props = child.props) === null || _child$props === void 0 ? void 0 : _child$props.children) || []);
|
|
17
|
+
}
|
|
18
|
+
return child;
|
|
19
|
+
}));
|
|
20
|
+
}
|
|
4
21
|
export function find(children, func, context) {
|
|
5
22
|
var index = 0;
|
|
6
23
|
var result;
|
|
7
|
-
React.Children.forEach(children, function (child) {
|
|
24
|
+
React.Children.forEach(flatChildren(children), function (child) {
|
|
8
25
|
if (result) {
|
|
9
26
|
return;
|
|
10
27
|
}
|
|
@@ -17,7 +34,7 @@ export function find(children, func, context) {
|
|
|
17
34
|
}
|
|
18
35
|
export function map(children, func, context) {
|
|
19
36
|
var index = 0;
|
|
20
|
-
return React.Children.map(children, function (child) {
|
|
37
|
+
return React.Children.map(flatChildren(children), function (child) {
|
|
21
38
|
if (! /*#__PURE__*/React.isValidElement(child)) {
|
|
22
39
|
return child;
|
|
23
40
|
}
|
|
@@ -26,35 +43,20 @@ export function map(children, func, context) {
|
|
|
26
43
|
return handle;
|
|
27
44
|
});
|
|
28
45
|
}
|
|
29
|
-
function typeOf(object) {
|
|
30
|
-
if (typeof object === 'object' && object !== null) {
|
|
31
|
-
return object.type || object.$$typeof;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
function isFragment(children) {
|
|
35
|
-
return React.Children.count(children) === 1 && typeOf(children) === Symbol.for('react.fragment');
|
|
36
|
-
}
|
|
37
46
|
export function mapCloneElement(children, func, context) {
|
|
38
|
-
|
|
39
|
-
if (isFragment(children)) {
|
|
40
|
-
var _props;
|
|
41
|
-
elements = (_props = children.props) === null || _props === void 0 ? void 0 : _props.children;
|
|
42
|
-
}
|
|
43
|
-
return map(elements, function (child, index) {
|
|
47
|
+
return map(children, function (child, index) {
|
|
44
48
|
return /*#__PURE__*/React.cloneElement(child, _extends({
|
|
45
49
|
key: index
|
|
46
50
|
}, func(child, index)));
|
|
47
51
|
}, context);
|
|
48
52
|
}
|
|
49
53
|
export function count(children) {
|
|
50
|
-
return React.Children.count(
|
|
51
|
-
return child;
|
|
52
|
-
}) : children);
|
|
54
|
+
return React.Children.count(flatChildren(children));
|
|
53
55
|
}
|
|
54
56
|
function some(children, func, context) {
|
|
55
57
|
var index = 0;
|
|
56
58
|
var result = false;
|
|
57
|
-
React.Children.forEach(children, function (child) {
|
|
59
|
+
React.Children.forEach(flatChildren(children), function (child) {
|
|
58
60
|
if (result) {
|
|
59
61
|
return;
|
|
60
62
|
}
|
package/esm/utils/index.d.ts
CHANGED
|
@@ -44,3 +44,5 @@ export { default as useIsMounted } from './useIsMounted';
|
|
|
44
44
|
export { default as useMount } from './useMount';
|
|
45
45
|
export { default as useUniqueId } from './useUniqueId';
|
|
46
46
|
export { default as useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect';
|
|
47
|
+
export { default as useInternalId } from './useInternalId';
|
|
48
|
+
export { default as useEnsuredRef } from './useEnsuredRef';
|
package/esm/utils/index.js
CHANGED
|
@@ -46,4 +46,6 @@ export { default as useUpdateEffect } from './useUpdateEffect';
|
|
|
46
46
|
export { default as useIsMounted } from './useIsMounted';
|
|
47
47
|
export { default as useMount } from './useMount';
|
|
48
48
|
export { default as useUniqueId } from './useUniqueId';
|
|
49
|
-
export { default as useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect';
|
|
49
|
+
export { default as useIsomorphicLayoutEffect } from './useIsomorphicLayoutEffect';
|
|
50
|
+
export { default as useInternalId } from './useInternalId';
|
|
51
|
+
export { default as useEnsuredRef } from './useEnsuredRef';
|
package/esm/utils/statusIcons.js
CHANGED
|
@@ -3,14 +3,14 @@ import React from 'react';
|
|
|
3
3
|
import Info from '@rsuite/icons/legacy/Info';
|
|
4
4
|
import CheckCircle from '@rsuite/icons/legacy/CheckCircle';
|
|
5
5
|
import CloseCircle from '@rsuite/icons/legacy/CloseCircle';
|
|
6
|
-
import Remind from '@rsuite/icons/legacy/Remind';
|
|
7
6
|
import Check from '@rsuite/icons/Check';
|
|
8
7
|
import Close from '@rsuite/icons/Close';
|
|
8
|
+
import RemindRoundIcon from '@rsuite/icons/RemindRound';
|
|
9
9
|
export var MESSAGE_STATUS_ICONS = {
|
|
10
10
|
info: /*#__PURE__*/React.createElement(Info, null),
|
|
11
11
|
success: /*#__PURE__*/React.createElement(CheckCircle, null),
|
|
12
12
|
error: /*#__PURE__*/React.createElement(CloseCircle, null),
|
|
13
|
-
warning: /*#__PURE__*/React.createElement(
|
|
13
|
+
warning: /*#__PURE__*/React.createElement(RemindRoundIcon, null)
|
|
14
14
|
};
|
|
15
15
|
export var PROGRESS_STATUS_ICON = {
|
|
16
16
|
success: /*#__PURE__*/React.createElement(Check, null),
|
package/package.json
CHANGED
|
@@ -134,18 +134,22 @@
|
|
|
134
134
|
--rs-message-success-text: #fff;
|
|
135
135
|
--rs-message-success-icon: #fff;
|
|
136
136
|
--rs-message-success-bg: var(--rs-green-500);
|
|
137
|
+
--rs-message-success-border: var(--rs-green-800);
|
|
137
138
|
--rs-message-info-header: #fff;
|
|
138
139
|
--rs-message-info-text: #fff;
|
|
139
140
|
--rs-message-info-icon: #fff;
|
|
140
141
|
--rs-message-info-bg: var(--rs-blue-500);
|
|
142
|
+
--rs-message-info-border: var(--rs-blue-800);
|
|
141
143
|
--rs-message-warning-header: var(--rs-gray-900);
|
|
142
144
|
--rs-message-warning-text: var(--rs-gray-900);
|
|
143
145
|
--rs-message-warning-icon: var(--rs-gray-900);
|
|
144
146
|
--rs-message-warning-bg: var(--rs-yellow-500);
|
|
147
|
+
--rs-message-warning-border: var(--rs-yellow-800);
|
|
145
148
|
--rs-message-error-header: #fff;
|
|
146
149
|
--rs-message-error-text: #fff;
|
|
147
150
|
--rs-message-error-icon: #fff;
|
|
148
151
|
--rs-message-error-bg: var(--rs-red-500);
|
|
152
|
+
--rs-message-error-border: var(--rs-red-800);
|
|
149
153
|
|
|
150
154
|
// Tooltip
|
|
151
155
|
--rs-tooltip-bg: var(--rs-gray-500);
|
|
@@ -140,19 +140,27 @@
|
|
|
140
140
|
--rs-message-success-header: var(--rs-text-heading);
|
|
141
141
|
--rs-message-success-text: var(--rs-text-primary);
|
|
142
142
|
--rs-message-success-icon: var(--rs-color-green);
|
|
143
|
-
--rs-message-success-
|
|
143
|
+
--rs-message-success-icon-border: var(--rs-green-200);
|
|
144
|
+
--rs-message-success-bg: rgb(from var(--rs-green-100) r g b / 60%);
|
|
145
|
+
--rs-message-success-border: var(--rs-color-green);
|
|
144
146
|
--rs-message-info-header: var(--rs-text-heading);
|
|
145
147
|
--rs-message-info-text: var(--rs-text-primary);
|
|
146
148
|
--rs-message-info-icon: var(--rs-color-blue);
|
|
147
|
-
--rs-message-info-
|
|
149
|
+
--rs-message-info-icon-border: var(--rs-blue-200);
|
|
150
|
+
--rs-message-info-bg: rgb(from var(--rs-blue-100) r g b / 60%);
|
|
151
|
+
--rs-message-info-border: var(--rs-color-blue);
|
|
148
152
|
--rs-message-warning-header: var(--rs-text-heading);
|
|
149
153
|
--rs-message-warning-text: var(--rs-text-primary);
|
|
150
154
|
--rs-message-warning-icon: var(--rs-color-yellow);
|
|
151
|
-
--rs-message-warning-
|
|
155
|
+
--rs-message-warning-icon-border: var(--rs-yellow-200);
|
|
156
|
+
--rs-message-warning-bg: rgb(from var(--rs-yellow-100) r g b / 60%);
|
|
157
|
+
--rs-message-warning-border: var(--rs-color-yellow);
|
|
152
158
|
--rs-message-error-header: var(--rs-text-heading);
|
|
153
159
|
--rs-message-error-text: var(--rs-text-primary);
|
|
154
160
|
--rs-message-error-icon: var(--rs-color-red);
|
|
155
|
-
--rs-message-error-
|
|
161
|
+
--rs-message-error-icon-border: var(--rs-red-200);
|
|
162
|
+
--rs-message-error-bg: rgb(from var(--rs-red-100) r g b / 60%);
|
|
163
|
+
--rs-message-error-border: var(--rs-color-red);
|
|
156
164
|
|
|
157
165
|
// Tooltip
|
|
158
166
|
--rs-tooltip-bg: var(--rs-gray-900);
|
|
@@ -392,6 +400,12 @@
|
|
|
392
400
|
--rs-loader-ring-inverse: fade(@B050, 30%);
|
|
393
401
|
--rs-loader-backdrop-inverse: fade(@B900, 83%);
|
|
394
402
|
|
|
403
|
+
// Message
|
|
404
|
+
--rs-message-success-bg: fade(@green-100, 60%);
|
|
405
|
+
--rs-message-info-bg: fade(@blue-100, 60%);
|
|
406
|
+
--rs-message-warning-bg: fade(@yellow-100, 60%);
|
|
407
|
+
--rs-message-error-bg: fade(@red-100, 60%);
|
|
408
|
+
|
|
395
409
|
// Dropdown
|
|
396
410
|
--rs-dropdown-item-bg-hover: fade(@H100, 50%);
|
|
397
411
|
|
package/styles/index.less
CHANGED
|
@@ -38,14 +38,9 @@
|
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
// "-active" for aria-activedescendant
|
|
41
|
-
.listbox-option-active(
|
|
41
|
+
.listbox-option-active() {
|
|
42
42
|
background-color: var(--rs-listbox-option-hover-bg);
|
|
43
|
-
|
|
44
|
-
// No need to change text color in multiselectable listboxes
|
|
45
|
-
// in favor of checkbox state changes
|
|
46
|
-
& when (@multiselectable = false) {
|
|
47
|
-
color: var(--rs-listbox-option-hover-text);
|
|
48
|
-
}
|
|
43
|
+
color: var(--rs-listbox-option-hover-text);
|
|
49
44
|
|
|
50
45
|
.high-contrast-mode({
|
|
51
46
|
.focus-ring(slim-inset);
|
package/styles/variables.less
CHANGED
|
@@ -571,7 +571,7 @@
|
|
|
571
571
|
@message-title-size: @font-size-base;
|
|
572
572
|
@message-link-font-weight: bold;
|
|
573
573
|
|
|
574
|
-
@message-icon-size:
|
|
574
|
+
@message-icon-size: 16px;
|
|
575
575
|
@message-icon-large-size: 24px;
|
|
576
576
|
@message-icon-margin-right: 10px;
|
|
577
577
|
|
|
@@ -862,6 +862,7 @@
|
|
|
862
862
|
@zindex-popover: 1060;
|
|
863
863
|
@zindex-tooltip: 1070;
|
|
864
864
|
@zindex-notification: 1080;
|
|
865
|
+
@zindex-message-full: 1090;
|
|
865
866
|
|
|
866
867
|
//#==== Uploader
|
|
867
868
|
@zindex-uploader-picture-preview: 1;
|