@edu-tosel/design 1.0.65 → 1.0.67
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/asset/SVG.d.ts +2 -0
- package/asset/svg/Direction.d.ts +4 -0
- package/asset/svg/Direction.js +11 -0
- package/asset/svg/Direction.tsx +40 -0
- package/card/design/Card.design.js +13 -12
- package/card/design/CustomCard.design.d.ts +2 -0
- package/card/design/CustomCard.design.js +23 -0
- package/card/design/TableCard.design.js +7 -4
- package/card/index.d.ts +1 -0
- package/card/index.js +1 -0
- package/card/template/ConfirmCard/index.d.ts +3 -0
- package/card/template/ConfirmCard/index.js +3 -3
- package/card/template/CustomCard.d.ts +3 -0
- package/card/template/CustomCard.js +6 -0
- package/card/template/InfoCard/Academy.d.ts +1 -1
- package/card/template/InfoCard/Academy.js +4 -4
- package/card/template/NavCard.js +5 -1
- package/card/template/ProgressCard/Large.d.ts +1 -1
- package/card/template/ProgressCard/Large.js +4 -4
- package/card/template/ProgressCard/Small.d.ts +1 -1
- package/card/template/ProgressCard/Small.js +3 -3
- package/interaction/index.d.ts +1 -0
- package/interaction/index.js +1 -0
- package/interaction/template/Lock.d.ts +3 -0
- package/interaction/template/Lock.js +4 -0
- package/interface/Action.d.ts +6 -1
- package/interface/Board.d.ts +2 -1
- package/interface/Card.d.ts +9 -2
- package/interface/Data.d.ts +41 -0
- package/interface/Data.js +4 -0
- package/interface/Property.d.ts +8 -24
- package/interface/index.d.ts +2 -1
- package/interface/index.js +2 -1
- package/interface/widget/Obstacle.d.ts +10 -0
- package/interface/widget/Obstacle.js +1 -0
- package/interface/widget/Select.d.ts +23 -0
- package/interface/widget/Select.js +1 -0
- package/interface/widget/index.d.ts +1 -0
- package/layout/design/DataField.design.js +7 -5
- package/layout/design/Row.design/SelectRoll.d.ts +7 -0
- package/layout/design/Row.design/SelectRoll.js +39 -0
- package/layout/design/{Row.design.d.ts → Row.design/index.d.ts} +1 -1
- package/layout/design/{Row.design.js → Row.design/index.js} +13 -6
- package/layout/template/DataField.js +1 -1
- package/layout/template/Gallery.d.ts +3 -1
- package/layout/template/Gallery.js +4 -2
- package/layout/template/Row.js +1 -1
- package/layout/template/Tab.d.ts +1 -0
- package/layout/template/Tab.js +5 -3
- package/modal/template/Confirm/Switch.d.ts +2 -6
- package/modal/template/Confirm/Switch.js +2 -6
- package/package.json +1 -1
- package/tailwind.config.ts +2 -0
- package/version.txt +1 -1
- package/widget/design/Label.design.js +2 -1
- package/widget/design/Obstacle.design.d.ts +2 -0
- package/widget/design/Obstacle.design.js +13 -0
- package/widget/index.d.ts +2 -0
- package/widget/index.js +2 -0
- package/widget/template/Counter.d.ts +19 -0
- package/widget/template/Counter.js +48 -0
- package/widget/template/Input/Form.d.ts +1 -1
- package/widget/template/Input/Form.js +3 -2
- package/widget/template/Obstacle/index.d.ts +6 -0
- package/widget/template/Obstacle/index.js +13 -0
- package/widget/template/Pagination.d.ts +7 -0
- package/widget/template/Pagination.js +20 -0
- package/widget/template/Select/Handle.d.ts +2 -0
- package/widget/template/Select/Handle.js +30 -0
- package/widget/template/Select/Swipe.d.ts +10 -0
- package/widget/template/Select/Swipe.js +11 -0
- package/widget/template/Select/Switch.d.ts +3 -0
- package/widget/template/Select/Switch.js +43 -0
- package/widget/template/Select/Tag.d.ts +16 -0
- package/widget/template/Select/Tag.js +29 -0
- package/widget/template/Select/index.d.ts +8 -0
- package/widget/template/Select/index.js +5 -1
- package/widget/template/Switch/Switch.d.ts +17 -3
- package/widget/template/Switch/Switch.js +9 -10
- package/widget/template/Obstacle.d.ts +0 -4
- package/widget/template/Obstacle.js +0 -10
package/asset/SVG.d.ts
CHANGED
|
@@ -14,6 +14,8 @@ declare const SVG: {
|
|
|
14
14
|
Close: typeof Close;
|
|
15
15
|
Direction: {
|
|
16
16
|
Right: ({ className }: Direction) => import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
Asc: () => import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
Desc: () => import("react/jsx-runtime").JSX.Element;
|
|
17
19
|
};
|
|
18
20
|
Email: typeof Email;
|
|
19
21
|
Icon: {
|
package/asset/svg/Direction.d.ts
CHANGED
|
@@ -2,7 +2,11 @@ interface Direction {
|
|
|
2
2
|
className?: string;
|
|
3
3
|
}
|
|
4
4
|
declare function Right({ className }: Direction): import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
declare function Asc(): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
declare function Desc(): import("react/jsx-runtime").JSX.Element;
|
|
5
7
|
declare const Direction: {
|
|
6
8
|
Right: typeof Right;
|
|
9
|
+
Asc: typeof Asc;
|
|
10
|
+
Desc: typeof Desc;
|
|
7
11
|
};
|
|
8
12
|
export default Direction;
|
package/asset/svg/Direction.js
CHANGED
|
@@ -1,8 +1,19 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useId } from "react";
|
|
2
3
|
function Right({ className }) {
|
|
3
4
|
return (_jsxs("svg", { className: className, xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", children: [_jsx("path", { d: "M21 12C21 13.1819 20.7672 14.3522 20.3149 15.4442C19.8626 16.5361 19.1997 17.5282 18.364 18.364C17.5282 19.1997 16.5361 19.8626 15.4442 20.3149C14.3522 20.7672 13.1819 21 12 21C10.8181 21 9.64778 20.7672 8.55585 20.3149C7.46392 19.8626 6.47177 19.1997 5.63604 18.364C4.80031 17.5282 4.13738 16.5361 3.68508 15.4442C3.23279 14.3522 3 13.1819 3 12C3 9.61305 3.94821 7.32387 5.63604 5.63604C7.32387 3.94821 9.61305 3 12 3C14.3869 3 16.6761 3.94821 18.364 5.63604C20.0518 7.32387 21 9.61305 21 12Z", fill: "#105652", stroke: "#105652", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }), _jsx("path", { d: "M12.75 15L15.75 12M15.75 12L12.75 9M15.75 12H8.25", stroke: "white", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" })] }));
|
|
4
5
|
}
|
|
6
|
+
function Asc() {
|
|
7
|
+
const id = useId();
|
|
8
|
+
return (_jsx("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: _jsx("path", { d: "M7.15859 15.0437C6.7079 15.9134 7.27152 17 8.17239 17H15.8279C16.7282 17 17.2919 15.9134 16.8417 15.0437L13.0145 7.65229C12.5638 6.78257 11.4365 6.78257 10.9858 7.65229L7.15859 15.0437Z", fill: "#105652" }) }, id));
|
|
9
|
+
}
|
|
10
|
+
function Desc() {
|
|
11
|
+
const id = useId();
|
|
12
|
+
return (_jsx("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", children: _jsx("path", { d: "M16.8414 8.95628C17.2921 8.08657 16.7285 7 15.8276 7L8.1721 7C7.27176 7 6.70813 8.08657 7.15831 8.95628L10.9855 16.3477C11.4362 17.2174 12.5635 17.2174 13.0142 16.3477L16.8414 8.95628Z", fill: "#105652" }) }, id));
|
|
13
|
+
}
|
|
5
14
|
const Direction = {
|
|
6
15
|
Right,
|
|
16
|
+
Asc,
|
|
17
|
+
Desc,
|
|
7
18
|
};
|
|
8
19
|
export default Direction;
|
package/asset/svg/Direction.tsx
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { useId } from "react";
|
|
1
2
|
interface Direction {
|
|
2
3
|
className?: string;
|
|
3
4
|
}
|
|
@@ -30,7 +31,46 @@ function Right({ className }: Direction) {
|
|
|
30
31
|
);
|
|
31
32
|
}
|
|
32
33
|
|
|
34
|
+
function Asc() {
|
|
35
|
+
const id = useId();
|
|
36
|
+
return (
|
|
37
|
+
<svg
|
|
38
|
+
key={id}
|
|
39
|
+
width="24"
|
|
40
|
+
height="24"
|
|
41
|
+
viewBox="0 0 24 24"
|
|
42
|
+
fill="none"
|
|
43
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
44
|
+
>
|
|
45
|
+
<path
|
|
46
|
+
d="M7.15859 15.0437C6.7079 15.9134 7.27152 17 8.17239 17H15.8279C16.7282 17 17.2919 15.9134 16.8417 15.0437L13.0145 7.65229C12.5638 6.78257 11.4365 6.78257 10.9858 7.65229L7.15859 15.0437Z"
|
|
47
|
+
fill="#105652"
|
|
48
|
+
/>
|
|
49
|
+
</svg>
|
|
50
|
+
);
|
|
51
|
+
}
|
|
52
|
+
function Desc() {
|
|
53
|
+
const id = useId();
|
|
54
|
+
return (
|
|
55
|
+
<svg
|
|
56
|
+
key={id}
|
|
57
|
+
width="24"
|
|
58
|
+
height="24"
|
|
59
|
+
viewBox="0 0 24 24"
|
|
60
|
+
fill="none"
|
|
61
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
62
|
+
>
|
|
63
|
+
<path
|
|
64
|
+
d="M16.8414 8.95628C17.2921 8.08657 16.7285 7 15.8276 7L8.1721 7C7.27176 7 6.70813 8.08657 7.15831 8.95628L10.9855 16.3477C11.4362 17.2174 12.5635 17.2174 13.0142 16.3477L16.8414 8.95628Z"
|
|
65
|
+
fill="#105652"
|
|
66
|
+
/>
|
|
67
|
+
</svg>
|
|
68
|
+
);
|
|
69
|
+
}
|
|
70
|
+
|
|
33
71
|
const Direction = {
|
|
34
72
|
Right,
|
|
73
|
+
Asc,
|
|
74
|
+
Desc,
|
|
35
75
|
};
|
|
36
76
|
export default Direction;
|
|
@@ -15,18 +15,19 @@ const widthSize = {
|
|
|
15
15
|
auto: "w-auto",
|
|
16
16
|
};
|
|
17
17
|
const heightSize = {
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
"
|
|
28
|
-
|
|
29
|
-
|
|
18
|
+
"5xs": "h-21", // 84px
|
|
19
|
+
"4xs": "h-30", // 120px
|
|
20
|
+
"3xs": "h-40", // 160px
|
|
21
|
+
"2xs": "h-45", // 180px
|
|
22
|
+
xs: "h-50", // 200px
|
|
23
|
+
sm: "h-52.5", // 210px
|
|
24
|
+
md: "h-67.5", // 270px
|
|
25
|
+
lg: "h-112.5", // 450px
|
|
26
|
+
xl: "h-125.5", // 502px
|
|
27
|
+
"2xl": "h-127.5", // 510px
|
|
28
|
+
"3xl": "h-138.5", // 554px
|
|
29
|
+
full: "h-full", // 100%
|
|
30
|
+
auto: "h-auto min-h-80", // 100%
|
|
30
31
|
};
|
|
31
32
|
export default function CardDesign({ header, children, option, debug, }) {
|
|
32
33
|
const { setIsOwn } = useActionStore();
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from "../../util";
|
|
3
|
+
import CardDesign from "./Card.design";
|
|
4
|
+
export default function CustomCardDesign({ titles, option, children, }) {
|
|
5
|
+
const titleBox = {
|
|
6
|
+
positions: "relative z-10",
|
|
7
|
+
displays: "flex flex-col gap-3",
|
|
8
|
+
};
|
|
9
|
+
const titleStyle = {
|
|
10
|
+
fonts: "font-pretendard-bold leading-tight text-[16px]",
|
|
11
|
+
styles: titles.titleColor,
|
|
12
|
+
};
|
|
13
|
+
const subtitleStyle = {
|
|
14
|
+
fonts: "font-pretendard-medium leading-tight text-[12px]",
|
|
15
|
+
styles: titles.subtitleColor,
|
|
16
|
+
};
|
|
17
|
+
return (_jsxs(CardDesign, { option: {
|
|
18
|
+
...option,
|
|
19
|
+
width: option?.width ?? "lg",
|
|
20
|
+
height: option?.height ?? "4xs",
|
|
21
|
+
className: option?.className ?? "p-5",
|
|
22
|
+
}, children: [_jsxs("div", { className: cn(titleBox), children: [_jsx("div", { className: cn(titleStyle), children: titles.title }), _jsx("div", { className: cn(subtitleStyle), children: titles.subtitle })] }), children ?? null] }));
|
|
23
|
+
}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useId } from "react";
|
|
3
3
|
import { useActionStore } from "../../store";
|
|
4
4
|
import { cn, sortByOrder } from "../../util";
|
|
5
5
|
import Card from "./Card.design";
|
|
6
|
-
import { DataField, Action, Row } from "../..";
|
|
6
|
+
import { DataField, Action, Row, Lock } from "../..";
|
|
7
|
+
import { Obstacle } from "../..";
|
|
7
8
|
export default function TableCardDesign({ dataSet, dataField, option, }) {
|
|
8
|
-
const { width, height, padding, boundary } = option ?? {};
|
|
9
|
+
const { width, height, padding, boundary, isDisabled, disabledScript } = option ?? {};
|
|
9
10
|
const { order } = useActionStore();
|
|
10
11
|
const id = useId();
|
|
11
12
|
const orders = order[id] ?? [];
|
|
@@ -20,5 +21,7 @@ export default function TableCardDesign({ dataSet, dataField, option, }) {
|
|
|
20
21
|
height: height ?? "3xl",
|
|
21
22
|
overflow: "overflow-y-scroll overflow-x-hidden",
|
|
22
23
|
noPadding: true,
|
|
23
|
-
}, children:
|
|
24
|
+
}, children: _jsxs(Action.Replace, { actions: dataSet?.replaces, children: [sortByOrder({ items: dataSet?.items, orders }).map((item, index) => dataSet.renderItem ? (dataSet.renderItem(item)) : (_jsx(Row.Card, { item: item, onClick: () => dataSet.onClick?.(item), dataField: dataField, height: option?.rowHeight, noHover: option?.noHover, noPadding: option?.noRowPadding }, id + index))), _jsx(Obstacle, { disabled: isDisabled }), _jsx(Obstacle.Blur, { disabled: isDisabled, option: {
|
|
25
|
+
position: "top-10",
|
|
26
|
+
}, children: _jsx(Lock, { script: disabledScript }) })] }) }));
|
|
24
27
|
}
|
package/card/index.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { default as AddCard } from "./template/AddCard";
|
|
2
2
|
export { default as ChartCard } from "./template/ChartCard";
|
|
3
3
|
export { default as ConfirmCard } from "./template/ConfirmCard";
|
|
4
|
+
export { default as CustomCard } from "./template/CustomCard";
|
|
4
5
|
export { default as InfoCard } from "./template/InfoCard";
|
|
5
6
|
export { default as NavCard } from "./template/NavCard";
|
|
6
7
|
export { default as ProgressCard } from "./template/ProgressCard";
|
package/card/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { default as AddCard } from "./template/AddCard";
|
|
2
2
|
export { default as ChartCard } from "./template/ChartCard";
|
|
3
3
|
export { default as ConfirmCard } from "./template/ConfirmCard";
|
|
4
|
+
export { default as CustomCard } from "./template/CustomCard";
|
|
4
5
|
export { default as InfoCard } from "./template/InfoCard";
|
|
5
6
|
export { default as NavCard } from "./template/NavCard";
|
|
6
7
|
export { default as ProgressCard } from "./template/ProgressCard";
|
|
@@ -4,6 +4,9 @@ interface ConfirmCardProps {
|
|
|
4
4
|
action?: Omit<ActionProps, "shows">;
|
|
5
5
|
children?: React.ReactNode;
|
|
6
6
|
buttons: [LabelWidget, LabelWidget];
|
|
7
|
+
option?: {
|
|
8
|
+
className?: string;
|
|
9
|
+
};
|
|
7
10
|
}
|
|
8
11
|
export default function ConfirmCard(props: ConfirmCardProps): import("react/jsx-runtime").JSX.Element;
|
|
9
12
|
export {};
|
|
@@ -3,17 +3,17 @@ import { cn } from "../../../util";
|
|
|
3
3
|
import { LineBreaks, Action, Label } from "../../..";
|
|
4
4
|
import CardDesign from "../../design/Card.design";
|
|
5
5
|
export default function ConfirmCard(props) {
|
|
6
|
-
const { action } = props ?? {};
|
|
6
|
+
const { action, option } = props ?? {};
|
|
7
7
|
return (_jsxs(CardDesign, { option: {
|
|
8
8
|
width: "md",
|
|
9
9
|
height: "lg",
|
|
10
10
|
className: "p-5",
|
|
11
|
-
}, children: [_jsx(Header, { titles: props.titles }), _jsx(Action.Replace, { actions: action?.replaces, children: props.children }), _jsx("div", { className: "absolute bottom-5 left-5 flex justify-between gap-2.5", children: props.buttons.map(({ title, onClick, option }) => (_jsx(Label.Button, { title: title, onClick: onClick, option: { ...option, width: "lg", height: "sm" } }, title))) })] }));
|
|
11
|
+
}, children: [_jsx(Header, { titles: props.titles }), _jsx("div", { className: option?.className, children: _jsx(Action.Replace, { actions: action?.replaces, children: props.children }) }), _jsx("div", { className: "absolute bottom-5 left-5 flex justify-between gap-2.5", children: props.buttons.map(({ title, onClick, option }) => (_jsx(Label.Button, { title: title, onClick: onClick, option: { ...option, width: "lg", height: "sm" } }, title))) })] }));
|
|
12
12
|
}
|
|
13
13
|
function Header({ titles }) {
|
|
14
14
|
const titleBox = {
|
|
15
15
|
displays: "flex flex-col items-end",
|
|
16
16
|
sizes: "w-full",
|
|
17
17
|
};
|
|
18
|
-
return (_jsxs("div", { className: cn(titleBox), children: [_jsx("div", { className: "text-xl leading-none font-pretendard-bold", children: titles.title }), _jsx("div", { className: "bg-gray-light w-13.75 h-2 mt-3" }), _jsx(LineBreaks, { texts: titles.subtitle, className: "mt-5 text-base leading-none text-end font-pretendard-
|
|
18
|
+
return (_jsxs("div", { className: cn(titleBox), children: [_jsx("div", { className: "text-xl leading-none font-pretendard-bold", children: titles.title }), _jsx("div", { className: "bg-gray-light w-13.75 h-2 mt-3" }), _jsx(LineBreaks, { texts: titles.subtitle, className: "mt-5 text-base leading-none text-end font-pretendard-medium" })] }));
|
|
19
19
|
}
|
|
@@ -13,7 +13,7 @@ interface StudentCardProps extends Omit<InfoCardProps, "titles" | "children"> {
|
|
|
13
13
|
createdAt: string;
|
|
14
14
|
};
|
|
15
15
|
}
|
|
16
|
-
declare function Academy({ titles, data, buttons }: AcademyCardProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
declare function Academy({ titles, data, buttons, option }: AcademyCardProps): import("react/jsx-runtime").JSX.Element;
|
|
17
17
|
declare namespace Academy {
|
|
18
18
|
var Digital: ({ image, data }: StudentCardProps) => import("react/jsx-runtime").JSX.Element;
|
|
19
19
|
}
|
|
@@ -2,13 +2,13 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { InfoCardDesign } from "../../design/InfoCard.design";
|
|
3
3
|
import SVG from "../../../asset/SVG";
|
|
4
4
|
import { Label } from "../../../widget";
|
|
5
|
-
function Academy({ titles, data, buttons }) {
|
|
5
|
+
function Academy({ titles, data, buttons, option }) {
|
|
6
6
|
return (_jsx(InfoCardDesign, { titles: titles, option: {
|
|
7
|
+
...option,
|
|
7
8
|
titleBorder: "border-green-dark",
|
|
8
9
|
background: "",
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
height: "md",
|
|
10
|
+
width: option?.width ?? "xs",
|
|
11
|
+
height: option?.height ?? "md",
|
|
12
12
|
}, children: _jsxs("div", { className: "mt-2.5 flex flex-col gap-2.5", children: [_jsx("div", { className: "w-full", children: data.address }), _jsx("div", { className: "flex gap-2.5", children: buttons.map(({ title, onClick }, index) => (_jsx(Label.Button, { title: title, onClick: onClick, option: {
|
|
13
13
|
background: !index ? "bg-gray-medium" : "bg-green-dark",
|
|
14
14
|
text: "text-white",
|
package/card/template/NavCard.js
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import NavCardDesign from "../design/NavCard.design";
|
|
3
3
|
function Banner({ titles, option }) {
|
|
4
|
-
return (_jsx(NavCardDesign, { titles: titles, option: {
|
|
4
|
+
return (_jsx(NavCardDesign, { titles: titles, option: {
|
|
5
|
+
...option,
|
|
6
|
+
width: option?.width ?? "xl",
|
|
7
|
+
height: option?.height ?? "sm",
|
|
8
|
+
} }));
|
|
5
9
|
}
|
|
6
10
|
function _Button({ titles, onClick, option }) {
|
|
7
11
|
return (_jsx(NavCardDesign, { titles: titles, option: {
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { ProgressCardProps } from "../../../interface";
|
|
2
|
-
export default function ProgressCardLG({ titles,
|
|
2
|
+
export default function ProgressCardLG({ titles, checks, displays, theme, }: ProgressCardProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -14,7 +14,7 @@ const text = {
|
|
|
14
14
|
green: "text-green-dark",
|
|
15
15
|
blue: "text-blue-navy",
|
|
16
16
|
};
|
|
17
|
-
export default function ProgressCardLG({ titles,
|
|
17
|
+
export default function ProgressCardLG({ titles, checks, displays, theme, }) {
|
|
18
18
|
const progressBox = {
|
|
19
19
|
positions: "absolute top-7.5 left-7.5",
|
|
20
20
|
displays: "flex",
|
|
@@ -32,11 +32,11 @@ export default function ProgressCardLG({ titles, steps, theme, }) {
|
|
|
32
32
|
displays: "flex flex-col items-end gap-y-3",
|
|
33
33
|
};
|
|
34
34
|
const occupied = [
|
|
35
|
-
|
|
36
|
-
|
|
35
|
+
checks.map((value) => !!value).length,
|
|
36
|
+
displays.length,
|
|
37
37
|
].join("/");
|
|
38
38
|
return (_jsxs(CardDesign, { option: {
|
|
39
39
|
width: "2xl",
|
|
40
40
|
height: "2xs",
|
|
41
|
-
}, children: [_jsx("div", { className: cn(progressBox), children:
|
|
41
|
+
}, children: [_jsx("div", { className: cn(progressBox), children: displays.map(({ title }, index) => (_jsxs("div", { className: cn(stepBox(checks[index])), children: [_jsx("div", { children: title }), _jsx(SVG.Operation.Checked, { flag: checks[index], size: 25, theme: theme })] }, title))) }), _jsxs("div", { className: cn(titleBox), children: [_jsx("div", { className: `text-xl leading-none font-pretendard-bold ${text[theme ?? "green"]}`, children: titles.title }), _jsx("div", { className: "text-base leading-none", children: titles.subtitle })] }), _jsx("div", { className: "absolute bottom-0 left-0 bg-gray-light w-full h-2.5", children: _jsx("div", { className: `h-full w-${occupied} ${bg[theme ?? "green"]}` }) })] }));
|
|
42
42
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { ProgressCardProps } from "../../../interface";
|
|
2
|
-
export default function ProgressCardSmall({ titles,
|
|
2
|
+
export default function ProgressCardSmall({ titles, displays, checks, theme, }: ProgressCardProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -10,7 +10,7 @@ const text = {
|
|
|
10
10
|
green: "text-green-dark",
|
|
11
11
|
blue: "text-blue-navy",
|
|
12
12
|
};
|
|
13
|
-
export default function ProgressCardSmall({ titles,
|
|
13
|
+
export default function ProgressCardSmall({ titles, displays, checks, theme = "green", }) {
|
|
14
14
|
const progressBox = {
|
|
15
15
|
positions: "absolute top-2.5 left-2.5",
|
|
16
16
|
displays: "flex",
|
|
@@ -29,6 +29,6 @@ export default function ProgressCardSmall({ titles, steps, theme = "green", }) {
|
|
|
29
29
|
};
|
|
30
30
|
return (_jsxs(CardDesign, { option: {
|
|
31
31
|
width: "md",
|
|
32
|
-
height: "
|
|
33
|
-
}, children: [_jsx("div", { className: cn(progressBox), children:
|
|
32
|
+
height: "5xs",
|
|
33
|
+
}, children: [_jsx("div", { className: cn(progressBox), children: displays.map(({ title, subtitle }, index) => (_jsxs("div", { className: cn(stepBox(checks[index])), children: [_jsxs("div", { className: "flex items-center justify-between", children: [_jsx("div", { className: "leading-none text-[12px] font-pretendard-bold", children: title }), _jsx(SVG.Operation.Checked, { flag: checks[index], size: 25, theme: theme })] }), _jsx("div", { className: `text-[12px] ${text[theme]}`, children: subtitle })] }, title))) }), _jsxs("div", { className: cn(titleBox), children: [_jsx("div", { className: `text-[20px] leading-none font-pretendard-bold ${text[theme]}`, children: titles.title }), _jsx("div", { className: `text-[12px] leading-none ${text[theme]}`, children: titles.subtitle })] })] }));
|
|
34
34
|
}
|
package/interaction/index.d.ts
CHANGED
package/interaction/index.js
CHANGED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
export default function Lock({ script }) {
|
|
3
|
+
return (_jsxs("div", { className: "flex flex-col gap-y-3 items-center", children: [_jsx("svg", { xmlns: "http://www.w3.org/2000/svg", width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", children: _jsx("path", { d: "M16.5 10.5V6.75C16.5 5.55653 16.0259 4.41193 15.182 3.56802C14.3381 2.72411 13.1935 2.25 12 2.25C10.8065 2.25 9.66193 2.72411 8.81802 3.56802C7.97411 4.41193 7.5 5.55653 7.5 6.75V10.5M6.75 21.75H17.25C17.8467 21.75 18.419 21.5129 18.841 21.091C19.2629 20.669 19.5 20.0967 19.5 19.5V12.75C19.5 12.1533 19.2629 11.581 18.841 11.159C18.419 10.7371 17.8467 10.5 17.25 10.5H6.75C6.15326 10.5 5.58097 10.7371 5.15901 11.159C4.73705 11.581 4.5 12.1533 4.5 12.75V19.5C4.5 20.0967 4.73705 20.669 5.15901 21.091C5.58097 21.5129 6.15326 21.75 6.75 21.75Z", stroke: "#173A8B", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) }), _jsx("div", { className: "text-xs text-blue-navy", children: script })] }));
|
|
4
|
+
}
|
package/interface/Action.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { LabelWidget } from "./widget";
|
|
2
|
-
import {
|
|
2
|
+
import { OnClick, Size } from "./Property";
|
|
3
|
+
import { DataField, DataFieldType } from "./Data";
|
|
3
4
|
import { Color } from "./Color";
|
|
4
5
|
export interface ActionEvent {
|
|
5
6
|
event: string;
|
|
@@ -44,4 +45,8 @@ export interface RowProps<T> {
|
|
|
44
45
|
className?: string;
|
|
45
46
|
};
|
|
46
47
|
}
|
|
48
|
+
export interface RowElementProps {
|
|
49
|
+
item: string;
|
|
50
|
+
data?: DataFieldType;
|
|
51
|
+
}
|
|
47
52
|
export {};
|
package/interface/Board.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Size, Titles } from "./Property";
|
|
2
|
+
import { DataSet, DataField } from "./Data";
|
|
2
3
|
import { ActionProps } from "./Action";
|
|
3
4
|
import { InputWidget, LabelWidget, SelectWidget } from "./widget";
|
|
4
5
|
interface BoardOption {
|
package/interface/Card.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { Button,
|
|
1
|
+
import { Button, Disabled, OnClick, Size, State, Titles } from "./Property";
|
|
2
|
+
import { DataSet, DataField } from "./Data";
|
|
2
3
|
import { Theme } from "./Theme";
|
|
3
4
|
import { Flexify } from "./UtilityType";
|
|
4
5
|
interface CardOption {
|
|
@@ -44,6 +45,9 @@ export interface ChartCardProps extends Omit<CardProps, "children"> {
|
|
|
44
45
|
score: number;
|
|
45
46
|
};
|
|
46
47
|
}
|
|
48
|
+
export interface CustomCardProps extends Flexify<CardProps, "children"> {
|
|
49
|
+
titles: Titles;
|
|
50
|
+
}
|
|
47
51
|
export interface ButtonInLay {
|
|
48
52
|
title: string;
|
|
49
53
|
onClick: OnClick;
|
|
@@ -122,6 +126,8 @@ export interface TableCardProps<T> extends Omit<CardProps, "children"> {
|
|
|
122
126
|
noHover?: boolean;
|
|
123
127
|
noRowPadding?: boolean;
|
|
124
128
|
noHeader?: boolean;
|
|
129
|
+
isDisabled?: boolean;
|
|
130
|
+
disabledScript?: string;
|
|
125
131
|
};
|
|
126
132
|
}
|
|
127
133
|
export interface RollCardProps extends CardProps {
|
|
@@ -134,7 +140,8 @@ export interface RollCardProps extends CardProps {
|
|
|
134
140
|
}
|
|
135
141
|
export interface ProgressCardProps {
|
|
136
142
|
titles: Titles;
|
|
137
|
-
|
|
143
|
+
checks: boolean[];
|
|
144
|
+
displays: Titles[];
|
|
138
145
|
theme?: Theme;
|
|
139
146
|
}
|
|
140
147
|
export {};
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Replace } from "./Action";
|
|
2
|
+
import { OnClick, Titles } from "./Property";
|
|
3
|
+
export interface DataPackage<T> {
|
|
4
|
+
dataField: DataField<T>;
|
|
5
|
+
dataSet: Omit<DataSet<T>, "renderItem">;
|
|
6
|
+
}
|
|
7
|
+
export type DataSet<T = any> = {
|
|
8
|
+
items?: T[];
|
|
9
|
+
renderItem: (item: T, index?: number) => React.ReactNode;
|
|
10
|
+
titles?: Titles;
|
|
11
|
+
interaction?: React.ReactNode;
|
|
12
|
+
onClick?: OnClick<T>;
|
|
13
|
+
replaces?: Replace[];
|
|
14
|
+
};
|
|
15
|
+
type DataFieldProps = {
|
|
16
|
+
title: string | number;
|
|
17
|
+
size: string | number;
|
|
18
|
+
data?: DataFieldType;
|
|
19
|
+
};
|
|
20
|
+
export type DataField<T = any> = Partial<{
|
|
21
|
+
[p in keyof T]: Partial<DataFieldProps>;
|
|
22
|
+
}>;
|
|
23
|
+
export type DataFieldType = DataFiledTypeText | DataSelectRoll;
|
|
24
|
+
type DataFiledTypeText = {
|
|
25
|
+
type: "text";
|
|
26
|
+
};
|
|
27
|
+
interface SelectRollOption {
|
|
28
|
+
key: string;
|
|
29
|
+
value: string;
|
|
30
|
+
option?: {
|
|
31
|
+
text?: string;
|
|
32
|
+
background?: string;
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
type DataSelectRoll = {
|
|
36
|
+
type: "selectRoll";
|
|
37
|
+
options: SelectRollOption[];
|
|
38
|
+
};
|
|
39
|
+
declare function isDataSelectRoll(obj: any): obj is DataSelectRoll;
|
|
40
|
+
export type { DataFiledTypeText, DataSelectRoll };
|
|
41
|
+
export { isDataSelectRoll };
|
package/interface/Property.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Dispatch, SetStateAction } from "react";
|
|
2
|
-
import { Replace } from "./Action";
|
|
3
2
|
import { LabelWidget } from "./widget";
|
|
4
3
|
/**
|
|
5
4
|
* State type for the React component
|
|
@@ -18,16 +17,21 @@ export type State<T> = [T, StateAction<T>];
|
|
|
18
17
|
* @enum {string}
|
|
19
18
|
* @readonly
|
|
20
19
|
* @description - Size type for the component
|
|
20
|
+
* @property {"5xs"} 5xs - Five extra small size
|
|
21
|
+
* @property {"4xs"} 4xs - Four extra small size
|
|
22
|
+
* @property {"3xs"} 3xs - Three extra small size
|
|
23
|
+
* @property {"2xs"} 2xs - Double extra small size
|
|
21
24
|
* @property {"xs"} xs - Extra small size
|
|
22
25
|
* @property {"sm"} sm - Small size
|
|
23
26
|
* @property {"md"} md - Medium size
|
|
24
27
|
* @property {"lg"} lg - Large size
|
|
25
28
|
* @property {"xl"} xl - Extra large size
|
|
26
29
|
* @property {"2xl"} 2xl - Double extra large size
|
|
30
|
+
* @property {"3xl"} 3xl - Three extra large size
|
|
31
|
+
* @property {"full"} full - Full size
|
|
27
32
|
* @property {"full"} full - Full size
|
|
28
33
|
*/
|
|
29
|
-
export type
|
|
30
|
-
export type Size = "4xs" | "3xs" | "2xs" | "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | "3xl" | "full" | "auto";
|
|
34
|
+
export type Size = "5xs" | "4xs" | "3xs" | "2xs" | "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | "3xl" | "full" | "auto";
|
|
31
35
|
/**
|
|
32
36
|
* Image size type
|
|
33
37
|
* @enum {string}
|
|
@@ -36,6 +40,7 @@ export type Size = "4xs" | "3xs" | "2xs" | "xs" | "sm" | "md" | "lg" | "xl" | "2
|
|
|
36
40
|
* @property {"sub"} sub - Sub size
|
|
37
41
|
* @property {"full"} full - Full size
|
|
38
42
|
*/
|
|
43
|
+
export type ImageSize = "sub" | "full";
|
|
39
44
|
export type OnClick<Request = unknown, Response = unknown> = (prop?: Request) => Response | ((prop?: Request) => Promise<Response>);
|
|
40
45
|
export interface Button extends LabelWidget {
|
|
41
46
|
}
|
|
@@ -53,26 +58,6 @@ export type Titles = {
|
|
|
53
58
|
titleColor?: string;
|
|
54
59
|
subtitleColor?: string;
|
|
55
60
|
};
|
|
56
|
-
export type DataSet<T = any> = {
|
|
57
|
-
items?: T[];
|
|
58
|
-
renderItem: (item: T, index?: number) => React.ReactNode;
|
|
59
|
-
titles?: Titles;
|
|
60
|
-
interaction?: React.ReactNode;
|
|
61
|
-
onClick?: OnClick<T>;
|
|
62
|
-
replaces?: Replace[];
|
|
63
|
-
};
|
|
64
|
-
type DataFieldType = {
|
|
65
|
-
title: string | number;
|
|
66
|
-
type: string;
|
|
67
|
-
size: string | number;
|
|
68
|
-
};
|
|
69
|
-
export type DataField<T = any> = Partial<{
|
|
70
|
-
[p in keyof T]: Partial<DataFieldType>;
|
|
71
|
-
}>;
|
|
72
|
-
export interface DataPackage<T> {
|
|
73
|
-
dataField: DataField<T>;
|
|
74
|
-
dataSet: Omit<DataSet<T>, "renderItem">;
|
|
75
|
-
}
|
|
76
61
|
export interface Log<K extends string, T extends string | number> {
|
|
77
62
|
prints: K[];
|
|
78
63
|
logs: {
|
|
@@ -84,4 +69,3 @@ export interface Order {
|
|
|
84
69
|
orderHow: "asc" | "desc" | "";
|
|
85
70
|
}
|
|
86
71
|
export type Step = [Titles, boolean];
|
|
87
|
-
export {};
|
package/interface/index.d.ts
CHANGED
package/interface/index.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Size, State } from "../Property";
|
|
2
|
+
interface SelectOption<T> {
|
|
3
|
+
title: string;
|
|
4
|
+
value: T;
|
|
5
|
+
icon?: string;
|
|
6
|
+
}
|
|
7
|
+
export interface SelectSwitchProps<T> {
|
|
8
|
+
state: State<T>;
|
|
9
|
+
selectOptions: SelectOption<T>[];
|
|
10
|
+
option?: {
|
|
11
|
+
size?: Size;
|
|
12
|
+
text?: string;
|
|
13
|
+
className?: string;
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
export interface SelectHandleProps<T> {
|
|
17
|
+
state: State<T>;
|
|
18
|
+
options: SelectOption<T>[];
|
|
19
|
+
option?: {
|
|
20
|
+
className?: string;
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|