@edu-tosel/design 1.0.34 → 1.0.35
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/board/{widget → design}/Board.design.js +2 -2
- package/board/template/CanvasBoard.js +1 -1
- package/board/template/ManageBoard.js +3 -3
- package/board/template/PaperBoard.js +3 -3
- package/card/{widget → design}/Card.design.js +3 -3
- package/card/{widget → design}/InfoCard.design.js +1 -1
- package/card/{widget → design}/TableCard.design.js +2 -2
- package/card/template/AddCard.js +2 -2
- package/card/template/ChartCard.js +2 -2
- package/card/template/InfoCard/Exam.d.ts +2 -0
- package/card/template/InfoCard/Exam.js +18 -0
- package/card/template/InfoCard/ExamData.d.ts +8 -0
- package/card/template/InfoCard/ExamData.js +57 -0
- package/card/template/InfoCard/Finance.d.ts +1 -0
- package/card/template/InfoCard/Finance.js +10 -0
- package/card/template/InfoCard/Grade.d.ts +2 -0
- package/card/template/InfoCard/Grade.js +29 -0
- package/card/template/InfoCard/Item.d.ts +2 -0
- package/card/template/InfoCard/Item.js +10 -0
- package/card/template/InfoCard/PersonalInformation.d.ts +2 -0
- package/card/template/InfoCard/PersonalInformation.js +29 -0
- package/card/template/InfoCard/Product.d.ts +2 -0
- package/card/template/InfoCard/Product.js +24 -0
- package/card/template/InfoCard/index.d.ts +19 -0
- package/card/template/InfoCard/index.js +17 -0
- package/card/template/InfoCard/static/label.d.ts +3 -0
- package/card/template/InfoCard/static/label.js +3 -0
- package/card/template/NavCard.js +1 -1
- package/card/template/TableCard.js +1 -1
- package/html/{widget → design}/Label.design.js +1 -1
- package/html/template/Label.js +1 -1
- package/html/template/Select.js +1 -1
- package/interface/Board.d.ts +1 -1
- package/interface/Card.d.ts +1 -1
- package/interface/Modal.d.ts +1 -1
- package/interface/Shelf.d.ts +2 -3
- package/layout/{widget → design}/Shelf.design.d.ts +1 -1
- package/layout/{widget → design}/Shelf.design.js +5 -5
- package/layout/template/DataField.js +1 -1
- package/layout/template/Gallery.js +1 -1
- package/layout/template/Row.js +1 -1
- package/layout/template/Shelf.d.ts +1 -1
- package/layout/template/Shelf.js +15 -8
- package/modal/template/Alert.js +2 -2
- package/modal/template/Input.js +2 -2
- package/package.json +1 -1
- package/tailwind.config.ts +553 -552
- package/version.txt +1 -1
- package/card/template/InfoCard.d.ts +0 -20
- package/card/template/InfoCard.js +0 -155
- /package/board/{widget → design}/Board.design.d.ts +0 -0
- /package/card/{widget → design}/Card.design.d.ts +0 -0
- /package/card/{widget → design}/InfoCard.design.d.ts +0 -0
- /package/card/{widget → design}/NavCard.design.d.ts +0 -0
- /package/card/{widget → design}/NavCard.design.js +0 -0
- /package/card/{widget → design}/TableCard.design.d.ts +0 -0
- /package/html/{widget → design}/Label.design.d.ts +0 -0
- /package/html/{widget → design}/Select.design.d.ts +0 -0
- /package/html/{widget → design}/Select.design.js +0 -0
- /package/layout/{widget → design}/DataField.design.d.ts +0 -0
- /package/layout/{widget → design}/DataField.design.js +0 -0
- /package/layout/{widget → design}/Row.design.d.ts +0 -0
- /package/layout/{widget → design}/Row.design.js +0 -0
- /package/layout/{widget → design}/Tab.design.d.ts +0 -0
- /package/layout/{widget → design}/Tab.design.js +0 -0
- /package/modal/{widget → design}/Modal.design.d.ts +0 -0
- /package/modal/{widget → design}/Modal.design.js +0 -0
|
@@ -23,7 +23,7 @@ const heightSize = {
|
|
|
23
23
|
};
|
|
24
24
|
export function Board({ children, widgets, options, debug, buttons, }) {
|
|
25
25
|
const { shows } = widgets ?? {};
|
|
26
|
-
const { width, height, isRounded,
|
|
26
|
+
const { width, height, isRounded, className } = options ?? {};
|
|
27
27
|
const container = {
|
|
28
28
|
positions: "relative",
|
|
29
29
|
width: widthSize[width ?? "full"],
|
|
@@ -38,7 +38,7 @@ export function Board({ children, widgets, options, debug, buttons, }) {
|
|
|
38
38
|
const button = {
|
|
39
39
|
positions: "fixed bottom-20 right-4 xl:absolute xl:-bottom-18.5 xl:right-0",
|
|
40
40
|
};
|
|
41
|
-
return (_jsxs("div", { className: cn(container), children: [_jsx("div", { className: cn(body), children: _jsx(Events.Show, { widgets: shows, children: _jsx("div", { className: "h-full " +
|
|
41
|
+
return (_jsxs("div", { className: cn(container), children: [_jsx("div", { className: cn(body), children: _jsx(Events.Show, { widgets: shows, children: _jsx("div", { className: "h-full " + className, children: children }) }) }), _jsx("div", { className: cn(button), children: buttons?.map(({ title, onClick, options }) => (_jsx(Label.Button, { title: title, onClick: onClick, options: {
|
|
42
42
|
...options,
|
|
43
43
|
text: "text-white",
|
|
44
44
|
background: "bg-crimson-burgundy",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Events } from "../..";
|
|
3
3
|
import { cn } from "../../util";
|
|
4
|
-
import { Board } from "../
|
|
4
|
+
import { Board } from "../design/Board.design";
|
|
5
5
|
import BoardHeader from "../widget/Header";
|
|
6
6
|
export default function CanvasBoard({ header, children, options, widgets, buttons, }) {
|
|
7
7
|
const body = {
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { DataField, Events, Shelf } from "../..";
|
|
3
|
-
import { Board } from "../
|
|
3
|
+
import { Board } from "../design/Board.design";
|
|
4
4
|
import BoardHeader from "../widget/Header";
|
|
5
5
|
import { cn, sortByOrder } from "../../util";
|
|
6
6
|
import { useWidgetStore } from "../../store";
|
|
7
7
|
import { useId } from "react";
|
|
8
8
|
export default function ManageBoard({ header, dataSets, dataField, widgets, options, buttons, }) {
|
|
9
|
-
const {
|
|
9
|
+
const { className, noPadding } = options ?? {};
|
|
10
10
|
const { order } = useWidgetStore();
|
|
11
11
|
const id = useId();
|
|
12
12
|
const orders = order[id] ?? [];
|
|
@@ -16,6 +16,6 @@ export default function ManageBoard({ header, dataSets, dataField, widgets, opti
|
|
|
16
16
|
paddings: `${!noPadding ? "pt-7.5 pb-60 px-2 xs:pl-4 xl:pl-7.5 xl:pb-7.5 " : ""} `,
|
|
17
17
|
styles: "overflow-y-scroll",
|
|
18
18
|
};
|
|
19
|
-
return (_jsxs(Board, { widgets: widgets, buttons: buttons, options: { isRounded: true }, children: [header && _jsx(BoardHeader, { ...header }), dataField && _jsx(DataField.Board, { id: id, dataField: dataField }), _jsx("div", { className: cn(container), children: _jsx(Events.Replace, { widgets: widgets?.replaces, children: dataSets.map(({ titles, items, renderItem, interaction }, index) => (_jsxs(Shelf.Wrap, { titles: titles,
|
|
19
|
+
return (_jsxs(Board, { widgets: widgets, buttons: buttons, options: { isRounded: true }, children: [header && _jsx(BoardHeader, { ...header }), dataField && _jsx(DataField.Board, { id: id, dataField: dataField }), _jsx("div", { className: cn(container), children: _jsx(Events.Replace, { widgets: widgets?.replaces, children: dataSets.map(({ titles, items, renderItem, interaction }, index) => (_jsxs(Shelf.Wrap, { titles: titles, options: { gap: "x" }, className: className, children: [items &&
|
|
20
20
|
sortByOrder(items, orders)?.map((item) => renderItem(item)), interaction] }, id + index))) }) })] }));
|
|
21
21
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { cn } from "../../util";
|
|
3
|
-
import { Board } from "../
|
|
3
|
+
import { Board } from "../design/Board.design";
|
|
4
4
|
export default function PaperBoard({ children, debug, options, }) {
|
|
5
|
-
const {
|
|
5
|
+
const { className } = options ?? {};
|
|
6
6
|
const container = {
|
|
7
7
|
displays: "flex flex-col gap-7.5",
|
|
8
8
|
};
|
|
9
|
-
return (_jsx(Board, { options: { width: "lg", height: "full", isRounded: false,
|
|
9
|
+
return (_jsx(Board, { options: { width: "lg", height: "full", isRounded: false, className }, debug: debug, children: _jsx("div", { className: cn(container), children: children }) }));
|
|
10
10
|
}
|
|
@@ -16,14 +16,14 @@ const heightSize = {
|
|
|
16
16
|
sm: "h-52.5",
|
|
17
17
|
md: "h-67.5",
|
|
18
18
|
lg: "h-67.5",
|
|
19
|
-
xl: "h-125",
|
|
19
|
+
xl: "h-125.5",
|
|
20
20
|
"2xl": "",
|
|
21
21
|
full: "h-full",
|
|
22
22
|
auto: "h-auto min-h-80",
|
|
23
23
|
};
|
|
24
24
|
export default function CardDesign({ header, children, options, debug, }) {
|
|
25
25
|
const { setIsOwn } = useWidgetStore();
|
|
26
|
-
const {
|
|
26
|
+
const { className, boundary, rounded, height, width, text, background, onClick, overflow, noShadow, } = options ?? {};
|
|
27
27
|
const setBoundary = () => {
|
|
28
28
|
if (noShadow)
|
|
29
29
|
return "";
|
|
@@ -50,7 +50,7 @@ export default function CardDesign({ header, children, options, debug, }) {
|
|
|
50
50
|
const body = {
|
|
51
51
|
sizes: "h-full",
|
|
52
52
|
overflow: `overflow-${overflow ?? "hidden"}`,
|
|
53
|
-
|
|
53
|
+
className,
|
|
54
54
|
};
|
|
55
55
|
return (_jsxs("div", { className: cn(container), children: [header && _jsx(_Fragment, { children: header }), _jsx("div", { onClick: onClick && onClick, className: cn(body), children: children })] }));
|
|
56
56
|
}
|
|
@@ -19,5 +19,5 @@ export function InfoCardDesign({ titles: { title, subtitle }, debug, options, ch
|
|
|
19
19
|
displays: "flex flex-col-reverse",
|
|
20
20
|
},
|
|
21
21
|
};
|
|
22
|
-
return (_jsxs(Card, { options: { ...options,
|
|
22
|
+
return (_jsxs(Card, { options: { ...options, className: cn(container) }, debug: debug, children: [_jsx("div", { className: cn(topBox.container), children: _jsxs("div", { className: "text-gray-dim ", children: [_jsx("div", { className: cn(topBox.titleText), children: title }), _jsx("div", { className: cn(topBox.subtitleText), children: subtitle ?? "" })] }) }), children] }));
|
|
23
23
|
}
|
|
@@ -2,7 +2,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { useId } from "react";
|
|
3
3
|
import { useWidgetStore } from "../../store";
|
|
4
4
|
import { cn, sortByOrder } from "../../util";
|
|
5
|
-
import Card from "
|
|
5
|
+
import Card from "./Card.design";
|
|
6
6
|
import { DataField, Events, Row } from "../..";
|
|
7
7
|
export default function TableCardDesign({ dataSet, dataField, options }) {
|
|
8
8
|
const { width, height } = options ?? {};
|
|
@@ -14,7 +14,7 @@ export default function TableCardDesign({ dataSet, dataField, options }) {
|
|
|
14
14
|
className: options?.className,
|
|
15
15
|
};
|
|
16
16
|
return (_jsx(Card, { header: !options?.noHeader && _jsx(DataField.Card, { id: id, dataField: dataField }), options: {
|
|
17
|
-
|
|
17
|
+
className: cn(container),
|
|
18
18
|
width: width ?? "full",
|
|
19
19
|
height: height ?? "lg",
|
|
20
20
|
overflow: "y-scroll",
|
package/card/template/AddCard.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { cn } from "../../util";
|
|
3
|
-
import Card from "../
|
|
3
|
+
import Card from "../design/Card.design";
|
|
4
4
|
export default function AddCard({ title, icon, onClick, options, }) {
|
|
5
5
|
const { width } = options ?? {};
|
|
6
6
|
const container = {
|
|
@@ -13,5 +13,5 @@ export default function AddCard({ title, icon, onClick, options, }) {
|
|
|
13
13
|
sizes: "w-9 h-9",
|
|
14
14
|
styles: "bg-gray-light rounded-full",
|
|
15
15
|
};
|
|
16
|
-
return (_jsxs(Card, { options: { width,
|
|
16
|
+
return (_jsxs(Card, { options: { width, className: cn(container), onClick }, children: [icon && (_jsx("div", { className: cn(iconBody), children: _jsx("img", { src: icon }) })), title && _jsx("div", { children: title })] }));
|
|
17
17
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Area, Bar, ComposedChart, Legend, Line, ReferenceLine, ResponsiveContainer, Tooltip, XAxis, YAxis, } from "recharts";
|
|
3
|
-
import Card from "../
|
|
3
|
+
import Card from "../design/Card.design";
|
|
4
4
|
export default function ChartCard({ data, xAxis, yAxis, lines, bars, areas, options, average, }) {
|
|
5
5
|
const { width, height } = options ?? {};
|
|
6
6
|
return (_jsxs(Card, { options: {
|
|
7
|
-
|
|
7
|
+
className: "pt-4 pr-4",
|
|
8
8
|
width: width ?? "full",
|
|
9
9
|
height: height ?? "lg",
|
|
10
10
|
text: "text-xs",
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { jsxs as _jsxs, jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { Label } from "../../../html";
|
|
3
|
+
import { cn } from "../../../util";
|
|
4
|
+
import { InfoCardDesign } from "../../design/InfoCard.design";
|
|
5
|
+
import { label } from "./static/label";
|
|
6
|
+
export default function Exam({ titles, data }) {
|
|
7
|
+
const { status, isPublic, manager, examDate, endDate } = data;
|
|
8
|
+
const container = {
|
|
9
|
+
positions: "relative",
|
|
10
|
+
displays: "flex flex-col justify-between mt-2.5",
|
|
11
|
+
sizes: "h-19.25 w-full",
|
|
12
|
+
};
|
|
13
|
+
return (_jsx(InfoCardDesign, { titles: titles, options: {
|
|
14
|
+
titleBorder: "border-red-crimson",
|
|
15
|
+
width: "sm",
|
|
16
|
+
height: "xs",
|
|
17
|
+
}, children: _jsxs(_Fragment, { children: [_jsxs("div", { className: cn(container), children: [_jsxs("div", { className: "flex gap-4 font-pretendard-bold ", children: [manager, " / ", isPublic ? "공개시험" : "비공개시험"] }), _jsxs("div", { children: [_jsxs("div", { className: "text-xs", children: ["\uC811\uC218\uB9C8\uAC10: ", endDate] }), _jsxs("div", { className: "text-xs", children: ["\uC2DC\uD5D8\uC77C: ", examDate] })] })] }), _jsx(Label.Button, { title: status, onClick: () => { }, options: { width: "sm", height: "xs", className: cn(label) } })] }) }));
|
|
18
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { InfoCardExamDataOLYProps, InfoCardExamDataREGProps } from "../../../interface";
|
|
2
|
+
declare function ExamDataREG({ titles, data }: InfoCardExamDataREGProps): import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
declare function ExamDataOLY({ titles, data }: InfoCardExamDataOLYProps): import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
declare const ExamData: {
|
|
5
|
+
REG: typeof ExamDataREG;
|
|
6
|
+
OLY: typeof ExamDataOLY;
|
|
7
|
+
};
|
|
8
|
+
export default ExamData;
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Events, NoData } from "../../..";
|
|
3
|
+
import { InfoCardDesign } from "../../design/InfoCard.design";
|
|
4
|
+
import { cn } from "../../../util";
|
|
5
|
+
function ExamDataREG({ titles, data }) {
|
|
6
|
+
const container = {
|
|
7
|
+
positions: "relative",
|
|
8
|
+
displays: "flex flex-col gap-5",
|
|
9
|
+
sizes: "h-36.75 w-50 pt-5",
|
|
10
|
+
};
|
|
11
|
+
const dataBox = {
|
|
12
|
+
container: "flex justify-between",
|
|
13
|
+
rightBox: "flex items-end",
|
|
14
|
+
score: "text-4xl font-pretendard-bold leading-none",
|
|
15
|
+
};
|
|
16
|
+
const arr = [
|
|
17
|
+
["part 1", data && data?.scores[0], "text-crimson-burgundy"],
|
|
18
|
+
["part 2", data && data?.scores[1], "text-crimson-burgundy"],
|
|
19
|
+
[
|
|
20
|
+
"total",
|
|
21
|
+
data && data?.scores[0] + data?.scores[1],
|
|
22
|
+
"text-gray-dim border-t border-dashed border-gray-dim pt-1",
|
|
23
|
+
],
|
|
24
|
+
];
|
|
25
|
+
return (_jsx(InfoCardDesign, { titles: titles, options: {
|
|
26
|
+
width: "xs",
|
|
27
|
+
height: "md",
|
|
28
|
+
titleBorder: "border-crimson-burgundy",
|
|
29
|
+
}, children: _jsx(Events.Replace, { widgets: [
|
|
30
|
+
[
|
|
31
|
+
!data,
|
|
32
|
+
_jsx(NoData.Sign, { script: "\uC774\uC804 \uAE30\uB85D\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.", color: "#910023", className: "text-[#910023] mt-12" }),
|
|
33
|
+
],
|
|
34
|
+
], children: _jsx("div", { className: cn(container), children: arr.map(([part, score, styles]) => (_jsxs("div", { className: cn(dataBox.container, styles), children: [_jsx("div", { children: part }), _jsxs("div", { className: cn(dataBox.rightBox), children: [_jsx("div", { className: "text-4xl font-pretendard-bold leading-none", children: score }), _jsx("div", { children: "\uC810" })] })] }))) }) }) }));
|
|
35
|
+
}
|
|
36
|
+
function ExamDataOLY({ titles, data }) {
|
|
37
|
+
const container = {
|
|
38
|
+
displays: "flex justify-center",
|
|
39
|
+
sizes: "w-full",
|
|
40
|
+
margins: "mt-11.375",
|
|
41
|
+
};
|
|
42
|
+
const body = {
|
|
43
|
+
displays: "flex flex-col justify-between items-center",
|
|
44
|
+
sizes: "h-20",
|
|
45
|
+
};
|
|
46
|
+
return (_jsx(InfoCardDesign, { titles: titles, options: { width: "xs", height: "md", titleBorder: "border-green-dark" }, children: _jsx(Events.Replace, { widgets: [
|
|
47
|
+
[
|
|
48
|
+
!data,
|
|
49
|
+
_jsx(NoData.Sign, { script: "\uC774\uC804 \uAE30\uB85D\uC774 \uC5C6\uC2B5\uB2C8\uB2E4.", color: "#105652", className: "text-[#105652] mt-12" }),
|
|
50
|
+
],
|
|
51
|
+
], children: _jsx("div", { className: cn(container), children: _jsxs("div", { className: cn(body), children: [_jsxs("div", { className: "flex items-end text-green-dark", children: [_jsx("div", { className: "text-4xl font-pretendard-bold leading-none ", children: data?.score }), _jsx("div", { children: "\uC810" })] }), _jsxs("div", { className: "text-gray-dim", children: [data?.prize, "\uC744 \uC218\uC0C1\uD558\uC600\uC2B5\uB2C8\uB2E4."] })] }) }) }) }));
|
|
52
|
+
}
|
|
53
|
+
const ExamData = {
|
|
54
|
+
REG: ExamDataREG,
|
|
55
|
+
OLY: ExamDataOLY,
|
|
56
|
+
};
|
|
57
|
+
export default ExamData;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default function Finance(): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { InfoCardDesign } from "../../design/InfoCard.design";
|
|
3
|
+
export default function Finance() {
|
|
4
|
+
return (_jsx(InfoCardDesign, { titles: {
|
|
5
|
+
title: "수수료 정산",
|
|
6
|
+
}, options: {
|
|
7
|
+
width: "2xl",
|
|
8
|
+
height: "xl",
|
|
9
|
+
}, children: _jsx("div", { children: "\u314B\u314B" }) }));
|
|
10
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { Label } from "../../../html";
|
|
3
|
+
import { cn } from "../../../util";
|
|
4
|
+
import { InfoCardDesign } from "../../design/InfoCard.design";
|
|
5
|
+
import { label } from "./static/label";
|
|
6
|
+
export default function Grade({ titles, data }) {
|
|
7
|
+
const container = {
|
|
8
|
+
positions: "relative",
|
|
9
|
+
displays: "flex flex-col justify-between mt-2.5",
|
|
10
|
+
sizes: "h-19.5 w-full",
|
|
11
|
+
};
|
|
12
|
+
const levelBox = {
|
|
13
|
+
displays: "flex justify-center items-center ",
|
|
14
|
+
sizes: "w-22.5 h-6.4",
|
|
15
|
+
styles: "bg-white-off text-sm rounded-md",
|
|
16
|
+
text: data.levelColor,
|
|
17
|
+
};
|
|
18
|
+
return (_jsx(InfoCardDesign, { titles: titles, options: {
|
|
19
|
+
titleBorder: "border-blue-navy",
|
|
20
|
+
width: "sm",
|
|
21
|
+
height: "xs",
|
|
22
|
+
}, children: _jsxs(_Fragment, { children: [_jsxs("div", { className: cn(container), children: [_jsxs("div", { className: "flex items-center gap-5", children: [_jsx("div", { className: cn(levelBox), children: data.levelString }), _jsx("span", { className: "text-sm", children: "\uD559\uC6D0\uC0DD, 23\uC138" })] }), _jsxs("div", { className: "absolute bottom-0 left-0 flex items-end gap-8 text-blue-navy", children: [_jsxs("div", { className: "w-20 h-12 flex justify-end items-end", children: [_jsx("div", { className: "leading-none text-4xl font-pretendard-bold", children: data.score }), _jsx("div", { children: "\uC810" })] }), _jsxs("div", { className: "w-14 h-12 flex justify-end items-end", children: [_jsx("div", { className: "leading-none text-4xl font-pretendard-bold", children: data.grade }), _jsx("div", { children: "\uB4F1\uAE09" })] })] })] }), _jsx(Label.Button, { title: "\uC0C1\uC138\uBCF4\uAE30", onClick: () => { }, options: {
|
|
23
|
+
width: "sm",
|
|
24
|
+
height: "xs",
|
|
25
|
+
text: "text-white hover:text-blue-navy",
|
|
26
|
+
background: "bg-blue-navy hover:bg-gray-light",
|
|
27
|
+
className: cn(label),
|
|
28
|
+
} }), _jsx("div", { className: "absolute right-5 top-5 w-22.5 h-22.5", children: _jsx("div", { className: "relative h-full w-full rounded-md overflow-hidden", children: _jsx("img", { className: "bg-cover rounded-md ", src: data.profileImage }) }) })] }) }));
|
|
29
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { InfoCardDesign } from "../../design/InfoCard.design";
|
|
3
|
+
export default function Item({ titles, data }) {
|
|
4
|
+
const { item } = data;
|
|
5
|
+
return (_jsx(InfoCardDesign, { titles: titles, options: {
|
|
6
|
+
titleBorder: "border-blue-navy",
|
|
7
|
+
width: "xs",
|
|
8
|
+
height: "xs",
|
|
9
|
+
}, children: _jsx("div", { children: item }) }));
|
|
10
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { jsxs as _jsxs, jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { cn, gradient } from "../../../util";
|
|
3
|
+
import { label } from "./static/label";
|
|
4
|
+
import { Label } from "../../..";
|
|
5
|
+
import { InfoCardDesign } from "../../design/InfoCard.design";
|
|
6
|
+
export default function PersonalInformation({ titles, data, }) {
|
|
7
|
+
const body = {
|
|
8
|
+
container: "flex flex-col pt-5.75",
|
|
9
|
+
belong: "text-crimson-burgundy",
|
|
10
|
+
username: "text-gray-dim font-pretendard-bold",
|
|
11
|
+
name: "text-xl font-pretendard-bold text-crimson-burgundy",
|
|
12
|
+
subInfo: {
|
|
13
|
+
displays: "flex flex-col mt-7.5",
|
|
14
|
+
fonts: "text-xs text-gray-dim",
|
|
15
|
+
},
|
|
16
|
+
};
|
|
17
|
+
return (_jsx(InfoCardDesign, { titles: titles, options: {
|
|
18
|
+
titleBorder: "border-crimson-burgundy",
|
|
19
|
+
width: "md",
|
|
20
|
+
height: "md",
|
|
21
|
+
background: gradient.bg.greenToRedSoft,
|
|
22
|
+
boundary: "border-3 border-crimson-burgundy/30",
|
|
23
|
+
}, children: _jsxs(_Fragment, { children: [_jsxs("div", { className: cn(body.container), children: [_jsxs("div", { className: cn(body.belong), children: [data.school, "/", data.academy] }), _jsx("div", { className: cn(body.username), children: data.username }), _jsx("div", { className: cn(body.name), children: data.name }), _jsxs("div", { className: cn(body.subInfo), children: [_jsx("div", { children: data.email }), _jsx("div", { children: data.phone })] })] }), _jsx(Label.Button, { title: "\uD559\uC6D0 \uB4F1\uB85D\uD558\uAE30", onClick: () => { }, options: {
|
|
24
|
+
width: "md",
|
|
25
|
+
background: "bg-crimson-burgundy",
|
|
26
|
+
text: "text-white",
|
|
27
|
+
className: cn(label),
|
|
28
|
+
} })] }) }));
|
|
29
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { jsxs as _jsxs, jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { Label } from "../../..";
|
|
3
|
+
import { cn } from "../../../util";
|
|
4
|
+
import { InfoCardDesign } from "../../design/InfoCard.design";
|
|
5
|
+
import { label } from "./static/label";
|
|
6
|
+
export default function Product({ titles, data }) {
|
|
7
|
+
const { date, status, receiver, requester } = data;
|
|
8
|
+
const container = {
|
|
9
|
+
positions: "relative",
|
|
10
|
+
displays: "flex flex-col mt-2.5",
|
|
11
|
+
sizes: "h-19.25 w-full",
|
|
12
|
+
};
|
|
13
|
+
return (_jsx(InfoCardDesign, { titles: titles, options: {
|
|
14
|
+
titleBorder: "border-jr-blue",
|
|
15
|
+
width: "sm",
|
|
16
|
+
height: "xs",
|
|
17
|
+
}, children: _jsxs(_Fragment, { children: [_jsxs("div", { className: cn(container), children: [_jsxs("div", { className: "text-sm", children: ["\uC77C\uC2DC: ", date] }), _jsxs("div", { className: "text-sm", children: ["\uC694\uCCAD\uC790: ", requester ?? "No Data"] }), _jsxs("div", { className: "text-sm", children: ["\uC218\uC2E0\uC790: ", receiver ?? "No Data"] })] }), _jsx(Label.Button, { title: status ?? "", onClick: () => console.log("click"), options: {
|
|
18
|
+
width: "sm",
|
|
19
|
+
height: "xs",
|
|
20
|
+
className: cn(label),
|
|
21
|
+
background: "bg-gray-light hover:bg-blue-sky",
|
|
22
|
+
text: "hover:text-white",
|
|
23
|
+
} })] }) }));
|
|
24
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import Exam from "./Exam";
|
|
2
|
+
import Finance from "./Finance";
|
|
3
|
+
import Grade from "./Grade";
|
|
4
|
+
import Item from "./Item";
|
|
5
|
+
import PersonalInformation from "./PersonalInformation";
|
|
6
|
+
import Product from "./Product";
|
|
7
|
+
declare const InfoCard: {
|
|
8
|
+
PersonalInformation: typeof PersonalInformation;
|
|
9
|
+
Exam: typeof Exam;
|
|
10
|
+
ExamData: {
|
|
11
|
+
REG: ({ titles, data }: import("../../../interface").InfoCardExamDataREGProps) => import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
OLY: ({ titles, data }: import("../../../interface").InfoCardExamDataOLYProps) => import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
};
|
|
14
|
+
Finance: typeof Finance;
|
|
15
|
+
Product: typeof Product;
|
|
16
|
+
Item: typeof Item;
|
|
17
|
+
Grade: typeof Grade;
|
|
18
|
+
};
|
|
19
|
+
export default InfoCard;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import Exam from "./Exam";
|
|
2
|
+
import ExamData from "./ExamData";
|
|
3
|
+
import Finance from "./Finance";
|
|
4
|
+
import Grade from "./Grade";
|
|
5
|
+
import Item from "./Item";
|
|
6
|
+
import PersonalInformation from "./PersonalInformation";
|
|
7
|
+
import Product from "./Product";
|
|
8
|
+
const InfoCard = {
|
|
9
|
+
PersonalInformation,
|
|
10
|
+
Exam,
|
|
11
|
+
ExamData,
|
|
12
|
+
Finance,
|
|
13
|
+
Product,
|
|
14
|
+
Item,
|
|
15
|
+
Grade,
|
|
16
|
+
};
|
|
17
|
+
export default InfoCard;
|
package/card/template/NavCard.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import NavCardDesign from "../
|
|
2
|
+
import NavCardDesign from "../design/NavCard.design";
|
|
3
3
|
function Banner({ titles, options }) {
|
|
4
4
|
return (_jsx(NavCardDesign, { titles: titles, options: { ...options, width: options?.width ?? "xl", height: "sm" } }));
|
|
5
5
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useState } from "react";
|
|
3
3
|
import { cn } from "../../util";
|
|
4
|
-
import Obstacle from "
|
|
4
|
+
import Obstacle from "../widget/Obstacle";
|
|
5
5
|
const widthSize = {
|
|
6
6
|
xs: "w-10",
|
|
7
7
|
sm: "w-22.5",
|
package/html/template/Label.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import LabelDesign from "
|
|
2
|
+
import LabelDesign from "../design/Label.design";
|
|
3
3
|
function Label({ title, options }) {
|
|
4
4
|
return (_jsx(LabelDesign, { title: title, options: { ...options, width: "sm", height: "xs" } }));
|
|
5
5
|
}
|
package/html/template/Select.js
CHANGED
package/interface/Board.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ import { DataField, Size, Titles } from "./Property";
|
|
|
2
2
|
import { EventsProps } from "./Widget";
|
|
3
3
|
import { HTMLInputElement, HTMLLabelElement, HTMLSelectElement } from "./HTMLElement";
|
|
4
4
|
interface OptionsProps {
|
|
5
|
-
|
|
5
|
+
className?: string;
|
|
6
6
|
width?: Size;
|
|
7
7
|
height?: Size;
|
|
8
8
|
color?: string;
|
package/interface/Card.d.ts
CHANGED
package/interface/Modal.d.ts
CHANGED
package/interface/Shelf.d.ts
CHANGED
|
@@ -6,8 +6,7 @@ interface Options<T> {
|
|
|
6
6
|
overflowScroll?: boolean;
|
|
7
7
|
width?: T;
|
|
8
8
|
height?: number;
|
|
9
|
-
|
|
10
|
-
gapY?: number;
|
|
9
|
+
gap?: "xy" | "x" | "y" | "none";
|
|
11
10
|
}
|
|
12
11
|
export interface ShelfProps<T> {
|
|
13
12
|
children: React.ReactNode;
|
|
@@ -16,7 +15,7 @@ export interface ShelfProps<T> {
|
|
|
16
15
|
};
|
|
17
16
|
titles?: Titles;
|
|
18
17
|
debug?: string;
|
|
19
|
-
|
|
18
|
+
className?: string;
|
|
20
19
|
options?: Options<T>;
|
|
21
20
|
}
|
|
22
21
|
export {};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { ShelfProps } from "../../interface";
|
|
2
|
-
export default function Shelf<T extends string | number>({ children,
|
|
2
|
+
export default function Shelf<T extends string | number>({ children, className, options, titles, debug, }: ShelfProps<T>): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { LineBreaks } from "../../text";
|
|
3
3
|
import { cn, isDebug } from "../../util";
|
|
4
|
-
export default function Shelf({ children,
|
|
4
|
+
export default function Shelf({ children, className, options, titles, debug, }) {
|
|
5
5
|
const { titleSize, subtitleSize } = options ?? {};
|
|
6
6
|
const container = {
|
|
7
|
-
displays: "flex flex-col gap-
|
|
7
|
+
displays: "flex flex-col gap-6",
|
|
8
8
|
debug: debug && isDebug(`border-2 border-${debug}`),
|
|
9
9
|
};
|
|
10
10
|
const titleBox = {
|
|
11
|
-
container: "flex flex-col text-gray-dim",
|
|
11
|
+
container: "flex flex-col text-gray-dim h-6 leading-none",
|
|
12
12
|
title: {
|
|
13
|
-
text: titleSize ?? "text-xl xl:text-
|
|
13
|
+
text: titleSize ?? "text-xl xl:text-xl",
|
|
14
14
|
font: "font-pretendard-bold",
|
|
15
15
|
},
|
|
16
16
|
subtitle: {
|
|
@@ -19,7 +19,7 @@ export default function Shelf({ children, classNames, options, titles, debug, })
|
|
|
19
19
|
};
|
|
20
20
|
const childrenBox = {
|
|
21
21
|
sizes: "w-full",
|
|
22
|
-
|
|
22
|
+
className,
|
|
23
23
|
};
|
|
24
24
|
return (_jsxs("div", { className: cn(container), children: [titles && (_jsxs("div", { className: cn(titleBox.container), children: [_jsx("div", { className: cn(titleBox.title), children: titles?.title }), _jsx(LineBreaks, { className: cn(titleBox.subtitle), texts: titles?.subtitle })] })), _jsx("div", { className: cn(childrenBox), children: children })] }));
|
|
25
25
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import DataFieldDesign from "../
|
|
2
|
+
import DataFieldDesign from "../design/DataField.design";
|
|
3
3
|
function Board({ id, dataField }) {
|
|
4
4
|
return (_jsx(DataFieldDesign, { id: id, dataField: dataField, options: {
|
|
5
5
|
position: "fixed top-34 xl:top-0 left-0 xl:relative z-20",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import Events from "./Events";
|
|
3
|
-
import Tab from "../
|
|
3
|
+
import Tab from "../design/Tab.design";
|
|
4
4
|
export default function Gallery({ widgets, children, }) {
|
|
5
5
|
return (_jsxs("div", { className: "relative w-full flex", children: [_jsx(Events.Replace, { widgets: widgets?.replaces, children: _jsx(Events.Show, { widgets: widgets?.shows, children: children }) }), widgets?.tabs && _jsx(Tab, { tabs: widgets?.tabs })] }));
|
|
6
6
|
}
|
package/layout/template/Row.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { useId } from "react";
|
|
3
|
-
import RowDesign from "../
|
|
3
|
+
import RowDesign from "../design/Row.design";
|
|
4
4
|
function Board({ item, dataField, onClick, buttons, }) {
|
|
5
5
|
const id = useId();
|
|
6
6
|
return (_jsx(RowDesign, { onClick: onClick, item: item, dataField: dataField, buttons: buttons, options: {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ShelfProps } from "../../interface/Shelf";
|
|
2
2
|
declare function Shelf({ titles, debug, children }: ShelfProps<string | number>): import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
declare namespace Shelf {
|
|
4
|
-
var Wrap: ({
|
|
4
|
+
var Wrap: ({ className, titles, children, debug, options, }: ShelfProps<string | number>) => import("react/jsx-runtime").JSX.Element;
|
|
5
5
|
var Row: ({ titles, children, debug }: ShelfProps<string | number>) => import("react/jsx-runtime").JSX.Element;
|
|
6
6
|
var Col: ({ titles, children, debug }: ShelfProps<string | number>) => import("react/jsx-runtime").JSX.Element;
|
|
7
7
|
}
|