@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.
Files changed (153) hide show
  1. package/build/main/assets/icons/accepted-invite-status.svg +4 -0
  2. package/build/main/assets/icons/calendar-arrow-next.svg +3 -0
  3. package/build/main/assets/icons/calendar-arrow-prev.svg +3 -0
  4. package/build/main/assets/icons/declined-invite-status.svg +4 -0
  5. package/build/main/assets/icons/needs-action-invite-status.svg +4 -0
  6. package/build/main/assets/icons/notification-failure-filled.svg +3 -0
  7. package/build/main/assets/icons/notification-info-filled.svg +5 -0
  8. package/build/main/assets/icons/notification-success-filled.svg +4 -0
  9. package/build/main/assets/icons/select-arrow-down.svg +3 -0
  10. package/build/main/assets/icons/select-arrow-up.svg +3 -0
  11. package/build/main/assets/storybook/index.d.ts +2 -0
  12. package/build/main/assets/storybook/index.js +2 -0
  13. package/build/main/assets/storybook/index.js.map +1 -1
  14. package/build/main/constants/constants.d.ts +86 -44
  15. package/build/main/constants/constants.js +124 -48
  16. package/build/main/constants/constants.js.map +1 -1
  17. package/build/main/constants/types.d.ts +9 -1
  18. package/build/main/helpers/index.d.ts +5 -0
  19. package/build/main/helpers/index.js +12 -1
  20. package/build/main/helpers/index.js.map +1 -1
  21. package/build/main/hooks/useCharHintDisplay.d.ts +9 -0
  22. package/build/main/hooks/useCharHintDisplay.js +35 -0
  23. package/build/main/hooks/useCharHintDisplay.js.map +1 -0
  24. package/build/main/hooks/useMobileLongTap.d.ts +16 -0
  25. package/build/main/hooks/useMobileLongTap.js +55 -0
  26. package/build/main/hooks/useMobileLongTap.js.map +1 -0
  27. package/build/main/hooks/useModal.d.ts +17 -10
  28. package/build/main/hooks/useModal.js +178 -14
  29. package/build/main/hooks/useModal.js.map +1 -1
  30. package/build/main/index.d.ts +2 -0
  31. package/build/main/index.js +2 -0
  32. package/build/main/index.js.map +1 -1
  33. package/build/main/styles/styles.scss +2 -2
  34. package/build/main//321/201omponents/AttachedFile/AttachedFile.d.ts +1 -1
  35. package/build/main//321/201omponents/AttachedFile/AttachedFile.js +56 -6
  36. package/build/main//321/201omponents/AttachedFile/AttachedFile.js.map +1 -1
  37. package/build/main//321/201omponents/AttachedFile/types.d.ts +6 -5
  38. package/build/main//321/201omponents/Avatar/Avatar.d.ts +3 -2
  39. package/build/main//321/201omponents/Avatar/Avatar.js +34 -5
  40. package/build/main//321/201omponents/Avatar/Avatar.js.map +1 -1
  41. package/build/main//321/201omponents/Avatar/types.d.ts +4 -3
  42. package/build/main//321/201omponents/Avatar/types.js.map +1 -1
  43. package/build/main//321/201omponents/Button/Button.d.ts +1 -1
  44. package/build/main//321/201omponents/Button/Button.js +21 -9
  45. package/build/main//321/201omponents/Button/Button.js.map +1 -1
  46. package/build/main//321/201omponents/Button/types.d.ts +9 -3
  47. package/build/main//321/201omponents/Button/types.js +3 -0
  48. package/build/main//321/201omponents/Button/types.js.map +1 -1
  49. package/build/main//321/201omponents/Calendar/Calendar.d.ts +2 -2
  50. package/build/main//321/201omponents/Calendar/Calendar.js +88 -41
  51. package/build/main//321/201omponents/Calendar/Calendar.js.map +1 -1
  52. package/build/main//321/201omponents/Calendar/types.d.ts +18 -8
  53. package/build/main//321/201omponents/Charts/ChartBar/ChartBar.js +1 -1
  54. package/build/main//321/201omponents/Charts/ChartLine/ChartLine.js +1 -1
  55. package/build/main//321/201omponents/Charts/ChartPie/ChartPie.js +1 -1
  56. package/build/main//321/201omponents/Chip/Chip.d.ts +3 -2
  57. package/build/main//321/201omponents/Chip/Chip.js +175 -26
  58. package/build/main//321/201omponents/Chip/Chip.js.map +1 -1
  59. package/build/main//321/201omponents/Chip/types.d.ts +15 -5
  60. package/build/main//321/201omponents/ChipDndContext/ChipDndContext.d.ts +13 -0
  61. package/build/main//321/201omponents/ChipDndContext/ChipDndContext.js +76 -0
  62. package/build/main//321/201omponents/ChipDndContext/ChipDndContext.js.map +1 -0
  63. package/build/main//321/201omponents/ChipDndContext/index.d.ts +1 -0
  64. package/build/main//321/201omponents/ChipDndContext/index.js +2 -0
  65. package/build/main//321/201omponents/ChipDndContext/index.js.map +1 -0
  66. package/build/main//321/201omponents/ConfirmationModal/ConfirmationModal.d.ts +1 -1
  67. package/build/main//321/201omponents/ConfirmationModal/ConfirmationModal.js +3 -2
  68. package/build/main//321/201omponents/ConfirmationModal/ConfirmationModal.js.map +1 -1
  69. package/build/main//321/201omponents/ConfirmationModal/types.d.ts +5 -2
  70. package/build/main//321/201omponents/ContextMenu/ContextMenu.d.ts +1 -1
  71. package/build/main//321/201omponents/ContextMenu/ContextMenu.js +66 -26
  72. package/build/main//321/201omponents/ContextMenu/ContextMenu.js.map +1 -1
  73. package/build/main//321/201omponents/ContextMenu/types.d.ts +9 -7
  74. package/build/main//321/201omponents/ContextMenuItem/ContextMenuItem.d.ts +4 -0
  75. package/build/main//321/201omponents/ContextMenuItem/ContextMenuItem.js +47 -0
  76. package/build/main//321/201omponents/ContextMenuItem/ContextMenuItem.js.map +1 -0
  77. package/build/main//321/201omponents/ContextMenuItem/index.d.ts +1 -0
  78. package/build/main//321/201omponents/ContextMenuItem/index.js +2 -0
  79. package/build/main//321/201omponents/ContextMenuItem/index.js.map +1 -0
  80. package/build/main//321/201omponents/ContextMenuItem/types.d.ts +24 -0
  81. package/build/main//321/201omponents/ContextMenuItem/types.js +6 -0
  82. package/build/main//321/201omponents/ContextMenuItem/types.js.map +1 -0
  83. package/build/main//321/201omponents/CustomSelect/CustomSelect.d.ts +1 -1
  84. package/build/main//321/201omponents/CustomSelect/CustomSelect.js +9 -7
  85. package/build/main//321/201omponents/CustomSelect/CustomSelect.js.map +1 -1
  86. package/build/main//321/201omponents/CustomSelect/selectStyles.d.ts +1 -1
  87. package/build/main//321/201omponents/CustomSelect/selectStyles.js +22 -23
  88. package/build/main//321/201omponents/CustomSelect/selectStyles.js.map +1 -1
  89. package/build/main//321/201omponents/CustomSelect/types.d.ts +9 -1
  90. package/build/main//321/201omponents/CustomSelectProfiles/CustomSelectProfiles.d.ts +1 -1
  91. package/build/main//321/201omponents/CustomSelectProfiles/CustomSelectProfiles.js +33 -24
  92. package/build/main//321/201omponents/CustomSelectProfiles/CustomSelectProfiles.js.map +1 -1
  93. package/build/main//321/201omponents/CustomSelectProfiles/selectStyles.d.ts +11 -0
  94. package/build/main//321/201omponents/CustomSelectProfiles/selectStyles.js +38 -0
  95. package/build/main//321/201omponents/CustomSelectProfiles/selectStyles.js.map +1 -0
  96. package/build/main//321/201omponents/CustomSelectProfiles/types.d.ts +4 -5
  97. package/build/main//321/201omponents/DraggablePopup/DraggablePopup.d.ts +1 -1
  98. package/build/main//321/201omponents/DraggablePopup/DraggablePopup.js +25 -20
  99. package/build/main//321/201omponents/DraggablePopup/DraggablePopup.js.map +1 -1
  100. package/build/main//321/201omponents/DraggablePopup/types.d.ts +11 -11
  101. package/build/main//321/201omponents/Flex/Flex.d.ts +1 -1
  102. package/build/main//321/201omponents/Flex/Flex.js +5 -19
  103. package/build/main//321/201omponents/Flex/Flex.js.map +1 -1
  104. package/build/main//321/201omponents/Flex/types.d.ts +9 -3
  105. package/build/main//321/201omponents/Input/Input.d.ts +1 -1
  106. package/build/main//321/201omponents/Input/Input.js +75 -33
  107. package/build/main//321/201omponents/Input/Input.js.map +1 -1
  108. package/build/main//321/201omponents/Input/types.d.ts +10 -3
  109. package/build/main//321/201omponents/ListItem/ListItem.js +21 -17
  110. package/build/main//321/201omponents/ListItem/ListItem.js.map +1 -1
  111. package/build/main//321/201omponents/ListItem/types.d.ts +7 -3
  112. package/build/main//321/201omponents/Modal/Modal.d.ts +3 -2
  113. package/build/main//321/201omponents/Modal/Modal.js +190 -39
  114. package/build/main//321/201omponents/Modal/Modal.js.map +1 -1
  115. package/build/main//321/201omponents/Modal/types.d.ts +33 -2
  116. package/build/main//321/201omponents/Notification/Notification.d.ts +4 -6
  117. package/build/main//321/201omponents/Notification/Notification.js +68 -32
  118. package/build/main//321/201omponents/Notification/Notification.js.map +1 -1
  119. package/build/main//321/201omponents/Notification/types.d.ts +17 -2
  120. package/build/main//321/201omponents/Stories/Stories.js +72 -4
  121. package/build/main//321/201omponents/Stories/Stories.js.map +1 -1
  122. package/build/main//321/201omponents/Textarea/Textarea.d.ts +1 -1
  123. package/build/main//321/201omponents/Textarea/Textarea.js +9 -6
  124. package/build/main//321/201omponents/Textarea/Textarea.js.map +1 -1
  125. package/build/main//321/201omponents/Textarea/types.d.ts +4 -1
  126. package/build/main//321/201omponents/UserDropdown/ContactInfo/ContactInfo.js +6 -0
  127. package/build/main//321/201omponents/UserDropdown/ContactInfo/ContactInfo.js.map +1 -1
  128. package/build/main//321/201omponents/UserDropdown/LoadingMessage/LoadingMessage.d.ts +2 -1
  129. package/build/main//321/201omponents/UserDropdown/LoadingMessage/LoadingMessage.js +4 -3
  130. package/build/main//321/201omponents/UserDropdown/LoadingMessage/LoadingMessage.js.map +1 -1
  131. package/build/main//321/201omponents/UserDropdown/MenuList/MenuList.js +21 -50
  132. package/build/main//321/201omponents/UserDropdown/MenuList/MenuList.js.map +1 -1
  133. package/build/main//321/201omponents/UserDropdown/MultiValueLabel/MultiValueLabel.d.ts +3 -2
  134. package/build/main//321/201omponents/UserDropdown/MultiValueLabel/MultiValueLabel.js +32 -23
  135. package/build/main//321/201omponents/UserDropdown/MultiValueLabel/MultiValueLabel.js.map +1 -1
  136. package/build/main//321/201omponents/UserDropdown/Option/Option.js +2 -2
  137. package/build/main//321/201omponents/UserDropdown/Option/Option.js.map +1 -1
  138. package/build/main//321/201omponents/UserDropdown/SearchInCatalogButton/SearchInCatalogButton.js +1 -0
  139. package/build/main//321/201omponents/UserDropdown/SearchInCatalogButton/SearchInCatalogButton.js.map +1 -1
  140. package/build/main//321/201omponents/UserDropdown/UserDropdown.d.ts +4 -3
  141. package/build/main//321/201omponents/UserDropdown/UserDropdown.js +213 -76
  142. package/build/main//321/201omponents/UserDropdown/UserDropdown.js.map +1 -1
  143. package/build/main//321/201omponents/UserDropdown/selectStyles.d.ts +1 -1
  144. package/build/main//321/201omponents/UserDropdown/selectStyles.js +27 -21
  145. package/build/main//321/201omponents/UserDropdown/selectStyles.js.map +1 -1
  146. package/build/main//321/201omponents/UserDropdown/types.d.ts +45 -5
  147. package/build/main//321/201omponents/UserDropdown/types.js.map +1 -1
  148. package/package.json +11 -7
  149. package/build/main/assets/icons/avatar-arrow-down.svg +0 -3
  150. package/build/main/assets/icons/avatar-arrow-up.svg +0 -3
  151. package/build/main/hooks/useLongTap.d.ts +0 -12
  152. package/build/main/hooks/useLongTap.js +0 -29
  153. 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 { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
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 ar from 'date-fns/locale/ar';
28
- import de from 'date-fns/locale/de';
29
- import en from 'date-fns/locale/en-US';
30
- import es from 'date-fns/locale/es';
31
- import fr from 'date-fns/locale/fr';
32
- import id from 'date-fns/locale/id';
33
- import ms from 'date-fns/locale/ms';
34
- import ru from 'date-fns/locale/ru';
35
- import tr from 'date-fns/locale/tr';
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, 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"] = "d MMMM yyyy";
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 DATE_PICKER_FORMAT = DATE_FORMAT.DATE_PICKER_FORMAT, DAY_MONTH_YEAR = DATE_FORMAT.DAY_MONTH_YEAR, MONTH_YEAR = DATE_FORMAT.MONTH_YEAR, MONTH = DATE_FORMAT.MONTH;
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, id = _a.id, initialSelectedDate = _a.initialSelectedDate, initialSelectedDateRange = _a.initialSelectedDateRange, onChange = _a.onChange, onChangeSelectedDateRange = _a.onChangeSelectedDateRange, _b = _a.isRange, isRange = _b === void 0 ? false : _b, width = _a.width, _c = _a.isAnnualEvent, isAnnualEvent = _c === void 0 ? false : _c, props = __rest(_a, ["fontFamily", "id", "initialSelectedDate", "initialSelectedDateRange", "onChange", "onChangeSelectedDateRange", "isRange", "width", "isAnnualEvent"]);
62
- var defaultSelectedDate = new Date();
63
- var _d = useState(initialSelectedDate || defaultSelectedDate), selectedDate = _d[0], setSelectedDate = _d[1];
64
- var _e = useState(initialSelectedDateRange || [defaultSelectedDate, defaultSelectedDate]), selectedDateRange = _e[0], setSelectedDateRange = _e[1];
65
- var _f = useState(false), isActiveDatepicker = _f[0], setIsActiveDatepicker = _f[1];
66
- var startDate = selectedDateRange[0], endDate = selectedDateRange[1];
67
- var inline = props.inline;
68
- useEffect(function () {
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
- setSelectedDateRange(period);
89
- onChangeSelectedDateRange === null || onChangeSelectedDateRange === void 0 ? void 0 : onChangeSelectedDateRange(period);
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
- var element = document.getElementById(id);
94
- element === null || element === void 0 ? void 0 : element.focus();
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 annualEventFormat = isAnnualEvent ? DAY_MONTH_YEAR : DATE_PICKER_FORMAT;
97
- var annualCalendarFormat = isAnnualEvent ? MONTH_YEAR : MONTH;
98
- return (_jsx("div", __assign({ className: "smartapp-calendar-component", style: __assign({ width: "".concat(width, "%") }, generateFontFamilyStyle(fontFamily)) }, { children: isRange ? (_jsx(DatePicker, __assign({ id: id, selectsRange: true, startDate: startDate, endDate: endDate, dateFormat: annualEventFormat, className: "smartapp-calendar-input", onChange: handleChangeDateRange }, props))) : (_jsxs(_Fragment, { children: [_jsx(DatePicker, __assign({ id: id, selected: selectedDate, dateFormat: annualEventFormat, dateFormatCalendar: annualCalendarFormat, className: "smartapp-calendar-input", popperClassName: "smartapp-calendar-popper", calendarClassName: classNames({ 'smartapp-calendar-inline-background': inline }), onChange: handleChangeDate, onFocus: handleDatePickerClick, onBlur: handleDatePickerClick }, props)), !inline && (_jsx("button", __assign({ onClick: handleClickArrowButton, className: "smartapp-calendar-input__arrow" }, { children: isActiveDatepicker ? _jsx(ArrowUpIcon, {}) : _jsx(ArrowDownIcon, {}) })))] })) })));
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":"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"}
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 { ReactDatePickerProps } from 'react-datepicker';
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 interface ICalendarProps extends ReactDatePickerProps, IFontFamilyProps {
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.onest : _b, data = _a.data, xAxis = _a.xAxis, tooltipXAxis = _a.tooltipXAxis;
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.onest : _b, data = _a.data, xAxis = _a.xAxis, tooltipXAxis = _a.tooltipXAxis;
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.onest : _b, chartSize = _a.chartSize, data = _a.data, subtitle = _a.subtitle;
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 Chip: ({ fontFamily, language, name, email, uid, avatar, isAvatarHidden, isDisabled, isError, isLoading, isWarning, isEye, isMyContacts, isOutline, isOpenContextMenu, userType, contextMenuItems, className, styles, iconColor, platform, onDelete, setIsOpenContextMenu, }: IChipProps) => import("react/jsx-runtime").JSX.Element;
4
- export default Chip;
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
- import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
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 { useLongTap } from '../../hooks/useLongTap';
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 = _b === void 0 ? LANGUAGES.ru : _b, name = _a.name, email = _a.email, uid = _a.uid, avatar = _a.avatar, _c = _a.isAvatarHidden, isAvatarHidden = _c === void 0 ? false : _c, _d = _a.isDisabled, isDisabled = _d === void 0 ? false : _d, _e = _a.isError, isError = _e === void 0 ? false : _e, _f = _a.isLoading, isLoading = _f === void 0 ? false : _f, _g = _a.isWarning, isWarning = _g === void 0 ? false : _g, _h = _a.isEye, isEye = _h === void 0 ? false : _h, isMyContacts = _a.isMyContacts, isOutline = _a.isOutline, isOpenContextMenu = _a.isOpenContextMenu, userType = _a.userType, contextMenuItems = _a.contextMenuItems, className = _a.className, styles = _a.styles, iconColor = _a.iconColor, _j = _a.platform, platform = _j === void 0 ? PLATFORM.web : _j, onDelete = _a.onDelete, setIsOpenContextMenu = _a.setIsOpenContextMenu;
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
- var handleMouseDown = function () { var _a; return !isLoading && isContextMenuAvailable && ((_a = chipRef.current) === null || _a === void 0 ? void 0 : _a.classList.add(CHIP_PRESSED_CLASSNAME)); };
57
- var handleMouseEnter = function () { return isContextMenuAvailable && setIsAvatarArrowVisible(true); };
58
- var handleMouseLeave = function () { return isContextMenuAvailable && setIsAvatarArrowVisible(false); };
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.stopPropagation();
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 handleDeleteClick = function (event) {
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 () { return isContextMenuAvailable && !isLoading && (setIsOpenContextMenu === null || setIsOpenContextMenu === void 0 ? void 0 : setIsOpenContextMenu(true)); }, [isContextMenuAvailable, isLoading, setIsOpenContextMenu]);
77
- var handleCloseContextMenu = function () {
78
- setIsOpenContextMenu === null || setIsOpenContextMenu === void 0 ? void 0 : setIsOpenContextMenu(false);
79
- setIsAvatarArrowVisible(false);
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 _l = useLongTap({ onLongTap: handleOpenContextMenu }), cancelPressTimer = _l.cancelPressTimer, startPressTimer = _l.startPressTimer;
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 renderAvatar = function () {
94
- return isAvatarArrowVisible || isOpenContextMenu ? (_jsx("div", __assign({ className: classNames('smartapp-chip__info--avatar-arrow', { 'smartapp-chip__info--avatar-arrow__outline': isOutline }) }, { children: isOpenContextMenu ? _jsx(ArrowUpIcon, { color: COLORS.iconAccentPressed }) : _jsx(ArrowDownIcon, { color: COLORS.iconAccent }) }))) : (avatar);
95
- };
96
- var contextMenuHeader = (_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 })] }))] })));
97
- return (_jsxs("div", __assign({ ref: chipRef, className: classNames('smartapp-chip', { 'smartapp-chip__outline': isOutline, 'smartapp-chip__loading': isLoading }, className), style: __assign(__assign({}, generateFontFamilyStyle(fontFamily)), styles), onContextMenu: handleContextMenu, onTouchStart: !isOpenContextMenu ? startPressTimer : undefined, onTouchEnd: cancelPressTimer, onTouchMove: cancelPressTimer, onMouseDown: handleMouseDown, onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave }, { children: [_jsxs("div", __assign({ className: "smartapp-chip__info" }, { 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: !isAvatarArrowVisible && generateAvatarIcon(userType), username: name, isWarning: isWarning, avatar: renderAvatar(), size: AVATAR_SIZES.size_24, isEye: isEye, outlineDefaultBackground: COLORS.chip })) }))), userIcon, _jsx("p", __assign({ className: classNames('smartapp-chip__info--name', { 'smartapp-chip__info--name__loading': isLoading }) }, { children: name }))] })), (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: handleDeleteClick, onMouseDown: handleDeleteIconMouseDown }, { children: _jsx(DeleteIcon, { style: __assign({ color: generateColor(iconColor) }, iconStyles) }) })))] }))), contextMenuItems && (_jsx(ContextMenu, { isMenuOpen: !!isOpenContextMenu, fontFamily: fontFamily, position: setContextMenuPosition(), closeMenu: handleCloseContextMenu, items: contextMenuItems, actionData: uid || email, topSlot: contextMenuHeader, menuStyles: { width: FIT_CONTENT } }))] })));
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