@thanh01.pmt/interactive-quiz-kit 1.0.66 → 1.0.67

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.
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import React__default from 'react';
3
- import { s as QuizConfig, g as QuizQuestion, Q as QuestionTypeStrings, r as QuizSettings } from './quiz-config-o4j2dfsu.cjs';
4
- import { Subject, Topic, GradeLevel, BloomLevelType, QuestionInBank, QuestionFilters as QuestionFilters$1, Category, QuestionTypeType, LearningObjectiveMetadata, Context, Approach } from './index.cjs';
3
+ import { s as QuizConfig, g as QuizQuestion, Q as QuestionTypeStrings, r as QuizSettings } from './quiz-config-CwaP-pBs.js';
4
+ import { Subject, Topic, GradeLevel, BloomLevelType, QuestionInBank, QuestionFilters as QuestionFilters$1, Category, QuestionTypeType, LearningObjective, Context, Approach } from './index.js';
5
5
  import * as class_variance_authority_types from 'class-variance-authority/types';
6
6
  import * as ToastPrimitives from '@radix-ui/react-toast';
7
7
  import { VariantProps } from 'class-variance-authority';
@@ -13,13 +13,6 @@ interface QuizAuthoringToolProps {
13
13
  }
14
14
  declare const QuizAuthoringTool: React__default.FC<QuizAuthoringToolProps>;
15
15
 
16
- interface QuestionPreviewModalProps {
17
- isOpen: boolean;
18
- onClose: () => void;
19
- question: QuizQuestion;
20
- }
21
- declare const QuestionPreviewModal: React__default.FC<QuestionPreviewModalProps>;
22
-
23
16
  interface AIQuestionGeneratorModalProps {
24
17
  isOpen: boolean;
25
18
  onClose: () => void;
@@ -114,6 +107,13 @@ interface SelectedQuestionsPanelProps {
114
107
  }
115
108
  declare const SelectedQuestionsPanel: React__default.FC<SelectedQuestionsPanelProps>;
116
109
 
110
+ interface QuestionPreviewModalProps {
111
+ isOpen: boolean;
112
+ onClose: () => void;
113
+ question: QuizQuestion;
114
+ }
115
+ declare const QuestionPreviewModal: React__default.FC<QuestionPreviewModalProps>;
116
+
117
117
  interface APIKeyManagerModalProps {
118
118
  isOpen: boolean;
119
119
  onClose: () => void;
@@ -128,31 +128,25 @@ declare function ApiKeySettings(): React__default.JSX.Element;
128
128
 
129
129
  declare function MetadataTabs(): React__default.JSX.Element;
130
130
 
131
- /**
132
- * Props for the SubjectManager component.
133
- * When these props are provided, the component operates in "controlled" mode.
134
- * If they are omitted, it falls back to using its internal localStorage service.
135
- */
136
131
  interface SubjectManagerProps {
137
- /** Optional: An array of subjects to display. If provided, the component will not fetch its own data. */
138
132
  initialData?: Subject[];
139
- /** Optional: A flag to indicate if the parent component is loading data. */
140
133
  isLoading?: boolean;
141
- /** Optional: An async callback function to handle adding a new subject. */
142
134
  onAdd?: (item: {
143
135
  name: string;
144
136
  code: string;
145
137
  }) => Promise<void>;
146
- /** Optional: An async callback function to handle updating an existing subject. */
147
138
  onUpdate?: (item: {
148
139
  id: string;
149
140
  name: string;
150
141
  code: string;
151
142
  }) => Promise<void>;
152
- /** Optional: An async callback function to handle deleting a subject. */
153
143
  onDelete?: (item: Subject) => Promise<void>;
144
+ onBulkAdd?: (items: {
145
+ name: string;
146
+ code: string;
147
+ }[]) => Promise<void>;
154
148
  }
155
- declare function SubjectManager({ initialData, isLoading: isLoadingProp, onAdd, onUpdate, onDelete }: SubjectManagerProps): React__default.JSX.Element;
149
+ declare function SubjectManager({ initialData, isLoading: isLoadingProp, onAdd, onUpdate, onDelete, onBulkAdd }: SubjectManagerProps): React__default.JSX.Element;
156
150
 
157
151
  interface TopicManagerProps {
158
152
  initialData?: Topic[];
@@ -170,8 +164,13 @@ interface TopicManagerProps {
170
164
  subjectCode: string;
171
165
  }) => Promise<void>;
172
166
  onDelete?: (item: Topic) => Promise<void>;
167
+ onBulkAdd?: (items: {
168
+ name: string;
169
+ code: string;
170
+ subjectCode: string;
171
+ }[]) => Promise<void>;
173
172
  }
174
- declare function TopicManager({ initialData, subjects: subjectsProp, isLoading: isLoadingProp, onAdd, onUpdate, onDelete }: TopicManagerProps): React__default.JSX.Element;
173
+ declare function TopicManager({ initialData, subjects: subjectsProp, isLoading: isLoadingProp, onAdd, onUpdate, onDelete, onBulkAdd }: TopicManagerProps): React__default.JSX.Element;
175
174
 
176
175
  interface CategoryManagerProps {
177
176
  initialData?: Category[];
@@ -188,8 +187,13 @@ interface CategoryManagerProps {
188
187
  description?: string;
189
188
  }) => Promise<void>;
190
189
  onDelete?: (item: Category) => Promise<void>;
190
+ onBulkAdd?: (items: {
191
+ name: string;
192
+ code: string;
193
+ description?: string;
194
+ }[]) => Promise<void>;
191
195
  }
