@qualified-salesforce/web 0.0.1-oidc-bootstrap

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 (560) hide show
  1. package/41842993ec71d6628e4949e9a22b146b.svg +3 -0
  2. package/7271f3433ed82fc7f56adcd9e30275f4.svg +17 -0
  3. package/LICENSE.txt +82 -0
  4. package/components/helpers/entriesStringValidations.js +69 -0
  5. package/components/helpers/languages.js +32 -0
  6. package/components/shared/assertUnreachable.js +5 -0
  7. package/components/shared/controls/imageCropperHelpers.js +43 -0
  8. package/components/shared/meetingLoadingProgressSpec.js +116 -0
  9. package/constants.generated.js +9883 -0
  10. package/css/widget/multimodal_v2/host.split-css.css +162 -0
  11. package/css/widget/multimodal_v2/index.split-css.panda.css +5240 -0
  12. package/css/widget/widget.split-css.css +100 -0
  13. package/fonts/inter/Inter-Black.woff +0 -0
  14. package/fonts/inter/Inter-Black.woff2 +0 -0
  15. package/fonts/inter/Inter-BlackItalic.woff +0 -0
  16. package/fonts/inter/Inter-BlackItalic.woff2 +0 -0
  17. package/fonts/inter/Inter-Bold.woff +0 -0
  18. package/fonts/inter/Inter-Bold.woff2 +0 -0
  19. package/fonts/inter/Inter-BoldItalic.woff +0 -0
  20. package/fonts/inter/Inter-BoldItalic.woff2 +0 -0
  21. package/fonts/inter/Inter-ExtraBold.woff +0 -0
  22. package/fonts/inter/Inter-ExtraBold.woff2 +0 -0
  23. package/fonts/inter/Inter-ExtraBoldItalic.woff +0 -0
  24. package/fonts/inter/Inter-ExtraBoldItalic.woff2 +0 -0
  25. package/fonts/inter/Inter-ExtraLight.woff +0 -0
  26. package/fonts/inter/Inter-ExtraLight.woff2 +0 -0
  27. package/fonts/inter/Inter-ExtraLightItalic.woff +0 -0
  28. package/fonts/inter/Inter-ExtraLightItalic.woff2 +0 -0
  29. package/fonts/inter/Inter-Italic.woff +0 -0
  30. package/fonts/inter/Inter-Italic.woff2 +0 -0
  31. package/fonts/inter/Inter-Light.woff +0 -0
  32. package/fonts/inter/Inter-Light.woff2 +0 -0
  33. package/fonts/inter/Inter-LightItalic.woff +0 -0
  34. package/fonts/inter/Inter-LightItalic.woff2 +0 -0
  35. package/fonts/inter/Inter-Medium.woff +0 -0
  36. package/fonts/inter/Inter-Medium.woff2 +0 -0
  37. package/fonts/inter/Inter-MediumItalic.woff +0 -0
  38. package/fonts/inter/Inter-MediumItalic.woff2 +0 -0
  39. package/fonts/inter/Inter-Regular.woff +0 -0
  40. package/fonts/inter/Inter-Regular.woff2 +0 -0
  41. package/fonts/inter/Inter-SemiBold.woff +0 -0
  42. package/fonts/inter/Inter-SemiBold.woff2 +0 -0
  43. package/fonts/inter/Inter-SemiBoldItalic.woff +0 -0
  44. package/fonts/inter/Inter-SemiBoldItalic.woff2 +0 -0
  45. package/fonts/inter/Inter-Thin.woff +0 -0
  46. package/fonts/inter/Inter-Thin.woff2 +0 -0
  47. package/fonts/inter/Inter-ThinItalic.woff +0 -0
  48. package/fonts/inter/Inter-ThinItalic.woff2 +0 -0
  49. package/fonts/inter/Inter-italic.var.woff2 +0 -0
  50. package/fonts/inter/Inter-roman.var.woff2 +0 -0
  51. package/images/close.js +63 -0
  52. package/images/logo.js +22 -0
  53. package/js/4101.js +19721 -0
  54. package/js/daily-esm.js +9948 -0
  55. package/js/date-fns.js +427 -0
  56. package/js/multimodal_v2.js +1653 -0
  57. package/js/runtime.js +109 -0
  58. package/media/Inter-Black.796be8d8bf.woff2 +0 -0
  59. package/media/Inter-Black.b254104c56.woff +0 -0
  60. package/media/Inter-BlackItalic.70306b0eae.woff +0 -0
  61. package/media/Inter-BlackItalic.752f1e0aaa.woff2 +0 -0
  62. package/media/Inter-Bold.579e0f95ca.woff2 +0 -0
  63. package/media/Inter-Bold.b1234477a5.woff +0 -0
  64. package/media/Inter-BoldItalic.3d0d804323.woff +0 -0
  65. package/media/Inter-BoldItalic.828a494e04.woff2 +0 -0
  66. package/media/Inter-ExtraBold.208a9e6c99.woff +0 -0
  67. package/media/Inter-ExtraBold.d65f028165.woff2 +0 -0
  68. package/media/Inter-ExtraBoldItalic.30429962ec.woff +0 -0
  69. package/media/Inter-ExtraBoldItalic.8c7eac5ce3.woff2 +0 -0
  70. package/media/Inter-ExtraLight.15c082a57d.woff +0 -0
  71. package/media/Inter-ExtraLight.6824177d1e.woff2 +0 -0
  72. package/media/Inter-ExtraLightItalic.05138dddf3.woff2 +0 -0
  73. package/media/Inter-ExtraLightItalic.3beee54f59.woff +0 -0
  74. package/media/Inter-Italic.9beab78452.woff +0 -0
  75. package/media/Inter-Italic.d593a8df79.woff2 +0 -0
  76. package/media/Inter-Light.27083fa637.woff2 +0 -0
  77. package/media/Inter-Light.91dfddd842.woff +0 -0
  78. package/media/Inter-LightItalic.0a783b89b3.woff2 +0 -0
  79. package/media/Inter-LightItalic.f8ccf2813f.woff +0 -0
  80. package/media/Inter-Medium.dc792b508e.woff2 +0 -0
  81. package/media/Inter-Medium.ec7dd2d9d8.woff +0 -0
  82. package/media/Inter-MediumItalic.17301e5b40.woff +0 -0
  83. package/media/Inter-MediumItalic.84d3493a9f.woff2 +0 -0
  84. package/media/Inter-Regular.f1f0c35b32.woff2 +0 -0
  85. package/media/Inter-Regular.f356e84aa0.woff +0 -0
  86. package/media/Inter-SemiBold.55027e4724.woff +0 -0
  87. package/media/Inter-SemiBold.fcb100c760.woff2 +0 -0
  88. package/media/Inter-SemiBoldItalic.ab9105ed3b.woff +0 -0
  89. package/media/Inter-SemiBoldItalic.d90f295d0c.woff2 +0 -0
  90. package/media/Inter-Thin.16325d9b0f.woff +0 -0
  91. package/media/Inter-Thin.dafaa44d99.woff2 +0 -0
  92. package/media/Inter-ThinItalic.4fc662b3cf.woff2 +0 -0
  93. package/media/Inter-ThinItalic.d3d8994788.woff +0 -0
  94. package/media/Inter-italic.var.958a0b9742.woff2 +0 -0
  95. package/media/Inter-roman.var.b2129c009c.woff2 +0 -0
  96. package/package.json +20 -0
  97. package/packs/widget/api/docking/docking_host.js +97 -0
  98. package/packs/widget/api/docking/index.js +294 -0
  99. package/packs/widget/api/docking/shared.js +164 -0
  100. package/packs/widget/api/docking/viewport_lock.js +488 -0
  101. package/packs/widget/api/docking/viewport_resize.js +1203 -0
  102. package/packs/widget/esm/fonts/Inter-Black.796be8d8bf.woff2 +0 -0
  103. package/packs/widget/esm/fonts/Inter-Black.b254104c56.woff +0 -0
  104. package/packs/widget/esm/fonts/Inter-BlackItalic.70306b0eae.woff +0 -0
  105. package/packs/widget/esm/fonts/Inter-BlackItalic.752f1e0aaa.woff2 +0 -0
  106. package/packs/widget/esm/fonts/Inter-Bold.579e0f95ca.woff2 +0 -0
  107. package/packs/widget/esm/fonts/Inter-Bold.b1234477a5.woff +0 -0
  108. package/packs/widget/esm/fonts/Inter-BoldItalic.3d0d804323.woff +0 -0
  109. package/packs/widget/esm/fonts/Inter-BoldItalic.828a494e04.woff2 +0 -0
  110. package/packs/widget/esm/fonts/Inter-ExtraBold.208a9e6c99.woff +0 -0
  111. package/packs/widget/esm/fonts/Inter-ExtraBold.d65f028165.woff2 +0 -0
  112. package/packs/widget/esm/fonts/Inter-ExtraBoldItalic.30429962ec.woff +0 -0
  113. package/packs/widget/esm/fonts/Inter-ExtraBoldItalic.8c7eac5ce3.woff2 +0 -0
  114. package/packs/widget/esm/fonts/Inter-ExtraLight.15c082a57d.woff +0 -0
  115. package/packs/widget/esm/fonts/Inter-ExtraLight.6824177d1e.woff2 +0 -0
  116. package/packs/widget/esm/fonts/Inter-ExtraLightItalic.05138dddf3.woff2 +0 -0
  117. package/packs/widget/esm/fonts/Inter-ExtraLightItalic.3beee54f59.woff +0 -0
  118. package/packs/widget/esm/fonts/Inter-Italic.9beab78452.woff +0 -0
  119. package/packs/widget/esm/fonts/Inter-Italic.d593a8df79.woff2 +0 -0
  120. package/packs/widget/esm/fonts/Inter-Light.27083fa637.woff2 +0 -0
  121. package/packs/widget/esm/fonts/Inter-Light.91dfddd842.woff +0 -0
  122. package/packs/widget/esm/fonts/Inter-LightItalic.0a783b89b3.woff2 +0 -0
  123. package/packs/widget/esm/fonts/Inter-LightItalic.f8ccf2813f.woff +0 -0
  124. package/packs/widget/esm/fonts/Inter-Medium.dc792b508e.woff2 +0 -0
  125. package/packs/widget/esm/fonts/Inter-Medium.ec7dd2d9d8.woff +0 -0
  126. package/packs/widget/esm/fonts/Inter-MediumItalic.17301e5b40.woff +0 -0
  127. package/packs/widget/esm/fonts/Inter-MediumItalic.84d3493a9f.woff2 +0 -0
  128. package/packs/widget/esm/fonts/Inter-Regular.f1f0c35b32.woff2 +0 -0
  129. package/packs/widget/esm/fonts/Inter-Regular.f356e84aa0.woff +0 -0
  130. package/packs/widget/esm/fonts/Inter-SemiBold.55027e4724.woff +0 -0
  131. package/packs/widget/esm/fonts/Inter-SemiBold.fcb100c760.woff2 +0 -0
  132. package/packs/widget/esm/fonts/Inter-SemiBoldItalic.ab9105ed3b.woff +0 -0
  133. package/packs/widget/esm/fonts/Inter-SemiBoldItalic.d90f295d0c.woff2 +0 -0
  134. package/packs/widget/esm/fonts/Inter-Thin.16325d9b0f.woff +0 -0
  135. package/packs/widget/esm/fonts/Inter-Thin.dafaa44d99.woff2 +0 -0
  136. package/packs/widget/esm/fonts/Inter-ThinItalic.4fc662b3cf.woff2 +0 -0
  137. package/packs/widget/esm/fonts/Inter-ThinItalic.d3d8994788.woff +0 -0
  138. package/packs/widget/esm/fonts/Inter-italic.var.958a0b9742.woff2 +0 -0
  139. package/packs/widget/esm/fonts/Inter-roman.var.b2129c009c.woff2 +0 -0
  140. package/packs/widget/esm/index.js +183 -0
  141. package/packs/widget/esm/qualified.css +5502 -0
  142. package/routes/app/offers/scripts/OfferMainScript.js +154 -0
  143. package/routes/app/offers/scripts/constants.js +71 -0
  144. package/routes/app/offers/scripts/main/ButtonManager.js +65 -0
  145. package/routes/app/offers/scripts/main/FormManager.js +325 -0
  146. package/routes/app/offers/scripts/main/MainContext.js +19 -0
  147. package/routes/app/offers/scripts/main/OfferManager.js +91 -0
  148. package/routes/app/offers/scripts/main/TriggerManager.js +125 -0
  149. package/routes/app/offers/scripts/rendering/ContentManager.js +53 -0
  150. package/routes/app/offers/scripts/rendering/LocationManager.js +83 -0
  151. package/routes/app/offers/scripts/rendering/RenderedOffer.js +188 -0
  152. package/routes/app/offers/scripts/rendering/Renderer.js +69 -0
  153. package/routes/app/offers/scripts/rendering/RenderingInitializer.js +62 -0
  154. package/routes/app/offers/scripts/rendering/animations/AnimationManager.js +31 -0
  155. package/routes/app/offers/scripts/rendering/animations/AnimationManagerFooter.js +81 -0
  156. package/routes/app/offers/scripts/rendering/animations/AnimationManagerHeader.js +81 -0
  157. package/routes/app/offers/scripts/rendering/animations/AnimationManagerModal.js +117 -0
  158. package/routes/app/offers/scripts/rendering/animations/AnimationManagerSidebar.js +75 -0
  159. package/routes/app/offers/scripts/rendering/animations/AnimationResult.js +43 -0
  160. package/routes/app/offers/scripts/rendering/animations/Animator.js +78 -0
  161. package/routes/app/offers/scripts/rendering/animations/BaseAnimationManager.js +25 -0
  162. package/routes/app/offers/scripts/rendering/lib/BaseComponent.js +106 -0
  163. package/routes/app/offers/scripts/rendering/lib/FormComponent.js +134 -0
  164. package/routes/app/offers/scripts/rendering/lib/OfferComponent.js +144 -0
  165. package/routes/app/offers/scripts/rendering/lib/ScrollbarWidth.js +27 -0
  166. package/routes/app/offers/scripts/rendering/lib/decorators.js +20 -0
  167. package/routes/app/offers/scripts/rendering/locations/CSSVarsManager.js +66 -0
  168. package/routes/app/offers/scripts/rendering/locations/ElementResizeObserver.js +49 -0
  169. package/routes/app/offers/scripts/rendering/locations/footer.js +53 -0
  170. package/routes/app/offers/scripts/rendering/locations/header/AsyncBatchProcessor.js +70 -0
  171. package/routes/app/offers/scripts/rendering/locations/header/CSSTransitionObserver.js +182 -0
  172. package/routes/app/offers/scripts/rendering/locations/header/ElementStyleChangeObserver.js +138 -0
  173. package/routes/app/offers/scripts/rendering/locations/header/ExternalStyleManager.js +110 -0
  174. package/routes/app/offers/scripts/rendering/locations/header/Header.js +353 -0
  175. package/routes/app/offers/scripts/rendering/locations/header/InlineStyleManager.js +105 -0
  176. package/routes/app/offers/scripts/rendering/locations/header/MatchingElementsObserver.js +107 -0
  177. package/routes/app/offers/scripts/rendering/locations/header/NewElementsObserver.js +129 -0
  178. package/routes/app/offers/scripts/rendering/locations/header/RuleWrapper.js +46 -0
  179. package/routes/app/offers/scripts/rendering/locations/header/SelectorObservable.js +23 -0
  180. package/routes/app/offers/scripts/rendering/locations/header/SelectorObserver.js +61 -0
  181. package/routes/app/offers/scripts/rendering/locations/header/ShiftedElementsManager.js +45 -0
  182. package/routes/app/offers/scripts/rendering/locations/header/StyleElementManager.js +37 -0
  183. package/routes/app/offers/scripts/rendering/locations/header/StyleElementWrapper.js +62 -0
  184. package/routes/app/offers/scripts/rendering/locations/header/StyleSelectorObserver/ObservedSelectorValue.js +45 -0
  185. package/routes/app/offers/scripts/rendering/locations/header/StyleSelectorObserver/ObservedSelectors.js +62 -0
  186. package/routes/app/offers/scripts/rendering/locations/header/StyleSelectorObserver/StyleSelectorObserver.js +294 -0
  187. package/routes/app/offers/scripts/rendering/locations/header/StyleSelectorObserver/constants.js +21 -0
  188. package/routes/app/offers/scripts/rendering/locations/header/WindowResizeObserver.js +43 -0
  189. package/routes/app/offers/scripts/rendering/locations/header/utils.js +25 -0
  190. package/routes/app/offers/scripts/rendering/locations/popup.js +66 -0
  191. package/routes/app/offers/scripts/rendering/locations/sidebar.js +21 -0
  192. package/routes/app/offers/scripts/rendering/variations/ButtonBanner.js +105 -0
  193. package/routes/app/offers/scripts/rendering/variations/ButtonModal.js +114 -0
  194. package/routes/app/offers/scripts/rendering/variations/FormBanner.js +214 -0
  195. package/routes/app/offers/scripts/rendering/variations/FormModal.js +325 -0
  196. package/routes/app/offers/scripts/rendering/variations/LinkBanner.js +105 -0
  197. package/routes/app/offers/scripts/rendering/variations/components/Body.js +29 -0
  198. package/routes/app/offers/scripts/rendering/variations/components/Button.js +128 -0
  199. package/routes/app/offers/scripts/rendering/variations/components/DismissButton.js +39 -0
  200. package/routes/app/offers/scripts/rendering/variations/components/ForegroundImageBanner.js +110 -0
  201. package/routes/app/offers/scripts/rendering/variations/components/ForegroundImageModal.js +128 -0
  202. package/routes/app/offers/scripts/rendering/variations/components/Headline.js +94 -0
  203. package/routes/app/offers/scripts/rendering/variations/components/MultiFieldForm.js +302 -0
  204. package/routes/app/offers/scripts/rendering/variations/components/Tooltip.js +74 -0
  205. package/routes/app/offers/scripts/rendering/variations/icons.js +15 -0
  206. package/routes/app/offers/scripts/utils.js +115 -0
  207. package/routes/app/offers/utils/HTMLUtils.js +10 -0
  208. package/routes/app/offers/utils/createTypeGuard.js +32 -0
  209. package/routes/app/offers/utils/promise-utils.js +22 -0
  210. package/routes/app/websiteBuilder/stores/storeHelpers.js +18 -0
  211. package/sounds/message-initial.mp3 +0 -0
  212. package/sounds/message-received.mp3 +0 -0
  213. package/sounds/message-sent.mp3 +0 -0
  214. package/src/arrays.js +15 -0
  215. package/src/audio.js +106 -0
  216. package/src/bounded-set.js +16 -0
  217. package/src/bounding_box_observer.js +129 -0
  218. package/src/decorators.js +29 -0
  219. package/src/dom.js +128 -0
  220. package/src/dom_roots.js +26 -0
  221. package/src/embedded_forms/EmbeddedForm.js +638 -0
  222. package/src/embedded_forms/QualifiedEmbeddedForm.js +51 -0
  223. package/src/embedded_forms/QualifiedFormField.js +137 -0
  224. package/src/embedded_forms/utils.js +17 -0
  225. package/src/graphql-types.js +1686 -0
  226. package/src/iframes.js +86 -0
  227. package/src/localstorage.js +43 -0
  228. package/src/mirror/Shipper.js +133 -0
  229. package/src/mirror/constants.generated.js +13 -0
  230. package/src/mirror/constants.js +238 -0
  231. package/src/mirror/shipper/ChangeQueue.js +155 -0
  232. package/src/mirror/shipper/DOMSerializer.js +392 -0
  233. package/src/mirror/shipper/observers.js +441 -0
  234. package/src/mirror/shipper/utils.js +98 -0
  235. package/src/mixins/disposable.js +125 -0
  236. package/src/mixins/injectable.js +37 -0
  237. package/src/personalizations/personalization-manager.js +110 -0
  238. package/src/personalizations/strategies/node-freezing-strategy.js +174 -0
  239. package/src/personalizations/utils.js +187 -0
  240. package/src/promises.js +107 -0
  241. package/src/proxy.js +144 -0
  242. package/src/qualified_root.js +35 -0
  243. package/src/query_params.js +55 -0
  244. package/src/shadow-dom-helper.js +63 -0
  245. package/src/singleton_host.js +39 -0
  246. package/src/smart_website/trigger.js +49 -0
  247. package/src/smart_website/utils.js +149 -0
  248. package/src/string.js +53 -0
  249. package/src/timezone.js +57 -0
  250. package/src/timing.js +49 -0
  251. package/src/type-utils.js +76 -0
  252. package/src/url-utils.js +102 -0
  253. package/src/url.js +50 -0
  254. package/src/utils.js +72 -0
  255. package/src/validation.js.js +29 -0
  256. package/src/validation_ts.js +6 -0
  257. package/vendor/actioncable/adapters.js +6 -0
  258. package/vendor/actioncable/connection.js +204 -0
  259. package/vendor/actioncable/connection_monitor.js +129 -0
  260. package/vendor/actioncable/consumer.js +91 -0
  261. package/vendor/actioncable/index.js +34 -0
  262. package/vendor/actioncable/internal.js +22 -0
  263. package/vendor/actioncable/logger.js +28 -0
  264. package/vendor/actioncable/subscription.js +93 -0
  265. package/vendor/actioncable/subscriptions.js +89 -0
  266. package/vendor/open-telemetry-idgenerator.js +43 -0
  267. package/widget/analytics/facebook_tracker.js +8 -0
  268. package/widget/analytics/google_analytics_tracker.js +83 -0
  269. package/widget/analytics/google_tag_manager_tracker.js +22 -0
  270. package/widget/analytics.js +58 -0
  271. package/widget/api_handler/api_handler.js +730 -0
  272. package/widget/api_handler/base_api_handler.js +249 -0
  273. package/widget/booker_intent_tracker.js +391 -0
  274. package/widget/booker_outcome_tracker.js +329 -0
  275. package/widget/capture_widget_exceptions.js +150 -0
  276. package/widget/channel.js +282 -0
  277. package/widget/composite_experience_adapter.js +101 -0
  278. package/widget/constants.generated.js +350 -0
  279. package/widget/constants.js +21 -0
  280. package/widget/container.js +193 -0
  281. package/widget/content_activity_emitter.js +36 -0
  282. package/widget/data360_visitor.js +67 -0
  283. package/widget/date_provider.js +11 -0
  284. package/widget/debug_mode_state.js +175 -0
  285. package/widget/dummy_module.js +9 -0
  286. package/widget/eloqua_visitor.js +17 -0
  287. package/widget/form_cta_booker_intent.js +246 -0
  288. package/widget/hubspot_visitor.js +39 -0
  289. package/widget/inline_meeting_booker_page.js +90 -0
  290. package/widget/local_state/abstract_local_state.js +38 -0
  291. package/widget/local_state/debug_state/abstract_debug_flow.js +29 -0
  292. package/widget/local_state/debug_state/custom_form_flow.js +14 -0
  293. package/widget/local_state/debug_state/hubspot_form_flow.js +19 -0
  294. package/widget/local_state/debug_state/hubspot_v4_form_flow.js +19 -0
  295. package/widget/local_state/debug_state/marketo_form_flow.js +20 -0
  296. package/widget/local_state/debug_state/pardot_form_flow.js +18 -0
  297. package/widget/local_state/debug_state.js +362 -0
  298. package/widget/local_state/trace_state.js +20 -0
  299. package/widget/location_provider.js +9 -0
  300. package/widget/marketo_visitor.js +39 -0
  301. package/widget/meetings/tracing/buttons_forms_triggering_tracer.js +124 -0
  302. package/widget/meetings/tracing/spans/button_spans.js +18 -0
  303. package/widget/meetings/tracing/spans/form_spans.js +11 -0
  304. package/widget/multimodal_v2/assets_preloader.js +97 -0
  305. package/widget/multimodal_v2/components/AppLayout.js +93 -0
  306. package/widget/multimodal_v2/components/CursorOverlay.js +93 -0
  307. package/widget/multimodal_v2/components/PointerRectOverlay.js +74 -0
  308. package/widget/multimodal_v2/components/app/Artifact.js +109 -0
  309. package/widget/multimodal_v2/components/app/Background.js +27 -0
  310. package/widget/multimodal_v2/components/app/CalendarLoadingContent.js +255 -0
  311. package/widget/multimodal_v2/components/app/Chat.js +39 -0
  312. package/widget/multimodal_v2/components/app/CookieConsentModal.js +149 -0
  313. package/widget/multimodal_v2/components/app/Foreground.js +48 -0
  314. package/widget/multimodal_v2/components/app/HiddenInput.js +41 -0
  315. package/widget/multimodal_v2/components/app/Input.js +72 -0
  316. package/widget/multimodal_v2/components/app/LightboxExperience.js +769 -0
  317. package/widget/multimodal_v2/components/app/LoadingOverlay.js +97 -0
  318. package/widget/multimodal_v2/components/app/Main.js +985 -0
  319. package/widget/multimodal_v2/components/app/MessengerButton.js +160 -0
  320. package/widget/multimodal_v2/components/app/Multimodal.js +17 -0
  321. package/widget/multimodal_v2/components/app/OverlayControls.js +79 -0
  322. package/widget/multimodal_v2/components/app/Preview.js +32 -0
  323. package/widget/multimodal_v2/components/app/PrivacyDisclosure.js +57 -0
  324. package/widget/multimodal_v2/components/app/RotateDeviceOverlay.js +70 -0
  325. package/widget/multimodal_v2/components/app/Toolbar.js +156 -0
  326. package/widget/multimodal_v2/components/chat/ChatComposer.js +129 -0
  327. package/widget/multimodal_v2/components/chat/ChatInputForm.js +398 -0
  328. package/widget/multimodal_v2/components/chat/ColdStartQuestions.js +354 -0
  329. package/widget/multimodal_v2/components/chat/ComposerErrorBanner.js +62 -0
  330. package/widget/multimodal_v2/components/chat/PostCallSurvey.js +359 -0
  331. package/widget/multimodal_v2/components/chat/preview/FieldRequestRenderer.js +41 -0
  332. package/widget/multimodal_v2/components/chat/preview/PreviewMessageRenderer.js +60 -0
  333. package/widget/multimodal_v2/components/chat/preview/SharedOfferRenderer.js +143 -0
  334. package/widget/multimodal_v2/components/chat/preview/TextRenderer.js +27 -0
  335. package/widget/multimodal_v2/components/chat/preview/TimelinePreview.js +254 -0
  336. package/widget/multimodal_v2/components/chat/timeline/CalendarEventOfferRenderer.js +103 -0
  337. package/widget/multimodal_v2/components/chat/timeline/CalendarEventPickRenderer.js +148 -0
  338. package/widget/multimodal_v2/components/chat/timeline/FieldEntryRenderer.js +84 -0
  339. package/widget/multimodal_v2/components/chat/timeline/FieldRequestRenderer.js +56 -0
  340. package/widget/multimodal_v2/components/chat/timeline/InlinePrivacyDisclosure.js +66 -0
  341. package/widget/multimodal_v2/components/chat/timeline/LinkPreviewCard.js +70 -0
  342. package/widget/multimodal_v2/components/chat/timeline/MessageEntry.js +88 -0
  343. package/widget/multimodal_v2/components/chat/timeline/PresentContentRenderer.js +30 -0
  344. package/widget/multimodal_v2/components/chat/timeline/PresentDeckRenderer.js +279 -0
  345. package/widget/multimodal_v2/components/chat/timeline/PresentVideoRenderer.js +131 -0
  346. package/widget/multimodal_v2/components/chat/timeline/ShareContentRenderer.js +59 -0
  347. package/widget/multimodal_v2/components/chat/timeline/SharedOfferRenderer.js +131 -0
  348. package/widget/multimodal_v2/components/chat/timeline/SystemRenderer.js +82 -0
  349. package/widget/multimodal_v2/components/chat/timeline/TextRenderer.js +66 -0
  350. package/widget/multimodal_v2/components/chat/timeline/Timeline.js +158 -0
  351. package/widget/multimodal_v2/components/debug/DebugMultimodalPanel.js +327 -0
  352. package/widget/multimodal_v2/components/decks/index.js +160 -0
  353. package/widget/multimodal_v2/components/field_request/BooleanField.js +77 -0
  354. package/widget/multimodal_v2/components/field_request/FieldComponents.js +69 -0
  355. package/widget/multimodal_v2/components/field_request/Form.js +87 -0
  356. package/widget/multimodal_v2/components/field_request/MultiPicklistField.js +240 -0
  357. package/widget/multimodal_v2/components/field_request/PicklistField.js +166 -0
  358. package/widget/multimodal_v2/components/field_request/SingleLineInputField.js +69 -0
  359. package/widget/multimodal_v2/components/field_request/TextField.js +37 -0
  360. package/widget/multimodal_v2/components/field_request/index.js +170 -0
  361. package/widget/multimodal_v2/components/helpers/AutoScroll.js +37 -0
  362. package/widget/multimodal_v2/components/helpers/ErrorBoundary.js +53 -0
  363. package/widget/multimodal_v2/components/helpers/FocusTrapDialog.js +26 -0
  364. package/widget/multimodal_v2/components/helpers/ImpressionTracker.js +94 -0
  365. package/widget/multimodal_v2/components/helpers/ListRenderer.js +37 -0
  366. package/widget/multimodal_v2/components/helpers/Localization.js +76 -0
  367. package/widget/multimodal_v2/components/helpers/Persisted.js +166 -0
  368. package/widget/multimodal_v2/components/helpers/RichText.js +358 -0
  369. package/widget/multimodal_v2/components/helpers/ScreenReaderHeading.js +17 -0
  370. package/widget/multimodal_v2/components/helpers/Thumbnail.js +190 -0
  371. package/widget/multimodal_v2/components/helpers/VisuallyHidden.js +41 -0
  372. package/widget/multimodal_v2/components/helpers/content_click_payloads.js +58 -0
  373. package/widget/multimodal_v2/components/helpers/useDraggable.js +103 -0
  374. package/widget/multimodal_v2/components/helpers/useTextOverflow.js +44 -0
  375. package/widget/multimodal_v2/components/lightbox_gather/index.js +741 -0
  376. package/widget/multimodal_v2/components/meetings/ArtifactEntryPoint.js +252 -0
  377. package/widget/multimodal_v2/components/meetings/MeetingAdditionalAttendees.js +325 -0
  378. package/widget/multimodal_v2/components/meetings/MeetingBookerEntry.js +100 -0
  379. package/widget/multimodal_v2/components/meetings/MeetingDetailsCard.js +99 -0
  380. package/widget/multimodal_v2/components/meetings/MeetingErrorBanner.js +62 -0
  381. package/widget/multimodal_v2/components/meetings/MeetingOfferEmailStep.js +239 -0
  382. package/widget/multimodal_v2/components/meetings/MeetingOfferFooter.js +104 -0
  383. package/widget/multimodal_v2/components/meetings/MeetingOfferSelectionStep.js +60 -0
  384. package/widget/multimodal_v2/components/meetings/MeetingRepHeader.js +222 -0
  385. package/widget/multimodal_v2/components/meetings/MeetingStepShell.js +92 -0
  386. package/widget/multimodal_v2/components/meetings/MeetingSummaryRail.js +515 -0
  387. package/widget/multimodal_v2/components/meetings/MeetingTimeSelector.js +603 -0
  388. package/widget/multimodal_v2/components/meetings/MonthDatePicker.js +422 -0
  389. package/widget/multimodal_v2/components/meetings/NavigationButtons.js +76 -0
  390. package/widget/multimodal_v2/components/meetings/TimeSlotHeader.js +357 -0
  391. package/widget/multimodal_v2/components/meetings/WeekViewHeader.js +20 -0
  392. package/widget/multimodal_v2/components/meetings/constants.js +7 -0
  393. package/widget/multimodal_v2/components/meetings/index.js +47 -0
  394. package/widget/multimodal_v2/components/meetings/utils.js +328 -0
  395. package/widget/multimodal_v2/components/multimodal/Audio.js +28 -0
  396. package/widget/multimodal_v2/components/multimodal/Controls.js +188 -0
  397. package/widget/multimodal_v2/components/multimodal/LiveVideo.js +63 -0
  398. package/widget/multimodal_v2/components/multimodal/MultiModalComponent.js +424 -0
  399. package/widget/multimodal_v2/components/multimodal/MultimodalAvatar.js +36 -0
  400. package/widget/multimodal_v2/components/multimodal/OrbAvatar.js +326 -0
  401. package/widget/multimodal_v2/components/multimodal/Status.js +220 -0
  402. package/widget/multimodal_v2/components/multimodal/VideoAvatar.js +24 -0
  403. package/widget/multimodal_v2/components/multimodal/VideoPreview.js +114 -0
  404. package/widget/multimodal_v2/components/multimodal/useAudioLevelMonitoring.js +96 -0
  405. package/widget/multimodal_v2/components/multimodal/useMultimodal.js +434 -0
  406. package/widget/multimodal_v2/components/presentations/index.js +372 -0
  407. package/widget/multimodal_v2/components/shared/Avatar.js +92 -0
  408. package/widget/multimodal_v2/components/shared/AvatarGroup.js +135 -0
  409. package/widget/multimodal_v2/components/shared/Button.js +245 -0
  410. package/widget/multimodal_v2/components/shared/ButtonGroup.js +133 -0
  411. package/widget/multimodal_v2/components/shared/ComposerForm.js +98 -0
  412. package/widget/multimodal_v2/components/shared/SpeakingIndicator.js +239 -0
  413. package/widget/multimodal_v2/components/shared/ThinkingAnimation.js +165 -0
  414. package/widget/multimodal_v2/components/shared/Tooltip.js +266 -0
  415. package/widget/multimodal_v2/components/shared/controls/Dropdown.js +79 -0
  416. package/widget/multimodal_v2/components/shared/controls/PillToggle.js +142 -0
  417. package/widget/multimodal_v2/components/shared/controls/TextArea.js +114 -0
  418. package/widget/multimodal_v2/components/shared/toolCallLabels.js +12 -0
  419. package/widget/multimodal_v2/components/slides/SlidesThumbnail.js +47 -0
  420. package/widget/multimodal_v2/components/slides/index.js +61 -0
  421. package/widget/multimodal_v2/constants.js +88 -0
  422. package/widget/multimodal_v2/host.split-css.js +2 -0
  423. package/widget/multimodal_v2/host.string.js +96 -0
  424. package/widget/multimodal_v2/images/icons.js +582 -0
  425. package/widget/multimodal_v2/images/posters/piper_low_res.jpg +0 -0
  426. package/widget/multimodal_v2/index.js +23 -0
  427. package/widget/multimodal_v2/index.panda.js +28 -0
  428. package/widget/multimodal_v2/index.split-css.panda.js +2 -0
  429. package/widget/multimodal_v2/inline_meeting_booker.js +182 -0
  430. package/widget/multimodal_v2/locales/cs.js +196 -0
  431. package/widget/multimodal_v2/locales/da.js +196 -0
  432. package/widget/multimodal_v2/locales/de.js +196 -0
  433. package/widget/multimodal_v2/locales/en.js +196 -0
  434. package/widget/multimodal_v2/locales/en_AU.js +197 -0
  435. package/widget/multimodal_v2/locales/en_GB.js +197 -0
  436. package/widget/multimodal_v2/locales/es.js +197 -0
  437. package/widget/multimodal_v2/locales/es_LA.js +196 -0
  438. package/widget/multimodal_v2/locales/fi.js +196 -0
  439. package/widget/multimodal_v2/locales/fr.js +197 -0
  440. package/widget/multimodal_v2/locales/fr_CA.js +196 -0
  441. package/widget/multimodal_v2/locales/id.js +196 -0
  442. package/widget/multimodal_v2/locales/index.js +48 -0
  443. package/widget/multimodal_v2/locales/it.js +196 -0
  444. package/widget/multimodal_v2/locales/ja.js +196 -0
  445. package/widget/multimodal_v2/locales/ko.js +196 -0
  446. package/widget/multimodal_v2/locales/nb.js +196 -0
  447. package/widget/multimodal_v2/locales/nl.js +196 -0
  448. package/widget/multimodal_v2/locales/pl.js +196 -0
  449. package/widget/multimodal_v2/locales/pt_BR.js +196 -0
  450. package/widget/multimodal_v2/locales/ru.js +196 -0
  451. package/widget/multimodal_v2/locales/sv.js +196 -0
  452. package/widget/multimodal_v2/locales/th.js +196 -0
  453. package/widget/multimodal_v2/locales/tr.js +196 -0
  454. package/widget/multimodal_v2/locales/vi.js +196 -0
  455. package/widget/multimodal_v2/locales/zh_CN.js +196 -0
  456. package/widget/multimodal_v2/locales/zh_TW.js +196 -0
  457. package/widget/multimodal_v2/multimodal.js +633 -0
  458. package/widget/multimodal_v2/multimodal_channel.js +195 -0
  459. package/widget/multimodal_v2/signals/active_conversation_signal.js +33 -0
  460. package/widget/multimodal_v2/signals/allowed_conversation_mode_signal.js +38 -0
  461. package/widget/multimodal_v2/signals/artifact_signal.js +22 -0
  462. package/widget/multimodal_v2/signals/layout_signal.js +98 -0
  463. package/widget/multimodal_v2/signals/messages_signal.js +207 -0
  464. package/widget/multimodal_v2/signals/ui_state_signal.js +128 -0
  465. package/widget/multimodal_v2/stable_bundle_src.js +44 -0
  466. package/widget/multimodal_v2/stores/ai_conversation_store.js +221 -0
  467. package/widget/multimodal_v2/stores/artifact_store.js +205 -0
  468. package/widget/multimodal_v2/stores/base_store.js +16 -0
  469. package/widget/multimodal_v2/stores/call_store.js +770 -0
  470. package/widget/multimodal_v2/stores/call_ui_adapter.js +225 -0
  471. package/widget/multimodal_v2/stores/debug_multimodal_scenario_store.js +471 -0
  472. package/widget/multimodal_v2/stores/decks_store.js +285 -0
  473. package/widget/multimodal_v2/stores/device_store.js +63 -0
  474. package/widget/multimodal_v2/stores/docking_store.js +62 -0
  475. package/widget/multimodal_v2/stores/field_request_store.js +326 -0
  476. package/widget/multimodal_v2/stores/meeting_store.js +477 -0
  477. package/widget/multimodal_v2/stores/participant_store.js +73 -0
  478. package/widget/multimodal_v2/stores/post_call_survey_store.js +160 -0
  479. package/widget/multimodal_v2/stores/pounce_tracking_store.js +163 -0
  480. package/widget/multimodal_v2/stores/pounce_tracking_store_v2.js +511 -0
  481. package/widget/multimodal_v2/stores/presentations_store.js +111 -0
  482. package/widget/multimodal_v2/stores/root_store.js +1919 -0
  483. package/widget/multimodal_v2/stores/screen_share_store.js +217 -0
  484. package/widget/multimodal_v2/stores/slides_store.js +21 -0
  485. package/widget/multimodal_v2/stores/translation_store.js +185 -0
  486. package/widget/multimodal_v2/stores/ui_store.js +496 -0
  487. package/widget/multimodal_v2/stores/waiting_store.js +159 -0
  488. package/widget/multimodal_v2/stores/website_navigation_store.js +767 -0
  489. package/widget/multimodal_v2/styled-system/css/conditions.js +34 -0
  490. package/widget/multimodal_v2/styled-system/css/css.js +48 -0
  491. package/widget/multimodal_v2/styled-system/css/cva.js +96 -0
  492. package/widget/multimodal_v2/styled-system/css/cx.js +13 -0
  493. package/widget/multimodal_v2/styled-system/css/index.js +15 -0
  494. package/widget/multimodal_v2/styled-system/css/sva.js +69 -0
  495. package/widget/multimodal_v2/styled-system/helpers.js +384 -0
  496. package/widget/multimodal_v2/styled-system/jsx/create-style-context.js +96 -0
  497. package/widget/multimodal_v2/styled-system/jsx/factory-helper.js +19 -0
  498. package/widget/multimodal_v2/styled-system/jsx/factory.js +111 -0
  499. package/widget/multimodal_v2/styled-system/jsx/index.js +12 -0
  500. package/widget/multimodal_v2/styled-system/jsx/is-valid-prop.js +22 -0
  501. package/widget/multimodal_v2/types.js +105 -0
  502. package/widget/multimodal_v2/utils/auto_scroller.js +157 -0
  503. package/widget/multimodal_v2/utils/flip_animation.js +124 -0
  504. package/widget/multimodal_v2/utils/focus_gate.js +237 -0
  505. package/widget/multimodal_v2/utils/locale.js +16 -0
  506. package/widget/multimodal_v2/utils/media_queries.js +30 -0
  507. package/widget/multimodal_v2/utils/multimodal_cache.js +19 -0
  508. package/widget/multimodal_v2/utils/mutation_effect.js +14 -0
  509. package/widget/multimodal_v2/utils/navigation_interceptor.js +205 -0
  510. package/widget/multimodal_v2/utils/navigation_strategies/dom_swap.js +393 -0
  511. package/widget/multimodal_v2/utils/navigation_strategies/index.js +12 -0
  512. package/widget/multimodal_v2/utils/navigation_strategies/lwr.js +61 -0
  513. package/widget/multimodal_v2/utils/navigation_strategies/navigation_utils.js +46 -0
  514. package/widget/multimodal_v2/utils/navigation_strategies/next_js.js +24 -0
  515. package/widget/multimodal_v2/utils/navigation_strategies/wouter_v3.js +15 -0
  516. package/widget/multimodal_v2/utils/objects_map.js +38 -0
  517. package/widget/multimodal_v2/utils/perceived_voice_turn_tracker.js +345 -0
  518. package/widget/multimodal_v2/utils/sanitize_html.js +132 -0
  519. package/widget/multimodal_v2/utils/signals.js +97 -0
  520. package/widget/multimodal_v2/utils/slide_zoom.js +114 -0
  521. package/widget/multimodal_v2/utils/theme_styles.js +137 -0
  522. package/widget/multimodal_v2/utils/url_observer.js +52 -0
  523. package/widget/multimodal_v2/utils/voice_onset_detector.js +127 -0
  524. package/widget/page_mirror.js +89 -0
  525. package/widget/page_view_activity_emitter.js +71 -0
  526. package/widget/pardot_visitor.js +137 -0
  527. package/widget/personalization_observer.js +96 -0
  528. package/widget/personalizations_config.js +160 -0
  529. package/widget/qualified_form/constants.js +23 -0
  530. package/widget/qualified_form/phone_utils.js +38 -0
  531. package/widget/qualified_form/qualified_form_action.js +91 -0
  532. package/widget/qualified_form/qualified_form_action_orchestrator.js +21 -0
  533. package/widget/qualified_form/qualified_form_api.js +471 -0
  534. package/widget/scroll_disabler.js +109 -0
  535. package/widget/server-logger.js +156 -0
  536. package/widget/smart_website_config.js +112 -0
  537. package/widget/telemetry/context.js +75 -0
  538. package/widget/telemetry/index.js +16 -0
  539. package/widget/telemetry/messenger_uptime.js +80 -0
  540. package/widget/telemetry/metrics.js +120 -0
  541. package/widget/telemetry/span.js +82 -0
  542. package/widget/telemetry/telemetry.js +180 -0
  543. package/widget/telemetry/tracer.js +41 -0
  544. package/widget/telemetry/tracing_store.js +310 -0
  545. package/widget/tracker.js +916 -0
  546. package/widget/utils/native_globals.js +129 -0
  547. package/widget/v1_adapter.js +50 -0
  548. package/widget/v2_adapter.js +368 -0
  549. package/widget/visitor/base_visitor_state.js +11 -0
  550. package/widget/visitor/cookie_visitor_state.js +128 -0
  551. package/widget/visitor/in_memory_visitor_state.js +29 -0
  552. package/widget/visitor/visitor_state.js +384 -0
  553. package/widget/visitor.js +356 -0
  554. package/widget/widget/linked_widget_v2.js +227 -0
  555. package/widget/widget/page_mirror_factory.js +22 -0
  556. package/widget/widget/sentry.js +130 -0
  557. package/widget/widget/widget.js +1698 -0
  558. package/widget/widget.split-css.js +2 -0
  559. package/widget/widget_bootstrap.js +97 -0
  560. package/widget/widget_object.js +73 -0
