@salutejs/plasma-new-hope 0.264.0-canary.1760.13286965233.0 → 0.264.1-canary.1775.13296417008.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (32) hide show
  1. package/cjs/components/Popover/Popover.js +15 -2
  2. package/cjs/components/Popover/Popover.js.map +1 -1
  3. package/cjs/components/Popover/hooks/usePopoverOffset.js +45 -0
  4. package/cjs/components/Popover/hooks/usePopoverOffset.js.map +1 -0
  5. package/cjs/components/Tooltip/Tooltip.js +1 -1
  6. package/cjs/components/Tooltip/Tooltip.js.map +1 -1
  7. package/emotion/cjs/components/Popover/Popover.js +15 -2
  8. package/emotion/cjs/components/Popover/hooks/usePopoverOffset.js +48 -0
  9. package/emotion/cjs/components/Tooltip/Tooltip.js +2 -2
  10. package/emotion/cjs/examples/plasma_b2c/components/Popover/Popover.stories.tsx +75 -2
  11. package/emotion/es/components/Popover/Popover.js +15 -2
  12. package/emotion/es/components/Popover/hooks/usePopoverOffset.js +42 -0
  13. package/emotion/es/components/Tooltip/Tooltip.js +2 -2
  14. package/emotion/es/examples/plasma_b2c/components/Popover/Popover.stories.tsx +75 -2
  15. package/es/components/Popover/Popover.js +15 -2
  16. package/es/components/Popover/Popover.js.map +1 -1
  17. package/es/components/Popover/hooks/usePopoverOffset.js +41 -0
  18. package/es/components/Popover/hooks/usePopoverOffset.js.map +1 -0
  19. package/es/components/Tooltip/Tooltip.js +1 -1
  20. package/es/components/Tooltip/Tooltip.js.map +1 -1
  21. package/package.json +2 -2
  22. package/styled-components/cjs/components/Popover/Popover.js +15 -2
  23. package/styled-components/cjs/components/Popover/hooks/usePopoverOffset.js +48 -0
  24. package/styled-components/cjs/components/Tooltip/Tooltip.js +1 -1
  25. package/styled-components/cjs/examples/plasma_b2c/components/Popover/Popover.stories.tsx +75 -2
  26. package/styled-components/es/components/Popover/Popover.js +15 -2
  27. package/styled-components/es/components/Popover/hooks/usePopoverOffset.js +42 -0
  28. package/styled-components/es/components/Tooltip/Tooltip.js +1 -1
  29. package/styled-components/es/examples/plasma_b2c/components/Popover/Popover.stories.tsx +75 -2
  30. package/types/components/Popover/Popover.d.ts.map +1 -1
  31. package/types/components/Popover/hooks/usePopoverOffset.d.ts +9 -0
  32. package/types/components/Popover/hooks/usePopoverOffset.d.ts.map +1 -0
@@ -13,6 +13,7 @@ var _Portal = /*#__PURE__*/require("../Portal");
13
13
  var _base = /*#__PURE__*/require("./variations/_view/base");
14
14
  var _Popover = /*#__PURE__*/require("./Popover.styles");
15
15
  var _Popover2 = /*#__PURE__*/require("./Popover.tokens");
16
+ var _usePopoverOffset = /*#__PURE__*/require("./hooks/usePopoverOffset");
16
17
  var _excluded = ["target", "children", "animated", "isOpen", "opened", "trigger", "hasArrow", "frame", "className", "placement", "offset", "zIndex", "isFocusTrapped", "closeOnEsc", "preventOverflow", "usePortal", "view", "onToggle", "closeOnOverlayClick"];
