@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
package/dist/theme.css ADDED
@@ -0,0 +1,451 @@
1
+ /* SignalWire Design System - Auto-generated from signalwire-tokens.dtcg.json */
2
+ /* Variable names use the prefix-map from the DTCG. */
3
+ /* Do not edit manually. Run: python3 build_design.py */
4
+
5
+ :root {
6
+ --sw-blue: #044EF4;
7
+ --sw-fuchsia: #F72A72;
8
+ --sw-turquoise: #40E0D0;
9
+ --sw-gold: #FFD700;
10
+ --sw-purple: #601BE6;
11
+ --sw-light-bg: #FAFBFC;
12
+ --type-family-heading: 'Instrument Sans', sans-serif;
13
+ --type-family-body: 'Lexend', sans-serif;
14
+ --type-family-code: 'JetBrains Mono', monospace;
15
+ --type-size-h1: clamp(2rem, 4.5vw, 3.25rem);
16
+ --type-size-h2: clamp(1.375rem, 3vw, 2rem);
17
+ --type-size-h3: clamp(1.125rem, 2vw, 1.375rem);
18
+ --type-size-body: 16px;
19
+ --type-size-small: 14px;
20
+ --type-size-caption: 13px;
21
+ --type-size-code: 14px;
22
+ --type-weight-heading: 700;
23
+ --type-weight-body: 400;
24
+ --type-weight-medium: 500;
25
+ --type-weight-semibold: 600;
26
+ --type-line-height-body: 1.7;
27
+ --type-line-height-heading: 1.2;
28
+ --type-line-height-code: 1.75;
29
+ --type-letter-spacing-heading: -0.02em;
30
+ --type-letter-spacing-eyebrow: 0.14em;
31
+ --type-prose-body: 20px;
32
+ --type-prose-body-small: 18px;
33
+ --type-prose-h1: clamp(1.75rem, 3.5vw, 2.5rem);
34
+ --type-prose-h2: clamp(1.375rem, 2.5vw, 1.75rem);
35
+ --type-prose-h3: clamp(1.125rem, 2vw, 1.375rem);
36
+ --type-prose-code: 17px;
37
+ --type-prose-line-height: 1.8;
38
+ --type-prose-measure: 75%;
39
+ --type-prose-measure-mobile: 92%;
40
+ --sp-0: 0;
41
+ --sp-1: 0.25rem;
42
+ --sp-2: 0.5rem;
43
+ --sp-3: 0.75rem;
44
+ --sp-4: 1rem;
45
+ --sp-5: 1.25rem;
46
+ --sp-6: 1.5rem;
47
+ --sp-8: 2rem;
48
+ --sp-10: 2.5rem;
49
+ --sp-12: 3rem;
50
+ --sp-16: 4rem;
51
+ --sp-18: 4.5rem;
52
+ --sp-20: 5rem;
53
+ --radius-none: 0;
54
+ --radius-sm: 4px;
55
+ --radius-md: 8px;
56
+ --radius-lg: 10px;
57
+ --radius-xl: 12px;
58
+ --radius-full: 100px;
59
+ --transition-fast: 0.15s ease;
60
+ --transition-normal: 0.2s ease;
61
+ --transition-slow: 0.25s ease;
62
+ --animation-reveal-duration: 0.5s;
63
+ --animation-reveal-easing: cubic-bezier(0.22, 1, 0.36, 1);
64
+ --animation-gradient-duration: 6s;
65
+ --backgrounds-dots: radial-gradient(circle, rgba(255,255,255,0.06) 1px, transparent 1px);
66
+ --backgrounds-grid: linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
67
+ --backgrounds-noise: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='256' height='256' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
68
+ --backgrounds-hex: url("data:image/svg+xml,%3Csvg width='60' height='52' viewBox='0 0 60 52' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30 0 L60 15 L60 37 L30 52 L0 37 L0 15Z' fill='none' stroke='rgba(255,255,255,0.03)' stroke-width='0.5'/%3E%3C/svg%3E");
69
+ --backgrounds-diagonal: repeating-linear-gradient(-45deg, transparent, transparent 28px, rgba(255,255,255,0.02) 28px, rgba(255,255,255,0.02) 29px);
70
+ --backgrounds-orbs: radial-gradient(ellipse 600px 400px at 15% 20%, rgba(4,78,244,0.08) 0%, transparent 70%), radial-gradient(ellipse 500px 350px at 85% 70%, rgba(247,42,114,0.06) 0%, transparent 70%), radial-gradient(ellipse 400px 300px at 50% 50%, rgba(96,27,230,0.05) 0%, transparent 70%);
71
+ --backgrounds-rings: radial-gradient(circle 300px at 25% 35%, transparent 60%, rgba(4,78,244,0.04) 60%, rgba(4,78,244,0.04) 61%, transparent 61%), radial-gradient(circle 200px at 75% 60%, transparent 60%, rgba(247,42,114,0.03) 60%, rgba(247,42,114,0.03) 61%, transparent 61%), radial-gradient(circle 250px at 50% 80%, transparent 60%, rgba(96,27,230,0.03) 60%, rgba(96,27,230,0.03) 61%, transparent 61%);
72
+ --z-index-base: 1;
73
+ --z-index-navbar: 100;
74
+ --z-index-overlay: 200;
75
+ --z-index-modal: 300;
76
+ --breakpoint-sm: 400px;
77
+ --breakpoint-md: 768px;
78
+ --breakpoint-lg: 1024px;
79
+ --breakpoint-xl: 1080px;
80
+ --container-max-width: 1080px;
81
+ --container-padding: 2rem;
82
+ --container-padding-mobile: 1.25rem;
83
+ --tok-string: #40E0D0;
84
+ --tok-keyword: #6e9eff;
85
+ --tok-property: #ffffff;
86
+ --tok-operator: #FFD700;
87
+ --tok-comment: #898995;
88
+ --tok-number: #ff6da0;
89
+ --tok-function: #40E0D0;
90
+ --tok-value: #d4d4d8;
91
+ --tok-decorator: #6e9eff;
92
+ --tok-type: #ff6da0;
93
+ --fill-blue: #044EF4;
94
+ --fill-fuchsia: #F72A72;
95
+ --fill-turquoise: #40E0D0;
96
+ --fill-gold: #FFD700;
97
+ --cb-bg: #1e1e1f;
98
+ --cb-fg: #d4d4d8;
99
+ --cb-border: rgba(255, 255, 255, 0.07);
100
+ --cb-label: #73737e;
101
+ --cb-tab-default: #73737e;
102
+ --cb-tab-hover: #e8e8ec;
103
+ --cb-tab-active: #40E0D0;
104
+ }
105
+
106
+ :root, [data-theme='dark'] {
107
+ --sw-white: #ffffff;
108
+ --sw-gray-50: #f5f5f7;
109
+ --sw-gray-100: #e8e8ec;
110
+ --sw-gray-200: #c8c8cf;
111
+ --sw-gray-300: #a0a0aa;
112
+ --sw-gray-400: #73737e;
113
+ --sw-gray-500: #333333;
114
+ --sw-gray-600: #262630;
115
+ --sw-gray-700: #1a1a2e;
116
+ --sw-gray-800: #15152a;
117
+ --sw-gray-900: #111118;
118
+ --sw-black: #0a0a12;
119
+ --bg-page: #0e0e18;
120
+ --bg-surface: #181a28;
121
+ --bg-surface-raised: #222436;
122
+ --bg-overlay: rgba(14, 14, 24, 0.94);
123
+ --bg-subtle: rgba(255, 255, 255, 0.03);
124
+ --bg-gradient: linear-gradient(135deg, #0a0a12 0%, #0e1028 35%, #0c2060 100%);
125
+ --bg-gradient-slide: linear-gradient(90deg, #010915 0%, #102A4A 45%, #274A83 100%);
126
+ --fg-default: #f0f0f4;
127
+ --fg-secondary: #e8e8ec;
128
+ --fg-muted: #a0a0aa;
129
+ --fg-subtle: #73737e;
130
+ --fg-on-color: #ffffff;
131
+ --fg-on-gold: #0a0a12;
132
+ --fg-headings: #f0f0f4;
133
+ --fg-emphasis: #40E0D0;
134
+ --fg-emphasis-small: #40E0D0;
135
+ --border-default: rgba(255, 255, 255, 0.12);
136
+ --border-strong: rgba(255, 255, 255, 0.15);
137
+ --code-bg: rgba(255, 255, 255, 0.06);
138
+ --code-fg: #40E0D0;
139
+ --badge-bg: rgb(23, 14, 23);
140
+ --badge-border: rgba(255, 255, 255, 0.2);
141
+ --badge-text-fuchsia: #ff5a9e;
142
+ --badge-text-blue: #7aabff;
143
+ --badge-text-turquoise: #6aeee0;
144
+ --badge-text-gold: #ffe44d;
145
+ --callout-info-bg: rgba(4, 78, 244, 0.06);
146
+ --callout-info-border: rgba(4, 78, 244, 0.18);
147
+ --callout-warn-bg: rgba(255, 215, 0, 0.04);
148
+ --callout-warn-border: rgba(255, 215, 0, 0.16);
149
+ --callout-danger-bg: rgba(247, 42, 114, 0.06);
150
+ --callout-danger-border: rgba(247, 42, 114, 0.18);
151
+ --callout-success-bg: rgba(64, 224, 208, 0.06);
152
+ --callout-success-border: rgba(64, 224, 208, 0.18);
153
+ --litbar-fuchsia-glow: 0 0 8px 1px rgba(247, 42, 114, 0.4), 0 0 30px 4px rgba(247, 42, 114, 0.12);
154
+ --litbar-fuchsia-cone: radial-gradient(ellipse 70% 60% at 50% 0%, rgba(247, 42, 114, 0.06) 0%, transparent 100%);
155
+ --litbar-blue-glow: 0 0 8px 1px rgba(4, 78, 244, 0.5), 0 0 30px 4px rgba(4, 78, 244, 0.12);
156
+ --litbar-blue-cone: radial-gradient(ellipse 70% 60% at 50% 0%, rgba(4, 78, 244, 0.07) 0%, transparent 100%);
157
+ --litbar-turquoise-glow: 0 0 8px 1px rgba(64, 224, 208, 0.35), 0 0 30px 4px rgba(64, 224, 208, 0.08);
158
+ --litbar-turquoise-cone: radial-gradient(ellipse 70% 60% at 50% 0%, rgba(64, 224, 208, 0.05) 0%, transparent 100%);
159
+ --litbar-gold-glow: 0 0 8px 1px rgba(255, 215, 0, 0.35), 0 0 30px 4px rgba(255, 215, 0, 0.08);
160
+ --litbar-gold-cone: radial-gradient(ellipse 70% 60% at 50% 0%, rgba(255, 215, 0, 0.04) 0%, transparent 100%);
161
+ --shadow-glow-fuchsia: 0 0 20px rgba(247, 42, 114, 0.25);
162
+ --shadow-glow-fuchsia-soft: 0 4px 40px rgba(247, 42, 114, 0.08);
163
+ --shadow-glow-blue: 0 0 20px rgba(4, 78, 244, 0.25);
164
+ --shadow-glow-blue-soft: 0 4px 40px rgba(4, 78, 244, 0.08);
165
+ --shadow-glow-turquoise-soft: 0 4px 40px rgba(64, 224, 208, 0.06);
166
+ --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.5);
167
+ --interactive-button-primary-bg: #044EF4;
168
+ --interactive-button-primary-text: #ffffff;
169
+ --interactive-button-primary-hover: #0342cf;
170
+ --interactive-button-primary-active: #022da8;
171
+ --interactive-button-secondary-bg: transparent;
172
+ --interactive-button-secondary-text: #ffffff;
173
+ --interactive-button-secondary-border: rgba(255, 255, 255, 0.15);
174
+ --interactive-button-secondary-hover: rgba(255, 255, 255, 0.06);
175
+ --interactive-button-ghost-text: #e8e8ec;
176
+ --interactive-button-ghost-hover: rgba(255, 255, 255, 0.06);
177
+ --interactive-button-destructive-bg: #dc2626;
178
+ --interactive-button-destructive-text: #ffffff;
179
+ --interactive-button-destructive-hover: #b91c1c;
180
+ --interactive-button-disabled-bg: #333338;
181
+ --interactive-button-disabled-text: #73737e;
182
+ --interactive-input-bg: #2a2a2e;
183
+ --interactive-input-text: #ffffff;
184
+ --interactive-input-placeholder: #73737e;
185
+ --interactive-input-border: rgba(255, 255, 255, 0.15);
186
+ --interactive-input-border-focus: #044EF4;
187
+ --interactive-input-focus-ring: 0 0 0 3px rgba(4, 78, 244, 0.3);
188
+ --interactive-input-error-border: #ef4444;
189
+ --interactive-input-disabled-bg: #1e1e1f;
190
+ --interactive-input-disabled-text: #73737e;
191
+ --interactive-status-success: #22c55e;
192
+ --interactive-status-success-soft: rgba(34, 197, 94, 0.12);
193
+ --interactive-status-warning: #FFD700;
194
+ --interactive-status-warning-soft: rgba(255, 215, 0, 0.12);
195
+ --interactive-status-error: #ef4444;
196
+ --interactive-status-error-soft: rgba(239, 68, 68, 0.12);
197
+ --interactive-status-info: #044EF4;
198
+ --interactive-status-info-soft: rgba(4, 78, 244, 0.12);
199
+ --interactive-link-default: #40E0D0;
200
+ --interactive-link-hover: #F72A72;
201
+ --interactive-link-visited: #a0a0aa;
202
+ --interactive-toggle-track-off: #333338;
203
+ --interactive-toggle-track-on: #044EF4;
204
+ --interactive-toggle-thumb: #ffffff;
205
+ --interactive-skeleton-base: #2a2a2e;
206
+ --interactive-skeleton-shimmer: #333338;
207
+ --interactive-tooltip-bg: #ffffff;
208
+ --interactive-tooltip-text: #1e1e1f;
209
+ --interactive-dropdown-bg: #2a2a2e;
210
+ --interactive-dropdown-hover: #333338;
211
+ --interactive-dropdown-border: rgba(255, 255, 255, 0.15);
212
+ --interactive-dropdown-separator: rgba(255, 255, 255, 0.07);
213
+ --interactive-table-header-bg: transparent;
214
+ --interactive-table-header-text: #F72A72;
215
+ --interactive-table-row-hover: rgba(255, 255, 255, 0.03);
216
+ --interactive-table-border: rgba(255, 255, 255, 0.07);
217
+ --interactive-tab-default: #a0a0aa;
218
+ --interactive-tab-active: #40E0D0;
219
+ --interactive-tab-hover: #ffffff;
220
+ --interactive-tab-indicator: #044EF4;
221
+ }
222
+
223
+ [data-theme='light'] {
224
+ --sw-white: #ffffff;
225
+ --sw-gray-50: #F6F6F4;
226
+ --sw-gray-100: #ECECEA;
227
+ --sw-gray-200: #D4D4D2;
228
+ --sw-gray-300: #A8A8A6;
229
+ --sw-gray-400: #737371;
230
+ --sw-gray-500: #52524F;
231
+ --sw-gray-600: #3A3A38;
232
+ --sw-gray-700: #272725;
233
+ --sw-gray-800: #1A1A18;
234
+ --sw-black: #0D0D0C;
235
+ --bg-page: #FAFBFC;
236
+ --bg-surface: #F3F4F6;
237
+ --bg-surface-raised: #E8EAF0;
238
+ --bg-overlay: rgba(250, 251, 252, 0.94);
239
+ --bg-subtle: rgba(0, 0, 0, 0.02);
240
+ --fg-default: #1A1A18;
241
+ --fg-secondary: #3A3A38;
242
+ --fg-muted: #737371;
243
+ --fg-subtle: #A8A8A6;
244
+ --fg-on-color: #FAFBFC;
245
+ --fg-on-gold: #1A1A18;
246
+ --fg-headings: #070c2d;
247
+ --fg-emphasis: #F72A72;
248
+ --fg-emphasis-small: #AB0A42;
249
+ --border-default: rgba(0, 0, 0, 0.1);
250
+ --border-strong: rgba(0, 0, 0, 0.18);
251
+ --code-bg: rgba(0, 0, 0, 0.06);
252
+ --code-fg: #044EF4;
253
+ --badge-bg: #ECECEA;
254
+ --badge-border: rgba(0, 0, 0, 0.12);
255
+ --badge-text-fuchsia: #BE1758;
256
+ --badge-text-blue: #0340C0;
257
+ --badge-text-turquoise: #0A6E64;
258
+ --badge-text-gold: #6B5600;
259
+ --shadow-glow-fuchsia: 0 0 20px rgba(247, 42, 114, 0.15);
260
+ --shadow-glow-fuchsia-soft: 0 4px 40px rgba(247, 42, 114, 0.05);
261
+ --shadow-glow-blue: 0 0 20px rgba(4, 78, 244, 0.15);
262
+ --shadow-glow-blue-soft: 0 4px 40px rgba(4, 78, 244, 0.05);
263
+ --shadow-glow-turquoise-soft: 0 4px 40px rgba(64, 224, 208, 0.04);
264
+ --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.08);
265
+ --callout-info-bg: rgba(4, 78, 244, 0.06);
266
+ --callout-info-border: rgba(4, 78, 244, 0.18);
267
+ --callout-warn-bg: rgba(255, 215, 0, 0.04);
268
+ --callout-warn-border: rgba(255, 215, 0, 0.16);
269
+ --callout-danger-bg: rgba(247, 42, 114, 0.06);
270
+ --callout-danger-border: rgba(247, 42, 114, 0.18);
271
+ --callout-success-bg: rgba(64, 224, 208, 0.06);
272
+ --callout-success-border: rgba(64, 224, 208, 0.18);
273
+ --litbar-fuchsia-glow: 0 0 8px 1px rgba(247, 42, 114, 0.4), 0 0 30px 4px rgba(247, 42, 114, 0.12);
274
+ --litbar-fuchsia-cone: radial-gradient(ellipse 70% 60% at 50% 0%, rgba(247, 42, 114, 0.06) 0%, transparent 100%);
275
+ --litbar-blue-glow: 0 0 8px 1px rgba(4, 78, 244, 0.5), 0 0 30px 4px rgba(4, 78, 244, 0.12);
276
+ --litbar-blue-cone: radial-gradient(ellipse 70% 60% at 50% 0%, rgba(4, 78, 244, 0.07) 0%, transparent 100%);
277
+ --litbar-turquoise-glow: 0 0 8px 1px rgba(64, 224, 208, 0.35), 0 0 30px 4px rgba(64, 224, 208, 0.08);
278
+ --litbar-turquoise-cone: radial-gradient(ellipse 70% 60% at 50% 0%, rgba(64, 224, 208, 0.05) 0%, transparent 100%);
279
+ --litbar-gold-glow: 0 0 8px 1px rgba(255, 215, 0, 0.35), 0 0 30px 4px rgba(255, 215, 0, 0.08);
280
+ --litbar-gold-cone: radial-gradient(ellipse 70% 60% at 50% 0%, rgba(255, 215, 0, 0.04) 0%, transparent 100%);
281
+ --interactive-button-primary-bg: #044EF4;
282
+ --interactive-button-primary-text: #ffffff;
283
+ --interactive-button-primary-hover: #0342cf;
284
+ --interactive-button-primary-active: #022da8;
285
+ --interactive-button-secondary-bg: transparent;
286
+ --interactive-button-secondary-text: #1E1D1B;
287
+ --interactive-button-secondary-border: rgba(0, 0, 0, 0.18);
288
+ --interactive-button-secondary-hover: rgba(0, 0, 0, 0.04);
289
+ --interactive-button-ghost-text: #3E3B37;
290
+ --interactive-button-ghost-hover: rgba(0, 0, 0, 0.04);
291
+ --interactive-button-destructive-bg: #dc2626;
292
+ --interactive-button-destructive-text: #ffffff;
293
+ --interactive-button-destructive-hover: #b91c1c;
294
+ --interactive-button-disabled-bg: #ECECEA;
295
+ --interactive-button-disabled-text: #A8A8A6;
296
+ --interactive-input-bg: #ffffff;
297
+ --interactive-input-text: #1A1A18;
298
+ --interactive-input-placeholder: #A8A8A6;
299
+ --interactive-input-border: rgba(0, 0, 0, 0.18);
300
+ --interactive-input-border-focus: #044EF4;
301
+ --interactive-input-focus-ring: 0 0 0 3px rgba(4, 78, 244, 0.2);
302
+ --interactive-input-error-border: #dc2626;
303
+ --interactive-input-disabled-bg: #F6F6F4;
304
+ --interactive-input-disabled-text: #A8A8A6;
305
+ --interactive-status-success: #16a34a;
306
+ --interactive-status-success-soft: rgba(22, 163, 74, 0.08);
307
+ --interactive-status-warning: #a16207;
308
+ --interactive-status-warning-soft: rgba(161, 98, 7, 0.08);
309
+ --interactive-status-error: #dc2626;
310
+ --interactive-status-error-soft: rgba(220, 38, 38, 0.08);
311
+ --interactive-status-info: #044EF4;
312
+ --interactive-status-info-soft: rgba(4, 78, 244, 0.08);
313
+ --interactive-link-default: #044EF4;
314
+ --interactive-link-hover: #F72A72;
315
+ --interactive-link-visited: #737371;
316
+ --interactive-toggle-track-off: #D4D4D2;
317
+ --interactive-toggle-track-on: #044EF4;
318
+ --interactive-toggle-thumb: #ffffff;
319
+ --interactive-skeleton-base: #F6F6F4;
320
+ --interactive-skeleton-shimmer: #ECECEA;
321
+ --interactive-tooltip-bg: #1A1A18;
322
+ --interactive-tooltip-text: #FBFBFA;
323
+ --interactive-dropdown-bg: #ffffff;
324
+ --interactive-dropdown-hover: #F6F6F4;
325
+ --interactive-dropdown-border: rgba(0, 0, 0, 0.1);
326
+ --interactive-dropdown-separator: rgba(0, 0, 0, 0.06);
327
+ --interactive-table-header-bg: #044EF4;
328
+ --interactive-table-header-text: #ffffff;
329
+ --interactive-table-row-hover: rgba(0, 0, 0, 0.02);
330
+ --interactive-table-border: rgba(0, 0, 0, 0.1);
331
+ --interactive-tab-default: #737371;
332
+ --interactive-tab-active: #F72A72;
333
+ --interactive-tab-hover: #1A1A18;
334
+ --interactive-tab-indicator: #044EF4;
335
+ }
336
+
337
+ @media (prefers-color-scheme: light) {
338
+ :root:not([data-theme]) {
339
+ --sw-white: #ffffff;
340
+ --sw-gray-50: #F6F6F4;
341
+ --sw-gray-100: #ECECEA;
342
+ --sw-gray-200: #D4D4D2;
343
+ --sw-gray-300: #A8A8A6;
344
+ --sw-gray-400: #737371;
345
+ --sw-gray-500: #52524F;
346
+ --sw-gray-600: #3A3A38;
347
+ --sw-gray-700: #272725;
348
+ --sw-gray-800: #1A1A18;
349
+ --sw-black: #0D0D0C;
350
+ --bg-page: #FAFBFC;
351
+ --bg-surface: #F3F4F6;
352
+ --bg-surface-raised: #E8EAF0;
353
+ --bg-overlay: rgba(250, 251, 252, 0.94);
354
+ --bg-subtle: rgba(0, 0, 0, 0.02);
355
+ --fg-default: #1A1A18;
356
+ --fg-secondary: #3A3A38;
357
+ --fg-muted: #737371;
358
+ --fg-subtle: #A8A8A6;
359
+ --fg-on-color: #FAFBFC;
360
+ --fg-on-gold: #1A1A18;
361
+ --fg-headings: #070c2d;
362
+ --fg-emphasis: #F72A72;
363
+ --fg-emphasis-small: #AB0A42;
364
+ --border-default: rgba(0, 0, 0, 0.1);
365
+ --border-strong: rgba(0, 0, 0, 0.18);
366
+ --code-bg: rgba(0, 0, 0, 0.06);
367
+ --code-fg: #044EF4;
368
+ --badge-bg: #ECECEA;
369
+ --badge-border: rgba(0, 0, 0, 0.12);
370
+ --badge-text-fuchsia: #BE1758;
371
+ --badge-text-blue: #0340C0;
372
+ --badge-text-turquoise: #0A6E64;
373
+ --badge-text-gold: #6B5600;
374
+ --shadow-glow-fuchsia: 0 0 20px rgba(247, 42, 114, 0.15);
375
+ --shadow-glow-fuchsia-soft: 0 4px 40px rgba(247, 42, 114, 0.05);
376
+ --shadow-glow-blue: 0 0 20px rgba(4, 78, 244, 0.15);
377
+ --shadow-glow-blue-soft: 0 4px 40px rgba(4, 78, 244, 0.05);
378
+ --shadow-glow-turquoise-soft: 0 4px 40px rgba(64, 224, 208, 0.04);
379
+ --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.08);
380
+ --callout-info-bg: rgba(4, 78, 244, 0.06);
381
+ --callout-info-border: rgba(4, 78, 244, 0.18);
382
+ --callout-warn-bg: rgba(255, 215, 0, 0.04);
383
+ --callout-warn-border: rgba(255, 215, 0, 0.16);
384
+ --callout-danger-bg: rgba(247, 42, 114, 0.06);
385
+ --callout-danger-border: rgba(247, 42, 114, 0.18);
386
+ --callout-success-bg: rgba(64, 224, 208, 0.06);
387
+ --callout-success-border: rgba(64, 224, 208, 0.18);
388
+ --litbar-fuchsia-glow: 0 0 8px 1px rgba(247, 42, 114, 0.4), 0 0 30px 4px rgba(247, 42, 114, 0.12);
389
+ --litbar-fuchsia-cone: radial-gradient(ellipse 70% 60% at 50% 0%, rgba(247, 42, 114, 0.06) 0%, transparent 100%);
390
+ --litbar-blue-glow: 0 0 8px 1px rgba(4, 78, 244, 0.5), 0 0 30px 4px rgba(4, 78, 244, 0.12);
391
+ --litbar-blue-cone: radial-gradient(ellipse 70% 60% at 50% 0%, rgba(4, 78, 244, 0.07) 0%, transparent 100%);
392
+ --litbar-turquoise-glow: 0 0 8px 1px rgba(64, 224, 208, 0.35), 0 0 30px 4px rgba(64, 224, 208, 0.08);
393
+ --litbar-turquoise-cone: radial-gradient(ellipse 70% 60% at 50% 0%, rgba(64, 224, 208, 0.05) 0%, transparent 100%);
394
+ --litbar-gold-glow: 0 0 8px 1px rgba(255, 215, 0, 0.35), 0 0 30px 4px rgba(255, 215, 0, 0.08);
395
+ --litbar-gold-cone: radial-gradient(ellipse 70% 60% at 50% 0%, rgba(255, 215, 0, 0.04) 0%, transparent 100%);
396
+ --interactive-button-primary-bg: #044EF4;
397
+ --interactive-button-primary-text: #ffffff;
398
+ --interactive-button-primary-hover: #0342cf;
399
+ --interactive-button-primary-active: #022da8;
400
+ --interactive-button-secondary-bg: transparent;
401
+ --interactive-button-secondary-text: #1E1D1B;
402
+ --interactive-button-secondary-border: rgba(0, 0, 0, 0.18);
403
+ --interactive-button-secondary-hover: rgba(0, 0, 0, 0.04);
404
+ --interactive-button-ghost-text: #3E3B37;
405
+ --interactive-button-ghost-hover: rgba(0, 0, 0, 0.04);
406
+ --interactive-button-destructive-bg: #dc2626;
407
+ --interactive-button-destructive-text: #ffffff;
408
+ --interactive-button-destructive-hover: #b91c1c;
409
+ --interactive-button-disabled-bg: #ECECEA;
410
+ --interactive-button-disabled-text: #A8A8A6;
411
+ --interactive-input-bg: #ffffff;
412
+ --interactive-input-text: #1A1A18;
413
+ --interactive-input-placeholder: #A8A8A6;
414
+ --interactive-input-border: rgba(0, 0, 0, 0.18);
415
+ --interactive-input-border-focus: #044EF4;
416
+ --interactive-input-focus-ring: 0 0 0 3px rgba(4, 78, 244, 0.2);
417
+ --interactive-input-error-border: #dc2626;
418
+ --interactive-input-disabled-bg: #F6F6F4;
419
+ --interactive-input-disabled-text: #A8A8A6;
420
+ --interactive-status-success: #16a34a;
421
+ --interactive-status-success-soft: rgba(22, 163, 74, 0.08);
422
+ --interactive-status-warning: #a16207;
423
+ --interactive-status-warning-soft: rgba(161, 98, 7, 0.08);
424
+ --interactive-status-error: #dc2626;
425
+ --interactive-status-error-soft: rgba(220, 38, 38, 0.08);
426
+ --interactive-status-info: #044EF4;
427
+ --interactive-status-info-soft: rgba(4, 78, 244, 0.08);
428
+ --interactive-link-default: #044EF4;
429
+ --interactive-link-hover: #F72A72;
430
+ --interactive-link-visited: #737371;
431
+ --interactive-toggle-track-off: #D4D4D2;
432
+ --interactive-toggle-track-on: #044EF4;
433
+ --interactive-toggle-thumb: #ffffff;
434
+ --interactive-skeleton-base: #F6F6F4;
435
+ --interactive-skeleton-shimmer: #ECECEA;
436
+ --interactive-tooltip-bg: #1A1A18;
437
+ --interactive-tooltip-text: #FBFBFA;
438
+ --interactive-dropdown-bg: #ffffff;
439
+ --interactive-dropdown-hover: #F6F6F4;
440
+ --interactive-dropdown-border: rgba(0, 0, 0, 0.1);
441
+ --interactive-dropdown-separator: rgba(0, 0, 0, 0.06);
442
+ --interactive-table-header-bg: #044EF4;
443
+ --interactive-table-header-text: #ffffff;
444
+ --interactive-table-row-hover: rgba(0, 0, 0, 0.02);
445
+ --interactive-table-border: rgba(0, 0, 0, 0.1);
446
+ --interactive-tab-default: #737371;
447
+ --interactive-tab-active: #F72A72;
448
+ --interactive-tab-hover: #1A1A18;
449
+ --interactive-tab-indicator: #044EF4;
450
+ }
451
+ }
@@ -0,0 +1,5 @@
1
+ const e = `:root{--sw-blue: #044EF4;--sw-fuchsia: #F72A72;--sw-turquoise: #40E0D0;--sw-gold: #FFD700;--sw-purple: #601BE6;--sw-light-bg: #FAFBFC;--type-family-heading: "Instrument Sans", sans-serif;--type-family-body: "Lexend", sans-serif;--type-family-code: "JetBrains Mono", monospace;--type-size-h1: clamp(2rem, 4.5vw, 3.25rem);--type-size-h2: clamp(1.375rem, 3vw, 2rem);--type-size-h3: clamp(1.125rem, 2vw, 1.375rem);--type-size-body: 16px;--type-size-small: 14px;--type-size-caption: 13px;--type-size-code: 14px;--type-weight-heading: 700;--type-weight-body: 400;--type-weight-medium: 500;--type-weight-semibold: 600;--type-line-height-body: 1.7;--type-line-height-heading: 1.2;--type-line-height-code: 1.75;--type-letter-spacing-heading: -.02em;--type-letter-spacing-eyebrow: .14em;--type-prose-body: 20px;--type-prose-body-small: 18px;--type-prose-h1: clamp(1.75rem, 3.5vw, 2.5rem);--type-prose-h2: clamp(1.375rem, 2.5vw, 1.75rem);--type-prose-h3: clamp(1.125rem, 2vw, 1.375rem);--type-prose-code: 17px;--type-prose-line-height: 1.8;--type-prose-measure: 75%;--type-prose-measure-mobile: 92%;--sp-0: 0;--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.25rem;--sp-6: 1.5rem;--sp-8: 2rem;--sp-10: 2.5rem;--sp-12: 3rem;--sp-16: 4rem;--sp-18: 4.5rem;--sp-20: 5rem;--radius-none: 0;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 10px;--radius-xl: 12px;--radius-full: 100px;--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .25s ease;--animation-reveal-duration: .5s;--animation-reveal-easing: cubic-bezier(.22, 1, .36, 1);--animation-gradient-duration: 6s;--backgrounds-dots: radial-gradient(circle, rgba(255,255,255,.06) 1px, transparent 1px);--backgrounds-grid: linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);--backgrounds-noise: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='256' height='256' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");--backgrounds-hex: url("data:image/svg+xml,%3Csvg width='60' height='52' viewBox='0 0 60 52' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M30 0 L60 15 L60 37 L30 52 L0 37 L0 15Z' fill='none' stroke='rgba(255,255,255,0.03)' stroke-width='0.5'/%3E%3C/svg%3E");--backgrounds-diagonal: repeating-linear-gradient(-45deg, transparent, transparent 28px, rgba(255,255,255,.02) 28px, rgba(255,255,255,.02) 29px);--backgrounds-orbs: radial-gradient(ellipse 600px 400px at 15% 20%, rgba(4,78,244,.08) 0%, transparent 70%), radial-gradient(ellipse 500px 350px at 85% 70%, rgba(247,42,114,.06) 0%, transparent 70%), radial-gradient(ellipse 400px 300px at 50% 50%, rgba(96,27,230,.05) 0%, transparent 70%);--backgrounds-rings: radial-gradient(circle 300px at 25% 35%, transparent 60%, rgba(4,78,244,.04) 60%, rgba(4,78,244,.04) 61%, transparent 61%), radial-gradient(circle 200px at 75% 60%, transparent 60%, rgba(247,42,114,.03) 60%, rgba(247,42,114,.03) 61%, transparent 61%), radial-gradient(circle 250px at 50% 80%, transparent 60%, rgba(96,27,230,.03) 60%, rgba(96,27,230,.03) 61%, transparent 61%);--z-index-base: 1;--z-index-navbar: 100;--z-index-overlay: 200;--z-index-modal: 300;--breakpoint-sm: 400px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1080px;--container-max-width: 1080px;--container-padding: 2rem;--container-padding-mobile: 1.25rem;--tok-string: #40E0D0;--tok-keyword: #6e9eff;--tok-property: #ffffff;--tok-operator: #FFD700;--tok-comment: #898995;--tok-number: #ff6da0;--tok-function: #40E0D0;--tok-value: #d4d4d8;--tok-decorator: #6e9eff;--tok-type: #ff6da0;--fill-blue: #044EF4;--fill-fuchsia: #F72A72;--fill-turquoise: #40E0D0;--fill-gold: #FFD700;--cb-bg: #1e1e1f;--cb-fg: #d4d4d8;--cb-border: rgba(255, 255, 255, .07);--cb-label: #73737e;--cb-tab-default: #73737e;--cb-tab-hover: #e8e8ec;--cb-tab-active: #40E0D0}:root,[data-theme=dark]{--sw-white: #ffffff;--sw-gray-50: #f5f5f7;--sw-gray-100: #e8e8ec;--sw-gray-200: #c8c8cf;--sw-gray-300: #a0a0aa;--sw-gray-400: #73737e;--sw-gray-500: #333333;--sw-gray-600: #262630;--sw-gray-700: #1a1a2e;--sw-gray-800: #15152a;--sw-gray-900: #111118;--sw-black: #0a0a12;--bg-page: #0e0e18;--bg-surface: #181a28;--bg-surface-raised: #222436;--bg-overlay: rgba(14, 14, 24, .94);--bg-subtle: rgba(255, 255, 255, .03);--bg-gradient: linear-gradient(135deg, #0a0a12 0%, #0e1028 35%, #0c2060 100%);--bg-gradient-slide: linear-gradient(90deg, #010915 0%, #102A4A 45%, #274A83 100%);--fg-default: #f0f0f4;--fg-secondary: #e8e8ec;--fg-muted: #a0a0aa;--fg-subtle: #73737e;--fg-on-color: #ffffff;--fg-on-gold: #0a0a12;--fg-headings: #f0f0f4;--fg-emphasis: #40E0D0;--fg-emphasis-small: #40E0D0;--border-default: rgba(255, 255, 255, .12);--border-strong: rgba(255, 255, 255, .15);--code-bg: rgba(255, 255, 255, .06);--code-fg: #40E0D0;--badge-bg: rgb(23, 14, 23);--badge-border: rgba(255, 255, 255, .2);--badge-text-fuchsia: #ff5a9e;--badge-text-blue: #7aabff;--badge-text-turquoise: #6aeee0;--badge-text-gold: #ffe44d;--callout-info-bg: rgba(4, 78, 244, .06);--callout-info-border: rgba(4, 78, 244, .18);--callout-warn-bg: rgba(255, 215, 0, .04);--callout-warn-border: rgba(255, 215, 0, .16);--callout-danger-bg: rgba(247, 42, 114, .06);--callout-danger-border: rgba(247, 42, 114, .18);--callout-success-bg: rgba(64, 224, 208, .06);--callout-success-border: rgba(64, 224, 208, .18);--litbar-fuchsia-glow: 0 0 8px 1px rgba(247, 42, 114, .4), 0 0 30px 4px rgba(247, 42, 114, .12);--litbar-fuchsia-cone: radial-gradient(ellipse 70% 60% at 50% 0%, rgba(247, 42, 114, .06) 0%, transparent 100%);--litbar-blue-glow: 0 0 8px 1px rgba(4, 78, 244, .5), 0 0 30px 4px rgba(4, 78, 244, .12);--litbar-blue-cone: radial-gradient(ellipse 70% 60% at 50% 0%, rgba(4, 78, 244, .07) 0%, transparent 100%);--litbar-turquoise-glow: 0 0 8px 1px rgba(64, 224, 208, .35), 0 0 30px 4px rgba(64, 224, 208, .08);--litbar-turquoise-cone: radial-gradient(ellipse 70% 60% at 50% 0%, rgba(64, 224, 208, .05) 0%, transparent 100%);--litbar-gold-glow: 0 0 8px 1px rgba(255, 215, 0, .35), 0 0 30px 4px rgba(255, 215, 0, .08);--litbar-gold-cone: radial-gradient(ellipse 70% 60% at 50% 0%, rgba(255, 215, 0, .04) 0%, transparent 100%);--shadow-glow-fuchsia: 0 0 20px rgba(247, 42, 114, .25);--shadow-glow-fuchsia-soft: 0 4px 40px rgba(247, 42, 114, .08);--shadow-glow-blue: 0 0 20px rgba(4, 78, 244, .25);--shadow-glow-blue-soft: 0 4px 40px rgba(4, 78, 244, .08);--shadow-glow-turquoise-soft: 0 4px 40px rgba(64, 224, 208, .06);--shadow-md: 0 4px 16px rgba(0, 0, 0, .5);--interactive-button-primary-bg: #044EF4;--interactive-button-primary-text: #ffffff;--interactive-button-primary-hover: #0342cf;--interactive-button-primary-active: #022da8;--interactive-button-secondary-bg: transparent;--interactive-button-secondary-text: #ffffff;--interactive-button-secondary-border: rgba(255, 255, 255, .15);--interactive-button-secondary-hover: rgba(255, 255, 255, .06);--interactive-button-ghost-text: #e8e8ec;--interactive-button-ghost-hover: rgba(255, 255, 255, .06);--interactive-button-destructive-bg: #dc2626;--interactive-button-destructive-text: #ffffff;--interactive-button-destructive-hover: #b91c1c;--interactive-button-disabled-bg: #333338;--interactive-button-disabled-text: #73737e;--interactive-input-bg: #2a2a2e;--interactive-input-text: #ffffff;--interactive-input-placeholder: #73737e;--interactive-input-border: rgba(255, 255, 255, .15);--interactive-input-border-focus: #044EF4;--interactive-input-focus-ring: 0 0 0 3px rgba(4, 78, 244, .3);--interactive-input-error-border: #ef4444;--interactive-input-disabled-bg: #1e1e1f;--interactive-input-disabled-text: #73737e;--interactive-status-success: #22c55e;--interactive-status-success-soft: rgba(34, 197, 94, .12);--interactive-status-warning: #FFD700;--interactive-status-warning-soft: rgba(255, 215, 0, .12);--interactive-status-error: #ef4444;--interactive-status-error-soft: rgba(239, 68, 68, .12);--interactive-status-info: #044EF4;--interactive-status-info-soft: rgba(4, 78, 244, .12);--interactive-link-default: #40E0D0;--interactive-link-hover: #F72A72;--interactive-link-visited: #a0a0aa;--interactive-toggle-track-off: #333338;--interactive-toggle-track-on: #044EF4;--interactive-toggle-thumb: #ffffff;--interactive-skeleton-base: #2a2a2e;--interactive-skeleton-shimmer: #333338;--interactive-tooltip-bg: #ffffff;--interactive-tooltip-text: #1e1e1f;--interactive-dropdown-bg: #2a2a2e;--interactive-dropdown-hover: #333338;--interactive-dropdown-border: rgba(255, 255, 255, .15);--interactive-dropdown-separator: rgba(255, 255, 255, .07);--interactive-table-header-bg: transparent;--interactive-table-header-text: #F72A72;--interactive-table-row-hover: rgba(255, 255, 255, .03);--interactive-table-border: rgba(255, 255, 255, .07);--interactive-tab-default: #a0a0aa;--interactive-tab-active: #40E0D0;--interactive-tab-hover: #ffffff;--interactive-tab-indicator: #044EF4}[data-theme=light]{--sw-white: #ffffff;--sw-gray-50: #F6F6F4;--sw-gray-100: #ECECEA;--sw-gray-200: #D4D4D2;--sw-gray-300: #A8A8A6;--sw-gray-400: #737371;--sw-gray-500: #52524F;--sw-gray-600: #3A3A38;--sw-gray-700: #272725;--sw-gray-800: #1A1A18;--sw-black: #0D0D0C;--bg-page: #FAFBFC;--bg-surface: #F3F4F6;--bg-surface-raised: #E8EAF0;--bg-overlay: rgba(250, 251, 252, .94);--bg-subtle: rgba(0, 0, 0, .02);--fg-default: #1A1A18;--fg-secondary: #3A3A38;--fg-muted: #737371;--fg-subtle: #A8A8A6;--fg-on-color: #FAFBFC;--fg-on-gold: #1A1A18;--fg-headings: #070c2d;--fg-emphasis: #F72A72;--fg-emphasis-small: #AB0A42;--border-default: rgba(0, 0, 0, .1);--border-strong: rgba(0, 0, 0, .18);--code-bg: rgba(0, 0, 0, .06);--code-fg: #044EF4;--badge-bg: #ECECEA;--badge-border: rgba(0, 0, 0, .12);--badge-text-fuchsia: #BE1758;--badge-text-blue: #0340C0;--badge-text-turquoise: #0A6E64;--badge-text-gold: #6B5600;--shadow-glow-fuchsia: 0 0 20px rgba(247, 42, 114, .15);--shadow-glow-fuchsia-soft: 0 4px 40px rgba(247, 42, 114, .05);--shadow-glow-blue: 0 0 20px rgba(4, 78, 244, .15);--shadow-glow-blue-soft: 0 4px 40px rgba(4, 78, 244, .05);--shadow-glow-turquoise-soft: 0 4px 40px rgba(64, 224, 208, .04);--shadow-md: 0 4px 16px rgba(0, 0, 0, .08);--callout-info-bg: rgba(4, 78, 244, .06);--callout-info-border: rgba(4, 78, 244, .18);--callout-warn-bg: rgba(255, 215, 0, .04);--callout-warn-border: rgba(255, 215, 0, .16);--callout-danger-bg: rgba(247, 42, 114, .06);--callout-danger-border: rgba(247, 42, 114, .18);--callout-success-bg: rgba(64, 224, 208, .06);--callout-success-border: rgba(64, 224, 208, .18);--litbar-fuchsia-glow: 0 0 8px 1px rgba(247, 42, 114, .4), 0 0 30px 4px rgba(247, 42, 114, .12);--litbar-fuchsia-cone: radial-gradient(ellipse 70% 60% at 50% 0%, rgba(247, 42, 114, .06) 0%, transparent 100%);--litbar-blue-glow: 0 0 8px 1px rgba(4, 78, 244, .5), 0 0 30px 4px rgba(4, 78, 244, .12);--litbar-blue-cone: radial-gradient(ellipse 70% 60% at 50% 0%, rgba(4, 78, 244, .07) 0%, transparent 100%);--litbar-turquoise-glow: 0 0 8px 1px rgba(64, 224, 208, .35), 0 0 30px 4px rgba(64, 224, 208, .08);--litbar-turquoise-cone: radial-gradient(ellipse 70% 60% at 50% 0%, rgba(64, 224, 208, .05) 0%, transparent 100%);--litbar-gold-glow: 0 0 8px 1px rgba(255, 215, 0, .35), 0 0 30px 4px rgba(255, 215, 0, .08);--litbar-gold-cone: radial-gradient(ellipse 70% 60% at 50% 0%, rgba(255, 215, 0, .04) 0%, transparent 100%);--interactive-button-primary-bg: #044EF4;--interactive-button-primary-text: #ffffff;--interactive-button-primary-hover: #0342cf;--interactive-button-primary-active: #022da8;--interactive-button-secondary-bg: transparent;--interactive-button-secondary-text: #1E1D1B;--interactive-button-secondary-border: rgba(0, 0, 0, .18);--interactive-button-secondary-hover: rgba(0, 0, 0, .04);--interactive-button-ghost-text: #3E3B37;--interactive-button-ghost-hover: rgba(0, 0, 0, .04);--interactive-button-destructive-bg: #dc2626;--interactive-button-destructive-text: #ffffff;--interactive-button-destructive-hover: #b91c1c;--interactive-button-disabled-bg: #ECECEA;--interactive-button-disabled-text: #A8A8A6;--interactive-input-bg: #ffffff;--interactive-input-text: #1A1A18;--interactive-input-placeholder: #A8A8A6;--interactive-input-border: rgba(0, 0, 0, .18);--interactive-input-border-focus: #044EF4;--interactive-input-focus-ring: 0 0 0 3px rgba(4, 78, 244, .2);--interactive-input-error-border: #dc2626;--interactive-input-disabled-bg: #F6F6F4;--interactive-input-disabled-text: #A8A8A6;--interactive-status-success: #16a34a;--interactive-status-success-soft: rgba(22, 163, 74, .08);--interactive-status-warning: #a16207;--interactive-status-warning-soft: rgba(161, 98, 7, .08);--interactive-status-error: #dc2626;--interactive-status-error-soft: rgba(220, 38, 38, .08);--interactive-status-info: #044EF4;--interactive-status-info-soft: rgba(4, 78, 244, .08);--interactive-link-default: #044EF4;--interactive-link-hover: #F72A72;--interactive-link-visited: #737371;--interactive-toggle-track-off: #D4D4D2;--interactive-toggle-track-on: #044EF4;--interactive-toggle-thumb: #ffffff;--interactive-skeleton-base: #F6F6F4;--interactive-skeleton-shimmer: #ECECEA;--interactive-tooltip-bg: #1A1A18;--interactive-tooltip-text: #FBFBFA;--interactive-dropdown-bg: #ffffff;--interactive-dropdown-hover: #F6F6F4;--interactive-dropdown-border: rgba(0, 0, 0, .1);--interactive-dropdown-separator: rgba(0, 0, 0, .06);--interactive-table-header-bg: #044EF4;--interactive-table-header-text: #ffffff;--interactive-table-row-hover: rgba(0, 0, 0, .02);--interactive-table-border: rgba(0, 0, 0, .1);--interactive-tab-default: #737371;--interactive-tab-active: #F72A72;--interactive-tab-hover: #1A1A18;--interactive-tab-indicator: #044EF4}@media(prefers-color-scheme:light){:root:not([data-theme]){--sw-white: #ffffff;--sw-gray-50: #F6F6F4;--sw-gray-100: #ECECEA;--sw-gray-200: #D4D4D2;--sw-gray-300: #A8A8A6;--sw-gray-400: #737371;--sw-gray-500: #52524F;--sw-gray-600: #3A3A38;--sw-gray-700: #272725;--sw-gray-800: #1A1A18;--sw-black: #0D0D0C;--bg-page: #FAFBFC;--bg-surface: #F3F4F6;--bg-surface-raised: #E8EAF0;--bg-overlay: rgba(250, 251, 252, .94);--bg-subtle: rgba(0, 0, 0, .02);--fg-default: #1A1A18;--fg-secondary: #3A3A38;--fg-muted: #737371;--fg-subtle: #A8A8A6;--fg-on-color: #FAFBFC;--fg-on-gold: #1A1A18;--fg-headings: #070c2d;--fg-emphasis: #F72A72;--fg-emphasis-small: #AB0A42;--border-default: rgba(0, 0, 0, .1);--border-strong: rgba(0, 0, 0, .18);--code-bg: rgba(0, 0, 0, .06);--code-fg: #044EF4;--badge-bg: #ECECEA;--badge-border: rgba(0, 0, 0, .12);--badge-text-fuchsia: #BE1758;--badge-text-blue: #0340C0;--badge-text-turquoise: #0A6E64;--badge-text-gold: #6B5600;--shadow-glow-fuchsia: 0 0 20px rgba(247, 42, 114, .15);--shadow-glow-fuchsia-soft: 0 4px 40px rgba(247, 42, 114, .05);--shadow-glow-blue: 0 0 20px rgba(4, 78, 244, .15);--shadow-glow-blue-soft: 0 4px 40px rgba(4, 78, 244, .05);--shadow-glow-turquoise-soft: 0 4px 40px rgba(64, 224, 208, .04);--shadow-md: 0 4px 16px rgba(0, 0, 0, .08);--callout-info-bg: rgba(4, 78, 244, .06);--callout-info-border: rgba(4, 78, 244, .18);--callout-warn-bg: rgba(255, 215, 0, .04);--callout-warn-border: rgba(255, 215, 0, .16);--callout-danger-bg: rgba(247, 42, 114, .06);--callout-danger-border: rgba(247, 42, 114, .18);--callout-success-bg: rgba(64, 224, 208, .06);--callout-success-border: rgba(64, 224, 208, .18);--litbar-fuchsia-glow: 0 0 8px 1px rgba(247, 42, 114, .4), 0 0 30px 4px rgba(247, 42, 114, .12);--litbar-fuchsia-cone: radial-gradient(ellipse 70% 60% at 50% 0%, rgba(247, 42, 114, .06) 0%, transparent 100%);--litbar-blue-glow: 0 0 8px 1px rgba(4, 78, 244, .5), 0 0 30px 4px rgba(4, 78, 244, .12);--litbar-blue-cone: radial-gradient(ellipse 70% 60% at 50% 0%, rgba(4, 78, 244, .07) 0%, transparent 100%);--litbar-turquoise-glow: 0 0 8px 1px rgba(64, 224, 208, .35), 0 0 30px 4px rgba(64, 224, 208, .08);--litbar-turquoise-cone: radial-gradient(ellipse 70% 60% at 50% 0%, rgba(64, 224, 208, .05) 0%, transparent 100%);--litbar-gold-glow: 0 0 8px 1px rgba(255, 215, 0, .35), 0 0 30px 4px rgba(255, 215, 0, .08);--litbar-gold-cone: radial-gradient(ellipse 70% 60% at 50% 0%, rgba(255, 215, 0, .04) 0%, transparent 100%);--interactive-button-primary-bg: #044EF4;--interactive-button-primary-text: #ffffff;--interactive-button-primary-hover: #0342cf;--interactive-button-primary-active: #022da8;--interactive-button-secondary-bg: transparent;--interactive-button-secondary-text: #1E1D1B;--interactive-button-secondary-border: rgba(0, 0, 0, .18);--interactive-button-secondary-hover: rgba(0, 0, 0, .04);--interactive-button-ghost-text: #3E3B37;--interactive-button-ghost-hover: rgba(0, 0, 0, .04);--interactive-button-destructive-bg: #dc2626;--interactive-button-destructive-text: #ffffff;--interactive-button-destructive-hover: #b91c1c;--interactive-button-disabled-bg: #ECECEA;--interactive-button-disabled-text: #A8A8A6;--interactive-input-bg: #ffffff;--interactive-input-text: #1A1A18;--interactive-input-placeholder: #A8A8A6;--interactive-input-border: rgba(0, 0, 0, .18);--interactive-input-border-focus: #044EF4;--interactive-input-focus-ring: 0 0 0 3px rgba(4, 78, 244, .2);--interactive-input-error-border: #dc2626;--interactive-input-disabled-bg: #F6F6F4;--interactive-input-disabled-text: #A8A8A6;--interactive-status-success: #16a34a;--interactive-status-success-soft: rgba(22, 163, 74, .08);--interactive-status-warning: #a16207;--interactive-status-warning-soft: rgba(161, 98, 7, .08);--interactive-status-error: #dc2626;--interactive-status-error-soft: rgba(220, 38, 38, .08);--interactive-status-info: #044EF4;--interactive-status-info-soft: rgba(4, 78, 244, .08);--interactive-link-default: #044EF4;--interactive-link-hover: #F72A72;--interactive-link-visited: #737371;--interactive-toggle-track-off: #D4D4D2;--interactive-toggle-track-on: #044EF4;--interactive-toggle-thumb: #ffffff;--interactive-skeleton-base: #F6F6F4;--interactive-skeleton-shimmer: #ECECEA;--interactive-tooltip-bg: #1A1A18;--interactive-tooltip-text: #FBFBFA;--interactive-dropdown-bg: #ffffff;--interactive-dropdown-hover: #F6F6F4;--interactive-dropdown-border: rgba(0, 0, 0, .1);--interactive-dropdown-separator: rgba(0, 0, 0, .06);--interactive-table-header-bg: #044EF4;--interactive-table-header-text: #ffffff;--interactive-table-row-hover: rgba(0, 0, 0, .02);--interactive-table-border: rgba(0, 0, 0, .1);--interactive-tab-default: #737371;--interactive-tab-active: #F72A72;--interactive-tab-hover: #1A1A18;--interactive-tab-indicator: #044EF4}}`;
2
+ export {
3
+ e as default
4
+ };
5
+ //# sourceMappingURL=theme.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1,44 +1,20 @@
1
1
  /**
2
2
  * Type definitions for call-media components.
3
3
  *
4
- * Call and LayoutLayer types are imported from the SDK.
5
- * Other types are defined locally for web-component specific needs.
4
+ * Types are imported directly from the SDK to stay in sync.
6
5
  */
