@expofp/ui 3.21.0 → 3.22.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 (163) hide show
  1. package/package.json +1 -1
  2. package/dist/Alert/Alert.d.ts +0 -20
  3. package/dist/Alert/Alert.js +0 -23
  4. package/dist/Alert/index.d.ts +0 -3
  5. package/dist/Alert/index.js +0 -1
  6. package/dist/Autocomplete/Autocomplete.d.ts +0 -21
  7. package/dist/Autocomplete/Autocomplete.js +0 -183
  8. package/dist/Autocomplete/index.d.ts +0 -3
  9. package/dist/Autocomplete/index.js +0 -1
  10. package/dist/Badge/Badge.d.ts +0 -14
  11. package/dist/Badge/Badge.js +0 -15
  12. package/dist/Badge/index.d.ts +0 -3
  13. package/dist/Badge/index.js +0 -1
  14. package/dist/Button/Button.d.ts +0 -30
  15. package/dist/Button/Button.js +0 -41
  16. package/dist/Button/index.d.ts +0 -3
  17. package/dist/Button/index.js +0 -1
  18. package/dist/Checkbox/Checkbox.d.ts +0 -19
  19. package/dist/Checkbox/Checkbox.js +0 -19
  20. package/dist/Checkbox/index.d.ts +0 -3
  21. package/dist/Checkbox/index.js +0 -1
  22. package/dist/CheckboxButton/CheckboxButton.d.ts +0 -12
  23. package/dist/CheckboxButton/CheckboxButton.js +0 -19
  24. package/dist/CheckboxButton/index.d.ts +0 -3
  25. package/dist/CheckboxButton/index.js +0 -1
  26. package/dist/DownloadList/DownloadList.d.ts +0 -15
  27. package/dist/DownloadList/DownloadList.js +0 -9
  28. package/dist/DownloadList/index.d.ts +0 -3
  29. package/dist/DownloadList/index.js +0 -2
  30. package/dist/Draggable/Draggable.d.ts +0 -9
  31. package/dist/Draggable/Draggable.js +0 -92
  32. package/dist/Draggable/index.d.ts +0 -3
  33. package/dist/Draggable/index.js +0 -2
  34. package/dist/EntityItem/EntityItem.d.ts +0 -46
  35. package/dist/EntityItem/EntityItem.js +0 -29
  36. package/dist/EntityItem/index.d.ts +0 -3
  37. package/dist/EntityItem/index.js +0 -1
  38. package/dist/EventBadge/EventBadge.d.ts +0 -13
  39. package/dist/EventBadge/EventBadge.js +0 -10
  40. package/dist/EventBadge/index.d.ts +0 -3
  41. package/dist/EventBadge/index.js +0 -1
  42. package/dist/HeatmapLegend/HeatmapLegend.d.ts +0 -15
  43. package/dist/HeatmapLegend/HeatmapLegend.js +0 -11
  44. package/dist/HeatmapLegend/index.d.ts +0 -3
  45. package/dist/HeatmapLegend/index.js +0 -2
  46. package/dist/HighlightText/HighlightText.d.ts +0 -7
  47. package/dist/HighlightText/HighlightText.js +0 -14
  48. package/dist/HighlightText/index.d.ts +0 -2
  49. package/dist/HighlightText/index.js +0 -1
  50. package/dist/LevelBadge/LevelBadge.d.ts +0 -9
  51. package/dist/LevelBadge/LevelBadge.js +0 -10
  52. package/dist/LevelBadge/index.d.ts +0 -3
  53. package/dist/LevelBadge/index.js +0 -2
  54. package/dist/LevelSelector/LevelSelector.d.ts +0 -19
  55. package/dist/LevelSelector/LevelSelector.js +0 -91
  56. package/dist/LevelSelector/index.d.ts +0 -3
  57. package/dist/LevelSelector/index.js +0 -2
  58. package/dist/MapControls/MapControls.d.ts +0 -33
  59. package/dist/MapControls/MapControls.js +0 -38
  60. package/dist/MapControls/index.d.ts +0 -3
  61. package/dist/MapControls/index.js +0 -2
  62. package/dist/MobileToggleButton/MobileToggleButton.d.ts +0 -12
  63. package/dist/MobileToggleButton/MobileToggleButton.js +0 -8
  64. package/dist/MobileToggleButton/index.d.ts +0 -3
  65. package/dist/MobileToggleButton/index.js +0 -1
  66. package/dist/Modal/Modal.d.ts +0 -34
  67. package/dist/Modal/Modal.js +0 -98
  68. package/dist/Modal/index.d.ts +0 -3
  69. package/dist/Modal/index.js +0 -1
  70. package/dist/MultiSelectGroups/MultiSelectGroups.d.ts +0 -37
  71. package/dist/MultiSelectGroups/MultiSelectGroups.js +0 -80
  72. package/dist/MultiSelectGroups/index.d.ts +0 -3
  73. package/dist/MultiSelectGroups/index.js +0 -1
  74. package/dist/OverlayGrip/OverlayGrip.d.ts +0 -11
  75. package/dist/OverlayGrip/OverlayGrip.js +0 -8
  76. package/dist/OverlayGrip/index.d.ts +0 -3
  77. package/dist/OverlayGrip/index.js +0 -2
  78. package/dist/PermissionNotice/PermissionNotice.d.ts +0 -16
  79. package/dist/PermissionNotice/PermissionNotice.js +0 -11
  80. package/dist/PermissionNotice/index.d.ts +0 -3
  81. package/dist/PermissionNotice/index.js +0 -2
  82. package/dist/Radio/Radio.d.ts +0 -15
  83. package/dist/Radio/Radio.js +0 -13
  84. package/dist/Radio/index.d.ts +0 -3
  85. package/dist/Radio/index.js +0 -1
  86. package/dist/RebookingNotes/RebookingNotes.d.ts +0 -11
  87. package/dist/RebookingNotes/RebookingNotes.js +0 -18
  88. package/dist/RebookingNotes/index.d.ts +0 -3
  89. package/dist/RebookingNotes/index.js +0 -1
  90. package/dist/RebookingRadioGroup/RebookingRadioGroup.d.ts +0 -17
  91. package/dist/RebookingRadioGroup/RebookingRadioGroup.js +0 -13
  92. package/dist/RebookingRadioGroup/index.d.ts +0 -3
  93. package/dist/RebookingRadioGroup/index.js +0 -1
  94. package/dist/ScrollableRow/ScrollableRow.d.ts +0 -21
  95. package/dist/ScrollableRow/ScrollableRow.js +0 -155
  96. package/dist/ScrollableRow/index.d.ts +0 -3
  97. package/dist/ScrollableRow/index.js +0 -2
  98. package/dist/Share/Share.d.ts +0 -22
  99. package/dist/Share/Share.js +0 -24
  100. package/dist/Share/index.d.ts +0 -3
  101. package/dist/Share/index.js +0 -1
  102. package/dist/ShowMoreButton/ShowMoreButton.d.ts +0 -11
  103. package/dist/ShowMoreButton/ShowMoreButton.js +0 -7
  104. package/dist/ShowMoreButton/index.d.ts +0 -3
  105. package/dist/ShowMoreButton/index.js +0 -1
  106. package/dist/SidebarActions/SidebarActions.d.ts +0 -26
  107. package/dist/SidebarActions/SidebarActions.js +0 -32
  108. package/dist/SidebarActions/index.d.ts +0 -3
  109. package/dist/SidebarActions/index.js +0 -2
  110. package/dist/SimpleRow/SimpleRow.d.ts +0 -15
  111. package/dist/SimpleRow/SimpleRow.js +0 -11
  112. package/dist/SimpleRow/index.d.ts +0 -3
  113. package/dist/SimpleRow/index.js +0 -2
  114. package/dist/Spinner/Spinner.d.ts +0 -9
  115. package/dist/Spinner/Spinner.js +0 -8
  116. package/dist/Spinner/index.d.ts +0 -3
  117. package/dist/Spinner/index.js +0 -1
  118. package/dist/ToggleButton/ToggleButton.d.ts +0 -17
  119. package/dist/ToggleButton/ToggleButton.js +0 -8
  120. package/dist/ToggleButton/index.d.ts +0 -3
  121. package/dist/ToggleButton/index.js +0 -1
  122. package/dist/ToggleSwitch/ToggleSwitch.d.ts +0 -12
  123. package/dist/ToggleSwitch/ToggleSwitch.js +0 -10
  124. package/dist/ToggleSwitch/index.d.ts +0 -3
  125. package/dist/ToggleSwitch/index.js +0 -1
  126. package/dist/TouchHand/TouchHand.d.ts +0 -5
  127. package/dist/TouchHand/TouchHand.js +0 -7
  128. package/dist/TouchHand/index.d.ts +0 -2
  129. package/dist/TouchHand/index.js +0 -1
  130. package/dist/WayfindingFloorSelector/WayfindingFloorSelector.d.ts +0 -24
  131. package/dist/WayfindingFloorSelector/WayfindingFloorSelector.js +0 -27
  132. package/dist/WayfindingFloorSelector/index.d.ts +0 -3
  133. package/dist/WayfindingFloorSelector/index.js +0 -1
  134. package/dist/components/Gallery/Gallery.d.ts +0 -25
  135. package/dist/components/Gallery/Gallery.js +0 -25
  136. package/dist/components/Gallery/GalleryBadges/GalleryBadges.d.ts +0 -8
  137. package/dist/components/Gallery/GalleryBadges/GalleryBadges.js +0 -5
  138. package/dist/components/Gallery/GalleryControls/GalleryControls.d.ts +0 -11
  139. package/dist/components/Gallery/GalleryControls/GalleryControls.js +0 -5
  140. package/dist/components/Gallery/GalleryImg/GalleryImg.d.ts +0 -13
  141. package/dist/components/Gallery/GalleryImg/GalleryImg.js +0 -37
  142. package/dist/components/Gallery/GalleryItem/GalleryItem.d.ts +0 -14
  143. package/dist/components/Gallery/GalleryItem/GalleryItem.js +0 -6
  144. package/dist/components/Gallery/GalleryModal/GalleryModal.d.ts +0 -18
  145. package/dist/components/Gallery/GalleryModal/GalleryModal.js +0 -88
  146. package/dist/components/Gallery/GalleryPreLoader.d.ts +0 -7
  147. package/dist/components/Gallery/GalleryPreLoader.js +0 -29
  148. package/dist/components/Gallery/TransformImg/TransformImg.d.ts +0 -10
  149. package/dist/components/Gallery/TransformImg/TransformImg.js +0 -15
  150. package/dist/components/Gallery/index.d.ts +0 -3
  151. package/dist/components/Gallery/index.js +0 -1
  152. package/dist/components/Overlay/Overlay.d.ts +0 -29
  153. package/dist/components/Overlay/Overlay.js +0 -251
  154. package/dist/components/Overlay/OverlayScrollContext.d.ts +0 -7
  155. package/dist/components/Overlay/OverlayScrollContext.js +0 -7
  156. package/dist/components/Overlay/index.d.ts +0 -4
  157. package/dist/components/Overlay/index.js +0 -2
  158. package/dist/shared/debounce.d.ts +0 -2
  159. package/dist/shared/debounce.js +0 -9
  160. package/dist/shared/hooks/useDragGesture.d.ts +0 -19
  161. package/dist/shared/hooks/useDragGesture.js +0 -45
  162. package/dist/shared/hooks/useWindowSize.d.ts +0 -5
  163. package/dist/shared/hooks/useWindowSize.js +0 -40
