@signalwire/web-components 4.0.0-beta.9 → 4.0.0-dev-20260515133934

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 (362) hide show
  1. package/README.md +48 -55
  2. package/dist/_virtual/_commonjsHelpers.js +9 -0
  3. package/dist/_virtual/_commonjsHelpers.js.map +1 -0
  4. package/dist/_virtual/prism-python.js +28 -0
  5. package/dist/_virtual/prism-python.js.map +1 -0
  6. package/dist/_virtual/prism-python2.js +5 -0
  7. package/dist/_virtual/prism-python2.js.map +1 -0
  8. package/dist/_virtual/prism-typescript.js +28 -0
  9. package/dist/_virtual/prism-typescript.js.map +1 -0
  10. package/dist/_virtual/prism-typescript2.js +5 -0
  11. package/dist/_virtual/prism-typescript2.js.map +1 -0
  12. package/dist/_virtual/prism.js +28 -0
  13. package/dist/_virtual/prism.js.map +1 -0
  14. package/dist/_virtual/prism2.js +5 -0
  15. package/dist/_virtual/prism2.js.map +1 -0
  16. package/dist/assets/sw_background.webp.js +5 -0
  17. package/dist/assets/sw_background.webp.js.map +1 -0
  18. package/dist/components/UI/DEFAULT_BACKGROUND.d.ts +4 -0
  19. package/dist/components/UI/DEFAULT_BACKGROUND.d.ts.map +1 -0
  20. package/dist/components/UI/DEFAULT_BACKGROUND.js +5 -0
  21. package/dist/components/UI/DEFAULT_BACKGROUND.js.map +1 -0
  22. package/dist/components/UI/controls/sw-ui-control-bar.d.ts +114 -0
  23. package/dist/components/UI/controls/sw-ui-control-bar.d.ts.map +1 -0
  24. package/dist/components/UI/controls/sw-ui-control-bar.js +324 -0
  25. package/dist/components/UI/controls/sw-ui-control-bar.js.map +1 -0
  26. package/dist/components/UI/controls/sw-ui-dialpad.d.ts +67 -0
  27. package/dist/components/UI/controls/sw-ui-dialpad.d.ts.map +1 -0
  28. package/dist/components/UI/controls/sw-ui-dialpad.js +360 -0
  29. package/dist/components/UI/controls/sw-ui-dialpad.js.map +1 -0
  30. package/dist/components/UI/controls/sw-ui-dropup.d.ts +42 -0
  31. package/dist/components/UI/controls/sw-ui-dropup.d.ts.map +1 -0
  32. package/dist/components/UI/controls/sw-ui-dropup.js +138 -0
  33. package/dist/components/UI/controls/sw-ui-dropup.js.map +1 -0
  34. package/dist/components/UI/controls/sw-ui-split-button.d.ts +44 -0
  35. package/dist/components/UI/controls/sw-ui-split-button.d.ts.map +1 -0
  36. package/dist/components/UI/controls/sw-ui-split-button.js +178 -0
  37. package/dist/components/UI/controls/sw-ui-split-button.js.map +1 -0
  38. package/dist/components/UI/host-reset.d.ts +16 -0
  39. package/dist/components/UI/host-reset.d.ts.map +1 -0
  40. package/dist/components/UI/host-reset.js +20 -0
  41. package/dist/components/UI/host-reset.js.map +1 -0
  42. package/dist/components/UI/icons/backspace.svg.js +10 -0
  43. package/dist/components/UI/icons/backspace.svg.js.map +1 -0
  44. package/dist/components/UI/icons/camera-off.svg.js +8 -0
  45. package/dist/components/UI/icons/camera-off.svg.js.map +1 -0
  46. package/dist/components/UI/icons/camera-on.svg.js +8 -0
  47. package/dist/components/UI/icons/camera-on.svg.js.map +1 -0
  48. package/dist/components/UI/icons/check-circle.svg.js +6 -0
  49. package/dist/components/UI/icons/check-circle.svg.js.map +1 -0
  50. package/dist/components/UI/icons/chevron-up.svg.js +8 -0
  51. package/dist/components/UI/icons/chevron-up.svg.js.map +1 -0
  52. package/dist/components/UI/icons/close.svg.js +6 -0
  53. package/dist/components/UI/icons/close.svg.js.map +1 -0
  54. package/dist/components/UI/icons/copy.svg.js +6 -0
  55. package/dist/components/UI/icons/copy.svg.js.map +1 -0
  56. package/dist/components/UI/icons/download.svg.js +6 -0
  57. package/dist/components/UI/icons/download.svg.js.map +1 -0
  58. package/dist/components/UI/icons/fullscreen-exit.svg.js +8 -0
  59. package/dist/components/UI/icons/fullscreen-exit.svg.js.map +1 -0
  60. package/dist/components/UI/icons/fullscreen.svg.js +8 -0
  61. package/dist/components/UI/icons/fullscreen.svg.js.map +1 -0
  62. package/dist/components/UI/icons/hand-raise.svg.js +6 -0
  63. package/dist/components/UI/icons/hand-raise.svg.js.map +1 -0
  64. package/dist/components/UI/icons/icons.d.ts +31 -0
  65. package/dist/components/UI/icons/icons.d.ts.map +1 -0
  66. package/dist/components/UI/icons/icons.js +60 -0
  67. package/dist/components/UI/icons/icons.js.map +1 -0
  68. package/dist/components/UI/icons/index.d.ts +4 -0
  69. package/dist/components/UI/icons/index.d.ts.map +1 -0
  70. package/dist/components/UI/icons/info-circle.svg.js +6 -0
  71. package/dist/components/UI/icons/info-circle.svg.js.map +1 -0
  72. package/dist/components/UI/icons/mic-off.svg.js +8 -0
  73. package/dist/components/UI/icons/mic-off.svg.js.map +1 -0
  74. package/dist/components/UI/icons/mic-on.svg.js +8 -0
  75. package/dist/components/UI/icons/mic-on.svg.js.map +1 -0
  76. package/dist/components/UI/icons/person.svg.js +8 -0
  77. package/dist/components/UI/icons/person.svg.js.map +1 -0
  78. package/dist/components/UI/icons/phone-call.svg.js +8 -0
  79. package/dist/components/UI/icons/phone-call.svg.js.map +1 -0
  80. package/dist/components/UI/icons/phone-end.svg.js +8 -0
  81. package/dist/components/UI/icons/phone-end.svg.js.map +1 -0
  82. package/dist/components/UI/icons/room.svg.js +8 -0
  83. package/dist/components/UI/icons/room.svg.js.map +1 -0
  84. package/dist/components/UI/icons/screen-share-off.svg.js +9 -0
  85. package/dist/components/UI/icons/screen-share-off.svg.js.map +1 -0
  86. package/dist/components/UI/icons/screen-share.svg.js +9 -0
  87. package/dist/components/UI/icons/screen-share.svg.js.map +1 -0
  88. package/dist/components/UI/icons/sendIcon.svg.js +9 -0
  89. package/dist/components/UI/icons/sendIcon.svg.js.map +1 -0
  90. package/dist/components/UI/icons/settings.svg.js +8 -0
  91. package/dist/components/UI/icons/settings.svg.js.map +1 -0
  92. package/dist/components/UI/icons/speaker-off.svg.js +8 -0
  93. package/dist/components/UI/icons/speaker-off.svg.js.map +1 -0
  94. package/dist/components/UI/icons/speaker-on.svg.js +8 -0
  95. package/dist/components/UI/icons/speaker-on.svg.js.map +1 -0
  96. package/dist/components/UI/icons/spinner.svg.js +9 -0
  97. package/dist/components/UI/icons/spinner.svg.js.map +1 -0
  98. package/dist/components/UI/icons/sw-logo.svg.js +11 -0
  99. package/dist/components/UI/icons/sw-logo.svg.js.map +1 -0
  100. package/dist/components/UI/icons/sw-ui-icon.d.ts +28 -0
  101. package/dist/components/UI/icons/sw-ui-icon.d.ts.map +1 -0
  102. package/dist/components/UI/icons/sw-ui-icon.js +47 -0
  103. package/dist/components/UI/icons/sw-ui-icon.js.map +1 -0
  104. package/dist/components/UI/icons/transcript.svg.js +10 -0
  105. package/dist/components/UI/icons/transcript.svg.js.map +1 -0
  106. package/dist/components/UI/index.d.ts +18 -0
  107. package/dist/components/UI/index.d.ts.map +1 -0
  108. package/dist/components/UI/layout/sw-ui-background.d.ts +33 -0
  109. package/dist/components/UI/layout/sw-ui-background.d.ts.map +1 -0
  110. package/dist/components/UI/layout/sw-ui-background.js +106 -0
  111. package/dist/components/UI/layout/sw-ui-background.js.map +1 -0
  112. package/dist/components/UI/layout/sw-ui-call-layout.d.ts +69 -0
  113. package/dist/components/UI/layout/sw-ui-call-layout.d.ts.map +1 -0
  114. package/dist/components/UI/layout/sw-ui-call-layout.js +278 -0
  115. package/dist/components/UI/layout/sw-ui-call-layout.js.map +1 -0
  116. package/dist/components/UI/layout/sw-ui-content-drawer.d.ts +50 -0
  117. package/dist/components/UI/layout/sw-ui-content-drawer.d.ts.map +1 -0
  118. package/dist/components/UI/layout/sw-ui-content-drawer.js +413 -0
  119. package/dist/components/UI/layout/sw-ui-content-drawer.js.map +1 -0
  120. package/dist/components/UI/layout/sw-ui-modal.d.ts +31 -0
  121. package/dist/components/UI/layout/sw-ui-modal.d.ts.map +1 -0
  122. package/dist/components/UI/layout/sw-ui-modal.js +150 -0
  123. package/dist/components/UI/layout/sw-ui-modal.js.map +1 -0
  124. package/dist/components/UI/layout/sw-ui-responsive-container.d.ts +15 -0
  125. package/dist/components/UI/layout/sw-ui-responsive-container.d.ts.map +1 -0
  126. package/dist/components/UI/layout/sw-ui-responsive-container.js +78 -0
  127. package/dist/components/UI/layout/sw-ui-responsive-container.js.map +1 -0
  128. package/dist/components/UI/sw-ui-alert.d.ts +37 -0
  129. package/dist/components/UI/sw-ui-alert.d.ts.map +1 -0
  130. package/dist/components/UI/sw-ui-alert.js +127 -0
  131. package/dist/components/UI/sw-ui-alert.js.map +1 -0
  132. package/dist/components/UI/sw-ui-transcript-view.d.ts +56 -0
  133. package/dist/components/UI/sw-ui-transcript-view.d.ts.map +1 -0
  134. package/dist/components/UI/sw-ui-transcript-view.js +342 -0
  135. package/dist/components/UI/sw-ui-transcript-view.js.map +1 -0
  136. package/dist/components/{audio-level.d.ts → sw-audio-level.d.ts} +44 -4
  137. package/dist/components/sw-audio-level.d.ts.map +1 -0
  138. package/dist/components/sw-audio-level.js +252 -0
  139. package/dist/components/sw-audio-level.js.map +1 -0
  140. package/dist/components/sw-call-controls.d.ts +58 -0
  141. package/dist/components/sw-call-controls.d.ts.map +1 -0
  142. package/dist/components/sw-call-controls.js +186 -0
  143. package/dist/components/sw-call-controls.js.map +1 -0
  144. package/dist/components/sw-call-dialpad.d.ts +52 -0
  145. package/dist/components/sw-call-dialpad.d.ts.map +1 -0
  146. package/dist/components/sw-call-dialpad.js +70 -0
  147. package/dist/components/sw-call-dialpad.js.map +1 -0
  148. package/dist/components/sw-call-media.d.ts +59 -0
  149. package/dist/components/sw-call-media.d.ts.map +1 -0
  150. package/dist/components/sw-call-media.js +178 -0
  151. package/dist/components/sw-call-media.js.map +1 -0
  152. package/dist/components/sw-call-provider.d.ts +41 -0
  153. package/dist/components/sw-call-provider.d.ts.map +1 -0
  154. package/dist/components/sw-call-provider.js +37 -0
  155. package/dist/components/sw-call-provider.js.map +1 -0
  156. package/dist/components/sw-call-status.d.ts +50 -0
  157. package/dist/components/sw-call-status.d.ts.map +1 -0
  158. package/dist/components/sw-call-status.js +204 -0
  159. package/dist/components/sw-call-status.js.map +1 -0
  160. package/dist/components/sw-call-widget/client-factory.d.ts +6 -0
  161. package/dist/components/sw-call-widget/client-factory.d.ts.map +1 -0
  162. package/dist/components/sw-call-widget/client-factory.js +25 -0
  163. package/dist/components/sw-call-widget/client-factory.js.map +1 -0
  164. package/dist/components/sw-call-widget/sw-call-widget.d.ts +110 -0
  165. package/dist/components/sw-call-widget/sw-call-widget.d.ts.map +1 -0
  166. package/dist/components/sw-call-widget/sw-call-widget.js +251 -0
  167. package/dist/components/sw-call-widget/sw-call-widget.js.map +1 -0
  168. package/dist/components/sw-call-widget/sw-call-widget.templates.d.ts +17 -0
  169. package/dist/components/sw-call-widget/sw-call-widget.templates.d.ts.map +1 -0
  170. package/dist/components/sw-call-widget/sw-call-widget.templates.js +80 -0
  171. package/dist/components/sw-call-widget/sw-call-widget.templates.js.map +1 -0
  172. package/dist/components/sw-click-to-call.d.ts +39 -0
  173. package/dist/components/sw-click-to-call.d.ts.map +1 -0
  174. package/dist/components/sw-click-to-call.js +88 -0
  175. package/dist/components/sw-click-to-call.js.map +1 -0
  176. package/dist/components/sw-device-selector/index.d.ts +2 -0
  177. package/dist/components/sw-device-selector/index.d.ts.map +1 -0
  178. package/dist/components/sw-device-selector/sw-device-selector.d.ts +69 -0
  179. package/dist/components/sw-device-selector/sw-device-selector.d.ts.map +1 -0
  180. package/dist/components/sw-device-selector/sw-device-selector.js +278 -0
  181. package/dist/components/sw-device-selector/sw-device-selector.js.map +1 -0
  182. package/dist/components/sw-device-selector/sw-device-selector.styles.d.ts +2 -0
  183. package/dist/components/sw-device-selector/sw-device-selector.styles.d.ts.map +1 -0
  184. package/dist/components/sw-device-selector/sw-device-selector.styles.js +238 -0
  185. package/dist/components/sw-device-selector/sw-device-selector.styles.js.map +1 -0
  186. package/dist/components/{directory.d.ts → sw-directory.d.ts} +18 -4
  187. package/dist/components/sw-directory.d.ts.map +1 -0
  188. package/dist/components/sw-directory.js +435 -0
  189. package/dist/components/sw-directory.js.map +1 -0
  190. package/dist/components/sw-local-camera.d.ts +53 -0
  191. package/dist/components/sw-local-camera.d.ts.map +1 -0
  192. package/dist/components/sw-local-camera.js +147 -0
  193. package/dist/components/sw-local-camera.js.map +1 -0
  194. package/dist/components/sw-participant-controls.d.ts +58 -0
  195. package/dist/components/sw-participant-controls.d.ts.map +1 -0
  196. package/dist/components/sw-participant-controls.js +306 -0
  197. package/dist/components/sw-participant-controls.js.map +1 -0
  198. package/dist/components/sw-participants.d.ts +55 -0
  199. package/dist/components/sw-participants.d.ts.map +1 -0
  200. package/dist/components/sw-participants.js +320 -0
  201. package/dist/components/sw-participants.js.map +1 -0
  202. package/dist/components/sw-self-media.d.ts +46 -0
  203. package/dist/components/sw-self-media.d.ts.map +1 -0
  204. package/dist/components/sw-self-media.js +106 -0
  205. package/dist/components/sw-self-media.js.map +1 -0
  206. package/dist/context/CallStateContextController.d.ts +31 -0
  207. package/dist/context/CallStateContextController.d.ts.map +1 -0
  208. package/dist/context/CallStateContextController.js +125 -0
  209. package/dist/context/CallStateContextController.js.map +1 -0
  210. package/dist/context/DevicesContextController.d.ts +38 -0
  211. package/dist/context/DevicesContextController.d.ts.map +1 -0
  212. package/dist/context/DevicesContextController.js +124 -0
  213. package/dist/context/DevicesContextController.js.map +1 -0
  214. package/dist/context/TranscriptController.d.ts +32 -0
  215. package/dist/context/TranscriptController.d.ts.map +1 -0
  216. package/dist/context/TranscriptController.js +113 -0
  217. package/dist/context/TranscriptController.js.map +1 -0
  218. package/dist/context/UserEventController.d.ts +26 -0
  219. package/dist/context/UserEventController.d.ts.map +1 -0
  220. package/dist/context/UserEventController.js +55 -0
  221. package/dist/context/UserEventController.js.map +1 -0
  222. package/dist/context/call-state-context.d.ts +75 -0
  223. package/dist/context/call-state-context.d.ts.map +1 -0
  224. package/dist/context/call-state-context.js +39 -0
  225. package/dist/context/call-state-context.js.map +1 -0
  226. package/dist/context/chat-state.d.ts +41 -0
  227. package/dist/context/chat-state.d.ts.map +1 -0
  228. package/dist/context/chat-state.js +61 -0
  229. package/dist/context/chat-state.js.map +1 -0
  230. package/dist/context/devices-context.d.ts +28 -0
  231. package/dist/context/devices-context.d.ts.map +1 -0
  232. package/dist/context/devices-context.js +6 -0
  233. package/dist/context/devices-context.js.map +1 -0
  234. package/dist/context/index.d.ts +9 -1
  235. package/dist/context/index.d.ts.map +1 -1
  236. package/dist/context/transcript-context.d.ts +9 -0
  237. package/dist/context/transcript-context.d.ts.map +1 -0
  238. package/dist/context/transcript-context.js +6 -0
  239. package/dist/context/transcript-context.js.map +1 -0
  240. package/dist/context/types.d.ts +9 -0
  241. package/dist/context/types.d.ts.map +1 -0
  242. package/dist/embed/signalwire-web-components-embed.iife.js +3237 -0
  243. package/dist/embed/signalwire-web-components-embed.iife.js.map +1 -0
  244. package/dist/embed/signalwire-web-components-embed.umd.cjs +3237 -0
  245. package/dist/embed/signalwire-web-components-embed.umd.cjs.map +1 -0
  246. package/dist/embed.d.ts +20 -0
  247. package/dist/embed.d.ts.map +1 -0
  248. package/dist/index.d.ts +19 -13
  249. package/dist/index.d.ts.map +1 -1
  250. package/dist/index.js +84 -35
  251. package/dist/index.js.map +1 -1
  252. package/dist/node_modules/dompurify/dist/purify.es.js +597 -0
  253. package/dist/node_modules/dompurify/dist/purify.es.js.map +1 -0
  254. package/dist/node_modules/marked/lib/marked.esm.js +1475 -0
  255. package/dist/node_modules/marked/lib/marked.esm.js.map +1 -0
  256. package/dist/node_modules/prismjs/components/prism-bash.js +220 -0
  257. package/dist/node_modules/prismjs/components/prism-bash.js.map +1 -0
  258. package/dist/node_modules/prismjs/components/prism-css.js +56 -0
  259. package/dist/node_modules/prismjs/components/prism-css.js.map +1 -0
  260. package/dist/node_modules/prismjs/components/prism-javascript.js +138 -0
  261. package/dist/node_modules/prismjs/components/prism-javascript.js.map +1 -0
  262. package/dist/node_modules/prismjs/components/prism-json.js +26 -0
  263. package/dist/node_modules/prismjs/components/prism-json.js.map +1 -0
  264. package/dist/node_modules/prismjs/components/prism-markdown.js +301 -0
  265. package/dist/node_modules/prismjs/components/prism-markdown.js.map +1 -0
  266. package/dist/node_modules/prismjs/components/prism-python.js +69 -0
  267. package/dist/node_modules/prismjs/components/prism-python.js.map +1 -0
  268. package/dist/node_modules/prismjs/components/prism-sql.js +34 -0
  269. package/dist/node_modules/prismjs/components/prism-sql.js.map +1 -0
  270. package/dist/node_modules/prismjs/components/prism-typescript.js +53 -0
  271. package/dist/node_modules/prismjs/components/prism-typescript.js.map +1 -0
  272. package/dist/node_modules/prismjs/components/prism-yaml.js +67 -0
  273. package/dist/node_modules/prismjs/components/prism-yaml.js.map +1 -0
  274. package/dist/node_modules/prismjs/prism.js +1165 -0
  275. package/dist/node_modules/prismjs/prism.js.map +1 -0
  276. package/dist/react.d.ts +96 -46
  277. package/dist/theme.css +451 -0
  278. package/dist/theme.css.js +5 -0
  279. package/dist/theme.css.js.map +1 -0
  280. package/dist/types/index.d.ts +9 -33
  281. package/dist/types/index.d.ts.map +1 -1
  282. package/dist/utils/index.d.ts +2 -0
  283. package/dist/utils/index.d.ts.map +1 -1
  284. package/dist/utils/prism.d.ts +4 -0
  285. package/dist/utils/prism.d.ts.map +1 -0
  286. package/dist/utils/prism.js +34 -0
  287. package/dist/utils/prism.js.map +1 -0
  288. package/dist/utils/theme-loader.d.ts +11 -0
  289. package/dist/utils/theme-loader.d.ts.map +1 -0
  290. package/dist/utils/theme-loader.js +17 -0
  291. package/dist/utils/theme-loader.js.map +1 -0
  292. package/dist/utils/transcriptToMarkdown.d.ts +14 -0
  293. package/dist/utils/transcriptToMarkdown.d.ts.map +1 -0
  294. package/dist/utils/transcriptToMarkdown.js +59 -0
  295. package/dist/utils/transcriptToMarkdown.js.map +1 -0
  296. package/dist/utils/use-google-font.d.ts +18 -0
  297. package/dist/utils/use-google-font.d.ts.map +1 -0
  298. package/dist/utils/use-google-font.js +12 -0
  299. package/dist/utils/use-google-font.js.map +1 -0
  300. package/dist/utils/user-variables.d.ts +20 -0
  301. package/dist/utils/user-variables.d.ts.map +1 -0
  302. package/dist/utils/user-variables.js +37 -0
  303. package/dist/utils/user-variables.js.map +1 -0
  304. package/dist/utils/video.js +6 -21
  305. package/dist/utils/video.js.map +1 -1
  306. package/package.json +105 -42
  307. package/dist/components/audio-level.d.ts.map +0 -1
  308. package/dist/components/audio-level.js +0 -203
  309. package/dist/components/audio-level.js.map +0 -1
  310. package/dist/components/call-controls.d.ts +0 -163
  311. package/dist/components/call-controls.d.ts.map +0 -1
  312. package/dist/components/call-controls.js +0 -606
  313. package/dist/components/call-controls.js.map +0 -1
  314. package/dist/components/call-media.d.ts +0 -114
  315. package/dist/components/call-media.d.ts.map +0 -1
  316. package/dist/components/call-media.js +0 -219
  317. package/dist/components/call-media.js.map +0 -1
  318. package/dist/components/call-status.d.ts +0 -68
  319. package/dist/components/call-status.d.ts.map +0 -1
  320. package/dist/components/call-status.js +0 -254
  321. package/dist/components/call-status.js.map +0 -1
  322. package/dist/components/click-to-call.d.ts +0 -123
  323. package/dist/components/click-to-call.d.ts.map +0 -1
  324. package/dist/components/click-to-call.js +0 -428
  325. package/dist/components/click-to-call.js.map +0 -1
  326. package/dist/components/device-selector.d.ts +0 -224
  327. package/dist/components/device-selector.d.ts.map +0 -1
  328. package/dist/components/device-selector.js +0 -685
  329. package/dist/components/device-selector.js.map +0 -1
  330. package/dist/components/dialpad.d.ts +0 -60
  331. package/dist/components/dialpad.d.ts.map +0 -1
  332. package/dist/components/dialpad.js +0 -372
  333. package/dist/components/dialpad.js.map +0 -1
  334. package/dist/components/directory.d.ts.map +0 -1
  335. package/dist/components/directory.js +0 -503
  336. package/dist/components/directory.js.map +0 -1
  337. package/dist/components/example-button.d.ts +0 -20
  338. package/dist/components/example-button.d.ts.map +0 -1
  339. package/dist/components/example-button.js +0 -74
  340. package/dist/components/example-button.js.map +0 -1
  341. package/dist/components/participant-controls.d.ts +0 -94
  342. package/dist/components/participant-controls.d.ts.map +0 -1
  343. package/dist/components/participant-controls.js +0 -468
  344. package/dist/components/participant-controls.js.map +0 -1
  345. package/dist/components/participants.d.ts +0 -116
  346. package/dist/components/participants.d.ts.map +0 -1
  347. package/dist/components/participants.js +0 -394
  348. package/dist/components/participants.js.map +0 -1
  349. package/dist/components/self-media.d.ts +0 -78
  350. package/dist/components/self-media.d.ts.map +0 -1
  351. package/dist/components/self-media.js +0 -129
  352. package/dist/components/self-media.js.map +0 -1
  353. package/dist/constants.js +0 -5
  354. package/dist/constants.js.map +0 -1
  355. package/dist/context/call-context.d.ts +0 -13
  356. package/dist/context/call-context.d.ts.map +0 -1
  357. package/dist/context/call-context.js +0 -6
  358. package/dist/context/call-context.js.map +0 -1
  359. package/dist/types/index.js +0 -12
  360. package/dist/types/index.js.map +0 -1
  361. package/dist/utils/debounce.js +0 -13
  362. package/dist/utils/debounce.js.map +0 -1
