@cleartrip/ct-design-popover 1.1.0
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/dist/Popover.d.ts +8 -0
- package/dist/Popover.d.ts.map +1 -0
- package/dist/ct-design-popover.browser.cjs.js +2 -0
- package/dist/ct-design-popover.browser.cjs.js.map +1 -0
- package/dist/ct-design-popover.browser.esm.js +2 -0
- package/dist/ct-design-popover.browser.esm.js.map +1 -0
- package/dist/ct-design-popover.cjs.js +144 -0
- package/dist/ct-design-popover.cjs.js.map +1 -0
- package/dist/ct-design-popover.esm.js +138 -0
- package/dist/ct-design-popover.esm.js.map +1 -0
- package/dist/ct-design-popover.umd.js +179 -0
- package/dist/ct-design-popover.umd.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/stats.html +4838 -0
- package/dist/type.d.ts +29 -0
- package/dist/type.d.ts.map +1 -0
- package/package.json +41 -0
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ForwardRefComponentWithStyle } from '@cleartrip/ct-design-types';
|
|
2
|
+
import { PopoverProps } from './type';
|
|
3
|
+
export declare function getOffsetTop(rect: any, vertical: any): number;
|
|
4
|
+
export declare function getOffsetLeft(rect: any, horizontal: any): number;
|
|
5
|
+
type PolymorphicPopover = ForwardRefComponentWithStyle<'div', PopoverProps>;
|
|
6
|
+
declare const Popover: PolymorphicPopover;
|
|
7
|
+
export default Popover;
|
|
8
|
+
//# sourceMappingURL=Popover.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Popover.d.ts","sourceRoot":"","sources":["../packages/components/Popover/src/Popover.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,4BAA4B,EAAE,MAAM,4BAA4B,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAStC,wBAAgB,YAAY,CAAC,IAAI,KAAA,EAAE,QAAQ,KAAA,UAY1C;AAED,wBAAgB,aAAa,CAAC,IAAI,KAAA,EAAE,UAAU,KAAA,UAY7C;AAQD,KAAK,kBAAkB,GAAG,4BAA4B,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;AAE5E,QAAA,MAAM,OAAO,oBAwMU,CAAC;AAExB,eAAe,OAAO,CAAC"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var i=require("tslib"),e=require("react/jsx-runtime"),t=require("react"),n=require("@cleartrip/ct-design-modal"),r=require("@cleartrip/ct-design-transition"),o=require("@cleartrip/ct-design-card"),l=require("@cleartrip/ct-design-use-theme"),a=require("@cleartrip/ct-design-outside-click-handler"),c=require("@cleartrip/ct-design-portal");function s(i){return i&&i.__esModule?i:{default:i}}var d=s(l);function u(i,e){var t=0;return"number"==typeof e?t=e:"center"===e?t=i.height/2:"bottom"===e&&(t=i.height),t}function h(i,e){var t=0;return"number"==typeof e?t=e:"center"===e?t=i.width/2:"right"===e&&(t=i.width),t}function f(i){return[i.horizontal,i.vertical].map((function(i){return"number"==typeof i?"".concat(i,"px"):i})).join(" ")}var p=t.forwardRef((function(l,s){var p=l.anchorEl,v=l.anchorOrigin,g=void 0===v?{vertical:"top",horizontal:"left"}:v,x=l.transformOrigin,m=void 0===x?{vertical:"top",horizontal:"left"}:x,_=l.anchorPosition,C=l.onClose,b=l.open,w=l.children,z=l.minWidth,y=l.minHeight,O=l.disableOutsideFocus,H=void 0===O||O,W=l.popoverCardContainerCSS,j=l.insidePortal,q=void 0===j||j,E=i.__rest(l,["anchorEl","anchorOrigin","transformOrigin","anchorPosition","onClose","open","children","minWidth","minHeight","disableOutsideFocus","popoverCardContainerCSS","insidePortal"]),P=t.useRef(null),k=d.default(),S=t.useCallback((function(){var i=(p||document.body).getBoundingClientRect();return{top:(null==_?void 0:_.top)?(null==_?void 0:_.top)+i.top+u(i,null==g?void 0:g.vertical):i.top+u(i,null==g?void 0:g.vertical),left:(null==_?void 0:_.left)?_.left+i.left+h(i,null==g?void 0:g.horizontal):i.left+h(i,null==g?void 0:g.horizontal)}}),[p,g.horizontal,g.vertical]),M=t.useCallback((function(i){return{vertical:u(i,null==m?void 0:m.vertical),horizontal:h(i,null==m?void 0:m.horizontal)}}),[m.horizontal,m.vertical]),I=t.useCallback((function(i){var e={width:i.offsetWidth,height:i.offsetHeight},t=M(e),n=S(),r=n.top-t.vertical,o=n.left-t.horizontal,l=r+e.height,a=o+e.width,c=window.innerHeight-16,s=window.innerWidth-16;if(r<16)r-=d=r-16,t.vertical+=d;else if(l>c){r-=d=l-c,t.vertical+=d}if(o<16)o-=d=o-16,t.horizontal+=d;else if(a>s){var d;o-=d=a-s,t.horizontal+=d}return{top:"".concat(Math.round(r)+4,"px"),left:"".concat(Math.round(o),"px"),transformOrigin:f(t)}}),[p,S,M]),R=t.useState(b),F=R[0],N=R[1],T=t.useCallback((function(){var i=P.current;if(i){var e=I(i);i.style.top=e.top,i.style.left=e.left,N(!0)}}),[I]),X=function(i,e){T()},Y=function(){N(!1)};return t.useEffect((function(){b&&T()})),H?e.jsx(n.Modal,i.__assign({ref:s,blur:!1,hideCrossIcon:!1,open:b,onClose:C,size:"NONE",insidePortal:q},E,{children:e.jsx(r.Transition,i.__assign({type:"grow",in:b,onEntering:X,onExited:Y,timeout:350},{children:e.jsx(o.Card,i.__assign({borderWidth:"none",ref:P},F?void 0:{style:{minHeight:"16px",opacity:0}},{css:i.__assign({position:"absolute",overflowY:"auto",overflowX:"hidden",minWidth:z||"16px",minHeight:y||"16px",maxWidth:"calc(100% - 32px)",maxHeight:"calc(100% - 32px)",outline:0},W)},{children:w}))}))})):b?e.jsx(c.Portal,i.__assign({disablePortal:!q},{children:e.jsx(a.OldOutsideClickHandler,i.__assign({onOutsideClick:C},{children:e.jsx(r.Transition,i.__assign({type:"grow",in:b,onEntering:X,onExited:Y,timeout:350},{children:e.jsx(o.Card,i.__assign({borderWidth:"none",ref:P},F?void 0:{style:{minHeight:"16px",opacity:0}},{css:i.__assign({position:"absolute",overflowY:"auto",overflowX:"hidden",minWidth:z||"16px",minHeight:y||"16px",maxWidth:"calc(100% - 32px)",maxHeight:"calc(100% - 32px)",outline:0,zIndex:k.zIndex.popOver},W)},{children:w}))}))}))})):null}));exports.Popover=p;
|
|
2
|
+
//# sourceMappingURL=ct-design-popover.browser.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ct-design-popover.browser.cjs.js","sources":["../packages/components/Popover/src/Popover.tsx"],"sourcesContent":[null],"names":["getOffsetTop","rect","vertical","offset","height","getOffsetLeft","horizontal","width","getTransformOriginValue","transformOrigin","map","n","concat","join","Popover","forwardRef","_a","forwardedRef","anchorEl","_b","anchorOrigin","_c","anchorPosition","onClose","open","children","minWidth","minHeight","_d","disableOutsideFocus","popoverCardContainerCSS","_e","insidePortal","rest","__rest","paperRef","useRef","theme","useTheme","getAnchorOffset","useCallback","anchorRect","document","body","getBoundingClientRect","top","left","getTransformOrigin","elemRect","getPositioningStyle","element","offsetWidth","offsetHeight","elemTransformOrigin","anchorOffset","bottom","right","heightThreshold","window","innerHeight","widthThreshold","innerWidth","diff","Math","round","_f","useState","isPositioned","setIsPositioned","setPositioningStyles","current","positioning","style","handleEntering","isAppearing","handleExited","useEffect","_jsx","jsx","Modal","__assign","ref","blur","hideCrossIcon","size","Transition","type","in","onEntering","onExited","timeout","Card","borderWidth","undefined","opacity","css","position","overflowY","overflowX","maxWidth","maxHeight","outline","Portal","disablePortal","OldOutsideClickHandler","onOutsideClick","zIndex","popOver"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{__rest as i,__assign as t}from"tslib";import{jsx as o}from"react/jsx-runtime";import{forwardRef as n,useRef as r,useCallback as e,useState as l,useEffect as a}from"react";import{Modal as c}from"@cleartrip/ct-design-modal";import{Transition as d}from"@cleartrip/ct-design-transition";import{Card as h}from"@cleartrip/ct-design-card";import p from"@cleartrip/ct-design-use-theme";import{OldOutsideClickHandler as u}from"@cleartrip/ct-design-outside-click-handler";import{Portal as f}from"@cleartrip/ct-design-portal";function s(i,t){var o=0;return"number"==typeof t?o=t:"center"===t?o=i.height/2:"bottom"===t&&(o=i.height),o}function m(i,t){var o=0;return"number"==typeof t?o=t:"center"===t?o=i.width/2:"right"===t&&(o=i.width),o}function v(i){return[i.horizontal,i.vertical].map((function(i){return"number"==typeof i?"".concat(i,"px"):i})).join(" ")}var g=n((function(n,g){var x=n.anchorEl,z=n.anchorOrigin,b=void 0===z?{vertical:"top",horizontal:"left"}:z,w=n.transformOrigin,y=void 0===w?{vertical:"top",horizontal:"left"}:w,C=n.anchorPosition,H=n.onClose,O=n.open,W=n.children,E=n.minWidth,P=n.minHeight,S=n.disableOutsideFocus,I=void 0===S||S,j=n.popoverCardContainerCSS,k=n.insidePortal,F=void 0===k||k,M=i(n,["anchorEl","anchorOrigin","transformOrigin","anchorPosition","onClose","open","children","minWidth","minHeight","disableOutsideFocus","popoverCardContainerCSS","insidePortal"]),N=r(null),X=p(),Y=e((function(){var i=(x||document.body).getBoundingClientRect();return{top:(null==C?void 0:C.top)?(null==C?void 0:C.top)+i.top+s(i,null==b?void 0:b.vertical):i.top+s(i,null==b?void 0:b.vertical),left:(null==C?void 0:C.left)?C.left+i.left+m(i,null==b?void 0:b.horizontal):i.left+m(i,null==b?void 0:b.horizontal)}}),[x,b.horizontal,b.vertical]),B=e((function(i){return{vertical:s(i,null==y?void 0:y.vertical),horizontal:m(i,null==y?void 0:y.horizontal)}}),[y.horizontal,y.vertical]),R=e((function(i){var t={width:i.offsetWidth,height:i.offsetHeight},o=B(t),n=Y(),r=n.top-o.vertical,e=n.left-o.horizontal,l=r+t.height,a=e+t.width,c=window.innerHeight-16,d=window.innerWidth-16;if(r<16)r-=h=r-16,o.vertical+=h;else if(l>c){r-=h=l-c,o.vertical+=h}if(e<16)e-=h=e-16,o.horizontal+=h;else if(a>d){var h;e-=h=a-d,o.horizontal+=h}return{top:"".concat(Math.round(r)+4,"px"),left:"".concat(Math.round(e),"px"),transformOrigin:v(o)}}),[x,Y,B]),q=l(O),A=q[0],D=q[1],G=e((function(){var i=N.current;if(i){var t=R(i);i.style.top=t.top,i.style.left=t.left,D(!0)}}),[R]),J=function(i,t){G()},K=function(){D(!1)};return a((function(){O&&G()})),I?o(c,t({ref:g,blur:!1,hideCrossIcon:!1,open:O,onClose:H,size:"NONE",insidePortal:F},M,{children:o(d,t({type:"grow",in:O,onEntering:J,onExited:K,timeout:350},{children:o(h,t({borderWidth:"none",ref:N},A?void 0:{style:{minHeight:"16px",opacity:0}},{css:t({position:"absolute",overflowY:"auto",overflowX:"hidden",minWidth:E||"16px",minHeight:P||"16px",maxWidth:"calc(100% - 32px)",maxHeight:"calc(100% - 32px)",outline:0},j)},{children:W}))}))})):O?o(f,t({disablePortal:!F},{children:o(u,t({onOutsideClick:H},{children:o(d,t({type:"grow",in:O,onEntering:J,onExited:K,timeout:350},{children:o(h,t({borderWidth:"none",ref:N},A?void 0:{style:{minHeight:"16px",opacity:0}},{css:t({position:"absolute",overflowY:"auto",overflowX:"hidden",minWidth:E||"16px",minHeight:P||"16px",maxWidth:"calc(100% - 32px)",maxHeight:"calc(100% - 32px)",outline:0,zIndex:X.zIndex.popOver},j)},{children:W}))}))}))})):null}));export{g as Popover};
|
|
2
|
+
//# sourceMappingURL=ct-design-popover.browser.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ct-design-popover.browser.esm.js","sources":["../packages/components/Popover/src/Popover.tsx"],"sourcesContent":[null],"names":["getOffsetTop","rect","vertical","offset","height","getOffsetLeft","horizontal","width","getTransformOriginValue","transformOrigin","map","n","concat","join","Popover","forwardRef","_a","forwardedRef","anchorEl","_b","anchorOrigin","_c","anchorPosition","onClose","open","children","minWidth","minHeight","_d","disableOutsideFocus","popoverCardContainerCSS","_e","insidePortal","rest","__rest","paperRef","useRef","theme","useTheme","getAnchorOffset","useCallback","anchorRect","document","body","getBoundingClientRect","top","left","getTransformOrigin","elemRect","getPositioningStyle","element","offsetWidth","offsetHeight","elemTransformOrigin","anchorOffset","bottom","right","heightThreshold","window","innerHeight","widthThreshold","innerWidth","diff","Math","round","_f","useState","isPositioned","setIsPositioned","setPositioningStyles","current","positioning","style","handleEntering","isAppearing","handleExited","useEffect","_jsx","Modal","__assign","ref","blur","hideCrossIcon","size","Transition","type","in","onEntering","onExited","timeout","Card","borderWidth","undefined","opacity","css","position","overflowY","overflowX","maxWidth","maxHeight","outline","Portal","disablePortal","OldOutsideClickHandler","onOutsideClick","zIndex","popOver"],"mappings":"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"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var tslib = require('tslib');
|
|
4
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
+
var react = require('react');
|
|
6
|
+
var ctDesignModal = require('@cleartrip/ct-design-modal');
|
|
7
|
+
var ctDesignTransition = require('@cleartrip/ct-design-transition');
|
|
8
|
+
var ctDesignCard = require('@cleartrip/ct-design-card');
|
|
9
|
+
var useTheme = require('@cleartrip/ct-design-use-theme');
|
|
10
|
+
var ctDesignOutsideClickHandler = require('@cleartrip/ct-design-outside-click-handler');
|
|
11
|
+
var ctDesignPortal = require('@cleartrip/ct-design-portal');
|
|
12
|
+
|
|
13
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
|
+
|
|
15
|
+
var useTheme__default = /*#__PURE__*/_interopDefault(useTheme);
|
|
16
|
+
|
|
17
|
+
function getOffsetTop(rect, vertical) {
|
|
18
|
+
var offset = 0;
|
|
19
|
+
if (typeof vertical === 'number') {
|
|
20
|
+
offset = vertical;
|
|
21
|
+
}
|
|
22
|
+
else if (vertical === 'center') {
|
|
23
|
+
offset = rect.height / 2;
|
|
24
|
+
}
|
|
25
|
+
else if (vertical === 'bottom') {
|
|
26
|
+
offset = rect.height;
|
|
27
|
+
}
|
|
28
|
+
return offset;
|
|
29
|
+
}
|
|
30
|
+
function getOffsetLeft(rect, horizontal) {
|
|
31
|
+
var offset = 0;
|
|
32
|
+
if (typeof horizontal === 'number') {
|
|
33
|
+
offset = horizontal;
|
|
34
|
+
}
|
|
35
|
+
else if (horizontal === 'center') {
|
|
36
|
+
offset = rect.width / 2;
|
|
37
|
+
}
|
|
38
|
+
else if (horizontal === 'right') {
|
|
39
|
+
offset = rect.width;
|
|
40
|
+
}
|
|
41
|
+
return offset;
|
|
42
|
+
}
|
|
43
|
+
function getTransformOriginValue(transformOrigin) {
|
|
44
|
+
return [transformOrigin.horizontal, transformOrigin.vertical]
|
|
45
|
+
.map(function (n) { return (typeof n === 'number' ? "".concat(n, "px") : n); })
|
|
46
|
+
.join(' ');
|
|
47
|
+
}
|
|
48
|
+
var Popover = react.forwardRef(function (_a, forwardedRef) {
|
|
49
|
+
var anchorEl = _a.anchorEl, _b = _a.anchorOrigin, anchorOrigin = _b === void 0 ? {
|
|
50
|
+
vertical: 'top',
|
|
51
|
+
horizontal: 'left',
|
|
52
|
+
} : _b, _c = _a.transformOrigin, transformOrigin = _c === void 0 ? {
|
|
53
|
+
vertical: 'top',
|
|
54
|
+
horizontal: 'left',
|
|
55
|
+
} : _c, anchorPosition = _a.anchorPosition, onClose = _a.onClose, open = _a.open, children = _a.children, minWidth = _a.minWidth, minHeight = _a.minHeight, _d = _a.disableOutsideFocus, disableOutsideFocus = _d === void 0 ? true : _d, popoverCardContainerCSS = _a.popoverCardContainerCSS, _e = _a.insidePortal, insidePortal = _e === void 0 ? true : _e, rest = tslib.__rest(_a, ["anchorEl", "anchorOrigin", "transformOrigin", "anchorPosition", "onClose", "open", "children", "minWidth", "minHeight", "disableOutsideFocus", "popoverCardContainerCSS", "insidePortal"]);
|
|
56
|
+
var paperRef = react.useRef(null);
|
|
57
|
+
var theme = useTheme__default.default();
|
|
58
|
+
var getAnchorOffset = react.useCallback(function () {
|
|
59
|
+
var anchorElement = anchorEl || document.body;
|
|
60
|
+
var anchorRect = anchorElement.getBoundingClientRect();
|
|
61
|
+
return {
|
|
62
|
+
top: (anchorPosition === null || anchorPosition === void 0 ? void 0 : anchorPosition.top)
|
|
63
|
+
? (anchorPosition === null || anchorPosition === void 0 ? void 0 : anchorPosition.top) + anchorRect.top + getOffsetTop(anchorRect, anchorOrigin === null || anchorOrigin === void 0 ? void 0 : anchorOrigin.vertical)
|
|
64
|
+
: anchorRect.top + getOffsetTop(anchorRect, anchorOrigin === null || anchorOrigin === void 0 ? void 0 : anchorOrigin.vertical),
|
|
65
|
+
left: (anchorPosition === null || anchorPosition === void 0 ? void 0 : anchorPosition.left)
|
|
66
|
+
? anchorPosition.left + anchorRect.left + getOffsetLeft(anchorRect, anchorOrigin === null || anchorOrigin === void 0 ? void 0 : anchorOrigin.horizontal)
|
|
67
|
+
: anchorRect.left + getOffsetLeft(anchorRect, anchorOrigin === null || anchorOrigin === void 0 ? void 0 : anchorOrigin.horizontal),
|
|
68
|
+
};
|
|
69
|
+
}, [anchorEl, anchorOrigin.horizontal, anchorOrigin.vertical]);
|
|
70
|
+
var getTransformOrigin = react.useCallback(function (elemRect) {
|
|
71
|
+
return {
|
|
72
|
+
vertical: getOffsetTop(elemRect, transformOrigin === null || transformOrigin === void 0 ? void 0 : transformOrigin.vertical),
|
|
73
|
+
horizontal: getOffsetLeft(elemRect, transformOrigin === null || transformOrigin === void 0 ? void 0 : transformOrigin.horizontal),
|
|
74
|
+
};
|
|
75
|
+
}, [transformOrigin.horizontal, transformOrigin.vertical]);
|
|
76
|
+
var getPositioningStyle = react.useCallback(function (element) {
|
|
77
|
+
var elemRect = {
|
|
78
|
+
width: element.offsetWidth,
|
|
79
|
+
height: element.offsetHeight,
|
|
80
|
+
};
|
|
81
|
+
var elemTransformOrigin = getTransformOrigin(elemRect);
|
|
82
|
+
var anchorOffset = getAnchorOffset();
|
|
83
|
+
var top = anchorOffset.top - elemTransformOrigin.vertical;
|
|
84
|
+
var left = anchorOffset.left - elemTransformOrigin.horizontal;
|
|
85
|
+
var bottom = top + elemRect.height;
|
|
86
|
+
var right = left + elemRect.width;
|
|
87
|
+
var heightThreshold = window.innerHeight - 16;
|
|
88
|
+
var widthThreshold = window.innerWidth - 16;
|
|
89
|
+
if (top < 16) {
|
|
90
|
+
var diff = top - 16;
|
|
91
|
+
top -= diff;
|
|
92
|
+
elemTransformOrigin.vertical += diff;
|
|
93
|
+
}
|
|
94
|
+
else if (bottom > heightThreshold) {
|
|
95
|
+
var diff = bottom - heightThreshold;
|
|
96
|
+
top -= diff;
|
|
97
|
+
elemTransformOrigin.vertical += diff;
|
|
98
|
+
}
|
|
99
|
+
if (left < 16) {
|
|
100
|
+
var diff = left - 16;
|
|
101
|
+
left -= diff;
|
|
102
|
+
elemTransformOrigin.horizontal += diff;
|
|
103
|
+
}
|
|
104
|
+
else if (right > widthThreshold) {
|
|
105
|
+
var diff = right - widthThreshold;
|
|
106
|
+
left -= diff;
|
|
107
|
+
elemTransformOrigin.horizontal += diff;
|
|
108
|
+
}
|
|
109
|
+
return {
|
|
110
|
+
top: "".concat(Math.round(top) + 4, "px"),
|
|
111
|
+
left: "".concat(Math.round(left), "px"),
|
|
112
|
+
transformOrigin: getTransformOriginValue(elemTransformOrigin),
|
|
113
|
+
};
|
|
114
|
+
}, [anchorEl, getAnchorOffset, getTransformOrigin]);
|
|
115
|
+
var _f = react.useState(open), isPositioned = _f[0], setIsPositioned = _f[1];
|
|
116
|
+
var setPositioningStyles = react.useCallback(function () {
|
|
117
|
+
var element = paperRef.current;
|
|
118
|
+
if (!element) {
|
|
119
|
+
return;
|
|
120
|
+
}
|
|
121
|
+
var positioning = getPositioningStyle(element);
|
|
122
|
+
element.style.top = positioning.top;
|
|
123
|
+
element.style.left = positioning.left;
|
|
124
|
+
setIsPositioned(true);
|
|
125
|
+
}, [getPositioningStyle]);
|
|
126
|
+
var handleEntering = function (element, isAppearing) {
|
|
127
|
+
setPositioningStyles();
|
|
128
|
+
};
|
|
129
|
+
var handleExited = function () {
|
|
130
|
+
setIsPositioned(false);
|
|
131
|
+
};
|
|
132
|
+
react.useEffect(function () {
|
|
133
|
+
if (open) {
|
|
134
|
+
setPositioningStyles();
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
if (!disableOutsideFocus) {
|
|
138
|
+
return open ? (jsxRuntime.jsx(ctDesignPortal.Portal, tslib.__assign({ disablePortal: !insidePortal }, { children: jsxRuntime.jsx(ctDesignOutsideClickHandler.OldOutsideClickHandler, tslib.__assign({ onOutsideClick: onClose }, { children: jsxRuntime.jsx(ctDesignTransition.Transition, tslib.__assign({ type: 'grow', in: open, onEntering: handleEntering, onExited: handleExited, timeout: 350 }, { children: jsxRuntime.jsx(ctDesignCard.Card, tslib.__assign({ borderWidth: 'none', ref: paperRef }, (isPositioned ? undefined : { style: { minHeight: '16px', opacity: 0 } }), { css: tslib.__assign({ position: 'absolute', overflowY: 'auto', overflowX: 'hidden', minWidth: minWidth || '16px', minHeight: minHeight || '16px', maxWidth: 'calc(100% - 32px)', maxHeight: 'calc(100% - 32px)', outline: 0, zIndex: theme.zIndex.popOver }, popoverCardContainerCSS) }, { children: children })) })) })) }))) : null;
|
|
139
|
+
}
|
|
140
|
+
return (jsxRuntime.jsx(ctDesignModal.Modal, tslib.__assign({ ref: forwardedRef, blur: false, hideCrossIcon: false, open: open, onClose: onClose, size: 'NONE', insidePortal: insidePortal }, rest, { children: jsxRuntime.jsx(ctDesignTransition.Transition, tslib.__assign({ type: 'grow', in: open, onEntering: handleEntering, onExited: handleExited, timeout: 350 }, { children: jsxRuntime.jsx(ctDesignCard.Card, tslib.__assign({ borderWidth: 'none', ref: paperRef }, (isPositioned ? undefined : { style: { minHeight: '16px', opacity: 0 } }), { css: tslib.__assign({ position: 'absolute', overflowY: 'auto', overflowX: 'hidden', minWidth: minWidth || '16px', minHeight: minHeight || '16px', maxWidth: 'calc(100% - 32px)', maxHeight: 'calc(100% - 32px)', outline: 0 }, popoverCardContainerCSS) }, { children: children })) })) })));
|
|
141
|
+
});
|
|
142
|
+
|
|
143
|
+
exports.Popover = Popover;
|
|
144
|
+
//# sourceMappingURL=ct-design-popover.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ct-design-popover.cjs.js","sources":["../packages/components/Popover/src/Popover.tsx"],"sourcesContent":[null],"names":["forwardRef","__rest","useRef","useTheme","useCallback","useState","useEffect","_jsx","Portal","__assign","OldOutsideClickHandler","Transition","Card","Modal"],"mappings":"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"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { __rest, __assign } from 'tslib';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { forwardRef, useRef, useCallback, useState, useEffect } from 'react';
|
|
4
|
+
import { Modal } from '@cleartrip/ct-design-modal';
|
|
5
|
+
import { Transition } from '@cleartrip/ct-design-transition';
|
|
6
|
+
import { Card } from '@cleartrip/ct-design-card';
|
|
7
|
+
import useTheme from '@cleartrip/ct-design-use-theme';
|
|
8
|
+
import { OldOutsideClickHandler } from '@cleartrip/ct-design-outside-click-handler';
|
|
9
|
+
import { Portal } from '@cleartrip/ct-design-portal';
|
|
10
|
+
|
|
11
|
+
function getOffsetTop(rect, vertical) {
|
|
12
|
+
var offset = 0;
|
|
13
|
+
if (typeof vertical === 'number') {
|
|
14
|
+
offset = vertical;
|
|
15
|
+
}
|
|
16
|
+
else if (vertical === 'center') {
|
|
17
|
+
offset = rect.height / 2;
|
|
18
|
+
}
|
|
19
|
+
else if (vertical === 'bottom') {
|
|
20
|
+
offset = rect.height;
|
|
21
|
+
}
|
|
22
|
+
return offset;
|
|
23
|
+
}
|
|
24
|
+
function getOffsetLeft(rect, horizontal) {
|
|
25
|
+
var offset = 0;
|
|
26
|
+
if (typeof horizontal === 'number') {
|
|
27
|
+
offset = horizontal;
|
|
28
|
+
}
|
|
29
|
+
else if (horizontal === 'center') {
|
|
30
|
+
offset = rect.width / 2;
|
|
31
|
+
}
|
|
32
|
+
else if (horizontal === 'right') {
|
|
33
|
+
offset = rect.width;
|
|
34
|
+
}
|
|
35
|
+
return offset;
|
|
36
|
+
}
|
|
37
|
+
function getTransformOriginValue(transformOrigin) {
|
|
38
|
+
return [transformOrigin.horizontal, transformOrigin.vertical]
|
|
39
|
+
.map(function (n) { return (typeof n === 'number' ? "".concat(n, "px") : n); })
|
|
40
|
+
.join(' ');
|
|
41
|
+
}
|
|
42
|
+
var Popover = forwardRef(function (_a, forwardedRef) {
|
|
43
|
+
var anchorEl = _a.anchorEl, _b = _a.anchorOrigin, anchorOrigin = _b === void 0 ? {
|
|
44
|
+
vertical: 'top',
|
|
45
|
+
horizontal: 'left',
|
|
46
|
+
} : _b, _c = _a.transformOrigin, transformOrigin = _c === void 0 ? {
|
|
47
|
+
vertical: 'top',
|
|
48
|
+
horizontal: 'left',
|
|
49
|
+
} : _c, anchorPosition = _a.anchorPosition, onClose = _a.onClose, open = _a.open, children = _a.children, minWidth = _a.minWidth, minHeight = _a.minHeight, _d = _a.disableOutsideFocus, disableOutsideFocus = _d === void 0 ? true : _d, popoverCardContainerCSS = _a.popoverCardContainerCSS, _e = _a.insidePortal, insidePortal = _e === void 0 ? true : _e, rest = __rest(_a, ["anchorEl", "anchorOrigin", "transformOrigin", "anchorPosition", "onClose", "open", "children", "minWidth", "minHeight", "disableOutsideFocus", "popoverCardContainerCSS", "insidePortal"]);
|
|
50
|
+
var paperRef = useRef(null);
|
|
51
|
+
var theme = useTheme();
|
|
52
|
+
var getAnchorOffset = useCallback(function () {
|
|
53
|
+
var anchorElement = anchorEl || document.body;
|
|
54
|
+
var anchorRect = anchorElement.getBoundingClientRect();
|
|
55
|
+
return {
|
|
56
|
+
top: (anchorPosition === null || anchorPosition === void 0 ? void 0 : anchorPosition.top)
|
|
57
|
+
? (anchorPosition === null || anchorPosition === void 0 ? void 0 : anchorPosition.top) + anchorRect.top + getOffsetTop(anchorRect, anchorOrigin === null || anchorOrigin === void 0 ? void 0 : anchorOrigin.vertical)
|
|
58
|
+
: anchorRect.top + getOffsetTop(anchorRect, anchorOrigin === null || anchorOrigin === void 0 ? void 0 : anchorOrigin.vertical),
|
|
59
|
+
left: (anchorPosition === null || anchorPosition === void 0 ? void 0 : anchorPosition.left)
|
|
60
|
+
? anchorPosition.left + anchorRect.left + getOffsetLeft(anchorRect, anchorOrigin === null || anchorOrigin === void 0 ? void 0 : anchorOrigin.horizontal)
|
|
61
|
+
: anchorRect.left + getOffsetLeft(anchorRect, anchorOrigin === null || anchorOrigin === void 0 ? void 0 : anchorOrigin.horizontal),
|
|
62
|
+
};
|
|
63
|
+
}, [anchorEl, anchorOrigin.horizontal, anchorOrigin.vertical]);
|
|
64
|
+
var getTransformOrigin = useCallback(function (elemRect) {
|
|
65
|
+
return {
|
|
66
|
+
vertical: getOffsetTop(elemRect, transformOrigin === null || transformOrigin === void 0 ? void 0 : transformOrigin.vertical),
|
|
67
|
+
horizontal: getOffsetLeft(elemRect, transformOrigin === null || transformOrigin === void 0 ? void 0 : transformOrigin.horizontal),
|
|
68
|
+
};
|
|
69
|
+
}, [transformOrigin.horizontal, transformOrigin.vertical]);
|
|
70
|
+
var getPositioningStyle = useCallback(function (element) {
|
|
71
|
+
var elemRect = {
|
|
72
|
+
width: element.offsetWidth,
|
|
73
|
+
height: element.offsetHeight,
|
|
74
|
+
};
|
|
75
|
+
var elemTransformOrigin = getTransformOrigin(elemRect);
|
|
76
|
+
var anchorOffset = getAnchorOffset();
|
|
77
|
+
var top = anchorOffset.top - elemTransformOrigin.vertical;
|
|
78
|
+
var left = anchorOffset.left - elemTransformOrigin.horizontal;
|
|
79
|
+
var bottom = top + elemRect.height;
|
|
80
|
+
var right = left + elemRect.width;
|
|
81
|
+
var heightThreshold = window.innerHeight - 16;
|
|
82
|
+
var widthThreshold = window.innerWidth - 16;
|
|
83
|
+
if (top < 16) {
|
|
84
|
+
var diff = top - 16;
|
|
85
|
+
top -= diff;
|
|
86
|
+
elemTransformOrigin.vertical += diff;
|
|
87
|
+
}
|
|
88
|
+
else if (bottom > heightThreshold) {
|
|
89
|
+
var diff = bottom - heightThreshold;
|
|
90
|
+
top -= diff;
|
|
91
|
+
elemTransformOrigin.vertical += diff;
|
|
92
|
+
}
|
|
93
|
+
if (left < 16) {
|
|
94
|
+
var diff = left - 16;
|
|
95
|
+
left -= diff;
|
|
96
|
+
elemTransformOrigin.horizontal += diff;
|
|
97
|
+
}
|
|
98
|
+
else if (right > widthThreshold) {
|
|
99
|
+
var diff = right - widthThreshold;
|
|
100
|
+
left -= diff;
|
|
101
|
+
elemTransformOrigin.horizontal += diff;
|
|
102
|
+
}
|
|
103
|
+
return {
|
|
104
|
+
top: "".concat(Math.round(top) + 4, "px"),
|
|
105
|
+
left: "".concat(Math.round(left), "px"),
|
|
106
|
+
transformOrigin: getTransformOriginValue(elemTransformOrigin),
|
|
107
|
+
};
|
|
108
|
+
}, [anchorEl, getAnchorOffset, getTransformOrigin]);
|
|
109
|
+
var _f = useState(open), isPositioned = _f[0], setIsPositioned = _f[1];
|
|
110
|
+
var setPositioningStyles = useCallback(function () {
|
|
111
|
+
var element = paperRef.current;
|
|
112
|
+
if (!element) {
|
|
113
|
+
return;
|
|
114
|
+
}
|
|
115
|
+
var positioning = getPositioningStyle(element);
|
|
116
|
+
element.style.top = positioning.top;
|
|
117
|
+
element.style.left = positioning.left;
|
|
118
|
+
setIsPositioned(true);
|
|
119
|
+
}, [getPositioningStyle]);
|
|
120
|
+
var handleEntering = function (element, isAppearing) {
|
|
121
|
+
setPositioningStyles();
|
|
122
|
+
};
|
|
123
|
+
var handleExited = function () {
|
|
124
|
+
setIsPositioned(false);
|
|
125
|
+
};
|
|
126
|
+
useEffect(function () {
|
|
127
|
+
if (open) {
|
|
128
|
+
setPositioningStyles();
|
|
129
|
+
}
|
|
130
|
+
});
|
|
131
|
+
if (!disableOutsideFocus) {
|
|
132
|
+
return open ? (jsx(Portal, __assign({ disablePortal: !insidePortal }, { children: jsx(OldOutsideClickHandler, __assign({ onOutsideClick: onClose }, { children: jsx(Transition, __assign({ type: 'grow', in: open, onEntering: handleEntering, onExited: handleExited, timeout: 350 }, { children: jsx(Card, __assign({ borderWidth: 'none', ref: paperRef }, (isPositioned ? undefined : { style: { minHeight: '16px', opacity: 0 } }), { css: __assign({ position: 'absolute', overflowY: 'auto', overflowX: 'hidden', minWidth: minWidth || '16px', minHeight: minHeight || '16px', maxWidth: 'calc(100% - 32px)', maxHeight: 'calc(100% - 32px)', outline: 0, zIndex: theme.zIndex.popOver }, popoverCardContainerCSS) }, { children: children })) })) })) }))) : null;
|
|
133
|
+
}
|
|
134
|
+
return (jsx(Modal, __assign({ ref: forwardedRef, blur: false, hideCrossIcon: false, open: open, onClose: onClose, size: 'NONE', insidePortal: insidePortal }, rest, { children: jsx(Transition, __assign({ type: 'grow', in: open, onEntering: handleEntering, onExited: handleExited, timeout: 350 }, { children: jsx(Card, __assign({ borderWidth: 'none', ref: paperRef }, (isPositioned ? undefined : { style: { minHeight: '16px', opacity: 0 } }), { css: __assign({ position: 'absolute', overflowY: 'auto', overflowX: 'hidden', minWidth: minWidth || '16px', minHeight: minHeight || '16px', maxWidth: 'calc(100% - 32px)', maxHeight: 'calc(100% - 32px)', outline: 0 }, popoverCardContainerCSS) }, { children: children })) })) })));
|
|
135
|
+
});
|
|
136
|
+
|
|
137
|
+
export { Popover };
|
|
138
|
+
//# sourceMappingURL=ct-design-popover.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ct-design-popover.esm.js","sources":["../packages/components/Popover/src/Popover.tsx"],"sourcesContent":[null],"names":["_jsx"],"mappings":"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"}
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
(function (global, factory) {
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react/jsx-runtime'), require('react'), require('@cleartrip/ct-design-modal'), require('@cleartrip/ct-design-transition'), require('@cleartrip/ct-design-card'), require('@cleartrip/ct-design-use-theme'), require('@cleartrip/ct-design-outside-click-handler'), require('@cleartrip/ct-design-portal')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define(['exports', 'react/jsx-runtime', 'react', '@cleartrip/ct-design-modal', '@cleartrip/ct-design-transition', '@cleartrip/ct-design-card', '@cleartrip/ct-design-use-theme', '@cleartrip/ct-design-outside-click-handler', '@cleartrip/ct-design-portal'], factory) :
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.CTDesignSystemPopover = {}, global.jsxRuntime, global.React, global.ctDesignModal, global.ctDesignTransition, global.ctDesignCard, global.useTheme, global.ctDesignOutsideClickHandler, global.ctDesignPortal));
|
|
5
|
+
})(this, (function (exports, jsxRuntime, react, ctDesignModal, ctDesignTransition, ctDesignCard, useTheme, ctDesignOutsideClickHandler, ctDesignPortal) { 'use strict';
|
|
6
|
+
|
|
7
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
8
|
+
|
|
9
|
+
var useTheme__default = /*#__PURE__*/_interopDefault(useTheme);
|
|
10
|
+
|
|
11
|
+
/******************************************************************************
|
|
12
|
+
Copyright (c) Microsoft Corporation.
|
|
13
|
+
|
|
14
|
+
Permission to use, copy, modify, and/or distribute this software for any
|
|
15
|
+
purpose with or without fee is hereby granted.
|
|
16
|
+
|
|
17
|
+
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
|
18
|
+
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
|
19
|
+
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
|
20
|
+
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
21
|
+
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
22
|
+
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
23
|
+
PERFORMANCE OF THIS SOFTWARE.
|
|
24
|
+
***************************************************************************** */
|
|
25
|
+
/* global Reflect, Promise, SuppressedError, Symbol */
|
|
26
|
+
|
|
27
|
+
var __assign = function () {
|
|
28
|
+
__assign = Object.assign || function __assign(t) {
|
|
29
|
+
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
30
|
+
s = arguments[i];
|
|
31
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
|
32
|
+
}
|
|
33
|
+
return t;
|
|
34
|
+
};
|
|
35
|
+
return __assign.apply(this, arguments);
|
|
36
|
+
};
|
|
37
|
+
function __rest(s, e) {
|
|
38
|
+
var t = {};
|
|
39
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
|
|
40
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
41
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
|
|
42
|
+
}
|
|
43
|
+
return t;
|
|
44
|
+
}
|
|
45
|
+
typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
|
|
46
|
+
var e = new Error(message);
|
|
47
|
+
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
function getOffsetTop(rect, vertical) {
|
|
51
|
+
var offset = 0;
|
|
52
|
+
if (typeof vertical === 'number') {
|
|
53
|
+
offset = vertical;
|
|
54
|
+
}
|
|
55
|
+
else if (vertical === 'center') {
|
|
56
|
+
offset = rect.height / 2;
|
|
57
|
+
}
|
|
58
|
+
else if (vertical === 'bottom') {
|
|
59
|
+
offset = rect.height;
|
|
60
|
+
}
|
|
61
|
+
return offset;
|
|
62
|
+
}
|
|
63
|
+
function getOffsetLeft(rect, horizontal) {
|
|
64
|
+
var offset = 0;
|
|
65
|
+
if (typeof horizontal === 'number') {
|
|
66
|
+
offset = horizontal;
|
|
67
|
+
}
|
|
68
|
+
else if (horizontal === 'center') {
|
|
69
|
+
offset = rect.width / 2;
|
|
70
|
+
}
|
|
71
|
+
else if (horizontal === 'right') {
|
|
72
|
+
offset = rect.width;
|
|
73
|
+
}
|
|
74
|
+
return offset;
|
|
75
|
+
}
|
|
76
|
+
function getTransformOriginValue(transformOrigin) {
|
|
77
|
+
return [transformOrigin.horizontal, transformOrigin.vertical]
|
|
78
|
+
.map(function (n) { return (typeof n === 'number' ? "".concat(n, "px") : n); })
|
|
79
|
+
.join(' ');
|
|
80
|
+
}
|
|
81
|
+
var Popover = react.forwardRef(function (_a, forwardedRef) {
|
|
82
|
+
var anchorEl = _a.anchorEl, _b = _a.anchorOrigin, anchorOrigin = _b === void 0 ? {
|
|
83
|
+
vertical: 'top',
|
|
84
|
+
horizontal: 'left',
|
|
85
|
+
} : _b, _c = _a.transformOrigin, transformOrigin = _c === void 0 ? {
|
|
86
|
+
vertical: 'top',
|
|
87
|
+
horizontal: 'left',
|
|
88
|
+
} : _c, anchorPosition = _a.anchorPosition, onClose = _a.onClose, open = _a.open, children = _a.children, minWidth = _a.minWidth, minHeight = _a.minHeight, _d = _a.disableOutsideFocus, disableOutsideFocus = _d === void 0 ? true : _d, popoverCardContainerCSS = _a.popoverCardContainerCSS, _e = _a.insidePortal, insidePortal = _e === void 0 ? true : _e, rest = __rest(_a, ["anchorEl", "anchorOrigin", "transformOrigin", "anchorPosition", "onClose", "open", "children", "minWidth", "minHeight", "disableOutsideFocus", "popoverCardContainerCSS", "insidePortal"]);
|
|
89
|
+
var paperRef = react.useRef(null);
|
|
90
|
+
var theme = useTheme__default.default();
|
|
91
|
+
var getAnchorOffset = react.useCallback(function () {
|
|
92
|
+
var anchorElement = anchorEl || document.body;
|
|
93
|
+
var anchorRect = anchorElement.getBoundingClientRect();
|
|
94
|
+
return {
|
|
95
|
+
top: (anchorPosition === null || anchorPosition === void 0 ? void 0 : anchorPosition.top)
|
|
96
|
+
? (anchorPosition === null || anchorPosition === void 0 ? void 0 : anchorPosition.top) + anchorRect.top + getOffsetTop(anchorRect, anchorOrigin === null || anchorOrigin === void 0 ? void 0 : anchorOrigin.vertical)
|
|
97
|
+
: anchorRect.top + getOffsetTop(anchorRect, anchorOrigin === null || anchorOrigin === void 0 ? void 0 : anchorOrigin.vertical),
|
|
98
|
+
left: (anchorPosition === null || anchorPosition === void 0 ? void 0 : anchorPosition.left)
|
|
99
|
+
? anchorPosition.left + anchorRect.left + getOffsetLeft(anchorRect, anchorOrigin === null || anchorOrigin === void 0 ? void 0 : anchorOrigin.horizontal)
|
|
100
|
+
: anchorRect.left + getOffsetLeft(anchorRect, anchorOrigin === null || anchorOrigin === void 0 ? void 0 : anchorOrigin.horizontal),
|
|
101
|
+
};
|
|
102
|
+
}, [anchorEl, anchorOrigin.horizontal, anchorOrigin.vertical]);
|
|
103
|
+
var getTransformOrigin = react.useCallback(function (elemRect) {
|
|
104
|
+
return {
|
|
105
|
+
vertical: getOffsetTop(elemRect, transformOrigin === null || transformOrigin === void 0 ? void 0 : transformOrigin.vertical),
|
|
106
|
+
horizontal: getOffsetLeft(elemRect, transformOrigin === null || transformOrigin === void 0 ? void 0 : transformOrigin.horizontal),
|
|
107
|
+
};
|
|
108
|
+
}, [transformOrigin.horizontal, transformOrigin.vertical]);
|
|
109
|
+
var getPositioningStyle = react.useCallback(function (element) {
|
|
110
|
+
var elemRect = {
|
|
111
|
+
width: element.offsetWidth,
|
|
112
|
+
height: element.offsetHeight,
|
|
113
|
+
};
|
|
114
|
+
var elemTransformOrigin = getTransformOrigin(elemRect);
|
|
115
|
+
var anchorOffset = getAnchorOffset();
|
|
116
|
+
var top = anchorOffset.top - elemTransformOrigin.vertical;
|
|
117
|
+
var left = anchorOffset.left - elemTransformOrigin.horizontal;
|
|
118
|
+
var bottom = top + elemRect.height;
|
|
119
|
+
var right = left + elemRect.width;
|
|
120
|
+
var heightThreshold = window.innerHeight - 16;
|
|
121
|
+
var widthThreshold = window.innerWidth - 16;
|
|
122
|
+
if (top < 16) {
|
|
123
|
+
var diff = top - 16;
|
|
124
|
+
top -= diff;
|
|
125
|
+
elemTransformOrigin.vertical += diff;
|
|
126
|
+
}
|
|
127
|
+
else if (bottom > heightThreshold) {
|
|
128
|
+
var diff = bottom - heightThreshold;
|
|
129
|
+
top -= diff;
|
|
130
|
+
elemTransformOrigin.vertical += diff;
|
|
131
|
+
}
|
|
132
|
+
if (left < 16) {
|
|
133
|
+
var diff = left - 16;
|
|
134
|
+
left -= diff;
|
|
135
|
+
elemTransformOrigin.horizontal += diff;
|
|
136
|
+
}
|
|
137
|
+
else if (right > widthThreshold) {
|
|
138
|
+
var diff = right - widthThreshold;
|
|
139
|
+
left -= diff;
|
|
140
|
+
elemTransformOrigin.horizontal += diff;
|
|
141
|
+
}
|
|
142
|
+
return {
|
|
143
|
+
top: "".concat(Math.round(top) + 4, "px"),
|
|
144
|
+
left: "".concat(Math.round(left), "px"),
|
|
145
|
+
transformOrigin: getTransformOriginValue(elemTransformOrigin),
|
|
146
|
+
};
|
|
147
|
+
}, [anchorEl, getAnchorOffset, getTransformOrigin]);
|
|
148
|
+
var _f = react.useState(open), isPositioned = _f[0], setIsPositioned = _f[1];
|
|
149
|
+
var setPositioningStyles = react.useCallback(function () {
|
|
150
|
+
var element = paperRef.current;
|
|
151
|
+
if (!element) {
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
var positioning = getPositioningStyle(element);
|
|
155
|
+
element.style.top = positioning.top;
|
|
156
|
+
element.style.left = positioning.left;
|
|
157
|
+
setIsPositioned(true);
|
|
158
|
+
}, [getPositioningStyle]);
|
|
159
|
+
var handleEntering = function (element, isAppearing) {
|
|
160
|
+
setPositioningStyles();
|
|
161
|
+
};
|
|
162
|
+
var handleExited = function () {
|
|
163
|
+
setIsPositioned(false);
|
|
164
|
+
};
|
|
165
|
+
react.useEffect(function () {
|
|
166
|
+
if (open) {
|
|
167
|
+
setPositioningStyles();
|
|
168
|
+
}
|
|
169
|
+
});
|
|
170
|
+
if (!disableOutsideFocus) {
|
|
171
|
+
return open ? (jsxRuntime.jsx(ctDesignPortal.Portal, __assign({ disablePortal: !insidePortal }, { children: jsxRuntime.jsx(ctDesignOutsideClickHandler.OldOutsideClickHandler, __assign({ onOutsideClick: onClose }, { children: jsxRuntime.jsx(ctDesignTransition.Transition, __assign({ type: 'grow', in: open, onEntering: handleEntering, onExited: handleExited, timeout: 350 }, { children: jsxRuntime.jsx(ctDesignCard.Card, __assign({ borderWidth: 'none', ref: paperRef }, (isPositioned ? undefined : { style: { minHeight: '16px', opacity: 0 } }), { css: __assign({ position: 'absolute', overflowY: 'auto', overflowX: 'hidden', minWidth: minWidth || '16px', minHeight: minHeight || '16px', maxWidth: 'calc(100% - 32px)', maxHeight: 'calc(100% - 32px)', outline: 0, zIndex: theme.zIndex.popOver }, popoverCardContainerCSS) }, { children: children })) })) })) }))) : null;
|
|
172
|
+
}
|
|
173
|
+
return (jsxRuntime.jsx(ctDesignModal.Modal, __assign({ ref: forwardedRef, blur: false, hideCrossIcon: false, open: open, onClose: onClose, size: 'NONE', insidePortal: insidePortal }, rest, { children: jsxRuntime.jsx(ctDesignTransition.Transition, __assign({ type: 'grow', in: open, onEntering: handleEntering, onExited: handleExited, timeout: 350 }, { children: jsxRuntime.jsx(ctDesignCard.Card, __assign({ borderWidth: 'none', ref: paperRef }, (isPositioned ? undefined : { style: { minHeight: '16px', opacity: 0 } }), { css: __assign({ position: 'absolute', overflowY: 'auto', overflowX: 'hidden', minWidth: minWidth || '16px', minHeight: minHeight || '16px', maxWidth: 'calc(100% - 32px)', maxHeight: 'calc(100% - 32px)', outline: 0 }, popoverCardContainerCSS) }, { children: children })) })) })));
|
|
174
|
+
});
|
|
175
|
+
|
|
176
|
+
exports.Popover = Popover;
|
|
177
|
+
|
|
178
|
+
}));
|
|
179
|
+
//# sourceMappingURL=ct-design-popover.umd.js.map
|