@euler-edu/react 7.0.1-beta2 → 7.0.2
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/lib/components/organisms/tables/ContestRankTable.d.ts +31 -0
- package/lib/components/organisms/tables/ContestRankTable.js +126 -0
- package/lib/components/organisms/tables/ContestRankTable.js.map +1 -0
- package/lib/components/organisms/tables/ProblemTable.d.ts +2 -1
- package/lib/components/organisms/tables/ProblemTable.js +7 -6
- package/lib/components/organisms/tables/ProblemTable.js.map +1 -1
- package/lib/components/organisms/tables/index.d.ts +1 -0
- package/lib/components/organisms/tables/index.js +3 -1
- package/lib/components/organisms/tables/index.js.map +1 -1
- package/lib/constants/components/organisms.d.ts +2 -0
- package/lib/constants/components/organisms.js +6 -1
- package/lib/constants/components/organisms.js.map +1 -1
- package/package.json +4 -4
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ContestRankTableCellStatus } from '../../../constants/components';
|
|
3
|
+
import type { Palette } from '../../../constants/styles';
|
|
4
|
+
import { AvatarButton, ClickableContainer, Text } from '../../../components/atoms';
|
|
5
|
+
import BaseTable from './BaseTable';
|
|
6
|
+
type Cell = {
|
|
7
|
+
status: ContestRankTableCellStatus;
|
|
8
|
+
triesCount: number;
|
|
9
|
+
time?: number;
|
|
10
|
+
};
|
|
11
|
+
type Props = {
|
|
12
|
+
problems?: {
|
|
13
|
+
key: React.Key;
|
|
14
|
+
text: React.ComponentProps<typeof Text>['value'];
|
|
15
|
+
acceptsCount: number;
|
|
16
|
+
triesCount: number;
|
|
17
|
+
}[];
|
|
18
|
+
values?: {
|
|
19
|
+
rank: number;
|
|
20
|
+
avatarButton?: React.ComponentProps<typeof AvatarButton>;
|
|
21
|
+
text?: React.ComponentProps<typeof Text>['value'];
|
|
22
|
+
href?: React.ComponentProps<typeof ClickableContainer>['href'];
|
|
23
|
+
solvesCount: number;
|
|
24
|
+
penaltyTotal: number;
|
|
25
|
+
cells: (Cell | undefined)[];
|
|
26
|
+
isHighlighted?: boolean;
|
|
27
|
+
}[];
|
|
28
|
+
palette?: Palette;
|
|
29
|
+
} & Omit<React.ComponentProps<typeof BaseTable>, 'values'>;
|
|
30
|
+
declare const _default: React.MemoExoticComponent<({ problems, values: _values, palette, ...props }: Props) => import("react/jsx-runtime").JSX.Element>;
|
|
31
|
+
export default _default;
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
"use strict";
|
|
3
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
|
+
};
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
|
+
const react_1 = __importDefault(require("react"));
|
|
9
|
+
const styles_1 = require("../../../utils/styles");
|
|
10
|
+
const atoms_1 = require("../../../components/atoms");
|
|
11
|
+
const BaseTable_1 = __importDefault(require("./BaseTable"));
|
|
12
|
+
const CELL_WIDTH = 52;
|
|
13
|
+
const CELL_HEIGHT = 40;
|
|
14
|
+
const CELL_GAP = styles_1.theme.size.margin.base.small;
|
|
15
|
+
const PARTICIPANT_MIN_WIDTH = 180;
|
|
16
|
+
const SOLVES_WIDTH = 40;
|
|
17
|
+
const PENALTY_WIDTH = 56;
|
|
18
|
+
const LEGEND_SIZE = 12;
|
|
19
|
+
const paletteByStatus = {
|
|
20
|
+
accept: 'badge-surface-success',
|
|
21
|
+
wrong: 'badge-surface-error',
|
|
22
|
+
pending: 'badge-surface-warning',
|
|
23
|
+
};
|
|
24
|
+
const textByStatus = {
|
|
25
|
+
accept: '정답',
|
|
26
|
+
wrong: '오답',
|
|
27
|
+
pending: '채점 중',
|
|
28
|
+
};
|
|
29
|
+
const Legend = ({ text, palette }) => ((0, jsx_runtime_1.jsxs)(atoms_1.Container, { "$display": "flex", "$alignItems": "center", "$gap": styles_1.theme.size.margin.base.x_small, children: [(0, jsx_runtime_1.jsx)(atoms_1.Container, { "$size": LEGEND_SIZE, "$borderRadius": styles_1.theme.size.borderRadius.x_small, "$background": styles_1.theme.color.palettes[palette]['background-primary'], "$boxShadow": `inset 0 0 0 1px ${styles_1.theme.color.palettes[palette]['border-primary']}` }), (0, jsx_runtime_1.jsx)(atoms_1.Text, { type: "x_small", value: text, "$color": styles_1.theme.color.palettes['table-base']['content-secondary'] })] }));
|
|
30
|
+
const ResultCell = ({ cell }) => {
|
|
31
|
+
var _a;
|
|
32
|
+
if (!cell)
|
|
33
|
+
return (0, jsx_runtime_1.jsx)(atoms_1.Container, { "$width": CELL_WIDTH, "$height": CELL_HEIGHT });
|
|
34
|
+
const palette = paletteByStatus[cell.status];
|
|
35
|
+
const color = styles_1.theme.color.palettes[palette]['content-primary'];
|
|
36
|
+
const wrongsCount = Math.max(0, cell.triesCount - 1);
|
|
37
|
+
const top = cell.status === 'accept'
|
|
38
|
+
? wrongsCount
|
|
39
|
+
? `+${wrongsCount}`
|
|
40
|
+
: '+'
|
|
41
|
+
: cell.status === 'wrong'
|
|
42
|
+
? `-${cell.triesCount}`
|
|
43
|
+
: '?';
|
|
44
|
+
const bottom = cell.status === 'accept'
|
|
45
|
+
? `${(_a = cell.time) !== null && _a !== void 0 ? _a : 0}분`
|
|
46
|
+
: cell.status === 'pending'
|
|
47
|
+
? `${cell.triesCount}회`
|
|
48
|
+
: undefined;
|
|
49
|
+
return ((0, jsx_runtime_1.jsxs)(atoms_1.Container, { "$display": "flex", "$flexDirection": "column", "$alignItems": "center", "$justifyContent": "center", "$width": CELL_WIDTH, "$height": CELL_HEIGHT, "$borderRadius": styles_1.theme.size.borderRadius.small, "$background": styles_1.theme.color.palettes[palette]['background-primary'], children: [(0, jsx_runtime_1.jsx)(atoms_1.Text, { type: "small-bold", value: top, "$color": color }), !!bottom && (0, jsx_runtime_1.jsx)(atoms_1.Text, { type: "x_small", value: bottom, "$color": color })] }));
|
|
50
|
+
};
|
|
51
|
+
exports.default = react_1.default.memo(({ problems, values: _values, palette = 'table-base', ...props }) => {
|
|
52
|
+
var _a, _b;
|
|
53
|
+
const problemsCount = (_a = problems === null || problems === void 0 ? void 0 : problems.length) !== null && _a !== void 0 ? _a : 0;
|
|
54
|
+
const maxRank = react_1.default.useMemo(() => Array.isArray(_values) ? Math.max(0, ..._values.map(v => v.rank)) : 0, [_values]);
|
|
55
|
+
const layouts = react_1.default.useMemo(() => [
|
|
56
|
+
{
|
|
57
|
+
key: 'rank',
|
|
58
|
+
$width: maxRank < 1000 ? 38 : 48,
|
|
59
|
+
$flexShrink: 0,
|
|
60
|
+
$overflow: true,
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
key: 'main',
|
|
64
|
+
$width: 0,
|
|
65
|
+
$minWidth: PARTICIPANT_MIN_WIDTH,
|
|
66
|
+
$flexGrow: true,
|
|
67
|
+
$overflow: true,
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
key: 'solves',
|
|
71
|
+
$display: 'flex',
|
|
72
|
+
$justifyContent: 'center',
|
|
73
|
+
$width: SOLVES_WIDTH,
|
|
74
|
+
$flexShrink: 0,
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
key: 'penalty',
|
|
78
|
+
$display: 'flex',
|
|
79
|
+
$justifyContent: 'center',
|
|
80
|
+
$width: PENALTY_WIDTH,
|
|
81
|
+
$flexShrink: 0,
|
|
82
|
+
},
|
|
83
|
+
{
|
|
84
|
+
key: 'problems',
|
|
85
|
+
$display: 'flex',
|
|
86
|
+
$gap: CELL_GAP,
|
|
87
|
+
$flexShrink: 0,
|
|
88
|
+
},
|
|
89
|
+
], [maxRank]);
|
|
90
|
+
const headers = react_1.default.useMemo(() => [
|
|
91
|
+
(0, jsx_runtime_1.jsx)(atoms_1.Text, { type: "small-bold", value: "\uC21C\uC704", "$color": styles_1.theme.color.palettes[palette]['content-highlight'] }),
|
|
92
|
+
(0, jsx_runtime_1.jsx)(atoms_1.Text, { type: "small-bold", value: "\uCC38\uAC00\uC790", "$color": styles_1.theme.color.palettes[palette]['content-highlight'] }),
|
|
93
|
+
(0, jsx_runtime_1.jsx)(atoms_1.Text, { type: "small-bold", value: "\uD574\uACB0", "$color": styles_1.theme.color.palettes[palette]['content-highlight'] }),
|
|
94
|
+
(0, jsx_runtime_1.jsx)(atoms_1.Text, { type: "small-bold", value: "\uD398\uB110\uD2F0", "$color": styles_1.theme.color.palettes[palette]['content-highlight'] }),
|
|
95
|
+
(0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (problems || []).map(({ key, text, acceptsCount, triesCount }) => ((0, jsx_runtime_1.jsxs)(atoms_1.Container, { "$display": "flex", "$flexDirection": "column", "$alignItems": "center", "$width": CELL_WIDTH, children: [(0, jsx_runtime_1.jsx)(atoms_1.Text, { type: "small-bold", value: text, "$color": styles_1.theme.color.palettes[palette]['content-highlight'], "$ellipsis": true }), (0, jsx_runtime_1.jsx)(atoms_1.Text, { type: "x_small", value: `${acceptsCount}/${triesCount}`, "$color": styles_1.theme.color.palettes[palette]['content-secondary'] })] }, key))) }),
|
|
96
|
+
], [problems, palette]);
|
|
97
|
+
const values = react_1.default.useMemo(() => Array.isArray(_values)
|
|
98
|
+
? _values.map(({ rank, avatarButton, text, href, solvesCount, penaltyTotal, cells, isHighlighted, }) => ({
|
|
99
|
+
...(isHighlighted && {
|
|
100
|
+
$background: styles_1.theme.color.palettes['body-info']['background-hovered'],
|
|
101
|
+
}),
|
|
102
|
+
values: [
|
|
103
|
+
(0, jsx_runtime_1.jsx)(atoms_1.Text, { type: rank <= 3 ? 'medium-bold' : 'medium', value: rank, "$color": rank === 1
|
|
104
|
+
? styles_1.theme.color.base.extra.gold
|
|
105
|
+
: rank === 2
|
|
106
|
+
? styles_1.theme.color.base.extra.silver
|
|
107
|
+
: rank === 3
|
|
108
|
+
? styles_1.theme.color.base.extra.bronze
|
|
109
|
+
: styles_1.theme.color.palettes[palette]['content-secondary'], "$ellipsis": true }),
|
|
110
|
+
(0, jsx_runtime_1.jsxs)(atoms_1.Container, { "$display": "flex", "$alignItems": "center", "$gap": styles_1.theme.size.margin.base.small, children: [!!avatarButton && ((0, jsx_runtime_1.jsx)(atoms_1.AvatarButton, { size: "small", href: href, ...avatarButton })), (0, jsx_runtime_1.jsx)(atoms_1.ClickableContainer, { href: href, "$width": 0, "$flexGrow": true, "$overflow": true, children: !!text && ((0, jsx_runtime_1.jsx)(atoms_1.Text, { type: "small", value: text, "$color": styles_1.theme.color.palettes[palette]['content-primary'], "$ellipsis": true })) })] }),
|
|
111
|
+
(0, jsx_runtime_1.jsx)(atoms_1.Text, { type: "medium-bold", value: solvesCount, "$color": styles_1.theme.color.palettes[palette]['content-primary'] }),
|
|
112
|
+
(0, jsx_runtime_1.jsx)(atoms_1.Text, { type: "small", value: penaltyTotal, "$color": styles_1.theme.color.palettes[palette]['content-secondary'] }),
|
|
113
|
+
(0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: Array.from({ length: problemsCount }, (_, index) => ((0, jsx_runtime_1.jsx)(ResultCell, { cell: cells[index] }, index))) }),
|
|
114
|
+
],
|
|
115
|
+
}))
|
|
116
|
+
: _values, [_values, problemsCount, palette]);
|
|
117
|
+
const minWidth = styles_1.theme.size.margin.base.large * 2 +
|
|
118
|
+
38 +
|
|
119
|
+
PARTICIPANT_MIN_WIDTH +
|
|
120
|
+
SOLVES_WIDTH +
|
|
121
|
+
PENALTY_WIDTH +
|
|
122
|
+
styles_1.theme.size.margin.base.large * 4 +
|
|
123
|
+
problemsCount * (CELL_WIDTH + CELL_GAP);
|
|
124
|
+
return ((0, jsx_runtime_1.jsxs)(atoms_1.Container, { "$display": "flex", "$flexDirection": "column", "$gap": styles_1.theme.size.margin.base.medium, ...props, children: [(0, jsx_runtime_1.jsxs)(atoms_1.Container, { "$display": "flex", "$alignItems": "center", "$justifyContent": "space-between", "$gap": styles_1.theme.size.margin.base.medium, "$flexWrap": true, children: [(0, jsx_runtime_1.jsxs)(atoms_1.Container, { "$display": "flex", "$alignItems": "center", "$gap": styles_1.theme.size.margin.base.small, children: [(0, jsx_runtime_1.jsx)(atoms_1.Text, { type: "small", value: `참가자 ${((_b = _values === null || _values === void 0 ? void 0 : _values.length) !== null && _b !== void 0 ? _b : 0).toLocaleString()}명`, "$color": styles_1.theme.color.palettes[palette]['content-secondary'] }), (0, jsx_runtime_1.jsx)(atoms_1.Text, { type: "small", value: "\u00B7", "$color": styles_1.theme.color.palettes[palette]['content-secondary'] }), (0, jsx_runtime_1.jsx)(atoms_1.Text, { type: "small", value: "\uD398\uB110\uD2F0 = \uCC38\uAC00 \uD6C4 \uC815\uB2F5\uAE4C\uC9C0 \uAC78\uB9B0 \uC2DC\uAC04(\uBD84) + \uC81C\uCD9C 1\uD68C\uB2F9 20\uBD84", "$color": styles_1.theme.color.palettes[palette]['content-secondary'] })] }), (0, jsx_runtime_1.jsx)(atoms_1.Container, { "$display": "flex", "$alignItems": "center", "$gap": styles_1.theme.size.margin.base.medium, children: ['accept', 'wrong', 'pending'].map(status => ((0, jsx_runtime_1.jsx)(Legend, { text: textByStatus[status], palette: paletteByStatus[status] }, status))) })] }), (0, jsx_runtime_1.jsx)(atoms_1.Container, { "$overflowX": "auto", children: (0, jsx_runtime_1.jsx)(BaseTable_1.default, { layouts: layouts, headers: headers, values: values, palette: palette, "$minWidth": minWidth }) })] }));
|
|
125
|
+
});
|
|
126
|
+
//# sourceMappingURL=ContestRankTable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContestRankTable.js","sourceRoot":"","sources":["../../../../src/components/organisms/tables/ContestRankTable.tsx"],"names":[],"mappings":"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"}
|
|
@@ -13,6 +13,7 @@ type Props = {
|
|
|
13
13
|
scoringResultHref?: React.ComponentProps<typeof ClickableContainer>['href'];
|
|
14
14
|
}[];
|
|
15
15
|
isDisplayScoringResult?: boolean;
|
|
16
|
+
isDisplaySolvesCount?: boolean;
|
|
16
17
|
} & Omit<React.ComponentProps<typeof BaseTable>, 'values'>;
|
|
17
|
-
declare const _default: React.MemoExoticComponent<({ values: _values, isDisplayScoringResult, palette, ...props }: Props) => import("react/jsx-runtime").JSX.Element>;
|
|
18
|
+
declare const _default: React.MemoExoticComponent<({ values: _values, isDisplayScoringResult, isDisplaySolvesCount, palette, ...props }: Props) => import("react/jsx-runtime").JSX.Element>;
|
|
18
19
|
export default _default;
|
|
@@ -11,7 +11,7 @@ const styles_2 = require("../../../hooks/styles");
|
|
|
11
11
|
const atoms_1 = require("../../../components/atoms");
|
|
12
12
|
const BaseTable_1 = __importDefault(require("./BaseTable"));
|
|
13
13
|
const SolvesCount = ({ layoutMode, solvesCount, palette = 'table-base', ...props }) => layoutMode === 'wide' ? ((0, jsx_runtime_1.jsxs)(atoms_1.Container, { "$display": "flex", "$alignItems": "center", "$gap": styles_1.theme.size.margin.base.x_small, ...props, children: [(0, jsx_runtime_1.jsx)(atoms_1.Icon, { type: solvesCount > 1 ? 'hero/users-outline' : 'hero/user-outline', "$autoFill": styles_1.theme.color.palettes[palette]['content-secondary'], "$size": 20 }), (0, jsx_runtime_1.jsx)(atoms_1.Text, { type: 'medium', value: solvesCount, "$color": styles_1.theme.color.palettes[palette]['content-secondary'] })] })) : ((0, jsx_runtime_1.jsx)(atoms_1.TextBadge, { size: "small", icon: solvesCount > 1 ? 'hero/users-outline' : 'hero/user-outline', text: solvesCount }));
|
|
14
|
-
exports.default = react_1.default.memo(({ values: _values, isDisplayScoringResult = true, palette = 'table-base', ...props }) => {
|
|
14
|
+
exports.default = react_1.default.memo(({ values: _values, isDisplayScoringResult = true, isDisplaySolvesCount = true, palette = 'table-base', ...props }) => {
|
|
15
15
|
const ref = react_1.default.useRef(null);
|
|
16
16
|
const { offsetWidth } = (0, styles_2.useElementStates)(ref);
|
|
17
17
|
const layoutMode = react_1.default.useMemo(() => !offsetWidth ||
|
|
@@ -43,13 +43,13 @@ exports.default = react_1.default.memo(({ values: _values, isDisplayScoringResul
|
|
|
43
43
|
{
|
|
44
44
|
key: 'solvesCount',
|
|
45
45
|
$width: 80,
|
|
46
|
-
$display: 'flex',
|
|
46
|
+
$display: isDisplaySolvesCount ? 'flex' : 'none',
|
|
47
47
|
$justifyContent: 'end',
|
|
48
48
|
$overflow: true,
|
|
49
49
|
},
|
|
50
50
|
]
|
|
51
51
|
: []),
|
|
52
|
-
], [isDisplayScoringResult, layoutMode]);
|
|
52
|
+
], [isDisplayScoringResult, isDisplaySolvesCount, layoutMode]);
|
|
53
53
|
const headers = react_1.default.useMemo(() => [
|
|
54
54
|
null,
|
|
55
55
|
(0, jsx_runtime_1.jsx)(atoms_1.Text, { type: "medium-bold", value: "#", "$color": styles_1.theme.color.palettes[palette]['content-highlight'] }),
|
|
@@ -60,11 +60,12 @@ exports.default = react_1.default.memo(({ values: _values, isDisplayScoringResul
|
|
|
60
60
|
? _values.map(({ id, title, textBadges, solvesCount, scoringResult, href, solvesCountHref, scoringResultHref, }) => [
|
|
61
61
|
(0, jsx_runtime_1.jsx)(atoms_1.ClickableContainer, { href: scoringResultHref, children: (0, jsx_runtime_1.jsx)(atoms_1.ScoringResultBadge, { value: scoringResult || 'none' }) }),
|
|
62
62
|
(0, jsx_runtime_1.jsx)(atoms_1.ClickableContainer, { href: href, children: (0, jsx_runtime_1.jsx)(atoms_1.Text, { value: `#${id}`, "$color": styles_1.theme.color.palettes[palette]['content-secondary'] }) }),
|
|
63
|
-
(0, jsx_runtime_1.jsxs)(atoms_1.Container, { "$display": "flex", "$alignItems": "center", "$gap": styles_1.theme.size.margin.base.small, children: [(0, jsx_runtime_1.jsx)(atoms_1.ClickableContainer, { href: href, children: (0, jsx_runtime_1.jsx)(atoms_1.Text, { value: title, "$color": styles_1.theme.color.palettes[palette]['content-primary'], "$flexShrink": true, "$ellipsis": true }) }), (0, jsx_runtime_1.jsxs)(atoms_1.Container, { "$display": "flex", "$alignItems": "center", "$gap": styles_1.theme.size.margin.base.x_small, children: [(textBadges || []).map((props, index) => ((0, jsx_runtime_1.jsx)(atoms_1.TextBadge, { size: "small", ...props }, index))),
|
|
63
|
+
(0, jsx_runtime_1.jsxs)(atoms_1.Container, { "$display": "flex", "$alignItems": "center", "$gap": styles_1.theme.size.margin.base.small, children: [(0, jsx_runtime_1.jsx)(atoms_1.ClickableContainer, { href: href, children: (0, jsx_runtime_1.jsx)(atoms_1.Text, { value: title, "$color": styles_1.theme.color.palettes[palette]['content-primary'], "$flexShrink": true, "$ellipsis": true }) }), (0, jsx_runtime_1.jsxs)(atoms_1.Container, { "$display": "flex", "$alignItems": "center", "$gap": styles_1.theme.size.margin.base.x_small, children: [(textBadges || []).map((props, index) => ((0, jsx_runtime_1.jsx)(atoms_1.TextBadge, { size: "small", ...props }, index))), isDisplaySolvesCount &&
|
|
64
|
+
layoutMode === 'compact' &&
|
|
64
65
|
typeof solvesCount === 'number' ? ((0, jsx_runtime_1.jsx)(atoms_1.ClickableContainer, { href: solvesCountHref, children: (0, jsx_runtime_1.jsx)(SolvesCount, { layoutMode: layoutMode, solvesCount: solvesCount }) })) : null] })] }),
|
|
65
|
-
typeof solvesCount === 'number' ? ((0, jsx_runtime_1.jsx)(atoms_1.ClickableContainer, { href: solvesCountHref, children: (0, jsx_runtime_1.jsx)(SolvesCount, { layoutMode: layoutMode, solvesCount: solvesCount }) })) : null,
|
|
66
|
+
isDisplaySolvesCount && typeof solvesCount === 'number' ? ((0, jsx_runtime_1.jsx)(atoms_1.ClickableContainer, { href: solvesCountHref, children: (0, jsx_runtime_1.jsx)(SolvesCount, { layoutMode: layoutMode, solvesCount: solvesCount }) })) : null,
|
|
66
67
|
])
|
|
67
|
-
: _values, [_values, palette, layoutMode]);
|
|
68
|
+
: _values, [_values, isDisplaySolvesCount, palette, layoutMode]);
|
|
68
69
|
const row = react_1.default.useMemo(() => ({
|
|
69
70
|
$gap: layoutMode === 'wide'
|
|
70
71
|
? styles_1.theme.size.margin.base.large
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProblemTable.js","sourceRoot":"","sources":["../../../../src/components/organisms/tables/ProblemTable.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;AAEb,kDAA0B;AAI1B,2CAAuC;AAEvC,2CAAkD;AAElD,8CAO4B;AAE5B,4DAAoC;
|
|
1
|
+
{"version":3,"file":"ProblemTable.js","sourceRoot":"","sources":["../../../../src/components/organisms/tables/ProblemTable.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;;;;;;AAEb,kDAA0B;AAI1B,2CAAuC;AAEvC,2CAAkD;AAElD,8CAO4B;AAE5B,4DAAoC;AAiBpC,MAAM,WAAW,GAAG,CAAC,EACnB,UAAU,EACV,WAAW,EACX,OAAO,GAAG,YAAY,EACtB,GAAG,KAAK,EAKgC,EAAE,EAAE,CAC5C,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,CACtB,wBAAC,iBAAS,gBACC,MAAM,iBACH,QAAQ,UACd,cAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,KAChC,KAAK,aAET,uBAAC,YAAI,IACH,IAAI,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,mBAAmB,eACvD,cAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,mBAAmB,CAAC,WACtD,EAAE,GACT,EACF,uBAAC,YAAI,IACH,IAAI,EAAE,QAAQ,EACd,KAAK,EAAE,WAAW,YACV,cAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,mBAAmB,CAAC,GAC1D,IACQ,CACb,CAAC,CAAC,CAAC,CACF,uBAAC,iBAAS,IACR,IAAI,EAAC,OAAO,EACZ,IAAI,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,mBAAmB,EAClE,IAAI,EAAE,WAAW,GACjB,CACH,CAAC;AAEJ,kBAAe,eAAK,CAAC,IAAI,CACvB,CAAC,EACC,MAAM,EAAE,OAAO,EACf,sBAAsB,GAAG,IAAI,EAC7B,oBAAoB,GAAG,IAAI,EAC3B,OAAO,GAAG,YAAY,EACtB,GAAG,KAAK,EACF,EAAE,EAAE;IACV,MAAM,GAAG,GAAG,eAAK,CAAC,MAAM,CAAiB,IAAI,CAAC,CAAC;IAC/C,MAAM,EAAE,WAAW,EAAE,GAAG,IAAA,yBAAgB,EAAC,GAAG,CAAC,CAAC;IAE9C,MAAM,UAAU,GAAG,eAAK,CAAC,OAAO,CAC9B,GAAG,EAAE,CACH,CAAC,WAAW;QACZ,WAAW;YACT,cAAK,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM;gBAC/B,cAAK,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,GAAG,CAAC;QACvC,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,SAAS,EAEf,CAAC,WAAW,CAAC,CACd,CAAC;IAEF,MAAM,OAAO,GAAG,eAAK,CAAC,OAAO,CAG3B,GAAG,EAAE,CAAC;QACJ;YACE,GAAG,EAAE,gBAAgB;YACrB,MAAM,EAAE,EAAE;YACV,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,sBAAsB,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM;SACrD;QACD;YACE,GAAG,EAAE,QAAQ;YACb,MAAM,EAAE,EAAE;YACV,SAAS,EAAE,IAAI;SAChB;QACD;YACE,GAAG,EAAE,OAAO;YACZ,MAAM,EAAE,CAAC;YACT,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,IAAI;SAChB;QACD,GAAG,CAAC,UAAU,KAAK,MAAM;YACvB,CAAC,CAAC;gBACE;oBACE,GAAG,EAAE,aAAa;oBAClB,MAAM,EAAE,EAAE;oBACV,QAAQ,EAAE,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM;oBAChD,eAAe,EAAE,KAAK;oBACtB,SAAS,EAAE,IAAI;iBAChB;aACF;YACH,CAAC,CAAC,EAAE,CAAC;KACR,EACD,CAAC,sBAAsB,EAAE,oBAAoB,EAAE,UAAU,CAAC,CAC3D,CAAC;IACF,MAAM,OAAO,GAAG,eAAK,CAAC,OAAO,CAG3B,GAAG,EAAE,CAAC;QACJ,IAAI;QACJ,uBAAC,YAAI,IACH,IAAI,EAAC,aAAa,EAClB,KAAK,EAAC,GAAG,YACD,cAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,mBAAmB,CAAC,GAC1D;QACF,uBAAC,YAAI,IACH,IAAI,EAAC,aAAa,EAClB,KAAK,EAAC,cAAI,YACF,cAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,mBAAmB,CAAC,GAC1D;QACF,uBAAC,YAAI,IACH,IAAI,EAAC,aAAa,EAClB,KAAK,EAAC,2BAAO,YACL,cAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,mBAAmB,CAAC,GAC1D;KACH,EACD,CAAC,OAAO,CAAC,CACV,CAAC;IACF,MAAM,MAAM,GAAG,eAAK,CAAC,OAAO,CAG1B,GAAG,EAAE,CACH,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;QACpB,CAAC,CAAC,OAAO,CAAC,GAAG,CACT,CAAC,EACC,EAAE,EACF,KAAK,EACL,UAAU,EACV,WAAW,EACX,aAAa,EACb,IAAI,EACJ,eAAe,EACf,iBAAiB,GAClB,EAAE,EAAE,CAAC;YACJ,uBAAC,0BAAkB,IAAC,IAAI,EAAE,iBAAiB,YACzC,uBAAC,0BAAkB,IAAC,KAAK,EAAE,aAAa,IAAI,MAAM,GAAI,GACnC;YACrB,uBAAC,0BAAkB,IAAC,IAAI,EAAE,IAAI,YAC5B,uBAAC,YAAI,IACH,KAAK,EAAE,IAAI,EAAE,EAAE,YACP,cAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,mBAAmB,CAAC,GAC1D,GACiB;YACrB,wBAAC,iBAAS,gBACC,MAAM,iBACH,QAAQ,UACd,cAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,aAElC,uBAAC,0BAAkB,IAAC,IAAI,EAAE,IAAI,YAC5B,uBAAC,YAAI,IACH,KAAK,EAAE,KAAK,YACJ,cAAK,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,iBAAiB,CAAC,2CAGxD,GACiB,EACrB,wBAAC,iBAAS,gBACC,MAAM,iBACH,QAAQ,UACd,cAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,aAEnC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CACxC,uBAAC,iBAAS,IAAa,IAAI,EAAC,OAAO,KAAK,KAAK,IAA7B,KAAK,CAA4B,CAClD,CAAC,EACD,oBAAoB;gCACrB,UAAU,KAAK,SAAS;gCACxB,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,CAChC,uBAAC,0BAAkB,IAAC,IAAI,EAAE,eAAe,YACvC,uBAAC,WAAW,IACV,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,GACxB,GACiB,CACtB,CAAC,CAAC,CAAC,IAAI,IACE,IACF;YACZ,oBAAoB,IAAI,OAAO,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,CACxD,uBAAC,0BAAkB,IAAC,IAAI,EAAE,eAAe,YACvC,uBAAC,WAAW,IACV,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,GACxB,GACiB,CACtB,CAAC,CAAC,CAAC,IAAI;SACT,CACF;QACH,CAAC,CAAC,OAAO,EACb,CAAC,OAAO,EAAE,oBAAoB,EAAE,OAAO,EAAE,UAAU,CAAC,CACrD,CAAC;IACF,MAAM,GAAG,GAAG,eAAK,CAAC,OAAO,CACvB,GAAG,EAAE,CAAC,CAAC;QACL,IAAI,EACF,UAAU,KAAK,MAAM;YACnB,CAAC,CAAC,cAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK;YAC9B,CAAC,CAAC,cAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK;QAClC,kBAAkB,EAChB,UAAU,KAAK,MAAM;YACnB,CAAC,CAAC,cAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK;YAC9B,CAAC,CAAC,cAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM;KACpC,CAAC,EACF,CAAC,UAAU,CAAC,CACb,CAAC;IACF,OAAO,CACL,uBAAC,mBAAS,IACR,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,GAAG,EACR,OAAO,EAAE,OAAO,KACZ,KAAK,GACT,CACH,CAAC;AACJ,CAAC,CACF,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
export { default as BaseTable } from './BaseTable';
|
|
2
|
+
export { default as ContestRankTable } from './ContestRankTable';
|
|
2
3
|
export { default as ContestTable } from './ContestTable';
|
|
3
4
|
export { default as ExploreTable } from './ExploreTable';
|
|
4
5
|
export { default as ProblemTable } from './ProblemTable';
|
|
@@ -3,9 +3,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.UserTable = exports.TestcaseTable = exports.SubmitTable = exports.RecordTable = exports.ProblemTable = exports.ExploreTable = exports.ContestTable = exports.BaseTable = void 0;
|
|
6
|
+
exports.UserTable = exports.TestcaseTable = exports.SubmitTable = exports.RecordTable = exports.ProblemTable = exports.ExploreTable = exports.ContestTable = exports.ContestRankTable = exports.BaseTable = void 0;
|
|
7
7
|
var BaseTable_1 = require("./BaseTable");
|
|
8
8
|
Object.defineProperty(exports, "BaseTable", { enumerable: true, get: function () { return __importDefault(BaseTable_1).default; } });
|
|
9
|
+
var ContestRankTable_1 = require("./ContestRankTable");
|
|
10
|
+
Object.defineProperty(exports, "ContestRankTable", { enumerable: true, get: function () { return __importDefault(ContestRankTable_1).default; } });
|
|
9
11
|
var ContestTable_1 = require("./ContestTable");
|
|
10
12
|
Object.defineProperty(exports, "ContestTable", { enumerable: true, get: function () { return __importDefault(ContestTable_1).default; } });
|
|
11
13
|
var ExploreTable_1 = require("./ExploreTable");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/organisms/tables/index.tsx"],"names":[],"mappings":";;;;;;AAAA,yCAAmD;AAA1C,uHAAA,OAAO,OAAa;AAC7B,+CAAyD;AAAhD,6HAAA,OAAO,OAAgB;AAChC,+CAAyD;AAAhD,6HAAA,OAAO,OAAgB;AAChC,+CAAyD;AAAhD,6HAAA,OAAO,OAAgB;AAChC,6CAAuD;AAA9C,2HAAA,OAAO,OAAe;AAC/B,6CAAuD;AAA9C,2HAAA,OAAO,OAAe;AAC/B,iDAA2D;AAAlD,+HAAA,OAAO,OAAiB;AACjC,yCAAmD;AAA1C,uHAAA,OAAO,OAAa"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/organisms/tables/index.tsx"],"names":[],"mappings":";;;;;;AAAA,yCAAmD;AAA1C,uHAAA,OAAO,OAAa;AAC7B,uDAAiE;AAAxD,qIAAA,OAAO,OAAoB;AACpC,+CAAyD;AAAhD,6HAAA,OAAO,OAAgB;AAChC,+CAAyD;AAAhD,6HAAA,OAAO,OAAgB;AAChC,+CAAyD;AAAhD,6HAAA,OAAO,OAAgB;AAChC,6CAAuD;AAA9C,2HAAA,OAAO,OAAe;AAC/B,6CAAuD;AAA9C,2HAAA,OAAO,OAAe;AAC/B,iDAA2D;AAAlD,+HAAA,OAAO,OAAiB;AACjC,yCAAmD;AAA1C,uHAAA,OAAO,OAAa"}
|
|
@@ -2,6 +2,8 @@ export declare const queryToolBarFilterRowTypes: readonly ["radioLabel", "checkb
|
|
|
2
2
|
export type QueryToolBarFilterRowType = (typeof queryToolBarFilterRowTypes)[number];
|
|
3
3
|
export declare const updatePasswordModalTypes: readonly ["update", "generate"];
|
|
4
4
|
export type UpdatePasswordModalType = (typeof updatePasswordModalTypes)[number];
|
|
5
|
+
export declare const contestRankTableCellStatuses: readonly ["accept", "wrong", "pending"];
|
|
6
|
+
export type ContestRankTableCellStatus = (typeof contestRankTableCellStatuses)[number];
|
|
5
7
|
export declare const submitTimelineTypes: readonly ["compact", "detailed"];
|
|
6
8
|
export type SubmitTimelineType = (typeof submitTimelineTypes)[number];
|
|
7
9
|
export declare const toastTypes: readonly ["info", "error", "success", "warning"];
|
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.toastTypes = exports.submitTimelineTypes = exports.updatePasswordModalTypes = exports.queryToolBarFilterRowTypes = void 0;
|
|
3
|
+
exports.toastTypes = exports.submitTimelineTypes = exports.contestRankTableCellStatuses = exports.updatePasswordModalTypes = exports.queryToolBarFilterRowTypes = void 0;
|
|
4
4
|
exports.queryToolBarFilterRowTypes = [
|
|
5
5
|
'radioLabel',
|
|
6
6
|
'checkboxLabel',
|
|
7
7
|
];
|
|
8
8
|
exports.updatePasswordModalTypes = ['update', 'generate'];
|
|
9
|
+
exports.contestRankTableCellStatuses = [
|
|
10
|
+
'accept',
|
|
11
|
+
'wrong',
|
|
12
|
+
'pending',
|
|
13
|
+
];
|
|
9
14
|
exports.submitTimelineTypes = ['compact', 'detailed'];
|
|
10
15
|
exports.toastTypes = ['info', 'error', 'success', 'warning'];
|
|
11
16
|
//# sourceMappingURL=organisms.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"organisms.js","sourceRoot":"","sources":["../../../src/constants/components/organisms.ts"],"names":[],"mappings":";;;AAGa,QAAA,0BAA0B,GAAG;IACxC,YAAY;IACZ,eAAe;CACP,CAAC;AAOE,QAAA,wBAAwB,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAU,CAAC;AAM3D,QAAA,mBAAmB,GAAG,CAAC,SAAS,EAAE,UAAU,CAAU,CAAC;AAMvD,QAAA,UAAU,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,CAAU,CAAC"}
|
|
1
|
+
{"version":3,"file":"organisms.js","sourceRoot":"","sources":["../../../src/constants/components/organisms.ts"],"names":[],"mappings":";;;AAGa,QAAA,0BAA0B,GAAG;IACxC,YAAY;IACZ,eAAe;CACP,CAAC;AAOE,QAAA,wBAAwB,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAU,CAAC;AAM3D,QAAA,4BAA4B,GAAG;IAC1C,QAAQ;IACR,OAAO;IACP,SAAS;CACD,CAAC;AAOE,QAAA,mBAAmB,GAAG,CAAC,SAAS,EAAE,UAAU,CAAU,CAAC;AAMvD,QAAA,UAAU,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,CAAU,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@euler-edu/react",
|
|
3
|
-
"version": "7.0.
|
|
3
|
+
"version": "7.0.2",
|
|
4
4
|
"description": "Euler-edu Shared React Components/Hooks/Utils",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"author": "Geon Kim",
|
|
@@ -37,9 +37,9 @@
|
|
|
37
37
|
"swr": "^2.4.1",
|
|
38
38
|
"tinykeys": "^4.0.1",
|
|
39
39
|
"zustand": "^5.0.11",
|
|
40
|
-
"@euler-edu/constant": "7.0.
|
|
41
|
-
"@euler-edu/schema": "7.0.
|
|
42
|
-
"@euler-edu/utils": "7.0.
|
|
40
|
+
"@euler-edu/constant": "7.0.2",
|
|
41
|
+
"@euler-edu/schema": "7.0.2",
|
|
42
|
+
"@euler-edu/utils": "7.0.2"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
45
|
"@types/grecaptcha": "^3.0.9",
|