@vue-skuilder/common-ui 0.1.18 → 0.1.21

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.
@@ -0,0 +1,128 @@
1
+ import { PropType } from 'vue';
2
+ import { Tag, CourseDBInterface, UserDBInterface } from '../../../db/dist/index.mjs';
3
+ /**
4
+ * Slider configuration for tag preferences.
5
+ */
6
+ interface SliderConfig {
7
+ min?: number;
8
+ startingMax?: number;
9
+ absoluteMax?: number;
10
+ }
11
+ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropTypes<{
12
+ /**
13
+ * Course ID to configure preferences for.
14
+ * If not provided, component shows a prompt to select a course.
15
+ */
16
+ courseId: {
17
+ type: PropType<string>;
18
+ required: false;
19
+ default: string;
20
+ };
21
+ /**
22
+ * Slider configuration (min, startingMax, absoluteMax).
23
+ * All fields optional, defaults: { min: 0, startingMax: 2, absoluteMax: 10 }
24
+ */
25
+ sliderConfig: {
26
+ type: PropType<SliderConfig>;
27
+ required: false;
28
+ default: () => {};
29
+ };
30
+ }>, {}, {
31
+ loading: boolean;
32
+ saving: boolean;
33
+ saveError: string;
34
+ saveSuccess: boolean;
35
+ preferences: {
36
+ boost: Record<string, number>;
37
+ };
38
+ savedPreferences: {
39
+ boost: Record<string, number>;
40
+ };
41
+ tagMaxRanges: Record<string, number>;
42
+ availableTags: Tag[];
43
+ tagToAdd: string | null;
44
+ courseDB: CourseDBInterface | null;
45
+ user: UserDBInterface | null;
46
+ }, {
47
+ /**
48
+ * Resolved slider config with defaults
49
+ */
50
+ sliderConfigResolved(): Required<SliderConfig>;
51
+ /**
52
+ * List of tag names that have preferences (sorted alphabetically)
53
+ */
54
+ tagNames(): string[];
55
+ /**
56
+ * Global max for all sliders (highest tagMaxRanges value)
57
+ * Ensures all sliders have the same visual scale
58
+ */
59
+ globalSliderMax(): number;
60
+ /**
61
+ * Tags available to add (not already in preferences)
62
+ */
63
+ availableTagsToAdd(): Tag[];
64
+ /**
65
+ * Check if current preferences differ from saved state
66
+ */
67
+ hasChanges(): boolean;
68
+ }, {
69
+ /**
70
+ * Load preferences from strategy state and available tags from course
71
+ */
72
+ loadPreferences(): Promise<void>;
73
+ /**
74
+ * Add a tag to preferences with default multiplier of 1.0
75
+ */
76
+ addTag(tagName: string | null): void;
77
+ /**
78
+ * Remove a tag from preferences
79
+ */
80
+ removeTag(tagName: string): void;
81
+ /**
82
+ * Update boost multiplier for a tag
83
+ */
84
+ updateBoost(tagName: string, value: number): void;
85
+ /**
86
+ * Expand the global slider range by 1 and move the triggering tag's slider to new max
87
+ */
88
+ expandSliderRange(tagName: string): void;
89
+ /**
90
+ * Format multiplier for display
91
+ */
92
+ formatMultiplier(value: number): string;
93
+ /**
94
+ * Reset to last saved state
95
+ */
96
+ resetToSaved(): void;
97
+ /**
98
+ * Save preferences to strategy state
99
+ */
100
+ savePreferences(): Promise<void>;
101
+ }, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, ("preferences-saved" | "preferences-changed")[], "preferences-saved" | "preferences-changed", import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
102
+ /**
103
+ * Course ID to configure preferences for.
104
+ * If not provided, component shows a prompt to select a course.
105
+ */
106
+ courseId: {
107
+ type: PropType<string>;
108
+ required: false;
109
+ default: string;
110
+ };
111
+ /**
112
+ * Slider configuration (min, startingMax, absoluteMax).
113
+ * All fields optional, defaults: { min: 0, startingMax: 2, absoluteMax: 10 }
114
+ */
115
+ sliderConfig: {
116
+ type: PropType<SliderConfig>;
117
+ required: false;
118
+ default: () => {};
119
+ };
120
+ }>> & Readonly<{
121
+ "onPreferences-saved"?: ((...args: any[]) => any) | undefined;
122
+ "onPreferences-changed"?: ((...args: any[]) => any) | undefined;
123
+ }>, {
124
+ courseId: string;
125
+ sliderConfig: SliderConfig;
126
+ }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>;
127
+ export default _default;
128
+ //# sourceMappingURL=UserTagPreferences.vue.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserTagPreferences.vue.d.ts","sourceRoot":"","sources":["../../src/components/UserTagPreferences.vue"],"names":[],"mappings":"AA2JA;AAogBA,OAAO,EAAmB,QAAQ,EAAE,MAAM,KAAK,CAAC;AAChD,OAAO,EAAgB,GAAG,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAWzF;;GAEG;AACH,UAAU,YAAY;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;;IAcG;;;OAGG;;cAEe,QAAQ,CAAC,MAAM,CAAC;;;;IAKlC;;;OAGG;;cAEe,QAAQ,CAAC,YAAY,CAAC;;;;;;;;;;eAiBvB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;;;eAKtB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;;kBAIjB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;mBAGrB,GAAG,EAAE;cAGR,MAAM,GAAG,IAAI;cAGb,iBAAiB,GAAG,IAAI;UAC5B,eAAe,GAAG,IAAI;;IAKtC;;OAEG;4BACqB,QAAQ,CAAC,YAAY,CAAC;IAQ9C;;OAEG;gBACS,MAAM,EAAE;IAIpB;;;OAGG;uBACgB,MAAM;IAQzB;;OAEG;0BACmB,GAAG,EAAE;IAK3B;;OAEG;kBACW,OAAO;;IAgCrB;;OAEG;;IA2DH;;OAEG;oBACa,MAAM,GAAG,IAAI;IAY7B;;OAEG;uBACgB,MAAM;IAMzB;;OAEG;yBACkB,MAAM,SAAS,MAAM;IAK1C;;OAEG;+BACwB,MAAM;IAiBjC;;OAEG;4BACqB,MAAM,GAAG,MAAM;IAUvC;;OAEG;;IAuBH;;OAEG;;;IA1RH;;;OAGG;;cAEe,QAAQ,CAAC,MAAM,CAAC;;;;IAKlC;;;OAGG;;cAEe,QAAQ,CAAC,YAAY,CAAC;;;;;;;;;;;AAnB5C,wBAkUG"}
@@ -43,6 +43,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
43
43
  getActiveCourses: () => Promise<import('../../../../db/dist/index.mjs').CourseRegistration[]>;
