@zohodesk/components 1.0.0-temp-253.1 → 1.0.0-temp-252.3

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 CHANGED
@@ -2,6 +2,18 @@
2
2
 
3
3
  Dot UI is a customizable React component library built to deliver a clean, accessible, and developer-friendly UI experience. It offers a growing set of reusable components designed to align with modern design systems and streamline application development across projects.
4
4
 
5
+ # 1.6.14
6
+
7
+ - **Select**
8
+ - Added `renderCustomDropBoxHeader` prop to render a custom node at the top of the dropdown, above the suggestions list.
9
+ - Added `customDropBoxHeader` key under the `customClass` prop to style the custom header wrapper.
10
+
11
+ # 1.6.13
12
+
13
+ - **Tab**
14
+ - `contentAlign` prop supported to control the internal content container's alignment (justify-content). Default value is `both`.
15
+ - `contentAlignBox` prop supported to control the internal content container's flex direction. Default value is `row`.
16
+
5
17
  # 1.6.12
6
18
 
7
19
  - v1/Button/_shared/SuccessTick/SuccessTick.module.css file renamed to SuccessTick_v1.module.css
@@ -258,6 +258,9 @@
258
258
  /* select */
259
259
  --zdt_select_emptystate_text:hsla(217, calc(var(--zd-saturation, 1) * 13.73%), calc(70.00% + var(--zdc_default_inverse)), calc(1 + var(--zdc_alpha_high)));
260
260
  --zdt_select_disable_text:var(--dot_inputDisable);
261
+ --zdt_select_wrapper_container_border:hsla(0, calc(var(--zd-saturation, 1) * 0.00%), calc(100.00% + var(--zdc_default_inverse_low)), calc( 0.2 + var(--zdc_alpha_low)));
262
+ --zdt_select_wrapper_container_bg:hsla(0, calc(var(--zd-saturation, 1) * 0.00%), 100.00%, 0.03);
263
+ --zdt_select_wrapper_dropdown_bg:hsla(217, calc(var(--zd-saturation, 1) * 23.08%), calc(17.84% + var(--zdc_default)), calc(1 + var(--zdc_alpha_high)));
261
264
 
262
265
  /* multiselect */
263
266
  --zdt_multiselect_default_border:var(--dot_inputLine);
@@ -258,6 +258,9 @@
258
258
  /* select */
259
259
  --zdt_select_emptystate_text:hsla(220, calc(var(--zd-saturation, 1) * 10.45%), calc(39.41% + var(--zdc_default_inverse)), calc(1 + var(--zdc_alpha_high)));
260
260
  --zdt_select_disable_text:var(--dot_inputDisable);
261
+ --zdt_select_wrapper_container_border:hsla(218, calc(var(--zd-saturation, 1) * 42.22%), calc(91.18% + var(--zdc_default_inverse_low)), calc(1 + var(--zdc_alpha_low)));
262
+ --zdt_select_wrapper_container_bg:hsla(216, calc(var(--zd-saturation, 1) * 38.46%), 97.45%, 1);
263
+ --zdt_select_wrapper_dropdown_bg:hsla(0, calc(var(--zd-saturation, 1) * 0.00%), calc(100.00% + var(--zdc_default)), calc(1 + var(--zdc_alpha_high)));
261
264
 
262
265
  /* multiselect */
263
266
  --zdt_multiselect_default_border:var(--dot_inputLine);
@@ -258,6 +258,9 @@
258
258
  /* select */
259
259
  --zdt_select_emptystate_text:hsla(0, calc(var(--zd-saturation, 1) * 0.00%), calc(60.00% + var(--zdc_default_inverse)), calc(1 + var(--zdc_alpha_high)));
260
260
  --zdt_select_disable_text:var(--dot_inputDisable);
261
+ --zdt_select_wrapper_container_border:hsla(0, calc(var(--zd-saturation, 1) * 0.00%), calc(100.00% + var(--zdc_default_inverse_low)), calc( 0.2 + var(--zdc_alpha_low)));
262
+ --zdt_select_wrapper_container_bg:hsla(0, calc(var(--zd-saturation, 1) * 0.00%), 100.00%, 0.03);
263
+ --zdt_select_wrapper_dropdown_bg:hsla(0, calc(var(--zd-saturation, 1) * 0.00%), calc(12.94% + var(--zdc_default)), calc(1 + var(--zdc_alpha_high)));
261
264
 
262
265
  /* multiselect */
263
266
  --zdt_multiselect_default_border:var(--dot_inputLine);
@@ -6,7 +6,6 @@ import { positionMapping } from '@zohodesk/dotkit/es/react/components/Popup/util
6
6
  import { DropBoxElementDefaultProps } from "./props/defaultProps";
7
7
  import { DropBoxElementPropTypes } from "./props/propTypes";
8
8
  import { mergeStyle } from '@zohodesk/utils';
9
- import { Container, Box } from "../../Layout";
10
9
  import style from "./css/DropBoxElement.module.css";
11
10
  export default function DropBoxElement(props) {
12
11
  let {
@@ -28,7 +27,6 @@ export default function DropBoxElement(props) {
28
27
  tabIndex,
29
28
  palette,
30
29
  subContainerRef,
31
- getSubContainerRef,
32
30
  customStyle,
33
31
  animationStyle
34
32
  } = props;
@@ -56,14 +54,6 @@ export default function DropBoxElement(props) {
56
54
  }
57
55
  };
58
56
 
59
- const setSubContainerRef = ele => {
60
- if (subContainerRef) {
61
- subContainerRef.current = ele;
62
- }
63
-
64
- getSubContainerRef && getSubContainerRef(ele);
65
- };
66
-
67
57
  if (!isAbsolutePositioningNeeded && size === 'default' && !isActive) {
68
58
  isAbsolute = true;
69
59
  }
@@ -104,14 +94,14 @@ export default function DropBoxElement(props) {
104
94
  isAbsolute
105
95
  }
106
96
  });