192
- declare function CategoryManager({ initialData, isLoading: isLoadingProp, onAdd, onUpdate, onDelete }: CategoryManagerProps): React__default.JSX.Element;
196
+ declare function CategoryManager({ initialData, isLoading: isLoadingProp, onAdd, onUpdate, onDelete, onBulkAdd }: CategoryManagerProps): React__default.JSX.Element;
193
197
 
194
198
  interface GradeLevelManagerProps {
195
199
  initialData?: GradeLevel[];
@@ -204,8 +208,12 @@ interface GradeLevelManagerProps {
204
208
  code: string;
205
209
  }) => Promise<void>;
206
210
  onDelete?: (item: GradeLevel) => Promise<void>;
211
+ onBulkAdd?: (items: {
212
+ name: string;
213
+ code: string;
214
+ }[]) => Promise<void>;
207
215
  }
208
- declare function GradeLevelManager({ initialData, isLoading: isLoadingProp, onAdd, onUpdate, onDelete }: GradeLevelManagerProps): React__default.JSX.Element;
216
+ declare function GradeLevelManager({ initialData, isLoading: isLoadingProp, onAdd, onUpdate, onDelete, onBulkAdd }: GradeLevelManagerProps): React__default.JSX.Element;
209
217
 
210
218
  interface BloomLevelManagerProps {
211
219
  initialData?: BloomLevelType[];
@@ -222,8 +230,13 @@ interface BloomLevelManagerProps {
222
230
  description?: string;
223
231
  }) => Promise<void>;
224
232
  onDelete?: (item: BloomLevelType) => Promise<void>;
233
+ onBulkAdd?: (items: {
234
+ name: string;
235
+ code: string;
236
+ description?: string;
237
+ }[]) => Promise<void>;
225
238
  }
226
- declare function BloomLevelManager({ initialData, isLoading: isLoadingProp, onAdd, onUpdate, onDelete }: BloomLevelManagerProps): React__default.JSX.Element;
239
+ declare function BloomLevelManager({ initialData, isLoading: isLoadingProp, onAdd, onUpdate, onDelete, onBulkAdd }: BloomLevelManagerProps): React__default.JSX.Element;
227
240
 
228
241
  interface QuestionTypeManagerProps {
229
242
  initialData?: QuestionTypeType[];
@@ -240,29 +253,24 @@ interface QuestionTypeManagerProps {
240
253
  description?: string;
241
254
  }) => Promise<void>;
242
255
  onDelete?: (item: QuestionTypeType) => Promise<void>;
256
+ onBulkAdd?: (items: {
257
+ name: string;
258
+ code: string;
259
+ description?: string;
260
+ }[]) => Promise<void>;
243
261
  }
