@expressms/smartapp-ui 2.2.5 → 2.2.7
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/build/main/assets/icons/arrow-down.svg +3 -0
- package/build/main/assets/icons/arrow-up.svg +3 -0
- package/build/main/assets/storybook/index.d.ts +1 -0
- package/build/main/assets/storybook/index.js +1 -0
- package/build/main/assets/storybook/index.js.map +1 -1
- package/build/main/constants/constants.d.ts +10 -4
- package/build/main/constants/constants.js +12 -5
- package/build/main/constants/constants.js.map +1 -1
- package/build/main/helpers/index.d.ts +2 -1
- package/build/main/helpers/index.js +3 -2
- package/build/main/helpers/index.js.map +1 -1
- package/build/main/styles/styles.scss +2 -2
- package/build/main//321/201omponents/ActionModal/ActionModal.d.ts +1 -1
- package/build/main//321/201omponents/ActionModal/ActionModal.js +2 -2
- package/build/main//321/201omponents/ActionModal/ActionModal.js.map +1 -1
- package/build/main//321/201omponents/ActionModal/types.d.ts +1 -0
- package/build/main//321/201omponents/Checkbox/Checkbox.js +3 -0
- package/build/main//321/201omponents/Checkbox/Checkbox.js.map +1 -1
- package/build/main//321/201omponents/CustomSelect/CustomSelect.d.ts +1 -1
- package/build/main//321/201omponents/CustomSelect/CustomSelect.js +64 -20
- package/build/main//321/201omponents/CustomSelect/CustomSelect.js.map +1 -1
- package/build/main//321/201omponents/CustomSelect/colors.d.ts +16 -0
- package/build/main//321/201omponents/CustomSelect/colors.js +17 -0
- package/build/main//321/201omponents/CustomSelect/colors.js.map +1 -0
- package/build/main//321/201omponents/CustomSelect/selectStyles.d.ts +14 -0
- package/build/main//321/201omponents/CustomSelect/selectStyles.js +51 -0
- package/build/main//321/201omponents/CustomSelect/selectStyles.js.map +1 -0
- package/build/main//321/201omponents/CustomSelect/types.d.ts +38 -6
- package/build/main//321/201omponents/CustomSelectProfiles/CustomSelectProfiles.d.ts +2 -2
- package/build/main//321/201omponents/CustomSelectProfiles/CustomSelectProfiles.js +6 -6
- package/build/main//321/201omponents/CustomSelectProfiles/CustomSelectProfiles.js.map +1 -1
- package/build/main//321/201omponents/Input/Input.d.ts +1 -1
- package/build/main//321/201omponents/Input/Input.js +11 -11
- package/build/main//321/201omponents/Input/Input.js.map +1 -1
- package/build/main//321/201omponents/Input/types.d.ts +1 -1
- package/build/main//321/201omponents/ListItem/ListItem.d.ts +23 -0
- package/build/main//321/201omponents/ListItem/ListItem.js +195 -0
- package/build/main//321/201omponents/ListItem/ListItem.js.map +1 -0
- package/build/main//321/201omponents/ListItem/index.d.ts +1 -0
- package/build/main//321/201omponents/ListItem/index.js +2 -0
- package/build/main//321/201omponents/ListItem/index.js.map +1 -0
- package/build/main//321/201omponents/ListItem/types.d.ts +37 -0
- package/build/main//321/201omponents/ListItem/types.js.map +1 -0
- package/build/main//321/201omponents/RadioButton/RadioButton.js +3 -0
- package/build/main//321/201omponents/RadioButton/RadioButton.js.map +1 -1
- package/build/main//321/201omponents/Textarea/Textarea.d.ts +1 -1
- package/build/main//321/201omponents/Textarea/Textarea.js +11 -8
- package/build/main//321/201omponents/Textarea/Textarea.js.map +1 -1
- package/build/main//321/201omponents/Textarea/types.d.ts +1 -0
- package/build/main//321/201omponents/Toggle/Toggle.js +3 -0
- package/build/main//321/201omponents/Toggle/Toggle.js.map +1 -1
- package/build/main//321/201omponents/UserDropdown/MultiValueLabel/MultiValueLabel.js +18 -8
- package/build/main//321/201omponents/UserDropdown/MultiValueLabel/MultiValueLabel.js.map +1 -1
- package/build/main//321/201omponents/UserDropdown/UserDropdown.d.ts +1 -1
- package/build/main//321/201omponents/UserDropdown/UserDropdown.js +14 -12
- package/build/main//321/201omponents/UserDropdown/UserDropdown.js.map +1 -1
- package/build/main//321/201omponents/UserDropdown/colors.d.ts +1 -1
- package/build/main//321/201omponents/UserDropdown/colors.js +1 -1
- package/build/main//321/201omponents/UserDropdown/colors.js.map +1 -1
- package/build/main//321/201omponents/UserDropdown/helpers.d.ts +1 -0
- package/build/main//321/201omponents/UserDropdown/selectStyles.d.ts +1 -1
- package/build/main//321/201omponents/UserDropdown/selectStyles.js +6 -8
- package/build/main//321/201omponents/UserDropdown/selectStyles.js.map +1 -1
- package/build/main//321/201omponents/UserDropdown/types.d.ts +4 -2
- package/build/main//321/201omponents/index.d.ts +1 -1
- package/build/main//321/201omponents/index.js +1 -1
- package/build/main//321/201omponents/index.js.map +1 -1
- package/package.json +1 -1
- package/build/main/assets/icons/ellipse.svg +0 -3
- package/build/main//321/201omponents/CustomSelectPriority/CustomSelectPriority.d.ts +0 -4
- package/build/main//321/201omponents/CustomSelectPriority/CustomSelectPriority.js +0 -60
- package/build/main//321/201omponents/CustomSelectPriority/CustomSelectPriority.js.map +0 -1
- package/build/main//321/201omponents/CustomSelectPriority/index.d.ts +0 -1
- package/build/main//321/201omponents/CustomSelectPriority/index.js +0 -2
- package/build/main//321/201omponents/CustomSelectPriority/index.js.map +0 -1
- package/build/main//321/201omponents/CustomSelectPriority/types.d.ts +0 -13
- package/build/main//321/201omponents/CustomSelectPriority/types.js.map +0 -1
- /package/build/main//321/201omponents/{CustomSelectPriority → ListItem}/types.js" +0 -0
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { IListItemProps } from './types';
|
|
2
|
+
import '../../styles/styles.scss';
|
|
3
|
+
export declare const LIST_ITEM_TYPE: {
|
|
4
|
+
interactive: string;
|
|
5
|
+
notInteractive: string;
|
|
6
|
+
};
|
|
7
|
+
export declare const INTERACTIVE_ELEMENT: {
|
|
8
|
+
radioButton: string;
|
|
9
|
+
checkbox: string;
|
|
10
|
+
toggle: string;
|
|
11
|
+
};
|
|
12
|
+
export declare const INTERACTIVE_POSITION: {
|
|
13
|
+
left: string;
|
|
14
|
+
right: string;
|
|
15
|
+
};
|
|
16
|
+
export declare const NOT_INTERACTIVE_ELEMENT: {
|
|
17
|
+
icon: string;
|
|
18
|
+
indicator: string;
|
|
19
|
+
noElement: string;
|
|
20
|
+
};
|
|
21
|
+
export declare const DEFAULT_INDICATOR_COLOR = "blue";
|
|
22
|
+
declare const ListItem: (props: IListItemProps) => import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
export default ListItem;
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
+
import { useCallback, useEffect, useRef } from 'react';
|
|
14
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
15
|
+
import classNames from 'classnames';
|
|
16
|
+
import RadioButton from '../RadioButton';
|
|
17
|
+
import Checkbox from '../Checkbox';
|
|
18
|
+
import Toggle from '../Toggle';
|
|
19
|
+
import '../../styles/styles.scss';
|
|
20
|
+
export var LIST_ITEM_TYPE = {
|
|
21
|
+
interactive: 'interactive',
|
|
22
|
+
notInteractive: 'not-interactive',
|
|
23
|
+
};
|
|
24
|
+
export var INTERACTIVE_ELEMENT = {
|
|
25
|
+
radioButton: 'radio-button',
|
|
26
|
+
checkbox: 'checkbox',
|
|
27
|
+
toggle: 'toggle',
|
|
28
|
+
};
|
|
29
|
+
export var INTERACTIVE_POSITION = {
|
|
30
|
+
left: 'left',
|
|
31
|
+
right: 'right',
|
|
32
|
+
};
|
|
33
|
+
export var NOT_INTERACTIVE_ELEMENT = {
|
|
34
|
+
icon: 'icon',
|
|
35
|
+
indicator: 'indicator',
|
|
36
|
+
noElement: 'no-element',
|
|
37
|
+
};
|
|
38
|
+
var MIN_LIST_ITEM_HEIGHT = 44;
|
|
39
|
+
export var DEFAULT_INDICATOR_COLOR = 'blue';
|
|
40
|
+
var DEFAULT_PRESSED_CLASSNAME = 'smartapp-list-item__not-interactive--pressed';
|
|
41
|
+
var SELECTED_PRESSED_CLASSNAME = 'smartapp-list-item__not-interactive--selected__pressed';
|
|
42
|
+
var TOP_ALIGN_CLASSNAME = 'smartapp-list-item__top-align';
|
|
43
|
+
var getIsType = function (type) {
|
|
44
|
+
var isInteractiveType = type === LIST_ITEM_TYPE.interactive;
|
|
45
|
+
var isNotInteractiveType = type === LIST_ITEM_TYPE.notInteractive;
|
|
46
|
+
return { isInteractiveType: isInteractiveType, isNotInteractiveType: isNotInteractiveType };
|
|
47
|
+
};
|
|
48
|
+
var getIsElement = function (element) {
|
|
49
|
+
var isIndicatorElement = element === NOT_INTERACTIVE_ELEMENT.indicator;
|
|
50
|
+
var isIconElement = element === NOT_INTERACTIVE_ELEMENT.icon;
|
|
51
|
+
var isNoElement = element === NOT_INTERACTIVE_ELEMENT.noElement;
|
|
52
|
+
return { isIndicatorElement: isIndicatorElement, isIconElement: isIconElement, isNoElement: isNoElement };
|
|
53
|
+
};
|
|
54
|
+
var ListItem = function (props) {
|
|
55
|
+
var theme = props.theme, type = props.type, text = props.text, element = props.element, isDisabled = props.isDisabled;
|
|
56
|
+
var listItemRef = useRef(null);
|
|
57
|
+
var _a = getIsType(type), isInteractiveType = _a.isInteractiveType, isNotInteractiveType = _a.isNotInteractiveType;
|
|
58
|
+
var _b = getIsElement(element), isIndicatorElement = _b.isIndicatorElement, isIconElement = _b.isIconElement, isNoElement = _b.isNoElement;
|
|
59
|
+
var isLeftPosition = function (position) { return position === INTERACTIVE_POSITION.left; };
|
|
60
|
+
var isRightPosition = function (position) { return position === INTERACTIVE_POSITION.right; };
|
|
61
|
+
var generatePressedClassName = useCallback(function () {
|
|
62
|
+
var isElementHasSelectedProps = isIndicatorElement || isNoElement;
|
|
63
|
+
if (isNotInteractiveType && !isDisabled) {
|
|
64
|
+
if (isElementHasSelectedProps) {
|
|
65
|
+
var isSelected = props.isSelected;
|
|
66
|
+
return isSelected ? SELECTED_PRESSED_CLASSNAME : DEFAULT_PRESSED_CLASSNAME;
|
|
67
|
+
}
|
|
68
|
+
return DEFAULT_PRESSED_CLASSNAME;
|
|
69
|
+
}
|
|
70
|
+
return '';
|
|
71
|
+
}, [isDisabled, isIndicatorElement, isNoElement, isNotInteractiveType, props]);
|
|
72
|
+
var handleMouseDown = useCallback(function () {
|
|
73
|
+
var _a;
|
|
74
|
+
var pressedClassName = generatePressedClassName();
|
|
75
|
+
pressedClassName && ((_a = listItemRef.current) === null || _a === void 0 ? void 0 : _a.classList.add(pressedClassName));
|
|
76
|
+
}, [generatePressedClassName]);
|
|
77
|
+
var handleMouseUp = useCallback(function () {
|
|
78
|
+
var _a;
|
|
79
|
+
var pressedClassName = generatePressedClassName();
|
|
80
|
+
pressedClassName && ((_a = listItemRef.current) === null || _a === void 0 ? void 0 : _a.classList.remove(pressedClassName));
|
|
81
|
+
}, [generatePressedClassName]);
|
|
82
|
+
var renderInteractiveElement = function () {
|
|
83
|
+
var _a = props, _b = _a.isSelected, isSelected = _b === void 0 ? false : _b, onChange = _a.onChange;
|
|
84
|
+
var elementId = uuidv4();
|
|
85
|
+
switch (element) {
|
|
86
|
+
case INTERACTIVE_ELEMENT.radioButton:
|
|
87
|
+
return _jsx(RadioButton, { id: elementId, isChecked: isSelected, isDisabled: isDisabled, onChange: onChange });
|
|
88
|
+
case INTERACTIVE_ELEMENT.checkbox:
|
|
89
|
+
return _jsx(Checkbox, { id: elementId, isChecked: isSelected, isDisabled: isDisabled, onChange: onChange });
|
|
90
|
+
case INTERACTIVE_ELEMENT.toggle:
|
|
91
|
+
return _jsx(Toggle, { id: elementId, isChecked: isSelected, isDisabled: isDisabled, onClick: onChange });
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
var renderNotInteractiveElement = function () {
|
|
95
|
+
switch (element) {
|
|
96
|
+
case NOT_INTERACTIVE_ELEMENT.icon:
|
|
97
|
+
var icon = props.icon;
|
|
98
|
+
return _jsx("div", __assign({ className: classNames('smartapp-list-item__icon', { 'smartapp-list-item__icon--disabled': isDisabled }) }, { children: icon }));
|
|
99
|
+
case NOT_INTERACTIVE_ELEMENT.indicator:
|
|
100
|
+
var color = props.color;
|
|
101
|
+
return renderIndicatorElement({ color: color });
|
|
102
|
+
case NOT_INTERACTIVE_ELEMENT.noElement:
|
|
103
|
+
return null;
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
var renderIndicatorElement = function (_a) {
|
|
107
|
+
var _b;
|
|
108
|
+
var _c = _a.isIndicator, isIndicator = _c === void 0 ? true : _c, _d = _a.color, color = _d === void 0 ? DEFAULT_INDICATOR_COLOR : _d;
|
|
109
|
+
if (isIndicator) {
|
|
110
|
+
var indicatorColorClassName = "smartapp-list-item__indicator--".concat(color);
|
|
111
|
+
var className = classNames('smartapp-list-item__indicator', indicatorColorClassName, (_b = {},
|
|
112
|
+
_b["".concat(indicatorColorClassName, "__disabled")] = isDisabled,
|
|
113
|
+
_b));
|
|
114
|
+
return _jsx("div", { className: className });
|
|
115
|
+
}
|
|
116
|
+
return null;
|
|
117
|
+
};
|
|
118
|
+
var renderLeftElement = function () {
|
|
119
|
+
if (isInteractiveType) {
|
|
120
|
+
var _a = props, _b = _a.position, position = _b === void 0 ? INTERACTIVE_POSITION.right : _b, _c = _a.isIndicator, isIndicator = _c === void 0 ? false : _c, color = _a.color;
|
|
121
|
+
return isLeftPosition(position) ? renderInteractiveElement() : renderIndicatorElement({ isIndicator: isIndicator, color: color });
|
|
122
|
+
}
|
|
123
|
+
if (isNotInteractiveType) {
|
|
124
|
+
return renderNotInteractiveElement();
|
|
125
|
+
}
|
|
126
|
+
};
|
|
127
|
+
var renderRightElement = function () {
|
|
128
|
+
if (isInteractiveType) {
|
|
129
|
+
var _a = props.position, position = _a === void 0 ? INTERACTIVE_POSITION.right : _a;
|
|
130
|
+
return isRightPosition(position) ? renderInteractiveElement() : null;
|
|
131
|
+
}
|
|
132
|
+
};
|
|
133
|
+
var renderSecondaryText = function () {
|
|
134
|
+
if (isNotInteractiveType && isNoElement) {
|
|
135
|
+
var _a = props, secondaryText = _a.secondaryText, secondaryTextColor = _a.secondaryTextColor;
|
|
136
|
+
return secondaryText ? _jsx("div", __assign({ style: { color: secondaryTextColor } }, { children: secondaryText })) : null;
|
|
137
|
+
}
|
|
138
|
+
};
|
|
139
|
+
var generateTextClassName = function () {
|
|
140
|
+
var classNames = ['smartapp-list-item__text'];
|
|
141
|
+
if (isInteractiveType) {
|
|
142
|
+
var _a = props, _b = _a.position, position = _b === void 0 ? INTERACTIVE_POSITION.right : _b, isIndicator = _a.isIndicator;
|
|
143
|
+
var isLeftClassNeeded = isLeftPosition(position) || isIndicator;
|
|
144
|
+
isLeftClassNeeded && classNames.push('smartapp-list-item__text--left');
|
|
145
|
+
isRightPosition(position) && classNames.push('smartapp-list-item__text--right');
|
|
146
|
+
isIndicator && isRightPosition(position) && classNames.push('smartapp-list-item__text--ellipse');
|
|
147
|
+
}
|
|
148
|
+
if (isNotInteractiveType && (isIconElement || isIndicatorElement)) {
|
|
149
|
+
classNames.push('smartapp-list-item__text--left');
|
|
150
|
+
}
|
|
151
|
+
isDisabled && classNames.push('smartapp-list-item__text--disabled');
|
|
152
|
+
return classNames;
|
|
153
|
+
};
|
|
154
|
+
var generateClassName = function () {
|
|
155
|
+
var classNames = ['smartapp-list-item', "smartapp-list-item__".concat(type), "smartapp-list-item__".concat(theme)];
|
|
156
|
+
var isElementHasSelectedProps = isIndicatorElement || isNoElement;
|
|
157
|
+
if (isElementHasSelectedProps) {
|
|
158
|
+
var isSelected = props.isSelected;
|
|
159
|
+
isSelected && classNames.push("smartapp-list-item__".concat(type, "--selected"));
|
|
160
|
+
}
|
|
161
|
+
if (isNoElement) {
|
|
162
|
+
var secondaryText = props.secondaryText;
|
|
163
|
+
secondaryText && classNames.push("smartapp-list-item__".concat(type, "--with-secondary-text"));
|
|
164
|
+
}
|
|
165
|
+
isDisabled && classNames.push('smartapp-list-item__disabled');
|
|
166
|
+
return classNames;
|
|
167
|
+
};
|
|
168
|
+
useEffect(function () {
|
|
169
|
+
var listItemRefCurrent = listItemRef.current;
|
|
170
|
+
var listItemRefClassList = listItemRefCurrent === null || listItemRefCurrent === void 0 ? void 0 : listItemRefCurrent.classList;
|
|
171
|
+
var resizeObserver = new ResizeObserver(function () {
|
|
172
|
+
var _a = props.position, position = _a === void 0 ? INTERACTIVE_POSITION.right : _a;
|
|
173
|
+
var height = (listItemRefCurrent === null || listItemRefCurrent === void 0 ? void 0 : listItemRefCurrent.getBoundingClientRect().height) || 0;
|
|
174
|
+
if (isLeftPosition(position)) {
|
|
175
|
+
height > MIN_LIST_ITEM_HEIGHT ? listItemRefClassList === null || listItemRefClassList === void 0 ? void 0 : listItemRefClassList.add(TOP_ALIGN_CLASSNAME) : listItemRefClassList === null || listItemRefClassList === void 0 ? void 0 : listItemRefClassList.remove(TOP_ALIGN_CLASSNAME);
|
|
176
|
+
}
|
|
177
|
+
else {
|
|
178
|
+
listItemRefClassList === null || listItemRefClassList === void 0 ? void 0 : listItemRefClassList.remove(TOP_ALIGN_CLASSNAME);
|
|
179
|
+
}
|
|
180
|
+
});
|
|
181
|
+
if (listItemRefCurrent && isInteractiveType) {
|
|
182
|
+
resizeObserver.observe(listItemRefCurrent);
|
|
183
|
+
}
|
|
184
|
+
return function () { return resizeObserver.disconnect(); };
|
|
185
|
+
}, [isInteractiveType, props]);
|
|
186
|
+
useEffect(function () {
|
|
187
|
+
window.addEventListener('mouseup', handleMouseUp);
|
|
188
|
+
return function () {
|
|
189
|
+
window.removeEventListener('mouseup', handleMouseUp);
|
|
190
|
+
};
|
|
191
|
+
}, [handleMouseUp]);
|
|
192
|
+
return (_jsxs("div", __assign({ ref: listItemRef, className: classNames(generateClassName()), onMouseDown: handleMouseDown }, { children: [renderLeftElement(), _jsxs("div", __assign({ className: classNames(generateTextClassName()) }, { children: [_jsx("div", { children: text }), renderSecondaryText()] })), renderRightElement()] })));
|
|
193
|
+
};
|
|
194
|
+
export default ListItem;
|
|
195
|
+
//# sourceMappingURL=ListItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ListItem.js","sourceRoot":"","sources":["../../../../src/сomponents/ListItem/ListItem.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from './ListItem';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/сomponents/ListItem/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { ReactElement } from 'react';
|
|
2
|
+
import { IThemeProps } from '../../constants';
|
|
3
|
+
type TInteractivePosition = 'left' | 'right';
|
|
4
|
+
type TInteractiveElement = 'radio-button' | 'checkbox' | 'toggle';
|
|
5
|
+
export type TIndicatorColor = 'blue' | 'pink' | 'orange' | 'violet' | 'cactus' | 'lime' | 'grey';
|
|
6
|
+
export interface InteractiveItemProps {
|
|
7
|
+
type: 'interactive';
|
|
8
|
+
position?: TInteractivePosition;
|
|
9
|
+
element: TInteractiveElement;
|
|
10
|
+
isSelected?: boolean;
|
|
11
|
+
isIndicator?: boolean;
|
|
12
|
+
color?: TIndicatorColor;
|
|
13
|
+
onChange: () => void;
|
|
14
|
+
}
|
|
15
|
+
export interface NotInteractiveIconItemProps {
|
|
16
|
+
element: 'icon';
|
|
17
|
+
icon: ReactElement;
|
|
18
|
+
}
|
|
19
|
+
export interface NotInteractiveIndicatorItemProps {
|
|
20
|
+
element: 'indicator';
|
|
21
|
+
color?: TIndicatorColor;
|
|
22
|
+
isSelected?: boolean;
|
|
23
|
+
}
|
|
24
|
+
export interface NotInteractiveNoElementItemProps {
|
|
25
|
+
element: 'no-element';
|
|
26
|
+
isSelected?: boolean;
|
|
27
|
+
secondaryText?: string;
|
|
28
|
+
secondaryTextColor?: string;
|
|
29
|
+
}
|
|
30
|
+
export type NotInteractiveItemProps = (NotInteractiveIconItemProps | NotInteractiveIndicatorItemProps | NotInteractiveNoElementItemProps) & {
|
|
31
|
+
type: 'not-interactive';
|
|
32
|
+
};
|
|
33
|
+
export type IListItemProps = IThemeProps & (InteractiveItemProps | NotInteractiveItemProps) & {
|
|
34
|
+
text: string;
|
|
35
|
+
isDisabled?: boolean;
|
|
36
|
+
};
|
|
37
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/сomponents/ListItem/types.ts"],"names":[],"mappings":""}
|
|
@@ -24,6 +24,9 @@ var RadioButton = function (_a) {
|
|
|
24
24
|
}, [checkedColor, checkedHoverColor, checkedPressedColor]);
|
|
25
25
|
useEffect(function () {
|
|
26
26
|
window.addEventListener('mouseup', handleMouseUp);
|
|
27
|
+
return function () {
|
|
28
|
+
window.removeEventListener('mouseup', handleMouseUp);
|
|
29
|
+
};
|
|
27
30
|
}, []);
|
|
28
31
|
var handleMouseDown = function () { var _a; return (_a = radioButtonRef.current) === null || _a === void 0 ? void 0 : _a.classList.add('smartapp-radio-button__pressed'); };
|
|
29
32
|
var handleMouseUp = function () { var _a; return (_a = radioButtonRef.current) === null || _a === void 0 ? void 0 : _a.classList.remove('smartapp-radio-button__pressed'); };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RadioButton.js","sourceRoot":"","sources":["../../../../src/сomponents/RadioButton/RadioButton.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAc,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,OAAO,0BAA0B,CAAA;AAEjC,IAAM,WAAW,GAAG,UAAC,EAQD;QAPlB,EAAE,QAAA,EACF,kBAAkB,EAAlB,UAAU,mBAAG,KAAK,KAAA,EAClB,iBAAiB,EAAjB,SAAS,mBAAG,KAAK,KAAA,EACjB,YAAY,kBAAA,EACZ,iBAAiB,uBAAA,EACjB,mBAAmB,yBAAA,EACnB,QAAQ,cAAA;IAER,IAAM,cAAc,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAA;IAE1D,SAAS,CAAC;QACR,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,sBAAsB,EAAE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;QACvG,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,4BAA4B,EAAE,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAA;QACtH,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,8BAA8B,EAAE,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAA;IAC9H,CAAC,EAAE,CAAC,YAAY,EAAE,iBAAiB,EAAE,mBAAmB,CAAC,CAAC,CAAA;IAE1D,SAAS,CAAC;QACR,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"RadioButton.js","sourceRoot":"","sources":["../../../../src/сomponents/RadioButton/RadioButton.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAc,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,OAAO,0BAA0B,CAAA;AAEjC,IAAM,WAAW,GAAG,UAAC,EAQD;QAPlB,EAAE,QAAA,EACF,kBAAkB,EAAlB,UAAU,mBAAG,KAAK,KAAA,EAClB,iBAAiB,EAAjB,SAAS,mBAAG,KAAK,KAAA,EACjB,YAAY,kBAAA,EACZ,iBAAiB,uBAAA,EACjB,mBAAmB,yBAAA,EACnB,QAAQ,cAAA;IAER,IAAM,cAAc,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAA;IAE1D,SAAS,CAAC;QACR,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,sBAAsB,EAAE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;QACvG,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,4BAA4B,EAAE,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAA;QACtH,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,8BAA8B,EAAE,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAA;IAC9H,CAAC,EAAE,CAAC,YAAY,EAAE,iBAAiB,EAAE,mBAAmB,CAAC,CAAC,CAAA;IAE1D,SAAS,CAAC;QACR,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;QAEjD,OAAO;YACL,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;QACtD,CAAC,CAAA;IACH,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,IAAM,eAAe,GAAG,sBAAM,OAAA,MAAA,cAAc,CAAC,OAAO,0CAAE,SAAS,CAAC,GAAG,CAAC,gCAAgC,CAAC,CAAA,EAAA,CAAA;IACrG,IAAM,aAAa,GAAG,sBAAM,OAAA,MAAA,cAAc,CAAC,OAAO,0CAAE,SAAS,CAAC,MAAM,CAAC,gCAAgC,CAAC,CAAA,EAAA,CAAA;IAEtG,OAAO,CACL,uBAAK,GAAG,EAAE,cAAc,EAAE,SAAS,EAAC,uBAAuB,gBACzD,yBAAO,OAAO,EAAE,gCAAyB,EAAE,CAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,eAAe,gBAC5F,gBAAO,IAAI,EAAC,OAAO,EAAC,EAAE,EAAE,gCAAyB,EAAE,CAAE,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,GAAI,IAC7F,IACJ,CACP,CAAA;AACH,CAAC,CAAA;AAED,eAAe,WAAW,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { ITextareaProps } from './types';
|
|
2
2
|
import '../../styles/styles.scss';
|
|
3
|
-
declare const Textarea: ({ isDisabled, isAdjustToTextHeight, theme, title, placeholder, defaultValue, error, maxCharacters, onChange, }: ITextareaProps) => import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
declare const Textarea: ({ isDisabled, isAdjustToTextHeight, theme, fillType, title, placeholder, defaultValue, error, maxCharacters, onChange, }: ITextareaProps) => import("react/jsx-runtime").JSX.Element;
|
|
4
4
|
export default Textarea;
|
|
@@ -13,14 +13,15 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
13
13
|
import { useEffect, useRef, useState } from 'react';
|
|
14
14
|
import classNames from 'classnames';
|
|
15
15
|
import { isEmpty, isNil, isNull } from 'lodash';
|
|
16
|
-
import { getClassNames } from '../../helpers';
|
|
17
|
-
import { INPUT_COUNTER_TIMEOUT, MIN_TEXTAREA_HEIGHT, THEME } from '../../constants';
|
|
16
|
+
import { getClassNames, isSecondaryFillType } from '../../helpers';
|
|
17
|
+
import { FILL_TYPE, INPUT_COUNTER_TIMEOUT, MIN_TEXTAREA_HEIGHT, THEME } from '../../constants';
|
|
18
18
|
import '../../styles/styles.scss';
|
|
19
19
|
var Textarea = function (_a) {
|
|
20
|
-
var
|
|
20
|
+
var _b;
|
|
21
|
+
var isDisabled = _a.isDisabled, _c = _a.isAdjustToTextHeight, isAdjustToTextHeight = _c === void 0 ? false : _c, _d = _a.theme, theme = _d === void 0 ? THEME.default : _d, _e = _a.fillType, fillType = _e === void 0 ? FILL_TYPE.primary : _e, title = _a.title, placeholder = _a.placeholder, defaultValue = _a.defaultValue, error = _a.error, maxCharacters = _a.maxCharacters, onChange = _a.onChange;
|
|
21
22
|
var textareaRef = useRef(null);
|
|
22
|
-
var
|
|
23
|
-
var
|
|
23
|
+
var _f = useState(maxCharacters || 0), remainingCharacters = _f[0], setRemainingCharacters = _f[1];
|
|
24
|
+
var _g = useState(null), timeoutId = _g[0], setTimeoutId = _g[1];
|
|
24
25
|
var handleInput = function () {
|
|
25
26
|
var textareaRefCurrent = textareaRef.current;
|
|
26
27
|
if (textareaRefCurrent && isAdjustToTextHeight) {
|
|
@@ -76,9 +77,11 @@ var Textarea = function (_a) {
|
|
|
76
77
|
'smartapp-textarea__container--counter__error': !isNull(timeoutId),
|
|
77
78
|
}) }, { children: remainingCharacters })));
|
|
78
79
|
};
|
|
79
|
-
return (_jsxs("div", __assign({ className: "smartapp-textarea" }, { children: [title && _jsx("div", __assign({ className: getClassNames({ className: 'smartapp-textarea__title', delimiter: '--', additionalClassName: theme }) }, { children: title })), _jsxs("div", __assign({ className: "smartapp-textarea__container" }, { children: [_jsx("textarea", { ref: textareaRef, className: classNames('smartapp-textarea__container--field', "smartapp-textarea__container--field__".concat(theme), {
|
|
80
|
-
|
|
81
|
-
|
|
80
|
+
return (_jsxs("div", __assign({ className: "smartapp-textarea" }, { children: [title && _jsx("div", __assign({ className: getClassNames({ className: 'smartapp-textarea__title', delimiter: '--', additionalClassName: theme }) }, { children: title })), _jsxs("div", __assign({ className: "smartapp-textarea__container" }, { children: [_jsx("textarea", { ref: textareaRef, className: classNames('smartapp-textarea__container--field', "smartapp-textarea__container--field__".concat(theme), (_b = {
|
|
81
|
+
'smartapp-textarea__container--field__error': !isEmpty(error)
|
|
82
|
+
},
|
|
83
|
+
_b["smartapp-textarea__container--field__".concat(theme, "--secondary-fill-type")] = isSecondaryFillType(fillType),
|
|
84
|
+
_b)), disabled: isDisabled, placeholder: placeholder, defaultValue: defaultValue, maxLength: maxCharacters, onKeyDown: handleKeyDown, onChange: handleChange, onInput: handleInput }), renderCounter()] })), error && _jsx("div", __assign({ className: "smartapp-textarea__error" }, { children: error }))] })));
|
|
82
85
|
};
|
|
83
86
|
export default Textarea;
|
|
84
87
|
//# sourceMappingURL=Textarea.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Textarea.js","sourceRoot":"","sources":["../../../../src/сomponents/Textarea/Textarea.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAc,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC1D,OAAO,UAAU,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"Textarea.js","sourceRoot":"","sources":["../../../../src/сomponents/Textarea/Textarea.tsx"],"names":[],"mappings":"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"}
|
|
@@ -25,6 +25,9 @@ var Toggle = function (_a) {
|
|
|
25
25
|
}, [checkedColor, checkedHoverColor, checkedPressedColor]);
|
|
26
26
|
useEffect(function () {
|
|
27
27
|
window.addEventListener('mouseup', handleMouseUp);
|
|
28
|
+
return function () {
|
|
29
|
+
window.removeEventListener('mouseup', handleMouseUp);
|
|
30
|
+
};
|
|
28
31
|
}, []);
|
|
29
32
|
var handleClick = function () { return !isDisabled && onClick(); };
|
|
30
33
|
var handleMouseDown = function () { var _a; return (_a = toggleRef.current) === null || _a === void 0 ? void 0 : _a.classList.add('smartapp-toggle-wrapper__pressed'); };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toggle.js","sourceRoot":"","sources":["../../../../src/сomponents/Toggle/Toggle.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAc,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAChD,OAAO,UAAU,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,OAAO,0BAA0B,CAAA;AAEjC,IAAM,MAAM,GAAG,UAAC,EAQD;QAPb,UAAa,EAAb,EAAE,mBAAG,QAAQ,KAAA,EACb,kBAAkB,EAAlB,UAAU,mBAAG,KAAK,KAAA,EAClB,iBAAiB,EAAjB,SAAS,mBAAG,KAAK,KAAA,EACjB,YAAY,kBAAA,EACZ,iBAAiB,uBAAA,EACjB,mBAAmB,yBAAA,EACnB,eAA+B,EAA/B,OAAO,mBAAG,cAAY,OAAA,SAAS,EAAT,CAAS,KAAA;IAE/B,IAAM,SAAS,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAA;IAErD,SAAS,CAAC;QACR,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,gBAAgB,EAAE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;QACjG,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,sBAAsB,EAAE,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAA;QAChH,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,wBAAwB,EAAE,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAA;IACxH,CAAC,EAAE,CAAC,YAAY,EAAE,iBAAiB,EAAE,mBAAmB,CAAC,CAAC,CAAA;IAE1D,SAAS,CAAC;QACR,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"Toggle.js","sourceRoot":"","sources":["../../../../src/сomponents/Toggle/Toggle.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAc,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAChD,OAAO,UAAU,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAA;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAExC,OAAO,0BAA0B,CAAA;AAEjC,IAAM,MAAM,GAAG,UAAC,EAQD;QAPb,UAAa,EAAb,EAAE,mBAAG,QAAQ,KAAA,EACb,kBAAkB,EAAlB,UAAU,mBAAG,KAAK,KAAA,EAClB,iBAAiB,EAAjB,SAAS,mBAAG,KAAK,KAAA,EACjB,YAAY,kBAAA,EACZ,iBAAiB,uBAAA,EACjB,mBAAmB,yBAAA,EACnB,eAA+B,EAA/B,OAAO,mBAAG,cAAY,OAAA,SAAS,EAAT,CAAS,KAAA;IAE/B,IAAM,SAAS,GAAG,MAAM,CAAwB,IAAI,CAAC,CAAA;IAErD,SAAS,CAAC;QACR,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,gBAAgB,EAAE,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC,CAAA;QACjG,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,sBAAsB,EAAE,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAA;QAChH,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,WAAW,CAAC,wBAAwB,EAAE,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAA;IACxH,CAAC,EAAE,CAAC,YAAY,EAAE,iBAAiB,EAAE,mBAAmB,CAAC,CAAC,CAAA;IAE1D,SAAS,CAAC;QACR,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;QAEjD,OAAO;YACL,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;QACtD,CAAC,CAAA;IACH,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,IAAM,WAAW,GAAG,cAAM,OAAA,CAAC,UAAU,IAAI,OAAO,EAAE,EAAxB,CAAwB,CAAA;IAClD,IAAM,eAAe,GAAG,sBAAM,OAAA,MAAA,SAAS,CAAC,OAAO,0CAAE,SAAS,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAA,EAAA,CAAA;IAClG,IAAM,aAAa,GAAG,sBAAM,OAAA,MAAA,SAAS,CAAC,OAAO,0CAAE,SAAS,CAAC,MAAM,CAAC,kCAAkC,CAAC,CAAA,EAAA,CAAA;IAEnG,OAAO,CACL,uBAAK,GAAG,EAAE,SAAS,EAAE,SAAS,EAAC,yBAAyB,gBACtD,0BAAO,OAAO,EAAE,0BAAmB,EAAE,CAAE,EAAE,SAAS,EAAC,iBAAiB,EAAC,OAAO,EAAE,WAAW,iBACvF,gBAAO,IAAI,EAAC,UAAU,EAAC,EAAE,EAAE,0BAAmB,EAAE,CAAE,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,SAAG,EACnF,eAAM,SAAS,EAAE,UAAU,CAAC,iBAAiB,EAAE,EAAE,2BAA2B,EAAE,UAAU,EAAE,CAAC,EAAE,WAAW,EAAE,eAAe,GAAI,KACvH,IACJ,CACP,CAAA;AACH,CAAC,CAAA;AAED,eAAe,MAAM,CAAA"}
|
|
@@ -13,26 +13,36 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
13
13
|
import { components } from 'react-select';
|
|
14
14
|
import { isEqual } from 'lodash';
|
|
15
15
|
import Chip from '../../Chip';
|
|
16
|
-
import { getClassNames
|
|
16
|
+
import { getClassNames } from '../../../helpers';
|
|
17
|
+
import { LAYOUT_TYPE } from '../../../constants';
|
|
17
18
|
import '../../../styles/styles.scss';
|
|
18
19
|
var MAX_NUMBER_OF_USERS_OUT_OF_FOCUS_FOR_MINIMAL_LAYOUT_TYPE = 3;
|
|
20
|
+
var MAX_NUMBER_OF_USERS_OUT_OF_FOCUS_FOR_FULLSCREEN_LAYOUT_TYPE = 4;
|
|
19
21
|
var MAX_NUMBER_OF_USERS_OUT_OF_FOCUS_FOR_HALF_LAYOUT_TYPE = 5;
|
|
20
22
|
var MultiValueLabel = function (props) {
|
|
21
|
-
var _a = props.data, value = _a.value, label = _a.label, avatar = _a.avatar, platform = _a.platform, theme = _a.theme, layoutType = _a.layoutType, isChipsCollapsable = _a.isChipsCollapsable, isInputFocused = _a.isInputFocused, _b = props.selectProps, isDisabled = _b.isDisabled, selectedUsers = _b.value, onChange = _b.onChange;
|
|
23
|
+
var _a = props.data, value = _a.value, label = _a.label, avatar = _a.avatar, platform = _a.platform, theme = _a.theme, layoutType = _a.layoutType, isChipsCollapsable = _a.isChipsCollapsable, isInputFocused = _a.isInputFocused, isError = _a.isError, _b = props.selectProps, isDisabled = _b.isDisabled, selectedUsers = _b.value, onChange = _b.onChange;
|
|
22
24
|
var userIndex = selectedUsers.findIndex(function (selectedUser) { return selectedUser.value === value; });
|
|
23
|
-
var
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
25
|
+
var generateMaxNumberOfUsersOutOfFocus = function () {
|
|
26
|
+
switch (layoutType) {
|
|
27
|
+
case LAYOUT_TYPE.minimal:
|
|
28
|
+
return MAX_NUMBER_OF_USERS_OUT_OF_FOCUS_FOR_MINIMAL_LAYOUT_TYPE;
|
|
29
|
+
case LAYOUT_TYPE.half:
|
|
30
|
+
return MAX_NUMBER_OF_USERS_OUT_OF_FOCUS_FOR_HALF_LAYOUT_TYPE;
|
|
31
|
+
case LAYOUT_TYPE.fullscreen:
|
|
32
|
+
return MAX_NUMBER_OF_USERS_OUT_OF_FOCUS_FOR_FULLSCREEN_LAYOUT_TYPE;
|
|
33
|
+
default:
|
|
34
|
+
return Number.MAX_SAFE_INTEGER;
|
|
35
|
+
}
|
|
36
|
+
};
|
|
28
37
|
var handleDelete = function () { return onChange(selectedUsers.filter(function (user) { return !isEqual(user, props.data); })); };
|
|
29
38
|
var handleMouseDown = function (event) {
|
|
30
39
|
event.preventDefault();
|
|
31
40
|
event.stopPropagation();
|
|
32
41
|
};
|
|
33
42
|
var handleTouchEnd = function (event) { return event.stopPropagation(); };
|
|
43
|
+
var maxNumberOfUsersOutOfFocus = generateMaxNumberOfUsersOutOfFocus();
|
|
34
44
|
if (!isChipsCollapsable || isInputFocused.current || (!isInputFocused.current && userIndex < maxNumberOfUsersOutOfFocus)) {
|
|
35
|
-
return (_jsx(components.MultiValueLabel, __assign({}, props, { children: _jsx("div", __assign({ onMouseDown: handleMouseDown, onTouchEnd: handleTouchEnd }, { children: _jsx(Chip, { theme: theme, name: label, avatar: avatar, isDisabled: isDisabled, onDelete: handleDelete }) })) })));
|
|
45
|
+
return (_jsx(components.MultiValueLabel, __assign({}, props, { children: _jsx("div", __assign({ onMouseDown: handleMouseDown, onTouchEnd: handleTouchEnd }, { children: _jsx(Chip, { theme: theme, name: label, avatar: avatar, isError: isError, isDisabled: isDisabled, onDelete: handleDelete }) })) })));
|
|
36
46
|
}
|
|
37
47
|
if (isChipsCollapsable && !isInputFocused.current && userIndex === maxNumberOfUsersOutOfFocus) {
|
|
38
48
|
return (_jsxs("div", __assign({ className: getClassNames({ className: 'multi-value-label-counter', delimiter: '__', additionalClassName: [platform, theme] }), onTouchEnd: handleTouchEnd }, { children: ["+", selectedUsers.length - maxNumberOfUsersOutOfFocus] })));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiValueLabel.js","sourceRoot":"","sources":["../../../../../src/сomponents/UserDropdown/MultiValueLabel/MultiValueLabel.tsx"],"names":[],"mappings":";;;;;;;;;;;;AACA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAChC,OAAO,IAAI,MAAM,YAAY,CAAA;AAC7B,OAAO,EAAE,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"MultiValueLabel.js","sourceRoot":"","sources":["../../../../../src/сomponents/UserDropdown/MultiValueLabel/MultiValueLabel.tsx"],"names":[],"mappings":";;;;;;;;;;;;AACA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,QAAQ,CAAA;AAChC,OAAO,IAAI,MAAM,YAAY,CAAA;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAEhD,OAAO,6BAA6B,CAAA;AAEpC,IAAM,wDAAwD,GAAG,CAAC,CAAA;AAClE,IAAM,2DAA2D,GAAG,CAAC,CAAA;AACrE,IAAM,qDAAqD,GAAG,CAAC,CAAA;AAE/D,IAAM,eAAe,GAAG,UAAC,KAAU;IAE/B,IAAA,KAEE,KAAK,KAFiG,EAAhG,KAAK,WAAA,EAAE,KAAK,WAAA,EAAE,MAAM,YAAA,EAAE,QAAQ,cAAA,EAAE,KAAK,WAAA,EAAE,UAAU,gBAAA,EAAE,kBAAkB,wBAAA,EAAE,cAAc,oBAAA,EAAE,OAAO,aAAA,EACtG,KACE,KAAK,YADoD,EAA5C,UAAU,gBAAA,EAAS,aAAa,WAAA,EAAE,QAAQ,cAAE,CACpD;IACT,IAAM,SAAS,GAAG,aAAa,CAAC,SAAS,CAAC,UAAC,YAA6B,IAAK,OAAA,YAAY,CAAC,KAAK,KAAK,KAAK,EAA5B,CAA4B,CAAC,CAAA;IAE1G,IAAM,kCAAkC,GAAG;QACzC,QAAQ,UAAU,EAAE;YAClB,KAAK,WAAW,CAAC,OAAO;gBACtB,OAAO,wDAAwD,CAAA;YACjE,KAAK,WAAW,CAAC,IAAI;gBACnB,OAAO,qDAAqD,CAAA;YAC9D,KAAK,WAAW,CAAC,UAAU;gBACzB,OAAO,2DAA2D,CAAA;YACpE;gBACE,OAAO,MAAM,CAAC,gBAAgB,CAAA;SACjC;IACH,CAAC,CAAA;IAED,IAAM,YAAY,GAAG,cAAM,OAAA,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,UAAC,IAAqB,IAAK,OAAA,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,EAA1B,CAA0B,CAAC,CAAC,EAArF,CAAqF,CAAA;IAEhH,IAAM,eAAe,GAAG,UAAC,KAAuC;QAC9D,KAAK,CAAC,cAAc,EAAE,CAAA;QACtB,KAAK,CAAC,eAAe,EAAE,CAAA;IACzB,CAAC,CAAA;IAED,IAAM,cAAc,GAAG,UAAC,KAAuC,IAAK,OAAA,KAAK,CAAC,eAAe,EAAE,EAAvB,CAAuB,CAAA;IAE3F,IAAM,0BAA0B,GAAG,kCAAkC,EAAE,CAAA;IAEvE,IAAI,CAAC,kBAAkB,IAAI,cAAc,CAAC,OAAO,IAAI,CAAC,CAAC,cAAc,CAAC,OAAO,IAAI,SAAS,GAAG,0BAA0B,CAAC,EAAE;QACxH,OAAO,CACL,KAAC,UAAU,CAAC,eAAe,eAAK,KAAK,cACnC,uBAAK,WAAW,EAAE,eAAe,EAAE,UAAU,EAAE,cAAc,gBAC3D,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,YAAY,GAAI,IACjH,IACqB,CAC9B,CAAA;KACF;IAED,IAAI,kBAAkB,IAAI,CAAC,cAAc,CAAC,OAAO,IAAI,SAAS,KAAK,0BAA0B,EAAE;QAC7F,OAAO,CACL,wBACE,SAAS,EAAE,aAAa,CAAC,EAAE,SAAS,EAAE,2BAA2B,EAAE,SAAS,EAAE,IAAI,EAAE,mBAAmB,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,EAC7H,UAAU,EAAE,cAAc,sBAExB,aAAa,CAAC,MAAM,GAAG,0BAA0B,KAC/C,CACP,CAAA;KACF;IAED,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,eAAe,eAAe,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { IUserDropdownProps } from './types';
|
|
2
2
|
import '../../styles/styles.scss';
|
|
3
|
-
declare const UserDropdown: ({ theme, platform, isDisabled, isLoading, isChipsVisible, isChipsCollapsable, isMenuCloseOnSelect, hasNextPage, isNextPageLoading, layoutType, title, mask, placeholder, hint, noOptionsMessage, maxMembersCount,
|
|
3
|
+
declare const UserDropdown: ({ theme, platform, isDisabled, isLoading, isChipsVisible, isChipsCollapsable, isMenuCloseOnSelect, hasNextPage, isNextPageLoading, layoutType, title, mask, placeholder, hint, noOptionsMessage, maxMembersCount, fillType, selectedEntries, corporateEntries, myContactsEntries, onInputChange, onChange, onMenuClose, onLoadNextPage, menuPosition, }: IUserDropdownProps) => import("react/jsx-runtime").JSX.Element;
|
|
4
4
|
export default UserDropdown;
|
|
@@ -31,13 +31,12 @@ import Modal from '../Modal';
|
|
|
31
31
|
import ContactBottomSheet from './ContactBottomSheet/ContactBottomSheet';
|
|
32
32
|
import { IndicatorSeparator, DropdownIndicator, LoadingIndicator, MultiValueRemove, generateCorporateOptionsToSelect, generateContactsOptionsToSelect, generateCorporateOption, generateContactsOption, generateEnteredByUserOption, } from './helpers';
|
|
33
33
|
import { getClassNames, isIosPlatform } from '../../helpers';
|
|
34
|
-
import { DEFAULT_INPUT_PADDING, ENTER_KEY,
|
|
34
|
+
import { DEFAULT_INPUT_PADDING, ENTER_KEY, FILL_TYPE, INPUT_COUNTER_TIMEOUT, LAYOUT_TYPE, MASK_INPUT_PL, MENU_POSITIONS, PLATFORM, THEME, } from '../../constants';
|
|
35
35
|
import { darkerGrayBackgroundColor } from './colors';
|
|
36
36
|
import selectStyles from './selectStyles';
|
|
37
37
|
import '../../styles/styles.scss';
|
|
38
38
|
var MIN_INPUT_SYMBOLS = 3;
|
|
39
39
|
var EMAIL_FIELD = 'email';
|
|
40
|
-
var TOP_MENU_POSITION = 'top';
|
|
41
40
|
var EXCLUDED_FIELDS;
|
|
42
41
|
(function (EXCLUDED_FIELDS) {
|
|
43
42
|
EXCLUDED_FIELDS["value"] = "value";
|
|
@@ -52,10 +51,11 @@ var EXCLUDED_FIELDS;
|
|
|
52
51
|
EXCLUDED_FIELDS["setIsSearchable"] = "setIsSearchable";
|
|
53
52
|
EXCLUDED_FIELDS["selectRef"] = "selectRef";
|
|
54
53
|
EXCLUDED_FIELDS["setModalData"] = "setModalData";
|
|
54
|
+
EXCLUDED_FIELDS["isError"] = "isError";
|
|
55
55
|
})(EXCLUDED_FIELDS || (EXCLUDED_FIELDS = {}));
|
|
56
56
|
var Input = function (props) { return _jsx(components.Input, __assign({}, props, { enterkeyhint: "done" })); };
|
|
57
57
|
var UserDropdown = function (_a) {
|
|
58
|
-
var _b = _a.theme, theme = _b === void 0 ? THEME.default : _b, _c = _a.platform, platform = _c === void 0 ? PLATFORM.web : _c, _d = _a.isDisabled, isDisabled = _d === void 0 ? false : _d, _e = _a.isLoading, isLoading = _e === void 0 ? false : _e, _f = _a.isChipsVisible, isChipsVisible = _f === void 0 ? true : _f, _g = _a.isChipsCollapsable, isChipsCollapsable = _g === void 0 ? false : _g, _h = _a.isMenuCloseOnSelect, isMenuCloseOnSelect = _h === void 0 ? true : _h, _j = _a.hasNextPage, hasNextPage = _j === void 0 ? false : _j, _k = _a.isNextPageLoading, isNextPageLoading = _k === void 0 ? false : _k, _l = _a.layoutType, layoutType = _l === void 0 ? LAYOUT_TYPE.minimal : _l, title = _a.title, mask = _a.mask, placeholder = _a.placeholder, hint = _a.hint, noOptionsMessage = _a.noOptionsMessage, maxMembersCount = _a.maxMembersCount, _m = _a.
|
|
58
|
+
var _b = _a.theme, theme = _b === void 0 ? THEME.default : _b, _c = _a.platform, platform = _c === void 0 ? PLATFORM.web : _c, _d = _a.isDisabled, isDisabled = _d === void 0 ? false : _d, _e = _a.isLoading, isLoading = _e === void 0 ? false : _e, _f = _a.isChipsVisible, isChipsVisible = _f === void 0 ? true : _f, _g = _a.isChipsCollapsable, isChipsCollapsable = _g === void 0 ? false : _g, _h = _a.isMenuCloseOnSelect, isMenuCloseOnSelect = _h === void 0 ? true : _h, _j = _a.hasNextPage, hasNextPage = _j === void 0 ? false : _j, _k = _a.isNextPageLoading, isNextPageLoading = _k === void 0 ? false : _k, _l = _a.layoutType, layoutType = _l === void 0 ? LAYOUT_TYPE.minimal : _l, title = _a.title, mask = _a.mask, placeholder = _a.placeholder, hint = _a.hint, noOptionsMessage = _a.noOptionsMessage, maxMembersCount = _a.maxMembersCount, _m = _a.fillType, fillType = _m === void 0 ? FILL_TYPE.primary : _m, _o = _a.selectedEntries, selectedEntries = _o === void 0 ? [] : _o, corporateEntries = _a.corporateEntries, myContactsEntries = _a.myContactsEntries, onInputChange = _a.onInputChange, onChange = _a.onChange, onMenuClose = _a.onMenuClose, onLoadNextPage = _a.onLoadNextPage, _p = _a.menuPosition, menuPosition = _p === void 0 ? MENU_POSITIONS.top : _p;
|
|
59
59
|
var _q = useState([]), selectedUsers = _q[0], setSelectedUsers = _q[1];
|
|
60
60
|
var _r = useState(null), timeoutId = _r[0], setTimeoutId = _r[1];
|
|
61
61
|
var _s = useState(''), paddingLeft = _s[0], setPaddingLeft = _s[1];
|
|
@@ -77,10 +77,13 @@ var UserDropdown = function (_a) {
|
|
|
77
77
|
isChipsVisible: isChipsVisible,
|
|
78
78
|
isMaxMembersAdded: maxMembersCount && isChipsVisible ? selectedUsers.length === maxMembersCount : false,
|
|
79
79
|
isDisabled: isDisabled,
|
|
80
|
-
isError: isError
|
|
80
|
+
isError: isError || selectedUsers.some(function (_a) {
|
|
81
|
+
var isError = _a.isError;
|
|
82
|
+
return isError;
|
|
83
|
+
}),
|
|
81
84
|
lastRowNumber: isChipsVisible ? Math.ceil(selectedUsers.length / 2) + 1 : 1,
|
|
82
85
|
paddingLeft: paddingLeft,
|
|
83
|
-
|
|
86
|
+
fillType: fillType,
|
|
84
87
|
theme: theme,
|
|
85
88
|
layoutType: layoutType,
|
|
86
89
|
});
|
|
@@ -125,6 +128,7 @@ var UserDropdown = function (_a) {
|
|
|
125
128
|
var _a = selectRefCurrent.props, options = _a.options, inputValue = _a.inputValue, onChange = _a.onChange, onInputChange = _a.onInputChange;
|
|
126
129
|
var trimInputValue = inputValue.trim();
|
|
127
130
|
var regex = new RegExp(/^(([^<>()[\].,;:\s@"]+(\.[^<>()[\].,;:\s@"]+)*)|(".+"))@(([^<>()[\].,;:\s@"]+\.)+[^<>()[\].,;:\s@"]{2,})$/);
|
|
131
|
+
var optionProps = { email: trimInputValue, theme: theme, platform: platform, layoutType: layoutType, isChipsCollapsable: isChipsCollapsable, isInputFocused: isInputFocused, selectRef: selectRef };
|
|
128
132
|
if (regex.test(trimInputValue)) {
|
|
129
133
|
var isUserAlreadySelected = selectedUsers.find(function (_a) {
|
|
130
134
|
var email = _a.email;
|
|
@@ -134,14 +138,12 @@ var UserDropdown = function (_a) {
|
|
|
134
138
|
var email = _a.email;
|
|
135
139
|
return email === trimInputValue;
|
|
136
140
|
});
|
|
137
|
-
onChange(__spreadArray(__spreadArray([], selectedUsers, true), [
|
|
138
|
-
existingUser ||
|
|
139
|
-
generateEnteredByUserOption({ email: trimInputValue, theme: theme, platform: platform, layoutType: layoutType, isChipsCollapsable: isChipsCollapsable, isInputFocused: isInputFocused, selectRef: selectRef }),
|
|
140
|
-
], false));
|
|
141
|
+
onChange(__spreadArray(__spreadArray([], selectedUsers, true), [existingUser || generateEnteredByUserOption(optionProps)], false));
|
|
141
142
|
isUserAlreadySelected && needToShowError ? setIsError(true) : onInputChange('');
|
|
142
143
|
}
|
|
143
|
-
else {
|
|
144
|
-
|
|
144
|
+
else if (trimInputValue) {
|
|
145
|
+
onChange(__spreadArray(__spreadArray([], selectedUsers, true), [generateEnteredByUserOption(__assign(__assign({}, optionProps), { isError: true }))], false));
|
|
146
|
+
onInputChange('');
|
|
145
147
|
}
|
|
146
148
|
};
|
|
147
149
|
var handleKeyDown = function (event) {
|
|
@@ -168,7 +170,7 @@ var UserDropdown = function (_a) {
|
|
|
168
170
|
EXCLUDED_FIELDS.setModalData,
|
|
169
171
|
]);
|
|
170
172
|
var entryFieldsToExclude = isMyContacts ? [EXCLUDED_FIELDS.isMyContacts] : [];
|
|
171
|
-
var fieldsToExclude = isEnteredByUser ? [EXCLUDED_FIELDS.isEnteredByUser] : entryFieldsToExclude;
|
|
173
|
+
var fieldsToExclude = isEnteredByUser ? [EXCLUDED_FIELDS.isEnteredByUser, EXCLUDED_FIELDS.isError] : entryFieldsToExclude;
|
|
172
174
|
users.push(omit(userToAdd, fieldsToExclude));
|
|
173
175
|
});
|
|
174
176
|
onChange(users);
|