@expressms/smartapp-ui 2.8.0-alpha.2 → 2.8.0-alpha.4

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.
@@ -1,4 +1,4 @@
1
1
  import { IDraggablePopupProps } from './types';
2
2
  import '../../styles/styles.scss';
3
- declare const DraggablePopup: ({ draggableZoneRef, popupContent, isPopupOpen, handleClose, popupCoords, title, bottomContent, dropZonePadding, }: IDraggablePopupProps) => import("react/jsx-runtime").JSX.Element | null;
3
+ declare const DraggablePopup: ({ draggableZoneRef, popupContent, isPopupOpen, handleClose, popupCoords, title, bottomContent, dropZonePadding, offsetY, onChangeCoords, }: IDraggablePopupProps) => import("react/jsx-runtime").JSX.Element | null;
4
4
  export default DraggablePopup;
@@ -12,22 +12,27 @@ var __assign = (this && this.__assign) || function () {
12
12
  import { jsx as _jsx } from "react/jsx-runtime";
13
13
  import { useEffect, useRef, useState } from 'react';
14
14
  import Draggable from 'react-draggable';
15
- import classNames from 'classnames';
16
15
  import Modal from '../Modal';
16
+ import classNames from 'classnames';
17
17
  import '../../styles/styles.scss';
18
- var DROP_ZONE_PADDING = 40;
18
+ var DEFAULT_DRAGGABLE_PADDING = {
19
+ top: 20,
20
+ bottom: 20,
21
+ right: 20,
22
+ left: 20,
23
+ };
19
24
  var OFFSET_POPUP_X = 30;
20
25
  var OFFSET_POPUP_Y = 10;
21
26
  var DEFAULT_POPUP_POSITION = { x: 40, y: 40 };
22
27
  var DraggablePopup = function (_a) {
23
- var draggableZoneRef = _a.draggableZoneRef, popupContent = _a.popupContent, isPopupOpen = _a.isPopupOpen, handleClose = _a.handleClose, popupCoords = _a.popupCoords, _b = _a.title, title = _b === void 0 ? ' ' : _b, bottomContent = _a.bottomContent, dropZonePadding = _a.dropZonePadding;
24
- var _c = useState(null), draggableZoneInfo = _c[0], setDraggableZoneInfo = _c[1];
25
- var _d = useState(null), popupPosition = _d[0], setPopupPosition = _d[1];
26
- var _e = useState(false), isDraggable = _e[0], setIsDraggable = _e[1];
27
- var _f = useState(false), isOutside = _f[0], setIsOutside = _f[1];
28
+ var draggableZoneRef = _a.draggableZoneRef, popupContent = _a.popupContent, isPopupOpen = _a.isPopupOpen, handleClose = _a.handleClose, popupCoords = _a.popupCoords, _b = _a.title, title = _b === void 0 ? ' ' : _b, bottomContent = _a.bottomContent, _c = _a.dropZonePadding, dropZonePadding = _c === void 0 ? DEFAULT_DRAGGABLE_PADDING : _c, _d = _a.offsetY, offsetY = _d === void 0 ? 0 : _d, onChangeCoords = _a.onChangeCoords;
29
+ var _e = useState(null), draggableZoneInfo = _e[0], setDraggableZoneInfo = _e[1];
30
+ var _f = useState(null), popupPosition = _f[0], setPopupPosition = _f[1];
31
+ var _g = useState(false), isDraggable = _g[0], setIsDraggable = _g[1];
32
+ var _h = useState(false), isOutside = _h[0], setIsOutside = _h[1];
28
33
  var popupRef = useRef(null);
29
- var currentDropZonePadding = dropZonePadding || DROP_ZONE_PADDING;
30
34
  useEffect(function () {
35
+ var topPadding = dropZonePadding.top, bottomPadding = dropZonePadding.bottom, leftPadding = dropZonePadding.left, rightPadding = dropZonePadding.right;
31
36
  var popupRefCurrent = popupRef.current;
32
37
  var updatePosition = function () {
33
38
  if (!draggableZoneRef || !popupRefCurrent || !popupCoords)
@@ -35,18 +40,19 @@ var DraggablePopup = function (_a) {
35
40
  var _a = draggableZoneRef.getBoundingClientRect(), zoneWidth = _a.width, zoneHeight = _a.height;
36
41
  var _b = popupRefCurrent.getBoundingClientRect(), popupWidth = _b.width, popupHeight = _b.height;
37
42
  var x = popupCoords.x, y = popupCoords.y;
38
- var rightPopupPointX = x + OFFSET_POPUP_X + popupWidth;
39
- var bottomPopupPointY = y + OFFSET_POPUP_Y + popupHeight;
40
- var newX = rightPopupPointX > zoneWidth - currentDropZonePadding ? zoneWidth - popupWidth - currentDropZonePadding : x + OFFSET_POPUP_X;
41
- var newY = bottomPopupPointY > zoneHeight - currentDropZonePadding ? zoneHeight - popupHeight - currentDropZonePadding : y + OFFSET_POPUP_Y;
43
+ var currentOffsetY = popupPosition ? 0 : OFFSET_POPUP_X;
44
+ var currentOffsetX = popupPosition ? 0 : OFFSET_POPUP_Y;
45
+ var newX = Math.min(x + currentOffsetX, zoneWidth - popupWidth - Math.max(rightPadding, leftPadding));
46
+ var newY = Math.min(y + currentOffsetY, zoneHeight - popupHeight - Math.max(topPadding, bottomPadding));
42
47
  setPopupPosition({ x: newX, y: newY });
48
+ var currentZoneHeight = zoneHeight + offsetY;
43
49
  setDraggableZoneInfo({
44
50
  width: zoneWidth,
45
- height: zoneHeight,
46
- top: currentDropZonePadding,
47
- right: zoneWidth - popupWidth - currentDropZonePadding,
48
- left: currentDropZonePadding,
49
- bottom: zoneHeight - popupHeight - currentDropZonePadding,
51
+ height: currentZoneHeight,
52
+ top: topPadding,
53
+ right: zoneWidth - popupWidth - rightPadding,
54
+ left: leftPadding,
55
+ bottom: zoneHeight - popupHeight - bottomPadding,
50
56
  });
51
57
  };
52
58
  var resizeObserver = new ResizeObserver(updatePosition);
@@ -55,7 +61,8 @@ var DraggablePopup = function (_a) {
55
61
  return function () {
56
62
  resizeObserver.disconnect();
57
63
  };
58
- }, [isPopupOpen, draggableZoneRef, popupRef, popupCoords, currentDropZonePadding]);
64
+ /* eslint-disable-next-line */
65
+ }, [isPopupOpen, draggableZoneRef, popupRef, popupCoords, offsetY, dropZonePadding]);
59
66
  useEffect(function () {
60
67
  var checkIfClickedOutside = function (e) {
61
68
  if (isPopupOpen && popupRef.current && !popupRef.current.contains(e.target) && !isOutside)
@@ -71,13 +78,14 @@ var DraggablePopup = function (_a) {
71
78
  var onDragStop = function (_a) {
72
79
  var x = _a.x, y = _a.y;
73
80
  setIsDraggable(false);
81
+ onChangeCoords({ x: x, y: y });
74
82
  setPopupPosition({ x: x, y: y });
75
83
  };
76
84
  var onDragStart = function () { return setIsDraggable(true); };
77
- var handleMouseLeave = function () { return !isOutside && isDraggable && setIsOutside(true); };
85
+ var handleMouseLeave = function () { return isDraggable && setIsOutside(true); };
78
86
  var handleMouseEnter = function () { return setIsOutside(false); };
79
- var _g = draggableZoneInfo || {}, width = _g.width, height = _g.height, top = _g.top, bottom = _g.bottom, right = _g.right, left = _g.left;
80
- return (_jsx("div", __assign({ onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave, style: { width: width, height: height }, className: "smartapp-draggable-popup" }, { children: _jsx(Draggable, __assign({ onStart: onDragStart, onStop: function (e, data) { return onDragStop(data); }, position: popupPosition || DEFAULT_POPUP_POSITION, bounds: { top: top, right: right, left: left, bottom: bottom } }, { children: _jsx("div", __assign({ ref: popupRef, className: classNames('smartapp-draggable-popup__popup-container', { invisible: !popupPosition }) }, { children: _jsx(Modal, { isModalOpen: isPopupOpen, content: popupContent, isPopup: true, handleCloseModal: handleClose, title: title, bottomContent: bottomContent, className: "smartapp-draggable-popup__popup-container--modal" }) })) })) })));
87
+ var _j = draggableZoneInfo || {}, width = _j.width, height = _j.height, top = _j.top, bottom = _j.bottom, right = _j.right, left = _j.left;
88
+ return (_jsx("div", __assign({ onMouseEnter: handleMouseEnter, onMouseLeave: handleMouseLeave, style: { width: width, height: height }, className: "smartapp-draggable-popup" }, { children: _jsx(Draggable, __assign({ onStart: onDragStart, onStop: function (_, data) { return onDragStop(data); }, position: popupPosition || DEFAULT_POPUP_POSITION, bounds: { top: top, right: right, left: left, bottom: bottom } }, { children: _jsx("div", __assign({ ref: popupRef, className: classNames('smartapp-draggable-popup__popup-container', { invisible: !popupPosition }) }, { children: _jsx(Modal, { isModalOpen: isPopupOpen, content: popupContent, isPopup: true, handleCloseModal: handleClose, title: title, bottomContent: bottomContent, className: "smartapp-draggable-popup__popup-container--modal" }) })) })) })));
81
89
  };
82
90
  export default DraggablePopup;
83
91
  //# sourceMappingURL=DraggablePopup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DraggablePopup.js","sourceRoot":"","sources":["../../../../src/сomponents/DraggablePopup/DraggablePopup.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DraggablePopup.js","sourceRoot":"","sources":["../../../../src/сomponents/DraggablePopup/DraggablePopup.tsx"],"names":[],"mappings":"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"}
@@ -1,14 +1,24 @@
1
1
  import { ReactElement } from 'react';
2
+ export type TPopupPosition = {
3
+ x: number;
4
+ y: number;
5
+ };
6
+ type TDraggablePadding = {
7
+ top: number;
8
+ bottom: number;
9
+ left: number;
10
+ right: number;
11
+ };
2
12
  export interface IDraggablePopupProps {
3
13
  draggableZoneRef: HTMLElement | null;
4
- popupCoords: {
5
- x: number;
6
- y: number;
7
- };
14
+ popupCoords: TPopupPosition;
8
15
  popupContent: ReactElement;
9
16
  isPopupOpen: boolean;
10
17
  handleClose: () => void;
11
18
  title?: string;
12
19
  bottomContent?: ReactElement;
13
- dropZonePadding?: number;
20
+ dropZonePadding?: TDraggablePadding;
21
+ offsetY?: number;
22
+ onChangeCoords: (coords: TPopupPosition) => void;
14
23
  }
24
+ export {};
@@ -1,5 +1,5 @@
1
1
  import { IScrollBarProps } from './types';
2
2
  import '../../styles/styles.scss';
3
3
  export declare const DEFAULT_SCROLL_BAR_HEIGHT = "100%";
4
- declare const ScrollBar: ({ platform, contentId, content, handleScroll, hideDuration, containerHeight, trackHeight, containerClassName, containerStyles, scrollbarRef, ...restProps }: IScrollBarProps) => import("react/jsx-runtime").JSX.Element;
4
+ declare const ScrollBar: ({ platform, contentId, content, handleScroll, hideDuration, containerHeight, trackHeight, containerClassName, containerStyles, scrollbarRef, containerScrollRef, ...restProps }: IScrollBarProps) => import("react/jsx-runtime").JSX.Element;
5
5
  export default ScrollBar;
@@ -31,7 +31,7 @@ export var DEFAULT_SCROLL_BAR_HEIGHT = '100%';
31
31
  var HIDE_THUMB_CLASSNAME = 'smartapp-scroll__thumb';
32
32
  var SHOW_THUMB_CLASSNAME = "".concat(HIDE_THUMB_CLASSNAME, "--show ").concat(HIDE_THUMB_CLASSNAME);
33
33
  var ScrollBar = function (_a) {
34
- var _b = _a.platform, platform = _b === void 0 ? PLATFORM.web : _b, contentId = _a.contentId, content = _a.content, handleScroll = _a.handleScroll, _c = _a.hideDuration, hideDuration = _c === void 0 ? DEFAULT_SCROLL_BAR_HIDE_DURATION : _c, _d = _a.containerHeight, containerHeight = _d === void 0 ? DEFAULT_SCROLL_BAR_HEIGHT : _d, _e = _a.trackHeight, trackHeight = _e === void 0 ? DEFAULT_SCROLL_BAR_HEIGHT : _e, containerClassName = _a.containerClassName, containerStyles = _a.containerStyles, scrollbarRef = _a.scrollbarRef, restProps = __rest(_a, ["platform", "contentId", "content", "handleScroll", "hideDuration", "containerHeight", "trackHeight", "containerClassName", "containerStyles", "scrollbarRef"]);
34
+ var _b = _a.platform, platform = _b === void 0 ? PLATFORM.web : _b, contentId = _a.contentId, content = _a.content, handleScroll = _a.handleScroll, _c = _a.hideDuration, hideDuration = _c === void 0 ? DEFAULT_SCROLL_BAR_HIDE_DURATION : _c, _d = _a.containerHeight, containerHeight = _d === void 0 ? DEFAULT_SCROLL_BAR_HEIGHT : _d, _e = _a.trackHeight, trackHeight = _e === void 0 ? DEFAULT_SCROLL_BAR_HEIGHT : _e, containerClassName = _a.containerClassName, containerStyles = _a.containerStyles, scrollbarRef = _a.scrollbarRef, containerScrollRef = _a.containerScrollRef, restProps = __rest(_a, ["platform", "contentId", "content", "handleScroll", "hideDuration", "containerHeight", "trackHeight", "containerClassName", "containerStyles", "scrollbarRef", "containerScrollRef"]);
35
35
  var _f = useState(generateId()), scrollbarKey = _f[0], setScrollbarKey = _f[1];
36
36
  var _g = useState(false), scrolling = _g[0], setScrolling = _g[1];
37
37
  useEffect(function () {
@@ -57,7 +57,7 @@ var ScrollBar = function (_a) {
57
57
  }),
58
58
  style: generateScrollerStyles(),
59
59
  }); };
60
- return (_jsx("div", __assign({ style: __assign({ height: containerHeight }, containerStyles), className: classNames('smartapp-scroll', containerClassName) }, { children: _jsx(Scrollbar, __assign({ ref: scrollbarRef, native: false, mobileNative: false, removeTracksWhenNotUsed: true, onScroll: onScroll, wrapperProps: { className: 'smartapp-scroll__wrapper' }, thumbYProps: { className: generateThumbClassName() }, trackYProps: generateTrackYProps() }, restProps, { children: content }), scrollbarKey) })));
60
+ return (_jsx("div", __assign({ ref: containerScrollRef, style: __assign({ height: containerHeight }, containerStyles), className: classNames('smartapp-scroll', containerClassName) }, { children: _jsx(Scrollbar, __assign({ ref: scrollbarRef, native: false, mobileNative: false, removeTracksWhenNotUsed: true, onScroll: onScroll, wrapperProps: { className: 'smartapp-scroll__wrapper' }, thumbYProps: { className: generateThumbClassName() }, trackYProps: generateTrackYProps() }, restProps, { children: content }), scrollbarKey) })));
61
61
  };
62
62
  export default ScrollBar;
63
63
  //# sourceMappingURL=ScrollBar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ScrollBar.js","sourceRoot":"","sources":["../../../../src/сomponents/ScrollBar/ScrollBar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ScrollBar.js","sourceRoot":"","sources":["../../../../src/сomponents/ScrollBar/ScrollBar.tsx"],"names":[],"mappings":"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"}
@@ -15,5 +15,6 @@ export interface IScrollBarProps extends Omit<ScrollbarProps, 'content' | 'ref'>
15
15
  content: ReactNode;
16
16
  contentId?: string;
17
17
  scrollbarRef?: TScrollbarRef;
18
+ containerScrollRef?: React.Ref<HTMLDivElement> | undefined;
18
19
  }
19
20
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@expressms/smartapp-ui",
3
- "version": "2.8.0-alpha.2",
3
+ "version": "2.8.0-alpha.4",
4
4
  "description": "SmartApp UI library",
5
5
  "license": "MIT",
6
6
  "main": "build/main/index.js",