lr-chatbot 0.48.100 → 0.48.102
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.
- package/chunks/ChatbotOpenedView-Dt2qXvZg.js +18222 -0
- package/chunks/ChatbotOpenedView-Dt2qXvZg.js.map +1 -0
- package/chunks/chatbot-BglPHykB.js +70 -0
- package/chunks/chatbot-BglPHykB.js.map +1 -0
- package/chunks/chatbot-C6GzNOnX.js +70 -0
- package/chunks/chatbot-C6GzNOnX.js.map +1 -0
- package/chunks/lib-BlAFXdFa.js +1325 -0
- package/chunks/lib-BlAFXdFa.js.map +1 -0
- package/chunks/rolldown-runtime-B0aSnxlc.js +20 -0
- package/custom-elements.json +1 -1
- package/index.js +14305 -23084
- package/index.js.map +1 -1
- package/package.json +4 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatbotOpenedView-Dt2qXvZg.js","names":["_unsupportedIterableToArray","_arrayLikeToArray","Yo","ia","__assign","$bl59K$useContext","$bl59K$useRef","$bl59K$react","$bl59K$useState","'useId'","'useSyncExternalStore'","$dPTrK$useState","$dPTrK$useRef","$dPTrK$useCallback","$4QKZm$useState","$4QKZm$useRef","$4QKZm$useEffect","$4QKZm$useCallback","$aPpn7$clsx","$i6EpZ$useRef","$i6EpZ$useCallback","$i6EpZ$useMemo","$ahdqC$useMemo","$ahdqC$useContext","$ahdqC$useObjectRef","$ahdqC$mergeRefs","$ahdqC$mergeProps","$ahdqC$useState","$ahdqC$useRef","$ahdqC$useCallback","$ahdqC$useLayoutEffect","$ahdqC$forwardRef","$iuCOg$createContext","$iuCOg$useContext","$iuCOg$forwardRef","$32wDz$createContext","$32wDz$createHideableComponent","$8MuvO$createContext","$eXv8n$shadowDOM","$lIB5W$useRef","$lIB5W$useCallback","$epzQQ$createContext","$epzQQ$useContext","$7U4qw$useEffect","$3siB1$useCallback","$fKWKs$useContext","$fKWKs$useRef","$fKWKs$useEffect","'useInsertionEffect'","$emnFQ$useRef","$emnFQ$useCallback","$awe0O$useRef","$awe0O$useCallback","$awe0O$useEffect","$fL2C6$useContext","$fL2C6$useState","$fL2C6$useRef","$fL2C6$useCallback","$fL2C6$useEffect","$fL2C6$useMemo","$5319z$useRef","$5319z$useCallback","$3s2y0$useRef","$3s2y0$useState","$3s2y0$useCallback","$hZqKM$useState","$hZqKM$useRef","$hZqKM$useEffect","$hZqKM$useMemo","$9s8kH$createContext","$9s8kH$createHideableComponent","$9s8kH$useButton","$9s8kH$useFocusRing","$9s8kH$useHover","$9s8kH$useId","$9s8kH$useRef","$9s8kH$useEffect","$9s8kH$announce","$9s8kH$filterDOMProps","$9s8kH$mergeProps","$cGkLv$createContext","$cGkLv$forwardRef","$QpkXT$createContext","$QpkXT$forwardRef","$QpkXT$useContext","$QpkXT$filterDOMProps","'useInsertionEffect'","$1CcWn$useState","$1CcWn$useRef","$1CcWn$useEffect","$1CcWn$useReducer","$1CcWn$useCallback","$1J3Gn$createContext","$8AuPP$createContext","$8AuPP$useMemo","$8AuPP$useContext","$8AuPP$useState","$8AuPP$useRef","$8AuPP$useEffect","$iSTzu$createContext","$1mD4M$createContext","$1aA6s$createContext","$1aA6s$createHideableComponent","$1aA6s$useHover","$1aA6s$useFocusRing","$1aA6s$mergeProps","$8MsPE$createContext","$1HUBd$useEffect","$axvKP$useRef","$axvKP$useEffect","$70eGi$useControlledState","$70eGi$useFormValidationState","$70eGi$useState","$hlfBT$createContext","$hlfBT$createHideableComponent","$hlfBT$useRef","$hlfBT$useState","$hlfBT$useTextField","$hlfBT$useCallback","$hlfBT$filterDOMProps","$kT5Ur$createContext","$kT5Ur$useRef","$kT5Ur$useCallback","$kT5Ur$useSyncExternalStore","'useSyncExternalStore'","$kT5Ur$useContext","$kT5Ur$forwardRef","$adn6H$createContext","$adn6H$CollectionNode","$adn6H$createLeafComponent","$adn6H$useSeparator","$adn6H$filterDOMProps","$adn6H$mergeProps","$czt8L$createContext","$czt8L$forwardRef","$czt8L$useLink","$czt8L$useHover","$czt8L$useFocusRing","$czt8L$filterDOMProps","$czt8L$mergeProps"],"sources":["../../../../../../../node_modules/.pnpm/deep-chat@2.0.1/node_modules/deep-chat/dist/deepChat.js","../../../../../../../libs/shared/client/ui/react-tw/src/components/Overlay/Overlay.tsx","../../../../../../../libs/shared/client/ui/react-tw/src/components/icons/IconLoadingCircleDark.ts","../../../../../../../libs/shared/client/ui/react-tw/src/components/LoadingOverlay/LoadingOverlay.tsx","../../../../../../../libs/shared/client/features/chatbot/src/core/deep-chat-style.ts","../../../../../../../node_modules/.pnpm/dompurify@3.4.13/node_modules/dompurify/dist/purify.es.mjs","../../../../../../../libs/shared/client/features/chatbot/src/utils/sanitize.ts","../../../../../../../libs/shared/client/features/chatbot/src/react/keep-scrolled-to-bottom.ts","../../../../../../../node_modules/.pnpm/html-entities@2.6.0/node_modules/html-entities/dist/esm/named-references.js","../../../../../../../node_modules/.pnpm/html-entities@2.6.0/node_modules/html-entities/dist/esm/numeric-unicode-map.js","../../../../../../../node_modules/.pnpm/html-entities@2.6.0/node_modules/html-entities/dist/esm/surrogate-pairs.js","../../../../../../../node_modules/.pnpm/html-entities@2.6.0/node_modules/html-entities/dist/esm/index.js","../../../../../../../libs/shared/client/features/chatbot/src/utils/transform-text-to-links.ts","../../../../../../../libs/shared/client/features/chatbot/src/react/slots/constants.ts","../../../../../../../node_modules/.pnpm/react-aria@3.51.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria/dist/private/utils/chain.mjs","../../../../../../../node_modules/.pnpm/react-aria@3.51.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria/dist/private/utils/useLayoutEffect.mjs","../../../../../../../node_modules/.pnpm/react-aria@3.51.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria/dist/private/ssr/SSRProvider.mjs","../../../../../../../node_modules/.pnpm/react-aria@3.51.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria/dist/private/utils/useValueEffect.mjs","../../../../../../../node_modules/.pnpm/react-aria@3.51.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria/dist/private/utils/useId.mjs","../../../../../../../node_modules/.pnpm/react-aria@3.51.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria/dist/private/utils/mergeRefs.mjs","../../../../../../../node_modules/.pnpm/react-aria@3.51.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria/dist/private/utils/mergeProps.mjs","../../../../../../../node_modules/.pnpm/react-aria@3.51.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria/dist/private/utils/useObjectRef.mjs","../../../../../../../node_modules/.pnpm/react-aria-components@1.20.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria-components/dist/private/utils.mjs","../../../../../../../node_modules/.pnpm/react-aria@3.51.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria/dist/private/collections/Hidden.mjs","../../../../../../../node_modules/.pnpm/react-aria-components@1.20.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria-components/dist/private/Label.mjs","../../../../../../../node_modules/.pnpm/react-aria@3.51.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria/dist/private/utils/filterDOMProps.mjs","../../../../../../../node_modules/.pnpm/react-aria@3.51.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria/dist/private/utils/useLabels.mjs","../../../../../../../node_modules/.pnpm/react-aria@3.51.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria/dist/private/label/useLabel.mjs","../../../../../../../node_modules/.pnpm/react-aria-components@1.20.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria-components/dist/private/ProgressBar.mjs","../../../../../../../node_modules/.pnpm/react-aria@3.51.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria/dist/private/live-announcer/LiveAnnouncer.mjs","../../../../../../../node_modules/.pnpm/react-aria@3.51.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria/dist/private/utils/focusWithoutScrolling.mjs","../../../../../../../node_modules/.pnpm/react-aria@3.51.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria/dist/private/utils/domHelpers.mjs","../../../../../../../node_modules/.pnpm/react-stately@3.49.0_react@19.1.0/node_modules/react-stately/dist/private/flags/flags.mjs","../../../../../../../node_modules/.pnpm/react-aria@3.51.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria/dist/private/utils/shadowdom/DOMFunctions.mjs","../../../../../../../node_modules/.pnpm/react-aria@3.51.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria/dist/private/utils/isElementVisible.mjs","../../../../../../../node_modules/.pnpm/react-aria@3.51.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria/dist/private/utils/isFocusable.mjs","../../../../../../../node_modules/.pnpm/react-aria@3.51.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria/dist/private/interactions/utils.mjs","../../../../../../../node_modules/.pnpm/react-aria@3.51.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria/dist/private/utils/platform.mjs","../../../../../../../node_modules/.pnpm/react-aria@3.51.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria/dist/private/utils/isVirtualEvent.mjs","../../../../../../../node_modules/.pnpm/react-aria@3.51.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria/dist/private/utils/openLink.mjs","../../../../../../../node_modules/.pnpm/react-aria@3.51.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria/dist/private/interactions/useFocusVisible.mjs","../../../../../../../node_modules/.pnpm/react-aria@3.51.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria/dist/private/utils/runAfterTransition.mjs","../../../../../../../node_modules/.pnpm/react-aria@3.51.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria/dist/private/interactions/focusSafely.mjs","../../../../../../../node_modules/.pnpm/react-aria@3.51.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria/dist/private/interactions/useFocus.mjs","../../../../../../../node_modules/.pnpm/react-aria@3.51.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria/dist/private/interactions/createEventHandler.mjs","../../../../../../../node_modules/.pnpm/react-aria@3.51.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria/dist/private/interactions/createKeyboardShortcutHandler.mjs","../../../../../../../node_modules/.pnpm/react-aria@3.51.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria/dist/private/interactions/useKeyboard.mjs","../../../../../../../node_modules/.pnpm/react-aria@3.51.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria/dist/private/utils/useSyncRef.mjs","../../../../../../../node_modules/.pnpm/react-aria@3.51.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria/dist/private/interactions/useFocusable.mjs","../../../../../../../node_modules/.pnpm/react-aria@3.51.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria/dist/private/interactions/textSelection.mjs","../../../../../../../node_modules/.pnpm/react-aria@3.51.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria/dist/private/utils/getNonce.mjs","../../../../../../../node_modules/.pnpm/react-aria@3.51.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria/dist/private/interactions/context.mjs","../../../../../../../node_modules/.pnpm/react-aria@3.51.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria/dist/private/utils/useEffectEvent.mjs","../../../../../../../node_modules/.pnpm/react-aria@3.51.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria/dist/private/utils/useGlobalListeners.mjs","../../../../../../../node_modules/.pnpm/react-aria@3.51.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria/dist/private/interactions/usePress.mjs","../../../../../../../node_modules/.pnpm/react-aria@3.51.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria/dist/private/button/useButton.mjs","../../../../../../../node_modules/.pnpm/react-aria@3.51.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria/dist/private/interactions/useFocusWithin.mjs","../../../../../../../node_modules/.pnpm/react-aria@3.51.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria/dist/private/focus/useFocusRing.mjs","../../../../../../../node_modules/.pnpm/react-aria@3.51.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria/dist/private/interactions/useHover.mjs","../../../../../../../node_modules/.pnpm/react-aria-components@1.20.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria-components/dist/private/Button.mjs","../../../../../../../libs/shared/client/ui/react-tw/src/components/icons/IconLoadingCircle.ts","../../../../../../../libs/shared/client/ui/react-tw/src/components/Button/Button.tsx","../../../../../../../node_modules/.pnpm/react-aria-components@1.20.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria-components/dist/private/Text.mjs","../../../../../../../node_modules/.pnpm/react-aria-components@1.20.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria-components/dist/private/FieldError.mjs","../../../../../../../node_modules/.pnpm/react-stately@3.49.0_react@19.1.0/node_modules/react-stately/dist/private/utils/useControlledState.mjs","../../../../../../../node_modules/.pnpm/react-aria-components@1.20.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria-components/dist/private/Autocomplete.mjs","../../../../../../../node_modules/.pnpm/react-stately@3.49.0_react@19.1.0/node_modules/react-stately/dist/private/form/useFormValidationState.mjs","../../../../../../../node_modules/.pnpm/react-aria-components@1.20.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria-components/dist/private/Form.mjs","../../../../../../../node_modules/.pnpm/react-aria-components@1.20.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria-components/dist/private/Group.mjs","../../../../../../../node_modules/.pnpm/react-aria-components@1.20.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria-components/dist/private/Input.mjs","../../../../../../../node_modules/.pnpm/react-aria-components@1.20.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria-components/dist/private/TextArea.mjs","../../../../../../../node_modules/.pnpm/react-aria@3.51.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria/dist/private/label/useField.mjs","../../../../../../../node_modules/.pnpm/react-aria@3.51.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria/dist/private/utils/useFormReset.mjs","../../../../../../../node_modules/.pnpm/react-aria@3.51.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria/dist/private/form/useFormValidation.mjs","../../../../../../../node_modules/.pnpm/react-aria@3.51.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria/dist/private/textfield/useTextField.mjs","../../../../../../../node_modules/.pnpm/react-aria-components@1.20.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria-components/dist/private/TextField.mjs","../../../../../../../libs/shared/client/ui/react-tw/src/components/icons/IconCautionCircleStroke.ts","../../../../../../../libs/shared/client/ui/react-tw/src/components/icons/IconCheckCircleStroke.ts","../../../../../../../libs/shared/client/ui/react-tw/src/internal/inputs/InputLabel.tsx","../../../../../../../libs/shared/client/ui/react-tw/src/components/icons/IconCautionCircleFilled.ts","../../../../../../../libs/shared/client/ui/react-tw/src/components/icons/IconCheckCircleFilled.ts","../../../../../../../libs/shared/client/ui/react-tw/src/components/icons/IconCloseCircleFilled.ts","../../../../../../../libs/shared/client/ui/react-tw/src/components/icons/IconInformationCircleFilled.ts","../../../../../../../libs/shared/client/ui/react-tw/src/components/icons/IconInformationCircleStroke.ts","../../../../../../../libs/shared/client/ui/react-tw/src/components/HelperText/HelperText.tsx","../../../../../../../libs/shared/client/ui/react-tw/src/internal/inputs/InputHelpers.tsx","../../../../../../../libs/shared/client/ui/react-tw/src/components/TextInput/TextBaseInput.tsx","../../../../../../../libs/shared/client/ui/react-tw/src/components/TextInput/TextInput.tsx","../../../../../../../libs/shared/client/ui/react-tw/src/components/icons/IconCheck.ts","../../../../../../../libs/shared/client/features/chatbot/src/react/useNativePress.ts","../../../../../../../libs/shared/client/ui/react-tw/src/components/icons/IconStarFilled.ts","../../../../../../../libs/shared/client/features/chatbot/src/react/components/StarRating.tsx","../../../../../../../libs/shared/client/features/chatbot/src/react/components/ChatbotConversationRating.tsx","../../../../../../../libs/shared/client/ui/react-tw/src/components/icons/IconHelp.ts","../../../../../../../libs/shared/client/ui/react-tw/src/components/icons/IconSmartphone.ts","../../../../../../../libs/shared/client/ui/react-tw/src/components/icons/IconWhatsapp.ts","../../../../../../../libs/shared/client/features/chatbot/src/react/components/ChatbotEscalationPill.tsx","../../../../../../../libs/shared/client/features/chatbot/src/react/components/ChatbotIntroduction.tsx","../../../../../../../node_modules/.pnpm/react-aria@3.51.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria/dist/private/separator/useSeparator.mjs","../../../../../../../node_modules/.pnpm/react-aria@3.51.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria/dist/private/collections/BaseCollection.mjs","../../../../../../../node_modules/.pnpm/use-sync-external-store@1.6.0_react@19.1.0/node_modules/use-sync-external-store/cjs/use-sync-external-store-shim.production.js","../../../../../../../node_modules/.pnpm/use-sync-external-store@1.6.0_react@19.1.0/node_modules/use-sync-external-store/shim/index.js","../../../../../../../node_modules/.pnpm/react-aria@3.51.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria/dist/private/collections/CollectionBuilder.mjs","../../../../../../../node_modules/.pnpm/react-aria-components@1.20.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria-components/dist/private/Separator.mjs","../../../../../../../libs/shared/client/ui/react-tw/src/components/Divider/Divider.tsx","../../../../../../../libs/shared/client/features/chatbot/src/react/components/ChatbotLegalNotice.tsx","../../../../../../../node_modules/.pnpm/react-aria@3.51.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria/dist/private/link/useLink.mjs","../../../../../../../node_modules/.pnpm/react-aria-components@1.20.0_react-dom@19.1.0_react@19.1.0__react@19.1.0/node_modules/react-aria-components/dist/private/Link.mjs","../../../../../../../libs/shared/client/ui/react-tw/src/components/icons/IconExternalLink.ts","../../../../../../../libs/shared/client/ui/react-tw/src/components/Link/Link.tsx","../../../../../../../libs/shared/client/features/chatbot/src/react/components/ChatbotLink.tsx","../../../../../../../libs/shared/client/ui/react-tw/src/components/icons/IconMoreHorizontal.ts","../../../../../../../libs/shared/client/ui/react-tw/src/components/icons/IconThumbDown.ts","../../../../../../../libs/shared/client/ui/react-tw/src/components/icons/IconThumbUp.ts","../../../../../../../libs/shared/client/features/chatbot/src/react/components/ChatbotMessageBubble.tsx","../../../../../../../libs/shared/client/features/chatbot/src/react/components/ChatbotMessage.tsx","../../../../../../../libs/shared/client/features/chatbot/src/react/components/ChatbotSuggestionPill.tsx","../../../../../../../libs/shared/client/features/chatbot/src/react/slots/mappings.ts","../../../../../../../libs/shared/client/features/chatbot/src/react/slots/registry.ts","../../../../../../../libs/shared/client/features/chatbot/src/react/slots/compile-slots.ts","../../../../../../../libs/shared/client/features/chatbot/src/react/slots/message-html.ts","../../../../../../../libs/shared/client/features/chatbot/src/react/slots/ChatbotSlotHost.tsx","../../../../../../../libs/shared/client/features/chatbot/src/react/slots/mount-slot-host.tsx","../../../../../../../libs/shared/client/features/chatbot/src/react/components/ChatbotExitOverlay.tsx","../../../../../../../libs/shared/client/ui/react-tw/src/components/icons/IconClose.ts","../../../../../../../libs/shared/client/ui/react-tw/src/components/icons/IconLaRedouteLogoInverse.ts","../../../../../../../libs/shared/client/ui/react-tw/src/components/icons/IconLess.ts","../../../../../../../libs/shared/client/features/chatbot/src/react/components/ChatbotHeader.tsx","../../../../../../../libs/shared/client/ui/react-tw/src/components/icons/IconSearch.ts","../../../../../../../libs/shared/client/ui/react-tw/src/components/icons/IconSendOutline.ts","../../../../../../../libs/shared/client/features/chatbot/src/react/components/ChatbotSearchField.tsx","../../../../../../../libs/shared/client/features/chatbot/src/react/components/ChatbotWelcome.tsx","../../../../../../../libs/shared/client/features/chatbot/src/react/components/ChatbotOpenedView.tsx"],"sourcesContent":["function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _iterableToArray(r) { if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r); }\nfunction _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }\nfunction _createForOfIteratorHelper(r, e) { var t = \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && \"number\" == typeof r.length) { t && (r = t); var _n4 = 0, F = function F() {}; return { s: F, n: function n() { return _n4 >= r.length ? { done: !0 } : { done: !1, value: r[_n4++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t[\"return\"] || t[\"return\"](); } finally { if (u) throw o; } } }; }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction _wrapNativeSuper(t) { var r = \"function\" == typeof Map ? new Map() : void 0; return _wrapNativeSuper = function _wrapNativeSuper(t) { if (null === t || !_isNativeFunction(t)) return t; if (\"function\" != typeof t) throw new TypeError(\"Super expression must either be null or a function\"); if (void 0 !== r) { if (r.has(t)) return r.get(t); r.set(t, Wrapper); } function Wrapper() { return _construct(t, arguments, _getPrototypeOf(this).constructor); } return Wrapper.prototype = Object.create(t.prototype, { constructor: { value: Wrapper, enumerable: !1, writable: !0, configurable: !0 } }), _setPrototypeOf(Wrapper, t); }, _wrapNativeSuper(t); }\nfunction _construct(t, e, r) { if (_isNativeReflectConstruct()) return Reflect.construct.apply(null, arguments); var o = [null]; o.push.apply(o, e); var p = new (t.bind.apply(t, o))(); return r && _setPrototypeOf(p, r.prototype), p; }\nfunction _isNativeFunction(t) { try { return -1 !== Function.toString.call(t).indexOf(\"[native code]\"); } catch (n) { return \"function\" == typeof t; } }\nfunction _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }\nfunction _possibleConstructorReturn(t, e) { if (e && (\"object\" == _typeof(e) || \"function\" == typeof e)) return e; if (void 0 !== e) throw new TypeError(\"Derived constructors may only return object or undefined\"); return _assertThisInitialized(t); }\nfunction _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); return e; }\nfunction _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }\nfunction _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }\nfunction _inherits(t, e) { if (\"function\" != typeof e && null !== e) throw new TypeError(\"Super expression must either be null or a function\"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, \"prototype\", { writable: !1 }), e && _setPrototypeOf(t, e); }\nfunction _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }\nfunction _regeneratorRuntime() { \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = \"function\" == typeof Symbol ? Symbol : {}, a = i.iterator || \"@@iterator\", c = i.asyncIterator || \"@@asyncIterator\", u = i.toStringTag || \"@@toStringTag\"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, \"\"); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, \"_invoke\", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: \"normal\", arg: t.call(e, r) }; } catch (t) { return { type: \"throw\", arg: t }; } } e.wrap = wrap; var h = \"suspendedStart\", l = \"suspendedYield\", f = \"executing\", s = \"completed\", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { [\"next\", \"throw\", \"return\"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if (\"throw\" !== c.type) { var u = c.arg, h = u.value; return h && \"object\" == _typeof(h) && n.call(h, \"__await\") ? e.resolve(h.__await).then(function (t) { invoke(\"next\", t, i, a); }, function (t) { invoke(\"throw\", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke(\"throw\", t, i, a); }); } a(c.arg); } var r; o(this, \"_invoke\", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw Error(\"Generator is already running\"); if (o === s) { if (\"throw\" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if (\"next\" === n.method) n.sent = n._sent = n.arg;else if (\"throw\" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else \"return\" === n.method && n.abrupt(\"return\", n.arg); o = f; var p = tryCatch(e, r, n); if (\"normal\" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } \"throw\" === p.type && (o = s, n.method = \"throw\", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, \"throw\" === n && e.iterator[\"return\"] && (r.method = \"return\", r.arg = t, maybeInvokeDelegate(e, r), \"throw\" === r.method) || \"return\" !== n && (r.method = \"throw\", r.arg = new TypeError(\"The iterator does not provide a '\" + n + \"' method\")), y; var i = tryCatch(o, e.iterator, r.arg); if (\"throw\" === i.type) return r.method = \"throw\", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, \"return\" !== r.method && (r.method = \"next\", r.arg = t), r.delegate = null, y) : a : (r.method = \"throw\", r.arg = new TypeError(\"iterator result is not an object\"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = \"normal\", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: \"root\" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || \"\" === e) { var r = e[a]; if (r) return r.call(e); if (\"function\" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + \" is not iterable\"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, \"constructor\", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, \"constructor\", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, \"GeneratorFunction\"), e.isGeneratorFunction = function (t) { var e = \"function\" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || \"GeneratorFunction\" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, \"GeneratorFunction\")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, \"Generator\"), define(g, a, function () { return this; }), define(g, \"toString\", function () { return \"[object Generator]\"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) \"t\" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if (\"throw\" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = \"throw\", a.arg = e, r.next = n, o && (r.method = \"next\", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if (\"root\" === i.tryLoc) return handle(\"end\"); if (i.tryLoc <= this.prev) { var c = n.call(i, \"catchLoc\"), u = n.call(i, \"finallyLoc\"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw Error(\"try statement without catch or finally\"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, \"finallyLoc\") && this.prev < o.finallyLoc) { var i = o; break; } } i && (\"break\" === t || \"continue\" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = \"next\", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if (\"throw\" === t.type) throw t.arg; return \"break\" === t.type || \"continue\" === t.type ? this.next = t.arg : \"return\" === t.type ? (this.rval = this.arg = t.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, \"catch\": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if (\"throw\" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw Error(\"illegal catch attempt\"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, \"next\" === this.method && (this.arg = t), y; } }, e; }\nfunction asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }\nfunction _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, \"next\", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, \"throw\", n); } _next(void 0); }); }; }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError(\"Cannot call a class as a function\"); }\nfunction _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, \"value\" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }\nfunction _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, \"prototype\", { writable: !1 }), e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nvar us = /*#__PURE__*/function () {\n function us() {\n _classCallCheck(this, us);\n }\n return _createClass(us, null, [{\n key: \"render\",\n value: function render(e, t) {\n var i = document.createElement(\"div\");\n i.id = \"error-view\", i.innerText = t, e.replaceChildren(i);\n }\n }]);\n}();\nvar Xt = /*#__PURE__*/function () {\n function Xt() {\n _classCallCheck(this, Xt);\n }\n return _createClass(Xt, null, [{\n key: \"onLoad\",\n value: function onLoad(e) {\n e.innerHTML = '<div id=\"large-loading-ring\"></div>';\n }\n }, {\n key: \"createElements\",\n value: function createElements() {\n var e = document.createElement(\"div\");\n return e.id = \"validate-property-key-view\", e;\n }\n }, {\n key: \"render\",\n value: function render(e, t, i) {\n var n = Xt.createElements(),\n r = {\n onSuccess: t,\n onFail: us.render.bind(this, e, \"Your 'key' has failed authentication\"),\n onLoad: Xt.onLoad.bind(this, n)\n };\n i.key && i.verifyKey(i.key, r), e.replaceChildren(n);\n }\n }]);\n}();\nvar M = /*#__PURE__*/function () {\n function M() {\n _classCallCheck(this, M);\n }\n return _createClass(M, null, [{\n key: \"unsetStyle\",\n value: function unsetStyle(e, t) {\n var i = Object.keys(t).reduce(function (n, r) {\n return n[r] = \"\", n;\n }, {});\n Object.assign(e.style, i);\n }\n }, {\n key: \"unsetActivityCSSMouseStates\",\n value: function unsetActivityCSSMouseStates(e, t) {\n t.click && M.unsetStyle(e, t.click), t.hover && M.unsetStyle(e, t.hover);\n }\n }, {\n key: \"unsetAllCSSMouseStates\",\n value: function unsetAllCSSMouseStates(e, t) {\n M.unsetActivityCSSMouseStates(e, t), t[\"default\"] && M.unsetStyle(e, t[\"default\"]);\n }\n }, {\n key: \"processStateful\",\n value: function processStateful(e, t, i) {\n var n = e[\"default\"] || {},\n r = Object.assign(JSON.parse(JSON.stringify(_objectSpread(_objectSpread({}, n), t))), e == null ? void 0 : e.hover),\n o = Object.assign(JSON.parse(JSON.stringify(_objectSpread(_objectSpread({}, r), i))), e == null ? void 0 : e.click);\n return {\n \"default\": n,\n hover: r,\n click: o\n };\n }\n }, {\n key: \"mergeStatefulStyles\",\n value: function mergeStatefulStyles(e) {\n var t = {\n \"default\": {},\n hover: {},\n click: {}\n };\n return e.forEach(function (i) {\n t[\"default\"] = Object.assign(t[\"default\"], i[\"default\"]), t.hover = Object.assign(t.hover, i.hover), t.click = Object.assign(t.click, i.click);\n }), t;\n }\n }, {\n key: \"overwriteDefaultWithAlreadyApplied\",\n value: function overwriteDefaultWithAlreadyApplied(e, t) {\n Object.keys(e[\"default\"] || []).forEach(function (i) {\n var r;\n var n = i;\n t.style[n] && (r = e[\"default\"]) != null && r[n] && (e[\"default\"][i] = t.style[n]);\n });\n }\n }, {\n key: \"applyToStyleIfNotDefined\",\n value: function applyToStyleIfNotDefined(e, t) {\n for (var i in t) {\n var n = t[i];\n e[i] === \"\" && n && (e[i] = n);\n }\n }\n }]);\n}();\nvar je = /*#__PURE__*/function () {\n function je() {\n _classCallCheck(this, je);\n }\n return _createClass(je, null, [{\n key: \"attemptAppendStyleSheetToHead\",\n value: function attemptAppendStyleSheetToHead(e) {\n if (e.fontFamily && e.fontFamily !== je.DEFAULT_FONT_FAMILY) return;\n var t = document.getElementsByTagName(\"head\")[0];\n if (!Array.from(t.getElementsByTagName(\"link\")).some(function (n) {\n return n.getAttribute(\"href\") === je.FONT_URL;\n })) {\n var n = document.createElement(\"link\");\n n.rel = \"stylesheet\", n.href = je.FONT_URL, t.appendChild(n);\n }\n }\n }]);\n}();\nje.FONT_URL = \"https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap\", je.DEFAULT_FONT_FAMILY = \"'Inter', sans-serif, Avenir, Helvetica, Arial\";\nvar Zt = je;\nvar rt = /*#__PURE__*/function () {\n function rt() {\n _classCallCheck(this, rt);\n }\n return _createClass(rt, null, [{\n key: \"apply\",\n value: function apply(e, t) {\n if (t) try {\n rt.applyStyleSheet(e, t);\n } catch (_unused) {\n rt.addStyleElement(e, t);\n }\n }\n }, {\n key: \"applyStyleSheet\",\n value: function applyStyleSheet(e, t) {\n var i = new CSSStyleSheet();\n i.replaceSync(e), t.adoptedStyleSheets.push(i);\n }\n }, {\n key: \"addStyleElement\",\n value: function addStyleElement(e, t) {\n var i = document.createElement(\"style\");\n i.innerHTML = e, t.appendChild(i);\n }\n }, {\n key: \"applyDefaultStyleToComponent\",\n value: function applyDefaultStyleToComponent(e, t) {\n t && M.applyToStyleIfNotDefined(e, t), M.applyToStyleIfNotDefined(e, rt.DEFAULT_COMPONENT_STYLE);\n }\n }]);\n}();\nrt.DEFAULT_COMPONENT_STYLE = {\n height: \"350px\",\n width: \"320px\",\n border: \"1px solid #cacaca\",\n fontFamily: Zt.DEFAULT_FONT_FAMILY,\n fontSize: \"0.9rem\",\n backgroundColor: \"white\",\n position: \"relative\",\n // this is used to prevent inputAreaStyle background color from going beyond the container's rounded border\n // it will cause issues if there are elements that are meant to be outside of the chat component and in\n // that instance they should overwrite this\n // this is also causing the chat to squeeze when there is no space\n overflow: \"hidden\"\n};\nvar yt = rt;\nvar P = /* @__PURE__ */function (s) {\n return s.ESCAPE = \"Escape\", s.ENTER = \"Enter\", s.TAB = \"Tab\", s.ARROW_UP = \"ArrowUp\", s.ARROW_DOWN = \"ArrowDown\", s.ARROW_RIGHT = \"ArrowRight\", s.ARROW_LEFT = \"ArrowLeft\", s.BACKSPACE = \"Backspace\", s.DELETE = \"Delete\", s.META = \"Meta\", s.CONTROL = \"Control\", s;\n }(P || {}),\n We;\nvar at = (We = /*#__PURE__*/_createClass(function We() {\n _classCallCheck(this, We);\n}), We.IS_SAFARI = /^((?!chrome|android).)*safari/i.test(navigator.userAgent), We.IS_CHROMIUM = window.chrome, We);\nvar Ue = /*#__PURE__*/function () {\n function Ue() {\n _classCallCheck(this, Ue);\n }\n return _createClass(Ue, null, [{\n key: \"add\",\n value:\n // prettier-ignore\n function add(e, t, i, n) {\n i !== void 0 && e.addEventListener(\"keydown\", Ue.onKeyDown.bind(this, i)), e.oninput = Ue.onInput.bind(this, i, n), e.addEventListener(\"paste\", function (r) {\n var o;\n r.preventDefault(), (o = r.clipboardData) != null && o.files.length && t.addFilesToAnyType(Array.from(r.clipboardData.files));\n });\n }\n // preventing insertion early for a nicer UX\n // prettier-ignore\n }, {\n key: \"onKeyDown\",\n value: function onKeyDown(e, t) {\n var n = t.target.textContent;\n n && n.length >= e && !Ue.PERMITTED_KEYS.has(t.key) && !Ue.isKeyCombinationPermitted(t) && t.preventDefault();\n }\n }, {\n key: \"isKeyCombinationPermitted\",\n value: function isKeyCombinationPermitted(e) {\n return e.key === \"a\" ? e.ctrlKey || e.metaKey : !1;\n }\n }, {\n key: \"onInput\",\n value: function onInput(e, t, i) {\n var n = i.target,\n r = n.textContent || \"\";\n e !== void 0 && r.length > e && (n.textContent = r.substring(0, e), Ei.focusEndOfInput(n)), t == null || t();\n }\n }]);\n}();\nUe.PERMITTED_KEYS = /* @__PURE__ */new Set([P.BACKSPACE, P.DELETE, P.ARROW_RIGHT, P.ARROW_LEFT, P.ARROW_DOWN, P.ARROW_UP, P.META, P.CONTROL, P.ENTER]);\nvar Wi = Ue;\nvar fs = /*#__PURE__*/function () {\n function fs() {\n _classCallCheck(this, fs);\n }\n return _createClass(fs, null, [{\n key: \"sanitizePastedTextContent\",\n value: function sanitizePastedTextContent(e) {\n var i, n;\n e.preventDefault();\n var t = (i = e.clipboardData) == null ? void 0 : i.getData(\"text/plain\");\n t && ((n = document.execCommand) == null || n.call(document, \"insertText\", !1, t));\n }\n }]);\n}();\nvar W = /*#__PURE__*/function () {\n function W(e, t, i) {\n var _this = this;\n _classCallCheck(this, W);\n var r, o, a;\n var n = W.processConfig(t, e.textInput);\n this.elementRef = W.createContainerElement((r = n == null ? void 0 : n.styles) == null ? void 0 : r.container), this.inputElementRef = this.createInputElement(n), this._config = n, this.elementRef.appendChild(this.inputElementRef), e.setPlaceholderText = this.setPlaceholderText.bind(this, e), e.setPlaceholderText(((a = (o = e.textInput) == null ? void 0 : o.placeholder) == null ? void 0 : a.text) || \"Ask me anything!\"), setTimeout(function () {\n var l;\n Wi.add(_this.inputElementRef, i, (l = e.textInput) == null ? void 0 : l.characterLimit, e._validationHandler);\n });\n }\n return _createClass(W, [{\n key: \"createInputElement\",\n value: function createInputElement(e) {\n var i, n;\n var t = document.createElement(\"div\");\n return t.id = W.TEXT_INPUT_ID, t.classList.add(\"text-input-styling\", W.PLACEHOLDER_TEXT_CLASS), at.IS_CHROMIUM && W.preventAutomaticScrollUpOnNewLine(t), typeof (e == null ? void 0 : e.disabled) == \"boolean\" && e.disabled === !0 ? (t.contentEditable = \"false\", t.classList.add(\"text-input-disabled\")) : (t.contentEditable = \"true\", this.addEventListeners(t, e)), Object.assign(t.style, (i = e == null ? void 0 : e.styles) == null ? void 0 : i.text), Object.assign(t.style, (n = e == null ? void 0 : e.placeholder) == null ? void 0 : n.style), t;\n }\n }, {\n key: \"removeTextIfPlaceholder\",\n value: function removeTextIfPlaceholder() {\n var e, t, i, n;\n this.inputElementRef.classList.contains(W.PLACEHOLDER_TEXT_CLASS) && !this.inputElementRef.classList.contains(\"text-input-disabled\") && ((e = this._config.placeholder) != null && e.style && (M.unsetStyle(this.inputElementRef, (t = this._config.placeholder) == null ? void 0 : t.style), Object.assign(this.inputElementRef.style, (n = (i = this._config) == null ? void 0 : i.styles) == null ? void 0 : n.text)), W.clear(this.inputElementRef), this.inputElementRef.classList.remove(W.PLACEHOLDER_TEXT_CLASS));\n }\n }, {\n key: \"addEventListeners\",\n value: function addEventListeners(e, t) {\n var i, n, r;\n e.onfocus = this.onFocus.bind(this, (i = t == null ? void 0 : t.styles) == null ? void 0 : i.focus), (n = t == null ? void 0 : t.styles) != null && n.focus && (e.onblur = this.onBlur.bind(this, t.styles.focus, (r = t == null ? void 0 : t.styles) == null ? void 0 : r.container)), e.addEventListener(\"keydown\", this.onKeydown.bind(this)), e.addEventListener(\"paste\", fs.sanitizePastedTextContent);\n }\n }, {\n key: \"onFocus\",\n value: function onFocus(e) {\n var _this2 = this;\n at.IS_SAFARI ? setTimeout(function () {\n _this2.removeTextIfPlaceholder();\n }) : this.removeTextIfPlaceholder(), Object.assign(this.elementRef.style, e);\n }\n }, {\n key: \"onBlur\",\n value: function onBlur(e, t) {\n M.unsetStyle(this.elementRef, e), t && Object.assign(this.elementRef.style, t);\n }\n }, {\n key: \"onKeydown\",\n value: function onKeydown(e) {\n var t;\n e.key === P.ENTER && !e.ctrlKey && !e.shiftKey && (e.preventDefault(), (t = this.submit) == null || t.call(this));\n }\n }, {\n key: \"setPlaceholderText\",\n value: function setPlaceholderText(e, t) {\n document.activeElement !== e && (this.inputElementRef.textContent === \"\" && this.inputElementRef.classList.add(W.PLACEHOLDER_TEXT_CLASS), this.inputElementRef.classList.contains(W.PLACEHOLDER_TEXT_CLASS) && (this.inputElementRef.textContent = t));\n }\n }], [{\n key: \"processConfig\",\n value: function processConfig(e, t) {\n var _t2, _t$disabled, _t$placeholder, _i$text;\n var i;\n return (_t2 = t) !== null && _t2 !== void 0 ? _t2 : t = {}, (_t$disabled = t.disabled) !== null && _t$disabled !== void 0 ? _t$disabled : t.disabled = e.isTextInputDisabled, (_t$placeholder = t.placeholder) !== null && _t$placeholder !== void 0 ? _t$placeholder : t.placeholder = {}, (_i$text = (i = t.placeholder).text) !== null && _i$text !== void 0 ? _i$text : i.text = e.textInputPlaceholderText, t;\n }\n // this is is a bug fix where if the browser is scrolled down and the user types in text that creates new line\n // the browser scrollbar will move up which leads to undesirable UX.\n // More details in this Stack Overflow question:\n // https://stackoverflow.com/questions/76285135/prevent-automatic-scroll-when-text-is-inserted-into-contenteditable-div\n // prettier-ignore\n }, {\n key: \"preventAutomaticScrollUpOnNewLine\",\n value: function preventAutomaticScrollUpOnNewLine(e) {\n var t;\n e.addEventListener(\"keydown\", function () {\n t = window.scrollY;\n }), e.addEventListener(\"input\", function () {\n t !== window.scrollY && window.scrollTo({\n top: t\n });\n });\n }\n // this also similarly prevents scroll up\n }, {\n key: \"clear\",\n value: function clear(e) {\n var t = window.scrollY;\n e.classList.contains(\"text-input-disabled\") || (e.textContent = \"\"), at.IS_CHROMIUM && window.scrollTo({\n top: t\n });\n }\n }, {\n key: \"toggleEditability\",\n value: function toggleEditability(e, t) {\n e.contentEditable = t ? \"true\" : \"false\";\n }\n }, {\n key: \"createContainerElement\",\n value: function createContainerElement(e) {\n var t = document.createElement(\"div\");\n return t.id = \"text-input-container\", Object.assign(t.style, e), t;\n }\n }]);\n}();\nW.TEXT_INPUT_ID = \"text-input\", W.PLACEHOLDER_TEXT_CLASS = \"text-input-placeholder\";\nvar $e = W;\nvar Ei = /*#__PURE__*/function () {\n function Ei() {\n _classCallCheck(this, Ei);\n }\n return _createClass(Ei, null, [{\n key: \"focusEndOfInput\",\n value: function focusEndOfInput(e) {\n var t = document.createRange();\n t.selectNodeContents(e), t.collapse(!1);\n var i = window.getSelection();\n i == null || i.removeAllRanges(), i == null || i.addRange(t);\n }\n }, {\n key: \"focusFromParentElement\",\n value: function focusFromParentElement(e) {\n var t = e.querySelector(\"#\".concat($e.TEXT_INPUT_ID));\n t && Ei.focusEndOfInput(t);\n }\n }]);\n}();\nfunction xn(s) {\n return s.charAt(0).toUpperCase() + s.slice(1);\n}\nfunction ps(s) {\n return s && JSON.stringify(s);\n}\nfunction cn(s, e, t, i) {\n var n = \"\\n\".concat(xn(e), \" message: \").concat(JSON.stringify(s), \" \\n\"),\n r = t ? \"\".concat(xn(e), \" message after interceptor: \").concat(ps(i), \" \\n\") : \"\";\n return n + r;\n}\nfunction ms(s, e, t, i) {\n return \"\".concat(cn(s, e, t, i), \"Make sure the \").concat(e, \" message is using the Response format: https://deepchat.dev/docs/connect/#Response \\nYou can also augment it using the responseInterceptor property: https://deepchat.dev/docs/interceptors#responseInterceptor\");\n}\nfunction gs(s, e, t) {\n var i = \"response\";\n return \"\".concat(cn(s, i, e, t), \"Make sure the \").concat(i, \" message is using the {text: string} format, e.g: {text: \\\"Model Response\\\"}\");\n}\nfunction bs(s, e) {\n var t = \"request\";\n return \"\".concat(cn(s, t, e), \"Make sure the \").concat(t, \" message is using the {body: {text: string}} format, e.g: {body: {text: \\\"Model Response\\\"}}\");\n}\nvar _n = \"Make sure the events are using {text: string} or {html: string} format.\\nYou can also augment them using the responseInterceptor property: https://deepchat.dev/docs/interceptors#responseInterceptor\",\n A = {\n INVALID_KEY: \"Invalid API Key\",\n CONNECTION_FAILED: \"Failed to connect\",\n INVALID_RESPONSE: ms,\n INVALID_MODEL_REQUEST: bs,\n INVALID_MODEL_RESPONSE: gs,\n INVALID_STREAM_EVENT: _n,\n INVALID_STREAM_EVENT_MIX: \"Cannot mix {text: string} and {html: string} responses.\",\n NO_VALID_STREAM_EVENTS_SENT: \"No valid stream events were sent.\\n\".concat(_n)\n },\n bi = /*#__PURE__*/function () {\n function bi() {\n _classCallCheck(this, bi);\n }\n return _createClass(bi, null, [{\n key: \"addElements\",\n value: function addElements(e) {\n for (var _len = arguments.length, t = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n t[_key - 1] = arguments[_key];\n }\n t.forEach(function (i) {\n return e.appendChild(i);\n });\n }\n }, {\n key: \"isScrollbarAtBottomOfElement\",\n value: function isScrollbarAtBottomOfElement(e) {\n var t = e.scrollHeight,\n i = e.clientHeight,\n n = e.scrollTop,\n r = t - i;\n return n >= r - bi.CODE_SNIPPET_GENERATION_JUMP;\n }\n }, {\n key: \"cloneElement\",\n value: function cloneElement(e) {\n var t = e.cloneNode(!0);\n return e.parentNode.replaceChild(t, e), t;\n }\n }, {\n key: \"scrollToBottom\",\n value: function scrollToBottom(e) {\n e.scrollTop = e.scrollHeight;\n }\n }, {\n key: \"scrollToTop\",\n value: function scrollToTop(e) {\n e.scrollTop = 0;\n }\n }]);\n }();\nbi.CODE_SNIPPET_GENERATION_JUMP = 0.5;\nvar q = bi;\nvar vi = /*#__PURE__*/function () {\n function vi() {\n _classCallCheck(this, vi);\n }\n return _createClass(vi, null, [{\n key: \"speak\",\n value: function speak(e, t) {\n if (window.SpeechSynthesisUtterance) {\n var i = new SpeechSynthesisUtterance(e);\n Object.assign(i, t), speechSynthesis.speak(i);\n }\n }\n }, {\n key: \"processConfig\",\n value: function processConfig(e, t) {\n var i = {};\n setTimeout(function () {\n if (_typeof(e) == \"object\" && (e.lang && (i.lang = e.lang), e.pitch && (i.pitch = e.pitch), e.rate && (i.rate = e.rate), e.volume && (i.volume = e.volume), e.voiceName)) {\n var n = window.speechSynthesis.getVoices().find(function (r) {\n var o;\n return r.name.toLocaleLowerCase() === ((o = e.voiceName) == null ? void 0 : o.toLocaleLowerCase());\n });\n n && (i.voice = n);\n }\n t(i);\n }, vi.LOAD_VOICES_MS);\n }\n }]);\n}();\nvi.LOAD_VOICES_MS = 200;\nvar lt = vi;\nvar te = /*#__PURE__*/function () {\n function te() {\n _classCallCheck(this, te);\n }\n return _createClass(te, null, [{\n key: \"checkForContainerStyles\",\n value: function checkForContainerStyles(e, t) {\n var i = e.containerStyle;\n i && (Object.assign(t.style, i), console.error(\"The containerStyle property is deprecated since version 1.3.14.\"), console.error(\"Please change to using the style property instead: https://deepchat.dev/docs/styles#style\"));\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n }, {\n key: \"handleResponseProperty\",\n value: function handleResponseProperty(e) {\n return console.error(\"The {result: ....} response object type is deprecated since version 1.3.0.\"), console.error(\"Please change to using the new response object: https://deepchat.dev/docs/connect#Response\"), e.result;\n }\n }, {\n key: \"processHistory\",\n value: function processHistory(e) {\n var t = e.initialMessages;\n if (t) return console.error(\"The initialMessages property is deprecated since version 2.0.0.\"), console.error(\"Please change to using the history property instead: https://deepchat.dev/docs/messages/#history\"), t;\n }\n }, {\n key: \"processHistoryFile\",\n value: function processHistoryFile(e) {\n var t = e.file;\n t && (console.error(\"The file property in MessageContent is deprecated since version 1.3.17.\"), console.error(\"Please change to using the files array property: https://deepchat.dev/docs/messages/#MessageContent\"), e.files = [t]);\n }\n }, {\n key: \"processValidateInput\",\n value: function processValidateInput(e) {\n var t = e.validateMessageBeforeSending;\n if (t) return console.error(\"The validateMessageBeforeSending property is deprecated since version 1.3.24.\"), console.error(\"Please change to using validateInput: https://deepchat.dev/docs/interceptors#validateInput\"), t;\n }\n }, {\n key: \"processSubmitUserMessage\",\n value: function processSubmitUserMessage(e) {\n return console.error(\"The submitUserMessage(text: string) argument string type is deprecated since version 1.4.4.\"), console.error(\"Please change to using the new argument type: https://deepchat.dev/docs/methods#submitUserMessage\"), {\n text: e\n };\n }\n }, {\n key: \"flagHTMLUpdateClass\",\n value: function flagHTMLUpdateClass(e) {\n var t;\n (t = e.children[0]) != null && t.classList.contains(\"deep-chat-update-message\") && (console.error('The \"deep-chat-update-message\" html class is deprecated since version 1.4.4.'), console.error(\"Please change to using {..., overwrite: true} object: https://deepchat.dev/docs/connect#Response\"));\n }\n }, {\n key: \"processConnect\",\n value: function processConnect(e) {\n var t = e;\n t.request && (t.connect ? Object.assign(t.connect, t.request) : t.connect = t.request, console.error(\"The request property is deprecated since version 2.0.0.\"), console.error(\"Please see the connect object: https://deepchat.dev/docs/connect#connect-1\"));\n }\n }, {\n key: \"checkForStream\",\n value: function checkForStream(e) {\n var t = e.stream;\n if (t) return console.error(\"The stream property has been moved to the connect object in version 2.0.0.\"), console.error(\"Please see the connect object: https://deepchat.dev/docs/connect#connect-1\"), t;\n }\n }, {\n key: \"fireOnNewMessage\",\n value: function fireOnNewMessage(e, t) {\n var n;\n var i = e;\n i.onNewMessage && (console.error(\"The onNewMessage event has been deprecated since version 2.0.0.\"), console.error(\"Please see the onMessage event: https://deepchat.dev/docs/events#onMessage\"), (n = i.onNewMessage) == null || n.call(i, t)), e.dispatchEvent(new CustomEvent(\"new-message\", {\n detail: t\n }));\n }\n }, {\n key: \"processFileConfigConnect\",\n value: function processFileConfigConnect(e) {\n var t = e;\n t.request && (console.error(\"The request property in file configuration is deprecated since version 2.0.0.\"), console.error(\"Please use the connect property instead: https://deepchat.dev/docs/files\"), t.connect || (t.connect = t.request));\n }\n }]);\n}();\nvar vs = \"data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='iso-8859-1'?%3e%3csvg%20fill='%23000000'%20version='1.1'%20id='Layer_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20viewBox='0%200%2032%2032'%20xml:space='preserve'%3e%3cpath%20d='M23,30.36H9c-2.404,0-4.36-1.956-4.36-4.36V15c0-2.404,1.956-4.36,4.36-4.36h3.659%20c0.167-1.566,1.415-2.813,2.981-2.981V5.333c-1.131-0.174-2-1.154-2-2.333c0-1.301,1.059-2.36,2.36-2.36%20c1.302,0,2.36,1.059,2.36,2.36c0,1.179-0.869,2.159-2,2.333V7.66c1.566,0.167,2.814,1.415,2.981,2.981H23%20c2.404,0,4.36,1.956,4.36,4.36v11C27.36,28.404,25.404,30.36,23,30.36z%20M9,11.36c-2.007,0-3.64,1.633-3.64,3.64v11%20c0,2.007,1.633,3.64,3.64,3.64h14c2.007,0,3.64-1.633,3.64-3.64V15c0-2.007-1.633-3.64-3.64-3.64H9z%20M13.384,10.64h5.231%20C18.439,9.354,17.334,8.36,16,8.36C14.667,8.36,13.561,9.354,13.384,10.64z%20M16,1.36c-0.904,0-1.64,0.736-1.64,1.64%20S15.096,4.64,16,4.64c0.904,0,1.64-0.736,1.64-1.64S16.904,1.36,16,1.36z%20M20,27.36h-8c-1.301,0-2.36-1.059-2.36-2.36%20s1.059-2.36,2.36-2.36h8c1.302,0,2.36,1.059,2.36,2.36S21.302,27.36,20,27.36z%20M12,23.36c-0.904,0-1.64,0.735-1.64,1.64%20s0.736,1.64,1.64,1.64h8c0.904,0,1.64-0.735,1.64-1.64s-0.735-1.64-1.64-1.64H12z%20M31,23.86h-2c-0.199,0-0.36-0.161-0.36-0.36V15%20c0-0.199,0.161-0.36,0.36-0.36h2c0.199,0,0.36,0.161,0.36,0.36v8.5C31.36,23.699,31.199,23.86,31,23.86z%20M29.36,23.14h1.279v-7.78%20H29.36V23.14z%20M3,23.86H1c-0.199,0-0.36-0.161-0.36-0.36V15c0-0.199,0.161-0.36,0.36-0.36h2c0.199,0,0.36,0.161,0.36,0.36v8.5%20C3.36,23.699,3.199,23.86,3,23.86z%20M1.36,23.14h1.28v-7.78H1.36V23.14z%20M20,20.36c-1.302,0-2.36-1.059-2.36-2.36%20s1.059-2.36,2.36-2.36s2.36,1.059,2.36,2.36C22.36,19.302,21.302,20.36,20,20.36z%20M20,16.36c-0.904,0-1.64,0.736-1.64,1.64%20s0.735,1.64,1.64,1.64s1.64-0.735,1.64-1.64S20.904,16.36,20,16.36z%20M12,20.36c-1.301,0-2.36-1.059-2.36-2.36s1.059-2.36,2.36-2.36%20s2.36,1.059,2.36,2.36C14.36,19.302,13.301,20.36,12,20.36z%20M12,16.36c-0.904,0-1.64,0.736-1.64,1.64s0.736,1.64,1.64,1.64%20s1.64-0.735,1.64-1.64S12.904,16.36,12,16.36z'/%3e%3crect%20style='fill:none;'%20width='32'%20height='32'/%3e%3c/svg%3e\",\n ys = \"data:image/png;base64,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\",\n re = /*#__PURE__*/function () {\n function re() {\n _classCallCheck(this, re);\n }\n return _createClass(re, null, [{\n key: \"hide\",\n value: function hide(e) {\n var t;\n (t = e.getElementsByClassName(re.CONTAINER_CLASS)[0].style).visibility || (t.visibility = \"hidden\");\n }\n }, {\n key: \"applyCustomStylesToElements\",\n value: function applyCustomStylesToElements(e, t, i) {\n Object.assign(e.style, i.container), Object.assign(t.style, i.avatar);\n }\n }, {\n key: \"applyCustomStyles\",\n value: function applyCustomStyles(e, t, i, n) {\n var r, o, a, l;\n if ((r = i[\"default\"]) != null && r.styles && re.applyCustomStylesToElements(e, t, i[\"default\"].styles), n === b.USER_ROLE) (o = i.user) != null && o.styles && re.applyCustomStylesToElements(e, t, i.user.styles);else {\n (a = i.ai) != null && a.styles && re.applyCustomStylesToElements(e, t, i.ai.styles);\n var c = (l = i[n]) == null ? void 0 : l.styles;\n c && re.applyCustomStylesToElements(e, t, c);\n }\n }\n }, {\n key: \"createAvatar\",\n value: function createAvatar(e, t) {\n var r, o, a, l, c;\n var i = document.createElement(\"img\");\n e === b.USER_ROLE ? i.src = ((r = t == null ? void 0 : t.user) == null ? void 0 : r.src) || ((o = t == null ? void 0 : t[\"default\"]) == null ? void 0 : o.src) || ys : i.src = ((a = t == null ? void 0 : t[e]) == null ? void 0 : a.src) || ((l = t == null ? void 0 : t.ai) == null ? void 0 : l.src) || ((c = t == null ? void 0 : t[\"default\"]) == null ? void 0 : c.src) || vs, i.classList.add(\"avatar\");\n var n = document.createElement(\"div\");\n return n.classList.add(re.CONTAINER_CLASS), n.appendChild(i), t && re.applyCustomStyles(n, i, t, e), n;\n }\n }, {\n key: \"getPosition\",\n value: function getPosition(e, t) {\n var _i2, _i3, _i4;\n var n, r, o, a, l, c;\n var i = (r = (n = t == null ? void 0 : t[e]) == null ? void 0 : n.styles) == null ? void 0 : r.position;\n return e !== b.USER_ROLE && ((_i2 = i) !== null && _i2 !== void 0 ? _i2 : i = (a = (o = t == null ? void 0 : t.ai) == null ? void 0 : o.styles) == null ? void 0 : a.position), (_i3 = i) !== null && _i3 !== void 0 ? _i3 : i = (c = (l = t == null ? void 0 : t[\"default\"]) == null ? void 0 : l.styles) == null ? void 0 : c.position, (_i4 = i) !== null && _i4 !== void 0 ? _i4 : i = e === b.USER_ROLE ? \"right\" : \"left\", i;\n }\n }, {\n key: \"add\",\n value: function add(e, t, i) {\n var n = typeof i == \"boolean\" ? void 0 : i,\n r = re.createAvatar(t, n),\n o = re.getPosition(t, n);\n r.classList.add(o === \"left\" ? \"left-item-position\" : \"right-item-position\"), e.insertAdjacentElement(o === \"left\" ? \"beforebegin\" : \"afterend\", r);\n }\n }]);\n }();\nre.CONTAINER_CLASS = \"avatar-container\";\nvar Yt = re;\nvar ye = /*#__PURE__*/function () {\n function ye() {\n _classCallCheck(this, ye);\n }\n return _createClass(ye, null, [{\n key: \"hide\",\n value: function hide(e) {\n var t;\n (t = e.getElementsByClassName(ye.NAME_CLASS)[0].style).visibility || (t.visibility = \"hidden\");\n }\n }, {\n key: \"getPosition\",\n value: function getPosition(e, t) {\n var _i5, _i6, _i7;\n var n, r, o;\n var i = (n = t == null ? void 0 : t[e]) == null ? void 0 : n.position;\n return e !== b.USER_ROLE && ((_i5 = i) !== null && _i5 !== void 0 ? _i5 : i = (r = t == null ? void 0 : t.ai) == null ? void 0 : r.position), (_i6 = i) !== null && _i6 !== void 0 ? _i6 : i = (o = t == null ? void 0 : t[\"default\"]) == null ? void 0 : o.position, (_i7 = i) !== null && _i7 !== void 0 ? _i7 : i = e === b.USER_ROLE ? \"right\" : \"left\", i;\n }\n }, {\n key: \"applyStyle\",\n value: function applyStyle(e, t, i) {\n var n, r, o, a;\n Object.assign(e.style, (n = i[\"default\"]) == null ? void 0 : n.style), t === b.USER_ROLE ? Object.assign(e.style, (r = i.user) == null ? void 0 : r.style) : (Object.assign(e.style, (o = i.ai) == null ? void 0 : o.style), Object.assign(e.style, (a = i[t]) == null ? void 0 : a.style));\n }\n }, {\n key: \"getNameText\",\n value: function getNameText(e, t) {\n var i, n, r, o, a, l;\n return e === b.USER_ROLE ? ((i = t.user) == null ? void 0 : i.text) || ((n = t[\"default\"]) == null ? void 0 : n.text) || \"User\" : e === b.AI_ROLE ? ((r = t.ai) == null ? void 0 : r.text) || ((o = t[\"default\"]) == null ? void 0 : o.text) || \"AI\" : ((a = t[e]) == null ? void 0 : a.text) || ((l = t[\"default\"]) == null ? void 0 : l.text) || e;\n }\n }, {\n key: \"createName\",\n value: function createName(e, t) {\n var i = document.createElement(\"div\");\n return i.classList.add(ye.NAME_CLASS), i.textContent = ye.getNameText(e, t), ye.applyStyle(i, e, t), i;\n }\n }, {\n key: \"add\",\n value: function add(e, t, i) {\n var n = typeof i == \"boolean\" ? {} : i,\n r = ye.createName(t, n),\n o = ye.getPosition(t, n);\n r.classList.add(o === \"left\" ? \"left-item-position\" : \"right-item-position\"), e.insertAdjacentElement(o === \"left\" ? \"beforebegin\" : \"afterend\", r);\n }\n }]);\n}();\nye.NAME_CLASS = \"name\";\nvar Qt = ye;\nvar ce = /*#__PURE__*/function () {\n function ce() {\n _classCallCheck(this, ce);\n }\n return _createClass(ce, null, [{\n key: \"getLastElementsByClass\",\n value: function getLastElementsByClass(e, t, i) {\n var _loop = function _loop() {\n var r = e[n];\n if (r.bubbleElement.classList.contains(t[0]) && !t.slice(1).find(function (a) {\n return !r.bubbleElement.classList.contains(a);\n })) if (i) {\n if (!i.find(function (l) {\n return r.bubbleElement.classList.contains(l);\n })) return {\n v: r\n };\n } else return {\n v: r\n };\n },\n _ret;\n for (var n = e.length - 1; n >= 0; n -= 1) {\n _ret = _loop();\n if (_ret) return _ret.v;\n }\n }\n }, {\n key: \"getLastMessage\",\n value: function getLastMessage(e, t, i) {\n for (var n = e.length - 1; n >= 0; n -= 1) if (e[n].role === t) if (i) {\n if (e[n][i]) return e[n];\n } else return e[n];\n }\n }, {\n key: \"getLastTextToElement\",\n value: function getLastTextToElement(e, t) {\n for (var i = e.length - 1; i >= 0; i -= 1) if (e[i][0] === t) return e[i];\n }\n // IMPORTANT: If the overwrite message does not contain a role property it will look for the last 'ai' role message\n // and if messages have custom roles, it will still look to update the last 'ai' role message\n // prettier-ignore\n }, {\n key: \"overwriteMessage\",\n value: function overwriteMessage(e, t, i, n, r, o) {\n var a = ce.getLastElementsByClass(t, [ce.getRoleClass(n), o], [\"loading-message-text\"]),\n l = ce.getLastMessage(e, n, r);\n return l && (l[r] = i), a;\n }\n }, {\n key: \"getRoleClass\",\n value: function getRoleClass(e) {\n return \"\".concat(e, \"-message\");\n }\n // makes sure the bubble has dimensions when there is no text\n }, {\n key: \"fillEmptyMessageElement\",\n value: function fillEmptyMessageElement(e, t) {\n t.trim().length === 0 && (e.classList.add(ce.EMPTY_MESSAGE_CLASS), e.innerHTML = '<div style=\"color:#00000000\">.</div>');\n }\n }, {\n key: \"unfillEmptyMessageElement\",\n value: function unfillEmptyMessageElement(e, t) {\n e.classList.contains(ce.EMPTY_MESSAGE_CLASS) && t.trim().length > 0 && e.replaceChildren();\n }\n }, {\n key: \"getLastMessageBubbleElement\",\n value: function getLastMessageBubbleElement(e) {\n var t, i, n;\n return Array.from(((n = (i = (t = ce.getLastMessageElement(e)) == null ? void 0 : t.children) == null ? void 0 : i[0]) == null ? void 0 : n.children) || []).find(function (r) {\n return r.classList.contains(\"message-bubble\");\n });\n }\n }, {\n key: \"getLastMessageElement\",\n value: function getLastMessageElement(e) {\n return e.children[e.children.length - 1];\n }\n }, {\n key: \"addRoleElements\",\n value: function addRoleElements(e, t, i, n) {\n i && Yt.add(e, t, i), n && Qt.add(e, t, n);\n }\n }, {\n key: \"hideRoleElements\",\n value: function hideRoleElements(e, t, i) {\n var n = e[e.length - 1].innerContainer;\n t && Yt.hide(n), i && Qt.hide(n);\n }\n }, {\n key: \"updateRefArr\",\n value: function updateRefArr(e, t, i) {\n i ? e.unshift(t) : e.push(t);\n }\n }]);\n}();\nce.AI_ROLE = \"ai\", ce.USER_ROLE = \"user\", ce.EMPTY_MESSAGE_CLASS = \"empty-message\";\nvar b = ce;\nvar ze = /*#__PURE__*/function () {\n function ze() {\n _classCallCheck(this, ze);\n }\n return _createClass(ze, null, [{\n key: \"mouseUp\",\n value: function mouseUp(e, t) {\n M.unsetAllCSSMouseStates(e, t), Object.assign(e.style, t[\"default\"]), Object.assign(e.style, t.hover);\n }\n }, {\n key: \"mouseDown\",\n value: function mouseDown(e, t) {\n Object.assign(e.style, t.click);\n }\n }, {\n key: \"mouseLeave\",\n value: function mouseLeave(e, t) {\n M.unsetAllCSSMouseStates(e, t), Object.assign(e.style, t[\"default\"]);\n }\n }, {\n key: \"mouseEnter\",\n value: function mouseEnter(e, t) {\n Object.assign(e.style, t.hover);\n }\n }, {\n key: \"add\",\n value: function add(e, t) {\n e.addEventListener(\"mouseenter\", ze.mouseEnter.bind(this, e, t)), e.addEventListener(\"mouseleave\", ze.mouseLeave.bind(this, e, t)), e.addEventListener(\"mousedown\", ze.mouseDown.bind(this, e, t)), e.addEventListener(\"mouseup\", ze.mouseUp.bind(this, e, t));\n }\n }]);\n}();\nvar Es = \"deep-chat-temporary-message\",\n xs = \"deep-chat-suggestion-button\",\n $i = {\n \"deep-chat-button\": {\n styles: {\n \"default\": {\n backgroundColor: \"white\",\n padding: \"5px\",\n paddingLeft: \"7px\",\n paddingRight: \"7px\",\n border: \"1px solid #c2c2c2\",\n borderRadius: \"6px\",\n cursor: \"pointer\"\n },\n hover: {\n backgroundColor: \"#fafafa\"\n },\n click: {\n backgroundColor: \"#f1f1f1\"\n }\n }\n }\n },\n Sn = Object.keys($i);\nvar Pe = /*#__PURE__*/function () {\n function Pe() {\n _classCallCheck(this, Pe);\n }\n return _createClass(Pe, null, [{\n key: \"applySuggestionEvent\",\n value: function applySuggestionEvent(e, t) {\n setTimeout(function () {\n t.addEventListener(\"click\", function () {\n var i, n;\n (n = e.submitUserMessage) == null || n.call(e, {\n text: ((i = t.textContent) == null ? void 0 : i.trim()) || \"\"\n });\n });\n });\n }\n }, {\n key: \"isElementTemporary\",\n value: function isElementTemporary(e) {\n var t;\n return e ? (t = e.bubbleElement.children[0]) == null ? void 0 : t.classList.contains(Es) : !1;\n }\n }, {\n key: \"doesElementContainDeepChatClass\",\n value: function doesElementContainDeepChatClass(e) {\n return Sn.find(function (t) {\n return e.classList.contains(t);\n });\n }\n }, {\n key: \"applyEvents\",\n value: function applyEvents(e, t) {\n var i = $i[t].events;\n Object.keys(i || []).forEach(function (n) {\n e.addEventListener(n, i == null ? void 0 : i[n]);\n });\n }\n }, {\n key: \"getProcessedStyles\",\n value: function getProcessedStyles(e, t, i) {\n var n = Array.from(t.classList).reduce(function (a, l) {\n var d;\n var c = (d = e[l]) == null ? void 0 : d.styles;\n return c && e[l].styles && a.push(c), a;\n }, []),\n r = $i[i].styles;\n if (r) {\n var a = JSON.parse(JSON.stringify(r));\n a[\"default\"] && M.overwriteDefaultWithAlreadyApplied(a, t), n.unshift(a);\n }\n var o = M.mergeStatefulStyles(n);\n return M.processStateful(o, {}, {});\n }\n }, {\n key: \"applyDeepChatUtilities\",\n value: function applyDeepChatUtilities(e, t, i) {\n Sn.forEach(function (r) {\n var o = i.getElementsByClassName(r);\n Array.from(o || []).forEach(function (a) {\n var l = Pe.getProcessedStyles(t, a, r);\n ee.applyStylesToElement(a, l), Pe.applyEvents(a, r);\n });\n });\n var n = i.getElementsByClassName(xs);\n Array.from(n).forEach(function (r) {\n return Pe.applySuggestionEvent(e, r);\n });\n }\n }]);\n}();\nvar ee = /*#__PURE__*/function () {\n function ee() {\n _classCallCheck(this, ee);\n }\n return _createClass(ee, null, [{\n key: \"applyStylesToElement\",\n value: function applyStylesToElement(e, t) {\n var i = M.processStateful(t, {}, {});\n ze.add(e, i), Object.assign(e.style, i[\"default\"]);\n }\n }, {\n key: \"applyEventsToElement\",\n value: function applyEventsToElement(e, t) {\n Object.keys(t).forEach(function (i) {\n var n = t[i];\n n && e.addEventListener(i, n);\n });\n }\n }, {\n key: \"applyClassUtilitiesToElement\",\n value: function applyClassUtilitiesToElement(e, t) {\n var i = t.events,\n n = t.styles;\n i && ee.applyEventsToElement(e, i), n && !Pe.doesElementContainDeepChatClass(e) && ee.applyStylesToElement(e, n);\n }\n }, {\n key: \"applyCustomClassUtilities\",\n value: function applyCustomClassUtilities(e, t) {\n Object.keys(e).forEach(function (i) {\n var n = t.getElementsByClassName(i);\n Array.from(n).forEach(function (r) {\n e[i] && ee.applyClassUtilitiesToElement(r, e[i]);\n });\n });\n }\n }, {\n key: \"apply\",\n value: function apply(e, t) {\n Pe.applyDeepChatUtilities(e, e.htmlClassUtilities, t), ee.applyCustomClassUtilities(e.htmlClassUtilities, t);\n }\n }, {\n key: \"traverseNodes\",\n value: function traverseNodes(e, t) {\n e.nodeType === Node.ELEMENT_NODE && t.push(e.outerHTML), e.childNodes.forEach(function (i) {\n ee.traverseNodes(i, t);\n });\n }\n }, {\n key: \"splitHTML\",\n value: function splitHTML(e) {\n var i = new DOMParser().parseFromString(e, \"text/html\"),\n n = [];\n return i.body.childNodes.forEach(function (r) {\n ee.traverseNodes(r, n);\n }), n;\n }\n }]);\n}();\nvar ut = /*#__PURE__*/function () {\n function ut() {\n _classCallCheck(this, ut);\n }\n return _createClass(ut, null, [{\n key: \"addElement\",\n value: function addElement(e, t) {\n e.elementRef.appendChild(t), e.elementRef.scrollTop = e.elementRef.scrollHeight;\n }\n }, {\n key: \"createElements\",\n value: function createElements(e, t, i, n) {\n var r = e.createMessageElementsOnOrientation(\"\", i, n);\n return r.bubbleElement.classList.add(\"html-message\"), r.bubbleElement.innerHTML = t, r;\n }\n }, {\n key: \"overwrite\",\n value: function overwrite(e, t, i, n) {\n var r = e.messages,\n o = b.overwriteMessage(r, n, t, i, \"html\", \"html-message\");\n return o && (o.bubbleElement.innerHTML = t, ee.apply(e, o.outerContainer), te.flagHTMLUpdateClass(o.bubbleElement)), o;\n }\n // prettier-ignore\n }, {\n key: \"add\",\n value: function add(e, t, i, n, r) {\n var o = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : !1;\n var l;\n if (r != null && r.status) {\n var c = this.overwrite(e, t, i, n);\n if (c) return c;\n r.status = !1;\n }\n var a = ut.createElements(e, t, i, o);\n return b.fillEmptyMessageElement(a.bubbleElement, t), ee.apply(e, a.outerContainer), te.flagHTMLUpdateClass(a.bubbleElement), e.applyCustomStyles(a, i, !1, (l = e.messageStyles) == null ? void 0 : l.html), o || ut.addElement(e, a.outerContainer), a;\n }\n }]);\n}();\nvar Gt;\nfunction Qn(s) {\n return Gt = Gt || document.createElement(\"textarea\"), Gt.innerHTML = \"&\" + s + \";\", Gt.value;\n}\nvar _s = Object.prototype.hasOwnProperty;\nfunction Ss(s, e) {\n return s ? _s.call(s, e) : !1;\n}\nfunction es(s) {\n var e = [].slice.call(arguments, 1);\n return e.forEach(function (t) {\n if (t) {\n if (_typeof(t) != \"object\") throw new TypeError(t + \"must be object\");\n Object.keys(t).forEach(function (i) {\n s[i] = t[i];\n });\n }\n }), s;\n}\nvar ws = /\\\\([\\\\!\"#$%&'()*+,.\\/:;<=>?@[\\]^_`{|}~-])/g;\nfunction At(s) {\n return s.indexOf(\"\\\\\") < 0 ? s : s.replace(ws, \"$1\");\n}\nfunction ts(s) {\n return !(s >= 55296 && s <= 57343 || s >= 64976 && s <= 65007 || (s & 65535) === 65535 || (s & 65535) === 65534 || s >= 0 && s <= 8 || s === 11 || s >= 14 && s <= 31 || s >= 127 && s <= 159 || s > 1114111);\n}\nfunction Ki(s) {\n if (s > 65535) {\n s -= 65536;\n var e = 55296 + (s >> 10),\n t = 56320 + (s & 1023);\n return String.fromCharCode(e, t);\n }\n return String.fromCharCode(s);\n}\nvar Ts = /&([a-z#][a-z0-9]{1,31});/gi,\n Cs = /^#((?:x[a-f0-9]{1,8}|[0-9]{1,8}))/i;\nfunction ks(s, e) {\n var t = 0,\n i = Qn(e);\n return e !== i ? i : e.charCodeAt(0) === 35 && Cs.test(e) && (t = e[1].toLowerCase() === \"x\" ? parseInt(e.slice(2), 16) : parseInt(e.slice(1), 10), ts(t)) ? Ki(t) : s;\n}\nfunction Ke(s) {\n return s.indexOf(\"&\") < 0 ? s : s.replace(Ts, ks);\n}\nvar As = /[&<>\"]/,\n Ms = /[&<>\"]/g,\n Rs = {\n \"&\": \"&\",\n \"<\": \"<\",\n \">\": \">\",\n '\"': \""\"\n };\nfunction Is(s) {\n return Rs[s];\n}\nfunction J(s) {\n return As.test(s) ? s.replace(Ms, Is) : s;\n}\nvar g = {};\ng.blockquote_open = function () {\n return \"<blockquote>\\n\";\n};\ng.blockquote_close = function (s, e) {\n return \"</blockquote>\" + Xe(s, e);\n};\ng.code = function (s, e) {\n return s[e].block ? \"<pre><code>\" + J(s[e].content) + \"</code></pre>\" + Xe(s, e) : \"<code>\" + J(s[e].content) + \"</code>\";\n};\ng.fence = function (s, e, t, i, n) {\n var r = s[e],\n o = \"\",\n a = t.langPrefix,\n l = \"\",\n c,\n d,\n h;\n if (r.params) {\n if (c = r.params.split(/\\s+/g), d = c.join(\" \"), Ss(n.rules.fence_custom, c[0])) return n.rules.fence_custom[c[0]](s, e, t, i, n);\n l = J(Ke(At(d))), o = ' class=\"' + a + l + '\"';\n }\n return t.highlight ? h = t.highlight.apply(t.highlight, [r.content].concat(c)) || J(r.content) : h = J(r.content), \"<pre><code\" + o + \">\" + h + \"</code></pre>\" + Xe(s, e);\n};\ng.fence_custom = {};\ng.heading_open = function (s, e) {\n return \"<h\" + s[e].hLevel + \">\";\n};\ng.heading_close = function (s, e) {\n return \"</h\" + s[e].hLevel + \">\\n\";\n};\ng.hr = function (s, e, t) {\n return (t.xhtmlOut ? \"<hr />\" : \"<hr>\") + Xe(s, e);\n};\ng.bullet_list_open = function () {\n return \"<ul>\\n\";\n};\ng.bullet_list_close = function (s, e) {\n return \"</ul>\" + Xe(s, e);\n};\ng.list_item_open = function () {\n return \"<li>\";\n};\ng.list_item_close = function () {\n return \"</li>\\n\";\n};\ng.ordered_list_open = function (s, e) {\n var t = s[e],\n i = t.order > 1 ? ' start=\"' + t.order + '\"' : \"\";\n return \"<ol\" + i + \">\\n\";\n};\ng.ordered_list_close = function (s, e) {\n return \"</ol>\" + Xe(s, e);\n};\ng.paragraph_open = function (s, e) {\n return s[e].tight ? \"\" : \"<p>\";\n};\ng.paragraph_close = function (s, e) {\n var t = !(s[e].tight && e && s[e - 1].type === \"inline\" && !s[e - 1].content);\n return (s[e].tight ? \"\" : \"</p>\") + (t ? Xe(s, e) : \"\");\n};\ng.link_open = function (s, e, t) {\n var i = s[e].title ? ' title=\"' + J(Ke(s[e].title)) + '\"' : \"\",\n n = t.linkTarget ? ' target=\"' + t.linkTarget + '\"' : \"\";\n return '<a href=\"' + J(s[e].href) + '\"' + i + n + \">\";\n};\ng.link_close = function () {\n return \"</a>\";\n};\ng.image = function (s, e, t) {\n var i = ' src=\"' + J(s[e].src) + '\"',\n n = s[e].title ? ' title=\"' + J(Ke(s[e].title)) + '\"' : \"\",\n r = ' alt=\"' + (s[e].alt ? J(Ke(At(s[e].alt))) : \"\") + '\"',\n o = t.xhtmlOut ? \" /\" : \"\";\n return \"<img\" + i + r + n + o + \">\";\n};\ng.table_open = function () {\n return \"<table>\\n\";\n};\ng.table_close = function () {\n return \"</table>\\n\";\n};\ng.thead_open = function () {\n return \"<thead>\\n\";\n};\ng.thead_close = function () {\n return \"</thead>\\n\";\n};\ng.tbody_open = function () {\n return \"<tbody>\\n\";\n};\ng.tbody_close = function () {\n return \"</tbody>\\n\";\n};\ng.tr_open = function () {\n return \"<tr>\";\n};\ng.tr_close = function () {\n return \"</tr>\\n\";\n};\ng.th_open = function (s, e) {\n var t = s[e];\n return \"<th\" + (t.align ? ' style=\"text-align:' + t.align + '\"' : \"\") + \">\";\n};\ng.th_close = function () {\n return \"</th>\";\n};\ng.td_open = function (s, e) {\n var t = s[e];\n return \"<td\" + (t.align ? ' style=\"text-align:' + t.align + '\"' : \"\") + \">\";\n};\ng.td_close = function () {\n return \"</td>\";\n};\ng.strong_open = function () {\n return \"<strong>\";\n};\ng.strong_close = function () {\n return \"</strong>\";\n};\ng.em_open = function () {\n return \"<em>\";\n};\ng.em_close = function () {\n return \"</em>\";\n};\ng.del_open = function () {\n return \"<del>\";\n};\ng.del_close = function () {\n return \"</del>\";\n};\ng.ins_open = function () {\n return \"<ins>\";\n};\ng.ins_close = function () {\n return \"</ins>\";\n};\ng.mark_open = function () {\n return \"<mark>\";\n};\ng.mark_close = function () {\n return \"</mark>\";\n};\ng.sub = function (s, e) {\n return \"<sub>\" + J(s[e].content) + \"</sub>\";\n};\ng.sup = function (s, e) {\n return \"<sup>\" + J(s[e].content) + \"</sup>\";\n};\ng.hardbreak = function (s, e, t) {\n return t.xhtmlOut ? \"<br />\\n\" : \"<br>\\n\";\n};\ng.softbreak = function (s, e, t) {\n return t.breaks ? t.xhtmlOut ? \"<br />\\n\" : \"<br>\\n\" : \"\\n\";\n};\ng.text = function (s, e) {\n return J(s[e].content);\n};\ng.htmlblock = function (s, e) {\n return s[e].content;\n};\ng.htmltag = function (s, e) {\n return s[e].content;\n};\ng.abbr_open = function (s, e) {\n return '<abbr title=\"' + J(Ke(s[e].title)) + '\">';\n};\ng.abbr_close = function () {\n return \"</abbr>\";\n};\ng.footnote_ref = function (s, e) {\n var t = Number(s[e].id + 1).toString(),\n i = \"fnref\" + t;\n return s[e].subId > 0 && (i += \":\" + s[e].subId), '<sup class=\"footnote-ref\"><a href=\"#fn' + t + '\" id=\"' + i + '\">[' + t + \"]</a></sup>\";\n};\ng.footnote_block_open = function (s, e, t) {\n var i = t.xhtmlOut ? \"<hr class=\\\"footnotes-sep\\\" />\\n\" : \"<hr class=\\\"footnotes-sep\\\">\\n\";\n return i + \"<section class=\\\"footnotes\\\">\\n<ol class=\\\"footnotes-list\\\">\\n\";\n};\ng.footnote_block_close = function () {\n return \"</ol>\\n</section>\\n\";\n};\ng.footnote_open = function (s, e) {\n var t = Number(s[e].id + 1).toString();\n return '<li id=\"fn' + t + '\" class=\"footnote-item\">';\n};\ng.footnote_close = function () {\n return \"</li>\\n\";\n};\ng.footnote_anchor = function (s, e) {\n var t = Number(s[e].id + 1).toString(),\n i = \"fnref\" + t;\n return s[e].subId > 0 && (i += \":\" + s[e].subId), ' <a href=\"#' + i + '\" class=\"footnote-backref\">↩</a>';\n};\ng.dl_open = function () {\n return \"<dl>\\n\";\n};\ng.dt_open = function () {\n return \"<dt>\";\n};\ng.dd_open = function () {\n return \"<dd>\";\n};\ng.dl_close = function () {\n return \"</dl>\\n\";\n};\ng.dt_close = function () {\n return \"</dt>\\n\";\n};\ng.dd_close = function () {\n return \"</dd>\\n\";\n};\nfunction is(s, e) {\n return ++e >= s.length - 2 ? e : s[e].type === \"paragraph_open\" && s[e].tight && s[e + 1].type === \"inline\" && s[e + 1].content.length === 0 && s[e + 2].type === \"paragraph_close\" && s[e + 2].tight ? is(s, e + 2) : e;\n}\nvar Xe = g.getBreak = function (e, t) {\n return t = is(e, t), t < e.length && e[t].type === \"list_item_close\" ? \"\" : \"\\n\";\n};\nfunction dn() {\n this.rules = es({}, g), this.getBreak = g.getBreak;\n}\ndn.prototype.renderInline = function (s, e, t) {\n for (var i = this.rules, n = s.length, r = 0, o = \"\"; n--;) o += i[s[r].type](s, r++, e, t, this);\n return o;\n};\ndn.prototype.render = function (s, e, t) {\n for (var i = this.rules, n = s.length, r = -1, o = \"\"; ++r < n;) s[r].type === \"inline\" ? o += this.renderInline(s[r].children, e, t) : o += i[s[r].type](s, r, e, t, this);\n return o;\n};\nfunction ne() {\n this.__rules__ = [], this.__cache__ = null;\n}\nne.prototype.__find__ = function (s) {\n for (var e = this.__rules__.length, t = -1; e--;) if (this.__rules__[++t].name === s) return t;\n return -1;\n};\nne.prototype.__compile__ = function () {\n var s = this,\n e = [\"\"];\n s.__rules__.forEach(function (t) {\n t.enabled && t.alt.forEach(function (i) {\n e.indexOf(i) < 0 && e.push(i);\n });\n }), s.__cache__ = {}, e.forEach(function (t) {\n s.__cache__[t] = [], s.__rules__.forEach(function (i) {\n i.enabled && (t && i.alt.indexOf(t) < 0 || s.__cache__[t].push(i.fn));\n });\n });\n};\nne.prototype.at = function (s, e, t) {\n var i = this.__find__(s),\n n = t || {};\n if (i === -1) throw new Error(\"Parser rule not found: \" + s);\n this.__rules__[i].fn = e, this.__rules__[i].alt = n.alt || [], this.__cache__ = null;\n};\nne.prototype.before = function (s, e, t, i) {\n var n = this.__find__(s),\n r = i || {};\n if (n === -1) throw new Error(\"Parser rule not found: \" + s);\n this.__rules__.splice(n, 0, {\n name: e,\n enabled: !0,\n fn: t,\n alt: r.alt || []\n }), this.__cache__ = null;\n};\nne.prototype.after = function (s, e, t, i) {\n var n = this.__find__(s),\n r = i || {};\n if (n === -1) throw new Error(\"Parser rule not found: \" + s);\n this.__rules__.splice(n + 1, 0, {\n name: e,\n enabled: !0,\n fn: t,\n alt: r.alt || []\n }), this.__cache__ = null;\n};\nne.prototype.push = function (s, e, t) {\n var i = t || {};\n this.__rules__.push({\n name: s,\n enabled: !0,\n fn: e,\n alt: i.alt || []\n }), this.__cache__ = null;\n};\nne.prototype.enable = function (s, e) {\n s = Array.isArray(s) ? s : [s], e && this.__rules__.forEach(function (t) {\n t.enabled = !1;\n }), s.forEach(function (t) {\n var i = this.__find__(t);\n if (i < 0) throw new Error(\"Rules manager: invalid rule name \" + t);\n this.__rules__[i].enabled = !0;\n }, this), this.__cache__ = null;\n};\nne.prototype.disable = function (s) {\n s = Array.isArray(s) ? s : [s], s.forEach(function (e) {\n var t = this.__find__(e);\n if (t < 0) throw new Error(\"Rules manager: invalid rule name \" + e);\n this.__rules__[t].enabled = !1;\n }, this), this.__cache__ = null;\n};\nne.prototype.getRules = function (s) {\n return this.__cache__ === null && this.__compile__(), this.__cache__[s] || [];\n};\nfunction Ls(s) {\n s.inlineMode ? s.tokens.push({\n type: \"inline\",\n content: s.src.replace(/\\n/g, \" \").trim(),\n level: 0,\n lines: [0, 1],\n children: []\n }) : s.block.parse(s.src, s.options, s.env, s.tokens);\n}\nfunction Ze(s, e, t, i, n) {\n this.src = s, this.env = i, this.options = t, this.parser = e, this.tokens = n, this.pos = 0, this.posMax = this.src.length, this.level = 0, this.pending = \"\", this.pendingLevel = 0, this.cache = [], this.isInLabel = !1, this.linkLevel = 0, this.linkContent = \"\", this.labelUnmatchedScopes = 0;\n}\nZe.prototype.pushPending = function () {\n this.tokens.push({\n type: \"text\",\n content: this.pending,\n level: this.pendingLevel\n }), this.pending = \"\";\n};\nZe.prototype.push = function (s) {\n this.pending && this.pushPending(), this.tokens.push(s), this.pendingLevel = this.level;\n};\nZe.prototype.cacheSet = function (s, e) {\n for (var t = this.cache.length; t <= s; t++) this.cache.push(0);\n this.cache[s] = e;\n};\nZe.prototype.cacheGet = function (s) {\n return s < this.cache.length ? this.cache[s] : 0;\n};\nfunction Mt(s, e) {\n var t,\n i,\n n,\n r = -1,\n o = s.posMax,\n a = s.pos,\n l = s.isInLabel;\n if (s.isInLabel) return -1;\n if (s.labelUnmatchedScopes) return s.labelUnmatchedScopes--, -1;\n for (s.pos = e + 1, s.isInLabel = !0, t = 1; s.pos < o;) {\n if (n = s.src.charCodeAt(s.pos), n === 91) t++;else if (n === 93 && (t--, t === 0)) {\n i = !0;\n break;\n }\n s.parser.skipToken(s);\n }\n return i ? (r = s.pos, s.labelUnmatchedScopes = 0) : s.labelUnmatchedScopes = t - 1, s.pos = a, s.isInLabel = l, r;\n}\nfunction Ps(s, e, t, i) {\n var n, r, o, a, l, c;\n if (s.charCodeAt(0) !== 42 || s.charCodeAt(1) !== 91 || s.indexOf(\"]:\") === -1 || (n = new Ze(s, e, t, i, []), r = Mt(n, 1), r < 0 || s.charCodeAt(r + 1) !== 58)) return -1;\n for (a = n.posMax, o = r + 2; o < a && n.src.charCodeAt(o) !== 10; o++);\n return l = s.slice(2, r), c = s.slice(r + 2, o).trim(), c.length === 0 ? -1 : (i.abbreviations || (i.abbreviations = {}), _typeof(i.abbreviations[\":\" + l]) > \"u\" && (i.abbreviations[\":\" + l] = c), o);\n}\nfunction Os(s) {\n var e = s.tokens,\n t,\n i,\n n,\n r;\n if (!s.inlineMode) {\n for (t = 1, i = e.length - 1; t < i; t++) if (e[t - 1].type === \"paragraph_open\" && e[t].type === \"inline\" && e[t + 1].type === \"paragraph_close\") {\n for (n = e[t].content; n.length && (r = Ps(n, s.inline, s.options, s.env), !(r < 0));) n = n.slice(r).trim();\n e[t].content = n, n.length || (e[t - 1].tight = !0, e[t + 1].tight = !0);\n }\n }\n}\nfunction Ji(s) {\n var e = Ke(s);\n try {\n e = decodeURI(e);\n } catch (_unused2) {}\n return encodeURI(e);\n}\nfunction ns(s, e) {\n var t,\n i,\n n,\n r = e,\n o = s.posMax;\n if (s.src.charCodeAt(e) === 60) {\n for (e++; e < o;) {\n if (t = s.src.charCodeAt(e), t === 10) return !1;\n if (t === 62) return n = Ji(At(s.src.slice(r + 1, e))), s.parser.validateLink(n) ? (s.pos = e + 1, s.linkContent = n, !0) : !1;\n if (t === 92 && e + 1 < o) {\n e += 2;\n continue;\n }\n e++;\n }\n return !1;\n }\n for (i = 0; e < o && (t = s.src.charCodeAt(e), !(t === 32 || t < 32 || t === 127));) {\n if (t === 92 && e + 1 < o) {\n e += 2;\n continue;\n }\n if (t === 40 && (i++, i > 1) || t === 41 && (i--, i < 0)) break;\n e++;\n }\n return r === e || (n = At(s.src.slice(r, e)), !s.parser.validateLink(n)) ? !1 : (s.linkContent = n, s.pos = e, !0);\n}\nfunction ss(s, e) {\n var t,\n i = e,\n n = s.posMax,\n r = s.src.charCodeAt(e);\n if (r !== 34 && r !== 39 && r !== 40) return !1;\n for (e++, r === 40 && (r = 41); e < n;) {\n if (t = s.src.charCodeAt(e), t === r) return s.pos = e + 1, s.linkContent = At(s.src.slice(i + 1, e)), !0;\n if (t === 92 && e + 1 < n) {\n e += 2;\n continue;\n }\n e++;\n }\n return !1;\n}\nfunction rs(s) {\n return s.trim().replace(/\\s+/g, \" \").toUpperCase();\n}\nfunction Ns(s, e, t, i) {\n var n, r, o, a, l, c, d, h, u;\n if (s.charCodeAt(0) !== 91 || s.indexOf(\"]:\") === -1 || (n = new Ze(s, e, t, i, []), r = Mt(n, 0), r < 0 || s.charCodeAt(r + 1) !== 58)) return -1;\n for (a = n.posMax, o = r + 2; o < a && (l = n.src.charCodeAt(o), !(l !== 32 && l !== 10)); o++);\n if (!ns(n, o)) return -1;\n for (d = n.linkContent, o = n.pos, c = o, o = o + 1; o < a && (l = n.src.charCodeAt(o), !(l !== 32 && l !== 10)); o++);\n for (o < a && c !== o && ss(n, o) ? (h = n.linkContent, o = n.pos) : (h = \"\", o = c); o < a && n.src.charCodeAt(o) === 32;) o++;\n return o < a && n.src.charCodeAt(o) !== 10 ? -1 : (u = rs(s.slice(1, r)), _typeof(i.references[u]) > \"u\" && (i.references[u] = {\n title: h,\n href: d\n }), o);\n}\nfunction Ds(s) {\n var e = s.tokens,\n t,\n i,\n n,\n r;\n if (s.env.references = s.env.references || {}, !s.inlineMode) {\n for (t = 1, i = e.length - 1; t < i; t++) if (e[t].type === \"inline\" && e[t - 1].type === \"paragraph_open\" && e[t + 1].type === \"paragraph_close\") {\n for (n = e[t].content; n.length && (r = Ns(n, s.inline, s.options, s.env), !(r < 0));) n = n.slice(r).trim();\n e[t].content = n, n.length || (e[t - 1].tight = !0, e[t + 1].tight = !0);\n }\n }\n}\nfunction Fs(s) {\n var e = s.tokens,\n t,\n i,\n n;\n for (i = 0, n = e.length; i < n; i++) t = e[i], t.type === \"inline\" && s.inline.parse(t.content, s.options, s.env, t.children);\n}\nfunction Bs(s) {\n var e,\n t,\n i,\n n,\n r,\n o,\n a,\n l,\n c,\n d = 0,\n h = !1,\n u = {};\n if (s.env.footnotes && (s.tokens = s.tokens.filter(function (f) {\n return f.type === \"footnote_reference_open\" ? (h = !0, l = [], c = f.label, !1) : f.type === \"footnote_reference_close\" ? (h = !1, u[\":\" + c] = l, !1) : (h && l.push(f), !h);\n }), !!s.env.footnotes.list)) {\n for (o = s.env.footnotes.list, s.tokens.push({\n type: \"footnote_block_open\",\n level: d++\n }), e = 0, t = o.length; e < t; e++) {\n for (s.tokens.push({\n type: \"footnote_open\",\n id: e,\n level: d++\n }), o[e].tokens ? (a = [], a.push({\n type: \"paragraph_open\",\n tight: !1,\n level: d++\n }), a.push({\n type: \"inline\",\n content: \"\",\n level: d,\n children: o[e].tokens\n }), a.push({\n type: \"paragraph_close\",\n tight: !1,\n level: --d\n })) : o[e].label && (a = u[\":\" + o[e].label]), s.tokens = s.tokens.concat(a), s.tokens[s.tokens.length - 1].type === \"paragraph_close\" ? r = s.tokens.pop() : r = null, n = o[e].count > 0 ? o[e].count : 1, i = 0; i < n; i++) s.tokens.push({\n type: \"footnote_anchor\",\n id: e,\n subId: i,\n level: d\n });\n r && s.tokens.push(r), s.tokens.push({\n type: \"footnote_close\",\n level: --d\n });\n }\n s.tokens.push({\n type: \"footnote_block_close\",\n level: --d\n });\n }\n}\nvar wn = \" \\n()[]'\\\".,!?-\";\nfunction Fi(s) {\n return s.replace(/([-()\\[\\]{}+?*.$\\^|,:#<!\\\\])/g, \"\\\\$1\");\n}\nfunction js(s) {\n var e,\n t,\n i,\n n,\n r,\n o,\n a,\n l,\n c,\n d,\n h,\n u,\n f = s.tokens;\n if (s.env.abbreviations) {\n for (s.env.abbrRegExp || (u = \"(^|[\" + wn.split(\"\").map(Fi).join(\"\") + \"])(\" + Object.keys(s.env.abbreviations).map(function (m) {\n return m.substr(1);\n }).sort(function (m, p) {\n return p.length - m.length;\n }).map(Fi).join(\"|\") + \")($|[\" + wn.split(\"\").map(Fi).join(\"\") + \"])\", s.env.abbrRegExp = new RegExp(u, \"g\")), d = s.env.abbrRegExp, t = 0, i = f.length; t < i; t++) if (f[t].type === \"inline\") {\n for (n = f[t].children, e = n.length - 1; e >= 0; e--) if (r = n[e], r.type === \"text\") {\n for (l = 0, o = r.content, d.lastIndex = 0, c = r.level, a = []; h = d.exec(o);) d.lastIndex > l && a.push({\n type: \"text\",\n content: o.slice(l, h.index + h[1].length),\n level: c\n }), a.push({\n type: \"abbr_open\",\n title: s.env.abbreviations[\":\" + h[2]],\n level: c++\n }), a.push({\n type: \"text\",\n content: h[2],\n level: c\n }), a.push({\n type: \"abbr_close\",\n level: --c\n }), l = d.lastIndex - h[3].length;\n a.length && (l < o.length && a.push({\n type: \"text\",\n content: o.slice(l),\n level: c\n }), f[t].children = n = [].concat(n.slice(0, e), a, n.slice(e + 1)));\n }\n }\n }\n}\nvar Us = /\\+-|\\.\\.|\\?\\?\\?\\?|!!!!|,,|--/,\n Hs = /\\((c|tm|r|p)\\)/ig,\n qs = {\n c: \"©\",\n r: \"®\",\n p: \"§\",\n tm: \"™\"\n };\nfunction zs(s) {\n return s.indexOf(\"(\") < 0 ? s : s.replace(Hs, function (e, t) {\n return qs[t.toLowerCase()];\n });\n}\nfunction Vs(s) {\n var e, t, i, n, r;\n if (s.options.typographer) {\n for (r = s.tokens.length - 1; r >= 0; r--) if (s.tokens[r].type === \"inline\") for (n = s.tokens[r].children, e = n.length - 1; e >= 0; e--) t = n[e], t.type === \"text\" && (i = t.content, i = zs(i), Us.test(i) && (i = i.replace(/\\+-/g, \"±\").replace(/\\.{2,}/g, \"…\").replace(/([?!])…/g, \"$1..\").replace(/([?!]){4,}/g, \"$1$1$1\").replace(/,{2,}/g, \",\").replace(/(^|[^-])---([^-]|$)/mg, \"$1—$2\").replace(/(^|\\s)--(\\s|$)/mg, \"$1–$2\").replace(/(^|[^-\\s])--([^-\\s]|$)/mg, \"$1–$2\")), t.content = i);\n }\n}\nvar Gs = /['\"]/,\n Tn = /['\"]/g,\n Ws = /[-\\s()\\[\\]]/,\n Cn = \"’\";\nfunction kn(s, e) {\n return e < 0 || e >= s.length ? !1 : !Ws.test(s[e]);\n}\nfunction it(s, e, t) {\n return s.substr(0, e) + t + s.substr(e + 1);\n}\nfunction $s(s) {\n var e, t, i, n, r, o, a, l, c, d, h, u, f, m, p, y, x;\n if (s.options.typographer) {\n for (x = [], p = s.tokens.length - 1; p >= 0; p--) if (s.tokens[p].type === \"inline\") {\n for (y = s.tokens[p].children, x.length = 0, e = 0; e < y.length; e++) if (t = y[e], !(t.type !== \"text\" || Gs.test(t.text))) {\n for (a = y[e].level, f = x.length - 1; f >= 0 && !(x[f].level <= a); f--);\n x.length = f + 1, i = t.content, r = 0, o = i.length;\n e: for (; r < o && (Tn.lastIndex = r, n = Tn.exec(i), !!n);) {\n if (l = !kn(i, n.index - 1), r = n.index + 1, m = n[0] === \"'\", c = !kn(i, r), !c && !l) {\n m && (t.content = it(t.content, n.index, Cn));\n continue;\n }\n if (h = !c, u = !l, u) {\n for (f = x.length - 1; f >= 0 && (d = x[f], !(x[f].level < a)); f--) if (d.single === m && x[f].level === a) {\n d = x[f], m ? (y[d.token].content = it(y[d.token].content, d.pos, s.options.quotes[2]), t.content = it(t.content, n.index, s.options.quotes[3])) : (y[d.token].content = it(y[d.token].content, d.pos, s.options.quotes[0]), t.content = it(t.content, n.index, s.options.quotes[1])), x.length = f;\n continue e;\n }\n }\n h ? x.push({\n token: e,\n pos: n.index,\n single: m,\n level: a\n }) : u && m && (t.content = it(t.content, n.index, Cn));\n }\n }\n }\n }\n}\nvar Bi = [[\"block\", Ls], [\"abbr\", Os], [\"references\", Ds], [\"inline\", Fs], [\"footnote_tail\", Bs], [\"abbr2\", js], [\"replacements\", Vs], [\"smartquotes\", $s]];\nfunction os() {\n this.options = {}, this.ruler = new ne();\n for (var s = 0; s < Bi.length; s++) this.ruler.push(Bi[s][0], Bi[s][1]);\n}\nos.prototype.process = function (s) {\n var e, t, i;\n for (i = this.ruler.getRules(\"\"), e = 0, t = i.length; e < t; e++) i[e](s);\n};\nfunction Ye(s, e, t, i, n) {\n var r, o, a, l, c, d, h;\n for (this.src = s, this.parser = e, this.options = t, this.env = i, this.tokens = n, this.bMarks = [], this.eMarks = [], this.tShift = [], this.blkIndent = 0, this.line = 0, this.lineMax = 0, this.tight = !1, this.parentType = \"root\", this.ddIndent = -1, this.level = 0, this.result = \"\", o = this.src, d = 0, h = !1, a = l = d = 0, c = o.length; l < c; l++) {\n if (r = o.charCodeAt(l), !h) if (r === 32) {\n d++;\n continue;\n } else h = !0;\n (r === 10 || l === c - 1) && (r !== 10 && l++, this.bMarks.push(a), this.eMarks.push(l), this.tShift.push(d), h = !1, d = 0, a = l + 1);\n }\n this.bMarks.push(o.length), this.eMarks.push(o.length), this.tShift.push(0), this.lineMax = this.bMarks.length - 1;\n}\nYe.prototype.isEmpty = function (e) {\n return this.bMarks[e] + this.tShift[e] >= this.eMarks[e];\n};\nYe.prototype.skipEmptyLines = function (e) {\n for (var t = this.lineMax; e < t && !(this.bMarks[e] + this.tShift[e] < this.eMarks[e]); e++);\n return e;\n};\nYe.prototype.skipSpaces = function (e) {\n for (var t = this.src.length; e < t && this.src.charCodeAt(e) === 32; e++);\n return e;\n};\nYe.prototype.skipChars = function (e, t) {\n for (var i = this.src.length; e < i && this.src.charCodeAt(e) === t; e++);\n return e;\n};\nYe.prototype.skipCharsBack = function (e, t, i) {\n if (e <= i) return e;\n for (; e > i;) if (t !== this.src.charCodeAt(--e)) return e + 1;\n return e;\n};\nYe.prototype.getLines = function (e, t, i, n) {\n var r,\n o,\n a,\n l,\n c,\n d = e;\n if (e >= t) return \"\";\n if (d + 1 === t) return o = this.bMarks[d] + Math.min(this.tShift[d], i), a = n ? this.eMarks[d] + 1 : this.eMarks[d], this.src.slice(o, a);\n for (l = new Array(t - e), r = 0; d < t; d++, r++) c = this.tShift[d], c > i && (c = i), c < 0 && (c = 0), o = this.bMarks[d] + c, d + 1 < t || n ? a = this.eMarks[d] + 1 : a = this.eMarks[d], l[r] = this.src.slice(o, a);\n return l.join(\"\");\n};\nfunction Ks(s, e, t) {\n var i, n;\n if (s.tShift[e] - s.blkIndent < 4) return !1;\n for (n = i = e + 1; i < t;) {\n if (s.isEmpty(i)) {\n i++;\n continue;\n }\n if (s.tShift[i] - s.blkIndent >= 4) {\n i++, n = i;\n continue;\n }\n break;\n }\n return s.line = i, s.tokens.push({\n type: \"code\",\n content: s.getLines(e, n, 4 + s.blkIndent, !0),\n block: !0,\n lines: [e, s.line],\n level: s.level\n }), !0;\n}\nfunction Js(s, e, t, i) {\n var n,\n r,\n o,\n a,\n l,\n c = !1,\n d = s.bMarks[e] + s.tShift[e],\n h = s.eMarks[e];\n if (d + 3 > h || (n = s.src.charCodeAt(d), n !== 126 && n !== 96) || (l = d, d = s.skipChars(d, n), r = d - l, r < 3) || (o = s.src.slice(d, h).trim(), o.indexOf(\"`\") >= 0)) return !1;\n if (i) return !0;\n for (a = e; a++, !(a >= t || (d = l = s.bMarks[a] + s.tShift[a], h = s.eMarks[a], d < h && s.tShift[a] < s.blkIndent));) if (s.src.charCodeAt(d) === n && !(s.tShift[a] - s.blkIndent >= 4) && (d = s.skipChars(d, n), !(d - l < r) && (d = s.skipSpaces(d), !(d < h)))) {\n c = !0;\n break;\n }\n return r = s.tShift[e], s.line = a + (c ? 1 : 0), s.tokens.push({\n type: \"fence\",\n params: o,\n content: s.getLines(e + 1, a, r, !0),\n lines: [e, s.line],\n level: s.level\n }), !0;\n}\nfunction Xs(s, e, t, i) {\n var n,\n r,\n o,\n a,\n l,\n c,\n d,\n h,\n u,\n f,\n m,\n p = s.bMarks[e] + s.tShift[e],\n y = s.eMarks[e];\n if (p > y || s.src.charCodeAt(p++) !== 62 || s.level >= s.options.maxNesting) return !1;\n if (i) return !0;\n for (s.src.charCodeAt(p) === 32 && p++, l = s.blkIndent, s.blkIndent = 0, a = [s.bMarks[e]], s.bMarks[e] = p, p = p < y ? s.skipSpaces(p) : p, r = p >= y, o = [s.tShift[e]], s.tShift[e] = p - s.bMarks[e], h = s.parser.ruler.getRules(\"blockquote\"), n = e + 1; n < t && (p = s.bMarks[n] + s.tShift[n], y = s.eMarks[n], !(p >= y)); n++) {\n if (s.src.charCodeAt(p++) === 62) {\n s.src.charCodeAt(p) === 32 && p++, a.push(s.bMarks[n]), s.bMarks[n] = p, p = p < y ? s.skipSpaces(p) : p, r = p >= y, o.push(s.tShift[n]), s.tShift[n] = p - s.bMarks[n];\n continue;\n }\n if (r) break;\n for (m = !1, u = 0, f = h.length; u < f; u++) if (h[u](s, n, t, !0)) {\n m = !0;\n break;\n }\n if (m) break;\n a.push(s.bMarks[n]), o.push(s.tShift[n]), s.tShift[n] = -1337;\n }\n for (c = s.parentType, s.parentType = \"blockquote\", s.tokens.push({\n type: \"blockquote_open\",\n lines: d = [e, 0],\n level: s.level++\n }), s.parser.tokenize(s, e, n), s.tokens.push({\n type: \"blockquote_close\",\n level: --s.level\n }), s.parentType = c, d[1] = s.line, u = 0; u < o.length; u++) s.bMarks[u + e] = a[u], s.tShift[u + e] = o[u];\n return s.blkIndent = l, !0;\n}\nfunction Zs(s, e, t, i) {\n var n,\n r,\n o,\n a = s.bMarks[e],\n l = s.eMarks[e];\n if (a += s.tShift[e], a > l || (n = s.src.charCodeAt(a++), n !== 42 && n !== 45 && n !== 95)) return !1;\n for (r = 1; a < l;) {\n if (o = s.src.charCodeAt(a++), o !== n && o !== 32) return !1;\n o === n && r++;\n }\n return r < 3 ? !1 : (i || (s.line = e + 1, s.tokens.push({\n type: \"hr\",\n lines: [e, s.line],\n level: s.level\n })), !0);\n}\nfunction An(s, e) {\n var t, i, n;\n return i = s.bMarks[e] + s.tShift[e], n = s.eMarks[e], i >= n || (t = s.src.charCodeAt(i++), t !== 42 && t !== 45 && t !== 43) || i < n && s.src.charCodeAt(i) !== 32 ? -1 : i;\n}\nfunction Mn(s, e) {\n var t,\n i = s.bMarks[e] + s.tShift[e],\n n = s.eMarks[e];\n if (i + 1 >= n || (t = s.src.charCodeAt(i++), t < 48 || t > 57)) return -1;\n for (;;) {\n if (i >= n) return -1;\n if (t = s.src.charCodeAt(i++), !(t >= 48 && t <= 57)) {\n if (t === 41 || t === 46) break;\n return -1;\n }\n }\n return i < n && s.src.charCodeAt(i) !== 32 ? -1 : i;\n}\nfunction Ys(s, e) {\n var t,\n i,\n n = s.level + 2;\n for (t = e + 2, i = s.tokens.length - 2; t < i; t++) s.tokens[t].level === n && s.tokens[t].type === \"paragraph_open\" && (s.tokens[t + 2].tight = !0, s.tokens[t].tight = !0, t += 2);\n}\nfunction Qs(s, e, t, i) {\n var n,\n r,\n o,\n a,\n l,\n c,\n d,\n h,\n u,\n f,\n m,\n p,\n y,\n x,\n j,\n V,\n Ae,\n R,\n X = !0,\n Z,\n D,\n Ne,\n gt;\n if ((h = Mn(s, e)) >= 0) y = !0;else if ((h = An(s, e)) >= 0) y = !1;else return !1;\n if (s.level >= s.options.maxNesting) return !1;\n if (p = s.src.charCodeAt(h - 1), i) return !0;\n for (j = s.tokens.length, y ? (d = s.bMarks[e] + s.tShift[e], m = Number(s.src.substr(d, h - d - 1)), s.tokens.push({\n type: \"ordered_list_open\",\n order: m,\n lines: Ae = [e, 0],\n level: s.level++\n })) : s.tokens.push({\n type: \"bullet_list_open\",\n lines: Ae = [e, 0],\n level: s.level++\n }), n = e, V = !1, Z = s.parser.ruler.getRules(\"list\"); n < t && (x = s.skipSpaces(h), u = s.eMarks[n], x >= u ? f = 1 : f = x - h, f > 4 && (f = 1), f < 1 && (f = 1), r = h - s.bMarks[n] + f, s.tokens.push({\n type: \"list_item_open\",\n lines: R = [e, 0],\n level: s.level++\n }), a = s.blkIndent, l = s.tight, o = s.tShift[e], c = s.parentType, s.tShift[e] = x - s.bMarks[e], s.blkIndent = r, s.tight = !0, s.parentType = \"list\", s.parser.tokenize(s, e, t, !0), (!s.tight || V) && (X = !1), V = s.line - e > 1 && s.isEmpty(s.line - 1), s.blkIndent = a, s.tShift[e] = o, s.tight = l, s.parentType = c, s.tokens.push({\n type: \"list_item_close\",\n level: --s.level\n }), n = e = s.line, R[1] = n, x = s.bMarks[e], !(n >= t || s.isEmpty(n) || s.tShift[n] < s.blkIndent));) {\n for (gt = !1, D = 0, Ne = Z.length; D < Ne; D++) if (Z[D](s, n, t, !0)) {\n gt = !0;\n break;\n }\n if (gt) break;\n if (y) {\n if (h = Mn(s, n), h < 0) break;\n } else if (h = An(s, n), h < 0) break;\n if (p !== s.src.charCodeAt(h - 1)) break;\n }\n return s.tokens.push({\n type: y ? \"ordered_list_close\" : \"bullet_list_close\",\n level: --s.level\n }), Ae[1] = n, s.line = n, X && Ys(s, j), !0;\n}\nfunction er(s, e, t, i) {\n var n,\n r,\n o,\n a,\n l,\n c = s.bMarks[e] + s.tShift[e],\n d = s.eMarks[e];\n if (c + 4 > d || s.src.charCodeAt(c) !== 91 || s.src.charCodeAt(c + 1) !== 94 || s.level >= s.options.maxNesting) return !1;\n for (a = c + 2; a < d; a++) {\n if (s.src.charCodeAt(a) === 32) return !1;\n if (s.src.charCodeAt(a) === 93) break;\n }\n return a === c + 2 || a + 1 >= d || s.src.charCodeAt(++a) !== 58 ? !1 : (i || (a++, s.env.footnotes || (s.env.footnotes = {}), s.env.footnotes.refs || (s.env.footnotes.refs = {}), l = s.src.slice(c + 2, a - 2), s.env.footnotes.refs[\":\" + l] = -1, s.tokens.push({\n type: \"footnote_reference_open\",\n label: l,\n level: s.level++\n }), n = s.bMarks[e], r = s.tShift[e], o = s.parentType, s.tShift[e] = s.skipSpaces(a) - a, s.bMarks[e] = a, s.blkIndent += 4, s.parentType = \"footnote\", s.tShift[e] < s.blkIndent && (s.tShift[e] += s.blkIndent, s.bMarks[e] -= s.blkIndent), s.parser.tokenize(s, e, t, !0), s.parentType = o, s.blkIndent -= 4, s.tShift[e] = r, s.bMarks[e] = n, s.tokens.push({\n type: \"footnote_reference_close\",\n level: --s.level\n })), !0);\n}\nfunction tr(s, e, t, i) {\n var n,\n r,\n o,\n a = s.bMarks[e] + s.tShift[e],\n l = s.eMarks[e];\n if (a >= l || (n = s.src.charCodeAt(a), n !== 35 || a >= l)) return !1;\n for (r = 1, n = s.src.charCodeAt(++a); n === 35 && a < l && r <= 6;) r++, n = s.src.charCodeAt(++a);\n return r > 6 || a < l && n !== 32 ? !1 : (i || (l = s.skipCharsBack(l, 32, a), o = s.skipCharsBack(l, 35, a), o > a && s.src.charCodeAt(o - 1) === 32 && (l = o), s.line = e + 1, s.tokens.push({\n type: \"heading_open\",\n hLevel: r,\n lines: [e, s.line],\n level: s.level\n }), a < l && s.tokens.push({\n type: \"inline\",\n content: s.src.slice(a, l).trim(),\n level: s.level + 1,\n lines: [e, s.line],\n children: []\n }), s.tokens.push({\n type: \"heading_close\",\n hLevel: r,\n level: s.level\n })), !0);\n}\nfunction ir(s, e, t) {\n var i,\n n,\n r,\n o = e + 1;\n return o >= t || s.tShift[o] < s.blkIndent || s.tShift[o] - s.blkIndent > 3 || (n = s.bMarks[o] + s.tShift[o], r = s.eMarks[o], n >= r) || (i = s.src.charCodeAt(n), i !== 45 && i !== 61) || (n = s.skipChars(n, i), n = s.skipSpaces(n), n < r) ? !1 : (n = s.bMarks[e] + s.tShift[e], s.line = o + 1, s.tokens.push({\n type: \"heading_open\",\n hLevel: i === 61 ? 1 : 2,\n lines: [e, s.line],\n level: s.level\n }), s.tokens.push({\n type: \"inline\",\n content: s.src.slice(n, s.eMarks[e]).trim(),\n level: s.level + 1,\n lines: [e, s.line - 1],\n children: []\n }), s.tokens.push({\n type: \"heading_close\",\n hLevel: i === 61 ? 1 : 2,\n level: s.level\n }), !0);\n}\nvar as = {};\n[\"article\", \"aside\", \"button\", \"blockquote\", \"body\", \"canvas\", \"caption\", \"col\", \"colgroup\", \"dd\", \"div\", \"dl\", \"dt\", \"embed\", \"fieldset\", \"figcaption\", \"figure\", \"footer\", \"form\", \"h1\", \"h2\", \"h3\", \"h4\", \"h5\", \"h6\", \"header\", \"hgroup\", \"hr\", \"iframe\", \"li\", \"map\", \"object\", \"ol\", \"output\", \"p\", \"pre\", \"progress\", \"script\", \"section\", \"style\", \"table\", \"tbody\", \"td\", \"textarea\", \"tfoot\", \"th\", \"tr\", \"thead\", \"ul\", \"video\"].forEach(function (s) {\n as[s] = !0;\n});\nvar nr = /^<([a-zA-Z]{1,15})[\\s\\/>]/,\n sr = /^<\\/([a-zA-Z]{1,15})[\\s>]/;\nfunction rr(s) {\n var e = s | 32;\n return e >= 97 && e <= 122;\n}\nfunction or(s, e, t, i) {\n var n,\n r,\n o,\n a = s.bMarks[e],\n l = s.eMarks[e],\n c = s.tShift[e];\n if (a += c, !s.options.html || c > 3 || a + 2 >= l || s.src.charCodeAt(a) !== 60) return !1;\n if (n = s.src.charCodeAt(a + 1), n === 33 || n === 63) {\n if (i) return !0;\n } else if (n === 47 || rr(n)) {\n if (n === 47) {\n if (r = s.src.slice(a, l).match(sr), !r) return !1;\n } else if (r = s.src.slice(a, l).match(nr), !r) return !1;\n if (as[r[1].toLowerCase()] !== !0) return !1;\n if (i) return !0;\n } else return !1;\n for (o = e + 1; o < s.lineMax && !s.isEmpty(o);) o++;\n return s.line = o, s.tokens.push({\n type: \"htmlblock\",\n level: s.level,\n lines: [e, s.line],\n content: s.getLines(e, o, 0, !0)\n }), !0;\n}\nfunction ji(s, e) {\n var t = s.bMarks[e] + s.blkIndent,\n i = s.eMarks[e];\n return s.src.substr(t, i - t);\n}\nfunction ar(s, e, t, i) {\n var n, r, o, a, l, c, d, h, u, f, m;\n if (e + 2 > t || (l = e + 1, s.tShift[l] < s.blkIndent) || (o = s.bMarks[l] + s.tShift[l], o >= s.eMarks[l]) || (n = s.src.charCodeAt(o), n !== 124 && n !== 45 && n !== 58) || (r = ji(s, e + 1), !/^[-:| ]+$/.test(r)) || (c = r.split(\"|\"), c <= 2)) return !1;\n for (h = [], a = 0; a < c.length; a++) {\n if (u = c[a].trim(), !u) {\n if (a === 0 || a === c.length - 1) continue;\n return !1;\n }\n if (!/^:?-+:?$/.test(u)) return !1;\n u.charCodeAt(u.length - 1) === 58 ? h.push(u.charCodeAt(0) === 58 ? \"center\" : \"right\") : u.charCodeAt(0) === 58 ? h.push(\"left\") : h.push(\"\");\n }\n if (r = ji(s, e).trim(), r.indexOf(\"|\") === -1 || (c = r.replace(/^\\||\\|$/g, \"\").split(\"|\"), h.length !== c.length)) return !1;\n if (i) return !0;\n for (s.tokens.push({\n type: \"table_open\",\n lines: f = [e, 0],\n level: s.level++\n }), s.tokens.push({\n type: \"thead_open\",\n lines: [e, e + 1],\n level: s.level++\n }), s.tokens.push({\n type: \"tr_open\",\n lines: [e, e + 1],\n level: s.level++\n }), a = 0; a < c.length; a++) s.tokens.push({\n type: \"th_open\",\n align: h[a],\n lines: [e, e + 1],\n level: s.level++\n }), s.tokens.push({\n type: \"inline\",\n content: c[a].trim(),\n lines: [e, e + 1],\n level: s.level,\n children: []\n }), s.tokens.push({\n type: \"th_close\",\n level: --s.level\n });\n for (s.tokens.push({\n type: \"tr_close\",\n level: --s.level\n }), s.tokens.push({\n type: \"thead_close\",\n level: --s.level\n }), s.tokens.push({\n type: \"tbody_open\",\n lines: m = [e + 2, 0],\n level: s.level++\n }), l = e + 2; l < t && !(s.tShift[l] < s.blkIndent || (r = ji(s, l).trim(), r.indexOf(\"|\") === -1)); l++) {\n for (c = r.replace(/^\\||\\|$/g, \"\").split(\"|\"), s.tokens.push({\n type: \"tr_open\",\n level: s.level++\n }), a = 0; a < c.length; a++) s.tokens.push({\n type: \"td_open\",\n align: h[a],\n level: s.level++\n }), d = c[a].substring(c[a].charCodeAt(0) === 124 ? 1 : 0, c[a].charCodeAt(c[a].length - 1) === 124 ? c[a].length - 1 : c[a].length).trim(), s.tokens.push({\n type: \"inline\",\n content: d,\n level: s.level,\n children: []\n }), s.tokens.push({\n type: \"td_close\",\n level: --s.level\n });\n s.tokens.push({\n type: \"tr_close\",\n level: --s.level\n });\n }\n return s.tokens.push({\n type: \"tbody_close\",\n level: --s.level\n }), s.tokens.push({\n type: \"table_close\",\n level: --s.level\n }), f[1] = m[1] = l, s.line = l, !0;\n}\nfunction Wt(s, e) {\n var t,\n i,\n n = s.bMarks[e] + s.tShift[e],\n r = s.eMarks[e];\n return n >= r || (i = s.src.charCodeAt(n++), i !== 126 && i !== 58) || (t = s.skipSpaces(n), n === t) || t >= r ? -1 : t;\n}\nfunction lr(s, e) {\n var t,\n i,\n n = s.level + 2;\n for (t = e + 2, i = s.tokens.length - 2; t < i; t++) s.tokens[t].level === n && s.tokens[t].type === \"paragraph_open\" && (s.tokens[t + 2].tight = !0, s.tokens[t].tight = !0, t += 2);\n}\nfunction cr(s, e, t, i) {\n var n, r, o, a, l, c, d, h, u, f, m, p, y, x;\n if (i) return s.ddIndent < 0 ? !1 : Wt(s, e) >= 0;\n if (d = e + 1, s.isEmpty(d) && ++d > t || s.tShift[d] < s.blkIndent || (n = Wt(s, d), n < 0) || s.level >= s.options.maxNesting) return !1;\n c = s.tokens.length, s.tokens.push({\n type: \"dl_open\",\n lines: l = [e, 0],\n level: s.level++\n }), o = e, r = d;\n e: for (;;) {\n for (x = !0, y = !1, s.tokens.push({\n type: \"dt_open\",\n lines: [o, o],\n level: s.level++\n }), s.tokens.push({\n type: \"inline\",\n content: s.getLines(o, o + 1, s.blkIndent, !1).trim(),\n level: s.level + 1,\n lines: [o, o],\n children: []\n }), s.tokens.push({\n type: \"dt_close\",\n level: --s.level\n });;) {\n if (s.tokens.push({\n type: \"dd_open\",\n lines: a = [d, 0],\n level: s.level++\n }), p = s.tight, u = s.ddIndent, h = s.blkIndent, m = s.tShift[r], f = s.parentType, s.blkIndent = s.ddIndent = s.tShift[r] + 2, s.tShift[r] = n - s.bMarks[r], s.tight = !0, s.parentType = \"deflist\", s.parser.tokenize(s, r, t, !0), (!s.tight || y) && (x = !1), y = s.line - r > 1 && s.isEmpty(s.line - 1), s.tShift[r] = m, s.tight = p, s.parentType = f, s.blkIndent = h, s.ddIndent = u, s.tokens.push({\n type: \"dd_close\",\n level: --s.level\n }), a[1] = d = s.line, d >= t || s.tShift[d] < s.blkIndent) break e;\n if (n = Wt(s, d), n < 0) break;\n r = d;\n }\n if (d >= t || (o = d, s.isEmpty(o)) || s.tShift[o] < s.blkIndent || (r = o + 1, r >= t) || (s.isEmpty(r) && r++, r >= t) || s.tShift[r] < s.blkIndent || (n = Wt(s, r), n < 0)) break;\n }\n return s.tokens.push({\n type: \"dl_close\",\n level: --s.level\n }), l[1] = d, s.line = d, x && lr(s, c), !0;\n}\nfunction dr(s, e) {\n var t,\n i,\n n,\n r,\n o,\n a = e + 1,\n l;\n if (t = s.lineMax, a < t && !s.isEmpty(a)) {\n for (l = s.parser.ruler.getRules(\"paragraph\"); a < t && !s.isEmpty(a); a++) if (!(s.tShift[a] - s.blkIndent > 3)) {\n for (n = !1, r = 0, o = l.length; r < o; r++) if (l[r](s, a, t, !0)) {\n n = !0;\n break;\n }\n if (n) break;\n }\n }\n return i = s.getLines(e, a, s.blkIndent, !1).trim(), s.line = a, i.length && (s.tokens.push({\n type: \"paragraph_open\",\n tight: !1,\n lines: [e, s.line],\n level: s.level\n }), s.tokens.push({\n type: \"inline\",\n content: i,\n level: s.level + 1,\n lines: [e, s.line],\n children: []\n }), s.tokens.push({\n type: \"paragraph_close\",\n tight: !1,\n level: s.level\n })), !0;\n}\nvar $t = [[\"code\", Ks], [\"fences\", Js, [\"paragraph\", \"blockquote\", \"list\"]], [\"blockquote\", Xs, [\"paragraph\", \"blockquote\", \"list\"]], [\"hr\", Zs, [\"paragraph\", \"blockquote\", \"list\"]], [\"list\", Qs, [\"paragraph\", \"blockquote\"]], [\"footnote\", er, [\"paragraph\"]], [\"heading\", tr, [\"paragraph\", \"blockquote\"]], [\"lheading\", ir], [\"htmlblock\", or, [\"paragraph\", \"blockquote\"]], [\"table\", ar, [\"paragraph\"]], [\"deflist\", cr, [\"paragraph\"]], [\"paragraph\", dr]];\nfunction hn() {\n this.ruler = new ne();\n for (var s = 0; s < $t.length; s++) this.ruler.push($t[s][0], $t[s][1], {\n alt: ($t[s][2] || []).slice()\n });\n}\nhn.prototype.tokenize = function (s, e, t) {\n for (var i = this.ruler.getRules(\"\"), n = i.length, r = e, o = !1, a, l; r < t && (s.line = r = s.skipEmptyLines(r), !(r >= t || s.tShift[r] < s.blkIndent));) {\n for (l = 0; l < n && (a = i[l](s, r, t, !1), !a); l++);\n if (s.tight = !o, s.isEmpty(s.line - 1) && (o = !0), r = s.line, r < t && s.isEmpty(r)) {\n if (o = !0, r++, r < t && s.parentType === \"list\" && s.isEmpty(r)) break;\n s.line = r;\n }\n }\n};\nvar hr = /[\\n\\t]/g,\n ur = /\\r[\\n\\u0085]|[\\u2424\\u2028\\u0085]/g,\n fr = /\\u00a0/g;\nhn.prototype.parse = function (s, e, t, i) {\n var n,\n r = 0,\n o = 0;\n if (!s) return [];\n s = s.replace(fr, \" \"), s = s.replace(ur, \"\\n\"), s.indexOf(\"\t\") >= 0 && (s = s.replace(hr, function (a, l) {\n var c;\n return s.charCodeAt(l) === 10 ? (r = l + 1, o = 0, a) : (c = \" \".slice((l - r - o) % 4), o = l - r + 1, c);\n })), n = new Ye(s, this, e, t, i), this.tokenize(n, n.line, n.lineMax);\n};\nfunction pr(s) {\n switch (s) {\n case 10:\n case 92:\n case 96:\n case 42:\n case 95:\n case 94:\n case 91:\n case 93:\n case 33:\n case 38:\n case 60:\n case 62:\n case 123:\n case 125:\n case 36:\n case 37:\n case 64:\n case 126:\n case 43:\n case 61:\n case 58:\n return !0;\n default:\n return !1;\n }\n}\nfunction mr(s, e) {\n for (var t = s.pos; t < s.posMax && !pr(s.src.charCodeAt(t));) t++;\n return t === s.pos ? !1 : (e || (s.pending += s.src.slice(s.pos, t)), s.pos = t, !0);\n}\nfunction gr(s, e) {\n var t,\n i,\n n = s.pos;\n if (s.src.charCodeAt(n) !== 10) return !1;\n if (t = s.pending.length - 1, i = s.posMax, !e) if (t >= 0 && s.pending.charCodeAt(t) === 32) {\n if (t >= 1 && s.pending.charCodeAt(t - 1) === 32) {\n for (var r = t - 2; r >= 0; r--) if (s.pending.charCodeAt(r) !== 32) {\n s.pending = s.pending.substring(0, r + 1);\n break;\n }\n s.push({\n type: \"hardbreak\",\n level: s.level\n });\n } else s.pending = s.pending.slice(0, -1), s.push({\n type: \"softbreak\",\n level: s.level\n });\n } else s.push({\n type: \"softbreak\",\n level: s.level\n });\n for (n++; n < i && s.src.charCodeAt(n) === 32;) n++;\n return s.pos = n, !0;\n}\nvar un = [];\nfor (var Rn = 0; Rn < 256; Rn++) un.push(0);\n\"\\\\!\\\"#$%&'()*+,./:;<=>?@[]^_`{|}~-\".split(\"\").forEach(function (s) {\n un[s.charCodeAt(0)] = 1;\n});\nfunction br(s, e) {\n var t,\n i = s.pos,\n n = s.posMax;\n if (s.src.charCodeAt(i) !== 92) return !1;\n if (i++, i < n) {\n if (t = s.src.charCodeAt(i), t < 256 && un[t] !== 0) return e || (s.pending += s.src[i]), s.pos += 2, !0;\n if (t === 10) {\n for (e || s.push({\n type: \"hardbreak\",\n level: s.level\n }), i++; i < n && s.src.charCodeAt(i) === 32;) i++;\n return s.pos = i, !0;\n }\n }\n return e || (s.pending += \"\\\\\"), s.pos++, !0;\n}\nfunction vr(s, e) {\n var t,\n i,\n n,\n r,\n o,\n a = s.pos,\n l = s.src.charCodeAt(a);\n if (l !== 96) return !1;\n for (t = a, a++, i = s.posMax; a < i && s.src.charCodeAt(a) === 96;) a++;\n for (n = s.src.slice(t, a), r = o = a; (r = s.src.indexOf(\"`\", o)) !== -1;) {\n for (o = r + 1; o < i && s.src.charCodeAt(o) === 96;) o++;\n if (o - r === n.length) return e || s.push({\n type: \"code\",\n content: s.src.slice(a, r).replace(/[ \\n]+/g, \" \").trim(),\n block: !1,\n level: s.level\n }), s.pos = o, !0;\n }\n return e || (s.pending += n), s.pos += n.length, !0;\n}\nfunction yr(s, e) {\n var t,\n i,\n n,\n r = s.posMax,\n o = s.pos,\n a,\n l;\n if (s.src.charCodeAt(o) !== 126 || e || o + 4 >= r || s.src.charCodeAt(o + 1) !== 126 || s.level >= s.options.maxNesting || (a = o > 0 ? s.src.charCodeAt(o - 1) : -1, l = s.src.charCodeAt(o + 2), a === 126) || l === 126 || l === 32 || l === 10) return !1;\n for (i = o + 2; i < r && s.src.charCodeAt(i) === 126;) i++;\n if (i > o + 3) return s.pos += i - o, e || (s.pending += s.src.slice(o, i)), !0;\n for (s.pos = o + 2, n = 1; s.pos + 1 < r;) {\n if (s.src.charCodeAt(s.pos) === 126 && s.src.charCodeAt(s.pos + 1) === 126 && (a = s.src.charCodeAt(s.pos - 1), l = s.pos + 2 < r ? s.src.charCodeAt(s.pos + 2) : -1, l !== 126 && a !== 126 && (a !== 32 && a !== 10 ? n-- : l !== 32 && l !== 10 && n++, n <= 0))) {\n t = !0;\n break;\n }\n s.parser.skipToken(s);\n }\n return t ? (s.posMax = s.pos, s.pos = o + 2, e || (s.push({\n type: \"del_open\",\n level: s.level++\n }), s.parser.tokenize(s), s.push({\n type: \"del_close\",\n level: --s.level\n })), s.pos = s.posMax + 2, s.posMax = r, !0) : (s.pos = o, !1);\n}\nfunction Er(s, e) {\n var t,\n i,\n n,\n r = s.posMax,\n o = s.pos,\n a,\n l;\n if (s.src.charCodeAt(o) !== 43 || e || o + 4 >= r || s.src.charCodeAt(o + 1) !== 43 || s.level >= s.options.maxNesting || (a = o > 0 ? s.src.charCodeAt(o - 1) : -1, l = s.src.charCodeAt(o + 2), a === 43) || l === 43 || l === 32 || l === 10) return !1;\n for (i = o + 2; i < r && s.src.charCodeAt(i) === 43;) i++;\n if (i !== o + 2) return s.pos += i - o, e || (s.pending += s.src.slice(o, i)), !0;\n for (s.pos = o + 2, n = 1; s.pos + 1 < r;) {\n if (s.src.charCodeAt(s.pos) === 43 && s.src.charCodeAt(s.pos + 1) === 43 && (a = s.src.charCodeAt(s.pos - 1), l = s.pos + 2 < r ? s.src.charCodeAt(s.pos + 2) : -1, l !== 43 && a !== 43 && (a !== 32 && a !== 10 ? n-- : l !== 32 && l !== 10 && n++, n <= 0))) {\n t = !0;\n break;\n }\n s.parser.skipToken(s);\n }\n return t ? (s.posMax = s.pos, s.pos = o + 2, e || (s.push({\n type: \"ins_open\",\n level: s.level++\n }), s.parser.tokenize(s), s.push({\n type: \"ins_close\",\n level: --s.level\n })), s.pos = s.posMax + 2, s.posMax = r, !0) : (s.pos = o, !1);\n}\nfunction xr(s, e) {\n var t,\n i,\n n,\n r = s.posMax,\n o = s.pos,\n a,\n l;\n if (s.src.charCodeAt(o) !== 61 || e || o + 4 >= r || s.src.charCodeAt(o + 1) !== 61 || s.level >= s.options.maxNesting || (a = o > 0 ? s.src.charCodeAt(o - 1) : -1, l = s.src.charCodeAt(o + 2), a === 61) || l === 61 || l === 32 || l === 10) return !1;\n for (i = o + 2; i < r && s.src.charCodeAt(i) === 61;) i++;\n if (i !== o + 2) return s.pos += i - o, e || (s.pending += s.src.slice(o, i)), !0;\n for (s.pos = o + 2, n = 1; s.pos + 1 < r;) {\n if (s.src.charCodeAt(s.pos) === 61 && s.src.charCodeAt(s.pos + 1) === 61 && (a = s.src.charCodeAt(s.pos - 1), l = s.pos + 2 < r ? s.src.charCodeAt(s.pos + 2) : -1, l !== 61 && a !== 61 && (a !== 32 && a !== 10 ? n-- : l !== 32 && l !== 10 && n++, n <= 0))) {\n t = !0;\n break;\n }\n s.parser.skipToken(s);\n }\n return t ? (s.posMax = s.pos, s.pos = o + 2, e || (s.push({\n type: \"mark_open\",\n level: s.level++\n }), s.parser.tokenize(s), s.push({\n type: \"mark_close\",\n level: --s.level\n })), s.pos = s.posMax + 2, s.posMax = r, !0) : (s.pos = o, !1);\n}\nfunction In(s) {\n return s >= 48 && s <= 57 || s >= 65 && s <= 90 || s >= 97 && s <= 122;\n}\nfunction Ln(s, e) {\n var t = e,\n i,\n n,\n r,\n o = !0,\n a = !0,\n l = s.posMax,\n c = s.src.charCodeAt(e);\n for (i = e > 0 ? s.src.charCodeAt(e - 1) : -1; t < l && s.src.charCodeAt(t) === c;) t++;\n return t >= l && (o = !1), r = t - e, r >= 4 ? o = a = !1 : (n = t < l ? s.src.charCodeAt(t) : -1, (n === 32 || n === 10) && (o = !1), (i === 32 || i === 10) && (a = !1), c === 95 && (In(i) && (o = !1), In(n) && (a = !1))), {\n can_open: o,\n can_close: a,\n delims: r\n };\n}\nfunction _r(s, e) {\n var t,\n i,\n n,\n r,\n o,\n a,\n l,\n c = s.posMax,\n d = s.pos,\n h = s.src.charCodeAt(d);\n if (h !== 95 && h !== 42 || e) return !1;\n if (l = Ln(s, d), t = l.delims, !l.can_open) return s.pos += t, e || (s.pending += s.src.slice(d, s.pos)), !0;\n if (s.level >= s.options.maxNesting) return !1;\n for (s.pos = d + t, a = [t]; s.pos < c;) {\n if (s.src.charCodeAt(s.pos) === h) {\n if (l = Ln(s, s.pos), i = l.delims, l.can_close) {\n for (r = a.pop(), o = i; r !== o;) {\n if (o < r) {\n a.push(r - o);\n break;\n }\n if (o -= r, a.length === 0) break;\n s.pos += r, r = a.pop();\n }\n if (a.length === 0) {\n t = r, n = !0;\n break;\n }\n s.pos += i;\n continue;\n }\n l.can_open && a.push(i), s.pos += i;\n continue;\n }\n s.parser.skipToken(s);\n }\n return n ? (s.posMax = s.pos, s.pos = d + t, e || ((t === 2 || t === 3) && s.push({\n type: \"strong_open\",\n level: s.level++\n }), (t === 1 || t === 3) && s.push({\n type: \"em_open\",\n level: s.level++\n }), s.parser.tokenize(s), (t === 1 || t === 3) && s.push({\n type: \"em_close\",\n level: --s.level\n }), (t === 2 || t === 3) && s.push({\n type: \"strong_close\",\n level: --s.level\n })), s.pos = s.posMax + t, s.posMax = c, !0) : (s.pos = d, !1);\n}\nvar Sr = /\\\\([ \\\\!\"#$%&'()*+,.\\/:;<=>?@[\\]^_`{|}~-])/g;\nfunction wr(s, e) {\n var t,\n i,\n n = s.posMax,\n r = s.pos;\n if (s.src.charCodeAt(r) !== 126 || e || r + 2 >= n || s.level >= s.options.maxNesting) return !1;\n for (s.pos = r + 1; s.pos < n;) {\n if (s.src.charCodeAt(s.pos) === 126) {\n t = !0;\n break;\n }\n s.parser.skipToken(s);\n }\n return !t || r + 1 === s.pos || (i = s.src.slice(r + 1, s.pos), i.match(/(^|[^\\\\])(\\\\\\\\)*\\s/)) ? (s.pos = r, !1) : (s.posMax = s.pos, s.pos = r + 1, e || s.push({\n type: \"sub\",\n level: s.level,\n content: i.replace(Sr, \"$1\")\n }), s.pos = s.posMax + 1, s.posMax = n, !0);\n}\nvar Tr = /\\\\([ \\\\!\"#$%&'()*+,.\\/:;<=>?@[\\]^_`{|}~-])/g;\nfunction Cr(s, e) {\n var t,\n i,\n n = s.posMax,\n r = s.pos;\n if (s.src.charCodeAt(r) !== 94 || e || r + 2 >= n || s.level >= s.options.maxNesting) return !1;\n for (s.pos = r + 1; s.pos < n;) {\n if (s.src.charCodeAt(s.pos) === 94) {\n t = !0;\n break;\n }\n s.parser.skipToken(s);\n }\n return !t || r + 1 === s.pos || (i = s.src.slice(r + 1, s.pos), i.match(/(^|[^\\\\])(\\\\\\\\)*\\s/)) ? (s.pos = r, !1) : (s.posMax = s.pos, s.pos = r + 1, e || s.push({\n type: \"sup\",\n level: s.level,\n content: i.replace(Tr, \"$1\")\n }), s.pos = s.posMax + 1, s.posMax = n, !0);\n}\nfunction kr(s, e) {\n var t,\n i,\n n,\n r,\n o,\n a,\n l,\n c,\n d = !1,\n h = s.pos,\n u = s.posMax,\n f = s.pos,\n m = s.src.charCodeAt(f);\n if (m === 33 && (d = !0, m = s.src.charCodeAt(++f)), m !== 91 || s.level >= s.options.maxNesting || (t = f + 1, i = Mt(s, f), i < 0)) return !1;\n if (a = i + 1, a < u && s.src.charCodeAt(a) === 40) {\n for (a++; a < u && (c = s.src.charCodeAt(a), !(c !== 32 && c !== 10)); a++);\n if (a >= u) return !1;\n for (f = a, ns(s, a) ? (r = s.linkContent, a = s.pos) : r = \"\", f = a; a < u && (c = s.src.charCodeAt(a), !(c !== 32 && c !== 10)); a++);\n if (a < u && f !== a && ss(s, a)) for (o = s.linkContent, a = s.pos; a < u && (c = s.src.charCodeAt(a), !(c !== 32 && c !== 10)); a++);else o = \"\";\n if (a >= u || s.src.charCodeAt(a) !== 41) return s.pos = h, !1;\n a++;\n } else {\n if (s.linkLevel > 0) return !1;\n for (; a < u && (c = s.src.charCodeAt(a), !(c !== 32 && c !== 10)); a++);\n if (a < u && s.src.charCodeAt(a) === 91 && (f = a + 1, a = Mt(s, a), a >= 0 ? n = s.src.slice(f, a++) : a = f - 1), n || (_typeof(n) > \"u\" && (a = i + 1), n = s.src.slice(t, i)), l = s.env.references[rs(n)], !l) return s.pos = h, !1;\n r = l.href, o = l.title;\n }\n return e || (s.pos = t, s.posMax = i, d ? s.push({\n type: \"image\",\n src: r,\n title: o,\n alt: s.src.substr(t, i - t),\n level: s.level\n }) : (s.push({\n type: \"link_open\",\n href: r,\n title: o,\n level: s.level++\n }), s.linkLevel++, s.parser.tokenize(s), s.linkLevel--, s.push({\n type: \"link_close\",\n level: --s.level\n }))), s.pos = a, s.posMax = u, !0;\n}\nfunction Ar(s, e) {\n var t,\n i,\n n,\n r,\n o = s.posMax,\n a = s.pos;\n return a + 2 >= o || s.src.charCodeAt(a) !== 94 || s.src.charCodeAt(a + 1) !== 91 || s.level >= s.options.maxNesting || (t = a + 2, i = Mt(s, a + 1), i < 0) ? !1 : (e || (s.env.footnotes || (s.env.footnotes = {}), s.env.footnotes.list || (s.env.footnotes.list = []), n = s.env.footnotes.list.length, s.pos = t, s.posMax = i, s.push({\n type: \"footnote_ref\",\n id: n,\n level: s.level\n }), s.linkLevel++, r = s.tokens.length, s.parser.tokenize(s), s.env.footnotes.list[n] = {\n tokens: s.tokens.splice(r)\n }, s.linkLevel--), s.pos = i + 1, s.posMax = o, !0);\n}\nfunction Mr(s, e) {\n var t,\n i,\n n,\n r,\n o = s.posMax,\n a = s.pos;\n if (a + 3 > o || !s.env.footnotes || !s.env.footnotes.refs || s.src.charCodeAt(a) !== 91 || s.src.charCodeAt(a + 1) !== 94 || s.level >= s.options.maxNesting) return !1;\n for (i = a + 2; i < o; i++) {\n if (s.src.charCodeAt(i) === 32 || s.src.charCodeAt(i) === 10) return !1;\n if (s.src.charCodeAt(i) === 93) break;\n }\n return i === a + 2 || i >= o || (i++, t = s.src.slice(a + 2, i - 1), _typeof(s.env.footnotes.refs[\":\" + t]) > \"u\") ? !1 : (e || (s.env.footnotes.list || (s.env.footnotes.list = []), s.env.footnotes.refs[\":\" + t] < 0 ? (n = s.env.footnotes.list.length, s.env.footnotes.list[n] = {\n label: t,\n count: 0\n }, s.env.footnotes.refs[\":\" + t] = n) : n = s.env.footnotes.refs[\":\" + t], r = s.env.footnotes.list[n].count, s.env.footnotes.list[n].count++, s.push({\n type: \"footnote_ref\",\n id: n,\n subId: r,\n level: s.level\n })), s.pos = i, s.posMax = o, !0);\n}\nvar Rr = [\"coap\", \"doi\", \"javascript\", \"aaa\", \"aaas\", \"about\", \"acap\", \"cap\", \"cid\", \"crid\", \"data\", \"dav\", \"dict\", \"dns\", \"file\", \"ftp\", \"geo\", \"go\", \"gopher\", \"h323\", \"http\", \"https\", \"iax\", \"icap\", \"im\", \"imap\", \"info\", \"ipp\", \"iris\", \"iris.beep\", \"iris.xpc\", \"iris.xpcs\", \"iris.lwz\", \"ldap\", \"mailto\", \"mid\", \"msrp\", \"msrps\", \"mtqp\", \"mupdate\", \"news\", \"nfs\", \"ni\", \"nih\", \"nntp\", \"opaquelocktoken\", \"pop\", \"pres\", \"rtsp\", \"service\", \"session\", \"shttp\", \"sieve\", \"sip\", \"sips\", \"sms\", \"snmp\", \"soap.beep\", \"soap.beeps\", \"tag\", \"tel\", \"telnet\", \"tftp\", \"thismessage\", \"tn3270\", \"tip\", \"tv\", \"urn\", \"vemmi\", \"ws\", \"wss\", \"xcon\", \"xcon-userid\", \"xmlrpc.beep\", \"xmlrpc.beeps\", \"xmpp\", \"z39.50r\", \"z39.50s\", \"adiumxtra\", \"afp\", \"afs\", \"aim\", \"apt\", \"attachment\", \"aw\", \"beshare\", \"bitcoin\", \"bolo\", \"callto\", \"chrome\", \"chrome-extension\", \"com-eventbrite-attendee\", \"content\", \"cvs\", \"dlna-playsingle\", \"dlna-playcontainer\", \"dtn\", \"dvb\", \"ed2k\", \"facetime\", \"feed\", \"finger\", \"fish\", \"gg\", \"git\", \"gizmoproject\", \"gtalk\", \"hcp\", \"icon\", \"ipn\", \"irc\", \"irc6\", \"ircs\", \"itms\", \"jar\", \"jms\", \"keyparc\", \"lastfm\", \"ldaps\", \"magnet\", \"maps\", \"market\", \"message\", \"mms\", \"ms-help\", \"msnim\", \"mumble\", \"mvn\", \"notes\", \"oid\", \"palm\", \"paparazzi\", \"platform\", \"proxy\", \"psyc\", \"query\", \"res\", \"resource\", \"rmi\", \"rsync\", \"rtmp\", \"secondlife\", \"sftp\", \"sgn\", \"skype\", \"smb\", \"soldat\", \"spotify\", \"ssh\", \"steam\", \"svn\", \"teamspeak\", \"things\", \"udp\", \"unreal\", \"ut2004\", \"ventrilo\", \"view-source\", \"webcal\", \"wtai\", \"wyciwyg\", \"xfire\", \"xri\", \"ymsgr\"],\n Ir = /^<([a-zA-Z0-9.!#$%&'*+\\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*)>/,\n Lr = /^<([a-zA-Z.\\-]{1,25}):([^<>\\x00-\\x20]*)>/;\nfunction Pr(s, e) {\n var t,\n i,\n n,\n r,\n o,\n a = s.pos;\n return s.src.charCodeAt(a) !== 60 || (t = s.src.slice(a), t.indexOf(\">\") < 0) ? !1 : (i = t.match(Lr), i ? Rr.indexOf(i[1].toLowerCase()) < 0 || (r = i[0].slice(1, -1), o = Ji(r), !s.parser.validateLink(r)) ? !1 : (e || (s.push({\n type: \"link_open\",\n href: o,\n level: s.level\n }), s.push({\n type: \"text\",\n content: r,\n level: s.level + 1\n }), s.push({\n type: \"link_close\",\n level: s.level\n })), s.pos += i[0].length, !0) : (n = t.match(Ir), n ? (r = n[0].slice(1, -1), o = Ji(\"mailto:\" + r), s.parser.validateLink(o) ? (e || (s.push({\n type: \"link_open\",\n href: o,\n level: s.level\n }), s.push({\n type: \"text\",\n content: r,\n level: s.level + 1\n }), s.push({\n type: \"link_close\",\n level: s.level\n })), s.pos += n[0].length, !0) : !1) : !1));\n}\nfunction xi(s, e) {\n return s = s.source, e = e || \"\", function t(i, n) {\n return i ? (n = n.source || n, s = s.replace(i, n), t) : new RegExp(s, e);\n };\n}\nvar Or = /[a-zA-Z_:][a-zA-Z0-9:._-]*/,\n Nr = /[^\"'=<>`\\x00-\\x20]+/,\n Dr = /'[^']*'/,\n Fr = /\"[^\"]*\"/,\n Br = xi(/(?:unquoted|single_quoted|double_quoted)/)(\"unquoted\", Nr)(\"single_quoted\", Dr)(\"double_quoted\", Fr)(),\n jr = xi(/(?:\\s+attr_name(?:\\s*=\\s*attr_value)?)/)(\"attr_name\", Or)(\"attr_value\", Br)(),\n Ur = xi(/<[A-Za-z][A-Za-z0-9]*attribute*\\s*\\/?>/)(\"attribute\", jr)(),\n Hr = /<\\/[A-Za-z][A-Za-z0-9]*\\s*>/,\n qr = /<!---->|<!--(?:-?[^>-])(?:-?[^-])*-->/,\n zr = /<[?].*?[?]>/,\n Vr = /<![A-Z]+\\s+[^>]*>/,\n Gr = /<!\\[CDATA\\[[\\s\\S]*?\\]\\]>/,\n Wr = xi(/^(?:open_tag|close_tag|comment|processing|declaration|cdata)/)(\"open_tag\", Ur)(\"close_tag\", Hr)(\"comment\", qr)(\"processing\", zr)(\"declaration\", Vr)(\"cdata\", Gr)();\nfunction $r(s) {\n var e = s | 32;\n return e >= 97 && e <= 122;\n}\nfunction Kr(s, e) {\n var t,\n i,\n n,\n r = s.pos;\n return !s.options.html || (n = s.posMax, s.src.charCodeAt(r) !== 60 || r + 2 >= n) || (t = s.src.charCodeAt(r + 1), t !== 33 && t !== 63 && t !== 47 && !$r(t)) || (i = s.src.slice(r).match(Wr), !i) ? !1 : (e || s.push({\n type: \"htmltag\",\n content: s.src.slice(r, r + i[0].length),\n level: s.level\n }), s.pos += i[0].length, !0);\n}\nvar Jr = /^&#((?:x[a-f0-9]{1,8}|[0-9]{1,8}));/i,\n Xr = /^&([a-z][a-z0-9]{1,31});/i;\nfunction Zr(s, e) {\n var t,\n i,\n n,\n r = s.pos,\n o = s.posMax;\n if (s.src.charCodeAt(r) !== 38) return !1;\n if (r + 1 < o) {\n if (t = s.src.charCodeAt(r + 1), t === 35) {\n if (n = s.src.slice(r).match(Jr), n) return e || (i = n[1][0].toLowerCase() === \"x\" ? parseInt(n[1].slice(1), 16) : parseInt(n[1], 10), s.pending += ts(i) ? Ki(i) : Ki(65533)), s.pos += n[0].length, !0;\n } else if (n = s.src.slice(r).match(Xr), n) {\n var a = Qn(n[1]);\n if (n[1] !== a) return e || (s.pending += a), s.pos += n[0].length, !0;\n }\n }\n return e || (s.pending += \"&\"), s.pos++, !0;\n}\nvar Ui = [[\"text\", mr], [\"newline\", gr], [\"escape\", br], [\"backticks\", vr], [\"del\", yr], [\"ins\", Er], [\"mark\", xr], [\"emphasis\", _r], [\"sub\", wr], [\"sup\", Cr], [\"links\", kr], [\"footnote_inline\", Ar], [\"footnote_ref\", Mr], [\"autolink\", Pr], [\"htmltag\", Kr], [\"entity\", Zr]];\nfunction _i() {\n this.ruler = new ne();\n for (var s = 0; s < Ui.length; s++) this.ruler.push(Ui[s][0], Ui[s][1]);\n this.validateLink = Yr;\n}\n_i.prototype.skipToken = function (s) {\n var e = this.ruler.getRules(\"\"),\n t = e.length,\n i = s.pos,\n n,\n r;\n if ((r = s.cacheGet(i)) > 0) {\n s.pos = r;\n return;\n }\n for (n = 0; n < t; n++) if (e[n](s, !0)) {\n s.cacheSet(i, s.pos);\n return;\n }\n s.pos++, s.cacheSet(i, s.pos);\n};\n_i.prototype.tokenize = function (s) {\n for (var e = this.ruler.getRules(\"\"), t = e.length, i = s.posMax, n, r; s.pos < i;) {\n for (r = 0; r < t && (n = e[r](s, !1), !n); r++);\n if (n) {\n if (s.pos >= i) break;\n continue;\n }\n s.pending += s.src[s.pos++];\n }\n s.pending && s.pushPending();\n};\n_i.prototype.parse = function (s, e, t, i) {\n var n = new Ze(s, this, e, t, i);\n this.tokenize(n);\n};\nfunction Yr(s) {\n var e = [\"vbscript\", \"javascript\", \"file\", \"data\"],\n t = s.trim().toLowerCase();\n return t = Ke(t), !(t.indexOf(\":\") !== -1 && e.indexOf(t.split(\":\")[0]) !== -1);\n}\nvar Qr = {\n options: {\n html: !1,\n // Enable HTML tags in source\n xhtmlOut: !1,\n // Use '/' to close single tags (<br />)\n breaks: !1,\n // Convert '\\n' in paragraphs into <br>\n langPrefix: \"language-\",\n // CSS language prefix for fenced blocks\n linkTarget: \"\",\n // set target to open link in\n // Enable some language-neutral replacements + quotes beautification\n typographer: !1,\n // Double + single quotes replacement pairs, when typographer enabled,\n // and smartquotes on. Set doubles to '«»' for Russian, '„“' for German.\n quotes: \"“”‘’\",\n // Highlighter function. Should return escaped HTML,\n // or '' if input not changed\n //\n // function (/*str, lang*/) { return ''; }\n //\n highlight: null,\n maxNesting: 20\n // Internal protection, recursion limit\n },\n components: {\n core: {\n rules: [\"block\", \"inline\", \"references\", \"replacements\", \"smartquotes\", \"references\", \"abbr2\", \"footnote_tail\"]\n },\n block: {\n rules: [\"blockquote\", \"code\", \"fences\", \"footnote\", \"heading\", \"hr\", \"htmlblock\", \"lheading\", \"list\", \"paragraph\", \"table\"]\n },\n inline: {\n rules: [\"autolink\", \"backticks\", \"del\", \"emphasis\", \"entity\", \"escape\", \"footnote_ref\", \"htmltag\", \"links\", \"newline\", \"text\"]\n }\n }\n },\n eo = {\n options: {\n html: !1,\n // Enable HTML tags in source\n xhtmlOut: !1,\n // Use '/' to close single tags (<br />)\n breaks: !1,\n // Convert '\\n' in paragraphs into <br>\n langPrefix: \"language-\",\n // CSS language prefix for fenced blocks\n linkTarget: \"\",\n // set target to open link in\n // Enable some language-neutral replacements + quotes beautification\n typographer: !1,\n // Double + single quotes replacement pairs, when typographer enabled,\n // and smartquotes on. Set doubles to '«»' for Russian, '„“' for German.\n quotes: \"“”‘’\",\n // Highlighter function. Should return escaped HTML,\n // or '' if input not changed\n //\n // function (/*str, lang*/) { return ''; }\n //\n highlight: null,\n maxNesting: 20\n // Internal protection, recursion limit\n },\n components: {\n // Don't restrict core/block/inline rules\n core: {},\n block: {},\n inline: {}\n }\n },\n to = {\n options: {\n html: !0,\n // Enable HTML tags in source\n xhtmlOut: !0,\n // Use '/' to close single tags (<br />)\n breaks: !1,\n // Convert '\\n' in paragraphs into <br>\n langPrefix: \"language-\",\n // CSS language prefix for fenced blocks\n linkTarget: \"\",\n // set target to open link in\n // Enable some language-neutral replacements + quotes beautification\n typographer: !1,\n // Double + single quotes replacement pairs, when typographer enabled,\n // and smartquotes on. Set doubles to '«»' for Russian, '„“' for German.\n quotes: \"“”‘’\",\n // Highlighter function. Should return escaped HTML,\n // or '' if input not changed\n //\n // function (/*str, lang*/) { return ''; }\n //\n highlight: null,\n maxNesting: 20\n // Internal protection, recursion limit\n },\n components: {\n core: {\n rules: [\"block\", \"inline\", \"references\", \"abbr2\"]\n },\n block: {\n rules: [\"blockquote\", \"code\", \"fences\", \"heading\", \"hr\", \"htmlblock\", \"lheading\", \"list\", \"paragraph\"]\n },\n inline: {\n rules: [\"autolink\", \"backticks\", \"emphasis\", \"entity\", \"escape\", \"htmltag\", \"links\", \"newline\", \"text\"]\n }\n }\n },\n io = {\n \"default\": Qr,\n full: eo,\n commonmark: to\n };\nfunction ls(s, e, t) {\n this.src = e, this.env = t, this.options = s.options, this.tokens = [], this.inlineMode = !1, this.inline = s.inline, this.block = s.block, this.renderer = s.renderer, this.typographer = s.typographer;\n}\nfunction Ce(s, e) {\n typeof s != \"string\" && (e = s, s = \"default\"), e && e.linkify != null && console.warn(\"linkify option is removed. Use linkify plugin instead:\\n\\nimport Remarkable from 'remarkable';\\nimport linkify from 'remarkable/linkify';\\nnew Remarkable().use(linkify)\\n\"), this.inline = new _i(), this.block = new hn(), this.core = new os(), this.renderer = new dn(), this.ruler = new ne(), this.options = {}, this.configure(io[s]), this.set(e || {});\n}\nCe.prototype.set = function (s) {\n es(this.options, s);\n};\nCe.prototype.configure = function (s) {\n var e = this;\n if (!s) throw new Error(\"Wrong `remarkable` preset, check name/content\");\n s.options && e.set(s.options), s.components && Object.keys(s.components).forEach(function (t) {\n s.components[t].rules && e[t].ruler.enable(s.components[t].rules, !0);\n });\n};\nCe.prototype.use = function (s, e) {\n return s(this, e), this;\n};\nCe.prototype.parse = function (s, e) {\n var t = new ls(this, s, e);\n return this.core.process(t), t.tokens;\n};\nCe.prototype.render = function (s, e) {\n return e = e || {}, this.renderer.render(this.parse(s, e), this.options, e);\n};\nCe.prototype.parseInline = function (s, e) {\n var t = new ls(this, s, e);\n return t.inlineMode = !0, this.core.process(t), t.tokens;\n};\nCe.prototype.renderInline = function (s, e) {\n return e = e || {}, this.renderer.render(this.parseInline(s, e), this.options, e);\n};\nvar Rt = /*#__PURE__*/function () {\n function Rt() {\n _classCallCheck(this, Rt);\n }\n return _createClass(Rt, null, [{\n key: \"instantiate\",\n value: function instantiate() {\n var e = window.hljs;\n return e ? new Ce({\n highlight: function highlight(t, i) {\n if (i && e.getLanguage(i)) try {\n return e.highlight(i, t).value;\n } catch (_unused3) {\n console.error(\"failed to setup the highlight dependency\");\n }\n try {\n return e.highlightAuto(t).value;\n } catch (_unused4) {\n console.error(\"failed to automatically highlight messages\");\n }\n return \"\";\n },\n html: !1,\n // Enable HTML tags in source\n xhtmlOut: !1,\n // Use '/' to close single tags (<br />)\n breaks: !0,\n // Convert '\\n' in paragraphs into <br>\n langPrefix: \"language-\",\n // CSS language prefix for fenced blocks\n linkTarget: \"_blank\",\n // set target to open in a new tab\n typographer: !0\n // Enable smartypants and other sweet transforms\n }) : new Ce({\n breaks: !0,\n linkTarget: \"_blank\"\n // set target to open in a new tab\n });\n }\n }, {\n key: \"createNew\",\n value: function createNew() {\n var e = Rt.instantiate();\n return e.inline.validateLink = function () {\n return !0;\n }, e;\n }\n }]);\n}();\nvar Ee = /*#__PURE__*/function () {\n function Ee() {\n _classCallCheck(this, Ee);\n }\n return _createClass(Ee, null, [{\n key: \"addMessage\",\n value:\n // prettier-ignore\n function addMessage(e, t, i, n, r) {\n var o;\n e.applyCustomStyles(t, n, !0, (o = e.messageStyles) == null ? void 0 : o[i]), r || (e.elementRef.appendChild(t.outerContainer), e.elementRef.scrollTop = e.elementRef.scrollHeight);\n }\n }, {\n key: \"wrapInLink\",\n value: function wrapInLink(e, t, i) {\n var n = document.createElement(\"a\");\n return n.href = t, n.download = i || Ee.DEFAULT_FILE_NAME, n.target = \"_blank\", n.appendChild(e), n;\n }\n }, {\n key: \"isNonLinkableDataUrl\",\n value: function isNonLinkableDataUrl(e, t) {\n return !t.startsWith(\"data\") || e === \"image\" ? !1 : e === \"any\" && t.startsWith(\"data:text/javascript\") || !t.startsWith(\"data:image\") && !t.startsWith(\"data:application\");\n }\n }, {\n key: \"processContent\",\n value: function processContent(e, t, i, n) {\n return !i || Ee.isNonLinkableDataUrl(e, i) ? t : Ee.wrapInLink(t, i, n);\n }\n }, {\n key: \"waitToLoadThenScroll\",\n value: function waitToLoadThenScroll(e) {\n setTimeout(function () {\n e.scrollTop = e.scrollHeight;\n }, 60);\n }\n }, {\n key: \"scrollDownOnImageLoad\",\n value: function scrollDownOnImageLoad(e, t) {\n if (e.startsWith(\"data\")) Ee.waitToLoadThenScroll(t);else try {\n fetch(e, {\n mode: \"no-cors\"\n })[\"catch\"](function () {})[\"finally\"](function () {\n Ee.waitToLoadThenScroll(t);\n });\n } catch (_unused5) {\n t.scrollTop = t.scrollHeight;\n }\n }\n // The strategy is to emit the actual file reference in the `onMessage` event for the user to inspect it\n // But it is not actually used by anything in the chat, hence it is removed when adding a message\n // after the body has been stringified and parsed - the file reference will disappear, hence this readds it\n }, {\n key: \"reAddFileRefToObject\",\n value: function reAddFileRefToObject(e, t) {\n var i;\n (i = e.files) == null || i.forEach(function (n, r) {\n var o;\n n.ref && (o = t.message.files) != null && o[r] && (t.message.files[r].ref = n.ref);\n });\n }\n // the chat does not use the actual file\n }, {\n key: \"removeFileRef\",\n value: function removeFileRef(e) {\n var t = _objectSpread({}, e);\n return delete t.ref, t;\n }\n }, {\n key: \"isAudioFile\",\n value: function isAudioFile(e) {\n var t = /\\.(mp3|ogg|wav|aac|webm|4a)$/i,\n i = e.type,\n n = e.src;\n return i === \"audio\" || (n == null ? void 0 : n.startsWith(\"data:audio\")) || n && t.test(n);\n }\n }, {\n key: \"isImageFile\",\n value: function isImageFile(e) {\n var t = e.type,\n i = e.src;\n return t === \"image\" || (i == null ? void 0 : i.startsWith(\"data:image\")) || i && Ee.isImageFileExtension(i);\n }\n }, {\n key: \"isImageFileExtension\",\n value: function isImageFileExtension(e) {\n return /\\.(jpg|jpeg|png|gif|bmp)$/i.test(e);\n }\n }]);\n}();\nEe.DEFAULT_FILE_NAME = \"file\";\nvar F = Ee;\nvar ei = /*#__PURE__*/function () {\n function ei() {\n _classCallCheck(this, ei);\n }\n return _createClass(ei, null, [{\n key: \"onMessage\",\n value: function onMessage(e, t, i) {\n var r;\n var n = JSON.parse(JSON.stringify({\n message: t,\n isHistory: i,\n isInitial: i\n }));\n F.reAddFileRefToObject(t, n), (r = e.onMessage) == null || r.call(e, n), e.dispatchEvent(new CustomEvent(\"message\", {\n detail: n\n })), te.fireOnNewMessage(e, n);\n }\n }, {\n key: \"onClearMessages\",\n value: function onClearMessages(e) {\n var t;\n (t = e.onClearMessages) == null || t.call(e), e.dispatchEvent(new CustomEvent(\"clear-messages\"));\n }\n }, {\n key: \"onRender\",\n value: function onRender(e) {\n var t;\n (t = e.onComponentRender) == null || t.call(e, e), e.dispatchEvent(new CustomEvent(\"render\", {\n detail: e\n }));\n }\n }, {\n key: \"onError\",\n value: function onError(e, t) {\n var i;\n (i = e.onError) == null || i.call(e, t), e.dispatchEvent(new CustomEvent(\"error\", {\n detail: t\n }));\n }\n }]);\n}();\nvar H = /*#__PURE__*/function () {\n function H() {\n _classCallCheck(this, H);\n }\n return _createClass(H, null, [{\n key: \"applyCustomStylesToElements\",\n value: function applyCustomStylesToElements(e, t, i) {\n if (i && (Object.assign(e.outerContainer.style, i.outerContainer), Object.assign(e.innerContainer.style, i.innerContainer), Object.assign(e.bubbleElement.style, i.bubble), t)) {\n var n = e.bubbleElement.children[0],\n r = n.tagName.toLocaleLowerCase() !== \"a\" ? n : n.children[0];\n Object.assign(r.style, i.media);\n }\n }\n }, {\n key: \"applySideStyles\",\n value: function applySideStyles(e, t, i, n) {\n n && (H.applyCustomStylesToElements(e, i, n.shared), t === b.USER_ROLE ? H.applyCustomStylesToElements(e, i, n.user) : (H.applyCustomStylesToElements(e, i, n.ai), H.applyCustomStylesToElements(e, i, n[t])));\n }\n }, {\n key: \"isElementsStyles\",\n value: function isElementsStyles(e) {\n return !!(e.outerContainer || e.innerContainer || e.bubble || e.media);\n }\n // prettier-ignore\n }, {\n key: \"applyCustomStyles\",\n value: function applyCustomStyles(e, t, i, n, r) {\n var o;\n r && e[\"default\"] !== r ? H.isElementsStyles(r) ? (H.applyCustomStylesToElements(t, n, (o = e[\"default\"]) == null ? void 0 : o.shared), H.applyCustomStylesToElements(t, n, r)) : (H.applySideStyles(t, i, n, e[\"default\"]), H.applySideStyles(t, i, n, r)) : H.applySideStyles(t, i, n, e[\"default\"]);\n }\n // prettier-ignore\n }, {\n key: \"extractParticularSharedStyles\",\n value: function extractParticularSharedStyles(e, t) {\n if (!(t != null && t.shared)) return;\n var i = t.shared,\n n = {\n outerContainer: {},\n innerContainer: {},\n bubble: {},\n media: {}\n };\n return e.forEach(function (r) {\n var o, a, l, c;\n n.outerContainer[r] = ((o = i.outerContainer) == null ? void 0 : o[r]) || \"\", n.innerContainer[r] = ((a = i.innerContainer) == null ? void 0 : a[r]) || \"\", n.bubble[r] = ((l = i.bubble) == null ? void 0 : l[r]) || \"\", n.media[r] = ((c = i.media) == null ? void 0 : c[r]) || \"\";\n }), n;\n }\n }]);\n}();\nvar ct = /*#__PURE__*/function () {\n function ct(e) {\n var _this3 = this;\n _classCallCheck(this, ct);\n this.messageElementRefs = [], this.messages = [], this.htmlClassUtilities = {}, this.textElementsToText = [], this.elementRef = ct.createContainerElement(), this.messageStyles = e.messageStyles, this._remarkable = Rt.createNew(), this._avatars = e.avatars, this._names = e.names, this._onMessage = ei.onMessage.bind(this, e), e.htmlClassUtilities && (this.htmlClassUtilities = e.htmlClassUtilities), setTimeout(function () {\n _this3.submitUserMessage = e.submitUserMessage;\n });\n }\n return _createClass(ct, [{\n key: \"addNewTextMessage\",\n value:\n // remove intro message is loaded some messages\n function addNewTextMessage(e, t, i) {\n var n = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : !1;\n if (i != null && i.status) {\n var a = this.overwriteText(t, e, this.messageElementRefs);\n if (a) return a;\n i.status = !1;\n }\n var r = n ? this.createAndPrependNewMessageElement(e, t, n) : this.createAndAppendNewMessageElement(e, t);\n r.bubbleElement.classList.add(\"text-message\"), this.applyCustomStyles(r, t, !1), b.fillEmptyMessageElement(r.bubbleElement, e);\n var o = [r, e];\n return b.updateRefArr(this.textElementsToText, o, n), r;\n }\n }, {\n key: \"overwriteText\",\n value: function overwriteText(e, t, i) {\n var n = b.overwriteMessage(this.messages, i, t, e, \"text\", \"text-message\");\n if (n) {\n this.renderText(n.bubbleElement, t);\n var r = b.getLastTextToElement(this.textElementsToText, n);\n r && (r[1] = t);\n }\n return n;\n }\n }, {\n key: \"createAndAppendNewMessageElement\",\n value: function createAndAppendNewMessageElement(e, t) {\n var _this4 = this;\n var i = this.createNewMessageElement(e, t);\n return this.elementRef.appendChild(i.outerContainer), setTimeout(function () {\n return q.scrollToBottom(_this4.elementRef);\n }), i;\n }\n }, {\n key: \"createAndPrependNewMessageElement\",\n value: function createAndPrependNewMessageElement(e, t, i) {\n var n = this.createNewMessageElement(e, t, i);\n return this.elementRef.insertBefore(n.outerContainer, this.elementRef.firstChild), n;\n }\n }, {\n key: \"createMessageElementsOnOrientation\",\n value: function createMessageElementsOnOrientation(e, t, i) {\n return i ? this.createAndPrependNewMessageElement(e, t, i) : this.createNewMessageElement(e, t, i);\n }\n }, {\n key: \"createNewMessageElement\",\n value: function createNewMessageElement(e, t) {\n var i = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : !1;\n var r;\n (r = this._introPanel) == null || r.hide();\n var n = this.messageElementRefs[this.messageElementRefs.length - 1];\n return ct.isTemporaryElement(n) && (n.outerContainer.remove(), this.messageElementRefs.pop()), this.createMessageElements(e, t, i);\n }\n }, {\n key: \"createMessageElements\",\n value: function createMessageElements(e, t) {\n var i = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : !1;\n var n = ct.createBaseElements(),\n r = n.outerContainer,\n o = n.innerContainer,\n a = n.bubbleElement;\n return r.appendChild(o), this.addInnerContainerElements(a, e, t), b.updateRefArr(this.messageElementRefs, n, i), n;\n }\n }, {\n key: \"addInnerContainerElements\",\n value:\n // prettier-ignore\n function addInnerContainerElements(e, t, i) {\n var n;\n return ((n = this.messages[this.messages.length - 1]) == null ? void 0 : n.role) === i && !this.isLastMessageError() && b.hideRoleElements(this.messageElementRefs, !!this._avatars, !!this._names), e.classList.add(\"message-bubble\", b.getRoleClass(i), i === b.USER_ROLE ? \"user-message-text\" : \"ai-message-text\"), this.renderText(e, t), b.addRoleElements(e, i, this._avatars, this._names), {\n bubbleElement: e\n };\n }\n // prettier-ignore\n }, {\n key: \"applyCustomStyles\",\n value: function applyCustomStyles(e, t, i, n) {\n e && this.messageStyles && H.applyCustomStyles(this.messageStyles, e, t, i, n);\n }\n }, {\n key: \"removeLastMessage\",\n value: function removeLastMessage() {\n this.messageElementRefs[this.messageElementRefs.length - 1].outerContainer.remove(), this.messageElementRefs.pop();\n }\n }, {\n key: \"isLastMessageError\",\n value: function isLastMessageError() {\n var e;\n return (e = b.getLastMessageBubbleElement(this.elementRef)) == null ? void 0 : e.classList.contains(\"error-message-text\");\n }\n }, {\n key: \"sendClientUpdate\",\n value: function sendClientUpdate(e) {\n var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !1;\n var i;\n (i = this._onMessage) == null || i.call(this, e, t);\n }\n }, {\n key: \"renderText\",\n value: function renderText(e, t) {\n e.innerHTML = this._remarkable.render(t), e.innerText.trim().length === 0 && (e.innerText = t);\n }\n // this is mostly used for enabling highlight.js to highlight code if it downloads later\n }, {\n key: \"refreshTextMessages\",\n value: function refreshTextMessages() {\n var _this5 = this;\n this._remarkable = Rt.createNew(), this.textElementsToText.forEach(function (e) {\n _this5.renderText(e[0].bubbleElement, e[1]);\n });\n }\n }], [{\n key: \"createContainerElement\",\n value: function createContainerElement() {\n var e = document.createElement(\"div\");\n return e.id = \"messages\", e;\n }\n }, {\n key: \"isTemporaryElement\",\n value: function isTemporaryElement(e) {\n return (e == null ? void 0 : e.bubbleElement.classList.contains(\"loading-message-text\")) || Pe.isElementTemporary(e);\n }\n }, {\n key: \"createBaseElements\",\n value: function createBaseElements() {\n var e = document.createElement(\"div\"),\n t = document.createElement(\"div\");\n t.classList.add(\"inner-message-container\"), e.appendChild(t), e.classList.add(\"outer-message-container\");\n var i = document.createElement(\"div\");\n return i.classList.add(\"message-bubble\"), t.appendChild(i), {\n outerContainer: e,\n innerContainer: t,\n bubbleElement: i\n };\n }\n }, {\n key: \"createMessageContent\",\n value: function createMessageContent(e) {\n var t = e.text,\n i = e.files,\n n = e.html,\n r = e._sessionId,\n o = e.role,\n a = {\n role: o || b.AI_ROLE\n };\n return t && (a.text = t), i && (a.files = i), n && (a.html = n), !t && !i && !n && (a.text = \"\"), r && (a._sessionId = r), a;\n }\n }]);\n}();\nvar Ie = /*#__PURE__*/function () {\n // used for extracting at end and for isStreaming\n function Ie(e) {\n _classCallCheck(this, Ie);\n this._fileAdded = !1, this._streamedContent = \"\", this._streamType = \"\", this._hasStreamEnded = !1, this._messages = e;\n }\n return _createClass(Ie, [{\n key: \"upsertStreamedMessage\",\n value: function upsertStreamedMessage(e) {\n var r;\n if (this._hasStreamEnded) return;\n if ((e == null ? void 0 : e.text) === void 0 && (e == null ? void 0 : e.html) === void 0) return console.error(A.INVALID_STREAM_EVENT);\n var t = (e == null ? void 0 : e.text) || (e == null ? void 0 : e.html) || \"\",\n i = q.isScrollbarAtBottomOfElement(this._messages.elementRef),\n n = (e == null ? void 0 : e.text) !== void 0 ? \"text\" : \"html\";\n if (!this._elements && this._streamedContent === \"\") this.setInitialState(n, t, e == null ? void 0 : e.role);else {\n if (this._streamType !== n) return console.error(A.INVALID_STREAM_EVENT_MIX);\n this.updateBasedOnType(t, n, (r = this._elements) == null ? void 0 : r.bubbleElement, e == null ? void 0 : e.overwrite);\n }\n i && q.scrollToBottom(this._messages.elementRef);\n }\n }, {\n key: \"setInitialState\",\n value: function setInitialState(e, t, i) {\n var _i8;\n this._streamType = e, (_i8 = i) !== null && _i8 !== void 0 ? _i8 : i = b.AI_ROLE, this._elements = e === \"text\" ? this._messages.addNewTextMessage(t, i) : ut.add(this._messages, t, i, this._messages.messageElementRefs), this._elements.bubbleElement.classList.add(Ie.MESSAGE_CLASS), this._streamedContent = t, this._activeMessageRole = i, this._message = _defineProperty({\n role: this._activeMessageRole\n }, e, this._streamedContent), this._messages.messages.push(this._message);\n }\n }, {\n key: \"updateBasedOnType\",\n value: function updateBasedOnType(e, t, i) {\n var n = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : !1;\n b.unfillEmptyMessageElement(i, e), (t === \"text\" ? this.updateText : this.updateHTML).bind(this)(e, i, n);\n }\n }, {\n key: \"updateText\",\n value: function updateText(e, t, i) {\n this._streamedContent = i ? e : this._streamedContent + e, this._messages.textElementsToText[this._messages.textElementsToText.length - 1][1] = this._streamedContent, this._messages.renderText(t, this._streamedContent);\n }\n }, {\n key: \"updateHTML\",\n value: function updateHTML(e, t, i) {\n if (i) this._streamedContent = e, t.innerHTML = e;else {\n var n = document.createElement(\"span\");\n n.innerHTML = e, t.appendChild(n), this._streamedContent = Ie.HTML_CONTENT_PLACEHOLDER;\n }\n }\n }, {\n key: \"finaliseStreamedMessage\",\n value: function finaliseStreamedMessage() {\n var t, i;\n var e = this._messages.textElementsToText;\n if (!this._endStreamAfterOperation && !(this._fileAdded && !this._elements)) {\n if (!this._elements) throw Error(A.NO_VALID_STREAM_EVENTS_SENT);\n (t = this._elements.bubbleElement) != null && t.classList.contains(Ie.MESSAGE_CLASS) && (this._streamType === \"text\" ? (e[e.length - 1][1] = this._streamedContent, this._message && (this._message.text = this._streamedContent), this._messages.textToSpeech && lt.speak(this._streamedContent, this._messages.textToSpeech)) : this._streamType === \"html\" && (this._streamedContent === Ie.HTML_CONTENT_PLACEHOLDER && (this._streamedContent = ((i = this._elements.bubbleElement) == null ? void 0 : i.innerHTML) || \"\"), this._elements && ee.apply(this._messages, this._elements.outerContainer), this._message && (this._message.html = this._streamedContent)), this._message && this._messages.sendClientUpdate(ct.createMessageContent(this._message), !1), this._hasStreamEnded = !0);\n }\n }\n }, {\n key: \"markFileAdded\",\n value: function markFileAdded() {\n this._fileAdded = !0;\n }\n }, {\n key: \"newMessage\",\n value: function newMessage() {\n this.finaliseStreamedMessage(), this._elements = void 0, this._streamedContent = \"\", this._fileAdded = !1, this._hasStreamEnded = !1, this._activeMessageRole = void 0;\n }\n // prettier-ignore\n }, {\n key: \"endStreamAfterFileDownloaded\",\n value: function () {\n var _endStreamAfterFileDownloaded = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(e, t) {\n var r, _yield$t, i, n;\n return _regeneratorRuntime().wrap(function _callee$(_context) {\n while (1) switch (_context.prev = _context.next) {\n case 0:\n this._endStreamAfterOperation = !0;\n _context.next = 3;\n return t();\n case 3:\n _yield$t = _context.sent;\n i = _yield$t.text;\n n = _yield$t.files;\n i && this.updateBasedOnType(i, \"text\", (r = this._elements) == null ? void 0 : r.bubbleElement, !0), this._endStreamAfterOperation = !1, this.finaliseStreamedMessage(), n && e.addNewMessage({\n files: n\n });\n case 7:\n case \"end\":\n return _context.stop();\n }\n }, _callee, this);\n }));\n function endStreamAfterFileDownloaded(_x, _x2) {\n return _endStreamAfterFileDownloaded.apply(this, arguments);\n }\n return endStreamAfterFileDownloaded;\n }()\n }]);\n}();\nIe.MESSAGE_CLASS = \"streamed-message\", Ie.HTML_CONTENT_PLACEHOLDER = \"htmlplaceholder\";\nvar me = Ie;\nvar He = /*#__PURE__*/function () {\n function He() {\n _classCallCheck(this, He);\n }\n return _createClass(He, null, [{\n key: \"tempRemoveContentHeader\",\n value: // need to pass stringifyBody boolean separately as binding is throwing an error for some reason\n // prettier-ignore\n function () {\n var _tempRemoveContentHeader = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(e, t, i) {\n var n, r;\n return _regeneratorRuntime().wrap(function _callee2$(_context2) {\n while (1) switch (_context2.prev = _context2.next) {\n case 0:\n if (e != null && e.headers) {\n _context2.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n n = e.headers[He.CONTENT_TYPE];\n delete e.headers[He.CONTENT_TYPE];\n _context2.prev = 4;\n _context2.next = 7;\n return t(i);\n case 7:\n r = _context2.sent;\n _context2.next = 13;\n break;\n case 10:\n _context2.prev = 10;\n _context2.t0 = _context2[\"catch\"](4);\n throw e.headers[He.CONTENT_TYPE] = n, _context2.t0;\n case 13:\n return _context2.abrupt(\"return\", (e.headers[He.CONTENT_TYPE] = n, r));\n case 14:\n case \"end\":\n return _context2.stop();\n }\n }, _callee2, null, [[4, 10]]);\n }));\n function tempRemoveContentHeader(_x7, _x8, _x9) {\n return _tempRemoveContentHeader.apply(this, arguments);\n }\n return tempRemoveContentHeader;\n }()\n }, {\n key: \"displayError\",\n value: function displayError(e, t) {\n var i = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : \"Service error, please try again.\";\n if (console.error(t), _typeof(t) == \"object\") return t instanceof Error ? e.addNewErrorMessage(\"service\", t.message) : Array.isArray(t) || typeof t.error == \"string\" ? e.addNewErrorMessage(\"service\", t) : Object.keys(t).length === 0 ? e.addNewErrorMessage(\"service\", i) : e.addNewErrorMessage(\"service\", JSON.stringify(t));\n e.addNewErrorMessage(\"service\", t);\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n }, {\n key: \"fetch\",\n value: function (_fetch) {\n function fetch(_x3, _x4, _x5, _x6) {\n return _fetch.apply(this, arguments);\n }\n fetch.toString = function () {\n return _fetch.toString();\n };\n return fetch;\n }(function (e, t, i, n) {\n var o, a;\n var r = {\n method: ((o = e.connectSettings) == null ? void 0 : o.method) || \"POST\",\n headers: t\n };\n return r.method !== \"GET\" && (r.body = i ? JSON.stringify(n) : n), e.connectSettings.credentials && (r.credentials = e.connectSettings.credentials), fetch(((a = e.connectSettings) == null ? void 0 : a.url) || e.url || \"\", r);\n })\n }, {\n key: \"processResponseByType\",\n value: function processResponseByType(e) {\n var t = e.headers.get(\"content-type\");\n return t != null && t.includes(\"application/json\") ? e.json() : t != null && t.includes(\"text/plain\") || !t ? e : e.blob();\n }\n }, {\n key: \"processRequestInterceptor\",\n value: function () {\n var _processRequestInterceptor = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(e, t) {\n var o, i, n, r;\n return _regeneratorRuntime().wrap(function _callee3$(_context3) {\n while (1) switch (_context3.prev = _context3.next) {\n case 0:\n _context3.next = 2;\n return (o = e.requestInterceptor) == null ? void 0 : o.call(e, t);\n case 2:\n _context3.t0 = _context3.sent;\n if (_context3.t0) {\n _context3.next = 5;\n break;\n }\n _context3.t0 = t;\n case 5:\n i = _context3.t0;\n n = i;\n r = i;\n return _context3.abrupt(\"return\", {\n body: n.body,\n headers: n.headers,\n error: r.error\n });\n case 9:\n case \"end\":\n return _context3.stop();\n }\n }, _callee3);\n }));\n function processRequestInterceptor(_x10, _x11) {\n return _processRequestInterceptor.apply(this, arguments);\n }\n return processRequestInterceptor;\n }()\n }, {\n key: \"validateResponseFormat\",\n value: function validateResponseFormat(e) {\n return e && _typeof(e) == \"object\" && (typeof e.error == \"string\" || typeof e.text == \"string\" || typeof e.html == \"string\" || Array.isArray(e.files));\n }\n }, {\n key: \"onInterceptorError\",\n value: function onInterceptorError(e, t, i) {\n e.addNewErrorMessage(\"service\", t), i == null || i();\n }\n }]);\n}();\nHe.CONTENT_TYPE = \"Content-Type\";\nvar v = He;\nfunction no(_x12, _x13) {\n return _no.apply(this, arguments);\n}\nfunction _no() {\n _no = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee125(s, e) {\n var t, i;\n return _regeneratorRuntime().wrap(function _callee125$(_context125) {\n while (1) switch (_context125.prev = _context125.next) {\n case 0:\n t = s.getReader();\n case 1:\n _context125.next = 3;\n return t.read();\n case 3:\n if ((i = _context125.sent).done) {\n _context125.next = 7;\n break;\n }\n e(i.value);\n case 5:\n _context125.next = 1;\n break;\n case 7:\n case \"end\":\n return _context125.stop();\n }\n }, _callee125);\n }));\n return _no.apply(this, arguments);\n}\nfunction so(s) {\n var e,\n t,\n i,\n n = !1;\n return function (o) {\n e === void 0 ? (e = o, t = 0, i = -1) : e = oo(e, o);\n var a = e.length;\n var l = 0;\n for (; t < a;) {\n n && (e[t] === 10 && (l = ++t), n = !1);\n var c = -1;\n for (; t < a && c === -1; ++t) switch (e[t]) {\n case 58:\n i === -1 && (i = t - l);\n break;\n case 13:\n n = !0;\n case 10:\n c = t;\n break;\n }\n if (c === -1) break;\n s(e.subarray(l, c), i), l = t, i = -1;\n }\n l === a ? e = void 0 : l !== 0 && (e = e.subarray(l), t -= l);\n };\n}\nfunction ro(s, e, t) {\n var i = Pn();\n var n = new TextDecoder();\n return function (o, a) {\n if (o.length === 0) t == null || t(i), i = Pn();else if (a > 0) {\n var l = n.decode(o.subarray(0, a)),\n c = a + (o[a + 1] === 32 ? 2 : 1),\n d = n.decode(o.subarray(c));\n switch (l) {\n case \"data\":\n i.data = i.data ? i.data + \"\\n\" + d : d;\n break;\n case \"event\":\n i.event = d;\n break;\n case \"id\":\n s(i.id = d);\n break;\n case \"retry\":\n var h = parseInt(d, 10);\n isNaN(h) || e(i.retry = h);\n break;\n }\n }\n };\n}\nfunction oo(s, e) {\n var t = new Uint8Array(s.length + e.length);\n return t.set(s), t.set(e, s.length), t;\n}\nfunction Pn() {\n return {\n data: \"\",\n event: \"\",\n id: \"\",\n retry: void 0\n };\n}\nvar ao = function ao(s, e) {\n var t = {};\n for (var i in s) Object.prototype.hasOwnProperty.call(s, i) && e.indexOf(i) < 0 && (t[i] = s[i]);\n if (s != null && typeof Object.getOwnPropertySymbols == \"function\") for (var n = 0, i = Object.getOwnPropertySymbols(s); n < i.length; n++) e.indexOf(i[n]) < 0 && Object.prototype.propertyIsEnumerable.call(s, i[n]) && (t[i[n]] = s[i[n]]);\n return t;\n};\nvar Xi = \"text/event-stream\",\n lo = 1e3,\n On = \"last-event-id\";\nfunction co(s, e) {\n var t = e.signal,\n i = e.headers,\n n = e.onopen,\n r = e.onmessage,\n o = e.onclose,\n a = e.onerror,\n l = e.openWhenHidden,\n c = e.fetch,\n d = ao(e, [\"signal\", \"headers\", \"onopen\", \"onmessage\", \"onclose\", \"onerror\", \"openWhenHidden\", \"fetch\"]);\n return new Promise(function (h, u) {\n var f = Object.assign({}, i);\n f.accept || (f.accept = Xi);\n var m;\n function p() {\n m.abort(), document.hidden || R();\n }\n l || document.addEventListener(\"visibilitychange\", p);\n var y = lo,\n x = 0;\n function j() {\n document.removeEventListener(\"visibilitychange\", p), window.clearTimeout(x), m.abort();\n }\n t == null || t.addEventListener(\"abort\", function () {\n j(), h();\n });\n var V = c !== null && c !== void 0 ? c : window.fetch,\n Ae = n !== null && n !== void 0 ? n : ho;\n function R() {\n return _R.apply(this, arguments);\n }\n function _R() {\n _R = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {\n var X, Z, D;\n return _regeneratorRuntime().wrap(function _callee4$(_context4) {\n while (1) switch (_context4.prev = _context4.next) {\n case 0:\n m = new AbortController();\n _context4.prev = 1;\n _context4.next = 4;\n return V(s, Object.assign(Object.assign({}, d), {\n headers: f,\n signal: m.signal\n }));\n case 4:\n Z = _context4.sent;\n _context4.next = 7;\n return Ae(Z);\n case 7:\n _context4.next = 9;\n return no(Z.body, so(ro(function (D) {\n D ? f[On] = D : delete f[On];\n }, function (D) {\n y = D;\n }, r)));\n case 9:\n o == null || o();\n j();\n h();\n _context4.next = 17;\n break;\n case 14:\n _context4.prev = 14;\n _context4.t0 = _context4[\"catch\"](1);\n if (!m.signal.aborted) try {\n D = (X = a == null ? void 0 : a(_context4.t0)) !== null && X !== void 0 ? X : y;\n window.clearTimeout(x), x = window.setTimeout(R, D);\n } catch (D) {\n j(), u(D);\n }\n case 17:\n case \"end\":\n return _context4.stop();\n }\n }, _callee4, null, [[1, 14]]);\n }));\n return _R.apply(this, arguments);\n }\n R();\n });\n}\nfunction ho(s) {\n var e = s.headers.get(\"content-type\");\n if (!(e != null && e.startsWith(Xi))) throw new Error(\"Expected content-type to be \".concat(Xi, \", Actual: \").concat(e));\n}\nvar C = /*#__PURE__*/function () {\n function C() {\n _classCallCheck(this, C);\n }\n return _createClass(C, null, [{\n key: \"request\",\n value: // prettier-ignore\n function () {\n var _request = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7(e, t, i) {\n var n,\n r,\n p,\n y,\n x,\n j,\n V,\n Ae,\n o,\n _yield$v$processReque,\n a,\n l,\n c,\n _e$streamHandlers,\n d,\n h,\n u,\n f,\n m,\n _args7 = arguments;\n return _regeneratorRuntime().wrap(function _callee7$(_context7) {\n while (1) switch (_context7.prev = _context7.next) {\n case 0:\n n = _args7.length > 3 && _args7[3] !== undefined ? _args7[3] : !0;\n r = _args7.length > 4 && _args7[4] !== undefined ? _args7[4] : !1;\n o = {\n body: t,\n headers: (p = e.connectSettings) == null ? void 0 : p.headers\n };\n _context7.next = 5;\n return v.processRequestInterceptor(e.deepChat, o);\n case 5:\n _yield$v$processReque = _context7.sent;\n a = _yield$v$processReque.body;\n l = _yield$v$processReque.headers;\n c = _yield$v$processReque.error;\n _e$streamHandlers = e.streamHandlers;\n d = _e$streamHandlers.onOpen;\n h = _e$streamHandlers.onClose;\n u = _e$streamHandlers.abortStream;\n if (!c) {\n _context7.next = 15;\n break;\n }\n return _context7.abrupt(\"return\", v.onInterceptorError(i, c, h));\n case 15:\n if (!((y = e.connectSettings) != null && y.handler)) {\n _context7.next = 17;\n break;\n }\n return _context7.abrupt(\"return\", we.stream(e, a, i));\n case 17:\n if (!(((x = e.connectSettings) == null ? void 0 : x.url) === ge.URL)) {\n _context7.next = 19;\n break;\n }\n return _context7.abrupt(\"return\", ge.requestStream(i, e.streamHandlers));\n case 19:\n f = new me(i), m = v.fetch.bind(this, e, l, n);\n return _context7.abrupt(\"return\", (co(((j = e.connectSettings) == null ? void 0 : j.url) || e.url || \"\", {\n method: ((V = e.connectSettings) == null ? void 0 : V.method) || \"POST\",\n headers: l,\n credentials: (Ae = e.connectSettings) == null ? void 0 : Ae.credentials,\n body: n ? JSON.stringify(a) : a,\n openWhenHidden: !0,\n // keep stream open when browser tab not open\n onopen: function onopen(R) {\n return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5() {\n return _regeneratorRuntime().wrap(function _callee5$(_context5) {\n while (1) switch (_context5.prev = _context5.next) {\n case 0:\n if (!R.ok) {\n _context5.next = 2;\n break;\n }\n return _context5.abrupt(\"return\", d());\n case 2:\n _context5.next = 4;\n return v.processResponseByType(R);\n case 4:\n throw _context5.sent;\n case 5:\n case \"end\":\n return _context5.stop();\n }\n }, _callee5);\n }))();\n },\n onmessage: function onmessage(R) {\n return _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6() {\n var X, Z, D, Ne, gt;\n return _regeneratorRuntime().wrap(function _callee6$(_context6) {\n while (1) switch (_context6.prev = _context6.next) {\n case 0:\n if (!(JSON.stringify(R.data) !== JSON.stringify(\"[DONE]\"))) {\n _context6.next = 9;\n break;\n }\n try {\n Ne = JSON.parse(R.data);\n } catch (_unused6) {\n Ne = {};\n }\n _context6.next = 4;\n return (Z = (X = e.deepChat).responseInterceptor) == null ? void 0 : Z.call(X, Ne);\n case 4:\n _context6.t0 = _context6.sent;\n if (_context6.t0) {\n _context6.next = 7;\n break;\n }\n _context6.t0 = Ne;\n case 7:\n gt = _context6.t0;\n (D = e.extractResultData) == null || D.call(e, gt, m, a).then(function (De) {\n e.asyncCallInProgress && De && De.text !== \"\" ? (C.simulate(i, e.streamHandlers, De), h(), e.asyncCallInProgress = !1) : C.upsertWFiles(i, f.upsertStreamedMessage.bind(f), f, De);\n })[\"catch\"](function (De) {\n return v.displayError(i, De);\n });\n case 9:\n case \"end\":\n return _context6.stop();\n }\n }, _callee6);\n }))();\n },\n onerror: function onerror(R) {\n throw h(), R;\n },\n onclose: function onclose() {\n if (!e.asyncCallInProgress) try {\n f.finaliseStreamedMessage(), h();\n } catch (R) {\n if (!r) throw R;\n }\n },\n signal: u.signal\n })[\"catch\"](function (R) {\n var X;\n i.isLastMessageError() || (X = e.extractResultData) == null || X.call(e, R).then(function () {\n v.displayError(i, R);\n })[\"catch\"](function (Z) {\n v.displayError(i, Z);\n });\n }), f));\n case 21:\n case \"end\":\n return _context7.stop();\n }\n }, _callee7, this);\n }));\n function request(_x14, _x15, _x16) {\n return _request.apply(this, arguments);\n }\n return request;\n }()\n }, {\n key: \"simulate\",\n value: function simulate(e, t, i) {\n var n = t;\n if (i.files && e.addNewMessage(_objectSpread({\n sendUpdate: !1,\n ignoreText: !0\n }, i), !1), i.text) {\n t.onOpen();\n var r = i.text.split(\"\");\n C.populateMessages(r, new me(e), n, \"text\");\n }\n if (i.html) {\n t.onOpen();\n var _r2 = ee.splitHTML(i.html);\n C.populateMessages(_r2, new me(e), n, \"html\");\n }\n }\n // prettier-ignore\n }, {\n key: \"populateMessages\",\n value: function populateMessages(e, t, i, n) {\n var r = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 0;\n var o = e[r];\n if (o) {\n t.upsertStreamedMessage(_defineProperty({}, n, o));\n var a = setTimeout(function () {\n C.populateMessages(e, t, i, n, r + 1);\n }, i.simulationInterim || 6);\n i.abortStream.abort = function () {\n C.abort(a, t, i.onClose);\n };\n } else t.finaliseStreamedMessage(), i.onClose();\n }\n }, {\n key: \"isSimulation\",\n value: function isSimulation(e) {\n return _typeof(e) == \"object\" && !!e.simulation;\n }\n }, {\n key: \"isSimulatable\",\n value: function isSimulatable(e, t) {\n return C.isSimulation(e) && t && (t.text || t.html);\n }\n }, {\n key: \"abort\",\n value: function abort(e, t, i) {\n clearTimeout(e), t.finaliseStreamedMessage(), i();\n }\n }, {\n key: \"upsertWFiles\",\n value: function upsertWFiles(e, t, i, n) {\n if (n != null && n.text || n != null && n.html) {\n var _i9;\n var r = t(n);\n (_i9 = i) !== null && _i9 !== void 0 ? _i9 : i = r || void 0;\n }\n n != null && n.files && (e.addNewMessage({\n files: n.files\n }), i == null || i.markFileAdded());\n }\n }]);\n}();\nvar qe = /*#__PURE__*/function () {\n function qe() {\n _classCallCheck(this, qe);\n }\n return _createClass(qe, null, [{\n key: \"generateResponse\",\n value: function generateResponse(e) {\n var t = e.messages[e.messages.length - 1];\n if (t.files && t.files.length > 0) {\n if (t.files.length > 1) return \"These are interesting files!\";\n var i = t.files[0];\n return i.src && i.src.startsWith(\"data:image/gif\") ? \"That is a nice gif!\" : i.type === \"image\" ? \"That is a nice image!\" : i.type === \"audio\" ? \"I like the sound of that!\" : \"That is an interesting file!\";\n }\n if (t.text) {\n if (t.text.charAt(t.text.length - 1) === \"?\") return \"I'm sorry but I can't answer that question...\";\n if (t.text.includes(\"updog\")) return \"What's updog?\";\n }\n return \"Hi there! This is a demo response!\";\n }\n }, {\n key: \"getCustomResponse\",\n value: function getCustomResponse(e, t) {\n return typeof e == \"function\" ? e(t) : e;\n }\n }, {\n key: \"getResponse\",\n value: function getResponse(e) {\n return e.customDemoResponse ? qe.getCustomResponse(e.customDemoResponse, e.messages[e.messages.length - 1]) : {\n text: qe.generateResponse(e)\n };\n }\n // timeout is used to simulate a timeout for a response to come back\n }, {\n key: \"request\",\n value: function request(e, t) {\n var i = qe.getResponse(t);\n setTimeout( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee8() {\n var r, o, n;\n return _regeneratorRuntime().wrap(function _callee8$(_context8) {\n while (1) switch (_context8.prev = _context8.next) {\n case 0:\n _context8.next = 2;\n return (o = (r = e.deepChat).responseInterceptor) == null ? void 0 : o.call(r, i);\n case 2:\n _context8.t0 = _context8.sent;\n if (_context8.t0) {\n _context8.next = 5;\n break;\n }\n _context8.t0 = i;\n case 5:\n n = _context8.t0;\n n.error ? (t.addNewErrorMessage(\"service\", n.error), e.completionsHandlers.onFinish()) : C.isSimulatable(e.stream, n) ? C.simulate(t, e.streamHandlers, n) : (t.addNewMessage(n), e.completionsHandlers.onFinish());\n case 7:\n case \"end\":\n return _context8.stop();\n }\n }, _callee8);\n })), 400);\n }\n // timeout is used to simulate a timeout for a response to come back\n }, {\n key: \"requestStream\",\n value: function requestStream(e, t) {\n setTimeout(function () {\n var i = qe.getResponse(e);\n C.simulate(e, t, i);\n }, 400);\n }\n }]);\n}();\nqe.URL = \"deep-chat-demo\";\nvar ge = qe;\nvar B = /*#__PURE__*/function () {\n function B() {\n _classCallCheck(this, B);\n }\n return _createClass(B, null, [{\n key: \"setup\",\n value: function setup(e) {\n e.connectSettings.url !== ge.URL && (e.permittedErrorPrefixes = [\"Connection error\", \"Error in server message\"], e.websocket = \"pending\");\n }\n }, {\n key: \"isElementPresentInDOM\",\n value: function isElementPresentInDOM(e) {\n return e.getRootNode({\n composed: !0\n }) instanceof Document;\n }\n }, {\n key: \"createConnection\",\n value: function createConnection(e, t) {\n if (!B.isElementPresentInDOM(e.deepChat)) return;\n var i = e.connectSettings.websocket;\n if (i) {\n if (e.connectSettings.handler) return we.websocket(e, t);\n try {\n var n = typeof i != \"boolean\" ? i : void 0,\n r = new WebSocket(e.connectSettings.url || \"\", n);\n e.websocket = r, e.websocket.onopen = function () {\n var o, a;\n t.removeError(), e.websocket && _typeof(e.websocket) == \"object\" && B.assignListeners(e, r, t), (a = (o = e.deepChat)._validationHandler) == null || a.call(o);\n }, e.websocket.onerror = function (o) {\n console.error(o), B.retryConnection(e, t);\n };\n } catch (n) {\n console.error(n), B.retryConnection(e, t);\n }\n }\n }\n }, {\n key: \"retryConnection\",\n value: function retryConnection(e, t) {\n var i, n;\n (n = (i = e.deepChat)._validationHandler) == null || n.call(i), B.isElementPresentInDOM(e.deepChat) && (e.websocket = \"pending\", t.isLastMessageError() || t.addNewErrorMessage(\"service\", \"Connection error\"), setTimeout(function () {\n B.createConnection(e, t);\n }, 5e3));\n }\n }, {\n key: \"assignListeners\",\n value: function assignListeners(e, t, i) {\n var _this6 = this;\n var n = {};\n t.onmessage = /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee9(r) {\n var o, a, l, c, d, h, u;\n return _regeneratorRuntime().wrap(function _callee9$(_context9) {\n while (1) switch (_context9.prev = _context9.next) {\n case 0:\n if (!e.extractResultData) {\n _context9.next = 20;\n break;\n }\n _context9.prev = 1;\n l = JSON.parse(r.data);\n _context9.next = 5;\n return (a = (o = e.deepChat).responseInterceptor) == null ? void 0 : a.call(o, l);\n case 5:\n _context9.t0 = _context9.sent;\n if (_context9.t0) {\n _context9.next = 8;\n break;\n }\n _context9.t0 = l;\n case 8:\n c = _context9.t0;\n _context9.next = 11;\n return e.extractResultData(c);\n case 11:\n d = _context9.sent;\n if (!(!d || _typeof(d) != \"object\")) {\n _context9.next = 14;\n break;\n }\n throw Error(A.INVALID_RESPONSE(l, \"server\", !!e.deepChat.responseInterceptor, c));\n case 14:\n if (C.isSimulation(e.stream)) {\n h = B.stream.bind(_this6, e, i, n), u = n[l.role || b.AI_ROLE];\n C.upsertWFiles(i, h, u, d);\n } else i.addNewMessage(d);\n _context9.next = 20;\n break;\n case 17:\n _context9.prev = 17;\n _context9.t1 = _context9[\"catch\"](1);\n v.displayError(i, _context9.t1, \"Error in server message\");\n case 20:\n case \"end\":\n return _context9.stop();\n }\n }, _callee9, null, [[1, 17]]);\n }));\n return function (_x17) {\n return _ref2.apply(this, arguments);\n };\n }(), t.onclose = function () {\n console.error(\"Connection closed\"), i.isLastMessageError() || i.addNewErrorMessage(\"service\", \"Connection error\"), e.stream && e.streamHandlers.abortStream.abort(), B.createConnection(e, i);\n };\n }\n }, {\n key: \"sendWebsocket\",\n value: function () {\n var _sendWebsocket = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee10(e, t, i) {\n var n,\n d,\n h,\n r,\n o,\n _yield$v$processReque2,\n a,\n l,\n c,\n _args10 = arguments;\n return _regeneratorRuntime().wrap(function _callee10$(_context10) {\n while (1) switch (_context10.prev = _context10.next) {\n case 0:\n n = _args10.length > 3 && _args10[3] !== undefined ? _args10[3] : !0;\n r = e.websocket;\n if (!(!r || r === \"pending\")) {\n _context10.next = 4;\n break;\n }\n return _context10.abrupt(\"return\");\n case 4:\n o = {\n body: t,\n headers: (d = e.connectSettings) == null ? void 0 : d.headers\n };\n _context10.next = 7;\n return v.processRequestInterceptor(e.deepChat, o);\n case 7:\n _yield$v$processReque2 = _context10.sent;\n a = _yield$v$processReque2.body;\n l = _yield$v$processReque2.error;\n if (!l) {\n _context10.next = 12;\n break;\n }\n return _context10.abrupt(\"return\", i.addNewErrorMessage(\"service\", l));\n case 12:\n if (B.isWebSocket(r)) {\n _context10.next = 14;\n break;\n }\n return _context10.abrupt(\"return\", r.newUserMessage.listener(a));\n case 14:\n c = n ? JSON.stringify(a) : a;\n if (!(((h = e.connectSettings) == null ? void 0 : h.url) === ge.URL)) {\n _context10.next = 17;\n break;\n }\n return _context10.abrupt(\"return\", ge.request(e, i));\n case 17:\n r.readyState === void 0 || r.readyState !== r.OPEN ? (console.error(\"Connection is not open\"), i.isLastMessageError() || i.addNewErrorMessage(\"service\", \"Connection error\")) : (r.send(JSON.stringify(c)), e.completionsHandlers.onFinish());\n case 18:\n case \"end\":\n return _context10.stop();\n }\n }, _callee10);\n }));\n function sendWebsocket(_x18, _x19, _x20) {\n return _sendWebsocket.apply(this, arguments);\n }\n return sendWebsocket;\n }()\n }, {\n key: \"canSendMessage\",\n value: function canSendMessage(e) {\n return e ? e === \"pending\" ? !1 : B.isWebSocket(e) ? e.readyState !== void 0 && e.readyState === e.OPEN : e.isOpen : !0;\n }\n // if false then it is the internal websocket handler\n }, {\n key: \"isWebSocket\",\n value: function isWebSocket(e) {\n return e.send !== void 0;\n }\n }, {\n key: \"stream\",\n value: function stream(e, t, i, n) {\n if (!n) return;\n var r = e.stream.simulation;\n if (typeof r == \"string\") {\n var _i$o;\n var o = n.role || b.AI_ROLE,\n a = i[o];\n n.text === r || n.html === r ? (a == null || a.finaliseStreamedMessage(), delete i[o]) : ((_i$o = i[o]) !== null && _i$o !== void 0 ? _i$o : i[o] = new me(t), i[o].upsertStreamedMessage(n));\n } else C.simulate(t, e.streamHandlers, n);\n }\n }]);\n}();\nvar we = /*#__PURE__*/function () {\n function we() {\n _classCallCheck(this, we);\n }\n return _createClass(we, null, [{\n key: \"request\",\n value: function () {\n var _request2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee12(e, t, i) {\n var a, l, n, r, o;\n return _regeneratorRuntime().wrap(function _callee12$(_context12) {\n while (1) switch (_context12.prev = _context12.next) {\n case 0:\n n = !0;\n r = /*#__PURE__*/function () {\n var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee11(c) {\n var h, u, d;\n return _regeneratorRuntime().wrap(function _callee11$(_context11) {\n while (1) switch (_context11.prev = _context11.next) {\n case 0:\n if (n) {\n _context11.next = 2;\n break;\n }\n return _context11.abrupt(\"return\");\n case 2:\n n = !1;\n _context11.next = 5;\n return (u = (h = e.deepChat).responseInterceptor) == null ? void 0 : u.call(h, c);\n case 5:\n _context11.t0 = _context11.sent;\n if (_context11.t0) {\n _context11.next = 8;\n break;\n }\n _context11.t0 = c;\n case 8:\n d = _context11.t0;\n v.validateResponseFormat(d) ? typeof d.error == \"string\" ? (console.error(d.error), i.addNewErrorMessage(\"service\", d.error), e.completionsHandlers.onFinish()) : C.isSimulatable(e.stream, d) ? C.simulate(i, e.streamHandlers, d) : (i.addNewMessage(d), e.completionsHandlers.onFinish()) : (console.error(A.INVALID_RESPONSE(c, \"server\", !!e.deepChat.responseInterceptor, d)), i.addNewErrorMessage(\"service\", \"Error in server message\"), e.completionsHandlers.onFinish());\n case 10:\n case \"end\":\n return _context11.stop();\n }\n }, _callee11);\n }));\n return function r(_x24) {\n return _ref3.apply(this, arguments);\n };\n }(), o = we.generateOptionalSignals();\n (l = (a = e.connectSettings).handler) == null || l.call(a, t, _objectSpread(_objectSpread({}, o), {}, {\n onResponse: r\n }));\n case 3:\n case \"end\":\n return _context12.stop();\n }\n }, _callee12);\n }));\n function request(_x21, _x22, _x23) {\n return _request2.apply(this, arguments);\n }\n return request;\n }()\n }, {\n key: \"attemptToFinaliseStream\",\n value: function attemptToFinaliseStream(e, t) {\n try {\n e.finaliseStreamedMessage();\n } catch (i) {\n console.error(i), t.addNewErrorMessage(\"service\", i);\n }\n }\n // prettier-ignore\n }, {\n key: \"stream\",\n value: function stream(e, t, i) {\n var h, u;\n var n = !0,\n r = !1;\n var o = new me(i),\n a = function a() {\n r || !n || (e.streamHandlers.onOpen(), r = !0);\n },\n l = function l() {\n n && (we.attemptToFinaliseStream(o, i), e.streamHandlers.onClose(), n = !1);\n },\n c = /*#__PURE__*/function () {\n var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee13(f) {\n var p, y, m;\n return _regeneratorRuntime().wrap(function _callee13$(_context13) {\n while (1) switch (_context13.prev = _context13.next) {\n case 0:\n if (n) {\n _context13.next = 2;\n break;\n }\n return _context13.abrupt(\"return\");\n case 2:\n _context13.next = 4;\n return (y = (p = e.deepChat).responseInterceptor) == null ? void 0 : y.call(p, f);\n case 4:\n _context13.t0 = _context13.sent;\n if (_context13.t0) {\n _context13.next = 7;\n break;\n }\n _context13.t0 = f;\n case 7:\n m = _context13.t0;\n v.validateResponseFormat(m) ? m.error ? (console.error(m.error), o.finaliseStreamedMessage(), i.addNewErrorMessage(\"service\", m.error), e.streamHandlers.onClose(), n = !1) : C.upsertWFiles(i, o.upsertStreamedMessage.bind(o), o, m) : console.error(A.INVALID_RESPONSE(f, \"server\", !!e.deepChat.responseInterceptor, m));\n case 9:\n case \"end\":\n return _context13.stop();\n }\n }, _callee13);\n }));\n return function c(_x25) {\n return _ref4.apply(this, arguments);\n };\n }();\n e.streamHandlers.abortStream.abort = function () {\n we.attemptToFinaliseStream(o, i), e.streamHandlers.onClose(), n = !1;\n };\n var d = we.generateOptionalSignals();\n (u = (h = e.connectSettings).handler) == null || u.call(h, t, _objectSpread(_objectSpread({}, d), {}, {\n onOpen: a,\n onResponse: c,\n onClose: l,\n stopClicked: e.streamHandlers.stopClicked\n }));\n }\n // prettier-ignore\n }, {\n key: \"websocket\",\n value: function websocket(e, t) {\n var _this7 = this;\n var l, c;\n var i = {\n isOpen: !1,\n newUserMessage: {\n listener: function listener() {}\n },\n roleToStream: {}\n };\n e.websocket = i;\n var n = function n() {\n t.removeError(), i.isOpen = !0;\n },\n r = function r() {\n i.isOpen = !1;\n },\n o = /*#__PURE__*/function () {\n var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee14(d) {\n var u, f, h, m, p;\n return _regeneratorRuntime().wrap(function _callee14$(_context14) {\n while (1) switch (_context14.prev = _context14.next) {\n case 0:\n if (i.isOpen) {\n _context14.next = 2;\n break;\n }\n return _context14.abrupt(\"return\");\n case 2:\n _context14.next = 4;\n return (f = (u = e.deepChat).responseInterceptor) == null ? void 0 : f.call(u, d);\n case 4:\n _context14.t0 = _context14.sent;\n if (_context14.t0) {\n _context14.next = 7;\n break;\n }\n _context14.t0 = d;\n case 7:\n h = _context14.t0;\n if (!v.validateResponseFormat(h)) console.error(A.INVALID_RESPONSE(d, \"server\", !!e.deepChat.responseInterceptor, h)), t.addNewErrorMessage(\"service\", \"Error in server message\");else if (typeof h.error == \"string\") console.error(h.error), t.isLastMessageError() || t.addNewErrorMessage(\"service\", h.error);else if (C.isSimulation(e.stream)) {\n m = B.stream.bind(_this7, e, t, i.roleToStream), p = i.roleToStream[d.role || b.AI_ROLE];\n C.upsertWFiles(t, m, p, d);\n } else t.addNewMessage(h);\n case 9:\n case \"end\":\n return _context14.stop();\n }\n }, _callee14);\n }));\n return function o(_x26) {\n return _ref5.apply(this, arguments);\n };\n }(),\n a = we.generateOptionalSignals();\n (c = (l = e.connectSettings).handler) == null || c.call(l, void 0, _objectSpread(_objectSpread({}, a), {}, {\n onOpen: n,\n onResponse: o,\n onClose: r,\n newUserMessage: i.newUserMessage\n }));\n }\n }, {\n key: \"generateOptionalSignals\",\n value: function generateOptionalSignals() {\n return {\n onClose: function onClose() {},\n onOpen: function onOpen() {},\n stopClicked: {\n listener: function listener() {}\n },\n newUserMessage: {\n listener: function listener() {}\n }\n };\n }\n }]);\n}();\nvar T = /*#__PURE__*/function () {\n function T() {\n _classCallCheck(this, T);\n }\n return _createClass(T, null, [{\n key: \"request\",\n value: // prettier-ignore\n function () {\n var _request3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee16(e, t, i) {\n var n,\n u,\n f,\n m,\n r,\n _yield$v$processReque3,\n o,\n a,\n l,\n c,\n d,\n h,\n _args16 = arguments;\n return _regeneratorRuntime().wrap(function _callee16$(_context16) {\n while (1) switch (_context16.prev = _context16.next) {\n case 0:\n n = _args16.length > 3 && _args16[3] !== undefined ? _args16[3] : !0;\n r = {\n body: t,\n headers: (u = e.connectSettings) == null ? void 0 : u.headers\n };\n _context16.next = 4;\n return v.processRequestInterceptor(e.deepChat, r);\n case 4:\n _yield$v$processReque3 = _context16.sent;\n o = _yield$v$processReque3.body;\n a = _yield$v$processReque3.headers;\n l = _yield$v$processReque3.error;\n c = e.completionsHandlers.onFinish;\n if (!l) {\n _context16.next = 11;\n break;\n }\n return _context16.abrupt(\"return\", v.onInterceptorError(i, l, c));\n case 11:\n if (!((f = e.connectSettings) != null && f.handler)) {\n _context16.next = 13;\n break;\n }\n return _context16.abrupt(\"return\", we.request(e, o, i));\n case 13:\n if (!(((m = e.connectSettings) == null ? void 0 : m.url) === ge.URL)) {\n _context16.next = 15;\n break;\n }\n return _context16.abrupt(\"return\", ge.request(e, i));\n case 15:\n d = !0;\n h = v.fetch.bind(this, e, a, n);\n h(o).then(function (p) {\n return d = !!p.ok, p;\n }).then(function (p) {\n return v.processResponseByType(p);\n }).then( /*#__PURE__*/function () {\n var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee15(p) {\n var j, V, y, x;\n return _regeneratorRuntime().wrap(function _callee15$(_context15) {\n while (1) switch (_context15.prev = _context15.next) {\n case 0:\n if (e.extractResultData) {\n _context15.next = 2;\n break;\n }\n return _context15.abrupt(\"return\");\n case 2:\n _context15.next = 4;\n return (V = (j = e.deepChat).responseInterceptor) == null ? void 0 : V.call(j, p);\n case 4:\n _context15.t0 = _context15.sent;\n if (_context15.t0) {\n _context15.next = 7;\n break;\n }\n _context15.t0 = p;\n case 7:\n y = _context15.t0;\n _context15.next = 10;\n return e.extractResultData(y, h, o);\n case 10:\n x = _context15.sent;\n if (d) {\n _context15.next = 13;\n break;\n }\n throw p;\n case 13:\n if (!(!x || _typeof(x) != \"object\")) {\n _context15.next = 15;\n break;\n }\n throw Error(A.INVALID_RESPONSE(p, \"response\", !!e.deepChat.responseInterceptor, y));\n case 15:\n x.makingAnotherRequest || (C.isSimulatable(e.stream, x) ? C.simulate(i, e.streamHandlers, x) : (i.addNewMessage(x), c()));\n case 16:\n case \"end\":\n return _context15.stop();\n }\n }, _callee15);\n }));\n return function (_x30) {\n return _ref6.apply(this, arguments);\n };\n }())[\"catch\"](function (p) {\n v.displayError(i, p), c();\n });\n case 18:\n case \"end\":\n return _context16.stop();\n }\n }, _callee16, this);\n }));\n function request(_x27, _x28, _x29) {\n return _request3.apply(this, arguments);\n }\n return request;\n }()\n }, {\n key: \"executePollRequest\",\n value: function executePollRequest(e, t, i, n) {\n var r = e.completionsHandlers.onFinish;\n fetch(t, i).then(function (o) {\n return o.json();\n }).then( /*#__PURE__*/function () {\n var _ref7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee17(o) {\n var l, c, a;\n return _regeneratorRuntime().wrap(function _callee17$(_context17) {\n while (1) switch (_context17.prev = _context17.next) {\n case 0:\n if (e.extractPollResultData) {\n _context17.next = 2;\n break;\n }\n return _context17.abrupt(\"return\");\n case 2:\n _context17.t0 = e;\n _context17.next = 5;\n return (c = (l = e.deepChat).responseInterceptor) == null ? void 0 : c.call(l, o);\n case 5:\n _context17.t1 = _context17.sent;\n if (_context17.t1) {\n _context17.next = 8;\n break;\n }\n _context17.t1 = o;\n case 8:\n _context17.t2 = _context17.t1;\n _context17.next = 11;\n return _context17.t0.extractPollResultData.call(_context17.t0, _context17.t2);\n case 11:\n a = _context17.sent;\n a.timeoutMS ? setTimeout(function () {\n T.executePollRequest(e, t, i, n);\n }, a.timeoutMS) : C.isSimulatable(e.stream, a) ? C.simulate(n, e.streamHandlers, a) : (n.addNewMessage(a), r());\n case 13:\n case \"end\":\n return _context17.stop();\n }\n }, _callee17);\n }));\n return function (_x31) {\n return _ref7.apply(this, arguments);\n };\n }())[\"catch\"](function (o) {\n v.displayError(n, o), r();\n });\n }\n // prettier-ignore\n }, {\n key: \"poll\",\n value: function () {\n var _poll = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee18(e, t, i) {\n var n,\n f,\n m,\n p,\n r,\n _yield$v$processReque4,\n o,\n a,\n l,\n c,\n d,\n h,\n u,\n _args18 = arguments;\n return _regeneratorRuntime().wrap(function _callee18$(_context18) {\n while (1) switch (_context18.prev = _context18.next) {\n case 0:\n n = _args18.length > 3 && _args18[3] !== undefined ? _args18[3] : !0;\n r = {\n body: t,\n headers: (f = e.connectSettings) == null ? void 0 : f.headers\n };\n _context18.next = 4;\n return v.processRequestInterceptor(e.deepChat, r);\n case 4:\n _yield$v$processReque4 = _context18.sent;\n o = _yield$v$processReque4.body;\n a = _yield$v$processReque4.headers;\n l = _yield$v$processReque4.error;\n if (!l) {\n _context18.next = 10;\n break;\n }\n return _context18.abrupt(\"return\", v.onInterceptorError(i, l));\n case 10:\n c = ((m = e.connectSettings) == null ? void 0 : m.url) || e.url || \"\", d = ((p = e.connectSettings) == null ? void 0 : p.method) || \"POST\", h = n ? JSON.stringify(o) : o, u = {\n method: d,\n body: h,\n headers: a\n };\n e.connectSettings.credentials && (u.credentials = e.connectSettings.credentials), T.executePollRequest(e, c, u, i);\n case 12:\n case \"end\":\n return _context18.stop();\n }\n }, _callee18);\n }));\n function poll(_x32, _x33, _x34) {\n return _poll.apply(this, arguments);\n }\n return poll;\n }() // prettier-ignore\n }, {\n key: \"verifyKey\",\n value: function verifyKey(e, t, i, n, r, o, a, l, c) {\n if (e === \"\") return o(A.INVALID_KEY);\n a(), fetch(t, {\n method: n,\n headers: i,\n body: c || null\n }).then(function (d) {\n return v.processResponseByType(d);\n }).then(function (d) {\n l(d, e, r, o);\n })[\"catch\"](function (d) {\n o(A.CONNECTION_FAILED), console.error(d);\n });\n }\n }]);\n}();\nvar ft = /*#__PURE__*/function () {\n function ft() {\n _classCallCheck(this, ft);\n }\n return _createClass(ft, null, [{\n key: \"getCharacterLimitMessages\",\n value: function getCharacterLimitMessages(e, t) {\n var r;\n if (t === -1) return e;\n var i = 0,\n n = e.length - 1;\n for (n; n >= 0; n -= 1) {\n var o = (r = e[n]) == null ? void 0 : r.text;\n if (o !== void 0 && (i += o.length, i > t)) {\n e[n].text = o.substring(0, o.length - (i - t));\n break;\n }\n }\n return e.slice(Math.max(n, 0));\n }\n }, {\n key: \"getMaxMessages\",\n value: function getMaxMessages(e, t) {\n return e.slice(Math.max(e.length - t, 0));\n }\n // prettier-ignore\n // if maxMessages is not defined we send all messages\n // if maxMessages above 0 we send that number\n // if maxMessages 0 or below we send only what is in the request\n }, {\n key: \"processMessages\",\n value: function processMessages(e, t, i) {\n return t !== void 0 ? t > 0 && (e = ft.getMaxMessages(e, t)) : e = [e[e.length - 1]], e = JSON.parse(JSON.stringify(e)), i === void 0 ? e : ft.getCharacterLimitMessages(e, i);\n }\n }]);\n}();\nvar I = /*#__PURE__*/function () {\n function I() {\n _classCallCheck(this, I);\n }\n return _createClass(I, null, [{\n key: \"parseConfig\",\n value:\n // prettier-ignore\n function parseConfig(e, t, i, n) {\n var o;\n var r = {\n files: t\n };\n if (_typeof(n) == \"object\") {\n te.processFileConfigConnect(n);\n var a = n.files,\n l = n.connect,\n c = n.button;\n a && (a.infoModal && (r.files.infoModal = a.infoModal, (o = a.infoModal) != null && o.textMarkDown && (r.infoModalTextMarkUp = i.render(a.infoModal.textMarkDown))), a.acceptedFormats && (r.files.acceptedFormats = a.acceptedFormats), a.maxNumberOfFiles && (r.files.maxNumberOfFiles = a.maxNumberOfFiles)), r.button = c, l && (l.headers || l.method || l.url || l.credentials || e.headers || e.method || e.url || e.credentials) && (r.connect = {\n url: (l == null ? void 0 : l.url) || e.url,\n method: (l == null ? void 0 : l.method) || e.method,\n headers: (l == null ? void 0 : l.headers) || e.headers,\n credentials: (l == null ? void 0 : l.credentials) || e.credentials\n });\n }\n return r;\n }\n }, {\n key: \"processMixedFiles\",\n value: function processMixedFiles(e, t, i) {\n if (i) {\n var n = {\n acceptedFormats: \"\"\n };\n e.fileTypes.mixedFiles = I.parseConfig(e.connectSettings, n, t, i);\n }\n }\n // needs to be set after audio to overwrite maxNumberOfFiles\n // prettier-ignore\n }, {\n key: \"processMicrophone\",\n value: function processMicrophone(e, t, i, n) {\n var _l$files, _u$maxNumberOfFiles;\n var a, l, c, d, h, u;\n var o = _objectSpread({\n acceptedFormats: \"audio/*\"\n }, ((a = e.fileTypes.audio) == null ? void 0 : a.files) || {});\n i && (navigator.mediaDevices.getUserMedia !== void 0 ? (e.recordAudio = I.parseConfig(e.connectSettings, o, t, i), _typeof(i) == \"object\" && i.files && ((_l$files = (l = e.recordAudio).files) !== null && _l$files !== void 0 ? _l$files : l.files = {}, e.recordAudio.files.format = (c = i.files) == null ? void 0 : c.format, e.recordAudio.files.maxDurationSeconds = (d = i.files) == null ? void 0 : d.maxDurationSeconds, (h = e.fileTypes.audio) != null && h.files && ((_u$maxNumberOfFiles = (u = e.fileTypes.audio.files).maxNumberOfFiles) !== null && _u$maxNumberOfFiles !== void 0 ? _u$maxNumberOfFiles : u.maxNumberOfFiles = i.files.maxNumberOfFiles))) : n || (e.fileTypes.audio = I.parseConfig(e.connectSettings, o, t, i)));\n }\n // prettier-ignore\n }, {\n key: \"processAudioConfig\",\n value: function processAudioConfig(e, t, i, n) {\n if (!i && !n) return;\n var o = _objectSpread({\n acceptedFormats: \"audio/*\"\n }, (n == null ? void 0 : n.files) || {});\n e.fileTypes.audio = I.parseConfig(e.connectSettings, o, t, i);\n }\n // prettier-ignore\n }, {\n key: \"processGifConfig\",\n value: function processGifConfig(e, t, i, n) {\n if (!i && !n) return;\n var o = _objectSpread({\n acceptedFormats: \"image/gif\"\n }, (n == null ? void 0 : n.files) || {});\n e.fileTypes.gifs = I.parseConfig(e.connectSettings, o, t, i);\n }\n // needs to be set after images to overwrite maxNumberOfFiles\n // prettier-ignore\n }, {\n key: \"processCamera\",\n value: function processCamera(e, t, i, n) {\n var _l$files2;\n var a, l, c, d;\n var o = _objectSpread({\n acceptedFormats: \"image/*\"\n }, ((a = e.fileTypes.images) == null ? void 0 : a.files) || {});\n i && (navigator.mediaDevices.getUserMedia !== void 0 ? (e.camera = I.parseConfig(e.connectSettings, o, t, i), _typeof(i) == \"object\" && (e.camera.modalContainerStyle = i.modalContainerStyle, i.files && ((_l$files2 = (l = e.camera).files) !== null && _l$files2 !== void 0 ? _l$files2 : l.files = {}, e.camera.files.format = (c = i.files) == null ? void 0 : c.format, e.camera.files.dimensions = (d = i.files) == null ? void 0 : d.dimensions))) : n || (e.fileTypes.images = I.parseConfig(e.connectSettings, o, t, i)));\n }\n // prettier-ignore\n }, {\n key: \"processImagesConfig\",\n value: function processImagesConfig(e, t, i, n) {\n if (!i && !n) return;\n var o = _objectSpread({\n acceptedFormats: \"image/*\"\n }, (n == null ? void 0 : n.files) || {});\n e.fileTypes.images = I.parseConfig(e.connectSettings, o, t, i);\n }\n // default for direct service\n }, {\n key: \"populateDefaultFileIO\",\n value: function populateDefaultFileIO(e, t) {\n var _e$files, _i$acceptedFormats, _n$maxNumberOfFiles;\n var i, n;\n e && ((_e$files = e.files) !== null && _e$files !== void 0 ? _e$files : e.files = {}, (_i$acceptedFormats = (i = e.files).acceptedFormats) !== null && _i$acceptedFormats !== void 0 ? _i$acceptedFormats : i.acceptedFormats = t, (_n$maxNumberOfFiles = (n = e.files).maxNumberOfFiles) !== null && _n$maxNumberOfFiles !== void 0 ? _n$maxNumberOfFiles : n.maxNumberOfFiles = 1);\n }\n }, {\n key: \"set\",\n value: function set(e, t, i) {\n I.populateDefaultFileIO(i == null ? void 0 : i.audio, \".4a,.mp3,.webm,.mp4,.mpga,.wav,.mpeg,.m4a\"), I.populateDefaultFileIO(i == null ? void 0 : i.images, \".png,.jpg\");\n var n = Rt.createNew();\n I.processImagesConfig(t, n, e.images, i == null ? void 0 : i.images), I.processCamera(t, n, e.camera, e.images), I.processGifConfig(t, n, e.gifs, i == null ? void 0 : i.gifs), I.processAudioConfig(t, n, e.audio, i == null ? void 0 : i.audio), I.processMicrophone(t, n, e.microphone, e.audio), I.processMixedFiles(t, n, e.mixedFiles);\n }\n }]);\n}();\nvar Je = /*#__PURE__*/function () {\n function Je(e, t, i) {\n var _a$url;\n _classCallCheck(this, Je);\n var n, r, o, a, l;\n this.rawBody = {}, this.validateKeyProperty = !1, this.canSendMessage = Je.canSendMessage, this.connectSettings = {}, this.fileTypes = {}, this.completionsHandlers = {}, this.streamHandlers = {}, this.deepChat = e, this.demo = i, Object.assign(this.rawBody, (n = e.connect) == null ? void 0 : n.additionalBodyProps), this.totalMessagesMaxCharLength = (r = e == null ? void 0 : e.requestBodyLimits) == null ? void 0 : r.totalMessagesMaxCharLength, this.maxMessages = (o = e == null ? void 0 : e.requestBodyLimits) == null ? void 0 : o.maxMessages, I.set(e, this, t), e.connect && (this.connectSettings = e.connect), this.demo && ((_a$url = (a = this.connectSettings).url) !== null && _a$url !== void 0 ? _a$url : a.url = ge.URL), this.connectSettings.websocket && B.setup(this), this.stream = ((l = this.deepChat.connect) == null ? void 0 : l.stream) || te.checkForStream(this.deepChat);\n }\n return _createClass(Je, [{\n key: \"verifyKey\",\n value: function verifyKey(e, t) {}\n }, {\n key: \"getServiceIOByType\",\n value: function getServiceIOByType(e) {\n if (e.type.startsWith(\"audio\") && this.fileTypes.audio) return this.fileTypes.audio;\n if (e.type.startsWith(\"image\")) {\n if (this.fileTypes.gifs && e.type.endsWith(\"/gif\")) return this.fileTypes.gifs;\n if (this.fileTypes.images) return this.fileTypes.images;\n if (this.camera) return this.camera;\n }\n return this.fileTypes.mixedFiles;\n }\n }, {\n key: \"request\",\n value: function () {\n var _request4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee19(e, t) {\n var i,\n _args19 = arguments;\n return _regeneratorRuntime().wrap(function _callee19$(_context19) {\n while (1) switch (_context19.prev = _context19.next) {\n case 0:\n i = _args19.length > 2 && _args19[2] !== undefined ? _args19[2] : !0;\n return _context19.abrupt(\"return\", this.stream && !C.isSimulation(this.stream) ? C.request(this, e, t, i) : T.request(this, e, t, i));\n case 2:\n case \"end\":\n return _context19.stop();\n }\n }, _callee19, this);\n }));\n function request(_x35, _x36) {\n return _request4.apply(this, arguments);\n }\n return request;\n }()\n }, {\n key: \"callAPIWithText\",\n value: function () {\n var _callAPIWithText = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee20(e, t) {\n var _o$headers, _a$ContentType;\n var r, o, a, l, i, n;\n return _regeneratorRuntime().wrap(function _callee20$(_context20) {\n while (1) switch (_context20.prev = _context20.next) {\n case 0:\n i = _objectSpread({\n messages: t\n }, this.rawBody);\n n = !1;\n (r = this.connectSettings.headers) != null && r[\"Content-Type\"] || ((_o$headers = (o = this.connectSettings).headers) !== null && _o$headers !== void 0 ? _o$headers : o.headers = {}, (_a$ContentType = (a = this.connectSettings.headers)[\"Content-Type\"]) !== null && _a$ContentType !== void 0 ? _a$ContentType : a[\"Content-Type\"] = \"application/json\", n = !0);\n _context20.next = 5;\n return this.request(i, e);\n case 5:\n n && ((l = this.connectSettings.headers) == null || delete l[\"Content-Type\"]);\n case 6:\n case \"end\":\n return _context20.stop();\n }\n }, _callee20, this);\n }));\n function callAPIWithText(_x37, _x38) {\n return _callAPIWithText.apply(this, arguments);\n }\n return callAPIWithText;\n }()\n }, {\n key: \"callApiWithFiles\",\n value: function () {\n var _callApiWithFiles = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee21(e, t, i) {\n var n, r, o;\n return _regeneratorRuntime().wrap(function _callee21$(_context21) {\n while (1) switch (_context21.prev = _context21.next) {\n case 0:\n n = Je.createCustomFormDataBody(this.rawBody, t, i), r = this.connectSettings, o = this.getServiceIOByType(i[0]);\n this.connectSettings = (o == null ? void 0 : o.connect) || this.connectSettings;\n _context21.next = 4;\n return this.request(n, e, !1);\n case 4:\n this.connectSettings = r;\n case 5:\n case \"end\":\n return _context21.stop();\n }\n }, _callee21, this);\n }));\n function callApiWithFiles(_x39, _x40, _x41) {\n return _callApiWithFiles.apply(this, arguments);\n }\n return callApiWithFiles;\n }()\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee22(e, t, i) {\n return _regeneratorRuntime().wrap(function _callee22$(_context22) {\n while (1) switch (_context22.prev = _context22.next) {\n case 0:\n i ? this.callApiWithFiles(e, t, i) : this.callAPIWithText(e, t);\n case 1:\n case \"end\":\n return _context22.stop();\n }\n }, _callee22, this);\n }));\n function callServiceAPI(_x42, _x43, _x44) {\n return _callServiceAPI.apply(this, arguments);\n }\n return callServiceAPI;\n }() // prettier-ignore\n }, {\n key: \"callAPI\",\n value: function () {\n var _callAPI = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee23(e, t) {\n var i, n;\n return _regeneratorRuntime().wrap(function _callee23$(_context23) {\n while (1) switch (_context23.prev = _context23.next) {\n case 0:\n if (this.connectSettings) {\n _context23.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n i = ft.processMessages(t.messages, this.maxMessages, this.totalMessagesMaxCharLength);\n if (this.connectSettings.websocket) {\n n = _objectSpread({\n messages: i\n }, this.rawBody);\n B.sendWebsocket(this, n, t, !1);\n } else this.callServiceAPI(t, i, e.files);\n case 4:\n case \"end\":\n return _context23.stop();\n }\n }, _callee23, this);\n }));\n function callAPI(_x45, _x46) {\n return _callAPI.apply(this, arguments);\n }\n return callAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee24(e) {\n return _regeneratorRuntime().wrap(function _callee24$(_context24) {\n while (1) switch (_context24.prev = _context24.next) {\n case 0:\n if (!e.error) {\n _context24.next = 2;\n break;\n }\n throw e.error;\n case 2:\n if (!e.result) {\n _context24.next = 4;\n break;\n }\n return _context24.abrupt(\"return\", te.handleResponseProperty(e));\n case 4:\n if (!v.validateResponseFormat(e)) {\n _context24.next = 6;\n break;\n }\n return _context24.abrupt(\"return\", e);\n case 6:\n case \"end\":\n return _context24.stop();\n }\n }, _callee24);\n }));\n function extractResultData(_x47) {\n return _extractResultData.apply(this, arguments);\n }\n return extractResultData;\n }()\n }, {\n key: \"isDirectConnection\",\n value: function isDirectConnection() {\n return !1;\n }\n }, {\n key: \"isWebModel\",\n value: function isWebModel() {\n return !1;\n }\n }], [{\n key: \"canSendMessage\",\n value: function canSendMessage(e, t, i) {\n return i ? !0 : !!(e && e.trim() !== \"\") || !!(t && t.length > 0);\n }\n }, {\n key: \"createCustomFormDataBody\",\n value: function createCustomFormDataBody(e, t, i) {\n var n = new FormData();\n i.forEach(function (a) {\n return n.append(\"files\", a);\n }), Object.keys(e).forEach(function (a) {\n return n.append(a, String(e[a]));\n });\n var r = 0;\n t.slice(0, t.length - 1).forEach(function (a) {\n n.append(\"message\".concat(r += 1), JSON.stringify(a));\n });\n var o = t[t.length - 1];\n return o.text && (delete o.files, n.append(\"message\".concat(r += 1), JSON.stringify(o))), n;\n }\n }]);\n}();\nvar z = /*#__PURE__*/function (_Je) {\n // prettier-ignore\n function z(e, t, i, n, r) {\n var _this8;\n _classCallCheck(this, z);\n var o;\n _this8 = _callSuper(this, z, [e, r]), _this8.insertKeyPlaceholderText = \"API Key\", _this8.keyHelpUrl = \"\", Object.assign(_this8.rawBody, (o = e.connect) == null ? void 0 : o.additionalBodyProps), _this8.keyVerificationDetails = t, _this8.buildHeadersFunc = i, n && _this8.setApiKeyProperties(n), _this8.connectSettings = _this8.buildConnectSettings(_this8.key || \"\", e.connect);\n return _this8;\n }\n _inherits(z, _Je);\n return _createClass(z, [{\n key: \"setApiKeyProperties\",\n value: function setApiKeyProperties(e) {\n this.key = e.key, e.validateKeyProperty && (this.validateKeyProperty = e.validateKeyProperty);\n }\n }, {\n key: \"buildConnectSettings\",\n value: function buildConnectSettings(e, t) {\n var _i$headers;\n var i = t !== null && t !== void 0 ? t : {};\n return (_i$headers = i.headers) !== null && _i$headers !== void 0 ? _i$headers : i.headers = {}, Object.assign(i.headers, this.buildHeadersFunc(e)), i;\n }\n }, {\n key: \"keyAuthenticated\",\n value: function keyAuthenticated(e, t) {\n this.connectSettings = this.buildConnectSettings(t, this.connectSettings), this.key = t, e();\n }\n // prettier-ignore\n }, {\n key: \"verifyKey\",\n value: function verifyKey(e, t) {\n var _this$keyVerification = this.keyVerificationDetails,\n i = _this$keyVerification.url,\n n = _this$keyVerification.method,\n r = _this$keyVerification.handleVerificationResult,\n o = _this$keyVerification.createHeaders,\n a = _this$keyVerification.body,\n l = (o == null ? void 0 : o(e)) || this.buildHeadersFunc(e);\n T.verifyKey(e, i, l, n, this.keyAuthenticated.bind(this, t.onSuccess), t.onFail, t.onLoad, r, a);\n }\n }, {\n key: \"isDirectConnection\",\n value: function isDirectConnection() {\n return !0;\n }\n }]);\n}(Je);\nvar ti = /*#__PURE__*/function () {\n function ti() {\n _classCallCheck(this, ti);\n }\n return _createClass(ti, null, [{\n key: \"waitForPropertiesToBeUpdatedBeforeRender\",\n value: function waitForPropertiesToBeUpdatedBeforeRender(e) {\n e._propUpdated_ = !1, setTimeout(function () {\n e._propUpdated_ ? ti.waitForPropertiesToBeUpdatedBeforeRender(e) : (e._waitingToRender_ = !1, e.onRender());\n });\n }\n }, {\n key: \"attemptRender\",\n value: function attemptRender(e) {\n e._propUpdated_ = !0, e._waitingToRender_ || (e._waitingToRender_ = !0, ti.waitForPropertiesToBeUpdatedBeforeRender(e));\n }\n }]);\n}();\nvar xe = /*#__PURE__*/function (_HTMLElement) {\n // If this is not working, try using propertyName directly\n function xe() {\n var _this9;\n _classCallCheck(this, xe);\n _this9 = _callSuper(this, xe), _this9._waitingToRender_ = !1, _this9._propUpdated_ = !1, Object.keys(xe._attributeToProperty_).forEach(function (e) {\n var t = xe._attributeToProperty_[e];\n _this9.constructPropertyAccessors(t), _this9.hasOwnProperty(e) || _this9.constructPropertyAccessors(t, e);\n });\n return _this9;\n }\n _inherits(xe, _HTMLElement);\n return _createClass(xe, [{\n key: \"constructPropertyAccessors\",\n value:\n // need to be called here as accessors need to be set for the class instance\n function constructPropertyAccessors(e, t) {\n var i;\n Object.defineProperty(this, t || e, {\n get: function get() {\n return i;\n },\n set: function set(o) {\n i = o, t ? this[e] = o : ti.attemptRender(this);\n }\n });\n }\n }, {\n key: \"attributeChangedCallback\",\n value: function attributeChangedCallback(e, t, i) {\n if (t === i) return;\n var n = xe._attributes_[e](i),\n r = xe._attributeToProperty_[e];\n this[r] = n;\n }\n }, {\n key: \"onRender\",\n value: function onRender() {}\n }], [{\n key: \"observedAttributes\",\n get: function get() {\n return Object.keys(xe._attributes_) || [];\n }\n }]);\n}( /*#__PURE__*/_wrapNativeSuper(HTMLElement));\nxe._attributes_ = {}, xe._attributeToProperty_ = {};\nvar Zi = xe;\nvar uo = \"<?xml version=\\\"1.0\\\" standalone=\\\"no\\\"?>\\n<svg version=\\\"1.1\\\"\\n\\txmlns:sodipodi=\\\"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd\\\" xmlns:inkscape=\\\"http://www.inkscape.org/namespaces/inkscape\\\"\\n\\txmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" width=\\\"0.9em\\\" height=\\\"0.9em\\\"\\n\\tviewBox=\\\"0 0 1200 1200\\\" enable-background=\\\"new 0 0 1200 1200\\\">\\n\\t\\t<path d=\\\"\\n\\t\\t\\tM669.727,273.516c-22.891-2.476-46.15-3.895-69.727-4.248c-103.025,0.457-209.823,25.517-310.913,73.536\\n\\t\\t\\tc-75.058,37.122-148.173,89.529-211.67,154.174C46.232,529.978,6.431,577.76,0,628.74c0.76,44.162,48.153,98.67,77.417,131.764\\n\\t\\t\\tc59.543,62.106,130.754,113.013,211.67,154.174c2.75,1.335,5.51,2.654,8.276,3.955l-75.072,131.102l102.005,60.286l551.416-960.033\\n\\t\\t\\tl-98.186-60.008L669.727,273.516z M902.563,338.995l-74.927,129.857c34.47,44.782,54.932,100.006,54.932,159.888\\n\\t\\t\\tc0,149.257-126.522,270.264-282.642,270.264c-6.749,0-13.29-0.728-19.922-1.172l-49.585,85.84c22.868,2.449,45.99,4.233,69.58,4.541\\n\\t\\t\\tc103.123-0.463,209.861-25.812,310.84-73.535c75.058-37.122,148.246-89.529,211.743-154.174\\n\\t\\t\\tc31.186-32.999,70.985-80.782,77.417-131.764c-0.76-44.161-48.153-98.669-77.417-131.763\\n\\t\\t\\tc-59.543-62.106-130.827-113.013-211.743-154.175C908.108,341.478,905.312,340.287,902.563,338.995L902.563,338.995z\\n\\t\\t\\tM599.927,358.478c6.846,0,13.638,0.274,20.361,0.732l-58.081,100.561c-81.514,16.526-142.676,85.88-142.676,168.897\\n\\t\\t\\tc0,20.854,3.841,40.819,10.913,59.325c0.008,0.021-0.008,0.053,0,0.074l-58.228,100.854\\n\\t\\t\\tc-34.551-44.823-54.932-100.229-54.932-160.182C317.285,479.484,443.808,358.477,599.927,358.478L599.927,358.478z M768.896,570.513\\n\\t\\t\\tL638.013,797.271c81.076-16.837,141.797-85.875,141.797-168.603C779.81,608.194,775.724,588.729,768.896,570.513L768.896,570.513z\\\"\\n\\t\\t\\t/>\\n</svg>\\n\",\n fo = \"<?xml version=\\\"1.0\\\" standalone=\\\"no\\\"?>\\n<svg version=\\\"1.1\\\"\\n\\txmlns:sodipodi=\\\"http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd\\\" xmlns:inkscape=\\\"http://www.inkscape.org/namespaces/inkscape\\\"\\n\\txmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" width=\\\"0.9em\\\" height=\\\"0.9em\\\"\\n\\tviewBox=\\\"0 0 1200 1200\\\" enable-background=\\\"new 0 0 1200 1200\\\">\\n\\t\\t<path id=\\\"path6686\\\" inkscape:connector-curvature=\\\"0\\\" d=\\\"M779.843,599.925c0,95.331-80.664,172.612-180.169,172.612\\n\\t\\t\\tc-99.504,0-180.168-77.281-180.168-172.612c0-95.332,80.664-172.612,180.168-172.612\\n\\t\\t\\tC699.179,427.312,779.843,504.594,779.843,599.925z M600,240.521c-103.025,0.457-209.814,25.538-310.904,73.557\\n\\t\\t\\tc-75.058,37.122-148.206,89.496-211.702,154.141C46.208,501.218,6.431,549,0,599.981c0.76,44.161,48.13,98.669,77.394,131.763\\n\\t\\t\\tc59.543,62.106,130.786,113.018,211.702,154.179c94.271,45.751,198.616,72.092,310.904,73.557\\n\\t\\t\\tc103.123-0.464,209.888-25.834,310.866-73.557c75.058-37.122,148.243-89.534,211.74-154.179\\n\\t\\t\\tc31.185-32.999,70.962-80.782,77.394-131.763c-0.76-44.161-48.13-98.671-77.394-131.764\\n\\t\\t\\tc-59.543-62.106-130.824-112.979-211.74-154.141C816.644,268.36,712.042,242.2,600,240.521z M599.924,329.769\\n\\t\\t\\tc156.119,0,282.675,120.994,282.675,270.251c0,149.256-126.556,270.25-282.675,270.25S317.249,749.275,317.249,600.02\\n\\t\\t\\tC317.249,450.763,443.805,329.769,599.924,329.769L599.924,329.769z\\\"/>\\n</svg>\\n\";\nvar ie = /*#__PURE__*/function () {\n function ie() {\n _classCallCheck(this, ie);\n }\n return _createClass(ie, null, [{\n key: \"createSVGElement\",\n value: function createSVGElement(e) {\n return new DOMParser().parseFromString(e, \"image/svg+xml\").documentElement;\n }\n }]);\n}();\nvar Le = /*#__PURE__*/function () {\n function Le() {\n _classCallCheck(this, Le);\n }\n return _createClass(Le, null, [{\n key: \"changeVisibility\",\n value:\n // prettier-ignore\n function changeVisibility(e, t, i, n) {\n n.target.id === Le.VISIBLE_ICON_ID ? (t.style.display = \"none\", i.style.display = \"block\", e.type = \"password\") : (t.style.display = \"block\", i.style.display = \"none\", e.type = \"text\");\n }\n }, {\n key: \"createIconElement\",\n value: function createIconElement(e, t) {\n var i = ie.createSVGElement(e);\n return i.id = t, i.classList.add(\"visibility-icon\"), i;\n }\n // prettier-ignore\n }, {\n key: \"create\",\n value: function create(e) {\n var t = document.createElement(\"div\");\n t.id = \"visibility-icon-container\";\n var i = Le.createIconElement(fo, Le.VISIBLE_ICON_ID);\n i.style.display = \"none\", t.appendChild(i);\n var n = Le.createIconElement(uo, \"not-visible-icon\");\n return t.appendChild(n), t.onclick = Le.changeVisibility.bind(this, e, i, n), t;\n }\n }]);\n}();\nLe.VISIBLE_ICON_ID = \"visible-icon\";\nvar Yi = Le;\nvar U = /*#__PURE__*/function () {\n function U() {\n _classCallCheck(this, U);\n }\n return _createClass(U, null, [{\n key: \"createCautionText\",\n value: function createCautionText() {\n var e = document.createElement(\"a\");\n return e.classList.add(\"insert-key-input-help-text\"), e.innerText = \"Please exercise CAUTION when inserting your API key outside of deepchat.dev or localhost!!\", e;\n }\n }, {\n key: \"createHelpLink\",\n value: function createHelpLink(e) {\n var t = document.createElement(\"a\");\n return t.classList.add(\"insert-key-input-help-text\"), t.href = e, t.innerText = \"Find more info here\", t.target = \"_blank\", t;\n }\n }, {\n key: \"createFailText\",\n value: function createFailText() {\n var e = document.createElement(\"div\");\n return e.id = \"insert-key-input-invalid-text\", e.style.display = \"none\", e;\n }\n }, {\n key: \"createHelpTextContainer\",\n value: function createHelpTextContainer(e) {\n var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !0;\n var i = document.createElement(\"div\");\n i.id = \"insert-key-help-text-container\";\n var n = document.createElement(\"div\");\n n.id = \"insert-key-help-text-contents\";\n var r = U.createFailText();\n if (n.appendChild(r), e) {\n var o = U.createHelpLink(e);\n n.appendChild(o);\n }\n if (t === !0) {\n var _o2 = U.createCautionText();\n n.appendChild(_o2);\n }\n return i.appendChild(n), {\n helpTextContainerElement: i,\n failTextElement: r\n };\n }\n }, {\n key: \"onFail\",\n value: function onFail(e, t, i, n) {\n e.classList.replace(\"insert-key-input-valid\", \"insert-key-input-invalid\"), i.innerText = n, i.style.display = \"block\", t.innerText = \"Start\", e.classList.remove(\"loading\");\n }\n }, {\n key: \"onLoad\",\n value: function onLoad(e, t) {\n e.classList.add(\"loading\"), t.innerHTML = '<div id=\"loading-ring\"></div>';\n }\n // prettier-ignore\n }, {\n key: \"verifyKey\",\n value: function verifyKey(e, t, i) {\n var n = e.value.trim();\n i.verifyKey(n, t);\n }\n // prettier-ignore\n }, {\n key: \"addVerificationEvents\",\n value: function addVerificationEvents(e, t, i, n, r) {\n var o = {\n onSuccess: n,\n onFail: U.onFail.bind(this, e, t, i),\n onLoad: U.onLoad.bind(this, e, t)\n },\n a = U.verifyKey.bind(this, e, o, r);\n t.onclick = a, e.onkeydown = function (l) {\n !e.classList.contains(\"loading\") && l.key === P.ENTER && a();\n };\n }\n }, {\n key: \"createStartButton\",\n value: function createStartButton() {\n var e = document.createElement(\"div\");\n return e.id = \"start-button\", e.innerText = \"Start\", e;\n }\n }, {\n key: \"onInputFocus\",\n value: function onInputFocus(e) {\n e.target.classList.replace(\"insert-key-input-invalid\", \"insert-key-input-valid\");\n }\n }, {\n key: \"createInput\",\n value: function createInput(e) {\n var t = document.createElement(\"div\");\n t.id = \"insert-key-input-container\";\n var i = document.createElement(\"input\");\n return i.id = \"insert-key-input\", i.placeholder = e || \"API Key\", i.type = \"password\", i.classList.add(\"insert-key-input-valid\"), i.onfocus = U.onInputFocus, t.appendChild(i), t;\n }\n // prettier-ignore\n }, {\n key: \"createContents\",\n value: function createContents(e, t) {\n var d;\n var i = document.createElement(\"div\");\n i.id = \"insert-key-contents\";\n var n = U.createInput(t.insertKeyPlaceholderText),\n r = n.children[0],\n o = Yi.create(r);\n n.appendChild(o), i.appendChild(n);\n var a = U.createStartButton(),\n _U$createHelpTextCont = U.createHelpTextContainer(t.keyHelpUrl, (d = t.deepChat._insertKeyViewStyles) == null ? void 0 : d.displayCautionText),\n l = _U$createHelpTextCont.helpTextContainerElement,\n c = _U$createHelpTextCont.failTextElement;\n return i.appendChild(a), i.appendChild(l), U.addVerificationEvents(r, a, c, e, t), i;\n }\n }, {\n key: \"createElements\",\n value: function createElements(e, t) {\n var i = document.createElement(\"div\");\n i.id = \"insert-key-view\";\n var n = U.createContents(e, t);\n return i.appendChild(n), i;\n }\n }, {\n key: \"render\",\n value: function render(e, t, i) {\n var n = U.createElements(t, i);\n e.replaceChildren(n);\n }\n }]);\n}();\nvar Y = /*#__PURE__*/function () {\n function Y() {\n _classCallCheck(this, Y);\n }\n return _createClass(Y, null, [{\n key: \"enableButtons\",\n value: function enableButtons(e, t) {\n var i = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n window.webLLM ? (e && (e.disabled = !1), t && (t.disabled = !1)) : i < It.MODULE_SEARCH_LIMIT_S * 4 && setTimeout(function () {\n return Y.enableButtons(e, t, i + 1);\n }, 250);\n }\n // prettier-ignore\n }, {\n key: \"setUpInitial\",\n value: function setUpInitial(e, t, i, n) {\n var r = (t == null ? void 0 : t.downloadClass) || Y.DOWNLOAD_BUTTON_CLASS,\n o = (t == null ? void 0 : t.uploadClass) || Y.UPLOAD_BUTTON_CLASS,\n a = (t == null ? void 0 : t.fileInputClass) || Y.FILE_INPUT_CLASS;\n return setTimeout(function () {\n var l = i == null ? void 0 : i.getElementsByClassName(r)[0],\n c = i == null ? void 0 : i.getElementsByClassName(a)[0],\n d = i == null ? void 0 : i.getElementsByClassName(o)[0];\n l && (l.onclick = function () {\n return e();\n }), c && (c.onchange = function () {\n c.files && c.files.length > 0 && e(c.files);\n }), d && (d.onclick = function () {\n return c.click();\n }), (l || d) && Y.enableButtons(l, d);\n }), (t == null ? void 0 : t.initialHtml) || \"<div>\\n Download or upload a web model that will run entirely on your browser: <br/> \\n <button disabled class=\\\"\".concat(r, \" deep-chat-button deep-chat-web-model-button\\\">Download</button>\\n \").concat(n ? \"\" : \"<input type=\\\"file\\\" class=\\\"\".concat(a, \"\\\" hidden multiple />\\n <button disabled class=\\\"\").concat(o, \" deep-chat-button deep-chat-web-model-button\\\">Upload</button>\"), \"\\n </div>\");\n }\n }, {\n key: \"exportFile\",\n value: function exportFile(e) {\n var t = document.createElement(\"a\"),\n i = 4;\n var _loop2 = function _loop2(n) {\n setTimeout(function () {\n var r = n * i;\n for (var o = r; o < Math.min(r + i, e.length); o += 1) {\n var a = URL.createObjectURL(e[o]);\n t.href = a, t.download = e[o].name, document.body.appendChild(t), t.click(), URL.revokeObjectURL(a);\n }\n }, 500 * n);\n };\n for (var n = 0; n < e.length / i; n += 1) {\n _loop2(n);\n }\n }\n // prettier-ignore\n }, {\n key: \"setUpAfterLoad\",\n value: function setUpAfterLoad(e, t, i, n) {\n var r = (t == null ? void 0 : t.exportFilesClass) || Y.EXPORT_BUTTON_CLASS;\n return setTimeout(function () {\n var o = i == null ? void 0 : i.getElementsByClassName(r)[0];\n o && (o.onclick = function () {\n return Y.exportFile(e);\n });\n }), (t == null ? void 0 : t.afterLoadHtml) || \"<div>\\n Model loaded successfully and has been cached for future requests.\\n \".concat(n ? \"\" : \"<br/> <button style=\\\"margin-top: 5px\\\" class=\\\"\".concat(r, \" deep-chat-button\\\">Export</button>\"), \"\\n </div>\");\n }\n }]);\n}();\nY.DOWNLOAD_BUTTON_CLASS = \"deep-chat-download-button\", Y.UPLOAD_BUTTON_CLASS = \"deep-chat-upload-button\", Y.FILE_INPUT_CLASS = \"deep-chat-file-input\", Y.EXPORT_BUTTON_CLASS = \"deep-chat-export-button\";\nvar ii = Y;\nvar Nn = {\n model_list: [\n // Llama-2\n {\n model_url: \"https://huggingface.co/mlc-ai/Llama-2-7b-chat-hf-q4f32_1-MLC/resolve/main/\",\n local_id: \"Llama-2-7b-chat-hf-q4f32_1\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/Llama-2-7b-chat-hf/Llama-2-7b-chat-hf-q4f32_1-ctx4k_cs1k-webgpu.wasm\",\n vram_required_MB: 9109.03,\n low_resource_required: !1\n }, {\n model_url: \"https://huggingface.co/mlc-ai/Llama-2-7b-chat-hf-q4f16_1-MLC/resolve/main/\",\n local_id: \"Llama-2-7b-chat-hf-q4f16_1\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/Llama-2-7b-chat-hf/Llama-2-7b-chat-hf-q4f16_1-ctx4k_cs1k-webgpu.wasm\",\n vram_required_MB: 6749.02,\n low_resource_required: !1,\n required_features: [\"shader-f16\"]\n }, {\n model_url: \"https://huggingface.co/mlc-ai/Llama-2-7b-chat-hf-q4f16_1-MLC/resolve/main/\",\n local_id: \"Llama-2-7b-chat-hf-q4f16_1-1k\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/Llama-2-7b-chat-hf/Llama-2-7b-chat-hf-q4f16_1-ctx1k-webgpu.wasm\",\n vram_required_MB: 4618.52,\n low_resource_required: !1,\n required_features: [\"shader-f16\"]\n }, {\n model_url: \"https://huggingface.co/mlc-ai/Llama-2-13b-chat-hf-q4f16_1-MLC/resolve/main/\",\n local_id: \"Llama-2-13b-chat-hf-q4f16_1\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/Llama-2-13b-chat-hf/Llama-2-13b-chat-hf-q4f16_1-ctx4k_cs1k-webgpu.wasm\",\n vram_required_MB: 11814.09,\n low_resource_required: !1,\n required_features: [\"shader-f16\"]\n }, {\n model_url: \"https://huggingface.co/mlc-ai/Llama-2-70b-chat-hf-q4f16_1-MLC/resolve/main/\",\n local_id: \"Llama-2-70b-chat-hf-q4f16_1\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/Llama-2-70b-chat-hf/Llama-2-70b-chat-hf-q4f16_1-ctx4k_cs1k-webgpu.wasm\",\n vram_required_MB: 43729.05,\n low_resource_required: !1,\n required_features: [\"shader-f16\"]\n },\n // RedPajama\n {\n model_url: \"https://huggingface.co/mlc-ai/RedPajama-INCITE-Chat-3B-v1-q4f16_1-MLC/resolve/main/\",\n local_id: \"RedPajama-INCITE-Chat-3B-v1-q4f16_1\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/RedPajama-INCITE-Chat-3B-v1/RedPajama-INCITE-Chat-3B-v1-q4f16_1-ctx2k-webgpu.wasm\",\n vram_required_MB: 2972.09,\n low_resource_required: !1,\n required_features: [\"shader-f16\"]\n }, {\n model_url: \"https://huggingface.co/mlc-ai/RedPajama-INCITE-Chat-3B-v1-q4f32_1-MLC/resolve/main/\",\n local_id: \"RedPajama-INCITE-Chat-3B-v1-q4f32_1\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/RedPajama-INCITE-Chat-3B-v1/RedPajama-INCITE-Chat-3B-v1-q4f32_1-ctx2k-webgpu.wasm\",\n vram_required_MB: 3928.09,\n low_resource_required: !1\n }, {\n model_url: \"https://huggingface.co/mlc-ai/RedPajama-INCITE-Chat-3B-v1-q4f16_1-MLC/resolve/main/\",\n local_id: \"RedPajama-INCITE-Chat-3B-v1-q4f16_1-1k\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/RedPajama-INCITE-Chat-3B-v1/RedPajama-INCITE-Chat-3B-v1-q4f16_1-ctx1k-webgpu.wasm\",\n vram_required_MB: 2041.09,\n low_resource_required: !0,\n required_features: [\"shader-f16\"]\n }, {\n model_url: \"https://huggingface.co/mlc-ai/RedPajama-INCITE-Chat-3B-v1-q4f32_1-MLC/resolve/main/\",\n local_id: \"RedPajama-INCITE-Chat-3B-v1-q4f32_1-1k\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/RedPajama-INCITE-Chat-3B-v1/RedPajama-INCITE-Chat-3B-v1-q4f32_1-ctx1k-webgpu.wasm\",\n vram_required_MB: 2558.09,\n low_resource_required: !0\n },\n // Mistral variants\n {\n model_url: \"https://huggingface.co/mlc-ai/WizardMath-7B-V1.1-q4f16_1-MLC/resolve/main/\",\n local_id: \"WizardMath-7B-V1.1-q4f16_1\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/Mistral-7B-Instruct-v0.2/Mistral-7B-Instruct-v0.2-q4f16_1-sw4k_cs1k-webgpu.wasm\",\n vram_required_MB: 6079.02,\n low_resource_required: !1,\n required_features: [\"shader-f16\"]\n }, {\n model_url: \"https://huggingface.co/mlc-ai/Mistral-7B-Instruct-v0.2-q4f16_1-MLC/resolve/main/\",\n local_id: \"Mistral-7B-Instruct-v0.2-q4f16_1\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/Mistral-7B-Instruct-v0.2/Mistral-7B-Instruct-v0.2-q4f16_1-sw4k_cs1k-webgpu.wasm\",\n vram_required_MB: 6079.02,\n low_resource_required: !1,\n required_features: [\"shader-f16\"]\n }, {\n model_url: \"https://huggingface.co/mlc-ai/OpenHermes-2.5-Mistral-7B-q4f16_1-MLC/resolve/main/\",\n local_id: \"OpenHermes-2.5-Mistral-7B-q4f16_1\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/Mistral-7B-Instruct-v0.2/Mistral-7B-Instruct-v0.2-q4f16_1-sw4k_cs1k-webgpu.wasm\",\n vram_required_MB: 6079.02,\n low_resource_required: !1,\n required_features: [\"shader-f16\"]\n }, {\n model_url: \"https://huggingface.co/mlc-ai/NeuralHermes-2.5-Mistral-7B-q4f16_1-MLC/resolve/main/\",\n local_id: \"NeuralHermes-2.5-Mistral-7B-q4f16_1\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/Mistral-7B-Instruct-v0.2/Mistral-7B-Instruct-v0.2-q4f16_1-sw4k_cs1k-webgpu.wasm\",\n vram_required_MB: 6079.02,\n low_resource_required: !1,\n required_features: [\"shader-f16\"]\n },\n // TinyLlama\n {\n model_url: \"https://huggingface.co/mlc-ai/TinyLlama-1.1B-Chat-v0.4-q0f16-MLC/resolve/main/\",\n local_id: \"TinyLlama-1.1B-Chat-v0.4-q0f16\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/TinyLlama-1.1B-Chat-v0.4/TinyLlama-1.1B-Chat-v0.4-q0f16-ctx2k-webgpu.wasm\",\n vram_required_MB: 5063.52,\n low_resource_required: !1,\n required_features: [\"shader-f16\"]\n }, {\n model_url: \"https://huggingface.co/mlc-ai/TinyLlama-1.1B-Chat-v0.4-q0f32-MLC/resolve/main/\",\n local_id: \"TinyLlama-1.1B-Chat-v0.4-q0f32\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/TinyLlama-1.1B-Chat-v0.4/TinyLlama-1.1B-Chat-v0.4-q0f32-ctx2k-webgpu.wasm\",\n vram_required_MB: 5394.53,\n low_resource_required: !1\n }, {\n model_url: \"https://huggingface.co/mlc-ai/TinyLlama-1.1B-Chat-v0.4-q4f16_1-MLC/resolve/main/\",\n local_id: \"TinyLlama-1.1B-Chat-v0.4-q4f16_1-1k\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/TinyLlama-1.1B-Chat-v0.4/TinyLlama-1.1B-Chat-v0.4-q4f16_1-ctx1k-webgpu.wasm\",\n vram_required_MB: 899.11,\n low_resource_required: !0,\n required_features: [\"shader-f16\"]\n }, {\n model_url: \"https://huggingface.co/mlc-ai/TinyLlama-1.1B-Chat-v0.4-q4f32_1-MLC/resolve/main/\",\n local_id: \"TinyLlama-1.1B-Chat-v0.4-q4f32_1-1k\",\n model_lib_url: \"https://raw.githubusercontent.com/mlc-ai/binary-mlc-llm-libs/main/TinyLlama-1.1B-Chat-v0.4/TinyLlama-1.1B-Chat-v0.4-q4f32_1-ctx1k-webgpu.wasm\",\n vram_required_MB: 992.11,\n low_resource_required: !0\n }],\n use_web_worker: !0\n },\n w = /*#__PURE__*/function (_Je2) {\n function w(e) {\n var _this10;\n _classCallCheck(this, w);\n var t, i;\n _this10 = _callSuper(this, w, [e]), _this10._isModelLoaded = !1, _this10._isModelLoading = !1, _this10._loadOnFirstMessage = !1, _this10._webModel = {}, _this10.permittedErrorPrefixes = [w.MULTIPLE_MODELS_ERROR, w.WEB_LLM_NOT_FOUND_ERROR, w.GENERIC_ERROR], _this10._conversationHistory = [], _typeof(e.webModel) == \"object\" && (_this10._webModel = e.webModel), (t = _this10._webModel.load) != null && t.clearCache && w.clearAllCache(), _this10.findModelInWindow(e), _this10.canSendMessage = _this10.canSubmit.bind(_assertThisInitialized(_this10)), _this10._chatEl = (i = e.shadowRoot) == null ? void 0 : i.children[0], e.history && w.setUpHistory(_this10._conversationHistory, e.history);\n return _this10;\n }\n // need ref of messages object as web model exhibits unique behaviour to manipulate chat\n _inherits(w, _Je2);\n return _createClass(w, [{\n key: \"setUpMessages\",\n value: function setUpMessages(e) {\n var _this11 = this;\n this._messages = e, this._removeIntro = function () {\n e.removeIntroductoryMessage(), _this11._removeIntro = void 0;\n };\n }\n }, {\n key: \"findModelInWindow\",\n value: function findModelInWindow(e) {\n var _this12 = this;\n var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var i;\n window.webLLM ? this.configureInit(this.shouldAddIntroMessage(e.introMessage)) : t > w.MODULE_SEARCH_LIMIT_S ? ((i = this._messages) == null || i.addNewErrorMessage(\"service\", w.WEB_LLM_NOT_FOUND_ERROR), console.error(\"The deep-chat-web-llm module has not been attached to the window object. Please see the following guide:\"), console.error(\"https://deepchat.dev/examples/externalModules\")) : setTimeout(function () {\n return _this12.findModelInWindow(e, t + 1);\n }, 1e3);\n }\n }, {\n key: \"shouldAddIntroMessage\",\n value: function shouldAddIntroMessage(e) {\n var t;\n return !e && this._webModel && ((t = this._webModel.introMessage) == null ? void 0 : t.displayed) !== !1;\n }\n }, {\n key: \"scrollToTop\",\n value: function scrollToTop(e) {\n var _this13 = this;\n var t;\n ((t = this._webModel.introMessage) == null ? void 0 : t.autoScroll) !== !1 && setTimeout(function () {\n var i, n;\n (i = _this13._messages) != null && i.elementRef && q.scrollToTop((n = _this13._messages) == null ? void 0 : n.elementRef);\n }, e);\n }\n // prettier-ignore\n }, {\n key: \"getIntroMessage\",\n value: function getIntroMessage(e) {\n if (!this.shouldAddIntroMessage(e) || !this._chatEl) return;\n var t = ii.setUpInitial(this.init.bind(this), this._webModel.introMessage, this._chatEl, !!this._webModel.worker);\n return this.scrollToTop(1), {\n role: b.AI_ROLE,\n html: t,\n sendUpdate: !1\n };\n }\n }, {\n key: \"configureInit\",\n value: function () {\n var _configureInit = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee25(e) {\n var t;\n return _regeneratorRuntime().wrap(function _callee25$(_context25) {\n while (1) switch (_context25.prev = _context25.next) {\n case 0:\n t = this._webModel.load;\n if (!t) {\n _context25.next = 8;\n break;\n }\n if (!t.onInit) {\n _context25.next = 5;\n break;\n }\n this.init();\n return _context25.abrupt(\"return\");\n case 5:\n if (!t.onMessage) {\n _context25.next = 8;\n break;\n }\n this._loadOnFirstMessage = !0;\n return _context25.abrupt(\"return\");\n case 8:\n e || this.init();\n case 9:\n case \"end\":\n return _context25.stop();\n }\n }, _callee25, this);\n }));\n function configureInit(_x48) {\n return _configureInit.apply(this, arguments);\n }\n return configureInit;\n }()\n }, {\n key: \"init\",\n value: function () {\n var _init = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee26(e) {\n var i, t;\n return _regeneratorRuntime().wrap(function _callee26$(_context26) {\n while (1) switch (_context26.prev = _context26.next) {\n case 0:\n (i = this._messages) == null || i.removeError();\n t = this.attemptToCreateChat();\n _context26.t0 = t;\n if (!_context26.t0) {\n _context26.next = 6;\n break;\n }\n _context26.next = 6;\n return this.loadModel(t, e);\n case 6:\n case \"end\":\n return _context26.stop();\n }\n }, _callee26, this);\n }));\n function init(_x49) {\n return _init.apply(this, arguments);\n }\n return init;\n }()\n }, {\n key: \"attemptToCreateChat\",\n value: function attemptToCreateChat() {\n var t;\n if (w.chat) {\n (t = this._messages) == null || t.addNewErrorMessage(\"service\", w.MULTIPLE_MODELS_ERROR), console.error(w.MULTIPLE_MODELS_ERROR);\n return;\n }\n if (this._isModelLoaded || this._isModelLoading) return;\n var e = this._webModel.worker;\n return Nn.use_web_worker && e ? new window.webLLM.ChatWorkerClient(e) : new window.webLLM.ChatModule();\n }\n }, {\n key: \"getConfig\",\n value: function getConfig() {\n var i;\n var e = w.DEFAULT_MODEL;\n this._webModel.model && (e = this._webModel.model);\n var t = JSON.parse(JSON.stringify(Nn));\n if (this._webModel.urls) {\n var n = t.model_list.find(function (r) {\n return r.local_id = e;\n });\n n && (this._webModel.urls.model && (n.model_url = this._webModel.urls.model), this._webModel.urls.wasm && (n.model_lib_url = this._webModel.urls.wasm));\n }\n return (i = this._webModel.load) != null && i.skipCache && (t.use_cache = !1), {\n model: e,\n appConfig: t\n };\n }\n // prettier-ignore\n }, {\n key: \"loadModel\",\n value: function () {\n var _loadModel = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee27(e, t) {\n var _this14 = this;\n var o, a, l, c, d, h, u, i, n, r, _this$getConfig, f, m, p, _f;\n return _regeneratorRuntime().wrap(function _callee27$(_context27) {\n while (1) switch (_context27.prev = _context27.next) {\n case 0:\n this.scrollToTop(), w.chat = e, this._isModelLoading = !0;\n i = ((o = this._webModel.introMessage) == null ? void 0 : o.displayed) === !1;\n n = function n(f) {\n var m;\n (m = _this14._messages) == null || m.addNewMessage({\n html: \"<div>\".concat(f.text, \"</div>\"),\n overwrite: !0,\n sendUpdate: !1\n }), i && (setTimeout(function () {\n var p;\n return q.scrollToBottom((p = _this14._messages) == null ? void 0 : p.elementRef);\n }), i = !1);\n };\n w.chat.setInitProgressCallback(n);\n _context27.prev = 4;\n _this$getConfig = this.getConfig(), f = _this$getConfig.model, m = _this$getConfig.appConfig, p = {};\n this._webModel.instruction && (p.conv_config = {\n system: this._webModel.instruction\n });\n this._conversationHistory.length > 0 && (p.conversation_history = this._conversationHistory);\n _context27.next = 10;\n return w.chat.reload(f, p, m, t);\n case 10:\n r = _context27.sent;\n _context27.next = 16;\n break;\n case 13:\n _context27.prev = 13;\n _context27.t0 = _context27[\"catch\"](4);\n return _context27.abrupt(\"return\", this.unloadChat(_context27.t0));\n case 16:\n if ((l = (a = this.deepChat)._validationHandler) == null || l.call(a), (c = this._webModel.introMessage) != null && c.removeAfterLoad) this._webModel.introMessage.displayed === !1 ? (h = this._messages) == null || h.removeLastMessage() : (u = this._removeIntro) == null || u.call(this);else {\n _f = ii.setUpAfterLoad(r, this._webModel.introMessage, this._chatEl, !!this._webModel.worker);\n (d = this._messages) == null || d.addNewMessage({\n html: _f,\n overwrite: !0,\n sendUpdate: !1\n });\n }\n this._isModelLoaded = !0, this._isModelLoading = !1;\n case 18:\n case \"end\":\n return _context27.stop();\n }\n }, _callee27, this, [[4, 13]]);\n }));\n function loadModel(_x50, _x51) {\n return _loadModel.apply(this, arguments);\n }\n return loadModel;\n }()\n }, {\n key: \"unloadChat\",\n value: function () {\n var _unloadChat = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee28(e) {\n var t;\n return _regeneratorRuntime().wrap(function _callee28$(_context28) {\n while (1) switch (_context28.prev = _context28.next) {\n case 0:\n (t = this._messages) == null || t.addNewErrorMessage(\"service\", w.GENERIC_ERROR);\n console.error(e);\n this._isModelLoaded = !1;\n this._isModelLoading = !1;\n _context28.t0 = w.chat;\n if (!_context28.t0) {\n _context28.next = 9;\n break;\n }\n _context28.next = 8;\n return w.chat.unload();\n case 8:\n w.chat = void 0;\n case 9:\n case \"end\":\n return _context28.stop();\n }\n }, _callee28, this);\n }));\n function unloadChat(_x52) {\n return _unloadChat.apply(this, arguments);\n }\n return unloadChat;\n }()\n }, {\n key: \"immediateResp\",\n value: function () {\n var _immediateResp = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee29(e, t, i) {\n var n, r;\n return _regeneratorRuntime().wrap(function _callee29$(_context29) {\n while (1) switch (_context29.prev = _context29.next) {\n case 0:\n _context29.next = 2;\n return i.generate(t, void 0, 0);\n case 2:\n _context29.t0 = _context29.sent;\n n = {\n text: _context29.t0\n };\n _context29.next = 6;\n return w.processResponse(this.deepChat, e, n);\n case 6:\n r = _context29.sent;\n r && e.addNewMessage(r), this.completionsHandlers.onFinish();\n case 8:\n case \"end\":\n return _context29.stop();\n }\n }, _callee29, this);\n }));\n function immediateResp(_x53, _x54, _x55) {\n return _immediateResp.apply(this, arguments);\n }\n return immediateResp;\n }()\n }, {\n key: \"streamResp\",\n value: function () {\n var _streamResp = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee31(e, t, i) {\n var _this15 = this;\n var n;\n return _regeneratorRuntime().wrap(function _callee31$(_context31) {\n while (1) switch (_context31.prev = _context31.next) {\n case 0:\n this.streamHandlers.abortStream.abort = function () {\n i.interruptGenerate();\n }, this.streamHandlers.onOpen();\n n = new me(e);\n _context31.next = 4;\n return i.generate(t, /*#__PURE__*/function () {\n var _ref8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee30(r, o) {\n var a;\n return _regeneratorRuntime().wrap(function _callee30$(_context30) {\n while (1) switch (_context30.prev = _context30.next) {\n case 0:\n _context30.next = 2;\n return w.processResponse(_this15.deepChat, e, {\n text: o\n });\n case 2:\n a = _context30.sent;\n a && n.upsertStreamedMessage({\n text: a.text,\n overwrite: !0\n });\n case 4:\n case \"end\":\n return _context30.stop();\n }\n }, _callee30);\n }));\n return function (_x59, _x60) {\n return _ref8.apply(this, arguments);\n };\n }());\n case 4:\n n.finaliseStreamedMessage();\n this.streamHandlers.onClose();\n case 6:\n case \"end\":\n return _context31.stop();\n }\n }, _callee31, this);\n }));\n function streamResp(_x56, _x57, _x58) {\n return _streamResp.apply(this, arguments);\n }\n return streamResp;\n }()\n }, {\n key: \"generateRespByType\",\n value: function () {\n var _generateRespByType = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee32(e, t, i, n) {\n var r;\n return _regeneratorRuntime().wrap(function _callee32$(_context32) {\n while (1) switch (_context32.prev = _context32.next) {\n case 0:\n _context32.prev = 0;\n if (!i) {\n _context32.next = 6;\n break;\n }\n _context32.next = 4;\n return this.streamResp(e, t, n);\n case 4:\n _context32.next = 8;\n break;\n case 6:\n _context32.next = 8;\n return this.immediateResp(e, t, n);\n case 8:\n _context32.next = 13;\n break;\n case 10:\n _context32.prev = 10;\n _context32.t0 = _context32[\"catch\"](0);\n (r = this._messages) == null || r.addNewErrorMessage(\"service\"), console.log(_context32.t0);\n case 13:\n case \"end\":\n return _context32.stop();\n }\n }, _callee32, this, [[0, 10]]);\n }));\n function generateRespByType(_x61, _x62, _x63, _x64) {\n return _generateRespByType.apply(this, arguments);\n }\n return generateRespByType;\n }()\n }, {\n key: \"generateResp\",\n value: function () {\n var _generateResp = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee33(e, t, i) {\n var n, _yield$v$processReque5, r, o, a, l, c;\n return _regeneratorRuntime().wrap(function _callee33$(_context33) {\n while (1) switch (_context33.prev = _context33.next) {\n case 0:\n n = t[t.length - 1].text;\n _context33.next = 3;\n return v.processRequestInterceptor(this.deepChat, {\n body: {\n text: n\n }\n });\n case 3:\n _yield$v$processReque5 = _context33.sent;\n r = _yield$v$processReque5.body;\n o = _yield$v$processReque5.error;\n a = !!this.stream;\n try {\n if (o) v.displayError(e, new Error(o)), (a ? this.streamHandlers.onClose : this.completionsHandlers.onFinish)();else if (!r || !r.text) {\n l = A.INVALID_MODEL_REQUEST({\n body: r\n }, !1);\n console.error(l);\n c = a ? this.streamHandlers.onClose : this.completionsHandlers.onFinish;\n v.onInterceptorError(e, l, c);\n } else this.generateRespByType(e, r.text, !!this.stream, i);\n } catch (l) {\n this.unloadChat(l);\n }\n case 8:\n case \"end\":\n return _context33.stop();\n }\n }, _callee33, this);\n }));\n function generateResp(_x65, _x66, _x67) {\n return _generateResp.apply(this, arguments);\n }\n return generateResp;\n }()\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee34(e, t) {\n var i, n;\n return _regeneratorRuntime().wrap(function _callee34$(_context34) {\n while (1) switch (_context34.prev = _context34.next) {\n case 0:\n if (this._isModelLoaded) {\n _context34.next = 7;\n break;\n }\n if (!this._loadOnFirstMessage) {\n _context34.next = 6;\n break;\n }\n _context34.next = 4;\n return this.init();\n case 4:\n _context34.next = 7;\n break;\n case 6:\n return _context34.abrupt(\"return\");\n case 7:\n !w.chat || this._isModelLoading || ((i = this._webModel.introMessage) != null && i.removeAfterMessage && ((n = this._removeIntro) == null || n.call(this)), e.addLoadingMessage(), this.generateResp(e, t, w.chat));\n case 8:\n case \"end\":\n return _context34.stop();\n }\n }, _callee34, this);\n }));\n function callServiceAPI(_x68, _x69) {\n return _callServiceAPI2.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"canSubmit\",\n value: function canSubmit(e) {\n return !(e != null && e.trim()) || this._isModelLoading ? !1 : this._loadOnFirstMessage ? !0 : !!this._isModelLoaded;\n }\n }, {\n key: \"isWebModel\",\n value: function isWebModel() {\n return !0;\n }\n }], [{\n key: \"setUpHistory\",\n value: function setUpHistory(e, t) {\n t.forEach(function (i, n) {\n if (i.role === b.USER_ROLE && i.text) {\n var r = t[n + 1];\n r != null && r.text && r.role !== b.USER_ROLE && e.push([i.text, r.text]);\n }\n });\n }\n }, {\n key: \"processResponse\",\n value: function () {\n var _processResponse = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee35(e, t, i) {\n var r, n, o;\n return _regeneratorRuntime().wrap(function _callee35$(_context35) {\n while (1) switch (_context35.prev = _context35.next) {\n case 0:\n _context35.next = 2;\n return (r = e.responseInterceptor) == null ? void 0 : r.call(e, i);\n case 2:\n _context35.t0 = _context35.sent;\n if (_context35.t0) {\n _context35.next = 5;\n break;\n }\n _context35.t0 = i;\n case 5:\n n = _context35.t0;\n if (!n.error) {\n _context35.next = 11;\n break;\n }\n v.displayError(t, new Error(n.error));\n return _context35.abrupt(\"return\");\n case 11:\n if (!(!n || !n.text)) {\n _context35.next = 15;\n break;\n }\n o = A.INVALID_MODEL_RESPONSE(i, !!e.responseInterceptor, n);\n v.displayError(t, new Error(o));\n return _context35.abrupt(\"return\");\n case 15:\n return _context35.abrupt(\"return\", n);\n case 16:\n case \"end\":\n return _context35.stop();\n }\n }, _callee35);\n }));\n function processResponse(_x70, _x71, _x72) {\n return _processResponse.apply(this, arguments);\n }\n return processResponse;\n }()\n }, {\n key: \"clearAllCache\",\n value: function clearAllCache() {\n w.clearCache(\"webllm/model\"), w.clearCache(\"webllm/wasm\");\n }\n }, {\n key: \"clearCache\",\n value: function clearCache(e) {\n caches.open(e).then(function (t) {\n t.keys().then(function (i) {\n i.forEach(function (n) {\n t[\"delete\"](n);\n });\n });\n });\n }\n }]);\n }(Je);\nw.GENERIC_ERROR = \"Error, please check the [troubleshooting](https://deepchat.dev/docs/webModel#troubleshooting) section of documentation for help.\", w.MULTIPLE_MODELS_ERROR = \"Cannot run multiple web models\", w.WEB_LLM_NOT_FOUND_ERROR = \"WebLLM module not found\", w.DEFAULT_MODEL = \"Llama-2-7b-chat-hf-q4f32_1\", w.MODULE_SEARCH_LIMIT_S = 5;\nvar It = w;\nvar ni = /*#__PURE__*/function () {\n function ni() {\n _classCallCheck(this, ni);\n }\n return _createClass(ni, null, [{\n key: \"buildHeaders\",\n value: function buildHeaders(e) {\n return {\n Authorization: \"Bearer \".concat(e),\n \"Content-Type\": \"application/json\"\n // bigcode/santacoder expects this so adding just-in-case\n };\n }\n // prettier-ignore\n }, {\n key: \"handleVerificationResult\",\n value: function handleVerificationResult(e, t, i, n) {\n var r = e;\n Array.isArray(r.error) && r.error[0] === \"Error in `parameters`: field required\" ? i(t) : n(A.INVALID_KEY);\n }\n }, {\n key: \"buildKeyVerificationDetails\",\n value: function buildKeyVerificationDetails() {\n return {\n url: \"https://api-inference.huggingface.co/models/gpt2\",\n method: \"POST\",\n handleVerificationResult: ni.handleVerificationResult\n };\n }\n }]);\n}();\nvar Tt = /*#__PURE__*/function (_z) {\n // prettier-ignore\n function Tt(e, t, i, n, r, o) {\n var _this16;\n _classCallCheck(this, Tt);\n _this16 = _callSuper(this, Tt, [e, ni.buildKeyVerificationDetails(), ni.buildHeaders, r, o]), _this16.insertKeyPlaceholderText = \"Hugging Face Token\", _this16.keyHelpUrl = \"https://huggingface.co/settings/tokens\", _this16.introPanelMarkUp = \"\\n <div style=\\\"width: 100%; text-align: center; margin-left: -10px\\\"><b>Hugging Face</b></div>\\n <p>First message may take an extented amount of time to complete as the model needs to be initialized.</p>\", _this16.permittedErrorPrefixes = [\"Authorization header\"], _this16.url = \"\".concat(Tt.URL_PREFIX).concat(i), _this16.textInputPlaceholderText = t, _typeof(n) == \"object\" && (n.model && (_this16.url = \"\".concat(Tt.URL_PREFIX).concat(n.model)), n.options && (_this16.rawBody.options = n.options), n.parameters && (_this16.rawBody.parameters = n.parameters));\n return _this16;\n }\n // prettier-ignore\n _inherits(Tt, _z);\n return _createClass(Tt, [{\n key: \"preprocessBody\",\n value: function preprocessBody(e, t, i) {\n var _n$options;\n var n = JSON.parse(JSON.stringify(e)),\n r = t[t.length - 1].text;\n if (r) return (_n$options = n.options) !== null && _n$options !== void 0 ? _n$options : n.options = {}, n.options.wait_for_model = !0, _objectSpread({\n inputs: r\n }, n);\n }\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee36(e, t, i) {\n var n;\n return _regeneratorRuntime().wrap(function _callee36$(_context36) {\n while (1) switch (_context36.prev = _context36.next) {\n case 0:\n if (this.connectSettings) {\n _context36.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n n = this.preprocessBody(this.rawBody, t, i);\n T.request(this, n, e);\n case 4:\n case \"end\":\n return _context36.stop();\n }\n }, _callee36, this);\n }));\n function callServiceAPI(_x73, _x74, _x75) {\n return _callServiceAPI3.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }]);\n}(z);\nTt.URL_PREFIX = \"https://api-inference.huggingface.co/models/\";\nvar ke = Tt;\nvar Ft = /*#__PURE__*/function (_ke) {\n // prettier-ignore\n function Ft(e, t, i, n, r, o) {\n var _this17;\n _classCallCheck(this, Ft);\n _this17 = _callSuper(this, Ft, [e, t, i, n, r, o]), _this17.isTextInputDisabled = !0, _this17.canSendMessage = Ft.canSendFile;\n return _this17;\n }\n _inherits(Ft, _ke);\n return _createClass(Ft, [{\n key: \"preprocessBody\",\n value: function preprocessBody(e, t, i) {\n return i[0];\n }\n // prettier-ignore\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee37(e, t, i) {\n return _regeneratorRuntime().wrap(function _callee37$(_context37) {\n while (1) switch (_context37.prev = _context37.next) {\n case 0:\n if (this.connectSettings) {\n _context37.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n if (i != null && i[0]) {\n _context37.next = 4;\n break;\n }\n throw new Error(\"No file was added\");\n case 4:\n T.poll(this, i[0], e, !1);\n case 5:\n case \"end\":\n return _context37.stop();\n }\n }, _callee37, this);\n }));\n function callServiceAPI(_x76, _x77, _x78) {\n return _callServiceAPI4.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }], [{\n key: \"canSendFile\",\n value: function canSendFile(e, t) {\n return !!(t != null && t[0]);\n }\n }]);\n}(ke);\nvar po = /*#__PURE__*/function (_Ft) {\n // prettier-ignore\n function po(e) {\n _classCallCheck(this, po);\n var n, r, o;\n var t = (r = (n = e.directConnection) == null ? void 0 : n.huggingFace) == null ? void 0 : r.audioClassification,\n i = (o = e.directConnection) == null ? void 0 : o.huggingFace;\n return _callSuper(this, po, [e, \"Attach an audio file\", \"ehcalabres/wav2vec2-lg-xlsr-en-speech-emotion-recognition\", t, i, {\n audio: {}\n }]);\n }\n _inherits(po, _Ft);\n return _createClass(po, [{\n key: \"extractPollResultData\",\n value: function () {\n var _extractPollResultData = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee38(e) {\n var t;\n return _regeneratorRuntime().wrap(function _callee38$(_context38) {\n while (1) switch (_context38.prev = _context38.next) {\n case 0:\n if (!e.estimated_time) {\n _context38.next = 2;\n break;\n }\n return _context38.abrupt(\"return\", {\n timeoutMS: (e.estimated_time + 1) * 1e3\n });\n case 2:\n if (!e.error) {\n _context38.next = 4;\n break;\n }\n throw e.error;\n case 4:\n return _context38.abrupt(\"return\", {\n text: ((t = e[0]) == null ? void 0 : t.label) || \"\"\n });\n case 5:\n case \"end\":\n return _context38.stop();\n }\n }, _callee38);\n }));\n function extractPollResultData(_x79) {\n return _extractPollResultData.apply(this, arguments);\n }\n return extractPollResultData;\n }()\n }]);\n}(Ft);\nvar mo = /*#__PURE__*/function (_Ft2) {\n function mo(e) {\n _classCallCheck(this, mo);\n var n, r, o;\n var t = (r = (n = e.directConnection) == null ? void 0 : n.huggingFace) == null ? void 0 : r.imageClassification,\n i = (o = e.directConnection) == null ? void 0 : o.huggingFace;\n return _callSuper(this, mo, [e, \"Attach an image file\", \"google/vit-base-patch16-224\", t, i, {\n images: {}\n }]);\n }\n _inherits(mo, _Ft2);\n return _createClass(mo, [{\n key: \"extractPollResultData\",\n value: function () {\n var _extractPollResultData2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee39(e) {\n var t;\n return _regeneratorRuntime().wrap(function _callee39$(_context39) {\n while (1) switch (_context39.prev = _context39.next) {\n case 0:\n if (!e.estimated_time) {\n _context39.next = 2;\n break;\n }\n return _context39.abrupt(\"return\", {\n timeoutMS: (e.estimated_time + 1) * 1e3\n });\n case 2:\n if (!e.error) {\n _context39.next = 4;\n break;\n }\n throw e.error;\n case 4:\n return _context39.abrupt(\"return\", {\n text: ((t = e[0]) == null ? void 0 : t.label) || \"\"\n });\n case 5:\n case \"end\":\n return _context39.stop();\n }\n }, _callee39);\n }));\n function extractPollResultData(_x80) {\n return _extractPollResultData2.apply(this, arguments);\n }\n return extractPollResultData;\n }()\n }]);\n}(Ft);\nvar Bt = \"data:image/png;base64,\";\nvar be = /*#__PURE__*/function () {\n function be() {\n _classCallCheck(this, be);\n }\n return _createClass(be, null, [{\n key: \"buildHeaders\",\n value: function buildHeaders(e) {\n return {\n Authorization: \"Bearer \".concat(e),\n \"Content-Type\": \"application/json\"\n };\n }\n // prettier-ignore\n }, {\n key: \"handleVerificationResult\",\n value: function handleVerificationResult(e, t, i, n) {\n e.message ? n(A.INVALID_KEY) : i(t);\n }\n }, {\n key: \"buildKeyVerificationDetails\",\n value: function buildKeyVerificationDetails() {\n return {\n url: \"https://api.stability.ai/v1/engines/list\",\n method: \"GET\",\n handleVerificationResult: be.handleVerificationResult\n };\n }\n }]);\n}();\nvar Si = /*#__PURE__*/function (_z2) {\n // prettier-ignore\n function Si(e, t, i, n, r) {\n var _this18;\n _classCallCheck(this, Si);\n _this18 = _callSuper(this, Si, [e, t, i, n, r]), _this18.insertKeyPlaceholderText = \"Stability AI API Key\", _this18.keyHelpUrl = \"https://platform.stability.ai/docs/getting-started/authentication\", _this18.permittedErrorPrefixes = [\"Incorrect\", \"invalid_\"];\n return _this18;\n }\n _inherits(Si, _z2);\n return _createClass(Si);\n}(z);\nvar si = /*#__PURE__*/function (_Si) {\n function si(e) {\n var _this19;\n _classCallCheck(this, si);\n var o;\n var t = JSON.parse(JSON.stringify(e.directConnection)),\n i = t == null ? void 0 : t.stabilityAI,\n n = {\n images: {\n files: {\n acceptedFormats: \".png\",\n maxNumberOfFiles: 1\n }\n }\n };\n _this19 = _callSuper(this, si, [e, be.buildKeyVerificationDetails(), be.buildHeaders, i, n]), _this19.url = \"https://api.stability.ai/v1/generation/esrgan-v1-x2plus/image-to-image/upscale\", _this19.textInputPlaceholderText = \"Describe image changes\", _this19.introPanelMarkUp = \"\\n <div style=\\\"width: 100%; text-align: center; margin-left: -10px\\\"><b>Stability AI</b></div>\\n <div style=\\\"width: 100%; text-align: center; margin-left: -10px; margin-top: 5px\\\"><b>Image to Image Upscale</b></div>\\n <p>Upload an image to generate a new one with higher resolution.</p>\\n <p>Click <a href=\\\"https://platform.stability.ai/\\\">here</a> for more info.</p>\";\n var r = (o = t == null ? void 0 : t.stabilityAI) == null ? void 0 : o.imageToImageUpscale;\n _typeof(r) == \"object\" && (r.engine_id && (_this19.url = \"https://api.stability.ai/v1/generation/\".concat(r.engine_id, \"/image-to-image/upscale\")), si.cleanConfig(r), Object.assign(_this19.rawBody, r)), _this19.canSendMessage = si.canSendFileMessage;\n return _this19;\n }\n _inherits(si, _Si);\n return _createClass(si, [{\n key: \"createFormDataBody\",\n value: function createFormDataBody(e, t) {\n var i = new FormData();\n return i.append(\"image\", t), Object.keys(e).forEach(function (n) {\n i.append(n, String(e[n]));\n }), i;\n }\n // prettier-ignore\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee40(e, t, i) {\n var n;\n return _regeneratorRuntime().wrap(function _callee40$(_context40) {\n while (1) switch (_context40.prev = _context40.next) {\n case 0:\n if (this.connectSettings) {\n _context40.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n if (i) {\n _context40.next = 4;\n break;\n }\n throw new Error(\"Image was not found\");\n case 4:\n n = this.createFormDataBody(this.rawBody, i[0]);\n v.tempRemoveContentHeader(this.connectSettings, T.request.bind(this, this, n, e), !1);\n case 6:\n case \"end\":\n return _context40.stop();\n }\n }, _callee40, this);\n }));\n function callServiceAPI(_x81, _x82, _x83) {\n return _callServiceAPI5.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee41(e) {\n return _regeneratorRuntime().wrap(function _callee41$(_context41) {\n while (1) switch (_context41.prev = _context41.next) {\n case 0:\n if (!e.message) {\n _context41.next = 2;\n break;\n }\n throw e.message;\n case 2:\n return _context41.abrupt(\"return\", {\n files: e.artifacts.map(function (i) {\n return {\n src: \"\".concat(Bt).concat(i.base64),\n type: \"image\"\n };\n })\n });\n case 3:\n case \"end\":\n return _context41.stop();\n }\n }, _callee41);\n }));\n function extractResultData(_x84) {\n return _extractResultData2.apply(this, arguments);\n }\n return extractResultData;\n }()\n }], [{\n key: \"cleanConfig\",\n value: function cleanConfig(e) {\n delete e.engine_id;\n }\n }, {\n key: \"canSendFileMessage\",\n value: function canSendFileMessage(e, t) {\n return !!(t != null && t[0]);\n }\n }]);\n}(Si);\nvar ri = /*#__PURE__*/function (_Si2) {\n function ri(e) {\n var _this20;\n _classCallCheck(this, ri);\n var o;\n var t = JSON.parse(JSON.stringify(e.directConnection)),\n i = t == null ? void 0 : t.stabilityAI,\n n = {\n images: {\n files: {\n acceptedFormats: \".png\",\n maxNumberOfFiles: 2\n }\n }\n };\n _this20 = _callSuper(this, ri, [e, be.buildKeyVerificationDetails(), be.buildHeaders, i, n]), _this20.url = \"https://api.stability.ai/v1/generation/stable-diffusion-xl-1024-v1-0/image-to-image/masking\", _this20._maskSource = \"MASK_IMAGE_WHITE\", _this20.textInputPlaceholderText = \"Describe image changes\", _this20.introPanelMarkUp = \"\\n <div style=\\\"width: 100%; text-align: center; margin-left: -10px\\\"><b>Stability AI</b></div>\\n <div style=\\\"width: 100%; text-align: center; margin-left: -10px; margin-top: 5px\\\"><b>Image to Image Masking</b></div>\\n <p>Upload an image, its mask image to create a new one based on the changes you have described for the mask area.</p>\\n <p>Click <a href=\\\"https://platform.stability.ai/\\\">here</a> for more info.</p>\";\n var r = (o = t == null ? void 0 : t.stabilityAI) == null ? void 0 : o.imageToImageMasking;\n _typeof(r) == \"object\" && (r.engine_id && (_this20.url = \"https://api.stability.ai/v1/generation/\".concat(r.engine_id, \"/image-to-image/masking\")), r.weight !== void 0 && r.weight !== null && (_this20._imageWeight = r.weight), r.mask_source !== void 0 && r.mask_source !== null && (_this20._maskSource = r.mask_source), ri.cleanConfig(r), Object.assign(_this20.rawBody, r)), _this20.canSendMessage = ri.canSendFileTextMessage;\n return _this20;\n }\n _inherits(ri, _Si2);\n return _createClass(ri, [{\n key: \"createFormDataBody\",\n value: function createFormDataBody(e, t, i, n) {\n var r = new FormData();\n return r.append(\"init_image\", t), r.append(\"mask_source\", String(this._maskSource)), r.append(\"mask_image\", i), n && n !== \"\" && r.append(\"text_prompts[0][text]\", n), this._imageWeight !== void 0 && this._imageWeight !== null && r.append(\"text_prompts[0][weight]\", String(this._imageWeight)), Object.keys(e).forEach(function (o) {\n r.append(o, String(e[o]));\n }), r.get(\"weight\") === void 0 && r.append(\"weight\", String(1)), r;\n }\n // prettier-ignore\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee42(e, t, i) {\n var o, a, n, r;\n return _regeneratorRuntime().wrap(function _callee42$(_context42) {\n while (1) switch (_context42.prev = _context42.next) {\n case 0:\n if (this.connectSettings) {\n _context42.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n if (!(!i || !i[0] || !i[1])) {\n _context42.next = 4;\n break;\n }\n throw new Error(\"Image was not found\");\n case 4:\n n = (a = (o = t[t.length - 1]) == null ? void 0 : o.text) == null ? void 0 : a.trim(), r = this.createFormDataBody(this.rawBody, i[0], i[1], n);\n v.tempRemoveContentHeader(this.connectSettings, T.request.bind(this, this, r, e), !1);\n case 6:\n case \"end\":\n return _context42.stop();\n }\n }, _callee42, this);\n }));\n function callServiceAPI(_x85, _x86, _x87) {\n return _callServiceAPI6.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee43(e) {\n return _regeneratorRuntime().wrap(function _callee43$(_context43) {\n while (1) switch (_context43.prev = _context43.next) {\n case 0:\n if (!e.message) {\n _context43.next = 2;\n break;\n }\n throw e.message;\n case 2:\n return _context43.abrupt(\"return\", {\n files: e.artifacts.map(function (i) {\n return {\n src: \"\".concat(Bt).concat(i.base64),\n type: \"image\"\n };\n })\n });\n case 3:\n case \"end\":\n return _context43.stop();\n }\n }, _callee43);\n }));\n function extractResultData(_x88) {\n return _extractResultData3.apply(this, arguments);\n }\n return extractResultData;\n }()\n }], [{\n key: \"cleanConfig\",\n value: function cleanConfig(e) {\n delete e.engine_id, delete e.weight;\n }\n }, {\n key: \"canSendFileTextMessage\",\n value: function canSendFileTextMessage(e, t) {\n return !!(t != null && t[0]) && !!(e && e.trim() !== \"\");\n }\n }]);\n}(Si);\nvar go = /*#__PURE__*/function (_Ft3) {\n function go(e) {\n _classCallCheck(this, go);\n var n, r, o;\n var t = (r = (n = e.directConnection) == null ? void 0 : n.huggingFace) == null ? void 0 : r.audioSpeechRecognition,\n i = (o = e.directConnection) == null ? void 0 : o.huggingFace;\n return _callSuper(this, go, [e, \"Attach an audio file\", \"facebook/wav2vec2-large-960h-lv60-self\", t, i, {\n audio: {}\n }]);\n }\n _inherits(go, _Ft3);\n return _createClass(go, [{\n key: \"extractPollResultData\",\n value: function () {\n var _extractPollResultData3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee44(e) {\n return _regeneratorRuntime().wrap(function _callee44$(_context44) {\n while (1) switch (_context44.prev = _context44.next) {\n case 0:\n if (!e.estimated_time) {\n _context44.next = 2;\n break;\n }\n return _context44.abrupt(\"return\", {\n timeoutMS: (e.estimated_time + 1) * 1e3\n });\n case 2:\n if (!e.error) {\n _context44.next = 4;\n break;\n }\n throw e.error;\n case 4:\n return _context44.abrupt(\"return\", {\n text: e.text || \"\"\n });\n case 5:\n case \"end\":\n return _context44.stop();\n }\n }, _callee44);\n }));\n function extractPollResultData(_x89) {\n return _extractPollResultData3.apply(this, arguments);\n }\n return extractPollResultData;\n }()\n }]);\n}(Ft);\nvar bo = /*#__PURE__*/function (_ke2) {\n function bo(e) {\n _classCallCheck(this, bo);\n var n, r, o;\n var t = (r = (n = e.directConnection) == null ? void 0 : n.huggingFace) == null ? void 0 : r.textGeneration,\n i = (o = e.directConnection) == null ? void 0 : o.huggingFace;\n return _callSuper(this, bo, [e, \"Once upon a time\", \"gpt2\", t, i]);\n }\n _inherits(bo, _ke2);\n return _createClass(bo, [{\n key: \"extractResultData\",\n value: function () {\n var _extractResultData4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee45(e) {\n var t;\n return _regeneratorRuntime().wrap(function _callee45$(_context45) {\n while (1) switch (_context45.prev = _context45.next) {\n case 0:\n if (!e.error) {\n _context45.next = 2;\n break;\n }\n throw e.error;\n case 2:\n return _context45.abrupt(\"return\", {\n text: ((t = e[0]) == null ? void 0 : t.generated_text) || \"\"\n });\n case 3:\n case \"end\":\n return _context45.stop();\n }\n }, _callee45);\n }));\n function extractResultData(_x90) {\n return _extractResultData4.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n}(ke);\nvar vo = /*#__PURE__*/function (_ke3) {\n function vo(e) {\n var _this21;\n _classCallCheck(this, vo);\n var n, r, o;\n var t = (r = (n = e.directConnection) == null ? void 0 : n.huggingFace) == null ? void 0 : r.questionAnswer,\n i = (o = e.directConnection) == null ? void 0 : o.huggingFace;\n _this21 = _callSuper(this, vo, [e, \"Ask a question\", \"bert-large-uncased-whole-word-masking-finetuned-squad\", t, i]), _this21.permittedErrorPrefixes = [\"Authorization header\", \"Error in\"], _this21.context = t.context;\n return _this21;\n }\n _inherits(vo, _ke3);\n return _createClass(vo, [{\n key: \"preprocessBody\",\n value: function preprocessBody(e, t) {\n var i = t[t.length - 1].text;\n if (i) return {\n inputs: {\n question: i,\n context: this.context,\n options: {\n wait_for_model: !0\n }\n }\n };\n }\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee46(e) {\n return _regeneratorRuntime().wrap(function _callee46$(_context46) {\n while (1) switch (_context46.prev = _context46.next) {\n case 0:\n if (!e.error) {\n _context46.next = 2;\n break;\n }\n throw e.error;\n case 2:\n return _context46.abrupt(\"return\", {\n text: e.answer || \"\"\n });\n case 3:\n case \"end\":\n return _context46.stop();\n }\n }, _callee46);\n }));\n function extractResultData(_x91) {\n return _extractResultData5.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n}(ke);\nvar yo = /*#__PURE__*/function (_ke4) {\n function yo(e) {\n _classCallCheck(this, yo);\n var n, r, o;\n var t = (r = (n = e.directConnection) == null ? void 0 : n.huggingFace) == null ? void 0 : r.summarization,\n i = (o = e.directConnection) == null ? void 0 : o.huggingFace;\n return _callSuper(this, yo, [e, \"Insert text to summarize\", \"facebook/bart-large-cnn\", t, i]);\n }\n _inherits(yo, _ke4);\n return _createClass(yo, [{\n key: \"extractResultData\",\n value: function () {\n var _extractResultData6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee47(e) {\n var t;\n return _regeneratorRuntime().wrap(function _callee47$(_context47) {\n while (1) switch (_context47.prev = _context47.next) {\n case 0:\n if (!e.error) {\n _context47.next = 2;\n break;\n }\n throw e.error;\n case 2:\n return _context47.abrupt(\"return\", {\n text: ((t = e[0]) == null ? void 0 : t.summary_text) || \"\"\n });\n case 3:\n case \"end\":\n return _context47.stop();\n }\n }, _callee47);\n }));\n function extractResultData(_x92) {\n return _extractResultData6.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n}(ke);\nvar Eo = /*#__PURE__*/function (_ke5) {\n function Eo(e) {\n var _this22$maxMessages;\n var _this22;\n _classCallCheck(this, Eo);\n var n, r, o;\n var t = (r = (n = e.directConnection) == null ? void 0 : n.huggingFace) == null ? void 0 : r.conversation,\n i = (o = e.directConnection) == null ? void 0 : o.huggingFace;\n _this22 = _callSuper(this, Eo, [e, \"Ask me anything!\", \"facebook/blenderbot-400M-distill\", t, i]), (_this22$maxMessages = _this22.maxMessages) !== null && _this22$maxMessages !== void 0 ? _this22$maxMessages : _this22.maxMessages = -1;\n return _this22;\n }\n // prettier-ignore\n _inherits(Eo, _ke5);\n return _createClass(Eo, [{\n key: \"processMessages\",\n value: function processMessages(e) {\n var t = e.filter(function (a) {\n return a.text;\n }),\n i = t[t.length - 1].text,\n n = t.slice(0, t.length - 1);\n if (!i) return;\n var r = n.filter(function (a) {\n return a.role === \"user\";\n }).map(function (a) {\n return a.text;\n }),\n o = n.filter(function (a) {\n return a.role === \"ai\";\n }).map(function (a) {\n return a.text;\n });\n return {\n past_user_inputs: r,\n generated_responses: o,\n mostRecentMessageText: i\n };\n }\n // prettier-ignore\n }, {\n key: \"preprocessBody\",\n value: function preprocessBody(e, t) {\n var _i$options;\n var i = JSON.parse(JSON.stringify(e)),\n n = this.processMessages(t);\n if (n) return (_i$options = i.options) !== null && _i$options !== void 0 ? _i$options : i.options = {}, i.options.wait_for_model = !0, _objectSpread({\n inputs: {\n past_user_inputs: n.past_user_inputs,\n generated_responses: n.generated_responses,\n text: n.mostRecentMessageText\n }\n }, i);\n }\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee48(e) {\n return _regeneratorRuntime().wrap(function _callee48$(_context48) {\n while (1) switch (_context48.prev = _context48.next) {\n case 0:\n if (!e.error) {\n _context48.next = 2;\n break;\n }\n throw e.error;\n case 2:\n return _context48.abrupt(\"return\", {\n text: e.generated_text || \"\"\n });\n case 3:\n case \"end\":\n return _context48.stop();\n }\n }, _callee48);\n }));\n function extractResultData(_x93) {\n return _extractResultData7.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n}(ke);\nvar oi = /*#__PURE__*/function (_Si3) {\n function oi(e) {\n var _this23;\n _classCallCheck(this, oi);\n var o;\n var t = JSON.parse(JSON.stringify(e.directConnection)),\n i = t.stabilityAI,\n n = {\n images: {\n files: {\n acceptedFormats: \".png\",\n maxNumberOfFiles: 1\n }\n }\n };\n _this23 = _callSuper(this, oi, [e, be.buildKeyVerificationDetails(), be.buildHeaders, i, n]), _this23.url = \"https://api.stability.ai/v1/generation/stable-diffusion-v1-6/image-to-image\", _this23.textInputPlaceholderText = \"Describe image changes\", _this23.introPanelMarkUp = \"\\n <div style=\\\"width: 100%; text-align: center; margin-left: -10px\\\"><b>Stability AI: Image to Image</b></div>\\n <p>Upload an image to create a new one with the changes you have described.</p>\\n <p>Click <a href=\\\"https://platform.stability.ai/\\\">here</a> for more info.</p>\";\n var r = (o = t.stabilityAI) == null ? void 0 : o.imageToImage;\n _typeof(r) == \"object\" && (r.engine_id && (_this23.url = \"https://api.stability.ai/v1/generation/\".concat(r.engine_id, \"/text-to-image\")), r.weight !== void 0 && r.weight !== null && (_this23._imageWeight = r.weight), oi.cleanConfig(r), Object.assign(_this23.rawBody, r)), _this23.canSendMessage = oi.canSendFileTextMessage;\n return _this23;\n }\n _inherits(oi, _Si3);\n return _createClass(oi, [{\n key: \"createFormDataBody\",\n value: function createFormDataBody(e, t, i) {\n var n = new FormData();\n return n.append(\"init_image\", t), i && i !== \"\" && n.append(\"text_prompts[0][text]\", i), this._imageWeight !== void 0 && this._imageWeight !== null && n.append(\"text_prompts[0][weight]\", String(this._imageWeight)), Object.keys(e).forEach(function (r) {\n n.append(r, String(e[r]));\n }), n.get(\"weight\") === void 0 && n.append(\"weight\", String(1)), n;\n }\n // prettier-ignore\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee49(e, t, i) {\n var o, a, n, r;\n return _regeneratorRuntime().wrap(function _callee49$(_context49) {\n while (1) switch (_context49.prev = _context49.next) {\n case 0:\n if (this.connectSettings) {\n _context49.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n if (i) {\n _context49.next = 4;\n break;\n }\n throw new Error(\"Image was not found\");\n case 4:\n n = (a = (o = t[t.length - 1]) == null ? void 0 : o.text) == null ? void 0 : a.trim(), r = this.createFormDataBody(this.rawBody, i[0], n);\n v.tempRemoveContentHeader(this.connectSettings, T.request.bind(this, this, r, e), !1);\n case 6:\n case \"end\":\n return _context49.stop();\n }\n }, _callee49, this);\n }));\n function callServiceAPI(_x94, _x95, _x96) {\n return _callServiceAPI7.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee50(e) {\n return _regeneratorRuntime().wrap(function _callee50$(_context50) {\n while (1) switch (_context50.prev = _context50.next) {\n case 0:\n if (!e.message) {\n _context50.next = 2;\n break;\n }\n throw e.message;\n case 2:\n return _context50.abrupt(\"return\", {\n files: e.artifacts.map(function (i) {\n return {\n src: \"\".concat(Bt).concat(i.base64),\n type: \"image\"\n };\n })\n });\n case 3:\n case \"end\":\n return _context50.stop();\n }\n }, _callee50);\n }));\n function extractResultData(_x97) {\n return _extractResultData8.apply(this, arguments);\n }\n return extractResultData;\n }()\n }], [{\n key: \"cleanConfig\",\n value: function cleanConfig(e) {\n delete e.engine_id, delete e.weight;\n }\n }, {\n key: \"canSendFileTextMessage\",\n value: function canSendFileTextMessage(e, t) {\n return !!(t != null && t[0]) && !!(e && e.trim() !== \"\");\n }\n }]);\n}(Si);\nvar xo = /*#__PURE__*/function (_ke6) {\n function xo(e) {\n _classCallCheck(this, xo);\n var n, r, o;\n var t = (r = (n = e.directConnection) == null ? void 0 : n.huggingFace) == null ? void 0 : r.translation,\n i = (o = e.directConnection) == null ? void 0 : o.huggingFace;\n return _callSuper(this, xo, [e, \"Insert text to translate\", \"Helsinki-NLP/opus-tatoeba-en-ja\", t, i]);\n }\n _inherits(xo, _ke6);\n return _createClass(xo, [{\n key: \"extractResultData\",\n value: function () {\n var _extractResultData9 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee51(e) {\n var t;\n return _regeneratorRuntime().wrap(function _callee51$(_context51) {\n while (1) switch (_context51.prev = _context51.next) {\n case 0:\n if (!e.error) {\n _context51.next = 2;\n break;\n }\n throw e.error;\n case 2:\n return _context51.abrupt(\"return\", {\n text: ((t = e[0]) == null ? void 0 : t.translation_text) || \"\"\n });\n case 3:\n case \"end\":\n return _context51.stop();\n }\n }, _callee51);\n }));\n function extractResultData(_x98) {\n return _extractResultData9.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n}(ke);\nvar ai = /*#__PURE__*/function (_Si4) {\n function ai(e) {\n var _this24;\n _classCallCheck(this, ai);\n var r;\n var t = JSON.parse(JSON.stringify(e.directConnection)),\n i = t.stabilityAI;\n _this24 = _callSuper(this, ai, [e, be.buildKeyVerificationDetails(), be.buildHeaders, i]), _this24.url = \"https://api.stability.ai/v1/generation/stable-diffusion-v1-6/text-to-image\", _this24.textInputPlaceholderText = \"Describe an image\", _this24.introPanelMarkUp = \"\\n <div style=\\\"width: 100%; text-align: center; margin-left: -10px\\\"><b>Stability AI: Text to Image</b></div>\\n <p>Insert text to generate an image.</p>\\n <p>Click <a href=\\\"https://platform.stability.ai/\\\">here</a> for more info.</p>\";\n var n = (r = t.stabilityAI) == null ? void 0 : r.textToImage;\n _typeof(n) == \"object\" && (n.engine_id && (_this24.url = \"https://api.stability.ai/v1/generation/\".concat(n.engine_id, \"/text-to-image\")), n.weight !== void 0 && n.weight !== null && (_this24._imageWeight = n.weight), ai.cleanConfig(n), Object.assign(_this24.rawBody, n)), _this24.canSendMessage = ai.canSendTextMessage;\n return _this24;\n }\n _inherits(ai, _Si4);\n return _createClass(ai, [{\n key: \"preprocessBody\",\n value: function preprocessBody(e, t) {\n var i = JSON.parse(JSON.stringify(e)),\n n = {\n text: t\n };\n return this._imageWeight && (n.weight = this._imageWeight), i.text_prompts = [n], i;\n }\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee52(e, t) {\n var i;\n return _regeneratorRuntime().wrap(function _callee52$(_context52) {\n while (1) switch (_context52.prev = _context52.next) {\n case 0:\n if (this.connectSettings) {\n _context52.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n i = this.preprocessBody(this.rawBody, t[t.length - 1].text);\n T.request(this, i, e);\n case 4:\n case \"end\":\n return _context52.stop();\n }\n }, _callee52, this);\n }));\n function callServiceAPI(_x99, _x100) {\n return _callServiceAPI8.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData10 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee53(e) {\n return _regeneratorRuntime().wrap(function _callee53$(_context53) {\n while (1) switch (_context53.prev = _context53.next) {\n case 0:\n if (!e.message) {\n _context53.next = 2;\n break;\n }\n throw e.message;\n case 2:\n return _context53.abrupt(\"return\", {\n files: e.artifacts.map(function (i) {\n return {\n src: \"\".concat(Bt).concat(i.base64),\n type: \"image\"\n };\n })\n });\n case 3:\n case \"end\":\n return _context53.stop();\n }\n }, _callee53);\n }));\n function extractResultData(_x101) {\n return _extractResultData10.apply(this, arguments);\n }\n return extractResultData;\n }()\n }], [{\n key: \"cleanConfig\",\n value: function cleanConfig(e) {\n delete e.engine_id, delete e.weight;\n }\n }, {\n key: \"canSendTextMessage\",\n value: function canSendTextMessage(e) {\n return !!(e && e.trim() !== \"\");\n }\n }]);\n}(Si);\nvar _o = /*#__PURE__*/function (_ke7) {\n function _o(e) {\n var _this25;\n _classCallCheck(this, _o);\n var n, r, o;\n var t = (r = (n = e.directConnection) == null ? void 0 : n.huggingFace) == null ? void 0 : r.fillMask,\n i = (o = e.directConnection) == null ? void 0 : o.huggingFace;\n _this25 = _callSuper(this, _o, [e, \"The goal of life is [MASK].\", \"bert-base-uncased\", t, i]), _this25.introPanelMarkUp = \"\\n <div style=\\\"width: 100%; text-align: center; margin-left: -10px\\\"><b>Hugging Face</b></div>\\n <p>Insert a sentence with the word [MASK] and the model will try to fill it for you. E.g. I want [MASK].</p>\\n <p>First message may take an extented amount of time to complete as the model needs to be initialized.</p>\", _this25.permittedErrorPrefixes = [\"Authorization header\", \"No mask_token\"];\n return _this25;\n }\n _inherits(_o, _ke7);\n return _createClass(_o, [{\n key: \"extractResultData\",\n value: function () {\n var _extractResultData11 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee54(e) {\n var t;\n return _regeneratorRuntime().wrap(function _callee54$(_context54) {\n while (1) switch (_context54.prev = _context54.next) {\n case 0:\n if (!e.error) {\n _context54.next = 2;\n break;\n }\n throw e.error;\n case 2:\n return _context54.abrupt(\"return\", {\n text: ((t = e[0]) == null ? void 0 : t.sequence) || \"\"\n });\n case 3:\n case \"end\":\n return _context54.stop();\n }\n }, _callee54);\n }));\n function extractResultData(_x102) {\n return _extractResultData11.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n}(ke);\nvar li = /*#__PURE__*/function () {\n function li() {\n _classCallCheck(this, li);\n }\n return _createClass(li, null, [{\n key: \"buildHeaders\",\n value: function buildHeaders(e) {\n return {\n Authorization: \"Bearer \".concat(e),\n \"Content-Type\": \"application/json\",\n accept: \"application/json\"\n };\n }\n // prettier-ignore\n }, {\n key: \"handleVerificationResult\",\n value: function handleVerificationResult(e, t, i, n) {\n var o;\n (o = e.message) != null && o.includes(\"invalid request: prompt must be at least 1 token long\") ? i(t) : n(A.INVALID_KEY);\n }\n }, {\n key: \"buildKeyVerificationDetails\",\n value: function buildKeyVerificationDetails() {\n return {\n url: \"https://api.cohere.ai/v1/generate\",\n method: \"POST\",\n handleVerificationResult: li.handleVerificationResult,\n body: JSON.stringify({\n prompt: \"\"\n })\n };\n }\n }]);\n}();\nvar fn = /*#__PURE__*/function (_z3) {\n function fn(e, t, i, n, r) {\n var _this26;\n _classCallCheck(this, fn);\n _this26 = _callSuper(this, fn, [e, li.buildKeyVerificationDetails(), li.buildHeaders, r]), _this26.insertKeyPlaceholderText = \"Cohere API Key\", _this26.keyHelpUrl = \"https://dashboard.cohere.ai/api-keys\", _this26.permittedErrorPrefixes = [\"invalid\"], _this26.url = t, _this26.textInputPlaceholderText = i, n && _typeof(n) == \"object\" && Object.assign(_this26.rawBody, n);\n return _this26;\n }\n _inherits(fn, _z3);\n return _createClass(fn);\n}(z);\nvar So = /*#__PURE__*/function (_fn) {\n function So(e) {\n _classCallCheck(this, So);\n var n, r, o;\n var t = (r = (n = e.directConnection) == null ? void 0 : n.cohere) == null ? void 0 : r.textGeneration,\n i = (o = e.directConnection) == null ? void 0 : o.cohere;\n return _callSuper(this, So, [e, \"https://api.cohere.ai/v1/generate\", \"Once upon a time\", t, i]);\n }\n _inherits(So, _fn);\n return _createClass(So, [{\n key: \"preprocessBody\",\n value: function preprocessBody(e, t) {\n var i = JSON.parse(JSON.stringify(e)),\n n = t[t.length - 1].text;\n if (n) return _objectSpread({\n prompt: n\n }, i);\n }\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI9 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee55(e, t) {\n var i;\n return _regeneratorRuntime().wrap(function _callee55$(_context55) {\n while (1) switch (_context55.prev = _context55.next) {\n case 0:\n if (this.connectSettings) {\n _context55.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n i = this.preprocessBody(this.rawBody, t);\n T.request(this, i, e);\n case 4:\n case \"end\":\n return _context55.stop();\n }\n }, _callee55, this);\n }));\n function callServiceAPI(_x103, _x104) {\n return _callServiceAPI9.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData12 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee56(e) {\n var t;\n return _regeneratorRuntime().wrap(function _callee56$(_context56) {\n while (1) switch (_context56.prev = _context56.next) {\n case 0:\n if (!e.message) {\n _context56.next = 2;\n break;\n }\n throw e.message;\n case 2:\n return _context56.abrupt(\"return\", {\n text: ((t = e.generations) == null ? void 0 : t[0].text) || \"\"\n });\n case 3:\n case \"end\":\n return _context56.stop();\n }\n }, _callee56);\n }));\n function extractResultData(_x105) {\n return _extractResultData12.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n}(fn);\nvar wo = /*#__PURE__*/function (_fn2) {\n function wo(e) {\n _classCallCheck(this, wo);\n var n, r, o;\n var t = (r = (n = e.directConnection) == null ? void 0 : n.cohere) == null ? void 0 : r.summarization,\n i = (o = e.directConnection) == null ? void 0 : o.cohere;\n return _callSuper(this, wo, [e, \"https://api.cohere.ai/v1/summarize\", \"Insert text to summarize\", t, i]);\n }\n _inherits(wo, _fn2);\n return _createClass(wo, [{\n key: \"preprocessBody\",\n value: function preprocessBody(e, t) {\n var i = JSON.parse(JSON.stringify(e)),\n n = t[t.length - 1].text;\n if (n) return _objectSpread({\n text: n\n }, i);\n }\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI10 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee57(e, t) {\n var i;\n return _regeneratorRuntime().wrap(function _callee57$(_context57) {\n while (1) switch (_context57.prev = _context57.next) {\n case 0:\n if (this.connectSettings) {\n _context57.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n i = this.preprocessBody(this.rawBody, t);\n T.request(this, i, e);\n case 4:\n case \"end\":\n return _context57.stop();\n }\n }, _callee57, this);\n }));\n function callServiceAPI(_x106, _x107) {\n return _callServiceAPI10.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData13 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee58(e) {\n return _regeneratorRuntime().wrap(function _callee58$(_context58) {\n while (1) switch (_context58.prev = _context58.next) {\n case 0:\n if (!e.message) {\n _context58.next = 2;\n break;\n }\n throw e.message;\n case 2:\n return _context58.abrupt(\"return\", {\n text: e.summary || \"\"\n });\n case 3:\n case \"end\":\n return _context58.stop();\n }\n }, _callee58);\n }));\n function extractResultData(_x108) {\n return _extractResultData13.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n}(fn);\nvar O = /*#__PURE__*/function () {\n function O() {\n _classCallCheck(this, O);\n }\n return _createClass(O, null, [{\n key: \"buildHeaders\",\n value: function buildHeaders(e) {\n return {\n Authorization: \"Bearer \".concat(e),\n \"Content-Type\": \"application/json\"\n };\n }\n // prettier-ignore\n }, {\n key: \"handleVerificationResult\",\n value: function handleVerificationResult(e, t, i, n) {\n var r = e;\n r.error ? r.error.code === \"invalid_api_key\" ? n(A.INVALID_KEY) : n(A.CONNECTION_FAILED) : i(t);\n }\n }, {\n key: \"buildKeyVerificationDetails\",\n value: function buildKeyVerificationDetails() {\n return {\n url: \"https://api.openai.com/v1/models\",\n method: \"GET\",\n handleVerificationResult: O.handleVerificationResult\n };\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n }, {\n key: \"directFetch\",\n value: function () {\n var _directFetch = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee59(e, t, i) {\n var n,\n r,\n _args59 = arguments;\n return _regeneratorRuntime().wrap(function _callee59$(_context59) {\n while (1) switch (_context59.prev = _context59.next) {\n case 0:\n n = _args59.length > 3 && _args59[3] !== undefined ? _args59[3] : !0;\n e.connectSettings.method = i;\n _context59.next = 4;\n return v.fetch(e, e.connectSettings.headers, n, t).then(function (o) {\n return v.processResponseByType(o);\n });\n case 4:\n r = _context59.sent;\n if (!r.error) {\n _context59.next = 7;\n break;\n }\n throw r.error.message;\n case 7:\n return _context59.abrupt(\"return\", r);\n case 8:\n case \"end\":\n return _context59.stop();\n }\n }, _callee59);\n }));\n function directFetch(_x109, _x110, _x111) {\n return _directFetch.apply(this, arguments);\n }\n return directFetch;\n }()\n }]);\n}();\nvar ot = /*#__PURE__*/function (_z4) {\n function ot(e) {\n var _o$model, _a$voice;\n var _this27;\n _classCallCheck(this, ot);\n var r, o, a;\n var t = JSON.parse(JSON.stringify(e.directConnection)),\n i = t == null ? void 0 : t.openAI;\n _this27 = _callSuper(this, ot, [e, O.buildKeyVerificationDetails(), O.buildHeaders, i]), _this27.insertKeyPlaceholderText = \"OpenAI API Key\", _this27.keyHelpUrl = \"https://platform.openai.com/account/api-keys\", _this27.url = \"https://api.openai.com/v1/audio/speech\", _this27.permittedErrorPrefixes = [\"Invalid\"], _this27.introPanelMarkUp = \"\\n <div style=\\\"width: 100%; text-align: center; margin-left: -10px\\\"><b>OpenAI : Text To Speech</b></div>\\n <p>Generate an audio file based on your text input.</p>\\n <p>Click <a href=\\\"https://platform.openai.com/docs/guides/text-to-speech\\\">here</a> for more information.</p>\";\n var n = (r = t == null ? void 0 : t.openAI) == null ? void 0 : r.textToSpeech;\n _typeof(n) == \"object\" && Object.assign(_this27.rawBody, n), (_o$model = (o = _this27.rawBody).model) !== null && _o$model !== void 0 ? _o$model : o.model = ot.DEFAULT_MODEL, (_a$voice = (a = _this27.rawBody).voice) !== null && _a$voice !== void 0 ? _a$voice : a.voice = ot.DEFAULT_VOIDE, _this27.textInputPlaceholderText = \"Insert text to generate audio\", _this27.rawBody.response_format = \"mp3\";\n return _this27;\n }\n _inherits(ot, _z4);\n return _createClass(ot, [{\n key: \"preprocessBody\",\n value: function preprocessBody(e, t) {\n var r, o;\n var i = JSON.parse(JSON.stringify(e)),\n n = (o = (r = t[t.length - 1]) == null ? void 0 : r.text) == null ? void 0 : o.trim();\n return n && n !== \"\" && (i.input = n), i;\n }\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI11 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee60(e, t) {\n var n, i;\n return _regeneratorRuntime().wrap(function _callee60$(_context60) {\n while (1) switch (_context60.prev = _context60.next) {\n case 0:\n if ((n = this.connectSettings) != null && n.headers) {\n _context60.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n this.url = this.connectSettings.url || this.url;\n i = this.preprocessBody(this.rawBody, t);\n T.request(this, i, e);\n case 5:\n case \"end\":\n return _context60.stop();\n }\n }, _callee60, this);\n }));\n function callServiceAPI(_x112, _x113) {\n return _callServiceAPI11.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData14 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee61(e) {\n return _regeneratorRuntime().wrap(function _callee61$(_context61) {\n while (1) switch (_context61.prev = _context61.next) {\n case 0:\n if (!(e instanceof Blob)) {\n _context61.next = 2;\n break;\n }\n return _context61.abrupt(\"return\", new Promise(function (t) {\n var i = new FileReader();\n i.readAsDataURL(e), i.onload = function (n) {\n t({\n files: [{\n src: n.target.result,\n type: \"audio\"\n }]\n });\n };\n }));\n case 2:\n if (!e.error) {\n _context61.next = 4;\n break;\n }\n throw e.error.message;\n case 4:\n return _context61.abrupt(\"return\", {\n error: \"error\"\n });\n case 5:\n case \"end\":\n return _context61.stop();\n }\n }, _callee61);\n }));\n function extractResultData(_x114) {\n return _extractResultData14.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n}(z);\not.DEFAULT_MODEL = \"tts-1\", ot.DEFAULT_VOIDE = \"alloy\";\nvar Qi = ot;\nvar de = /*#__PURE__*/function (_z5) {\n function de(e) {\n var _o$model2;\n var _this28;\n _classCallCheck(this, de);\n var r, o;\n var t = JSON.parse(JSON.stringify(e.directConnection)),\n i = t == null ? void 0 : t.openAI;\n _this28 = _callSuper(this, de, [e, O.buildKeyVerificationDetails(), O.buildHeaders, i, {\n audio: {}\n }]), _this28.insertKeyPlaceholderText = \"OpenAI API Key\", _this28.keyHelpUrl = \"https://platform.openai.com/account/api-keys\", _this28.introPanelMarkUp = \"\\n <div style=\\\"width: 100%; text-align: center; margin-left: -10px\\\"><b>OpenAI : Speech To Text</b></div>\\n <p><b>Upload an audio file</b> to transcribe it into text. You can optionally provide text to guide the audio\\n processing.\\n <p>Click <a href=\\\"https://platform.openai.com/docs/guides/speech-to-text\\\">here</a> for more info.</p>\", _this28.url = \"\", _this28.permittedErrorPrefixes = [\"Invalid\"], _this28.textInputPlaceholderText = \"Upload an audio file\", _this28._service_url = de.AUDIO_TRANSCRIPTIONS_URL;\n var n = (r = t == null ? void 0 : t.openAI) == null ? void 0 : r.audio;\n _typeof(n) == \"object\" && (_this28.processConfig(n), de.cleanConfig(n), Object.assign(_this28.rawBody, n)), (_o$model2 = (o = _this28.rawBody).model) !== null && _o$model2 !== void 0 ? _o$model2 : o.model = de.DEFAULT_MODEL, _this28.rawBody.response_format = \"json\", _this28.canSendMessage = de.canSendFileMessage;\n return _this28;\n }\n _inherits(de, _z5);\n return _createClass(de, [{\n key: \"processConfig\",\n value: function processConfig(e) {\n e != null && e.type && e.type === \"translation\" && (this._service_url = de.AUDIO_TRANSLATIONS_URL, delete e.language);\n }\n }, {\n key: \"preprocessBody\",\n value: function preprocessBody(e, t) {\n var r, o;\n var i = JSON.parse(JSON.stringify(e)),\n n = (o = (r = t[t.length - 1]) == null ? void 0 : r.text) == null ? void 0 : o.trim();\n return n && n !== \"\" && (i.prompt = n), i;\n }\n // prettier-ignore\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI12 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee62(e, t, i) {\n var o, n, r;\n return _regeneratorRuntime().wrap(function _callee62$(_context62) {\n while (1) switch (_context62.prev = _context62.next) {\n case 0:\n if ((o = this.connectSettings) != null && o.headers) {\n _context62.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n if (i != null && i[0]) {\n _context62.next = 4;\n break;\n }\n throw new Error(\"No file was added\");\n case 4:\n this.url = this.connectSettings.url || this._service_url;\n n = this.preprocessBody(this.rawBody, t), r = de.createFormDataBody(n, i[0]);\n v.tempRemoveContentHeader(this.connectSettings, T.request.bind(this, this, r, e), !1);\n case 7:\n case \"end\":\n return _context62.stop();\n }\n }, _callee62, this);\n }));\n function callServiceAPI(_x115, _x116, _x117) {\n return _callServiceAPI12.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData15 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee63(e) {\n return _regeneratorRuntime().wrap(function _callee63$(_context63) {\n while (1) switch (_context63.prev = _context63.next) {\n case 0:\n if (!e.error) {\n _context63.next = 2;\n break;\n }\n throw e.error.message;\n case 2:\n return _context63.abrupt(\"return\", {\n text: e.text\n });\n case 3:\n case \"end\":\n return _context63.stop();\n }\n }, _callee63);\n }));\n function extractResultData(_x118) {\n return _extractResultData15.apply(this, arguments);\n }\n return extractResultData;\n }()\n }], [{\n key: \"canSendFileMessage\",\n value: function canSendFileMessage(e, t) {\n return !!(t != null && t[0]);\n }\n }, {\n key: \"cleanConfig\",\n value: function cleanConfig(e) {\n delete e.type;\n }\n }, {\n key: \"createFormDataBody\",\n value: function createFormDataBody(e, t) {\n var i = new FormData();\n return i.append(\"file\", t), Object.keys(e).forEach(function (n) {\n i.append(n, String(e[n]));\n }), i;\n }\n }]);\n}(z);\nde.AUDIO_TRANSCRIPTIONS_URL = \"https://api.openai.com/v1/audio/transcriptions\", de.AUDIO_TRANSLATIONS_URL = \"https://api.openai.com/v1/audio/translations\", de.DEFAULT_MODEL = \"whisper-1\";\nvar en = de;\nvar ae = /*#__PURE__*/function () {\n function ae() {\n _classCallCheck(this, ae);\n }\n return _createClass(ae, null, [{\n key: \"buildTextToSpeechHeaders\",\n value: function buildTextToSpeechHeaders(e, t) {\n return {\n \"Ocp-Apim-Subscription-Key\": t,\n \"Content-Type\": \"application/ssml+xml\",\n \"X-Microsoft-OutputFormat\": e\n };\n }\n }, {\n key: \"buildSpeechToTextHeaders\",\n value: function buildSpeechToTextHeaders(e) {\n return {\n \"Ocp-Apim-Subscription-Key\": e,\n Accept: \"application/json\"\n };\n }\n // prettier-ignore\n }, {\n key: \"handleSpeechVerificationResult\",\n value: function handleSpeechVerificationResult(e, t, i, n) {\n e.error ? n(A.INVALID_KEY) : i(t);\n }\n }, {\n key: \"buildSpeechKeyVerificationDetails\",\n value: function buildSpeechKeyVerificationDetails(e) {\n return {\n url: \"https://\".concat(e, \".api.cognitive.microsoft.com/sts/v1.0/issuetoken\"),\n method: \"POST\",\n createHeaders: function createHeaders(t) {\n return {\n \"Ocp-Apim-Subscription-Key\": \"\".concat(t)\n };\n },\n handleVerificationResult: ae.handleSpeechVerificationResult\n };\n }\n }, {\n key: \"buildSummarizationHeader\",\n value: function buildSummarizationHeader(e) {\n return {\n \"Ocp-Apim-Subscription-Key\": e,\n \"Content-Type\": \"application/json\"\n };\n }\n // prettier-ignore\n }, {\n key: \"handleLanguageVerificationResult\",\n value: function handleLanguageVerificationResult(e, t, i, n) {\n var o;\n ((o = e.error) == null ? void 0 : o.code) === \"401\" ? n(A.INVALID_KEY) : i(t);\n }\n }, {\n key: \"buildLanguageKeyVerificationDetails\",\n value: function buildLanguageKeyVerificationDetails(e) {\n return {\n url: \"\".concat(e, \"/language/analyze-text/jobs?api-version=2022-10-01-preview\"),\n method: \"POST\",\n createHeaders: function createHeaders(t) {\n return {\n \"Ocp-Apim-Subscription-Key\": \"\".concat(t)\n };\n },\n handleVerificationResult: ae.handleLanguageVerificationResult\n };\n }\n // prettier-ignore\n }, {\n key: \"handleTranslationVerificationResult\",\n value: function handleTranslationVerificationResult(e, t, i, n) {\n e.json().then(function (o) {\n !Array.isArray(o) && o.error.code === 401e3 ? n(A.INVALID_KEY) : i(t);\n });\n }\n }, {\n key: \"buildTranslationKeyVerificationDetails\",\n value: function buildTranslationKeyVerificationDetails(e) {\n return {\n url: \"https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&to=es\",\n method: \"POST\",\n createHeaders: function createHeaders(t) {\n return ae.buildTranslationHeaders(e, t);\n },\n handleVerificationResult: ae.handleTranslationVerificationResult\n };\n }\n }, {\n key: \"buildTranslationHeaders\",\n value: function buildTranslationHeaders(e, t) {\n var i = {\n \"Ocp-Apim-Subscription-Key\": t,\n \"Content-Type\": \"application/json\"\n };\n return e && (i[\"Ocp-Apim-Subscription-Region\"] = e), i;\n }\n }]);\n}();\nvar To = /*#__PURE__*/function (_z6) {\n // prettier-ignore\n function To(e, t, i, n, r) {\n var _this29;\n _classCallCheck(this, To);\n _this29 = _callSuper(this, To, [e, ae.buildLanguageKeyVerificationDetails(i), t, n, r]), _this29.insertKeyPlaceholderText = \"Azure Language Subscription Key\", _this29.keyHelpUrl =\n // eslint-disable-next-line max-len\n \"https://learn.microsoft.com/en-us/azure/api-management/api-management-subscriptions#create-and-manage-subscriptions-in-azure-portal\", _this29.permittedErrorPrefixes = [\"Access\"];\n return _this29;\n }\n _inherits(To, _z6);\n return _createClass(To);\n}(z);\nvar Co = /*#__PURE__*/function (_To) {\n function Co(e) {\n var _a$language;\n var _this30;\n _classCallCheck(this, Co);\n var n, r, o, a;\n var t = (r = (n = e.directConnection) == null ? void 0 : n.azure) == null ? void 0 : r.summarization,\n i = (o = e.directConnection) == null ? void 0 : o.azure;\n _this30 = _callSuper(this, Co, [e, ae.buildSummarizationHeader, t.endpoint, i]), _this30.url = \"\", _this30.textInputPlaceholderText = \"Insert text to summarize\", (_a$language = (a = _this30.rawBody).language) !== null && _a$language !== void 0 ? _a$language : a.language = \"en\", Object.assign(_this30.rawBody, t), _this30.url = \"\".concat(t.endpoint, \"/language/analyze-text/jobs?api-version=2022-10-01-preview\");\n return _this30;\n }\n _inherits(Co, _To);\n return _createClass(Co, [{\n key: \"preprocessBody\",\n value: function preprocessBody(e, t) {\n var i = t[t.length - 1].text;\n if (i) return {\n analysisInput: {\n documents: [{\n id: \"1\",\n language: e.language,\n text: i\n }]\n },\n tasks: [{\n kind: \"ExtractiveSummarization\"\n }]\n };\n }\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI13 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee64(e, t) {\n var i;\n return _regeneratorRuntime().wrap(function _callee64$(_context64) {\n while (1) switch (_context64.prev = _context64.next) {\n case 0:\n if (this.connectSettings) {\n _context64.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n i = this.preprocessBody(this.rawBody, t);\n T.request(this, i, e), this.messages = e;\n case 4:\n case \"end\":\n return _context64.stop();\n }\n }, _callee64, this);\n }));\n function callServiceAPI(_x119, _x120) {\n return _callServiceAPI13.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData16 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee65(e) {\n var t, _i10, n;\n return _regeneratorRuntime().wrap(function _callee65$(_context65) {\n while (1) switch (_context65.prev = _context65.next) {\n case 0:\n if (!e.error) {\n _context65.next = 2;\n break;\n }\n throw e.error.message;\n case 2:\n if (this.messages && this.completionsHandlers) {\n _i10 = e.headers.get(\"operation-location\"), n = {\n method: \"GET\",\n headers: (t = this.connectSettings) == null ? void 0 : t.headers\n };\n T.executePollRequest(this, _i10, n, this.messages);\n }\n return _context65.abrupt(\"return\", {\n makingAnotherRequest: !0\n });\n case 4:\n case \"end\":\n return _context65.stop();\n }\n }, _callee65, this);\n }));\n function extractResultData(_x121) {\n return _extractResultData16.apply(this, arguments);\n }\n return extractResultData;\n }()\n }, {\n key: \"extractPollResultData\",\n value: function () {\n var _extractPollResultData4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee66(e) {\n var t, _iterator, _step, _i11;\n return _regeneratorRuntime().wrap(function _callee66$(_context66) {\n while (1) switch (_context66.prev = _context66.next) {\n case 0:\n if (!e.error) {\n _context66.next = 2;\n break;\n }\n throw e.error;\n case 2:\n if (!(e.status === \"running\")) {\n _context66.next = 4;\n break;\n }\n return _context66.abrupt(\"return\", {\n timeoutMS: 2e3\n });\n case 4:\n if (!(e.errors.length > 0)) {\n _context66.next = 6;\n break;\n }\n throw e.errors[0];\n case 6:\n if (!(e.tasks.items[0].results.errors.length > 0)) {\n _context66.next = 8;\n break;\n }\n throw e.tasks.items[0].results.errors[0];\n case 8:\n t = \"\";\n _iterator = _createForOfIteratorHelper(e.tasks.items[0].results.documents[0].sentences);\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n _i11 = _step.value;\n t += _i11.text;\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n return _context66.abrupt(\"return\", {\n text: t || \"\"\n });\n case 12:\n case \"end\":\n return _context66.stop();\n }\n }, _callee66);\n }));\n function extractPollResultData(_x122) {\n return _extractPollResultData4.apply(this, arguments);\n }\n return extractPollResultData;\n }()\n }]);\n}(To);\nvar Et = /*#__PURE__*/function () {\n function Et() {\n _classCallCheck(this, Et);\n }\n return _createClass(Et, null, [{\n key: \"poll\",\n value: function () {\n var _poll2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee67(e, t) {\n var i, a, l, d;\n return _regeneratorRuntime().wrap(function _callee67$(_context67) {\n while (1) switch (_context67.prev = _context67.next) {\n case 0:\n i = {\n authorization: e,\n \"content-type\": \"application/json\"\n };\n _context67.t0 = \"https://api.assemblyai.com/v2/transcript/\";\n _context67.next = 4;\n return fetch(\"https://api.assemblyai.com/v2/transcript\", {\n method: \"POST\",\n body: JSON.stringify({\n audio_url: t\n }),\n headers: i\n });\n case 4:\n _context67.next = 6;\n return _context67.sent.json();\n case 6:\n _context67.t1 = _context67.sent.id;\n a = _context67.t0.concat.call(_context67.t0, _context67.t1);\n case 8:\n if (l) {\n _context67.next = 24;\n break;\n }\n _context67.next = 11;\n return fetch(a, {\n headers: i\n });\n case 11:\n _context67.next = 13;\n return _context67.sent.json();\n case 13:\n d = _context67.sent;\n if (!(d.status === \"completed\")) {\n _context67.next = 18;\n break;\n }\n l = d;\n _context67.next = 22;\n break;\n case 18:\n if (!(d.status === \"error\")) {\n _context67.next = 20;\n break;\n }\n throw new Error(\"Transcription failed: \".concat(d.error));\n case 20:\n _context67.next = 22;\n return new Promise(function (h) {\n return setTimeout(h, 3e3);\n });\n case 22:\n _context67.next = 8;\n break;\n case 24:\n return _context67.abrupt(\"return\", l);\n case 25:\n case \"end\":\n return _context67.stop();\n }\n }, _callee67);\n }));\n function poll(_x123, _x124) {\n return _poll2.apply(this, arguments);\n }\n return poll;\n }()\n }, {\n key: \"buildHeaders\",\n value: function buildHeaders(e) {\n return {\n Authorization: e,\n \"Content-Type\": \"application/octet-stream\"\n };\n }\n // prettier-ignore\n }, {\n key: \"handleVerificationResult\",\n value: function handleVerificationResult(e, t, i, n) {\n var r = e;\n r.error ? r.error.code === \"invalid_api_key\" ? n(A.INVALID_KEY) : n(A.CONNECTION_FAILED) : i(t);\n }\n }, {\n key: \"buildKeyVerificationDetails\",\n value: function buildKeyVerificationDetails() {\n return {\n url: \"https://api.assemblyai.com/v2/upload\",\n method: \"POST\",\n handleVerificationResult: Et.handleVerificationResult\n };\n }\n }]);\n}();\nvar pn = /*#__PURE__*/function (_z7) {\n function pn(e) {\n var _this31;\n _classCallCheck(this, pn);\n var i;\n var t = (i = e.directConnection) == null ? void 0 : i.assemblyAI;\n _this31 = _callSuper(this, pn, [e, Et.buildKeyVerificationDetails(), Et.buildHeaders, t, {\n audio: {}\n }]), _this31.insertKeyPlaceholderText = \"AssemblyAI API Key\", _this31.keyHelpUrl = \"https://www.assemblyai.com/app/account\", _this31.introPanelMarkUp = \"\\n <div style=\\\"width: 100%; text-align: center; margin-left: -10px\\\"><b>AssemblyAI Audio</b></div>\\n <p><b>Upload an audio file</b> to transcribe it into text.\\n <p>\\n Click <a href=\\\"https://www.assemblyai.com/docs/Guides/transcribing_an_audio_file#get-started\\\">here</a> for more info.\\n </p>\", _this31.url = \"https://api.assemblyai.com/v2/upload\", _this31.isTextInputDisabled = !0, _this31.textInputPlaceholderText = \"Upload an audio file\", _this31.permittedErrorPrefixes = [\"Authentication\", \"Invalid\"], _this31.canSendMessage = pn.canFileSendMessage;\n return _this31;\n }\n _inherits(pn, _z7);\n return _createClass(pn, [{\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI14 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee68(e, t, i) {\n var n;\n return _regeneratorRuntime().wrap(function _callee68$(_context68) {\n while (1) switch (_context68.prev = _context68.next) {\n case 0:\n if ((n = this.connectSettings) != null && n.headers) {\n _context68.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n if (i != null && i[0]) {\n _context68.next = 4;\n break;\n }\n throw new Error(\"No file was added\");\n case 4:\n T.request(this, i[0], e, !1);\n case 5:\n case \"end\":\n return _context68.stop();\n }\n }, _callee68, this);\n }));\n function callServiceAPI(_x125, _x126, _x127) {\n return _callServiceAPI14.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData17 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee69(e) {\n var n, r, t;\n return _regeneratorRuntime().wrap(function _callee69$(_context69) {\n while (1) switch (_context69.prev = _context69.next) {\n case 0:\n if (!e.error) {\n _context69.next = 2;\n break;\n }\n throw e.error;\n case 2:\n t = (r = (n = this.connectSettings) == null ? void 0 : n.headers) == null ? void 0 : r.Authorization;\n _context69.next = 5;\n return Et.poll(t, e.upload_url);\n case 5:\n _context69.t0 = _context69.sent.text;\n return _context69.abrupt(\"return\", {\n text: _context69.t0\n });\n case 7:\n case \"end\":\n return _context69.stop();\n }\n }, _callee69, this);\n }));\n function extractResultData(_x128) {\n return _extractResultData17.apply(this, arguments);\n }\n return extractResultData;\n }()\n }], [{\n key: \"canFileSendMessage\",\n value: function canFileSendMessage(e, t) {\n return !!(t != null && t[0]);\n }\n }]);\n}(z);\nvar cs = /*#__PURE__*/function (_z8) {\n // prettier-ignore\n function cs(e, t, i, n, r) {\n var _this32;\n _classCallCheck(this, cs);\n _this32 = _callSuper(this, cs, [e, ae.buildSpeechKeyVerificationDetails(i), t, n, r]), _this32.insertKeyPlaceholderText = \"Azure Speech Subscription Key\", _this32.keyHelpUrl =\n // eslint-disable-next-line max-len\n \"https://learn.microsoft.com/en-us/azure/api-management/api-management-subscriptions#create-and-manage-subscriptions-in-azure-portal\";\n return _this32;\n }\n _inherits(cs, _z8);\n return _createClass(cs);\n}(z);\nvar yi = /*#__PURE__*/function (_cs) {\n // prettier-ignore\n function yi(e) {\n var _a$lang, _l$name, _c$gender;\n var _this33;\n _classCallCheck(this, yi);\n var n, r, o, a, l, c;\n var t = (r = (n = e.directConnection) == null ? void 0 : n.azure) == null ? void 0 : r.textToSpeech,\n i = (o = e.directConnection) == null ? void 0 : o.azure;\n _this33 = _callSuper(this, yi, [e, ae.buildTextToSpeechHeaders.bind({}, (t == null ? void 0 : t.outputFormat) || \"audio-16khz-128kbitrate-mono-mp3\"), t.region, i]), _this33.introPanelMarkUp = \"\\n <div style=\\\"width: 100%; text-align: center; margin-left: -10px\\\"><b>Azure Text To Speech</b></div>\\n <p>Insert text to synthesize it to audio.\\n <p>\\n Click <a href=\\\"\".concat(yi.HELP_LINK, \"\\\">here</a> for more info.\\n </p>\"), _this33.url = \"\", Object.assign(_this33.rawBody, t), (_a$lang = (a = _this33.rawBody).lang) !== null && _a$lang !== void 0 ? _a$lang : a.lang = \"en-US\", (_l$name = (l = _this33.rawBody).name) !== null && _l$name !== void 0 ? _l$name : l.name = \"en-US-JennyNeural\", (_c$gender = (c = _this33.rawBody).gender) !== null && _c$gender !== void 0 ? _c$gender : c.gender = \"Female\", _this33.url = \"https://\".concat(t.region, \".tts.speech.microsoft.com/cognitiveservices/v1\");\n return _this33;\n }\n _inherits(yi, _cs);\n return _createClass(yi, [{\n key: \"preprocessBody\",\n value: function preprocessBody(e, t) {\n var i = t[t.length - 1].text;\n if (i) return \"<speak version='1.0' xml:lang='\".concat(e.lang, \"'>\\n <voice xml:lang='\").concat(e.lang, \"' xml:gender='\").concat(e.gender, \"' name='\").concat(e.name, \"'>\\n \").concat(i, \"\\n </voice>\\n </speak>\");\n }\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI15 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee70(e, t) {\n var i;\n return _regeneratorRuntime().wrap(function _callee70$(_context70) {\n while (1) switch (_context70.prev = _context70.next) {\n case 0:\n if (this.connectSettings) {\n _context70.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n i = this.preprocessBody(this.rawBody, t);\n T.request(this, i, e, !1);\n case 4:\n case \"end\":\n return _context70.stop();\n }\n }, _callee70, this);\n }));\n function callServiceAPI(_x129, _x130) {\n return _callServiceAPI15.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData18 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee71(e) {\n return _regeneratorRuntime().wrap(function _callee71$(_context71) {\n while (1) switch (_context71.prev = _context71.next) {\n case 0:\n return _context71.abrupt(\"return\", new Promise(function (t) {\n var i = new FileReader();\n i.readAsDataURL(e), i.onload = function (n) {\n t({\n files: [{\n src: n.target.result,\n type: \"audio\"\n }]\n });\n };\n }));\n case 1:\n case \"end\":\n return _context71.stop();\n }\n }, _callee71);\n }));\n function extractResultData(_x131) {\n return _extractResultData18.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n}(cs);\nyi.HELP_LINK =\n// eslint-disable-next-line max-len\n\"https://learn.microsoft.com/en-GB/azure/cognitive-services/speech-service/get-started-text-to-speech?tabs=windows%2Cterminal&pivots=programming-language-rest\";\nvar tn = yi;\nvar Ct = /*#__PURE__*/function (_cs2) {\n function Ct(e) {\n var _this34;\n _classCallCheck(this, Ct);\n var o, a, l;\n var t = (a = (o = e.directConnection) == null ? void 0 : o.azure) == null ? void 0 : a.speechToText,\n i = (l = e.directConnection) == null ? void 0 : l.azure,\n n = {\n audio: {\n files: {\n acceptedFormats: \".wav,.ogg\"\n }\n }\n };\n _this34 = _callSuper(this, Ct, [e, ae.buildSpeechToTextHeaders, t.region, i, n]), _this34.introPanelMarkUp = \"\\n <div style=\\\"width: 100%; text-align: center; margin-left: -10px\\\"><b>Azure Speech To Text</b></div>\\n <p><b>Upload a .wav or .ogg audio file</b> to transcribe it into text.\\n <p>\\n Click <a href=\\\"\".concat(Ct.HELP_LINK, \"\\\">here</a> for more info.\\n </p>\"), _this34.url = \"\", _this34.isTextInputDisabled = !0, _this34.textInputPlaceholderText = \"Upload an audio file\", _this34.canSendMessage = Ct.canFileSendMessage;\n var r = t.lang || \"en-US\";\n _this34.url = \"https://\".concat(t.region, \".stt.speech.microsoft.com/speech/recognition/conversation/cognitiveservices/v1?language=\").concat(r, \"&format=detailed\"), _this34.recordAudio = void 0;\n return _this34;\n }\n _inherits(Ct, _cs2);\n return _createClass(Ct, [{\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI16 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee72(e, t, i) {\n var n, r;\n return _regeneratorRuntime().wrap(function _callee72$(_context72) {\n while (1) switch (_context72.prev = _context72.next) {\n case 0:\n if ((n = this.connectSettings) != null && n.headers) {\n _context72.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n if (i != null && i[0]) {\n _context72.next = 4;\n break;\n }\n throw new Error(\"No file was added\");\n case 4:\n (r = this.connectSettings) != null && r.headers && (this.connectSettings.headers[\"Content-Type\"] = i[0].name.toLocaleLowerCase().endsWith(\".wav\") ? \"audio/wav; codecs=audio/pcm; samplerate=16000\" : \"audio/ogg; codecs=opus\"), T.request(this, i[0], e, !1);\n case 5:\n case \"end\":\n return _context72.stop();\n }\n }, _callee72, this);\n }));\n function callServiceAPI(_x132, _x133, _x134) {\n return _callServiceAPI16.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData19 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee73(e) {\n return _regeneratorRuntime().wrap(function _callee73$(_context73) {\n while (1) switch (_context73.prev = _context73.next) {\n case 0:\n if (!e.error) {\n _context73.next = 2;\n break;\n }\n throw e.error;\n case 2:\n return _context73.abrupt(\"return\", {\n text: e.DisplayText || \"\"\n });\n case 3:\n case \"end\":\n return _context73.stop();\n }\n }, _callee73);\n }));\n function extractResultData(_x135) {\n return _extractResultData19.apply(this, arguments);\n }\n return extractResultData;\n }()\n }], [{\n key: \"canFileSendMessage\",\n value: function canFileSendMessage(e, t) {\n return !!(t != null && t[0]);\n }\n }]);\n}(cs);\nCt.HELP_LINK =\n// eslint-disable-next-line max-len\n\"https://learn.microsoft.com/en-GB/azure/cognitive-services/speech-service/get-started-text-to-speech?tabs=windows%2Cterminal&pivots=programming-language-rest\";\nvar nn = Ct;\nvar ko = /*#__PURE__*/function (_z9) {\n // prettier-ignore\n function ko(e) {\n var _this35;\n _classCallCheck(this, ko);\n var n, r, o;\n var t = (r = (n = e.directConnection) == null ? void 0 : n.azure) == null ? void 0 : r.translation,\n i = (o = e.directConnection) == null ? void 0 : o.azure;\n _this35 = _callSuper(this, ko, [e, ae.buildTranslationKeyVerificationDetails(t.region), ae.buildTranslationHeaders.bind({}, t == null ? void 0 : t.region), i]), _this35.insertKeyPlaceholderText = \"Azure Translate Subscription Key\", _this35.keyHelpUrl =\n // eslint-disable-next-line max-len\n \"https://learn.microsoft.com/en-us/azure/api-management/api-management-subscriptions#create-and-manage-subscriptions-in-azure-portal\", _this35.url = \"\", _this35.url = \"https://api.cognitive.microsofttranslator.com/translate?api-version=3.0&to=\".concat(t.language || \"es\");\n return _this35;\n }\n _inherits(ko, _z9);\n return _createClass(ko, [{\n key: \"preprocessBody\",\n value: function preprocessBody(e) {\n var t = e[e.length - 1].text;\n if (t) return [{\n Text: t\n }];\n }\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI17 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee74(e, t) {\n var i;\n return _regeneratorRuntime().wrap(function _callee74$(_context74) {\n while (1) switch (_context74.prev = _context74.next) {\n case 0:\n if (this.connectSettings) {\n _context74.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n i = this.preprocessBody(t);\n T.request(this, i, e);\n case 4:\n case \"end\":\n return _context74.stop();\n }\n }, _callee74, this);\n }));\n function callServiceAPI(_x136, _x137) {\n return _callServiceAPI17.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData20 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee75(e) {\n var t;\n return _regeneratorRuntime().wrap(function _callee75$(_context75) {\n while (1) switch (_context75.prev = _context75.next) {\n case 0:\n if (!Array.isArray(e)) {\n _context75.next = 2;\n break;\n }\n return _context75.abrupt(\"return\", {\n text: ((t = e[0].translations) == null ? void 0 : t[0].text) || \"\"\n });\n case 2:\n throw e.error;\n case 3:\n case \"end\":\n return _context75.stop();\n }\n }, _callee75);\n }));\n function extractResultData(_x138) {\n return _extractResultData20.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n}(z);\nvar Q = /*#__PURE__*/function () {\n function Q() {\n _classCallCheck(this, Q);\n }\n return _createClass(Q, null, [{\n key: \"storeFiles\",\n value: function () {\n var _storeFiles = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee77(e, t, i) {\n var n, r, o, a;\n return _regeneratorRuntime().wrap(function _callee77$(_context77) {\n while (1) switch (_context77.prev = _context77.next) {\n case 0:\n n = e.connectSettings.headers;\n if (n) {\n _context77.next = 3;\n break;\n }\n return _context77.abrupt(\"return\");\n case 3:\n e.url = \"https://api.openai.com/v1/files\";\n r = n[v.CONTENT_TYPE];\n delete n[v.CONTENT_TYPE];\n o = i.map( /*#__PURE__*/function () {\n var _ref9 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee76(a) {\n var l;\n return _regeneratorRuntime().wrap(function _callee76$(_context76) {\n while (1) switch (_context76.prev = _context76.next) {\n case 0:\n l = new FormData();\n return _context76.abrupt(\"return\", (l.append(\"purpose\", \"assistants\"), l.append(\"file\", a), new Promise(function (c) {\n c(O.directFetch(e, l, \"POST\", !1));\n })));\n case 2:\n case \"end\":\n return _context76.stop();\n }\n }, _callee76);\n }));\n return function (_x142) {\n return _ref9.apply(this, arguments);\n };\n }());\n _context77.prev = 7;\n _context77.next = 10;\n return Promise.all(o);\n case 10:\n a = _context77.sent.map(function (l) {\n return {\n id: l.id,\n name: l.filename\n };\n });\n return _context77.abrupt(\"return\", (n[v.CONTENT_TYPE] = r, a));\n case 14:\n _context77.prev = 14;\n _context77.t0 = _context77[\"catch\"](7);\n throw n[v.CONTENT_TYPE] = r, v.displayError(t, _context77.t0), e.completionsHandlers.onFinish(), _context77.t0;\n case 17:\n case \"end\":\n return _context77.stop();\n }\n }, _callee77, null, [[7, 14]]);\n }));\n function storeFiles(_x139, _x140, _x141) {\n return _storeFiles.apply(this, arguments);\n }\n return storeFiles;\n }()\n }, {\n key: \"getType\",\n value: function getType(e, t) {\n var i = e[t].path;\n return !i || i.endsWith(\"png\") ? \"image\" : \"any\";\n }\n }, {\n key: \"getFiles\",\n value: function () {\n var _getFiles = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee78(e, t) {\n var i, r;\n return _regeneratorRuntime().wrap(function _callee78$(_context78) {\n while (1) switch (_context78.prev = _context78.next) {\n case 0:\n i = t.map(function (_ref10) {\n var o = _ref10.fileId;\n return e.url = \"https://api.openai.com/v1/files/\".concat(o, \"/content\"), new Promise(function (a) {\n a(O.directFetch(e, void 0, \"GET\", !1));\n });\n });\n _context78.next = 3;\n return Promise.all(i);\n case 3:\n r = _context78.sent.map(function (o, a) {\n return new Promise(function (l) {\n var c = new FileReader();\n c.readAsDataURL(o), c.onload = function (d) {\n l({\n src: d.target.result,\n name: t[a].name,\n type: Q.getType(t, a)\n });\n };\n });\n });\n _context78.next = 6;\n return Promise.all(r);\n case 6:\n return _context78.abrupt(\"return\", _context78.sent);\n case 7:\n case \"end\":\n return _context78.stop();\n }\n }, _callee78);\n }));\n function getFiles(_x143, _x144) {\n return _getFiles.apply(this, arguments);\n }\n return getFiles;\n }()\n }, {\n key: \"getFileName\",\n value: function getFileName(e) {\n var t = e.split(\"/\");\n return t[t.length - 1];\n }\n // prettier-ignore\n }, {\n key: \"getFilesAndNewText\",\n value: function () {\n var _getFilesAndNewText = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee79(e, t, i, n) {\n var o, a, r;\n return _regeneratorRuntime().wrap(function _callee79$(_context79) {\n while (1) switch (_context79.prev = _context79.next) {\n case 0:\n _context79.t0 = t.length > 0;\n if (!_context79.t0) {\n _context79.next = 6;\n break;\n }\n _context79.next = 4;\n return Q.getFiles(e, t);\n case 4:\n r = _context79.sent;\n (o = n == null ? void 0 : n.text) != null && o.value && r.forEach(function (l, c) {\n var h;\n if (!l.src) return;\n var d = t[c].path;\n (h = n == null ? void 0 : n.text) != null && h.value && d && (n.text.value = n.text.value.replace(d, l.src));\n });\n case 6:\n return _context79.abrupt(\"return\", (a = n == null ? void 0 : n.text) != null && a.value ? {\n text: n.text.value,\n role: i\n } : {\n files: r,\n role: i\n });\n case 7:\n case \"end\":\n return _context79.stop();\n }\n }, _callee79);\n }));\n function getFilesAndNewText(_x145, _x146, _x147, _x148) {\n return _getFilesAndNewText.apply(this, arguments);\n }\n return getFilesAndNewText;\n }() // Noticed an issue where text contains a sandbox hyperlink to a csv, but no annotation provided\n // To reproduce use the following text:\n // give example data for a csv and create a suitable bar chart for it with a link\n // Don't think it can be fixed and it is something on OpenAI side of things\n // prettier-ignore\n }, {\n key: \"getFileDetails\",\n value: function getFileDetails(e, t) {\n var n;\n var i = [];\n return (n = t == null ? void 0 : t.text) != null && n.value && e.content.forEach(function (r) {\n var o, a;\n (a = (o = r.text) == null ? void 0 : o.annotations) == null || a.forEach(function (l) {\n var c;\n l.text && l.text.startsWith(\"sandbox:\") && (c = l.file_path) != null && c.file_id && i.push({\n path: l.text,\n fileId: l.file_path.file_id,\n name: Q.getFileName(l.text)\n });\n });\n }), t != null && t.image_file && i.push({\n fileId: t.image_file.file_id\n }), i;\n }\n }, {\n key: \"getFilesAndText\",\n value: function () {\n var _getFilesAndText = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee80(e, t, i) {\n var n;\n return _regeneratorRuntime().wrap(function _callee80$(_context80) {\n while (1) switch (_context80.prev = _context80.next) {\n case 0:\n n = Q.getFileDetails(t, i);\n _context80.next = 3;\n return Q.getFilesAndNewText(e, n, t.role, i);\n case 3:\n return _context80.abrupt(\"return\", _context80.sent);\n case 4:\n case \"end\":\n return _context80.stop();\n }\n }, _callee80);\n }));\n function getFilesAndText(_x149, _x150, _x151) {\n return _getFilesAndText.apply(this, arguments);\n }\n return getFilesAndText;\n }()\n }, {\n key: \"parseResult\",\n value: function parseResult(e, t) {\n var i = [];\n if (t) i = e.data;else for (var n = 0; n < e.data.length; n += 1) {\n var r = e.data[n];\n if (r.role === \"assistant\") i.push(r);else break;\n }\n return i.reverse();\n }\n // test this using this prompt and it should give 2 text mesages and a file:\n // \"give example data for a csv and create a suitable bar chart\"\n }, {\n key: \"parseMessages\",\n value: function parseMessages(e, t) {\n var i = [];\n return t.forEach( /*#__PURE__*/function () {\n var _ref11 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee82(n) {\n return _regeneratorRuntime().wrap(function _callee82$(_context82) {\n while (1) switch (_context82.prev = _context82.next) {\n case 0:\n n.content.filter(function (r) {\n return !!r.text || !!r.image_file;\n }).sort(function (r) {\n return r.text ? -1 : r.image_file ? 1 : 0;\n }).forEach( /*#__PURE__*/function () {\n var _ref12 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee81(r) {\n return _regeneratorRuntime().wrap(function _callee81$(_context81) {\n while (1) switch (_context81.prev = _context81.next) {\n case 0:\n i.push(Q.getFilesAndText(e, n, r));\n case 1:\n case \"end\":\n return _context81.stop();\n }\n }, _callee81);\n }));\n return function (_x153) {\n return _ref12.apply(this, arguments);\n };\n }());\n case 1:\n case \"end\":\n return _context82.stop();\n }\n }, _callee82);\n }));\n return function (_x152) {\n return _ref11.apply(this, arguments);\n };\n }()), Promise.all(i);\n }\n }, {\n key: \"processStreamMessages\",\n value: function () {\n var _processStreamMessages = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee83(e, t) {\n return _regeneratorRuntime().wrap(function _callee83$(_context83) {\n while (1) switch (_context83.prev = _context83.next) {\n case 0:\n return _context83.abrupt(\"return\", Q.parseMessages(e, [{\n content: t,\n role: \"assistant\"\n }]));\n case 1:\n case \"end\":\n return _context83.stop();\n }\n }, _callee83);\n }));\n function processStreamMessages(_x154, _x155) {\n return _processStreamMessages.apply(this, arguments);\n }\n return processStreamMessages;\n }()\n }, {\n key: \"processAPIMessages\",\n value: function () {\n var _processAPIMessages = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee84(e, t, i) {\n var n;\n return _regeneratorRuntime().wrap(function _callee84$(_context84) {\n while (1) switch (_context84.prev = _context84.next) {\n case 0:\n n = Q.parseResult(t, i);\n return _context84.abrupt(\"return\", Q.parseMessages(e, n));\n case 2:\n case \"end\":\n return _context84.stop();\n }\n }, _callee84);\n }));\n function processAPIMessages(_x156, _x157, _x158) {\n return _processAPIMessages.apply(this, arguments);\n }\n return processAPIMessages;\n }()\n }]);\n}();\nQ.FILES_WITH_TEXT_ERROR = \"content with type `text` must have `text` values\", Q.FUNCTION_TOOL_RESP_ERROR = \"Response must contain an array of strings for each individual function/tool_call, see https://deepchat.dev/docs/directConnection/OpenAI/#assistant-functions.\";\nvar ve = Q;\nvar L = /*#__PURE__*/function (_z10) {\n function L(e) {\n var _c$headers, _d$OpenAIBeta;\n var _this36;\n _classCallCheck(this, L);\n var r, o, a, l, c, d;\n var t = JSON.parse(JSON.stringify(e.directConnection)),\n i = t.openAI;\n _this36 = _callSuper(this, L, [e, O.buildKeyVerificationDetails(), O.buildHeaders, i]), _this36.insertKeyPlaceholderText = \"OpenAI API Key\", _this36.keyHelpUrl = \"https://platform.openai.com/account/api-keys\", _this36.url = \"\", _this36.permittedErrorPrefixes = [\"Incorrect\", \"Please send text\"], _this36.searchedForThreadId = !1, _this36.config = {}, _this36.newAssistantDetails = {\n model: \"gpt-4\"\n }, _this36.shouldFetchHistory = !1, _this36.waitingForStreamResponse = !1, _this36.isSSEStream = !1;\n var n = (r = t.openAI) == null ? void 0 : r.assistant;\n if (_typeof(n) == \"object\") {\n _this36.config = n;\n var _this36$config = _this36.config,\n h = _this36$config.new_assistant,\n u = _this36$config.thread_id,\n f = _this36$config.load_thread_history;\n Object.assign(_this36.newAssistantDetails, h), u && (_this36.sessionId = u), f && (_this36.shouldFetchHistory = !0);\n var _ref13 = (a = (o = e.directConnection) == null ? void 0 : o.openAI) == null ? void 0 : a.assistant,\n m = _ref13.function_handler;\n m && (_this36._functionHandler = m), _this36.filesToolType = n.files_tool_type;\n } else (l = t.openAI) != null && l.assistant && (t.openAI.assistant = n);\n (_c$headers = (c = _this36.connectSettings).headers) !== null && _c$headers !== void 0 ? _c$headers : c.headers = {}, (_d$OpenAIBeta = (d = _this36.connectSettings.headers)[\"OpenAI-Beta\"]) !== null && _d$OpenAIBeta !== void 0 ? _d$OpenAIBeta : d[\"OpenAI-Beta\"] = \"assistants=v2\", _this36.maxMessages = 1, _this36.isSSEStream = !!(_this36.stream && (_typeof(_this36.stream) != \"object\" || !_this36.stream.simulation)), _this36.shouldFetchHistory && _this36.sessionId && (_this36.fetchHistory = _this36.fetchHistoryFunc.bind(_this36));\n return _this36;\n }\n _inherits(L, _z10);\n return _createClass(L, [{\n key: \"fetchHistoryFunc\",\n value: function () {\n var _fetchHistoryFunc = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee85() {\n var _this37 = this;\n var _e2;\n return _regeneratorRuntime().wrap(function _callee85$(_context85) {\n while (1) switch (_context85.prev = _context85.next) {\n case 0:\n setTimeout(function () {\n return _this37.deepChat.disableSubmitButton();\n }, 2);\n _context85.prev = 1;\n _context85.next = 4;\n return this.getThreadMessages(this.sessionId, !0);\n case 4:\n _e2 = _context85.sent;\n return _context85.abrupt(\"return\", (this.deepChat.disableSubmitButton(!1), _e2));\n case 8:\n _context85.prev = 8;\n _context85.t0 = _context85[\"catch\"](1);\n return _context85.abrupt(\"return\", [{\n error: \"failed to fetch thread history\"\n }]);\n case 11:\n case \"end\":\n return _context85.stop();\n }\n }, _callee85, this, [[1, 8]]);\n }));\n function fetchHistoryFunc() {\n return _fetchHistoryFunc.apply(this, arguments);\n }\n return fetchHistoryFunc;\n }()\n }, {\n key: \"processMessage\",\n value: function processMessage(e, t) {\n var i = this.totalMessagesMaxCharLength || -1,\n n = ft.getCharacterLimitMessages(e, i)[0];\n if (t && t.length > 0) {\n var r = this.filesToolType;\n if (typeof this.filesToolType == \"function\") {\n var a = this.filesToolType(t.map(function (_ref14) {\n var l = _ref14.name;\n return l;\n }));\n a === \"code_interpreter\" || a === \"file_search\" || a === \"images\" ? r = a : (console.error(\"Tool type \\\"\".concat(a, \"\\\" is not valid\")), console.error('Expected \"code_interpreter\" or \"file_search\" or \"images\". Going to default to \"images\"'));\n }\n if (r === \"file_search\") return L.processAttachmentsMessage(n, t, \"file_search\");\n if (r === \"code_interpreter\") return L.processAttachmentsMessage(n, t, \"code_interpreter\");\n if (t.find(function (_ref15) {\n var a = _ref15.name;\n return !F.isImageFileExtension(a);\n })) console.error(\"The uploaded files contained a non-image file\"), console.error('Make sure only images can be uploaded or define a \"code_interpreter\" or \"file_search\" value in the \"files_tool_type\" property'), console.warn('Make sure your existing assistant supports these \"tools\" or specify them in the \"new_assistant\" property');else {\n var _a = L.processImageMessage(n, t);\n if (_a) return _a;\n }\n }\n return {\n content: n.text || \"\",\n role: \"user\"\n };\n }\n }, {\n key: \"createNewThreadMessages\",\n value: function createNewThreadMessages(e, t, i) {\n var n = JSON.parse(JSON.stringify(e)),\n r = this.processMessage(t, i);\n return n.thread = {\n messages: [r]\n }, n;\n }\n }, {\n key: \"callService\",\n value: function callService(e, t, i) {\n if (this.messages = e, this.sessionId) {\n this.url = \"\".concat(L.THREAD_PREFIX, \"/\").concat(this.sessionId, \"/messages\");\n var n = this.processMessage(t, i);\n T.request(this, n, e);\n } else {\n this.url = \"\".concat(L.THREAD_PREFIX, \"/runs\");\n var _n2 = this.createNewThreadMessages(this.rawBody, t, i);\n this.isSSEStream ? this.createStreamRun(_n2) : T.request(this, _n2, e);\n }\n }\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI18 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee86(e, t, i) {\n var _r$assistant_id;\n var r, n;\n return _regeneratorRuntime().wrap(function _callee86$(_context86) {\n while (1) switch (_context86.prev = _context86.next) {\n case 0:\n if (!(this.waitingForStreamResponse = !1, !this.connectSettings)) {\n _context86.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n if (!((_r$assistant_id = (r = this.rawBody).assistant_id) !== null && _r$assistant_id !== void 0)) {\n _context86.next = 6;\n break;\n }\n _r$assistant_id;\n _context86.next = 12;\n break;\n case 6:\n _context86.t0 = this.config.assistant_id;\n if (_context86.t0) {\n _context86.next = 11;\n break;\n }\n _context86.next = 10;\n return this.createNewAssistant();\n case 10:\n _context86.t0 = _context86.sent;\n case 11:\n r.assistant_id = _context86.t0;\n case 12:\n this.searchedForThreadId || this.searchPreviousMessagesForThreadId(e.messages);\n if (!i) {\n _context86.next = 19;\n break;\n }\n _context86.next = 16;\n return ve.storeFiles(this, e, i);\n case 16:\n _context86.t1 = _context86.sent;\n _context86.next = 20;\n break;\n case 19:\n _context86.t1 = void 0;\n case 20:\n n = _context86.t1;\n this.connectSettings.method = \"POST\", this.callService(e, t, n);\n case 22:\n case \"end\":\n return _context86.stop();\n }\n }, _callee86, this);\n }));\n function callServiceAPI(_x159, _x160, _x161) {\n return _callServiceAPI18.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"createNewAssistant\",\n value: function () {\n var _createNewAssistant = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee87() {\n var _e3;\n return _regeneratorRuntime().wrap(function _callee87$(_context87) {\n while (1) switch (_context87.prev = _context87.next) {\n case 0:\n _context87.prev = 0;\n this.url = L.NEW_ASSISTANT_URL;\n _context87.next = 4;\n return O.directFetch(this, JSON.parse(JSON.stringify(this.newAssistantDetails)), \"POST\");\n case 4:\n _e3 = _context87.sent;\n return _context87.abrupt(\"return\", (this.config.assistant_id = _e3.id, this.config.assistant_id));\n case 8:\n _context87.prev = 8;\n _context87.t0 = _context87[\"catch\"](0);\n console.error(_context87.t0), console.error(\"Failed to create a new assistant\");\n case 11:\n case \"end\":\n return _context87.stop();\n }\n }, _callee87, this, [[0, 8]]);\n }));\n function createNewAssistant() {\n return _createNewAssistant.apply(this, arguments);\n }\n return createNewAssistant;\n }()\n }, {\n key: \"searchPreviousMessagesForThreadId\",\n value: function searchPreviousMessagesForThreadId(e) {\n var t = e.find(function (i) {\n return i._sessionId;\n });\n t && (this.sessionId = t._sessionId), this.searchedForThreadId = !0;\n }\n // prettier-ignore\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData21 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee88(e) {\n var n, t, i;\n return _regeneratorRuntime().wrap(function _callee88$(_context88) {\n while (1) switch (_context88.prev = _context88.next) {\n case 0:\n if (!(this.waitingForStreamResponse || this.isSSEStream && this.sessionId)) {\n _context88.next = 4;\n break;\n }\n _context88.next = 3;\n return this.handleStream(e);\n case 3:\n return _context88.abrupt(\"return\", _context88.sent);\n case 4:\n if (!e.error) {\n _context88.next = 6;\n break;\n }\n throw e.error.message.startsWith(ve.FILES_WITH_TEXT_ERROR) ? Error(\"Please send text with your file(s)\") : e.error.message;\n case 6:\n _context88.next = 8;\n return this.assignThreadAndRun(e);\n case 8:\n t = \"\".concat(L.THREAD_PREFIX, \"/\").concat(this.sessionId, \"/runs/\").concat(this.run_id), i = {\n method: \"GET\",\n headers: (n = this.connectSettings) == null ? void 0 : n.headers\n };\n return _context88.abrupt(\"return\", (T.executePollRequest(this, t, i, this.messages), {\n makingAnotherRequest: !0\n }));\n case 10:\n case \"end\":\n return _context88.stop();\n }\n }, _callee88, this);\n }));\n function extractResultData(_x162) {\n return _extractResultData21.apply(this, arguments);\n }\n return extractResultData;\n }()\n }, {\n key: \"assignThreadAndRun\",\n value: function () {\n var _assignThreadAndRun = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee89(e) {\n var t;\n return _regeneratorRuntime().wrap(function _callee89$(_context89) {\n while (1) switch (_context89.prev = _context89.next) {\n case 0:\n if (!this.sessionId) {\n _context89.next = 8;\n break;\n }\n this.url = \"\".concat(L.THREAD_PREFIX, \"/\").concat(this.sessionId, \"/runs\");\n _context89.next = 4;\n return O.directFetch(this, JSON.parse(JSON.stringify(this.rawBody)), \"POST\");\n case 4:\n t = _context89.sent;\n this.run_id = t.id;\n _context89.next = 9;\n break;\n case 8:\n this.sessionId = e.thread_id, this.run_id = e.id, this.messages && (this.messages.messages[this.messages.messages.length - 1]._sessionId = this.sessionId);\n case 9:\n case \"end\":\n return _context89.stop();\n }\n }, _callee89, this);\n }));\n function assignThreadAndRun(_x163) {\n return _assignThreadAndRun.apply(this, arguments);\n }\n return assignThreadAndRun;\n }()\n }, {\n key: \"getThreadMessages\",\n value: function () {\n var _getThreadMessages = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee90(e) {\n var t,\n n,\n r,\n i,\n _args90 = arguments;\n return _regeneratorRuntime().wrap(function _callee90$(_context90) {\n while (1) switch (_context90.prev = _context90.next) {\n case 0:\n t = _args90.length > 1 && _args90[1] !== undefined ? _args90[1] : !1;\n this.url = \"\".concat(L.THREAD_PREFIX, \"/\").concat(e, \"/messages?order=desc\");\n _context90.next = 4;\n return O.directFetch(this, {}, \"GET\");\n case 4:\n i = _context90.sent;\n _context90.t0 = !t && this.deepChat.responseInterceptor;\n if (!_context90.t0) {\n _context90.next = 10;\n break;\n }\n _context90.next = 9;\n return (r = (n = this.deepChat).responseInterceptor) == null ? void 0 : r.call(n, i);\n case 9:\n i = _context90.sent;\n case 10:\n return _context90.abrupt(\"return\", ve.processAPIMessages(this, i, t));\n case 11:\n case \"end\":\n return _context90.stop();\n }\n }, _callee90, this);\n }));\n function getThreadMessages(_x164) {\n return _getThreadMessages.apply(this, arguments);\n }\n return getThreadMessages;\n }()\n }, {\n key: \"extractPollResultData\",\n value: function () {\n var _extractPollResultData5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee91(e) {\n var _this38 = this;\n var r, t, i, o, _o$shift, a, l, n;\n return _regeneratorRuntime().wrap(function _callee91$(_context91) {\n while (1) switch (_context91.prev = _context91.next) {\n case 0:\n t = e.status, i = e.required_action;\n if (!(t === \"queued\" || t === \"in_progress\")) {\n _context91.next = 3;\n break;\n }\n return _context91.abrupt(\"return\", {\n timeoutMS: L.POLLING_TIMEOUT_MS\n });\n case 3:\n if (!(t === \"completed\" && this.messages)) {\n _context91.next = 11;\n break;\n }\n _context91.next = 6;\n return this.getThreadMessages(e.thread_id);\n case 6:\n o = _context91.sent;\n _o$shift = o.shift();\n a = _o$shift.text;\n l = _o$shift.files;\n return _context91.abrupt(\"return\", (setTimeout(function () {\n o.forEach(function (c) {\n return _this38.deepChat.addMessage(c);\n });\n }), {\n text: a,\n _sessionId: this.sessionId,\n files: l\n }));\n case 11:\n n = (r = i == null ? void 0 : i.submit_tool_outputs) == null ? void 0 : r.tool_calls;\n if (!(t === \"requires_action\" && n)) {\n _context91.next = 16;\n break;\n }\n _context91.next = 15;\n return this.handleTools(n);\n case 15:\n return _context91.abrupt(\"return\", _context91.sent);\n case 16:\n throw Error(\"Thread run status: \".concat(t));\n case 17:\n case \"end\":\n return _context91.stop();\n }\n }, _callee91, this);\n }));\n function extractPollResultData(_x165) {\n return _extractPollResultData5.apply(this, arguments);\n }\n return extractPollResultData;\n }() // prettier-ignore\n }, {\n key: \"handleTools\",\n value: function () {\n var _handleTools = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee92(e) {\n var t, i, n, r;\n return _regeneratorRuntime().wrap(function _callee92$(_context92) {\n while (1) switch (_context92.prev = _context92.next) {\n case 0:\n if (this._functionHandler) {\n _context92.next = 2;\n break;\n }\n throw Error(\"Please define the `function_handler` property inside the [openAI](https://deepchat.dev/docs/directConnection/openAI#Assistant) object.\");\n case 2:\n t = e.map(function (o) {\n return {\n name: o[\"function\"].name,\n arguments: o[\"function\"].arguments\n };\n }), i = this._functionHandler(t);\n if (!(!Array.isArray(i) || e.length !== i.length)) {\n _context92.next = 5;\n break;\n }\n throw Error(ve.FUNCTION_TOOL_RESP_ERROR);\n case 5:\n _context92.next = 7;\n return Promise.all(i);\n case 7:\n n = _context92.sent;\n if (!n.find(function (o) {\n return typeof o != \"string\";\n })) {\n _context92.next = 10;\n break;\n }\n throw Error(ve.FUNCTION_TOOL_RESP_ERROR);\n case 10:\n r = n.map(function (o, a) {\n return {\n tool_call_id: e[a].id,\n output: o\n };\n });\n this.url = \"\".concat(L.THREAD_PREFIX, \"/\").concat(this.sessionId, \"/runs/\").concat(this.run_id, \"/submit_tool_outputs\");\n if (!this.isSSEStream) {\n _context92.next = 17;\n break;\n }\n _context92.next = 15;\n return this.createStreamRun({\n tool_outputs: r\n });\n case 15:\n _context92.next = 19;\n break;\n case 17:\n _context92.next = 19;\n return O.directFetch(this, {\n tool_outputs: r\n }, \"POST\");\n case 19:\n return _context92.abrupt(\"return\", {\n timeoutMS: L.POLLING_TIMEOUT_MS\n });\n case 20:\n case \"end\":\n return _context92.stop();\n }\n }, _callee92, this);\n }));\n function handleTools(_x166) {\n return _handleTools.apply(this, arguments);\n }\n return handleTools;\n }()\n }, {\n key: \"handleStream\",\n value: function () {\n var _handleStream = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee93(e) {\n var i, n, t, r;\n return _regeneratorRuntime().wrap(function _callee93$(_context93) {\n while (1) switch (_context93.prev = _context93.next) {\n case 0:\n t = (n = (i = e.required_action) == null ? void 0 : i.submit_tool_outputs) == null ? void 0 : n.tool_calls;\n if (!(e.status === \"requires_action\" && t)) {\n _context93.next = 6;\n break;\n }\n this.run_id = e.id;\n _context93.next = 5;\n return this.handleTools(t);\n case 5:\n return _context93.abrupt(\"return\", _context93.sent);\n case 6:\n if (!this.waitingForStreamResponse) {\n _context93.next = 8;\n break;\n }\n return _context93.abrupt(\"return\", this.parseStreamResult(e));\n case 8:\n if (this.isSSEStream && this.sessionId) {\n this.url = \"\".concat(L.THREAD_PREFIX, \"/\").concat(this.sessionId, \"/runs\");\n r = JSON.parse(JSON.stringify(this.rawBody));\n this.createStreamRun(r);\n }\n return _context93.abrupt(\"return\", {\n makingAnotherRequest: !0\n });\n case 10:\n case \"end\":\n return _context93.stop();\n }\n }, _callee93, this);\n }));\n function handleStream(_x167) {\n return _handleStream.apply(this, arguments);\n }\n return handleStream;\n }() // prettier-ignore\n }, {\n key: \"parseStreamResult\",\n value: function () {\n var _parseStreamResult = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee94(e) {\n var t, i, n, r, o, a, l, c, _a2, _l;\n return _regeneratorRuntime().wrap(function _callee94$(_context94) {\n while (1) switch (_context94.prev = _context94.next) {\n case 0:\n if (!(e.content && e.content.length > 0 && this.messages)) {\n _context94.next = 5;\n break;\n }\n a = e.content.find(function (l) {\n return l.text;\n });\n if (!((t = a == null ? void 0 : a.text) != null && t.annotations && a.text.annotations.length > 0)) {\n _context94.next = 5;\n break;\n }\n l = e.content.find(function (d) {\n return !!d.text;\n }) || e.content[0], c = ve.getFilesAndText.bind(this, this, {\n role: \"assistant\",\n content: e.content\n }, l);\n return _context94.abrupt(\"return\", ((i = this.messageStream) == null || i.endStreamAfterFileDownloaded(this.messages, c), {\n text: \"\"\n }));\n case 5:\n if (!((n = e.delta) != null && n.content)) {\n _context94.next = 14;\n break;\n }\n if (!(e.delta.content.length > 1)) {\n _context94.next = 13;\n break;\n }\n _a2 = e.delta.content.find(function (l) {\n return l.text;\n });\n if (!((r = _a2 == null ? void 0 : _a2.text) != null && r.annotations && _a2.text.annotations.length === 0)) {\n _context94.next = 13;\n break;\n }\n _context94.next = 11;\n return ve.processStreamMessages(this, e.delta.content);\n case 11:\n _l = _context94.sent;\n return _context94.abrupt(\"return\", {\n text: _l[0].text,\n files: _l[1].files\n });\n case 13:\n return _context94.abrupt(\"return\", {\n text: (o = e.delta.content[0].text) == null ? void 0 : o.value\n });\n case 14:\n return _context94.abrupt(\"return\", (!this.sessionId && e.thread_id && (this.sessionId = e.thread_id), {\n makingAnotherRequest: !0\n }));\n case 15:\n case \"end\":\n return _context94.stop();\n }\n }, _callee94, this);\n }));\n function parseStreamResult(_x168) {\n return _parseStreamResult.apply(this, arguments);\n }\n return parseStreamResult;\n }() // https://platform.openai.com/docs/api-reference/assistants-streaming\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n }, {\n key: \"createStreamRun\",\n value: function () {\n var _createStreamRun = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee95(e) {\n return _regeneratorRuntime().wrap(function _callee95$(_context95) {\n while (1) switch (_context95.prev = _context95.next) {\n case 0:\n e.stream = !0;\n this.waitingForStreamResponse = !0;\n _context95.next = 4;\n return C.request(this, e, this.messages, !0, !0);\n case 4:\n this.messageStream = _context95.sent;\n case 5:\n case \"end\":\n return _context95.stop();\n }\n }, _callee95, this);\n }));\n function createStreamRun(_x169) {\n return _createStreamRun.apply(this, arguments);\n }\n return createStreamRun;\n }()\n }], [{\n key: \"processImageMessage\",\n value: function processImageMessage(e, t) {\n var i = t == null ? void 0 : t.filter(function (n) {\n return F.isImageFileExtension(n.name);\n }).map(function (n) {\n return {\n type: \"image_file\",\n image_file: {\n file_id: n.id\n }\n };\n });\n if (i && i.length > 0) return e.text && e.text.length > 0 && i.push({\n type: \"text\",\n text: e.text\n }), {\n content: i,\n role: \"user\"\n };\n }\n }, {\n key: \"processAttachmentsMessage\",\n value: function processAttachmentsMessage(e, t, i) {\n return {\n attachments: t.map(function (r) {\n return {\n tools: [{\n type: i\n }],\n file_id: r.id\n };\n }),\n content: [{\n type: \"text\",\n text: e.text\n }],\n role: \"user\"\n };\n }\n }]);\n}(z);\nL.THREAD_PREFIX = \"https://api.openai.com/v1/threads\", L.NEW_ASSISTANT_URL = \"https://api.openai.com/v1/assistants\", L.POLLING_TIMEOUT_MS = 800;\nvar sn = L;\nvar he = /*#__PURE__*/function (_z11) {\n function he(e) {\n var _this39;\n _classCallCheck(this, he);\n var o;\n var t = e.directConnection,\n i = t == null ? void 0 : t.openAI,\n n = {\n images: {\n files: {\n acceptedFormats: \".png\",\n maxNumberOfFiles: 2\n }\n }\n };\n _this39 = _callSuper(this, he, [e, O.buildKeyVerificationDetails(), O.buildHeaders, i, n]), _this39.insertKeyPlaceholderText = \"OpenAI API Key\", _this39.keyHelpUrl = \"https://platform.openai.com/account/api-keys\", _this39.introPanelMarkUp = \"\\n <div style=\\\"width: 100%; text-align: center; margin-left: -10px\\\"><b>OpenAI DALL\\xB7E</b></div>\\n <p><b>Insert text</b> to generate an image.</p>\\n <p><b>Upload 1</b> PNG image to generate its variation and optionally insert text to specify the change.</p>\\n <p><b>Upload 2</b> PNG images where the second is a copy of the first with a transparent area where the edit should\\n take place and text to specify the edit.</p>\\n <p>Click <a href=\\\"https://platform.openai.com/docs/guides/images/introduction\\\">here</a> for more info.</p>\", _this39.url = \"\", _this39.permittedErrorPrefixes = [\"Incorrect\", \"Invalid input image\"];\n var r = (o = t == null ? void 0 : t.openAI) == null ? void 0 : o.images;\n if (_this39.camera) {\n var a = _typeof(r) == \"object\" && r.size ? Number.parseInt(r.size) : 1024;\n _this39.camera.files = {\n dimensions: {\n width: a,\n height: a\n }\n };\n }\n _typeof(r) == \"object\" && Object.assign(_this39.rawBody, r), _this39.canSendMessage = he.canFileSendMessage;\n return _this39;\n }\n _inherits(he, _z11);\n return _createClass(he, [{\n key: \"preprocessBody\",\n value: function preprocessBody(e, t) {\n var i = JSON.parse(JSON.stringify(e));\n return t && t !== \"\" && (i.prompt = t), i;\n }\n // prettier-ignore\n }, {\n key: \"callApiWithImage\",\n value: function callApiWithImage(e, t, i) {\n var o, a;\n var n;\n var r = (a = (o = t[t.length - 1]) == null ? void 0 : o.text) == null ? void 0 : a.trim();\n if (i[1] || r && r !== \"\") {\n this.url = he.IMAGE_EDIT_URL;\n var l = this.preprocessBody(this.rawBody, r);\n n = he.createFormDataBody(l, i[0], i[1]);\n } else this.url = he.IMAGE_VARIATIONS_URL, n = he.createFormDataBody(this.rawBody, i[0]);\n v.tempRemoveContentHeader(this.connectSettings, T.request.bind(this, this, n, e), !1);\n }\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI19 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee96(e, t, i) {\n var n, r;\n return _regeneratorRuntime().wrap(function _callee96$(_context96) {\n while (1) switch (_context96.prev = _context96.next) {\n case 0:\n if ((n = this.connectSettings) != null && n.headers) {\n _context96.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n if (!(i != null && i[0])) {\n _context96.next = 6;\n break;\n }\n this.callApiWithImage(e, t, i);\n _context96.next = 11;\n break;\n case 6:\n if (this.connectSettings) {\n _context96.next = 8;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 8:\n this.url = he.IMAGE_GENERATION_URL;\n r = this.preprocessBody(this.rawBody, t[t.length - 1].text);\n T.request(this, r, e);\n case 11:\n case \"end\":\n return _context96.stop();\n }\n }, _callee96, this);\n }));\n function callServiceAPI(_x170, _x171, _x172) {\n return _callServiceAPI19.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData22 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee97(e) {\n return _regeneratorRuntime().wrap(function _callee97$(_context97) {\n while (1) switch (_context97.prev = _context97.next) {\n case 0:\n if (!e.error) {\n _context97.next = 2;\n break;\n }\n throw e.error.message;\n case 2:\n return _context97.abrupt(\"return\", {\n files: e.data.map(function (i) {\n return i.url ? {\n src: i.url,\n type: \"image\"\n } : {\n src: \"\".concat(Bt).concat(i.b64_json),\n type: \"image\"\n };\n })\n });\n case 3:\n case \"end\":\n return _context97.stop();\n }\n }, _callee97);\n }));\n function extractResultData(_x173) {\n return _extractResultData22.apply(this, arguments);\n }\n return extractResultData;\n }() // private static readonly MODAL_MARKDOWN = `\n // 1 image:\n // - With text - edits image based on the text\n // - No text - creates a variation of the image\n // 2 images:\n // - The second image needs to be a copy of the first with a transparent area where the edit should take place.\n // Add text to describe the required modification.\n // Click here for [more info](https://platform.openai.com/docs/guides/images/introduction).\n // `;\n }], [{\n key: \"canFileSendMessage\",\n value: function canFileSendMessage(e, t) {\n return !!(t != null && t[0]) || !!(e && e.trim() !== \"\");\n }\n }, {\n key: \"createFormDataBody\",\n value: function createFormDataBody(e, t, i) {\n var n = new FormData();\n return n.append(\"image\", t), i && n.append(\"mask\", i), Object.keys(e).forEach(function (r) {\n n.append(r, String(e[r]));\n }), n;\n }\n }]);\n}(z);\nhe.IMAGE_GENERATION_URL = \"https://api.openai.com/v1/images/generations\", he.IMAGE_VARIATIONS_URL = \"https://api.openai.com/v1/images/variations\", he.IMAGE_EDIT_URL = \"https://api.openai.com/v1/images/edits\";\nvar rn = he;\nvar xt = /*#__PURE__*/function (_z12) {\n function xt(e) {\n var _this40$maxMessages, _l$model;\n var _this40;\n _classCallCheck(this, xt);\n var r, o, a, l;\n var t = JSON.parse(JSON.stringify(e.directConnection)),\n i = t.openAI;\n _this40 = _callSuper(this, xt, [e, O.buildKeyVerificationDetails(), O.buildHeaders, i]), _this40.insertKeyPlaceholderText = \"OpenAI API Key\", _this40.keyHelpUrl = \"https://platform.openai.com/account/api-keys\", _this40.url = \"https://api.openai.com/v1/chat/completions\", _this40.permittedErrorPrefixes = [\"Incorrect\"], _this40.asyncCallInProgress = !1, _this40._systemMessage = xt.generateSystemMessage(\"You are a helpful assistant.\");\n var n = (r = t.openAI) == null ? void 0 : r.chat;\n if (_typeof(n) == \"object\") {\n n.system_prompt && (_this40._systemMessage = xt.generateSystemMessage(n.system_prompt));\n var _ref16 = (a = (o = e.directConnection) == null ? void 0 : o.openAI) == null ? void 0 : a.chat,\n c = _ref16.function_handler;\n c && (_this40._functionHandler = c), _this40.cleanConfig(n), Object.assign(_this40.rawBody, n);\n }\n (_this40$maxMessages = _this40.maxMessages) !== null && _this40$maxMessages !== void 0 ? _this40$maxMessages : _this40.maxMessages = -1, (_l$model = (l = _this40.rawBody).model) !== null && _l$model !== void 0 ? _l$model : l.model = \"gpt-4o\";\n return _this40;\n }\n _inherits(xt, _z12);\n return _createClass(xt, [{\n key: \"cleanConfig\",\n value: function cleanConfig(e) {\n delete e.system_prompt, delete e.function_handler;\n }\n }, {\n key: \"preprocessBody\",\n value:\n // prettier-ignore\n function preprocessBody(e, t) {\n var _i$max_tokens;\n var i = JSON.parse(JSON.stringify(e)),\n n = ft.getCharacterLimitMessages(t, this.totalMessagesMaxCharLength ? this.totalMessagesMaxCharLength - this._systemMessage.content.length : -1).map(function (r) {\n return {\n content: xt.getContent(r),\n role: r.role === b.USER_ROLE ? \"user\" : \"assistant\"\n };\n });\n return t.find(function (r) {\n return r.files && r.files.length > 0;\n }) && ((_i$max_tokens = i.max_tokens) !== null && _i$max_tokens !== void 0 ? _i$max_tokens : i.max_tokens = 300), i.messages = [this._systemMessage].concat(_toConsumableArray(n)), i;\n }\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI20 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee98(e, t) {\n var i, n;\n return _regeneratorRuntime().wrap(function _callee98$(_context98) {\n while (1) switch (_context98.prev = _context98.next) {\n case 0:\n if (this.connectSettings) {\n _context98.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n i = this.preprocessBody(this.rawBody, t), n = this.stream;\n n && (_typeof(n) != \"object\" || !n.simulation) || i.stream ? (i.stream = !0, C.request(this, i, e)) : T.request(this, i, e);\n case 4:\n case \"end\":\n return _context98.stop();\n }\n }, _callee98, this);\n }));\n function callServiceAPI(_x174, _x175) {\n return _callServiceAPI20.apply(this, arguments);\n }\n return callServiceAPI;\n }() // prettier-ignore\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData23 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee99(e, t, i) {\n var n, r, o, a;\n return _regeneratorRuntime().wrap(function _callee99$(_context99) {\n while (1) switch (_context99.prev = _context99.next) {\n case 0:\n if (!e.error) {\n _context99.next = 2;\n break;\n }\n throw e.error.message;\n case 2:\n return _context99.abrupt(\"return\", (r = (n = e.choices) == null ? void 0 : n[0]) != null && r.delta ? this.extractStreamResult(e.choices[0], t, i) : (a = (o = e.choices) == null ? void 0 : o[0]) != null && a.message ? e.choices[0].message.tool_calls ? this.handleTools(e.choices[0].message, t, i) : {\n text: e.choices[0].message.content\n } : {\n text: \"\"\n });\n case 3:\n case \"end\":\n return _context99.stop();\n }\n }, _callee99, this);\n }));\n function extractResultData(_x176, _x177, _x178) {\n return _extractResultData23.apply(this, arguments);\n }\n return extractResultData;\n }()\n }, {\n key: \"extractStreamResult\",\n value: function () {\n var _extractStreamResult = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee100(e, t, i) {\n var _this41 = this;\n var n, r, o;\n return _regeneratorRuntime().wrap(function _callee100$(_context100) {\n while (1) switch (_context100.prev = _context100.next) {\n case 0:\n n = e.delta, r = e.finish_reason;\n if (!(r === \"tool_calls\")) {\n _context100.next = 7;\n break;\n }\n this.asyncCallInProgress = !0;\n o = {\n tool_calls: this._streamToolCalls\n };\n return _context100.abrupt(\"return\", (this._streamToolCalls = void 0, this.handleTools(o, t, i)));\n case 7:\n n != null && n.tool_calls && (this._streamToolCalls ? n.tool_calls.forEach(function (o, a) {\n _this41._streamToolCalls && (_this41._streamToolCalls[a][\"function\"].arguments += o[\"function\"].arguments);\n }) : this._streamToolCalls = n.tool_calls);\n case 8:\n return _context100.abrupt(\"return\", {\n text: (n == null ? void 0 : n.content) || \"\"\n });\n case 9:\n case \"end\":\n return _context100.stop();\n }\n }, _callee100, this);\n }));\n function extractStreamResult(_x179, _x180, _x181) {\n return _extractStreamResult.apply(this, arguments);\n }\n return extractStreamResult;\n }() // prettier-ignore\n }, {\n key: \"handleTools\",\n value: function () {\n var _handleTools2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee101(e, t, i) {\n var a, l, c, d, h, n, r, o, u, _u;\n return _regeneratorRuntime().wrap(function _callee101$(_context101) {\n while (1) switch (_context101.prev = _context101.next) {\n case 0:\n if (!(!e.tool_calls || !t || !i || !this._functionHandler)) {\n _context101.next = 2;\n break;\n }\n throw Error(\"Please define the `function_handler` property inside the [openAI](https://deepchat.dev/docs/directConnection/openAI#Chat) object.\");\n case 2:\n n = JSON.parse(JSON.stringify(i));\n r = e.tool_calls.map(function (u) {\n return {\n name: u[\"function\"].name,\n arguments: u[\"function\"].arguments\n };\n });\n _context101.next = 6;\n return (a = this._functionHandler) == null ? void 0 : a.call(this, r);\n case 6:\n o = _context101.sent;\n if (!o.text) {\n _context101.next = 15;\n break;\n }\n u = {\n text: o.text\n };\n _context101.next = 11;\n return (c = (l = this.deepChat).responseInterceptor) == null ? void 0 : c.call(l, u);\n case 11:\n _context101.t0 = _context101.sent;\n if (_context101.t0) {\n _context101.next = 14;\n break;\n }\n _context101.t0 = u;\n case 14:\n return _context101.abrupt(\"return\", _context101.t0);\n case 15:\n if (!(n.messages.push({\n tool_calls: e.tool_calls,\n role: \"assistant\",\n content: null\n }), Array.isArray(o) && !o.find(function (u) {\n return typeof u != \"string\";\n }) || r.length === o.length)) {\n _context101.next = 35;\n break;\n }\n o.forEach(function (u, f) {\n var p;\n var m = (p = e.tool_calls) == null ? void 0 : p[f];\n n == null || n.messages.push({\n role: \"tool\",\n tool_call_id: m == null ? void 0 : m.id,\n name: m == null ? void 0 : m[\"function\"].name,\n content: u.response\n });\n }), delete n.tools, delete n.tool_choice, delete n.stream;\n _context101.prev = 17;\n _context101.next = 20;\n return t == null ? void 0 : t(n).then(function (f) {\n return v.processResponseByType(f);\n });\n case 20:\n _u = _context101.sent;\n _context101.next = 23;\n return (h = (d = this.deepChat).responseInterceptor) == null ? void 0 : h.call(d, _u);\n case 23:\n _context101.t1 = _context101.sent;\n if (_context101.t1) {\n _context101.next = 26;\n break;\n }\n _context101.t1 = _u;\n case 26:\n _u = _context101.t1;\n if (!_u.error) {\n _context101.next = 29;\n break;\n }\n throw _u.error.message;\n case 29:\n return _context101.abrupt(\"return\", {\n text: _u.choices[0].message.content || \"\"\n });\n case 32:\n _context101.prev = 32;\n _context101.t2 = _context101[\"catch\"](17);\n throw this.asyncCallInProgress = !1, _context101.t2;\n case 35:\n throw Error(\"Response object must either be {response: string}[] for each individual function or {text: string} for a direct response, see https://deepchat.dev/docs/directConnection/OpenAI#FunctionHandler.\");\n case 36:\n case \"end\":\n return _context101.stop();\n }\n }, _callee101, this, [[17, 32]]);\n }));\n function handleTools(_x182, _x183, _x184) {\n return _handleTools2.apply(this, arguments);\n }\n return handleTools;\n }()\n }], [{\n key: \"generateSystemMessage\",\n value: function generateSystemMessage(e) {\n return {\n role: \"system\",\n content: e\n };\n }\n }, {\n key: \"getContent\",\n value: function getContent(e) {\n if (e.files && e.files.length > 0) {\n var t = e.files.map(function (i) {\n return {\n type: \"image_url\",\n image_url: {\n url: i.src\n }\n };\n });\n return e.text && e.text.trim().length > 0 && t.unshift({\n type: \"text\",\n text: e.text\n }), t;\n }\n return e.text;\n }\n }]);\n}(z);\nvar Ao = /*#__PURE__*/function (_fn3) {\n function Ao(e) {\n var _this42$maxMessages;\n var _this42;\n _classCallCheck(this, Ao);\n var r;\n var t = JSON.parse(JSON.stringify(e.directConnection)),\n i = (r = t.cohere) == null ? void 0 : r.chat,\n n = t.cohere;\n _this42 = _callSuper(this, Ao, [e, \"https://api.cohere.ai/v1/chat\", \"Ask me anything!\", i, n]), _typeof(i) == \"object\" && Object.assign(_this42.rawBody, i), (_this42$maxMessages = _this42.maxMessages) !== null && _this42$maxMessages !== void 0 ? _this42$maxMessages : _this42.maxMessages = -1;\n return _this42;\n }\n _inherits(Ao, _fn3);\n return _createClass(Ao, [{\n key: \"preprocessBody\",\n value: function preprocessBody(e, t) {\n var i = JSON.parse(JSON.stringify(e)),\n n = t.filter(function (r) {\n return r.text;\n });\n return i.query = n[n.length - 1].text, i.chat_history = n.slice(0, n.length - 1).map(function (r) {\n return {\n text: r.text,\n user_name: r.role === \"ai\" ? \"CHATBOT\" : \"USER\"\n };\n }), i;\n }\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI21 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee102(e, t) {\n var i;\n return _regeneratorRuntime().wrap(function _callee102$(_context102) {\n while (1) switch (_context102.prev = _context102.next) {\n case 0:\n if (this.connectSettings) {\n _context102.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n i = this.preprocessBody(this.rawBody, t);\n T.request(this, i, e);\n case 4:\n case \"end\":\n return _context102.stop();\n }\n }, _callee102, this);\n }));\n function callServiceAPI(_x185, _x186) {\n return _callServiceAPI21.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData24 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee103(e) {\n return _regeneratorRuntime().wrap(function _callee103$(_context103) {\n while (1) switch (_context103.prev = _context103.next) {\n case 0:\n if (!e.message) {\n _context103.next = 2;\n break;\n }\n throw e.message;\n case 2:\n return _context103.abrupt(\"return\", {\n text: e.text\n });\n case 3:\n case \"end\":\n return _context103.stop();\n }\n }, _callee103);\n }));\n function extractResultData(_x187) {\n return _extractResultData24.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n}(fn);\nvar ci = /*#__PURE__*/function () {\n function ci() {\n _classCallCheck(this, ci);\n }\n return _createClass(ci, null, [{\n key: \"buildHeaders\",\n value: function buildHeaders(e) {\n return {\n Authorization: \"Bearer \".concat(e),\n \"Content-Type\": \"application/json\",\n accept: \"application/json\"\n };\n }\n // prettier-ignore\n }, {\n key: \"handleVerificationResult\",\n value: function handleVerificationResult(e, t, i, n) {\n var o;\n (o = e.message) != null && o.includes(\"invalid request: prompt must be at least 1 token long\") ? i(t) : n(A.INVALID_KEY);\n }\n }, {\n key: \"buildKeyVerificationDetails\",\n value: function buildKeyVerificationDetails() {\n return {\n url: \"https://api.mistral.ai/v1/models\",\n method: \"GET\",\n handleVerificationResult: ci.handleVerificationResult\n };\n }\n }]);\n}();\nvar Mo = /*#__PURE__*/function (_z13) {\n function Mo(e) {\n var _this43$maxMessages, _n$model;\n var _this43;\n _classCallCheck(this, Mo);\n var n;\n var i = JSON.parse(JSON.stringify(e.directConnection)).mistral;\n _this43 = _callSuper(this, Mo, [e, ci.buildKeyVerificationDetails(), ci.buildHeaders, i]), _this43.insertKeyPlaceholderText = \"Mistral API Key\", _this43.keyHelpUrl = \"https://console.mistral.ai/api-keys/\", _this43.url = \"https://api.mistral.ai/v1/chat/completions\", _this43.permittedErrorPrefixes = [\"invalid\"], i && (_this43.cleanConfig(i), Object.assign(_this43.rawBody, i)), (_this43$maxMessages = _this43.maxMessages) !== null && _this43$maxMessages !== void 0 ? _this43$maxMessages : _this43.maxMessages = -1, (_n$model = (n = _this43.rawBody).model) !== null && _n$model !== void 0 ? _n$model : n.model = \"open-mistral-7b\";\n return _this43;\n }\n _inherits(Mo, _z13);\n return _createClass(Mo, [{\n key: \"cleanConfig\",\n value: function cleanConfig(e) {\n delete e.key;\n }\n // build a single string for user\n }, {\n key: \"preprocessBody\",\n value: function preprocessBody(e, t) {\n var i = JSON.parse(JSON.stringify(e)),\n n = t.filter(function (r) {\n return r.text;\n });\n return i.messages = n.slice(0, n.length - 1).map(function (r) {\n return {\n text: r.text,\n user_name: r.role === \"ai\" ? \"system\" : \"user\"\n };\n }), i;\n }\n }, {\n key: \"callServiceAPI\",\n value: function () {\n var _callServiceAPI22 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee104(e, t) {\n var i;\n return _regeneratorRuntime().wrap(function _callee104$(_context104) {\n while (1) switch (_context104.prev = _context104.next) {\n case 0:\n if (this.connectSettings) {\n _context104.next = 2;\n break;\n }\n throw new Error(\"Request settings have not been set up\");\n case 2:\n i = this.preprocessBody(this.rawBody, t);\n T.request(this, i, e);\n case 4:\n case \"end\":\n return _context104.stop();\n }\n }, _callee104, this);\n }));\n function callServiceAPI(_x188, _x189) {\n return _callServiceAPI22.apply(this, arguments);\n }\n return callServiceAPI;\n }()\n }, {\n key: \"extractResultData\",\n value: function () {\n var _extractResultData25 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee105(e) {\n return _regeneratorRuntime().wrap(function _callee105$(_context105) {\n while (1) switch (_context105.prev = _context105.next) {\n case 0:\n if (!e.message) {\n _context105.next = 2;\n break;\n }\n throw e.message;\n case 2:\n return _context105.abrupt(\"return\", {\n text: e.text\n });\n case 3:\n case \"end\":\n return _context105.stop();\n }\n }, _callee105);\n }));\n function extractResultData(_x190) {\n return _extractResultData25.apply(this, arguments);\n }\n return extractResultData;\n }()\n }]);\n}(z);\nvar Ro = /*#__PURE__*/function () {\n function Ro() {\n _classCallCheck(this, Ro);\n }\n return _createClass(Ro, null, [{\n key: \"create\",\n value:\n // this should only be called when no _activeService is set or is demo as otherwise we don't want to reconnect\n function create(e) {\n var t = e.directConnection,\n i = e.connect,\n n = e.demo,\n r = e.webModel;\n if (r) return new It(e);\n if (t) {\n if (t.openAI) return t.openAI.images ? new rn(e) : t.openAI.speechToText ? new en(e) : t.openAI.textToSpeech ? new Qi(e) : t.openAI.assistant ? new sn(e) : new xt(e);\n if (t.assemblyAI) return new pn(e);\n if (t.cohere) return t.cohere.textGeneration ? new So(e) : t.cohere.summarization ? new wo(e) : new Ao(e);\n if (t.huggingFace) return t.huggingFace.textGeneration ? new bo(e) : t.huggingFace.summarization ? new yo(e) : t.huggingFace.translation ? new xo(e) : t.huggingFace.fillMask ? new _o(e) : t.huggingFace.questionAnswer ? new vo(e) : t.huggingFace.audioSpeechRecognition ? new go(e) : t.huggingFace.audioClassification ? new po(e) : t.huggingFace.imageClassification ? new mo(e) : new Eo(e);\n if (t.azure) {\n if (t.azure.speechToText) return new nn(e);\n if (t.azure.textToSpeech) return new tn(e);\n if (t.azure.summarization) return new Co(e);\n if (t.azure.translation) return new ko(e);\n }\n if (t.stabilityAI) return t.stabilityAI.imageToImage ? new oi(e) : t.stabilityAI.imageToImageUpscale ? new si(e) : t.stabilityAI.imageToImageMasking ? new ri(e) : new ai(e);\n if (t.mistral) return new Mo(e);\n }\n return i && (!n || !i.stream) ? new Je(e) : new Je(e, void 0, n || !0);\n }\n }]);\n}();\nvar En = /*#__PURE__*/_createClass(function En() {\n _classCallCheck(this, En);\n});\nEn.attibutes = {\n string: function string(e) {\n return e;\n },\n number: function number(e) {\n return parseFloat(e);\n },\n \"boolean\": function boolean(e) {\n return e === \"true\";\n },\n object: function object(e) {\n return JSON.parse(e);\n },\n array: function array(e) {\n return JSON.parse(e);\n },\n \"function\": function _function(e) {\n return new Function(\"return \".concat(e))();\n }\n};\nvar on = En;\nfunction _(s) {\n return function (e, t) {\n Object.defineProperty(e, t, {});\n var i = e.constructor,\n n = t.toLocaleLowerCase();\n i._attributes_[n] = on.attibutes[s], i._attributeToProperty_[n] = t;\n };\n}\nvar mn = /*#__PURE__*/function () {\n function mn() {\n _classCallCheck(this, mn);\n }\n return _createClass(mn, null, [{\n key: \"colorToHex\",\n value: function colorToHex(e) {\n var t = document.createElement(\"div\");\n return t.style.color = e, document.body.appendChild(t), \"#\".concat(window.getComputedStyle(t).color.match(/\\d+/g).map(function (r) {\n return parseInt(r).toString(16).padStart(2, \"0\");\n }).join(\"\"));\n }\n }, {\n key: \"set\",\n value: function set(e, t) {\n var i, n, r, o;\n if ((n = (i = t == null ? void 0 : t.loading) == null ? void 0 : i.bubble) != null && n.color) {\n var a = mn.colorToHex((o = (r = t == null ? void 0 : t.loading) == null ? void 0 : r.bubble) == null ? void 0 : o.color);\n e.style.setProperty(\"--message-dots-color\", a), e.style.setProperty(\"--message-dots-color-fade\", \"\".concat(a, \"33\"));\n } else e.style.setProperty(\"--message-dots-color\", \"#848484\"), e.style.setProperty(\"--message-dots-color-fade\", \"#55555533\");\n }\n }]);\n}();\nvar di = /*#__PURE__*/function () {\n function di(e, t, i) {\n _classCallCheck(this, di);\n this._isDisplayed = !1, e ? (this._elementRef = this.createIntroPanelWithChild(e, i), this._isDisplayed = !0) : t && (this._elementRef = this.createInternalIntroPanel(t, i), this._isDisplayed = !0);\n }\n return _createClass(di, [{\n key: \"createIntroPanelWithChild\",\n value: function createIntroPanelWithChild(e, t) {\n var i = di.createIntroPanel(t);\n return e.style.display === \"none\" && (e.style.display = \"block\"), i.appendChild(e), i;\n }\n }, {\n key: \"createInternalIntroPanel\",\n value: function createInternalIntroPanel(e, t) {\n var i = di.createIntroPanel(t);\n return i.id = \"internal-intro-panel\", i.innerHTML = e, i;\n }\n }, {\n key: \"hide\",\n value: function hide() {\n this._isDisplayed && this._elementRef && (this._elementRef.style.display = \"none\", this._isDisplayed = !1);\n }\n }, {\n key: \"display\",\n value: function display() {\n !this._isDisplayed && this._elementRef && (this._elementRef.style.display = \"\", this._isDisplayed = !0);\n }\n }], [{\n key: \"createIntroPanel\",\n value: function createIntroPanel(e) {\n var t = document.createElement(\"div\");\n return t.classList.add(\"intro-panel\"), Object.assign(t.style, e), t;\n }\n }]);\n}();\nvar Io = /*#__PURE__*/function () {\n function Io(e, t, i) {\n _classCallCheck(this, Io);\n this._isLoading = !1, this._isComplete = !1, this._messages = t, this.populateHistory(e), i.fetchHistory && this.fetchHistory(i.fetchHistory), e.loadHistory && this.setupLoadHistory(e, e.loadHistory);\n }\n return _createClass(Io, [{\n key: \"loadInitialHistory\",\n value: function () {\n var _loadInitialHistory = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee106(e, t) {\n var i, n;\n return _regeneratorRuntime().wrap(function _callee106$(_context106) {\n while (1) switch (_context106.prev = _context106.next) {\n case 0:\n _context106.next = 2;\n return t(0);\n case 2:\n i = _context106.sent;\n this._isComplete = !i.find(function (r) {\n return !r;\n });\n n = i.filter(function (r) {\n return !!r;\n });\n this.populateHistory(e, n);\n case 6:\n case \"end\":\n return _context106.stop();\n }\n }, _callee106, this);\n }));\n function loadInitialHistory(_x191, _x192) {\n return _loadInitialHistory.apply(this, arguments);\n }\n return loadInitialHistory;\n }()\n }, {\n key: \"processLoadedHistory\",\n value: function processLoadedHistory(e) {\n var _this44 = this;\n var n;\n this._isLoading = !0;\n var t = (n = this._messages.messageElementRefs[0]) == null ? void 0 : n.outerContainer,\n i = this._messages.elementRef.scrollTop;\n e == null || e.reverse().map(function (r) {\n if (r) {\n var o = _this44._messages.addAnyMessage(_objectSpread(_objectSpread({}, r), {}, {\n sendUpdate: !0\n }), !0, !0);\n return o && _this44._messages.messages.unshift(o), o;\n } else _this44._isComplete = !0;\n }).filter(function (r) {\n return !!r;\n }).reverse().forEach(function (r) {\n return _this44._messages.sendClientUpdate(r, !0);\n }), t && (this._messages.elementRef.scrollTop = i + t.offsetTop), this._isLoading = !1;\n }\n }, {\n key: \"setupLoadHistory\",\n value: function () {\n var _setupLoadHistory = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee108(e, t) {\n var _this45 = this;\n return _regeneratorRuntime().wrap(function _callee108$(_context108) {\n while (1) switch (_context108.prev = _context108.next) {\n case 0:\n this._messages.elementRef.onscroll = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee107() {\n var n;\n return _regeneratorRuntime().wrap(function _callee107$(_context107) {\n while (1) switch (_context107.prev = _context107.next) {\n case 0:\n if (!(!_this45._isLoading && !_this45._isComplete && _this45._messages.elementRef.scrollTop === 0)) {\n _context107.next = 5;\n break;\n }\n _context107.next = 3;\n return t(0);\n case 3:\n n = _context107.sent;\n _this45.processLoadedHistory(n);\n case 5:\n case \"end\":\n return _context107.stop();\n }\n }, _callee107);\n })), e.history || te.processHistory(e) || this.loadInitialHistory(e, t);\n case 1:\n case \"end\":\n return _context108.stop();\n }\n }, _callee108, this);\n }));\n function setupLoadHistory(_x193, _x194) {\n return _setupLoadHistory.apply(this, arguments);\n }\n return setupLoadHistory;\n }()\n }, {\n key: \"populateHistory\",\n value: function populateHistory(e, t) {\n var _this46 = this;\n var i = e.history || te.processHistory(e) || t;\n i && (i.forEach(function (n) {\n te.processHistoryFile(n), _this46._messages.addNewMessage(n, !0);\n }), setTimeout(function () {\n return q.scrollToBottom(_this46._messages.elementRef);\n }, 0));\n }\n }, {\n key: \"fetchHistory\",\n value: function () {\n var _fetchHistory = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee109(e) {\n var _this47 = this;\n return _regeneratorRuntime().wrap(function _callee109$(_context109) {\n while (1) switch (_context109.prev = _context109.next) {\n case 0:\n _context109.next = 2;\n return e();\n case 2:\n _context109.sent.forEach(function (i) {\n return _this47._messages.addAnyMessage(i, !0);\n });\n setTimeout(function () {\n return q.scrollToBottom(_this47._messages.elementRef);\n }, 0);\n case 4:\n case \"end\":\n return _context109.stop();\n }\n }, _callee109);\n }));\n function fetchHistory(_x195) {\n return _fetchHistory.apply(this, arguments);\n }\n return fetchHistory;\n }()\n }]);\n}();\nvar Lo = /*#__PURE__*/function () {\n function Lo() {\n _classCallCheck(this, Lo);\n }\n return _createClass(Lo, null, [{\n key: \"getText\",\n value: function getText(e, t) {\n var i;\n if (!e.directConnection && !e.connect && !e.webModel && !e.demo) return \"Connect to any API using the [connect](https://deepchat.dev/docs/connect#connect-1) property or a popular service via [directConnection](https://deepchat.dev/docs/directConnection/#directConnection).\\n Host AI entirely on your browser via a [webModel](https://deepchat.dev/docs/webModel).\\n To get started checkout the [Start](https://deepchat.dev/start) page and live code [examples](https://deepchat.dev/examples/frameworks).\\n To remove this message set the [demo](https://deepchat.dev/docs/demo#demo) property to true.\";\n if (e.directConnection) {\n if (!t.isDirectConnection()) return \"Please define a valid service inside\\n the [directConnection](https://deepchat.dev/docs/directConnection/#directConnection) object.\";\n var n = (i = e.directConnection.openAI) == null ? void 0 : i.chat;\n if (_typeof(n) == \"object\" && n.tools && !n.function_handler) return \"Please define the `function_handler` property inside the openAI [chat](https://deepchat.dev/docs/directConnection/openAI#Chat) object.\";\n } else if (e.connect && !e.connect.url && !e.connect.handler) return e.demo ? e.connect.stream ? null : \"When [demo](https://deepchat.dev/docs/demo) mode is enabled - the [connect](https://deepchat.dev/docs/connect#connect-1) object can only accept the [stream](https://deepchat.dev/docs/connect#Stream) property.\" : \"Please define a `url` or a `handler` property inside the [connect](https://deepchat.dev/docs/connect#connect-1) object.\";\n return null;\n }\n }]);\n}();\nvar Po = \"<?xml version=\\\"1.0\\\" encoding=\\\"iso-8859-1\\\"?>\\n<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" \\n\\t viewBox=\\\"50 30 420 450\\\" xml:space=\\\"preserve\\\">\\n<g filter=\\\"brightness(0) saturate(100%) invert(16%) sepia(0%) saturate(1942%) hue-rotate(215deg) brightness(99%) contrast(93%)\\\">\\n\\t<g>\\n\\t\\t<path d=\\\"M447.933,103.629c-0.034-3.076-1.224-6.09-3.485-8.352L352.683,3.511c-0.004-0.004-0.007-0.005-0.011-0.008\\n\\t\\t\\tC350.505,1.338,347.511,0,344.206,0H89.278C75.361,0,64.04,11.32,64.04,25.237v461.525c0,13.916,11.32,25.237,25.237,25.237\\n\\t\\t\\th333.444c13.916,0,25.237-11.32,25.237-25.237V103.753C447.96,103.709,447.937,103.672,447.933,103.629z M356.194,40.931\\n\\t\\t\\tl50.834,50.834h-49.572c-0.695,0-1.262-0.567-1.262-1.262V40.931z M423.983,486.763c0,0.695-0.566,1.261-1.261,1.261H89.278\\n\\t\\t\\tc-0.695,0-1.261-0.566-1.261-1.261V25.237c0-0.695,0.566-1.261,1.261-1.261h242.94v66.527c0,13.916,11.322,25.239,25.239,25.239\\n\\t\\t\\th66.527V486.763z\\\"/>\\n\\t</g>\\n</g>\\n<g>\\n\\t<g>\\n\\t\\t<path d=\\\"M362.088,164.014H149.912c-6.62,0-11.988,5.367-11.988,11.988c0,6.62,5.368,11.988,11.988,11.988h212.175\\n\\t\\t\\tc6.62,0,11.988-5.368,11.988-11.988C374.076,169.381,368.707,164.014,362.088,164.014z\\\"/>\\n\\t</g>\\n</g>\\n<g>\\n\\t<g>\\n\\t\\t<path d=\\\"M362.088,236.353H149.912c-6.62,0-11.988,5.368-11.988,11.988c0,6.62,5.368,11.988,11.988,11.988h212.175\\n\\t\\t\\tc6.62,0,11.988-5.368,11.988-11.988C374.076,241.721,368.707,236.353,362.088,236.353z\\\"/>\\n\\t</g>\\n</g>\\n<g>\\n\\t<g>\\n\\t\\t<path d=\\\"M362.088,308.691H149.912c-6.62,0-11.988,5.368-11.988,11.988c0,6.621,5.368,11.988,11.988,11.988h212.175\\n\\t\\t\\tc6.62,0,11.988-5.367,11.988-11.988C374.076,314.06,368.707,308.691,362.088,308.691z\\\"/>\\n\\t</g>\\n</g>\\n<g>\\n\\t<g>\\n\\t\\t<path d=\\\"M256,381.031H149.912c-6.62,0-11.988,5.368-11.988,11.988c0,6.621,5.368,11.988,11.988,11.988H256\\n\\t\\t\\tc6.62,0,11.988-5.367,11.988-11.988C267.988,386.398,262.62,381.031,256,381.031z\\\"/>\\n\\t</g>\\n</g>\\n</svg>\";\nvar Me = /*#__PURE__*/function () {\n function Me() {\n _classCallCheck(this, Me);\n }\n return _createClass(Me, null, [{\n key: \"createImage\",\n value: function createImage(e, t, i) {\n var n = new Image();\n return n.src = e.src, i || F.scrollDownOnImageLoad(n.src, t), F.processContent(\"image\", n, n.src, e.name);\n }\n // WORK - image still does not scroll down when loaded\n }, {\n key: \"addNewImageMessage\",\n value: function () {\n var _addNewImageMessage = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee110(e, t, i, n) {\n var r, o;\n return _regeneratorRuntime().wrap(function _callee110$(_context110) {\n while (1) switch (_context110.prev = _context110.next) {\n case 0:\n r = Me.createImage(t, e.elementRef, n), o = e.createNewMessageElement(\"\", i);\n o.bubbleElement.appendChild(r), o.bubbleElement.classList.add(\"image-message\"), F.addMessage(e, o, \"image\", i, n);\n case 2:\n case \"end\":\n return _context110.stop();\n }\n }, _callee110);\n }));\n function addNewImageMessage(_x196, _x197, _x198, _x199) {\n return _addNewImageMessage.apply(this, arguments);\n }\n return addNewImageMessage;\n }()\n }, {\n key: \"createAudioElement\",\n value: function createAudioElement(e, t) {\n var i = document.createElement(\"audio\");\n return i.src = e.src, i.classList.add(\"audio-player\"), i.controls = !0, at.IS_SAFARI && (i.classList.add(\"audio-player-safari\"), i.classList.add(t === b.USER_ROLE ? \"audio-player-safari-right\" : \"audio-player-safari-left\")), i;\n }\n }, {\n key: \"addNewAudioMessage\",\n value: function addNewAudioMessage(e, t, i, n) {\n var r = Me.createAudioElement(t, i),\n o = e.createMessageElementsOnOrientation(\"\", i, n);\n o.bubbleElement.appendChild(r), o.bubbleElement.classList.add(\"audio-message\"), F.addMessage(e, o, \"audio\", i, n);\n }\n }, {\n key: \"createAnyFile\",\n value: function createAnyFile(e) {\n var t = document.createElement(\"div\");\n t.classList.add(\"any-file-message-contents\");\n var i = document.createElement(\"div\");\n i.classList.add(\"any-file-message-icon-container\");\n var n = ie.createSVGElement(Po);\n n.classList.add(\"any-file-message-icon\"), i.appendChild(n);\n var r = document.createElement(\"div\");\n return r.classList.add(\"any-file-message-text\"), r.textContent = e.name || F.DEFAULT_FILE_NAME, t.appendChild(i), t.appendChild(r), F.processContent(\"any\", t, e.src, r.textContent);\n }\n }, {\n key: \"addNewAnyFileMessage\",\n value: function addNewAnyFileMessage(e, t, i, n) {\n var r = e.createMessageElementsOnOrientation(\"\", i, n),\n o = Me.createAnyFile(t);\n r.bubbleElement.classList.add(\"any-file-message-bubble\"), r.bubbleElement.appendChild(o), F.addMessage(e, r, \"file\", i, n);\n }\n // no overwrite previous message logic as it is complex to track which files are to be overwritten\n }, {\n key: \"addMessages\",\n value: function addMessages(e, t, i, n) {\n t.forEach(function (r) {\n r.ref && (r = F.removeFileRef(r)), F.isAudioFile(r) ? Me.addNewAudioMessage(e, r, i, n) : F.isImageFile(r) ? Me.addNewImageMessage(e, r, i, n) : Me.addNewAnyFileMessage(e, r, i, n);\n });\n }\n }]);\n}();\nvar Re = /*#__PURE__*/function (_ct) {\n function Re(e, t, i) {\n var _this48;\n _classCallCheck(this, Re);\n var a, l;\n _this48 = _callSuper(this, Re, [e]);\n var n = t.permittedErrorPrefixes,\n r = t.introPanelMarkUp,\n o = t.demo;\n _this48._errorMessageOverrides = (a = e.errorMessages) == null ? void 0 : a.overrides, _this48._onClearMessages = ei.onClearMessages.bind(_this48, e), _this48._onError = ei.onError.bind(_this48, e), _this48._displayLoadingMessage = Re.getDisplayLoadingMessage(e, t), _this48._permittedErrorPrefixes = n, _this48.addSetupMessageIfNeeded(e, t) || _this48.populateIntroPanel(i, r, e.introPanelStyle), _this48.addIntroductoryMessage(e, t), new Io(e, _this48, t), _this48._displayServiceErrorMessages = (l = e.errorMessages) == null ? void 0 : l.displayServiceErrorMessages, e.getMessages = function () {\n return JSON.parse(JSON.stringify(_this48.messages));\n }, e.clearMessages = _this48.clearMessages.bind(_this48, t), e.refreshMessages = _this48.refreshTextMessages.bind(_this48), e.scrollToBottom = q.scrollToBottom.bind(_this48, _this48.elementRef), e.addMessage = function (c, d) {\n _this48.addAnyMessage(_objectSpread(_objectSpread({}, c), {}, {\n sendUpdate: !!d\n }), !d);\n }, t.isWebModel() && t.setUpMessages(_this48), o && _this48.prepareDemo(o), e.textToSpeech && lt.processConfig(e.textToSpeech, function (c) {\n _this48.textToSpeech = c;\n });\n return _this48;\n }\n _inherits(Re, _ct);\n return _createClass(Re, [{\n key: \"prepareDemo\",\n value: function prepareDemo(e) {\n _typeof(e) == \"object\" && (e.response && (this.customDemoResponse = e.response), e.displayErrors && (e.displayErrors[\"default\"] && this.addNewErrorMessage(\"\", \"\"), e.displayErrors.service && this.addNewErrorMessage(\"service\", \"\"), e.displayErrors.speechToText && this.addNewErrorMessage(\"speechToText\", \"\")), e.displayLoadingBubble && this.addLoadingMessage());\n }\n }, {\n key: \"addSetupMessageIfNeeded\",\n value: function addSetupMessageIfNeeded(e, t) {\n var i = Lo.getText(e, t);\n if (i) {\n var n = this.createAndAppendNewMessageElement(i, b.AI_ROLE);\n this.applyCustomStyles(n, b.AI_ROLE, !1);\n }\n return !!i;\n }\n // WORK - const file for deep chat classes\n }, {\n key: \"addIntroductoryMessage\",\n value: function addIntroductoryMessage(e, t) {\n var _i12;\n var n;\n e != null && e.shadowRoot && (this._introMessage = e.introMessage);\n var i = this._introMessage;\n if (t != null && t.isWebModel() && ((_i12 = i) !== null && _i12 !== void 0 ? _i12 : i = t.getIntroMessage(i)), i) {\n var r;\n i != null && i.text ? r = this.createAndAppendNewMessageElement(i.text, b.AI_ROLE) : i != null && i.html && (r = ut.add(this, i.html, b.AI_ROLE, this.messageElementRefs)), r && (this.applyCustomStyles(r, b.AI_ROLE, !1, (n = this.messageStyles) == null ? void 0 : n.intro), r.outerContainer.classList.add(\"deep-chat-intro\"));\n }\n }\n }, {\n key: \"removeIntroductoryMessage\",\n value: function removeIntroductoryMessage() {\n var e = this.messageElementRefs[0];\n e.outerContainer.classList.contains(\"deep-chat-intro\") && (e.outerContainer.remove(), this.messageElementRefs.shift());\n }\n }, {\n key: \"addAnyMessage\",\n value: function addAnyMessage(e) {\n var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !1;\n var i = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : !1;\n return e.error ? this.addNewErrorMessage(\"service\", e.error) : this.addNewMessage(e, t, i);\n }\n // this should not be activated by streamed messages\n }, {\n key: \"addNewMessage\",\n value: function addNewMessage(e) {\n var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !1;\n var i = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : !1;\n var n = Re.createMessageContent(e),\n r = {\n status: e.overwrite\n };\n if (!e.ignoreText && n.text !== void 0 && e.text !== null && (this.addNewTextMessage(n.text, n.role, r, i), !t && this.textToSpeech && n.role !== b.USER_ROLE && lt.speak(n.text, this.textToSpeech)), n.files && Array.isArray(n.files) && Me.addMessages(this, n.files, n.role, i), n.html !== void 0 && n.html !== null) {\n var o = ut.add(this, n.html, n.role, this.messageElementRefs, r, i);\n Pe.isElementTemporary(o) && delete n.html;\n }\n return this.isValidMessageContent(n) && !i && this.updateStateOnMessage(n, e.overwrite, e.sendUpdate, t), n;\n }\n }, {\n key: \"isValidMessageContent\",\n value: function isValidMessageContent(e) {\n return e.text || e.html || e.files && e.files.length > 0;\n }\n }, {\n key: \"updateStateOnMessage\",\n value: function updateStateOnMessage(e, t) {\n var i = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : !0;\n var n = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : !1;\n t || this.messages.push(e), i && this.sendClientUpdate(e, n);\n }\n // prettier-ignore\n }, {\n key: \"removeMessageOnError\",\n value: function removeMessageOnError() {\n var e = this.messageElementRefs[this.messageElementRefs.length - 1],\n t = e == null ? void 0 : e.bubbleElement;\n (t != null && t.classList.contains(me.MESSAGE_CLASS) && t.textContent === \"\" || Re.isTemporaryElement(e)) && this.removeLastMessage();\n }\n // prettier-ignore\n }, {\n key: \"addNewErrorMessage\",\n value: function addNewErrorMessage(e, t) {\n var l, c, d, h, u;\n this.removeMessageOnError();\n var i = Re.createBaseElements(),\n n = i.outerContainer,\n r = i.bubbleElement;\n r.classList.add(\"error-message-text\");\n var o = this.getPermittedMessage(t) || ((l = this._errorMessageOverrides) == null ? void 0 : l[e]) || ((c = this._errorMessageOverrides) == null ? void 0 : c[\"default\"]) || \"Error, please try again.\";\n this.renderText(r, o);\n var a = H.extractParticularSharedStyles([\"fontSize\", \"fontFamily\"], (d = this.messageStyles) == null ? void 0 : d[\"default\"]);\n H.applyCustomStylesToElements(i, !1, a), H.applyCustomStylesToElements(i, !1, (h = this.messageStyles) == null ? void 0 : h.error), this.elementRef.appendChild(n), q.scrollToBottom(this.elementRef), this.textToSpeech && lt.speak(o, this.textToSpeech), (u = this._onError) == null || u.call(this, o);\n }\n }, {\n key: \"getPermittedMessage\",\n value: function getPermittedMessage(e) {\n if (e) {\n var t = Re.extractErrorMessages(e);\n for (var _i13 = 0; _i13 < t.length; _i13 += 1) {\n var n = t[_i13];\n if (typeof n == \"string\") {\n if (this._displayServiceErrorMessages) return n;\n if (this._permittedErrorPrefixes) {\n var r = Re.checkPermittedErrorPrefixes(this._permittedErrorPrefixes, n);\n if (r) return r;\n }\n }\n }\n }\n }\n }, {\n key: \"removeError\",\n value: function removeError() {\n this.isLastMessageError() && b.getLastMessageElement(this.elementRef).remove();\n }\n }, {\n key: \"addLoadingMessage\",\n value: function addLoadingMessage() {\n var r;\n if (!this._displayLoadingMessage) return;\n var e = this.createMessageElements(\"\", b.AI_ROLE),\n t = e.outerContainer,\n i = e.bubbleElement;\n i.classList.add(\"loading-message-text\");\n var n = document.createElement(\"div\");\n n.classList.add(\"dots-flashing\"), i.appendChild(n), this.applyCustomStyles(e, b.AI_ROLE, !1, (r = this.messageStyles) == null ? void 0 : r.loading), mn.set(i, this.messageStyles), this.elementRef.appendChild(t), q.scrollToBottom(this.elementRef);\n }\n }, {\n key: \"populateIntroPanel\",\n value: function populateIntroPanel(e, t, i) {\n (e || t) && (this._introPanel = new di(e, t, i), this._introPanel._elementRef && (ee.apply(this, this._introPanel._elementRef), this.elementRef.appendChild(this._introPanel._elementRef)));\n }\n }, {\n key: \"addMultipleFiles\",\n value: function () {\n var _addMultipleFiles = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee111(e) {\n return _regeneratorRuntime().wrap(function _callee111$(_context111) {\n while (1) switch (_context111.prev = _context111.next) {\n case 0:\n return _context111.abrupt(\"return\", Promise.all((e || []).map(function (t) {\n return new Promise(function (i) {\n if (!t.type || t.type === \"any\") {\n var n = t.file.name || F.DEFAULT_FILE_NAME;\n i({\n name: n,\n type: \"any\",\n ref: t.file\n });\n } else {\n var _n3 = new FileReader();\n _n3.readAsDataURL(t.file), _n3.onload = function () {\n i({\n src: _n3.result,\n type: t.type,\n ref: t.file\n });\n };\n }\n });\n })));\n case 1:\n case \"end\":\n return _context111.stop();\n }\n }, _callee111);\n }));\n function addMultipleFiles(_x200) {\n return _addMultipleFiles.apply(this, arguments);\n }\n return addMultipleFiles;\n }() // WORK - update all message classes to use deep-chat prefix\n }, {\n key: \"clearMessages\",\n value: function clearMessages(e, t) {\n var n, r;\n var i = [];\n this.messageElementRefs.forEach(function (o) {\n var a = o.bubbleElement.classList;\n a.contains(\"loading-message-text\") || a.contains(me.MESSAGE_CLASS) ? i.push(o) : o.outerContainer.remove();\n }), Array.from(this.elementRef.children).forEach(function (o) {\n var l;\n var a = (l = o.children[0]) == null ? void 0 : l.children[0];\n a != null && a.classList.contains(\"error-message-text\") && o.remove();\n }), this.messageElementRefs = i, t !== !1 && ((n = this._introPanel) != null && n._elementRef && this._introPanel.display(), this.addIntroductoryMessage()), this.messages.splice(0, this.messages.length), this.textElementsToText.splice(0, this.textElementsToText.length), (r = this._onClearMessages) == null || r.call(this), delete e.sessionId;\n }\n }], [{\n key: \"getDisplayLoadingMessage\",\n value: function getDisplayLoadingMessage(e, t) {\n var _e$displayLoadingBubb;\n return t.websocket ? !1 : (_e$displayLoadingBubb = e.displayLoadingBubble) !== null && _e$displayLoadingBubb !== void 0 ? _e$displayLoadingBubb : !0;\n }\n }, {\n key: \"checkPermittedErrorPrefixes\",\n value: function checkPermittedErrorPrefixes(e, t) {\n for (var _i14 = 0; _i14 < e.length; _i14 += 1) if (t.startsWith(e[_i14])) return t;\n }\n }, {\n key: \"extractErrorMessages\",\n value: function extractErrorMessages(e) {\n return Array.isArray(e) ? e : e instanceof Error ? [e.message] : typeof e == \"string\" ? [e] : _typeof(e) == \"object\" && e.error ? [e.error] : [];\n }\n }]);\n}(ct);\nvar N = /*#__PURE__*/function () {\n function N() {\n _classCallCheck(this, N);\n }\n return _createClass(N, null, [{\n key: \"adjustInputPadding\",\n value: function adjustInputPadding(e, t) {\n t[\"inside-left\"].length > 0 && e.classList.add(\"text-input-inner-left-adjustment\"), t[\"inside-right\"].length > 0 && e.classList.add(\"text-input-inner-right-adjustment\");\n }\n }, {\n key: \"adjustForOutsideButton\",\n value: function adjustForOutsideButton(e, t, i) {\n i[\"outside-right\"].length === 0 && i[\"outside-left\"].length > 0 ? (e[0].classList.add(N.INPUT_OUTSIDE_LEFT_SMALL_ADJUSTMENT_CLASS), t.classList.add(N.INPUT_OUTSIDE_LEFT_SMALL_ADJUSTMENT_CLASS)) : i[\"outside-left\"].length === 0 && i[\"outside-right\"].length > 0 && (e[3].classList.add(N.INPUT_OUTSIDE_RIGHT_SMALL_ADJUSTMENT_CLASS), t.classList.add(N.INPUT_OUTSIDE_RIGHT_SMALL_ADJUSTMENT_CLASS));\n }\n // when submit is the only button\n // when submit button is outside by itself - we increase the height for a better look\n }, {\n key: \"adjustOutsideSubmit\",\n value: function adjustOutsideSubmit(e, t, i) {\n if (!(i[\"inside-left\"].length > 0 || i[\"inside-right\"].length > 0)) {\n if (i[\"outside-right\"].length === 0 && i[\"outside-left\"].length > 0) return e[0].classList.add(N.INPUT_OUTSIDE_LEFT_ADJUSTMENT_CLASS), t.classList.add(N.INPUT_OUTSIDE_LEFT_ADJUSTMENT_CLASS), i[\"outside-left\"].map(function (n) {\n return n.button.elementRef.classList.add(\"submit-button-enlarged\");\n });\n if (i[\"outside-left\"].length === 0 && i[\"outside-right\"].length > 0) return e[3].classList.add(N.INPUT_OUTSIDE_RIGHT_ADJUSTMENT_CLASS), t.classList.add(N.INPUT_OUTSIDE_RIGHT_ADJUSTMENT_CLASS), i[\"outside-right\"].map(function (n) {\n return n.button.elementRef.classList.add(\"submit-button-enlarged\");\n });\n }\n }\n }, {\n key: \"set\",\n value: function set(e, t, i, n) {\n !!N.adjustOutsideSubmit(t, i, n) || N.adjustForOutsideButton(t, i, n), N.adjustInputPadding(e, n);\n }\n }]);\n}();\nN.INPUT_OUTSIDE_LEFT_ADJUSTMENT_CLASS = \"text-input-container-left-adjustment\", N.INPUT_OUTSIDE_RIGHT_ADJUSTMENT_CLASS = \"text-input-container-right-adjustment\", N.INPUT_OUTSIDE_LEFT_SMALL_ADJUSTMENT_CLASS = \"text-input-container-left-small-adjustment\", N.INPUT_OUTSIDE_RIGHT_SMALL_ADJUSTMENT_CLASS = \"text-input-container-right-small-adjustment\";\nvar an = N;\nvar pt = /*#__PURE__*/function () {\n function pt() {\n _classCallCheck(this, pt);\n }\n return _createClass(pt, null, [{\n key: \"create\",\n value: function create() {\n return Array.from({\n length: 4\n }).map(function (e, t) {\n var i = document.createElement(\"div\");\n return i.classList.add(\"input-button-container\"), (t === 0 || t === 3) && i.classList.add(\"outer-button-container\"), (t === 1 || t === 2) && i.classList.add(\"inner-button-container\"), i;\n });\n }\n }, {\n key: \"add\",\n value: function add(e, t) {\n e.insertBefore(t[1], e.firstChild), e.insertBefore(t[0], e.firstChild), e.appendChild(t[2]), e.appendChild(t[3]);\n }\n }, {\n key: \"getContainerIndex\",\n value: function getContainerIndex(e) {\n return e === \"outside-left\" ? 0 : e === \"inside-left\" ? 1 : e === \"inside-right\" ? 2 : 3;\n }\n }, {\n key: \"addButton\",\n value: function addButton(e, t, i) {\n t.classList.add(i);\n var n = pt.getContainerIndex(i);\n e[n].appendChild(t), n === 3 && t.classList.add(\"outside-right\");\n }\n }]);\n}();\nvar Dn = [\"camera\", \"gifs\", \"images\", \"audio\", \"mixedFiles\", \"submit\", \"microphone\"];\nvar K = /*#__PURE__*/function () {\n function K() {\n _classCallCheck(this, K);\n }\n return _createClass(K, null, [{\n key: \"createTextElement\",\n value: function createTextElement(e) {\n var t = document.createElement(\"div\");\n return t.classList.add(\"text-button\"), t.innerText = e, t;\n }\n }, {\n key: \"createElement\",\n value: function createElement(e, t) {\n return t ? K.createTextElement(e) : ie.createSVGElement(e);\n }\n }, {\n key: \"createCustomElement\",\n value: function createCustomElement(e, t) {\n var n, r, o, a;\n var i = t == null ? void 0 : t[e];\n if ((n = i == null ? void 0 : i.svg) != null && n.content) return K.createElement((r = i == null ? void 0 : i.svg) == null ? void 0 : r.content, !1);\n if ((o = i == null ? void 0 : i.text) != null && o.content) return K.createElement((a = i == null ? void 0 : i.text) == null ? void 0 : a.content, !0);\n }\n }, {\n key: \"processElement\",\n value: function processElement(e, t) {\n t != null && t.classList.contains(\"text-button\") || e.classList.add(\"input-button-svg\");\n }\n // publicly used for creating elements that do not change state in a sequence\n // prettier-ignore\n }, {\n key: \"createSpecificStateElement\",\n value: function createSpecificStateElement(e, t, i) {\n var n;\n return i && (n = K.createCustomElement(t, i)), K.processElement(e, n), n;\n }\n // https://github.com/OvidijusParsiunas/deep-chat/issues/175\n // isDropup here is only determined by the user and not when moved to dropup automatically\n // prettier-ignore\n }, {\n key: \"createInnerElement\",\n value: function createInnerElement(e, t, i, n) {\n var r = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : !1;\n var o, a;\n return r && !((a = (o = n == null ? void 0 : n[i]) == null ? void 0 : o.svg) != null && a.content) ? t : K.createSpecificStateElement(e, i, n) || t;\n }\n }]);\n}();\nvar Oo = \"<?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?>\\n<svg viewBox=\\\"0 0 32 32\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n <path d=\\\"M16 0c-8.836 0-16 7.163-16 16s7.163 16 16 16c8.837 0 16-7.163 16-16s-7.163-16-16-16zM16 30.032c-7.72 0-14-6.312-14-14.032s6.28-14 14-14 14 6.28 14 14-6.28 14.032-14 14.032zM23 15h-6v-6c0-0.552-0.448-1-1-1s-1 0.448-1 1v6h-6c-0.552 0-1 0.448-1 1s0.448 1 1 1h6v6c0 0.552 0.448 1 1 1s1-0.448 1-1v-6h6c0.552 0 1-0.448 1-1s-0.448-1-1-1z\\\"></path>\\n</svg>\";\nvar fe = /*#__PURE__*/function () {\n function fe() {\n _classCallCheck(this, fe);\n }\n return _createClass(fe, null, [{\n key: \"unsetAllCSS\",\n value: function unsetAllCSS(e, t) {\n var i, n;\n t.container && M.unsetAllCSSMouseStates(e, t.container), (i = t.svg) != null && i.styles && M.unsetAllCSSMouseStates(e.children[0], t.svg.styles), (n = t.text) != null && n.styles && M.unsetAllCSSMouseStates(e.children[0], t.text.styles);\n }\n }, {\n key: \"unsetActionCSS\",\n value: function unsetActionCSS(e, t) {\n var i, n;\n t.container && M.unsetActivityCSSMouseStates(e, t.container), (i = t.svg) != null && i.styles && M.unsetActivityCSSMouseStates(e.children[0], t.svg.styles), (n = t.text) != null && n.styles && M.unsetActivityCSSMouseStates(e.children[0], t.text.styles);\n }\n }, {\n key: \"setElementsCSS\",\n value: function setElementsCSS(e, t, i) {\n var n, r, o, a, l;\n Object.assign(e.style, (n = t.container) == null ? void 0 : n[i]), Object.assign(e.children[0].style, (o = (r = t.svg) == null ? void 0 : r.styles) == null ? void 0 : o[i]), Object.assign(e.children[0].style, (l = (a = t.text) == null ? void 0 : a.styles) == null ? void 0 : l[i]);\n }\n }, {\n key: \"setElementCssUpToState\",\n value: function setElementCssUpToState(e, t, i) {\n fe.setElementsCSS(e, t, \"default\"), i !== \"default\" && (fe.setElementsCSS(e, t, \"hover\"), i !== \"hover\" && fe.setElementsCSS(e, t, \"click\"));\n }\n }]);\n}();\nvar jt = /*#__PURE__*/function () {\n function jt(e, t, i, n) {\n _classCallCheck(this, jt);\n this._mouseState = {\n state: \"default\"\n }, this.elementRef = e, this._customStyles = i, this.position = t, this.dropupText = n;\n }\n return _createClass(jt, [{\n key: \"buttonMouseLeave\",\n value: function buttonMouseLeave(e) {\n this._mouseState.state = \"default\", e && (fe.unsetAllCSS(this.elementRef, e), fe.setElementsCSS(this.elementRef, e, \"default\"));\n }\n }, {\n key: \"buttonMouseEnter\",\n value: function buttonMouseEnter(e) {\n this._mouseState.state = \"hover\", e && fe.setElementsCSS(this.elementRef, e, \"hover\");\n }\n }, {\n key: \"buttonMouseUp\",\n value: function buttonMouseUp(e) {\n e && fe.unsetActionCSS(this.elementRef, e), this.buttonMouseEnter(e);\n }\n }, {\n key: \"buttonMouseDown\",\n value: function buttonMouseDown(e) {\n this._mouseState.state = \"click\", e && fe.setElementsCSS(this.elementRef, e, \"click\");\n }\n // be careful not to use onclick as that is used for button functionality\n }, {\n key: \"setEvents\",\n value: function setEvents(e) {\n this.elementRef.onmousedown = this.buttonMouseDown.bind(this, e), this.elementRef.onmouseup = this.buttonMouseUp.bind(this, e), this.elementRef.onmouseenter = this.buttonMouseEnter.bind(this, e), this.elementRef.onmouseleave = this.buttonMouseLeave.bind(this, e);\n }\n }, {\n key: \"unsetCustomStateStyles\",\n value: function unsetCustomStateStyles(e) {\n if (this._customStyles) for (var t = 0; t < e.length; t += 1) {\n var _i15 = e[t],\n n = _i15 && this._customStyles[_i15];\n n && fe.unsetActionCSS(this.elementRef, n);\n }\n }\n }, {\n key: \"reapplyStateStyle\",\n value: function reapplyStateStyle(e, t) {\n if (!this._customStyles) return;\n t && this.unsetCustomStateStyles(t);\n var i = this._customStyles[e];\n i && fe.setElementCssUpToState(this.elementRef, i, this._mouseState.state), this.setEvents(i);\n }\n }]);\n}();\nvar Lt = /*#__PURE__*/function () {\n function Lt() {\n _classCallCheck(this, Lt);\n }\n return _createClass(Lt, null, [{\n key: \"focusItemWhenOnEdge\",\n value: function focusItemWhenOnEdge(e, t) {\n var i = t ? e.children[0] : e.children[e.children.length - 1];\n Lt.focusSiblingItem(i, e, t, !0);\n }\n // isEdgeItem means is it a start or end item\n // prettier-ignore\n }, {\n key: \"focusSiblingItem\",\n value: function focusSiblingItem(e, t, i) {\n var n = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : !1;\n var r = n ? e : e[i ? \"nextSibling\" : \"previousSibling\"];\n r ? (e.dispatchEvent(new MouseEvent(\"mouseleave\")), r.dispatchEvent(new MouseEvent(\"mouseenter\"))) : (e.dispatchEvent(new MouseEvent(\"mouseleave\")), Lt.focusItemWhenOnEdge(t, i));\n }\n }]);\n}();\nvar Fe = /*#__PURE__*/function () {\n function Fe() {\n _classCallCheck(this, Fe);\n }\n return _createClass(Fe, null, [{\n key: \"addItemEvents\",\n value: function addItemEvents(e, t, i, n) {\n ze.add(t, n), t.addEventListener(\"click\", function () {\n i.click();\n }), t.addEventListener(\"mouseenter\", function (r) {\n e.highlightedItem = r.target;\n }), t.addEventListener(\"mouseleave\", function () {\n e.highlightedItem = void 0;\n });\n }\n }, {\n key: \"createItemText\",\n value: function createItemText(e, t) {\n var i = document.createElement(\"div\");\n return Object.assign(i.style, t), i.classList.add(\"dropup-menu-item-text\"), i.textContent = e || \"File\", i;\n }\n }, {\n key: \"createItemIcon\",\n value: function createItemIcon(e, t) {\n var i = document.createElement(\"div\");\n return Object.assign(i.style, t), i.classList.add(\"dropup-menu-item-icon\"), i.appendChild(e.children[0]), i;\n }\n }, {\n key: \"populateItem\",\n value: function populateItem(e, t, i, n) {\n var r = e.children[0];\n r.classList.contains(\"text-button\") ? t.appendChild(Fe.createItemText(r.textContent, n == null ? void 0 : n.text)) : (t.appendChild(Fe.createItemIcon(e, n == null ? void 0 : n.iconContainer)), t.appendChild(Fe.createItemText(i, n == null ? void 0 : n.text)));\n }\n // prettier-ignore\n }, {\n key: \"createItem\",\n value: function createItem(e, t, i) {\n var l;\n var n = t.elementRef,\n r = t.dropupText,\n o = document.createElement(\"div\");\n Object.assign(o.style, (l = i == null ? void 0 : i.item) == null ? void 0 : l[\"default\"]), Fe.populateItem(n, o, r, i), o.classList.add(\"dropup-menu-item\");\n var a = M.processStateful((i == null ? void 0 : i.item) || {}, {\n backgroundColor: \"#f3f3f3\"\n }, {\n backgroundColor: \"#ebebeb\"\n });\n return Fe.addItemEvents(e, o, n, a), o;\n }\n }]);\n}();\nvar gn = /*#__PURE__*/function () {\n function gn(e, t) {\n var _this49 = this;\n _classCallCheck(this, gn);\n var i;\n this._isOpen = !0, this._styles = t, this.elementRef = gn.createElement((i = this._styles) == null ? void 0 : i.container), this.close(), setTimeout(function () {\n return _this49.addWindowEvents(e);\n });\n }\n return _createClass(gn, [{\n key: \"open\",\n value: function open() {\n this.elementRef.style.display = \"block\", this._isOpen = !0;\n }\n }, {\n key: \"close\",\n value: function close() {\n this._isOpen && (this.elementRef.style.display = \"none\", this._isOpen = !1);\n }\n }, {\n key: \"toggle\",\n value: function toggle() {\n this._isOpen ? this.close() : this.open();\n }\n }, {\n key: \"addItem\",\n value: function addItem(e) {\n var t = Fe.createItem(this, e, this._styles);\n this.elementRef.appendChild(t);\n }\n // prettier-ignore\n }, {\n key: \"addWindowEvents\",\n value: function addWindowEvents(e) {\n this.clickEvent = this.windowClick.bind(this, e), window.addEventListener(\"click\", this.clickEvent), this.keyDownEvent = this.windowKeyDown.bind(this, e), window.addEventListener(\"keydown\", this.keyDownEvent);\n }\n }, {\n key: \"windowClick\",\n value: function windowClick(e, t) {\n var i;\n !e.isConnected && this.clickEvent ? window.removeEventListener(\"click\", this.clickEvent) : e.parentElement !== ((i = t.target.shadowRoot) == null ? void 0 : i.children[0]) && this.close();\n }\n // prettier-ignore\n }, {\n key: \"windowKeyDown\",\n value: function windowKeyDown(e, t) {\n var i, n, r;\n !e.isConnected && this.keyDownEvent ? window.removeEventListener(\"keydown\", this.keyDownEvent) : this._isOpen && (t.key === P.ESCAPE ? (this.close(), (i = this.highlightedItem) == null || i.dispatchEvent(new MouseEvent(\"mouseleave\"))) : t.key === P.ENTER ? ((n = this.highlightedItem) == null || n.click(), (r = this.highlightedItem) == null || r.dispatchEvent(new MouseEvent(\"mouseleave\"))) : t.key === P.ARROW_DOWN ? Lt.focusSiblingItem(this.highlightedItem || this.elementRef.children[this.elementRef.children.length - 1], this.elementRef, !0) : t.key === P.ARROW_UP && Lt.focusSiblingItem(this.highlightedItem || this.elementRef.children[0], this.elementRef, !1));\n }\n }], [{\n key: \"createElement\",\n value: function createElement(e) {\n var t = document.createElement(\"div\");\n return t.id = \"dropup-menu\", Object.assign(t.style, e), t;\n }\n }]);\n}();\nvar dt = /*#__PURE__*/function (_jt) {\n function dt(e, t) {\n var _this50;\n _classCallCheck(this, dt);\n var n;\n _this50 = _callSuper(this, dt, [dt.createButtonElement(), void 0, {\n styles: (n = t == null ? void 0 : t.button) == null ? void 0 : n.styles\n }]);\n var i = _this50.createInnerElements(_this50._customStyles);\n _this50._menu = new gn(e, t == null ? void 0 : t.menu), _this50.addClickEvent(), _this50.buttonContainer = dt.createButtonContainer(), _this50.elementRef.appendChild(i.styles), _this50.buttonContainer.appendChild(_this50.elementRef), _this50.elementRef.classList.add(\"dropup-icon\", \"upload-file-button\"), _this50.elementRef.children[0].id = \"dropup-icon\", _this50.buttonContainer.appendChild(_this50._menu.elementRef), _this50.reapplyStateStyle(\"styles\"), _this50.addContainerEvents(e);\n return _this50;\n }\n _inherits(dt, _jt);\n return _createClass(dt, [{\n key: \"createInnerElements\",\n value: function createInnerElements(e) {\n return {\n styles: this.createInnerElement(dt.createSVGIconElement(), \"styles\", e)\n };\n }\n }, {\n key: \"createInnerElement\",\n value: function createInnerElement(e, t, i) {\n return K.createSpecificStateElement(this.elementRef, t, i) || e;\n }\n }, {\n key: \"addClickEvent\",\n value: function addClickEvent() {\n this.elementRef.onclick = this._menu.toggle.bind(this._menu);\n }\n }, {\n key: \"addItem\",\n value: function addItem(e) {\n this._menu.addItem(e);\n }\n }, {\n key: \"addContainerEvents\",\n value: function addContainerEvents(e) {\n var _this51 = this;\n e.addEventListener(\"click\", function (t) {\n t.target.classList.contains(\"dropup-icon\") || _this51._menu.close();\n });\n }\n }], [{\n key: \"createButtonElement\",\n value: function createButtonElement() {\n var e = document.createElement(\"div\");\n return e.classList.add(\"input-button\"), e;\n }\n }, {\n key: \"createSVGIconElement\",\n value: function createSVGIconElement() {\n return ie.createSVGElement(Oo);\n }\n }, {\n key: \"createButtonContainer\",\n value: function createButtonContainer() {\n var e = document.createElement(\"div\");\n return e.id = \"dropup-container\", e;\n }\n }, {\n key: \"getPosition\",\n value: function getPosition(e, t) {\n var i, n;\n return (i = t == null ? void 0 : t.button) != null && i.position ? (n = t == null ? void 0 : t.button) == null ? void 0 : n.position : e[\"outside-left\"].length > 0 && e[\"outside-right\"].length === 0 ? \"outside-right\" : \"outside-left\";\n }\n }]);\n}(jt);\nvar G = /*#__PURE__*/function () {\n function G() {\n _classCallCheck(this, G);\n }\n return _createClass(G, null, [{\n key: \"addToDropup\",\n value:\n // prettier-ignore\n function addToDropup(e, t, i, n) {\n var r = new dt(i, n);\n Dn.forEach(function (a) {\n var l = t[\"dropup-menu\"].findIndex(function (d) {\n return d.buttonType === a;\n }),\n c = t[\"dropup-menu\"][l];\n c && (r.addItem(c.button), t[\"dropup-menu\"].splice(l, 1));\n });\n var o = dt.getPosition(t, n);\n pt.addButton(e, r.buttonContainer, o), t[o].push({});\n }\n }, {\n key: \"addToSideContainer\",\n value: function addToSideContainer(e, t) {\n [\"inside-left\", \"inside-right\", \"outside-left\", \"outside-right\"].forEach(function (n) {\n var r = n;\n t[r].forEach(function (o) {\n pt.addButton(e, o.button.elementRef, r);\n });\n });\n }\n }, {\n key: \"setPosition\",\n value: function setPosition(e, t, i) {\n var n = _objectSpread(_objectSpread({}, e[t]), {}, {\n buttonType: t\n });\n i.push(n), delete e[t];\n }\n }, {\n key: \"createPositionsObj\",\n value: function createPositionsObj() {\n return {\n \"dropup-menu\": [],\n \"outside-left\": [],\n \"inside-left\": [],\n \"inside-right\": [],\n \"outside-right\": []\n };\n }\n // prettier-ignore\n }, {\n key: \"generatePositions\",\n value: function generatePositions(e) {\n var t = G.createPositionsObj();\n Object.keys(e).forEach(function (n) {\n var o;\n var r = (o = e[n]) == null ? void 0 : o.button.position;\n r && G.setPosition(e, n, t[r]);\n }), t[\"inside-right\"].length === 0 && e.submit && G.setPosition(e, \"submit\", t[\"inside-right\"]), t[\"outside-right\"].length === 0 && (e.submit ? G.setPosition(e, \"submit\", t[\"outside-right\"]) : e.microphone ? G.setPosition(e, \"microphone\", t[\"outside-right\"]) : e.camera && G.setPosition(e, \"camera\", t[\"outside-right\"])), e.submit && G.setPosition(e, \"submit\", t[\"outside-left\"].length === 0 ? t[\"outside-left\"] : t[\"inside-right\"]), e.microphone && G.setPosition(e, \"microphone\", t[\"outside-left\"].length === 0 ? t[\"outside-left\"] : t[\"inside-right\"]);\n var i = Object.keys(e);\n return i.length > 1 || t[\"dropup-menu\"].length > 0 ? Dn.forEach(function (n) {\n e[n] && t[\"dropup-menu\"].push(_objectSpread(_objectSpread({}, e[n]), {}, {\n buttonType: n\n }));\n }) : i.length === 1 && G.setPosition(e, i[0], t[\"outside-right\"].length === 0 ? t[\"outside-right\"] : t[\"outside-left\"]), t;\n }\n // prettier-ignore\n }, {\n key: \"addButtons\",\n value: function addButtons(e, t, i, n) {\n var r = G.generatePositions(t);\n return G.addToSideContainer(e, r), r[\"dropup-menu\"].length > 0 && G.addToDropup(e, r, i, n), r;\n }\n }]);\n}();\nvar No = \"<?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?>\\n<svg viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n<title>file</title>\\n<path d=\\\"M20 10.9696L11.9628 18.5497C10.9782 19.4783 9.64274 20 8.25028 20C6.85782 20 5.52239 19.4783 4.53777 18.5497C3.55315 17.6211 3 16.3616 3 15.0483C3 13.7351 3.55315 12.4756 4.53777 11.547L12.575 3.96687C13.2314 3.34779 14.1217 3 15.05 3C15.9783 3 16.8686 3.34779 17.525 3.96687C18.1814 4.58595 18.5502 5.4256 18.5502 6.30111C18.5502 7.17662 18.1814 8.01628 17.525 8.63535L9.47904 16.2154C9.15083 16.525 8.70569 16.6989 8.24154 16.6989C7.77738 16.6989 7.33224 16.525 7.00403 16.2154C6.67583 15.9059 6.49144 15.4861 6.49144 15.0483C6.49144 14.6106 6.67583 14.1907 7.00403 13.8812L14.429 6.88674\\\" stroke=\\\"#000000\\\" stroke-width=\\\"1.5\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"/>\\n</svg>\",\n Do = \"<?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?>\\n<svg viewBox=\\\"0 0 24 24\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n <path d=\\\"M20,15.2928932 L20,5.5 C20,4.67157288 19.3284271,4 18.5,4 L5.5,4 C4.67157288,4 4,4.67157288 4,5.5 L4,12.2928932 L7.14644661,9.14644661 C7.34170876,8.95118446 7.65829124,8.95118446 7.85355339,9.14644661 L13.5,14.7928932 L16.1464466,12.1464466 C16.3417088,11.9511845 16.6582912,11.9511845 16.8535534,12.1464466 L20,15.2928932 Z M20,16.7071068 L16.5,13.2071068 L13.8535534,15.8535534 C13.6582912,16.0488155 13.3417088,16.0488155 13.1464466,15.8535534 L7.5,10.2071068 L4,13.7071068 L4,18.5 C4,19.3284271 4.67157288,20 5.5,20 L18.5,20 C19.3284271,20 20,19.3284271 20,18.5 L20,16.7071068 Z M3,5.5 C3,4.11928813 4.11928813,3 5.5,3 L18.5,3 C19.8807119,3 21,4.11928813 21,5.5 L21,18.5 C21,19.8807119 19.8807119,21 18.5,21 L5.5,21 C4.11928813,21 3,19.8807119 3,18.5 L3,5.5 Z M15,6 L17,6 C17.5522847,6 18,6.44771525 18,7 L18,9 C18,9.55228475 17.5522847,10 17,10 L15,10 C14.4477153,10 14,9.55228475 14,9 L14,7 C14,6.44771525 14.4477153,6 15,6 Z M15,7 L15,9 L17,9 L17,7 L15,7 Z\\\"/>\\n</svg>\\n\",\n Fo = \"<svg version=\\\"1.1\\\" id=\\\"Layer_1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" viewBox=\\\"-49.49 -49.49 593.87 593.87\\\" stroke-width=\\\"3.95908\\\" transform=\\\"rotate(0)\\\">\\n <g stroke-width=\\\"0\\\"></g>\\n <g stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\" stroke-width=\\\"0.98977\\\"></g>\\n <g>\\n <g>\\n <g>\\n <path d=\\\"M163.205,76.413v293.301c-3.434-3.058-7.241-5.867-11.486-8.339c-21.38-12.452-49.663-15.298-77.567-7.846 c-49.038,13.096-80.904,54.519-71.038,92.337c4.019,15.404,14.188,28.221,29.404,37.087c13.553,7.894,29.87,11.933,47.115,11.933 c9.962,0,20.231-1.356,30.447-4.087c42.74-11.406,72.411-44.344,72.807-77.654h0.011v-0.162c0.002-0.166,0-0.331,0-0.496V187.072 l290.971-67.3v178.082c-3.433-3.055-7.238-5.863-11.481-8.334c-21.385-12.452-49.654-15.308-77.567-7.846 c-49.038,13.087-80.904,54.519-71.038,92.356c4.019,15.385,14.183,28.212,29.404,37.067c13.548,7.894,29.875,11.933,47.115,11.933 c9.962,0,20.231-1.356,30.452-4.087c42.74-11.413,72.411-44.346,72.804-77.654h0.004v-0.065c0.003-0.236,0.001-0.469,0-0.704V0 L163.205,76.413z M104.999,471.779c-22.543,6.038-45.942,3.846-62.572-5.846c-10.587-6.163-17.591-14.817-20.255-25.038 c-7.144-27.375,18.452-58.029,57.062-68.346c8.409-2.25,16.938-3.346,25.188-3.346c13.87,0,26.962,3.115,37.389,9.192 c10.587,6.163,17.591,14.817,20.255,25.029c0.809,3.102,1.142,6.248,1.139,9.4v0.321h0.014 C162.99,437.714,139.082,462.678,104.999,471.779z M182.898,166.853V92.067l290.971-67.298v74.784L182.898,166.853z M415.677,399.923c-22.558,6.038-45.942,3.837-62.587-5.846c-10.587-6.163-17.587-14.817-20.25-25.019 c-7.144-27.385,18.452-58.058,57.058-68.365c8.414-2.25,16.942-3.346,25.192-3.346c13.875,0,26.962,3.115,37.385,9.192 c10.596,6.163,17.596,14.817,20.26,25.029v0.01c0.796,3.05,1.124,6.144,1.135,9.244v0.468h0.02 C473.668,365.851,449.763,390.814,415.677,399.923z\\\">\\n </path>\\n </g>\\n </g>\\n </g>\\n</svg>\",\n Bo = \"<?xml version=\\\"1.0\\\" encoding=\\\"UTF-8\\\" standalone=\\\"no\\\"?>\\n<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" version=\\\"1.1\\\" viewBox=\\\"0 0 5.9266752 5.6408391\\\" height=\\\"21.31971\\\" width=\\\"22.4\\\">\\n <g>\\n <path d=\\\"m 5.2564627,1.548212 c -3.1136005,-0.4796804 -1.5568006,-0.2398402 0,0 z M 2.0001198,2.0922063 c 0.1556781,0 0.2657489,0.020893 0.3917849,0.080366 0.081154,0.038347 0.1153492,0.134065 0.076377,0.2138602 -0.038973,0.07979 -0.1363527,0.1134129 -0.2175069,0.075091 -0.078199,-0.036919 -0.1407455,-0.048792 -0.250655,-0.048792 -0.2260486,0 -0.3921482,0.2042182 -0.3921482,0.4801409 0,0.2761822 0.1663188,0.4810688 0.3921482,0.4810688 0.1117901,0 0.2064255,-0.046133 0.255659,-0.1284198 l 0.00162,-0.00389 V 3.0534032 l -0.098011,1.75e-4 c -0.081844,0 -0.1495979,-0.059305 -0.1612403,-0.1365887 l -0.00175,-0.023683 c 0,-0.08047 0.060311,-0.1470874 0.1389194,-0.1585331 l 0.024085,-0.00195 h 0.2612303 c 0.081842,0 0.149598,0.059305 0.1612404,0.1365891 l 0.00175,0.023683 -3.398e-4,0.3968809 v 0 l -0.00168,0.014211 v 0 l -0.00553,0.023034 v 0 l -0.00532,0.014145 c -0.098178,0.22826 -0.3236506,0.3528713 -0.5706303,0.3528713 -0.4240855,0 -0.7181621,-0.3622714 -0.7181621,-0.8016063 0,-0.4391857 0.2940275,-0.8006848 0.7181621,-0.8006848 z m 1.2034759,0.031275 c 0.081843,0 0.1495977,0.059305 0.1612403,0.1365891 l 0.00175,0.023683 v 1.2211775 c 0,0.088516 -0.07298,0.1602721 -0.1630073,0.1602721 -0.081841,0 -0.1495972,-0.059305 -0.1612397,-0.1365892 L 3.040589,3.5049308 V 2.2837527 c 0,-0.088516 0.07298,-0.1602721 0.1630067,-0.1602714 z m 0.7813442,0 0.5209469,0.00195 c 0.090025,3.048e-4 0.1627543,0.072306 0.1624458,0.1608234 -2.809e-4,0.08047 -0.06083,0.1468798 -0.1394772,0.158066 l -0.024092,0.00195 -0.3575326,-0.0013 v 0.4497782 l 0.2928918,2.27e-4 c 0.081842,0 0.1495979,0.059305 0.1612403,0.136589 l 0.00175,0.023683 c 0,0.080469 -0.06031,0.1470871 -0.1389193,0.1585393 l -0.024092,0.00195 -0.2928919,-2.336e-4 1.563e-4,0.2860316 c 0,0.080471 -0.06031,0.1470873 -0.1389193,0.1585395 l -0.024085,0.00195 c -0.081843,0 -0.1495979,-0.059305 -0.1612403,-0.1365826 l -0.00175,-0.023691 V 2.2841354 c 2.798e-4,-0.08047 0.060829,-0.1468797 0.1394758,-0.1580594 z\\\"/>\\n <path d=\\\"m 5.0894191,1.0943261 c 0,-0.21918999 -0.177687,-0.39686999 -0.396876,-0.39686999 h -3.43959 c -0.2191879,0 -0.391262,0.1777519 -0.3968759,0.39686999 l -0.027082,3.4379266 c 0.040152,0.2939927 0.4235456,0.409415 0.4235456,0.409415 l 3.4785583,-0.00851 c 0,0 0.3008506,-0.1402998 0.3236271,-0.4201576 0.042911,-0.5272495 0.034693,-1.6106146 0.034693,-3.4186761 z m -4.49792494,0 c 0,-0.36530999 0.29614504,-0.66145999 0.66145894,-0.66145999 h 3.43959 c 0.365314,0 0.66146,0.29615 0.66146,0.66145999 v 3.43959 c 0,0.36532 -0.296146,0.66146 -0.66146,0.66146 h -3.43959 c -0.3653139,0 -0.66145894,-0.29614 -0.66145894,-0.66146 z\\\"/>\\n </g>\\n</svg>\\n\",\n jo = {\n images: {\n id: \"upload-images-icon\",\n svgString: Do,\n dropupText: \"Image\"\n },\n gifs: {\n id: \"upload-gifs-icon\",\n svgString: Bo,\n dropupText: \"GIF\"\n },\n audio: {\n id: \"upload-audio-icon\",\n svgString: Fo,\n dropupText: \"Audio\"\n },\n mixedFiles: {\n id: \"upload-mixed-files-icon\",\n svgString: No,\n dropupText: \"File\"\n }\n },\n Uo = \"<?xml version=\\\"1.0\\\" encoding=\\\"iso-8859-1\\\"?>\\n<svg height=\\\"1.4em\\\" width=\\\"1.4em\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\"\\n\\t viewBox=\\\"0 0 490.9 490.9\\\" xml:space=\\\"preserve\\\">\\n\\t<g>\\n\\t\\t<g>\\n\\t\\t\\t<path d=\\\"M245.5,322.9c53,0,96.2-43.2,96.2-96.2V96.2c0-53-43.2-96.2-96.2-96.2s-96.2,43.2-96.2,96.2v130.5\\n\\t\\t\\t\\tC149.3,279.8,192.5,322.9,245.5,322.9z M173.8,96.2c0-39.5,32.2-71.7,71.7-71.7s71.7,32.2,71.7,71.7v130.5\\n\\t\\t\\t\\tc0,39.5-32.2,71.7-71.7,71.7s-71.7-32.2-71.7-71.7V96.2z\\\"/>\\n\\t\\t\\t<path d=\\\"M94.4,214.5c-6.8,0-12.3,5.5-12.3,12.3c0,85.9,66.7,156.6,151.1,162.8v76.7h-63.9c-6.8,0-12.3,5.5-12.3,12.3\\n\\t\\t\\t\\ts5.5,12.3,12.3,12.3h152.3c6.8,0,12.3-5.5,12.3-12.3s-5.5-12.3-12.3-12.3h-63.9v-76.7c84.4-6.3,151.1-76.9,151.1-162.8\\n\\t\\t\\t\\tc0-6.8-5.5-12.3-12.3-12.3s-12.3,5.5-12.3,12.3c0,76.6-62.3,138.9-138.9,138.9s-138.9-62.3-138.9-138.9\\n\\t\\t\\t\\tC106.6,220,101.2,214.5,94.4,214.5z\\\"/>\\n\\t\\t</g>\\n\\t</g>\\n</svg>\\n\";\nvar Pt = /*#__PURE__*/function (_jt2) {\n function Pt(e) {\n var _this52;\n _classCallCheck(this, Pt);\n (e == null ? void 0 : e.position) === \"dropup-menu\" && (e.position = \"outside-right\"), _this52 = _callSuper(this, Pt, [Pt.createMicrophoneElement(), e == null ? void 0 : e.position, e]), _this52.isActive = !1, _this52._innerElements = _this52.createInnerElements(_this52._customStyles), _this52.changeToDefault();\n return _this52;\n }\n _inherits(Pt, _jt2);\n return _createClass(Pt, [{\n key: \"createInnerElements\",\n value: function createInnerElements(e) {\n var t = Pt.createSVGIconElement();\n return {\n \"default\": this.createInnerElement(t, \"default\", e),\n active: this.createInnerElement(t, \"active\", e),\n unsupported: this.createInnerElement(t, \"unsupported\", e),\n commandMode: this.createInnerElement(t, \"commandMode\", e)\n };\n }\n // prettier-ignore\n }, {\n key: \"createInnerElement\",\n value: function createInnerElement(e, t, i) {\n return K.createSpecificStateElement(this.elementRef, t, i) || e;\n }\n }, {\n key: \"changeToActive\",\n value: function changeToActive() {\n this.elementRef.replaceChildren(this._innerElements.active), this.toggleIconFilter(\"active\"), this.reapplyStateStyle(\"active\", [\"default\", \"commandMode\"]), this.isActive = !0;\n }\n }, {\n key: \"changeToDefault\",\n value: function changeToDefault() {\n this.elementRef.replaceChildren(this._innerElements[\"default\"]), this.toggleIconFilter(\"default\"), this.reapplyStateStyle(\"default\", [\"active\", \"commandMode\"]), this.isActive = !1;\n }\n }, {\n key: \"changeToCommandMode\",\n value: function changeToCommandMode() {\n this.elementRef.replaceChildren(this._innerElements.unsupported), this.toggleIconFilter(\"command\"), this.reapplyStateStyle(\"commandMode\", [\"active\"]);\n }\n }, {\n key: \"changeToUnsupported\",\n value: function changeToUnsupported() {\n this.elementRef.replaceChildren(this._innerElements.unsupported), this.elementRef.classList.add(\"unsupported-microphone\"), this.reapplyStateStyle(\"unsupported\", [\"active\"]);\n }\n }, {\n key: \"toggleIconFilter\",\n value: function toggleIconFilter(e) {\n var t = this.elementRef.children[0];\n if (t.tagName.toLocaleLowerCase() === \"svg\") switch (e) {\n case \"default\":\n t.classList.remove(\"active-microphone-icon\", \"command-microphone-icon\"), t.classList.add(\"default-microphone-icon\");\n break;\n case \"active\":\n t.classList.remove(\"default-microphone-icon\", \"command-microphone-icon\"), t.classList.add(\"active-microphone-icon\");\n break;\n case \"command\":\n t.classList.remove(\"active-microphone-icon\", \"default-microphone-icon\"), t.classList.add(\"command-microphone-icon\");\n break;\n }\n }\n }], [{\n key: \"createMicrophoneElement\",\n value: function createMicrophoneElement() {\n var e = document.createElement(\"div\");\n return e.id = \"microphone-button\", e.classList.add(\"input-button\"), e;\n }\n }, {\n key: \"createSVGIconElement\",\n value: function createSVGIconElement() {\n var e = ie.createSVGElement(Uo);\n return e.id = \"microphone-icon\", e;\n }\n }]);\n}(jt);\nvar ds = {},\n wi = {},\n Ti = {},\n Ut = {},\n Qe = {};\nObject.defineProperty(Qe, \"__esModule\", {\n value: !0\n});\nQe.Text = void 0;\nvar Oe = /*#__PURE__*/function () {\n function Oe() {\n _classCallCheck(this, Oe);\n }\n return _createClass(Oe, null, [{\n key: \"capitalize\",\n value: function capitalize(e) {\n return e.replace(Oe.FIRST_CHAR_REGEX, function (t) {\n return t.toUpperCase();\n });\n }\n }, {\n key: \"lineBreak\",\n value: function lineBreak(e) {\n return e.replace(Oe.DOUBLE_LINE, \"<p></p>\").replace(Oe.ONE_LINE, \"<br>\");\n }\n }, {\n key: \"isCharDefined\",\n value: function isCharDefined(e) {\n return e !== void 0 && e !== \" \" && e !== \" \" && e !== \"\\n\" && e !== \"\";\n }\n // WORK - can optimize to not not have to do it multiple times\n }, {\n key: \"breakupIntoWordsArr\",\n value: function breakupIntoWordsArr(e) {\n return e.split(/(\\W+)/);\n }\n }]);\n}();\nQe.Text = Oe;\nOe.FIRST_CHAR_REGEX = /\\S/;\nOe.DOUBLE_LINE = /\\n\\n/g;\nOe.ONE_LINE = /\\n/g;\nObject.defineProperty(Ut, \"__esModule\", {\n value: !0\n});\nUt.Translate = void 0;\nvar Ho = Qe;\nvar qo = /*#__PURE__*/function () {\n function qo() {\n _classCallCheck(this, qo);\n }\n return _createClass(qo, null, [{\n key: \"translate\",\n value: function translate(e, t) {\n var i = Ho.Text.breakupIntoWordsArr(e);\n for (var n = 0; n < i.length; n += 1) t[i[n]] && (i[n] = t[i[n]]);\n return i.join(\"\");\n }\n }]);\n}();\nUt.Translate = qo;\nObject.defineProperty(Ti, \"__esModule\", {\n value: !0\n});\nTi.WebSpeechTranscript = void 0;\nvar Fn = Ut;\nvar zo = /*#__PURE__*/function () {\n function zo() {\n _classCallCheck(this, zo);\n }\n return _createClass(zo, null, [{\n key: \"extract\",\n value: function extract(e, t, i) {\n var n = \"\";\n for (var r = e.resultIndex; r < e.results.length; ++r) {\n var o = e.results[r][0].transcript;\n i && (o = Fn.Translate.translate(o, i)), e.results[r].isFinal ? t += o : n += o;\n }\n return {\n interimTranscript: n,\n finalTranscript: t,\n newText: n || t\n };\n }\n }, {\n key: \"extractSafari\",\n value: function extractSafari(e, t, i) {\n var n = \"\";\n var r = \"\";\n for (var o = e.resultIndex; o < e.results.length; ++o) {\n var a = e.results[o][0].transcript;\n i && (a = Fn.Translate.translate(a, i)), n += a;\n }\n return {\n interimTranscript: r,\n finalTranscript: n,\n newText: r || n\n };\n }\n }]);\n}();\nTi.WebSpeechTranscript = zo;\nvar mt = {};\nObject.defineProperty(mt, \"__esModule\", {\n value: !0\n});\nmt.Browser = void 0;\nvar vt = /*#__PURE__*/_createClass(function vt() {\n _classCallCheck(this, vt);\n});\nmt.Browser = vt;\nvt.IS_SAFARI = function () {\n return vt._IS_SAFARI === void 0 && (vt._IS_SAFARI = /^((?!chrome|android).)*safari/i.test(navigator.userAgent)), vt._IS_SAFARI;\n};\nvar Ht = {},\n Ci = {};\nObject.defineProperty(Ci, \"__esModule\", {\n value: !0\n});\nCi.EventListeners = void 0;\nvar oe = /*#__PURE__*/function () {\n function oe() {\n _classCallCheck(this, oe);\n }\n return _createClass(oe, null, [{\n key: \"getElementIfFocusedOnAvailable\",\n value: function getElementIfFocusedOnAvailable(e, t) {\n return Array.isArray(e) ? e.find(function (i) {\n return t === i;\n }) : t === e ? e : void 0;\n }\n }, {\n key: \"keyDownWindow\",\n value: function keyDownWindow(e) {\n var _this53 = this;\n e.element && oe.getElementIfFocusedOnAvailable(e.element, document.activeElement) && (oe.KEY_DOWN_TIMEOUT !== null && clearTimeout(oe.KEY_DOWN_TIMEOUT), oe.KEY_DOWN_TIMEOUT = setTimeout(function () {\n oe.KEY_DOWN_TIMEOUT = null, _this53.resetRecording(e);\n }, 500));\n }\n }, {\n key: \"mouseDownWindow\",\n value: function mouseDownWindow(e, t) {\n this.mouseDownElement = oe.getElementIfFocusedOnAvailable(e, t.target);\n }\n }, {\n key: \"mouseUpWindow\",\n value: function mouseUpWindow(e) {\n this.mouseDownElement && this.resetRecording(e), this.mouseDownElement = void 0;\n }\n }, {\n key: \"add\",\n value: function add(e, t) {\n var i = (t == null ? void 0 : t.insertInCursorLocation) === void 0 || (t == null ? void 0 : t.insertInCursorLocation);\n t != null && t.element && i && (e.mouseDownEvent = oe.mouseDownWindow.bind(e, t.element), document.addEventListener(\"mousedown\", e.mouseDownEvent), e.mouseUpEvent = oe.mouseUpWindow.bind(e, t), document.addEventListener(\"mouseup\", e.mouseUpEvent), e.keyDownEvent = oe.keyDownWindow.bind(e, t), document.addEventListener(\"keydown\", e.keyDownEvent));\n }\n }, {\n key: \"remove\",\n value: function remove(e) {\n document.removeEventListener(\"mousedown\", e.mouseDownEvent), document.removeEventListener(\"mouseup\", e.mouseUpEvent), document.removeEventListener(\"keydown\", e.keyDownEvent);\n }\n }]);\n}();\nCi.EventListeners = oe;\noe.KEY_DOWN_TIMEOUT = null;\nvar ki = {};\nObject.defineProperty(ki, \"__esModule\", {\n value: !0\n});\nki.PreResultUtils = void 0;\nvar Vo = /*#__PURE__*/function () {\n function Vo() {\n _classCallCheck(this, Vo);\n }\n return _createClass(Vo, null, [{\n key: \"process\",\n value: function process(e, t, i, n, r) {\n var o = n == null ? void 0 : n(t, i);\n return o ? (setTimeout(function () {\n o.restart ? e.resetRecording(r) : o.stop && e.stop();\n }), (o.stop || o.restart) && o.removeNewText) : !1;\n }\n }]);\n}();\nki.PreResultUtils = Vo;\nvar qt = {},\n zt = {};\nObject.defineProperty(zt, \"__esModule\", {\n value: !0\n});\nzt.AutoScroll = void 0;\nvar bn = /*#__PURE__*/function () {\n function bn() {\n _classCallCheck(this, bn);\n }\n return _createClass(bn, null, [{\n key: \"changeStateIfNeeded\",\n value: function changeStateIfNeeded(e, t) {\n t && !e.isCursorAtEnd && (e.endPadding = \"\", e.scrollingSpan.innerHTML = \" \");\n }\n }, {\n key: \"scrollGeneric\",\n value: function scrollGeneric(e, t) {\n e.isCursorAtEnd ? t.scrollTop = t.scrollHeight : e.scrollingSpan.scrollIntoView({\n block: \"nearest\"\n });\n }\n // primitives don't need to be scrolled except in safari\n // they can only safely be scrolled to the end\n }, {\n key: \"scrollSafariPrimitiveToEnd\",\n value: function scrollSafariPrimitiveToEnd(e) {\n e.scrollLeft = e.scrollWidth, e.scrollTop = e.scrollHeight;\n }\n }, {\n key: \"isElementOverflown\",\n value: function isElementOverflown(e) {\n return e.scrollHeight > e.clientHeight || e.scrollWidth > e.clientWidth;\n }\n }, {\n key: \"isRequired\",\n value: function isRequired(e, t) {\n return e && bn.isElementOverflown(t);\n }\n }]);\n}();\nzt.AutoScroll = bn;\nvar et = {};\nObject.defineProperty(et, \"__esModule\", {\n value: !0\n});\net.Elements = void 0;\nvar Go = /*#__PURE__*/function () {\n function Go() {\n _classCallCheck(this, Go);\n }\n return _createClass(Go, null, [{\n key: \"isPrimitiveElement\",\n value: function isPrimitiveElement(e) {\n return e.tagName === \"INPUT\" || e.tagName === \"TEXTAREA\";\n }\n }, {\n key: \"createInterimSpan\",\n value: function createInterimSpan() {\n var e = document.createElement(\"span\");\n return e.style.color = \"grey\", e.style.pointerEvents = \"none\", e;\n }\n }, {\n key: \"createGenericSpan\",\n value: function createGenericSpan() {\n var e = document.createElement(\"span\");\n return e.style.pointerEvents = \"none\", e;\n }\n }, {\n key: \"appendSpans\",\n value: function appendSpans(e, t) {\n if (e.spansPopulated = !0, e.insertInCursorLocation && document.activeElement === t) {\n var _i16 = window.getSelection();\n if (_i16 != null && _i16.focusNode) {\n var n = _i16.getRangeAt(0);\n n.insertNode(e.scrollingSpan), n.insertNode(e.interimSpan), n.insertNode(e.finalSpan), n.collapse(!1), _i16.removeAllRanges(), _i16.addRange(n);\n return;\n }\n }\n t.appendChild(e.finalSpan), t.appendChild(e.interimSpan), t.appendChild(e.scrollingSpan);\n }\n }, {\n key: \"applyCustomColors\",\n value: function applyCustomColors(e, t) {\n t.interim && (e.interimSpan.style.color = t.interim), t[\"final\"] && (e.finalSpan.style.color = t[\"final\"]);\n }\n }, {\n key: \"isInsideShadowDOM\",\n value: function isInsideShadowDOM(e) {\n return e.getRootNode() instanceof ShadowRoot;\n }\n }]);\n}();\net.Elements = Go;\nvar tt = {};\nObject.defineProperty(tt, \"__esModule\", {\n value: !0\n});\ntt.Cursor = void 0;\nvar _t = /*#__PURE__*/function () {\n function _t() {\n _classCallCheck(this, _t);\n }\n return _createClass(_t, null, [{\n key: \"setOffsetForGeneric\",\n value: function setOffsetForGeneric(e, t) {\n var i = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;\n var n = 0;\n for (var r = 0; r < e.childNodes.length; r += 1) {\n var o = e.childNodes[r];\n if (o.childNodes.length > 0) {\n var a = _t.setOffsetForGeneric(o, t, i);\n if (a === -1) return -1;\n i += a;\n } else if (o.textContent !== null) {\n if (i + o.textContent.length > t) {\n var _a3 = document.createRange();\n _a3.setStart(o, t - i), _a3.collapse(!0);\n var l = window.getSelection();\n return l == null || l.removeAllRanges(), l == null || l.addRange(_a3), e.focus(), -1;\n }\n i += o.textContent.length, n += o.textContent.length;\n }\n }\n return n;\n }\n }, {\n key: \"focusEndOfGeneric\",\n value: function focusEndOfGeneric(e) {\n var t = document.createRange();\n t.selectNodeContents(e), t.collapse(!1);\n var i = window.getSelection();\n i && (i.removeAllRanges(), i.addRange(t));\n }\n }, {\n key: \"setOffsetForSafariGeneric\",\n value: function setOffsetForSafariGeneric(e, t) {\n var i = window.getSelection();\n if (i) {\n var n = _t.getGenericElementCursorOffset(e, i, !0);\n console.log(n), setTimeout(function () {}, 100), _t.setOffsetForGeneric(e, n + t);\n }\n }\n // set to automatically scroll to cursor (scroll does not work in Safari)\n }, {\n key: \"setOffsetForPrimitive\",\n value: function setOffsetForPrimitive(e, t, i) {\n i && e.blur(), e.setSelectionRange(t, t), e.focus();\n }\n // Scroll Input in Safari - does not work for TextArea and uses span which can have a different style\n // private static getCursorOffsetFromLeft(inputElement: HTMLInputElement, position: number) {\n // // Get the value of the input element up to the cursor position\n // const valueUpToCursor = inputElement.value.substring(0, position);\n // // Create a temporary span element to measure the width of the text\n // const tempSpan = document.createElement('span');\n // tempSpan.textContent = valueUpToCursor;\n // tempSpan.style.visibility = 'hidden';\n // tempSpan.style.position = 'absolute';\n // document.body.appendChild(tempSpan);\n // // Measure the width of the text up to the cursor position\n // const offsetWidth = tempSpan.offsetWidth;\n // const offsetHeight = tempSpan.offsetHeight;\n // // Clean up the temporary span element\n // document.body.removeChild(tempSpan);\n // return {left: offsetWidth, top: offsetHeight};\n // }\n }, {\n key: \"getGenericElementCursorOffset\",\n value: function getGenericElementCursorOffset(e, t, i) {\n var n = 0;\n if (t.rangeCount > 0) {\n var r = t.getRangeAt(0),\n o = r.cloneRange();\n o.selectNodeContents(e), i ? o.setEnd(r.startContainer, r.startOffset) : o.setEnd(r.endContainer, r.endOffset), n = o.toString().length;\n }\n return n;\n }\n }]);\n}();\ntt.Cursor = _t;\nObject.defineProperty(qt, \"__esModule\", {\n value: !0\n});\nqt.CommandUtils = void 0;\nvar Bn = zt,\n Wo = et,\n $o = mt,\n jn = tt,\n Un = Qe;\nvar se = /*#__PURE__*/function () {\n function se() {\n _classCallCheck(this, se);\n }\n return _createClass(se, null, [{\n key: \"processCommand\",\n value: function processCommand(e, t) {\n return (!t || !t.caseSensitive) && (e = e.toLowerCase()), (t == null ? void 0 : t.substrings) === !1 ? Un.Text.breakupIntoWordsArr(e) : e;\n }\n }, {\n key: \"process\",\n value: function process(e) {\n var t;\n return ((t = e.settings) === null || t === void 0 ? void 0 : t.caseSensitive) === !0 ? e : Object.keys(e).reduce(function (n, r) {\n var o = e[r];\n return n[r] = typeof o == \"string\" ? se.processCommand(o, e.settings) : o, n;\n }, {});\n }\n }, {\n key: \"toggleCommandModeOn\",\n value: function toggleCommandModeOn(e) {\n var t;\n e.isWaitingForCommand = !0, (t = e.onCommandModeTrigger) === null || t === void 0 || t.call(e, !0);\n }\n }, {\n key: \"toggleCommandModeOff\",\n value: function toggleCommandModeOff(e) {\n var t;\n e.isWaitingForCommand && ((t = e.onCommandModeTrigger) === null || t === void 0 || t.call(e, !1), e.isWaitingForCommand = !1);\n }\n }, {\n key: \"setText\",\n value: function setText(e, t, i, n) {\n se.toggleCommandModeOff(e), Wo.Elements.isPrimitiveElement(n) ? (n.value = i, e.isTargetInShadow || jn.Cursor.setOffsetForPrimitive(n, i.length, !0), $o.Browser.IS_SAFARI() && e.autoScroll && Bn.AutoScroll.scrollSafariPrimitiveToEnd(n)) : (n.textContent = i, e.isTargetInShadow || jn.Cursor.focusEndOfGeneric(n), setTimeout(function () {\n return Bn.AutoScroll.scrollGeneric(e, n);\n })), e.resetRecording(t);\n }\n }, {\n key: \"checkIfMatchesSubstring\",\n value: function checkIfMatchesSubstring(e, t) {\n return t.includes(e);\n }\n }, {\n key: \"checkIfMatchesWord\",\n value: function checkIfMatchesWord(e, t, i) {\n var n = e;\n for (var r = i.length - 1; r >= 0; r -= 1) {\n var o = r,\n a = n.length - 1;\n for (; i[o] === n[a] && a >= 0;) o -= 1, a -= 1;\n if (a < 0) return !0;\n }\n return !1;\n }\n // prettier-ignore\n }, {\n key: \"execCommand\",\n value: function execCommand(e, t, i, n, r) {\n var o, a, l;\n var c = e.commands;\n if (!c || !n || !i) return;\n var d = ((o = c.settings) === null || o === void 0 ? void 0 : o.caseSensitive) === !0 ? t : t.toLowerCase(),\n h = Un.Text.breakupIntoWordsArr(d),\n u = ((a = c.settings) === null || a === void 0 ? void 0 : a.substrings) === !1 ? se.checkIfMatchesWord : se.checkIfMatchesSubstring;\n if (c.commandMode && u(c.commandMode, d, h)) return e.setInterimColorToFinal(), setTimeout(function () {\n return se.toggleCommandModeOn(e);\n }), {\n doNotProcessTranscription: !1\n };\n if (!(c.commandMode && !e.isWaitingForCommand)) {\n if (c.stop && u(c.stop, d, h)) return se.toggleCommandModeOff(e), setTimeout(function () {\n return e.stop();\n }), {\n doNotProcessTranscription: !1\n };\n if (c.pause && u(c.pause, d, h)) return se.toggleCommandModeOff(e), e.setInterimColorToFinal(), setTimeout(function () {\n var f;\n e.isPaused = !0, (f = e.onPauseTrigger) === null || f === void 0 || f.call(e, !0);\n }), {\n doNotProcessTranscription: !1\n };\n if (c.resume && u(c.resume, d, h)) return e.isPaused = !1, (l = e.onPauseTrigger) === null || l === void 0 || l.call(e, !1), se.toggleCommandModeOff(e), e.resetRecording(i), {\n doNotProcessTranscription: !0\n };\n if (c.reset && u(c.reset, d, h)) return r !== void 0 && se.setText(e, i, r, n), {\n doNotProcessTranscription: !0\n };\n if (c.removeAllText && u(c.removeAllText, d, h)) return se.setText(e, i, \"\", n), {\n doNotProcessTranscription: !0\n };\n }\n }\n }]);\n}();\nqt.CommandUtils = se;\nvar Ai = {};\nObject.defineProperty(Ai, \"__esModule\", {\n value: !0\n});\nAi.Highlight = void 0;\nvar Ko = et,\n bt = tt;\nvar hi = /*#__PURE__*/function () {\n function hi() {\n _classCallCheck(this, hi);\n }\n return _createClass(hi, null, [{\n key: \"setStateForPrimitive\",\n value: function setStateForPrimitive(e, t) {\n var i, n;\n t.selectionStart !== null && (i = t.selectionStart), t.selectionEnd !== null && (n = t.selectionEnd), e.isHighlighted = i !== n;\n }\n }, {\n key: \"setStateForGeneric\",\n value: function setStateForGeneric(e, t) {\n var i = window.getSelection();\n if (i != null && i.focusNode) {\n var n = bt.Cursor.getGenericElementCursorOffset(t, i, !0),\n r = bt.Cursor.getGenericElementCursorOffset(t, i, !1);\n e.isHighlighted = n !== r;\n }\n }\n }, {\n key: \"setState\",\n value: function setState(e, t) {\n document.activeElement === t && (Ko.Elements.isPrimitiveElement(t) ? hi.setStateForPrimitive(e, t) : hi.setStateForGeneric(e, t));\n }\n }, {\n key: \"removeForGeneric\",\n value: function removeForGeneric(e, t) {\n var i = window.getSelection();\n if (i) {\n var n = bt.Cursor.getGenericElementCursorOffset(t, i, !0);\n i.deleteFromDocument(), bt.Cursor.setOffsetForGeneric(t, n), e.isHighlighted = !1;\n }\n }\n }, {\n key: \"removeForPrimitive\",\n value: function removeForPrimitive(e, t) {\n var i = t.selectionStart,\n n = t.selectionEnd,\n r = t.value;\n if (i && n) {\n var o = r.substring(0, i) + r.substring(n);\n t.value = o, bt.Cursor.setOffsetForPrimitive(t, i, e.autoScroll);\n }\n e.isHighlighted = !1;\n }\n }]);\n}();\nAi.Highlight = hi;\nvar Mi = {};\nObject.defineProperty(Mi, \"__esModule\", {\n value: !0\n});\nMi.Padding = void 0;\nvar Jo = et,\n Hn = tt,\n nt = Qe;\nvar ui = /*#__PURE__*/function () {\n function ui() {\n _classCallCheck(this, ui);\n }\n return _createClass(ui, null, [{\n key: \"setStateForPrimitiveElement\",\n value: function setStateForPrimitiveElement(e, t) {\n if (document.activeElement === t && t.selectionStart !== null) {\n var n = t.selectionStart,\n r = t.value[n - 1],\n o = t.selectionEnd === null ? n : t.selectionEnd,\n a = t.value[o];\n nt.Text.isCharDefined(r) && (e.startPadding = \" \", e.numberOfSpacesBeforeNewText = 1), nt.Text.isCharDefined(a) && (e.endPadding = \" \", e.numberOfSpacesAfterNewText = 1), e.isCursorAtEnd = t.value.length === o;\n return;\n }\n var i = t.value[t.value.length - 1];\n nt.Text.isCharDefined(i) && (e.startPadding = \" \", e.numberOfSpacesBeforeNewText = 1), e.isCursorAtEnd = !0;\n }\n }, {\n key: \"setStateForGenericElement\",\n value: function setStateForGenericElement(e, t) {\n var i, n, r;\n if (document.activeElement === t) {\n var a = window.getSelection();\n if (a != null && a.focusNode) {\n var l = Hn.Cursor.getGenericElementCursorOffset(t, a, !0),\n c = (i = t.textContent) === null || i === void 0 ? void 0 : i[l - 1],\n d = Hn.Cursor.getGenericElementCursorOffset(t, a, !1),\n h = (n = t.textContent) === null || n === void 0 ? void 0 : n[d];\n nt.Text.isCharDefined(c) && (e.startPadding = \" \"), nt.Text.isCharDefined(h) && (e.endPadding = \" \"), e.isCursorAtEnd = ((r = t.textContent) === null || r === void 0 ? void 0 : r.length) === d;\n return;\n }\n }\n var o = t.innerText.charAt(t.innerText.length - 1);\n nt.Text.isCharDefined(o) && (e.startPadding = \" \"), e.isCursorAtEnd = !0;\n }\n }, {\n key: \"setState\",\n value: function setState(e, t) {\n Jo.Elements.isPrimitiveElement(t) ? ui.setStateForPrimitiveElement(e, t) : ui.setStateForGenericElement(e, t);\n }\n }, {\n key: \"adjustStateAfterRecodingPrimitiveElement\",\n value: function adjustStateAfterRecodingPrimitiveElement(e, t) {\n if (e.primitiveTextRecorded = !0, e.insertInCursorLocation && document.activeElement === t && (t.selectionEnd !== null && (e.endPadding = e.endPadding + t.value.slice(t.selectionEnd)), t.selectionStart !== null)) {\n e.startPadding = t.value.slice(0, t.selectionStart) + e.startPadding;\n return;\n }\n e.startPadding = t.value + e.startPadding;\n }\n }, {\n key: \"adjustSateForNoTextPrimitiveElement\",\n value: function adjustSateForNoTextPrimitiveElement(e) {\n e.numberOfSpacesBeforeNewText === 1 && (e.startPadding = e.startPadding.substring(0, e.startPadding.length - 1), e.numberOfSpacesBeforeNewText = 0), e.numberOfSpacesAfterNewText === 1 && (e.endPadding = e.endPadding.substring(1), e.numberOfSpacesAfterNewText = 0);\n }\n }]);\n}();\nMi.Padding = ui;\nObject.defineProperty(Ht, \"__esModule\", {\n value: !0\n});\nHt.Speech = void 0;\nvar qn = Ci,\n Xo = ki,\n zn = qt,\n Kt = zt,\n Hi = Ai,\n pe = et,\n qi = Mi,\n Vn = mt,\n Gn = tt,\n zi = Qe;\nvar Zo = /*#__PURE__*/function () {\n function Zo() {\n _classCallCheck(this, Zo);\n this.finalTranscript = \"\", this.interimSpan = pe.Elements.createInterimSpan(), this.finalSpan = pe.Elements.createGenericSpan(), this.scrollingSpan = pe.Elements.createGenericSpan(), this.isCursorAtEnd = !1, this.spansPopulated = !1, this.startPadding = \"\", this.endPadding = \"\", this.numberOfSpacesBeforeNewText = 0, this.numberOfSpacesAfterNewText = 0, this.isHighlighted = !1, this.primitiveTextRecorded = !1, this.recognizing = !1, this._displayInterimResults = !0, this.insertInCursorLocation = !0, this.autoScroll = !0, this.isRestarting = !1, this.isPaused = !1, this.isWaitingForCommand = !1, this.isTargetInShadow = !1, this.cannotBeStopped = !1, this.resetState();\n }\n return _createClass(Zo, [{\n key: \"prepareBeforeStart\",\n value: function prepareBeforeStart(e) {\n var t, i;\n if (e != null && e.element) if (qn.EventListeners.add(this, e), Array.isArray(e.element)) {\n var r = e.element.find(function (o) {\n return o === document.activeElement;\n }) || e.element[0];\n if (!r) return;\n this.prepare(r);\n } else this.prepare(e.element);\n (e == null ? void 0 : e.displayInterimResults) !== void 0 && (this._displayInterimResults = e.displayInterimResults), e != null && e.textColor && (this._finalTextColor = (t = e == null ? void 0 : e.textColor) === null || t === void 0 ? void 0 : t[\"final\"], pe.Elements.applyCustomColors(this, e.textColor)), (e == null ? void 0 : e.insertInCursorLocation) !== void 0 && (this.insertInCursorLocation = e.insertInCursorLocation), (e == null ? void 0 : e.autoScroll) !== void 0 && (this.autoScroll = e.autoScroll), this._onResult = e == null ? void 0 : e.onResult, this._onPreResult = e == null ? void 0 : e.onPreResult, this._onStart = e == null ? void 0 : e.onStart, this._onStop = e == null ? void 0 : e.onStop, this._onError = e == null ? void 0 : e.onError, this.onCommandModeTrigger = e == null ? void 0 : e.onCommandModeTrigger, this.onPauseTrigger = e == null ? void 0 : e.onPauseTrigger, this._options = e, !((i = this._options) === null || i === void 0) && i.commands && (this.commands = zn.CommandUtils.process(this._options.commands));\n }\n }, {\n key: \"prepare\",\n value: function prepare(e) {\n qi.Padding.setState(this, e), Hi.Highlight.setState(this, e), this.isTargetInShadow = pe.Elements.isInsideShadowDOM(e), pe.Elements.isPrimitiveElement(e) ? (this._primitiveElement = e, this._originalText = this._primitiveElement.value) : (this._genericElement = e, this._originalText = this._genericElement.textContent);\n }\n // there was an attempt to optimize this by not having to restart the service and just reset state:\n // unfortunately it did not work because the service would still continue firing the intermediate and final results\n // into the new position\n }, {\n key: \"resetRecording\",\n value: function resetRecording(e) {\n this.isRestarting = !0, this.stop(!0), this.resetState(!0), this.start(e, !0);\n }\n // prettier-ignore\n }, {\n key: \"updateElements\",\n value: function updateElements(e, t, i) {\n var n;\n var r = zi.Text.capitalize(t);\n if (this.finalTranscript === r && e === \"\") return;\n Xo.PreResultUtils.process(this, i, e === \"\", this._onPreResult, this._options) && (e = \"\", i = \"\");\n var o = this.commands && zn.CommandUtils.execCommand(this, i, this._options, this._primitiveElement || this._genericElement, this._originalText);\n if (o) {\n if (o.doNotProcessTranscription) return;\n e = \"\", i = \"\";\n }\n if (this.isPaused || this.isWaitingForCommand) return;\n (n = this._onResult) === null || n === void 0 || n.call(this, i, e === \"\"), this.finalTranscript = r, this._displayInterimResults || (e = \"\");\n var a = this.finalTranscript === \"\" && e === \"\";\n this._primitiveElement ? this.updatePrimitiveElement(this._primitiveElement, e, a) : this._genericElement && this.updateGenericElement(this._genericElement, e, a);\n }\n // prettier-ignore\n // remember that padding values here contain actual text left and right\n }, {\n key: \"updatePrimitiveElement\",\n value: function updatePrimitiveElement(e, t, i) {\n this.isHighlighted && Hi.Highlight.removeForPrimitive(this, e), this.primitiveTextRecorded || qi.Padding.adjustStateAfterRecodingPrimitiveElement(this, e), i && qi.Padding.adjustSateForNoTextPrimitiveElement(this);\n var n = this.startPadding + this.finalTranscript + t;\n if (e.value = n + this.endPadding, !this.isTargetInShadow) {\n var r = n.length + this.numberOfSpacesAfterNewText;\n Gn.Cursor.setOffsetForPrimitive(e, r, this.autoScroll);\n }\n this.autoScroll && Vn.Browser.IS_SAFARI() && this.isCursorAtEnd && Kt.AutoScroll.scrollSafariPrimitiveToEnd(e);\n }\n }, {\n key: \"updateGenericElement\",\n value: function updateGenericElement(e, t, i) {\n this.isHighlighted && Hi.Highlight.removeForGeneric(this, e), this.spansPopulated || pe.Elements.appendSpans(this, e);\n var n = (i ? \"\" : this.startPadding) + zi.Text.lineBreak(this.finalTranscript);\n this.finalSpan.innerHTML = n;\n var r = Kt.AutoScroll.isRequired(this.autoScroll, e);\n Kt.AutoScroll.changeStateIfNeeded(this, r);\n var o = zi.Text.lineBreak(t) + (i ? \"\" : this.endPadding);\n this.interimSpan.innerHTML = o, Vn.Browser.IS_SAFARI() && this.insertInCursorLocation && Gn.Cursor.setOffsetForSafariGeneric(e, n.length + o.length), r && Kt.AutoScroll.scrollGeneric(this, e), i && (this.scrollingSpan.innerHTML = \"\");\n }\n }, {\n key: \"finalise\",\n value: function finalise(e) {\n this._genericElement && (e ? (this.finalSpan = pe.Elements.createGenericSpan(), this.setInterimColorToFinal(), this.interimSpan = pe.Elements.createInterimSpan(), this.scrollingSpan = pe.Elements.createGenericSpan()) : this._genericElement.textContent = this._genericElement.textContent, this.spansPopulated = !1), qn.EventListeners.remove(this);\n }\n }, {\n key: \"setInterimColorToFinal\",\n value: function setInterimColorToFinal() {\n this.interimSpan.style.color = this._finalTextColor || \"black\";\n }\n }, {\n key: \"resetState\",\n value: function resetState(e) {\n this._primitiveElement = void 0, this._genericElement = void 0, this.finalTranscript = \"\", this.finalSpan.innerHTML = \"\", this.interimSpan.innerHTML = \"\", this.scrollingSpan.innerHTML = \"\", this.startPadding = \"\", this.endPadding = \"\", this.isHighlighted = !1, this.primitiveTextRecorded = !1, this.numberOfSpacesBeforeNewText = 0, this.numberOfSpacesAfterNewText = 0, e || (this.stopTimeout = void 0);\n }\n }, {\n key: \"setStateOnStart\",\n value: function setStateOnStart() {\n var e;\n this.recognizing = !0, this.isRestarting ? this.isRestarting = !1 : (e = this._onStart) === null || e === void 0 || e.call(this);\n }\n }, {\n key: \"setStateOnStop\",\n value: function setStateOnStop() {\n var e;\n this.recognizing = !1, this.isRestarting || (e = this._onStop) === null || e === void 0 || e.call(this);\n }\n }, {\n key: \"setStateOnError\",\n value: function setStateOnError(e) {\n var t;\n (t = this._onError) === null || t === void 0 || t.call(this, e), this.recognizing = !1;\n }\n }]);\n}();\nHt.Speech = Zo;\nObject.defineProperty(wi, \"__esModule\", {\n value: !0\n});\nwi.WebSpeech = void 0;\nvar Wn = Ti,\n $n = mt,\n Yo = Ht;\nvar fi = /*#__PURE__*/function (_Yo$Speech) {\n function fi() {\n _classCallCheck(this, fi);\n return _callSuper(this, fi);\n }\n _inherits(fi, _Yo$Speech);\n return _createClass(fi, [{\n key: \"start\",\n value: function start(e) {\n var t;\n this._extractText === void 0 && (this._extractText = $n.Browser.IS_SAFARI() ? Wn.WebSpeechTranscript.extractSafari : Wn.WebSpeechTranscript.extract), this.validate() && (this.prepareBeforeStart(e), this.instantiateService(e), (t = this._service) === null || t === void 0 || t.start(), this._translations = e == null ? void 0 : e.translations);\n }\n }, {\n key: \"validate\",\n value: function validate() {\n return fi.getAPI() ? !0 : (this.error(\"Speech Recognition is unsupported\"), !1);\n }\n }, {\n key: \"instantiateService\",\n value: function instantiateService(e) {\n var t, i;\n var n = fi.getAPI();\n this._service = new n(), this._service.continuous = !0, this._service.interimResults = (t = e == null ? void 0 : e.displayInterimResults) !== null && t !== void 0 ? t : !0, this._service.lang = ((i = e == null ? void 0 : e.language) === null || i === void 0 ? void 0 : i.trim()) || \"en-US\", this.setEvents();\n }\n }, {\n key: \"setEvents\",\n value: function setEvents() {\n var _this54 = this;\n this._service && (this._service.onstart = function () {\n _this54.setStateOnStart();\n }, this._service.onerror = function (e) {\n $n.Browser.IS_SAFARI() && e.message === \"Another request is started\" || e.error === \"aborted\" && _this54.isRestarting || e.error !== \"no-speech\" && _this54.error(e.message || e.error);\n }, this._service.onaudioend = function () {\n _this54.setStateOnStop();\n }, this._service.onend = function () {\n _this54._stopping = !1;\n }, this._service.onresult = function (e) {\n if (_typeof(e.results) > \"u\" && _this54._service) _this54._service.onend = null, _this54._service.stop();else if (_this54._extractText && !_this54._stopping) {\n var _this54$_extractText = _this54._extractText(e, _this54.finalTranscript, _this54._translations),\n t = _this54$_extractText.interimTranscript,\n _i17 = _this54$_extractText.finalTranscript,\n n = _this54$_extractText.newText;\n _this54.updateElements(t, _i17, n);\n }\n });\n }\n }, {\n key: \"stop\",\n value: function stop(e) {\n var t;\n this._stopping = !0, (t = this._service) === null || t === void 0 || t.stop(), this.finalise(e);\n }\n }, {\n key: \"error\",\n value: function error(e) {\n console.error(e), this.setStateOnError(e), this.stop();\n }\n }], [{\n key: \"getAPI\",\n value: function getAPI() {\n return window.webkitSpeechRecognition || window.SpeechRecognition;\n }\n }]);\n}(Yo.Speech);\nwi.WebSpeech = fi;\nvar Ri = {};\nObject.defineProperty(Ri, \"__esModule\", {\n value: !0\n});\nRi.GlobalState = void 0;\nvar ht = /*#__PURE__*/function () {\n function ht() {\n _classCallCheck(this, ht);\n }\n return _createClass(ht, null, [{\n key: \"doubleClickDetector\",\n value: function doubleClickDetector() {\n return ht.doubleClickPending ? !0 : (ht.doubleClickPending = !0, setTimeout(function () {\n ht.doubleClickPending = !1;\n }, 300), !1);\n }\n }]);\n}();\nRi.GlobalState = ht;\nht.doubleClickPending = !1;\nvar Ii = {},\n Li = {};\nObject.defineProperty(Li, \"__esModule\", {\n value: !0\n});\nLi.PreventConnectionStop = void 0;\nvar Qo = /*#__PURE__*/function () {\n function Qo() {\n _classCallCheck(this, Qo);\n }\n return _createClass(Qo, null, [{\n key: \"applyPrevention\",\n value: function applyPrevention(e) {\n clearTimeout(e._manualConnectionStopPrevention), e.cannotBeStopped = !0, e._manualConnectionStopPrevention = setTimeout(function () {\n e.cannotBeStopped = !1;\n }, 800);\n }\n }, {\n key: \"clearPrevention\",\n value: function clearPrevention(e) {\n clearTimeout(e._manualConnectionStopPrevention), e.cannotBeStopped = !1;\n }\n }]);\n}();\nLi.PreventConnectionStop = Qo;\nvar Pi = {},\n Oi = {};\nObject.defineProperty(Oi, \"__esModule\", {\n value: !0\n});\nOi.README_URL = void 0;\nOi.README_URL = \"https://github.com/OvidijusParsiunas/speech-to-element\";\nObject.defineProperty(Pi, \"__esModule\", {\n value: !0\n});\nPi.AzureSpeechConfig = void 0;\nvar Vi = Oi;\nvar pi = /*#__PURE__*/function () {\n function pi() {\n _classCallCheck(this, pi);\n }\n return _createClass(pi, null, [{\n key: \"validateOptions\",\n value: function validateOptions(e, t) {\n return t ? !t.subscriptionKey && !t.token && !t.retrieveToken ? (e(\"Please define a 'subscriptionKey', 'token' or 'retrieveToken' property - more info: \".concat(Vi.README_URL)), !1) : t.region ? !0 : (e(\"Please define a 'region' property - more info: \".concat(Vi.README_URL)), !1) : (e(\"Please provide subscription details - more info: \".concat(Vi.README_URL)), !1);\n }\n }, {\n key: \"getNewSpeechConfig\",\n value: function () {\n var _getNewSpeechConfig = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee112(e, t) {\n return _regeneratorRuntime().wrap(function _callee112$(_context112) {\n while (1) switch (_context112.prev = _context112.next) {\n case 0:\n if (!t.region) {\n _context112.next = 2;\n break;\n }\n return _context112.abrupt(\"return\", t.subscriptionKey ? e.fromSubscription(t.subscriptionKey.trim(), t.region.trim()) : t.token ? e.fromAuthorizationToken(t.token.trim(), t.region.trim()) : t.retrieveToken ? t.retrieveToken().then(function (i) {\n return t.region ? e.fromAuthorizationToken((i == null ? void 0 : i.trim()) || \"\", t.region.trim()) : null;\n })[\"catch\"](function (i) {\n return console.error(i), null;\n }) : null);\n case 2:\n case \"end\":\n return _context112.stop();\n }\n }, _callee112);\n }));\n function getNewSpeechConfig(_x201, _x202) {\n return _getNewSpeechConfig.apply(this, arguments);\n }\n return getNewSpeechConfig;\n }()\n }, {\n key: \"process\",\n value: function process(e, t) {\n t.language && (e.speechRecognitionLanguage = t.language.trim());\n }\n }, {\n key: \"get\",\n value: function () {\n var _get = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee113(e, t) {\n var i;\n return _regeneratorRuntime().wrap(function _callee113$(_context113) {\n while (1) switch (_context113.prev = _context113.next) {\n case 0:\n _context113.next = 2;\n return pi.getNewSpeechConfig(e, t);\n case 2:\n i = _context113.sent;\n return _context113.abrupt(\"return\", (i && pi.process(i, t), i));\n case 4:\n case \"end\":\n return _context113.stop();\n }\n }, _callee113);\n }));\n function get(_x203, _x204) {\n return _get.apply(this, arguments);\n }\n return get;\n }()\n }]);\n}();\nPi.AzureSpeechConfig = pi;\nvar Ni = {};\nObject.defineProperty(Ni, \"__esModule\", {\n value: !0\n});\nNi.StopTimeout = void 0;\nvar Ot = /*#__PURE__*/function () {\n function Ot() {\n _classCallCheck(this, Ot);\n }\n return _createClass(Ot, null, [{\n key: \"set\",\n value: function set(e) {\n e.stopTimeout = setTimeout(function () {\n return e.stop();\n }, e.stopTimeoutMS);\n }\n }, {\n key: \"reset\",\n value: function reset(e, t) {\n e.stopTimeoutMS = t || Ot.DEFAULT_MS, e.stopTimeout && clearTimeout(e.stopTimeout), Ot.set(e);\n }\n }]);\n}();\nNi.StopTimeout = Ot;\nOt.DEFAULT_MS = 2e4;\nvar Di = {};\nObject.defineProperty(Di, \"__esModule\", {\n value: !0\n});\nDi.AzureTranscript = void 0;\nvar ea = Ut;\nvar ta = /*#__PURE__*/function () {\n function ta() {\n _classCallCheck(this, ta);\n }\n return _createClass(ta, null, [{\n key: \"extract\",\n value:\n // newText is used to only send new text in onResult as finalTranscript is continuously accumulated\n function extract(e, t, i, n) {\n return n && (e = ea.Translate.translate(e, n)), i ? {\n interimTranscript: \"\",\n finalTranscript: t + e,\n newText: e\n } : {\n interimTranscript: e,\n finalTranscript: t,\n newText: e\n };\n }\n }]);\n}();\nDi.AzureTranscript = ta;\nObject.defineProperty(Ii, \"__esModule\", {\n value: !0\n});\nIi.Azure = void 0;\nvar Kn = Li,\n Jn = Pi,\n Gi = Ni,\n Xn = Di,\n ia = Ht;\nvar mi = /*#__PURE__*/function (_ia$Speech) {\n function mi() {\n var _this55;\n _classCallCheck(this, mi);\n _this55 = _callSuper(this, mi, arguments), _this55._newTextPadding = \"\";\n return _this55;\n }\n _inherits(mi, _ia$Speech);\n return _createClass(mi, [{\n key: \"start\",\n value: function start(e, t) {\n this._newTextPadding = \"\", this.stopTimeout === void 0 && Gi.StopTimeout.reset(this, e == null ? void 0 : e.stopAfterSilenceMs), this.prepareBeforeStart(e), this.startAsync(e), t || Kn.PreventConnectionStop.applyPrevention(this);\n }\n }, {\n key: \"startAsync\",\n value: function () {\n var _startAsync = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee114(e) {\n var t;\n return _regeneratorRuntime().wrap(function _callee114$(_context114) {\n while (1) switch (_context114.prev = _context114.next) {\n case 0:\n _context114.t0 = this.validate(e);\n if (!_context114.t0) {\n _context114.next = 6;\n break;\n }\n _context114.next = 4;\n return this.instantiateService(e);\n case 4:\n this._translations = e == null ? void 0 : e.translations;\n (t = this._service) === null || t === void 0 || t.startContinuousRecognitionAsync(function () {}, this.error);\n case 6:\n case \"end\":\n return _context114.stop();\n }\n }, _callee114, this);\n }));\n function startAsync(_x205) {\n return _startAsync.apply(this, arguments);\n }\n return startAsync;\n }()\n }, {\n key: \"validate\",\n value: function validate(e) {\n return mi.getAPI() ? Jn.AzureSpeechConfig.validateOptions(this.error.bind(this), e) : (this.moduleNotFound(), !1);\n }\n }, {\n key: \"instantiateService\",\n value: function () {\n var _instantiateService = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee115(e) {\n var t, i, n, r;\n return _regeneratorRuntime().wrap(function _callee115$(_context115) {\n while (1) switch (_context115.prev = _context115.next) {\n case 0:\n t = mi.getAPI();\n i = t.AudioConfig.fromDefaultMicrophoneInput();\n _context115.next = 4;\n return Jn.AzureSpeechConfig.get(t.SpeechConfig, e);\n case 4:\n n = _context115.sent;\n if (n) {\n r = new t.SpeechRecognizer(n, i);\n this.setEvents(r), this._service = r, e.retrieveToken && this.retrieveTokenInterval(e.retrieveToken);\n } else this.error(\"Unable to contact Azure server\");\n case 6:\n case \"end\":\n return _context115.stop();\n }\n }, _callee115, this);\n }));\n function instantiateService(_x206) {\n return _instantiateService.apply(this, arguments);\n }\n return instantiateService;\n }()\n }, {\n key: \"setEvents\",\n value: function setEvents(e) {\n e.recognizing = this.onRecognizing.bind(this), e.recognized = this.onRecognized.bind(this), e.sessionStarted = this.onSessionStarted.bind(this), e.canceled = this.onCanceled.bind(this), e.sessionStopped = this.onSessionStopped.bind(this);\n }\n // prettier-ignore\n }, {\n key: \"onRecognizing\",\n value: function onRecognizing(e, t) {\n if (this._stopping) return;\n var _Xn$AzureTranscript$e = Xn.AzureTranscript.extract(this._newTextPadding + t.result.text, this.finalTranscript, !1, this._translations),\n i = _Xn$AzureTranscript$e.interimTranscript,\n n = _Xn$AzureTranscript$e.finalTranscript,\n r = _Xn$AzureTranscript$e.newText;\n Gi.StopTimeout.reset(this, this.stopTimeoutMS), this.updateElements(i, n, r);\n }\n // WORK - huge opportunity to fix this in the repo!!!!!\n // function onRecognized(sender, recognitionEventArgs) {\n // var result = recognitionEventArgs.result;\n // onRecognizedResult(recognitionEventArgs.result);\n // }\n // prettier-ignore\n }, {\n key: \"onRecognized\",\n value: function onRecognized(e, t) {\n var i = t.result;\n switch (i.reason) {\n case window.SpeechSDK.ResultReason.Canceled:\n break;\n case window.SpeechSDK.ResultReason.RecognizedSpeech:\n if (i.text && !this._stopping) {\n var _Xn$AzureTranscript$e2 = Xn.AzureTranscript.extract(this._newTextPadding + i.text, this.finalTranscript, !0, this._translations),\n n = _Xn$AzureTranscript$e2.interimTranscript,\n r = _Xn$AzureTranscript$e2.finalTranscript,\n o = _Xn$AzureTranscript$e2.newText;\n Gi.StopTimeout.reset(this, this.stopTimeoutMS), this.updateElements(n, r, o), r !== \"\" && (this._newTextPadding = \" \");\n }\n break;\n }\n }\n }, {\n key: \"onCanceled\",\n value: function onCanceled(e, t) {\n t.reason === window.SpeechSDK.CancellationReason.Error && this.error(t.errorDetails);\n }\n }, {\n key: \"onSessionStarted\",\n value: function onSessionStarted() {\n Kn.PreventConnectionStop.clearPrevention(this), this.setStateOnStart();\n }\n }, {\n key: \"onSessionStopped\",\n value: function onSessionStopped() {\n this._retrieveTokenInterval || clearInterval(this._retrieveTokenInterval), this._stopping = !1, this.setStateOnStop();\n }\n }, {\n key: \"retrieveTokenInterval\",\n value: function retrieveTokenInterval(e) {\n var _this56 = this;\n this._retrieveTokenInterval = setInterval(function () {\n e == null || e().then(function (t) {\n _this56._service && (_this56._service.authorizationToken = (t == null ? void 0 : t.trim()) || \"\");\n })[\"catch\"](function (t) {\n _this56.error(t);\n });\n }, 1e4);\n }\n }, {\n key: \"stop\",\n value: function stop(e) {\n var t;\n !e && this._retrieveTokenInterval && clearInterval(this._retrieveTokenInterval), this._stopping = !0, (t = this._service) === null || t === void 0 || t.stopContinuousRecognitionAsync(), this.finalise(e);\n }\n }, {\n key: \"moduleNotFound\",\n value: function moduleNotFound() {\n console.error(\"speech recognition module not found:\"), console.error(\"please install the 'microsoft-cognitiveservices-speech-sdk' npm package or add a script tag: <script src=\\\"https://aka.ms/csspeech/jsbrowserpackageraw\\\"></script>\"), this.setStateOnError(\"speech recognition module not found\");\n }\n }, {\n key: \"error\",\n value: function error(e) {\n this._retrieveTokenInterval && clearInterval(this._retrieveTokenInterval), console.error(e), this.setStateOnError(e), this.stop();\n }\n }], [{\n key: \"getAPI\",\n value: function getAPI() {\n return window.SpeechSDK;\n }\n }]);\n}(ia.Speech);\nIi.Azure = mi;\nObject.defineProperty(ds, \"__esModule\", {\n value: !0\n});\nvar Zn = wi,\n na = qt,\n le = Ri,\n sa = Ii;\nvar st = /*#__PURE__*/function () {\n function st() {\n _classCallCheck(this, st);\n }\n return _createClass(st, null, [{\n key: \"toggle\",\n value: function toggle(e, t) {\n var i, n;\n var r = e.toLocaleLowerCase().trim();\n !((i = le.GlobalState.service) === null || i === void 0) && i.recognizing ? this.stop() : r === \"webspeech\" ? st.startWebSpeech(t) : r === \"azure\" ? st.startAzure(t) : (console.error(\"service not found - must be either 'webspeech' or 'azure'\"), (n = t == null ? void 0 : t.onError) === null || n === void 0 || n.call(t, \"service not found - must be either 'webspeech' or 'azure'\"));\n }\n }, {\n key: \"startWebSpeech\",\n value: function startWebSpeech(e) {\n st.stop() || (le.GlobalState.service = new Zn.WebSpeech(), le.GlobalState.service.start(e));\n }\n }, {\n key: \"isWebSpeechSupported\",\n value: function isWebSpeechSupported() {\n return !!Zn.WebSpeech.getAPI();\n }\n }, {\n key: \"startAzure\",\n value: function startAzure(e) {\n var t;\n st.stop() || !((t = le.GlobalState.service) === null || t === void 0) && t.cannotBeStopped || (le.GlobalState.service = new sa.Azure(), le.GlobalState.service.start(e));\n }\n }, {\n key: \"stop\",\n value: function stop() {\n var e;\n return le.GlobalState.doubleClickDetector() ? !0 : (!((e = le.GlobalState.service) === null || e === void 0) && e.recognizing && le.GlobalState.service.stop(), !1);\n }\n }, {\n key: \"endCommandMode\",\n value: function endCommandMode() {\n le.GlobalState.service && na.CommandUtils.toggleCommandModeOff(le.GlobalState.service);\n }\n }]);\n}();\nvar Jt = ds[\"default\"] = st;\nvar ra = /*#__PURE__*/function () {\n function ra(e, t) {\n _classCallCheck(this, ra);\n this.silenceMS = 2e3, this.stop = !0, typeof t == \"boolean\" && t === !1 && (this.stop = !1), typeof e == \"number\" && (this.silenceMS = e);\n }\n return _createClass(ra, [{\n key: \"setSilenceTimeout\",\n value: function setSilenceTimeout(e, t) {\n var _this57 = this;\n this._silenceTimeout = setTimeout(function () {\n var i;\n (i = e.submit) == null || i.call(e), Jt.stop(), _this57.stop || setTimeout(t, Nt.MICROPHONE_RESET_TIMEOUT_MS);\n }, this.silenceMS);\n }\n }, {\n key: \"clearSilenceTimeout\",\n value: function clearSilenceTimeout() {\n this._silenceTimeout && clearTimeout(this._silenceTimeout);\n }\n }, {\n key: \"resetSilenceTimeout\",\n value: function resetSilenceTimeout(e, t) {\n this.clearSilenceTimeout(), this.setSilenceTimeout(e, t);\n }\n }, {\n key: \"onPause\",\n value: function onPause(e, t, i) {\n e ? this.resetSilenceTimeout(t, i) : this.clearSilenceTimeout();\n }\n }]);\n}();\nvar kt = /*#__PURE__*/function (_Pt) {\n function kt(e, t, i) {\n var _this58;\n _classCallCheck(this, kt);\n var n = _typeof(e.speechToText) == \"object\" ? e.speechToText : {};\n _this58 = _callSuper(this, kt, [n == null ? void 0 : n.button]);\n var _this58$processConfig = _this58.processConfiguration(t, e.speechToText),\n r = _this58$processConfig.serviceName,\n o = _this58$processConfig.processedConfig;\n if (_this58._addErrorMessage = i, r === \"webspeech\" && !Jt.isWebSpeechSupported()) _this58.changeToUnsupported();else {\n var a = !e.textInput || !e.textInput.disabled;\n _this58.elementRef.onclick = _this58.buttonClick.bind(_this58, t, a, r, o);\n }\n setTimeout(function () {\n _this58._validationHandler = e._validationHandler;\n });\n return _this58;\n }\n // prettier-ignore\n _inherits(kt, _Pt);\n return _createClass(kt, [{\n key: \"processConfiguration\",\n value: function processConfiguration(e, t) {\n var _i$displayInterimResu, _i$textColor, _i$translations, _i$commands, _i$events;\n var c;\n var i = _typeof(t) == \"object\" ? t : {},\n n = _typeof(i.webSpeech) == \"object\" ? i.webSpeech : {},\n r = i.azure || {},\n o = _objectSpread(_objectSpread({\n displayInterimResults: (_i$displayInterimResu = i.displayInterimResults) !== null && _i$displayInterimResu !== void 0 ? _i$displayInterimResu : void 0,\n textColor: (_i$textColor = i.textColor) !== null && _i$textColor !== void 0 ? _i$textColor : void 0,\n translations: (_i$translations = i.translations) !== null && _i$translations !== void 0 ? _i$translations : void 0,\n commands: (_i$commands = i.commands) !== null && _i$commands !== void 0 ? _i$commands : void 0,\n events: (_i$events = i.events) !== null && _i$events !== void 0 ? _i$events : void 0\n }, n), r),\n a = (c = i.commands) == null ? void 0 : c.submit;\n return a && (o.onPreResult = function (d) {\n return d.toLowerCase().includes(a) ? (setTimeout(function () {\n var h;\n return (h = e.submit) == null ? void 0 : h.call(e);\n }), Jt.endCommandMode(), {\n restart: !0,\n removeNewText: !0\n }) : null;\n }), i.submitAfterSilence && (this._silenceSubmit = new ra(i.submitAfterSilence, i.stopAfterSubmit)), {\n serviceName: kt.getServiceName(i),\n processedConfig: o\n };\n }\n }, {\n key: \"buttonClick\",\n value: function buttonClick(e, t, i, n) {\n var _this59 = this;\n var r = n == null ? void 0 : n.events;\n e.removeTextIfPlaceholder(), Jt.toggle(i, _objectSpread({\n insertInCursorLocation: !1,\n element: t ? e.inputElementRef : void 0,\n onError: function onError() {\n var o;\n _this59.onError(), (o = _this59._silenceSubmit) == null || o.clearSilenceTimeout();\n },\n onStart: function onStart() {\n var o;\n _this59.changeToActive(), (o = r == null ? void 0 : r.onStart) == null || o.call(r);\n },\n onStop: function onStop() {\n var o, a, l;\n (o = _this59._validationHandler) == null || o.call(_this59), (a = _this59._silenceSubmit) == null || a.clearSilenceTimeout(), _this59.changeToDefault(), (l = r == null ? void 0 : r.onStop) == null || l.call(r);\n },\n onPauseTrigger: function onPauseTrigger(o) {\n var a, l;\n (a = _this59._silenceSubmit) == null || a.onPause(o, e, _this59.elementRef.onclick), (l = r == null ? void 0 : r.onPauseTrigger) == null || l.call(r, o);\n },\n onPreResult: function onPreResult(o, a) {\n var l;\n (l = r == null ? void 0 : r.onPreResult) == null || l.call(r, o, a);\n },\n onResult: function onResult(o, a) {\n var l, c, d;\n a && ((l = _this59._validationHandler) == null || l.call(_this59)), (c = _this59._silenceSubmit) == null || c.resetSilenceTimeout(e, _this59.elementRef.onclick), (d = r == null ? void 0 : r.onResult) == null || d.call(r, o, a);\n },\n onCommandModeTrigger: function onCommandModeTrigger(o) {\n var a;\n _this59.onCommandModeTrigger(o), (a = r == null ? void 0 : r.onCommandModeTrigger) == null || a.call(r, o);\n }\n }, n));\n }\n }, {\n key: \"onCommandModeTrigger\",\n value: function onCommandModeTrigger(e) {\n e ? this.changeToCommandMode() : this.changeToActive();\n }\n }, {\n key: \"onError\",\n value: function onError() {\n this._addErrorMessage(\"speechToText\", \"speech input error\");\n }\n }], [{\n key: \"getServiceName\",\n value: function getServiceName(e) {\n return e.azure ? \"azure\" : \"webspeech\";\n }\n }, {\n key: \"toggleSpeechAfterSubmit\",\n value: function toggleSpeechAfterSubmit(e) {\n var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !0;\n e.click(), t || setTimeout(function () {\n return e.click();\n }, kt.MICROPHONE_RESET_TIMEOUT_MS);\n }\n }]);\n}(Pt);\nkt.MICROPHONE_RESET_TIMEOUT_MS = 300;\nvar Nt = kt;\nvar Te = /*#__PURE__*/function () {\n // prettier-ignore\n function Te(e, t, i, n) {\n var _this60 = this;\n _classCallCheck(this, Te);\n this._attachments = [], this._fileCountLimit = 99, this._acceptedFormat = \"\", t.maxNumberOfFiles && (this._fileCountLimit = t.maxNumberOfFiles), this._toggleContainerDisplay = i, this._fileAttachmentsContainerRef = n, t.acceptedFormats && (this._acceptedFormat = t.acceptedFormats), setTimeout(function () {\n _this60._validationHandler = e._validationHandler;\n });\n }\n return _createClass(Te, [{\n key: \"attemptAddFile\",\n value: function attemptAddFile(e, t) {\n return Te.isFileTypeValid(e, this._acceptedFormat) ? (this.addAttachmentBasedOnType(e, t, !0), !0) : !1;\n }\n }, {\n key: \"addAttachmentBasedOnType\",\n value: function addAttachmentBasedOnType(e, t, i) {\n var n = Te.getTypeFromBlob(e);\n if (n === \"image\") {\n var r = Te.createImageAttachment(t);\n this.addFileAttachment(e, \"image\", r, i);\n } else if (n === \"audio\") {\n var _r3 = Dt.createAudioAttachment(t);\n this.addFileAttachment(e, \"audio\", _r3, i);\n } else {\n var _r4 = Te.createAnyFileAttachment(e.name);\n this.addFileAttachment(e, \"any\", _r4, i);\n }\n }\n }, {\n key: \"addFileAttachment\",\n value: function addFileAttachment(e, t, i, n) {\n var a;\n var r = Te.createContainer(i);\n if (this._attachments.length >= this._fileCountLimit) {\n var l = this._attachments[this._attachments.length - 1].removeButton;\n l == null || l.click();\n var c = this._fileAttachmentsContainerRef.children;\n this._fileAttachmentsContainerRef.insertBefore(r, c[0]);\n } else this._fileAttachmentsContainerRef.appendChild(r);\n var o = {\n file: e,\n attachmentContainerElement: r,\n fileType: t\n };\n return n && (o.removeButton = this.createRemoveAttachmentButton(o), r.appendChild(o.removeButton)), this._toggleContainerDisplay(!0), this._attachments.push(o), this._fileAttachmentsContainerRef.scrollTop = this._fileAttachmentsContainerRef.scrollHeight, (a = this._validationHandler) == null || a.call(this), o;\n }\n }, {\n key: \"createRemoveAttachmentButton\",\n value: function createRemoveAttachmentButton(e) {\n var t = document.createElement(\"div\");\n t.classList.add(\"remove-file-attachment-button\"), t.onclick = this.removeAttachment.bind(this, e);\n var i = document.createElement(\"div\");\n return i.classList.add(\"x-icon\"), i.innerText = \"×\", t.appendChild(i), t;\n }\n }, {\n key: \"removeAttachment\",\n value: function removeAttachment(e) {\n var n;\n var t = this._attachments.findIndex(function (r) {\n return r === e;\n }),\n i = this._attachments[t].attachmentContainerElement;\n this._attachments.splice(t, 1), Dt.stopAttachmentPlayback(i), i.remove(), this._toggleContainerDisplay(!1), (n = this._validationHandler) == null || n.call(this);\n }\n }, {\n key: \"getFiles\",\n value: function getFiles() {\n return Array.from(this._attachments).map(function (e) {\n return {\n file: e.file,\n type: e.fileType\n };\n });\n }\n }, {\n key: \"removeAllAttachments\",\n value: function removeAllAttachments() {\n this._attachments.forEach(function (e) {\n setTimeout(function () {\n var t;\n return (t = e.removeButton) == null ? void 0 : t.click();\n });\n });\n }\n }], [{\n key: \"isFileTypeValid\",\n value: function isFileTypeValid(e, t) {\n if (t === \"\") return !0;\n var i = t.split(\",\");\n for (var n = 0; n < i.length; n++) {\n var r = i[n].trim();\n if (e.type === r) return !0;\n if (r.startsWith(\".\")) {\n var o = r.slice(1);\n if (e.name.endsWith(o)) return !0;\n } else {\n if (e.name.endsWith(r)) return !0;\n if (r.endsWith(\"/*\") && e.type.startsWith(r.slice(0, -2))) return !0;\n }\n }\n return !1;\n }\n }, {\n key: \"getTypeFromBlob\",\n value: function getTypeFromBlob(e) {\n var t = e.type;\n return t.startsWith(\"image\") ? \"image\" : t.startsWith(\"audio\") ? \"audio\" : \"any\";\n }\n }, {\n key: \"createImageAttachment\",\n value: function createImageAttachment(e) {\n var t = new Image();\n return t.src = e, t.classList.add(\"image-attachment\"), t;\n }\n }, {\n key: \"createAnyFileAttachment\",\n value: function createAnyFileAttachment(e) {\n var t = document.createElement(\"div\");\n t.classList.add(\"border-bound-attachment\"), at.IS_SAFARI && t.classList.add(\"border-bound-attachment-safari\");\n var i = document.createElement(\"div\");\n i.classList.add(\"any-file-attachment-text\");\n var n = document.createElement(\"div\");\n return n.classList.add(\"file-attachment-text-container\"), n.appendChild(i), i.textContent = e, t.appendChild(n), t;\n }\n }, {\n key: \"createContainer\",\n value: function createContainer(e) {\n var t = document.createElement(\"div\");\n return t.classList.add(\"file-attachment\"), t.appendChild(e), t;\n }\n }]);\n}();\nvar oa = \"<?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?>\\n<svg viewBox=\\\"0 0 32 32\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n <title>play</title>\\n <path d=\\\"M5.92 24.096q0 1.088 0.928 1.728 0.512 0.288 1.088 0.288 0.448 0 0.896-0.224l16.16-8.064q0.48-0.256 0.8-0.736t0.288-1.088-0.288-1.056-0.8-0.736l-16.16-8.064q-0.448-0.224-0.896-0.224-0.544 0-1.088 0.288-0.928 0.608-0.928 1.728v16.16z\\\"></path>\\n</svg>\",\n Yn = \"<?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?>\\n<svg viewBox=\\\"0 0 32 32\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n<title>stop</title>\\n<path d=\\\"M5.92 24.096q0 0.832 0.576 1.408t1.44 0.608h16.128q0.832 0 1.44-0.608t0.576-1.408v-16.16q0-0.832-0.576-1.44t-1.44-0.576h-16.128q-0.832 0-1.44 0.576t-0.576 1.44v16.16z\\\"></path>\\n</svg>\",\n _e = /*#__PURE__*/function (_Te) {\n // prettier-ignore\n function _e(e, t, i, n) {\n _classCallCheck(this, _e);\n return _callSuper(this, _e, [e, t, i, n]);\n }\n _inherits(_e, _Te);\n return _createClass(_e, [{\n key: \"createTimer\",\n value: function createTimer(e, t) {\n var _this61 = this;\n var i = 0;\n var n = t !== void 0 && t < _e.TIMER_LIMIT_S ? t : _e.TIMER_LIMIT_S;\n return setInterval(function () {\n var a;\n i += 1, i === n && ((a = _this61.stopPlaceholderCallback) == null || a.call(_this61), _this61.clearTimer()), i === 600 && e.classList.add(\"audio-placeholder-text-4-digits\");\n var r = Math.floor(i / 60),\n o = (i % 60).toString().padStart(2, \"0\");\n e.textContent = \"\".concat(r, \":\").concat(o);\n }, 1e3);\n }\n }, {\n key: \"createPlaceholderAudioAttachment\",\n value: function createPlaceholderAudioAttachment(e) {\n var t = _e.createAudioContainer(),\n i = document.createElement(\"div\");\n i.classList.add(\"audio-placeholder-text-3-digits\");\n var n = document.createElement(\"div\");\n n.classList.add(\"file-attachment-text-container\", \"audio-placeholder-text-3-digits-container\"), n.appendChild(i);\n var r = ie.createSVGElement(Yn);\n return r.classList.add(\"attachment-icon\", \"stop-icon\", \"not-removable-attachment-icon\"), i.textContent = \"0:00\", this._activePlaceholderTimer = this.createTimer(i, e), t.appendChild(n), this.addPlaceholderAudioAttachmentEvents(t, r, n), t;\n }\n }, {\n key: \"addPlaceholderAudioAttachmentEvents\",\n value: function addPlaceholderAudioAttachmentEvents(e, t, i) {\n var _this62 = this;\n var n = function n() {\n return e.replaceChildren(t);\n };\n e.addEventListener(\"mouseenter\", n);\n var r = function r() {\n return e.replaceChildren(i);\n };\n e.addEventListener(\"mouseleave\", r);\n var o = function o() {\n var a;\n return (a = _this62.stopPlaceholderCallback) == null ? void 0 : a.call(_this62);\n };\n e.addEventListener(\"click\", o);\n }\n }, {\n key: \"addPlaceholderAttachment\",\n value: function addPlaceholderAttachment(e, t) {\n var i = this.createPlaceholderAudioAttachment(t);\n this._activePlaceholderAttachment = this.addFileAttachment(new File([], \"\"), \"audio\", i, !1), this.stopPlaceholderCallback = e;\n }\n // prettier-ignore\n }, {\n key: \"completePlaceholderAttachment\",\n value: function completePlaceholderAttachment(e, t) {\n var i = this._activePlaceholderAttachment;\n i && (i.file = e, _e.addAudioElements(i.attachmentContainerElement.children[0], t), i.removeButton = this.createRemoveAttachmentButton(i), i.attachmentContainerElement.appendChild(i.removeButton), this._activePlaceholderAttachment = void 0, this.clearTimer());\n }\n }, {\n key: \"removePlaceholderAttachment\",\n value: function removePlaceholderAttachment() {\n this._activePlaceholderAttachment && (this.removeAttachment(this._activePlaceholderAttachment), this._activePlaceholderAttachment = void 0, this.clearTimer());\n }\n }, {\n key: \"clearTimer\",\n value: function clearTimer() {\n this._activePlaceholderTimer !== void 0 && (clearInterval(this._activePlaceholderTimer), this._activePlaceholderTimer = void 0, this.stopPlaceholderCallback = void 0);\n }\n }], [{\n key: \"createAudioContainer\",\n value: function createAudioContainer() {\n var e = document.createElement(\"div\");\n return e.classList.add(\"border-bound-attachment\", \"audio-attachment-icon-container\"), at.IS_SAFARI && e.classList.add(\"border-bound-attachment-safari\"), e;\n }\n }, {\n key: \"addAudioElements\",\n value: function addAudioElements(e, t) {\n var i = e.parentElement ? q.cloneElement(e) : e,\n n = document.createElement(\"audio\");\n n.src = t;\n var r = ie.createSVGElement(oa);\n r.classList.add(\"attachment-icon\", \"play-icon\");\n var o = ie.createSVGElement(Yn);\n o.classList.add(\"attachment-icon\", \"stop-icon\"), i.replaceChildren(r), n.onplay = function () {\n i.replaceChildren(o);\n }, n.onpause = function () {\n i.replaceChildren(r), n.currentTime = 0;\n }, n.onended = function () {\n i.replaceChildren(r);\n }, i.onclick = function () {\n n.paused ? n.play() : n.pause();\n };\n }\n }, {\n key: \"createAudioAttachment\",\n value: function createAudioAttachment(e) {\n var t = _e.createAudioContainer();\n return _e.addAudioElements(t, e), t;\n }\n }, {\n key: \"stopAttachmentPlayback\",\n value: function stopAttachmentPlayback(e) {\n var t, i, n;\n (n = (i = (t = e.children[0]) == null ? void 0 : t.children) == null ? void 0 : i[0]) != null && n.classList.contains(\"stop-icon\") && e.children[0].click();\n }\n }]);\n }(Te);\n_e.TIMER_LIMIT_S = 5999;\nvar Dt = _e;\nvar aa = /*#__PURE__*/function () {\n function aa() {\n _classCallCheck(this, aa);\n }\n return _createClass(aa, null, [{\n key: \"create\",\n value:\n // prettier-ignore\n function create(e, t, i, n, r) {\n return r === \"audio\" ? new Dt(e, t, i, n) : new Te(e, t, i, n);\n }\n }]);\n}();\nvar Vt = /*#__PURE__*/function () {\n function Vt(e, t, i) {\n _classCallCheck(this, Vt);\n this._fileAttachmentsTypes = [], this.elementRef = this.createAttachmentContainer();\n var n = _typeof(i) == \"object\" && !!i.displayFileAttachmentContainer;\n this.toggleContainerDisplay(n), e.appendChild(this.elementRef), t && Object.assign(this.elementRef.style, t);\n }\n // prettier-ignore\n return _createClass(Vt, [{\n key: \"addType\",\n value: function addType(e, t, i) {\n var n = aa.create(e, t, this.toggleContainerDisplay.bind(this), this.elementRef, i);\n return this._fileAttachmentsTypes.push(n), n;\n }\n }, {\n key: \"createAttachmentContainer\",\n value: function createAttachmentContainer() {\n var e = document.createElement(\"div\");\n return e.id = \"file-attachment-container\", e;\n }\n }, {\n key: \"toggleContainerDisplay\",\n value: function toggleContainerDisplay(e) {\n e ? this.elementRef.style.display = \"block\" : this.elementRef.children.length === 0 && (this.elementRef.style.display = \"none\");\n }\n }, {\n key: \"getAllFileData\",\n value: function getAllFileData() {\n var e = this._fileAttachmentsTypes.map(function (t) {\n return t.getFiles();\n }).flat();\n return e.length > 0 ? e : void 0;\n }\n }, {\n key: \"completePlaceholders\",\n value: function () {\n var _completePlaceholders = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee117() {\n return _regeneratorRuntime().wrap(function _callee117$(_context117) {\n while (1) switch (_context117.prev = _context117.next) {\n case 0:\n _context117.next = 2;\n return Promise.all(this._fileAttachmentsTypes.map( /*#__PURE__*/function () {\n var _ref18 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee116(e) {\n var t;\n return _regeneratorRuntime().wrap(function _callee116$(_context116) {\n while (1) switch (_context116.prev = _context116.next) {\n case 0:\n return _context116.abrupt(\"return\", (t = e.stopPlaceholderCallback) == null ? void 0 : t.call(e));\n case 1:\n case \"end\":\n return _context116.stop();\n }\n }, _callee116);\n }));\n return function (_x207) {\n return _ref18.apply(this, arguments);\n };\n }()));\n case 2:\n case \"end\":\n return _context117.stop();\n }\n }, _callee117, this);\n }));\n function completePlaceholders() {\n return _completePlaceholders.apply(this, arguments);\n }\n return completePlaceholders;\n }()\n }, {\n key: \"addFilesToAnyType\",\n value: function addFilesToAnyType(e) {\n Vt.addFilesToType(e, this._fileAttachmentsTypes);\n }\n }, {\n key: \"removeAllFiles\",\n value: function removeAllFiles() {\n this._fileAttachmentsTypes.forEach(function (e) {\n return e.removeAllAttachments();\n }), this.elementRef.replaceChildren(), this.toggleContainerDisplay(!1);\n }\n }, {\n key: \"getNumberOfTypes\",\n value: function getNumberOfTypes() {\n return this._fileAttachmentsTypes.length;\n }\n }], [{\n key: \"addFilesToType\",\n value: function addFilesToType(e, t) {\n e.forEach(function (i) {\n var n = new FileReader();\n n.readAsDataURL(i), n.onload = function (r) {\n for (var o = 0; o < t.length && !t[o].attemptAddFile(i, r.target.result); o += 1);\n };\n });\n }\n }]);\n}();\nvar ue = /*#__PURE__*/function () {\n function ue(e, t, i) {\n _classCallCheck(this, ue);\n this._isOpen = !1, this._contentRef = ue.createModalContent(t, i == null ? void 0 : i.backgroundColor), this._buttonPanel = ue.createButtonPanel(i == null ? void 0 : i.backgroundColor), this._elementRef = ue.createContainer(this._contentRef, i), this._elementRef.appendChild(this._buttonPanel), e.appendChild(this._elementRef), this._backgroundPanelRef = ue.createDarkBackgroundPanel(), e.appendChild(this._backgroundPanelRef), this.addWindowEvents(e);\n }\n return _createClass(ue, [{\n key: \"isOpen\",\n value: function isOpen() {\n return this._isOpen;\n }\n }, {\n key: \"addButtons\",\n value: function addButtons() {\n var _this63 = this;\n for (var _len2 = arguments.length, e = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n e[_key2] = arguments[_key2];\n }\n e.forEach(function (t) {\n return _this63._buttonPanel.appendChild(t);\n });\n }\n }, {\n key: \"close\",\n value: function close() {\n var _this64 = this;\n this._elementRef.classList.remove(\"show-modal\"), this._elementRef.classList.add(\"hide-modal\"), this._backgroundPanelRef.classList.remove(\"show-modal-background\"), this._backgroundPanelRef.classList.add(\"hide-modal-background\"), this._isOpen = !1, setTimeout(function () {\n _this64._elementRef.style.display = \"none\", _this64._backgroundPanelRef.style.display = \"none\";\n }, ue.MODAL_CLOSE_TIMEOUT_MS);\n }\n }, {\n key: \"displayModalElements\",\n value: function displayModalElements() {\n this._elementRef.style.display = \"flex\", this._elementRef.classList.remove(\"hide-modal\"), this._elementRef.classList.add(\"show-modal\"), this._backgroundPanelRef.style.display = \"block\", this._backgroundPanelRef.classList.remove(\"hide-modal-background\"), this._backgroundPanelRef.classList.add(\"show-modal-background\"), this._isOpen = !0;\n }\n }, {\n key: \"openTextModal\",\n value: function openTextModal(e) {\n this._contentRef.innerHTML = e, this.displayModalElements();\n }\n }, {\n key: \"addCloseButton\",\n value: function addCloseButton(e, t, i) {\n var _this65 = this;\n var n = t ? ue.createSVGButton(e) : ue.createTextButton(e);\n return this.addButtons(n), n.onclick = function () {\n _this65.close(), setTimeout(function () {\n i == null || i();\n }, 140);\n }, n;\n }\n }, {\n key: \"addWindowEvents\",\n value: function addWindowEvents(e) {\n this.keyDownEvent = this.windowKeyDown.bind(this, e), window.addEventListener(\"keydown\", this.keyDownEvent);\n }\n }, {\n key: \"windowKeyDown\",\n value: function windowKeyDown(e, t) {\n var i, n;\n !e.isConnected && this.keyDownEvent ? window.removeEventListener(\"keydown\", this.keyDownEvent) : this._isOpen && (t.key === P.ESCAPE ? (this.close(), (i = this.extensionCloseCallback) == null || i.call(this)) : t.key === P.ENTER && (this.close(), (n = this.extensionCloseCallback) == null || n.call(this)));\n }\n }], [{\n key: \"createContainer\",\n value: function createContainer(e, t) {\n var i = document.createElement(\"div\");\n return i.classList.add(\"modal\"), i.appendChild(e), t && delete t.backgroundColor, Object.assign(i.style, t), i;\n }\n }, {\n key: \"createModalContent\",\n value: function createModalContent(e, t) {\n var _i$classList;\n var i = document.createElement(\"div\");\n return (_i$classList = i.classList).add.apply(_i$classList, _toConsumableArray(e)), t && (i.style.backgroundColor = t), document.createElement(\"div\").appendChild(i), i;\n }\n }, {\n key: \"createButtonPanel\",\n value: function createButtonPanel(e) {\n var t = document.createElement(\"div\");\n return t.classList.add(\"modal-button-panel\"), e && (t.style.backgroundColor = e), t;\n }\n }, {\n key: \"createDarkBackgroundPanel\",\n value: function createDarkBackgroundPanel() {\n var e = document.createElement(\"div\");\n return e.id = \"modal-background-panel\", e;\n }\n }, {\n key: \"createTextButton\",\n value: function createTextButton(e) {\n var t = document.createElement(\"div\");\n return t.classList.add(\"modal-button\"), t.textContent = e, t;\n }\n }, {\n key: \"createSVGButton\",\n value: function createSVGButton(e) {\n var t = document.createElement(\"div\");\n t.classList.add(\"modal-button\", \"modal-svg-button\");\n var i = ie.createSVGElement(e);\n return i.classList.add(\"modal-svg-button-icon\"), t.appendChild(i), t;\n }\n }, {\n key: \"createTextModalFunc\",\n value: function createTextModalFunc(e, t, i) {\n var n;\n if (_typeof(t) == \"object\" && (n = t.files) != null && n.infoModal) {\n var r = new ue(e, [\"modal-content\"], t.files.infoModal.containerStyle);\n return r.addCloseButton(\"OK\", !1, i), r.openTextModal.bind(r, t.infoModalTextMarkUp || \"\");\n }\n }\n }]);\n}();\nue.MODAL_CLOSE_TIMEOUT_MS = 190;\nvar Ve = ue;\nvar St = /*#__PURE__*/function (_jt3) {\n // prettier-ignore\n function St(e, t, i, n, r, o) {\n var _this66;\n _classCallCheck(this, St);\n var h, u, f, m, p, y, x, j, V;\n var a = (h = i == null ? void 0 : i.button) == null ? void 0 : h.position,\n l = ((m = (f = (u = i == null ? void 0 : i.button) == null ? void 0 : u.styles) == null ? void 0 : f.text) == null ? void 0 : m.content) || o;\n _this66 = _callSuper(this, St, [St.createButtonElement(), a, i.button, l]);\n var c = a === \"dropup-menu\",\n d = _this66.createInnerElements(n, r, _this66._customStyles, c);\n _this66._inputElement = St.createInputElement((p = i == null ? void 0 : i.files) == null ? void 0 : p.acceptedFormats), _this66.addClickEvent(e, i), _this66.elementRef.replaceChildren(d.styles), _this66.reapplyStateStyle(\"styles\"), _this66._fileAttachmentsType = t, _this66._openModalOnce = ((x = (y = i.files) == null ? void 0 : y.infoModal) == null ? void 0 : x.openModalOnce) === !1 || (V = (j = i.files) == null ? void 0 : j.infoModal) == null ? void 0 : V.openModalOnce;\n return _this66;\n }\n _inherits(St, _jt3);\n return _createClass(St, [{\n key: \"createInnerElements\",\n value: function createInnerElements(e, t, i) {\n var n = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : !1;\n var r = St.createSVGIconElement(e, t);\n return {\n styles: K.createInnerElement(this.elementRef, r, \"styles\", i, n)\n };\n }\n }, {\n key: \"triggerImportPrompt\",\n value: function triggerImportPrompt(e) {\n e.onchange = this[\"import\"].bind(this, e), e.click();\n }\n }, {\n key: \"import\",\n value: function _import(e) {\n Vt.addFilesToType(Array.from(e.files || []), [this._fileAttachmentsType]), e.value = \"\";\n }\n }, {\n key: \"addClickEvent\",\n value: function addClickEvent(e, t) {\n var i = this.triggerImportPrompt.bind(this, this._inputElement),\n n = Ve.createTextModalFunc(e, t, i);\n this.elementRef.onclick = this.click.bind(this, n);\n }\n }, {\n key: \"click\",\n value: function click(e) {\n e && (this._openModalOnce === void 0 || this._openModalOnce === !0) ? (e(), this._openModalOnce === !0 && (this._openModalOnce = !1)) : this.triggerImportPrompt(this._inputElement);\n }\n }], [{\n key: \"createInputElement\",\n value: function createInputElement(e) {\n var t = document.createElement(\"input\");\n return t.type = \"file\", t.accept = e || \"\", t.hidden = !0, t.multiple = !0, t;\n }\n }, {\n key: \"createButtonElement\",\n value: function createButtonElement() {\n var e = document.createElement(\"div\");\n return e.classList.add(\"input-button\", \"upload-file-button\"), e;\n }\n }, {\n key: \"createSVGIconElement\",\n value: function createSVGIconElement(e, t) {\n var i = ie.createSVGElement(t);\n return i.id = e, i;\n }\n }]);\n}(jt);\nvar Se = /*#__PURE__*/function () {\n function Se() {\n _classCallCheck(this, Se);\n }\n return _createClass(Se, null, [{\n key: \"create\",\n value: function create(e, t, i) {\n var n = Se.createElement(i);\n Se.addEvents(n, e, t), e.appendChild(n);\n }\n }, {\n key: \"createElement\",\n value: function createElement(e) {\n var t = document.createElement(\"div\");\n return t.id = \"drag-and-drop\", _typeof(e) == \"object\" && Object.assign(t.style, e), t;\n }\n }, {\n key: \"addEvents\",\n value: function addEvents(e, t, i) {\n t.ondragenter = function (n) {\n n.preventDefault(), Se.display(e);\n }, e.ondragleave = function (n) {\n n.preventDefault(), Se.hide(e);\n }, e.ondragover = function (n) {\n n.preventDefault();\n }, e.ondrop = function (n) {\n n.preventDefault(), Se.uploadFile(i, n), Se.hide(e);\n };\n }\n }, {\n key: \"uploadFile\",\n value: function uploadFile(e, t) {\n var n;\n var i = (n = t.dataTransfer) == null ? void 0 : n.files;\n i && e.addFilesToAnyType(Array.from(i));\n }\n }, {\n key: \"display\",\n value: function display(e) {\n e.style.display = \"block\";\n }\n }, {\n key: \"hide\",\n value: function hide(e) {\n e.style.display = \"none\";\n }\n }, {\n key: \"isEnabled\",\n value: function isEnabled(e, t) {\n return t !== void 0 && t === !1 ? !1 : !!t || e.getNumberOfTypes() > 0;\n }\n }]);\n}();\nvar Be = /*#__PURE__*/function () {\n function Be() {\n _classCallCheck(this, Be);\n }\n return _createClass(Be, null, [{\n key: \"validate\",\n value:\n // prettier-ignore\n function validate(e, t, i, n, r) {\n var o = e(i, n, r);\n return o ? t.changeToSubmitIcon() : t.changeToDisabledIcon(), o;\n }\n // prettier-ignore\n }, {\n key: \"useValidationFunc\",\n value: function () {\n var _useValidationFunc = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee118(e, t, i, n) {\n var r, o, a, l;\n return _regeneratorRuntime().wrap(function _callee118$(_context118) {\n while (1) switch (_context118.prev = _context118.next) {\n case 0:\n r = t.inputElementRef, o = r.classList.contains($e.PLACEHOLDER_TEXT_CLASS) ? \"\" : r.textContent;\n _context118.next = 3;\n return i.completePlaceholders();\n case 3:\n a = i.getAllFileData(), l = a == null ? void 0 : a.map(function (c) {\n return c.file;\n });\n return _context118.abrupt(\"return\", Be.validate(e, n, o, l));\n case 5:\n case \"end\":\n return _context118.stop();\n }\n }, _callee118);\n }));\n function useValidationFunc(_x208, _x209, _x210, _x211) {\n return _useValidationFunc.apply(this, arguments);\n }\n return useValidationFunc;\n }() // prettier-ignore\n }, {\n key: \"useValidationFuncProgrammatic\",\n value: function () {\n var _useValidationFuncProgrammatic = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee119(e, t, i) {\n var r, n;\n return _regeneratorRuntime().wrap(function _callee119$(_context119) {\n while (1) switch (_context119.prev = _context119.next) {\n case 0:\n n = (r = t.files) == null ? void 0 : r.map(function (o) {\n return o.file;\n });\n return _context119.abrupt(\"return\", Be.validate(e, i, t.text, n, !0));\n case 2:\n case \"end\":\n return _context119.stop();\n }\n }, _callee119);\n }));\n function useValidationFuncProgrammatic(_x212, _x213, _x214) {\n return _useValidationFuncProgrammatic.apply(this, arguments);\n }\n return useValidationFuncProgrammatic;\n }()\n }, {\n key: \"validateWebsocket\",\n value: function validateWebsocket(e, t) {\n return e.websocket && !B.canSendMessage(e.websocket) ? (t.changeToDisabledIcon(), !1) : !0;\n }\n // prettier-ignore\n }, {\n key: \"attach\",\n value: function attach(e, t, i, n, r) {\n var o = e.validateInput || te.processValidateInput(e);\n e._validationHandler = /*#__PURE__*/function () {\n var _ref19 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee120(a) {\n var l;\n return _regeneratorRuntime().wrap(function _callee120$(_context120) {\n while (1) switch (_context120.prev = _context120.next) {\n case 0:\n if (!(r.status.loadingActive || r.status.requestInProgress || t.isSubmitProgrammaticallyDisabled === !0 || !Be.validateWebsocket(t, r))) {\n _context120.next = 2;\n break;\n }\n return _context120.abrupt(\"return\", !1);\n case 2:\n l = o || t.canSendMessage;\n return _context120.abrupt(\"return\", l ? a ? Be.useValidationFuncProgrammatic(l, a, r) : Be.useValidationFunc(l, i, n, r) : null);\n case 4:\n case \"end\":\n return _context120.stop();\n }\n }, _callee120);\n }));\n return function (_x215) {\n return _ref19.apply(this, arguments);\n };\n }();\n }\n }]);\n}();\nvar hs = /*#__PURE__*/function () {\n function hs() {\n _classCallCheck(this, hs);\n }\n return _createClass(hs, null, [{\n key: \"getFileName\",\n value: function getFileName(e, t) {\n var i = /* @__PURE__ */new Date(),\n n = String(i.getHours()).padStart(2, \"0\"),\n r = String(i.getMinutes()).padStart(2, \"0\"),\n o = String(i.getSeconds()).padStart(2, \"0\");\n return \"\".concat(e, \"-\").concat(n, \"-\").concat(r, \"-\").concat(o, \".\").concat(t);\n }\n }]);\n}();\nvar la = /*#__PURE__*/function (_Pt2) {\n function la(e, t) {\n var _this67;\n _classCallCheck(this, la);\n var i, n;\n _this67 = _callSuper(this, la, [t.button]), _this67._waitingForBrowserApproval = !1, _this67._audioType = e, _this67._extension = ((i = t.files) == null ? void 0 : i.format) || \"mp3\", _this67._maxDurationSeconds = (n = t.files) == null ? void 0 : n.maxDurationSeconds, _this67.elementRef.onclick = _this67.buttonClick.bind(_assertThisInitialized(_this67));\n return _this67;\n }\n _inherits(la, _Pt2);\n return _createClass(la, [{\n key: \"buttonClick\",\n value: function buttonClick() {\n this._waitingForBrowserApproval || (this.isActive ? this.stop() : (this._waitingForBrowserApproval = !0, this.record()));\n }\n }, {\n key: \"stop\",\n value: function stop() {\n var _this68 = this;\n return new Promise(function (e) {\n var t, i;\n _this68.changeToDefault(), (t = _this68._mediaRecorder) == null || t.stop(), (i = _this68._mediaStream) == null || i.getTracks().forEach(function (n) {\n return n.stop();\n }), setTimeout(function () {\n e();\n }, 10);\n });\n }\n }, {\n key: \"record\",\n value: function record() {\n var _this69 = this;\n navigator.mediaDevices.getUserMedia({\n audio: !0\n }).then(function (e) {\n _this69.changeToActive(), _this69._mediaRecorder = new MediaRecorder(e), _this69._audioType.addPlaceholderAttachment(_this69.stop.bind(_this69), _this69._maxDurationSeconds), _this69._mediaStream = e, _this69._mediaRecorder.addEventListener(\"dataavailable\", function (t) {\n _this69.createFile(t);\n }), _this69._mediaRecorder.start();\n })[\"catch\"](function (e) {\n console.error(e), _this69.stop();\n })[\"finally\"](function () {\n _this69._waitingForBrowserApproval = !1;\n });\n }\n }, {\n key: \"createFile\",\n value: function createFile(e) {\n var _this70 = this;\n var t = new Blob([e.data], {\n type: \"audio/\".concat(this._extension)\n }),\n i = hs.getFileName(this._newFilePrefix || \"audio\", this._extension),\n n = new File([t], i, {\n type: t.type\n }),\n r = new FileReader();\n r.readAsDataURL(n), r.onload = function (o) {\n _this70._audioType.completePlaceholderAttachment(n, o.target.result);\n };\n }\n }]);\n}(Pt);\nvar ca = \"<?xml version=\\\"1.0\\\" standalone=\\\"no\\\"?>\\n<!DOCTYPE svg PUBLIC \\\"-//W3C//DTD SVG 1.0//EN\\\" \\\"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd\\\">\\n<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" stroke=\\\"currentColor\\\" fill=\\\"none\\\" stroke-width=\\\"1\\\" viewBox=\\\"0 0 24 24\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\">\\n <line x1=\\\"22\\\" y1=\\\"2\\\" x2=\\\"11\\\" y2=\\\"14\\\"></line>\\n <polygon points=\\\"22 2 15 22 11 14 2 10 22 2\\\"></polygon>\\n</svg>\\n\";\nvar $ = /*#__PURE__*/function () {\n function $() {\n _classCallCheck(this, $);\n }\n return _createClass($, null, [{\n key: \"setPropertyValueIfDoesNotExist\",\n value: function setPropertyValueIfDoesNotExist(e, t, i) {\n var _e$n, _e$n2;\n var n = t[0];\n t.length === 1 ? (_e$n = e[n]) !== null && _e$n !== void 0 ? _e$n : e[n] = i : ((_e$n2 = e[n]) !== null && _e$n2 !== void 0 ? _e$n2 : e[n] = {}, t.shift(), $.setPropertyValueIfDoesNotExist(e[n], t, i));\n }\n }, {\n key: \"setPropertyValue\",\n value: function setPropertyValue(e, t, i) {\n var _e$n3;\n var n = t[0];\n t.length === 1 ? e[n] = i : ((_e$n3 = e[n]) !== null && _e$n3 !== void 0 ? _e$n3 : e[n] = {}, t.shift(), $.setPropertyValue(e[n], t, i));\n }\n }, {\n key: \"getObjectValue\",\n value: function getObjectValue(e, t) {\n var i = t[0],\n n = e[i];\n return n === void 0 || t.length === 1 ? n : $.getObjectValue(n, t.slice(1));\n }\n }, {\n key: \"overwritePropertyObjectFromAnother\",\n value: function overwritePropertyObjectFromAnother(e, t, i) {\n var n = $.getObjectValue(t, i);\n if (n) {\n var r = _objectSpread(_objectSpread({}, n), $.getObjectValue(e, i) || {});\n $.setPropertyValue(e, i, r);\n }\n }\n }]);\n}();\nvar Ge = /*#__PURE__*/function () {\n function Ge() {\n _classCallCheck(this, Ge);\n }\n return _createClass(Ge, null, [{\n key: \"resetSubmit\",\n value: function resetSubmit(e, t) {\n t ? e.unsetCustomStateStyles([\"loading\", \"submit\"]) : e.unsetCustomStateStyles([\"stop\", \"loading\", \"submit\"]), e.reapplyStateStyle(\"submit\");\n }\n }, {\n key: \"overwriteDefaultStyleWithSubmit\",\n value: function overwriteDefaultStyleWithSubmit(e, t) {\n if (!e.submit) return;\n var i = JSON.parse(JSON.stringify(e[t] || {}));\n $.overwritePropertyObjectFromAnother(i, e.submit, [\"container\", \"default\"]), $.overwritePropertyObjectFromAnother(i, e.submit, [\"text\", \"styles\", \"default\"]), $.overwritePropertyObjectFromAnother(i, e.submit, [\"svg\", \"styles\", \"default\"]), e[t] = i;\n }\n // prettier-ignore\n }, {\n key: \"setUpDisabledButton\",\n value: function setUpDisabledButton(e) {\n $.setPropertyValueIfDoesNotExist(e, [\"submit\", \"container\", \"default\", \"backgroundColor\"], \"\"), $.setPropertyValueIfDoesNotExist(e, [\"disabled\", \"container\", \"default\", \"backgroundColor\"], \"unset\"), $.setPropertyValueIfDoesNotExist(e.submit, [\"svg\", \"styles\", \"default\", \"filter\"], \"\"), $.setPropertyValueIfDoesNotExist(e.disabled, [\"svg\", \"styles\", \"default\", \"filter\"], \"brightness(0) saturate(100%) invert(70%) sepia(0%) saturate(5564%) hue-rotate(207deg) brightness(100%) contrast(97%)\"), Ge.overwriteDefaultStyleWithSubmit(e, \"disabled\");\n }\n }, {\n key: \"process\",\n value: function process(e) {\n var t = JSON.parse(JSON.stringify(e || {}));\n return Ge.overwriteDefaultStyleWithSubmit(t, \"loading\"), Ge.overwriteDefaultStyleWithSubmit(t, \"stop\"), e != null && e.alwaysEnabled || Ge.setUpDisabledButton(t), t;\n }\n }]);\n}();\nvar k = /*#__PURE__*/function (_jt4) {\n // prettier-ignore\n function k(e, t, i, n, r, o) {\n var _this71;\n _classCallCheck(this, k);\n var a = Ge.process(e.submitButtonStyles);\n _this71 = _callSuper(this, k, [k.createButtonContainerElement(), a == null ? void 0 : a.position, a]), _this71._isSVGLoadingIconOverriden = !1, _this71.status = {\n requestInProgress: !1,\n loadingActive: !1\n }, _this71._messages = i, _this71._inputElementRef = t, _this71._fileAttachments = r, _this71._innerElements = _this71.createInnerElements(), _this71._abortStream = new AbortController(), _this71._stopClicked = {\n listener: function listener() {}\n }, _this71._serviceIO = n, _this71._alwaysEnabled = !!(a != null && a.alwaysEnabled), e.disableSubmitButton = _this71.disableSubmitButton.bind(_assertThisInitialized(_this71), n), _this71.attemptOverwriteLoadingStyle(e), o.microphone && _this71.setUpSpeechToText(o.microphone.button, e.speechToText), setTimeout(function () {\n var l;\n _this71._validationHandler = e._validationHandler, _this71.assignHandlers(_this71._validationHandler), (l = _this71._validationHandler) == null || l.call(_assertThisInitialized(_this71));\n });\n return _this71;\n }\n _inherits(k, _jt4);\n return _createClass(k, [{\n key: \"createInnerElements\",\n value: function createInnerElements() {\n var _this$createCustomEle = this.createCustomElements(),\n e = _this$createCustomEle.submit,\n t = _this$createCustomEle.loading,\n i = _this$createCustomEle.stop,\n n = e || k.createSubmitIconElement();\n return {\n submit: n,\n loading: t || k.createLoadingIconElement(),\n stop: i || k.createStopIconElement(),\n disabled: this.createDisabledIconElement(n)\n };\n }\n }, {\n key: \"createCustomElements\",\n value: function createCustomElements() {\n var _this72 = this;\n var e = K.createSpecificStateElement(this.elementRef, \"submit\", this._customStyles),\n t = {\n loading: void 0,\n stop: void 0\n };\n return Object.keys(t).forEach(function (i) {\n var n = i,\n r = K.createCustomElement(n, _this72._customStyles);\n r && (t[n] = r);\n }), t.submit = e, t;\n }\n }, {\n key: \"createDisabledIconElement\",\n value: function createDisabledIconElement(e) {\n return K.createCustomElement(\"disabled\", this._customStyles) || e.cloneNode(!0);\n }\n // prettier-ignore\n }, {\n key: \"attemptOverwriteLoadingStyle\",\n value: function attemptOverwriteLoadingStyle(e) {\n var t, i, n, r, o, a, l, c, d;\n if (!((i = (t = this._customStyles) == null ? void 0 : t.submit) != null && i.svg || (o = (r = (n = this._customStyles) == null ? void 0 : n.loading) == null ? void 0 : r.svg) != null && o.content || (c = (l = (a = this._customStyles) == null ? void 0 : a.loading) == null ? void 0 : l.text) != null && c.content) && (e.displayLoadingBubble === void 0 || e.displayLoadingBubble === !0)) {\n var h = document.createElement(\"style\");\n h.textContent = \"\\n .loading-button > * {\\n filter: brightness(0) saturate(100%) invert(72%) sepia(0%) saturate(3044%) hue-rotate(322deg) brightness(100%)\\n contrast(96%) !important;\\n }\", (d = e.shadowRoot) == null || d.appendChild(h), this._isSVGLoadingIconOverriden = !0;\n }\n }\n }, {\n key: \"assignHandlers\",\n value: function assignHandlers(e) {\n this._serviceIO.completionsHandlers = {\n onFinish: this.resetSubmit.bind(this, e)\n }, this._serviceIO.streamHandlers = {\n onOpen: this.changeToStopIcon.bind(this),\n onClose: this.resetSubmit.bind(this, e),\n abortStream: this._abortStream,\n stopClicked: this._stopClicked\n };\n var t = this._serviceIO.stream;\n _typeof(t) == \"object\" && typeof t.simulation == \"number\" && (this._serviceIO.streamHandlers.simulationInterim = t.simulation);\n }\n }, {\n key: \"setUpSpeechToText\",\n value: function setUpSpeechToText(e, t) {\n this._microphoneButton = e, this._stopSTTAfterSubmit = _typeof(t) == \"object\" ? t.stopAfterSubmit : !1;\n }\n }, {\n key: \"resetSubmit\",\n value: function resetSubmit(e) {\n this.status.requestInProgress = !1, this.status.loadingActive = !1, e();\n }\n }, {\n key: \"submitFromInput\",\n value: function () {\n var _submitFromInput = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee121() {\n var e, t;\n return _regeneratorRuntime().wrap(function _callee121$(_context121) {\n while (1) switch (_context121.prev = _context121.next) {\n case 0:\n _context121.next = 2;\n return this._fileAttachments.completePlaceholders();\n case 2:\n e = this._fileAttachments.getAllFileData();\n if (this._inputElementRef.classList.contains($e.PLACEHOLDER_TEXT_CLASS)) this.attemptSubmit({\n text: \"\",\n files: e\n });else {\n t = this._inputElementRef.innerText.trim();\n this.attemptSubmit({\n text: t,\n files: e\n });\n }\n case 4:\n case \"end\":\n return _context121.stop();\n }\n }, _callee121, this);\n }));\n function submitFromInput() {\n return _submitFromInput.apply(this, arguments);\n }\n return submitFromInput;\n }()\n }, {\n key: \"programmaticSubmit\",\n value: function () {\n var _programmaticSubmit = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee122(e) {\n var _this73 = this;\n var t;\n return _regeneratorRuntime().wrap(function _callee122$(_context122) {\n while (1) switch (_context122.prev = _context122.next) {\n case 0:\n typeof e == \"string\" && (e = te.processSubmitUserMessage(e));\n t = {\n text: e.text\n };\n e.files && (t.files = Array.from(e.files).map(function (i) {\n return {\n file: i,\n type: Te.getTypeFromBlob(i)\n };\n })), setTimeout(function () {\n return _this73.attemptSubmit(t, !0);\n });\n case 3:\n case \"end\":\n return _context122.stop();\n }\n }, _callee122);\n }));\n function programmaticSubmit(_x216) {\n return _programmaticSubmit.apply(this, arguments);\n }\n return programmaticSubmit;\n }() // TO-DO - should be disabled when loading history\n }, {\n key: \"attemptSubmit\",\n value: function () {\n var _attemptSubmit = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee123(e) {\n var t,\n r,\n o,\n a,\n i,\n n,\n _args123 = arguments;\n return _regeneratorRuntime().wrap(function _callee123$(_context123) {\n while (1) switch (_context123.prev = _context123.next) {\n case 0:\n t = _args123.length > 1 && _args123[1] !== undefined ? _args123[1] : !1;\n _context123.next = 3;\n return (r = this._validationHandler) == null ? void 0 : r.call(this, t ? e : void 0);\n case 3:\n _context123.t0 = _context123.sent;\n _context123.t1 = !1;\n if (!(_context123.t0 === _context123.t1)) {\n _context123.next = 7;\n break;\n }\n return _context123.abrupt(\"return\");\n case 7:\n this.changeToLoadingIcon();\n _context123.next = 10;\n return this.addNewMessage(e);\n case 10:\n this._serviceIO.isWebModel() || this._messages.addLoadingMessage();\n $e.clear(this._inputElementRef);\n i = (o = e.files) == null ? void 0 : o.map(function (l) {\n return l.file;\n }), n = {\n text: e.text === \"\" ? void 0 : e.text,\n files: i\n };\n _context123.next = 15;\n return this._serviceIO.callAPI(n, this._messages);\n case 15:\n (a = this._fileAttachments) == null || a.removeAllFiles();\n case 16:\n case \"end\":\n return _context123.stop();\n }\n }, _callee123, this);\n }));\n function attemptSubmit(_x217) {\n return _attemptSubmit.apply(this, arguments);\n }\n return attemptSubmit;\n }()\n }, {\n key: \"addNewMessage\",\n value: function () {\n var _addNewMessage = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee124(_ref20) {\n var e, t, i;\n return _regeneratorRuntime().wrap(function _callee124$(_context124) {\n while (1) switch (_context124.prev = _context124.next) {\n case 0:\n e = _ref20.text, t = _ref20.files;\n i = {\n role: b.USER_ROLE\n };\n e && (i.text = e);\n _context124.t0 = t;\n if (!_context124.t0) {\n _context124.next = 8;\n break;\n }\n _context124.next = 7;\n return this._messages.addMultipleFiles(t);\n case 7:\n i.files = _context124.sent;\n case 8:\n this._serviceIO.sessionId && (i._sessionId = this._serviceIO.sessionId);\n Object.keys(i).length > 0 && this._messages.addNewMessage(i);\n case 10:\n case \"end\":\n return _context124.stop();\n }\n }, _callee124, this);\n }));\n function addNewMessage(_x218) {\n return _addNewMessage.apply(this, arguments);\n }\n return addNewMessage;\n }()\n }, {\n key: \"stopStream\",\n value: function stopStream() {\n var e;\n this._abortStream.abort(), (e = this._stopClicked) == null || e.listener(), this._validationHandler && this.resetSubmit(this._validationHandler);\n }\n }, {\n key: \"changeToStopIcon\",\n value: function changeToStopIcon() {\n this._serviceIO.websocket || (this.elementRef.classList.remove(k.LOADING_CLASS, k.DISABLED_CLASS, k.SUBMIT_CLASS), this.elementRef.replaceChildren(this._innerElements.stop), this.reapplyStateStyle(\"stop\", [\"loading\", \"submit\"]), this.elementRef.onclick = this.stopStream.bind(this), this.status.loadingActive = !1);\n }\n }, {\n key: \"changeToLoadingIcon\",\n value: function changeToLoadingIcon() {\n this._serviceIO.websocket || (this._isSVGLoadingIconOverriden || this.elementRef.replaceChildren(this._innerElements.loading), this.elementRef.classList.remove(k.SUBMIT_CLASS, k.DISABLED_CLASS), this.elementRef.classList.add(k.LOADING_CLASS), this.reapplyStateStyle(\"loading\", [\"submit\"]), this.elementRef.onclick = function () {}, this.status.requestInProgress = !0, this.status.loadingActive = !0);\n }\n // called every time when user triggers an input via ValidationHandler - hence use class to check if not already present\n }, {\n key: \"changeToSubmitIcon\",\n value: function changeToSubmitIcon() {\n var _this74 = this;\n this.elementRef.classList.contains(k.SUBMIT_CLASS) || (this.elementRef.classList.remove(k.LOADING_CLASS, k.DISABLED_CLASS), this.elementRef.classList.add(k.SUBMIT_CLASS), this.elementRef.replaceChildren(this._innerElements.submit), Ge.resetSubmit(this, this.status.loadingActive), this.elementRef.onclick = function () {\n var e;\n _this74.submitFromInput(), (e = _this74._microphoneButton) != null && e.isActive && Nt.toggleSpeechAfterSubmit(_this74._microphoneButton.elementRef, !!_this74._stopSTTAfterSubmit);\n });\n }\n // called every time when user triggers an input via ValidationHandler - hence use class to check if not already present\n }, {\n key: \"changeToDisabledIcon\",\n value: function changeToDisabledIcon() {\n var e = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : !1;\n this._alwaysEnabled && !e ? this.changeToSubmitIcon() : this.elementRef.classList.contains(k.DISABLED_CLASS) || (this.elementRef.classList.remove(k.LOADING_CLASS, k.SUBMIT_CLASS), this.elementRef.classList.add(k.DISABLED_CLASS), this.elementRef.replaceChildren(this._innerElements.disabled), this.reapplyStateStyle(\"disabled\", [\"submit\"]), this.elementRef.onclick = function () {});\n }\n }, {\n key: \"disableSubmitButton\",\n value: function disableSubmitButton(e, t) {\n var i;\n e.isSubmitProgrammaticallyDisabled = t !== !1, !(this.status.requestInProgress || this.status.loadingActive) && (t === !1 ? (i = this._validationHandler) == null || i.call(this) : this.changeToDisabledIcon(!0));\n }\n }], [{\n key: \"createButtonContainerElement\",\n value: function createButtonContainerElement() {\n var e = document.createElement(\"div\");\n return e.classList.add(\"input-button\"), e;\n }\n }, {\n key: \"createSubmitIconElement\",\n value: function createSubmitIconElement() {\n var e = ie.createSVGElement(ca);\n return e.id = \"submit-icon\", e;\n }\n }, {\n key: \"createLoadingIconElement\",\n value: function createLoadingIconElement() {\n var e = document.createElement(\"div\");\n return e.classList.add(\"dots-jumping\"), e;\n }\n }, {\n key: \"createStopIconElement\",\n value: function createStopIconElement() {\n var e = document.createElement(\"div\");\n return e.id = \"stop-icon\", e;\n }\n }]);\n}(jt);\nk.SUBMIT_CLASS = \"submit-button\", k.LOADING_CLASS = \"loading-button\", k.DISABLED_CLASS = \"disabled-button\";\nvar ln = k;\nvar da = \"<?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?>\\n<svg viewBox=\\\"0 0 32 32\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n <path d=\\\"M27.1 14.313V5.396L24.158 8.34c-2.33-2.325-5.033-3.503-8.11-3.503C9.902 4.837 4.901 9.847 4.899 16c.001 6.152 5.003 11.158 11.15 11.16 4.276 0 9.369-2.227 10.836-8.478l.028-.122h-3.23l-.022.068c-1.078 3.242-4.138 5.421-7.613 5.421a8 8 0 0 1-5.691-2.359A7.993 7.993 0 0 1 8 16.001c0-4.438 3.611-8.049 8.05-8.049 2.069 0 3.638.58 5.924 2.573l-3.792 3.789H27.1z\\\"/>\\n</svg>\\n\",\n ha = \"<?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?>\\n<svg viewBox=\\\"0 0 32 32\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n <title>capture</title>\\n <path d=\\\"M0 16q0 3.264 1.28 6.208t3.392 5.12 5.12 3.424 6.208 1.248 6.208-1.248 5.12-3.424 3.392-5.12 1.28-6.208-1.28-6.208-3.392-5.12-5.088-3.392-6.24-1.28q-3.264 0-6.208 1.28t-5.12 3.392-3.392 5.12-1.28 6.208zM4 16q0-3.264 1.6-6.016t4.384-4.352 6.016-1.632 6.016 1.632 4.384 4.352 1.6 6.016-1.6 6.048-4.384 4.352-6.016 1.6-6.016-1.6-4.384-4.352-1.6-6.048z\\\"></path>\\n</svg>\\n\",\n ua = \"<?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?>\\n<svg viewBox=\\\"0 0 1024 1024\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n <path d=\\\"M195.2 195.2a64 64 0 0 1 90.496 0L512 421.504 738.304 195.2a64 64 0 0 1 90.496 90.496L602.496 512 828.8 738.304a64 64 0 0 1-90.496 90.496L512 602.496 285.696 828.8a64 64 0 0 1-90.496-90.496L421.504 512 195.2 285.696a64 64 0 0 1 0-90.496z\\\"/>\\n</svg>\",\n fa = \"<?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?>\\n<svg viewBox=\\\"0 0 24 24\\\" fill=\\\"none\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n <path d=\\\"M4.89163 13.2687L9.16582 17.5427L18.7085 8\\\" stroke=\\\"#000000\\\" stroke-width=\\\"2.5\\\" stroke-linecap=\\\"round\\\" stroke-linejoin=\\\"round\\\"/>\\n</svg>\";\nvar vn = /*#__PURE__*/function (_Ve) {\n // prettier-ignore\n function vn(e, t, i, n) {\n var _this75;\n _classCallCheck(this, vn);\n _this75 = _callSuper(this, vn, [e, [\"modal-content\", \"modal-camera-content\"], i]), _this75._stopped = !1, _this75._format = \"image/png\", _this75._canvas = document.createElement(\"canvas\"), _this75._canvas.classList.add(\"camera-modal-canvas\");\n var _this75$addButtonsAnd = _this75.addButtonsAndTheirEvents(t),\n r = _this75$addButtonsAnd.captureButton,\n o = _this75$addButtonsAnd.submitButton;\n _this75._captureButton = r, _this75._submitButton = o, _this75._captureIcon = _this75._captureButton.children[0], _this75._refreshIcon = ie.createSVGElement(da), _this75._refreshIcon.classList.add(\"modal-svg-button-icon\", \"modal-svg-refresh-icon\"), (n == null ? void 0 : n.format) === \"jpeg\" && (_this75._format = \"image/jpeg\"), n != null && n.dimensions && (_this75._dimensions = n.dimensions), _this75._contentRef.appendChild(_this75._canvas), _this75.extensionCloseCallback = _this75.stop;\n return _this75;\n }\n _inherits(vn, _Ve);\n return _createClass(vn, [{\n key: \"addButtonsAndTheirEvents\",\n value: function addButtonsAndTheirEvents(e) {\n var t = Ve.createSVGButton(ha);\n t.classList.add(\"modal-svg-camera-button\"), t.children[0].classList.add(\"modal-svg-camera-icon\");\n var i = this.addCloseButton(ua, !0);\n i.classList.add(\"modal-svg-close-button\"), i.children[0].classList.add(\"modal-svg-close-icon\");\n var n = Ve.createSVGButton(fa);\n return n.classList.add(\"modal-svg-submit-button\"), this.addButtons(t, n), this.addButtonEvents(t, i, n, e), {\n captureButton: t,\n submitButton: n\n };\n }\n // prettier-ignore\n }, {\n key: \"addButtonEvents\",\n value: function addButtonEvents(e, t, i, n) {\n var _this76 = this;\n e.onclick = function () {\n _this76.capture();\n }, t.addEventListener(\"click\", this.stop.bind(this)), i.onclick = function () {\n var r = _this76.getFile();\n r && Vt.addFilesToType([r], [n]), _this76.stop(), _this76.close();\n };\n }\n }, {\n key: \"stop\",\n value: function stop() {\n var _this77 = this;\n this._mediaStream && this._mediaStream.getTracks().forEach(function (e) {\n return e.stop();\n }), this._stopped = !0, setTimeout(function () {\n _this77._captureButton.replaceChildren(_this77._captureIcon), _this77._captureButton.classList.replace(\"modal-svg-refresh-button\", \"modal-svg-camera-button\");\n var e = _this77._canvas.getContext(\"2d\");\n e == null || e.clearRect(0, 0, _this77._canvas.width, _this77._canvas.height);\n }, Ve.MODAL_CLOSE_TIMEOUT_MS);\n }\n }, {\n key: \"start\",\n value: function start() {\n var _this78 = this;\n this._dataURL = void 0, this._submitButton.classList.add(\"modal-svg-submit-disabled\"), this._stopped = !1, navigator.mediaDevices.getUserMedia({\n video: this._dimensions || !0\n }).then(function (e) {\n if (_this78._mediaStream = e, !_this78.isOpen()) return _this78.stop();\n var t = document.createElement(\"video\");\n t.srcObject = e, t.play(), requestAnimationFrame(_this78.updateCanvas.bind(_this78, t, _this78._canvas));\n })[\"catch\"](function (e) {\n console.error(e), _this78.stop(), _this78.close();\n });\n }\n }, {\n key: \"capture\",\n value: function capture() {\n this._dataURL ? (this._captureButton.replaceChildren(this._captureIcon), this._captureButton.classList.replace(\"modal-svg-refresh-button\", \"modal-svg-camera-button\"), this._submitButton.classList.add(\"modal-svg-submit-disabled\"), this._dataURL = void 0) : (this._captureButton.replaceChildren(this._refreshIcon), this._captureButton.classList.replace(\"modal-svg-camera-button\", \"modal-svg-refresh-button\"), this._submitButton.classList.remove(\"modal-svg-submit-disabled\"), this._dataURL = this._canvas.toDataURL());\n }\n }, {\n key: \"getFile\",\n value: function getFile() {\n if (this._dataURL) {\n var _e4 = atob(this._dataURL.split(\",\")[1]),\n t = new Array(_e4.length);\n for (var a = 0; a < _e4.length; a++) t[a] = _e4.charCodeAt(a);\n var _i18 = new Uint8Array(t),\n n = new Blob([_i18], {\n type: this._format\n }),\n r = this._format === \"image/jpeg\" ? \"jpeg\" : \"png\",\n o = hs.getFileName(this._newFilePrefix || \"photo\", r);\n return new File([n], o, {\n type: n.type\n });\n }\n }\n }, {\n key: \"updateCanvas\",\n value: function updateCanvas(e, t) {\n if (!this._stopped) {\n if (!this._dataURL) {\n t.width = e.videoWidth, t.height = e.videoHeight;\n var _i19 = t.getContext(\"2d\");\n _i19 == null || _i19.drawImage(e, 0, 0, t.width, t.height);\n }\n requestAnimationFrame(this.updateCanvas.bind(this, e, t));\n }\n }\n }, {\n key: \"openCameraModal\",\n value: function openCameraModal(e) {\n this.displayModalElements(), e.start();\n }\n // prettier-ignore\n }], [{\n key: \"createCameraModalFunc\",\n value: function createCameraModalFunc(e, t, i, n) {\n var r = new vn(e, t, i, n);\n return r.openCameraModal.bind(r, r);\n }\n }]);\n}(Ve);\nvar pa = \"<?xml version=\\\"1.0\\\" encoding=\\\"utf-8\\\"?>\\n<svg viewBox=\\\"0 0 32 32\\\" version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\">\\n <path d=\\\"M29 7h-4.599l-2.401-4h-12l-2.4 4h-4.6c-1 0-3 1-3 2.969v16.031c0 1.657 1.5 3 2.792 3h26.271c1.313 0 2.938-1.406 2.938-2.968v-16.032c0-1-1-3-3-3zM30 26.032c0 0.395-0.639 0.947-0.937 0.969h-26.265c-0.232-0.019-0.797-0.47-0.797-1v-16.031c0-0.634 0.851-0.953 1-0.969h5.732l2.4-4h9.802l1.785 3.030 0.55 0.97h5.731c0.705 0 0.99 0.921 1 1v16.032zM16 10c-3.866 0-7 3.134-7 7s3.134 7 7 7 7-3.134 7-7-3.134-7-7-7zM16 22c-2.757 0-5-2.243-5-5s2.243-5 5-5 5 2.243 5 5-2.243 5-5 5z\\\"></path>\\n</svg>\";\nvar gi = /*#__PURE__*/function (_jt5) {\n function gi(e, t, i) {\n var _this79;\n _classCallCheck(this, gi);\n var a, l, c, d;\n var n = (a = i == null ? void 0 : i.button) == null ? void 0 : a.position,\n r = ((d = (c = (l = i == null ? void 0 : i.button) == null ? void 0 : l.styles) == null ? void 0 : c.text) == null ? void 0 : d.content) || \"Photo\";\n _this79 = _callSuper(this, gi, [gi.createButtonElement(), n, (i == null ? void 0 : i.button) || {}, r]);\n var o = _this79.createInnerElements(_this79._customStyles, n === \"dropup-menu\");\n i && _this79.addClickEvent(e, t, i.modalContainerStyle, i.files), _this79.elementRef.classList.add(\"upload-file-button\"), _this79.elementRef.appendChild(o.styles), _this79.reapplyStateStyle(\"styles\");\n return _this79;\n }\n // prettier-ignore\n _inherits(gi, _jt5);\n return _createClass(gi, [{\n key: \"createInnerElements\",\n value: function createInnerElements(e) {\n var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !1;\n return {\n styles: K.createInnerElement(this.elementRef, gi.createSVGIconElement(), \"styles\", e, t)\n };\n }\n }, {\n key: \"addClickEvent\",\n value:\n // prettier-ignore\n function addClickEvent(e, t, i, n) {\n var r = vn.createCameraModalFunc(e, t, i, n);\n this.elementRef.onclick = r;\n }\n }], [{\n key: \"createButtonElement\",\n value: function createButtonElement() {\n var e = document.createElement(\"div\");\n return e.classList.add(\"input-button\"), e;\n }\n }, {\n key: \"createSVGIconElement\",\n value: function createSVGIconElement() {\n var e = ie.createSVGElement(pa);\n return e.id = \"camera-icon\", e;\n }\n }]);\n}(jt);\nvar wt = /*#__PURE__*/function () {\n function wt(e, t, i, n) {\n _classCallCheck(this, wt);\n this.elementRef = wt.createPanelElement(e.inputAreaStyle);\n var r = {},\n o = this.createFileUploadComponents(e, i, n, r),\n a = new $e(e, i, o);\n e.speechToText && !r.microphone && (r.microphone = {\n button: new Nt(e, a, t.addNewErrorMessage.bind(t))\n });\n var l = new ln(e, a.inputElementRef, t, i, o, r);\n a.submit = l.submitFromInput.bind(l), Be.attach(e, i, a, o, l), e.submitUserMessage = l.programmaticSubmit.bind(l), r.submit = {\n button: l\n }, wt.addElements(this.elementRef, a, r, n, o, e.dropupStyles);\n }\n return _createClass(wt, [{\n key: \"createFileUploadComponents\",\n value:\n // prettier-ignore\n function createFileUploadComponents(e, t, i, n) {\n var o, a, l, c;\n var r = new Vt(this.elementRef, e.attachmentContainerStyle, t.demo);\n if (wt.createUploadButtons(e, t.fileTypes || {}, r, i, n), (o = t.camera) != null && o.files) {\n var d = ((a = n.images) == null ? void 0 : a.fileType) || r.addType(e, t.camera.files, \"images\");\n n.camera = {\n button: new gi(i, d, t.camera)\n };\n }\n if ((l = t.recordAudio) != null && l.files) {\n var _d = ((c = n.audio) == null ? void 0 : c.fileType) || r.addType(e, t.recordAudio.files, \"audio\");\n n.microphone = {\n button: new la(_d, t.recordAudio)\n };\n }\n return Se.isEnabled(r, e.dragAndDrop) && Se.create(i, r, e.dragAndDrop), r;\n }\n // prettier-ignore\n }], [{\n key: \"createPanelElement\",\n value: function createPanelElement(e) {\n var t = document.createElement(\"div\");\n return t.id = \"input\", Object.assign(t.style, e), t;\n }\n }, {\n key: \"createUploadButtons\",\n value: function createUploadButtons(e, t, i, n, r) {\n Object.keys(t).forEach(function (o) {\n var a = o,\n l = t[a];\n if (l.files) {\n var c = i.addType(e, l.files, a),\n _jo$a = jo[a],\n d = _jo$a.id,\n h = _jo$a.svgString,\n u = _jo$a.dropupText,\n f = new St(n, c, l, d, h, u);\n r[a] = {\n button: f,\n fileType: c\n };\n }\n });\n }\n // prettier-ignore\n }, {\n key: \"addElements\",\n value: function addElements(e, t, i, n, r, o) {\n q.addElements(e, t.elementRef);\n var a = pt.create(),\n l = G.addButtons(a, i, n, o);\n an.set(t.inputElementRef, a, r.elementRef, l), pt.add(e, a);\n }\n }]);\n}();\nvar yn = /*#__PURE__*/function () {\n function yn() {\n _classCallCheck(this, yn);\n }\n return _createClass(yn, null, [{\n key: \"createElements\",\n value: function createElements(e, t, i) {\n var n = document.createElement(\"div\");\n n.id = \"chat-view\";\n var r = new Re(e, t, i);\n t.websocket && B.createConnection(t, r);\n var o = new wt(e, r, t, n);\n return q.addElements(n, r.elementRef, o.elementRef), n;\n }\n }, {\n key: \"render\",\n value: function render(e, t, i, n) {\n var r = yn.createElements(e, i, n);\n t.replaceChildren(r);\n }\n }]);\n}();\nvar ma = \"#validate-property-key-view{height:100%;position:relative;display:flex;justify-content:center;align-items:center;padding:8px}#large-loading-ring{display:inline-block;width:50px;height:50px}#large-loading-ring:after{content:\\\" \\\";display:block;width:38px;height:38px;margin:1px;border-radius:50%;border:5px solid #5fb2ff;border-color:#5fb2ff transparent #5fb2ff transparent;animation:large-loading-ring 1.4s linear infinite}@keyframes large-loading-ring{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#insert-key-view{height:100%;position:relative}#insert-key-contents{text-align:center;position:absolute;top:44%;left:50%;transform:translate(-50%,-50%);width:82%;display:flex;max-width:700px}#insert-key-title{margin-bottom:15px}#insert-key-input-container{margin-right:2.7em;width:calc(100% - 80px)}#insert-key-input{padding:.3em 1.7em .3em .3em;border-width:1px;border-style:solid;border-radius:3px;width:100%;font-size:inherit}.insert-key-input-valid{border-color:gray}.insert-key-input-invalid{border-color:red}#visibility-icon-container{position:relative;float:right;cursor:pointer;-webkit-user-select:none;user-select:none}.visibility-icon{filter:brightness(0) saturate(100%) invert(63%) sepia(1%) saturate(9%) hue-rotate(43deg) brightness(98%) contrast(92%);position:absolute;right:-1.7em;top:-1.43em}#visible-icon{top:-1.4em}.visibility-icon:hover{filter:unset}.visibility-icon>*{pointer-events:none}#start-button{border:1px solid grey;color:#454545;border-radius:4px;width:3em;display:flex;justify-content:center;align-items:center;cursor:pointer;padding:.28em .3em;-webkit-user-select:none;user-select:none;background-color:#fff}#start-button:hover{background-color:#f2f2f2}#start-button:active{background-color:#d2d2d2}#insert-key-help-text-container{width:100%;position:absolute;margin-top:32px;margin-bottom:20px}#insert-key-help-text-contents{width:100%;position:absolute}#insert-key-input-invalid-text{display:block;margin-top:1em;margin-bottom:.5em;color:red}.insert-key-input-help-text{display:block;margin-top:16px}#loading-ring{display:inline-block;width:16px;height:16px}#loading-ring:after{content:\\\" \\\";display:block;width:11px;height:11px;margin:1px;border-radius:50%;border:2px solid #0084ff;border-color:#0084ff transparent #0084ff transparent;animation:loading-ring 1.2s linear infinite}@keyframes loading-ring{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#error-view{color:red;font-size:1.2em;line-height:1.3em;margin-top:-5px;text-align:center;height:100%;display:flex;justify-content:center;align-items:center;padding-left:8px;padding-right:8px}.intro-panel{position:absolute;display:flex;justify-content:center;right:0;bottom:0;left:0;margin:auto;height:fit-content;top:-2.5em}#internal-intro-panel{width:250px;height:min-content;display:block;border-radius:5px;overflow:auto;border:1px solid rgb(203,203,203);padding:10px;max-height:calc(100% - 6.8em)}#internal-intro-panel>p{margin-block-start:.8em;margin-block-end:.8em}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!\\n Theme: a11y-dark\\n Author: @ericwbailey\\n Maintainer: @ericwbailey\\n\\n Based on the Tomorrow Night Eighties theme: https://github.com/isagalaev/highlight.js/blob/master/src/styles/tomorrow-night-eighties.css\\n*/.hljs{background:#2b2b2b;color:#f8f8f2}.hljs-comment,.hljs-quote{color:#d4d0ab}.hljs-deletion,.hljs-name,.hljs-regexp,.hljs-selector-class,.hljs-selector-id,.hljs-tag,.hljs-template-variable,.hljs-variable{color:#ffa07a}.hljs-built_in,.hljs-link,.hljs-literal,.hljs-meta,.hljs-number,.hljs-params,.hljs-type{color:#f5ab35}.hljs-attribute{color:gold}.hljs-addition,.hljs-bullet,.hljs-string,.hljs-symbol{color:#abe338}.hljs-section,.hljs-title{color:#00e0e0}.hljs-keyword,.hljs-selector-tag{color:#dcc6e0}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}@media screen and (-ms-high-contrast: active){.hljs-addition,.hljs-attribute,.hljs-built_in,.hljs-bullet,.hljs-comment,.hljs-link,.hljs-literal,.hljs-meta,.hljs-number,.hljs-params,.hljs-quote,.hljs-string,.hljs-symbol,.hljs-type{color:highlight}.hljs-keyword,.hljs-selector-tag{font-weight:700}}#messages{overflow:auto}.outer-message-container:last-child{margin-bottom:5px}.inner-message-container{display:flex;margin-left:auto;margin-right:auto;width:calc(97.5% - 24px);max-width:100%}.message-bubble{margin-top:10px;word-wrap:break-word;width:fit-content;max-width:60%;border-radius:10px;padding:.42em .55em;height:fit-content;line-height:1.26em}.user-message-text{color:#fff;background-color:#0084ff;margin-right:0;margin-left:auto}.ai-message-text{color:#000;background-color:#e4e6eb;margin-left:0;margin-right:auto}.html-message{max-width:unset}.error-message-text{margin:14px auto 10px;background-color:#f4c0c0;color:#474747;text-align:center;max-width:95%}.loading-message-text{width:1em;padding:.6em .75em .6em 1.3em}.message-bubble>p:first-child{margin-top:0}.message-bubble>p:last-child{margin-bottom:0}pre{overflow:auto;display:block;word-break:break-all;word-wrap:break-word;border-radius:7px;background:#2b2b2b;color:#f8f8f2;margin-top:.8em;margin-bottom:.8em;padding:.6em;font-size:.9em;line-height:1.5em}.image-message{padding:0;display:flex;background-color:#ddd}.image-message>*,.image-message>*>*{width:100%;border-radius:8px;display:flex}.audio-message{width:60%;max-width:300px;height:2.2em;max-height:54px;padding:0;background-color:unset}.audio-player{width:100%;height:100%}.audio-player-safari{height:fit-content;width:40px}.audio-player-safari-left{float:left}.audio-player-safari-right{float:right}.any-file-message-bubble{padding:1px}.any-file-message-contents{display:flex}.any-file-message-icon-container{width:1.3em;min-width:1.3em;position:relative;border-radius:4px;margin-left:6px;margin-right:2px}.any-file-message-icon{background-color:#fff;border-radius:4px;position:absolute;width:1em;height:1.25em;padding:1px;margin-top:auto;margin-bottom:auto;top:0;bottom:0}.any-file-message-text{padding-top:5px;overflow-wrap:anywhere;padding-bottom:5px;padding-right:7px}.message-bubble>a{color:inherit}.left-item-position{margin-right:10px}.right-item-position{margin-left:10px}.avatar{padding-top:5px;width:1.5em;height:1.5em;border-radius:1px}.avatar-container{margin-top:9px}.name{margin-top:16px;font-size:15px}#drag-and-drop{position:absolute;display:none;z-index:10;height:calc(100% - 10px);width:calc(100% - 10px);background-color:#70c6ff4d;border:5px dashed #6dafff}#file-attachment-container{position:absolute;height:3.6em;width:calc(80% - 4px);top:-2.5em;border-radius:5px;overflow:auto;text-align:left;background-color:#d7d7d73b;padding-left:4px}.file-attachment{width:2.85em;height:2.85em;display:inline-flex;margin-right:.6em;margin-bottom:.44em;margin-top:4px;position:relative;background-color:#fff;border-radius:5px}.image-attachment{width:100%;height:100%;object-fit:cover;border-radius:5px}.border-bound-attachment{width:calc(100% - 2px);height:calc(100% - 2px);border:1px solid #c3c3c3;border-radius:5px;overflow:hidden}.border-bound-attachment-safari{width:calc(100% - 1px);height:calc(100% - 1px)}.audio-attachment-icon-container{cursor:pointer}.audio-attachment-icon-container:hover{background-color:#f8f8f8}.attachment-icon{left:0;right:0;bottom:0;top:2px;margin:auto;position:absolute;width:25px;-webkit-user-select:none;user-select:none}.not-removable-attachment-icon{top:0;right:0;bottom:0;left:0}.play-icon{filter:brightness(0) saturate(100%) invert(17%) sepia(0%) saturate(1392%) hue-rotate(67deg) brightness(98%) contrast(97%)}.stop-icon{filter:brightness(0) saturate(100%) invert(29%) sepia(90%) saturate(1228%) hue-rotate(198deg) brightness(93%) contrast(98%)}.audio-placeholder-text-3-digits{padding-left:.26rem}.audio-placeholder-text-4-digits{padding-left:.1rem}.any-file-attachment{padding:2px 0}.file-attachment-text-container{position:absolute;width:inherit;display:flex;align-items:center;height:100%;top:-1px}.audio-placeholder-text-3-digits-container{padding-top:1px;cursor:default}.any-file-attachment-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden;padding-left:.13em;margin-left:auto;margin-right:auto}.remove-file-attachment-button{height:1.25em;width:1.25em;border:1px solid #cfcfcf;border-radius:25px;background-color:#fff;top:-4px;right:-5px;position:absolute;display:flex;justify-content:center;cursor:pointer;-webkit-user-select:none;user-select:none}.remove-file-attachment-button:hover{background-color:#e4e4e4}.remove-file-attachment-button:active{background-color:#d7d7d7}.x-icon{color:#4e4e4e;top:-.075em;position:relative;font-size:1.05em}.modal{display:none;flex-direction:column;align-items:center;justify-content:center;position:absolute;width:80%;max-width:420px;max-height:80%;margin:auto;top:0;right:0;bottom:0;left:0;z-index:2}.modal-content{border-top:1px solid rgb(217,217,217);border-left:1px solid rgb(217,217,217);border-right:1px solid rgb(217,217,217);border-top-left-radius:inherit;border-top-right-radius:inherit;background-color:#fff;overflow-y:auto;height:fit-content;max-height:calc(100% - 3.3em);width:100%}.modal-content>p{margin-left:1em;margin-right:1em}.modal-content>ul{margin-right:1em}.modal-button-panel{height:3.3em;border:1px solid;border-color:rgb(223,223,223) rgb(217,217,217) rgb(217,217,217);border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;background-color:#fff;text-align:center;justify-content:center;display:flex;width:100%}.modal-button{min-width:2.5em;text-align:center;color:#fff;border-radius:5px;padding:.4em .4em .3em;height:1.25em;background-color:#3279b2;top:0;bottom:0;cursor:pointer;-webkit-user-select:none;user-select:none;margin:auto .31em}.modal-button:hover{background-color:#276da7}.modal-button:active{background-color:#1b5687}.modal-svg-button{padding:0 0 2px;width:2em;height:1.8em}.modal-svg-button-icon{width:100%;height:100%;filter:brightness(0) saturate(100%) invert(100%) sepia(15%) saturate(4%) hue-rotate(346deg) brightness(101%) contrast(102%)}#modal-background-panel{position:absolute;width:100%;height:100%;background-color:#00000042;z-index:1;display:none}.show-modal-background{animation:fadeInBackground .3s ease-in-out}@keyframes fadeInBackground{0%{opacity:0}to{opacity:1}}.show-modal{animation:fadeInModal .3s ease-in-out}@keyframes fadeInModal{0%{opacity:0;scale:.95}to{opacity:1;scale:1}}.hide-modal-background{animation:fadeOutBackground .2s ease-in-out}@keyframes fadeOutBackground{0%{opacity:1}to{opacity:0}}.hide-modal{animation:fadeOutModal .2s ease-in-out}@keyframes fadeOutModal{0%{opacity:1;scale:1}to{opacity:0;scale:.95}}.modal-camera-content{overflow:hidden;text-align:center;border:unset;height:100%;background-color:#2a2a2a;display:flex;justify-content:center}.camera-modal-canvas{max-width:100%;max-height:100%;margin-top:auto;margin-bottom:auto}.modal-svg-submit-button{background-color:green}.modal-svg-submit-button:hover{background-color:#007500}.modal-svg-submit-button:active{background-color:#006500}.modal-svg-submit-disabled{pointer-events:none;background-color:#747474}.modal-svg-close-button{height:1.56em;padding-top:.37em;padding-bottom:0;background-color:#c13e3e}.modal-svg-close-button:hover{background-color:#b43434}.modal-svg-close-button:active{background-color:#972929}.modal-svg-close-icon{width:80%;height:80%}.modal-svg-camera-button{height:1.6em;padding-top:.38em;padding-bottom:0}.modal-svg-camera-icon{height:76%}.modal-svg-refresh-icon{height:105%}.modal-svg-refresh-button{height:1.66em;padding-top:.11em;padding-bottom:.21em}.input-button-container{position:relative;z-index:1}.inside-right{position:absolute;right:calc(10% + .35em);bottom:.85em}.inside-left{position:absolute;left:calc(10% + .35em);bottom:.85em}.outside-left{position:absolute;right:calc(11px - .55em);bottom:.88em}.outside-right{position:absolute;left:calc(11px - .55em);bottom:.88em}#upload-images-icon{position:absolute;pointer-events:none;width:1.45em;height:1.45em;left:.11em;bottom:.08em;filter:brightness(0) saturate(100%) invert(43%) sepia(0%) saturate(740%) hue-rotate(77deg) brightness(99%) contrast(92%)}#upload-gifs-icon{position:absolute;pointer-events:none;width:1.5em;height:1.48em;left:.07em;bottom:.08em;filter:brightness(0) saturate(100%) invert(49%) sepia(0%) saturate(2586%) hue-rotate(12deg) brightness(93%) contrast(90%)}#upload-audio-icon{position:absolute;pointer-events:none;width:1.21em;height:1.21em;left:.17em;bottom:.2em;filter:brightness(0) saturate(100%) invert(15%) sepia(0%) saturate(337%) hue-rotate(125deg) brightness(91%) contrast(94%);transform:scaleX(.95)}#camera-icon{position:absolute;pointer-events:none;width:1.21em;height:1.21em;left:.23em;bottom:.2em;filter:brightness(0) saturate(100%) invert(52%) sepia(0%) saturate(161%) hue-rotate(164deg) brightness(91%) contrast(92%);transform:scaleX(.95)}#upload-mixed-files-icon{position:absolute;pointer-events:none;width:1.21em;height:1.21em;left:.25em;bottom:.2em;filter:brightness(0) saturate(100%) invert(53%) sepia(0%) saturate(36%) hue-rotate(74deg) brightness(98%) contrast(93%);transform:scaleX(.95)}#interim-text{color:gray}#microphone-button{padding-top:.5px}.outer-button-container>#microphone-button{padding-bottom:1px}#microphone-icon{position:absolute;pointer-events:none;width:1.21em;height:1.21em;left:.25em;bottom:.25em}.default-microphone-icon{filter:brightness(0) saturate(100%) invert(32%) sepia(0%) saturate(924%) hue-rotate(46deg) brightness(95%) contrast(99%)}.active-microphone-icon{filter:brightness(0) saturate(100%) invert(10%) sepia(97%) saturate(7495%) hue-rotate(0deg) brightness(101%) contrast(107%);border-radius:10px}.command-microphone-icon{filter:brightness(0) saturate(100%) invert(42%) sepia(96%) saturate(1067%) hue-rotate(77deg) brightness(99%) contrast(102%)}.unsupported-microphone{display:none}#submit-icon{height:100%;filter:brightness(0) saturate(100%) invert(32%) sepia(0%) saturate(924%) hue-rotate(46deg) brightness(95%) contrast(99%);width:1.21em}#stop-icon{background-color:#acacac;position:absolute;width:.95em;height:.95em;left:.35em;bottom:.35em;border-radius:2px}.submit-button-enlarged{scale:1.1;margin-right:.3em;margin-left:.3em}.dots-jumping{position:relative;left:calc(-9990px + .275em);width:.22em;height:.22em;border-radius:5px;background-color:#848484;color:#848484;box-shadow:9990px 0 #848484,calc(9990px + .44em) 0 0 0 #848484,calc(9990px + .8em) 0 0 0 #848484;animation:dots-jumping 1.5s infinite linear;bottom:-.75em}@keyframes dots-jumping{0%{box-shadow:9990px 0 #848484,calc(9990px + .44em) 0 0 0 #848484,calc(9990px + .8em) 0 0 0 #848484}16.667%{box-shadow:9990px -6px #848484,calc(9990px + .44em) 0 0 0 #848484,calc(9990px + .8em) 0 0 0 #848484}33.333%{box-shadow:9990px 0 #848484,calc(9990px + .44em) 0 0 0 #848484,calc(9990px + .8em) 0 0 0 #848484}50%{box-shadow:9990px 0 #848484,calc(9990px + .44em) -6px 0 0 #848484,calc(9990px + .8em) 0 0 0 #848484}66.667%{box-shadow:9990px 0 #848484,calc(9990px + .44em) 0 0 0 #848484,calc(9990px + .8em) 0 0 0 #848484}83.333%{box-shadow:9990px 0 #848484,calc(9990px + .44em) 0 0 0 #848484,calc(9990px + .8em) -6px 0 0 #848484}to{box-shadow:9990px 0 #848484,calc(9990px + .44em) 0 0 0 #848484,calc(9990px + .8em) 0 0 0 #848484}}.dots-flashing{position:relative;width:.45em;height:.45em;border-radius:5px;background-color:var(--message-dots-color);color:var(--message-dots-color);animation:dots-flashing 1s infinite linear alternate;animation-delay:.5s}.dots-flashing:before,.dots-flashing:after{content:\\\"\\\";display:inline-block;position:absolute;top:0}.dots-flashing:before{left:-.7em;width:.45em;height:.45em;border-radius:5px;background-color:var(--message-dots-color);color:var(--message-dots-color);animation:dots-flashing 1s infinite alternate;animation-delay:0s}.dots-flashing:after{left:.7em;width:.45em;height:.45em;border-radius:5px;background-color:var(--message-dots-color);color:var(--message-dots-color);animation:dots-flashing 1s infinite alternate;animation-delay:1s}@keyframes dots-flashing{0%{background-color:var(--message-dots-color)}50%,to{background-color:var(--message-dots-color-fade)}}.input-button{border-radius:4px;cursor:pointer;margin-bottom:.2em;-webkit-user-select:none;user-select:none}.input-button-svg{width:1.65em;height:1.65em}.input-button:hover{background-color:#9c9c9c2e}.input-button:active{background-color:#9c9c9c5e}.loading-button{cursor:auto}.loading-button:hover{background-color:unset}.text-button{filter:unset!important;display:flex;justify-content:center;align-items:center;margin-left:4px;margin-right:4px;height:1.6em}#text-input-container{background-color:#fff;width:80%;display:flex;border:1px solid #0000001a;border-radius:5px;margin-top:.8em;margin-bottom:.8em;box-shadow:#959da533 0 1px 12px;overflow-y:auto;max-height:200px;position:relative}.text-input-container-left-adjustment{margin-left:1.5em}.text-input-container-right-adjustment{margin-right:1.5em}.text-input-container-left-small-adjustment{margin-left:1.1em}.text-input-container-left-small-adjustment>.outside-left{right:calc(14px - .55em)}.text-input-container-right-small-adjustment{margin-right:1.1em}.text-input-container-right-small-adjustment>.outside-right{left:calc(14px - .55em)}#text-input{text-align:left;outline:none;word-wrap:break-word;line-break:auto}.text-input-styling{padding:.4em .5em;overflow:overlay;width:100%}.text-input-inner-left-adjustment{padding-left:2.2em}.text-input-inner-right-adjustment{padding-right:2em}.text-input-disabled{pointer-events:none;-webkit-user-select:none;user-select:none}.text-input-placeholder{color:gray}.outside-right>#dropup-menu,.inside-right>#dropup-menu{right:0}#dropup-icon{position:absolute;pointer-events:none;width:1.16em;height:1.2em;left:.265em;bottom:.43em;filter:brightness(0) saturate(100%) invert(54%) sepia(0%) saturate(724%) hue-rotate(6deg) brightness(92%) contrast(90%)}#dropup-menu{background-color:#fff;position:absolute;transform:translateY(-100%);border-radius:5px;z-index:1;top:-.49em;box-shadow:#0003 -1px 2px 10px,#0000001a 0 2px 4px;cursor:pointer;-webkit-user-select:none;user-select:none}.dropup-menu-item{height:1.4em;padding:.28em .84em .28em .35em;display:flex;position:relative}.dropup-menu-item:first-child{padding-top:.49em;border-top-left-radius:inherit;border-top-right-radius:inherit}.dropup-menu-item:last-child{padding-bottom:.45em;border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.dropup-menu-item-icon{width:1.39em;position:relative;margin-right:.56em}.dropup-menu-item-icon>svg{bottom:0!important;top:0!important;margin-bottom:auto;margin-top:auto}.dropup-menu-item-text{margin-top:.08em;width:max-content}#input{width:100%;display:inline-flex;text-align:center;margin-left:auto;margin-right:auto;margin-top:auto;position:relative;justify-content:center}#chat-view{height:100%;display:grid;grid-template-columns:100%}::-webkit-scrollbar{width:9px;height:9px}::-webkit-scrollbar-thumb{background-color:#d0d0d0;border-radius:5px}::-webkit-scrollbar-track{background-color:#f2f2f2}.deep-chat-web-model-button{margin-top:10px;margin-bottom:5px;margin-left:1px}:host{all:initial;display:table-cell}#container{height:inherit;width:inherit;overflow:hidden}\";\nvar ga = Object.defineProperty,\n S = function S(s, e, t, i) {\n for (var n = void 0, r = s.length - 1, o; r >= 0; r--) (o = s[r]) && (n = o(e, t, n) || n);\n return n && ga(e, t, n), n;\n };\nvar E = /*#__PURE__*/function (_Zi) {\n function E() {\n var _this80;\n _classCallCheck(this, E);\n _this80 = _callSuper(this, E), _this80.getMessages = function () {\n return [];\n }, _this80.submitUserMessage = function () {\n return console.warn(\"submitUserMessage failed - please wait for chat view to render before calling this property.\");\n }, _this80.addMessage = function () {\n return console.warn(\"addMessage failed - please wait for chat view to render before calling this property.\");\n }, _this80.focusInput = function () {\n return Ei.focusFromParentElement(_this80._elementRef);\n }, _this80.refreshMessages = function () {}, _this80.clearMessages = function () {}, _this80.scrollToBottom = function () {}, _this80.disableSubmitButton = function () {}, _this80.setPlaceholderText = function () {}, _this80._hasBeenRendered = !1, _this80._auxiliaryStyleApplied = !1, _this80._elementRef = document.createElement(\"div\"), _this80._elementRef.id = \"container\", _this80.attachShadow({\n mode: \"open\"\n }).appendChild(_this80._elementRef), yt.apply(ma, _this80.shadowRoot), setTimeout(function () {\n _this80._hasBeenRendered || _this80.onRender();\n }, 20);\n return _this80;\n }\n _inherits(E, _Zi);\n return _createClass(E, [{\n key: \"changeToChatView\",\n value: function changeToChatView() {\n this._activeService && (this._activeService.validateKeyProperty = !1), this.onRender();\n }\n // prettier-ignore\n }, {\n key: \"onRender\",\n value: function onRender() {\n var _this$_childElement;\n Zt.attemptAppendStyleSheetToHead(this.style), te.processConnect(this), (!this._activeService || this._activeService.demo) && (this._activeService = Ro.create(this)), this.auxiliaryStyle && !this._auxiliaryStyleApplied && (yt.apply(this.auxiliaryStyle, this.shadowRoot), this._auxiliaryStyleApplied = !0), yt.applyDefaultStyleToComponent(this.style, this.chatStyle), te.checkForContainerStyles(this, this._elementRef), this._activeService.key && this._activeService.validateKeyProperty ? Xt.render(this._elementRef, this.changeToChatView.bind(this), this._activeService) : !(this._activeService instanceof z) || this._activeService.key ? ((_this$_childElement = this._childElement) !== null && _this$_childElement !== void 0 ? _this$_childElement : this._childElement = this.children[0], yn.render(this, this._elementRef, this._activeService, this._childElement)) : this._activeService instanceof z && U.render(this._elementRef, this.changeToChatView.bind(this), this._activeService), this._hasBeenRendered = !0, ei.onRender(this);\n }\n }, {\n key: \"disconnectedCallback\",\n value: function disconnectedCallback() {\n It.chat = void 0;\n }\n }]);\n}(Zi);\nS([_(\"object\")], E.prototype, \"connect\");\nS([_(\"object\")], E.prototype, \"directConnection\");\nS([_(\"object\")], E.prototype, \"webModel\");\nS([_(\"object\")], E.prototype, \"requestBodyLimits\");\nS([_(\"function\")], E.prototype, \"requestInterceptor\");\nS([_(\"function\")], E.prototype, \"responseInterceptor\");\nS([_(\"function\")], E.prototype, \"validateInput\");\nS([_(\"function\")], E.prototype, \"loadHistory\");\nS([_(\"object\")], E.prototype, \"chatStyle\");\nS([_(\"object\")], E.prototype, \"attachmentContainerStyle\");\nS([_(\"object\")], E.prototype, \"dropupStyles\");\nS([_(\"object\")], E.prototype, \"inputAreaStyle\");\nS([_(\"object\")], E.prototype, \"textInput\");\nS([_(\"object\")], E.prototype, \"submitButtonStyles\");\nS([_(\"string\")], E.prototype, \"auxiliaryStyle\");\nS([_(\"array\")], E.prototype, \"history\");\nS([_(\"object\")], E.prototype, \"introMessage\");\nS([_(\"object\")], E.prototype, \"avatars\");\nS([_(\"object\")], E.prototype, \"names\");\nS([_(\"boolean\")], E.prototype, \"displayLoadingBubble\");\nS([_(\"object\")], E.prototype, \"errorMessages\");\nS([_(\"object\")], E.prototype, \"messageStyles\");\nS([_(\"object\")], E.prototype, \"textToSpeech\");\nS([_(\"object\")], E.prototype, \"speechToText\");\nS([_(\"object\")], E.prototype, \"images\");\nS([_(\"object\")], E.prototype, \"gifs\");\nS([_(\"object\")], E.prototype, \"camera\");\nS([_(\"object\")], E.prototype, \"audio\");\nS([_(\"object\")], E.prototype, \"microphone\");\nS([_(\"object\")], E.prototype, \"mixedFiles\");\nS([_(\"object\")], E.prototype, \"dragAndDrop\");\nS([_(\"object\")], E.prototype, \"introPanelStyle\");\nS([_(\"object\")], E.prototype, \"htmlClassUtilities\");\nS([_(\"function\")], E.prototype, \"onMessage\");\nS([_(\"function\")], E.prototype, \"onClearMessages\");\nS([_(\"function\")], E.prototype, \"onComponentRender\");\nS([_(\"function\")], E.prototype, \"onError\");\nS([_(\"object\")], E.prototype, \"demo\");\nS([_(\"object\")], E.prototype, \"_insertKeyViewStyles\");\ncustomElements.define(\"deep-chat\", E);\nexport { E as DeepChat };\n","import * as React from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../utils/cn';\n\nconst overlayLayer = cva(\n [\n 'absolute top-0 left-0 size-full',\n 'align-middle',\n 'p-lr-spacing-200',\n 'select-none',\n 'will-change-[opacity]',\n 'z-[1000]',\n 'items-center justify-center',\n 'opacity-0',\n 'transition-opacity duration-200'\n ].join(' '),\n {\n variants: {\n active: { true: 'flex opacity-100', false: 'hidden' },\n variant: { light: 'bg-lr-bg-main/70', transparent: 'bg-transparent' }\n },\n defaultVariants: {\n active: false,\n variant: 'light'\n }\n }\n);\n\nexport interface OverlayLayerProps\n extends React.HTMLAttributes<HTMLDivElement>,\n Omit<VariantProps<typeof overlayLayer>, 'active'> {\n active?: boolean;\n disableClick?: boolean;\n}\n\nfunction OverlayLayer({\n active = false,\n variant,\n disableClick = true,\n className,\n onClick,\n children,\n ...rest\n}: OverlayLayerProps) {\n return (\n <div\n aria-hidden=\"true\"\n className={cn(overlayLayer({ active, variant }), className)}\n onClick={(e) => {\n if (disableClick) return;\n onClick?.(e);\n }}\n {...rest}\n >\n {children ? <div className=\"select-text\">{children}</div> : null}\n </div>\n );\n}\n\nexport interface OverlayProps extends React.HTMLAttributes<HTMLDivElement> {\n /** show/hide overlay layer */\n active: boolean;\n\n /** blur or not overlay layer */\n blur?: boolean;\n\n /** content displayed on the overlay layer (spinner, message...) */\n layer?: React.ReactNode;\n\n /** overlay background */\n overlayVariant?: OverlayLayerProps['variant'];\n\n /** Marks region busy for screen readers (loading use-case) */\n busy?: boolean;\n\n /** className applied to the overlay layer */\n layerClassName?: string;\n\n /** props forwarded to the overlay layer */\n layerProps?: Omit<OverlayLayerProps, 'active' | 'children' | 'variant'>;\n}\n\n/**\n * Overlay = composition frame:\n * - anchors a target (relative wrapper)\n * - optionally blocks/blur/inert the target\n * - renders the overlay layer above\n */\nexport function Overlay({\n active,\n layer,\n overlayVariant = 'light',\n blur = false,\n busy = false,\n layerClassName,\n layerProps,\n className,\n children,\n ...rest\n}: OverlayProps) {\n const targetRef = React.useRef<HTMLDivElement>(null);\n\n React.useEffect(() => {\n const el = targetRef.current;\n if (!el) return;\n\n setInert(el, active);\n return () => setInert(el, false);\n }, [active]);\n\n return (\n <div\n className={cn('relative', className)}\n aria-busy={busy && active ? true : undefined}\n aria-live={busy ? 'polite' : undefined}\n {...rest}\n >\n <div\n ref={targetRef}\n className={cn(active && blur ? 'opacity-50 blur-[3px] transition-[filter,opacity] duration-200' : '')}\n >\n {children}\n </div>\n\n <OverlayLayer active={active} variant={overlayVariant} className={layerClassName} {...layerProps}>\n {layer ?? null}\n </OverlayLayer>\n </div>\n );\n}\n\nOverlay.Layer = OverlayLayer;\n\nexport function setInert(el: HTMLElement, inert: boolean) {\n if ('inert' in el) {\n el.inert = inert;\n return;\n }\n\n if (!inert) return;\n const active = document.activeElement as HTMLElement | null;\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-expect-error\n if (active && el.contains(active)) active.blur();\n}\n","import createIcon from '../../icons/createIcon';\n\nconst IconLoadingCircleDark = createIcon('IconLoadingCircleDark', '0 0 64 64', [\n [\n 'g',\n {\n 'clip-path': 'url(#paint0_angular_406_11507_clip_path)',\n 'data-figma-skip-parse': 'true',\n key: '17fdb8'\n },\n [\n {\n name: 'g',\n type: 'element',\n value: '',\n parent: null,\n attributes: {\n transform: 'matrix(0.024 5.95646e-05 -5.95646e-05 0.024 32 32)',\n key: 'dea056'\n },\n children: [\n {\n name: 'foreignObject',\n type: 'element',\n value: '',\n parent: null,\n attributes: {\n x: '-1086.02',\n y: '-1086.02',\n width: '2172.03',\n height: '2172.03',\n key: '6aa2b0'\n },\n children: [\n {\n name: 'div',\n type: 'element',\n value: '',\n parent: null,\n attributes: {\n xmlns: 'http://www.w3.org/1999/xhtml',\n style: 'background:conic-gradient(from 90deg,rgba(18, 21, 27, 1) 0deg,rgba(7, 20, 38, 0.05) 269.818deg,rgba(7, 20, 38, 0) 315deg,rgba(18, 21, 27, 1) 360deg);height:100%;width:100%;opacity:1',\n key: 'f8c856'\n },\n children: []\n }\n ]\n }\n ]\n }\n ]\n ],\n [\n 'path',\n {\n d: 'M18.666 12.0449C23.2825 8.96027 28.8261 7.57123 34.3516 8.11523C39.8774 8.65948 45.0445 11.1031 48.9707 15.0293L43.3145 20.6855C40.697 18.0681 37.2522 16.439 33.5684 16.0762C29.8845 15.7133 26.1892 16.6407 23.1113 18.6973C20.0336 20.7538 17.764 23.8132 16.6895 27.3555C15.6149 30.8978 15.8022 34.7031 17.2188 38.123C18.6353 41.5427 21.1927 44.3664 24.457 46.1113C27.7215 47.8562 31.4907 48.4154 35.1211 47.6934C38.7516 46.9712 42.0208 45.0118 44.3691 42.1504C46.7173 39.289 48 35.7015 48 32H56C56 37.5522 54.0748 42.9326 50.5527 47.2246C47.0303 51.5168 42.1275 54.4558 36.6816 55.5391C31.236 56.6221 25.5823 55.7834 20.6855 53.166C15.789 50.5485 11.9509 46.3132 9.82617 41.1836C7.70168 36.054 7.42152 30.3463 9.0332 25.0332C10.645 19.7199 14.0494 15.1297 18.666 12.0449Z',\n 'data-figma-gradient-fill':\n '{"type":"GRADIENT_ANGULAR","stops":[{"color":{"r":0.070588238537311554,"g":0.082352943718433380,"b":0.10588235408067703,"a":1.0},"position":0.0},{"color":{"r":0.027450980618596077,"g":0.078431375324726105,"b":0.14901961386203766,"a":0.050000000745058060},"position":0.74949485063552856},{"color":{"r":0.027450980618596077,"g":0.078431375324726105,"b":0.14901961386203766,"a":0.0},"position":0.8750}],"stopsVar":[],"transform":{"m00":47.999988555908203,"m01":-0.11912918835878372,"m02":8.0595760345458984,"m10":0.11912916600704193,"m11":47.999988555908203,"m12":7.9404435157775879},"opacity":1.0,"blendMode":"NORMAL","visible":true}',\n key: '8ecfbd'\n },\n []\n ],\n [\n 'defs',\n {\n key: '501799'\n },\n [\n {\n name: 'clipPath',\n type: 'element',\n value: '',\n parent: null,\n attributes: {\n id: 'paint0_angular_406_11507_clip_path',\n key: '102537'\n },\n children: [\n {\n name: 'path',\n type: 'element',\n value: '',\n parent: null,\n attributes: {\n d: 'M18.666 12.0449C23.2825 8.96027 28.8261 7.57123 34.3516 8.11523C39.8774 8.65948 45.0445 11.1031 48.9707 15.0293L43.3145 20.6855C40.697 18.0681 37.2522 16.439 33.5684 16.0762C29.8845 15.7133 26.1892 16.6407 23.1113 18.6973C20.0336 20.7538 17.764 23.8132 16.6895 27.3555C15.6149 30.8978 15.8022 34.7031 17.2188 38.123C18.6353 41.5427 21.1927 44.3664 24.457 46.1113C27.7215 47.8562 31.4907 48.4154 35.1211 47.6934C38.7516 46.9712 42.0208 45.0118 44.3691 42.1504C46.7173 39.289 48 35.7015 48 32H56C56 37.5522 54.0748 42.9326 50.5527 47.2246C47.0303 51.5168 42.1275 54.4558 36.6816 55.5391C31.236 56.6221 25.5823 55.7834 20.6855 53.166C15.789 50.5485 11.9509 46.3132 9.82617 41.1836C7.70168 36.054 7.42152 30.3463 9.0332 25.0332C10.645 19.7199 14.0494 15.1297 18.666 12.0449Z',\n key: 'f298fb'\n },\n children: []\n }\n ]\n }\n ]\n ]\n]);\n\nexport { IconLoadingCircleDark };\n","import { Overlay, type OverlayProps } from '../Overlay/Overlay';\nimport { IconLoadingCircleDark } from '../icons/IconLoadingCircleDark';\n\nexport interface LoadingOverlayProps extends Omit<OverlayProps, 'layer'> {\n label?: string;\n indicator?: React.ReactNode;\n}\n\nexport function LoadingOverlay({\n label = 'Loading…',\n indicator = <IconLoadingCircleDark className=\"animate-reverse-spin\" size=\"md\" />,\n overlayVariant = 'light',\n blur = false,\n busy = true,\n ...rest\n}: LoadingOverlayProps) {\n return (\n <Overlay\n {...rest}\n busy={busy}\n overlayVariant={overlayVariant}\n blur={blur}\n layer={\n <>\n <span className=\"sr-only\">{label}</span>\n {indicator}\n </>\n }\n />\n );\n}\n","import type { DeepChat } from 'deep-chat';\nimport {\n BorderRadiusLrBorderRadiusRadius100,\n BorderRadiusLrBorderRadiusRadius200,\n BorderRadiusLrBorderRadiusRadiusNone,\n ColorLrColorBgMain,\n ColorLrColorBgMainAlt,\n ColorLrColorBgMainInverse,\n ColorLrColorIconMain,\n ColorLrColorTextMainInverse,\n FontFamilyLrFontFamilyDefault,\n FontSizeLrFontSize175,\n FontWeightLrFontWeightMedium,\n LineHeightLrFontLineHeight275,\n SizeLrSizeSize600,\n SpaceLrSpacingSpacing100,\n SpaceLrSpacingSpacing150,\n SpaceLrSpacingSpacing250\n} from '@laredoute/design-system/tokens';\n\n// Bubbles drawn by deep-chat itself (customer messages, typing indicator).\nconst bubblePadding = `${SpaceLrSpacingSpacing100} ${SpaceLrSpacingSpacing150}`;\n\nconst incomingBubble = {\n backgroundColor: ColorLrColorBgMainInverse,\n color: ColorLrColorTextMainInverse,\n fontFamily: FontFamilyLrFontFamilyDefault,\n fontSize: FontSizeLrFontSize175,\n fontWeight: String(FontWeightLrFontWeightMedium),\n lineHeight: LineHeightLrFontLineHeight275,\n padding: bubblePadding,\n borderRadius: BorderRadiusLrBorderRadiusRadius200,\n borderTopRightRadius: '0',\n boxSizing: 'border-box',\n minHeight: SizeLrSizeSize600,\n display: 'flex',\n alignItems: 'center',\n width: 'auto',\n maxWidth: '100%',\n marginTop: '0'\n};\n\n// Sized as in Figma: 58×42 with the dots centred by the bubble itself.\nconst typingBubble = {\n backgroundColor: ColorLrColorBgMain,\n color: ColorLrColorIconMain,\n padding: `0 ${SpaceLrSpacingSpacing150}`,\n borderRadius: BorderRadiusLrBorderRadiusRadius100,\n borderTopLeftRadius: BorderRadiusLrBorderRadiusRadiusNone,\n boxSizing: 'border-box',\n width: '58px',\n height: '42px',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n marginTop: '0'\n};\n\n/** deep-chat configuration, assigned imperatively once the element is in the DOM. */\nexport const DeepChatStyle: Partial<DeepChat> = {\n chatStyle: {\n fontFamily: FontFamilyLrFontFamilyDefault,\n border: 'none',\n borderRadius: BorderRadiusLrBorderRadiusRadiusNone,\n backgroundColor: ColorLrColorBgMainAlt,\n overflow: 'unset',\n width: '100%'\n },\n messageStyles: {\n default: {\n shared: {\n bubble: {\n fontFamily: FontFamilyLrFontFamilyDefault,\n maxWidth: '100%',\n marginTop: '0'\n },\n innerContainer: {\n alignItems: 'flex-start'\n },\n outerContainer: {\n margin: '0.5rem 0'\n }\n },\n ai: {\n // Transparent wrapper: the bubble is `ChatbotMessageBubble`.\n bubble: {\n background: 'none',\n color: 'inherit',\n padding: '0',\n width: '100%'\n }\n },\n user: {\n bubble: incomingBubble\n },\n lr: {\n bubble: {\n background: 'none',\n color: 'inherit',\n padding: '0',\n width: '100%',\n maxWidth: '100%'\n },\n outerContainer: {\n margin: '0'\n }\n }\n },\n loading: {\n bubble: typingBubble\n }\n },\n // The message is typed in `ChatbotSearchField`, rendered by React under the element.\n inputAreaStyle: {\n display: 'none'\n },\n auxiliaryStyle: `\n /* Pin the dots in px: deep-chat sizes them in em. */\n .loading-message-text {\n --message-dots-color: ${ColorLrColorIconMain};\n --message-dots-color-fade: ${ColorLrColorBgMain};\n width: 5px;\n height: 5px;\n padding: 0;\n }\n .dots-flashing,\n .dots-flashing:before,\n .dots-flashing:after {\n width: 5px;\n height: 5px;\n border-radius: 50%;\n }\n .dots-flashing:before {\n left: -12px;\n }\n .dots-flashing:after {\n left: 12px;\n }\n #messages {\n height: calc(100dvh - 128px);\n display: flex;\n flex-direction: column;\n @media (min-width: 768px)\n {\n height: 468px;\n }\n } \n .outer-message-container:last-child\n {\n margin-bottom: 1rem;\n } \n .outer-message-container:nth-child(2)\n {\n margin-block-start: auto !important;\n }\n @media (min-width: 768px) {\n .user-message-text {\n padding: ${SpaceLrSpacingSpacing150} ${SpaceLrSpacingSpacing250};\n }\n }\n `\n};\n","/*! @license DOMPurify 3.4.13 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.4.13/LICENSE */\n\nfunction _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nfunction _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nfunction _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = true,\n o = false;\n try {\n if (i = (t = t.call(r)).next, 0 === l) ; else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = true, n = r;\n } finally {\n try {\n if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction _slicedToArray(r, e) {\n return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();\n}\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return _arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;\n }\n}\n\nconst entries = Object.entries,\n setPrototypeOf = Object.setPrototypeOf,\n isFrozen = Object.isFrozen,\n getPrototypeOf = Object.getPrototypeOf,\n getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nlet freeze = Object.freeze,\n seal = Object.seal,\n create = Object.create; // eslint-disable-line import/no-mutable-exports\nlet _ref = typeof Reflect !== 'undefined' && Reflect,\n apply = _ref.apply,\n construct = _ref.construct;\nif (!freeze) {\n freeze = function freeze(x) {\n return x;\n };\n}\nif (!seal) {\n seal = function seal(x) {\n return x;\n };\n}\nif (!apply) {\n apply = function apply(func, thisArg) {\n for (var _len = arguments.length, args = new Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++) {\n args[_key - 2] = arguments[_key];\n }\n return func.apply(thisArg, args);\n };\n}\nif (!construct) {\n construct = function construct(Func) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n return new Func(...args);\n };\n}\nconst arrayForEach = unapply(Array.prototype.forEach);\nconst arrayLastIndexOf = unapply(Array.prototype.lastIndexOf);\nconst arrayPop = unapply(Array.prototype.pop);\nconst arrayPush = unapply(Array.prototype.push);\nconst arraySplice = unapply(Array.prototype.splice);\nconst arrayIsArray = Array.isArray;\nconst stringToLowerCase = unapply(String.prototype.toLowerCase);\nconst stringToString = unapply(String.prototype.toString);\nconst stringMatch = unapply(String.prototype.match);\nconst stringReplace = unapply(String.prototype.replace);\nconst stringIndexOf = unapply(String.prototype.indexOf);\nconst stringTrim = unapply(String.prototype.trim);\nconst numberToString = unapply(Number.prototype.toString);\nconst booleanToString = unapply(Boolean.prototype.toString);\nconst bigintToString = typeof BigInt === 'undefined' ? null : unapply(BigInt.prototype.toString);\nconst symbolToString = typeof Symbol === 'undefined' ? null : unapply(Symbol.prototype.toString);\nconst objectHasOwnProperty = unapply(Object.prototype.hasOwnProperty);\nconst objectToString = unapply(Object.prototype.toString);\nconst regExpTest = unapply(RegExp.prototype.test);\nconst typeErrorCreate = unconstruct(TypeError);\n/**\n * Creates a new function that calls the given function with a specified thisArg and arguments.\n *\n * @param func - The function to be wrapped and called.\n * @returns A new function that calls the given function with a specified thisArg and arguments.\n */\nfunction unapply(func) {\n return function (thisArg) {\n if (thisArg instanceof RegExp) {\n thisArg.lastIndex = 0;\n }\n for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n args[_key3 - 1] = arguments[_key3];\n }\n return apply(func, thisArg, args);\n };\n}\n/**\n * Creates a new function that constructs an instance of the given constructor function with the provided arguments.\n *\n * @param func - The constructor function to be wrapped and called.\n * @returns A new function that constructs an instance of the given constructor function with the provided arguments.\n */\nfunction unconstruct(Func) {\n return function () {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n return construct(Func, args);\n };\n}\n/**\n * Add properties to a lookup table\n *\n * @param set - The set to which elements will be added.\n * @param array - The array containing elements to be added to the set.\n * @param transformCaseFunc - An optional function to transform the case of each element before adding to the set.\n * @returns The modified set with added elements.\n */\nfunction addToSet(set, array) {\n let transformCaseFunc = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : stringToLowerCase;\n if (setPrototypeOf) {\n // Make 'in' and truthy checks like Boolean(set.constructor)\n // independent of any properties defined on Object.prototype.\n // Prevent prototype setters from intercepting set as a this value.\n setPrototypeOf(set, null);\n }\n if (!arrayIsArray(array)) {\n return set;\n }\n let l = array.length;\n while (l--) {\n let element = array[l];\n if (typeof element === 'string') {\n const lcElement = transformCaseFunc(element);\n if (lcElement !== element) {\n // Config presets (e.g. tags.js, attrs.js) are immutable.\n if (!isFrozen(array)) {\n array[l] = lcElement;\n }\n element = lcElement;\n }\n }\n set[element] = true;\n }\n return set;\n}\n/**\n * Clean up an array to harden against CSPP\n *\n * @param array - The array to be cleaned.\n * @returns The cleaned version of the array\n */\nfunction cleanArray(array) {\n for (let index = 0; index < array.length; index++) {\n const isPropertyExist = objectHasOwnProperty(array, index);\n if (!isPropertyExist) {\n array[index] = null;\n }\n }\n return array;\n}\n/**\n * Shallow clone an object\n *\n * @param object - The object to be cloned.\n * @returns A new object that copies the original.\n */\nfunction clone(object) {\n const newObject = create(null);\n for (const _ref2 of entries(object)) {\n var _ref3 = _slicedToArray(_ref2, 2);\n const property = _ref3[0];\n const value = _ref3[1];\n const isPropertyExist = objectHasOwnProperty(object, property);\n if (isPropertyExist) {\n if (arrayIsArray(value)) {\n newObject[property] = cleanArray(value);\n } else if (value && typeof value === 'object' && value.constructor === Object) {\n newObject[property] = clone(value);\n } else {\n newObject[property] = value;\n }\n }\n }\n return newObject;\n}\n/**\n * Convert non-node values into strings without depending on direct property access.\n *\n * @param value - The value to stringify.\n * @returns A string representation of the provided value.\n */\nfunction stringifyValue(value) {\n switch (typeof value) {\n case 'string':\n {\n return value;\n }\n case 'number':\n {\n return numberToString(value);\n }\n case 'boolean':\n {\n return booleanToString(value);\n }\n case 'bigint':\n {\n return bigintToString ? bigintToString(value) : '0';\n }\n case 'symbol':\n {\n return symbolToString ? symbolToString(value) : 'Symbol()';\n }\n case 'undefined':\n {\n return objectToString(value);\n }\n case 'function':\n case 'object':\n {\n if (value === null) {\n return objectToString(value);\n }\n const valueAsRecord = value;\n const valueToString = lookupGetter(valueAsRecord, 'toString');\n if (typeof valueToString === 'function') {\n const stringified = valueToString(valueAsRecord);\n return typeof stringified === 'string' ? stringified : objectToString(stringified);\n }\n return objectToString(value);\n }\n default:\n {\n return objectToString(value);\n }\n }\n}\n/**\n * This method automatically checks if the prop is function or getter and behaves accordingly.\n *\n * @param object - The object to look up the getter function in its prototype chain.\n * @param prop - The property name for which to find the getter function.\n * @returns The getter function found in the prototype chain or a fallback function.\n */\nfunction lookupGetter(object, prop) {\n while (object !== null) {\n const desc = getOwnPropertyDescriptor(object, prop);\n if (desc) {\n if (desc.get) {\n return unapply(desc.get);\n }\n if (typeof desc.value === 'function') {\n return unapply(desc.value);\n }\n }\n object = getPrototypeOf(object);\n }\n function fallbackValue() {\n return null;\n }\n return fallbackValue;\n}\nfunction isRegex(value) {\n try {\n regExpTest(value, '');\n return true;\n } catch (_unused) {\n return false;\n }\n}\n\nconst html$1 = freeze(['a', 'abbr', 'acronym', 'address', 'area', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'content', 'data', 'datalist', 'dd', 'decorator', 'del', 'details', 'dfn', 'dialog', 'dir', 'div', 'dl', 'dt', 'element', 'em', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meter', 'nav', 'nobr', 'ol', 'optgroup', 'option', 'output', 'p', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'search', 'section', 'select', 'shadow', 'slot', 'small', 'source', 'spacer', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr']);\nconst svg$1 = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'enterkeyhint', 'exportparts', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'inputmode', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'part', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'view', 'vkern']);\nconst svgFilters = freeze(['feBlend', 'feColorMatrix', 'feComponentTransfer', 'feComposite', 'feConvolveMatrix', 'feDiffuseLighting', 'feDisplacementMap', 'feDistantLight', 'feDropShadow', 'feFlood', 'feFuncA', 'feFuncB', 'feFuncG', 'feFuncR', 'feGaussianBlur', 'feImage', 'feMerge', 'feMergeNode', 'feMorphology', 'feOffset', 'fePointLight', 'feSpecularLighting', 'feSpotLight', 'feTile', 'feTurbulence']);\n// List of SVG elements that are disallowed by default.\n// We still need to know them so that we can do namespace\n// checks properly in case one wants to add them to\n// allow-list.\nconst svgDisallowed = freeze(['animate', 'color-profile', 'cursor', 'discard', 'font-face', 'font-face-format', 'font-face-name', 'font-face-src', 'font-face-uri', 'foreignobject', 'hatch', 'hatchpath', 'mesh', 'meshgradient', 'meshpatch', 'meshrow', 'missing-glyph', 'script', 'set', 'solidcolor', 'unknown', 'use']);\nconst mathMl$1 = freeze(['math', 'menclose', 'merror', 'mfenced', 'mfrac', 'mglyph', 'mi', 'mlabeledtr', 'mmultiscripts', 'mn', 'mo', 'mover', 'mpadded', 'mphantom', 'mroot', 'mrow', 'ms', 'mspace', 'msqrt', 'mstyle', 'msub', 'msup', 'msubsup', 'mtable', 'mtd', 'mtext', 'mtr', 'munder', 'munderover', 'mprescripts']);\n// Similarly to SVG, we want to know all MathML elements,\n// even those that we disallow by default.\nconst mathMlDisallowed = freeze(['maction', 'maligngroup', 'malignmark', 'mlongdiv', 'mscarries', 'mscarry', 'msgroup', 'mstack', 'msline', 'msrow', 'semantics', 'annotation', 'annotation-xml', 'mprescripts', 'none']);\nconst text = freeze(['#text']);\n\nconst html = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'autoplay', 'background', 'bgcolor', 'border', 'capture', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'command', 'commandfor', 'controls', 'controlslist', 'coords', 'crossorigin', 'datetime', 'decoding', 'default', 'dir', 'disabled', 'disablepictureinpicture', 'disableremoteplayback', 'download', 'draggable', 'enctype', 'enterkeyhint', 'exportparts', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'inert', 'inputmode', 'integrity', 'ismap', 'kind', 'label', 'lang', 'list', 'loading', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'muted', 'name', 'nonce', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'part', 'pattern', 'placeholder', 'playsinline', 'popover', 'popovertarget', 'popovertargetaction', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'slot', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'translate', 'type', 'usemap', 'valign', 'value', 'width', 'wrap', 'xmlns']);\nconst svg = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'amplitude', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dominant-baseline', 'dur', 'edgemode', 'elevation', 'end', 'exponent', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'intercept', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'mask-type', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'slope', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'tablevalues', 'targetx', 'targety', 'transform', 'transform-origin', 'text-anchor', 'text-decoration', 'text-orientation', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);\nconst mathMl = freeze(['accent', 'accentunder', 'align', 'bevelled', 'close', 'columnalign', 'columnlines', 'columnspacing', 'columnspan', 'denomalign', 'depth', 'dir', 'display', 'displaystyle', 'encoding', 'fence', 'frame', 'height', 'href', 'id', 'largeop', 'length', 'linethickness', 'lquote', 'lspace', 'mathbackground', 'mathcolor', 'mathsize', 'mathvariant', 'maxsize', 'minsize', 'movablelimits', 'notation', 'numalign', 'open', 'rowalign', 'rowlines', 'rowspacing', 'rowspan', 'rspace', 'rquote', 'scriptlevel', 'scriptminsize', 'scriptsizemultiplier', 'selection', 'separator', 'separators', 'stretchy', 'subscriptshift', 'supscriptshift', 'symmetric', 'voffset', 'width', 'xmlns']);\nconst xml = freeze(['xlink:href', 'xml:id', 'xlink:title', 'xml:space', 'xmlns:xlink']);\n\nconst MUSTACHE_EXPR = seal(/{{[\\w\\W]*|^[\\w\\W]*}}/g);\nconst ERB_EXPR = seal(/<%[\\w\\W]*|^[\\w\\W]*%>/g);\nconst TMPLIT_EXPR = seal(/\\${[\\w\\W]*/g);\nconst DATA_ATTR = seal(/^data-[\\-\\w.\\u00B7-\\uFFFF]+$/); // eslint-disable-line no-useless-escape\nconst ARIA_ATTR = seal(/^aria-[\\-\\w]+$/); // eslint-disable-line no-useless-escape\nconst IS_ALLOWED_URI = seal(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\\-]+(?:[^a-z+.\\-:]|$))/i // eslint-disable-line no-useless-escape\n);\nconst IS_SCRIPT_OR_DATA = seal(/^(?:\\w+script|data):/i);\nconst ATTR_WHITESPACE = seal(/[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205F\\u3000]/g // eslint-disable-line no-control-regex\n);\nconst DOCTYPE_NAME = seal(/^html$/i);\nconst CUSTOM_ELEMENT = seal(/^[a-z][.\\w]*(-[.\\w]+)+$/i);\n// Markup-significant character probes used by _sanitizeElements.\n// Shared module-level instances are safe despite the sticky /g flags:\n// unapply() resets lastIndex for RegExp receivers before every call.\nconst ELEMENT_MARKUP_PROBE = seal(/<[/\\w!]/g);\nconst COMMENT_MARKUP_PROBE = seal(/<[/\\w]/g);\nconst FALLBACK_TAG_CLOSE = seal(/<\\/no(script|embed|frames)/i);\nconst SELF_CLOSING_TAG = seal(/\\/>/i);\n\n// https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType\nconst NODE_TYPE = {\n element: 1,\n attribute: 2,\n text: 3,\n cdataSection: 4,\n entityReference: 5,\n // Deprecated\n entityNode: 6,\n // Deprecated\n processingInstruction: 7,\n comment: 8,\n document: 9,\n documentType: 10,\n documentFragment: 11,\n notation: 12 // Deprecated\n};\nconst getGlobal = function getGlobal() {\n return typeof window === 'undefined' ? null : window;\n};\n/**\n * Creates a no-op policy for internal use only.\n * Don't export this function outside this module!\n * @param trustedTypes The policy factory.\n * @param purifyHostElement The Script element used to load DOMPurify (to determine policy name suffix).\n * @return The policy created (or null, if Trusted Types\n * are not supported or creating the policy failed).\n */\nconst _createTrustedTypesPolicy = function _createTrustedTypesPolicy(trustedTypes, purifyHostElement) {\n if (typeof trustedTypes !== 'object' || typeof trustedTypes.createPolicy !== 'function') {\n return null;\n }\n // Allow the callers to control the unique policy name\n // by adding a data-tt-policy-suffix to the script element with the DOMPurify.\n // Policy creation with duplicate names throws in Trusted Types.\n let suffix = null;\n const ATTR_NAME = 'data-tt-policy-suffix';\n if (purifyHostElement && purifyHostElement.hasAttribute(ATTR_NAME)) {\n suffix = purifyHostElement.getAttribute(ATTR_NAME);\n }\n const policyName = 'dompurify' + (suffix ? '#' + suffix : '');\n try {\n return trustedTypes.createPolicy(policyName, {\n createHTML(html) {\n return html;\n },\n createScriptURL(scriptUrl) {\n return scriptUrl;\n }\n });\n } catch (_) {\n // Policy creation failed (most likely another DOMPurify script has\n // already run). Skip creating the policy, as this will only cause errors\n // if TT are enforced.\n console.warn('TrustedTypes policy ' + policyName + ' could not be created.');\n return null;\n }\n};\nconst _createHooksMap = function _createHooksMap() {\n return {\n afterSanitizeAttributes: [],\n afterSanitizeElements: [],\n afterSanitizeShadowDOM: [],\n beforeSanitizeAttributes: [],\n beforeSanitizeElements: [],\n beforeSanitizeShadowDOM: [],\n uponSanitizeAttribute: [],\n uponSanitizeElement: [],\n uponSanitizeShadowNode: []\n };\n};\n/**\n * Resolve a set-valued configuration option: a fresh set built from\n * cfg[key] when it is an own array property (seeded with a clone of\n * options.base when given, case-normalized via options.transform),\n * the fallback set otherwise.\n *\n * @param cfg the cloned, prototype-free configuration object\n * @param key the configuration property to read\n * @param fallback the set to use when the option is absent or not an array\n * @param options transform and optional base set to merge into\n * @returns the resolved set\n */\nconst _resolveSetOption = function _resolveSetOption(cfg, key, fallback, options) {\n return objectHasOwnProperty(cfg, key) && arrayIsArray(cfg[key]) ? addToSet(options.base ? clone(options.base) : {}, cfg[key], options.transform) : fallback;\n};\nfunction createDOMPurify() {\n let window = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getGlobal();\n const DOMPurify = root => createDOMPurify(root);\n DOMPurify.version = '3.4.13';\n DOMPurify.removed = [];\n if (!window || !window.document || window.document.nodeType !== NODE_TYPE.document || !window.Element) {\n // Not running in a browser, provide a factory function\n // so that you can pass your own Window\n DOMPurify.isSupported = false;\n return DOMPurify;\n }\n let document = window.document;\n const originalDocument = document;\n const currentScript = originalDocument.currentScript;\n window.DocumentFragment;\n const HTMLTemplateElement = window.HTMLTemplateElement,\n Node = window.Node,\n Element = window.Element,\n NodeFilter = window.NodeFilter,\n _window$NamedNodeMap = window.NamedNodeMap;\n _window$NamedNodeMap === void 0 ? window.NamedNodeMap || window.MozNamedAttrMap : _window$NamedNodeMap;\n window.HTMLFormElement;\n const DOMParser = window.DOMParser,\n trustedTypes = window.trustedTypes;\n const ElementPrototype = Element.prototype;\n const cloneNode = lookupGetter(ElementPrototype, 'cloneNode');\n const remove = lookupGetter(ElementPrototype, 'remove');\n const getNextSibling = lookupGetter(ElementPrototype, 'nextSibling');\n const getChildNodes = lookupGetter(ElementPrototype, 'childNodes');\n const getParentNode = lookupGetter(ElementPrototype, 'parentNode');\n const getShadowRoot = lookupGetter(ElementPrototype, 'shadowRoot');\n const getAttributes = lookupGetter(ElementPrototype, 'attributes');\n const getNodeType = Node && Node.prototype ? lookupGetter(Node.prototype, 'nodeType') : null;\n const getNodeName = Node && Node.prototype ? lookupGetter(Node.prototype, 'nodeName') : null;\n const getOwnerDocument = Node && Node.prototype ? lookupGetter(Node.prototype, 'ownerDocument') : null;\n // As per issue #47, the web-components registry is inherited by a\n // new document created via createHTMLDocument. As per the spec\n // (http://w3c.github.io/webcomponents/spec/custom/#creating-and-passing-registries)\n // a new empty registry is used when creating a template contents owner\n // document, so we use that as our parent document to ensure nothing\n // is inherited.\n if (typeof HTMLTemplateElement === 'function') {\n const template = document.createElement('template');\n if (template.content && template.content.ownerDocument) {\n document = template.content.ownerDocument;\n }\n }\n let trustedTypesPolicy;\n let emptyHTML = '';\n // The instance's own internal Trusted Types policy. Unlike a caller-supplied\n // `TRUSTED_TYPES_POLICY`, this is created at most once — Trusted Types throws\n // on duplicate policy names — and is the only policy allowed to persist\n // across configurations and survive `clearConfig()`.\n let defaultTrustedTypesPolicy;\n let defaultTrustedTypesPolicyResolved = false;\n // Tracks whether we are already inside a call to the configured Trusted Types\n // policy (`createHTML` or `createScriptURL`). If a supplied policy callback\n // itself calls `DOMPurify.sanitize` (the cause of #1422), `sanitize` would\n // re-enter the policy and recurse until the stack overflows. We detect that\n // re-entry and throw a clear, actionable error instead. The guard is shared\n // across both callbacks, because either one re-entering `sanitize` triggers\n // the same unbounded recursion.\n let IN_TRUSTED_TYPES_POLICY = 0;\n const _assertNotInTrustedTypesPolicy = function _assertNotInTrustedTypesPolicy() {\n if (IN_TRUSTED_TYPES_POLICY > 0) {\n throw typeErrorCreate('A configured TRUSTED_TYPES_POLICY callback (createHTML or ' + 'createScriptURL) must not call DOMPurify.sanitize, as that causes ' + 'infinite recursion. Do not pass a policy whose callbacks wrap ' + 'DOMPurify as TRUSTED_TYPES_POLICY; see the \"DOMPurify and Trusted ' + 'Types\" section of the README.');\n }\n };\n const _createTrustedHTML = function _createTrustedHTML(html) {\n _assertNotInTrustedTypesPolicy();\n IN_TRUSTED_TYPES_POLICY++;\n try {\n return trustedTypesPolicy.createHTML(html);\n } finally {\n IN_TRUSTED_TYPES_POLICY--;\n }\n };\n const _createTrustedScriptURL = function _createTrustedScriptURL(scriptUrl) {\n _assertNotInTrustedTypesPolicy();\n IN_TRUSTED_TYPES_POLICY++;\n try {\n return trustedTypesPolicy.createScriptURL(scriptUrl);\n } finally {\n IN_TRUSTED_TYPES_POLICY--;\n }\n };\n // Lazily resolve (and cache) the instance's internal default policy.\n // Resolution is attempted at most once: a successful `createPolicy` cannot be\n // repeated (Trusted Types throws on duplicate names), and a failed or\n // unsupported attempt must not be retried on every parse.\n const _getDefaultTrustedTypesPolicy = function _getDefaultTrustedTypesPolicy() {\n if (!defaultTrustedTypesPolicyResolved) {\n defaultTrustedTypesPolicy = _createTrustedTypesPolicy(trustedTypes, currentScript);\n defaultTrustedTypesPolicyResolved = true;\n }\n return defaultTrustedTypesPolicy;\n };\n const _document = document,\n implementation = _document.implementation,\n createNodeIterator = _document.createNodeIterator,\n createDocumentFragment = _document.createDocumentFragment,\n getElementsByTagName = _document.getElementsByTagName;\n const importNode = originalDocument.importNode;\n let hooks = _createHooksMap();\n /**\n * Expose whether this browser supports running the full DOMPurify.\n */\n DOMPurify.isSupported = typeof entries === 'function' && typeof getParentNode === 'function' && implementation && implementation.createHTMLDocument !== undefined;\n const MUSTACHE_EXPR$1 = MUSTACHE_EXPR,\n ERB_EXPR$1 = ERB_EXPR,\n TMPLIT_EXPR$1 = TMPLIT_EXPR,\n DATA_ATTR$1 = DATA_ATTR,\n ARIA_ATTR$1 = ARIA_ATTR,\n IS_SCRIPT_OR_DATA$1 = IS_SCRIPT_OR_DATA,\n ATTR_WHITESPACE$1 = ATTR_WHITESPACE,\n CUSTOM_ELEMENT$1 = CUSTOM_ELEMENT;\n let IS_ALLOWED_URI$1 = IS_ALLOWED_URI;\n /**\n * We consider the elements and attributes below to be safe. Ideally\n * don't add any new ones but feel free to remove unwanted ones.\n */\n /* allowed element names */\n let ALLOWED_TAGS = null;\n const DEFAULT_ALLOWED_TAGS = addToSet({}, [...html$1, ...svg$1, ...svgFilters, ...mathMl$1, ...text]);\n /* Allowed attribute names */\n let ALLOWED_ATTR = null;\n const DEFAULT_ALLOWED_ATTR = addToSet({}, [...html, ...svg, ...mathMl, ...xml]);\n /*\n * Configure how DOMPurify should handle custom elements and their attributes as well as customized built-in elements.\n * @property {RegExp|Function|null} tagNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any custom elements)\n * @property {RegExp|Function|null} attributeNameCheck one of [null, regexPattern, predicate]. Default: `null` (disallow any attributes not on the allow list)\n * @property {boolean} allowCustomizedBuiltInElements allow custom elements derived from built-ins if they pass CUSTOM_ELEMENT_HANDLING.tagNameCheck. Default: `false`.\n */\n let CUSTOM_ELEMENT_HANDLING = Object.seal(create(null, {\n tagNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null\n },\n attributeNameCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null\n },\n allowCustomizedBuiltInElements: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: false\n }\n }));\n /* Explicitly forbidden tags (overrides ALLOWED_TAGS/ADD_TAGS) */\n let FORBID_TAGS = null;\n /* Explicitly forbidden attributes (overrides ALLOWED_ATTR/ADD_ATTR) */\n let FORBID_ATTR = null;\n /* Config object to store ADD_TAGS/ADD_ATTR functions (when used as functions) */\n const EXTRA_ELEMENT_HANDLING = Object.seal(create(null, {\n tagCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null\n },\n attributeCheck: {\n writable: true,\n configurable: false,\n enumerable: true,\n value: null\n }\n }));\n /* Decide if ARIA attributes are okay */\n let ALLOW_ARIA_ATTR = true;\n /* Decide if custom data attributes are okay */\n let ALLOW_DATA_ATTR = true;\n /* Decide if unknown protocols are okay */\n let ALLOW_UNKNOWN_PROTOCOLS = false;\n /* Decide if self-closing tags in attributes are allowed.\n * Usually removed due to a mXSS issue in jQuery 3.0 */\n let ALLOW_SELF_CLOSE_IN_ATTR = true;\n /* Output should be safe for common template engines.\n * This means, DOMPurify removes data attributes, mustaches and ERB\n */\n let SAFE_FOR_TEMPLATES = false;\n /* Output should be safe even for XML used within HTML and alike.\n * This means, DOMPurify removes comments when containing risky content.\n */\n let SAFE_FOR_XML = true;\n /* Decide if document with <html>... should be returned */\n let WHOLE_DOCUMENT = false;\n /* Track whether config is already set on this instance of DOMPurify. */\n let SET_CONFIG = false;\n /* Pristine allowlist bindings captured at setConfig() time. On the\n * persistent-config path sanitize() restores the sets from these before\n * the per-walk hook clone-guard, so a hook's in-call widening cannot\n * carry across calls. Null until setConfig() is called; reset by\n * clearConfig(). */\n let SET_CONFIG_ALLOWED_TAGS = null;\n let SET_CONFIG_ALLOWED_ATTR = null;\n /* Decide if all elements (e.g. style, script) must be children of\n * document.body. By default, browsers might move them to document.head */\n let FORCE_BODY = false;\n /* Decide if a DOM `HTMLBodyElement` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported).\n * If `WHOLE_DOCUMENT` is enabled a `HTMLHtmlElement` will be returned instead\n */\n let RETURN_DOM = false;\n /* Decide if a DOM `DocumentFragment` should be returned, instead of a html\n * string (or a TrustedHTML object if Trusted Types are supported) */\n let RETURN_DOM_FRAGMENT = false;\n /* Try to return a Trusted Type object instead of a string, return a string in\n * case Trusted Types are not supported */\n let RETURN_TRUSTED_TYPE = false;\n /* Output should be free from DOM clobbering attacks?\n * This sanitizes markups named with colliding, clobberable built-in DOM APIs.\n */\n let SANITIZE_DOM = true;\n /* Achieve full DOM Clobbering protection by isolating the namespace of named\n * properties and JS variables, mitigating attacks that abuse the HTML/DOM spec rules.\n *\n * HTML/DOM spec rules that enable DOM Clobbering:\n * - Named Access on Window (§7.3.3)\n * - DOM Tree Accessors (§3.1.5)\n * - Form Element Parent-Child Relations (§4.10.3)\n * - Iframe srcdoc / Nested WindowProxies (§4.8.5)\n * - HTMLCollection (§4.2.10.2)\n *\n * Namespace isolation is implemented by prefixing `id` and `name` attributes\n * with a constant string, i.e., `user-content-`\n */\n let SANITIZE_NAMED_PROPS = false;\n const SANITIZE_NAMED_PROPS_PREFIX = 'user-content-';\n /* Keep element content when removing element? */\n let KEEP_CONTENT = true;\n /* If a `Node` is passed to sanitize(), then performs sanitization in-place instead\n * of importing it into a new Document and returning a sanitized copy */\n let IN_PLACE = false;\n /* Allow usage of profiles like html, svg and mathMl */\n let USE_PROFILES = {};\n /* Tags to ignore content of when KEEP_CONTENT is true */\n let FORBID_CONTENTS = null;\n const DEFAULT_FORBID_CONTENTS = addToSet({}, ['annotation-xml', 'audio', 'colgroup', 'desc', 'foreignobject', 'head', 'iframe', 'math', 'mi', 'mn', 'mo', 'ms', 'mtext', 'noembed', 'noframes', 'noscript', 'plaintext', 'script',\n // <selectedcontent> mirrors the selected <option>'s subtree, cloned by\n // the UA (customizable <select>) — including any on* handlers — and the\n // engine re-mirrors synchronously whenever a removal changes which\n // option/selectedcontent is current, even inside DOMPurify's inert\n // DOMParser document. Hoisting its children on removal re-inserts a fresh\n // mirror target ahead of the walk, which the engine refills, looping\n // forever (DoS) and amplifying output. Dropping its content on removal\n // (rather than hoisting) breaks that cascade; the content is a duplicate\n // of the option, which is sanitized on its own. See campaign-3 F1/F6.\n 'selectedcontent', 'style', 'svg', 'template', 'thead', 'title', 'video', 'xmp']);\n /* Tags that are safe for data: URIs */\n let DATA_URI_TAGS = null;\n const DEFAULT_DATA_URI_TAGS = addToSet({}, ['audio', 'video', 'img', 'source', 'image', 'track']);\n /* Attributes safe for values like \"javascript:\" */\n let URI_SAFE_ATTRIBUTES = null;\n const DEFAULT_URI_SAFE_ATTRIBUTES = addToSet({}, ['alt', 'class', 'for', 'id', 'label', 'name', 'pattern', 'placeholder', 'role', 'summary', 'title', 'value', 'style', 'xmlns']);\n const MATHML_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';\n const SVG_NAMESPACE = 'http://www.w3.org/2000/svg';\n const HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';\n /* Document namespace */\n let NAMESPACE = HTML_NAMESPACE;\n let IS_EMPTY_INPUT = false;\n /* Allowed XHTML+XML namespaces */\n let ALLOWED_NAMESPACES = null;\n const DEFAULT_ALLOWED_NAMESPACES = addToSet({}, [MATHML_NAMESPACE, SVG_NAMESPACE, HTML_NAMESPACE], stringToString);\n const DEFAULT_MATHML_TEXT_INTEGRATION_POINTS = freeze(['mi', 'mo', 'mn', 'ms', 'mtext']);\n let MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, DEFAULT_MATHML_TEXT_INTEGRATION_POINTS);\n const DEFAULT_HTML_INTEGRATION_POINTS = freeze(['annotation-xml']);\n let HTML_INTEGRATION_POINTS = addToSet({}, DEFAULT_HTML_INTEGRATION_POINTS);\n // Certain elements are allowed in both SVG and HTML\n // namespace. We need to specify them explicitly\n // so that they don't get erroneously deleted from\n // HTML namespace.\n const COMMON_SVG_AND_HTML_ELEMENTS = addToSet({}, ['title', 'style', 'font', 'a', 'script']);\n /* Parsing of strict XHTML documents */\n let PARSER_MEDIA_TYPE = null;\n const SUPPORTED_PARSER_MEDIA_TYPES = ['application/xhtml+xml', 'text/html'];\n const DEFAULT_PARSER_MEDIA_TYPE = 'text/html';\n let transformCaseFunc = null;\n /* Keep a reference to config to pass to hooks */\n let CONFIG = null;\n /* Ideally, do not touch anything below this line */\n /* ______________________________________________ */\n const formElement = document.createElement('form');\n const isRegexOrFunction = function isRegexOrFunction(testValue) {\n return testValue instanceof RegExp || testValue instanceof Function;\n };\n /**\n * _parseConfig\n *\n * @param cfg optional config literal\n */\n // eslint-disable-next-line complexity\n const _parseConfig = function _parseConfig() {\n let cfg = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (CONFIG && CONFIG === cfg) {\n return;\n }\n /* Shield configuration object from tampering */\n if (!cfg || typeof cfg !== 'object') {\n cfg = {};\n }\n /* Shield configuration object from prototype pollution */\n cfg = clone(cfg);\n PARSER_MEDIA_TYPE =\n // eslint-disable-next-line unicorn/prefer-includes\n SUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE) === -1 ? DEFAULT_PARSER_MEDIA_TYPE : cfg.PARSER_MEDIA_TYPE;\n // HTML tags and attributes are not case-sensitive, converting to lowercase. Keeping XHTML as is.\n transformCaseFunc = PARSER_MEDIA_TYPE === 'application/xhtml+xml' ? stringToString : stringToLowerCase;\n /* Set configuration parameters */\n ALLOWED_TAGS = _resolveSetOption(cfg, 'ALLOWED_TAGS', DEFAULT_ALLOWED_TAGS, {\n transform: transformCaseFunc\n });\n ALLOWED_ATTR = _resolveSetOption(cfg, 'ALLOWED_ATTR', DEFAULT_ALLOWED_ATTR, {\n transform: transformCaseFunc\n });\n ALLOWED_NAMESPACES = _resolveSetOption(cfg, 'ALLOWED_NAMESPACES', DEFAULT_ALLOWED_NAMESPACES, {\n transform: stringToString\n });\n URI_SAFE_ATTRIBUTES = _resolveSetOption(cfg, 'ADD_URI_SAFE_ATTR', DEFAULT_URI_SAFE_ATTRIBUTES, {\n transform: transformCaseFunc,\n base: DEFAULT_URI_SAFE_ATTRIBUTES\n });\n DATA_URI_TAGS = _resolveSetOption(cfg, 'ADD_DATA_URI_TAGS', DEFAULT_DATA_URI_TAGS, {\n transform: transformCaseFunc,\n base: DEFAULT_DATA_URI_TAGS\n });\n FORBID_CONTENTS = _resolveSetOption(cfg, 'FORBID_CONTENTS', DEFAULT_FORBID_CONTENTS, {\n transform: transformCaseFunc\n });\n FORBID_TAGS = _resolveSetOption(cfg, 'FORBID_TAGS', clone({}), {\n transform: transformCaseFunc\n });\n FORBID_ATTR = _resolveSetOption(cfg, 'FORBID_ATTR', clone({}), {\n transform: transformCaseFunc\n });\n USE_PROFILES = objectHasOwnProperty(cfg, 'USE_PROFILES') ? cfg.USE_PROFILES && typeof cfg.USE_PROFILES === 'object' ? clone(cfg.USE_PROFILES) : cfg.USE_PROFILES : false;\n ALLOW_ARIA_ATTR = cfg.ALLOW_ARIA_ATTR !== false; // Default true\n ALLOW_DATA_ATTR = cfg.ALLOW_DATA_ATTR !== false; // Default true\n ALLOW_UNKNOWN_PROTOCOLS = cfg.ALLOW_UNKNOWN_PROTOCOLS || false; // Default false\n ALLOW_SELF_CLOSE_IN_ATTR = cfg.ALLOW_SELF_CLOSE_IN_ATTR !== false; // Default true\n SAFE_FOR_TEMPLATES = cfg.SAFE_FOR_TEMPLATES || false; // Default false\n SAFE_FOR_XML = cfg.SAFE_FOR_XML !== false; // Default true\n WHOLE_DOCUMENT = cfg.WHOLE_DOCUMENT || false; // Default false\n RETURN_DOM = cfg.RETURN_DOM || false; // Default false\n RETURN_DOM_FRAGMENT = cfg.RETURN_DOM_FRAGMENT || false; // Default false\n RETURN_TRUSTED_TYPE = cfg.RETURN_TRUSTED_TYPE || false; // Default false\n FORCE_BODY = cfg.FORCE_BODY || false; // Default false\n SANITIZE_DOM = cfg.SANITIZE_DOM !== false; // Default true\n SANITIZE_NAMED_PROPS = cfg.SANITIZE_NAMED_PROPS || false; // Default false\n KEEP_CONTENT = cfg.KEEP_CONTENT !== false; // Default true\n IN_PLACE = cfg.IN_PLACE || false; // Default false\n IS_ALLOWED_URI$1 = isRegex(cfg.ALLOWED_URI_REGEXP) ? cfg.ALLOWED_URI_REGEXP : IS_ALLOWED_URI; // Default regexp\n NAMESPACE = typeof cfg.NAMESPACE === 'string' ? cfg.NAMESPACE : HTML_NAMESPACE; // Default HTML namespace\n MATHML_TEXT_INTEGRATION_POINTS = objectHasOwnProperty(cfg, 'MATHML_TEXT_INTEGRATION_POINTS') && cfg.MATHML_TEXT_INTEGRATION_POINTS && typeof cfg.MATHML_TEXT_INTEGRATION_POINTS === 'object' ? clone(cfg.MATHML_TEXT_INTEGRATION_POINTS) : addToSet({}, DEFAULT_MATHML_TEXT_INTEGRATION_POINTS); // Default built-in map\n HTML_INTEGRATION_POINTS = objectHasOwnProperty(cfg, 'HTML_INTEGRATION_POINTS') && cfg.HTML_INTEGRATION_POINTS && typeof cfg.HTML_INTEGRATION_POINTS === 'object' ? clone(cfg.HTML_INTEGRATION_POINTS) : addToSet({}, DEFAULT_HTML_INTEGRATION_POINTS); // Default built-in map\n const customElementHandling = objectHasOwnProperty(cfg, 'CUSTOM_ELEMENT_HANDLING') && cfg.CUSTOM_ELEMENT_HANDLING && typeof cfg.CUSTOM_ELEMENT_HANDLING === 'object' ? clone(cfg.CUSTOM_ELEMENT_HANDLING) : create(null);\n CUSTOM_ELEMENT_HANDLING = create(null);\n if (objectHasOwnProperty(customElementHandling, 'tagNameCheck') && isRegexOrFunction(customElementHandling.tagNameCheck)) {\n CUSTOM_ELEMENT_HANDLING.tagNameCheck = customElementHandling.tagNameCheck; // Default undefined\n }\n if (objectHasOwnProperty(customElementHandling, 'attributeNameCheck') && isRegexOrFunction(customElementHandling.attributeNameCheck)) {\n CUSTOM_ELEMENT_HANDLING.attributeNameCheck = customElementHandling.attributeNameCheck; // Default undefined\n }\n if (objectHasOwnProperty(customElementHandling, 'allowCustomizedBuiltInElements') && typeof customElementHandling.allowCustomizedBuiltInElements === 'boolean') {\n CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements = customElementHandling.allowCustomizedBuiltInElements; // Default undefined\n }\n seal(CUSTOM_ELEMENT_HANDLING);\n if (SAFE_FOR_TEMPLATES) {\n ALLOW_DATA_ATTR = false;\n }\n if (RETURN_DOM_FRAGMENT) {\n RETURN_DOM = true;\n }\n /* Parse profile info */\n if (USE_PROFILES) {\n ALLOWED_TAGS = addToSet({}, text);\n ALLOWED_ATTR = create(null);\n if (USE_PROFILES.html === true) {\n addToSet(ALLOWED_TAGS, html$1);\n addToSet(ALLOWED_ATTR, html);\n }\n if (USE_PROFILES.svg === true) {\n addToSet(ALLOWED_TAGS, svg$1);\n addToSet(ALLOWED_ATTR, svg);\n addToSet(ALLOWED_ATTR, xml);\n }\n if (USE_PROFILES.svgFilters === true) {\n addToSet(ALLOWED_TAGS, svgFilters);\n addToSet(ALLOWED_ATTR, svg);\n addToSet(ALLOWED_ATTR, xml);\n }\n if (USE_PROFILES.mathMl === true) {\n addToSet(ALLOWED_TAGS, mathMl$1);\n addToSet(ALLOWED_ATTR, mathMl);\n addToSet(ALLOWED_ATTR, xml);\n }\n }\n /* Always reset function-based ADD_TAGS / ADD_ATTR checks to prevent\n * leaking across calls when switching from function to array config */\n EXTRA_ELEMENT_HANDLING.tagCheck = null;\n EXTRA_ELEMENT_HANDLING.attributeCheck = null;\n /* Merge configuration parameters */\n if (objectHasOwnProperty(cfg, 'ADD_TAGS')) {\n if (typeof cfg.ADD_TAGS === 'function') {\n EXTRA_ELEMENT_HANDLING.tagCheck = cfg.ADD_TAGS;\n } else if (arrayIsArray(cfg.ADD_TAGS)) {\n if (ALLOWED_TAGS === DEFAULT_ALLOWED_TAGS) {\n ALLOWED_TAGS = clone(ALLOWED_TAGS);\n }\n addToSet(ALLOWED_TAGS, cfg.ADD_TAGS, transformCaseFunc);\n }\n }\n if (objectHasOwnProperty(cfg, 'ADD_ATTR')) {\n if (typeof cfg.ADD_ATTR === 'function') {\n EXTRA_ELEMENT_HANDLING.attributeCheck = cfg.ADD_ATTR;\n } else if (arrayIsArray(cfg.ADD_ATTR)) {\n if (ALLOWED_ATTR === DEFAULT_ALLOWED_ATTR) {\n ALLOWED_ATTR = clone(ALLOWED_ATTR);\n }\n addToSet(ALLOWED_ATTR, cfg.ADD_ATTR, transformCaseFunc);\n }\n }\n if (objectHasOwnProperty(cfg, 'ADD_URI_SAFE_ATTR') && arrayIsArray(cfg.ADD_URI_SAFE_ATTR)) {\n addToSet(URI_SAFE_ATTRIBUTES, cfg.ADD_URI_SAFE_ATTR, transformCaseFunc);\n }\n if (objectHasOwnProperty(cfg, 'FORBID_CONTENTS') && arrayIsArray(cfg.FORBID_CONTENTS)) {\n if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {\n FORBID_CONTENTS = clone(FORBID_CONTENTS);\n }\n addToSet(FORBID_CONTENTS, cfg.FORBID_CONTENTS, transformCaseFunc);\n }\n if (objectHasOwnProperty(cfg, 'ADD_FORBID_CONTENTS') && arrayIsArray(cfg.ADD_FORBID_CONTENTS)) {\n if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {\n FORBID_CONTENTS = clone(FORBID_CONTENTS);\n }\n addToSet(FORBID_CONTENTS, cfg.ADD_FORBID_CONTENTS, transformCaseFunc);\n }\n /* Add #text in case KEEP_CONTENT is set to true */\n if (KEEP_CONTENT) {\n ALLOWED_TAGS['#text'] = true;\n }\n /* Add html, head and body to ALLOWED_TAGS in case WHOLE_DOCUMENT is true */\n if (WHOLE_DOCUMENT) {\n addToSet(ALLOWED_TAGS, ['html', 'head', 'body']);\n }\n /* Add tbody to ALLOWED_TAGS in case tables are permitted, see #286, #365 */\n if (ALLOWED_TAGS.table) {\n addToSet(ALLOWED_TAGS, ['tbody']);\n delete FORBID_TAGS.tbody;\n }\n // Re-derive the active Trusted Types policy from this configuration on\n // every parse. The active policy must never be sticky closure state that\n // outlives the config that set it: a caller-supplied policy left in place\n // after `clearConfig()` — or after a later call that supplied none, or\n // `TRUSTED_TYPES_POLICY: null` — could sign a subsequent \"default\"\n // `RETURN_TRUSTED_TYPE` result with a foreign, possibly unsafe policy.\n // See GHSA-vxr8-fq34-vvx9.\n if (cfg.TRUSTED_TYPES_POLICY) {\n if (typeof cfg.TRUSTED_TYPES_POLICY.createHTML !== 'function') {\n throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a \"createHTML\" hook.');\n }\n if (typeof cfg.TRUSTED_TYPES_POLICY.createScriptURL !== 'function') {\n throw typeErrorCreate('TRUSTED_TYPES_POLICY configuration option must provide a \"createScriptURL\" hook.');\n }\n // A caller-supplied policy applies to this configuration only.\n const previousTrustedTypesPolicy = trustedTypesPolicy;\n trustedTypesPolicy = cfg.TRUSTED_TYPES_POLICY;\n // Sign local variables required by `sanitize`. If the supplied policy's\n // `createHTML` is circular (i.e. it calls `DOMPurify.sanitize`), this\n // throws via the re-entrancy guard. Restore the previous policy first so\n // the instance is not left in a poisoned state. See #1422.\n try {\n emptyHTML = _createTrustedHTML('');\n } catch (error) {\n trustedTypesPolicy = previousTrustedTypesPolicy;\n throw error;\n }\n } else if (cfg.TRUSTED_TYPES_POLICY === null) {\n // Explicit opt-out for this call: perform no Trusted Types signing and\n // create nothing (so a strict `trusted-types` CSP that disallows a\n // `dompurify` policy can still call `sanitize` from inside its own\n // policy — see #1422). Resetting to `undefined` rather than a sticky\n // `null` also drops any previously retained caller policy, so it cannot\n // resurface on a later call, while still allowing the next config-less\n // call to restore the internal default policy. See GHSA-vxr8-fq34-vvx9.\n trustedTypesPolicy = undefined;\n emptyHTML = '';\n } else {\n // No policy supplied: keep the currently active policy if one is set — a\n // previously supplied policy is intentionally sticky across config-less\n // calls — otherwise fall back to the instance's own internal policy,\n // created at most once. (A policy supplied for a *single* call still\n // lingers by design; what must not linger is a policy whose configuration\n // has been torn down via `clearConfig()`, which restores the default.)\n if (trustedTypesPolicy === undefined) {\n trustedTypesPolicy = _getDefaultTrustedTypesPolicy();\n }\n // Sign internal variables only when a policy is active. A falsy policy\n // (Trusted Types unsupported, creation failed, or an explicit opt-out)\n // leaves `emptyHTML` as a plain string, so we never call `.createHTML` on\n // a non-policy and throw. See #1422.\n if (trustedTypesPolicy && typeof emptyHTML === 'string') {\n emptyHTML = _createTrustedHTML('');\n }\n }\n // Prevent further manipulation of configuration.\n // Not available in IE8, Safari 5, etc.\n if (freeze) {\n freeze(cfg);\n }\n CONFIG = cfg;\n };\n /* Keep track of all possible SVG and MathML tags\n * so that we can perform the namespace checks\n * correctly. */\n const ALL_SVG_TAGS = addToSet({}, [...svg$1, ...svgFilters, ...svgDisallowed]);\n const ALL_MATHML_TAGS = addToSet({}, [...mathMl$1, ...mathMlDisallowed]);\n /**\n * Namespace rules for an element in the SVG namespace.\n *\n * @param tagName the element's lowercase tag name\n * @param parent the (possibly simulated) parent node\n * @param parentTagName the parent's lowercase tag name\n * @returns true if a spec-compliant parser could produce this element\n */\n const _checkSvgNamespace = function _checkSvgNamespace(tagName, parent, parentTagName) {\n // The only way to switch from HTML namespace to SVG\n // is via <svg>. If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'svg';\n }\n // The only way to switch from MathML to SVG is via <svg>\n // if the parent is either <annotation-xml> or a MathML\n // text integration point.\n if (parent.namespaceURI === MATHML_NAMESPACE) {\n return tagName === 'svg' && (parentTagName === 'annotation-xml' || MATHML_TEXT_INTEGRATION_POINTS[parentTagName]);\n }\n // We only allow elements that are defined in SVG\n // spec. All others are disallowed in SVG namespace.\n return Boolean(ALL_SVG_TAGS[tagName]);\n };\n /**\n * Namespace rules for an element in the MathML namespace.\n *\n * @param tagName the element's lowercase tag name\n * @param parent the (possibly simulated) parent node\n * @param parentTagName the parent's lowercase tag name\n * @returns true if a spec-compliant parser could produce this element\n */\n const _checkMathMlNamespace = function _checkMathMlNamespace(tagName, parent, parentTagName) {\n // The only way to switch from HTML namespace to MathML\n // is via <math>. If it happens via any other tag, then\n // it should be killed.\n if (parent.namespaceURI === HTML_NAMESPACE) {\n return tagName === 'math';\n }\n // The only way to switch from SVG to MathML is via\n // <math> and HTML integration points\n if (parent.namespaceURI === SVG_NAMESPACE) {\n return tagName === 'math' && HTML_INTEGRATION_POINTS[parentTagName];\n }\n // We only allow elements that are defined in MathML\n // spec. All others are disallowed in MathML namespace.\n return Boolean(ALL_MATHML_TAGS[tagName]);\n };\n /**\n * Namespace rules for an element in the HTML namespace.\n *\n * @param tagName the element's lowercase tag name\n * @param parent the (possibly simulated) parent node\n * @param parentTagName the parent's lowercase tag name\n * @returns true if a spec-compliant parser could produce this element\n */\n const _checkHtmlNamespace = function _checkHtmlNamespace(tagName, parent, parentTagName) {\n // The only way to switch from SVG to HTML is via\n // HTML integration points, and from MathML to HTML\n // is via MathML text integration points\n if (parent.namespaceURI === SVG_NAMESPACE && !HTML_INTEGRATION_POINTS[parentTagName]) {\n return false;\n }\n if (parent.namespaceURI === MATHML_NAMESPACE && !MATHML_TEXT_INTEGRATION_POINTS[parentTagName]) {\n return false;\n }\n // We disallow tags that are specific for MathML\n // or SVG and should never appear in HTML namespace\n return !ALL_MATHML_TAGS[tagName] && (COMMON_SVG_AND_HTML_ELEMENTS[tagName] || !ALL_SVG_TAGS[tagName]);\n };\n /**\n * @param element a DOM element whose namespace is being checked\n * @returns Return false if the element has a\n * namespace that a spec-compliant parser would never\n * return. Return true otherwise.\n */\n const _checkValidNamespace = function _checkValidNamespace(element) {\n let parent = getParentNode(element);\n // In JSDOM, if we're inside shadow DOM, then parentNode\n // can be null. We just simulate parent in this case.\n if (!parent || !parent.tagName) {\n parent = {\n namespaceURI: NAMESPACE,\n tagName: 'template'\n };\n }\n const tagName = stringToLowerCase(element.tagName);\n const parentTagName = stringToLowerCase(parent.tagName);\n if (!ALLOWED_NAMESPACES[element.namespaceURI]) {\n return false;\n }\n if (element.namespaceURI === SVG_NAMESPACE) {\n return _checkSvgNamespace(tagName, parent, parentTagName);\n }\n if (element.namespaceURI === MATHML_NAMESPACE) {\n return _checkMathMlNamespace(tagName, parent, parentTagName);\n }\n if (element.namespaceURI === HTML_NAMESPACE) {\n return _checkHtmlNamespace(tagName, parent, parentTagName);\n }\n // For XHTML and XML documents that support custom namespaces\n if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && ALLOWED_NAMESPACES[element.namespaceURI]) {\n return true;\n }\n // The code should never reach this place (this means\n // that the element somehow got namespace that is not\n // HTML, SVG, MathML or allowed via ALLOWED_NAMESPACES).\n // Return false just in case.\n return false;\n };\n /**\n * _forceRemove\n *\n * @param node a DOM node\n */\n const _forceRemove = function _forceRemove(node) {\n arrayPush(DOMPurify.removed, {\n element: node\n });\n try {\n // eslint-disable-next-line unicorn/prefer-dom-node-remove\n getParentNode(node).removeChild(node);\n } catch (_) {\n /* The normal detach failed — this is reached for a parentless node\n (getParentNode() is null, so .removeChild throws). Element.prototype\n .remove() is itself a spec no-op on a parentless node, so a recorded\n \"removal\" would otherwise hand the caller back an intact,\n payload-bearing node (e.g. a detached IN_PLACE root the mXSS canary or\n the style-with-element-child rule decided to kill). Fail closed by\n throwing — exactly as a clobbered root does at the IN_PLACE entry —\n rather than trying to \"neutralize\" the node via its own methods.\n Neutralizing would mean calling getAttributeNames()/removeAttribute()\n on the node, both of which a <form> root can clobber via a named child\n (and _isClobbered does not even probe getAttributeNames), so the\n neutralize step could itself be silently defeated, leaving the payload\n intact. A throw touches only the cached, clobber-safe remove() and\n getParentNode(). Generalizes GHSA-r47g-fvhr-h676 (clobbered-form root)\n to every root-kill reason. REPORT-3.\n This lives inside the catch, so it never fires for a normally-removed\n in-tree node: those have a parent, removeChild() succeeds, and the\n catch is not entered. Only a kept (parentless) root reaches here. */\n remove(node);\n if (!getParentNode(node)) {\n throw typeErrorCreate('a node selected for removal could not be detached from its tree ' + 'and cannot be safely returned; refusing to sanitize in place');\n }\n }\n };\n /**\n * _neutralizeRoot\n *\n * Fail-closed teardown of an in-place root after the sanitize walk aborts\n * (campaign-3 F2). An internal throw mid-walk — e.g. a page-registered\n * custom element's reaction detaches a node so `_forceRemove`'s deliberate\n * parentless guard throws, or any other re-entrant engine mutation — would\n * otherwise leave the caller's *live* tree half-sanitized, with everything\n * after the abort point still carrying its handlers. There is no safe way\n * to resume the walk (the tree mutated under us), so we strip the root bare:\n * remove every child and every attribute, then let the caller's catch see\n * the original error. Clobber-safe (cached `remove`/`childNodes`/`attributes`\n * getters; the root was already clobber-pre-flighted at the IN_PLACE entry).\n *\n * @param root the in-place root to empty\n */\n const _neutralizeRoot = function _neutralizeRoot(root) {\n /* Strip every disallowed attribute (on* handlers included) off the whole\n subtree BEFORE detaching anything. Detaching first would hand back\n handler-bearing originals (e.g. an already-loading `<img onerror>`)\n whose queued resource event still fires in page scope after we throw.\n Clobber-safe reads; a doomed clobbered node's own attributes are\n irrelevant while its non-clobbered descendants are reached and scrubbed. */\n _neutralizeSubtree(root);\n const childNodes = getChildNodes(root);\n if (childNodes) {\n const snapshot = [];\n arrayForEach(childNodes, child => {\n arrayPush(snapshot, child);\n });\n arrayForEach(snapshot, child => {\n try {\n remove(child);\n } catch (_) {\n /* Best-effort teardown; a still-attached child is handled below */\n }\n });\n }\n const attributes = getAttributes(root);\n if (attributes) {\n for (let i = attributes.length - 1; i >= 0; --i) {\n const attribute = attributes[i];\n const name = attribute && attribute.name;\n if (typeof name === 'string') {\n try {\n root.removeAttribute(name);\n } catch (_) {\n /* Clobbered removeAttribute — ignore (fail-closed best effort) */\n }\n }\n }\n }\n };\n /**\n * _removeAttribute\n *\n * @param name an Attribute name\n * @param element a DOM node\n */\n const _removeAttribute = function _removeAttribute(name, element) {\n try {\n arrayPush(DOMPurify.removed, {\n attribute: element.getAttributeNode(name),\n from: element\n });\n } catch (_) {\n arrayPush(DOMPurify.removed, {\n attribute: null,\n from: element\n });\n }\n element.removeAttribute(name);\n // We void attribute values for unremovable \"is\" attributes\n if (name === 'is') {\n if (RETURN_DOM || RETURN_DOM_FRAGMENT) {\n try {\n _forceRemove(element);\n } catch (_) {}\n } else {\n try {\n element.setAttribute(name, '');\n } catch (_) {}\n }\n }\n };\n /**\n * _stripDisallowedAttributes\n *\n * Removes every attribute the active configuration does not allow from a\n * single element, using the same allowlist as the main attribute pass (so\n * `on*` handlers go, but no `/^on/` blocklist is introduced). Used only to\n * neutralise nodes that are being discarded from an in-place tree.\n *\n * @param element the element to strip\n */\n const _stripDisallowedAttributes = function _stripDisallowedAttributes(element) {\n const attributes = getAttributes(element);\n if (!attributes) {\n return;\n }\n for (let i = attributes.length - 1; i >= 0; --i) {\n const attribute = attributes[i];\n const name = attribute && attribute.name;\n if (typeof name !== 'string' || ALLOWED_ATTR[transformCaseFunc(name)]) {\n continue;\n }\n try {\n element.removeAttribute(name);\n } catch (_) {\n /* Clobbered removeAttribute on a doomed node — ignore */\n }\n }\n };\n /**\n * _neutralizeSubtree\n *\n * Completes the audit-5 F1 fix across every removal path. The KEEP_CONTENT\n * move-hoist neutralises only disallowed-tag removals; clobber, mXSS-canary,\n * namespace, comment, processing-instruction and KEEP_CONTENT:false removals\n * all drop their subtree wholesale via `_forceRemove`. On the IN_PLACE path\n * those dropped nodes are detached from the caller's LIVE tree but a\n * handler-bearing original among them (an `<img onerror>`/`<video>` that was\n * loading) keeps its queued resource event, which fires in page scope after\n * sanitize returns. This walks a removed subtree and strips every attribute\n * the active configuration does not allow — so `on*` handlers are cancelled\n * through the SAME allowlist that governs kept nodes, not a separate `/^on/`\n * blocklist. Run synchronously before sanitize returns, i.e. before any\n * queued event can fire. Hook-free by design: these nodes leave the output,\n * so firing attribute hooks for them would be surprising. Clobber-safe reads;\n * a doomed clobbered node may shadow `removeAttribute` (its own attributes are\n * irrelevant — it is discarded — while its non-clobbered descendants, e.g.\n * the `<img>`, are reached and scrubbed).\n *\n * @param root the root of a removed subtree to neutralise\n */\n const _neutralizeSubtree = function _neutralizeSubtree(root) {\n const stack = [root];\n while (stack.length > 0) {\n const node = stack.pop();\n const nodeType = getNodeType ? getNodeType(node) : node.nodeType;\n if (nodeType === NODE_TYPE.element) {\n _stripDisallowedAttributes(node);\n }\n const childNodes = getChildNodes(node);\n if (childNodes) {\n for (let i = childNodes.length - 1; i >= 0; --i) {\n stack.push(childNodes[i]);\n }\n }\n }\n };\n /**\n * _neutralizePatchLinkage\n *\n * IN_PLACE entry pre-pass (declarative-partial-updates / streaming\n * hardening, https://github.com/WICG/declarative-partial-updates).\n *\n * The main walk strips patch linkage (`for`/`patchsrc`) and removes range\n * markers (PIs / markup comments) node-by-node, in document order, AS it\n * reaches each node. On a live in-place root that leaves a window: from the\n * moment the root is connected until the walk arrives at a given node, that\n * node's linkage is live. A patch applied on connection/stream can fire as\n * a microtask during the walk and inject or teleport an unsanitized DOM\n * range into a region the iterator has already passed and will not revisit,\n * so the post-return \"tree is sanitized\" contract is violated. Sweep the\n * whole tree once up front and sever every linkage before the walk begins,\n * closing that window.\n *\n * This CANNOT undo a patch that already fired before sanitize ran — that is\n * the irreducible \"do not IN_PLACE a live-connected attacker tree\" caveat —\n * but it closes everything from sanitize-start onward. Gated on SAFE_FOR_XML\n * to group with the rest of the declarative-partial-updates handling and\n * stay overridable, consistent with the codebase.\n *\n * Clobber-safe traversal (cached childNodes getter); per-node try/catch so a\n * clobbered root cannot defeat the sweep of its non-clobbered descendants.\n *\n * NOTE (pending real-Chrome confirmation, see test/declarative-patch-probe\n * .html Q1): this mirrors the existing policy of keeping `for` on\n * <label>/<output>. If the shipping feature can drive a patch through a\n * surviving `for`-on-label/output + `id` pair, this pre-pass and the\n * attribute check at _isBasicCustomElement's caller must additionally drop\n * that pair on the IN_PLACE path. Left as-is until the taxonomy is verified.\n *\n * @param root the in-place root to sweep\n */\n const _neutralizePatchLinkage = function _neutralizePatchLinkage(root) {\n if (!SAFE_FOR_XML) {\n return;\n }\n const stack = [root];\n while (stack.length > 0) {\n const node = stack.pop();\n const nodeType = getNodeType ? getNodeType(node) : node.nodeType;\n /* Remove range markers (the target side of a patch linkage): every\n processing instruction, and any markup-bearing comment. */\n if (nodeType === NODE_TYPE.processingInstruction || nodeType === NODE_TYPE.comment && regExpTest(COMMENT_MARKUP_PROBE, node.data)) {\n try {\n remove(node);\n } catch (_) {\n /* Best-effort */\n }\n continue;\n }\n /* Strip patch-source attributes (the source side) off elements. */\n if (nodeType === NODE_TYPE.element) {\n const element = node;\n const lcTag = transformCaseFunc(getNodeName ? getNodeName(node) : node.nodeName);\n try {\n if (element.hasAttribute && element.hasAttribute('patchsrc')) {\n element.removeAttribute('patchsrc');\n }\n if (element.hasAttribute && element.hasAttribute('for') && lcTag !== 'label' && lcTag !== 'output') {\n element.removeAttribute('for');\n }\n } catch (_) {\n /* Clobbered removeAttribute/hasAttribute on a doomed node — ignore */\n }\n }\n const childNodes = getChildNodes(node);\n if (childNodes) {\n for (let i = childNodes.length - 1; i >= 0; --i) {\n stack.push(childNodes[i]);\n }\n }\n }\n };\n /**\n * _initDocument\n *\n * @param dirty - a string of dirty markup\n * @return a DOM, filled with the dirty markup\n */\n const _initDocument = function _initDocument(dirty) {\n /* Create a HTML document */\n let doc = null;\n let leadingWhitespace = null;\n if (FORCE_BODY) {\n dirty = '<remove></remove>' + dirty;\n } else {\n /* If FORCE_BODY isn't used, leading whitespace needs to be preserved manually */\n const matches = stringMatch(dirty, /^[\\r\\n\\t ]+/);\n leadingWhitespace = matches && matches[0];\n }\n if (PARSER_MEDIA_TYPE === 'application/xhtml+xml' && NAMESPACE === HTML_NAMESPACE) {\n // Root of XHTML doc must contain xmlns declaration (see https://www.w3.org/TR/xhtml1/normative.html#strict)\n dirty = '<html xmlns=\"http://www.w3.org/1999/xhtml\"><head></head><body>' + dirty + '</body></html>';\n }\n const dirtyPayload = trustedTypesPolicy ? _createTrustedHTML(dirty) : dirty;\n /*\n * Use the DOMParser API by default, fallback later if needs be\n * DOMParser not work for svg when has multiple root element.\n */\n if (NAMESPACE === HTML_NAMESPACE) {\n try {\n doc = new DOMParser().parseFromString(dirtyPayload, PARSER_MEDIA_TYPE);\n } catch (_) {}\n }\n /* Use createHTMLDocument in case DOMParser is not available */\n if (!doc || !doc.documentElement) {\n doc = implementation.createDocument(NAMESPACE, 'template', null);\n try {\n doc.documentElement.innerHTML = IS_EMPTY_INPUT ? emptyHTML : dirtyPayload;\n } catch (_) {\n // Syntax error if dirtyPayload is invalid xml\n }\n }\n const body = doc.body || doc.documentElement;\n if (dirty && leadingWhitespace) {\n body.insertBefore(document.createTextNode(leadingWhitespace), body.childNodes[0] || null);\n }\n /* Work on whole document or just its body */\n if (NAMESPACE === HTML_NAMESPACE) {\n return getElementsByTagName.call(doc, WHOLE_DOCUMENT ? 'html' : 'body')[0];\n }\n return WHOLE_DOCUMENT ? doc.documentElement : body;\n };\n /**\n * Creates a NodeIterator object that you can use to traverse filtered lists of nodes or elements in a document.\n *\n * @param root The root element or node to start traversing on.\n * @return The created NodeIterator\n */\n const _createNodeIterator = function _createNodeIterator(root) {\n /* Read ownerDocument through the cached Node.prototype getter, never the\n direct property. HTMLFormElement has [LegacyOverrideBuiltIns], so a\n clobbering child (<input name=\"ownerDocument\"> or a form-associated\n external input) shadows the prototype getter and makes a direct read\n return that <input>. createNodeIterator.call(<input>, ...) then throws\n \"Illegal invocation\", and on the IN_PLACE path that throw lands before\n the walk's fail-closed barrier - leaving the caller's live tree, with\n any already-armed handler in it, un-neutralized. The cached getter\n returns the real Document regardless of the clobber. */\n const doc = getOwnerDocument ? getOwnerDocument(root) : root.ownerDocument;\n return createNodeIterator.call(doc || root, root,\n // eslint-disable-next-line no-bitwise\n NodeFilter.SHOW_ELEMENT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_TEXT | NodeFilter.SHOW_PROCESSING_INSTRUCTION | NodeFilter.SHOW_CDATA_SECTION, null);\n };\n /**\n * Replace template expression syntax (mustache, ERB, template\n * literal) with a space; shared by all SAFE_FOR_TEMPLATES scrub\n * sites. Order matters: mustache, then ERB, then template literal.\n *\n * @param value the string to scrub\n * @returns the scrubbed string\n */\n const _stripTemplateExpressions = function _stripTemplateExpressions(value) {\n value = stringReplace(value, MUSTACHE_EXPR$1, ' ');\n value = stringReplace(value, ERB_EXPR$1, ' ');\n value = stringReplace(value, TMPLIT_EXPR$1, ' ');\n return value;\n };\n /**\n * Strip template-engine expressions ({{...}}, ${...}, <%...%>) from the\n * character data of an element subtree. Used as the final safety net for\n * SAFE_FOR_TEMPLATES on every DOM-returning code path so that expressions\n * which only form after text-node normalization (e.g. fragments split across\n * stripped elements) cannot survive into a template-evaluating framework.\n *\n * Walks text/comment/CDATA/processing-instruction nodes and mutates `.data`\n * in place rather than round-tripping through innerHTML. This preserves\n * descendant node references (important for IN_PLACE callers), avoids a\n * serialize/reparse cycle, and reads literal character data — which means\n * `<%...%>` in text content matches the ERB regex against its real bytes\n * instead of the HTML-entity-escaped form innerHTML would produce.\n *\n * Attribute values are not visited here; SAFE_FOR_TEMPLATES handling for\n * attributes is performed during the per-node `_sanitizeAttributes` pass.\n *\n * @param node The root element whose character data should be scrubbed.\n */\n const _scrubTemplateExpressions2 = function _scrubTemplateExpressions(node) {\n var _node$querySelectorAl;\n node.normalize();\n /* Clobber-safe ownerDocument read, same reasoning as _createNodeIterator:\n under SAFE_FOR_TEMPLATES this runs on the live IN_PLACE root, which may\n carry a form-named-getter override of ownerDocument. */\n const doc = getOwnerDocument ? getOwnerDocument(node) : node.ownerDocument;\n const walker = createNodeIterator.call(doc || node, node,\n // eslint-disable-next-line no-bitwise\n NodeFilter.SHOW_TEXT | NodeFilter.SHOW_COMMENT | NodeFilter.SHOW_CDATA_SECTION | NodeFilter.SHOW_PROCESSING_INSTRUCTION, null);\n let currentNode = walker.nextNode();\n while (currentNode) {\n currentNode.data = _stripTemplateExpressions(currentNode.data);\n currentNode = walker.nextNode();\n }\n // NodeIterator does not descend into <template>.content per the DOM spec,\n // so we must explicitly recurse into each template's content fragment,\n // mirroring the approach used by _sanitizeShadowDOM.\n const templates = (_node$querySelectorAl = node.querySelectorAll) === null || _node$querySelectorAl === void 0 ? void 0 : _node$querySelectorAl.call(node, 'template');\n if (templates) {\n arrayForEach(templates, tmpl => {\n if (_isDocumentFragment(tmpl.content)) {\n _scrubTemplateExpressions2(tmpl.content);\n }\n });\n }\n };\n /**\n * _isClobbered\n *\n * Detect DOM-clobbering on HTMLFormElement nodes. Form is the only HTML\n * interface with [LegacyOverrideBuiltIns]; a descendant element with a\n * `name` attribute matching a prototype property shadows that property\n * on direct reads. We use this check at the IN_PLACE entry-point and\n * during attribute sanitization to refuse clobbered forms.\n *\n * @param element element to check for clobbering attacks\n * @return true if clobbered, false if safe\n */\n const _isClobbered = function _isClobbered(element) {\n // Realm-independent tag-name probe. If we can't determine the tag\n // name at all, we can't reason about clobbering — return false\n // (the caller's other defences still apply).\n const realTagName = getNodeName ? getNodeName(element) : null;\n if (typeof realTagName !== 'string') {\n return false;\n }\n if (transformCaseFunc(realTagName) !== 'form') {\n return false;\n }\n return typeof element.nodeName !== 'string' || typeof element.textContent !== 'string' || typeof element.removeChild !== 'function' ||\n // Realm-safe NamedNodeMap detection: equality against the cached\n // prototype getter. Clobbered .attributes (e.g. <input name=\"attributes\">)\n // makes the direct read diverge from the cached read; a clean form\n // (same-realm OR foreign-realm) has both reads pointing at the same\n // canonical NamedNodeMap.\n element.attributes !== getAttributes(element) || typeof element.removeAttribute !== 'function' || typeof element.setAttribute !== 'function' || typeof element.namespaceURI !== 'string' || typeof element.insertBefore !== 'function' || typeof element.hasChildNodes !== 'function' ||\n // NodeType clobbering probe. Cached Node.prototype.nodeType getter\n // returns the integer 1 for any Element regardless of realm; direct\n // read on a clobbered form (e.g. <input name=\"nodeType\">) returns\n // the named child element. Cheap addition — nodeType is read from\n // an internal slot, no serialization cost — and removes a residual\n // clobbering surface used by several mXSS / PI / comment branches\n // in _sanitizeElements that compare currentNode.nodeType directly.\n element.nodeType !== getNodeType(element) ||\n // HTMLFormElement has [LegacyOverrideBuiltIns]: a descendant named\n // \"childNodes\" shadows the prototype getter. Direct reads of\n // form.childNodes from a clobbered form return the named child\n // instead of the real NodeList, so any walk that reads it directly\n // skips the form's real children. Compare the direct read to the\n // cached Node.prototype getter — when the form's named-property\n // getter intercepts the read, the two values differ and we flag\n // the form. This catches every clobbering child type (input,\n // select, etc.) regardless of whether the named child happens to\n // carry a numeric .length, which a typeof-based probe would miss\n // (e.g. HTMLSelectElement.length is a defined unsigned-long).\n element.childNodes !== getChildNodes(element);\n };\n /**\n * Checks whether the given value is a DocumentFragment from any realm.\n *\n * The realm-independent replacement reads `nodeType` through the cached\n * Node.prototype getter and compares to the DOCUMENT_FRAGMENT_NODE\n * constant (11). nodeType is a numeric value resolved from the node's\n * internal slot, identical across realms for the same kind of node.\n *\n * @param value object to check\n * @return true if value is a DocumentFragment-shaped node from any realm\n */\n const _isDocumentFragment = function _isDocumentFragment(value) {\n if (!getNodeType || typeof value !== 'object' || value === null) {\n return false;\n }\n try {\n return getNodeType(value) === NODE_TYPE.documentFragment;\n } catch (_) {\n return false;\n }\n };\n /**\n * Checks whether the given object is a DOM node, including nodes that\n * originate from a different window/realm (e.g. an iframe's\n * contentDocument). The previous `value instanceof Node` check was\n * realm-bound: nodes from a different window failed it, causing\n * sanitize() to silently stringify them and reset IN_PLACE to false,\n * returning the original node unsanitized. See GHSA-4w3q-35jp-p934.\n *\n * @param value object to check whether it's a DOM node\n * @return true if value is a DOM node from any realm\n */\n const _isNode = function _isNode(value) {\n if (!getNodeType || typeof value !== 'object' || value === null) {\n return false;\n }\n try {\n return typeof getNodeType(value) === 'number';\n } catch (_) {\n return false;\n }\n };\n function _executeHooks(hooks, currentNode, data) {\n if (hooks.length === 0) {\n return;\n }\n arrayForEach(hooks, hook => {\n hook.call(DOMPurify, currentNode, data, CONFIG);\n });\n }\n /**\n * Structural-threat checks that condemn a node regardless of the\n * allowlists: mXSS via namespace confusion, risky CSS construction,\n * processing instructions, markup-bearing comments. Pure predicate;\n * the caller removes. Check order is load-bearing.\n *\n * @param currentNode the node to inspect\n * @param tagName the node's transformCaseFunc'd tag name\n * @return true if the node must be removed\n */\n const _isUnsafeNode = function _isUnsafeNode(currentNode, tagName) {\n /* Detect mXSS attempts abusing namespace confusion */\n if (SAFE_FOR_XML && currentNode.hasChildNodes() && !_isNode(currentNode.firstElementChild) && regExpTest(ELEMENT_MARKUP_PROBE, currentNode.textContent) && regExpTest(ELEMENT_MARKUP_PROBE, currentNode.innerHTML)) {\n return true;\n }\n /* Remove risky CSS construction leading to mXSS */\n if (SAFE_FOR_XML && currentNode.namespaceURI === HTML_NAMESPACE && tagName === 'style' && _isNode(currentNode.firstElementChild)) {\n return true;\n }\n /* Remove any occurrence of processing instructions */\n if (currentNode.nodeType === NODE_TYPE.processingInstruction) {\n return true;\n }\n /* Remove any kind of possibly harmful comments */\n if (SAFE_FOR_XML && currentNode.nodeType === NODE_TYPE.comment && regExpTest(COMMENT_MARKUP_PROBE, currentNode.data)) {\n return true;\n }\n return false;\n };\n /**\n * Handle a node whose tag is forbidden or not allowlisted: keep\n * allowed custom elements (false return exits _sanitizeElements\n * early - the namespace and fallback-tag removal checks are\n * intentionally skipped for kept custom elements), else hoist\n * content per KEEP_CONTENT and remove.\n *\n * A kept custom element is the ONLY case in which this function\n * returns false, so the caller uses that return value to run the\n * afterSanitizeElements hook on the kept element and keep the\n * element-hook lifecycle consistent with normal allowlisted\n * elements (GHSA-c2j3-45gr-mqc4).\n *\n * @param currentNode the disallowed node\n * @param tagName the node's transformCaseFunc'd tag name\n * @return true if the node was removed, false if kept\n */\n const _sanitizeDisallowedNode = function _sanitizeDisallowedNode(currentNode, tagName, root) {\n /* Check if we have a custom element to handle */\n if (!FORBID_TAGS[tagName] && _isBasicCustomElement(tagName)) {\n if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, tagName)) {\n return false;\n }\n if (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(tagName)) {\n return false;\n }\n }\n /* Keep content except for bad-listed elements.\n Use the cached prototype getters exclusively — the previous code\n had `|| currentNode.parentNode` / `|| currentNode.childNodes`\n fallbacks, but the cached getters always return the canonical\n value (or null for a real parent-less node), so the fallback\n path was dead in safe cases and a clobbering surface in unsafe\n ones. Falsy cached results stay falsy; the `if (childNodes &&\n parentNode)` check already gates correctly. */\n if (KEEP_CONTENT && !FORBID_CONTENTS[tagName]) {\n const parentNode = getParentNode(currentNode);\n const childNodes = getChildNodes(currentNode);\n if (childNodes && parentNode) {\n const childCount = childNodes.length;\n /* Hoist by moving each child up one level rather than deep-cloning\n it. Moving transfers every descendant exactly once, so a chain of\n nested disallowed elements costs O(n) instead of the O(n^2) that\n re-cloning the shrinking subtree at each level produced; it also\n empties the removed original, so `DOMPurify.removed` no longer\n pins whole subtrees. Moving preserves the in-place guarantee too:\n an original carrying already-queued resource events (`<img\n onerror>`, `<video>`/`<audio>` error, lazy/`onload`, …) is\n relocated and sanitised rather than left detached but still armed.\n The sole case that must clone is removing the walk root itself.\n The result is serialised from the root's subtree, so a restrictive\n ALLOWED_TAGS that strips the root (`body` on the string path) must\n leave the content inside it, which only cloning does. In IN_PLACE\n the root is pre-validated as an allowed tag and so is never removed\n here, so that path always takes the move branch.\n `childNodes` is live; a tail-to-head walk keeps `childNodes[i]`\n valid whether we move (drops the trailing entry) or clone (leaves\n the list intact). */\n for (let i = childCount - 1; i >= 0; --i) {\n const hoisted = currentNode === root ? cloneNode(childNodes[i], true) : childNodes[i];\n parentNode.insertBefore(hoisted, getNextSibling(currentNode));\n }\n }\n }\n _forceRemove(currentNode);\n return true;\n };\n /**\n * Fork a hook-mutable allowlist off its shared binding the first time a\n * (possibly lazily-installed) uponSanitize* hook is about to see it, so the\n * hook cannot widen the per-instance default or the setConfig binding by\n * reference and leak past the call. Returns the set unchanged once it is\n * already call-local, so repeated calls across elements are idempotent.\n *\n * @param hookList the uponSanitize* hook array for this event\n * @param set the current ALLOWED_TAGS / ALLOWED_ATTR binding\n * @param defaultSet the per-instance DEFAULT_ALLOWED_* constant\n * @param setConfigSet the captured setConfig() binding, or null\n * @return a call-local clone if a hook is present and set is still shared,\n * else set unchanged\n */\n const _forkSharedAllowlist = function _forkSharedAllowlist(hookList, set, defaultSet, setConfigSet) {\n if (hookList.length === 0) {\n return set;\n }\n return set === defaultSet || set === setConfigSet ? clone(set) : set;\n };\n /**\n * _sanitizeElements\n *\n * @protect nodeName\n * @protect textContent\n * @protect removeChild\n * @param currentNode to check for permission to exist\n * @return true if node was killed, false if left alive\n */\n // eslint-disable-next-line complexity\n const _sanitizeElements = function _sanitizeElements(currentNode, root) {\n /* Execute a hook if present */\n _executeHooks(hooks.beforeSanitizeElements, currentNode, null);\n /* A hook may have detached the node - treat it as removed (see the\n detached-node comment after the uponSanitizeElement hook below). On\n the IN_PLACE path, neutralize the detached subtree first so a queued\n resource handler on it cannot fire in page scope after we return. */\n if (currentNode !== root && getParentNode(currentNode) === null) {\n if (IN_PLACE) {\n _neutralizeSubtree(currentNode);\n }\n return true;\n }\n /* Check if element is clobbered or can clobber */\n if (_isClobbered(currentNode)) {\n _forceRemove(currentNode);\n return true;\n }\n /* Now let's check the element's type and name */\n const tagName = transformCaseFunc(getNodeName ? getNodeName(currentNode) : currentNode.nodeName);\n /* Close the pre-walk clone-guard's timing gap: an uponSanitizeElement\n hook may have been installed after that guard sampled the hook arrays\n (e.g. lazily from beforeSanitizeElements), leaving ALLOWED_TAGS still\n aliasing a shared binding that a widening hook would mutate by\n reference. Fork it before exposing it to the hook. */\n ALLOWED_TAGS = _forkSharedAllowlist(hooks.uponSanitizeElement, ALLOWED_TAGS, DEFAULT_ALLOWED_TAGS, SET_CONFIG_ALLOWED_TAGS);\n /* Execute a hook if present */\n _executeHooks(hooks.uponSanitizeElement, currentNode, {\n tagName,\n allowedTags: ALLOWED_TAGS\n });\n /* A hook may have detached the node from the tree — a long-standing\n user pattern (issue #469; draw.io-style foreignObject filtering).\n Per the cached, unclobberable parentNode getter the node is\n genuinely out of the tree, so it can reach neither the serialized\n output nor an IN_PLACE live tree; treat it as removed and stop\n processing it. Without this guard, the unsafe-node / namespace\n checks below would call _forceRemove on a parentless node and hit\n the REPORT-3 fail-closed throw — which exists for nodes DOMPurify\n wants gone but *cannot* detach (clobbered / parentless roots), the\n opposite of a node that is already safely gone. The walk root is\n exempt: a detached IN_PLACE root is legitimate input and must still\n be fully sanitized, and a kill-decision on it must keep hitting the\n REPORT-3 throw. Nodes detached by hooks stay the hook's\n responsibility for placement: they are not recorded in\n DOMPurify.removed, so the post-walk IN_PLACE pass (which iterates\n DOMPurify.removed) does not reach them. But a hook-detached subtree\n can still hold a queued resource-event handler - e.g. an <img onload>\n that began loading when the caller built the live tree - which fires\n in page scope after sanitize returns even though the handler never\n reached the returned tree. That is the audit-5 F1 hazard, and the\n documented node.remove() hook pattern walks straight into it. So on\n the IN_PLACE path we neutralize the detached subtree inline here,\n stripping its non-allow-listed attributes before returning, exactly\n as the post-walk pass does for _forceRemove'd subtrees. */\n if (currentNode !== root && getParentNode(currentNode) === null) {\n if (IN_PLACE) {\n _neutralizeSubtree(currentNode);\n }\n return true;\n }\n /* Remove mXSS vectors, processing instructions and risky comments */\n if (_isUnsafeNode(currentNode, tagName)) {\n _forceRemove(currentNode);\n return true;\n }\n /* Remove element if anything forbids its presence */\n if (FORBID_TAGS[tagName] || !(EXTRA_ELEMENT_HANDLING.tagCheck instanceof Function && EXTRA_ELEMENT_HANDLING.tagCheck(tagName)) && !ALLOWED_TAGS[tagName]) {\n const removed = _sanitizeDisallowedNode(currentNode, tagName, root);\n /* A false return means the node is a custom element kept via\n CUSTOM_ELEMENT_HANDLING - the only keep path through\n _sanitizeDisallowedNode. Run afterSanitizeElements on it so the\n element-hook lifecycle matches normal allowlisted elements: a\n security policy applied in this hook (e.g. stripping an attribute\n from every surviving element) must not silently skip kept custom\n elements (GHSA-c2j3-45gr-mqc4). This mirrors the normal-element\n tail below - the hook runs, then the walker's subsequent\n _sanitizeAttributes pass sanitizes the element's attributes. The\n deliberately skipped namespace and fallback-tag removal checks stay\n skipped; they are removal decisions, not the hook contract. */\n if (removed === false) {\n _executeHooks(hooks.afterSanitizeElements, currentNode, null);\n }\n return removed;\n }\n /* Check whether element has a valid namespace.\n Realm-safe check (GHSA-hpcv-96wg-7vj8): use the cached Node.prototype\n nodeType getter rather than `instanceof Element`, which is realm-\n bound and short-circuits to false for any node minted in a different\n realm — letting a foreign-realm element with a forbidden namespace\n slip past the namespace check entirely. */\n const nt = getNodeType ? getNodeType(currentNode) : currentNode.nodeType;\n if (nt === NODE_TYPE.element && !_checkValidNamespace(currentNode)) {\n _forceRemove(currentNode);\n return true;\n }\n /* Make sure that older browsers don't get fallback-tag mXSS */\n if ((tagName === 'noscript' || tagName === 'noembed' || tagName === 'noframes') && regExpTest(FALLBACK_TAG_CLOSE, currentNode.innerHTML)) {\n _forceRemove(currentNode);\n return true;\n }\n /* Sanitize element content to be template-safe */\n if (SAFE_FOR_TEMPLATES && currentNode.nodeType === NODE_TYPE.text) {\n /* Get the element's text content */\n const content = _stripTemplateExpressions(currentNode.textContent);\n if (currentNode.textContent !== content) {\n arrayPush(DOMPurify.removed, {\n element: currentNode.cloneNode()\n });\n currentNode.textContent = content;\n }\n }\n /* Execute a hook if present */\n _executeHooks(hooks.afterSanitizeElements, currentNode, null);\n return false;\n };\n /**\n * _isValidAttribute\n *\n * @param lcTag Lowercase tag name of containing element.\n * @param lcName Lowercase attribute name.\n * @param value Attribute value.\n * @return Returns true if `value` is valid, otherwise false.\n */\n // eslint-disable-next-line complexity\n const _isValidAttribute = function _isValidAttribute(lcTag, lcName, value) {\n /* FORBID_ATTR must always win, even if ADD_ATTR predicate would allow it */\n if (FORBID_ATTR[lcName]) {\n return false;\n }\n /* Reject declarative-partial-updates patch-linkage attributes\n (https://github.com/WICG/declarative-partial-updates).\n Empirical note (Chrome 150, verified — see\n test/declarative-patch-probe-v3.html): expansion is NOT applied after\n sanitization. For the string path it fires during sanitize()'s own\n parse, so the walk sees and sanitizes the fully materialized expanded\n tree — teleports into MathML/SVG integration points included; a\n weaponized `<template for>`->`<img onerror>` comes back with the handler\n stripped. For the IN_PLACE path it fires on connection, before the walk.\n Either way DOMPurify is NOT blind to the patch.\n This removal is therefore defense-in-depth rather than the sole barrier:\n it prevents live linkage from surviving into the OUTPUT and re-expanding\n in the caller's context, and keeps behaviour deterministic if a future\n engine defers expansion. `for` is legitimate only on <label>/<output>;\n anywhere else (notably <template for>) it links the element to a patch\n target and teleports or removes an arbitrary DOM range by id/marker name.\n `patchsrc` fetches remote markup and is treated as a script-loading\n mechanism (CSP). Gated on SAFE_FOR_XML so the removal groups with the\n other structural-threat checks and stays overridable, consistent with\n the rest of the codebase. PI range markers are already removed by\n _isUnsafeNode. */\n if (SAFE_FOR_XML && lcName === 'patchsrc') {\n return false;\n }\n if (SAFE_FOR_XML && lcName === 'for' && lcTag !== 'label' && lcTag !== 'output') {\n return false;\n }\n /* Make sure attribute cannot clobber */\n if (SANITIZE_DOM && (lcName === 'id' || lcName === 'name') && (value in document || value in formElement)) {\n return false;\n }\n const nameIsPermitted = ALLOWED_ATTR[lcName] || EXTRA_ELEMENT_HANDLING.attributeCheck instanceof Function && EXTRA_ELEMENT_HANDLING.attributeCheck(lcName, lcTag);\n /* Allow valid data-* attributes: At least one character after \"-\"\n (https://html.spec.whatwg.org/multipage/dom.html#embedding-custom-non-visible-data-with-the-data-*-attributes)\n XML-compatible (https://html.spec.whatwg.org/multipage/infrastructure.html#xml-compatible and http://www.w3.org/TR/xml/#d0e804)\n We don't need to check the value; it's always URI safe. */\n if (ALLOW_DATA_ATTR && regExpTest(DATA_ATTR$1, lcName)) ; else if (ALLOW_ARIA_ATTR && regExpTest(ARIA_ATTR$1, lcName)) ; else if (!nameIsPermitted) {\n if (\n // First condition does a very basic check if a) it's basically a valid custom element tagname AND\n // b) if the tagName passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck\n // and c) if the attribute name passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.attributeNameCheck\n _isBasicCustomElement(lcTag) && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, lcTag) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(lcTag)) && (CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.attributeNameCheck, lcName) || CUSTOM_ELEMENT_HANDLING.attributeNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.attributeNameCheck(lcName, lcTag)) ||\n // Alternative, second condition checks if it's an `is`-attribute, AND\n // the value passes whatever the user has configured for CUSTOM_ELEMENT_HANDLING.tagNameCheck\n lcName === 'is' && CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements && (CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof RegExp && regExpTest(CUSTOM_ELEMENT_HANDLING.tagNameCheck, value) || CUSTOM_ELEMENT_HANDLING.tagNameCheck instanceof Function && CUSTOM_ELEMENT_HANDLING.tagNameCheck(value))) ; else {\n return false;\n }\n /* Check value is safe. First, is attr inert? If so, is safe */\n } else if (URI_SAFE_ATTRIBUTES[lcName]) ; else if (regExpTest(IS_ALLOWED_URI$1, stringReplace(value, ATTR_WHITESPACE$1, ''))) ; else if ((lcName === 'src' || lcName === 'xlink:href' || lcName === 'href') && lcTag !== 'script' && stringIndexOf(value, 'data:') === 0 && DATA_URI_TAGS[lcTag]) ; else if (ALLOW_UNKNOWN_PROTOCOLS && !regExpTest(IS_SCRIPT_OR_DATA$1, stringReplace(value, ATTR_WHITESPACE$1, ''))) ; else if (value) {\n return false;\n } else ;\n return true;\n };\n /* Names the HTML spec reserves from valid-custom-element-name; these must\n * never be treated as basic custom elements even when a permissive\n * CUSTOM_ELEMENT_HANDLING.tagNameCheck is configured. */\n const RESERVED_CUSTOM_ELEMENT_NAMES = addToSet({}, ['annotation-xml', 'color-profile', 'font-face', 'font-face-format', 'font-face-name', 'font-face-src', 'font-face-uri', 'missing-glyph']);\n /**\n * _isBasicCustomElement\n * checks if at least one dash is included in tagName, and it's not the first char\n * for more sophisticated checking see https://github.com/sindresorhus/validate-element-name\n *\n * @param tagName name of the tag of the node to sanitize\n * @returns Returns true if the tag name meets the basic criteria for a custom element, otherwise false.\n */\n const _isBasicCustomElement = function _isBasicCustomElement(tagName) {\n return !RESERVED_CUSTOM_ELEMENT_NAMES[stringToLowerCase(tagName)] && regExpTest(CUSTOM_ELEMENT$1, tagName);\n };\n /**\n * Wrap an attribute value in the matching Trusted Types object when\n * the active policy requires it. Namespaced attributes pass through\n * unchanged (no TT support yet, see\n * https://bugs.chromium.org/p/chromium/issues/detail?id=1305293).\n *\n * @param lcTag lowercase tag name of the containing element\n * @param lcName lowercase attribute name\n * @param namespaceURI the attribute's namespace, if any\n * @param value the attribute value to wrap\n * @return the value, wrapped when Trusted Types demand it\n */\n const _applyTrustedTypesToAttribute = function _applyTrustedTypesToAttribute(lcTag, lcName, namespaceURI, value) {\n if (trustedTypesPolicy && typeof trustedTypes === 'object' && typeof trustedTypes.getAttributeType === 'function' && !namespaceURI) {\n switch (trustedTypes.getAttributeType(lcTag, lcName)) {\n case 'TrustedHTML':\n {\n return _createTrustedHTML(value);\n }\n case 'TrustedScriptURL':\n {\n return _createTrustedScriptURL(value);\n }\n }\n }\n return value;\n };\n /**\n * Write a modified attribute value back onto the element. On\n * success, re-probe for clobbering introduced by the new value and\n * remove the element when found; otherwise pop the removal entry\n * recorded by the earlier _removeAttribute (long-standing pairing\n * with the SANITIZE_NAMED_PROPS path - do not \"fix\" casually). On\n * failure, remove the attribute instead.\n *\n * @param currentNode the element carrying the attribute\n * @param name the attribute name as present on the element\n * @param namespaceURI the attribute's namespace, if any\n * @param value the new attribute value\n */\n const _setAttributeValue = function _setAttributeValue(currentNode, name, namespaceURI, value) {\n try {\n if (namespaceURI) {\n currentNode.setAttributeNS(namespaceURI, name, value);\n } else {\n /* Fallback to setAttribute() for browser-unrecognized namespaces e.g. \"x-schema\". */\n currentNode.setAttribute(name, value);\n }\n if (_isClobbered(currentNode)) {\n _forceRemove(currentNode);\n } else {\n arrayPop(DOMPurify.removed);\n }\n } catch (_) {\n _removeAttribute(name, currentNode);\n }\n };\n /**\n * _sanitizeAttributes\n *\n * @protect attributes\n * @protect nodeName\n * @protect removeAttribute\n * @protect setAttribute\n *\n * @param currentNode to sanitize\n */\n const _sanitizeAttributes = function _sanitizeAttributes(currentNode) {\n /* Execute a hook if present */\n _executeHooks(hooks.beforeSanitizeAttributes, currentNode, null);\n const attributes = currentNode.attributes;\n /* Check if we have attributes; if not we might have a text node */\n if (!attributes || _isClobbered(currentNode)) {\n return;\n }\n /* Same lazy-install guard as uponSanitizeElement (see there): fork the\n attribute allowlist off its shared binding before a hook can see it. */\n ALLOWED_ATTR = _forkSharedAllowlist(hooks.uponSanitizeAttribute, ALLOWED_ATTR, DEFAULT_ALLOWED_ATTR, SET_CONFIG_ALLOWED_ATTR);\n const hookEvent = {\n attrName: '',\n attrValue: '',\n keepAttr: true,\n allowedAttributes: ALLOWED_ATTR,\n forceKeepAttr: undefined\n };\n let l = attributes.length;\n const lcTag = transformCaseFunc(currentNode.nodeName);\n /* Go backwards over all attributes; safely remove bad ones */\n while (l--) {\n const attr = attributes[l];\n const name = attr.name,\n namespaceURI = attr.namespaceURI,\n attrValue = attr.value;\n const lcName = transformCaseFunc(name);\n const initValue = attrValue;\n let value = name === 'value' ? initValue : stringTrim(initValue);\n /* Execute a hook if present */\n hookEvent.attrName = lcName;\n hookEvent.attrValue = value;\n hookEvent.keepAttr = true;\n hookEvent.forceKeepAttr = undefined; // Allows developers to see this is a property they can set\n _executeHooks(hooks.uponSanitizeAttribute, currentNode, hookEvent);\n value = hookEvent.attrValue;\n /* Full DOM Clobbering protection via namespace isolation,\n * Prefix id and name attributes with `user-content-`\n */\n if (SANITIZE_NAMED_PROPS && (lcName === 'id' || lcName === 'name') && stringIndexOf(value, SANITIZE_NAMED_PROPS_PREFIX) !== 0) {\n // Remove the attribute with this value\n _removeAttribute(name, currentNode);\n // Prefix the value and later re-create the attribute with the sanitized value\n value = SANITIZE_NAMED_PROPS_PREFIX + value;\n }\n // Else: already prefixed, leave the attribute alone — the prefix is\n // itself the clobbering protection, and re-applying it is incorrect.\n /* Work around a security issue with comments inside attributes */\n if (SAFE_FOR_XML && regExpTest(/((--!?|])>)|<\\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i, value)) {\n _removeAttribute(name, currentNode);\n continue;\n }\n /* Make sure we cannot easily use animated hrefs, even if animations are allowed */\n if (lcName === 'attributename' && stringMatch(value, 'href')) {\n _removeAttribute(name, currentNode);\n continue;\n }\n /* Did the hooks force-keep the attribute? */\n if (hookEvent.forceKeepAttr) {\n continue;\n }\n /* Did the hooks approve of the attribute? */\n if (!hookEvent.keepAttr) {\n _removeAttribute(name, currentNode);\n continue;\n }\n /* Work around a security issue in jQuery 3.0 */\n if (!ALLOW_SELF_CLOSE_IN_ATTR && regExpTest(SELF_CLOSING_TAG, value)) {\n _removeAttribute(name, currentNode);\n continue;\n }\n /* Sanitize attribute content to be template-safe */\n if (SAFE_FOR_TEMPLATES) {\n value = _stripTemplateExpressions(value);\n }\n /* Is `value` valid for this attribute? */\n if (!_isValidAttribute(lcTag, lcName, value)) {\n _removeAttribute(name, currentNode);\n continue;\n }\n /* Handle attributes that require Trusted Types */\n value = _applyTrustedTypesToAttribute(lcTag, lcName, namespaceURI, value);\n /* Handle invalid data-* attribute set by try-catching it */\n if (value !== initValue) {\n _setAttributeValue(currentNode, name, namespaceURI, value);\n }\n }\n /* Execute a hook if present */\n _executeHooks(hooks.afterSanitizeAttributes, currentNode, null);\n };\n /**\n * _sanitizeShadowDOM\n *\n * @param fragment to iterate over recursively\n */\n const _sanitizeShadowDOM2 = function _sanitizeShadowDOM(fragment) {\n let shadowNode = null;\n const shadowIterator = _createNodeIterator(fragment);\n /* Execute a hook if present */\n _executeHooks(hooks.beforeSanitizeShadowDOM, fragment, null);\n while (shadowNode = shadowIterator.nextNode()) {\n /* Execute a hook if present */\n _executeHooks(hooks.uponSanitizeShadowNode, shadowNode, null);\n /* Sanitize tags and elements */\n _sanitizeElements(shadowNode, fragment);\n /* Check attributes next */\n _sanitizeAttributes(shadowNode);\n /* Deep shadow DOM detected.\n Realm-safe check (GHSA-hpcv-96wg-7vj8): use nodeType against the\n DOCUMENT_FRAGMENT_NODE constant rather than instanceof, so we\n recurse into <template>.content from foreign realms too. */\n if (_isDocumentFragment(shadowNode.content)) {\n _sanitizeShadowDOM2(shadowNode.content);\n }\n /* An element iterated here may itself host an attached\n shadow root. The default NodeIterator does not enter shadow\n trees, so a shadow root nested inside template.content was\n previously reached by no walk at all (the pre-pass at\n _sanitizeAttachedShadowRoots descends via childNodes, which\n doesn't enter template.content; the template-content recursion\n above iterates the content but never inspected shadowRoot).\n Walk it explicitly. The nodeType guard avoids reading\n shadowRoot off text / comment / CDATA / PI nodes that the\n iterator also surfaces. */\n const shadowNodeType = getNodeType ? getNodeType(shadowNode) : shadowNode.nodeType;\n if (shadowNodeType === NODE_TYPE.element) {\n const innerSr = getShadowRoot(shadowNode);\n if (_isDocumentFragment(innerSr)) {\n _sanitizeAttachedShadowRoots(innerSr);\n _sanitizeShadowDOM2(innerSr);\n }\n }\n }\n /* Execute a hook if present */\n _executeHooks(hooks.afterSanitizeShadowDOM, fragment, null);\n };\n /**\n * _sanitizeAttachedShadowRoots\n *\n * Walks `root` and feeds every attached shadow root we encounter into\n * the existing _sanitizeShadowDOM pipeline. The default node iterator\n * does not descend into shadow trees, so nodes inside an attached\n * shadow root would otherwise be skipped entirely.\n *\n * Two real input paths put attached shadow roots in front of us:\n * 1. IN_PLACE on a DOM node that already has shadow roots attached.\n * 2. DOM-node input where importNode(dirty, true) deep-clones the\n * shadow root because it was created with `clonable: true`.\n *\n * This pass runs once, up front, so the main iteration loop (and the\n * existing _sanitizeShadowDOM template-content recursion) stay\n * untouched — string-input paths are not affected.\n *\n * @param root the subtree root to walk for attached shadow roots\n */\n const _sanitizeAttachedShadowRoots = function _sanitizeAttachedShadowRoots(root) {\n /* Iterative (explicit stack) rather than per-child recursion. DOM APIs\n impose no depth cap, so an attacker-shaped tree (JSON/CRDT/editor data\n built straight into the DOM — the IN_PLACE surface) deeper than the JS\n call-stack budget would otherwise overflow native recursion here and\n throw at the IN_PLACE entry pre-pass, before a single node is\n sanitized, leaving the caller's live tree untouched (fail-open). See\n campaign-3 F4. A heap stack keeps depth off the call stack.\n Each work item is either a node to descend into, or a deferred\n `_sanitizeShadowDOM` for an already-walked shadow root. The deferred\n form preserves the original post-order discipline: a shadow root's\n nested shadow roots are discovered before the outer shadow is\n sanitized (which may remove hosts). Pushes are in reverse of the\n desired processing order (LIFO): template content, then children, then\n the shadow-sanitize, then the shadow walk — so the order matches the\n previous recursion exactly. */\n const stack = [{\n node: root,\n shadow: null\n }];\n while (stack.length > 0) {\n const item = stack.pop();\n /* Deferred shadow-DOM sanitisation: runs after its subtree was walked. */\n if (item.shadow) {\n _sanitizeShadowDOM2(item.shadow);\n continue;\n }\n const node = item.node;\n const nodeType = getNodeType ? getNodeType(node) : node.nodeType;\n const isElement = nodeType === NODE_TYPE.element;\n /* (pushed last → processed first) Children, snapshotted in reverse so\n the first child is processed first. Snapshotting matters because a\n hook may detach siblings mid-walk. */\n const childNodes = getChildNodes(node);\n if (childNodes) {\n for (let i = childNodes.length - 1; i >= 0; --i) {\n stack.push({\n node: childNodes[i],\n shadow: null\n });\n }\n }\n /* (pushed before children → processed after them, matching the old\n \"template content last\" order) When the node is a <template>,\n descend into its content. */\n if (isElement) {\n const rootName = getNodeName ? getNodeName(node) : null;\n if (typeof rootName === 'string' && transformCaseFunc(rootName) === 'template') {\n const content = node.content;\n if (_isDocumentFragment(content)) {\n stack.push({\n node: content,\n shadow: null\n });\n }\n }\n }\n /* Shadow root (processed first): walk its subtree, then sanitise it.\n Realm-safe check (GHSA-hpcv-96wg-7vj8): nodeType-based detection\n rather than `instanceof DocumentFragment`, which is realm-bound and\n silently skipped foreign-realm shadow roots (e.g.\n iframe.contentDocument attachShadow). */\n if (isElement) {\n const sr = getShadowRoot(node);\n if (_isDocumentFragment(sr)) {\n /* Push the deferred sanitise first so it pops after the shadow\n walk we push next, i.e. nested shadow roots are discovered\n before this one is sanitised. */\n stack.push({\n node: null,\n shadow: sr\n }, {\n node: sr,\n shadow: null\n });\n }\n }\n }\n };\n // eslint-disable-next-line complexity\n DOMPurify.sanitize = function (dirty) {\n let cfg = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n let body = null;\n let importedNode = null;\n let currentNode = null;\n let returnNode = null;\n /* Make sure we have a string to sanitize.\n DO NOT return early, as this will return the wrong type if\n the user has requested a DOM object rather than a string */\n IS_EMPTY_INPUT = !dirty;\n if (IS_EMPTY_INPUT) {\n dirty = '<!-->';\n }\n /* Stringify, in case dirty is an object */\n if (typeof dirty !== 'string' && !_isNode(dirty)) {\n dirty = stringifyValue(dirty);\n if (typeof dirty !== 'string') {\n throw typeErrorCreate('dirty is not a string, aborting');\n }\n }\n /* Return dirty HTML if DOMPurify cannot run */\n if (!DOMPurify.isSupported) {\n return dirty;\n }\n /* Assign config vars */\n if (SET_CONFIG) {\n /* Persistent setConfig() path: _parseConfig is skipped, so the sets are\n * not re-derived per call. Restore them from the pristine bindings\n * captured at setConfig() time so a previous call's hook clone (mutated\n * below) does not carry over. */\n ALLOWED_TAGS = SET_CONFIG_ALLOWED_TAGS;\n ALLOWED_ATTR = SET_CONFIG_ALLOWED_ATTR;\n } else {\n _parseConfig(cfg);\n }\n /* Clone the hook-mutable allowlists before the walk whenever an\n * uponSanitize* hook is registered. The hook event exposes ALLOWED_TAGS\n * and ALLOWED_ATTR by reference (as allowedTags / allowedAttributes), so\n * a hook that widens them would otherwise mutate the shared set\n * permanently: across later calls and across every element. Cloning per\n * walk keeps documented in-call widening working while scoping it to the\n * call. A single guard for both config paths - the per-call path rebinds\n * the sets in _parseConfig each call, the persistent path restores them\n * from the captured bindings just above - so the two cannot diverge. */\n if (hooks.uponSanitizeElement.length > 0 || hooks.uponSanitizeAttribute.length > 0) {\n ALLOWED_TAGS = clone(ALLOWED_TAGS);\n }\n if (hooks.uponSanitizeAttribute.length > 0) {\n ALLOWED_ATTR = clone(ALLOWED_ATTR);\n }\n /* Clean up removed elements */\n DOMPurify.removed = [];\n /* Resolve IN_PLACE for this call without mutating persistent config.\n Writing the IN_PLACE closure variable here leaks under setConfig(),\n where _parseConfig is skipped on later calls: a single string call would\n disable in-place mode for every subsequent node call, returning a\n sanitized copy while leaving the caller's node — which in-place callers\n keep using and whose return value they ignore — unsanitized. REPORT-2. */\n const inPlace = IN_PLACE && typeof dirty !== 'string' && _isNode(dirty);\n if (inPlace) {\n /* Declarative-partial-updates / streaming pre-pass: sever every patch\n linkage across the live tree BEFORE the walk, so no patch can fire\n mid-walk and inject into an already-processed region. Runs first, so\n it also covers the forbidden/clobbered roots that throw below. */\n _neutralizePatchLinkage(dirty);\n /* Do some early pre-sanitization to avoid unsafe root nodes.\n Read nodeName through the cached prototype getter — a clobbering\n child named \"nodeName\" on the form root would otherwise shadow\n the property and let this check skip the root-allowlist\n validation entirely. */\n const nn = getNodeName ? getNodeName(dirty) : dirty.nodeName;\n if (typeof nn === 'string') {\n const tagName = transformCaseFunc(nn);\n if (!ALLOWED_TAGS[tagName] || FORBID_TAGS[tagName]) {\n /* Fail closed on a live root: neutralize handlers/children before\n throwing, exactly as the mid-walk abort path does. */\n _neutralizeRoot(dirty);\n throw typeErrorCreate('root node is forbidden and cannot be sanitized in-place');\n }\n }\n /* Pre-flight the root through _isClobbered. The iterator-driven\n removal path can not detach a parent-less root: _forceRemove\n falls through to Element.prototype.remove(), which per spec\n is a no-op on a node with no parent. A clobbered root would\n then survive the main loop with its attributes uninspected,\n because _sanitizeAttributes early-returns on _isClobbered. The\n result would be an attacker-controlled form, complete with any\n event-handler attributes the caller passed in, handed back to\n the application unsanitized. Refuse to sanitize such a root\n the same way we refuse a forbidden tag. GHSA-r47g-fvhr-h676. */\n if (_isClobbered(dirty)) {\n /* Fail closed on a live clobbered root before throwing.\n _neutralizeRoot's reads are clobber-safe (cached getters); the\n form's non-clobbered descendants, e.g. an armed <img>, are scrubbed. */\n _neutralizeRoot(dirty);\n throw typeErrorCreate('root node is clobbered and cannot be sanitized in-place');\n }\n /* Sanitize attached shadow roots before the main iterator runs.\n The iterator does not descend into shadow trees. Same fail-closed\n barrier as the main walk (campaign-3 F2): a custom-element reaction\n inside a shadow root could abort this pre-pass before the walk runs,\n which would otherwise leave the entire live tree unsanitized. */\n try {\n _sanitizeAttachedShadowRoots(dirty);\n } catch (error) {\n _neutralizeRoot(dirty);\n throw error;\n }\n } else if (_isNode(dirty)) {\n /* If dirty is a DOM element, append to an empty document to avoid\n elements being stripped by the parser */\n body = _initDocument('<!---->');\n importedNode = body.ownerDocument.importNode(dirty, true);\n if (importedNode.nodeType === NODE_TYPE.element && importedNode.nodeName === 'BODY') {\n /* Node is already a body, use as is */\n body = importedNode;\n } else if (importedNode.nodeName === 'HTML') {\n body = importedNode;\n } else {\n // eslint-disable-next-line unicorn/prefer-dom-node-append\n body.appendChild(importedNode);\n }\n /* Clonable shadow roots are deep-cloned by importNode(); sanitize\n them before the main iterator runs, since the iterator does not\n descend into shadow trees. The walk routes every read through a\n cached prototype getter so clobbering descendants on a form root\n cannot hide a shadow host from this pass. */\n _sanitizeAttachedShadowRoots(importedNode);\n } else {\n /* Exit directly if we have nothing to do */\n if (!RETURN_DOM && !SAFE_FOR_TEMPLATES && !WHOLE_DOCUMENT &&\n // eslint-disable-next-line unicorn/prefer-includes\n dirty.indexOf('<') === -1) {\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? _createTrustedHTML(dirty) : dirty;\n }\n /* Initialize the document to work on */\n body = _initDocument(dirty);\n /* Check we have a DOM node from the data */\n if (!body) {\n return RETURN_DOM ? null : RETURN_TRUSTED_TYPE ? emptyHTML : '';\n }\n }\n /* Remove first element node (ours) if FORCE_BODY is set */\n if (body && FORCE_BODY) {\n _forceRemove(body.firstChild);\n }\n /* Get node iterator */\n const walkRoot = inPlace ? dirty : body;\n /* Now start iterating over the created document.\n The walk runs inside an exception barrier (campaign-3 F2): a re-entrant\n engine/custom-element mutation can detach a node mid-walk so\n `_forceRemove`'s parentless guard throws, aborting the loop. Without the\n barrier the caller's in-place tree would be left half-sanitized with the\n unvisited tail still armed. _createNodeIterator itself is inside the\n barrier too: constructing the iterator dereferences the root's document,\n and any failure there (e.g. an exotic/clobbered root) must still fail\n closed rather than skip the neutralize. On any throw we fail closed -\n strip the in-place root bare - then rethrow so the existing throw\n contract is preserved. (String/DOM-copy paths never return the partial\n body, so the propagating throw is already fail-closed there.) */\n try {\n const nodeIterator = _createNodeIterator(walkRoot);\n while (currentNode = nodeIterator.nextNode()) {\n /* Sanitize tags and elements */\n _sanitizeElements(currentNode, walkRoot);\n /* Check attributes next */\n _sanitizeAttributes(currentNode);\n /* Shadow DOM detected, sanitize it.\n Realm-safe check (GHSA-hpcv-96wg-7vj8): nodeType-based detection\n instead of instanceof, so foreign-realm <template>.content is\n walked correctly. */\n if (_isDocumentFragment(currentNode.content)) {\n _sanitizeShadowDOM2(currentNode.content);\n }\n }\n } catch (error) {\n if (inPlace) {\n _neutralizeRoot(dirty);\n /* Nodes _forceRemove'd earlier in the aborted walk are already\n detached from the root, so _neutralizeRoot's subtree pass does not\n reach them. Defuse them too, mirroring the success-path loop below. */\n arrayForEach(DOMPurify.removed, entry => {\n if (entry.element) {\n _neutralizeSubtree(entry.element);\n }\n });\n }\n throw error;\n }\n /* If we sanitized `dirty` in-place, return it. */\n if (inPlace) {\n /* Fail-closed completion of the audit-5 F1 fix: every node removed from\n the caller's live tree is detached but may still hold a queued\n resource-event handler that fires in page scope after we return. The\n move-hoist covers only disallowed-tag KEEP_CONTENT removals; strip the\n non-allow-listed attributes off every other removed subtree (clobber,\n mXSS, namespace, comments, KEEP_CONTENT:false, …) so those handlers are\n cancelled before any event can fire. Runs synchronously, pre-return. */\n arrayForEach(DOMPurify.removed, entry => {\n if (entry.element) {\n _neutralizeSubtree(entry.element);\n }\n });\n if (SAFE_FOR_TEMPLATES) {\n _scrubTemplateExpressions2(dirty);\n }\n return dirty;\n }\n /* Return sanitized string or DOM */\n if (RETURN_DOM) {\n if (SAFE_FOR_TEMPLATES) {\n _scrubTemplateExpressions2(body);\n }\n if (RETURN_DOM_FRAGMENT) {\n returnNode = createDocumentFragment.call(body.ownerDocument);\n while (body.firstChild) {\n // eslint-disable-next-line unicorn/prefer-dom-node-append\n returnNode.appendChild(body.firstChild);\n }\n } else {\n returnNode = body;\n }\n if (ALLOWED_ATTR.shadowroot || ALLOWED_ATTR.shadowrootmode) {\n /*\n AdoptNode() is not used because internal state is not reset\n (e.g. the past names map of a HTMLFormElement), this is safe\n in theory but we would rather not risk another attack vector.\n The state that is cloned by importNode() is explicitly defined\n by the specs.\n */\n returnNode = importNode.call(originalDocument, returnNode, true);\n }\n return returnNode;\n }\n let serializedHTML = WHOLE_DOCUMENT ? body.outerHTML : body.innerHTML;\n /* Serialize doctype if allowed */\n if (WHOLE_DOCUMENT && ALLOWED_TAGS['!doctype'] && body.ownerDocument && body.ownerDocument.doctype && body.ownerDocument.doctype.name && regExpTest(DOCTYPE_NAME, body.ownerDocument.doctype.name)) {\n serializedHTML = '<!DOCTYPE ' + body.ownerDocument.doctype.name + '>\\n' + serializedHTML;\n }\n /* Sanitize final string template-safe */\n if (SAFE_FOR_TEMPLATES) {\n serializedHTML = _stripTemplateExpressions(serializedHTML);\n }\n return trustedTypesPolicy && RETURN_TRUSTED_TYPE ? _createTrustedHTML(serializedHTML) : serializedHTML;\n };\n DOMPurify.setConfig = function () {\n let cfg = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _parseConfig(cfg);\n SET_CONFIG = true;\n SET_CONFIG_ALLOWED_TAGS = ALLOWED_TAGS;\n SET_CONFIG_ALLOWED_ATTR = ALLOWED_ATTR;\n };\n DOMPurify.clearConfig = function () {\n CONFIG = null;\n SET_CONFIG = false;\n SET_CONFIG_ALLOWED_TAGS = null;\n SET_CONFIG_ALLOWED_ATTR = null;\n // Drop any caller-supplied Trusted Types policy so it cannot poison later\n // `RETURN_TRUSTED_TYPE` output. The internal default policy (cached, and\n // never recreated — Trusted Types throws on duplicate names) is restored by\n // the next `_parseConfig`. See GHSA-vxr8-fq34-vvx9.\n trustedTypesPolicy = defaultTrustedTypesPolicy;\n emptyHTML = '';\n };\n DOMPurify.isValidAttribute = function (tag, attr, value) {\n /* Initialize shared config vars if necessary. */\n if (!CONFIG) {\n _parseConfig({});\n }\n const lcTag = transformCaseFunc(tag);\n const lcName = transformCaseFunc(attr);\n return _isValidAttribute(lcTag, lcName, value);\n };\n DOMPurify.addHook = function (entryPoint, hookFunction) {\n if (typeof hookFunction !== 'function') {\n return;\n }\n /* Reject unknown entry points. Without this, a non-hook key (e.g.\n * '__proto__') indexes off the prototype chain rather than a real\n * hook array, and arrayPush then writes to Object.prototype. Guard\n * with an own-property check against the known hook names. */\n if (!objectHasOwnProperty(hooks, entryPoint)) {\n return;\n }\n arrayPush(hooks[entryPoint], hookFunction);\n };\n DOMPurify.removeHook = function (entryPoint, hookFunction) {\n if (!objectHasOwnProperty(hooks, entryPoint)) {\n return undefined;\n }\n if (hookFunction !== undefined) {\n const index = arrayLastIndexOf(hooks[entryPoint], hookFunction);\n return index === -1 ? undefined : arraySplice(hooks[entryPoint], index, 1)[0];\n }\n return arrayPop(hooks[entryPoint]);\n };\n DOMPurify.removeHooks = function (entryPoint) {\n if (!objectHasOwnProperty(hooks, entryPoint)) {\n return;\n }\n hooks[entryPoint] = [];\n };\n DOMPurify.removeAllHooks = function () {\n hooks = _createHooksMap();\n };\n return DOMPurify;\n}\nvar purify = createDOMPurify();\n\nexport { purify as default };\n//# sourceMappingURL=purify.es.mjs.map\n","import DOMPurify from 'dompurify';\n\nconst SAFE_HTML_CONFIG = {\n ALLOWED_TAGS: ['br', 'a', 'strong', 'em', 'b', 'i', 'u', 'p', 'ul', 'ol', 'li', 'span', 'div'],\n ALLOWED_ATTR: ['href', 'target', 'rel', 'class'],\n ALLOWED_URI_REGEXP: /^(?:https?:|mailto:|tel:)/i,\n ALLOW_DATA_ATTR: false,\n ALLOW_UNKNOWN_PROTOCOLS: false,\n SAFE_FOR_TEMPLATES: true,\n RETURN_DOM: false,\n RETURN_DOM_FRAGMENT: false,\n RETURN_TRUSTED_TYPES_ONLY: false,\n FORCE_BODY: false\n};\n\n/**\n * Sanitize HTML content to prevent XSS attacks\n * @param html - The HTML string to sanitize\n * @returns Sanitized HTML string safe for rendering\n */\nexport function sanitizeHtml(html: string): string {\n if (!html || typeof html !== 'string') {\n return '';\n }\n\n return DOMPurify.sanitize(html, SAFE_HTML_CONFIG) as string;\n}\n\n/**\n * Sanitize plain text input by escaping HTML entities\n * Use this for user text input that should be treated as plain text\n * @param text - The text to sanitize\n * @returns Sanitized text with HTML entities escaped\n */\nexport function sanitizeText(text: string): string {\n if (!text || typeof text !== 'string') {\n return '';\n }\n\n const div = document.createElement('div');\n div.textContent = text;\n return div.innerHTML;\n}\n\n/**\n * Sanitize URL to prevent javascript: and data: URI attacks\n * @param url - The URL to sanitize\n * @returns Sanitized URL or empty string if invalid\n */\nexport function sanitizeUrl(url: string): string {\n if (!url || typeof url !== 'string') {\n return '';\n }\n\n const trimmedUrl = url.trim();\n\n // Blocklist dangerous protocols\n const dangerousProtocols = /^(?:javascript|data|vbscript|file|about):/i;\n if (dangerousProtocols.test(trimmedUrl)) {\n return '';\n }\n\n // Allow only http, https, mailto, and tel protocols\n const allowedProtocols = /^(?:https?|mailto|tel):/i;\n if (!allowedProtocols.test(trimmedUrl)) {\n // If no protocol, assume it's a relative URL (safe)\n if (!trimmedUrl.includes(':')) {\n return trimmedUrl;\n }\n return '';\n }\n\n return trimmedUrl;\n}\n\n/**\n * Sanitize user input before sending to backend\n * Strips all HTML tags and returns plain text\n * @param input - The user input to sanitize\n * @returns Plain text without HTML tags\n */\nexport function sanitizeUserInput(input: string): string {\n if (!input || typeof input !== 'string') {\n return '';\n }\n\n // Remove all HTML tags\n const strippedHtml = DOMPurify.sanitize(input, {\n ALLOWED_TAGS: [],\n KEEP_CONTENT: true\n });\n\n return strippedHtml.trim();\n}\n","import type { DeepChat } from 'deep-chat';\n\n/** Within this many pixels of the bottom, the reader is following the conversation. */\nconst BOTTOM_THRESHOLD = 40;\n\n/** Keeps the chat pinned to its last message while widgets mount, unless the reader scrolled up. */\nexport function keepScrolledToBottom(element: DeepChat): () => void {\n const root = element.shadowRoot;\n if (!root) {\n return () => undefined;\n }\n\n let container: HTMLElement | null = null;\n let isAtBottom = true;\n let lastScrollTop = 0;\n let frame: number | undefined;\n\n // Scroll events land a frame late: only a decreasing scrollTop means the reader went up.\n const trackScroll = () => {\n if (!container) {\n return;\n }\n const { scrollTop, scrollHeight, clientHeight } = container;\n if (scrollTop < lastScrollTop) {\n isAtBottom = false;\n } else if (scrollHeight - scrollTop - clientHeight < BOTTOM_THRESHOLD) {\n isAtBottom = true;\n }\n lastScrollTop = scrollTop;\n };\n\n const settle = () => {\n frame = undefined;\n const next = root.querySelector<HTMLElement>('#messages');\n if (next !== container) {\n container?.removeEventListener('scroll', trackScroll);\n container = next;\n container?.addEventListener('scroll', trackScroll, { passive: true });\n isAtBottom = true;\n lastScrollTop = 0;\n }\n if (isAtBottom) {\n element.scrollToBottom();\n }\n };\n\n const observer = new MutationObserver(() => {\n frame ??= requestAnimationFrame(settle);\n });\n observer.observe(root, { childList: true, subtree: true });\n\n return () => {\n if (frame !== undefined) {\n cancelAnimationFrame(frame);\n }\n observer.disconnect();\n container?.removeEventListener('scroll', trackScroll);\n };\n}\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n// This file is autogenerated by tools/process-named-references.ts\nvar pairDivider = \"~\";\nvar blockDivider = \"~~\";\nfunction generateNamedReferences(input, prev) {\n var entities = {};\n var characters = {};\n var blocks = input.split(blockDivider);\n var isOptionalBlock = false;\n for (var i = 0; blocks.length > i; i++) {\n var entries = blocks[i].split(pairDivider);\n for (var j = 0; j < entries.length; j += 2) {\n var entity = entries[j];\n var character = entries[j + 1];\n var fullEntity = '&' + entity + ';';\n entities[fullEntity] = character;\n if (isOptionalBlock) {\n entities['&' + entity] = character;\n }\n characters[character] = fullEntity;\n }\n isOptionalBlock = true;\n }\n return prev ?\n { entities: __assign(__assign({}, entities), prev.entities), characters: __assign(__assign({}, characters), prev.characters) } :\n { entities: entities, characters: characters };\n}\nexport var bodyRegExps = {\n xml: /&(?:#\\d+|#[xX][\\da-fA-F]+|[0-9a-zA-Z]+);?/g,\n html4: /∉|&(?:nbsp|iexcl|cent|pound|curren|yen|brvbar|sect|uml|copy|ordf|laquo|not|shy|reg|macr|deg|plusmn|sup2|sup3|acute|micro|para|middot|cedil|sup1|ordm|raquo|frac14|frac12|frac34|iquest|Agrave|Aacute|Acirc|Atilde|Auml|Aring|AElig|Ccedil|Egrave|Eacute|Ecirc|Euml|Igrave|Iacute|Icirc|Iuml|ETH|Ntilde|Ograve|Oacute|Ocirc|Otilde|Ouml|times|Oslash|Ugrave|Uacute|Ucirc|Uuml|Yacute|THORN|szlig|agrave|aacute|acirc|atilde|auml|aring|aelig|ccedil|egrave|eacute|ecirc|euml|igrave|iacute|icirc|iuml|eth|ntilde|ograve|oacute|ocirc|otilde|ouml|divide|oslash|ugrave|uacute|ucirc|uuml|yacute|thorn|yuml|quot|amp|lt|gt|#\\d+|#[xX][\\da-fA-F]+|[0-9a-zA-Z]+);?/g,\n html5: /·|℗|⋇|⪧|⩺|⋗|⦕|⩼|⪆|⥸|⋗|⋛|⪌|≷|≳|⪦|⩹|⋖|⋋|⋉|⥶|⩻|⦖|◃|⊴|◂|∉|⋹̸|⋵̸|∉|⋷|⋶|∌|∌|⋾|⋽|∥|⊠|⨱|⨰|&(?:AElig|AMP|Aacute|Acirc|Agrave|Aring|Atilde|Auml|COPY|Ccedil|ETH|Eacute|Ecirc|Egrave|Euml|GT|Iacute|Icirc|Igrave|Iuml|LT|Ntilde|Oacute|Ocirc|Ograve|Oslash|Otilde|Ouml|QUOT|REG|THORN|Uacute|Ucirc|Ugrave|Uuml|Yacute|aacute|acirc|acute|aelig|agrave|amp|aring|atilde|auml|brvbar|ccedil|cedil|cent|copy|curren|deg|divide|eacute|ecirc|egrave|eth|euml|frac12|frac14|frac34|gt|iacute|icirc|iexcl|igrave|iquest|iuml|laquo|lt|macr|micro|middot|nbsp|not|ntilde|oacute|ocirc|ograve|ordf|ordm|oslash|otilde|ouml|para|plusmn|pound|quot|raquo|reg|sect|shy|sup1|sup2|sup3|szlig|thorn|times|uacute|ucirc|ugrave|uml|uuml|yacute|yen|yuml|#\\d+|#[xX][\\da-fA-F]+|[0-9a-zA-Z]+);?/g\n};\nexport var namedReferences = {};\nnamedReferences['xml'] = generateNamedReferences(\"lt~<~gt~>~quot~\\\"~apos~'~amp~&\");\nnamedReferences['html4'] = generateNamedReferences(\"apos~'~OElig~Œ~oelig~œ~Scaron~Š~scaron~š~Yuml~Ÿ~circ~ˆ~tilde~˜~ensp~ ~emsp~ ~thinsp~ ~zwnj~~zwj~~lrm~~rlm~~ndash~–~mdash~—~lsquo~‘~rsquo~’~sbquo~‚~ldquo~“~rdquo~”~bdquo~„~dagger~†~Dagger~‡~permil~‰~lsaquo~‹~rsaquo~›~euro~€~fnof~ƒ~Alpha~Α~Beta~Β~Gamma~Γ~Delta~Δ~Epsilon~Ε~Zeta~Ζ~Eta~Η~Theta~Θ~Iota~Ι~Kappa~Κ~Lambda~Λ~Mu~Μ~Nu~Ν~Xi~Ξ~Omicron~Ο~Pi~Π~Rho~Ρ~Sigma~Σ~Tau~Τ~Upsilon~Υ~Phi~Φ~Chi~Χ~Psi~Ψ~Omega~Ω~alpha~α~beta~β~gamma~γ~delta~δ~epsilon~ε~zeta~ζ~eta~η~theta~θ~iota~ι~kappa~κ~lambda~λ~mu~μ~nu~ν~xi~ξ~omicron~ο~pi~π~rho~ρ~sigmaf~ς~sigma~σ~tau~τ~upsilon~υ~phi~φ~chi~χ~psi~ψ~omega~ω~thetasym~ϑ~upsih~ϒ~piv~ϖ~bull~•~hellip~…~prime~′~Prime~″~oline~‾~frasl~⁄~weierp~℘~image~ℑ~real~ℜ~trade~™~alefsym~ℵ~larr~←~uarr~↑~rarr~→~darr~↓~harr~↔~crarr~↵~lArr~⇐~uArr~⇑~rArr~⇒~dArr~⇓~hArr~⇔~forall~∀~part~∂~exist~∃~empty~∅~nabla~∇~isin~∈~notin~∉~ni~∋~prod~∏~sum~∑~minus~−~lowast~∗~radic~√~prop~∝~infin~∞~ang~∠~and~∧~or~∨~cap~∩~cup~∪~int~∫~there4~∴~sim~∼~cong~≅~asymp~≈~ne~≠~equiv~≡~le~≤~ge~≥~sub~⊂~sup~⊃~nsub~⊄~sube~⊆~supe~⊇~oplus~⊕~otimes~⊗~perp~⊥~sdot~⋅~lceil~⌈~rceil~⌉~lfloor~⌊~rfloor~⌋~lang~〈~rang~〉~loz~◊~spades~♠~clubs~♣~hearts~♥~diams~♦~~nbsp~ ~iexcl~¡~cent~¢~pound~£~curren~¤~yen~¥~brvbar~¦~sect~§~uml~¨~copy~©~ordf~ª~laquo~«~not~¬~shy~~reg~®~macr~¯~deg~°~plusmn~±~sup2~²~sup3~³~acute~´~micro~µ~para~¶~middot~·~cedil~¸~sup1~¹~ordm~º~raquo~»~frac14~¼~frac12~½~frac34~¾~iquest~¿~Agrave~À~Aacute~Á~Acirc~Â~Atilde~Ã~Auml~Ä~Aring~Å~AElig~Æ~Ccedil~Ç~Egrave~È~Eacute~É~Ecirc~Ê~Euml~Ë~Igrave~Ì~Iacute~Í~Icirc~Î~Iuml~Ï~ETH~Ð~Ntilde~Ñ~Ograve~Ò~Oacute~Ó~Ocirc~Ô~Otilde~Õ~Ouml~Ö~times~×~Oslash~Ø~Ugrave~Ù~Uacute~Ú~Ucirc~Û~Uuml~Ü~Yacute~Ý~THORN~Þ~szlig~ß~agrave~à~aacute~á~acirc~â~atilde~ã~auml~ä~aring~å~aelig~æ~ccedil~ç~egrave~è~eacute~é~ecirc~ê~euml~ë~igrave~ì~iacute~í~icirc~î~iuml~ï~eth~ð~ntilde~ñ~ograve~ò~oacute~ó~ocirc~ô~otilde~õ~ouml~ö~divide~÷~oslash~ø~ugrave~ù~uacute~ú~ucirc~û~uuml~ü~yacute~ý~thorn~þ~yuml~ÿ~quot~\\\"~amp~&~lt~<~gt~>\");\nnamedReferences['html5'] = generateNamedReferences(\"Abreve~Ă~Acy~А~Afr~𝔄~Amacr~Ā~And~⩓~Aogon~Ą~Aopf~𝔸~ApplyFunction~~Ascr~𝒜~Assign~≔~Backslash~∖~Barv~⫧~Barwed~⌆~Bcy~Б~Because~∵~Bernoullis~ℬ~Bfr~𝔅~Bopf~𝔹~Breve~˘~Bscr~ℬ~Bumpeq~≎~CHcy~Ч~Cacute~Ć~Cap~⋒~CapitalDifferentialD~ⅅ~Cayleys~ℭ~Ccaron~Č~Ccirc~Ĉ~Cconint~∰~Cdot~Ċ~Cedilla~¸~CenterDot~·~Cfr~ℭ~CircleDot~⊙~CircleMinus~⊖~CirclePlus~⊕~CircleTimes~⊗~ClockwiseContourIntegral~∲~CloseCurlyDoubleQuote~”~CloseCurlyQuote~’~Colon~∷~Colone~⩴~Congruent~≡~Conint~∯~ContourIntegral~∮~Copf~ℂ~Coproduct~∐~CounterClockwiseContourIntegral~∳~Cross~⨯~Cscr~𝒞~Cup~⋓~CupCap~≍~DD~ⅅ~DDotrahd~⤑~DJcy~Ђ~DScy~Ѕ~DZcy~Џ~Darr~↡~Dashv~⫤~Dcaron~Ď~Dcy~Д~Del~∇~Dfr~𝔇~DiacriticalAcute~´~DiacriticalDot~˙~DiacriticalDoubleAcute~˝~DiacriticalGrave~`~DiacriticalTilde~˜~Diamond~⋄~DifferentialD~ⅆ~Dopf~𝔻~Dot~¨~DotDot~⃜~DotEqual~≐~DoubleContourIntegral~∯~DoubleDot~¨~DoubleDownArrow~⇓~DoubleLeftArrow~⇐~DoubleLeftRightArrow~⇔~DoubleLeftTee~⫤~DoubleLongLeftArrow~⟸~DoubleLongLeftRightArrow~⟺~DoubleLongRightArrow~⟹~DoubleRightArrow~⇒~DoubleRightTee~⊨~DoubleUpArrow~⇑~DoubleUpDownArrow~⇕~DoubleVerticalBar~∥~DownArrow~↓~DownArrowBar~⤓~DownArrowUpArrow~⇵~DownBreve~̑~DownLeftRightVector~⥐~DownLeftTeeVector~⥞~DownLeftVector~↽~DownLeftVectorBar~⥖~DownRightTeeVector~⥟~DownRightVector~⇁~DownRightVectorBar~⥗~DownTee~⊤~DownTeeArrow~↧~Downarrow~⇓~Dscr~𝒟~Dstrok~Đ~ENG~Ŋ~Ecaron~Ě~Ecy~Э~Edot~Ė~Efr~𝔈~Element~∈~Emacr~Ē~EmptySmallSquare~◻~EmptyVerySmallSquare~▫~Eogon~Ę~Eopf~𝔼~Equal~⩵~EqualTilde~≂~Equilibrium~⇌~Escr~ℰ~Esim~⩳~Exists~∃~ExponentialE~ⅇ~Fcy~Ф~Ffr~𝔉~FilledSmallSquare~◼~FilledVerySmallSquare~▪~Fopf~𝔽~ForAll~∀~Fouriertrf~ℱ~Fscr~ℱ~GJcy~Ѓ~Gammad~Ϝ~Gbreve~Ğ~Gcedil~Ģ~Gcirc~Ĝ~Gcy~Г~Gdot~Ġ~Gfr~𝔊~Gg~⋙~Gopf~𝔾~GreaterEqual~≥~GreaterEqualLess~⋛~GreaterFullEqual~≧~GreaterGreater~⪢~GreaterLess~≷~GreaterSlantEqual~⩾~GreaterTilde~≳~Gscr~𝒢~Gt~≫~HARDcy~Ъ~Hacek~ˇ~Hat~^~Hcirc~Ĥ~Hfr~ℌ~HilbertSpace~ℋ~Hopf~ℍ~HorizontalLine~─~Hscr~ℋ~Hstrok~Ħ~HumpDownHump~≎~HumpEqual~≏~IEcy~Е~IJlig~IJ~IOcy~Ё~Icy~И~Idot~İ~Ifr~ℑ~Im~ℑ~Imacr~Ī~ImaginaryI~ⅈ~Implies~⇒~Int~∬~Integral~∫~Intersection~⋂~InvisibleComma~~InvisibleTimes~~Iogon~Į~Iopf~𝕀~Iscr~ℐ~Itilde~Ĩ~Iukcy~І~Jcirc~Ĵ~Jcy~Й~Jfr~𝔍~Jopf~𝕁~Jscr~𝒥~Jsercy~Ј~Jukcy~Є~KHcy~Х~KJcy~Ќ~Kcedil~Ķ~Kcy~К~Kfr~𝔎~Kopf~𝕂~Kscr~𝒦~LJcy~Љ~Lacute~Ĺ~Lang~⟪~Laplacetrf~ℒ~Larr~↞~Lcaron~Ľ~Lcedil~Ļ~Lcy~Л~LeftAngleBracket~⟨~LeftArrow~←~LeftArrowBar~⇤~LeftArrowRightArrow~⇆~LeftCeiling~⌈~LeftDoubleBracket~⟦~LeftDownTeeVector~⥡~LeftDownVector~⇃~LeftDownVectorBar~⥙~LeftFloor~⌊~LeftRightArrow~↔~LeftRightVector~⥎~LeftTee~⊣~LeftTeeArrow~↤~LeftTeeVector~⥚~LeftTriangle~⊲~LeftTriangleBar~⧏~LeftTriangleEqual~⊴~LeftUpDownVector~⥑~LeftUpTeeVector~⥠~LeftUpVector~↿~LeftUpVectorBar~⥘~LeftVector~↼~LeftVectorBar~⥒~Leftarrow~⇐~Leftrightarrow~⇔~LessEqualGreater~⋚~LessFullEqual~≦~LessGreater~≶~LessLess~⪡~LessSlantEqual~⩽~LessTilde~≲~Lfr~𝔏~Ll~⋘~Lleftarrow~⇚~Lmidot~Ŀ~LongLeftArrow~⟵~LongLeftRightArrow~⟷~LongRightArrow~⟶~Longleftarrow~⟸~Longleftrightarrow~⟺~Longrightarrow~⟹~Lopf~𝕃~LowerLeftArrow~↙~LowerRightArrow~↘~Lscr~ℒ~Lsh~↰~Lstrok~Ł~Lt~≪~Map~⤅~Mcy~М~MediumSpace~ ~Mellintrf~ℳ~Mfr~𝔐~MinusPlus~∓~Mopf~𝕄~Mscr~ℳ~NJcy~Њ~Nacute~Ń~Ncaron~Ň~Ncedil~Ņ~Ncy~Н~NegativeMediumSpace~~NegativeThickSpace~~NegativeThinSpace~~NegativeVeryThinSpace~~NestedGreaterGreater~≫~NestedLessLess~≪~NewLine~\\n~Nfr~𝔑~NoBreak~~NonBreakingSpace~ ~Nopf~ℕ~Not~⫬~NotCongruent~≢~NotCupCap~≭~NotDoubleVerticalBar~∦~NotElement~∉~NotEqual~≠~NotEqualTilde~≂̸~NotExists~∄~NotGreater~≯~NotGreaterEqual~≱~NotGreaterFullEqual~≧̸~NotGreaterGreater~≫̸~NotGreaterLess~≹~NotGreaterSlantEqual~⩾̸~NotGreaterTilde~≵~NotHumpDownHump~≎̸~NotHumpEqual~≏̸~NotLeftTriangle~⋪~NotLeftTriangleBar~⧏̸~NotLeftTriangleEqual~⋬~NotLess~≮~NotLessEqual~≰~NotLessGreater~≸~NotLessLess~≪̸~NotLessSlantEqual~⩽̸~NotLessTilde~≴~NotNestedGreaterGreater~⪢̸~NotNestedLessLess~⪡̸~NotPrecedes~⊀~NotPrecedesEqual~⪯̸~NotPrecedesSlantEqual~⋠~NotReverseElement~∌~NotRightTriangle~⋫~NotRightTriangleBar~⧐̸~NotRightTriangleEqual~⋭~NotSquareSubset~⊏̸~NotSquareSubsetEqual~⋢~NotSquareSuperset~⊐̸~NotSquareSupersetEqual~⋣~NotSubset~⊂⃒~NotSubsetEqual~⊈~NotSucceeds~⊁~NotSucceedsEqual~⪰̸~NotSucceedsSlantEqual~⋡~NotSucceedsTilde~≿̸~NotSuperset~⊃⃒~NotSupersetEqual~⊉~NotTilde~≁~NotTildeEqual~≄~NotTildeFullEqual~≇~NotTildeTilde~≉~NotVerticalBar~∤~Nscr~𝒩~Ocy~О~Odblac~Ő~Ofr~𝔒~Omacr~Ō~Oopf~𝕆~OpenCurlyDoubleQuote~“~OpenCurlyQuote~‘~Or~⩔~Oscr~𝒪~Otimes~⨷~OverBar~‾~OverBrace~⏞~OverBracket~⎴~OverParenthesis~⏜~PartialD~∂~Pcy~П~Pfr~𝔓~PlusMinus~±~Poincareplane~ℌ~Popf~ℙ~Pr~⪻~Precedes~≺~PrecedesEqual~⪯~PrecedesSlantEqual~≼~PrecedesTilde~≾~Product~∏~Proportion~∷~Proportional~∝~Pscr~𝒫~Qfr~𝔔~Qopf~ℚ~Qscr~𝒬~RBarr~⤐~Racute~Ŕ~Rang~⟫~Rarr~↠~Rarrtl~⤖~Rcaron~Ř~Rcedil~Ŗ~Rcy~Р~Re~ℜ~ReverseElement~∋~ReverseEquilibrium~⇋~ReverseUpEquilibrium~⥯~Rfr~ℜ~RightAngleBracket~⟩~RightArrow~→~RightArrowBar~⇥~RightArrowLeftArrow~⇄~RightCeiling~⌉~RightDoubleBracket~⟧~RightDownTeeVector~⥝~RightDownVector~⇂~RightDownVectorBar~⥕~RightFloor~⌋~RightTee~⊢~RightTeeArrow~↦~RightTeeVector~⥛~RightTriangle~⊳~RightTriangleBar~⧐~RightTriangleEqual~⊵~RightUpDownVector~⥏~RightUpTeeVector~⥜~RightUpVector~↾~RightUpVectorBar~⥔~RightVector~⇀~RightVectorBar~⥓~Rightarrow~⇒~Ropf~ℝ~RoundImplies~⥰~Rrightarrow~⇛~Rscr~ℛ~Rsh~↱~RuleDelayed~⧴~SHCHcy~Щ~SHcy~Ш~SOFTcy~Ь~Sacute~Ś~Sc~⪼~Scedil~Ş~Scirc~Ŝ~Scy~С~Sfr~𝔖~ShortDownArrow~↓~ShortLeftArrow~←~ShortRightArrow~→~ShortUpArrow~↑~SmallCircle~∘~Sopf~𝕊~Sqrt~√~Square~□~SquareIntersection~⊓~SquareSubset~⊏~SquareSubsetEqual~⊑~SquareSuperset~⊐~SquareSupersetEqual~⊒~SquareUnion~⊔~Sscr~𝒮~Star~⋆~Sub~⋐~Subset~⋐~SubsetEqual~⊆~Succeeds~≻~SucceedsEqual~⪰~SucceedsSlantEqual~≽~SucceedsTilde~≿~SuchThat~∋~Sum~∑~Sup~⋑~Superset~⊃~SupersetEqual~⊇~Supset~⋑~TRADE~™~TSHcy~Ћ~TScy~Ц~Tab~\\t~Tcaron~Ť~Tcedil~Ţ~Tcy~Т~Tfr~𝔗~Therefore~∴~ThickSpace~ ~ThinSpace~ ~Tilde~∼~TildeEqual~≃~TildeFullEqual~≅~TildeTilde~≈~Topf~𝕋~TripleDot~⃛~Tscr~𝒯~Tstrok~Ŧ~Uarr~↟~Uarrocir~⥉~Ubrcy~Ў~Ubreve~Ŭ~Ucy~У~Udblac~Ű~Ufr~𝔘~Umacr~Ū~UnderBar~_~UnderBrace~⏟~UnderBracket~⎵~UnderParenthesis~⏝~Union~⋃~UnionPlus~⊎~Uogon~Ų~Uopf~𝕌~UpArrow~↑~UpArrowBar~⤒~UpArrowDownArrow~⇅~UpDownArrow~↕~UpEquilibrium~⥮~UpTee~⊥~UpTeeArrow~↥~Uparrow~⇑~Updownarrow~⇕~UpperLeftArrow~↖~UpperRightArrow~↗~Upsi~ϒ~Uring~Ů~Uscr~𝒰~Utilde~Ũ~VDash~⊫~Vbar~⫫~Vcy~В~Vdash~⊩~Vdashl~⫦~Vee~⋁~Verbar~‖~Vert~‖~VerticalBar~∣~VerticalLine~|~VerticalSeparator~❘~VerticalTilde~≀~VeryThinSpace~ ~Vfr~𝔙~Vopf~𝕍~Vscr~𝒱~Vvdash~⊪~Wcirc~Ŵ~Wedge~⋀~Wfr~𝔚~Wopf~𝕎~Wscr~𝒲~Xfr~𝔛~Xopf~𝕏~Xscr~𝒳~YAcy~Я~YIcy~Ї~YUcy~Ю~Ycirc~Ŷ~Ycy~Ы~Yfr~𝔜~Yopf~𝕐~Yscr~𝒴~ZHcy~Ж~Zacute~Ź~Zcaron~Ž~Zcy~З~Zdot~Ż~ZeroWidthSpace~~Zfr~ℨ~Zopf~ℤ~Zscr~𝒵~abreve~ă~ac~∾~acE~∾̳~acd~∿~acy~а~af~~afr~𝔞~aleph~ℵ~amacr~ā~amalg~⨿~andand~⩕~andd~⩜~andslope~⩘~andv~⩚~ange~⦤~angle~∠~angmsd~∡~angmsdaa~⦨~angmsdab~⦩~angmsdac~⦪~angmsdad~⦫~angmsdae~⦬~angmsdaf~⦭~angmsdag~⦮~angmsdah~⦯~angrt~∟~angrtvb~⊾~angrtvbd~⦝~angsph~∢~angst~Å~angzarr~⍼~aogon~ą~aopf~𝕒~ap~≈~apE~⩰~apacir~⩯~ape~≊~apid~≋~approx~≈~approxeq~≊~ascr~𝒶~ast~*~asympeq~≍~awconint~∳~awint~⨑~bNot~⫭~backcong~≌~backepsilon~϶~backprime~‵~backsim~∽~backsimeq~⋍~barvee~⊽~barwed~⌅~barwedge~⌅~bbrk~⎵~bbrktbrk~⎶~bcong~≌~bcy~б~becaus~∵~because~∵~bemptyv~⦰~bepsi~϶~bernou~ℬ~beth~ℶ~between~≬~bfr~𝔟~bigcap~⋂~bigcirc~◯~bigcup~⋃~bigodot~⨀~bigoplus~⨁~bigotimes~⨂~bigsqcup~⨆~bigstar~★~bigtriangledown~▽~bigtriangleup~△~biguplus~⨄~bigvee~⋁~bigwedge~⋀~bkarow~⤍~blacklozenge~⧫~blacksquare~▪~blacktriangle~▴~blacktriangledown~▾~blacktriangleleft~◂~blacktriangleright~▸~blank~␣~blk12~▒~blk14~░~blk34~▓~block~█~bne~=⃥~bnequiv~≡⃥~bnot~⌐~bopf~𝕓~bot~⊥~bottom~⊥~bowtie~⋈~boxDL~╗~boxDR~╔~boxDl~╖~boxDr~╓~boxH~═~boxHD~╦~boxHU~╩~boxHd~╤~boxHu~╧~boxUL~╝~boxUR~╚~boxUl~╜~boxUr~╙~boxV~║~boxVH~╬~boxVL~╣~boxVR~╠~boxVh~╫~boxVl~╢~boxVr~╟~boxbox~⧉~boxdL~╕~boxdR~╒~boxdl~┐~boxdr~┌~boxh~─~boxhD~╥~boxhU~╨~boxhd~┬~boxhu~┴~boxminus~⊟~boxplus~⊞~boxtimes~⊠~boxuL~╛~boxuR~╘~boxul~┘~boxur~└~boxv~│~boxvH~╪~boxvL~╡~boxvR~╞~boxvh~┼~boxvl~┤~boxvr~├~bprime~‵~breve~˘~bscr~𝒷~bsemi~⁏~bsim~∽~bsime~⋍~bsol~\\\\~bsolb~⧅~bsolhsub~⟈~bullet~•~bump~≎~bumpE~⪮~bumpe~≏~bumpeq~≏~cacute~ć~capand~⩄~capbrcup~⩉~capcap~⩋~capcup~⩇~capdot~⩀~caps~∩︀~caret~⁁~caron~ˇ~ccaps~⩍~ccaron~č~ccirc~ĉ~ccups~⩌~ccupssm~⩐~cdot~ċ~cemptyv~⦲~centerdot~·~cfr~𝔠~chcy~ч~check~✓~checkmark~✓~cir~○~cirE~⧃~circeq~≗~circlearrowleft~↺~circlearrowright~↻~circledR~®~circledS~Ⓢ~circledast~⊛~circledcirc~⊚~circleddash~⊝~cire~≗~cirfnint~⨐~cirmid~⫯~cirscir~⧂~clubsuit~♣~colon~:~colone~≔~coloneq~≔~comma~,~commat~@~comp~∁~compfn~∘~complement~∁~complexes~ℂ~congdot~⩭~conint~∮~copf~𝕔~coprod~∐~copysr~℗~cross~✗~cscr~𝒸~csub~⫏~csube~⫑~csup~⫐~csupe~⫒~ctdot~⋯~cudarrl~⤸~cudarrr~⤵~cuepr~⋞~cuesc~⋟~cularr~↶~cularrp~⤽~cupbrcap~⩈~cupcap~⩆~cupcup~⩊~cupdot~⊍~cupor~⩅~cups~∪︀~curarr~↷~curarrm~⤼~curlyeqprec~⋞~curlyeqsucc~⋟~curlyvee~⋎~curlywedge~⋏~curvearrowleft~↶~curvearrowright~↷~cuvee~⋎~cuwed~⋏~cwconint~∲~cwint~∱~cylcty~⌭~dHar~⥥~daleth~ℸ~dash~‐~dashv~⊣~dbkarow~⤏~dblac~˝~dcaron~ď~dcy~д~dd~ⅆ~ddagger~‡~ddarr~⇊~ddotseq~⩷~demptyv~⦱~dfisht~⥿~dfr~𝔡~dharl~⇃~dharr~⇂~diam~⋄~diamond~⋄~diamondsuit~♦~die~¨~digamma~ϝ~disin~⋲~div~÷~divideontimes~⋇~divonx~⋇~djcy~ђ~dlcorn~⌞~dlcrop~⌍~dollar~$~dopf~𝕕~dot~˙~doteq~≐~doteqdot~≑~dotminus~∸~dotplus~∔~dotsquare~⊡~doublebarwedge~⌆~downarrow~↓~downdownarrows~⇊~downharpoonleft~⇃~downharpoonright~⇂~drbkarow~⤐~drcorn~⌟~drcrop~⌌~dscr~𝒹~dscy~ѕ~dsol~⧶~dstrok~đ~dtdot~⋱~dtri~▿~dtrif~▾~duarr~⇵~duhar~⥯~dwangle~⦦~dzcy~џ~dzigrarr~⟿~eDDot~⩷~eDot~≑~easter~⩮~ecaron~ě~ecir~≖~ecolon~≕~ecy~э~edot~ė~ee~ⅇ~efDot~≒~efr~𝔢~eg~⪚~egs~⪖~egsdot~⪘~el~⪙~elinters~⏧~ell~ℓ~els~⪕~elsdot~⪗~emacr~ē~emptyset~∅~emptyv~∅~emsp13~ ~emsp14~ ~eng~ŋ~eogon~ę~eopf~𝕖~epar~⋕~eparsl~⧣~eplus~⩱~epsi~ε~epsiv~ϵ~eqcirc~≖~eqcolon~≕~eqsim~≂~eqslantgtr~⪖~eqslantless~⪕~equals~=~equest~≟~equivDD~⩸~eqvparsl~⧥~erDot~≓~erarr~⥱~escr~ℯ~esdot~≐~esim~≂~excl~!~expectation~ℰ~exponentiale~ⅇ~fallingdotseq~≒~fcy~ф~female~♀~ffilig~ffi~fflig~ff~ffllig~ffl~ffr~𝔣~filig~fi~fjlig~fj~flat~♭~fllig~fl~fltns~▱~fopf~𝕗~fork~⋔~forkv~⫙~fpartint~⨍~frac13~⅓~frac15~⅕~frac16~⅙~frac18~⅛~frac23~⅔~frac25~⅖~frac35~⅗~frac38~⅜~frac45~⅘~frac56~⅚~frac58~⅝~frac78~⅞~frown~⌢~fscr~𝒻~gE~≧~gEl~⪌~gacute~ǵ~gammad~ϝ~gap~⪆~gbreve~ğ~gcirc~ĝ~gcy~г~gdot~ġ~gel~⋛~geq~≥~geqq~≧~geqslant~⩾~ges~⩾~gescc~⪩~gesdot~⪀~gesdoto~⪂~gesdotol~⪄~gesl~⋛︀~gesles~⪔~gfr~𝔤~gg~≫~ggg~⋙~gimel~ℷ~gjcy~ѓ~gl~≷~glE~⪒~gla~⪥~glj~⪤~gnE~≩~gnap~⪊~gnapprox~⪊~gne~⪈~gneq~⪈~gneqq~≩~gnsim~⋧~gopf~𝕘~grave~`~gscr~ℊ~gsim~≳~gsime~⪎~gsiml~⪐~gtcc~⪧~gtcir~⩺~gtdot~⋗~gtlPar~⦕~gtquest~⩼~gtrapprox~⪆~gtrarr~⥸~gtrdot~⋗~gtreqless~⋛~gtreqqless~⪌~gtrless~≷~gtrsim~≳~gvertneqq~≩︀~gvnE~≩︀~hairsp~ ~half~½~hamilt~ℋ~hardcy~ъ~harrcir~⥈~harrw~↭~hbar~ℏ~hcirc~ĥ~heartsuit~♥~hercon~⊹~hfr~𝔥~hksearow~⤥~hkswarow~⤦~hoarr~⇿~homtht~∻~hookleftarrow~↩~hookrightarrow~↪~hopf~𝕙~horbar~―~hscr~𝒽~hslash~ℏ~hstrok~ħ~hybull~⁃~hyphen~‐~ic~~icy~и~iecy~е~iff~⇔~ifr~𝔦~ii~ⅈ~iiiint~⨌~iiint~∭~iinfin~⧜~iiota~℩~ijlig~ij~imacr~ī~imagline~ℐ~imagpart~ℑ~imath~ı~imof~⊷~imped~Ƶ~in~∈~incare~℅~infintie~⧝~inodot~ı~intcal~⊺~integers~ℤ~intercal~⊺~intlarhk~⨗~intprod~⨼~iocy~ё~iogon~į~iopf~𝕚~iprod~⨼~iscr~𝒾~isinE~⋹~isindot~⋵~isins~⋴~isinsv~⋳~isinv~∈~it~~itilde~ĩ~iukcy~і~jcirc~ĵ~jcy~й~jfr~𝔧~jmath~ȷ~jopf~𝕛~jscr~𝒿~jsercy~ј~jukcy~є~kappav~ϰ~kcedil~ķ~kcy~к~kfr~𝔨~kgreen~ĸ~khcy~х~kjcy~ќ~kopf~𝕜~kscr~𝓀~lAarr~⇚~lAtail~⤛~lBarr~⤎~lE~≦~lEg~⪋~lHar~⥢~lacute~ĺ~laemptyv~⦴~lagran~ℒ~langd~⦑~langle~⟨~lap~⪅~larrb~⇤~larrbfs~⤟~larrfs~⤝~larrhk~↩~larrlp~↫~larrpl~⤹~larrsim~⥳~larrtl~↢~lat~⪫~latail~⤙~late~⪭~lates~⪭︀~lbarr~⤌~lbbrk~❲~lbrace~{~lbrack~[~lbrke~⦋~lbrksld~⦏~lbrkslu~⦍~lcaron~ľ~lcedil~ļ~lcub~{~lcy~л~ldca~⤶~ldquor~„~ldrdhar~⥧~ldrushar~⥋~ldsh~↲~leftarrow~←~leftarrowtail~↢~leftharpoondown~↽~leftharpoonup~↼~leftleftarrows~⇇~leftrightarrow~↔~leftrightarrows~⇆~leftrightharpoons~⇋~leftrightsquigarrow~↭~leftthreetimes~⋋~leg~⋚~leq~≤~leqq~≦~leqslant~⩽~les~⩽~lescc~⪨~lesdot~⩿~lesdoto~⪁~lesdotor~⪃~lesg~⋚︀~lesges~⪓~lessapprox~⪅~lessdot~⋖~lesseqgtr~⋚~lesseqqgtr~⪋~lessgtr~≶~lesssim~≲~lfisht~⥼~lfr~𝔩~lg~≶~lgE~⪑~lhard~↽~lharu~↼~lharul~⥪~lhblk~▄~ljcy~љ~ll~≪~llarr~⇇~llcorner~⌞~llhard~⥫~lltri~◺~lmidot~ŀ~lmoust~⎰~lmoustache~⎰~lnE~≨~lnap~⪉~lnapprox~⪉~lne~⪇~lneq~⪇~lneqq~≨~lnsim~⋦~loang~⟬~loarr~⇽~lobrk~⟦~longleftarrow~⟵~longleftrightarrow~⟷~longmapsto~⟼~longrightarrow~⟶~looparrowleft~↫~looparrowright~↬~lopar~⦅~lopf~𝕝~loplus~⨭~lotimes~⨴~lowbar~_~lozenge~◊~lozf~⧫~lpar~(~lparlt~⦓~lrarr~⇆~lrcorner~⌟~lrhar~⇋~lrhard~⥭~lrtri~⊿~lscr~𝓁~lsh~↰~lsim~≲~lsime~⪍~lsimg~⪏~lsqb~[~lsquor~‚~lstrok~ł~ltcc~⪦~ltcir~⩹~ltdot~⋖~lthree~⋋~ltimes~⋉~ltlarr~⥶~ltquest~⩻~ltrPar~⦖~ltri~◃~ltrie~⊴~ltrif~◂~lurdshar~⥊~luruhar~⥦~lvertneqq~≨︀~lvnE~≨︀~mDDot~∺~male~♂~malt~✠~maltese~✠~map~↦~mapsto~↦~mapstodown~↧~mapstoleft~↤~mapstoup~↥~marker~▮~mcomma~⨩~mcy~м~measuredangle~∡~mfr~𝔪~mho~℧~mid~∣~midast~*~midcir~⫰~minusb~⊟~minusd~∸~minusdu~⨪~mlcp~⫛~mldr~…~mnplus~∓~models~⊧~mopf~𝕞~mp~∓~mscr~𝓂~mstpos~∾~multimap~⊸~mumap~⊸~nGg~⋙̸~nGt~≫⃒~nGtv~≫̸~nLeftarrow~⇍~nLeftrightarrow~⇎~nLl~⋘̸~nLt~≪⃒~nLtv~≪̸~nRightarrow~⇏~nVDash~⊯~nVdash~⊮~nacute~ń~nang~∠⃒~nap~≉~napE~⩰̸~napid~≋̸~napos~ʼn~napprox~≉~natur~♮~natural~♮~naturals~ℕ~nbump~≎̸~nbumpe~≏̸~ncap~⩃~ncaron~ň~ncedil~ņ~ncong~≇~ncongdot~⩭̸~ncup~⩂~ncy~н~neArr~⇗~nearhk~⤤~nearr~↗~nearrow~↗~nedot~≐̸~nequiv~≢~nesear~⤨~nesim~≂̸~nexist~∄~nexists~∄~nfr~𝔫~ngE~≧̸~nge~≱~ngeq~≱~ngeqq~≧̸~ngeqslant~⩾̸~nges~⩾̸~ngsim~≵~ngt~≯~ngtr~≯~nhArr~⇎~nharr~↮~nhpar~⫲~nis~⋼~nisd~⋺~niv~∋~njcy~њ~nlArr~⇍~nlE~≦̸~nlarr~↚~nldr~‥~nle~≰~nleftarrow~↚~nleftrightarrow~↮~nleq~≰~nleqq~≦̸~nleqslant~⩽̸~nles~⩽̸~nless~≮~nlsim~≴~nlt~≮~nltri~⋪~nltrie~⋬~nmid~∤~nopf~𝕟~notinE~⋹̸~notindot~⋵̸~notinva~∉~notinvb~⋷~notinvc~⋶~notni~∌~notniva~∌~notnivb~⋾~notnivc~⋽~npar~∦~nparallel~∦~nparsl~⫽⃥~npart~∂̸~npolint~⨔~npr~⊀~nprcue~⋠~npre~⪯̸~nprec~⊀~npreceq~⪯̸~nrArr~⇏~nrarr~↛~nrarrc~⤳̸~nrarrw~↝̸~nrightarrow~↛~nrtri~⋫~nrtrie~⋭~nsc~⊁~nsccue~⋡~nsce~⪰̸~nscr~𝓃~nshortmid~∤~nshortparallel~∦~nsim~≁~nsime~≄~nsimeq~≄~nsmid~∤~nspar~∦~nsqsube~⋢~nsqsupe~⋣~nsubE~⫅̸~nsube~⊈~nsubset~⊂⃒~nsubseteq~⊈~nsubseteqq~⫅̸~nsucc~⊁~nsucceq~⪰̸~nsup~⊅~nsupE~⫆̸~nsupe~⊉~nsupset~⊃⃒~nsupseteq~⊉~nsupseteqq~⫆̸~ntgl~≹~ntlg~≸~ntriangleleft~⋪~ntrianglelefteq~⋬~ntriangleright~⋫~ntrianglerighteq~⋭~num~#~numero~№~numsp~ ~nvDash~⊭~nvHarr~⤄~nvap~≍⃒~nvdash~⊬~nvge~≥⃒~nvgt~>⃒~nvinfin~⧞~nvlArr~⤂~nvle~≤⃒~nvlt~<⃒~nvltrie~⊴⃒~nvrArr~⤃~nvrtrie~⊵⃒~nvsim~∼⃒~nwArr~⇖~nwarhk~⤣~nwarr~↖~nwarrow~↖~nwnear~⤧~oS~Ⓢ~oast~⊛~ocir~⊚~ocy~о~odash~⊝~odblac~ő~odiv~⨸~odot~⊙~odsold~⦼~ofcir~⦿~ofr~𝔬~ogon~˛~ogt~⧁~ohbar~⦵~ohm~Ω~oint~∮~olarr~↺~olcir~⦾~olcross~⦻~olt~⧀~omacr~ō~omid~⦶~ominus~⊖~oopf~𝕠~opar~⦷~operp~⦹~orarr~↻~ord~⩝~order~ℴ~orderof~ℴ~origof~⊶~oror~⩖~orslope~⩗~orv~⩛~oscr~ℴ~osol~⊘~otimesas~⨶~ovbar~⌽~par~∥~parallel~∥~parsim~⫳~parsl~⫽~pcy~п~percnt~%~period~.~pertenk~‱~pfr~𝔭~phiv~ϕ~phmmat~ℳ~phone~☎~pitchfork~⋔~planck~ℏ~planckh~ℎ~plankv~ℏ~plus~+~plusacir~⨣~plusb~⊞~pluscir~⨢~plusdo~∔~plusdu~⨥~pluse~⩲~plussim~⨦~plustwo~⨧~pm~±~pointint~⨕~popf~𝕡~pr~≺~prE~⪳~prap~⪷~prcue~≼~pre~⪯~prec~≺~precapprox~⪷~preccurlyeq~≼~preceq~⪯~precnapprox~⪹~precneqq~⪵~precnsim~⋨~precsim~≾~primes~ℙ~prnE~⪵~prnap~⪹~prnsim~⋨~profalar~⌮~profline~⌒~profsurf~⌓~propto~∝~prsim~≾~prurel~⊰~pscr~𝓅~puncsp~ ~qfr~𝔮~qint~⨌~qopf~𝕢~qprime~⁗~qscr~𝓆~quaternions~ℍ~quatint~⨖~quest~?~questeq~≟~rAarr~⇛~rAtail~⤜~rBarr~⤏~rHar~⥤~race~∽̱~racute~ŕ~raemptyv~⦳~rangd~⦒~range~⦥~rangle~⟩~rarrap~⥵~rarrb~⇥~rarrbfs~⤠~rarrc~⤳~rarrfs~⤞~rarrhk~↪~rarrlp~↬~rarrpl~⥅~rarrsim~⥴~rarrtl~↣~rarrw~↝~ratail~⤚~ratio~∶~rationals~ℚ~rbarr~⤍~rbbrk~❳~rbrace~}~rbrack~]~rbrke~⦌~rbrksld~⦎~rbrkslu~⦐~rcaron~ř~rcedil~ŗ~rcub~}~rcy~р~rdca~⤷~rdldhar~⥩~rdquor~”~rdsh~↳~realine~ℛ~realpart~ℜ~reals~ℝ~rect~▭~rfisht~⥽~rfr~𝔯~rhard~⇁~rharu~⇀~rharul~⥬~rhov~ϱ~rightarrow~→~rightarrowtail~↣~rightharpoondown~⇁~rightharpoonup~⇀~rightleftarrows~⇄~rightleftharpoons~⇌~rightrightarrows~⇉~rightsquigarrow~↝~rightthreetimes~⋌~ring~˚~risingdotseq~≓~rlarr~⇄~rlhar~⇌~rmoust~⎱~rmoustache~⎱~rnmid~⫮~roang~⟭~roarr~⇾~robrk~⟧~ropar~⦆~ropf~𝕣~roplus~⨮~rotimes~⨵~rpar~)~rpargt~⦔~rppolint~⨒~rrarr~⇉~rscr~𝓇~rsh~↱~rsqb~]~rsquor~’~rthree~⋌~rtimes~⋊~rtri~▹~rtrie~⊵~rtrif~▸~rtriltri~⧎~ruluhar~⥨~rx~℞~sacute~ś~sc~≻~scE~⪴~scap~⪸~sccue~≽~sce~⪰~scedil~ş~scirc~ŝ~scnE~⪶~scnap~⪺~scnsim~⋩~scpolint~⨓~scsim~≿~scy~с~sdotb~⊡~sdote~⩦~seArr~⇘~searhk~⤥~searr~↘~searrow~↘~semi~;~seswar~⤩~setminus~∖~setmn~∖~sext~✶~sfr~𝔰~sfrown~⌢~sharp~♯~shchcy~щ~shcy~ш~shortmid~∣~shortparallel~∥~sigmav~ς~simdot~⩪~sime~≃~simeq~≃~simg~⪞~simgE~⪠~siml~⪝~simlE~⪟~simne~≆~simplus~⨤~simrarr~⥲~slarr~←~smallsetminus~∖~smashp~⨳~smeparsl~⧤~smid~∣~smile~⌣~smt~⪪~smte~⪬~smtes~⪬︀~softcy~ь~sol~/~solb~⧄~solbar~⌿~sopf~𝕤~spadesuit~♠~spar~∥~sqcap~⊓~sqcaps~⊓︀~sqcup~⊔~sqcups~⊔︀~sqsub~⊏~sqsube~⊑~sqsubset~⊏~sqsubseteq~⊑~sqsup~⊐~sqsupe~⊒~sqsupset~⊐~sqsupseteq~⊒~squ~□~square~□~squarf~▪~squf~▪~srarr~→~sscr~𝓈~ssetmn~∖~ssmile~⌣~sstarf~⋆~star~☆~starf~★~straightepsilon~ϵ~straightphi~ϕ~strns~¯~subE~⫅~subdot~⪽~subedot~⫃~submult~⫁~subnE~⫋~subne~⊊~subplus~⪿~subrarr~⥹~subset~⊂~subseteq~⊆~subseteqq~⫅~subsetneq~⊊~subsetneqq~⫋~subsim~⫇~subsub~⫕~subsup~⫓~succ~≻~succapprox~⪸~succcurlyeq~≽~succeq~⪰~succnapprox~⪺~succneqq~⪶~succnsim~⋩~succsim~≿~sung~♪~supE~⫆~supdot~⪾~supdsub~⫘~supedot~⫄~suphsol~⟉~suphsub~⫗~suplarr~⥻~supmult~⫂~supnE~⫌~supne~⊋~supplus~⫀~supset~⊃~supseteq~⊇~supseteqq~⫆~supsetneq~⊋~supsetneqq~⫌~supsim~⫈~supsub~⫔~supsup~⫖~swArr~⇙~swarhk~⤦~swarr~↙~swarrow~↙~swnwar~⤪~target~⌖~tbrk~⎴~tcaron~ť~tcedil~ţ~tcy~т~tdot~⃛~telrec~⌕~tfr~𝔱~therefore~∴~thetav~ϑ~thickapprox~≈~thicksim~∼~thkap~≈~thksim~∼~timesb~⊠~timesbar~⨱~timesd~⨰~tint~∭~toea~⤨~top~⊤~topbot~⌶~topcir~⫱~topf~𝕥~topfork~⫚~tosa~⤩~tprime~‴~triangle~▵~triangledown~▿~triangleleft~◃~trianglelefteq~⊴~triangleq~≜~triangleright~▹~trianglerighteq~⊵~tridot~◬~trie~≜~triminus~⨺~triplus~⨹~trisb~⧍~tritime~⨻~trpezium~⏢~tscr~𝓉~tscy~ц~tshcy~ћ~tstrok~ŧ~twixt~≬~twoheadleftarrow~↞~twoheadrightarrow~↠~uHar~⥣~ubrcy~ў~ubreve~ŭ~ucy~у~udarr~⇅~udblac~ű~udhar~⥮~ufisht~⥾~ufr~𝔲~uharl~↿~uharr~↾~uhblk~▀~ulcorn~⌜~ulcorner~⌜~ulcrop~⌏~ultri~◸~umacr~ū~uogon~ų~uopf~𝕦~uparrow~↑~updownarrow~↕~upharpoonleft~↿~upharpoonright~↾~uplus~⊎~upsi~υ~upuparrows~⇈~urcorn~⌝~urcorner~⌝~urcrop~⌎~uring~ů~urtri~◹~uscr~𝓊~utdot~⋰~utilde~ũ~utri~▵~utrif~▴~uuarr~⇈~uwangle~⦧~vArr~⇕~vBar~⫨~vBarv~⫩~vDash~⊨~vangrt~⦜~varepsilon~ϵ~varkappa~ϰ~varnothing~∅~varphi~ϕ~varpi~ϖ~varpropto~∝~varr~↕~varrho~ϱ~varsigma~ς~varsubsetneq~⊊︀~varsubsetneqq~⫋︀~varsupsetneq~⊋︀~varsupsetneqq~⫌︀~vartheta~ϑ~vartriangleleft~⊲~vartriangleright~⊳~vcy~в~vdash~⊢~vee~∨~veebar~⊻~veeeq~≚~vellip~⋮~verbar~|~vert~|~vfr~𝔳~vltri~⊲~vnsub~⊂⃒~vnsup~⊃⃒~vopf~𝕧~vprop~∝~vrtri~⊳~vscr~𝓋~vsubnE~⫋︀~vsubne~⊊︀~vsupnE~⫌︀~vsupne~⊋︀~vzigzag~⦚~wcirc~ŵ~wedbar~⩟~wedge~∧~wedgeq~≙~wfr~𝔴~wopf~𝕨~wp~℘~wr~≀~wreath~≀~wscr~𝓌~xcap~⋂~xcirc~◯~xcup~⋃~xdtri~▽~xfr~𝔵~xhArr~⟺~xharr~⟷~xlArr~⟸~xlarr~⟵~xmap~⟼~xnis~⋻~xodot~⨀~xopf~𝕩~xoplus~⨁~xotime~⨂~xrArr~⟹~xrarr~⟶~xscr~𝓍~xsqcup~⨆~xuplus~⨄~xutri~△~xvee~⋁~xwedge~⋀~yacy~я~ycirc~ŷ~ycy~ы~yfr~𝔶~yicy~ї~yopf~𝕪~yscr~𝓎~yucy~ю~zacute~ź~zcaron~ž~zcy~з~zdot~ż~zeetrf~ℨ~zfr~𝔷~zhcy~ж~zigrarr~⇝~zopf~𝕫~zscr~𝓏~~AMP~&~COPY~©~GT~>~LT~<~QUOT~\\\"~REG~®\", namedReferences['html4']);\n//# sourceMappingURL=named-references.js.map","export var numericUnicodeMap = {\n 0: 65533,\n 128: 8364,\n 130: 8218,\n 131: 402,\n 132: 8222,\n 133: 8230,\n 134: 8224,\n 135: 8225,\n 136: 710,\n 137: 8240,\n 138: 352,\n 139: 8249,\n 140: 338,\n 142: 381,\n 145: 8216,\n 146: 8217,\n 147: 8220,\n 148: 8221,\n 149: 8226,\n 150: 8211,\n 151: 8212,\n 152: 732,\n 153: 8482,\n 154: 353,\n 155: 8250,\n 156: 339,\n 158: 382,\n 159: 376\n};\n//# sourceMappingURL=numeric-unicode-map.js.map","export var fromCodePoint = String.fromCodePoint ||\n function (astralCodePoint) {\n return String.fromCharCode(Math.floor((astralCodePoint - 0x10000) / 0x400) + 0xd800, ((astralCodePoint - 0x10000) % 0x400) + 0xdc00);\n };\n// @ts-expect-error - String.prototype.codePointAt might not exist in older node versions\nexport var getCodePoint = String.prototype.codePointAt\n ? function (input, position) {\n return input.codePointAt(position);\n }\n : function (input, position) {\n return (input.charCodeAt(position) - 0xd800) * 0x400 + input.charCodeAt(position + 1) - 0xdc00 + 0x10000;\n };\nexport var highSurrogateFrom = 0xd800;\nexport var highSurrogateTo = 0xdbff;\n//# sourceMappingURL=surrogate-pairs.js.map","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport { bodyRegExps, namedReferences } from './named-references.js';\nimport { numericUnicodeMap } from './numeric-unicode-map.js';\nimport { fromCodePoint, getCodePoint } from './surrogate-pairs.js';\nvar allNamedReferences = __assign(__assign({}, namedReferences), { all: namedReferences.html5 });\nvar encodeRegExps = {\n specialChars: /[<>'\"&]/g,\n nonAscii: /[<>'\"&\\u0080-\\uD7FF\\uE000-\\uFFFF\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]?/g,\n nonAsciiPrintable: /[<>'\"&\\x01-\\x08\\x11-\\x15\\x17-\\x1F\\x7f-\\uD7FF\\uE000-\\uFFFF\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]?/g,\n nonAsciiPrintableOnly: /[\\x01-\\x08\\x11-\\x15\\x17-\\x1F\\x7f-\\uD7FF\\uE000-\\uFFFF\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]?/g,\n extensive: /[\\x01-\\x0c\\x0e-\\x1f\\x21-\\x2c\\x2e-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7d\\x7f-\\uD7FF\\uE000-\\uFFFF\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]?/g\n};\nvar defaultEncodeOptions = {\n mode: 'specialChars',\n level: 'all',\n numeric: 'decimal'\n};\n/** Encodes all the necessary (specified by `level`) characters in the text */\nexport function encode(text, _a) {\n var _b = _a === void 0 ? defaultEncodeOptions : _a, _c = _b.mode, mode = _c === void 0 ? 'specialChars' : _c, _d = _b.numeric, numeric = _d === void 0 ? 'decimal' : _d, _e = _b.level, level = _e === void 0 ? 'all' : _e;\n if (!text) {\n return '';\n }\n var encodeRegExp = encodeRegExps[mode];\n var references = allNamedReferences[level].characters;\n var isHex = numeric === 'hexadecimal';\n return String.prototype.replace.call(text, encodeRegExp, function (input) {\n var result = references[input];\n if (!result) {\n var code = input.length > 1 ? getCodePoint(input, 0) : input.charCodeAt(0);\n result = (isHex ? '&#x' + code.toString(16) : '&#' + code) + ';';\n }\n return result;\n });\n}\nvar defaultDecodeOptions = {\n scope: 'body',\n level: 'all'\n};\nvar strict = /&(?:#\\d+|#[xX][\\da-fA-F]+|[0-9a-zA-Z]+);/g;\nvar attribute = /&(?:#\\d+|#[xX][\\da-fA-F]+|[0-9a-zA-Z]+)[;=]?/g;\nvar baseDecodeRegExps = {\n xml: {\n strict: strict,\n attribute: attribute,\n body: bodyRegExps.xml\n },\n html4: {\n strict: strict,\n attribute: attribute,\n body: bodyRegExps.html4\n },\n html5: {\n strict: strict,\n attribute: attribute,\n body: bodyRegExps.html5\n }\n};\nvar decodeRegExps = __assign(__assign({}, baseDecodeRegExps), { all: baseDecodeRegExps.html5 });\nvar fromCharCode = String.fromCharCode;\nvar outOfBoundsChar = fromCharCode(65533);\nvar defaultDecodeEntityOptions = {\n level: 'all'\n};\nfunction getDecodedEntity(entity, references, isAttribute, isStrict) {\n var decodeResult = entity;\n var decodeEntityLastChar = entity[entity.length - 1];\n if (isAttribute && decodeEntityLastChar === '=') {\n decodeResult = entity;\n }\n else if (isStrict && decodeEntityLastChar !== ';') {\n decodeResult = entity;\n }\n else {\n var decodeResultByReference = references[entity];\n if (decodeResultByReference) {\n decodeResult = decodeResultByReference;\n }\n else if (entity[0] === '&' && entity[1] === '#') {\n var decodeSecondChar = entity[2];\n var decodeCode = decodeSecondChar == 'x' || decodeSecondChar == 'X'\n ? parseInt(entity.substr(3), 16)\n : parseInt(entity.substr(2));\n decodeResult =\n decodeCode >= 0x10ffff\n ? outOfBoundsChar\n : decodeCode > 65535\n ? fromCodePoint(decodeCode)\n : fromCharCode(numericUnicodeMap[decodeCode] || decodeCode);\n }\n }\n return decodeResult;\n}\n/** Decodes a single entity */\nexport function decodeEntity(entity, _a) {\n var _b = _a === void 0 ? defaultDecodeEntityOptions : _a, _c = _b.level, level = _c === void 0 ? 'all' : _c;\n if (!entity) {\n return '';\n }\n return getDecodedEntity(entity, allNamedReferences[level].entities, false, false);\n}\n/** Decodes all entities in the text */\nexport function decode(text, _a) {\n var _b = _a === void 0 ? defaultDecodeOptions : _a, _c = _b.level, level = _c === void 0 ? 'all' : _c, _d = _b.scope, scope = _d === void 0 ? level === 'xml' ? 'strict' : 'body' : _d;\n if (!text) {\n return '';\n }\n var decodeRegExp = decodeRegExps[level][scope];\n var references = allNamedReferences[level].entities;\n var isAttribute = scope === 'attribute';\n var isStrict = scope === 'strict';\n return text.replace(decodeRegExp, function (entity) { return getDecodedEntity(entity, references, isAttribute, isStrict); });\n}\n//# sourceMappingURL=index.js.map","import { sanitizeUrl, sanitizeText } from './sanitize';\n\n// Either a markdown link `[text](url)` or a bare URL, in one pass so link text is never re-linked.\nconst LINK_REGEX =\n /\\[([^\\]]+)\\]\\(([^\\s)]+)\\)|(?:https?:\\/\\/|www\\.)[-a-zA-Z0-9@:%._+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b[-a-zA-Z0-9()@:%_+.~#?&//=]*(?<![.,;:!?])/g;\n\n// The backend sometimes drops the scheme; without it the sanitizer rejects the href.\nfunction withScheme(url: string) {\n return /^www\\./i.test(url) ? `https://${url}` : url;\n}\n\nfunction anchor(url: string, text: string) {\n const sanitizedUrl = sanitizeUrl(withScheme(url));\n if (!sanitizedUrl) {\n return sanitizeText(text);\n }\n return `<a href=\"${sanitizedUrl}\" style=\"color: inherit\" target=\"_blank\" rel=\"noopener noreferrer\">${sanitizeText(text)}</a>`;\n}\n\nexport function transformTextToLinks(message: string) {\n return message.replace(LINK_REGEX, (match: string, text?: string, url?: string) =>\n text && url ? anchor(url, text) : anchor(match, match)\n );\n}\n","/** Marks an element as a mounting point for a React slot. */\nexport const CHATBOT_SLOT_ATTR = 'data-lr-chatbot-slot';\n\n/** `dataset` key matching {@link CHATBOT_SLOT_ATTR}. */\nexport const CHATBOT_SLOT_DATA_KEY = 'lrChatbotSlot';\n\nexport const CHATBOT_SLOT_SELECTOR = `[${CHATBOT_SLOT_ATTR}]`;\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ /**\n * Calls all functions in the order they were chained with the same arguments.\n */ function $a4e76a5424781910$export$e08e3b67e392101e(...callbacks) {\n return (...args)=>{\n for (let callback of callbacks)if (typeof callback === 'function') callback(...args);\n };\n}\n\n\nexport {$a4e76a5424781910$export$e08e3b67e392101e as chain};\n//# sourceMappingURL=chain.mjs.map\n","import $3ARPR$react from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nconst $c4867b2f328c2698$export$e5c5a5f917a5871c = typeof document !== 'undefined' ? (0, $3ARPR$react).useLayoutEffect : ()=>{};\n\n\nexport {$c4867b2f328c2698$export$e5c5a5f917a5871c as useLayoutEffect};\n//# sourceMappingURL=useLayoutEffect.mjs.map\n","import $bl59K$react, {useContext as $bl59K$useContext, useState as $bl59K$useState, useMemo as $bl59K$useMemo, useLayoutEffect as $bl59K$useLayoutEffect, useRef as $bl59K$useRef} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // We must avoid a circular dependency with @react-aria/utils, and this useLayoutEffect is\n// guarded by a check that it only runs on the client side.\n// eslint-disable-next-line rsp-rules/use-layout-effect-rule\n\n// Default context value to use in case there is no SSRProvider. This is fine for\n// client-only apps. In order to support multiple copies of React Aria potentially\n// being on the page at once, the prefix is set to a random number. SSRProvider\n// will reset this to zero for consistency between server and client, so in the\n// SSR case multiple copies of React Aria is not supported.\nconst $c7eafbbe1ea5834e$var$defaultContext = {\n prefix: String(Math.round(Math.random() * 10000000000)),\n current: 0\n};\nconst $c7eafbbe1ea5834e$var$SSRContext = /*#__PURE__*/ (0, $bl59K$react).createContext($c7eafbbe1ea5834e$var$defaultContext);\nconst $c7eafbbe1ea5834e$var$IsSSRContext = /*#__PURE__*/ (0, $bl59K$react).createContext(false);\n// This is only used in React < 18.\nfunction $c7eafbbe1ea5834e$var$LegacySSRProvider(props) {\n let cur = (0, $bl59K$useContext)($c7eafbbe1ea5834e$var$SSRContext);\n let counter = $c7eafbbe1ea5834e$var$useCounter(cur === $c7eafbbe1ea5834e$var$defaultContext);\n let [isSSR, setIsSSR] = (0, $bl59K$useState)(true);\n let value = (0, $bl59K$useMemo)(()=>({\n // If this is the first SSRProvider, start with an empty string prefix, otherwise\n // append and increment the counter.\n prefix: cur === $c7eafbbe1ea5834e$var$defaultContext ? '' : `${cur.prefix}-${counter}`,\n current: 0\n }), [\n cur,\n counter\n ]);\n // If on the client, and the component was initially server rendered,\n // then schedule a layout effect to update the component after hydration.\n if (typeof document !== 'undefined') // This if statement technically breaks the rules of hooks, but is safe\n // because the condition never changes after mounting.\n // oxlint-disable-next-line react/react-compiler, react-hooks/rules-of-hooks\n (0, $bl59K$useLayoutEffect)(()=>{\n // oxlint-disable-next-line react/react-compiler\n setIsSSR(false);\n }, []);\n return /*#__PURE__*/ (0, $bl59K$react).createElement($c7eafbbe1ea5834e$var$SSRContext.Provider, {\n value: value\n }, /*#__PURE__*/ (0, $bl59K$react).createElement($c7eafbbe1ea5834e$var$IsSSRContext.Provider, {\n value: isSSR\n }, props.children));\n}\nlet $c7eafbbe1ea5834e$var$warnedAboutSSRProvider = false;\nfunction $c7eafbbe1ea5834e$export$9f8ac96af4b1b2ae(props) {\n // oxlint-disable-next-line react/react-compiler\n if (typeof (0, $bl59K$react)['useId'] === 'function') {\n if (process.env.NODE_ENV !== 'test' && process.env.NODE_ENV !== 'production' && !$c7eafbbe1ea5834e$var$warnedAboutSSRProvider) {\n console.warn('In React 18, SSRProvider is not necessary and is a noop. You can remove it from your app.');\n // oxlint-disable-next-line react/react-compiler\n $c7eafbbe1ea5834e$var$warnedAboutSSRProvider = true;\n }\n return /*#__PURE__*/ (0, $bl59K$react).createElement((0, $bl59K$react).Fragment, null, props.children);\n }\n return /*#__PURE__*/ (0, $bl59K$react).createElement($c7eafbbe1ea5834e$var$LegacySSRProvider, props);\n}\nlet $c7eafbbe1ea5834e$var$canUseDOM = Boolean(typeof window !== 'undefined' && window.document && window.document.createElement);\nlet $c7eafbbe1ea5834e$var$componentIds = new WeakMap();\nfunction $c7eafbbe1ea5834e$var$useCounter(isDisabled = false) {\n let ctx = (0, $bl59K$useContext)($c7eafbbe1ea5834e$var$SSRContext);\n let ref = (0, $bl59K$useRef)(null);\n // eslint-disable-next-line rsp-rules/pure-render\n // oxlint-disable-next-line react/react-compiler, rsp-rules/pure-render\n if (ref.current === null && !isDisabled) {\n // In strict mode, React renders components twice, and the ref will be reset to null on the second render.\n // This means our id counter will be incremented twice instead of once. This is a problem because on the\n // server, components are only rendered once and so ids generated on the server won't match the client.\n // In React 18, useId was introduced to solve this, but it is not available in older versions. So to solve this\n // we need to use some React internals to access the underlying Fiber instance, which is stable between renders.\n // This is exposed as ReactCurrentOwner in development, which is all we need since StrictMode only runs in development.\n // To ensure that we only increment the global counter once, we store the starting id for this component in\n // a weak map associated with the Fiber. On the second render, we reset the global counter to this value.\n // Since React runs the second render immediately after the first, this is safe.\n let currentOwner = // @ts-ignore\n (0, $bl59K$react).__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED?.ReactCurrentOwner?.current;\n if (currentOwner) {\n let prevComponentValue = $c7eafbbe1ea5834e$var$componentIds.get(currentOwner);\n if (prevComponentValue == null) // On the first render, and first call to useId, store the id and state in our weak map.\n $c7eafbbe1ea5834e$var$componentIds.set(currentOwner, {\n id: ctx.current,\n state: currentOwner.memoizedState\n });\n else if (currentOwner.memoizedState !== prevComponentValue.state) {\n // On the second render, the memoizedState gets reset by React.\n // Reset the counter, and remove from the weak map so we don't\n // do this for subsequent useId calls.\n // oxlint-disable-next-line react/react-compiler\n ctx.current = prevComponentValue.id;\n $c7eafbbe1ea5834e$var$componentIds.delete(currentOwner);\n }\n }\n // eslint-disable-next-line rsp-rules/pure-render\n // oxlint-disable-next-line react/react-compiler, rsp-rules/pure-render\n ref.current = ++ctx.current;\n }\n // eslint-disable-next-line rsp-rules/pure-render\n // oxlint-disable-next-line react/react-compiler, rsp-rules/pure-render\n return ref.current;\n}\nfunction $c7eafbbe1ea5834e$var$useLegacySSRSafeId(defaultId) {\n let ctx = (0, $bl59K$useContext)($c7eafbbe1ea5834e$var$SSRContext);\n // If we are rendering in a non-DOM environment, and there's no SSRProvider,\n // provide a warning to hint to the developer to add one.\n if (ctx === $c7eafbbe1ea5834e$var$defaultContext && !$c7eafbbe1ea5834e$var$canUseDOM && process.env.NODE_ENV !== 'production') console.warn('When server rendering, you must wrap your application in an <SSRProvider> to ensure consistent ids are generated between the client and server.');\n let counter = $c7eafbbe1ea5834e$var$useCounter(!!defaultId);\n let prefix = ctx === $c7eafbbe1ea5834e$var$defaultContext && process.env.NODE_ENV === 'test' ? 'react-aria' : `react-aria${ctx.prefix}`;\n return defaultId || `${prefix}-${counter}`;\n}\nfunction $c7eafbbe1ea5834e$var$useModernSSRSafeId(defaultId) {\n let id = (0, $bl59K$react).useId();\n let [didSSR] = (0, $bl59K$useState)($c7eafbbe1ea5834e$export$535bd6ca7f90a273());\n let prefix = didSSR || process.env.NODE_ENV === 'test' ? 'react-aria' : `react-aria${$c7eafbbe1ea5834e$var$defaultContext.prefix}`;\n return defaultId || `${prefix}-${id}`;\n}\nconst $c7eafbbe1ea5834e$export$619500959fc48b26 = typeof (0, $bl59K$react)['useId'] === 'function' ? $c7eafbbe1ea5834e$var$useModernSSRSafeId : $c7eafbbe1ea5834e$var$useLegacySSRSafeId;\nfunction $c7eafbbe1ea5834e$var$getSnapshot() {\n return false;\n}\nfunction $c7eafbbe1ea5834e$var$getServerSnapshot() {\n return true;\n}\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nfunction $c7eafbbe1ea5834e$var$subscribe(onStoreChange) {\n // noop\n return ()=>{};\n}\nfunction $c7eafbbe1ea5834e$export$535bd6ca7f90a273() {\n // In React 18, we can use useSyncExternalStore to detect if we're server rendering or hydrating.\n // oxlint-disable-next-line react/react-compiler\n if (typeof (0, $bl59K$react)['useSyncExternalStore'] === 'function') // oxlint-disable-next-line react/react-compiler\n return (0, $bl59K$react)['useSyncExternalStore']($c7eafbbe1ea5834e$var$subscribe, $c7eafbbe1ea5834e$var$getSnapshot, $c7eafbbe1ea5834e$var$getServerSnapshot);\n // oxlint-disable-next-line react/react-compiler, react-hooks/rules-of-hooks\n return (0, $bl59K$useContext)($c7eafbbe1ea5834e$var$IsSSRContext);\n}\n\n\nexport {$c7eafbbe1ea5834e$export$9f8ac96af4b1b2ae as SSRProvider, $c7eafbbe1ea5834e$export$535bd6ca7f90a273 as useIsSSR, $c7eafbbe1ea5834e$export$619500959fc48b26 as useSSRSafeId};\n//# sourceMappingURL=SSRProvider.mjs.map\n","import {useLayoutEffect as $c4867b2f328c2698$export$e5c5a5f917a5871c} from \"./useLayoutEffect.mjs\";\nimport {useState as $dPTrK$useState, useRef as $dPTrK$useRef, useCallback as $dPTrK$useCallback} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nfunction $1a716630a9e3a599$export$14d238f342723f25(defaultValue) {\n let [value, setValue] = (0, $dPTrK$useState)(defaultValue);\n // Keep an up to date copy of value in a ref so we can access the current value in the generator.\n // This allows us to maintain a stable queue function.\n let currValue = (0, $dPTrK$useRef)(value);\n let effect = (0, $dPTrK$useRef)(null);\n // Store the function in a ref so we can always access the current version\n // which has the proper `value` in scope.\n let nextRef = (0, $dPTrK$useRef)(()=>{\n if (!effect.current) return;\n // Run the generator to the next yield.\n let newValue = effect.current.next();\n // If the generator is done, reset the effect.\n if (newValue.done) {\n effect.current = null;\n return;\n }\n // If the value is the same as the current value,\n // then continue to the next yield. Otherwise,\n // set the value in state and wait for the next layout effect.\n if (currValue.current === newValue.value) nextRef.current();\n else setValue(newValue.value);\n });\n (0, $c4867b2f328c2698$export$e5c5a5f917a5871c)(()=>{\n currValue.current = value;\n // If there is an effect currently running, continue to the next yield.\n if (effect.current) nextRef.current();\n });\n let queue = (0, $dPTrK$useCallback)((fn)=>{\n effect.current = fn(currValue.current);\n nextRef.current();\n }, [\n nextRef\n ]);\n return [\n value,\n queue\n ];\n}\n\n\nexport {$1a716630a9e3a599$export$14d238f342723f25 as useValueEffect};\n//# sourceMappingURL=useValueEffect.mjs.map\n","import {useLayoutEffect as $c4867b2f328c2698$export$e5c5a5f917a5871c} from \"./useLayoutEffect.mjs\";\nimport {useSSRSafeId as $c7eafbbe1ea5834e$export$619500959fc48b26} from \"../ssr/SSRProvider.mjs\";\nimport {useValueEffect as $1a716630a9e3a599$export$14d238f342723f25} from \"./useValueEffect.mjs\";\nimport {useState as $4QKZm$useState, useRef as $4QKZm$useRef, useEffect as $4QKZm$useEffect, useCallback as $4QKZm$useCallback} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n// copied from SSRProvider.tsx to reduce exports, if needed again, consider sharing\nlet $390e54f620492c70$var$canUseDOM = Boolean(typeof window !== 'undefined' && window.document && window.document.createElement);\nlet $390e54f620492c70$export$d41a04c74483c6ef = new Map();\n// This allows us to clean up the idsUpdaterMap when the id is no longer used.\n// Map is a strong reference, so unused ids wouldn't be cleaned up otherwise.\n// This can happen in suspended components where mount/unmount is not called.\nlet $390e54f620492c70$var$registry;\nif (typeof FinalizationRegistry !== 'undefined') $390e54f620492c70$var$registry = new FinalizationRegistry((heldValue)=>{\n $390e54f620492c70$export$d41a04c74483c6ef.delete(heldValue);\n});\nlet $390e54f620492c70$var$registeredIds = new WeakMap();\nfunction $390e54f620492c70$export$f680877a34711e37(defaultId) {\n let [value, setValue] = (0, $4QKZm$useState)(defaultId);\n let nextId = (0, $4QKZm$useRef)(null);\n let res = (0, $c7eafbbe1ea5834e$export$619500959fc48b26)(value);\n let cleanupRef = (0, $4QKZm$useRef)(null);\n // These are intentionally disabled the compiler, these functions just read the identity\n // of the ref, not the value inside current.\n // oxlint-disable-next-line react/react-compiler\n let registeredId = $390e54f620492c70$var$registeredIds.get(cleanupRef);\n if ($390e54f620492c70$var$registry && registeredId !== res) {\n if (registeredId != null) // oxlint-disable-next-line react/react-compiler\n $390e54f620492c70$var$registry.unregister(cleanupRef);\n // oxlint-disable-next-line react/react-compiler\n $390e54f620492c70$var$registry.register(cleanupRef, res, cleanupRef);\n // oxlint-disable-next-line react/react-compiler\n $390e54f620492c70$var$registeredIds.set(cleanupRef, res);\n }\n if ($390e54f620492c70$var$canUseDOM) {\n const cacheIdRef = $390e54f620492c70$export$d41a04c74483c6ef.get(res);\n // oxlint-disable-next-line react/react-compiler\n if (cacheIdRef && !cacheIdRef.includes(nextId)) // oxlint-disable-next-line react/react-compiler\n cacheIdRef.push(nextId);\n else // oxlint-disable-next-line react/react-compiler\n $390e54f620492c70$export$d41a04c74483c6ef.set(res, [\n nextId\n ]);\n }\n (0, $c4867b2f328c2698$export$e5c5a5f917a5871c)(()=>{\n let r = res;\n return ()=>{\n // In Suspense, the cleanup function may be not called\n // when it is though, also remove it from the finalization registry.\n if ($390e54f620492c70$var$registry) {\n $390e54f620492c70$var$registry.unregister(cleanupRef);\n $390e54f620492c70$var$registeredIds.delete(cleanupRef);\n }\n $390e54f620492c70$export$d41a04c74483c6ef.delete(r);\n };\n }, [\n res\n ]);\n // This cannot cause an infinite loop because the ref is always cleaned up.\n // eslint-disable-next-line\n (0, $4QKZm$useEffect)(()=>{\n let newId = nextId.current;\n if (newId) setValue(newId);\n return ()=>{\n if (newId) nextId.current = null;\n };\n });\n return res;\n}\nfunction $390e54f620492c70$export$cd8c9cb68f842629(idA, idB) {\n if (idA === idB) return idA;\n let setIdsA = $390e54f620492c70$export$d41a04c74483c6ef.get(idA);\n if (setIdsA) {\n setIdsA.forEach((ref)=>ref.current = idB);\n return idB;\n }\n let setIdsB = $390e54f620492c70$export$d41a04c74483c6ef.get(idB);\n if (setIdsB) {\n setIdsB.forEach((ref)=>ref.current = idA);\n return idA;\n }\n return idB;\n}\nfunction $390e54f620492c70$export$b4cc09c592e8fdb8(depArray = []) {\n let id = $390e54f620492c70$export$f680877a34711e37();\n let [resolvedId, setResolvedId] = (0, $1a716630a9e3a599$export$14d238f342723f25)(id);\n let updateId = (0, $4QKZm$useCallback)(()=>{\n setResolvedId(function*() {\n yield id;\n yield document.getElementById(id) ? id : undefined;\n });\n // oxlint-disable-next-line react/react-compiler\n }, [\n id,\n setResolvedId\n ]);\n (0, $c4867b2f328c2698$export$e5c5a5f917a5871c)(updateId, [\n id,\n updateId,\n ...depArray\n ]);\n return resolvedId;\n}\n\n\nexport {$390e54f620492c70$export$d41a04c74483c6ef as idsUpdaterMap, $390e54f620492c70$export$f680877a34711e37 as useId, $390e54f620492c70$export$cd8c9cb68f842629 as mergeIds, $390e54f620492c70$export$b4cc09c592e8fdb8 as useSlotId};\n//# sourceMappingURL=useId.mjs.map\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ function $4064df0d6f9620e1$export$c9058316764c140e(...refs) {\n if (refs.length === 1 && refs[0]) return refs[0];\n return (value)=>{\n let hasCleanup = false;\n const cleanups = refs.map((ref)=>{\n const cleanup = $4064df0d6f9620e1$var$setRef(ref, value);\n hasCleanup ||= typeof cleanup == 'function';\n return cleanup;\n });\n if (hasCleanup) return ()=>{\n cleanups.forEach((cleanup, i)=>{\n if (typeof cleanup === 'function') cleanup();\n else $4064df0d6f9620e1$var$setRef(refs[i], null);\n });\n };\n };\n}\nfunction $4064df0d6f9620e1$var$setRef(ref, value) {\n if (typeof ref === 'function') return ref(value);\n else if (ref != null) ref.current = value;\n}\n\n\nexport {$4064df0d6f9620e1$export$c9058316764c140e as mergeRefs};\n//# sourceMappingURL=mergeRefs.mjs.map\n","import {chain as $a4e76a5424781910$export$e08e3b67e392101e} from \"./chain.mjs\";\nimport {mergeIds as $390e54f620492c70$export$cd8c9cb68f842629} from \"./useId.mjs\";\nimport {mergeRefs as $4064df0d6f9620e1$export$c9058316764c140e} from \"./mergeRefs.mjs\";\nimport $aPpn7$clsx from \"clsx\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\nfunction $bbaa08b3cd72f041$export$9d1611c77c2fe928(...args) {\n // Start with a base clone of the first argument. This is a lot faster than starting\n // with an empty object and adding properties as we go.\n let result = {\n ...args[0]\n };\n for(let i = 1; i < args.length; i++){\n let props = args[i];\n for(let key in props){\n let a = result[key];\n let b = props[key];\n // Chain events\n if (typeof a === 'function' && typeof b === 'function' && // This is a lot faster than a regex.\n key[0] === 'o' && key[1] === 'n' && key.charCodeAt(2) >= /* 'A' */ 65 && key.charCodeAt(2) <= /* 'Z' */ 90) result[key] = (0, $a4e76a5424781910$export$e08e3b67e392101e)(a, b);\n else if ((key === 'className' || key === 'UNSAFE_className') && typeof a === 'string' && typeof b === 'string') result[key] = (0, $aPpn7$clsx)(a, b);\n else if (key === 'id' && a && b) result.id = (0, $390e54f620492c70$export$cd8c9cb68f842629)(a, b);\n else if (key === 'ref' && a && b) result.ref = (0, $4064df0d6f9620e1$export$c9058316764c140e)(a, b);\n else result[key] = b !== undefined ? b : a;\n }\n }\n return result;\n}\n\n\nexport {$bbaa08b3cd72f041$export$9d1611c77c2fe928 as mergeProps};\n//# sourceMappingURL=mergeProps.mjs.map\n","import {useRef as $i6EpZ$useRef, useCallback as $i6EpZ$useCallback, useMemo as $i6EpZ$useMemo} from \"react\";\n\n/*\n * Copyright 2021 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $03e8ab2d84d7657a$export$4338b53315abf666(ref) {\n const objRef = (0, $i6EpZ$useRef)(null);\n const cleanupRef = (0, $i6EpZ$useRef)(undefined);\n const refEffect = (0, $i6EpZ$useCallback)((instance)=>{\n if (typeof ref === 'function') {\n const refCallback = ref;\n const refCleanup = refCallback(instance);\n return ()=>{\n if (typeof refCleanup === 'function') refCleanup();\n else refCallback(null);\n };\n } else if (ref) {\n // oxlint-disable-next-line react/react-compiler\n ref.current = instance;\n return ()=>{\n ref.current = null;\n };\n }\n }, [\n ref\n ]);\n return (0, $i6EpZ$useMemo)(()=>({\n get current () {\n return objRef.current;\n },\n set current (value){\n objRef.current = value;\n if (cleanupRef.current) {\n cleanupRef.current();\n cleanupRef.current = undefined;\n }\n if (value != null) cleanupRef.current = refEffect(value);\n }\n }), // oxlint-disable-next-line react/react-compiler\n [\n refEffect\n ]);\n}\n\n\nexport {$03e8ab2d84d7657a$export$4338b53315abf666 as useObjectRef};\n//# sourceMappingURL=useObjectRef.mjs.map\n","import {mergeProps as $ahdqC$mergeProps} from \"react-aria/mergeProps\";\nimport {mergeRefs as $ahdqC$mergeRefs} from \"react-aria/mergeRefs\";\nimport $ahdqC$react, {useMemo as $ahdqC$useMemo, useContext as $ahdqC$useContext, useState as $ahdqC$useState, useRef as $ahdqC$useRef, useCallback as $ahdqC$useCallback, forwardRef as $ahdqC$forwardRef} from \"react\";\nimport {useLayoutEffect as $ahdqC$useLayoutEffect} from \"react-aria/private/utils/useLayoutEffect\";\nimport {useObjectRef as $ahdqC$useObjectRef} from \"react-aria/useObjectRef\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\nconst $7230ffa83bc0c2cf$export$c62b8e45d58ddad9 = Symbol('default');\nfunction $7230ffa83bc0c2cf$export$2881499e37b75b9a({ values: values, children: children }) {\n for (let [Context, value] of values)// @ts-ignore\n children = /*#__PURE__*/ (0, $ahdqC$react).createElement(Context.Provider, {\n value: value\n }, children);\n return children;\n}\nfunction $7230ffa83bc0c2cf$export$4d86445c2cf5e3(props) {\n let { className: className, style: style, children: children, defaultClassName: defaultClassName, defaultChildren: defaultChildren, defaultStyle: defaultStyle, values: values, render: render } = props;\n return (0, $ahdqC$useMemo)(()=>{\n let computedClassName;\n let computedStyle;\n let computedChildren;\n if (typeof className === 'function') computedClassName = className({\n ...values,\n defaultClassName: defaultClassName\n });\n else computedClassName = className;\n if (typeof style === 'function') computedStyle = style({\n ...values,\n defaultStyle: defaultStyle || {}\n });\n else computedStyle = style;\n if (typeof children === 'function') computedChildren = children({\n ...values,\n defaultChildren: defaultChildren\n });\n else if (children == null) computedChildren = defaultChildren;\n else computedChildren = children;\n return {\n className: computedClassName ?? defaultClassName,\n style: computedStyle || defaultStyle ? {\n ...defaultStyle,\n ...computedStyle\n } : undefined,\n children: computedChildren ?? defaultChildren,\n 'data-rac': '',\n render: render ? (props)=>render(props, values) : undefined\n };\n }, [\n className,\n style,\n children,\n defaultClassName,\n defaultChildren,\n defaultStyle,\n values,\n render\n ]);\n}\nfunction $7230ffa83bc0c2cf$export$c245e6201fed2f75(// https://stackoverflow.com/questions/60898079/typescript-type-t-or-function-t-usage\nvalue, wrap) {\n return (renderProps)=>wrap(typeof value === 'function' ? value(renderProps) : value, renderProps);\n}\nfunction $7230ffa83bc0c2cf$export$fabf2dc03a41866e(context, slot) {\n let ctx = (0, $ahdqC$useContext)(context);\n if (slot === null) // An explicit `null` slot means don't use context.\n return null;\n if (ctx && typeof ctx === 'object' && 'slots' in ctx && ctx.slots) {\n let slotKey = slot || $7230ffa83bc0c2cf$export$c62b8e45d58ddad9;\n if (!ctx.slots[slotKey]) {\n let availableSlots = new Intl.ListFormat().format(Object.keys(ctx.slots).map((p)=>`\"${p}\"`));\n let errorMessage = slot ? `Invalid slot \"${slot}\".` : 'A slot prop is required.';\n throw new Error(`${errorMessage} Valid slot names are ${availableSlots}.`);\n }\n return ctx.slots[slotKey];\n }\n // @ts-ignore\n return ctx;\n}\nfunction $7230ffa83bc0c2cf$export$29f1550f4b0d4415(props, ref, context) {\n let ctx = $7230ffa83bc0c2cf$export$fabf2dc03a41866e(context, props.slot) || {};\n let { ref: contextRef, ...contextProps } = ctx;\n let mergedRef = (0, $ahdqC$useObjectRef)((0, $ahdqC$useMemo)(()=>(0, $ahdqC$mergeRefs)(ref, contextRef), [\n ref,\n contextRef\n ]));\n let mergedProps = (0, $ahdqC$mergeProps)(contextProps, props);\n // mergeProps does not merge `style`. Adding this there might be a breaking change.\n if ('style' in contextProps && contextProps.style && 'style' in props && props.style) {\n if (typeof contextProps.style === 'function' || typeof props.style === 'function') // @ts-ignore\n mergedProps.style = (renderProps)=>{\n let contextStyle = typeof contextProps.style === 'function' ? contextProps.style(renderProps) : contextProps.style;\n let defaultStyle = {\n ...renderProps.defaultStyle,\n ...contextStyle\n };\n let style = typeof props.style === 'function' ? props.style({\n ...renderProps,\n defaultStyle: defaultStyle\n }) : props.style;\n return {\n ...defaultStyle,\n ...style\n };\n };\n else // @ts-ignore\n mergedProps.style = {\n ...contextProps.style,\n ...props.style\n };\n }\n return [\n mergedProps,\n mergedRef\n ];\n}\nfunction $7230ffa83bc0c2cf$export$9d4c57ee4c6ffdd8(initialState = true) {\n // Initial state is typically based on the parent having an aria-label or aria-labelledby.\n // If it does, this value should be false so that we don't update the state and cause a rerender when we go through the layoutEffect\n let [hasSlot, setHasSlot] = (0, $ahdqC$useState)(initialState);\n let hasRun = (0, $ahdqC$useRef)(false);\n // A callback ref which will run when the slotted element mounts.\n // This should happen before the useLayoutEffect below.\n let ref = (0, $ahdqC$useCallback)((el)=>{\n hasRun.current = true;\n setHasSlot(!!el);\n }, []);\n // If the callback hasn't been called, then reset to false.\n (0, $ahdqC$useLayoutEffect)(()=>{\n if (!hasRun.current) setHasSlot(false);\n }, []);\n return [\n ref,\n hasSlot\n ];\n}\nfunction $7230ffa83bc0c2cf$export$ef03459518577ad4(props) {\n const prefix = /^(data-.*)$/;\n let filteredProps = {};\n for(const prop in props)if (!prefix.test(prop)) filteredProps[prop] = props[prop];\n return filteredProps;\n}\nfunction $7230ffa83bc0c2cf$var$DOMElement(ElementType, props, forwardedRef) {\n let { render: render, ...otherProps } = props;\n let elementRef = (0, $ahdqC$useRef)(null);\n let ref = (0, $ahdqC$useMemo)(()=>(0, $ahdqC$mergeRefs)(forwardedRef, elementRef), [\n forwardedRef,\n elementRef\n ]);\n (0, $ahdqC$useLayoutEffect)(()=>{\n if (process.env.NODE_ENV !== 'production' && render) {\n if (!elementRef.current) console.warn('Ref was not connected to DOM element returned by custom `render` function. Did you forget to pass through or merge the `ref`?');\n else if (elementRef.current.localName !== ElementType) console.warn(`Unexpected DOM element returned by custom \\`render\\` function. Expected <${ElementType}>, got <${elementRef.current.localName}>. This may break the component behavior and accessibility.`);\n }\n }, [\n ElementType,\n render\n ]);\n let domProps = {\n ...otherProps,\n ref: ref\n };\n if (render) return render(domProps, undefined);\n return /*#__PURE__*/ (0, $ahdqC$react).createElement(ElementType, domProps);\n}\nconst $7230ffa83bc0c2cf$var$domComponentCache = {};\nconst $7230ffa83bc0c2cf$export$df3a06d6289f983e = new Proxy({}, {\n get (target, elementType) {\n if (typeof elementType !== 'string') return undefined;\n let res = $7230ffa83bc0c2cf$var$domComponentCache[elementType];\n if (!res) {\n res = /*#__PURE__*/ (0, $ahdqC$forwardRef)($7230ffa83bc0c2cf$var$DOMElement.bind(null, elementType));\n $7230ffa83bc0c2cf$var$domComponentCache[elementType] = res;\n }\n return res;\n }\n});\n\n\nexport {$7230ffa83bc0c2cf$export$c62b8e45d58ddad9 as DEFAULT_SLOT, $7230ffa83bc0c2cf$export$2881499e37b75b9a as Provider, $7230ffa83bc0c2cf$export$4d86445c2cf5e3 as useRenderProps, $7230ffa83bc0c2cf$export$c245e6201fed2f75 as composeRenderProps, $7230ffa83bc0c2cf$export$fabf2dc03a41866e as useSlottedContext, $7230ffa83bc0c2cf$export$29f1550f4b0d4415 as useContextProps, $7230ffa83bc0c2cf$export$9d4c57ee4c6ffdd8 as useSlot, $7230ffa83bc0c2cf$export$ef03459518577ad4 as removeDataAttributes, $7230ffa83bc0c2cf$export$df3a06d6289f983e as dom};\n//# sourceMappingURL=utils.mjs.map\n","import $iuCOg$react, {createContext as $iuCOg$createContext, useContext as $iuCOg$useContext, forwardRef as $iuCOg$forwardRef} from \"react\";\n\n/*\n * Copyright 2024 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n// React doesn't understand the <template> element, which doesn't have children like a normal element.\n// It will throw an error during hydration when it expects the firstChild to contain content rendered\n// on the server, when in reality, the browser will have placed this inside the `content` document fragment.\n// This monkey patches the firstChild property for our special hidden template elements to work around this error.\n// does the same for appendChild/removeChild/insertBefore as per the issue below\n// See https://github.com/facebook/react/issues/19932\nif (typeof HTMLTemplateElement !== 'undefined') {\n Object.defineProperty(HTMLTemplateElement.prototype, 'firstChild', {\n configurable: true,\n enumerable: true,\n get: function() {\n return this.content.firstChild;\n }\n });\n Object.defineProperty(HTMLTemplateElement.prototype, 'appendChild', {\n configurable: true,\n enumerable: true,\n value: function(node) {\n return this.content.appendChild(node);\n }\n });\n Object.defineProperty(HTMLTemplateElement.prototype, 'removeChild', {\n configurable: true,\n enumerable: true,\n value: function(node) {\n return this.content.removeChild(node);\n }\n });\n Object.defineProperty(HTMLTemplateElement.prototype, 'insertBefore', {\n configurable: true,\n enumerable: true,\n value: function(node, child) {\n return this.content.insertBefore(node, child);\n }\n });\n}\nconst $d7f64c32b702fe2c$export$94b6d0abf7d33e8c = /*#__PURE__*/ (0, $iuCOg$createContext)(false);\nfunction $d7f64c32b702fe2c$export$8dc98ba7eadeaa56(props) {\n let isHidden = (0, $iuCOg$useContext)($d7f64c32b702fe2c$export$94b6d0abf7d33e8c);\n if (isHidden) // Don't hide again if we are already hidden.\n return /*#__PURE__*/ (0, $iuCOg$react).createElement((0, $iuCOg$react).Fragment, null, props.children);\n let children = /*#__PURE__*/ (0, $iuCOg$react).createElement($d7f64c32b702fe2c$export$94b6d0abf7d33e8c.Provider, {\n value: true\n }, props.children);\n // In SSR, portals are not supported by React. Instead, always render into a <template>\n // element, which the browser will never display to the user. In addition, the\n // content is not part of the accessible DOM tree, so it won't affect ids or other accessibility attributes.\n return /*#__PURE__*/ (0, $iuCOg$react).createElement(\"template\", null, children);\n}\nfunction $d7f64c32b702fe2c$export$86427a43e3e48ebb(fn) {\n let Wrapper = (props, ref)=>{\n let isHidden = (0, $iuCOg$useContext)($d7f64c32b702fe2c$export$94b6d0abf7d33e8c);\n if (isHidden) return null;\n // oxlint-disable-next-line react/react-compiler\n return fn(props, ref);\n };\n // @ts-ignore - for react dev tools\n Wrapper.displayName = fn.displayName || fn.name;\n return (0, $iuCOg$forwardRef)(Wrapper);\n}\nfunction $d7f64c32b702fe2c$export$b5d7cc18bb8d2b59() {\n return (0, $iuCOg$useContext)($d7f64c32b702fe2c$export$94b6d0abf7d33e8c);\n}\n\n\nexport {$d7f64c32b702fe2c$export$94b6d0abf7d33e8c as HiddenContext, $d7f64c32b702fe2c$export$8dc98ba7eadeaa56 as Hidden, $d7f64c32b702fe2c$export$86427a43e3e48ebb as createHideableComponent, $d7f64c32b702fe2c$export$b5d7cc18bb8d2b59 as useIsHidden};\n//# sourceMappingURL=Hidden.mjs.map\n","import {dom as $7230ffa83bc0c2cf$export$df3a06d6289f983e, useContextProps as $7230ffa83bc0c2cf$export$29f1550f4b0d4415} from \"./utils.mjs\";\nimport {createHideableComponent as $32wDz$createHideableComponent} from \"react-aria/private/collections/Hidden\";\nimport $32wDz$react, {createContext as $32wDz$createContext} from \"react\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nconst $43a3b93638fe5db9$export$75b6ee27786ba447 = /*#__PURE__*/ (0, $32wDz$createContext)({});\nconst $43a3b93638fe5db9$export$b04be29aa201d4f5 = /*#__PURE__*/ (0, $32wDz$createHideableComponent)(function Label(props, ref) {\n [props, ref] = (0, $7230ffa83bc0c2cf$export$29f1550f4b0d4415)(props, ref, $43a3b93638fe5db9$export$75b6ee27786ba447);\n let { elementType: elementType = 'label', ...labelProps } = props;\n let ElementType = (0, $7230ffa83bc0c2cf$export$df3a06d6289f983e)[elementType];\n // @ts-ignore\n return /*#__PURE__*/ (0, $32wDz$react).createElement(ElementType, {\n className: \"react-aria-Label\",\n ...labelProps,\n ref: ref\n });\n});\n\n\nexport {$43a3b93638fe5db9$export$75b6ee27786ba447 as LabelContext, $43a3b93638fe5db9$export$b04be29aa201d4f5 as Label};\n//# sourceMappingURL=Label.mjs.map\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ const $8e9d2fae0ecb9001$var$DOMPropNames = new Set([\n 'id'\n]);\nconst $8e9d2fae0ecb9001$var$labelablePropNames = new Set([\n 'aria-label',\n 'aria-labelledby',\n 'aria-describedby',\n 'aria-details'\n]);\n// See LinkDOMProps in dom.d.ts.\nconst $8e9d2fae0ecb9001$var$linkPropNames = new Set([\n 'href',\n 'hrefLang',\n 'target',\n 'rel',\n 'download',\n 'ping',\n 'referrerPolicy'\n]);\nconst $8e9d2fae0ecb9001$var$globalAttrs = new Set([\n 'dir',\n 'lang',\n 'hidden',\n 'inert',\n 'translate'\n]);\nconst $8e9d2fae0ecb9001$var$globalEvents = new Set([\n 'onClick',\n 'onAuxClick',\n 'onContextMenu',\n 'onDoubleClick',\n 'onMouseDown',\n 'onMouseEnter',\n 'onMouseLeave',\n 'onMouseMove',\n 'onMouseOut',\n 'onMouseOver',\n 'onMouseUp',\n 'onTouchCancel',\n 'onTouchEnd',\n 'onTouchMove',\n 'onTouchStart',\n 'onPointerDown',\n 'onPointerMove',\n 'onPointerUp',\n 'onPointerCancel',\n 'onPointerEnter',\n 'onPointerLeave',\n 'onPointerOver',\n 'onPointerOut',\n 'onGotPointerCapture',\n 'onLostPointerCapture',\n 'onScroll',\n 'onWheel',\n 'onAnimationStart',\n 'onAnimationEnd',\n 'onAnimationIteration',\n 'onTransitionCancel',\n 'onTransitionEnd',\n 'onTransitionRun',\n 'onTransitionStart'\n]);\nconst $8e9d2fae0ecb9001$var$propRe = /^(data-.*)$/;\nfunction $8e9d2fae0ecb9001$export$457c3d6518dd4c6f(props, opts = {}) {\n let { labelable: labelable, isLink: isLink, global: global, events: events = global, propNames: propNames } = opts;\n let filteredProps = {};\n for(const prop in props)if (Object.prototype.hasOwnProperty.call(props, prop) && ($8e9d2fae0ecb9001$var$DOMPropNames.has(prop) || labelable && $8e9d2fae0ecb9001$var$labelablePropNames.has(prop) || isLink && $8e9d2fae0ecb9001$var$linkPropNames.has(prop) || global && $8e9d2fae0ecb9001$var$globalAttrs.has(prop) || events && ($8e9d2fae0ecb9001$var$globalEvents.has(prop) || prop.endsWith('Capture') && $8e9d2fae0ecb9001$var$globalEvents.has(prop.slice(0, -7))) || propNames?.has(prop) || $8e9d2fae0ecb9001$var$propRe.test(prop))) filteredProps[prop] = props[prop];\n return filteredProps;\n}\n\n\nexport {$8e9d2fae0ecb9001$export$457c3d6518dd4c6f as filterDOMProps};\n//# sourceMappingURL=filterDOMProps.mjs.map\n","import {useId as $390e54f620492c70$export$f680877a34711e37} from \"./useId.mjs\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $e8ac3c3f5d4bae7f$export$d6875122194c7b44(props, defaultLabel) {\n let { id: id, 'aria-label': label, 'aria-labelledby': labelledBy } = props;\n // If there is both an aria-label and aria-labelledby,\n // combine them by pointing to the element itself.\n id = (0, $390e54f620492c70$export$f680877a34711e37)(id);\n if (labelledBy && label) {\n let ids = new Set([\n id,\n ...labelledBy.trim().split(/\\s+/)\n ]);\n labelledBy = [\n ...ids\n ].join(' ');\n } else if (labelledBy) labelledBy = labelledBy.trim().split(/\\s+/).join(' ');\n // If no labels are provided, use the default\n if (!label && !labelledBy && defaultLabel) label = defaultLabel;\n return {\n id: id,\n 'aria-label': label,\n 'aria-labelledby': labelledBy\n };\n}\n\n\nexport {$e8ac3c3f5d4bae7f$export$d6875122194c7b44 as useLabels};\n//# sourceMappingURL=useLabels.mjs.map\n","import {useId as $390e54f620492c70$export$f680877a34711e37} from \"../utils/useId.mjs\";\nimport {useLabels as $e8ac3c3f5d4bae7f$export$d6875122194c7b44} from \"../utils/useLabels.mjs\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nfunction $0beb20c9744a2065$export$8467354a121f1b9f(props) {\n let { id: id, label: label, 'aria-labelledby': ariaLabelledby, 'aria-label': ariaLabel, labelElementType: labelElementType = 'label' } = props;\n id = (0, $390e54f620492c70$export$f680877a34711e37)(id);\n let labelId = (0, $390e54f620492c70$export$f680877a34711e37)();\n let labelProps = {};\n if (label) {\n ariaLabelledby = ariaLabelledby ? `${labelId} ${ariaLabelledby}` : labelId;\n labelProps = {\n id: labelId,\n htmlFor: labelElementType === 'label' ? id : undefined\n };\n } else if (!ariaLabelledby && !ariaLabel && process.env.NODE_ENV !== 'production') console.warn('If you do not provide a visible label, you must specify an aria-label or aria-labelledby attribute for accessibility');\n let fieldProps = (0, $e8ac3c3f5d4bae7f$export$d6875122194c7b44)({\n id: id,\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby\n });\n return {\n labelProps: labelProps,\n fieldProps: fieldProps\n };\n}\n\n\nexport {$0beb20c9744a2065$export$8467354a121f1b9f as useLabel};\n//# sourceMappingURL=useLabel.mjs.map\n","import {dom as $7230ffa83bc0c2cf$export$df3a06d6289f983e, useContextProps as $7230ffa83bc0c2cf$export$29f1550f4b0d4415, useRenderProps as $7230ffa83bc0c2cf$export$4d86445c2cf5e3, useSlot as $7230ffa83bc0c2cf$export$9d4c57ee4c6ffdd8} from \"./utils.mjs\";\nimport {LabelContext as $43a3b93638fe5db9$export$75b6ee27786ba447} from \"./Label.mjs\";\nimport {useProgressBar as $8MuvO$useProgressBar} from \"react-aria/useProgressBar\";\nimport {clamp as $8MuvO$clamp} from \"react-stately/private/utils/number\";\nimport {filterDOMProps as $8MuvO$filterDOMProps} from \"react-aria/filterDOMProps\";\nimport {mergeProps as $8MuvO$mergeProps} from \"react-aria/mergeProps\";\nimport $8MuvO$react, {createContext as $8MuvO$createContext, forwardRef as $8MuvO$forwardRef} from \"react\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\n\n\nconst $6c0095e7e99364f2$export$e9f3bf65a26ce129 = /*#__PURE__*/ (0, $8MuvO$createContext)(null);\nconst $6c0095e7e99364f2$export$c17561cb55d4db30 = /*#__PURE__*/ (0, $8MuvO$forwardRef)(function ProgressBar(props, ref) {\n [props, ref] = (0, $7230ffa83bc0c2cf$export$29f1550f4b0d4415)(props, ref, $6c0095e7e99364f2$export$e9f3bf65a26ce129);\n let { value: value = 0, minValue: minValue = 0, maxValue: maxValue = 100, isIndeterminate: isIndeterminate = false } = props;\n value = (0, $8MuvO$clamp)(value, minValue, maxValue);\n let [labelRef, label] = (0, $7230ffa83bc0c2cf$export$9d4c57ee4c6ffdd8)(!props['aria-label'] && !props['aria-labelledby']);\n let { progressBarProps: progressBarProps, labelProps: labelProps } = (0, $8MuvO$useProgressBar)({\n ...props,\n label: label\n });\n let range = maxValue - minValue;\n // Calculate the width of the progress bar as a percentage\n let percentage = undefined;\n if (!isIndeterminate) {\n if (range === 0) percentage = 0;\n else percentage = (value - minValue) / range * 100;\n }\n let renderProps = (0, $7230ffa83bc0c2cf$export$4d86445c2cf5e3)({\n ...props,\n defaultClassName: 'react-aria-ProgressBar',\n values: {\n percentage: percentage,\n valueText: progressBarProps['aria-valuetext'],\n isIndeterminate: isIndeterminate\n }\n });\n let DOMProps = (0, $8MuvO$filterDOMProps)(props, {\n global: true\n });\n return /*#__PURE__*/ (0, $8MuvO$react).createElement((0, $7230ffa83bc0c2cf$export$df3a06d6289f983e).div, {\n ...(0, $8MuvO$mergeProps)(DOMProps, renderProps, progressBarProps),\n ref: ref,\n slot: props.slot || undefined\n }, /*#__PURE__*/ (0, $8MuvO$react).createElement((0, $43a3b93638fe5db9$export$75b6ee27786ba447).Provider, {\n value: {\n ...labelProps,\n ref: labelRef,\n elementType: 'span'\n }\n }, renderProps.children));\n});\n\n\nexport {$6c0095e7e99364f2$export$e9f3bf65a26ce129 as ProgressBarContext, $6c0095e7e99364f2$export$c17561cb55d4db30 as ProgressBar};\n//# sourceMappingURL=ProgressBar.mjs.map\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ /* Inspired by https://github.com/AlmeroSteyn/react-aria-live */ const $a46cf152bb926da5$var$LIVEREGION_TIMEOUT_DELAY = 7000;\nlet $a46cf152bb926da5$var$liveAnnouncer = null;\nfunction $a46cf152bb926da5$export$a9b970dcc4ae71a9(message, assertiveness = 'assertive', timeout = $a46cf152bb926da5$var$LIVEREGION_TIMEOUT_DELAY) {\n if (!$a46cf152bb926da5$var$liveAnnouncer) {\n $a46cf152bb926da5$var$liveAnnouncer = new $a46cf152bb926da5$var$LiveAnnouncer();\n // wait for the live announcer regions to be added to the dom, then announce\n // otherwise Safari won't announce the message if it's added too quickly\n // found most times less than 100ms were not consistent when announcing with Safari\n // IS_REACT_ACT_ENVIRONMENT is used by React 18. Previous versions checked for the `jest` global.\n // https://github.com/reactwg/react-18/discussions/102\n // if we're in a test environment, announce without waiting\n if (// @ts-ignore\n !(typeof IS_REACT_ACT_ENVIRONMENT === 'boolean' ? IS_REACT_ACT_ENVIRONMENT : typeof jest !== 'undefined')) setTimeout(()=>{\n if ($a46cf152bb926da5$var$liveAnnouncer?.isAttached()) $a46cf152bb926da5$var$liveAnnouncer?.announce(message, assertiveness, timeout);\n }, 100);\n else $a46cf152bb926da5$var$liveAnnouncer.announce(message, assertiveness, timeout);\n } else $a46cf152bb926da5$var$liveAnnouncer.announce(message, assertiveness, timeout);\n}\nfunction $a46cf152bb926da5$export$d10ae4f68404609a(assertiveness) {\n if ($a46cf152bb926da5$var$liveAnnouncer) $a46cf152bb926da5$var$liveAnnouncer.clear(assertiveness);\n}\nfunction $a46cf152bb926da5$export$d8686216b8b81b2f() {\n if ($a46cf152bb926da5$var$liveAnnouncer) {\n $a46cf152bb926da5$var$liveAnnouncer.destroy();\n $a46cf152bb926da5$var$liveAnnouncer = null;\n }\n}\n// LiveAnnouncer is implemented using vanilla DOM, not React. That's because as of React 18\n// ReactDOM.render is deprecated, and the replacement, ReactDOM.createRoot is moved into a\n// subpath import `react-dom/client`. That makes it hard for us to support multiple React versions.\n// As a global API, we can't use portals without introducing a breaking API change. LiveAnnouncer\n// is simple enough to implement without React, so that's what we do here.\n// See this discussion for more details: https://github.com/reactwg/react-18/discussions/125#discussioncomment-2382638\nclass $a46cf152bb926da5$var$LiveAnnouncer {\n constructor(){\n this.node = null;\n this.assertiveLog = null;\n this.politeLog = null;\n if (typeof document !== 'undefined') {\n this.node = document.createElement('div');\n this.node.dataset.liveAnnouncer = 'true';\n // copied from VisuallyHidden\n Object.assign(this.node.style, {\n border: 0,\n clip: 'rect(0 0 0 0)',\n clipPath: 'inset(50%)',\n height: '1px',\n margin: '-1px',\n overflow: 'hidden',\n padding: 0,\n position: 'absolute',\n width: '1px',\n whiteSpace: 'nowrap'\n });\n this.assertiveLog = this.createLog('assertive');\n this.node.appendChild(this.assertiveLog);\n this.politeLog = this.createLog('polite');\n this.node.appendChild(this.politeLog);\n document.body.prepend(this.node);\n }\n }\n isAttached() {\n return this.node?.isConnected;\n }\n createLog(ariaLive) {\n let node = document.createElement('div');\n node.setAttribute('role', 'log');\n node.setAttribute('aria-live', ariaLive);\n node.setAttribute('aria-relevant', 'additions');\n return node;\n }\n destroy() {\n if (!this.node) return;\n document.body.removeChild(this.node);\n this.node = null;\n }\n announce(message, assertiveness = 'assertive', timeout = $a46cf152bb926da5$var$LIVEREGION_TIMEOUT_DELAY) {\n if (!this.node) return;\n let node = document.createElement('div');\n if (typeof message === 'object') {\n // To read an aria-labelledby, the element must have an appropriate role, such as img.\n node.setAttribute('role', 'img');\n node.setAttribute('aria-labelledby', message['aria-labelledby']);\n } else node.textContent = message;\n if (assertiveness === 'assertive') this.assertiveLog?.appendChild(node);\n else this.politeLog?.appendChild(node);\n if (message !== '') setTimeout(()=>{\n node.remove();\n }, timeout);\n }\n clear(assertiveness) {\n if (!this.node) return;\n if ((!assertiveness || assertiveness === 'assertive') && this.assertiveLog) this.assertiveLog.innerHTML = '';\n if ((!assertiveness || assertiveness === 'polite') && this.politeLog) this.politeLog.innerHTML = '';\n }\n}\n\n\nexport {$a46cf152bb926da5$export$a9b970dcc4ae71a9 as announce, $a46cf152bb926da5$export$d10ae4f68404609a as clearAnnouncer, $a46cf152bb926da5$export$d8686216b8b81b2f as destroyAnnouncer};\n//# sourceMappingURL=LiveAnnouncer.mjs.map\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ function $1969ac565cfec8d0$export$de79e2c695e052f3(element) {\n if ($1969ac565cfec8d0$var$supportsPreventScroll()) element.focus({\n preventScroll: true\n });\n else {\n let scrollableElements = $1969ac565cfec8d0$var$getScrollableElements(element);\n element.focus();\n $1969ac565cfec8d0$var$restoreScrollPosition(scrollableElements);\n }\n}\nlet $1969ac565cfec8d0$var$supportsPreventScrollCached = null;\nfunction $1969ac565cfec8d0$var$supportsPreventScroll() {\n if ($1969ac565cfec8d0$var$supportsPreventScrollCached == null) {\n $1969ac565cfec8d0$var$supportsPreventScrollCached = false;\n try {\n let focusElem = document.createElement('div');\n focusElem.focus({\n get preventScroll () {\n $1969ac565cfec8d0$var$supportsPreventScrollCached = true;\n return true;\n }\n });\n } catch {\n // Ignore\n }\n }\n return $1969ac565cfec8d0$var$supportsPreventScrollCached;\n}\nfunction $1969ac565cfec8d0$var$getScrollableElements(element) {\n let parent = element.parentNode;\n let scrollableElements = [];\n let rootScrollingElement = document.scrollingElement || document.documentElement;\n while(parent instanceof HTMLElement && parent !== rootScrollingElement){\n if (parent.offsetHeight < parent.scrollHeight || parent.offsetWidth < parent.scrollWidth) scrollableElements.push({\n element: parent,\n scrollTop: parent.scrollTop,\n scrollLeft: parent.scrollLeft\n });\n parent = parent.parentNode;\n }\n if (rootScrollingElement instanceof HTMLElement) scrollableElements.push({\n element: rootScrollingElement,\n scrollTop: rootScrollingElement.scrollTop,\n scrollLeft: rootScrollingElement.scrollLeft\n });\n return scrollableElements;\n}\nfunction $1969ac565cfec8d0$var$restoreScrollPosition(scrollableElements) {\n for (let { element: element, scrollTop: scrollTop, scrollLeft: scrollLeft } of scrollableElements){\n element.scrollTop = scrollTop;\n element.scrollLeft = scrollLeft;\n }\n}\n\n\nexport {$1969ac565cfec8d0$export$de79e2c695e052f3 as focusWithoutScrolling};\n//# sourceMappingURL=focusWithoutScrolling.mjs.map\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ const $d447af545b77c9f1$export$b204af158042fbac = (target)=>{\n if ($d447af545b77c9f1$var$isWindow(target)) return target.document;\n if ($d447af545b77c9f1$export$62858bae88b53fd0(target)) return target;\n // @ts-expect-error Ensure safe access in SSR environments.\n return target?.ownerDocument ?? (typeof document !== 'undefined' ? document : undefined);\n};\nconst $d447af545b77c9f1$export$f21a1ffae260145a = (target)=>{\n let ownerDocument = $d447af545b77c9f1$export$b204af158042fbac(target);\n // @ts-expect-error Ensure safe access in SSR environments.\n return ownerDocument?.defaultView ?? (typeof window !== 'undefined' ? window : undefined);\n};\nfunction $d447af545b77c9f1$export$8ee0fc9ee280b4ee(value) {\n return value !== null && typeof value === 'object' && 'nodeType' in value && typeof value.nodeType === 'number';\n}\n/**\n * Type guard that checks if a value is a Window. Uses window self reference checks to\n * distinguish Window from other values.\n */ function $d447af545b77c9f1$var$isWindow(value) {\n return typeof value === 'object' && value != null && 'window' in value && value.window === value;\n}\nfunction $d447af545b77c9f1$export$62858bae88b53fd0(value) {\n return $d447af545b77c9f1$export$8ee0fc9ee280b4ee(value) && value.nodeType === 9;\n}\nfunction $d447af545b77c9f1$export$af51f0f06c0f328a(value) {\n // 11 = DOCUMENT_FRAGMENT_NODE\n return $d447af545b77c9f1$export$8ee0fc9ee280b4ee(value) && value.nodeType === 11 && 'host' in value;\n}\nfunction $d447af545b77c9f1$export$f531f92e2a15358f(target, event, listener, options) {\n if (listener == null || target == null) return ()=>{};\n let eventTargets = Array.isArray(target) ? target : [\n target\n ];\n for (let eventTarget of eventTargets)eventTarget.addEventListener(event, listener, options);\n return ()=>{\n for (let eventTarget of eventTargets)eventTarget.removeEventListener(event, listener, options);\n };\n}\n\n\nexport {$d447af545b77c9f1$export$b204af158042fbac as getOwnerDocument, $d447af545b77c9f1$export$62858bae88b53fd0 as isDocument, $d447af545b77c9f1$export$f21a1ffae260145a as getOwnerWindow, $d447af545b77c9f1$export$8ee0fc9ee280b4ee as isNode, $d447af545b77c9f1$export$af51f0f06c0f328a as isShadowRoot, $d447af545b77c9f1$export$f531f92e2a15358f as addEvent};\n//# sourceMappingURL=domHelpers.mjs.map\n","/*\n * Copyright 2023 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ let $6a20a7989e6c817a$var$_tableNestedRows = false;\nlet $6a20a7989e6c817a$var$_shadowDOM = false;\nfunction $6a20a7989e6c817a$export$d9d8a0f82de49530() {\n $6a20a7989e6c817a$var$_tableNestedRows = true;\n}\nfunction $6a20a7989e6c817a$export$1b00cb14a96194e6() {\n return $6a20a7989e6c817a$var$_tableNestedRows;\n}\nfunction $6a20a7989e6c817a$export$12b151d9882e9985() {\n $6a20a7989e6c817a$var$_shadowDOM = true;\n}\nfunction $6a20a7989e6c817a$export$98658e8c59125e6a() {\n return $6a20a7989e6c817a$var$_shadowDOM;\n}\n\n\nexport {$6a20a7989e6c817a$export$d9d8a0f82de49530 as enableTableNestedRows, $6a20a7989e6c817a$export$1b00cb14a96194e6 as tableNestedRows, $6a20a7989e6c817a$export$12b151d9882e9985 as enableShadowDOM, $6a20a7989e6c817a$export$98658e8c59125e6a as shadowDOM};\n//# sourceMappingURL=flags.mjs.map\n","import {getOwnerWindow as $d447af545b77c9f1$export$f21a1ffae260145a, isShadowRoot as $d447af545b77c9f1$export$af51f0f06c0f328a} from \"../domHelpers.mjs\";\nimport {shadowDOM as $eXv8n$shadowDOM} from \"react-stately/private/flags/flags\";\n\n// Source: https://github.com/microsoft/tabster/blob/a89fc5d7e332d48f68d03b1ca6e344489d1c3898/src/Shadowdomize/DOMFunctions.ts#L16\n/* eslint-disable rsp-rules/no-non-shadow-contains, rsp-rules/safe-event-target */ \n\nfunction $23f2114a1b82827e$export$4282f70798064fe0(node, otherNode) {\n if (!(0, $eXv8n$shadowDOM)()) return otherNode && node ? node.contains(otherNode) : false;\n if (!node || !otherNode) return false;\n let currentNode = otherNode;\n while(currentNode !== null){\n if (currentNode === node) return true;\n if (typeof currentNode.assignedElements !== 'function' && currentNode.assignedSlot?.parentNode) // Element is slotted\n currentNode = currentNode.assignedSlot.parentNode;\n else if ((0, $d447af545b77c9f1$export$af51f0f06c0f328a)(currentNode)) // Element is in shadow root\n currentNode = currentNode.host;\n else currentNode = currentNode.parentNode;\n }\n return false;\n}\nconst $23f2114a1b82827e$export$cd4e5573fbe2b576 = (doc = document)=>{\n if (!(0, $eXv8n$shadowDOM)()) return doc.activeElement;\n let activeElement = doc.activeElement;\n while(activeElement && 'shadowRoot' in activeElement && activeElement.shadowRoot?.activeElement)activeElement = activeElement.shadowRoot.activeElement;\n return activeElement;\n};\nfunction $23f2114a1b82827e$export$e58f029f0fbfdb29(event) {\n if ((0, $eXv8n$shadowDOM)() && event.target instanceof Element && event.target.shadowRoot) {\n if ('composedPath' in event) return event.composedPath()[0] ?? null;\n else if ('composedPath' in event.nativeEvent) return event.nativeEvent.composedPath()[0] ?? null;\n }\n return event.target;\n}\nfunction $23f2114a1b82827e$export$da7af4355d792141(from, to) {\n // If `to` is coming from a ref, its type technically allows `null`.\n // In practice, this function will generally be called from within a useEffect.\n // If the ref has not resolved by that point, then a coding error has been made.\n // Better to return an empty array than `[window]`, which may appear to work\n // in the light DOM, but fail in the shadow DOM.\n if (to === null) return [];\n to = to ?? (0, $d447af545b77c9f1$export$f21a1ffae260145a)(from);\n let targets = [\n to\n ];\n if (!(0, $eXv8n$shadowDOM)() || !from || from === to) return targets;\n // The root `to` itself lives in. The event already reaches `to` once\n // it is inside this root, so we must NOT collect this root or anything above\n // it — only the shadow roots strictly between `refNode` and `to`.\n // `window` has no getRootNode; its boundary is the document, which the walk\n // reaches naturally (the document is not a ShadowRoot, so the loop exits).\n let toRoot = 'getRootNode' in to ? to.getRootNode() : null;\n let current = from.getRootNode() ?? null;\n while((0, $d447af545b77c9f1$export$af51f0f06c0f328a)(current) && current !== toRoot){\n // order shouldn't matter\n targets.push(current);\n current = current.host.getRootNode();\n }\n return targets;\n}\nfunction $23f2114a1b82827e$export$b4f377a2b6254582(node) {\n if (!node) return false;\n // Get the active element within the node's parent shadow root (or the document). Can return null.\n let root = node.getRootNode();\n let ownerWindow = (0, $d447af545b77c9f1$export$f21a1ffae260145a)(node);\n if (!(root instanceof ownerWindow.Document || root instanceof ownerWindow.ShadowRoot)) return false;\n let activeElement = root.activeElement;\n // Check if the active element is within this node. These nodes are within the same shadow root.\n return activeElement != null && node.contains(activeElement);\n}\n\n\nexport {$23f2114a1b82827e$export$4282f70798064fe0 as nodeContains, $23f2114a1b82827e$export$cd4e5573fbe2b576 as getActiveElement, $23f2114a1b82827e$export$e58f029f0fbfdb29 as getEventTarget, $23f2114a1b82827e$export$da7af4355d792141 as getPropagationTargets, $23f2114a1b82827e$export$b4f377a2b6254582 as isFocusWithin};\n//# sourceMappingURL=DOMFunctions.mjs.map\n","import {getOwnerWindow as $d447af545b77c9f1$export$f21a1ffae260145a} from \"./domHelpers.mjs\";\n\n/*\n * Copyright 2021 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nconst $ae77152785188400$var$supportsCheckVisibility = typeof Element !== 'undefined' && 'checkVisibility' in Element.prototype;\nfunction $ae77152785188400$var$isStyleVisible(element) {\n const windowObject = (0, $d447af545b77c9f1$export$f21a1ffae260145a)(element);\n if (!(element instanceof windowObject.HTMLElement) && !(element instanceof windowObject.SVGElement)) return false;\n let { display: display, visibility: visibility } = element.style;\n let isVisible = display !== 'none' && visibility !== 'hidden' && visibility !== 'collapse';\n if (isVisible) {\n const { getComputedStyle: getComputedStyle } = (0, $d447af545b77c9f1$export$f21a1ffae260145a)(element);\n let { display: computedDisplay, visibility: computedVisibility } = getComputedStyle(element);\n isVisible = computedDisplay !== 'none' && computedVisibility !== 'hidden' && computedVisibility !== 'collapse';\n }\n return isVisible;\n}\nfunction $ae77152785188400$var$isAttributeVisible(element, childElement) {\n return !element.hasAttribute('hidden') && // Ignore HiddenSelect when tree walking.\n !element.hasAttribute('data-react-aria-prevent-focus') && (element.nodeName === 'DETAILS' && childElement && childElement.nodeName !== 'SUMMARY' ? element.hasAttribute('open') : true);\n}\nfunction $ae77152785188400$export$e989c0fffaa6b27a(element, childElement) {\n if ($ae77152785188400$var$supportsCheckVisibility) return element.checkVisibility({\n visibilityProperty: true\n }) && !element.closest('[data-react-aria-prevent-focus]');\n return element.nodeName !== '#comment' && $ae77152785188400$var$isStyleVisible(element) && $ae77152785188400$var$isAttributeVisible(element, childElement) && (!element.parentElement || $ae77152785188400$export$e989c0fffaa6b27a(element.parentElement, element));\n}\n\n\nexport {$ae77152785188400$export$e989c0fffaa6b27a as isElementVisible};\n//# sourceMappingURL=isElementVisible.mjs.map\n","import {getOwnerWindow as $d447af545b77c9f1$export$f21a1ffae260145a} from \"./domHelpers.mjs\";\nimport {isElementVisible as $ae77152785188400$export$e989c0fffaa6b27a} from \"./isElementVisible.mjs\";\n\n/*\n * Copyright 2025 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nconst $3b8b240c1bf84ab9$var$focusableElements = [\n 'input:not([disabled]):not([type=hidden])',\n 'select:not([disabled])',\n 'textarea:not([disabled])',\n 'button:not([disabled])',\n 'a[href]',\n 'area[href]',\n 'summary',\n 'iframe',\n 'object',\n 'embed',\n 'audio[controls]',\n 'video[controls]',\n '[contenteditable]:not([contenteditable^=\"false\"])',\n 'permission'\n];\nconst $3b8b240c1bf84ab9$var$FOCUSABLE_ELEMENT_SELECTOR = $3b8b240c1bf84ab9$var$focusableElements.join(':not([hidden]),') + ',[tabindex]:not([disabled]):not([hidden])';\n$3b8b240c1bf84ab9$var$focusableElements.push('[tabindex]:not([tabindex=\"-1\"]):not([disabled])');\nconst $3b8b240c1bf84ab9$var$TABBABLE_ELEMENT_SELECTOR = $3b8b240c1bf84ab9$var$focusableElements.join(':not([hidden]):not([tabindex=\"-1\"]),');\nfunction $3b8b240c1bf84ab9$export$4c063cf1350e6fed(element, options) {\n return element.matches($3b8b240c1bf84ab9$var$FOCUSABLE_ELEMENT_SELECTOR) && !$3b8b240c1bf84ab9$var$isInert(element) && (options?.skipVisibilityCheck || (0, $ae77152785188400$export$e989c0fffaa6b27a)(element));\n}\nfunction $3b8b240c1bf84ab9$export$bebd5a1431fec25d(element) {\n return element.matches($3b8b240c1bf84ab9$var$TABBABLE_ELEMENT_SELECTOR) && (0, $ae77152785188400$export$e989c0fffaa6b27a)(element) && !$3b8b240c1bf84ab9$var$isInert(element);\n}\nfunction $3b8b240c1bf84ab9$var$isInert(element) {\n let node = element;\n while(node != null){\n if (node instanceof (0, $d447af545b77c9f1$export$f21a1ffae260145a)(node).HTMLElement && node.inert) return true;\n node = node.parentElement;\n }\n return false;\n}\n\n\nexport {$3b8b240c1bf84ab9$export$4c063cf1350e6fed as isFocusable, $3b8b240c1bf84ab9$export$bebd5a1431fec25d as isTabbable};\n//# sourceMappingURL=isFocusable.mjs.map\n","import {focusWithoutScrolling as $1969ac565cfec8d0$export$de79e2c695e052f3} from \"../utils/focusWithoutScrolling.mjs\";\nimport {getActiveElement as $23f2114a1b82827e$export$cd4e5573fbe2b576, getEventTarget as $23f2114a1b82827e$export$e58f029f0fbfdb29} from \"../utils/shadowdom/DOMFunctions.mjs\";\nimport {getOwnerWindow as $d447af545b77c9f1$export$f21a1ffae260145a} from \"../utils/domHelpers.mjs\";\nimport {isFocusable as $3b8b240c1bf84ab9$export$4c063cf1350e6fed} from \"../utils/isFocusable.mjs\";\nimport {useLayoutEffect as $c4867b2f328c2698$export$e5c5a5f917a5871c} from \"../utils/useLayoutEffect.mjs\";\nimport {useRef as $lIB5W$useRef, useCallback as $lIB5W$useCallback} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\n\nfunction $a92dc41f639950be$export$525bc4921d56d4a(nativeEvent) {\n let event = nativeEvent;\n event.nativeEvent = nativeEvent;\n event.isDefaultPrevented = ()=>event.defaultPrevented;\n // cancelBubble is technically deprecated in the spec, but still supported in all browsers.\n event.isPropagationStopped = ()=>event.cancelBubble;\n event.persist = ()=>{};\n return event;\n}\nfunction $a92dc41f639950be$export$c2b7abe5d61ec696(event, target) {\n Object.defineProperty(event, 'target', {\n value: target\n });\n Object.defineProperty(event, 'currentTarget', {\n value: target\n });\n}\nfunction $a92dc41f639950be$export$715c682d09d639cc(onBlur) {\n let stateRef = (0, $lIB5W$useRef)({\n isFocused: false,\n observer: null\n });\n // Clean up MutationObserver on unmount. See below.\n (0, $c4867b2f328c2698$export$e5c5a5f917a5871c)(()=>{\n const state = stateRef.current;\n return ()=>{\n if (state.observer) {\n state.observer.disconnect();\n state.observer = null;\n }\n };\n }, []);\n // This function is called during a React onFocus event.\n return (0, $lIB5W$useCallback)((e)=>{\n // React does not fire onBlur when an element is disabled. https://github.com/facebook/react/issues/9142\n // Most browsers fire a native focusout event in this case, except for Firefox. In that case, we use a\n // MutationObserver to watch for the disabled attribute, and dispatch these events ourselves.\n // For browsers that do, focusout fires before the MutationObserver, so onBlur should not fire twice.\n let eventTarget = (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e);\n if (eventTarget instanceof HTMLButtonElement || eventTarget instanceof HTMLInputElement || eventTarget instanceof HTMLTextAreaElement || eventTarget instanceof HTMLSelectElement) {\n stateRef.current.isFocused = true;\n let target = eventTarget;\n let onBlurHandler = (e)=>{\n stateRef.current.isFocused = false;\n if (target.disabled) {\n // For backward compatibility, dispatch a (fake) React synthetic event.\n let event = $a92dc41f639950be$export$525bc4921d56d4a(e);\n onBlur?.(event);\n }\n // We no longer need the MutationObserver once the target is blurred.\n if (stateRef.current.observer) {\n stateRef.current.observer.disconnect();\n stateRef.current.observer = null;\n }\n };\n target.addEventListener('focusout', onBlurHandler, {\n once: true\n });\n stateRef.current.observer = new MutationObserver(()=>{\n if (stateRef.current.isFocused && target.disabled) {\n stateRef.current.observer?.disconnect();\n let relatedTargetEl = target === (0, $23f2114a1b82827e$export$cd4e5573fbe2b576)() ? null : (0, $23f2114a1b82827e$export$cd4e5573fbe2b576)();\n target.dispatchEvent(new FocusEvent('blur', {\n relatedTarget: relatedTargetEl\n }));\n target.dispatchEvent(new FocusEvent('focusout', {\n bubbles: true,\n relatedTarget: relatedTargetEl\n }));\n }\n });\n stateRef.current.observer.observe(target, {\n attributes: true,\n attributeFilter: [\n 'disabled'\n ]\n });\n }\n }, [\n onBlur\n ]);\n}\nlet $a92dc41f639950be$export$fda7da73ab5d4c48 = false;\nfunction $a92dc41f639950be$export$cabe61c495ee3649(target) {\n // The browser will focus the nearest focusable ancestor of our target.\n while(target && !(0, $3b8b240c1bf84ab9$export$4c063cf1350e6fed)(target, {\n skipVisibilityCheck: true\n }))target = target.parentElement;\n let ownerWindow = (0, $d447af545b77c9f1$export$f21a1ffae260145a)(target);\n let activeElement = ownerWindow.document.activeElement;\n if (!activeElement || activeElement === target) return;\n $a92dc41f639950be$export$fda7da73ab5d4c48 = true;\n let isRefocusing = false;\n let onBlur = (e)=>{\n if ((0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e) === activeElement || isRefocusing) e.stopImmediatePropagation();\n };\n let onFocusOut = (e)=>{\n if ((0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e) === activeElement || isRefocusing) {\n e.stopImmediatePropagation();\n // If there was no focusable ancestor, we don't expect a focus event.\n // Re-focus the original active element here.\n if (!target && !isRefocusing) {\n isRefocusing = true;\n (0, $1969ac565cfec8d0$export$de79e2c695e052f3)(activeElement);\n cleanup();\n }\n }\n };\n let onFocus = (e)=>{\n if ((0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e) === target || isRefocusing) e.stopImmediatePropagation();\n };\n let onFocusIn = (e)=>{\n if ((0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e) === target || isRefocusing) {\n e.stopImmediatePropagation();\n if (!isRefocusing) {\n isRefocusing = true;\n (0, $1969ac565cfec8d0$export$de79e2c695e052f3)(activeElement);\n cleanup();\n }\n }\n };\n ownerWindow.addEventListener('blur', onBlur, true);\n ownerWindow.addEventListener('focusout', onFocusOut, true);\n ownerWindow.addEventListener('focusin', onFocusIn, true);\n ownerWindow.addEventListener('focus', onFocus, true);\n let cleanup = ()=>{\n cancelAnimationFrame(raf);\n ownerWindow.removeEventListener('blur', onBlur, true);\n ownerWindow.removeEventListener('focusout', onFocusOut, true);\n ownerWindow.removeEventListener('focusin', onFocusIn, true);\n ownerWindow.removeEventListener('focus', onFocus, true);\n $a92dc41f639950be$export$fda7da73ab5d4c48 = false;\n isRefocusing = false;\n };\n let raf = requestAnimationFrame(cleanup);\n return cleanup;\n}\n\n\nexport {$a92dc41f639950be$export$525bc4921d56d4a as createSyntheticEvent, $a92dc41f639950be$export$c2b7abe5d61ec696 as setEventTarget, $a92dc41f639950be$export$715c682d09d639cc as useSyntheticBlurEvent, $a92dc41f639950be$export$fda7da73ab5d4c48 as ignoreFocusEvent, $a92dc41f639950be$export$cabe61c495ee3649 as preventFocus};\n//# sourceMappingURL=utils.mjs.map\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ function $2add3ce32c6007eb$var$testUserAgent(re) {\n if (typeof window === 'undefined' || window.navigator == null) return false;\n let brands = window.navigator['userAgentData']?.brands;\n return Array.isArray(brands) && brands.some((brand)=>re.test(brand.brand)) || re.test(window.navigator.userAgent);\n}\nfunction $2add3ce32c6007eb$var$testPlatform(re) {\n return typeof window !== 'undefined' && window.navigator != null ? re.test(window.navigator['userAgentData']?.platform || window.navigator.platform) : false;\n}\nfunction $2add3ce32c6007eb$var$cached(fn) {\n if (process.env.NODE_ENV === 'test') return fn;\n let res = null;\n return ()=>{\n if (res == null) res = fn();\n return res;\n };\n}\nconst $2add3ce32c6007eb$export$9ac100e40613ea10 = $2add3ce32c6007eb$var$cached(function() {\n return $2add3ce32c6007eb$var$testPlatform(/^Mac/i);\n});\nconst $2add3ce32c6007eb$export$186c6964ca17d99 = $2add3ce32c6007eb$var$cached(function() {\n return $2add3ce32c6007eb$var$testPlatform(/^iPhone/i);\n});\nconst $2add3ce32c6007eb$export$7bef049ce92e4224 = $2add3ce32c6007eb$var$cached(function() {\n return $2add3ce32c6007eb$var$testPlatform(/^iPad/i) || // iPadOS 13 lies and says it's a Mac, but we can distinguish by detecting touch support.\n $2add3ce32c6007eb$export$9ac100e40613ea10() && navigator.maxTouchPoints > 1;\n});\nconst $2add3ce32c6007eb$export$fedb369cb70207f1 = $2add3ce32c6007eb$var$cached(function() {\n return $2add3ce32c6007eb$export$186c6964ca17d99() || $2add3ce32c6007eb$export$7bef049ce92e4224();\n});\nconst $2add3ce32c6007eb$export$e1865c3bedcd822b = $2add3ce32c6007eb$var$cached(function() {\n return $2add3ce32c6007eb$export$9ac100e40613ea10() || $2add3ce32c6007eb$export$fedb369cb70207f1();\n});\nconst $2add3ce32c6007eb$export$78551043582a6a98 = $2add3ce32c6007eb$var$cached(function() {\n return $2add3ce32c6007eb$var$testUserAgent(/AppleWebKit/i) && ($2add3ce32c6007eb$export$fedb369cb70207f1() || !$2add3ce32c6007eb$export$6446a186d09e379e());\n});\nconst $2add3ce32c6007eb$export$95df08bae54cb4df = $2add3ce32c6007eb$var$cached(function() {\n return $2add3ce32c6007eb$export$78551043582a6a98() && !$2add3ce32c6007eb$export$6446a186d09e379e() && !$2add3ce32c6007eb$export$b7d78993b74f766d();\n});\nconst $2add3ce32c6007eb$export$6446a186d09e379e = $2add3ce32c6007eb$var$cached(function() {\n return $2add3ce32c6007eb$var$testUserAgent(/Chrome|CriOS|CrMo/i);\n});\nconst $2add3ce32c6007eb$export$a11b0059900ceec8 = $2add3ce32c6007eb$var$cached(function() {\n return $2add3ce32c6007eb$var$testUserAgent(/Android/i);\n});\nconst $2add3ce32c6007eb$export$b7d78993b74f766d = $2add3ce32c6007eb$var$cached(function() {\n return $2add3ce32c6007eb$var$testUserAgent(/(Firefox|FxiOS)/i);\n});\n\n\nexport {$2add3ce32c6007eb$export$9ac100e40613ea10 as isMac, $2add3ce32c6007eb$export$186c6964ca17d99 as isIPhone, $2add3ce32c6007eb$export$7bef049ce92e4224 as isIPad, $2add3ce32c6007eb$export$fedb369cb70207f1 as isIOS, $2add3ce32c6007eb$export$e1865c3bedcd822b as isAppleDevice, $2add3ce32c6007eb$export$78551043582a6a98 as isWebKit, $2add3ce32c6007eb$export$6446a186d09e379e as isChrome, $2add3ce32c6007eb$export$95df08bae54cb4df as isSafari, $2add3ce32c6007eb$export$b7d78993b74f766d as isFirefox, $2add3ce32c6007eb$export$a11b0059900ceec8 as isAndroid};\n//# sourceMappingURL=platform.mjs.map\n","import {isAndroid as $2add3ce32c6007eb$export$a11b0059900ceec8} from \"./platform.mjs\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $b5c62b033c25b96d$export$60278871457622de(event) {\n // JAWS/NVDA with Firefox.\n if (event.pointerType === '' && event.isTrusted) return true;\n // Android TalkBack's detail value varies depending on the event listener providing the event so we have specific logic here instead\n // If pointerType is defined, event is from a click listener. For events from mousedown listener, detail === 0 is a sufficient check\n // to detect TalkBack virtual clicks.\n if ((0, $2add3ce32c6007eb$export$a11b0059900ceec8)() && event.pointerType) return event.type === 'click' && event.buttons === 1;\n return event.detail === 0 && !event.pointerType;\n}\nfunction $b5c62b033c25b96d$export$29bf1b5f2c56cf63(event) {\n // If the pointer size is zero, then we assume it's from a screen reader.\n // Android TalkBack double tap will sometimes return a event with width and height of 1\n // and pointerType === 'mouse' so we need to check for a specific combination of event attributes.\n // Cannot use \"event.pressure === 0\" as the sole check due to Safari pointer events always returning pressure === 0\n // instead of .5, see https://bugs.webkit.org/show_bug.cgi?id=206216. event.pointerType === 'mouse' is to distingush\n // Talkback double tap from Windows Firefox touch screen press\n return !(0, $2add3ce32c6007eb$export$a11b0059900ceec8)() && event.width === 0 && event.height === 0 || (0, $2add3ce32c6007eb$export$a11b0059900ceec8)() && event.width === 1 && event.height === 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === 'mouse';\n}\n\n\nexport {$b5c62b033c25b96d$export$60278871457622de as isVirtualClick, $b5c62b033c25b96d$export$29bf1b5f2c56cf63 as isVirtualPointerEvent};\n//# sourceMappingURL=isVirtualEvent.mjs.map\n","import {focusWithoutScrolling as $1969ac565cfec8d0$export$de79e2c695e052f3} from \"./focusWithoutScrolling.mjs\";\nimport {isFirefox as $2add3ce32c6007eb$export$b7d78993b74f766d, isIPad as $2add3ce32c6007eb$export$7bef049ce92e4224, isMac as $2add3ce32c6007eb$export$9ac100e40613ea10, isWebKit as $2add3ce32c6007eb$export$78551043582a6a98} from \"./platform.mjs\";\nimport $epzQQ$react, {createContext as $epzQQ$createContext, useMemo as $epzQQ$useMemo, useContext as $epzQQ$useContext} from \"react\";\n\n/*\n * Copyright 2023 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nconst $caaf0dd3060ed57c$var$RouterContext = /*#__PURE__*/ (0, $epzQQ$createContext)({\n isNative: true,\n open: $caaf0dd3060ed57c$var$openSyntheticLink,\n useHref: (href)=>href\n});\nfunction $caaf0dd3060ed57c$export$323e4fc2fa4753fb(props) {\n let { children: children, navigate: navigate, useHref: useHref } = props;\n let ctx = (0, $epzQQ$useMemo)(()=>({\n isNative: false,\n open: (target, modifiers, href, routerOptions)=>{\n $caaf0dd3060ed57c$var$getSyntheticLink(target, (link)=>{\n if ($caaf0dd3060ed57c$export$efa8c9099e530235(link, modifiers)) navigate(href, routerOptions);\n else $caaf0dd3060ed57c$export$95185d699e05d4d7(link, modifiers);\n });\n },\n useHref: useHref || ((href)=>href)\n }), [\n navigate,\n useHref\n ]);\n return /*#__PURE__*/ (0, $epzQQ$react).createElement($caaf0dd3060ed57c$var$RouterContext.Provider, {\n value: ctx\n }, children);\n}\nfunction $caaf0dd3060ed57c$export$9a302a45f65d0572() {\n return (0, $epzQQ$useContext)($caaf0dd3060ed57c$var$RouterContext);\n}\nfunction $caaf0dd3060ed57c$export$efa8c9099e530235(link, modifiers) {\n // Use getAttribute here instead of link.target. Firefox will default link.target to \"_parent\" when inside an iframe.\n let target = link.getAttribute('target');\n return (!target || target === '_self') && link.origin === location.origin && !link.hasAttribute('download') && !modifiers.metaKey && // open in new tab (mac)\n !modifiers.ctrlKey && // open in new tab (windows)\n !modifiers.altKey && // download\n !modifiers.shiftKey;\n}\nfunction $caaf0dd3060ed57c$export$95185d699e05d4d7(target, modifiers, setOpening = true) {\n let { metaKey: metaKey, ctrlKey: ctrlKey, altKey: altKey, shiftKey: shiftKey } = modifiers;\n // Firefox does not recognize keyboard events as a user action by default, and the popup blocker\n // will prevent links with target=\"_blank\" from opening. However, it does allow the event if the\n // Command/Control key is held, which opens the link in a background tab. This seems like the best we can do.\n // See https://bugzilla.mozilla.org/show_bug.cgi?id=257870 and https://bugzilla.mozilla.org/show_bug.cgi?id=746640.\n if (!(0, $2add3ce32c6007eb$export$78551043582a6a98)() && (0, $2add3ce32c6007eb$export$b7d78993b74f766d)() && window.event?.type?.startsWith('key') && target.target === '_blank') {\n if ((0, $2add3ce32c6007eb$export$9ac100e40613ea10)()) metaKey = true;\n else ctrlKey = true;\n }\n // WebKit does not support firing click events with modifier keys, but does support keyboard events.\n // https://github.com/WebKit/WebKit/blob/c03d0ac6e6db178f90923a0a63080b5ca210d25f/Source/WebCore/html/HTMLAnchorElement.cpp#L184\n let event = (0, $2add3ce32c6007eb$export$78551043582a6a98)() && (0, $2add3ce32c6007eb$export$9ac100e40613ea10)() && !(0, $2add3ce32c6007eb$export$7bef049ce92e4224)() && process.env.NODE_ENV !== 'test' ? new KeyboardEvent('keydown', {\n keyIdentifier: 'Enter',\n metaKey: metaKey,\n ctrlKey: ctrlKey,\n altKey: altKey,\n shiftKey: shiftKey\n }) : new MouseEvent('click', {\n metaKey: metaKey,\n ctrlKey: ctrlKey,\n altKey: altKey,\n shiftKey: shiftKey,\n detail: 1,\n bubbles: true,\n cancelable: true\n });\n $caaf0dd3060ed57c$export$95185d699e05d4d7.isOpening = setOpening;\n (0, $1969ac565cfec8d0$export$de79e2c695e052f3)(target);\n target.dispatchEvent(event);\n $caaf0dd3060ed57c$export$95185d699e05d4d7.isOpening = false;\n}\n// https://github.com/parcel-bundler/parcel/issues/8724\n$caaf0dd3060ed57c$export$95185d699e05d4d7.isOpening = false;\nfunction $caaf0dd3060ed57c$var$getSyntheticLink(target, open) {\n if (target instanceof HTMLAnchorElement) open(target);\n else if (target.hasAttribute('data-href')) {\n let link = document.createElement('a');\n link.href = target.getAttribute('data-href');\n if (target.hasAttribute('data-target')) link.target = target.getAttribute('data-target');\n if (target.hasAttribute('data-rel')) link.rel = target.getAttribute('data-rel');\n if (target.hasAttribute('data-download')) link.download = target.getAttribute('data-download');\n if (target.hasAttribute('data-ping')) link.ping = target.getAttribute('data-ping');\n if (target.hasAttribute('data-referrer-policy')) link.referrerPolicy = target.getAttribute('data-referrer-policy');\n target.appendChild(link);\n open(link);\n target.removeChild(link);\n }\n}\nfunction $caaf0dd3060ed57c$var$openSyntheticLink(target, modifiers) {\n $caaf0dd3060ed57c$var$getSyntheticLink(target, (link)=>$caaf0dd3060ed57c$export$95185d699e05d4d7(link, modifiers));\n}\nfunction $caaf0dd3060ed57c$export$bdc77b0c0a3a85d6(props) {\n let router = $caaf0dd3060ed57c$export$9a302a45f65d0572();\n // oxlint-disable-next-line react/react-compiler\n const href = router.useHref(props.href ?? '');\n return {\n 'data-href': props.href ? href : undefined,\n 'data-target': props.target,\n 'data-rel': props.rel,\n 'data-download': props.download,\n 'data-ping': props.ping,\n 'data-referrer-policy': props.referrerPolicy\n };\n}\nfunction $caaf0dd3060ed57c$export$51437d503373d223(props) {\n return {\n 'data-href': props.href,\n 'data-target': props.target,\n 'data-rel': props.rel,\n 'data-download': props.download,\n 'data-ping': props.ping,\n 'data-referrer-policy': props.referrerPolicy\n };\n}\nfunction $caaf0dd3060ed57c$export$7e924b3091a3bd18(props) {\n let router = $caaf0dd3060ed57c$export$9a302a45f65d0572();\n // oxlint-disable-next-line react/react-compiler\n const href = router.useHref(props?.href ?? '');\n let linkProps = {};\n if (props) {\n for (let key of [\n 'href',\n 'target',\n 'rel',\n 'download',\n 'ping',\n 'referrerPolicy'\n ])if (key in props && props[key] !== undefined) linkProps[key] = key === 'href' ? href : props[key];\n }\n return linkProps;\n}\nfunction $caaf0dd3060ed57c$export$13aea1a3cb5e3f1f(e, router, href, routerOptions) {\n // If a custom router is provided, prevent default and forward if this link should client navigate.\n if (!router.isNative && e.currentTarget instanceof HTMLAnchorElement && e.currentTarget.href && // If props are applied to a router Link component, it may have already prevented default.\n !e.isDefaultPrevented() && $caaf0dd3060ed57c$export$efa8c9099e530235(e.currentTarget, e) && href) {\n e.preventDefault();\n router.open(e.currentTarget, e, href, routerOptions);\n }\n}\n\n\nexport {$caaf0dd3060ed57c$export$323e4fc2fa4753fb as RouterProvider, $caaf0dd3060ed57c$export$efa8c9099e530235 as shouldClientNavigate, $caaf0dd3060ed57c$export$95185d699e05d4d7 as openLink, $caaf0dd3060ed57c$export$9a302a45f65d0572 as useRouter, $caaf0dd3060ed57c$export$bdc77b0c0a3a85d6 as useSyntheticLinkProps, $caaf0dd3060ed57c$export$51437d503373d223 as getSyntheticLinkProps, $caaf0dd3060ed57c$export$7e924b3091a3bd18 as useLinkProps, $caaf0dd3060ed57c$export$13aea1a3cb5e3f1f as handleLinkClick};\n//# sourceMappingURL=openLink.mjs.map\n","import {getActiveElement as $23f2114a1b82827e$export$cd4e5573fbe2b576, getEventTarget as $23f2114a1b82827e$export$e58f029f0fbfdb29} from \"../utils/shadowdom/DOMFunctions.mjs\";\nimport {getOwnerDocument as $d447af545b77c9f1$export$b204af158042fbac, getOwnerWindow as $d447af545b77c9f1$export$f21a1ffae260145a} from \"../utils/domHelpers.mjs\";\nimport {ignoreFocusEvent as $a92dc41f639950be$export$fda7da73ab5d4c48} from \"./utils.mjs\";\nimport {isMac as $2add3ce32c6007eb$export$9ac100e40613ea10} from \"../utils/platform.mjs\";\nimport {isVirtualClick as $b5c62b033c25b96d$export$60278871457622de} from \"../utils/isVirtualEvent.mjs\";\nimport {openLink as $caaf0dd3060ed57c$export$95185d699e05d4d7} from \"../utils/openLink.mjs\";\nimport {useIsSSR as $c7eafbbe1ea5834e$export$535bd6ca7f90a273} from \"../ssr/SSRProvider.mjs\";\nimport {useState as $7U4qw$useState, useEffect as $7U4qw$useEffect} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\n\n\n\n\n\n\n\nlet $8f5a2122b0992be3$var$currentModality = null;\nlet $8f5a2122b0992be3$var$currentPointerType = 'keyboard';\nconst $8f5a2122b0992be3$export$901e90a13c50a14e = new Set();\nlet $8f5a2122b0992be3$export$d90243b58daecda7 = new Map(); // We use a map here to support setting event listeners across multiple document objects.\nlet $8f5a2122b0992be3$var$hasEventBeforeFocus = false;\nlet $8f5a2122b0992be3$var$hasBlurredWindowRecently = false;\n// Only Tab or Esc keys will make focus visible on text input elements\nconst $8f5a2122b0992be3$var$FOCUS_VISIBLE_INPUT_KEYS = {\n Tab: true,\n Escape: true\n};\nfunction $8f5a2122b0992be3$var$triggerChangeHandlers(modality, e) {\n for (let handler of $8f5a2122b0992be3$export$901e90a13c50a14e)handler(modality, e);\n}\n/**\n * Helper function to determine if a KeyboardEvent is unmodified and could make keyboard focus\n * styles visible.\n */ function $8f5a2122b0992be3$var$isValidKey(e) {\n // Control and Shift keys trigger when navigating back to the tab with keyboard.\n return !(e.metaKey || !(0, $2add3ce32c6007eb$export$9ac100e40613ea10)() && e.altKey || e.ctrlKey || e.key === 'Control' || e.key === 'Shift' || e.key === 'Meta');\n}\nfunction $8f5a2122b0992be3$var$handleKeyboardEvent(e) {\n $8f5a2122b0992be3$var$hasEventBeforeFocus = true;\n if (!(0, $caaf0dd3060ed57c$export$95185d699e05d4d7).isOpening && $8f5a2122b0992be3$var$isValidKey(e)) {\n $8f5a2122b0992be3$var$currentModality = 'keyboard';\n $8f5a2122b0992be3$var$currentPointerType = 'keyboard';\n $8f5a2122b0992be3$var$triggerChangeHandlers('keyboard', e);\n }\n}\nfunction $8f5a2122b0992be3$var$handlePointerEvent(e) {\n $8f5a2122b0992be3$var$currentModality = 'pointer';\n $8f5a2122b0992be3$var$currentPointerType = 'pointerType' in e ? e.pointerType : 'mouse';\n if (e.type === 'mousedown' || e.type === 'pointerdown') {\n $8f5a2122b0992be3$var$hasEventBeforeFocus = true;\n $8f5a2122b0992be3$var$triggerChangeHandlers('pointer', e);\n }\n}\nfunction $8f5a2122b0992be3$var$handleClickEvent(e) {\n if (!(0, $caaf0dd3060ed57c$export$95185d699e05d4d7).isOpening && (0, $b5c62b033c25b96d$export$60278871457622de)(e)) {\n $8f5a2122b0992be3$var$hasEventBeforeFocus = true;\n $8f5a2122b0992be3$var$currentModality = 'virtual';\n $8f5a2122b0992be3$var$currentPointerType = 'virtual';\n }\n}\nfunction $8f5a2122b0992be3$var$handleFocusEvent(e) {\n // Firefox fires two extra focus events when the user first clicks into an iframe:\n // first on the window, then on the document. We ignore these events so they don't\n // cause keyboard focus rings to appear.\n let ownerWindow = (0, $d447af545b77c9f1$export$f21a1ffae260145a)((0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e));\n let ownerDocument = (0, $d447af545b77c9f1$export$b204af158042fbac)((0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e));\n if ((0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e) === ownerWindow || (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e) === ownerDocument || (0, $a92dc41f639950be$export$fda7da73ab5d4c48) || !e.isTrusted) return;\n // If a focus event occurs without a preceding keyboard or pointer event, switch to virtual modality.\n // This occurs, for example, when navigating a form with the next/previous buttons on iOS.\n if (!$8f5a2122b0992be3$var$hasEventBeforeFocus && !$8f5a2122b0992be3$var$hasBlurredWindowRecently) {\n $8f5a2122b0992be3$var$currentModality = 'virtual';\n $8f5a2122b0992be3$var$currentPointerType = 'virtual';\n $8f5a2122b0992be3$var$triggerChangeHandlers('virtual', e);\n }\n $8f5a2122b0992be3$var$hasEventBeforeFocus = false;\n $8f5a2122b0992be3$var$hasBlurredWindowRecently = false;\n}\nfunction $8f5a2122b0992be3$var$handleWindowBlur() {\n if (0, $a92dc41f639950be$export$fda7da73ab5d4c48) return;\n // When the window is blurred, reset state. This is necessary when tabbing out of the window,\n // for example, since a subsequent focus event won't be fired.\n $8f5a2122b0992be3$var$hasEventBeforeFocus = false;\n $8f5a2122b0992be3$var$hasBlurredWindowRecently = true;\n}\n/**\n * Setup global event listeners to control when keyboard focus style should be visible.\n */ function $8f5a2122b0992be3$var$setupGlobalFocusEvents(element) {\n // eslint-disable-next-line no-restricted-globals\n if (typeof window === 'undefined' || typeof document === 'undefined') return;\n const windowObject = (0, $d447af545b77c9f1$export$f21a1ffae260145a)(element);\n const documentObject = (0, $d447af545b77c9f1$export$b204af158042fbac)(element);\n if ($8f5a2122b0992be3$export$d90243b58daecda7.get(windowObject)) return;\n // Programmatic focus() calls shouldn't affect the current input modality.\n // However, we need to detect other cases when a focus event occurs without\n // a preceding user event (e.g. screen reader focus). Overriding the focus\n // method on HTMLElement.prototype is a bit hacky, but works.\n // defineProperty (not assignment) so this works even if `focus` is currently\n // a getter-only accessor — e.g. when @testing-library/user-event's setup()\n // has instrumented it. Plain assignment throws in that case.\n let focus = windowObject.HTMLElement.prototype.focus;\n Reflect.defineProperty(windowObject.HTMLElement.prototype, 'focus', {\n configurable: true,\n writable: true,\n value: function() {\n $8f5a2122b0992be3$var$hasEventBeforeFocus = true;\n focus.apply(this, arguments);\n }\n });\n documentObject.addEventListener('keydown', $8f5a2122b0992be3$var$handleKeyboardEvent, true);\n documentObject.addEventListener('keyup', $8f5a2122b0992be3$var$handleKeyboardEvent, true);\n documentObject.addEventListener('click', $8f5a2122b0992be3$var$handleClickEvent, true);\n // Register focus events on the window so they are sure to happen\n // before React's event listeners (registered on the document).\n windowObject.addEventListener('focus', $8f5a2122b0992be3$var$handleFocusEvent, true);\n windowObject.addEventListener('blur', $8f5a2122b0992be3$var$handleWindowBlur, false);\n if (typeof PointerEvent !== 'undefined') {\n documentObject.addEventListener('pointerdown', $8f5a2122b0992be3$var$handlePointerEvent, true);\n documentObject.addEventListener('pointermove', $8f5a2122b0992be3$var$handlePointerEvent, true);\n documentObject.addEventListener('pointerup', $8f5a2122b0992be3$var$handlePointerEvent, true);\n } else if (process.env.NODE_ENV === 'test') {\n documentObject.addEventListener('mousedown', $8f5a2122b0992be3$var$handlePointerEvent, true);\n documentObject.addEventListener('mousemove', $8f5a2122b0992be3$var$handlePointerEvent, true);\n documentObject.addEventListener('mouseup', $8f5a2122b0992be3$var$handlePointerEvent, true);\n }\n // Add unmount handler\n windowObject.addEventListener('beforeunload', ()=>{\n $8f5a2122b0992be3$var$tearDownWindowFocusTracking(element);\n }, {\n once: true\n });\n $8f5a2122b0992be3$export$d90243b58daecda7.set(windowObject, {\n focus: focus\n });\n}\nconst $8f5a2122b0992be3$var$tearDownWindowFocusTracking = (element, loadListener)=>{\n const windowObject = (0, $d447af545b77c9f1$export$f21a1ffae260145a)(element);\n const documentObject = (0, $d447af545b77c9f1$export$b204af158042fbac)(element);\n if (loadListener) documentObject.removeEventListener('DOMContentLoaded', loadListener);\n if (!$8f5a2122b0992be3$export$d90243b58daecda7.has(windowObject)) return;\n Reflect.defineProperty(windowObject.HTMLElement.prototype, 'focus', {\n configurable: true,\n writable: true,\n value: $8f5a2122b0992be3$export$d90243b58daecda7.get(windowObject).focus\n });\n documentObject.removeEventListener('keydown', $8f5a2122b0992be3$var$handleKeyboardEvent, true);\n documentObject.removeEventListener('keyup', $8f5a2122b0992be3$var$handleKeyboardEvent, true);\n documentObject.removeEventListener('click', $8f5a2122b0992be3$var$handleClickEvent, true);\n windowObject.removeEventListener('focus', $8f5a2122b0992be3$var$handleFocusEvent, true);\n windowObject.removeEventListener('blur', $8f5a2122b0992be3$var$handleWindowBlur, false);\n if (typeof PointerEvent !== 'undefined') {\n documentObject.removeEventListener('pointerdown', $8f5a2122b0992be3$var$handlePointerEvent, true);\n documentObject.removeEventListener('pointermove', $8f5a2122b0992be3$var$handlePointerEvent, true);\n documentObject.removeEventListener('pointerup', $8f5a2122b0992be3$var$handlePointerEvent, true);\n } else if (process.env.NODE_ENV === 'test') {\n documentObject.removeEventListener('mousedown', $8f5a2122b0992be3$var$handlePointerEvent, true);\n documentObject.removeEventListener('mousemove', $8f5a2122b0992be3$var$handlePointerEvent, true);\n documentObject.removeEventListener('mouseup', $8f5a2122b0992be3$var$handlePointerEvent, true);\n }\n $8f5a2122b0992be3$export$d90243b58daecda7.delete(windowObject);\n};\nfunction $8f5a2122b0992be3$export$2f1888112f558a7d(element) {\n const documentObject = (0, $d447af545b77c9f1$export$b204af158042fbac)(element);\n let loadListener;\n if (documentObject.readyState !== 'loading') $8f5a2122b0992be3$var$setupGlobalFocusEvents(element);\n else {\n loadListener = ()=>{\n $8f5a2122b0992be3$var$setupGlobalFocusEvents(element);\n };\n documentObject.addEventListener('DOMContentLoaded', loadListener);\n }\n return ()=>$8f5a2122b0992be3$var$tearDownWindowFocusTracking(element, loadListener);\n}\n// Server-side rendering does not have the document object defined\n// eslint-disable-next-line no-restricted-globals\nif (typeof document !== 'undefined') $8f5a2122b0992be3$export$2f1888112f558a7d();\nfunction $8f5a2122b0992be3$export$b9b3dfddab17db27() {\n return $8f5a2122b0992be3$var$currentModality !== 'pointer';\n}\nfunction $8f5a2122b0992be3$export$630ff653c5ada6a9() {\n return $8f5a2122b0992be3$var$currentModality;\n}\nfunction $8f5a2122b0992be3$export$8397ddfc504fdb9a(modality) {\n $8f5a2122b0992be3$var$currentModality = modality;\n $8f5a2122b0992be3$var$currentPointerType = modality === 'pointer' ? 'mouse' : modality;\n $8f5a2122b0992be3$var$triggerChangeHandlers(modality, null);\n}\nfunction $8f5a2122b0992be3$export$887a228355cf7d95() {\n return $8f5a2122b0992be3$var$currentPointerType;\n}\nfunction $8f5a2122b0992be3$export$98e20ec92f614cfe() {\n $8f5a2122b0992be3$var$setupGlobalFocusEvents();\n let [modality, setModality] = (0, $7U4qw$useState)($8f5a2122b0992be3$var$currentModality);\n (0, $7U4qw$useEffect)(()=>{\n let handler = ()=>{\n setModality($8f5a2122b0992be3$var$currentModality);\n };\n $8f5a2122b0992be3$export$901e90a13c50a14e.add(handler);\n return ()=>{\n $8f5a2122b0992be3$export$901e90a13c50a14e.delete(handler);\n };\n }, []);\n return (0, $c7eafbbe1ea5834e$export$535bd6ca7f90a273)() ? null : modality;\n}\nconst $8f5a2122b0992be3$var$nonTextInputTypes = new Set([\n 'checkbox',\n 'radio',\n 'range',\n 'color',\n 'file',\n 'image',\n 'button',\n 'submit',\n 'reset'\n]);\n/**\n * If this is attached to text input component, return if the event is a focus event (Tab/Escape\n * keys pressed) so that focus visible style can be properly set.\n */ function $8f5a2122b0992be3$var$isKeyboardFocusEvent(isTextInput, modality, e) {\n let eventTarget = e ? (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e) : undefined;\n let ownerDocument = (0, $d447af545b77c9f1$export$b204af158042fbac)(eventTarget);\n let ownerWindow = (0, $d447af545b77c9f1$export$f21a1ffae260145a)(eventTarget);\n const IHTMLInputElement = typeof ownerWindow !== 'undefined' ? ownerWindow.HTMLInputElement : HTMLInputElement;\n const IHTMLTextAreaElement = typeof ownerWindow !== 'undefined' ? ownerWindow.HTMLTextAreaElement : HTMLTextAreaElement;\n const IHTMLElement = typeof ownerWindow !== 'undefined' ? ownerWindow.HTMLElement : HTMLElement;\n const IKeyboardEvent = typeof ownerWindow !== 'undefined' ? ownerWindow.KeyboardEvent : KeyboardEvent;\n // For keyboard events that occur on a non-input element that will move focus into input element (aka ArrowLeft going from Datepicker button to the main input group)\n // we need to rely on the user passing isTextInput into here. This way we can skip toggling focus visiblity for said input element\n let activeElement = (0, $23f2114a1b82827e$export$cd4e5573fbe2b576)(ownerDocument);\n isTextInput = isTextInput || activeElement instanceof IHTMLInputElement && !$8f5a2122b0992be3$var$nonTextInputTypes.has(activeElement.type) || activeElement instanceof IHTMLTextAreaElement || activeElement instanceof IHTMLElement && activeElement.isContentEditable;\n return !(isTextInput && modality === 'keyboard' && e instanceof IKeyboardEvent && !$8f5a2122b0992be3$var$FOCUS_VISIBLE_INPUT_KEYS[e.key]);\n}\nfunction $8f5a2122b0992be3$export$ffd9e5021c1fb2d6(props = {}) {\n let { isTextInput: isTextInput, autoFocus: autoFocus } = props;\n let [isFocusVisibleState, setFocusVisible] = (0, $7U4qw$useState)(autoFocus || $8f5a2122b0992be3$export$b9b3dfddab17db27());\n $8f5a2122b0992be3$export$ec71b4b83ac08ec3((isFocusVisible)=>{\n setFocusVisible(isFocusVisible);\n }, [\n isTextInput\n ], {\n isTextInput: isTextInput\n });\n return {\n isFocusVisible: isFocusVisibleState\n };\n}\nfunction $8f5a2122b0992be3$export$ec71b4b83ac08ec3(fn, deps, opts) {\n $8f5a2122b0992be3$var$setupGlobalFocusEvents();\n (0, $7U4qw$useEffect)(()=>{\n if (opts?.enabled === false) return;\n let handler = (modality, e)=>{\n // We want to early return for any keyboard events that occur inside text inputs EXCEPT for Tab and Escape\n if (!$8f5a2122b0992be3$var$isKeyboardFocusEvent(!!opts?.isTextInput, modality, e)) return;\n fn($8f5a2122b0992be3$export$b9b3dfddab17db27());\n };\n $8f5a2122b0992be3$export$901e90a13c50a14e.add(handler);\n return ()=>{\n $8f5a2122b0992be3$export$901e90a13c50a14e.delete(handler);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, deps);\n}\n\n\nexport {$8f5a2122b0992be3$export$901e90a13c50a14e as changeHandlers, $8f5a2122b0992be3$export$d90243b58daecda7 as hasSetupGlobalListeners, $8f5a2122b0992be3$export$2f1888112f558a7d as addWindowFocusTracking, $8f5a2122b0992be3$export$b9b3dfddab17db27 as isFocusVisible, $8f5a2122b0992be3$export$630ff653c5ada6a9 as getInteractionModality, $8f5a2122b0992be3$export$8397ddfc504fdb9a as setInteractionModality, $8f5a2122b0992be3$export$887a228355cf7d95 as getPointerType, $8f5a2122b0992be3$export$98e20ec92f614cfe as useInteractionModality, $8f5a2122b0992be3$export$ffd9e5021c1fb2d6 as useFocusVisible, $8f5a2122b0992be3$export$ec71b4b83ac08ec3 as useFocusVisibleListener};\n//# sourceMappingURL=useFocusVisible.mjs.map\n","import {getEventTarget as $23f2114a1b82827e$export$e58f029f0fbfdb29} from \"./shadowdom/DOMFunctions.mjs\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // We store a global list of elements that are currently transitioning,\n// mapped to a set of CSS properties that are transitioning for that element.\n// This is necessary rather than a simple count of transitions because of browser\n// bugs, e.g. Chrome sometimes fires both transitionend and transitioncancel rather\n// than one or the other. So we need to track what's actually transitioning so that\n// we can ignore these duplicate events.\n\nlet $081cb5757e08788e$var$transitionsByElement = new Map();\n// A list of callbacks to call once there are no transitioning elements.\nlet $081cb5757e08788e$var$transitionCallbacks = new Set();\nfunction $081cb5757e08788e$var$setupGlobalEvents() {\n if (typeof window === 'undefined') return;\n function isTransitionEvent(event) {\n return 'propertyName' in event;\n }\n let onTransitionStart = (e)=>{\n let eventTarget = (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e);\n if (!isTransitionEvent(e) || !eventTarget) return;\n // Add the transitioning property to the list for this element.\n let transitions = $081cb5757e08788e$var$transitionsByElement.get(eventTarget);\n if (!transitions) {\n transitions = new Set();\n $081cb5757e08788e$var$transitionsByElement.set(eventTarget, transitions);\n // The transitioncancel event must be registered on the element itself, rather than as a global\n // event. This enables us to handle when the node is deleted from the document while it is transitioning.\n // In that case, the cancel event would have nowhere to bubble to so we need to handle it directly.\n eventTarget.addEventListener('transitioncancel', onTransitionEnd, {\n once: true\n });\n }\n transitions.add(e.propertyName);\n };\n let onTransitionEnd = (e)=>{\n let eventTarget = (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e);\n if (!isTransitionEvent(e) || !eventTarget) return;\n // Remove property from list of transitioning properties.\n let properties = $081cb5757e08788e$var$transitionsByElement.get(eventTarget);\n if (!properties) return;\n properties.delete(e.propertyName);\n // If empty, remove transitioncancel event, and remove the element from the list of transitioning elements.\n if (properties.size === 0) {\n eventTarget.removeEventListener('transitioncancel', onTransitionEnd);\n $081cb5757e08788e$var$transitionsByElement.delete(eventTarget);\n }\n // If no transitioning elements, call all of the queued callbacks.\n if ($081cb5757e08788e$var$transitionsByElement.size === 0) {\n for (let cb of $081cb5757e08788e$var$transitionCallbacks)cb();\n $081cb5757e08788e$var$transitionCallbacks.clear();\n }\n };\n document.body.addEventListener('transitionrun', onTransitionStart);\n document.body.addEventListener('transitionend', onTransitionEnd);\n}\nif (typeof document !== 'undefined') {\n if (document.readyState !== 'loading') $081cb5757e08788e$var$setupGlobalEvents();\n else document.addEventListener('DOMContentLoaded', $081cb5757e08788e$var$setupGlobalEvents);\n}\n/**\n * Cleans up any elements that are no longer in the document.\n * This is necessary because we can't rely on transitionend events to fire\n * for elements that are removed from the document while transitioning.\n */ function $081cb5757e08788e$var$cleanupDetachedElements() {\n for (const [eventTarget] of $081cb5757e08788e$var$transitionsByElement)// Similar to `eventTarget instanceof Element && !eventTarget.isConnected`, but avoids\n // the explicit instanceof check, since it may be different in different contexts.\n if ('isConnected' in eventTarget && !eventTarget.isConnected) $081cb5757e08788e$var$transitionsByElement.delete(eventTarget);\n}\nfunction $081cb5757e08788e$export$24490316f764c430(fn) {\n // Wait one frame to see if an animation starts, e.g. a transition on mount.\n requestAnimationFrame(()=>{\n $081cb5757e08788e$var$cleanupDetachedElements();\n // If no transitions are running, call the function immediately.\n // Otherwise, add it to a list of callbacks to run at the end of the animation.\n if ($081cb5757e08788e$var$transitionsByElement.size === 0) fn();\n else $081cb5757e08788e$var$transitionCallbacks.add(fn);\n });\n}\n\n\nexport {$081cb5757e08788e$export$24490316f764c430 as runAfterTransition};\n//# sourceMappingURL=runAfterTransition.mjs.map\n","import {focusWithoutScrolling as $1969ac565cfec8d0$export$de79e2c695e052f3} from \"../utils/focusWithoutScrolling.mjs\";\nimport {getActiveElement as $23f2114a1b82827e$export$cd4e5573fbe2b576} from \"../utils/shadowdom/DOMFunctions.mjs\";\nimport {getInteractionModality as $8f5a2122b0992be3$export$630ff653c5ada6a9} from \"./useFocusVisible.mjs\";\nimport {getOwnerDocument as $d447af545b77c9f1$export$b204af158042fbac} from \"../utils/domHelpers.mjs\";\nimport {runAfterTransition as $081cb5757e08788e$export$24490316f764c430} from \"../utils/runAfterTransition.mjs\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the 'License');\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\nfunction $f192c2f16961cbe0$export$80f3e147d781571c(element) {\n if (!element.isConnected) return;\n // If the user is interacting with a virtual cursor, e.g. screen reader, then\n // wait until after any animated transitions that are currently occurring on\n // the page before shifting focus. This avoids issues with VoiceOver on iOS\n // causing the page to scroll when moving focus if the element is transitioning\n // from off the screen.\n const ownerDocument = (0, $d447af545b77c9f1$export$b204af158042fbac)(element);\n if ((0, $8f5a2122b0992be3$export$630ff653c5ada6a9)() === 'virtual') {\n let lastFocusedElement = (0, $23f2114a1b82827e$export$cd4e5573fbe2b576)(ownerDocument);\n (0, $081cb5757e08788e$export$24490316f764c430)(()=>{\n const activeElement = (0, $23f2114a1b82827e$export$cd4e5573fbe2b576)(ownerDocument);\n // If focus did not move or focus was lost to the body, and the element is still in the document, focus it.\n if ((activeElement === lastFocusedElement || activeElement === ownerDocument.body) && element.isConnected) (0, $1969ac565cfec8d0$export$de79e2c695e052f3)(element);\n });\n } else (0, $1969ac565cfec8d0$export$de79e2c695e052f3)(element);\n}\n\n\nexport {$f192c2f16961cbe0$export$80f3e147d781571c as focusSafely};\n//# sourceMappingURL=focusSafely.mjs.map\n","import {getActiveElement as $23f2114a1b82827e$export$cd4e5573fbe2b576, getEventTarget as $23f2114a1b82827e$export$e58f029f0fbfdb29} from \"../utils/shadowdom/DOMFunctions.mjs\";\nimport {getOwnerDocument as $d447af545b77c9f1$export$b204af158042fbac} from \"../utils/domHelpers.mjs\";\nimport {useSyntheticBlurEvent as $a92dc41f639950be$export$715c682d09d639cc} from \"./utils.mjs\";\nimport {useCallback as $3siB1$useCallback} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\n\n\n\nfunction $1e74c67db218ce67$export$f8168d8dd8fd66e6(props) {\n let { isDisabled: isDisabled, onFocus: onFocusProp, onBlur: onBlurProp, onFocusChange: onFocusChange } = props;\n const onBlur = (0, $3siB1$useCallback)((e)=>{\n if ((0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e) === e.currentTarget) {\n if (onBlurProp) onBlurProp(e);\n if (onFocusChange) onFocusChange(false);\n return true;\n }\n }, [\n onBlurProp,\n onFocusChange\n ]);\n const onSyntheticFocus = (0, $a92dc41f639950be$export$715c682d09d639cc)(onBlur);\n const onFocus = (0, $3siB1$useCallback)((e)=>{\n // Double check that document.activeElement actually matches e.target in case a previously chained\n // focus handler already moved focus somewhere else.\n let eventTarget = (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e);\n const ownerDocument = (0, $d447af545b77c9f1$export$b204af158042fbac)(eventTarget);\n const activeElement = ownerDocument ? (0, $23f2114a1b82827e$export$cd4e5573fbe2b576)(ownerDocument) : (0, $23f2114a1b82827e$export$cd4e5573fbe2b576)();\n if (eventTarget === e.currentTarget && eventTarget === activeElement) {\n if (onFocusProp) onFocusProp(e);\n if (onFocusChange) onFocusChange(true);\n onSyntheticFocus(e);\n }\n }, [\n onFocusChange,\n onFocusProp,\n onSyntheticFocus\n ]);\n return {\n focusProps: {\n onFocus: !isDisabled && (onFocusProp || onFocusChange || onBlurProp) ? onFocus : undefined,\n onBlur: !isDisabled && (onBlurProp || onFocusChange) ? onBlur : undefined\n }\n };\n}\n\n\nexport {$1e74c67db218ce67$export$f8168d8dd8fd66e6 as useFocus};\n//# sourceMappingURL=useFocus.mjs.map\n","/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ function $8dba16319206abb6$export$48d1ea6320830260(handler) {\n if (!handler) return undefined;\n return (e)=>{\n let shouldStopPropagation = true;\n let event = {\n ...e,\n preventDefault () {\n e.preventDefault();\n },\n isDefaultPrevented () {\n return e.isDefaultPrevented();\n },\n stopPropagation () {\n if (shouldStopPropagation && process.env.NODE_ENV !== 'production') console.error('stopPropagation is now the default behavior for events in React Spectrum. You can use continuePropagation() to revert this behavior.');\n else shouldStopPropagation = true;\n },\n continuePropagation () {\n shouldStopPropagation = false;\n // nested createEventHandler might have set continue propagation so we should continue\n // propagation on wrappers\n if (typeof e.continuePropagation === 'function') e.continuePropagation();\n },\n isPropagationStopped () {\n return shouldStopPropagation;\n }\n };\n handler(event);\n // nested createEventHandler calls may already have stopped propagation\n if (shouldStopPropagation && !(typeof e.isPropagationStopped === 'function' && e.isPropagationStopped())) e.stopPropagation();\n };\n}\n\n\nexport {$8dba16319206abb6$export$48d1ea6320830260 as createEventHandler};\n//# sourceMappingURL=createEventHandler.mjs.map\n","import {isMac as $2add3ce32c6007eb$export$9ac100e40613ea10} from \"../utils/platform.mjs\";\n\n/*\n * Copyright 2025 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n/** Modifier names in shortcut strings (case-insensitive). Order in the string does not matter. */ const $cbf729ad7eb217b0$var$MODIFIER_NAMES = new Set([\n 'shift',\n 'alt',\n 'control',\n 'meta',\n 'mod' // OS dependent - Cmd on Mac, Control on Windows/Linux\n]);\n/** Canonical modifier order for stable keys (sorted, fixed order). */ const $cbf729ad7eb217b0$var$CANONICAL_MODIFIER_ORDER = [\n 'Alt',\n 'Control',\n 'Meta',\n 'Shift'\n];\nfunction $cbf729ad7eb217b0$export$9932402e211e7315(parsed) {\n let set = new Set();\n if (parsed.alt) set.add('Alt');\n if (parsed.shift) set.add('Shift');\n if (parsed.ctrl) set.add('Control');\n if (parsed.meta) set.add('Meta');\n if (parsed.mod) set.add((0, $2add3ce32c6007eb$export$9ac100e40613ea10)() ? 'Meta' : 'Control');\n return set;\n}\nfunction $cbf729ad7eb217b0$export$bf26c410e1f8fe6d(e) {\n let set = new Set();\n if (e.altKey) set.add('Alt');\n if (e.ctrlKey) set.add('Control');\n if (e.metaKey) set.add('Meta');\n if (e.shiftKey) set.add('Shift');\n return set;\n}\nfunction $cbf729ad7eb217b0$var$sortedModifierTokens(set) {\n return $cbf729ad7eb217b0$var$CANONICAL_MODIFIER_ORDER.filter((name)=>set.has(name));\n}\nfunction $cbf729ad7eb217b0$export$d636f01a2eaffd51(spec) {\n let parts = spec.split('+').reduce((prev, part)=>{\n let lower = part.toLowerCase();\n if ($cbf729ad7eb217b0$var$MODIFIER_NAMES.has(lower)) {\n if (lower === 'shift') prev.shift = true;\n else if (lower === 'alt') prev.alt = true;\n else if (lower === 'control') prev.ctrl = true;\n else if (lower === 'meta') prev.meta = true;\n else if (lower === 'mod') prev.mod = true;\n } else prev.key = part;\n return prev;\n }, {\n shift: false,\n alt: false,\n ctrl: false,\n meta: false,\n mod: false,\n key: ''\n });\n if (parts.key === '') throw new Error(`Invalid keyboard shortcut: \"${spec}\". Must include exactly one non-modifier key (e.g. \"a\", \"Enter\", \"ArrowDown\"). Combine any of Shift, Alt, Ctrl, Meta, and Mod.`);\n return parts;\n}\nfunction $cbf729ad7eb217b0$var$normalizeEventKey(key) {\n return key.toLowerCase();\n}\n/** Short aliases for common keys (shortcut side, before match). */ const $cbf729ad7eb217b0$var$KEY_ALIASES = {\n space: ' ',\n esc: 'escape',\n del: 'delete',\n ins: 'insert',\n left: 'arrowleft',\n right: 'arrowright',\n up: 'arrowup',\n down: 'arrowdown',\n pageup: 'pageup',\n pagedown: 'pagedown'\n};\n/** Canonical key segment (lowercase); aliases like `down` → `arrowdown`. */ function $cbf729ad7eb217b0$var$canonicalKeyFromSpecKey(specKey) {\n let k = $cbf729ad7eb217b0$var$normalizeEventKey(specKey);\n let aliased = $cbf729ad7eb217b0$var$KEY_ALIASES[k];\n return aliased != null ? aliased : k;\n}\nfunction $cbf729ad7eb217b0$export$6cfa2ace150c84a5(parsed) {\n let mods = $cbf729ad7eb217b0$var$sortedModifierTokens($cbf729ad7eb217b0$export$9932402e211e7315(parsed));\n let key = $cbf729ad7eb217b0$var$canonicalKeyFromSpecKey(parsed.key);\n return mods.length > 0 ? `${mods.join('+')}+${key}` : key;\n}\nfunction $cbf729ad7eb217b0$export$786304bda41dd69f(e) {\n let mods = $cbf729ad7eb217b0$var$sortedModifierTokens($cbf729ad7eb217b0$export$bf26c410e1f8fe6d(e));\n let key = $cbf729ad7eb217b0$var$normalizeEventKey(e.key);\n let prefix = mods.length > 0 ? `${mods.join('+')}+` : '';\n return prefix + key;\n}\nfunction $cbf729ad7eb217b0$export$2fd1fc8039383ae1(bindings) {\n let map = new Map();\n for (let [spec, action] of Object.entries(bindings)){\n let parsed = $cbf729ad7eb217b0$export$d636f01a2eaffd51(spec);\n map.set($cbf729ad7eb217b0$export$6cfa2ace150c84a5(parsed), action);\n }\n return (e)=>{\n let canonical = $cbf729ad7eb217b0$export$786304bda41dd69f(e);\n let action = map.get(canonical);\n let result = action?.(e);\n if (result === undefined && action !== undefined) result = {\n shouldContinuePropagation: false,\n shouldPreventDefault: true\n };\n else if (typeof result === 'boolean') result = {\n shouldContinuePropagation: !result,\n shouldPreventDefault: result\n };\n if (result?.shouldPreventDefault) e.preventDefault();\n if (!action || result?.shouldContinuePropagation) e.continuePropagation();\n };\n}\n\n\nexport {$cbf729ad7eb217b0$export$9932402e211e7315 as modifierSetFromParsed, $cbf729ad7eb217b0$export$bf26c410e1f8fe6d as modifierSetFromEvent, $cbf729ad7eb217b0$export$d636f01a2eaffd51 as parseKeyboardShortcut, $cbf729ad7eb217b0$export$6cfa2ace150c84a5 as canonicalKeyboardShortcut, $cbf729ad7eb217b0$export$786304bda41dd69f as keyboardEventToCanonicalShortcut, $cbf729ad7eb217b0$export$2fd1fc8039383ae1 as createKeyboardShortcutHandler};\n//# sourceMappingURL=createKeyboardShortcutHandler.mjs.map\n","import {chain as $a4e76a5424781910$export$e08e3b67e392101e} from \"../utils/chain.mjs\";\nimport {createEventHandler as $8dba16319206abb6$export$48d1ea6320830260} from \"./createEventHandler.mjs\";\nimport {createKeyboardShortcutHandler as $cbf729ad7eb217b0$export$2fd1fc8039383ae1} from \"./createKeyboardShortcutHandler.mjs\";\nimport {getEventTarget as $23f2114a1b82827e$export$e58f029f0fbfdb29, nodeContains as $23f2114a1b82827e$export$4282f70798064fe0} from \"../utils/shadowdom/DOMFunctions.mjs\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\nfunction $8296dad1a4c5e0dc$export$8f71654801c2f7cd(props) {\n let { shortcuts: shortcuts, allowRepeats: allowRepeats = false, allowComposing: allowComposing = false } = props;\n let onKeyDown;\n let onKeyUp;\n if (shortcuts) {\n let shortcutHandler = (0, $cbf729ad7eb217b0$export$2fd1fc8039383ae1)(shortcuts);\n let shortcutOnKeyDown = (0, $8dba16319206abb6$export$48d1ea6320830260)((e)=>{\n // If keyboard event didn't originate from a child of the current target,\n // then it's a React event coming through a portal. We should ignore it.\n if (!(0, $23f2114a1b82827e$export$4282f70798064fe0)(e.currentTarget, (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e))) {\n e.continuePropagation();\n return;\n }\n if (e.nativeEvent?.repeat && !allowRepeats || e.nativeEvent?.isComposing && !allowComposing) {\n e.continuePropagation();\n return;\n }\n shortcutHandler(e);\n });\n let shortcutOnKeyUp = (0, $8dba16319206abb6$export$48d1ea6320830260)((e)=>{\n // If keyboard event didn't originate from a child of the current target,\n // then it's a React event coming through a portal. We should ignore it.\n if (!(0, $23f2114a1b82827e$export$4282f70798064fe0)(e.currentTarget, (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e))) {\n e.continuePropagation();\n return;\n }\n if (e.nativeEvent?.repeat && !allowRepeats || e.nativeEvent?.isComposing && !allowComposing) {\n e.continuePropagation();\n return;\n }\n // implement shortcut handler on keyup, what should the map be called? or should it be another syntax on shortcuts?\n e.continuePropagation();\n });\n onKeyDown = props.onKeyDown ? (0, $a4e76a5424781910$export$e08e3b67e392101e)(props.onKeyDown, shortcutOnKeyDown) : shortcutOnKeyDown;\n onKeyUp = props.onKeyUp ? (0, $a4e76a5424781910$export$e08e3b67e392101e)(props.onKeyUp, shortcutOnKeyUp) : shortcutOnKeyUp;\n } else {\n onKeyDown = (0, $8dba16319206abb6$export$48d1ea6320830260)(props.onKeyDown);\n onKeyUp = (0, $8dba16319206abb6$export$48d1ea6320830260)(props.onKeyUp);\n }\n return {\n keyboardProps: props.isDisabled ? {} : {\n onKeyDown: onKeyDown,\n onKeyUp: onKeyUp\n }\n };\n}\n\n\nexport {$8296dad1a4c5e0dc$export$8f71654801c2f7cd as useKeyboard};\n//# sourceMappingURL=useKeyboard.mjs.map\n","import {useLayoutEffect as $c4867b2f328c2698$export$e5c5a5f917a5871c} from \"./useLayoutEffect.mjs\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $b7115c395c64f7b5$export$4debdb1a3f0fa79e(context, ref) {\n // oxlint-disable-next-line react/react-compiler\n (0, $c4867b2f328c2698$export$e5c5a5f917a5871c)(()=>{\n if (context && context.ref && ref) {\n // oxlint-disable-next-line react/react-compiler\n context.ref.current = ref.current;\n return ()=>{\n if (context.ref) // oxlint-disable-next-line react-hooks/exhaustive-deps\n context.ref.current = null;\n };\n }\n });\n}\n\n\nexport {$b7115c395c64f7b5$export$4debdb1a3f0fa79e as useSyncRef};\n//# sourceMappingURL=useSyncRef.mjs.map\n","import {focusSafely as $f192c2f16961cbe0$export$80f3e147d781571c} from \"./focusSafely.mjs\";\nimport {getOwnerWindow as $d447af545b77c9f1$export$f21a1ffae260145a} from \"../utils/domHelpers.mjs\";\nimport {isFocusable as $3b8b240c1bf84ab9$export$4c063cf1350e6fed} from \"../utils/isFocusable.mjs\";\nimport {mergeProps as $bbaa08b3cd72f041$export$9d1611c77c2fe928} from \"../utils/mergeProps.mjs\";\nimport {mergeRefs as $4064df0d6f9620e1$export$c9058316764c140e} from \"../utils/mergeRefs.mjs\";\nimport {useFocus as $1e74c67db218ce67$export$f8168d8dd8fd66e6} from \"./useFocus.mjs\";\nimport {useKeyboard as $8296dad1a4c5e0dc$export$8f71654801c2f7cd} from \"./useKeyboard.mjs\";\nimport {useObjectRef as $03e8ab2d84d7657a$export$4338b53315abf666} from \"../utils/useObjectRef.mjs\";\nimport {useSyncRef as $b7115c395c64f7b5$export$4debdb1a3f0fa79e} from \"../utils/useSyncRef.mjs\";\nimport $fKWKs$react, {useContext as $fKWKs$useContext, useRef as $fKWKs$useRef, useEffect as $fKWKs$useEffect, forwardRef as $fKWKs$forwardRef} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\n\n\n\n\n\nlet $d1116acdf220c2da$export$f9762fab77588ecb = /*#__PURE__*/ (0, $fKWKs$react).createContext(null);\nfunction $d1116acdf220c2da$var$useFocusableContext(ref) {\n let context = (0, $fKWKs$useContext)($d1116acdf220c2da$export$f9762fab77588ecb) || {};\n (0, $b7115c395c64f7b5$export$4debdb1a3f0fa79e)(context, ref);\n // eslint-disable-next-line\n let { ref: _, ...otherProps } = context;\n return otherProps;\n}\nconst $d1116acdf220c2da$export$13f3202a3e5ddd5 = /*#__PURE__*/ (0, $fKWKs$react).forwardRef(function FocusableProvider(props, ref) {\n let { children: children, ...otherProps } = props;\n let objRef = (0, $03e8ab2d84d7657a$export$4338b53315abf666)(ref);\n let context = {\n ...otherProps,\n ref: objRef\n };\n return /*#__PURE__*/ (0, $fKWKs$react).createElement($d1116acdf220c2da$export$f9762fab77588ecb.Provider, {\n value: context\n }, children);\n});\nfunction $d1116acdf220c2da$export$4c014de7c8940b4c(props, domRef) {\n let { focusProps: focusProps } = (0, $1e74c67db218ce67$export$f8168d8dd8fd66e6)(props);\n let { keyboardProps: keyboardProps } = (0, $8296dad1a4c5e0dc$export$8f71654801c2f7cd)(props);\n let interactions = (0, $bbaa08b3cd72f041$export$9d1611c77c2fe928)(focusProps, keyboardProps);\n let domProps = $d1116acdf220c2da$var$useFocusableContext(domRef);\n let interactionProps = props.isDisabled ? {} : domProps;\n let autoFocusRef = (0, $fKWKs$useRef)(props.autoFocus);\n (0, $fKWKs$useEffect)(()=>{\n if (autoFocusRef.current && domRef.current) (0, $f192c2f16961cbe0$export$80f3e147d781571c)(domRef.current);\n autoFocusRef.current = false;\n }, [\n domRef\n ]);\n // Always set a tabIndex so that Safari allows focusing native buttons and inputs.\n let tabIndex = props.excludeFromTabOrder ? -1 : 0;\n if (props.isDisabled) tabIndex = undefined;\n return {\n focusableProps: (0, $bbaa08b3cd72f041$export$9d1611c77c2fe928)({\n ...interactions,\n tabIndex: tabIndex\n }, interactionProps)\n };\n}\nconst $d1116acdf220c2da$export$35a3bebf7ef2d934 = /*#__PURE__*/ (0, $fKWKs$forwardRef)(({ children: children, ...props }, ref)=>{\n ref = (0, $03e8ab2d84d7657a$export$4338b53315abf666)(ref);\n let { focusableProps: focusableProps } = $d1116acdf220c2da$export$4c014de7c8940b4c(props, ref);\n let child = (0, $fKWKs$react).Children.only(children);\n (0, $fKWKs$useEffect)(()=>{\n if (process.env.NODE_ENV === 'production') return;\n let el = ref.current;\n if (!el || !(el instanceof (0, $d447af545b77c9f1$export$f21a1ffae260145a)(el).Element)) {\n console.error('<Focusable> child must forward its ref to a DOM element.');\n return;\n }\n if (!props.isDisabled && !(0, $3b8b240c1bf84ab9$export$4c063cf1350e6fed)(el)) {\n console.warn('<Focusable> child must be focusable. Please ensure the tabIndex prop is passed through.');\n return;\n }\n if (el.localName !== 'button' && el.localName !== 'input' && el.localName !== 'select' && el.localName !== 'textarea' && el.localName !== 'a' && el.localName !== 'area' && el.localName !== 'summary' && el.localName !== 'img' && el.localName !== 'svg') {\n let role = el.getAttribute('role');\n if (!role) console.warn('<Focusable> child must have an interactive ARIA role.');\n else if (// https://w3c.github.io/aria/#widget_roles\n role !== 'application' && role !== 'button' && role !== 'checkbox' && role !== 'combobox' && role !== 'gridcell' && role !== 'link' && role !== 'menuitem' && role !== 'menuitemcheckbox' && role !== 'menuitemradio' && role !== 'option' && role !== 'radio' && role !== 'searchbox' && role !== 'separator' && role !== 'slider' && role !== 'spinbutton' && role !== 'switch' && role !== 'tab' && role !== 'tabpanel' && role !== 'textbox' && role !== 'treeitem' && // aria-describedby is also announced on these roles\n role !== 'img' && role !== 'meter' && role !== 'progressbar') console.warn(`<Focusable> child must have an interactive ARIA role. Got \"${role}\".`);\n }\n }, [\n ref,\n props.isDisabled\n ]);\n // @ts-ignore\n let childRef = parseInt((0, $fKWKs$react).version, 10) < 19 ? child.ref : child.props.ref;\n return /*#__PURE__*/ (0, $fKWKs$react).cloneElement(child, {\n ...(0, $bbaa08b3cd72f041$export$9d1611c77c2fe928)(focusableProps, child.props),\n // @ts-ignore\n // oxlint-disable-next-line react/react-compiler\n ref: (0, $4064df0d6f9620e1$export$c9058316764c140e)(childRef, ref)\n });\n});\n\n\nexport {$d1116acdf220c2da$export$f9762fab77588ecb as FocusableContext, $d1116acdf220c2da$export$13f3202a3e5ddd5 as FocusableProvider, $d1116acdf220c2da$export$4c014de7c8940b4c as useFocusable, $d1116acdf220c2da$export$35a3bebf7ef2d934 as Focusable};\n//# sourceMappingURL=useFocusable.mjs.map\n","import {getOwnerDocument as $d447af545b77c9f1$export$b204af158042fbac} from \"../utils/domHelpers.mjs\";\nimport {isIOS as $2add3ce32c6007eb$export$fedb369cb70207f1, isWebKit as $2add3ce32c6007eb$export$78551043582a6a98} from \"../utils/platform.mjs\";\nimport {runAfterTransition as $081cb5757e08788e$export$24490316f764c430} from \"../utils/runAfterTransition.mjs\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n// Note that state only matters here for iOS. Non-iOS gets user-select: none applied to the target element\n// rather than at the document level so we just need to apply/remove user-select: none for each pressed element individually\nlet $cbf007e418543821$var$state = 'default';\nlet $cbf007e418543821$var$savedUserSelect = '';\nlet $cbf007e418543821$var$modifiedElementMap = new WeakMap();\nfunction $cbf007e418543821$export$16a4697467175487(target) {\n if ((0, $2add3ce32c6007eb$export$fedb369cb70207f1)() && (0, $2add3ce32c6007eb$export$78551043582a6a98)()) {\n if ($cbf007e418543821$var$state === 'default') {\n const documentObject = (0, $d447af545b77c9f1$export$b204af158042fbac)(target);\n $cbf007e418543821$var$savedUserSelect = documentObject.documentElement.style.webkitUserSelect;\n documentObject.documentElement.style.webkitUserSelect = 'none';\n }\n $cbf007e418543821$var$state = 'disabled';\n } else if (target instanceof HTMLElement || target instanceof SVGElement) {\n // If not iOS, store the target's original user-select and change to user-select: none\n // Ignore state since it doesn't apply for non iOS\n let property = 'userSelect' in target.style ? 'userSelect' : 'webkitUserSelect';\n $cbf007e418543821$var$modifiedElementMap.set(target, target.style[property]);\n target.style[property] = 'none';\n }\n}\nfunction $cbf007e418543821$export$b0d6fa1ab32e3295(target) {\n if ((0, $2add3ce32c6007eb$export$fedb369cb70207f1)() && (0, $2add3ce32c6007eb$export$78551043582a6a98)()) {\n // If the state is already default, there's nothing to do.\n // If it is restoring, then there's no need to queue a second restore.\n if ($cbf007e418543821$var$state !== 'disabled') return;\n $cbf007e418543821$var$state = 'restoring';\n // There appears to be a delay on iOS where selection still might occur\n // after pointer up, so wait a bit before removing user-select.\n setTimeout(()=>{\n // Wait for any CSS transitions to complete so we don't recompute style\n // for the whole page in the middle of the animation and cause jank.\n (0, $081cb5757e08788e$export$24490316f764c430)(()=>{\n // Avoid race conditions\n if ($cbf007e418543821$var$state === 'restoring') {\n const documentObject = (0, $d447af545b77c9f1$export$b204af158042fbac)(target);\n if (documentObject.documentElement.style.webkitUserSelect === 'none') documentObject.documentElement.style.webkitUserSelect = $cbf007e418543821$var$savedUserSelect || '';\n $cbf007e418543821$var$savedUserSelect = '';\n $cbf007e418543821$var$state = 'default';\n }\n });\n }, 300);\n } else if (target instanceof HTMLElement || target instanceof SVGElement) // If not iOS, restore the target's original user-select if any\n // Ignore state since it doesn't apply for non iOS\n {\n if (target && $cbf007e418543821$var$modifiedElementMap.has(target)) {\n let targetOldUserSelect = $cbf007e418543821$var$modifiedElementMap.get(target);\n let property = 'userSelect' in target.style ? 'userSelect' : 'webkitUserSelect';\n if (target.style[property] === 'none') target.style[property] = targetOldUserSelect;\n if (target.getAttribute('style') === '') target.removeAttribute('style');\n $cbf007e418543821$var$modifiedElementMap.delete(target);\n }\n }\n}\n\n\nexport {$cbf007e418543821$export$16a4697467175487 as disableTextSelection, $cbf007e418543821$export$b0d6fa1ab32e3295 as restoreTextSelection};\n//# sourceMappingURL=textSelection.mjs.map\n","import {getOwnerWindow as $d447af545b77c9f1$export$f21a1ffae260145a} from \"./domHelpers.mjs\";\n\n/*\n * Copyright 2026 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $2b2d34ff061957fb$var$getWebpackNonce(doc) {\n let ownerWindow = doc?.defaultView;\n return ownerWindow?.__webpack_nonce__ || globalThis['__webpack_nonce__'] || undefined;\n}\nlet $2b2d34ff061957fb$var$nonceCache = new WeakMap();\nfunction $2b2d34ff061957fb$export$88b319273f3705b4() {\n $2b2d34ff061957fb$var$nonceCache = new WeakMap();\n}\nfunction $2b2d34ff061957fb$export$2b85b721e524d74b(doc) {\n let d = doc ?? (typeof document !== 'undefined' ? document : undefined);\n if (!d) return $2b2d34ff061957fb$var$getWebpackNonce(d);\n if ($2b2d34ff061957fb$var$nonceCache.has(d)) return $2b2d34ff061957fb$var$nonceCache.get(d);\n let meta = d.querySelector('meta[property=\"csp-nonce\"]');\n let nonce = meta && meta instanceof (0, $d447af545b77c9f1$export$f21a1ffae260145a)(meta).HTMLMetaElement && (meta.nonce || meta.content) || $2b2d34ff061957fb$var$getWebpackNonce(d) || undefined;\n if (nonce !== undefined) $2b2d34ff061957fb$var$nonceCache.set(d, nonce);\n return nonce;\n}\n\n\nexport {$2b2d34ff061957fb$export$88b319273f3705b4 as resetNonceCache, $2b2d34ff061957fb$export$2b85b721e524d74b as getNonce};\n//# sourceMappingURL=getNonce.mjs.map\n","import $kV9Vy$react from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nconst $24f9a20f226ad820$export$5165eccb35aaadb5 = (0, $kV9Vy$react).createContext({\n register: ()=>{}\n});\n$24f9a20f226ad820$export$5165eccb35aaadb5.displayName = 'PressResponderContext';\n\n\nexport {$24f9a20f226ad820$export$5165eccb35aaadb5 as PressResponderContext};\n//# sourceMappingURL=context.mjs.map\n","import {useLayoutEffect as $c4867b2f328c2698$export$e5c5a5f917a5871c} from \"./useLayoutEffect.mjs\";\nimport $emnFQ$react, {useRef as $emnFQ$useRef, useCallback as $emnFQ$useCallback} from \"react\";\n\n/*\n * Copyright 2023 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n// Use the earliest effect type possible. useInsertionEffect runs during the mutation phase,\n// before all layout effects, but is available only in React 18 and later.\nconst $fe16bffc7a557bf0$var$useEarlyEffect = (0, $emnFQ$react)['useInsertionEffect'] ?? (0, $c4867b2f328c2698$export$e5c5a5f917a5871c);\nfunction $fe16bffc7a557bf0$export$7f54fc3180508a52(fn) {\n const ref = (0, $emnFQ$useRef)(null);\n $fe16bffc7a557bf0$var$useEarlyEffect(()=>{\n ref.current = fn;\n }, [\n fn\n ]);\n // @ts-ignore\n return (0, $emnFQ$useCallback)((...args)=>{\n const f = ref.current;\n return f?.(...args);\n }, []);\n}\n\n\nexport {$fe16bffc7a557bf0$export$7f54fc3180508a52 as useEffectEvent};\n//# sourceMappingURL=useEffectEvent.mjs.map\n","import {useRef as $awe0O$useRef, useCallback as $awe0O$useCallback, useEffect as $awe0O$useEffect} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $48a7d519b337145d$export$4eaf04e54aa8eed6() {\n let globalListeners = (0, $awe0O$useRef)(new Map());\n let addGlobalListener = (0, $awe0O$useCallback)((eventTarget, type, listener, options)=>{\n // Make sure we remove the listener after it is called with the `once` option.\n let fn = options?.once ? (...args)=>{\n globalListeners.current.delete(listener);\n listener(...args);\n } : listener;\n globalListeners.current.set(listener, {\n type: type,\n eventTarget: eventTarget,\n fn: fn,\n options: options\n });\n eventTarget.addEventListener(type, fn, options);\n }, []);\n let removeGlobalListener = (0, $awe0O$useCallback)((eventTarget, type, listener, options)=>{\n let fn = globalListeners.current.get(listener)?.fn || listener;\n eventTarget.removeEventListener(type, fn, options);\n globalListeners.current.delete(listener);\n }, []);\n let removeAllGlobalListeners = (0, $awe0O$useCallback)(()=>{\n globalListeners.current.forEach((value, key)=>{\n removeGlobalListener(value.eventTarget, value.type, key, value.options);\n });\n }, [\n removeGlobalListener\n ]);\n (0, $awe0O$useEffect)(()=>{\n return removeAllGlobalListeners;\n }, [\n removeAllGlobalListeners\n ]);\n return {\n addGlobalListener: addGlobalListener,\n removeGlobalListener: removeGlobalListener,\n removeAllGlobalListeners: removeAllGlobalListeners\n };\n}\n\n\nexport {$48a7d519b337145d$export$4eaf04e54aa8eed6 as useGlobalListeners};\n//# sourceMappingURL=useGlobalListeners.mjs.map\n","import {chain as $a4e76a5424781910$export$e08e3b67e392101e} from \"../utils/chain.mjs\";\nimport {createSyntheticEvent as $a92dc41f639950be$export$525bc4921d56d4a, preventFocus as $a92dc41f639950be$export$cabe61c495ee3649, setEventTarget as $a92dc41f639950be$export$c2b7abe5d61ec696} from \"./utils.mjs\";\nimport {disableTextSelection as $cbf007e418543821$export$16a4697467175487, restoreTextSelection as $cbf007e418543821$export$b0d6fa1ab32e3295} from \"./textSelection.mjs\";\nimport {focusWithoutScrolling as $1969ac565cfec8d0$export$de79e2c695e052f3} from \"../utils/focusWithoutScrolling.mjs\";\nimport {getEventTarget as $23f2114a1b82827e$export$e58f029f0fbfdb29, nodeContains as $23f2114a1b82827e$export$4282f70798064fe0} from \"../utils/shadowdom/DOMFunctions.mjs\";\nimport {getNonce as $2b2d34ff061957fb$export$2b85b721e524d74b} from \"../utils/getNonce.mjs\";\nimport {getOwnerDocument as $d447af545b77c9f1$export$b204af158042fbac, getOwnerWindow as $d447af545b77c9f1$export$f21a1ffae260145a} from \"../utils/domHelpers.mjs\";\nimport {isMac as $2add3ce32c6007eb$export$9ac100e40613ea10} from \"../utils/platform.mjs\";\nimport {isVirtualClick as $b5c62b033c25b96d$export$60278871457622de, isVirtualPointerEvent as $b5c62b033c25b96d$export$29bf1b5f2c56cf63} from \"../utils/isVirtualEvent.mjs\";\nimport {mergeProps as $bbaa08b3cd72f041$export$9d1611c77c2fe928} from \"../utils/mergeProps.mjs\";\nimport {openLink as $caaf0dd3060ed57c$export$95185d699e05d4d7} from \"../utils/openLink.mjs\";\nimport {PressResponderContext as $24f9a20f226ad820$export$5165eccb35aaadb5} from \"./context.mjs\";\nimport {useEffectEvent as $fe16bffc7a557bf0$export$7f54fc3180508a52} from \"../utils/useEffectEvent.mjs\";\nimport {useGlobalListeners as $48a7d519b337145d$export$4eaf04e54aa8eed6} from \"../utils/useGlobalListeners.mjs\";\nimport {useSyncRef as $b7115c395c64f7b5$export$4debdb1a3f0fa79e} from \"../utils/useSyncRef.mjs\";\nimport {flushSync as $fL2C6$flushSync} from \"react-dom\";\nimport {useContext as $fL2C6$useContext, useState as $fL2C6$useState, useRef as $fL2C6$useRef, useCallback as $fL2C6$useCallback, useEffect as $fL2C6$useEffect, useMemo as $fL2C6$useMemo} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nfunction $d27d541f9569d26d$var$usePressResponderContext(props) {\n // Consume context from <PressResponder> and merge with props.\n let context = (0, $fL2C6$useContext)((0, $24f9a20f226ad820$export$5165eccb35aaadb5));\n if (context) {\n // Prevent mergeProps from merging ref.\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n let { register: register, ref: ref, ...contextProps } = context;\n props = (0, $bbaa08b3cd72f041$export$9d1611c77c2fe928)(contextProps, props);\n register();\n }\n (0, $b7115c395c64f7b5$export$4debdb1a3f0fa79e)(context, props.ref);\n return props;\n}\nclass $d27d541f9569d26d$var$PressEvent {\n #shouldStopPropagation;\n constructor(type, pointerType, originalEvent, state){\n this.#shouldStopPropagation = true;\n let currentTarget = state?.target ?? originalEvent.currentTarget;\n const rect = currentTarget?.getBoundingClientRect();\n let x, y = 0;\n let clientX, clientY = null;\n if (originalEvent.clientX != null && originalEvent.clientY != null) {\n clientX = originalEvent.clientX;\n clientY = originalEvent.clientY;\n }\n if (rect) {\n if (clientX != null && clientY != null) {\n x = clientX - rect.left;\n y = clientY - rect.top;\n } else {\n x = rect.width / 2;\n y = rect.height / 2;\n }\n }\n this.type = type;\n this.pointerType = pointerType;\n this.target = originalEvent.currentTarget;\n this.shiftKey = originalEvent.shiftKey;\n this.metaKey = originalEvent.metaKey;\n this.ctrlKey = originalEvent.ctrlKey;\n this.altKey = originalEvent.altKey;\n this.x = x;\n this.y = y;\n this.key = originalEvent.key;\n }\n continuePropagation() {\n this.#shouldStopPropagation = false;\n }\n get shouldStopPropagation() {\n return this.#shouldStopPropagation;\n }\n}\nconst $d27d541f9569d26d$var$LINK_CLICKED = Symbol('linkClicked');\nconst $d27d541f9569d26d$var$STYLE_ID = 'react-aria-pressable-style';\nconst $d27d541f9569d26d$var$PRESSABLE_ATTRIBUTE = 'data-react-aria-pressable';\nfunction $d27d541f9569d26d$export$45712eceda6fad21(props) {\n let { onPress: onPress, onPressChange: onPressChange, onPressStart: onPressStart, onPressEnd: onPressEnd, onPressUp: onPressUp, onClick: onClick, isDisabled: isDisabled, isPressed: isPressedProp, preventFocusOnPress: preventFocusOnPress, shouldCancelOnPointerExit: shouldCancelOnPointerExit, allowTextSelectionOnPress: allowTextSelectionOnPress, ref: domRef, ...domProps } = $d27d541f9569d26d$var$usePressResponderContext(props);\n let [isPressed, setPressed] = (0, $fL2C6$useState)(false);\n let ref = (0, $fL2C6$useRef)({\n isPressed: false,\n ignoreEmulatedMouseEvents: false,\n didFirePressStart: false,\n isTriggeringEvent: false,\n activePointerId: null,\n target: null,\n isOverTarget: false,\n pointerType: null,\n disposables: []\n });\n let { addGlobalListener: addGlobalListener, removeAllGlobalListeners: removeAllGlobalListeners } = (0, $48a7d519b337145d$export$4eaf04e54aa8eed6)();\n let triggerPressStart = (0, $fL2C6$useCallback)((originalEvent, pointerType)=>{\n let state = ref.current;\n if (isDisabled || state.didFirePressStart) return false;\n let shouldStopPropagation = true;\n state.isTriggeringEvent = true;\n if (onPressStart) {\n let event = new $d27d541f9569d26d$var$PressEvent('pressstart', pointerType, originalEvent);\n onPressStart(event);\n shouldStopPropagation = event.shouldStopPropagation;\n }\n if (onPressChange) onPressChange(true);\n state.isTriggeringEvent = false;\n state.didFirePressStart = true;\n setPressed(true);\n return shouldStopPropagation;\n }, [\n isDisabled,\n onPressStart,\n onPressChange\n ]);\n let triggerPressEnd = (0, $fL2C6$useCallback)((originalEvent, pointerType, wasPressed = true)=>{\n let state = ref.current;\n if (!state.didFirePressStart) return false;\n state.didFirePressStart = false;\n state.isTriggeringEvent = true;\n let shouldStopPropagation = true;\n if (onPressEnd) {\n let event = new $d27d541f9569d26d$var$PressEvent('pressend', pointerType, originalEvent);\n onPressEnd(event);\n shouldStopPropagation = event.shouldStopPropagation;\n }\n if (onPressChange) onPressChange(false);\n setPressed(false);\n if (onPress && wasPressed && !isDisabled) {\n let event = new $d27d541f9569d26d$var$PressEvent('press', pointerType, originalEvent);\n onPress(event);\n shouldStopPropagation &&= event.shouldStopPropagation;\n }\n state.isTriggeringEvent = false;\n return shouldStopPropagation;\n }, [\n isDisabled,\n onPressEnd,\n onPressChange,\n onPress\n ]);\n let triggerPressEndEvent = (0, $fe16bffc7a557bf0$export$7f54fc3180508a52)(triggerPressEnd);\n let triggerPressUp = (0, $fL2C6$useCallback)((originalEvent, pointerType)=>{\n let state = ref.current;\n if (isDisabled) return false;\n if (onPressUp) {\n state.isTriggeringEvent = true;\n let event = new $d27d541f9569d26d$var$PressEvent('pressup', pointerType, originalEvent);\n onPressUp(event);\n state.isTriggeringEvent = false;\n return event.shouldStopPropagation;\n }\n return true;\n }, [\n isDisabled,\n onPressUp\n ]);\n let triggerPressUpEvent = (0, $fe16bffc7a557bf0$export$7f54fc3180508a52)(triggerPressUp);\n let cancel = (0, $fL2C6$useCallback)((e)=>{\n let state = ref.current;\n if (state.isPressed && state.target) {\n if (state.didFirePressStart && state.pointerType != null) triggerPressEnd($d27d541f9569d26d$var$createEvent(state.target, e), state.pointerType, false);\n state.isPressed = false;\n state.isOverTarget = false;\n state.activePointerId = null;\n state.pointerType = null;\n removeAllGlobalListeners();\n if (!allowTextSelectionOnPress) (0, $cbf007e418543821$export$b0d6fa1ab32e3295)(state.target);\n for (let dispose of state.disposables)dispose();\n state.disposables = [];\n }\n }, [\n allowTextSelectionOnPress,\n removeAllGlobalListeners,\n triggerPressEnd\n ]);\n let cancelEvent = (0, $fe16bffc7a557bf0$export$7f54fc3180508a52)(cancel);\n (0, $fL2C6$useEffect)(()=>{\n if (isDisabled && ref.current.isPressed) cancelEvent({\n currentTarget: ref.current.target,\n shiftKey: false,\n ctrlKey: false,\n metaKey: false,\n altKey: false\n });\n }, [\n isDisabled\n ]);\n let cancelOnPointerExit = (0, $fL2C6$useCallback)((e)=>{\n if (shouldCancelOnPointerExit) cancel(e);\n }, [\n shouldCancelOnPointerExit,\n cancel\n ]);\n let triggerClick = (0, $fL2C6$useCallback)((e)=>{\n if (isDisabled) return;\n onClick?.(e);\n }, [\n isDisabled,\n onClick\n ]);\n let triggerSyntheticClick = (0, $fL2C6$useCallback)((e, target)=>{\n if (isDisabled) return;\n // Some third-party libraries pass in onClick instead of onPress.\n // Create a fake mouse event and trigger onClick as well.\n // This matches the browser's native activation behavior for certain elements (e.g. button).\n // https://html.spec.whatwg.org/#activation\n // https://html.spec.whatwg.org/#fire-a-synthetic-pointer-event\n if (onClick) {\n let event = new MouseEvent('click', e);\n (0, $a92dc41f639950be$export$c2b7abe5d61ec696)(event, target);\n onClick((0, $a92dc41f639950be$export$525bc4921d56d4a)(event));\n }\n }, [\n isDisabled,\n onClick\n ]);\n let pressProps = (0, $fL2C6$useMemo)(()=>{\n let state = ref.current;\n let pressProps = {\n onKeyDown (e) {\n if ($d27d541f9569d26d$var$isValidKeyboardEvent(e.nativeEvent, e.currentTarget) && (0, $23f2114a1b82827e$export$4282f70798064fe0)(e.currentTarget, (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e))) {\n if ($d27d541f9569d26d$var$shouldPreventDefaultKeyboard((0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e), e.key)) e.preventDefault();\n // If the event is repeating, it may have started on a different element\n // after which focus moved to the current element. Ignore these events and\n // only handle the first key down event.\n let shouldStopPropagation = true;\n if (!state.isPressed && !e.repeat) {\n state.target = e.currentTarget;\n state.isPressed = true;\n state.pointerType = 'keyboard';\n shouldStopPropagation = triggerPressStart(e, 'keyboard');\n }\n // Focus may move before the key up event, so register the event on the document\n // instead of the same element where the key down event occurred. Make it capturing so that it will trigger\n // before stopPropagation from useKeyboard on a child element may happen and thus we can still call triggerPress for the parent element.\n let originalTarget = e.currentTarget;\n let pressUp = (e)=>{\n if ($d27d541f9569d26d$var$isValidKeyboardEvent(e, originalTarget) && !e.repeat && (0, $23f2114a1b82827e$export$4282f70798064fe0)(originalTarget, (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e)) && state.target) triggerPressUpEvent($d27d541f9569d26d$var$createEvent(state.target, e), 'keyboard');\n };\n addGlobalListener((0, $d447af545b77c9f1$export$b204af158042fbac)(e.currentTarget), 'keyup', (0, $a4e76a5424781910$export$e08e3b67e392101e)(pressUp, onKeyUp), true);\n if (shouldStopPropagation) e.stopPropagation();\n // Keep track of the keydown events that occur while the Meta (e.g. Command) key is held.\n // macOS has a bug where keyup events are not fired while the Meta key is down.\n // When the Meta key itself is released we will get an event for that, and we'll act as if\n // all of these other keys were released as well.\n // https://bugs.chromium.org/p/chromium/issues/detail?id=1393524\n // https://bugs.webkit.org/show_bug.cgi?id=55291\n // https://bugzilla.mozilla.org/show_bug.cgi?id=1299553\n if (e.metaKey && (0, $2add3ce32c6007eb$export$9ac100e40613ea10)()) state.metaKeyEvents?.set(e.key, e.nativeEvent);\n } else if (e.key === 'Meta') state.metaKeyEvents = new Map();\n },\n onClick (e) {\n if (e && !(0, $23f2114a1b82827e$export$4282f70798064fe0)(e.currentTarget, (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e))) return;\n if (e && e.button === 0 && !state.isTriggeringEvent && !(0, $caaf0dd3060ed57c$export$95185d699e05d4d7).isOpening) {\n let shouldStopPropagation = true;\n if (isDisabled) e.preventDefault();\n // If triggered from a screen reader or by using element.click(),\n // trigger as if it were a keyboard click.\n if (!state.ignoreEmulatedMouseEvents && !state.isPressed && (state.pointerType === 'virtual' || (0, $b5c62b033c25b96d$export$60278871457622de)(e.nativeEvent))) {\n let stopPressStart = triggerPressStart(e, 'virtual');\n let stopPressUp = triggerPressUpEvent(e, 'virtual');\n let stopPressEnd = triggerPressEndEvent(e, 'virtual');\n triggerClick(e);\n shouldStopPropagation = stopPressStart && stopPressUp && stopPressEnd;\n } else if (state.isPressed && state.pointerType !== 'keyboard') {\n let pointerType = state.pointerType || e.nativeEvent.pointerType || 'virtual';\n let stopPressUp = triggerPressUpEvent($d27d541f9569d26d$var$createEvent(e.currentTarget, e), pointerType);\n let stopPressEnd = triggerPressEndEvent($d27d541f9569d26d$var$createEvent(e.currentTarget, e), pointerType, true);\n shouldStopPropagation = stopPressUp && stopPressEnd;\n state.isOverTarget = false;\n triggerClick(e);\n // oxlint-disable-next-line react/react-compiler\n cancelEvent(e);\n }\n state.ignoreEmulatedMouseEvents = false;\n if (shouldStopPropagation) e.stopPropagation();\n }\n }\n };\n let onKeyUp = (e)=>{\n if (state.isPressed && state.target && $d27d541f9569d26d$var$isValidKeyboardEvent(e, state.target)) {\n if ($d27d541f9569d26d$var$shouldPreventDefaultKeyboard((0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e), e.key)) e.preventDefault();\n let target = (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e);\n let wasPressed = (0, $23f2114a1b82827e$export$4282f70798064fe0)(state.target, target);\n triggerPressEndEvent($d27d541f9569d26d$var$createEvent(state.target, e), 'keyboard', wasPressed);\n if (wasPressed) triggerSyntheticClick(e, state.target);\n removeAllGlobalListeners();\n // If a link was triggered with a key other than Enter, open the URL ourselves.\n // This means the link has a role override, and the default browser behavior\n // only applies when using the Enter key.\n if (e.key !== 'Enter' && $d27d541f9569d26d$var$isHTMLAnchorLink(state.target) && (0, $23f2114a1b82827e$export$4282f70798064fe0)(state.target, target) && !e[$d27d541f9569d26d$var$LINK_CLICKED]) {\n // Store a hidden property on the event so we only trigger link click once,\n // even if there are multiple usePress instances attached to the element.\n e[$d27d541f9569d26d$var$LINK_CLICKED] = true;\n (0, $caaf0dd3060ed57c$export$95185d699e05d4d7)(state.target, e, false);\n }\n state.isPressed = false;\n state.metaKeyEvents?.delete(e.key);\n } else if (e.key === 'Meta' && state.metaKeyEvents?.size) {\n // If we recorded keydown events that occurred while the Meta key was pressed,\n // and those haven't received keyup events already, fire keyup events ourselves.\n // See comment above for more info about the macOS bug causing this.\n let events = state.metaKeyEvents;\n state.metaKeyEvents = undefined;\n for (let event of events.values())state.target?.dispatchEvent(new KeyboardEvent('keyup', event));\n }\n };\n if (typeof PointerEvent !== 'undefined') {\n pressProps.onPointerDown = (e)=>{\n // Only handle left clicks, and ignore events that bubbled through portals.\n if (e.button !== 0 || !(0, $23f2114a1b82827e$export$4282f70798064fe0)(e.currentTarget, (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e))) return;\n // iOS safari fires pointer events from VoiceOver with incorrect coordinates/target.\n // Ignore and let the onClick handler take care of it instead.\n // https://bugs.webkit.org/show_bug.cgi?id=222627\n // https://bugs.webkit.org/show_bug.cgi?id=223202\n if ((0, $b5c62b033c25b96d$export$29bf1b5f2c56cf63)(e.nativeEvent)) {\n state.pointerType = 'virtual';\n return;\n }\n state.pointerType = e.pointerType;\n let shouldStopPropagation = true;\n if (!state.isPressed) {\n state.isPressed = true;\n state.isOverTarget = true;\n state.activePointerId = e.pointerId;\n state.target = e.currentTarget;\n if (!allowTextSelectionOnPress) (0, $cbf007e418543821$export$16a4697467175487)(state.target);\n shouldStopPropagation = triggerPressStart(e, state.pointerType);\n // Release pointer capture so that touch interactions can leave the original target.\n // This enables onPointerLeave and onPointerEnter to fire.\n let target = (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e);\n if ('releasePointerCapture' in target) {\n if ('hasPointerCapture' in target) {\n if (target.hasPointerCapture(e.pointerId)) target.releasePointerCapture(e.pointerId);\n } else target.releasePointerCapture(e.pointerId);\n }\n addGlobalListener((0, $d447af545b77c9f1$export$b204af158042fbac)(e.currentTarget), 'pointerup', onPointerUp, false);\n addGlobalListener((0, $d447af545b77c9f1$export$b204af158042fbac)(e.currentTarget), 'pointercancel', onPointerCancel, false);\n }\n if (shouldStopPropagation) e.stopPropagation();\n };\n pressProps.onMouseDown = (e)=>{\n if (!(0, $23f2114a1b82827e$export$4282f70798064fe0)(e.currentTarget, (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e))) return;\n if (e.button === 0) {\n if (preventFocusOnPress) {\n let dispose = (0, $a92dc41f639950be$export$cabe61c495ee3649)(e.target);\n if (dispose) state.disposables.push(dispose);\n }\n e.stopPropagation();\n }\n };\n pressProps.onPointerUp = (e)=>{\n // iOS fires pointerup with zero width and height, so check the pointerType recorded during pointerdown.\n if (!(0, $23f2114a1b82827e$export$4282f70798064fe0)(e.currentTarget, (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e)) || state.pointerType === 'virtual') return;\n // Only handle left clicks. If isPressed is true, delay until onClick.\n if (e.button === 0 && !state.isPressed) triggerPressUpEvent(e, state.pointerType || e.pointerType);\n };\n pressProps.onPointerEnter = (e)=>{\n if (e.pointerId === state.activePointerId && state.target && !state.isOverTarget && state.pointerType != null) {\n state.isOverTarget = true;\n triggerPressStart($d27d541f9569d26d$var$createEvent(state.target, e), state.pointerType);\n }\n };\n pressProps.onPointerLeave = (e)=>{\n if (e.pointerId === state.activePointerId && state.target && state.isOverTarget && state.pointerType != null) {\n state.isOverTarget = false;\n triggerPressEndEvent($d27d541f9569d26d$var$createEvent(state.target, e), state.pointerType, false);\n cancelOnPointerExit(e);\n }\n };\n let onPointerUp = (e)=>{\n if (e.pointerId === state.activePointerId && state.isPressed && e.button === 0 && state.target) {\n if ((0, $23f2114a1b82827e$export$4282f70798064fe0)(state.target, (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e)) && state.pointerType != null) {\n // Wait for onClick to fire onPress. This avoids browser issues when the DOM\n // is mutated between onPointerUp and onClick, and is more compatible with third party libraries.\n // https://github.com/adobe/react-spectrum/issues/1513\n // https://issues.chromium.org/issues/40732224\n // However, iOS and Android do not focus or fire onClick after a long press.\n // We work around this by triggering a click ourselves after a timeout.\n // This timeout is canceled during the click event in case the real one fires first.\n // The timeout must be at least 32ms, because Safari on iOS delays the click event on\n // non-form elements without certain ARIA roles (for hover emulation).\n // https://github.com/WebKit/WebKit/blob/dccfae42bb29bd4bdef052e469f604a9387241c0/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm#L875-L892\n let clicked = false;\n let timeout = setTimeout(()=>{\n if (state.isPressed && state.target instanceof HTMLElement) {\n if (clicked) cancelEvent(e);\n else {\n (0, $1969ac565cfec8d0$export$de79e2c695e052f3)(state.target);\n state.target.click();\n }\n }\n }, 80);\n // Use a capturing listener to track if a click occurred.\n // If stopPropagation is called it may never reach our handler.\n addGlobalListener(e.currentTarget, 'click', ()=>clicked = true, true);\n state.disposables.push(()=>clearTimeout(timeout));\n } else cancelEvent(e);\n // Ignore subsequent onPointerLeave event before onClick on touch devices.\n state.isOverTarget = false;\n }\n };\n let onPointerCancel = (e)=>{\n cancelEvent(e);\n };\n pressProps.onDragStart = (e)=>{\n if (!(0, $23f2114a1b82827e$export$4282f70798064fe0)(e.currentTarget, (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e))) return;\n // Safari does not call onPointerCancel when a drag starts, whereas Chrome and Firefox do.\n cancelEvent(e);\n };\n } else if (process.env.NODE_ENV === 'test') {\n // NOTE: this fallback branch is entirely used by unit tests.\n // All browsers now support pointer events, but JSDOM still does not.\n pressProps.onMouseDown = (e)=>{\n // Only handle left clicks\n if (e.button !== 0 || !(0, $23f2114a1b82827e$export$4282f70798064fe0)(e.currentTarget, (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e))) return;\n if (state.ignoreEmulatedMouseEvents) {\n e.stopPropagation();\n return;\n }\n state.isPressed = true;\n state.isOverTarget = true;\n state.target = e.currentTarget;\n state.pointerType = (0, $b5c62b033c25b96d$export$60278871457622de)(e.nativeEvent) ? 'virtual' : 'mouse';\n // Flush sync so that focus moved during react re-renders occurs before we yield back to the browser.\n let shouldStopPropagation = (0, $fL2C6$flushSync)(()=>triggerPressStart(e, state.pointerType));\n if (shouldStopPropagation) e.stopPropagation();\n if (preventFocusOnPress) {\n let dispose = (0, $a92dc41f639950be$export$cabe61c495ee3649)(e.target);\n if (dispose) state.disposables.push(dispose);\n }\n addGlobalListener((0, $d447af545b77c9f1$export$b204af158042fbac)(e.currentTarget), 'mouseup', onMouseUp, false);\n };\n pressProps.onMouseEnter = (e)=>{\n if (!(0, $23f2114a1b82827e$export$4282f70798064fe0)(e.currentTarget, (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e))) return;\n let shouldStopPropagation = true;\n if (state.isPressed && !state.ignoreEmulatedMouseEvents && state.pointerType != null) {\n state.isOverTarget = true;\n shouldStopPropagation = triggerPressStart(e, state.pointerType);\n }\n if (shouldStopPropagation) e.stopPropagation();\n };\n pressProps.onMouseLeave = (e)=>{\n if (!(0, $23f2114a1b82827e$export$4282f70798064fe0)(e.currentTarget, (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e))) return;\n let shouldStopPropagation = true;\n if (state.isPressed && !state.ignoreEmulatedMouseEvents && state.pointerType != null) {\n state.isOverTarget = false;\n shouldStopPropagation = triggerPressEndEvent(e, state.pointerType, false);\n cancelOnPointerExit(e);\n }\n if (shouldStopPropagation) e.stopPropagation();\n };\n pressProps.onMouseUp = (e)=>{\n if (!(0, $23f2114a1b82827e$export$4282f70798064fe0)(e.currentTarget, (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e))) return;\n if (!state.ignoreEmulatedMouseEvents && e.button === 0 && !state.isPressed) triggerPressUpEvent(e, state.pointerType || 'mouse');\n };\n let onMouseUp = (e)=>{\n // Only handle left clicks\n if (e.button !== 0) return;\n if (state.ignoreEmulatedMouseEvents) {\n state.ignoreEmulatedMouseEvents = false;\n return;\n }\n if (state.target && (0, $23f2114a1b82827e$export$4282f70798064fe0)(state.target, (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e)) && state.pointerType != null) ;\n else cancelEvent(e);\n state.isOverTarget = false;\n };\n pressProps.onTouchStart = (e)=>{\n if (!(0, $23f2114a1b82827e$export$4282f70798064fe0)(e.currentTarget, (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e))) return;\n let touch = $d27d541f9569d26d$var$getTouchFromEvent(e.nativeEvent);\n if (!touch) return;\n state.activePointerId = touch.identifier;\n state.ignoreEmulatedMouseEvents = true;\n state.isOverTarget = true;\n state.isPressed = true;\n state.target = e.currentTarget;\n state.pointerType = 'touch';\n if (!allowTextSelectionOnPress) (0, $cbf007e418543821$export$16a4697467175487)(state.target);\n let shouldStopPropagation = triggerPressStart($d27d541f9569d26d$var$createTouchEvent(state.target, e), state.pointerType);\n if (shouldStopPropagation) e.stopPropagation();\n addGlobalListener((0, $d447af545b77c9f1$export$f21a1ffae260145a)(e.currentTarget), 'scroll', onScroll, true);\n };\n pressProps.onTouchMove = (e)=>{\n if (!(0, $23f2114a1b82827e$export$4282f70798064fe0)(e.currentTarget, (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e))) return;\n if (!state.isPressed) {\n e.stopPropagation();\n return;\n }\n let touch = $d27d541f9569d26d$var$getTouchById(e.nativeEvent, state.activePointerId);\n let shouldStopPropagation = true;\n if (touch && $d27d541f9569d26d$var$isOverTarget(touch, e.currentTarget)) {\n if (!state.isOverTarget && state.pointerType != null) {\n state.isOverTarget = true;\n shouldStopPropagation = triggerPressStart($d27d541f9569d26d$var$createTouchEvent(state.target, e), state.pointerType);\n }\n } else if (state.isOverTarget && state.pointerType != null) {\n state.isOverTarget = false;\n shouldStopPropagation = triggerPressEndEvent($d27d541f9569d26d$var$createTouchEvent(state.target, e), state.pointerType, false);\n cancelOnPointerExit($d27d541f9569d26d$var$createTouchEvent(state.target, e));\n }\n if (shouldStopPropagation) e.stopPropagation();\n };\n pressProps.onTouchEnd = (e)=>{\n if (!(0, $23f2114a1b82827e$export$4282f70798064fe0)(e.currentTarget, (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e))) return;\n if (!state.isPressed) {\n e.stopPropagation();\n return;\n }\n let touch = $d27d541f9569d26d$var$getTouchById(e.nativeEvent, state.activePointerId);\n let shouldStopPropagation = true;\n if (touch && $d27d541f9569d26d$var$isOverTarget(touch, e.currentTarget) && state.pointerType != null) {\n triggerPressUpEvent($d27d541f9569d26d$var$createTouchEvent(state.target, e), state.pointerType);\n shouldStopPropagation = triggerPressEndEvent($d27d541f9569d26d$var$createTouchEvent(state.target, e), state.pointerType);\n triggerSyntheticClick(e.nativeEvent, state.target);\n } else if (state.isOverTarget && state.pointerType != null) shouldStopPropagation = triggerPressEndEvent($d27d541f9569d26d$var$createTouchEvent(state.target, e), state.pointerType, false);\n if (shouldStopPropagation) e.stopPropagation();\n state.isPressed = false;\n state.activePointerId = null;\n state.isOverTarget = false;\n state.ignoreEmulatedMouseEvents = true;\n if (state.target && !allowTextSelectionOnPress) (0, $cbf007e418543821$export$b0d6fa1ab32e3295)(state.target);\n removeAllGlobalListeners();\n };\n pressProps.onTouchCancel = (e)=>{\n if (!(0, $23f2114a1b82827e$export$4282f70798064fe0)(e.currentTarget, (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e))) return;\n e.stopPropagation();\n if (state.isPressed) cancelEvent($d27d541f9569d26d$var$createTouchEvent(state.target, e));\n };\n let onScroll = (e)=>{\n if (state.isPressed && (0, $23f2114a1b82827e$export$4282f70798064fe0)((0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e), state.target)) cancelEvent({\n currentTarget: state.target,\n shiftKey: false,\n ctrlKey: false,\n metaKey: false,\n altKey: false\n });\n };\n pressProps.onDragStart = (e)=>{\n if (!(0, $23f2114a1b82827e$export$4282f70798064fe0)(e.currentTarget, (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e))) return;\n cancelEvent(e);\n };\n }\n return pressProps;\n }, [\n addGlobalListener,\n isDisabled,\n preventFocusOnPress,\n removeAllGlobalListeners,\n allowTextSelectionOnPress,\n cancelOnPointerExit,\n triggerPressStart,\n triggerClick,\n triggerSyntheticClick\n ]);\n // Avoid onClick delay for double tap to zoom by default.\n (0, $fL2C6$useEffect)(()=>{\n if (!domRef || process.env.NODE_ENV === 'test') return;\n const ownerDocument = (0, $d447af545b77c9f1$export$b204af158042fbac)(domRef.current);\n if (!ownerDocument || !ownerDocument.head || ownerDocument.getElementById($d27d541f9569d26d$var$STYLE_ID)) return;\n const style = ownerDocument.createElement('style');\n style.id = $d27d541f9569d26d$var$STYLE_ID;\n let nonce = (0, $2b2d34ff061957fb$export$2b85b721e524d74b)(ownerDocument);\n if (nonce) style.nonce = nonce;\n // touchAction: 'manipulation' is supposed to be equivalent, but in\n // Safari it causes onPointerCancel not to fire on scroll.\n // https://bugs.webkit.org/show_bug.cgi?id=240917\n style.textContent = `\n@layer {\n [${$d27d541f9569d26d$var$PRESSABLE_ATTRIBUTE}] {\n touch-action: pan-x pan-y pinch-zoom;\n }\n}\n `.trim();\n ownerDocument.head.prepend(style);\n }, [\n domRef\n ]);\n // Remove user-select: none in case component unmounts immediately after pressStart\n (0, $fL2C6$useEffect)(()=>{\n let state = ref.current;\n return ()=>{\n if (!allowTextSelectionOnPress) (0, $cbf007e418543821$export$b0d6fa1ab32e3295)(state.target ?? undefined);\n for (let dispose of state.disposables)dispose();\n state.disposables = [];\n };\n }, [\n allowTextSelectionOnPress\n ]);\n return {\n isPressed: isPressedProp || isPressed,\n // oxlint-disable-next-line react/react-compiler\n pressProps: (0, $bbaa08b3cd72f041$export$9d1611c77c2fe928)(domProps, pressProps, {\n [$d27d541f9569d26d$var$PRESSABLE_ATTRIBUTE]: true\n })\n };\n}\nfunction $d27d541f9569d26d$var$isHTMLAnchorLink(target) {\n return target.tagName === 'A' && target.hasAttribute('href');\n}\nfunction $d27d541f9569d26d$var$isValidKeyboardEvent(event, currentTarget) {\n const { key: key, code: code } = event;\n const element = currentTarget;\n const role = element.getAttribute('role');\n // Accessibility for keyboards. Space and Enter only.\n // \"Spacebar\" is for IE 11\n return (key === 'Enter' || key === ' ' || key === 'Spacebar' || code === 'Space') && !(element instanceof (0, $d447af545b77c9f1$export$f21a1ffae260145a)(element).HTMLInputElement && !$d27d541f9569d26d$var$isValidInputKey(element, key) || element instanceof (0, $d447af545b77c9f1$export$f21a1ffae260145a)(element).HTMLTextAreaElement || element.isContentEditable) && // Links should only trigger with Enter key\n !((role === 'link' || !role && $d27d541f9569d26d$var$isHTMLAnchorLink(element)) && key !== 'Enter');\n}\nfunction $d27d541f9569d26d$var$getTouchFromEvent(event) {\n const { targetTouches: targetTouches } = event;\n if (targetTouches.length > 0) return targetTouches[0];\n return null;\n}\nfunction $d27d541f9569d26d$var$getTouchById(event, pointerId) {\n const changedTouches = event.changedTouches;\n for(let i = 0; i < changedTouches.length; i++){\n const touch = changedTouches[i];\n if (touch.identifier === pointerId) return touch;\n }\n return null;\n}\nfunction $d27d541f9569d26d$var$createTouchEvent(target, e) {\n let clientX = 0;\n let clientY = 0;\n if (e.targetTouches && e.targetTouches.length === 1) {\n clientX = e.targetTouches[0].clientX;\n clientY = e.targetTouches[0].clientY;\n }\n return {\n currentTarget: target,\n shiftKey: e.shiftKey,\n ctrlKey: e.ctrlKey,\n metaKey: e.metaKey,\n altKey: e.altKey,\n clientX: clientX,\n clientY: clientY\n };\n}\nfunction $d27d541f9569d26d$var$createEvent(target, e) {\n let clientX = e.clientX;\n let clientY = e.clientY;\n return {\n currentTarget: target,\n shiftKey: e.shiftKey,\n ctrlKey: e.ctrlKey,\n metaKey: e.metaKey,\n altKey: e.altKey,\n clientX: clientX,\n clientY: clientY,\n key: e.key\n };\n}\nfunction $d27d541f9569d26d$var$getPointClientRect(point) {\n let offsetX = 0;\n let offsetY = 0;\n if (point.width !== undefined) offsetX = point.width / 2;\n else if (point.radiusX !== undefined) offsetX = point.radiusX;\n if (point.height !== undefined) offsetY = point.height / 2;\n else if (point.radiusY !== undefined) offsetY = point.radiusY;\n return {\n top: point.clientY - offsetY,\n right: point.clientX + offsetX,\n bottom: point.clientY + offsetY,\n left: point.clientX - offsetX\n };\n}\nfunction $d27d541f9569d26d$var$areRectanglesOverlapping(a, b) {\n // check if they cannot overlap on x axis\n if (a.left > b.right || b.left > a.right) return false;\n // check if they cannot overlap on y axis\n if (a.top > b.bottom || b.top > a.bottom) return false;\n return true;\n}\nfunction $d27d541f9569d26d$var$isOverTarget(point, target) {\n let rect = target.getBoundingClientRect();\n let pointRect = $d27d541f9569d26d$var$getPointClientRect(point);\n return $d27d541f9569d26d$var$areRectanglesOverlapping(rect, pointRect);\n}\nfunction $d27d541f9569d26d$var$shouldPreventDefaultUp(target) {\n if (target instanceof HTMLInputElement) return false;\n if (target instanceof HTMLButtonElement) return target.type !== 'submit' && target.type !== 'reset';\n if ($d27d541f9569d26d$var$isHTMLAnchorLink(target)) return false;\n return true;\n}\nfunction $d27d541f9569d26d$var$shouldPreventDefaultKeyboard(target, key) {\n // Don't prevent the contextmenu shortcut on mac.\n if ((0, $2add3ce32c6007eb$export$9ac100e40613ea10)() && key === 'Enter') return false;\n if (target instanceof HTMLInputElement) {\n if (key === 'Enter' && (target.type === 'checkbox' || target.type === 'radio')) // Enter on a checkbox or radio should do an implicit form submission, but not toggle the input.\n return false;\n return !$d27d541f9569d26d$var$isValidInputKey(target, key);\n }\n return $d27d541f9569d26d$var$shouldPreventDefaultUp(target);\n}\nconst $d27d541f9569d26d$var$nonTextInputTypes = new Set([\n 'checkbox',\n 'radio',\n 'range',\n 'color',\n 'file',\n 'image',\n 'button',\n 'submit',\n 'reset'\n]);\nfunction $d27d541f9569d26d$var$isValidInputKey(target, key) {\n // Only space should toggle checkboxes and radios, not enter.\n return target.type === 'checkbox' || target.type === 'radio' ? key === ' ' : $d27d541f9569d26d$var$nonTextInputTypes.has(target.type);\n}\n\n\nexport {$d27d541f9569d26d$export$45712eceda6fad21 as usePress};\n//# sourceMappingURL=usePress.mjs.map\n","import {filterDOMProps as $8e9d2fae0ecb9001$export$457c3d6518dd4c6f} from \"../utils/filterDOMProps.mjs\";\nimport {mergeProps as $bbaa08b3cd72f041$export$9d1611c77c2fe928} from \"../utils/mergeProps.mjs\";\nimport {useFocusable as $d1116acdf220c2da$export$4c014de7c8940b4c} from \"../interactions/useFocusable.mjs\";\nimport {usePress as $d27d541f9569d26d$export$45712eceda6fad21} from \"../interactions/usePress.mjs\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\nfunction $ac4318a9c075bb9f$export$ea18c227d4417cc3(props, ref) {\n let { elementType: elementType = 'button', isDisabled: isDisabled, onPress: onPress, onPressStart: onPressStart, onPressEnd: onPressEnd, onPressUp: onPressUp, onPressChange: onPressChange, preventFocusOnPress: preventFocusOnPress, allowFocusWhenDisabled: // @ts-ignore - undocumented\n allowFocusWhenDisabled, onClick: onClick, href: href, target: target, rel: rel, type: type = 'button' } = props;\n let additionalProps;\n if (elementType === 'button') additionalProps = {\n type: type,\n disabled: isDisabled,\n form: props.form,\n formAction: props.formAction,\n formEncType: props.formEncType,\n formMethod: props.formMethod,\n formNoValidate: props.formNoValidate,\n formTarget: props.formTarget,\n name: props.name,\n value: props.value\n };\n else additionalProps = {\n role: 'button',\n href: elementType === 'a' && !isDisabled ? href : undefined,\n target: elementType === 'a' ? target : undefined,\n type: elementType === 'input' ? type : undefined,\n disabled: elementType === 'input' ? isDisabled : undefined,\n 'aria-disabled': !isDisabled || elementType === 'input' ? undefined : isDisabled,\n rel: elementType === 'a' ? rel : undefined\n };\n let { pressProps: pressProps, isPressed: isPressed } = (0, $d27d541f9569d26d$export$45712eceda6fad21)({\n onPressStart: onPressStart,\n onPressEnd: onPressEnd,\n onPressChange: onPressChange,\n onPress: onPress,\n onPressUp: onPressUp,\n onClick: onClick,\n isDisabled: isDisabled,\n preventFocusOnPress: preventFocusOnPress,\n ref: ref\n });\n let { focusableProps: focusableProps } = (0, $d1116acdf220c2da$export$4c014de7c8940b4c)(props, ref);\n if (allowFocusWhenDisabled) // oxlint-disable-next-line react/react-compiler\n focusableProps.tabIndex = isDisabled ? -1 : focusableProps.tabIndex;\n let buttonProps = (0, $bbaa08b3cd72f041$export$9d1611c77c2fe928)(focusableProps, pressProps, (0, $8e9d2fae0ecb9001$export$457c3d6518dd4c6f)(props, {\n labelable: true\n }));\n return {\n isPressed: isPressed,\n buttonProps: (0, $bbaa08b3cd72f041$export$9d1611c77c2fe928)(additionalProps, buttonProps, {\n 'aria-haspopup': props['aria-haspopup'],\n 'aria-expanded': props['aria-expanded'],\n 'aria-controls': props['aria-controls'],\n 'aria-pressed': props['aria-pressed'],\n 'aria-current': props['aria-current'],\n 'aria-disabled': props['aria-disabled']\n })\n };\n}\n\n\nexport {$ac4318a9c075bb9f$export$ea18c227d4417cc3 as useButton};\n//# sourceMappingURL=useButton.mjs.map\n","import {createSyntheticEvent as $a92dc41f639950be$export$525bc4921d56d4a, setEventTarget as $a92dc41f639950be$export$c2b7abe5d61ec696, useSyntheticBlurEvent as $a92dc41f639950be$export$715c682d09d639cc} from \"./utils.mjs\";\nimport {getActiveElement as $23f2114a1b82827e$export$cd4e5573fbe2b576, getEventTarget as $23f2114a1b82827e$export$e58f029f0fbfdb29, nodeContains as $23f2114a1b82827e$export$4282f70798064fe0} from \"../utils/shadowdom/DOMFunctions.mjs\";\nimport {getOwnerDocument as $d447af545b77c9f1$export$b204af158042fbac} from \"../utils/domHelpers.mjs\";\nimport {useGlobalListeners as $48a7d519b337145d$export$4eaf04e54aa8eed6} from \"../utils/useGlobalListeners.mjs\";\nimport {useRef as $5319z$useRef, useCallback as $5319z$useCallback} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\n\n\n\n\nfunction $2c9edc598a03d523$export$420e68273165f4ec(props) {\n let { isDisabled: isDisabled, onBlurWithin: onBlurWithin, onFocusWithin: onFocusWithin, onFocusWithinChange: onFocusWithinChange } = props;\n let state = (0, $5319z$useRef)({\n isFocusWithin: false\n });\n let { addGlobalListener: addGlobalListener, removeAllGlobalListeners: removeAllGlobalListeners } = (0, $48a7d519b337145d$export$4eaf04e54aa8eed6)();\n let onBlur = (0, $5319z$useCallback)((e)=>{\n // Ignore events bubbling through portals.\n if (!(0, $23f2114a1b82827e$export$4282f70798064fe0)(e.currentTarget, (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e))) return;\n // We don't want to trigger onBlurWithin and then immediately onFocusWithin again\n // when moving focus inside the element. Only trigger if the currentTarget doesn't\n // include the relatedTarget (where focus is moving).\n if (state.current.isFocusWithin && !(0, $23f2114a1b82827e$export$4282f70798064fe0)(e.currentTarget, e.relatedTarget)) {\n state.current.isFocusWithin = false;\n removeAllGlobalListeners();\n if (onBlurWithin) onBlurWithin(e);\n if (onFocusWithinChange) onFocusWithinChange(false);\n }\n }, [\n onBlurWithin,\n onFocusWithinChange,\n state,\n removeAllGlobalListeners\n ]);\n let onSyntheticFocus = (0, $a92dc41f639950be$export$715c682d09d639cc)(onBlur);\n let onFocus = (0, $5319z$useCallback)((e)=>{\n // Ignore events bubbling through portals.\n if (!(0, $23f2114a1b82827e$export$4282f70798064fe0)(e.currentTarget, (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e))) return;\n // Double check that document.activeElement actually matches e.target in case a previously chained\n // focus handler already moved focus somewhere else.\n let eventTarget = (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e);\n const ownerDocument = (0, $d447af545b77c9f1$export$b204af158042fbac)(eventTarget);\n const activeElement = (0, $23f2114a1b82827e$export$cd4e5573fbe2b576)(ownerDocument);\n if (!state.current.isFocusWithin && activeElement === eventTarget) {\n if (onFocusWithin) onFocusWithin(e);\n if (onFocusWithinChange) onFocusWithinChange(true);\n state.current.isFocusWithin = true;\n onSyntheticFocus(e);\n // Browsers don't fire blur events when elements are removed from the DOM.\n // However, if a focus event occurs outside the element we're tracking, we\n // can manually fire onBlur.\n let currentTarget = e.currentTarget;\n addGlobalListener(ownerDocument, 'focus', (e)=>{\n let eventTarget = (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e);\n if (state.current.isFocusWithin && !(0, $23f2114a1b82827e$export$4282f70798064fe0)(currentTarget, eventTarget)) {\n let nativeEvent = new ownerDocument.defaultView.FocusEvent('blur', {\n relatedTarget: eventTarget\n });\n (0, $a92dc41f639950be$export$c2b7abe5d61ec696)(nativeEvent, currentTarget);\n let event = (0, $a92dc41f639950be$export$525bc4921d56d4a)(nativeEvent);\n onBlur(event);\n }\n }, {\n capture: true\n });\n }\n }, [\n onFocusWithin,\n onFocusWithinChange,\n onSyntheticFocus,\n addGlobalListener,\n onBlur\n ]);\n if (isDisabled) return {\n focusWithinProps: {\n // These cannot be null, that would conflict in mergeProps\n onFocus: undefined,\n onBlur: undefined\n }\n };\n return {\n focusWithinProps: {\n onFocus: onFocus,\n onBlur: onBlur\n }\n };\n}\n\n\nexport {$2c9edc598a03d523$export$420e68273165f4ec as useFocusWithin};\n//# sourceMappingURL=useFocusWithin.mjs.map\n","import {isFocusVisible as $8f5a2122b0992be3$export$b9b3dfddab17db27, useFocusVisibleListener as $8f5a2122b0992be3$export$ec71b4b83ac08ec3} from \"../interactions/useFocusVisible.mjs\";\nimport {useFocus as $1e74c67db218ce67$export$f8168d8dd8fd66e6} from \"../interactions/useFocus.mjs\";\nimport {useFocusWithin as $2c9edc598a03d523$export$420e68273165f4ec} from \"../interactions/useFocusWithin.mjs\";\nimport {useRef as $3s2y0$useRef, useState as $3s2y0$useState, useCallback as $3s2y0$useCallback} from \"react\";\n\n\n\n\n\nfunction $0c4a58759813079a$export$4e328f61c538687f(props = {}) {\n let { autoFocus: autoFocus = false, isTextInput: isTextInput, within: within } = props;\n let state = (0, $3s2y0$useRef)({\n isFocused: false,\n isFocusVisible: autoFocus || (0, $8f5a2122b0992be3$export$b9b3dfddab17db27)()\n });\n let [isFocused, setFocused] = (0, $3s2y0$useState)(false);\n let [isFocusVisibleState, setFocusVisible] = (0, $3s2y0$useState)(// oxlint-disable-next-line react/react-compiler\n ()=>state.current.isFocused && state.current.isFocusVisible);\n let updateState = (0, $3s2y0$useCallback)(()=>setFocusVisible(state.current.isFocused && state.current.isFocusVisible), []);\n let onFocusChange = (0, $3s2y0$useCallback)((isFocused)=>{\n state.current.isFocused = isFocused;\n state.current.isFocusVisible = (0, $8f5a2122b0992be3$export$b9b3dfddab17db27)();\n setFocused(isFocused);\n updateState();\n }, [\n updateState\n ]);\n (0, $8f5a2122b0992be3$export$ec71b4b83ac08ec3)((isFocusVisible)=>{\n state.current.isFocusVisible = isFocusVisible;\n updateState();\n }, [\n isTextInput,\n isFocused\n ], {\n enabled: isFocused,\n isTextInput: isTextInput\n });\n let { focusProps: focusProps } = (0, $1e74c67db218ce67$export$f8168d8dd8fd66e6)({\n isDisabled: within,\n onFocusChange: onFocusChange\n });\n let { focusWithinProps: focusWithinProps } = (0, $2c9edc598a03d523$export$420e68273165f4ec)({\n isDisabled: !within,\n onFocusWithinChange: onFocusChange\n });\n return {\n isFocused: isFocused,\n isFocusVisible: isFocusVisibleState,\n focusProps: within ? focusWithinProps : focusProps\n };\n}\n\n\nexport {$0c4a58759813079a$export$4e328f61c538687f as useFocusRing};\n//# sourceMappingURL=useFocusRing.mjs.map\n","import {getEventTarget as $23f2114a1b82827e$export$e58f029f0fbfdb29, nodeContains as $23f2114a1b82827e$export$4282f70798064fe0} from \"../utils/shadowdom/DOMFunctions.mjs\";\nimport {getOwnerDocument as $d447af545b77c9f1$export$b204af158042fbac} from \"../utils/domHelpers.mjs\";\nimport {useGlobalListeners as $48a7d519b337145d$export$4eaf04e54aa8eed6} from \"../utils/useGlobalListeners.mjs\";\nimport {useState as $hZqKM$useState, useRef as $hZqKM$useRef, useEffect as $hZqKM$useEffect, useMemo as $hZqKM$useMemo} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ // Portions of the code in this file are based on code from react.\n// Original licensing for the following can be found in the\n// NOTICE file in the root directory of this source tree.\n// See https://github.com/facebook/react/tree/cc7c1aece46a6b69b41958d731e0fd27c94bfc6c/packages/react-interactions\n\n\n\n\n// iOS fires onPointerEnter twice: once with pointerType=\"touch\" and again with pointerType=\"mouse\".\n// We want to ignore these emulated events so they do not trigger hover behavior.\n// See https://bugs.webkit.org/show_bug.cgi?id=214609.\nlet $e969f22b6713ca4a$var$globalIgnoreEmulatedMouseEvents = false;\nlet $e969f22b6713ca4a$var$hoverCount = 0;\nfunction $e969f22b6713ca4a$var$setGlobalIgnoreEmulatedMouseEvents() {\n $e969f22b6713ca4a$var$globalIgnoreEmulatedMouseEvents = true;\n // Clear globalIgnoreEmulatedMouseEvents after a short timeout. iOS fires onPointerEnter\n // with pointerType=\"mouse\" immediately after onPointerUp and before onFocus. On other\n // devices that don't have this quirk, we don't want to ignore a mouse hover sometime in\n // the distant future because a user previously touched the element.\n setTimeout(()=>{\n $e969f22b6713ca4a$var$globalIgnoreEmulatedMouseEvents = false;\n }, 500);\n}\nfunction $e969f22b6713ca4a$var$handleGlobalPointerEvent(e) {\n if (e.pointerType === 'touch') $e969f22b6713ca4a$var$setGlobalIgnoreEmulatedMouseEvents();\n}\nfunction $e969f22b6713ca4a$var$setupGlobalTouchEvents() {\n let ownerDocument = (0, $d447af545b77c9f1$export$b204af158042fbac)(null);\n if (typeof ownerDocument === 'undefined') return;\n if ($e969f22b6713ca4a$var$hoverCount === 0) {\n if (typeof PointerEvent !== 'undefined') ownerDocument.addEventListener('pointerup', $e969f22b6713ca4a$var$handleGlobalPointerEvent);\n else if (process.env.NODE_ENV === 'test') ownerDocument.addEventListener('touchend', $e969f22b6713ca4a$var$setGlobalIgnoreEmulatedMouseEvents);\n }\n $e969f22b6713ca4a$var$hoverCount++;\n return ()=>{\n $e969f22b6713ca4a$var$hoverCount--;\n if ($e969f22b6713ca4a$var$hoverCount > 0) return;\n if (typeof PointerEvent !== 'undefined') ownerDocument.removeEventListener('pointerup', $e969f22b6713ca4a$var$handleGlobalPointerEvent);\n else if (process.env.NODE_ENV === 'test') ownerDocument.removeEventListener('touchend', $e969f22b6713ca4a$var$setGlobalIgnoreEmulatedMouseEvents);\n };\n}\nfunction $e969f22b6713ca4a$export$ae780daf29e6d456(props) {\n let { onHoverStart: onHoverStart, onHoverChange: onHoverChange, onHoverEnd: onHoverEnd, isDisabled: isDisabled } = props;\n let [isHovered, setHovered] = (0, $hZqKM$useState)(false);\n let state = (0, $hZqKM$useRef)({\n isHovered: false,\n ignoreEmulatedMouseEvents: false,\n pointerType: '',\n target: null\n }).current;\n (0, $hZqKM$useEffect)($e969f22b6713ca4a$var$setupGlobalTouchEvents, []);\n let { addGlobalListener: addGlobalListener, removeAllGlobalListeners: removeAllGlobalListeners } = (0, $48a7d519b337145d$export$4eaf04e54aa8eed6)();\n let { hoverProps: hoverProps, triggerHoverEnd: triggerHoverEnd } = (0, $hZqKM$useMemo)(()=>{\n let triggerHoverStart = (event, pointerType)=>{\n state.pointerType = pointerType;\n if (isDisabled || pointerType === 'touch' || state.isHovered || !(0, $23f2114a1b82827e$export$4282f70798064fe0)(event.currentTarget, (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(event))) return;\n state.isHovered = true;\n let target = event.currentTarget;\n state.target = target;\n // When an element that is hovered over is removed, no pointerleave event is fired by the browser,\n // even though the originally hovered target may have shrunk in size so it is no longer hovered.\n // However, a pointerover event will be fired on the new target the mouse is over.\n // In Chrome this happens immediately. In Safari and Firefox, it happens upon moving the mouse one pixel.\n addGlobalListener((0, $d447af545b77c9f1$export$b204af158042fbac)((0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(event)), 'pointerover', (e)=>{\n if (state.isHovered && state.target && !(0, $23f2114a1b82827e$export$4282f70798064fe0)(state.target, (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e))) // oxlint-disable-next-line react/react-compiler\n triggerHoverEnd(e, e.pointerType);\n }, {\n capture: true\n });\n if (onHoverStart) onHoverStart({\n type: 'hoverstart',\n target: target,\n pointerType: pointerType\n });\n if (onHoverChange) onHoverChange(true);\n setHovered(true);\n };\n let triggerHoverEnd = (event, pointerType)=>{\n let target = state.target;\n state.pointerType = '';\n state.target = null;\n if (pointerType === 'touch' || !state.isHovered || !target) return;\n state.isHovered = false;\n removeAllGlobalListeners();\n if (onHoverEnd) onHoverEnd({\n type: 'hoverend',\n target: target,\n pointerType: pointerType\n });\n if (onHoverChange) onHoverChange(false);\n setHovered(false);\n };\n let hoverProps = {};\n if (typeof PointerEvent !== 'undefined') {\n hoverProps.onPointerEnter = (e)=>{\n if ($e969f22b6713ca4a$var$globalIgnoreEmulatedMouseEvents && e.pointerType === 'mouse') return;\n triggerHoverStart(e, e.pointerType);\n };\n hoverProps.onPointerLeave = (e)=>{\n if (!isDisabled && (0, $23f2114a1b82827e$export$4282f70798064fe0)(e.currentTarget, (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e))) triggerHoverEnd(e, e.pointerType);\n };\n } else if (process.env.NODE_ENV === 'test') {\n hoverProps.onTouchStart = ()=>{\n state.ignoreEmulatedMouseEvents = true;\n };\n hoverProps.onMouseEnter = (e)=>{\n if (!state.ignoreEmulatedMouseEvents && !$e969f22b6713ca4a$var$globalIgnoreEmulatedMouseEvents) triggerHoverStart(e, 'mouse');\n state.ignoreEmulatedMouseEvents = false;\n };\n hoverProps.onMouseLeave = (e)=>{\n if (!isDisabled && (0, $23f2114a1b82827e$export$4282f70798064fe0)(e.currentTarget, (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e))) triggerHoverEnd(e, 'mouse');\n };\n }\n return {\n hoverProps: hoverProps,\n triggerHoverEnd: triggerHoverEnd\n };\n }, [\n onHoverStart,\n onHoverChange,\n onHoverEnd,\n isDisabled,\n state,\n addGlobalListener,\n removeAllGlobalListeners\n ]);\n (0, $hZqKM$useEffect)(()=>{\n // Call the triggerHoverEnd as soon as isDisabled changes to true\n // Safe to call triggerHoverEnd, it will early return if we aren't currently hovering\n if (isDisabled) triggerHoverEnd({\n currentTarget: state.target\n }, state.pointerType);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n isDisabled\n ]);\n return {\n hoverProps: hoverProps,\n isHovered: isHovered\n };\n}\n\n\nexport {$e969f22b6713ca4a$export$ae780daf29e6d456 as useHover};\n//# sourceMappingURL=useHover.mjs.map\n","import {dom as $7230ffa83bc0c2cf$export$df3a06d6289f983e, useContextProps as $7230ffa83bc0c2cf$export$29f1550f4b0d4415, useRenderProps as $7230ffa83bc0c2cf$export$4d86445c2cf5e3} from \"./utils.mjs\";\nimport {ProgressBarContext as $6c0095e7e99364f2$export$e9f3bf65a26ce129} from \"./ProgressBar.mjs\";\nimport {announce as $9s8kH$announce} from \"react-aria/private/live-announcer/LiveAnnouncer\";\nimport {useButton as $9s8kH$useButton} from \"react-aria/useButton\";\nimport {createHideableComponent as $9s8kH$createHideableComponent} from \"react-aria/private/collections/Hidden\";\nimport {filterDOMProps as $9s8kH$filterDOMProps} from \"react-aria/filterDOMProps\";\nimport {mergeProps as $9s8kH$mergeProps} from \"react-aria/mergeProps\";\nimport $9s8kH$react, {createContext as $9s8kH$createContext, useRef as $9s8kH$useRef, useEffect as $9s8kH$useEffect} from \"react\";\nimport {useFocusRing as $9s8kH$useFocusRing} from \"react-aria/useFocusRing\";\nimport {useHover as $9s8kH$useHover} from \"react-aria/useHover\";\nimport {useId as $9s8kH$useId} from \"react-aria/useId\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\n\n\n\n\n\n\nconst $7705c033048f6da7$export$24d547caef80ccd1 = /*#__PURE__*/ (0, $9s8kH$createContext)({});\nconst $7705c033048f6da7$export$353f5b6fc5456de1 = /*#__PURE__*/ (0, $9s8kH$createHideableComponent)(function Button(props, ref) {\n [props, ref] = (0, $7230ffa83bc0c2cf$export$29f1550f4b0d4415)(props, ref, $7705c033048f6da7$export$24d547caef80ccd1);\n let ctx = props;\n let { isPending: isPending } = ctx;\n let { buttonProps: buttonProps, isPressed: isPressed } = (0, $9s8kH$useButton)(props, ref);\n buttonProps = $7705c033048f6da7$var$useDisableInteractions(buttonProps, isPending);\n let { focusProps: focusProps, isFocused: isFocused, isFocusVisible: isFocusVisible } = (0, $9s8kH$useFocusRing)(props);\n let { hoverProps: hoverProps, isHovered: isHovered } = (0, $9s8kH$useHover)({\n ...props,\n isDisabled: props.isDisabled || isPending\n });\n let renderValues = {\n isHovered: isHovered,\n isPressed: (ctx.isPressed || isPressed) && !isPending,\n isFocused: isFocused,\n isFocusVisible: isFocusVisible,\n isDisabled: props.isDisabled || false,\n isPending: isPending ?? false\n };\n let renderProps = (0, $7230ffa83bc0c2cf$export$4d86445c2cf5e3)({\n ...props,\n values: renderValues,\n defaultClassName: 'react-aria-Button'\n });\n let buttonId = (0, $9s8kH$useId)(buttonProps.id);\n let progressId = (0, $9s8kH$useId)();\n let ariaLabelledby = buttonProps['aria-labelledby'];\n if (isPending) {\n // aria-labelledby wins over aria-label\n // https://www.w3.org/TR/accname-1.2/#computation-steps\n if (ariaLabelledby) ariaLabelledby = `${ariaLabelledby} ${progressId}`;\n else if (buttonProps['aria-label']) ariaLabelledby = `${buttonId} ${progressId}`;\n }\n let wasPending = (0, $9s8kH$useRef)(isPending);\n (0, $9s8kH$useEffect)(()=>{\n let message = {\n 'aria-labelledby': ariaLabelledby || buttonId\n };\n if (!wasPending.current && isFocused && isPending) (0, $9s8kH$announce)(message, 'assertive');\n else if (wasPending.current && isFocused && !isPending) (0, $9s8kH$announce)(message, 'assertive');\n wasPending.current = isPending;\n }, [\n isPending,\n isFocused,\n ariaLabelledby,\n buttonId\n ]);\n let DOMProps = (0, $9s8kH$filterDOMProps)(props, {\n global: true\n });\n delete DOMProps.onClick;\n return /*#__PURE__*/ (0, $9s8kH$react).createElement((0, $7230ffa83bc0c2cf$export$df3a06d6289f983e).button, {\n ...(0, $9s8kH$mergeProps)(DOMProps, renderProps, buttonProps, focusProps, hoverProps),\n // When the button is in a pending state, we want to stop implicit form submission (ie. when the user presses enter on a text input).\n // We do this by changing the button's type to button.\n type: buttonProps.type === 'submit' && isPending ? 'button' : buttonProps.type,\n id: buttonId,\n ref: ref,\n \"aria-labelledby\": ariaLabelledby,\n slot: props.slot || undefined,\n \"aria-disabled\": isPending ? 'true' : buttonProps['aria-disabled'],\n \"data-disabled\": props.isDisabled || undefined,\n \"data-pressed\": renderValues.isPressed || undefined,\n \"data-hovered\": isHovered || undefined,\n \"data-focused\": isFocused || undefined,\n \"data-pending\": isPending || undefined,\n \"data-focus-visible\": isFocusVisible || undefined\n }, /*#__PURE__*/ (0, $9s8kH$react).createElement((0, $6c0095e7e99364f2$export$e9f3bf65a26ce129).Provider, {\n value: {\n id: progressId\n }\n }, renderProps.children));\n});\n// Events to preserve when isPending is true (for tooltips and other overlays)\nconst $7705c033048f6da7$var$PRESERVED_EVENT_PATTERN = /Focus|Blur|Hover|Pointer(Enter|Leave|Over|Out)|Mouse(Enter|Leave|Over|Out)/;\nfunction $7705c033048f6da7$var$useDisableInteractions(props, isPending) {\n if (isPending) {\n for(const key in props)if (key.startsWith('on') && !$7705c033048f6da7$var$PRESERVED_EVENT_PATTERN.test(key)) props[key] = undefined;\n props.href = undefined;\n props.target = undefined;\n }\n return props;\n}\n\n\nexport {$7705c033048f6da7$export$24d547caef80ccd1 as ButtonContext, $7705c033048f6da7$export$353f5b6fc5456de1 as Button};\n//# sourceMappingURL=Button.mjs.map\n","import createIcon from '../../icons/createIcon';\n\nconst IconLoadingCircle = createIcon('IconLoadingCircle', '0 0 64 64', [\n [\n 'g',\n {\n 'clip-path': 'url(#paint0_angular_5026_1202_clip_path)',\n 'data-figma-skip-parse': 'true',\n key: 'a0e27f'\n },\n [\n {\n name: 'g',\n type: 'element',\n value: '',\n parent: null,\n attributes: {\n transform: 'matrix(0.024 5.95646e-05 -5.95646e-05 0.024 32 32)',\n key: '128776'\n },\n children: [\n {\n name: 'foreignObject',\n type: 'element',\n value: '',\n parent: null,\n attributes: {\n x: '-1086.02',\n y: '-1086.02',\n width: '2172.03',\n height: '2172.03',\n key: 'bebd40'\n },\n children: [\n {\n name: 'div',\n type: 'element',\n value: '',\n parent: null,\n attributes: {\n xmlns: 'http://www.w3.org/1999/xhtml',\n style: 'background:conic-gradient(from 90deg,rgba(255, 255, 255, 1) 0deg,rgba(255, 255, 255, 0.05) 269.818deg,rgba(255, 255, 255, 0) 315deg,rgba(255, 255, 255, 1) 360deg);height:100%;width:100%;opacity:1',\n key: 'ef0c63'\n },\n children: []\n }\n ]\n }\n ]\n }\n ]\n ],\n [\n 'path',\n {\n d: 'M18.6663 12.0452C23.2828 8.96053 28.8263 7.57149 34.3518 8.11549C39.8776 8.65974 45.0447 11.1033 48.971 15.0296L43.3147 20.6858C40.6972 18.0683 37.2525 16.4393 33.5686 16.0764C29.8848 15.7136 26.1894 16.641 23.1116 18.6975C20.0338 20.754 17.7643 23.8135 16.6897 27.3557C15.6152 30.898 15.8024 34.7034 17.219 38.1233C18.6356 41.543 21.1929 44.3667 24.4573 46.1116C27.7217 47.8565 31.4909 48.4156 35.1213 47.6936C38.7519 46.9715 42.0211 45.0121 44.3694 42.1507C46.7175 39.2893 48.0003 35.7018 48.0003 32.0003H56.0003C56.0003 37.5525 54.0751 42.9328 50.553 47.2249C47.0305 51.517 42.1277 54.4561 36.6819 55.5393C31.2362 56.6224 25.5825 55.7836 20.6858 53.1663C15.7893 50.5488 11.9512 46.3134 9.82643 41.1839C7.70194 36.0543 7.42178 30.3465 9.03346 25.0335C10.6452 19.7201 14.0497 15.13 18.6663 12.0452Z',\n 'data-figma-gradient-fill':\n '{"type":"GRADIENT_ANGULAR","stops":[{"color":{"r":1.0,"g":1.0,"b":1.0,"a":1.0},"position":0.0},{"color":{"r":1.0,"g":1.0,"b":1.0,"a":0.050000000745058060},"position":0.74949485063552856},{"color":{"r":1.0,"g":1.0,"b":1.0,"a":0.0},"position":0.8750}],"stopsVar":[],"transform":{"m00":47.999988555908203,"m01":-0.11912918835878372,"m02":8.0595760345458984,"m10":0.11912916600704193,"m11":47.999988555908203,"m12":7.9404435157775879},"opacity":1.0,"blendMode":"NORMAL","visible":true}',\n key: '8b7413'\n },\n []\n ],\n [\n 'defs',\n {\n key: 'd72f7e'\n },\n [\n {\n name: 'clipPath',\n type: 'element',\n value: '',\n parent: null,\n attributes: {\n id: 'paint0_angular_5026_1202_clip_path',\n key: 'a9d1d6'\n },\n children: [\n {\n name: 'path',\n type: 'element',\n value: '',\n parent: null,\n attributes: {\n d: 'M18.6663 12.0452C23.2828 8.96053 28.8263 7.57149 34.3518 8.11549C39.8776 8.65974 45.0447 11.1033 48.971 15.0296L43.3147 20.6858C40.6972 18.0683 37.2525 16.4393 33.5686 16.0764C29.8848 15.7136 26.1894 16.641 23.1116 18.6975C20.0338 20.754 17.7643 23.8135 16.6897 27.3557C15.6152 30.898 15.8024 34.7034 17.219 38.1233C18.6356 41.543 21.1929 44.3667 24.4573 46.1116C27.7217 47.8565 31.4909 48.4156 35.1213 47.6936C38.7519 46.9715 42.0211 45.0121 44.3694 42.1507C46.7175 39.2893 48.0003 35.7018 48.0003 32.0003H56.0003C56.0003 37.5525 54.0751 42.9328 50.553 47.2249C47.0305 51.517 42.1277 54.4561 36.6819 55.5393C31.2362 56.6224 25.5825 55.7836 20.6858 53.1663C15.7893 50.5488 11.9512 46.3134 9.82643 41.1839C7.70194 36.0543 7.42178 30.3465 9.03346 25.0335C10.6452 19.7201 14.0497 15.13 18.6663 12.0452Z',\n key: 'ad9fb2'\n },\n children: []\n }\n ]\n }\n ]\n ]\n]);\n\nexport { IconLoadingCircle };\n","'use client';\n\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { Button as AriaButton, type ButtonProps as AriaButtonProps } from 'react-aria-components/Button';\nimport { cn } from '../../utils/cn';\nimport { IconLoadingCircle } from '../icons/IconLoadingCircle.ts';\nimport { IconLoadingCircleDark } from '../icons/IconLoadingCircleDark.ts';\n\nexport const baseButtonClasses = cn(`\n flex cursor-pointer items-center justify-center gap-lr-spacing-100 rounded-lr-main px-lr-spacing-200\n text-lr-text-main outline-lr-border-focus transition\n data-disabled:text-lr-text-disabled\n data-focus-visible:outline-lr-focus data-focus-visible:outline-offset-lr-focus\n data-hovered:shadow-lr-medium\n data-pressed:shadow-none\n`);\n\nexport const buttonVariants = cva(baseButtonClasses, {\n variants: {\n size: {\n xs: 'size-lr-size-400 px-lr-spacing-100 py-lr-spacing-075 text-lr-button-xs',\n sm: 'size-lr-size-500 px-lr-spacing-150 text-lr-button-sm',\n md: 'size-lr-size-600 text-lr-button-md'\n },\n icon: {\n false: 'w-auto',\n true: `\n px-lr-spacing-150 text-lr-icon-main\n data-disabled:text-lr-icon-disabled\n `\n },\n pill: {\n false: '',\n true: 'rounded-lr-full'\n },\n onBackground: {\n false: '',\n true: ['text-lr-text-main-inverse', 'data-disabled:text-lr-text-disabled-inverse']\n },\n isLaRedoutePlus: {\n false: '',\n true: ''\n },\n variant: {\n primary: `\n bg-lr-bg-button-primary-default text-lr-text-main-inverse\n data-disabled:bg-lr-bg-button-primary-disabled data-disabled:text-lr-text-disabled-inverse\n data-hovered:bg-lr-bg-button-primary-hover\n data-pressed:bg-lr-bg-button-primary-pressed\n `,\n secondary: `\n bg-lr-bg-button-secondary-default\n data-disabled:bg-lr-bg-button-secondary-disabled\n data-hovered:bg-lr-bg-button-secondary-hover\n data-pressed:bg-lr-bg-button-secondary-pressed\n `,\n tertiary: `\n border-lr-main border-lr-border-main bg-lr-bg-button-tertiary-default backdrop-blur-lr-soft-blur\n data-disabled:border-lr-border-disabled data-disabled:bg-lr-bg-button-tertiary-disabled\n data-hovered:border-lr-border-hover data-hovered:bg-lr-bg-button-tertiary-hover\n data-pressed:border-lr-border-active data-pressed:bg-lr-bg-button-tertiary-pressed\n `,\n plain: `\n data-hovered:bg-lr-bg-button-plain-hover\n data-pressed:bg-lr-bg-button-plain-pressed\n `\n }\n },\n compoundVariants: [\n {\n variant: 'primary',\n onBackground: false,\n isLaRedoutePlus: true,\n className: cn(`\n bg-lrplus-bg-button-primary-default text-lr-text-main-inverse\n data-disabled:bg-lrplus-bg-button-primary-disabled data-disabled:text-lr-text-disabled-inverse\n data-hovered:bg-lrplus-bg-button-primary-hover\n data-pressed:bg-lrplus-bg-button-primary-pressed\n `)\n },\n {\n variant: 'primary',\n onBackground: true,\n className: cn(`\n bg-lr-bg-button-primary-default-inverse text-lr-text-main\n data-disabled:bg-lr-bg-button-primary-disabled-inverse data-disabled:text-lr-text-disabled\n data-hovered:bg-lr-bg-button-primary-hover-inverse\n data-pressed:bg-lr-bg-button-primary-pressed-inverse\n `)\n },\n {\n variant: 'secondary',\n onBackground: true,\n className: cn(`\n bg-lr-bg-button-secondary-default-inverse\n data-disabled:bg-lr-bg-button-secondary-disabled-inverse\n data-hovered:bg-lr-bg-button-secondary-hover-inverse\n data-pressed:bg-lr-bg-button-secondary-pressed-inverse\n `)\n },\n {\n variant: 'tertiary',\n onBackground: true,\n className: cn(`\n border-lr-main border-lr-border-subtle bg-lr-bg-button-tertiary-default-inverse\n data-disabled:border-lr-border-main data-disabled:bg-lr-bg-button-tertiary-disabled-inverse\n data-hovered:border-lr-border-light data-hovered:bg-lr-bg-button-tertiary-hover-inverse\n data-pressed:border-lr-border-main-inverse data-pressed:bg-lr-bg-button-tertiary-pressed-inverse\n `)\n },\n {\n variant: 'plain',\n onBackground: true,\n className: cn(`\n data-hovered:bg-lr-bg-button-plain-hover-inverse\n data-pressed:bg-lr-bg-button-plain-pressed-inverse\n `)\n },\n {\n icon: true,\n onBackground: true,\n className: cn(`\n text-lr-icon-main-inverse\n data-disabled:text-lr-icon-disabled-inverse\n `)\n },\n {\n variant: 'primary',\n onBackground: true,\n icon: true,\n className: cn(`\n text-lr-icon-main\n data-disabled:text-lr-icon-disabled\n `)\n },\n {\n variant: 'primary',\n onBackground: false,\n icon: true,\n className: cn(`\n text-lr-icon-main-inverse\n data-disabled:text-lr-icon-disabled-inverse\n `)\n },\n {\n size: 'sm',\n icon: true,\n className: 'px-lr-spacing-100'\n },\n {\n size: 'xs',\n icon: true,\n className: 'px-lr-spacing-050'\n }\n ],\n defaultVariants: {\n size: 'md',\n icon: false,\n pill: false,\n onBackground: false,\n isLaRedoutePlus: false,\n variant: 'primary'\n }\n});\n\nexport interface ButtonInteractionOptions {\n isDisabled?: boolean;\n isPending?: boolean;\n onClick?: Parameters<typeof AriaButton>[0]['onClick'];\n}\ntype ButtonInteractionHandlers = {\n handleClick: Parameters<typeof AriaButton>[0]['onClick'];\n handleKeyDown: (event: React.KeyboardEvent<HTMLButtonElement>) => void;\n};\nexport function createButtonInteractionHandlers({\n isDisabled,\n isPending,\n onClick\n}: ButtonInteractionOptions): ButtonInteractionHandlers {\n const handleClick: Parameters<typeof AriaButton>[0]['onClick'] = (event): void => {\n event.stopPropagation();\n\n if (isDisabled || isPending) {\n event.preventDefault();\n return;\n }\n\n if (onClick) {\n onClick(event);\n }\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLButtonElement>): void => {\n if ((isDisabled || isPending) && (event.key === ' ' || event.key === 'Enter')) {\n event.preventDefault();\n }\n (\n event as React.KeyboardEvent<HTMLButtonElement> & { continuePropagation?: () => void }\n ).continuePropagation?.();\n };\n\n return { handleClick, handleKeyDown };\n}\n\nexport interface ButtonProps extends AriaButtonProps, VariantProps<typeof buttonVariants> {\n ref?: React.Ref<HTMLButtonElement> | React.RefObject<HTMLButtonElement>;\n}\n\nfunction Button({\n className,\n size,\n icon,\n pill,\n onBackground,\n isLaRedoutePlus,\n variant,\n isPending,\n ref,\n children,\n onClick,\n type = 'button',\n ...rest\n}: ButtonProps) {\n const { handleClick, handleKeyDown } = createButtonInteractionHandlers({\n isDisabled: rest?.isDisabled,\n isPending,\n onClick: onClick as ((e: React.MouseEvent) => void) | undefined\n });\n\n return isPending ? (\n <AriaButton\n className={cn(\n buttonVariants({ size, icon: true, pill, onBackground, isLaRedoutePlus, variant }),\n className\n )}\n {...rest}\n ref={ref}\n isPending={true}\n >\n {!onBackground ? (\n <IconLoadingCircle className=\"animate-reverse-spin\" size=\"xs\" />\n ) : (\n <IconLoadingCircleDark className=\"animate-reverse-spin\" size=\"xs\" />\n )}\n </AriaButton>\n ) : (\n <AriaButton\n className={cn(buttonVariants({ size, icon, pill, onBackground, isLaRedoutePlus, variant }), className)}\n ref={ref}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n type={type}\n {...rest}\n >\n {children}\n </AriaButton>\n );\n}\n\nexport { Button };\nexport default Button;\n","import {dom as $7230ffa83bc0c2cf$export$df3a06d6289f983e, useContextProps as $7230ffa83bc0c2cf$export$29f1550f4b0d4415} from \"./utils.mjs\";\nimport $cGkLv$react, {createContext as $cGkLv$createContext, forwardRef as $cGkLv$forwardRef} from \"react\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nconst $efe09c6d1c304b50$export$9afb8bc826b033ea = /*#__PURE__*/ (0, $cGkLv$createContext)({});\nconst $efe09c6d1c304b50$export$5f1af8db9871e1d6 = /*#__PURE__*/ (0, $cGkLv$forwardRef)(function Text(props, ref) {\n [props, ref] = (0, $7230ffa83bc0c2cf$export$29f1550f4b0d4415)(props, ref, $efe09c6d1c304b50$export$9afb8bc826b033ea);\n let { elementType: elementType = 'span', ...domProps } = props;\n let ElementType = (0, $7230ffa83bc0c2cf$export$df3a06d6289f983e)[elementType];\n // @ts-ignore\n return /*#__PURE__*/ (0, $cGkLv$react).createElement(ElementType, {\n className: \"react-aria-Text\",\n ...domProps,\n ref: ref\n });\n});\n\n\nexport {$efe09c6d1c304b50$export$9afb8bc826b033ea as TextContext, $efe09c6d1c304b50$export$5f1af8db9871e1d6 as Text};\n//# sourceMappingURL=Text.mjs.map\n","import {useRenderProps as $7230ffa83bc0c2cf$export$4d86445c2cf5e3} from \"./utils.mjs\";\nimport {Text as $efe09c6d1c304b50$export$5f1af8db9871e1d6} from \"./Text.mjs\";\nimport {filterDOMProps as $QpkXT$filterDOMProps} from \"react-aria/filterDOMProps\";\nimport $QpkXT$react, {createContext as $QpkXT$createContext, forwardRef as $QpkXT$forwardRef, useContext as $QpkXT$useContext} from \"react\";\n\n/*\n * Copyright 2023 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\nconst $1f3c3b1a70cec653$export$ff05c3ac10437e03 = /*#__PURE__*/ (0, $QpkXT$createContext)(null);\nconst $1f3c3b1a70cec653$export$f551688fc98f2e09 = /*#__PURE__*/ (0, $QpkXT$forwardRef)(function FieldError(props, ref) {\n let validation = (0, $QpkXT$useContext)($1f3c3b1a70cec653$export$ff05c3ac10437e03);\n if (!validation?.isInvalid) return null;\n return /*#__PURE__*/ (0, $QpkXT$react).createElement($1f3c3b1a70cec653$var$FieldErrorInner, {\n ...props,\n ref: ref\n });\n});\nconst $1f3c3b1a70cec653$var$FieldErrorInner = /*#__PURE__*/ (0, $QpkXT$forwardRef)((props, ref)=>{\n let validation = (0, $QpkXT$useContext)($1f3c3b1a70cec653$export$ff05c3ac10437e03);\n let { elementType: elementType, ...restProps } = props;\n let domProps = (0, $QpkXT$filterDOMProps)(restProps, {\n global: true\n });\n let renderProps = (0, $7230ffa83bc0c2cf$export$4d86445c2cf5e3)({\n ...restProps,\n defaultClassName: 'react-aria-FieldError',\n defaultChildren: validation.validationErrors.length === 0 ? undefined : validation.validationErrors.join(' '),\n values: validation\n });\n if (renderProps.children == null) return null;\n return /*#__PURE__*/ (0, $QpkXT$react).createElement((0, $efe09c6d1c304b50$export$5f1af8db9871e1d6), {\n slot: \"errorMessage\",\n elementType: elementType,\n ...domProps,\n ...renderProps,\n ref: ref\n });\n});\n\n\nexport {$1f3c3b1a70cec653$export$ff05c3ac10437e03 as FieldErrorContext, $1f3c3b1a70cec653$export$f551688fc98f2e09 as FieldError};\n//# sourceMappingURL=FieldError.mjs.map\n","import $1CcWn$react, {useState as $1CcWn$useState, useRef as $1CcWn$useRef, useEffect as $1CcWn$useEffect, useReducer as $1CcWn$useReducer, useCallback as $1CcWn$useCallback} from \"react\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n// Use the earliest effect possible to reset the ref below.\nconst $3e6197669829fe11$var$useEarlyEffect = typeof document !== 'undefined' ? (0, $1CcWn$react)['useInsertionEffect'] ?? (0, $1CcWn$react).useLayoutEffect : ()=>{};\nfunction $3e6197669829fe11$export$40bfa8c7b0832715(value, defaultValue, onChange) {\n // Store the value in both state and a ref. The state value will only be used when uncontrolled.\n // The ref is used to track the most current value, which is passed to the function setState callback.\n let [stateValue, setStateValue] = (0, $1CcWn$useState)(value || defaultValue);\n let valueRef = (0, $1CcWn$useRef)(stateValue);\n let isControlledRef = (0, $1CcWn$useRef)(value !== undefined);\n let isControlled = value !== undefined;\n (0, $1CcWn$useEffect)(()=>{\n let wasControlled = isControlledRef.current;\n if (wasControlled !== isControlled && process.env.NODE_ENV !== 'production') console.warn(`WARN: A component changed from ${wasControlled ? 'controlled' : 'uncontrolled'} to ${isControlled ? 'controlled' : 'uncontrolled'}.`);\n isControlledRef.current = isControlled;\n }, [\n isControlled\n ]);\n // After each render, update the ref to the current value.\n // This ensures that the setState callback argument is reset.\n // Note: the effect should not have any dependencies so that controlled values always reset.\n let currentValue = isControlled ? value : stateValue;\n $3e6197669829fe11$var$useEarlyEffect(()=>{\n valueRef.current = currentValue;\n });\n let [, forceUpdate] = (0, $1CcWn$useReducer)(()=>({}), {});\n let setValue = (0, $1CcWn$useCallback)((value, ...args)=>{\n // @ts-ignore - TS doesn't know that T cannot be a function.\n let newValue = typeof value === 'function' ? value(valueRef.current) : value;\n if (!Object.is(valueRef.current, newValue)) {\n // Update the ref so that the next setState callback has the most recent value.\n valueRef.current = newValue;\n setStateValue(newValue);\n // Always trigger a re-render, even when controlled, so that the layout effect above runs to reset the value.\n forceUpdate();\n // Trigger onChange. Note that if setState is called multiple times in a single event,\n // onChange will be called for each one instead of only once.\n onChange?.(newValue, ...args);\n }\n }, [\n onChange\n ]);\n return [\n currentValue,\n setValue\n ];\n}\n\n\nexport {$3e6197669829fe11$export$40bfa8c7b0832715 as useControlledState};\n//# sourceMappingURL=useControlledState.mjs.map\n","import {Provider as $7230ffa83bc0c2cf$export$2881499e37b75b9a, removeDataAttributes as $7230ffa83bc0c2cf$export$ef03459518577ad4, useSlottedContext as $7230ffa83bc0c2cf$export$fabf2dc03a41866e} from \"./utils.mjs\";\nimport {useAutocomplete as $1J3Gn$useAutocomplete} from \"react-aria/useAutocomplete\";\nimport {useAutocompleteState as $1J3Gn$useAutocompleteState} from \"react-stately/private/autocomplete/useAutocompleteState\";\nimport {mergeProps as $1J3Gn$mergeProps} from \"react-aria/mergeProps\";\nimport $1J3Gn$react, {createContext as $1J3Gn$createContext, useRef as $1J3Gn$useRef} from \"react\";\n\n/*\n * Copyright 2024 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\nconst $4b38b5b75ecc6208$export$36e687af51cd0967 = /*#__PURE__*/ (0, $1J3Gn$createContext)(null);\nconst $4b38b5b75ecc6208$export$68ee3368b6d68148 = /*#__PURE__*/ (0, $1J3Gn$createContext)(null);\nconst $4b38b5b75ecc6208$export$b0d3ecf7112093a7 = /*#__PURE__*/ (0, $1J3Gn$createContext)(null);\nconst $4b38b5b75ecc6208$export$698f465ec27e93df = /*#__PURE__*/ (0, $1J3Gn$createContext)(null);\nfunction $4b38b5b75ecc6208$export$2f2b9559550c7bbc(props) {\n let ctx = (0, $7230ffa83bc0c2cf$export$fabf2dc03a41866e)($4b38b5b75ecc6208$export$36e687af51cd0967, props.slot);\n props = (0, $1J3Gn$mergeProps)(ctx, props);\n let { filter: filter, disableAutoFocusFirst: disableAutoFocusFirst } = props;\n let state = (0, $1J3Gn$useAutocompleteState)(props);\n let inputRef = (0, $1J3Gn$useRef)(null);\n let collectionRef = (0, $1J3Gn$useRef)(null);\n let { inputProps: inputProps, collectionProps: collectionProps, collectionRef: mergedCollectionRef, filter: filterFn } = (0, $1J3Gn$useAutocomplete)({\n ...(0, $7230ffa83bc0c2cf$export$ef03459518577ad4)(props),\n filter: filter,\n disableAutoFocusFirst: disableAutoFocusFirst,\n inputRef: inputRef,\n collectionRef: collectionRef\n }, state);\n return /*#__PURE__*/ (0, $1J3Gn$react).createElement((0, $7230ffa83bc0c2cf$export$2881499e37b75b9a), {\n values: [\n [\n $4b38b5b75ecc6208$export$68ee3368b6d68148,\n state\n ],\n [\n $4b38b5b75ecc6208$export$698f465ec27e93df,\n {\n ...inputProps,\n ref: inputRef\n }\n ],\n [\n $4b38b5b75ecc6208$export$b0d3ecf7112093a7,\n {\n ...collectionProps,\n filter: filterFn,\n ref: mergedCollectionRef\n }\n ]\n ]\n }, props.children);\n}\n\n\nexport {$4b38b5b75ecc6208$export$36e687af51cd0967 as AutocompleteContext, $4b38b5b75ecc6208$export$68ee3368b6d68148 as AutocompleteStateContext, $4b38b5b75ecc6208$export$b0d3ecf7112093a7 as SelectableCollectionContext, $4b38b5b75ecc6208$export$698f465ec27e93df as FieldInputContext, $4b38b5b75ecc6208$export$2f2b9559550c7bbc as Autocomplete};\n//# sourceMappingURL=Autocomplete.mjs.map\n","import {createContext as $8AuPP$createContext, useMemo as $8AuPP$useMemo, useContext as $8AuPP$useContext, useState as $8AuPP$useState, useRef as $8AuPP$useRef, useEffect as $8AuPP$useEffect} from \"react\";\n\n/*\n * Copyright 2023 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nconst $fd2148440a13ec26$export$aca958c65c314e6c = {\n badInput: false,\n customError: false,\n patternMismatch: false,\n rangeOverflow: false,\n rangeUnderflow: false,\n stepMismatch: false,\n tooLong: false,\n tooShort: false,\n typeMismatch: false,\n valueMissing: false,\n valid: true\n};\nconst $fd2148440a13ec26$var$CUSTOM_VALIDITY_STATE = {\n ...$fd2148440a13ec26$export$aca958c65c314e6c,\n customError: true,\n valid: false\n};\nconst $fd2148440a13ec26$export$dad6ae84456c676a = {\n isInvalid: false,\n validationDetails: $fd2148440a13ec26$export$aca958c65c314e6c,\n validationErrors: []\n};\nconst $fd2148440a13ec26$export$571b5131b7e65c11 = (0, $8AuPP$createContext)({});\nconst $fd2148440a13ec26$export$a763b9476acd3eb = '__reactAriaFormValidationState';\nfunction $fd2148440a13ec26$export$fc1a364ae1f3ff10(props) {\n // Private prop for parent components to pass state to children.\n if (props[$fd2148440a13ec26$export$a763b9476acd3eb]) {\n let { realtimeValidation: realtimeValidation, displayValidation: displayValidation, updateValidation: updateValidation, resetValidation: resetValidation, commitValidation: commitValidation } = props[$fd2148440a13ec26$export$a763b9476acd3eb];\n return {\n realtimeValidation: realtimeValidation,\n displayValidation: displayValidation,\n updateValidation: updateValidation,\n resetValidation: resetValidation,\n commitValidation: commitValidation\n };\n }\n // oxlint-disable-next-line react/react-compiler, react-hooks/rules-of-hooks\n return $fd2148440a13ec26$var$useFormValidationStateImpl(props);\n}\nfunction $fd2148440a13ec26$var$useFormValidationStateImpl(props) {\n let { isInvalid: isInvalid, validationState: validationState, name: name, value: value, builtinValidation: builtinValidation, validate: validate, validationBehavior: validationBehavior = 'aria' } = props;\n // backward compatibility.\n if (validationState) isInvalid ||= validationState === 'invalid';\n // If the isInvalid prop is controlled, update validation result in realtime.\n let controlledError = isInvalid !== undefined ? {\n isInvalid: isInvalid,\n validationErrors: [],\n validationDetails: $fd2148440a13ec26$var$CUSTOM_VALIDITY_STATE\n } : null;\n // Perform custom client side validation.\n let clientError = (0, $8AuPP$useMemo)(()=>{\n if (!validate || value == null) return null;\n let validateErrors = $fd2148440a13ec26$var$runValidate(validate, value);\n return $fd2148440a13ec26$var$getValidationResult(validateErrors);\n }, [\n validate,\n value\n ]);\n if (builtinValidation?.validationDetails.valid) builtinValidation = undefined;\n // Get relevant server errors from the form.\n let serverErrors = (0, $8AuPP$useContext)($fd2148440a13ec26$export$571b5131b7e65c11);\n let serverErrorMessages = (0, $8AuPP$useMemo)(()=>{\n if (name) return Array.isArray(name) ? name.flatMap((name)=>$fd2148440a13ec26$var$asArray(serverErrors[name])) : $fd2148440a13ec26$var$asArray(serverErrors[name]);\n return [];\n }, [\n serverErrors,\n name\n ]);\n // Show server errors when the form gets a new value, and clear when the user changes the value.\n let [lastServerErrors, setLastServerErrors] = (0, $8AuPP$useState)(serverErrors);\n let [isServerErrorCleared, setServerErrorCleared] = (0, $8AuPP$useState)(false);\n if (serverErrors !== lastServerErrors) {\n setLastServerErrors(serverErrors);\n setServerErrorCleared(false);\n }\n let serverError = (0, $8AuPP$useMemo)(()=>$fd2148440a13ec26$var$getValidationResult(isServerErrorCleared ? [] : serverErrorMessages), [\n isServerErrorCleared,\n serverErrorMessages\n ]);\n // Track the next validation state in a ref until commitValidation is called.\n let nextValidation = (0, $8AuPP$useRef)($fd2148440a13ec26$export$dad6ae84456c676a);\n let [currentValidity, setCurrentValidity] = (0, $8AuPP$useState)($fd2148440a13ec26$export$dad6ae84456c676a);\n let lastError = (0, $8AuPP$useRef)($fd2148440a13ec26$export$dad6ae84456c676a);\n let commitValidation = ()=>{\n if (!commitQueued) return;\n setCommitQueued(false);\n let error = clientError || builtinValidation || nextValidation.current;\n if (!$fd2148440a13ec26$var$isEqualValidation(error, lastError.current)) {\n lastError.current = error;\n setCurrentValidity(error);\n }\n };\n let [commitQueued, setCommitQueued] = (0, $8AuPP$useState)(false);\n (0, $8AuPP$useEffect)(commitValidation);\n // realtimeValidation is used to update the native input element's state based on custom validation logic.\n // displayValidation is the currently displayed validation state that the user sees (e.g. on input change/form submit).\n // With validationBehavior=\"aria\", all errors are displayed in realtime rather than on submit.\n let realtimeValidation = controlledError || serverError || clientError || builtinValidation || $fd2148440a13ec26$export$dad6ae84456c676a;\n let displayValidation = validationBehavior === 'native' ? controlledError || serverError || currentValidity : controlledError || serverError || clientError || builtinValidation || currentValidity;\n return {\n realtimeValidation: realtimeValidation,\n displayValidation: displayValidation,\n updateValidation (value) {\n // If validationBehavior is 'aria', update in realtime. Otherwise, store in a ref until commit.\n if (validationBehavior === 'aria' && !$fd2148440a13ec26$var$isEqualValidation(currentValidity, value)) setCurrentValidity(value);\n else nextValidation.current = value;\n },\n resetValidation () {\n // Update the currently displayed validation state to valid on form reset,\n // even if the native validity says it isn't. It'll show again on the next form submit.\n let error = $fd2148440a13ec26$export$dad6ae84456c676a;\n if (!$fd2148440a13ec26$var$isEqualValidation(error, lastError.current)) {\n lastError.current = error;\n setCurrentValidity(error);\n }\n // Do not commit validation after the next render. This avoids a condition where\n // useSelect calls commitValidation inside an onReset handler.\n if (validationBehavior === 'native') setCommitQueued(false);\n setServerErrorCleared(true);\n },\n commitValidation () {\n // Commit validation state so the user sees it on blur/change/submit. Also clear any server errors.\n // Wait until after the next render to commit so that the latest value has been validated.\n if (validationBehavior === 'native') setCommitQueued(true);\n setServerErrorCleared(true);\n }\n };\n}\nfunction $fd2148440a13ec26$var$asArray(v) {\n if (!v) return [];\n return Array.isArray(v) ? v : [\n v\n ];\n}\nfunction $fd2148440a13ec26$var$runValidate(validate, value) {\n if (typeof validate === 'function') {\n let e = validate(value);\n if (e && typeof e !== 'boolean') return $fd2148440a13ec26$var$asArray(e);\n }\n return [];\n}\nfunction $fd2148440a13ec26$var$getValidationResult(errors) {\n return errors.length ? {\n isInvalid: true,\n validationErrors: errors,\n validationDetails: $fd2148440a13ec26$var$CUSTOM_VALIDITY_STATE\n } : null;\n}\nfunction $fd2148440a13ec26$var$isEqualValidation(a, b) {\n if (a === b) return true;\n return !!a && !!b && a.isInvalid === b.isInvalid && a.validationErrors.length === b.validationErrors.length && a.validationErrors.every((a, i)=>a === b.validationErrors[i]) && Object.entries(a.validationDetails).every(([k, v])=>b.validationDetails[k] === v);\n}\nfunction $fd2148440a13ec26$export$75ee7c75d68f5b0e(...results) {\n let errors = new Set();\n let isInvalid = false;\n let validationDetails = {\n ...$fd2148440a13ec26$export$aca958c65c314e6c\n };\n for (let v of results){\n for (let e of v.validationErrors)errors.add(e);\n // Only these properties apply for checkboxes.\n isInvalid ||= v.isInvalid;\n for(let key in validationDetails)validationDetails[key] ||= v.validationDetails[key];\n }\n validationDetails.valid = !isInvalid;\n return {\n isInvalid: isInvalid,\n validationErrors: [\n ...errors\n ],\n validationDetails: validationDetails\n };\n}\n\n\nexport {$fd2148440a13ec26$export$aca958c65c314e6c as VALID_VALIDITY_STATE, $fd2148440a13ec26$export$dad6ae84456c676a as DEFAULT_VALIDATION_RESULT, $fd2148440a13ec26$export$571b5131b7e65c11 as FormValidationContext, $fd2148440a13ec26$export$a763b9476acd3eb as privateValidationStateProp, $fd2148440a13ec26$export$fc1a364ae1f3ff10 as useFormValidationState, $fd2148440a13ec26$export$75ee7c75d68f5b0e as mergeValidation};\n//# sourceMappingURL=useFormValidationState.mjs.map\n","import {dom as $7230ffa83bc0c2cf$export$df3a06d6289f983e, useContextProps as $7230ffa83bc0c2cf$export$29f1550f4b0d4415} from \"./utils.mjs\";\nimport {FormValidationContext as $iSTzu$FormValidationContext} from \"react-stately/private/form/useFormValidationState\";\nimport $iSTzu$react, {createContext as $iSTzu$createContext, forwardRef as $iSTzu$forwardRef} from \"react\";\n\n/*\n * Copyright 2023 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the 'License');\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nconst $cdaed739b1139372$export$c24727297075ec6a = /*#__PURE__*/ (0, $iSTzu$createContext)(null);\nconst $cdaed739b1139372$export$a7fed597f4b8afd8 = /*#__PURE__*/ (0, $iSTzu$forwardRef)(function Form(props, ref) {\n [props, ref] = (0, $7230ffa83bc0c2cf$export$29f1550f4b0d4415)(props, ref, $cdaed739b1139372$export$c24727297075ec6a);\n let { validationErrors: validationErrors, validationBehavior: validationBehavior = 'native', children: children, className: className, ...domProps } = props;\n return /*#__PURE__*/ (0, $iSTzu$react).createElement((0, $7230ffa83bc0c2cf$export$df3a06d6289f983e).form, {\n noValidate: validationBehavior !== 'native',\n ...domProps,\n ref: ref,\n className: className || 'react-aria-Form'\n }, /*#__PURE__*/ (0, $iSTzu$react).createElement($cdaed739b1139372$export$c24727297075ec6a.Provider, {\n value: {\n ...props,\n validationBehavior: validationBehavior\n }\n }, /*#__PURE__*/ (0, $iSTzu$react).createElement((0, $iSTzu$FormValidationContext).Provider, {\n value: validationErrors ?? {}\n }, children)));\n});\n\n\nexport {$cdaed739b1139372$export$c24727297075ec6a as FormContext, $cdaed739b1139372$export$a7fed597f4b8afd8 as Form};\n//# sourceMappingURL=Form.mjs.map\n","import {dom as $7230ffa83bc0c2cf$export$df3a06d6289f983e, useContextProps as $7230ffa83bc0c2cf$export$29f1550f4b0d4415, useRenderProps as $7230ffa83bc0c2cf$export$4d86445c2cf5e3} from \"./utils.mjs\";\nimport {useHover as $1mD4M$useHover} from \"react-aria/useHover\";\nimport {mergeProps as $1mD4M$mergeProps} from \"react-aria/mergeProps\";\nimport $1mD4M$react, {createContext as $1mD4M$createContext, forwardRef as $1mD4M$forwardRef} from \"react\";\nimport {useFocusRing as $1mD4M$useFocusRing} from \"react-aria/useFocusRing\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\nconst $3a442827418ebe87$export$f9c6924e160136d1 = /*#__PURE__*/ (0, $1mD4M$createContext)({});\nconst $3a442827418ebe87$export$eb2fcfdbd7ba97d4 = /*#__PURE__*/ (0, $1mD4M$forwardRef)(function Group(props, ref) {\n [props, ref] = (0, $7230ffa83bc0c2cf$export$29f1550f4b0d4415)(props, ref, $3a442827418ebe87$export$f9c6924e160136d1);\n let { isDisabled: isDisabled, isInvalid: isInvalid, isReadOnly: isReadOnly, onHoverStart: onHoverStart, onHoverChange: onHoverChange, onHoverEnd: onHoverEnd, ...otherProps } = props;\n isDisabled ??= !!props['aria-disabled'] && props['aria-disabled'] !== 'false';\n isInvalid ??= !!props['aria-invalid'] && props['aria-invalid'] !== 'false';\n let { hoverProps: hoverProps, isHovered: isHovered } = (0, $1mD4M$useHover)({\n onHoverStart: onHoverStart,\n onHoverChange: onHoverChange,\n onHoverEnd: onHoverEnd,\n isDisabled: isDisabled\n });\n let { isFocused: isFocused, isFocusVisible: isFocusVisible, focusProps: focusProps } = (0, $1mD4M$useFocusRing)({\n within: true\n });\n let renderProps = (0, $7230ffa83bc0c2cf$export$4d86445c2cf5e3)({\n ...props,\n values: {\n isHovered: isHovered,\n isFocusWithin: isFocused,\n isFocusVisible: isFocusVisible,\n isDisabled: isDisabled,\n isInvalid: isInvalid\n },\n defaultClassName: 'react-aria-Group'\n });\n return /*#__PURE__*/ (0, $1mD4M$react).createElement((0, $7230ffa83bc0c2cf$export$df3a06d6289f983e).div, {\n ...(0, $1mD4M$mergeProps)(otherProps, focusProps, hoverProps),\n ...renderProps,\n ref: ref,\n role: props.role ?? 'group',\n slot: props.slot ?? undefined,\n \"data-focus-within\": isFocused || undefined,\n \"data-hovered\": isHovered || undefined,\n \"data-focus-visible\": isFocusVisible || undefined,\n \"data-disabled\": isDisabled || undefined,\n \"data-invalid\": isInvalid || undefined,\n \"data-readonly\": isReadOnly || undefined\n }, renderProps.children);\n});\n\n\nexport {$3a442827418ebe87$export$f9c6924e160136d1 as GroupContext, $3a442827418ebe87$export$eb2fcfdbd7ba97d4 as Group};\n//# sourceMappingURL=Group.mjs.map\n","import {dom as $7230ffa83bc0c2cf$export$df3a06d6289f983e, useContextProps as $7230ffa83bc0c2cf$export$29f1550f4b0d4415, useRenderProps as $7230ffa83bc0c2cf$export$4d86445c2cf5e3} from \"./utils.mjs\";\nimport {createHideableComponent as $1aA6s$createHideableComponent} from \"react-aria/private/collections/Hidden\";\nimport {mergeProps as $1aA6s$mergeProps} from \"react-aria/mergeProps\";\nimport $1aA6s$react, {createContext as $1aA6s$createContext} from \"react\";\nimport {useFocusRing as $1aA6s$useFocusRing} from \"react-aria/useFocusRing\";\nimport {useHover as $1aA6s$useHover} from \"react-aria/useHover\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\n\nconst $41fb335299a4a39e$export$37fb8590cf2c088c = /*#__PURE__*/ (0, $1aA6s$createContext)({});\nlet $41fb335299a4a39e$var$filterHoverProps = (props)=>{\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n let { onHoverStart: onHoverStart, onHoverChange: onHoverChange, onHoverEnd: onHoverEnd, ...otherProps } = props;\n return otherProps;\n};\nconst $41fb335299a4a39e$export$f5b8910cec6cf069 = /*#__PURE__*/ (0, $1aA6s$createHideableComponent)(function Input(props, ref) {\n [props, ref] = (0, $7230ffa83bc0c2cf$export$29f1550f4b0d4415)(props, ref, $41fb335299a4a39e$export$37fb8590cf2c088c);\n let { hoverProps: hoverProps, isHovered: isHovered } = (0, $1aA6s$useHover)({\n ...props,\n isDisabled: props.disabled\n });\n let { isFocused: isFocused, isFocusVisible: isFocusVisible, focusProps: focusProps } = (0, $1aA6s$useFocusRing)({\n isTextInput: true,\n autoFocus: props.autoFocus\n });\n let isInvalid = !!props['aria-invalid'] && props['aria-invalid'] !== 'false';\n let renderProps = (0, $7230ffa83bc0c2cf$export$4d86445c2cf5e3)({\n ...props,\n values: {\n isHovered: isHovered,\n isFocused: isFocused,\n isFocusVisible: isFocusVisible,\n isDisabled: props.disabled || false,\n isInvalid: isInvalid\n },\n defaultClassName: 'react-aria-Input'\n });\n return /*#__PURE__*/ (0, $1aA6s$react).createElement((0, $7230ffa83bc0c2cf$export$df3a06d6289f983e).input, {\n ...(0, $1aA6s$mergeProps)($41fb335299a4a39e$var$filterHoverProps(props), focusProps, hoverProps),\n ...renderProps,\n ref: ref,\n \"data-focused\": isFocused || undefined,\n \"data-disabled\": props.disabled || undefined,\n \"data-hovered\": isHovered || undefined,\n \"data-focus-visible\": isFocusVisible || undefined,\n \"data-invalid\": isInvalid || undefined\n });\n});\n\n\nexport {$41fb335299a4a39e$export$37fb8590cf2c088c as InputContext, $41fb335299a4a39e$export$f5b8910cec6cf069 as Input};\n//# sourceMappingURL=Input.mjs.map\n","import {dom as $7230ffa83bc0c2cf$export$df3a06d6289f983e, useContextProps as $7230ffa83bc0c2cf$export$29f1550f4b0d4415, useRenderProps as $7230ffa83bc0c2cf$export$4d86445c2cf5e3} from \"./utils.mjs\";\nimport {mergeProps as $8MsPE$mergeProps} from \"react-aria/mergeProps\";\nimport $8MsPE$react, {createContext as $8MsPE$createContext, forwardRef as $8MsPE$forwardRef} from \"react\";\nimport {useFocusRing as $8MsPE$useFocusRing} from \"react-aria/useFocusRing\";\nimport {useHover as $8MsPE$useHover} from \"react-aria/useHover\";\n\n\n\n\n\n\nconst $bd263d78e9bf3c56$export$2dc6166a7e65358c = /*#__PURE__*/ (0, $8MsPE$createContext)({});\nlet $bd263d78e9bf3c56$var$filterHoverProps = (props)=>{\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n let { onHoverStart: onHoverStart, onHoverChange: onHoverChange, onHoverEnd: onHoverEnd, ...otherProps } = props;\n return otherProps;\n};\nconst $bd263d78e9bf3c56$export$f5c9f3c2c4054eec = /*#__PURE__*/ (0, $8MsPE$forwardRef)(function TextArea(props, ref) {\n [props, ref] = (0, $7230ffa83bc0c2cf$export$29f1550f4b0d4415)(props, ref, $bd263d78e9bf3c56$export$2dc6166a7e65358c);\n let { hoverProps: hoverProps, isHovered: isHovered } = (0, $8MsPE$useHover)(props);\n let { isFocused: isFocused, isFocusVisible: isFocusVisible, focusProps: focusProps } = (0, $8MsPE$useFocusRing)({\n isTextInput: true,\n autoFocus: props.autoFocus\n });\n let isInvalid = !!props['aria-invalid'] && props['aria-invalid'] !== 'false';\n let renderProps = (0, $7230ffa83bc0c2cf$export$4d86445c2cf5e3)({\n ...props,\n values: {\n isHovered: isHovered,\n isFocused: isFocused,\n isFocusVisible: isFocusVisible,\n isDisabled: props.disabled || false,\n isInvalid: isInvalid\n },\n defaultClassName: 'react-aria-TextArea'\n });\n return /*#__PURE__*/ (0, $8MsPE$react).createElement((0, $7230ffa83bc0c2cf$export$df3a06d6289f983e).textarea, {\n ...(0, $8MsPE$mergeProps)($bd263d78e9bf3c56$var$filterHoverProps(props), focusProps, hoverProps),\n ...renderProps,\n ref: ref,\n \"data-focused\": isFocused || undefined,\n \"data-disabled\": props.disabled || undefined,\n \"data-hovered\": isHovered || undefined,\n \"data-focus-visible\": isFocusVisible || undefined,\n \"data-invalid\": isInvalid || undefined\n });\n});\n\n\nexport {$bd263d78e9bf3c56$export$2dc6166a7e65358c as TextAreaContext, $bd263d78e9bf3c56$export$f5c9f3c2c4054eec as TextArea};\n//# sourceMappingURL=TextArea.mjs.map\n","import {useLabel as $0beb20c9744a2065$export$8467354a121f1b9f} from \"./useLabel.mjs\";\nimport {mergeProps as $bbaa08b3cd72f041$export$9d1611c77c2fe928} from \"../utils/mergeProps.mjs\";\nimport {useSlotId as $390e54f620492c70$export$b4cc09c592e8fdb8} from \"../utils/useId.mjs\";\n\n/*\n * Copyright 2021 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\nfunction $191c9b6d48a0a4e2$export$294aa081a6c6f55d(props) {\n let { description: description, errorMessage: errorMessage, isInvalid: isInvalid, validationState: validationState } = props;\n let { labelProps: labelProps, fieldProps: fieldProps } = (0, $0beb20c9744a2065$export$8467354a121f1b9f)(props);\n let descriptionId = (0, $390e54f620492c70$export$b4cc09c592e8fdb8)([\n Boolean(description),\n Boolean(errorMessage),\n isInvalid,\n validationState\n ]);\n let errorMessageId = (0, $390e54f620492c70$export$b4cc09c592e8fdb8)([\n Boolean(description),\n Boolean(errorMessage),\n isInvalid,\n validationState\n ]);\n fieldProps = (0, $bbaa08b3cd72f041$export$9d1611c77c2fe928)(fieldProps, {\n 'aria-describedby': [\n descriptionId,\n // Use aria-describedby for error message because aria-errormessage is unsupported using VoiceOver or NVDA. See https://github.com/adobe/react-spectrum/issues/1346#issuecomment-740136268\n errorMessageId,\n props['aria-describedby']\n ].filter(Boolean).join(' ') || undefined\n });\n return {\n labelProps: labelProps,\n fieldProps: fieldProps,\n descriptionProps: {\n id: descriptionId\n },\n errorMessageProps: {\n id: errorMessageId\n }\n };\n}\n\n\nexport {$191c9b6d48a0a4e2$export$294aa081a6c6f55d as useField};\n//# sourceMappingURL=useField.mjs.map\n","import {useEffectEvent as $fe16bffc7a557bf0$export$7f54fc3180508a52} from \"./useEffectEvent.mjs\";\nimport {useEffect as $1HUBd$useEffect} from \"react\";\n\n/*\n * Copyright 2023 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\nfunction $3274bf1495747a7b$export$5add1d006293d136(ref, initialValue, onReset) {\n let handleReset = (0, $fe16bffc7a557bf0$export$7f54fc3180508a52)((e)=>{\n if (onReset && !e.defaultPrevented) onReset(initialValue);\n });\n (0, $1HUBd$useEffect)(()=>{\n let form = ref?.current?.form;\n // 'reset' does not compose across shadow DOM boundaries, but this listener is intentionally\n // scoped to this specific form element (not a global target), so shadow root propagation does\n // not apply here.\n // oxlint-disable-next-line rsp-rules/no-non-composing-event-listener\n form?.addEventListener('reset', handleReset);\n return ()=>{\n form?.removeEventListener('reset', handleReset);\n };\n }, [\n ref\n ]);\n}\n\n\nexport {$3274bf1495747a7b$export$5add1d006293d136 as useFormReset};\n//# sourceMappingURL=useFormReset.mjs.map\n","import {getEventTarget as $23f2114a1b82827e$export$e58f029f0fbfdb29} from \"../utils/shadowdom/DOMFunctions.mjs\";\nimport {setInteractionModality as $8f5a2122b0992be3$export$8397ddfc504fdb9a} from \"../interactions/useFocusVisible.mjs\";\nimport {useEffectEvent as $fe16bffc7a557bf0$export$7f54fc3180508a52} from \"../utils/useEffectEvent.mjs\";\nimport {useLayoutEffect as $c4867b2f328c2698$export$e5c5a5f917a5871c} from \"../utils/useLayoutEffect.mjs\";\nimport {useRef as $axvKP$useRef, useEffect as $axvKP$useEffect} from \"react\";\n\n/*\n * Copyright 2023 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\nfunction $860f7da480e22816$export$b8473d3665f3a75a(props, state, ref) {\n let { validationBehavior: validationBehavior, focus: focus } = props;\n // This is a useLayoutEffect so that it runs before the useEffect in useFormValidationState, which commits the validation change.\n (0, $c4867b2f328c2698$export$e5c5a5f917a5871c)(()=>{\n if (validationBehavior === 'native' && ref?.current && 'setCustomValidity' in ref.current && !ref.current.disabled) {\n let errorMessage = state.realtimeValidation.isInvalid ? state.realtimeValidation.validationErrors.join(' ') || 'Invalid value.' : '';\n ref.current.setCustomValidity(errorMessage);\n // Prevent default tooltip for validation message.\n // https://bugzilla.mozilla.org/show_bug.cgi?id=605277\n if (!ref.current.hasAttribute('title')) ref.current.title = '';\n if (!state.realtimeValidation.isInvalid) state.updateValidation($860f7da480e22816$var$getNativeValidity(ref.current));\n }\n });\n let isIgnoredReset = (0, $axvKP$useRef)(false);\n let onReset = (0, $fe16bffc7a557bf0$export$7f54fc3180508a52)(()=>{\n if (!isIgnoredReset.current) state.resetValidation();\n });\n let onInvalid = (0, $fe16bffc7a557bf0$export$7f54fc3180508a52)((e)=>{\n // Only commit validation if we are not already displaying one.\n // This avoids clearing server errors that the user didn't actually fix.\n if (!state.displayValidation.isInvalid) state.commitValidation();\n // Auto focus the first invalid input in a form, unless the error already had its default prevented.\n let form = ref?.current?.form;\n if (!e.defaultPrevented && ref && form && $860f7da480e22816$var$getFirstInvalidInput(form) === ref.current) {\n if (focus) focus();\n else ref.current?.focus();\n // Always show focus ring.\n (0, $8f5a2122b0992be3$export$8397ddfc504fdb9a)('keyboard');\n }\n // Prevent default browser error UI from appearing.\n e.preventDefault();\n });\n let onChange = (0, $fe16bffc7a557bf0$export$7f54fc3180508a52)(()=>{\n state.commitValidation();\n });\n (0, $axvKP$useEffect)(()=>{\n let input = ref?.current;\n if (!input) return;\n let form = input.form;\n let reset = form?.reset;\n if (form) // Try to detect React's automatic form reset behavior so we don't clear\n // validation errors that are returned by server actions.\n // To do this, we ignore programmatic form resets that occur outside a user event.\n // This is best-effort. There may be false positives, e.g. setTimeout.\n // oxlint-disable-next-line react/react-compiler\n form.reset = ()=>{\n // React uses MessageChannel for scheduling, so ignore 'message' events.\n isIgnoredReset.current = !window.event || window.event.type === 'message' && (0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(window.event) instanceof MessagePort;\n reset?.call(form);\n isIgnoredReset.current = false;\n };\n // 'change' and 'reset' do not compose across shadow DOM boundaries, but these listeners are\n // intentionally scoped to this specific input/form element (not a global target), so shadow\n // root propagation does not apply here.\n input.addEventListener('invalid', onInvalid);\n // oxlint-disable-next-line rsp-rules/no-non-composing-event-listener\n input.addEventListener('change', onChange);\n // oxlint-disable-next-line rsp-rules/no-non-composing-event-listener\n form?.addEventListener('reset', onReset);\n return ()=>{\n input.removeEventListener('invalid', onInvalid);\n input.removeEventListener('change', onChange);\n form?.removeEventListener('reset', onReset);\n if (form) // @ts-ignore\n form.reset = reset;\n };\n }, [\n ref,\n validationBehavior\n ]);\n}\nfunction $860f7da480e22816$var$getValidity(input) {\n // The native ValidityState object is live, meaning each property is a getter that returns the current state.\n // We need to create a snapshot of the validity state at the time this function is called to avoid unpredictable React renders.\n let validity = input.validity;\n return {\n badInput: validity.badInput,\n customError: validity.customError,\n patternMismatch: validity.patternMismatch,\n rangeOverflow: validity.rangeOverflow,\n rangeUnderflow: validity.rangeUnderflow,\n stepMismatch: validity.stepMismatch,\n tooLong: validity.tooLong,\n tooShort: validity.tooShort,\n typeMismatch: validity.typeMismatch,\n valueMissing: validity.valueMissing,\n valid: validity.valid\n };\n}\nfunction $860f7da480e22816$var$getNativeValidity(input) {\n return {\n isInvalid: !input.validity.valid,\n validationDetails: $860f7da480e22816$var$getValidity(input),\n validationErrors: input.validationMessage ? [\n input.validationMessage\n ] : []\n };\n}\nfunction $860f7da480e22816$var$getFirstInvalidInput(form) {\n for(let i = 0; i < form.elements.length; i++){\n let element = form.elements[i];\n if (element.validity?.valid === false) return element;\n }\n return null;\n}\n\n\nexport {$860f7da480e22816$export$b8473d3665f3a75a as useFormValidation};\n//# sourceMappingURL=useFormValidation.mjs.map\n","import {filterDOMProps as $8e9d2fae0ecb9001$export$457c3d6518dd4c6f} from \"../utils/filterDOMProps.mjs\";\nimport {getEventTarget as $23f2114a1b82827e$export$e58f029f0fbfdb29} from \"../utils/shadowdom/DOMFunctions.mjs\";\nimport {mergeProps as $bbaa08b3cd72f041$export$9d1611c77c2fe928} from \"../utils/mergeProps.mjs\";\nimport {useField as $191c9b6d48a0a4e2$export$294aa081a6c6f55d} from \"../label/useField.mjs\";\nimport {useFocusable as $d1116acdf220c2da$export$4c014de7c8940b4c} from \"../interactions/useFocusable.mjs\";\nimport {useFormReset as $3274bf1495747a7b$export$5add1d006293d136} from \"../utils/useFormReset.mjs\";\nimport {useFormValidation as $860f7da480e22816$export$b8473d3665f3a75a} from \"../form/useFormValidation.mjs\";\nimport $70eGi$react, {useState as $70eGi$useState} from \"react\";\nimport {useControlledState as $70eGi$useControlledState} from \"react-stately/useControlledState\";\nimport {useFormValidationState as $70eGi$useFormValidationState} from \"react-stately/private/form/useFormValidationState\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\n\n\n\n\n\nfunction $054f71d2330da2e3$export$712718f7aec83d5(props, ref) {\n let { inputElementType: inputElementType = 'input', isDisabled: isDisabled = false, isRequired: isRequired = false, isReadOnly: isReadOnly = false, type: type = 'text', validationBehavior: validationBehavior = 'aria' } = props;\n let [value, setValue] = (0, $70eGi$useControlledState)(props.value, props.defaultValue || '', props.onChange);\n let { focusableProps: focusableProps } = (0, $d1116acdf220c2da$export$4c014de7c8940b4c)(props, ref);\n let validationState = (0, $70eGi$useFormValidationState)({\n ...props,\n value: value\n });\n let { isInvalid: isInvalid, validationErrors: validationErrors, validationDetails: validationDetails } = validationState.displayValidation;\n let { labelProps: labelProps, fieldProps: fieldProps, descriptionProps: descriptionProps, errorMessageProps: errorMessageProps } = (0, $191c9b6d48a0a4e2$export$294aa081a6c6f55d)({\n ...props,\n isInvalid: isInvalid,\n errorMessage: props.errorMessage || validationErrors\n });\n let domProps = (0, $8e9d2fae0ecb9001$export$457c3d6518dd4c6f)(props, {\n labelable: true\n });\n const inputOnlyProps = {\n type: type,\n pattern: props.pattern\n };\n let [initialValue] = (0, $70eGi$useState)(value);\n (0, $3274bf1495747a7b$export$5add1d006293d136)(ref, props.defaultValue ?? initialValue, setValue);\n (0, $860f7da480e22816$export$b8473d3665f3a75a)(props, validationState, ref);\n return {\n labelProps: labelProps,\n inputProps: (0, $bbaa08b3cd72f041$export$9d1611c77c2fe928)(domProps, inputElementType === 'input' ? inputOnlyProps : undefined, {\n disabled: isDisabled,\n readOnly: isReadOnly,\n required: isRequired && validationBehavior === 'native',\n 'aria-required': isRequired && validationBehavior === 'aria' || undefined,\n 'aria-invalid': isInvalid || undefined,\n 'aria-errormessage': props['aria-errormessage'],\n 'aria-activedescendant': props['aria-activedescendant'],\n 'aria-autocomplete': props['aria-autocomplete'],\n 'aria-haspopup': props['aria-haspopup'],\n 'aria-controls': props['aria-controls'],\n value: value,\n onChange: (e)=>setValue((0, $23f2114a1b82827e$export$e58f029f0fbfdb29)(e).value),\n autoComplete: props.autoComplete,\n autoCapitalize: props.autoCapitalize,\n maxLength: props.maxLength,\n minLength: props.minLength,\n name: props.name,\n form: props.form,\n placeholder: props.placeholder,\n inputMode: props.inputMode,\n autoCorrect: props.autoCorrect,\n spellCheck: props.spellCheck,\n [parseInt((0, $70eGi$react).version, 10) >= 17 ? 'enterKeyHint' : 'enterkeyhint']: props.enterKeyHint,\n // Clipboard events\n onCopy: props.onCopy,\n onCut: props.onCut,\n onPaste: props.onPaste,\n // Composition events\n onCompositionEnd: props.onCompositionEnd,\n onCompositionStart: props.onCompositionStart,\n onCompositionUpdate: props.onCompositionUpdate,\n // Selection events\n onSelect: props.onSelect,\n // Input events\n onBeforeInput: props.onBeforeInput,\n onInput: props.onInput,\n ...focusableProps,\n ...fieldProps\n }),\n descriptionProps: descriptionProps,\n errorMessageProps: errorMessageProps,\n isInvalid: isInvalid,\n validationErrors: validationErrors,\n validationDetails: validationDetails\n };\n}\n\n\nexport {$054f71d2330da2e3$export$712718f7aec83d5 as useTextField};\n//# sourceMappingURL=useTextField.mjs.map\n","import {dom as $7230ffa83bc0c2cf$export$df3a06d6289f983e, Provider as $7230ffa83bc0c2cf$export$2881499e37b75b9a, removeDataAttributes as $7230ffa83bc0c2cf$export$ef03459518577ad4, useContextProps as $7230ffa83bc0c2cf$export$29f1550f4b0d4415, useRenderProps as $7230ffa83bc0c2cf$export$4d86445c2cf5e3, useSlot as $7230ffa83bc0c2cf$export$9d4c57ee4c6ffdd8, useSlottedContext as $7230ffa83bc0c2cf$export$fabf2dc03a41866e} from \"./utils.mjs\";\nimport {FieldErrorContext as $1f3c3b1a70cec653$export$ff05c3ac10437e03} from \"./FieldError.mjs\";\nimport {FieldInputContext as $4b38b5b75ecc6208$export$698f465ec27e93df} from \"./Autocomplete.mjs\";\nimport {FormContext as $cdaed739b1139372$export$c24727297075ec6a} from \"./Form.mjs\";\nimport {GroupContext as $3a442827418ebe87$export$f9c6924e160136d1} from \"./Group.mjs\";\nimport {InputContext as $41fb335299a4a39e$export$37fb8590cf2c088c} from \"./Input.mjs\";\nimport {LabelContext as $43a3b93638fe5db9$export$75b6ee27786ba447} from \"./Label.mjs\";\nimport {TextAreaContext as $bd263d78e9bf3c56$export$2dc6166a7e65358c} from \"./TextArea.mjs\";\nimport {TextContext as $efe09c6d1c304b50$export$9afb8bc826b033ea} from \"./Text.mjs\";\nimport {useTextField as $hlfBT$useTextField} from \"react-aria/useTextField\";\nimport {createHideableComponent as $hlfBT$createHideableComponent} from \"react-aria/private/collections/Hidden\";\nimport {filterDOMProps as $hlfBT$filterDOMProps} from \"react-aria/filterDOMProps\";\nimport $hlfBT$react, {createContext as $hlfBT$createContext, useRef as $hlfBT$useRef, useState as $hlfBT$useState, useCallback as $hlfBT$useCallback} from \"react\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\n\n\n\n\n\n\n\n\nconst $b8dcdc58eeae0d40$export$2129e27b3ef0d483 = /*#__PURE__*/ (0, $hlfBT$createContext)(null);\nconst $b8dcdc58eeae0d40$export$2c73285ae9390cec = /*#__PURE__*/ (0, $hlfBT$createHideableComponent)(function TextField(props, ref) {\n [props, ref] = (0, $7230ffa83bc0c2cf$export$29f1550f4b0d4415)(props, ref, $b8dcdc58eeae0d40$export$2129e27b3ef0d483);\n let { validationBehavior: formValidationBehavior } = (0, $7230ffa83bc0c2cf$export$fabf2dc03a41866e)((0, $cdaed739b1139372$export$c24727297075ec6a)) || {};\n let validationBehavior = props.validationBehavior ?? formValidationBehavior ?? 'native';\n let inputRef = (0, $hlfBT$useRef)(null);\n [props, inputRef] = (0, $7230ffa83bc0c2cf$export$29f1550f4b0d4415)(props, inputRef, (0, $4b38b5b75ecc6208$export$698f465ec27e93df));\n let [labelRef, label] = (0, $7230ffa83bc0c2cf$export$9d4c57ee4c6ffdd8)(!props['aria-label'] && !props['aria-labelledby']);\n let [inputElementType, setInputElementType] = (0, $hlfBT$useState)('input');\n let { labelProps: labelProps, inputProps: inputProps, descriptionProps: descriptionProps, errorMessageProps: errorMessageProps, ...validation } = (0, $hlfBT$useTextField)({\n ...(0, $7230ffa83bc0c2cf$export$ef03459518577ad4)(props),\n inputElementType: inputElementType,\n label: label,\n validationBehavior: validationBehavior\n }, inputRef);\n // Intercept setting the input ref so we can determine what kind of element we have.\n // useTextField uses this to determine what props to include.\n let inputOrTextAreaRef = (0, $hlfBT$useCallback)((el)=>{\n inputRef.current = el;\n if (el) setInputElementType(el instanceof HTMLTextAreaElement ? 'textarea' : 'input');\n }, [\n inputRef\n ]);\n let renderProps = (0, $7230ffa83bc0c2cf$export$4d86445c2cf5e3)({\n ...props,\n values: {\n isDisabled: props.isDisabled || false,\n isInvalid: validation.isInvalid,\n isReadOnly: props.isReadOnly || false,\n isRequired: props.isRequired || false\n },\n defaultClassName: 'react-aria-TextField'\n });\n let DOMProps = (0, $hlfBT$filterDOMProps)(props, {\n global: true\n });\n delete DOMProps.id;\n return /*#__PURE__*/ (0, $hlfBT$react).createElement((0, $7230ffa83bc0c2cf$export$df3a06d6289f983e).div, {\n ...DOMProps,\n ...renderProps,\n ref: ref,\n slot: props.slot || undefined,\n \"data-disabled\": props.isDisabled || undefined,\n \"data-invalid\": validation.isInvalid || undefined,\n \"data-readonly\": props.isReadOnly || undefined,\n \"data-required\": props.isRequired || undefined\n }, /*#__PURE__*/ (0, $hlfBT$react).createElement((0, $7230ffa83bc0c2cf$export$2881499e37b75b9a), {\n values: [\n [\n (0, $43a3b93638fe5db9$export$75b6ee27786ba447),\n {\n ...labelProps,\n ref: labelRef\n }\n ],\n [\n (0, $41fb335299a4a39e$export$37fb8590cf2c088c),\n {\n ...inputProps,\n ref: inputOrTextAreaRef\n }\n ],\n [\n (0, $bd263d78e9bf3c56$export$2dc6166a7e65358c),\n {\n ...inputProps,\n ref: inputOrTextAreaRef\n }\n ],\n [\n (0, $3a442827418ebe87$export$f9c6924e160136d1),\n {\n role: 'presentation',\n isInvalid: validation.isInvalid,\n isDisabled: props.isDisabled || false\n }\n ],\n [\n (0, $efe09c6d1c304b50$export$9afb8bc826b033ea),\n {\n slots: {\n description: descriptionProps,\n errorMessage: errorMessageProps\n }\n }\n ],\n [\n (0, $1f3c3b1a70cec653$export$ff05c3ac10437e03),\n validation\n ]\n ]\n }, renderProps.children));\n});\n\n\nexport {$b8dcdc58eeae0d40$export$2129e27b3ef0d483 as TextFieldContext, $b8dcdc58eeae0d40$export$2c73285ae9390cec as TextField};\n//# sourceMappingURL=TextField.mjs.map\n","import createIcon from '../../icons/createIcon';\n\nconst IconCautionCircleStroke = createIcon('IconCautionCircleStroke', '0 0 32 32', [\n [\n 'path',\n {\n 'fill-rule': 'evenodd',\n 'clip-rule': 'evenodd',\n d: 'M26 16C26 21.5228 21.5228 26 16 26C10.4772 26 6 21.5228 6 16C6 10.4772 10.4772 6 16 6C21.5228 6 26 10.4772 26 16ZM28 16C28 22.6274 22.6274 28 16 28C9.37258 28 4 22.6274 4 16C4 9.37258 9.37258 4 16 4C22.6274 4 28 9.37258 28 16ZM14.9186 20.4821C15.2093 20.2083 15.5698 20.0714 16 20.0714C16.4302 20.0714 16.7849 20.2083 17.064 20.4821C17.3547 20.7679 17.5 21.119 17.5 21.5357C17.5 21.9524 17.3547 22.2976 17.064 22.5714C16.7849 22.8571 16.4302 23 16 23C15.5698 23 15.2093 22.8571 14.9186 22.5714C14.6395 22.2976 14.5 21.9524 14.5 21.5357C14.5 21.119 14.6395 20.7679 14.9186 20.4821ZM17.2035 9V18.8929H14.7616V9H17.2035Z',\n fill: '#191B21',\n key: '9309c2'\n },\n []\n ]\n]);\n\nexport { IconCautionCircleStroke };\n","import createIcon from '../../icons/createIcon';\n\nconst IconCheckCircleStroke = createIcon('IconCheckCircleStroke', '0 0 32 32', [\n [\n 'path',\n {\n d: 'M16 4C22.6274 4 28 9.37258 28 16C28 22.6274 22.6274 28 16 28C9.37258 28 4 22.6274 4 16C4 9.37258 9.37258 4 16 4ZM16 6C10.4772 6 6 10.4772 6 16C6 21.5228 10.4772 26 16 26C21.5228 26 26 21.5228 26 16C26 10.4772 21.5228 6 16 6ZM22.9141 11.9727L22.2207 12.6934L14.5283 20.6934C14.3403 20.8888 14.0808 20.9995 13.8096 21C13.5384 21.0005 13.2786 20.8909 13.0898 20.6963L8.78223 16.252L8.08594 15.5332L9.52246 14.1416L10.2178 14.8594L13.8047 18.5596L20.7793 11.3066L21.4727 10.5859L22.9141 11.9727Z',\n fill: '#191B21',\n key: '56c062'\n },\n []\n ]\n]);\n\nexport { IconCheckCircleStroke };\n","'use client';\n\nimport { Label } from 'react-aria-components/Label';\nimport { cn } from '../../utils/cn';\nimport type React from 'react';\n\nexport interface InputWithLabelProps {\n label?: string | React.ReactNode;\n optionalLabel?: string;\n isRequired?: boolean;\n showRequiredIndicator?: boolean;\n}\n\nexport interface InputLabelProps extends InputWithLabelProps {\n className?: string;\n labelId?: string;\n htmlFor?: string;\n}\n\nexport function InputLabel({\n label,\n optionalLabel,\n isRequired,\n showRequiredIndicator = true,\n className,\n labelId,\n htmlFor\n}: InputLabelProps) {\n if (!label) return null;\n\n return (\n <div className={cn('flex items-center gap-lr-spacing-050', className)}>\n <Label\n id={labelId}\n htmlFor={htmlFor}\n className={cn(\n 'flex gap-lr-spacing-025 text-lr-text-main',\n `\n text-lr-subtitle-tight-medium\n lr-md:text-lr-subtitle-compact-medium\n `,\n showRequiredIndicator &&\n `in-data-[required]:after:text-lr-text-brand-accent in-data-[required]:after:content-[\"*\"]`\n )}\n data-required={isRequired || undefined}\n >\n {label}\n </Label>\n {optionalLabel && (\n <span\n className={cn(`\n text-lr-subtitle-tight-light text-lr-text-subtle\n lr-md:text-lr-subtitle-compact-light\n `)}\n >\n {optionalLabel}\n </span>\n )}\n </div>\n );\n}\n","import createIcon from '../../icons/createIcon';\n\nconst IconCautionCircleFilled = createIcon('IconCautionCircleFilled', '0 0 64 64', [\n [\n 'path',\n {\n 'fill-rule': 'evenodd',\n 'clip-rule': 'evenodd',\n d: 'M56 32C56 45.2548 45.2548 56 32 56C18.7452 56 8 45.2548 8 32C8 18.7452 18.7452 8 32 8C45.2548 8 56 18.7452 56 32ZM10.2 28.1C10.2 28.1552 10.1552 28.2 10.1 28.2C10.0448 28.2 10 28.1552 10 28.1C10 28.0448 10.0448 28 10.1 28C10.1552 28 10.2 28.0448 10.2 28.1ZM29.8372 40.9643C30.4186 40.4167 31.1395 40.1429 32 40.1429C32.8605 40.1429 33.5698 40.4167 34.1279 40.9643C34.7093 41.5357 35 42.2381 35 43.0714C35 43.9048 34.7093 44.5952 34.1279 45.1429C33.5698 45.7143 32.8605 46 32 46C31.1395 46 30.4186 45.7143 29.8372 45.1429C29.2791 44.5952 29 43.9048 29 43.0714C29 42.2381 29.2791 41.5357 29.8372 40.9643ZM34.407 18V37.7857H29.5233V18H34.407Z',\n fill: '#191B21',\n key: '3dee76'\n },\n []\n ]\n]);\n\nexport { IconCautionCircleFilled };\n","import createIcon from '../../icons/createIcon';\n\nconst IconCheckCircleFilled = createIcon('IconCheckCircleFilled', '0 0 32 32', [\n [\n 'path',\n {\n 'fill-rule': 'evenodd',\n 'clip-rule': 'evenodd',\n d: 'M16 28C22.6274 28 28 22.6274 28 16C28 9.37258 22.6274 4 16 4C9.37258 4 4 9.37258 4 16C4 22.6274 9.37258 28 16 28ZM22.2208 12.6931L22.9139 11.9723L21.4723 10.5861L20.7792 11.3069L13.8048 18.5602L10.2181 14.8596L9.52209 14.1415L8.08596 15.5335L8.78193 16.2515L13.0896 20.696C13.2785 20.8908 13.5384 21.0005 13.8097 21C14.081 20.9995 14.3405 20.8887 14.5285 20.6931L22.2208 12.6931Z',\n fill: '#191B21',\n key: '44b9f0'\n },\n []\n ]\n]);\n\nexport { IconCheckCircleFilled };\n","import createIcon from '../../icons/createIcon';\n\nconst IconCloseCircleFilled = createIcon('IconCloseCircleFilled', '0 0 32 32', [\n [\n 'path',\n {\n 'fill-rule': 'evenodd',\n 'clip-rule': 'evenodd',\n d: 'M28 16C28 22.6274 22.6274 28 16 28C9.37258 28 4 22.6274 4 16C4 9.37258 9.37258 4 16 4C22.6274 4 28 9.37258 28 16ZM5.1 14.05C5.1 14.0776 5.07761 14.1 5.05 14.1C5.02239 14.1 5 14.0776 5 14.05C5 14.0224 5.02239 14 5.05 14C5.07761 14 5.1 14.0224 5.1 14.05ZM12.7071 11.2929L12 10.5858L10.5858 12L11.2929 12.7071L14.5858 16.0001L11.293 19.2929L10.5859 20L12.0001 21.4142L12.7072 20.7071L16.0001 17.4143L19.2929 20.7071L20 21.4142L21.4142 20L20.7071 19.2929L17.4143 16.0001L20.7072 12.7071L21.4143 12L20.0001 10.5858L19.293 11.2929L16.0001 14.5858L12.7071 11.2929Z',\n fill: '#191B21',\n key: '5864f2'\n },\n []\n ]\n]);\n\nexport { IconCloseCircleFilled };\n","import createIcon from '../../icons/createIcon';\n\nconst IconInformationCircleFilled = createIcon('IconInformationCircleFilled', '0 0 64 64', [\n [\n 'path',\n {\n 'fill-rule': 'evenodd',\n 'clip-rule': 'evenodd',\n d: 'M56 32C56 45.2548 45.2548 56 32 56C18.7452 56 8 45.2548 8 32C8 18.7452 18.7452 8 32 8C45.2548 8 56 18.7452 56 32ZM10.2 28.1C10.2 28.1552 10.1552 28.2 10.1 28.2C10.0448 28.2 10 28.1552 10 28.1C10 28.0448 10.0448 28 10.1 28C10.1552 28 10.2 28.0448 10.2 28.1ZM29.8372 23.0357C30.4186 23.5833 31.1395 23.8571 32 23.8571C32.8605 23.8571 33.5698 23.5833 34.1279 23.0357C34.7093 22.4643 35 21.7619 35 20.9286C35 20.0952 34.7093 19.4048 34.1279 18.8571C33.5698 18.2857 32.8605 18 32 18C31.1395 18 30.4186 18.2857 29.8372 18.8571C29.2791 19.4048 29 20.0952 29 20.9286C29 21.7619 29.2791 22.4643 29.8372 23.0357ZM34.407 46V26.2143H29.5233V46H34.407Z',\n fill: '#191B21',\n key: 'd4451a'\n },\n []\n ]\n]);\n\nexport { IconInformationCircleFilled };\n","import createIcon from '../../icons/createIcon';\n\nconst IconInformationCircleStroke = createIcon('IconInformationCircleStroke', '0 0 32 32', [\n [\n 'path',\n {\n 'fill-rule': 'evenodd',\n 'clip-rule': 'evenodd',\n d: 'M26 16C26 21.5228 21.5228 26 16 26C10.4772 26 6 21.5228 6 16C6 10.4772 10.4772 6 16 6C21.5228 6 26 10.4772 26 16ZM28 16C28 22.6274 22.6274 28 16 28C9.37258 28 4 22.6274 4 16C4 9.37258 9.37258 4 16 4C22.6274 4 28 9.37258 28 16ZM14.9186 11.5179C15.2093 11.7917 15.5698 11.9286 16 11.9286C16.4302 11.9286 16.7849 11.7917 17.064 11.5179C17.3547 11.2321 17.5 10.881 17.5 10.4643C17.5 10.0476 17.3547 9.70238 17.064 9.42857C16.7849 9.14286 16.4302 9 16 9C15.5698 9 15.2093 9.14286 14.9186 9.42857C14.6395 9.70238 14.5 10.0476 14.5 10.4643C14.5 10.881 14.6395 11.2321 14.9186 11.5179ZM17.2035 23V13.1071H14.7616V23H17.2035Z',\n fill: '#191B21',\n key: 'd3501f'\n },\n []\n ]\n]);\n\nexport { IconInformationCircleStroke };\n","'use client';\n\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport type React from 'react';\nimport { cn } from '../../utils/cn';\nimport { IconCautionCircleFilled } from '../icons/IconCautionCircleFilled.ts';\nimport { IconCheckCircleFilled } from '../icons/IconCheckCircleFilled.ts';\nimport { IconCloseCircleFilled } from '../icons/IconCloseCircleFilled.ts';\nimport { IconInformationCircleFilled } from '../icons/IconInformationCircleFilled.ts';\nimport { IconInformationCircleStroke } from '../icons/IconInformationCircleStroke.ts';\n\nexport interface HelperTextProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof helperTextVariants> {\n children: React.ReactNode;\n hideIcon?: boolean;\n}\n\nconst helperTextVariants = cva('inline-flex items-center gap-lr-spacing-050 transition-colors', {\n variants: {\n size: {\n sm: 'text-lr-body-small-light',\n md: 'text-lr-body-balanced-light'\n },\n variant: {\n default: ['text-lr-text-main'],\n success: ['text-lr-text-success'],\n information: ['text-lr-text-info'],\n warning: ['text-lr-text-warning'],\n error: ['text-lr-text-error'],\n subtle: ['text-lr-text-subtle']\n }\n },\n defaultVariants: {\n size: 'md',\n variant: 'default'\n }\n});\n\nexport const iconVariants = cva(['flex-shrink-0'], {\n variants: {\n variant: {\n default: 'text-lr-icon-main',\n success: 'text-lr-icon-success',\n information: 'text-lr-icon-info',\n warning: 'text-lr-icon-warning',\n error: 'text-lr-icon-error',\n subtle: 'text-lr-icon-subtle'\n }\n },\n defaultVariants: {\n variant: 'default'\n }\n});\n\nfunction getIconForVariant(variant: HelperTextProps['variant']) {\n switch (variant) {\n case 'success':\n return IconCheckCircleFilled;\n case 'information':\n return IconInformationCircleFilled;\n case 'warning':\n return IconCautionCircleFilled;\n case 'error':\n return IconCloseCircleFilled;\n default:\n return IconInformationCircleStroke;\n }\n}\n\nfunction HelperText({ className, size, variant, children, hideIcon, ...rest }: HelperTextProps) {\n const IconComponent = getIconForVariant(variant);\n\n return (\n children && (\n <div className={cn(helperTextVariants({ size, variant }), className)} {...rest}>\n {!hideIcon && <IconComponent className={cn(iconVariants({ variant }))} size={'xs'} />}{' '}\n <span>{children}</span>\n </div>\n )\n );\n}\n\nexport { HelperText };\nexport default HelperText;\n","'use client';\n\nimport React from 'react';\nimport { FieldError } from 'react-aria-components/FieldError';\nimport type { HelperTextProps } from '../../components/HelperText/HelperText.tsx';\nimport HelperText from '../../components/HelperText/HelperText.tsx';\nimport { cn } from '../../utils/cn';\nexport interface InputIndication {\n type: HelperTextProps['variant'];\n message: string;\n}\n\nexport interface InputWithHelpersProps {\n hint?: React.ReactNode | string;\n indications?: InputIndication[];\n}\nexport interface InputHelpersProps extends InputWithHelpersProps {\n wrapErrorInFieldError?: boolean;\n className?: string;\n}\n\nexport function InputHelpers({ hint, indications, wrapErrorInFieldError = false, className }: InputHelpersProps) {\n const hasIndications = !!indications?.length;\n\n if (!hint && !hasIndications) return null;\n\n if (hint && !hasIndications) {\n return (\n <div className={className}>\n <HelperText\n variant=\"subtle\"\n className={cn(`\n text-lr-body-small-light\n lr-md:text-lr-body-balanced-light\n `)}\n >\n {hint}\n </HelperText>\n </div>\n );\n }\n\n return (\n <div className={cn(indications!.length > 1 && 'grid grid-cols-2 gap-y-lr-spacing-100', className)}>\n {indications!.map((indication, i) => {\n const hideIcon =\n indications!.length === 1 && (indication.type === 'success' || indication.type === 'error');\n\n const content = (\n <HelperText\n variant={indication.type}\n hideIcon={hideIcon}\n className={cn(`\n text-lr-body-small-light\n lr-md:text-lr-body-balanced-light\n `)}\n >\n {indication.message}\n </HelperText>\n );\n\n if (indication.type === 'error' && wrapErrorInFieldError) {\n return <FieldError key={`error-${i}`}>{content}</FieldError>;\n }\n\n return <React.Fragment key={`${indication.type}-${i}`}>{content}</React.Fragment>;\n })}\n </div>\n );\n}\n","'use client';\n\nimport React from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { TextField as AriaTextField, type TextFieldProps as AriaTextFieldProps } from 'react-aria-components/TextField';\nimport { cn } from '../../utils/cn';\nimport { Button } from '../Button/Button';\nimport type { IconProps } from '../Icon/types.ts';\nimport { IconCautionCircleStroke } from '../icons/IconCautionCircleStroke.ts';\nimport { IconCheckCircleStroke } from '../icons/IconCheckCircleStroke.ts';\nimport { InputLabel, type InputWithLabelProps } from '../../internal/inputs/InputLabel.tsx';\nimport { InputHelpers, type InputWithHelpersProps } from '../../internal/inputs/InputHelpers.tsx';\n\nconst iconContainerVariants = cva(\n `\n absolute top-1/2 -translate-y-1/2\n group-has-data-disabled:text-lr-icon-subtle\n `,\n {\n variants: {\n state: {\n default: '',\n success: 'text-lr-icon-success',\n error: 'text-lr-icon-error'\n },\n position: {\n left: 'pointer-events-none left-lr-spacing-150',\n right: `\n right-lr-spacing-025\n group-has-data-disabled:pointer-events-none\n `\n }\n },\n compoundVariants: [\n {\n state: 'default',\n position: 'left',\n className: 'group-has-data-disabled:text-lr-icon-subtle'\n }\n ],\n defaultVariants: {\n state: 'default'\n }\n }\n);\n\n/* ---------- TextBaseInput (ancien BaseInput) ---------- */\n\nexport type TextBaseInputProps<IsTextBasedInput extends boolean = true> = (IsTextBasedInput extends true\n ? AriaTextFieldProps\n : React.HTMLAttributes<HTMLDivElement> & { isRequired?: boolean; isDisabled?: boolean }) & {\n notTextFieldBasedInput?: boolean;\n children: React.ReactNode;\n hideErrorMessage?: boolean;\n showRequiredIndicator?: boolean;\n labelId?: string;\n labelHtmlFor?: string;\n} & InputWithLabelProps &\n InputWithHelpersProps;\n\nexport function TextBaseInput(props: TextBaseInputProps<true> | TextBaseInputProps<false>) {\n const {\n notTextFieldBasedInput = false,\n label,\n optionalLabel,\n hint,\n indications,\n isRequired,\n isInvalid,\n isReadOnly,\n isDisabled,\n hideErrorMessage = false,\n children,\n showRequiredIndicator,\n labelId,\n labelHtmlFor,\n ...rest\n } = props as TextBaseInputProps;\n\n const filteredIndications = hideErrorMessage\n ? indications?.filter((indication) => indication.type !== 'error')\n : indications;\n\n const content = (\n <>\n <InputLabel\n label={label}\n optionalLabel={optionalLabel}\n isRequired={isRequired}\n showRequiredIndicator={showRequiredIndicator}\n labelId={labelId}\n htmlFor={labelHtmlFor}\n />\n\n {children}\n\n <InputHelpers\n hint={hint}\n indications={filteredIndications}\n wrapErrorInFieldError={!notTextFieldBasedInput}\n />\n </>\n );\n\n if (notTextFieldBasedInput) {\n return (\n <div\n className={cn('flex flex-col gap-lr-spacing-050')}\n data-required={isRequired}\n {...(rest as React.HTMLAttributes<HTMLDivElement>)}\n >\n {content}\n </div>\n );\n }\n\n return (\n <AriaTextField\n className={cn('flex w-full flex-col gap-lr-spacing-050')}\n isInvalid={isInvalid ?? !!indications?.find((indication) => indication.type === 'error')}\n isRequired={isRequired}\n isReadOnly={isReadOnly}\n isDisabled={isDisabled}\n {...(rest as AriaTextFieldProps)}\n >\n {content}\n </AriaTextField>\n );\n}\n\nexport type TextBaseInputWithIconsProps<IsTextBasedInput extends boolean = true> =\n TextBaseInputProps<IsTextBasedInput> &\n Omit<VariantProps<typeof iconContainerVariants>, 'position'> & {\n leftIcon?: React.ReactElement<IconProps>;\n rightIcon?: React.ReactElement<IconProps>;\n state?: 'default' | 'success' | 'error';\n onRightIconPress?: () => void;\n hideStateIcon?: boolean;\n };\n\nexport function TextBaseInputWithIcons(props: TextBaseInputWithIconsProps<true> | TextBaseInputWithIconsProps<false>) {\n const {\n state = 'default',\n leftIcon,\n rightIcon,\n onRightIconPress,\n hideStateIcon = false,\n className,\n children,\n ...rest\n } = props as TextBaseInputWithIconsProps;\n\n const hasStateIcon = !hideStateIcon && state && state !== 'default';\n const hasRightContent = rightIcon || hasStateIcon;\n\n return (\n <TextBaseInput {...(rest as TextBaseInputProps)}>\n <div\n className={cn('group relative', className)}\n data-has-left-icon={leftIcon ? '' : undefined}\n data-has-right-content={hasRightContent ? '' : undefined}\n >\n {leftIcon && (\n <div className={cn(iconContainerVariants({ state, position: 'left' }))}>\n {React.cloneElement(leftIcon, {\n ...(leftIcon.props ?? {}),\n size: 'sm'\n } as IconProps)}\n </div>\n )}\n\n {React.isValidElement<{ className?: string }>(children)\n ? React.cloneElement(children, {\n ...children.props,\n className: cn(\n 'pr-lr-spacing-025 pl-lr-spacing-150',\n 'group-data-[has-left-icon]:pl-lr-spacing-550',\n 'group-data-[has-right-content]:pr-lr-spacing-700',\n children.props.className\n )\n })\n : children}\n\n <div\n className={cn(`\n absolute top-1/2 right-lr-spacing-025 flex -translate-y-1/2 items-center gap-lr-spacing-025\n group-has-data-[disabled]:text-lr-icon-subtle\n `)}\n >\n {hasStateIcon && (\n <div\n className={cn(\n 'mr-lr-spacing-125 flex items-center justify-center',\n state === 'success' && 'text-lr-icon-success',\n state === 'error' && 'text-lr-icon-error'\n )}\n >\n {state === 'success' && <IconCheckCircleStroke size=\"sm\" />}\n {state === 'error' && <IconCautionCircleStroke size=\"sm\" />}\n </div>\n )}\n\n {rightIcon && (\n <div className=\"group-has-data-[disabled]:pointer-events-none\">\n <Button\n pill\n icon\n variant=\"plain\"\n className=\"data-[hovered]:bg-transparent data-[hovered]:shadow-none\"\n onPress={onRightIconPress}\n >\n {React.cloneElement(rightIcon, {\n ...(rightIcon.props ?? {}),\n size: 'sm'\n } as IconProps)}\n </Button>\n </div>\n )}\n </div>\n </div>\n </TextBaseInput>\n );\n}\n","'use client';\n\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { Input as AriaInput } from 'react-aria-components/Input';\nimport { cn } from '../../utils/cn';\nimport { TextBaseInputWithIcons, type TextBaseInputWithIconsProps } from './TextBaseInput.tsx';\nimport type { InputIndication } from '../../internal/inputs/InputHelpers.tsx';\nimport React from 'react';\n\nexport const sharedInputVariants = cva(\n `\n w-full rounded-lr-main border-lr-main border-lr-border-active text-lr-text-main caret-lr-border-focus outline-0\n outline-offset-lr-focus outline-lr-border-focus transition-colors\n data-[disabled]:cursor-not-allowed data-[disabled]:border-lr-border-disabled data-[disabled]:bg-lr-bg-disabled\n data-[disabled]:text-lr-text-subtle data-[disabled]:placeholder:text-transparent\n data-[focus-visible]:outline-lr-focus\n `,\n {\n variants: {\n size: {\n md: 'text-lr-body-standard-light',\n sm: 'text-lr-body-balanced-light'\n },\n state: {\n default: [\n `\n placeholder:text-lr-text-subtle\n placeholder-shown:border-lr-border-medium\n `,\n `\n data-[hovered]:not-data-[disabled]:border-lr-border-hover\n data-[hovered]:not-data-[disabled]:bg-lr-bg-hover\n `\n ],\n success: 'border-lr-border-success bg-lr-bg-success-subtle text-lr-text-success',\n error: 'border-lr-border-error bg-lr-bg-error-subtle text-lr-text-error'\n }\n },\n defaultVariants: {\n size: 'md',\n state: 'default'\n }\n }\n);\n\nexport const sharedInputWithIconVariants = cva('', {\n variants: {\n size: {\n sm: ['h-lr-size-500'],\n md: ['h-lr-size-600']\n },\n state: {\n default: 'group-has-data-[hovered]:border-lr-border-hover group-has-data-[hovered]:bg-lr-bg-hover',\n success: '',\n error: ''\n }\n },\n defaultVariants: {\n size: 'md',\n state: 'default'\n }\n});\n\ntype BaseProps = Omit<TextBaseInputWithIconsProps, 'children' | 'notTextBasedInput'>;\n\nexport interface TextInputProps\n extends Omit<BaseProps, 'size'>,\n Omit<VariantProps<typeof sharedInputVariants>, 'state'>,\n Omit<VariantProps<typeof sharedInputWithIconVariants>, 'state'> {\n placeholder?: string;\n}\n\nconst TextInput = React.forwardRef<HTMLInputElement, TextInputProps>(\n ({ size = 'md', state = 'default', placeholder, className, indications, isRequired, ...rest }, ref) => {\n const hasError = !!indications?.some((i: InputIndication) => i.type === 'error');\n const { 'data-cerberus': dataCerberus, ...restProps } = rest as any;\n\n return (\n <TextBaseInputWithIcons\n state={state}\n indications={indications}\n isRequired={isRequired}\n isInvalid={hasError}\n {...(restProps as TextBaseInputWithIconsProps)}\n >\n <AriaInput\n ref={ref}\n className={cn(\n sharedInputVariants({ size, state }),\n sharedInputWithIconVariants({ size, state }),\n className\n )}\n placeholder={placeholder}\n data-cerberus={dataCerberus}\n />\n </TextBaseInputWithIcons>\n );\n }\n);\n\nTextInput.displayName = 'TwTextInput';\nexport default TextInput;\n","import createIcon from '../../icons/createIcon';\n\nconst IconCheck = createIcon('IconCheck', '0 0 64 64', [\n [\n 'path',\n {\n 'fill-rule': 'evenodd',\n 'clip-rule': 'evenodd',\n d: 'M54.8286 17.9846L53.4223 19.4066L25.73 47.4066C25.3543 47.7865 24.8422 48.0003 24.308 48.0003C23.7737 48.0003 23.2616 47.7865 22.8859 47.4066L10.5783 34.9622L9.17188 33.5402L12.0159 30.7274L13.4223 32.1494L24.308 43.1561L50.5783 16.5939L51.9846 15.1719L54.8286 17.9846Z',\n fill: '#191B21',\n key: 'd6f4bc'\n },\n []\n ]\n]);\n\nexport { IconCheck };\n","import { useCallback, useEffect, useRef } from 'react';\n\n/**\n * Native press listener for widgets inside deep-chat's shadow root. react-aria's `usePress`\n * listens on the document, where the event is retargeted to the shadow host, and cancels the press.\n */\nexport function useNativePress<T extends HTMLElement>(onPress: () => void) {\n const elementRef = useRef<T>(null);\n const onPressRef = useRef(onPress);\n\n useEffect(() => {\n onPressRef.current = onPress;\n }, [onPress]);\n\n const attach = useCallback((element: T | null) => {\n elementRef.current = element;\n if (!element) {\n return undefined;\n }\n\n const handleClick = () => {\n onPressRef.current();\n };\n element.addEventListener('click', handleClick);\n\n return () => {\n element.removeEventListener('click', handleClick);\n };\n }, []);\n\n return attach;\n}\n","import createIcon from '../../icons/createIcon';\n\nconst IconStarFilled = createIcon('IconStarFilled', '0 0 64 64', [\n [\n 'path',\n {\n d: 'M31.5098 6C32.3255 6 33.0601 6.49549 33.3652 7.25195L39.7773 23.1465L56.2246 25.0137C57.0139 25.1032 57.6756 25.6512 57.9102 26.4102C58.1151 27.074 57.9602 27.7885 57.5156 28.3047L57.3066 28.5137L45.4707 38.7363L49.1387 55.5742C49.3069 56.3468 49.0031 57.1461 48.3652 57.6133C47.7271 58.0804 46.8733 58.1282 46.1875 57.7344L31.5098 49.3047L16.832 57.7344C16.1465 58.1278 15.2942 58.0801 14.6562 57.6133C14.0182 57.1461 13.7146 56.3469 13.8828 55.5742L17.5586 38.6836L6.63281 28.4609C6.06511 27.9296 5.85772 27.1159 6.09961 26.377C6.34174 25.6384 6.99001 25.1064 7.76172 25.0137L23.2402 23.1543L29.6562 7.25195L29.7891 6.98047C30.1451 6.37913 30.7963 6.00018 31.5098 6Z',\n fill: '#191B21',\n key: '63f730'\n },\n []\n ]\n]);\n\nexport { IconStarFilled };\n","import { useId, useState } from 'react';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { IconStarFilled } from '@atlas/shared/client/ui/react-tw/icons/IconStarFilled';\nimport { cn } from '@atlas/shared/client/ui/react-tw/utils/cn';\nimport type { IconProps } from '@atlas/shared/client/ui/react-tw/Icon';\n\nexport const MAX_RATING = 5;\nconst STARS = Array.from({ length: MAX_RATING }, (_, index) => index + 1);\n\n// Figma `.starRating` part: empty stars are drawn filled, in a lighter colour.\nconst starVariants = cva('transition-colors', {\n variants: {\n isActive: {\n true: '',\n false: ''\n },\n isHovered: {\n true: '',\n false: ''\n }\n },\n compoundVariants: [\n { isActive: false, isHovered: false, className: 'text-lr-icon-rating-empty-default' },\n { isActive: false, isHovered: true, className: 'text-lr-icon-rating-empty-hover' },\n { isActive: true, isHovered: false, className: 'text-lr-icon-rating-filled-default' },\n { isActive: true, isHovered: true, className: 'text-lr-icon-rating-filled-hover' }\n ],\n defaultVariants: {\n isActive: false,\n isHovered: false\n }\n});\n\ntype StarProps = VariantProps<typeof starVariants> & {\n size: IconProps['size'];\n};\n\nfunction Star({ isActive, isHovered, size }: StarProps) {\n return (\n <IconStarFilled\n size={size}\n aria-hidden={true}\n data-active={isActive ? 'true' : undefined}\n className={starVariants({ isActive, isHovered })}\n />\n );\n}\n\nconst ratingVariants = cva('flex items-center', {\n variants: {\n size: {\n xs: 'gap-lr-spacing-025',\n sm: 'gap-lr-spacing-025',\n md: 'gap-lr-spacing-050',\n lg: 'gap-lr-spacing-050',\n xl: 'gap-lr-spacing-100'\n }\n },\n defaultVariants: {\n size: 'md'\n }\n});\n\ntype SharedProps = VariantProps<typeof ratingVariants> & {\n /** Accessible name of the whole rating. Rendered for screen readers only. */\n label: string;\n className?: string;\n};\n\nexport type ReadOnlyStarRatingProps = SharedProps & {\n isReadOnly: true;\n /** Rating to display, 0 to 5. Rounded to the nearest star. */\n value: number;\n};\n\nexport type InteractiveStarRatingProps = SharedProps & {\n isReadOnly?: false;\n /** Groups the radios and makes the rating part of the surrounding form's `FormData`. */\n name?: string;\n /** Selected rating, 1 to 5. Leave undefined to let the component manage it. */\n value?: number;\n defaultValue?: number;\n onChange?: (value: number) => void;\n /** Accessible name of a single star. Defaults to the bare number. */\n getStarLabel?: (value: number) => string;\n isDisabled?: boolean;\n};\n\nexport type StarRatingProps = ReadOnlyStarRatingProps | InteractiveStarRatingProps;\n\n/** Five-star rating, to move to the design system once it ships one. */\nexport function StarRating(props: StarRatingProps) {\n if (props.isReadOnly) {\n return <ReadOnlyStarRating {...props} />;\n }\n return <InteractiveStarRating {...props} />;\n}\n\nfunction ReadOnlyStarRating({ label, value, size = 'md', className }: ReadOnlyStarRatingProps) {\n const filledCount = Math.min(MAX_RATING, Math.max(0, Math.round(value)));\n\n return (\n <div role=\"img\" aria-label={label} className={cn(ratingVariants({ size }), className)}>\n {STARS.map((starValue) => (\n <Star key={starValue} size={size} isActive={starValue <= filledCount} isHovered={false} />\n ))}\n </div>\n );\n}\n\nfunction InteractiveStarRating({\n label,\n name,\n value,\n defaultValue = 0,\n onChange,\n getStarLabel = (starValue) => String(starValue),\n size = 'md',\n isDisabled = false,\n className\n}: InteractiveStarRatingProps) {\n const generatedName = useId();\n const [uncontrolledValue, setUncontrolledValue] = useState(defaultValue);\n const [previewedValue, setPreviewedValue] = useState<number | null>(null);\n\n const selectedValue = value ?? uncontrolledValue;\n const isPreviewing = !isDisabled && previewedValue !== null;\n const highlightedValue = isPreviewing ? previewedValue : selectedValue;\n\n const preview = (starValue: number | null) => {\n if (!isDisabled) {\n setPreviewedValue(starValue);\n }\n };\n\n const select = (starValue: number) => {\n setUncontrolledValue(starValue);\n onChange?.(starValue);\n };\n\n return (\n <fieldset\n className={cn(ratingVariants({ size }), 'border-0 p-0', className)}\n disabled={isDisabled}\n onMouseLeave={() => {\n preview(null);\n }}\n >\n <legend className=\"sr-only\">{label}</legend>\n {STARS.map((starValue) => (\n <label\n key={starValue}\n className={cn(\n `\n relative rounded-lr-main outline-lr-border-focus\n focus-within:outline-lr-focus focus-within:outline-offset-lr-focus\n `,\n isDisabled ? 'cursor-default' : 'cursor-pointer'\n )}\n onMouseEnter={() => {\n preview(starValue);\n }}\n >\n <input\n type=\"radio\"\n className=\"sr-only\"\n name={name ?? generatedName}\n value={starValue}\n checked={selectedValue === starValue}\n aria-label={getStarLabel(starValue)}\n onChange={() => {\n select(starValue);\n }}\n onFocus={() => {\n preview(starValue);\n }}\n onBlur={() => {\n preview(null);\n }}\n />\n <Star\n size={size}\n isActive={starValue <= highlightedValue}\n isHovered={isPreviewing && starValue <= highlightedValue}\n />\n </label>\n ))}\n </fieldset>\n );\n}\n","import { useState } from 'react';\nimport { Button } from '@atlas/shared/client/ui/react-tw/Button';\nimport { TextInput } from '@atlas/shared/client/ui/react-tw/TextInput';\nimport { IconCheck } from '@atlas/shared/client/ui/react-tw/icons/IconCheck';\nimport { rateConversation } from '../../core/conversation';\nimport { getConversationId } from '../../core/storage';\nimport { sanitizeHtml } from '../../utils/sanitize';\nimport { useChatbotApiContext } from '../ChatbotContext';\nimport { useChatbotTranslation } from '../useChatbotTranslation';\nimport { useNativePress } from '../useNativePress';\nimport { StarRating } from './StarRating';\n\n/** Below this, we ask what went wrong. */\nconst FEEDBACK_THRESHOLD = 3;\n\ntype Props = {\n conversationId?: string;\n addMessage: (body: string) => void;\n};\n\n/** End-of-conversation star rating, with a free-text field for low scores. */\nexport function ChatbotConversationRating({ conversationId, addMessage }: Props) {\n const { t } = useChatbotTranslation();\n const api = useChatbotApiContext();\n\n const [rating, setRating] = useState(0);\n const [feedback, setFeedback] = useState('');\n const [isFeedbackSent, setIsFeedbackSent] = useState(false);\n const [isPending, setIsPending] = useState(false);\n\n const submitRating = async (score: number) => {\n setRating(score);\n if (!conversationId) {\n return;\n }\n try {\n await rateConversation(api, { conversationId, score });\n } catch {\n }\n\n // The conversation is over once its id has been cleared.\n if (!getConversationId()) {\n addMessage(t('otherQuestiononConversation'));\n }\n };\n\n const submitFeedback = async () => {\n if (!conversationId) {\n return;\n }\n setIsPending(true);\n try {\n await rateConversation(api, { conversationId, score: rating, feedback });\n setIsFeedbackSent(true);\n } catch {\n } finally {\n setIsPending(false);\n }\n };\n\n const pressSend = useNativePress<HTMLButtonElement>(() => {\n void submitFeedback();\n });\n\n const showFeedbackForm = rating > 0 && rating <= FEEDBACK_THRESHOLD && !isFeedbackSent;\n\n return (\n <span className=\"mt-lr-spacing-100 flex flex-col gap-lr-spacing-150\">\n <StarRating\n label={t('ratingConversation')}\n size=\"sm\"\n value={rating}\n isDisabled={rating > 0}\n onChange={(score) => {\n void submitRating(score);\n }}\n />\n\n {showFeedbackForm ? (\n <form\n className=\"flex flex-col gap-lr-spacing-100\"\n onSubmit={(event) => {\n event.preventDefault();\n void submitFeedback();\n }}\n >\n <TextInput\n name=\"feedback\"\n label={t('feedback.inputLabel')}\n placeholder={t('feedback.inputPlaceholder')}\n value={feedback}\n onChange={setFeedback}\n />\n {/* Pressed natively rather than submitting the form, so the click works\n inside the shadow root; the form still submits on Enter. */}\n <Button ref={pressSend} type=\"button\" size=\"sm\" className=\"w-full\" isPending={isPending}>\n {t('feedback.sendButtonLabel')}\n </Button>\n </form>\n ) : null}\n\n {isFeedbackSent ? (\n <span className=\"flex items-center gap-lr-spacing-100\">\n <IconCheck size=\"sm\" />\n {/* The catalogue ships this one as markup; it also carries an icon tag the\n sanitizer drops, since the icon is rendered above. */}\n <span dangerouslySetInnerHTML={{ __html: sanitizeHtml(t('feedback.messageConfirm')) }} />\n </span>\n ) : null}\n </span>\n );\n}\n","import createIcon from '../../icons/createIcon';\n\nconst IconHelp = createIcon('IconHelp', '0 0 64 64', [\n [\n 'path',\n {\n 'fill-rule': 'evenodd',\n 'clip-rule': 'evenodd',\n d: 'M10 14.2918C10 11.9359 11.9359 10 14.2918 10H49.7082C52.0641 10 54 11.9359 54 14.2918V36.916C54 39.272 52.0641 41.2079 49.7082 41.2079H33.8867C33.3711 41.2079 32.8753 41.407 32.503 41.7638L22.715 51.1429L22.7149 43.2079C22.7149 42.1033 21.8195 41.2079 20.7149 41.2079H14.2918C11.9359 41.2079 10 39.272 10 36.9161V14.2918ZM14.2918 6C9.72675 6 6 9.72675 6 14.2918V36.9161C6 41.4812 9.72675 45.2079 14.2918 45.2079H18.7149L18.715 55.8292C18.715 56.6304 19.1931 57.3542 19.93 57.6687C20.6669 57.9832 21.5203 57.8276 22.0987 57.2733L34.6903 45.2079H49.7082C54.2732 45.2079 58 41.4811 58 36.916V14.2918C58 9.72675 54.2732 6 49.7082 6H14.2918ZM37.0232 17.2373C38.1814 18.2451 38.7596 19.6728 38.7596 21.5205C38.7596 23.3876 38.1658 24.8154 36.9822 25.8046C35.7967 26.7949 34.2049 27.3076 32.2068 27.3447V30.1728H28.4842V24.7685H30.0799C31.5916 24.7685 32.7674 24.541 33.6072 24.083C34.447 23.6259 34.867 22.7812 34.867 21.5488C34.867 20.7275 34.6345 20.0888 34.1677 19.6308C33.7009 19.1738 33.0759 18.9453 32.2908 18.9453C31.4334 18.9453 30.7517 19.1924 30.2478 19.6865C29.7439 20.1816 29.492 20.8213 29.492 21.6045H25.7674C25.7303 20.4853 25.9724 19.4814 26.4959 18.5947C27.0174 17.709 27.7869 17.0088 28.8064 16.4951C29.822 15.9814 31.031 15.7246 32.4314 15.7246C34.3357 15.7246 35.865 16.2285 37.0232 17.2373ZM32.5154 32.5527V36.6689H28.2596V32.5527H32.5154Z',\n fill: '#191B21',\n key: '150482'\n },\n []\n ]\n]);\n\nexport { IconHelp };\n","import createIcon from '../../icons/createIcon';\n\nconst IconSmartphone = createIcon('IconSmartphone', '0 0 64 64', [\n [\n 'path',\n {\n 'fill-rule': 'evenodd',\n 'clip-rule': 'evenodd',\n d: 'M14 11.8653V52.236C14 55.7757 17.0174 58.071 20 58.071H44C46.9826 58.071 50 55.7757 50 52.236V11.8653C50 8.32552 46.9826 6.03027 44 6.03027H20C17.0174 6.03027 14 8.32552 14 11.8653ZM18 52.236V11.8653C18 10.8518 18.8954 10.0303 20 10.0303H44C45.1046 10.0303 46 10.8518 46 11.8653V52.236C46 53.2494 45.1046 54.071 44 54.071H20C18.8954 54.071 18 53.2494 18 52.236ZM32 49.2266C34.2091 49.2266 36 47.4357 36 45.2266C36 43.0174 34.2091 41.2266 32 41.2266C29.7909 41.2266 28 43.0174 28 45.2266C28 47.4357 29.7909 49.2266 32 49.2266Z',\n fill: '#191B21',\n key: '29f61b'\n },\n []\n ]\n]);\n\nexport { IconSmartphone };\n","import createIcon from '../../icons/createIcon';\n\nconst IconWhatsapp = createIcon('IconWhatsapp', '0 0 64 64', [\n [\n 'path',\n {\n 'fill-rule': 'evenodd',\n 'clip-rule': 'evenodd',\n d: 'M13.771 44.4323L11.6534 52.3467L19.5678 50.229L21.003 51.0592C24.2348 52.9288 27.9863 54 32.0001 54C44.1503 54 54.0001 44.1503 54.0001 32C54.0001 19.8497 44.1503 10 32.0001 10C19.8498 10 10.0001 19.8497 10.0001 32C10.0001 36.0138 11.0713 39.7653 12.9408 42.9971L13.771 44.4323ZM6 58L9.47842 45C7.26621 41.1757 6.00008 36.7357 6.00008 32C6.00008 17.6406 17.6407 6 32.0001 6C46.3595 6 58.0001 17.6406 58.0001 32C58.0001 46.3594 46.3595 58 32.0001 58C27.2643 58 22.8243 56.7339 19.0001 54.5217L6 58Z',\n fill: '#191B21',\n key: '8e081b'\n },\n []\n ],\n [\n 'path',\n {\n 'fill-rule': 'evenodd',\n 'clip-rule': 'evenodd',\n d: 'M25.5126 20.571C25.0388 19.4543 24.5126 19.4271 24.0651 19.4271C23.67 19.4 23.2472 19.4 22.7997 19.4C22.3799 19.4 21.6685 19.5627 21.0636 20.2439C20.4572 20.9235 18.7998 22.5299 18.7998 25.8226C18.7998 29.1168 21.1161 32.301 21.4324 32.7365C21.7472 33.172 25.9076 40.1386 32.4907 42.8346C37.9659 45.0664 39.0723 44.6309 40.2574 44.4937C41.441 44.3581 44.0752 42.8888 44.6277 41.3095C45.1539 39.7589 45.1539 38.3981 44.9965 38.1253C44.8391 37.8541 44.39 37.6898 43.7589 37.3357C43.0999 37.0102 39.9411 35.3767 39.3362 35.1581C38.7297 34.9412 38.3084 34.8327 37.8871 35.4852C37.4659 36.1663 36.2283 37.6627 35.8347 38.0982C35.4644 38.5337 35.0709 38.588 34.4382 38.2609C33.7808 37.9355 31.7006 37.2272 29.2254 34.9412C27.3026 33.1704 26.0125 30.9674 25.6175 30.3149C25.2502 29.6337 25.565 29.2796 25.9076 28.9525C26.1977 28.6542 26.5665 28.1645 26.8829 27.7832C27.1977 27.4003 27.3026 27.102 27.5403 26.6665C27.7501 26.231 27.6452 25.8226 27.4878 25.4972C27.3288 25.1973 26.0928 21.9046 25.5126 20.571Z',\n fill: '#191B21',\n key: '18857b'\n },\n []\n ]\n]);\n\nexport { IconWhatsapp };\n","import { useState, type ComponentType } from 'react';\nimport { Button } from '@atlas/shared/client/ui/react-tw/Button';\nimport type { IconProps } from '@atlas/shared/client/ui/react-tw/Icon';\nimport { IconHelp } from '@atlas/shared/client/ui/react-tw/icons/IconHelp';\nimport { IconLoadingCircleDark } from '@atlas/shared/client/ui/react-tw/icons/IconLoadingCircleDark';\nimport { IconSmartphone } from '@atlas/shared/client/ui/react-tw/icons/IconSmartphone';\nimport { IconWhatsapp } from '@atlas/shared/client/ui/react-tw/icons/IconWhatsapp';\nimport { sleep } from '@atlas/shared/client/ui/core/utils/sleep';\nimport { getEscalationSummary } from '../../core/conversation';\nimport { useChatbotContext } from '../ChatbotContext';\nimport { useChatbotTranslation } from '../useChatbotTranslation';\nimport { useNativePress } from '../useNativePress';\n\n/** Icon names as written in the translation catalogue. */\nconst icons: Record<string, ComponentType<IconProps>> = {\n help: IconHelp,\n 'brand-whatsapp': IconWhatsapp,\n smartphone: IconSmartphone\n};\n\nexport const ESCALATION_PILL_SELECTOR = 'lr-chatbot-escalation-pill';\n\nexport type ChatbotEscalationChannel = {\n label: string;\n channel: string;\n icon?: string;\n /** Hand the agent a summary of the conversation. */\n shouldGetSummary: boolean;\n};\n\nexport function readEscalationChannel(element: Element): ChatbotEscalationChannel {\n return {\n label: element.textContent?.trim() ?? '',\n channel: element.getAttribute('channel') ?? '',\n icon: element.getAttribute('icon') ?? undefined,\n shouldGetSummary: element.hasAttribute('shouldGetSummary')\n };\n}\n\n/** Channels declared in `chatbot:escalation.suggestions`. */\nexport function parseEscalationChannels(html: string): ChatbotEscalationChannel[] {\n if (typeof document === 'undefined') {\n return [];\n }\n const template = document.createElement('template');\n template.innerHTML = html;\n return Array.from(template.content.querySelectorAll(ESCALATION_PILL_SELECTOR)).map(readEscalationChannel);\n}\n\ntype Props = ChatbotEscalationChannel & {\n conversationId?: string;\n};\n\n/** Hands the conversation over to a human channel. Which pills exist is decided by `chatbot:escalation.suggestions`. */\nexport function ChatbotEscalationPill({ label, channel, icon, shouldGetSummary, conversationId }: Props) {\n const { t } = useChatbotTranslation();\n const { apiUrl, country, language } = useChatbotContext();\n const [isPending, setIsPending] = useState(false);\n\n const Icon = icon === undefined ? undefined : icons[icon];\n\n const buildSummaryMessage = async () => {\n if (!shouldGetSummary || !conversationId) {\n return '';\n }\n\n setIsPending(true);\n try {\n const summary = await getEscalationSummary({ apiUrl, country }, { conversationId, language });\n\n const message =\n summary.kind === 'summary'\n ? summary.summary\n : t('escalation.message', {\n context: channel,\n // WhatsApp agents look the ticket up by its prefixed reference.\n conversationId:\n channel === 'whatsapp' ? `HERMES ${summary.ticketId}` : summary.ticketId\n });\n\n await sleep(200); // for UX\n return message;\n } catch {\n return '';\n } finally {\n setIsPending(false);\n }\n };\n\n const escalate = async () => {\n const message = await buildSummaryMessage();\n\n window.dispatchEvent(new CustomEvent('chatbotEscalationClicked', { detail: channel }));\n\n const url = t('escalation.url', { context: channel, message });\n if (url) {\n window.open(url, '_blank');\n }\n };\n\n const press = useNativePress<HTMLButtonElement>(() => {\n void escalate();\n });\n\n return (\n // No `isPending`: it would replace the label with the loader. Keep the label, swap the icon.\n <Button\n ref={press}\n pill\n size=\"sm\"\n variant=\"tertiary\"\n isDisabled={isPending}\n aria-busy={isPending}\n data-channel={channel}\n >\n {isPending ? (\n <IconLoadingCircleDark size=\"sm\" className=\"animate-reverse-spin\" />\n ) : Icon ? (\n <Icon size=\"sm\" />\n ) : null}\n {label}\n </Button>\n );\n}\n","import { useMemo } from 'react';\nimport { cn } from '@atlas/shared/client/ui/react-tw/utils/cn';\n\nexport type ChatbotIntroductionProps = {\n title: string;\n text: string;\n /** Suggestion pill markers, stacked beneath the text. */\n suggestions?: string;\n};\n\n/** Opens a fresh conversation, no bubble: a heading, a hint and the canned questions. */\nexport function ChatbotIntroduction({ title, text, suggestions }: ChatbotIntroductionProps) {\n // Stable identity, or React resets innerHTML and wipes the mounted slots on each render.\n const suggestionsBody = useMemo(() => (suggestions ? { __html: suggestions } : undefined), [suggestions]);\n\n return (\n // Bottom padding: deep-chat zeroes the outer margin of `lr` messages, and this one sits above the input.\n <div className=\"flex w-full flex-col gap-lr-spacing-100 pb-lr-spacing-200\">\n <h2 className=\"m-0 text-lr-title-big-medium text-lr-text-main\">{title}</h2>\n <p className=\"m-0 text-lr-subtitle-large-light text-lr-text-main\">{text}</p>\n {suggestionsBody ? (\n <div\n className={cn(`\n mt-lr-spacing-100 flex flex-col items-start gap-lr-spacing-100\n lr-md:flex-row lr-md:flex-wrap\n `)}\n dangerouslySetInnerHTML={suggestionsBody}\n />\n ) : null}\n </div>\n );\n}\n","import {filterDOMProps as $8e9d2fae0ecb9001$export$457c3d6518dd4c6f} from \"../utils/filterDOMProps.mjs\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \nfunction $dc321dbb6473ef33$export$52210f68a14655d0(props) {\n let domProps = (0, $8e9d2fae0ecb9001$export$457c3d6518dd4c6f)(props, {\n labelable: true\n });\n let ariaOrientation;\n // if orientation is horizontal, aria-orientation default is horizontal, so we leave it undefined\n // if it's vertical, we need to specify it\n if (props.orientation === 'vertical') ariaOrientation = 'vertical';\n // hr elements implicitly have role = separator and a horizontal orientation\n if (props.elementType !== 'hr') return {\n separatorProps: {\n ...domProps,\n role: 'separator',\n 'aria-orientation': ariaOrientation\n }\n };\n return {\n separatorProps: domProps\n };\n}\n\n\nexport {$dc321dbb6473ef33$export$52210f68a14655d0 as useSeparator};\n//# sourceMappingURL=useSeparator.mjs.map\n","/*\n * Copyright 2024 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ class $6f0c29017aeec335$export$d68d59712b04d9d1 {\n constructor(key){\n this.value = null;\n this.level = 0;\n this.hasChildNodes = false;\n this.rendered = null;\n this.textValue = '';\n this['aria-label'] = undefined;\n this.index = 0;\n this.parentKey = null;\n this.prevKey = null;\n this.nextKey = null;\n this.firstChildKey = null;\n this.lastChildKey = null;\n this.props = {};\n this.colSpan = null;\n this.colIndex = null;\n this.type = this.constructor.type;\n this.key = key;\n }\n get childNodes() {\n throw new Error('childNodes is not supported');\n }\n clone() {\n let node = new this.constructor(this.key);\n node.value = this.value;\n node.level = this.level;\n node.hasChildNodes = this.hasChildNodes;\n node.rendered = this.rendered;\n node.textValue = this.textValue;\n node['aria-label'] = this['aria-label'];\n node.index = this.index;\n node.parentKey = this.parentKey;\n node.prevKey = this.prevKey;\n node.nextKey = this.nextKey;\n node.firstChildKey = this.firstChildKey;\n node.lastChildKey = this.lastChildKey;\n node.props = this.props;\n node.render = this.render;\n node.colSpan = this.colSpan;\n node.colIndex = this.colIndex;\n return node;\n }\n filter(collection, newCollection, // eslint-disable-next-line @typescript-eslint/no-unused-vars\n filterFn) {\n let clone = this.clone();\n newCollection.addDescendants(clone, collection);\n return clone;\n }\n}\nclass $6f0c29017aeec335$export$b1918e978f1ee46f extends $6f0c29017aeec335$export$d68d59712b04d9d1 {\n filter(collection, newCollection, filterFn) {\n let [firstKey, lastKey] = $6f0c29017aeec335$var$filterChildren(collection, newCollection, this.firstChildKey, filterFn);\n let newNode = this.clone();\n newNode.firstChildKey = firstKey;\n newNode.lastChildKey = lastKey;\n return newNode;\n }\n}\nclass $6f0c29017aeec335$export$5ae2504e948afce5 extends $6f0c29017aeec335$export$d68d59712b04d9d1 {\n static{\n this.type = 'header';\n }\n}\nclass $6f0c29017aeec335$export$8258a0665a675899 extends $6f0c29017aeec335$export$d68d59712b04d9d1 {\n static{\n this.type = 'loader';\n }\n}\nclass $6f0c29017aeec335$export$fd11f34e1d07f134 extends $6f0c29017aeec335$export$b1918e978f1ee46f {\n static{\n this.type = 'item';\n }\n filter(collection, newCollection, filterFn) {\n if (filterFn(this.textValue, this)) {\n let clone = this.clone();\n newCollection.addDescendants(clone, collection);\n return clone;\n }\n return null;\n }\n}\nclass $6f0c29017aeec335$export$437f11dc9b403b78 extends $6f0c29017aeec335$export$b1918e978f1ee46f {\n static{\n this.type = 'section';\n }\n filter(collection, newCollection, filterFn) {\n let filteredSection = super.filter(collection, newCollection, filterFn);\n if (filteredSection) {\n if (filteredSection.lastChildKey !== null) {\n let lastChild = collection.getItem(filteredSection.lastChildKey);\n if (lastChild && lastChild.type !== 'header') return filteredSection;\n }\n }\n return null;\n }\n}\nclass $6f0c29017aeec335$export$408d25a4e12db025 {\n get size() {\n return this.itemCount;\n }\n getKeys() {\n return this.keyMap.keys();\n }\n *[Symbol.iterator]() {\n let node = this.firstKey != null ? this.keyMap.get(this.firstKey) : undefined;\n while(node){\n yield node;\n node = node.nextKey != null ? this.keyMap.get(node.nextKey) : undefined;\n }\n }\n getChildren(key) {\n let keyMap = this.keyMap;\n return {\n *[Symbol.iterator] () {\n let parent = keyMap.get(key);\n let node = parent?.firstChildKey != null ? keyMap.get(parent.firstChildKey) : null;\n while(node){\n yield node;\n node = node.nextKey != null ? keyMap.get(node.nextKey) : undefined;\n }\n }\n };\n }\n getKeyBefore(key) {\n let node = this.keyMap.get(key);\n if (!node) return null;\n if (node.prevKey != null) {\n node = this.keyMap.get(node.prevKey);\n while(node && node.type !== 'item' && node.lastChildKey != null)node = this.keyMap.get(node.lastChildKey);\n return node?.key ?? null;\n }\n return node.parentKey;\n }\n getKeyAfter(key) {\n let node = this.keyMap.get(key);\n if (!node) return null;\n if (node.type !== 'item' && node.firstChildKey != null) return node.firstChildKey;\n while(node){\n if (node.nextKey != null) return node.nextKey;\n if (node.parentKey != null) node = this.keyMap.get(node.parentKey);\n else return null;\n }\n return null;\n }\n getFirstKey() {\n return this.firstKey;\n }\n getLastKey() {\n let node = this.lastKey != null ? this.keyMap.get(this.lastKey) : null;\n while(node?.lastChildKey != null)node = this.keyMap.get(node.lastChildKey);\n return node?.key ?? null;\n }\n getItem(key) {\n return this.keyMap.get(key) ?? null;\n }\n at() {\n throw new Error('Not implemented');\n }\n clone() {\n // We need to clone using this.constructor so that subclasses have the right prototype.\n // TypeScript isn't happy about this yet.\n // https://github.com/microsoft/TypeScript/issues/3841\n let Constructor = this.constructor;\n let collection = new Constructor();\n collection.keyMap = new Map(this.keyMap);\n collection.firstKey = this.firstKey;\n collection.lastKey = this.lastKey;\n collection.itemCount = this.itemCount;\n return collection;\n }\n addNode(node) {\n if (this.frozen) throw new Error('Cannot add a node to a frozen collection');\n if (node.type === 'item' && this.keyMap.get(node.key) == null) this.itemCount++;\n this.keyMap.set(node.key, node);\n }\n // Deeply add a node and its children to the collection from another collection, primarily used when filtering a collection\n addDescendants(node, oldCollection) {\n this.addNode(node);\n let children = oldCollection.getChildren(node.key);\n for (let child of children)this.addDescendants(child, oldCollection);\n }\n removeNode(key) {\n if (this.frozen) throw new Error('Cannot remove a node to a frozen collection');\n let node = this.keyMap.get(key);\n if (node != null && node.type === 'item') this.itemCount--;\n this.keyMap.delete(key);\n }\n commit(firstKey, lastKey, isSSR = false) {\n if (this.frozen) throw new Error('Cannot commit a frozen collection');\n this.firstKey = firstKey;\n this.lastKey = lastKey;\n this.frozen = !isSSR;\n }\n filter(filterFn) {\n let newCollection = new this.constructor();\n let [firstKey, lastKey] = $6f0c29017aeec335$var$filterChildren(this, newCollection, this.firstKey, filterFn);\n newCollection?.commit(firstKey, lastKey);\n return newCollection;\n }\n constructor(){\n this.keyMap = new Map();\n this.firstKey = null;\n this.lastKey = null;\n this.frozen = false;\n this.itemCount = 0;\n }\n}\nfunction $6f0c29017aeec335$var$filterChildren(collection, newCollection, firstChildKey, filterFn) {\n // loop over the siblings for firstChildKey\n // create new nodes based on calling node.filter for each child\n // if it returns null then don't include it, otherwise update its prev/next keys\n // add them to the newCollection\n if (firstChildKey == null) return [\n null,\n null\n ];\n let firstNode = null;\n let lastNode = null;\n let currentNode = collection.getItem(firstChildKey);\n while(currentNode != null){\n let newNode = currentNode.filter(collection, newCollection, filterFn);\n if (newNode != null) {\n newNode.nextKey = null;\n if (lastNode) {\n newNode.prevKey = lastNode.key;\n lastNode.nextKey = newNode.key;\n }\n if (firstNode == null) firstNode = newNode;\n newCollection.addNode(newNode);\n lastNode = newNode;\n }\n currentNode = currentNode.nextKey != null ? collection.getItem(currentNode.nextKey) : null;\n }\n // TODO: this is pretty specific to dividers but doesn't feel like there is a good way to get around it since we only can know\n // to filter the last separator in a collection only after performing a filter for the rest of the contents after it\n // Its gross that it needs to live here, might be nice if somehow we could have this live in the separator code\n if (lastNode && lastNode.type === 'separator') {\n let prevKey = lastNode.prevKey;\n newCollection.removeNode(lastNode.key);\n if (prevKey != null) {\n lastNode = newCollection.getItem(prevKey);\n lastNode.nextKey = null;\n } else lastNode = null;\n }\n return [\n firstNode?.key ?? null,\n lastNode?.key ?? null\n ];\n}\n\n\nexport {$6f0c29017aeec335$export$d68d59712b04d9d1 as CollectionNode, $6f0c29017aeec335$export$b1918e978f1ee46f as FilterableNode, $6f0c29017aeec335$export$5ae2504e948afce5 as HeaderNode, $6f0c29017aeec335$export$8258a0665a675899 as LoaderNode, $6f0c29017aeec335$export$fd11f34e1d07f134 as ItemNode, $6f0c29017aeec335$export$437f11dc9b403b78 as SectionNode, $6f0c29017aeec335$export$408d25a4e12db025 as BaseCollection};\n//# sourceMappingURL=BaseCollection.mjs.map\n","/**\n * @license React\n * use-sync-external-store-shim.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n\"use strict\";\nvar React = require(\"react\");\nfunction is(x, y) {\n return (x === y && (0 !== x || 1 / x === 1 / y)) || (x !== x && y !== y);\n}\nvar objectIs = \"function\" === typeof Object.is ? Object.is : is,\n useState = React.useState,\n useEffect = React.useEffect,\n useLayoutEffect = React.useLayoutEffect,\n useDebugValue = React.useDebugValue;\nfunction useSyncExternalStore$2(subscribe, getSnapshot) {\n var value = getSnapshot(),\n _useState = useState({ inst: { value: value, getSnapshot: getSnapshot } }),\n inst = _useState[0].inst,\n forceUpdate = _useState[1];\n useLayoutEffect(\n function () {\n inst.value = value;\n inst.getSnapshot = getSnapshot;\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n },\n [subscribe, value, getSnapshot]\n );\n useEffect(\n function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n return subscribe(function () {\n checkIfSnapshotChanged(inst) && forceUpdate({ inst: inst });\n });\n },\n [subscribe]\n );\n useDebugValue(value);\n return value;\n}\nfunction checkIfSnapshotChanged(inst) {\n var latestGetSnapshot = inst.getSnapshot;\n inst = inst.value;\n try {\n var nextValue = latestGetSnapshot();\n return !objectIs(inst, nextValue);\n } catch (error) {\n return !0;\n }\n}\nfunction useSyncExternalStore$1(subscribe, getSnapshot) {\n return getSnapshot();\n}\nvar shim =\n \"undefined\" === typeof window ||\n \"undefined\" === typeof window.document ||\n \"undefined\" === typeof window.document.createElement\n ? useSyncExternalStore$1\n : useSyncExternalStore$2;\nexports.useSyncExternalStore =\n void 0 !== React.useSyncExternalStore ? React.useSyncExternalStore : shim;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('../cjs/use-sync-external-store-shim.production.js');\n} else {\n module.exports = require('../cjs/use-sync-external-store-shim.development.js');\n}\n","import {BaseCollection as $6f0c29017aeec335$export$408d25a4e12db025, CollectionNode as $6f0c29017aeec335$export$d68d59712b04d9d1} from \"./BaseCollection.mjs\";\nimport {Document as $96ead35620b8fd36$export$b34a105447964f9f} from \"./Document.mjs\";\nimport {useCachedChildren as $a80bd3e9349588e7$export$727c8fc270210f13} from \"./useCachedChildren.mjs\";\nimport {FocusableContext as $d1116acdf220c2da$export$f9762fab77588ecb} from \"../interactions/useFocusable.mjs\";\nimport {Hidden as $d7f64c32b702fe2c$export$8dc98ba7eadeaa56} from \"./Hidden.mjs\";\nimport {useIsSSR as $c7eafbbe1ea5834e$export$535bd6ca7f90a273} from \"../ssr/SSRProvider.mjs\";\nimport {createPortal as $kT5Ur$createPortal} from \"react-dom\";\nimport $kT5Ur$react, {createContext as $kT5Ur$createContext, useContext as $kT5Ur$useContext, useRef as $kT5Ur$useRef, useCallback as $kT5Ur$useCallback, useState as $kT5Ur$useState, forwardRef as $kT5Ur$forwardRef, useMemo as $kT5Ur$useMemo} from \"react\";\nimport {useSyncExternalStore as $kT5Ur$useSyncExternalStore} from \"use-sync-external-store/shim/index.js\";\n\n/*\n * Copyright 2024 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\n\n\n\n\nconst $42ceafc619f9c3ba$var$ShallowRenderContext = /*#__PURE__*/ (0, $kT5Ur$createContext)(false);\nconst $42ceafc619f9c3ba$var$CollectionDocumentContext = /*#__PURE__*/ (0, $kT5Ur$createContext)(null);\nfunction $42ceafc619f9c3ba$export$bf788dd355e3a401(props) {\n // If a document was provided above us, we're already in a hidden tree. Just render the content.\n let doc = (0, $kT5Ur$useContext)($42ceafc619f9c3ba$var$CollectionDocumentContext);\n if (doc) // The React types prior to 18 did not allow returning ReactNode from components\n // even though the actual implementation since React 16 did.\n // We must return ReactElement so that TS does not complain that <CollectionBuilder>\n // is not a valid JSX element with React 16 and 17 types.\n // https://github.com/DefinitelyTyped/DefinitelyTyped/issues/20544\n return props.content;\n // Otherwise, render a hidden copy of the children so that we can build the collection before constructing the state.\n // This should always come before the real DOM content so we have built the collection by the time it renders during SSR.\n // This is fine. CollectionDocumentContext never changes after mounting.\n // oxlint-disable-next-line react/react-compiler, react-hooks/rules-of-hooks\n let { collection: collection, document: document } = $42ceafc619f9c3ba$var$useCollectionDocument(props.createCollection);\n return /*#__PURE__*/ (0, $kT5Ur$react).createElement((0, $kT5Ur$react).Fragment, null, /*#__PURE__*/ (0, $kT5Ur$react).createElement((0, $d7f64c32b702fe2c$export$8dc98ba7eadeaa56), null, /*#__PURE__*/ (0, $kT5Ur$react).createElement($42ceafc619f9c3ba$var$CollectionDocumentContext.Provider, {\n value: document\n }, props.content)), /*#__PURE__*/ (0, $kT5Ur$react).createElement($42ceafc619f9c3ba$var$CollectionInner, {\n render: props.children,\n collection: collection\n }));\n}\nfunction $42ceafc619f9c3ba$var$CollectionInner({ collection: collection, render: render }) {\n return render(collection);\n}\n// React 16 and 17 don't support useSyncExternalStore natively, and the shim provided by React does not support getServerSnapshot.\n// This wrapper uses the shim, but additionally calls getServerSnapshot during SSR (according to SSRProvider).\nfunction $42ceafc619f9c3ba$var$useSyncExternalStoreFallback(subscribe, getSnapshot, getServerSnapshot) {\n let isSSR = (0, $c7eafbbe1ea5834e$export$535bd6ca7f90a273)();\n let isSSRRef = (0, $kT5Ur$useRef)(isSSR);\n // This is read immediately inside the wrapper, which also runs during render.\n // We just need a ref to avoid invalidating the callback itself, which\n // would cause React to re-run the callback more than necessary.\n // eslint-disable-next-line rsp-rules/pure-render\n // oxlint-disable-next-line react/react-compiler, rsp-rules/pure-render\n isSSRRef.current = isSSR;\n let getSnapshotWrapper = (0, $kT5Ur$useCallback)(()=>{\n return isSSRRef.current ? getServerSnapshot() : getSnapshot();\n }, [\n getSnapshot,\n getServerSnapshot\n ]);\n return (0, $kT5Ur$useSyncExternalStore)(subscribe, getSnapshotWrapper);\n}\nconst $42ceafc619f9c3ba$var$useSyncExternalStore = typeof (0, $kT5Ur$react)['useSyncExternalStore'] === 'function' ? (0, $kT5Ur$react)['useSyncExternalStore'] : $42ceafc619f9c3ba$var$useSyncExternalStoreFallback;\nfunction $42ceafc619f9c3ba$var$useCollectionDocument(createCollection) {\n // The document instance is mutable, and should never change between renders.\n // useSyncExternalStore is used to subscribe to updates, which vends immutable Collection objects.\n let [document] = (0, $kT5Ur$useState)(()=>new (0, $96ead35620b8fd36$export$b34a105447964f9f)(createCollection?.() || new (0, $6f0c29017aeec335$export$408d25a4e12db025)()));\n let subscribe = (0, $kT5Ur$useCallback)((fn)=>document.subscribe(fn), [\n document\n ]);\n let getSnapshot = (0, $kT5Ur$useCallback)(()=>{\n let collection = document.getCollection();\n if (document.isSSR) // After SSR is complete, reset the document to empty so it is ready for React to render the portal into.\n // We do this _after_ getting the collection above so that the collection still has content in it from SSR\n // during the current render, before React has finished the client render.\n document.resetAfterSSR();\n return collection;\n }, [\n document\n ]);\n let getServerSnapshot = (0, $kT5Ur$useCallback)(()=>{\n // oxlint-disable-next-line react/react-compiler\n document.isSSR = true;\n return document.getCollection();\n }, [\n document\n ]);\n let collection = $42ceafc619f9c3ba$var$useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n return {\n collection: collection,\n document: document\n };\n}\nconst $42ceafc619f9c3ba$var$SSRContext = /*#__PURE__*/ (0, $kT5Ur$createContext)(null);\nfunction $42ceafc619f9c3ba$var$createCollectionNodeClass(type) {\n let NodeClass = class extends (0, $6f0c29017aeec335$export$d68d59712b04d9d1) {\n static{\n this.type = type;\n }\n };\n return NodeClass;\n}\nfunction $42ceafc619f9c3ba$var$useSSRCollectionNode(CollectionNodeClass, props, ref, rendered, children, render) {\n // To prevent breaking change, if CollectionNodeClass is a string, create a CollectionNodeClass using the string as the type\n if (typeof CollectionNodeClass === 'string') // oxlint-disable-next-line react/react-compiler\n CollectionNodeClass = $42ceafc619f9c3ba$var$createCollectionNodeClass(CollectionNodeClass);\n // During SSR, portals are not supported, so the collection children will be wrapped in an SSRContext.\n // Since SSR occurs only once, we assume that the elements are rendered in order and never re-render.\n // Therefore we can create elements in our collection document during render so that they are in the\n // collection by the time we need to use the collection to render to the real DOM.\n // After hydration, we switch to client rendering using the portal.\n let itemRef = (0, $kT5Ur$useCallback)((element)=>{\n element?.setProps(props, ref, CollectionNodeClass, rendered, render);\n }, [\n props,\n ref,\n rendered,\n render,\n CollectionNodeClass\n ]);\n let parentNode = (0, $kT5Ur$useContext)($42ceafc619f9c3ba$var$SSRContext);\n if (parentNode) {\n // Guard against double rendering in strict mode.\n let element = parentNode.ownerDocument.nodesByProps.get(props);\n if (!element) {\n element = parentNode.ownerDocument.createElement(CollectionNodeClass.type);\n element.setProps(props, ref, CollectionNodeClass, rendered, render);\n parentNode.appendChild(element);\n parentNode.ownerDocument.updateCollection();\n parentNode.ownerDocument.nodesByProps.set(props, element);\n }\n return children ? /*#__PURE__*/ (0, $kT5Ur$react).createElement($42ceafc619f9c3ba$var$SSRContext.Provider, {\n value: element\n }, children) : null;\n }\n // @ts-ignore\n return /*#__PURE__*/ (0, $kT5Ur$react).createElement(CollectionNodeClass.type, {\n ref: itemRef\n }, children);\n}\nfunction $42ceafc619f9c3ba$export$18af5c7a9e9b3664(CollectionNodeClass, render) {\n let Component = ({ node: node })=>render(node.props, node.props.ref, node);\n let Result = (0, $kT5Ur$forwardRef)((props, ref)=>{\n let focusableProps = (0, $kT5Ur$useContext)((0, $d1116acdf220c2da$export$f9762fab77588ecb));\n let isShallow = (0, $kT5Ur$useContext)($42ceafc619f9c3ba$var$ShallowRenderContext);\n if (!isShallow) {\n if (render.length >= 3) throw new Error(render.name + ' cannot be rendered outside a collection.');\n return render(props, ref);\n }\n return $42ceafc619f9c3ba$var$useSSRCollectionNode(CollectionNodeClass, props, ref, 'children' in props ? props.children : null, null, (node)=>// Forward FocusableContext to real DOM tree so tooltips work.\n /*#__PURE__*/ (0, $kT5Ur$react).createElement((0, $d1116acdf220c2da$export$f9762fab77588ecb).Provider, {\n value: focusableProps\n }, /*#__PURE__*/ (0, $kT5Ur$react).createElement(Component, {\n node: node\n })));\n });\n // @ts-ignore\n Result.displayName = render.name;\n return Result;\n}\nfunction $42ceafc619f9c3ba$export$e953bb1cd0f19726(CollectionNodeClass, render, useChildren = $42ceafc619f9c3ba$var$useCollectionChildren) {\n let Component = ({ node: node })=>render(node.props, node.props.ref, node);\n let Result = (0, $kT5Ur$forwardRef)((props, ref)=>{\n let children = useChildren(props);\n return $42ceafc619f9c3ba$var$useSSRCollectionNode(CollectionNodeClass, props, ref, null, children, (node)=>/*#__PURE__*/ (0, $kT5Ur$react).createElement(Component, {\n node: node\n })) ?? /*#__PURE__*/ (0, $kT5Ur$react).createElement((0, $kT5Ur$react).Fragment, null);\n });\n // @ts-ignore\n Result.displayName = render.name;\n return Result;\n}\nfunction $42ceafc619f9c3ba$var$useCollectionChildren(options) {\n return (0, $a80bd3e9349588e7$export$727c8fc270210f13)({\n ...options,\n addIdAndValue: true\n });\n}\nconst $42ceafc619f9c3ba$var$CollectionContext = /*#__PURE__*/ (0, $kT5Ur$createContext)(null);\nfunction $42ceafc619f9c3ba$export$fb8073518f34e6ec(props) {\n let ctx = (0, $kT5Ur$useContext)($42ceafc619f9c3ba$var$CollectionContext);\n let dependencies = (ctx?.dependencies || []).concat(props.dependencies);\n let idScope = props.idScope ?? ctx?.idScope;\n let children = $42ceafc619f9c3ba$var$useCollectionChildren({\n ...props,\n idScope: idScope,\n dependencies: dependencies\n });\n let doc = (0, $kT5Ur$useContext)($42ceafc619f9c3ba$var$CollectionDocumentContext);\n if (doc) children = /*#__PURE__*/ (0, $kT5Ur$react).createElement($42ceafc619f9c3ba$var$CollectionRoot, null, children);\n // Propagate dependencies and idScope to child collections.\n ctx = (0, $kT5Ur$useMemo)(()=>({\n dependencies: // oxlint-disable-next-line react-hooks/exhaustive-deps\n dependencies,\n idScope: idScope\n }), // eslint-disable-next-line react-hooks/exhaustive-deps\n // oxlint-disable-next-line react/react-compiler, react-hooks/exhaustive-deps\n [\n idScope,\n ...dependencies\n ]);\n return /*#__PURE__*/ (0, $kT5Ur$react).createElement($42ceafc619f9c3ba$var$CollectionContext.Provider, {\n value: ctx\n }, children);\n}\nfunction $42ceafc619f9c3ba$var$CollectionRoot({ children: children }) {\n let doc = (0, $kT5Ur$useContext)($42ceafc619f9c3ba$var$CollectionDocumentContext);\n let wrappedChildren = (0, $kT5Ur$useMemo)(()=>/*#__PURE__*/ (0, $kT5Ur$react).createElement($42ceafc619f9c3ba$var$CollectionDocumentContext.Provider, {\n value: null\n }, /*#__PURE__*/ (0, $kT5Ur$react).createElement($42ceafc619f9c3ba$var$ShallowRenderContext.Provider, {\n value: true\n }, children)), [\n children\n ]);\n // During SSR, we render the content directly, and append nodes to the document during render.\n // The collection children return null so that nothing is actually rendered into the HTML.\n return (0, $c7eafbbe1ea5834e$export$535bd6ca7f90a273)() ? /*#__PURE__*/ (0, $kT5Ur$react).createElement($42ceafc619f9c3ba$var$SSRContext.Provider, {\n value: doc\n }, wrappedChildren) : /*#__PURE__*/ (0, $kT5Ur$createPortal)(wrappedChildren, doc);\n}\n\n\nexport {$42ceafc619f9c3ba$export$bf788dd355e3a401 as CollectionBuilder, $42ceafc619f9c3ba$export$18af5c7a9e9b3664 as createLeafComponent, $42ceafc619f9c3ba$export$e953bb1cd0f19726 as createBranchComponent, $42ceafc619f9c3ba$export$fb8073518f34e6ec as Collection};\n//# sourceMappingURL=CollectionBuilder.mjs.map\n","import {dom as $7230ffa83bc0c2cf$export$df3a06d6289f983e, useContextProps as $7230ffa83bc0c2cf$export$29f1550f4b0d4415} from \"./utils.mjs\";\nimport {useSeparator as $adn6H$useSeparator} from \"react-aria/useSeparator\";\nimport {CollectionNode as $adn6H$CollectionNode} from \"react-aria/private/collections/BaseCollection\";\nimport {createLeafComponent as $adn6H$createLeafComponent} from \"react-aria/CollectionBuilder\";\nimport {filterDOMProps as $adn6H$filterDOMProps} from \"react-aria/filterDOMProps\";\nimport {mergeProps as $adn6H$mergeProps} from \"react-aria/mergeProps\";\nimport $adn6H$react, {createContext as $adn6H$createContext} from \"react\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\n\n\nconst $e28ab3efe3e87743$export$6615d83f6de245ce = /*#__PURE__*/ (0, $adn6H$createContext)({});\nclass $e28ab3efe3e87743$export$7750289ca694c0b5 extends (0, $adn6H$CollectionNode) {\n static{\n this.type = 'separator';\n }\n filter(collection, newCollection) {\n let prevItem = newCollection.getItem(this.prevKey);\n if (prevItem && prevItem.type !== 'separator') {\n let clone = this.clone();\n newCollection.addDescendants(clone, collection);\n return clone;\n }\n return null;\n }\n}\nconst $e28ab3efe3e87743$export$1ff3c3f08ae963c0 = /*#__PURE__*/ (0, $adn6H$createLeafComponent)($e28ab3efe3e87743$export$7750289ca694c0b5, function Separator(props, ref) {\n [props, ref] = (0, $7230ffa83bc0c2cf$export$29f1550f4b0d4415)(props, ref, $e28ab3efe3e87743$export$6615d83f6de245ce);\n let { elementType: elementType, orientation: orientation, style: style, className: className, slot: slot, ...otherProps } = props;\n let Element = elementType || 'hr';\n if (Element === 'hr' && orientation === 'vertical') Element = 'div';\n let ElementType = (0, $7230ffa83bc0c2cf$export$df3a06d6289f983e)[Element];\n let { separatorProps: separatorProps } = (0, $adn6H$useSeparator)({\n ...otherProps,\n elementType: elementType,\n orientation: orientation\n });\n let DOMProps = (0, $adn6H$filterDOMProps)(props, {\n global: true\n });\n return /*#__PURE__*/ (0, $adn6H$react).createElement(ElementType, {\n render: props.render,\n ...(0, $adn6H$mergeProps)(DOMProps, separatorProps),\n style: style,\n className: className ?? 'react-aria-Separator',\n ref: ref,\n slot: slot || undefined\n });\n});\n\n\nexport {$e28ab3efe3e87743$export$6615d83f6de245ce as SeparatorContext, $e28ab3efe3e87743$export$7750289ca694c0b5 as SeparatorNode, $e28ab3efe3e87743$export$1ff3c3f08ae963c0 as Separator};\n//# sourceMappingURL=Separator.mjs.map\n","import { forwardRef, type HTMLAttributes } from 'react';\nimport { cn } from '../../utils/cn';\nimport { Separator as AriaSeparator } from 'react-aria-components/Separator';\n\ntype DividerProps = {\n size?: 'sm' | 'md';\n orientation?: 'horizontal' | 'vertical';\n} & HTMLAttributes<HTMLDivElement>;\n\nconst Divider = forwardRef<HTMLDivElement, DividerProps>(\n ({ className, size = 'sm', orientation = 'horizontal', ...rest }, ref) => {\n let style = '';\n\n if (orientation === 'horizontal') {\n if (size === 'sm') {\n style = 'h-lr-divider-sm w-full mx-auto';\n } else {\n style = 'h-lr-divider-md w-full mx-auto';\n }\n } else {\n if (size === 'sm') {\n style = 'w-lr-divider-sm h-full my-auto';\n } else {\n style = 'w-lr-divider-md h-full my-auto';\n }\n }\n\n return (\n <AriaSeparator\n ref={ref}\n orientation={orientation}\n className={cn('border-none bg-lr-bg-divider', style, className)}\n {...rest}\n />\n );\n }\n);\n\nexport { Divider };\nexport default Divider;\n","import { useMemo } from 'react';\nimport { Divider } from '@atlas/shared/client/ui/react-tw/Divider';\n\nexport type ChatbotLegalNoticeProps = {\n /** `chatbot:legalInformation`, HTML from the translation catalogue. */\n html: string;\n};\n\n/** AI disclaimer opening the conversation: the text then a divider, no bubble. */\nexport function ChatbotLegalNotice({ html }: ChatbotLegalNoticeProps) {\n const body = useMemo(() => ({ __html: html }), [html]);\n\n return (\n <div className=\"flex w-full flex-col pt-lr-spacing-150\">\n <p\n className=\"m-0 text-lr-body-small-light text-lr-text-main lr-chatbot-message-body\"\n dangerouslySetInnerHTML={body}\n />\n <Divider size=\"sm\" className=\"my-lr-spacing-150\" />\n </div>\n );\n}\n","import {filterDOMProps as $8e9d2fae0ecb9001$export$457c3d6518dd4c6f} from \"../utils/filterDOMProps.mjs\";\nimport {handleLinkClick as $caaf0dd3060ed57c$export$13aea1a3cb5e3f1f, useLinkProps as $caaf0dd3060ed57c$export$7e924b3091a3bd18, useRouter as $caaf0dd3060ed57c$export$9a302a45f65d0572} from \"../utils/openLink.mjs\";\nimport {mergeProps as $bbaa08b3cd72f041$export$9d1611c77c2fe928} from \"../utils/mergeProps.mjs\";\nimport {useFocusable as $d1116acdf220c2da$export$4c014de7c8940b4c} from \"../interactions/useFocusable.mjs\";\nimport {usePress as $d27d541f9569d26d$export$45712eceda6fad21} from \"../interactions/usePress.mjs\";\n\n/*\n * Copyright 2020 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\nfunction $40d752843fab8930$export$dcf14c9974fe2767(props, ref) {\n let { elementType: elementType = 'a', onPress: onPress, onPressStart: onPressStart, onPressEnd: onPressEnd, onPressChange: onPressChange, onClick: onClick, isDisabled: isDisabled, ...otherProps } = props;\n let linkProps = {};\n if (elementType !== 'a') linkProps = {\n role: 'link',\n tabIndex: !isDisabled ? 0 : undefined\n };\n let { focusableProps: focusableProps } = (0, $d1116acdf220c2da$export$4c014de7c8940b4c)(props, ref);\n let { pressProps: pressProps, isPressed: isPressed } = (0, $d27d541f9569d26d$export$45712eceda6fad21)({\n onPress: onPress,\n onPressStart: onPressStart,\n onPressEnd: onPressEnd,\n onPressChange: onPressChange,\n onClick: onClick,\n isDisabled: isDisabled,\n ref: ref\n });\n let domProps = (0, $8e9d2fae0ecb9001$export$457c3d6518dd4c6f)(otherProps, {\n labelable: true\n });\n let interactionHandlers = (0, $bbaa08b3cd72f041$export$9d1611c77c2fe928)(focusableProps, pressProps);\n let router = (0, $caaf0dd3060ed57c$export$9a302a45f65d0572)();\n let routerLinkProps = (0, $caaf0dd3060ed57c$export$7e924b3091a3bd18)(props);\n return {\n isPressed: isPressed,\n linkProps: (0, $bbaa08b3cd72f041$export$9d1611c77c2fe928)(domProps, routerLinkProps, {\n ...interactionHandlers,\n ...linkProps,\n 'aria-disabled': isDisabled || undefined,\n 'aria-current': props['aria-current'],\n onClick: (e)=>{\n pressProps.onClick?.(e);\n (0, $caaf0dd3060ed57c$export$13aea1a3cb5e3f1f)(e, router, props.href, props.routerOptions);\n }\n })\n };\n}\n\n\nexport {$40d752843fab8930$export$dcf14c9974fe2767 as useLink};\n//# sourceMappingURL=useLink.mjs.map\n","import {dom as $7230ffa83bc0c2cf$export$df3a06d6289f983e, useContextProps as $7230ffa83bc0c2cf$export$29f1550f4b0d4415, useRenderProps as $7230ffa83bc0c2cf$export$4d86445c2cf5e3} from \"./utils.mjs\";\nimport {useLink as $czt8L$useLink} from \"react-aria/useLink\";\nimport {filterDOMProps as $czt8L$filterDOMProps} from \"react-aria/filterDOMProps\";\nimport {mergeProps as $czt8L$mergeProps} from \"react-aria/mergeProps\";\nimport $czt8L$react, {createContext as $czt8L$createContext, forwardRef as $czt8L$forwardRef} from \"react\";\nimport {useFocusRing as $czt8L$useFocusRing} from \"react-aria/useFocusRing\";\nimport {useHover as $czt8L$useHover} from \"react-aria/useHover\";\n\n/*\n * Copyright 2022 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */ \n\n\n\n\n\n\nconst $984a1fc08f87e4f3$export$e2509388b49734e7 = /*#__PURE__*/ (0, $czt8L$createContext)(null);\nconst $984a1fc08f87e4f3$export$a6c7ac8248d6e38a = /*#__PURE__*/ (0, $czt8L$forwardRef)(function Link(props, ref) {\n [props, ref] = (0, $7230ffa83bc0c2cf$export$29f1550f4b0d4415)(props, ref, $984a1fc08f87e4f3$export$e2509388b49734e7);\n let elementType = props.href && !props.isDisabled ? 'a' : 'span';\n let { linkProps: linkProps, isPressed: isPressed } = (0, $czt8L$useLink)({\n ...props,\n elementType: elementType\n }, ref);\n let ElementType = (0, $7230ffa83bc0c2cf$export$df3a06d6289f983e)[elementType];\n let { hoverProps: hoverProps, isHovered: isHovered } = (0, $czt8L$useHover)(props);\n let { focusProps: focusProps, isFocused: isFocused, isFocusVisible: isFocusVisible } = (0, $czt8L$useFocusRing)();\n let renderProps = (0, $7230ffa83bc0c2cf$export$4d86445c2cf5e3)({\n ...props,\n defaultClassName: 'react-aria-Link',\n values: {\n isCurrent: !!props['aria-current'],\n isDisabled: props.isDisabled || false,\n isPressed: isPressed,\n isHovered: isHovered,\n isFocused: isFocused,\n isFocusVisible: isFocusVisible\n }\n });\n let DOMProps = (0, $czt8L$filterDOMProps)(props, {\n global: true\n });\n delete DOMProps.onClick;\n return /*#__PURE__*/ (0, $czt8L$react).createElement(ElementType, {\n ref: ref,\n slot: props.slot || undefined,\n ...(0, $czt8L$mergeProps)(DOMProps, renderProps, linkProps, hoverProps, focusProps),\n \"data-focused\": isFocused || undefined,\n \"data-hovered\": isHovered || undefined,\n \"data-pressed\": isPressed || undefined,\n \"data-focus-visible\": isFocusVisible || undefined,\n \"data-current\": !!props['aria-current'] || undefined,\n \"data-disabled\": props.isDisabled || undefined\n }, renderProps.children);\n});\n\n\nexport {$984a1fc08f87e4f3$export$e2509388b49734e7 as LinkContext, $984a1fc08f87e4f3$export$a6c7ac8248d6e38a as Link};\n//# sourceMappingURL=Link.mjs.map\n","import createIcon from '../../icons/createIcon';\n\nconst IconExternalLink = createIcon('IconExternalLink', '0 0 64 64', [\n [\n 'path',\n {\n 'fill-rule': 'evenodd',\n 'clip-rule': 'evenodd',\n d: 'M30.1005 30.1009L28.6863 31.5151L31.5147 34.3435L32.9289 32.9293L52.1421 13.7161V25.8583V27.8583H56.1421V25.8583V8.88769C56.1421 7.78313 55.2467 6.8877 54.1421 6.8877H37.1716H35.1716V10.8877H37.1716H49.3137L30.1005 30.1009ZM14 20.0004C14 18.8958 14.8954 18.0004 16 18.0004H31.8V14.0004H16C12.6863 14.0004 10 16.6867 10 20.0004V48.0004C10 51.3141 12.6863 54.0004 16 54.0004H44C47.3137 54.0004 50 51.3141 50 48.0004V32.2004H46V48.0004C46 49.105 45.1046 50.0004 44 50.0004H16C14.8954 50.0004 14 49.105 14 48.0004V20.0004Z',\n fill: '#191B21',\n key: '41188e'\n },\n []\n ]\n]);\n\nexport { IconExternalLink };\n","'use client';\n\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport type React from 'react';\nimport { Link as AriaLink, type LinkProps as AriaLinkProps } from 'react-aria-components/Link';\nimport { cn } from '../../utils/cn';\nimport type { IconProps } from '../Icon/types.ts';\nimport { IconExternalLink } from '../icons/IconExternalLink.ts';\n\nexport const sharedLinkVariants = cva(\n `\n inline-flex w-fit cursor-pointer items-center gap-lr-spacing-050 rounded-lr-050 p-lr-spacing-025 underline\n outline-lr-border-focus\n hover:no-underline\n focus-visible:outline-lr-focus focus-visible:outline-offset-lr-focus\n data-focus-visible:outline-lr-focus data-focus-visible:outline-offset-lr-focus\n data-hovered:no-underline\n data-pressed:underline\n `,\n {\n variants: {\n variant: {\n default: `\n text-lr-text-main\n data-disabled:text-lr-text-disabled\n data-hovered:text-lr-text-hover\n data-pressed:text-lr-text-pressed\n `,\n error: `\n text-lr-text-error\n data-disabled:text-lr-text-error-disabled\n data-hovered:text-lr-text-error-hover\n data-pressed:text-lr-text-error-pressed\n `,\n success: `\n text-lr-text-success\n data-disabled:text-lr-text-success-disabled\n data-hovered:text-lr-text-success-hover\n data-pressed:text-lr-text-success-pressed\n `,\n info: `\n text-lr-text-info\n data-disabled:text-lr-text-info-disabled\n data-hovered:text-lr-text-info-hover\n data-pressed:text-lr-text-info-pressed\n `,\n warning: `\n text-lr-text-warning\n data-disabled:text-lr-text-warning-disabled\n data-hovered:text-lr-text-warning-hover\n data-pressed:text-lr-text-warning-pressed\n `\n },\n size: {\n xs: 'h-lr-size-300 text-lr-link-xs',\n sm: 'h-lr-size-300 text-lr-link-sm',\n md: 'text-lr-link-md',\n lg: 'text-lr-link-lg'\n },\n responsive: {\n false: '',\n true: `\n h-lr-size-300 text-lr-link-xs\n lr-sm:text-lr-link-sm\n lr-md:text-lr-link-md\n lr-xl:text-lr-link-lg\n `,\n breadcrumb: `\n h-lr-size-300 text-lr-link-xs\n lr-md:text-lr-link-md\n `,\n rating: `\n h-lr-size-300 text-lr-link-xs\n lr-md:text-lr-link-sm\n lr-lg:h-auto lr-lg:text-lr-link-md\n `,\n banner: `\n text-lr-link-md\n lr-md:text-lr-link-lg\n `\n },\n onBackground: {\n false: '',\n true: ''\n }\n },\n compoundVariants: [\n {\n variant: 'default',\n onBackground: true,\n className: cn(`\n text-lr-text-main-inverse\n data-disabled:text-lr-text-disabled-inverse\n data-hovered:text-lr-text-hover-inverse\n data-pressed:text-lr-text-pressed-inverse\n `)\n }\n ],\n defaultVariants: {\n variant: 'default',\n size: 'md',\n responsive: false,\n onBackground: false\n }\n }\n);\n\nexport const linkVariants = cva('', {\n variants: {\n onBackground: {\n false: 'visited:text-lr-text-visited',\n true: 'visited:text-lr-text-visited-inverse'\n }\n },\n defaultVariants: {\n onBackground: false\n }\n});\n\ninterface BaseLinkProps<V extends VariantProps<typeof sharedLinkVariants>['variant'] = 'default'>\n extends AriaLinkProps,\n VariantProps<typeof sharedLinkVariants>,\n VariantProps<typeof linkVariants> {\n children: React.ReactNode;\n Icon?: React.ElementType<Partial<IconProps>>;\n iconPosition?: 'left' | 'right';\n onBackground?: V extends 'default' ? boolean : never;\n}\n\nexport type ResponsivnessExpections = 'breadcrumb' | 'rating' | 'banner';\n\ntype LinkProps =\n | (BaseLinkProps & {\n responsive: true | ResponsivnessExpections;\n size?: never;\n })\n | (BaseLinkProps & {\n responsive?: false;\n size?: VariantProps<typeof sharedLinkVariants>['size'];\n });\n\nfunction Link({\n variant,\n size,\n responsive,\n onBackground,\n className,\n target,\n Icon,\n iconPosition = 'right',\n children,\n ...rest\n}: LinkProps) {\n const iconSize = size === 'lg' ? 'sm' : 'xs';\n\n const FinalIcon = Icon ?? (target === '_blank' ? IconExternalLink : undefined);\n\n return (\n <AriaLink\n className={cn(\n sharedLinkVariants({ variant, size, responsive, onBackground }),\n linkVariants({ onBackground: variant === \"default\" ? onBackground : false }),\n className\n )}\n rel={target === '_blank' ? 'noopener noreferrer' : undefined}\n target={target}\n {...rest}\n >\n {FinalIcon && iconPosition === 'left' && <FinalIcon size={iconSize} />}\n {children}\n {FinalIcon && iconPosition === 'right' && <FinalIcon size={iconSize} />}\n </AriaLink>\n );\n}\n\nexport { Link };\nexport default Link;\n","import { Link } from '@atlas/shared/client/ui/react-tw/Link';\nimport { sanitizeUrl } from '../../utils/sanitize';\n\nexport const LINK_SELECTOR = 'a[href]';\n\ntype ChatbotLinkData = {\n href: string;\n label: string;\n target?: string;\n};\n\nexport function readLink(element: Element): ChatbotLinkData {\n const target = element.getAttribute('target');\n return {\n href: element.getAttribute('href') ?? '',\n label: element.textContent?.trim() ?? '',\n ...(target ? { target } : {})\n };\n}\n\ntype Props = {\n href: string;\n target?: string;\n label: string;\n};\n\nexport function ChatbotLink({ href, target, label }: Props) {\n const url = sanitizeUrl(href);\n\n if (!url) {\n return <>{label}</>;\n }\n\n return (\n <Link href={url} target={target} size=\"md\" className=\"align-baseline\">\n {label}\n </Link>\n );\n}\n","import createIcon from '../../icons/createIcon';\n\nconst IconMoreHorizontal = createIcon('IconMoreHorizontal', '0 0 64 64', [\n [\n 'path',\n {\n 'fill-rule': 'evenodd',\n 'clip-rule': 'evenodd',\n d: 'M14 28C11.7909 28 10 29.7909 10 32C10 34.2091 11.7909 36 14 36C16.2091 36 18 34.2091 18 32C18 29.7909 16.2091 28 14 28ZM28 32C28 29.7909 29.7909 28 32 28C34.2091 28 36 29.7909 36 32C36 34.2091 34.2091 36 32 36C29.7909 36 28 34.2091 28 32ZM46 32C46 29.7909 47.7909 28 50 28C52.2091 28 54 29.7909 54 32C54 34.2091 52.2091 36 50 36C47.7909 36 46 34.2091 46 32Z',\n fill: '#191B21',\n key: '161d33'\n },\n []\n ]\n]);\n\nexport { IconMoreHorizontal };\n","import createIcon from '../../icons/createIcon';\n\nconst IconThumbDown = createIcon('IconThumbDown', '0 0 64 64', [\n [\n 'path',\n {\n d: 'M54.9992 10C57.2083 10 58.9991 11.7909 58.9992 14V34C58.9991 36.2091 57.2083 38 54.9992 38H39.8156C36.3331 41.4215 33.3861 43.9009 31.5343 49.4336L31.3801 49.832C30.9707 50.7361 30.2501 51.4692 29.3664 51.875C28.3863 52.3243 27.1663 52.3746 26.0695 51.75L25.8527 51.6172L25.4699 51.3496C23.6076 49.9931 22.5624 48.2777 22.1867 46.4082C21.8006 44.4859 22.1558 42.5817 22.7179 40.9805C23.0957 39.9047 23.5949 38.8924 24.1105 38H10.5617C7.96001 37.9994 6.05001 35.5535 6.68083 33.0293L11.6808 13.0293C12.1262 11.2494 13.7269 10.0004 15.5617 10H54.9992ZM10.5617 34H27.9992C28.8079 34 29.5372 34.4873 29.8468 35.2344C30.1564 35.9817 29.9853 36.8421 29.4133 37.4141C29.1095 37.7183 27.357 39.8412 26.4914 42.3066C26.0661 43.5182 25.9143 44.6513 26.1086 45.6191C26.2741 46.443 26.7201 47.2899 27.7746 48.0742C29.9726 41.58 33.6759 38.4099 36.9992 35.1602V14H15.5617L10.5617 34ZM40.9992 34H54.9992V14H40.9992V34Z',\n fill: '#191B21',\n key: '7c7026'\n },\n []\n ]\n]);\n\nexport { IconThumbDown };\n","import createIcon from '../../icons/createIcon';\n\nconst IconThumbUp = createIcon('IconThumbUp', '0 0 64 64', [\n [\n 'path',\n {\n 'fill-rule': 'evenodd',\n 'clip-rule': 'evenodd',\n d: 'M37.228 14.922C35.2204 20.8568 31.9529 24.0133 28.8689 26.9927C28.5772 27.2744 28.2872 27.5546 28 27.8355V48.9998H49.4384L54.4384 28.9999H37C36.1911 28.9999 35.4618 28.5127 35.1522 27.7653C34.8427 27.018 35.0138 26.1577 35.5858 25.5857C35.888 25.2835 37.6408 23.1603 38.5069 20.6934C38.9325 19.4813 39.0857 18.3483 38.8912 17.3801C38.7257 16.5562 38.2826 15.7064 37.228 14.922ZM24 48.9998V28.9999H10V48.9998H24ZM25.1771 24.9999C25.5054 24.6773 25.829 24.3631 26.1474 24.054C29.2076 21.0827 31.7861 18.5792 33.464 13.5659C33.8274 12.4799 34.6218 11.5895 35.6319 11.1258C36.6774 10.6457 37.9953 10.62 39.1467 11.3834C41.2505 12.7786 42.4122 14.5978 42.8129 16.5923C43.1991 18.5148 42.8433 20.4172 42.2811 22.0185C41.9033 23.0945 41.4063 24.1074 40.8905 24.9999H54.4384C57.0407 24.9999 58.9502 27.4455 58.319 29.9701L53.319 49.97C52.8738 51.7506 51.2739 52.9998 49.4384 52.9998H26H10C7.79086 52.9998 6 51.209 6 48.9998V28.9999C6 26.7908 7.79086 24.9999 10 24.9999H25.1771Z',\n fill: '#191B21',\n key: '819879'\n },\n []\n ]\n]);\n\nexport { IconThumbUp };\n","import { cva, type VariantProps } from 'class-variance-authority';\nimport type { ReactNode } from 'react';\nimport { Button } from '@atlas/shared/client/ui/react-tw/Button';\nimport { Divider } from '@atlas/shared/client/ui/react-tw/Divider';\nimport { IconMoreHorizontal } from '@atlas/shared/client/ui/react-tw/icons/IconMoreHorizontal';\nimport { IconThumbDown } from '@atlas/shared/client/ui/react-tw/icons/IconThumbDown';\nimport { IconThumbUp } from '@atlas/shared/client/ui/react-tw/icons/IconThumbUp';\nimport { cn } from '@atlas/shared/client/ui/react-tw/utils/cn';\nimport { useChatbotTranslation } from '../useChatbotTranslation';\nimport { useNativePress } from '../useNativePress';\n\nexport type ChatbotMessageFeedback = 'up' | 'down';\n\nconst bubbleVariants = cva(\n `\n flex flex-col rounded-lr-200 px-lr-spacing-150 py-lr-spacing-100\n lr-md:px-lr-spacing-250 lr-md:py-lr-spacing-150\n `,\n {\n variants: {\n direction: {\n outgoing: 'rounded-ss-lr-none bg-lr-bg-main text-lr-body-balanced-light text-lr-text-main',\n incoming:\n 'rounded-se-lr-none bg-lr-bg-main-inverse text-lr-body-balanced-medium text-lr-text-main-inverse'\n },\n isTyping: {\n true: 'min-h-lr-size-600 justify-center',\n false: 'gap-lr-spacing-100'\n }\n },\n compoundVariants: [\n {\n direction: 'outgoing',\n isTyping: false,\n className: 'w-full overflow-hidden'\n },\n {\n direction: 'incoming',\n isTyping: false,\n className: 'min-h-lr-size-600 justify-center'\n }\n ],\n defaultVariants: {\n direction: 'outgoing',\n isTyping: false\n }\n }\n);\n\ntype BubbleVariants = VariantProps<typeof bubbleVariants>;\n\nexport type ChatbotMessageBubbleProps = {\n /** `outgoing` is the agent side, the only one with quick replies and feedback. */\n direction?: NonNullable<BubbleVariants['direction']>;\n /** Shows the typing indicator instead of the message and its rows. */\n isTyping?: boolean;\n message?: ReactNode;\n /** Pill buttons rendered beneath the message, outgoing only. */\n quickReplies?: ReactNode;\n /** Helpfulness row (divider, prompt, thumbs), outgoing only. */\n showFeedback?: boolean;\n /** Defaults to the localized catalogue copy. */\n feedbackPrompt?: string;\n feedback?: ChatbotMessageFeedback;\n pendingFeedback?: ChatbotMessageFeedback;\n onFeedback?: (value: ChatbotMessageFeedback) => void;\n className?: string;\n};\n\ntype FeedbackRowProps = {\n prompt: string;\n feedback?: ChatbotMessageFeedback;\n pendingFeedback?: ChatbotMessageFeedback;\n onFeedback?: (value: ChatbotMessageFeedback) => void;\n};\n\n/** Keeps the voted thumb in its pressed look once the vote is stored. */\nconst selectedThumbClassName = 'bg-lr-bg-button-secondary-pressed data-hovered:bg-lr-bg-button-secondary-pressed';\n\nfunction FeedbackRow({ prompt, feedback, pendingFeedback, onFeedback }: FeedbackRowProps) {\n const { t } = useChatbotTranslation();\n\n const pressUp = useNativePress<HTMLButtonElement>(() => onFeedback?.('up'));\n const pressDown = useNativePress<HTMLButtonElement>(() => onFeedback?.('down'));\n\n return (\n <div className=\"flex flex-col gap-lr-spacing-100\">\n <Divider size=\"sm\" />\n <div className=\"flex flex-col gap-lr-spacing-075\">\n <p className=\"text-lr-body-small-light text-lr-text-subtle\">{prompt}</p>\n <div className=\"flex flex-row gap-lr-spacing-075\">\n <Button\n icon\n pill\n size=\"xs\"\n variant=\"secondary\"\n ref={pressUp}\n aria-label={t('messageBubble.thumbUp')}\n aria-pressed={feedback === 'up'}\n className={cn(feedback === 'up' && selectedThumbClassName)}\n isPending={pendingFeedback === 'up'}\n >\n <IconThumbUp size=\"xs\" />\n </Button>\n <Button\n icon\n pill\n size=\"xs\"\n variant=\"secondary\"\n ref={pressDown}\n aria-label={t('messageBubble.thumbDown')}\n aria-pressed={feedback === 'down'}\n className={cn(feedback === 'down' && selectedThumbClassName)}\n isPending={pendingFeedback === 'down'}\n >\n <IconThumbDown size=\"xs\" />\n </Button>\n </div>\n </div>\n </div>\n );\n}\n\n/** A single message of the conversation. Alignment in the thread is up to the container. */\nexport function ChatbotMessageBubble({\n direction = 'outgoing',\n isTyping = false,\n message,\n quickReplies,\n showFeedback = false,\n feedbackPrompt,\n feedback,\n pendingFeedback,\n onFeedback,\n className\n}: ChatbotMessageBubbleProps) {\n const { t } = useChatbotTranslation();\n\n const bubbleClassName = cn(bubbleVariants({ direction, isTyping }), className);\n\n if (isTyping) {\n return (\n <div\n role=\"status\"\n aria-label={t('messageBubble.typing')}\n data-direction={direction}\n className={bubbleClassName}\n >\n <span\n className={cn(\n 'flex size-lr-size-400 items-center justify-center',\n direction === 'incoming' ? 'text-lr-icon-main-inverse' : 'text-lr-icon-main'\n )}\n >\n <IconMoreHorizontal size=\"md\" className=\"motion-safe:animate-lr-chatbot-typing\" />\n </span>\n </div>\n );\n }\n\n const isOutgoing = direction === 'outgoing';\n\n return (\n <div data-direction={direction} className={bubbleClassName}>\n <div className={cn(isOutgoing ? 'w-full' : 'w-auto')}>{message}</div>\n {isOutgoing && quickReplies ? (\n <div className=\"flex w-full flex-row flex-wrap gap-lr-spacing-100\">{quickReplies}</div>\n ) : null}\n {isOutgoing && showFeedback ? (\n <FeedbackRow\n prompt={feedbackPrompt ?? t('messageBubble.feedbackPrompt')}\n feedback={feedback}\n pendingFeedback={pendingFeedback}\n onFeedback={onFeedback}\n />\n ) : null}\n </div>\n );\n}\n","import { useMemo, useState } from 'react';\nimport { isMobileDevice } from '@atlas/shared/client/ui/core/utils/device';\nimport { sleep } from '@atlas/shared/client/ui/core/utils/sleep';\nimport { rateMessage } from '../../core/conversation';\nimport { useChatbotApiContext } from '../ChatbotContext';\nimport { useChatbotTranslation } from '../useChatbotTranslation';\nimport { ChatbotEscalationPill, parseEscalationChannels } from './ChatbotEscalationPill';\nimport { ChatbotMessageBubble, type ChatbotMessageFeedback } from './ChatbotMessageBubble';\nimport { cn } from '@atlas/shared/client/ui/react-tw/utils/cn';\n\nconst SCORES: Record<ChatbotMessageFeedback, number> = { up: 1, down: 0 };\n\nfunction toFeedback(score: number | undefined): ChatbotMessageFeedback | undefined {\n switch (score) {\n case SCORES.up:\n return 'up';\n case SCORES.down:\n return 'down';\n default:\n return undefined;\n }\n}\n\nexport type ChatbotMessageProps = {\n /** Compiled body; the slot markers in it are mounted by the host. */\n html: string;\n /** Suggestion pill markers, stacked beneath the bubble. */\n suggestions?: string;\n showEscalation?: boolean;\n showFeedback?: boolean;\n /** Rating already given, for messages replayed from history. */\n score?: number;\n conversationId?: string;\n messageId?: string;\n};\n\n/** Agent message: `ChatbotMessageBubble` wired to the conversation. */\nexport function ChatbotMessage({\n html,\n suggestions,\n showEscalation = false,\n showFeedback = false,\n score: initialScore,\n conversationId,\n messageId\n}: ChatbotMessageProps) {\n const { t } = useChatbotTranslation();\n const api = useChatbotApiContext();\n\n const [feedback, setFeedback] = useState(() => toFeedback(initialScore));\n const [pendingFeedback, setPendingFeedback] = useState<ChatbotMessageFeedback | undefined>(undefined);\n\n const channels = useMemo(\n () =>\n showEscalation\n ? parseEscalationChannels(t('escalation.suggestions', { context: isMobileDevice() ? 'mobile' : '' }))\n : [],\n [showEscalation, t]\n );\n\n // Stable identity, or React resets innerHTML and wipes the mounted slots on each render.\n const body = useMemo(() => ({ __html: html }), [html]);\n const suggestionsBody = useMemo(() => (suggestions ? { __html: suggestions } : undefined), [suggestions]);\n\n const rate = async (value: ChatbotMessageFeedback) => {\n if (!conversationId || !messageId || value === feedback || pendingFeedback) {\n return;\n }\n\n setPendingFeedback(value);\n try {\n await rateMessage(api, { conversationId, messageId, score: SCORES[value] });\n setFeedback(value);\n await sleep(500);\n } catch {\n } finally {\n setPendingFeedback(undefined);\n }\n };\n\n return (\n <>\n <ChatbotMessageBubble\n direction=\"outgoing\"\n message={<div className=\"lr-chatbot-message-body\" dangerouslySetInnerHTML={body} />}\n quickReplies={\n channels.length > 0\n ? channels.map((channel) => (\n <ChatbotEscalationPill\n key={channel.channel}\n {...channel}\n conversationId={conversationId}\n />\n ))\n : undefined\n }\n showFeedback={showFeedback}\n feedback={feedback}\n pendingFeedback={pendingFeedback}\n onFeedback={(value) => {\n void rate(value);\n }}\n />\n {suggestionsBody ? (\n <div\n className={cn(`\n mt-lr-spacing-100 flex flex-col items-start gap-lr-spacing-100\n lr-md:flex-row lr-md:flex-wrap\n `)}\n dangerouslySetInnerHTML={suggestionsBody}\n />\n ) : null}\n </>\n );\n}\n","import { Button } from '@atlas/shared/client/ui/react-tw/Button';\nimport { useNativePress } from '../useNativePress';\nimport { cn } from '@atlas/shared/client/ui/react-tw/utils/cn';\n\ntype Props = {\n label: string;\n onSubmit: (label: string) => void;\n};\n\n/** Canned question of the intro message, replacing the catalogue's `<lr-pill class=\"suggestion\">`. */\nexport function ChatbotSuggestionPill({ label, onSubmit }: Props) {\n const press = useNativePress<HTMLButtonElement>(() => {\n onSubmit(label);\n });\n\n if (!label) {\n return null;\n }\n\n return (\n <Button\n ref={press}\n pill\n size=\"sm\"\n variant=\"tertiary\"\n className={cn('inline-flex h-auto min-h-lr-size-500 text-left whitespace-normal')}\n >\n {label}\n </Button>\n );\n}\n","import { ChatbotConversationRating } from '../components/ChatbotConversationRating';\nimport { ChatbotEscalationPill, ESCALATION_PILL_SELECTOR, readEscalationChannel } from '../components/ChatbotEscalationPill';\nimport { ChatbotIntroduction } from '../components/ChatbotIntroduction';\nimport { ChatbotLegalNotice } from '../components/ChatbotLegalNotice';\nimport { ChatbotLink, LINK_SELECTOR, readLink } from '../components/ChatbotLink';\nimport { ChatbotMessage } from '../components/ChatbotMessage';\nimport { ChatbotSuggestionPill } from '../components/ChatbotSuggestionPill';\nimport type { ChatbotSlotMappings } from './types';\n\n/** What React renders inside a message. Adding a slot means adding an entry here. */\nexport const chatbotSlots = {\n message: {\n hostClassName: 'block',\n component: ChatbotMessage,\n toProps: (data) => ({\n html: data['html'] ?? '',\n suggestions: data['suggestions'],\n showEscalation: data['showEscalation'] === 'true',\n showFeedback: data['showFeedback'] === 'true',\n score: data['score'] === undefined ? undefined : Number(data['score']),\n conversationId: data['conversationId'],\n messageId: data['messageId']\n })\n },\n 'legal-notice': {\n hostClassName: 'block',\n component: ChatbotLegalNotice,\n toProps: (data) => ({ html: data['html'] ?? '' })\n },\n introduction: {\n hostClassName: 'block',\n component: ChatbotIntroduction,\n toProps: (data) => ({\n title: data['title'] ?? '',\n text: data['text'] ?? '',\n suggestions: data['suggestions']\n })\n },\n 'suggestion-pill': {\n html: {\n selector: 'lr-pill.suggestion',\n toDataset: (element) => ({ label: element.textContent?.trim() ?? '' })\n },\n component: ChatbotSuggestionPill,\n toProps: (data, context) => ({\n label: data['label'] ?? '',\n onSubmit: context.onSubmitSuggestion\n })\n },\n 'escalation-pill': {\n html: {\n selector: ESCALATION_PILL_SELECTOR,\n toDataset: (element) => {\n const channel = readEscalationChannel(element);\n return {\n label: channel.label,\n channel: channel.channel,\n icon: channel.icon ?? '',\n shouldGetSummary: String(channel.shouldGetSummary)\n };\n }\n },\n component: ChatbotEscalationPill,\n toProps: (data) => ({\n label: data['label'] ?? '',\n channel: data['channel'] ?? '',\n icon: data['icon'] || undefined,\n shouldGetSummary: data['shouldGetSummary'] === 'true',\n conversationId: data['conversationId']\n })\n },\n link: {\n html: {\n selector: LINK_SELECTOR,\n toDataset: readLink\n },\n component: ChatbotLink,\n toProps: (data) => ({\n href: data['href'] ?? '',\n target: data['target'],\n label: data['label'] ?? ''\n })\n },\n 'conversation-rating': {\n hostClassName: 'block',\n component: ChatbotConversationRating,\n toProps: (data, context) => ({\n conversationId: data['conversationId'],\n addMessage: context.addMessage\n })\n }\n} as const satisfies ChatbotSlotMappings;\n\nexport type ChatbotSlotName = keyof typeof chatbotSlots;\n","import { chatbotSlots, type ChatbotSlotName } from './mappings';\nimport type { ChatbotSlotDefinition, ChatbotSlotMappings } from './types';\n\nexport type { ChatbotSlotName };\n\ntype AnyDefinition = ChatbotSlotMappings[string];\ntype HtmlDefinition = AnyDefinition & { html: NonNullable<AnyDefinition['html']> };\n\nconst definitions = Object.entries(chatbotSlots) as Array<[ChatbotSlotName, AnyDefinition]>;\nconst byName = new Map<string, AnyDefinition>(definitions);\n\n/** The slots that rewrite markup found in message bodies, in declaration order. */\nexport const chatbotHtmlSlots: Array<{ name: ChatbotSlotName; html: HtmlDefinition['html'] }> = definitions\n .filter((entry): entry is [ChatbotSlotName, HtmlDefinition] => entry[1].html !== undefined)\n .map(([name, definition]) => ({ name, html: definition.html }));\n\nexport function isChatbotSlotName(value: string | undefined): value is ChatbotSlotName {\n return value !== undefined && byName.has(value);\n}\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function getChatbotSlotDefinition(name: ChatbotSlotName): ChatbotSlotDefinition<any> | null {\n return byName.get(name) ?? null;\n}\n","import { CHATBOT_SLOT_DATA_KEY } from './constants';\nimport { chatbotHtmlSlots, getChatbotSlotDefinition, type ChatbotSlotName } from './registry';\nimport type { ChatbotSlotDataset, ChatbotSlotOrigin } from './types';\n\nfunction createSlotElement(name: ChatbotSlotName, dataset: ChatbotSlotDataset, origin: ChatbotSlotOrigin) {\n const slot = document.createElement('span');\n // `.twp` scopes the design system's Tailwind build to whatever React renders in here.\n slot.className = ['twp', getChatbotSlotDefinition(name)?.hostClassName].filter(Boolean).join(' ');\n slot.dataset[CHATBOT_SLOT_DATA_KEY] = name;\n\n if (origin.conversationId) {\n slot.dataset['conversationId'] = origin.conversationId;\n }\n if (origin.messageId) {\n slot.dataset['messageId'] = origin.messageId;\n }\n\n Object.entries(dataset).forEach(([key, value]) => {\n slot.dataset[key] = value;\n });\n\n return slot;\n}\n\n/**\n * Rewrites the interactive markup of a message body (BFF or catalogue HTML) into slot markers\n * that React mounts later. Parsed in a detached `<template>` so no custom element upgrades.\n */\nexport function compileChatbotSlots(html: string, origin: ChatbotSlotOrigin = {}): string {\n if (typeof document === 'undefined' || chatbotHtmlSlots.length === 0) {\n return html;\n }\n\n const template = document.createElement('template');\n template.innerHTML = html;\n\n chatbotHtmlSlots.forEach(({ name, html: config }) => {\n template.content.querySelectorAll(config.selector).forEach((element) => {\n element.replaceWith(createSlotElement(name, config.toDataset(element), origin));\n });\n });\n\n return template.innerHTML;\n}\n\n/** Marker for a slot the chatbot adds itself, like the rating widgets. */\nexport function renderChatbotSlot(\n name: ChatbotSlotName,\n dataset: ChatbotSlotDataset = {},\n origin: ChatbotSlotOrigin = {}\n): string {\n if (typeof document === 'undefined') {\n return '';\n }\n return createSlotElement(name, dataset, origin).outerHTML;\n}\n","import { decode } from 'html-entities';\nimport { transformTextToLinks } from '../../utils/transform-text-to-links';\nimport { compileChatbotSlots, renderChatbotSlot } from './compile-slots';\nimport type { ChatbotSlotOrigin } from './types';\n\nexport type ChatbotMessageProps = {\n /** Body of the message, as the BFF or the catalogue wrote it. */\n slot: string;\n /** `incoming` (customer) stays a plain body styled by deep-chat. */\n direction?: 'outgoing' | 'incoming';\n conversationId?: string;\n messageId?: string;\n score?: number;\n showEscalation?: boolean;\n showMessageRating?: boolean;\n showConversationRating?: boolean;\n};\n\nconst SUGGESTIONS_SELECTOR = '.button-container';\n\n/** Moves the intro message's suggestion pills out of the body: they render beneath the bubble. */\nfunction splitSuggestions(html: string): { body: string; suggestions: string } {\n if (typeof document === 'undefined' || !html.includes('button-container')) {\n return { body: html, suggestions: '' };\n }\n\n const template = document.createElement('template');\n template.innerHTML = html;\n\n const suggestions = Array.from(template.content.querySelectorAll(SUGGESTIONS_SELECTOR))\n .map((container) => {\n container.remove();\n return container.innerHTML.trim();\n })\n .join('');\n\n return { body: template.innerHTML.trim(), suggestions };\n}\n\nexport type ChatbotIntroductionHtmlProps = {\n title: string;\n text: string;\n /** Catalogue HTML whose `.button-container` holds the canned questions, typically `introMessage`. */\n suggestionsSource?: string;\n};\n\n/** Builds the `introduction` marker opening a fresh conversation; only the pills of `suggestionsSource` are kept. */\nexport const createChatbotIntroductionHtml = ({ title, text, suggestionsSource = '' }: ChatbotIntroductionHtmlProps) => {\n const { suggestions } = splitSuggestions(compileChatbotSlots(decode(suggestionsSource)));\n\n return renderChatbotSlot('introduction', {\n title,\n text,\n ...(suggestions ? { suggestions } : {})\n });\n};\n\n/**\n * Builds the HTML deep-chat renders for one message. An agent message is a single `message`\n * slot marker carrying its body in `dataset`; see `ChatbotMessage`.\n */\nexport const createChatbotMessageHtml = ({\n slot,\n direction = 'outgoing',\n conversationId,\n messageId,\n score,\n showEscalation = false,\n showMessageRating = false,\n showConversationRating = false\n}: ChatbotMessageProps) => {\n const origin: ChatbotSlotOrigin = { conversationId, messageId };\n\n const decoded = decode(slot);\n const withLineBreaks = decoded.replace(/(?:\\r\\n|\\r|\\n)/g, '<br/>');\n const compiled = compileChatbotSlots(transformTextToLinks(withLineBreaks), origin);\n\n if (direction === 'incoming') {\n return compiled;\n }\n\n const { body, suggestions } = splitSuggestions(compiled);\n const conversationRating = showConversationRating ? renderChatbotSlot('conversation-rating', {}, origin) : '';\n\n return renderChatbotSlot(\n 'message',\n {\n html: `${body}${conversationRating}`,\n ...(suggestions ? { suggestions } : {}),\n ...(showEscalation ? { showEscalation: 'true' } : {}),\n ...(showMessageRating ? { showFeedback: 'true' } : {}),\n ...(score === undefined ? {} : { score: String(score) })\n },\n origin\n );\n};\n","import { createElement, useEffect, useState } from 'react';\nimport { createPortal } from 'react-dom';\nimport { generateUniqueId } from '../../utils/unique-id';\nimport { ChatbotProvider } from '../ChatbotProvider';\nimport { CHATBOT_SLOT_DATA_KEY, CHATBOT_SLOT_SELECTOR } from './constants';\nimport { getChatbotSlotDefinition, isChatbotSlotName, type ChatbotSlotName } from './registry';\nimport type { ChatbotSlot, ChatbotSlotContext } from './types';\n\n// Slot identity is kept out of the DOM so a slot that only moved is not remounted.\ntype ResolvedSlot = ChatbotSlot & { name: ChatbotSlotName };\n\nconst slotKeys = new WeakMap<HTMLElement, string>();\n\nfunction getSlotKey(element: HTMLElement) {\n let key = slotKeys.get(element);\n if (!key) {\n key = generateUniqueId();\n slotKeys.set(element, key);\n }\n return key;\n}\n\nfunction collectSlots(root: ParentNode): ResolvedSlot[] {\n return Array.from(root.querySelectorAll<HTMLElement>(CHATBOT_SLOT_SELECTOR)).flatMap((element) => {\n const name = element.dataset[CHATBOT_SLOT_DATA_KEY];\n if (!isChatbotSlotName(name)) {\n return [];\n }\n return [{ key: getSlotKey(element), element, name, data: element.dataset }];\n });\n}\n\nfunction useChatbotSlots(root: ParentNode) {\n const [slots, setSlots] = useState<ResolvedSlot[]>(() => collectSlots(root));\n\n useEffect(() => {\n let frame: number | undefined;\n\n const scan = () => {\n frame = undefined;\n setSlots(collectSlots(root));\n };\n\n // deep-chat appends messages as it renders them; coalesce a burst into one rescan.\n const observer = new MutationObserver(() => {\n frame ??= requestAnimationFrame(scan);\n });\n observer.observe(root, { childList: true, subtree: true });\n scan();\n\n return () => {\n if (frame !== undefined) {\n cancelAnimationFrame(frame);\n }\n observer.disconnect();\n };\n }, [root]);\n\n return slots;\n}\n\ntype Props = {\n /** The tree to watch. Slots are portaled inside it, never across its boundary. */\n root: ParentNode;\n context: ChatbotSlotContext;\n};\n\n/**\n * Renders every slot marker found in `root`. Mounted as its own React root inside deep-chat's\n * shadow root: events retargeted across the shadow boundary would never reach a portal from the main app.\n */\nexport function ChatbotSlotHost({ root, context }: Props) {\n const slots = useChatbotSlots(root);\n\n return (\n <ChatbotProvider apiUrl={context.apiUrl} country={context.country} language={context.language}>\n {slots.map((slot) => {\n const definition = getChatbotSlotDefinition(slot.name);\n if (!definition) {\n return null;\n }\n return createPortal(\n createElement(definition.component, definition.toProps(slot.data, context)),\n slot.element,\n slot.key\n );\n })}\n </ChatbotProvider>\n );\n}\n","import { createRoot } from 'react-dom/client';\nimport { adoptChatbotStyles } from '../../styles/chatbot-styles';\nimport { ChatbotSlotHost } from './ChatbotSlotHost';\nimport type { ChatbotSlotContext } from './types';\n\nexport type ChatbotSlotHostMount = {\n update: (context: ChatbotSlotContext) => void;\n unmount: () => void;\n};\n\n/** Mounts the slot host inside a shadow root and injects the stylesheet there. */\nexport function mountChatbotSlotHost(root: ShadowRoot, context: ChatbotSlotContext): ChatbotSlotHostMount {\n adoptChatbotStyles(root);\n\n const container = document.createElement('div');\n container.hidden = true;\n root.appendChild(container);\n\n const reactRoot = createRoot(container);\n const render = (next: ChatbotSlotContext) => {\n reactRoot.render(<ChatbotSlotHost root={root} context={next} />);\n };\n\n render(context);\n\n return {\n update: render,\n unmount: () => {\n reactRoot.unmount();\n container.remove();\n }\n };\n}\n","import { Button } from '@atlas/shared/client/ui/react-tw/Button';\nimport { useChatbotTranslation } from '../useChatbotTranslation';\nimport { cn } from '@atlas/shared/client/ui/react-tw/utils/cn';\n\n\ntype Props = {\n onReturn: () => void;\n onConfirm: () => void;\n};\n\n/** Asks for confirmation before throwing the conversation away. */\nexport function ChatbotExitOverlay({ onReturn, onConfirm }: Props) {\n const { t } = useChatbotTranslation();\n\n return (\n <div\n className={cn(`\n absolute inset-0 z-1001 flex flex-col justify-center gap-lr-spacing-200 bg-lr-bg-main-alt\n p-lr-spacing-200\n `)}\n role=\"alertdialog\"\n aria-labelledby=\"lr-chatbot-exit-title\"\n aria-describedby=\"lr-chatbot-exit-text\"\n >\n <h2 id=\"lr-chatbot-exit-title\" className=\"m-0 text-center text-lr-subtitle-large-medium text-lr-text-main\">\n {t('exitConfirmation.title')}\n </h2>\n <p id=\"lr-chatbot-exit-text\" className=\"m-0 text-center text-lr-subtitle-compact-light text-lr-text-main\">\n {t('exitConfirmation.text')}\n </p>\n <div className=\"flex flex-col gap-lr-spacing-200\">\n <Button pill className=\"w-full\" onClick={onConfirm}>\n {t('exitConfirmation.button')}\n </Button>\n <Button pill variant=\"tertiary\" className=\"w-full\" onClick={onReturn}>\n {t('returnToConversation')}\n </Button>\n </div>\n </div>\n );\n}\n","import createIcon from '../../icons/createIcon';\n\nconst IconClose = createIcon('IconClose', '0 0 64 64', [\n [\n 'path',\n {\n 'fill-rule': 'evenodd',\n 'clip-rule': 'evenodd',\n d: 'M18.0003 15.1719L19.4145 16.5861L32.0005 29.1721L44.5865 16.5861L46.0007 15.1719L48.8291 18.0003L47.4149 19.4145L34.8289 32.0005L47.4145 44.5861L48.8287 46.0003L46.0003 48.8287L44.5861 47.4145L32.0005 34.8289L19.4149 47.4145L18.0007 48.8287L15.1723 46.0003L16.5865 44.5861L29.1721 32.0005L16.5861 19.4145L15.1719 18.0003L18.0003 15.1719Z',\n fill: '#191B21',\n key: 'b43d4b'\n },\n []\n ]\n]);\n\nexport { IconClose };\n","import createIcon from '../../icons/createIcon';\n\nconst IconLaRedouteLogoInverse = createIcon('IconLaRedouteLogoInverse', '0 0 544 554', [\n [\n 'g',\n {\n 'clip-path': 'url(#clip0_6089_1097)',\n key: '627cb9'\n },\n [\n {\n name: 'path',\n type: 'element',\n value: '',\n parent: null,\n attributes: {\n d: 'M543.946 195.769V455.546C543.946 483.934 520.456 506.952 491.907 506.156C464.352 505.379 442.778 481.999 442.778 454.407V195.769C442.778 191.628 446.139 188.247 450.295 188.247H470.839C474.995 188.247 478.356 191.61 478.356 195.769V454.949C478.356 462.724 484.662 470.065 492.431 470.554C501.159 471.096 508.422 464.153 508.422 455.546V195.769C508.422 191.628 511.783 188.247 515.939 188.247H536.483C540.639 188.247 544 191.61 544 195.769H543.946ZM89.4049 378.085H7.51666C3.36081 378.085 0 381.448 0 385.607V406.328C0 410.469 3.36081 413.832 7.51666 413.832H31.0423V546.478C31.0423 550.637 34.4032 554 38.559 554H58.3986C62.5364 554 65.9153 550.637 65.9153 546.478V413.832H89.441C93.5788 413.832 96.9576 410.469 96.9576 406.31V385.589C96.9576 381.43 93.5968 378.067 89.441 378.067L89.4049 378.085ZM433.202 276.937C433.202 326.968 392.529 367.652 342.55 367.652H341.357C291.379 367.652 250.706 326.95 250.706 276.937C250.706 226.923 291.379 186.222 341.357 186.222H342.55C392.547 186.222 433.202 226.923 433.202 276.937ZM398.292 276.937C398.292 246.198 373.285 221.155 342.55 221.155H341.321C310.604 221.155 285.597 246.18 285.597 276.937C285.597 307.693 310.586 332.7 341.321 332.7H342.55C373.267 332.7 398.292 307.693 398.292 276.937ZM536.429 518.397H450.277C446.121 518.397 442.76 521.761 442.76 525.919V546.478C442.76 550.637 446.121 554 450.277 554H536.429C540.585 554 543.946 550.637 543.946 546.478V525.919C543.946 521.761 540.585 518.397 536.429 518.397ZM7.51666 175.807H48.4246C52.5624 175.807 55.9413 172.444 55.9413 168.285V147.726C55.9413 143.585 52.5805 140.204 48.4246 140.204H35.5596V7.52192C35.5596 3.36316 32.1988 0 28.0429 0H7.51666C3.36081 0 0 3.36316 0 7.52192V168.303C0 172.444 3.36081 175.825 7.51666 175.825V175.807ZM478.32 35.5844H536.429C540.585 35.5844 543.946 32.2213 543.946 28.0625V7.52192C543.946 3.36316 540.585 0 536.429 0H450.277C446.121 0 442.76 3.36316 442.76 7.52192V168.303C442.76 172.444 446.121 175.825 450.277 175.825H536.429C540.585 175.825 543.946 172.462 543.946 168.303V147.744C543.946 143.604 540.585 140.222 536.429 140.222H478.32V105.741H533.646C537.802 105.741 541.163 102.378 541.163 98.2189V77.6602C541.163 73.5195 537.802 70.1383 533.646 70.1383H478.32V35.5844ZM65.9334 166.242L114.575 5.44254C115.551 2.20595 118.532 0 121.911 0H147.767C150.984 0 153.82 2.02513 154.868 5.06283L210.412 165.771C212.129 170.744 208.443 175.933 203.167 175.933H181.647C178.448 175.933 175.593 173.908 174.545 170.87L167.047 149.173C165.981 146.081 163.072 144.019 159.801 144.019H115.46C112.081 144.019 109.1 146.225 108.124 149.462L101.728 170.581C100.77 173.745 97.843 175.915 94.5364 175.915H73.0706C68.0294 175.915 64.4156 171.051 65.8792 166.223L65.9334 166.242ZM120.574 108.453H152.989L137.848 64.6415C137.179 62.6887 134.396 62.7429 133.8 64.7138L120.574 108.435V108.453ZM221.362 168.303V7.66657C221.362 3.5259 224.723 0.144652 228.879 0.144652H367.196C401.455 0.144652 430.961 28.171 431.16 62.4355C431.286 86.0681 418.259 106.717 398.997 117.494L429.082 164.198C432.298 169.189 428.72 175.789 422.776 175.789H398.347C395.799 175.789 393.414 174.487 392.041 172.353L361.829 125.468H264.438C260.3 125.468 256.922 128.831 256.922 132.99V168.303C256.922 172.444 253.561 175.825 249.405 175.825H228.861C224.723 175.825 221.344 172.462 221.344 168.303H221.362ZM256.922 89.9014H368.551C384.777 89.9014 397.732 75.5085 395.329 58.8192C393.396 45.3666 381.199 35.7472 367.593 35.7472H256.922V89.9014ZM0 358.123V195.787C0 191.628 3.36081 188.265 7.51666 188.265H152.718C202.48 188.265 242.792 229.509 241.292 279.631C239.864 327.872 199.047 365.627 150.821 365.627H7.51666C3.36081 365.627 0 362.263 0 358.105V358.123ZM34.8549 330.747H151.399C180.508 330.747 205.335 308.145 206.437 279.016C207.593 248.404 183.056 223.144 152.718 223.144H34.8549V330.747ZM144.063 413.76H423.499C427.654 413.76 431.015 410.396 431.015 406.238V385.679C431.015 381.52 427.654 378.157 423.499 378.157H116.038C111.901 378.157 108.522 381.52 108.522 385.679V546.46C108.522 550.619 111.883 553.982 116.038 553.982H423.499C427.654 553.982 431.015 550.619 431.015 546.46V525.901C431.015 521.743 427.654 518.379 423.499 518.379H144.081V483.898H420.824C424.98 483.898 428.341 480.535 428.341 476.376V455.817C428.341 451.659 424.98 448.295 420.824 448.295H144.081V413.705L144.063 413.76Z',\n fill: 'white',\n key: 'ab870b'\n },\n children: []\n }\n ]\n ],\n [\n 'defs',\n {\n key: '359df7'\n },\n [\n {\n name: 'clipPath',\n type: 'element',\n value: '',\n parent: null,\n attributes: {\n id: 'clip0_6089_1097',\n key: '0a9e5c'\n },\n children: [\n {\n name: 'rect',\n type: 'element',\n value: '',\n parent: null,\n attributes: {\n width: '272',\n height: '277',\n fill: 'white',\n transform: 'scale(2)',\n key: '481726'\n },\n children: []\n }\n ]\n }\n ]\n ]\n]);\n\nexport { IconLaRedouteLogoInverse };\n","import createIcon from '../../icons/createIcon';\n\nconst IconLess = createIcon('IconLess', '0 0 64 64', [\n [\n 'path',\n {\n 'fill-rule': 'evenodd',\n 'clip-rule': 'evenodd',\n d: 'M10 30H12H52H54V34H52H12H10V30Z',\n fill: '#191B21',\n key: 'b3e173'\n },\n []\n ]\n]);\n\nexport { IconLess };\n","import { Button } from '@atlas/shared/client/ui/react-tw/Button';\nimport { IconClose } from '@atlas/shared/client/ui/react-tw/icons/IconClose';\nimport { IconLaRedouteLogoInverse } from '@atlas/shared/client/ui/react-tw/icons/IconLaRedouteLogoInverse';\nimport { IconLess } from '@atlas/shared/client/ui/react-tw/icons/IconLess';\nimport { useChatbotTranslation } from '../useChatbotTranslation';\n\n\ntype Props = {\n /** Id of the region the buttons control, for `aria-controls`. */\n controlsId: string;\n onMinimize: () => void;\n onClose: () => void;\n};\n\nexport function ChatbotHeader({ controlsId, onMinimize, onClose }: Props) {\n const { t } = useChatbotTranslation();\n\n return (\n <div className=\"flex items-center justify-between bg-lr-bg-main p-lr-spacing-150 text-lr-text-main\">\n <div className=\"flex items-center gap-lr-spacing-100\">\n <div className=\"flex size-lr-size-400 items-center justify-center rounded-lr-full bg-lr-major\">\n <IconLaRedouteLogoInverse size=\"xs\" />\n </div>\n <span className=\"text-lr-subtitle-compact-medium\">{t('title')}</span>\n </div>\n <div className=\"flex items-center gap-lr-spacing-100\">\n <Button\n icon\n pill\n variant=\"secondary\"\n size=\"sm\"\n aria-label={t('menu.minimizeLabel')}\n aria-controls={controlsId}\n aria-expanded\n onClick={onMinimize}\n >\n <IconLess size=\"sm\" />\n </Button>\n <Button\n icon\n pill\n variant=\"secondary\"\n size=\"sm\"\n aria-label={t('menu.closeLabel')}\n aria-controls={controlsId}\n onClick={onClose}\n >\n <IconClose size=\"sm\" />\n </Button>\n </div>\n </div>\n );\n}\n","import createIcon from '../../icons/createIcon';\n\nconst IconSearch = createIcon('IconSearch', '0 0 64 64', [\n [\n 'path',\n {\n 'fill-rule': 'evenodd',\n 'clip-rule': 'evenodd',\n d: 'M30.7112 14C21.4819 14 14 21.4819 14 30.7112C14 39.9406 21.4819 47.4225 30.7112 47.4225C35.3211 47.4225 39.495 45.5559 42.5183 42.5374C42.5247 42.531 42.531 42.5247 42.5374 42.5183C45.5559 39.495 47.4225 35.3211 47.4225 30.7112C47.4225 21.4819 39.9406 14 30.7112 14ZM46.7025 43.8741C49.6514 40.2956 51.4225 35.7102 51.4225 30.7112C51.4225 19.2727 42.1497 10 30.7112 10C19.2727 10 10 19.2727 10 30.7112C10 42.1497 19.2727 51.4225 30.7112 51.4225C35.7102 51.4225 40.2956 49.6514 43.8741 46.7025L50.5858 53.4142L52 54.8284L54.8284 52L53.4142 50.5858L46.7025 43.8741Z',\n fill: '#191B21',\n key: '6107b6'\n },\n []\n ]\n]);\n\nexport { IconSearch };\n","import createIcon from '../../icons/createIcon';\n\nconst IconSendOutline = createIcon('IconSendOutline', '0 0 32 32', [\n [\n 'path',\n {\n d: 'M26.5415 3.00049C28.036 2.58962 29.4093 3.96154 29.0005 5.45654L22.9819 27.4575C22.5102 29.1807 20.1872 29.4672 19.3101 27.9106L15.1294 20.4907L15.0728 20.3745C14.9605 20.0967 14.9778 19.7801 15.1255 19.5142L18.4253 13.5728L12.4858 16.8735C12.1817 17.0425 11.8113 17.0416 11.5083 16.8706L4.1333 12.7065C2.57923 11.829 2.86562 9.50984 4.58643 9.03662L26.5415 3.00049ZM5.1167 10.9653L12.0034 14.854L20.5142 10.1255C20.9044 9.90868 21.3918 9.97682 21.7075 10.2925C22.023 10.6081 22.091 11.0947 21.8745 11.4849L17.145 19.9966L21.0522 26.9302L27.0728 4.9292L5.1167 10.9653Z',\n fill: '#191B21',\n key: '69f8af'\n },\n []\n ]\n]);\n\nexport { IconSendOutline };\n","import { cva, type VariantProps } from 'class-variance-authority';\nimport { useCallback, useEffect, useId, useRef, useState, type ChangeEvent, type KeyboardEvent } from 'react';\nimport { Button } from '@atlas/shared/client/ui/react-tw/Button';\nimport { IconClose } from '@atlas/shared/client/ui/react-tw/icons/IconClose';\nimport { IconSearch } from '@atlas/shared/client/ui/react-tw/icons/IconSearch';\nimport { IconSendOutline } from '@atlas/shared/client/ui/react-tw/icons/IconSendOutline';\nimport { cn } from '@atlas/shared/client/ui/react-tw/utils/cn';\nimport { useChatbotTranslation } from '../useChatbotTranslation';\nimport { useNativePress } from '../useNativePress';\n\nconst HINT_ROTATION_INTERVAL_MS = 3000;\n\n/** `data-focused` comes from the input itself, not `:focus-within`: the trailing buttons must not light the ring. */\nconst containerVariants = cva(\n `\n relative flex w-full items-center gap-lr-spacing-100 rounded-lr-full pr-lr-spacing-100 pl-lr-spacing-200\n outline-0 outline-offset-0 outline-lr-border-focus transition-colors\n hover:bg-lr-bg-hover\n data-focused:bg-lr-bg-main-alt data-focused:outline-lr-focus\n `,\n {\n variants: {\n size: {\n sm: 'h-lr-size-500 text-lr-body-balanced-light',\n md: 'h-lr-size-600 text-lr-body-standard-light'\n },\n style: {\n subtle: 'border-lr-main border-lr-border-main bg-lr-bg-main',\n emphasized: 'bg-lr-bg-main-alt'\n }\n },\n defaultVariants: {\n size: 'sm',\n style: 'subtle'\n }\n }\n);\n\ntype ContainerVariants = VariantProps<typeof containerVariants>;\n\nexport type ChatbotSearchFieldProps = {\n size?: NonNullable<ContainerVariants['size']>;\n style?: NonNullable<ContainerVariants['style']>;\n value?: string;\n defaultValue?: string;\n onChange?: (value: string) => void;\n onSubmit?: (value: string) => void;\n placeholder?: string;\n label?: string;\n /** Example queries the placeholder cycles through while the field is empty and unfocused. */\n hints?: string[];\n showClear?: boolean;\n showSearchIcon?: boolean;\n showSubmit?: boolean;\n suggestionsId?: string;\n maxLength?: number;\n isDisabled?: boolean;\n isSubmitDisabled?: boolean;\n autoFocus?: boolean;\n name?: string;\n className?: string;\n};\n\n/** Native `<input type=\"search\">`: searchbox role and IME search action for free, works inside a shadow root. */\nexport function ChatbotSearchField({\n size = 'sm',\n style = 'subtle',\n value: controlledValue,\n defaultValue = '',\n onChange,\n onSubmit,\n placeholder,\n label,\n hints = [],\n showClear = false,\n showSearchIcon = true,\n showSubmit = false,\n suggestionsId,\n maxLength,\n isDisabled = false,\n isSubmitDisabled = false,\n autoFocus = false,\n name,\n className\n}: ChatbotSearchFieldProps) {\n const { t } = useChatbotTranslation();\n const inputId = useId();\n const inputRef = useRef<HTMLInputElement>(null);\n\n const [uncontrolledValue, setUncontrolledValue] = useState(defaultValue);\n const isControlled = controlledValue !== undefined;\n const value = isControlled ? controlledValue : uncontrolledValue;\n\n const [isFocused, setIsFocused] = useState(false);\n const [hintIndex, setHintIndex] = useState(0);\n\n const isEmpty = value === '';\n const isAnimated = hints.length > 0 && isEmpty && !isFocused && !isDisabled;\n const isClearVisible = showClear && !isEmpty && !isDisabled;\n\n const setValue = useCallback(\n (next: string) => {\n if (!isControlled) {\n setUncontrolledValue(next);\n }\n onChange?.(next);\n },\n [isControlled, onChange]\n );\n\n useEffect(() => {\n if (!isAnimated || hints.length < 2) {\n return undefined;\n }\n const timer = window.setInterval(() => {\n setHintIndex((index) => (index + 1) % hints.length);\n }, HINT_ROTATION_INTERVAL_MS);\n return () => {\n window.clearInterval(timer);\n };\n }, [isAnimated, hints.length]);\n\n const clear = useNativePress<HTMLButtonElement>(() => {\n setValue('');\n inputRef.current?.focus();\n });\n\n const handleChange = (event: ChangeEvent<HTMLInputElement>) => {\n setValue(event.target.value);\n };\n\n const handleFocus = () => {\n setIsFocused(true);\n };\n\n const handleBlur = () => {\n setIsFocused(false);\n };\n\n const query = value.trim();\n const canSubmit = query !== '' && !isSubmitDisabled;\n\n const submit = useCallback(() => {\n const trimmed = value.trim();\n if (trimmed && !isSubmitDisabled) {\n onSubmit?.(trimmed);\n }\n }, [isSubmitDisabled, onSubmit, value]);\n\n const send = useNativePress<HTMLButtonElement>(submit);\n\n const handleKeyDown = (event: KeyboardEvent<HTMLInputElement>) => {\n if (event.key !== 'Enter' || !canSubmit) {\n return;\n }\n event.preventDefault();\n submit();\n };\n\n const hint = hints[hintIndex % Math.max(hints.length, 1)];\n\n return (\n <div\n data-size={size}\n data-style={style}\n data-focused={isFocused ? '' : undefined}\n className={cn(containerVariants({ size, style }), isDisabled && 'text-lr-text-disabled', className)}\n >\n {showSearchIcon ? (\n <span className=\"flex shrink-0 items-center text-lr-icon-main\">\n <IconSearch size=\"sm\" />\n </span>\n ) : null}\n\n <span className=\"relative flex min-w-0 flex-1 items-center\">\n <input\n ref={inputRef}\n id={inputId}\n type=\"search\"\n name={name}\n value={value}\n disabled={isDisabled}\n maxLength={maxLength}\n autoFocus={autoFocus}\n autoComplete=\"off\"\n enterKeyHint=\"search\"\n aria-label={label ?? t('searchField.label')}\n aria-controls={suggestionsId}\n aria-autocomplete={suggestionsId ? 'list' : undefined}\n placeholder={isAnimated ? undefined : placeholder}\n onChange={handleChange}\n onFocus={handleFocus}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n className={cn(\n `\n w-full min-w-0 lr-chatbot-search-input bg-transparent text-lr-text-main\n caret-lr-border-strong outline-0!\n `,\n 'placeholder:text-lr-text-subtle',\n 'disabled:cursor-not-allowed disabled:text-lr-text-disabled'\n )}\n />\n {isAnimated ? (\n <span\n aria-hidden=\"true\"\n className=\"pointer-events-none absolute inset-0 flex items-center truncate text-lr-text-subtle\"\n >\n {t('searchField.tryPrefix')}\n \n <span className=\"text-lr-text-main\">{hint}</span>\n </span>\n ) : null}\n </span>\n\n {isClearVisible ? (\n <Button\n ref={clear}\n icon\n pill\n size=\"sm\"\n variant=\"plain\"\n type=\"button\"\n className=\"shrink-0\"\n aria-label={t('searchField.clear')}\n aria-controls={inputId}\n >\n <IconClose size=\"sm\" />\n </Button>\n ) : null}\n\n {showSubmit ? (\n <Button\n ref={send}\n icon\n pill\n size=\"sm\"\n variant=\"plain\"\n type=\"button\"\n className=\"shrink-0\"\n aria-label={t('searchField.send')}\n isDisabled={isDisabled || !canSubmit}\n >\n <IconSendOutline size=\"sm\" />\n </Button>\n ) : null}\n </div>\n );\n}\n","import { useMemo } from 'react';\nimport { Button } from '@atlas/shared/client/ui/react-tw/Button';\nimport { cn } from '@atlas/shared/client/ui/react-tw/utils/cn';\nimport { useChatbotTranslation } from '../useChatbotTranslation';\nimport { ChatbotLegalNotice } from './ChatbotLegalNotice';\n\ntype Props = {\n onStart: () => void;\n};\n\n/** First step of a fresh conversation: the AI disclaimer, then a greeting and the start button. */\nexport function ChatbotWelcome({ onStart }: Props) {\n const { t } = useChatbotTranslation();\n const legalInformation = useMemo(() => t('welcome.legalInformation'), [t]);\n\n return (\n <div\n className={cn(`\n flex h-lr-chatbot-welcome-height w-full max-w-full flex-col overflow-y-auto bg-lr-bg-main-alt\n px-lr-spacing-200 pb-lr-spacing-200\n lr-md:h-lr-chatbot-welcome-height-md lr-md:w-lr-chatbot-width-md\n `)}\n >\n <ChatbotLegalNotice html={legalInformation} />\n <div className=\"mt-auto flex flex-col gap-lr-spacing-200\">\n <div className=\"flex flex-col gap-lr-spacing-100\">\n <h2 className=\"m-0 text-lr-chatbot-heading text-lr-text-main\">{t('welcome.title')}</h2>\n <p className=\"m-0 text-lr-subtitle-large-light text-lr-text-main\">{t('welcome.text')}</p>\n </div>\n <Button pill className=\"w-full\" onClick={onStart}>\n {t('welcome.startButton')}\n </Button>\n </div>\n </div>\n );\n}\n","// Registers `<deep-chat>`; bundled with this view, not with the launcher.\nimport 'deep-chat';\nimport type { DeepChat } from 'deep-chat';\nimport { useCallback } from 'react';\nimport { LoadingOverlay } from '@atlas/shared/client/ui/react-tw/LoadingOverlay';\nimport { cn } from '@atlas/shared/client/ui/react-tw/utils/cn';\nimport { DeepChatStyle } from '../../core/deep-chat-style';\nimport { sanitizeUserInput } from '../../utils/sanitize';\nimport { keepScrolledToBottom } from '../keep-scrolled-to-bottom';\nimport { createChatbotIntroductionHtml, createChatbotMessageHtml } from '../slots/message-html';\nimport { mountChatbotSlotHost } from '../slots/mount-slot-host';\nimport type { ChatbotDisplay } from '../useChatbotDisplay';\nimport { useChatbotTranslation } from '../useChatbotTranslation';\nimport type { ChatbotConversationRuntime, DeepChatController } from '../useDeepChat';\nimport { ChatbotExitOverlay } from './ChatbotExitOverlay';\nimport { ChatbotHeader } from './ChatbotHeader';\nimport { ChatbotSearchField } from './ChatbotSearchField';\nimport { ChatbotWelcome } from './ChatbotWelcome';\n\nconst MESSAGE_MAX_LENGTH = 256;\n\n/** Message rendering lives in this chunk; `useDeepChat` only sees it once the element is attached. */\nconst runtime: ChatbotConversationRuntime = {\n style: DeepChatStyle,\n createChatbotMessageHtml,\n createChatbotIntroductionHtml,\n mountChatbotSlotHost,\n keepScrolledToBottom,\n sanitizeUserInput\n};\n\nexport type ChatbotOpenedViewProps = {\n id: string;\n sticky: boolean;\n /** The welcome step, until \"start\" is pressed. */\n showWelcome: boolean;\n display: ChatbotDisplay;\n deepChat: DeepChatController;\n draft: string;\n onDraftChange: (value: string) => void;\n onSubmit: (text: string) => void;\n onStart: () => void;\n};\n\n/** The opened chat: header, then the welcome step or the conversation with its input. */\nexport function ChatbotOpenedView({\n id,\n sticky,\n showWelcome,\n display,\n deepChat,\n draft,\n onDraftChange,\n onSubmit,\n onStart\n}: ChatbotOpenedViewProps) {\n const { t } = useChatbotTranslation();\n\n // Stable, or React would detach and re-attach the element (and refetch the history) on every render.\n const { attach } = deepChat;\n const attachDeepChat = useCallback((element: DeepChat | null) => attach(element, runtime), [attach]);\n\n return (\n <div\n id={id}\n role=\"region\"\n aria-label={t('title')}\n className={cn(\n // `font-lr-default`: the `.twp` reset leaves font-family inherited from the host page.\n `\n relative block origin-bottom font-lr-default\n lr-md:overflow-hidden lr-md:rounded-t-lr-100\n `,\n // Phones: full-bleed with explicit edges, otherwise the fixed window sizes on its\n // content and widens once the catalogue lands.\n sticky &&\n `\n fixed inset-x-0 bottom-0 z-10001 shadow-lr-raised-bottom\n lr-md:right-lr-chatbot-sticky-right lr-md:left-auto\n `\n )}\n >\n <ChatbotHeader\n controlsId={id}\n onMinimize={display.minimize}\n // Nothing to lose yet: no confirmation before the chat starts.\n onClose={showWelcome ? display.close : display.requestClose}\n />\n {showWelcome ? (\n <ChatbotWelcome onStart={onStart} />\n ) : (\n <LoadingOverlay\n active={deepChat.isLoadingHistory}\n label={t('title')}\n className=\"overflow-clip bg-lr-bg-main-alt\"\n >\n {display.exitOverlay ? (\n <ChatbotExitOverlay onReturn={display.returnToConversation} onConfirm={display.close} />\n ) : null}\n <deep-chat\n ref={attachDeepChat}\n className={cn(`\n h-full! max-w-full! border-none!\n lr-md:w-lr-chatbot-width-md!\n `)}\n />\n <div className=\"bg-lr-bg-main px-lr-spacing-200 py-lr-spacing-150\">\n <ChatbotSearchField\n style=\"emphasized\"\n showSearchIcon={false}\n showSubmit\n value={draft}\n maxLength={MESSAGE_MAX_LENGTH}\n label={t('inputLabel')}\n placeholder={t('inputPlaceholder')}\n isDisabled={deepChat.isInputDisabled}\n isSubmitDisabled={deepChat.isAwaitingResponse}\n onChange={onDraftChange}\n onSubmit={onSubmit}\n />\n </div>\n </LoadingOverlay>\n )}\n </div>\n );\n}\n"],"x_google_ignoreList":[0,5,8,9,10,11,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,62,63,64,65,66,67,68,69,70,71,72,73,74,75,98,99,100,101,102,103,106,107],"mappings":"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"}
|