244
- declare function QuestionTypeManager({ initialData, isLoading: isLoadingProp, onAdd, onUpdate, onDelete }: QuestionTypeManagerProps): React__default.JSX.Element;
262
+ declare function QuestionTypeManager({ initialData, isLoading: isLoadingProp, onAdd, onUpdate, onDelete, onBulkAdd }: QuestionTypeManagerProps): React__default.JSX.Element;
245
263
 
246
264
  interface LearningObjectiveManagerProps {
247
- initialData?: LearningObjectiveMetadata[];
265
+ initialData?: LearningObjective[];
248
266
  subjects?: Subject[];
249
267
  isLoading?: boolean;
250
- onAdd?: (item: {
251
- name: string;
252
- code: string;
253
- subjectCode?: string;
254
- description?: string;
255
- }) => Promise<void>;
256
- onUpdate?: (item: {
257
- id: string;
258
- name: string;
259
- code: string;
260
- subjectCode?: string;
261
- description?: string;
262
- }) => Promise<void>;
263
- onDelete?: (item: LearningObjectiveMetadata) => Promise<void>;
268
+ onAdd?: (item: Omit<LearningObjective, 'id'>) => Promise<void>;
269
+ onUpdate?: (item: LearningObjective) => Promise<void>;
270
+ onDelete?: (item: LearningObjective) => Promise<void>;
271
+ onBulkAdd?: (items: Omit<LearningObjective, 'id'>[]) => Promise<void>;
264
272
  }
265
- declare function LearningObjectiveManager({ initialData, subjects: subjectsProp, isLoading: isLoadingProp, onAdd, onUpdate, onDelete }: LearningObjectiveManagerProps): React__default.JSX.Element;
273
+ declare function LearningObjectiveManager({ initialData, subjects: subjectsProp, isLoading: isLoadingProp, onAdd, onUpdate, onDelete, onBulkAdd }: LearningObjectiveManagerProps): React__default.JSX.Element;
266
274
 
267
275
  interface ContextManagerProps {
268
276
  initialData?: Context[];
@@ -279,19 +287,31 @@ interface ContextManagerProps {
279
287
  description?: string;
280
288
  }) => Promise<void>;
281
289
  onDelete?: (item: Context) => Promise<void>;
290
+ onBulkAdd?: (items: {
291
+ name: string;
292
+ code: string;
293
+ description?: string;
294
+ }[]) => Promise<void>;
282
295
  }
283
- declare function ContextManager({ initialData, isLoading: isLoadingProp, onAdd, onUpdate, onDelete }: ContextManagerProps): React__default.JSX.Element;
296
+ declare function ContextManager({ initialData, isLoading: isLoadingProp, onAdd, onUpdate, onDelete, onBulkAdd }: ContextManagerProps): React__default.JSX.Element;
284
297
 
285
298
  interface ApproachManagerProps {
286
299
  initialData?: Approach[];
287
300
  bloomLevels?: BloomLevelType[];
288
301
  questionTypes?: QuestionTypeType[];
289
302
  isLoading?: boolean;
290
- onAdd?: (item: Omit<Approach, 'id' | 'difficulty'>) => Promise<void>;
303
+ onAdd?: (item: Omit<Approach, 'id'>) => Promise<void>;
291
304
  onUpdate?: (item: Approach) => Promise<void>;
292
305
  onDelete?: (item: Approach) => Promise<void>;
306
+ onBulkAdd?: (items: Omit<Approach, 'id'>[]) => Promise<void>;
307
+ }
308
+ declare function ApproachManager({ initialData, bloomLevels: bloomLevelsProp, questionTypes: questionTypesProp, isLoading: isLoadingProp, onAdd, onUpdate, onDelete, onBulkAdd }: ApproachManagerProps): React__default.JSX.Element;
309
+
310
+ interface MetadataImportControlsProps {
311
+ metadataName: string;
312
+ onImport: (records: Record<string, any>[]) => Promise<void>;
293
313
  }
294
- declare function ApproachManager({ initialData, bloomLevels: bloomLevelsProp, questionTypes: questionTypesProp, isLoading: isLoadingProp, onAdd, onUpdate, onDelete }: ApproachManagerProps): React__default.JSX.Element;
314
+ declare function MetadataImportControls({ metadataName, onImport }: MetadataImportControlsProps): React__default.JSX.Element;
295
315
 