@@ -1,129 +0,0 @@
1
- import { LitElement as u, html as p, css as h } from "lit";
2
- import { property as n, customElement as b } from "lit/decorators.js";
3
- import { consume as d } from "@lit/context";
4
- import { getSelfId as f } from "../types/index.js";
5
- import { callContext as m } from "../context/call-context.js";
6
- var y = Object.defineProperty, _ = Object.getOwnPropertyDescriptor, a = (t, s, r, i) => {
7
- for (var e = i > 1 ? void 0 : i ? _(s, r) : s, o = t.length - 1, c; o >= 0; o--)
8
- (c = t[o]) && (e = (i ? c(s, r, e) : c(e)) || e);
9
- return i && e && y(s, r, e), e;
10
- };
11
- let l = class extends u {
12
- constructor() {
13
- super(...arguments), this.mirror = !1, this._localStreamValue = null, this._layoutLayersValue = [], this.subscriptions = [];
14
- }
15
- set call(t) {
16
- this._call = t, this.cleanupSubscriptions(), this.setupSubscriptions();
17
- }
18
- get call() {
19
- return this._call;
20
- }
21
- /**
22
- * Lifecycle: Component connected to DOM
23
- */
24
- connectedCallback() {
25
- super.connectedCallback(), this.setupSubscriptions();
26
- }
27
- /**
28
- * Lifecycle: React to property/context changes
29
- */
30
- updated(t) {
31
- super.updated(t), t.has("_call") && this._call && (this.cleanupSubscriptions(), this.setupSubscriptions());
32
- }
33
- /**
34
- * Lifecycle: Component disconnected from DOM
35
- */
36
- disconnectedCallback() {
37
- super.disconnectedCallback(), this.cleanupSubscriptions();
38
- }
39
- /**
40
- * Subscribe to call observables
41
- */
42
- setupSubscriptions() {
43
- this._call && (this.subscriptions.push(
44
- this._call.localStream$.subscribe((t) => {
45
- this._localStreamValue = t, this.requestUpdate();
46
- })
47
- ), this.subscriptions.push(
48
- this._call.layoutLayers$.subscribe((t) => {
49
- this._layoutLayersValue = t, this.requestUpdate();
50
- })
51
- ));
52
- }
53
- /**
54
- * Cleanup all subscriptions
55
- */
56
- cleanupSubscriptions() {
57
- this.subscriptions.forEach((t) => t.unsubscribe()), this.subscriptions = [];
58
- }
59
- /**
60
- * Find self layer in layout layers
61
- */
62
- getSelfLayer() {
63
- const t = f(this._call);
64
- return this._layoutLayersValue.find((s) => s.member_id === t);
65
- }
66
- /**
67
- * Render the component
68
- */
69
- render() {
70
- var e;
71
- const t = this.getSelfLayer();
72
- if (!t || !((((e = this._localStreamValue) == null ? void 0 : e.getVideoTracks().length) ?? 0) > 0)) return null;
73
- const r = `
74
- position: absolute;
75
- top: ${t.y}%;
76
- left: ${t.x}%;
77
- width: ${t.width}%;
78
- height: ${t.height}%;
79
- opacity: ${t.visible ? 1 : 0};
80
- overflow: hidden;
81
- transition: top 0.3s ease, left 0.3s ease, width 0.3s ease, height 0.3s ease, opacity 0.3s ease;
82
- pointer-events: none;
83
- `, i = this.mirror ? "transform: scale(-1, 1); -webkit-transform: scale(-1, 1);" : "";
84
- return p`
85
- <div class="local-overlay" part="container" style="${r}">
86
- <video
87
- class="local-video"
88
- part="video"
89
- style="width: 100%; height: 100%; object-fit: cover; ${i}"
90
- autoplay
91
- playsinline
92
- muted
93
- disablePictureInPicture
94
- .srcObject=${this._localStreamValue}
95
- ></video>
96
- </div>
97
- `;
98
- }
99
- };
100
- l.styles = h`
101
- :host {
102
- display: contents; /* Doesn't create a box, children inherit positioning */
103
- }
104
-
105
- .local-overlay {
106
- box-sizing: border-box;
107
- }
108
-
109
- video {
110
- display: block;
111
- }
112
- `;
113
- a([
114
- n({ type: Boolean })
115
- ], l.prototype, "mirror", 2);
116
- a([
117
- d({ context: m, subscribe: !0 }),
118
- n({ attribute: !1 })
119
- ], l.prototype, "_call", 2);
120
- a([
121
- n({ attribute: !1 })
122
- ], l.prototype, "call", 1);
123
- l = a([
124
- b("sw-self-media")
125
- ], l);
126
- export {
127
- l as SelfMedia
128
- };
129
- //# sourceMappingURL=self-media.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"self-media.js","sources":["../../src/components/self-media.ts"],"sourcesContent":["/**\n * Self Media Component\n *\n * Renders local video overlay with positioning from layoutLayers.\n * Supports optional mirror transform for the video element.\n *\n * @example\n * ```html\n * <self-media mirror=${true}></self-media>\n * ```\n */\n\nimport { LitElement, html, css } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { consume } from '@lit/context';\nimport { Subscription } from 'rxjs';\nimport type { Call, LayoutLayer } from '../types/index.js';\nimport { getSelfId } from '../types/index.js';\nimport { callContext } from '../context/call-context.js';\n\n@customElement('sw-self-media')\nexport class SelfMedia extends LitElement {\n static styles = css`\n :host {\n display: contents; /* Doesn't create a box, children inherit positioning */\n }\n\n .local-overlay {\n box-sizing: border-box;\n }\n\n video {\n display: block;\n }\n `;\n\n /**\n * Mirror the local video horizontally\n */\n @property({ type: Boolean }) mirror = false;\n\n /**\n * Consumes call context from parent call-media component\n */\n @consume({ context: callContext, subscribe: true })\n @property({ attribute: false })\n private _call?: Call;\n\n /**\n * Public call property for direct assignment (when not nested in sw-call-media)\n */\n @property({ attribute: false })\n set call(value: Call | undefined) {\n this._call = value;\n this.cleanupSubscriptions();\n this.setupSubscriptions();\n }\n get call(): Call | undefined {\n return this._call;\n }\n\n /**\n * Current local stream value from observable\n */\n private _localStreamValue: MediaStream | null = null;\n\n /**\n * Current layout layers value from observable\n */\n private _layoutLayersValue: LayoutLayer[] = [];\n\n /**\n * RxJS subscriptions for cleanup\n */\n private subscriptions: Subscription[] = [];\n\n /**\n * Lifecycle: Component connected to DOM\n */\n connectedCallback() {\n super.connectedCallback();\n this.setupSubscriptions();\n }\n\n /**\n * Lifecycle: React to property/context changes\n */\n protected updated(changedProperties: Map<string, unknown>): void {\n super.updated(changedProperties);\n if (changedProperties.has('_call') && this._call) {\n // Clean up old subscriptions first\n this.cleanupSubscriptions();\n // Set up new subscriptions\n this.setupSubscriptions();\n }\n }\n\n /**\n * Lifecycle: Component disconnected from DOM\n */\n disconnectedCallback() {\n super.disconnectedCallback();\n this.cleanupSubscriptions();\n }\n\n /**\n * Subscribe to call observables\n */\n private setupSubscriptions(): void {\n // Continue observing even if _call is undefined initially\n // This allows component to react when call becomes available\n if (!this._call) return;\n\n // Subscribe to local stream\n this.subscriptions.push(\n this._call.localStream$.subscribe((stream: MediaStream | null) => {\n this._localStreamValue = stream;\n this.requestUpdate();\n })\n );\n\n // Subscribe to layout layers\n this.subscriptions.push(\n this._call.layoutLayers$.subscribe((layers: LayoutLayer[]) => {\n this._layoutLayersValue = layers;\n this.requestUpdate();\n })\n );\n }\n\n /**\n * Cleanup all subscriptions\n */\n private cleanupSubscriptions(): void {\n this.subscriptions.forEach((sub) => sub.unsubscribe());\n this.subscriptions = [];\n }\n\n /**\n * Find self layer in layout layers\n */\n private getSelfLayer(): LayoutLayer | undefined {\n // Get selfId dynamically from call.self to handle cases where self is available after subscription setup\n const selfId = getSelfId(this._call);\n return this._layoutLayersValue.find((layer) => layer.member_id === selfId);\n }\n\n /**\n * Render the component\n */\n render() {\n const layer = this.getSelfLayer();\n\n // Skip rendering but continue observing - return null allows reactive updates\n if (!layer) return null;\n\n // Skip video overlay for audio-only streams (no video tracks)\n const hasVideoTracks = (this._localStreamValue?.getVideoTracks().length ?? 0) > 0;\n if (!hasVideoTracks) return null;\n\n const style = `\n position: absolute;\n top: ${layer.y}%;\n left: ${layer.x}%;\n width: ${layer.width}%;\n height: ${layer.height}%;\n opacity: ${layer.visible ? 1 : 0};\n overflow: hidden;\n transition: top 0.3s ease, left 0.3s ease, width 0.3s ease, height 0.3s ease, opacity 0.3s ease;\n pointer-events: none;\n `;\n\n const videoStyle = this.mirror\n ? 'transform: scale(-1, 1); -webkit-transform: scale(-1, 1);'\n : '';\n\n return html`\n <div class=\"local-overlay\" part=\"container\" style=\"${style}\">\n <video\n class=\"local-video\"\n part=\"video\"\n style=\"width: 100%; height: 100%; object-fit: cover; ${videoStyle}\"\n autoplay\n playsinline\n muted\n disablePictureInPicture\n .srcObject=${this._localStreamValue}\n ></video>\n </div>\n `;\n }\n}\n\n/**\n * Declare global type for TypeScript\n */\ndeclare global {\n interface HTMLElementTagNameMap {\n 'sw-self-media': SelfMedia;\n }\n}\n"],"names":["SelfMedia","LitElement","value","changedProperties","stream","layers","sub","selfId","getSelfId","layer","_a","style","videoStyle","html","css","__decorateClass","property","consume","callContext","customElement"],"mappings":"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"}
package/dist/constants.js DELETED
@@ -1,5 +0,0 @@
1
- const E = 2e3;
2
- export {
3
- E as VIDEO_READY_TIMEOUT_MS
4
- };
5
- //# sourceMappingURL=constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sources":["../src/constants.ts"],"sourcesContent":["/**\n * Constants for the web-components package\n */\n\n/**\n * Timeout in milliseconds for waiting for a video element to become ready.\n * Audio-only streams attached to video elements may never fire `resize` or `canplay`,\n * so this timeout ensures the component doesn't block indefinitely.\n */\nexport const VIDEO_READY_TIMEOUT_MS = 2000;\n"],"names":["VIDEO_READY_TIMEOUT_MS"],"mappings":"AASO,MAAMA,IAAyB;"}
@@ -1,13 +0,0 @@
1
- /**
2
- * Context for sharing Call object between call-media components.
3
- * Provides call instance from parent <call-media> to child components.
4
- */
5
- import type { Call } from '../types/index.js';
6
- /**
7
- * Context key for Call object sharing.
8
- * Used by call-media (provider) and participants/self-media (consumers).
9
- */
10
- export declare const callContext: {
11
- __context__: Call | undefined;
12
- };
13
- //# sourceMappingURL=call-context.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"call-context.d.ts","sourceRoot":"","sources":["../../src/context/call-context.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAE9C;;;GAGG;AACH,eAAO,MAAM,WAAW;;CAA0C,CAAC"}
@@ -1,6 +0,0 @@
1
- import { createContext as t } from "@lit/context";
2
- const e = t("call");
3
- export {
4
- e as callContext
5
- };
6
- //# sourceMappingURL=call-context.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"call-context.js","sources":["../../src/context/call-context.ts"],"sourcesContent":["/**\n * Context for sharing Call object between call-media components.\n * Provides call instance from parent <call-media> to child components.\n */\n\nimport { createContext } from '@lit/context';\nimport type { Call } from '../types/index.js';\n\n/**\n * Context key for Call object sharing.\n * Used by call-media (provider) and participants/self-media (consumers).\n */\nexport const callContext = createContext<Call | undefined>('call');\n"],"names":["callContext","createContext"],"mappings":";AAYO,MAAMA,IAAcC,EAAgC,MAAM;"}
@@ -1,12 +0,0 @@
1
- function r(t) {
2
- const n = t == null ? void 0 : t.self;
3
- return n == null ? void 0 : n.id;
4
- }
5
- function e(t) {
6
- return t;
7
- }
8
- export {
9
- e as castParticipants,
10
- r as getSelfId
11
- };
12
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../src/types/index.ts"],"sourcesContent":["/**\n * Type definitions for call-media components.\n *\n * Call and LayoutLayer types are imported from the SDK.\n * Other types are defined locally for web-component specific needs.\n */\n\nimport type { Observable } from 'rxjs';\nimport type { Call, DeviceController, LayoutLayer } from '@signalwire/js';\n\n// Re-export SDK types for internal use\nexport type { Call, DeviceController, LayoutLayer };\n\n/**\n * Type helper for accessing call.self with proper typing\n * The SDK's Call.self is typed as unknown for flexibility\n */\nexport interface CallSelf {\n id: string;\n}\n\n/**\n * Helper to safely get self ID from a Call\n */\nexport function getSelfId(call: Call | undefined): string | undefined {\n const self = call?.self as CallSelf | undefined;\n return self?.id;\n}\n\n/**\n * Helper to cast participants from unknown[] to Participant[]\n * The SDK uses unknown[] for flexibility, but web-components knows the shape\n */\nexport function castParticipants(participants: unknown[]): Participant[] {\n return participants as Participant[];\n}\n\n/**\n * Participant interface for call participants\n * Web-component specific with optional methods\n */\nexport interface Participant {\n id: string;\n name?: string;\n name$?: Observable<string>;\n audioMuted?: boolean;\n audioMuted$?: Observable<boolean>;\n videoMuted?: boolean;\n videoMuted$?: Observable<boolean>;\n mute?(): Promise<void>;\n unmute?(): Promise<void>;\n muteVideo?(): Promise<void>;\n unmuteVideo?(): Promise<void>;\n remove?(): Promise<void>;\n}\n\n"],"names":["getSelfId","call","self","castParticipants","participants"],"mappings":"AAwBO,SAASA,EAAUC,GAA4C;AACpE,QAAMC,IAAOD,KAAA,gBAAAA,EAAM;AACnB,SAAOC,KAAA,gBAAAA,EAAM;AACf;AAMO,SAASC,EAAiBC,GAAwC;AACvE,SAAOA;AACT;"}
@@ -1,13 +0,0 @@
1
- function c(t, n) {
2
- let e = null;
3
- return function(...u) {
4
- const l = () => {
5
- e = null, t(...u);
6
- };
7
- e !== null && clearTimeout(e), e = setTimeout(l, n);
8
- };
9
- }
10
- export {
11
- c as debounce
12
- };
13
- //# sourceMappingURL=debounce.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"debounce.js","sources":["../../src/utils/debounce.ts"],"sourcesContent":["/**\n * Creates a debounced function that delays invoking the provided function\n * until after the specified wait time has elapsed since the last invocation.\n *\n * @param func - The function to debounce\n * @param wait - The number of milliseconds to delay\n * @returns A debounced version of the function\n */\nexport function debounce<T extends (...args: any[]) => any>(\n func: T,\n wait: number\n): (...args: Parameters<T>) => void {\n let timeout: ReturnType<typeof setTimeout> | null = null;\n\n return function executedFunction(...args: Parameters<T>) {\n const later = () => {\n timeout = null;\n func(...args);\n };\n\n if (timeout !== null) {\n clearTimeout(timeout);\n }\n timeout = setTimeout(later, wait);\n };\n}\n"],"names":["debounce","func","wait","timeout","args","later"],"mappings":"AAQO,SAASA,EACdC,GACAC,GACkC;AAClC,MAAIC,IAAgD;AAEpD,SAAO,YAA6BC,GAAqB;AACvD,UAAMC,IAAQ,MAAM;AAClB,MAAAF,IAAU,MACVF,EAAK,GAAGG,CAAI;AAAA,IACd;AAEA,IAAID,MAAY,QACd,aAAaA,CAAO,GAEtBA,IAAU,WAAWE,GAAOH,CAAI;AAAA,EAClC;AACF;"}