@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
package/js/runtime.js ADDED
@@ -0,0 +1,109 @@
1
+
2
+ var __webpack_modules__ = {};
3
+ // The module cache
4
+ var __webpack_module_cache__ = {};
5
+ // The require function
6
+ function __webpack_require__(moduleId) {
7
+ // Check if module is in cache
8
+ var cachedModule = __webpack_module_cache__[moduleId];
9
+ if (cachedModule !== undefined) {
10
+ return cachedModule.exports;
11
+ }
12
+ // Create a new module (and put it into the cache)
13
+ var module = (__webpack_module_cache__[moduleId] = {
14
+ id: moduleId,
15
+ exports: {}
16
+ });
17
+ // Execute the module function
18
+ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
19
+
20
+ // Return the exports of the module
21
+ return module.exports;
22
+ }
23
+ // expose the modules object (__webpack_modules__)
24
+ __webpack_require__.m = __webpack_modules__;
25
+
26
+ // webpack/runtime/compat_get_default_export
27
+ (() => {
28
+ // getDefaultExport function for compatibility with non-ESM modules
29
+ __webpack_require__.n = (module) => {
30
+ var getter = module && module.__esModule ?
31
+ () => (module['default']) :
32
+ () => (module);
33
+ __webpack_require__.d(getter, { a: getter });
34
+ return getter;
35
+ };
36
+
37
+ })();
38
+ // webpack/runtime/define_property_getters
39
+ (() => {
40
+ __webpack_require__.d = (exports, getters, values) => {
41
+ var define = (defs, kind) => {
42
+ for(var key in defs) {
43
+ if(__webpack_require__.o(defs, key) && !__webpack_require__.o(exports, key)) {
44
+ Object.defineProperty(exports, key, { enumerable: true, [kind]: defs[key] });
45
+ }
46
+ }
47
+ };
48
+ define(getters, "get");
49
+ define(values, "value");
50
+ };
51
+ })();
52
+ // webpack/runtime/esm_register_module
53
+ (() => {
54
+ __webpack_require__.add = function registerModules(modules) { Object.assign(__webpack_require__.m, modules) }
55
+
56
+ })();
57
+ // webpack/runtime/global
58
+ (() => {
59
+ __webpack_require__.g = (() => {
60
+ if (typeof globalThis === 'object') return globalThis;
61
+ try {
62
+ return this || new Function('return this')();
63
+ } catch (e) {
64
+ if (typeof window === 'object') return window;
65
+ }
66
+ })();
67
+ })();
68
+ // webpack/runtime/has_own_property
69
+ (() => {
70
+ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
71
+ })();
72
+ // webpack/runtime/node_module_decorator
73
+ (() => {
74
+ __webpack_require__.nmd = (module) => {
75
+ module.paths = [];
76
+ if (!module.children) module.children = [];
77
+ return module;
78
+ };
79
+ })();
80
+ // webpack/runtime/auto_public_path
81
+ (() => {
82
+ var scriptUrl;
83
+
84
+ if (__webpack_require__.g.importScripts) scriptUrl = __webpack_require__.g.location + "";
85
+ var document = __webpack_require__.g.document;
86
+ if (!scriptUrl && document) {
87
+ // Technically we could use `document.currentScript instanceof window.HTMLScriptElement`,
88
+ // but an attacker could try to inject `<script>HTMLScriptElement = HTMLImageElement</script>`
89
+ // and use `<img name="currentScript" src="https://attacker.controlled.server/"></img>`
90
+ if (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT') scriptUrl = document.currentScript.src;
91
+ if (!scriptUrl) {
92
+ var scripts = document.getElementsByTagName("script");
93
+ if (scripts.length) {
94
+ var i = scripts.length - 1;
95
+ while (i > -1 && (!scriptUrl || !/^http(s?):/.test(scriptUrl))) scriptUrl = scripts[i--].src;
96
+ }
97
+ }
98
+ }
99
+
100
+ // When supporting browsers where an automatic publicPath is not supported you must specify an output.publicPath manually via configuration",
101
+ // or pass an empty string ("") and set the __webpack_public_path__ variable from your code to use your own logic.',
102
+ if (!scriptUrl) throw new Error("Automatic publicPath is not supported in this browser");
103
+ scriptUrl = scriptUrl.replace(/^blob:/, "").replace(/#.*$/, "").replace(/\?.*$/, "").replace(/\/[^\/]+$/, "/");
104
+
105
+ __webpack_require__.p = scriptUrl + '../';
106
+
107
+ })();
108
+
109
+ export { __webpack_require__ };
Binary file
Binary file
package/package.json ADDED
@@ -0,0 +1,20 @@
1
+ {
2
+ "name": "@qualified-salesforce/web",
3
+ "version": "0.0.1-oidc-bootstrap",
4
+ "description": "Embeddable Qualified messenger widget for self-hosted deployments.",
5
+ "license": "SEE LICENSE IN LICENSE.txt",
6
+ "type": "module",
7
+ "exports": {
8
+ ".": "./packs/widget/esm/index.js",
9
+ "./qualified.css": "./packs/widget/esm/qualified.css"
10
+ },
11
+ "sideEffects": [
12
+ "**/*.css",
13
+ "./js/4101.js",
14
+ "./js/multimodal_v2.js",
15
+ "./widget/multimodal_v2/host.string.js",
16
+ "./widget/multimodal_v2/index.panda.js",
17
+ "./widget/utils/native_globals.js",
18
+ "./packs/widget/esm/index.js"
19
+ ]
20
+ }
@@ -0,0 +1,97 @@
1
+ import { Q_DOCKING_TAG_NAME } from "./shared.js";
2
+ import { defineSingletonHost } from "../../../../src/singleton_host.js";
3
+ import { getQualifiedRoot } from "../../../../src/qualified_root.js";
4
+
5
+ /* eslint-disable rulesdir/css-units */
6
+
7
+
8
+ /**
9
+ * Single child of `<q-root>` holding every node the docking system injects. Base
10
+ * styles, skeleton and matchMedia iframe in the light DOM; in-flight
11
+ * cross-origin clones in the shadow root.
12
+ *
13
+ * Shadow tree from the constructor, so it exists whether or not the host is
14
+ * mounted. The style waits for connection, which a constructor cannot do and
15
+ * which re-dresses an adopted host anyway.
16
+ */ class QDockingElement extends HTMLElement {
17
+ connectedCallback() {
18
+ this.style.cssText = "display:contents";
19
+ }
20
+ constructor(){
21
+ super();
22
+ installShadow(this);
23
+ }
24
+ }
25
+ /**
26
+ * Attaches the slotted shadow tree unless the host has one already. The `<slot>`
27
+ * is what lets the light-DOM children render at all.
28
+ *
29
+ * Outside the constructor because a third party can claim the tag, leaving us an
30
+ * element none of our hooks run on.
31
+ */ function installShadow(host) {
32
+ const existing = host.shadowRoot;
33
+ if (existing) return existing;
34
+ const shadow = host.attachShadow({
35
+ mode: "open"
36
+ });
37
+ shadow.appendChild(document.createElement("slot"));
38
+ return shadow;
39
+ }
40
+ const findDockingHost = defineSingletonHost(Q_DOCKING_TAG_NAME, QDockingElement);
41
+ /**
42
+ * Returns the singleton `<q-docking>` host, creating it under `<q-root>` on
43
+ * first call. Both are boxless, so the skeleton's `position: fixed` still
44
+ * resolves against `<html>` as if it were a direct child.
45
+ */ function getDockingHost() {
46
+ const host = findDockingHost();
47
+ const root = getQualifiedRoot();
48
+ // Corrective for an adopted host parked elsewhere; the move restores its style.
49
+ if (host.parentNode !== root) root.appendChild(host);
50
+ // Corrective for a foreign registration's host; no-ops on our own.
51
+ installShadow(host);
52
+ if (host.style.display !== "contents") host.style.cssText = "display:contents";
53
+ return host;
54
+ }
55
+ /** Open shadow root attached to the singleton `<q-docking>` host. */ function getDockingShadowRoot() {
56
+ return installShadow(getDockingHost());
57
+ }
58
+ /**
59
+ * Module scope, not a field: a host from a foreign registration is a plain
60
+ * `HTMLElement`, where a prototype getter would read `undefined` and quietly
61
+ * unproxy `matchMedia`. A singleton either way.
62
+ */ let probeIframe = null;
63
+ /**
64
+ * The invisible iframe inside `<q-docking>` mirroring the constrained viewport,
65
+ * created on first use. Its `contentWindow` is the single source every viewport
66
+ * proxy reads: a native `matchMedia` evaluating against the docked width, plus
67
+ * dimensions that agree with it exactly.
68
+ *
69
+ * Sized from `--qdvw` because percentages resolve against the slot's box and end
70
+ * up `0x0` in Chromium under `display: contents`.
71
+ *
72
+ * No `srcdoc`/`src` on purpose: either swaps the document off the initial
73
+ * about:blank, and MediaQueryLists made before the swap stop firing `change`.
74
+ */ function getProbeIframe() {
75
+ const host = getDockingHost();
76
+ // Recreated when the host was replaced under us (hot reload, or the page moved it).
77
+ if ((probeIframe == null ? void 0 : probeIframe.parentNode) === host) return probeIframe;
78
+ const iframe = document.createElement("iframe");
79
+ iframe.style.cssText = [
80
+ "position:fixed",
81
+ "top:0",
82
+ "left:0",
83
+ "width:var(" + (/* inlined export .DOCKED_VIEWPORT_WIDTH_CSS_VARIABLE */"--qdvw") + ", 100%)",
84
+ "height:100dvh",
85
+ "visibility:hidden",
86
+ "pointer-events:none",
87
+ "border:none",
88
+ "opacity:0",
89
+ // Below every layout so the invisible probe never wins a stacking-context contest.
90
+ "z-index:-1"
91
+ ].join(";");
92
+ host.appendChild(iframe);
93
+ probeIframe = iframe;
94
+ return iframe;
95
+ }
96
+
97
+ export { getDockingHost, getDockingShadowRoot, getProbeIframe };
@@ -0,0 +1,294 @@
1
+ import { __webpack_require__ } from "../../../../js/runtime.js";
2
+ import { getDockingHost } from "./docking_host.js";
3
+ import { withTransitionsDisabled, DOCKED_MODE, DOCKED_TOP_OFFSET_CSS_VARIABLE, dispatchResizeEvent, DOCKED_DOCUMENT_ATTRIBUTE, MOBILE_BREAKPOINT } from "./shared.js";
4
+ import { createViewportLock } from "./viewport_lock.js";
5
+ import { DOCKED_RIGHT_OFFSET_CSS_VARIABLE, createViewportResize } from "./viewport_resize.js";
6
+ import "../../../../widget/utils/native_globals.js";
7
+ import { _extends } from "../../../../js/4101.js";
8
+ import { originalOf } from "../../../../src/proxy.js";
9
+
10
+ /* provided dependency */ var docking_setTimeout = __webpack_require__(68034).pS;
11
+ /* provided dependency */ var requestAnimationFrame = __webpack_require__(68034).gj;
12
+ /* provided dependency */ var docking_clearTimeout = __webpack_require__(68034).Kj;
13
+
14
+ /* eslint-disable rulesdir/css-units */
15
+
16
+
17
+
18
+
19
+ // ============================================================================
20
+ // Constants
21
+ // ============================================================================
22
+ const Q_STATE_COOKIE_PREFIX = "__q_state_";
23
+ const BASE_STYLES_ID = "q-docked-base-styles";
24
+ const SKELETON_ID = "q-docked-skeleton";
25
+ const SKELETON_Z_INDEX = 2147483639; // Below widget (2147483640) but above page content
26
+ // Absolute ceiling on how long the page may sit docked without an initState. Deliberately
27
+ // below the 50s worst case of the stage budgets below, so a load that exhausts its full
28
+ // allowance in every stage still gets cut off here rather than stalling the visitor.
29
+ const DOCKING_HARD_ABORT_TIMEOUT_MS = 45000;
30
+ const DOCKING_LOADING_STAGE_TIMEOUTS = {
31
+ init_qualified: 10000,
32
+ socket_connection: 15000,
33
+ init_multimodal: 10000,
34
+ init_state: 15000
35
+ };
36
+ // ============================================================================
37
+ // Public API Registration
38
+ // ============================================================================
39
+ /**
40
+ * Registers the docking API on window.qualified.docking.
41
+ * Returns early if the API is already registered or if window.qualified doesn't exist.
42
+ * Call this function to expose the docked layout manager as a global API.
43
+ */ function registerDockingAPI() {
44
+ if (!window.qualified || window.qualified.docking) return;
45
+ window.qualified.docking = createDockingAPI();
46
+ }
47
+ /**
48
+ * Creates the docking API with all state encapsulated in closures.
49
+ * This is a factory function that returns the public API.
50
+ */ function createDockingAPI() {
51
+ /**
52
+ * Set by the first `init`, whether or not {@link start} ran with it. Docking
53
+ * below the mobile breakpoint waits for the viewport to grow, and a second
54
+ * `init` in the meantime must not queue a second wait — `state` is still null
55
+ * then, so it cannot carry the guard itself.
56
+ */ let initialized = false;
57
+ let state = null;
58
+ let pendingState = null;
59
+ const init = (config)=>{
60
+ if (config === void 0) config = {};
61
+ if (initialized) return;
62
+ initialized = true;
63
+ whenAboveMobileBreakpoint(()=>start(config));
64
+ };
65
+ /**
66
+ * Everything `init` does to the host page, held back until the viewport
67
+ * clears the mobile breakpoint. Creating `state` here is what keeps the page
68
+ * untouched in the meantime: every other method either returns early on a
69
+ * null `state` or records into {@link pendingState}, which is folded back in
70
+ * at the end of this.
71
+ */ const start = (config)=>{
72
+ state = {
73
+ c: config,
74
+ bs: null,
75
+ concerns: getConcerns(config),
76
+ ft: null
77
+ };
78
+ withTransitionsDisabled(document.documentElement, ()=>{
79
+ var _readDockedStateFromCookie;
80
+ const shouldDock = (_readDockedStateFromCookie = readDockedStateFromCookie()) != null ? _readDockedStateFromCookie : state.c.defaultDocked;
81
+ if (shouldDock) {
82
+ enable();
83
+ state.ft = {
84
+ hard: docking_setTimeout(abort, DOCKING_HARD_ABORT_TIMEOUT_MS),
85
+ soft: docking_setTimeout(abort, DOCKING_LOADING_STAGE_TIMEOUTS.init_qualified)
86
+ };
87
+ // Inform previous scripts that the window resized
88
+ requestAnimationFrame(()=>dispatchResizeEvent());
89
+ }
90
+ // Each concern self-contains its setup. viewport_lock internally captures
91
+ // the host page's pre-docking scroll position before installing its scroll
92
+ // proxy, then restores it onto body during reEvaluate (after base styles
93
+ // make body the scroll container) — no orchestration needed here.
94
+ for (const concern of state.concerns)concern.init();
95
+ reEvaluate();
96
+ if (state.c.showSkeleton) {
97
+ createSkeleton();
98
+ }
99
+ // Inside the transition guard: a pending `disable` undocking the page it
100
+ // was just docked into should animate no more than the docking did.
101
+ applyPendingState();
102
+ });
103
+ };
104
+ const enable = ()=>{
105
+ if (recordedAsPending({
106
+ docked: true
107
+ })) return;
108
+ if (!state) return;
109
+ // The attribute's value doubles as the layout flag: presence => docked, value
110
+ // => which mode. Existing `[q-docked]` presence selectors are unaffected.
111
+ document.documentElement.setAttribute(DOCKED_DOCUMENT_ATTRIBUTE, state.c.dockUnderHeader ? DOCKED_MODE.underHeader : DOCKED_MODE.regular);
112
+ };
113
+ const disable = ()=>{
114
+ if (recordedAsPending({
115
+ docked: false
116
+ })) return;
117
+ if (!state) return;
118
+ document.documentElement.removeAttribute(DOCKED_DOCUMENT_ATTRIBUTE);
119
+ };
120
+ const reEvaluate = ()=>{
121
+ if (!state) return;
122
+ createBaseStyles(state);
123
+ for (const concern of state.concerns)concern.reEvaluate();
124
+ };
125
+ const cancelAbort = ()=>{
126
+ if (recordedAsPending({
127
+ abortCancelled: true
128
+ })) return;
129
+ if (!(state == null ? void 0 : state.ft)) return;
130
+ docking_clearTimeout(state.ft.hard);
131
+ docking_clearTimeout(state.ft.soft);
132
+ state.ft = null;
133
+ };
134
+ const setAbortStage = (abortState)=>{
135
+ if (recordedAsPending({
136
+ abortStage: abortState
137
+ })) return;
138
+ if (!(state == null ? void 0 : state.ft)) return;
139
+ docking_clearTimeout(state.ft.soft);
140
+ state.ft.soft = docking_setTimeout(abort, DOCKING_LOADING_STAGE_TIMEOUTS[abortState]);
141
+ };
142
+ const isDocked = ()=>{
143
+ return document.documentElement.hasAttribute(DOCKED_DOCUMENT_ATTRIBUTE);
144
+ };
145
+ const abort = ()=>{
146
+ cancelAbort();
147
+ disable();
148
+ };
149
+ /** Initialized, but still waiting on the breakpoint — nothing to act on yet. */ const isPending = ()=>{
150
+ return initialized && !state;
151
+ };
152
+ /**
153
+ * Folds `patch` into {@link pendingState} if docking has not started, and
154
+ * reports whether it did — so a public method can hand off and return in one
155
+ * line rather than repeating the check and the merge.
156
+ *
157
+ * `false` covers both live docking and a page where `init` was never called;
158
+ * the caller's own `state` guard sorts those out.
159
+ */ const recordedAsPending = (patch)=>{
160
+ if (!isPending()) return false;
161
+ pendingState = _extends({}, pendingState, patch);
162
+ return true;
163
+ };
164
+ /**
165
+ * Replays {@link pendingState} onto the state `start` just built, through the
166
+ * same public methods a live caller would have reached.
167
+ *
168
+ * Collapsing the calls loses their interleaving, so the fields are applied in
169
+ * a fixed order and cancellation goes last. That matches the real lifecycle,
170
+ * where `cancelAbort` is terminal (`initState`, `delay_connect` and
171
+ * `unauthorized` all end the sequence, and a live `setAbortStage` after one
172
+ * is already a no-op) and is the safer way to lose the tie: at worst the page
173
+ * keeps a dock it could have dropped, rather than dropping one out from under
174
+ * a widget that had reported in.
175
+ */ const applyPendingState = ()=>{
176
+ const pending = pendingState;
177
+ pendingState = null;
178
+ if (!pending) return;
179
+ if (pending.docked !== undefined) {
180
+ if (pending.docked) enable();
181
+ else disable();
182
+ }
183
+ if (pending.abortStage) setAbortStage(pending.abortStage);
184
+ if (pending.abortCancelled) cancelAbort();
185
+ };
186
+ return {
187
+ init,
188
+ enable,
189
+ disable,
190
+ reEvaluate,
191
+ isDocked,
192
+ cancelAbort,
193
+ setAbortStage
194
+ };
195
+ }
196
+ /**
197
+ * Invokes `fn` while the viewport is wider than {@link MOBILE_BREAKPOINT} —
198
+ * synchronously if it already is, otherwise on the first change that crosses
199
+ * the breakpoint upwards.
200
+ *
201
+ * At or below the breakpoint the docked layout collapses to full width: the
202
+ * base stylesheet zeroes every docked-width variable inside the same media
203
+ * query, and the skeleton is hidden outright. Setting docking up anyway would
204
+ * rewrite the host page's stylesheets, proxy its viewport accessors and move
205
+ * its scroll container onto `<body>` — all invisible, all risk. Gating on the
206
+ * breakpoint leaves phones on a page we never touched while still picking
207
+ * docking up if the window later grows past it.
208
+ *
209
+ * The query is read through the pre-patch `matchMedia` because docking's own
210
+ * proxy repoints `window.matchMedia` at the shrunk content area once it starts,
211
+ * and the gate is a question about the real viewport.
212
+ */ function whenAboveMobileBreakpoint(fn) {
213
+ const { matchMedia } = originalOf(window);
214
+ const mql = matchMedia.call(window, "(" + MOBILE_BREAKPOINT + ")");
215
+ if (!mql.matches) {
216
+ fn();
217
+ return;
218
+ }
219
+ const onChange = ()=>{
220
+ if (mql.matches) return;
221
+ mql.removeEventListener("change", onChange);
222
+ fn();
223
+ };
224
+ mql.addEventListener("change", onChange);
225
+ }
226
+ function getConcerns(config) {
227
+ var _config_skipCrossOriginStylesheets, _config_dockUnderHeader;
228
+ const concerns = [
229
+ createViewportResize({
230
+ skipCrossOriginStylesheets: (_config_skipCrossOriginStylesheets = config.skipCrossOriginStylesheets) != null ? _config_skipCrossOriginStylesheets : false,
231
+ dockUnderHeader: (_config_dockUnderHeader = config.dockUnderHeader) != null ? _config_dockUnderHeader : false
232
+ })
233
+ ];
234
+ if (!config.dockUnderHeader && !config.disableViewportLock) {
235
+ concerns.push(createViewportLock());
236
+ }
237
+ return concerns;
238
+ }
239
+ // ============================================================================
240
+ // Base Styles
241
+ // ============================================================================
242
+ /**
243
+ * Creates the combined base stylesheet for docked mode by concatenating CSS
244
+ * from every registered concern (in `state.concerns` order) into a single
245
+ * `<style>` element. Kept as a single element (rather than one per concern)
246
+ * so the host page only sees one injected stylesheet and selector
247
+ * specificity is predictable across all concerns.
248
+ */ function createBaseStyles(state) {
249
+ var _state_bs;
250
+ if (state.bs && state.bs.isConnected) return;
251
+ (_state_bs = state.bs) == null ? void 0 : _state_bs.remove();
252
+ state.bs = document.createElement("style");
253
+ state.bs.id = BASE_STYLES_ID;
254
+ state.bs.textContent = state.concerns.map((c)=>c.getStyles()).join("");
255
+ getDockingHost().appendChild(state.bs);
256
+ }
257
+ // ============================================================================
258
+ // Skeleton
259
+ // ============================================================================
260
+ /**
261
+ * Creates a loading skeleton element in the docked area.
262
+ * The skeleton is shown while the widget content is loading.
263
+ */ function createSkeleton() {
264
+ const el = document.createElement("div");
265
+ el.id = SKELETON_ID;
266
+ el.innerHTML = /* html */ "\n <style>\n @keyframes q-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}\n /* Skeleton container - hidden by default, shown when docked on desktop */\n #" + SKELETON_ID + "{display:none;position:fixed;top:var(" + DOCKED_TOP_OFFSET_CSS_VARIABLE + ", 0px);right:var(" + DOCKED_RIGHT_OFFSET_CSS_VARIABLE + ", 0px);width:" + (/* inlined export .DOCKED_WIDTH_PX */400) + "px;height:calc(100% - var(" + DOCKED_TOP_OFFSET_CSS_VARIABLE + ", 0px));background:#fff;box-shadow:-2px 0 8px rgba(0,0,0,.08);z-index:" + SKELETON_Z_INDEX + ";box-sizing:border-box;font-family:system-ui,sans-serif}\n html[" + DOCKED_DOCUMENT_ATTRIBUTE + "]:not([q-widget-visible]) #" + SKELETON_ID + "{display:flex;flex-direction:column;padding:16px}\n /* Under-header docking parks the skeleton flush under the host header: swap the drop shadow for a hairline left border (no top border), matching the docked card. */\n html[" + DOCKED_DOCUMENT_ATTRIBUTE + '="' + DOCKED_MODE.underHeader + '"] #' + SKELETON_ID + "{box-shadow:none;border-left:1px solid #E6E9EC}\n @media(" + MOBILE_BREAKPOINT + "){html[" + DOCKED_DOCUMENT_ATTRIBUTE + "] #" + SKELETON_ID + '{display:none !important}}\n .q-sk{background:linear-gradient(90deg,#f0f0f0 25%,#e8e8e8 50%,#f0f0f0 75%);background-size:200% 100%;animation:q-shimmer 1.5s infinite;border-radius:4px}\n .q-sk-h{display:flex;align-items:center;gap:8px;margin-bottom:16px}\n .q-sk-av{width:32px;height:32px;border-radius:50%;flex-shrink:0}\n .q-sk-t{width:100px;height:16px}\n .q-sk-x{width:24px;height:24px;border-radius:50%;margin-left:auto;flex-shrink:0}\n .q-sk-v{width:100%;height:200px;border-radius:8px;margin-bottom:16px}\n .q-sk-p{height:14px;margin-bottom:8px}\n .q-sk-p:nth-child(2){width:90%}.q-sk-p:nth-child(3){width:75%}\n .q-sk-sp{flex:1}\n .q-sk-sg{margin-bottom:16px}\n .q-sk-l{width:120px;height:12px;margin-bottom:8px}\n .q-sk-ch{display:flex;flex-direction:column;gap:6px}\n .q-sk-c{height:20px;border-radius:10px}\n .q-sk-c:nth-child(1){width:80px}.q-sk-c:nth-child(2){width:100px}.q-sk-c:nth-child(3){width:120px}\n .q-sk-cp{border:1px solid #e0e0e0;border-radius:8px;padding:12px}\n .q-sk-in{width:60%;height:16px;margin-bottom:12px}\n .q-sk-ac{display:flex;align-items:center;gap:8px}\n .q-sk-bt{width:100px;height:32px;border-radius:16px}\n .q-sk-ic{width:32px;height:32px;border-radius:50%;margin-left:auto;flex-shrink:0}\n .q-sk-pr{width:200px;height:10px;margin:12px auto 0}\n </style>\n <div class="q-sk-h"><div class="q-sk q-sk-av"></div><div class="q-sk q-sk-t"></div><div class="q-sk q-sk-x"></div></div>\n <div class="q-sk q-sk-v"></div>\n <div class="q-sk q-sk-p"></div><div class="q-sk q-sk-p"></div><div class="q-sk q-sk-p"></div>\n <div class="q-sk-sp"></div>\n <div class="q-sk-sg"><div class="q-sk q-sk-l"></div><div class="q-sk-ch"><div class="q-sk q-sk-c"></div><div class="q-sk q-sk-c"></div><div class="q-sk q-sk-c"></div></div></div>\n <div class="q-sk-cp"><div class="q-sk q-sk-in"></div><div class="q-sk-ac"><div class="q-sk q-sk-bt"></div><div class="q-sk q-sk-ic"></div><div class="q-sk q-sk-ic"></div></div></div>\n <div class="q-sk q-sk-pr"></div>\n ';
267
+ getDockingHost().append(el);
268
+ }
269
+ // ============================================================================
270
+ // Cookie Helpers (standalone — no external dependencies)
271
+ // ============================================================================
272
+ /**
273
+ * Reads the docked flag (`d`) from the first `__q_state_*` cookie.
274
+ * Finds the cookie by prefix, decodes the base64 JSON value, and extracts `d`.
275
+ * Returns `true`, `false`, or `null` if the cookie does not exist / cannot be read.
276
+ */ function readDockedStateFromCookie() {
277
+ const cookies = document.cookie.split(";");
278
+ for (const cookie of cookies){
279
+ const [rawName, ...rest] = cookie.split("=");
280
+ const name = rawName == null ? void 0 : rawName.trim();
281
+ if (name && name.startsWith(Q_STATE_COOKIE_PREFIX)) {
282
+ try {
283
+ const attrs = JSON.parse(decodeURIComponent(escape(atob(rest.join("=")))));
284
+ if (typeof attrs !== "object" || attrs === null) return null;
285
+ return attrs.d === 1 ? true : attrs.d === 0 ? false : null;
286
+ } catch (unused) {
287
+ return null;
288
+ }
289
+ }
290
+ }
291
+ return null;
292
+ }
293
+
294
+ export { registerDockingAPI };