@pie-players/pie-assessment-toolkit 0.3.60 → 0.3.62

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 (270) hide show
  1. package/dist/attempt/AssessmentSession.js +0 -1
  2. package/dist/attempt/TestSession.js +0 -1
  3. package/dist/attempt/adapters/activity-to-test-attempt-session.js +0 -1
  4. package/dist/components/ItemToolBar.custom-element.js +1 -10106
  5. package/dist/components/PieAssessmentToolkit.custom-element.js +125 -29897
  6. package/dist/components/SectionToolBar.custom-element.js +1 -14372
  7. package/dist/components/chunks/ItemToolBar-843902tp.js +51 -0
  8. package/dist/components/chunks/ItemToolBar-84nv78dy.js +22 -0
  9. package/dist/components/item-toolbar-element.js +0 -1
  10. package/dist/components/pie-assessment-toolkit-element.js +0 -1
  11. package/dist/components/section-toolbar-element.js +0 -1
  12. package/dist/context/assessment-toolkit-context.js +0 -1
  13. package/dist/context/runtime-context-consumer.js +0 -1
  14. package/dist/index.js +0 -1
  15. package/dist/item-loader.js +0 -1
  16. package/dist/policy/core/PolicySource.js +0 -1
  17. package/dist/policy/core/ToolPolicyEngine.js +0 -1
  18. package/dist/policy/core/compose-decision.js +0 -1
  19. package/dist/policy/core/decision-types.js +0 -1
  20. package/dist/policy/core/engine-context.js +0 -1
  21. package/dist/policy/core/pnp-policy-inputs.js +0 -1
  22. package/dist/policy/core/policy-source-tag.js +0 -1
  23. package/dist/policy/core/provenance.js +0 -1
  24. package/dist/policy/engine.js +0 -1
  25. package/dist/policy/internal.js +0 -1
  26. package/dist/policy/sources/PnpPolicySource.js +0 -1
  27. package/dist/runtime/RuntimeRegistry.js +0 -1
  28. package/dist/runtime/SectionRuntimeEngine.js +0 -1
  29. package/dist/runtime/adapter/SectionEngineAdapter.js +0 -1
  30. package/dist/runtime/adapter/coordinator-bridge.js +0 -1
  31. package/dist/runtime/adapter/dom-event-bridge.js +0 -1
  32. package/dist/runtime/adapter/framework-error-bridge.js +0 -1
  33. package/dist/runtime/adapter/instrumentation-bridge.js +0 -1
  34. package/dist/runtime/adapter/subscriber-fanout.js +0 -1
  35. package/dist/runtime/catalog-registration.js +0 -1
  36. package/dist/runtime/core/SectionEngineCore.js +0 -1
  37. package/dist/runtime/core/cohort.js +0 -1
  38. package/dist/runtime/core/engine-input.js +0 -1
  39. package/dist/runtime/core/engine-output.js +0 -1
  40. package/dist/runtime/core/engine-readiness.js +0 -1
  41. package/dist/runtime/core/engine-resolver.js +0 -1
  42. package/dist/runtime/core/engine-stage-derivation.js +0 -1
  43. package/dist/runtime/core/engine-state.js +0 -1
  44. package/dist/runtime/core/engine-transition.js +0 -1
  45. package/dist/runtime/engine-context.js +0 -1
  46. package/dist/runtime/engine.js +0 -1
  47. package/dist/runtime/internal.js +0 -1
  48. package/dist/runtime/registration-events.js +0 -1
  49. package/dist/runtime/runtime-id.js +0 -1
  50. package/dist/runtime/section-runtime-engine-host-context.js +0 -1
  51. package/dist/runtime/session-event-emitter-policy.js +0 -1
  52. package/dist/runtime/stage-emit-gate.js +0 -1
  53. package/dist/runtime/tool-host-contract.js +0 -1
  54. package/dist/services/AccessibilityCatalogResolver.js +0 -1
  55. package/dist/services/ContextVariableStore.js +0 -1
  56. package/dist/services/ElementToolStateStore.js +0 -1
  57. package/dist/services/HighlightCoordinator.js +144 -2
  58. package/dist/services/I18nService.js +0 -1
  59. package/dist/services/RangeSerializer.js +0 -1
  60. package/dist/services/SSMLExtractor.js +0 -1
  61. package/dist/services/TTSService.js +0 -1
  62. package/dist/services/ThemeProvider.js +0 -1
  63. package/dist/services/ToolConfigResolver.js +0 -1
  64. package/dist/services/ToolCoordinator.js +0 -1
  65. package/dist/services/ToolRegistry.js +0 -1
  66. package/dist/services/ToolkitCoordinator.js +0 -1
  67. package/dist/services/create-tools-config.js +0 -1
  68. package/dist/services/createDefaultToolRegistry.js +0 -1
  69. package/dist/services/defaultPersonalNeedsProfile.js +0 -1
  70. package/dist/services/framework-error-bus.js +0 -1
  71. package/dist/services/framework-error.js +0 -1
  72. package/dist/services/interfaces.js +0 -1
  73. package/dist/services/pnp-standard-features.js +0 -1
  74. package/dist/services/section-controller-types.js +0 -1
  75. package/dist/services/tool-config-defaults.js +0 -1
  76. package/dist/services/tool-config-validation.js +0 -1
  77. package/dist/services/tool-context.js +0 -1
  78. package/dist/services/tool-instance-id.js +0 -1
  79. package/dist/services/tool-providers/DesmosToolProvider.js +0 -1
  80. package/dist/services/tool-providers/TTSToolProvider.js +0 -1
  81. package/dist/services/tool-providers/ToolProviderApi.js +0 -1
  82. package/dist/services/tool-providers/ToolProviderRegistry.js +0 -1
  83. package/dist/services/tool-providers/index.js +0 -1
  84. package/dist/services/toolbar-items.js +0 -1
  85. package/dist/services/tools-config-normalizer.js +0 -1
  86. package/dist/services/tts/browser-provider.js +0 -1
  87. package/dist/services/tts/catalog-span-alignment.js +0 -1
  88. package/dist/services/tts/generated-speech/assemble-plan.js +0 -1
  89. package/dist/services/tts/generated-speech/dom/build-dom-plan.js +0 -1
  90. package/dist/services/tts/generated-speech/dom/to-chunk-inputs.js +0 -1
  91. package/dist/services/tts/generated-speech/dom/types.js +0 -1
  92. package/dist/services/tts/generated-speech/index.js +0 -1
  93. package/dist/services/tts/generated-speech/math-speech-cache.js +0 -1
  94. package/dist/services/tts/generated-speech/types.js +0 -1
  95. package/dist/services/tts/highlight-pipeline/boundary-normalizer.js +0 -1
  96. package/dist/services/tts/highlight-pipeline/create-highlight-plan.js +0 -1
  97. package/dist/services/tts/highlight-pipeline/highlight-policy.js +0 -1
  98. package/dist/services/tts/highlight-pipeline/index.js +0 -1
  99. package/dist/services/tts/highlight-pipeline/math-semantic-resolver.js +0 -1
  100. package/dist/services/tts/highlight-pipeline/normalize-speech-chunks.js +0 -1
  101. package/dist/services/tts/highlight-pipeline/prose-boundary-resolver.js +0 -1
  102. package/dist/services/tts/highlight-pipeline/readable-region.js +0 -1
  103. package/dist/services/tts/highlight-pipeline/rendered-math-target-resolver.js +0 -1
  104. package/dist/services/tts/highlight-pipeline/types.js +0 -1
  105. package/dist/services/tts/highlight-pipeline/visible-map-range.js +0 -1
  106. package/dist/services/tts/highlight-target-resolver.js +0 -1
  107. package/dist/services/tts/math-alignment/index.js +0 -1
  108. package/dist/services/tts/math-alignment/mathml-tokenizer.js +0 -1
  109. package/dist/services/tts/math-alignment/range-resolver.js +0 -1
  110. package/dist/services/tts/math-alignment/sequence-aligner.js +0 -1
  111. package/dist/services/tts/math-alignment/speech-tokenizer.js +0 -1
  112. package/dist/services/tts/math-alignment/types.js +0 -1
  113. package/dist/services/tts/math-aware-text-processing.js +0 -1
  114. package/dist/services/tts/math-speech.js +0 -1
  115. package/dist/services/tts/mathml-sanitization.js +0 -1
  116. package/dist/services/tts/ssml/spoken-text.js +0 -1
  117. package/dist/services/tts/text-processing.js +0 -1
  118. package/dist/services/tts/text-segmentation.js +0 -1
  119. package/dist/services/tts/visual-line-ranges.js +0 -1
  120. package/dist/services/tts-control-events.js +0 -1
  121. package/dist/services/tts-runtime-config.js +0 -1
  122. package/dist/tools/calculators/desmos-provider.js +0 -1
  123. package/dist/tools/client.js +0 -1
  124. package/dist/tools/index.js +0 -1
  125. package/dist/tools/library-loader.js +0 -1
  126. package/dist/tools/registrations/accessibility-tools.js +0 -1
  127. package/dist/tools/registrations/calculator.js +0 -1
  128. package/dist/tools/registrations/interaction-tools.js +0 -1
  129. package/dist/tools/registrations/measurement-tools.js +0 -1
  130. package/dist/tools/registrations/subject-specific-tools.js +0 -1
  131. package/dist/tools/registrations/toolbar-registration-helpers.js +0 -1
  132. package/dist/tools/registrations/tts.js +0 -1
  133. package/dist/tools/response-discovery.js +0 -1
  134. package/dist/tools/tool-tag-map.js +0 -1
  135. package/dist/tools/types.js +0 -1
  136. package/dist/tools/variant-resolver.js +0 -1
  137. package/dist/utils/logger.js +0 -1
  138. package/package.json +13 -11
  139. package/dist/attempt/AssessmentSession.js.map +0 -1
  140. package/dist/attempt/TestSession.js.map +0 -1
  141. package/dist/attempt/adapters/activity-to-test-attempt-session.js.map +0 -1
  142. package/dist/components/item-toolbar-element.js.map +0 -1
  143. package/dist/components/pie-assessment-toolkit-element.js.map +0 -1
  144. package/dist/components/section-toolbar-element.js.map +0 -1
  145. package/dist/context/assessment-toolkit-context.js.map +0 -1
  146. package/dist/context/runtime-context-consumer.js.map +0 -1
  147. package/dist/index.js.map +0 -1
  148. package/dist/item-loader.js.map +0 -1
  149. package/dist/policy/core/PolicySource.js.map +0 -1
  150. package/dist/policy/core/ToolPolicyEngine.js.map +0 -1
  151. package/dist/policy/core/compose-decision.js.map +0 -1
  152. package/dist/policy/core/decision-types.js.map +0 -1
  153. package/dist/policy/core/engine-context.js.map +0 -1
  154. package/dist/policy/core/pnp-policy-inputs.js.map +0 -1
  155. package/dist/policy/core/policy-source-tag.js.map +0 -1
  156. package/dist/policy/core/provenance.js.map +0 -1
  157. package/dist/policy/engine.js.map +0 -1
  158. package/dist/policy/internal.js.map +0 -1
  159. package/dist/policy/sources/PnpPolicySource.js.map +0 -1
  160. package/dist/runtime/RuntimeRegistry.js.map +0 -1
  161. package/dist/runtime/SectionRuntimeEngine.js.map +0 -1
  162. package/dist/runtime/adapter/SectionEngineAdapter.js.map +0 -1
  163. package/dist/runtime/adapter/coordinator-bridge.js.map +0 -1
  164. package/dist/runtime/adapter/dom-event-bridge.js.map +0 -1
  165. package/dist/runtime/adapter/framework-error-bridge.js.map +0 -1
  166. package/dist/runtime/adapter/instrumentation-bridge.js.map +0 -1
  167. package/dist/runtime/adapter/subscriber-fanout.js.map +0 -1
  168. package/dist/runtime/catalog-registration.js.map +0 -1
  169. package/dist/runtime/core/SectionEngineCore.js.map +0 -1
  170. package/dist/runtime/core/cohort.js.map +0 -1
  171. package/dist/runtime/core/engine-input.js.map +0 -1
  172. package/dist/runtime/core/engine-output.js.map +0 -1
  173. package/dist/runtime/core/engine-readiness.js.map +0 -1
  174. package/dist/runtime/core/engine-resolver.js.map +0 -1
  175. package/dist/runtime/core/engine-stage-derivation.js.map +0 -1
  176. package/dist/runtime/core/engine-state.js.map +0 -1
  177. package/dist/runtime/core/engine-transition.js.map +0 -1
  178. package/dist/runtime/engine-context.js.map +0 -1
  179. package/dist/runtime/engine.js.map +0 -1
  180. package/dist/runtime/internal.js.map +0 -1
  181. package/dist/runtime/registration-events.js.map +0 -1
  182. package/dist/runtime/runtime-id.js.map +0 -1
  183. package/dist/runtime/section-runtime-engine-host-context.js.map +0 -1
  184. package/dist/runtime/session-event-emitter-policy.js.map +0 -1
  185. package/dist/runtime/stage-emit-gate.js.map +0 -1
  186. package/dist/runtime/tool-host-contract.js.map +0 -1
  187. package/dist/services/AccessibilityCatalogResolver.js.map +0 -1
  188. package/dist/services/ContextVariableStore.js.map +0 -1
  189. package/dist/services/ElementToolStateStore.js.map +0 -1
  190. package/dist/services/HighlightCoordinator.js.map +0 -1
  191. package/dist/services/I18nService.js.map +0 -1
  192. package/dist/services/RangeSerializer.js.map +0 -1
  193. package/dist/services/SSMLExtractor.js.map +0 -1
  194. package/dist/services/TTSService.js.map +0 -1
  195. package/dist/services/ThemeProvider.js.map +0 -1
  196. package/dist/services/ToolConfigResolver.js.map +0 -1
  197. package/dist/services/ToolCoordinator.js.map +0 -1
  198. package/dist/services/ToolRegistry.js.map +0 -1
  199. package/dist/services/ToolkitCoordinator.js.map +0 -1
  200. package/dist/services/create-tools-config.js.map +0 -1
  201. package/dist/services/createDefaultToolRegistry.js.map +0 -1
  202. package/dist/services/defaultPersonalNeedsProfile.js.map +0 -1
  203. package/dist/services/framework-error-bus.js.map +0 -1
  204. package/dist/services/framework-error.js.map +0 -1
  205. package/dist/services/interfaces.js.map +0 -1
  206. package/dist/services/pnp-standard-features.js.map +0 -1
  207. package/dist/services/section-controller-types.js.map +0 -1
  208. package/dist/services/tool-config-defaults.js.map +0 -1
  209. package/dist/services/tool-config-validation.js.map +0 -1
  210. package/dist/services/tool-context.js.map +0 -1
  211. package/dist/services/tool-instance-id.js.map +0 -1
  212. package/dist/services/tool-providers/DesmosToolProvider.js.map +0 -1
  213. package/dist/services/tool-providers/TTSToolProvider.js.map +0 -1
  214. package/dist/services/tool-providers/ToolProviderApi.js.map +0 -1
  215. package/dist/services/tool-providers/ToolProviderRegistry.js.map +0 -1
  216. package/dist/services/tool-providers/index.js.map +0 -1
  217. package/dist/services/toolbar-items.js.map +0 -1
  218. package/dist/services/tools-config-normalizer.js.map +0 -1
  219. package/dist/services/tts/browser-provider.js.map +0 -1
  220. package/dist/services/tts/catalog-span-alignment.js.map +0 -1
  221. package/dist/services/tts/generated-speech/assemble-plan.js.map +0 -1
  222. package/dist/services/tts/generated-speech/dom/build-dom-plan.js.map +0 -1
  223. package/dist/services/tts/generated-speech/dom/to-chunk-inputs.js.map +0 -1
  224. package/dist/services/tts/generated-speech/dom/types.js.map +0 -1
  225. package/dist/services/tts/generated-speech/index.js.map +0 -1
  226. package/dist/services/tts/generated-speech/math-speech-cache.js.map +0 -1
  227. package/dist/services/tts/generated-speech/types.js.map +0 -1
  228. package/dist/services/tts/highlight-pipeline/boundary-normalizer.js.map +0 -1
  229. package/dist/services/tts/highlight-pipeline/create-highlight-plan.js.map +0 -1
  230. package/dist/services/tts/highlight-pipeline/highlight-policy.js.map +0 -1
  231. package/dist/services/tts/highlight-pipeline/index.js.map +0 -1
  232. package/dist/services/tts/highlight-pipeline/math-semantic-resolver.js.map +0 -1
  233. package/dist/services/tts/highlight-pipeline/normalize-speech-chunks.js.map +0 -1
  234. package/dist/services/tts/highlight-pipeline/prose-boundary-resolver.js.map +0 -1
  235. package/dist/services/tts/highlight-pipeline/readable-region.js.map +0 -1
  236. package/dist/services/tts/highlight-pipeline/rendered-math-target-resolver.js.map +0 -1
  237. package/dist/services/tts/highlight-pipeline/types.js.map +0 -1
  238. package/dist/services/tts/highlight-pipeline/visible-map-range.js.map +0 -1
  239. package/dist/services/tts/highlight-target-resolver.js.map +0 -1
  240. package/dist/services/tts/math-alignment/index.js.map +0 -1
  241. package/dist/services/tts/math-alignment/mathml-tokenizer.js.map +0 -1
  242. package/dist/services/tts/math-alignment/range-resolver.js.map +0 -1
  243. package/dist/services/tts/math-alignment/sequence-aligner.js.map +0 -1
  244. package/dist/services/tts/math-alignment/speech-tokenizer.js.map +0 -1
  245. package/dist/services/tts/math-alignment/types.js.map +0 -1
  246. package/dist/services/tts/math-aware-text-processing.js.map +0 -1
  247. package/dist/services/tts/math-speech.js.map +0 -1
  248. package/dist/services/tts/mathml-sanitization.js.map +0 -1
  249. package/dist/services/tts/ssml/spoken-text.js.map +0 -1
  250. package/dist/services/tts/text-processing.js.map +0 -1
  251. package/dist/services/tts/text-segmentation.js.map +0 -1
  252. package/dist/services/tts/visual-line-ranges.js.map +0 -1
  253. package/dist/services/tts-control-events.js.map +0 -1
  254. package/dist/services/tts-runtime-config.js.map +0 -1
  255. package/dist/tools/calculators/desmos-provider.js.map +0 -1
  256. package/dist/tools/client.js.map +0 -1
  257. package/dist/tools/index.js.map +0 -1
  258. package/dist/tools/library-loader.js.map +0 -1
  259. package/dist/tools/registrations/accessibility-tools.js.map +0 -1
  260. package/dist/tools/registrations/calculator.js.map +0 -1
  261. package/dist/tools/registrations/interaction-tools.js.map +0 -1
  262. package/dist/tools/registrations/measurement-tools.js.map +0 -1
  263. package/dist/tools/registrations/subject-specific-tools.js.map +0 -1
  264. package/dist/tools/registrations/toolbar-registration-helpers.js.map +0 -1
  265. package/dist/tools/registrations/tts.js.map +0 -1
  266. package/dist/tools/response-discovery.js.map +0 -1
  267. package/dist/tools/tool-tag-map.js.map +0 -1
  268. package/dist/tools/types.js.map +0 -1
  269. package/dist/tools/variant-resolver.js.map +0 -1
  270. package/dist/utils/logger.js.map +0 -1
