@expressms/smartapp-ui 3.0.0-alpha.1 → 3.0.0-alpha.100
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/accepted-invite-status.svg +4 -0
- package/build/main/assets/icons/calendar-arrow-next.svg +3 -0
- package/build/main/assets/icons/calendar-arrow-prev.svg +3 -0
- package/build/main/assets/icons/declined-invite-status.svg +4 -0
- package/build/main/assets/icons/needs-action-invite-status.svg +4 -0
- package/build/main/assets/icons/notification-failure-filled.svg +3 -0
- package/build/main/assets/icons/notification-info-filled.svg +5 -0
- package/build/main/assets/icons/notification-success-filled.svg +4 -0
- package/build/main/assets/icons/select-arrow-down.svg +3 -0
- package/build/main/assets/icons/select-arrow-up.svg +3 -0
- package/build/main/assets/storybook/index.d.ts +2 -0
- package/build/main/assets/storybook/index.js +2 -0
- package/build/main/assets/storybook/index.js.map +1 -1
- package/build/main/constants/constants.d.ts +86 -44
- package/build/main/constants/constants.js +124 -48
- package/build/main/constants/constants.js.map +1 -1
- package/build/main/constants/types.d.ts +9 -1
- package/build/main/helpers/index.d.ts +5 -0
- package/build/main/helpers/index.js +12 -1
- package/build/main/helpers/index.js.map +1 -1
- package/build/main/hooks/useCharHintDisplay.d.ts +9 -0
- package/build/main/hooks/useCharHintDisplay.js +35 -0
- package/build/main/hooks/useCharHintDisplay.js.map +1 -0
- package/build/main/hooks/useMobileLongTap.d.ts +16 -0
- package/build/main/hooks/useMobileLongTap.js +55 -0
- package/build/main/hooks/useMobileLongTap.js.map +1 -0
- package/build/main/hooks/useModal.d.ts +17 -10
- package/build/main/hooks/useModal.js +178 -14
- package/build/main/hooks/useModal.js.map +1 -1
- package/build/main/index.d.ts +2 -0
- package/build/main/index.js +2 -0
- package/build/main/index.js.map +1 -1
- package/build/main/styles/styles.scss +2 -2
- package/build/main//321/201omponents/AttachedFile/AttachedFile.d.ts +1 -1
- package/build/main//321/201omponents/AttachedFile/AttachedFile.js +56 -6
- package/build/main//321/201omponents/AttachedFile/AttachedFile.js.map +1 -1
- package/build/main//321/201omponents/AttachedFile/types.d.ts +6 -5
- package/build/main//321/201omponents/Avatar/Avatar.d.ts +3 -2
- package/build/main//321/201omponents/Avatar/Avatar.js +34 -5
- package/build/main//321/201omponents/Avatar/Avatar.js.map +1 -1
- package/build/main//321/201omponents/Avatar/types.d.ts +4 -3
- package/build/main//321/201omponents/Avatar/types.js.map +1 -1
- package/build/main//321/201omponents/Button/Button.d.ts +1 -1
- package/build/main//321/201omponents/Button/Button.js +21 -9
- package/build/main//321/201omponents/Button/Button.js.map +1 -1
- package/build/main//321/201omponents/Button/types.d.ts +9 -3
- package/build/main//321/201omponents/Button/types.js +3 -0
- package/build/main//321/201omponents/Button/types.js.map +1 -1
- package/build/main//321/201omponents/Calendar/Calendar.d.ts +2 -2
- package/build/main//321/201omponents/Calendar/Calendar.js +88 -41
- package/build/main//321/201omponents/Calendar/Calendar.js.map +1 -1
- package/build/main//321/201omponents/Calendar/types.d.ts +18 -8
- package/build/main//321/201omponents/Charts/ChartBar/ChartBar.js +1 -1
- package/build/main//321/201omponents/Charts/ChartLine/ChartLine.js +1 -1
- package/build/main//321/201omponents/Charts/ChartPie/ChartPie.js +1 -1
- package/build/main//321/201omponents/Chip/Chip.d.ts +3 -2
- package/build/main//321/201omponents/Chip/Chip.js +175 -26
- package/build/main//321/201omponents/Chip/Chip.js.map +1 -1
- package/build/main//321/201omponents/Chip/types.d.ts +15 -5
- package/build/main//321/201omponents/ChipDndContext/ChipDndContext.d.ts +13 -0
- package/build/main//321/201omponents/ChipDndContext/ChipDndContext.js +76 -0
- package/build/main//321/201omponents/ChipDndContext/ChipDndContext.js.map +1 -0
- package/build/main//321/201omponents/ChipDndContext/index.d.ts +1 -0
- package/build/main//321/201omponents/ChipDndContext/index.js +2 -0
- package/build/main//321/201omponents/ChipDndContext/index.js.map +1 -0
- package/build/main//321/201omponents/ConfirmationModal/ConfirmationModal.d.ts +1 -1
- package/build/main//321/201omponents/ConfirmationModal/ConfirmationModal.js +3 -2
- package/build/main//321/201omponents/ConfirmationModal/ConfirmationModal.js.map +1 -1
- package/build/main//321/201omponents/ConfirmationModal/types.d.ts +5 -2
- package/build/main//321/201omponents/ContextMenu/ContextMenu.d.ts +1 -1
- package/build/main//321/201omponents/ContextMenu/ContextMenu.js +66 -26
- package/build/main//321/201omponents/ContextMenu/ContextMenu.js.map +1 -1
- package/build/main//321/201omponents/ContextMenu/types.d.ts +9 -7
- package/build/main//321/201omponents/ContextMenuItem/ContextMenuItem.d.ts +4 -0
- package/build/main//321/201omponents/ContextMenuItem/ContextMenuItem.js +47 -0
- package/build/main//321/201omponents/ContextMenuItem/ContextMenuItem.js.map +1 -0
- package/build/main//321/201omponents/ContextMenuItem/index.d.ts +1 -0
- package/build/main//321/201omponents/ContextMenuItem/index.js +2 -0
- package/build/main//321/201omponents/ContextMenuItem/index.js.map +1 -0
- package/build/main//321/201omponents/ContextMenuItem/types.d.ts +24 -0
- package/build/main//321/201omponents/ContextMenuItem/types.js +6 -0
- package/build/main//321/201omponents/ContextMenuItem/types.js.map +1 -0
- package/build/main//321/201omponents/CustomSelect/CustomSelect.d.ts +1 -1
- package/build/main//321/201omponents/CustomSelect/CustomSelect.js +9 -7
- package/build/main//321/201omponents/CustomSelect/CustomSelect.js.map +1 -1
- package/build/main//321/201omponents/CustomSelect/selectStyles.d.ts +1 -1
- package/build/main//321/201omponents/CustomSelect/selectStyles.js +22 -23
- package/build/main//321/201omponents/CustomSelect/selectStyles.js.map +1 -1
- package/build/main//321/201omponents/CustomSelect/types.d.ts +9 -1
- package/build/main//321/201omponents/CustomSelectProfiles/CustomSelectProfiles.d.ts +1 -1
- package/build/main//321/201omponents/CustomSelectProfiles/CustomSelectProfiles.js +33 -24
- package/build/main//321/201omponents/CustomSelectProfiles/CustomSelectProfiles.js.map +1 -1
- package/build/main//321/201omponents/CustomSelectProfiles/selectStyles.d.ts +11 -0
- package/build/main//321/201omponents/CustomSelectProfiles/selectStyles.js +38 -0
- package/build/main//321/201omponents/CustomSelectProfiles/selectStyles.js.map +1 -0
- package/build/main//321/201omponents/CustomSelectProfiles/types.d.ts +4 -5
- package/build/main//321/201omponents/DraggablePopup/DraggablePopup.d.ts +1 -1
- package/build/main//321/201omponents/DraggablePopup/DraggablePopup.js +25 -20
- package/build/main//321/201omponents/DraggablePopup/DraggablePopup.js.map +1 -1
- package/build/main//321/201omponents/DraggablePopup/types.d.ts +11 -11
- package/build/main//321/201omponents/Flex/Flex.d.ts +1 -1
- package/build/main//321/201omponents/Flex/Flex.js +5 -19
- package/build/main//321/201omponents/Flex/Flex.js.map +1 -1
- package/build/main//321/201omponents/Flex/types.d.ts +9 -3
- package/build/main//321/201omponents/Input/Input.d.ts +1 -1
- package/build/main//321/201omponents/Input/Input.js +75 -33
- package/build/main//321/201omponents/Input/Input.js.map +1 -1
- package/build/main//321/201omponents/Input/types.d.ts +10 -3
- package/build/main//321/201omponents/ListItem/ListItem.js +21 -17
- package/build/main//321/201omponents/ListItem/ListItem.js.map +1 -1
- package/build/main//321/201omponents/ListItem/types.d.ts +7 -3
- package/build/main//321/201omponents/Modal/Modal.d.ts +3 -2
- package/build/main//321/201omponents/Modal/Modal.js +190 -39
- package/build/main//321/201omponents/Modal/Modal.js.map +1 -1
- package/build/main//321/201omponents/Modal/types.d.ts +33 -2
- package/build/main//321/201omponents/Notification/Notification.d.ts +4 -6
- package/build/main//321/201omponents/Notification/Notification.js +68 -32
- package/build/main//321/201omponents/Notification/Notification.js.map +1 -1
- package/build/main//321/201omponents/Notification/types.d.ts +17 -2
- package/build/main//321/201omponents/Stories/Stories.js +72 -4
- package/build/main//321/201omponents/Stories/Stories.js.map +1 -1
- package/build/main//321/201omponents/Textarea/Textarea.d.ts +1 -1
- package/build/main//321/201omponents/Textarea/Textarea.js +9 -6
- package/build/main//321/201omponents/Textarea/Textarea.js.map +1 -1
- package/build/main//321/201omponents/Textarea/types.d.ts +4 -1
- package/build/main//321/201omponents/UserDropdown/ContactInfo/ContactInfo.js +6 -0
- package/build/main//321/201omponents/UserDropdown/ContactInfo/ContactInfo.js.map +1 -1
- package/build/main//321/201omponents/UserDropdown/LoadingMessage/LoadingMessage.d.ts +2 -1
- package/build/main//321/201omponents/UserDropdown/LoadingMessage/LoadingMessage.js +4 -3
- package/build/main//321/201omponents/UserDropdown/LoadingMessage/LoadingMessage.js.map +1 -1
- package/build/main//321/201omponents/UserDropdown/MenuList/MenuList.js +21 -50
- package/build/main//321/201omponents/UserDropdown/MenuList/MenuList.js.map +1 -1
- package/build/main//321/201omponents/UserDropdown/MultiValueLabel/MultiValueLabel.d.ts +3 -2
- package/build/main//321/201omponents/UserDropdown/MultiValueLabel/MultiValueLabel.js +32 -23
- package/build/main//321/201omponents/UserDropdown/MultiValueLabel/MultiValueLabel.js.map +1 -1
- package/build/main//321/201omponents/UserDropdown/Option/Option.js +2 -2
- package/build/main//321/201omponents/UserDropdown/Option/Option.js.map +1 -1
- package/build/main//321/201omponents/UserDropdown/SearchInCatalogButton/SearchInCatalogButton.js +1 -0
- package/build/main//321/201omponents/UserDropdown/SearchInCatalogButton/SearchInCatalogButton.js.map +1 -1
- package/build/main//321/201omponents/UserDropdown/UserDropdown.d.ts +4 -3
- package/build/main//321/201omponents/UserDropdown/UserDropdown.js +213 -76
- package/build/main//321/201omponents/UserDropdown/UserDropdown.js.map +1 -1
- package/build/main//321/201omponents/UserDropdown/selectStyles.d.ts +1 -1
- package/build/main//321/201omponents/UserDropdown/selectStyles.js +27 -21
- package/build/main//321/201omponents/UserDropdown/selectStyles.js.map +1 -1
- package/build/main//321/201omponents/UserDropdown/types.d.ts +45 -5
- package/build/main//321/201omponents/UserDropdown/types.js.map +1 -1
- package/package.json +11 -7
- package/build/main/assets/icons/avatar-arrow-down.svg +0 -3
- package/build/main/assets/icons/avatar-arrow-up.svg +0 -3
- package/build/main/hooks/useLongTap.d.ts +0 -12
- package/build/main/hooks/useLongTap.js +0 -29
- package/build/main/hooks/useLongTap.js.map +0 -1
|
@@ -20,82 +20,129 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
20
20
|
}
|
|
21
21
|
return t;
|
|
22
22
|
};
|
|
23
|
-
import {
|
|
23
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
24
24
|
import { useEffect, useState } from 'react';
|
|
25
25
|
import DatePicker, { registerLocale } from 'react-datepicker';
|
|
26
|
+
import { createPortal } from 'react-dom';
|
|
26
27
|
import classNames from 'classnames';
|
|
27
|
-
import
|
|
28
|
-
import
|
|
29
|
-
import
|
|
30
|
-
import
|
|
31
|
-
import
|
|
32
|
-
import
|
|
33
|
-
import
|
|
34
|
-
import
|
|
35
|
-
import
|
|
28
|
+
import { isArray, isString } from 'lodash';
|
|
29
|
+
import { ar } from 'date-fns/locale/ar';
|
|
30
|
+
import { de } from 'date-fns/locale/de';
|
|
31
|
+
import { enUS } from 'date-fns/locale/en-US';
|
|
32
|
+
import { es } from 'date-fns/locale/es';
|
|
33
|
+
import { fr } from 'date-fns/locale/fr';
|
|
34
|
+
import { id } from 'date-fns/locale/id';
|
|
35
|
+
import { ms } from 'date-fns/locale/ms';
|
|
36
|
+
import { ru } from 'date-fns/locale/ru';
|
|
37
|
+
import { tr } from 'date-fns/locale/tr';
|
|
38
|
+
import { uz } from 'date-fns/locale/uz';
|
|
36
39
|
import { generateFontFamilyStyle } from '../../helpers';
|
|
37
|
-
import { LANGUAGES } from '../../constants';
|
|
40
|
+
import { BUTTON, COLORS, LANGUAGES, SPACE } from '../../constants';
|
|
38
41
|
import { ReactComponent as ArrowDownIcon } from '../../assets/icons/arrow-down.svg';
|
|
39
42
|
import { ReactComponent as ArrowUpIcon } from '../../assets/icons/arrow-up.svg';
|
|
43
|
+
import { ReactComponent as ArrowNextIcon } from '../../assets/icons/calendar-arrow-next.svg';
|
|
44
|
+
import { ReactComponent as ArrowPrevIcon } from '../../assets/icons/calendar-arrow-prev.svg';
|
|
40
45
|
import '../../styles/styles.scss';
|
|
41
46
|
registerLocale(LANGUAGES.ru, ru);
|
|
42
47
|
registerLocale(LANGUAGES.ar, ar);
|
|
43
|
-
registerLocale(LANGUAGES.en,
|
|
48
|
+
registerLocale(LANGUAGES.en, enUS);
|
|
44
49
|
registerLocale(LANGUAGES.fr, fr);
|
|
45
50
|
registerLocale(LANGUAGES.es, es);
|
|
46
51
|
registerLocale(LANGUAGES.de, de);
|
|
47
52
|
registerLocale(LANGUAGES.ms, ms);
|
|
48
53
|
registerLocale(LANGUAGES.tr, tr);
|
|
49
54
|
registerLocale(LANGUAGES.id, id);
|
|
55
|
+
registerLocale(LANGUAGES.uz, uz);
|
|
50
56
|
var DATE_FORMAT;
|
|
51
57
|
(function (DATE_FORMAT) {
|
|
52
58
|
DATE_FORMAT["DATE_PICKER_FORMAT"] = "dd MMMM";
|
|
53
|
-
DATE_FORMAT["DAY_MONTH_YEAR"] = "
|
|
54
|
-
DATE_FORMAT["MONTH_YEAR"] = "LLLL yyyy";
|
|
55
|
-
DATE_FORMAT["MONTH"] = "LLLL";
|
|
59
|
+
DATE_FORMAT["DAY_MONTH_YEAR"] = "dd.MM.yyyy";
|
|
56
60
|
})(DATE_FORMAT || (DATE_FORMAT = {}));
|
|
61
|
+
var DATE_DISPLAY;
|
|
62
|
+
(function (DATE_DISPLAY) {
|
|
63
|
+
DATE_DISPLAY["NUMERIC"] = "numeric";
|
|
64
|
+
DATE_DISPLAY["LONG"] = "long";
|
|
65
|
+
})(DATE_DISPLAY || (DATE_DISPLAY = {}));
|
|
66
|
+
var BUTTON_CONTROLS;
|
|
67
|
+
(function (BUTTON_CONTROLS) {
|
|
68
|
+
BUTTON_CONTROLS["PREVIOUS"] = "previous";
|
|
69
|
+
BUTTON_CONTROLS["NEXT"] = "next";
|
|
70
|
+
})(BUTTON_CONTROLS || (BUTTON_CONTROLS = {}));
|
|
57
71
|
var READONLY_ATTRIBUTE = 'readonly';
|
|
58
72
|
var READONLY_ATTRIBUTE_VALUE = 'true';
|
|
59
|
-
var
|
|
73
|
+
var RU_LOCALE = 'ru-RU';
|
|
74
|
+
var RU_YEAR = 'г.';
|
|
75
|
+
var DATE_PICKER_FORMAT = DATE_FORMAT.DATE_PICKER_FORMAT, DAY_MONTH_YEAR = DATE_FORMAT.DAY_MONTH_YEAR;
|
|
76
|
+
var NUMERIC = DATE_DISPLAY.NUMERIC, LONG = DATE_DISPLAY.LONG;
|
|
77
|
+
var PREVIOUS = BUTTON_CONTROLS.PREVIOUS, NEXT = BUTTON_CONTROLS.NEXT;
|
|
78
|
+
var DatePickerAny = DatePicker;
|
|
79
|
+
var checkIsDifferentYears = function (defaultSelectedDate, selectedDate) { return defaultSelectedDate.getFullYear() !== selectedDate.getFullYear(); };
|
|
80
|
+
var generateHeaderLocale = function (date, locale) {
|
|
81
|
+
var selectedLocale = locale ? (isString(locale) ? locale : RU_LOCALE) : RU_LOCALE;
|
|
82
|
+
var formattedDate = new Intl.DateTimeFormat(selectedLocale, { year: NUMERIC, month: LONG }).format(date);
|
|
83
|
+
var _a = formattedDate.split(SPACE), month = _a[0], year = _a[1];
|
|
84
|
+
var capitalizedMonth = month.charAt(0).toUpperCase() + month.slice(1);
|
|
85
|
+
// Убираем "г." из года, если локаль русская
|
|
86
|
+
var formattedYear = selectedLocale === RU_LOCALE ? year.replace(RU_YEAR, '') : year;
|
|
87
|
+
return "".concat(capitalizedMonth, " ").concat(formattedYear);
|
|
88
|
+
};
|
|
60
89
|
var CalendarDatepicker = function (_a) {
|
|
61
|
-
var fontFamily = _a.fontFamily,
|
|
62
|
-
var
|
|
63
|
-
var
|
|
64
|
-
var
|
|
65
|
-
var
|
|
66
|
-
var
|
|
67
|
-
var
|
|
68
|
-
|
|
69
|
-
if (initialSelectedDate) {
|
|
70
|
-
setSelectedDate(initialSelectedDate);
|
|
71
|
-
onChange(initialSelectedDate);
|
|
72
|
-
}
|
|
73
|
-
/* eslint-disable-next-line */
|
|
74
|
-
}, [initialSelectedDate]);
|
|
90
|
+
var fontFamily = _a.fontFamily, _b = _a.locale, locale = _b === void 0 ? LANGUAGES.ru : _b, _c = _a.isRange, isRange = _c === void 0 ? false : _c, inline = _a.inline, disabled = _a.disabled, id = _a.id, width = _a.width, parentContainerRef = _a.parentContainerRef, selectedDate = _a.selectedDate, selectedDateRange = _a.selectedDateRange, onChange = _a.onChange, onChangeSelectedDateRange = _a.onChangeSelectedDateRange, props = __rest(_a, ["fontFamily", "locale", "isRange", "inline", "disabled", "id", "width", "parentContainerRef", "selectedDate", "selectedDateRange", "onChange", "onChangeSelectedDateRange"]);
|
|
91
|
+
var currentDate = new Date();
|
|
92
|
+
var defaultSelectedDate = selectedDate || currentDate;
|
|
93
|
+
var correctDateFormat = function (date) { return (checkIsDifferentYears(currentDate, date) ? DAY_MONTH_YEAR : DATE_PICKER_FORMAT); };
|
|
94
|
+
var _d = useState(selectedDateRange || [currentDate, currentDate]), dateRange = _d[0], setDateRange = _d[1];
|
|
95
|
+
var _e = useState(false), isActiveDatepicker = _e[0], setIsActiveDatepicker = _e[1];
|
|
96
|
+
var _f = useState(correctDateFormat(defaultSelectedDate)), dateFormat = _f[0], setDateFormat = _f[1];
|
|
97
|
+
var startDate = dateRange[0], endDate = dateRange[1];
|
|
75
98
|
useEffect(function () {
|
|
76
99
|
var element = document.getElementById(id);
|
|
77
100
|
element === null || element === void 0 ? void 0 : element.setAttribute(READONLY_ATTRIBUTE, READONLY_ATTRIBUTE_VALUE);
|
|
78
101
|
}, [id]);
|
|
79
102
|
var handleChangeDate = function (date) {
|
|
80
|
-
if (date) {
|
|
81
|
-
setSelectedDate(date);
|
|
82
|
-
onChange(date);
|
|
103
|
+
if (date instanceof Date) {
|
|
83
104
|
var element_1 = document.getElementById(id);
|
|
105
|
+
setDateFormat(correctDateFormat(date));
|
|
106
|
+
onChange(date);
|
|
84
107
|
setTimeout(function () { return element_1 === null || element_1 === void 0 ? void 0 : element_1.blur(); }, 10);
|
|
85
108
|
}
|
|
86
109
|
};
|
|
87
110
|
var handleChangeDateRange = function (period) {
|
|
88
|
-
|
|
89
|
-
|
|
111
|
+
if (isArray(period)) {
|
|
112
|
+
var startPeriodDate = period[0], endPeriodDate = period[1];
|
|
113
|
+
setDateRange([startPeriodDate, endPeriodDate]);
|
|
114
|
+
onChangeSelectedDateRange === null || onChangeSelectedDateRange === void 0 ? void 0 : onChangeSelectedDateRange([startPeriodDate, endPeriodDate]);
|
|
115
|
+
}
|
|
90
116
|
};
|
|
91
117
|
var handleDatePickerClick = function () { return setIsActiveDatepicker(!isActiveDatepicker); };
|
|
92
|
-
var handleClickArrowButton = function () {
|
|
93
|
-
|
|
94
|
-
|
|
118
|
+
var handleClickArrowButton = function () { var _a; return (_a = document.getElementById(id)) === null || _a === void 0 ? void 0 : _a.focus(); };
|
|
119
|
+
var popperContainer = function (_a) {
|
|
120
|
+
var children = _a.children;
|
|
121
|
+
var parentContainerRefCurrent = parentContainerRef === null || parentContainerRef === void 0 ? void 0 : parentContainerRef.current;
|
|
122
|
+
return parentContainerRefCurrent ? createPortal(children, parentContainerRefCurrent) : _jsx(_Fragment, { children: children });
|
|
123
|
+
};
|
|
124
|
+
var renderHeaderArrow = function (_a) {
|
|
125
|
+
var onClick = _a.onClick, disabled = _a.disabled, ariaLabel = _a.ariaLabel, Icon = _a.Icon;
|
|
126
|
+
return (_jsx("button", __assign({ className: "smartapp-calendar-header__arrows--button", type: BUTTON, onClick: onClick, disabled: disabled, "aria-label": ariaLabel }, { children: _jsx(Icon, {}) })));
|
|
127
|
+
};
|
|
128
|
+
var renderCalendarHeader = function (_a) {
|
|
129
|
+
var date = _a.date, decreaseMonth = _a.decreaseMonth, increaseMonth = _a.increaseMonth, prevMonthButtonDisabled = _a.prevMonthButtonDisabled, nextMonthButtonDisabled = _a.nextMonthButtonDisabled;
|
|
130
|
+
return (_jsxs("div", __assign({ className: "smartapp-calendar-header" }, { children: [_jsx("span", __assign({ className: "smartapp-calendar-header__value" }, { children: generateHeaderLocale(date, locale) })), _jsxs("div", __assign({ className: "smartapp-calendar-header__arrows" }, { children: [renderHeaderArrow({
|
|
131
|
+
onClick: decreaseMonth,
|
|
132
|
+
disabled: prevMonthButtonDisabled,
|
|
133
|
+
ariaLabel: PREVIOUS,
|
|
134
|
+
Icon: ArrowPrevIcon,
|
|
135
|
+
}), renderHeaderArrow({
|
|
136
|
+
onClick: increaseMonth,
|
|
137
|
+
disabled: nextMonthButtonDisabled,
|
|
138
|
+
ariaLabel: NEXT,
|
|
139
|
+
Icon: ArrowNextIcon,
|
|
140
|
+
})] }))] })));
|
|
95
141
|
};
|
|
96
|
-
var
|
|
97
|
-
var
|
|
98
|
-
|
|
142
|
+
var renderArrows = function () { return (_jsx("button", __assign({ onClick: handleClickArrowButton, className: "smartapp-calendar-input__arrow", disabled: disabled }, { children: isActiveDatepicker ? _jsx(ArrowUpIcon, { color: COLORS.iconAccent }) : _jsx(ArrowDownIcon, {}) }))); };
|
|
143
|
+
var commonDatePickerProps = __assign({ id: id, locale: locale, inline: inline, disabled: disabled, selectsMultiple: false, dateFormat: dateFormat, className: 'smartapp-calendar-input', popperClassName: 'smartapp-calendar-popper', popperContainer: popperContainer, renderCustomHeader: renderCalendarHeader }, props);
|
|
144
|
+
var rangeDatePickerProps = __assign(__assign({}, commonDatePickerProps), { selectsRange: true });
|
|
145
|
+
return (_jsx("div", __assign({ className: "smartapp-calendar-component", style: __assign({ width: "".concat(width, "%") }, generateFontFamilyStyle(fontFamily)) }, { children: isRange ? (_jsx(DatePickerAny, __assign({}, rangeDatePickerProps, { startDate: startDate, endDate: endDate, onChange: handleChangeDateRange }))) : (_jsxs(_Fragment, { children: [_jsx(DatePickerAny, __assign({ selected: selectedDate, calendarClassName: classNames({ 'smartapp-calendar-inline-background': inline }), onBlur: handleDatePickerClick, onFocus: handleDatePickerClick, onChange: handleChangeDate }, commonDatePickerProps)), !inline && renderArrows()] })) })));
|
|
99
146
|
};
|
|
100
147
|
export default CalendarDatepicker;
|
|
101
148
|
//# sourceMappingURL=Calendar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Calendar.js","sourceRoot":"","sources":["../../../../src/сomponents/Calendar/Calendar.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAc,
|
|
1
|
+
{"version":3,"file":"Calendar.js","sourceRoot":"","sources":["../../../../src/сomponents/Calendar/Calendar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,24 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { RefObject } from 'react';
|
|
2
|
+
import { DatePickerProps } from 'react-datepicker';
|
|
3
|
+
import type { Locale } from 'date-fns';
|
|
2
4
|
import { IFontFamilyProps } from '../../constants';
|
|
3
5
|
import { IntRange } from '../types';
|
|
6
|
+
interface ILocale extends Pick<Locale, 'options' | 'formatLong' | 'localize' | 'match'> {
|
|
7
|
+
}
|
|
8
|
+
export type TLocale = string | ILocale;
|
|
9
|
+
export type TDate = Date | Date[] | [Date | null, Date | null] | null;
|
|
4
10
|
export type TDateRange = [Date | null, Date | null];
|
|
5
|
-
export
|
|
11
|
+
export type TDatePickerProps = Omit<DatePickerProps, 'id' | 'selectsRange' | 'selectsMultiple' | 'onChange'> & {
|
|
12
|
+
selectsMultiple?: false;
|
|
13
|
+
};
|
|
14
|
+
export type TCalendar = TDatePickerProps & IFontFamilyProps & {
|
|
6
15
|
id: string;
|
|
7
|
-
onChange: (date: Date) => void;
|
|
8
|
-
isAnnualEvent?: boolean;
|
|
9
|
-
initialSelectedDate?: Date;
|
|
10
|
-
initialSelectedDateRange?: TDateRange;
|
|
11
16
|
isRange?: boolean;
|
|
12
|
-
onChangeSelectedDateRange?: (period: TDateRange) => void;
|
|
13
17
|
width?: IntRange<1, 101>;
|
|
14
|
-
|
|
18
|
+
parentContainerRef?: RefObject<HTMLDivElement | null>;
|
|
19
|
+
selectedDate?: Date;
|
|
20
|
+
selectedDateRange?: TDateRange;
|
|
21
|
+
onChange: (date: Date) => void;
|
|
22
|
+
onChangeSelectedDateRange?: (period: TDateRange) => void;
|
|
23
|
+
};
|
|
24
|
+
export {};
|
|
@@ -21,7 +21,7 @@ import { DEFAULT_CHART_HEIGHT, LEGEND, OPTIONS, OPTION_GRID, OPTION_TOOLTIP, OPT
|
|
|
21
21
|
import '../../../styles/styles.scss';
|
|
22
22
|
var series = OPTIONS.series, shadow = OPTIONS.shadow, bar = OPTIONS.bar;
|
|
23
23
|
var option = function (_a) {
|
|
24
|
-
var _b = _a.fontFamily, fontFamily = _b === void 0 ? FONT_FAMILY.
|
|
24
|
+
var _b = _a.fontFamily, fontFamily = _b === void 0 ? FONT_FAMILY.inter : _b, data = _a.data, xAxis = _a.xAxis, tooltipXAxis = _a.tooltipXAxis;
|
|
25
25
|
return ({
|
|
26
26
|
legend: LEGEND,
|
|
27
27
|
tooltip: __assign(__assign({}, OPTION_TOOLTIP), { axisPointer: { type: shadow }, formatter: function (params) { return renderChartTooltip({ chartType: bar, params: params, tooltipXAxis: tooltipXAxis }); } }),
|
|
@@ -21,7 +21,7 @@ import { DEFAULT_CHART_HEIGHT, LEGEND, NUMBER_FORMATTER, OPTIONS, OPTION_GRID, O
|
|
|
21
21
|
import '../../../styles/styles.scss';
|
|
22
22
|
var line = OPTIONS.line;
|
|
23
23
|
var option = function (_a) {
|
|
24
|
-
var _b = _a.fontFamily, fontFamily = _b === void 0 ? FONT_FAMILY.
|
|
24
|
+
var _b = _a.fontFamily, fontFamily = _b === void 0 ? FONT_FAMILY.inter : _b, data = _a.data, xAxis = _a.xAxis, tooltipXAxis = _a.tooltipXAxis;
|
|
25
25
|
return ({
|
|
26
26
|
textStyle: { fontFamily: fontFamily },
|
|
27
27
|
legend: LEGEND,
|
|
@@ -23,7 +23,7 @@ import '../../../styles/styles.scss';
|
|
|
23
23
|
var center = OPTIONS.center, pie = OPTIONS.pie;
|
|
24
24
|
var white = COLORS.white, black = COLORS.black, blue = COLORS.blue;
|
|
25
25
|
var option = function (_a) {
|
|
26
|
-
var _b = _a.fontFamily, fontFamily = _b === void 0 ? FONT_FAMILY.
|
|
26
|
+
var _b = _a.fontFamily, fontFamily = _b === void 0 ? FONT_FAMILY.inter : _b, chartSize = _a.chartSize, data = _a.data, subtitle = _a.subtitle;
|
|
27
27
|
return ({
|
|
28
28
|
legend: LEGEND,
|
|
29
29
|
tooltip: { className: PIE_TOOLTIP_CLASS_NAME, borderColor: blue, formatter: renderPieChartTooltip },
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
+
import React from 'react';
|
|
1
2
|
import { IChipProps } from './types';
|
|
2
3
|
import '../../styles/styles.scss';
|
|
3
|
-
declare const
|
|
4
|
-
export default
|
|
4
|
+
declare const _default: React.MemoExoticComponent<({ fontFamily, platform, language, name, organizerName, email, uid, avatar, isAvatarHidden, isUserIconHidden, isEmailMode, isDisabled, isError, isLoading, isWarning, isEye, isMyContacts, isOrganizerShort, isOutline, isDraggableLayer, userType, inviteStatus, contextMenuItems, className, styles, iconColor, draggableData, dropdownId, onDelete, setIsOpenContextMenu, }: IChipProps) => import("react/jsx-runtime").JSX.Element>;
|
|
5
|
+
export default _default;
|
|
@@ -9,19 +9,22 @@ var __assign = (this && this.__assign) || function () {
|
|
|
9
9
|
};
|
|
10
10
|
return __assign.apply(this, arguments);
|
|
11
11
|
};
|
|
12
|
+
var _a;
|
|
12
13
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
-
|
|
14
|
+
/* eslint-disable max-lines */
|
|
15
|
+
import { memo, useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
16
|
+
import { createPortal } from 'react-dom';
|
|
14
17
|
import classNames from 'classnames';
|
|
15
18
|
import { isEmpty } from 'lodash';
|
|
16
|
-
import {
|
|
19
|
+
import { useDraggable } from '@dnd-kit/core';
|
|
20
|
+
import { useMobileLongTap } from '../../hooks/useMobileLongTap';
|
|
17
21
|
import Avatar from '../Avatar';
|
|
22
|
+
import { setDragBlocked } from '../ChipDndContext/ChipDndContext';
|
|
18
23
|
import ContextMenu from '../ContextMenu';
|
|
19
24
|
import Loader from '../Loader';
|
|
20
|
-
import { generateAvatarIcon, generateColor, generateFontFamilyStyle, isWebPlatform, renderUserIcon } from '../../helpers';
|
|
21
|
-
import { COLORS, EVENT_LISTENER_TYPES, FIT_CONTENT, LANGUAGES, PLATFORM } from '../../constants';
|
|
25
|
+
import { createSanitizedHtml, generateAvatarIcon, generateColor, generateFontFamilyStyle, isWebPlatform, renderUserIcon } from '../../helpers';
|
|
26
|
+
import { COLORS, EVENT_LISTENER_TYPES, FIT_CONTENT, LANGUAGES, OVERLAYS, PLATFORM, RENDER_DELAY } from '../../constants';
|
|
22
27
|
import { AVATAR_SIZES } from '../Avatar/types';
|
|
23
|
-
import { ReactComponent as ArrowDownIcon } from '../../assets/icons/avatar-arrow-down.svg';
|
|
24
|
-
import { ReactComponent as ArrowUpIcon } from '../../assets/icons/avatar-arrow-up.svg';
|
|
25
28
|
import { ReactComponent as LoaderIcon } from '../../assets/icons/avatar-loader.svg';
|
|
26
29
|
import { ReactComponent as InfoIcon } from '../../assets/icons/chip-info.svg';
|
|
27
30
|
import { ReactComponent as DeleteIcon } from '../../assets/icons/delete-chip.svg';
|
|
@@ -32,35 +35,109 @@ var CONTEXT_MENU_INDENT = CHIP_HEIGHT + CONTEXT_MENU_INDENT_TOP;
|
|
|
32
35
|
var CHIP_PRESSED_CLASSNAME = 'smartapp-chip__pressed';
|
|
33
36
|
var DELETE_ICON_PRESSED_CLASSNAME = 'smartapp-chip__right-icons--delete-icon__pressed';
|
|
34
37
|
var ICON_TRANSITION = 'opacity 150ms ease-in-out';
|
|
38
|
+
var BIG_RENDER_DELAY = 2 * RENDER_DELAY;
|
|
35
39
|
var OPACITY_VALUES;
|
|
36
40
|
(function (OPACITY_VALUES) {
|
|
37
41
|
OPACITY_VALUES[OPACITY_VALUES["default"] = 1] = "default";
|
|
38
42
|
OPACITY_VALUES[OPACITY_VALUES["loading"] = 0.5] = "loading";
|
|
39
43
|
})(OPACITY_VALUES || (OPACITY_VALUES = {}));
|
|
44
|
+
var ORGANIZER = (_a = {},
|
|
45
|
+
_a[LANGUAGES.ru] = 'организатор',
|
|
46
|
+
_a[LANGUAGES.en] = 'organizer',
|
|
47
|
+
_a[LANGUAGES.de] = 'veranstalter',
|
|
48
|
+
_a[LANGUAGES.es] = 'organizador',
|
|
49
|
+
_a[LANGUAGES.fr] = 'organisateur',
|
|
50
|
+
_a[LANGUAGES.ar] = 'منظم',
|
|
51
|
+
_a[LANGUAGES.ms] = 'pengurus',
|
|
52
|
+
_a[LANGUAGES.tr] = 'düzenleyici',
|
|
53
|
+
_a[LANGUAGES.id] = 'penyelenggara',
|
|
54
|
+
_a[LANGUAGES.uz] = 'tashkilotchi',
|
|
55
|
+
_a);
|
|
40
56
|
var generateLoaderContainerStyles = function () { return ({ background: 'none' }); };
|
|
41
57
|
var generateLoaderStyles = function () { return ({ width: 'fit-content', padding: 0 }); };
|
|
58
|
+
var stopEvent = function (event) {
|
|
59
|
+
event.stopPropagation();
|
|
60
|
+
event.preventDefault();
|
|
61
|
+
};
|
|
42
62
|
var Chip = function (_a) {
|
|
43
|
-
var fontFamily = _a.fontFamily, _b = _a.language, language =
|
|
63
|
+
var fontFamily = _a.fontFamily, _b = _a.platform, platform = _b === void 0 ? PLATFORM.web : _b, _c = _a.language, language = _c === void 0 ? LANGUAGES.ru : _c, name = _a.name, organizerName = _a.organizerName, email = _a.email, uid = _a.uid, avatar = _a.avatar, _d = _a.isAvatarHidden, isAvatarHidden = _d === void 0 ? false : _d, _e = _a.isUserIconHidden, isUserIconHidden = _e === void 0 ? false : _e, _f = _a.isEmailMode, isEmailMode = _f === void 0 ? false : _f, _g = _a.isDisabled, isDisabled = _g === void 0 ? false : _g, _h = _a.isError, isError = _h === void 0 ? false : _h, _j = _a.isLoading, isLoading = _j === void 0 ? false : _j, _k = _a.isWarning, isWarning = _k === void 0 ? false : _k, _l = _a.isEye, isEye = _l === void 0 ? false : _l, isMyContacts = _a.isMyContacts, isOrganizerShort = _a.isOrganizerShort, isOutline = _a.isOutline, _m = _a.isDraggableLayer, isDraggableLayer = _m === void 0 ? false : _m, userType = _a.userType, inviteStatus = _a.inviteStatus, contextMenuItems = _a.contextMenuItems, className = _a.className, styles = _a.styles, iconColor = _a.iconColor, draggableData = _a.draggableData, dropdownId = _a.dropdownId, onDelete = _a.onDelete, setIsOpenContextMenu = _a.setIsOpenContextMenu;
|
|
44
64
|
var chipRef = useRef(null);
|
|
45
65
|
var deleteIconRef = useRef(null);
|
|
46
|
-
var _k = useState(false), isAvatarArrowVisible = _k[0], setIsAvatarArrowVisible = _k[1];
|
|
47
66
|
var iconOpacity = useMemo(function () { return (isLoading ? OPACITY_VALUES.loading : OPACITY_VALUES.default); }, [isLoading]);
|
|
48
67
|
var iconStyles = { opacity: iconOpacity, transition: ICON_TRANSITION };
|
|
49
68
|
var userIcon = renderUserIcon({ userType: userType, isMyContacts: isMyContacts, style: iconStyles });
|
|
50
69
|
var isContextMenuAvailable = !isEmpty(contextMenuItems);
|
|
51
70
|
var isDeleteIconAvailable = !isDisabled && onDelete;
|
|
71
|
+
var chipId = "".concat(name, "-").concat(dropdownId);
|
|
72
|
+
var elementForRenderPortal = document.getElementById(OVERLAYS);
|
|
73
|
+
var selectRef = useRef(null);
|
|
74
|
+
var contextMenuJustOpened = useRef(false);
|
|
75
|
+
var _o = useState(false), isOpenContextMenuLocal = _o[0], setIsOpenContextMenuLocal = _o[1];
|
|
76
|
+
var handleCloseContextMenu = useCallback(function (shouldCloseDropdown) {
|
|
77
|
+
if (contextMenuJustOpened.current)
|
|
78
|
+
return;
|
|
79
|
+
setDragBlocked(false);
|
|
80
|
+
setIsOpenContextMenuLocal(false);
|
|
81
|
+
if (selectRef.current) {
|
|
82
|
+
selectRef.current._contextMenuOpen = false;
|
|
83
|
+
if (shouldCloseDropdown)
|
|
84
|
+
selectRef.current.blur();
|
|
85
|
+
else {
|
|
86
|
+
selectRef.current._preventBlur = true;
|
|
87
|
+
setTimeout(function () { return selectRef.current && (selectRef.current._preventBlur = false); }, BIG_RENDER_DELAY);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
setIsOpenContextMenu === null || setIsOpenContextMenu === void 0 ? void 0 : setIsOpenContextMenu(false, !shouldCloseDropdown);
|
|
91
|
+
}, [setIsOpenContextMenu]);
|
|
92
|
+
useEffect(function () {
|
|
93
|
+
setDragBlocked(isOpenContextMenuLocal);
|
|
94
|
+
}, [isOpenContextMenuLocal]);
|
|
95
|
+
useEffect(function () {
|
|
96
|
+
var _a;
|
|
97
|
+
var selectRefCurrent = (_a = draggableData === null || draggableData === void 0 ? void 0 : draggableData.selectRef) === null || _a === void 0 ? void 0 : _a.current;
|
|
98
|
+
if (selectRefCurrent)
|
|
99
|
+
selectRef.current = selectRefCurrent;
|
|
100
|
+
}, [draggableData]);
|
|
52
101
|
useEffect(function () {
|
|
53
102
|
window.addEventListener(EVENT_LISTENER_TYPES.mouseup, handleMouseUp);
|
|
54
103
|
return function () { return window.removeEventListener(EVENT_LISTENER_TYPES.mouseup, handleMouseUp); };
|
|
55
104
|
}, []);
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
105
|
+
useEffect(function () {
|
|
106
|
+
var handleClickOutside = function (_a) {
|
|
107
|
+
var target = _a.target;
|
|
108
|
+
var chipRefCurrent = chipRef.current;
|
|
109
|
+
if (isOpenContextMenuLocal && chipRefCurrent && !chipRefCurrent.contains(target))
|
|
110
|
+
handleCloseContextMenu(true);
|
|
111
|
+
};
|
|
112
|
+
document.addEventListener(EVENT_LISTENER_TYPES.mousedown, handleClickOutside);
|
|
113
|
+
document.addEventListener(EVENT_LISTENER_TYPES.touchend, handleClickOutside, { passive: true });
|
|
114
|
+
return function () {
|
|
115
|
+
document.removeEventListener(EVENT_LISTENER_TYPES.mousedown, handleClickOutside);
|
|
116
|
+
document.removeEventListener(EVENT_LISTENER_TYPES.touchend, handleClickOutside);
|
|
117
|
+
};
|
|
118
|
+
}, [isOpenContextMenuLocal, handleCloseContextMenu]);
|
|
119
|
+
var _p = useDraggable({
|
|
120
|
+
id: chipId,
|
|
121
|
+
data: { user: __assign(__assign({}, draggableData), { dropdownId: dropdownId }) },
|
|
122
|
+
disabled: isOpenContextMenuLocal,
|
|
123
|
+
}), attributes = _p.attributes, listeners = _p.listeners, setNodeRef = _p.setNodeRef, isDragging = _p.isDragging, setActivatorNodeRef = _p.setActivatorNodeRef;
|
|
124
|
+
var generateName = function () {
|
|
125
|
+
if (organizerName)
|
|
126
|
+
return isOrganizerShort ? organizerName : "".concat(organizerName, " <span>(").concat(ORGANIZER[language], ")</span>");
|
|
127
|
+
if (isEmailMode && email)
|
|
128
|
+
return email;
|
|
129
|
+
return name;
|
|
130
|
+
};
|
|
131
|
+
var handleMouseDown = function (event) {
|
|
132
|
+
var _a;
|
|
133
|
+
stopEvent(event);
|
|
134
|
+
!isLoading && isContextMenuAvailable && ((_a = chipRef.current) === null || _a === void 0 ? void 0 : _a.classList.add(CHIP_PRESSED_CLASSNAME));
|
|
135
|
+
};
|
|
59
136
|
var handleDeleteIconMouseDown = function (event) {
|
|
60
137
|
var _a;
|
|
61
138
|
if (isLoading)
|
|
62
139
|
return;
|
|
63
|
-
event
|
|
140
|
+
stopEvent(event);
|
|
64
141
|
(_a = deleteIconRef.current) === null || _a === void 0 ? void 0 : _a.classList.add(DELETE_ICON_PRESSED_CLASSNAME);
|
|
65
142
|
};
|
|
66
143
|
var handleMouseUp = function () {
|
|
@@ -68,33 +145,105 @@ var Chip = function (_a) {
|
|
|
68
145
|
(_a = chipRef.current) === null || _a === void 0 ? void 0 : _a.classList.remove(CHIP_PRESSED_CLASSNAME);
|
|
69
146
|
(_b = deleteIconRef.current) === null || _b === void 0 ? void 0 : _b.classList.remove(DELETE_ICON_PRESSED_CLASSNAME);
|
|
70
147
|
};
|
|
71
|
-
var
|
|
148
|
+
var handleRemoveClick = function (event) {
|
|
149
|
+
var type = event.type;
|
|
72
150
|
event.stopPropagation();
|
|
73
|
-
event.preventDefault();
|
|
151
|
+
type !== EVENT_LISTENER_TYPES.touchend && event.preventDefault();
|
|
74
152
|
!isLoading && (onDelete === null || onDelete === void 0 ? void 0 : onDelete(name));
|
|
75
153
|
};
|
|
76
|
-
var handleOpenContextMenu = useCallback(function () {
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
154
|
+
var handleOpenContextMenu = useCallback(function () {
|
|
155
|
+
if (!isContextMenuAvailable || isLoading)
|
|
156
|
+
return;
|
|
157
|
+
contextMenuJustOpened.current = true;
|
|
158
|
+
setDragBlocked(true);
|
|
159
|
+
setIsOpenContextMenuLocal(true);
|
|
160
|
+
var selectElement = selectRef.current;
|
|
161
|
+
if (selectElement) {
|
|
162
|
+
var menuIsOpen = selectElement.state.menuIsOpen;
|
|
163
|
+
selectElement._preventBlur = true;
|
|
164
|
+
selectElement._contextMenuOpen = true;
|
|
165
|
+
if (!menuIsOpen)
|
|
166
|
+
setTimeout(function () { return selectElement.onMenuOpen(); }, RENDER_DELAY);
|
|
167
|
+
setTimeout(function () { return (selectElement._preventBlur = false); }, BIG_RENDER_DELAY);
|
|
168
|
+
}
|
|
169
|
+
setIsOpenContextMenu === null || setIsOpenContextMenu === void 0 ? void 0 : setIsOpenContextMenu(true);
|
|
170
|
+
setTimeout(function () { return (contextMenuJustOpened.current = false); }, BIG_RENDER_DELAY);
|
|
171
|
+
}, [isContextMenuAvailable, isLoading, setIsOpenContextMenu]);
|
|
81
172
|
var setContextMenuPosition = useCallback(function () {
|
|
82
173
|
var _a;
|
|
83
174
|
var _b = ((_a = chipRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect()) || {}, _c = _b.left, left = _c === void 0 ? 0 : _c, _d = _b.top, top = _d === void 0 ? 0 : _d;
|
|
84
175
|
return { x: left, y: top + CONTEXT_MENU_INDENT };
|
|
85
176
|
}, [chipRef]);
|
|
86
|
-
var
|
|
177
|
+
var handleShortTap = useCallback(function () {
|
|
178
|
+
if (!isWebPlatform(platform) && !isOpenContextMenuLocal)
|
|
179
|
+
handleOpenContextMenu();
|
|
180
|
+
}, [isOpenContextMenuLocal, handleOpenContextMenu, platform]);
|
|
181
|
+
var handleDragStart = useCallback(function () { return setIsOpenContextMenuLocal(false); }, []);
|
|
182
|
+
var handlePressStart = useCallback(function () {
|
|
183
|
+
if (selectRef.current)
|
|
184
|
+
selectRef.current._preventBlur = true;
|
|
185
|
+
}, []);
|
|
186
|
+
var handlePressEnd = useCallback(function () {
|
|
187
|
+
if (selectRef.current)
|
|
188
|
+
setTimeout(function () { return (selectRef.current._preventBlur = false); }, BIG_RENDER_DELAY);
|
|
189
|
+
}, []);
|
|
190
|
+
var _q = useMobileLongTap({
|
|
191
|
+
onShortTap: handleShortTap,
|
|
192
|
+
onDragStart: handleDragStart,
|
|
193
|
+
onPressStart: handlePressStart,
|
|
194
|
+
onPressEnd: handlePressEnd,
|
|
195
|
+
}), startPressTimer = _q.startPressTimer, cancelPressTimer = _q.cancelPressTimer, handleTouchMove = _q.handleTouchMove, handleTouchEnd = _q.handleTouchEnd;
|
|
87
196
|
var handleContextMenu = function (event) {
|
|
88
197
|
if (!isWebPlatform(platform))
|
|
89
198
|
return;
|
|
90
199
|
event.preventDefault();
|
|
91
200
|
handleOpenContextMenu();
|
|
92
201
|
};
|
|
93
|
-
var
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
202
|
+
var setChipRef = useCallback(function (node) {
|
|
203
|
+
setNodeRef(node);
|
|
204
|
+
chipRef.current = node;
|
|
205
|
+
}, [setNodeRef]);
|
|
206
|
+
var handleTouchStart = useCallback(function (event) {
|
|
207
|
+
if (!isOpenContextMenuLocal) {
|
|
208
|
+
event.stopPropagation();
|
|
209
|
+
startPressTimer(event);
|
|
210
|
+
}
|
|
211
|
+
}, [startPressTimer, isOpenContextMenuLocal]);
|
|
212
|
+
var handleTouchEndInternal = useCallback(function (event) {
|
|
213
|
+
event.stopPropagation();
|
|
214
|
+
handleTouchEnd();
|
|
215
|
+
}, [handleTouchEnd]);
|
|
216
|
+
var handleTouchMoveInternal = useCallback(function (event) {
|
|
217
|
+
if (!isOpenContextMenuLocal)
|
|
218
|
+
event.stopPropagation();
|
|
219
|
+
handleTouchMove(event);
|
|
220
|
+
}, [handleTouchMove, isOpenContextMenuLocal]);
|
|
221
|
+
var dragAttributes = !isOpenContextMenuLocal ? attributes : {};
|
|
222
|
+
var dragListeners = !isOpenContextMenuLocal ? listeners : {};
|
|
223
|
+
var contextMenuHeader = useMemo(function () { return (_jsxs("div", __assign({ className: "smartapp-chip__context-menu-header" }, { children: [_jsx(Avatar, { fontFamily: fontFamily, username: name, icon: generateAvatarIcon(userType), avatar: avatar, size: AVATAR_SIZES.size_32, isEye: isEye, outlineDefaultBackground: COLORS.chip }), _jsxs("div", __assign({ className: "smartapp-chip__context-menu-header__content" }, { children: [_jsxs("div", { children: [userIcon, _jsx("span", { children: name })] }), email && _jsx("div", { children: email })] }))] }))); }, [fontFamily, name, userType, avatar, isEye, userIcon, email]);
|
|
224
|
+
var contextMenuElement = useMemo(function () {
|
|
225
|
+
if (!contextMenuItems || !isOpenContextMenuLocal || !elementForRenderPortal)
|
|
226
|
+
return null;
|
|
227
|
+
return createPortal(_jsx(ContextMenu, { isMenuOpen: isOpenContextMenuLocal, fontFamily: fontFamily, position: setContextMenuPosition(), closeMenu: handleCloseContextMenu, items: contextMenuItems, actionData: uid || email || name, topSlot: contextMenuHeader, menuStyles: { width: FIT_CONTENT }, platform: platform }), elementForRenderPortal);
|
|
228
|
+
}, [
|
|
229
|
+
contextMenuItems,
|
|
230
|
+
isOpenContextMenuLocal,
|
|
231
|
+
elementForRenderPortal,
|
|
232
|
+
fontFamily,
|
|
233
|
+
setContextMenuPosition,
|
|
234
|
+
handleCloseContextMenu,
|
|
235
|
+
uid,
|
|
236
|
+
email,
|
|
237
|
+
name,
|
|
238
|
+
contextMenuHeader,
|
|
239
|
+
platform,
|
|
240
|
+
]);
|
|
241
|
+
return (_jsxs("div", __assign({ className: classNames('smartapp-chip', {
|
|
242
|
+
'smartapp-chip__outline': isOutline,
|
|
243
|
+
'smartapp-chip__loading': isLoading,
|
|
244
|
+
'smartapp-chip__layer': isDraggableLayer,
|
|
245
|
+
'smartapp-chip__dragging': isDragging,
|
|
246
|
+
}, className), ref: setChipRef }, dragAttributes, { style: __assign(__assign({}, generateFontFamilyStyle(fontFamily)), styles), onContextMenu: handleContextMenu, onTouchStart: handleTouchStart, onTouchEnd: handleTouchEndInternal, onTouchMove: handleTouchMoveInternal, onTouchCancel: cancelPressTimer, onMouseDown: handleMouseDown }, { children: [_jsxs("div", __assign({ className: classNames('smartapp-chip__info', { 'smartapp-chip__info--increased-gap': isUserIconHidden }) }, dragListeners, { ref: !isOpenContextMenuLocal ? setActivatorNodeRef : undefined }, { children: [!isAvatarHidden && (_jsx("div", __assign({ className: "smartapp-chip__info--avatar" }, { children: isLoading ? (_jsx(Loader, { icon: _jsx(LoaderIcon, {}), color: COLORS.iconAccent, isLoader: true, iconSize: AVATAR_SIZES.size_20, styles: generateLoaderStyles(), containerStyles: generateLoaderContainerStyles(), isFullScreen: false })) : (_jsx(Avatar, { isTooltipAvailableOnEye: true, language: language, fontFamily: fontFamily, icon: generateAvatarIcon(userType), username: name, isWarning: isWarning, avatar: avatar, size: AVATAR_SIZES.size_24, isEye: isEye, inviteStatus: inviteStatus, outlineDefaultBackground: isOutline ? COLORS.bgPopUp : COLORS.chip })) }))), !isUserIconHidden && userIcon, _jsx("p", { className: classNames('smartapp-chip__info--name', { 'smartapp-chip__info--name__loading': isLoading }), dangerouslySetInnerHTML: createSanitizedHtml(generateName()) })] })), (isError || isDeleteIconAvailable) && (_jsxs("div", __assign({ className: "smartapp-chip__right-icons" }, { children: [isError && _jsx(InfoIcon, { color: COLORS.iconNegative }), isDeleteIconAvailable && (_jsx("div", __assign({ ref: deleteIconRef, className: classNames('smartapp-chip__right-icons--delete-icon', { 'smartapp-chip__right-icons--delete-icon__loading': isLoading }), onClick: handleRemoveClick, onTouchEnd: handleRemoveClick, onMouseDown: handleDeleteIconMouseDown }, { children: _jsx(DeleteIcon, { style: __assign({ color: generateColor(iconColor) }, iconStyles) }) })))] }))), contextMenuElement] })));
|
|
98
247
|
};
|
|
99
|
-
export default Chip;
|
|
248
|
+
export default memo(Chip);
|
|
100
249
|
//# sourceMappingURL=Chip.js.map
|