@superbuilders/incept-renderer 0.1.4 → 0.1.5

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,4 +1,4 @@
1
- import { c as DisplayItem, F as FormShape, V as ValidateResult } from '../types-BqqQtPL8.js';
1
+ import { g as DisplayItem, F as FormShape, V as ValidateResult } from '../types-B7YRTQKt.js';
2
2
 
3
3
  declare function buildDisplayModelFromXml(qtiXml: string): {
4
4
  itemKey: string;
@@ -1,9 +1,9 @@
1
- import { f as ChoiceInteraction, A as AssessmentItem } from '../schema-C3cRJWrK.js';
2
- export { C as ChoiceCorrectness, c as ContentBlockRenderer, a as ContentBlockRendererProps, d as QTIRenderer, Q as QTIRendererProps, b as QTITheme, R as ResponseFeedback } from '../schema-C3cRJWrK.js';
1
+ import { e as ChoiceInteraction, d as AssessmentItem } from '../schema-DZoGAQdF.js';
2
+ export { C as ChoiceCorrectness, h as ContentBlockRenderer, a as ContentBlockRendererProps, i as QTIRenderer, Q as QTIRendererProps, b as QTITheme, R as ResponseFeedback } from '../schema-DZoGAQdF.js';
3
3
  import * as react_jsx_runtime from 'react/jsx-runtime';
4
4
  import { EvaluationResult } from '../types.js';
5
5
  import * as React from 'react';
6
- import { d as DisplayInlineEmbed, e as DisplayTextEmbed, f as DisplayGap } from '../types-BqqQtPL8.js';
6
+ import { f as DisplayInlineEmbed, h as DisplayTextEmbed, d as DisplayGap } from '../types-B7YRTQKt.js';
7
7
  import 'zod';
8
8
 
9
9
  interface ChoiceInteractionRendererProps {
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import { A as AssessmentItem } from './schema-C3cRJWrK.js';
2
- export { e as AnyInteraction, i as AssessmentItemSchema, C as ChoiceCorrectness, f as ChoiceInteraction, c as ContentBlockRenderer, a as ContentBlockRendererProps, F as FeedbackBlock, d as QTIRenderer, Q as QTIRendererProps, b as QTITheme, g as ResponseDeclaration, R as ResponseFeedback, h as ResponseProcessing } from './schema-C3cRJWrK.js';
3
- export { D as DisplayBlock, a as DisplayChoice, b as DisplayChoiceInteraction, c as DisplayItem, F as FormShape, V as ValidateResult } from './types-BqqQtPL8.js';
1
+ import { d as AssessmentItem } from './schema-DZoGAQdF.js';
2
+ export { c as AnyInteraction, j as AssessmentItemSchema, C as ChoiceCorrectness, e as ChoiceInteraction, h as ContentBlockRenderer, a as ContentBlockRendererProps, F as FeedbackBlock, i as QTIRenderer, Q as QTIRendererProps, b as QTITheme, f as ResponseDeclaration, R as ResponseFeedback, g as ResponseProcessing } from './schema-DZoGAQdF.js';
3
+ export { a as DisplayBlock, b as DisplayChoice, c as DisplayChoiceInteraction, g as DisplayItem, F as FormShape, V as ValidateResult } from './types-B7YRTQKt.js';
4
4
  import 'react/jsx-runtime';
5
5
  import 'zod';
6
6
 
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { D as DisplayBlock, c as DisplayItem } from './types-BqqQtPL8.js';
2
+ import { a as DisplayBlock, g as DisplayItem } from './types-B7YRTQKt.js';
3
3
  import { z } from 'zod';
4
4
 
5
5
  /** Theme options for the QTI renderer */
@@ -574,4 +574,4 @@ declare const AssessmentItemSchema: z.ZodObject<{
574
574
  }, z.core.$strip>;
575
575
  type AssessmentItem = z.infer<typeof AssessmentItemSchema>;
576
576
 
577
- export { type AssessmentItem as A, type ChoiceCorrectness as C, type FeedbackBlock as F, type GapMatchInteraction as G, type InlineChoiceInteraction as I, type MatchInteraction as M, type OrderInteraction as O, type QTIRendererProps as Q, type ResponseFeedback as R, type TextEntryInteraction as T, type ContentBlockRendererProps as a, type QTITheme as b, ContentBlockRenderer as c, QTIRenderer as d, type AnyInteraction as e, type ChoiceInteraction as f, type ResponseDeclaration as g, type ResponseProcessing as h, AssessmentItemSchema as i, type AnyCondition as j };
577
+ export { type AnyCondition as A, type ChoiceCorrectness as C, type FeedbackBlock as F, type GapMatchInteraction as G, type InlineChoiceInteraction as I, type MatchInteraction as M, type OrderInteraction as O, type QTIRendererProps as Q, type ResponseFeedback as R, type TextEntryInteraction as T, type ContentBlockRendererProps as a, type QTITheme as b, type AnyInteraction as c, type AssessmentItem as d, type ChoiceInteraction as e, type ResponseDeclaration as f, type ResponseProcessing as g, ContentBlockRenderer as h, QTIRenderer as i, AssessmentItemSchema as j };
@@ -0,0 +1,346 @@
1
+ /* src/styles/themes.css */
2
+ :root {
3
+ --qti-container-bg: var(--background, #ffffff);
4
+ --qti-container-border: var(--border, #e5e5e5);
5
+ --qti-container-radius: var(--radius, 0.5rem);
6
+ --qti-container-shadow: none;
7
+ --qti-container-border-width: 2px;
8
+ --qti-font-family: inherit;
9
+ --qti-font-weight: 500;
10
+ --qti-tracking: normal;
11
+ --qti-feedback-bg: var(--background, #ffffff);
12
+ --qti-feedback-border: var(--border, #e5e5e5);
13
+ --qti-feedback-correct-text: #22c55e;
14
+ --qti-feedback-correct-icon-bg: #22c55e;
15
+ --qti-feedback-incorrect-text: #ef4444;
16
+ --qti-feedback-incorrect-icon-bg: #ef4444;
17
+ --qti-choice-bg: var(--background, #ffffff);
18
+ --qti-choice-border: var(--accent, #f4f4f5);
19
+ --qti-choice-hover-bg: var(--muted, #f4f4f5);
20
+ --qti-choice-selected-bg: oklch(0.9 0.1 220 / 0.3);
21
+ --qti-choice-selected-border: oklch(0.6 0.2 250);
22
+ --qti-choice-correct-bg: oklch(0.9 0.15 140 / 0.3);
23
+ --qti-choice-correct-border: #22c55e;
24
+ --qti-choice-incorrect-bg: oklch(0.9 0.1 25 / 0.3);
25
+ --qti-choice-incorrect-border: #ef4444;
26
+ --qti-button-bg: var(--primary, #18181b);
27
+ --qti-button-text: var(--primary-foreground, #ffffff);
28
+ --qti-button-border: var(--primary, #18181b);
29
+ --qti-button-shadow: none;
30
+ --qti-button-radius: var(--radius, 0.5rem);
31
+ --qti-button-font-weight: 700;
32
+ }
33
+ .dark {
34
+ --qti-choice-selected-bg: oklch(0.3 0.05 228 / 0.4);
35
+ --qti-choice-correct-bg: oklch(0.25 0.05 140 / 0.4);
36
+ --qti-choice-incorrect-bg: oklch(0.25 0.05 25 / 0.4);
37
+ }
38
+ [data-qti-theme=neobrutalist] {
39
+ --qti-container-bg: #ffffff;
40
+ --qti-container-border: #000000;
41
+ --qti-container-radius: 0px;
42
+ --qti-container-shadow: 8px 8px 0px 0px rgba(0, 0, 0, 1);
43
+ --qti-container-border-width: 4px;
44
+ --qti-font-family:
45
+ ui-monospace,
46
+ SFMono-Regular,
47
+ "SF Mono",
48
+ Menlo,
49
+ Consolas,
50
+ monospace;
51
+ --qti-font-weight: 700;
52
+ --qti-tracking: -0.025em;
53
+ --qti-feedback-bg: #ffffff;
54
+ --qti-feedback-border: #000000;
55
+ --qti-feedback-correct-text: #000000;
56
+ --qti-feedback-correct-icon-bg: #00ff00;
57
+ --qti-feedback-incorrect-text: #000000;
58
+ --qti-feedback-incorrect-icon-bg: #ff0000;
59
+ --qti-choice-bg: #ffffff;
60
+ --qti-choice-border: #000000;
61
+ --qti-choice-hover-bg: #f0f0f0;
62
+ --qti-choice-selected-bg: #a8e6cf;
63
+ --qti-choice-selected-border: #000000;
64
+ --qti-choice-correct-bg: #bfff00;
65
+ --qti-choice-correct-border: #000000;
66
+ --qti-choice-incorrect-bg: #ff6b6b;
67
+ --qti-choice-incorrect-border: #000000;
68
+ --qti-button-bg: #ff90e8;
69
+ --qti-button-text: #000000;
70
+ --qti-button-border: #000000;
71
+ --qti-button-shadow: 4px 4px 0px 0px rgba(0, 0, 0, 1);
72
+ --qti-button-radius: 0px;
73
+ --qti-button-font-weight: 900;
74
+ }
75
+ .dark[data-qti-theme=neobrutalist],
76
+ [data-qti-theme=neobrutalist] .dark {
77
+ --qti-container-bg: #1a1a2e;
78
+ --qti-container-border: #ffffff;
79
+ --qti-container-shadow: 8px 8px 0px 0px rgba(255, 255, 255, 0.8);
80
+ --qti-feedback-bg: #1a1a2e;
81
+ --qti-feedback-border: #ffffff;
82
+ --qti-feedback-correct-text: #bfff00;
83
+ --qti-feedback-incorrect-text: #ff6b6b;
84
+ --qti-choice-bg: #1a1a2e;
85
+ --qti-choice-border: #ffffff;
86
+ --qti-choice-hover-bg: #2a2a4e;
87
+ --qti-choice-selected-bg: #2d5a27;
88
+ --qti-choice-selected-border: #bfff00;
89
+ --qti-choice-correct-bg: #2d5a27;
90
+ --qti-choice-correct-border: #bfff00;
91
+ --qti-choice-incorrect-bg: #5a2727;
92
+ --qti-choice-incorrect-border: #ff6b6b;
93
+ --qti-button-bg: #ff90e8;
94
+ --qti-button-text: #000000;
95
+ --qti-button-border: #ffffff;
96
+ --qti-button-shadow: 4px 4px 0px 0px rgba(255, 255, 255, 0.8);
97
+ }
98
+ .qti-container {
99
+ font-family: var(--qti-font-family);
100
+ font-weight: var(--qti-font-weight);
101
+ letter-spacing: var(--qti-tracking);
102
+ }
103
+ .qti-card {
104
+ background: var(--qti-container-bg);
105
+ border: var(--qti-container-border-width) solid var(--qti-container-border);
106
+ border-radius: var(--qti-container-radius);
107
+ box-shadow: var(--qti-container-shadow);
108
+ }
109
+ .qti-feedback {
110
+ border-width: var(--qti-container-border-width);
111
+ border-radius: var(--qti-container-radius);
112
+ font-family: var(--qti-font-family);
113
+ background: var(--qti-feedback-bg);
114
+ border-color: var(--qti-feedback-border);
115
+ }
116
+ .qti-feedback[data-correct=true] {
117
+ color: var(--qti-feedback-correct-text);
118
+ }
119
+ .qti-feedback[data-correct=false] {
120
+ color: var(--qti-feedback-incorrect-text);
121
+ }
122
+ .qti-feedback-icon[data-correct=true] {
123
+ background: var(--qti-feedback-correct-icon-bg);
124
+ }
125
+ .qti-feedback-icon[data-correct=false] {
126
+ background: var(--qti-feedback-incorrect-icon-bg);
127
+ }
128
+ .qti-choice {
129
+ background: var(--qti-choice-bg);
130
+ border: var(--qti-container-border-width) solid var(--qti-choice-border);
131
+ border-radius: var(--qti-container-radius);
132
+ transition: all 0.15s ease;
133
+ }
134
+ .qti-choice:hover:not([data-disabled=true]) {
135
+ background: var(--qti-choice-hover-bg);
136
+ }
137
+ .qti-choice[data-selected=true] {
138
+ background: var(--qti-choice-selected-bg);
139
+ border-color: var(--qti-choice-selected-border);
140
+ }
141
+ .qti-choice[data-correct=true] {
142
+ background: var(--qti-choice-correct-bg);
143
+ border-color: var(--qti-choice-correct-border);
144
+ }
145
+ .qti-choice[data-correct=false] {
146
+ background: var(--qti-choice-incorrect-bg);
147
+ border-color: var(--qti-choice-incorrect-border);
148
+ }
149
+ .qti-button {
150
+ background: var(--qti-button-bg);
151
+ color: var(--qti-button-text);
152
+ border: var(--qti-container-border-width) solid var(--qti-button-border);
153
+ border-radius: var(--qti-button-radius);
154
+ box-shadow: var(--qti-button-shadow);
155
+ font-family: var(--qti-font-family);
156
+ font-weight: var(--qti-button-font-weight);
157
+ transition: all 0.1s ease;
158
+ }
159
+ .qti-button:hover:not(:disabled) {
160
+ transform: translate(2px, 2px);
161
+ }
162
+ .qti-button:active:not(:disabled) {
163
+ transform: translate(4px, 4px);
164
+ box-shadow: none;
165
+ }
166
+ [data-qti-theme=neobrutalist] .qti-choice {
167
+ box-shadow: 4px 4px 0px 0px rgba(0, 0, 0, 1);
168
+ }
169
+ [data-qti-theme=neobrutalist] .qti-choice:hover:not([data-disabled=true]) {
170
+ transform: translate(2px, 2px);
171
+ box-shadow: 2px 2px 0px 0px rgba(0, 0, 0, 1);
172
+ }
173
+ [data-qti-theme=neobrutalist] .qti-choice[data-selected=true] {
174
+ transform: translate(2px, 2px);
175
+ box-shadow: 2px 2px 0px 0px rgba(0, 0, 0, 1);
176
+ }
177
+ [data-qti-theme=neobrutalist] .qti-feedback {
178
+ box-shadow: 6px 6px 0px 0px rgba(0, 0, 0, 1);
179
+ }
180
+ [data-qti-theme=neobrutalist] .qti-button {
181
+ text-transform: uppercase;
182
+ letter-spacing: 0.05em;
183
+ }
184
+ [data-qti-theme=neobrutalist] .qti-button:hover:not(:disabled) {
185
+ box-shadow: 2px 2px 0px 0px rgba(0, 0, 0, 1);
186
+ }
187
+ [data-qti-theme=neobrutalist] .qti-button:active:not(:disabled) {
188
+ transform: translate(4px, 4px);
189
+ box-shadow: none;
190
+ }
191
+ .dark[data-qti-theme=neobrutalist] .qti-choice,
192
+ [data-qti-theme=neobrutalist] .dark .qti-choice {
193
+ box-shadow: 4px 4px 0px 0px rgba(255, 255, 255, 0.8);
194
+ }
195
+ .dark[data-qti-theme=neobrutalist] .qti-choice:hover:not([data-disabled=true]),
196
+ [data-qti-theme=neobrutalist] .dark .qti-choice:hover:not([data-disabled=true]) {
197
+ box-shadow: 2px 2px 0px 0px rgba(255, 255, 255, 0.8);
198
+ }
199
+ .dark[data-qti-theme=neobrutalist] .qti-feedback,
200
+ [data-qti-theme=neobrutalist] .dark .qti-feedback {
201
+ box-shadow: 6px 6px 0px 0px rgba(255, 255, 255, 0.8);
202
+ }
203
+ [data-qti-theme=neobrutalist] [data-slot=field-label]:has(> [data-slot=field]) {
204
+ border-radius: 0 !important;
205
+ border-width: 4px !important;
206
+ border-color: #000000 !important;
207
+ box-shadow: 4px 4px 0px 0px rgba(0, 0, 0, 1) !important;
208
+ background: var(--qti-choice-bg) !important;
209
+ font-family: var(--qti-font-family) !important;
210
+ font-weight: var(--qti-font-weight) !important;
211
+ letter-spacing: var(--qti-tracking) !important;
212
+ transition: all 0.1s ease !important;
213
+ }
214
+ [data-qti-theme=neobrutalist] [data-slot=field-label]:has(> [data-slot=field]):hover {
215
+ transform: translate(2px, 2px) !important;
216
+ box-shadow: 2px 2px 0px 0px rgba(0, 0, 0, 1) !important;
217
+ background: var(--qti-choice-hover-bg) !important;
218
+ }
219
+ [data-qti-theme=neobrutalist] [data-slot=field-label]:has(> [data-slot=field]):has([data-state=checked]) {
220
+ background: var(--qti-choice-selected-bg) !important;
221
+ border-color: #000000 !important;
222
+ transform: translate(2px, 2px) !important;
223
+ box-shadow: 2px 2px 0px 0px rgba(0, 0, 0, 1) !important;
224
+ }
225
+ [data-qti-theme=neobrutalist] [data-slot=field-label][data-palette=owl]:has(> [data-slot=field]):has([data-state=checked]) {
226
+ background: var(--qti-choice-correct-bg) !important;
227
+ border-color: var(--qti-choice-correct-border) !important;
228
+ color: #000000 !important;
229
+ }
230
+ [data-qti-theme=neobrutalist] [data-slot=field-label][data-palette=cardinal]:has(> [data-slot=field]):has([data-state=checked]) {
231
+ background: var(--qti-choice-incorrect-bg) !important;
232
+ border-color: var(--qti-choice-incorrect-border) !important;
233
+ color: #000000 !important;
234
+ }
235
+ [data-qti-theme=neobrutalist] [data-slot=field-label],
236
+ [data-qti-theme=neobrutalist] [data-slot=field-label] *,
237
+ [data-qti-theme=neobrutalist] [data-slot=field-content],
238
+ [data-qti-theme=neobrutalist] [data-slot=field-content] * {
239
+ color: #000000 !important;
240
+ }
241
+ [data-qti-theme=neobrutalist] [data-slot=choice-indicator][data-state=checked] {
242
+ color: #ffffff !important;
243
+ }
244
+ [data-qti-theme=neobrutalist] [data-slot=choice-indicator] {
245
+ border-radius: 0 !important;
246
+ border-width: 3px !important;
247
+ border-color: #000000 !important;
248
+ }
249
+ [data-qti-theme=neobrutalist] [data-slot=choice-indicator][data-state=checked] {
250
+ background: #000000 !important;
251
+ color: #ffffff !important;
252
+ }
253
+ [data-qti-theme=neobrutalist] [data-slot=choice-indicator][data-palette=owl][data-state=checked] {
254
+ background: var(--qti-feedback-correct-icon-bg) !important;
255
+ }
256
+ [data-qti-theme=neobrutalist] [data-slot=choice-indicator][data-palette=cardinal][data-state=checked] {
257
+ background: var(--qti-feedback-incorrect-icon-bg) !important;
258
+ }
259
+ [data-qti-theme=neobrutalist] output[aria-live=polite] {
260
+ border-left-width: 4px !important;
261
+ border-color: #000000 !important;
262
+ }
263
+ [data-qti-theme=neobrutalist] input[type=text],
264
+ [data-qti-theme=neobrutalist] textarea,
265
+ [data-qti-theme=neobrutalist] select {
266
+ border-radius: 0 !important;
267
+ border-width: 3px !important;
268
+ border-color: #000000 !important;
269
+ font-family: var(--qti-font-family) !important;
270
+ box-shadow: 3px 3px 0px 0px rgba(0, 0, 0, 1) !important;
271
+ }
272
+ [data-qti-theme=neobrutalist] input[type=text]:focus,
273
+ [data-qti-theme=neobrutalist] textarea:focus,
274
+ [data-qti-theme=neobrutalist] select:focus {
275
+ outline: none !important;
276
+ box-shadow: 2px 2px 0px 0px rgba(0, 0, 0, 1) !important;
277
+ transform: translate(1px, 1px);
278
+ }
279
+ [data-qti-theme=neobrutalist] [data-slot=progress] {
280
+ border-radius: 0 !important;
281
+ border: 2px solid #000000 !important;
282
+ background: #ffffff !important;
283
+ }
284
+ [data-qti-theme=neobrutalist] [data-slot=progress] > div {
285
+ border-radius: 0 !important;
286
+ background: var(--qti-button-bg) !important;
287
+ }
288
+ .dark[data-qti-theme=neobrutalist] [data-slot=field-label]:has(> [data-slot=field]),
289
+ [data-qti-theme=neobrutalist] .dark [data-slot=field-label]:has(> [data-slot=field]) {
290
+ border-color: #ffffff !important;
291
+ box-shadow: 4px 4px 0px 0px rgba(255, 255, 255, 0.8) !important;
292
+ background: var(--qti-choice-bg) !important;
293
+ }
294
+ .dark[data-qti-theme=neobrutalist] [data-slot=field-label]:has(> [data-slot=field]):hover,
295
+ [data-qti-theme=neobrutalist] .dark [data-slot=field-label]:has(> [data-slot=field]):hover {
296
+ box-shadow: 2px 2px 0px 0px rgba(255, 255, 255, 0.8) !important;
297
+ }
298
+ .dark[data-qti-theme=neobrutalist] [data-slot=choice-indicator],
299
+ [data-qti-theme=neobrutalist] .dark [data-slot=choice-indicator] {
300
+ border-color: #ffffff !important;
301
+ }
302
+ .dark[data-qti-theme=neobrutalist] input[type=text],
303
+ .dark[data-qti-theme=neobrutalist] textarea,
304
+ .dark[data-qti-theme=neobrutalist] select,
305
+ [data-qti-theme=neobrutalist] .dark input[type=text],
306
+ [data-qti-theme=neobrutalist] .dark textarea,
307
+ [data-qti-theme=neobrutalist] .dark select {
308
+ border-color: #ffffff !important;
309
+ box-shadow: 3px 3px 0px 0px rgba(255, 255, 255, 0.8) !important;
310
+ }
311
+ .dark[data-qti-theme=neobrutalist] [data-slot=field-label],
312
+ .dark[data-qti-theme=neobrutalist] [data-slot=field-label] *,
313
+ .dark[data-qti-theme=neobrutalist] [data-slot=field-content],
314
+ .dark[data-qti-theme=neobrutalist] [data-slot=field-content] *,
315
+ [data-qti-theme=neobrutalist] .dark [data-slot=field-label],
316
+ [data-qti-theme=neobrutalist] .dark [data-slot=field-label] *,
317
+ [data-qti-theme=neobrutalist] .dark [data-slot=field-content],
318
+ [data-qti-theme=neobrutalist] .dark [data-slot=field-content] * {
319
+ color: #ffffff !important;
320
+ }
321
+ .dark[data-qti-theme=neobrutalist] [data-slot=choice-indicator][data-state=checked],
322
+ [data-qti-theme=neobrutalist] .dark [data-slot=choice-indicator][data-state=checked] {
323
+ color: #000000 !important;
324
+ }
325
+ .qti-html-content {
326
+ color: inherit !important;
327
+ }
328
+ .qti-html-content *,
329
+ .qti-html-content p,
330
+ .qti-html-content div,
331
+ .qti-html-content span,
332
+ .qti-html-content li {
333
+ color: inherit !important;
334
+ }
335
+ .qti-html-content strong,
336
+ .qti-html-content b {
337
+ font-weight: bold;
338
+ }
339
+ .qti-html-content em,
340
+ .qti-html-content i {
341
+ font-style: italic;
342
+ }
343
+ .qti-html-content p {
344
+ margin-bottom: 0.5rem;
345
+ }
346
+ /*# sourceMappingURL=themes.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/styles/themes.css"],"sourcesContent":["/* ============================================\n QTI THEME SYSTEM\n ============================================ */\n\n/* QTI Theme Variables - Defaults */\n:root {\n\t/* QTI Container */\n\t--qti-container-bg: var(--background, #ffffff);\n\t--qti-container-border: var(--border, #e5e5e5);\n\t--qti-container-radius: var(--radius, 0.5rem);\n\t--qti-container-shadow: none;\n\t--qti-container-border-width: 2px;\n\n\t/* QTI Typography */\n\t--qti-font-family: inherit;\n\t--qti-font-weight: 500;\n\t--qti-tracking: normal;\n\n\t/* QTI Feedback - Neutral (same for correct/incorrect) */\n\t--qti-feedback-bg: var(--background, #ffffff);\n\t--qti-feedback-border: var(--border, #e5e5e5);\n\t--qti-feedback-correct-text: #22c55e;\n\t--qti-feedback-correct-icon-bg: #22c55e;\n\t--qti-feedback-incorrect-text: #ef4444;\n\t--qti-feedback-incorrect-icon-bg: #ef4444;\n\n\t/* QTI Choice */\n\t--qti-choice-bg: var(--background, #ffffff);\n\t--qti-choice-border: var(--accent, #f4f4f5);\n\t--qti-choice-hover-bg: var(--muted, #f4f4f5);\n\t--qti-choice-selected-bg: oklch(0.9 0.1 220 / 0.3);\n\t--qti-choice-selected-border: oklch(0.6 0.2 250);\n\t--qti-choice-correct-bg: oklch(0.9 0.15 140 / 0.3);\n\t--qti-choice-correct-border: #22c55e;\n\t--qti-choice-incorrect-bg: oklch(0.9 0.1 25 / 0.3);\n\t--qti-choice-incorrect-border: #ef4444;\n\n\t/* QTI Button */\n\t--qti-button-bg: var(--primary, #18181b);\n\t--qti-button-text: var(--primary-foreground, #ffffff);\n\t--qti-button-border: var(--primary, #18181b);\n\t--qti-button-shadow: none;\n\t--qti-button-radius: var(--radius, 0.5rem);\n\t--qti-button-font-weight: 700;\n}\n\n/* Dark mode adjustments for default theme */\n.dark {\n\t--qti-choice-selected-bg: oklch(0.3 0.05 228 / 0.4);\n\t--qti-choice-correct-bg: oklch(0.25 0.05 140 / 0.4);\n\t--qti-choice-incorrect-bg: oklch(0.25 0.05 25 / 0.4);\n}\n\n/* ============================================\n NEOBRUTALIST THEME\n ============================================ */\n\n[data-qti-theme=\"neobrutalist\"] {\n\t/* Container */\n\t--qti-container-bg: #ffffff;\n\t--qti-container-border: #000000;\n\t--qti-container-radius: 0px;\n\t--qti-container-shadow: 8px 8px 0px 0px rgba(0, 0, 0, 1);\n\t--qti-container-border-width: 4px;\n\n\t/* Typography */\n\t--qti-font-family: ui-monospace, SFMono-Regular, \"SF Mono\", Menlo, Consolas, monospace;\n\t--qti-font-weight: 700;\n\t--qti-tracking: -0.025em;\n\n\t/* Feedback - Neutral white background */\n\t--qti-feedback-bg: #ffffff;\n\t--qti-feedback-border: #000000;\n\t--qti-feedback-correct-text: #000000;\n\t--qti-feedback-correct-icon-bg: #00ff00;\n\t--qti-feedback-incorrect-text: #000000;\n\t--qti-feedback-incorrect-icon-bg: #ff0000;\n\n\t/* Choice */\n\t--qti-choice-bg: #ffffff;\n\t--qti-choice-border: #000000;\n\t--qti-choice-hover-bg: #f0f0f0;\n\t--qti-choice-selected-bg: #a8e6cf;\n\t--qti-choice-selected-border: #000000;\n\t--qti-choice-correct-bg: #bfff00;\n\t--qti-choice-correct-border: #000000;\n\t--qti-choice-incorrect-bg: #ff6b6b;\n\t--qti-choice-incorrect-border: #000000;\n\n\t/* Button (Hot Pink) */\n\t--qti-button-bg: #ff90e8;\n\t--qti-button-text: #000000;\n\t--qti-button-border: #000000;\n\t--qti-button-shadow: 4px 4px 0px 0px rgba(0, 0, 0, 1);\n\t--qti-button-radius: 0px;\n\t--qti-button-font-weight: 900;\n}\n\n/* Neobrutalist dark mode */\n.dark[data-qti-theme=\"neobrutalist\"],\n[data-qti-theme=\"neobrutalist\"] .dark {\n\t--qti-container-bg: #1a1a2e;\n\t--qti-container-border: #ffffff;\n\t--qti-container-shadow: 8px 8px 0px 0px rgba(255, 255, 255, 0.8);\n\n\t--qti-feedback-bg: #1a1a2e;\n\t--qti-feedback-border: #ffffff;\n\t--qti-feedback-correct-text: #bfff00;\n\t--qti-feedback-incorrect-text: #ff6b6b;\n\n\t--qti-choice-bg: #1a1a2e;\n\t--qti-choice-border: #ffffff;\n\t--qti-choice-hover-bg: #2a2a4e;\n\t--qti-choice-selected-bg: #2d5a27;\n\t--qti-choice-selected-border: #bfff00;\n\t--qti-choice-correct-bg: #2d5a27;\n\t--qti-choice-correct-border: #bfff00;\n\t--qti-choice-incorrect-bg: #5a2727;\n\t--qti-choice-incorrect-border: #ff6b6b;\n\n\t--qti-button-bg: #ff90e8;\n\t--qti-button-text: #000000;\n\t--qti-button-border: #ffffff;\n\t--qti-button-shadow: 4px 4px 0px 0px rgba(255, 255, 255, 0.8);\n}\n\n/* ============================================\n QTI COMPONENT STYLES\n ============================================ */\n\n/* QTI Container wrapper */\n.qti-container {\n\tfont-family: var(--qti-font-family);\n\tfont-weight: var(--qti-font-weight);\n\tletter-spacing: var(--qti-tracking);\n}\n\n/* QTI Card/Panel */\n.qti-card {\n\tbackground: var(--qti-container-bg);\n\tborder: var(--qti-container-border-width) solid var(--qti-container-border);\n\tborder-radius: var(--qti-container-radius);\n\tbox-shadow: var(--qti-container-shadow);\n}\n\n/* QTI Feedback Block */\n.qti-feedback {\n\tborder-width: var(--qti-container-border-width);\n\tborder-radius: var(--qti-container-radius);\n\tfont-family: var(--qti-font-family);\n\tbackground: var(--qti-feedback-bg);\n\tborder-color: var(--qti-feedback-border);\n}\n\n.qti-feedback[data-correct=\"true\"] {\n\tcolor: var(--qti-feedback-correct-text);\n}\n\n.qti-feedback[data-correct=\"false\"] {\n\tcolor: var(--qti-feedback-incorrect-text);\n}\n\n.qti-feedback-icon[data-correct=\"true\"] {\n\tbackground: var(--qti-feedback-correct-icon-bg);\n}\n\n.qti-feedback-icon[data-correct=\"false\"] {\n\tbackground: var(--qti-feedback-incorrect-icon-bg);\n}\n\n/* QTI Choice Field */\n.qti-choice {\n\tbackground: var(--qti-choice-bg);\n\tborder: var(--qti-container-border-width) solid var(--qti-choice-border);\n\tborder-radius: var(--qti-container-radius);\n\ttransition: all 0.15s ease;\n}\n\n.qti-choice:hover:not([data-disabled=\"true\"]) {\n\tbackground: var(--qti-choice-hover-bg);\n}\n\n.qti-choice[data-selected=\"true\"] {\n\tbackground: var(--qti-choice-selected-bg);\n\tborder-color: var(--qti-choice-selected-border);\n}\n\n.qti-choice[data-correct=\"true\"] {\n\tbackground: var(--qti-choice-correct-bg);\n\tborder-color: var(--qti-choice-correct-border);\n}\n\n.qti-choice[data-correct=\"false\"] {\n\tbackground: var(--qti-choice-incorrect-bg);\n\tborder-color: var(--qti-choice-incorrect-border);\n}\n\n/* QTI Button */\n.qti-button {\n\tbackground: var(--qti-button-bg);\n\tcolor: var(--qti-button-text);\n\tborder: var(--qti-container-border-width) solid var(--qti-button-border);\n\tborder-radius: var(--qti-button-radius);\n\tbox-shadow: var(--qti-button-shadow);\n\tfont-family: var(--qti-font-family);\n\tfont-weight: var(--qti-button-font-weight);\n\ttransition: all 0.1s ease;\n}\n\n.qti-button:hover:not(:disabled) {\n\ttransform: translate(2px, 2px);\n}\n\n.qti-button:active:not(:disabled) {\n\ttransform: translate(4px, 4px);\n\tbox-shadow: none;\n}\n\n/* Neobrutalist-specific component overrides */\n[data-qti-theme=\"neobrutalist\"] .qti-choice {\n\tbox-shadow: 4px 4px 0px 0px rgba(0, 0, 0, 1);\n}\n\n[data-qti-theme=\"neobrutalist\"] .qti-choice:hover:not([data-disabled=\"true\"]) {\n\ttransform: translate(2px, 2px);\n\tbox-shadow: 2px 2px 0px 0px rgba(0, 0, 0, 1);\n}\n\n[data-qti-theme=\"neobrutalist\"] .qti-choice[data-selected=\"true\"] {\n\ttransform: translate(2px, 2px);\n\tbox-shadow: 2px 2px 0px 0px rgba(0, 0, 0, 1);\n}\n\n[data-qti-theme=\"neobrutalist\"] .qti-feedback {\n\tbox-shadow: 6px 6px 0px 0px rgba(0, 0, 0, 1);\n}\n\n[data-qti-theme=\"neobrutalist\"] .qti-button {\n\ttext-transform: uppercase;\n\tletter-spacing: 0.05em;\n}\n\n[data-qti-theme=\"neobrutalist\"] .qti-button:hover:not(:disabled) {\n\tbox-shadow: 2px 2px 0px 0px rgba(0, 0, 0, 1);\n}\n\n[data-qti-theme=\"neobrutalist\"] .qti-button:active:not(:disabled) {\n\ttransform: translate(4px, 4px);\n\tbox-shadow: none;\n}\n\n/* Dark mode neobrutalist shadows */\n.dark[data-qti-theme=\"neobrutalist\"] .qti-choice,\n[data-qti-theme=\"neobrutalist\"] .dark .qti-choice {\n\tbox-shadow: 4px 4px 0px 0px rgba(255, 255, 255, 0.8);\n}\n\n.dark[data-qti-theme=\"neobrutalist\"] .qti-choice:hover:not([data-disabled=\"true\"]),\n[data-qti-theme=\"neobrutalist\"] .dark .qti-choice:hover:not([data-disabled=\"true\"]) {\n\tbox-shadow: 2px 2px 0px 0px rgba(255, 255, 255, 0.8);\n}\n\n.dark[data-qti-theme=\"neobrutalist\"] .qti-feedback,\n[data-qti-theme=\"neobrutalist\"] .dark .qti-feedback {\n\tbox-shadow: 6px 6px 0px 0px rgba(255, 255, 255, 0.8);\n}\n\n/* ============================================\n NEOBRUTALIST FIELD/CHOICE OVERRIDES\n These override the FieldLabel component styles\n ============================================ */\n\n/* Override FieldLabel (choice card container) in neobrutalist theme */\n[data-qti-theme=\"neobrutalist\"] [data-slot=\"field-label\"]:has(> [data-slot=\"field\"]) {\n\tborder-radius: 0 !important;\n\tborder-width: 4px !important;\n\tborder-color: #000000 !important;\n\tbox-shadow: 4px 4px 0px 0px rgba(0, 0, 0, 1) !important;\n\tbackground: var(--qti-choice-bg) !important;\n\tfont-family: var(--qti-font-family) !important;\n\tfont-weight: var(--qti-font-weight) !important;\n\tletter-spacing: var(--qti-tracking) !important;\n\ttransition: all 0.1s ease !important;\n}\n\n/* Hover state */\n[data-qti-theme=\"neobrutalist\"] [data-slot=\"field-label\"]:has(> [data-slot=\"field\"]):hover {\n\ttransform: translate(2px, 2px) !important;\n\tbox-shadow: 2px 2px 0px 0px rgba(0, 0, 0, 1) !important;\n\tbackground: var(--qti-choice-hover-bg) !important;\n}\n\n/* Selected state (checked) */\n[data-qti-theme=\"neobrutalist\"] [data-slot=\"field-label\"]:has(> [data-slot=\"field\"]):has([data-state=\"checked\"]) {\n\tbackground: var(--qti-choice-selected-bg) !important;\n\tborder-color: #000000 !important;\n\ttransform: translate(2px, 2px) !important;\n\tbox-shadow: 2px 2px 0px 0px rgba(0, 0, 0, 1) !important;\n}\n\n/* Correct state (owl palette = correct) */\n[data-qti-theme=\"neobrutalist\"]\n\t[data-slot=\"field-label\"][data-palette=\"owl\"]:has(> [data-slot=\"field\"]):has([data-state=\"checked\"]) {\n\tbackground: var(--qti-choice-correct-bg) !important;\n\tborder-color: var(--qti-choice-correct-border) !important;\n\tcolor: #000000 !important;\n}\n\n/* Incorrect state (cardinal palette = incorrect) */\n[data-qti-theme=\"neobrutalist\"]\n\t[data-slot=\"field-label\"][data-palette=\"cardinal\"]:has(> [data-slot=\"field\"]):has([data-state=\"checked\"]) {\n\tbackground: var(--qti-choice-incorrect-bg) !important;\n\tborder-color: var(--qti-choice-incorrect-border) !important;\n\tcolor: #000000 !important;\n}\n\n/* Ensure ALL text in neobrutalist choices stays black */\n[data-qti-theme=\"neobrutalist\"] [data-slot=\"field-label\"],\n[data-qti-theme=\"neobrutalist\"] [data-slot=\"field-label\"] *,\n[data-qti-theme=\"neobrutalist\"] [data-slot=\"field-content\"],\n[data-qti-theme=\"neobrutalist\"] [data-slot=\"field-content\"] * {\n\tcolor: #000000 !important;\n}\n\n/* Keep choice indicator text white when checked */\n[data-qti-theme=\"neobrutalist\"] [data-slot=\"choice-indicator\"][data-state=\"checked\"] {\n\tcolor: #ffffff !important;\n}\n\n/* Choice indicator (radio/checkbox circle) in neobrutalist */\n[data-qti-theme=\"neobrutalist\"] [data-slot=\"choice-indicator\"] {\n\tborder-radius: 0 !important;\n\tborder-width: 3px !important;\n\tborder-color: #000000 !important;\n}\n\n[data-qti-theme=\"neobrutalist\"] [data-slot=\"choice-indicator\"][data-state=\"checked\"] {\n\tbackground: #000000 !important;\n\tcolor: #ffffff !important;\n}\n\n[data-qti-theme=\"neobrutalist\"] [data-slot=\"choice-indicator\"][data-palette=\"owl\"][data-state=\"checked\"] {\n\tbackground: var(--qti-feedback-correct-icon-bg) !important;\n}\n\n[data-qti-theme=\"neobrutalist\"] [data-slot=\"choice-indicator\"][data-palette=\"cardinal\"][data-state=\"checked\"] {\n\tbackground: var(--qti-feedback-incorrect-icon-bg) !important;\n}\n\n/* Inline feedback border in neobrutalist */\n[data-qti-theme=\"neobrutalist\"] output[aria-live=\"polite\"] {\n\tborder-left-width: 4px !important;\n\tborder-color: #000000 !important;\n}\n\n/* Text inputs in neobrutalist */\n[data-qti-theme=\"neobrutalist\"] input[type=\"text\"],\n[data-qti-theme=\"neobrutalist\"] textarea,\n[data-qti-theme=\"neobrutalist\"] select {\n\tborder-radius: 0 !important;\n\tborder-width: 3px !important;\n\tborder-color: #000000 !important;\n\tfont-family: var(--qti-font-family) !important;\n\tbox-shadow: 3px 3px 0px 0px rgba(0, 0, 0, 1) !important;\n}\n\n[data-qti-theme=\"neobrutalist\"] input[type=\"text\"]:focus,\n[data-qti-theme=\"neobrutalist\"] textarea:focus,\n[data-qti-theme=\"neobrutalist\"] select:focus {\n\toutline: none !important;\n\tbox-shadow: 2px 2px 0px 0px rgba(0, 0, 0, 1) !important;\n\ttransform: translate(1px, 1px);\n}\n\n/* Progress bar in neobrutalist */\n[data-qti-theme=\"neobrutalist\"] [data-slot=\"progress\"] {\n\tborder-radius: 0 !important;\n\tborder: 2px solid #000000 !important;\n\tbackground: #ffffff !important;\n}\n\n[data-qti-theme=\"neobrutalist\"] [data-slot=\"progress\"] > div {\n\tborder-radius: 0 !important;\n\tbackground: var(--qti-button-bg) !important;\n}\n\n/* Dark mode neobrutalist Field overrides */\n.dark[data-qti-theme=\"neobrutalist\"] [data-slot=\"field-label\"]:has(> [data-slot=\"field\"]),\n[data-qti-theme=\"neobrutalist\"] .dark [data-slot=\"field-label\"]:has(> [data-slot=\"field\"]) {\n\tborder-color: #ffffff !important;\n\tbox-shadow: 4px 4px 0px 0px rgba(255, 255, 255, 0.8) !important;\n\tbackground: var(--qti-choice-bg) !important;\n}\n\n.dark[data-qti-theme=\"neobrutalist\"] [data-slot=\"field-label\"]:has(> [data-slot=\"field\"]):hover,\n[data-qti-theme=\"neobrutalist\"] .dark [data-slot=\"field-label\"]:has(> [data-slot=\"field\"]):hover {\n\tbox-shadow: 2px 2px 0px 0px rgba(255, 255, 255, 0.8) !important;\n}\n\n.dark[data-qti-theme=\"neobrutalist\"] [data-slot=\"choice-indicator\"],\n[data-qti-theme=\"neobrutalist\"] .dark [data-slot=\"choice-indicator\"] {\n\tborder-color: #ffffff !important;\n}\n\n.dark[data-qti-theme=\"neobrutalist\"] input[type=\"text\"],\n.dark[data-qti-theme=\"neobrutalist\"] textarea,\n.dark[data-qti-theme=\"neobrutalist\"] select,\n[data-qti-theme=\"neobrutalist\"] .dark input[type=\"text\"],\n[data-qti-theme=\"neobrutalist\"] .dark textarea,\n[data-qti-theme=\"neobrutalist\"] .dark select {\n\tborder-color: #ffffff !important;\n\tbox-shadow: 3px 3px 0px 0px rgba(255, 255, 255, 0.8) !important;\n}\n\n/* Dark mode neobrutalist text colors - white text for readability */\n.dark[data-qti-theme=\"neobrutalist\"] [data-slot=\"field-label\"],\n.dark[data-qti-theme=\"neobrutalist\"] [data-slot=\"field-label\"] *,\n.dark[data-qti-theme=\"neobrutalist\"] [data-slot=\"field-content\"],\n.dark[data-qti-theme=\"neobrutalist\"] [data-slot=\"field-content\"] *,\n[data-qti-theme=\"neobrutalist\"] .dark [data-slot=\"field-label\"],\n[data-qti-theme=\"neobrutalist\"] .dark [data-slot=\"field-label\"] *,\n[data-qti-theme=\"neobrutalist\"] .dark [data-slot=\"field-content\"],\n[data-qti-theme=\"neobrutalist\"] .dark [data-slot=\"field-content\"] * {\n\tcolor: #ffffff !important;\n}\n\n/* Dark mode: Keep choice indicator text visible */\n.dark[data-qti-theme=\"neobrutalist\"] [data-slot=\"choice-indicator\"][data-state=\"checked\"],\n[data-qti-theme=\"neobrutalist\"] .dark [data-slot=\"choice-indicator\"][data-state=\"checked\"] {\n\tcolor: #000000 !important;\n}\n\n/* QTI HTML Content fixes */\n.qti-html-content {\n\tcolor: inherit !important;\n}\n\n.qti-html-content *,\n.qti-html-content p,\n.qti-html-content div,\n.qti-html-content span,\n.qti-html-content li {\n\tcolor: inherit !important;\n}\n\n.qti-html-content strong,\n.qti-html-content b {\n\tfont-weight: bold;\n}\n\n.qti-html-content em,\n.qti-html-content i {\n\tfont-style: italic;\n}\n\n.qti-html-content p {\n\tmargin-bottom: 0.5rem;\n}\n"],"mappings":"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","names":[]}
@@ -0,0 +1,2 @@
1
+
2
+ export { }
@@ -99,4 +99,4 @@ type ValidateResult = {
99
99
  };
100
100
  };
101
101
 
102
- export type { DisplayBlock as D, FormShape as F, ValidateResult as V, DisplayChoice as a, DisplayChoiceInteraction as b, DisplayItem as c, DisplayInlineEmbed as d, DisplayTextEmbed as e, DisplayGap as f, DisplayAssociableChoice as g, DisplayGapText as h };
102
+ export type { DisplayAssociableChoice as D, FormShape as F, ValidateResult as V, DisplayBlock as a, DisplayChoice as b, DisplayChoiceInteraction as c, DisplayGap as d, DisplayGapText as e, DisplayInlineEmbed as f, DisplayItem as g, DisplayTextEmbed as h };
package/dist/types.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- export { j as AnyCondition, e as AnyInteraction, A as AssessmentItem, C as ChoiceCorrectness, f as ChoiceInteraction, a as ContentBlockRendererProps, F as FeedbackBlock, G as GapMatchInteraction, I as InlineChoiceInteraction, M as MatchInteraction, O as OrderInteraction, Q as QTIRendererProps, b as QTITheme, g as ResponseDeclaration, R as ResponseFeedback, h as ResponseProcessing, T as TextEntryInteraction } from './schema-C3cRJWrK.js';
2
- export { g as DisplayAssociableChoice, D as DisplayBlock, a as DisplayChoice, b as DisplayChoiceInteraction, f as DisplayGap, h as DisplayGapText, d as DisplayInlineEmbed, c as DisplayItem, e as DisplayTextEmbed, F as FormShape, V as ValidateResult } from './types-BqqQtPL8.js';
1
+ export { A as AnyCondition, c as AnyInteraction, d as AssessmentItem, C as ChoiceCorrectness, e as ChoiceInteraction, a as ContentBlockRendererProps, F as FeedbackBlock, G as GapMatchInteraction, I as InlineChoiceInteraction, M as MatchInteraction, O as OrderInteraction, Q as QTIRendererProps, b as QTITheme, f as ResponseDeclaration, R as ResponseFeedback, g as ResponseProcessing, T as TextEntryInteraction } from './schema-DZoGAQdF.js';
2
+ export { D as DisplayAssociableChoice, a as DisplayBlock, b as DisplayChoice, c as DisplayChoiceInteraction, d as DisplayGap, e as DisplayGapText, f as DisplayInlineEmbed, g as DisplayItem, h as DisplayTextEmbed, F as FormShape, V as ValidateResult } from './types-B7YRTQKt.js';
3
3
  import 'react/jsx-runtime';
4
4
  import 'zod';
5
5
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@superbuilders/incept-renderer",
3
- "version": "0.1.4",
3
+ "version": "0.1.5",
4
4
  "description": "QTI 3.0 Assessment Renderer - Parse, validate, and render QTI XML with customizable themes",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -22,7 +22,8 @@
22
22
  "./types": {
23
23
  "types": "./dist/types.d.ts",
24
24
  "import": "./dist/types.js"
25
- }
25
+ },
26
+ "./styles/themes.css": "./dist/styles/themes.css"
26
27
  },
27
28
  "files": [
28
29
  "dist",