296
316
  declare const Toast$1: React.ForwardRefExoticComponent<Omit<ToastPrimitives.ToastProps & React.RefAttributes<HTMLLIElement>, "ref"> & VariantProps<(props?: ({
297
317
  variant?: "default" | "destructive" | null | undefined;
@@ -320,4 +340,4 @@ declare function useToast(): {
320
340
 
321
341
  declare function Toaster(): React.JSX.Element;
322
342
 
323
- export { AIQuestionGeneratorModal as A, BloomLevelManager as B, CategoryManager as C, EditQuestionModal as E, GradeLevelManager as G, ImportQuestionsModal as I, LearningObjectiveManager as L, MetadataTabs as M, QuizAuthoringTool as Q, SelectedQuestionsPanel as S, TopicManager as T, QuestionPreviewModal as a, QuizSettingsForm as b, AIFullQuizGeneratorModal as c, SCORMExportModal as d, APIKeyManagerModal as e, ApiKeySettings as f, QuestionList as g, QuestionFilters as h, QuestionFormDialog as i, SubjectManager as j, QuestionTypeManager as k, ContextManager as l, ApproachManager as m, Toaster as n, toast as t, useToast as u };
343
+ export { AIQuestionGeneratorModal as A, BloomLevelManager as B, CategoryManager as C, EditQuestionModal as E, GradeLevelManager as G, ImportQuestionsModal as I, LearningObjectiveManager as L, MetadataTabs as M, QuizAuthoringTool as Q, SelectedQuestionsPanel as S, TopicManager as T, QuestionPreviewModal as a, QuizSettingsForm as b, AIFullQuizGeneratorModal as c, SCORMExportModal as d, APIKeyManagerModal as e, ApiKeySettings as f, QuestionList as g, QuestionFilters as h, QuestionFormDialog as i, SubjectManager as j, QuestionTypeManager as k, ContextManager as l, ApproachManager as m, MetadataImportControls as n, Toaster as o, toast as t, useToast as u };
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import React__default from 'react';
3
- import { s as QuizConfig, g as QuizQuestion, Q as QuestionTypeStrings, r as QuizSettings } from './quiz-config-o4j2dfsu.js';
4
- import { Subject, Topic, GradeLevel, BloomLevelType, QuestionInBank, QuestionFilters as QuestionFilters$1, Category, QuestionTypeType, LearningObjectiveMetadata, Context, Approach } from './index.js';
3
+ import { s as QuizConfig, g as QuizQuestion, Q as QuestionTypeStrings, r as QuizSettings } from './quiz-config-CwaP-pBs.cjs';
4
+ import { Subject, Topic, GradeLevel, BloomLevelType, QuestionInBank, QuestionFilters as QuestionFilters$1, Category, QuestionTypeType, LearningObjective, Context, Approach } from './index.cjs';
5
5
  import * as class_variance_authority_types from 'class-variance-authority/types';
6
6
  import * as ToastPrimitives from '@radix-ui/react-toast';
7
7
  import { VariantProps } from 'class-variance-authority';
@@ -13,13 +13,6 @@ interface QuizAuthoringToolProps {
13
13
  }
14
14
  declare const QuizAuthoringTool: React__default.FC<QuizAuthoringToolProps>;
15
15
 
16
- interface QuestionPreviewModalProps {
17
- isOpen: boolean;
18
- onClose: () => void;
19
- question: QuizQuestion;
20
- }
21
- declare const QuestionPreviewModal: React__default.FC<QuestionPreviewModalProps>;
22
-
23
16
  interface AIQuestionGeneratorModalProps {
24
17
  isOpen: boolean;
25
18
  onClose: () => void;
@@ -114,6 +107,13 @@ interface SelectedQuestionsPanelProps {
114
107
  }
115
108
  declare const SelectedQuestionsPanel: React__default.FC<SelectedQuestionsPanelProps>;
116
109
 
110
+ interface QuestionPreviewModalProps {
111
+ isOpen: boolean;
112
+ onClose: () => void;
113
+ question: QuizQuestion;
114
+ }
115
+ declare const QuestionPreviewModal: React__default.FC<QuestionPreviewModalProps>;
116
+
117
117
  interface APIKeyManagerModalProps {
118
118
  isOpen: boolean;
119
119
  onClose: () => void;
@@ -128,31 +128,25 @@ declare function ApiKeySettings(): React__default.JSX.Element;
128
128
 
129
129
  declare function MetadataTabs(): React__default.JSX.Element;
130
130
 
131
- /**
132
- * Props for the SubjectManager component.
133
- * When these props are provided, the component operates in "controlled" mode.
134
- * If they are omitted, it falls back to using its internal localStorage service.
135
- */
136
131
  interface SubjectManagerProps {
137
- /** Optional: An array of subjects to display. If provided, the component will not fetch its own data. */
138
132
  initialData?: Subject[];
139
- /** Optional: A flag to indicate if the parent component is loading data. */
140
133
  isLoading?: boolean;
141
- /** Optional: An async callback function to handle adding a new subject. */
142
134
  onAdd?: (item: {
143
135
  name: string;
144
136
  code: string;
145
137
  }) => Promise<void>;
146
- /** Optional: An async callback function to handle updating an existing subject. */
147
138
  onUpdate?: (item: {
148
139
  id: string;
149
140
  name: string;
150
141
  code: string;
151
142
  }) => Promise<void>;
152
- /** Optional: An async callback function to handle deleting a subject. */
153
143
  onDelete?: (item: Subject) => Promise<void>;
144
+ onBulkAdd?: (items: {
145
+ name: string;
146
+ code: string;
147
+ }[]) => Promise<void>;
154
148
  }
155
- declare function SubjectManager({ initialData, isLoading: isLoadingProp, onAdd, onUpdate, onDelete }: SubjectManagerProps): React__default.JSX.Element;
149
+ declare function SubjectManager({ initialData, isLoading: isLoadingProp, onAdd, onUpdate, onDelete, onBulkAdd }: SubjectManagerProps): React__default.JSX.Element;
156
150
 
157
151
  interface TopicManagerProps {
158
152
  initialData?: Topic[];
@@ -170,8 +164,13 @@ interface TopicManagerProps {
170
164
  subjectCode: string;
171
165
  }) => Promise<void>;
172
166
  onDelete?: (item: Topic) => Promise<void>;
167
+ onBulkAdd?: (items: {
168
+ name: string;
169
+ code: string;
170
+ subjectCode: string;
171
+ }[]) => Promise<void>;
173
172
  }
174
- declare function TopicManager({ initialData, subjects: subjectsProp, isLoading: isLoadingProp, onAdd, onUpdate, onDelete }: TopicManagerProps): React__default.JSX.Element;
173
+ declare function TopicManager({ initialData, subjects: subjectsProp, isLoading: isLoadingProp, onAdd, onUpdate, onDelete, onBulkAdd }: TopicManagerProps): React__default.JSX.Element;
175
174
 
176
175
  interface CategoryManagerProps {
177
176
  initialData?: Category[];
@@ -188,8 +187,13 @@ interface CategoryManagerProps {
188
187
  description?: string;
189
188
  }) => Promise<void>;
190
189
  onDelete?: (item: Category) => Promise<void>;
190
+ onBulkAdd?: (items: {
191
+ name: string;
192
+ code: string;
193
+ description?: string;
194
+ }[]) => Promise<void>;
191
195
  }
192
- declare function CategoryManager({ initialData, isLoading: isLoadingProp, onAdd, onUpdate, onDelete }: CategoryManagerProps): React__default.JSX.Element;
196
+ declare function CategoryManager({ initialData, isLoading: isLoadingProp, onAdd, onUpdate, onDelete, onBulkAdd }: CategoryManagerProps): React__default.JSX.Element;
193
197
 
194
198
  interface GradeLevelManagerProps {
195
199
  initialData?: GradeLevel[];
@@ -204,8 +208,12 @@ interface GradeLevelManagerProps {
204
208
  code: string;
205
209
  }) => Promise<void>;
206
210
  onDelete?: (item: GradeLevel) => Promise<void>;
211
+ onBulkAdd?: (items: {
212
+ name: string;
213
+ code: string;
214
+ }[]) => Promise<void>;
207
215
  }
208
- declare function GradeLevelManager({ initialData, isLoading: isLoadingProp, onAdd, onUpdate, onDelete }: GradeLevelManagerProps): React__default.JSX.Element;
216
+ declare function GradeLevelManager({ initialData, isLoading: isLoadingProp, onAdd, onUpdate, onDelete, onBulkAdd }: GradeLevelManagerProps): React__default.JSX.Element;
209
217
 
210
218
  interface BloomLevelManagerProps {
211
219
  initialData?: BloomLevelType[];
@@ -222,8 +230,13 @@ interface BloomLevelManagerProps {
222
230
  description?: string;
223
231
  }) => Promise<void>;
224
232
  onDelete?: (item: BloomLevelType) => Promise<void>;
233
+ onBulkAdd?: (items: {
234
+ name: string;
235
+ code: string;
236
+ description?: string;
237
+ }[]) => Promise<void>;
225
238
  }
226
- declare function BloomLevelManager({ initialData, isLoading: isLoadingProp, onAdd, onUpdate, onDelete }: BloomLevelManagerProps): React__default.JSX.Element;
239
+ declare function BloomLevelManager({ initialData, isLoading: isLoadingProp, onAdd, onUpdate, onDelete, onBulkAdd }: BloomLevelManagerProps): React__default.JSX.Element;
227
240
 
228
241
  interface QuestionTypeManagerProps {
229
242
  initialData?: QuestionTypeType[];
@@ -240,29 +253,24 @@ interface QuestionTypeManagerProps {
240
253
  description?: string;
241
254
  }) => Promise<void>;
242
255
  onDelete?: (item: QuestionTypeType) => Promise<void>;
256
+ onBulkAdd?: (items: {
257
+ name: string;
258
+ code: string;
259
+ description?: string;
260
+ }[]) => Promise<void>;
243
261
  }
244
- declare function QuestionTypeManager({ initialData, isLoading: isLoadingProp, onAdd, onUpdate, onDelete }: QuestionTypeManagerProps): React__default.JSX.Element;
262
+ declare function QuestionTypeManager({ initialData, isLoading: isLoadingProp, onAdd, onUpdate, onDelete, onBulkAdd }: QuestionTypeManagerProps): React__default.JSX.Element;
245
263
 
246
264
  interface LearningObjectiveManagerProps {
247
- initialData?: LearningObjectiveMetadata[];
265
+ initialData?: LearningObjective[];
248
266
  subjects?: Subject[];
249
267
  isLoading?: boolean;
250
- onAdd?: (item: {
251
- name: string;
252
- code: string;
253
- subjectCode?: string;
254
- description?: string;
255
- }) => Promise<void>;
256
- onUpdate?: (item: {
257
- id: string;
258
- name: string;
259
- code: string;
260
- subjectCode?: string;
261
- description?: string;
262
- }) => Promise<void>;
263
- onDelete?: (item: LearningObjectiveMetadata) => Promise<void>;
268
+ onAdd?: (item: Omit<LearningObjective, 'id'>) => Promise<void>;
269
+ onUpdate?: (item: LearningObjective) => Promise<void>;
270
+ onDelete?: (item: LearningObjective) => Promise<void>;
271
+ onBulkAdd?: (items: Omit<LearningObjective, 'id'>[]) => Promise<void>;
264
272
  }
265
- declare function LearningObjectiveManager({ initialData, subjects: subjectsProp, isLoading: isLoadingProp, onAdd, onUpdate, onDelete }: LearningObjectiveManagerProps): React__default.JSX.Element;
273
+ declare function LearningObjectiveManager({ initialData, subjects: subjectsProp, isLoading: isLoadingProp, onAdd, onUpdate, onDelete, onBulkAdd }: LearningObjectiveManagerProps): React__default.JSX.Element;
266
274
 
267
275
  interface ContextManagerProps {
268
276
  initialData?: Context[];
@@ -279,19 +287,31 @@ interface ContextManagerProps {
279
287
  description?: string;
280
288
  }) => Promise<void>;
281
289
  onDelete?: (item: Context) => Promise<void>;
290
+ onBulkAdd?: (items: {
291
+ name: string;
292
+ code: string;
293
+ description?: string;
294
+ }[]) => Promise<void>;
282
295
  }
