@revikornmann/muka-ui 0.27.3 → 0.28.1

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 (61) hide show
  1. package/dist/cjs/components/DataPieChart/DataPieChart.css +4 -1
  2. package/dist/cjs/components/DataPieChart/DataPieChart.js +1 -1
  3. package/dist/cjs/components/DataPieChart/DataPieChart.js.map +1 -1
  4. package/dist/cjs/components/Dialog/Dialog.css +3 -0
  5. package/dist/cjs/components/Dialog/Dialog.js +66 -3
  6. package/dist/cjs/components/Dialog/Dialog.js.map +1 -1
  7. package/dist/cjs/components/Input/Input.css +21 -0
  8. package/dist/cjs/components/MediaViewer/MediaViewer.css +183 -0
  9. package/dist/cjs/components/MediaViewer/MediaViewer.js +273 -0
  10. package/dist/cjs/components/MediaViewer/MediaViewer.js.map +1 -0
  11. package/dist/cjs/components/MediaViewer/index.js +6 -0
  12. package/dist/cjs/components/MediaViewer/index.js.map +1 -0
  13. package/dist/cjs/components/MediaViewer/mediaViewerGestures.js +65 -0
  14. package/dist/cjs/components/MediaViewer/mediaViewerGestures.js.map +1 -0
  15. package/dist/cjs/components/Thumbnail/Thumbnail.css +11 -0
  16. package/dist/cjs/components/Thumbnail/Thumbnail.js +6 -2
  17. package/dist/cjs/components/Thumbnail/Thumbnail.js.map +1 -1
  18. package/dist/cjs/components/index.js +3 -1
  19. package/dist/cjs/components/index.js.map +1 -1
  20. package/dist/esm/components/DataPieChart/DataPieChart.css +4 -1
  21. package/dist/esm/components/DataPieChart/DataPieChart.js +1 -1
  22. package/dist/esm/components/DataPieChart/DataPieChart.js.map +1 -1
  23. package/dist/esm/components/Dialog/Dialog.css +3 -0
  24. package/dist/esm/components/Dialog/Dialog.js +66 -3
  25. package/dist/esm/components/Dialog/Dialog.js.map +1 -1
  26. package/dist/esm/components/Input/Input.css +21 -0
  27. package/dist/esm/components/MediaViewer/MediaViewer.css +183 -0
  28. package/dist/esm/components/MediaViewer/MediaViewer.js +269 -0
  29. package/dist/esm/components/MediaViewer/MediaViewer.js.map +1 -0
  30. package/dist/esm/components/MediaViewer/index.js +2 -0
  31. package/dist/esm/components/MediaViewer/index.js.map +1 -0
  32. package/dist/esm/components/MediaViewer/mediaViewerGestures.js +58 -0
  33. package/dist/esm/components/MediaViewer/mediaViewerGestures.js.map +1 -0
  34. package/dist/esm/components/Thumbnail/Thumbnail.css +11 -0
  35. package/dist/esm/components/Thumbnail/Thumbnail.js +6 -2
  36. package/dist/esm/components/Thumbnail/Thumbnail.js.map +1 -1
  37. package/dist/esm/components/index.js +1 -0
  38. package/dist/esm/components/index.js.map +1 -1
  39. package/dist/styles/base.css +2 -0
  40. package/dist/styles/components/DataPieChart.css +4 -1
  41. package/dist/styles/components/Dialog.css +3 -0
  42. package/dist/styles/components/Input.css +21 -0
  43. package/dist/styles/components/MediaViewer.css +183 -0
  44. package/dist/styles/components/Thumbnail.css +11 -0
  45. package/dist/styles/index.css +1693 -1467
  46. package/dist/styles/muka-dark.css +1693 -1467
  47. package/dist/styles/muka-light.css +1693 -1467
  48. package/dist/styles/wireframe-dark.css +1693 -1467
  49. package/dist/styles/wireframe-light.css +1693 -1467
  50. package/dist/types/components/Dialog/Dialog.d.ts.map +1 -1
  51. package/dist/types/components/MediaViewer/MediaViewer.d.ts +88 -0
  52. package/dist/types/components/MediaViewer/MediaViewer.d.ts.map +1 -0
  53. package/dist/types/components/MediaViewer/index.d.ts +2 -0
  54. package/dist/types/components/MediaViewer/index.d.ts.map +1 -0
  55. package/dist/types/components/MediaViewer/mediaViewerGestures.d.ts +35 -0
  56. package/dist/types/components/MediaViewer/mediaViewerGestures.d.ts.map +1 -0
  57. package/dist/types/components/Thumbnail/Thumbnail.d.ts +21 -0
  58. package/dist/types/components/Thumbnail/Thumbnail.d.ts.map +1 -1
  59. package/dist/types/components/index.d.ts +1 -0
  60. package/dist/types/components/index.d.ts.map +1 -1
  61. package/package.json +1 -1
