@pie-players/pie-assessment-toolkit 0.3.29 → 0.3.30

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 (33) hide show
  1. package/README.md +24 -0
  2. package/dist/components/ItemToolBar.custom-element.js +197 -84
  3. package/dist/index.d.ts +1 -0
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +1 -0
  6. package/dist/index.js.map +1 -1
  7. package/dist/services/SSMLExtractor.d.ts.map +1 -1
  8. package/dist/services/SSMLExtractor.js +189 -2
  9. package/dist/services/SSMLExtractor.js.map +1 -1
  10. package/dist/services/TTSService.d.ts +7 -0
  11. package/dist/services/TTSService.d.ts.map +1 -1
  12. package/dist/services/TTSService.js +15 -0
  13. package/dist/services/TTSService.js.map +1 -1
  14. package/dist/services/ToolRegistry.d.ts.map +1 -1
  15. package/dist/services/ToolRegistry.js +30 -0
  16. package/dist/services/ToolRegistry.js.map +1 -1
  17. package/dist/services/interfaces.d.ts +7 -0
  18. package/dist/services/interfaces.d.ts.map +1 -1
  19. package/dist/services/interfaces.js.map +1 -1
  20. package/dist/services/tool-config-validation.js +1 -1
  21. package/dist/services/tool-config-validation.js.map +1 -1
  22. package/dist/services/tools-config-normalizer.d.ts +1 -1
  23. package/dist/services/tools-config-normalizer.d.ts.map +1 -1
  24. package/dist/services/tts-control-events.d.ts +14 -0
  25. package/dist/services/tts-control-events.d.ts.map +1 -0
  26. package/dist/services/tts-control-events.js +8 -0
  27. package/dist/services/tts-control-events.js.map +1 -0
  28. package/dist/tools/calculators/desmos-provider.js +18 -0
  29. package/dist/tools/calculators/desmos-provider.js.map +1 -1
  30. package/dist/tools/default-tool-module-loaders.d.ts.map +1 -1
  31. package/dist/tools/default-tool-module-loaders.js +2 -0
  32. package/dist/tools/default-tool-module-loaders.js.map +1 -1
  33. package/package.json +9 -8
package/README.md CHANGED
@@ -1058,6 +1058,30 @@ import type {
1058
1058
  } from '@pie-players/pie-assessment-toolkit';
