@d19n/webchat 1.0.5 → 1.1.0
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/README.md +19 -14
- package/dist/TwilioChat/Chat.d.ts +3 -12
- package/dist/TwilioChat/components/ChatHeader.d.ts +5 -0
- package/dist/TwilioChat/components/ChatInput.d.ts +5 -0
- package/dist/TwilioChat/components/Container.d.ts +6 -0
- package/dist/TwilioChat/components/Message.d.ts +29 -0
- package/dist/TwilioChat/components/MessageList.d.ts +5 -0
- package/dist/TwilioChat/components/NotificationBar.d.ts +3 -0
- package/dist/TwilioChat/components/TypingIndicator.d.ts +5 -0
- package/dist/TwilioChat/components/Widget.d.ts +5 -0
- package/dist/TwilioChat/components/styled/ChatContent.d.ts +3 -0
- package/dist/TwilioChat/components/styled/ChatContentList.d.ts +3 -0
- package/dist/TwilioChat/components/styled/ChatWrapper.d.ts +3 -0
- package/dist/TwilioChat/components/styled/EventPost.d.ts +3 -0
- package/dist/TwilioChat/components/styled/Header.d.ts +3 -0
- package/dist/TwilioChat/components/styled/InputForm.d.ts +3 -0
- package/dist/TwilioChat/components/styled/MyPost.d.ts +3 -0
- package/dist/TwilioChat/components/styled/Splitter.d.ts +3 -0
- package/dist/TwilioChat/components/styled/WidgetButton.d.ts +3 -0
- package/dist/TwilioChat/components/styled/YFPost.d.ts +3 -0
- package/dist/TwilioChat/index.d.ts +2 -12
- package/dist/_virtual/_commonjsHelpers.js +1 -1
- package/dist/_virtual/index11.js +1 -1
- package/dist/_virtual/index2.js +1 -1
- package/dist/_virtual/index3.js +1 -1
- package/dist/_virtual/index5.js +1 -1
- package/dist/_virtual/index6.js +1 -1
- package/dist/_virtual/index7.js +1 -1
- package/dist/_virtual/index8.js +1 -1
- package/dist/assets/assets.d.ts +44 -0
- package/dist/assets/images/{svg/youfibre-upload.svg → youfibre-upload.svg} +4 -4
- package/dist/assets/styles/app.scss +242 -210
- package/dist/context/ChatGlobalContext.d.ts +31 -0
- package/dist/index.d.ts +2 -8
- package/dist/index.js +6 -36
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +6 -36
- package/dist/index.mjs.map +1 -1
- package/dist/node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js +1 -1
- package/dist/node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js.map +1 -1
- package/dist/node_modules/@emotion/unitless/dist/emotion-unitless.esm.js +2 -0
- package/dist/node_modules/@emotion/unitless/dist/emotion-unitless.esm.js.map +1 -0
- package/dist/node_modules/attr-accept/dist/es/index.js +1 -1
- package/dist/node_modules/classnames/index.js +1 -1
- package/dist/node_modules/engine.io-client/build/esm/transport.js +1 -1
- package/dist/node_modules/engine.io-client/build/esm/transport.js.map +1 -1
- package/dist/node_modules/engine.io-client/build/esm/transports/polling-xhr.js.map +1 -1
- package/dist/node_modules/engine.io-client/build/esm/transports/webtransport.js.map +1 -1
- package/dist/node_modules/mdast-util-gfm-strikethrough/from-markdown.js +1 -1
- package/dist/node_modules/mdast-util-gfm-table/from-markdown.js +1 -1
- package/dist/node_modules/micromark-extension-gfm-autolink-literal/syntax.js +1 -1
- package/dist/node_modules/micromark-extension-gfm-autolink-literal/syntax.js.map +1 -1
- package/dist/node_modules/micromark-extension-gfm-table/syntax.js +1 -1
- package/dist/node_modules/micromark-extension-gfm-table/syntax.js.map +1 -1
- package/dist/node_modules/micromark-extension-gfm-task-list-item/syntax.js +1 -1
- package/dist/node_modules/prop-types/factoryWithTypeCheckers.js +1 -1
- package/dist/node_modules/prop-types/factoryWithTypeCheckers.js.map +1 -1
- package/dist/node_modules/prop-types/index.js +1 -1
- package/dist/node_modules/prop-types/index.js.map +1 -1
- package/dist/node_modules/react-bootstrap/esm/Col.js +1 -1
- package/dist/node_modules/react-bootstrap/esm/Row.js +1 -1
- package/dist/node_modules/react-dropzone/dist/es/index.js.map +1 -1
- package/dist/node_modules/react-dropzone/dist/es/utils/index.js +1 -1
- package/dist/node_modules/react-dropzone/dist/es/utils/index.js.map +1 -1
- package/dist/node_modules/react-icons/bs/index.js +2 -0
- package/dist/node_modules/react-icons/bs/index.js.map +1 -0
- package/dist/node_modules/react-icons/io/index.js +2 -0
- package/dist/node_modules/react-icons/io/index.js.map +1 -0
- package/dist/node_modules/react-icons/lib/iconBase.js +2 -0
- package/dist/node_modules/react-icons/lib/iconBase.js.map +1 -0
- package/dist/node_modules/react-icons/lib/iconContext.js.map +1 -0
- package/dist/node_modules/react-is/cjs/react-is.development.js +3 -4
- package/dist/node_modules/react-is/cjs/react-is.development.js.map +1 -1
- package/dist/node_modules/{react-markdown/node_modules/react-is → react-is}/cjs/react-is.production.min.js +1 -1
- package/dist/node_modules/react-is/cjs/react-is.production.min.js.map +1 -0
- package/dist/node_modules/react-is/index.js +1 -1
- package/dist/node_modules/react-is/index.js.map +1 -1
- package/dist/node_modules/react-markdown/lib/ast-to-react.js +1 -1
- package/dist/node_modules/react-markdown/lib/ast-to-react.js.map +1 -1
- package/dist/node_modules/react-modal-image/es/Image.js.map +1 -1
- package/dist/node_modules/react-modal-image/es/Lightbox.js.map +1 -1
- package/dist/node_modules/react-modal-image/es/styles.js.map +1 -1
- package/dist/node_modules/react-timer-hook/dist/index.js +1 -1
- package/dist/node_modules/react-toastify/dist/react-toastify.esm.js.map +1 -1
- package/dist/node_modules/socket.io-client/build/esm/manager.js.map +1 -1
- package/dist/node_modules/socket.io-client/build/esm/socket.js +1 -1
- package/dist/node_modules/socket.io-client/build/esm/socket.js.map +1 -1
- package/dist/node_modules/socket.io-parser/build/esm/index.js +1 -1
- package/dist/node_modules/socket.io-parser/build/esm/index.js.map +1 -1
- package/dist/node_modules/style-inject/dist/style-inject.es.js.map +1 -1
- package/dist/node_modules/styled-components/dist/styled-components.browser.esm.js +1 -1
- package/dist/node_modules/styled-components/dist/styled-components.browser.esm.js.map +1 -1
- package/dist/node_modules/stylis/src/Enum.js +2 -0
- package/dist/node_modules/stylis/src/Enum.js.map +1 -0
- package/dist/node_modules/stylis/src/Middleware.js +2 -0
- package/dist/node_modules/stylis/src/Middleware.js.map +1 -0
- package/dist/node_modules/stylis/src/Parser.js +2 -0
- package/dist/node_modules/stylis/src/Parser.js.map +1 -0
- package/dist/node_modules/stylis/src/Prefixer.js +2 -0
- package/dist/node_modules/stylis/src/Prefixer.js.map +1 -0
- package/dist/node_modules/stylis/src/Serializer.js +2 -0
- package/dist/node_modules/stylis/src/Serializer.js.map +1 -0
- package/dist/node_modules/stylis/src/Tokenizer.js +2 -0
- package/dist/node_modules/stylis/src/Tokenizer.js.map +1 -0
- package/dist/node_modules/stylis/src/Utility.js +2 -0
- package/dist/node_modules/stylis/src/Utility.js.map +1 -0
- package/dist/node_modules/tslib/tslib.es6.js.map +1 -1
- package/dist/package.json/package.json +30 -19
- package/dist/services/chatService.d.ts +48 -0
- package/dist/src/TwilioChat/Chat.js +1 -1
- package/dist/src/TwilioChat/Chat.js.map +1 -1
- package/dist/src/TwilioChat/components/ChatHeader.js +2 -0
- package/dist/src/TwilioChat/components/ChatHeader.js.map +1 -0
- package/dist/src/TwilioChat/components/ChatInput.js +2 -0
- package/dist/src/TwilioChat/components/ChatInput.js.map +1 -0
- package/dist/src/TwilioChat/components/Container.js +2 -0
- package/dist/src/TwilioChat/components/Container.js.map +1 -0
- package/dist/src/TwilioChat/components/Message.js +2 -0
- package/dist/src/TwilioChat/components/Message.js.map +1 -0
- package/dist/src/TwilioChat/components/MessageList.js +2 -0
- package/dist/src/TwilioChat/components/MessageList.js.map +1 -0
- package/dist/src/TwilioChat/components/NotificationBar.js +2 -0
- package/dist/src/TwilioChat/components/NotificationBar.js.map +1 -0
- package/dist/src/TwilioChat/components/TypingIndicator.js +2 -0
- package/dist/src/TwilioChat/components/TypingIndicator.js.map +1 -0
- package/dist/src/TwilioChat/components/Widget.js +2 -0
- package/dist/src/TwilioChat/components/Widget.js.map +1 -0
- package/dist/src/TwilioChat/components/styled/ChatContent.js +2 -0
- package/dist/src/TwilioChat/components/styled/ChatContent.js.map +1 -0
- package/dist/src/TwilioChat/components/styled/ChatContentList.js +2 -0
- package/dist/src/TwilioChat/components/styled/ChatContentList.js.map +1 -0
- package/dist/src/TwilioChat/components/styled/ChatWrapper.js +2 -0
- package/dist/src/TwilioChat/components/styled/ChatWrapper.js.map +1 -0
- package/dist/src/TwilioChat/components/styled/EventPost.js +2 -0
- package/dist/src/TwilioChat/components/styled/EventPost.js.map +1 -0
- package/dist/src/TwilioChat/components/styled/Header.js +2 -0
- package/dist/src/TwilioChat/components/styled/Header.js.map +1 -0
- package/dist/src/TwilioChat/components/styled/InputForm.js +2 -0
- package/dist/src/TwilioChat/components/styled/InputForm.js.map +1 -0
- package/dist/src/TwilioChat/components/styled/MyPost.js +2 -0
- package/dist/src/TwilioChat/components/styled/MyPost.js.map +1 -0
- package/dist/src/TwilioChat/components/styled/Splitter.js +2 -0
- package/dist/src/TwilioChat/components/styled/Splitter.js.map +1 -0
- package/dist/src/TwilioChat/components/styled/WidgetButton.js +2 -0
- package/dist/src/TwilioChat/components/styled/WidgetButton.js.map +1 -0
- package/dist/src/TwilioChat/components/styled/YFPost.js +2 -0
- package/dist/src/TwilioChat/components/styled/YFPost.js.map +1 -0
- package/dist/src/TwilioChat/index.js +1 -1
- package/dist/src/TwilioChat/index.js.map +1 -1
- package/dist/src/assets/audio/notification.wav.js +2 -0
- package/dist/src/assets/audio/notification.wav.js.map +1 -0
- package/dist/src/assets/images/chat.svg.js +2 -0
- package/dist/src/assets/images/chat.svg.js.map +1 -0
- package/dist/src/assets/images/close.svg.js +2 -0
- package/dist/src/assets/images/close.svg.js.map +1 -0
- package/dist/src/assets/images/favicon.svg.js +2 -0
- package/dist/src/assets/images/favicon.svg.js.map +1 -0
- package/dist/src/assets/images/ico-close.png.js +2 -0
- package/dist/src/assets/images/ico-close.png.js.map +1 -0
- package/dist/src/assets/images/loader-transparent.gif.js +2 -0
- package/dist/src/assets/images/loader-transparent.gif.js.map +1 -0
- package/dist/src/assets/images/youfibre-upload.svg.js +2 -0
- package/dist/src/assets/images/youfibre-upload.svg.js.map +1 -0
- package/dist/src/assets/styles/app.scss.js +1 -1
- package/dist/src/context/ChatGlobalContext.js +2 -0
- package/dist/src/context/ChatGlobalContext.js.map +1 -0
- package/dist/src/index.js +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/services/chatService.js +2 -0
- package/dist/src/services/chatService.js.map +1 -0
- package/dist/src/utils/alert.js.map +1 -1
- package/dist/src/utils/chats.js +2 -0
- package/dist/src/utils/chats.js.map +1 -0
- package/dist/src/utils/helperFn.js +1 -1
- package/dist/src/utils/helperFn.js.map +1 -1
- package/dist/src/utils/validate.js +2 -0
- package/dist/src/utils/validate.js.map +1 -0
- package/dist/utils/helperFn.d.ts +18 -2
- package/dist/utils/validate.d.ts +3 -0
- package/package.json +26 -19
- package/dist/NotificationBar/index.d.ts +0 -3
- package/dist/_virtual/ConfigApi.js +0 -2
- package/dist/_virtual/ConfigApi.js.map +0 -1
- package/dist/_virtual/ConfigApi2.js +0 -2
- package/dist/_virtual/ConfigApi2.js.map +0 -1
- package/dist/_virtual/api.provider.js +0 -2
- package/dist/_virtual/api.provider.js.map +0 -1
- package/dist/_virtual/errors.js +0 -2
- package/dist/_virtual/errors.js.map +0 -1
- package/dist/_virtual/helpers.js +0 -2
- package/dist/_virtual/helpers.js.map +0 -1
- package/dist/_virtual/hoist-non-react-statics.cjs.js +0 -2
- package/dist/_virtual/hoist-non-react-statics.cjs.js.map +0 -1
- package/dist/_virtual/index12.js +0 -2
- package/dist/_virtual/index12.js.map +0 -1
- package/dist/_virtual/index13.js +0 -2
- package/dist/_virtual/index13.js.map +0 -1
- package/dist/_virtual/index14.js +0 -2
- package/dist/_virtual/index14.js.map +0 -1
- package/dist/_virtual/index15.js +0 -2
- package/dist/_virtual/index15.js.map +0 -1
- package/dist/_virtual/index16.js +0 -2
- package/dist/_virtual/index16.js.map +0 -1
- package/dist/_virtual/react-is.development2.js +0 -2
- package/dist/_virtual/react-is.development2.js.map +0 -1
- package/dist/_virtual/react-is.development3.js +0 -2
- package/dist/_virtual/react-is.development3.js.map +0 -1
- package/dist/_virtual/react-is.development4.js +0 -2
- package/dist/_virtual/react-is.development4.js.map +0 -1
- package/dist/_virtual/react-is.production.js +0 -2
- package/dist/_virtual/react-is.production.js.map +0 -1
- package/dist/_virtual/react-is.production.min2.js +0 -2
- package/dist/_virtual/react-is.production.min2.js.map +0 -1
- package/dist/_virtual/react-is.production.min3.js +0 -2
- package/dist/_virtual/react-is.production.min3.js.map +0 -1
- package/dist/_virtual/schema.types.js +0 -2
- package/dist/_virtual/schema.types.js.map +0 -1
- package/dist/api/api.d.ts +0 -17
- package/dist/assets/images/png/ico-chat.png +0 -0
- package/dist/context/GlobalContext.d.ts +0 -18
- package/dist/node_modules/@d19n/odin-sdk-generator/dist/api.provider.js +0 -2
- package/dist/node_modules/@d19n/odin-sdk-generator/dist/api.provider.js.map +0 -1
- package/dist/node_modules/@d19n/odin-sdk-generator/dist/utilities/helpers.js +0 -2
- package/dist/node_modules/@d19n/odin-sdk-generator/dist/utilities/helpers.js.map +0 -1
- package/dist/node_modules/@d19n/odin-types/dist/types/errors.js +0 -2
- package/dist/node_modules/@d19n/odin-types/dist/types/errors.js.map +0 -1
- package/dist/node_modules/@d19n/odin-types/dist/types/schema.types.js +0 -2
- package/dist/node_modules/@d19n/odin-types/dist/types/schema.types.js.map +0 -1
- package/dist/node_modules/@d19n/youfibre-odin-sdk/dist/api-sdk-v2/ConfigApi.js +0 -2
- package/dist/node_modules/@d19n/youfibre-odin-sdk/dist/api-sdk-v2/ConfigApi.js.map +0 -1
- package/dist/node_modules/@emotion/stylis/dist/stylis.browser.esm.js +0 -2
- package/dist/node_modules/@emotion/stylis/dist/stylis.browser.esm.js.map +0 -1
- package/dist/node_modules/@emotion/unitless/dist/unitless.browser.esm.js +0 -2
- package/dist/node_modules/@emotion/unitless/dist/unitless.browser.esm.js.map +0 -1
- package/dist/node_modules/camel-case/dist.es2015/index.js +0 -2
- package/dist/node_modules/camel-case/dist.es2015/index.js.map +0 -1
- package/dist/node_modules/capital-case/dist.es2015/index.js +0 -2
- package/dist/node_modules/capital-case/dist.es2015/index.js.map +0 -1
- package/dist/node_modules/change-case/dist.es2015/index.js +0 -2
- package/dist/node_modules/change-case/dist.es2015/index.js.map +0 -1
- package/dist/node_modules/constant-case/dist.es2015/index.js +0 -2
- package/dist/node_modules/constant-case/dist.es2015/index.js.map +0 -1
- package/dist/node_modules/dot-case/dist.es2015/index.js +0 -2
- package/dist/node_modules/dot-case/dist.es2015/index.js.map +0 -1
- package/dist/node_modules/header-case/dist.es2015/index.js +0 -2
- package/dist/node_modules/header-case/dist.es2015/index.js.map +0 -1
- package/dist/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js +0 -2
- package/dist/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js.map +0 -1
- package/dist/node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.development.js +0 -10
- package/dist/node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.development.js.map +0 -1
- package/dist/node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js +0 -10
- package/dist/node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js.map +0 -1
- package/dist/node_modules/hoist-non-react-statics/node_modules/react-is/index.js +0 -2
- package/dist/node_modules/hoist-non-react-statics/node_modules/react-is/index.js.map +0 -1
- package/dist/node_modules/lower-case/dist.es2015/index.js +0 -2
- package/dist/node_modules/lower-case/dist.es2015/index.js.map +0 -1
- package/dist/node_modules/no-case/dist.es2015/index.js +0 -2
- package/dist/node_modules/no-case/dist.es2015/index.js.map +0 -1
- package/dist/node_modules/param-case/dist.es2015/index.js +0 -2
- package/dist/node_modules/param-case/dist.es2015/index.js.map +0 -1
- package/dist/node_modules/pascal-case/dist.es2015/index.js +0 -2
- package/dist/node_modules/pascal-case/dist.es2015/index.js.map +0 -1
- package/dist/node_modules/path-case/dist.es2015/index.js +0 -2
- package/dist/node_modules/path-case/dist.es2015/index.js.map +0 -1
- package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js +0 -10
- package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js.map +0 -1
- package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js +0 -10
- package/dist/node_modules/prop-types/node_modules/react-is/cjs/react-is.production.min.js.map +0 -1
- package/dist/node_modules/prop-types/node_modules/react-is/index.js +0 -2
- package/dist/node_modules/prop-types/node_modules/react-is/index.js.map +0 -1
- package/dist/node_modules/react-icons/bs/index.esm.js +0 -2
- package/dist/node_modules/react-icons/bs/index.esm.js.map +0 -1
- package/dist/node_modules/react-icons/lib/esm/iconBase.js +0 -2
- package/dist/node_modules/react-icons/lib/esm/iconBase.js.map +0 -1
- package/dist/node_modules/react-icons/lib/esm/iconContext.js.map +0 -1
- package/dist/node_modules/react-is/cjs/react-is.production.js +0 -11
- package/dist/node_modules/react-is/cjs/react-is.production.js.map +0 -1
- package/dist/node_modules/react-markdown/node_modules/react-is/cjs/react-is.development.js +0 -10
- package/dist/node_modules/react-markdown/node_modules/react-is/cjs/react-is.development.js.map +0 -1
- package/dist/node_modules/react-markdown/node_modules/react-is/cjs/react-is.production.min.js.map +0 -1
- package/dist/node_modules/react-markdown/node_modules/react-is/index.js +0 -2
- package/dist/node_modules/react-markdown/node_modules/react-is/index.js.map +0 -1
- package/dist/node_modules/sentence-case/dist.es2015/index.js +0 -2
- package/dist/node_modules/sentence-case/dist.es2015/index.js.map +0 -1
- package/dist/node_modules/snake-case/dist.es2015/index.js +0 -2
- package/dist/node_modules/snake-case/dist.es2015/index.js.map +0 -1
- package/dist/node_modules/upper-case/dist.es2015/index.js +0 -2
- package/dist/node_modules/upper-case/dist.es2015/index.js.map +0 -1
- package/dist/node_modules/upper-case-first/dist.es2015/index.js +0 -2
- package/dist/node_modules/upper-case-first/dist.es2015/index.js.map +0 -1
- package/dist/src/NotificationBar/index.js +0 -2
- package/dist/src/NotificationBar/index.js.map +0 -1
- package/dist/src/api/api.js +0 -2
- package/dist/src/api/api.js.map +0 -1
- package/dist/src/context/GlobalContext.js +0 -2
- package/dist/src/context/GlobalContext.js.map +0 -1
- /package/dist/assets/images/{svg/chat.svg → chat.svg} +0 -0
- /package/dist/assets/images/{svg/close.svg → close.svg} +0 -0
- /package/dist/assets/images/{svg/favicon.svg → favicon.svg} +0 -0
- /package/dist/assets/images/{png/ico-close.png → ico-close.png} +0 -0
- /package/dist/assets/images/{gif/loader-transparent.gif → loader-transparent.gif} +0 -0
- /package/dist/node_modules/react-icons/lib/{esm/iconContext.js → iconContext.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react-toastify.esm.js","sources":["../../../../node_modules/react-toastify/dist/react-toastify.esm.js"],"sourcesContent":["import React__default, { isValidElement, useRef, useLayoutEffect, useEffect, useReducer, cloneElement, useState, createElement } from 'react';\nimport cx from 'clsx';\nimport { render } from 'react-dom';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction isNum(v) {\n return typeof v === 'number' && !isNaN(v);\n}\nfunction isBool(v) {\n return typeof v === 'boolean';\n}\nfunction isStr(v) {\n return typeof v === 'string';\n}\nfunction isFn(v) {\n return typeof v === 'function';\n}\nfunction parseClassName(v) {\n return isStr(v) || isFn(v) ? v : null;\n}\nfunction isToastIdValid(toastId) {\n return toastId === 0 || toastId;\n}\nfunction getAutoCloseDelay(toastAutoClose, containerAutoClose) {\n return toastAutoClose === false || isNum(toastAutoClose) && toastAutoClose > 0 ? toastAutoClose : containerAutoClose;\n}\nvar canUseDom = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nfunction canBeRendered(content) {\n return isValidElement(content) || isStr(content) || isFn(content) || isNum(content);\n}\n\nvar POSITION = {\n TOP_LEFT: 'top-left',\n TOP_RIGHT: 'top-right',\n TOP_CENTER: 'top-center',\n BOTTOM_LEFT: 'bottom-left',\n BOTTOM_RIGHT: 'bottom-right',\n BOTTOM_CENTER: 'bottom-center'\n};\nvar TYPE = {\n INFO: 'info',\n SUCCESS: 'success',\n WARNING: 'warning',\n ERROR: 'error',\n DEFAULT: 'default',\n DARK: 'dark'\n};\n\n/**\r\n * Used to collapse toast after exit animation\r\n */\nfunction collapseToast(node, done, duration\n/* COLLAPSE_DURATION */\n) {\n if (duration === void 0) {\n duration = 300;\n }\n\n var height = node.scrollHeight;\n var style = node.style;\n requestAnimationFrame(function () {\n style.minHeight = 'initial';\n style.height = height + 'px';\n style.transition = \"all \" + duration + \"ms\";\n requestAnimationFrame(function () {\n style.height = '0';\n style.padding = '0';\n style.margin = '0';\n setTimeout(done, duration);\n });\n });\n}\n\n/**\r\n * Css animation that just work.\r\n * You could use animate.css for instance\r\n *\r\n *\r\n * ```\r\n * cssTransition({\r\n * enter: \"animate__animated animate__bounceIn\",\r\n * exit: \"animate__animated animate__bounceOut\"\r\n * })\r\n * ```\r\n *\r\n */\n\nfunction cssTransition(_ref) {\n var enter = _ref.enter,\n exit = _ref.exit,\n _ref$appendPosition = _ref.appendPosition,\n appendPosition = _ref$appendPosition === void 0 ? false : _ref$appendPosition,\n _ref$collapse = _ref.collapse,\n collapse = _ref$collapse === void 0 ? true : _ref$collapse,\n _ref$collapseDuration = _ref.collapseDuration,\n collapseDuration = _ref$collapseDuration === void 0 ? 300 : _ref$collapseDuration;\n return function ToastTransition(_ref2) {\n var children = _ref2.children,\n position = _ref2.position,\n preventExitTransition = _ref2.preventExitTransition,\n done = _ref2.done,\n nodeRef = _ref2.nodeRef,\n isIn = _ref2.isIn;\n var enterClassName = appendPosition ? enter + \"--\" + position : enter;\n var exitClassName = appendPosition ? exit + \"--\" + position : exit;\n var baseClassName = useRef();\n var animationStep = useRef(0\n /* Enter */\n );\n useLayoutEffect(function () {\n onEnter();\n }, []);\n useEffect(function () {\n if (!isIn) preventExitTransition ? onExited() : onExit();\n }, [isIn]);\n\n function onEnter() {\n var node = nodeRef.current;\n baseClassName.current = node.className;\n node.className += \" \" + enterClassName;\n node.addEventListener('animationend', onEntered);\n }\n\n function onEntered() {\n var node = nodeRef.current;\n node.removeEventListener('animationend', onEntered);\n\n if (animationStep.current === 0\n /* Enter */\n ) {\n node.className = baseClassName.current;\n }\n }\n\n function onExit() {\n animationStep.current = 1\n /* Exit */\n ;\n var node = nodeRef.current;\n node.className += \" \" + exitClassName;\n node.addEventListener('animationend', onExited);\n }\n\n function onExited() {\n var node = nodeRef.current;\n node.removeEventListener('animationend', onExited);\n collapse ? collapseToast(node, done, collapseDuration) : done();\n }\n\n return React__default.createElement(React__default.Fragment, null, children);\n };\n}\n\nvar eventManager = {\n list: /*#__PURE__*/new Map(),\n emitQueue: /*#__PURE__*/new Map(),\n on: function on(event, callback) {\n this.list.has(event) || this.list.set(event, []);\n this.list.get(event).push(callback);\n return this;\n },\n off: function off(event, callback) {\n if (callback) {\n var cb = this.list.get(event).filter(function (cb) {\n return cb !== callback;\n });\n this.list.set(event, cb);\n return this;\n }\n\n this.list[\"delete\"](event);\n return this;\n },\n cancelEmit: function cancelEmit(event) {\n var timers = this.emitQueue.get(event);\n\n if (timers) {\n timers.forEach(clearTimeout);\n this.emitQueue[\"delete\"](event);\n }\n\n return this;\n },\n\n /**\r\n * Enqueue the event at the end of the call stack\r\n * Doing so let the user call toast as follow:\r\n * toast('1')\r\n * toast('2')\r\n * toast('3')\r\n * Without setTimemout the code above will not work\r\n */\n emit: function emit(event) {\n var _this = this;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n this.list.has(event) && this.list.get(event).forEach(function (callback) {\n var timer = setTimeout(function () {\n // @ts-ignore\n callback.apply(void 0, args);\n }, 0);\n _this.emitQueue.has(event) || _this.emitQueue.set(event, []);\n\n _this.emitQueue.get(event).push(timer);\n });\n }\n};\n\n/**\r\n * `useKeeper` is a helper around `useRef`.\r\n *\r\n * You don't need to access the `.current`property to get the value\r\n * If refresh is set to true. The ref will be updated every render\r\n */\n\nfunction useKeeper(arg, refresh) {\n if (refresh === void 0) {\n refresh = false;\n }\n\n var ref = useRef(arg);\n useEffect(function () {\n if (refresh) ref.current = arg;\n });\n return ref.current;\n}\n\nfunction reducer(state, action) {\n switch (action.type) {\n case 0\n /* ADD */\n :\n return [].concat(state, [action.toastId]).filter(function (id) {\n return id !== action.staleId;\n });\n\n case 1\n /* REMOVE */\n :\n return isToastIdValid(action.toastId) ? state.filter(function (id) {\n return id !== action.toastId;\n }) : [];\n }\n}\n\nfunction useToastContainer(props) {\n var _useReducer = useReducer(function (x) {\n return x + 1;\n }, 0),\n forceUpdate = _useReducer[1];\n\n var _useReducer2 = useReducer(reducer, []),\n toast = _useReducer2[0],\n dispatch = _useReducer2[1];\n\n var containerRef = useRef(null);\n var toastCount = useKeeper(0);\n var queue = useKeeper([]);\n var collection = useKeeper({});\n var instance = useKeeper({\n toastKey: 1,\n displayedToast: 0,\n props: props,\n containerId: null,\n isToastActive: isToastActive,\n getToast: function getToast(id) {\n return collection[id] || null;\n }\n });\n useEffect(function () {\n instance.containerId = props.containerId;\n eventManager.cancelEmit(3\n /* WillUnmount */\n ).on(0\n /* Show */\n , buildToast).on(1\n /* Clear */\n , function (toastId) {\n return containerRef.current && removeToast(toastId);\n }).on(5\n /* ClearWaitingQueue */\n , clearWaitingQueue).emit(2\n /* DidMount */\n , instance);\n return function () {\n return eventManager.emit(3\n /* WillUnmount */\n , instance);\n };\n }, []);\n useEffect(function () {\n instance.isToastActive = isToastActive;\n instance.displayedToast = toast.length;\n eventManager.emit(4\n /* Change */\n , toast.length, props.containerId);\n }, [toast]);\n useEffect(function () {\n instance.props = props;\n });\n\n function isToastActive(id) {\n return toast.indexOf(id) !== -1;\n }\n\n function clearWaitingQueue(_ref) {\n var containerId = _ref.containerId;\n var limit = instance.props.limit;\n\n if (limit && (!containerId || instance.containerId === containerId)) {\n toastCount -= queue.length;\n queue = [];\n }\n }\n\n function removeToast(toastId) {\n dispatch({\n type: 1\n /* REMOVE */\n ,\n toastId: toastId\n });\n }\n\n function dequeueToast() {\n var _queue$shift = queue.shift(),\n toastContent = _queue$shift.toastContent,\n toastProps = _queue$shift.toastProps,\n staleId = _queue$shift.staleId;\n\n appendToast(toastContent, toastProps, staleId);\n }\n /**\r\n * check if a container is attached to the dom\r\n * check for multi-container, build only if associated\r\n * check for duplicate toastId if no update\r\n */\n\n\n function isNotValid(_ref2) {\n var containerId = _ref2.containerId,\n toastId = _ref2.toastId,\n updateId = _ref2.updateId;\n return !containerRef.current || instance.props.enableMultiContainer && containerId !== instance.props.containerId || collection[toastId] && updateId == null ? true : false;\n } // this function and all the function called inside needs to rely on ref(`useKeeper`)\n\n\n function buildToast(content, _ref3) {\n var delay = _ref3.delay,\n staleId = _ref3.staleId,\n options = _objectWithoutPropertiesLoose(_ref3, [\"delay\", \"staleId\"]);\n\n if (!canBeRendered(content) || isNotValid(options)) return;\n var toastId = options.toastId,\n updateId = options.updateId;\n var props = instance.props;\n\n var closeToast = function closeToast() {\n return removeToast(toastId);\n };\n\n var isNotAnUpdate = options.updateId == null;\n if (isNotAnUpdate) toastCount++;\n var toastProps = {\n toastId: toastId,\n updateId: updateId,\n isIn: false,\n key: options.key || instance.toastKey++,\n type: options.type,\n closeToast: closeToast,\n closeButton: options.closeButton,\n rtl: props.rtl,\n position: options.position || props.position,\n transition: options.transition || props.transition,\n className: parseClassName(options.className || props.toastClassName),\n bodyClassName: parseClassName(options.bodyClassName || props.bodyClassName),\n style: options.style || props.toastStyle,\n bodyStyle: options.bodyStyle || props.bodyStyle,\n onClick: options.onClick || props.onClick,\n pauseOnHover: isBool(options.pauseOnHover) ? options.pauseOnHover : props.pauseOnHover,\n pauseOnFocusLoss: isBool(options.pauseOnFocusLoss) ? options.pauseOnFocusLoss : props.pauseOnFocusLoss,\n draggable: isBool(options.draggable) ? options.draggable : props.draggable,\n draggablePercent: isNum(options.draggablePercent) ? options.draggablePercent : props.draggablePercent,\n draggableDirection: options.draggableDirection || props.draggableDirection,\n closeOnClick: isBool(options.closeOnClick) ? options.closeOnClick : props.closeOnClick,\n progressClassName: parseClassName(options.progressClassName || props.progressClassName),\n progressStyle: options.progressStyle || props.progressStyle,\n autoClose: getAutoCloseDelay(options.autoClose, props.autoClose),\n hideProgressBar: isBool(options.hideProgressBar) ? options.hideProgressBar : props.hideProgressBar,\n progress: options.progress,\n role: isStr(options.role) ? options.role : props.role,\n deleteToast: function deleteToast() {\n removeFromCollection(toastId);\n }\n };\n if (isFn(options.onOpen)) toastProps.onOpen = options.onOpen;\n if (isFn(options.onClose)) toastProps.onClose = options.onClose; // tweak for vertical dragging\n\n if (toastProps.draggableDirection === \"y\"\n /* Y */\n && toastProps.draggablePercent === 80\n /* DRAGGABLE_PERCENT */\n ) {\n toastProps.draggablePercent *= 1.5;\n }\n\n var closeButton = props.closeButton;\n\n if (options.closeButton === false || canBeRendered(options.closeButton)) {\n closeButton = options.closeButton;\n } else if (options.closeButton === true) {\n closeButton = canBeRendered(props.closeButton) ? props.closeButton : true;\n }\n\n toastProps.closeButton = closeButton;\n var toastContent = content;\n\n if (isValidElement(content) && !isStr(content.type)) {\n toastContent = cloneElement(content, {\n closeToast: closeToast,\n toastProps: toastProps\n });\n } else if (isFn(content)) {\n toastContent = content({\n closeToast: closeToast,\n toastProps: toastProps\n });\n } // not handling limit + delay by design. Waiting for user feedback first\n\n\n if (props.limit && props.limit > 0 && toastCount > props.limit && isNotAnUpdate) {\n queue.push({\n toastContent: toastContent,\n toastProps: toastProps,\n staleId: staleId\n });\n } else if (isNum(delay) && delay > 0) {\n setTimeout(function () {\n appendToast(toastContent, toastProps, staleId);\n }, delay);\n } else {\n appendToast(toastContent, toastProps, staleId);\n }\n }\n\n function appendToast(content, toastProps, staleId) {\n var toastId = toastProps.toastId;\n if (staleId) delete collection[staleId];\n collection[toastId] = {\n content: content,\n props: toastProps\n };\n dispatch({\n type: 0\n /* ADD */\n ,\n toastId: toastId,\n staleId: staleId\n });\n }\n\n function removeFromCollection(toastId) {\n delete collection[toastId];\n var queueLen = queue.length;\n toastCount = isToastIdValid(toastId) ? toastCount - 1 : toastCount - instance.displayedToast;\n if (toastCount < 0) toastCount = 0;\n\n if (queueLen > 0) {\n var freeSlot = isToastIdValid(toastId) ? 1 : instance.props.limit;\n\n if (queueLen === 1 || freeSlot === 1) {\n instance.displayedToast++;\n dequeueToast();\n } else {\n var toDequeue = freeSlot > queueLen ? queueLen : freeSlot;\n instance.displayedToast = toDequeue;\n\n for (var i = 0; i < toDequeue; i++) {\n dequeueToast();\n }\n }\n } else {\n forceUpdate();\n }\n }\n\n function getToastToRender(cb) {\n var toastToRender = {};\n var toastList = props.newestOnTop ? Object.keys(collection).reverse() : Object.keys(collection);\n\n for (var i = 0; i < toastList.length; i++) {\n var _toast = collection[toastList[i]];\n var position = _toast.props.position;\n toastToRender[position] || (toastToRender[position] = []);\n toastToRender[position].push(_toast);\n }\n\n return Object.keys(toastToRender).map(function (p) {\n return cb(p, toastToRender[p]);\n });\n }\n\n return {\n getToastToRender: getToastToRender,\n collection: collection,\n containerRef: containerRef,\n isToastActive: isToastActive\n };\n}\n\nfunction getX(e) {\n return e.targetTouches && e.targetTouches.length >= 1 ? e.targetTouches[0].clientX : e.clientX;\n}\n\nfunction getY(e) {\n return e.targetTouches && e.targetTouches.length >= 1 ? e.targetTouches[0].clientY : e.clientY;\n}\n\nfunction useToast(props) {\n var _useState = useState(true),\n isRunning = _useState[0],\n setIsRunning = _useState[1];\n\n var _useState2 = useState(false),\n preventExitTransition = _useState2[0],\n setPreventExitTransition = _useState2[1];\n\n var toastRef = useRef(null);\n var drag = useKeeper({\n start: 0,\n x: 0,\n y: 0,\n delta: 0,\n removalDistance: 0,\n canCloseOnClick: true,\n canDrag: false,\n boundingRect: null\n });\n var syncProps = useKeeper(props, true);\n var autoClose = props.autoClose,\n pauseOnHover = props.pauseOnHover,\n closeToast = props.closeToast,\n onClick = props.onClick,\n closeOnClick = props.closeOnClick;\n useEffect(function () {\n if (isFn(props.onOpen)) props.onOpen(isValidElement(props.children) && props.children.props);\n return function () {\n if (isFn(syncProps.onClose)) syncProps.onClose(isValidElement(syncProps.children) && syncProps.children.props);\n };\n }, []);\n useEffect(function () {\n props.draggable && bindDragEvents();\n return function () {\n props.draggable && unbindDragEvents();\n };\n }, [props.draggable]);\n useEffect(function () {\n props.pauseOnFocusLoss && bindFocusEvents();\n return function () {\n props.pauseOnFocusLoss && unbindFocusEvents();\n };\n }, [props.pauseOnFocusLoss]);\n\n function onDragStart(e) {\n if (props.draggable) {\n var toast = toastRef.current;\n drag.canCloseOnClick = true;\n drag.canDrag = true;\n drag.boundingRect = toast.getBoundingClientRect();\n toast.style.transition = '';\n drag.x = getX(e.nativeEvent);\n drag.y = getY(e.nativeEvent);\n\n if (props.draggableDirection === \"x\"\n /* X */\n ) {\n drag.start = drag.x;\n drag.removalDistance = toast.offsetWidth * (props.draggablePercent / 100);\n } else {\n drag.start = drag.y;\n drag.removalDistance = toast.offsetHeight * (props.draggablePercent / 100);\n }\n }\n }\n\n function onDragTransitionEnd() {\n if (drag.boundingRect) {\n var _drag$boundingRect = drag.boundingRect,\n top = _drag$boundingRect.top,\n bottom = _drag$boundingRect.bottom,\n left = _drag$boundingRect.left,\n right = _drag$boundingRect.right;\n\n if (props.pauseOnHover && drag.x >= left && drag.x <= right && drag.y >= top && drag.y <= bottom) {\n pauseToast();\n } else {\n playToast();\n }\n }\n }\n\n function playToast() {\n setIsRunning(true);\n }\n\n function pauseToast() {\n setIsRunning(false);\n }\n\n function bindFocusEvents() {\n if (!document.hasFocus()) pauseToast();\n window.addEventListener('focus', playToast);\n window.addEventListener('blur', pauseToast);\n }\n\n function unbindFocusEvents() {\n window.removeEventListener('focus', playToast);\n window.removeEventListener('blur', pauseToast);\n }\n\n function bindDragEvents() {\n document.addEventListener('mousemove', onDragMove);\n document.addEventListener('mouseup', onDragEnd);\n document.addEventListener('touchmove', onDragMove);\n document.addEventListener('touchend', onDragEnd);\n }\n\n function unbindDragEvents() {\n document.removeEventListener('mousemove', onDragMove);\n document.removeEventListener('mouseup', onDragEnd);\n document.removeEventListener('touchmove', onDragMove);\n document.removeEventListener('touchend', onDragEnd);\n }\n\n function onDragMove(e) {\n if (drag.canDrag) {\n e.preventDefault();\n var toast = toastRef.current;\n if (isRunning) pauseToast();\n drag.x = getX(e);\n drag.y = getY(e);\n\n if (props.draggableDirection === \"x\"\n /* X */\n ) {\n drag.delta = drag.x - drag.start;\n } else {\n drag.delta = drag.y - drag.start;\n } // prevent false positif during a toast click\n\n\n if (drag.start !== drag.x) drag.canCloseOnClick = false;\n toast.style.transform = \"translate\" + props.draggableDirection + \"(\" + drag.delta + \"px)\";\n toast.style.opacity = \"\" + (1 - Math.abs(drag.delta / drag.removalDistance));\n }\n }\n\n function onDragEnd() {\n var toast = toastRef.current;\n\n if (drag.canDrag) {\n drag.canDrag = false;\n\n if (Math.abs(drag.delta) > drag.removalDistance) {\n setPreventExitTransition(true);\n props.closeToast();\n return;\n }\n\n toast.style.transition = 'transform 0.2s, opacity 0.2s';\n toast.style.transform = \"translate\" + props.draggableDirection + \"(0)\";\n toast.style.opacity = '1';\n }\n }\n\n var eventHandlers = {\n onMouseDown: onDragStart,\n onTouchStart: onDragStart,\n onMouseUp: onDragTransitionEnd,\n onTouchEnd: onDragTransitionEnd\n };\n\n if (autoClose && pauseOnHover) {\n eventHandlers.onMouseEnter = pauseToast;\n eventHandlers.onMouseLeave = playToast;\n } // prevent toast from closing when user drags the toast\n\n\n if (closeOnClick) {\n eventHandlers.onClick = function (e) {\n onClick && onClick(e);\n drag.canCloseOnClick && closeToast();\n };\n }\n\n return {\n playToast: playToast,\n pauseToast: pauseToast,\n isRunning: isRunning,\n preventExitTransition: preventExitTransition,\n toastRef: toastRef,\n eventHandlers: eventHandlers\n };\n}\n\nfunction CloseButton(_ref) {\n var closeToast = _ref.closeToast,\n type = _ref.type,\n _ref$ariaLabel = _ref.ariaLabel,\n ariaLabel = _ref$ariaLabel === void 0 ? 'close' : _ref$ariaLabel;\n return createElement(\"button\", {\n className: \"Toastify\"\n /* CSS_NAMESPACE */\n + \"__close-button \" + \"Toastify\"\n /* CSS_NAMESPACE */\n + \"__close-button--\" + type,\n type: \"button\",\n onClick: function onClick(e) {\n e.stopPropagation();\n closeToast(e);\n },\n \"aria-label\": ariaLabel\n }, createElement(\"svg\", {\n \"aria-hidden\": \"true\",\n viewBox: \"0 0 14 16\"\n }, createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M7.71 8.23l3.75 3.75-1.48 1.48-3.75-3.75-3.75 3.75L1 11.98l3.75-3.75L1 4.48 2.48 3l3.75 3.75L9.98 3l1.48 1.48-3.75 3.75z\"\n })));\n}\n\nfunction ProgressBar(_ref) {\n var _cx, _animationEvent;\n\n var delay = _ref.delay,\n isRunning = _ref.isRunning,\n closeToast = _ref.closeToast,\n type = _ref.type,\n hide = _ref.hide,\n className = _ref.className,\n userStyle = _ref.style,\n controlledProgress = _ref.controlledProgress,\n progress = _ref.progress,\n rtl = _ref.rtl,\n isIn = _ref.isIn;\n\n var style = _extends({}, userStyle, {\n animationDuration: delay + \"ms\",\n animationPlayState: isRunning ? 'running' : 'paused',\n opacity: hide ? 0 : 1\n });\n\n if (controlledProgress) style.transform = \"scaleX(\" + progress + \")\";\n var defaultClassName = cx(\"Toastify\"\n /* CSS_NAMESPACE */\n + \"__progress-bar\", controlledProgress ? \"Toastify\"\n /* CSS_NAMESPACE */\n + \"__progress-bar--controlled\" : \"Toastify\"\n /* CSS_NAMESPACE */\n + \"__progress-bar--animated\", \"Toastify\"\n /* CSS_NAMESPACE */\n + \"__progress-bar--\" + type, (_cx = {}, _cx[\"Toastify\"\n /* CSS_NAMESPACE */\n + \"__progress-bar--rtl\"] = rtl, _cx));\n var classNames = isFn(className) ? className({\n rtl: rtl,\n type: type,\n defaultClassName: defaultClassName\n }) : cx(defaultClassName, className); // 🧐 controlledProgress is derived from progress\n // so if controlledProgress is set\n // it means that this is also the case for progress\n\n var animationEvent = (_animationEvent = {}, _animationEvent[controlledProgress && progress >= 1 ? 'onTransitionEnd' : 'onAnimationEnd'] = controlledProgress && progress < 1 ? null : function () {\n isIn && closeToast();\n }, _animationEvent); // TODO: add aria-valuenow, aria-valuemax, aria-valuemin\n\n return createElement(\"div\", Object.assign({\n role: \"progressbar\",\n \"aria-hidden\": hide ? 'true' : 'false',\n \"aria-label\": \"notification timer\",\n className: classNames,\n style: style\n }, animationEvent));\n}\nProgressBar.defaultProps = {\n type: TYPE.DEFAULT,\n hide: false\n};\n\nvar Toast = function Toast(props) {\n var _cx;\n\n var _useToast = useToast(props),\n isRunning = _useToast.isRunning,\n preventExitTransition = _useToast.preventExitTransition,\n toastRef = _useToast.toastRef,\n eventHandlers = _useToast.eventHandlers;\n\n var closeButton = props.closeButton,\n children = props.children,\n autoClose = props.autoClose,\n onClick = props.onClick,\n type = props.type,\n hideProgressBar = props.hideProgressBar,\n closeToast = props.closeToast,\n Transition = props.transition,\n position = props.position,\n className = props.className,\n style = props.style,\n bodyClassName = props.bodyClassName,\n bodyStyle = props.bodyStyle,\n progressClassName = props.progressClassName,\n progressStyle = props.progressStyle,\n updateId = props.updateId,\n role = props.role,\n progress = props.progress,\n rtl = props.rtl,\n toastId = props.toastId,\n deleteToast = props.deleteToast,\n isIn = props.isIn;\n var defaultClassName = cx(\"Toastify\"\n /* CSS_NAMESPACE */\n + \"__toast\", \"Toastify\"\n /* CSS_NAMESPACE */\n + \"__toast--\" + type, (_cx = {}, _cx[\"Toastify\"\n /* CSS_NAMESPACE */\n + \"__toast--rtl\"] = rtl, _cx));\n var cssClasses = isFn(className) ? className({\n rtl: rtl,\n position: position,\n type: type,\n defaultClassName: defaultClassName\n }) : cx(defaultClassName, className);\n var isProgressControlled = !!progress;\n\n function renderCloseButton(closeButton) {\n if (!closeButton) return;\n var props = {\n closeToast: closeToast,\n type: type\n };\n if (isFn(closeButton)) return closeButton(props);\n if (isValidElement(closeButton)) return cloneElement(closeButton, props);\n }\n\n return createElement(Transition, {\n isIn: isIn,\n done: deleteToast,\n position: position,\n preventExitTransition: preventExitTransition,\n nodeRef: toastRef\n }, createElement(\"div\", Object.assign({\n id: toastId,\n onClick: onClick,\n className: cssClasses\n }, eventHandlers, {\n style: style,\n ref: toastRef\n }), createElement(\"div\", Object.assign({}, isIn && {\n role: role\n }, {\n className: isFn(bodyClassName) ? bodyClassName({\n type: type\n }) : cx(\"Toastify\"\n /* CSS_NAMESPACE */\n + \"__toast-body\", bodyClassName),\n style: bodyStyle\n }), children), renderCloseButton(closeButton), (autoClose || isProgressControlled) && createElement(ProgressBar, Object.assign({}, updateId && !isProgressControlled ? {\n key: \"pb-\" + updateId\n } : {}, {\n rtl: rtl,\n delay: autoClose,\n isRunning: isRunning,\n isIn: isIn,\n closeToast: closeToast,\n hide: hideProgressBar,\n type: type,\n style: progressStyle,\n className: progressClassName,\n controlledProgress: isProgressControlled,\n progress: progress\n }))));\n};\n\nvar Bounce = /*#__PURE__*/cssTransition({\n enter: \"Toastify\"\n /* CSS_NAMESPACE */\n + \"--animate \" + \"Toastify\"\n /* CSS_NAMESPACE */\n + \"__bounce-enter\",\n exit: \"Toastify\"\n /* CSS_NAMESPACE */\n + \"--animate \" + \"Toastify\"\n /* CSS_NAMESPACE */\n + \"__bounce-exit\",\n appendPosition: true\n});\nvar Slide = /*#__PURE__*/cssTransition({\n enter: \"Toastify\"\n /* CSS_NAMESPACE */\n + \"--animate \" + \"Toastify\"\n /* CSS_NAMESPACE */\n + \"__slide-enter\",\n exit: \"Toastify\"\n /* CSS_NAMESPACE */\n + \"--animate \" + \"Toastify\"\n /* CSS_NAMESPACE */\n + \"__slide-exit\",\n appendPosition: true\n});\nvar Zoom = /*#__PURE__*/cssTransition({\n enter: \"Toastify\"\n /* CSS_NAMESPACE */\n + \"--animate \" + \"Toastify\"\n /* CSS_NAMESPACE */\n + \"__zoom-enter\",\n exit: \"Toastify\"\n /* CSS_NAMESPACE */\n + \"--animate \" + \"Toastify\"\n /* CSS_NAMESPACE */\n + \"__zoom-exit\"\n});\nvar Flip = /*#__PURE__*/cssTransition({\n enter: \"Toastify\"\n /* CSS_NAMESPACE */\n + \"--animate \" + \"Toastify\"\n /* CSS_NAMESPACE */\n + \"__flip-enter\",\n exit: \"Toastify\"\n /* CSS_NAMESPACE */\n + \"--animate \" + \"Toastify\"\n /* CSS_NAMESPACE */\n + \"__flip-exit\"\n});\n\nvar ToastContainer = function ToastContainer(props) {\n var _useToastContainer = useToastContainer(props),\n getToastToRender = _useToastContainer.getToastToRender,\n containerRef = _useToastContainer.containerRef,\n isToastActive = _useToastContainer.isToastActive;\n\n var className = props.className,\n style = props.style,\n rtl = props.rtl,\n containerId = props.containerId;\n\n function getClassName(position) {\n var _cx;\n\n var defaultClassName = cx(\"Toastify\"\n /* CSS_NAMESPACE */\n + \"__toast-container\", \"Toastify\"\n /* CSS_NAMESPACE */\n + \"__toast-container--\" + position, (_cx = {}, _cx[\"Toastify\"\n /* CSS_NAMESPACE */\n + \"__toast-container--rtl\"] = rtl, _cx));\n return isFn(className) ? className({\n position: position,\n rtl: rtl,\n defaultClassName: defaultClassName\n }) : cx(defaultClassName, parseClassName(className));\n }\n\n return createElement(\"div\", {\n ref: containerRef,\n className: \"Toastify\"\n /* CSS_NAMESPACE */\n ,\n id: containerId\n }, getToastToRender(function (position, toastList) {\n var containerStyle = toastList.length === 0 ? _extends({}, style, {\n pointerEvents: 'none'\n }) : _extends({}, style);\n return createElement(\"div\", {\n className: getClassName(position),\n style: containerStyle,\n key: \"container-\" + position\n }, toastList.map(function (_ref) {\n var content = _ref.content,\n toastProps = _ref.props;\n return createElement(Toast, Object.assign({}, toastProps, {\n isIn: isToastActive(toastProps.toastId),\n key: \"toast-\" + toastProps.key,\n closeButton: toastProps.closeButton === true ? CloseButton : toastProps.closeButton\n }), content);\n }));\n }));\n};\nToastContainer.defaultProps = {\n position: POSITION.TOP_RIGHT,\n transition: Bounce,\n rtl: false,\n autoClose: 5000,\n hideProgressBar: false,\n closeButton: CloseButton,\n pauseOnHover: true,\n pauseOnFocusLoss: true,\n closeOnClick: true,\n newestOnTop: false,\n draggable: true,\n draggablePercent: 80\n /* DRAGGABLE_PERCENT */\n ,\n draggableDirection: \"x\"\n /* X */\n ,\n role: 'alert'\n};\n\nvar containers = /*#__PURE__*/new Map();\nvar latestInstance;\nvar containerDomNode;\nvar containerConfig;\nvar queue = [];\nvar lazy = false;\n/**\r\n * Check whether any container is currently mounted in the DOM\r\n */\n\nfunction isAnyContainerMounted() {\n return containers.size > 0;\n}\n/**\r\n * Get the toast by id, given it's in the DOM, otherwise returns null\r\n */\n\n\nfunction getToast(toastId, _ref) {\n var containerId = _ref.containerId;\n var container = containers.get(containerId || latestInstance);\n if (!container) return null;\n return container.getToast(toastId);\n}\n/**\r\n * Generate a random toastId\r\n */\n\n\nfunction generateToastId() {\n return Math.random().toString(36).substr(2, 9);\n}\n/**\r\n * Generate a toastId or use the one provided\r\n */\n\n\nfunction getToastId(options) {\n if (options && (isStr(options.toastId) || isNum(options.toastId))) {\n return options.toastId;\n }\n\n return generateToastId();\n}\n/**\r\n * If the container is not mounted, the toast is enqueued and\r\n * the container lazy mounted\r\n */\n\n\nfunction dispatchToast(content, options) {\n if (isAnyContainerMounted()) {\n eventManager.emit(0\n /* Show */\n , content, options);\n } else {\n queue.push({\n content: content,\n options: options\n });\n\n if (lazy && canUseDom) {\n lazy = false;\n containerDomNode = document.createElement('div');\n document.body.appendChild(containerDomNode);\n render(createElement(ToastContainer, Object.assign({}, containerConfig)), containerDomNode);\n }\n }\n\n return options.toastId;\n}\n/**\r\n * Merge provided options with the defaults settings and generate the toastId\r\n */\n\n\nfunction mergeOptions(type, options) {\n return _extends({}, options, {\n type: options && options.type || type,\n toastId: getToastId(options)\n });\n}\n\nvar createToastByType = function createToastByType(type) {\n return function (content, options) {\n return dispatchToast(content, mergeOptions(type, options));\n };\n};\n\nvar toast = function toast(content, options) {\n return dispatchToast(content, mergeOptions(TYPE.DEFAULT, options));\n};\n\ntoast.success = /*#__PURE__*/createToastByType(TYPE.SUCCESS);\ntoast.info = /*#__PURE__*/createToastByType(TYPE.INFO);\ntoast.error = /*#__PURE__*/createToastByType(TYPE.ERROR);\ntoast.warning = /*#__PURE__*/createToastByType(TYPE.WARNING);\ntoast.dark = /*#__PURE__*/createToastByType(TYPE.DARK);\ntoast.warn = toast.warning;\n/**\r\n * Remove toast programmaticaly\r\n */\n\ntoast.dismiss = function (id) {\n return eventManager.emit(1\n /* Clear */\n , id);\n};\n/**\r\n * Clear waiting queue when limit is used\r\n */\n\n\ntoast.clearWaitingQueue = function (params) {\n if (params === void 0) {\n params = {};\n }\n\n return eventManager.emit(5\n /* ClearWaitingQueue */\n , params);\n};\n/**\r\n * return true if one container is displaying the toast\r\n */\n\n\ntoast.isActive = function (id) {\n var isToastActive = false;\n containers.forEach(function (container) {\n if (container.isToastActive && container.isToastActive(id)) {\n isToastActive = true;\n }\n });\n return isToastActive;\n};\n\ntoast.update = function (toastId, options) {\n if (options === void 0) {\n options = {};\n }\n\n // if you call toast and toast.update directly nothing will be displayed\n // this is why I defered the update\n setTimeout(function () {\n var toast = getToast(toastId, options);\n\n if (toast) {\n var oldOptions = toast.props,\n oldContent = toast.content;\n\n var nextOptions = _extends({}, oldOptions, options, {\n toastId: options.toastId || toastId,\n updateId: generateToastId()\n });\n\n if (nextOptions.toastId !== toastId) nextOptions.staleId = toastId;\n var content = nextOptions.render || oldContent;\n delete nextOptions.render;\n dispatchToast(content, nextOptions);\n }\n }, 0);\n};\n/**\r\n * Used for controlled progress bar.\r\n */\n\n\ntoast.done = function (id) {\n toast.update(id, {\n progress: 1\n });\n};\n/**\r\n * Track changes. The callback get the number of toast displayed\r\n *\r\n */\n\n\ntoast.onChange = function (callback) {\n if (isFn(callback)) {\n eventManager.on(4\n /* Change */\n , callback);\n }\n\n return function () {\n isFn(callback) && eventManager.off(4\n /* Change */\n , callback);\n };\n};\n/**\r\n * Configure the ToastContainer when lazy mounted\r\n */\n\n\ntoast.configure = function (config) {\n if (config === void 0) {\n config = {};\n }\n\n lazy = true;\n containerConfig = config;\n};\n\ntoast.POSITION = POSITION;\ntoast.TYPE = TYPE;\n/**\r\n * Wait until the ToastContainer is mounted to dispatch the toast\r\n * and attach isActive method\r\n */\n\neventManager.on(2\n/* DidMount */\n, function (containerInstance) {\n latestInstance = containerInstance.containerId || containerInstance;\n containers.set(latestInstance, containerInstance);\n queue.forEach(function (item) {\n eventManager.emit(0\n /* Show */\n , item.content, item.options);\n });\n queue = [];\n}).on(3\n/* WillUnmount */\n, function (containerInstance) {\n containers[\"delete\"](containerInstance.containerId || containerInstance);\n\n if (containers.size === 0) {\n eventManager.off(0\n /* Show */\n ).off(1\n /* Clear */\n ).off(5\n /* ClearWaitingQueue */\n );\n }\n\n if (canUseDom && containerDomNode) {\n document.body.removeChild(containerDomNode);\n }\n});\n\nexport { Bounce, Flip, Slide, ToastContainer, Zoom, collapseToast, cssTransition, toast, useToast, useToastContainer };\n//# sourceMappingURL=react-toastify.esm.js.map\n"],"names":["_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","isNum","v","isNaN","isBool","isStr","isFn","parseClassName","isToastIdValid","toastId","canUseDom","window","document","createElement","canBeRendered","content","isValidElement","POSITION","TOP_LEFT","TOP_RIGHT","TOP_CENTER","BOTTOM_LEFT","BOTTOM_RIGHT","BOTTOM_CENTER","TYPE","INFO","SUCCESS","WARNING","ERROR","DEFAULT","DARK","collapseToast","node","done","duration","height","scrollHeight","style","requestAnimationFrame","minHeight","transition","padding","margin","setTimeout","cssTransition","_ref","enter","exit","_ref$appendPosition","appendPosition","_ref$collapse","collapse","_ref$collapseDuration","collapseDuration","_ref2","children","position","preventExitTransition","nodeRef","isIn","enterClassName","exitClassName","baseClassName","useRef","animationStep","onEntered","current","removeEventListener","className","onExited","useLayoutEffect","addEventListener","useEffect","onExit","React__default","Fragment","eventManager","list","Map","emitQueue","on","event","callback","has","set","get","push","off","cb","filter","cancelEmit","timers","forEach","clearTimeout","emit","_this","_len","args","Array","_key","timer","useKeeper","arg","refresh","ref","reducer","state","action","type","concat","id","staleId","useToastContainer","props","forceUpdate","useReducer","x","_useReducer2","toast","dispatch","containerRef","toastCount","queue","collection","instance","toastKey","displayedToast","containerId","isToastActive","getToast","indexOf","clearWaitingQueue","limit","removeToast","dequeueToast","_queue$shift","shift","appendToast","toastContent","toastProps","buildToast","_ref3","delay","options","excluded","sourceKeys","keys","_objectWithoutPropertiesLoose","updateId","enableMultiContainer","isNotValid","closeToast","isNotAnUpdate","toastAutoClose","containerAutoClose","closeButton","rtl","toastClassName","bodyClassName","toastStyle","bodyStyle","onClick","pauseOnHover","pauseOnFocusLoss","draggable","draggablePercent","draggableDirection","closeOnClick","progressClassName","progressStyle","autoClose","hideProgressBar","progress","role","deleteToast","queueLen","freeSlot","toDequeue","removeFromCollection","onOpen","onClose","cloneElement","getToastToRender","toastToRender","toastList","newestOnTop","reverse","_toast","map","p","getX","e","targetTouches","clientX","getY","clientY","useToast","_useState","useState","isRunning","setIsRunning","_useState2","setPreventExitTransition","toastRef","drag","start","y","delta","removalDistance","canCloseOnClick","canDrag","boundingRect","syncProps","onDragStart","getBoundingClientRect","nativeEvent","offsetWidth","offsetHeight","onDragTransitionEnd","_drag$boundingRect","top","bottom","left","right","pauseToast","playToast","onDragMove","preventDefault","transform","opacity","Math","abs","onDragEnd","hasFocus","bindFocusEvents","eventHandlers","onMouseDown","onTouchStart","onMouseUp","onTouchEnd","onMouseEnter","onMouseLeave","CloseButton","_ref$ariaLabel","ariaLabel","stopPropagation","viewBox","fillRule","d","ProgressBar","_cx","_animationEvent","hide","userStyle","controlledProgress","animationDuration","animationPlayState","defaultClassName","cx","classNames","animationEvent","defaultProps","Toast","_useToast","Transition","cssClasses","isProgressControlled","renderCloseButton","Bounce","ToastContainer","_useToastContainer","getClassName","containerStyle","pointerEvents","latestInstance","containerDomNode","containerConfig","containers","lazy","generateToastId","random","toString","substr","getToastId","dispatchToast","size","body","appendChild","render","mergeOptions","createToastByType","success","info","error","warning","dark","warn","dismiss","params","isActive","container","update","oldOptions","oldContent","nextOptions","onChange","configure","config","containerInstance","item","removeChild"],"mappings":"iPAIA,SAASA,IAeP,OAdAA,EAAWC,OAAOC,QAAU,SAAUC,GACpC,IAAK,IAAIC,EAAI,EAAGA,EAAIC,UAAUC,OAAQF,IAAK,CACzC,IAAIG,EAASF,UAAUD,GAEvB,IAAK,IAAII,KAAOD,EACVN,OAAOQ,UAAUC,eAAeC,KAAKJ,EAAQC,KAC/CL,EAAOK,GAAOD,EAAOC,GAG3B,CAEA,OAAOL,CACT,EAEOH,EAASY,MAAMC,KAAMR,UAC9B,CAiBA,SAASS,EAAMC,GACb,MAAoB,iBAANA,IAAmBC,MAAMD,EACzC,CACA,SAASE,EAAOF,GACd,MAAoB,kBAANA,CAChB,CACA,SAASG,EAAMH,GACb,MAAoB,iBAANA,CAChB,CACA,SAASI,EAAKJ,GACZ,MAAoB,mBAANA,CAChB,CACA,SAASK,EAAeL,GACtB,OAAOG,EAAMH,IAAMI,EAAKJ,GAAKA,EAAI,IACnC,CACA,SAASM,EAAeC,GACtB,OAAmB,IAAZA,GAAiBA,CAC1B,CAIA,IAAIC,IAAiC,oBAAXC,SAA0BA,OAAOC,WAAYD,OAAOC,SAASC,eACvF,SAASC,EAAcC,GACrB,OAAOC,EAAeD,IAAYV,EAAMU,IAAYT,EAAKS,IAAYd,EAAMc,EAC7E,CAEA,IAAIE,EAAW,CACbC,SAAU,WACVC,UAAW,YACXC,WAAY,aACZC,YAAa,cACbC,aAAc,eACdC,cAAe,iBAEbC,EAAO,CACTC,KAAM,OACNC,QAAS,UACTC,QAAS,UACTC,MAAO,QACPC,QAAS,UACTC,KAAM,QAMR,SAASC,EAAcC,EAAMC,EAAMC,QAGhB,IAAbA,IACFA,EAAW,KAGb,IAAIC,EAASH,EAAKI,aACdC,EAAQL,EAAKK,MACjBC,sBAAsB,WACpBD,EAAME,UAAY,UAClBF,EAAMF,OAASA,EAAS,KACxBE,EAAMG,WAAa,OAASN,EAAW,KACvCI,sBAAsB,WACpBD,EAAMF,OAAS,IACfE,EAAMI,QAAU,IAChBJ,EAAMK,OAAS,IACfC,WAAWV,EAAMC,EACnB,EACF,EACF,CAgBA,SAASU,EAAcC,GACrB,IAAIC,EAAQD,EAAKC,MACbC,EAAOF,EAAKE,KACZC,EAAsBH,EAAKI,eAC3BA,OAAyC,IAAxBD,GAAyCA,EAC1DE,EAAgBL,EAAKM,SACrBA,OAA6B,IAAlBD,GAAkCA,EAC7CE,EAAwBP,EAAKQ,iBAC7BA,OAA6C,IAA1BD,EAAmC,IAAMA,EAChE,OAAO,SAAyBE,GAC9B,IAAIC,EAAWD,EAAMC,SACjBC,EAAWF,EAAME,SACjBC,EAAwBH,EAAMG,sBAC9BxB,EAAOqB,EAAMrB,KACbyB,EAAUJ,EAAMI,QAChBC,EAAOL,EAAMK,KACbC,EAAiBX,EAAiBH,EAAQ,KAAOU,EAAWV,EAC5De,EAAgBZ,EAAiBF,EAAO,KAAOS,EAAWT,EAC1De,EAAgBC,IAChBC,EAAgBD,EAAO,GAiB3B,SAASE,IACP,IAAIjC,EAAO0B,EAAQQ,QACnBlC,EAAKmC,oBAAoB,eAAgBF,GAEX,IAA1BD,EAAcE,UAGdlC,EAAKoC,UAAYN,EAAcI,QAErC,CAWA,SAASG,IACP,IAAIrC,EAAO0B,EAAQQ,QACnBlC,EAAKmC,oBAAoB,eAAgBE,GACzClB,EAAWpB,EAAcC,EAAMC,EAAMoB,GAAoBpB,GAC3D,CAEA,OAxCAqC,EAAgB,WAOhB,IACMtC,IAAO0B,EAAQQ,QACnBJ,EAAcI,QAAUlC,EAAKoC,UAC7BpC,EAAKoC,WAAa,IAAMR,EACxB5B,EAAKuC,iBAAiB,eAAgBN,EATxC,EAAG,IACHO,EAAU,WACHb,IAAMF,EAAwBY,IAqBrC,WACEL,EAAcE,QAAU,EAGxB,IAAIlC,EAAO0B,EAAQQ,QACnBlC,EAAKoC,WAAa,IAAMP,EACxB7B,EAAKuC,iBAAiB,eAAgBF,EACxC,CA5BkDI,GAClD,EAAG,CAACd,IAmCGe,EAAe7D,cAAc6D,EAAeC,SAAU,KAAMpB,EACrE,CACF,CAEA,IAAIqB,EAAe,CACjBC,KAAmB,IAAIC,IACvBC,UAAwB,IAAID,IAC5BE,GAAI,SAAYC,EAAOC,GAGrB,OAFAlF,KAAK6E,KAAKM,IAAIF,IAAUjF,KAAK6E,KAAKO,IAAIH,EAAO,IAC7CjF,KAAK6E,KAAKQ,IAAIJ,GAAOK,KAAKJ,GACnBlF,IACT,EACAuF,IAAK,SAAaN,EAAOC,GACvB,GAAIA,EAAU,CACZ,IAAIM,EAAKxF,KAAK6E,KAAKQ,IAAIJ,GAAOQ,OAAO,SAAUD,GAC7C,OAAOA,IAAON,CAChB,GAEA,OADAlF,KAAK6E,KAAKO,IAAIH,EAAOO,GACdxF,IACT,CAGA,OADAA,KAAK6E,KAAa,OAAEI,GACbjF,IACT,EACA0F,WAAY,SAAoBT,GAC9B,IAAIU,EAAS3F,KAAK+E,UAAUM,IAAIJ,GAOhC,OALIU,IACFA,EAAOC,QAAQC,cACf7F,KAAK+E,UAAkB,OAAEE,IAGpBjF,IACT,EAUA8F,KAAM,SAAcb,GAGlB,IAFA,IAAIc,EAAQ/F,KAEHgG,EAAOxG,UAAUC,OAAQwG,EAAO,IAAIC,MAAMF,EAAO,EAAIA,EAAO,EAAI,GAAIG,EAAO,EAAGA,EAAOH,EAAMG,IAClGF,EAAKE,EAAO,GAAK3G,UAAU2G,GAG7BnG,KAAK6E,KAAKM,IAAIF,IAAUjF,KAAK6E,KAAKQ,IAAIJ,GAAOW,QAAQ,SAAUV,GAC7D,IAAIkB,EAAQzD,WAAW,WAErBuC,EAASnF,WAAM,EAAQkG,EACzB,EAAG,GACHF,EAAMhB,UAAUI,IAAIF,IAAUc,EAAMhB,UAAUK,IAAIH,EAAO,IAEzDc,EAAMhB,UAAUM,IAAIJ,GAAOK,KAAKc,EAClC,EACF,GAUF,SAASC,EAAUC,EAAKC,QACN,IAAZA,IACFA,GAAU,GAGZ,IAAIC,EAAMzC,EAAOuC,GAIjB,OAHA9B,EAAU,WACJ+B,IAASC,EAAItC,QAAUoC,EAC7B,GACOE,EAAItC,OACb,CAEA,SAASuC,EAAQC,EAAOC,GACtB,OAAQA,EAAOC,MACb,KAAK,EAGH,MAAO,GAAGC,OAAOH,EAAO,CAACC,EAAOlG,UAAUgF,OAAO,SAAUqB,GACzD,OAAOA,IAAOH,EAAOI,OACvB,GAEF,KAAK,EAGH,OAAOvG,EAAemG,EAAOlG,SAAWiG,EAAMjB,OAAO,SAAUqB,GAC7D,OAAOA,IAAOH,EAAOlG,OACvB,GAAK,GAEX,CAEA,SAASuG,EAAkBC,GACzB,IAGIC,EAHcC,EAAW,SAAUC,GACrC,OAAOA,EAAI,CACb,EAAG,GAC2B,GAE1BC,EAAeF,EAAWV,EAAS,IACnCa,EAAQD,EAAa,GACrBE,EAAWF,EAAa,GAExBG,EAAezD,EAAO,MACtB0D,EAAapB,EAAU,GACvBqB,EAAQrB,EAAU,IAClBsB,EAAatB,EAAU,IACvBuB,EAAWvB,EAAU,CACvBwB,SAAU,EACVC,eAAgB,EAChBb,MAAOA,EACPc,YAAa,KACbC,cAAeA,EACfC,SAAU,SAAkBnB,GAC1B,OAAOa,EAAWb,IAAO,IAC3B,IAkCF,SAASkB,EAAclB,GACrB,OAA6B,IAAtBQ,EAAMY,QAAQpB,EACvB,CAEA,SAASqB,EAAkBtF,GACzB,IAAIkF,EAAclF,EAAKkF,aACXH,EAASX,MAAMmB,OAEZL,GAAeH,EAASG,cAAgBA,IACrDN,GAAcC,EAAMjI,OACpBiI,EAAQ,GAEZ,CAEA,SAASW,EAAY5H,GACnB8G,EAAS,CACPX,KAAM,EAGNnG,QAASA,GAEb,CAEA,SAAS6H,IACP,IAAIC,EAAeb,EAAMc,QAKzBC,EAJmBF,EAAaG,aACfH,EAAaI,WAChBJ,EAAaxB,QAG7B,CAgBA,SAAS6B,EAAW7H,EAAS8H,GAC3B,IAAIC,EAAQD,EAAMC,MACd/B,EAAU8B,EAAM9B,QAChBgC,EA3WR,SAAuCrJ,EAAQsJ,GAC7C,GAAc,MAAVtJ,EAAgB,MAAO,CAAA,EAC3B,IAEIC,EAAKJ,EAFLD,EAAS,CAAA,EACT2J,EAAa7J,OAAO8J,KAAKxJ,GAG7B,IAAKH,EAAI,EAAGA,EAAI0J,EAAWxJ,OAAQF,IACjCI,EAAMsJ,EAAW1J,GACbyJ,EAASd,QAAQvI,IAAQ,IAC7BL,EAAOK,GAAOD,EAAOC,IAGvB,OAAOL,CACT,CA8VkB6J,CAA8BN,EAAO,CAAC,QAAS,YAE7D,GAAK/H,EAAcC,KAbrB,SAAoBuC,GAClB,IAAIyE,EAAczE,EAAMyE,YACpBtH,EAAU6C,EAAM7C,QAChB2I,EAAW9F,EAAM8F,SACrB,UAAQ5B,EAAatD,SAAW0D,EAASX,MAAMoC,sBAAwBtB,IAAgBH,EAASX,MAAMc,aAAeJ,EAAWlH,IAAwB,MAAZ2I,EAC9I,CAQiCE,CAAWP,GAA1C,CACA,IAAItI,EAAUsI,EAAQtI,QAClB2I,EAAWL,EAAQK,SACnBnC,EAAQW,EAASX,MAEjBsC,EAAa,WACf,OAAOlB,EAAY5H,EACrB,EAEI+I,EAAoC,MAApBT,EAAQK,SACxBI,GAAe/B,IACnB,IAvVuBgC,EAAgBC,EAuVnCf,EAAa,CACflI,QAASA,EACT2I,SAAUA,EACVzF,MAAM,EACNhE,IAAKoJ,EAAQpJ,KAAOiI,EAASC,WAC7BjB,KAAMmC,EAAQnC,KACd2C,WAAYA,EACZI,YAAaZ,EAAQY,YACrBC,IAAK3C,EAAM2C,IACXpG,SAAUuF,EAAQvF,UAAYyD,EAAMzD,SACpChB,WAAYuG,EAAQvG,YAAcyE,EAAMzE,WACxC4B,UAAW7D,EAAewI,EAAQ3E,WAAa6C,EAAM4C,gBACrDC,cAAevJ,EAAewI,EAAQe,eAAiB7C,EAAM6C,eAC7DzH,MAAO0G,EAAQ1G,OAAS4E,EAAM8C,WAC9BC,UAAWjB,EAAQiB,WAAa/C,EAAM+C,UACtCC,QAASlB,EAAQkB,SAAWhD,EAAMgD,QAClCC,aAAc9J,EAAO2I,EAAQmB,cAAgBnB,EAAQmB,aAAejD,EAAMiD,aAC1EC,iBAAkB/J,EAAO2I,EAAQoB,kBAAoBpB,EAAQoB,iBAAmBlD,EAAMkD,iBACtFC,UAAWhK,EAAO2I,EAAQqB,WAAarB,EAAQqB,UAAYnD,EAAMmD,UACjEC,iBAAkBpK,EAAM8I,EAAQsB,kBAAoBtB,EAAQsB,iBAAmBpD,EAAMoD,iBACrFC,mBAAoBvB,EAAQuB,oBAAsBrD,EAAMqD,mBACxDC,aAAcnK,EAAO2I,EAAQwB,cAAgBxB,EAAQwB,aAAetD,EAAMsD,aAC1EC,kBAAmBjK,EAAewI,EAAQyB,mBAAqBvD,EAAMuD,mBACrEC,cAAe1B,EAAQ0B,eAAiBxD,EAAMwD,cAC9CC,WA/WqBjB,EA+WQV,EAAQ2B,UA/WAhB,EA+WWzC,EAAMyD,WA9WhC,IAAnBjB,GAA4BxJ,EAAMwJ,IAAmBA,EAAiB,EAAIA,EAAiBC,GA+W9FiB,gBAAiBvK,EAAO2I,EAAQ4B,iBAAmB5B,EAAQ4B,gBAAkB1D,EAAM0D,gBACnFC,SAAU7B,EAAQ6B,SAClBC,KAAMxK,EAAM0I,EAAQ8B,MAAQ9B,EAAQ8B,KAAO5D,EAAM4D,KACjDC,YAAa,YAsEjB,SAA8BrK,UACrBkH,EAAWlH,GAClB,IAAIsK,EAAWrD,EAAMjI,OACrBgI,EAAajH,EAAeC,GAAWgH,EAAa,EAAIA,EAAaG,EAASE,eAC1EL,EAAa,IAAGA,EAAa,GAEjC,GAAIsD,EAAW,EAAG,CAChB,IAAIC,EAAWxK,EAAeC,GAAW,EAAImH,EAASX,MAAMmB,MAE5D,GAAiB,IAAb2C,GAA+B,IAAbC,EACpBpD,EAASE,iBACTQ,QACK,CACL,IAAI2C,EAAYD,EAAWD,EAAWA,EAAWC,EACjDpD,EAASE,eAAiBmD,EAE1B,IAAK,IAAI1L,EAAI,EAAGA,EAAI0L,EAAW1L,IAC7B+I,GAEJ,CACF,MACEpB,GAEJ,CA5FMgE,CAAqBzK,EACvB,GAEEH,EAAKyI,EAAQoC,UAASxC,EAAWwC,OAASpC,EAAQoC,QAClD7K,EAAKyI,EAAQqC,WAAUzC,EAAWyC,QAAUrC,EAAQqC,SAElB,MAAlCzC,EAAW2B,oBAEoB,KAAhC3B,EAAW0B,mBAGV1B,EAAW0B,kBAAoB,KAGnC,IAAIV,EAAc1C,EAAM0C,aAEI,IAAxBZ,EAAQY,aAAyB7I,EAAciI,EAAQY,aACzDA,EAAcZ,EAAQY,aACW,IAAxBZ,EAAQY,cACjBA,GAAc7I,EAAcmG,EAAM0C,cAAe1C,EAAM0C,aAGzDhB,EAAWgB,YAAcA,EACzB,IAAIjB,EAAe3H,EAEfC,EAAeD,KAAaV,EAAMU,EAAQ6F,MAC5C8B,EAAe2C,EAAatK,EAAS,CACnCwI,WAAYA,EACZZ,WAAYA,IAELrI,EAAKS,KACd2H,EAAe3H,EAAQ,CACrBwI,WAAYA,EACZZ,WAAYA,KAKZ1B,EAAMmB,OAASnB,EAAMmB,MAAQ,GAAKX,EAAaR,EAAMmB,OAASoB,EAChE9B,EAAMpC,KAAK,CACToD,aAAcA,EACdC,WAAYA,EACZ5B,QAASA,IAEF9G,EAAM6I,IAAUA,EAAQ,EACjCnG,WAAW,WACT8F,EAAYC,EAAcC,EAAY5B,EACxC,EAAG+B,GAEHL,EAAYC,EAAcC,EAAY5B,EAzFY,CA2FtD,CAEA,SAAS0B,EAAY1H,EAAS4H,EAAY5B,GACxC,IAAItG,EAAUkI,EAAWlI,QACrBsG,UAAgBY,EAAWZ,GAC/BY,EAAWlH,GAAW,CACpBM,QAASA,EACTkG,MAAO0B,GAETpB,EAAS,CACPX,KAAM,EAGNnG,QAASA,EACTsG,QAASA,GAEb,CA2CA,OAzOAvC,EAAU,WAeR,OAdAoD,EAASG,YAAcd,EAAMc,YAC7BnD,EAAac,WAAW,GAEtBV,GAAG,EAEH4D,GAAY5D,GAAG,EAEf,SAAUvE,GACV,OAAO+G,EAAatD,SAAWmE,EAAY5H,EAC7C,GAAGuE,GAAG,EAEJmD,GAAmBrC,KAAK,EAExB8B,GACK,WACL,OAAOhD,EAAakB,KAAK,EAEvB8B,EACJ,CACF,EAAG,IACHpD,EAAU,WACRoD,EAASI,cAAgBA,EACzBJ,EAASE,eAAiBR,EAAM7H,OAChCmF,EAAakB,KAAK,EAEhBwB,EAAM7H,OAAQwH,EAAMc,YACxB,EAAG,CAACT,IACJ9C,EAAU,WACRoD,EAASX,MAAQA,CACnB,GA2MO,CACLqE,iBAjBF,SAA0B9F,GAIxB,IAHA,IAAI+F,EAAgB,CAAA,EAChBC,EAAYvE,EAAMwE,YAAcrM,OAAO8J,KAAKvB,GAAY+D,UAAYtM,OAAO8J,KAAKvB,GAE3EpI,EAAI,EAAGA,EAAIiM,EAAU/L,OAAQF,IAAK,CACzC,IAAIoM,EAAShE,EAAW6D,EAAUjM,IAC9BiE,EAAWmI,EAAO1E,MAAMzD,SAC5B+H,EAAc/H,KAAc+H,EAAc/H,GAAY,IACtD+H,EAAc/H,GAAU8B,KAAKqG,EAC/B,CAEA,OAAOvM,OAAO8J,KAAKqC,GAAeK,IAAI,SAAUC,GAC9C,OAAOrG,EAAGqG,EAAGN,EAAcM,GAC7B,EACF,EAIElE,WAAYA,EACZH,aAAcA,EACdQ,cAAeA,EAEnB,CAEA,SAAS8D,EAAKC,GACZ,OAAOA,EAAEC,eAAiBD,EAAEC,cAAcvM,QAAU,EAAIsM,EAAEC,cAAc,GAAGC,QAAUF,EAAEE,OACzF,CAEA,SAASC,EAAKH,GACZ,OAAOA,EAAEC,eAAiBD,EAAEC,cAAcvM,QAAU,EAAIsM,EAAEC,cAAc,GAAGG,QAAUJ,EAAEI,OACzF,CAEA,SAASC,EAASnF,GAChB,IAAIoF,EAAYC,GAAS,GACrBC,EAAYF,EAAU,GACtBG,EAAeH,EAAU,GAEzBI,EAAaH,GAAS,GACtB7I,EAAwBgJ,EAAW,GACnCC,EAA2BD,EAAW,GAEtCE,EAAW5I,EAAO,MAClB6I,EAAOvG,EAAU,CACnBwG,MAAO,EACPzF,EAAG,EACH0F,EAAG,EACHC,MAAO,EACPC,gBAAiB,EACjBC,iBAAiB,EACjBC,SAAS,EACTC,aAAc,OAEZC,EAAY/G,EAAUY,GAAO,GAC7ByD,EAAYzD,EAAMyD,UAClBR,EAAejD,EAAMiD,aACrBX,EAAatC,EAAMsC,WACnBU,EAAUhD,EAAMgD,QAChBM,EAAetD,EAAMsD,aAoBzB,SAAS8C,EAAYtB,GACnB,GAAI9E,EAAMmD,UAAW,CACnB,IAAI9C,EAAQqF,EAASzI,QACrB0I,EAAKK,iBAAkB,EACvBL,EAAKM,SAAU,EACfN,EAAKO,aAAe7F,EAAMgG,wBAC1BhG,EAAMjF,MAAMG,WAAa,GACzBoK,EAAKxF,EAAI0E,EAAKC,EAAEwB,aAChBX,EAAKE,EAAIZ,EAAKH,EAAEwB,aAEiB,MAA7BtG,EAAMqD,oBAGNsC,EAAKC,MAAQD,EAAKxF,EAClBwF,EAAKI,gBAAkB1F,EAAMkG,aAAevG,EAAMoD,iBAAmB,OAEvEuC,EAAKC,MAAQD,EAAKE,EAClBF,EAAKI,gBAAkB1F,EAAMmG,cAAgBxG,EAAMoD,iBAAmB,KAE1E,CACF,CAEA,SAASqD,IACP,GAAId,EAAKO,aAAc,CACrB,IAAIQ,EAAqBf,EAAKO,aAC1BS,EAAMD,EAAmBC,IACzBC,EAASF,EAAmBE,OAC5BC,EAAOH,EAAmBG,KAC1BC,EAAQJ,EAAmBI,MAE3B9G,EAAMiD,cAAgB0C,EAAKxF,GAAK0G,GAAQlB,EAAKxF,GAAK2G,GAASnB,EAAKE,GAAKc,GAAOhB,EAAKE,GAAKe,EACxFG,IAEAC,GAEJ,CACF,CAEA,SAASA,IACPzB,GAAa,EACf,CAEA,SAASwB,IACPxB,GAAa,EACf,CA2BA,SAAS0B,EAAWnC,GAClB,GAAIa,EAAKM,QAAS,CAChBnB,EAAEoC,iBACF,IAAI7G,EAAQqF,EAASzI,QACjBqI,GAAWyB,IACfpB,EAAKxF,EAAI0E,EAAKC,GACda,EAAKE,EAAIZ,EAAKH,GAEmB,MAA7B9E,EAAMqD,mBAGNsC,EAAKG,MAAQH,EAAKxF,EAAIwF,EAAKC,MAE7BD,EAAKG,MAAQH,EAAKE,EAAIF,EAAKC,MAIzBD,EAAKC,QAAUD,EAAKxF,IAAGwF,EAAKK,iBAAkB,GAClD3F,EAAMjF,MAAM+L,UAAY,YAAcnH,EAAMqD,mBAAqB,IAAMsC,EAAKG,MAAQ,MACpFzF,EAAMjF,MAAMgM,QAAU,IAAM,EAAIC,KAAKC,IAAI3B,EAAKG,MAAQH,EAAKI,iBAC7D,CACF,CAEA,SAASwB,IACP,IAAIlH,EAAQqF,EAASzI,QAErB,GAAI0I,EAAKM,QAAS,CAGhB,GAFAN,EAAKM,SAAU,EAEXoB,KAAKC,IAAI3B,EAAKG,OAASH,EAAKI,gBAG9B,OAFAN,GAAyB,QACzBzF,EAAMsC,aAIRjC,EAAMjF,MAAMG,WAAa,+BACzB8E,EAAMjF,MAAM+L,UAAY,YAAcnH,EAAMqD,mBAAqB,MACjEhD,EAAMjF,MAAMgM,QAAU,GACxB,CACF,CAjIA7J,EAAU,WAER,OADIlE,EAAK2G,EAAMkE,SAASlE,EAAMkE,OAAOnK,EAAeiG,EAAM1D,WAAa0D,EAAM1D,SAAS0D,OAC/E,WACD3G,EAAK8M,EAAUhC,UAAUgC,EAAUhC,QAAQpK,EAAeoM,EAAU7J,WAAa6J,EAAU7J,SAAS0D,MAC1G,CACF,EAAG,IACHzC,EAAU,WAER,OADAyC,EAAMmD,YAsENxJ,SAAS2D,iBAAiB,YAAa2J,GACvCtN,SAAS2D,iBAAiB,UAAWiK,GACrC5N,SAAS2D,iBAAiB,YAAa2J,GACvCtN,SAAS2D,iBAAiB,WAAYiK,IAxE/B,WACLvH,EAAMmD,YA2ERxJ,SAASuD,oBAAoB,YAAa+J,GAC1CtN,SAASuD,oBAAoB,UAAWqK,GACxC5N,SAASuD,oBAAoB,YAAa+J,GAC1CtN,SAASuD,oBAAoB,WAAYqK,GA7EzC,CACF,EAAG,CAACvH,EAAMmD,YACV5F,EAAU,WAER,OADAyC,EAAMkD,kBAoDR,WACOvJ,SAAS6N,YAAYT,IAC1BrN,OAAO4D,iBAAiB,QAAS0J,GACjCtN,OAAO4D,iBAAiB,OAAQyJ,EAClC,CAxD4BU,GACnB,WACLzH,EAAMkD,mBAyDRxJ,OAAOwD,oBAAoB,QAAS8J,GACpCtN,OAAOwD,oBAAoB,OAAQ6J,GAzDnC,CACF,EAAG,CAAC/G,EAAMkD,mBAkHV,IAAIwE,EAAgB,CAClBC,YAAavB,EACbwB,aAAcxB,EACdyB,UAAWpB,EACXqB,WAAYrB,GAgBd,OAbIhD,GAAaR,IACfyE,EAAcK,aAAehB,EAC7BW,EAAcM,aAAehB,GAI3B1D,IACFoE,EAAc1E,QAAU,SAAU8B,GAChC9B,GAAWA,EAAQ8B,GACnBa,EAAKK,iBAAmB1D,GAC1B,GAGK,CACL0E,UAAWA,EACXD,WAAYA,EACZzB,UAAWA,EACX9I,sBAAuBA,EACvBkJ,SAAUA,EACVgC,cAAeA,EAEnB,CAEA,SAASO,EAAYrM,GACnB,IAAI0G,EAAa1G,EAAK0G,WAClB3C,EAAO/D,EAAK+D,KACZuI,EAAiBtM,EAAKuM,UAE1B,OAAOvO,EAAc,SAAU,CAC7BuD,UAAW,kDAIYwC,EACvBA,KAAM,SACNqD,QAAS,SAAiB8B,GACxBA,EAAEsD,kBACF9F,EAAWwC,EACb,EACA,kBAZiC,IAAnBoD,EAA4B,QAAUA,GAanDtO,EAAc,MAAO,CACtB,cAAe,OACfyO,QAAS,aACRzO,EAAc,OAAQ,CACvB0O,SAAU,UACVC,EAAG,8HAEP,CAEA,SAASC,EAAY5M,GACnB,IAAI6M,EAAKC,EAEL7G,EAAQjG,EAAKiG,MACbyD,EAAY1J,EAAK0J,UACjBhD,EAAa1G,EAAK0G,WAClB3C,EAAO/D,EAAK+D,KACZgJ,EAAO/M,EAAK+M,KACZxL,EAAYvB,EAAKuB,UACjByL,EAAYhN,EAAKR,MACjByN,EAAqBjN,EAAKiN,mBAC1BlF,EAAW/H,EAAK+H,SAChBhB,EAAM/G,EAAK+G,IACXjG,EAAOd,EAAKc,KAEZtB,EAAQlD,EAAS,CAAA,EAAI0Q,EAAW,CAClCE,kBAAmBjH,EAAQ,KAC3BkH,mBAAoBzD,EAAY,UAAY,SAC5C8B,QAASuB,EAAO,EAAI,IAGlBE,IAAoBzN,EAAM+L,UAAY,UAAYxD,EAAW,KACjE,IAAIqF,EAAmBC,EAAG,yBAENJ,EAAqB,qCAER,mCAEH,2BAEPlJ,IAAO8I,EAAM,CAAA,GAAQ,+BAEjB9F,EAAK8F,IAC5BS,EAAa7P,EAAK8D,GAAaA,EAAU,CAC3CwF,IAAKA,EACLhD,KAAMA,EACNqJ,iBAAkBA,IACfC,EAAGD,EAAkB7L,GAItBgM,IAAkBT,EAAkB,CAAA,GAAoBG,GAAsBlF,GAAY,EAAI,kBAAoB,kBAAoBkF,GAAsBlF,EAAW,EAAI,KAAO,WACpLjH,GAAQ4F,GACV,EAAGoG,GAEH,OAAO9O,EAAc,MAAOzB,OAAOC,OAAO,CACxCwL,KAAM,cACN,cAAe+E,EAAO,OAAS,QAC/B,aAAc,qBACdxL,UAAW+L,EACX9N,MAAOA,GACN+N,GACL,CACAX,EAAYY,aAAe,CACzBzJ,KAAMpF,EAAKK,QACX+N,MAAM,GAGR,IAAIU,EAAQ,SAAerJ,GACzB,IAAIyI,EAEAa,EAAYnE,EAASnF,GACrBsF,EAAYgE,EAAUhE,UACtB9I,EAAwB8M,EAAU9M,sBAClCkJ,EAAW4D,EAAU5D,SACrBgC,EAAgB4B,EAAU5B,cAE1BhF,EAAc1C,EAAM0C,YACpBpG,EAAW0D,EAAM1D,SACjBmH,EAAYzD,EAAMyD,UAClBT,EAAUhD,EAAMgD,QAChBrD,EAAOK,EAAML,KACb+D,EAAkB1D,EAAM0D,gBACxBpB,EAAatC,EAAMsC,WACnBiH,EAAavJ,EAAMzE,WACnBgB,EAAWyD,EAAMzD,SACjBY,EAAY6C,EAAM7C,UAClB/B,EAAQ4E,EAAM5E,MACdyH,EAAgB7C,EAAM6C,cACtBE,EAAY/C,EAAM+C,UAClBQ,EAAoBvD,EAAMuD,kBAC1BC,EAAgBxD,EAAMwD,cACtBrB,EAAWnC,EAAMmC,SACjByB,EAAO5D,EAAM4D,KACbD,EAAW3D,EAAM2D,SACjBhB,EAAM3C,EAAM2C,IACZnJ,EAAUwG,EAAMxG,QAChBqK,EAAc7D,EAAM6D,YACpBnH,EAAOsD,EAAMtD,KACbsM,EAAmBC,EAAG,kBAEb,oBAEGtJ,IAAO8I,EAAM,CAAA,GAAQ,wBAEjB9F,EAAK8F,IACrBe,EAAanQ,EAAK8D,GAAaA,EAAU,CAC3CwF,IAAKA,EACLpG,SAAUA,EACVoD,KAAMA,EACNqJ,iBAAkBA,IACfC,EAAGD,EAAkB7L,GACtBsM,IAAyB9F,EAY7B,OAAO/J,EAAc2P,EAAY,CAC/B7M,KAAMA,EACN1B,KAAM6I,EACNtH,SAAUA,EACVC,sBAAuBA,EACvBC,QAASiJ,GACR9L,EAAc,MAAOzB,OAAOC,OAAO,CACpCyH,GAAIrG,EACJwJ,QAASA,EACT7F,UAAWqM,GACV9B,EAAe,CAChBtM,MAAOA,EACPmE,IAAKmG,IACH9L,EAAc,MAAOzB,OAAOC,OAAO,CAAA,EAAIsE,GAAQ,CACjDkH,KAAMA,GACL,CACDzG,UAAW9D,EAAKwJ,GAAiBA,EAAc,CAC7ClD,KAAMA,IACHsJ,EAAG,uBAEUpG,GAClBzH,MAAO2H,IACLzG,GAhCJ,SAA2BoG,GACzB,GAAKA,EAAL,CACA,IAAI1C,EAAQ,CACVsC,WAAYA,EACZ3C,KAAMA,GAER,OAAItG,EAAKqJ,GAAqBA,EAAY1C,GACtCjG,EAAe2I,GAAqB0B,EAAa1B,EAAa1C,QAAlE,CANkB,CAOpB,CAwBe0J,CAAkBhH,IAAee,GAAagG,IAAyB7P,EAAc4O,EAAarQ,OAAOC,OAAO,CAAA,EAAI+J,IAAasH,EAAuB,CACrK/Q,IAAK,MAAQyJ,GACX,GAAI,CACNQ,IAAKA,EACLd,MAAO4B,EACP6B,UAAWA,EACX5I,KAAMA,EACN4F,WAAYA,EACZqG,KAAMjF,EACN/D,KAAMA,EACNvE,MAAOoI,EACPrG,UAAWoG,EACXsF,mBAAoBY,EACpB9F,SAAUA,MAEd,EAEIgG,EAAsBhO,EAAc,CACtCE,MAAO,2CAKPC,KAAM,0CAKNE,gBAAgB,IAwCd4N,EAAiB,SAAwB5J,GAC3C,IAAI6J,EAAqB9J,EAAkBC,GACvCqE,EAAmBwF,EAAmBxF,iBACtC9D,EAAesJ,EAAmBtJ,aAClCQ,EAAgB8I,EAAmB9I,cAEnC5D,EAAY6C,EAAM7C,UAClB/B,EAAQ4E,EAAM5E,MACduH,EAAM3C,EAAM2C,IACZ7B,EAAcd,EAAMc,YAExB,SAASgJ,EAAavN,GACpB,IAAIkM,EAEAO,EAAmBC,EAAG,4BAEH,8BAEG1M,IAAWkM,EAAM,CAAA,GAAQ,kCAErB9F,EAAK8F,IACnC,OAAOpP,EAAK8D,GAAaA,EAAU,CACjCZ,SAAUA,EACVoG,IAAKA,EACLqG,iBAAkBA,IACfC,EAAGD,EAAkB1P,EAAe6D,GAC3C,CAEA,OAAOvD,EAAc,MAAO,CAC1B2F,IAAKgB,EACLpD,UAAW,WAGX0C,GAAIiB,GACHuD,EAAiB,SAAU9H,EAAUgI,GACtC,IAAIwF,EAAsC,IAArBxF,EAAU/L,OAAeN,EAAS,CAAA,EAAIkD,EAAO,CAChE4O,cAAe,SACZ9R,EAAS,CAAA,EAAIkD,GAClB,OAAOxB,EAAc,MAAO,CAC1BuD,UAAW2M,EAAavN,GACxBnB,MAAO2O,EACPrR,IAAK,aAAe6D,GACnBgI,EAAUI,IAAI,SAAU/I,GACzB,IAAI9B,EAAU8B,EAAK9B,QACf4H,EAAa9F,EAAKoE,MACtB,OAAOpG,EAAcyP,EAAOlR,OAAOC,OAAO,CAAA,EAAIsJ,EAAY,CACxDhF,KAAMqE,EAAcW,EAAWlI,SAC/Bd,IAAK,SAAWgJ,EAAWhJ,IAC3BgK,aAAwC,IAA3BhB,EAAWgB,YAAuBuF,EAAcvG,EAAWgB,cACtE5I,EACN,GACF,GACF,EACA8P,EAAeR,aAAe,CAC5B7M,SAAUvC,EAASE,UACnBqB,WAAYoO,EACZhH,KAAK,EACLc,UAAW,IACXC,iBAAiB,EACjBhB,YAAauF,EACbhF,cAAc,EACdC,kBAAkB,EAClBI,cAAc,EACdkB,aAAa,EACbrB,WAAW,EACXC,iBAAkB,GAGlBC,mBAAoB,IAGpBO,KAAM,SAGR,IACIqG,EACAC,EACAC,EAHAC,EAA0B,IAAIvM,IAI9B4C,EAAQ,GACR4J,GAAO,EAwBX,SAASC,IACP,OAAOjD,KAAKkD,SAASC,SAAS,IAAIC,OAAO,EAAG,EAC9C,CAMA,SAASC,EAAW5I,GAClB,OAAIA,IAAY1I,EAAM0I,EAAQtI,UAAYR,EAAM8I,EAAQtI,UAC/CsI,EAAQtI,QAGV8Q,GACT,CAOA,SAASK,EAAc7Q,EAASgI,GAmB9B,OA1DOsI,EAAWQ,KAAO,EAyCvBjN,EAAakB,KAAK,EAEhB/E,EAASgI,IAEXrB,EAAMpC,KAAK,CACTvE,QAASA,EACTgI,QAASA,IAGPuI,GAAQ5Q,IACV4Q,GAAO,EACPH,EAAmBvQ,SAASC,cAAc,OAC1CD,SAASkR,KAAKC,YAAYZ,GAC1Ba,EAAOnR,EAAcgQ,EAAgBzR,OAAOC,OAAO,GAAI+R,IAAmBD,KAIvEpI,EAAQtI,OACjB,CAMA,SAASwR,EAAarL,EAAMmC,GAC1B,OAAO5J,EAAS,CAAA,EAAI4J,EAAS,CAC3BnC,KAAMmC,GAAWA,EAAQnC,MAAQA,EACjCnG,QAASkR,EAAW5I,IAExB,CAEA,IAAImJ,EAAoB,SAA2BtL,GACjD,OAAO,SAAU7F,EAASgI,GACxB,OAAO6I,EAAc7Q,EAASkR,EAAarL,EAAMmC,GACnD,CACF,EAEIzB,EAAQ,SAAevG,EAASgI,GAClC,OAAO6I,EAAc7Q,EAASkR,EAAazQ,EAAKK,QAASkH,GAC3D,EAEAzB,EAAM6K,QAAuBD,EAAkB1Q,EAAKE,SACpD4F,EAAM8K,KAAoBF,EAAkB1Q,EAAKC,MACjD6F,EAAM+K,MAAqBH,EAAkB1Q,EAAKI,OAClD0F,EAAMgL,QAAuBJ,EAAkB1Q,EAAKG,SACpD2F,EAAMiL,KAAoBL,EAAkB1Q,EAAKM,MACjDwF,EAAMkL,KAAOlL,EAAMgL,QAKnBhL,EAAMmL,QAAU,SAAU3L,GACxB,OAAOlC,EAAakB,KAAK,EAEvBgB,EACJ,EAMAQ,EAAMa,kBAAoB,SAAUuK,GAKlC,YAJe,IAAXA,IACFA,EAAS,CAAA,GAGJ9N,EAAakB,KAAK,EAEvB4M,EACJ,EAMApL,EAAMqL,SAAW,SAAU7L,GACzB,IAAIkB,GAAgB,EAMpB,OALAqJ,EAAWzL,QAAQ,SAAUgN,GACvBA,EAAU5K,eAAiB4K,EAAU5K,cAAclB,KACrDkB,GAAgB,EAEpB,GACOA,CACT,EAEAV,EAAMuL,OAAS,SAAUpS,EAASsI,QAChB,IAAZA,IACFA,EAAU,CAAA,GAKZpG,WAAW,WACT,IAAI2E,EA/HR,SAAkB7G,EAASoC,GACzB,IAAIkF,EAAclF,EAAKkF,YACnB6K,EAAYvB,EAAWhM,IAAI0C,GAAemJ,GAC9C,OAAK0B,EACEA,EAAU3K,SAASxH,GADH,IAEzB,CA0HgBwH,CAASxH,EAASsI,GAE9B,GAAIzB,EAAO,CACT,IAAIwL,EAAaxL,EAAML,MACnB8L,EAAazL,EAAMvG,QAEnBiS,EAAc7T,EAAS,GAAI2T,EAAY/J,EAAS,CAClDtI,QAASsI,EAAQtI,SAAWA,EAC5B2I,SAAUmI,MAGRyB,EAAYvS,UAAYA,IAASuS,EAAYjM,QAAUtG,GAC3D,IAAIM,EAAUiS,EAAYhB,QAAUe,SAC7BC,EAAYhB,OACnBJ,EAAc7Q,EAASiS,EACzB,CACF,EAAG,EACL,EAMA1L,EAAMrF,KAAO,SAAU6E,GACrBQ,EAAMuL,OAAO/L,EAAI,CACf8D,SAAU,GAEd,EAOAtD,EAAM2L,SAAW,SAAU/N,GAOzB,OANI5E,EAAK4E,IACPN,EAAaI,GAAG,EAEdE,GAGG,WACL5E,EAAK4E,IAAaN,EAAaW,IAAI,EAEjCL,EACJ,CACF,EAMAoC,EAAM4L,UAAY,SAAUC,QACX,IAAXA,IACFA,EAAS,CAAA,GAGX7B,GAAO,EACPF,EAAkB+B,CACpB,EAEA7L,EAAMrG,SAAWA,EACjBqG,EAAM9F,KAAOA,EAMboD,EAAaI,GAAG,EAEd,SAAUoO,GACVlC,EAAiBkC,EAAkBrL,aAAeqL,EAClD/B,EAAWjM,IAAI8L,EAAgBkC,GAC/B1L,EAAM9B,QAAQ,SAAUyN,GACtBzO,EAAakB,KAAK,EAEhBuN,EAAKtS,QAASsS,EAAKtK,QACvB,GACArB,EAAQ,EACV,GAAG1C,GAAG,EAEJ,SAAUoO,GACV/B,EAAmB,OAAE+B,EAAkBrL,aAAeqL,GAE9B,IAApB/B,EAAWQ,MACbjN,EAAaW,IAAI,GAEfA,IAAI,GAEJA,IAAI,GAKJ7E,GAAayQ,GACfvQ,SAASkR,KAAKwB,YAAYnC,EAE9B","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"react-toastify.esm.js","sources":["../../../../node_modules/react-toastify/dist/react-toastify.esm.js"],"sourcesContent":["import React__default, { isValidElement, useRef, useLayoutEffect, useEffect, useReducer, cloneElement, useState, createElement } from 'react';\nimport cx from 'clsx';\nimport { render } from 'react-dom';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n\nfunction isNum(v) {\n return typeof v === 'number' && !isNaN(v);\n}\nfunction isBool(v) {\n return typeof v === 'boolean';\n}\nfunction isStr(v) {\n return typeof v === 'string';\n}\nfunction isFn(v) {\n return typeof v === 'function';\n}\nfunction parseClassName(v) {\n return isStr(v) || isFn(v) ? v : null;\n}\nfunction isToastIdValid(toastId) {\n return toastId === 0 || toastId;\n}\nfunction getAutoCloseDelay(toastAutoClose, containerAutoClose) {\n return toastAutoClose === false || isNum(toastAutoClose) && toastAutoClose > 0 ? toastAutoClose : containerAutoClose;\n}\nvar canUseDom = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\nfunction canBeRendered(content) {\n return isValidElement(content) || isStr(content) || isFn(content) || isNum(content);\n}\n\nvar POSITION = {\n TOP_LEFT: 'top-left',\n TOP_RIGHT: 'top-right',\n TOP_CENTER: 'top-center',\n BOTTOM_LEFT: 'bottom-left',\n BOTTOM_RIGHT: 'bottom-right',\n BOTTOM_CENTER: 'bottom-center'\n};\nvar TYPE = {\n INFO: 'info',\n SUCCESS: 'success',\n WARNING: 'warning',\n ERROR: 'error',\n DEFAULT: 'default',\n DARK: 'dark'\n};\n\n/**\r\n * Used to collapse toast after exit animation\r\n */\nfunction collapseToast(node, done, duration\n/* COLLAPSE_DURATION */\n) {\n if (duration === void 0) {\n duration = 300;\n }\n\n var height = node.scrollHeight;\n var style = node.style;\n requestAnimationFrame(function () {\n style.minHeight = 'initial';\n style.height = height + 'px';\n style.transition = \"all \" + duration + \"ms\";\n requestAnimationFrame(function () {\n style.height = '0';\n style.padding = '0';\n style.margin = '0';\n setTimeout(done, duration);\n });\n });\n}\n\n/**\r\n * Css animation that just work.\r\n * You could use animate.css for instance\r\n *\r\n *\r\n * ```\r\n * cssTransition({\r\n * enter: \"animate__animated animate__bounceIn\",\r\n * exit: \"animate__animated animate__bounceOut\"\r\n * })\r\n * ```\r\n *\r\n */\n\nfunction cssTransition(_ref) {\n var enter = _ref.enter,\n exit = _ref.exit,\n _ref$appendPosition = _ref.appendPosition,\n appendPosition = _ref$appendPosition === void 0 ? false : _ref$appendPosition,\n _ref$collapse = _ref.collapse,\n collapse = _ref$collapse === void 0 ? true : _ref$collapse,\n _ref$collapseDuration = _ref.collapseDuration,\n collapseDuration = _ref$collapseDuration === void 0 ? 300 : _ref$collapseDuration;\n return function ToastTransition(_ref2) {\n var children = _ref2.children,\n position = _ref2.position,\n preventExitTransition = _ref2.preventExitTransition,\n done = _ref2.done,\n nodeRef = _ref2.nodeRef,\n isIn = _ref2.isIn;\n var enterClassName = appendPosition ? enter + \"--\" + position : enter;\n var exitClassName = appendPosition ? exit + \"--\" + position : exit;\n var baseClassName = useRef();\n var animationStep = useRef(0\n /* Enter */\n );\n useLayoutEffect(function () {\n onEnter();\n }, []);\n useEffect(function () {\n if (!isIn) preventExitTransition ? onExited() : onExit();\n }, [isIn]);\n\n function onEnter() {\n var node = nodeRef.current;\n baseClassName.current = node.className;\n node.className += \" \" + enterClassName;\n node.addEventListener('animationend', onEntered);\n }\n\n function onEntered() {\n var node = nodeRef.current;\n node.removeEventListener('animationend', onEntered);\n\n if (animationStep.current === 0\n /* Enter */\n ) {\n node.className = baseClassName.current;\n }\n }\n\n function onExit() {\n animationStep.current = 1\n /* Exit */\n ;\n var node = nodeRef.current;\n node.className += \" \" + exitClassName;\n node.addEventListener('animationend', onExited);\n }\n\n function onExited() {\n var node = nodeRef.current;\n node.removeEventListener('animationend', onExited);\n collapse ? collapseToast(node, done, collapseDuration) : done();\n }\n\n return React__default.createElement(React__default.Fragment, null, children);\n };\n}\n\nvar eventManager = {\n list: /*#__PURE__*/new Map(),\n emitQueue: /*#__PURE__*/new Map(),\n on: function on(event, callback) {\n this.list.has(event) || this.list.set(event, []);\n this.list.get(event).push(callback);\n return this;\n },\n off: function off(event, callback) {\n if (callback) {\n var cb = this.list.get(event).filter(function (cb) {\n return cb !== callback;\n });\n this.list.set(event, cb);\n return this;\n }\n\n this.list[\"delete\"](event);\n return this;\n },\n cancelEmit: function cancelEmit(event) {\n var timers = this.emitQueue.get(event);\n\n if (timers) {\n timers.forEach(clearTimeout);\n this.emitQueue[\"delete\"](event);\n }\n\n return this;\n },\n\n /**\r\n * Enqueue the event at the end of the call stack\r\n * Doing so let the user call toast as follow:\r\n * toast('1')\r\n * toast('2')\r\n * toast('3')\r\n * Without setTimemout the code above will not work\r\n */\n emit: function emit(event) {\n var _this = this;\n\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n this.list.has(event) && this.list.get(event).forEach(function (callback) {\n var timer = setTimeout(function () {\n // @ts-ignore\n callback.apply(void 0, args);\n }, 0);\n _this.emitQueue.has(event) || _this.emitQueue.set(event, []);\n\n _this.emitQueue.get(event).push(timer);\n });\n }\n};\n\n/**\r\n * `useKeeper` is a helper around `useRef`.\r\n *\r\n * You don't need to access the `.current`property to get the value\r\n * If refresh is set to true. The ref will be updated every render\r\n */\n\nfunction useKeeper(arg, refresh) {\n if (refresh === void 0) {\n refresh = false;\n }\n\n var ref = useRef(arg);\n useEffect(function () {\n if (refresh) ref.current = arg;\n });\n return ref.current;\n}\n\nfunction reducer(state, action) {\n switch (action.type) {\n case 0\n /* ADD */\n :\n return [].concat(state, [action.toastId]).filter(function (id) {\n return id !== action.staleId;\n });\n\n case 1\n /* REMOVE */\n :\n return isToastIdValid(action.toastId) ? state.filter(function (id) {\n return id !== action.toastId;\n }) : [];\n }\n}\n\nfunction useToastContainer(props) {\n var _useReducer = useReducer(function (x) {\n return x + 1;\n }, 0),\n forceUpdate = _useReducer[1];\n\n var _useReducer2 = useReducer(reducer, []),\n toast = _useReducer2[0],\n dispatch = _useReducer2[1];\n\n var containerRef = useRef(null);\n var toastCount = useKeeper(0);\n var queue = useKeeper([]);\n var collection = useKeeper({});\n var instance = useKeeper({\n toastKey: 1,\n displayedToast: 0,\n props: props,\n containerId: null,\n isToastActive: isToastActive,\n getToast: function getToast(id) {\n return collection[id] || null;\n }\n });\n useEffect(function () {\n instance.containerId = props.containerId;\n eventManager.cancelEmit(3\n /* WillUnmount */\n ).on(0\n /* Show */\n , buildToast).on(1\n /* Clear */\n , function (toastId) {\n return containerRef.current && removeToast(toastId);\n }).on(5\n /* ClearWaitingQueue */\n , clearWaitingQueue).emit(2\n /* DidMount */\n , instance);\n return function () {\n return eventManager.emit(3\n /* WillUnmount */\n , instance);\n };\n }, []);\n useEffect(function () {\n instance.isToastActive = isToastActive;\n instance.displayedToast = toast.length;\n eventManager.emit(4\n /* Change */\n , toast.length, props.containerId);\n }, [toast]);\n useEffect(function () {\n instance.props = props;\n });\n\n function isToastActive(id) {\n return toast.indexOf(id) !== -1;\n }\n\n function clearWaitingQueue(_ref) {\n var containerId = _ref.containerId;\n var limit = instance.props.limit;\n\n if (limit && (!containerId || instance.containerId === containerId)) {\n toastCount -= queue.length;\n queue = [];\n }\n }\n\n function removeToast(toastId) {\n dispatch({\n type: 1\n /* REMOVE */\n ,\n toastId: toastId\n });\n }\n\n function dequeueToast() {\n var _queue$shift = queue.shift(),\n toastContent = _queue$shift.toastContent,\n toastProps = _queue$shift.toastProps,\n staleId = _queue$shift.staleId;\n\n appendToast(toastContent, toastProps, staleId);\n }\n /**\r\n * check if a container is attached to the dom\r\n * check for multi-container, build only if associated\r\n * check for duplicate toastId if no update\r\n */\n\n\n function isNotValid(_ref2) {\n var containerId = _ref2.containerId,\n toastId = _ref2.toastId,\n updateId = _ref2.updateId;\n return !containerRef.current || instance.props.enableMultiContainer && containerId !== instance.props.containerId || collection[toastId] && updateId == null ? true : false;\n } // this function and all the function called inside needs to rely on ref(`useKeeper`)\n\n\n function buildToast(content, _ref3) {\n var delay = _ref3.delay,\n staleId = _ref3.staleId,\n options = _objectWithoutPropertiesLoose(_ref3, [\"delay\", \"staleId\"]);\n\n if (!canBeRendered(content) || isNotValid(options)) return;\n var toastId = options.toastId,\n updateId = options.updateId;\n var props = instance.props;\n\n var closeToast = function closeToast() {\n return removeToast(toastId);\n };\n\n var isNotAnUpdate = options.updateId == null;\n if (isNotAnUpdate) toastCount++;\n var toastProps = {\n toastId: toastId,\n updateId: updateId,\n isIn: false,\n key: options.key || instance.toastKey++,\n type: options.type,\n closeToast: closeToast,\n closeButton: options.closeButton,\n rtl: props.rtl,\n position: options.position || props.position,\n transition: options.transition || props.transition,\n className: parseClassName(options.className || props.toastClassName),\n bodyClassName: parseClassName(options.bodyClassName || props.bodyClassName),\n style: options.style || props.toastStyle,\n bodyStyle: options.bodyStyle || props.bodyStyle,\n onClick: options.onClick || props.onClick,\n pauseOnHover: isBool(options.pauseOnHover) ? options.pauseOnHover : props.pauseOnHover,\n pauseOnFocusLoss: isBool(options.pauseOnFocusLoss) ? options.pauseOnFocusLoss : props.pauseOnFocusLoss,\n draggable: isBool(options.draggable) ? options.draggable : props.draggable,\n draggablePercent: isNum(options.draggablePercent) ? options.draggablePercent : props.draggablePercent,\n draggableDirection: options.draggableDirection || props.draggableDirection,\n closeOnClick: isBool(options.closeOnClick) ? options.closeOnClick : props.closeOnClick,\n progressClassName: parseClassName(options.progressClassName || props.progressClassName),\n progressStyle: options.progressStyle || props.progressStyle,\n autoClose: getAutoCloseDelay(options.autoClose, props.autoClose),\n hideProgressBar: isBool(options.hideProgressBar) ? options.hideProgressBar : props.hideProgressBar,\n progress: options.progress,\n role: isStr(options.role) ? options.role : props.role,\n deleteToast: function deleteToast() {\n removeFromCollection(toastId);\n }\n };\n if (isFn(options.onOpen)) toastProps.onOpen = options.onOpen;\n if (isFn(options.onClose)) toastProps.onClose = options.onClose; // tweak for vertical dragging\n\n if (toastProps.draggableDirection === \"y\"\n /* Y */\n && toastProps.draggablePercent === 80\n /* DRAGGABLE_PERCENT */\n ) {\n toastProps.draggablePercent *= 1.5;\n }\n\n var closeButton = props.closeButton;\n\n if (options.closeButton === false || canBeRendered(options.closeButton)) {\n closeButton = options.closeButton;\n } else if (options.closeButton === true) {\n closeButton = canBeRendered(props.closeButton) ? props.closeButton : true;\n }\n\n toastProps.closeButton = closeButton;\n var toastContent = content;\n\n if (isValidElement(content) && !isStr(content.type)) {\n toastContent = cloneElement(content, {\n closeToast: closeToast,\n toastProps: toastProps\n });\n } else if (isFn(content)) {\n toastContent = content({\n closeToast: closeToast,\n toastProps: toastProps\n });\n } // not handling limit + delay by design. Waiting for user feedback first\n\n\n if (props.limit && props.limit > 0 && toastCount > props.limit && isNotAnUpdate) {\n queue.push({\n toastContent: toastContent,\n toastProps: toastProps,\n staleId: staleId\n });\n } else if (isNum(delay) && delay > 0) {\n setTimeout(function () {\n appendToast(toastContent, toastProps, staleId);\n }, delay);\n } else {\n appendToast(toastContent, toastProps, staleId);\n }\n }\n\n function appendToast(content, toastProps, staleId) {\n var toastId = toastProps.toastId;\n if (staleId) delete collection[staleId];\n collection[toastId] = {\n content: content,\n props: toastProps\n };\n dispatch({\n type: 0\n /* ADD */\n ,\n toastId: toastId,\n staleId: staleId\n });\n }\n\n function removeFromCollection(toastId) {\n delete collection[toastId];\n var queueLen = queue.length;\n toastCount = isToastIdValid(toastId) ? toastCount - 1 : toastCount - instance.displayedToast;\n if (toastCount < 0) toastCount = 0;\n\n if (queueLen > 0) {\n var freeSlot = isToastIdValid(toastId) ? 1 : instance.props.limit;\n\n if (queueLen === 1 || freeSlot === 1) {\n instance.displayedToast++;\n dequeueToast();\n } else {\n var toDequeue = freeSlot > queueLen ? queueLen : freeSlot;\n instance.displayedToast = toDequeue;\n\n for (var i = 0; i < toDequeue; i++) {\n dequeueToast();\n }\n }\n } else {\n forceUpdate();\n }\n }\n\n function getToastToRender(cb) {\n var toastToRender = {};\n var toastList = props.newestOnTop ? Object.keys(collection).reverse() : Object.keys(collection);\n\n for (var i = 0; i < toastList.length; i++) {\n var _toast = collection[toastList[i]];\n var position = _toast.props.position;\n toastToRender[position] || (toastToRender[position] = []);\n toastToRender[position].push(_toast);\n }\n\n return Object.keys(toastToRender).map(function (p) {\n return cb(p, toastToRender[p]);\n });\n }\n\n return {\n getToastToRender: getToastToRender,\n collection: collection,\n containerRef: containerRef,\n isToastActive: isToastActive\n };\n}\n\nfunction getX(e) {\n return e.targetTouches && e.targetTouches.length >= 1 ? e.targetTouches[0].clientX : e.clientX;\n}\n\nfunction getY(e) {\n return e.targetTouches && e.targetTouches.length >= 1 ? e.targetTouches[0].clientY : e.clientY;\n}\n\nfunction useToast(props) {\n var _useState = useState(true),\n isRunning = _useState[0],\n setIsRunning = _useState[1];\n\n var _useState2 = useState(false),\n preventExitTransition = _useState2[0],\n setPreventExitTransition = _useState2[1];\n\n var toastRef = useRef(null);\n var drag = useKeeper({\n start: 0,\n x: 0,\n y: 0,\n delta: 0,\n removalDistance: 0,\n canCloseOnClick: true,\n canDrag: false,\n boundingRect: null\n });\n var syncProps = useKeeper(props, true);\n var autoClose = props.autoClose,\n pauseOnHover = props.pauseOnHover,\n closeToast = props.closeToast,\n onClick = props.onClick,\n closeOnClick = props.closeOnClick;\n useEffect(function () {\n if (isFn(props.onOpen)) props.onOpen(isValidElement(props.children) && props.children.props);\n return function () {\n if (isFn(syncProps.onClose)) syncProps.onClose(isValidElement(syncProps.children) && syncProps.children.props);\n };\n }, []);\n useEffect(function () {\n props.draggable && bindDragEvents();\n return function () {\n props.draggable && unbindDragEvents();\n };\n }, [props.draggable]);\n useEffect(function () {\n props.pauseOnFocusLoss && bindFocusEvents();\n return function () {\n props.pauseOnFocusLoss && unbindFocusEvents();\n };\n }, [props.pauseOnFocusLoss]);\n\n function onDragStart(e) {\n if (props.draggable) {\n var toast = toastRef.current;\n drag.canCloseOnClick = true;\n drag.canDrag = true;\n drag.boundingRect = toast.getBoundingClientRect();\n toast.style.transition = '';\n drag.x = getX(e.nativeEvent);\n drag.y = getY(e.nativeEvent);\n\n if (props.draggableDirection === \"x\"\n /* X */\n ) {\n drag.start = drag.x;\n drag.removalDistance = toast.offsetWidth * (props.draggablePercent / 100);\n } else {\n drag.start = drag.y;\n drag.removalDistance = toast.offsetHeight * (props.draggablePercent / 100);\n }\n }\n }\n\n function onDragTransitionEnd() {\n if (drag.boundingRect) {\n var _drag$boundingRect = drag.boundingRect,\n top = _drag$boundingRect.top,\n bottom = _drag$boundingRect.bottom,\n left = _drag$boundingRect.left,\n right = _drag$boundingRect.right;\n\n if (props.pauseOnHover && drag.x >= left && drag.x <= right && drag.y >= top && drag.y <= bottom) {\n pauseToast();\n } else {\n playToast();\n }\n }\n }\n\n function playToast() {\n setIsRunning(true);\n }\n\n function pauseToast() {\n setIsRunning(false);\n }\n\n function bindFocusEvents() {\n if (!document.hasFocus()) pauseToast();\n window.addEventListener('focus', playToast);\n window.addEventListener('blur', pauseToast);\n }\n\n function unbindFocusEvents() {\n window.removeEventListener('focus', playToast);\n window.removeEventListener('blur', pauseToast);\n }\n\n function bindDragEvents() {\n document.addEventListener('mousemove', onDragMove);\n document.addEventListener('mouseup', onDragEnd);\n document.addEventListener('touchmove', onDragMove);\n document.addEventListener('touchend', onDragEnd);\n }\n\n function unbindDragEvents() {\n document.removeEventListener('mousemove', onDragMove);\n document.removeEventListener('mouseup', onDragEnd);\n document.removeEventListener('touchmove', onDragMove);\n document.removeEventListener('touchend', onDragEnd);\n }\n\n function onDragMove(e) {\n if (drag.canDrag) {\n e.preventDefault();\n var toast = toastRef.current;\n if (isRunning) pauseToast();\n drag.x = getX(e);\n drag.y = getY(e);\n\n if (props.draggableDirection === \"x\"\n /* X */\n ) {\n drag.delta = drag.x - drag.start;\n } else {\n drag.delta = drag.y - drag.start;\n } // prevent false positif during a toast click\n\n\n if (drag.start !== drag.x) drag.canCloseOnClick = false;\n toast.style.transform = \"translate\" + props.draggableDirection + \"(\" + drag.delta + \"px)\";\n toast.style.opacity = \"\" + (1 - Math.abs(drag.delta / drag.removalDistance));\n }\n }\n\n function onDragEnd() {\n var toast = toastRef.current;\n\n if (drag.canDrag) {\n drag.canDrag = false;\n\n if (Math.abs(drag.delta) > drag.removalDistance) {\n setPreventExitTransition(true);\n props.closeToast();\n return;\n }\n\n toast.style.transition = 'transform 0.2s, opacity 0.2s';\n toast.style.transform = \"translate\" + props.draggableDirection + \"(0)\";\n toast.style.opacity = '1';\n }\n }\n\n var eventHandlers = {\n onMouseDown: onDragStart,\n onTouchStart: onDragStart,\n onMouseUp: onDragTransitionEnd,\n onTouchEnd: onDragTransitionEnd\n };\n\n if (autoClose && pauseOnHover) {\n eventHandlers.onMouseEnter = pauseToast;\n eventHandlers.onMouseLeave = playToast;\n } // prevent toast from closing when user drags the toast\n\n\n if (closeOnClick) {\n eventHandlers.onClick = function (e) {\n onClick && onClick(e);\n drag.canCloseOnClick && closeToast();\n };\n }\n\n return {\n playToast: playToast,\n pauseToast: pauseToast,\n isRunning: isRunning,\n preventExitTransition: preventExitTransition,\n toastRef: toastRef,\n eventHandlers: eventHandlers\n };\n}\n\nfunction CloseButton(_ref) {\n var closeToast = _ref.closeToast,\n type = _ref.type,\n _ref$ariaLabel = _ref.ariaLabel,\n ariaLabel = _ref$ariaLabel === void 0 ? 'close' : _ref$ariaLabel;\n return createElement(\"button\", {\n className: \"Toastify\"\n /* CSS_NAMESPACE */\n + \"__close-button \" + \"Toastify\"\n /* CSS_NAMESPACE */\n + \"__close-button--\" + type,\n type: \"button\",\n onClick: function onClick(e) {\n e.stopPropagation();\n closeToast(e);\n },\n \"aria-label\": ariaLabel\n }, createElement(\"svg\", {\n \"aria-hidden\": \"true\",\n viewBox: \"0 0 14 16\"\n }, createElement(\"path\", {\n fillRule: \"evenodd\",\n d: \"M7.71 8.23l3.75 3.75-1.48 1.48-3.75-3.75-3.75 3.75L1 11.98l3.75-3.75L1 4.48 2.48 3l3.75 3.75L9.98 3l1.48 1.48-3.75 3.75z\"\n })));\n}\n\nfunction ProgressBar(_ref) {\n var _cx, _animationEvent;\n\n var delay = _ref.delay,\n isRunning = _ref.isRunning,\n closeToast = _ref.closeToast,\n type = _ref.type,\n hide = _ref.hide,\n className = _ref.className,\n userStyle = _ref.style,\n controlledProgress = _ref.controlledProgress,\n progress = _ref.progress,\n rtl = _ref.rtl,\n isIn = _ref.isIn;\n\n var style = _extends({}, userStyle, {\n animationDuration: delay + \"ms\",\n animationPlayState: isRunning ? 'running' : 'paused',\n opacity: hide ? 0 : 1\n });\n\n if (controlledProgress) style.transform = \"scaleX(\" + progress + \")\";\n var defaultClassName = cx(\"Toastify\"\n /* CSS_NAMESPACE */\n + \"__progress-bar\", controlledProgress ? \"Toastify\"\n /* CSS_NAMESPACE */\n + \"__progress-bar--controlled\" : \"Toastify\"\n /* CSS_NAMESPACE */\n + \"__progress-bar--animated\", \"Toastify\"\n /* CSS_NAMESPACE */\n + \"__progress-bar--\" + type, (_cx = {}, _cx[\"Toastify\"\n /* CSS_NAMESPACE */\n + \"__progress-bar--rtl\"] = rtl, _cx));\n var classNames = isFn(className) ? className({\n rtl: rtl,\n type: type,\n defaultClassName: defaultClassName\n }) : cx(defaultClassName, className); // 🧐 controlledProgress is derived from progress\n // so if controlledProgress is set\n // it means that this is also the case for progress\n\n var animationEvent = (_animationEvent = {}, _animationEvent[controlledProgress && progress >= 1 ? 'onTransitionEnd' : 'onAnimationEnd'] = controlledProgress && progress < 1 ? null : function () {\n isIn && closeToast();\n }, _animationEvent); // TODO: add aria-valuenow, aria-valuemax, aria-valuemin\n\n return createElement(\"div\", Object.assign({\n role: \"progressbar\",\n \"aria-hidden\": hide ? 'true' : 'false',\n \"aria-label\": \"notification timer\",\n className: classNames,\n style: style\n }, animationEvent));\n}\nProgressBar.defaultProps = {\n type: TYPE.DEFAULT,\n hide: false\n};\n\nvar Toast = function Toast(props) {\n var _cx;\n\n var _useToast = useToast(props),\n isRunning = _useToast.isRunning,\n preventExitTransition = _useToast.preventExitTransition,\n toastRef = _useToast.toastRef,\n eventHandlers = _useToast.eventHandlers;\n\n var closeButton = props.closeButton,\n children = props.children,\n autoClose = props.autoClose,\n onClick = props.onClick,\n type = props.type,\n hideProgressBar = props.hideProgressBar,\n closeToast = props.closeToast,\n Transition = props.transition,\n position = props.position,\n className = props.className,\n style = props.style,\n bodyClassName = props.bodyClassName,\n bodyStyle = props.bodyStyle,\n progressClassName = props.progressClassName,\n progressStyle = props.progressStyle,\n updateId = props.updateId,\n role = props.role,\n progress = props.progress,\n rtl = props.rtl,\n toastId = props.toastId,\n deleteToast = props.deleteToast,\n isIn = props.isIn;\n var defaultClassName = cx(\"Toastify\"\n /* CSS_NAMESPACE */\n + \"__toast\", \"Toastify\"\n /* CSS_NAMESPACE */\n + \"__toast--\" + type, (_cx = {}, _cx[\"Toastify\"\n /* CSS_NAMESPACE */\n + \"__toast--rtl\"] = rtl, _cx));\n var cssClasses = isFn(className) ? className({\n rtl: rtl,\n position: position,\n type: type,\n defaultClassName: defaultClassName\n }) : cx(defaultClassName, className);\n var isProgressControlled = !!progress;\n\n function renderCloseButton(closeButton) {\n if (!closeButton) return;\n var props = {\n closeToast: closeToast,\n type: type\n };\n if (isFn(closeButton)) return closeButton(props);\n if (isValidElement(closeButton)) return cloneElement(closeButton, props);\n }\n\n return createElement(Transition, {\n isIn: isIn,\n done: deleteToast,\n position: position,\n preventExitTransition: preventExitTransition,\n nodeRef: toastRef\n }, createElement(\"div\", Object.assign({\n id: toastId,\n onClick: onClick,\n className: cssClasses\n }, eventHandlers, {\n style: style,\n ref: toastRef\n }), createElement(\"div\", Object.assign({}, isIn && {\n role: role\n }, {\n className: isFn(bodyClassName) ? bodyClassName({\n type: type\n }) : cx(\"Toastify\"\n /* CSS_NAMESPACE */\n + \"__toast-body\", bodyClassName),\n style: bodyStyle\n }), children), renderCloseButton(closeButton), (autoClose || isProgressControlled) && createElement(ProgressBar, Object.assign({}, updateId && !isProgressControlled ? {\n key: \"pb-\" + updateId\n } : {}, {\n rtl: rtl,\n delay: autoClose,\n isRunning: isRunning,\n isIn: isIn,\n closeToast: closeToast,\n hide: hideProgressBar,\n type: type,\n style: progressStyle,\n className: progressClassName,\n controlledProgress: isProgressControlled,\n progress: progress\n }))));\n};\n\nvar Bounce = /*#__PURE__*/cssTransition({\n enter: \"Toastify\"\n /* CSS_NAMESPACE */\n + \"--animate \" + \"Toastify\"\n /* CSS_NAMESPACE */\n + \"__bounce-enter\",\n exit: \"Toastify\"\n /* CSS_NAMESPACE */\n + \"--animate \" + \"Toastify\"\n /* CSS_NAMESPACE */\n + \"__bounce-exit\",\n appendPosition: true\n});\nvar Slide = /*#__PURE__*/cssTransition({\n enter: \"Toastify\"\n /* CSS_NAMESPACE */\n + \"--animate \" + \"Toastify\"\n /* CSS_NAMESPACE */\n + \"__slide-enter\",\n exit: \"Toastify\"\n /* CSS_NAMESPACE */\n + \"--animate \" + \"Toastify\"\n /* CSS_NAMESPACE */\n + \"__slide-exit\",\n appendPosition: true\n});\nvar Zoom = /*#__PURE__*/cssTransition({\n enter: \"Toastify\"\n /* CSS_NAMESPACE */\n + \"--animate \" + \"Toastify\"\n /* CSS_NAMESPACE */\n + \"__zoom-enter\",\n exit: \"Toastify\"\n /* CSS_NAMESPACE */\n + \"--animate \" + \"Toastify\"\n /* CSS_NAMESPACE */\n + \"__zoom-exit\"\n});\nvar Flip = /*#__PURE__*/cssTransition({\n enter: \"Toastify\"\n /* CSS_NAMESPACE */\n + \"--animate \" + \"Toastify\"\n /* CSS_NAMESPACE */\n + \"__flip-enter\",\n exit: \"Toastify\"\n /* CSS_NAMESPACE */\n + \"--animate \" + \"Toastify\"\n /* CSS_NAMESPACE */\n + \"__flip-exit\"\n});\n\nvar ToastContainer = function ToastContainer(props) {\n var _useToastContainer = useToastContainer(props),\n getToastToRender = _useToastContainer.getToastToRender,\n containerRef = _useToastContainer.containerRef,\n isToastActive = _useToastContainer.isToastActive;\n\n var className = props.className,\n style = props.style,\n rtl = props.rtl,\n containerId = props.containerId;\n\n function getClassName(position) {\n var _cx;\n\n var defaultClassName = cx(\"Toastify\"\n /* CSS_NAMESPACE */\n + \"__toast-container\", \"Toastify\"\n /* CSS_NAMESPACE */\n + \"__toast-container--\" + position, (_cx = {}, _cx[\"Toastify\"\n /* CSS_NAMESPACE */\n + \"__toast-container--rtl\"] = rtl, _cx));\n return isFn(className) ? className({\n position: position,\n rtl: rtl,\n defaultClassName: defaultClassName\n }) : cx(defaultClassName, parseClassName(className));\n }\n\n return createElement(\"div\", {\n ref: containerRef,\n className: \"Toastify\"\n /* CSS_NAMESPACE */\n ,\n id: containerId\n }, getToastToRender(function (position, toastList) {\n var containerStyle = toastList.length === 0 ? _extends({}, style, {\n pointerEvents: 'none'\n }) : _extends({}, style);\n return createElement(\"div\", {\n className: getClassName(position),\n style: containerStyle,\n key: \"container-\" + position\n }, toastList.map(function (_ref) {\n var content = _ref.content,\n toastProps = _ref.props;\n return createElement(Toast, Object.assign({}, toastProps, {\n isIn: isToastActive(toastProps.toastId),\n key: \"toast-\" + toastProps.key,\n closeButton: toastProps.closeButton === true ? CloseButton : toastProps.closeButton\n }), content);\n }));\n }));\n};\nToastContainer.defaultProps = {\n position: POSITION.TOP_RIGHT,\n transition: Bounce,\n rtl: false,\n autoClose: 5000,\n hideProgressBar: false,\n closeButton: CloseButton,\n pauseOnHover: true,\n pauseOnFocusLoss: true,\n closeOnClick: true,\n newestOnTop: false,\n draggable: true,\n draggablePercent: 80\n /* DRAGGABLE_PERCENT */\n ,\n draggableDirection: \"x\"\n /* X */\n ,\n role: 'alert'\n};\n\nvar containers = /*#__PURE__*/new Map();\nvar latestInstance;\nvar containerDomNode;\nvar containerConfig;\nvar queue = [];\nvar lazy = false;\n/**\r\n * Check whether any container is currently mounted in the DOM\r\n */\n\nfunction isAnyContainerMounted() {\n return containers.size > 0;\n}\n/**\r\n * Get the toast by id, given it's in the DOM, otherwise returns null\r\n */\n\n\nfunction getToast(toastId, _ref) {\n var containerId = _ref.containerId;\n var container = containers.get(containerId || latestInstance);\n if (!container) return null;\n return container.getToast(toastId);\n}\n/**\r\n * Generate a random toastId\r\n */\n\n\nfunction generateToastId() {\n return Math.random().toString(36).substr(2, 9);\n}\n/**\r\n * Generate a toastId or use the one provided\r\n */\n\n\nfunction getToastId(options) {\n if (options && (isStr(options.toastId) || isNum(options.toastId))) {\n return options.toastId;\n }\n\n return generateToastId();\n}\n/**\r\n * If the container is not mounted, the toast is enqueued and\r\n * the container lazy mounted\r\n */\n\n\nfunction dispatchToast(content, options) {\n if (isAnyContainerMounted()) {\n eventManager.emit(0\n /* Show */\n , content, options);\n } else {\n queue.push({\n content: content,\n options: options\n });\n\n if (lazy && canUseDom) {\n lazy = false;\n containerDomNode = document.createElement('div');\n document.body.appendChild(containerDomNode);\n render(createElement(ToastContainer, Object.assign({}, containerConfig)), containerDomNode);\n }\n }\n\n return options.toastId;\n}\n/**\r\n * Merge provided options with the defaults settings and generate the toastId\r\n */\n\n\nfunction mergeOptions(type, options) {\n return _extends({}, options, {\n type: options && options.type || type,\n toastId: getToastId(options)\n });\n}\n\nvar createToastByType = function createToastByType(type) {\n return function (content, options) {\n return dispatchToast(content, mergeOptions(type, options));\n };\n};\n\nvar toast = function toast(content, options) {\n return dispatchToast(content, mergeOptions(TYPE.DEFAULT, options));\n};\n\ntoast.success = /*#__PURE__*/createToastByType(TYPE.SUCCESS);\ntoast.info = /*#__PURE__*/createToastByType(TYPE.INFO);\ntoast.error = /*#__PURE__*/createToastByType(TYPE.ERROR);\ntoast.warning = /*#__PURE__*/createToastByType(TYPE.WARNING);\ntoast.dark = /*#__PURE__*/createToastByType(TYPE.DARK);\ntoast.warn = toast.warning;\n/**\r\n * Remove toast programmaticaly\r\n */\n\ntoast.dismiss = function (id) {\n return eventManager.emit(1\n /* Clear */\n , id);\n};\n/**\r\n * Clear waiting queue when limit is used\r\n */\n\n\ntoast.clearWaitingQueue = function (params) {\n if (params === void 0) {\n params = {};\n }\n\n return eventManager.emit(5\n /* ClearWaitingQueue */\n , params);\n};\n/**\r\n * return true if one container is displaying the toast\r\n */\n\n\ntoast.isActive = function (id) {\n var isToastActive = false;\n containers.forEach(function (container) {\n if (container.isToastActive && container.isToastActive(id)) {\n isToastActive = true;\n }\n });\n return isToastActive;\n};\n\ntoast.update = function (toastId, options) {\n if (options === void 0) {\n options = {};\n }\n\n // if you call toast and toast.update directly nothing will be displayed\n // this is why I defered the update\n setTimeout(function () {\n var toast = getToast(toastId, options);\n\n if (toast) {\n var oldOptions = toast.props,\n oldContent = toast.content;\n\n var nextOptions = _extends({}, oldOptions, options, {\n toastId: options.toastId || toastId,\n updateId: generateToastId()\n });\n\n if (nextOptions.toastId !== toastId) nextOptions.staleId = toastId;\n var content = nextOptions.render || oldContent;\n delete nextOptions.render;\n dispatchToast(content, nextOptions);\n }\n }, 0);\n};\n/**\r\n * Used for controlled progress bar.\r\n */\n\n\ntoast.done = function (id) {\n toast.update(id, {\n progress: 1\n });\n};\n/**\r\n * Track changes. The callback get the number of toast displayed\r\n *\r\n */\n\n\ntoast.onChange = function (callback) {\n if (isFn(callback)) {\n eventManager.on(4\n /* Change */\n , callback);\n }\n\n return function () {\n isFn(callback) && eventManager.off(4\n /* Change */\n , callback);\n };\n};\n/**\r\n * Configure the ToastContainer when lazy mounted\r\n */\n\n\ntoast.configure = function (config) {\n if (config === void 0) {\n config = {};\n }\n\n lazy = true;\n containerConfig = config;\n};\n\ntoast.POSITION = POSITION;\ntoast.TYPE = TYPE;\n/**\r\n * Wait until the ToastContainer is mounted to dispatch the toast\r\n * and attach isActive method\r\n */\n\neventManager.on(2\n/* DidMount */\n, function (containerInstance) {\n latestInstance = containerInstance.containerId || containerInstance;\n containers.set(latestInstance, containerInstance);\n queue.forEach(function (item) {\n eventManager.emit(0\n /* Show */\n , item.content, item.options);\n });\n queue = [];\n}).on(3\n/* WillUnmount */\n, function (containerInstance) {\n containers[\"delete\"](containerInstance.containerId || containerInstance);\n\n if (containers.size === 0) {\n eventManager.off(0\n /* Show */\n ).off(1\n /* Clear */\n ).off(5\n /* ClearWaitingQueue */\n );\n }\n\n if (canUseDom && containerDomNode) {\n document.body.removeChild(containerDomNode);\n }\n});\n\nexport { Bounce, Flip, Slide, ToastContainer, Zoom, collapseToast, cssTransition, toast, useToast, useToastContainer };\n//# sourceMappingURL=react-toastify.esm.js.map\n"],"names":["_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","isNum","v","isNaN","isBool","isStr","isFn","parseClassName","isToastIdValid","toastId","canUseDom","window","document","createElement","canBeRendered","content","isValidElement","POSITION","TOP_LEFT","TOP_RIGHT","TOP_CENTER","BOTTOM_LEFT","BOTTOM_RIGHT","BOTTOM_CENTER","TYPE","INFO","SUCCESS","WARNING","ERROR","DEFAULT","DARK","collapseToast","node","done","duration","height","scrollHeight","style","requestAnimationFrame","minHeight","transition","padding","margin","setTimeout","cssTransition","_ref","enter","exit","_ref$appendPosition","appendPosition","_ref$collapse","collapse","_ref$collapseDuration","collapseDuration","_ref2","children","position","preventExitTransition","nodeRef","isIn","enterClassName","exitClassName","baseClassName","useRef","animationStep","onEntered","current","removeEventListener","className","onExited","useLayoutEffect","addEventListener","useEffect","onExit","React__default","Fragment","eventManager","list","Map","emitQueue","on","event","callback","has","set","get","push","off","cb","filter","cancelEmit","timers","forEach","clearTimeout","emit","_this","_len","args","Array","_key","timer","useKeeper","arg","refresh","ref","reducer","state","action","type","concat","id","staleId","useToastContainer","props","forceUpdate","useReducer","x","_useReducer2","toast","dispatch","containerRef","toastCount","queue","collection","instance","toastKey","displayedToast","containerId","isToastActive","getToast","indexOf","clearWaitingQueue","limit","removeToast","dequeueToast","_queue$shift","shift","appendToast","toastContent","toastProps","buildToast","_ref3","delay","options","excluded","sourceKeys","keys","_objectWithoutPropertiesLoose","updateId","enableMultiContainer","isNotValid","closeToast","isNotAnUpdate","toastAutoClose","containerAutoClose","closeButton","rtl","toastClassName","bodyClassName","toastStyle","bodyStyle","onClick","pauseOnHover","pauseOnFocusLoss","draggable","draggablePercent","draggableDirection","closeOnClick","progressClassName","progressStyle","autoClose","hideProgressBar","progress","role","deleteToast","queueLen","freeSlot","toDequeue","removeFromCollection","onOpen","onClose","cloneElement","getToastToRender","toastToRender","toastList","newestOnTop","reverse","_toast","map","p","getX","e","targetTouches","clientX","getY","clientY","useToast","_useState","useState","isRunning","setIsRunning","_useState2","setPreventExitTransition","toastRef","drag","start","y","delta","removalDistance","canCloseOnClick","canDrag","boundingRect","syncProps","onDragStart","getBoundingClientRect","nativeEvent","offsetWidth","offsetHeight","onDragTransitionEnd","_drag$boundingRect","top","bottom","left","right","pauseToast","playToast","onDragMove","preventDefault","transform","opacity","Math","abs","onDragEnd","hasFocus","bindFocusEvents","eventHandlers","onMouseDown","onTouchStart","onMouseUp","onTouchEnd","onMouseEnter","onMouseLeave","CloseButton","_ref$ariaLabel","ariaLabel","stopPropagation","viewBox","fillRule","d","ProgressBar","_cx","_animationEvent","hide","userStyle","controlledProgress","animationDuration","animationPlayState","defaultClassName","cx","classNames","animationEvent","defaultProps","Toast","_useToast","Transition","cssClasses","isProgressControlled","renderCloseButton","Bounce","ToastContainer","_useToastContainer","getClassName","containerStyle","pointerEvents","latestInstance","containerDomNode","containerConfig","containers","lazy","generateToastId","random","toString","substr","getToastId","dispatchToast","size","body","appendChild","render","mergeOptions","createToastByType","success","info","error","warning","dark","warn","dismiss","params","isActive","container","update","oldOptions","oldContent","nextOptions","onChange","configure","config","containerInstance","item","removeChild"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.js","sources":["../../../../../node_modules/socket.io-client/build/esm/manager.js"],"sourcesContent":["import { Socket as Engine, installTimerFunctions, nextTick, } from \"engine.io-client\";\nimport { Socket } from \"./socket.js\";\nimport * as parser from \"socket.io-parser\";\nimport { on } from \"./on.js\";\nimport { Backoff } from \"./contrib/backo2.js\";\nimport { Emitter, } from \"@socket.io/component-emitter\";\nexport class Manager extends Emitter {\n constructor(uri, opts) {\n var _a;\n super();\n this.nsps = {};\n this.subs = [];\n if (uri && \"object\" === typeof uri) {\n opts = uri;\n uri = undefined;\n }\n opts = opts || {};\n opts.path = opts.path || \"/socket.io\";\n this.opts = opts;\n installTimerFunctions(this, opts);\n this.reconnection(opts.reconnection !== false);\n this.reconnectionAttempts(opts.reconnectionAttempts || Infinity);\n this.reconnectionDelay(opts.reconnectionDelay || 1000);\n this.reconnectionDelayMax(opts.reconnectionDelayMax || 5000);\n this.randomizationFactor((_a = opts.randomizationFactor) !== null && _a !== void 0 ? _a : 0.5);\n this.backoff = new Backoff({\n min: this.reconnectionDelay(),\n max: this.reconnectionDelayMax(),\n jitter: this.randomizationFactor(),\n });\n this.timeout(null == opts.timeout ? 20000 : opts.timeout);\n this._readyState = \"closed\";\n this.uri = uri;\n const _parser = opts.parser || parser;\n this.encoder = new _parser.Encoder();\n this.decoder = new _parser.Decoder();\n this._autoConnect = opts.autoConnect !== false;\n if (this._autoConnect)\n this.open();\n }\n reconnection(v) {\n if (!arguments.length)\n return this._reconnection;\n this._reconnection = !!v;\n if (!v) {\n this.skipReconnect = true;\n }\n return this;\n }\n reconnectionAttempts(v) {\n if (v === undefined)\n return this._reconnectionAttempts;\n this._reconnectionAttempts = v;\n return this;\n }\n reconnectionDelay(v) {\n var _a;\n if (v === undefined)\n return this._reconnectionDelay;\n this._reconnectionDelay = v;\n (_a = this.backoff) === null || _a === void 0 ? void 0 : _a.setMin(v);\n return this;\n }\n randomizationFactor(v) {\n var _a;\n if (v === undefined)\n return this._randomizationFactor;\n this._randomizationFactor = v;\n (_a = this.backoff) === null || _a === void 0 ? void 0 : _a.setJitter(v);\n return this;\n }\n reconnectionDelayMax(v) {\n var _a;\n if (v === undefined)\n return this._reconnectionDelayMax;\n this._reconnectionDelayMax = v;\n (_a = this.backoff) === null || _a === void 0 ? void 0 : _a.setMax(v);\n return this;\n }\n timeout(v) {\n if (!arguments.length)\n return this._timeout;\n this._timeout = v;\n return this;\n }\n /**\n * Starts trying to reconnect if reconnection is enabled and we have not\n * started reconnecting yet\n *\n * @private\n */\n maybeReconnectOnOpen() {\n // Only try to reconnect if it's the first time we're connecting\n if (!this._reconnecting &&\n this._reconnection &&\n this.backoff.attempts === 0) {\n // keeps reconnection from firing twice for the same reconnection loop\n this.reconnect();\n }\n }\n /**\n * Sets the current transport `socket`.\n *\n * @param {Function} fn - optional, callback\n * @return self\n * @public\n */\n open(fn) {\n if (~this._readyState.indexOf(\"open\"))\n return this;\n this.engine = new Engine(this.uri, this.opts);\n const socket = this.engine;\n const self = this;\n this._readyState = \"opening\";\n this.skipReconnect = false;\n // emit `open`\n const openSubDestroy = on(socket, \"open\", function () {\n self.onopen();\n fn && fn();\n });\n const onError = (err) => {\n this.cleanup();\n this._readyState = \"closed\";\n this.emitReserved(\"error\", err);\n if (fn) {\n fn(err);\n }\n else {\n // Only do this if there is no fn to handle the error\n this.maybeReconnectOnOpen();\n }\n };\n // emit `error`\n const errorSub = on(socket, \"error\", onError);\n if (false !== this._timeout) {\n const timeout = this._timeout;\n // set timer\n const timer = this.setTimeoutFn(() => {\n openSubDestroy();\n onError(new Error(\"timeout\"));\n socket.close();\n }, timeout);\n if (this.opts.autoUnref) {\n timer.unref();\n }\n this.subs.push(() => {\n this.clearTimeoutFn(timer);\n });\n }\n this.subs.push(openSubDestroy);\n this.subs.push(errorSub);\n return this;\n }\n /**\n * Alias for open()\n *\n * @return self\n * @public\n */\n connect(fn) {\n return this.open(fn);\n }\n /**\n * Called upon transport open.\n *\n * @private\n */\n onopen() {\n // clear old subs\n this.cleanup();\n // mark as open\n this._readyState = \"open\";\n this.emitReserved(\"open\");\n // add new subs\n const socket = this.engine;\n this.subs.push(on(socket, \"ping\", this.onping.bind(this)), on(socket, \"data\", this.ondata.bind(this)), on(socket, \"error\", this.onerror.bind(this)), on(socket, \"close\", this.onclose.bind(this)), \n // @ts-ignore\n on(this.decoder, \"decoded\", this.ondecoded.bind(this)));\n }\n /**\n * Called upon a ping.\n *\n * @private\n */\n onping() {\n this.emitReserved(\"ping\");\n }\n /**\n * Called with data.\n *\n * @private\n */\n ondata(data) {\n try {\n this.decoder.add(data);\n }\n catch (e) {\n this.onclose(\"parse error\", e);\n }\n }\n /**\n * Called when parser fully decodes a packet.\n *\n * @private\n */\n ondecoded(packet) {\n // the nextTick call prevents an exception in a user-provided event listener from triggering a disconnection due to a \"parse error\"\n nextTick(() => {\n this.emitReserved(\"packet\", packet);\n }, this.setTimeoutFn);\n }\n /**\n * Called upon socket error.\n *\n * @private\n */\n onerror(err) {\n this.emitReserved(\"error\", err);\n }\n /**\n * Creates a new socket for the given `nsp`.\n *\n * @return {Socket}\n * @public\n */\n socket(nsp, opts) {\n let socket = this.nsps[nsp];\n if (!socket) {\n socket = new Socket(this, nsp, opts);\n this.nsps[nsp] = socket;\n }\n else if (this._autoConnect && !socket.active) {\n socket.connect();\n }\n return socket;\n }\n /**\n * Called upon a socket close.\n *\n * @param socket\n * @private\n */\n _destroy(socket) {\n const nsps = Object.keys(this.nsps);\n for (const nsp of nsps) {\n const socket = this.nsps[nsp];\n if (socket.active) {\n return;\n }\n }\n this._close();\n }\n /**\n * Writes a packet.\n *\n * @param packet\n * @private\n */\n _packet(packet) {\n const encodedPackets = this.encoder.encode(packet);\n for (let i = 0; i < encodedPackets.length; i++) {\n this.engine.write(encodedPackets[i], packet.options);\n }\n }\n /**\n * Clean up transport subscriptions and packet buffer.\n *\n * @private\n */\n cleanup() {\n this.subs.forEach((subDestroy) => subDestroy());\n this.subs.length = 0;\n this.decoder.destroy();\n }\n /**\n * Close the current socket.\n *\n * @private\n */\n _close() {\n this.skipReconnect = true;\n this._reconnecting = false;\n this.onclose(\"forced close\");\n }\n /**\n * Alias for close()\n *\n * @private\n */\n disconnect() {\n return this._close();\n }\n /**\n * Called when:\n *\n * - the low-level engine is closed\n * - the parser encountered a badly formatted packet\n * - all sockets are disconnected\n *\n * @private\n */\n onclose(reason, description) {\n var _a;\n this.cleanup();\n (_a = this.engine) === null || _a === void 0 ? void 0 : _a.close();\n this.backoff.reset();\n this._readyState = \"closed\";\n this.emitReserved(\"close\", reason, description);\n if (this._reconnection && !this.skipReconnect) {\n this.reconnect();\n }\n }\n /**\n * Attempt a reconnection.\n *\n * @private\n */\n reconnect() {\n if (this._reconnecting || this.skipReconnect)\n return this;\n const self = this;\n if (this.backoff.attempts >= this._reconnectionAttempts) {\n this.backoff.reset();\n this.emitReserved(\"reconnect_failed\");\n this._reconnecting = false;\n }\n else {\n const delay = this.backoff.duration();\n this._reconnecting = true;\n const timer = this.setTimeoutFn(() => {\n if (self.skipReconnect)\n return;\n this.emitReserved(\"reconnect_attempt\", self.backoff.attempts);\n // check again for the case socket closed in above events\n if (self.skipReconnect)\n return;\n self.open((err) => {\n if (err) {\n self._reconnecting = false;\n self.reconnect();\n this.emitReserved(\"reconnect_error\", err);\n }\n else {\n self.onreconnect();\n }\n });\n }, delay);\n if (this.opts.autoUnref) {\n timer.unref();\n }\n this.subs.push(() => {\n this.clearTimeoutFn(timer);\n });\n }\n }\n /**\n * Called upon successful reconnect.\n *\n * @private\n */\n onreconnect() {\n const attempt = this.backoff.attempts;\n this._reconnecting = false;\n this.backoff.reset();\n this.emitReserved(\"reconnect\", attempt);\n }\n}\n"],"names":["Manager","Emitter","constructor","uri","opts","_a","super","this","nsps","subs","undefined","path","installTimerFunctions","reconnection","reconnectionAttempts","Infinity","reconnectionDelay","reconnectionDelayMax","randomizationFactor","backoff","Backoff","min","max","jitter","timeout","_readyState","_parser","parser","encoder","Encoder","decoder","Decoder","_autoConnect","autoConnect","open","v","arguments","length","_reconnection","skipReconnect","_reconnectionAttempts","_reconnectionDelay","setMin","_randomizationFactor","setJitter","_reconnectionDelayMax","setMax","_timeout","maybeReconnectOnOpen","_reconnecting","attempts","reconnect","fn","indexOf","engine","Engine","socket","self","openSubDestroy","on","onopen","onError","err","cleanup","emitReserved","errorSub","timer","setTimeoutFn","Error","close","autoUnref","unref","push","clearTimeoutFn","connect","onping","bind","ondata","onerror","onclose","ondecoded","data","add","e","packet","nextTick","nsp","active","Socket","_destroy","Object","keys","_close","_packet","encodedPackets","encode","i","write","options","forEach","subDestroy","destroy","disconnect","reason","description","reset","delay","duration","onreconnect","attempt"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"manager.js","sources":["../../../../../node_modules/socket.io-client/build/esm/manager.js"],"sourcesContent":["import { Socket as Engine, installTimerFunctions, nextTick, } from \"engine.io-client\";\nimport { Socket } from \"./socket.js\";\nimport * as parser from \"socket.io-parser\";\nimport { on } from \"./on.js\";\nimport { Backoff } from \"./contrib/backo2.js\";\nimport { Emitter, } from \"@socket.io/component-emitter\";\nexport class Manager extends Emitter {\n constructor(uri, opts) {\n var _a;\n super();\n this.nsps = {};\n this.subs = [];\n if (uri && \"object\" === typeof uri) {\n opts = uri;\n uri = undefined;\n }\n opts = opts || {};\n opts.path = opts.path || \"/socket.io\";\n this.opts = opts;\n installTimerFunctions(this, opts);\n this.reconnection(opts.reconnection !== false);\n this.reconnectionAttempts(opts.reconnectionAttempts || Infinity);\n this.reconnectionDelay(opts.reconnectionDelay || 1000);\n this.reconnectionDelayMax(opts.reconnectionDelayMax || 5000);\n this.randomizationFactor((_a = opts.randomizationFactor) !== null && _a !== void 0 ? _a : 0.5);\n this.backoff = new Backoff({\n min: this.reconnectionDelay(),\n max: this.reconnectionDelayMax(),\n jitter: this.randomizationFactor(),\n });\n this.timeout(null == opts.timeout ? 20000 : opts.timeout);\n this._readyState = \"closed\";\n this.uri = uri;\n const _parser = opts.parser || parser;\n this.encoder = new _parser.Encoder();\n this.decoder = new _parser.Decoder();\n this._autoConnect = opts.autoConnect !== false;\n if (this._autoConnect)\n this.open();\n }\n reconnection(v) {\n if (!arguments.length)\n return this._reconnection;\n this._reconnection = !!v;\n if (!v) {\n this.skipReconnect = true;\n }\n return this;\n }\n reconnectionAttempts(v) {\n if (v === undefined)\n return this._reconnectionAttempts;\n this._reconnectionAttempts = v;\n return this;\n }\n reconnectionDelay(v) {\n var _a;\n if (v === undefined)\n return this._reconnectionDelay;\n this._reconnectionDelay = v;\n (_a = this.backoff) === null || _a === void 0 ? void 0 : _a.setMin(v);\n return this;\n }\n randomizationFactor(v) {\n var _a;\n if (v === undefined)\n return this._randomizationFactor;\n this._randomizationFactor = v;\n (_a = this.backoff) === null || _a === void 0 ? void 0 : _a.setJitter(v);\n return this;\n }\n reconnectionDelayMax(v) {\n var _a;\n if (v === undefined)\n return this._reconnectionDelayMax;\n this._reconnectionDelayMax = v;\n (_a = this.backoff) === null || _a === void 0 ? void 0 : _a.setMax(v);\n return this;\n }\n timeout(v) {\n if (!arguments.length)\n return this._timeout;\n this._timeout = v;\n return this;\n }\n /**\n * Starts trying to reconnect if reconnection is enabled and we have not\n * started reconnecting yet\n *\n * @private\n */\n maybeReconnectOnOpen() {\n // Only try to reconnect if it's the first time we're connecting\n if (!this._reconnecting &&\n this._reconnection &&\n this.backoff.attempts === 0) {\n // keeps reconnection from firing twice for the same reconnection loop\n this.reconnect();\n }\n }\n /**\n * Sets the current transport `socket`.\n *\n * @param {Function} fn - optional, callback\n * @return self\n * @public\n */\n open(fn) {\n if (~this._readyState.indexOf(\"open\"))\n return this;\n this.engine = new Engine(this.uri, this.opts);\n const socket = this.engine;\n const self = this;\n this._readyState = \"opening\";\n this.skipReconnect = false;\n // emit `open`\n const openSubDestroy = on(socket, \"open\", function () {\n self.onopen();\n fn && fn();\n });\n const onError = (err) => {\n this.cleanup();\n this._readyState = \"closed\";\n this.emitReserved(\"error\", err);\n if (fn) {\n fn(err);\n }\n else {\n // Only do this if there is no fn to handle the error\n this.maybeReconnectOnOpen();\n }\n };\n // emit `error`\n const errorSub = on(socket, \"error\", onError);\n if (false !== this._timeout) {\n const timeout = this._timeout;\n // set timer\n const timer = this.setTimeoutFn(() => {\n openSubDestroy();\n onError(new Error(\"timeout\"));\n socket.close();\n }, timeout);\n if (this.opts.autoUnref) {\n timer.unref();\n }\n this.subs.push(() => {\n this.clearTimeoutFn(timer);\n });\n }\n this.subs.push(openSubDestroy);\n this.subs.push(errorSub);\n return this;\n }\n /**\n * Alias for open()\n *\n * @return self\n * @public\n */\n connect(fn) {\n return this.open(fn);\n }\n /**\n * Called upon transport open.\n *\n * @private\n */\n onopen() {\n // clear old subs\n this.cleanup();\n // mark as open\n this._readyState = \"open\";\n this.emitReserved(\"open\");\n // add new subs\n const socket = this.engine;\n this.subs.push(on(socket, \"ping\", this.onping.bind(this)), on(socket, \"data\", this.ondata.bind(this)), on(socket, \"error\", this.onerror.bind(this)), on(socket, \"close\", this.onclose.bind(this)), \n // @ts-ignore\n on(this.decoder, \"decoded\", this.ondecoded.bind(this)));\n }\n /**\n * Called upon a ping.\n *\n * @private\n */\n onping() {\n this.emitReserved(\"ping\");\n }\n /**\n * Called with data.\n *\n * @private\n */\n ondata(data) {\n try {\n this.decoder.add(data);\n }\n catch (e) {\n this.onclose(\"parse error\", e);\n }\n }\n /**\n * Called when parser fully decodes a packet.\n *\n * @private\n */\n ondecoded(packet) {\n // the nextTick call prevents an exception in a user-provided event listener from triggering a disconnection due to a \"parse error\"\n nextTick(() => {\n this.emitReserved(\"packet\", packet);\n }, this.setTimeoutFn);\n }\n /**\n * Called upon socket error.\n *\n * @private\n */\n onerror(err) {\n this.emitReserved(\"error\", err);\n }\n /**\n * Creates a new socket for the given `nsp`.\n *\n * @return {Socket}\n * @public\n */\n socket(nsp, opts) {\n let socket = this.nsps[nsp];\n if (!socket) {\n socket = new Socket(this, nsp, opts);\n this.nsps[nsp] = socket;\n }\n else if (this._autoConnect && !socket.active) {\n socket.connect();\n }\n return socket;\n }\n /**\n * Called upon a socket close.\n *\n * @param socket\n * @private\n */\n _destroy(socket) {\n const nsps = Object.keys(this.nsps);\n for (const nsp of nsps) {\n const socket = this.nsps[nsp];\n if (socket.active) {\n return;\n }\n }\n this._close();\n }\n /**\n * Writes a packet.\n *\n * @param packet\n * @private\n */\n _packet(packet) {\n const encodedPackets = this.encoder.encode(packet);\n for (let i = 0; i < encodedPackets.length; i++) {\n this.engine.write(encodedPackets[i], packet.options);\n }\n }\n /**\n * Clean up transport subscriptions and packet buffer.\n *\n * @private\n */\n cleanup() {\n this.subs.forEach((subDestroy) => subDestroy());\n this.subs.length = 0;\n this.decoder.destroy();\n }\n /**\n * Close the current socket.\n *\n * @private\n */\n _close() {\n this.skipReconnect = true;\n this._reconnecting = false;\n this.onclose(\"forced close\");\n }\n /**\n * Alias for close()\n *\n * @private\n */\n disconnect() {\n return this._close();\n }\n /**\n * Called when:\n *\n * - the low-level engine is closed\n * - the parser encountered a badly formatted packet\n * - all sockets are disconnected\n *\n * @private\n */\n onclose(reason, description) {\n var _a;\n this.cleanup();\n (_a = this.engine) === null || _a === void 0 ? void 0 : _a.close();\n this.backoff.reset();\n this._readyState = \"closed\";\n this.emitReserved(\"close\", reason, description);\n if (this._reconnection && !this.skipReconnect) {\n this.reconnect();\n }\n }\n /**\n * Attempt a reconnection.\n *\n * @private\n */\n reconnect() {\n if (this._reconnecting || this.skipReconnect)\n return this;\n const self = this;\n if (this.backoff.attempts >= this._reconnectionAttempts) {\n this.backoff.reset();\n this.emitReserved(\"reconnect_failed\");\n this._reconnecting = false;\n }\n else {\n const delay = this.backoff.duration();\n this._reconnecting = true;\n const timer = this.setTimeoutFn(() => {\n if (self.skipReconnect)\n return;\n this.emitReserved(\"reconnect_attempt\", self.backoff.attempts);\n // check again for the case socket closed in above events\n if (self.skipReconnect)\n return;\n self.open((err) => {\n if (err) {\n self._reconnecting = false;\n self.reconnect();\n this.emitReserved(\"reconnect_error\", err);\n }\n else {\n self.onreconnect();\n }\n });\n }, delay);\n if (this.opts.autoUnref) {\n timer.unref();\n }\n this.subs.push(() => {\n this.clearTimeoutFn(timer);\n });\n }\n }\n /**\n * Called upon successful reconnect.\n *\n * @private\n */\n onreconnect() {\n const attempt = this.backoff.attempts;\n this._reconnecting = false;\n this.backoff.reset();\n this.emitReserved(\"reconnect\", attempt);\n }\n}\n"],"names":["Manager","Emitter","constructor","uri","opts","_a","super","this","nsps","subs","undefined","path","installTimerFunctions","reconnection","reconnectionAttempts","Infinity","reconnectionDelay","reconnectionDelayMax","randomizationFactor","backoff","Backoff","min","max","jitter","timeout","_readyState","_parser","parser","encoder","Encoder","decoder","Decoder","_autoConnect","autoConnect","open","v","arguments","length","_reconnection","skipReconnect","_reconnectionAttempts","_reconnectionDelay","setMin","_randomizationFactor","setJitter","_reconnectionDelayMax","setMax","_timeout","maybeReconnectOnOpen","_reconnecting","attempts","reconnect","fn","indexOf","engine","Engine","socket","self","openSubDestroy","on","onopen","onError","err","cleanup","emitReserved","errorSub","timer","setTimeoutFn","Error","close","autoUnref","unref","push","clearTimeoutFn","connect","onping","bind","ondata","onerror","onclose","ondecoded","data","add","e","packet","nextTick","nsp","active","Socket","_destroy","Object","keys","_close","_packet","encodedPackets","encode","i","write","options","forEach","subDestroy","destroy","disconnect","reason","description","reset","delay","duration","onreconnect","attempt"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{PacketType as t}from"../../../socket.io-parser/build/esm/index.js";import{on as e}from"./on.js";import{Emitter as s}from"../../../@socket.io/component-emitter/lib/esm/index.js";const i=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1});class n extends s{constructor(t,e,s){super(),this.connected=!1,this.recovered=!1,this.receiveBuffer=[],this.sendBuffer=[],this._queue=[],this._queueSeq=0,this.ids=0,this.acks={},this.flags={},this.io=t,this.nsp=e,s&&s.auth&&(this.auth=s.auth),this._opts=Object.assign({},s),this.io._autoConnect&&this.open()}get disconnected(){return!this.connected}subEvents(){if(this.subs)return;const t=this.io;this.subs=[e(t,"open",this.onopen.bind(this)),e(t,"packet",this.onpacket.bind(this)),e(t,"error",this.onerror.bind(this)),e(t,"close",this.onclose.bind(this))]}get active(){return!!this.subs}connect(){return this.connected||(this.subEvents(),this.io._reconnecting||this.io.open(),"open"===this.io._readyState&&this.onopen()),this}open(){return this.connect()}send(...t){return t.unshift("message"),this.emit.apply(this,t),this}emit(e,...s){var n,r,o;if(i.hasOwnProperty(e))throw new Error('"'+e.toString()+'" is a reserved event name');if(s.unshift(e),this._opts.retries&&!this.flags.fromQueue&&!this.flags.volatile)return this._addToQueue(s),this;const h={type:t.EVENT,data:s,options:{}};if(h.options.compress=!1!==this.flags.compress,"function"==typeof s[s.length-1]){const t=this.ids++,e=s.pop();this._registerAckCallback(t,e),h.id=t}const c=null===(r=null===(n=this.io.engine)||void 0===n?void 0:n.transport)||void 0===r?void 0:r.writable,a=this.connected&&!(null===(o=this.io.engine)||void 0===o?void 0:o._hasPingExpired());return this.flags.volatile&&!c||(a?(this.notifyOutgoingListeners(h),this.packet(h)):this.sendBuffer.push(h)),this.flags={},this}_registerAckCallback(t,e){var s;const i=null!==(s=this.flags.timeout)&&void 0!==s?s:this._opts.ackTimeout;if(void 0===i)return void(this.acks[t]=e);const n=this.io.setTimeoutFn(()=>{delete this.acks[t];for(let e=0;e<this.sendBuffer.length;e++)this.sendBuffer[e].id===t&&this.sendBuffer.splice(e,1);e.call(this,new Error("operation has timed out"))},i),r=(...t)=>{this.io.clearTimeoutFn(n),e.apply(this,t)};r.withError=!0,this.acks[t]=r}emitWithAck(t,...e){return new Promise((s,i)=>{const n=(t,e)=>t?i(t):s(e);n.withError=!0,e.push(n),this.emit(t,...e)})}_addToQueue(t){let e;"function"==typeof t[t.length-1]&&(e=t.pop());const s={id:this._queueSeq++,tryCount:0,pending:!1,args:t,flags:Object.assign({fromQueue:!0},this.flags)};t.push((t,...i)=>{
|
|
1
|
+
import{PacketType as t}from"../../../socket.io-parser/build/esm/index.js";import{on as e}from"./on.js";import{Emitter as s}from"../../../@socket.io/component-emitter/lib/esm/index.js";const i=Object.freeze({connect:1,connect_error:1,disconnect:1,disconnecting:1,newListener:1,removeListener:1});class n extends s{constructor(t,e,s){super(),this.connected=!1,this.recovered=!1,this.receiveBuffer=[],this.sendBuffer=[],this._queue=[],this._queueSeq=0,this.ids=0,this.acks={},this.flags={},this.io=t,this.nsp=e,s&&s.auth&&(this.auth=s.auth),this._opts=Object.assign({},s),this.io._autoConnect&&this.open()}get disconnected(){return!this.connected}subEvents(){if(this.subs)return;const t=this.io;this.subs=[e(t,"open",this.onopen.bind(this)),e(t,"packet",this.onpacket.bind(this)),e(t,"error",this.onerror.bind(this)),e(t,"close",this.onclose.bind(this))]}get active(){return!!this.subs}connect(){return this.connected||(this.subEvents(),this.io._reconnecting||this.io.open(),"open"===this.io._readyState&&this.onopen()),this}open(){return this.connect()}send(...t){return t.unshift("message"),this.emit.apply(this,t),this}emit(e,...s){var n,r,o;if(i.hasOwnProperty(e))throw new Error('"'+e.toString()+'" is a reserved event name');if(s.unshift(e),this._opts.retries&&!this.flags.fromQueue&&!this.flags.volatile)return this._addToQueue(s),this;const h={type:t.EVENT,data:s,options:{}};if(h.options.compress=!1!==this.flags.compress,"function"==typeof s[s.length-1]){const t=this.ids++,e=s.pop();this._registerAckCallback(t,e),h.id=t}const c=null===(r=null===(n=this.io.engine)||void 0===n?void 0:n.transport)||void 0===r?void 0:r.writable,a=this.connected&&!(null===(o=this.io.engine)||void 0===o?void 0:o._hasPingExpired());return this.flags.volatile&&!c||(a?(this.notifyOutgoingListeners(h),this.packet(h)):this.sendBuffer.push(h)),this.flags={},this}_registerAckCallback(t,e){var s;const i=null!==(s=this.flags.timeout)&&void 0!==s?s:this._opts.ackTimeout;if(void 0===i)return void(this.acks[t]=e);const n=this.io.setTimeoutFn(()=>{delete this.acks[t];for(let e=0;e<this.sendBuffer.length;e++)this.sendBuffer[e].id===t&&this.sendBuffer.splice(e,1);e.call(this,new Error("operation has timed out"))},i),r=(...t)=>{this.io.clearTimeoutFn(n),e.apply(this,t)};r.withError=!0,this.acks[t]=r}emitWithAck(t,...e){return new Promise((s,i)=>{const n=(t,e)=>t?i(t):s(e);n.withError=!0,e.push(n),this.emit(t,...e)})}_addToQueue(t){let e;"function"==typeof t[t.length-1]&&(e=t.pop());const s={id:this._queueSeq++,tryCount:0,pending:!1,args:t,flags:Object.assign({fromQueue:!0},this.flags)};t.push((t,...i)=>{this._queue[0];return null!==t?s.tryCount>this._opts.retries&&(this._queue.shift(),e&&e(t)):(this._queue.shift(),e&&e(null,...i)),s.pending=!1,this._drainQueue()}),this._queue.push(s),this._drainQueue()}_drainQueue(t=!1){if(!this.connected||0===this._queue.length)return;const e=this._queue[0];e.pending&&!t||(e.pending=!0,e.tryCount++,this.flags=e.flags,this.emit.apply(this,e.args))}packet(t){t.nsp=this.nsp,this.io._packet(t)}onopen(){"function"==typeof this.auth?this.auth(t=>{this._sendConnectPacket(t)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(e){this.packet({type:t.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},e):e})}onerror(t){this.connected||this.emitReserved("connect_error",t)}onclose(t,e){this.connected=!1,delete this.id,this.emitReserved("disconnect",t,e),this._clearAcks()}_clearAcks(){Object.keys(this.acks).forEach(t=>{if(!this.sendBuffer.some(e=>String(e.id)===t)){const e=this.acks[t];delete this.acks[t],e.withError&&e.call(this,new Error("socket has been disconnected"))}})}onpacket(e){if(e.nsp===this.nsp)switch(e.type){case t.CONNECT:e.data&&e.data.sid?this.onconnect(e.data.sid,e.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case t.EVENT:case t.BINARY_EVENT:this.onevent(e);break;case t.ACK:case t.BINARY_ACK:this.onack(e);break;case t.DISCONNECT:this.ondisconnect();break;case t.CONNECT_ERROR:this.destroy();const s=new Error(e.data.message);s.data=e.data.data,this.emitReserved("connect_error",s)}}onevent(t){const e=t.data||[];null!=t.id&&e.push(this.ack(t.id)),this.connected?this.emitEvent(e):this.receiveBuffer.push(Object.freeze(e))}emitEvent(t){if(this._anyListeners&&this._anyListeners.length){const e=this._anyListeners.slice();for(const s of e)s.apply(this,t)}super.emit.apply(this,t),this._pid&&t.length&&"string"==typeof t[t.length-1]&&(this._lastOffset=t[t.length-1])}ack(e){const s=this;let i=!1;return function(...n){i||(i=!0,s.packet({type:t.ACK,id:e,data:n}))}}onack(t){const e=this.acks[t.id];"function"==typeof e&&(delete this.acks[t.id],e.withError&&t.data.unshift(null),e.apply(this,t.data))}onconnect(t,e){this.id=t,this.recovered=e&&this._pid===e,this._pid=e,this.connected=!0,this.emitBuffered(),this._drainQueue(!0),this.emitReserved("connect")}emitBuffered(){this.receiveBuffer.forEach(t=>this.emitEvent(t)),this.receiveBuffer=[],this.sendBuffer.forEach(t=>{this.notifyOutgoingListeners(t),this.packet(t)}),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach(t=>t()),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:t.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(t){return this.flags.compress=t,this}get volatile(){return this.flags.volatile=!0,this}timeout(t){return this.flags.timeout=t,this}onAny(t){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(t),this}prependAny(t){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(t),this}offAny(t){if(!this._anyListeners)return this;if(t){const e=this._anyListeners;for(let s=0;s<e.length;s++)if(t===e[s])return e.splice(s,1),this}else this._anyListeners=[];return this}listenersAny(){return this._anyListeners||[]}onAnyOutgoing(t){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.push(t),this}prependAnyOutgoing(t){return this._anyOutgoingListeners=this._anyOutgoingListeners||[],this._anyOutgoingListeners.unshift(t),this}offAnyOutgoing(t){if(!this._anyOutgoingListeners)return this;if(t){const e=this._anyOutgoingListeners;for(let s=0;s<e.length;s++)if(t===e[s])return e.splice(s,1),this}else this._anyOutgoingListeners=[];return this}listenersAnyOutgoing(){return this._anyOutgoingListeners||[]}notifyOutgoingListeners(t){if(this._anyOutgoingListeners&&this._anyOutgoingListeners.length){const e=this._anyOutgoingListeners.slice();for(const s of e)s.apply(this,t.data)}}}export{n as Socket};
|
|
2
2
|
//# sourceMappingURL=socket.js.map
|