283
- declare function ContextManager({ initialData, isLoading: isLoadingProp, onAdd, onUpdate, onDelete }: ContextManagerProps): React__default.JSX.Element;
296
+ declare function ContextManager({ initialData, isLoading: isLoadingProp, onAdd, onUpdate, onDelete, onBulkAdd }: ContextManagerProps): React__default.JSX.Element;
284
297
 
285
298
  interface ApproachManagerProps {
286
299
  initialData?: Approach[];
287
300
  bloomLevels?: BloomLevelType[];
288
301
  questionTypes?: QuestionTypeType[];
289
302
  isLoading?: boolean;
290
- onAdd?: (item: Omit<Approach, 'id' | 'difficulty'>) => Promise<void>;
303
+ onAdd?: (item: Omit<Approach, 'id'>) => Promise<void>;
291
304
  onUpdate?: (item: Approach) => Promise<void>;
292
305
  onDelete?: (item: Approach) => Promise<void>;
306
+ onBulkAdd?: (items: Omit<Approach, 'id'>[]) => Promise<void>;
307
+ }
308
+ declare function ApproachManager({ initialData, bloomLevels: bloomLevelsProp, questionTypes: questionTypesProp, isLoading: isLoadingProp, onAdd, onUpdate, onDelete, onBulkAdd }: ApproachManagerProps): React__default.JSX.Element;
309
+
310
+ interface MetadataImportControlsProps {
311
+ metadataName: string;
312
+ onImport: (records: Record<string, any>[]) => Promise<void>;
293
313
  }