44
44
  getPendingReviews: (courseId?: string) => Promise<import('../../../../db/dist/index.mjs').ScheduledCard[]>;
45
45
  getActivityRecords: () => Promise<import('../../../../db/dist/index.mjs').ActivityRecord[]>;
46
+ getStrategyState: <T>(courseId: string, strategyKey: string) => Promise<T | null>;
46
47
  getUserClassrooms: () => Promise<import('../../../../db/dist/index.mjs').ClassroomRegistrationDoc>;
47
48
  getActiveClasses: () => Promise<string[]>;
48
49
  getCourseInterface: (courseId: string) => Promise<import('../../../../db/dist/index.mjs').UsrCrsDataInterface>;
@@ -66,6 +67,8 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
66
67
  status: Status;
67
68
  error?: string;
68
69
  }>;
70
+ putStrategyState: <T>(courseId: string, strategyKey: string, data: T) => Promise<void>;
71
+ deleteStrategyState: (courseId: string, strategyKey: string) => Promise<void>;
69
72
  update: <T extends PouchDB.Core.Document<object>>(id: string, update: Partial<T> | ((x: T) => T)) => Promise<T>;
70
73
  createAccount: (username: string, password: string) => Promise<{
71
74
  status: Status;
@@ -101,6 +104,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
101
104
  getActiveCourses: () => Promise<import('../../../../db/dist/index.mjs').CourseRegistration[]>;
102
105
  getPendingReviews: (courseId?: string) => Promise<import('../../../../db/dist/index.mjs').ScheduledCard[]>;
103
106
  getActivityRecords: () => Promise<import('../../../../db/dist/index.mjs').ActivityRecord[]>;
107
+ getStrategyState: <T>(courseId: string, strategyKey: string) => Promise<T | null>;
104
108
  getUserClassrooms: () => Promise<import('../../../../db/dist/index.mjs').ClassroomRegistrationDoc>;
105
109
  getActiveClasses: () => Promise<string[]>;
106
110
  getCourseInterface: (courseId: string) => Promise<import('../../../../db/dist/index.mjs').UsrCrsDataInterface>;
@@ -124,6 +128,8 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
124
128
  status: Status;
125
129
  error?: string;
126
130
  }>;