@@ -1,3 +0,0 @@
1
- export type { GalleryImage, GalleryProps } from './Gallery';
2
- export { default } from './Gallery';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- export { default } from './Gallery';
@@ -1,29 +0,0 @@
1
- import './Overlay.scss';
2
- import { type ReactNode } from 'react';
3
- export type Size = 'small' | 'medium' | 'full';
4
- export interface OverlayProps {
5
- children?: ReactNode;
6
- open: boolean;
7
- size?: Size;
8
- /** Slot rendered above the content (e.g. a particles canvas); nothing when omitted. */
9
- particles?: ReactNode;
10
- className?: string;
11
- smallSizeMultiplier?: number;
12
- mediumSizeMultiplier?: number;
13
- fullSizeOffset?: number;
14
- scrollThreshold?: number;
15
- disableDrag?: boolean;
16
- forceFull?: boolean;
17
- scrollResetKey?: unknown;
18
- /** Viewport width (px) at or below which the overlay switches to its mobile bottom-sheet mode. */
19
- mobileBreakpoint?: number;
20
- /** Shown when `children` is empty. */
21
- noContentLabel: string;
22
- onChangeSize?: (size: Size) => void;
23
- onScrollStateChange?: (isScrolled: boolean) => void;
24
- /** Fired (debounced) on scroll — lets the host react to user activity. */
25
- onScrollActivity?: () => void;
26
- }
27
- declare const Overlay: ({ children, open, size, particles, className, onChangeSize, onScrollStateChange, onScrollActivity, smallSizeMultiplier, mediumSizeMultiplier, fullSizeOffset, scrollThreshold, disableDrag, forceFull, scrollResetKey, mobileBreakpoint, noContentLabel, }: OverlayProps) => import("react").JSX.Element | null;
28
- export default Overlay;
29
- //# sourceMappingURL=Overlay.d.ts.map
@@ -1,251 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import './Overlay.scss';
3
- import cn from 'classnames';
4
- import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
5
- import debounce from '../../shared/debounce';
6
- import { useDragGesture } from '../../shared/hooks/useDragGesture';
7
- import { useWindowSize } from '../../shared/hooks/useWindowSize';
8
- import { OverlayScrollContext } from './OverlayScrollContext';
9
- const GAP = 70;
10
- const TRANSITION_DURATION = '0.3s';
11
- const DEFAULT_SCROLL_THRESHOLD = 10;
12
- const DEFAULT_MOBILE_BREAKPOINT = 768;
13
- const getActualViewportHeight = () => {
14
- const isInIframe = window !== window.top;
15
- if (isInIframe) {
16
- return (document.documentElement.clientHeight || document.body.clientHeight || window.innerHeight);
17
- }
18
- return window.innerHeight;
19
- };
20
- const generateSizes = (height = getActualViewportHeight(), smallMultiplier, mediumMultiplier, fullSizeOffset) => ({
21
- small: height / smallMultiplier,
22
- medium: height / mediumMultiplier,
23
- full: height - fullSizeOffset,
24
- });
25
- const Overlay = ({ children, open, size = 'medium', particles, className, onChangeSize, onScrollStateChange, onScrollActivity, smallSizeMultiplier = 12.6, mediumSizeMultiplier = 2.6, fullSizeOffset = 0, scrollThreshold = DEFAULT_SCROLL_THRESHOLD, disableDrag = false, forceFull = false, scrollResetKey, mobileBreakpoint = DEFAULT_MOBILE_BREAKPOINT, noContentLabel, }) => {
26
- const { width: windowWidth, height: windowHeight } = useWindowSize();
27
- // Pure derivations of the window size — computed in render, not stored/synced via an effect.
28
- const mobile = windowWidth <= mobileBreakpoint;
29
- const sizes = useMemo(() => generateSizes(windowHeight, smallSizeMultiplier, mediumSizeMultiplier, fullSizeOffset), [windowHeight, smallSizeMultiplier, mediumSizeMultiplier, fullSizeOffset]);
30
- const [dragging, setDragging] = useState(false);
31
- const [panelHeight, setPanelHeight] = useState(() => sizes[size]);
32
- const [overlayHeight, setOverlayHeight] = useState(() => sizes[size]);
33
- const [isAnimating, setIsAnimating] = useState(false);
34
- const [shouldRender, setShouldRender] = useState(open);
35
- const [isScrolled, setIsScrolled] = useState(false);
36
- const touchStartRef = useRef(undefined);
37
- const dragOffsetRef = useRef(undefined);
38
- const overlayPanelRef = useRef(null);
39
- const triggerRef = useRef(null);
40
- const scrollRef = useRef(null);
41
- // Mirror frequently-changing values into refs so the drag callbacks can stay
42
- // identity-stable and the listener effect subscribes only when mobile/disableDrag change.
43
- const sizesRef = useRef(sizes);
44
- const panelHeightRef = useRef(panelHeight);
45
- const overlayHeightRef = useRef(overlayHeight);
46
- const draggingRef = useRef(dragging);
47
- const sizeRef = useRef(size);
48
- useEffect(() => {
49
- sizesRef.current = sizes;
50
- panelHeightRef.current = panelHeight;
51
- overlayHeightRef.current = overlayHeight;
52
- draggingRef.current = dragging;
53
- sizeRef.current = size;
54
- });
55
- const setSize = useCallback((newSize) => {
56
- const height = sizesRef.current[newSize];
57
- setPanelHeight(height);
58
- setOverlayHeight(height);
59
- onChangeSize?.(newSize);
60
- }, [onChangeSize]);
61
- const positioningStyles = useMemo(() => {
62
- if (mobile) {
63
- if (forceFull && open) {
64
- return { height: getActualViewportHeight() };
65
- }
66
- return {
67
- height: open || isAnimating ? overlayHeight : 0,
68
- };
69
- }
70
- return {
71
- height: open ? 'auto' : undefined,
72
- };
73
- }, [mobile, open, overlayHeight, isAnimating, forceFull]);
74
- const setSizeByValue = useCallback((heightVal) => {
75
- const sizes = sizesRef.current;
76
- const sizesArray = [sizes.small, sizes.medium, sizes.full].sort();
77
- if (heightVal >= sizes.full) {
78
- setSize('full');
79
- return;
80
- }
81
- if (heightVal <= sizes.small) {
82
- setSize('small');
83
- return;
84
- }
85
- const currentHeight = panelHeightRef.current || sizes.medium;
86
- const targetSize = heightVal > currentHeight
87
- ? (sizesArray.find((val) => val + GAP >= heightVal) ?? sizes.full)
88
- : (sizesArray.reverse().find((val) => val - GAP <= heightVal) ?? sizes.small);
89
- if (targetSize === sizes.full) {
90
- setSize('full');
91
- }
92
- else if (targetSize === sizes.medium) {
93
- setSize('medium');
94
- }
95
- else {
96
- setSize('small');
97
- }
98
- }, [setSize]);
99
- const handleDragStart = useCallback((clientY) => {
100
- setDragging(true);
101
- touchStartRef.current = clientY;
102
- }, []);
103
- const handleDragMove = useCallback((clientY) => {
104
- const touchStart = touchStartRef.current;
105
- if (touchStart === undefined)
106
- return;
107
- const sizes = sizesRef.current;
108
- const panelHeight = panelHeightRef.current;
109
- const scrollEl = scrollRef.current;
110
- if ((scrollEl?.scrollTop ?? 0) > 0 && panelHeight === sizes.full)
111
- return;
112
- const offset = touchStart - clientY;
113
- const currentHeight = panelHeight || sizes.medium;
114
- let nextHeight = currentHeight + offset;
115
- if (scrollEl && panelHeight === sizes.full && nextHeight < panelHeight) {
116
- scrollEl.style.overflow = 'hidden';
117
- }
118
- nextHeight = Math.min(Math.max(nextHeight, sizes.small), sizes.full);
119
- dragOffsetRef.current = offset;
120
- overlayHeightRef.current = nextHeight;
121
- setOverlayHeight(nextHeight);
122
- }, []);
123
- const handleDragEnd = useCallback(() => {
124
- setDragging(false);
125
- touchStartRef.current = undefined;
126
- const scrollEl = scrollRef.current;
127
- if (scrollEl) {
128
- scrollEl.style.removeProperty('overflow');
129
- }
130
- const dragOffset = dragOffsetRef.current;
131
- dragOffsetRef.current = undefined;
132
- const finalHeight = overlayHeightRef.current;
133
- if (dragOffset !== undefined && finalHeight !== undefined) {
134
- setSizeByValue(finalHeight);
135
- }
136
- }, [setSizeByValue]);
137
- const handleTriggerClick = useCallback(() => {
138
- if (draggingRef.current)
139
- return;
140
- const currentSize = sizeRef.current;
141
- const nextSize = currentSize === 'small' ? 'medium' : currentSize === 'medium' ? 'full' : 'small';
142
- setSize(nextSize);
143
- }, [setSize]);
144
- const { touchHandlers, mouseHandlers } = useDragGesture({
145
- onDragStart: handleDragStart,
146
- onDragMove: handleDragMove,
147
- onDragEnd: handleDragEnd,
148
- });
149
- const handleScroll = useCallback(() => {
150
- const scrollEl = scrollRef.current;
151
- if (!scrollEl)
152
- return;
153
- const scrollTop = scrollEl.scrollTop;
154
- const shouldAddClass = scrollTop >= scrollThreshold;
155
- if (isScrolled !== shouldAddClass) {
156
- setIsScrolled(shouldAddClass);
157
- onScrollStateChange?.(shouldAddClass);
158
- }
159
- }, [scrollThreshold, isScrolled, onScrollStateChange]);
160
- const debouncedScrollActivity = useMemo(() => debounce(() => {
161
- onScrollActivity?.();
162
- }, 250), [onScrollActivity]);
163
- useEffect(() => {
164
- if (!mobile || disableDrag)
165
- return;
166
- const overlayEl = overlayPanelRef.current;
167
- const triggerEl = triggerRef.current;
168
- const scrollEl = scrollRef.current;
169
- const preventOverscroll = () => {
170
- const panelHeight = panelHeightRef.current;
171
- if (panelHeight && panelHeight < sizesRef.current.full && scrollEl) {
172
- scrollEl.style.overflow = 'hidden';
173
- }
174
- };
175
- if (overlayEl) {
176
- overlayEl.addEventListener('touchstart', touchHandlers.onTouchStart);
177
- overlayEl.addEventListener('touchend', touchHandlers.onTouchEnd);
178
- window.addEventListener('touchmove', touchHandlers.onTouchMove);
179
- overlayEl.addEventListener('mousedown', mouseHandlers.onMouseDown);
180
- overlayEl.addEventListener('mouseup', mouseHandlers.onMouseUp);
181
- window.addEventListener('mousemove', mouseHandlers.onMouseMove);
182
- }
183
- if (triggerEl) {
184
- triggerEl.addEventListener('mouseup', handleTriggerClick);
185
- }
186
- if (scrollEl) {
187
- scrollEl.addEventListener('touchstart', preventOverscroll);
188
- }
189
- return () => {
190
- if (overlayEl) {
191
- overlayEl.removeEventListener('touchstart', touchHandlers.onTouchStart);
192
- overlayEl.removeEventListener('touchend', touchHandlers.onTouchEnd);
193
- window.removeEventListener('touchmove', touchHandlers.onTouchMove);
194
- overlayEl.removeEventListener('mousedown', mouseHandlers.onMouseDown);
195
- overlayEl.removeEventListener('mouseup', mouseHandlers.onMouseUp);
196
- window.removeEventListener('mousemove', mouseHandlers.onMouseMove);
197
- }
198
- if (triggerEl) {
199
- triggerEl.removeEventListener('mouseup', handleTriggerClick);
200
- }
201
- if (scrollEl) {
202
- scrollEl.removeEventListener('touchstart', preventOverscroll);
203
- }
204
- };
205
- }, [mobile, disableDrag, touchHandlers, mouseHandlers, handleTriggerClick]);
206
- useEffect(() => {
207
- if (open) {
208
- setShouldRender(true);
209
- setIsAnimating(true);
210
- const timer = setTimeout(() => {
211
- setSize(size);
212
- setIsAnimating(false);
213
- }, 10);
214
- return () => clearTimeout(timer);
215
- }
216
- else {
217
- setIsAnimating(true);
218
- if (mobile) {
219
- setOverlayHeight(0);
220
- }
221
- const timer = setTimeout(() => {
222
- setShouldRender(false);
223
- setIsAnimating(false);
224
- setIsScrolled(false);
225
- }, parseFloat(TRANSITION_DURATION) * 1000);
226
- return () => clearTimeout(timer);
227
- }
228
- }, [open, size, setSize, mobile]);
229
- useEffect(() => {
230
- if (open && !isAnimating) {
231
- scrollRef.current?.scrollTo({ top: 0 });
232
- setIsScrolled(false);
233
- onScrollStateChange?.(false);
234
- }
235
- }, [open, isAnimating, onScrollStateChange, scrollResetKey]);
236
- if (!shouldRender)
237
- return null;
238
- return (_jsx(OverlayScrollContext, { value: scrollRef.current, children: _jsxs("div", { className: cn('efp-overlay', {
239
- 'efp-overlay--draggable': dragging,
240
- 'efp-overlay--full': size === 'full',
241
- 'efp-overlay--mobile': mobile,
242
- 'efp-overlay--desktop': !mobile,
243
- 'efp-overlay--hidden': !mobile && !open,
244
- 'efp-overlay--scrolled': isScrolled,
245
- 'efp-overlay--forced-full': forceFull && mobile,
246
- }, className), style: positioningStyles, ref: overlayPanelRef, children: [!disableDrag && _jsx("div", { className: "efp-overlay__draghandle", ref: triggerRef }), _jsxs("div", { className: "efp-overlay__scroll", ref: scrollRef, onScroll: () => {
247
- handleScroll();
248
- debouncedScrollActivity();
249
- }, children: [particles, _jsx("div", { className: "efp-overlay__content", children: children ? children : noContentLabel })] })] }) }));
250
- };
251
- export default Overlay;
@@ -1,7 +0,0 @@
1
- /**
2
- * Exposes the overlay's inner scroll container to descendants so they can
3
- * observe / drive it (e.g. a virtualized list syncing its scroll position).
4
- * Provided by {@link Overlay}; `null` when rendered outside an overlay.
5
- */
6
- export declare const OverlayScrollContext: import("react").Context<HTMLDivElement | null>;
7
- //# sourceMappingURL=OverlayScrollContext.d.ts.map
@@ -1,7 +0,0 @@
1
- import { createContext } from 'react';
2
- /**
3
- * Exposes the overlay's inner scroll container to descendants so they can
4
- * observe / drive it (e.g. a virtualized list syncing its scroll position).
5
- * Provided by {@link Overlay}; `null` when rendered outside an overlay.
6
- */
7
- export const OverlayScrollContext = createContext(null);
@@ -1,4 +0,0 @@
1
- export type { OverlayProps, Size } from './Overlay';
2
- export { default } from './Overlay';
3
- export { OverlayScrollContext } from './OverlayScrollContext';
4
- //# sourceMappingURL=index.d.ts.map
@@ -1,2 +0,0 @@
1
- export { default } from './Overlay';
2
- export { OverlayScrollContext } from './OverlayScrollContext';
@@ -1,2 +0,0 @@
1
- export default function debounce<Params extends unknown[]>(func: (...args: Params) => unknown, timeoutMs: number): (...args: Params) => void;
2
- //# sourceMappingURL=debounce.d.ts.map
@@ -1,9 +0,0 @@
1
- export default function debounce(func, timeoutMs) {
2
- let timer;
3
- return (...args) => {
4
- clearTimeout(timer);
5
- timer = setTimeout(() => {
6
- func(...args);
7
- }, timeoutMs);
8
- };
9
- }
@@ -1,19 +0,0 @@
1
- interface DragGestureConfig {
2
- onDragStart: (clientY: number) => void;
3
- onDragMove: (clientY: number) => void;
4
- onDragEnd: () => void;
5
- }
6
- export declare const useDragGesture: ({ onDragStart, onDragMove, onDragEnd }: DragGestureConfig) => {
7
- touchHandlers: {
8
- onTouchStart: (event: TouchEvent) => void;
9
- onTouchMove: (event: TouchEvent) => void;
10
- onTouchEnd: () => void;
11
- };
12
- mouseHandlers: {
13
- onMouseDown: (event: MouseEvent) => void;
14
- onMouseMove: (event: MouseEvent) => void;
15
- onMouseUp: () => void;
16
- };
17
- };
18
- export {};
19
- //# sourceMappingURL=useDragGesture.d.ts.map
@@ -1,45 +0,0 @@
1
- import { useCallback, useMemo, useRef } from 'react';
2
- export const useDragGesture = ({ onDragStart, onDragMove, onDragEnd }) => {
3
- const isDraggingRef = useRef(false);
4
- const handleTouchStart = useCallback((event) => {
5
- isDraggingRef.current = true;
6
- onDragStart(event.touches[0].clientY);
7
- }, [onDragStart]);
8
- const handleTouchMove = useCallback((event) => {
9
- if (!isDraggingRef.current)
10
- return;
11
- onDragMove(event.touches[0].clientY);
12
- }, [onDragMove]);
13
- const handleTouchEnd = useCallback(() => {
14
- if (!isDraggingRef.current)
15
- return;
16
- isDraggingRef.current = false;
17
- onDragEnd();
18
- }, [onDragEnd]);
19
- const handleMouseStart = useCallback((event) => {
20
- isDraggingRef.current = true;
21
- onDragStart(event.clientY);
22
- }, [onDragStart]);
23
- const handleMouseMove = useCallback((event) => {
24
- if (!isDraggingRef.current)
25
- return;
26
- onDragMove(event.clientY);
27
- }, [onDragMove]);
28
- const handleMouseEnd = useCallback(() => {
29
- if (!isDraggingRef.current)
30
- return;
31
- isDraggingRef.current = false;
32
- onDragEnd();
33
- }, [onDragEnd]);
34
- const touchHandlers = useMemo(() => ({
35
- onTouchStart: handleTouchStart,
36
- onTouchMove: handleTouchMove,
37
- onTouchEnd: handleTouchEnd,
38
- }), [handleTouchStart, handleTouchMove, handleTouchEnd]);
39
- const mouseHandlers = useMemo(() => ({
40
- onMouseDown: handleMouseStart,
41
- onMouseMove: handleMouseMove,
42
- onMouseUp: handleMouseEnd,
43
- }), [handleMouseStart, handleMouseMove, handleMouseEnd]);
44
- return { touchHandlers, mouseHandlers };
45
- };
@@ -1,5 +0,0 @@
1
- export declare const useWindowSize: () => {
2
- width: number;
3
- height: number;
4
- };
5
- //# sourceMappingURL=useWindowSize.d.ts.map
@@ -1,40 +0,0 @@
1
- import { useEffect, useState } from 'react';
2
- export const useWindowSize = () => {
3
- const [windowSize, setWindowSize] = useState(() => {
4
- const isInIframe = window !== window.top;
5
- if (isInIframe) {
6
- return {
7
- width: document.documentElement.clientWidth || window.innerWidth,
8
- height: document.documentElement.clientHeight || window.innerHeight,
9
- };
10
- }
11
- return {
12
- width: window.innerWidth,
13
- height: window.innerHeight,
14
- };
15
- });
16
- useEffect(() => {
17
- const handleResize = () => {
18
- const isInIframe = window !== window.top;
19
- if (isInIframe) {
20
- setWindowSize({
21
- width: document.documentElement.clientWidth || window.innerWidth,
22
- height: document.documentElement.clientHeight || window.innerHeight,
23
- });
24
- }
25
- else {
26
- setWindowSize({
27
- width: window.innerWidth,
28
- height: window.innerHeight,
29
- });
30
- }
31
- };
32
- window.addEventListener('resize', handleResize);
33
- window.addEventListener('orientationchange', handleResize);
34
- return () => {
35
- window.removeEventListener('resize', handleResize);
36
- window.removeEventListener('orientationchange', handleResize);
37
- };
38
- }, []);
39
- return windowSize;
40
- };