@@ -47,4 +47,3 @@ export class RuntimeRegistry {
47
47
  this.shellsByElement.clear();
48
48
  }
49
49
  }
50
- //# sourceMappingURL=RuntimeRegistry.js.map
@@ -368,4 +368,3 @@ export class SectionRuntimeEngine {
368
368
  }
369
369
  }
370
370
  const noopDispose = () => { };
371
- //# sourceMappingURL=SectionRuntimeEngine.js.map
@@ -180,4 +180,3 @@ export class SectionEngineAdapter {
180
180
  this.instrumentationBridge.dispatch(output);
181
181
  }
182
182
  }
183
- //# sourceMappingURL=SectionEngineAdapter.js.map
@@ -124,4 +124,3 @@ export function createCoordinatorBridge(options) {
124
124
  }
125
125
  return { resolveSectionController, dispose };
126
126
  }
127
- //# sourceMappingURL=coordinator-bridge.js.map
@@ -92,4 +92,3 @@ export function createDomEventBridge(options) {
92
92
  }
93
93
  return { dispatch, setHost };
94
94
  }
95
- //# sourceMappingURL=dom-event-bridge.js.map
@@ -44,4 +44,3 @@ export function createFrameworkErrorBridge(options) {
44
44
  }
45
45
  return { dispatch };
