@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/v1/Tab/Tabs.js
CHANGED
|
@@ -1,18 +1,20 @@
|
|
|
1
1
|
import React, { useState, useRef, useEffect, useCallback } from 'react';
|
|
2
2
|
import useEffectCallOnlyAfterState from '@zohodesk/hooks/es/utils/useEffectCallOnlyAfterState';
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import
|
|
9
|
-
import
|
|
3
|
+
import TextBoxIcon from '../TextBoxIcon/TextBoxIcon';
|
|
4
|
+
import EmptySearch from '@zohodesk/svg/lib/emptystate/version3/EmptySearch';
|
|
5
|
+
import Tab from './Tab';
|
|
6
|
+
import { Tabs_defaultProps } from './props/defaultProps';
|
|
7
|
+
import { Tabs_propTypes } from './props/propTypes';
|
|
8
|
+
import { remConvert, getTotalDimension, cs, throttle, cancelBubblingEffect } from '../../utils/Common';
|
|
9
|
+
import { Box, Container } from '../Layout';
|
|
10
|
+
import ResizeObserver from '../../Responsive/ResizeObserver';
|
|
11
|
+
import ListItem from '../ListItem/ListItem';
|
|
10
12
|
import { Icon } from '@zohodesk/icons';
|
|
11
|
-
import tabsStyle from
|
|
12
|
-
import Popup from
|
|
13
|
-
import ResponsiveDropBox from
|
|
14
|
-
import { ResponsiveReceiver } from
|
|
15
|
-
import btnstyle from
|
|
13
|
+
import tabsStyle from './v1Tabs.module.css';
|
|
14
|
+
import Popup from '../Popup/Popup';
|
|
15
|
+
import ResponsiveDropBox from '../ResponsiveDropBox/ResponsiveDropBox';
|
|
16
|
+
import { ResponsiveReceiver } from '../../Responsive/CustomResponsive';
|
|
17
|
+
import btnstyle from '../../semantic/Button/semanticButton.module.css';
|
|
16
18
|
|
|
17
19
|
const Tabs = props => {
|
|
18
20
|
const [totalDimension, setTotalDimension] = useState(null);
|
|
@@ -20,6 +22,7 @@ const Tabs = props => {
|
|
|
20
22
|
const highlightInitialDimension = useRef(null);
|
|
21
23
|
const [renderVirtualTabs, setRenderVirtualTabs] = useState(true);
|
|
22
24
|
const [tabKeys, setTabKeys] = useState([]);
|
|
25
|
+
const [searchValue, setSearchValue] = useState('');
|
|
23
26
|
const tabsObserver = useRef(new ResizeObserver(onResize));
|
|
24
27
|
const tabObserver = useRef({});
|
|
25
28
|
const highlight = useRef(null);
|
|
@@ -49,9 +52,66 @@ const Tabs = props => {
|
|
|
49
52
|
childType,
|
|
50
53
|
containerClass,
|
|
51
54
|
dataSelectorId,
|
|
52
|
-
selectedTab
|
|
55
|
+
selectedTab,
|
|
56
|
+
showTitleInMoreOptions,
|
|
57
|
+
searchErrorText,
|
|
58
|
+
placeHolderText,
|
|
59
|
+
searchBoxSize,
|
|
60
|
+
isPopupOpen,
|
|
61
|
+
closePopupOnly
|
|
53
62
|
} = props;
|
|
54
63
|
|
|
64
|
+
function handleChange(value, e) {
|
|
65
|
+
setSearchValue(value);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
function handleSearchValueClear(e) {
|
|
69
|
+
setSearchValue('');
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
function getMoreList(_ref) {
|
|
73
|
+
let {
|
|
74
|
+
moreTabs
|
|
75
|
+
} = _ref;
|
|
76
|
+
const validElements = [];
|
|
77
|
+
React.Children.map(moreTabs, child => {
|
|
78
|
+
const isValidElement = /*#__PURE__*/React.isValidElement(child);
|
|
79
|
+
|
|
80
|
+
if (isValidElement) {
|
|
81
|
+
validElements.push(child.props);
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
return validElements;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
function handleFilterSuggestions(_ref2) {
|
|
88
|
+
let {
|
|
89
|
+
moreTabs
|
|
90
|
+
} = _ref2;
|
|
91
|
+
const options = getMoreList({
|
|
92
|
+
moreTabs
|
|
93
|
+
});
|
|
94
|
+
const filteredOptions = options.filter(list => {
|
|
95
|
+
const {
|
|
96
|
+
text,
|
|
97
|
+
title
|
|
98
|
+
} = list;
|
|
99
|
+
const value = text ? text : showTitleInMoreOptions ? title : '';
|
|
100
|
+
return value.toLowerCase().includes(searchValue.toLowerCase());
|
|
101
|
+
});
|
|
102
|
+
return filteredOptions;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
function renderEmptyState() {
|
|
106
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
107
|
+
className: tabsStyle.emptyStateContainer
|
|
108
|
+
}, /*#__PURE__*/React.createElement(EmptySearch, {
|
|
109
|
+
size: "small"
|
|
110
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
111
|
+
className: tabsStyle.emptyStateTitle
|
|
112
|
+
}, searchErrorText));
|
|
113
|
+
}
|
|
114
|
+
|
|
55
115
|
function onTabResize(size, target) {
|
|
56
116
|
let newDim = Object.assign({}, tabDimensions);
|
|
57
117
|
let elemDim = getTotalDimension(target, align);
|
|
@@ -101,6 +161,11 @@ const Tabs = props => {
|
|
|
101
161
|
}
|
|
102
162
|
};
|
|
103
163
|
}, []);
|
|
164
|
+
useEffect(() => {
|
|
165
|
+
if (searchValue.length) {
|
|
166
|
+
handleSearchValueClear();
|
|
167
|
+
}
|
|
168
|
+
}, [isPopupOpen]);
|
|
104
169
|
|
|
105
170
|
function setMaxDim() {
|
|
106
171
|
let totalDimension = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
|
|
@@ -320,6 +385,7 @@ const Tabs = props => {
|
|
|
320
385
|
|
|
321
386
|
e.preventDefault();
|
|
322
387
|
onSelect(tab);
|
|
388
|
+
closePopupOnly();
|
|
323
389
|
}
|
|
324
390
|
|
|
325
391
|
function onScrollLocal(e) {
|
|
@@ -334,10 +400,10 @@ const Tabs = props => {
|
|
|
334
400
|
togglePopup(e, boxPosition);
|
|
335
401
|
}
|
|
336
402
|
|
|
337
|
-
function responsiveFunc(
|
|
403
|
+
function responsiveFunc(_ref3) {
|
|
338
404
|
let {
|
|
339
405
|
mediaQueryOR
|
|
340
|
-
} =
|
|
406
|
+
} = _ref3;
|
|
341
407
|
return {
|
|
342
408
|
tabletMode: mediaQueryOR([{
|
|
343
409
|
maxWidth: 700
|
|
@@ -374,9 +440,14 @@ const Tabs = props => {
|
|
|
374
440
|
let {
|
|
375
441
|
DropBoxProps = {},
|
|
376
442
|
ListItemProps = {},
|
|
377
|
-
MoreButtonProps = {}
|
|
443
|
+
MoreButtonProps = {},
|
|
444
|
+
TextBoxIconProps = {}
|
|
378
445
|
} = customProps;
|
|
379
446
|
let popupClass = align === 'vertical' ? tabsStyle[position] ? tabsStyle[position] : '' : '';
|
|
447
|
+
const moreTabsListItems = handleFilterSuggestions({
|
|
448
|
+
moreTabs
|
|
449
|
+
});
|
|
450
|
+
const hasSearch = moreTabs.length > 4;
|
|
380
451
|
return /*#__PURE__*/React.createElement(React.Fragment, null, React.Children.map(mainTabs, child => {
|
|
381
452
|
if (!child) {
|
|
382
453
|
return null;
|
|
@@ -426,10 +497,10 @@ const Tabs = props => {
|
|
|
426
497
|
})), isPopupOpen && /*#__PURE__*/React.createElement(ResponsiveReceiver, {
|
|
427
498
|
query: responsiveFunc,
|
|
428
499
|
responsiveId: "Helmet"
|
|
429
|
-
},
|
|
500
|
+
}, _ref4 => {
|
|
430
501
|
let {
|
|
431
502
|
tabletMode
|
|
432
|
-
} =
|
|
503
|
+
} = _ref4;
|
|
433
504
|
return /*#__PURE__*/React.createElement(ResponsiveDropBox, {
|
|
434
505
|
isActive: isPopupReady,
|
|
435
506
|
isAnimate: true,
|
|
@@ -445,19 +516,31 @@ const Tabs = props => {
|
|
|
445
516
|
isResponsivePadding: true,
|
|
446
517
|
needFocusScope: true,
|
|
447
518
|
onClose: togglePopupLocal,
|
|
519
|
+
onClick: removeClose,
|
|
448
520
|
dataId: `${dataId}_dropbox`
|
|
449
|
-
}, getCustomDropBoxHeaderPlaceHolder && getCustomDropBoxHeaderPlaceHolder(props), /*#__PURE__*/React.createElement(Box, {
|
|
521
|
+
}, getCustomDropBoxHeaderPlaceHolder && getCustomDropBoxHeaderPlaceHolder(props), hasSearch ? /*#__PURE__*/React.createElement(Box, {
|
|
522
|
+
className: tabsStyle.search
|
|
523
|
+
}, /*#__PURE__*/React.createElement(TextBoxIcon, {
|
|
524
|
+
placeHolder: placeHolderText,
|
|
525
|
+
onChange: handleChange,
|
|
526
|
+
value: searchValue,
|
|
527
|
+
onClear: handleSearchValueClear,
|
|
528
|
+
size: searchBoxSize,
|
|
529
|
+
customProps: {
|
|
530
|
+
TextBoxProps: {
|
|
531
|
+
'data-a11y-autofocus': true
|
|
532
|
+
}
|
|
533
|
+
},
|
|
534
|
+
dataId: `${dataId}_search`,
|
|
535
|
+
...TextBoxIconProps
|
|
536
|
+
})) : null, /*#__PURE__*/React.createElement(Box, {
|
|
450
537
|
flexible: true,
|
|
451
538
|
shrink: true,
|
|
452
539
|
scroll: "vertical",
|
|
453
|
-
className: `${tabletMode ? '' : tabsStyle.menuBox} ${moreBoxClass}`,
|
|
540
|
+
className: `${tabsStyle.listWrapper} ${tabletMode ? '' : tabsStyle.menuBox} ${moreBoxClass}`,
|
|
454
541
|
onScroll: onScrollLocal,
|
|
455
542
|
dataId: `${dataId}_Tabs`
|
|
456
|
-
},
|
|
457
|
-
if (!child) {
|
|
458
|
-
return null;
|
|
459
|
-
}
|
|
460
|
-
|
|
543
|
+
}, moreTabsListItems.length ? moreTabsListItems.map(data => {
|
|
461
544
|
let {
|
|
462
545
|
text,
|
|
463
546
|
id,
|
|
@@ -466,9 +549,9 @@ const Tabs = props => {
|
|
|
466
549
|
href,
|
|
467
550
|
children,
|
|
468
551
|
dataId
|
|
469
|
-
} =
|
|
552
|
+
} = data;
|
|
470
553
|
const value = text ? text : showTitleInMoreOptions ? title : null;
|
|
471
|
-
return /*#__PURE__*/React.
|
|
554
|
+
return /*#__PURE__*/React.createElement(ListItem, {
|
|
472
555
|
key: id,
|
|
473
556
|
value: value,
|
|
474
557
|
onClick: moreTabSelect,
|
|
@@ -484,7 +567,7 @@ const Tabs = props => {
|
|
|
484
567
|
dataId: `${dataId}_Tab`,
|
|
485
568
|
...ListItemProps
|
|
486
569
|
}, !showTitleInMoreOptions ? children : null);
|
|
487
|
-
})));
|
|
570
|
+
}) : renderEmptyState()));
|
|
488
571
|
})) : null);
|
|
489
572
|
}
|
|
490
573
|
|
package/es/v1/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']),
|
|
@@ -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
|
}
|
package/es/v1/Tag/Tag.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import React, { memo } 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 { useUniqueId } 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 { useUniqueId } from '../../Provider/IdProvider';
|
|
9
|
+
import style from '../../Tag/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/v1/TextBox/TextBox.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { memo, useRef, useCallback } from 'react';
|
|
2
|
-
import { defaultProps } from
|
|
3
|
-
import { propTypes } from
|
|
4
|
-
import style from
|
|
2
|
+
import { defaultProps } from './props/defaultProps';
|
|
3
|
+
import { propTypes } from './props/propTypes';
|
|
4
|
+
import style from '../../TextBox/TextBox.module.css';
|
|
5
5
|
|
|
6
6
|
function TextBox(props) {
|
|
7
7
|
let {
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import React, { useState, useRef, useCallback } 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/TextBoxIcon.module.css';
|
|
9
9
|
/* eslint-disable react/forbid-component-props */
|
|
10
10
|
|
|
11
11
|
export default function TextBoxIcon(props) {
|
|
@@ -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,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { useRef } from 'react';
|
|
2
|
-
import { defaultProps } from
|
|
3
|
-
import { propTypes } from
|
|
4
|
-
import style from
|
|
2
|
+
import { defaultProps } from './props/defaultProps';
|
|
3
|
+
import { propTypes } from './props/propTypes';
|
|
4
|
+
import style from '../../Textarea/Textarea.module.css';
|
|
5
5
|
export default function Textarea(props) {
|
|
6
6
|
let {
|
|
7
7
|
size,
|
package/es/v1/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/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
|
|
4
|
-
import cssJSLogic from
|
|
2
|
+
import { defaultProps } from './props/defaultProps';
|
|
3
|
+
import { propTypes } from './props/propTypes';
|
|
4
|
+
import cssJSLogic from './css/cssJSLogic';
|
|
5
5
|
import { mergeStyle } from '@zohodesk/utils';
|
|
6
|
-
import defaultStyle from
|
|
6
|
+
import defaultStyle from './css/Typography.module.css';
|
|
7
7
|
|
|
8
8
|
const Typography = props => {
|
|
9
9
|
const {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import React, { useContext } 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 function VelocityAnimation(props) {
|
|
8
8
|
let {
|
|
9
9
|
children,
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import React, { useContext } 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);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { defaultProps } from
|
|
3
|
-
import { propTypes } from
|
|
4
|
-
import style from
|
|
2
|
+
import { defaultProps } from './props/defaultProps';
|
|
3
|
+
import { propTypes } from './props/propTypes';
|
|
4
|
+
import style from '../../../semantic/Button/semanticButton.module.css';
|
|
5
5
|
export default function Button(props) {
|
|
6
6
|
const {
|
|
7
7
|
value,
|
package/es/v1/semantic/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { default as SemanticButton } from
|
|
1
|
+
export { default as SemanticButton } from './Button/Button';
|