@vue-skuilder/common-ui 0.2.14 → 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.
@@ -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,OAm0BO,EAAE,eAAe,EAAW,QAAQ,EAAE,MAAM,KAAK,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAM/C,OAAO,UAAU,MAAM,gCAAgC,CAAC;AAGxD,OAAO,EAAE,SAAS,EAAuB,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,EACL,WAAW,EACX,UAAU,EAEV,eAAe,EACf,qBAAqB,EACrB,iBAAiB,EAEjB,YAAY,EAGZ,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EAChB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAEpG,UAAU,SAAS;IACjB,aAAa,EAAE,cAAc,CAAC;IAC9B,UAAU,EAAE,YAAY,CAAC,OAAO,UAAU,CAAC,CAAC;CAC7C;AAED,KAAK,aAAa,GAAG,UAAU,CAAC,OAAO,eAAe,CAAC,GAAG;IACxD,KAAK,EAAE,SAAS,CAAC;CAClB,CAAC;;;;;;;cAqBmB,QAAQ,CAAC,eAAe,EAAE,CAAC;;;;cAI1B,QAAQ,CAAC,eAAe,CAAC;;;;cAIzB,QAAQ,CAAC,iBAAiB,CAAC;;;;cAI3B,QAAQ,CAAC,kBAAkB,CAAC;;;;;;cAI1B,QAAQ,CAAC,CAAC,MAAM,EAAE,MAAM,KAAK,aAAa,CAAC;;;;;;;;;;;;cAY7C,QAAQ,CAAC,oBAAoB,GAAG,MAAM,CAAC;;;;cAIvC,QAAQ,CAAC,kBAAkB,CAAC;;;;;UAoB9B,aAAa,GAAG,IAAI;UACtB,QAAQ,EAAE;;;iBAGH;QAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE;;uBAEtB,iBAAiB,CAAC,aAAa,CAAC,GAAG,IAAI;;;mBAG7C,kBAAkB,EAAE;;;;sBAIf,qBAAqB,GAAG,IAAI;2BACzB,kBAAkB,EAAE;;;mBAG1B,aAAa,GAAG,IAAI;4BACX,MAAM,GAAG,IAAI;qBACpB,MAAM,CAAC,OAAO,GAAG,IAAI;;;;mBAOjC,kBAAkB;;IAoDjC;;;OAGG;;IAYH;;;;;;;;;;;;;OAaG;kCAC2B,aAAa;uBAUxB,MAAM,GAAG,SAAS;kCASxB,OAAO;;;;8BAkJM,MAAM,WAAW,MAAM,GAAG,MAAM;0BAI9B,aAAa,KAAK,UAAU;6BAiF/B,cAAc;;qBAsDhB,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;mBAO/C,YAAY,GAAG,IAAI;;;;;;;cAtdvB,QAAQ,CAAC,eAAe,EAAE,CAAC;;;;cAI1B,QAAQ,CAAC,eAAe,CAAC;;;;cAIzB,QAAQ,CAAC,iBAAiB,CAAC;;;;cAI3B,QAAQ,CAAC,kBAAkB,CAAC;;;;;;cAI1B,QAAQ,CAAC,CAAC,MAAM,EAAE,MAAM,KAAK,aAAa,CAAC;;;;;;;;;;;;cAY7C,QAAQ,CAAC,oBAAoB,GAAG,MAAM,CAAC;;;;cAIvC,QAAQ,CAAC,kBAAkB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAnDlD,wBAohBG"}
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;;IAiII;;OAEG;;;;;IAKH;;OAEG;;;;;;;;;;;;;IATH;;OAEG;;;;;IAKH;;OAEG;;;;;;;;;;;AAbP,wBAgFG"}
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBA0L3B,CAAC;;;;;;;;;;;;wBA+BgE,CAAA;yBAAuB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBA/BzF,CAAC;;;;;;;;;;;;wBA+BgE,CAAA;yBAAuB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBA/BzF,CAAC;;;;;;;;;;;;wBA+BgE,CAAA;yBAAuB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBA/BzF,CAAC;;;;;;;;;;;;wBA+BgE,CAAA;yBAAuB,CAAC;;;;;;;;;;;;;;;;;yBAhN9F,OAAO;;;;;qBASX,MAAM;2BAGA,MAAM;;;;;;;;cA7CT,QAAQ,CAAC,CAAC,OAAO,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAA;SAAE,KAAK,IAAI,CAAC;;;;;;;AALzE,wBAqMG"}
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAgFmub,CAAC;;;;;;;;;;;;oBAAm0D,CAAC;qBAAuB,CAAC;;;;;;;kBA3G/kf,OAAO;sBACH,OAAO;2BACF,OAAO;6BACL,OAAO;;wBAEV,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAsGmub,CAAC;;;;;;;;;;;;oBAAm0D,CAAC;qBAAuB,CAAC;;;;;;;kBA3G/kf,OAAO;sBACH,OAAO;2BACF,OAAO;6BACL,OAAO;;wBAEV,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAsGmub,CAAC;;;;;;;;;;;;oBAAm0D,CAAC;qBAAuB,CAAC;;;;;;;kBA3G/kf,OAAO;sBACH,OAAO;2BACF,OAAO;6BACL,OAAO;;wBAEV,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAsGmub,CAAC;;;;;;;;;;;;oBAAm0D,CAAC;qBAAuB,CAAC;;;;;;;;;yBA1C9jf,OAAO;uBAIT,OAAO;;;;;EAqC/B,CAAC"}
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.14",
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.14",
38
- "@vue-skuilder/db": "0.2.14",
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.14"
74
+ "stableVersion": "0.2.15"
75
75
  }
@@ -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: {
@@ -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'],