46
46
  }
47
- //# sourceMappingURL=framework-error-bridge.js.map
@@ -36,4 +36,3 @@ export function createInstrumentationBridge(options = {}) {
36
36
  }
37
37
  return { dispatch, setHook };
38
38
  }
39
- //# sourceMappingURL=instrumentation-bridge.js.map
@@ -57,4 +57,3 @@ export function createSubscriberFanout() {
57
57
  }
58
58
  return { emit, subscribe, dispose, getListenerCount };
59
59
  }
60
- //# sourceMappingURL=subscriber-fanout.js.map
@@ -51,4 +51,3 @@ export function collectCatalogRegistrations(detail, runtime = {}) {
51
51
  }
52
52
  return registrations;
53
53
  }
54
- //# sourceMappingURL=catalog-registration.js.map
@@ -78,4 +78,3 @@ export class SectionEngineCore {
78
78
  }
79
79
  }
80
80
  }
81
- //# sourceMappingURL=SectionEngineCore.js.map
@@ -46,4 +46,3 @@ export function makeCohort(args) {
46
46
  attemptId: args.attemptId ?? "",
47
47
  };
48
48
  }
49
- //# sourceMappingURL=cohort.js.map
@@ -16,4 +16,3 @@
16
16
  * adapter; the core only sees readiness signals derived from them.