1059
1059
  ```
1060
1060
 
1061
+ ## Content trust boundary
1062
+
1063
+ The toolkit embeds item content via the underlying `pie-item-player`
1064
+ custom element and renders tool icons / SSML fragments that originate
1065
+ from tool configuration. Two sanitization layers apply:
1066
+
1067
+ - **Item / passage markup** - sanitized by default in
1068
+ `pie-item-player`. See
1069
+ [pie-item-player README](./README.md#content-trust-boundary)
1070
+ for the `trust-markup` opt-out and the `sanitizeMarkup` override.
1071
+ As a post-sanitization step, every authored `<img>` outside a `pie-*`
1072
+ custom element is wrapped in `<span class="pie-image-scroll">` so
1073
+ overwide images surface a horizontal scrollbar instead of being
1074
+ clipped by the section layout's `overflow-x: hidden` ancestors
1075
+ (PIE-94 / WCAG 1.4.10 Reflow at 400% zoom). The wrapper is
1076
+ keyboard-scrollable (`tabindex="0"`, `role="region"`) and carries
1077
+ the image's `alt` text in its `aria-label`; matching CSS lives in
1078
+ `@pie-players/pie-theme` (`components.css`).
1079
+ - **Tool icons and SSML** - tool-registered icon markup is parsed and
1080
+ DOMPurified inside the toolbar at render time; SSML payloads are
1081
+ restricted to an allow-listed subset of SSML tags/attributes before
1082
+ being forwarded to TTS providers. Do not ship tools that rely on raw
1083
+ `<script>` or event-handler attributes in their icon strings.
1084
+
1061
1085
  ## Related Documentation
1062
1086
 
1063
1087
  - **[Tool Registry Architecture](docs/TOOL_REGISTRY.md)** - ⭐ NEW - Registry-based tool management and QTI 3.0 PNP support
@@ -29,25 +29,31 @@ import {
29
29
  isValidToolbarItemShape
30
30
  } from '../services/toolbar-items.js';
31
31
 
32
+ import { sanitizeSvgIcon } from '@pie-players/pie-players-shared/security';
33
+ import { createFocusTrap } from '@pie-players/pie-players-shared';
32
34
  import { createPackagedToolRegistry } from '../services/createDefaultToolRegistry.js';
33
35
  import { DEFAULT_TOOL_MODULE_LOADERS } from '../tools/default-tool-module-loaders.js';
34
36
  import { normalizeToolsConfig, parseToolList, resolveToolsForLevel } from '../services/tools-config-normalizer.js';
35
37
  import { createScopedToolId, parseScopedToolId } from '../services/tool-instance-id.js';
36
38
 
37
- var root_3 = $.from_html(`<span class="item-toolbar__element-host svelte-rnx3ie"></span>`);
38
39
  var root_4 = $.from_html(`<span class="item-toolbar__element-host svelte-rnx3ie"></span>`);
39
- var root_9 = $.from_html(`<img class="item-toolbar__icon-image svelte-rnx3ie" alt=""/>`);
40
- var root_12 = $.from_html(`<i aria-hidden="true"></i>`);
41
- var root_6 = $.from_html(`<a><!></a>`);
42
- var root_16 = $.from_html(`<img class="item-toolbar__icon-image svelte-rnx3ie" alt=""/>`);
43
- var root_19 = $.from_html(`<i aria-hidden="true"></i>`);
44
- var root_13 = $.from_html(`<button type="button"><!></button>`);
45
- var root_21 = $.from_html(`<span class="item-toolbar__element-host svelte-rnx3ie"></span>`);
40
+ var root_5 = $.from_html(`<span class="item-toolbar__element-host svelte-rnx3ie"></span>`);
41
+ var root_9 = $.from_html(`<span aria-hidden="true"></span>`);
42
+ var root_10 = $.from_html(`<img class="item-toolbar__icon-image svelte-rnx3ie" alt=""/>`);
43
+ var root_12 = $.from_html(`<span aria-hidden="true"></span>`);
44
+ var root_13 = $.from_html(`<i aria-hidden="true"></i>`);
45
+ var root_7 = $.from_html(`<a><!></a>`);
46
+ var root_16 = $.from_html(`<span aria-hidden="true"></span>`);
47
+ var root_17 = $.from_html(`<img class="item-toolbar__icon-image svelte-rnx3ie" alt=""/>`);
48
+ var root_19 = $.from_html(`<span aria-hidden="true"></span>`);
49
+ var root_20 = $.from_html(`<i aria-hidden="true"></i>`);
50
+ var root_14 = $.from_html(`<button type="button"><!></button>`);
46
51
  var root_22 = $.from_html(`<span class="item-toolbar__element-host svelte-rnx3ie"></span>`);
47
- var root_25 = $.from_html(`<span class="item-toolbar__controls-host svelte-rnx3ie"></span>`);
52
+ var root_23 = $.from_html(`<span class="item-toolbar__element-host svelte-rnx3ie"></span>`);
48
53
  var root_26 = $.from_html(`<span class="item-toolbar__controls-host svelte-rnx3ie"></span>`);
49
- var root_23 = $.from_html(`<div></div>`);
50
- var root_1 = $.from_html(`<div><div class="item-toolbar__tools-row svelte-rnx3ie"><!> <!> <!></div> <!></div>`);
54
+ var root_27 = $.from_html(`<span class="item-toolbar__controls-host svelte-rnx3ie"></span>`);
55
+ var root_24 = $.from_html(`<div></div>`);
56
+ var root_2 = $.from_html(`<div><div class="item-toolbar__tools-row svelte-rnx3ie"><!> <!> <!></div> <!></div>`);
51
57
 
52
58
  const $$css = {
53
59
  hash: 'svelte-rnx3ie',
@@ -639,6 +645,9 @@ export default function ItemToolBar($$anchor, $$props) {
639
645
  let y = 0;
640
646
  let width = currentArgs.mounted.entry.shell?.initialWidth ?? 720;
641
647
  let height = currentArgs.mounted.entry.shell?.initialHeight ?? 560;
648
+ let focusTrapCleanup = null;
649
+ let openerEl = null;
650
+ let previousActive = false;
642
651
 
643
652
  const invokeElementUnmount = (value) => {
644
653
  if (!value) return;
@@ -823,6 +832,75 @@ export default function ItemToolBar($$anchor, $$props) {
823
832
  applyPositionAndSize();
824
833
  };
825
834
 
835
+ const restoreOpenerFocus = () => {
836
+ const target = openerEl;
837
+
838
+ if (!target) return;
839
+
840
+ queueMicrotask(() => {
841
+ if (!target.isConnected) return;
842
+
843
+ try {
844
+ target.focus();
845
+ } catch {
846
+ // ignore
847
+ }
848
+ });
849
+ };
850
+
851
+ const getDeepActiveElement = () => {
852
+ if (typeof document === 'undefined') return null;
853
+
854
+ let active = document.activeElement;
855
+
856
+ while (active) {
857
+ const root = active.shadowRoot;
858
+
859
+ if (root && root.activeElement && root.activeElement !== active) {
860
+ active = root.activeElement;
861
+ } else {
862
+ break;
863
+ }
864
+ }
865
+
866
+ return active ?? null;
867
+ };
868
+
869
+ const installFocusTrap = () => {
870
+ if (!shellEl || focusTrapCleanup) return;
871
+
872
+ const active = getDeepActiveElement();
873
+
874
+ // Only update opener if we don't already have one (survives re-open within a
875
+ // single mount lifecycle) and the active element isn't inside the shell itself.
876
+ if (!openerEl && active && !shellEl.contains(active)) {
877
+ openerEl = active;
878
+ }
879
+
880
+ focusTrapCleanup = createFocusTrap(shellEl, {
881
+ initialFocus: closeButtonEl,
882
+ onEscape: () => {
883
+ closeShell();
884
+ }
885
+ });
886
+ };
887
+
888
+ const removeFocusTrap = () => {
889
+ if (!focusTrapCleanup) return;
890
+
891
+ const cleanup = focusTrapCleanup;
892
+
893
+ focusTrapCleanup = null;
894
+
895
+ try {
896
+ cleanup();
897
+ } catch {
898
+ // ignore
899
+ }
900
+
901
+ restoreOpenerFocus();
902
+ };
903
+
826
904
  const closeShell = () => {
827
905
  $.get(toolbarContext).toggleTool(currentArgs.mounted.toolId);
828
906
  syncRenderedToolsState();
@@ -953,17 +1031,31 @@ export default function ItemToolBar($$anchor, $$props) {
953
1031
  closeButtonEl.type = 'button';
954
1032
  closeButtonEl.className = 'pie-tool-shell__close';
955
1033
  closeButtonEl.setAttribute('aria-label', 'Close tool');
956
- closeButtonEl.innerHTML = '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" aria-hidden="true"><path d="M3.5 3.5L12.5 12.5M12.5 3.5L3.5 12.5" stroke="currentColor" stroke-width="1.8" stroke-linecap="round"/></svg>';
957
1034
 
958
- const closeIconEl = closeButtonEl.querySelector('svg');
1035
+ const svgNs = 'http://www.w3.org/2000/svg';
1036
+ const closeIconEl = document.createElementNS(svgNs, 'svg');
959
1037
 
960
- if (closeIconEl) {
961
- closeIconEl.style.width = '16px';
962
- closeIconEl.style.height = '16px';
963
- closeIconEl.style.display = 'block';
964
- closeIconEl.style.flexShrink = '0';
965
- closeIconEl.style.pointerEvents = 'none';
966
- }
1038
+ closeIconEl.setAttribute('xmlns', svgNs);
1039
+ closeIconEl.setAttribute('viewBox', '0 0 16 16');
1040
+ closeIconEl.setAttribute('aria-hidden', 'true');
1041
+
1042
+ const closeIconPath = document.createElementNS(svgNs, 'path');
1043
+
1044
+ closeIconPath.setAttribute('d', 'M3.5 3.5L12.5 12.5M12.5 3.5L3.5 12.5');
1045
+ closeIconPath.setAttribute('stroke', 'currentColor');
1046
+ closeIconPath.setAttribute('stroke-width', '1.8');
1047
+ closeIconPath.setAttribute('stroke-linecap', 'round');
1048
+ closeIconEl.appendChild(closeIconPath);
1049
+ closeButtonEl.appendChild(closeIconEl);
1050
+
1051
+ // SVGElement.style exists but is readonly in DOM types; cast once.
1052
+ const closeIconStyle = closeIconEl.style;
1053
+
1054
+ closeIconStyle.width = '16px';
1055
+ closeIconStyle.height = '16px';
1056
+ closeIconStyle.display = 'block';
1057
+ closeIconStyle.flexShrink = '0';
1058
+ closeIconStyle.pointerEvents = 'none';
967
1059
 
968
1060
  const closeButtonBaseBackground = 'color-mix(in srgb, var(--pie-white, #fff) 8%, transparent)';
969
1061
  const closeButtonHoverBackground = 'color-mix(in srgb, var(--pie-white, #fff) 18%, transparent)';
@@ -1081,6 +1173,12 @@ export default function ItemToolBar($$anchor, $$props) {
1081
1173
  applyShellStyle();
1082
1174
  mountContent();
1083
1175
  notifyHostedResize();
1176
+
1177
+ if (currentArgs.active) {
1178
+ installFocusTrap();
1179
+ }
1180
+
1181
+ previousActive = currentArgs.active;
1084
1182
  }
1085
1183
 
1086
1184
  return {
@@ -1094,11 +1192,26 @@ export default function ItemToolBar($$anchor, $$props) {
1094
1192
  mountContent();
1095
1193
  applyShellStyle();
1096
1194
  notifyHostedResize();
1195
+
1196
+ if (!previousActive && currentArgs.active) {
1197
+ installFocusTrap();
1198
+ } else if (previousActive && !currentArgs.active) {
1199
+ removeFocusTrap();
1200
+ openerEl = null;
1201
+ }
1202
+
1203
+ previousActive = currentArgs.active;
1097
1204
  },
1098
1205
 
1099
1206
  destroy() {
1100
1207
  notifyHostedUnmount();
1101
1208
 
1209
+ if (focusTrapCleanup) {
1210
+ removeFocusTrap();
1211
+ }
1212
+
1213
+ openerEl = null;
1214
+
1102
1215
  if (resizeHandleEl) {
1103
1216
  resizeHandleEl.removeEventListener('pointerdown', onResizePointerDown);
1104
1217
  }
@@ -1299,7 +1412,7 @@ export default function ItemToolBar($$anchor, $$props) {
1299
1412
 
1300
1413
  {
1301
1414
  var consequent_13 = ($$anchor) => {
1302
- var div = root_1();
1415
+ var div = root_2();
1303
1416
  let classes;
1304
1417
  var div_1 = $.child(div);
1305
1418
  var node_2 = $.child(div_1);
@@ -1310,7 +1423,7 @@ export default function ItemToolBar($$anchor, $$props) {
1310
1423
 
1311
1424
  {
1312
1425
  var consequent = ($$anchor) => {
1313
- var span = root_3();
1426
+ var span = root_4();
1314
1427
 
1315
1428
  $.action(span, ($$node, $$action_arg) => mountElementWithShell?.($$node, $$action_arg), () => ({
1316
1429
  mounted: $.get(mounted),
@@ -1321,7 +1434,7 @@ export default function ItemToolBar($$anchor, $$props) {
1321
1434
  };
1322
1435
 
1323
1436
  var alternate = ($$anchor) => {
1324
- var span_1 = root_4();
1437
+ var span_1 = root_5();
1325
1438
 
1326
1439
  $.action(span_1, ($$node, $$action_arg) => mountElement?.($$node, $$action_arg), () => $.get(mounted).entry.element);
1327
1440
  $.append($$anchor, span_1);
@@ -1343,7 +1456,7 @@ export default function ItemToolBar($$anchor, $$props) {
1343
1456
 
1344
1457
  {
1345
1458
  var consequent_5 = ($$anchor) => {
1346
- var a = root_6();
1459
+ var a = root_7();
1347
1460
  let classes_1;
1348
1461
  var node_6 = $.child(a);
1349
1462
 
@@ -1354,17 +1467,17 @@ export default function ItemToolBar($$anchor, $$props) {
1354
1467
 
1355
1468
  {
1356
1469
  var consequent_1 = ($$anchor) => {
1357
- var fragment_4 = $.comment();
1358
- var node_8 = $.first_child(fragment_4);
1470
+ var span_2 = root_9();
1359
1471
 
1360
- $.html(node_8, () => $.get(item).icon);
1361
- $.append($$anchor, fragment_4);
1472
+ $.html(span_2, () => sanitizeSvgIcon($.get(item).icon), true);
1473
+ $.reset(span_2);
1474
+ $.append($$anchor, span_2);
1362
1475
  };
1363
1476
 
1364
1477
  var d = $.derived(() => isInlineSvgIcon($.get(item).icon));
1365
1478
 
1366
1479
  var consequent_2 = ($$anchor) => {
1367
- var img = root_9();
1480
+ var img = root_10();
1368
1481
 
1369
1482
  $.template_effect(() => $.set_attribute(img, 'src', $.get(item).icon));
1370
1483
  $.append($$anchor, img);
@@ -1374,31 +1487,31 @@ export default function ItemToolBar($$anchor, $$props) {
1374
1487
 
1375
1488
  var alternate_2 = ($$anchor) => {
1376
1489
  const fallbackIcon = $.derived(() => getFallbackIconSvg($.get(item).icon));
1377
- var fragment_5 = $.comment();
1378
- var node_9 = $.first_child(fragment_5);
1490
+ var fragment_4 = $.comment();
1491
+ var node_8 = $.first_child(fragment_4);
1379
1492
 
1380
1493
  {
1381
1494
  var consequent_3 = ($$anchor) => {
1382
- var fragment_6 = $.comment();
1383
- var node_10 = $.first_child(fragment_6);
1495
+ var span_3 = root_12();
1384
1496
 
1385
- $.html(node_10, () => $.get(fallbackIcon));
1386
- $.append($$anchor, fragment_6);
1497
+ $.html(span_3, () => sanitizeSvgIcon($.get(fallbackIcon)), true);
1498
+ $.reset(span_3);
1499
+ $.append($$anchor, span_3);
1387
1500
  };
1388
1501
 
1389
1502
  var alternate_1 = ($$anchor) => {
1390
- var i = root_12();
1503
+ var i = root_13();
1391
1504
 
1392
1505
  $.template_effect(() => $.set_class(i, 1, `icon icon-${$.get(item).icon}`, 'svelte-rnx3ie'));
1393
1506
  $.append($$anchor, i);
1394
1507
  };
1395
1508
 
1396
- $.if(node_9, ($$render) => {
1509
+ $.if(node_8, ($$render) => {
1397
1510
  if ($.get(fallbackIcon)) $$render(consequent_3); else $$render(alternate_1, -1);
1398
1511
  });
1399
1512
  }
1400
1513
 
1401
- $.append($$anchor, fragment_5);
1514
+ $.append($$anchor, fragment_4);
1402
1515
  };
1403
1516
 
1404
1517
  $.if(node_7, ($$render) => {
@@ -1445,28 +1558,28 @@ export default function ItemToolBar($$anchor, $$props) {
1445
1558
  var d_2 = $.derived(() => isToolbarLinkItem($.get(item)));
1446
1559
 
1447
1560
  var alternate_5 = ($$anchor) => {
1448
- var button_1 = root_13();
1561
+ var button_1 = root_14();
1449
1562
  let classes_2;
1450
- var node_11 = $.child(button_1);
1563
+ var node_9 = $.child(button_1);
1451
1564
 
1452
1565
  {
1453
1566
  var consequent_9 = ($$anchor) => {
1454
- var fragment_7 = $.comment();
1455
- var node_12 = $.first_child(fragment_7);
1567
+ var fragment_5 = $.comment();
1568
+ var node_10 = $.first_child(fragment_5);
1456
1569
 
1457
1570
  {
1458
1571
  var consequent_6 = ($$anchor) => {
1459
- var fragment_8 = $.comment();
1460
- var node_13 = $.first_child(fragment_8);
1572
+ var span_4 = root_16();
1461
1573
 
1462
- $.html(node_13, () => $.get(item).icon);
1463
- $.append($$anchor, fragment_8);
1574
+ $.html(span_4, () => sanitizeSvgIcon($.get(item).icon), true);
1575
+ $.reset(span_4);
1576
+ $.append($$anchor, span_4);
1464
1577
  };
1465
1578
 
1466
1579
  var d_3 = $.derived(() => isInlineSvgIcon($.get(item).icon));
1467
1580
 
1468
1581
  var consequent_7 = ($$anchor) => {
1469
- var img_1 = root_16();
1582
+ var img_1 = root_17();
1470
1583
 
1471
1584
  $.template_effect(() => $.set_attribute(img_1, 'src', $.get(item).icon));
1472
1585
  $.append($$anchor, img_1);
@@ -1476,42 +1589,42 @@ export default function ItemToolBar($$anchor, $$props) {
1476
1589
 
1477
1590
  var alternate_4 = ($$anchor) => {
1478
1591
  const fallbackIcon = $.derived(() => getFallbackIconSvg($.get(item).icon));
1479
- var fragment_9 = $.comment();
1480
- var node_14 = $.first_child(fragment_9);
1592
+ var fragment_6 = $.comment();
1593
+ var node_11 = $.first_child(fragment_6);
1481
1594
 
1482
1595
  {
1483
1596
  var consequent_8 = ($$anchor) => {
1484
- var fragment_10 = $.comment();
1485
- var node_15 = $.first_child(fragment_10);
1597
+ var span_5 = root_19();
1486
1598
 
1487
- $.html(node_15, () => $.get(fallbackIcon));
1488
- $.append($$anchor, fragment_10);
1599
+ $.html(span_5, () => sanitizeSvgIcon($.get(fallbackIcon)), true);
1600
+ $.reset(span_5);
1601
+ $.append($$anchor, span_5);
1489
1602
  };
1490
1603
 
1491
1604
  var alternate_3 = ($$anchor) => {
1492
- var i_1 = root_19();
1605
+ var i_1 = root_20();
1493
1606
 
1494
1607
  $.template_effect(() => $.set_class(i_1, 1, `icon icon-${$.get(item).icon}`, 'svelte-rnx3ie'));
1495
1608
  $.append($$anchor, i_1);
1496
1609
  };
1497
1610
 
1498
- $.if(node_14, ($$render) => {
1611
+ $.if(node_11, ($$render) => {
1499
1612
  if ($.get(fallbackIcon)) $$render(consequent_8); else $$render(alternate_3, -1);
1500
1613
  });
1501
1614
  }
1502
1615
 
1503
- $.append($$anchor, fragment_9);
1616
+ $.append($$anchor, fragment_6);
1504
1617
  };
1505
1618
 
1506
- $.if(node_12, ($$render) => {
1619
+ $.if(node_10, ($$render) => {
1507
1620
  if ($.get(d_3)) $$render(consequent_6); else if ($.get(d_4)) $$render(consequent_7, 1); else $$render(alternate_4, -1);
1508
1621
  });
1509
1622
  }
1510
1623
 
1511
- $.append($$anchor, fragment_7);
1624
+ $.append($$anchor, fragment_5);
1512
1625
  };
1513
1626
 
1514
- $.if(node_11, ($$render) => {
1627
+ $.if(node_9, ($$render) => {
1515
1628
  if ($.get(item).icon) $$render(consequent_9);
1516
1629
  });
1517
1630
  }
@@ -1549,77 +1662,77 @@ export default function ItemToolBar($$anchor, $$props) {
1549
1662
  $.append($$anchor, fragment_2);
1550
1663
  });
1551
1664
 
1552
- var node_16 = $.sibling(node_4, 2);
1665
+ var node_12 = $.sibling(node_4, 2);
1553
1666
 
1554
- $.each(node_16, 17, () => $.get(mountedElementsAfterButtons), (mounted) => mounted.key, ($$anchor, mounted) => {
1555
- var fragment_11 = $.comment();
1556
- var node_17 = $.first_child(fragment_11);
1667
+ $.each(node_12, 17, () => $.get(mountedElementsAfterButtons), (mounted) => mounted.key, ($$anchor, mounted) => {
1668
+ var fragment_7 = $.comment();
1669
+ var node_13 = $.first_child(fragment_7);
1557
1670
 
1558
1671
  {
1559
1672
  var consequent_10 = ($$anchor) => {
1560
- var span_2 = root_21();
1673
+ var span_6 = root_22();
1561
1674
 
1562
- $.action(span_2, ($$node, $$action_arg) => mountElementWithShell?.($$node, $$action_arg), () => ({
1675
+ $.action(span_6, ($$node, $$action_arg) => mountElementWithShell?.($$node, $$action_arg), () => ({
1563
1676
  mounted: $.get(mounted),
1564
1677
  active: $.get(renderedToolActiveById)[$.get(mounted).toolId] ?? false
1565
1678
  }));
1566
1679
 
1567
- $.append($$anchor, span_2);
1680
+ $.append($$anchor, span_6);
1568
1681
  };
1569
1682
 
1570
1683
  var alternate_6 = ($$anchor) => {
1571
- var span_3 = root_22();
1684
+ var span_7 = root_23();
1572
1685
 
1573
- $.action(span_3, ($$node, $$action_arg) => mountElement?.($$node, $$action_arg), () => $.get(mounted).entry.element);
1574
- $.append($$anchor, span_3);
1686
+ $.action(span_7, ($$node, $$action_arg) => mountElement?.($$node, $$action_arg), () => $.get(mounted).entry.element);
1687
+ $.append($$anchor, span_7);
1575
1688
  };
1576
1689
 
1577
- $.if(node_17, ($$render) => {
1690
+ $.if(node_13, ($$render) => {
1578
1691
  if ($.get(mounted).entry.shell) $$render(consequent_10); else $$render(alternate_6, -1);
1579
1692
  });
1580
1693
  }
1581
1694
 
1582
- $.append($$anchor, fragment_11);
1695
+ $.append($$anchor, fragment_7);
1583
1696
  });
1584
1697
 
1585
1698
  $.reset(div_1);
1586
1699
 
1587
- var node_18 = $.sibling(div_1, 2);
1700
+ var node_14 = $.sibling(div_1, 2);
1588
1701
 
1589
1702
  {
1590
1703
  var consequent_12 = ($$anchor) => {
1591
- var div_2 = root_23();
1704
+ var div_2 = root_24();
1592
1705
  let classes_3;
1593
1706
 
1594
1707
  $.each(div_2, 21, () => $.get(mountedElementsControlsRow), (mounted) => mounted.key, ($$anchor, mounted) => {
1595
- var fragment_12 = $.comment();
1596
- var node_19 = $.first_child(fragment_12);
1708
+ var fragment_8 = $.comment();
1709
+ var node_15 = $.first_child(fragment_8);
1597
1710
 
1598
1711
  {
1599
1712
  var consequent_11 = ($$anchor) => {
1600
- var span_4 = root_25();
1713
+ var span_8 = root_26();
1601
1714
 
1602
- $.action(span_4, ($$node, $$action_arg) => mountElementWithShell?.($$node, $$action_arg), () => ({
1715
+ $.action(span_8, ($$node, $$action_arg) => mountElementWithShell?.($$node, $$action_arg), () => ({
1603
1716
  mounted: $.get(mounted),
1604
1717
  active: $.get(renderedToolActiveById)[$.get(mounted).toolId] ?? false
1605
1718
  }));
1606
1719
 
1607
- $.append($$anchor, span_4);
1720
+ $.append($$anchor, span_8);
1608
1721
  };
1609
1722
 
1610
1723
  var alternate_7 = ($$anchor) => {
1611
- var span_5 = root_26();
1724
+ var span_9 = root_27();
1612
1725
 
1613
- $.action(span_5, ($$node, $$action_arg) => mountElement?.($$node, $$action_arg), () => $.get(mounted).entry.element);
1614
- $.append($$anchor, span_5);
1726
+ $.action(span_9, ($$node, $$action_arg) => mountElement?.($$node, $$action_arg), () => $.get(mounted).entry.element);
1727
+ $.append($$anchor, span_9);
1615
1728
  };
1616
1729
 
1617
- $.if(node_19, ($$render) => {
1730
+ $.if(node_15, ($$render) => {
1618
1731
  if ($.get(mounted).entry.shell) $$render(consequent_11); else $$render(alternate_7, -1);
1619
1732
  });
1620
1733
  }
1621
1734
 
1622
- $.append($$anchor, fragment_12);
1735
+ $.append($$anchor, fragment_8);
1623
1736
  });
1624
1737
 
1625
1738
  $.reset(div_2);
@@ -1633,7 +1746,7 @@ export default function ItemToolBar($$anchor, $$props) {
1633
1746
  $.append($$anchor, div_2);
1634
1747
  };
1635
1748
 
1636
- $.if(node_18, ($$render) => {
1749
+ $.if(node_14, ($$render) => {
1637
1750
  if ($.get(shouldRenderControlsRow)) $$render(consequent_12);
1638
1751
  });
1639
1752
  }
package/dist/index.d.ts CHANGED
@@ -57,6 +57,7 @@ export type { ParsedToolInstanceId, ToolScopeLevel, } from "./services/tool-inst
57
57
  export { createScopedToolId, parseScopedToolId, toOverlayToolId, } from "./services/tool-instance-id.js";
58
58
  export type { TTSConfig } from "./services/TTSService.js";
59
59
  export { PlaybackState, TTSService } from "./services/TTSService.js";
60
+ export { PIE_TTS_CONTROL_HANDOFF_EVENT, type TTSControlHandoffDetail, } from "./services/tts-control-events.js";
60
61
  export { BrowserTTSProvider } from "./services/tts/browser-provider.js";
61
62
  export type { TTSHostToolbarLayout, TTSLayoutMode, TTSRuntimeSettings, } from "./services/tts-runtime-config.js";
62
63
  export { DEFAULT_TTS_SPEED_OPTIONS, formatTTSSpeedOptionsAsText, normalizeTTSLayoutMode, normalizeTTSSpeedOptions, parseTTSSpeedOptionsFromText, resolveTTSHostToolbarLayout, resolveTTSLayoutMode, resolveTTSRuntimeSettings, } from "./services/tts-runtime-config.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
@@ -43,6 +43,7 @@ export { normalizeToolsConfig, normalizeToolAlias, normalizeToolList, parseToolL
43
43
  export { frameworkErrorFromToolConfigValidation, normalizeAndValidateToolsConfig, } from "./services/tool-config-validation.js";
44
44
  export { createScopedToolId, parseScopedToolId, toOverlayToolId, } from "./services/tool-instance-id.js";
45
45
  export { PlaybackState, TTSService } from "./services/TTSService.js";
46
+ export { PIE_TTS_CONTROL_HANDOFF_EVENT, } from "./services/tts-control-events.js";
46
47
  export { BrowserTTSProvider } from "./services/tts/browser-provider.js";
47
48
  export { DEFAULT_TTS_SPEED_OPTIONS, formatTTSSpeedOptionsAsText, normalizeTTSLayoutMode, normalizeTTSSpeedOptions, parseTTSSpeedOptionsFromText, resolveTTSHostToolbarLayout, resolveTTSLayoutMode, resolveTTSRuntimeSettings, } from "./services/tts-runtime-config.js";
48
49
  export { createFetchItemLoader, createLoadItem, ItemLoadError, } from "./item-loader.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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SSMLExtractor.d.ts","sourceRoot":"","sources":["../../src/services/SSMLExtractor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EACX,oBAAoB,EACpB,YAAY,EAEZ,MAAM,uCAAuC,CAAC;AAU/C;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAChC,QAAQ,EAAE,oBAAoB,EAAE,CAAC;IACjC,aAAa,EAAE,YAAY,CAAC;CAC5B;AAED;;;;GAIG;AACH,qBAAa,aAAa;IACzB,OAAO,CAAC,cAAc,CAAK;IAE3B;;;;;OAKG;IACH,qBAAqB,CAAC,MAAM,EAAE,YAAY,GAAG,gBAAgB;IA6D7D;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IAmGzB;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAMzB;;OAEG;IACH,KAAK,IAAI,IAAI;CAGb"}
1
+ {"version":3,"file":"SSMLExtractor.d.ts","sourceRoot":"","sources":["../../src/services/SSMLExtractor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EACX,oBAAoB,EACpB,YAAY,EAEZ,MAAM,uCAAuC,CAAC;AAU/C;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAChC,QAAQ,EAAE,oBAAoB,EAAE,CAAC;IACjC,aAAa,EAAE,YAAY,CAAC;CAC5B;AAgMD;;;;GAIG;AACH,qBAAa,aAAa;IACzB,OAAO,CAAC,cAAc,CAAK;IAE3B;;;;;OAKG;IACH,qBAAqB,CAAC,MAAM,EAAE,YAAY,GAAG,gBAAgB;IA6D7D;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IAuGzB;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAMzB;;OAEG;IACH,KAAK,IAAI,IAAI;CAGb"}