@edu-tosel/design 1.0.122 → 1.0.124

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,8 +45,10 @@ 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;
51
+ export type IsValid = undefined | boolean | ((value: string) => boolean | undefined);
50
52
  export type Scripts = {
51
53
  script?: string;
52
54
  subscript?: string | string[];
@@ -1,5 +1,5 @@
1
1
  import { Color } from "../Color";
2
- import { Disabled, OnClick, Size, State } from "../Property";
2
+ import { Disabled, IsValid, OnClick, Size, State } from "../Property";
3
3
  import { SelectOptionInput } from "./Select";
4
4
  export * from "./Box";
5
5
  export * from "./Carousel";
@@ -29,15 +29,16 @@ export interface Widget {
29
29
  export interface LabelWidget extends Widget {
30
30
  title: string;
31
31
  hoverState?: State<boolean>;
32
+ disabled?: Disabled;
32
33
  onClick?: OnClick;
33
34
  }
34
35
  type InputType = "text" | "password" | "date" | "email" | "phone" | "number";
35
36
  export interface InputWidget extends Widget {
36
37
  title?: string;
37
38
  state: State<string> | State<string | undefined>;
38
- onKeyDown?: (e: React.KeyboardEvent) => void;
39
+ onKeyDown?: (e: React.KeyboardEvent, value: string) => void;
39
40
  placeholder?: string;
40
- isValid?: boolean | ((value: string) => boolean);
41
+ isValid?: IsValid;
41
42
  type?: InputType;
42
43
  button?: LabelWidget;
43
44
  maxLength?: number;
@@ -6,7 +6,7 @@ export default function Banner() {
6
6
  displays: "flex justify-center items-center",
7
7
  spacings: "px-5",
8
8
  textstyles: "antialiased",
9
- backgrounds: "bg-cover bg-center",
9
+ backgrounds: "bg-[url('images/olympiad/img-oly-bg-a.png')] bg-cover bg-center",
10
10
  };
11
11
  const explainer = {
12
12
  textstyles: "text-xl md:text-2xl font-pretendard-medium text-gray-light mix-blend-difference sm:text-green-dark sm:mix-blend-normal",
@@ -3,17 +3,42 @@ import { cn } from "../../../util";
3
3
  export default function Features() {
4
4
  const container = {
5
5
  sizes: "w-full h-fit p-5",
6
- backgroudns: "bg-green-light",
6
+ spacings: "p-5 my-12",
7
+ displays: "flex flex-col justify-center items-center",
8
+ graphics: "antialiased",
9
+ text: "break-keep",
7
10
  };
8
11
  const boxWrapper = {
9
12
  sizes: "w-full h-fit",
10
- displays: "flex flex-col gap-4",
13
+ displays: "flex flex-col items-center md:flex-row md:items-start md:justify-center md:max-w-6xl",
14
+ spacings: "gap-8",
15
+ animations: "duration-300",
16
+ };
17
+ const sectiontitle = {
18
+ textstyles: "text-xl text-center text-green-dark mb-10 font-pretendard-bold md:text-2xl",
19
+ animations: "duration-300",
11
20
  };
12
21
  // styling of feature box components
13
22
  const featureBox = {
14
- sizes: "w-full h-80 rounded-lg",
15
- backgrunds: "bg-green-dark",
23
+ sizes: "w-full h-fit max-w-md",
24
+ displays: "flex flex-col items-center md:grow",
25
+ spacings: "py-4",
26
+ animations: "duration-300",
27
+ };
28
+ const boxTitle = {
29
+ textstyles: "font-pretendard-bold text-lg text-center text-green-dark my-4 md:text-xl",
30
+ animations: "duration-300",
31
+ };
32
+ const boxSubTitle = {
33
+ textstyles: "font-pretendard-medium text-base text-center text-green-dark mt-6",
34
+ animations: "duration-300",
35
+ };
36
+ // common svg attributes
37
+ const svgAttributes = {
38
+ xmlns: "http://www.w3.org/2000/svg",
39
+ fill: "none",
40
+ viewBox: "0 0 24 24",
41
+ className: "size-6 fill-green-dark",
16
42
  };
17
- const boxTitle = {};
18
- return (_jsx("div", { className: cn(container), children: _jsxs("div", { className: cn(boxWrapper), children: [_jsx("div", { className: cn(featureBox) }), _jsx("div", { className: cn(featureBox) }), _jsx("div", { className: cn(featureBox) })] }) }));
43
+ return (_jsxs("div", { className: cn(container), children: [_jsx("div", { className: cn(sectiontitle), children: "\uC804\uAD6D \uB2E8\uC704 \uC62C\uB9BC\uD53C\uC544\uB4DC, \uC9D1\uC5D0\uC11C \uAC04\uD3B8\uD558\uAC8C \uACBD\uD5D8\uD558\uB2E4." }), _jsx("div", { className: "h-0.5 w-1/4 mb-8 bg-green-dark rounded-lg" }), _jsxs("div", { className: cn(boxWrapper), children: [_jsxs("div", { className: cn(featureBox), children: [_jsxs("svg", { ...svgAttributes, children: [_jsx("path", { d: "M11.47 3.841a.75.75 0 0 1 1.06 0l8.69 8.69a.75.75 0 1 0 1.06-1.061l-8.689-8.69a2.25 2.25 0 0 0-3.182 0l-8.69 8.69a.75.75 0 1 0 1.061 1.06l8.69-8.689Z" }), _jsx("path", { d: "m12 5.432 8.159 8.159c.03.03.06.058.091.086v6.198c0 1.035-.84 1.875-1.875 1.875H15a.75.75 0 0 1-.75-.75v-4.5a.75.75 0 0 0-.75-.75h-3a.75.75 0 0 0-.75.75V21a.75.75 0 0 1-.75.75H5.625a1.875 1.875 0 0 1-1.875-1.875v-6.198a2.29 2.29 0 0 0 .091-.086L12 5.432Z" })] }), _jsx("div", { className: cn(boxTitle), children: "\uC9D1\uC5D0\uC11C \uD3B8\uB9AC\uD558\uAC8C \uC751\uC2DC" }), _jsx("img", { src: "images/olympiad/img-oly-b1.png", alt: "\uCEF4\uD4E8\uD130\uB85C \uBB38\uC81C\uB97C \uD478\uB294 \uC5EC\uC131" }), _jsx("div", { className: cn(boxSubTitle), children: "\uC5B4\uB514\uC11C\uB098 \uC628\uB77C\uC778 \uBE0C\uB77C\uC6B0\uC800 \uC2DC\uD5D8 \uC751\uC2DC\uAC00 \uAC00\uB2A5\uD569\uB2C8\uB2E4." })] }), _jsxs("div", { className: cn(featureBox), children: [_jsx("svg", { ...svgAttributes, children: _jsx("path", { "fill-rule": "evenodd", d: "M5.166 2.621v.858c-1.035.148-2.059.33-3.071.543a.75.75 0 0 0-.584.859 6.753 6.753 0 0 0 6.138 5.6 6.73 6.73 0 0 0 2.743 1.346A6.707 6.707 0 0 1 9.279 15H8.54c-1.036 0-1.875.84-1.875 1.875V19.5h-.75a2.25 2.25 0 0 0-2.25 2.25c0 .414.336.75.75.75h15a.75.75 0 0 0 .75-.75 2.25 2.25 0 0 0-2.25-2.25h-.75v-2.625c0-1.036-.84-1.875-1.875-1.875h-.739a6.706 6.706 0 0 1-1.112-3.173 6.73 6.73 0 0 0 2.743-1.347 6.753 6.753 0 0 0 6.139-5.6.75.75 0 0 0-.585-.858 47.077 47.077 0 0 0-3.07-.543V2.62a.75.75 0 0 0-.658-.744 49.22 49.22 0 0 0-6.093-.377c-2.063 0-4.096.128-6.093.377a.75.75 0 0 0-.657.744Zm0 2.629c0 1.196.312 2.32.857 3.294A5.266 5.266 0 0 1 3.16 5.337a45.6 45.6 0 0 1 2.006-.343v.256Zm13.5 0v-.256c.674.1 1.343.214 2.006.343a5.265 5.265 0 0 1-2.863 3.207 6.72 6.72 0 0 0 .857-3.294Z", "clip-rule": "evenodd" }) }), _jsx("div", { className: cn(boxTitle), children: "\uAD6D\uB0B4 \uC720\uC77C\uC758 \uC218\uC0C1\uD61C\uD0DD" }), _jsx("img", { src: "images/olympiad/img-oly-b2.png", alt: "\uD2B8\uB85C\uD53C\uB97C \uB4E4\uACE0 \uC88B\uC544\uD558\uB294 \uC0AC\uB78C" }), _jsx("div", { className: cn(boxSubTitle), children: "\uB300\uD68C \uC6B0\uC2B9\uC790\uC5D0\uAC8C\uB294 \uACE0\uB824\uB300\uD559\uAD50 \uAE30\uAD00\uC7A5\uC0C1\uC774 \uC218\uC5EC\uB429\uB2C8\uB2E4." })] }), _jsxs("div", { className: cn(featureBox), children: [_jsx("svg", { ...svgAttributes, children: _jsx("path", { "fill-rule": "evenodd", d: "M8.603 3.799A4.49 4.49 0 0 1 12 2.25c1.357 0 2.573.6 3.397 1.549a4.49 4.49 0 0 1 3.498 1.307 4.491 4.491 0 0 1 1.307 3.497A4.49 4.49 0 0 1 21.75 12a4.49 4.49 0 0 1-1.549 3.397 4.491 4.491 0 0 1-1.307 3.497 4.491 4.491 0 0 1-3.497 1.307A4.49 4.49 0 0 1 12 21.75a4.49 4.49 0 0 1-3.397-1.549 4.49 4.49 0 0 1-3.498-1.306 4.491 4.491 0 0 1-1.307-3.498A4.49 4.49 0 0 1 2.25 12c0-1.357.6-2.573 1.549-3.397a4.49 4.49 0 0 1 1.307-3.497 4.49 4.49 0 0 1 3.497-1.307Zm7.007 6.387a.75.75 0 1 0-1.22-.872l-3.236 4.53L9.53 12.22a.75.75 0 0 0-1.06 1.06l2.25 2.25a.75.75 0 0 0 1.14-.094l3.75-5.25Z", "clip-rule": "evenodd" }) }), _jsx("div", { className: cn(boxTitle), children: "\uAC04\uD3B8\uD55C \uACB0\uACFC \uD655\uC778" }), _jsx("img", { src: "images/olympiad/img-oly-b3.png", alt: "\uD2B8\uB85C\uD53C\uB97C \uB4E4\uACE0 \uC88B\uC544\uD558\uB294 \uC0AC\uB78C" }), _jsx("div", { className: cn(boxSubTitle), children: "\uB300\uC2DC\uBCF4\uB4DC\uC5D0\uC11C \uC218\uC0C1\uC5EC\uBD80\uB97C \uAC04\uD3B8\uD558\uAC8C \uD655\uC778\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4." })] })] })] }));
19
44
  }
@@ -10,7 +10,7 @@ export default function ConfirmModalDesign({ titles, showAction, buttons, childr
10
10
  positions: "absolute bottom-4 md:bottom-5 right-2 md:right-5",
11
11
  displays: "flex gap-1 md:gap-2.5",
12
12
  };
13
- return (_jsx(ModalDesign, { titles: titles, showAction: showAction, option: option, children: _jsxs("div", { className: cn(container), children: [children, _jsx("div", { className: cn(buttonBox), children: buttons.map(({ title, onClick, option }) => (_jsx(Label.Button, { title: title, onClick: onClick, option: {
13
+ return (_jsx(ModalDesign, { titles: titles, showAction: showAction, option: option, children: _jsxs("div", { className: cn(container), children: [children, _jsx("div", { className: cn(buttonBox), children: buttons.map(({ title, onClick, option, disabled }) => (_jsx(Label.Button, { title: title, onClick: onClick, disabled: disabled, option: {
14
14
  ...option,
15
15
  width: "lg",
16
16
  height: "sm",
@@ -7,9 +7,8 @@ export default function Confirm(props) {
7
7
  const { className } = props.option ?? {};
8
8
  const container = {
9
9
  displays: "flex flex-col",
10
- margins: "mt-2.5",
11
- className,
12
10
  sizes: "w-full h-60",
11
+ styles: className ?? "mt-2.5",
13
12
  };
14
13
  return (_jsx(ConfirmModalDesign, { ...props, children: _jsx("div", { className: cn(container), children: props.widgets?.map((widget, index) => (_createElement(ConfirmModalWidget, { ...widget, key: index }))) }), option: {
15
14
  ...props.option,
@@ -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.124",
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.124
@@ -1,2 +1,2 @@
1
1
  import { LabelWidget } from "../../interface";
2
- export default function LabelDesign({ title, onClick, option, hoverState, }: LabelWidget): import("react/jsx-runtime").JSX.Element;
2
+ export default function LabelDesign({ title, onClick, disabled, option, hoverState, }: LabelWidget): import("react/jsx-runtime").JSX.Element;
@@ -19,9 +19,13 @@ const heightSize = {
19
19
  sm: "h-11.25",
20
20
  md: "h-12.25",
21
21
  };
22
- export default function LabelDesign({ title, onClick, option, hoverState, }) {
22
+ export default function LabelDesign({ title, onClick, disabled, option, hoverState, }) {
23
23
  const [hover, setHover] = hoverState ?? [false, () => { }];
24
- const { width, height, text, background, className, disabled, boundary } = option ?? {};
24
+ const { width, height, text, background, className, boundary } = option ?? {};
25
+ const container = {
26
+ positions: className ?? "relative",
27
+ sizes: `${widthSize[width ?? "sm"]} ${heightSize[height ?? "xs"]}`,
28
+ };
25
29
  const body = {
26
30
  positions: "relative z-10",
27
31
  sizes: "w-full h-full",
@@ -38,9 +42,7 @@ export default function LabelDesign({ title, onClick, option, hoverState, }) {
38
42
  ? "rounded-md text-xs"
39
43
  : "rounded-lgx",
40
44
  };
41
- const container = {
42
- className,
43
- sizes: `${widthSize[width ?? "sm"]} ${heightSize[height ?? "xs"]}`,
44
- };
45
- return (_jsxs("div", { className: cn(container), children: [_jsx("div", { className: cn(body), onClick: onClick, onMouseEnter: () => setHover(true), onMouseLeave: () => setHover(false), children: title }), _jsx(Obstacle, { disabled: disabled })] }));
45
+ return (_jsxs("div", { className: cn(container), children: [_jsx("div", { className: cn(body), onClick: onClick, onMouseEnter: () => setHover(true), onMouseLeave: () => setHover(false), children: title }), _jsx(Obstacle, { disabled: disabled, option: {
46
+ background: "",
47
+ } })] }));
46
48
  }
@@ -1,2 +1,2 @@
1
1
  import { InputWidget } from "../../../interface";
2
- export default function InputForm({ title, state, placeholder, isValid, type, button, maxLength, disabled, }: InputWidget): import("react/jsx-runtime").JSX.Element;
2
+ export default function InputForm({ title, state, placeholder, isValid, type, onKeyDown, button, maxLength, disabled, }: InputWidget): import("react/jsx-runtime").JSX.Element;
@@ -3,7 +3,7 @@ import { useRef, useState } from "react";
3
3
  import { cn, gradient } from "../../../util";
4
4
  import Label from "../Label";
5
5
  import Obstacle from "../Obstacle";
6
- export default function InputForm({ title, state, placeholder, isValid, type, button, maxLength, disabled, }) {
6
+ export default function InputForm({ title, state, placeholder, isValid, type, onKeyDown, button, maxLength, disabled, }) {
7
7
  const [value, setValue] = state;
8
8
  const [onFocus, setOnFocus] = useState(false);
9
9
  const ref = useRef(null);
@@ -23,7 +23,11 @@ export default function InputForm({ title, state, placeholder, isValid, type, bu
23
23
  if (typeof isValid === "undefined")
24
24
  return gray;
25
25
  if (typeof isValid === "function")
26
- return isValid(value ?? "") ? green : red;
26
+ return typeof isValid(value ?? "") === "undefined"
27
+ ? gray
28
+ : isValid(value ?? "")
29
+ ? green
30
+ : red;
27
31
  if (isValid)
28
32
  return green;
29
33
  return red;
@@ -39,7 +43,7 @@ export default function InputForm({ title, state, placeholder, isValid, type, bu
39
43
  !(isValid === false) &&
40
44
  "shadow-[0px_0px_10px_0px_rgba(16,86,82,0.38)]",
41
45
  };
42
- return (_jsxs("div", { children: [title && _jsx("div", { className: "text-gray-dark", children: title }), _jsxs("div", { className: cn(container), children: [_jsx("div", { onClick: () => ref.current?.focus(), className: cn(placeholderBox), children: placeholder }), _jsx("input", { ref: ref, className: cn(inputBox), value: value, onFocus: () => setOnFocus(true), onBlur: () => setOnFocus(false), onChange: (e) => {
46
+ return (_jsxs("div", { children: [title && _jsx("div", { className: "text-gray-dark", children: title }), _jsxs("div", { className: cn(container), children: [_jsx("div", { onClick: () => ref.current?.focus(), className: cn(placeholderBox), children: placeholder }), _jsx("input", { ref: ref, className: cn(inputBox), value: value, onKeyDown: onKeyDown && ((e) => onKeyDown(e, value ?? "")), onFocus: () => setOnFocus(true), onBlur: () => setOnFocus(false), onChange: (e) => {
43
47
  if (maxLength && e.target.value.length > maxLength)
44
48
  return;
45
49
  setValue(e.target.value);
@@ -28,7 +28,7 @@ function Input({ state, onKeyDown, placeholder, option }) {
28
28
  pseudo: "focus:outline-none focus:bg-white focus:text-black box-shadow-focus",
29
29
  effect: `transition-all`,
30
30
  };
31
- return (_jsxs("div", { className: cn(container), children: [_jsx("input", { className: cn(body), id: id, type: "text", value: value, placeholder: placeholder ?? "입력해주세요", onKeyDown: onKeyDown, onChange: (e) => setValue(e.target.value) }), _jsx(Obstacle, { disabled: disabled })] }));
31
+ return (_jsxs("div", { className: cn(container), children: [_jsx("input", { className: cn(body), id: id, type: "text", value: value, placeholder: placeholder ?? "입력해주세요", onKeyDown: onKeyDown && ((e) => onKeyDown(e, value ?? "")), onChange: (e) => setValue(e.target.value) }), _jsx(Obstacle, { disabled: disabled })] }));
32
32
  }
33
33
  Input.Form = Form;
34
34
  export default Input;
@@ -1,7 +1,7 @@
1
1
  import { LabelWidget } from "../../interface";
2
2
  declare function Label({ title, option }: Omit<LabelWidget, "onClick">): import("react/jsx-runtime").JSX.Element;
3
3
  declare namespace Label {
4
- var Button: ({ title, hoverTitle, onClick, option, }: Omit<LabelWidget, "hoverState"> & {
4
+ var Button: ({ title, hoverTitle, onClick, disabled, option, }: Omit<LabelWidget, "hoverState"> & {
5
5
  hoverTitle?: string | undefined;
6
6
  }) => import("react/jsx-runtime").JSX.Element;
7
7
  }
@@ -5,9 +5,9 @@ function Label({ title, option }) {
5
5
  const [hover, setHover] = useState(false);
6
6
  return (_jsx(LabelDesign, { title: title, hoverState: [hover, setHover], option: { ...option, width: "sm", height: "xs" } }));
7
7
  }
8
- function Button({ title, hoverTitle, onClick, option, }) {
8
+ function Button({ title, hoverTitle, onClick, disabled, option, }) {
9
9
  const [hover, setHover] = useState(false);
10
- return (_jsx(LabelDesign, { title: hoverTitle ? (!hover ? title : hoverTitle) : title, onClick: onClick, hoverState: [hover, setHover], option: {
10
+ return (_jsx(LabelDesign, { title: hoverTitle ? (!hover ? title : hoverTitle) : title, onClick: onClick, disabled: disabled, hoverState: [hover, setHover], option: {
11
11
  ...option,
12
12
  width: option?.width ?? "md",
13
13
  height: option?.height ?? "sm",