@a-type/ui 6.1.32 → 6.1.34

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 (27) hide show
  1. package/dist/components/imageUploader/ImageUploader.d.ts +10 -1
  2. package/dist/components/imageUploader/ImageUploader.js +48 -4
  3. package/dist/components/imageUploader/ImageUploader.js.map +1 -1
  4. package/dist/components/imageUploader/ImageUploader.module.css +34 -0
  5. package/dist/components/imageUploader/ImageUploader.stories.d.ts +6 -0
  6. package/dist/components/imageUploader/ImageUploader.stories.js +16 -0
  7. package/dist/components/imageUploader/ImageUploader.stories.js.map +1 -1
  8. package/dist/components/viewport/Viewport.stories.d.ts +4 -0
  9. package/dist/components/viewport/Viewport.stories.js +5 -1
  10. package/dist/components/viewport/Viewport.stories.js.map +1 -1
  11. package/dist/components/viewport/ViewportContent.d.ts +2 -2
  12. package/dist/components/viewport/ViewportContent.js +29 -35
  13. package/dist/components/viewport/ViewportContent.js.map +1 -1
  14. package/dist/components/viewport/ViewportContent.module.css +29 -0
  15. package/dist/components/viewport/ViewportState.js +0 -1
  16. package/dist/components/viewport/ViewportState.js.map +1 -1
  17. package/dist/components/viewport/ViewportZoomControls.js +2 -1
  18. package/dist/components/viewport/ViewportZoomControls.js.map +1 -1
  19. package/package.json +1 -2
  20. package/src/components/imageUploader/ImageUploader.module.css +34 -0
  21. package/src/components/imageUploader/ImageUploader.stories.tsx +41 -0
  22. package/src/components/imageUploader/ImageUploader.tsx +118 -1
  23. package/src/components/viewport/Viewport.stories.tsx +10 -1
  24. package/src/components/viewport/ViewportContent.module.css +29 -0
  25. package/src/components/viewport/ViewportContent.tsx +36 -44
  26. package/src/components/viewport/ViewportState.ts +0 -1
  27. package/src/components/viewport/ViewportZoomControls.tsx +28 -4