17
17
  */
18
18
  export {};
19
- //# sourceMappingURL=engine-input.js.map
@@ -24,4 +24,3 @@
24
24
  * "all items loaded" signal flows through `loading-complete` only.
25
25
  */
26
26
  export {};
27
- //# sourceMappingURL=engine-output.js.map
@@ -44,4 +44,3 @@ export function createReadinessDetail(args) {
44
44
  reason: args.reason,
45
45
  };
46
46
  }
47
- //# sourceMappingURL=engine-readiness.js.map
@@ -112,4 +112,3 @@ export function resolveSectionEngineRuntimeState(args, deps) {
112
112
  playerRuntime,
113
113
  };
114
114
  }
115
- //# sourceMappingURL=engine-resolver.js.map
@@ -27,4 +27,3 @@ export function phaseToStage(phase) {
27
27
  return "disposed";
28
28
  }
29
29
  }
30
- //# sourceMappingURL=engine-stage-derivation.js.map
@@ -46,4 +46,3 @@ export function createInitialEngineState() {
46
46
  loadedCount: 0,
47
47
  };
48
48
  }
49
- //# sourceMappingURL=engine-state.js.map
@@ -256,4 +256,3 @@ export function transition(state, input) {
256
256
  }
257
257
  }
258
258
  }