@@ -0,0 +1,129 @@
1
+ import { __webpack_require__ } from "../../js/runtime.js";
2
+ import { logger } from "./logger.js";
3
+ import "../../widget/utils/native_globals.js";
4
+
5
+ /* provided dependency */ var connection_monitor_clearTimeout = __webpack_require__(68034).Kj;
6
+ /* provided dependency */ var connection_monitor_setTimeout = __webpack_require__(68034).pS;
7
+
8
+ // Responsible for ensuring the cable connection is in good health by validating the heartbeat pings sent from the server, and attempting
9
+ // revival reconnections if things go astray. Internal class, not intended for direct user manipulation.
10
+ const now = ()=>new Date().getTime();
11
+ const secondsSince = (time)=>(now() - time) / 1000;
12
+ class ConnectionMonitor {
13
+ start() {
14
+ if (!this.isRunning()) {
15
+ this.startedAt = now();
16
+ delete this.stoppedAt;
17
+ this.startPolling();
18
+ addEventListener("visibilitychange", this.visibilityDidChange);
19
+ logger.log("ConnectionMonitor started. stale threshold = " + this.constructor.staleThreshold + " s");
20
+ }
21
+ }
22
+ stop() {
23
+ if (this.isRunning()) {
24
+ this.stoppedAt = now();
25
+ this.stopPolling();
26
+ removeEventListener("visibilitychange", this.visibilityDidChange);
27
+ logger.log("ConnectionMonitor stopped");
28
+ }
29
+ }
30
+ isRunning() {
31
+ return this.startedAt && !this.stoppedAt;
32
+ }
33
+ recordPing() {
34
+ this.pingedAt = now();
35
+ }
36
+ // START PATCH
37
+ recordConnectWaiting() {
38
+ this.connectWaitingStartedAt = now();
39
+ logger.log("ConnectionMonitor recorded waiting for connect");
40
+ }
41
+ // END PATCH
42
+ recordConnect() {
43
+ this.reconnectAttempts = 0;
44
+ this.recordPing();
45
+ delete this.connectWaitingStartedAt;
46
+ delete this.disconnectedAt;
47
+ logger.log("ConnectionMonitor recorded connect");
48
+ }
49
+ recordDisconnect() {
50
+ this.disconnectedAt = now();
51
+ logger.log("ConnectionMonitor recorded disconnect");
52
+ }
53
+ // Private
54
+ startPolling() {
55
+ this.stopPolling();
56
+ this.poll();
57
+ }
58
+ stopPolling() {
59
+ connection_monitor_clearTimeout(this.pollTimeout);
60
+ }
61
+ poll() {
62
+ this.pollTimeout = connection_monitor_setTimeout(()=>{
63
+ this.reconnectIfStale();
64
+ this.poll();
65
+ }, this.getPollInterval());
66
+ }
67
+ // The poll interval introduces a jitter of a relatively large range (e.g. first reconnect attempt can take)
68
+ // anywhere from 6-12s. This is intentionally wide (and most important for the first reconnect) to avoid stampeding-herd
69
+ // effects when dynos restart (e.g. during deploy) and widgets reconnect.
70
+ getPollInterval() {
71
+ const { staleThreshold, reconnectionBackoffRate } = this.constructor;
72
+ const backoff = Math.pow(1 + reconnectionBackoffRate, Math.min(this.reconnectAttempts, 10));
73
+ const jitterMax = this.reconnectAttempts === 0 ? 1.0 : reconnectionBackoffRate;
74
+ const jitter = jitterMax * Math.random();
75
+ return staleThreshold * 1000 * backoff * (1 + jitter);
76
+ }
77
+ reconnectIfStale() {
78
+ if (this.connectionIsStale()) {
79
+ logger.log("ConnectionMonitor detected stale connection. reconnectAttempts = " + this.reconnectAttempts + ", time stale = " + secondsSince(this.refreshedAt) + " s, stale threshold = " + this.constructor.staleThreshold + " s");
80
+ this.reconnectAttempts++;
81
+ if (this.disconnectedRecently()) {
82
+ logger.log("ConnectionMonitor skipping reopening recent disconnect. time disconnected = " + secondsSince(this.disconnectedAt) + " s");
83
+ // START PATCH
84
+ } else if (this.waitingForConnect()) {
85
+ logger.log("ConnectionMonitor skipping reopening recent connect waiting. time waiting = " + secondsSince(this.connectWaitingStartedAt) + " s");
86
+ // END PATCH
87
+ } else {
88
+ logger.log("ConnectionMonitor reopening");
89
+ this.connection.reopen();
90
+ }
91
+ }
92
+ }
93
+ get refreshedAt() {
94
+ return this.pingedAt ? this.pingedAt : this.startedAt;
95
+ }
96
+ connectionIsStale() {
97
+ return secondsSince(this.refreshedAt) > this.constructor.staleThreshold;
98
+ }
99
+ disconnectedRecently() {
100
+ return this.disconnectedAt && secondsSince(this.disconnectedAt) < this.constructor.staleThreshold;
101
+ }
102
+ // START PATCH
103
+ waitingForConnect() {
104
+ return this.connectWaitingStartedAt && secondsSince(this.connectWaitingStartedAt) < this.constructor.staleThreshold;
105
+ }
106
+ // END PATCH
107
+ visibilityDidChange() {
108
+ if (document.visibilityState === "visible") {
109
+ connection_monitor_setTimeout(()=>{
110
+ // START PATCH
111
+ if (this.connectionIsStale() && !this.waitingForConnect() || !this.connection.isOpen()) {
112
+ // END PATCH
113
+ logger.log("ConnectionMonitor reopening stale connection on visibilitychange. visibilityState = " + document.visibilityState);
114
+ this.connection.reopen();
115
+ }
116
+ }, 200);
117
+ }
118
+ }
119
+ constructor(connection){
120
+ this.visibilityDidChange = this.visibilityDidChange.bind(this);
121
+ this.connection = connection;
122
+ this.reconnectAttempts = 0;
123
+ }
124
+ }
125
+ ConnectionMonitor.staleThreshold = 6; // Server::Connections::BEAT_INTERVAL * 2 (missed two pings)
126
+ ConnectionMonitor.reconnectionBackoffRate = 0.15;
127
+ /* export default */ const connection_monitor = (ConnectionMonitor);
128
+
129
+ export default connection_monitor;
@@ -0,0 +1,91 @@
1
+ import { default as connection } from "./connection.js";
2
+ import { Subscriptions } from "./subscriptions.js";
3
+
4
+
5
+
6
+ class Consumer {
7
+ get url() {
8
+ // START PATCH: Modify existing url getter to return with initial connect param attached
9
+ const websocketUrl = createWebSocketURL(this._url);
10
+ return urlWithInitialConnectParam(websocketUrl, this.connection.hasConnectedBefore());
11
+ // END PATCH
12
+ }
13
+ send(data) {
14
+ return this.connection.send(data);
15
+ }
16
+ connect() {
17
+ return this.connection.open();
18
+ }
19
+ disconnect() {
20
+ return this.connection.close({
21
+ allowReconnect: false
22
+ });
23
+ }
24
+ ensureActiveConnection() {
25
+ if (!this.connection.isActive()) {
26
+ return this.connection.open();
27
+ }
28
+ }
29
+ constructor(url){
30
+ this._url = url;
31
+ this.subscriptions = new Subscriptions(this);
32
+ this.connection = new connection(this);
33
+ }
34
+ }
35
+ // The ActionCable.Consumer establishes the connection to a server-side Ruby Connection object. Once established,
36
+ // the ActionCable.ConnectionMonitor will ensure that its properly maintained through heartbeats and checking for stale updates.
37
+ // The Consumer instance is also the gateway to establishing subscriptions to desired channels through the #createSubscription
38
+ // method.
39
+ //
40
+ // The following example shows how this can be set up:
41
+ //
42
+ // App = {}
43
+ // App.cable = ActionCable.createConsumer("ws://example.com/accounts/1")
44
+ // App.appearance = App.cable.subscriptions.create("AppearanceChannel")
45
+ //
46
+ // For more details on how you'd configure an actual channel subscription, see ActionCable.Subscription.
47
+ //
48
+ // When a consumer is created, it automatically connects with the server.
49
+ //
50
+ // To disconnect from the server, call
51
+ //
52
+ // App.cable.disconnect()
53
+ //
54
+ // and to restart the connection:
55
+ //
56
+ // App.cable.connect()
57
+ //
58
+ // Any channel subscriptions which existed prior to disconnecting will
59
+ // automatically resubscribe.
60
+
61
+ function createWebSocketURL(url) {
62
+ if (typeof url === "function") {
63
+ url = url();
64
+ }
65
+ if (url && !/^wss?:/i.test(url)) {
66
+ const a = document.createElement("a");
67
+ a.href = url;
68
+ // Fix populating Location properties in IE. Otherwise, protocol will be blank.
69
+ a.href = a.href;
70
+ a.protocol = a.protocol.replace("http", "ws");
71
+ return a.href;
72
+ } else {
73
+ return url;
74
+ }
75
+ }
76
+ // START PATCH
77
+ function urlWithInitialConnectParam(url, connectedBefore) {
78
+ let hasQueryParamsAlready;
79
+ try {
80
+ const urlObject = new URL(url);
81
+ hasQueryParamsAlready = Array.from(urlObject.searchParams.entries()).length > 0;
82
+ } catch (unused) {
83
+ hasQueryParamsAlready = false;
84
+ }
85
+ const initialConnectQueryParam = "ic=" + !connectedBefore;
86
+ return url + (hasQueryParamsAlready ? "&" + initialConnectQueryParam : "?" + initialConnectQueryParam);
87
+ } // END PATCH
88
+
89
+ var consumer_createWebSocketURL = /* unused export */ undefined;
90
+ export { consumer_createWebSocketURL as createWebSocketURL };
91
+ export default Consumer;
@@ -0,0 +1,34 @@
1
+ import { default as Consumer } from "./consumer.js";
2
+ import { INTERNAL as internal } from "./internal.js";
3
+
4
+
5
+
6
+
7
+
8
+
9
+
10
+
11
+
12
+
13
+ function createConsumer(url) {
14
+ if (url === void 0) url = getConfig("url") || internal.default_mount_path;
15
+ return new Consumer(url);
16
+ }
17
+ function getConfig(name) {
18
+ const element = document.head.querySelector("meta[name='action-cable-" + name + "']");
19
+ if (element) {
20
+ return element.getAttribute("content");
21
+ }
22
+ }
23
+
24
+ var actioncable_createWebSocketURL = /* unused export */ undefined;
25
+ var actioncable_getConfig = /* unused export */ undefined;
26
+ export { actioncable_createWebSocketURL as createWebSocketURL, actioncable_getConfig as getConfig, createConsumer };
27
+ export { default as Connection } from "./connection.js";
28
+ export { default as ConnectionMonitor } from "./connection_monitor.js";
29
+ export { default as Consumer } from "./consumer.js";
30
+ export { INTERNAL } from "./internal.js";
31
+ export { Subscription } from "./subscription.js";
32
+ export { Subscriptions } from "./subscriptions.js";
33
+ export { default as adapters } from "./adapters.js";
34
+ export { logger } from "./logger.js";
@@ -0,0 +1,22 @@
1
+ /* export default */ const internal = ({
2
+ message_types: {
3
+ welcome: "welcome",
4
+ disconnect: "disconnect",
5
+ ping: "ping",
6
+ confirmation: "confirm_subscription",
7
+ rejection: "reject_subscription"
8
+ },
9
+ disconnect_reasons: {
10
+ unauthorized: "unauthorized",
11
+ invalid_request: "invalid_request",
12
+ server_restart: "server_restart"
13
+ },
14
+ default_mount_path: "/cable",
15
+ protocols: [
16
+ "actioncable-v1-json",
17
+ "actioncable-unsupported"
18
+ ]
19
+ });
20
+
21
+ export { internal as INTERNAL };
22
+ export default internal;
@@ -0,0 +1,28 @@
1
+ import { default as adapters } from "./adapters.js";
2
+
3
+
4
+ // The logger is disabled by default. You can enable it with:
5
+ //
6
+ // ActionCable.logger.enabled = true
7
+ //
8
+ // Example:
9
+ //
10
+ // import * as ActionCable from '@rails/actioncable'
11
+ //
12
+ // ActionCable.logger.enabled = true
13
+ // ActionCable.logger.log('Connection Established.')
14
+ //
15
+ /* export default */ const logger = ({
16
+ log () {
17
+ for(var _len = arguments.length, messages = new Array(_len), _key = 0; _key < _len; _key++){
18
+ messages[_key] = arguments[_key];
19
+ }
20
+ if (this.enabled) {
21
+ messages.push(Date.now());
22
+ adapters.logger.log("[ActionCable]", ...messages);
23
+ }
24
+ }
25
+ });
26
+
27
+ export { logger };
28
+ export default logger;
@@ -0,0 +1,93 @@
1
+ // A new subscription is created through the ActionCable.Subscriptions instance available on the consumer.
2
+ // It provides a number of callbacks and a method for calling remote procedure calls on the corresponding
3
+ // Channel instance on the server side.
4
+ //
5
+ // An example demonstrates the basic functionality:
6
+ //
7
+ // App.appearance = App.cable.subscriptions.create("AppearanceChannel", {
8
+ // connected() {
9
+ // // Called once the subscription has been successfully completed
10
+ // },
11
+ //
12
+ // disconnected({ willAttemptReconnect: boolean }) {
13
+ // // Called when the client has disconnected with the server.
14
+ // // The object will have an `willAttemptReconnect` property which
15
+ // // says whether the client has the intention of attempting
16
+ // // to reconnect.
17
+ // },
18
+ //
19
+ // appear() {
20
+ // this.perform('appear', {appearing_on: this.appearingOn()})
21
+ // },
22
+ //
23
+ // away() {
24
+ // this.perform('away')
25
+ // },
26
+ //
27
+ // appearingOn() {
28
+ // $('main').data('appearing-on')
29
+ // }
30
+ // })
31
+ //
32
+ // The methods #appear and #away forward their intent to the remote AppearanceChannel instance on the server
33
+ // by calling the `perform` method with the first parameter being the action (which maps to AppearanceChannel#appear/away).
34
+ // The second parameter is a hash that'll get JSON encoded and made available on the server in the data parameter.
35
+ //
36
+ // This is how the server component would look:
37
+ //
38
+ // class AppearanceChannel < ApplicationActionCable::Channel
39
+ // def subscribed
40
+ // current_user.appear
41
+ // end
42
+ //
43
+ // def unsubscribed
44
+ // current_user.disappear
45
+ // end
46
+ //
47
+ // def appear(data)
48
+ // current_user.appear on: data['appearing_on']
49
+ // end
50
+ //
51
+ // def away
52
+ // current_user.away
53
+ // end
54
+ // end
55
+ //
56
+ // The "AppearanceChannel" name is automatically mapped between the client-side subscription creation and the server-side Ruby class name.
57
+ // The AppearanceChannel#appear/away public methods are exposed automatically to client-side invocation through the perform method.
58
+ const subscription_extend = function extend(object, properties) {
59
+ if (properties != null) {
60
+ for(let key in properties){
61
+ const value = properties[key];
62
+ object[key] = value;
63
+ }
64
+ }
65
+ return object;
66
+ };
67
+ class Subscription {
68
+ // Perform a channel action with the optional data passed as an attribute
69
+ perform(action, data) {
70
+ if (data === void 0) data = {};
71
+ data.action = action;
72
+ return this.send(data);
73
+ }
74
+ send(data) {
75
+ return this.consumer.send({
76
+ command: "message",
77
+ identifier: this.identifier,
78
+ data: JSON.stringify(data)
79
+ });
80
+ }
81
+ unsubscribe() {
82
+ return this.consumer.subscriptions.remove(this);
83
+ }
84
+ constructor(consumer, params = {}, mixin){
85
+ this.consumer = consumer;
86
+ this.identifier = JSON.stringify(params);
87
+ subscription_extend(this, mixin);
88
+ }
89
+ }
90
+
91
+
92
+ export { Subscription };
93
+ export default Subscription;
@@ -0,0 +1,89 @@
1
+ import { Subscription } from "./subscription.js";
2
+
3
+
4
+ class Subscriptions {
5
+ create(channelName, mixin) {
6
+ const channel = channelName;
7
+ const params = typeof channel === "object" ? channel : {
8
+ channel
9
+ };
10
+ const subscription = new Subscription(this.consumer, params, mixin);
11
+ return this.add(subscription);
12
+ }
13
+ // Private
14
+ add(subscription) {
15
+ this.subscriptions.push(subscription);
16
+ this.consumer.ensureActiveConnection();
17
+ this.notify(subscription, "initialized");
18
+ this.sendCommand(subscription, "subscribe");
19
+ return subscription;
20
+ }
21
+ remove(subscription) {
22
+ this.forget(subscription);
23
+ if (!this.findAll(subscription.identifier).length) {
24
+ this.sendCommand(subscription, "unsubscribe");
25
+ }
26
+ return subscription;
27
+ }
28
+ reject(identifier) {
29
+ return this.findAll(identifier).map((subscription)=>{
30
+ this.forget(subscription);
31
+ this.notify(subscription, "rejected");
32
+ return subscription;
33
+ });
34
+ }
35
+ forget(subscription) {
36
+ this.subscriptions = this.subscriptions.filter((s)=>s !== subscription);
37
+ return subscription;
38
+ }
39
+ findAll(identifier) {
40
+ return this.subscriptions.filter((s)=>s.identifier === identifier);
41
+ }
42
+ reload() {
43
+ return this.subscriptions.map((subscription)=>this.sendCommand(subscription, "subscribe"));
44
+ }
45
+ notifyAll(callbackName) {
46
+ for(var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++){
47
+ args[_key - 1] = arguments[_key];
48
+ }
49
+ return this.subscriptions.map((subscription)=>this.notify(subscription, callbackName, ...args));
50
+ }
51
+ notify(subscription, callbackName) {
52
+ for(var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++){
53
+ args[_key - 2] = arguments[_key];
54
+ }
55
+ let subscriptions;
56
+ if (typeof subscription === "string") {
57
+ subscriptions = this.findAll(subscription);
58
+ } else {
59
+ subscriptions = [
60
+ subscription
61
+ ];
62
+ }
63
+ return subscriptions.map((subscription)=>typeof subscription[callbackName] === "function" ? subscription[callbackName](...args) : undefined);
64
+ }
65
+ sendCommand(subscription, command) {
66
+ const { identifier } = subscription;
67
+ return this.consumer.send({
68
+ command,
69
+ identifier
70
+ });
71
+ }
72
+ constructor(consumer){
73
+ this.consumer = consumer;
74
+ this.subscriptions = [];
75
+ }
76
+ }
77
+ // Collection class for creating (and internally managing) channel subscriptions.
78
+ // The only method intended to be triggered by the user is ActionCable.Subscriptions#create,
79
+ // and it should be called through the consumer like so:
80
+ //
81
+ // App = {}
82
+ // App.cable = ActionCable.createConsumer("ws://example.com/accounts/1")
83
+ // App.appearance = App.cable.subscriptions.create("AppearanceChannel")
84
+ //
85
+ // For more details on how you'd configure an actual channel subscription, see ActionCable.Subscription.
86
+
87
+
88
+ export { Subscriptions };
89
+ export default Subscriptions;
@@ -0,0 +1,43 @@
1
+ /*
2
+ * Copyright The OpenTelemetry Authors
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * https://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */ const SPAN_ID_BYTES = 8;
16
+ const TRACE_ID_BYTES = 16;
17
+ class RandomIdGenerator {
18
+ constructor(){
19
+ /**
20
+ * Returns a random 16-byte trace ID formatted/encoded as a 32 lowercase hex
21
+ * characters corresponding to 128 bits.
22
+ */ this.generateTraceId = getIdGenerator(TRACE_ID_BYTES);
23
+ /**
24
+ * Returns a random 8-byte span ID formatted/encoded as a 16 lowercase hex
25
+ * characters corresponding to 64 bits.
26
+ */ this.generateSpanId = getIdGenerator(SPAN_ID_BYTES);
27
+ }
28
+ }
29
+ const SHARED_CHAR_CODES_ARRAY = Array(32);
30
+ function getIdGenerator(bytes) {
31
+ return function generateId() {
32
+ for(let i = 0; i < bytes * 2; i++){
33
+ SHARED_CHAR_CODES_ARRAY[i] = Math.floor(Math.random() * 16) + 48;
34
+ // valid hex characters in the range 48-57 and 97-102
35
+ if (SHARED_CHAR_CODES_ARRAY[i] >= 58) {
36
+ SHARED_CHAR_CODES_ARRAY[i] += 39;
37
+ }
38
+ }
39
+ return String.fromCharCode.apply(null, SHARED_CHAR_CODES_ARRAY.slice(0, bytes * 2));
40
+ };
41
+ }
42
+
43
+ export { RandomIdGenerator };
@@ -0,0 +1,8 @@
1
+ class FacebookTracker {
2
+ trackEvent(event) {
3
+ window.fbq == null ? void 0 : window.fbq.call(window, "trackCustom", event);
4
+ }
5
+ }
6
+ /* export default */ const facebook_tracker = (FacebookTracker);
7
+
8
+ export default facebook_tracker;
@@ -0,0 +1,83 @@
1
+ class GoogleAnalyticsTracker {
2
+ trackEvent(name) {
3
+ var _this_tracker;
4
+ (_this_tracker = this.tracker) == null ? void 0 : _this_tracker.trackEvent("Qualified Chat", name);
5
+ }
6
+ constructor(propertyId){
7
+ try {
8
+ if (window._gat) {
9
+ // ga.js
10
+ this.tracker = new GaJsTracker(propertyId);
11
+ } else if (window.ga) {
12
+ // analytics.js
13
+ this.tracker = new AnalyticsJsTracker(propertyId);
14
+ } else if (window.gtag) {
15
+ // google tag manager or global site tag
16
+ // Note: if we're pushing events via gtag or gtm, the customer will need
17
+ // to configure tags or (gtm) set up products (gtag)
18
+ this.tracker = new GtagTracker(propertyId);
19
+ }
20
+ } catch (e) {
21
+ console.warn("Qualified: Error initializing Google Analytics", e); // eslint-disable-line no-console
22
+ }
23
+ }
24
+ }
25
+ class GaJsTracker {
26
+ trackEvent(category, name) {
27
+ var _this_tracker;
28
+ (_this_tracker = this.tracker) == null ? void 0 : _this_tracker._trackEvent(category, name);
29
+ }
30
+ constructor(propertyId){
31
+ // Create a tracker with the specified property ID, otherwise use the
32
+ // default tracker
33
+ if (propertyId) {
34
+ this.tracker = window._gat._getTracker(propertyId);
35
+ } else {
36
+ this.tracker = window.pageTracker;
37
+ }
38
+ }
39
+ }
40
+ class GtagTracker {
41
+ // eslint-disable-next-line camelcase
42
+ trackEvent(category, name) {
43
+ // eslint-disable-next-line camelcase
44
+ const options = {
45
+ event_category: category
46
+ };
47
+ if (this.propertyId) {
48
+ options.send_to = this.propertyId;
49
+ }
50
+ window.gtag == null ? void 0 : window.gtag.call(window, "event", name, options);
51
+ }
52
+ constructor(propertyId){
53
+ this.propertyId = propertyId;
54
+ }
55
+ }
56
+ class AnalyticsJsTracker {
57
+ trackEvent(category, action) {
58
+ this.initialized.then(()=>{
59
+ var _this_tracker;
60
+ (_this_tracker = this.tracker) == null ? void 0 : _this_tracker.send("event", category, action);
61
+ });
62
+ }
63
+ constructor(propertyId){
64
+ this.initialized = new Promise((resolve)=>{
65
+ window.ga(()=>{
66
+ // Create a named tracker with the specified property ID, otherwise use
67
+ // the default tracker
68
+ if (propertyId) {
69
+ var _window_ga;
70
+ window.ga == null ? void 0 : window.ga.call(window, "create", propertyId, "auto", "_qualifiedTracker");
71
+ this.tracker = (_window_ga = window.ga) == null ? void 0 : _window_ga.getByName("_qualifiedTracker");
72
+ } else {
73
+ var _window_ga1;
74
+ this.tracker = (_window_ga1 = window.ga) == null ? void 0 : _window_ga1.getAll()[0];
75
+ }
76
+ resolve();
77
+ });
78
+ });
79
+ }
80
+ }
81
+ /* export default */ const google_analytics_tracker = (GoogleAnalyticsTracker);
82
+
83
+ export default google_analytics_tracker;
@@ -0,0 +1,22 @@
1
+ class GoogleTagManagerTracker {
2
+ trackEvent(action) {
3
+ var _window_dataLayer;
4
+ (_window_dataLayer = window.dataLayer) == null ? void 0 : _window_dataLayer.push({
5
+ action,
6
+ category: "Qualified Chat",
7
+ event: "ga_event"
8
+ });
9
+ }
10
+ /**
11
+ * Push a full event object to dataLayer (e.g. for multimodal/Salesforce-style tracking).
12
+ */ trackSalesforceEvent(event) {
13
+ if (typeof window === "undefined") return;
14
+ if (!window.dataLayer) return;
15
+ window.dataLayer.push(event);
16
+ }
17
+ }
18
+ /* export default */ const google_tag_manager_tracker = (GoogleTagManagerTracker);
19
+
20
+ var google_tag_manager_tracker_GoogleTagManagerTracker = /* unused export */ undefined;
21
+ export { google_tag_manager_tracker_GoogleTagManagerTracker as GoogleTagManagerTracker };
22
+ export default google_tag_manager_tracker;