294
- declare function ApproachManager({ initialData, bloomLevels: bloomLevelsProp, questionTypes: questionTypesProp, isLoading: isLoadingProp, onAdd, onUpdate, onDelete }: ApproachManagerProps): React__default.JSX.Element;
314
+ declare function MetadataImportControls({ metadataName, onImport }: MetadataImportControlsProps): React__default.JSX.Element;
295
315
 
296
316
  declare const Toast$1: React.ForwardRefExoticComponent<Omit<ToastPrimitives.ToastProps & React.RefAttributes<HTMLLIElement>, "ref"> & VariantProps<(props?: ({
297
317
  variant?: "default" | "destructive" | null | undefined;
@@ -320,4 +340,4 @@ declare function useToast(): {
320
340
 
321
341
  declare function Toaster(): React.JSX.Element;
322
342
 
323
- export { AIQuestionGeneratorModal as A, BloomLevelManager as B, CategoryManager as C, EditQuestionModal as E, GradeLevelManager as G, ImportQuestionsModal as I, LearningObjectiveManager as L, MetadataTabs as M, QuizAuthoringTool as Q, SelectedQuestionsPanel as S, TopicManager as T, QuestionPreviewModal as a, QuizSettingsForm as b, AIFullQuizGeneratorModal as c, SCORMExportModal as d, APIKeyManagerModal as e, ApiKeySettings as f, QuestionList as g, QuestionFilters as h, QuestionFormDialog as i, SubjectManager as j, QuestionTypeManager as k, ContextManager as l, ApproachManager as m, Toaster as n, toast as t, useToast as u };
343
+ export { AIQuestionGeneratorModal as A, BloomLevelManager as B, CategoryManager as C, EditQuestionModal as E, GradeLevelManager as G, ImportQuestionsModal as I, LearningObjectiveManager as L, MetadataTabs as M, QuizAuthoringTool as Q, SelectedQuestionsPanel as S, TopicManager as T, QuestionPreviewModal as a, QuizSettingsForm as b, AIFullQuizGeneratorModal as c, SCORMExportModal as d, APIKeyManagerModal as e, ApiKeySettings as f, QuestionList as g, QuestionFilters as h, QuestionFormDialog as i, SubjectManager as j, QuestionTypeManager as k, ContextManager as l, ApproachManager as m, MetadataImportControls as n, Toaster as o, toast as t, useToast as u };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thanh01.pmt/interactive-quiz-kit",
3
- "version": "1.0.66",
3
+ "version": "1.0.67",
4
4
  "description": "A comprehensive library for creating, managing, and playing interactive quizzes, with AI generation and SCORM support.",
5
5
  "keywords": [
6
6
  "react",