131
+ putStrategyState: <T>(courseId: string, strategyKey: string, data: T) => Promise<void>;
132
+ deleteStrategyState: (courseId: string, strategyKey: string) => Promise<void>;
127
133
  update: <T extends PouchDB.Core.Document<object>>(id: string, update: Partial<T> | ((x: T) => T)) => Promise<T>;
128
134
  createAccount: (username: string, password: string) => Promise<{
129
135
  status: Status;
@@ -159,6 +165,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
159
165
  getActiveCourses: () => Promise<import('../../../../db/dist/index.mjs').CourseRegistration[]>;
160
166
  getPendingReviews: (courseId?: string) => Promise<import('../../../../db/dist/index.mjs').ScheduledCard[]>;
161
167
  getActivityRecords: () => Promise<import('../../../../db/dist/index.mjs').ActivityRecord[]>;
168
+ getStrategyState: <T>(courseId: string, strategyKey: string) => Promise<T | null>;
162
169
  getUserClassrooms: () => Promise<import('../../../../db/dist/index.mjs').ClassroomRegistrationDoc>;
163
170
  getActiveClasses: () => Promise<string[]>;
164
171
  getCourseInterface: (courseId: string) => Promise<import('../../../../db/dist/index.mjs').UsrCrsDataInterface>;
@@ -182,6 +189,8 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
182
189
  status: Status;
183
190
  error?: string;
184
191
  }>;
192
+ putStrategyState: <T>(courseId: string, strategyKey: string, data: T) => Promise<void>;
193
+ deleteStrategyState: (courseId: string, strategyKey: string) => Promise<void>;
185
194
  update: <T extends PouchDB.Core.Document<object>>(id: string, update: Partial<T> | ((x: T) => T)) => Promise<T>;
186
195
  createAccount: (username: string, password: string) => Promise<{
187
196
  status: Status;
@@ -218,6 +227,7 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
218
227
  getActiveCourses: () => Promise<import('../../../../db/dist/index.mjs').CourseRegistration[]>;
219
228
  getPendingReviews: (courseId?: string) => Promise<import('../../../../db/dist/index.mjs').ScheduledCard[]>;
220
229
  getActivityRecords: () => Promise<import('../../../../db/dist/index.mjs').ActivityRecord[]>;
230
+ getStrategyState: <T>(courseId: string, strategyKey: string) => Promise<T | null>;
221
231
  getUserClassrooms: () => Promise<import('../../../../db/dist/index.mjs').ClassroomRegistrationDoc>;
222
232
  getActiveClasses: () => Promise<string[]>;
223
233
  getCourseInterface: (courseId: string) => Promise<import('../../../../db/dist/index.mjs').UsrCrsDataInterface>;
@@ -241,6 +251,8 @@ declare const _default: import('vue').DefineComponent<import('vue').ExtractPropT
241
251
  status: Status;
242
252
  error?: string;
243
253
  }>;
254
+ putStrategyState: <T>(courseId: string, strategyKey: string, data: T) => Promise<void>;
255
+ deleteStrategyState: (courseId: string, strategyKey: string) => Promise<void>;
244
256
  update: <T extends PouchDB.Core.Document<object>>(id: string, update: Partial<T> | ((x: T) => T)) => Promise<T>;