@@ -12,7 +12,41 @@ const MIN_HEIGHT_DISMISS = 200;
12
12
  // Snap point heights in px (must match dialog tokens)
13
13
  const SNAP_SM = 400; // 25rem
14
14
  const SNAP_MD = 600; // 37.5rem
15
- const getSnapLg = () => window.innerHeight - 56;
15
+ // Size from the visual viewport: on iOS Safari `innerHeight` can be taller
16
+ // than the visible area while the toolbars show, so the surface would extend
17
+ // past it and the browser would scroll the page to keep it in view.
18
+ const getSnapLg = () => (window.visualViewport?.height ?? window.innerHeight) - 56;
19
+ /**
20
+ * Record the scroll position of the document and of every element on the page
21
+ * that can scroll, including `overflow: hidden` ones such as an app shell: the
22
+ * browser can scroll those while the dialog is open, and the user can't
23
+ * scroll them back. iOS Safari doesn't focus a tapped button, so the opener
24
+ * can't be relied on to find them.
25
+ */
26
+ function takeScrollSnapshot(exclude) {
27
+ const snapshot = [];
28
+ const root = document.scrollingElement;
29
+ if (root)
30
+ snapshot.push([root, root.scrollTop, root.scrollLeft]);
31
+ for (const el of document.body.querySelectorAll('*')) {
32
+ if (el === root || exclude.contains(el))
33
+ continue;
34
+ if (el.scrollHeight > el.clientHeight || el.scrollWidth > el.clientWidth) {
35
+ snapshot.push([el, el.scrollTop, el.scrollLeft]);
36
+ }
37
+ }
38
+ return snapshot;
39
+ }
40
+ function restoreScrollSnapshot(snapshot) {
41
+ for (const [el, top, left] of snapshot) {
42
+ if (!el.isConnected)
43
+ continue;
44
+ if (el.scrollTop !== top)
45
+ el.scrollTop = top;
46
+ if (el.scrollLeft !== left)
47
+ el.scrollLeft = left;
48
+ }
49
+ }
16
50
  function getNearestSnap(height) {
17
51
  const snapLg = getSnapLg();
18
52
  const snaps = [SNAP_SM, SNAP_MD, snapLg];
@@ -67,12 +101,39 @@ export const Dialog = ({ open, onClose, children, size = 'sm', mobileHeight = 'f
67
101
  const [snapHeight, setSnapHeight] = useState(null);
68
102
  const dragStartY = useRef(0);
69
103
  const dragStartHeight = useRef(0);
104
+ // Element focused when the dialog opened, and the page scroll at that time
105
+ const openerRef = useRef(null);
106
+ const scrollSnapshotRef = useRef(null);
107
+ // Close the native <dialog> and put the page back exactly as it was. iOS
108
+ // scrolls the page (and scroll containers) to keep a tall dialog and its
109
+ // focused input in view, and the native close scrolls again to restore
110
+ // focus, so refocus the opener without scrolling and undo any scroll.
111
+ const closeAndRestore = useCallback(() => {
112
+ const dialog = dialogRef.current;
113
+ if (dialog?.open)
114
+ dialog.close();
115
+ const opener = openerRef.current;
116
+ openerRef.current = null;
117
+ if (opener?.isConnected)
118
+ opener.focus({ preventScroll: true });
119
+ const snapshot = scrollSnapshotRef.current;
120
+ scrollSnapshotRef.current = null;
121
+ if (snapshot) {
122
+ restoreScrollSnapshot(snapshot);
123
+ // iOS can scroll once more as the keyboard and toolbars settle
124
+ requestAnimationFrame(() => restoreScrollSnapshot(snapshot));
125
+ }
126
+ }, []);
70
127
  // Open the native <dialog> and force reflow before slide-in
71
128
  useLayoutEffect(() => {
72
129
  const dialog = dialogRef.current;
73
130
  if (!dialog)
74
131
  return;
75
132
  if (open && !dialog.open) {
133
+ const active = document.activeElement;
134
+ openerRef.current =
135
+ active instanceof HTMLElement && active !== document.body ? active : null;
136
+ scrollSnapshotRef.current = takeScrollSnapshot(dialog);
76
137
  dialog.showModal();
77
138
  // Move focus to the surface so no interactive element gets the focus ring
78
139
  surfaceRef.current?.focus({ preventScroll: true });
@@ -99,13 +160,15 @@ export const Dialog = ({ open, onClose, children, size = 'sm', mobileHeight = 'f
99
160
  else if (dialog.open) {
100
161
  setIsSlideIn(false);
101
162
  const timer = setTimeout(() => {
102
- dialog.close();
163
+ closeAndRestore();
103
164
  setSnapHeight(null);
104
165
  setDragHeight(null);
105
166
  }, ANIMATION_DURATION);
106
167
  return () => clearTimeout(timer);
107
168
  }
108
- }, [open]);
169
+ }, [open, closeAndRestore]);
170
+ // Unmounting while open removes the <dialog>; still put the page back
171
+ useEffect(() => closeAndRestore, [closeAndRestore]);
109
172
  // Handle escape key
110
173
  useEffect(() => {
111
174
  const dialog = dialogRef.current;
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../../../../components/Dialog/Dialog.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Dialog.js","sourceRoot":"","sources":["../../../../components/Dialog/Dialog.tsx"],"names":[],"mappings":"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"}
@@ -192,6 +192,9 @@
192
192
  flex-shrink: 0;
193
193
  width: var(--size-2xl, 2rem);
194
194
  height: var(--size-2xl, 2rem);
195
+ /* Bleed into the field's vertical padding: keeps the full hit area without
196
+ making a password or clearable field taller than a plain one. */
197
+ margin-block: calc(var(--input-field-padding-y) * -1);
195
198
  padding: 0;
196
199
  border: none;
197
200
  background: transparent;
@@ -199,6 +202,24 @@
199
202
  cursor: pointer;
200
203
  }
201
204
 
205
+ /* The outermost button bleeds into the right padding by the same amount, so
206
+ its glyph sits as close to the edge as it does to the top and bottom. */
207
+ .muka-input__clear:last-child,
208
+ .muka-input__reveal:last-child {
209
+ margin-inline-end: calc(var(--input-field-padding-y) * -1);
210
+ }
211
+
212
+ /* md: match the right gap to the gap above and below the vertically centred
213
+ button exactly, i.e. (field height − borders − button) / 2. Holds in the
214
+ focus/error state too, where border and padding trade 1px. */
215
+ .muka-input__field--md .muka-input__clear:last-child,
216
+ .muka-input__field--md .muka-input__reveal:last-child {
217
+ margin-inline-end: calc(
218
+ (var(--input-field-height-default) - 2 * var(--border-width-regular) - var(--size-2xl, 2rem)) / 2
219
+ - var(--input-field-padding-x)
220
+ );
221
+ }
222
+
202
223
  .muka-input__field--sm .muka-input__clear,
203
224
  .muka-input__field--sm .muka-input__reveal {
204
225
  width: var(--size-xl, 1.5rem);
@@ -0,0 +1,183 @@
1
+ /* MediaViewer Component Styles - Using Muka Design Tokens */
2
+
3
+ /* ─── Native dialog: full viewport ────────────────────── */
4
+ .muka-media-viewer {
5
+ position: fixed;
6
+ inset: 0;
7
+ width: 100%;
8
+ height: 100%;
9
+ max-width: none;
10
+ max-height: none;
11
+ margin: 0;
12
+ padding: 0;
13
+ border: none;
14
+ display: flex;
15
+ flex-direction: column;
16
+ overflow: hidden;
17
+ overscroll-behavior: contain;
18
+ color: var(--color-text-default-default);
19
+ background-color: var(--color-black-alpha-12);
20
+ animation: muka-media-viewer-in var(--motion-duration-component) var(--motion-easing-enter);
21
+ }
22
+
23
+ .muka-media-viewer:not([open]) {
24
+ display: none;
25
+ }
26
+
27
+ .muka-media-viewer::backdrop {
28
+ background-color: var(--color-black-alpha-12);
29
+ }
30
+
31
+ @keyframes muka-media-viewer-in {
32
+ from {
33
+ opacity: 0;
34
+ }
35
+ to {
36
+ opacity: 1;
37
+ }
38
+ }
39
+
40
+ /* ─── Chrome: TopBar and footer sit on a surface ──────── */
41
+ .muka-media-viewer__topbar {
42
+ flex-shrink: 0;
43
+ background-color: var(--color-surface-level3);
44
+ }
45
+
46
+ .muka-media-viewer__live {
47
+ position: absolute;
48
+ width: 1px;
49
+ height: 1px;
50
+ padding: 0;
51
+ margin: -1px;
52
+ overflow: hidden;
53
+ clip: rect(0, 0, 0, 0);
54
+ white-space: nowrap;
55
+ border: 0;
56
+ }
57
+
58
+ /* ─── Stage: the dark area the images slide across ────── */
59
+ .muka-media-viewer__stage {
60
+ position: relative;
61
+ flex: 1 1 auto;
62
+ min-height: 0;
63
+ overflow: hidden;
64
+ /* Gestures are handled in JS: no browser panning or pinch on the stage. */
65
+ touch-action: none;
66
+ user-select: none;
67
+ -webkit-user-select: none;
68
+ }
69
+
70
+ .muka-media-viewer__slide {
71
+ position: absolute;
72
+ inset: 0;
73
+ display: flex;
74
+ align-items: center;
75
+ justify-content: center;
76
+ padding: var(--spacing-4);
77
+ transition: transform var(--motion-duration-component) var(--motion-easing-default);
78
+ will-change: transform;
79
+ }
80
+
81
+ /* While a finger drags, the image follows it without easing. */
82
+ .muka-media-viewer--dragging .muka-media-viewer__slide {
83
+ transition: none;
84
+ }
85
+
86
+ .muka-media-viewer__image {
87
+ display: block;
88
+ max-width: 100%;
89
+ max-height: 100%;
90
+ object-fit: contain;
91
+ /* The image takes touches, so a long press opens the OS menu (save, share,
92
+ copy). The swipe still works: pointer events bubble to the stage, and a
93
+ long press doesn't move far enough to start a drag. */
94
+ -webkit-touch-callout: default;
95
+ }
96
+
97
+ /* ─── Previous / next: devices that can hover ─────────── */
98
+ .muka-media-viewer__nav {
99
+ position: absolute;
100
+ top: 50%;
101
+ display: none;
102
+ transform: translateY(-50%);
103
+ opacity: 0;
104
+ transition: opacity var(--motion-duration-micro) var(--motion-easing-enter);
105
+ }
106
+
107
+ .muka-media-viewer__nav--previous {
108
+ left: var(--spacing-4);
109
+ }
110
+
111
+ .muka-media-viewer__nav--next {
112
+ right: var(--spacing-4);
113
+ }
114
+
115
+ @media (hover: hover) and (pointer: fine) {
116
+ .muka-media-viewer__nav {
117
+ display: block;
118
+ }
119
+
120
+ .muka-media-viewer__stage:hover .muka-media-viewer__nav,
121
+ .muka-media-viewer__nav:focus-within {
122
+ opacity: 1;
123
+ }
124
+ }
125
+
126
+ /* ─── Footer: caption, meta and actions ───────────────── */
127
+ .muka-media-viewer__footer {
128
+ flex-shrink: 0;
129
+ display: flex;
130
+ flex-direction: column;
131
+ gap: var(--spacing-3);
132
+ padding: var(--spacing-4);
133
+ padding-bottom: calc(var(--spacing-4) + env(safe-area-inset-bottom, 0px));
134
+ background-color: var(--color-surface-level3);
135
+ }
136
+
137
+ .muka-media-viewer__details {
138
+ display: flex;
139
+ align-items: flex-start;
140
+ justify-content: space-between;
141
+ gap: var(--spacing-3);
142
+ }
143
+
144
+ .muka-media-viewer__caption {
145
+ min-width: 0;
146
+ color: var(--color-text-subtle-default);
147
+ font-family: var(--text-body-sm-regular-fontFamily);
148
+ font-size: var(--text-body-sm-regular-fontSize);
149
+ font-weight: var(--text-body-sm-regular-fontWeight);
150
+ line-height: var(--text-body-sm-regular-lineHeight);
151
+ overflow-wrap: anywhere;
152
+ }
153
+
154
+ .muka-media-viewer__meta {
155
+ flex-shrink: 0;
156
+ }
157
+
158
+ .muka-media-viewer__actions {
159
+ display: flex;
160
+ flex-wrap: wrap;
161
+ gap: var(--spacing-2);
162
+ }
163
+
164
+ /* Mobile: actions stack full width, like Dialog footers. */
165
+ @media (max-width: 1023px) {
166
+ .muka-media-viewer__actions {
167
+ flex-direction: column;
168
+ }
169
+
170
+ .muka-media-viewer__actions > * {
171
+ width: 100%;
172
+ }
173
+ }
174
+
175
+ /* ─── Reduced motion ──────────────────────────────────── */
176
+ @media (prefers-reduced-motion: reduce) {
177
+ .muka-media-viewer,
178
+ .muka-media-viewer__slide,
179
+ .muka-media-viewer__nav {
180
+ animation: none;
181
+ transition: none;
182
+ }
183
+ }
@@ -0,0 +1,269 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useCallback, useEffect, useLayoutEffect, useRef, useState } from 'react';
4
+ import { TopBar } from '../TopBar';
5
+ import { Button } from '../Button';
6
+ import { Icon } from '../Icon';
7
+ import { clampDragX, lockAxis, resolveDismiss, resolveSwipe, } from './mediaViewerGestures';
8
+ import './MediaViewer.css';
9
+ const defaultCounterLabel = (index, total) => `${index + 1} / ${total}`;
10
+ /** Fallback when `transitionend` does not fire (e.g. the element unmounted). */
11
+ const SETTLE_FALLBACK_MS = 400;
12
+ function prefersReducedMotion() {
13
+ return (typeof window !== 'undefined' &&
14
+ window.matchMedia?.('(prefers-reduced-motion: reduce)').matches === true);
15
+ }
16
+ /**
17
+ * MediaViewer Component
18
+ *
19
+ * Full-screen viewer that shows a list of images one at a time.
20
+ *
21
+ * - **Touch:** swipe sideways to page; the image follows the finger and snaps
22
+ * to the next or previous image past a quarter of the width or on a flick.
23
+ * It doesn't move past the first or last image. Swipe down to close.
24
+ * - **Desktop:** previous/next buttons on hover or focus, and ← / →.
25
+ * - **Close:** the close button, Escape, or swiping down. A tap on the dark
26
+ * stage does not close it, so a mis-aimed tap can't swallow an action.
27
+ * - **Saving:** a long press on the image opens the OS menu (save, share,
28
+ * copy), so the viewer needs no download or share button of its own.
29
+ * - **Slots:** `caption`, `meta` (a `Badge`) and `actions` (buttons) render
30
+ * under the image for the current `index`.
31
+ * - **Pagination:** `onEndReached` fires near the end so more items can be
32
+ * appended; appending does not move the current image.
33
+ *
34
+ * The images either side of the current one are rendered (and so preloaded).
35
+ *
36
+ * @accessibility
37
+ * - Native modal `<dialog>`: focus is trapped and returns to the opener
38
+ * - The track is a carousel; each image is a labelled slide
39
+ * - The counter is announced in a polite live region
40
+ * - With reduced motion, images swap without the slide
41
+ *
42
+ * Tokens used: color-black-alpha-12, color-surface-level3,
43
+ * color-text-default-default, color-text-subtle-default, spacing-*,
44
+ * motion-duration-component, motion-easing-default, motion-easing-enter.
45
+ */
46
+ export const MediaViewer = ({ open, items, index, onIndexChange, onClose, caption, meta, actions, onEndReached, endReachedThreshold = 3, counterLabel = defaultCounterLabel, closeLabel = 'Close', previousLabel = 'Previous', nextLabel = 'Next', 'aria-label': ariaLabel = 'Media viewer', className = '', }) => {
47
+ const dialogRef = useRef(null);
48
+ const stageRef = useRef(null);
49
+ const openerRef = useRef(null);
50
+ const total = items.length;
51
+ const hasPrevious = index > 0;
52
+ const hasNext = index < total - 1;
53
+ // Horizontal drag (px), vertical drag (px), and the slide shift (in slide
54
+ // widths) while a page change animates: -1 towards next, 1 towards previous.
55
+ const [dragX, setDragX] = useState(0);
56
+ const [dragY, setDragY] = useState(0);
57
+ const [dragging, setDragging] = useState(false);
58
+ const [shift, setShift] = useState(0);
59
+ const dragRef = useRef(null);
60
+ const pendingRef = useRef(null);
61
+ // ─── Open / close the native dialog ─────────────────
62
+ useLayoutEffect(() => {
63
+ const dialog = dialogRef.current;
64
+ if (!open || !dialog)
65
+ return;
66
+ const active = document.activeElement;
67
+ openerRef.current =
68
+ active instanceof HTMLElement && active !== document.body ? active : null;
69
+ if (!dialog.open)
70
+ dialog.showModal();
71
+ // A modal <dialog> does not stop the page behind it from scrolling.
72
+ const root = document.documentElement;
73
+ const previousOverflow = root.style.overflow;
74
+ root.style.overflow = 'hidden';
75
+ return () => {
76
+ root.style.overflow = previousOverflow;
77
+ if (dialog.open)
78
+ dialog.close();
79
+ const opener = openerRef.current;
80
+ openerRef.current = null;
81
+ if (opener?.isConnected)
82
+ opener.focus({ preventScroll: true });
83
+ };
84
+ }, [open]);
85
+ // Escape: the native `cancel` event. Keep the viewer controlled.
86
+ useEffect(() => {
87
+ const dialog = dialogRef.current;
88
+ if (!open || !dialog)
89
+ return;
90
+ const handleCancel = (e) => {
91
+ e.preventDefault();
92
+ onClose();
93
+ };
94
+ dialog.addEventListener('cancel', handleCancel);
95
+ return () => dialog.removeEventListener('cancel', handleCancel);
96
+ }, [open, onClose]);
97
+ // ─── Page changes ───────────────────────────────────
98
+ const commit = useCallback(() => {
99
+ const pending = pendingRef.current;
100
+ if (!pending)
101
+ return;
102
+ pendingRef.current = null;
103
+ window.clearTimeout(pending.timer);
104
+ setShift(0);
105
+ onIndexChange(pending.target);
106
+ }, [onIndexChange]);
107
+ /** Page by `direction` (1 = next, -1 = previous), animated unless reduced. */
108
+ const go = useCallback((direction) => {
109
+ if (pendingRef.current)
110
+ return;
111
+ const target = index + direction;
112
+ if (target < 0 || target >= total)
113
+ return;
114
+ if (prefersReducedMotion()) {
115
+ setDragX(0);
116
+ onIndexChange(target);
117
+ return;
118
+ }
119
+ setDragX(0);
120
+ setShift(-direction);
121
+ pendingRef.current = {
122
+ target,
123
+ timer: window.setTimeout(commit, SETTLE_FALLBACK_MS),
124
+ };
125
+ }, [index, total, onIndexChange, commit]);
126
+ // A new index from outside (or our own commit) cancels a pending animation.
127
+ useEffect(() => {
128
+ const pending = pendingRef.current;
129
+ if (pending && pending.target !== index) {
130
+ window.clearTimeout(pending.timer);
131
+ pendingRef.current = null;
132
+ }
133
+ setShift(0);
134
+ setDragX(0);
135
+ }, [index]);
136
+ useEffect(() => () => {
137
+ if (pendingRef.current)
138
+ window.clearTimeout(pendingRef.current.timer);
139
+ }, []);
140
+ // ─── Pagination ─────────────────────────────────────
141
+ const endReportedForRef = useRef(null);
142
+ useEffect(() => {
143
+ if (!open || !onEndReached || total === 0)
144
+ return;
145
+ if (total - 1 - index > endReachedThreshold)
146
+ return;
147
+ if (endReportedForRef.current === total)
148
+ return;
149
+ endReportedForRef.current = total;
150
+ onEndReached();
151
+ }, [open, index, total, endReachedThreshold, onEndReached]);
152
+ // ─── Keyboard ───────────────────────────────────────
153
+ const handleKeyDown = (e) => {
154
+ if (e.key === 'ArrowRight') {
155
+ e.preventDefault();
156
+ go(1);
157
+ }
158
+ else if (e.key === 'ArrowLeft') {
159
+ e.preventDefault();
160
+ go(-1);
161
+ }
162
+ };
163
+ // ─── Touch gestures ─────────────────────────────────
164
+ const handlePointerDown = (e) => {
165
+ // Desktop uses the buttons and arrow keys; a mouse drag would fight text
166
+ // selection and image dragging.
167
+ if (e.pointerType === 'mouse' || pendingRef.current)
168
+ return;
169
+ dragRef.current = {
170
+ pointerId: e.pointerId,
171
+ startX: e.clientX,
172
+ startY: e.clientY,
173
+ axis: null,
174
+ lastX: e.clientX,
175
+ lastY: e.clientY,
176
+ lastTime: e.timeStamp,
177
+ velocityX: 0,
178
+ velocityY: 0,
179
+ };
180
+ // Keep receiving moves when the finger leaves the stage. Capture throws
181
+ // when the pointer is already gone; the drag still works without it.
182
+ try {
183
+ e.currentTarget.setPointerCapture?.(e.pointerId);
184
+ }
185
+ catch {
186
+ // ignore
187
+ }
188
+ };
189
+ const handlePointerMove = (e) => {
190
+ const drag = dragRef.current;
191
+ if (!drag || drag.pointerId !== e.pointerId)
192
+ return;
193
+ const dt = e.timeStamp - drag.lastTime;
194
+ if (dt > 0) {
195
+ drag.velocityX = (e.clientX - drag.lastX) / dt;
196
+ drag.velocityY = (e.clientY - drag.lastY) / dt;
197
+ }
198
+ drag.lastX = e.clientX;
199
+ drag.lastY = e.clientY;
200
+ drag.lastTime = e.timeStamp;
201
+ const dx = e.clientX - drag.startX;
202
+ const dy = e.clientY - drag.startY;
203
+ if (!drag.axis) {
204
+ drag.axis = lockAxis(dx, dy);
205
+ if (!drag.axis)
206
+ return;
207
+ setDragging(true);
208
+ }
209
+ if (drag.axis === 'x') {
210
+ setDragX(clampDragX(dx, hasPrevious, hasNext));
211
+ }
212
+ else {
213
+ setDragY(Math.max(0, dy));
214
+ }
215
+ };
216
+ const endDrag = (e, cancelled) => {
217
+ const drag = dragRef.current;
218
+ if (!drag || drag.pointerId !== e.pointerId)
219
+ return;
220
+ dragRef.current = null;
221
+ setDragging(false);
222
+ if (drag.axis === 'x') {
223
+ const dx = clampDragX(e.clientX - drag.startX, hasPrevious, hasNext);
224
+ const width = stageRef.current?.clientWidth ?? 0;
225
+ const direction = cancelled ? 0 : resolveSwipe(dx, drag.velocityX, width);
226
+ if (direction === 0) {
227
+ setDragX(0);
228
+ }
229
+ else {
230
+ go(direction);
231
+ }
232
+ }
233
+ else if (drag.axis === 'y') {
234
+ const dy = Math.max(0, e.clientY - drag.startY);
235
+ setDragY(0);
236
+ if (!cancelled && resolveDismiss(dy, drag.velocityY))
237
+ onClose();
238
+ }
239
+ };
240
+ if (!open)
241
+ return null;
242
+ const counter = total > 0 ? counterLabel(Math.min(index, total - 1), total) : '';
243
+ const hasFooter = Boolean(caption || meta || actions);
244
+ const classes = [
245
+ 'muka-media-viewer',
246
+ dragging && 'muka-media-viewer--dragging',
247
+ className,
248
+ ]
249
+ .filter(Boolean)
250
+ .join(' ');
251
+ // Fade the stage as it is dragged down, so the dismiss reads as "away".
252
+ const dismissProgress = Math.min(1, dragY / 400);
253
+ const slides = [];
254
+ for (const offset of [-1, 0, 1]) {
255
+ const itemIndex = index + offset;
256
+ const item = items[itemIndex];
257
+ if (!item)
258
+ continue;
259
+ slides.push(_jsx("div", { className: "muka-media-viewer__slide", role: "group", "aria-roledescription": "slide", "aria-label": counterLabel(itemIndex, total), "aria-hidden": offset !== 0, style: {
260
+ transform: `translate3d(calc(${(offset + shift) * 100}% + ${dragX}px), ${dragY}px, 0)`,
261
+ }, onTransitionEnd: offset !== 0 && shift !== 0 ? commit : undefined, children: _jsx("img", { className: "muka-media-viewer__image", src: item.src, alt: item.alt ?? '', draggable: false, decoding: "async" }) }, item.id ?? `index-${itemIndex}`));
262
+ }
263
+ return (
264
+ // Native <dialog> handles Escape (via `cancel`); arrow keys page.
265
+ _jsxs("dialog", { ref: dialogRef, className: classes, "aria-label": ariaLabel, onKeyDown: handleKeyDown, children: [_jsx(TopBar, { className: "muka-media-viewer__topbar", title: counter, trailing: _jsx(Button, { variant: "ghost", size: "md", iconOnly: true, "aria-label": closeLabel, onClick: onClose, children: _jsx(Icon, { name: "close", variant: "line" }) }) }), _jsx("span", { className: "muka-media-viewer__live", "aria-live": "polite", "aria-atomic": "true", children: counter }), _jsxs("div", { ref: stageRef, className: "muka-media-viewer__stage", role: "region", "aria-roledescription": "carousel", "aria-label": ariaLabel, style: dismissProgress > 0 ? { opacity: 1 - dismissProgress * 0.6 } : undefined, onPointerDown: handlePointerDown, onPointerMove: handlePointerMove, onPointerUp: (e) => endDrag(e, false), onPointerCancel: (e) => endDrag(e, true), children: [slides, hasPrevious && (_jsx("div", { className: "muka-media-viewer__nav muka-media-viewer__nav--previous", children: _jsx(Button, { variant: "secondary", size: "md", iconOnly: true, "aria-label": previousLabel, onClick: () => go(-1), children: _jsx(Icon, { name: "arrow-left-s", variant: "line" }) }) })), hasNext && (_jsx("div", { className: "muka-media-viewer__nav muka-media-viewer__nav--next", children: _jsx(Button, { variant: "secondary", size: "md", iconOnly: true, "aria-label": nextLabel, onClick: () => go(1), children: _jsx(Icon, { name: "arrow-right-s", variant: "line" }) }) }))] }), hasFooter && (_jsxs("div", { className: "muka-media-viewer__footer", children: [(caption || meta) && (_jsxs("div", { className: "muka-media-viewer__details", children: [caption && _jsx("div", { className: "muka-media-viewer__caption", children: caption }), meta && _jsx("div", { className: "muka-media-viewer__meta", children: meta })] })), actions && _jsx("div", { className: "muka-media-viewer__actions", children: actions })] }))] }));
266
+ };
267
+ MediaViewer.displayName = 'MediaViewer';
268
+ export default MediaViewer;
269
+ //# sourceMappingURL=MediaViewer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaViewer.js","sourceRoot":"","sources":["../../../../components/MediaViewer/MediaViewer.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { MediaViewer } from './MediaViewer';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../components/MediaViewer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAA+C,MAAM,eAAe,CAAC"}