@pie-players/pie-assessment-toolkit 0.3.75 → 1.0.0-beta.0

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 (142) hide show
  1. package/README.md +449 -541
  2. package/custom-elements.json +1315 -0
  3. package/dist/attempt/TestSession.d.ts +0 -1
  4. package/dist/attempt/TestSession.js +10 -5
  5. package/dist/components/ItemScope.custom-element.js +1 -1
  6. package/dist/components/ItemToolBar.custom-element.js +1 -1
  7. package/dist/components/PieAssessmentToolkit.custom-element.js +8 -8
  8. package/dist/components/SectionToolBar.custom-element.js +1 -1
  9. package/dist/components/chunks/{ItemToolBar-7tt7v2xp.js → ItemToolBar-3zrc4p3d.js} +4 -4
  10. package/dist/components/chunks/{ItemToolBar-jx38w99s.js → ItemToolBar-66hcwmfw.js} +2 -2
  11. package/dist/components/chunks/ItemToolBar-9gqhfxtn.js +40 -0
  12. package/dist/components/chunks/ItemToolBar-hzc5wyjp.js +2 -0
  13. package/dist/components/chunks/{ItemToolBar-97hx60z4.js → ItemToolBar-kkj69ptr.js} +1 -1
  14. package/dist/components/chunks/sre-engine-bj997w4b.js +1 -0
  15. package/dist/context/assessment-toolkit-context.d.ts +6 -0
  16. package/dist/index.d.ts +7 -7
  17. package/dist/index.js +4 -10
  18. package/dist/policy/core/PolicySource.d.ts +1 -1
  19. package/dist/policy/core/ToolPolicyEngine.d.ts +46 -7
  20. package/dist/policy/core/ToolPolicyEngine.js +73 -16
  21. package/dist/policy/core/compose-decision.d.ts +3 -3
  22. package/dist/policy/core/compose-decision.js +30 -30
  23. package/dist/policy/core/decision-types.d.ts +44 -32
  24. package/dist/policy/core/feature-decision.d.ts +17 -15
  25. package/dist/policy/core/feature-decision.js +11 -13
  26. package/dist/policy/core/pnp-policy-inputs.d.ts +5 -2
  27. package/dist/policy/core/pnp-policy-inputs.js +12 -32
  28. package/dist/policy/core/provenance.d.ts +1 -1
  29. package/dist/policy/core/tool-parameters.d.ts +11 -0
  30. package/dist/policy/core/tool-parameters.js +15 -0
  31. package/dist/policy/engine.d.ts +1 -1
  32. package/dist/policy/sources/PnpPolicySource.d.ts +14 -22
  33. package/dist/policy/sources/PnpPolicySource.js +30 -28
  34. package/dist/runtime/SectionControllerBinding.d.ts +6 -2
  35. package/dist/runtime/SectionControllerBinding.js +21 -15
  36. package/dist/runtime/adapter/subscriber-fanout.d.ts +0 -1
  37. package/dist/runtime/adapter/subscriber-fanout.js +1 -4
  38. package/dist/runtime/composition-emit-scheduler.d.ts +3 -3
  39. package/dist/runtime/composition-emit-scheduler.js +1 -1
  40. package/dist/runtime/content-region.d.ts +0 -4
  41. package/dist/runtime/content-region.js +2 -2
  42. package/dist/runtime/core/SectionEngineCore.d.ts +0 -2
  43. package/dist/runtime/core/SectionEngineCore.js +0 -4
  44. package/dist/runtime/core/cohort.d.ts +0 -5
  45. package/dist/runtime/core/cohort.js +0 -9
  46. package/dist/runtime/core/engine-output.d.ts +3 -2
  47. package/dist/runtime/core/engine-transition.js +3 -2
  48. package/dist/runtime/registration-events.d.ts +11 -14
  49. package/dist/runtime/runtime-id.d.ts +1 -1
  50. package/dist/runtime/runtime-id.js +1 -1
  51. package/dist/runtime/shell-scope.d.ts +4 -4
  52. package/dist/runtime/shell-scope.js +15 -9
  53. package/dist/runtime/tool-host-contract.d.ts +0 -4
  54. package/dist/runtime/tool-host-contract.js +1 -1
  55. package/dist/services/AccessibilityCatalogResolver.d.ts +21 -31
  56. package/dist/services/AccessibilityCatalogResolver.js +29 -42
  57. package/dist/services/ElementToolStateStore.d.ts +32 -61
  58. package/dist/services/ElementToolStateStore.js +37 -67
  59. package/dist/services/HighlightCoordinator.d.ts +9 -21
  60. package/dist/services/HighlightCoordinator.js +52 -80
  61. package/dist/services/RangeSerializer.d.ts +4 -35
  62. package/dist/services/RangeSerializer.js +4 -48
  63. package/dist/services/SSMLExtractor.d.ts +8 -31
  64. package/dist/services/SSMLExtractor.js +18 -40
  65. package/dist/services/TTSService.d.ts +49 -56
  66. package/dist/services/TTSService.js +308 -283
  67. package/dist/services/ToolCoordinator.d.ts +6 -49
  68. package/dist/services/ToolCoordinator.js +25 -61
  69. package/dist/services/ToolRegistry.d.ts +82 -80
  70. package/dist/services/ToolRegistry.js +91 -67
  71. package/dist/services/ToolkitCoordinator.d.ts +83 -81
  72. package/dist/services/ToolkitCoordinator.js +186 -174
  73. package/dist/services/framework-error.d.ts +30 -7
  74. package/dist/services/framework-error.js +10 -13
  75. package/dist/services/interfaces.d.ts +47 -71
  76. package/dist/services/section-controller-types.d.ts +7 -7
  77. package/dist/services/section-session-assignment.js +6 -8
  78. package/dist/services/spoken-audio-cards.d.ts +2 -4
  79. package/dist/services/spoken-audio-cards.js +2 -4
  80. package/dist/services/tool-config-validation.d.ts +5 -7
  81. package/dist/services/tool-config-validation.js +11 -26
  82. package/dist/services/tool-context.d.ts +7 -23
  83. package/dist/services/tool-context.js +99 -53
  84. package/dist/services/tool-failure.d.ts +30 -0
  85. package/dist/services/tool-failure.js +11 -0
  86. package/dist/services/tool-icons.d.ts +1 -2
  87. package/dist/services/tool-icons.js +2 -2
  88. package/dist/services/tool-instance-id.d.ts +8 -6
  89. package/dist/services/tool-instance-id.js +12 -18
  90. package/dist/services/tool-providers/TTSToolProvider.d.ts +6 -43
  91. package/dist/services/tool-providers/TTSToolProvider.js +7 -63
  92. package/dist/services/tool-providers/ToolProviderApi.d.ts +0 -7
  93. package/dist/services/tool-providers/ToolProviderRegistry.d.ts +7 -42
  94. package/dist/services/tool-providers/ToolProviderRegistry.js +21 -63
  95. package/dist/services/tool-request.d.ts +4 -0
  96. package/dist/services/tool-request.js +7 -2
  97. package/dist/services/toolbar-decided-tools.d.ts +1 -0
  98. package/dist/services/toolbar-decided-tools.js +1 -0
  99. package/dist/services/toolbar-items.js +2 -5
  100. package/dist/services/tools-config-normalizer.d.ts +18 -9
  101. package/dist/services/tools-config-normalizer.js +25 -19
  102. package/dist/services/tts/browser-provider.d.ts +2 -5
  103. package/dist/services/tts/browser-provider.js +4 -20
  104. package/dist/services/tts/catalog-span-alignment.js +14 -7
  105. package/dist/services/tts/flat-tree.d.ts +0 -7
  106. package/dist/services/tts/flat-tree.js +2 -2
  107. package/dist/services/tts/generated-speech/dom/to-chunk-inputs.d.ts +2 -2
  108. package/dist/services/tts/generated-speech/index.d.ts +1 -1
  109. package/dist/services/tts/generated-speech/index.js +1 -1
  110. package/dist/services/tts/generated-speech/types.d.ts +1 -1
  111. package/dist/services/tts/generated-speech/types.js +1 -1
  112. package/dist/services/tts/highlight-pipeline/create-highlight-plan.js +10 -12
  113. package/dist/services/tts/highlight-target-resolver.d.ts +12 -0
  114. package/dist/services/tts/math-aware-text-processing.js +10 -29
  115. package/dist/services/tts/math-speech.d.ts +1 -1
  116. package/dist/services/tts/math-speech.js +3 -0
  117. package/dist/services/tts/mathml-sanitization.d.ts +7 -0
  118. package/dist/services/tts/mathml-sanitization.js +9 -1
  119. package/dist/services/tts/provider-options.d.ts +12 -1
  120. package/dist/services/tts/ssml/spoken-text.js +1 -1
  121. package/dist/services/tts/start-failure.d.ts +0 -7
  122. package/dist/services/tts/start-failure.js +1 -1
  123. package/dist/services/tts/text-segmentation.d.ts +5 -0
  124. package/dist/services/tts/text-segmentation.js +13 -10
  125. package/dist/services/tts-runtime-config.d.ts +32 -12
  126. package/dist/services/tts-runtime-config.js +14 -20
  127. package/dist/tools/content-capability-resolution.d.ts +2 -2
  128. package/dist/tools/registration.d.ts +6 -5
  129. package/dist/tools/registration.js +10 -9
  130. package/dist/tools/registrations/toolbar-registration-helpers.d.ts +6 -0
  131. package/dist/tools/registrations/toolbar-registration-helpers.js +6 -0
  132. package/dist/tools/tool-surface-host.js +1 -8
  133. package/package.json +8 -6
  134. package/dist/components/chunks/ItemToolBar-bxwyhr5p.js +0 -2
  135. package/dist/components/chunks/ItemToolBar-rd2bb4p6.js +0 -40
  136. package/dist/components/chunks/sre-engine-jd8cc08x.js +0 -1
  137. package/dist/services/ContextVariableStore.d.ts +0 -113
  138. package/dist/services/ContextVariableStore.js +0 -206
  139. package/dist/services/tts-control-events.d.ts +0 -13
  140. package/dist/services/tts-control-events.js +0 -7
  141. package/dist/utils/logger.d.ts +0 -6
  142. package/dist/utils/logger.js +0 -10