245
257
  createAccount: (username: string, password: string) => Promise<{
246
258
  status: Status;
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAsD9C,CAAC;;;;;;;;;wBAqBE,CAAC;yBACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAtBH,CAAC;;;;;;;;;wBAqBE,CAAC;yBACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAtBH,CAAC;;;;;;;;;wBAqBE,CAAC;yBACF,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAtBH,CAAC;;;;;;;;;wBAqBE,CAAC;yBACF,CAAC;;;;;;;;;;;;;;;;;yBAnEW,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBA4H3C,CAHd;;;;;;;;;;;wBA8B8B,CAAA;yBAAuB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBA3BxC,CAHd;;;;;;;;;;;wBA8B8B,CAAA;yBAAuB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBA3BxC,CAHd;;;;;;;;;;;wBA8B8B,CAAA;yBAAuB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBA3BxC,CAHd;;;;;;;;;;;wBA8B8B,CAAA;yBAAuB,CAAC;;;;;;;;;;;;;;;;;yBA9I7B,OAAO;;;;;qBASX,MAAM;2BAGA,MAAM;;;;;;;;cA7CT,QAAQ,CAAC,CAAC,OAAO,EAAE;YAAE,QAAQ,EAAE,MAAM,CAAA;SAAE,KAAK,IAAI,CAAC;;;;;;;AALzE,wBAqMG"}
package/dist/index.d.ts CHANGED
@@ -45,4 +45,5 @@ export { default as CardBrowser } from './components/CardBrowser.vue';
45
45
  export { default as CourseCardBrowser } from './components/CourseCardBrowser.vue';
46
46
  export { default as TagsInput } from './components/TagsInput.vue';
47
47
  export { default as CourseTagFilterWidget } from './components/CourseTagFilterWidget.vue';
48
+ export { default as UserTagPreferences } from './components/UserTagPreferences.vue';
48
49
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,7 @@ export declare const useAuthStore: () => import('pinia').Store<"auth", AuthState
25
25
  getActiveCourses: () => Promise<import('../../../db/dist/index.mjs').CourseRegistration[]>;
26
26
  getPendingReviews: (courseId?: string) => Promise<import('../../../db/dist/index.mjs').ScheduledCard[]>;
27
27
  getActivityRecords: () => Promise<import('../../../db/dist/index.mjs').ActivityRecord[]>;
28
+ getStrategyState: <T>(courseId: string, strategyKey: string) => Promise<T | null>;
28
29
  getUserClassrooms: () => Promise<import('../../../db/dist/index.mjs').ClassroomRegistrationDoc>;
29
30
  getActiveClasses: () => Promise<string[]>;
30
31
  getCourseInterface: (courseId: string) => Promise<import('../../../db/dist/index.mjs').UsrCrsDataInterface>;
@@ -48,6 +49,8 @@ export declare const useAuthStore: () => import('pinia').Store<"auth", AuthState
48
49
  status: import('../../../common/dist/index.mjs').Status;
49
50
  error?: string;
50
51
  }>;
52
+ putStrategyState: <T>(courseId: string, strategyKey: string, data: T) => Promise<void>;
53
+ deleteStrategyState: (courseId: string, strategyKey: string) => Promise<void>;
51
54
  update: <T extends PouchDB.Core.Document<object>>(id: string, update: Partial<T> | ((x: T) => T)) => Promise<T>;
52
55
  createAccount: (username: string, password: string) => Promise<{
53
56
  status: import('../../../common/dist/index.mjs').Status;
@@ -83,6 +86,7 @@ export declare const useAuthStore: () => import('pinia').Store<"auth", AuthState
83
86
  getActiveCourses: () => Promise<import('../../../db/dist/index.mjs').CourseRegistration[]>;
84
87
  getPendingReviews: (courseId?: string) => Promise<import('../../../db/dist/index.mjs').ScheduledCard[]>;
85
88
  getActivityRecords: () => Promise<import('../../../db/dist/index.mjs').ActivityRecord[]>;
89
+ getStrategyState: <T>(courseId: string, strategyKey: string) => Promise<T | null>;
86
90
  getUserClassrooms: () => Promise<import('../../../db/dist/index.mjs').ClassroomRegistrationDoc>;
87
91
  getActiveClasses: () => Promise<string[]>;
88
92
  getCourseInterface: (courseId: string) => Promise<import('../../../db/dist/index.mjs').UsrCrsDataInterface>;
@@ -106,6 +110,8 @@ export declare const useAuthStore: () => import('pinia').Store<"auth", AuthState
106
110
  status: import('../../../common/dist/index.mjs').Status;
107
111
  error?: string;
108
112
  }>;
