@elliemae/ds-popover 2.3.0-next.0 → 3.0.0-alpha.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.
Files changed (57) hide show
  1. package/dist/cjs/Arrow.js +62 -0
  2. package/dist/cjs/Arrow.js.map +7 -0
  3. package/dist/cjs/DSPopover.js +155 -0
  4. package/dist/cjs/DSPopover.js.map +7 -0
  5. package/dist/cjs/Popover.js +73 -0
  6. package/dist/cjs/Popover.js.map +7 -0
  7. package/dist/cjs/PopoverTrigger.js +72 -0
  8. package/dist/cjs/PopoverTrigger.js.map +7 -0
  9. package/dist/cjs/index.js +36 -0
  10. package/dist/cjs/index.js.map +7 -0
  11. package/dist/cjs/usePopover.js +45 -0
  12. package/dist/cjs/usePopover.js.map +7 -0
  13. package/dist/cjs/usePopoverProviderState.js +85 -0
  14. package/dist/cjs/usePopoverProviderState.js.map +7 -0
  15. package/dist/cjs/usePopper.js +135 -0
  16. package/dist/cjs/usePopper.js.map +7 -0
  17. package/dist/esm/Arrow.js +33 -0
  18. package/dist/esm/Arrow.js.map +7 -0
  19. package/dist/esm/DSPopover.js +126 -0
  20. package/dist/esm/DSPopover.js.map +7 -0
  21. package/dist/esm/Popover.js +44 -0
  22. package/dist/esm/Popover.js.map +7 -0
  23. package/dist/esm/PopoverTrigger.js +43 -0
  24. package/dist/esm/PopoverTrigger.js.map +7 -0
  25. package/dist/esm/index.js +7 -0
  26. package/dist/esm/index.js.map +7 -0
  27. package/dist/esm/usePopover.js +16 -0
  28. package/dist/esm/usePopover.js.map +7 -0
  29. package/dist/esm/usePopoverProviderState.js +56 -0
  30. package/dist/esm/usePopoverProviderState.js.map +7 -0
  31. package/dist/esm/usePopper.js +106 -0
  32. package/dist/esm/usePopper.js.map +7 -0
  33. package/{types → dist/types}/Arrow.d.ts +0 -0
  34. package/{types → dist/types}/DSPopover.d.ts +0 -0
  35. package/{types → dist/types}/Popover.d.ts +0 -0
  36. package/{types → dist/types}/PopoverTrigger.d.ts +0 -0
  37. package/{types → dist/types}/index.d.ts +0 -0
  38. package/{types → dist/types}/usePopover.d.ts +0 -0
  39. package/{types → dist/types}/usePopoverProviderState.d.ts +0 -0
  40. package/{types → dist/types}/usePopper.d.ts +0 -0
  41. package/package.json +42 -34
  42. package/cjs/Arrow.js +0 -63
  43. package/cjs/DSPopover.js +0 -167
  44. package/cjs/Popover.js +0 -66
  45. package/cjs/PopoverTrigger.js +0 -68
  46. package/cjs/index.js +0 -23
  47. package/cjs/usePopover.js +0 -41
  48. package/cjs/usePopoverProviderState.js +0 -75
  49. package/cjs/usePopper.js +0 -123
  50. package/esm/Arrow.js +0 -55
  51. package/esm/DSPopover.js +0 -148
  52. package/esm/Popover.js +0 -57
  53. package/esm/PopoverTrigger.js +0 -58
  54. package/esm/index.js +0 -4
  55. package/esm/usePopover.js +0 -34
  56. package/esm/usePopoverProviderState.js +0 -69
  57. package/esm/usePopper.js +0 -116
package/esm/usePopper.js DELETED
@@ -1,116 +0,0 @@
1
- import 'core-js/modules/esnext.async-iterator.filter.js';
2
- import 'core-js/modules/esnext.iterator.constructor.js';
3
- import 'core-js/modules/esnext.iterator.filter.js';
4
- import 'core-js/modules/esnext.async-iterator.for-each.js';
5
- import 'core-js/modules/esnext.iterator.for-each.js';
6
- import _defineProperty from '@babel/runtime/helpers/esm/defineProperty';
7
- import 'core-js/modules/web.dom-collections.iterator.js';
8
- import Popper from 'popper.js';
9
- import { useState, useRef, useEffect } from 'react';
10
-
11
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
12
-
13
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
14
-
15
- function calculateOffset(_ref) {
16
- let {
17
- offset,
18
- showArrow
19
- } = _ref;
20
- const arrowSize = 10;
21
- const defaultPadding = 3;
22
- return {
23
- enabled: showArrow || offset,
24
- offset: Array.isArray(offset) ? "".concat(offset[0], ", ").concat((offset[1] || offset[0]) + arrowSize + defaultPadding) : "0, ".concat(arrowSize + defaultPadding)
25
- };
26
- }
27
-
28
- function usePopper(_ref2) {
29
- let {
30
- offset,
31
- showArrow,
32
- placement,
33
- isOpen,
34
- modifiers,
35
- eventsEnabled = true,
36
- positionFixed,
37
- boundaries = 'scrollParent',
38
- referenceEl: refEl
39
- } = _ref2;
40
- const [popperData, setPopperData] = useState({}); // this is util for deferred rendering like with portals
41
-
42
- const [dynamicPopperNode, setPopperNode] = useState(null);
43
- const referenceRef = useRef();
44
- const popperRef = useRef();
45
- const arrowRef = useRef();
46
- const popper = useRef(); // initialize popper with refs and options
47
-
48
- useEffect(() => {
49
- const referenceEl = refEl || referenceRef.current;
50
- const popperEl = dynamicPopperNode || popperRef.current;
51
- const arrowEl = arrowRef.current;
52
- popper.current = referenceEl && popperEl && new Popper(referenceEl, popperEl, {
53
- placement,
54
- isOpen,
55
- eventsEnabled,
56
- positionFixed,
57
- modifiers: _objectSpread(_objectSpread({
58
- preventOverflow: _objectSpread({
59
- padding: 0,
60
- boundariesElement: boundaries
61
- }, modifiers.preventOverflow),
62
- offset: calculateOffset({
63
- offset,
64
- showArrow
65
- })
66
- }, modifiers), {}, {
67
- arrow: {
68
- enabled: !!arrowEl,
69
- element: arrowEl
70
- },
71
- applyStyle: {
72
- enabled: false
73
- },
74
- updateStateModifier: {
75
- order: 900,
76
- enabled: true,
77
- fn: data => {
78
- setPopperData(data);
79
- return data;
80
- }
81
- }
82
- })
83
- });
84
- return () => {
85
- if (popper.current) popper.current.destroy();
86
- };
87
- }, [refEl, dynamicPopperNode, placement, showArrow, offset, popperRef, eventsEnabled]); // update popper instance after initialization
88
-
89
- useEffect(() => {
90
- if (!popper.current) return;
91
- popper.current.update();
92
- }, [popper.current]);
93
- const arrow = {
94
- ref: arrowRef,
95
- style: popperData.arrowStyles
96
- };
97
- const popperProps = {
98
- style: popperData.styles,
99
- ref: setPopperNode,
100
- placement: popperData.placement,
101
- 'data-testid': 'popover-container'
102
- };
103
- const reference = {
104
- ref: referenceRef
105
- };
106
- return {
107
- popperInstance: popper.current,
108
- popper: popperProps,
109
- arrow,
110
- reference,
111
- // setPopperNode,
112
- popperData
113
- };
114
- }
115
-
116
- export { usePopper as default };