@zohodesk/components 1.2.40 → 1.2.41
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/.cli/propValidation_report.html +1 -1
- package/README.md +5 -0
- package/es/Accordion/Accordion.js +2 -2
- package/es/Accordion/AccordionItem.js +4 -4
- package/es/Accordion/__tests__/Accordion.spec.js +1 -1
- package/es/Accordion/__tests__/AccordionItem.spec.js +1 -1
- package/es/Accordion/index.js +2 -2
- package/es/Animation/Animation.js +3 -3
- package/es/Animation/__tests__/Animation.spec.js +1 -1
- package/es/Animation/utils.js +1 -1
- package/es/AppContainer/AppContainer.js +9 -9
- package/es/AppContainer/__tests__/AppContainer.spec.js +1 -1
- package/es/Avatar/Avatar.js +5 -5
- package/es/Avatar/__tests__/Avatar.spec.js +1 -1
- package/es/AvatarTeam/AvatarTeam.js +4 -4
- package/es/AvatarTeam/__tests__/AvatarTeam.spec.js +1 -1
- package/es/Button/Button.js +4 -4
- package/es/Button/__tests__/Button.spec.js +1 -1
- package/es/Button/index.js +2 -2
- package/es/Button/props/defaultProps.js +1 -1
- package/es/Buttongroup/Buttongroup.js +3 -3
- package/es/Buttongroup/__tests__/Buttongroup.spec.js +1 -1
- package/es/Card/Card.js +5 -5
- package/es/Card/__tests__/Card.spec.js +1 -1
- package/es/Card/index.js +4 -4
- package/es/CheckBox/CheckBox.js +6 -6
- package/es/CheckBox/__tests__/CheckBox.spec.js +1 -1
- package/es/DateTime/CalendarView.js +6 -6
- package/es/DateTime/DateTime.js +15 -15
- package/es/DateTime/DateTimePopupFooter.js +5 -5
- package/es/DateTime/DateTimePopupHeader.js +4 -4
- package/es/DateTime/DateWidget.js +17 -17
- package/es/DateTime/DaysRow.js +3 -3
- package/es/DateTime/Time.js +5 -5
- package/es/DateTime/YearView.js +6 -6
- package/es/DateTime/__tests__/CalendarView.spec.js +1 -1
- package/es/DateTime/__tests__/DateTime.spec.js +1 -1
- package/es/DateTime/__tests__/DateTimePopupFooter.spec.js +1 -1
- package/es/DateTime/__tests__/DateTimePopupHeader.spec.js +1 -1
- package/es/DateTime/__tests__/DateWidget.spec.js +1 -1
- package/es/DateTime/__tests__/DaysRow.spec.js +1 -1
- package/es/DateTime/__tests__/Time.spec.js +1 -1
- package/es/DateTime/__tests__/YearView.spec.js +1 -1
- package/es/DateTime/dateFormatUtils/dateFormat.js +4 -4
- package/es/DateTime/dateFormatUtils/dayChange.js +2 -2
- package/es/DateTime/dateFormatUtils/index.js +3 -3
- package/es/DateTime/dateFormatUtils/monthChange.js +2 -2
- package/es/DateTime/dateFormatUtils/timeChange.js +2 -2
- package/es/DateTime/dateFormatUtils/yearChange.js +2 -2
- package/es/DateTime/index.js +1 -1
- package/es/DateTime/props/propTypes.js +1 -1
- package/es/DateTime/validator.js +2 -2
- package/es/DropBox/DropBox.js +9 -9
- package/es/DropBox/DropBoxElement/DropBoxElement.js +6 -6
- package/es/DropBox/DropBoxElement/__tests__/DropBoxElement.spec.js +1 -1
- package/es/DropBox/DropBoxElement/css/cssJSLogic.js +1 -1
- package/es/DropBox/DropBoxElement/useDropboxPosCalc.js +1 -1
- package/es/DropBox/__tests__/DropBox.spec.js +1 -1
- package/es/DropBox/css/cssJSLogic.js +1 -1
- package/es/DropBox/props/defaultProps.js +1 -1
- package/es/DropBox/props/propTypes.js +1 -1
- package/es/DropBox/utils/isMobilePopover.js +1 -1
- package/es/DropDown/DropDown.js +4 -4
- package/es/DropDown/DropDownHeading.js +3 -3
- package/es/DropDown/DropDownItem.js +3 -3
- package/es/DropDown/DropDownSearch.js +4 -4
- package/es/DropDown/DropDownSeparator.js +2 -2
- package/es/DropDown/__tests__/DropDown.spec.js +1 -1
- package/es/DropDown/__tests__/DropDownHeading.spec.js +1 -1
- package/es/DropDown/__tests__/DropDownItem.spec.js +1 -1
- package/es/DropDown/__tests__/DropDownSearch.spec.js +1 -1
- package/es/DropDown/__tests__/DropDownSeparator.spec.js +1 -1
- package/es/DropDown/index.js +7 -7
- package/es/DropDown/props/propTypes.js +1 -1
- package/es/Heading/Heading.js +3 -3
- package/es/Heading/__tests__/Heading.spec.js +1 -1
- package/es/Label/Label.js +4 -4
- package/es/Label/__tests__/Label.spec.js +1 -1
- package/es/Layout/Box.js +4 -4
- package/es/Layout/Container.js +4 -4
- package/es/Layout/__tests__/Box.spec.js +1 -1
- package/es/Layout/__tests__/Container.spec.js +1 -1
- package/es/Layout/index.js +2 -2
- package/es/ListItem/ListContainer.js +6 -6
- package/es/ListItem/ListItem.js +5 -5
- package/es/ListItem/ListItemWithAvatar.js +7 -7
- package/es/ListItem/ListItemWithCheckBox.js +6 -6
- package/es/ListItem/ListItemWithIcon.js +5 -5
- package/es/ListItem/ListItemWithRadio.js +6 -6
- package/es/ListItem/__tests__/ListContainer.spec.js +1 -1
- package/es/ListItem/__tests__/ListItem.spec.js +1 -1
- package/es/ListItem/__tests__/ListItemWithAvatar.spec.js +1 -1
- package/es/ListItem/__tests__/ListItemWithCheckBox.spec.js +1 -1
- package/es/ListItem/__tests__/ListItemWithIcon.spec.js +1 -1
- package/es/ListItem/__tests__/ListItemWithRadio.spec.js +1 -1
- package/es/ListItem/index.js +6 -6
- package/es/Modal/Modal.js +3 -3
- package/es/Modal/__tests__/Modal.spec.js +1 -1
- package/es/MultiSelect/AdvancedGroupMultiSelect.js +17 -17
- package/es/MultiSelect/AdvancedMultiSelect.js +17 -17
- package/es/MultiSelect/EmptyState.js +3 -3
- package/es/MultiSelect/MobileHeader/MobileHeader.js +5 -5
- package/es/MultiSelect/MobileHeader/__tests__/MobileHeader.spec.js +1 -1
- package/es/MultiSelect/MultiSelect.js +20 -20
- package/es/MultiSelect/MultiSelectHeader.js +4 -4
- package/es/MultiSelect/MultiSelectWithAvatar.js +16 -16
- package/es/MultiSelect/SelectedOptions.js +5 -5
- package/es/MultiSelect/Suggestions.js +6 -6
- package/es/MultiSelect/__tests__/AdvancedGroupMultiSelect.spec.js +1 -1
- package/es/MultiSelect/__tests__/AdvancedMultiSelect.spec.js +1 -1
- package/es/MultiSelect/__tests__/EmptyState.spec.js +1 -1
- package/es/MultiSelect/__tests__/MultiSelect.spec.js +1 -1
- package/es/MultiSelect/__tests__/MultiSelectHeader.spec.js +1 -1
- package/es/MultiSelect/__tests__/MultiSelectWithAvatar.spec.js +1 -1
- package/es/MultiSelect/__tests__/SelectedOptions.spec.js +1 -1
- package/es/MultiSelect/__tests__/Suggestions.spec.js +1 -1
- package/es/MultiSelect/index.js +4 -4
- package/es/MultiSelect/props/defaultProps.js +1 -1
- package/es/PopOver/PopOver.js +6 -6
- package/es/PopOver/__tests__/PopOver.spec.js +1 -1
- package/es/PopOver/index.js +3 -3
- package/es/Popup/Popup.js +3 -3
- package/es/Provider/AvatarSize.js +1 -1
- package/es/Provider/CssProvider.js +1 -1
- package/es/Provider/IdProvider.js +2 -2
- package/es/Provider/LibraryContext.js +2 -2
- package/es/Provider/ZindexProvider.js +2 -2
- package/es/Provider/index.js +4 -4
- package/es/Radio/Radio.js +5 -5
- package/es/Radio/__tests__/Radio.spec.js +1 -1
- package/es/Responsive/CustomResponsive.js +7 -7
- package/es/Responsive/ResizeComponent.js +2 -2
- package/es/Responsive/Responsive.js +6 -6
- package/es/Responsive/index.js +3 -3
- package/es/Responsive/utils/index.js +1 -1
- package/es/Responsive/windowResizeObserver.js +1 -1
- package/es/ResponsiveDropBox/ResponsiveDropBox.js +6 -6
- package/es/ResponsiveDropBox/__tests__/ResponsiveDropBox.spec.js +1 -1
- package/es/ResponsiveDropBox/props/propTypes.js +1 -1
- package/es/Ribbon/Ribbon.js +3 -3
- package/es/Ribbon/__tests__/Ribbon.spec.js +1 -1
- package/es/RippleEffect/RippleEffect.js +4 -4
- package/es/RippleEffect/__tests__/RippleEffect.spec.js +1 -1
- package/es/Select/GroupSelect.js +16 -16
- package/es/Select/Select.js +15 -15
- package/es/Select/SelectWithAvatar.js +17 -17
- package/es/Select/SelectWithIcon.js +13 -13
- package/es/Select/__tests__/GroupSelect.spec.js +1 -1
- package/es/Select/__tests__/Select.spec.js +1 -1
- package/es/Select/__tests__/SelectWithAvatar.spec.js +1 -1
- package/es/Select/__tests__/SelectWithIcon.spec.js +1 -1
- package/es/Select/index.js +4 -4
- package/es/Select/props/defaultProps.js +1 -1
- package/es/Stencils/Stencils.js +3 -3
- package/es/Stencils/__tests__/Stencils.spec.js +1 -1
- package/es/Switch/Switch.js +5 -5
- package/es/Switch/__tests__/Switch.spec.js +1 -1
- package/es/Tab/Tab.js +5 -5
- package/es/Tab/TabContent.js +4 -4
- package/es/Tab/TabContentWrapper.js +3 -3
- package/es/Tab/TabWrapper.js +3 -3
- package/es/Tab/Tabs.js +131 -33
- package/es/Tab/Tabs.module.css +32 -2
- package/es/Tab/__tests__/Tab.spec.js +1 -1
- package/es/Tab/__tests__/TabContent.spec.js +1 -1
- package/es/Tab/__tests__/TabContentWrapper.spec.js +1 -1
- package/es/Tab/__tests__/TabWrapper.spec.js +1 -1
- package/es/Tab/__tests__/Tabs.spec.js +1 -1
- package/es/Tab/index.js +5 -5
- package/es/Tab/props/defaultProps.js +4 -1
- package/es/Tab/props/propTypes.js +6 -1
- package/es/Tag/Tag.js +7 -7
- package/es/Tag/__tests__/Tag.spec.js +1 -1
- package/es/TextBox/TextBox.js +3 -3
- package/es/TextBox/__tests__/TextBox.spec.js +1 -1
- package/es/TextBoxIcon/TextBoxIcon.js +6 -6
- package/es/TextBoxIcon/__tests__/TextBoxIcon.spec.js +1 -1
- package/es/TextBoxIcon/props/propTypes.js +1 -1
- package/es/Textarea/Textarea.js +3 -3
- package/es/Textarea/__tests__/Textarea.spec.js +1 -1
- package/es/Tooltip/Tooltip.js +5 -5
- package/es/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +3 -3
- package/es/VelocityAnimation/VelocityAnimation/__tests__/VelocityAnimation.spec.js +1 -1
- package/es/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +3 -3
- package/es/VelocityAnimation/VelocityAnimationGroup/__tests__/VelocityAnimationGroup.spec.js +1 -1
- package/es/VelocityAnimation/index.js +2 -2
- package/es/css.js +37 -37
- package/es/deprecated/PortalLayer/PortalLayer.js +3 -3
- package/es/index.js +39 -39
- package/es/semantic/Button/Button.js +3 -3
- package/es/semantic/Button/__tests__/Button.spec.js +1 -1
- package/es/semantic/index.js +1 -1
- package/es/utils/Common.js +1 -1
- package/es/utils/ContextOptimizer.js +1 -1
- package/es/utils/datetime/common.js +1 -1
- package/es/utils/dropDownUtils.js +1 -1
- package/es/utils/index.js +1 -1
- package/es/v1/Accordion/Accordion.js +2 -2
- package/es/v1/Accordion/AccordionItem.js +4 -4
- package/es/v1/Accordion/index.js +2 -2
- package/es/v1/Animation/Animation.js +3 -3
- package/es/v1/Animation/utils.js +1 -1
- package/es/v1/AppContainer/AppContainer.js +9 -9
- package/es/v1/Avatar/Avatar.js +5 -5
- package/es/v1/AvatarTeam/AvatarTeam.js +4 -4
- package/es/v1/Button/Button.js +4 -4
- package/es/v1/Button/props/defaultProps.js +1 -1
- package/es/v1/Buttongroup/Buttongroup.js +3 -3
- package/es/v1/Card/Card.js +5 -5
- package/es/v1/Card/index.js +4 -4
- package/es/v1/Card/props/propTypes.js +1 -1
- package/es/v1/CheckBox/CheckBox.js +6 -6
- package/es/v1/DateTime/CalendarView.js +7 -7
- package/es/v1/DateTime/DateTime.js +15 -15
- package/es/v1/DateTime/DateTimePopupFooter.js +5 -5
- package/es/v1/DateTime/DateTimePopupHeader.js +4 -4
- package/es/v1/DateTime/DateWidget.js +17 -17
- package/es/v1/DateTime/DaysRow.js +3 -3
- package/es/v1/DateTime/Time.js +5 -5
- package/es/v1/DateTime/YearView.js +6 -6
- package/es/v1/DateTime/index.js +1 -1
- package/es/v1/DateTime/props/propTypes.js +2 -2
- package/es/v1/DropBox/DropBox.js +9 -9
- package/es/v1/DropBox/DropBoxElement/DropBoxElement.js +6 -6
- package/es/v1/DropBox/props/defaultProps.js +1 -1
- package/es/v1/DropBox/props/propTypes.js +1 -1
- package/es/v1/DropBox/utils/isMobilePopover.js +1 -1
- package/es/v1/DropDown/DropDown.js +4 -4
- package/es/v1/DropDown/DropDownHeading.js +3 -3
- package/es/v1/DropDown/DropDownItem.js +3 -3
- package/es/v1/DropDown/DropDownSearch.js +4 -4
- package/es/v1/DropDown/DropDownSeparator.js +2 -2
- package/es/v1/DropDown/props/propTypes.js +1 -1
- package/es/v1/Heading/Heading.js +3 -3
- package/es/v1/Label/Label.js +4 -4
- package/es/v1/Layout/Box.js +4 -4
- package/es/v1/Layout/Container.js +4 -4
- package/es/v1/Layout/index.js +2 -2
- package/es/v1/ListItem/ListContainer.js +6 -6
- package/es/v1/ListItem/ListItem.js +5 -5
- package/es/v1/ListItem/ListItemWithAvatar.js +7 -7
- package/es/v1/ListItem/ListItemWithCheckBox.js +6 -6
- package/es/v1/ListItem/ListItemWithIcon.js +5 -5
- package/es/v1/ListItem/ListItemWithRadio.js +6 -6
- package/es/v1/ListItem/index.js +6 -6
- package/es/v1/Modal/Modal.js +3 -3
- package/es/v1/MultiSelect/AdvancedGroupMultiSelect.js +17 -17
- package/es/v1/MultiSelect/AdvancedMultiSelect.js +17 -17
- package/es/v1/MultiSelect/EmptyState.js +3 -3
- package/es/v1/MultiSelect/MobileHeader/MobileHeader.js +5 -5
- package/es/v1/MultiSelect/MultiSelect.js +19 -19
- package/es/v1/MultiSelect/MultiSelectHeader.js +4 -4
- package/es/v1/MultiSelect/MultiSelectWithAvatar.js +16 -16
- package/es/v1/MultiSelect/SelectedOptions.js +5 -5
- package/es/v1/MultiSelect/Suggestions.js +6 -6
- package/es/v1/MultiSelect/index.js +4 -4
- package/es/v1/MultiSelect/props/defaultProps.js +1 -1
- package/es/v1/PopOver/PopOver.js +6 -6
- package/es/v1/Popup/Popup.js +3 -3
- package/es/v1/Radio/Radio.js +5 -5
- package/es/v1/ResponsiveDropBox/ResponsiveDropBox.js +6 -6
- package/es/v1/ResponsiveDropBox/props/propTypes.js +2 -2
- package/es/v1/Ribbon/Ribbon.js +3 -3
- package/es/v1/Ribbon/props/propTypes.js +1 -1
- package/es/v1/RippleEffect/RippleEffect.js +4 -4
- package/es/v1/Select/GroupSelect.js +16 -16
- package/es/v1/Select/Select.js +15 -15
- package/es/v1/Select/SelectWithAvatar.js +17 -17
- package/es/v1/Select/SelectWithIcon.js +13 -13
- package/es/v1/Select/index.js +4 -4
- package/es/v1/Select/props/defaultProps.js +1 -1
- package/es/v1/Stencils/Stencils.js +3 -3
- package/es/v1/Switch/Switch.js +5 -5
- package/es/v1/Tab/Tab.js +5 -5
- package/es/v1/Tab/TabContent.js +4 -4
- package/es/v1/Tab/TabContentWrapper.js +3 -3
- package/es/v1/Tab/TabWrapper.js +3 -3
- package/es/v1/Tab/Tabs.js +111 -28
- package/es/v1/Tab/index.js +5 -5
- package/es/v1/Tab/props/defaultProps.js +4 -1
- package/es/v1/Tab/props/propTypes.js +6 -1
- package/es/v1/Tab/v1Tabs.module.css +32 -2
- package/es/v1/Tag/Tag.js +7 -7
- package/es/v1/TextBox/TextBox.js +3 -3
- package/es/v1/TextBoxIcon/TextBoxIcon.js +6 -6
- package/es/v1/TextBoxIcon/props/propTypes.js +1 -1
- package/es/v1/Textarea/Textarea.js +3 -3
- package/es/v1/Tooltip/Tooltip.js +5 -5
- package/es/v1/Typography/Typography.js +4 -4
- package/es/v1/Typography/css/cssJSLogic.js +1 -1
- package/es/v1/VelocityAnimation/VelocityAnimation/VelocityAnimation.js +3 -3
- package/es/v1/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +3 -3
- package/es/v1/semantic/Button/Button.js +3 -3
- package/es/v1/semantic/index.js +1 -1
- package/lib/Tab/Tabs.js +167 -74
- package/lib/Tab/Tabs.module.css +32 -2
- package/lib/Tab/props/defaultProps.js +4 -1
- package/lib/Tab/props/propTypes.js +6 -1
- package/lib/v1/Card/props/propTypes.js +1 -1
- package/lib/v1/DateTime/props/propTypes.js +1 -1
- package/lib/v1/ResponsiveDropBox/props/propTypes.js +1 -1
- package/lib/v1/Ribbon/props/propTypes.js +1 -1
- package/lib/v1/Tab/Tabs.js +107 -23
- package/lib/v1/Tab/props/defaultProps.js +4 -1
- package/lib/v1/Tab/props/propTypes.js +6 -1
- package/lib/v1/Tab/v1Tabs.module.css +32 -2
- package/package.json +10 -10
- package/result.json +1 -1
package/es/Tab/Tabs.js
CHANGED
|
@@ -8,19 +8,21 @@
|
|
|
8
8
|
}]
|
|
9
9
|
*/
|
|
10
10
|
import React from 'react';
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import
|
|
17
|
-
import
|
|
11
|
+
import EmptySearch from '@zohodesk/svg/lib/emptystate/version3/EmptySearch';
|
|
12
|
+
import Tab from './Tab';
|
|
13
|
+
import { Tabs_defaultProps } from './props/defaultProps';
|
|
14
|
+
import { Tabs_propTypes } from './props/propTypes';
|
|
15
|
+
import { remConvert, getTotalDimension, cs, bind, throttle, cancelBubblingEffect } from '../utils/Common';
|
|
16
|
+
import { Box, Container } from '../Layout';
|
|
17
|
+
import ResizeObserver from '../Responsive/ResizeObserver';
|
|
18
|
+
import ListItem from '../ListItem/ListItem';
|
|
18
19
|
import { Icon } from '@zohodesk/icons';
|
|
19
|
-
import tabsStyle from
|
|
20
|
-
import Popup from
|
|
21
|
-
import
|
|
22
|
-
import
|
|
23
|
-
import
|
|
20
|
+
import tabsStyle from './Tabs.module.css';
|
|
21
|
+
import Popup from '../Popup/Popup';
|
|
22
|
+
import TextBoxIcon from '../TextBoxIcon/TextBoxIcon';
|
|
23
|
+
import ResponsiveDropBox from '../ResponsiveDropBox/ResponsiveDropBox';
|
|
24
|
+
import { ResponsiveReceiver } from '../Responsive/CustomResponsive';
|
|
25
|
+
import btnstyle from '../semantic/Button/semanticButton.module.css';
|
|
24
26
|
|
|
25
27
|
class Tabs extends React.Component {
|
|
26
28
|
constructor(props) {
|
|
@@ -30,9 +32,10 @@ class Tabs extends React.Component {
|
|
|
30
32
|
tabDimensions: {},
|
|
31
33
|
highlightInitialDimension: null,
|
|
32
34
|
renderVirtualTabs: true,
|
|
33
|
-
tabKeys: []
|
|
35
|
+
tabKeys: [],
|
|
36
|
+
searchValue: ''
|
|
34
37
|
};
|
|
35
|
-
bind.apply(this, ['moreTabSelect', 'onResize', 'onTabResize', 'getHighlightRef', 'getTabsRef', 'getTabRef', 'getHighlightDim', 'onSizeChange', 'onScroll', 'togglePopup', 'setMaxDim']);
|
|
38
|
+
bind.apply(this, ['moreTabSelect', 'onResize', 'onTabResize', 'getHighlightRef', 'getTabsRef', 'getTabRef', 'getHighlightDim', 'onSizeChange', 'onScroll', 'togglePopup', 'setMaxDim', 'handleChange', 'handleSearchValueClear', 'getMoreList', 'renderEmptyState']);
|
|
36
39
|
this.tabsObserver = new ResizeObserver(this.onResize);
|
|
37
40
|
this.tabObserver = {};
|
|
38
41
|
}
|
|
@@ -130,12 +133,14 @@ class Tabs extends React.Component {
|
|
|
130
133
|
let {
|
|
131
134
|
children,
|
|
132
135
|
selectedTab,
|
|
133
|
-
childType
|
|
136
|
+
childType,
|
|
137
|
+
isPopupOpen
|
|
134
138
|
} = this.props;
|
|
135
139
|
let {
|
|
136
140
|
tabDimensions,
|
|
137
141
|
totalDimension,
|
|
138
|
-
tabKeys
|
|
142
|
+
tabKeys,
|
|
143
|
+
searchValue
|
|
139
144
|
} = this.state;
|
|
140
145
|
|
|
141
146
|
if (prevProps.children && children) {
|
|
@@ -169,6 +174,10 @@ class Tabs extends React.Component {
|
|
|
169
174
|
if (prevProps.selectedTab !== selectedTab || newTabKeys.length === 1) {
|
|
170
175
|
this.moveHighlight();
|
|
171
176
|
}
|
|
177
|
+
|
|
178
|
+
if (prevProps.isPopupOpen != isPopupOpen && searchValue.length) {
|
|
179
|
+
this.handleSearchValueClear();
|
|
180
|
+
}
|
|
172
181
|
}
|
|
173
182
|
}
|
|
174
183
|
|
|
@@ -363,7 +372,8 @@ class Tabs extends React.Component {
|
|
|
363
372
|
|
|
364
373
|
moreTabSelect(tab, value, index, e) {
|
|
365
374
|
let {
|
|
366
|
-
onSelect
|
|
375
|
+
onSelect,
|
|
376
|
+
closePopupOnly
|
|
367
377
|
} = this.props;
|
|
368
378
|
|
|
369
379
|
if (e && e.target && e.target.parentElement.tagName === 'A' && (e.metaKey || e.altKey || e.ctrlKey || e.shiftKey)) {
|
|
@@ -373,6 +383,7 @@ class Tabs extends React.Component {
|
|
|
373
383
|
|
|
374
384
|
e.preventDefault();
|
|
375
385
|
onSelect(tab);
|
|
386
|
+
closePopupOnly();
|
|
376
387
|
}
|
|
377
388
|
|
|
378
389
|
onScroll(e) {
|
|
@@ -407,6 +418,70 @@ class Tabs extends React.Component {
|
|
|
407
418
|
};
|
|
408
419
|
}
|
|
409
420
|
|
|
421
|
+
handleChange(value, e) {
|
|
422
|
+
this.setState({
|
|
423
|
+
searchValue: value
|
|
424
|
+
});
|
|
425
|
+
}
|
|
426
|
+
|
|
427
|
+
handleSearchValueClear(e) {
|
|
428
|
+
this.setState({
|
|
429
|
+
searchValue: ''
|
|
430
|
+
});
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
getMoreList(_ref2) {
|
|
434
|
+
let {
|
|
435
|
+
moreTabs
|
|
436
|
+
} = _ref2;
|
|
437
|
+
const validElements = [];
|
|
438
|
+
React.Children.map(moreTabs, child => {
|
|
439
|
+
const isValidElement = /*#__PURE__*/React.isValidElement(child);
|
|
440
|
+
|
|
441
|
+
if (isValidElement) {
|
|
442
|
+
validElements.push(child.props);
|
|
443
|
+
}
|
|
444
|
+
});
|
|
445
|
+
return validElements;
|
|
446
|
+
}
|
|
447
|
+
|
|
448
|
+
handleFilterSuggestions(_ref3) {
|
|
449
|
+
let {
|
|
450
|
+
moreTabs
|
|
451
|
+
} = _ref3;
|
|
452
|
+
const {
|
|
453
|
+
showTitleInMoreOptions
|
|
454
|
+
} = this.props;
|
|
455
|
+
const {
|
|
456
|
+
searchValue
|
|
457
|
+
} = this.state;
|
|
458
|
+
const options = this.getMoreList({
|
|
459
|
+
moreTabs
|
|
460
|
+
});
|
|
461
|
+
const filteredOptions = options.filter(list => {
|
|
462
|
+
const {
|
|
463
|
+
text,
|
|
464
|
+
title
|
|
465
|
+
} = list;
|
|
466
|
+
const value = text ? text : showTitleInMoreOptions ? title : '';
|
|
467
|
+
return value.toLowerCase().includes(searchValue.toLowerCase());
|
|
468
|
+
});
|
|
469
|
+
return filteredOptions;
|
|
470
|
+
}
|
|
471
|
+
|
|
472
|
+
renderEmptyState() {
|
|
473
|
+
const {
|
|
474
|
+
searchErrorText
|
|
475
|
+
} = this.props;
|
|
476
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
477
|
+
className: tabsStyle.emptyStateContainer
|
|
478
|
+
}, /*#__PURE__*/React.createElement(EmptySearch, {
|
|
479
|
+
size: "small"
|
|
480
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
481
|
+
className: tabsStyle.emptyStateTitle
|
|
482
|
+
}, searchErrorText));
|
|
483
|
+
}
|
|
484
|
+
|
|
410
485
|
renderTabs(mainTabs, moreTabs, isVirtual) {
|
|
411
486
|
let {
|
|
412
487
|
selectedTab,
|
|
@@ -434,14 +509,25 @@ class Tabs extends React.Component {
|
|
|
434
509
|
customProps,
|
|
435
510
|
getCustomDropBoxHeaderPlaceHolder,
|
|
436
511
|
dataSelectorId,
|
|
437
|
-
dataId
|
|
512
|
+
dataId,
|
|
513
|
+
placeHolderText,
|
|
514
|
+
searchBoxSize,
|
|
515
|
+
removeClose
|
|
438
516
|
} = this.props;
|
|
517
|
+
const {
|
|
518
|
+
searchValue
|
|
519
|
+
} = this.state;
|
|
439
520
|
let {
|
|
440
521
|
DropBoxProps = {},
|
|
441
522
|
ListItemProps = {},
|
|
442
|
-
MoreButtonProps = {}
|
|
523
|
+
MoreButtonProps = {},
|
|
524
|
+
TextBoxIconProps = {}
|
|
443
525
|
} = customProps;
|
|
444
526
|
let popupClass = align === 'vertical' ? tabsStyle[position] ? tabsStyle[position] : '' : '';
|
|
527
|
+
const moreTabsListItems = this.handleFilterSuggestions({
|
|
528
|
+
moreTabs
|
|
529
|
+
});
|
|
530
|
+
const hasSearch = moreTabs.length > 4;
|
|
445
531
|
return /*#__PURE__*/React.createElement(React.Fragment, null, React.Children.map(mainTabs, child => {
|
|
446
532
|
if (!child) {
|
|
447
533
|
return null;
|
|
@@ -491,10 +577,10 @@ class Tabs extends React.Component {
|
|
|
491
577
|
})), isPopupOpen && /*#__PURE__*/React.createElement(ResponsiveReceiver, {
|
|
492
578
|
query: this.responsiveFunc,
|
|
493
579
|
responsiveId: "Helmet"
|
|
494
|
-
},
|
|
580
|
+
}, _ref4 => {
|
|
495
581
|
let {
|
|
496
582
|
tabletMode
|
|
497
|
-
} =
|
|
583
|
+
} = _ref4;
|
|
498
584
|
return /*#__PURE__*/React.createElement(ResponsiveDropBox, {
|
|
499
585
|
isActive: isPopupReady,
|
|
500
586
|
isAnimate: true,
|
|
@@ -509,20 +595,32 @@ class Tabs extends React.Component {
|
|
|
509
595
|
...DropBoxProps,
|
|
510
596
|
isResponsivePadding: true,
|
|
511
597
|
needFocusScope: true,
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
598
|
+
dataId: `${dataId}_dropbox`,
|
|
599
|
+
onClick: removeClose,
|
|
600
|
+
onClose: this.togglePopup
|
|
601
|
+
}, getCustomDropBoxHeaderPlaceHolder && getCustomDropBoxHeaderPlaceHolder(this.props), hasSearch ? /*#__PURE__*/React.createElement(Box, {
|
|
602
|
+
className: tabsStyle.search
|
|
603
|
+
}, /*#__PURE__*/React.createElement(TextBoxIcon, {
|
|
604
|
+
placeHolder: placeHolderText,
|
|
605
|
+
onChange: this.handleChange,
|
|
606
|
+
value: searchValue,
|
|
607
|
+
onClear: this.handleSearchValueClear,
|
|
608
|
+
size: searchBoxSize,
|
|
609
|
+
customProps: {
|
|
610
|
+
TextBoxProps: {
|
|
611
|
+
'data-a11y-autofocus': true
|
|
612
|
+
}
|
|
613
|
+
},
|
|
614
|
+
dataId: `${dataId}_search`,
|
|
615
|
+
...TextBoxIconProps
|
|
616
|
+
})) : null, /*#__PURE__*/React.createElement(Box, {
|
|
515
617
|
flexible: true,
|
|
516
618
|
shrink: true,
|
|
517
619
|
scroll: "vertical",
|
|
518
|
-
className: `${tabletMode ? '' : tabsStyle.menuBox} ${moreBoxClass}`,
|
|
620
|
+
className: `${tabsStyle.listWrapper} ${tabletMode ? '' : tabsStyle.menuBox} ${moreBoxClass}`,
|
|
519
621
|
onScroll: this.onScroll,
|
|
520
622
|
dataId: `${dataId}_Tabs`
|
|
521
|
-
},
|
|
522
|
-
if (!child) {
|
|
523
|
-
return null;
|
|
524
|
-
}
|
|
525
|
-
|
|
623
|
+
}, moreTabsListItems.length ? moreTabsListItems.map(data => {
|
|
526
624
|
let {
|
|
527
625
|
text,
|
|
528
626
|
id,
|
|
@@ -531,9 +629,9 @@ class Tabs extends React.Component {
|
|
|
531
629
|
href,
|
|
532
630
|
children,
|
|
533
631
|
dataId
|
|
534
|
-
} =
|
|
632
|
+
} = data;
|
|
535
633
|
const value = text ? text : showTitleInMoreOptions ? title : null;
|
|
536
|
-
return /*#__PURE__*/React.
|
|
634
|
+
return /*#__PURE__*/React.createElement(ListItem, {
|
|
537
635
|
key: id,
|
|
538
636
|
value: value,
|
|
539
637
|
onClick: this.moreTabSelect,
|
|
@@ -549,7 +647,7 @@ class Tabs extends React.Component {
|
|
|
549
647
|
dataId: `${dataId}_Tab`,
|
|
550
648
|
...ListItemProps
|
|
551
649
|
}, !showTitleInMoreOptions ? children : null);
|
|
552
|
-
})));
|
|
650
|
+
}) : this.renderEmptyState()));
|
|
553
651
|
})) : null);
|
|
554
652
|
}
|
|
555
653
|
|
package/es/Tab/Tabs.module.css
CHANGED
|
@@ -123,15 +123,45 @@
|
|
|
123
123
|
.bottomRightToLeft,
|
|
124
124
|
.topRightToLeft,
|
|
125
125
|
.bottomCenterToLeft {
|
|
126
|
-
right: calc(var(--tab_position_gap) * -1);
|
|
126
|
+
right: calc(var(--tab_position_gap) * -1);
|
|
127
127
|
}
|
|
128
128
|
|
|
129
129
|
.bottomLeftToRight,
|
|
130
130
|
.topLeftToRight,
|
|
131
131
|
.bottomCenterToRight {
|
|
132
|
-
left: calc(var(--tab_position_gap) * -1);
|
|
132
|
+
left: calc(var(--tab_position_gap) * -1);
|
|
133
133
|
}
|
|
134
134
|
|
|
135
135
|
.hidden {
|
|
136
136
|
visibility: hidden;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
.search {
|
|
140
|
+
padding: 0 var(--zd_size20) 0 ;
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
.emptyStateContainer {
|
|
144
|
+
padding-bottom: var(--zd_size15) ;
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
.emptyStateTitle {
|
|
148
|
+
font-family: var(--zd_semibold);
|
|
149
|
+
word-wrap: break-word;
|
|
150
|
+
font-size: var(--zd_font_size16) ;
|
|
151
|
+
max-width: var(--zd_size430) ;
|
|
152
|
+
text-align: center;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
[dir=ltr] .emptyStateTitle {
|
|
156
|
+
margin-left: auto ;
|
|
157
|
+
margin-right: auto ;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
[dir=rtl] .emptyStateTitle {
|
|
161
|
+
margin-right: auto ;
|
|
162
|
+
margin-left: auto ;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
.listWrapper {
|
|
166
|
+
padding-top: var(--zd_size10) ;
|
|
137
167
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { render } from '@testing-library/react';
|
|
3
|
-
import TabContentWrapper from
|
|
3
|
+
import TabContentWrapper from '../TabContentWrapper';
|
|
4
4
|
describe('TabContentWrapper', () => {
|
|
5
5
|
test('rendering the defult props', () => {
|
|
6
6
|
const {
|
package/es/Tab/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { default as TabWrapper } from
|
|
2
|
-
export { default as TabContentWrapper } from
|
|
3
|
-
export { default as TabContent } from
|
|
4
|
-
export { default as Tabs } from
|
|
5
|
-
export { default as Tab } from
|
|
1
|
+
export { default as TabWrapper } from './TabWrapper';
|
|
2
|
+
export { default as TabContentWrapper } from './TabContentWrapper';
|
|
3
|
+
export { default as TabContent } from './TabContent';
|
|
4
|
+
export { default as Tabs } from './Tabs';
|
|
5
|
+
export { default as Tab } from './Tab';
|
|
@@ -30,7 +30,10 @@ export const Tabs_defaultProps = {
|
|
|
30
30
|
iconSize: '7',
|
|
31
31
|
containerClass: '',
|
|
32
32
|
customProps: {},
|
|
33
|
-
dataSelectorId: 'tabs'
|
|
33
|
+
dataSelectorId: 'tabs',
|
|
34
|
+
searchBoxSize: 'small',
|
|
35
|
+
searchErrorText: 'No results',
|
|
36
|
+
placeHolderText: 'Search'
|
|
34
37
|
};
|
|
35
38
|
export const TabWrapper_defaultProps = {
|
|
36
39
|
hookToDisableInternalState: false,
|
|
@@ -84,12 +84,17 @@ export const Tabs_propTypes = {
|
|
|
84
84
|
getTargetRef: PropTypes.func,
|
|
85
85
|
containerClass: PropTypes.string,
|
|
86
86
|
customProps: PropTypes.shape({
|
|
87
|
+
TextBoxIconProps: PropTypes.object,
|
|
87
88
|
DropBoxProps: PropTypes.object,
|
|
88
89
|
ListItemProps: PropTypes.object,
|
|
89
90
|
MoreButtonProps: PropTypes.object
|
|
90
91
|
}),
|
|
91
92
|
getCustomDropBoxHeaderPlaceHolder: PropTypes.func,
|
|
92
|
-
dataSelectorId: PropTypes.string
|
|
93
|
+
dataSelectorId: PropTypes.string,
|
|
94
|
+
placeHolderText: PropTypes.string,
|
|
95
|
+
searchBoxSize: PropTypes.string,
|
|
96
|
+
searchErrorText: PropTypes.string,
|
|
97
|
+
closePopupOnly: PropTypes.func
|
|
93
98
|
};
|
|
94
99
|
export const TabWrapper_propTypes = {
|
|
95
100
|
align: PropTypes.oneOf(['vertical', 'horizontal']),
|
package/es/Tag/Tag.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import React, { PureComponent } from 'react';
|
|
2
|
-
import { defaultProps } from
|
|
3
|
-
import { propTypes } from
|
|
2
|
+
import { defaultProps } from './props/defaultProps';
|
|
3
|
+
import { propTypes } from './props/propTypes';
|
|
4
4
|
import { Icon } from '@zohodesk/icons';
|
|
5
|
-
import Avatar from
|
|
6
|
-
import { Container } from
|
|
7
|
-
import Button from
|
|
8
|
-
import { getUniqueId } from
|
|
9
|
-
import style from
|
|
5
|
+
import Avatar from '../Avatar/Avatar';
|
|
6
|
+
import { Container } from '../Layout';
|
|
7
|
+
import Button from '../semantic/Button/Button';
|
|
8
|
+
import { getUniqueId } from '../Provider/IdProvider';
|
|
9
|
+
import style from './Tag.module.css';
|
|
10
10
|
/*
|
|
11
11
|
* eslint css-modules/no-unused-class: [2, { markAsUsed: ['small', 'medium',
|
|
12
12
|
* 'closedanger', 'closeprimary', 'default', 'danger', 'secondary',
|
package/es/TextBox/TextBox.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { defaultProps } from
|
|
3
|
-
import { propTypes } from
|
|
2
|
+
import { defaultProps } from './props/defaultProps';
|
|
3
|
+
import { propTypes } from './props/propTypes';
|
|
4
4
|
/* eslint css-modules/no-unused-class: [2, { markAsUsed: ['xmedium', 'medium', 'small', 'default', 'primary', 'secondary'] }] */
|
|
5
5
|
|
|
6
|
-
import style from
|
|
6
|
+
import style from './TextBox.module.css';
|
|
7
7
|
export default class TextBox extends React.PureComponent {
|
|
8
8
|
constructor(props) {
|
|
9
9
|
super(props);
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { defaultProps } from
|
|
3
|
-
import { propTypes } from
|
|
4
|
-
import TextBox from
|
|
5
|
-
import { Container, Box } from
|
|
2
|
+
import { defaultProps } from './props/defaultProps';
|
|
3
|
+
import { propTypes } from './props/propTypes';
|
|
4
|
+
import TextBox from '../TextBox/TextBox';
|
|
5
|
+
import { Container, Box } from '../Layout';
|
|
6
6
|
import { Icon } from '@zohodesk/icons';
|
|
7
|
-
import btnStyle from
|
|
8
|
-
import style from
|
|
7
|
+
import btnStyle from '../semantic/Button/semanticButton.module.css';
|
|
8
|
+
import style from './TextBoxIcon.module.css';
|
|
9
9
|
/* eslint-disable react/forbid-component-props */
|
|
10
10
|
|
|
11
11
|
export default class TextBoxIcon extends React.Component {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import PropTypes from 'prop-types';
|
|
2
|
-
import { propTypes as TextBox_propTypes } from
|
|
2
|
+
import { propTypes as TextBox_propTypes } from '../../TextBox/props/propTypes';
|
|
3
3
|
export const propTypes = { ...TextBox_propTypes,
|
|
4
4
|
borderColor: PropTypes.oneOf(['transparent', 'default', 'error']),
|
|
5
5
|
children: PropTypes.node,
|
package/es/Textarea/Textarea.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { defaultProps } from
|
|
3
|
-
import { propTypes } from
|
|
2
|
+
import { defaultProps } from './props/defaultProps';
|
|
3
|
+
import { propTypes } from './props/propTypes';
|
|
4
4
|
/* eslint css-modules/no-unused-class: [2, { markAsUsed: ['resizeX', 'resizeY', 'noresize', 'resizeboth', 'xsmall', 'small', 'medium', 'large', 'xlarge', 'default', 'primary'] }] */
|
|
5
5
|
|
|
6
|
-
import style from
|
|
6
|
+
import style from './Textarea.module.css';
|
|
7
7
|
export default class Textarea extends React.Component {
|
|
8
8
|
constructor(props) {
|
|
9
9
|
super(props);
|
package/es/Tooltip/Tooltip.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { defaultProps } from
|
|
3
|
-
import { propTypes } from
|
|
4
|
-
import { getLibraryConfig } from
|
|
5
|
-
import style from
|
|
6
|
-
import ResizeObserver from
|
|
2
|
+
import { defaultProps } from './props/defaultProps';
|
|
3
|
+
import { propTypes } from './props/propTypes';
|
|
4
|
+
import { getLibraryConfig } from '../Provider/Config';
|
|
5
|
+
import style from './Tooltip.module.css';
|
|
6
|
+
import ResizeObserver from '../Responsive/ResizeObserver';
|
|
7
7
|
import selectn from 'selectn';
|
|
8
8
|
export default class Tooltip extends React.Component {
|
|
9
9
|
constructor(props) {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { defaultProps } from
|
|
3
|
-
import { propTypes } from
|
|
2
|
+
import { defaultProps } from './props/defaultProps';
|
|
3
|
+
import { propTypes } from './props/propTypes';
|
|
4
4
|
import { VelocityComponent } from 'velocity-react';
|
|
5
5
|
import 'velocity-animate/velocity.ui';
|
|
6
|
-
import LibraryContext from
|
|
6
|
+
import LibraryContext from '../../Provider/LibraryContextInit';
|
|
7
7
|
export default class VelocityAnimation extends React.Component {
|
|
8
8
|
constructor(props) {
|
|
9
9
|
super(props);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { render } from '@testing-library/react';
|
|
3
|
-
import VelocityAnimation from
|
|
3
|
+
import VelocityAnimation from '../VelocityAnimation';
|
|
4
4
|
describe('VelocityAnimation', () => {
|
|
5
5
|
test('rendering the defult props', () => {
|
|
6
6
|
const {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { defaultProps } from
|
|
3
|
-
import { propTypes } from
|
|
2
|
+
import { defaultProps } from './props/defaultProps';
|
|
3
|
+
import { propTypes } from './props/propTypes';
|
|
4
4
|
import { VelocityTransitionGroup } from 'velocity-react';
|
|
5
5
|
import 'velocity-animate/velocity.ui';
|
|
6
|
-
import LibraryContext from
|
|
6
|
+
import LibraryContext from '../../Provider/LibraryContextInit';
|
|
7
7
|
|
|
8
8
|
function clearProps(props) {
|
|
9
9
|
let newProps = Object.assign({}, props);
|
package/es/VelocityAnimation/VelocityAnimationGroup/__tests__/VelocityAnimationGroup.spec.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { render } from '@testing-library/react';
|
|
3
|
-
import VelocityAnimationGroup from
|
|
3
|
+
import VelocityAnimationGroup from '../VelocityAnimationGroup';
|
|
4
4
|
describe('VelocityAnimationGroup', () => {
|
|
5
5
|
test('rendering the defult props', () => {
|
|
6
6
|
const {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { default as VelocityAnimation } from
|
|
2
|
-
export { default as VelocityAnimationGroup } from
|
|
1
|
+
export { default as VelocityAnimation } from './VelocityAnimation/VelocityAnimation';
|
|
2
|
+
export { default as VelocityAnimationGroup } from './VelocityAnimationGroup/VelocityAnimationGroup';
|