@itcase/ui 1.0.30 → 1.0.32
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/dist/components/Dropdown.js +17 -36
- package/dist/components/Grid.js +13 -1
- package/dist/components/Label.js +5 -1
- package/dist/components/Segmented.js +2 -1
- package/dist/components/Select.js +17 -7
- package/dist/css/components/DatePicker/DatePicker.css +7 -3
- package/dist/css/components/Dropdown/Dropdown.css +1 -0
- package/dist/css/components/Segmented/Segmented.css +9 -5
- package/dist/css/components/Select/Select.css +13 -3
- package/dist/css/components/Select/css/__menu/select__menu.css +12 -0
- package/dist/css/components/Select/css/__value-container/select__value-container.css +1 -3
- package/dist/css/components/Tab/Tab.css +1 -0
- package/dist/css/styles/column-gap/column-gap.css +5 -0
- package/dist/css/styles/gap/gap.css +5 -0
- package/dist/css/styles/row-gap/row-gap.css +5 -0
- package/package.json +1 -1
|
@@ -39,48 +39,37 @@ function Dropdown(props) {
|
|
|
39
39
|
children = props.children,
|
|
40
40
|
className = props.className;
|
|
41
41
|
props.id;
|
|
42
|
-
var set = props.set
|
|
42
|
+
var set = props.set,
|
|
43
|
+
isOpen = props.isOpen,
|
|
44
|
+
setIsOpen = props.setIsOpen;
|
|
43
45
|
var dropdownRef = React.useRef(null);
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
var _useState2 = React.useState({
|
|
46
|
+
|
|
47
|
+
// const [isOpen, setIsOpen] = useState(false)
|
|
48
|
+
var _useState = React.useState({
|
|
48
49
|
className: ''
|
|
49
50
|
}),
|
|
50
|
-
animationState =
|
|
51
|
-
setAnimationState =
|
|
52
|
-
var onClick = React.useCallback(function () {
|
|
53
|
-
setIsOpen(function (prevState) {
|
|
54
|
-
return !prevState;
|
|
55
|
-
});
|
|
56
|
-
setAnimationState(function (prevState) {
|
|
57
|
-
return {
|
|
58
|
-
className: prevState.className === animationOpen ? animationClose : animationOpen
|
|
59
|
-
};
|
|
60
|
-
});
|
|
61
|
-
}, []);
|
|
51
|
+
animationState = _useState[0],
|
|
52
|
+
setAnimationState = _useState[1];
|
|
62
53
|
var onAnimationEnd = React.useCallback(function (event) {
|
|
63
54
|
// When component is change his visibility(display) in DOM,
|
|
64
55
|
// animation of close can run unnecessary on showing element.
|
|
65
|
-
// console.info('------ onAnimationEnd -------------')
|
|
66
|
-
// console.log('event: ', event)
|
|
67
|
-
// console.log('event.target: ', event.target)
|
|
68
|
-
// console.log('isOpen: ', isOpen)
|
|
69
|
-
// console.log('animationOpen: ', animationOpen)
|
|
70
|
-
// console.log('animationClose: ', animationClose)
|
|
71
56
|
// const dropdownElement = dropdownRef.current
|
|
72
|
-
// console.log('dropdownElement', dropdownElement)
|
|
73
|
-
// console.log('dropdownElement hasClass', dropdownElement.hasClass(animationClose))
|
|
74
57
|
setAnimationState(function (prevState) {
|
|
75
58
|
return {
|
|
76
59
|
className: isOpen ? prevState.className : ''
|
|
77
60
|
};
|
|
78
61
|
});
|
|
79
62
|
}, [isOpen]);
|
|
63
|
+
React.useEffect(function () {
|
|
64
|
+
setAnimationState(function (prevState) {
|
|
65
|
+
return {
|
|
66
|
+
className: isOpen ? animationOpen : animationClose
|
|
67
|
+
};
|
|
68
|
+
});
|
|
69
|
+
}, [isOpen]);
|
|
80
70
|
|
|
81
71
|
// Close dropdown by click outside
|
|
82
72
|
React.useEffect(function () {
|
|
83
|
-
// console.info('--------- useEffect Dropdown -------')
|
|
84
73
|
// Add a handler to keep track of the click target.
|
|
85
74
|
function onClickWindow(event) {
|
|
86
75
|
var dropdownElement = dropdownRef.current;
|
|
@@ -92,14 +81,13 @@ function Dropdown(props) {
|
|
|
92
81
|
if (!isContainsTarget && hasOpenClass) {
|
|
93
82
|
// Trigger close event with animation
|
|
94
83
|
// dropdownElement.click() - trigger "onClickWindow" again
|
|
95
|
-
|
|
84
|
+
setIsOpen(false);
|
|
96
85
|
}
|
|
97
86
|
}
|
|
98
87
|
}
|
|
99
88
|
// Add event listener for current dropdown on first render
|
|
100
89
|
window.addEventListener('click', onClickWindow);
|
|
101
90
|
return function () {
|
|
102
|
-
// console.info('--------- UNMOUNT useEffect Dropdown -------')
|
|
103
91
|
// Remove event listener for current dropdown on unmount
|
|
104
92
|
window.removeEventListener('click', onClickWindow);
|
|
105
93
|
};
|
|
@@ -123,17 +111,10 @@ function Dropdown(props) {
|
|
|
123
111
|
});
|
|
124
112
|
var _useStyles = useStyles.useStyles(props),
|
|
125
113
|
styles = _useStyles.styles;
|
|
126
|
-
|
|
127
|
-
// console.warn('====== Dropdown ========')
|
|
128
|
-
// console.log('props: ', props)
|
|
129
|
-
// console.log('isOpen: ', isOpen)
|
|
130
|
-
// console.log('animationState: ', animationState)
|
|
131
|
-
|
|
132
114
|
return /*#__PURE__*/React__default.default.createElement("div", {
|
|
133
115
|
className: clsx__default.default(className, 'dropdown', set && "dropdown_set_" + set, shapeClass, fillClass, fillHoverClass, elevationClass, isOpen ? 'dropdown_state_open' : 'dropdown_state_close', animationState.className),
|
|
134
116
|
ref: dropdownRef,
|
|
135
|
-
style: styles
|
|
136
|
-
onClick: onClick
|
|
117
|
+
style: styles
|
|
137
118
|
}, children &&
|
|
138
119
|
/*#__PURE__*/
|
|
139
120
|
// Add "onAnimationEnd" only for wrapper for ignore dropdown button
|
package/dist/components/Grid.js
CHANGED
|
@@ -230,6 +230,18 @@ function GridItem(props) {
|
|
|
230
230
|
prefix: 'fill_',
|
|
231
231
|
propsKey: 'fill'
|
|
232
232
|
});
|
|
233
|
+
var gapClass = useDeviceTargetClass.useDeviceTargetClass(props, {
|
|
234
|
+
prefix: 'gap_',
|
|
235
|
+
propsKey: 'gap'
|
|
236
|
+
});
|
|
237
|
+
var rowGapClass = useDeviceTargetClass.useDeviceTargetClass(props, {
|
|
238
|
+
prefix: 'row-gap_',
|
|
239
|
+
propsKey: 'rowGap'
|
|
240
|
+
});
|
|
241
|
+
var columnGapClass = useDeviceTargetClass.useDeviceTargetClass(props, {
|
|
242
|
+
prefix: 'column-gap_',
|
|
243
|
+
propsKey: 'columnGap'
|
|
244
|
+
});
|
|
233
245
|
var directionClass = useDeviceTargetClass.useDeviceTargetClass(props, {
|
|
234
246
|
prefix: 'direction_',
|
|
235
247
|
propsKey: 'direction'
|
|
@@ -237,7 +249,7 @@ function GridItem(props) {
|
|
|
237
249
|
var _useStyles = useStyles.useStyles(props),
|
|
238
250
|
gridItemStyles = _useStyles.styles;
|
|
239
251
|
return /*#__PURE__*/React__default.default.createElement("div", {
|
|
240
|
-
className: clsx__default.default(className, 'grid__item', orderClass, fillClass, alignSelfClass, justifySelfClass, columnStartClass, columnEndClass, columnSpanClass, rowStartClass, rowEndClass, rowSpanClass, directionClass),
|
|
252
|
+
className: clsx__default.default(className, 'grid__item', orderClass, fillClass, alignSelfClass, justifySelfClass, columnStartClass, columnEndClass, columnSpanClass, rowStartClass, rowEndClass, rowSpanClass, directionClass, gapClass, rowGapClass, columnGapClass),
|
|
241
253
|
id: id,
|
|
242
254
|
"data-tour": dataTour,
|
|
243
255
|
style: gridItemStyles
|
package/dist/components/Label.js
CHANGED
|
@@ -75,10 +75,14 @@ function Label(props) {
|
|
|
75
75
|
prefix: 'border_',
|
|
76
76
|
propsKey: 'borderType'
|
|
77
77
|
});
|
|
78
|
+
var wrapClass = useDeviceTargetClass.useDeviceTargetClass(props, {
|
|
79
|
+
prefix: 'word-wrap_',
|
|
80
|
+
propsKey: 'labelTextWrap'
|
|
81
|
+
});
|
|
78
82
|
var _useStyles = useStyles.useStyles(props),
|
|
79
83
|
labelStyles = _useStyles.styles;
|
|
80
84
|
return /*#__PURE__*/React__default.default.createElement("div", {
|
|
81
|
-
className: clsx__default.default(className, 'label', fillClass || appearance && ("fill_" + labelConfig.appearance[appearance].fillClass).replace(/([A-Z])/g, '-$1').toLowerCase(), shapeClass, borderClass, borderTypeClass, sizeClass, alignDirectionClass, alignClass, type && "label_type_" + type, set && "label_set_" + set),
|
|
85
|
+
className: clsx__default.default(className, 'label', fillClass || appearance && ("fill_" + labelConfig.appearance[appearance].fillClass).replace(/([A-Z])/g, '-$1').toLowerCase(), shapeClass, borderClass, borderTypeClass, sizeClass, wrapClass, alignDirectionClass, alignClass, type && "label_type_" + type, set && "label_set_" + set),
|
|
82
86
|
"data-tour": dataTour,
|
|
83
87
|
style: labelStyles
|
|
84
88
|
}, /*#__PURE__*/React__default.default.createElement("div", {
|
|
@@ -53,7 +53,8 @@ var Segmented = /*#__PURE__*/React__default.default.forwardRef(function (props,
|
|
|
53
53
|
offsetLeft = activeSegmentRef.current.offsetLeft;
|
|
54
54
|
}
|
|
55
55
|
controlRef.current.style.setProperty('--segmented-active-width', offsetWidth + "px");
|
|
56
|
-
controlRef.current.style.setProperty('--segmented-active-x-pos', offsetLeft - 2
|
|
56
|
+
// controlRef.current.style.setProperty('--segmented-active-x-pos', `${offsetLeft - 2}px`)
|
|
57
|
+
controlRef.current.style.setProperty('--segmented-active-x-pos', offsetLeft + "px");
|
|
57
58
|
}, [activeSegment, segmentsRefs]);
|
|
58
59
|
var indicatorFillClass = useDeviceTargetClass.useDeviceTargetClass(props, {
|
|
59
60
|
prefix: 'fill_',
|
|
@@ -7669,23 +7669,28 @@ SelectNoOptions.propTypes = {
|
|
|
7669
7669
|
|
|
7670
7670
|
var SelectOption = function SelectOption(props) {
|
|
7671
7671
|
var label = props.label,
|
|
7672
|
-
isSelected = props.isSelected
|
|
7673
|
-
|
|
7672
|
+
isSelected = props.isSelected;
|
|
7673
|
+
props.data;
|
|
7674
7674
|
var _props$selectProps = props.selectProps,
|
|
7675
7675
|
optionFill = _props$selectProps.optionFill,
|
|
7676
7676
|
optionFillHover = _props$selectProps.optionFillHover,
|
|
7677
7677
|
optionBorder = _props$selectProps.optionBorder,
|
|
7678
7678
|
optionBorderType = _props$selectProps.optionBorderType,
|
|
7679
|
+
optionSelected = _props$selectProps.optionSelected,
|
|
7679
7680
|
optionTextSize = _props$selectProps.optionTextSize,
|
|
7680
7681
|
optionShape = _props$selectProps.optionShape,
|
|
7681
|
-
optionTextColor = _props$selectProps.optionTextColor
|
|
7682
|
+
optionTextColor = _props$selectProps.optionTextColor,
|
|
7683
|
+
optionBefore = _props$selectProps.optionBefore,
|
|
7684
|
+
optionAfter = _props$selectProps.optionAfter;
|
|
7682
7685
|
return /*#__PURE__*/React__namespace.default.createElement(Select$1.components.Option, Object.assign({}, props, {
|
|
7683
7686
|
className: clsx__default.default('select__menu-list-item', isSelected && 'select__menu-list-item_state_selected', optionFill, optionBorder, optionBorderType, optionFillHover, optionShape)
|
|
7684
|
-
}),
|
|
7687
|
+
}), optionBefore, /*#__PURE__*/React__namespace.default.createElement(index$2.Text, {
|
|
7685
7688
|
className: "select__menu-list-item_option",
|
|
7686
7689
|
size: optionTextSize,
|
|
7687
7690
|
textColor: optionTextColor
|
|
7688
|
-
}, label),
|
|
7691
|
+
}, label), isSelected && /*#__PURE__*/React__namespace.default.createElement("div", {
|
|
7692
|
+
className: "select__menu-list-item_selected"
|
|
7693
|
+
}, optionSelected), optionAfter);
|
|
7689
7694
|
};
|
|
7690
7695
|
SelectOption.propTypes = {
|
|
7691
7696
|
selectProps: PropTypes__default.default.shape({
|
|
@@ -7697,8 +7702,7 @@ SelectOption.propTypes = {
|
|
|
7697
7702
|
optionAfter: PropTypes__default.default.any
|
|
7698
7703
|
}),
|
|
7699
7704
|
label: PropTypes__default.default.string,
|
|
7700
|
-
isSelected: PropTypes__default.default.any
|
|
7701
|
-
data: PropTypes__default.default.object
|
|
7705
|
+
isSelected: PropTypes__default.default.any
|
|
7702
7706
|
};
|
|
7703
7707
|
|
|
7704
7708
|
var SelectPlaceholder = function SelectPlaceholder(props) {
|
|
@@ -7784,6 +7788,9 @@ var SelectContainer = /*#__PURE__*/React__namespace.default.forwardRef(function
|
|
|
7784
7788
|
noOptionsText = props.noOptionsText,
|
|
7785
7789
|
openMenuOnClick = props.openMenuOnClick,
|
|
7786
7790
|
options = props.options,
|
|
7791
|
+
optionBefore = props.optionBefore,
|
|
7792
|
+
optionAfter = props.optionAfter,
|
|
7793
|
+
optionSelected = props.optionSelected,
|
|
7787
7794
|
elevation = props.elevation,
|
|
7788
7795
|
placeholder = props.placeholder,
|
|
7789
7796
|
set = props.set,
|
|
@@ -7923,6 +7930,9 @@ var SelectContainer = /*#__PURE__*/React__namespace.default.forwardRef(function
|
|
|
7923
7930
|
optionShape: optionShapeClass,
|
|
7924
7931
|
optionBorder: optionBorderClass,
|
|
7925
7932
|
optionBorderType: optionBorderTypeClass,
|
|
7933
|
+
optionSelected: optionSelected,
|
|
7934
|
+
optionBefore: optionBefore,
|
|
7935
|
+
optionAfter: optionAfter,
|
|
7926
7936
|
inputBefore: inputBefore,
|
|
7927
7937
|
inputAfter: inputAfter,
|
|
7928
7938
|
inputFill: inputFillClass,
|
|
@@ -727,14 +727,18 @@
|
|
|
727
727
|
box-shadow: var(--date-picker-box-shadow);
|
|
728
728
|
font-size: inherit;
|
|
729
729
|
display: flex;
|
|
730
|
-
&-popper {
|
|
731
|
-
z-index: 10;
|
|
732
|
-
}
|
|
733
730
|
&__triangle {
|
|
734
731
|
display: none;
|
|
735
732
|
}
|
|
736
733
|
&-wrapper {
|
|
737
734
|
width: 100%;
|
|
735
|
+
^&__input-container {
|
|
736
|
+
& .input {
|
|
737
|
+
cursor: pointer;
|
|
738
|
+
}
|
|
739
|
+
}
|
|
740
|
+
}
|
|
741
|
+
&__tab-loop {
|
|
738
742
|
^&-popper {
|
|
739
743
|
z-index: 1000 !important;
|
|
740
744
|
}
|
|
@@ -14,11 +14,15 @@
|
|
|
14
14
|
position: absolute;
|
|
15
15
|
content: '';
|
|
16
16
|
display: block;
|
|
17
|
-
box-shadow:
|
|
17
|
+
box-shadow:
|
|
18
|
+
0 3px 8px rgba(0, 0, 0, 0.12),
|
|
19
|
+
0 3px 1px rgba(0, 0, 0, 0.04);
|
|
18
20
|
left: var(--segmented-active-x-pos);
|
|
19
21
|
top: 0;
|
|
20
22
|
z-index: 1;
|
|
21
|
-
transition:
|
|
23
|
+
transition:
|
|
24
|
+
left 0.3s ease,
|
|
25
|
+
width 0.3s ease;
|
|
22
26
|
}
|
|
23
27
|
^^&__item {
|
|
24
28
|
border-radius: 6px;
|
|
@@ -26,7 +30,7 @@
|
|
|
26
30
|
position: relative;
|
|
27
31
|
display: flex;
|
|
28
32
|
align-items: center;
|
|
29
|
-
&::after {
|
|
33
|
+
/* &::after {
|
|
30
34
|
width: 1px;
|
|
31
35
|
height: 100%;
|
|
32
36
|
background: var(--color-surface-border-tertiary);
|
|
@@ -39,7 +43,7 @@
|
|
|
39
43
|
&::after {
|
|
40
44
|
display: none;
|
|
41
45
|
}
|
|
42
|
-
}
|
|
46
|
+
} */
|
|
43
47
|
&_state_active {
|
|
44
48
|
& label {
|
|
45
49
|
color: #fff;
|
|
@@ -68,7 +72,7 @@
|
|
|
68
72
|
transition: color 0.5s ease;
|
|
69
73
|
cursor: pointer;
|
|
70
74
|
&-text {
|
|
71
|
-
|
|
75
|
+
@mixin word-wrap;
|
|
72
76
|
}
|
|
73
77
|
}
|
|
74
78
|
}
|
|
@@ -170,9 +170,21 @@
|
|
|
170
170
|
border-radius: var(--select-menu-border-radius, 0);
|
|
171
171
|
&-item {
|
|
172
172
|
width: 100%;
|
|
173
|
+
position: relative;
|
|
174
|
+
&_state_selected {
|
|
175
|
+
|
|
176
|
+
}
|
|
173
177
|
&_option {
|
|
174
178
|
z-index: 100000;
|
|
175
179
|
}
|
|
180
|
+
&_selected {
|
|
181
|
+
height: 100%;
|
|
182
|
+
display: flex;
|
|
183
|
+
align-items: center;
|
|
184
|
+
position: absolute;
|
|
185
|
+
right: 8px;
|
|
186
|
+
top: 0;
|
|
187
|
+
}
|
|
176
188
|
}
|
|
177
189
|
|
|
178
190
|
&--is-multi {
|
|
@@ -274,13 +286,11 @@
|
|
|
274
286
|
flex-wrap: nowrap;
|
|
275
287
|
align-items: center;
|
|
276
288
|
&--is-multi {
|
|
289
|
+
flex-wrap: wrap;
|
|
277
290
|
gap: 8px;
|
|
278
291
|
& .select__placeholder {
|
|
279
292
|
position: relative;
|
|
280
293
|
}
|
|
281
|
-
& .select__input-container {
|
|
282
|
-
display: none;
|
|
283
|
-
}
|
|
284
294
|
}
|
|
285
295
|
}
|
|
286
296
|
}
|
|
@@ -17,9 +17,21 @@
|
|
|
17
17
|
border-radius: var(--select-menu-border-radius, 0);
|
|
18
18
|
&-item {
|
|
19
19
|
width: 100%;
|
|
20
|
+
position: relative;
|
|
21
|
+
&_state_selected {
|
|
22
|
+
|
|
23
|
+
}
|
|
20
24
|
&_option {
|
|
21
25
|
z-index: 100000;
|
|
22
26
|
}
|
|
27
|
+
&_selected {
|
|
28
|
+
height: 100%;
|
|
29
|
+
display: flex;
|
|
30
|
+
align-items: center;
|
|
31
|
+
position: absolute;
|
|
32
|
+
right: 8px;
|
|
33
|
+
top: 0;
|
|
34
|
+
}
|
|
23
35
|
}
|
|
24
36
|
|
|
25
37
|
&--is-multi {
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
.column-gap {
|
|
2
|
+
@each $val in 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200 {
|
|
3
|
+
column-gap: $(val)px;
|
|
4
|
+
}
|
|
5
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
.gap {
|
|
2
|
+
@each $val in 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200 {
|
|
3
|
+
gap: $(val)px;
|
|
4
|
+
}
|
|
5
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
.row-gap {
|
|
2
|
+
@each $val in 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200 {
|
|
3
|
+
row-gap: $(val)px;
|
|
4
|
+
}
|
|
5
|
+
}
|