@microsoft/dragon-copilot-sdk-lexical-react 0.2.6-beta.4636686 → 1.0.1

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 (192) hide show
  1. package/node_modules/@hccm/web-tcl/CHANGELOG.md +161 -0
  2. package/node_modules/@hccm/web-tcl/README.md +99 -0
  3. package/node_modules/@hccm/web-tcl/dist/cjs/cleanup-helper.d.ts +23 -0
  4. package/node_modules/@hccm/web-tcl/dist/cjs/cleanup-helper.js +1 -0
  5. package/node_modules/@hccm/web-tcl/dist/cjs/common/browser.d.ts +17 -0
  6. package/node_modules/@hccm/web-tcl/dist/cjs/common/browser.js +1 -0
  7. package/node_modules/@hccm/web-tcl/dist/cjs/common/coordinates.d.ts +6 -0
  8. package/node_modules/@hccm/web-tcl/dist/cjs/common/coordinates.js +1 -0
  9. package/node_modules/@hccm/web-tcl/dist/cjs/common/dom.d.ts +44 -0
  10. package/node_modules/@hccm/web-tcl/dist/cjs/common/dom.js +1 -0
  11. package/node_modules/@hccm/web-tcl/dist/cjs/common/element-extensions.d.ts +26 -0
  12. package/node_modules/@hccm/web-tcl/dist/cjs/common/element-extensions.js +1 -0
  13. package/node_modules/@hccm/web-tcl/dist/cjs/common/error.d.ts +7 -0
  14. package/node_modules/@hccm/web-tcl/dist/cjs/common/error.js +1 -0
  15. package/node_modules/@hccm/web-tcl/dist/cjs/common/local-store.d.ts +10 -0
  16. package/node_modules/@hccm/web-tcl/dist/cjs/common/local-store.js +1 -0
  17. package/node_modules/@hccm/web-tcl/dist/cjs/common/selection-info.d.ts +4 -0
  18. package/node_modules/@hccm/web-tcl/dist/cjs/common/selection-info.js +1 -0
  19. package/node_modules/@hccm/web-tcl/dist/cjs/common/string.d.ts +7 -0
  20. package/node_modules/@hccm/web-tcl/dist/cjs/common/string.js +1 -0
  21. package/node_modules/@hccm/web-tcl/dist/cjs/common/util.d.ts +73 -0
  22. package/node_modules/@hccm/web-tcl/dist/cjs/common/util.js +1 -0
  23. package/node_modules/@hccm/web-tcl/dist/cjs/logger/logging.d.ts +67 -0
  24. package/node_modules/@hccm/web-tcl/dist/cjs/logger/logging.js +1 -0
  25. package/node_modules/@hccm/web-tcl/dist/cjs/main.d.ts +8 -0
  26. package/node_modules/@hccm/web-tcl/dist/cjs/main.js +1 -0
  27. package/node_modules/@hccm/web-tcl/dist/cjs/package-info.d.ts +2 -0
  28. package/node_modules/@hccm/web-tcl/dist/cjs/package-info.js +1 -0
  29. package/node_modules/@hccm/web-tcl/dist/cjs/shared-data.d.ts +27 -0
  30. package/node_modules/@hccm/web-tcl/dist/cjs/shared-data.js +1 -0
  31. package/node_modules/@hccm/web-tcl/dist/cjs/speech-document.d.ts +91 -0
  32. package/node_modules/@hccm/web-tcl/dist/cjs/speech-document.js +1 -0
  33. package/node_modules/@hccm/web-tcl/dist/cjs/text-control-lib/base-control.d.ts +100 -0
  34. package/node_modules/@hccm/web-tcl/dist/cjs/text-control-lib/base-control.js +1 -0
  35. package/node_modules/@hccm/web-tcl/dist/cjs/text-control-lib/contenteditable-control.d.ts +18 -0
  36. package/node_modules/@hccm/web-tcl/dist/cjs/text-control-lib/contenteditable-control.js +1 -0
  37. package/node_modules/@hccm/web-tcl/dist/cjs/text-control-lib/custom-control.d.ts +41 -0
  38. package/node_modules/@hccm/web-tcl/dist/cjs/text-control-lib/custom-control.js +1 -0
  39. package/node_modules/@hccm/web-tcl/dist/cjs/text-control-lib/factory.d.ts +9 -0
  40. package/node_modules/@hccm/web-tcl/dist/cjs/text-control-lib/factory.js +1 -0
  41. package/node_modules/@hccm/web-tcl/dist/cjs/text-control-lib/helpers.d.ts +33 -0
  42. package/node_modules/@hccm/web-tcl/dist/cjs/text-control-lib/helpers.js +1 -0
  43. package/node_modules/@hccm/web-tcl/dist/cjs/text-control-lib/index.d.ts +6 -0
  44. package/node_modules/@hccm/web-tcl/dist/cjs/text-control-lib/index.js +1 -0
  45. package/node_modules/@hccm/web-tcl/dist/cjs/text-control-lib/input-control.d.ts +7 -0
  46. package/node_modules/@hccm/web-tcl/dist/cjs/text-control-lib/input-control.js +1 -0
  47. package/node_modules/@hccm/web-tcl/dist/cjs/text-control-lib/processing-status.d.ts +1 -0
  48. package/node_modules/@hccm/web-tcl/dist/cjs/text-control-lib/processing-status.js +1 -0
  49. package/node_modules/@hccm/web-tcl/dist/cjs/text-control-lib/text-control-manager.d.ts +38 -0
  50. package/node_modules/@hccm/web-tcl/dist/cjs/text-control-lib/text-control-manager.js +1 -0
  51. package/node_modules/@hccm/web-tcl/dist/cjs/text-control-lib/text-control.d.ts +64 -0
  52. package/node_modules/@hccm/web-tcl/dist/cjs/text-control-lib/text-control.js +1 -0
  53. package/node_modules/@hccm/web-tcl/dist/cjs/text-control-lib/textarea-control.d.ts +7 -0
  54. package/node_modules/@hccm/web-tcl/dist/cjs/text-control-lib/textarea-control.js +1 -0
  55. package/node_modules/@hccm/web-tcl/dist/cjs/text-control-lib/tinymce-control.d.ts +11 -0
  56. package/node_modules/@hccm/web-tcl/dist/cjs/text-control-lib/tinymce-control.js +1 -0
  57. package/node_modules/@hccm/web-tcl/dist/cjs/webtcl/channel.d.ts +15 -0
  58. package/node_modules/@hccm/web-tcl/dist/cjs/webtcl/channel.js +1 -0
  59. package/node_modules/@hccm/web-tcl/dist/cjs/webtcl/commands.d.ts +64 -0
  60. package/node_modules/@hccm/web-tcl/dist/cjs/webtcl/commands.js +1 -0
  61. package/node_modules/@hccm/web-tcl/dist/cjs/webtcl/custom-controls/custom-control.d.ts +212 -0
  62. package/node_modules/@hccm/web-tcl/dist/cjs/webtcl/custom-controls/custom-control.js +1 -0
  63. package/node_modules/@hccm/web-tcl/dist/cjs/webtcl/custom-controls/index.d.ts +6 -0
  64. package/node_modules/@hccm/web-tcl/dist/cjs/webtcl/custom-controls/index.js +1 -0
  65. package/node_modules/@hccm/web-tcl/dist/cjs/webtcl/custom-controls/input-custom-control.d.ts +2 -0
  66. package/node_modules/@hccm/web-tcl/dist/cjs/webtcl/custom-controls/input-custom-control.js +1 -0
  67. package/node_modules/@hccm/web-tcl/dist/cjs/webtcl/custom-controls/textarea-custom-control.d.ts +2 -0
  68. package/node_modules/@hccm/web-tcl/dist/cjs/webtcl/custom-controls/textarea-custom-control.js +1 -0
  69. package/node_modules/@hccm/web-tcl/dist/cjs/webtcl/diagnostics.d.ts +37 -0
  70. package/node_modules/@hccm/web-tcl/dist/cjs/webtcl/diagnostics.js +1 -0
  71. package/node_modules/@hccm/web-tcl/dist/cjs/webtcl/dom-observable.d.ts +13 -0
  72. package/node_modules/@hccm/web-tcl/dist/cjs/webtcl/dom-observable.js +1 -0
  73. package/node_modules/@hccm/web-tcl/dist/cjs/webtcl/events.d.ts +39 -0
  74. package/node_modules/@hccm/web-tcl/dist/cjs/webtcl/events.js +1 -0
  75. package/node_modules/@hccm/web-tcl/dist/cjs/webtcl/iframe-support.d.ts +29 -0
  76. package/node_modules/@hccm/web-tcl/dist/cjs/webtcl/iframe-support.js +1 -0
  77. package/node_modules/@hccm/web-tcl/dist/cjs/webtcl/index.d.ts +26 -0
  78. package/node_modules/@hccm/web-tcl/dist/cjs/webtcl/index.js +1 -0
  79. package/node_modules/@hccm/web-tcl/dist/cjs/webtcl/processing-status.d.ts +1 -0
  80. package/node_modules/@hccm/web-tcl/dist/cjs/webtcl/processing-status.js +1 -0
  81. package/node_modules/@hccm/web-tcl/dist/cjs/webtcl/state.d.ts +165 -0
  82. package/node_modules/@hccm/web-tcl/dist/cjs/webtcl/state.js +1 -0
  83. package/node_modules/@hccm/web-tcl/dist/cjs/webtcl/types.d.ts +21 -0
  84. package/node_modules/@hccm/web-tcl/dist/cjs/webtcl/types.js +1 -0
  85. package/node_modules/@hccm/web-tcl/dist/cjs/webtcl/utility-types.d.ts +3 -0
  86. package/node_modules/@hccm/web-tcl/dist/cjs/webtcl/utility-types.js +1 -0
  87. package/node_modules/@hccm/web-tcl/dist/cjs/webtcl/validation.d.ts +35 -0
  88. package/node_modules/@hccm/web-tcl/dist/cjs/webtcl/validation.js +1 -0
  89. package/node_modules/@hccm/web-tcl/dist/cjs/webtcl/webtcl-attributes.d.ts +104 -0
  90. package/node_modules/@hccm/web-tcl/dist/cjs/webtcl/webtcl-attributes.js +1 -0
  91. package/node_modules/@hccm/web-tcl/dist/cjs/webtcl/webtcl-client.d.ts +16 -0
  92. package/node_modules/@hccm/web-tcl/dist/cjs/webtcl/webtcl-client.js +1 -0
  93. package/node_modules/@hccm/web-tcl/dist/cjs/webtcl/webtcl-controller.d.ts +8 -0
  94. package/node_modules/@hccm/web-tcl/dist/cjs/webtcl/webtcl-controller.js +1 -0
  95. package/node_modules/@hccm/web-tcl/dist/cjs/webtcl/worker.d.ts +18 -0
  96. package/node_modules/@hccm/web-tcl/dist/cjs/webtcl/worker.js +1 -0
  97. package/node_modules/@hccm/web-tcl/dist/esm/cleanup-helper.d.ts +23 -0
  98. package/node_modules/@hccm/web-tcl/dist/esm/cleanup-helper.js +1 -0
  99. package/node_modules/@hccm/web-tcl/dist/esm/common/browser.d.ts +17 -0
  100. package/node_modules/@hccm/web-tcl/dist/esm/common/browser.js +1 -0
  101. package/node_modules/@hccm/web-tcl/dist/esm/common/coordinates.d.ts +6 -0
  102. package/node_modules/@hccm/web-tcl/dist/esm/common/coordinates.js +1 -0
  103. package/node_modules/@hccm/web-tcl/dist/esm/common/dom.d.ts +44 -0
  104. package/node_modules/@hccm/web-tcl/dist/esm/common/dom.js +1 -0
  105. package/node_modules/@hccm/web-tcl/dist/esm/common/element-extensions.d.ts +26 -0
  106. package/node_modules/@hccm/web-tcl/dist/esm/common/element-extensions.js +1 -0
  107. package/node_modules/@hccm/web-tcl/dist/esm/common/error.d.ts +7 -0
  108. package/node_modules/@hccm/web-tcl/dist/esm/common/error.js +1 -0
  109. package/node_modules/@hccm/web-tcl/dist/esm/common/local-store.d.ts +10 -0
  110. package/node_modules/@hccm/web-tcl/dist/esm/common/local-store.js +1 -0
  111. package/node_modules/@hccm/web-tcl/dist/esm/common/selection-info.d.ts +4 -0
  112. package/node_modules/@hccm/web-tcl/dist/esm/common/selection-info.js +1 -0
  113. package/node_modules/@hccm/web-tcl/dist/esm/common/string.d.ts +7 -0
  114. package/node_modules/@hccm/web-tcl/dist/esm/common/string.js +1 -0
  115. package/node_modules/@hccm/web-tcl/dist/esm/common/util.d.ts +73 -0
  116. package/node_modules/@hccm/web-tcl/dist/esm/common/util.js +1 -0
  117. package/node_modules/@hccm/web-tcl/dist/esm/logger/logging.d.ts +67 -0
  118. package/node_modules/@hccm/web-tcl/dist/esm/logger/logging.js +1 -0
  119. package/node_modules/@hccm/web-tcl/dist/esm/main.d.ts +8 -0
  120. package/node_modules/@hccm/web-tcl/dist/esm/main.js +1 -0
  121. package/node_modules/@hccm/web-tcl/dist/esm/package-info.d.ts +2 -0
  122. package/node_modules/@hccm/web-tcl/dist/esm/package-info.js +1 -0
  123. package/node_modules/@hccm/web-tcl/dist/esm/shared-data.d.ts +27 -0
  124. package/node_modules/@hccm/web-tcl/dist/esm/shared-data.js +1 -0
  125. package/node_modules/@hccm/web-tcl/dist/esm/speech-document.d.ts +91 -0
  126. package/node_modules/@hccm/web-tcl/dist/esm/speech-document.js +1 -0
  127. package/node_modules/@hccm/web-tcl/dist/esm/text-control-lib/base-control.d.ts +100 -0
  128. package/node_modules/@hccm/web-tcl/dist/esm/text-control-lib/base-control.js +1 -0
  129. package/node_modules/@hccm/web-tcl/dist/esm/text-control-lib/contenteditable-control.d.ts +18 -0
  130. package/node_modules/@hccm/web-tcl/dist/esm/text-control-lib/contenteditable-control.js +1 -0
  131. package/node_modules/@hccm/web-tcl/dist/esm/text-control-lib/custom-control.d.ts +41 -0
  132. package/node_modules/@hccm/web-tcl/dist/esm/text-control-lib/custom-control.js +1 -0
  133. package/node_modules/@hccm/web-tcl/dist/esm/text-control-lib/factory.d.ts +9 -0
  134. package/node_modules/@hccm/web-tcl/dist/esm/text-control-lib/factory.js +1 -0
  135. package/node_modules/@hccm/web-tcl/dist/esm/text-control-lib/helpers.d.ts +33 -0
  136. package/node_modules/@hccm/web-tcl/dist/esm/text-control-lib/helpers.js +1 -0
  137. package/node_modules/@hccm/web-tcl/dist/esm/text-control-lib/index.d.ts +6 -0
  138. package/node_modules/@hccm/web-tcl/dist/esm/text-control-lib/index.js +1 -0
  139. package/node_modules/@hccm/web-tcl/dist/esm/text-control-lib/input-control.d.ts +7 -0
  140. package/node_modules/@hccm/web-tcl/dist/esm/text-control-lib/input-control.js +1 -0
  141. package/node_modules/@hccm/web-tcl/dist/esm/text-control-lib/processing-status.d.ts +1 -0
  142. package/node_modules/@hccm/web-tcl/dist/esm/text-control-lib/processing-status.js +1 -0
  143. package/node_modules/@hccm/web-tcl/dist/esm/text-control-lib/text-control-manager.d.ts +38 -0
  144. package/node_modules/@hccm/web-tcl/dist/esm/text-control-lib/text-control-manager.js +1 -0
  145. package/node_modules/@hccm/web-tcl/dist/esm/text-control-lib/text-control.d.ts +64 -0
  146. package/node_modules/@hccm/web-tcl/dist/esm/text-control-lib/text-control.js +1 -0
  147. package/node_modules/@hccm/web-tcl/dist/esm/text-control-lib/textarea-control.d.ts +7 -0
  148. package/node_modules/@hccm/web-tcl/dist/esm/text-control-lib/textarea-control.js +1 -0
  149. package/node_modules/@hccm/web-tcl/dist/esm/text-control-lib/tinymce-control.d.ts +11 -0
  150. package/node_modules/@hccm/web-tcl/dist/esm/text-control-lib/tinymce-control.js +1 -0
  151. package/node_modules/@hccm/web-tcl/dist/esm/webtcl/channel.d.ts +15 -0
  152. package/node_modules/@hccm/web-tcl/dist/esm/webtcl/channel.js +1 -0
  153. package/node_modules/@hccm/web-tcl/dist/esm/webtcl/commands.d.ts +64 -0
  154. package/node_modules/@hccm/web-tcl/dist/esm/webtcl/commands.js +1 -0
  155. package/node_modules/@hccm/web-tcl/dist/esm/webtcl/custom-controls/custom-control.d.ts +212 -0
  156. package/node_modules/@hccm/web-tcl/dist/esm/webtcl/custom-controls/custom-control.js +1 -0
  157. package/node_modules/@hccm/web-tcl/dist/esm/webtcl/custom-controls/index.d.ts +6 -0
  158. package/node_modules/@hccm/web-tcl/dist/esm/webtcl/custom-controls/index.js +1 -0
  159. package/node_modules/@hccm/web-tcl/dist/esm/webtcl/custom-controls/input-custom-control.d.ts +2 -0
  160. package/node_modules/@hccm/web-tcl/dist/esm/webtcl/custom-controls/input-custom-control.js +1 -0
  161. package/node_modules/@hccm/web-tcl/dist/esm/webtcl/custom-controls/textarea-custom-control.d.ts +2 -0
  162. package/node_modules/@hccm/web-tcl/dist/esm/webtcl/custom-controls/textarea-custom-control.js +1 -0
  163. package/node_modules/@hccm/web-tcl/dist/esm/webtcl/diagnostics.d.ts +37 -0
  164. package/node_modules/@hccm/web-tcl/dist/esm/webtcl/diagnostics.js +1 -0
  165. package/node_modules/@hccm/web-tcl/dist/esm/webtcl/dom-observable.d.ts +13 -0
  166. package/node_modules/@hccm/web-tcl/dist/esm/webtcl/dom-observable.js +1 -0
  167. package/node_modules/@hccm/web-tcl/dist/esm/webtcl/events.d.ts +39 -0
  168. package/node_modules/@hccm/web-tcl/dist/esm/webtcl/events.js +1 -0
  169. package/node_modules/@hccm/web-tcl/dist/esm/webtcl/iframe-support.d.ts +29 -0
  170. package/node_modules/@hccm/web-tcl/dist/esm/webtcl/iframe-support.js +1 -0
  171. package/node_modules/@hccm/web-tcl/dist/esm/webtcl/index.d.ts +26 -0
  172. package/node_modules/@hccm/web-tcl/dist/esm/webtcl/index.js +1 -0
  173. package/node_modules/@hccm/web-tcl/dist/esm/webtcl/processing-status.d.ts +1 -0
  174. package/node_modules/@hccm/web-tcl/dist/esm/webtcl/processing-status.js +1 -0
  175. package/node_modules/@hccm/web-tcl/dist/esm/webtcl/state.d.ts +165 -0
  176. package/node_modules/@hccm/web-tcl/dist/esm/webtcl/state.js +1 -0
  177. package/node_modules/@hccm/web-tcl/dist/esm/webtcl/types.d.ts +21 -0
  178. package/node_modules/@hccm/web-tcl/dist/esm/webtcl/types.js +1 -0
  179. package/node_modules/@hccm/web-tcl/dist/esm/webtcl/utility-types.d.ts +3 -0
  180. package/node_modules/@hccm/web-tcl/dist/esm/webtcl/utility-types.js +1 -0
  181. package/node_modules/@hccm/web-tcl/dist/esm/webtcl/validation.d.ts +35 -0
  182. package/node_modules/@hccm/web-tcl/dist/esm/webtcl/validation.js +1 -0
  183. package/node_modules/@hccm/web-tcl/dist/esm/webtcl/webtcl-attributes.d.ts +104 -0
  184. package/node_modules/@hccm/web-tcl/dist/esm/webtcl/webtcl-attributes.js +1 -0
  185. package/node_modules/@hccm/web-tcl/dist/esm/webtcl/webtcl-client.d.ts +16 -0
  186. package/node_modules/@hccm/web-tcl/dist/esm/webtcl/webtcl-client.js +1 -0
  187. package/node_modules/@hccm/web-tcl/dist/esm/webtcl/webtcl-controller.d.ts +8 -0
  188. package/node_modules/@hccm/web-tcl/dist/esm/webtcl/webtcl-controller.js +1 -0
  189. package/node_modules/@hccm/web-tcl/dist/esm/webtcl/worker.d.ts +18 -0
  190. package/node_modules/@hccm/web-tcl/dist/esm/webtcl/worker.js +1 -0
  191. package/node_modules/@hccm/web-tcl/package.json +72 -0
  192. package/package.json +5 -3
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.TextAreaControl=void 0;const e=require("./base-control");class t extends e.BaseControl{constructor(e){super(e);this.type="TextArea"}}exports.TextAreaControl=t;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * The TinyMCE control class
3
+ * @class
4
+ */
5
+ export class TinyMceControl extends ContentEditableControl {
6
+ tinyMceIframe: any;
7
+ tinyMceEditor: any;
8
+ adjustScrollPosition(): void;
9
+ #private;
10
+ }
11
+ import { ContentEditableControl } from "./contenteditable-control";
@@ -0,0 +1 @@
1
+ "use strict";var t,e,n;Object.defineProperty(exports,"__esModule",{value:true});exports.TinyMceControl=void 0;const i=require("tslib");const o=require("./contenteditable-control");const r=require("../logger/logging");class c extends o.ContentEditableControl{constructor(e){super(e.getBody());t.add(this);this.tinyMceIframe=e.iframeElement;this.type="TinyMCE";this.tinyMceEditor=e}replaceText(t,e,n){this.tinyMceEditor.undoManager.beforeChange();const i=super.replaceText(t,e,n);if(this.htmlElement.childElementCount===0){this.htmlElement.innerHTML="<p><br></p>"}return i}setSelection(t=0,e=0){super.setSelection(t,e);this.tinyMceEditor.undoManager.add()}getSelectionCoordinates(){if(this.tinyMceIframe){const t=this.tinyMceIframe.getBoundingClientRect();const e=this.tinyMceIframe.contentWindow.getSelection();if(!e||e.rangeCount===0)return null;const n=e.getRangeAt(0).getBoundingClientRect();return{left:t.left+n.left,top:t.top+n.top,right:t.left+n.right,bottom:t.top+n.bottom}}return super.getSelectionCoordinates()}adjustScrollPosition(){try{if(!i.__classPrivateFieldGet(this,t,"m",n).call(this)){this.tinyMceEditor.getContainer().scrollIntoView()}const o=i.__classPrivateFieldGet(this,t,"m",e).call(this);const r=this.tinyMceEditor.getWin();const c=r.document.documentElement;if(!c||!o)return;const s=c.scrollTop;const l=s+c.clientHeight;const d=o.top+s;const g=o.bottom+s;if(d<s){r.scrollTo(0,d)}else if(g>l){const t=g-c.clientHeight;r.scrollTo(0,t)}}catch(t){r.logger.error("TinyMceControl.adjustScrollPosition","Error adjusting scroll position",t)}}}exports.TinyMceControl=c;t=new WeakSet,e=function t(){let e=this.tinyMceEditor.selection.getBoundingClientRect();if(!e){if(this.tinyMceEditor.selection.isCollapsed()){r.logger.debug("TinyMceControl.#getBoundingClientRectOfEditor","rect is undefined, expanding selection to get rect");const t=this.tinyMceEditor.selection.getRng();this.tinyMceEditor.selection.expand();e=this.tinyMceEditor.selection.getBoundingClientRect();this.tinyMceEditor.selection.collapse(t.startContainer,t.startOffset)}if(!e){r.logger.debug("TinyMceControl.#getBoundingClientRectOfEditor","Could not adjust scroll position as rect is undefined")}}return e},n=function t(){if(!this.tinyMceEditor)return false;const e=document.getElementById(this.tinyMceEditor.id).clientHeight;const n=this.tinyMceEditor.getContainer();const i=n.getBoundingClientRect();const o=0;const r=window.innerHeight||document.documentElement.clientHeight;const c=i.top>=o&&i.top<=r;const s=i.bottom>=o&&i.bottom<=r;const l=e>window.innerHeight;return c&&s||l};
@@ -0,0 +1,15 @@
1
+ import { type NextObserver, type Observable } from "rxjs";
2
+ export type Typed<TMap> = {
3
+ [K in keyof TMap]: {
4
+ type: K;
5
+ };
6
+ };
7
+ export type ChannelSender<TMessageMap extends Typed<TMessageMap>> = {
8
+ send(this: void, message: TMessageMap[keyof TMessageMap]): void;
9
+ };
10
+ export type ChannelReceiver<TMessageMap extends Typed<TMessageMap>> = {
11
+ receiveAll(this: void): Observable<TMessageMap[keyof TMessageMap]>;
12
+ receive<K extends keyof TMessageMap>(this: void, type: K): Observable<TMessageMap[K]>;
13
+ };
14
+ export declare function channelSender<TMessageMap extends Typed<TMessageMap>>(value: NextObserver<TMessageMap[keyof TMessageMap]>): ChannelSender<TMessageMap>;
15
+ export declare function channelReceiver<TMessageMap extends Typed<TMessageMap>>(value$: Observable<TMessageMap[keyof TMessageMap]>): ChannelReceiver<TMessageMap>;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.channelSender=r;exports.channelReceiver=t;const e=require("rxjs");function r(e){return{send(r){e.next(r)}}}function t(r){return{receiveAll(){return r},receive(t){return r.pipe((0,e.filter)(e=>e.type===t))}}}
@@ -0,0 +1,64 @@
1
+ import type { ProcessingStatus } from "./processing-status";
2
+ import type { AdditionalReplaceTextParameters } from "./types";
3
+ type CommandMap = {
4
+ initialize: {
5
+ isDisabled: boolean;
6
+ useGuiMarkup: boolean;
7
+ };
8
+ dispose: undefined;
9
+ focus: {
10
+ id: string;
11
+ };
12
+ activate: {
13
+ id: string;
14
+ };
15
+ deactivate: {
16
+ id: string;
17
+ };
18
+ selectNode: {
19
+ id: string;
20
+ shouldFocus: boolean;
21
+ };
22
+ setStatus: {
23
+ id: string;
24
+ status: ProcessingStatus;
25
+ };
26
+ replaceText: {
27
+ id: string;
28
+ text: string;
29
+ selection: {
30
+ start: number;
31
+ length: number;
32
+ };
33
+ additionalParameters?: AdditionalReplaceTextParameters;
34
+ };
35
+ setSelection: {
36
+ id: string;
37
+ selection: {
38
+ start: number;
39
+ length: number;
40
+ };
41
+ };
42
+ setText: {
43
+ id: string;
44
+ text: string;
45
+ };
46
+ setRecordingState: {
47
+ state: "started" | "stopped";
48
+ };
49
+ undo: {
50
+ id: string;
51
+ };
52
+ redo: {
53
+ id: string;
54
+ };
55
+ };
56
+ export type WebTCLCommands = {
57
+ [K in keyof CommandMap]: CommandMap[K] extends undefined ? {
58
+ type: K;
59
+ } : {
60
+ type: K;
61
+ } & CommandMap[K];
62
+ };
63
+ export type WebTCLCommand = WebTCLCommands[keyof WebTCLCommands];
64
+ export {};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});
@@ -0,0 +1,212 @@
1
+ import type { Capabilities } from "../../text-control-lib/text-control";
2
+ import type { AdditionalReplaceTextParameters } from "../types";
3
+ /**
4
+ * A command indicates what changed on the custom-control
5
+ */
6
+ export type CustomControlCommand = {
7
+ /**
8
+ * The text to replace.
9
+ */
10
+ text: {
11
+ value: string;
12
+ start: number;
13
+ length: number;
14
+ additionalParameters?: AdditionalReplaceTextParameters;
15
+ };
16
+ /**
17
+ * The selection of the text.
18
+ */
19
+ selection: {
20
+ start: number;
21
+ end: number;
22
+ };
23
+ /**
24
+ * Indicates if the custom-control should be focused or not.
25
+ */
26
+ focus: boolean;
27
+ /**
28
+ * Forwards the undo voice command to the custom control.
29
+ */
30
+ undo: undefined;
31
+ /**
32
+ * Forwards the redo voice command to the custom control.
33
+ */
34
+ redo: undefined;
35
+ };
36
+ /**
37
+ * Represents the state of a custom control.
38
+ */
39
+ export type CustomControlState = {
40
+ /**
41
+ * The text content of the custom-control
42
+ */
43
+ text: string;
44
+ /**
45
+ * The selection of the text
46
+ */
47
+ selection: {
48
+ start: number;
49
+ end: number;
50
+ };
51
+ /**
52
+ * Indicates if the custom-control has the focus or not.
53
+ */
54
+ focus: boolean;
55
+ };
56
+ /**
57
+ * Custom Control
58
+ */
59
+ export interface CustomControl {
60
+ /**
61
+ * Used to synchronize changes from the {@link CustomControl} with the {@link HTMLElement}
62
+ * @param type {@link CustomControlCommand} indicates what changed
63
+ * @param action The function to execute for the given {@param type}
64
+ */
65
+ handle<K extends keyof CustomControlCommand>(type: K, action: (command: CustomControlCommand[K]) => void): void;
66
+ /**
67
+ * Used to synchronize changes from the {@link HTMLElement} with the {@link CustomControl}
68
+ * @param changes indicates what changed
69
+ */
70
+ update(changes: Partial<CustomControlState>): void;
71
+ /**
72
+ * Defines new line characters
73
+ * @default "\n"
74
+ * @example
75
+ * ```ts
76
+ * function(element: HTMLElement, control: CustomControl) {
77
+ * control.newline = "\n";
78
+ * }
79
+ * ```
80
+ */
81
+ newline: string;
82
+ /**
83
+ * Defines paragraph characters
84
+ * @default "\n\n"
85
+ * @example
86
+ * ```ts
87
+ * function (element: HTMLElement, control: CustomControl) {
88
+ * control.paragraph = "\n\n";
89
+ * }
90
+ * ```
91
+ */
92
+ paragraph: string;
93
+ /**
94
+ * Indicates if the control is multiline or not
95
+ * @default false
96
+ * @example
97
+ * ```ts
98
+ * function (element: HTMLElement, control: CustomControl) {
99
+ * control.isMultiline = true;
100
+ * }
101
+ * ```
102
+ */
103
+ isMultiline: boolean;
104
+ /**
105
+ * Represents the set of additional/custom features supported by a custom control.
106
+ *
107
+ * @property undoRedo - Indicates whether undo and redo functionality is available.
108
+ * @example
109
+ * ```ts
110
+ * function (element: HTMLElement, control: CustomControl) {
111
+ * control.capabilities = {
112
+ * undoRedo: true
113
+ * }
114
+ * }
115
+ * ```
116
+ */
117
+ capabilities?: Capabilities;
118
+ }
119
+ /**
120
+ * Binds {@link HTMLElement} to {@link CustomControl}, synchronizing their state.
121
+ * Changes happened in {@link HTMLElement} are propagate to {@link CustomControl}, and vice-versa.
122
+ * - Initializes {@link CustomControl} with initial state of {@link HTMLElement}
123
+ * - Set event handlers from {@link CustomControl}, applying changes to {@link HTMLElement}
124
+ * - Set event handlers from {@link HTMLElement}, applying changes to {@link CustomControl}
125
+ * - Return a function to disconnect {@link HTMLElement} and {@link CustomControl}.
126
+ *
127
+ * @example
128
+ * ```ts
129
+ * const customInput: CustomControlInitializer = (element, control) => {
130
+ * if (!(element instanceof HTMLInputElement)) {
131
+ * throw new Error("Element is not an input element");
132
+ * }
133
+ *
134
+ * // configure the custom control
135
+ * control.update({
136
+ * newline: "\n",
137
+ * paragraph: "\n\n",
138
+ * });
139
+ *
140
+ * const updateCustomControl = () => {
141
+ * control.update({
142
+ * text: element.value,
143
+ * selection: {
144
+ * start: element.selectionStart ?? 0,
145
+ * length: (element.selectionEnd ?? 0) - (element.selectionStart ?? 0),
146
+ * },
147
+ * focus: element === element.ownerDocument.activeElement,
148
+ * });
149
+ * };
150
+ *
151
+ * // initial state for web-tcl
152
+ * updateCustomControl();
153
+ *
154
+ * // handle events coming from web-tcl
155
+ * control.handle("selection", ({ start, end }) => {
156
+ * element.setSelectionRange(start, end);
157
+ * });
158
+ *
159
+ * control.handle("text", ({ value, start, length }) => {
160
+ * if (!value) {
161
+ * element.value = "";
162
+ * } else {
163
+ * element.value = `${element.value.slice(0, start)}${value}${element.value.slice(start + length)}`;
164
+ * }
165
+ * element.dispatchEvent(new Event("change", { bubbles: true }));
166
+ * });
167
+ *
168
+ * control.handle("focus", (focus) => {
169
+ * if (focus) {
170
+ * element.focus();
171
+ * } else {
172
+ * element.blur();
173
+ * }
174
+ * });
175
+ *
176
+ * // handle events coming from the HTML element
177
+ * element.addEventListener("input", notifyCustomControl);
178
+ * element.addEventListener("change", notifyCustomControl);
179
+ * element.addEventListener("select", notifyCustomControl);
180
+ * element.addEventListener("focusin", notifyCustomControl);
181
+ * element.addEventListener("focusout", notifyCustomControl);
182
+ *
183
+ * return function () {
184
+ * element.removeEventListener("input", notifyCustomControl);
185
+ * element.removeEventListener("change", notifyCustomControl);
186
+ * element.removeEventListener("select", notifyCustomControl);
187
+ * element.removeEventListener("focusin", notifyCustomControl);
188
+ * element.removeEventListener("focusout", notifyCustomControl);
189
+ * };
190
+ * };
191
+ * ```
192
+ * @param element
193
+ * @param control
194
+ * @returns a function to remove event handlers, disconnecting {@link HTMLElement} and {@link CustomControl}.
195
+ */
196
+ export type CustomControlInitializer = (element: HTMLElement, control: CustomControl) => () => void;
197
+ /**
198
+ * Collection of {@link CustomControl} - key is string, value is {@link CustomControlInitializer}
199
+ * @example
200
+ * ```ts
201
+ * const customControls = {
202
+ * "customControlType": function (element: HTMLElement, control: CustomControl) {
203
+ * // implementation
204
+ * },
205
+ * }
206
+ * ```
207
+ */
208
+ export interface CustomControlCollection {
209
+ readonly [name: string]: CustomControlInitializer;
210
+ readonly [name: number]: never;
211
+ readonly [name: symbol]: never;
212
+ }
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});
@@ -0,0 +1,6 @@
1
+ import type { CustomControl, CustomControlInitializer, CustomControlCollection, CustomControlCommand, CustomControlState } from "./custom-control";
2
+ export type { CustomControl, CustomControlInitializer, CustomControlCollection, CustomControlCommand, CustomControlState, };
3
+ export declare const CustomControls: {
4
+ readonly inputCustomControl: CustomControlInitializer;
5
+ readonly textareaCustomControl: CustomControlInitializer;
6
+ };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.CustomControls=void 0;const t=require("./input-custom-control");const o=require("./textarea-custom-control");exports.CustomControls={inputCustomControl:t.inputCustomControl,textareaCustomControl:o.textareaCustomControl};
@@ -0,0 +1,2 @@
1
+ import type { CustomControlInitializer } from "./custom-control";
2
+ export declare const inputCustomControl: CustomControlInitializer;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.inputCustomControl=void 0;const e=function(e,t){if(!(e instanceof HTMLInputElement)){throw new Error("Element must be an input")}t.newline="\n";t.paragraph="\n\n";t.isMultiline=false;const n=()=>{var n,s;t.update({text:e.value,selection:{start:(n=e.selectionStart)!==null&&n!==void 0?n:0,end:(s=e.selectionEnd)!==null&&s!==void 0?s:0},focus:e===e.ownerDocument.activeElement})};n();t.handle("text",({value:t,start:n,length:s})=>{e.value=e.value.slice(0,n)+t+e.value.slice(n+s);e.dispatchEvent(new Event("change",{bubbles:true}))});t.handle("selection",({start:t,end:n})=>{e.setSelectionRange(t,n)});t.handle("focus",t=>{if(t){e.focus()}else{e.blur()}});e.addEventListener("input",n);e.addEventListener("change",n);e.addEventListener("select",n);e.addEventListener("focusin",n);e.addEventListener("focusout",n);return function(){e.removeEventListener("input",n);e.removeEventListener("change",n);e.removeEventListener("select",n);e.removeEventListener("focusin",n);e.removeEventListener("focusout",n)}};exports.inputCustomControl=e;
@@ -0,0 +1,2 @@
1
+ import type { CustomControlInitializer } from "./custom-control";
2
+ export declare const textareaCustomControl: CustomControlInitializer;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.textareaCustomControl=void 0;const e=function(e,t){if(!(e instanceof HTMLTextAreaElement)){throw new Error("Element must be an input")}t.newline="\n";t.paragraph="\n\n";t.isMultiline=true;const n=()=>{var n,s;t.update({text:e.value,selection:{start:(n=e.selectionStart)!==null&&n!==void 0?n:0,end:(s=e.selectionEnd)!==null&&s!==void 0?s:0},focus:e===e.ownerDocument.activeElement})};n();t.handle("text",({value:t,start:n,length:s})=>{e.value=e.value.slice(0,n)+t+e.value.slice(n+s);e.dispatchEvent(new Event("change",{bubbles:true}))});t.handle("selection",({start:t,end:n})=>{e.setSelectionRange(t,n)});t.handle("focus",t=>{if(t){e.focus()}else{e.blur()}});e.addEventListener("input",n);e.addEventListener("change",n);e.addEventListener("select",n);e.addEventListener("focusin",n);e.addEventListener("focusout",n);return function(){e.removeEventListener("input",n);e.removeEventListener("change",n);e.removeEventListener("select",n);e.removeEventListener("focusin",n);e.removeEventListener("focusout",n)}};exports.textareaCustomControl=e;
@@ -0,0 +1,37 @@
1
+ import type { WebTCLCommand } from "./commands";
2
+ import { type WebTCLEvent } from "./events";
3
+ import type { WebTCLState } from "./state";
4
+ type Diagnostics = {
5
+ isEnabled: true;
6
+ trace(message: DiagnosticMessage): void;
7
+ } | {
8
+ isEnabled: false;
9
+ };
10
+ export declare function createDiagnostics(): Diagnostics;
11
+ export type DiagnosticMessageMap = {
12
+ "worker-created": object;
13
+ "worker-destroyed": object;
14
+ "command-executing": {
15
+ command: WebTCLCommand;
16
+ };
17
+ "command-executed": {
18
+ command: WebTCLCommand;
19
+ };
20
+ "state-changed": {
21
+ state: WebTCLState;
22
+ newState: WebTCLState;
23
+ trigger: WebTCLEvent;
24
+ };
25
+ "event-dispatching": {
26
+ event: WebTCLEvent;
27
+ };
28
+ "event-dispatched": {
29
+ event: WebTCLEvent;
30
+ };
31
+ };
32
+ export type DiagnosticMessage = {
33
+ [K in keyof DiagnosticMessageMap]: {
34
+ type: K;
35
+ } & DiagnosticMessageMap[K];
36
+ }[keyof DiagnosticMessageMap];
37
+ export {};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.createDiagnostics=n;const e=require("../package-info");const t=require("./events");let s=0;function n(){var n;const r=s++;switch((n=sessionStorage.getItem("WEBTCL_ENABLE_DIAGNOSTICS"))!==null&&n!==void 0?n:""){case"console":{let s=0;return{isEnabled:true,trace(n){const o=s++;console.log("%s@%s:[%d][%d]:%s at %f\n%s",e.name,e.version,r,o,n.type,(0,t.currentTimestamp)(),JSON.stringify(n,null,2))}}}default:return{isEnabled:false}}}
@@ -0,0 +1,13 @@
1
+ import { Observable } from "rxjs";
2
+ export type ControlsMutation = {
3
+ type: "childList";
4
+ target: HTMLElement;
5
+ added: HTMLElement[];
6
+ removed: HTMLElement[];
7
+ } | {
8
+ type: "attributes";
9
+ target: HTMLElement;
10
+ attributeName: string;
11
+ };
12
+ export declare const attributesToObserve: ("data-dragon-container" | "data-nusa-container" | "data-dragon-concept-name" | "data-nusa-concept-name" | "data-dragon-enabled" | "data-nusa-enabled")[];
13
+ export declare function createDomObservable(target: Node): Observable<ControlsMutation>;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.attributesToObserve=void 0;exports.createDomObservable=r;const e=require("rxjs");const t=require("./webtcl-attributes");exports.attributesToObserve=[...t.DragonAttributesMap.container,...t.DragonAttributesMap.conceptName,...t.DragonAttributesMap.isEnabled];function r(t){return new e.Observable(e=>{const r=new MutationObserver(t=>{t.forEach(t=>{if(!t.target||t.target.nodeType!==Node.ELEMENT_NODE){return}if(t.type==="childList"){const r=Array.from(t.addedNodes).filter(e=>e.nodeType===Node.ELEMENT_NODE);const o=Array.from(t.removedNodes).filter(e=>e.nodeType===Node.ELEMENT_NODE);if(r.length===0&&o.length===0){return}e.next({type:"childList",target:t.target,added:r,removed:o})}if(t.type==="attributes"&&t.attributeName){e.next({type:"attributes",target:t.target,attributeName:t.attributeName})}})});const o={childList:true,subtree:true,attributes:true,attributeFilter:exports.attributesToObserve};r.observe(t,o);return()=>{r.disconnect()}})}
@@ -0,0 +1,39 @@
1
+ import type { ProcessingStatus } from "./processing-status";
2
+ import type { WebTCLState } from "./state";
3
+ type EventMap = {
4
+ initialized: Pick<WebTCLState, "isInitialized" | "isDisabled">;
5
+ focusChanged: {
6
+ id: string;
7
+ isFocused: boolean;
8
+ };
9
+ disposed: undefined;
10
+ controlChanged: {
11
+ id: string;
12
+ text: string;
13
+ selection: {
14
+ start: number;
15
+ length: number;
16
+ };
17
+ };
18
+ statusChanged: {
19
+ id: string;
20
+ status: ProcessingStatus;
21
+ };
22
+ controlsChanged: Pick<WebTCLState, "textControls" | "focusedControl">;
23
+ };
24
+ export type WebTCLEvents = {
25
+ [K in keyof EventMap]: EventMap[K] extends undefined ? {
26
+ type: K;
27
+ timestamp: number;
28
+ } : {
29
+ type: K;
30
+ timestamp: number;
31
+ } & EventMap[K];
32
+ };
33
+ export type WebTCLEvent = WebTCLEvents[keyof WebTCLEvents];
34
+ /**
35
+ * Get the current time in high resolution milliseconds
36
+ * @returns the current time in milliseconds
37
+ */
38
+ export declare const currentTimestamp: () => number;
39
+ export {};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.currentTimestamp=void 0;const e=()=>performance.timeOrigin+performance.now();exports.currentTimestamp=e;
@@ -0,0 +1,29 @@
1
+ import type { CustomControlCollection } from "./custom-controls";
2
+ /**
3
+ * Options for configuring iframe message handling.
4
+ *
5
+ * @property contextWindow - The window context in which the iframe is running.
6
+ * @property customControls - (Optional) A collection of custom controls to be used within the iframe.
7
+ */
8
+ export type IframeMessagesOptions = {
9
+ contextWindow: Window;
10
+ customControls?: CustomControlCollection;
11
+ };
12
+ /**
13
+ * Subscribes to messages sent to the current window from its parent and forwards them as commmands to the web-tcl client.
14
+ * It also subscribes to events coming from the web-tcl client and fowards them to its parent as messages.
15
+ *
16
+ * @remarks
17
+ * **IMPORTANT:** This function should only be called when running inside an iframe.
18
+ *
19
+ * - Listens for messages from the parent window and forwards them to the WebTCL client.
20
+ * - Forwards events from the WebTCL client back to the parent window using `postMessage`.
21
+ * - Manages all subscriptions and resources, cleaning them up when the returned unsubscribe function is called.
22
+ *
23
+ * @param options - Configuration options for the subscription.
24
+ * @param options.contextWindow - The window context in which the iframe is running.
25
+ * @param options.customControls - (Optional) A collection of custom control types to be used within the iframe.
26
+ * @returns A cleanup function that unsubscribes from all events and disposes the WebTCL client.
27
+ * @throws Error if called outside of an iframe context.
28
+ */
29
+ export declare function subscribeToIframeMessages({ contextWindow, customControls }: IframeMessagesOptions): () => void;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.subscribeToIframeMessages=n;const e=require("rxjs");const r=require("./webtcl-client");const s=require("./webtcl-controller");const t=require("../speech-document");const o=require("../logger/logging");function n({contextWindow:n,customControls:a}){if(!i(n)){throw Error("Not running inside an iframe")}const c=(0,s.createController)({speechdocument:new t.SpeechDocument({customControls:a})});const u=(0,r.createClient)({controller:c});const g=new e.Subscription;let d="";function m(e){try{if(!d){o.logger.warning("iframe-support.sendToParent","originOfSubscriber is not set");return}n.parent.postMessage(e,d)}catch(e){o.logger.error("iframe-support.subscribeToIframeMessages","Failed to send message to parent:",e)}}const p=(0,e.fromEvent)(n,"message");g.add(p.subscribe(e=>{if(!e.data){o.logger.debug("iframe-support.messages$.subscribe","message.data is empty");return}if(e.source!==n.parent){o.logger.debug("iframe-support.messages$.subscribe",`message is not from parent`);return}if(!c.isValidCommand(e.data)){o.logger.debug("iframe-support.messages$.subscribe","message.data is not a valid WebTCLCommand");return}if(e.data.type==="initialize"){d=e.origin}u.commands.send(e.data)}));g.add(u.events.receiveAll().subscribe(e=>{m(e)}));n.parent.postMessage({type:"dragon-iframe-support-ready"},"*");return()=>{u.dispose();g.unsubscribe()}}function i(e){try{return e.self!==e.top}catch(e){return true}}
@@ -0,0 +1,26 @@
1
+ import type { WebTCLClient } from "./webtcl-client";
2
+ import type { CustomControlInitializer, CustomControlCollection } from "./custom-controls";
3
+ import { getAttributeValue, setAttributeValue, hasAttribute, removeAttribute } from "./webtcl-attributes";
4
+ export type { WebTCLCommands, WebTCLCommand } from "./commands";
5
+ export type { WebTCLEvents, WebTCLEvent } from "./events";
6
+ export type { WebTCLState } from "./state";
7
+ export type { WebTCLClient };
8
+ export { subscribeToIframeMessages } from "./iframe-support";
9
+ export type { AdditionalReplaceTextParameters, FormattingBoundary } from "./types";
10
+ export { FormattingBoundaries } from "./types";
11
+ export declare const webTCLAttributes: {
12
+ getValue: typeof getAttributeValue;
13
+ setValue: typeof setAttributeValue;
14
+ has: typeof hasAttribute;
15
+ remove: typeof removeAttribute;
16
+ };
17
+ export type { CustomControlInitializer, CustomControlCollection };
18
+ export type WebTCLClientOptions = {
19
+ selector: string;
20
+ /**
21
+ * Custom Controls
22
+ * @see {@link CustomControlCollection}
23
+ */
24
+ customControls?: CustomControlCollection;
25
+ };
26
+ export declare function createClient({ customControls, ...otherOptions }: WebTCLClientOptions): WebTCLClient;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});exports.webTCLAttributes=exports.FormattingBoundaries=exports.subscribeToIframeMessages=void 0;exports.createClient=i;const e=require("tslib");const t=require("../speech-document");const r=require("./webtcl-controller");const s=require("./webtcl-client");const o=require("./webtcl-attributes");var u=require("./iframe-support");Object.defineProperty(exports,"subscribeToIframeMessages",{enumerable:true,get:function(){return u.subscribeToIframeMessages}});var n=require("./types");Object.defineProperty(exports,"FormattingBoundaries",{enumerable:true,get:function(){return n.FormattingBoundaries}});exports.webTCLAttributes={getValue:o.getAttributeValue,setValue:o.setAttributeValue,has:o.hasAttribute,remove:o.removeAttribute};function i(o){var{customControls:u}=o,n=e.__rest(o,["customControls"]);const i=(0,r.createController)(Object.assign(Object.assign({},n),{speechdocument:new t.SpeechDocument({customControls:u})}));return(0,s.createClient)({controller:i})}
@@ -0,0 +1 @@
1
+ export type ProcessingStatus = "pending" | "idle";
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:true});