@algoux/standard-ranklist-renderer-component-vue 0.5.0 → 0.6.0
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/README.md +46 -0
- package/package.json +9 -3
- package/dist/Ranklist.vue.d.ts +0 -289
- package/dist/index.cjs +0 -1
- package/dist/index.d.ts +0 -6
- package/dist/index.js +0 -1012
- package/dist/modal/DefaultSolutionModal.vue.d.ts +0 -344
- package/dist/modal/DefaultUserModal.vue.d.ts +0 -282
- package/dist/modal/Modal.vue.d.ts +0 -121
- package/dist/parts/ProblemHeaderCell.vue.d.ts +0 -38
- package/dist/parts/StatusCell.vue.d.ts +0 -89
- package/dist/parts/UserCell.vue.d.ts +0 -82
- package/dist/progress/ProgressBar.vue.d.ts +0 -67
- package/dist/types.d.ts +0 -82
package/README.md
CHANGED
|
@@ -77,3 +77,49 @@ function handleSolutionClick(payload: SolutionClickPayload) {
|
|
|
77
77
|
```
|
|
78
78
|
|
|
79
79
|
Use `Modal` directly when you want custom modal content. `Ranklist` exposes scoped slots such as `userCell` and `statusCell` for targeted table-cell customization.
|
|
80
|
+
|
|
81
|
+
## Ranklist Render Options
|
|
82
|
+
|
|
83
|
+
`Ranklist` includes optional render props for changing the table structure and status presentation while keeping the default behavior unchanged:
|
|
84
|
+
|
|
85
|
+
- `splitOrganization`: moves user organization into its own column before the user column.
|
|
86
|
+
- `columnTitles`: overrides text labels for series, organization, user, score, time, Dirt, and SE columns.
|
|
87
|
+
- `statusCellPreset`: uses `classic`, `detailed`, `minimal`, or `compact` status cell content.
|
|
88
|
+
- `statusColorAsText`: uses bold status-colored text instead of colored cell backgrounds.
|
|
89
|
+
- `showProblemStatisticsFooter`: appends a DOMjudge-style per-problem statistics footer.
|
|
90
|
+
- `showDirtColumn`: appends a Dirt percentage column after problem columns.
|
|
91
|
+
- `showSEColumn`: appends a contestant SE column after problem columns, placed after Dirt when both are enabled.
|
|
92
|
+
- `rowBordered`: adds row separators controlled by CSS variables.
|
|
93
|
+
- `columnBordered`: adds column separators controlled by CSS variables.
|
|
94
|
+
- `emptyStatusPlaceholder`: renders a custom string in no-submission status cells.
|
|
95
|
+
- `userAvatarPlacement`: chooses whether the default user avatar renders in the user column or, when `splitOrganization` is enabled, in the organization column.
|
|
96
|
+
|
|
97
|
+
```vue
|
|
98
|
+
<script setup lang="ts">
|
|
99
|
+
const columnTitles = {
|
|
100
|
+
organization: 'Org',
|
|
101
|
+
user: 'Team',
|
|
102
|
+
score: 'Solved',
|
|
103
|
+
time: 'Penalty',
|
|
104
|
+
dirt: 'Dirt',
|
|
105
|
+
se: 'SE',
|
|
106
|
+
};
|
|
107
|
+
</script>
|
|
108
|
+
|
|
109
|
+
<template>
|
|
110
|
+
<Ranklist
|
|
111
|
+
:data="staticRanklist"
|
|
112
|
+
split-organization
|
|
113
|
+
show-problem-statistics-footer
|
|
114
|
+
show-dirt-column
|
|
115
|
+
show-s-e-column
|
|
116
|
+
status-cell-preset="compact"
|
|
117
|
+
status-color-as-text
|
|
118
|
+
row-bordered
|
|
119
|
+
column-bordered
|
|
120
|
+
empty-status-placeholder="·"
|
|
121
|
+
user-avatar-placement="organization"
|
|
122
|
+
:column-titles="columnTitles"
|
|
123
|
+
/>
|
|
124
|
+
</template>
|
|
125
|
+
```
|
package/package.json
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@algoux/standard-ranklist-renderer-component-vue",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
4
|
"description": "Vue components for Standard Ranklist Renderer Component",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"homepage": "https://github.com/algoux/standard-ranklist-renderer-component",
|
|
7
|
+
"repository": {
|
|
8
|
+
"type": "git",
|
|
9
|
+
"url": "https://github.com/algoux/standard-ranklist-renderer-component"
|
|
10
|
+
},
|
|
5
11
|
"type": "module",
|
|
6
12
|
"files": [
|
|
7
13
|
"dist"
|
|
@@ -23,8 +29,8 @@
|
|
|
23
29
|
},
|
|
24
30
|
"dependencies": {
|
|
25
31
|
"@algoux/standard-ranklist-utils": "^0.2.11",
|
|
26
|
-
"@algoux/standard-ranklist-renderer-component-core": "0.
|
|
27
|
-
"@algoux/standard-ranklist-renderer-component-styles": "0.
|
|
32
|
+
"@algoux/standard-ranklist-renderer-component-core": "0.6.0",
|
|
33
|
+
"@algoux/standard-ranklist-renderer-component-styles": "0.6.0"
|
|
28
34
|
},
|
|
29
35
|
"peerDependencies": {
|
|
30
36
|
"@algoux/standard-ranklist": "*",
|
package/dist/Ranklist.vue.d.ts
DELETED
|
@@ -1,289 +0,0 @@
|
|
|
1
|
-
import type * as srk from '@algoux/standard-ranklist';
|
|
2
|
-
import type { RankValue, SolutionClickPayload, StaticRanklistRow, UserClickPayload } from '@algoux/standard-ranklist-renderer-component-core';
|
|
3
|
-
declare const _sfc_main: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
4
|
-
data: {
|
|
5
|
-
type: ObjectConstructor;
|
|
6
|
-
required: true;
|
|
7
|
-
};
|
|
8
|
-
theme: {
|
|
9
|
-
type: StringConstructor;
|
|
10
|
-
required: false;
|
|
11
|
-
default: any;
|
|
12
|
-
};
|
|
13
|
-
borderedRows: {
|
|
14
|
-
type: BooleanConstructor;
|
|
15
|
-
required: false;
|
|
16
|
-
default: boolean;
|
|
17
|
-
};
|
|
18
|
-
stripedRows: {
|
|
19
|
-
type: BooleanConstructor;
|
|
20
|
-
required: false;
|
|
21
|
-
default: boolean;
|
|
22
|
-
};
|
|
23
|
-
formatSrkAssetUrl: {
|
|
24
|
-
type: FunctionConstructor;
|
|
25
|
-
required: false;
|
|
26
|
-
};
|
|
27
|
-
}>, {
|
|
28
|
-
props: any;
|
|
29
|
-
emit: (event: "userClick" | "solutionClick", ...args: any[]) => void;
|
|
30
|
-
resolvedTheme: import("vue").ComputedRef<any>;
|
|
31
|
-
supportedVersions: any;
|
|
32
|
-
isSupportedVersion: import("vue").ComputedRef<boolean>;
|
|
33
|
-
showTimeColumn: import("vue").ComputedRef<boolean>;
|
|
34
|
-
formatAssetUrl: (url: string, field: string) => string;
|
|
35
|
-
getRankValues: (row: StaticRanklistRow) => RankValue[];
|
|
36
|
-
getRankText: (rankValue: RankValue, row: StaticRanklistRow) => number | "" | "*";
|
|
37
|
-
resolveSeriesSegment: (rankValue: RankValue, series: srk.RankSeries | undefined) => srk.RankSeriesSegment;
|
|
38
|
-
getSeriesSegmentClass: (rankValue: RankValue, series: srk.RankSeries | undefined) => string;
|
|
39
|
-
getSeriesSegmentStyle: (rankValue: RankValue, series: srk.RankSeries | undefined) => {
|
|
40
|
-
color?: undefined;
|
|
41
|
-
backgroundColor?: undefined;
|
|
42
|
-
} | {
|
|
43
|
-
color: any;
|
|
44
|
-
backgroundColor: any;
|
|
45
|
-
};
|
|
46
|
-
getStatusSolutions: (status: srk.RankProblemStatus) => srk.Solution[];
|
|
47
|
-
emitUserClick: (payloadOrRow: UserClickPayload | StaticRanklistRow, rowIndex?: number | undefined, event?: MouseEvent | undefined) => void;
|
|
48
|
-
emitSolutionClick: (payloadOrRow: SolutionClickPayload | StaticRanklistRow, rowIndex?: number | undefined, status?: srk.RankProblemStatus | undefined, problemIndex?: number | undefined, event?: MouseEvent | undefined) => void;
|
|
49
|
-
readonly formatTimeDuration: any;
|
|
50
|
-
readonly resolveText: any;
|
|
51
|
-
ProblemHeaderCell: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
52
|
-
problem: {
|
|
53
|
-
type: null;
|
|
54
|
-
required: true;
|
|
55
|
-
};
|
|
56
|
-
index: {
|
|
57
|
-
type: NumberConstructor;
|
|
58
|
-
required: true;
|
|
59
|
-
};
|
|
60
|
-
theme: {
|
|
61
|
-
type: StringConstructor;
|
|
62
|
-
required: false;
|
|
63
|
-
default: any;
|
|
64
|
-
};
|
|
65
|
-
}>, {
|
|
66
|
-
props: any;
|
|
67
|
-
alias: import("vue").ComputedRef<any>;
|
|
68
|
-
stat: import("vue").ComputedRef<any>;
|
|
69
|
-
statDesc: import("vue").ComputedRef<string>;
|
|
70
|
-
backgroundImage: import("vue").ComputedRef<string>;
|
|
71
|
-
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
72
|
-
problem: {
|
|
73
|
-
type: null;
|
|
74
|
-
required: true;
|
|
75
|
-
};
|
|
76
|
-
index: {
|
|
77
|
-
type: NumberConstructor;
|
|
78
|
-
required: true;
|
|
79
|
-
};
|
|
80
|
-
theme: {
|
|
81
|
-
type: StringConstructor;
|
|
82
|
-
required: false;
|
|
83
|
-
default: any;
|
|
84
|
-
};
|
|
85
|
-
}>> & Readonly<{}>, {
|
|
86
|
-
theme: string;
|
|
87
|
-
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
88
|
-
StatusCell: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
89
|
-
status: {
|
|
90
|
-
type: null;
|
|
91
|
-
required: true;
|
|
92
|
-
};
|
|
93
|
-
problem: {
|
|
94
|
-
type: null;
|
|
95
|
-
required: false;
|
|
96
|
-
};
|
|
97
|
-
problemIndex: {
|
|
98
|
-
type: NumberConstructor;
|
|
99
|
-
required: true;
|
|
100
|
-
};
|
|
101
|
-
user: {
|
|
102
|
-
type: null;
|
|
103
|
-
required: true;
|
|
104
|
-
};
|
|
105
|
-
row: {
|
|
106
|
-
type: null;
|
|
107
|
-
required: true;
|
|
108
|
-
};
|
|
109
|
-
rowIndex: {
|
|
110
|
-
type: NumberConstructor;
|
|
111
|
-
required: true;
|
|
112
|
-
};
|
|
113
|
-
ranklist: {
|
|
114
|
-
type: ObjectConstructor;
|
|
115
|
-
required: true;
|
|
116
|
-
};
|
|
117
|
-
onSolutionClick: {
|
|
118
|
-
type: FunctionConstructor;
|
|
119
|
-
required: false;
|
|
120
|
-
};
|
|
121
|
-
}>, {
|
|
122
|
-
props: any;
|
|
123
|
-
solutions: import("vue").ComputedRef<any[]>;
|
|
124
|
-
isClickable: import("vue").ComputedRef<boolean>;
|
|
125
|
-
commonClassName: import("vue").ComputedRef<(string | {
|
|
126
|
-
'srk--cursor-pointer': boolean;
|
|
127
|
-
})[]>;
|
|
128
|
-
emitSolutionClick: (event: MouseEvent) => void;
|
|
129
|
-
AcceptedStatusBody: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
130
|
-
status: {
|
|
131
|
-
type: ObjectConstructor;
|
|
132
|
-
required: true;
|
|
133
|
-
};
|
|
134
|
-
}>, () => string | import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
135
|
-
[key: string]: any;
|
|
136
|
-
}>[], {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
137
|
-
status: {
|
|
138
|
-
type: ObjectConstructor;
|
|
139
|
-
required: true;
|
|
140
|
-
};
|
|
141
|
-
}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
142
|
-
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
143
|
-
status: {
|
|
144
|
-
type: null;
|
|
145
|
-
required: true;
|
|
146
|
-
};
|
|
147
|
-
problem: {
|
|
148
|
-
type: null;
|
|
149
|
-
required: false;
|
|
150
|
-
};
|
|
151
|
-
problemIndex: {
|
|
152
|
-
type: NumberConstructor;
|
|
153
|
-
required: true;
|
|
154
|
-
};
|
|
155
|
-
user: {
|
|
156
|
-
type: null;
|
|
157
|
-
required: true;
|
|
158
|
-
};
|
|
159
|
-
row: {
|
|
160
|
-
type: null;
|
|
161
|
-
required: true;
|
|
162
|
-
};
|
|
163
|
-
rowIndex: {
|
|
164
|
-
type: NumberConstructor;
|
|
165
|
-
required: true;
|
|
166
|
-
};
|
|
167
|
-
ranklist: {
|
|
168
|
-
type: ObjectConstructor;
|
|
169
|
-
required: true;
|
|
170
|
-
};
|
|
171
|
-
onSolutionClick: {
|
|
172
|
-
type: FunctionConstructor;
|
|
173
|
-
required: false;
|
|
174
|
-
};
|
|
175
|
-
}>> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
176
|
-
UserCell: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
|
|
177
|
-
user: {
|
|
178
|
-
type: null;
|
|
179
|
-
required: true;
|
|
180
|
-
};
|
|
181
|
-
row: {
|
|
182
|
-
type: null;
|
|
183
|
-
required: true;
|
|
184
|
-
};
|
|
185
|
-
rowIndex: {
|
|
186
|
-
type: NumberConstructor;
|
|
187
|
-
required: true;
|
|
188
|
-
};
|
|
189
|
-
ranklist: {
|
|
190
|
-
type: ObjectConstructor;
|
|
191
|
-
required: true;
|
|
192
|
-
};
|
|
193
|
-
markers: {
|
|
194
|
-
type: ArrayConstructor;
|
|
195
|
-
required: false;
|
|
196
|
-
default: () => never[];
|
|
197
|
-
};
|
|
198
|
-
theme: {
|
|
199
|
-
type: StringConstructor;
|
|
200
|
-
required: false;
|
|
201
|
-
default: any;
|
|
202
|
-
};
|
|
203
|
-
formatSrkAssetUrl: {
|
|
204
|
-
type: FunctionConstructor;
|
|
205
|
-
required: true;
|
|
206
|
-
};
|
|
207
|
-
onUserClick: {
|
|
208
|
-
type: FunctionConstructor;
|
|
209
|
-
required: false;
|
|
210
|
-
};
|
|
211
|
-
}>, {
|
|
212
|
-
props: any;
|
|
213
|
-
name: import("vue").ComputedRef<any>;
|
|
214
|
-
userMarkers: import("vue").ComputedRef<any>;
|
|
215
|
-
resolvedMarkers: import("vue").ComputedRef<any>;
|
|
216
|
-
emitUserClick: (event: MouseEvent) => void;
|
|
217
|
-
readonly resolveText: any;
|
|
218
|
-
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
219
|
-
user: {
|
|
220
|
-
type: null;
|
|
221
|
-
required: true;
|
|
222
|
-
};
|
|
223
|
-
row: {
|
|
224
|
-
type: null;
|
|
225
|
-
required: true;
|
|
226
|
-
};
|
|
227
|
-
rowIndex: {
|
|
228
|
-
type: NumberConstructor;
|
|
229
|
-
required: true;
|
|
230
|
-
};
|
|
231
|
-
ranklist: {
|
|
232
|
-
type: ObjectConstructor;
|
|
233
|
-
required: true;
|
|
234
|
-
};
|
|
235
|
-
markers: {
|
|
236
|
-
type: ArrayConstructor;
|
|
237
|
-
required: false;
|
|
238
|
-
default: () => never[];
|
|
239
|
-
};
|
|
240
|
-
theme: {
|
|
241
|
-
type: StringConstructor;
|
|
242
|
-
required: false;
|
|
243
|
-
default: any;
|
|
244
|
-
};
|
|
245
|
-
formatSrkAssetUrl: {
|
|
246
|
-
type: FunctionConstructor;
|
|
247
|
-
required: true;
|
|
248
|
-
};
|
|
249
|
-
onUserClick: {
|
|
250
|
-
type: FunctionConstructor;
|
|
251
|
-
required: false;
|
|
252
|
-
};
|
|
253
|
-
}>> & Readonly<{}>, {
|
|
254
|
-
theme: string;
|
|
255
|
-
markers: unknown[];
|
|
256
|
-
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
257
|
-
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("userClick" | "solutionClick")[], "userClick" | "solutionClick", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
|
|
258
|
-
data: {
|
|
259
|
-
type: ObjectConstructor;
|
|
260
|
-
required: true;
|
|
261
|
-
};
|
|
262
|
-
theme: {
|
|
263
|
-
type: StringConstructor;
|
|
264
|
-
required: false;
|
|
265
|
-
default: any;
|
|
266
|
-
};
|
|
267
|
-
borderedRows: {
|
|
268
|
-
type: BooleanConstructor;
|
|
269
|
-
required: false;
|
|
270
|
-
default: boolean;
|
|
271
|
-
};
|
|
272
|
-
stripedRows: {
|
|
273
|
-
type: BooleanConstructor;
|
|
274
|
-
required: false;
|
|
275
|
-
default: boolean;
|
|
276
|
-
};
|
|
277
|
-
formatSrkAssetUrl: {
|
|
278
|
-
type: FunctionConstructor;
|
|
279
|
-
required: false;
|
|
280
|
-
};
|
|
281
|
-
}>> & Readonly<{
|
|
282
|
-
onUserClick?: ((...args: any[]) => any) | undefined;
|
|
283
|
-
onSolutionClick?: ((...args: any[]) => any) | undefined;
|
|
284
|
-
}>, {
|
|
285
|
-
theme: string;
|
|
286
|
-
borderedRows: boolean;
|
|
287
|
-
stripedRows: boolean;
|
|
288
|
-
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
289
|
-
export default _sfc_main;
|
package/dist/index.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});require("@algoux/standard-ranklist-renderer-component-styles");var e=require("vue"),m=require("@algoux/standard-ranklist-renderer-component-core"),v=require("@algoux/standard-ranklist-utils");const M=["data-srk-modal-state"],$=["aria-labelledby"],D={class:"srk-modal-content"},I={key:0,class:"srk-modal-header"},z={class:"srk-modal-body"},V=e.defineComponent({__name:"Modal",props:{open:{type:Boolean},title:{},width:{},rootClassName:{},wrapClassName:{},style:{},destroyOnClose:{type:Boolean,default:!0},closeOnEsc:{type:Boolean,default:!0},closeOnMaskClick:{type:Boolean,default:!0}},emits:["close","update:open"],setup(t,{emit:r}){let s=0;const o=t,a=r,g=`srk-vue-modal-title-${++s}`,d=e.ref(null),n=e.ref(o.open||!o.destroyOnClose),i=e.ref(o.open?"pre-open":"closing"),c=e.ref({x:0,y:0});let b=null,B=null,S=null;const C=e.computed(()=>n.value||!o.destroyOnClose),N=e.computed(()=>["srk-modal-root",m.SRK_ANIMATED_MODAL_ROOT_CLASS,o.rootClassName].filter(Boolean)),x=e.computed(()=>o.open||o.destroyOnClose&&n.value),T=e.computed(()=>{var f,w;return{...o.style,width:o.width?`${o.width}px`:(f=o.style)==null?void 0:f.width,["--srk-modal-origin-x"]:`${c.value.x}px`,["--srk-modal-origin-y"]:`${c.value.y}px`,["--srk-modal-max-width"]:o.width?`${o.width}px`:typeof((w=o.style)==null?void 0:w.width)=="string"?o.style.width:void 0}});function u(){if(typeof window=="undefined"){b=null,B=null;return}b!==null&&(window.clearTimeout(b),b=null),B!==null&&(window.clearTimeout(B),B=null)}async function k(){if(await e.nextTick(),typeof window=="undefined"||!o.open||!n.value||i.value!=="pre-open")return;l();const f=m.resolveModalTransformOrigin(d.value);c.value=f.origin,B=window.setTimeout(()=>{i.value="opening",B=null},0)}function l(){const f=m.registerModalFocusScope(d.value,{onEscape:E});S===null&&(S=f)}function p(){S!==null&&(m.unregisterModalFocusScope(S),S=null)}function y(f){a("update:open",!1),a("close",f)}function h(f){o.closeOnMaskClick&&f.target===f.currentTarget&&y("mask")}function E(f){o.open&&o.closeOnEsc&&y("escape")}return e.watch(()=>o.open,async f=>{if(u(),f){n.value=!0,c.value={x:0,y:0},i.value="pre-open",await k();return}if(p(),i.value="closing",!o.destroyOnClose){n.value=!0;return}n.value&&typeof window!="undefined"&&(b=window.setTimeout(()=>{n.value=!1,b=null},m.MODAL_ANIMATION_DURATION_MS))},{immediate:!0}),e.watchEffect(f=>{!x.value||(m.lockModalBodyScroll(),f(()=>{m.unlockModalBodyScroll()}))}),e.onMounted(()=>{m.ensureModalInteractionTracker(),o.open&&l()}),e.onBeforeUnmount(()=>{u(),p()}),(f,w)=>C.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:e.normalizeClass(N.value),"data-srk-modal-state":i.value},[w[2]||(w[2]=e.createElementVNode("div",{class:"srk-modal-mask"},null,-1)),e.createElementVNode("div",{class:e.normalizeClass(["srk-modal-wrap",t.wrapClassName]),tabindex:"-1",onMousedown:h},[e.createElementVNode("div",{class:"srk-modal",role:"dialog","aria-modal":"true","aria-labelledby":t.title?g:void 0,"data-srk-modal-panel":"true",tabindex:"-1",ref_key:"dialogRef",ref:d,style:e.normalizeStyle(T.value)},[e.createElementVNode("div",D,[e.createElementVNode("button",{"aria-label":"Close",class:"srk-modal-close",type:"button",onClick:w[0]||(w[0]=Me=>y("close-button"))},[...w[1]||(w[1]=[e.createElementVNode("span",{class:"srk-modal-close-x"},null,-1)])]),t.title!==void 0?(e.openBlock(),e.createElementBlock("div",I,[e.createElementVNode("div",{id:g,class:"srk-modal-title"},e.toDisplayString(t.title),1)])):e.createCommentVNode("",!0),e.createElementVNode("div",z,[e.renderSlot(f.$slots,"default")])])],12,$)],34)],10,M)):e.createCommentVNode("",!0)}}),A={class:"srk-common-table srk-solutions-table"},F={class:"srk--text-right"},U=e.defineComponent({__name:"DefaultSolutionModal",props:{open:{type:Boolean},user:{},problem:{},problemIndex:{},solutions:{default:()=>[]},title:{},width:{default:320},rootClassName:{default:"srk-general-modal-root"},wrapClassName:{default:"srk-solutions-modal"},style:{}},emits:["close","update:open"],setup(t,{emit:r}){const s=t,o=r,a=e.ref(s.user?{user:s.user,problem:s.problem,problemIndex:s.problemIndex,solutions:s.solutions}:null);e.watch([()=>s.user,()=>s.problem,()=>s.problemIndex,()=>s.solutions],([d,n,i,c])=>{d&&(a.value={user:d,problem:n,problemIndex:i,solutions:c})},{immediate:!0});const g=e.computed(()=>s.title||(a.value?m.getSolutionModalTitle(a.value.problemIndex,a.value.user):""));return(d,n)=>a.value?(e.openBlock(),e.createBlock(V,{key:0,open:t.open,title:g.value,width:t.width,"root-class-name":t.rootClassName,"wrap-class-name":t.wrapClassName,style:e.normalizeStyle(t.style),onClose:n[0]||(n[0]=i=>o("close",i)),"onUpdate:open":n[1]||(n[1]=i=>o("update:open",i))},{default:e.withCtx(()=>[e.createElementVNode("table",A,[n[2]||(n[2]=e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[e.createElementVNode("th",{class:"srk--text-left"},"Result"),e.createElementVNode("th",{class:"srk--text-right"},"Time")])],-1)),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value.solutions,(i,c)=>{var b;return e.openBlock(),e.createElementBlock("tr",{key:`${i.result}_${(b=i.time)==null?void 0:b[0]}_${c}`},[e.createElementVNode("td",null,[e.createElementVNode("span",{class:e.normalizeClass(["srk-solution-result-text",e.unref(m.getSolutionResultMeta)(i.result).className])},e.toDisplayString(e.unref(m.getSolutionResultMeta)(i.result).label),3)]),e.createElementVNode("td",F,e.toDisplayString(e.unref(m.formatSolutionTimestamp)(i)),1)])}),128))])])]),_:1},8,["open","title","width","root-class-name","wrap-class-name","style"])):e.createCommentVNode("",!0)}}),P={class:"srk-user-modal-info"},_={class:"srk-user-modal-info-user-name"},L={key:0,class:"srk-user-modal-info-user-second-name"},R={class:"srk-user-modal-info-labels"},O={class:"srk-user-modal-info-labels-label srk-user-modal-info-labels-label-preset-general"},q={key:1,class:"srk-user-modal-info-team-members"},K={key:0,class:"srk-user-modal-info-team-members-slash"},j={key:2,class:"srk-user-modal-info-photo"},H=["src"],J=e.defineComponent({__name:"DefaultUserModal",props:{open:{type:Boolean},user:{},markers:{default:()=>[]},theme:{default:v.EnumTheme.light},title:{default:"User Info"},width:{default:420},rootClassName:{default:"srk-general-modal-root"},wrapClassName:{default:"srk-user-modal"},style:{},formatSrkAssetUrl:{}},emits:["close","update:open"],setup(t,{emit:r}){const s=t,o=r,a=e.ref(s.user||null);e.watch(()=>s.user,n=>{n&&(a.value=n)},{immediate:!0});const g=e.computed(()=>a.value?v.resolveUserMarkers(a.value,s.markers).map(n=>({marker:n,presentation:m.getMarkerPresentation(n,s.theme)})):[]);function d(n,i){return m.resolveSrkAssetUrl(n,i,s.formatSrkAssetUrl)}return(n,i)=>a.value?(e.openBlock(),e.createBlock(V,{key:0,open:t.open,title:t.title,width:t.width,"root-class-name":t.rootClassName,"wrap-class-name":t.wrapClassName,style:e.normalizeStyle(t.style),onClose:i[0]||(i[0]=c=>o("close",c)),"onUpdate:open":i[1]||(i[1]=c=>o("update:open",c))},{default:e.withCtx(()=>[e.createElementVNode("div",P,[e.createElementVNode("h3",_,e.toDisplayString(e.unref(v.resolveText)(a.value.name)),1),a.value.organization?(e.openBlock(),e.createElementBlock("p",L,e.toDisplayString(e.unref(v.resolveText)(a.value.organization)),1)):e.createCommentVNode("",!0),e.createElementVNode("div",R,[e.createElementVNode("span",O,e.toDisplayString(a.value.official===!1?"\uFF0A \u975E\u6B63\u5F0F\u53C2\u52A0\u8005":"\u6B63\u5F0F\u53C2\u52A0\u8005"),1),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,c=>(e.openBlock(),e.createElementBlock("span",{key:c.marker.id,class:e.normalizeClass(["srk-user-modal-info-labels-label",c.presentation.className]),style:e.normalizeStyle(c.presentation.style)},e.toDisplayString(e.unref(v.resolveText)(c.marker.label)),7))),128))]),a.value.teamMembers&&a.value.teamMembers.length?(e.openBlock(),e.createElementBlock("div",q,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value.teamMembers,(c,b)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:e.unref(v.resolveText)(c.name)},[b>0?(e.openBlock(),e.createElementBlock("span",K," / ")):e.createCommentVNode("",!0),e.createElementVNode("span",null,e.toDisplayString(e.unref(v.resolveText)(c.name)),1)],64))),128))])):e.createCommentVNode("",!0),a.value.photo?(e.openBlock(),e.createElementBlock("div",j,[e.createElementVNode("img",{src:d(a.value.photo,"user.photo"),alt:"User portrait",class:"srk-user-modal-info-photo-img"},null,8,H)])):e.createCommentVNode("",!0)])]),_:1},8,["open","title","width","root-class-name","wrap-class-name","style"])):e.createCommentVNode("",!0)}}),G={class:"srk-progress-bar-container"},Q={class:"srk-progress-bar"},W={class:"srk-progress-bar-body"},X={key:0,class:"srk-progress-slider-layer"},Y=["max","title"],Z={class:"srk-progress-secondary-area"},ee={class:"srk-progress-secondary-area-center"},te={key:0,class:"srk-progress-time-machine-status"},le={key:1,class:"srk-progress-live-text"},se={key:2,style:{visibility:"hidden"}},oe=e.defineComponent({__name:"ProgressBar",props:{data:{},enableTimeTravel:{type:Boolean,default:!1},live:{type:Boolean,default:!1},td:{default:0}},emits:["timeTravel"],setup(t,{emit:r}){const s=t,o=r,a=e.ref(Date.now()),g=e.ref(!1),d=e.ref(!1),n=e.ref(m.getProgressMaxAvailableMinutes(s.data.contest,a.value,s.td)),i=e.ref(null);let c;const b=e.computed(()=>m.getProgressDurationMinutes(s.data.contest)),B=e.computed(()=>m.getProgressMaxAvailableMinutes(s.data.contest,a.value,s.td)),S=e.computed(()=>m.isProgressEnded(s.data.contest,a.value,s.td)),C=e.computed(()=>m.getProgressMetrics(s.data,a.value,s.td,n.value,g.value));function N(){a.value=Date.now(),S.value&&c!==void 0&&(window.clearInterval(c),c=void 0)}function x(l){typeof window!="undefined"&&(l&&c===void 0&&(c=window.setInterval(N,1e3)),!l&&c!==void 0&&(window.clearInterval(c),c=void 0))}function T(l){const p=l>=b.value||l>=B.value;o("timeTravel",p?null:l*60*1e3),g.value=!p,i.value=p?null:l*60*1e3,d.value=!1}function u(){d.value=!0,g.value=!0}function k(){d.value&&T(n.value)}return e.watch(B,l=>{!d.value&&i.value===null&&(n.value=l)}),e.watch(()=>s.live,l=>x(l),{immediate:!0}),e.watch(()=>s.data.contest.title,()=>{d.value=!1,n.value=B.value,i.value=null,g.value=!1,o("timeTravel",null)}),e.onBeforeUnmount(()=>{c!==void 0&&(window.clearInterval(c),c=void 0)}),(l,p)=>(e.openBlock(),e.createElementBlock("div",G,[e.createElementVNode("div",Q,[e.createElementVNode("div",W,[e.createElementVNode("div",{class:"srk-progress-bar-segment srk-progress-bar-normal",style:e.normalizeStyle({width:`${C.value.frozenBreakpoint*100}%`})},[e.createElementVNode("div",{class:"srk-progress-bar-fill",style:e.normalizeStyle({width:`${C.value.normalInnerPercent}%`})},null,4)],4),e.createElementVNode("div",{class:"srk-progress-bar-segment srk-progress-bar-frozen",style:e.normalizeStyle({width:`${(1-C.value.frozenBreakpoint)*100}%`})},[e.createElementVNode("div",{class:"srk-progress-bar-fill",style:e.normalizeStyle({width:`${C.value.frozenInnerPercent}%`})},null,4)],4)]),t.enableTimeTravel&&C.value.supportRegen?(e.openBlock(),e.createElementBlock("div",X,[d.value?(e.openBlock(),e.createElementBlock("div",{key:0,class:"srk-progress-slider-tooltip",style:e.normalizeStyle({left:`${b.value?n.value/b.value*100:0}%`})},e.toDisplayString(e.unref(v.secToTimeStr)(n.value*60)),5)):e.createCommentVNode("",!0),e.withDirectives(e.createElementVNode("input",{"onUpdate:modelValue":p[0]||(p[0]=y=>n.value=y),"aria-label":"Time Travel",class:"srk-progress-slider",max:b.value,min:"0",step:"1",title:e.unref(v.secToTimeStr)(n.value*60),type:"range",onBlur:k,onKeydown:u,onKeyup:k,onMousedown:u,onMouseup:k,onTouchend:k,onTouchstart:u},null,40,Y),[[e.vModelText,n.value,void 0,{number:!0}]])])):e.createCommentVNode("",!0)]),e.createElementVNode("div",Z,[e.createElementVNode("div",{class:"srk-progress-secondary-area-left",style:e.normalizeStyle(t.live||g.value?{}:{display:"none"})}," Elapsed: "+e.toDisplayString(e.unref(v.secToTimeStr)(Math.round(C.value.elapsed/1e3))),5),e.createElementVNode("div",ee,[g.value?(e.openBlock(),e.createElementBlock("div",te,[...p[1]||(p[1]=[e.createElementVNode("div",{class:"srk-progress-time-machine-text"},"Time Travel Mode",-1)])])):t.live&&!S.value?(e.openBlock(),e.createElementBlock("div",le,"Live")):(e.openBlock(),e.createElementBlock("div",se,"SRK"))]),e.createElementVNode("div",{class:"srk-progress-secondary-area-right",style:e.normalizeStyle(t.live||g.value?{}:{display:"none"})}," Remaining: "+e.toDisplayString(e.unref(v.secToTimeStr)(Math.round(C.value.remaining/1e3))),5)])]))}}),re=["href"],ne={class:"srk--display-block"},ae=["title"],ie={class:"srk--display-block"},ue=["title"],ce=e.defineComponent({__name:"ProblemHeaderCell",props:{problem:{},index:{},theme:{default:v.EnumTheme.light}},setup(t){const r=t,s=e.computed(()=>r.problem.alias||v.numberToAlphabet(r.index)),o=e.computed(()=>r.problem.statistics),a=e.computed(()=>{if(!o.value)return"";const d=o.value.submitted?(o.value.accepted/o.value.submitted*100).toFixed(1):0;return`${o.value.accepted} / ${o.value.submitted} (${d}%)`}),g=e.computed(()=>m.getProblemHeaderBackgroundImage(r.problem.style,r.theme));return(d,n)=>(e.openBlock(),e.createElementBlock("th",{class:"srk--nowrap srk-problem-header",style:e.normalizeStyle({backgroundImage:g.value})},[t.problem.link?(e.openBlock(),e.createElementBlock("a",{key:0,href:t.problem.link,target:"_blank",rel:"noopener noreferrer",style:{color:"unset"}},[e.createElementVNode("span",ne,e.toDisplayString(s.value),1),o.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:"srk--display-block srk-problem-stats",title:a.value},e.toDisplayString(o.value.accepted),9,ae)):e.createCommentVNode("",!0)],8,re)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createElementVNode("span",ie,e.toDisplayString(s.value),1),o.value?(e.openBlock(),e.createElementBlock("span",{key:0,class:"srk--display-block srk-problem-stats",title:a.value},e.toDisplayString(o.value.accepted),9,ue)):e.createCommentVNode("",!0)],64))],4))}}),de={key:4},me=e.defineComponent({__name:"StatusCell",props:{status:{},problem:{},problemIndex:{},user:{},row:{},rowIndex:{},ranklist:{},onSolutionClick:{type:Function}},setup(t){const r=t,s=e.computed(()=>[...r.status.solutions||[]].reverse()),o=e.computed(()=>s.value.length>0&&!!r.onSolutionClick),a=e.computed(()=>["srk-prest-status-block","srk--text-center","srk--nowrap",{"srk--cursor-pointer":o.value}]);function g(n){var i,c;!o.value||(m.captureModalTriggerPointFromMouseEvent(n,{source:"status-cell",context:{rowIndex:r.rowIndex,problemIndex:r.problemIndex,problemAlias:((i=r.problem)==null?void 0:i.alias)||null,problemTitle:r.problem?r.problem.title:null,userId:r.user.id||null}}),(c=r.onSolutionClick)==null||c.call(r,{user:r.user,row:r.row,rowIndex:r.rowIndex,problemIndex:r.problemIndex,problem:r.problem,status:r.status,solutions:s.value,ranklist:r.ranklist}))}const d=e.defineComponent({props:{status:{type:Object,required:!0}},setup(n){return()=>{const i=n.status,c=m.getAcceptedStatusDetails(i);return typeof i.score=="number"?[e.h("span",{class:"srk-prest-status-block-score"},i.score),e.h("span",{class:"srk-prest-status-block-score-details"},c)]:c}}});return(n,i)=>t.status.result==="FB"?(e.openBlock(),e.createElementBlock("td",{key:0,class:e.normalizeClass([a.value,"srk-prest-status-block-fb"]),onClick:e.withModifiers(g,["prevent"])},[e.createVNode(e.unref(d),{status:t.status},null,8,["status"])],2)):t.status.result==="AC"?(e.openBlock(),e.createElementBlock("td",{key:1,class:e.normalizeClass([a.value,"srk-prest-status-block-accepted"]),onClick:e.withModifiers(g,["prevent"])},[e.createVNode(e.unref(d),{status:t.status},null,8,["status"])],2)):t.status.result==="?"?(e.openBlock(),e.createElementBlock("td",{key:2,class:e.normalizeClass([a.value,"srk-prest-status-block-frozen"]),onClick:e.withModifiers(g,["prevent"])},e.toDisplayString(t.status.tries),3)):t.status.result==="RJ"?(e.openBlock(),e.createElementBlock("td",{key:3,class:e.normalizeClass([a.value,"srk-prest-status-block-failed"]),onClick:e.withModifiers(g,["prevent"])},e.toDisplayString(t.status.tries),3)):(e.openBlock(),e.createElementBlock("td",de))}}),ke={class:"srk-user-cell-content"},pe={key:0,class:"srk-user-avatar"},ve=["src"],fe={class:"srk-user-body"},ge={class:"srk-user-name-row"},ye=["title"],he={class:"srk-marker-dot-group"},be=["data-tooltip"],Be={key:0,class:"srk-user-secondary-text srk--text-ellipsis",title:""},Ee=e.defineComponent({__name:"UserCell",props:{user:{},row:{},rowIndex:{},ranklist:{},markers:{default:()=>[]},theme:{default:v.EnumTheme.light},formatSrkAssetUrl:{},onUserClick:{}},setup(t){const r=t,s=e.computed(()=>v.resolveText(r.user.name)),o=e.computed(()=>v.resolveUserMarkers(r.user,r.markers)),a=e.computed(()=>o.value.map(d=>({marker:d,presentation:m.getMarkerPresentation(d,r.theme)})));function g(d){var n;m.captureModalTriggerPointFromMouseEvent(d,{source:"user-cell",context:{rowIndex:r.rowIndex,userId:r.user.id||null,userName:s.value}}),(n=r.onUserClick)==null||n.call(r,{user:r.user,row:r.row,rowIndex:r.rowIndex,ranklist:r.ranklist})}return(d,n)=>(e.openBlock(),e.createElementBlock("td",{class:e.normalizeClass(["srk--text-left srk--nowrap srk-user-cell",{"srk--cursor-pointer":!!t.onUserClick}]),title:"",onClick:e.withModifiers(g,["prevent"])},[e.createElementVNode("div",ke,[t.user.avatar?(e.openBlock(),e.createElementBlock("div",pe,[e.createElementVNode("img",{src:t.formatSrkAssetUrl(t.user.avatar,"user.avatar"),alt:"User Avatar"},null,8,ve)])):e.createCommentVNode("",!0),e.createElementVNode("div",fe,[e.createElementVNode("div",ge,[e.createElementVNode("span",{class:"srk-user-name-text",title:s.value},e.toDisplayString(s.value),9,ye),e.createElementVNode("span",he,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,i=>(e.openBlock(),e.createElementBlock("span",{key:i.marker.id,class:e.normalizeClass(["srk-marker srk-marker-dot srk--c-tooltip",i.presentation.className]),style:e.normalizeStyle(i.presentation.style),"data-tooltip":e.unref(v.resolveText)(i.marker.label)},null,14,be))),128))])]),t.user.organization?(e.openBlock(),e.createElementBlock("p",Be,e.toDisplayString(e.unref(v.resolveText)(t.user.organization)),1)):e.createCommentVNode("",!0)])])],2))}}),Ce={key:0},Se={key:1},we={key:2,class:"srk-common-table srk-main"},Ne={key:0,class:"srk--nowrap"},xe={class:"srk--text-right srk--nowrap"},Te={key:0,class:"srk--text-right srk--nowrap"},Ve=e.defineComponent({__name:"Ranklist",props:{data:{},theme:{default:v.EnumTheme.light},borderedRows:{type:Boolean,default:!1},stripedRows:{type:Boolean,default:!1},formatSrkAssetUrl:{}},emits:["userClick","solutionClick"],setup(t,{emit:r}){const s=t,o=r,a=e.computed(()=>s.theme),g=m.srkSupportedVersions,d=e.computed(()=>m.caniuse(s.data.version)),n=e.computed(()=>m.shouldShowTimeColumn(s.data.rows));function i(u,k){return m.resolveSrkAssetUrl(u,k,s.formatSrkAssetUrl)}function c(u){return u.rankValues||s.data.series.map(()=>({rank:null,segmentIndex:null}))}function b(u,k){return u.rank?u.rank:k.user.official===!1?"\uFF0A":""}function B(u,k){const l=u.segmentIndex||u.segmentIndex===0?u.segmentIndex:-1;return((k==null?void 0:k.segments)||[])[l]||{}}function S(u,k){const l=B(u,k).style;return typeof l=="string"?`srk-preset-series-segment-${l}`:""}function C(u,k){const l={[v.EnumTheme.light]:void 0,[v.EnumTheme.dark]:void 0},p=B(u,k).style;if(!p||typeof p=="string")return{};const y=v.resolveStyle(p),h=y.textColor||l,E=y.backgroundColor||l;return{color:h[s.theme],backgroundColor:E[s.theme]}}function N(u){return[...u.solutions||[]].reverse()}function x(u,k,l){if("ranklist"in u){o("userClick",u);return}l&&m.captureModalTriggerPointFromMouseEvent(l,{source:"user-cell",context:{rowIndex:k||0,userId:u.user.id||null,userName:v.resolveText(u.user.name)}}),o("userClick",{user:u.user,row:u,rowIndex:k||0,ranklist:s.data})}function T(u,k,l,p,y){if("solutions"in u){o("solutionClick",u);return}const h=p||0,E=l||u.statuses[h];if(y){const f=s.data.problems[h];m.captureModalTriggerPointFromMouseEvent(y,{source:"status-cell",context:{rowIndex:k||0,problemIndex:h,problemAlias:(f==null?void 0:f.alias)||null,problemTitle:f?v.resolveText(f.title):null,userId:u.user.id||null}})}o("solutionClick",{user:u.user,row:u,rowIndex:k||0,problemIndex:h,problem:s.data.problems[h],status:E,solutions:N(E),ranklist:s.data})}return(u,k)=>t.data.type!=="general"?(e.openBlock(),e.createElementBlock("div",Ce,'srk type "'+e.toDisplayString(t.data.type)+'" is not supported',1)):d.value?(e.openBlock(),e.createElementBlock("div",we,[e.createElementVNode("table",{class:e.normalizeClass({"srk-table-row-bordered":t.borderedRows,"srk-table-row-striped":t.stripedRows})},[e.createElementVNode("thead",null,[e.createElementVNode("tr",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.data.series,l=>(e.openBlock(),e.createElementBlock("th",{key:l.title,class:"srk-series-header srk--text-right srk--nowrap"},e.toDisplayString(l.title),1))),128)),k[0]||(k[0]=e.createElementVNode("th",{class:"srk--text-left srk--nowrap"},"Name",-1)),k[1]||(k[1]=e.createElementVNode("th",{class:"srk--nowrap"},"Score",-1)),n.value?(e.openBlock(),e.createElementBlock("th",Ne,"Time")):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.data.problems,(l,p)=>e.renderSlot(u.$slots,"problem-header-cell",e.mergeProps({key:l.alias||e.unref(v.resolveText)(l.title)||p,ref_for:!0},{problem:l,problemIndex:p,index:p,theme:a.value}),()=>[e.createVNode(ce,{problem:l,index:p,theme:a.value},null,8,["problem","index","theme"])])),128))])]),e.createElementVNode("tbody",null,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.data.rows,(l,p)=>(e.openBlock(),e.createElementBlock("tr",{key:l.user.id||e.unref(v.resolveText)(l.user.name)},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c(l),(y,h)=>{var E;return e.openBlock(),e.createElementBlock("td",{key:((E=t.data.series[h])==null?void 0:E.title)||h,class:e.normalizeClass(["srk--text-right srk--nowrap",S(y,t.data.series[h])]),style:e.normalizeStyle(C(y,t.data.series[h]))},e.toDisplayString(b(y,l)),7)}),128)),e.renderSlot(u.$slots,"user-cell",e.mergeProps({ref_for:!0},{user:l.user,row:l,rowIndex:p,ranklist:t.data,markers:t.data.markers,theme:a.value,onClick:y=>x(l,p,y)}),()=>[e.createVNode(Ee,{user:l.user,row:l,"row-index":p,ranklist:t.data,markers:t.data.markers,theme:a.value,"format-srk-asset-url":i,"on-user-click":x},null,8,["user","row","row-index","ranklist","markers","theme"])]),e.createElementVNode("td",xe,e.toDisplayString(l.score.value),1),n.value?(e.openBlock(),e.createElementBlock("td",Te,e.toDisplayString(l.score.time?e.unref(v.formatTimeDuration)(l.score.time,"min",Math.floor):"-"),1)):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.statuses,(y,h)=>{var E;return e.renderSlot(u.$slots,"status-cell",e.mergeProps({key:((E=t.data.problems[h])==null?void 0:E.alias)||h,ref_for:!0},{status:y,problem:t.data.problems[h],problemIndex:h,user:l.user,row:l,rowIndex:p,ranklist:t.data,solutions:N(y),onClick:f=>T(l,p,y,h,f)}),()=>[e.createVNode(me,{status:y,problem:t.data.problems[h],"problem-index":h,user:l.user,row:l,"row-index":p,ranklist:t.data,"on-solution-click":T},null,8,["status","problem","problem-index","user","row","row-index","ranklist"])])}),128))]))),128))])],2)])):(e.openBlock(),e.createElementBlock("div",Se,' srk version "'+e.toDisplayString(t.data.version)+'" is not supported (current supported: '+e.toDisplayString(e.unref(g))+") ",1))}});exports.DefaultSolutionModal=U;exports.DefaultUserModal=J;exports.Modal=V;exports.ProgressBar=oe;exports.Ranklist=Ve;
|
package/dist/index.d.ts
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export { default as DefaultSolutionModal } from './modal/DefaultSolutionModal.vue';
|
|
2
|
-
export { default as DefaultUserModal } from './modal/DefaultUserModal.vue';
|
|
3
|
-
export { default as Modal } from './modal/Modal.vue';
|
|
4
|
-
export { default as ProgressBar } from './progress/ProgressBar.vue';
|
|
5
|
-
export { default as Ranklist } from './Ranklist.vue';
|
|
6
|
-
export type { DefaultSolutionModalProps, DefaultUserModalProps, ModalCloseReason, ModalEvents, ModalProps, ProblemHeaderCellSlotProps, ProgressBarEvents, ProgressBarProps, RanklistEvents, RanklistProps, SolutionClickPayload, StaticRanklist, StaticRanklistRow, StatusCellSlotProps, UserCellSlotProps, UserClickPayload, } from './types';
|