@@ -3,6 +3,8 @@ import { ButtonProps } from '../button/index.js';
3
3
  export interface ImageUploaderProps {
4
4
  value: string | null;
5
5
  onChange: (value: File | null) => void;
6
+ altText?: string;
7
+ onAltText?: (value: string) => void;
6
8
  className?: string;
7
9
  style?: CSSProperties;
8
10
  maxDimension?: number;
@@ -13,7 +15,7 @@ export interface ImageUploaderProps {
13
15
  * on the image to select a new one, or dragging a new image onto the
14
16
  * component to replace the existing one.
15
17
  */
16
- export declare function ImageUploaderRoot({ value, onChange: handleChange, maxDimension, children, className, ...rest }: ImageUploaderProps): import("react/jsx-runtime").JSX.Element;
18
+ export declare function ImageUploaderRoot({ value, onChange: handleChange, altText, onAltText, maxDimension, children, className, ...rest }: ImageUploaderProps): import("react/jsx-runtime").JSX.Element;
17
19
  declare function ImageUploaderPrebuilt({ crossOrigin, ...props }: Omit<ImageUploaderProps, 'children'> & {
18
20
  facingMode?: 'user' | 'environment';
19
21
  crossOrigin?: ImgHTMLAttributes<HTMLImageElement>['crossOrigin'];
@@ -21,6 +23,12 @@ declare function ImageUploaderPrebuilt({ crossOrigin, ...props }: Omit<ImageUplo
21
23
  export declare function ImageUploaderFileButton({ children, ...props }: ButtonProps): import("react/jsx-runtime").JSX.Element;
22
24
  export declare function ImageUploaderRemoveButton({ className, ...rest }: ButtonProps): import("react/jsx-runtime").JSX.Element | null;
23
25
  export declare function ImageUploaderDisplay({ className, ...rest }: ImgHTMLAttributes<HTMLImageElement>): import("react/jsx-runtime").JSX.Element | null;
26
+ export interface ImageUploaderAltTextProps {
27
+ className?: string;
28
+ altText?: string;
29
+ onAltText?: (value: string) => void;
30
+ }
31
+ export declare function ImageUploaderAltText({ className, altText, onAltText, }: ImageUploaderAltTextProps): import("react/jsx-runtime").JSX.Element | null;
24
32
  export declare function ImageUploaderEmptyControls({ children, className, }: {
25
33
  children: ReactNode;
26
34
  className?: string;
@@ -30,6 +38,7 @@ export declare const ImageUploader: typeof ImageUploaderPrebuilt & {
30
38
  FileButton: typeof ImageUploaderFileButton;
31
39
  RemoveButton: typeof ImageUploaderRemoveButton;
32
40
  Display: typeof ImageUploaderDisplay;
41
+ AltText: typeof ImageUploaderAltText;
33
42
  EmptyControls: typeof ImageUploaderEmptyControls;
34
43
  };
35
44
  export {};
@@ -11,10 +11,13 @@ var __rest = (this && this.__rest) || function (s, e) {
11
11
  };
12
12
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
13
13
  import classNames, { clsx } from 'clsx';
14
- import { createContext, useCallback, useContext, useEffect, useId, useState, } from 'react';
14
+ import { createContext, useCallback, useContext, useEffect, useId, useRef, useState, } from 'react';
15
15
  import { Button } from '../button/index.js';
16
16
  import { CameraDeviceSelector, CameraFullscreenButton, CameraRoot, CameraShutterButton, } from '../camera/index.js';
17
+ import { Dialog } from '../dialog/index.js';
18
+ import { Field } from '../forms/index.js';
17
19
  import { Icon } from '../icon/index.js';
20
+ import { TextArea } from '../textArea/index.js';
18
21
  import cls from './ImageUploader.module.css';
19
22
  /**
20
23
  * Renders an image if one is already set, and allows either clicking
@@ -22,7 +25,7 @@ import cls from './ImageUploader.module.css';
22
25
  * component to replace the existing one.
23
26
  */
24
27
  export function ImageUploaderRoot(_a) {
25
- var { value, onChange: handleChange, maxDimension, children, className } = _a, rest = __rest(_a, ["value", "onChange", "maxDimension", "children", "className"]);
28
+ var { value, onChange: handleChange, altText, onAltText, maxDimension, children, className } = _a, rest = __rest(_a, ["value", "onChange", "altText", "onAltText", "maxDimension", "children", "className"]);
26
29
  const inputId = useId();
27
30
  const [dragging, setDragging] = useState(false);
28
31
  const [draggingOver, setDraggingOver] = useState(false);
@@ -93,7 +96,15 @@ export function ImageUploaderRoot(_a) {
93
96
  const onFileClick = useCallback((e) => {
94
97
  e.stopPropagation();
95
98
  }, []);
96
- return (_jsx(ImageUploaderContext.Provider, { value: { inputId, dragging, draggingOver, value, onChange }, children: _jsxs("div", Object.assign({ className: classNames('@mode-neutral', cls.root, className), onDragEnter: onDragEnter, onDragLeave: onDragLeave, onDragOver: onDragOver, onDrop: onDrop, onDragStart: onDragStart, onDragEnd: onDragEnd }, rest, { children: [_jsx("input", { type: "file", accept: "image/*", onChange: onFileChange, onClick: onFileClick, className: cls.input, id: inputId }), children] })) }));
99
+ return (_jsx(ImageUploaderContext.Provider, { value: {
100
+ inputId,
101
+ dragging,
102
+ draggingOver,
103
+ value,
104
+ onChange,
105
+ altText,
106
+ onAltText,
107
+ }, children: _jsxs("div", Object.assign({ className: classNames('@mode-neutral', cls.root, className), onDragEnter: onDragEnter, onDragLeave: onDragLeave, onDragOver: onDragOver, onDrop: onDrop, onDragStart: onDragStart, onDragEnd: onDragEnd }, rest, { children: [_jsx("input", { type: "file", accept: "image/*", onChange: onFileChange, onClick: onFileClick, className: cls.input, id: inputId }), children] })) }));
97
108
  }
98
109
  const ImageUploaderContext = createContext(null);
99
110
  function useUploaderContext() {
@@ -107,7 +118,7 @@ function ImageUploaderPrebuilt(_a) {
107
118
  var { crossOrigin = 'anonymous' } = _a, props = __rest(_a, ["crossOrigin"]);
108
119
  const [cameraOpen, setCameraOpen] = useState(false);
109
120
  const openCamera = () => setCameraOpen(true);
110
- return (_jsxs(ImageUploaderRoot, Object.assign({}, props, { children: [_jsx(ImageUploaderDisplay, { crossOrigin: crossOrigin }), _jsxs(ImageUploaderEmptyControls, { children: [_jsx(ImageUploaderFileButton, {}), _jsxs(Button, { emphasis: "ghost", size: "small", onClick: openCamera, children: [_jsx(Icon, { name: "camera" }), _jsx("span", { children: "Camera" })] })] }), !props.value && cameraOpen && (_jsxs(CameraRoot, { className: cls.cameraRoot, format: "image/png", onCapture: (file) => {
121
+ return (_jsxs(ImageUploaderRoot, Object.assign({}, props, { children: [_jsx(ImageUploaderDisplay, { crossOrigin: crossOrigin }), (props.altText !== undefined || props.onAltText) && (_jsx(ImageUploaderAltText, {})), _jsxs(ImageUploaderEmptyControls, { children: [_jsx(ImageUploaderFileButton, {}), _jsxs(Button, { emphasis: "ghost", size: "small", onClick: openCamera, children: [_jsx(Icon, { name: "camera" }), _jsx("span", { children: "Camera" })] })] }), !props.value && cameraOpen && (_jsxs(CameraRoot, { className: cls.cameraRoot, format: "image/png", onCapture: (file) => {
111
122
  props.onChange(file);
112
123
  setCameraOpen(false);
113
124
  }, facingMode: props.facingMode, children: [_jsx(CameraShutterButton, {}), _jsx(CameraDeviceSelector, {}), _jsx(CameraFullscreenButton, {}), _jsx(Button, { onClick: () => setCameraOpen(false), emphasis: "ghost", size: "small", className: cls.cameraCancelButton, children: "Cancel" })] })), _jsx(ImageUploaderRemoveButton, {})] })));
@@ -149,6 +160,38 @@ export function ImageUploaderDisplay(_a) {
149
160
  const { value } = useUploaderContext();
150
161
  return value ? (_jsx("img", Object.assign({ src: value, className: clsx(cls.imagePreview, className) }, rest))) : null;
151
162
  }
163
+ export function ImageUploaderAltText({ className, altText, onAltText, }) {
164
+ const { value, altText: contextAltText, onAltText: contextOnAltText, } = useUploaderContext();
165
+ const finalAltText = altText !== null && altText !== void 0 ? altText : contextAltText;
166
+ const finalOnAltText = onAltText !== null && onAltText !== void 0 ? onAltText : contextOnAltText;
167
+ const enabled = finalAltText !== undefined || !!finalOnAltText;
168
+ const [open, setOpen] = useState(false);
169
+ const [innerAltText, setInnerAltText] = useState('');
170
+ const skipCloseResetRef = useRef(false);
171
+ const readOnly = !finalOnAltText;
172
+ const altTextFieldId = useId();
173
+ useEffect(() => {
174
+ if (open)
175
+ return;
176
+ setInnerAltText(finalAltText !== null && finalAltText !== void 0 ? finalAltText : '');
177
+ }, [finalAltText, open]);
178
+ if (!enabled || !value)
179
+ return null;
180
+ return (_jsxs(Dialog, { open: open, onOpenChange: (isOpen) => {
181
+ setOpen(isOpen);
182
+ if (!isOpen) {
183
+ if (skipCloseResetRef.current) {
184
+ skipCloseResetRef.current = false;
185
+ return;
186
+ }
187
+ setInnerAltText(finalAltText !== null && finalAltText !== void 0 ? finalAltText : '');
188
+ }
189
+ }, disableSheet: true, children: [_jsx(Dialog.Trigger, { className: clsx(cls.altTextButton, className), render: _jsx(Button, { emphasis: "light", size: "small" }), "aria-label": readOnly ? 'View alt text' : 'Edit alt text', children: "ALT" }), _jsxs(Dialog.Content, { className: cls.altTextDialog, innerClassName: cls.altTextDialogInner, children: [_jsx(Dialog.Title, { children: "Alt text" }), _jsx("img", { src: value, alt: "", className: cls.altTextDialogImage }), _jsxs(Field, { stretch: true, id: altTextFieldId, className: cls.altTextField, children: [_jsx(Field.Label, { children: "Alt text" }), _jsx(Field.Control, { render: _jsx(TextArea, { autoSize: false, rows: 4, value: innerAltText, readOnly: readOnly, onValueChange: readOnly ? undefined : setInnerAltText, className: cls.altTextInput }) })] }), finalOnAltText && (_jsxs(Dialog.Actions, { children: [_jsx(Dialog.Close, { children: "Cancel" }), _jsx(Button, { emphasis: "primary", onClick: () => {
190
+ skipCloseResetRef.current = true;
191
+ finalOnAltText(innerAltText);
192
+ setOpen(false);
193
+ }, children: "Save" })] }))] })] }));
194
+ }
152
195
  export function ImageUploaderEmptyControls({ children, className, }) {
153
196
  const { value, draggingOver } = useUploaderContext();
154
197
  if (value)
@@ -160,6 +203,7 @@ export const ImageUploader = Object.assign(ImageUploaderPrebuilt, {
160
203
  FileButton: ImageUploaderFileButton,
161
204
  RemoveButton: ImageUploaderRemoveButton,
162
205
  Display: ImageUploaderDisplay,
206
+ AltText: ImageUploaderAltText,
163
207
  EmptyControls: ImageUploaderEmptyControls,
164
208
  });
165
209
  //# sourceMappingURL=ImageUploader.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ImageUploader.js","sourceRoot":"","sources":["../../../src/components/imageUploader/ImageUploader.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ImageUploader.js","sourceRoot":"","sources":["../../../src/components/imageUploader/ImageUploader.tsx"],"names":[],"mappings":"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"}
@@ -40,6 +40,40 @@
40
40
  border: none;
41
41
  }
42
42
 
43
+ .altTextButton {
44
+ position: absolute;
45
+ right: var(--m-sp-sm);
46
+ bottom: var(--m-sp-sm);
47
+ z-index: 10;
48
+ font-weight: var(--m-fw-bold);
49
+ }
50
+
51
+ .altTextDialog {
52
+ max-width: min(560px, 90vw);
53
+ }
54
+
55
+ .altTextDialogInner {
56
+ display: flex;
57
+ flex-direction: column;
58
+ gap: var(--m-sp-md);
59
+ }
60
+
61
+ .altTextField {
62
+ width: 100%;
63
+ }
64
+
65
+ .altTextInput {
66
+ width: 100%;
67
+ }
68
+
69
+ .altTextDialogImage {
70
+ width: 100%;
71
+ max-height: 280px;
72
+ object-fit: contain;
73
+ border-radius: var(--m-rd-md);
74
+ @apply --mx-bg(var(--m-surface-ambient-bg));
75
+ }
76
+
43
77
  .imagePreview {
44
78
  width: 100%;
45
79
  height: 100%;
@@ -10,12 +10,16 @@ declare const meta: {
10
10
  FileButton: typeof import("./ImageUploader.js").ImageUploaderFileButton;
11
11
  RemoveButton: typeof import("./ImageUploader.js").ImageUploaderRemoveButton;
12
12
  Display: typeof import("./ImageUploader.js").ImageUploaderDisplay;
13
+ AltText: typeof import("./ImageUploader.js").ImageUploaderAltText;
13
14
  EmptyControls: typeof import("./ImageUploader.js").ImageUploaderEmptyControls;
14
15
  };
15
16
  argTypes: {
16
17
  onChange: {
17
18
  action: string;
18
19
  };
20
+ onAltText: {
21
+ action: string;
22
+ };
19
23
  maxDimension: {
20
24
  control: {
21
25
  type: "number";
@@ -37,3 +41,5 @@ declare const meta: {
37
41
  export default meta;
38
42
  type Story = StoryObj<typeof ImageUploader>;
39
43
  export declare const Default: Story;
44
+ export declare const WithAltText: Story;
45
+ export declare const ReadOnlyAltText: Story;
@@ -6,6 +6,7 @@ const meta = {
6
6
  component: ImageUploader,
7
7
  argTypes: {
8
8
  onChange: { action: 'change' },
9
+ onAltText: { action: 'alt text' },
9
10
  maxDimension: { control: { type: 'number' } },
10
11
  },
11
12
  parameters: {
@@ -19,8 +20,23 @@ export default meta;
19
20
  export const Default = {
20
21
  render: () => _jsx(ImageUploaderDemo, {}),
21
22
  };
23
+ export const WithAltText = {
24
+ render: () => _jsx(ImageUploaderAltTextDemo, {}),
25
+ };
26
+ export const ReadOnlyAltText = {
27
+ render: () => _jsx(ImageUploaderReadOnlyAltTextDemo, {}),
28
+ };
22
29
  function ImageUploaderDemo() {
23
30
  const [value, setValue] = useState(null);
24
31
  return (_jsx(ImageUploader, { onChange: (file) => file ? setValue(URL.createObjectURL(file)) : setValue(null), value: value, style: { width: 256, height: 256 } }));
25
32
  }
33
+ function ImageUploaderAltTextDemo() {
34
+ const [value, setValue] = useState(null);
35
+ const [altText, setAltText] = useState('A scenic mountain landscape');
36
+ return (_jsx(ImageUploader, { onChange: (file) => file ? setValue(URL.createObjectURL(file)) : setValue(null), onAltText: setAltText, altText: altText, value: value, style: { width: 256, height: 256 } }));
37
+ }
38
+ function ImageUploaderReadOnlyAltTextDemo() {
39
+ const [value, setValue] = useState(null);
40
+ return (_jsx(ImageUploader, { onChange: (file) => file ? setValue(URL.createObjectURL(file)) : setValue(null), altText: "Read-only alt text", value: value, style: { width: 256, height: 256 } }));
41
+ }
26
42
  //# sourceMappingURL=ImageUploader.stories.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ImageUploader.stories.js","sourceRoot":"","sources":["../../../src/components/imageUploader/ImageUploader.stories.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,IAAI,GAAG;IACZ,KAAK,EAAE,0BAA0B;IACjC,SAAS,EAAE,aAAa;IACxB,QAAQ,EAAE;QACT,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;QAC9B,YAAY,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;KAC7C;IACD,UAAU,EAAE;QACX,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC5B;IACD,IAAI,EAAE;QACL,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;KAClC;CACoC,CAAC;AAEvC,eAAe,IAAI,CAAC;AAIpB,MAAM,CAAC,MAAM,OAAO,GAAU;IAC7B,MAAM,EAAE,GAAG,EAAE,CAAC,KAAC,iBAAiB,KAAG;CACnC,CAAC;AAEF,SAAS,iBAAiB;IACzB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAExD,OAAO,CACN,KAAC,aAAa,IACb,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAClB,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAE5D,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GACjC,CACF,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"ImageUploader.stories.js","sourceRoot":"","sources":["../../../src/components/imageUploader/ImageUploader.stories.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,MAAM,IAAI,GAAG;IACZ,KAAK,EAAE,0BAA0B;IACjC,SAAS,EAAE,aAAa;IACxB,QAAQ,EAAE;QACT,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE;QAC9B,SAAS,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE;QACjC,YAAY,EAAE,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;KAC7C;IACD,UAAU,EAAE;QACX,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC5B;IACD,IAAI,EAAE;QACL,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE;KAClC;CACoC,CAAC;AAEvC,eAAe,IAAI,CAAC;AAIpB,MAAM,CAAC,MAAM,OAAO,GAAU;IAC7B,MAAM,EAAE,GAAG,EAAE,CAAC,KAAC,iBAAiB,KAAG;CACnC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAU;IACjC,MAAM,EAAE,GAAG,EAAE,CAAC,KAAC,wBAAwB,KAAG;CAC1C,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAU;IACrC,MAAM,EAAE,GAAG,EAAE,CAAC,KAAC,gCAAgC,KAAG;CAClD,CAAC;AAEF,SAAS,iBAAiB;IACzB,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAExD,OAAO,CACN,KAAC,aAAa,IACb,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAClB,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAE5D,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GACjC,CACF,CAAC;AACH,CAAC;AAED,SAAS,wBAAwB;IAChC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IACxD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,6BAA6B,CAAC,CAAC;IAEtE,OAAO,CACN,KAAC,aAAa,IACb,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAClB,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAE5D,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GACjC,CACF,CAAC;AACH,CAAC;AAED,SAAS,gCAAgC;IACxC,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAExD,OAAO,CACN,KAAC,aAAa,IACb,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAClB,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAE5D,OAAO,EAAC,oBAAoB,EAC5B,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,GACjC,CACF,CAAC;AACH,CAAC"}
@@ -11,6 +11,10 @@ declare const meta: {
11
11
  expanded: boolean;
12
12
  };
13
13
  };
14
+ args: {
15
+ onCenterChange: undefined;
16
+ onZoomChange: undefined;
17
+ };
14
18
  };
15
19
  export default meta;
16
20
  type Story = StoryObj<typeof Viewport>;
@@ -9,11 +9,15 @@ const meta = {
9
9
  parameters: {
10
10
  controls: { expanded: true },
11
11
  },
12
+ args: {
13
+ onCenterChange: undefined,
14
+ onZoomChange: undefined,
15
+ },
12
16
  };
13
17
  export default meta;
14
18
  const CenterButton = () => {
15
19
  const viewport = useViewport();
16
- return (_jsx(Button, { emphasis: "ghost", size: "small", onClick: () => viewport.recenter(), children: _jsx(Icon, { name: "locate" }) }));
20
+ return (_jsx(Button, { emphasis: "ghost", size: "small", onClick: () => viewport.recenter(), "aria-label": "Center", children: _jsx(Icon, { name: "locate" }) }));
17
21
  };
18
22
  export const Default = {
19
23
  render(args) {
@@ -1 +1 @@
1
- {"version":3,"file":"Viewport.stories.js","sourceRoot":"","sources":["../../../src/components/viewport/Viewport.stories.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,MAAM,IAAI,GAAG;IACZ,KAAK,EAAE,qBAAqB;IAC5B,SAAS,EAAE,QAAQ;IACnB,UAAU,EAAE;QACX,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC5B;CAC+B,CAAC;AAElC,eAAe,IAAI,CAAC;AAIpB,MAAM,YAAY,GAAG,GAAG,EAAE;IACzB,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAE/B,OAAO,CACN,KAAC,MAAM,IAAC,QAAQ,EAAC,OAAO,EAAC,IAAI,EAAC,OAAO,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,YACvE,KAAC,IAAI,IAAC,IAAI,EAAC,QAAQ,GAAG,GACd,CACT,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAU;IAC7B,MAAM,CAAC,IAAI;QACV,OAAO,CACN,MAAC,QAAQ,kBACR,KAAK,EAAE;gBACN,MAAM,EAAE,GAAG;gBACX,KAAK,EAAE,MAAM;aACb,IACG,IAAI,eAER,cAAK,GAAG,EAAC,mDAAmD,GAAG,EAC/D,KAAC,QAAQ,CAAC,OAAO,cAChB,KAAC,QAAQ,CAAC,YAAY,KAAG,GACP,EACnB,KAAC,QAAQ,CAAC,OAAO,IAAC,QAAQ,EAAC,cAAc,YACxC,KAAC,YAAY,KAAG,GACE,KACT,CACX,CAAC;IACH,CAAC;CACD,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAU;IACnC,MAAM,CAAC,IAAI;QACV,OAAO,CACN,MAAC,QAAQ,kBACR,KAAK,EAAE;gBACN,MAAM,EAAE,GAAG;gBACX,KAAK,EAAE,MAAM;aACb,EACD,WAAW,EAAE,GAAG,EAChB,OAAO,EAAE,IAAI,EACb,OAAO,EAAE,EAAE,IACP,IAAI,eAER,cACC,GAAG,EAAC,mDAAmD,EACvD,KAAK,EAAE,EAAE,GACR,EACF,KAAC,QAAQ,CAAC,OAAO,cAChB,KAAC,QAAQ,CAAC,YAAY,KAAG,GACP,EACnB,KAAC,QAAQ,CAAC,OAAO,IAAC,QAAQ,EAAC,cAAc,YACxC,KAAC,YAAY,KAAG,GACE,KACT,CACX,CAAC;IACH,CAAC;CACD,CAAC"}
1
+ {"version":3,"file":"Viewport.stories.js","sourceRoot":"","sources":["../../../src/components/viewport/Viewport.stories.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,MAAM,IAAI,GAAG;IACZ,KAAK,EAAE,qBAAqB;IAC5B,SAAS,EAAE,QAAQ;IACnB,UAAU,EAAE;QACX,QAAQ,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE;KAC5B;IACD,IAAI,EAAE;QACL,cAAc,EAAE,SAAS;QACzB,YAAY,EAAE,SAAS;KACvB;CAC+B,CAAC;AAElC,eAAe,IAAI,CAAC;AAIpB,MAAM,YAAY,GAAG,GAAG,EAAE;IACzB,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAE/B,OAAO,CACN,KAAC,MAAM,IACN,QAAQ,EAAC,OAAO,EAChB,IAAI,EAAC,OAAO,EACZ,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,gBACvB,QAAQ,YAEnB,KAAC,IAAI,IAAC,IAAI,EAAC,QAAQ,GAAG,GACd,CACT,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAU;IAC7B,MAAM,CAAC,IAAI;QACV,OAAO,CACN,MAAC,QAAQ,kBACR,KAAK,EAAE;gBACN,MAAM,EAAE,GAAG;gBACX,KAAK,EAAE,MAAM;aACb,IACG,IAAI,eAER,cAAK,GAAG,EAAC,mDAAmD,GAAG,EAC/D,KAAC,QAAQ,CAAC,OAAO,cAChB,KAAC,QAAQ,CAAC,YAAY,KAAG,GACP,EACnB,KAAC,QAAQ,CAAC,OAAO,IAAC,QAAQ,EAAC,cAAc,YACxC,KAAC,YAAY,KAAG,GACE,KACT,CACX,CAAC;IACH,CAAC;CACD,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAU;IACnC,MAAM,CAAC,IAAI;QACV,OAAO,CACN,MAAC,QAAQ,kBACR,KAAK,EAAE;gBACN,MAAM,EAAE,GAAG;gBACX,KAAK,EAAE,MAAM;aACb,EACD,WAAW,EAAE,GAAG,EAChB,OAAO,EAAE,IAAI,EACb,OAAO,EAAE,EAAE,IACP,IAAI,eAER,cACC,GAAG,EAAC,mDAAmD,EACvD,KAAK,EAAE,EAAE,GACR,EACF,KAAC,QAAQ,CAAC,OAAO,cAChB,KAAC,QAAQ,CAAC,YAAY,KAAG,GACP,EACnB,KAAC,QAAQ,CAAC,OAAO,IAAC,QAAQ,EAAC,cAAc,YACxC,KAAC,YAAY,KAAG,GACE,KACT,CACX,CAAC;IACH,CAAC;CACD,CAAC"}
@@ -1,6 +1,6 @@
1
- import { HTMLMotionProps } from 'motion/react';
1
+ import { ComponentProps } from 'react';
2
2
  import { ViewportState } from './ViewportState.js';
3
- export interface ViewportContentProps extends Omit<HTMLMotionProps<'div'>, 'viewport'> {
3
+ export interface ViewportContentProps extends Omit<ComponentProps<'div'>, 'viewport'> {
4
4
  viewport: ViewportState;
5
5
  }
6
6
  export declare function ViewportContent({ viewport, children, className, ...rest }: ViewportContentProps): import("react/jsx-runtime").JSX.Element;
@@ -12,53 +12,47 @@ var __rest = (this && this.__rest) || function (s, e) {
12
12
  import { jsx as _jsx } from "react/jsx-runtime";
13
13
  import { preventDefault } from '@a-type/utils';
14
14
  import clsx from 'clsx';
15
- import { motion, useMotionTemplate, useSpring, } from 'motion/react';
16
- import { useEffect, useRef } from 'react';
15
+ import { useCallback, useEffect, useRef } from 'react';
17
16
  import useMergedRef from '../../hooks/useMergedRef.js';
18
17
  import cls from './ViewportContent.module.css';
19
- const PAN_SPRING_CONFIG = {
20
- mass: 0.2,
21
- bounce: 0.05,
22
- };
23
- const ZOOM_SPRING_CONFIG = {
24
- mass: 0.5,
25
- bounce: 0.1,
26
- };
27
18
  export function ViewportContent(_a) {
28
19
  var { viewport, children, className } = _a, rest = __rest(_a, ["viewport", "children", "className"]);
29
20
  const internalRef = useRef(null);
30
- const centerX = useSpring(viewport.panPosition.x, PAN_SPRING_CONFIG);
31
- const centerY = useSpring(viewport.panPosition.y, PAN_SPRING_CONFIG);
32
- const zoom = useSpring(viewport.zoom, ZOOM_SPRING_CONFIG);
33
- useEffect(() => viewport.subscribe('centerChanged', (center, origin) => {
34
- if (origin === 'direct') {
35
- centerX.jump(-center.x);
36
- centerY.jump(-center.y);
21
+ const setPosition = useCallback(({ x, y, zoom }, immediate) => {
22
+ const current = internalRef.current;
23
+ if (current) {
24
+ if (immediate) {
25
+ current.style.setProperty('transition', 'none');
26
+ requestAnimationFrame(() => {
27
+ current.style.removeProperty('transition');
28
+ });
29
+ }
30
+ else {
31
+ current.style.removeProperty('transition');
32
+ }
33
+ if (x !== undefined) {
34
+ current.style.setProperty('--center-x', `${-x}px`);
35
+ }
36
+ if (y !== undefined) {
37
+ current.style.setProperty('--center-y', `${-y}px`);
38
+ }
39
+ if (zoom !== undefined) {
40
+ current.style.setProperty('--zoom', `${zoom}`);
41
+ }
37
42
  }
38
- else {
39
- centerX.set(-center.x);
40
- centerY.set(-center.y);
41
- }
42
- }), [viewport, centerX, centerY]);
43
+ }, []);
44
+ useEffect(() => viewport.subscribe('centerChanged', (center, origin) => {
45
+ setPosition({ x: center.x, y: center.y }, origin === 'direct');
46
+ }), [viewport]);
43
47
  useEffect(() => viewport.subscribe('zoomChanged', (zoomValue, origin) => {
44
- if (origin === 'direct') {
45
- zoom.jump(zoomValue);
46
- }
47
- else {
48
- zoom.set(zoomValue);
49
- }
50
- if (internalRef.current) {
51
- // disabled: this is causing recalculate style :(
52
- //internalRef.current.style.setProperty('--zoom', zoomValue.toString());
53
- }
54
- }), [viewport, zoom, internalRef]);
48
+ setPosition({ zoom: zoomValue }, origin === 'direct');
49
+ }), [viewport, internalRef]);
55
50
  useEffect(() => viewport.subscribe('zoomSettled', (zoom) => {
56
51
  if (internalRef.current) {
57
52
  internalRef.current.style.setProperty('--zoom-settled', zoom.toString());
58
53
  }
59
54
  }), [viewport, internalRef]);
60
55
  const finalRef = useMergedRef(viewport.bindContent, internalRef);
61
- const transform = useMotionTemplate `translate3d(calc(var(--root-width,0)/2), calc(var(--root-height,0)/2), 0) translate3d(-50%, -50%, 0) scale(${zoom}) translate3d(${centerX}px, ${centerY}px, 0)`;
62
- return (_jsx(motion.div, Object.assign({}, rest, { className: clsx(cls.root, className), ref: finalRef, style: { transform }, onDragStartCapture: preventDefault, onDrag: preventDefault, onDragEnd: preventDefault, children: children })));
56
+ return (_jsx("div", Object.assign({}, rest, { className: clsx(cls.root, className), ref: finalRef, onDragStartCapture: preventDefault, onDrag: preventDefault, onDragEnd: preventDefault, children: children })));
63
57
  }
64
58
  //# sourceMappingURL=ViewportContent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ViewportContent.js","sourceRoot":"","sources":["../../../src/components/viewport/ViewportContent.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ViewportContent.js","sourceRoot":"","sources":["../../../src/components/viewport/ViewportContent.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAkB,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACvE,OAAO,YAAY,MAAM,6BAA6B,CAAC;AACvD,OAAO,GAAG,MAAM,8BAA8B,CAAC;AAQ/C,MAAM,UAAU,eAAe,CAAC,EAKT;QALS,EAC/B,QAAQ,EACR,QAAQ,EACR,SAAS,OAEa,EADnB,IAAI,cAJwB,qCAK/B,CADO;IAEP,MAAM,WAAW,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IAEjD,MAAM,WAAW,GAAG,WAAW,CAC9B,CACC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAA6C,EACzD,SAAkB,EACjB,EAAE;QACH,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;QACpC,IAAI,OAAO,EAAE,CAAC;YACb,IAAI,SAAS,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;gBAChD,qBAAqB,CAAC,GAAG,EAAE;oBAC1B,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;gBAC5C,CAAC,CAAC,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACP,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;YAC5C,CAAC;YACD,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;gBACrB,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;YACpD,CAAC;YACD,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;gBACrB,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;YACpD,CAAC;YACD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACxB,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;YAChD,CAAC;QACF,CAAC;IACF,CAAC,EACD,EAAE,CACF,CAAC;IAEF,SAAS,CACR,GAAG,EAAE,CACJ,QAAQ,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE;QACtD,WAAW,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC;IAChE,CAAC,CAAC,EACH,CAAC,QAAQ,CAAC,CACV,CAAC;IACF,SAAS,CACR,GAAG,EAAE,CACJ,QAAQ,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,EAAE;QACvD,WAAW,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,MAAM,KAAK,QAAQ,CAAC,CAAC;IACvD,CAAC,CAAC,EACH,CAAC,QAAQ,EAAE,WAAW,CAAC,CACvB,CAAC;IAEF,SAAS,CACR,GAAG,EAAE,CACJ,QAAQ,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,IAAI,EAAE,EAAE;QAC1C,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;YACzB,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CACpC,gBAAgB,EAChB,IAAI,CAAC,QAAQ,EAAE,CACf,CAAC;QACH,CAAC;IACF,CAAC,CAAC,EACH,CAAC,QAAQ,EAAE,WAAW,CAAC,CACvB,CAAC;IAEF,MAAM,QAAQ,GAAG,YAAY,CAC5B,QAAQ,CAAC,WAAW,EACpB,WAAW,CACX,CAAC;IAEF,OAAO,CACN,8BACK,IAAI,IACR,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,EACpC,GAAG,EAAE,QAAQ,EACb,kBAAkB,EAAE,cAAc,EAClC,MAAM,EAAE,cAAc,EACtB,SAAS,EAAE,cAAc,YAExB,QAAQ,IACJ,CACN,CAAC;AACH,CAAC"}
@@ -5,5 +5,34 @@
5
5
  user-select: none;
6
6
  overflow: visible;
7
7
  overscroll-behavior: none;
8
+ transition: transform var(--m-dur-long) var(--m-ease-out-loose);
9
+ will-change: transform;
10
+
11
+ --zoom: 1;
12
+ --center-x: 0px;
13
+ --center-y: 0px;
14
+ transform: translate3d(
15
+ calc(var(--root-width, 0px) / 2),
16
+ calc(var(--root-height, 0px) / 2),
17
+ 0
18
+ )
19
+ translate3d(-50%, -50%, 0) scale(var(--zoom))
20
+ translate3d(var(--center-x), var(--center-y), 0);
21
+ }
22
+
23
+ @property --zoom {
24
+ syntax: '<number>';
25
+ initial-value: 1;
26
+ inherits: false;
27
+ }
28
+ @property --center-x {
29
+ syntax: '<length>';
30
+ initial-value: 0px;
31
+ inherits: false;
32
+ }
33
+ @property --center-y {
34
+ syntax: '<length>';
35
+ initial-value: 0px;
36
+ inherits: false;
8
37
  }
9
38
  }
@@ -324,7 +324,6 @@ export class ViewportState extends EventSubscriber {
324
324
  }
325
325
  };
326
326
  this.setPan = (worldPosition, details) => {
327
- console.log('Setting pan to:', worldPosition);
328
327
  // worldPosition.x += this.contentOffset.x;
329
328
  // worldPosition.y += this.contentOffset.y;
330
329
  this.rawPan(worldPosition, details);
@@ -1 +1 @@
1
- {"version":3,"file":"ViewportState.js","sourceRoot":"","sources":["../../../src/components/viewport/ViewportState.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ViewportState.js","sourceRoot":"","sources":["../../../src/components/viewport/ViewportState.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ var __rest = (this && this.__rest) || function (s, e) {
10
10
  return t;
11
11
  };
12
12
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
13
+ import { stopPropagation } from '@a-type/utils';
13
14
  import clsx from 'clsx';
14
15
  import { Box } from '../box/Box.js';
15
16
  import { Button } from '../button/Button.js';
@@ -31,6 +32,6 @@ export function ViewportZoomControls(_a) {
31
32
  const reset = () => {
32
33
  viewport.fitEverythingOnScreen({ origin: 'control' });
33
34
  };
34
- return (_jsxs(Box, Object.assign({ gap: true, col: true, className: clsx(className) }, props, { children: [fit && (_jsx(Button, { emphasis: "ghost", size: "small", onClick: reset, children: _jsx(Icon, { name: "maximize" }) })), zoomIn && (_jsx(Button, { emphasis: "ghost", size: "small", onClick: doZoomIn, children: _jsx(Icon, { name: "zoomIn" }) })), zoomOut && (_jsx(Button, { emphasis: "ghost", size: "small", onClick: doZoomOut, children: _jsx(Icon, { name: "zoomOut" }) }))] })));
35
+ return (_jsxs(Box, Object.assign({ gap: true, col: true, className: clsx(className), onPointerDown: stopPropagation, onPointerMove: stopPropagation, onPointerUp: stopPropagation }, props, { children: [fit && (_jsx(Button, { emphasis: "ghost", size: "small", onClick: reset, "aria-label": "Fit to screen", children: _jsx(Icon, { name: "maximize" }) })), zoomIn && (_jsx(Button, { emphasis: "ghost", size: "small", onClick: doZoomIn, "aria-label": "Zoom in", children: _jsx(Icon, { name: "zoomIn" }) })), zoomOut && (_jsx(Button, { emphasis: "ghost", size: "small", onClick: doZoomOut, "aria-label": "Zoom out", children: _jsx(Icon, { name: "zoomOut" }) }))] })));
35
36
  }
36
37
  //# sourceMappingURL=ViewportZoomControls.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ViewportZoomControls.js","sourceRoot":"","sources":["../../../src/components/viewport/ViewportZoomControls.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,GAAG,EAAY,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,MAAM,UAAU,oBAAoB,CAAC,EAUpC;QAVoC,EACpC,SAAS,EACT,MAAM,GAAG,IAAI,EACb,OAAO,GAAG,IAAI,EACd,GAAG,GAAG,IAAI,OAMV,EALG,KAAK,cAL4B,yCAMpC,CADQ;IAMR,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,GAAG,EAAE;QACrB,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE;YAChC,MAAM,EAAE,SAAS;SACjB,CAAC,CAAC;IACJ,CAAC,CAAC;IACF,MAAM,SAAS,GAAG,GAAG,EAAE;QACtB,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE;YAChC,MAAM,EAAE,SAAS;SACjB,CAAC,CAAC;IACJ,CAAC,CAAC;IACF,MAAM,KAAK,GAAG,GAAG,EAAE;QAClB,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IACvD,CAAC,CAAC;IACF,OAAO,CACN,MAAC,GAAG,kBAAC,GAAG,QAAC,GAAG,QAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAM,KAAK,eAChD,GAAG,IAAI,CACP,KAAC,MAAM,IAAC,QAAQ,EAAC,OAAO,EAAC,IAAI,EAAC,OAAO,EAAC,OAAO,EAAE,KAAK,YACnD,KAAC,IAAI,IAAC,IAAI,EAAC,UAAU,GAAG,GAChB,CACT,EACA,MAAM,IAAI,CACV,KAAC,MAAM,IAAC,QAAQ,EAAC,OAAO,EAAC,IAAI,EAAC,OAAO,EAAC,OAAO,EAAE,QAAQ,YACtD,KAAC,IAAI,IAAC,IAAI,EAAC,QAAQ,GAAG,GACd,CACT,EACA,OAAO,IAAI,CACX,KAAC,MAAM,IAAC,QAAQ,EAAC,OAAO,EAAC,IAAI,EAAC,OAAO,EAAC,OAAO,EAAE,SAAS,YACvD,KAAC,IAAI,IAAC,IAAI,EAAC,SAAS,GAAG,GACf,CACT,KACI,CACN,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"ViewportZoomControls.js","sourceRoot":"","sources":["../../../src/components/viewport/ViewportZoomControls.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,GAAG,EAAY,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,MAAM,UAAU,oBAAoB,CAAC,EAUpC;QAVoC,EACpC,SAAS,EACT,MAAM,GAAG,IAAI,EACb,OAAO,GAAG,IAAI,EACd,GAAG,GAAG,IAAI,OAMV,EALG,KAAK,cAL4B,yCAMpC,CADQ;IAMR,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,GAAG,EAAE;QACrB,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE;YAChC,MAAM,EAAE,SAAS;SACjB,CAAC,CAAC;IACJ,CAAC,CAAC;IACF,MAAM,SAAS,GAAG,GAAG,EAAE;QACtB,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,EAAE;YAChC,MAAM,EAAE,SAAS;SACjB,CAAC,CAAC;IACJ,CAAC,CAAC;IACF,MAAM,KAAK,GAAG,GAAG,EAAE;QAClB,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IACvD,CAAC,CAAC;IACF,OAAO,CACN,MAAC,GAAG,kBACH,GAAG,QACH,GAAG,QACH,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,EAC1B,aAAa,EAAE,eAAe,EAC9B,aAAa,EAAE,eAAe,EAC9B,WAAW,EAAE,eAAe,IACxB,KAAK,eAER,GAAG,IAAI,CACP,KAAC,MAAM,IACN,QAAQ,EAAC,OAAO,EAChB,IAAI,EAAC,OAAO,EACZ,OAAO,EAAE,KAAK,gBACH,eAAe,YAE1B,KAAC,IAAI,IAAC,IAAI,EAAC,UAAU,GAAG,GAChB,CACT,EACA,MAAM,IAAI,CACV,KAAC,MAAM,IACN,QAAQ,EAAC,OAAO,EAChB,IAAI,EAAC,OAAO,EACZ,OAAO,EAAE,QAAQ,gBACN,SAAS,YAEpB,KAAC,IAAI,IAAC,IAAI,EAAC,QAAQ,GAAG,GACd,CACT,EACA,OAAO,IAAI,CACX,KAAC,MAAM,IACN,QAAQ,EAAC,OAAO,EAChB,IAAI,EAAC,OAAO,EACZ,OAAO,EAAE,SAAS,gBACP,UAAU,YAErB,KAAC,IAAI,IAAC,IAAI,EAAC,SAAS,GAAG,GACf,CACT,KACI,CACN,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@a-type/ui",
3
- "version": "6.1.32",
3
+ "version": "6.1.34",
4
4
  "type": "module",
5
5
  "repository": {
6
6
  "url": "https://github.com/a-type/ui"
@@ -50,7 +50,6 @@
50
50
  "date-fns": "^4.1.0",
51
51
  "formik": "^2.4.6",
52
52
  "frimousse": "^0.2.0",
53
- "motion": "^12.23.6",
54
53
  "pluralize": "^8.0.0",
55
54
  "valtio": "^2.1.4"
56
55
  },
@@ -40,6 +40,40 @@
40
40
  border: none;
41
41
  }
42
42
 
43
+ .altTextButton {
44
+ position: absolute;
45
+ right: var(--m-sp-sm);
46
+ bottom: var(--m-sp-sm);
47
+ z-index: 10;
48
+ font-weight: var(--m-fw-bold);
49
+ }
50
+
51
+ .altTextDialog {
52
+ max-width: min(560px, 90vw);
53
+ }
54
+
55
+ .altTextDialogInner {
56
+ display: flex;
57
+ flex-direction: column;
58
+ gap: var(--m-sp-md);
59
+ }
60
+
61
+ .altTextField {
62
+ width: 100%;
63
+ }
64
+
65
+ .altTextInput {
66
+ width: 100%;
67
+ }
68
+
69
+ .altTextDialogImage {
70
+ width: 100%;
71
+ max-height: 280px;
72
+ object-fit: contain;
73
+ border-radius: var(--m-rd-md);
74
+ @apply --mx-bg(var(--m-surface-ambient-bg));
75
+ }
76
+
43
77
  .imagePreview {
44
78
  width: 100%;
45
79
  height: 100%;
@@ -7,6 +7,7 @@ const meta = {
7
7
  component: ImageUploader,
8
8
  argTypes: {
9
9
  onChange: { action: 'change' },
10
+ onAltText: { action: 'alt text' },
10
11
  maxDimension: { control: { type: 'number' } },
11
12
  },
12
13
  parameters: {
@@ -25,6 +26,14 @@ export const Default: Story = {
25
26
  render: () => <ImageUploaderDemo />,
26
27
  };
27
28
 
29
+ export const WithAltText: Story = {
30
+ render: () => <ImageUploaderAltTextDemo />,
31
+ };
32
+
33
+ export const ReadOnlyAltText: Story = {
34
+ render: () => <ImageUploaderReadOnlyAltTextDemo />,
35
+ };
36
+
28
37
  function ImageUploaderDemo() {
29
38
  const [value, setValue] = useState<string | null>(null);
30
39
 
@@ -38,3 +47,35 @@ function ImageUploaderDemo() {
38
47
  />
39
48
  );
40
49
  }
50
+
51
+ function ImageUploaderAltTextDemo() {
52
+ const [value, setValue] = useState<string | null>(null);
53
+ const [altText, setAltText] = useState('A scenic mountain landscape');
54
+
55
+ return (
56
+ <ImageUploader
57
+ onChange={(file) =>
58
+ file ? setValue(URL.createObjectURL(file)) : setValue(null)
59
+ }
60
+ onAltText={setAltText}
61
+ altText={altText}
62
+ value={value}
63
+ style={{ width: 256, height: 256 }}
64
+ />
65
+ );
66
+ }
67
+
68
+ function ImageUploaderReadOnlyAltTextDemo() {
69
+ const [value, setValue] = useState<string | null>(null);
70
+
71
+ return (
72
+ <ImageUploader
73
+ onChange={(file) =>
74
+ file ? setValue(URL.createObjectURL(file)) : setValue(null)
75
+ }
76
+ altText="Read-only alt text"
77
+ value={value}
78
+ style={{ width: 256, height: 256 }}
79
+ />
80
+ );
81
+ }
@@ -8,6 +8,7 @@ import {
8
8
  useContext,
9
9
  useEffect,
10
10
  useId,
11
+ useRef,
11
12
  useState,
12
13
  } from 'react';
13
14
  import { Button, ButtonProps } from '../button/index.js';
@@ -17,12 +18,17 @@ import {
17
18
  CameraRoot,
18
19
  CameraShutterButton,
19
20
  } from '../camera/index.js';
21
+ import { Dialog } from '../dialog/index.js';
22
+ import { Field } from '../forms/index.js';
20
23
  import { Icon } from '../icon/index.js';
24
+ import { TextArea } from '../textArea/index.js';
21
25
  import cls from './ImageUploader.module.css';
22
26
 
23
27
  export interface ImageUploaderProps {
24
28
  value: string | null;
25
29
  onChange: (value: File | null) => void;
30
+ altText?: string;
31
+ onAltText?: (value: string) => void;
26
32
  className?: string;
27
33
  style?: CSSProperties;
28
34
  maxDimension?: number;
@@ -37,6 +43,8 @@ export interface ImageUploaderProps {
37
43
  export function ImageUploaderRoot({
38
44
  value,
39
45
  onChange: handleChange,
46
+ altText,
47
+ onAltText,
40
48
  maxDimension,
41
49
  children,
42
50
  className,
@@ -134,7 +142,15 @@ export function ImageUploaderRoot({
134
142
 
135
143
  return (
136
144
  <ImageUploaderContext.Provider
137
- value={{ inputId, dragging, draggingOver, value, onChange }}
145
+ value={{
146
+ inputId,
147
+ dragging,
148
+ draggingOver,
149
+ value,
150
+ onChange,
151
+ altText,
152
+ onAltText,
153
+ }}
138
154
  >
139
155
  <div
140
156
  className={classNames('@mode-neutral', cls.root, className)}
@@ -166,6 +182,8 @@ const ImageUploaderContext = createContext<{
166
182
  draggingOver: boolean;
167
183
  value: string | null;
168
184
  onChange: (file: File | null) => void;
185
+ altText?: string;
186
+ onAltText?: (value: string) => void;
169
187
  } | null>(null);
170
188
  function useUploaderContext() {
171
189
  const context = useContext(ImageUploaderContext);
@@ -188,6 +206,9 @@ function ImageUploaderPrebuilt({
188
206
  return (
189
207
  <ImageUploaderRoot {...props}>
190
208
  <ImageUploaderDisplay crossOrigin={crossOrigin} />
209
+ {(props.altText !== undefined || props.onAltText) && (
210
+ <ImageUploaderAltText />
211
+ )}
191
212
 
192
213
  <ImageUploaderEmptyControls>
193
214
  <ImageUploaderFileButton />
@@ -291,6 +312,101 @@ export function ImageUploaderDisplay({
291
312
  ) : null;
292
313
  }
293
314
 
315
+ export interface ImageUploaderAltTextProps {
316
+ className?: string;
317
+ altText?: string;
318
+ onAltText?: (value: string) => void;
319
+ }
320
+
321
+ export function ImageUploaderAltText({
322
+ className,
323
+ altText,
324
+ onAltText,
325
+ }: ImageUploaderAltTextProps) {
326
+ const {
327
+ value,
328
+ altText: contextAltText,
329
+ onAltText: contextOnAltText,
330
+ } = useUploaderContext();
331
+ const finalAltText = altText ?? contextAltText;
332
+ const finalOnAltText = onAltText ?? contextOnAltText;
333
+ const enabled = finalAltText !== undefined || !!finalOnAltText;
334
+ const [open, setOpen] = useState(false);
335
+ const [innerAltText, setInnerAltText] = useState('');
336
+ const skipCloseResetRef = useRef(false);
337
+ const readOnly = !finalOnAltText;
338
+ const altTextFieldId = useId();
339
+
340
+ useEffect(() => {
341
+ if (open) return;
342
+ setInnerAltText(finalAltText ?? '');
343
+ }, [finalAltText, open]);
344
+
345
+ if (!enabled || !value) return null;
346
+
347
+ return (
348
+ <Dialog
349
+ open={open}
350
+ onOpenChange={(isOpen) => {
351
+ setOpen(isOpen);
352
+ if (!isOpen) {
353
+ if (skipCloseResetRef.current) {
354
+ skipCloseResetRef.current = false;
355
+ return;
356
+ }
357
+ setInnerAltText(finalAltText ?? '');
358
+ }
359
+ }}
360
+ disableSheet
361
+ >
362
+ <Dialog.Trigger
363
+ className={clsx(cls.altTextButton, className)}
364
+ render={<Button emphasis="light" size="small" />}
365
+ aria-label={readOnly ? 'View alt text' : 'Edit alt text'}
366
+ >
367
+ ALT
368
+ </Dialog.Trigger>
369
+ <Dialog.Content
370
+ className={cls.altTextDialog}
371
+ innerClassName={cls.altTextDialogInner}
372
+ >
373
+ <Dialog.Title>Alt text</Dialog.Title>
374
+ <img src={value} alt="" className={cls.altTextDialogImage} />
375
+ <Field stretch id={altTextFieldId} className={cls.altTextField}>
376
+ <Field.Label>Alt text</Field.Label>
377
+ <Field.Control
378
+ render={
379
+ <TextArea
380
+ autoSize={false}
381
+ rows={4}
382
+ value={innerAltText}
383
+ readOnly={readOnly}
384
+ onValueChange={readOnly ? undefined : setInnerAltText}
385
+ className={cls.altTextInput}
386
+ />
387
+ }
388
+ />
389
+ </Field>
390
+ {finalOnAltText && (
391
+ <Dialog.Actions>
392
+ <Dialog.Close>Cancel</Dialog.Close>
393
+ <Button
394
+ emphasis="primary"
395
+ onClick={() => {
396
+ skipCloseResetRef.current = true;
397
+ finalOnAltText(innerAltText);
398
+ setOpen(false);
399
+ }}
400
+ >
401
+ Save
402
+ </Button>
403
+ </Dialog.Actions>
404
+ )}
405
+ </Dialog.Content>
406
+ </Dialog>
407
+ );
408
+ }
409
+
294
410
  export function ImageUploaderEmptyControls({
295
411
  children,
296
412
  className,
@@ -317,5 +433,6 @@ export const ImageUploader = Object.assign(ImageUploaderPrebuilt, {
317
433
  FileButton: ImageUploaderFileButton,
318
434
  RemoveButton: ImageUploaderRemoveButton,
319
435
  Display: ImageUploaderDisplay,
436
+ AltText: ImageUploaderAltText,
320
437
  EmptyControls: ImageUploaderEmptyControls,
321
438
  });
@@ -10,6 +10,10 @@ const meta = {
10
10
  parameters: {
11
11
  controls: { expanded: true },
12
12
  },
13
+ args: {
14
+ onCenterChange: undefined,
15
+ onZoomChange: undefined,
16
+ },
13
17
  } satisfies Meta<typeof Viewport>;
14
18
 
15
19
  export default meta;
@@ -20,7 +24,12 @@ const CenterButton = () => {
20
24
  const viewport = useViewport();
21
25
 
22
26
  return (
23
- <Button emphasis="ghost" size="small" onClick={() => viewport.recenter()}>
27
+ <Button
28
+ emphasis="ghost"
29
+ size="small"
30
+ onClick={() => viewport.recenter()}
31
+ aria-label="Center"
32
+ >
24
33
  <Icon name="locate" />
25
34
  </Button>
26
35
  );
@@ -5,4 +5,33 @@
5
5
  user-select: none;
6
6
  overflow: visible;
7
7
  overscroll-behavior: none;
8
+ transition: transform var(--m-dur-long) var(--m-ease-out-loose);
9
+ will-change: transform;
10
+
11
+ --zoom: 1;
12
+ --center-x: 0px;
13
+ --center-y: 0px;
14
+ transform: translate3d(
15
+ calc(var(--root-width, 0px) / 2),
16
+ calc(var(--root-height, 0px) / 2),
17
+ 0
18
+ )
19
+ translate3d(-50%, -50%, 0) scale(var(--zoom))
20
+ translate3d(var(--center-x), var(--center-y), 0);
21
+ }
22
+
23
+ @property --zoom {
24
+ syntax: '<number>';
25
+ initial-value: 1;
26
+ inherits: false;
27
+ }
28
+ @property --center-x {
29
+ syntax: '<length>';
30
+ initial-value: 0px;
31
+ inherits: false;
32
+ }
33
+ @property --center-y {
34
+ syntax: '<length>';
35
+ initial-value: 0px;
36
+ inherits: false;
8
37
  }
@@ -1,31 +1,15 @@
1
1
  import { preventDefault } from '@a-type/utils';
2
2
  import clsx from 'clsx';
3
- import {
4
- HTMLMotionProps,
5
- motion,
6
- SpringOptions,
7
- useMotionTemplate,
8
- useSpring,
9
- } from 'motion/react';
10
- import { useEffect, useRef } from 'react';
3
+ import { ComponentProps, useCallback, useEffect, useRef } from 'react';
11
4
  import useMergedRef from '../../hooks/useMergedRef.js';
12
5
  import cls from './ViewportContent.module.css';
13
6
  import { ViewportState } from './ViewportState.js';
14
7
 
15
8
  export interface ViewportContentProps
16
- extends Omit<HTMLMotionProps<'div'>, 'viewport'> {
9
+ extends Omit<ComponentProps<'div'>, 'viewport'> {
17
10
  viewport: ViewportState;
18
11
  }
19
12
 
20
- const PAN_SPRING_CONFIG: SpringOptions = {
21
- mass: 0.2,
22
- bounce: 0.05,
23
- };
24
- const ZOOM_SPRING_CONFIG: SpringOptions = {
25
- mass: 0.5,
26
- bounce: 0.1,
27
- };
28
-
29
13
  export function ViewportContent({
30
14
  viewport,
31
15
  children,
@@ -34,37 +18,48 @@ export function ViewportContent({
34
18
  }: ViewportContentProps) {
35
19
  const internalRef = useRef<HTMLDivElement>(null);
36
20
 
37
- const centerX = useSpring(viewport.panPosition.x, PAN_SPRING_CONFIG);
38
- const centerY = useSpring(viewport.panPosition.y, PAN_SPRING_CONFIG);
39
- const zoom = useSpring(viewport.zoom, ZOOM_SPRING_CONFIG);
21
+ const setPosition = useCallback(
22
+ (
23
+ { x, y, zoom }: { x?: number; y?: number; zoom?: number },
24
+ immediate: boolean,
25
+ ) => {
26
+ const current = internalRef.current;
27
+ if (current) {
28
+ if (immediate) {
29
+ current.style.setProperty('transition', 'none');
30
+ requestAnimationFrame(() => {
31
+ current.style.removeProperty('transition');
32
+ });
33
+ } else {
34
+ current.style.removeProperty('transition');
35
+ }
36
+ if (x !== undefined) {
37
+ current.style.setProperty('--center-x', `${-x}px`);
38
+ }
39
+ if (y !== undefined) {
40
+ current.style.setProperty('--center-y', `${-y}px`);
41
+ }
42
+ if (zoom !== undefined) {
43
+ current.style.setProperty('--zoom', `${zoom}`);
44
+ }
45
+ }
46
+ },
47
+ [],
48
+ );
40
49
 
41
50
  useEffect(
42
51
  () =>
43
52
  viewport.subscribe('centerChanged', (center, origin) => {
44
- if (origin === 'direct') {
45
- centerX.jump(-center.x);
46
- centerY.jump(-center.y);
47
- } else {
48
- centerX.set(-center.x);
49
- centerY.set(-center.y);
50
- }
53
+ setPosition({ x: center.x, y: center.y }, origin === 'direct');
51
54
  }),
52
- [viewport, centerX, centerY],
55
+ [viewport],
53
56
  );
54
57
  useEffect(
55
58
  () =>
56
59
  viewport.subscribe('zoomChanged', (zoomValue, origin) => {
57
- if (origin === 'direct') {
58
- zoom.jump(zoomValue);
59
- } else {
60
- zoom.set(zoomValue);
61
- }
62
- if (internalRef.current) {
63
- // disabled: this is causing recalculate style :(
64
- //internalRef.current.style.setProperty('--zoom', zoomValue.toString());
65
- }
60
+ setPosition({ zoom: zoomValue }, origin === 'direct');
66
61
  }),
67
- [viewport, zoom, internalRef],
62
+ [viewport, internalRef],
68
63
  );
69
64
 
70
65
  useEffect(
@@ -85,19 +80,16 @@ export function ViewportContent({
85
80
  internalRef,
86
81
  );
87
82
 
88
- const transform = useMotionTemplate`translate3d(calc(var(--root-width,0)/2), calc(var(--root-height,0)/2), 0) translate3d(-50%, -50%, 0) scale(${zoom}) translate3d(${centerX}px, ${centerY}px, 0)`;
89
-
90
83
  return (
91
- <motion.div
84
+ <div
92
85
  {...rest}
93
86
  className={clsx(cls.root, className)}
94
87
  ref={finalRef}
95
- style={{ transform }}
96
88
  onDragStartCapture={preventDefault}
97
89
  onDrag={preventDefault}
98
90
  onDragEnd={preventDefault}
99
91
  >
100
92
  {children}
101
- </motion.div>
93
+ </div>
102
94
  );
103
95
  }
@@ -601,7 +601,6 @@ export class ViewportState extends EventSubscriber<ViewportEvents> {
601
601
  gestureComplete?: boolean;
602
602
  },
603
603
  ) => {
604
- console.log('Setting pan to:', worldPosition);
605
604
  // worldPosition.x += this.contentOffset.x;
606
605
  // worldPosition.y += this.contentOffset.y;
607
606
  this.rawPan(worldPosition, details);
@@ -1,3 +1,4 @@
1
+ import { stopPropagation } from '@a-type/utils';
1
2
  import clsx from 'clsx';
2
3
  import { Box, BoxProps } from '../box/Box.js';
3
4
  import { Button } from '../button/Button.js';
@@ -30,19 +31,42 @@ export function ViewportZoomControls({
30
31
  viewport.fitEverythingOnScreen({ origin: 'control' });
31
32
  };
32
33
  return (
33
- <Box gap col className={clsx(className)} {...props}>
34
+ <Box
35
+ gap
36
+ col
37
+ className={clsx(className)}
38
+ onPointerDown={stopPropagation}
39
+ onPointerMove={stopPropagation}
40
+ onPointerUp={stopPropagation}
41
+ {...props}
42
+ >
34
43
  {fit && (
35
- <Button emphasis="ghost" size="small" onClick={reset}>
44
+ <Button
45
+ emphasis="ghost"
46
+ size="small"
47
+ onClick={reset}
48
+ aria-label="Fit to screen"
49
+ >
36
50
  <Icon name="maximize" />
37
51
  </Button>
38
52
  )}
39
53
  {zoomIn && (
40
- <Button emphasis="ghost" size="small" onClick={doZoomIn}>
54
+ <Button
55
+ emphasis="ghost"
56
+ size="small"
57
+ onClick={doZoomIn}
58
+ aria-label="Zoom in"
59
+ >
41
60
  <Icon name="zoomIn" />
42
61
  </Button>
43
62
  )}
44
63
  {zoomOut && (
45
- <Button emphasis="ghost" size="small" onClick={doZoomOut}>
64
+ <Button
65
+ emphasis="ghost"
66
+ size="small"
67
+ onClick={doZoomOut}
68
+ aria-label="Zoom out"
69
+ >
46
70
  <Icon name="zoomOut" />
47
71
  </Button>
48
72
  )}