259
- //# sourceMappingURL=engine-transition.js.map
@@ -29,4 +29,3 @@
29
29
  * provided to descendants.
30
30
  */
31
31
  export const SECTION_RUNTIME_ENGINE_KEY = Symbol("@pie-players/section-runtime-engine");
32
- //# sourceMappingURL=engine-context.js.map
@@ -21,4 +21,3 @@
21
21
  export { SectionRuntimeEngine, } from "./SectionRuntimeEngine.js";
22
22
  export { SECTION_RUNTIME_ENGINE_KEY, } from "./engine-context.js";
23
23
  export { sectionRuntimeEngineHostContext, connectSectionRuntimeEngineHostContext, } from "./section-runtime-engine-host-context.js";
24
- //# sourceMappingURL=engine.js.map
@@ -43,4 +43,3 @@ export { phaseToStage } from "./core/engine-stage-derivation.js";
43
43
  export { DEFAULT_ASSESSMENT_ID, DEFAULT_ENV, DEFAULT_ISOLATION, DEFAULT_LAZY_INIT, DEFAULT_PLAYER_TYPE, resolveOnFrameworkError, resolveRuntime, resolveSectionEngineRuntimeState, resolveToolsConfig, } from "./core/engine-resolver.js";
44
44
  export { createReadinessDetail, resolveReadinessPhase, } from "./core/engine-readiness.js";
45
45
  export { transition } from "./core/engine-transition.js";
46
- //# sourceMappingURL=internal.js.map
@@ -4,4 +4,3 @@ export const PIE_INTERNAL_ITEM_SESSION_CHANGED_EVENT = "pie-item-session-changed
4
4
  export const PIE_ITEM_SESSION_CHANGED_EVENT = "item-session-changed";
5
5
  export const PIE_INTERNAL_CONTENT_LOADED_EVENT = "pie-content-loaded";
6
6
  export const PIE_INTERNAL_ITEM_PLAYER_ERROR_EVENT = "pie-item-player-error";
7
- //# sourceMappingURL=registration-events.js.map
@@ -7,4 +7,3 @@
7
7
  export function createRuntimeId(prefix = "runtime") {
8
8
  return `${prefix}-${Math.random().toString(16).slice(2)}-${Date.now()}`;
9
9
  }
10
- //# sourceMappingURL=runtime-id.js.map
@@ -93,4 +93,3 @@ export function connectSectionRuntimeEngineHostContext(host, onValue) {
93
93
  consumer.disconnect();
94
94
  };
95
95
  }
96
- //# sourceMappingURL=section-runtime-engine-host-context.js.map
@@ -54,4 +54,3 @@ function getMetadataOnlySignature(payload) {
54
54
  return String(payload.itemId || "");
55
55
  }
56
56
  }
57
- //# sourceMappingURL=session-event-emitter-policy.js.map
@@ -80,4 +80,3 @@ export function runStageEmitWithSuppression(context, detail) {
80
80
  }
81
81
  return true;
82
82
  }
83
- //# sourceMappingURL=stage-emit-gate.js.map
@@ -45,4 +45,3 @@ export function connectToolRegionScopeContext(host, onValue) {
45
45
  export function isContextValueDefined(value) {
46
46
  return value !== null && value !== undefined;
47
47
  }
48
- //# sourceMappingURL=tool-host-contract.js.map
@@ -418,4 +418,3 @@ export class AccessibilityCatalogResolver {
418
418
  this.reset();
419
419
  }
420
420
  }
421
- //# sourceMappingURL=AccessibilityCatalogResolver.js.map
@@ -204,4 +204,3 @@ export class ContextVariableStore {
204
204
  }
205
205
  }
206
206
  }
207
- //# sourceMappingURL=ContextVariableStore.js.map
@@ -197,4 +197,3 @@ export class ElementToolStateStore {
197
197
  this._notifyStateChange();
198
198
  }
199
199
  }
200
- //# sourceMappingURL=ElementToolStateStore.js.map
@@ -333,12 +333,155 @@ export class HighlightCoordinator {
333
333
  color: inherit;
334
334
  }
335
335
 