7
- import type { Observable } from 'rxjs';
8
- import type { Call, DeviceController, LayoutLayer } from '@signalwire/js';
9
- export type { Call, DeviceController, LayoutLayer };
6
+ import type { Call, CallParticipant, CallSelfParticipant, DeviceController, LayoutLayer } from '@signalwire/js';
7
+ export type { Call, CallParticipant, CallSelfParticipant, DeviceController, LayoutLayer };
8
+ export type Participant = CallParticipant;
10
9
  /**
11
- * Type helper for accessing call.self with proper typing
12
- * The SDK's Call.self is typed as unknown for flexibility
13
- */
14
- export interface CallSelf {
15
- id: string;
16
- }
17
- /**
18
- * Helper to safely get self ID from a Call
10
+ * Helper to safely get self ID from a Call.
11
+ * Call.self is typed as CallSelfParticipant | null.
19
12
  */
20
13
  export declare function getSelfId(call: Call | undefined): string | undefined;
21
14
  /**
22
- * Helper to cast participants from unknown[] to Participant[]
23
- * The SDK uses unknown[] for flexibility, but web-components knows the shape
15
+ * Type-safe cast for participants array.
16
+ * The SDK's Call.participants is typed as CallParticipant[], so this
17
+ * provides a semantic helper for web-components that receive unknown[].
24
18
  */
