@expressms/smartapp-ui 3.0.0-alpha.12 → 3.0.0-alpha.120
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/declined-invite-status.svg +4 -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/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 +81 -43
- package/build/main/constants/constants.js +119 -47
- 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 +8 -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 +21 -9
- package/build/main//321/201omponents/Button/Button.js.map +1 -1
- package/build/main//321/201omponents/Button/types.d.ts +8 -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 +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 +158 -26
- 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 +12 -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.js +7 -6
- package/build/main//321/201omponents/CustomSelect/CustomSelect.js.map +1 -1
- package/build/main//321/201omponents/CustomSelect/selectStyles.js +20 -21
- package/build/main//321/201omponents/CustomSelect/selectStyles.js.map +1 -1
- package/build/main//321/201omponents/CustomSelect/types.d.ts +7 -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 +24 -18
- package/build/main//321/201omponents/DraggablePopup/DraggablePopup.js.map +1 -1
- package/build/main//321/201omponents/DraggablePopup/types.d.ts +8 -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 -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 +116 -48
- package/build/main//321/201omponents/Modal/Modal.js.map +1 -1
- package/build/main//321/201omponents/Modal/types.d.ts +36 -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/Stories/Stories.js +72 -4
- package/build/main//321/201omponents/Stories/Stories.js.map +1 -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 +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 +4 -3
- package/build/main//321/201omponents/UserDropdown/UserDropdown.js +221 -79
- 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 +35 -21
- package/build/main//321/201omponents/UserDropdown/selectStyles.js.map +1 -1
- package/build/main//321/201omponents/UserDropdown/types.d.ts +91 -58
- package/build/main//321/201omponents/UserDropdown/types.js.map +1 -1
- package/package.json +10 -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,27 +1,36 @@
|
|
|
1
1
|
import { IFontFamilyProps, ILanguageProps, IPlatformProps, TStyles } from '../../constants';
|
|
2
2
|
import { CONTACT_TYPES } from '../UserDropdown/constants';
|
|
3
3
|
import { MenuItem } from '../ContextMenu/types';
|
|
4
|
+
import { TUser } from '../UserDropdown/types';
|
|
4
5
|
export interface IChipProps extends IFontFamilyProps, IPlatformProps, ILanguageProps {
|
|
5
6
|
name: string;
|
|
6
7
|
organizerName?: string | null;
|
|
7
|
-
email?: string;
|
|
8
|
+
email?: string | null;
|
|
8
9
|
uid?: string;
|
|
9
|
-
avatar?: string;
|
|
10
|
+
avatar?: string | null;
|
|
10
11
|
isAvatarHidden?: boolean;
|
|
12
|
+
isUserIconHidden?: boolean;
|
|
13
|
+
isEmailMode?: boolean;
|
|
11
14
|
isDisabled?: boolean;
|
|
12
15
|
isError?: boolean;
|
|
13
16
|
isWarning?: boolean;
|
|
14
17
|
isLoading?: boolean;
|
|
15
18
|
isEye?: boolean;
|
|
16
19
|
isMyContacts?: boolean;
|
|
20
|
+
isLocalContact?: boolean;
|
|
17
21
|
isOrganizerShort?: boolean;
|
|
18
22
|
isOutline?: boolean;
|
|
19
|
-
isOpenContextMenu?: boolean;
|
|
20
23
|
userType?: CONTACT_TYPES;
|
|
24
|
+
inviteStatus?: 'accepted' | 'declined' | 'needsAction';
|
|
21
25
|
className?: string;
|
|
22
26
|
styles?: TStyles;
|
|
23
27
|
iconColor?: string;
|
|
24
28
|
contextMenuItems?: MenuItem[];
|
|
29
|
+
isDraggableLayer?: boolean;
|
|
30
|
+
draggableData?: TUser & {
|
|
31
|
+
selectRef?: any;
|
|
32
|
+
};
|
|
33
|
+
dropdownId?: string;
|
|
25
34
|
onDelete?: (name?: string) => void;
|
|
26
|
-
setIsOpenContextMenu?: (isOpen: boolean) => void;
|
|
35
|
+
setIsOpenContextMenu?: (isOpen: boolean, shouldFocusDropdown?: boolean) => void;
|
|
27
36
|
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { DndContextProps, UniqueIdentifier } from '@dnd-kit/core';
|
|
3
|
+
import { TDragUser } from '../UserDropdown/types';
|
|
4
|
+
type TDndContextProps = Omit<DndContextProps, 'onDragStart' | 'onDragEnd'>;
|
|
5
|
+
type TChipDndContext = TDndContextProps & {
|
|
6
|
+
children: ReactNode;
|
|
7
|
+
containerClassName?: string;
|
|
8
|
+
onDragStart?: (user: TDragUser) => void;
|
|
9
|
+
onDragEnd?: (user: TDragUser, dropdownId?: UniqueIdentifier) => void;
|
|
10
|
+
};
|
|
11
|
+
export declare const setDragBlocked: (isBlocked: boolean) => boolean;
|
|
12
|
+
export declare const ChipDndContext: ({ children, containerClassName, onDragStart, onDragEnd, ...props }: TChipDndContext) => import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
13
|
+
var t = {};
|
|
14
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
15
|
+
t[p] = s[p];
|
|
16
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
17
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
18
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
19
|
+
t[p[i]] = s[p[i]];
|
|
20
|
+
}
|
|
21
|
+
return t;
|
|
22
|
+
};
|
|
23
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
24
|
+
import { useCallback, useState } from 'react';
|
|
25
|
+
import { DndContext, DragOverlay, MouseSensor, TouchSensor, rectIntersection, useSensor, useSensors, } from '@dnd-kit/core';
|
|
26
|
+
import Chip from '../Chip';
|
|
27
|
+
var isDragBlocked = false;
|
|
28
|
+
var CHIP_DELETE_ICON_CLASSNAME = '.smartapp-chip__delete-icon';
|
|
29
|
+
export var setDragBlocked = function (isBlocked) { return (isDragBlocked = isBlocked); };
|
|
30
|
+
var checkIsClickDelete = function (target) { var _a; return (_a = target === null || target === void 0 ? void 0 : target.closest) === null || _a === void 0 ? void 0 : _a.call(target, CHIP_DELETE_ICON_CLASSNAME); };
|
|
31
|
+
export var ChipDndContext = function (_a) {
|
|
32
|
+
var children = _a.children, containerClassName = _a.containerClassName, onDragStart = _a.onDragStart, onDragEnd = _a.onDragEnd, props = __rest(_a, ["children", "containerClassName", "onDragStart", "onDragEnd"]);
|
|
33
|
+
var _b = useState(null), activeChip = _b[0], setActiveChip = _b[1];
|
|
34
|
+
var sensors = useSensors(useSensor(MouseSensor, { activationConstraint: { distance: 8 } }), useSensor(TouchSensor, { activationConstraint: { delay: 250, tolerance: 8 } }));
|
|
35
|
+
var handleDragStart = useCallback(function (_a) {
|
|
36
|
+
var current = _a.active.data.current;
|
|
37
|
+
if (isDragBlocked)
|
|
38
|
+
return;
|
|
39
|
+
var user = current === null || current === void 0 ? void 0 : current.user;
|
|
40
|
+
onDragStart === null || onDragStart === void 0 ? void 0 : onDragStart(user);
|
|
41
|
+
setActiveChip(user);
|
|
42
|
+
}, [onDragStart]);
|
|
43
|
+
var handleDragEnd = useCallback(function (_a) {
|
|
44
|
+
var current = _a.active.data.current, over = _a.over;
|
|
45
|
+
if (isDragBlocked)
|
|
46
|
+
return setActiveChip(null);
|
|
47
|
+
var draggedUser = (current === null || current === void 0 ? void 0 : current.user) || activeChip;
|
|
48
|
+
if (!draggedUser)
|
|
49
|
+
return;
|
|
50
|
+
onDragEnd === null || onDragEnd === void 0 ? void 0 : onDragEnd(draggedUser, over === null || over === void 0 ? void 0 : over.id);
|
|
51
|
+
setActiveChip(null);
|
|
52
|
+
}, [onDragEnd, activeChip]);
|
|
53
|
+
var handleDragCancel = useCallback(function () { return setActiveChip(null); }, []);
|
|
54
|
+
var ChipLayer = useCallback(function () {
|
|
55
|
+
if (!activeChip || isDragBlocked)
|
|
56
|
+
return null;
|
|
57
|
+
var label = activeChip.label, isPrivateSchedule = activeChip.isPrivateSchedule, rest = __rest(activeChip, ["label", "isPrivateSchedule"]);
|
|
58
|
+
return _jsx(Chip, __assign({}, rest, { name: label, isEye: isPrivateSchedule, onDelete: function () { }, isDraggableLayer: true }));
|
|
59
|
+
}, [activeChip]);
|
|
60
|
+
var handleMouseDown = useCallback(function (event) {
|
|
61
|
+
var target = event.target, button = event.button;
|
|
62
|
+
if (isDragBlocked)
|
|
63
|
+
return event.stopPropagation();
|
|
64
|
+
if (button !== 0)
|
|
65
|
+
return;
|
|
66
|
+
if (checkIsClickDelete(target))
|
|
67
|
+
return event.stopPropagation();
|
|
68
|
+
}, []);
|
|
69
|
+
var handleTouchStart = useCallback(function (event) {
|
|
70
|
+
var target = event.target, touches = event.touches;
|
|
71
|
+
if (isDragBlocked || touches.length > 1 || checkIsClickDelete(target))
|
|
72
|
+
return event.stopPropagation();
|
|
73
|
+
}, []);
|
|
74
|
+
return (_jsx("div", __assign({ onMouseDown: handleMouseDown, onTouchStart: handleTouchStart, className: containerClassName }, { children: _jsxs(DndContext, __assign({}, props, { sensors: sensors, onDragStart: handleDragStart, onDragEnd: handleDragEnd, onDragCancel: handleDragCancel, collisionDetection: rectIntersection, onDragMove: function () { return isDragBlocked && setActiveChip(null); } }, { children: [children, _jsx(DragOverlay, __assign({ dropAnimation: null }, { children: _jsx(ChipLayer, {}) }))] })) })));
|
|
75
|
+
};
|
|
76
|
+
//# sourceMappingURL=ChipDndContext.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChipDndContext.js","sourceRoot":"","sources":["../../../../src/сomponents/ChipDndContext/ChipDndContext.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAc,EAAqC,WAAW,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACvF,OAAO,EACL,UAAU,EAGV,WAAW,EAEX,WAAW,EACX,WAAW,EAEX,gBAAgB,EAChB,SAAS,EACT,UAAU,GACX,MAAM,eAAe,CAAA;AACtB,OAAO,IAAI,MAAM,SAAS,CAAA;AAY1B,IAAI,aAAa,GAAG,KAAK,CAAA;AACzB,IAAM,0BAA0B,GAAG,6BAA6B,CAAA;AAEhE,MAAM,CAAC,IAAM,cAAc,GAAG,UAAC,SAAkB,IAAK,OAAA,CAAC,aAAa,GAAG,SAAS,CAAC,EAA3B,CAA2B,CAAA;AACjF,IAAM,kBAAkB,GAAG,UAAC,MAAgB,YAAK,OAAA,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,uDAAG,0BAA0B,CAAC,CAAA,EAAA,CAAA;AAE9F,MAAM,CAAC,IAAM,cAAc,GAAG,UAAC,EAAmF;IAAjF,IAAA,QAAQ,cAAA,EAAE,kBAAkB,wBAAA,EAAE,WAAW,iBAAA,EAAE,SAAS,eAAA,EAAK,KAAK,cAAhE,8DAAkE,CAAF;IACvF,IAAA,KAA8B,QAAQ,CAAmB,IAAI,CAAC,EAA7D,UAAU,QAAA,EAAE,aAAa,QAAoC,CAAA;IAEpE,IAAM,OAAO,GAAG,UAAU,CACxB,SAAS,CAAC,WAAW,EAAE,EAAE,oBAAoB,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC,EACjE,SAAS,CAAC,WAAW,EAAE,EAAE,oBAAoB,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC,CAC/E,CAAA;IAED,IAAM,eAAe,GAAG,WAAW,CACjC,UAAC,EAIgB;YAFL,OAAO,yBAAA;QAGjB,IAAI,aAAa;YAAE,OAAM;QAEzB,IAAM,IAAI,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,CAAA;QAC1B,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAG,IAAI,CAAC,CAAA;QACnB,aAAa,CAAC,IAAI,CAAC,CAAA;IACrB,CAAC,EACD,CAAC,WAAW,CAAC,CACd,CAAA;IAED,IAAM,aAAa,GAAG,WAAW,CAC/B,UAAC,EAKc;YAHH,OAAO,yBAAA,EAEjB,IAAI,UAAA;QAEJ,IAAI,aAAa;YAAE,OAAO,aAAa,CAAC,IAAI,CAAC,CAAA;QAE7C,IAAM,WAAW,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,KAAI,UAAU,CAAA;QAC/C,IAAI,CAAC,WAAW;YAAE,OAAM;QAExB,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAG,WAAW,EAAE,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,EAAE,CAAC,CAAA;QAClC,aAAa,CAAC,IAAI,CAAC,CAAA;IACrB,CAAC,EACD,CAAC,SAAS,EAAE,UAAU,CAAC,CACxB,CAAA;IAED,IAAM,gBAAgB,GAAG,WAAW,CAAC,cAAM,OAAA,aAAa,CAAC,IAAI,CAAC,EAAnB,CAAmB,EAAE,EAAE,CAAC,CAAA;IAEnE,IAAM,SAAS,GAAG,WAAW,CAAC;QAC5B,IAAI,CAAC,UAAU,IAAI,aAAa;YAAE,OAAO,IAAI,CAAA;QAErC,IAAA,KAAK,GAAiC,UAAU,MAA3C,EAAE,iBAAiB,GAAc,UAAU,kBAAxB,EAAK,IAAI,UAAK,UAAU,EAAlD,8BAAqC,CAAF,CAAe;QACxD,OAAO,KAAC,IAAI,eAAK,IAAI,IAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,cAAO,CAAC,EAAE,gBAAgB,UAAG,CAAA;IACvG,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAA;IAEhB,IAAM,eAAe,GAAG,WAAW,CAAC,UAAC,KAAiB;QAC5C,IAAA,MAAM,GAAa,KAAK,OAAlB,EAAE,MAAM,GAAK,KAAK,OAAV,CAAU;QAEhC,IAAI,aAAa;YAAE,OAAO,KAAK,CAAC,eAAe,EAAE,CAAA;QACjD,IAAI,MAAM,KAAK,CAAC;YAAE,OAAM;QACxB,IAAI,kBAAkB,CAAC,MAAiB,CAAC;YAAE,OAAO,KAAK,CAAC,eAAe,EAAE,CAAA;IAC3E,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,IAAM,gBAAgB,GAAG,WAAW,CAAC,UAAC,KAAiB;QAC7C,IAAA,MAAM,GAAc,KAAK,OAAnB,EAAE,OAAO,GAAK,KAAK,QAAV,CAAU;QACjC,IAAI,aAAa,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,kBAAkB,CAAC,MAAiB,CAAC;YAAE,OAAO,KAAK,CAAC,eAAe,EAAE,CAAA;IAClH,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO,CACL,uBAAK,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,gBAAgB,EAAE,SAAS,EAAE,kBAAkB,gBAC9F,MAAC,UAAU,eACL,KAAK,IACT,OAAO,EAAE,OAAO,EAChB,WAAW,EAAE,eAAe,EAC5B,SAAS,EAAE,aAAa,EACxB,YAAY,EAAE,gBAAgB,EAC9B,kBAAkB,EAAE,gBAAgB,EACpC,UAAU,EAAE,cAAM,OAAA,aAAa,IAAI,aAAa,CAAC,IAAI,CAAC,EAApC,CAAoC,iBAErD,QAAQ,EACT,KAAC,WAAW,aAAC,aAAa,EAAE,IAAI,gBAC9B,KAAC,SAAS,KAAG,IACD,KACH,IACT,CACP,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { ChipDndContext } from './ChipDndContext';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/сomponents/ChipDndContext/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { IConfirmationModalProps } from './types';
|
|
2
2
|
import '../../styles/styles.scss';
|
|
3
|
-
declare const ConfirmationModal: ({ isModalOpen, isClosableOutside, isConfirmLoading, isCancelLoading, isCloseIconHidden, title, text, cancelButtonName, confirmButtonName, cancelButtonFunction, confirmButtonFunction, handleCloseModal, platform, fontFamily, popupClassName, className, popupStyles, styles, titleStyles, iconColor, backgroundColor, buttonsDirection, isBottomSheet, isDisabledBottomSheet, bottomSheetProps, }: IConfirmationModalProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
3
|
+
declare const ConfirmationModal: ({ isModalOpen, isClosableOutside, isConfirmLoading, isCancelLoading, isCloseIconHidden, title, text, cancelButtonName, confirmButtonName, cancelButtonFunction, confirmButtonFunction, handleCloseModal, platform, fontFamily, popupClassName, className, popupStyles, styles, titleStyles, iconColor, backgroundColor, buttonsDirection, isBottomSheet, isDisabledBottomSheet, bottomSheetProps, bottomSheetDetent, bottomSheetStyles, }: IConfirmationModalProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
4
4
|
export default ConfirmationModal;
|
|
@@ -20,7 +20,7 @@ import { TButtonVariant } from '../Button/types';
|
|
|
20
20
|
import { ReactComponent as CloseIcon } from '../../assets/icons/close-modal.svg';
|
|
21
21
|
import '../../styles/styles.scss';
|
|
22
22
|
var ConfirmationModal = function (_a) {
|
|
23
|
-
var isModalOpen = _a.isModalOpen, _b = _a.isClosableOutside, isClosableOutside = _b === void 0 ? true : _b, _c = _a.isConfirmLoading, isConfirmLoading = _c === void 0 ? false : _c, _d = _a.isCancelLoading, isCancelLoading = _d === void 0 ? false : _d, isCloseIconHidden = _a.isCloseIconHidden, title = _a.title, text = _a.text, cancelButtonName = _a.cancelButtonName, confirmButtonName = _a.confirmButtonName, cancelButtonFunction = _a.cancelButtonFunction, confirmButtonFunction = _a.confirmButtonFunction, handleCloseModal = _a.handleCloseModal, _e = _a.platform, platform = _e === void 0 ? PLATFORM.web : _e, fontFamily = _a.fontFamily, popupClassName = _a.popupClassName, className = _a.className, popupStyles = _a.popupStyles, styles = _a.styles, titleStyles = _a.titleStyles, iconColor = _a.iconColor, backgroundColor = _a.backgroundColor, _f = _a.buttonsDirection, buttonsDirection = _f === void 0 ? MODAL_BUTTONS_DIRECTION.row : _f, _g = _a.isBottomSheet, isBottomSheet = _g === void 0 ? false : _g, _h = _a.isDisabledBottomSheet, isDisabledBottomSheet = _h === void 0 ? false : _h, bottomSheetProps = _a.bottomSheetProps;
|
|
23
|
+
var isModalOpen = _a.isModalOpen, _b = _a.isClosableOutside, isClosableOutside = _b === void 0 ? true : _b, _c = _a.isConfirmLoading, isConfirmLoading = _c === void 0 ? false : _c, _d = _a.isCancelLoading, isCancelLoading = _d === void 0 ? false : _d, isCloseIconHidden = _a.isCloseIconHidden, title = _a.title, text = _a.text, cancelButtonName = _a.cancelButtonName, confirmButtonName = _a.confirmButtonName, cancelButtonFunction = _a.cancelButtonFunction, confirmButtonFunction = _a.confirmButtonFunction, handleCloseModal = _a.handleCloseModal, _e = _a.platform, platform = _e === void 0 ? PLATFORM.web : _e, fontFamily = _a.fontFamily, popupClassName = _a.popupClassName, className = _a.className, popupStyles = _a.popupStyles, styles = _a.styles, titleStyles = _a.titleStyles, iconColor = _a.iconColor, backgroundColor = _a.backgroundColor, _f = _a.buttonsDirection, buttonsDirection = _f === void 0 ? MODAL_BUTTONS_DIRECTION.row : _f, _g = _a.isBottomSheet, isBottomSheet = _g === void 0 ? false : _g, _h = _a.isDisabledBottomSheet, isDisabledBottomSheet = _h === void 0 ? false : _h, bottomSheetProps = _a.bottomSheetProps, bottomSheetDetent = _a.bottomSheetDetent, bottomSheetStyles = _a.bottomSheetStyles;
|
|
24
24
|
var ref = useRef(null);
|
|
25
25
|
var titleRef = useRef(null);
|
|
26
26
|
var textRef = useRef(null);
|
|
@@ -39,7 +39,8 @@ var ConfirmationModal = function (_a) {
|
|
|
39
39
|
handleCloseModal: cancelFunction,
|
|
40
40
|
popupClassName: classNames('confirmation-modal', popupClassName),
|
|
41
41
|
popupStyles: popupOverlayStyle,
|
|
42
|
-
|
|
42
|
+
bottomSheetDetent: bottomSheetDetent,
|
|
43
|
+
bottomSheetStyles: bottomSheetStyles,
|
|
43
44
|
bottomSheetProps: bottomSheetProps,
|
|
44
45
|
}), shouldUseBottomSheet = _j.shouldUseBottomSheet, renderModal = _j.renderModal;
|
|
45
46
|
var additionalClassName = generateBottomSheetClassName(platform, shouldUseBottomSheet);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConfirmationModal.js","sourceRoot":"","sources":["../../../../src/сomponents/ConfirmationModal/ConfirmationModal.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAc,EAAiB,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAC/D,OAAO,UAAU,MAAM,YAAY,CAAA;AACnC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,MAAM,MAAM,WAAW,CAAA;AAC9B,OAAO,EACL,4BAA4B,EAC5B,kBAAkB,EAClB,aAAa,EACb,uBAAuB,EACvB,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,MAAM,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,QAAQ,EAAW,MAAM,iBAAiB,CAAA;AAC1G,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAA;AAEhD,OAAO,EAAE,cAAc,IAAI,SAAS,EAAE,MAAM,oCAAoC,CAAA;AAChF,OAAO,0BAA0B,CAAA;AAEjC,IAAM,iBAAiB,GAAG,UAAC,
|
|
1
|
+
{"version":3,"file":"ConfirmationModal.js","sourceRoot":"","sources":["../../../../src/сomponents/ConfirmationModal/ConfirmationModal.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { SheetDetent } from 'react-modal-sheet';
|
|
3
3
|
import { IFontFamilyProps, IPlatformProps, TStyles } from '../../constants';
|
|
4
|
+
import { TBottomSheetProps, TBottomSheetStyles } from '../Modal/types';
|
|
4
5
|
export interface IConfirmationModalProps extends IPlatformProps, IFontFamilyProps {
|
|
5
6
|
isModalOpen: boolean;
|
|
6
7
|
isClosableOutside?: boolean;
|
|
@@ -24,5 +25,7 @@ export interface IConfirmationModalProps extends IPlatformProps, IFontFamilyProp
|
|
|
24
25
|
buttonsDirection?: 'row' | 'column';
|
|
25
26
|
isBottomSheet?: boolean;
|
|
26
27
|
isDisabledBottomSheet?: boolean;
|
|
27
|
-
bottomSheetProps?:
|
|
28
|
+
bottomSheetProps?: TBottomSheetProps;
|
|
29
|
+
bottomSheetStyles?: TBottomSheetStyles;
|
|
30
|
+
bottomSheetDetent?: SheetDetent;
|
|
28
31
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { IContextMenuProps } from './types';
|
|
2
2
|
import '../../styles/styles.scss';
|
|
3
|
-
declare const ContextMenu: <T>({ fontFamily, isMenuOpen, isClickForbidden, isCloseOnItemClick, position: { x, y }, menuWidth, containerClassName, menuClassName, itemClassName, containerStyles, menuStyles, itemStyles, items, closeMenu, platform, actionData, topSlot, }: IContextMenuProps<T>) => import("react/jsx-runtime").JSX.Element | null;
|
|
3
|
+
declare const ContextMenu: <T>({ fontFamily, isMenuOpen, isClickForbidden, isCloseOnItemClick, position: { x, y }, menuWidth, containerClassName, menuClassName, itemClassName, containerStyles, menuStyles, itemStyles, items, closeMenu, platform, actionData, topSlot, isTopSlotFixed, maxHeight, }: IContextMenuProps<T>) => import("react/jsx-runtime").JSX.Element | null;
|
|
4
4
|
export default ContextMenu;
|
|
@@ -9,33 +9,57 @@ var __assign = (this && this.__assign) || function () {
|
|
|
9
9
|
};
|
|
10
10
|
return __assign.apply(this, arguments);
|
|
11
11
|
};
|
|
12
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
13
|
+
var t = {};
|
|
14
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
15
|
+
t[p] = s[p];
|
|
16
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
17
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
18
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
19
|
+
t[p[i]] = s[p[i]];
|
|
20
|
+
}
|
|
21
|
+
return t;
|
|
22
|
+
};
|
|
12
23
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
24
|
import { useLayoutEffect, useRef, useState } from 'react';
|
|
14
25
|
import classNames from 'classnames';
|
|
15
|
-
import
|
|
16
|
-
import { generateFontFamilyStyle,
|
|
26
|
+
import ContextMenuItem from '../ContextMenuItem';
|
|
27
|
+
import { generateFontFamilyStyle, isWebPlatform } from '../../helpers';
|
|
17
28
|
import { CONTEXT_MENU_SAFE_SPACE, FIT_CONTENT, PLATFORM } from '../../constants';
|
|
18
29
|
import '../../styles/styles.scss';
|
|
30
|
+
var AUTO_OVERFLOW_VALUE = 'auto';
|
|
31
|
+
var MAX_CONTENT = 'max-content';
|
|
19
32
|
var ContextMenu = function (_a) {
|
|
20
|
-
var _b;
|
|
21
|
-
var fontFamily = _a.fontFamily, isMenuOpen = _a.isMenuOpen,
|
|
33
|
+
var _b, _c;
|
|
34
|
+
var fontFamily = _a.fontFamily, isMenuOpen = _a.isMenuOpen, _d = _a.isClickForbidden, isClickForbidden = _d === void 0 ? false : _d, _e = _a.isCloseOnItemClick, isCloseOnItemClick = _e === void 0 ? true : _e, _f = _a.position, x = _f.x, y = _f.y, menuWidth = _a.menuWidth, containerClassName = _a.containerClassName, menuClassName = _a.menuClassName, itemClassName = _a.itemClassName, containerStyles = _a.containerStyles, _g = _a.menuStyles, menuStyles = _g === void 0 ? {} : _g, _h = _a.itemStyles, itemStyles = _h === void 0 ? {} : _h, items = _a.items, closeMenu = _a.closeMenu, _j = _a.platform, platform = _j === void 0 ? PLATFORM.web : _j, actionData = _a.actionData, topSlot = _a.topSlot, isTopSlotFixed = _a.isTopSlotFixed, maxHeight = _a.maxHeight;
|
|
22
35
|
var elementRef = useRef(null);
|
|
23
|
-
var
|
|
24
|
-
var _k = useState(((_b = elementRef === null || elementRef === void 0 ? void 0 : elementRef.current) === null || _b === void 0 ? void 0 : _b.
|
|
36
|
+
var topSlotRef = useRef(null);
|
|
37
|
+
var _k = useState(((_b = elementRef === null || elementRef === void 0 ? void 0 : elementRef.current) === null || _b === void 0 ? void 0 : _b.offsetWidth) || 0), contextMenuWidth = _k[0], setContextMenuWidth = _k[1];
|
|
38
|
+
var _l = useState(((_c = elementRef === null || elementRef === void 0 ? void 0 : elementRef.current) === null || _c === void 0 ? void 0 : _c.offsetHeight) || 0), contextMenuHeight = _l[0], setContextMenuHeight = _l[1];
|
|
25
39
|
var clientHeight = document.documentElement.clientHeight;
|
|
26
40
|
var clientWidth = document.documentElement.clientWidth;
|
|
27
41
|
var handleContextMenu = function (event) {
|
|
28
42
|
event.preventDefault();
|
|
29
|
-
|
|
43
|
+
event.stopPropagation();
|
|
44
|
+
if (!isWebPlatform(platform))
|
|
45
|
+
return;
|
|
46
|
+
!isClickForbidden && closeMenu(true);
|
|
47
|
+
};
|
|
48
|
+
var handleMenuItemClick = function (event, action) {
|
|
49
|
+
event.stopPropagation();
|
|
50
|
+
event.preventDefault();
|
|
51
|
+
!isClickForbidden && action(actionData);
|
|
52
|
+
handleMenuClose({ event: event, shouldCloseDropdown: false });
|
|
30
53
|
};
|
|
31
|
-
var handleMenuItemClick = function (action) { return !isClickForbidden && action(actionData); };
|
|
32
54
|
var handleMenuClose = function (_a) {
|
|
33
|
-
var event = _a.event, _b = _a.isItemClick, isItemClick = _b === void 0 ? true : _b;
|
|
55
|
+
var event = _a.event, _b = _a.isItemClick, isItemClick = _b === void 0 ? true : _b, _c = _a.shouldCloseDropdown, shouldCloseDropdown = _c === void 0 ? true : _c;
|
|
34
56
|
event.stopPropagation();
|
|
57
|
+
event.preventDefault();
|
|
35
58
|
if (isItemClick && !isCloseOnItemClick)
|
|
36
59
|
return;
|
|
60
|
+
var closeDropdown = isItemClick ? false : shouldCloseDropdown;
|
|
37
61
|
if (!isClickForbidden)
|
|
38
|
-
closeMenu();
|
|
62
|
+
closeMenu(closeDropdown);
|
|
39
63
|
};
|
|
40
64
|
var handleSortItems = function (_a, _b) {
|
|
41
65
|
var isFixedA = _a.isFixedUnderLine;
|
|
@@ -51,31 +75,47 @@ var ContextMenu = function (_a) {
|
|
|
51
75
|
setContextMenuWidth(menuWidth || width);
|
|
52
76
|
}
|
|
53
77
|
}, [isMenuOpen, menuWidth]);
|
|
54
|
-
|
|
78
|
+
useLayoutEffect(function () {
|
|
79
|
+
var elementRefCurrent = elementRef.current;
|
|
80
|
+
if (!isMenuOpen || !elementRefCurrent)
|
|
81
|
+
return;
|
|
82
|
+
var previousElementWidth = elementRefCurrent.style.width;
|
|
83
|
+
if (!menuWidth)
|
|
84
|
+
elementRefCurrent.style.width = MAX_CONTENT;
|
|
85
|
+
var nextElementWidth = Math.ceil(elementRefCurrent.getBoundingClientRect().width);
|
|
86
|
+
elementRefCurrent.style.width = previousElementWidth;
|
|
87
|
+
setContextMenuWidth(function (prevContextMenuWidth) { return (Math.abs(prevContextMenuWidth - nextElementWidth) >= 1 ? nextElementWidth : prevContextMenuWidth); });
|
|
88
|
+
}, [isMenuOpen, menuWidth, items, topSlot, isTopSlotFixed]);
|
|
55
89
|
var sortedContextMenuItems = items.sort(handleSortItems);
|
|
56
90
|
var firstIndexUnderLine = sortedContextMenuItems.findIndex(function (_a) {
|
|
57
91
|
var isFixedUnderLine = _a.isFixedUnderLine;
|
|
58
92
|
return isFixedUnderLine;
|
|
59
93
|
});
|
|
60
94
|
var contextMenuItems = sortedContextMenuItems.map(function (_a, index) {
|
|
61
|
-
var
|
|
62
|
-
return (
|
|
63
|
-
'smartapp-context-menu__item--checkbox': isWithCheckbox,
|
|
64
|
-
'smartapp-context-menu__item--negative': isNegativeAction,
|
|
65
|
-
'smartapp-context-menu__item--selected': isSelected,
|
|
66
|
-
'smartapp-context-menu__item--disabled': isDisabled,
|
|
67
|
-
'smartapp-context-menu__item--fixed-under-line': isFixedUnderLine && index === firstIndexUnderLine,
|
|
68
|
-
'smartapp-context-menu__item--hover': isWebPlatform(platform) && !isWithCheckbox,
|
|
69
|
-
}, itemClassName, className), disabled: isDisabled, style: itemStyles, onClick: function () { return handleMenuItemClick(action); } }, { children: [_jsxs("div", __assign({ className: classNames('smartapp-context-menu__item--content', {
|
|
70
|
-
'smartapp-context-menu__item--content__fixed-under-line': isFixedUnderLine,
|
|
71
|
-
'smartapp-context-menu__item--checkbox__content': isWithCheckbox,
|
|
72
|
-
'smartapp-context-menu__item--disabled__content': isDisabled,
|
|
73
|
-
}) }, { children: [!isFixedUnderLine && renderMenuItemIcon(icon), _jsx("span", { children: title }), isFixedUnderLine && renderMenuItemIcon(icon)] })), isWithCheckbox && _jsx(Checkbox, { id: generateId(), isChecked: isChecked, isDisabled: isDisabled })] }), title));
|
|
95
|
+
var title = _a.title, className = _a.className, action = _a.action, onMouseEnter = _a.onMouseEnter, onMouseLeave = _a.onMouseLeave, contextMenuItem = __rest(_a, ["title", "className", "action", "onMouseEnter", "onMouseLeave"]);
|
|
96
|
+
return (_jsx(ContextMenuItem, __assign({ index: index, platform: platform, fontFamily: fontFamily, title: title, firstIndexUnderLine: firstIndexUnderLine, className: classNames(itemClassName, className), styles: itemStyles, onClick: function (event) { return handleMenuItemClick(event, action); }, onTouchEnd: function (event) { return handleMenuItemClick(event, action); }, onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave }, contextMenuItem), title));
|
|
74
97
|
});
|
|
75
|
-
var
|
|
98
|
+
var calculateContextMenuHeight = function () {
|
|
99
|
+
var elementRefCurrent = elementRef.current;
|
|
100
|
+
if (!elementRefCurrent)
|
|
101
|
+
return FIT_CONTENT;
|
|
102
|
+
var currentElementHeight = elementRefCurrent.scrollHeight;
|
|
103
|
+
return maxHeight ? Math.min(currentElementHeight, maxHeight) : currentElementHeight;
|
|
104
|
+
};
|
|
105
|
+
var contextMenuStyles = __assign(__assign(__assign({ top: y + contextMenuHeight > clientHeight ? clientHeight - contextMenuHeight - CONTEXT_MENU_SAFE_SPACE : y, left: x + contextMenuWidth > clientWidth ? clientWidth - contextMenuWidth - CONTEXT_MENU_SAFE_SPACE : x }, (menuWidth ? { width: menuWidth } : { width: contextMenuWidth })), { height: calculateContextMenuHeight(), overflow: AUTO_OVERFLOW_VALUE }), menuStyles);
|
|
106
|
+
var generateContextMenuItemsClassname = function () {
|
|
107
|
+
return classNames('smartapp-context-menu__items', {
|
|
108
|
+
'smartapp-context-menu__items--with-fixed-top-slot': isTopSlotFixed && topSlot,
|
|
109
|
+
}, menuClassName);
|
|
110
|
+
};
|
|
111
|
+
var generateTopSlotClassname = function () {
|
|
112
|
+
return classNames('smartapp-context-menu__items--top-slot', {
|
|
113
|
+
'smartapp-context-menu__items--top-slot__fixed': isTopSlotFixed,
|
|
114
|
+
});
|
|
115
|
+
};
|
|
76
116
|
if (!isMenuOpen)
|
|
77
117
|
return null;
|
|
78
|
-
return (_jsx("div", __assign({ className: classNames('smartapp-context-menu', containerClassName), style: __assign(__assign({}, generateFontFamilyStyle(fontFamily)), containerStyles), onClick: function (event) { return handleMenuClose({ event: event, isItemClick: false }); }, onContextMenu: handleContextMenu }, { children: _jsxs("div", __assign({ ref: elementRef, className:
|
|
118
|
+
return (_jsx("div", __assign({ className: classNames('smartapp-context-menu', containerClassName), style: __assign(__assign({}, generateFontFamilyStyle(fontFamily)), containerStyles), onClick: function (event) { return handleMenuClose({ event: event, isItemClick: false }); }, onContextMenu: handleContextMenu, onTouchEnd: function (event) { return handleMenuClose({ event: event, isItemClick: false }); } }, { children: _jsxs("div", __assign({ ref: elementRef, className: generateContextMenuItemsClassname(), style: contextMenuStyles, onClick: function (event) { return handleMenuClose({ event: event }); } }, { children: [topSlot && (_jsx("div", __assign({ ref: topSlotRef, className: generateTopSlotClassname() }, { children: topSlot }))), _jsx("div", __assign({ className: "smartapp-context-menu__items--list" }, { children: contextMenuItems }))] })) })));
|
|
79
119
|
};
|
|
80
120
|
export default ContextMenu;
|
|
81
121
|
//# sourceMappingURL=ContextMenu.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextMenu.js","sourceRoot":"","sources":["../../../../src/сomponents/ContextMenu/ContextMenu.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ContextMenu.js","sourceRoot":"","sources":["../../../../src/сomponents/ContextMenu/ContextMenu.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { ReactElement, ReactNode } from 'react';
|
|
2
|
-
import { IFontFamilyProps, IPlatformProps, TStyles } from '../../constants';
|
|
2
|
+
import { IFontFamilyProps, IPlatformProps, TCoords, TStyles } from '../../constants';
|
|
3
|
+
import { ICON_POSITION, TContextMenuItemMouseEventHandler } from '../ContextMenuItem/types';
|
|
3
4
|
export type MenuItem<T extends unknown = any> = {
|
|
4
5
|
isNegativeAction?: boolean;
|
|
5
6
|
isSelected?: boolean;
|
|
@@ -7,19 +8,21 @@ export type MenuItem<T extends unknown = any> = {
|
|
|
7
8
|
isWithCheckbox?: boolean;
|
|
8
9
|
isChecked?: boolean;
|
|
9
10
|
isFixedUnderLine?: boolean;
|
|
11
|
+
isShowArrow?: boolean;
|
|
10
12
|
className?: string;
|
|
11
13
|
title: string;
|
|
12
|
-
|
|
14
|
+
secondaryText?: string;
|
|
13
15
|
icon?: ReactElement;
|
|
16
|
+
iconPosition?: ICON_POSITION;
|
|
17
|
+
onMouseEnter?: TContextMenuItemMouseEventHandler;
|
|
18
|
+
onMouseLeave?: TContextMenuItemMouseEventHandler;
|
|
19
|
+
action: (actionData?: T) => void;
|
|
14
20
|
};
|
|
15
21
|
export interface IContextMenuProps<T extends unknown = any> extends IPlatformProps, IFontFamilyProps {
|
|
16
22
|
isMenuOpen: boolean;
|
|
17
23
|
isCloseOnItemClick?: boolean;
|
|
18
24
|
isClickForbidden?: boolean;
|
|
19
|
-
position:
|
|
20
|
-
x: number;
|
|
21
|
-
y: number;
|
|
22
|
-
};
|
|
25
|
+
position: TCoords;
|
|
23
26
|
menuWidth?: number;
|
|
24
27
|
containerClassName?: string;
|
|
25
28
|
menuClassName?: string;
|
|
@@ -30,5 +33,7 @@ export interface IContextMenuProps<T extends unknown = any> extends IPlatformPro
|
|
|
30
33
|
items: MenuItem[];
|
|
31
34
|
actionData?: T;
|
|
32
35
|
topSlot?: ReactNode;
|
|
33
|
-
|
|
36
|
+
isTopSlotFixed?: boolean;
|
|
37
|
+
maxHeight?: number;
|
|
38
|
+
closeMenu: (shouldCloseDropdown?: boolean) => void;
|
|
34
39
|
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { IContextMenuItemProps } from './types';
|
|
2
|
+
import '../../styles/styles.scss';
|
|
3
|
+
declare const ContextMenuItem: ({ platform, fontFamily, isNegativeAction, isSelected, isDisabled, isWithCheckbox, isChecked, isFixedUnderLine, index, firstIndexUnderLine, title, icon, iconPosition, className, styles, onClick, onTouchEnd, secondaryText, isShowArrow, onMouseEnter, onMouseLeave, }: IContextMenuItemProps) => import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
export default ContextMenuItem;
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
var __assign = (this && this.__assign) || function () {
|
|
2
|
+
__assign = Object.assign || function(t) {
|
|
3
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
4
|
+
s = arguments[i];
|
|
5
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
6
|
+
t[p] = s[p];
|
|
7
|
+
}
|
|
8
|
+
return t;
|
|
9
|
+
};
|
|
10
|
+
return __assign.apply(this, arguments);
|
|
11
|
+
};
|
|
12
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
13
|
+
import classNames from 'classnames';
|
|
14
|
+
import { isNil } from 'lodash';
|
|
15
|
+
import Checkbox from '../Checkbox/Checkbox';
|
|
16
|
+
import { generateFontFamilyStyle, generateId, isWebPlatform } from '../../helpers';
|
|
17
|
+
import { COLORS, PLATFORM } from '../../constants';
|
|
18
|
+
import { ICON_POSITION } from './types';
|
|
19
|
+
import { ReactComponent as ChevronIcon } from '../../assets/icons/chevron.svg';
|
|
20
|
+
import '../../styles/styles.scss';
|
|
21
|
+
var checkIconPosition = function (isFixedUnderLine, iconPosition) {
|
|
22
|
+
var isLeftIconPosition = iconPosition === ICON_POSITION.left;
|
|
23
|
+
var isLeftIconLocation = iconPosition ? isLeftIconPosition : !isFixedUnderLine;
|
|
24
|
+
var isRightIconLocation = iconPosition ? iconPosition === ICON_POSITION.right : isFixedUnderLine;
|
|
25
|
+
return { isLeftIconPosition: isLeftIconPosition, isLeftIconLocation: isLeftIconLocation, isRightIconLocation: isRightIconLocation };
|
|
26
|
+
};
|
|
27
|
+
var ContextMenuItem = function (_a) {
|
|
28
|
+
var _b = _a.platform, platform = _b === void 0 ? PLATFORM.web : _b, fontFamily = _a.fontFamily, _c = _a.isNegativeAction, isNegativeAction = _c === void 0 ? false : _c, _d = _a.isSelected, isSelected = _d === void 0 ? false : _d, _e = _a.isDisabled, isDisabled = _e === void 0 ? false : _e, _f = _a.isWithCheckbox, isWithCheckbox = _f === void 0 ? false : _f, _g = _a.isChecked, isChecked = _g === void 0 ? false : _g, _h = _a.isFixedUnderLine, isFixedUnderLine = _h === void 0 ? false : _h, index = _a.index, firstIndexUnderLine = _a.firstIndexUnderLine, title = _a.title, icon = _a.icon, iconPosition = _a.iconPosition, className = _a.className, styles = _a.styles, onClick = _a.onClick, onTouchEnd = _a.onTouchEnd, secondaryText = _a.secondaryText, _j = _a.isShowArrow, isShowArrow = _j === void 0 ? false : _j, onMouseEnter = _a.onMouseEnter, onMouseLeave = _a.onMouseLeave;
|
|
29
|
+
var _k = checkIconPosition(isFixedUnderLine, iconPosition), isLeftIconPosition = _k.isLeftIconPosition, isLeftIconLocation = _k.isLeftIconLocation, isRightIconLocation = _k.isRightIconLocation;
|
|
30
|
+
var renderContextMenuItemIcon = function (icon) { return icon && _jsx("div", __assign({ className: "smartapp-context-menu-item__content--icon" }, { children: icon })); };
|
|
31
|
+
var renderContextMenuItemText = function (title, secondaryText) {
|
|
32
|
+
return secondaryText ? (_jsxs("div", __assign({ className: "smartapp-context-menu-item__content--text" }, { children: [_jsx("span", __assign({ className: "smartapp-context-menu-item__content--text__title" }, { children: title })), _jsx("span", __assign({ className: "smartapp-context-menu-item__content--text__secondary-text" }, { children: secondaryText }))] }))) : (_jsx("span", { children: title }));
|
|
33
|
+
};
|
|
34
|
+
return (_jsxs(_Fragment, { children: [isFixedUnderLine && index === firstIndexUnderLine && _jsx("div", { className: "smartapp-context-menu-item__fixed-under-line" }), _jsxs("button", __assign({ className: classNames('smartapp-context-menu-item', {
|
|
35
|
+
'smartapp-context-menu-item__checkbox': isWithCheckbox,
|
|
36
|
+
'smartapp-context-menu-item__checkbox-with-arrow': isWithCheckbox && isShowArrow,
|
|
37
|
+
'smartapp-context-menu-item__negative': isNegativeAction,
|
|
38
|
+
'smartapp-context-menu-item__selected': isSelected,
|
|
39
|
+
'smartapp-context-menu-item__disabled': isDisabled,
|
|
40
|
+
'smartapp-context-menu-item__hover': isWebPlatform(platform) && !isWithCheckbox,
|
|
41
|
+
}, className), disabled: isDisabled, style: __assign(__assign({}, styles), generateFontFamilyStyle(fontFamily)), onClick: onClick, onTouchEnd: onTouchEnd, onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave }, { children: [_jsxs("div", __assign({ className: classNames('smartapp-context-menu-item__content', {
|
|
42
|
+
'smartapp-context-menu-item__content--fixed-under-line': isFixedUnderLine,
|
|
43
|
+
'smartapp-context-menu-item__content--fixed-under-line__reduced-gap': isFixedUnderLine && isLeftIconPosition,
|
|
44
|
+
'smartapp-context-menu-item__checkbox--content': isWithCheckbox && !isNil(icon),
|
|
45
|
+
'smartapp-context-menu-item__disabled--content': isDisabled,
|
|
46
|
+
}) }, { children: [isLeftIconLocation && renderContextMenuItemIcon(icon), renderContextMenuItemText(title, secondaryText), isRightIconLocation && renderContextMenuItemIcon(icon)] })), isWithCheckbox && _jsx(Checkbox, { id: generateId(), isChecked: isChecked, isDisabled: isDisabled }), isShowArrow && (_jsx("div", __assign({ className: "smartapp-context-menu-item__arrow" }, { children: _jsx(ChevronIcon, { color: COLORS.iconPrimary }) })))] }))] }));
|
|
47
|
+
};
|
|
48
|
+
export default ContextMenuItem;
|
|
49
|
+
//# sourceMappingURL=ContextMenuItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContextMenuItem.js","sourceRoot":"","sources":["../../../../src/сomponents/ContextMenuItem/ContextMenuItem.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from './ContextMenuItem';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/сomponents/ContextMenuItem/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAA"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { MouseEventHandler, ReactElement } from 'react';
|
|
2
|
+
import { IFontFamilyProps, IPlatformProps, TClickEvent, TStyles } from '../../constants';
|
|
3
|
+
export declare enum ICON_POSITION {
|
|
4
|
+
left = "left",
|
|
5
|
+
right = "right"
|
|
6
|
+
}
|
|
7
|
+
export type TContextMenuItemMouseEventHandler = MouseEventHandler<HTMLButtonElement>;
|
|
8
|
+
export interface IContextMenuItemProps extends IPlatformProps, IFontFamilyProps {
|
|
9
|
+
isNegativeAction?: boolean;
|
|
10
|
+
isSelected?: boolean;
|
|
11
|
+
isDisabled?: boolean;
|
|
12
|
+
isWithCheckbox?: boolean;
|
|
13
|
+
isChecked?: boolean;
|
|
14
|
+
isFixedUnderLine?: boolean;
|
|
15
|
+
index?: number;
|
|
16
|
+
firstIndexUnderLine?: number;
|
|
17
|
+
title: string;
|
|
18
|
+
icon?: ReactElement;
|
|
19
|
+
iconPosition?: ICON_POSITION;
|
|
20
|
+
className?: string;
|
|
21
|
+
secondaryText?: string;
|
|
22
|
+
isShowArrow?: boolean;
|
|
23
|
+
styles?: TStyles;
|
|
24
|
+
onClick?: (event: TClickEvent) => void;
|
|
25
|
+
onTouchEnd?: (event: TClickEvent) => void;
|
|
26
|
+
onMouseEnter?: TContextMenuItemMouseEventHandler;
|
|
27
|
+
onMouseLeave?: TContextMenuItemMouseEventHandler;
|
|
28
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/сomponents/ContextMenuItem/types.ts"],"names":[],"mappings":"AAGA,MAAM,CAAN,IAAY,aAGX;AAHD,WAAY,aAAa;IACvB,8BAAa,CAAA;IACb,gCAAe,CAAA;AACjB,CAAC,EAHW,aAAa,KAAb,aAAa,QAGxB"}
|