336
+ /* The base light/dark pair is fixed: #4221d5 on light, #9c89ec on dark.
337
+ One value cannot serve both -- #4221d5 is 2.41:1 on black and #9c89ec is
338
+ 2.85:1 on white -- so neither of those two consults the theme accent,
339
+ which is chosen against one background and illegible on the other.
340
+
341
+ Each state has its own token so overriding one never silently moves the
342
+ other, and so either can beat a host-set pie-primary: a var() fallback
343
+ can never override a value the host actually set. */
336
344
  ::highlight(annotation-underline) {
337
345
  background-color: transparent;
338
- text-decoration: underline 2px solid var(--pie-primary, #0066cc);
346
+ text-decoration: underline 2px solid var(--pie-annotation-underline, #4221d5);
339
347
  text-underline-offset: 2px;
340
348
  color: inherit;
341
349
  }
350
+
351
+ /* The blocks below cover annotation swatches, print, and reduced motion.
352
+ They deliberately do NOT retune the TTS layers: applyAdaptiveTTSStyle()
353
+ writes the pie-tts custom properties inline on documentElement on every
354
+ paint and on theme change, so a media query that only varies a var()
355
+ fallback for those can never take effect. Annotation colours have no such
356
+ adaptive path -- they are fixed swatches a student chose -- so a media
357
+ query is the only way to adjust them, and each keeps its var() so a host
358
+ override still wins.
359
+
360
+ The names above are spelled without their leading dashes on purpose.
361
+ check-theme-tokens scans comments, and its token pattern stops at the
362
+ first non-alphanumeric character, so writing the wildcard form reads as
363
+ consumption of a shorter token that is not in the registry and fails the
364
+ check. Spell property names in full, or omit the dashes. */
365
+
366
+ @media (prefers-color-scheme: dark) {
367
+ ::highlight(annotation-yellow) {
368
+ background-color: var(--pie-annotation-yellow-highlight, rgba(139, 117, 0, 0.6));
369
+ }
370
+ ::highlight(annotation-green) {
371
+ background-color: var(--pie-annotation-green-highlight, rgba(45, 92, 63, 0.6));
372
+ }
373
+ ::highlight(annotation-blue) {
374
+ background-color: var(--pie-annotation-blue-highlight, rgba(0, 102, 170, 0.6));
375
+ }
376
+ ::highlight(annotation-pink) {
377
+ background-color: var(--pie-annotation-pink-highlight, rgba(139, 51, 74, 0.6));
378
+ }
379
+ ::highlight(annotation-orange) {
380
+ background-color: var(--pie-annotation-orange-highlight, rgba(154, 99, 0, 0.6));
381
+ }
382
+ ::highlight(annotation-underline) {
383
+ text-decoration-color: var(--pie-annotation-underline-dark, #9c89ec);
384
+ }
385
+ }
386
+
387
+ /* The media query above reports the OS preference, which is only a guess
388
+ at what the page is actually showing. An app that declares a theme has
389
+ the final say, so the rules below override it. pie-theme always stamps
390
+ data-theme on documentElement (scope="document") or on its own host, and
391
+ resolves to a dark palette only for the literal value "dark" -- every
392
+ other value, including DaisyUI theme ids, maps to a light base.
393
+
394
+ The three cases are mutually exclusive, so they never fight each other.
395
+ All carry attribute selectors, which outrank the bare ::highlight() rules
396
+ above -- including the one inside the media query, since a media query
397
+ adds no specificity -- whatever the source order. */
398
+ [data-theme="light"] ::highlight(annotation-underline) {
399
+ text-decoration-color: var(--pie-annotation-underline, #4221d5);
400
+ }
401
+
402
+ [data-theme="dark"] ::highlight(annotation-underline) {
403
+ text-decoration-color: var(--pie-annotation-underline-dark, #9c89ec);
404
+ }
405
+
406
+ /* A host or DaisyUI palette: follow its accent so the mark belongs to that
407
+ theme, falling back to the light default when it declares none. */
408
+ [data-theme]:not([data-theme="light"]):not([data-theme="dark"]) ::highlight(annotation-underline) {
409
+ text-decoration-color: var(--pie-annotation-underline, var(--pie-primary, #4221d5));
410
+ }
411
+
412
+ /* WCAG 2.2 SC 1.4.11 non-text contrast: a highlight is the only indication
413
+ that text is annotated, so the swatches saturate and the underline
414
+ thickens when the user asks for more contrast.
415
+
416
+ The value is "more", not "high". The stylesheet this was recovered from
417
+ used prefers-contrast: high, which is not a valid value for the feature
418
+ -- the keywords are no-preference, more, less, custom. An invalid query
419
+ evaluates to "not all", so that block could never have matched in any
420
+ browser even had the file been loaded. Verified with matchMedia under
421
+ emulation: "high" stays false where "more" flips true. */
422
+ @media (prefers-contrast: more) {
423
+ ::highlight(annotation-yellow) {
424
+ background-color: var(--pie-annotation-yellow-highlight, rgba(255, 255, 0, 0.7));
425
+ }
426
+ ::highlight(annotation-green) {
427
+ background-color: var(--pie-annotation-green-highlight, rgba(0, 255, 127, 0.7));
428
+ }
429
+ ::highlight(annotation-blue) {
430
+ background-color: var(--pie-annotation-blue-highlight, rgba(0, 191, 255, 0.7));
431
+ }
432
+ ::highlight(annotation-pink) {
433
+ background-color: var(--pie-annotation-pink-highlight, rgba(255, 105, 180, 0.7));
434
+ }
435
+ ::highlight(annotation-orange) {
436
+ background-color: var(--pie-annotation-orange-highlight, rgba(255, 165, 0, 0.85));
437
+ }
438
+ ::highlight(annotation-underline) {
439
+ text-decoration-thickness: 3px;
440
+ }
441
+ }
442
+
443
+ @media print {
444
+ /* TTS highlighting is a transient read-along cue, not content. */
445
+ ::highlight(tts-word),
446
+ ::highlight(tts-sentence),
447
+ [data-pie-tts-word-element="true"],
448
+ [data-pie-tts-sentence-element="true"] {
449
+ background-color: transparent;
450
+ text-decoration: none;
451
+ text-shadow: none;
452
+ border-bottom: none;
453
+ }
454
+
455
+ /* Annotations are student work and must survive printing, but a fill
456
+ that reads fine on screen can print as an illegible wash, so each
457
+ becomes an underline that keeps its colour coding. */
458
+ ::highlight(annotation-yellow),
459
+ ::highlight(annotation-green),
460
+ ::highlight(annotation-blue),
461
+ ::highlight(annotation-pink),
462
+ ::highlight(annotation-orange) {
463
+ background-color: transparent;
464
+ border-bottom: 2px solid currentColor;
465
+ }
466
+ ::highlight(annotation-yellow) { border-bottom-color: #ffeb3b; }
467
+ ::highlight(annotation-green) { border-bottom-color: #a6e1c5; }
468
+ ::highlight(annotation-blue) { border-bottom-color: #a7e0f6; }
469
+ ::highlight(annotation-pink) { border-bottom-color: #ff9fae; }
470
+ ::highlight(annotation-orange) { border-bottom-color: #ffa500; }
471
+ ::highlight(annotation-underline) {
472
+ text-decoration-color: #000;
473
+ border-bottom: none;
474
+ }
475
+ }
476
+
477
+ /* text-shadow is a direct property rather than a var(), so unlike the
478
+ other TTS rules this one is not overridden by the adaptive path. */
479
+ @media (prefers-reduced-motion: reduce) {
480
+ ::highlight(tts-word),
481
+ [data-pie-tts-word-element="true"] {
482
+ text-shadow: none;
483
+ }
484
+ }
342
485
  `;
343
486
  document.head.appendChild(style);
344
487
  }
@@ -775,4 +918,3 @@ export class HighlightCoordinator {
775
918
  this.themeObserver = null;
776
919
  }
777
920
  }
778
- //# sourceMappingURL=HighlightCoordinator.js.map
@@ -272,4 +272,3 @@ export class I18nService {
272
272
  return browserLang.split("-")[0];
273
273
  }
274
274
  }
275
- //# sourceMappingURL=I18nService.js.map
@@ -196,4 +196,3 @@ export class RangeSerializer {
196
196
  return data.map((item) => this.deserialize(item, root));
197
197
  }
198
198
  }
199
- //# sourceMappingURL=RangeSerializer.js.map
@@ -444,4 +444,3 @@ export class SSMLExtractor {
444
444
  this.catalogCounter = 0;
445
445
  }
446
446
  }
447
- //# sourceMappingURL=SSMLExtractor.js.map
@@ -1974,4 +1974,3 @@ export class TTSService {
1974
1974
  }
1975
1975
  }
1976
1976
  }
1977
- //# sourceMappingURL=TTSService.js.map
@@ -332,4 +332,3 @@ export class ThemeProvider {
332
332
  this.rootElement.style.removeProperty("--pie-button-focus-outline");
333
333
  }
334
334
  }
335
- //# sourceMappingURL=ThemeProvider.js.map
@@ -227,4 +227,3 @@ export class ToolConfigResolver {
227
227
  };
228
228
  }
229
229
  }
230
- //# sourceMappingURL=ToolConfigResolver.js.map
@@ -358,4 +358,3 @@ export class ToolCoordinator {
358
358
  }));
359
359
  }
360
360
  }
361
- //# sourceMappingURL=ToolCoordinator.js.map
@@ -412,4 +412,3 @@ export class ToolRegistry {
412
412
  return tool.renderToolbar(context, mergedContext);
413
413
  }
414
414
  }
415
- //# sourceMappingURL=ToolRegistry.js.map
@@ -1750,4 +1750,3 @@ export class ToolkitCoordinator {
1750
1750
  await this.registerProviderFromTool(ttsRegistration);
1751
1751
  }
1752
1752
  }
1753
- //# sourceMappingURL=ToolkitCoordinator.js.map
@@ -10,4 +10,3 @@ export function createToolsConfig(args) {
10
10
  toolRegistry: args.toolRegistry,
11
11
  });
12
12
  }
13
- //# sourceMappingURL=create-tools-config.js.map
@@ -123,4 +123,3 @@ export const DEFAULT_TOOL_ORDER = [
123
123
  "graph",
124
124
  "periodicTable",
125
125
  ];
126
- //# sourceMappingURL=createDefaultToolRegistry.js.map
@@ -22,4 +22,3 @@ export function createDefaultPersonalNeedsProfile() {
22
22
  activateAtInit: [],
23
23
  };
24
24
  }
25
- //# sourceMappingURL=defaultPersonalNeedsProfile.js.map
@@ -65,4 +65,3 @@ export class FrameworkErrorBus {
65
65
  return this.listeners.size;
66
66
  }
67
67
  }
68
- //# sourceMappingURL=framework-error-bus.js.map
@@ -77,4 +77,3 @@ export function formatFrameworkErrorForConsole(error) {
77
77
  return `${prefix} ${error.message}`;
78
78
  return `${prefix} ${error.message}\n- ${error.details.join("\n- ")}`;
79
79
  }
80
- //# sourceMappingURL=framework-error.js.map
@@ -9,4 +9,3 @@
9
9
  */
10
10
  export {};
11
11
  // I18nServiceApi is re-exported from @pie-players/pie-players-shared/i18n
12
- //# sourceMappingURL=interfaces.js.map
@@ -336,4 +336,3 @@ export function getFeatureCategory(featureId) {
336
336
  export function getFeaturesInCategory(category) {
337
337
  return Object.values(QTI_STANDARD_ACCESS_FEATURES[category]);
338
338
  }
339
- //# sourceMappingURL=pnp-standard-features.js.map
@@ -1,2 +1 @@
1
1
  export {};
2
- //# sourceMappingURL=section-controller-types.js.map
@@ -52,4 +52,3 @@ export const SECTION_PLAYER_PREFERRED_TOOL_PLACEMENT = {
52
52
  item: ["calculator", "textToSpeech", "answerEliminator", "annotationToolbar"],
53
53
  passage: ["textToSpeech", "annotationToolbar"],
54
54
  };
55
- //# sourceMappingURL=tool-config-defaults.js.map
@@ -241,4 +241,3 @@ export function normalizeAndValidateToolsConfig(input, options = {}) {
241
241
  diagnostics,
242
242
  };
243
243
  }
244
- //# sourceMappingURL=tool-config-validation.js.map
@@ -292,4 +292,3 @@ export function hasScienceContent(context) {
292
292
  ];
293
293
  return scienceIndicators.some((pattern) => pattern.test(text));
294
294
  }
295
- //# sourceMappingURL=tool-context.js.map
@@ -52,4 +52,3 @@ export function toOverlayToolId(id) {
52
52
  return id;
53
53
  return createScopedToolId(parsed.baseToolId, parsed.scopeLevel, parsed.scopeId);
54
54
  }
55
- //# sourceMappingURL=tool-instance-id.js.map
@@ -161,4 +161,3 @@ export class DesmosToolProvider {
161
161
  console.log("[DesmosToolProvider] Destroyed");
162
162
  }
163
163
  }
164
- //# sourceMappingURL=DesmosToolProvider.js.map
@@ -194,4 +194,3 @@ export class TTSToolProvider {
194
194
  console.log("[TTSToolProvider] Destroyed");
195
195
  }
196
196
  }
197
- //# sourceMappingURL=TTSToolProvider.js.map
@@ -5,4 +5,3 @@
5
5
  * configuration, authentication, or external services.
6
6
  */
7
7
  export {};
8
- //# sourceMappingURL=ToolProviderApi.js.map
@@ -323,4 +323,3 @@ export class ToolProviderRegistry {
323
323
  console.log("[ToolProviderRegistry] Registry destroyed");
324
324
  }
325
325
  }
326
- //# sourceMappingURL=ToolProviderRegistry.js.map
@@ -11,4 +11,3 @@ export { ToolProviderRegistry } from "./ToolProviderRegistry.js";
11
11
  // Concrete providers
12
12
  export { DesmosToolProvider } from "./DesmosToolProvider.js";
13
13
  export { TTSToolProvider } from "./TTSToolProvider.js";
14
- //# sourceMappingURL=index.js.map
@@ -33,4 +33,3 @@ export function isInlineSvgIcon(icon) {
33
33
  export function isExternalIconUrl(icon) {
34
34
  return typeof icon === "string" && icon.trimStart().startsWith("http");
35
35
  }
36
- //# sourceMappingURL=toolbar-items.js.map
@@ -140,4 +140,3 @@ export function normalizeToolsConfig(input) {
140
140
  }
141
141
  return config;
142
142
  }
143
- //# sourceMappingURL=tools-config-normalizer.js.map
@@ -354,4 +354,3 @@ class BrowserTTSProviderImpl {
354
354
  }
355
355
  onWordBoundary;
356
356
  }
357
- //# sourceMappingURL=browser-provider.js.map
@@ -302,4 +302,3 @@ export const resolveVisibleSpanForBoundary = (alignment, spokenOffset) => {
302
302
  }
303
303
  return null;
304
304
  };
305
- //# sourceMappingURL=catalog-span-alignment.js.map
@@ -108,4 +108,3 @@ export const assembleGeneratedSpeech = async (args) => {
108
108
  plainSpeechText: normalizeTextForSpeech(speechParts.join(" ")),
109
109
  };
110
110
  };
111
- //# sourceMappingURL=assemble-plan.js.map
@@ -63,4 +63,3 @@ export const buildGeneratedSpeechFromRoot = async (args) => {
63
63
  visibleText: extracted.visibleText,
64
64
  };
65
65
  };
66
- //# sourceMappingURL=build-dom-plan.js.map
@@ -68,4 +68,3 @@ export const planToCompositionChunkInputs = (plan, options = {}) => plan.items.m
68
68
  }
69
69
  return buildPlainMathChunk(segment, anchor);
70
70
  });
71
- //# sourceMappingURL=to-chunk-inputs.js.map
@@ -1,2 +1 @@
1
1
  export {};
2
- //# sourceMappingURL=types.js.map
@@ -14,4 +14,3 @@ export { assembleGeneratedSpeech, } from "./assemble-plan.js";
14
14
  export { createMemoizedMathSpeechResolver, } from "./math-speech-cache.js";
15
15
  export { buildGeneratedSpeechFromRoot, } from "./dom/build-dom-plan.js";
16
16
  export { planToCompositionChunkInputs } from "./dom/to-chunk-inputs.js";
17
- //# sourceMappingURL=index.js.map
@@ -77,4 +77,3 @@ export const createMemoizedMathSpeechResolver = (options = {}) => {
77
77
  return resolved;
78
78
  };
79
79
  };
80
- //# sourceMappingURL=math-speech-cache.js.map
@@ -15,4 +15,3 @@
15
15
  * (see `./dom/types.ts`).
16
16
  */
17
17
  export {};
18
- //# sourceMappingURL=types.js.map
@@ -103,4 +103,3 @@ export const normalizeBoundaryEvent = (chunk, event) => {
103
103
  : "resolved through speech tokenization",
104
104
  };
105
105
  };
106
- //# sourceMappingURL=boundary-normalizer.js.map
@@ -214,4 +214,3 @@ export const createTTSHighlightPlan = (args) => {
214
214
  },
215
215
  };
216
216
  };
217
- //# sourceMappingURL=create-highlight-plan.js.map
@@ -29,4 +29,3 @@ export const createHighlightDecision = (input) => {
29
29
  reason: input.reason,
30
30
  };
31
31
  };
32
- //# sourceMappingURL=highlight-policy.js.map
@@ -6,4 +6,3 @@ export * from "./normalize-speech-chunks.js";
6
6
  export * from "./prose-boundary-resolver.js";
7
7
  export * from "./readable-region.js";
8
8
  export * from "./rendered-math-target-resolver.js";
9
- //# sourceMappingURL=index.js.map
@@ -29,4 +29,3 @@ export const resolveMathBoundaryTarget = (chunk, boundary, event, candidates = c
29
29
  }
30
30
  return expressionFallback;
31
31
  };
32
- //# sourceMappingURL=math-semantic-resolver.js.map
@@ -41,4 +41,3 @@ export const normalizeSpeechChunks = (args) => {
41
41
  offsetSpace: chunkOffsetSpaceFor(chunk),
42
42
  }));
43
43
  };
44
- //# sourceMappingURL=normalize-speech-chunks.js.map
@@ -17,4 +17,3 @@ export const resolveProseBoundaryTarget = (chunk, boundary) => {
17
17
  range,
18
18
  };
19
19
  };
20
- //# sourceMappingURL=prose-boundary-resolver.js.map
@@ -16,4 +16,3 @@ export const resolveReadableRegion = (sourceElement, contentRoot) => {
16
16
  }
17
17
  return sourceElement;
18
18
  };
19
- //# sourceMappingURL=readable-region.js.map