17
18
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
18
19
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { "default": e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n["default"] = e, t && t.set(e, n), n; }
@@ -74,6 +75,7 @@ var popoverRoot = exports.popoverRoot = function popoverRoot(Root) {
74
75
  var popoverRef = (0, _react.useRef)(null);
75
76
  var handleRef = (0, _plasmaCore.useForkRef)(rootRef, outerRootRef);
76
77
  var portalRef = (0, _react.useRef)(null);
78
+ var targetRef = (0, _react.useRef)(null);
77
79
  var trapRef = (0, _hooks.useFocusTrap)(innerIsOpen && isFocusTrapped);
78
80
  var popoverForkRef = (0, _plasmaCore.useForkRef)(popoverRef, trapRef);
79
81
  var _useState = (0, _react.useState)(null),
@@ -92,6 +94,16 @@ var popoverRoot = exports.popoverRoot = function popoverRoot(Root) {
92
94
  var isAuto = isAutoArray || placement.startsWith('auto');
93
95
  var openClass = innerIsOpen && shouldRender ? _Popover2.classes.open : undefined;
94
96
  var animatedClass = animated ? _Popover2.classes.animate : undefined;
97
+ var offsetInner = (0, _usePopoverOffset.usePopoverOffset)({
98
+ handleRef: targetRef,
99
+ placement: placement,
100
+ offsetOuter: offset
101
+ });
102
+
103
+ // console.log(offsetInner);
104
+ // const offsetInner = [7, 8];
105
+
106
+ console.log(offsetInner);
95
107
  var _usePopper = (0, _reactPopper.usePopper)(rootRef.current, popoverRef.current, {
96
108
  // TODO: #1121
97
109
  // eslint-disable-next-line no-nested-ternary
@@ -104,7 +116,7 @@ var popoverRoot = exports.popoverRoot = function popoverRoot(Root) {
104
116
  }, {
105
117
  name: 'offset',
106
118
  options: {
107
- offset: [offset[0], offset[1]]
119
+ offset: [offsetInner[0], offsetInner[1]]
108
120
  }
109
121
  }, {
110
122
  name: 'flip',
@@ -235,7 +247,8 @@ var popoverRoot = exports.popoverRoot = function popoverRoot(Root) {
235
247
  }, /*#__PURE__*/_react["default"].createElement(_Popover.StyledWrapper, {
236
248
  className: (0, _utils.cx)(_Popover2.classes.wrapper, ! /*#__PURE__*/(0, _react.isValidElement)(target) && _Popover2.classes.targetAsRef),
237
249
  onMouseEnter: onMouseEnter,
238
- onMouseLeave: onMouseLeave
250
+ onMouseLeave: onMouseLeave,
251
+ ref: targetRef
239
252
  }, /*#__PURE__*/_react["default"].createElement(_Popover.StyledRoot, {
240
253
  ref: handleRef,
241
254
  onClick: onClick,
@@ -0,0 +1,48 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.usePopoverOffset = void 0;
7
+ var _react = /*#__PURE__*/require("react");
8
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
9
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
10
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
11
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
12
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
13
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
14
+ var allowedPlacements = ['top-start', 'top-end', 'bottom-start', 'bottom-end', 'left-start', 'left-end', 'right-start', 'right-end'];
15
+ var usePopoverOffset = exports.usePopoverOffset = function usePopoverOffset(_ref) {
16
+ var handleRef = _ref.handleRef,
17
+ placement = _ref.placement,
18
+ offsetOuter = _ref.offsetOuter;
19
+ var _useState = (0, _react.useState)(offsetOuter),
20
+ _useState2 = _slicedToArray(_useState, 2),
21
+ offset = _useState2[0],
22
+ setOffset = _useState2[1];
23
+ (0, _react.useEffect)(function () {
24
+ var refElement = handleRef.current;
25
+ if (!refElement || !allowedPlacements.includes(placement)) {
26
+ setOffset(offsetOuter);
27
+ return;
28
+ }
29
+ var _refElement$getBoundi = refElement.getBoundingClientRect(),
30
+ width = _refElement$getBoundi.width,
31
+ height = _refElement$getBoundi.height;
32
+ var isVertical = (placement === null || placement === void 0 ? void 0 : placement.startsWith('top')) || (placement === null || placement === void 0 ? void 0 : placement.startsWith('bottom'));
33
+ var isEnd = placement === null || placement === void 0 ? void 0 : placement.endsWith('end');
34
+ var isStart = placement === null || placement === void 0 ? void 0 : placement.endsWith('start');
35
+ var offsetX = offsetOuter[0];
36
+ var offsetY = offsetOuter[1];
37
+ if (isVertical) {
38
+ if ((isStart || isEnd) && width < 28) {
39
+ offsetX = isEnd ? 17 - width / 2 + offsetOuter[0] : -17 + width / 2 - offsetOuter[0];
40
+ }
41
+ }
42
+ if (!isVertical && (isStart || isEnd) && height < 28) {
43
+ offsetX = isStart ? -19 + height / 2 : 19 - height / 2;
44
+ }
45
+ setOffset([offsetX, offsetY]);
46
+ }, [handleRef, placement, offsetOuter]);
47
+ return offset;
48
+ };
@@ -52,7 +52,7 @@ var tooltipRoot = exports.tooltipRoot = function tooltipRoot(Root) {
52
52
  arrow = _ref.arrow,
53
53
  animated = _ref.animated,
54
54
  _ref$offset = _ref.offset,
55
- offset = _ref$offset === void 0 ? [0, 8] : _ref$offset,
55
+ offset = _ref$offset === void 0 ? [3, 8] : _ref$offset,
56
56
  minWidth = _ref.minWidth,
57
57
  maxWidth = _ref.maxWidth,
58
58
  _ref$placement = _ref.placement,
@@ -5,8 +5,30 @@ import type { StoryObj, Meta } from '@storybook/react';
5
5
 
6
6
  import { Button } from '../Button/Button';
7
7
  import { WithTheme } from '../../../_helpers';
8
+ import { IconDisclosureRight } from '../../../../components/_Icon';
9
+ import { IconButton } from '../IconButton/IconButton';
8
10
 
9
- import { Popover } from './Popover';
11
+ import { Popover, PopoverPlacement } from './Popover';
12
+
13
+ const placements: Array<PopoverPlacement> = [
14
+ 'top',
15
+ 'top-start',
16
+ 'top-end',
17
+
18
+ 'bottom',
19
+ 'bottom-start',
20
+ 'bottom-end',
21
+
22
+ 'left',
23
+ 'left-start',
24
+ 'left-end',
25
+
26
+ 'right',
27
+ 'right-start',
28
+ 'right-end',
29
+
30
+ 'auto',
31
+ ];
10
32
 
11
33
  import './style.css';
12
34
 
@@ -16,7 +38,7 @@ const meta: Meta<typeof Popover> = {
16
38
  component: Popover,
17
39
  argTypes: {
18
40
  placement: {
19
- options: ['top', 'bottom', 'right', 'left', 'auto'],
41
+ options: placements,
20
42
  control: {
21
43
  type: 'select',
22
44
  },
@@ -116,5 +138,56 @@ const StoryDefault = (args: StoryPopoverProps) => {
116
138
  };
117
139
 
118
140
  export const Default: StoryObj<StoryPopoverProps> = {
141
+ args: {
142
+ placement: 'bottom-start',
143
+ },
119
144
  render: (args) => <StoryDefault {...args} />,
120
145
  };
146
+
147
+ const StoryIcon = (args: StoryPopoverProps) => {
148
+ const { skidding = 0, distance = 0 } = args;
149
+
150
+ const [isOpen, setIsOpen] = useState(false);
151
+
152
+ return (
153
+ <div
154
+ style={{
155
+ marginLeft: '250px',
156
+ marginTop: '250px',
157
+ }}
158
+ >
159
+ <Popover
160
+ opened={isOpen}
161
+ onToggle={(is) => setIsOpen(is)}
162
+ frame="theme-root"
163
+ usePortal={false}
164
+ role="presentation"
165
+ id="popover"
166
+ target={
167
+ <IconButton
168
+ size="xs"
169
+ view="success"
170
+ style={{
171
+ width: '1rem',
172
+ height: '1rem',
173
+ }}
174
+ >
175
+ <IconDisclosureRight size="xs" />
176
+ </IconButton>
177
+ }
178
+ offset={[skidding, distance]}
179
+ {...args}
180
+ distance={6}
181
+ >
182
+ <StyledContent>
183
+ <>Content</>
184
+ <Button onClick={() => setIsOpen(false)}>Close</Button>
185
+ </StyledContent>
186
+ </Popover>
187
+ </div>
188
+ );
189
+ };
190
+
191
+ export const Icon: StoryObj<StoryPopoverProps> = {
192
+ render: (args) => <StoryIcon {...args} />,
193
+ };
@@ -23,6 +23,7 @@ import { Portal } from '../Portal';
23
23
  import { base as viewCSS } from './variations/_view/base';
24
24
  import { StyledArrow, StyledPopover, StyledRoot, StyledWrapper } from './Popover.styles';
25
25
  import { classes } from './Popover.tokens';
26
+ import { usePopoverOffset } from './hooks/usePopoverOffset';
26
27
  export var ESCAPE_KEYCODE = 27;
27
28
  export var POPOVER_PORTAL_ID = 'plasma-popover-root';
28
29
 
@@ -66,6 +67,7 @@ export var popoverRoot = function popoverRoot(Root) {
66
67
  var popoverRef = useRef(null);
67
68
  var handleRef = useForkRef(rootRef, outerRootRef);
68
69
  var portalRef = useRef(null);
70
+ var targetRef = useRef(null);
69
71
  var trapRef = useFocusTrap(innerIsOpen && isFocusTrapped);
70
72
  var popoverForkRef = useForkRef(popoverRef, trapRef);
71
73
  var _useState = useState(null),
@@ -84,6 +86,16 @@ export var popoverRoot = function popoverRoot(Root) {
84
86
  var isAuto = isAutoArray || placement.startsWith('auto');
85
87
  var openClass = innerIsOpen && shouldRender ? classes.open : undefined;
86
88
  var animatedClass = animated ? classes.animate : undefined;
89
+ var offsetInner = usePopoverOffset({
90
+ handleRef: targetRef,
91
+ placement: placement,
92
+ offsetOuter: offset
93
+ });
94
+
95
+ // console.log(offsetInner);
96
+ // const offsetInner = [7, 8];
97
+
98
+ console.log(offsetInner);
87
99
  var _usePopper = usePopper(rootRef.current, popoverRef.current, {
88
100
  // TODO: #1121
89
101
  // eslint-disable-next-line no-nested-ternary
@@ -96,7 +108,7 @@ export var popoverRoot = function popoverRoot(Root) {
96
108
  }, {
97
109
  name: 'offset',
98
110
  options: {
99
- offset: [offset[0], offset[1]]
111
+ offset: [offsetInner[0], offsetInner[1]]
100
112
  }
101
113
  }, {
102
114
  name: 'flip',
@@ -227,7 +239,8 @@ export var popoverRoot = function popoverRoot(Root) {
227
239
  }, /*#__PURE__*/React.createElement(StyledWrapper, {
228
240
  className: cx(classes.wrapper, ! /*#__PURE__*/isValidElement(target) && classes.targetAsRef),
229
241
  onMouseEnter: onMouseEnter,
230
- onMouseLeave: onMouseLeave
242
+ onMouseLeave: onMouseLeave,
243
+ ref: targetRef
231
244
  }, /*#__PURE__*/React.createElement(StyledRoot, {
232
245
  ref: handleRef,
233
246
  onClick: onClick,
@@ -0,0 +1,42 @@
1
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
3
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
4
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
5
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
6
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
7
+ import { useEffect, useState } from 'react';
8
+ var allowedPlacements = ['top-start', 'top-end', 'bottom-start', 'bottom-end', 'left-start', 'left-end', 'right-start', 'right-end'];
9
+ export var usePopoverOffset = function usePopoverOffset(_ref) {
10
+ var handleRef = _ref.handleRef,
11
+ placement = _ref.placement,
12
+ offsetOuter = _ref.offsetOuter;
13
+ var _useState = useState(offsetOuter),
14
+ _useState2 = _slicedToArray(_useState, 2),
15
+ offset = _useState2[0],
16
+ setOffset = _useState2[1];
17
+ useEffect(function () {
18
+ var refElement = handleRef.current;
19
+ if (!refElement || !allowedPlacements.includes(placement)) {
20
+ setOffset(offsetOuter);
21
+ return;
22
+ }
23
+ var _refElement$getBoundi = refElement.getBoundingClientRect(),
24
+ width = _refElement$getBoundi.width,
25
+ height = _refElement$getBoundi.height;
26
+ var isVertical = (placement === null || placement === void 0 ? void 0 : placement.startsWith('top')) || (placement === null || placement === void 0 ? void 0 : placement.startsWith('bottom'));
27
+ var isEnd = placement === null || placement === void 0 ? void 0 : placement.endsWith('end');
28
+ var isStart = placement === null || placement === void 0 ? void 0 : placement.endsWith('start');
29
+ var offsetX = offsetOuter[0];
30
+ var offsetY = offsetOuter[1];
31
+ if (isVertical) {
32
+ if ((isStart || isEnd) && width < 28) {
33
+ offsetX = isEnd ? 17 - width / 2 + offsetOuter[0] : -17 + width / 2 - offsetOuter[0];
34
+ }
35
+ }
36
+ if (!isVertical && (isStart || isEnd) && height < 28) {
37
+ offsetX = isStart ? -19 + height / 2 : 19 - height / 2;
38
+ }
39
+ setOffset([offsetX, offsetY]);
40
+ }, [handleRef, placement, offsetOuter]);
41
+ return offset;
42
+ };
@@ -42,7 +42,7 @@ export var tooltipRoot = function tooltipRoot(Root) {
42
42
  arrow = _ref.arrow,
43
43
  animated = _ref.animated,
44
44
  _ref$offset = _ref.offset,
45
- offset = _ref$offset === void 0 ? [0, 8] : _ref$offset,
45
+ offset = _ref$offset === void 0 ? [3, 8] : _ref$offset,
46
46
  minWidth = _ref.minWidth,
47
47
  maxWidth = _ref.maxWidth,
48
48
  _ref$placement = _ref.placement,
@@ -5,8 +5,30 @@ import type { StoryObj, Meta } from '@storybook/react';
5
5
 
6
6
  import { Button } from '../Button/Button';
7
7
  import { WithTheme } from '../../../_helpers';
8
+ import { IconDisclosureRight } from '../../../../components/_Icon';
9
+ import { IconButton } from '../IconButton/IconButton';
8
10
 
9
- import { Popover } from './Popover';
11
+ import { Popover, PopoverPlacement } from './Popover';
12
+
13
+ const placements: Array<PopoverPlacement> = [
14
+ 'top',
15
+ 'top-start',
16
+ 'top-end',
17
+
18
+ 'bottom',
19
+ 'bottom-start',
20
+ 'bottom-end',
21
+
22
+ 'left',
23
+ 'left-start',
24
+ 'left-end',
25
+
26
+ 'right',
27
+ 'right-start',
28
+ 'right-end',
29
+
30
+ 'auto',
31
+ ];
10
32
 
11
33
  import './style.css';
12
34
 
@@ -16,7 +38,7 @@ const meta: Meta<typeof Popover> = {
16
38
  component: Popover,
17
39
  argTypes: {
18
40
  placement: {
19
- options: ['top', 'bottom', 'right', 'left', 'auto'],
41
+ options: placements,
20
42
  control: {
21
43
  type: 'select',
22
44
  },
@@ -116,5 +138,56 @@ const StoryDefault = (args: StoryPopoverProps) => {
116
138
  };
117
139
 
118
140
  export const Default: StoryObj<StoryPopoverProps> = {
141
+ args: {
142
+ placement: 'bottom-start',
143
+ },
119
144
  render: (args) => <StoryDefault {...args} />,
120
145
  };
146
+
147
+ const StoryIcon = (args: StoryPopoverProps) => {
148
+ const { skidding = 0, distance = 0 } = args;
149
+
150
+ const [isOpen, setIsOpen] = useState(false);
151
+
152
+ return (
153
+ <div
154
+ style={{
155
+ marginLeft: '250px',
156
+ marginTop: '250px',
157
+ }}
158
+ >
159
+ <Popover
160
+ opened={isOpen}
161
+ onToggle={(is) => setIsOpen(is)}
162
+ frame="theme-root"
163
+ usePortal={false}
164
+ role="presentation"
165
+ id="popover"
166
+ target={
167
+ <IconButton
168
+ size="xs"
169
+ view="success"
170
+ style={{
171
+ width: '1rem',
172
+ height: '1rem',
173
+ }}
174
+ >
175
+ <IconDisclosureRight size="xs" />
176
+ </IconButton>
177
+ }
178
+ offset={[skidding, distance]}
179
+ {...args}
180
+ distance={6}
181
+ >
182
+ <StyledContent>
183
+ <>Content</>
184
+ <Button onClick={() => setIsOpen(false)}>Close</Button>
185
+ </StyledContent>
186
+ </Popover>
187
+ </div>
188
+ );
189
+ };
190
+
191
+ export const Icon: StoryObj<StoryPopoverProps> = {
192
+ render: (args) => <StoryIcon {...args} />,
193
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"Popover.d.ts","sourceRoot":"","sources":["../../../src/components/Popover/Popover.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+E,MAAM,OAAO,CAAC;AAIpG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAMrD,OAAO,KAAK,EAAoB,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAItE,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,iBAAiB,wBAAwB,CAAC;AAEvD;;;GAGG;AACH,eAAO,MAAM,WAAW,SAAU,UAAU,cAAc,EAAE,YAAY,CAAC,+JAgRpE,CAAC;AAEN,eAAO,MAAM,aAAa;;;mBAlRQ,UAAU,cAAc,EAAE,YAAY,CAAC;;;;;;;;;;CA+RxE,CAAC"}
1
+ {"version":3,"file":"Popover.d.ts","sourceRoot":"","sources":["../../../src/components/Popover/Popover.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA+E,MAAM,OAAO,CAAC;AAIpG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAMrD,OAAO,KAAK,EAAoB,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAKtE,eAAO,MAAM,cAAc,KAAK,CAAC;AACjC,eAAO,MAAM,iBAAiB,wBAAwB,CAAC;AAEvD;;;GAGG;AACH,eAAO,MAAM,WAAW,SAAU,UAAU,cAAc,EAAE,YAAY,CAAC,+JA6RpE,CAAC;AAEN,eAAO,MAAM,aAAa;;;mBA/RQ,UAAU,cAAc,EAAE,YAAY,CAAC;;;;;;;;;;CA4SxE,CAAC"}
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ interface UsePopoverOffsetOptions {
3
+ handleRef: React.RefObject<HTMLDivElement>;
4
+ placement?: string;
5
+ offsetOuter: [number, number];
6
+ }
7
+ export declare const usePopoverOffset: ({ handleRef, placement, offsetOuter }: UsePopoverOffsetOptions) => [number, number];
8
+ export {};
9
+ //# sourceMappingURL=usePopoverOffset.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePopoverOffset.d.ts","sourceRoot":"","sources":["../../../../src/components/Popover/hooks/usePopoverOffset.ts"],"names":[],"mappings":";AAuBA,UAAU,uBAAuB;IAC7B,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACjC;AAED,eAAO,MAAM,gBAAgB,0CAA2C,uBAAuB,KAAG,CAAC,MAAM,EAAE,MAAM,CAkChH,CAAC"}