107
- return /*#__PURE__*/React.createElement(Container, {
108
- scroll: "none",
97
+ return /*#__PURE__*/React.createElement("div", {
109
98
  className: boxClassName,
110
- dataId: `${dataId}`,
111
- dataSelectorId: dataSelectorId,
112
- eleRef: getRef,
99
+ "data-id": `${dataId}`,
100
+ "data-test-id": `${dataId}`,
101
+ "data-selector-id": dataSelectorId,
102
+ ref: getRef,
113
103
  style: inlineStyle,
114
- tourId: tourId,
104
+ "data-tour": tourId,
115
105
  "data-position": boxPosition,
116
106
  "data-box-direction": boxDirection,
117
107
  "data-arrow-position": arrowPosition,
@@ -123,14 +113,14 @@ export default function DropBoxElement(props) {
123
113
  onAnimationEnd: isAnimate && FireOnAnimationEnd,
124
114
  "data-a11y-focus-main-area": true,
125
115
  "dot-ui-element": "dropbox"
126
- }, /*#__PURE__*/React.createElement(Box, {
127
- flexible: true,
116
+ }, /*#__PURE__*/React.createElement("div", {
128
117
  tabIndex: "-1",
129
118
  className: `${subContainerClass} ${style[`${palette}Palette`]}`,
130
119
  onClick: onClick,
131
- dataId: `${dataId}_subcontainer`,
132
- dataSelectorId: `${dataSelectorId}_subcontainer`,
133
- eleRef: setSubContainerRef
120
+ "data-id": `${dataId}_subcontainer`,
121
+ "data-test-id": `${dataId}_subcontainer`,
122
+ "data-selector-id": `${dataSelectorId}_subcontainer`,
123
+ ref: subContainerRef
134
124
  }, isModel ? /*#__PURE__*/React.createElement("div", {
135
125
  className: style.closeBar
136
126
  }) : null, isArrow && !isModel && /*#__PURE__*/React.createElement("div", {
@@ -13,8 +13,6 @@
13
13
 
14
14
  .subContainer {
15
15
  position: relative;
16
- display: flex;
17
- flex-direction: column;
18
16
  border-radius: var(--dropbox_border_radius);
19
17
  padding: var(--dropbox_padding);
20
18
  box-shadow: var(--dropbox_box_shadow);
@@ -432,8 +430,8 @@
432
430
  height: 6px;
433
431
  /*css:theme-validation:ignore*/
434
432
  width: 20% ;
435
- margin-block: 0 var(--zd_size10) ;
436
- margin-inline: auto ;
433
+ margin-block:0 var(--zd_size10) ;
434
+ margin-inline:auto ;
437
435
  border-radius: 5px;
438
436
  background-color: var(--dropbox_mob_close_bg_color);
439
437
  cursor: pointer;
@@ -445,4 +443,4 @@
445
443
 
446
444
  .darkPalette {
447
445
  --dropbox_bg_color: var(--zdt_dropbox_dark_bg);
448
- }
446
+ }
@@ -47,6 +47,5 @@ export const DropBoxElementPropTypes = {
47
47
  positionsOffset: PropTypes.object,
48
48
  targetOffset: PropTypes.object,
49
49
  zIndexStyle: PropTypes.object,
50
- subContainerRef: PropTypes.func,
51
- getSubContainerRef: PropTypes.func
50
+ subContainerRef: PropTypes.func
52
51
  };
@@ -4,7 +4,7 @@ import React, { Component } from 'react';
4
4
  import { defaultProps } from "./props/defaultProps";
5
5
  import { propTypes } from "./props/propTypes";
6
6
  import DropBox from "../DropBox/DropBox";
7
- import { Box } from "../Layout";
7
+ import { Container } from "../Layout";
8
8
  import { ResponsiveReceiver } from "../Responsive/CustomResponsive";
9
9
  import style from "./ResponsiveDropBox.module.css";
10
10
  export default class ResponsiveDropBox extends Component {
@@ -28,7 +28,8 @@ export default class ResponsiveDropBox extends Component {
28
28
  const {
29
29
  children,
30
30
  customClass = {},
31
- isResponsivePadding
31
+ isResponsivePadding,
32
+ alignBox
32
33
  } = this.props;
33
34
  const {
34
35
  customDropBox = '',
@@ -53,10 +54,10 @@ export default class ResponsiveDropBox extends Component {
53
54
  let {
54
55
  tabletMode
55
56
  } = _ref2;
56
- return /*#__PURE__*/React.createElement(Box, {
57
- flexible: true,
58
- shrink: true,
59
- className: `${tabletMode ? style.dropBoxContainer : ''} ${tabletMode && isResponsivePadding ? style.boxPadding : ''}`
57
+ return /*#__PURE__*/React.createElement(Container, {
58
+ alignBox: alignBox,
59
+ isCover: false,
60
+ className: `${tabletMode ? style.dropBoxContainer : ''} ${tabletMode && isResponsivePadding ? style.boxPadding : ''} ${customResponsiveContainer}`
60
61
  }, children);
61
62
  }));
62
63
  }
@@ -813,7 +813,8 @@ export class SelectComponent extends Component {
813
813
  renderCustomSearchClearComponent,
814
814
  renderCustomSelectedValue,
815
815
  inputFieldLineA11y,
816
- customClass
816
+ customClass,
817
+ renderCustomDropBoxHeader
817
818
  } = this.props;
818
819
  let {
819
820
  TextBoxIcon_i18n,
@@ -844,7 +845,8 @@ export class SelectComponent extends Component {
844
845
  } = customProps;
845
846
  const {
846
847
  dropBox: dropBoxClass = '',
847
- cardContent: cardContentClass = ''
848
+ cardContent: cardContentClass = '',
849
+ customDropBoxHeader: customDropBoxHeaderClass = ''
848
850
  } = customClass;
849
851
  const inputFieldLineA11yAttributes = this.getInputFieldLineA11y({
850
852
  setAriaId,
@@ -1021,81 +1023,92 @@ export class SelectComponent extends Component {
1021
1023
  isRestrictScroll: isRestrictScroll,
1022
1024
  portalId: dropBoxPortalId,
1023
1025
  customClass: {
1024
- customDropBox: dropBoxClass
1026
+ customDropBox: `${dropBoxClass} ${renderCustomDropBoxHeader ? style.dropBoxWithCustomHeader : ''}`
1025
1027
  }
1026
- }, isLoading ? /*#__PURE__*/React.createElement(Container, {
1027
- align: "both",
1028
- className: style.loader
1029
- }, /*#__PURE__*/React.createElement(Loader, null)) : /*#__PURE__*/React.createElement(React.Fragment, null, !getChildren ? /*#__PURE__*/React.createElement(Box, {
1030
- flexible: true
1031
- }, /*#__PURE__*/React.createElement(Card, {
1032
- onScroll: this.handleScroll
1033
- }, needSearch ? /*#__PURE__*/React.createElement(CardHeader, null, /*#__PURE__*/React.createElement("div", {
1034
- className: `${style.search} ${style[size]}`
1035
- }, /*#__PURE__*/React.createElement(TextBoxIcon, {
1036
- a11y: {
1037
- ariaControls: setAriaId,
1038
- ariaAutocomplete: 'list',
1039
- ariaDescribedby: ariaErrorId
1040
- },
1041
- inputRef: this.searchInputRef,
1042
- maxLength: maxLength,
1043
- onChange: this.handleSearch,
1044
- onKeyDown: this.handleKeyDown,
1045
- placeHolder: searchBoxPlaceHolder,
1046
- size: searchBoxSize,
1047
- value: searchStr,
1048
- onClear: this.handleClearSearch,
1049
- dataId: `${dataId}_search`,
1050
- i18nKeys: TextBoxIcon_i18n,
1051
- autoComplete: autoComplete,
1052
- customProps: {
1053
- TextBoxProps: DropdownSearchTextBoxProps
1054
- },
1055
- renderCustomClearComponent: renderCustomSearchClearComponent
1056
- }))) : null, /*#__PURE__*/React.createElement(CardContent, {
1057
- shrink: true,
1058
- customClass: `
1028
+ }, (() => {
1029
+ const dropdownContent = isLoading ? /*#__PURE__*/React.createElement(Container, {
1030
+ align: "both",
1031
+ className: style.loader
1032
+ }, /*#__PURE__*/React.createElement(Loader, null)) : /*#__PURE__*/React.createElement(React.Fragment, null, !getChildren ? /*#__PURE__*/React.createElement(Box, {
1033
+ flexible: true
1034
+ }, /*#__PURE__*/React.createElement(Card, {
1035
+ onScroll: this.handleScroll
1036
+ }, needSearch ? /*#__PURE__*/React.createElement(CardHeader, null, /*#__PURE__*/React.createElement("div", {
1037
+ className: `${style.search} ${style[size]}`
1038
+ }, /*#__PURE__*/React.createElement(TextBoxIcon, {
1039
+ a11y: {
1040
+ ariaControls: setAriaId,
1041
+ ariaAutocomplete: 'list',
1042
+ ariaDescribedby: ariaErrorId
1043
+ },
1044
+ inputRef: this.searchInputRef,
1045
+ maxLength: maxLength,
1046
+ onChange: this.handleSearch,
1047
+ onKeyDown: this.handleKeyDown,
1048
+ placeHolder: searchBoxPlaceHolder,
1049
+ size: searchBoxSize,
1050
+ value: searchStr,
1051
+ onClear: this.handleClearSearch,
1052
+ dataId: `${dataId}_search`,
1053
+ i18nKeys: TextBoxIcon_i18n,
1054
+ autoComplete: autoComplete,
1055
+ customProps: {
1056
+ TextBoxProps: DropdownSearchTextBoxProps
1057
+ },
1058
+ renderCustomClearComponent: renderCustomSearchClearComponent
1059
+ }))) : null, /*#__PURE__*/React.createElement(CardContent, {
1060
+ shrink: true,
1061
+ customClass: `
1059
1062
  ${!tabletMode && dropBoxSize ? style[dropBoxSize] : ''} ${cardContentClass}`,
1060
- eleRef: this.suggestionContainerRef
1061
- }, suggestions.length ? /*#__PURE__*/React.createElement(Suggestions, _extends({
1062
- key: searchStr.trim(),
1063
- activeId: selectedId,
1064
- isVirtualizerEnabled: isVirtualizerEnabled,
1065
- getVirtualizerPublicMethods: this.getVirtualizerPublicMethods,
1066
- setVirtualizerContainerRefFunction: this.setSuggestionsVirtualizerContainerRefFunction,
1067
- suggestions: suggestions,
1068
- getRef: this.suggestionItemRef,
1069
- hoverOption: hoverIndex,
1070
- onClick: this.handleChange,
1071
- onMouseEnter: this.handleMouseEnter,
1072
- dataId: `${dataId}_Options`,
1073
- needTick: needTick,
1074
- needBorder: needListBorder,
1075
- selectedOptions: [selectedId],
1076
- className: `${tabletMode ? style.responsivelistItemContainer : style.listItemContainer}`,
1077
- listItemSize: listItemSize,
1078
- htmlId: setAriaId,
1079
- a11y: {
1080
- ariaParentRole: 'listbox',
1081
- role: 'option'
1082
- }
1083
- }, SuggestionsProps)) : /*#__PURE__*/React.createElement(EmptyState, {
1084
- isLoading: isFetchingOptions,
1085
- options: options,
1086
- searchString: searchStr,
1087
- suggestions: suggestions,
1088
- dataId: dataId,
1089
- renderCustomEmptyState: renderCustomEmptyState,
1090
- getCustomEmptyState: getCustomEmptyState ? this.handleGetAddNewOptionText : null,
1091
- i18nKeys: i18nKeys,
1092
- htmlId: ariaErrorId
1093
- }), isFetchingOptions && /*#__PURE__*/React.createElement(Container, {
1094
- isCover: false,
1095
- align: "both"
1096
- }, /*#__PURE__*/React.createElement(Loader, null))), getFooter ? /*#__PURE__*/React.createElement(CardFooter, null, getFooter()) : null)) : /*#__PURE__*/React.createElement(Box, {
1097
- flexible: true
1098
- }, getChildren())));
1063
+ eleRef: this.suggestionContainerRef
1064
+ }, suggestions.length ? /*#__PURE__*/React.createElement(Suggestions, _extends({
1065
+ key: searchStr.trim(),
1066
+ activeId: selectedId,
1067
+ isVirtualizerEnabled: isVirtualizerEnabled,
1068
+ getVirtualizerPublicMethods: this.getVirtualizerPublicMethods,
1069
+ setVirtualizerContainerRefFunction: this.setSuggestionsVirtualizerContainerRefFunction,
1070
+ suggestions: suggestions,
1071
+ getRef: this.suggestionItemRef,
1072
+ hoverOption: hoverIndex,
1073
+ onClick: this.handleChange,
1074
+ onMouseEnter: this.handleMouseEnter,
1075
+ dataId: `${dataId}_Options`,
1076
+ needTick: needTick,
1077
+ needBorder: needListBorder,
1078
+ selectedOptions: [selectedId],
1079
+ className: `${tabletMode ? style.responsivelistItemContainer : style.listItemContainer}`,
1080
+ listItemSize: listItemSize,
1081
+ htmlId: setAriaId,
1082
+ a11y: {
1083
+ ariaParentRole: 'listbox',
1084
+ role: 'option'
1085
+ }
1086
+ }, SuggestionsProps)) : /*#__PURE__*/React.createElement(EmptyState, {
1087
+ isLoading: isFetchingOptions,
1088
+ options: options,
1089
+ searchString: searchStr,
1090
+ suggestions: suggestions,
1091
+ dataId: dataId,
1092
+ renderCustomEmptyState: renderCustomEmptyState,
1093
+ getCustomEmptyState: getCustomEmptyState ? this.handleGetAddNewOptionText : null,
1094
+ i18nKeys: i18nKeys,
1095
+ htmlId: ariaErrorId
1096
+ }), isFetchingOptions && /*#__PURE__*/React.createElement(Container, {
1097
+ isCover: false,
1098
+ align: "both"
1099
+ }, /*#__PURE__*/React.createElement(Loader, null))), getFooter ? /*#__PURE__*/React.createElement(CardFooter, null, getFooter()) : null)) : /*#__PURE__*/React.createElement(Box, {
1100
+ flexible: true
1101
+ }, getChildren()));
1102
+ return renderCustomDropBoxHeader ? /*#__PURE__*/React.createElement("div", {
1103
+ className: style.dropBoxListContainer
1104
+ }, /*#__PURE__*/React.createElement("div", {
1105
+ className: `${customDropBoxHeaderClass} ${style.customDropBoxHeaderContainer}`
1106
+ }, renderNode(renderCustomDropBoxHeader, {
1107
+ closePopup: this.handlePopupClose
1108
+ })), /*#__PURE__*/React.createElement("div", {
1109
+ className: style.dropdownOptions
1110
+ }, dropdownContent)) : dropdownContent;
1111
+ })());
1099
1112
  }) : null);
1100
1113
  }
1101
1114
 
@@ -22,12 +22,12 @@
22
22
 
23
23
  .box_small .emptyState {
24
24
  padding-block: var(--zd_size12) ;
25
- padding-inline:var(--zd_size6) ;
25
+ padding-inline: var(--zd_size6) ;
26
26
  }
27
27
 
28
28
  .box_medium .emptyState {
29
29
  padding-block: var(--zd_size12) ;
30
- padding-inline:var(--zd_size15) ;
30
+ padding-inline: var(--zd_size15) ;
31
31
  }
32
32
 
33
33
  .hide {
@@ -45,12 +45,12 @@
45
45
 
46
46
  .small.search {
47
47
  padding-block: 0 ;
48
- padding-inline:var(--zd_size5) ;
48
+ padding-inline: var(--zd_size5) ;
49
49
  }
50
50
 
51
51
  .medium.search {
52
52
  padding-block: var(--zd_size3) 0 ;
53
- padding-inline:var(--zd_size20) ;
53
+ padding-inline: var(--zd_size20) ;
54
54
  }
55
55
 
56
56
  .title {
@@ -59,17 +59,17 @@
59
59
 
60
60
  .groupTitle {
61
61
  margin-block: var(--zd_size6) ;
62
- margin-inline:0 ;
62
+ margin-inline: 0 ;
63
63
  }
64
64
 
65
65
  .listItemContainer {
66
66
  padding-block: var(--zd_size10) ;
67
- padding-inline:0 ;
67
+ padding-inline: 0 ;
68
68
  }
69
69
 
70
70
  .responsivelistItemContainer {
71
71
  padding-block: var(--zd_size10) 0 ;
72
- padding-inline:0 ;
72
+ padding-inline: 0 ;
73
73
  }
74
74
 
75
75
  .readonly {
@@ -111,18 +111,19 @@
111
111
 
112
112
  .dropBoxList {
113
113
  padding-block: var(--zd_size10) ;
114
- padding-inline:0 ;
114
+ padding-inline: 0 ;
115
115
  }
116
116
 
117
117
  .responsivedropBoxList {
118
118
  padding-block: var(--zd_size10) 0 ;
119
- padding-inline:0 ;
119
+ padding-inline: 0 ;
120
120
  }
121
121
 
122
122
  .rotate {
123
123
  transform: rotateX(180deg);
124
124
  }
125
- .rightPlaceholder{
125
+
126
+ .rightPlaceholder {
126
127
  height: 100% ;
127
128
  }
128
129
 
@@ -141,3 +142,29 @@
141
142
  .loader {
142
143
  padding: var(--zd_size10) ;
143
144
  }
145
+
146
+ .dropBoxWithCustomHeader {
147
+ border-radius: 7px;
148
+ }
149
+
150
+ .dropBoxListContainer {
151
+ width: 100% ;
152
+ border-radius: 7px;
153
+ padding: var(--zd_size10) ;
154
+ border: 1px solid var(--zdt_select_wrapper_container_border);
155
+ background: var(--zdt_select_wrapper_container_bg);
156
+ box-shadow: var(--zd_bs_statusdropdown_wrapper_container);
157
+ }
158
+
159
+ .dropdownOptions {
160
+ padding-inline: var(--zd_size1) ;
161
+ padding-block: var(--zd_size1) ;
162
+ background-color: var(--zdt_select_wrapper_dropdown_bg);
163
+ border: 1px solid var(--zdt_select_wrapper_container_border);
164
+ border-radius: 7px;
165
+ }
166
+
167
+ .customDropBoxHeaderContainer {
168
+ margin-block-end: var(--zd_size6) ;
169
+ margin-inline: var(--zd_size1) ;
170
+ }
@@ -38,7 +38,8 @@ export const Select_defaultProps = {
38
38
  isAbsolutePositioningNeeded: true,
39
39
  allowValueFallback: true,
40
40
  inputFieldLineA11y: {},
41
- customClass: {}
41
+ customClass: {},
42
+ renderCustomDropBoxHeader: null
42
43
  };
43
44
  export const GroupSelect_defaultProps = {
44
45
  animationStyle: 'bounce',
@@ -107,8 +107,10 @@ export const Select_propTypes = {
107
107
  inputFieldLineA11y: PropTypes.object,
108
108
  customClass: PropTypes.shape({
109
109
  dropBox: PropTypes.string,
110
- cardContent: PropTypes.string
111
- })
110
+ cardContent: PropTypes.string,
111
+ customDropBoxHeader: PropTypes.string
112
+ }),
113
+ renderCustomDropBoxHeader: PropTypes.oneOfType([PropTypes.func, PropTypes.node])
112
114
  };
113
115
  export const GroupSelect_propTypes = {
114
116
  groupedOptions: PropTypes.arrayOf(PropTypes.shape({
package/es/Tab/Tab.js CHANGED
@@ -50,6 +50,8 @@ export default function Tab(_ref) {
50
50
  needAppearance,
51
51
  align,
52
52
  isVirtual,
53
+ contentAlign,
54
+ contentAlignBox,
53
55
  customProps
54
56
  } = _ref;
55
57
  let clickListener = useCallback(event => {
@@ -91,8 +93,8 @@ export default function Tab(_ref) {
91
93
  "aria-label": text ? text : null,
92
94
  dataSelectorId: dataSelectorId
93
95
  }, customProps), /*#__PURE__*/React.createElement(Container, {
94
- alignBox: "row",
95
- align: "both",
96
+ alignBox: contentAlignBox,
97
+ align: contentAlign,
96
98
  className: styles.textContainer
97
99
  }, text && /*#__PURE__*/React.createElement(Box, {
98
100
  flexible: true,
@@ -1,5 +1,7 @@
1
1
  export const Tab_defaultProps = {
2
2
  dataId: 'tabMenu',
3
+ contentAlign: 'both',
4
+ contentAlignBox: 'row',
3
5
  customProps: {},
4
6
  dataSelectorId: 'tab'
5
7
  };
@@ -22,6 +22,8 @@ export const Tab_propTypes = {
22
22
  titlePosition: PropTypes.oneOf(['top', 'bottom', 'right', 'left']),
23
23
  tourId: PropTypes.string,
24
24
  type: PropTypes.string,
25
+ contentAlign: PropTypes.oneOf(['both', 'left', 'right', 'vertical', 'horizontal', 'top', 'bottom', 'between', 'around', 'baseline']),
26
+ contentAlignBox: PropTypes.oneOf(['row', 'column', 'row-reverse', 'column-reverse']),
25
27
  customProps: PropTypes.object,
26
28
  isVirtual: PropTypes.bool,
27
29
  dataSelectorId: PropTypes.string
@@ -19,8 +19,6 @@ var _propTypes = require("./props/propTypes");
19
19
 
20
20
  var _utils = require("@zohodesk/utils");
21
21
 
22
- var _Layout = require("../../Layout");
23
-
24
22
  var _DropBoxElementModule = _interopRequireDefault(require("./css/DropBoxElement.module.css"));
25
23
 
26
24
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
@@ -45,7 +43,6 @@ function DropBoxElement(props) {
45
43
  tabIndex = props.tabIndex,
46
44
  palette = props.palette,
47
45
  subContainerRef = props.subContainerRef,
48
- getSubContainerRef = props.getSubContainerRef,
49
46
  customStyle = props.customStyle,
50
47
  animationStyle = props.animationStyle;
51
48
  var isAbsolute = isAbsolutePositioningNeeded;
@@ -70,14 +67,6 @@ function DropBoxElement(props) {
70
67
  }
71
68
  };
72
69
 
73
- var setSubContainerRef = function setSubContainerRef(ele) {
74
- if (subContainerRef) {
75
- subContainerRef.current = ele;
76
- }
77
-
78
- getSubContainerRef && getSubContainerRef(ele);
79
- };
80
-
81
70
  if (!isAbsolutePositioningNeeded && size === 'default' && !isActive) {
82
71
  isAbsolute = true;
83
72
  }
@@ -117,14 +106,14 @@ function DropBoxElement(props) {
117
106
  subContainerClass = _cssJSLogic.subContainerClass,
118
107
  inlineStyle = _cssJSLogic.inlineStyle;
119
108
 
120
- return /*#__PURE__*/_react["default"].createElement(_Layout.Container, {
121
- scroll: "none",
109
+ return /*#__PURE__*/_react["default"].createElement("div", {
122
110
  className: boxClassName,
123
- dataId: "".concat(dataId),
124
- dataSelectorId: dataSelectorId,
125
- eleRef: getRef,
111
+ "data-id": "".concat(dataId),
112
+ "data-test-id": "".concat(dataId),
113
+ "data-selector-id": dataSelectorId,
114
+ ref: getRef,
126
115
  style: inlineStyle,
127
- tourId: tourId,
116
+ "data-tour": tourId,
128
117
  "data-position": boxPosition,
129
118
  "data-box-direction": boxDirection,
130
119
  "data-arrow-position": arrowPosition,
@@ -136,14 +125,14 @@ function DropBoxElement(props) {
136
125
  onAnimationEnd: isAnimate && FireOnAnimationEnd,
137
126
  "data-a11y-focus-main-area": true,
138
127
  "dot-ui-element": "dropbox"
139
- }, /*#__PURE__*/_react["default"].createElement(_Layout.Box, {
140
- flexible: true,
128
+ }, /*#__PURE__*/_react["default"].createElement("div", {
141
129
  tabIndex: "-1",
142
130
  className: "".concat(subContainerClass, " ").concat(_DropBoxElementModule["default"]["".concat(palette, "Palette")]),
143
131
  onClick: onClick,
144
- dataId: "".concat(dataId, "_subcontainer"),
145
- dataSelectorId: "".concat(dataSelectorId, "_subcontainer"),
146
- eleRef: setSubContainerRef
132
+ "data-id": "".concat(dataId, "_subcontainer"),
133
+ "data-test-id": "".concat(dataId, "_subcontainer"),
134
+ "data-selector-id": "".concat(dataSelectorId, "_subcontainer"),
135
+ ref: subContainerRef
147
136
  }, isModel ? /*#__PURE__*/_react["default"].createElement("div", {
148
137
  className: _DropBoxElementModule["default"].closeBar
149
138
  }) : null, isArrow && !isModel && /*#__PURE__*/_react["default"].createElement("div", {
@@ -13,8 +13,6 @@
13
13
 
14
14
  .subContainer {
15
15
  position: relative;
16
- display: flex;
17
- flex-direction: column;
18
16
  border-radius: var(--dropbox_border_radius);
19
17
  padding: var(--dropbox_padding);
20
18
  box-shadow: var(--dropbox_box_shadow);
@@ -432,8 +430,8 @@
432
430
  height: 6px;
433
431
  /*css:theme-validation:ignore*/
434
432
  width: 20% ;
435
- margin-block: 0 var(--zd_size10) ;
436
- margin-inline: auto ;
433
+ margin-block:0 var(--zd_size10) ;
434
+ margin-inline:auto ;
437
435
  border-radius: 5px;
438
436
  background-color: var(--dropbox_mob_close_bg_color);
439
437
  cursor: pointer;
@@ -445,4 +443,4 @@
445
443
 
446
444
  .darkPalette {
447
445
  --dropbox_bg_color: var(--zdt_dropbox_dark_bg);
448
- }
446
+ }
@@ -57,7 +57,6 @@ var DropBoxElementPropTypes = {
57
57
  positionsOffset: _propTypes["default"].object,
58
58
  targetOffset: _propTypes["default"].object,
59
59
  zIndexStyle: _propTypes["default"].object,
60
- subContainerRef: _propTypes["default"].func,
61
- getSubContainerRef: _propTypes["default"].func
60
+ subContainerRef: _propTypes["default"].func
62
61
  };
63
62
  exports.DropBoxElementPropTypes = DropBoxElementPropTypes;
@@ -81,7 +81,8 @@ var ResponsiveDropBox = /*#__PURE__*/function (_Component) {
81
81
  children = _this$props.children,
82
82
  _this$props$customCla = _this$props.customClass,
83
83
  customClass = _this$props$customCla === void 0 ? {} : _this$props$customCla,
84
- isResponsivePadding = _this$props.isResponsivePadding;
84
+ isResponsivePadding = _this$props.isResponsivePadding,
85
+ alignBox = _this$props.alignBox;
85
86
  var _customClass$customDr = customClass.customDropBox,
86
87
  customDropBox = _customClass$customDr === void 0 ? '' : _customClass$customDr,
87
88
  _customClass$customMo = customClass.customMobileDropBox,
@@ -106,10 +107,10 @@ var ResponsiveDropBox = /*#__PURE__*/function (_Component) {
106
107
  responsiveId: "Helmet"
107
108
  }, function (_ref2) {
108
109
  var tabletMode = _ref2.tabletMode;
109
- return /*#__PURE__*/_react["default"].createElement(_Layout.Box, {
110
- flexible: true,
111
- shrink: true,
112
- className: "".concat(tabletMode ? _ResponsiveDropBoxModule["default"].dropBoxContainer : '', " ").concat(tabletMode && isResponsivePadding ? _ResponsiveDropBoxModule["default"].boxPadding : '')
110
+ return /*#__PURE__*/_react["default"].createElement(_Layout.Container, {
111
+ alignBox: alignBox,
112
+ isCover: false,
113
+ className: "".concat(tabletMode ? _ResponsiveDropBoxModule["default"].dropBoxContainer : '', " ").concat(tabletMode && isResponsivePadding ? _ResponsiveDropBoxModule["default"].boxPadding : '', " ").concat(customResponsiveContainer)
113
114
  }, children);
114
115
  }));
115
116
  }
@@ -860,7 +860,8 @@ var SelectComponent = /*#__PURE__*/function (_Component) {
860
860
  renderCustomSearchClearComponent = _this$props11.renderCustomSearchClearComponent,
861
861
  renderCustomSelectedValue = _this$props11.renderCustomSelectedValue,
862
862
  inputFieldLineA11y = _this$props11.inputFieldLineA11y,
863
- customClass = _this$props11.customClass;
863
+ customClass = _this$props11.customClass,
864
+ renderCustomDropBoxHeader = _this$props11.renderCustomDropBoxHeader;
864
865
  var _i18nKeys = i18nKeys,
865
866
  TextBoxIcon_i18n = _i18nKeys.TextBoxIcon_i18n,
866
867
  _i18nKeys$TextBox_all = _i18nKeys.TextBox_ally_label,
@@ -893,7 +894,9 @@ var SelectComponent = /*#__PURE__*/function (_Component) {
893
894
  var _customClass$dropBox = customClass.dropBox,
894
895
  dropBoxClass = _customClass$dropBox === void 0 ? '' : _customClass$dropBox,
895
896
  _customClass$cardCont = customClass.cardContent,
896
- cardContentClass = _customClass$cardCont === void 0 ? '' : _customClass$cardCont;
897
+ cardContentClass = _customClass$cardCont === void 0 ? '' : _customClass$cardCont,
898
+ _customClass$customDr = customClass.customDropBoxHeader,
899
+ customDropBoxHeaderClass = _customClass$customDr === void 0 ? '' : _customClass$customDr;
897
900
  var inputFieldLineA11yAttributes = this.getInputFieldLineA11y({
898
901
  setAriaId: setAriaId,
899
902
  isReadOnly: isReadOnly,
@@ -1065,80 +1068,91 @@ var SelectComponent = /*#__PURE__*/function (_Component) {
1065
1068
  isRestrictScroll: isRestrictScroll,
1066
1069
  portalId: dropBoxPortalId,
1067
1070
  customClass: {
1068
- customDropBox: dropBoxClass
1071
+ customDropBox: "".concat(dropBoxClass, " ").concat(renderCustomDropBoxHeader ? _SelectModule["default"].dropBoxWithCustomHeader : '')
1069
1072
  }
1070
- }, isLoading ? /*#__PURE__*/_react["default"].createElement(_Layout.Container, {
1071
- align: "both",
1072
- className: _SelectModule["default"].loader
1073
- }, /*#__PURE__*/_react["default"].createElement(_Loader["default"], null)) : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, !getChildren ? /*#__PURE__*/_react["default"].createElement(_Layout.Box, {
1074
- flexible: true
1075
- }, /*#__PURE__*/_react["default"].createElement(_Card["default"], {
1076
- onScroll: _this7.handleScroll
1077
- }, needSearch ? /*#__PURE__*/_react["default"].createElement(_Card.CardHeader, null, /*#__PURE__*/_react["default"].createElement("div", {
1078
- className: "".concat(_SelectModule["default"].search, " ").concat(_SelectModule["default"][size])
1079
- }, /*#__PURE__*/_react["default"].createElement(_TextBoxIcon["default"], {
1080
- a11y: {
1081
- ariaControls: setAriaId,
1082
- ariaAutocomplete: 'list',
1083
- ariaDescribedby: ariaErrorId
1084
- },
1085
- inputRef: _this7.searchInputRef,
1086
- maxLength: maxLength,
1087
- onChange: _this7.handleSearch,
1088
- onKeyDown: _this7.handleKeyDown,
1089
- placeHolder: searchBoxPlaceHolder,
1090
- size: searchBoxSize,
1091
- value: searchStr,
1092
- onClear: _this7.handleClearSearch,
1093
- dataId: "".concat(dataId, "_search"),
1094
- i18nKeys: TextBoxIcon_i18n,
1095
- autoComplete: autoComplete,
1096
- customProps: {
1097
- TextBoxProps: DropdownSearchTextBoxProps
1098
- },
1099
- renderCustomClearComponent: renderCustomSearchClearComponent
1100
- }))) : null, /*#__PURE__*/_react["default"].createElement(_Card.CardContent, {
1101
- shrink: true,
1102
- customClass: "\n ".concat(!tabletMode && dropBoxSize ? _SelectModule["default"][dropBoxSize] : '', " ").concat(cardContentClass),
1103
- eleRef: _this7.suggestionContainerRef
1104
- }, suggestions.length ? /*#__PURE__*/_react["default"].createElement(_Suggestions["default"], _extends({
1105
- key: searchStr.trim(),
1106
- activeId: selectedId,
1107
- isVirtualizerEnabled: isVirtualizerEnabled,
1108
- getVirtualizerPublicMethods: _this7.getVirtualizerPublicMethods,
1109
- setVirtualizerContainerRefFunction: _this7.setSuggestionsVirtualizerContainerRefFunction,
1110
- suggestions: suggestions,
1111
- getRef: _this7.suggestionItemRef,
1112
- hoverOption: hoverIndex,
1113
- onClick: _this7.handleChange,
1114
- onMouseEnter: _this7.handleMouseEnter,
1115
- dataId: "".concat(dataId, "_Options"),
1116
- needTick: needTick,
1117
- needBorder: needListBorder,
1118
- selectedOptions: [selectedId],
1119
- className: "".concat(tabletMode ? _SelectModule["default"].responsivelistItemContainer : _SelectModule["default"].listItemContainer),
1120
- listItemSize: listItemSize,
1121
- htmlId: setAriaId,
1122
- a11y: {
1123
- ariaParentRole: 'listbox',
1124
- role: 'option'
1125
- }
1126
- }, SuggestionsProps)) : /*#__PURE__*/_react["default"].createElement(_EmptyState["default"], {
1127
- isLoading: isFetchingOptions,
1128
- options: options,
1129
- searchString: searchStr,
1130
- suggestions: suggestions,
1131
- dataId: dataId,
1132
- renderCustomEmptyState: renderCustomEmptyState,
1133
- getCustomEmptyState: getCustomEmptyState ? _this7.handleGetAddNewOptionText : null,
1134
- i18nKeys: i18nKeys,
1135
- htmlId: ariaErrorId
1136
- }), isFetchingOptions && /*#__PURE__*/_react["default"].createElement(_Layout.Container, {
1137
- isCover: false,
1138
- align: "both"
1139
- }, /*#__PURE__*/_react["default"].createElement(_Loader["default"], null))), getFooter ? /*#__PURE__*/_react["default"].createElement(_Card.CardFooter, null, getFooter()) : null)) : /*#__PURE__*/_react["default"].createElement(_Layout.Box, {
1140
- flexible: true
1141
- }, getChildren())));
1073
+ }, function () {
1074
+ var dropdownContent = isLoading ? /*#__PURE__*/_react["default"].createElement(_Layout.Container, {
1075
+ align: "both",
1076
+ className: _SelectModule["default"].loader
1077
+ }, /*#__PURE__*/_react["default"].createElement(_Loader["default"], null)) : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, !getChildren ? /*#__PURE__*/_react["default"].createElement(_Layout.Box, {
1078
+ flexible: true
1079
+ }, /*#__PURE__*/_react["default"].createElement(_Card["default"], {
1080
+ onScroll: _this7.handleScroll
1081
+ }, needSearch ? /*#__PURE__*/_react["default"].createElement(_Card.CardHeader, null, /*#__PURE__*/_react["default"].createElement("div", {
1082
+ className: "".concat(_SelectModule["default"].search, " ").concat(_SelectModule["default"][size])
1083
+ }, /*#__PURE__*/_react["default"].createElement(_TextBoxIcon["default"], {
1084
+ a11y: {
1085
+ ariaControls: setAriaId,
1086
+ ariaAutocomplete: 'list',
1087
+ ariaDescribedby: ariaErrorId
1088
+ },
1089
+ inputRef: _this7.searchInputRef,
1090
+ maxLength: maxLength,
1091
+ onChange: _this7.handleSearch,
1092
+ onKeyDown: _this7.handleKeyDown,
1093
+ placeHolder: searchBoxPlaceHolder,
1094
+ size: searchBoxSize,
1095
+ value: searchStr,
1096
+ onClear: _this7.handleClearSearch,
1097
+ dataId: "".concat(dataId, "_search"),
1098
+ i18nKeys: TextBoxIcon_i18n,
1099
+ autoComplete: autoComplete,
1100
+ customProps: {
1101
+ TextBoxProps: DropdownSearchTextBoxProps
1102
+ },
1103
+ renderCustomClearComponent: renderCustomSearchClearComponent
1104
+ }))) : null, /*#__PURE__*/_react["default"].createElement(_Card.CardContent, {
1105
+ shrink: true,
1106
+ customClass: "\n ".concat(!tabletMode && dropBoxSize ? _SelectModule["default"][dropBoxSize] : '', " ").concat(cardContentClass),
1107
+ eleRef: _this7.suggestionContainerRef
1108
+ }, suggestions.length ? /*#__PURE__*/_react["default"].createElement(_Suggestions["default"], _extends({
1109
+ key: searchStr.trim(),
1110
+ activeId: selectedId,
1111
+ isVirtualizerEnabled: isVirtualizerEnabled,
1112
+ getVirtualizerPublicMethods: _this7.getVirtualizerPublicMethods,
1113
+ setVirtualizerContainerRefFunction: _this7.setSuggestionsVirtualizerContainerRefFunction,
1114
+ suggestions: suggestions,
1115
+ getRef: _this7.suggestionItemRef,
1116
+ hoverOption: hoverIndex,
1117
+ onClick: _this7.handleChange,
1118
+ onMouseEnter: _this7.handleMouseEnter,
1119
+ dataId: "".concat(dataId, "_Options"),
1120
+ needTick: needTick,
1121
+ needBorder: needListBorder,
1122
+ selectedOptions: [selectedId],
1123
+ className: "".concat(tabletMode ? _SelectModule["default"].responsivelistItemContainer : _SelectModule["default"].listItemContainer),
1124
+ listItemSize: listItemSize,
1125
+ htmlId: setAriaId,
1126
+ a11y: {
1127
+ ariaParentRole: 'listbox',
1128
+ role: 'option'
1129
+ }
1130
+ }, SuggestionsProps)) : /*#__PURE__*/_react["default"].createElement(_EmptyState["default"], {
1131
+ isLoading: isFetchingOptions,
1132
+ options: options,
1133
+ searchString: searchStr,
1134
+ suggestions: suggestions,
1135
+ dataId: dataId,
1136
+ renderCustomEmptyState: renderCustomEmptyState,
1137
+ getCustomEmptyState: getCustomEmptyState ? _this7.handleGetAddNewOptionText : null,
1138
+ i18nKeys: i18nKeys,
1139
+ htmlId: ariaErrorId
1140
+ }), isFetchingOptions && /*#__PURE__*/_react["default"].createElement(_Layout.Container, {
1141
+ isCover: false,
1142
+ align: "both"
1143
+ }, /*#__PURE__*/_react["default"].createElement(_Loader["default"], null))), getFooter ? /*#__PURE__*/_react["default"].createElement(_Card.CardFooter, null, getFooter()) : null)) : /*#__PURE__*/_react["default"].createElement(_Layout.Box, {
1144
+ flexible: true
1145
+ }, getChildren()));
1146
+ return renderCustomDropBoxHeader ? /*#__PURE__*/_react["default"].createElement("div", {
1147
+ className: _SelectModule["default"].dropBoxListContainer
1148
+ }, /*#__PURE__*/_react["default"].createElement("div", {
1149
+ className: "".concat(customDropBoxHeaderClass, " ").concat(_SelectModule["default"].customDropBoxHeaderContainer)
1150
+ }, (0, _utils.renderNode)(renderCustomDropBoxHeader, {
1151
+ closePopup: _this7.handlePopupClose
1152
+ })), /*#__PURE__*/_react["default"].createElement("div", {
1153
+ className: _SelectModule["default"].dropdownOptions
1154
+ }, dropdownContent)) : dropdownContent;
1155
+ }());
1142
1156
  }) : null);
1143
1157
  }
1144
1158
  }]);
@@ -22,12 +22,12 @@
22
22
 
23
23
  .box_small .emptyState {
24
24
  padding-block: var(--zd_size12) ;
25
- padding-inline:var(--zd_size6) ;
25
+ padding-inline: var(--zd_size6) ;
26
26
  }
27
27
 
28
28
  .box_medium .emptyState {
29
29
  padding-block: var(--zd_size12) ;
30
- padding-inline:var(--zd_size15) ;
30
+ padding-inline: var(--zd_size15) ;
31
31
  }
32
32
 
33
33
  .hide {
@@ -45,12 +45,12 @@
45
45
 
46
46
  .small.search {
47
47
  padding-block: 0 ;
48
- padding-inline:var(--zd_size5) ;
48
+ padding-inline: var(--zd_size5) ;
49
49
  }
50
50
 
51
51
  .medium.search {
52
52
  padding-block: var(--zd_size3) 0 ;
53
- padding-inline:var(--zd_size20) ;
53
+ padding-inline: var(--zd_size20) ;
54
54
  }
55
55
 
56
56
  .title {
@@ -59,17 +59,17 @@
59
59
 
60
60
  .groupTitle {
61
61
  margin-block: var(--zd_size6) ;
62
- margin-inline:0 ;
62
+ margin-inline: 0 ;
63
63
  }
64
64
 
65
65
  .listItemContainer {
66
66
  padding-block: var(--zd_size10) ;
67
- padding-inline:0 ;
67
+ padding-inline: 0 ;
68
68
  }
69
69
 
70
70
  .responsivelistItemContainer {
71
71
  padding-block: var(--zd_size10) 0 ;
72
- padding-inline:0 ;
72
+ padding-inline: 0 ;
73
73
  }
74
74
 
75
75
  .readonly {
@@ -111,18 +111,19 @@
111
111
 
112
112
  .dropBoxList {
113
113
  padding-block: var(--zd_size10) ;
114
- padding-inline:0 ;
114
+ padding-inline: 0 ;
115
115
  }
116
116
 
117
117
  .responsivedropBoxList {
118
118
  padding-block: var(--zd_size10) 0 ;
119
- padding-inline:0 ;
119
+ padding-inline: 0 ;
120
120
  }
121
121
 
122
122
  .rotate {
123
123
  transform: rotateX(180deg);
124
124
  }
125
- .rightPlaceholder{
125
+
126
+ .rightPlaceholder {
126
127
  height: 100% ;
127
128
  }
128
129
 
@@ -141,3 +142,29 @@
141
142
  .loader {
142
143
  padding: var(--zd_size10) ;
143
144
  }
145
+
146
+ .dropBoxWithCustomHeader {
147
+ border-radius: 7px;
148
+ }
149
+
150
+ .dropBoxListContainer {
151
+ width: 100% ;
152
+ border-radius: 7px;
153
+ padding: var(--zd_size10) ;
154
+ border: 1px solid var(--zdt_select_wrapper_container_border);
155
+ background: var(--zdt_select_wrapper_container_bg);
156
+ box-shadow: var(--zd_bs_statusdropdown_wrapper_container);
157
+ }
158
+
159
+ .dropdownOptions {
160
+ padding-inline: var(--zd_size1) ;
161
+ padding-block: var(--zd_size1) ;
162
+ background-color: var(--zdt_select_wrapper_dropdown_bg);
163
+ border: 1px solid var(--zdt_select_wrapper_container_border);
164
+ border-radius: 7px;
165
+ }
166
+
167
+ .customDropBoxHeaderContainer {
168
+ margin-block-end: var(--zd_size6) ;
169
+ margin-inline: var(--zd_size1) ;
170
+ }
@@ -50,7 +50,8 @@ var Select_defaultProps = {
50
50
  isAbsolutePositioningNeeded: true,
51
51
  allowValueFallback: true,
52
52
  inputFieldLineA11y: {},
53
- customClass: {}
53
+ customClass: {},
54
+ renderCustomDropBoxHeader: null
54
55
  };
55
56
  exports.Select_defaultProps = Select_defaultProps;
56
57
  var GroupSelect_defaultProps = {
@@ -123,8 +123,10 @@ var Select_propTypes = {
123
123
  inputFieldLineA11y: _propTypes["default"].object,
124
124
  customClass: _propTypes["default"].shape({
125
125
  dropBox: _propTypes["default"].string,
126
- cardContent: _propTypes["default"].string
127
- })
126
+ cardContent: _propTypes["default"].string,
127
+ customDropBoxHeader: _propTypes["default"].string
128
+ }),
129
+ renderCustomDropBoxHeader: _propTypes["default"].oneOfType([_propTypes["default"].func, _propTypes["default"].node])
128
130
  };
129
131
  exports.Select_propTypes = Select_propTypes;
130
132
  var GroupSelect_propTypes = {
package/lib/Tab/Tab.js CHANGED
@@ -69,6 +69,8 @@ function Tab(_ref) {
69
69
  needAppearance = _ref.needAppearance,
70
70
  align = _ref.align,
71
71
  isVirtual = _ref.isVirtual,
72
+ contentAlign = _ref.contentAlign,
73
+ contentAlignBox = _ref.contentAlignBox,
72
74
  customProps = _ref.customProps;
73
75
  var clickListener = (0, _react.useCallback)(function (event) {
74
76
  if (isLink && event && (event.metaKey || event.altKey || event.ctrlKey || event.shiftKey)) {
@@ -113,8 +115,8 @@ function Tab(_ref) {
113
115
  "aria-label": text ? text : null,
114
116
  dataSelectorId: dataSelectorId
115
117
  }, customProps), /*#__PURE__*/_react["default"].createElement(_Layout.Container, {
116
- alignBox: "row",
117
- align: "both",
118
+ alignBox: contentAlignBox,
119
+ align: contentAlign,
118
120
  className: _TabModule["default"].textContainer
119
121
  }, text && /*#__PURE__*/_react["default"].createElement(_Layout.Box, {
120
122
  flexible: true,
@@ -6,6 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.Tabs_defaultProps = exports.Tab_defaultProps = exports.TabWrapper_defaultProps = exports.TabContent_defaultProps = exports.TabContentWrapper_defaultProps = void 0;
7
7
  var Tab_defaultProps = {
8
8
  dataId: 'tabMenu',
9
+ contentAlign: 'both',
10
+ contentAlignBox: 'row',
9
11
  customProps: {},
10
12
  dataSelectorId: 'tab'
11
13
  };
@@ -32,6 +32,8 @@ var Tab_propTypes = {
32
32
  titlePosition: _propTypes["default"].oneOf(['top', 'bottom', 'right', 'left']),
33
33
  tourId: _propTypes["default"].string,
34
34
  type: _propTypes["default"].string,
35
+ contentAlign: _propTypes["default"].oneOf(['both', 'left', 'right', 'vertical', 'horizontal', 'top', 'bottom', 'between', 'around', 'baseline']),
36
+ contentAlignBox: _propTypes["default"].oneOf(['row', 'column', 'row-reverse', 'column-reverse']),
35
37
  customProps: _propTypes["default"].object,
36
38
  isVirtual: _propTypes["default"].bool,
37
39
  dataSelectorId: _propTypes["default"].string
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zohodesk/components",
3
- "version": "1.0.0-temp-253.1",
3
+ "version": "1.0.0-temp-252.3",
4
4
  "main": "es/index.js",
5
5
  "module": "es/index.js",
6
6
  "private": false,
@@ -33,7 +33,7 @@
33
33
  "build:watch": "npm run build:es:watch --module:mode=dev -- -w",
34
34
  "coverage": "react-cli coverage",
35
35
  "prepare": "npm run init && npm run css:build ",
36
- "prepublishOnly": "node ../prePublish.js && npm run css:review",
36
+ "prepublishOnly": "node ../prePublish.js && npm run css:review && npm run review:props ",
37
37
  "postpublish": "node ../postPublish.js",
38
38
  "report": "react-cli publish:report",
39
39
  "test": "react-cli test",
@@ -46,9 +46,9 @@
46
46
  "download_only": "react-cli clean ./node_modules ./package-lock.json && npm install --legacy-peer-deps",
47
47
  "expublish": "node ../publish.js -- exp",
48
48
  "css:lineheight:validate": "npx z-node-plugins lineheight:errorcheck ./src/",
49
- "variable:addignore": "node ./node_modules/@zohodesk-private/css-variable-migrator/es/variableIgnore.js ./src",
50
- "variable:convert": "node ./node_modules/@zohodesk-private/css-variable-migrator/es/pxParserPostcss.js ./src",
51
- "variable:check": "node ./node_modules/@zohodesk-private/css-variable-migrator/es/variableErrorCheck.js ./src ./node_modules/@zohodesk-private/css-variable-migrator/es/config/cssVariableReplacementOptions.json",
49
+ "variable:addignore": "npx css-variable-migrator addignore ./src",
50
+ "variable:convert": "npx css-variable-migrator convert ./src",
51
+ "variable:check": "npx css-variable-migrator check ./src",
52
52
  "css:review": " npm run dubCheck && npm run css:lineheight:validate && npm run theme:validate ",
53
53
  "theme:validate": "npx z-node-plugins theme:validate ./src ./.cli ./.cli/themeValidate/stringContains.js",
54
54
  "theme:addignore": "npx z-node-plugins theme:addignore ./src ./.cli ./.cli/themeValidate/stringContains.js",
@@ -61,7 +61,8 @@
61
61
  "css:layer_config_validate": "npx z-node-plugins css:layer_validate css_layer_config.json ./src/ ./assets",
62
62
  "css:build": "npm run css:layer_config_validate && npm run css:layer_generate_order && npm run build",
63
63
  "css:layer_remove": "npx z-node-plugins css:layer_remove ./es ./assets css_layer_config.json --rewrite=src=es --rewrite=assets=assets",
64
- "css:audit": "npx css-audit --common-css=common/common.module.css --dir src --port 8085 --report ",
64
+ "css:audit:report": "npx css-audit --common-css=../node_modules/@dot-system/css-utility/es/utilities.plain.css --dir src --port 8085 --report",
65
+ "css:audit:css-utility": "npx css-audit --common-css=../node_modules/@dot-system/css-utility/es/utilities.plain.css --error on --dir src",
65
66
  "cssVariableConvert": "react-cli variableConverter ./lib ./lib && react-cli variableConverter ./es ./es",
66
67
  "publish": "node ../publish.js",
67
68
  "check_package": "node ../check_dependencies.js"
@@ -72,9 +73,9 @@
72
73
  "@testing-library/react": "^11.2.5",
73
74
  "@testing-library/react-hooks": "^7.0.2",
74
75
  "@testing-library/user-event": "^13.0.10",
75
- "@zohodesk-private/css-audit-tool": "0.0.2",
76
+ "@dot-system/css-audit-tool": "1.0.0",
76
77
  "@zohodesk-private/color-variable-preprocessor": "1.3.1",
77
- "@zohodesk-private/css-variable-migrator": "1.0.9",
78
+ "@zohodesk-private/css-variable-migrator": "1.0.11",
78
79
  "@zohodesk-private/node-plugins": "1.1.14",
79
80
  "@zohodesk-private/react-prop-validator": "1.2.3",
80
81
  "@zohodesk/a11y": "2.3.9",