@expressms/smartapp-ui 3.0.0-alpha.13 → 3.0.0-alpha.131
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/chevron.svg +3 -0
- package/build/main/assets/icons/close-modal.svg +1 -1
- package/build/main/assets/icons/declined-invite-status.svg +4 -0
- package/build/main/assets/icons/doc-small.svg +5 -5
- package/build/main/assets/icons/doc.svg +3 -3
- package/build/main/assets/icons/file-small.svg +5 -5
- package/build/main/assets/icons/file.svg +2 -2
- package/build/main/assets/icons/image-no-preview-small.svg +11 -0
- package/build/main/assets/icons/image-no-preview.svg +11 -0
- package/build/main/assets/icons/needs-action-invite-status.svg +4 -0
- package/build/main/assets/icons/notification-close.svg +1 -1
- package/build/main/assets/icons/notification-error.svg +5 -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/pdf-small.svg +5 -5
- package/build/main/assets/icons/pdf.svg +3 -3
- package/build/main/assets/icons/ppt-small.svg +5 -5
- package/build/main/assets/icons/ppt.svg +2 -2
- 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/icons/txt-small.svg +5 -5
- package/build/main/assets/icons/txt.svg +3 -3
- package/build/main/assets/icons/video-no-preview-small.svg +11 -0
- package/build/main/assets/icons/video-no-preview.svg +11 -0
- package/build/main/assets/icons/xls-small.svg +5 -5
- package/build/main/assets/icons/xls.svg +2 -2
- 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 -45
- package/build/main/constants/constants.js +123 -48
- package/build/main/constants/constants.js.map +1 -1
- package/build/main/constants/types.d.ts +10 -1
- package/build/main/helpers/index.d.ts +3 -1
- package/build/main/helpers/index.js +21 -2
- 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 +173 -12
- 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.js +3 -0
- package/build/main//321/201omponents/AttachedFile/AttachedFile.js.map +1 -1
- package/build/main//321/201omponents/Avatar/Avatar.d.ts +3 -2
- package/build/main//321/201omponents/Avatar/Avatar.js +52 -23
- package/build/main//321/201omponents/Avatar/Avatar.js.map +1 -1
- package/build/main//321/201omponents/Avatar/types.d.ts +9 -5
- package/build/main//321/201omponents/Avatar/types.js +5 -2
- 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 +15 -8
- package/build/main//321/201omponents/Button/Button.js.map +1 -1
- package/build/main//321/201omponents/Button/types.d.ts +9 -2
- 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 +14 -2
- package/build/main//321/201omponents/Calendar/Calendar.js +163 -46
- package/build/main//321/201omponents/Calendar/Calendar.js.map +1 -1
- package/build/main//321/201omponents/Calendar/types.d.ts +20 -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 +173 -33
- package/build/main//321/201omponents/Chip/Chip.js.map +1 -1
- package/build/main//321/201omponents/Chip/types.d.ts +13 -4
- 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 +13 -7
- package/build/main//321/201omponents/ContextMenuItem/ContextMenuItem.d.ts +4 -0
- package/build/main//321/201omponents/ContextMenuItem/ContextMenuItem.js +49 -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 +28 -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 -8
- 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 +21 -22
- package/build/main//321/201omponents/CustomSelect/selectStyles.js.map +1 -1
- package/build/main//321/201omponents/CustomSelect/types.d.ts +8 -2
- 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 +24 -18
- package/build/main//321/201omponents/DraggablePopup/DraggablePopup.js.map +1 -1
- package/build/main//321/201omponents/DraggablePopup/types.d.ts +7 -8
- package/build/main//321/201omponents/Flex/Flex.d.ts +1 -1
- package/build/main//321/201omponents/Flex/Flex.js +2 -2
- package/build/main//321/201omponents/Flex/Flex.js.map +1 -1
- package/build/main//321/201omponents/Flex/types.d.ts +2 -0
- 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 -10
- package/build/main//321/201omponents/ListItem/ListItem.js.map +1 -1
- package/build/main//321/201omponents/ListItem/types.d.ts +7 -2
- package/build/main//321/201omponents/Modal/Modal.d.ts +3 -2
- package/build/main//321/201omponents/Modal/Modal.js +162 -69
- package/build/main//321/201omponents/Modal/Modal.js.map +1 -1
- package/build/main//321/201omponents/Modal/types.d.ts +35 -2
- package/build/main//321/201omponents/Notification/Notification.d.ts +4 -6
- package/build/main//321/201omponents/Notification/Notification.js +72 -25
- 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/Skeleton/Skeleton.js +1 -1
- package/build/main//321/201omponents/Skeleton/Skeleton.js.map +1 -1
- 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 +2 -2
- package/build/main//321/201omponents/Textarea/Textarea.js.map +1 -1
- package/build/main//321/201omponents/Textarea/types.d.ts +2 -2
- 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 +23 -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 +34 -37
- 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 +5 -3
- package/build/main//321/201omponents/UserDropdown/UserDropdown.js +249 -90
- package/build/main//321/201omponents/UserDropdown/UserDropdown.js.map +1 -1
- package/build/main//321/201omponents/UserDropdown/helpers.d.ts +7 -3
- package/build/main//321/201omponents/UserDropdown/helpers.js +4 -2
- package/build/main//321/201omponents/UserDropdown/helpers.js.map +1 -1
- package/build/main//321/201omponents/UserDropdown/selectStyles.d.ts +1 -1
- package/build/main//321/201omponents/UserDropdown/selectStyles.js +49 -26
- package/build/main//321/201omponents/UserDropdown/selectStyles.js.map +1 -1
- package/build/main//321/201omponents/UserDropdown/types.d.ts +95 -57
- 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
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ReactElement, RefObject } from 'react';
|
|
1
|
+
import { Dispatch, ReactElement, ReactNode, RefObject, SetStateAction } from 'react';
|
|
2
2
|
import { MenuListProps, OptionProps } from 'react-select';
|
|
3
3
|
import { IFontFamilyProps, ILanguageProps, ILayoutTypeProps, IPlatformProps, TFontFamilyStyle, TStyles } from '../../constants';
|
|
4
4
|
import { CONTACT_TYPES } from './constants';
|
|
@@ -25,19 +25,25 @@ export type TRenderInfoItem = {
|
|
|
25
25
|
info: string;
|
|
26
26
|
};
|
|
27
27
|
export interface ILoadingMessage {
|
|
28
|
+
isMenuShadowless?: boolean;
|
|
28
29
|
skeletonRowsCount?: number;
|
|
29
30
|
}
|
|
30
31
|
export interface IMenuListProps extends MenuListProps {
|
|
31
32
|
selectRef: RefObject<any>;
|
|
32
33
|
scrollFromTop: RefObject<number>;
|
|
33
34
|
language: string;
|
|
35
|
+
platform: string;
|
|
36
|
+
menuListMaxHeight: number;
|
|
34
37
|
hasNextPage: boolean;
|
|
35
38
|
isLoading: boolean;
|
|
36
39
|
isUserTyping: boolean;
|
|
40
|
+
isCharHintVisible: boolean;
|
|
37
41
|
isShowCatalogSearchButton?: boolean;
|
|
42
|
+
isMenuShadowless: boolean;
|
|
38
43
|
isNextPageLoading: boolean;
|
|
39
44
|
onLoadNextPage: (inputValue: string) => void;
|
|
40
45
|
onShowCatalogSearchButtonClick?: () => void;
|
|
46
|
+
setIsDelimiterVisible: Dispatch<SetStateAction<boolean>>;
|
|
41
47
|
}
|
|
42
48
|
type TData = ILanguageProps & {
|
|
43
49
|
label: string;
|
|
@@ -48,6 +54,7 @@ type TData = ILanguageProps & {
|
|
|
48
54
|
department: string | null;
|
|
49
55
|
companyPosition: string | null;
|
|
50
56
|
isMyContacts: boolean;
|
|
57
|
+
isLocalContact: boolean;
|
|
51
58
|
platform: 'web' | 'ios' | 'android';
|
|
52
59
|
fontFamily: string;
|
|
53
60
|
setIsSearchable: (isSearchable: boolean) => void;
|
|
@@ -56,6 +63,7 @@ type TData = ILanguageProps & {
|
|
|
56
63
|
uid?: string;
|
|
57
64
|
};
|
|
58
65
|
export interface IOptionProps extends OptionProps {
|
|
66
|
+
isMenuShadowless: boolean;
|
|
59
67
|
data: TData;
|
|
60
68
|
}
|
|
61
69
|
export interface ISearchInCatalogButtonProps {
|
|
@@ -90,11 +98,18 @@ export type TGenerateCorporateOptionsToSelect = TGenerateCommonOption & {
|
|
|
90
98
|
setIsSearchable: (isSearchable: boolean) => void;
|
|
91
99
|
setModalData: (modalData: TModalData | null) => void;
|
|
92
100
|
};
|
|
101
|
+
type TMyContactsEntriesOption = TMyContactsEntries & {
|
|
102
|
+
contacts?: Omit<TContacts, 'userKind'>[];
|
|
103
|
+
};
|
|
93
104
|
export type TGenerateContactsOption = TGenerateCommonOption & {
|
|
94
|
-
option:
|
|
105
|
+
option: TMyContactsEntriesOption | TLocalEntity;
|
|
106
|
+
isMyContacts?: boolean;
|
|
107
|
+
isLocalContact?: boolean;
|
|
95
108
|
};
|
|
96
109
|
export type TGenerateContactsOptionsToSelect = TGenerateCommonOption & {
|
|
97
|
-
options:
|
|
110
|
+
options: TMyContactsEntriesOption[] | TLocalEntity[];
|
|
111
|
+
isMyContacts?: boolean;
|
|
112
|
+
isLocalContact?: boolean;
|
|
98
113
|
};
|
|
99
114
|
export type TGenerateEnteredByUserOption = TGenerateCommonOption & {
|
|
100
115
|
email: string;
|
|
@@ -104,15 +119,24 @@ export type TSelectStyles = {
|
|
|
104
119
|
isMaxMembersAdded: boolean;
|
|
105
120
|
isDisabled: boolean;
|
|
106
121
|
isError: boolean;
|
|
122
|
+
isInputPlaceholderVisible: boolean;
|
|
107
123
|
lastRowNumber: number;
|
|
108
124
|
paddingLeft: string;
|
|
125
|
+
paddingRight: string;
|
|
109
126
|
platform: string;
|
|
110
127
|
layoutType: string;
|
|
111
128
|
isInputHidden: boolean;
|
|
112
129
|
isDisabledMenuOffsetAtFullscreen: boolean;
|
|
130
|
+
isInputFocused?: boolean;
|
|
113
131
|
isMaskRepresented: boolean;
|
|
132
|
+
isSuffixRepresented: boolean;
|
|
133
|
+
isMenuShadowless: boolean;
|
|
114
134
|
fontFamilyStyle: TFontFamilyStyle;
|
|
115
135
|
containerPadding?: string;
|
|
136
|
+
isDraggable?: boolean;
|
|
137
|
+
isChipsCollapsed?: boolean;
|
|
138
|
+
menuListMaxHeight: number;
|
|
139
|
+
maxRowsCountToCollapseChips: number;
|
|
116
140
|
};
|
|
117
141
|
export type TGenerateNoOptionsMessage = {
|
|
118
142
|
inputValue: string;
|
|
@@ -146,38 +170,32 @@ export interface MultiOptionType {
|
|
|
146
170
|
isEnteredByUser?: boolean;
|
|
147
171
|
isNotRemovable?: boolean;
|
|
148
172
|
}
|
|
149
|
-
|
|
173
|
+
type TContactEntity = {
|
|
174
|
+
isLoading?: boolean;
|
|
175
|
+
isWarning?: boolean;
|
|
150
176
|
isBusyAtSelectedTime?: boolean;
|
|
151
177
|
isPrivateSchedule?: boolean;
|
|
152
178
|
isNotRemovable?: boolean;
|
|
153
|
-
|
|
179
|
+
isOrganizerShort?: boolean;
|
|
180
|
+
isResetChipsToInputValue?: boolean;
|
|
181
|
+
uid?: string;
|
|
182
|
+
userType?: CONTACT_TYPES;
|
|
183
|
+
organizerName?: string | null;
|
|
184
|
+
contextMenuItems?: MenuItem[];
|
|
185
|
+
};
|
|
186
|
+
export type TMyContactsEntries = TContactEntity & {
|
|
154
187
|
name: string | null;
|
|
155
188
|
email: string;
|
|
156
189
|
avatar: string | null;
|
|
157
|
-
isLoading?: boolean;
|
|
158
|
-
userType?: CONTACT_TYPES;
|
|
159
|
-
isWarning?: boolean;
|
|
160
|
-
uid?: string;
|
|
161
|
-
isResetChipsToInputValue?: boolean;
|
|
162
|
-
contextMenuItems?: MenuItem[];
|
|
163
190
|
};
|
|
164
191
|
type TContacts = {
|
|
165
192
|
userHuid: string;
|
|
166
193
|
contact: string;
|
|
167
194
|
contactType: string;
|
|
195
|
+
userKind?: string;
|
|
168
196
|
};
|
|
169
|
-
export type TCorporateEntity = {
|
|
170
|
-
isBusyAtSelectedTime?: boolean;
|
|
171
|
-
isPrivateSchedule?: boolean;
|
|
172
|
-
isNotRemovable?: boolean;
|
|
173
|
-
isOrganizer?: boolean;
|
|
197
|
+
export type TCorporateEntity = TContactEntity & {
|
|
174
198
|
avatar: string | null;
|
|
175
|
-
uid?: string;
|
|
176
|
-
isResetChipsToInputValue?: boolean;
|
|
177
|
-
contextMenuItems?: MenuItem[];
|
|
178
|
-
userType?: CONTACT_TYPES;
|
|
179
|
-
isLoading?: boolean;
|
|
180
|
-
isWarning?: boolean;
|
|
181
199
|
name: string;
|
|
182
200
|
email: string | null;
|
|
183
201
|
serverName: string | null;
|
|
@@ -186,27 +204,59 @@ export type TCorporateEntity = {
|
|
|
186
204
|
companyPosition: string | null;
|
|
187
205
|
contacts: TContacts[];
|
|
188
206
|
};
|
|
207
|
+
export type TLocalEntity = TContactEntity & {
|
|
208
|
+
avatar: string | null;
|
|
209
|
+
name: string | null;
|
|
210
|
+
email: string | null;
|
|
211
|
+
contacts: Omit<TContacts, 'userHuid'>[];
|
|
212
|
+
};
|
|
189
213
|
type TCorporateEntries = {
|
|
190
214
|
corpPhonebookEntries: TCorporateEntity[];
|
|
191
215
|
trustSearchEntries: TCorporateEntity[];
|
|
216
|
+
localPhonebookEntries?: TLocalEntity[];
|
|
192
217
|
};
|
|
193
|
-
export type TUser = TCorporateEntity | TMyContactsEntries | {
|
|
218
|
+
export type TUser = TCorporateEntity | TLocalEntity | TMyContactsEntries | (TContactEntity & {
|
|
194
219
|
email: string;
|
|
195
220
|
name?: string | null;
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
221
|
+
isLocalContact?: boolean;
|
|
222
|
+
});
|
|
223
|
+
export type TFocusHandle = {
|
|
224
|
+
focus: () => void;
|
|
225
|
+
blur: () => void;
|
|
226
|
+
};
|
|
227
|
+
export type TQueryVariants = {
|
|
228
|
+
origin: string;
|
|
229
|
+
translit: string;
|
|
230
|
+
toEng: string;
|
|
231
|
+
fromEng: string;
|
|
206
232
|
};
|
|
233
|
+
export type TContactMatchScore = {
|
|
234
|
+
emailScore: number;
|
|
235
|
+
nameScore: number;
|
|
236
|
+
originalName: string;
|
|
237
|
+
};
|
|
238
|
+
export declare const MATCH_SCORES: {
|
|
239
|
+
readonly EMAIL_STARTS_WITH: 6;
|
|
240
|
+
readonly EMAIL_CONTAINS: 5;
|
|
241
|
+
readonly NAME_FIRST_WORD_STARTS_WITH: 4;
|
|
242
|
+
readonly NAME_ANY_WORD_STARTS_WITH: 3;
|
|
243
|
+
readonly NAME_CONTAINS: 2;
|
|
244
|
+
readonly NO_MATCH: 0;
|
|
245
|
+
};
|
|
246
|
+
export type TMatchers = {
|
|
247
|
+
startsWith: (text: string) => boolean;
|
|
248
|
+
includes: (text: string) => boolean;
|
|
249
|
+
anyWordStartsWith: (text: string) => boolean;
|
|
250
|
+
};
|
|
251
|
+
export type TDragUser = {
|
|
252
|
+
avatar: string;
|
|
253
|
+
label: string;
|
|
254
|
+
dropdownId?: string;
|
|
255
|
+
} & TUser;
|
|
207
256
|
export interface IUserDropdownProps extends IPlatformProps, ILayoutTypeProps, IFontFamilyProps, ILanguageProps {
|
|
208
257
|
isDisabled?: boolean;
|
|
209
258
|
isLoading?: boolean;
|
|
259
|
+
isError?: boolean;
|
|
210
260
|
isChipsOutline?: boolean;
|
|
211
261
|
isChipsVisible?: boolean;
|
|
212
262
|
isChipsCollapsable?: boolean;
|
|
@@ -217,15 +267,23 @@ export interface IUserDropdownProps extends IPlatformProps, ILayoutTypeProps, IF
|
|
|
217
267
|
isBackspaceChipToInput?: boolean;
|
|
218
268
|
isInputHidden?: boolean;
|
|
219
269
|
isDisabledMenuOffsetAtFullscreen?: boolean;
|
|
270
|
+
isDisabledCheckUniqueEmails?: boolean;
|
|
271
|
+
isMenuShadowless?: boolean;
|
|
220
272
|
hasNextPage?: boolean;
|
|
221
273
|
isNextPageLoading?: boolean;
|
|
222
274
|
title?: string;
|
|
223
275
|
mask?: string;
|
|
276
|
+
suffix?: ReactNode;
|
|
224
277
|
placeholder?: string;
|
|
225
278
|
hint?: ReactElement | string;
|
|
226
279
|
noOptionsMessage?: string;
|
|
227
280
|
maxMembersCount?: number;
|
|
281
|
+
skeletonRowsCount?: number;
|
|
282
|
+
maxRowsCountToCollapseChips?: number;
|
|
283
|
+
menuListMaxHeight?: number;
|
|
228
284
|
menuPosition?: 'bottom' | 'auto' | 'top';
|
|
285
|
+
menuLocation?: 'absolute' | 'fixed';
|
|
286
|
+
menuPortalTarget?: RefObject<HTMLDivElement | null>;
|
|
229
287
|
autoFocus?: boolean;
|
|
230
288
|
externalInputValue?: string;
|
|
231
289
|
containerClassName?: string;
|
|
@@ -235,35 +293,15 @@ export interface IUserDropdownProps extends IPlatformProps, ILayoutTypeProps, IF
|
|
|
235
293
|
corporateEntries: TCorporateEntries | null;
|
|
236
294
|
myContactsEntries: TMyContactsEntries[] | null;
|
|
237
295
|
emailsToExclude?: string[];
|
|
296
|
+
userDropdownId?: string;
|
|
297
|
+
focusRef?: RefObject<TFocusHandle | null>;
|
|
238
298
|
onInputChange: (inputValue: string) => void;
|
|
299
|
+
onImmediateInputChange?: (inputValue: string) => void;
|
|
239
300
|
onChange: (users: TUser[]) => void;
|
|
240
301
|
onMenuOpen?: () => void;
|
|
241
302
|
onMenuClose?: () => void;
|
|
242
303
|
onLoadNextPage?: (inputValue: string) => void;
|
|
243
304
|
onShowCatalogSearchButtonClick?: () => void;
|
|
305
|
+
onFocus?: () => void;
|
|
244
306
|
}
|
|
245
|
-
export type TQueryVariants = {
|
|
246
|
-
origin: string;
|
|
247
|
-
translit: string;
|
|
248
|
-
toEng: string;
|
|
249
|
-
fromEng: string;
|
|
250
|
-
};
|
|
251
|
-
export type TContactMatchScore = {
|
|
252
|
-
emailScore: number;
|
|
253
|
-
nameScore: number;
|
|
254
|
-
originalName: string;
|
|
255
|
-
};
|
|
256
|
-
export declare const MATCH_SCORES: {
|
|
257
|
-
readonly EMAIL_STARTS_WITH: 6;
|
|
258
|
-
readonly EMAIL_CONTAINS: 5;
|
|
259
|
-
readonly NAME_FIRST_WORD_STARTS_WITH: 4;
|
|
260
|
-
readonly NAME_ANY_WORD_STARTS_WITH: 3;
|
|
261
|
-
readonly NAME_CONTAINS: 2;
|
|
262
|
-
readonly NO_MATCH: 0;
|
|
263
|
-
};
|
|
264
|
-
export type TMatchers = {
|
|
265
|
-
startsWith: (text: string) => boolean;
|
|
266
|
-
includes: (text: string) => boolean;
|
|
267
|
-
anyWordStartsWith: (text: string) => boolean;
|
|
268
|
-
};
|
|
269
307
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/сomponents/UserDropdown/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/сomponents/UserDropdown/types.ts"],"names":[],"mappings":"AAqPA,MAAM,CAAC,IAAM,YAAY,GAAG;IAC1B,iBAAiB,EAAE,CAAC;IACpB,cAAc,EAAE,CAAC;IACjB,2BAA2B,EAAE,CAAC;IAC9B,yBAAyB,EAAE,CAAC;IAC5B,aAAa,EAAE,CAAC;IAChB,QAAQ,EAAE,CAAC;CACH,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@expressms/smartapp-ui",
|
|
3
|
-
"version": "3.0.0-alpha.
|
|
3
|
+
"version": "3.0.0-alpha.131",
|
|
4
4
|
"description": "SmartApp UI library",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "build/main/index.js",
|
|
@@ -12,20 +12,25 @@
|
|
|
12
12
|
"registry": "https://registry.npmjs.org/"
|
|
13
13
|
},
|
|
14
14
|
"dependencies": {
|
|
15
|
-
"
|
|
15
|
+
"@dnd-kit/core": "^6.3.1",
|
|
16
|
+
"@floating-ui/react": "^0.27.15",
|
|
16
17
|
"camelcase": "^6.2.1",
|
|
17
18
|
"classnames": "^2.3.2",
|
|
18
19
|
"color": "^4.2.3",
|
|
19
20
|
"color-blend": "^4.0.0",
|
|
20
21
|
"convert-layout": "^0.11.1",
|
|
22
|
+
"date-fns": "^4.1.0",
|
|
21
23
|
"dompurify": "^3.2.6",
|
|
22
24
|
"echarts": "^5.5.0",
|
|
23
25
|
"echarts-for-react": "^3.0.2",
|
|
24
26
|
"juice": "^10.0.0",
|
|
27
|
+
"motion": "^12.26.2",
|
|
25
28
|
"react-beautiful-dnd": "^13.1.1",
|
|
26
|
-
"react-datepicker": "
|
|
27
|
-
"react-draggable": "
|
|
29
|
+
"react-datepicker": "8.10.0",
|
|
30
|
+
"react-draggable": "4.4.6",
|
|
31
|
+
"react-hook-form": "^7.60.0",
|
|
28
32
|
"react-insta-stories": "^2.6.2",
|
|
33
|
+
"react-modal-sheet": "^5.4.1",
|
|
29
34
|
"react-router-dom": "^6.7.0",
|
|
30
35
|
"react-scrollbars-custom": "^4.1.1",
|
|
31
36
|
"react-select": "^5.8.0",
|
|
@@ -36,7 +41,8 @@
|
|
|
36
41
|
"react-window": "^1.8.10",
|
|
37
42
|
"reactjs-popup": "^2.0.5",
|
|
38
43
|
"styled-components": "^6.1.11",
|
|
39
|
-
"transliteration": "
|
|
44
|
+
"transliteration": "~2.3.5",
|
|
45
|
+
"use-detect-keyboard-open": "^0.4.0"
|
|
40
46
|
},
|
|
41
47
|
"resolutions": {
|
|
42
48
|
"@typescript-eslint/utils": "6.21.0",
|
|
@@ -112,7 +118,6 @@
|
|
|
112
118
|
"@types/node": "^16.18.11",
|
|
113
119
|
"@types/react": "^19.0.2",
|
|
114
120
|
"@types/react-beautiful-dnd": "^13.1.4",
|
|
115
|
-
"@types/react-datepicker": "^4.8.0",
|
|
116
121
|
"@types/react-dom": "^18.0.10",
|
|
117
122
|
"@types/react-slick": "^0.23.10",
|
|
118
123
|
"@types/react-virtualized": "^9.21.30",
|
|
@@ -120,7 +125,6 @@
|
|
|
120
125
|
"@types/uuid": "^9.0.8",
|
|
121
126
|
"@typescript-eslint/eslint-plugin": "^6.6.0",
|
|
122
127
|
"@typescript-eslint/parser": "^6.6.0",
|
|
123
|
-
"alex.chus-react-spring-bottom-sheet": "^0.0.2",
|
|
124
128
|
"animate.css": "^4.1.1",
|
|
125
129
|
"babel-jest": "^18.0.0",
|
|
126
130
|
"babel-loader": "8.2.3",
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
-
<path d="M8.71054 11.71L11.3005 14.3C11.6905 14.69 12.3205 14.69 12.7105 14.3L15.3005 11.71C15.9305 11.08 15.4805 10 14.5905 10H9.41054C8.52054 10 8.08054 11.08 8.71054 11.71Z" fill="currentColor"/>
|
|
3
|
-
</svg>
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
-
<path d="M8.71054 12.8823L11.3005 10.2923C11.6905 9.90229 12.3205 9.90229 12.7105 10.2923L15.3005 12.8823C15.9305 13.5123 15.4805 14.5923 14.5905 14.5923H9.41054C8.52054 14.5923 8.08054 13.5123 8.71054 12.8823Z" fill="currentColor"/>
|
|
3
|
-
</svg>
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
type TLongTapEvent = React.TouchEvent<HTMLElement> | React.MouseEvent<HTMLElement, MouseEvent>;
|
|
3
|
-
type TUseLongTap = {
|
|
4
|
-
onLongTap?: (e: TLongTapEvent) => void;
|
|
5
|
-
onCancelLongTap?: () => void;
|
|
6
|
-
longTapDelay?: number;
|
|
7
|
-
};
|
|
8
|
-
export declare const useLongTap: ({ onLongTap, onCancelLongTap, longTapDelay }: TUseLongTap) => {
|
|
9
|
-
cancelPressTimer: () => void;
|
|
10
|
-
startPressTimer: (e: TLongTapEvent) => void;
|
|
11
|
-
};
|
|
12
|
-
export {};
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { useEffect, useRef } from 'react';
|
|
2
|
-
var DEFAULT_LONG_TAP_DELAY = 500;
|
|
3
|
-
export var useLongTap = function (_a) {
|
|
4
|
-
var onLongTap = _a.onLongTap, onCancelLongTap = _a.onCancelLongTap, _b = _a.longTapDelay, longTapDelay = _b === void 0 ? DEFAULT_LONG_TAP_DELAY : _b;
|
|
5
|
-
var timerRef = useRef(null);
|
|
6
|
-
var isLongTapFulfilledRef = useRef(false);
|
|
7
|
-
var startPressTimer = function (e) {
|
|
8
|
-
e.stopPropagation();
|
|
9
|
-
isLongTapFulfilledRef.current = false;
|
|
10
|
-
timerRef.current = setTimeout(function () {
|
|
11
|
-
onLongTap === null || onLongTap === void 0 ? void 0 : onLongTap(e);
|
|
12
|
-
isLongTapFulfilledRef.current = true;
|
|
13
|
-
}, longTapDelay);
|
|
14
|
-
};
|
|
15
|
-
var cancelPressTimer = function () {
|
|
16
|
-
if (timerRef.current) {
|
|
17
|
-
clearTimeout(timerRef.current);
|
|
18
|
-
timerRef.current = null;
|
|
19
|
-
if (!isLongTapFulfilledRef.current)
|
|
20
|
-
onCancelLongTap === null || onCancelLongTap === void 0 ? void 0 : onCancelLongTap();
|
|
21
|
-
}
|
|
22
|
-
};
|
|
23
|
-
useEffect(function () { return function () {
|
|
24
|
-
if (timerRef.current)
|
|
25
|
-
clearTimeout(timerRef.current);
|
|
26
|
-
}; }, []);
|
|
27
|
-
return { cancelPressTimer: cancelPressTimer, startPressTimer: startPressTimer };
|
|
28
|
-
};
|
|
29
|
-
//# sourceMappingURL=useLongTap.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useLongTap.js","sourceRoot":"","sources":["../../../src/hooks/useLongTap.tsx"],"names":[],"mappings":"AAAA,OAAc,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAWhD,IAAM,sBAAsB,GAAG,GAAG,CAAA;AAElC,MAAM,CAAC,IAAM,UAAU,GAAG,UAAC,EAAkF;QAAhF,SAAS,eAAA,EAAE,eAAe,qBAAA,EAAE,oBAAqC,EAArC,YAAY,mBAAG,sBAAsB,KAAA;IAC5F,IAAM,QAAQ,GAAG,MAAM,CAAkB,IAAI,CAAC,CAAA;IAC9C,IAAM,qBAAqB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;IAE3C,IAAM,eAAe,GAAG,UAAC,CAAgB;QACvC,CAAC,CAAC,eAAe,EAAE,CAAA;QACnB,qBAAqB,CAAC,OAAO,GAAG,KAAK,CAAA;QACrC,QAAQ,CAAC,OAAO,GAAG,UAAU,CAAC;YAC5B,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAG,CAAC,CAAC,CAAA;YACd,qBAAqB,CAAC,OAAO,GAAG,IAAI,CAAA;QACtC,CAAC,EAAE,YAAY,CAAC,CAAA;IAClB,CAAC,CAAA;IAED,IAAM,gBAAgB,GAAG;QACvB,IAAI,QAAQ,CAAC,OAAO,EAAE;YACpB,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;YAC9B,QAAQ,CAAC,OAAO,GAAG,IAAI,CAAA;YACvB,IAAI,CAAC,qBAAqB,CAAC,OAAO;gBAAE,eAAe,aAAf,eAAe,uBAAf,eAAe,EAAI,CAAA;SACxD;IACH,CAAC,CAAA;IAED,SAAS,CACP,cAAM,OAAA;QACJ,IAAI,QAAQ,CAAC,OAAO;YAAE,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;IACtD,CAAC,EAFK,CAEL,EACD,EAAE,CACH,CAAA;IAED,OAAO,EAAE,gBAAgB,kBAAA,EAAE,eAAe,iBAAA,EAAE,CAAA;AAC9C,CAAC,CAAA"}
|