@pie-players/pie-assessment-toolkit 0.2.9 → 0.2.10

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.
Files changed (96) hide show
  1. package/dist/components/ItemToolBar.custom-element.js +413 -88
  2. package/dist/components/PieAssessmentToolkit.custom-element.js +128 -41
  3. package/dist/components/SectionToolBar.custom-element.js +162 -0
  4. package/dist/components/section-toolbar-element.d.ts +3 -0
  5. package/dist/components/section-toolbar-element.d.ts.map +1 -0
  6. package/dist/components/section-toolbar-element.js +2 -0
  7. package/dist/components/section-toolbar-element.js.map +1 -0
  8. package/dist/context/assessment-toolkit-context.d.ts +1 -1
  9. package/dist/context/assessment-toolkit-context.d.ts.map +1 -1
  10. package/dist/index.d.ts +4 -2
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +1 -0
  13. package/dist/index.js.map +1 -1
  14. package/dist/runtime/SectionRuntimeEngine.d.ts +1 -1
  15. package/dist/runtime/SectionRuntimeEngine.d.ts.map +1 -1
  16. package/dist/services/HighlightCoordinator.d.ts +9 -0
  17. package/dist/services/HighlightCoordinator.d.ts.map +1 -1
  18. package/dist/services/HighlightCoordinator.js +196 -55
  19. package/dist/services/HighlightCoordinator.js.map +1 -1
  20. package/dist/services/TTSService.d.ts +18 -0
  21. package/dist/services/TTSService.d.ts.map +1 -1
  22. package/dist/services/TTSService.js +343 -105
  23. package/dist/services/TTSService.js.map +1 -1
  24. package/dist/services/ToolRegistry.d.ts +14 -2
  25. package/dist/services/ToolRegistry.d.ts.map +1 -1
  26. package/dist/services/ToolRegistry.js +2 -1
  27. package/dist/services/ToolRegistry.js.map +1 -1
  28. package/dist/services/ToolkitCoordinator.d.ts +21 -1
  29. package/dist/services/ToolkitCoordinator.d.ts.map +1 -1
  30. package/dist/services/ToolkitCoordinator.js +106 -2
  31. package/dist/services/ToolkitCoordinator.js.map +1 -1
  32. package/dist/services/createDefaultToolRegistry.d.ts +5 -11
  33. package/dist/services/createDefaultToolRegistry.d.ts.map +1 -1
  34. package/dist/services/createDefaultToolRegistry.js +5 -48
  35. package/dist/services/createDefaultToolRegistry.js.map +1 -1
  36. package/dist/services/interfaces.d.ts +1 -1
  37. package/dist/services/interfaces.d.ts.map +1 -1
  38. package/dist/services/pnp-standard-features.d.ts +1 -1
  39. package/dist/services/section-controller-types.d.ts +5 -0
  40. package/dist/services/section-controller-types.d.ts.map +1 -1
  41. package/dist/services/tool-config-defaults.d.ts +14 -0
  42. package/dist/services/tool-config-defaults.d.ts.map +1 -0
  43. package/dist/services/tool-config-defaults.js +23 -0
  44. package/dist/services/tool-config-defaults.js.map +1 -0
  45. package/dist/services/tool-context.d.ts.map +1 -1
  46. package/dist/services/tool-context.js +50 -3
  47. package/dist/services/tool-context.js.map +1 -1
  48. package/dist/services/tool-instance-id.d.ts +1 -3
  49. package/dist/services/tool-instance-id.d.ts.map +1 -1
  50. package/dist/services/tool-instance-id.js +4 -10
  51. package/dist/services/tool-instance-id.js.map +1 -1
  52. package/dist/services/toolbar-items.d.ts +26 -0
  53. package/dist/services/toolbar-items.d.ts.map +1 -0
  54. package/dist/services/toolbar-items.js +10 -0
  55. package/dist/services/toolbar-items.js.map +1 -0
  56. package/dist/services/tools-config-normalizer.d.ts.map +1 -1
  57. package/dist/services/tools-config-normalizer.js +5 -6
  58. package/dist/services/tools-config-normalizer.js.map +1 -1
  59. package/dist/services/tts/browser-provider.d.ts.map +1 -1
  60. package/dist/services/tts/browser-provider.js +201 -34
  61. package/dist/services/tts/browser-provider.js.map +1 -1
  62. package/dist/services/tts/text-processing.d.ts +17 -0
  63. package/dist/services/tts/text-processing.d.ts.map +1 -0
  64. package/dist/services/tts/text-processing.js +144 -0
  65. package/dist/services/tts/text-processing.js.map +1 -0
  66. package/dist/tools/default-tool-module-loaders.d.ts.map +1 -1
  67. package/dist/tools/default-tool-module-loaders.js +1 -7
  68. package/dist/tools/default-tool-module-loaders.js.map +1 -1
  69. package/dist/tools/registrations/accessibility-tools.d.ts +7 -2
  70. package/dist/tools/registrations/accessibility-tools.d.ts.map +1 -1
  71. package/dist/tools/registrations/accessibility-tools.js +21 -15
  72. package/dist/tools/registrations/accessibility-tools.js.map +1 -1
  73. package/dist/tools/registrations/calculator.d.ts.map +1 -1
  74. package/dist/tools/registrations/calculator.js +18 -10
  75. package/dist/tools/registrations/calculator.js.map +1 -1
  76. package/dist/tools/registrations/interaction-tools.js +4 -4
  77. package/dist/tools/registrations/interaction-tools.js.map +1 -1
  78. package/dist/tools/registrations/measurement-tools.js +4 -4
  79. package/dist/tools/registrations/measurement-tools.js.map +1 -1
  80. package/dist/tools/registrations/subject-specific-tools.js +4 -4
  81. package/dist/tools/registrations/subject-specific-tools.js.map +1 -1
  82. package/dist/tools/registrations/tts.d.ts.map +1 -1
  83. package/dist/tools/registrations/tts.js +161 -17
  84. package/dist/tools/registrations/tts.js.map +1 -1
  85. package/dist/tools/tool-tag-map.d.ts.map +1 -1
  86. package/dist/tools/tool-tag-map.js +2 -1
  87. package/dist/tools/tool-tag-map.js.map +1 -1
  88. package/package.json +11 -7
  89. package/src/components/ItemToolBar.svelte +254 -42
  90. package/src/components/PieAssessmentToolkit.svelte +139 -46
  91. package/src/components/SectionToolBar.svelte +58 -0
  92. package/dist/services/tts/provider-interface.d.ts +0 -131
  93. package/dist/services/tts/provider-interface.d.ts.map +0 -1
  94. package/dist/services/tts/provider-interface.js +0 -10
  95. package/dist/services/tts/provider-interface.js.map +0 -1
  96. package/src/components/PNPProvenanceViewer.svelte +0 -270