@@ -0,0 +1,1315 @@
1
+ {
2
+ "schemaVersion": "2.1.0",
3
+ "modules": [
4
+ {
5
+ "kind": "javascript-module",
6
+ "path": "dist/components/item-scope-element.js",
7
+ "declarations": [
8
+ {
9
+ "kind": "class",
10
+ "description": "An item's scope for the toolkit's tools, in a section player's card or around a host's own item player. A host gives it the item, its `item-id` and its policy `settings`; the toolbars and tools inside take the item from it and act on it, and it registers the item with the enclosing `<pie-assessment-toolkit>`, which files the item's accessibility catalogs. In a toolkit that holds a section it is also the item's channel to that toolkit; otherwise the item player's events pass through unchanged.",
11
+ "name": "ItemScope",
12
+ "tagName": "pie-item-scope",
13
+ "customElement": true,
14
+ "members": [
15
+ {
16
+ "kind": "field",
17
+ "name": "itemId",
18
+ "type": {
19
+ "text": "string"
20
+ },
21
+ "default": "\"\"",
22
+ "attribute": "item-id"
23
+ },
24
+ {
25
+ "kind": "field",
26
+ "name": "canonicalItemId",
27
+ "type": {
28
+ "text": "string"
29
+ },
30
+ "default": "\"\"",
31
+ "attribute": "canonical-item-id"
32
+ },
33
+ {
34
+ "kind": "field",
35
+ "name": "contentKind",
36
+ "type": {
37
+ "text": "string"
38
+ },
39
+ "default": "\"assessment-item\"",
40
+ "attribute": "content-kind"
41
+ },
42
+ {
43
+ "kind": "field",
44
+ "name": "regionPolicy",
45
+ "type": {
46
+ "text": "string"
47
+ },
48
+ "default": "\"default\"",
49
+ "attribute": "region-policy"
50
+ },
51
+ {
52
+ "kind": "field",
53
+ "name": "scopeElement",
54
+ "type": {
55
+ "text": "HTMLElement | null"
56
+ },
57
+ "default": "null",
58
+ "attribute": "scopeelement"
59
+ },
60
+ {
61
+ "kind": "field",
62
+ "name": "ttsHighlightTargetResolver",
63
+ "type": {
64
+ "text": "TTSHighlightTargetResolver | null"
65
+ },
66
+ "default": "null",
67
+ "attribute": "ttshighlighttargetresolver"
68
+ },
69
+ {
70
+ "kind": "field",
71
+ "name": "item",
72
+ "type": {
73
+ "text": "object"
74
+ },
75
+ "default": "null",
76
+ "attribute": "item"
77
+ },
78
+ {
79
+ "kind": "field",
80
+ "name": "settings",
81
+ "type": {
82
+ "text": "ItemSettings | null"
83
+ },
84
+ "default": "null",
85
+ "attribute": "settings"
86
+ }
87
+ ],
88
+ "attributes": [
89
+ {
90
+ "name": "item-id",
91
+ "type": {
92
+ "text": "string"
93
+ },
94
+ "default": "\"\"",
95
+ "fieldName": "itemId"
96
+ },
97
+ {
98
+ "name": "canonical-item-id",
99
+ "type": {
100
+ "text": "string"
101
+ },
102
+ "default": "\"\"",
103
+ "fieldName": "canonicalItemId"
104
+ },
105
+ {
106
+ "name": "content-kind",
107
+ "type": {
108
+ "text": "string"
109
+ },
110
+ "default": "\"assessment-item\"",
111
+ "fieldName": "contentKind"
112
+ },
113
+ {
114
+ "name": "region-policy",
115
+ "type": {
116
+ "text": "string"
117
+ },
118
+ "default": "\"default\"",
119
+ "fieldName": "regionPolicy"
120
+ },
121
+ {
122
+ "name": "scopeelement",
123
+ "type": {
124
+ "text": "HTMLElement | null"
125
+ },
126
+ "default": "null",
127
+ "fieldName": "scopeElement"
128
+ },
129
+ {
130
+ "name": "ttshighlighttargetresolver",
131
+ "type": {
132
+ "text": "TTSHighlightTargetResolver | null"
133
+ },
134
+ "default": "null",
135
+ "fieldName": "ttsHighlightTargetResolver"
136
+ },
137
+ {
138
+ "name": "item",
139
+ "type": {
140
+ "text": "object"
141
+ },
142
+ "default": "null",
143
+ "fieldName": "item"
144
+ },
145
+ {
146
+ "name": "settings",
147
+ "type": {
148
+ "text": "ItemSettings | null"
149
+ },
150
+ "default": "null",
151
+ "fieldName": "settings"
152
+ }
153
+ ],
154
+ "events": [
155
+ {
156
+ "name": "pie-register",
157
+ "type": {
158
+ "text": "CustomEvent<{ kind: \"item\"; itemId: string; canonicalItemId: string; contentKind: string; item: unknown; settings?: { requiredTools?: string[]; restrictedTools?: string[]; toolParameters?: Record<string, unknown> }; element: HTMLElement; runtimeId: string }>"
159
+ },
160
+ "description": "Registration handshake, once a toolkit has answered the scope and again when the item's identity, settings or catalogs change; the toolkit whose `runtimeId` it carries claims it and stops its propagation."
161
+ },
162
+ {
163
+ "name": "pie-unregister",
164
+ "type": {
165
+ "text": "CustomEvent<{ kind: \"item\"; itemId: string; canonicalItemId: string; contentKind: string; item: unknown; settings?: { requiredTools?: string[]; restrictedTools?: string[]; toolParameters?: Record<string, unknown> }; element: HTMLElement; runtimeId: string }>"
166
+ },
167
+ "description": "Retires the registration when the scope tears down, loses its item id or moves to another toolkit; claimed like `pie-register`."
168
+ },
169
+ {
170
+ "name": "item-session-changed",
171
+ "type": {
172
+ "text": "CustomEvent<{ itemId: string; canonicalItemId: string; session: unknown; sessionCommitReason?: \"teardown\" | \"navigate\" | \"page-hidden\" }>"
173
+ },
174
+ "description": "In a toolkit that holds a section, when the item player reports a response change; the player's own `session-changed` stops at the scope."
175
+ },
176
+ {
177
+ "name": "pie-item-session-changed",
178
+ "type": {
179
+ "text": "CustomEvent<{ itemId: string; session: unknown; runtimeId: string }>"
180
+ },
181
+ "description": "Internal channel event, in a toolkit that holds a section, for each distinct session change the item player reports, metadata-only ones included; claimed by the toolkit."
182
+ },
183
+ {
184
+ "name": "pie-content-loaded",
185
+ "type": {
186
+ "text": "CustomEvent<{ itemId: string; canonicalItemId: string; contentKind: string; detail: unknown; runtimeId: string }>"
187
+ },
188
+ "description": "Internal channel event when the item player reports `load-complete`; claimed by the toolkit."
189
+ },
190
+ {
191
+ "name": "pie-item-player-error",
192
+ "type": {
193
+ "text": "CustomEvent<{ itemId: string; canonicalItemId: string; contentKind: string; error: unknown; runtimeId: string }>"
194
+ },
195
+ "description": "Internal channel event when the item player reports `player-error`; claimed by the toolkit."
196
+ }
197
+ ],
198
+ "slots": [
199
+ {
200
+ "name": "",
201
+ "description": "The item's content: its toolbar and a `[data-region=\"content\"]` region holding the item player."
202
+ }
203
+ ],
204
+ "x-pie": {
205
+ "shadow": "open"
206
+ }
207
+ }
208
+ ],
209
+ "exports": [
210
+ {
211
+ "kind": "custom-element-definition",
212
+ "name": "pie-item-scope",
213
+ "declaration": {
214
+ "name": "ItemScope"
215
+ }
216
+ }
217
+ ]
218
+ },
219
+ {
220
+ "kind": "javascript-module",
221
+ "path": "dist/components/item-toolbar-element.js",
222
+ "declarations": [
223
+ {
224
+ "kind": "class",
225
+ "description": "The toolbar for an item, passage or section, rendering a button for each tool the enclosing toolkit's coordinator places at its `level` and the tool's own visibility and applicability checks keep, plus the host's own `hostButtons`. It takes the item and its id from the enclosing `<pie-item-scope>` and the tool registry from the toolkit, either of which a host can override on the toolbar. Its tools act on the scope, or on the element `scopeElement` names.",
226
+ "name": "ItemToolBar",
227
+ "tagName": "pie-item-toolbar",
228
+ "customElement": true,
229
+ "members": [
230
+ {
231
+ "kind": "field",
232
+ "name": "level",
233
+ "type": {
234
+ "text": "ToolScopeLevel"
235
+ },
236
+ "default": "'item'",
237
+ "attribute": "level"
238
+ },
239
+ {
240
+ "kind": "field",
241
+ "name": "scopeId",
242
+ "type": {
243
+ "text": "string"
244
+ },
245
+ "default": "''",
246
+ "attribute": "scope-id"
247
+ },
248
+ {
249
+ "kind": "field",
250
+ "name": "itemId",
251
+ "type": {
252
+ "text": "string"
253
+ },
254
+ "default": "''",
255
+ "attribute": "item-id"
256
+ },
257
+ {
258
+ "kind": "field",
259
+ "name": "sectionId",
260
+ "type": {
261
+ "text": "string"
262
+ },
263
+ "default": "''",
264
+ "attribute": "section-id"
265
+ },
266
+ {
267
+ "kind": "field",
268
+ "name": "catalogId",
269
+ "type": {
270
+ "text": "string"
271
+ },
272
+ "default": "''",
273
+ "attribute": "catalog-id"
274
+ },
275
+ {
276
+ "kind": "field",
277
+ "name": "tools",
278
+ "type": {
279
+ "text": "string"
280
+ },
281
+ "default": "''",
282
+ "description": "No capability default: this package holds no capability set, so naming one here would be the composition layer's decision made in the generic core. Every in-repo mount passes `tools` explicitly; a standalone host with no coordinator and no `tools` renders no buttons, which is the same honest answer `fallbackToolRegistry` gives.",
283
+ "attribute": "tools"
284
+ },
285
+ {
286
+ "kind": "field",
287
+ "name": "contentKind",
288
+ "type": {
289
+ "text": "string"
290
+ },
291
+ "default": "'assessment-item'",
292
+ "attribute": "content-kind"
293
+ },
294
+ {
295
+ "kind": "field",
296
+ "name": "position",
297
+ "type": {
298
+ "text": "'top' | 'right' | 'bottom' | 'left' | 'none'"
299
+ },
300
+ "default": "'bottom'",
301
+ "attribute": "position"
302
+ },
303
+ {
304
+ "kind": "field",
305
+ "name": "scopeElement",
306
+ "type": {
307
+ "text": "HTMLElement | null"
308
+ },
309
+ "default": "null",
310
+ "description": "Local runtime contracts (passed as JS properties, not attributes)",
311
+ "attribute": "scopeelement"
312
+ },
313
+ {
314
+ "kind": "field",
315
+ "name": "toolRegistry",
316
+ "type": {
317
+ "text": "ToolRegistry | null"
318
+ },
319
+ "default": "null",
320
+ "attribute": "toolregistry"
321
+ },
322
+ {
323
+ "kind": "field",
324
+ "name": "item",
325
+ "type": {
326
+ "text": "ItemEntity | null"
327
+ },
328
+ "default": "null",
329
+ "attribute": "item"
330
+ },
331
+ {
332
+ "kind": "field",
333
+ "name": "hostButtons",
334
+ "type": {
335
+ "text": "ToolbarItem[]"
336
+ },
337
+ "default": "[]",
338
+ "attribute": "hostbuttons"
339
+ },
340
+ {
341
+ "kind": "field",
342
+ "name": "class",
343
+ "type": {
344
+ "text": "string"
345
+ },
346
+ "default": "''",
347
+ "attribute": "class"
348
+ },
349
+ {
350
+ "kind": "field",
351
+ "name": "size",
352
+ "type": {
353
+ "text": "'sm' | 'md' | 'lg'"
354
+ },
355
+ "default": "'md'",
356
+ "attribute": "size"
357
+ },
358
+ {
359
+ "kind": "field",
360
+ "name": "language",
361
+ "type": {
362
+ "text": "string"
363
+ },
364
+ "default": "''",
365
+ "attribute": "language"
366
+ }
367
+ ],
368
+ "attributes": [
369
+ {
370
+ "name": "level",
371
+ "type": {
372
+ "text": "string"
373
+ },
374
+ "default": "'item'",
375
+ "fieldName": "level"
376
+ },
377
+ {
378
+ "name": "scope-id",
379
+ "type": {
380
+ "text": "string"
381
+ },
382
+ "default": "''",
383
+ "fieldName": "scopeId"
384
+ },
385
+ {
386
+ "name": "item-id",
387
+ "type": {
388
+ "text": "string"
389
+ },
390
+ "default": "''",
391
+ "fieldName": "itemId"
392
+ },
393
+ {
394
+ "name": "section-id",
395
+ "type": {
396
+ "text": "string"
397
+ },
398
+ "default": "''",
399
+ "fieldName": "sectionId"
400
+ },
401
+ {
402
+ "name": "catalog-id",
403
+ "type": {
404
+ "text": "string"
405
+ },
406
+ "default": "''",
407
+ "fieldName": "catalogId"
408
+ },
409
+ {
410
+ "name": "tools",
411
+ "type": {
412
+ "text": "string"
413
+ },
414
+ "default": "''",
415
+ "description": "No capability default: this package holds no capability set, so naming one here would be the composition layer's decision made in the generic core. Every in-repo mount passes `tools` explicitly; a standalone host with no coordinator and no `tools` renders no buttons, which is the same honest answer `fallbackToolRegistry` gives.",
416
+ "fieldName": "tools"
417
+ },
418
+ {
419
+ "name": "content-kind",
420
+ "type": {
421
+ "text": "string"
422
+ },
423
+ "default": "'assessment-item'",
424
+ "fieldName": "contentKind"
425
+ },
426
+ {
427
+ "name": "position",
428
+ "type": {
429
+ "text": "string"
430
+ },
431
+ "default": "'bottom'",
432
+ "fieldName": "position"
433
+ },
434
+ {
435
+ "name": "scopeelement",
436
+ "type": {
437
+ "text": "HTMLElement | null"
438
+ },
439
+ "default": "null",
440
+ "description": "Local runtime contracts (passed as JS properties, not attributes)",
441
+ "fieldName": "scopeElement"
442
+ },
443
+ {
444
+ "name": "toolregistry",
445
+ "type": {
446
+ "text": "ToolRegistry | null"
447
+ },
448
+ "default": "null",
449
+ "fieldName": "toolRegistry"
450
+ },
451
+ {
452
+ "name": "item",
453
+ "type": {
454
+ "text": "ItemEntity | null"
455
+ },
456
+ "default": "null",
457
+ "fieldName": "item"
458
+ },
459
+ {
460
+ "name": "hostbuttons",
461
+ "type": {
462
+ "text": "ToolbarItem[]"
463
+ },
464
+ "default": "[]",
465
+ "fieldName": "hostButtons"
466
+ },
467
+ {
468
+ "name": "class",
469
+ "type": {
470
+ "text": "string"
471
+ },
472
+ "default": "''",
473
+ "fieldName": "class"
474
+ },
475
+ {
476
+ "name": "size",
477
+ "type": {
478
+ "text": "string"
479
+ },
480
+ "default": "'md'",
481
+ "fieldName": "size"
482
+ },
483
+ {
484
+ "name": "language",
485
+ "type": {
486
+ "text": "string"
487
+ },
488
+ "default": "''",
489
+ "fieldName": "language"
490
+ }
491
+ ],
492
+ "cssProperties": [
493
+ {
494
+ "name": "--pie-section-player-card-header-background",
495
+ "description": "Public card header background hook; defaults to transparent and hosts must preserve contrast with card header content."
496
+ }
497
+ ],
498
+ "x-pie": {
499
+ "shadow": "open"
500
+ }
501
+ }
502
+ ],
503
+ "exports": [
504
+ {
505
+ "kind": "custom-element-definition",
506
+ "name": "pie-item-toolbar",
507
+ "declaration": {
508
+ "name": "ItemToolBar"
509
+ }
510
+ }
511
+ ]
512
+ },
513
+ {
514
+ "kind": "javascript-module",
515
+ "path": "dist/components/pie-assessment-toolkit-element.js",
516
+ "declarations": [
517
+ {
518
+ "kind": "class",
519
+ "description": "The toolkit's runtime element: it holds a `ToolkitCoordinator` and provides its tools, policy and services to the toolbars, item scopes and item players inside it, with or without a bound section. A host gives it tool configuration, an `assessment` carrying the personal needs profile, and optionally a `section` to bind, its own `coordinator` or a `toolRegistry`. It builds its coordinator from those inputs unless one is passed or an outer toolkit's is inherited.",
520
+ "name": "PieAssessmentToolkit",
521
+ "tagName": "pie-assessment-toolkit",
522
+ "customElement": true,
523
+ "members": [
524
+ {
525
+ "kind": "field",
526
+ "name": "assessmentId",
527
+ "type": {
528
+ "text": "string"
529
+ },
530
+ "default": "\"\"",
531
+ "attribute": "assessment-id"
532
+ },
533
+ {
534
+ "kind": "field",
535
+ "name": "section",
536
+ "type": {
537
+ "text": "object"
538
+ },
539
+ "default": "null",
540
+ "attribute": "section"
541
+ },
542
+ {
543
+ "kind": "field",
544
+ "name": "sectionId",
545
+ "type": {
546
+ "text": "string"
547
+ },
548
+ "default": "\"\"",
549
+ "attribute": "section-id"
550
+ },
551
+ {
552
+ "kind": "field",
553
+ "name": "attemptId",
554
+ "type": {
555
+ "text": "string"
556
+ },
557
+ "default": "\"\"",
558
+ "attribute": "attempt-id"
559
+ },
560
+ {
561
+ "kind": "field",
562
+ "name": "env",
563
+ "type": {
564
+ "text": "object"
565
+ },
566
+ "default": "{}",
567
+ "attribute": "env"
568
+ },
569
+ {
570
+ "kind": "field",
571
+ "name": "ndsIcons",
572
+ "type": {
573
+ "text": "boolean"
574
+ },
575
+ "default": "false",
576
+ "description": "Presentation flag surfaced onto the runtime context. Consumers render the vendored <nds-icon-button> only when this is explicitly `true`; otherwise they use plain <button>s. Defaults to `false` (opt-in).",
577
+ "attribute": "nds-icons"
578
+ },
579
+ {
580
+ "kind": "field",
581
+ "name": "locale",
582
+ "type": {
583
+ "text": "string"
584
+ },
585
+ "default": "\"\"",
586
+ "description": "Interface locale, published onto the runtime context so every tool resolves the same provider. `type: \"String\"` because hosts pass attribute values as strings and a BCP-47 tag is one; POSIX (`nl_NL`) and bare (`nl`) forms both resolve.",
587
+ "attribute": "locale"
588
+ },
589
+ {
590
+ "kind": "field",
591
+ "name": "contentLanguage",
592
+ "type": {
593
+ "text": "string"
594
+ },
595
+ "default": "\"\"",
596
+ "description": "Content language, published onto the runtime context for read-aloud and catalog lookups. Markup `lang` inside a shell wins over it.",
597
+ "attribute": "content-language"
598
+ },
599
+ {
600
+ "kind": "field",
601
+ "name": "lazyInit",
602
+ "type": {
603
+ "text": "boolean"
604
+ },
605
+ "default": "false",
606
+ "attribute": "lazy-init"
607
+ },
608
+ {
609
+ "kind": "field",
610
+ "name": "toolConfigStrictness",
611
+ "type": {
612
+ "text": "ToolConfigStrictness"
613
+ },
614
+ "default": "\"error\"",
615
+ "attribute": "tool-config-strictness"
616
+ },
617
+ {
618
+ "kind": "field",
619
+ "name": "tools",
620
+ "type": {
621
+ "text": "object"
622
+ },
623
+ "default": "{}",
624
+ "attribute": "tools"
625
+ },
626
+ {
627
+ "kind": "field",
628
+ "name": "toolContextResolvers",
629
+ "type": {
630
+ "text": "Record<string, unknown> | null"
631
+ },
632
+ "default": "null",
633
+ "attribute": "toolcontextresolvers"
634
+ },
635
+ {
636
+ "kind": "field",
637
+ "name": "enabledTools",
638
+ "type": {
639
+ "text": "string"
640
+ },
641
+ "default": "\"\"",
642
+ "attribute": "enabled-tools"
643
+ },
644
+ {
645
+ "kind": "field",
646
+ "name": "toolRegistry",
647
+ "type": {
648
+ "text": "ToolRegistry | null"
649
+ },
650
+ "default": "null",
651
+ "attribute": "toolregistry"
652
+ },
653
+ {
654
+ "kind": "field",
655
+ "name": "accessibility",
656
+ "type": {
657
+ "text": "object"
658
+ },
659
+ "default": "{}",
660
+ "attribute": "accessibility"
661
+ },
662
+ {
663
+ "kind": "field",
664
+ "name": "player",
665
+ "type": {
666
+ "text": "HostItemPlayerInput"
667
+ },
668
+ "default": "null",
669
+ "attribute": "player"
670
+ },
671
+ {
672
+ "kind": "field",
673
+ "name": "playerType",
674
+ "type": {
675
+ "text": "ItemPlayerType | \"\""
676
+ },
677
+ "default": "\"\"",
678
+ "attribute": "player-type"
679
+ },
680
+ {
681
+ "kind": "field",
682
+ "name": "coordinator",
683
+ "type": {
684
+ "text": "ToolkitCoordinator | null"
685
+ },
686
+ "default": "null",
687
+ "attribute": "coordinator"
688
+ },
689
+ {
690
+ "kind": "field",
691
+ "name": "createSectionController",
692
+ "type": {
693
+ "text": "null | (() => unknown)"
694
+ },
695
+ "default": "null",
696
+ "attribute": "createsectioncontroller"
697
+ },
698
+ {
699
+ "kind": "field",
700
+ "name": "onFrameworkError",
701
+ "type": {
702
+ "text": "null | ((errorModel: FrameworkErrorModel) => void)"
703
+ },
704
+ "default": "null",
705
+ "attribute": "onframeworkerror"
706
+ },
707
+ {
708
+ "kind": "field",
709
+ "name": "errorRenderer",
710
+ "type": {
711
+ "text": "null | ((errorModel: FrameworkErrorModel) => { title?: string; details?: string[]; })"
712
+ },
713
+ "default": "null",
714
+ "attribute": "errorrenderer"
715
+ },
716
+ {
717
+ "kind": "field",
718
+ "name": "assessment",
719
+ "type": {
720
+ "text": "AssessmentEntity | null"
721
+ },
722
+ "default": "null",
723
+ "description": "The assessment whose profile and settings tool policy reads, forwarded to the coordinator this toolkit owns. The enforcement override is `tools.pnpEnforcement`.",
724
+ "attribute": "assessment"
725
+ },
726
+ {
727
+ "kind": "field",
728
+ "name": "isolation",
729
+ "type": {
730
+ "text": "string"
731
+ },
732
+ "default": "\"inherit\"",
733
+ "description": "`\"inherit\"` (the default) or `\"force\"`, as an attribute or a property; section-player layouts set the property from `runtime.isolation`. `type: \"String\"` because an observed attribute of type `Object` is JSON-parsed, and `isolation=\"force\"` would throw.",
734
+ "attribute": "isolation"
735
+ },
736
+ {
737
+ "kind": "field",
738
+ "name": "session",
739
+ "type": {
740
+ "text": "SectionControllerSessionState | null"
741
+ },
742
+ "default": "null",
743
+ "description": "JS-only prop. Section-player layouts forward their `session` through this property. The controller created for `section` applies it in place of hydrating from the persistence strategy; a later value is applied to the live controller unless it equals the current session.",
744
+ "attribute": "session"
745
+ },
746
+ {
747
+ "kind": "method",
748
+ "name": "waitUntilReady",
749
+ "return": {
750
+ "type": {
751
+ "text": "Promise<void>"
752
+ }
753
+ }
754
+ },
755
+ {
756
+ "kind": "method",
757
+ "name": "setHooks",
758
+ "parameters": [
759
+ {
760
+ "name": "hooks",
761
+ "type": {
762
+ "text": "Record<string, unknown>"
763
+ }
764
+ }
765
+ ],
766
+ "return": {
767
+ "type": {
768
+ "text": "void"
769
+ }
770
+ }
771
+ },
772
+ {
773
+ "kind": "method",
774
+ "name": "navigateToItem",
775
+ "parameters": [
776
+ {
777
+ "name": "index",
778
+ "type": {
779
+ "text": "number"
780
+ }
781
+ }
782
+ ],
783
+ "return": {
784
+ "type": {
785
+ "text": "unknown"
786
+ }
787
+ }
788
+ },
789
+ {
790
+ "kind": "method",
791
+ "name": "getCompositionModel",
792
+ "return": {
793
+ "type": {
794
+ "text": "unknown"
795
+ }
796
+ }
797
+ },
798
+ {
799
+ "kind": "method",
800
+ "name": "getItemPlayerConfig",
801
+ "return": {
802
+ "type": {
803
+ "text": "ItemPlayerConfig"
804
+ }
805
+ }
806
+ },
807
+ {
808
+ "kind": "method",
809
+ "name": "persist",
810
+ "return": {
811
+ "type": {
812
+ "text": "Promise<void>"
813
+ }
814
+ }
815
+ },
816
+ {
817
+ "kind": "method",
818
+ "name": "hydrate",
819
+ "return": {
820
+ "type": {
821
+ "text": "Promise<void>"
822
+ }
823
+ }
824
+ }
825
+ ],
826
+ "attributes": [
827
+ {
828
+ "name": "assessment-id",
829
+ "type": {
830
+ "text": "string"
831
+ },
832
+ "default": "\"\"",
833
+ "fieldName": "assessmentId"
834
+ },
835
+ {
836
+ "name": "section",
837
+ "type": {
838
+ "text": "object"
839
+ },
840
+ "default": "null",
841
+ "fieldName": "section"
842
+ },
843
+ {
844
+ "name": "section-id",
845
+ "type": {
846
+ "text": "string"
847
+ },
848
+ "default": "\"\"",
849
+ "fieldName": "sectionId"
850
+ },
851
+ {
852
+ "name": "attempt-id",
853
+ "type": {
854
+ "text": "string"
855
+ },
856
+ "default": "\"\"",
857
+ "fieldName": "attemptId"
858
+ },
859
+ {
860
+ "name": "env",
861
+ "type": {
862
+ "text": "object"
863
+ },
864
+ "default": "{}",
865
+ "fieldName": "env"
866
+ },
867
+ {
868
+ "name": "nds-icons",
869
+ "type": {
870
+ "text": "boolean"
871
+ },
872
+ "default": "false",
873
+ "description": "Presentation flag surfaced onto the runtime context. Consumers render the vendored <nds-icon-button> only when this is explicitly `true`; otherwise they use plain <button>s. Defaults to `false` (opt-in).",
874
+ "fieldName": "ndsIcons"
875
+ },
876
+ {
877
+ "name": "locale",
878
+ "type": {
879
+ "text": "string"
880
+ },
881
+ "default": "\"\"",
882
+ "description": "Interface locale, published onto the runtime context so every tool resolves the same provider. `type: \"String\"` because hosts pass attribute values as strings and a BCP-47 tag is one; POSIX (`nl_NL`) and bare (`nl`) forms both resolve.",
883
+ "fieldName": "locale"
884
+ },
885
+ {
886
+ "name": "content-language",
887
+ "type": {
888
+ "text": "string"
889
+ },
890
+ "default": "\"\"",
891
+ "description": "Content language, published onto the runtime context for read-aloud and catalog lookups. Markup `lang` inside a shell wins over it.",
892
+ "fieldName": "contentLanguage"
893
+ },
894
+ {
895
+ "name": "lazy-init",
896
+ "type": {
897
+ "text": "boolean"
898
+ },
899
+ "default": "false",
900
+ "fieldName": "lazyInit"
901
+ },
902
+ {
903
+ "name": "tool-config-strictness",
904
+ "type": {
905
+ "text": "string"
906
+ },
907
+ "default": "\"error\"",
908
+ "fieldName": "toolConfigStrictness"
909
+ },
910
+ {
911
+ "name": "tools",
912
+ "type": {
913
+ "text": "object"
914
+ },
915
+ "default": "{}",
916
+ "fieldName": "tools"
917
+ },
918
+ {
919
+ "name": "toolcontextresolvers",
920
+ "type": {
921
+ "text": "Record<string, unknown> | null"
922
+ },
923
+ "default": "null",
924
+ "fieldName": "toolContextResolvers"
925
+ },
926
+ {
927
+ "name": "enabled-tools",
928
+ "type": {
929
+ "text": "string"
930
+ },
931
+ "default": "\"\"",
932
+ "fieldName": "enabledTools"
933
+ },
934
+ {
935
+ "name": "toolregistry",
936
+ "type": {
937
+ "text": "ToolRegistry | null"
938
+ },
939
+ "default": "null",
940
+ "fieldName": "toolRegistry"
941
+ },
942
+ {
943
+ "name": "accessibility",
944
+ "type": {
945
+ "text": "object"
946
+ },
947
+ "default": "{}",
948
+ "fieldName": "accessibility"
949
+ },
950
+ {
951
+ "name": "player",
952
+ "type": {
953
+ "text": "HostItemPlayerInput"
954
+ },
955
+ "default": "null",
956
+ "fieldName": "player"
957
+ },
958
+ {
959
+ "name": "player-type",
960
+ "type": {
961
+ "text": "string"
962
+ },
963
+ "default": "\"\"",
964
+ "fieldName": "playerType"
965
+ },
966
+ {
967
+ "name": "coordinator",
968
+ "type": {
969
+ "text": "ToolkitCoordinator | null"
970
+ },
971
+ "default": "null",
972
+ "fieldName": "coordinator"
973
+ },
974
+ {
975
+ "name": "createsectioncontroller",
976
+ "type": {
977
+ "text": "null | (() => unknown)"
978
+ },
979
+ "default": "null",
980
+ "fieldName": "createSectionController"
981
+ },
982
+ {
983
+ "name": "onframeworkerror",
984
+ "type": {
985
+ "text": "null | ((errorModel: FrameworkErrorModel) => void)"
986
+ },
987
+ "default": "null",
988
+ "fieldName": "onFrameworkError"
989
+ },
990
+ {
991
+ "name": "errorrenderer",
992
+ "type": {
993
+ "text": "null | ((errorModel: FrameworkErrorModel) => { title?: string; details?: string[]; })"
994
+ },
995
+ "default": "null",
996
+ "fieldName": "errorRenderer"
997
+ },
998
+ {
999
+ "name": "assessment",
1000
+ "type": {
1001
+ "text": "AssessmentEntity | null"
1002
+ },
1003
+ "default": "null",
1004
+ "description": "The assessment whose profile and settings tool policy reads, forwarded to the coordinator this toolkit owns. The enforcement override is `tools.pnpEnforcement`.",
1005
+ "fieldName": "assessment"
1006
+ },
1007
+ {
1008
+ "name": "isolation",
1009
+ "type": {
1010
+ "text": "string"
1011
+ },
1012
+ "default": "\"inherit\"",
1013
+ "description": "`\"inherit\"` (the default) or `\"force\"`, as an attribute or a property; section-player layouts set the property from `runtime.isolation`. `type: \"String\"` because an observed attribute of type `Object` is JSON-parsed, and `isolation=\"force\"` would throw.",
1014
+ "fieldName": "isolation"
1015
+ },
1016
+ {
1017
+ "name": "session",
1018
+ "type": {
1019
+ "text": "SectionControllerSessionState | null"
1020
+ },
1021
+ "default": "null",
1022
+ "description": "JS-only prop. Section-player layouts forward their `session` through this property. The controller created for `section` applies it in place of hydrating from the persistence strategy; a later value is applied to the live controller unless it equals the current session.",
1023
+ "fieldName": "session"
1024
+ }
1025
+ ],
1026
+ "events": [
1027
+ {
1028
+ "name": "framework-error",
1029
+ "type": {
1030
+ "text": "CustomEvent<FrameworkErrorModel>"
1031
+ },
1032
+ "description": "For each framework error the runtime reports; a non-recoverable bootstrap error also shows an error banner in place of the slotted content."
1033
+ },
1034
+ {
1035
+ "name": "composition-changed",
1036
+ "type": {
1037
+ "text": "CustomEvent<{ composition: unknown; version: number }>"
1038
+ },
1039
+ "description": "When the bound section's composition changes revision, with a version that increases on each change."
1040
+ },
1041
+ {
1042
+ "name": "session-changed",
1043
+ "type": {
1044
+ "text": "CustomEvent<{ itemId: string; canonicalItemId: string; sourceRuntimeId: string } & Record<string, unknown>>"
1045
+ },
1046
+ "description": "When an item's session in the bound section changes, carrying the section's canonical session detail for that item."
1047
+ },
1048
+ {
1049
+ "name": "runtime-owned",
1050
+ "type": {
1051
+ "text": "CustomEvent<{ runtimeId: string; parentRuntimeId: string | null }>"
1052
+ },
1053
+ "description": "When the toolkit starts running its own coordinator."
1054
+ },
1055
+ {
1056
+ "name": "runtime-inherited",
1057
+ "type": {
1058
+ "text": "CustomEvent<{ runtimeId: string; parentRuntimeId: string | null }>"
1059
+ },
1060
+ "description": "When the toolkit adopts an outer toolkit's coordinator, named by `parentRuntimeId`."
1061
+ },
1062
+ {
1063
+ "name": "runtime-ready",
1064
+ "type": {
1065
+ "text": "CustomEvent<{ runtimeId: string; coordinator: ToolkitCoordinator; ownership: \"owned\" | \"inherited\" }>"
1066
+ },
1067
+ "description": "Once per coordinator, with or without a section, from which point a host can drive it."
1068
+ },
1069
+ {
1070
+ "name": "toolkit-ready",
1071
+ "type": {
1072
+ "text": "CustomEvent<{ runtimeId: string; assessmentId: string; sectionId: string; itemPlayer: ItemPlayerConfig; coordinator: ToolkitCoordinator }>"
1073
+ },
1074
+ "description": "For every section the toolkit initializes, once its section controller resolves."
1075
+ },
1076
+ {
1077
+ "name": "section-ready",
1078
+ "type": {
1079
+ "text": "CustomEvent<{ sectionId: string; attemptId: string; controller: unknown }>"
1080
+ },
1081
+ "description": "Right after `toolkit-ready`, with the section's controller or null."
1082
+ }
1083
+ ],
1084
+ "slots": [
1085
+ {
1086
+ "name": "",
1087
+ "description": "The content the toolkit serves: toolbars, item scopes and item players, or a section player's layout."
1088
+ }
1089
+ ],
1090
+ "cssProperties": [
1091
+ {
1092
+ "name": "--pie-annotation-underline",
1093
+ "description": "Colour of the student annotation underline on a light page, default #4221d5. Deliberately does not fall through --pie-primary: a theme accent is chosen against one background and is illegible on the other, and a var() fallback could never override a host-set --pie-primary anyway. Paired with --pie-annotation-underline-dark, which HighlightCoordinator selects via [data-theme] rather than prefers-color-scheme. The data-color-scheme accessibility palettes set both to their own --pie-primary, because [data-theme] reports what the page declares rather than which scheme is active. Hosts overriding it must keep 3:1 against the content background (WCAG 2.2 SC 1.4.11)."
1094
+ },
1095
+ {
1096
+ "name": "--pie-annotation-underline-dark",
1097
+ "description": "Colour of the student annotation underline on a dark page, default #9c89ec. The dark half of the pair described under --pie-annotation-underline; kept a separate token so overriding one state never silently moves the other. Hosts overriding it must keep 3:1 against the content background (WCAG 2.2 SC 1.4.11)."
1098
+ },
1099
+ {
1100
+ "name": "--pie-tts-line-highlight",
1101
+ "description": "Line-granularity reading highlight. HighlightCoordinator derives a value from the resolved theme and writes it inline on the document element, so a host declaration wins only with !important. Falls back through --pie-tts-sentence-highlight, then --pie-missing at 38%."
1102
+ },
1103
+ {
1104
+ "name": "--pie-tts-sentence-highlight",
1105
+ "description": "Sentence-granularity reading highlight, and the fallback for --pie-tts-line-highlight. HighlightCoordinator derives a value from the resolved theme and writes it inline on the document element, so a host declaration wins only with !important. Falls back to --pie-missing at 38%."
1106
+ },
1107
+ {
1108
+ "name": "--pie-tts-word-highlight",
1109
+ "description": "Current-word reading highlight. HighlightCoordinator derives a value from the resolved theme and writes it inline on the document element, so a host declaration wins only with !important. Falls back to --pie-missing at 68%."
1110
+ },
1111
+ {
1112
+ "name": "--pie-tts-word-shadow",
1113
+ "description": "Text shadow carrying the current word over a saturated highlight. HighlightCoordinator derives a value from the resolved theme and writes it inline on the document element, so a host declaration wins only with !important. Falls back to --pie-text at 35%."
1114
+ },
1115
+ {
1116
+ "name": "--pie-tts-word-underline",
1117
+ "description": "Underline on the current word, the non-colour cue for schemes where the highlight hue washes out. HighlightCoordinator derives a value from the resolved theme and writes it inline on the document element, so a host declaration wins only with !important. Falls back to --pie-text at 70%."
1118
+ }
1119
+ ],
1120
+ "x-pie": {
1121
+ "shadow": "open"
1122
+ }
1123
+ }
1124
+ ],
1125
+ "exports": [
1126
+ {
1127
+ "kind": "custom-element-definition",
1128
+ "name": "pie-assessment-toolkit",
1129
+ "declaration": {
1130
+ "name": "PieAssessmentToolkit"
1131
+ }
1132
+ }
1133
+ ]
1134
+ },
1135
+ {
1136
+ "kind": "javascript-module",
1137
+ "path": "dist/components/section-toolbar-element.js",
1138
+ "declarations": [
1139
+ {
1140
+ "kind": "class",
1141
+ "description": "A section-level toolbar: a `<pie-item-toolbar>` at level `section`, scoped to the section a host names in `section-id`, rendering the tools in `enabled-tools` plus any `hostButtons`. The enclosing toolkit's coordinator drives the personal needs profile inputs through its policy engine, so the toolbar resolves none of them itself.",
1142
+ "name": "SectionToolBar",
1143
+ "tagName": "pie-section-toolbar",
1144
+ "customElement": true,
1145
+ "members": [
1146
+ {
1147
+ "kind": "field",
1148
+ "name": "enabledTools",
1149
+ "type": {
1150
+ "text": "string"
1151
+ },
1152
+ "default": "\"\"",
1153
+ "attribute": "enabled-tools"
1154
+ },
1155
+ {
1156
+ "kind": "field",
1157
+ "name": "position",
1158
+ "type": {
1159
+ "text": "string"
1160
+ },
1161
+ "default": "\"bottom\"",
1162
+ "attribute": "position"
1163
+ },
1164
+ {
1165
+ "kind": "field",
1166
+ "name": "sectionId",
1167
+ "type": {
1168
+ "text": "string"
1169
+ },
1170
+ "default": "\"\"",
1171
+ "attribute": "section-id"
1172
+ },
1173
+ {
1174
+ "kind": "field",
1175
+ "name": "size",
1176
+ "type": {
1177
+ "text": "\"sm\" | \"md\" | \"lg\""
1178
+ },
1179
+ "default": "\"md\"",
1180
+ "attribute": "size"
1181
+ },
1182
+ {
1183
+ "kind": "field",
1184
+ "name": "language",
1185
+ "type": {
1186
+ "text": "string"
1187
+ },
1188
+ "default": "\"\"",
1189
+ "attribute": "language"
1190
+ },
1191
+ {
1192
+ "kind": "field",
1193
+ "name": "toolRegistry",
1194
+ "type": {
1195
+ "text": "ToolRegistry | null"
1196
+ },
1197
+ "default": "null",
1198
+ "attribute": "toolregistry"
1199
+ },
1200
+ {
1201
+ "kind": "field",
1202
+ "name": "item",
1203
+ "type": {
1204
+ "text": "ItemEntity | null"
1205
+ },
1206
+ "default": "null",
1207
+ "attribute": "item"
1208
+ },
1209
+ {
1210
+ "kind": "field",
1211
+ "name": "hostButtons",
1212
+ "type": {
1213
+ "text": "ToolbarItem[]"
1214
+ },
1215
+ "default": "[]",
1216
+ "attribute": "hostbuttons"
1217
+ }
1218
+ ],
1219
+ "attributes": [
1220
+ {
1221
+ "name": "enabled-tools",
1222
+ "type": {
1223
+ "text": "string"
1224
+ },
1225
+ "default": "\"\"",
1226
+ "fieldName": "enabledTools"
1227
+ },
1228
+ {
1229
+ "name": "position",
1230
+ "type": {
1231
+ "text": "string"
1232
+ },
1233
+ "default": "\"bottom\"",
1234
+ "fieldName": "position"
1235
+ },
1236
+ {
1237
+ "name": "section-id",
1238
+ "type": {
1239
+ "text": "string"
1240
+ },
1241
+ "default": "\"\"",
1242
+ "fieldName": "sectionId"
1243
+ },
1244
+ {
1245
+ "name": "size",
1246
+ "type": {
1247
+ "text": "string"
1248
+ },
1249
+ "default": "\"md\"",
1250
+ "fieldName": "size"
1251
+ },
1252
+ {
1253
+ "name": "language",
1254
+ "type": {
1255
+ "text": "string"
1256
+ },
1257
+ "default": "\"\"",
1258
+ "fieldName": "language"
1259
+ },
1260
+ {
1261
+ "name": "toolregistry",
1262
+ "type": {
1263
+ "text": "ToolRegistry | null"
1264
+ },
1265
+ "default": "null",
1266
+ "fieldName": "toolRegistry"
1267
+ },
1268
+ {
1269
+ "name": "item",
1270
+ "type": {
1271
+ "text": "ItemEntity | null"
1272
+ },
1273
+ "default": "null",
1274
+ "fieldName": "item"
1275
+ },
1276
+ {
1277
+ "name": "hostbuttons",
1278
+ "type": {
1279
+ "text": "ToolbarItem[]"
1280
+ },
1281
+ "default": "[]",
1282
+ "fieldName": "hostButtons"
1283
+ }
1284
+ ],
1285
+ "cssProperties": [
1286
+ {
1287
+ "name": "--pie-section-player-card-header-background",
1288
+ "description": "Public card header background hook; defaults to transparent and hosts must preserve contrast with card header content."
1289
+ }
1290
+ ],
1291
+ "x-pie": {
1292
+ "shadow": "open"
1293
+ }
1294
+ }
1295
+ ],
1296
+ "exports": [
1297
+ {
1298
+ "kind": "custom-element-definition",
1299
+ "name": "pie-item-toolbar",
1300
+ "declaration": {
1301
+ "name": "ItemToolBar",
1302
+ "module": "dist/components/item-toolbar-element.js"
1303
+ }
1304
+ },
1305
+ {
1306
+ "kind": "custom-element-definition",
1307
+ "name": "pie-section-toolbar",
1308
+ "declaration": {
1309
+ "name": "SectionToolBar"
1310
+ }
1311
+ }
1312
+ ]
1313
+ }
1314
+ ]
1315
+ }