@vue-skuilder/common-ui 0.2.13 → 0.2.15
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/dist/assets/index.css +1 -1
- package/dist/common-ui.es.js +24 -9
- package/dist/common-ui.es.js.map +1 -1
- package/dist/common-ui.umd.js +4 -4
- package/dist/common-ui.umd.js.map +1 -1
- package/dist/components/StudySession.vue.d.ts +17 -0
- package/dist/components/StudySession.vue.d.ts.map +1 -1
- package/dist/components/StudySessionTimer.vue.d.ts +21 -0
- package/dist/components/StudySessionTimer.vue.d.ts.map +1 -1
- package/dist/components/auth/UserRegistration.vue.d.ts +4 -0
- package/dist/components/auth/UserRegistration.vue.d.ts.map +1 -1
- package/dist/stores/useAuthStore.d.ts +4 -0
- package/dist/stores/useAuthStore.d.ts.map +1 -1
- package/package.json +4 -4
- package/src/components/StudySession.vue +22 -2
- package/src/components/StudySessionTimer.vue +11 -1
|
@@ -82,6 +82,14 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
82
82
|
debugMode: boolean;
|
|
83
83
|
}, {
|
|
84
84
|
currentCard(): StudySessionRecord;
|
|
85
|
+
/**
|
|
86
|
+
* Vue's <transition> mode accepts 'out-in' | 'in-out' | undefined; our
|
|
87
|
+
* 'default' preset value means "simultaneous", i.e. no mode. (This prop
|
|
88
|
+
* was declared but never bound until 2026-07; presets documented as
|
|
89
|
+
* "use with mode=out-in" ran simultaneous, leaving both cards in-flow
|
|
90
|
+
* mid-transition.)
|
|
91
|
+
*/
|
|
92
|
+
resolvedTransitionMode(): "out-in" | "in-out" | undefined;
|
|
85
93
|
}, {
|
|
86
94
|
/**
|
|
87
95
|
* Handle a `ready-to-advance` event from a card view that previously
|
|
@@ -283,6 +291,10 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
283
291
|
required: true;
|
|
284
292
|
default: number;
|
|
285
293
|
};
|
|
294
|
+
allowAddTime: {
|
|
295
|
+
type: BooleanConstructor;
|
|
296
|
+
default: boolean;
|
|
297
|
+
};
|
|
286
298
|
}>, {
|
|
287
299
|
hovered: import('vue').Ref<boolean, boolean>;
|
|
288
300
|
formattedTimeRemaining: import('vue').ComputedRef<string>;
|
|
@@ -299,10 +311,15 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
299
311
|
required: true;
|
|
300
312
|
default: number;
|
|
301
313
|
};
|
|
314
|
+
allowAddTime: {
|
|
315
|
+
type: BooleanConstructor;
|
|
316
|
+
default: boolean;
|
|
317
|
+
};
|
|
302
318
|
}>> & Readonly<{
|
|
303
319
|
"onAdd-time"?: ((...args: any[]) => any) | undefined;
|
|
304
320
|
}>, {
|
|
305
321
|
sessionTimeLimit: number;
|
|
322
|
+
allowAddTime: boolean;
|
|
306
323
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
307
324
|
SkMouseTrap: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
|
|
308
325
|
refreshInterval: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StudySession.vue.d.ts","sourceRoot":"","sources":["../../src/components/StudySession.vue"],"names":[],"mappings":"AAiFA;AAAA,
|
|
1
|
+
{"version":3,"file":"StudySession.vue.d.ts","sourceRoot":"","sources":["../../src/components/StudySession.vue"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,16 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
14
14
|
required: true;
|
|
15
15
|
default: number;
|
|
16
16
|
};
|
|
17
|
+
/**
|
|
18
|
+
* Whether to offer the hover-reveal "+" (add-time) affordance at all.
|
|
19
|
+
* Courses with a deliberate session-dose policy (fixed, age-measured
|
|
20
|
+
* screen time) set this false so the control is absent rather than
|
|
21
|
+
* present-but-inert.
|
|
22
|
+
*/
|
|
23
|
+
allowAddTime: {
|
|
24
|
+
type: BooleanConstructor;
|
|
25
|
+
default: boolean;
|
|
26
|
+
};
|
|
17
27
|
}>, {
|
|
18
28
|
hovered: import('vue').Ref<boolean, boolean>;
|
|
19
29
|
formattedTimeRemaining: import('vue').ComputedRef<string>;
|
|
@@ -36,10 +46,21 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
36
46
|
required: true;
|
|
37
47
|
default: number;
|
|
38
48
|
};
|
|
49
|
+
/**
|
|
50
|
+
* Whether to offer the hover-reveal "+" (add-time) affordance at all.
|
|
51
|
+
* Courses with a deliberate session-dose policy (fixed, age-measured
|
|
52
|
+
* screen time) set this false so the control is absent rather than
|
|
53
|
+
* present-but-inert.
|
|
54
|
+
*/
|
|
55
|
+
allowAddTime: {
|
|
56
|
+
type: BooleanConstructor;
|
|
57
|
+
default: boolean;
|
|
58
|
+
};
|
|
39
59
|
}>> & Readonly<{
|
|
40
60
|
"onAdd-time"?: ((...args: any[]) => any) | undefined;
|
|
41
61
|
}>, {
|
|
42
62
|
sessionTimeLimit: number;
|
|
63
|
+
allowAddTime: boolean;
|
|
43
64
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
|
|
44
65
|
export default _default;
|
|
45
66
|
//# sourceMappingURL=StudySessionTimer.vue.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StudySessionTimer.vue.d.ts","sourceRoot":"","sources":["../../src/components/StudySessionTimer.vue"],"names":[],"mappings":"AA4BA;;
|
|
1
|
+
{"version":3,"file":"StudySessionTimer.vue.d.ts","sourceRoot":"","sources":["../../src/components/StudySessionTimer.vue"],"names":[],"mappings":"AA4BA;;IA2II;;OAEG;;;;;IAKH;;OAEG;;;;;;IAMH;;;;;OAKG;;;;;;;;;;;;IApBH;;OAEG;;;;;IAKH;;OAEG;;;;;;IAMH;;;;;OAKG;;;;;;;;;;;AAxBP,wBA0FG"}
|
|
@@ -42,6 +42,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
42
42
|
getCourseRegDoc: (courseId: string) => Promise<import('../../../../db/dist/index.mjs').CourseRegistration>;
|
|
43
43
|
getActiveCourses: () => Promise<import('../../../../db/dist/index.mjs').CourseRegistration[]>;
|
|
44
44
|
getPendingReviews: (courseId?: string) => Promise<import('../../../../db/dist/index.mjs').ScheduledCard[]>;
|
|
45
|
+
getReviewsForcast: (daysCount: number, courseId?: string) => Promise<import('../../../../db/dist/index.mjs').ScheduledCard[]>;
|
|
45
46
|
getActivityRecords: () => Promise<import('../../../../db/dist/index.mjs').ActivityRecord[]>;
|
|
46
47
|
getStrategyState: <T>(courseId: string, strategyKey: string) => Promise<T | null>;
|
|
47
48
|
getUserClassrooms: () => Promise<import('../../../../db/dist/index.mjs').ClassroomRegistrationDoc>;
|
|
@@ -104,6 +105,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
104
105
|
getCourseRegDoc: (courseId: string) => Promise<import('../../../../db/dist/index.mjs').CourseRegistration>;
|
|
105
106
|
getActiveCourses: () => Promise<import('../../../../db/dist/index.mjs').CourseRegistration[]>;
|
|
106
107
|
getPendingReviews: (courseId?: string) => Promise<import('../../../../db/dist/index.mjs').ScheduledCard[]>;
|
|
108
|
+
getReviewsForcast: (daysCount: number, courseId?: string) => Promise<import('../../../../db/dist/index.mjs').ScheduledCard[]>;
|
|
107
109
|
getActivityRecords: () => Promise<import('../../../../db/dist/index.mjs').ActivityRecord[]>;
|
|
108
110
|
getStrategyState: <T>(courseId: string, strategyKey: string) => Promise<T | null>;
|
|
109
111
|
getUserClassrooms: () => Promise<import('../../../../db/dist/index.mjs').ClassroomRegistrationDoc>;
|
|
@@ -166,6 +168,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
166
168
|
getCourseRegDoc: (courseId: string) => Promise<import('../../../../db/dist/index.mjs').CourseRegistration>;
|
|
167
169
|
getActiveCourses: () => Promise<import('../../../../db/dist/index.mjs').CourseRegistration[]>;
|
|
168
170
|
getPendingReviews: (courseId?: string) => Promise<import('../../../../db/dist/index.mjs').ScheduledCard[]>;
|
|
171
|
+
getReviewsForcast: (daysCount: number, courseId?: string) => Promise<import('../../../../db/dist/index.mjs').ScheduledCard[]>;
|
|
169
172
|
getActivityRecords: () => Promise<import('../../../../db/dist/index.mjs').ActivityRecord[]>;
|
|
170
173
|
getStrategyState: <T>(courseId: string, strategyKey: string) => Promise<T | null>;
|
|
171
174
|
getUserClassrooms: () => Promise<import('../../../../db/dist/index.mjs').ClassroomRegistrationDoc>;
|
|
@@ -229,6 +232,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
|
|
|
229
232
|
getCourseRegDoc: (courseId: string) => Promise<import('../../../../db/dist/index.mjs').CourseRegistration>;
|
|
230
233
|
getActiveCourses: () => Promise<import('../../../../db/dist/index.mjs').CourseRegistration[]>;
|
|
231
234
|
getPendingReviews: (courseId?: string) => Promise<import('../../../../db/dist/index.mjs').ScheduledCard[]>;
|
|
235
|
+
getReviewsForcast: (daysCount: number, courseId?: string) => Promise<import('../../../../db/dist/index.mjs').ScheduledCard[]>;
|
|
232
236
|
getActivityRecords: () => Promise<import('../../../../db/dist/index.mjs').ActivityRecord[]>;
|
|
233
237
|
getStrategyState: <T>(courseId: string, strategyKey: string) => Promise<T | null>;
|
|
234
238
|
getUserClassrooms: () => Promise<import('../../../../db/dist/index.mjs').ClassroomRegistrationDoc>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserRegistration.vue.d.ts","sourceRoot":"","sources":["../../../src/components/auth/UserRegistration.vue"],"names":[],"mappings":"AA8EA;AAAA,OAiSO,EAAmB,QAAQ,EAAE,MAAM,KAAK,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAE,MAAM,EAAO,MAAM,sBAAsB,CAAC;;;cAU3B,QAAQ,CAAC,CAAC,OAAO,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAA;SAAE,KAAK,IAAI,CAAC;;;;;;;;;;;;;;;;;;UAuBrD,eAAe,GAAG,IAAI;WACO,MAAM,EAAE
|
|
1
|
+
{"version":3,"file":"UserRegistration.vue.d.ts","sourceRoot":"","sources":["../../../src/components/auth/UserRegistration.vue"],"names":[],"mappings":"AA8EA;AAAA,OAiSO,EAAmB,QAAQ,EAAE,MAAM,KAAK,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,OAAO,EAAE,MAAM,EAAO,MAAM,sBAAsB,CAAC;;;cAU3B,QAAQ,CAAC,CAAC,OAAO,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAA;SAAE,KAAK,IAAI,CAAC;;;;;;;;;;;;;;;;;;UAuBrD,eAAe,GAAG,IAAI;WACO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAkMxC,CAAC;;;;;;;;;;;;wBA+BV,CAAC;yBACM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAhCC,CAAC;;;;;;;;;;;;wBA+BV,CAAC;yBACM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAhCC,CAAC;;;;;;;;;;;;wBA+BV,CAAC;yBACM,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAhCC,CAAC;;;;;;;;;;;;wBA+BV,CAAC;yBACM,CAAC;;;;;;;;;;;;;;;;;yBAzNS,OAAO;;;;;qBASX,MAAM;2BAGA,MAAM;;;;;;;;cA7CT,QAAQ,CAAC,CAAC,OAAO,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAA;SAAE,KAAK,IAAI,CAAC;;;;;;;AALzE,wBAqMG"}
|
|
@@ -24,6 +24,7 @@ export declare const useAuthStore: () => import('pinia').Store<"auth", AuthState
|
|
|
24
24
|
getCourseRegDoc: (courseId: string) => Promise<import('../../../db/dist/index.mjs').CourseRegistration>;
|
|
25
25
|
getActiveCourses: () => Promise<import('../../../db/dist/index.mjs').CourseRegistration[]>;
|
|
26
26
|
getPendingReviews: (courseId?: string) => Promise<import('../../../db/dist/index.mjs').ScheduledCard[]>;
|
|
27
|
+
getReviewsForcast: (daysCount: number, courseId?: string) => Promise<import('../../../db/dist/index.mjs').ScheduledCard[]>;
|
|
27
28
|
getActivityRecords: () => Promise<import('../../../db/dist/index.mjs').ActivityRecord[]>;
|
|
28
29
|
getStrategyState: <T>(courseId: string, strategyKey: string) => Promise<T | null>;
|
|
29
30
|
getUserClassrooms: () => Promise<import('../../../db/dist/index.mjs').ClassroomRegistrationDoc>;
|
|
@@ -86,6 +87,7 @@ export declare const useAuthStore: () => import('pinia').Store<"auth", AuthState
|
|
|
86
87
|
getCourseRegDoc: (courseId: string) => Promise<import('../../../db/dist/index.mjs').CourseRegistration>;
|
|
87
88
|
getActiveCourses: () => Promise<import('../../../db/dist/index.mjs').CourseRegistration[]>;
|
|
88
89
|
getPendingReviews: (courseId?: string) => Promise<import('../../../db/dist/index.mjs').ScheduledCard[]>;
|
|
90
|
+
getReviewsForcast: (daysCount: number, courseId?: string) => Promise<import('../../../db/dist/index.mjs').ScheduledCard[]>;
|
|
89
91
|
getActivityRecords: () => Promise<import('../../../db/dist/index.mjs').ActivityRecord[]>;
|
|
90
92
|
getStrategyState: <T>(courseId: string, strategyKey: string) => Promise<T | null>;
|
|
91
93
|
getUserClassrooms: () => Promise<import('../../../db/dist/index.mjs').ClassroomRegistrationDoc>;
|
|
@@ -148,6 +150,7 @@ export declare const useAuthStore: () => import('pinia').Store<"auth", AuthState
|
|
|
148
150
|
getCourseRegDoc: (courseId: string) => Promise<import('../../../db/dist/index.mjs').CourseRegistration>;
|
|
149
151
|
getActiveCourses: () => Promise<import('../../../db/dist/index.mjs').CourseRegistration[]>;
|
|
150
152
|
getPendingReviews: (courseId?: string) => Promise<import('../../../db/dist/index.mjs').ScheduledCard[]>;
|
|
153
|
+
getReviewsForcast: (daysCount: number, courseId?: string) => Promise<import('../../../db/dist/index.mjs').ScheduledCard[]>;
|
|
151
154
|
getActivityRecords: () => Promise<import('../../../db/dist/index.mjs').ActivityRecord[]>;
|
|
152
155
|
getStrategyState: <T>(courseId: string, strategyKey: string) => Promise<T | null>;
|
|
153
156
|
getUserClassrooms: () => Promise<import('../../../db/dist/index.mjs').ClassroomRegistrationDoc>;
|
|
@@ -211,6 +214,7 @@ export declare const useAuthStore: () => import('pinia').Store<"auth", AuthState
|
|
|
211
214
|
getCourseRegDoc: (courseId: string) => Promise<import('../../../db/dist/index.mjs').CourseRegistration>;
|
|
212
215
|
getActiveCourses: () => Promise<import('../../../db/dist/index.mjs').CourseRegistration[]>;
|
|
213
216
|
getPendingReviews: (courseId?: string) => Promise<import('../../../db/dist/index.mjs').ScheduledCard[]>;
|
|
217
|
+
getReviewsForcast: (daysCount: number, courseId?: string) => Promise<import('../../../db/dist/index.mjs').ScheduledCard[]>;
|
|
214
218
|
getActivityRecords: () => Promise<import('../../../db/dist/index.mjs').ActivityRecord[]>;
|
|
215
219
|
getStrategyState: <T>(courseId: string, strategyKey: string) => Promise<T | null>;
|
|
216
220
|
getUserClassrooms: () => Promise<import('../../../db/dist/index.mjs').ClassroomRegistrationDoc>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAuthStore.d.ts","sourceRoot":"","sources":["../../src/stores/useAuthStore.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgB,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGjE,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,eAAe,GAAG,SAAS,CAAC;IACnC,oBAAoB,EAAE;QACpB,IAAI,EAAE,OAAO,CAAC;QACd,QAAQ,EAAE,OAAO,CAAC;QAClB,aAAa,EAAE,OAAO,CAAC;QACvB,eAAe,EAAE,OAAO,CAAC;KAC1B,CAAC;IACF,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAiB3E;AAED,eAAO,MAAM,YAAY
|
|
1
|
+
{"version":3,"file":"useAuthStore.d.ts","sourceRoot":"","sources":["../../src/stores/useAuthStore.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgB,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGjE,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,eAAe,GAAG,SAAS,CAAC;IACnC,oBAAoB,EAAE;QACpB,IAAI,EAAE,OAAO,CAAC;QACd,QAAQ,EAAE,OAAO,CAAC;QAClB,aAAa,EAAE,OAAO,CAAC;QACvB,eAAe,EAAE,OAAO,CAAC;KAC1B,CAAC;IACF,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,wBAAsB,cAAc,IAAI,OAAO,CAAC,eAAe,GAAG,SAAS,CAAC,CAiB3E;AAED,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAgFwnc,CAAC;;;;;;;;;;;;oBAAm0D,CAAC;qBAAuB,CAAC;;;;;;;kBA3Gp+f,OAAO;sBACH,OAAO;2BACF,OAAO;6BACL,OAAO;;wBAEV,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAsGwnc,CAAC;;;;;;;;;;;;oBAAm0D,CAAC;qBAAuB,CAAC;;;;;;;kBA3Gp+f,OAAO;sBACH,OAAO;2BACF,OAAO;6BACL,OAAO;;wBAEV,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAsGwnc,CAAC;;;;;;;;;;;;oBAAm0D,CAAC;qBAAuB,CAAC;;;;;;;kBA3Gp+f,OAAO;sBACH,OAAO;2BACF,OAAO;6BACL,OAAO;;wBAEV,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAsGwnc,CAAC;;;;;;;;;;;;oBAAm0D,CAAC;qBAAuB,CAAC;;;;;;;;;yBA1Cn9f,OAAO;uBAIT,OAAO;;;;;EAqC/B,CAAC"}
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"publishConfig": {
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
|
-
"version": "0.2.
|
|
6
|
+
"version": "0.2.15",
|
|
7
7
|
"sideEffects": false,
|
|
8
8
|
"main": "./dist/common-ui.umd.js",
|
|
9
9
|
"module": "./dist/common-ui.es.js",
|
|
@@ -34,8 +34,8 @@
|
|
|
34
34
|
"@highlightjs/vue-plugin": "^2.1.2",
|
|
35
35
|
"@mdi/font": "^7.3.67",
|
|
36
36
|
"@vojtechlanka/vue-tags-input": "^3",
|
|
37
|
-
"@vue-skuilder/common": "0.2.
|
|
38
|
-
"@vue-skuilder/db": "0.2.
|
|
37
|
+
"@vue-skuilder/common": "0.2.15",
|
|
38
|
+
"@vue-skuilder/db": "0.2.15",
|
|
39
39
|
"highlight.js": "^11.0.1",
|
|
40
40
|
"marked": "^15.0.6",
|
|
41
41
|
"moment": "^2.29.4",
|
|
@@ -71,5 +71,5 @@
|
|
|
71
71
|
"vite-plugin-dts": "^4.5.3",
|
|
72
72
|
"vitest": "^4.1.0"
|
|
73
73
|
},
|
|
74
|
-
"stableVersion": "0.2.
|
|
74
|
+
"stableVersion": "0.2.15"
|
|
75
75
|
}
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
|
|
12
12
|
<br v-if="!frameless" />
|
|
13
13
|
|
|
14
|
-
<div v-if="sessionFinished">
|
|
14
|
+
<div v-if="sessionFinished" class="session-finished-area">
|
|
15
15
|
<slot name="session-finished" :session-record="sessionRecord" :report="sessionController?.report">
|
|
16
16
|
<div class="text-h4">
|
|
17
17
|
<p>Study session finished! Great job!</p>
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
</div>
|
|
27
27
|
|
|
28
28
|
<div v-else ref="shadowWrapper" class="card-transition-container">
|
|
29
|
-
<transition :name="transitionName">
|
|
29
|
+
<transition :name="transitionName" :mode="resolvedTransitionMode">
|
|
30
30
|
<card-viewer
|
|
31
31
|
v-if="view"
|
|
32
32
|
ref="cardViewer"
|
|
@@ -223,6 +223,16 @@ export default defineComponent({
|
|
|
223
223
|
currentCard(): StudySessionRecord {
|
|
224
224
|
return this.sessionRecord[this.sessionRecord.length - 1];
|
|
225
225
|
},
|
|
226
|
+
/**
|
|
227
|
+
* Vue's <transition> mode accepts 'out-in' | 'in-out' | undefined; our
|
|
228
|
+
* 'default' preset value means "simultaneous", i.e. no mode. (This prop
|
|
229
|
+
* was declared but never bound until 2026-07; presets documented as
|
|
230
|
+
* "use with mode=out-in" ran simultaneous, leaving both cards in-flow
|
|
231
|
+
* mid-transition.)
|
|
232
|
+
*/
|
|
233
|
+
resolvedTransitionMode(): 'out-in' | 'in-out' | undefined {
|
|
234
|
+
return this.transitionMode === 'default' ? undefined : this.transitionMode;
|
|
235
|
+
},
|
|
226
236
|
},
|
|
227
237
|
|
|
228
238
|
// watch: {
|
|
@@ -693,6 +703,16 @@ a {
|
|
|
693
703
|
min-height: 0;
|
|
694
704
|
}
|
|
695
705
|
|
|
706
|
+
/* Let session-finished slot content fill the remaining column height (e.g.
|
|
707
|
+
full-bleed end-screen heroes). The default fallback content is height:auto
|
|
708
|
+
and unaffected beyond stretching to full width. */
|
|
709
|
+
.session-finished-area {
|
|
710
|
+
flex: 1;
|
|
711
|
+
min-height: 0;
|
|
712
|
+
display: flex;
|
|
713
|
+
flex-direction: column;
|
|
714
|
+
}
|
|
715
|
+
|
|
696
716
|
.card-transition-container {
|
|
697
717
|
position: relative;
|
|
698
718
|
overflow: hidden;
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
:model-value="percentageRemaining"
|
|
13
13
|
>
|
|
14
14
|
<v-btn
|
|
15
|
-
v-if="timeRemaining > 0 && hovered"
|
|
15
|
+
v-if="allowAddTime && timeRemaining > 0 && hovered"
|
|
16
16
|
icon
|
|
17
17
|
color="transparent"
|
|
18
18
|
location="bottom left"
|
|
@@ -49,6 +49,16 @@ export default defineComponent({
|
|
|
49
49
|
required: true,
|
|
50
50
|
default: 5,
|
|
51
51
|
},
|
|
52
|
+
/**
|
|
53
|
+
* Whether to offer the hover-reveal "+" (add-time) affordance at all.
|
|
54
|
+
* Courses with a deliberate session-dose policy (fixed, age-measured
|
|
55
|
+
* screen time) set this false so the control is absent rather than
|
|
56
|
+
* present-but-inert.
|
|
57
|
+
*/
|
|
58
|
+
allowAddTime: {
|
|
59
|
+
type: Boolean,
|
|
60
|
+
default: true,
|
|
61
|
+
},
|
|
52
62
|
},
|
|
53
63
|
|
|
54
64
|
emits: ['add-time'],
|