25
19
  export declare function castParticipants(participants: unknown[]): Participant[];
26
- /**
27
- * Participant interface for call participants
28
- * Web-component specific with optional methods
29
- */
30
- export interface Participant {
31
- id: string;
32
- name?: string;
33
- name$?: Observable<string>;
34
- audioMuted?: boolean;
35
- audioMuted$?: Observable<boolean>;
36
- videoMuted?: boolean;
37
- videoMuted$?: Observable<boolean>;
38
- mute?(): Promise<void>;
39
- unmute?(): Promise<void>;
40
- muteVideo?(): Promise<void>;
41
- unmuteVideo?(): Promise<void>;
42
- remove?(): Promise<void>;
43
- }
44
20
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AACvC,OAAO,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG1E,YAAY,EAAE,IAAI,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAC;AAEpD;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAGpE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,OAAO,EAAE,GAAG,WAAW,EAAE,CAEvE;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAClC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;IAClC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,MAAM,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,SAAS,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,WAAW,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGhH,YAAY,EAAE,IAAI,EAAE,eAAe,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,WAAW,EAAE,CAAC;AAG1F,MAAM,MAAM,WAAW,GAAG,eAAe,CAAC;AAE1C;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAEpE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,OAAO,EAAE,GAAG,WAAW,EAAE,CAEvE"}
@@ -1,3 +1,5 @@
1
1
  export * from './video.js';
