@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,96 @@
1
+ import "../css/index.js";
2
+ import "./factory.js";
3
+ import "./factory-helper.js";
4
+ import "../../../../js/multimodal_v2.js";
5
+
6
+
7
+
8
+
9
+
10
+
11
+
12
+ function createStyleContext(recipe) {
13
+ const StyleContext = createContext({});
14
+ const isConfigRecipe = '__recipe__' in recipe;
15
+ const svaFn = isConfigRecipe ? recipe : sva(recipe.config);
16
+ const getResolvedProps = (props, slotStyles)=>{
17
+ const { unstyled } = props, restProps = _object_without_properties_loose(props, [
18
+ "unstyled"
19
+ ]);
20
+ if (unstyled) return restProps;
21
+ if (isConfigRecipe) {
22
+ return _extends({}, restProps, {
23
+ className: cx(slotStyles, restProps.className)
24
+ });
25
+ }
26
+ return _extends({}, restProps, {
27
+ css: css.raw(slotStyles, restProps.css)
28
+ });
29
+ };
30
+ const withRootProvider = (Component, options)=>{
31
+ const WithRootProvider = (props)=>{
32
+ const [variantProps, otherProps] = svaFn.splitVariantProps(props);
33
+ const slotStyles = isConfigRecipe ? svaFn(variantProps) : svaFn.raw(variantProps);
34
+ slotStyles._classNameMap = svaFn.classNameMap;
35
+ const mergedProps = (options == null ? void 0 : options.defaultProps) ? _extends({}, options.defaultProps, otherProps) : otherProps;
36
+ return createElement(StyleContext.Provider, {
37
+ value: slotStyles,
38
+ children: createElement(Component, mergedProps)
39
+ });
40
+ };
41
+ const componentName = getDisplayName(Component);
42
+ WithRootProvider.displayName = "withRootProvider(" + componentName + ")";
43
+ return WithRootProvider;
44
+ };
45
+ const withProvider = (Component, slot, options)=>{
46
+ const StyledComponent = styled(Component, {}, options);
47
+ const WithProvider = forwardRef((props, ref)=>{
48
+ var _restProps_className;
49
+ var _options_defaultProps;
50
+ const [variantProps, restProps] = svaFn.splitVariantProps(props);
51
+ const slotStyles = isConfigRecipe ? svaFn(variantProps) : svaFn.raw(variantProps);
52
+ slotStyles._classNameMap = svaFn.classNameMap;
53
+ const propsWithClass = _extends({}, restProps, {
54
+ className: (_restProps_className = restProps.className) != null ? _restProps_className : options == null ? void 0 : (_options_defaultProps = options.defaultProps) == null ? void 0 : _options_defaultProps.className
55
+ });
56
+ const resolvedProps = getResolvedProps(propsWithClass, slotStyles[slot]);
57
+ return createElement(StyleContext.Provider, {
58
+ value: slotStyles,
59
+ children: createElement(StyledComponent, _extends({}, resolvedProps, {
60
+ className: cx(resolvedProps.className, slotStyles._classNameMap[slot]),
61
+ ref
62
+ }))
63
+ });
64
+ });
65
+ const componentName = getDisplayName(Component);
66
+ WithProvider.displayName = "withProvider(" + componentName + ")";
67
+ return WithProvider;
68
+ };
69
+ const withContext = (Component, slot, options)=>{
70
+ const StyledComponent = styled(Component, {}, options);
71
+ const WithContext = forwardRef((props, ref)=>{
72
+ var _props_className;
73
+ var _options_defaultProps;
74
+ const slotStyles = useContext(StyleContext);
75
+ const propsWithClass = _extends({}, props, {
76
+ className: (_props_className = props.className) != null ? _props_className : options == null ? void 0 : (_options_defaultProps = options.defaultProps) == null ? void 0 : _options_defaultProps.className
77
+ });
78
+ const resolvedProps = getResolvedProps(propsWithClass, slotStyles[slot]);
79
+ return createElement(StyledComponent, _extends({}, resolvedProps, {
80
+ className: cx(resolvedProps.className, slotStyles._classNameMap[slot]),
81
+ ref
82
+ }));
83
+ });
84
+ const componentName = getDisplayName(Component);
85
+ WithContext.displayName = "withContext(" + componentName + ")";
86
+ return WithContext;
87
+ };
88
+ return {
89
+ withRootProvider,
90
+ withProvider,
91
+ withContext
92
+ };
93
+ }
94
+
95
+ var create_style_context_createStyleContext = /* unused export */ undefined;
96
+ export { create_style_context_createStyleContext as createStyleContext };
@@ -0,0 +1,19 @@
1
+ import { isCssProperty } from "./is-valid-prop.js";
2
+
3
+
4
+ const defaultShouldForwardProp = (prop, variantKeys)=>!variantKeys.includes(prop) && !isCssProperty(prop);
5
+ const composeShouldForwardProps = (tag, shouldForwardProp)=>tag.__shouldForwardProps__ && shouldForwardProp ? (propName)=>tag.__shouldForwardProps__(propName) && shouldForwardProp(propName) : shouldForwardProp;
6
+ const composeCvaFn = (cvaA, cvaB)=>{
7
+ if (cvaA && !cvaB) return cvaA;
8
+ if (!cvaA && cvaB) return cvaB;
9
+ if (cvaA.__cva__ && cvaB.__cva__ || cvaA.__recipe__ && cvaB.__recipe__) return cvaA.merge(cvaB);
10
+ const error = new TypeError('Cannot merge cva with recipe. Please use either cva or recipe.');
11
+ TypeError.captureStackTrace == null ? void 0 : TypeError.captureStackTrace.call(TypeError, error);
12
+ throw error;
13
+ };
14
+ const getDisplayName = (Component)=>{
15
+ if (typeof Component === 'string') return Component;
16
+ return (Component == null ? void 0 : Component.displayName) || (Component == null ? void 0 : Component.name) || 'Component';
17
+ };
18
+
19
+ export { composeCvaFn, composeShouldForwardProps, defaultShouldForwardProp, getDisplayName };
@@ -0,0 +1,111 @@
1
+ import { preact_module_, compat_module_D, hooks_module_T } from "../../../../js/multimodal_v2.js";
2
+ import { composeShouldForwardProps, getDisplayName, composeCvaFn, defaultShouldForwardProp } from "./factory-helper.js";
3
+ import { isCssProperty } from "./is-valid-prop.js";
4
+ import "../css/index.js";
5
+ import { splitProps, normalizeHTMLProps } from "../helpers.js";
6
+ import { _extends, _object_without_properties_loose } from "../../../../js/4101.js";
7
+ import { cva } from "../css/cva.js";
8
+ import { cx } from "../css/cx.js";
9
+ import { css as css_css } from "../css/css.js";
10
+
11
+
12
+
13
+
14
+
15
+
16
+
17
+
18
+
19
+
20
+ function styledFn(Dynamic, configOrCva, options) {
21
+ if (configOrCva === void 0) configOrCva = {};
22
+ if (options === void 0) options = {};
23
+ const cvaFn = configOrCva.__cva__ || configOrCva.__recipe__ ? configOrCva : cva(configOrCva);
24
+ const forwardFn = options.shouldForwardProp || defaultShouldForwardProp;
25
+ const shouldForwardProp = (prop)=>{
26
+ var _options_forwardProps;
27
+ if ((_options_forwardProps = options.forwardProps) == null ? void 0 : _options_forwardProps.includes(prop)) return true;
28
+ return forwardFn(prop, cvaFn.variantKeys);
29
+ };
30
+ const defaultProps = Object.assign(options.dataAttr && configOrCva.__name__ ? {
31
+ 'data-recipe': configOrCva.__name__
32
+ } : {}, options.defaultProps);
33
+ const __cvaFn__ = composeCvaFn(Dynamic.__cva__, cvaFn);
34
+ const __shouldForwardProps__ = composeShouldForwardProps(Dynamic, shouldForwardProp);
35
+ const __base__ = Dynamic.__base__ || Dynamic;
36
+ const StyledComponent = /* @__PURE__ */ compat_module_D(function StyledComponent(props, ref) {
37
+ const { as: Element = __base__, unstyled, children } = props, restProps = _object_without_properties_loose(props, [
38
+ "as",
39
+ "unstyled",
40
+ "children"
41
+ ]);
42
+ const combinedProps = hooks_module_T(()=>Object.assign({}, defaultProps, restProps), [
43
+ restProps
44
+ ]);
45
+ const [htmlProps, forwardedProps, variantProps, styleProps, elementProps] = hooks_module_T(()=>{
46
+ return splitProps(combinedProps, normalizeHTMLProps.keys, __shouldForwardProps__, __cvaFn__.variantKeys, isCssProperty);
47
+ }, [
48
+ combinedProps
49
+ ]);
50
+ function getUnwrappedVariants() {
51
+ const result = {};
52
+ for(const key in variantProps){
53
+ const value = variantProps[key];
54
+ result[key] = value !== null && typeof value === 'object' && typeof value.valueOf === 'function' ? value.valueOf() : value;
55
+ }
56
+ return result;
57
+ }
58
+ function recipeClass() {
59
+ const { css: cssStyles } = styleProps, propStyles = _object_without_properties_loose(styleProps, [
60
+ "css"
61
+ ]);
62
+ const unwrappedVariants = getUnwrappedVariants();
63
+ const compoundVariantStyles = __cvaFn__.__getCompoundVariantCss__ == null ? void 0 : __cvaFn__.__getCompoundVariantCss__.call(__cvaFn__, unwrappedVariants);
64
+ return cx(__cvaFn__(unwrappedVariants, false), css_css(compoundVariantStyles, propStyles, cssStyles), combinedProps.class, combinedProps.className);
65
+ }
66
+ function cvaClass() {
67
+ const { css: cssStyles } = styleProps, propStyles = _object_without_properties_loose(styleProps, [
68
+ "css"
69
+ ]);
70
+ const unwrappedVariants = getUnwrappedVariants();
71
+ const cvaStyles = __cvaFn__.raw(unwrappedVariants);
72
+ return cx(css_css(cvaStyles, propStyles, cssStyles), combinedProps.class, combinedProps.className);
73
+ }
74
+ const classes = ()=>{
75
+ if (unstyled) {
76
+ const { css: cssStyles } = styleProps, propStyles = _object_without_properties_loose(styleProps, [
77
+ "css"
78
+ ]);
79
+ return cx(css_css(propStyles, cssStyles), combinedProps.class, combinedProps.className);
80
+ }
81
+ return configOrCva.__recipe__ ? recipeClass() : cvaClass();
82
+ };
83
+ return preact_module_(Element, _extends({}, forwardedProps, elementProps, normalizeHTMLProps(htmlProps), {
84
+ ref,
85
+ className: classes()
86
+ }), children != null ? children : combinedProps.children);
87
+ });
88
+ const name = getDisplayName(__base__);
89
+ StyledComponent.displayName = "styled." + name;
90
+ StyledComponent.__cva__ = __cvaFn__;
91
+ StyledComponent.__base__ = __base__;
92
+ StyledComponent.__shouldForwardProps__ = shouldForwardProp;
93
+ return StyledComponent;
94
+ }
95
+ function createJsxFactory() {
96
+ const cache = new Map();
97
+ return new Proxy(styledFn, {
98
+ apply (_, __, args) {
99
+ return styledFn(...args);
100
+ },
101
+ get (_, el) {
102
+ if (!cache.has(el)) {
103
+ cache.set(el, styledFn(el));
104
+ }
105
+ return cache.get(el);
106
+ }
107
+ });
108
+ }
109
+ const styled = /* @__PURE__ */ createJsxFactory();
110
+
111
+ export { styled };
@@ -0,0 +1,12 @@
1
+ import "./create-style-context.js";
2
+
3
+
4
+
5
+
6
+
7
+ var jsx_allCssProperties = /* unused export */ undefined;
8
+ var jsx_createStyleContext = /* unused export */ undefined;
9
+ var jsx_splitCssProps = /* unused export */ undefined;
10
+ export { jsx_allCssProperties as allCssProperties, jsx_createStyleContext as createStyleContext, jsx_splitCssProps as splitCssProps };
11
+ export { isCssProperty } from "./is-valid-prop.js";
12
+ export { styled } from "./factory.js";
@@ -0,0 +1,22 @@
1
+ import "../helpers.js";
2
+
3
+
4
+ // src/index.ts
5
+ var userGeneratedStr = "css";
6
+ var userGenerated = userGeneratedStr.split(",");
7
+ var cssPropertiesStr = "";
8
+ var allCssProperties = cssPropertiesStr.split(",").concat(userGenerated);
9
+ var properties = new Map(allCssProperties.map((prop)=>[
10
+ prop,
11
+ true
12
+ ]));
13
+ var cssPropertySelectorRegex = /&|@/;
14
+ var isCssProperty = /* @__PURE__ */ (prop)=>{
15
+ return properties.has(prop) || prop.startsWith("--") || cssPropertySelectorRegex.test(prop);
16
+ };
17
+
18
+ const splitCssProps = (props)=>splitProps(props, isCssProperty);
19
+
20
+ var is_valid_prop_allCssProperties = /* unused export */ undefined;
21
+ var is_valid_prop_splitCssProps = /* unused export */ undefined;
22
+ export { isCssProperty, is_valid_prop_allCssProperties as allCssProperties, is_valid_prop_splitCssProps as splitCssProps };
@@ -0,0 +1,105 @@
1
+ // DO NOT CHANGE THE VALUES OF THE ENUMS
2
+ var types_DisplayMode = /*#__PURE__*/ function(DisplayMode) {
3
+ DisplayMode["SIDEBAR"] = "sidebar";
4
+ DisplayMode["DOCKED"] = "docked";
5
+ DisplayMode["COLLAPSED_CENTER"] = "collapsed_center";
6
+ DisplayMode["COLLAPSED_RIGHT"] = "collapsed_right";
7
+ DisplayMode["CLOSED"] = "closed";
8
+ return DisplayMode;
9
+ }({});
10
+ /**
11
+ * "Opened position" theme setting - determines which expanded mode to use.
12
+ * Maps to UI options: Pinned, Floating
13
+ */ var types_OpenedDisplayMode = /*#__PURE__*/ function(OpenedDisplayMode) {
14
+ OpenedDisplayMode["DOCKED"] = "docked";
15
+ OpenedDisplayMode["SIDEBAR"] = "sidebar";
16
+ return OpenedDisplayMode;
17
+ }({});
18
+ var types_ConversationMode = /*#__PURE__*/ function(ConversationMode) {
19
+ ConversationMode["TEXT"] = "text";
20
+ ConversationMode["VOICE"] = "voice";
21
+ ConversationMode["VIDEO"] = "video";
22
+ return ConversationMode;
23
+ }({});
24
+ var types_CallMode = /*#__PURE__*/ (/* unused pure expression or super */ null && (function(CallMode) {
25
+ CallMode["VOICE"] = "voice";
26
+ CallMode["VIDEO"] = "video";
27
+ return CallMode;
28
+ }({})));
29
+ var types_InputState = /*#__PURE__*/ function(InputState) {
30
+ InputState["CHAT"] = "chat";
31
+ InputState["FIELD_REQUEST"] = "field_request";
32
+ InputState["HIDDEN"] = "hidden";
33
+ return InputState;
34
+ }({});
35
+ var types_InputHiddenReason = /*#__PURE__*/ function(InputHiddenReason) {
36
+ InputHiddenReason["VISITOR_BLOCKED"] = "visitor_blocked";
37
+ InputHiddenReason["REPS_OFFLINE"] = "reps_offline";
38
+ InputHiddenReason["CONVERSATION_NOT_STARTED"] = "conversation_not_started";
39
+ return InputHiddenReason;
40
+ }({});
41
+ var types_MaximizedState = /*#__PURE__*/ function(MaximizedState) {
42
+ MaximizedState["NONE"] = "none";
43
+ MaximizedState["MULTIMODAL"] = "multimodal";
44
+ MaximizedState["ARTIFACT"] = "artifact";
45
+ return MaximizedState;
46
+ }({});
47
+ var types_ButtonStyle = /*#__PURE__*/ function(ButtonStyle) {
48
+ ButtonStyle["Solid"] = "solid";
49
+ ButtonStyle["Outline"] = "outline";
50
+ ButtonStyle["Shade"] = "shade";
51
+ return ButtonStyle;
52
+ }({});
53
+ var types_ButtonShape = /*#__PURE__*/ function(ButtonShape) {
54
+ ButtonShape["Rectangle"] = "rectangle";
55
+ ButtonShape["Pill"] = "pill";
56
+ return ButtonShape;
57
+ }({});
58
+ /**
59
+ * LoadingState tracks which loading overlay (if any) is currently active.
60
+ * Used by RootStore signals and consumed by LoadingOverlay.
61
+ *
62
+ * NONE - no overlay shown
63
+ * LIGHTBOX - full-screen lightbox loading overlay
64
+ * MESSENGER - messenger-panel loading overlay
65
+ * INLINE - inline spinner (managed by PersonalizationManager; no overlay)
66
+ */ var types_LoadingState = /*#__PURE__*/ function(LoadingState) {
67
+ LoadingState["NONE"] = "none";
68
+ LoadingState["LIGHTBOX"] = "lightbox";
69
+ LoadingState["MESSENGER"] = "messenger";
70
+ LoadingState["INLINE"] = "inline";
71
+ return LoadingState;
72
+ }({});
73
+ /**
74
+ * "Starting position" theme setting - determines the initial display mode when widget loads.
75
+ * Maps to UI options: Center, Right, Opened, Minimal
76
+ */ var types_InitialDisplayMode = /*#__PURE__*/ function(InitialDisplayMode) {
77
+ InitialDisplayMode["COLLAPSED_CENTER"] = "collapsed_center";
78
+ InitialDisplayMode["COLLAPSED_RIGHT"] = "collapsed_right";
79
+ InitialDisplayMode["OPENED"] = "opened";
80
+ InitialDisplayMode["CLOSED"] = "closed";
81
+ return InitialDisplayMode;
82
+ }({});
83
+ /**
84
+ * Identifies what triggered a call start so the agent can open the call with the
85
+ * right intent (e.g. begin a presentation) instead of a generic greeting.
86
+ */ var types_StartCallTrigger = /*#__PURE__*/ function(StartCallTrigger) {
87
+ StartCallTrigger["StartPresentation"] = "start_presentation";
88
+ StartCallTrigger["StartDeck"] = "start_deck";
89
+ return StartCallTrigger;
90
+ }({});
91
+ /**
92
+ * Which provider's video track is the authoritative avatar for the current call.
93
+ *
94
+ * Reported by Coffee via `coffeeStateUpdate`. On a Tavus call with failovers armed there are two
95
+ * candidate tracks -- the Tavus replica's, and the bot's own track that a committed Anam failover
96
+ * publishes to -- and the bot's exists from join but stays empty until cutover. Track presence
97
+ * therefore can't be used to pick between them; this can.
98
+ */ var types_AvatarProvider = /*#__PURE__*/ function(AvatarProvider) {
99
+ AvatarProvider["TAVUS"] = "tavus";
100
+ AvatarProvider["ANAM"] = "anam";
101
+ return AvatarProvider;
102
+ }({});
103
+
104
+ var multimodal_v2_types_CallMode = /* unused export */ undefined;
105
+ export { multimodal_v2_types_CallMode as CallMode, types_AvatarProvider as AvatarProvider, types_ButtonShape as ButtonShape, types_ButtonStyle as ButtonStyle, types_ConversationMode as ConversationMode, types_DisplayMode as DisplayMode, types_InitialDisplayMode as InitialDisplayMode, types_InputHiddenReason as InputHiddenReason, types_InputState as InputState, types_LoadingState as LoadingState, types_MaximizedState as MaximizedState, types_OpenedDisplayMode as OpenedDisplayMode, types_StartCallTrigger as StartCallTrigger };
@@ -0,0 +1,157 @@
1
+ import { __webpack_require__ } from "../../../js/runtime.js";
2
+ import { signals_core_module_d } from "../../../js/multimodal_v2.js";
3
+ import { Disposable } from "../../../src/mixins/disposable.js";
4
+ import "../../utils/native_globals.js";
5
+
6
+ /* provided dependency */ var auto_scroller_clearTimeout = __webpack_require__(68034).Kj;
7
+ /* provided dependency */ var auto_scroller_setTimeout = __webpack_require__(68034).pS;
8
+
9
+
10
+ class AutoScroller extends Disposable(class {
11
+ }) {
12
+ cleanup() {
13
+ this.mutationObserver.disconnect();
14
+ this.resizeObserver.disconnect();
15
+ this.container.removeEventListener("scroll", this.handleScroll);
16
+ this.container.removeEventListener("scrollend", this.handleScrollEnd);
17
+ this.container.removeEventListener("wheel", this.handleUserInteraction);
18
+ this.container.removeEventListener("touchmove", this.handleUserInteraction);
19
+ auto_scroller_clearTimeout(this.timeout);
20
+ }
21
+ queueScrollToBottom() {
22
+ if (this.isScrollLocked) return;
23
+ if (this.isUserScrolling.peek()) return;
24
+ if (this.timeout) return;
25
+ this.timeout = auto_scroller_setTimeout(()=>{
26
+ if (!this.isScrollLocked && !this.isUserScrolling.peek()) {
27
+ this.scrollToBottom(false);
28
+ }
29
+ this.timeout = undefined;
30
+ }, this.SCROLL_TO_BOTTOM_TIMEOUT_MS);
31
+ }
32
+ constructor(container){
33
+ super(), this.container = container, this.SCROLL_TO_BOTTOM_TIMEOUT_MS = 100, this.SCROLL_THRESHOLD = 50, this.isAutoScrolling = false, this.isUserInteracting = false, // Set after a clamped scroll, cleared when new content arrives (MutationObserver).
34
+ this.isScrollLocked = false, // away from the bottom (true) or at the bottom (false).
35
+ this.isUserScrolling = signals_core_module_d(false), this.scrollToBottom = (userInitiated)=>{
36
+ if (userInitiated === void 0) userInitiated = true;
37
+ const distanceFromBottom = this.container.scrollHeight - this.container.scrollTop - this.container.clientHeight;
38
+ if (distanceFromBottom === 0) return;
39
+ let targetScroll = this.container.scrollHeight;
40
+ // For auto-scrolling, clamp so the last child's top stays at the viewport top.
41
+ // Only clamp when all three conditions are met:
42
+ // 1. The message is taller than the viewport (short messages scroll to bottom)
43
+ // 2. The message has animated content (page reload renders without animation)
44
+ // 3. The message top is below the current scroll position
45
+ if (!userInitiated) {
46
+ const lastChild = this.container.lastElementChild;
47
+ if (lastChild && lastChild.offsetTop > this.container.scrollTop) {
48
+ const messageHeight = this.container.scrollHeight - lastChild.offsetTop;
49
+ const hasAnimation = !!lastChild.querySelector("[data-animated-word]");
50
+ if (messageHeight > this.container.clientHeight && hasAnimation) {
51
+ targetScroll = Math.min(targetScroll, lastChild.offsetTop);
52
+ }
53
+ }
54
+ }
55
+ const scrollDistance = targetScroll - this.container.scrollTop;
56
+ if (scrollDistance <= 0) return;
57
+ const behavior = scrollDistance < this.container.clientHeight ? "smooth" : "instant";
58
+ if (!userInitiated) {
59
+ this.isAutoScrolling = true;
60
+ }
61
+ if (userInitiated) {
62
+ this.isUserScrolling.value = false;
63
+ this.isScrollLocked = false;
64
+ }
65
+ this.container.scrollTo({
66
+ top: targetScroll,
67
+ behavior
68
+ });
69
+ // After a clamped auto-scroll, lock further auto-scrolling so the viewport
70
+ // doesn't chase growing content. The button only shows when there's enough
71
+ // content below to warrant it — for short messages/picklists, the lock
72
+ // prevents stickiness silently while updateScrollIndicator handles the button.
73
+ if (!userInitiated && targetScroll < this.container.scrollHeight) {
74
+ this.isScrollLocked = true;
75
+ const remainingDistance = this.container.scrollHeight - targetScroll - this.container.clientHeight;
76
+ if (remainingDistance > this.SCROLL_THRESHOLD) {
77
+ this.isUserScrolling.value = true;
78
+ }
79
+ }
80
+ }, this.updateScrollIndicator = ()=>{
81
+ const distanceFromBottom = this.container.scrollHeight - this.container.scrollTop - this.container.clientHeight;
82
+ this.isUserScrolling.value = distanceFromBottom > this.SCROLL_THRESHOLD;
83
+ }, this.handleScroll = ()=>{
84
+ if (this.isAutoScrolling) return;
85
+ if (!this.isUserInteracting) return;
86
+ const distanceFromBottom = this.container.scrollHeight - this.container.scrollTop - this.container.clientHeight;
87
+ this.isUserScrolling.value = distanceFromBottom > this.SCROLL_THRESHOLD;
88
+ // User manually scrolling away from the bottom takes over from any
89
+ // auto-scroller lock — they're in control now.
90
+ if (distanceFromBottom > this.SCROLL_THRESHOLD) {
91
+ this.isScrollLocked = false;
92
+ }
93
+ }, this.handleScrollEnd = ()=>{
94
+ this.isAutoScrolling = false;
95
+ this.isUserInteracting = false;
96
+ }, this.handleUserInteraction = ()=>{
97
+ this.isUserInteracting = true;
98
+ if (this.isAutoScrolling) {
99
+ this.isAutoScrolling = false;
100
+ }
101
+ };
102
+ this.container.addEventListener("scroll", this.handleScroll, {
103
+ passive: true
104
+ });
105
+ this.container.addEventListener("scrollend", this.handleScrollEnd, {
106
+ passive: true
107
+ });
108
+ this.container.addEventListener("wheel", this.handleUserInteraction, {
109
+ passive: true
110
+ });
111
+ this.container.addEventListener("touchmove", this.handleUserInteraction, {
112
+ passive: true
113
+ });
114
+ this.resizeObserver = new ResizeObserver(()=>{
115
+ if (this.isScrollLocked) {
116
+ this.updateScrollIndicator();
117
+ }
118
+ this.queueScrollToBottom();
119
+ });
120
+ this.mutationObserver = new MutationObserver((mutations)=>{
121
+ // Clear the scroll lock when actual content changes (new messages, thinking
122
+ // indicator) but not when the ScrollButtonWrapper toggles — that would loop.
123
+ const isOnlyScrollButton = mutations.every((m)=>[
124
+ ...m.addedNodes,
125
+ ...m.removedNodes
126
+ ].every((node)=>node instanceof HTMLElement && node.dataset.componentName === "Timeline.ScrollButtonWrapper"));
127
+ if (!isOnlyScrollButton) {
128
+ const wasLocked = this.isScrollLocked;
129
+ this.isScrollLocked = false;
130
+ // Clear isUserScrolling if the user is at the bottom OR if the lock was
131
+ // set by a clamped auto-scroll (not by the user manually scrolling up).
132
+ // This ensures auto-scroll resumes after animation without yanking users
133
+ // who have genuinely scrolled up to read previous messages.
134
+ const distanceFromBottom = this.container.scrollHeight - this.container.scrollTop - this.container.clientHeight;
135
+ if (distanceFromBottom <= this.SCROLL_THRESHOLD || wasLocked) {
136
+ this.isUserScrolling.value = false;
137
+ }
138
+ }
139
+ this.queueScrollToBottom();
140
+ this.resizeObserver.disconnect();
141
+ this.resizeObserver.observe(this.container);
142
+ for (const child of this.container.children){
143
+ this.resizeObserver.observe(child);
144
+ }
145
+ });
146
+ this.resizeObserver.observe(this.container);
147
+ for (const child of this.container.children){
148
+ this.resizeObserver.observe(child);
149
+ }
150
+ this.mutationObserver.observe(this.container, {
151
+ childList: true
152
+ });
153
+ this.queueScrollToBottom();
154
+ }
155
+ }
156
+
157
+ export { AutoScroller };
@@ -0,0 +1,124 @@
1
+ import { __webpack_require__ } from "../../../js/runtime.js";
2
+ import { MULTIMODAL_HOST_ID } from "../constants.js";
3
+ import "../../utils/native_globals.js";
4
+
5
+ /* provided dependency */ var requestAnimationFrame = __webpack_require__(68034).gj;
6
+
7
+ let isWithinFlipAnimation = false;
8
+ /**
9
+ * Wraps a signal to trigger FLIP animations when its value changes.
10
+ * When the wrapped signal's value is set, it captures the state of all [data-flip]
11
+ * elements, applies the change, and animates the elements to their new positions.
12
+ *
13
+ * @param signal - The signal to wrap with FLIP animation behavior
14
+ * @returns A proxied signal that triggers animations on value changes
15
+ */ function withFlipAnimation(signal) {
16
+ return new Proxy(signal, {
17
+ get (target, prop, receiver) {
18
+ return Reflect.get(target, prop, receiver);
19
+ },
20
+ set (target, prop, value, receiver) {
21
+ if (prop === "value" && value !== target.peek()) {
22
+ withinFlipAnimation(()=>{
23
+ Reflect.set(target, prop, value, receiver);
24
+ });
25
+ return true;
26
+ }
27
+ return Reflect.set(target, prop, value, receiver);
28
+ }
29
+ });
30
+ }
31
+ /**
32
+ * FLIP animation utility for smooth position/size transitions.
33
+ *
34
+ * Animates elements marked with [data-flip] when their position changes
35
+ * (e.g., static <-> fixed).
36
+ *
37
+ * Limitation: Elements using [data-flip] should not have CSS `transform` applied.
38
+ * Use the separate `translate` CSS property instead for positioning, as it won't
39
+ * conflict with the animation's transform.
40
+ *
41
+ * @example
42
+ * // Instead of:
43
+ * transform: translateY(-50%);
44
+ *
45
+ * // Use:
46
+ * translate: 0 -50%;
47
+ */ async function withinFlipAnimation(fn) {
48
+ var _document_getElementById;
49
+ if (isWithinFlipAnimation) {
50
+ fn();
51
+ return;
52
+ }
53
+ const root = (_document_getElementById = document.getElementById(MULTIMODAL_HOST_ID)) == null ? void 0 : _document_getElementById.shadowRoot;
54
+ if (!root) {
55
+ fn();
56
+ return;
57
+ }
58
+ const elements = root.querySelectorAll("[data-flip]");
59
+ if (elements.length === 0) {
60
+ fn();
61
+ return;
62
+ }
63
+ const initialState = new WeakMap();
64
+ elements.forEach((el)=>{
65
+ initialState.set(el, captureFlipState(el));
66
+ });
67
+ isWithinFlipAnimation = true;
68
+ try {
69
+ fn();
70
+ await new Promise((r)=>queueMicrotask(r));
71
+ } finally{
72
+ isWithinFlipAnimation = false;
73
+ }
74
+ requestAnimationFrame(()=>{
75
+ const finalState = new WeakMap();
76
+ elements.forEach((el)=>{
77
+ finalState.set(el, captureFlipState(el));
78
+ });
79
+ elements.forEach((el)=>{
80
+ const first = initialState.get(el);
81
+ const last = finalState.get(el);
82
+ if (!first || !last || first.position === last.position) return;
83
+ const delta = calculateFlipDelta(first, last);
84
+ if (!delta) return;
85
+ el.animate([
86
+ {
87
+ transform: "translate(" + delta.x + "px, " + delta.y + "px) scale(" + delta.scaleX + ", " + delta.scaleY + ")",
88
+ transformOrigin: "top left"
89
+ },
90
+ {
91
+ transform: "none",
92
+ transformOrigin: "top left"
93
+ }
94
+ ], {
95
+ duration: 300,
96
+ easing: "ease-out"
97
+ });
98
+ });
99
+ });
100
+ }
101
+ function captureFlipState(el) {
102
+ return {
103
+ rect: el.getBoundingClientRect(),
104
+ position: getComputedStyle(el).position
105
+ };
106
+ }
107
+ function calculateFlipDelta(first, last) {
108
+ const x = first.rect.left - last.rect.left;
109
+ const y = first.rect.top - last.rect.top;
110
+ const scaleX = first.rect.width / last.rect.width || 1;
111
+ const scaleY = first.rect.height / last.rect.height || 1;
112
+ const hasMovement = Math.abs(x) >= 1 || Math.abs(y) >= 1;
113
+ const hasScale = Math.abs(scaleX - 1) >= 0.01 || Math.abs(scaleY - 1) >= 0.01;
114
+ if (!hasMovement && !hasScale) return null;
115
+ return {
116
+ x,
117
+ y,
118
+ scaleX,
119
+ scaleY
120
+ };
121
+ }
122
+
123
+ var flip_animation_withinFlipAnimation = /* unused export */ undefined;
124
+ export { flip_animation_withinFlipAnimation as withinFlipAnimation, withFlipAnimation };