@edu-tosel/design 1.0.122 → 1.0.123

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.
@@ -45,7 +45,8 @@ export type Click<REQ = unknown, RES = any> = (prop?: REQ) => RES;
45
45
  export type OnClick<Request = unknown, Response = unknown> = (prop?: Request) => Response | ((prop?: Request) => Promise<Response>);
46
46
  export interface Button extends LabelWidget {
47
47
  }
48
- export type FileRead = string | ArrayBuffer | null;
48
+ export type FileDisplay = string | ArrayBuffer | null;
49
+ export type FileRead = File | null;
49
50
  export type Disabled = boolean | OnClick;
50
51
  export type Scripts = {
51
52
  script?: string;
@@ -1,8 +1,9 @@
1
1
  import { ConfirmModalProps } from "../../../interface/Modal";
2
- import { FileRead, State } from "../../../interface";
2
+ import { FileDisplay, FileRead, State } from "../../../interface";
3
3
  interface ReimageProps extends Omit<ConfirmModalProps, "children"> {
4
4
  data: {
5
5
  image: State<FileRead>;
6
+ display: State<FileDisplay>;
6
7
  nowImage: string;
7
8
  };
8
9
  }
@@ -5,7 +5,8 @@ import { cn } from "../../../util";
5
5
  import SVG from "../../../asset/SVG";
6
6
  export default function Reimage(props) {
7
7
  const { data } = props;
8
- const [selectedImage, setSelectedImage] = data.image;
8
+ const [selectedImageDisplay, setSelectedImageDisplay] = data.display;
9
+ const [_, setSelectedImage] = data.image;
9
10
  const ref = useRef(null);
10
11
  const labelBox = {
11
12
  displays: "flex items-center pl-5",
@@ -17,12 +18,13 @@ export default function Reimage(props) {
17
18
  if (file) {
18
19
  const reader = new FileReader();
19
20
  reader.onloadend = () => {
20
- setSelectedImage(reader.result);
21
+ setSelectedImage(file);
22
+ setSelectedImageDisplay(reader.result);
21
23
  };
22
24
  reader.readAsDataURL(file);
23
25
  }
24
26
  };
25
- return (_jsx(ConfirmModal, { ...props, children: _jsxs("div", { className: "flex flex-col gap-y-5.5 mt-4.5", children: [_jsx("div", { className: cn(labelBox), children: "\uC774\uBBF8\uC9C0\uB97C \uC120\uD0DD\uD574\uC8FC\uC138\uC694." }), _jsxs("div", { className: "flex w-full justify-center gap-x-12", children: [_jsx(ImageFrame, { image: data.nowImage, script: "\uD604\uC7AC \uC0AC\uC9C4" }), _jsx(SVG.Direction.Right, { className: "mt-7.5" }), _jsx(ImageFrame, { onClick: () => ref.current?.click(), image: selectedImage, script: "\uC0C8\uB85C\uC6B4 \uC0AC\uC9C4" })] }), _jsxs("div", { className: "w-full flex flex-col items-center text-xs text-gray-medium", children: [_jsx("div", { children: "\uB4F1\uB85D\uB41C \uC0AC\uC9C4\uC740 \uC218\uD5D8\uD45C \uBC1C\uAE09\uC2DC \uC790\uB3D9\uC73C\uB85C \uC0AC\uC6A9\uB429\uB2C8\uB2E4." }), _jsx("div", { children: "\uAC00\uAE09\uC801 1:1 \uBE44\uC728, 100*100px \uC774\uC0C1\uC758 \uC0AC\uC9C4\uC744 \uC0AC\uC6A9\uD574\uC8FC\uC138\uC694." })] }), _jsx("input", { ref: ref, type: "file", accept: "image/*", onChange: handleImageChange, className: "hidden" })] }) }));
27
+ return (_jsx(ConfirmModal, { ...props, children: _jsxs("div", { className: "flex flex-col gap-y-5.5 mt-4.5", children: [_jsx("div", { className: cn(labelBox), children: "\uC774\uBBF8\uC9C0\uB97C \uC120\uD0DD\uD574\uC8FC\uC138\uC694." }), _jsxs("div", { className: "flex w-full justify-center gap-x-12", children: [_jsx(ImageFrame, { image: data.nowImage, script: "\uD604\uC7AC \uC0AC\uC9C4" }), _jsx(SVG.Direction.Right, { className: "mt-7.5" }), _jsx(ImageFrame, { onClick: () => ref.current?.click(), image: selectedImageDisplay, script: "\uC0C8\uB85C\uC6B4 \uC0AC\uC9C4" })] }), _jsxs("div", { className: "w-full flex flex-col items-center text-xs text-gray-medium", children: [_jsx("div", { children: "\uB4F1\uB85D\uB41C \uC0AC\uC9C4\uC740 \uC218\uD5D8\uD45C \uBC1C\uAE09\uC2DC \uC790\uB3D9\uC73C\uB85C \uC0AC\uC6A9\uB429\uB2C8\uB2E4." }), _jsx("div", { children: "\uAC00\uAE09\uC801 1:1 \uBE44\uC728, 100*100px \uC774\uC0C1\uC758 \uC0AC\uC9C4\uC744 \uC0AC\uC6A9\uD574\uC8FC\uC138\uC694." })] }), _jsx("input", { ref: ref, type: "file", accept: "image/*", onChange: handleImageChange, className: "hidden" })] }) }));
26
28
  }
27
29
  function ImageFrame({ image, script, onClick }) {
28
30
  const imageBox = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@edu-tosel/design",
3
- "version": "1.0.122",
3
+ "version": "1.0.123",
4
4
  "description": "UI components for International TOSEL Committee",
5
5
  "keywords": [
6
6
  "jsx",
package/version.txt CHANGED
@@ -1 +1 @@
1
- 1.0.122
1
+ 1.0.123