@@ -34,11 +34,12 @@ export default function PieAssessmentToolkit($$anchor, $$props) {
34
34
 
35
35
  const runtimeId = createRuntimeId("toolkit");
36
36
  const sectionEngine = new SectionRuntimeEngine();
37
+ const DEFAULT_ENV = { mode: "gather", role: "student" };
37
38
 
38
39
  const DEFAULT_ITEM_PLAYER_BY_TYPE = {
39
- iife: "pie-iife-player",
40
- esm: "pie-esm-player",
41
- fixed: "pie-fixed-player",
40
+ iife: "pie-item-player",
41
+ esm: "pie-item-player",
42
+ preloaded: "pie-item-player",
42
43
  custom: ""
43
44
  };
44
45
 
@@ -68,7 +69,10 @@ export default function PieAssessmentToolkit($$anchor, $$props) {
68
69
  let compositionVersion = $.state(0);
69
70
  let compositionModel = $.state(null);
70
71
  let runtimeError = $.state(null);
71
- let lastCompositionSignature = $.state("");
72
+ let lastCompositionRevisionKey = $.state("");
73
+ let pendingCompositionModel = null;
74
+ let pendingCompositionEmit = false;
75
+ let compositionEmitRaf = null;
72
76
 
73
77
  function getHostElement() {
74
78
  if (!$.get(anchor)) return null;
@@ -90,8 +94,53 @@ export default function PieAssessmentToolkit($$anchor, $$props) {
90
94
  dispatchCrossBoundaryEvent($.get(host), name, detail);
91
95
  }
92
96
 
97
+ function hashString(input) {
98
+ let hash = 5381;
99
+
100
+ for (let index = 0; index < input.length; index += 1) {
101
+ hash = (hash << 5) + hash ^ input.charCodeAt(index);
102
+ }
103
+
104
+ return (hash >>> 0).toString(36);
105
+ }
106
+
107
+ function getCompositionRevisionKey(model) {
108
+ const typed = model || {};
109
+ const sectionId = typed.section?.identifier || typed.sectionId || "";
110
+ const currentItemIndex = typeof typed.currentItemIndex === "number" ? typed.currentItemIndex : -1;
111
+ const renderables = Array.isArray(typed.renderables) ? typed.renderables : [];
112
+
113
+ const renderableSignature = renderables.map((entry, index) => {
114
+ const row = entry || {};
115
+ const entity = row.entity || {};
116
+ const entityId = typeof entity.id === "string" && entity.id || `renderable-${index}`;
117
+ const entityVersion = typeof entity.version === "string" && entity.version || (typeof entity.version === "number" ? String(entity.version) : "") || (typeof entity.config?.version === "string" ? entity.config.version : "");
118
+
119
+ return `${entityId}:${entityVersion}`;
120
+ }).join("|");
121
+
122
+ const sessionsByItem = typed.itemSessionsByItemId || {};
123
+
124
+ const itemSessionSignature = Object.keys(sessionsByItem).sort((left, right) => left.localeCompare(right)).map((itemId) => {
125
+ const session = sessionsByItem[itemId];
126
+ const sessionId = typeof session?.id === "string" && session.id || "";
127
+ const dataPayload = Array.isArray(session?.data) ? session.data : [];
128
+ let payloadSignature = "";
129
+
130
+ try {
131
+ payloadSignature = hashString(JSON.stringify(dataPayload));
132
+ } catch {
133
+ payloadSignature = String(dataPayload.length);
134
+ }
135
+
136
+ return `${itemId}:${sessionId}:${payloadSignature}`;
137
+ }).join("|");
138
+
139
+ return `${sectionId}|${currentItemIndex}|${renderableSignature}|${itemSessionSignature}`;
140
+ }
141
+
93
142
  function isKnownPlayerType(value) {
94
- return value === "iife" || value === "esm" || value === "fixed" || value === "custom";
143
+ return value === "iife" || value === "esm" || value === "preloaded" || value === "custom";
95
144
  }
96
145
 
97
146
  function normalizeItemPlayerConfig(hostPlayer, hostPlayerType) {
@@ -124,6 +173,23 @@ export default function PieAssessmentToolkit($$anchor, $$props) {
124
173
  };
125
174
  }
126
175
 
176
+ function normalizeEnv(input) {
177
+ const envValue = input || {} || {};
178
+ const mode = typeof envValue.mode === "string" && envValue.mode.trim() ? envValue.mode.trim() : DEFAULT_ENV.mode;
179
+ const role = typeof envValue.role === "string" && envValue.role.trim() ? envValue.role.trim() : DEFAULT_ENV.role;
180
+
181
+ return { mode, role };
182
+ }
183
+
184
+ function resolveSectionViewFromEnv(input) {
185
+ const resolvedEnv = normalizeEnv(input);
186
+
187
+ if (resolvedEnv.mode === "author") return "author";
188
+ if (resolvedEnv.role === "instructor") return "scorer";
189
+
190
+ return "candidate";
191
+ }
192
+
127
193
  async function createDefaultSectionController() {
128
194
  if (createSectionController()) {
129
195
  return createSectionController()();
@@ -175,6 +241,8 @@ export default function PieAssessmentToolkit($$anchor, $$props) {
175
241
 
176
242
  const effectiveAssessmentId = $.derived(() => assessmentId() || $.get(effectiveCoordinator)?.assessmentId || "");
177
243
  const effectiveSectionId = $.derived(() => sectionId() || section()?.identifier || `section-${$.get(effectiveAssessmentId) || "default"}`);
244
+ const effectiveEnv = $.derived(() => normalizeEnv(env()));
245
+ const effectiveSectionView = $.derived(() => resolveSectionViewFromEnv($.get(effectiveEnv)));
178
246
  const effectiveItemPlayer = $.derived(() => normalizeItemPlayerConfig(player(), playerType()));
179
247
 
180
248
  const runtimeContextValue = $.derived(() => {
@@ -194,9 +262,8 @@ export default function PieAssessmentToolkit($$anchor, $$props) {
194
262
  itemPlayer: $.get(effectiveItemPlayer),
195
263
  reportSessionChanged: (itemId, detail) => {
196
264
  const result = sectionEngine.handleItemSessionChanged(itemId, detail);
197
- const normalized = result?.eventDetail || detail;
198
265
 
199
- emit("session-changed", { ...normalized, sourceRuntimeId: runtimeId });
266
+ emitNormalizedSessionChanged({ itemId, result, fallbackSession: detail });
200
267
  }
201
268
  };
202
269
  });
@@ -207,33 +274,14 @@ export default function PieAssessmentToolkit($$anchor, $$props) {
207
274
  return { runtimeId, coordinator: $.get(effectiveCoordinator) };
208
275
  });
209
276
 
210
- function getCompositionSignature(model) {
211
- const typed = model;
212
- const itemIds = Array.isArray(typed?.items) ? typed.items.map((item) => item?.id || "") : [];
213
- const passageIds = Array.isArray(typed?.passages) ? typed.passages.map((item) => item?.id || "") : [];
214
-
215
- const sessionByItem = typed?.itemSessionsByItemId
216
- ? Object.entries(typed.itemSessionsByItemId).sort(([left], [right]) => left.localeCompare(right)).map(([itemId, session]) => [itemId, JSON.stringify(session ?? null)])
217
- : [];
218
-
219
- return JSON.stringify({
220
- sectionId: typed?.section?.identifier || typed?.sectionId || "",
221
- currentItemIndex: typed?.currentItemIndex ?? -1,
222
- itemIds,
223
- passageIds,
224
- sessionByItem
225
- });
226
- }
227
-
228
- function emitCompositionChanged() {
229
- const nextModel = sectionEngine.getCompositionModel();
230
- const signature = getCompositionSignature(nextModel);
277
+ function flushCompositionChanged(nextModel) {
278
+ const nextRevisionKey = getCompositionRevisionKey(nextModel);
231
279
 
232
- if (signature === $.get(lastCompositionSignature)) {
280
+ if (nextRevisionKey === $.get(lastCompositionRevisionKey)) {
233
281
  return;
234
282
  }
235
283
 
236
- $.set(lastCompositionSignature, signature, true);
284
+ $.set(lastCompositionRevisionKey, nextRevisionKey, true);
237
285
  $.set(compositionVersion, $.get(compositionVersion) + 1);
238
286
  $.set(compositionModel, nextModel, true);
239
287
 
@@ -243,6 +291,39 @@ export default function PieAssessmentToolkit($$anchor, $$props) {
243
291
  });
244
292
  }
245
293
 
294
+ function emitCompositionChanged(nextModel) {
295
+ pendingCompositionModel = nextModel ?? sectionEngine.getCompositionModel();
296
+
297
+ if (pendingCompositionEmit) return;
298
+
299
+ pendingCompositionEmit = true;
300
+
301
+ const flush = () => {
302
+ pendingCompositionEmit = false;
303
+ compositionEmitRaf = null;
304
+ flushCompositionChanged(pendingCompositionModel);
305
+ };
306
+
307
+ if (typeof window !== "undefined" && typeof window.requestAnimationFrame === "function") {
308
+ compositionEmitRaf = window.requestAnimationFrame(flush);
309
+
310
+ return;
311
+ }
312
+
313
+ queueMicrotask(flush);
314
+ }
315
+
316
+ function emitNormalizedSessionChanged(args) {
317
+ const normalized = args.result?.eventDetail || args.fallbackSession;
318
+
319
+ emit("session-changed", {
320
+ ...normalized,
321
+ itemId: args.itemId,
322
+ canonicalItemId: args.canonicalItemId || args.itemId,
323
+ sourceRuntimeId: runtimeId
324
+ });
325
+ }
326
+
246
327
  function isLocalToCurrentRuntime(eventTarget) {
247
328
  if (!(eventTarget instanceof HTMLElement)) return false;
248
329
 
@@ -310,8 +391,8 @@ export default function PieAssessmentToolkit($$anchor, $$props) {
310
391
 
311
392
  $.get(host).setAttribute("data-item-player-type", $.get(effectiveItemPlayer).type);
312
393
  $.get(host).setAttribute("data-item-player-tag", $.get(effectiveItemPlayer).tagName);
313
- $.get(host).setAttribute("data-env-mode", String(env()?.mode || ""));
314
- $.get(host).setAttribute("data-env-role", String(env()?.role || ""));
394
+ $.get(host).setAttribute("data-env-mode", String($.get(effectiveEnv)?.mode || ""));
395
+ $.get(host).setAttribute("data-env-role", String($.get(effectiveEnv)?.role || ""));
315
396
  });
316
397
 
317
398
  $.user_effect(() => {
@@ -351,13 +432,12 @@ export default function PieAssessmentToolkit($$anchor, $$props) {
351
432
  sectionId: $.get(effectiveSectionId),
352
433
  assessmentId: $.get(effectiveAssessmentId),
353
434
  attemptId: attemptId() || undefined,
354
- view: view(),
435
+ view: $.get(effectiveSectionView),
355
436
  createDefaultController: createDefaultSectionController,
356
437
  onCompositionChanged: (nextComposition) => {
357
438
  if (cancelled) return;
358
439
 
359
- $.set(compositionModel, nextComposition, true);
360
- emitCompositionChanged();
440
+ emitCompositionChanged(nextComposition);
361
441
  }
362
442
  }).then(() => {
363
443
  if (cancelled) return;
@@ -366,7 +446,8 @@ export default function PieAssessmentToolkit($$anchor, $$props) {
366
446
  runtimeId,
367
447
  assessmentId: $.get(effectiveAssessmentId),
368
448
  sectionId: $.get(effectiveSectionId),
369
- itemPlayer: $.get(effectiveItemPlayer)
449
+ itemPlayer: $.get(effectiveItemPlayer),
450
+ coordinator: $.get(effectiveCoordinator)
370
451
  });
371
452
 
372
453
  emit("section-ready", { sectionId: $.get(effectiveSectionId) });
@@ -415,13 +496,12 @@ export default function PieAssessmentToolkit($$anchor, $$props) {
415
496
  if (!shouldHandleBySourceRuntime(detail.sourceRuntimeId, runtimeId)) return;
416
497
 
417
498
  const result = sectionEngine.handleItemSessionChanged(detail.itemId, detail.session);
418
- const normalized = result?.eventDetail || detail.session;
419
499
 
420
- emit("session-changed", {
421
- ...normalized,
500
+ emitNormalizedSessionChanged({
422
501
  itemId: detail.itemId,
423
- canonicalItemId: detail.canonicalItemId || detail.itemId,
424
- sourceRuntimeId: runtimeId
502
+ canonicalItemId: detail.canonicalItemId,
503
+ result,
504
+ fallbackSession: detail.session
425
505
  });
426
506
  };
427
507
 
@@ -482,6 +562,13 @@ export default function PieAssessmentToolkit($$anchor, $$props) {
482
562
 
483
563
  $.user_effect(() => {
484
564
  return () => {
565
+ if (compositionEmitRaf !== null && typeof window !== "undefined") {
566
+ window.cancelAnimationFrame(compositionEmitRaf);
567
+ compositionEmitRaf = null;
568
+ }
569
+
570
+ pendingCompositionEmit = false;
571
+
485
572
  void sectionEngine.dispose().catch((error) => {
486
573
  $.set(runtimeError, error, true);
487
574
  });
@@ -0,0 +1,162 @@
1
+ // @ts-nocheck
2
+ import 'svelte/internal/disclose-version';
3
+ import * as $ from 'svelte/internal/client';
4
+ import "./item-toolbar-element.js";
5
+
6
+ var root = $.from_html(`<pie-item-toolbar></pie-item-toolbar>`, 2);
7
+
8
+ export default function SectionToolBar($$anchor, $$props) {
9
+ $.push($$props, true);
10
+
11
+ let enabledTools = $.prop($$props, 'enabledTools', 7, ""),
12
+ position = $.prop($$props, 'position', 7, "bottom"),
13
+ sectionId = $.prop($$props, 'sectionId', 7, ""),
14
+ size = $.prop($$props, 'size', 7, "md"),
15
+ language = $.prop($$props, 'language', 7, "en-US"),
16
+ toolRegistry = $.prop($$props, 'toolRegistry', 7, null),
17
+ pnpResolver = $.prop($$props, 'pnpResolver', 7, null),
18
+ assessment = $.prop($$props, 'assessment', 7, null),
19
+ itemRef = $.prop($$props, 'itemRef', 7, null),
20
+ item = $.prop($$props, 'item', 7, null),
21
+ hostButtons = $.prop($$props, 'hostButtons', 23, () => []);
22
+
23
+ var $$exports = {
24
+ get enabledTools() {
25
+ return enabledTools();
26
+ },
27
+
28
+ set enabledTools($$value) {
29
+ enabledTools($$value);
30
+ $.flush();
31
+ },
32
+
33
+ get position() {
34
+ return position();
35
+ },
36
+
37
+ set position($$value) {
38
+ position($$value);
39
+ $.flush();
40
+ },
41
+
42
+ get sectionId() {
43
+ return sectionId();
44
+ },
45
+
46
+ set sectionId($$value) {
47
+ sectionId($$value);
48
+ $.flush();
49
+ },
50
+
51
+ get size() {
52
+ return size();
53
+ },
54
+
55
+ set size($$value) {
56
+ size($$value);
57
+ $.flush();
58
+ },
59
+
60
+ get language() {
61
+ return language();
62
+ },
63
+
64
+ set language($$value) {
65
+ language($$value);
66
+ $.flush();
67
+ },
68
+
69
+ get toolRegistry() {
70
+ return toolRegistry();
71
+ },
72
+
73
+ set toolRegistry($$value) {
74
+ toolRegistry($$value);
75
+ $.flush();
76
+ },
77
+
78
+ get pnpResolver() {
79
+ return pnpResolver();
80
+ },
81
+
82
+ set pnpResolver($$value) {
83
+ pnpResolver($$value);
84
+ $.flush();
85
+ },
86
+
87
+ get assessment() {
88
+ return assessment();
89
+ },
90
+
91
+ set assessment($$value) {
92
+ assessment($$value);
93
+ $.flush();
94
+ },
95
+
96
+ get itemRef() {
97
+ return itemRef();
98
+ },
99
+
100
+ set itemRef($$value) {
101
+ itemRef($$value);
102
+ $.flush();
103
+ },
104
+
105
+ get item() {
106
+ return item();
107
+ },
108
+
109
+ set item($$value) {
110
+ item($$value);
111
+ $.flush();
112
+ },
113
+
114
+ get hostButtons() {
115
+ return hostButtons();
116
+ },
117
+
118
+ set hostButtons($$value) {
119
+ hostButtons($$value);
120
+ $.flush();
121
+ }
122
+ };
123
+
124
+ var pie_item_toolbar = root();
125
+
126
+ $.set_custom_element_data(pie_item_toolbar, 'level', 'section');
127
+ $.template_effect(() => $.set_custom_element_data(pie_item_toolbar, 'scope-id', sectionId()));
128
+ $.template_effect(() => $.set_custom_element_data(pie_item_toolbar, 'section-id', sectionId()));
129
+ $.template_effect(() => $.set_custom_element_data(pie_item_toolbar, 'tools', enabledTools()));
130
+ $.set_custom_element_data(pie_item_toolbar, 'content-kind', 'section');
131
+ $.template_effect(() => $.set_custom_element_data(pie_item_toolbar, 'position', position()));
132
+ $.template_effect(() => $.set_custom_element_data(pie_item_toolbar, 'size', size()));
133
+ $.template_effect(() => $.set_custom_element_data(pie_item_toolbar, 'language', language()));
134
+ $.template_effect(() => $.set_custom_element_data(pie_item_toolbar, 'toolRegistry', toolRegistry()));
135
+ $.template_effect(() => $.set_custom_element_data(pie_item_toolbar, 'pnpResolver', pnpResolver()));
136
+ $.template_effect(() => $.set_custom_element_data(pie_item_toolbar, 'assessment', assessment()));
137
+ $.template_effect(() => $.set_custom_element_data(pie_item_toolbar, 'itemRef', itemRef()));
138
+ $.template_effect(() => $.set_custom_element_data(pie_item_toolbar, 'item', item()));
139
+ $.template_effect(() => $.set_custom_element_data(pie_item_toolbar, 'hostButtons', hostButtons()));
140
+ $.append($$anchor, pie_item_toolbar);
141
+
142
+ return $.pop($$exports);
143
+ }
144
+
145
+ customElements.define('pie-section-toolbar', $.create_custom_element(
146
+ SectionToolBar,
147
+ {
148
+ enabledTools: { attribute: 'enabled-tools', type: 'String' },
149
+ position: { attribute: 'position', type: 'String' },
150
+ sectionId: { attribute: 'section-id', type: 'String' },
151
+ size: { attribute: 'size', type: 'String' },
152
+ language: { attribute: 'language', type: 'String' },
153
+ toolRegistry: { type: 'Object' },
154
+ pnpResolver: { type: 'Object' },
155
+ assessment: { type: 'Object' },
156
+ itemRef: { type: 'Object' },
157
+ item: { type: 'Object' },
158
+ hostButtons: { type: 'Object' }
159
+ },
160
+ [],
161
+ []
162
+ ));
@@ -0,0 +1,3 @@
1
+ import "./SectionToolBar.custom-element.js";
2
+ export {};
3
+ //# sourceMappingURL=section-toolbar-element.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"section-toolbar-element.d.ts","sourceRoot":"","sources":["../../src/components/section-toolbar-element.ts"],"names":[],"mappings":"AAAA,OAAO,oCAAoC,CAAC;AAE5C,OAAO,EAAE,CAAC"}
@@ -0,0 +1,2 @@
1
+ import "./SectionToolBar.custom-element.js";
2
+ //# sourceMappingURL=section-toolbar-element.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"section-toolbar-element.js","sourceRoot":"","sources":["../../src/components/section-toolbar-element.ts"],"names":[],"mappings":"AAAA,OAAO,oCAAoC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { IAccessibilityCatalogResolver, IElementToolStateStore, IHighlightCoordinator, IToolCoordinator, IToolkitCoordinator, ITTSService } from "../services/interfaces.js";
2
- export type ItemPlayerType = "iife" | "esm" | "fixed" | "custom";
2
+ export type ItemPlayerType = "iife" | "esm" | "preloaded" | "custom";
3
3
  export interface ItemPlayerConfig {
4
4
  type: ItemPlayerType;
5
5
  tagName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"assessment-toolkit-context.d.ts","sourceRoot":"","sources":["../../src/context/assessment-toolkit-context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,6BAA6B,EAC7B,sBAAsB,EACtB,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,WAAW,EACX,MAAM,2BAA2B,CAAC;AAEnC,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,KAAK,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEjE,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,+BAA+B;IAC/C,kBAAkB,EAAE,mBAAmB,CAAC;IACxC,eAAe,EAAE,gBAAgB,CAAC;IAClC,UAAU,EAAE,WAAW,CAAC;IACxB,oBAAoB,EAAE,qBAAqB,CAAC;IAC5C,eAAe,EAAE,6BAA6B,CAAC;IAC/C,qBAAqB,EAAE,sBAAsB,CAAC;IAC9C,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,oBAAoB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CACjE;AAED,eAAO,MAAM,+BAA+B;;CAG1C,CAAC;AAEH,MAAM,WAAW,mCAAmC;IACnD,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,mBAAmB,CAAC;CACjC;AAED,eAAO,MAAM,mCAAmC;;CAG9C,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,SAAS,CAAC;AAElD,MAAM,WAAW,6BAA6B;IAC7C,IAAI,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,WAAW,GAAG,IAAI,CAAC;IACjC,IAAI,EAAE,OAAO,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,6BAA6B;;CAGxC,CAAC;AAEH,MAAM,WAAW,mCAAmC;IACnD,YAAY,EAAE,WAAW,GAAG,IAAI,CAAC;CACjC;AAED,eAAO,MAAM,mCAAmC;;CAG9C,CAAC"}
1
+ {"version":3,"file":"assessment-toolkit-context.d.ts","sourceRoot":"","sources":["../../src/context/assessment-toolkit-context.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACX,6BAA6B,EAC7B,sBAAsB,EACtB,qBAAqB,EACrB,gBAAgB,EAChB,mBAAmB,EACnB,WAAW,EACX,MAAM,2BAA2B,CAAC;AAEnC,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,KAAK,GAAG,WAAW,GAAG,QAAQ,CAAC;AAErE,MAAM,WAAW,gBAAgB;IAChC,IAAI,EAAE,cAAc,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,+BAA+B;IAC/C,kBAAkB,EAAE,mBAAmB,CAAC;IACxC,eAAe,EAAE,gBAAgB,CAAC;IAClC,UAAU,EAAE,WAAW,CAAC;IACxB,oBAAoB,EAAE,qBAAqB,CAAC;IAC5C,eAAe,EAAE,6BAA6B,CAAC;IAC/C,qBAAqB,EAAE,sBAAsB,CAAC;IAC9C,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,oBAAoB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CACjE;AAED,eAAO,MAAM,+BAA+B;;CAG1C,CAAC;AAEH,MAAM,WAAW,mCAAmC;IACnD,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,mBAAmB,CAAC;CACjC;AAED,eAAO,MAAM,mCAAmC;;CAG9C,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,SAAS,CAAC;AAElD,MAAM,WAAW,6BAA6B;IAC7C,IAAI,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,WAAW,GAAG,IAAI,CAAC;IACjC,IAAI,EAAE,OAAO,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,6BAA6B;;CAGxC,CAAC;AAEH,MAAM,WAAW,mCAAmC;IACnD,YAAY,EAAE,WAAW,GAAG,IAAI,CAAC;CACjC;AAED,eAAO,MAAM,mCAAmC;;CAG9C,CAAC"}
package/dist/index.d.ts CHANGED
@@ -45,13 +45,15 @@ export { ToolCoordinator, ZIndexLayer } from "./services/ToolCoordinator.js";
45
45
  export type { AnswerEliminatorToolConfig, ProviderLifecycleContext, SectionControllerContext, SectionControllerFactoryDefaults, SectionControllerHandle, SectionControllerKey, SectionControllerPersistenceStrategy, SectionPersistenceFactoryDefaults, ToolConfig, ToolkitCoordinatorConfig, ToolkitCoordinatorHooks, ToolkitErrorContext, ToolkitInitStatus, ToolkitServiceBundle, ToolkitToolsConfig, TTSToolConfig, } from "./services/ToolkitCoordinator.js";
46
46
  export { ToolkitCoordinator } from "./services/ToolkitCoordinator.js";
47
47
  export type { CanonicalToolsConfig, ToolPlacementConfig, ToolPlacementLevel, ToolPolicyConfig, ToolProvidersConfig, } from "./services/tools-config-normalizer.js";
48
+ export type { ToolbarButtonItem, ToolbarItem, ToolbarItemBase, ToolbarLinkItem, } from "./services/toolbar-items.js";
49
+ export { isExternalIconUrl, isInlineSvgIcon, isToolbarLinkItem, } from "./services/toolbar-items.js";
48
50
  export { normalizeToolsConfig, normalizeToolAlias, normalizeToolList, parseToolList, resolveToolsForLevel, } from "./services/tools-config-normalizer.js";
49
- export type { ParsedToolInstanceId, ToolInstanceRole, ToolScopeLevel, } from "./services/tool-instance-id.js";
51
+ export type { ParsedToolInstanceId, ToolScopeLevel, } from "./services/tool-instance-id.js";
50
52
  export { createScopedToolId, parseScopedToolId, toOverlayToolId, } from "./services/tool-instance-id.js";
51
53
  export type { TTSConfig } from "./services/TTSService.js";
52
54
  export { PlaybackState, TTSService } from "./services/TTSService.js";
53
55
  export { BrowserTTSProvider } from "./services/tts/browser-provider.js";
54
- export type { ITTSProvider, ITTSProviderImplementation, TTSFeature, TTSProviderCapabilities, } from "./services/tts/provider-interface.js";
56
+ export type { ITTSProvider, ITTSProviderImplementation, TTSSpeechSegment, TTSFeature, TTSProviderCapabilities, } from "@pie-players/pie-tts";
55
57
  export type { CreateLoadItemOptions, LoadItem, LoadItemOptions, } from "./item-loader.js";
56
58
  export { createFetchItemLoader, createLoadItem, ItemLoadError, } from "./item-loader.js";
57
59
  export type { StorageLike, TestAttemptItemSession, TestAttemptSession, TestAttemptSessionNavigationState, TestAttemptSessionRealization, } from "./attempt/TestSession.js";
@@ -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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"}
package/dist/index.js CHANGED
@@ -36,6 +36,7 @@ export { ThemeProvider } from "./services/ThemeProvider.js";
36
36
  // Tool Coordinator
37
37
  export { ToolCoordinator, ZIndexLayer } from "./services/ToolCoordinator.js";
38
38
  export { ToolkitCoordinator } from "./services/ToolkitCoordinator.js";
39
+ export { isExternalIconUrl, isInlineSvgIcon, isToolbarLinkItem, } from "./services/toolbar-items.js";
39
40
  export { normalizeToolsConfig, normalizeToolAlias, normalizeToolList, parseToolList, resolveToolsForLevel, } from "./services/tools-config-normalizer.js";
40
41
  export { createScopedToolId, parseScopedToolId, toOverlayToolId, } from "./services/tool-instance-id.js";
41
42
  export { PlaybackState, TTSService } from "./services/TTSService.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ interface RuntimeController extends SectionControllerHandle {
8
8
  handleItemSessionChanged?: (itemId: string, session: unknown) => {
9
9
  eventDetail?: unknown;
10
10
  } | null;
11
- subscribe?: (listener: () => void) => () => void;
11
+ subscribe?: (listener: (event: unknown) => void) => () => void;
12
12
  navigateToItem?: (index: number) => unknown;
13
13
  }
14
14
  interface EngineInitArgs {
@@ -1 +1 @@
1
- {"version":3,"file":"SectionRuntimeEngine.d.ts","sourceRoot":"","sources":["../../src/runtime/SectionRuntimeEngine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AACvF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,UAAU,iBAAkB,SAAQ,uBAAuB;IAC1D,mBAAmB,CAAC,EAAE,MAAM,OAAO,CAAC;IACpC,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IAChD,wBAAwB,CAAC,EAAE,CAC1B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,KACZ;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IACtC,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;IACjD,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;CAC5C;AAED,UAAU,cAAc;IACvB,WAAW,EAAE,kBAAkB,CAAC;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uBAAuB,EAAE,MAAM,OAAO,CAAC,iBAAiB,CAAC,GAAG,iBAAiB,CAAC;IAC9E,oBAAoB,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC;CACtD;AAED,qBAAa,oBAAoB;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyB;IAClD,OAAO,CAAC,UAAU,CAAkC;IACpD,OAAO,CAAC,WAAW,CAAmC;IACtD,OAAO,CAAC,SAAS,CAAM;IACvB,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,qBAAqB,CAA6B;IAC1D,OAAO,CAAC,eAAe,CAAK;IAEtB,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BrD,QAAQ,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO;IAIpD,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO;IAIzC,mBAAmB,IAAI,OAAO;IAI9B,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAK1C,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO;IAKnE,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAIhC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B,WAAW;IAIL,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAc9B"}
1
+ {"version":3,"file":"SectionRuntimeEngine.d.ts","sourceRoot":"","sources":["../../src/runtime/SectionRuntimeEngine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AACvF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,UAAU,iBAAkB,SAAQ,uBAAuB;IAC1D,mBAAmB,CAAC,EAAE,MAAM,OAAO,CAAC;IACpC,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IAChD,wBAAwB,CAAC,EAAE,CAC1B,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,KACZ;QAAE,WAAW,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IACtC,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,KAAK,MAAM,IAAI,CAAC;IAC/D,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;CAC5C;AAED,UAAU,cAAc;IACvB,WAAW,EAAE,kBAAkB,CAAC;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uBAAuB,EAAE,MAAM,OAAO,CAAC,iBAAiB,CAAC,GAAG,iBAAiB,CAAC;IAC9E,oBAAoB,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC;CACtD;AAED,qBAAa,oBAAoB;IAChC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyB;IAClD,OAAO,CAAC,UAAU,CAAkC;IACpD,OAAO,CAAC,WAAW,CAAmC;IACtD,OAAO,CAAC,SAAS,CAAM;IACvB,OAAO,CAAC,SAAS,CAAqB;IACtC,OAAO,CAAC,qBAAqB,CAA6B;IAC1D,OAAO,CAAC,eAAe,CAAK;IAEtB,UAAU,CAAC,IAAI,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IA6BrD,QAAQ,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO;IAIpD,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO;IAIzC,mBAAmB,IAAI,OAAO;IAI9B,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAK1C,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO;IAKnE,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAIhC,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAIxB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAI9B,WAAW;IAIL,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAc9B"}
@@ -65,7 +65,16 @@ export declare class HighlightCoordinator implements IHighlightCoordinator {
65
65
  private nextAnnotationId;
66
66
  private supported;
67
67
  private rangeSerializer;
68
+ private themeObserver;
69
+ private explicitTTSColorOverride;
68
70
  constructor(config?: HighlightCoordinatorConfig);
71
+ private setupThemeObservation;
72
+ private parseColor;
73
+ private relativeLuminance;
74
+ private contrastRatio;
75
+ private blend;
76
+ private resolveAdaptiveTTSStyle;
77
+ private applyAdaptiveTTSStyle;
69
78
  /**
70
79
  * Initialize CSS Custom Highlights
71
80
  */
@@ -1 +1 @@
1
- {"version":3,"file":"HighlightCoordinator.d.ts","sourceRoot":"","sources":["../../src/services/HighlightCoordinator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HighlightCoordinator.d.ts","sourceRoot":"","sources":["../../src/services/HighlightCoordinator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAmB,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE7E;;GAEG;AACH,oBAAY,aAAa;IACxB,QAAQ,aAAa;IACrB,YAAY,iBAAiB;IAC7B,UAAU,eAAe;CACzB;AAED;;GAEG;AACH,oBAAY,cAAc;IACzB,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,IAAI,SAAS;IACb,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,SAAS,cAAc;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,aAAa,CAAC,UAAU,CAAC;IAC/B,KAAK,EAAE,cAAc,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,MAAM,0BAA0B,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AAE/D,qBAAa,oBAAqB,YAAW,qBAAqB;IACjE,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,gBAAgB,CAA0B;IAClD,OAAO,CAAC,oBAAoB,CAA0B;IACtD,OAAO,CAAC,WAAW,CAAiC;IAEpD,OAAO,CAAC,eAAe,CAAwC;IAC/D,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,aAAa,CAAiC;IACtD,OAAO,CAAC,wBAAwB,CAAmD;gBAEvE,MAAM,GAAE,0BAA+B;IAmBnD,OAAO,CAAC,qBAAqB;IA4B7B,OAAO,CAAC,UAAU;IA4DlB,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,aAAa;IAWrB,OAAO,CAAC,KAAK;IAYb,OAAO,CAAC,uBAAuB;IA2E/B,OAAO,CAAC,qBAAqB;IAqB7B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAmB5B;;OAEG;IACH,OAAO,CAAC,cAAc;IA4DtB;;;;;;OAMG;IACH,gBAAgB,CACf,QAAQ,EAAE,IAAI,EACd,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,GACf,IAAI;IAgBP;;;;OAIG;IACH,oBAAoB,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI;IAkB3C;;OAEG;IACH,YAAY,IAAI,IAAI;IAKpB;;OAEG;IACH,gBAAgB,IAAI,IAAI;IAKxB;;OAEG;IACH,QAAQ,IAAI,IAAI;IAKhB;;;;;;OAMG;IACH,aAAa,CACZ,KAAK,EAAE,KAAK,EACZ,KAAK,GAAE,cAAsC,GAC3C,MAAM;IA0BT;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IA6BlC;;OAEG;IACH,gBAAgB,IAAI,IAAI;IAUxB;;OAEG;IACH,cAAc,IAAI,UAAU,EAAE;IAI9B;;OAEG;IACH,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAI5C;;;;;OAKG;IACH,qBAAqB,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,GAAG,IAAI;IAuBjE;;;;;;OAMG;IACH,iBAAiB,CAChB,IAAI,GAAE,OAAuB,GAC3B,KAAK,CACP,eAAe,GAAG;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,cAAc,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,CAC1E;IASD;;;;;;;OAOG;IACH,iBAAiB,CAChB,IAAI,EAAE,KAAK,CACV,eAAe,GAAG;QACjB,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,KAAK,EAAE,cAAc,CAAC;QACtB,SAAS,CAAC,EAAE,MAAM,CAAC;KACnB,CACD,EACD,IAAI,GAAE,OAAuB,GAC3B,MAAM;IAkBT;;;;;OAKG;IACH,cAAc,CACb,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,aAAa,EACnB,KAAK,GAAE,cAAsC,GAC3C,IAAI;IAwBP;;OAEG;IACH,eAAe,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI;IAgB1C;;OAEG;IACH,QAAQ,IAAI,IAAI;IAMhB;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;;;;OAKG;IACH,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IA6B7D;;OAEG;IACH,OAAO,IAAI,IAAI;CAgBf"}