113
+ putStrategyState: <T>(courseId: string, strategyKey: string, data: T) => Promise<void>;
114
+ deleteStrategyState: (courseId: string, strategyKey: string) => Promise<void>;
109
115
  update: <T extends PouchDB.Core.Document<object>>(id: string, update: Partial<T> | ((x: T) => T)) => Promise<T>;
110
116
  createAccount: (username: string, password: string) => Promise<{
111
117
  status: import('../../../common/dist/index.mjs').Status;
@@ -141,6 +147,7 @@ export declare const useAuthStore: () => import('pinia').Store<"auth", AuthState
141
147
  getActiveCourses: () => Promise<import('../../../db/dist/index.mjs').CourseRegistration[]>;
142
148
  getPendingReviews: (courseId?: string) => Promise<import('../../../db/dist/index.mjs').ScheduledCard[]>;
143
149
  getActivityRecords: () => Promise<import('../../../db/dist/index.mjs').ActivityRecord[]>;
150
+ getStrategyState: <T>(courseId: string, strategyKey: string) => Promise<T | null>;
144
151
  getUserClassrooms: () => Promise<import('../../../db/dist/index.mjs').ClassroomRegistrationDoc>;
145
152
  getActiveClasses: () => Promise<string[]>;
146
153
  getCourseInterface: (courseId: string) => Promise<import('../../../db/dist/index.mjs').UsrCrsDataInterface>;
@@ -164,6 +171,8 @@ export declare const useAuthStore: () => import('pinia').Store<"auth", AuthState
164
171
  status: import('../../../common/dist/index.mjs').Status;
165
172
  error?: string;
166
173
  }>;
174
+ putStrategyState: <T>(courseId: string, strategyKey: string, data: T) => Promise<void>;
175
+ deleteStrategyState: (courseId: string, strategyKey: string) => Promise<void>;
167
176
  update: <T extends PouchDB.Core.Document<object>>(id: string, update: Partial<T> | ((x: T) => T)) => Promise<T>;
168
177
  createAccount: (username: string, password: string) => Promise<{
169
178
  status: import('../../../common/dist/index.mjs').Status;
@@ -200,6 +209,7 @@ export declare const useAuthStore: () => import('pinia').Store<"auth", AuthState
200
209
  getActiveCourses: () => Promise<import('../../../db/dist/index.mjs').CourseRegistration[]>;
201
210
  getPendingReviews: (courseId?: string) => Promise<import('../../../db/dist/index.mjs').ScheduledCard[]>;
202
211
  getActivityRecords: () => Promise<import('../../../db/dist/index.mjs').ActivityRecord[]>;
212
+ getStrategyState: <T>(courseId: string, strategyKey: string) => Promise<T | null>;
203
213
  getUserClassrooms: () => Promise<import('../../../db/dist/index.mjs').ClassroomRegistrationDoc>;
204
214
  getActiveClasses: () => Promise<string[]>;
205
215
  getCourseInterface: (courseId: string) => Promise<import('../../../db/dist/index.mjs').UsrCrsDataInterface>;
@@ -223,6 +233,8 @@ export declare const useAuthStore: () => import('pinia').Store<"auth", AuthState
223
233
  status: import('../../../common/dist/index.mjs').Status;
224
234
  error?: string;
225
235
  }>;
236
+ putStrategyState: <T>(courseId: string, strategyKey: string, data: T) => Promise<void>;
237
+ deleteStrategyState: (courseId: string, strategyKey: string) => Promise<void>;
226
238
  update: <T extends PouchDB.Core.Document<object>>(id: string, update: Partial<T> | ((x: T) => T)) => Promise<T>;
