@zohodesk/components 1.0.0-temp-252.4 → 1.0.0-temp-256.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/README.md +70 -3
- package/assets/Appearance/dark/mode/Component_DarkMode.module.css +323 -330
- package/assets/Appearance/dark/mode/Component_v1_DarkMode.module.css +79 -79
- package/assets/Appearance/dark/themes/blue/blue_ComponentTheme_DarkTheme.module.css +29 -33
- package/assets/Appearance/dark/themes/blue/blue_componentsCTA_DarkModifyCategory.module.css +15 -0
- package/assets/Appearance/dark/themes/green/green_ComponentTheme_DarkTheme.module.css +29 -33
- package/assets/Appearance/dark/themes/green/green_componentsCTA_DarkModifyCategory.module.css +15 -0
- package/assets/Appearance/dark/themes/orange/orange_ComponentTheme_DarkTheme.module.css +29 -33
- package/assets/Appearance/dark/themes/orange/orange_componentsCTA_DarkModifyCategory.module.css +15 -0
- package/assets/Appearance/dark/themes/red/red_ComponentTheme_DarkTheme.module.css +29 -33
- package/assets/Appearance/dark/themes/red/red_componentsCTA_DarkModifyCategory.module.css +15 -0
- package/assets/Appearance/dark/themes/yellow/yellow_ComponentTheme_DarkTheme.module.css +29 -33
- package/assets/Appearance/dark/themes/yellow/yellow_componentsCTA_DarkModifyCategory.module.css +15 -0
- package/assets/Appearance/light/mode/Component_LightMode.module.css +323 -330
- package/assets/Appearance/light/mode/Component_v1_LightMode.module.css +79 -79
- package/assets/Appearance/light/themes/blue/blue_ComponentTheme_LightTheme.module.css +29 -33
- package/assets/Appearance/light/themes/blue/blue_componentsCTA_LightModifyCategory.module.css +15 -0
- package/assets/Appearance/light/themes/green/green_ComponentTheme_LightTheme.module.css +29 -33
- package/assets/Appearance/light/themes/green/green_componentsCTA_LightModifyCategory.module.css +15 -0
- package/assets/Appearance/light/themes/orange/orange_ComponentTheme_LightTheme.module.css +29 -33
- package/assets/Appearance/light/themes/orange/orange_componentsCTA_LightModifyCategory.module.css +15 -0
- package/assets/Appearance/light/themes/red/red_ComponentTheme_LightTheme.module.css +29 -33
- package/assets/Appearance/light/themes/red/red_componentsCTA_LightModifyCategory.module.css +15 -0
- package/assets/Appearance/light/themes/yellow/yellow_ComponentTheme_LightTheme.module.css +29 -33
- package/assets/Appearance/light/themes/yellow/yellow_componentsCTA_LightModifyCategory.module.css +15 -0
- package/assets/Appearance/pureDark/mode/Component_PureDarkMode.module.css +323 -330
- package/assets/Appearance/pureDark/mode/Component_v1_PureDarkMode.module.css +79 -79
- package/assets/Appearance/pureDark/themes/blue/blue_ComponentTheme_PureDarkTheme.module.css +29 -33
- package/assets/Appearance/pureDark/themes/blue/blue_componentsCTA_PureDarkModifyCategory.module.css +15 -0
- package/assets/Appearance/pureDark/themes/green/green_ComponentTheme_PureDarkTheme.module.css +29 -33
- package/assets/Appearance/pureDark/themes/green/green_componentsCTA_PureDarkModifyCategory.module.css +15 -0
- package/assets/Appearance/pureDark/themes/orange/orange_ComponentTheme_PureDarkTheme.module.css +29 -33
- package/assets/Appearance/pureDark/themes/orange/orange_componentsCTA_PureDarkModifyCategory.module.css +15 -0
- package/assets/Appearance/pureDark/themes/red/red_ComponentTheme_PureDarkTheme.module.css +29 -33
- package/assets/Appearance/pureDark/themes/red/red_componentsCTA_PureDarkModifyCategory.module.css +15 -0
- package/assets/Appearance/pureDark/themes/yellow/yellow_ComponentTheme_PureDarkTheme.module.css +29 -33
- package/assets/Appearance/pureDark/themes/yellow/yellow_componentsCTA_PureDarkModifyCategory.module.css +15 -0
- package/cbt.config.js +12 -3
- package/es/Accordion/Accordion.js +2 -1
- package/es/Accordion/AccordionItem.js +3 -2
- package/es/Accordion/__tests__/__snapshots__/Accordion.spec.js.snap +1 -1
- package/es/Accordion/__tests__/__snapshots__/AccordionItem.spec.js.snap +1 -1
- package/es/Animation/__tests__/__snapshots__/Animation.spec.js.snap +1 -1
- package/es/AppContainer/AppContainer.js +2 -1
- package/es/AppContainer/AppContainer.module.css +9 -3
- package/es/AppContainer/__tests__/__snapshots__/AppContainer.spec.js.snap +23 -23
- package/es/Avatar/Avatar.js +6 -6
- package/es/Avatar/__tests__/__snapshots__/Avatar.spec.js.snap +43 -43
- package/es/AvatarTeam/AvatarTeam.js +4 -3
- package/es/AvatarTeam/__tests__/__snapshots__/AvatarTeam.spec.js.snap +74 -98
- package/es/Button/Button.js +5 -4
- package/es/Button/__tests__/__snapshots__/Button.spec.js.snap +4 -4
- package/es/Button/css/cssJSLogic.js +10 -11
- package/es/Buttongroup/Buttongroup.js +4 -3
- package/es/Buttongroup/__tests__/__snapshots__/Buttongroup.spec.js.snap +9 -9
- package/es/Card/__tests__/__snapshots__/Card.spec.js.snap +18 -18
- package/es/Card/__tests__/__snapshots__/CardContent.spec.js.snap +13 -13
- package/es/Card/__tests__/__snapshots__/CardHeader.spec.js.snap +5 -5
- package/es/CheckBox/CheckBox.js +9 -8
- package/es/CheckBox/__tests__/__snapshots__/CheckBox.spec.js.snap +154 -251
- package/es/ColorSelect/__tests__/__snapshots__/ColorMultiSelect.spec.js.snap +72 -81
- package/es/ColorSelect/__tests__/__snapshots__/ColorSingleSelect.spec.js.snap +62 -62
- package/es/ColorSelect/_shared/ColorIndicator/ColorIndicator.js +2 -1
- package/es/ColorSelect/_shared/ColorIndicator/__tests__/__snapshots__/ColorIndicator.spec.js.snap +10 -10
- package/es/ColorSelect/_shared/ColoredTag/__tests__/__snapshots__/ColoredTag.spec.js.snap +14 -14
- package/es/DateTime/CalendarView.js +4 -3
- package/es/DateTime/DateTime.js +8 -10
- package/es/DateTime/DateTimePopupFooter.js +2 -1
- package/es/DateTime/DateWidget.js +38 -14
- package/es/DateTime/Time.js +2 -1
- package/es/DateTime/YearView.js +5 -6
- package/es/DateTime/__tests__/__snapshots__/CalendarView.spec.js.snap +50 -50
- package/es/DateTime/__tests__/__snapshots__/DateTime.spec.js.snap +103 -103
- package/es/DateTime/__tests__/__snapshots__/DateTimePopupFooter.spec.js.snap +2 -2
- package/es/DateTime/__tests__/__snapshots__/DateTimePopupHeader.spec.js.snap +10 -10
- package/es/DateTime/__tests__/__snapshots__/DateWidget.spec.js.snap +10 -10
- package/es/DateTime/__tests__/__snapshots__/DaysRow.spec.js.snap +2 -2
- package/es/DateTime/__tests__/__snapshots__/Time.spec.js.snap +35 -35
- package/es/DateTime/common.js +2 -9
- package/es/DateTime/dateFormatUtils/dateFormat.js +55 -76
- package/es/DateTime/dateFormatUtils/index.js +7 -12
- package/es/DateTime/dateFormatUtils/timeChange.js +3 -4
- package/es/DateTime/dateFormatUtils/yearChange.js +3 -4
- package/es/DropBox/DropBox.js +13 -5
- package/es/DropBox/DropBoxElement/DropBoxElement.js +21 -8
- package/es/DropBox/DropBoxElement/__tests__/__snapshots__/DropBoxElement.spec.js.snap +1 -1
- package/es/DropBox/DropBoxElement/css/cssJSLogic.js +11 -12
- package/es/DropBox/DropBoxElement/props/propTypes.js +2 -1
- package/es/DropBox/__tests__/__snapshots__/DropBox.spec.js.snap +1 -1
- package/es/DropDown/DropDown.js +2 -1
- package/es/DropDown/DropDownHeading.js +2 -1
- package/es/DropDown/DropDownItem.js +6 -5
- package/es/DropDown/DropDownSearch.js +2 -1
- package/es/DropDown/DropDownSeparator.js +2 -1
- package/es/DropDown/__tests__/__snapshots__/DropDown.spec.js.snap +3 -3
- package/es/DropDown/__tests__/__snapshots__/DropDownHeading.spec.js.snap +2 -2
- package/es/DropDown/__tests__/__snapshots__/DropDownItem.spec.js.snap +2 -2
- package/es/DropDown/__tests__/__snapshots__/DropDownSearch.spec.js.snap +3 -3
- package/es/DropDown/__tests__/__snapshots__/DropDownSeparator.spec.js.snap +2 -2
- package/es/Heading/__tests__/__snapshots__/Heading.spec.js.snap +8 -8
- package/es/Label/Label.js +3 -2
- package/es/Label/__tests__/__snapshots__/Label.spec.js.snap +25 -49
- package/es/Layout/Box.js +1 -115
- package/es/Layout/Container.js +1 -132
- package/es/Layout/props/defaultProps.js +1 -16
- package/es/Layout/props/propTypes.js +1 -46
- package/es/ListItem/ListContainer.js +4 -5
- package/es/ListItem/ListItem.js +2 -1
- package/es/ListItem/ListItemWithAvatar.js +11 -4
- package/es/ListItem/ListItemWithCheckBox.js +11 -4
- package/es/ListItem/ListItemWithIcon.js +11 -4
- package/es/ListItem/ListItemWithRadio.js +11 -4
- package/es/ListItem/__tests__/ListItemWithAvatar.spec.js +19 -0
- package/es/ListItem/__tests__/ListItemWithCheckBox.spec.js +19 -0
- package/es/ListItem/__tests__/ListItemWithIcon.spec.js +17 -0
- package/es/ListItem/__tests__/ListItemWithRadio.spec.js +19 -0
- package/es/ListItem/__tests__/__snapshots__/ListContainer.spec.js.snap +3 -3
- package/es/ListItem/__tests__/__snapshots__/ListItem.spec.js.snap +17 -17
- package/es/ListItem/__tests__/__snapshots__/ListItemWithAvatar.spec.js.snap +150 -42
- package/es/ListItem/__tests__/__snapshots__/ListItemWithCheckBox.spec.js.snap +282 -77
- package/es/ListItem/__tests__/__snapshots__/ListItemWithIcon.spec.js.snap +150 -42
- package/es/ListItem/__tests__/__snapshots__/ListItemWithRadio.spec.js.snap +273 -70
- package/es/ListItem/props/defaultProps.js +1 -0
- package/es/ListItem/props/propTypes.js +12 -3
- package/es/Modal/Portal/Portal.js +4 -5
- package/es/Modal/Portal/__tests__/__snapshots__/Portal.spec.js.snap +1 -1
- package/es/Modal/__tests__/__snapshots__/Modal.spec.js.snap +1 -1
- package/es/MultiSelect/AdvancedGroupMultiSelect.js +95 -106
- package/es/MultiSelect/AdvancedMultiSelect.js +80 -83
- package/es/MultiSelect/EmptyState.js +5 -4
- package/es/MultiSelect/MobileHeader/MobileHeader.js +2 -1
- package/es/MultiSelect/MobileHeader/__tests__/__snapshots__/MobileHeader.spec.js.snap +5 -5
- package/es/MultiSelect/MultiSelect.js +22 -26
- package/es/MultiSelect/MultiSelectWithAvatar.js +7 -4
- package/es/MultiSelect/Suggestions.js +14 -17
- package/es/MultiSelect/__tests__/__snapshots__/AdvancedGroupMultiSelect.spec.js.snap +10 -11
- package/es/MultiSelect/__tests__/__snapshots__/AdvancedMultiSelect.spec.js.snap +60 -63
- package/es/MultiSelect/__tests__/__snapshots__/EmptyState.spec.js.snap +2 -2
- package/es/MultiSelect/__tests__/__snapshots__/MultiSelect.spec.js.snap +57 -66
- package/es/MultiSelect/__tests__/__snapshots__/MultiSelectHeader.spec.js.snap +8 -8
- package/es/MultiSelect/__tests__/__snapshots__/MultiSelectWithAvatar.spec.js.snap +12 -13
- package/es/MultiSelect/__tests__/__snapshots__/SelectedOptions.spec.js.snap +8 -8
- package/es/MultiSelect/__tests__/__snapshots__/Suggestions.spec.js.snap +48 -48
- package/es/MultiSelect/props/defaultProps.js +3 -0
- package/es/MultiSelect/props/propTypes.js +1 -0
- package/es/PopOver/PopOver.js +3 -2
- package/es/PopOver/__tests__/__snapshots__/PopOver.spec.js.snap +1 -1
- package/es/Popup/Popup.js +1 -4
- package/es/Provider/IdProvider.js +4 -5
- package/es/Provider/LibraryContext.js +15 -12
- package/es/Provider/NumberGenerator/NumberGenerator.js +15 -17
- package/es/Provider/ZindexProvider.js +4 -5
- package/es/Radio/Radio.js +5 -4
- package/es/Radio/__tests__/__snapshots__/Radio.spec.js.snap +118 -198
- package/es/Responsive/CustomResponsive.js +8 -11
- package/es/Responsive/ResizeComponent.js +1 -3
- package/es/Responsive/Responsive.js +9 -12
- package/es/Responsive/sizeObservers.js +1 -5
- package/es/ResponsiveDropBox/ResponsiveDropBox.js +10 -14
- package/es/ResponsiveDropBox/__tests__/__snapshots__/ResponsiveDropBox.spec.js.snap +2 -2
- package/es/Ribbon/Ribbon.js +8 -20
- package/es/Ribbon/__tests__/__snapshots__/Ribbon.spec.js.snap +22 -25
- package/es/RippleEffect/RippleEffect.js +1 -1
- package/es/RippleEffect/__tests__/__snapshots__/RippleEffect.spec.js.snap +17 -17
- package/es/Select/GroupSelect.js +103 -105
- package/es/Select/Select.js +120 -121
- package/es/Select/SelectWithAvatar.js +96 -97
- package/es/Select/SelectWithIcon.js +109 -111
- package/es/Select/__tests__/Select.spec.js +6 -9
- package/es/Select/__tests__/SelectWithIcon.spec.js +3 -1
- package/es/Select/__tests__/__snapshots__/GroupSelect.spec.js.snap +10 -10
- package/es/Select/__tests__/__snapshots__/Select.spec.js.snap +1056 -1046
- package/es/Select/__tests__/__snapshots__/SelectWithAvatar.spec.js.snap +5 -5
- package/es/Select/__tests__/__snapshots__/SelectWithIcon.spec.js.snap +13 -13
- package/es/Select/props/defaultProps.js +4 -0
- package/es/Select/props/propTypes.js +3 -0
- package/es/Stencils/Stencils.js +2 -1
- package/es/Stencils/__tests__/__snapshots__/Stencils.spec.js.snap +13 -13
- package/es/Switch/Switch.js +4 -3
- package/es/Switch/__tests__/__snapshots__/Switch.spec.js.snap +99 -111
- package/es/Tab/Tab.js +83 -41
- package/es/Tab/Tab.module.css +72 -4
- package/es/Tab/TabContent.js +16 -19
- package/es/Tab/TabContentWrapper.js +19 -22
- package/es/Tab/TabWrapper.js +20 -17
- package/es/Tab/Tabs.js +133 -93
- package/es/Tab/Tabs.module.css +84 -15
- package/es/Tab/__tests__/Tab.spec.js +87 -0
- package/es/Tab/__tests__/Tabs.spec.js +11 -0
- package/es/Tab/__tests__/__snapshots__/Tab.spec.js.snap +289 -2
- package/es/Tab/__tests__/__snapshots__/TabContent.spec.js.snap +2 -2
- package/es/Tab/__tests__/__snapshots__/TabContentWrapper.spec.js.snap +2 -2
- package/es/Tab/__tests__/__snapshots__/TabLayout.spec.js.snap +41 -41
- package/es/Tab/__tests__/__snapshots__/TabWrapper.spec.js.snap +2 -2
- package/es/Tab/__tests__/__snapshots__/Tabs.spec.js.snap +37 -5
- package/es/Tab/props/defaultProps.js +10 -3
- package/es/Tab/props/propTypes.js +26 -4
- package/es/Tab/utils/tabConfigs.js +11 -0
- package/es/Tag/Tag.js +6 -6
- package/es/Tag/__tests__/__snapshots__/Tag.spec.js.snap +243 -335
- package/es/TextBox/TextBox.js +2 -1
- package/es/TextBox/__tests__/__snapshots__/TextBox.spec.js.snap +45 -45
- package/es/TextBoxIcon/TextBoxIcon.js +1 -1
- package/es/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +207 -207
- package/es/Textarea/Textarea.js +2 -1
- package/es/Textarea/__tests__/__snapshots__/Textarea.spec.js.snap +47 -47
- package/es/Tooltip/Tooltip.js +5 -4
- package/es/Typography/__tests__/__snapshots__/Typography.spec.js.snap +8 -8
- package/es/Typography/css/cssJSLogic.js +6 -7
- package/es/VelocityAnimation/VelocityAnimation/__tests__/__snapshots__/VelocityAnimation.spec.js.snap +1 -1
- package/es/VelocityAnimation/VelocityAnimationGroup/VelocityAnimationGroup.js +1 -2
- package/es/VelocityAnimation/VelocityAnimationGroup/__tests__/__snapshots__/VelocityAnimationGroup.spec.js.snap +1 -1
- package/es/common/basic.module.css +9 -8
- package/es/css.js +0 -1
- package/es/deprecated/Switch/Switch.js +4 -3
- package/es/semantic/Button/Button.js +2 -1
- package/es/semantic/Button/__tests__/__snapshots__/Button.spec.js.snap +2 -2
- package/es/shared/ArrowIcon/__tests__/__snapshots__/ArrowIcon.spec.js.snap +21 -21
- package/es/shared/InputFieldLine/__tests__/__snapshots__/InputFieldLine.spec.js.snap +20 -20
- package/es/utils/Common.js +10 -31
- package/es/utils/datetime/common.js +12 -9
- package/es/utils/dropDownUtils.js +7 -11
- package/es/utils/getInitial.js +1 -3
- package/es/v1/Button/Button.js +3 -1
- package/es/v1/Button/__tests__/__snapshots__/Button.spec.js.snap +9 -9
- package/es/v1/Button/css/cssJSLogic.js +4 -8
- package/es/v1/Label/__tests__/__snapshots__/Label.spec.js.snap +1 -1
- package/es/v1/Label/css/cssJSLogic.js +4 -5
- package/es/v1/Switch/Switch.js +4 -3
- package/es/v1/Switch/__tests__/__snapshots__/Switch.spec.js.snap +1 -1
- package/es/v1/Switch/css/cssJSLogic.js +4 -5
- package/es/v1/helpers/colorHelpers/colorHelper.js +28 -39
- package/es/v1/shared/Loader/Loader.js +4 -3
- package/es/v1/shared/Loader/__tests__/__snapshots__/Loader.spec.js.snap +2 -2
- package/es/v1/shared/SuccessTick/SuccessTick.js +2 -1
- package/es/v1/shared/SuccessTick/__tests__/__snapshots__/SuccessTick.spec.js.snap +2 -2
- package/lib/Accordion/Accordion.js +3 -1
- package/lib/Accordion/AccordionItem.js +4 -2
- package/lib/Accordion/__tests__/__snapshots__/Accordion.spec.js.snap +1 -1
- package/lib/Accordion/__tests__/__snapshots__/AccordionItem.spec.js.snap +1 -1
- package/lib/Animation/__tests__/__snapshots__/Animation.spec.js.snap +1 -1
- package/lib/AppContainer/AppContainer.js +3 -1
- package/lib/AppContainer/AppContainer.module.css +9 -3
- package/lib/AppContainer/__tests__/__snapshots__/AppContainer.spec.js.snap +23 -23
- package/lib/Avatar/Avatar.js +6 -4
- package/lib/Avatar/__tests__/__snapshots__/Avatar.spec.js.snap +43 -43
- package/lib/AvatarTeam/AvatarTeam.js +4 -2
- package/lib/AvatarTeam/__tests__/__snapshots__/AvatarTeam.spec.js.snap +74 -98
- package/lib/Button/Button.js +6 -4
- package/lib/Button/__tests__/__snapshots__/Button.spec.js.snap +4 -4
- package/lib/Button/css/cssJSLogic.js +3 -3
- package/lib/Buttongroup/Buttongroup.js +5 -3
- package/lib/Buttongroup/__tests__/__snapshots__/Buttongroup.spec.js.snap +9 -9
- package/lib/Card/__tests__/__snapshots__/Card.spec.js.snap +18 -18
- package/lib/Card/__tests__/__snapshots__/CardContent.spec.js.snap +13 -13
- package/lib/Card/__tests__/__snapshots__/CardHeader.spec.js.snap +5 -5
- package/lib/CheckBox/CheckBox.js +10 -8
- package/lib/CheckBox/__tests__/__snapshots__/CheckBox.spec.js.snap +154 -251
- package/lib/ColorSelect/__tests__/__snapshots__/ColorMultiSelect.spec.js.snap +72 -81
- package/lib/ColorSelect/__tests__/__snapshots__/ColorSingleSelect.spec.js.snap +62 -62
- package/lib/ColorSelect/_shared/ColorIndicator/ColorIndicator.js +3 -1
- package/lib/ColorSelect/_shared/ColorIndicator/__tests__/__snapshots__/ColorIndicator.spec.js.snap +10 -10
- package/lib/ColorSelect/_shared/ColoredTag/__tests__/__snapshots__/ColoredTag.spec.js.snap +14 -14
- package/lib/DateTime/CalendarView.js +5 -3
- package/lib/DateTime/DateTime.js +6 -4
- package/lib/DateTime/DateTimePopupFooter.js +3 -1
- package/lib/DateTime/DateWidget.js +38 -9
- package/lib/DateTime/Time.js +3 -1
- package/lib/DateTime/__tests__/__snapshots__/CalendarView.spec.js.snap +50 -50
- package/lib/DateTime/__tests__/__snapshots__/DateTime.spec.js.snap +103 -103
- package/lib/DateTime/__tests__/__snapshots__/DateTimePopupFooter.spec.js.snap +2 -2
- package/lib/DateTime/__tests__/__snapshots__/DateTimePopupHeader.spec.js.snap +10 -10
- package/lib/DateTime/__tests__/__snapshots__/DateWidget.spec.js.snap +10 -10
- package/lib/DateTime/__tests__/__snapshots__/DaysRow.spec.js.snap +2 -2
- package/lib/DateTime/__tests__/__snapshots__/Time.spec.js.snap +35 -35
- package/lib/DropBox/DropBox.js +14 -5
- package/lib/DropBox/DropBoxElement/DropBoxElement.js +28 -8
- package/lib/DropBox/DropBoxElement/__tests__/__snapshots__/DropBoxElement.spec.js.snap +1 -1
- package/lib/DropBox/DropBoxElement/css/cssJSLogic.js +2 -2
- package/lib/DropBox/DropBoxElement/props/propTypes.js +2 -1
- package/lib/DropBox/__tests__/__snapshots__/DropBox.spec.js.snap +1 -1
- package/lib/DropDown/DropDown.js +3 -1
- package/lib/DropDown/DropDownHeading.js +3 -1
- package/lib/DropDown/DropDownItem.js +7 -5
- package/lib/DropDown/DropDownSearch.js +3 -1
- package/lib/DropDown/DropDownSeparator.js +3 -1
- package/lib/DropDown/__tests__/__snapshots__/DropDown.spec.js.snap +3 -3
- package/lib/DropDown/__tests__/__snapshots__/DropDownHeading.spec.js.snap +2 -2
- package/lib/DropDown/__tests__/__snapshots__/DropDownItem.spec.js.snap +2 -2
- package/lib/DropDown/__tests__/__snapshots__/DropDownSearch.spec.js.snap +3 -3
- package/lib/DropDown/__tests__/__snapshots__/DropDownSeparator.spec.js.snap +2 -2
- package/lib/Heading/__tests__/__snapshots__/Heading.spec.js.snap +8 -8
- package/lib/Label/Label.js +3 -1
- package/lib/Label/__tests__/__snapshots__/Label.spec.js.snap +25 -49
- package/lib/Layout/Box.js +7 -120
- package/lib/Layout/Container.js +7 -137
- package/lib/Layout/props/defaultProps.js +14 -19
- package/lib/Layout/props/propTypes.js +13 -52
- package/lib/ListItem/ListItem.js +3 -1
- package/lib/ListItem/ListItemWithAvatar.js +14 -4
- package/lib/ListItem/ListItemWithCheckBox.js +14 -4
- package/lib/ListItem/ListItemWithIcon.js +12 -4
- package/lib/ListItem/ListItemWithRadio.js +14 -4
- package/lib/ListItem/__tests__/ListItemWithAvatar.spec.js +23 -0
- package/lib/ListItem/__tests__/ListItemWithCheckBox.spec.js +23 -0
- package/lib/ListItem/__tests__/ListItemWithIcon.spec.js +21 -0
- package/lib/ListItem/__tests__/ListItemWithRadio.spec.js +23 -0
- package/lib/ListItem/__tests__/__snapshots__/ListContainer.spec.js.snap +3 -3
- package/lib/ListItem/__tests__/__snapshots__/ListItem.spec.js.snap +17 -17
- package/lib/ListItem/__tests__/__snapshots__/ListItemWithAvatar.spec.js.snap +150 -42
- package/lib/ListItem/__tests__/__snapshots__/ListItemWithCheckBox.spec.js.snap +282 -77
- package/lib/ListItem/__tests__/__snapshots__/ListItemWithIcon.spec.js.snap +150 -42
- package/lib/ListItem/__tests__/__snapshots__/ListItemWithRadio.spec.js.snap +273 -70
- package/lib/ListItem/props/defaultProps.js +1 -0
- package/lib/ListItem/props/propTypes.js +12 -4
- package/lib/Modal/Portal/__tests__/__snapshots__/Portal.spec.js.snap +1 -1
- package/lib/Modal/__tests__/__snapshots__/Modal.spec.js.snap +1 -1
- package/lib/MultiSelect/AdvancedGroupMultiSelect.js +8 -6
- package/lib/MultiSelect/AdvancedMultiSelect.js +8 -4
- package/lib/MultiSelect/EmptyState.js +6 -4
- package/lib/MultiSelect/MobileHeader/MobileHeader.js +3 -1
- package/lib/MultiSelect/MobileHeader/__tests__/__snapshots__/MobileHeader.spec.js.snap +5 -5
- package/lib/MultiSelect/MultiSelect.js +57 -50
- package/lib/MultiSelect/MultiSelectWithAvatar.js +8 -4
- package/lib/MultiSelect/__tests__/__snapshots__/AdvancedGroupMultiSelect.spec.js.snap +10 -11
- package/lib/MultiSelect/__tests__/__snapshots__/AdvancedMultiSelect.spec.js.snap +60 -63
- package/lib/MultiSelect/__tests__/__snapshots__/EmptyState.spec.js.snap +2 -2
- package/lib/MultiSelect/__tests__/__snapshots__/MultiSelect.spec.js.snap +57 -66
- package/lib/MultiSelect/__tests__/__snapshots__/MultiSelectHeader.spec.js.snap +8 -8
- package/lib/MultiSelect/__tests__/__snapshots__/MultiSelectWithAvatar.spec.js.snap +12 -13
- package/lib/MultiSelect/__tests__/__snapshots__/SelectedOptions.spec.js.snap +8 -8
- package/lib/MultiSelect/__tests__/__snapshots__/Suggestions.spec.js.snap +48 -48
- package/lib/MultiSelect/props/defaultProps.js +3 -0
- package/lib/MultiSelect/props/propTypes.js +1 -0
- package/lib/PopOver/PopOver.js +4 -2
- package/lib/PopOver/__tests__/__snapshots__/PopOver.spec.js.snap +1 -1
- package/lib/Provider/LibraryContext.js +5 -1
- package/lib/Radio/Radio.js +6 -4
- package/lib/Radio/__tests__/__snapshots__/Radio.spec.js.snap +118 -198
- package/lib/ResponsiveDropBox/__tests__/__snapshots__/ResponsiveDropBox.spec.js.snap +2 -2
- package/lib/Ribbon/Ribbon.js +8 -19
- package/lib/Ribbon/__tests__/__snapshots__/Ribbon.spec.js.snap +22 -25
- package/lib/RippleEffect/RippleEffect.js +1 -1
- package/lib/RippleEffect/__tests__/__snapshots__/RippleEffect.spec.js.snap +17 -17
- package/lib/Select/GroupSelect.js +10 -6
- package/lib/Select/Select.js +14 -8
- package/lib/Select/SelectWithAvatar.js +10 -6
- package/lib/Select/SelectWithIcon.js +9 -5
- package/lib/Select/__tests__/SelectWithIcon.spec.js +3 -1
- package/lib/Select/__tests__/__snapshots__/GroupSelect.spec.js.snap +10 -10
- package/lib/Select/__tests__/__snapshots__/Select.spec.js.snap +1056 -1046
- package/lib/Select/__tests__/__snapshots__/SelectWithAvatar.spec.js.snap +5 -5
- package/lib/Select/__tests__/__snapshots__/SelectWithIcon.spec.js.snap +13 -13
- package/lib/Select/props/defaultProps.js +5 -2
- package/lib/Select/props/propTypes.js +3 -0
- package/lib/Stencils/Stencils.js +3 -1
- package/lib/Stencils/__tests__/__snapshots__/Stencils.spec.js.snap +13 -13
- package/lib/Switch/Switch.js +5 -3
- package/lib/Switch/__tests__/__snapshots__/Switch.spec.js.snap +99 -111
- package/lib/Tab/Tab.js +59 -11
- package/lib/Tab/Tab.module.css +72 -4
- package/lib/Tab/TabWrapper.js +6 -2
- package/lib/Tab/Tabs.js +62 -14
- package/lib/Tab/Tabs.module.css +84 -15
- package/lib/Tab/__tests__/Tab.spec.js +88 -0
- package/lib/Tab/__tests__/Tabs.spec.js +12 -0
- package/lib/Tab/__tests__/__snapshots__/Tab.spec.js.snap +289 -2
- package/lib/Tab/__tests__/__snapshots__/TabContent.spec.js.snap +2 -2
- package/lib/Tab/__tests__/__snapshots__/TabContentWrapper.spec.js.snap +2 -2
- package/lib/Tab/__tests__/__snapshots__/TabLayout.spec.js.snap +41 -41
- package/lib/Tab/__tests__/__snapshots__/TabWrapper.spec.js.snap +2 -2
- package/lib/Tab/__tests__/__snapshots__/Tabs.spec.js.snap +37 -5
- package/lib/Tab/props/defaultProps.js +10 -3
- package/lib/Tab/props/propTypes.js +28 -4
- package/lib/Tab/utils/tabConfigs.js +15 -2
- package/lib/Tag/Tag.js +7 -5
- package/lib/Tag/__tests__/__snapshots__/Tag.spec.js.snap +243 -335
- package/lib/TextBox/TextBox.js +3 -1
- package/lib/TextBox/__tests__/__snapshots__/TextBox.spec.js.snap +45 -45
- package/lib/TextBoxIcon/TextBoxIcon.js +1 -1
- package/lib/TextBoxIcon/__tests__/__snapshots__/TextBoxIcon.spec.js.snap +207 -207
- package/lib/Textarea/Textarea.js +3 -1
- package/lib/Textarea/__tests__/__snapshots__/Textarea.spec.js.snap +47 -47
- package/lib/Tooltip/Tooltip.js +6 -4
- package/lib/Typography/__tests__/__snapshots__/Typography.spec.js.snap +8 -8
- package/lib/Typography/css/cssJSLogic.js +1 -1
- package/lib/VelocityAnimation/VelocityAnimation/__tests__/__snapshots__/VelocityAnimation.spec.js.snap +1 -1
- package/lib/VelocityAnimation/VelocityAnimationGroup/__tests__/__snapshots__/VelocityAnimationGroup.spec.js.snap +1 -1
- package/lib/common/basic.module.css +9 -8
- package/lib/css.js +0 -2
- package/lib/deprecated/Switch/Switch.js +5 -3
- package/lib/semantic/Button/Button.js +3 -1
- package/lib/semantic/Button/__tests__/__snapshots__/Button.spec.js.snap +2 -2
- package/lib/shared/ArrowIcon/__tests__/__snapshots__/ArrowIcon.spec.js.snap +21 -21
- package/lib/shared/InputFieldLine/__tests__/__snapshots__/InputFieldLine.spec.js.snap +20 -20
- package/lib/utils/datetime/common.js +10 -2
- package/lib/v1/Button/Button.js +3 -1
- package/lib/v1/Button/__tests__/__snapshots__/Button.spec.js.snap +9 -9
- package/lib/v1/Label/__tests__/__snapshots__/Label.spec.js.snap +1 -1
- package/lib/v1/Switch/Switch.js +5 -3
- package/lib/v1/Switch/__tests__/__snapshots__/Switch.spec.js.snap +1 -1
- package/lib/v1/shared/Loader/Loader.js +5 -3
- package/lib/v1/shared/Loader/__tests__/__snapshots__/Loader.spec.js.snap +2 -2
- package/lib/v1/shared/SuccessTick/SuccessTick.js +3 -1
- package/lib/v1/shared/SuccessTick/__tests__/__snapshots__/SuccessTick.spec.js.snap +2 -2
- package/package.json +31 -28
- package/ut.config.js +106 -0
- package/es/Layout/Layout.module.css +0 -336
- package/es/Layout/__tests__/Box.spec.js +0 -11
- package/es/Layout/__tests__/Container.spec.js +0 -11
- package/es/Layout/__tests__/__snapshots__/Box.spec.js.snap +0 -16
- package/es/Layout/__tests__/__snapshots__/Container.spec.js.snap +0 -16
- package/es/Layout/utils.js +0 -30
- package/lib/Layout/Layout.module.css +0 -336
- package/lib/Layout/__tests__/Box.spec.js +0 -18
- package/lib/Layout/__tests__/Container.spec.js +0 -18
- package/lib/Layout/__tests__/__snapshots__/Box.spec.js.snap +0 -16
- package/lib/Layout/__tests__/__snapshots__/Container.spec.js.snap +0 -16
- package/lib/Layout/utils.js +0 -59
package/es/Tab/Tabs.js
CHANGED
|
@@ -4,8 +4,10 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
|
|
|
4
4
|
|
|
5
5
|
/* eslint css-modules/no-unused-class: [2, {
|
|
6
6
|
markAsUsed: [
|
|
7
|
-
'hidden','alpha','gamma','beta','delta','special','text','maxWidth','widgetList','menuContainer','border','tabText','block','tabAlpha','alphaActive','gammaActive','betaActive','deltaActive','tabGamma','tabBeta','tabDelta','specialActive','tabSpecial',
|
|
8
|
-
'
|
|
7
|
+
'hidden','alpha','gamma','beta','delta','default','special','text','maxWidth','widgetList','menuContainer','border','tabText','block','tabAlpha','alphaActive','gammaActive','betaActive','deltaActive','tabGamma','tabBeta','tabDelta','specialActive','tabSpecial',
|
|
8
|
+
'alpha_inline','alpha_block','alpha_border','gamma_inline','gamma_block','gamma_border','beta_inline','beta_block','beta_border','delta_inline','delta_block','delta_border','default_inline','default_block','default_border','textContainer','disabled','alphaActive_border','gammaActive_border','betaActive_border','deltaActive_border',
|
|
9
|
+
'defaultMoreButton','defaultMoreButtonActive','defaultMenuListItem',
|
|
10
|
+
'left_borderContainer','right_borderContainer','top_borderContainer','bottom_borderContainer'
|
|
9
11
|
]
|
|
10
12
|
}]
|
|
11
13
|
*/
|
|
@@ -18,13 +20,16 @@ import { remConvert, getTotalDimension, cs, bind, throttle, cancelBubblingEffect
|
|
|
18
20
|
import { Box, Container } from "../Layout";
|
|
19
21
|
import ResizeObserver from "../Responsive/ResizeObserver";
|
|
20
22
|
import ListItem from "../ListItem/ListItem";
|
|
23
|
+
import ListItemWithIcon from "../ListItem/ListItemWithIcon";
|
|
21
24
|
import { Icon } from '@zohodesk/icons';
|
|
25
|
+
import { cn } from "@dot-system/css-utility";
|
|
22
26
|
import tabsStyle from "./Tabs.module.css";
|
|
23
27
|
import Popup from "../Popup/Popup";
|
|
24
28
|
import TextBoxIcon from "../TextBoxIcon/TextBoxIcon";
|
|
25
29
|
import ResponsiveDropBox from "../ResponsiveDropBox/ResponsiveDropBox";
|
|
26
30
|
import { ResponsiveReceiver } from "../Responsive/CustomResponsive";
|
|
27
|
-
import { TAB_DIRECTION_MAPPING, TAB_POPUP_POSITION_MAPPING } from "./utils/tabConfigs";
|
|
31
|
+
import { TAB_DIRECTION_MAPPING, TAB_POPUP_POSITION_MAPPING, BORDER_POSITION_BY_ALIGN, VARIANT } from "./utils/tabConfigs";
|
|
32
|
+
import { renderNode, isRenderable } from '@zohodesk/utils';
|
|
28
33
|
import btnstyle from "../semantic/Button/semanticButton.module.css";
|
|
29
34
|
|
|
30
35
|
class Tabs extends React.Component {
|
|
@@ -107,8 +112,7 @@ class Tabs extends React.Component {
|
|
|
107
112
|
}
|
|
108
113
|
}
|
|
109
114
|
|
|
110
|
-
setMaxDim() {
|
|
111
|
-
let totalDimension = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
|
|
115
|
+
setMaxDim(totalDimension = 0) {
|
|
112
116
|
let {
|
|
113
117
|
selectedTab
|
|
114
118
|
} = this.props; // let actual = Object.keys(tabDimensions).reduce(
|
|
@@ -409,10 +413,9 @@ class Tabs extends React.Component {
|
|
|
409
413
|
togglePopup(e, boxPosition);
|
|
410
414
|
}
|
|
411
415
|
|
|
412
|
-
responsiveFunc(
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
} = _ref;
|
|
416
|
+
responsiveFunc({
|
|
417
|
+
mediaQueryOR
|
|
418
|
+
}) {
|
|
416
419
|
return {
|
|
417
420
|
tabletMode: mediaQueryOR([{
|
|
418
421
|
maxWidth: 700
|
|
@@ -432,10 +435,9 @@ class Tabs extends React.Component {
|
|
|
432
435
|
});
|
|
433
436
|
}
|
|
434
437
|
|
|
435
|
-
getMoreList(
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
} = _ref2;
|
|
438
|
+
getMoreList({
|
|
439
|
+
moreTabs
|
|
440
|
+
}) {
|
|
439
441
|
const validElements = [];
|
|
440
442
|
React.Children.map(moreTabs, child => {
|
|
441
443
|
const isValidElement = /*#__PURE__*/React.isValidElement(child);
|
|
@@ -447,10 +449,9 @@ class Tabs extends React.Component {
|
|
|
447
449
|
return validElements;
|
|
448
450
|
}
|
|
449
451
|
|
|
450
|
-
handleFilterSuggestions(
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
} = _ref3;
|
|
452
|
+
handleFilterSuggestions({
|
|
453
|
+
moreTabs
|
|
454
|
+
}) {
|
|
454
455
|
const {
|
|
455
456
|
showTitleInMoreOptions
|
|
456
457
|
} = this.props;
|
|
@@ -476,15 +477,15 @@ class Tabs extends React.Component {
|
|
|
476
477
|
searchErrorText
|
|
477
478
|
} = this.props;
|
|
478
479
|
return /*#__PURE__*/React.createElement("div", {
|
|
479
|
-
className: tabsStyle.emptyStateContainer
|
|
480
|
+
className: cn(tabsStyle.emptyStateContainer)
|
|
480
481
|
}, /*#__PURE__*/React.createElement(EmptySearch, {
|
|
481
482
|
size: "small"
|
|
482
483
|
}), /*#__PURE__*/React.createElement("div", {
|
|
483
|
-
className: tabsStyle.emptyStateTitle
|
|
484
|
+
className: cn(tabsStyle.emptyStateTitle)
|
|
484
485
|
}, searchErrorText));
|
|
485
486
|
}
|
|
486
487
|
|
|
487
|
-
renderTabs(mainTabs, moreTabs, isVirtual) {
|
|
488
|
+
renderTabs(mainTabs, moreTabs, isVirtual, borderPosition) {
|
|
488
489
|
let {
|
|
489
490
|
selectedTab,
|
|
490
491
|
moreButtonClass,
|
|
@@ -506,6 +507,7 @@ class Tabs extends React.Component {
|
|
|
506
507
|
needTabBorder,
|
|
507
508
|
needAppearance,
|
|
508
509
|
iconSize,
|
|
510
|
+
renderMoreTarget,
|
|
509
511
|
getTargetRef,
|
|
510
512
|
position,
|
|
511
513
|
customProps,
|
|
@@ -534,6 +536,10 @@ class Tabs extends React.Component {
|
|
|
534
536
|
moreTabs
|
|
535
537
|
});
|
|
536
538
|
const hasSearch = moreTabs.length > 4;
|
|
539
|
+
const isDefaultType = type === 'default';
|
|
540
|
+
const defaultMoreClass = isDefaultType ? tabsStyle.defaultMoreButton : '';
|
|
541
|
+
const defaultMoreActiveClass = isDefaultType ? tabsStyle.defaultMoreButtonActive : '';
|
|
542
|
+
const effectiveMenuItemClass = isDefaultType ? `${tabsStyle.defaultMenuListItem}${menuItemClass ? ` ${menuItemClass}` : ''}` : menuItemClass;
|
|
537
543
|
return /*#__PURE__*/React.createElement(React.Fragment, null, React.Children.map(mainTabs, child => {
|
|
538
544
|
if (!child) {
|
|
539
545
|
return null;
|
|
@@ -561,13 +567,14 @@ class Tabs extends React.Component {
|
|
|
561
567
|
needBorder: needTabBorder,
|
|
562
568
|
needAppearance: needAppearance,
|
|
563
569
|
align: align,
|
|
564
|
-
isVirtual: isVirtual
|
|
570
|
+
isVirtual: isVirtual,
|
|
571
|
+
borderPosition: borderPosition
|
|
565
572
|
}, classProps));
|
|
566
573
|
}), React.Children.count(moreTabs) ? /*#__PURE__*/React.createElement(Box, {
|
|
567
574
|
className: `${tabsStyle.menu} `,
|
|
568
575
|
dataSelectorId: `${dataSelectorId}_moreIcon`
|
|
569
576
|
}, /*#__PURE__*/React.createElement(Container, _extends({
|
|
570
|
-
className: `${btnstyle.buttonReset} ${moreButtonClass} ${isPopupOpen ? moreButtonActiveClass : ''}`,
|
|
577
|
+
className: `${btnstyle.buttonReset} ${defaultMoreClass} ${moreButtonClass} ${isPopupOpen ? `${defaultMoreActiveClass} ${moreButtonActiveClass}` : ''}`,
|
|
571
578
|
align: "both",
|
|
572
579
|
onClick: this.togglePopup,
|
|
573
580
|
dataId: "moreTabs",
|
|
@@ -576,72 +583,78 @@ class Tabs extends React.Component {
|
|
|
576
583
|
"aria-label": "MoreTabs",
|
|
577
584
|
role: "link",
|
|
578
585
|
tagName: "button"
|
|
579
|
-
}), /*#__PURE__*/React.createElement(Icon, {
|
|
586
|
+
}), isRenderable(renderMoreTarget) ? renderNode(renderMoreTarget) : /*#__PURE__*/React.createElement(Icon, {
|
|
580
587
|
name: iconName,
|
|
581
588
|
size: iconSize
|
|
582
589
|
})), isPopupOpen && /*#__PURE__*/React.createElement(ResponsiveReceiver, {
|
|
583
590
|
query: this.responsiveFunc,
|
|
584
591
|
responsiveId: "Helmet"
|
|
585
|
-
},
|
|
592
|
+
}, ({
|
|
593
|
+
tabletMode
|
|
594
|
+
}) => /*#__PURE__*/React.createElement(ResponsiveDropBox, _extends({
|
|
595
|
+
isActive: isPopupReady,
|
|
596
|
+
isAnimate: true,
|
|
597
|
+
size: "medium",
|
|
598
|
+
customClass: {
|
|
599
|
+
customDropBoxWrap: `${moreContainerClass} ${popupClass}`
|
|
600
|
+
},
|
|
601
|
+
boxPosition: position,
|
|
602
|
+
getRef: getContainerRef,
|
|
603
|
+
isBoxPaddingNeed: false,
|
|
604
|
+
isArrow: false,
|
|
605
|
+
isAbsolutePositioningNeeded: isAbsolutePositioningNeeded,
|
|
606
|
+
isRestrictScroll: isRestrictScroll,
|
|
607
|
+
positionsOffset: positionsOffset,
|
|
608
|
+
targetOffset: targetOffset
|
|
609
|
+
}, DropBoxProps, {
|
|
610
|
+
isResponsivePadding: true,
|
|
611
|
+
needFocusScope: true,
|
|
612
|
+
dataId: `${dataId}_dropbox`,
|
|
613
|
+
onClick: removeClose,
|
|
614
|
+
onClose: this.togglePopup
|
|
615
|
+
}), getCustomDropBoxHeaderPlaceHolder && getCustomDropBoxHeaderPlaceHolder(this.props), hasSearch ? /*#__PURE__*/React.createElement(Box, {
|
|
616
|
+
className: tabsStyle.search
|
|
617
|
+
}, /*#__PURE__*/React.createElement(TextBoxIcon, _extends({
|
|
618
|
+
placeHolder: placeHolderText,
|
|
619
|
+
onChange: this.handleChange,
|
|
620
|
+
value: searchValue,
|
|
621
|
+
onClear: this.handleSearchValueClear,
|
|
622
|
+
size: searchBoxSize,
|
|
623
|
+
customProps: {
|
|
624
|
+
TextBoxProps: {
|
|
625
|
+
'data-a11y-autofocus': true
|
|
626
|
+
}
|
|
627
|
+
},
|
|
628
|
+
dataId: `${dataId}_search`,
|
|
629
|
+
autoComplete: false,
|
|
630
|
+
name: "search"
|
|
631
|
+
}, TextBoxIconProps))) : null, /*#__PURE__*/React.createElement(Box, {
|
|
632
|
+
flexible: true,
|
|
633
|
+
shrink: true,
|
|
634
|
+
scroll: "vertical",
|
|
635
|
+
className: `${tabsStyle.listWrapper} ${tabletMode ? '' : tabsStyle.menuBox} ${moreBoxClass}`,
|
|
636
|
+
onScroll: this.onScroll,
|
|
637
|
+
dataId: `${dataId}_Tabs`
|
|
638
|
+
}, moreTabsListItems.length ? moreTabsListItems.map(data => {
|
|
586
639
|
let {
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
isResponsivePadding: true,
|
|
606
|
-
needFocusScope: true,
|
|
607
|
-
dataId: `${dataId}_dropbox`,
|
|
608
|
-
onClick: removeClose,
|
|
609
|
-
onClose: this.togglePopup
|
|
610
|
-
}), getCustomDropBoxHeaderPlaceHolder && getCustomDropBoxHeaderPlaceHolder(this.props), hasSearch ? /*#__PURE__*/React.createElement(Box, {
|
|
611
|
-
className: tabsStyle.search
|
|
612
|
-
}, /*#__PURE__*/React.createElement(TextBoxIcon, _extends({
|
|
613
|
-
placeHolder: placeHolderText,
|
|
614
|
-
onChange: this.handleChange,
|
|
615
|
-
value: searchValue,
|
|
616
|
-
onClear: this.handleSearchValueClear,
|
|
617
|
-
size: searchBoxSize,
|
|
618
|
-
customProps: {
|
|
619
|
-
TextBoxProps: {
|
|
620
|
-
'data-a11y-autofocus': true
|
|
621
|
-
}
|
|
622
|
-
},
|
|
623
|
-
dataId: `${dataId}_search`,
|
|
624
|
-
autoComplete: false,
|
|
625
|
-
name: "search"
|
|
626
|
-
}, TextBoxIconProps))) : null, /*#__PURE__*/React.createElement(Box, {
|
|
627
|
-
flexible: true,
|
|
628
|
-
shrink: true,
|
|
629
|
-
scroll: "vertical",
|
|
630
|
-
className: `${tabsStyle.listWrapper} ${tabletMode ? '' : tabsStyle.menuBox} ${moreBoxClass}`,
|
|
631
|
-
onScroll: this.onScroll,
|
|
632
|
-
dataId: `${dataId}_Tabs`
|
|
633
|
-
}, moreTabsListItems.length ? moreTabsListItems.map(data => {
|
|
634
|
-
let {
|
|
635
|
-
text,
|
|
636
|
-
id,
|
|
637
|
-
title,
|
|
638
|
-
isLink,
|
|
639
|
-
href,
|
|
640
|
-
children,
|
|
641
|
-
dataId
|
|
642
|
-
} = data;
|
|
643
|
-
const value = text ? text : showTitleInMoreOptions ? title : null;
|
|
644
|
-
return /*#__PURE__*/React.createElement(ListItem, _extends({
|
|
640
|
+
text,
|
|
641
|
+
id,
|
|
642
|
+
title,
|
|
643
|
+
isLink,
|
|
644
|
+
href,
|
|
645
|
+
children,
|
|
646
|
+
dataId,
|
|
647
|
+
variant,
|
|
648
|
+
iconName,
|
|
649
|
+
iconSize,
|
|
650
|
+
renderBefore,
|
|
651
|
+
renderAfter
|
|
652
|
+
} = data;
|
|
653
|
+
const value = text ? text : showTitleInMoreOptions ? title : null;
|
|
654
|
+
const showIconInDropdown = variant !== VARIANT.TEXT && iconName;
|
|
655
|
+
|
|
656
|
+
if (showIconInDropdown) {
|
|
657
|
+
return /*#__PURE__*/React.createElement(ListItemWithIcon, _extends({
|
|
645
658
|
key: id,
|
|
646
659
|
value: value,
|
|
647
660
|
onClick: this.moreTabSelect,
|
|
@@ -650,14 +663,37 @@ class Tabs extends React.Component {
|
|
|
650
663
|
isLink: isLink,
|
|
651
664
|
href: href,
|
|
652
665
|
autoHover: true,
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
666
|
+
iconName: iconName,
|
|
667
|
+
iconSize: iconSize,
|
|
668
|
+
renderLeftValuePlaceholderNode: renderBefore,
|
|
669
|
+
renderValueRightPlaceholderNode: isRenderable(renderAfter) ? renderAfter : !showTitleInMoreOptions ? children : null,
|
|
670
|
+
customClass: effectiveMenuItemClass,
|
|
671
|
+
customTitleBoxClass: tabsStyle.listItemTitleBox,
|
|
656
672
|
target: "self",
|
|
657
673
|
dataId: `${dataId}_Tab`
|
|
658
|
-
}, ListItemProps)
|
|
659
|
-
}
|
|
660
|
-
|
|
674
|
+
}, ListItemProps));
|
|
675
|
+
}
|
|
676
|
+
|
|
677
|
+
return /*#__PURE__*/React.createElement(ListItem, _extends({
|
|
678
|
+
key: id,
|
|
679
|
+
value: value,
|
|
680
|
+
onClick: this.moreTabSelect,
|
|
681
|
+
id: id,
|
|
682
|
+
title: title || text,
|
|
683
|
+
isLink: isLink,
|
|
684
|
+
href: href,
|
|
685
|
+
autoHover: true,
|
|
686
|
+
renderBeforeChildren: renderBefore,
|
|
687
|
+
renderValueRightPlaceholderNode: isRenderable(renderAfter) ? renderAfter : !showTitleInMoreOptions ? children : null,
|
|
688
|
+
customClass: {
|
|
689
|
+
customListItem: effectiveMenuItemClass,
|
|
690
|
+
customTitleBox: tabsStyle.listItemTitleBox,
|
|
691
|
+
customLeftValuePlaceholder: tabsStyle.listItemLeftValuePlaceholder
|
|
692
|
+
},
|
|
693
|
+
target: "self",
|
|
694
|
+
dataId: `${dataId}_Tab`
|
|
695
|
+
}, ListItemProps));
|
|
696
|
+
}) : this.renderEmptyState())))) : null);
|
|
661
697
|
}
|
|
662
698
|
|
|
663
699
|
render() {
|
|
@@ -672,11 +708,15 @@ class Tabs extends React.Component {
|
|
|
672
708
|
needBorder,
|
|
673
709
|
needPadding,
|
|
674
710
|
align,
|
|
711
|
+
alignBorderPosition,
|
|
675
712
|
needAppearance,
|
|
676
713
|
children,
|
|
677
714
|
containerClass,
|
|
678
|
-
dataSelectorId
|
|
715
|
+
dataSelectorId,
|
|
716
|
+
borderPosition
|
|
679
717
|
} = this.props;
|
|
718
|
+
const effectiveBorderPosition = alignBorderPosition && (needBorder || needTabBorder) ? BORDER_POSITION_BY_ALIGN[align] : borderPosition;
|
|
719
|
+
const isVerticalAlign = TAB_DIRECTION_MAPPING[align] === 'column';
|
|
680
720
|
let {
|
|
681
721
|
totalDimension,
|
|
682
722
|
tabDimensions,
|
|
@@ -687,7 +727,7 @@ class Tabs extends React.Component {
|
|
|
687
727
|
moreTabs,
|
|
688
728
|
otherTabs
|
|
689
729
|
} = this.responsiveTab(totalDimension, tabDimensions);
|
|
690
|
-
let appearanceClass = cs([tabsStyle[type], needBorder && tabsStyle[`${type}_border`], needPadding && tabsStyle[`${type}
|
|
730
|
+
let appearanceClass = cs([tabsStyle[type], needBorder && tabsStyle[`${type}_border`], needBorder && tabsStyle.border, needBorder && effectiveBorderPosition && tabsStyle[`${effectiveBorderPosition}_borderContainer`], needPadding && tabsStyle[`${type}_${isVerticalAlign ? 'block' : 'inline'}`]]);
|
|
691
731
|
let tabsClass = cs([tabsStyle.tab, className, needAppearance && appearanceClass]);
|
|
692
732
|
let hlClass = cs([tabsStyle.highlight, highlightClass, isAnimate && tabsStyle.lineAnimate]);
|
|
693
733
|
return /*#__PURE__*/React.createElement(Box, {
|
|
@@ -703,10 +743,10 @@ class Tabs extends React.Component {
|
|
|
703
743
|
}, renderVirtualTabs && /*#__PURE__*/React.createElement(Container, {
|
|
704
744
|
alignBox: TAB_DIRECTION_MAPPING[align] === 'column' ? 'row' : 'column',
|
|
705
745
|
className: tabsStyle.hidden
|
|
706
|
-
}, this.renderTabs(children, [], true)), /*#__PURE__*/React.createElement(Container, {
|
|
746
|
+
}, this.renderTabs(children, [], true, effectiveBorderPosition)), /*#__PURE__*/React.createElement(Container, {
|
|
707
747
|
alignBox: TAB_DIRECTION_MAPPING[align] === 'column' ? 'row' : 'column'
|
|
708
|
-
}, this.renderTabs(mainTabs, moreTabs, false))), otherTabs.length ? /*#__PURE__*/React.createElement(Box, null, otherTabs) : null, isAnimate && needTabBorder && needAppearance && /*#__PURE__*/React.createElement("div", {
|
|
709
|
-
className: hlClass,
|
|
748
|
+
}, this.renderTabs(mainTabs, moreTabs, false, effectiveBorderPosition))), otherTabs.length ? /*#__PURE__*/React.createElement(Box, null, otherTabs) : null, isAnimate && needTabBorder && needAppearance && /*#__PURE__*/React.createElement("div", {
|
|
749
|
+
className: cn(hlClass),
|
|
710
750
|
ref: this.getHighlightRef,
|
|
711
751
|
"data-id": dataId,
|
|
712
752
|
"data-test-id": dataId
|
package/es/Tab/Tabs.module.css
CHANGED
|
@@ -9,14 +9,16 @@
|
|
|
9
9
|
background-color: var(--zdt_tabs_alpha_bg);
|
|
10
10
|
}
|
|
11
11
|
|
|
12
|
-
.
|
|
13
|
-
|
|
12
|
+
.alpha_inline { padding-block-start: var(--zd_size15) ; }
|
|
13
|
+
.alpha_block { padding-inline-start: var(--zd_size15) ; }
|
|
14
|
+
|
|
15
|
+
.border {
|
|
16
|
+
border-width: 0;
|
|
17
|
+
border-style: solid;
|
|
14
18
|
}
|
|
15
19
|
|
|
16
20
|
.alpha_border {
|
|
17
|
-
border-width: 0 0 1px 0;
|
|
18
21
|
border-color: var(--zdt_tabs_alpha_border);
|
|
19
|
-
border-style: solid;
|
|
20
22
|
}
|
|
21
23
|
|
|
22
24
|
.alpha::after {
|
|
@@ -61,12 +63,11 @@
|
|
|
61
63
|
background-color: var(--zdt_tabs_alpha_bg);
|
|
62
64
|
}
|
|
63
65
|
|
|
64
|
-
.
|
|
65
|
-
|
|
66
|
-
}
|
|
66
|
+
.beta_inline { padding-block-start: var(--zd_size13) ; }
|
|
67
|
+
.beta_block { padding-inline-start: var(--zd_size13) ; }
|
|
67
68
|
|
|
68
69
|
.beta_border {
|
|
69
|
-
border-
|
|
70
|
+
border-color: var(--zdt_tabs_alpha_border);
|
|
70
71
|
}
|
|
71
72
|
|
|
72
73
|
.delta {
|
|
@@ -74,12 +75,55 @@
|
|
|
74
75
|
background-color: var(--zdt_tabs_alpha_bg);
|
|
75
76
|
}
|
|
76
77
|
|
|
77
|
-
.
|
|
78
|
-
|
|
79
|
-
}
|
|
78
|
+
.delta_inline { padding-block-start: var(--zd_size10) ; }
|
|
79
|
+
.delta_block { padding-inline-start: var(--zd_size10) ; }
|
|
80
80
|
|
|
81
81
|
.delta_border {
|
|
82
|
-
border-
|
|
82
|
+
border-color: var(--zdt_tabs_alpha_border);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.default {
|
|
86
|
+
height: var(--zd_size35) ;
|
|
87
|
+
transition: padding var(--zd_transition3);
|
|
88
|
+
z-index: 2;
|
|
89
|
+
background-color: var(--zd-bg-secondary);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
.default_inline { padding-block-start: var(--zd_size10) ; }
|
|
93
|
+
.default_block { padding-inline-start: var(--zd_size10) ; }
|
|
94
|
+
|
|
95
|
+
.default_border {
|
|
96
|
+
border-color: var(--zd-border-primary);
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
.defaultMoreButton {
|
|
100
|
+
max-height: var(--zd_size28) ;
|
|
101
|
+
color: var(--zd-text-secondary);
|
|
102
|
+
padding: var(--zd_size6) ;
|
|
103
|
+
border: 1px solid var(--zd-border-transparent);
|
|
104
|
+
border-radius: 4px;
|
|
105
|
+
margin-top: var(--zd_size3) ;
|
|
106
|
+
cursor: pointer;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
.defaultMoreButton:hover {
|
|
110
|
+
border-color: var(--zdt_rippleeffect_navy_border);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
.defaultMoreButtonActive {
|
|
114
|
+
border-color: var(--zdt_cta_secondary_light_border);
|
|
115
|
+
background: var(--zd-bg-brandLight);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
.defaultMoreButtonActive:hover {
|
|
119
|
+
border-color: var(--zdt_cta_secondary_light_border);
|
|
120
|
+
background: var(--zd-bg-brandLight);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
.defaultMenuListItem {
|
|
124
|
+
font-size: var(--zd_font_size11) ;
|
|
125
|
+
text-transform: uppercase;
|
|
126
|
+
letter-spacing: 0.4px;
|
|
83
127
|
}
|
|
84
128
|
|
|
85
129
|
.delta .highlight {
|
|
@@ -93,7 +137,7 @@
|
|
|
93
137
|
.highlight {
|
|
94
138
|
position: absolute;
|
|
95
139
|
bottom: 0 ;
|
|
96
|
-
border-
|
|
140
|
+
border-block-end: 1px solid var(--zdt_tabs_highlight_border);
|
|
97
141
|
}
|
|
98
142
|
|
|
99
143
|
.lineAnimate {
|
|
@@ -126,7 +170,7 @@
|
|
|
126
170
|
|
|
127
171
|
.search {
|
|
128
172
|
padding-block: var(--zd_size6) 0 ;
|
|
129
|
-
padding-inline:var(--zd_size20) ;
|
|
173
|
+
padding-inline: var(--zd_size20) ;
|
|
130
174
|
}
|
|
131
175
|
|
|
132
176
|
.emptyStateContainer {
|
|
@@ -153,5 +197,30 @@
|
|
|
153
197
|
|
|
154
198
|
.listWrapper {
|
|
155
199
|
padding-block: var(--zd_size10) ;
|
|
156
|
-
padding-inline:0 ;
|
|
200
|
+
padding-inline: 0 ;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
.listItemTitleBox {
|
|
204
|
+
gap: var(--zd_size4) ;
|
|
157
205
|
}
|
|
206
|
+
|
|
207
|
+
.left_borderContainer {
|
|
208
|
+
border-inline-start-width: 1px;
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
.right_borderContainer {
|
|
212
|
+
border-inline-end-width: 1px;
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
.top_borderContainer {
|
|
216
|
+
border-block-start-width: 1px;
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
.bottom_borderContainer {
|
|
220
|
+
border-block-end-width: 1px;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
.listItemLeftValuePlaceholder {
|
|
224
|
+
height: auto ;
|
|
225
|
+
margin: 0 ;
|
|
226
|
+
}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { render } from '@testing-library/react';
|
|
3
3
|
import Tab from "../Tab";
|
|
4
|
+
|
|
5
|
+
const noop = () => {};
|
|
6
|
+
|
|
4
7
|
describe('Tab', () => {
|
|
5
8
|
test('rendering the defult props', () => {
|
|
6
9
|
const {
|
|
@@ -8,4 +11,88 @@ describe('Tab', () => {
|
|
|
8
11
|
} = render( /*#__PURE__*/React.createElement(Tab, null));
|
|
9
12
|
expect(asFragment()).toMatchSnapshot();
|
|
10
13
|
});
|
|
14
|
+
describe('variant-based label rendering', () => {
|
|
15
|
+
test('variant="text" renders text only', () => {
|
|
16
|
+
const {
|
|
17
|
+
asFragment
|
|
18
|
+
} = render( /*#__PURE__*/React.createElement(Tab, {
|
|
19
|
+
id: "t1",
|
|
20
|
+
text: "Home",
|
|
21
|
+
variant: "text",
|
|
22
|
+
onSelect: noop
|
|
23
|
+
}));
|
|
24
|
+
expect(asFragment()).toMatchSnapshot();
|
|
25
|
+
});
|
|
26
|
+
test('variant="icon" renders icon and suppresses text label', () => {
|
|
27
|
+
const {
|
|
28
|
+
asFragment
|
|
29
|
+
} = render( /*#__PURE__*/React.createElement(Tab, {
|
|
30
|
+
id: "t2",
|
|
31
|
+
text: "Home",
|
|
32
|
+
variant: "icon",
|
|
33
|
+
iconName: "ZD-TB-menu",
|
|
34
|
+
onSelect: noop
|
|
35
|
+
}));
|
|
36
|
+
expect(asFragment()).toMatchSnapshot();
|
|
37
|
+
});
|
|
38
|
+
test('variant="iconWithText" renders icon followed by text', () => {
|
|
39
|
+
const {
|
|
40
|
+
asFragment
|
|
41
|
+
} = render( /*#__PURE__*/React.createElement(Tab, {
|
|
42
|
+
id: "t3",
|
|
43
|
+
text: "Home",
|
|
44
|
+
variant: "iconWithText",
|
|
45
|
+
iconName: "ZD-TB-menu",
|
|
46
|
+
onSelect: noop
|
|
47
|
+
}));
|
|
48
|
+
expect(asFragment()).toMatchSnapshot();
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
describe('renderBefore / renderAfter slots', () => {
|
|
52
|
+
test('renderBefore renders a node to the left of the label', () => {
|
|
53
|
+
const {
|
|
54
|
+
asFragment
|
|
55
|
+
} = render( /*#__PURE__*/React.createElement(Tab, {
|
|
56
|
+
id: "t6",
|
|
57
|
+
text: "Home",
|
|
58
|
+
renderBefore: /*#__PURE__*/React.createElement("span", null, "\u25C0"),
|
|
59
|
+
onSelect: noop
|
|
60
|
+
}));
|
|
61
|
+
expect(asFragment()).toMatchSnapshot();
|
|
62
|
+
});
|
|
63
|
+
test('renderAfter renders a node to the right of the label', () => {
|
|
64
|
+
const {
|
|
65
|
+
asFragment
|
|
66
|
+
} = render( /*#__PURE__*/React.createElement(Tab, {
|
|
67
|
+
id: "t7",
|
|
68
|
+
text: "Home",
|
|
69
|
+
renderAfter: /*#__PURE__*/React.createElement("span", null, "3"),
|
|
70
|
+
onSelect: noop
|
|
71
|
+
}));
|
|
72
|
+
expect(asFragment()).toMatchSnapshot();
|
|
73
|
+
});
|
|
74
|
+
test('renderBefore and renderAfter both render around the label', () => {
|
|
75
|
+
const {
|
|
76
|
+
asFragment
|
|
77
|
+
} = render( /*#__PURE__*/React.createElement(Tab, {
|
|
78
|
+
id: "t8",
|
|
79
|
+
text: "Home",
|
|
80
|
+
renderBefore: /*#__PURE__*/React.createElement("span", null, "\u25C0"),
|
|
81
|
+
renderAfter: /*#__PURE__*/React.createElement("span", null, "\u25B6"),
|
|
82
|
+
onSelect: noop
|
|
83
|
+
}));
|
|
84
|
+
expect(asFragment()).toMatchSnapshot();
|
|
85
|
+
});
|
|
86
|
+
test('renderBefore as function renders custom node', () => {
|
|
87
|
+
const {
|
|
88
|
+
asFragment
|
|
89
|
+
} = render( /*#__PURE__*/React.createElement(Tab, {
|
|
90
|
+
id: "t9",
|
|
91
|
+
text: "Home",
|
|
92
|
+
renderBefore: () => /*#__PURE__*/React.createElement("span", null, "\u25C0"),
|
|
93
|
+
onSelect: noop
|
|
94
|
+
}));
|
|
95
|
+
expect(asFragment()).toMatchSnapshot();
|
|
96
|
+
});
|
|
97
|
+
});
|
|
11
98
|
});
|
|
@@ -8,4 +8,15 @@ describe('Tabs', () => {
|
|
|
8
8
|
} = render( /*#__PURE__*/React.createElement(Tabs, null));
|
|
9
9
|
expect(asFragment()).toMatchSnapshot();
|
|
10
10
|
});
|
|
11
|
+
test('renders custom more-button icon via renderMoreTarget', () => {
|
|
12
|
+
const customIcon = /*#__PURE__*/React.createElement("span", {
|
|
13
|
+
"data-testid": "custom-more-icon"
|
|
14
|
+
}, "\u2022\u2022\u2022");
|
|
15
|
+
const {
|
|
16
|
+
asFragment
|
|
17
|
+
} = render( /*#__PURE__*/React.createElement(Tabs, {
|
|
18
|
+
renderMoreTarget: customIcon
|
|
19
|
+
}));
|
|
20
|
+
expect(asFragment()).toMatchSnapshot();
|
|
21
|
+
});
|
|
11
22
|
});
|