2
2
  export * from './debounce.js';
3
+ export * from './use-google-font.js';
4
+ export * from './theme-loader.js';
3
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare function ensurePrismLang(lang: string): Promise<void>;
2
+ /** Highlight `code` with Prism. Returns highlighted HTML, or the raw text if the grammar is unknown. */
3
+ export declare function highlight(code: string, language: string): Promise<string>;
4
+ //# sourceMappingURL=prism.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prism.d.ts","sourceRoot":"","sources":["../../src/utils/prism.ts"],"names":[],"mappings":"AA4BA,wBAAsB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAYjE;AAED,wGAAwG;AACxG,wBAAsB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAM/E"}
@@ -0,0 +1,34 @@
1
+ let e = null;
2
+ const n = () => e ?? (e = import("../_virtual/prism.js").then((t) => t.p)), m = {
3
+ javascript: () => import("../node_modules/prismjs/components/prism-javascript.js"),
4
+ typescript: () => import("../_virtual/prism-typescript.js").then((t) => t.p),
5
+ python: () => import("../_virtual/prism-python.js").then((t) => t.p),
6
+ bash: () => import("../node_modules/prismjs/components/prism-bash.js"),
7
+ shell: () => import("../node_modules/prismjs/components/prism-bash.js"),
8
+ json: () => import("../node_modules/prismjs/components/prism-json.js"),
9
+ css: () => import("../node_modules/prismjs/components/prism-css.js"),
10
+ yaml: () => import("../node_modules/prismjs/components/prism-yaml.js"),
11
+ sql: () => import("../node_modules/prismjs/components/prism-sql.js"),
12
+ markdown: () => import("../node_modules/prismjs/components/prism-markdown.js")
13
+ }, c = {
14
+ typescript: ["javascript"]
15
+ }, a = /* @__PURE__ */ new Set();
16
+ async function p(t) {
17
+ if (a.has(t)) return;
18
+ await n();
19
+ for (const i of c[t] ?? [])
20
+ await p(i);
21
+ const o = m[t];
22
+ o && (await o(), a.add(t));
23
+ }
24
+ async function h(t, o) {
25
+ const i = (o || "plaintext").toLowerCase();
26
+ await p(i);
27
+ const r = await n(), s = r.languages[i];
28
+ return s ? r.highlight(t, s, i) : t;
29
+ }
30
+ export {
31
+ p as ensurePrismLang,
32
+ h as highlight
33
+ };
34
+ //# sourceMappingURL=prism.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prism.js","sources":["../../src/utils/prism.ts"],"sourcesContent":["// Lazy-loaded Prism. The core and every language pack are loaded via\n// dynamic `import(...)`, so consumers that never call `highlight()` (and\n// downstream bundlers consuming the package barrel) don't pay for Prism.\n\ntype PrismNS = typeof import('prismjs');\n\nlet _prism: Promise<PrismNS> | null = null;\nconst getPrism = (): Promise<PrismNS> => (_prism ??= import('prismjs'));\n\nconst PRISM_LANGS: Record<string, () => Promise<unknown>> = {\n javascript: () => import('prismjs/components/prism-javascript'),\n typescript: () => import('prismjs/components/prism-typescript'),\n python: () => import('prismjs/components/prism-python'),\n bash: () => import('prismjs/components/prism-bash'),\n shell: () => import('prismjs/components/prism-bash'),\n json: () => import('prismjs/components/prism-json'),\n css: () => import('prismjs/components/prism-css'),\n yaml: () => import('prismjs/components/prism-yaml'),\n sql: () => import('prismjs/components/prism-sql'),\n markdown: () => import('prismjs/components/prism-markdown'),\n};\n\nconst PRISM_DEPS: Partial<Record<string, string[]>> = {\n typescript: ['javascript'],\n};\n\nconst _loaded = new Set<string>();\n\nexport async function ensurePrismLang(lang: string): Promise<void> {\n if (_loaded.has(lang)) return;\n // Core must be resolved before any language pack registers on it.\n await getPrism();\n for (const dep of PRISM_DEPS[lang] ?? []) {\n await ensurePrismLang(dep);\n }\n const loader = PRISM_LANGS[lang];\n if (loader) {\n await loader();\n _loaded.add(lang);\n }\n}\n\n/** Highlight `code` with Prism. Returns highlighted HTML, or the raw text if the grammar is unknown. */\nexport async function highlight(code: string, language: string): Promise<string> {\n const lang = (language || 'plaintext').toLowerCase();\n await ensurePrismLang(lang);\n const Prism = await getPrism();\n const grammar = Prism.languages[lang];\n return grammar ? Prism.highlight(code, grammar, lang) : code;\n}\n"],"names":["_prism","getPrism","n","PRISM_LANGS","PRISM_DEPS","_loaded","ensurePrismLang","lang","dep","loader","highlight","code","language","Prism","grammar"],"mappings":"AAMA,IAAIA,IAAkC;AACtC,MAAMC,IAAW,MAAyBD,UAAW,OAAO,sBAAS,EAAA,KAAA,CAAAE,MAAAA,EAAA,CAAA,IAE/DC,IAAsD;AAAA,EAC1D,YAAY,MAAM,OAAO,wDAAqC;AAAA,EAC9D,YAAY,MAAM,OAAO,iCAAqC,EAAA,KAAA,CAAAD,MAAAA,EAAA,CAAA;AAAA,EAC9D,QAAY,MAAM,OAAO,6BAAiC,EAAA,KAAA,CAAAA,MAAAA,EAAA,CAAA;AAAA,EAC1D,MAAY,MAAM,OAAO,kDAA+B;AAAA,EACxD,OAAY,MAAM,OAAO,kDAA+B;AAAA,EACxD,MAAY,MAAM,OAAO,kDAA+B;AAAA,EACxD,KAAY,MAAM,OAAO,iDAA8B;AAAA,EACvD,MAAY,MAAM,OAAO,kDAA+B;AAAA,EACxD,KAAY,MAAM,OAAO,iDAA8B;AAAA,EACvD,UAAY,MAAM,OAAO,sDAAmC;AAC9D,GAEME,IAAgD;AAAA,EACpD,YAAY,CAAC,YAAY;AAC3B,GAEMC,wBAAc,IAAA;AAEpB,eAAsBC,EAAgBC,GAA6B;AACjE,MAAIF,EAAQ,IAAIE,CAAI,EAAG;AAEvB,QAAMN,EAAA;AACN,aAAWO,KAAOJ,EAAWG,CAAI,KAAK,CAAA;AACpC,UAAMD,EAAgBE,CAAG;AAE3B,QAAMC,IAASN,EAAYI,CAAI;AAC/B,EAAIE,MACF,MAAMA,EAAA,GACNJ,EAAQ,IAAIE,CAAI;AAEpB;AAGA,eAAsBG,EAAUC,GAAcC,GAAmC;AAC/E,QAAML,KAAQK,KAAY,aAAa,YAAA;AACvC,QAAMN,EAAgBC,CAAI;AAC1B,QAAMM,IAAQ,MAAMZ,EAAA,GACda,IAAUD,EAAM,UAAUN,CAAI;AACpC,SAAOO,IAAUD,EAAM,UAAUF,GAAMG,GAASP,CAAI,IAAII;AAC1D;"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Inject the SignalWire design-token stylesheet into the document so all
3
+ * components — including those in shadow roots — can resolve `--bg-page`,
4
+ * `--fg-default`, `--interactive-button-primary-bg`, etc.
5
+ *
6
+ * Idempotent. Calling twice is a no-op.
7
+ */
8
+ export declare function ensureSignalWireTheme(): void;
9
+ /** Load the three SignalWire brand font families via Google Fonts. */
10
+ export declare function ensureSignalWireFonts(): void;
11
+ //# sourceMappingURL=theme-loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-loader.d.ts","sourceRoot":"","sources":["../../src/utils/theme-loader.ts"],"names":[],"mappings":"AAKA;;;;;;GAMG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAO5C;AAED,sEAAsE;AACtE,wBAAgB,qBAAqB,IAAI,IAAI,CAI5C"}