227
239
  createAccount: (username: string, password: string) => Promise<{
228
240
  status: import('../../../common/dist/index.mjs').Status;
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAgFk+Q,CAAC;;;;;;;;;oBAA2Z,CAAC;qBAAuB,CAAC;;;;;;;kBA3Gt6R,OAAO;sBACH,OAAO;2BACF,OAAO;6BACL,OAAO;;wBAEV,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAsGk+Q,CAAC;;;;;;;;;oBAA2Z,CAAC;qBAAuB,CAAC;;;;;;;kBA3Gt6R,OAAO;sBACH,OAAO;2BACF,OAAO;6BACL,OAAO;;wBAEV,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAsGk+Q,CAAC;;;;;;;;;oBAA2Z,CAAC;qBAAuB,CAAC;;;;;;;kBA3Gt6R,OAAO;sBACH,OAAO;2BACF,OAAO;6BACL,OAAO;;wBAEV,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAsGk+Q,CAAC;;;;;;;;;oBAA2Z,CAAC;qBAAuB,CAAC;;;;;;;;;yBA1Cr5R,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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAgFu6V,CAAC;;;;;;;;;;;oBAAutC,CAAC;qBAAuB,CAAC;;;;;;;kBA3GvqY,OAAO;sBACH,OAAO;2BACF,OAAO;6BACL,OAAO;;wBAEV,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAsGu6V,CAAC;;;;;;;;;;;oBAAutC,CAAC;qBAAuB,CAAC;;;;;;;kBA3GvqY,OAAO;sBACH,OAAO;2BACF,OAAO;6BACL,OAAO;;wBAEV,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAsGu6V,CAAC;;;;;;;;;;;oBAAutC,CAAC;qBAAuB,CAAC;;;;;;;kBA3GvqY,OAAO;sBACH,OAAO;2BACF,OAAO;6BACL,OAAO;;wBAEV,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAsGu6V,CAAC;;;;;;;;;;;oBAAutC,CAAC;qBAAuB,CAAC;;;;;;;;;yBA1CtpY,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.1.18",
6
+ "version": "0.1.21",
7
7
  "main": "./dist/common-ui.umd.js",
8
8
  "module": "./dist/common-ui.es.js",
9
9
  "types": "./dist/index.d.ts",
@@ -33,8 +33,8 @@
33
33
  "@highlightjs/vue-plugin": "^2.1.2",
34
34
  "@mdi/font": "^7.3.67",
35
35
  "@vojtechlanka/vue-tags-input": "^3",
36
- "@vue-skuilder/common": "0.1.18",
37
- "@vue-skuilder/db": "0.1.18",
36
+ "@vue-skuilder/common": "0.1.21",
37
+ "@vue-skuilder/db": "0.1.21",
38
38
  "highlight.js": "^11.0.1",
39
39
  "marked": "^15.0.6",
40
40
  "moment": "^2.29.4",
@@ -53,8 +53,8 @@
53
53
  "@testing-library/jest-dom": "^6.6.3",
54
54
  "@testing-library/vue": "^8.1.0",
55
55
  "@types/pouchdb": "^6.4.2",
56
- "@typescript-eslint/eslint-plugin": "^8.25.0",
57
- "@typescript-eslint/parser": "^8.25.0",
56
+ "@typescript-eslint/eslint-plugin": "^8.48.1",
57
+ "@typescript-eslint/parser": "^8.48.1",
58
58
  "@vitejs/plugin-vue": "^6.0.0",
59
59
  "@vue/eslint-config-typescript": "^14.4.0",
60
60
  "@vue/test-utils": "^2.4.6",
@@ -68,7 +68,7 @@
68
68
  "typescript": "~5.9.3",
69
69
  "vite": "^7.0.0",
70
70
  "vite-plugin-dts": "^4.5.3",
71
- "vitest": "^3.0.5"
71
+ "vitest": "^4.0.15"
72
72
  },
73
- "stableVersion": "0.1.18"
73
+ "stableVersion": "0.1.21"
74
74
  }