@a-type/ui 2.1.15 → 2.1.17
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.
- package/dist/cjs/components/imageUploader/ImageUploader.d.ts +4 -5
- package/dist/cjs/components/imageUploader/ImageUploader.js +4 -3
- package/dist/cjs/components/imageUploader/ImageUploader.js.map +1 -1
- package/dist/cjs/components/imageUploader/ImageUploader.stories.d.ts +2 -1
- package/dist/esm/components/imageUploader/ImageUploader.d.ts +4 -5
- package/dist/esm/components/imageUploader/ImageUploader.js +4 -3
- package/dist/esm/components/imageUploader/ImageUploader.js.map +1 -1
- package/dist/esm/components/imageUploader/ImageUploader.stories.d.ts +2 -1
- package/package.json +1 -1
- package/src/components/imageUploader/ImageUploader.tsx +18 -19
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ReactNode } from 'react';
|
|
1
|
+
import { ImgHTMLAttributes, ReactNode } from 'react';
|
|
2
2
|
import { ButtonProps } from '../button/index.js';
|
|
3
3
|
export interface ImageUploaderProps {
|
|
4
4
|
value: string | null;
|
|
@@ -13,14 +13,13 @@ export interface ImageUploaderProps {
|
|
|
13
13
|
* component to replace the existing one.
|
|
14
14
|
*/
|
|
15
15
|
export declare function ImageUploaderRoot({ value, onChange: handleChange, maxDimension, children, ...rest }: ImageUploaderProps): import("react/jsx-runtime.js").JSX.Element;
|
|
16
|
-
declare function ImageUploaderPrebuilt(props: Omit<ImageUploaderProps, 'children'> & {
|
|
16
|
+
declare function ImageUploaderPrebuilt({ crossOrigin, ...props }: Omit<ImageUploaderProps, 'children'> & {
|
|
17
17
|
facingMode?: 'user' | 'environment';
|
|
18
|
+
crossOrigin?: ImgHTMLAttributes<HTMLImageElement>['crossOrigin'];
|
|
18
19
|
}): import("react/jsx-runtime.js").JSX.Element;
|
|
19
20
|
export declare function ImageUploaderFileButton({ children, ...props }: ButtonProps): import("react/jsx-runtime.js").JSX.Element;
|
|
20
21
|
export declare function ImageUploaderRemoveButton({ className, ...rest }: ButtonProps): import("react/jsx-runtime.js").JSX.Element | null;
|
|
21
|
-
export declare function ImageUploaderDisplay({ className, ...rest }:
|
|
22
|
-
className?: string;
|
|
23
|
-
}): import("react/jsx-runtime.js").JSX.Element | null;
|
|
22
|
+
export declare function ImageUploaderDisplay({ className, ...rest }: ImgHTMLAttributes<HTMLImageElement>): import("react/jsx-runtime.js").JSX.Element | null;
|
|
24
23
|
export declare function ImageUploaderEmptyControls({ children, className, }: {
|
|
25
24
|
children: ReactNode;
|
|
26
25
|
className?: string;
|
|
@@ -134,7 +134,7 @@ function ImageUploaderRoot(_a) {
|
|
|
134
134
|
const onFileClick = (0, react_1.useCallback)((e) => {
|
|
135
135
|
e.stopPropagation();
|
|
136
136
|
}, []);
|
|
137
|
-
return ((0, jsx_runtime_1.jsx)(ImageUploaderContext.Provider, { value: { inputId, dragging, draggingOver, value, onChange }, children: (0, jsx_runtime_1.jsxs)("div", { className: (0, clsx_1.default)('relative rounded-lg', rest.className), onDragEnter: onDragEnter, onDragLeave: onDragLeave, onDragOver: onDragOver, onDrop: onDrop, onDragStart: onDragStart, onDragEnd: onDragEnd, children: [
|
|
137
|
+
return ((0, jsx_runtime_1.jsx)(ImageUploaderContext.Provider, { value: { inputId, dragging, draggingOver, value, onChange }, children: (0, jsx_runtime_1.jsxs)("div", { className: (0, clsx_1.default)('relative rounded-lg', rest.className), onDragEnter: onDragEnter, onDragLeave: onDragLeave, onDragOver: onDragOver, onDrop: onDrop, onDragStart: onDragStart, onDragEnd: onDragEnd, children: [(0, jsx_runtime_1.jsx)("input", { type: "file", accept: "image/*", onChange: onFileChange, onClick: onFileClick, className: "absolute inset-0 pointer-events-none op-0", id: inputId }), children] }) }));
|
|
138
138
|
}
|
|
139
139
|
const ImageUploaderContext = (0, react_1.createContext)(null);
|
|
140
140
|
function useUploaderContext() {
|
|
@@ -144,10 +144,11 @@ function useUploaderContext() {
|
|
|
144
144
|
}
|
|
145
145
|
return context;
|
|
146
146
|
}
|
|
147
|
-
function ImageUploaderPrebuilt(
|
|
147
|
+
function ImageUploaderPrebuilt(_a) {
|
|
148
|
+
var { crossOrigin = 'anonymous' } = _a, props = __rest(_a, ["crossOrigin"]);
|
|
148
149
|
const [cameraOpen, setCameraOpen] = (0, react_1.useState)(false);
|
|
149
150
|
const openCamera = () => setCameraOpen(true);
|
|
150
|
-
return ((0, jsx_runtime_1.jsxs)(ImageUploaderRoot, Object.assign({}, props, { children: [(0, jsx_runtime_1.jsx)(ImageUploaderDisplay, {}), (0, jsx_runtime_1.jsxs)(ImageUploaderEmptyControls, { children: [(0, jsx_runtime_1.jsx)(ImageUploaderFileButton, {}), (0, jsx_runtime_1.jsxs)(index_js_1.Button, { color: "ghost", onClick: openCamera, children: [(0, jsx_runtime_1.jsx)(index_js_3.Icon, { name: "camera" }), (0, jsx_runtime_1.jsx)("span", { children: "Camera" })] })] }), !props.value && cameraOpen && ((0, jsx_runtime_1.jsxs)(index_js_2.CameraRoot, { className: "absolute w-full h-full z-1", format: "image/png", onCapture: (file) => {
|
|
151
|
+
return ((0, jsx_runtime_1.jsxs)(ImageUploaderRoot, Object.assign({}, props, { children: [(0, jsx_runtime_1.jsx)(ImageUploaderDisplay, { crossOrigin: crossOrigin }), (0, jsx_runtime_1.jsxs)(ImageUploaderEmptyControls, { children: [(0, jsx_runtime_1.jsx)(ImageUploaderFileButton, {}), (0, jsx_runtime_1.jsxs)(index_js_1.Button, { color: "ghost", onClick: openCamera, children: [(0, jsx_runtime_1.jsx)(index_js_3.Icon, { name: "camera" }), (0, jsx_runtime_1.jsx)("span", { children: "Camera" })] })] }), !props.value && cameraOpen && ((0, jsx_runtime_1.jsxs)(index_js_2.CameraRoot, { className: "absolute w-full h-full z-1", format: "image/png", onCapture: (file) => {
|
|
151
152
|
props.onChange(file);
|
|
152
153
|
setCameraOpen(false);
|
|
153
154
|
}, facingMode: props.facingMode, children: [(0, jsx_runtime_1.jsx)(index_js_2.CameraShutterButton, {}), (0, jsx_runtime_1.jsx)(index_js_2.CameraDeviceSelector, {}), (0, jsx_runtime_1.jsx)(index_js_2.CameraFullscreenButton, {}), (0, jsx_runtime_1.jsx)(index_js_1.Button, { onClick: () => setCameraOpen(false), color: "ghost", size: "small", className: "text-white absolute top-2 left-2", children: "Cancel" })] })), (0, jsx_runtime_1.jsx)(ImageUploaderRemoveButton, {})] })));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImageUploader.js","sourceRoot":"","sources":["../../../../src/components/imageUploader/ImageUploader.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"ImageUploader.js","sourceRoot":"","sources":["../../../../src/components/imageUploader/ImageUploader.tsx"],"names":[],"mappings":"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"}
|
|
@@ -2,8 +2,9 @@ import type { StoryObj } from '@storybook/react';
|
|
|
2
2
|
import { ImageUploader } from './ImageUploader.js';
|
|
3
3
|
declare const meta: {
|
|
4
4
|
title: string;
|
|
5
|
-
component: ((props: Omit<import("./ImageUploader.js").ImageUploaderProps, "children"> & {
|
|
5
|
+
component: (({ crossOrigin, ...props }: Omit<import("./ImageUploader.js").ImageUploaderProps, "children"> & {
|
|
6
6
|
facingMode?: "user" | "environment";
|
|
7
|
+
crossOrigin?: import("react").ImgHTMLAttributes<HTMLImageElement>["crossOrigin"];
|
|
7
8
|
}) => import("react/jsx-runtime.js").JSX.Element) & {
|
|
8
9
|
Root: typeof import("./ImageUploader.js").ImageUploaderRoot;
|
|
9
10
|
FileButton: typeof import("./ImageUploader.js").ImageUploaderFileButton;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ReactNode } from 'react';
|
|
1
|
+
import { ImgHTMLAttributes, ReactNode } from 'react';
|
|
2
2
|
import { ButtonProps } from '../button/index.js';
|
|
3
3
|
export interface ImageUploaderProps {
|
|
4
4
|
value: string | null;
|
|
@@ -13,14 +13,13 @@ export interface ImageUploaderProps {
|
|
|
13
13
|
* component to replace the existing one.
|
|
14
14
|
*/
|
|
15
15
|
export declare function ImageUploaderRoot({ value, onChange: handleChange, maxDimension, children, ...rest }: ImageUploaderProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
-
declare function ImageUploaderPrebuilt(props: Omit<ImageUploaderProps, 'children'> & {
|
|
16
|
+
declare function ImageUploaderPrebuilt({ crossOrigin, ...props }: Omit<ImageUploaderProps, 'children'> & {
|
|
17
17
|
facingMode?: 'user' | 'environment';
|
|
18
|
+
crossOrigin?: ImgHTMLAttributes<HTMLImageElement>['crossOrigin'];
|
|
18
19
|
}): import("react/jsx-runtime").JSX.Element;
|
|
19
20
|
export declare function ImageUploaderFileButton({ children, ...props }: ButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
20
21
|
export declare function ImageUploaderRemoveButton({ className, ...rest }: ButtonProps): import("react/jsx-runtime").JSX.Element | null;
|
|
21
|
-
export declare function ImageUploaderDisplay({ className, ...rest }:
|
|
22
|
-
className?: string;
|
|
23
|
-
}): import("react/jsx-runtime").JSX.Element | null;
|
|
22
|
+
export declare function ImageUploaderDisplay({ className, ...rest }: ImgHTMLAttributes<HTMLImageElement>): import("react/jsx-runtime").JSX.Element | null;
|
|
24
23
|
export declare function ImageUploaderEmptyControls({ children, className, }: {
|
|
25
24
|
children: ReactNode;
|
|
26
25
|
className?: string;
|
|
@@ -93,7 +93,7 @@ export function ImageUploaderRoot(_a) {
|
|
|
93
93
|
const onFileClick = useCallback((e) => {
|
|
94
94
|
e.stopPropagation();
|
|
95
95
|
}, []);
|
|
96
|
-
return (_jsx(ImageUploaderContext.Provider, { value: { inputId, dragging, draggingOver, value, onChange }, children: _jsxs("div", { className: classNames('relative rounded-lg', rest.className), onDragEnter: onDragEnter, onDragLeave: onDragLeave, onDragOver: onDragOver, onDrop: onDrop, onDragStart: onDragStart, onDragEnd: onDragEnd, children: [
|
|
96
|
+
return (_jsx(ImageUploaderContext.Provider, { value: { inputId, dragging, draggingOver, value, onChange }, children: _jsxs("div", { className: classNames('relative rounded-lg', rest.className), onDragEnter: onDragEnter, onDragLeave: onDragLeave, onDragOver: onDragOver, onDrop: onDrop, onDragStart: onDragStart, onDragEnd: onDragEnd, children: [_jsx("input", { type: "file", accept: "image/*", onChange: onFileChange, onClick: onFileClick, className: "absolute inset-0 pointer-events-none op-0", id: inputId }), children] }) }));
|
|
97
97
|
}
|
|
98
98
|
const ImageUploaderContext = createContext(null);
|
|
99
99
|
function useUploaderContext() {
|
|
@@ -103,10 +103,11 @@ function useUploaderContext() {
|
|
|
103
103
|
}
|
|
104
104
|
return context;
|
|
105
105
|
}
|
|
106
|
-
function ImageUploaderPrebuilt(
|
|
106
|
+
function ImageUploaderPrebuilt(_a) {
|
|
107
|
+
var { crossOrigin = 'anonymous' } = _a, props = __rest(_a, ["crossOrigin"]);
|
|
107
108
|
const [cameraOpen, setCameraOpen] = useState(false);
|
|
108
109
|
const openCamera = () => setCameraOpen(true);
|
|
109
|
-
return (_jsxs(ImageUploaderRoot, Object.assign({}, props, { children: [_jsx(ImageUploaderDisplay, {}), _jsxs(ImageUploaderEmptyControls, { children: [_jsx(ImageUploaderFileButton, {}), _jsxs(Button, { color: "ghost", onClick: openCamera, children: [_jsx(Icon, { name: "camera" }), _jsx("span", { children: "Camera" })] })] }), !props.value && cameraOpen && (_jsxs(CameraRoot, { className: "absolute w-full h-full z-1", format: "image/png", onCapture: (file) => {
|
|
110
|
+
return (_jsxs(ImageUploaderRoot, Object.assign({}, props, { children: [_jsx(ImageUploaderDisplay, { crossOrigin: crossOrigin }), _jsxs(ImageUploaderEmptyControls, { children: [_jsx(ImageUploaderFileButton, {}), _jsxs(Button, { color: "ghost", onClick: openCamera, children: [_jsx(Icon, { name: "camera" }), _jsx("span", { children: "Camera" })] })] }), !props.value && cameraOpen && (_jsxs(CameraRoot, { className: "absolute w-full h-full z-1", format: "image/png", onCapture: (file) => {
|
|
110
111
|
props.onChange(file);
|
|
111
112
|
setCameraOpen(false);
|
|
112
113
|
}, facingMode: props.facingMode, children: [_jsx(CameraShutterButton, {}), _jsx(CameraDeviceSelector, {}), _jsx(CameraFullscreenButton, {}), _jsx(Button, { onClick: () => setCameraOpen(false), color: "ghost", size: "small", className: "text-white absolute top-2 left-2", children: "Cancel" })] })), _jsx(ImageUploaderRemoveButton, {})] })));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImageUploader.js","sourceRoot":"","sources":["../../../../src/components/imageUploader/ImageUploader.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,UAAU,EAAE,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,EACN,aAAa,
|
|
1
|
+
{"version":3,"file":"ImageUploader.js","sourceRoot":"","sources":["../../../../src/components/imageUploader/ImageUploader.tsx"],"names":[],"mappings":"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"}
|
|
@@ -2,8 +2,9 @@ import type { StoryObj } from '@storybook/react';
|
|
|
2
2
|
import { ImageUploader } from './ImageUploader.js';
|
|
3
3
|
declare const meta: {
|
|
4
4
|
title: string;
|
|
5
|
-
component: ((props: Omit<import("./ImageUploader.js").ImageUploaderProps, "children"> & {
|
|
5
|
+
component: (({ crossOrigin, ...props }: Omit<import("./ImageUploader.js").ImageUploaderProps, "children"> & {
|
|
6
6
|
facingMode?: "user" | "environment";
|
|
7
|
+
crossOrigin?: import("react").ImgHTMLAttributes<HTMLImageElement>["crossOrigin"];
|
|
7
8
|
}) => import("react/jsx-runtime").JSX.Element) & {
|
|
8
9
|
Root: typeof import("./ImageUploader.js").ImageUploaderRoot;
|
|
9
10
|
FileButton: typeof import("./ImageUploader.js").ImageUploaderFileButton;
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import classNames, { clsx } from 'clsx';
|
|
2
2
|
import {
|
|
3
3
|
createContext,
|
|
4
|
+
ImgHTMLAttributes,
|
|
4
5
|
ReactNode,
|
|
5
6
|
useCallback,
|
|
6
7
|
useContext,
|
|
@@ -140,16 +141,14 @@ export function ImageUploaderRoot({
|
|
|
140
141
|
onDragStart={onDragStart}
|
|
141
142
|
onDragEnd={onDragEnd}
|
|
142
143
|
>
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
/>
|
|
152
|
-
)}
|
|
144
|
+
<input
|
|
145
|
+
type="file"
|
|
146
|
+
accept="image/*"
|
|
147
|
+
onChange={onFileChange}
|
|
148
|
+
onClick={onFileClick}
|
|
149
|
+
className="absolute inset-0 pointer-events-none op-0"
|
|
150
|
+
id={inputId}
|
|
151
|
+
/>
|
|
153
152
|
{children}
|
|
154
153
|
</div>
|
|
155
154
|
</ImageUploaderContext.Provider>
|
|
@@ -171,17 +170,19 @@ function useUploaderContext() {
|
|
|
171
170
|
return context;
|
|
172
171
|
}
|
|
173
172
|
|
|
174
|
-
function ImageUploaderPrebuilt(
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
173
|
+
function ImageUploaderPrebuilt({
|
|
174
|
+
crossOrigin = 'anonymous',
|
|
175
|
+
...props
|
|
176
|
+
}: Omit<ImageUploaderProps, 'children'> & {
|
|
177
|
+
facingMode?: 'user' | 'environment';
|
|
178
|
+
crossOrigin?: ImgHTMLAttributes<HTMLImageElement>['crossOrigin'];
|
|
179
|
+
}) {
|
|
179
180
|
const [cameraOpen, setCameraOpen] = useState(false);
|
|
180
181
|
const openCamera = () => setCameraOpen(true);
|
|
181
182
|
|
|
182
183
|
return (
|
|
183
184
|
<ImageUploaderRoot {...props}>
|
|
184
|
-
<ImageUploaderDisplay />
|
|
185
|
+
<ImageUploaderDisplay crossOrigin={crossOrigin} />
|
|
185
186
|
|
|
186
187
|
<ImageUploaderEmptyControls>
|
|
187
188
|
<ImageUploaderFileButton />
|
|
@@ -278,9 +279,7 @@ export function ImageUploaderRemoveButton({ className, ...rest }: ButtonProps) {
|
|
|
278
279
|
export function ImageUploaderDisplay({
|
|
279
280
|
className,
|
|
280
281
|
...rest
|
|
281
|
-
}: {
|
|
282
|
-
className?: string;
|
|
283
|
-
}) {
|
|
282
|
+
}: ImgHTMLAttributes<HTMLImageElement>) {
|
|
284
283
|
const { value } = useUploaderContext();
|
|
285
284
|
return value ? (
|
|
286
285
|
<img
|