@d19n/webchat 1.0.6 → 1.1.1
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 +2 -0
- package/dist/TwilioChat/components/styled/ChatContentList.d.ts +2 -0
- package/dist/TwilioChat/components/styled/ChatWrapper.d.ts +2 -0
- package/dist/TwilioChat/components/styled/EventPost.d.ts +2 -0
- package/dist/TwilioChat/components/styled/Header.d.ts +2 -0
- package/dist/TwilioChat/components/styled/InputForm.d.ts +2 -0
- package/dist/TwilioChat/components/styled/MyPost.d.ts +2 -0
- package/dist/TwilioChat/components/styled/Splitter.d.ts +2 -0
- package/dist/TwilioChat/components/styled/WidgetButton.d.ts +2 -0
- package/dist/TwilioChat/components/styled/YFPost.d.ts +2 -0
- package/dist/TwilioChat/index.d.ts +2 -12
- package/dist/_virtual/Component.js +2 -0
- package/dist/_virtual/Component.js.map +1 -0
- package/dist/_virtual/_commonjsHelpers.js +1 -1
- package/dist/_virtual/index3.js +1 -1
- package/dist/_virtual/index4.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 +4 -39
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +4 -39
- 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/stylis/dist/stylis.browser.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/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/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js +1 -1
- package/dist/node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js.map +1 -1
- package/dist/node_modules/lodash.debounce/index.js +2 -0
- package/dist/node_modules/lodash.debounce/index.js.map +1 -0
- 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/mdast-util-gfm-task-list-item/from-markdown.js +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/micromark-extension-gfm-task-list-item/syntax.js.map +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-debounce-input/lib/Component.js +2 -0
- package/dist/node_modules/react-debounce-input/lib/Component.js.map +1 -0
- package/dist/node_modules/react-debounce-input/lib/index.js +2 -0
- package/dist/node_modules/react-debounce-input/lib/index.js.map +1 -0
- package/dist/node_modules/react-dropzone/dist/es/index.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-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 +21 -17
- 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 +21 -17
- 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/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/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/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/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/node_modules/use-debounce/dist/index.module.js +0 -2
- package/dist/node_modules/use-debounce/dist/index.module.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":"tslib.es6.js","sources":["../../../node_modules/tslib/tslib.es6.js"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","rejected","result","done","then","__generator","body","f","y","_","label","sent","trys","ops","g","create","Iterator","verb","Symbol","iterator","v","op","TypeError","pop","push","__spreadArray","to","from","pack","ar","l","Array","slice","concat","__makeTemplateObject","cooked","raw","defineProperty","SuppressedError"],"mappings":"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","x_google_ignoreList":[0]}
|
|
1
|
+
{"version":3,"file":"tslib.es6.js","sources":["../../../node_modules/tslib/tslib.es6.js"],"sourcesContent":["/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\r\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\r\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\r\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\r\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\r\n var _, done = false;\r\n for (var i = decorators.length - 1; i >= 0; i--) {\r\n var context = {};\r\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\r\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\r\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\r\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\r\n if (kind === \"accessor\") {\r\n if (result === void 0) continue;\r\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\r\n if (_ = accept(result.get)) descriptor.get = _;\r\n if (_ = accept(result.set)) descriptor.set = _;\r\n if (_ = accept(result.init)) initializers.unshift(_);\r\n }\r\n else if (_ = accept(result)) {\r\n if (kind === \"field\") initializers.unshift(_);\r\n else descriptor[key] = _;\r\n }\r\n }\r\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\r\n done = true;\r\n};\r\n\r\nexport function __runInitializers(thisArg, initializers, value) {\r\n var useValue = arguments.length > 2;\r\n for (var i = 0; i < initializers.length; i++) {\r\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\r\n }\r\n return useValue ? value : void 0;\r\n};\r\n\r\nexport function __propKey(x) {\r\n return typeof x === \"symbol\" ? x : \"\".concat(x);\r\n};\r\n\r\nexport function __setFunctionName(f, name, prefix) {\r\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\r\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\r\n};\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\r\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\r\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nvar ownKeys = function(o) {\r\n ownKeys = Object.getOwnPropertyNames || function (o) {\r\n var ar = [];\r\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\r\n return ar;\r\n };\r\n return ownKeys(o);\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n\r\nexport function __addDisposableResource(env, value, async) {\r\n if (value !== null && value !== void 0) {\r\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\r\n var dispose, inner;\r\n if (async) {\r\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\r\n dispose = value[Symbol.asyncDispose];\r\n }\r\n if (dispose === void 0) {\r\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\r\n dispose = value[Symbol.dispose];\r\n if (async) inner = dispose;\r\n }\r\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\r\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\r\n env.stack.push({ value: value, dispose: dispose, async: async });\r\n }\r\n else if (async) {\r\n env.stack.push({ async: true });\r\n }\r\n return value;\r\n\r\n}\r\n\r\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\r\n\r\nexport function __disposeResources(env) {\r\n function fail(e) {\r\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\r\n env.hasError = true;\r\n }\r\n var r, s = 0;\r\n function next() {\r\n while (r = env.stack.pop()) {\r\n try {\r\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\r\n if (r.dispose) {\r\n var result = r.dispose.call(r.value);\r\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\r\n }\r\n else s |= 1;\r\n }\r\n catch (e) {\r\n fail(e);\r\n }\r\n }\r\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\r\n if (env.hasError) throw env.error;\r\n }\r\n return next();\r\n}\r\n\r\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\r\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\r\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\r\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\r\n });\r\n }\r\n return path;\r\n}\r\n\r\nexport default {\r\n __extends: __extends,\r\n __assign: __assign,\r\n __rest: __rest,\r\n __decorate: __decorate,\r\n __param: __param,\r\n __esDecorate: __esDecorate,\r\n __runInitializers: __runInitializers,\r\n __propKey: __propKey,\r\n __setFunctionName: __setFunctionName,\r\n __metadata: __metadata,\r\n __awaiter: __awaiter,\r\n __generator: __generator,\r\n __createBinding: __createBinding,\r\n __exportStar: __exportStar,\r\n __values: __values,\r\n __read: __read,\r\n __spread: __spread,\r\n __spreadArrays: __spreadArrays,\r\n __spreadArray: __spreadArray,\r\n __await: __await,\r\n __asyncGenerator: __asyncGenerator,\r\n __asyncDelegator: __asyncDelegator,\r\n __asyncValues: __asyncValues,\r\n __makeTemplateObject: __makeTemplateObject,\r\n __importStar: __importStar,\r\n __importDefault: __importDefault,\r\n __classPrivateFieldGet: __classPrivateFieldGet,\r\n __classPrivateFieldSet: __classPrivateFieldSet,\r\n __classPrivateFieldIn: __classPrivateFieldIn,\r\n __addDisposableResource: __addDisposableResource,\r\n __disposeResources: __disposeResources,\r\n __rewriteRelativeImportExtension: __rewriteRelativeImportExtension,\r\n};\r\n"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","rejected","result","done","then","__generator","body","f","y","_","label","sent","trys","ops","g","create","Iterator","verb","Symbol","iterator","v","op","TypeError","pop","push","__spreadArray","to","from","pack","ar","l","Array","slice","concat","__makeTemplateObject","cooked","raw","defineProperty","SuppressedError"],"mappings":"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","x_google_ignoreList":[0]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@d19n/webchat",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.1.1",
|
|
4
4
|
"description": "D19N WebChat package",
|
|
5
5
|
"author": "@d19n",
|
|
6
6
|
"license": "ISC",
|
|
@@ -12,16 +12,15 @@
|
|
|
12
12
|
"dist"
|
|
13
13
|
],
|
|
14
14
|
"scripts": {
|
|
15
|
-
"
|
|
16
|
-
"
|
|
17
|
-
"build": "rollup -c --bundleConfigAsCjs"
|
|
15
|
+
"build": "npm install --legacy-peer-deps && npx rollup -c --bundleConfigAsCjs",
|
|
16
|
+
"dev": "npx rollup -c --bundleConfigAsCjs --watch"
|
|
18
17
|
},
|
|
19
18
|
"repository": {
|
|
20
19
|
"type": "git",
|
|
21
20
|
"url": "https://github.com/d19n-llc/d19n-webchat.git"
|
|
22
21
|
},
|
|
23
22
|
"dependencies": {
|
|
24
|
-
"@d19n/odin-sdk-generator": "^3.0.
|
|
23
|
+
"@d19n/odin-sdk-generator": "^3.0.166",
|
|
25
24
|
"@d19n/odin-types": "^1.0.62",
|
|
26
25
|
"@d19n/youfibre-odin-sdk": "^1.0.125",
|
|
27
26
|
"@rollup/plugin-commonjs": "^28.0.6",
|
|
@@ -30,11 +29,7 @@
|
|
|
30
29
|
"@rollup/plugin-replace": "^6.0.2",
|
|
31
30
|
"@rollup/plugin-terser": "^0.4.4",
|
|
32
31
|
"@rollup/plugin-typescript": "^12.1.4",
|
|
33
|
-
"@
|
|
34
|
-
"@types/react": "^18.3.23",
|
|
35
|
-
"@types/react-dom": "^18.3.7",
|
|
36
|
-
"@types/react-modal-image": "^2.6.4",
|
|
37
|
-
"@types/styled-components": "^5.1.34",
|
|
32
|
+
"@rollup/plugin-url": "^8.0.2",
|
|
38
33
|
"buffer": "^6.0.3",
|
|
39
34
|
"form-data": "^4.0.4",
|
|
40
35
|
"linkify-html": "^4.3.2",
|
|
@@ -43,8 +38,9 @@
|
|
|
43
38
|
"package": "^1.0.1",
|
|
44
39
|
"process": "^0.11.10",
|
|
45
40
|
"react-bootstrap": "^2.10.10",
|
|
46
|
-
"react-
|
|
47
|
-
"react-
|
|
41
|
+
"react-debounce-input": "^3.3.0",
|
|
42
|
+
"react-dropzone": "^14.2.10",
|
|
43
|
+
"react-icons": "^5.0.1",
|
|
48
44
|
"react-markdown": "^5.0.3",
|
|
49
45
|
"react-modal-image": "^2.6.0",
|
|
50
46
|
"react-timer-hook": "^4.0.5",
|
|
@@ -56,18 +52,26 @@
|
|
|
56
52
|
"rollup-plugin-peer-deps-external": "^2.2.4",
|
|
57
53
|
"rollup-plugin-postcss": "^4.0.2",
|
|
58
54
|
"sass": "^1.87.0",
|
|
55
|
+
"sass-loader": "^10.5.2",
|
|
59
56
|
"socket.io-client": "^4.7.5",
|
|
60
|
-
"styled-components": "^5.
|
|
57
|
+
"styled-components": "^5.3.11",
|
|
61
58
|
"ts-node": "^10.9.2",
|
|
62
|
-
"tslib": "^2.8.1",
|
|
63
|
-
"typescript": "^5.8.3",
|
|
64
59
|
"use-debounce": "^10.0.5",
|
|
65
60
|
"uuid": "^11.1.0"
|
|
66
61
|
},
|
|
67
62
|
"peerDependencies": {
|
|
68
63
|
"axios": "^1.11.0",
|
|
69
|
-
"react": ">=18.
|
|
70
|
-
"react-dom": ">=18.
|
|
64
|
+
"react": ">=18.2.0 <21",
|
|
65
|
+
"react-dom": ">=18.2.0 <21"
|
|
66
|
+
},
|
|
67
|
+
"devDependencies": {
|
|
68
|
+
"@types/node": "^24.1.0",
|
|
69
|
+
"@types/react": "^18.3.23",
|
|
70
|
+
"@types/react-dom": "^18.3.7",
|
|
71
|
+
"@types/react-modal-image": "^2.6.4",
|
|
72
|
+
"@types/styled-components": "^5.1.34",
|
|
73
|
+
"tslib": "^2.8.1",
|
|
74
|
+
"typescript": "^5.8.3"
|
|
71
75
|
},
|
|
72
76
|
"keywords": [
|
|
73
77
|
"webchat",
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Socket } from 'socket.io-client';
|
|
2
|
+
export interface Message {
|
|
3
|
+
createdAt: string;
|
|
4
|
+
from?: string | null;
|
|
5
|
+
files?: string | null;
|
|
6
|
+
message: string | null;
|
|
7
|
+
form: FormType | null;
|
|
8
|
+
messageId: string;
|
|
9
|
+
fromId: string;
|
|
10
|
+
senderType: string;
|
|
11
|
+
}
|
|
12
|
+
export interface FormType {
|
|
13
|
+
type: string;
|
|
14
|
+
value: Array<{
|
|
15
|
+
title: string;
|
|
16
|
+
action: string;
|
|
17
|
+
placeholder?: string | null;
|
|
18
|
+
type?: string;
|
|
19
|
+
required?: boolean;
|
|
20
|
+
options?: object;
|
|
21
|
+
}>;
|
|
22
|
+
}
|
|
23
|
+
export declare const fetchAsync: (url?: string, method?: string, headers?: object | null, body?: object | null) => Promise<any>;
|
|
24
|
+
export declare const loadZipCodesAsync: (input: string) => Promise<{
|
|
25
|
+
value: string;
|
|
26
|
+
label: string;
|
|
27
|
+
}[]>;
|
|
28
|
+
export declare const getToken: (email: any) => Promise<any>;
|
|
29
|
+
export declare const chatLocalStorage: (name?: string | null) => any;
|
|
30
|
+
export declare const didAgentPost: (messages: any) => boolean;
|
|
31
|
+
export declare const scrollToBottom: () => void;
|
|
32
|
+
export declare const isConversationActive: () => Promise<any>;
|
|
33
|
+
export declare const createConversation: (tmpChatUsername: string | null, tmpChatEmail: string | null, tmpChatAddress: string | null, tmpChatLastBill: string | null, tmpChatUserType: string | null, tmpChatCategory: string | null, allowCreateChat?: boolean) => Promise<any>;
|
|
34
|
+
export declare const closeConversation: (closedBy?: string) => Promise<boolean>;
|
|
35
|
+
export declare const sendMessage: (message?: string | null, uploadFiles?: string[], senderType?: string) => Promise<any>;
|
|
36
|
+
export declare const getAllMessages: () => Promise<(Message | {
|
|
37
|
+
senderType: string;
|
|
38
|
+
createdAt: string;
|
|
39
|
+
from: string;
|
|
40
|
+
message: string;
|
|
41
|
+
form: any;
|
|
42
|
+
files: any[];
|
|
43
|
+
messageId: string;
|
|
44
|
+
fromId: string;
|
|
45
|
+
})[]>;
|
|
46
|
+
export declare const findUnreadedMessages: (oldMessages?: Message[], newMessages?: Message[]) => Promise<Message[]>;
|
|
47
|
+
export declare const connectToWebsocket: (sessionId?: string | null) => Socket<import("@socket.io/component-emitter").DefaultEventsMap, import("@socket.io/component-emitter").DefaultEventsMap>;
|
|
48
|
+
export declare const getFiles: (files?: String[] | null) => Promise<any>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{__makeTemplateObject as n,__assign as e,__awaiter as t,__generator as r,__rest as a}from"../../node_modules/tslib/tslib.es6.js";import o,{useRef as i,useState as l,useEffect as c}from"react";import d from"../../node_modules/styled-components/dist/styled-components.browser.esm.js";import s from"../../node_modules/linkify-html/dist/linkify-html.js";import m from"../../node_modules/react-modal-image/es/Lightbox.js";import{useDebounce as p}from"../../node_modules/use-debounce/dist/index.module.js";import{BsFiletypeMp3 as u,BsFiletypeMp4 as f,BsFiletypeTxt as g,BsFiletypePdf as x}from"../../node_modules/react-icons/bs/index.esm.js";import b from"../../_virtual/moment.js";import h from"../../node_modules/react-bootstrap/esm/Col.js";import v from"../../node_modules/react-bootstrap/esm/Row.js";var y=new URL("./assets/images/svg/favicon.svg",import.meta.url);new URL("./assets/images/svg/youfibre-upload.svg",import.meta.url);var w,E,k,I,N,z,j=d.div(w||(w=n(["\n &, .animation {\n width: 100%;\n display: flex;\n flex-direction: column;\n position: inherit;\n margin-bottom: -9rem;\n animation: slideIn .1s cubic-bezier(0.41, 0.39, 0.53, 1.38) forwards;\n }\n @keyframes slideIn {\n from {\n margin-bottom: -9rem;\n }\n to {\n margin-bottom: 0rem;\n }\n }\n"],["\n &, .animation {\n width: 100%;\n display: flex;\n flex-direction: column;\n position: inherit;\n margin-bottom: -9rem;\n animation: slideIn .1s cubic-bezier(0.41, 0.39, 0.53, 1.38) forwards;\n }\n @keyframes slideIn {\n from {\n margin-bottom: -9rem;\n }\n to {\n margin-bottom: 0rem;\n }\n }\n"]))),M=d.div(E||(E=n(["\n width: calc(100% - 20px);\n padding: 5px 10px;\n flex: 0;\n display: flex;\n gap: 15px;\n img {\n flex: 0;\n width: 25px;\n height: 25px;\n -object-fit: fill;\n object-fit: fill;\n border-radius: 200px;\n padding: 9px;\n background-color: #ddf0fc;\n &.system {\n background-color: #f9f2eb;\n }\n }\n span {\n color: #263238;\n background-color: #ddf0fc;\n flex: 1;\n padding: 1rem;\n border-radius: 5px;\n font-size: 1rem;\n line-height: 1.5rem;\n font-weight: 100;\n display: block;\n word-break: break-word;\n a, a:visited, a:active {\n font-size: 1rem !important;\n text-decoration: underline;\n color: #005095;\n }\n &.system {\n color: #935610;\n background-color: #f9f2eb;\n }\n }\n button {\n border: 2px solid #08DE9E;\n cursor: pointer;\n &:hover {\n background-color: #08DE9E;\n }\n }\n small {\n font-size: 0.75rem !important;\n font-weight: 100;\n line-height: 0.85rem;\n color: #bcc8d0;\n }\n .action {\n width: 0.8rem;\n height: 0.8rem;\n opacity: 0.5;\n }\n .files {\n margin: 0.3rem 0rem 0rem 0rem !important;\n border-radius: 5px;\n background-color: #f4f7f9 !important;;\n padding: 0rem;\n overlay: none;\n display: flex;\n flex-direction: row !important;\n flex-wrap: wrap !important;\n align-content: flex-start !important;\n justify-content: space-evenly !important;\n align-items: flex-start !important;\n .file{\n width: 130px;\n height: 130px;\n object-fit: contain;\n opacity: 1;\n cursor: pointer;\n }\n }\n"],["\n width: calc(100% - 20px);\n padding: 5px 10px;\n flex: 0;\n display: flex;\n gap: 15px;\n img {\n flex: 0;\n width: 25px;\n height: 25px;\n -object-fit: fill;\n object-fit: fill;\n border-radius: 200px;\n padding: 9px;\n background-color: #ddf0fc;\n &.system {\n background-color: #f9f2eb;\n }\n }\n span {\n color: #263238;\n background-color: #ddf0fc;\n flex: 1;\n padding: 1rem;\n border-radius: 5px;\n font-size: 1rem;\n line-height: 1.5rem;\n font-weight: 100;\n display: block;\n word-break: break-word;\n a, a:visited, a:active {\n font-size: 1rem !important;\n text-decoration: underline;\n color: #005095;\n }\n &.system {\n color: #935610;\n background-color: #f9f2eb;\n }\n }\n button {\n border: 2px solid #08DE9E;\n cursor: pointer;\n &:hover {\n background-color: #08DE9E;\n }\n }\n small {\n font-size: 0.75rem !important;\n font-weight: 100;\n line-height: 0.85rem;\n color: #bcc8d0;\n }\n .action {\n width: 0.8rem;\n height: 0.8rem;\n opacity: 0.5;\n }\n .files {\n margin: 0.3rem 0rem 0rem 0rem !important;\n border-radius: 5px;\n background-color: #f4f7f9 !important;;\n padding: 0rem;\n overlay: none;\n display: flex;\n flex-direction: row !important;\n flex-wrap: wrap !important;\n align-content: flex-start !important;\n justify-content: space-evenly !important;\n align-items: flex-start !important;\n .file{\n width: 130px;\n height: 130px;\n object-fit: contain;\n opacity: 1;\n cursor: pointer;\n }\n }\n"]))),A=d.div(k||(k=n(["\n width: calc(100% - 20px);\n padding: 5px 10px;\n flex: 0;\n display: flex;\n flex-direction: column;\n gap: 5px;\n img {\n flex: 0;\n width: 25px;\n height: 25px;\n opacity: 0;\n }\n span, button {\n display: block;\n background-color: #c1f7e7;\n flex: 0;\n padding: 5px;\n border-radius: 5px;\n color: #263238;\n font-size: 1rem;\n line-height: 1.5rem;\n font-weight: 100;\n min-width: 40%;\n word-break: break-word;\n b {\n font-weight: 900;\n }\n a, a:visited, a:active {\n font-size: 1rem !important;\n text-decoration: underline;\n color: #397040;\n }\n }\n input, select {\n font-size: 0.9rem;\n border: 1px solid #d5d5d5;\n border-radius: 5px;\n padding: 1px 4px;\n height: 30px;\n outline: none;\n &.invalid {\n border-bottom: 1px solid red;\n }\n &:focus{\n border-radius: 5px;\n }\n &:disabled{\n border: 1px solid #d9d9d9;\n }\n }\n select {\n cursor: pointer;\n background: url(data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0Ljk1IDEwIj48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6I2ZmZjt9LmNscy0ye2ZpbGw6IzQ0NDt9PC9zdHlsZT48L2RlZnM+PHRpdGxlPmFycm93czwvdGl0bGU+PHJlY3QgY2xhc3M9ImNscy0xIiB3aWR0aD0iNC45NSIgaGVpZ2h0PSIxMCIvPjxwb2x5Z29uIGNsYXNzPSJjbHMtMiIgcG9pbnRzPSIxLjQxIDQuNjcgMi40OCAzLjE4IDMuNTQgNC42NyAxLjQxIDQuNjciLz48cG9seWdvbiBjbGFzcz0iY2xzLTIiIHBvaW50cz0iMy41NCA1LjMzIDIuNDggNi44MiAxLjQxIDUuMzMgMy41NCA1LjMzIi8+PC9zdmc+) no-repeat 98% 50%;\n -moz-appearance: none; \n -webkit-appearance: none; \n appearance: none;\n }\n .loader {\n opacity: 1;\n }\n button {\n border: 1px solid #08DE9E;\n cursor: pointer;\n &:hover {\n background-color: #08DE9E;\n }\n &:disabled, &:disabled:hover {\n border: 1px solid #e1e1e1;\n background-color: #e1e1e1;\n cursor: default;\n }\n }\n small {\n font-size: 0.75rem !important;\n font-weight: 100;\n line-height: 0.85rem;\n color: #bcc8d0;\n }\n .action {\n width: 0.8rem;\n height: 0.8rem;\n opacity: 0.5;\n }\n .files {\n margin: 0rem !important;\n border-radius: 5px;\n background-color: #f4f7f9 !important;;\n padding: 0rem;\n overlay: none;\n display: flex;\n flex-direction: row !important;\n flex-wrap: wrap !important;\n align-content: flex-start !important;\n justify-content: space-evenly !important;\n align-items: flex-start !important;\n .file{\n width: 130px;\n height: 130px;\n object-fit: contain;\n opacity: 1;\n cursor: pointer;\n }\n }\n"],["\n width: calc(100% - 20px);\n padding: 5px 10px;\n flex: 0;\n display: flex;\n flex-direction: column;\n gap: 5px;\n img {\n flex: 0;\n width: 25px;\n height: 25px;\n opacity: 0;\n }\n span, button {\n display: block;\n background-color: #c1f7e7;\n flex: 0;\n padding: 5px;\n border-radius: 5px;\n color: #263238;\n font-size: 1rem;\n line-height: 1.5rem;\n font-weight: 100;\n min-width: 40%;\n word-break: break-word;\n b {\n font-weight: 900;\n }\n a, a:visited, a:active {\n font-size: 1rem !important;\n text-decoration: underline;\n color: #397040;\n }\n }\n input, select {\n font-size: 0.9rem;\n border: 1px solid #d5d5d5;\n border-radius: 5px;\n padding: 1px 4px;\n height: 30px;\n outline: none;\n &.invalid {\n border-bottom: 1px solid red;\n }\n &:focus{\n border-radius: 5px;\n }\n &:disabled{\n border: 1px solid #d9d9d9;\n }\n }\n select {\n cursor: pointer;\n background: url(data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0Ljk1IDEwIj48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6I2ZmZjt9LmNscy0ye2ZpbGw6IzQ0NDt9PC9zdHlsZT48L2RlZnM+PHRpdGxlPmFycm93czwvdGl0bGU+PHJlY3QgY2xhc3M9ImNscy0xIiB3aWR0aD0iNC45NSIgaGVpZ2h0PSIxMCIvPjxwb2x5Z29uIGNsYXNzPSJjbHMtMiIgcG9pbnRzPSIxLjQxIDQuNjcgMi40OCAzLjE4IDMuNTQgNC42NyAxLjQxIDQuNjciLz48cG9seWdvbiBjbGFzcz0iY2xzLTIiIHBvaW50cz0iMy41NCA1LjMzIDIuNDggNi44MiAxLjQxIDUuMzMgMy41NCA1LjMzIi8+PC9zdmc+) no-repeat 98% 50%;\n -moz-appearance: none; \n -webkit-appearance: none; \n appearance: none;\n }\n .loader {\n opacity: 1;\n }\n button {\n border: 1px solid #08DE9E;\n cursor: pointer;\n &:hover {\n background-color: #08DE9E;\n }\n &:disabled, &:disabled:hover {\n border: 1px solid #e1e1e1;\n background-color: #e1e1e1;\n cursor: default;\n }\n }\n small {\n font-size: 0.75rem !important;\n font-weight: 100;\n line-height: 0.85rem;\n color: #bcc8d0;\n }\n .action {\n width: 0.8rem;\n height: 0.8rem;\n opacity: 0.5;\n }\n .files {\n margin: 0rem !important;\n border-radius: 5px;\n background-color: #f4f7f9 !important;;\n padding: 0rem;\n overlay: none;\n display: flex;\n flex-direction: row !important;\n flex-wrap: wrap !important;\n align-content: flex-start !important;\n justify-content: space-evenly !important;\n align-items: flex-start !important;\n .file{\n width: 130px;\n height: 130px;\n object-fit: contain;\n opacity: 1;\n cursor: pointer;\n }\n }\n"]))),C=d.div(I||(I=n(["\n padding: 5px 10px;\n flex: 0;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: 5px;\n img {\n flex: 0;\n width: 40px;\n height: 40px;\n }\n span {\n display: block;\n background-color: #00468b;\n flex: 1;\n padding: 5px 15px;\n max-width: 80%;\n border-radius: 5px;\n color: #ffffff;\n font-size: 1rem;\n line-height: 1.5rem;\n font-weight: 100;\n text-align: center;\n flex-wrap: wrap;\n word-break: break-word;\n b {\n font-weight: 900;\n }\n }\n"],["\n padding: 5px 10px;\n flex: 0;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: 5px;\n img {\n flex: 0;\n width: 40px;\n height: 40px;\n }\n span {\n display: block;\n background-color: #00468b;\n flex: 1;\n padding: 5px 15px;\n max-width: 80%;\n border-radius: 5px;\n color: #ffffff;\n font-size: 1rem;\n line-height: 1.5rem;\n font-weight: 100;\n text-align: center;\n flex-wrap: wrap;\n word-break: break-word;\n b {\n font-weight: 900;\n }\n }\n"]))),L=d.hr(N||(N=n(["\n width: 100%;\n height: 1px;\n border: 0px;\n border-top: 1px solid #dbe4ea;\n outline: none;\n box-shadow: none;\n margin: 5px 0px;\n"],["\n width: 100%;\n height: 1px;\n border: 0px;\n border-top: 1px solid #dbe4ea;\n outline: none;\n box-shadow: none;\n margin: 5px 0px;\n"]))),_=d.div(z||(z=n(["\n width: 100%;\n"],["\n width: 100%;\n"]))),S=function(n){var d=n.messages;n.chatUsername;var w=n.chatConversationId;n.chatUserId;var E=n.chatActive,k=n.setChatForm,I=n.buttonAction,N=n.resetFormValues,z=void 0!==N&&N,S=n.newMessages,Z=n.API,T=i(null),H=l({}),D=H[0],G=H[1],P=l(""),F=P[0],R=P[1],Q=l(""),Y=Q[0],U=Q[1],B=l(new Set),V=B[0],W=B[1],J=l({available:!1,salesStatus:null,loading:!1,chatActive:!1,data:null}),X=J[0],O=J[1],q=l(!1),$=q[0],K=q[1],nn=i(null),en=p(F,700)[0];c(function(){G({}),R("")},[w,z]),c(function(){F.length>0?tn(F):O(e(e({},X),{data:null}))},[en]);var tn=function(n){return t(void 0,void 0,void 0,function(){return r(this,function(t){O(e(e({},X),{data:null,loading:!0})),rn("address","text",null);try{Z.get("CrmModule/v2.0/premises/post-code-checker?searchString=".concat(n)).then(function(n){var t=null==n?void 0:n.map(function(n){return{value:n.properties.PostalCode,label:n.properties.FullAddress}});O(e(e({},X),{loading:!1,data:t}))}).catch(function(n){console.error("Error fetching ZIP codes:",n),O(e(e({},X),{loading:!1}))})}catch(n){console.error("Error fetching ZIP codes:",n)}return[2]})})},rn=function(n,t,r){D[n]=r;var a=V;!function(n,e){return"string"==typeof e&&0===e.length||"number"==typeof e&&0===e||{select:/^[a-zA-Z0-9\s\-_,.!?()/@"']+$/,text:/^[a-zA-Z0-9\s\-_,.!?()/@"']+$/,email:/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.+-]+\.[a-zA-Z0-9]{2,}$/,number:/^(?:1000000(?:\.0{1,2})?|[0-9]{1,6}(?:\.\d{1,2})?)$/}[n].test(e)}(t,r)?a.add(n):a.delete(n),W(a),G(e({},D)),k(D)},an=function(n){var i=n.url,d=a(n,["url"]),s=l(null),m=s[0],p=s[1];return c(function(){t(void 0,void 0,void 0,function(){var n,e;return r(this,function(t){switch(t.label){case 0:return t.trys.push([0,3,,4]),[4,fetch(i)];case 1:return[4,t.sent().text()];case 2:return n=t.sent(),p(n),[3,4];case 3:return e=t.sent(),console.error("Error loading SVG:",e),[3,4];case 4:return[2]}})})},[i]),o.createElement("div",e({},d,{dangerouslySetInnerHTML:{__html:m||""},"aria-hidden":"true"}))},on=function(n){var e;if(n&&"undefined"!=typeof window)switch(null===(e=n.split(".").pop())||void 0===e?void 0:e.toLocaleLowerCase()){case"pdf":return o.createElement(x,{className:"file",onClick:function(){return window.open(n,"_blank")}});case"txt":return o.createElement(g,{className:"file",onClick:function(){return window.open(n,"_blank")}});case"mp4":return o.createElement(f,{className:"file",onClick:function(){return window.open(n,"_blank")}});case"mp3":return o.createElement(u,{className:"file",onClick:function(){return window.open(n,"_blank")}});case"svg":return o.createElement(an,{className:"file",url:n,onClick:function(){return window.open(n,"_blank")}});default:return o.createElement("img",{className:"file",src:n,onClick:function(){nn.current=n,K(!0)},alt:""})}},ln=function(n,e){return void 0===e&&(e=!1),o.createElement(o.Fragment,null,o.createElement(M,{key:n.messageId,className:"".concat(e?"animation":"")},o.createElement("img",{src:y.toString()}),o.createElement(h,{className:"p-0 m-0 text-left"},o.createElement("div",null,n.message&&o.createElement("span",{dangerouslySetInnerHTML:{__html:s(n.message,{target:"_blank"}).replaceAll(/\r\n|\n/g,"<br />")}})),Array.isArray(n.files)&&n.files.length>0&&o.createElement("div",{className:"files"},n.files.map(function(n){return on(n.url)})),o.createElement(v,{className:"flex-center-justified w-100 p-0 m-0 mt-1"},o.createElement("small",{dangerouslySetInnerHTML:{__html:n.from}}),n.createdAt&&o.createElement("small",{className:"pt-1"},b(n.createdAt).format("HH:mm"))))),e&&o.createElement(L,null))},cn=function(n,e){return void 0===e&&(e=!1),o.createElement(o.Fragment,null,o.createElement(M,{key:n.messageId,className:"".concat(e?"animation":"")},o.createElement("img",{className:"system",src:y.toString(),alt:""}),o.createElement(h,{className:"p-0 m-0 text-left"},o.createElement("div",null,n.message&&o.createElement("span",{className:"system",dangerouslySetInnerHTML:{__html:s(n.message,{target:"_blank"}).replaceAll(/\r\n|\n/g,"<br />")}})),Array.isArray(n.files)&&n.files.length>0&&o.createElement("div",{className:"files"},n.files.map(function(n){return on(n.url)})),o.createElement(v,{className:"flex-center-justified w-100 p-0 m-0 mt-1"},o.createElement("small",{dangerouslySetInnerHTML:{__html:n.from}}),n.createdAt&&o.createElement("small",{className:"pt-1"},b(n.createdAt).format("HH:mm"))))),e&&o.createElement(L,null))},dn=function(n){var t,r,a,i;return o.createElement(o.Fragment,null,o.createElement(A,{key:n.messageId},!n.form&&o.createElement(o.Fragment,null,n.message&&o.createElement("span",{className:"text-left",dangerouslySetInnerHTML:{__html:s(n.message,{target:"_blank"}).replaceAll(/\r\n|\n/g,"<br />")}}),Array.isArray(n.files)&&n.files.length>0&&o.createElement("div",{className:"files"},n.files.map(function(n){return on(n.url)})),o.createElement(v,{className:"flex-center-justified w-100 p-0 m-0"},"Client"===n.from?o.createElement("small",null,"Client"):o.createElement("small",{dangerouslySetInnerHTML:{__html:n.from}}),n.createdAt&&o.createElement("small",{className:"pt-1"},b(n.createdAt).format("HH:mm")))),"buttons"===(null===(t=n.form)||void 0===t?void 0:t.type)&&o.createElement(o.Fragment,null,null===(r=n.form)||void 0===r?void 0:r.value.map(function(n,e){return o.createElement("button",{key:e,onClick:function(){return I(n.action)},dangerouslySetInnerHTML:{__html:n.title}})})),"form"===(null===(a=n.form)||void 0===a?void 0:a.type)&&o.createElement("form",{ref:T,method:"get",action:"javascript:void(0);"},o.createElement("div",{className:"flex flex-column gap-5 fs-1"},null===(i=n.form)||void 0===i?void 0:i.value.map(function(t,r){return o.createElement(o.Fragment,null,"button"!==(null==t?void 0:t.type)?o.createElement(o.Fragment,null,o.createElement("div",{dangerouslySetInnerHTML:{__html:t.title},className:"text-left mt-2"}),("number"===(null==t?void 0:t.type)||"email"===(null==t?void 0:t.type)||"text"===(null==t?void 0:t.type))&&o.createElement("input",e({onChange:function(n){return rn(t.action,null==t?void 0:t.type,n.target.value)},value:D[t.action],placeholder:t.placeholder,maxLength:250},(null==t?void 0:t.required)&&{required:!0},V.has(t.action)&&{className:"invalid"},"number"===(null==t?void 0:t.type)&&{step:"0.01",min:0,max:1e6},{type:null==t?void 0:t.type,key:r})),"zip"===(null==t?void 0:t.type)&&o.createElement(o.Fragment,null,o.createElement("input",{required:!0,type:"text",placeholder:t.placeholder,value:F,onChange:function(n){R(n.target.value),U(""),rn(t.action,"text","/")}}),F&&o.createElement("select",{required:!0,disabled:null===X.data,defaultValue:t.action,value:Y,onChange:function(n){U(n.target.value),rn(t.action,"select",n.target.value)},className:"mt-1 ".concat(V.has(t.action)&&"invalid"),key:r},o.createElement("option",{value:"",disabled:!0,selected:!0},X.loading?"Loading...":X.data?"Select your Address":""),X.data&&X.data.map(function(n){return o.createElement("option",{value:n.label},n.label)}))),"select"===(null==t?void 0:t.type)&&o.createElement("select",{required:!0,onChange:function(n){return rn(t.action,null==t?void 0:t.type,n.target.value)},defaultValue:D[t.action],value:D[t.action],key:r},o.createElement("option",{disabled:!0,selected:!0,hidden:!0}),(null==t?void 0:t.options)&&Object.entries(null==t?void 0:t.options).map(function(n){var e=n[0],t=n[1];return o.createElement("option",{key:e,value:e},t)}))):o.createElement("button",e({type:"submit"},V.size>0&&!E?{disabled:!0}:{disabled:!1},{style:{marginTop:"15px"},onClick:function(e){var r,a=function(n,e){if(n){var t=n.reduce(function(n,t){return"submit_form"!==t.action&&(n[t.action]="/"!==e[t.action]&&e[t.action]||null),n},{});return!Object.values(t).some(function(n){return null===n})}}(null===(r=n.form)||void 0===r?void 0:r.value,D)||!1;0===V.size&&I(t.action),e.target.disabled=a}}),"Submit"))})))))},sn=function(n,e){return void 0===e&&(e=!1),o.createElement(o.Fragment,null,o.createElement(C,{key:n.messageId,className:"".concat(e?"animation":"")},o.createElement("img",{src:y.toString(),alt:""})," ",n.message&&o.createElement("span",{dangerouslySetInnerHTML:{__html:n.message.replaceAll(/\r\n|\n/g,"<br />")}})),e&&o.createElement(L,null))};return o.createElement(o.Fragment,null,$&&o.createElement(m,{medium:nn.current,large:nn.current,showRotate:!0,onClose:function(){return K(!1)}}),S&&o.createElement(j,null,S.map(function(n,e){return o.createElement(_,{key:e},Object.keys(d).length>0&&o.createElement(L,null),"AGENT"===n.senderType&&ln(n),"CUSTOMER"===n.senderType&&dn(n),"EVENT"===n.senderType&&sn(n),"SYSTEM"===n.senderType&&cn(n))})),d&&d.map(function(n,e){return o.createElement(_,{key:e},"AGENT"===n.senderType&&ln(n),("CUSTOMER"===n.senderType||n.form)&&dn(n),"EVENT"===n.senderType&&sn(n),"SYSTEM"===n.senderType&&cn(n),0!==e&&o.createElement(L,null))}))};export{S as default};
|
|
1
|
+
import{__rest as e,__assign as t,__spreadArray as l,__awaiter as o,__generator as i}from"../../node_modules/tslib/tslib.es6.js";import n,{useContext as a,useRef as r,useState as u,useEffect as s}from"react";import{useDropzone as c}from"../../node_modules/react-dropzone/dist/es/index.js";import{toastrMsg as d}from"../utils/alert.js";import m from"../context/ChatGlobalContext.js";import h from"./components/ChatHeader.js";import v from"./components/MessageList.js";import C from"./components/ChatInput.js";import{didAgentPost as f,closeConversation as p,scrollToBottom as g}from"../services/chatService.js";import w from"../assets/images/loader-transparent.gif.js";import E from"../assets/audio/notification.wav.js";import S from"./components/styled/ChatContent.js";import{initialTwilioChatState as b}from"../utils/chats.js";import T from"../../node_modules/react-modal-image/es/Lightbox.js";import y from"../../_virtual/moment.js";import _ from"../../node_modules/linkify-html/dist/linkify-html.js";import I from"./components/NotificationBar.js";import{isStagingOrDevelopment as j}from"../utils/helperFn.js";import{d as M}from"../../_virtual/index.js";var k=function(k){e(k,[]);var N=a(m),x=r(0),A=u(null),U=A[0],L=A[1],F=r(""),D=r(null),O=u(!0),B=O[0];O[1];var z=M.useTime({interval:1}).seconds,H=u(null),R=H[0],Y=H[1],G=u(!0),P=G[0],W=G[1];s(function(){Y(N.appMessages),W(!Z()),null==N||N.goSetTwilioChat(t(t({},null==N?void 0:N.twilioChat),{chatActive:!Z()}))},[N.appMessages]),s(function(){W(!Z())},[z]),s(function(){!P&&!(null==N?void 0:N.twilioChat.chatCaseId)&&ee()},[P]);var q=(new Date).toLocaleString("en-GB",{timeZone:"Europe/London",hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1}),K=function(e){if(e){var t=e.split(":").map(Number);return 3600*t[0]+60*t[1]+t[2]}},Z=function(){var e,t,l,o,i;if((null===(e=N.appMessages)||void 0===e?void 0:e.chat_off_mode_toggle)&&q&&(null===(t=N.appMessages)||void 0===t?void 0:t.chat_off_mode_start)&&(null===(l=N.appMessages)||void 0===l?void 0:l.chat_off_mode_end)){var n=K(q),a=K(null===(o=N.appMessages)||void 0===o?void 0:o.chat_off_mode_start),r=K(null===(i=N.appMessages)||void 0===i?void 0:i.chat_off_mode_end);return a<r?n>=a&&n<r:n>=a||n<r}return!1};s(function(){if(null==N?void 0:N.twilioChat.chatUnreaded){var e=new Audio(E);e.setAttribute("crossorigin","anonymous"),e.play().catch(function(e){console.log("User interaction required before playing sound")}),F.current="::: You have new message"}},[null==N?void 0:N.twilioChat.chatUnreaded]),s(function(){o(void 0,void 0,void 0,function(){var e;return i(this,function(l){try{"undefined"!=typeof window&&"undefined"!=typeof document&&((null==N?void 0:N.twilioChat.openChat)?(window.innerWidth<577&&(document.body.style.overflow="hidden"),D.current&&clearInterval(D.current),localStorage.getItem("title")&&(document.title=localStorage.getItem("title")||""),null===(e=document.getElementById("inputMessage"))||void 0===e||e.focus(),setTimeout(function(){return localStorage.removeItem("title")},1e3),null==N||N.goSetTwilioChat(t(t({},null==N?void 0:N.twilioChat),{chatUnreaded:!1}))):(document.body.style.overflow="",null==N||N.goSetTwilioChat(t(t({},null==N?void 0:N.twilioChat),{chatUnreaded:!1,chatClosing:!1})))),g()}catch(e){console.log("Error fetching data:",e)}return[2]})})},[null==N?void 0:N.twilioChat.openChat]),s(function(){!U&&f(null==N?void 0:N.twilioChat.messages)?L(setInterval(function(){if(null!==(null==N?void 0:N.twilioChat.lastTimeActive)){var e=x.current+1;localStorage.setItem("timer",e.toString()),e===parseInt(localStorage.getItem("chatTime1")||"300")?(null==N||N.goSetTwilioChat(t(t({},null==N?void 0:N.twilioChat),{messages:l([{senderType:"AGENT",createdAt:y(new Date).format(),from:"YouFibre",message:"Could you please confirm if you're still waiting on this chat? If so, kindly send a reply. If we don’t hear from you, the chat will automatically close. Thank you.",form:null,files:[],messageId:321,fromId:"".concat(Date.now(),"-0000-0000-0000-000000000000")}],null==N?void 0:N.twilioChat.messages,!0)})),x.current=e):e>parseInt(localStorage.getItem("chatTime2")||"360")?(p("SYSTEM"),null==N||N.goSetTwilioChat(t(t(t({},null==N?void 0:N.twilioChat),b),{openChat:null==N?void 0:N.twilioChat.openChat,chatClosing:!0,chatClosingType:"SYSTEM",fullscreen:null==N?void 0:N.twilioChat.fullscreen,side:null==N?void 0:N.twilioChat.side})),clearInterval(U),localStorage.removeItem("timer"),L(null),x.current=0):x.current=e}else clearInterval(U),localStorage.removeItem("timer"),L(null),U=null,x.current=0;return!0},1e3)):(f(null==N?void 0:N.twilioChat.messages)||(clearInterval(U),L(null),U=null),x.current=0)},[null==N?void 0:N.twilioChat.lastTimeActive]);var J=["jpg","jpeg","png","pdf","gif","txt","mp4","mp3"],Q=c({noClick:!0,noKeyboard:!0,onDrop:function(e){return o(void 0,void 0,void 0,function(){return i(this,function(o){return null==N||N.goSetTwilioChat(t(t({},null==N?void 0:N.twilioChat),{uploadArea:!1})),(null==N?void 0:N.twilioChat.chatCaseId)&&(e=(e=(e=e.filter(function(e){return e.size<10485760?e:d("Maximum file size is ".concat(10,"MB"),"error")})).filter(function(e){return J.some(function(t){return e.name.endsWith(t)})?e:d("Unsupported File extension","error")})).filter(function(e){var t;return 0===Object.keys(null===(t=null==N?void 0:N.twilioChat.uploadedFiles)||void 0===t?void 0:t.filter(function(t){return t.name===e.name})).length}),Object.keys((null==N?void 0:N.twilioChat.uploadedFiles)||[]).length+Object.keys(e).length<6?null==N||N.goSetTwilioChat(t(t({},null==N?void 0:N.twilioChat),{uploadedFiles:l(l([],(null==N?void 0:N.twilioChat.uploadedFiles)||[],!0),e,!0),uploadArea:!1})):(d("Maximum ".concat(5," files"),"warning"),null==N||N.goSetTwilioChat(t(t({},null==N?void 0:N.twilioChat),{uploadArea:!1})))),[2]})})}}),V=Q.getRootProps,X=Q.getInputProps,$=Q.open,ee=function(){N.goSetTwilioChat(t(t({},b),{openChat:!1}))};return n.createElement(S,t({className:"".concat((null==N?void 0:N.twilioChat.openChat)?"show":""," ").concat((null==N?void 0:N.twilioChat.fullscreen)?"fullscreen":"")},V(),{onDragOver:function(){return(null==N?void 0:N.twilioChat.chatCaseId)&&(null==N?void 0:N.goSetTwilioChat(t(t({},null==N?void 0:N.twilioChat),{uploadArea:!0})))},onMouseLeave:function(){return null==N?void 0:N.goSetTwilioChat(t(t({},null==N?void 0:N.twilioChat),{uploadArea:!1}))}}),(null==N?void 0:N.twilioChat.lightboxUrl)&&n.createElement(T,{medium:null==N?void 0:N.twilioChat.lightboxUrl,large:null==N?void 0:N.twilioChat.lightboxUrl,showRotate:!0,onClose:function(){return null==N?void 0:N.goSetTwilioChat(t(t({},null==N?void 0:N.twilioChat),{lightboxUrl:null}))}}),n.createElement(h,null),n.createElement(I,null),n.createElement(v,null),n.createElement(C,{open:$}),n.createElement("input",t({},X())),(null==N?void 0:N.twilioChat.chatLoading)&&(null==N?void 0:N.twilioChat.openChat)&&n.createElement("div",{className:"cover"},n.createElement("img",{className:"make-it-white",src:w,width:14,height:14})),(null==N?void 0:N.twilioChat.confirmClosing)&&(null==N?void 0:N.twilioChat.openChat)&&n.createElement("div",{className:"cover closed"},n.createElement("h4",null,"Close conversation"),n.createElement("span",null,"Are you sure you want to end this conversation?"),n.createElement("button",{onClick:function(){return null==N?void 0:N.goSetTwilioChat(t(t({},null==N?void 0:N.twilioChat),{confirmClosing:!1}))}},"Cancel"),n.createElement("button",{onClick:function(){p("CUSTOMER")},className:"blue-bg"},"Confirm")),(null==N?void 0:N.twilioChat.chatClosing)&&(null==N?void 0:N.twilioChat.openChat)&&n.createElement("div",{className:"cover closed"},n.createElement("h4",null,"Conversation is closed"),n.createElement("span",null,"To keep the conversation going, create a new conversation."),n.createElement("button",{onClick:function(){return null==N?void 0:N.goSetTwilioChat(t(t(t({},null==N?void 0:N.twilioChat),b),{openChat:!1,fullscreen:null==N?void 0:N.twilioChat.fullscreen,side:null==N?void 0:N.twilioChat.side}))}},"Close"),n.createElement("button",{onClick:function(){return null==N?void 0:N.goResetTwilioChat()},className:"blue-bg"},"Create new")),(null==N?void 0:N.twilioChat.uploadArea)&&(null==N?void 0:N.twilioChat.chatCaseId)&&(null==N?void 0:N.twilioChat.openChat)&&n.createElement("div",{className:"cover upload"},n.createElement("h4",null,"Drag and drop your files here"),n.createElement("p",null,"Maximum ",null==N?void 0:N.twilioChat.fileCount," files. Limit ",null==N?void 0:N.twilioChat.fileSize,"MB per file."),n.createElement("p",null,"Supported files: ",J&&J.map(function(e,t){return!["mp4","mp3"].some(function(t){return t===e})&&(0===t?e:", ".concat(e))}))),(null==N?void 0:N.twilioChat.outage)&&(null==N?void 0:N.twilioChat.outageMessage)&&n.createElement("div",{className:"cover closed"},n.createElement("h4",null,null==N?void 0:N.twilioChat.outageTitle),n.createElement("span",{dangerouslySetInnerHTML:{__html:_(null==N?void 0:N.twilioChat.outageMessage,{target:"_blank"})}}),n.createElement("button",{onClick:function(){return ee()},className:"blue-bg w-100"},"Close Chat"),B&&n.createElement("button",{onClick:function(){N.goSetTwilioChat(t(t({},null==N?void 0:N.twilioChat),{outage:!1,outageMessage:null,outageTitle:null,openChat:!0}))},className:" w-100"},"Still Need Help - Start Chat")),!P&&(null==N?void 0:N.twilioChat.openChat)&&!(null==N?void 0:N.twilioChat.chatCaseId)&&R&&!j()&&n.createElement("div",{className:"cover closed"},n.createElement("h4",null,"Out of service"),n.createElement("span",{dangerouslySetInnerHTML:{__html:_(R.chat_off_mode_text,{target:"_blank"}).replaceAll(/\r\n|\n/g,"<br />")}}),!(null==N?void 0:N.twilioChat.fullscreen)&&n.createElement("button",{onClick:function(){return null==N?void 0:N.goSetTwilioChat(t(t({},null==N?void 0:N.twilioChat),{openChat:!1}))},className:"no-bg"},"Close chat")))};export{k as default};
|
|
2
2
|
//# sourceMappingURL=Chat.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chat.js","sources":["../../../src/TwilioChat/Chat.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport styled from 'styled-components';\nimport linkifyHtml from 'linkify-html';\nimport { Col, Row } from 'react-bootstrap';\nimport { Lightbox } from \"react-modal-image\";\nimport { useDebounce } from 'use-debounce';\nimport { BsFiletypePdf } from \"react-icons/bs\";\nimport { BsFiletypeTxt } from \"react-icons/bs\";\nimport { BsFiletypeMp4 } from \"react-icons/bs\";\nimport { BsFiletypeMp3 } from \"react-icons/bs\";\n\nimport moment from 'moment';\n\nconst icoYouFibre = new URL(\"./assets/images/svg/favicon.svg\", import.meta.url);\nconst icoUpload = new URL(\"./assets/images/svg/youfibre-upload.svg\", import.meta.url);\n\nconst Animation = styled.div`\n &, .animation {\n width: 100%;\n display: flex;\n flex-direction: column;\n position: inherit;\n margin-bottom: -9rem;\n animation: slideIn .1s cubic-bezier(0.41, 0.39, 0.53, 1.38) forwards;\n }\n @keyframes slideIn {\n from {\n margin-bottom: -9rem;\n }\n to {\n margin-bottom: 0rem;\n }\n }\n`;\n\nconst YFPost = styled.div`\n width: calc(100% - 20px);\n padding: 5px 10px;\n flex: 0;\n display: flex;\n gap: 15px;\n img {\n flex: 0;\n width: 25px;\n height: 25px;\n -object-fit: fill;\n object-fit: fill;\n border-radius: 200px;\n padding: 9px;\n background-color: #ddf0fc;\n &.system {\n background-color: #f9f2eb;\n }\n }\n span {\n color: #263238;\n background-color: #ddf0fc;\n flex: 1;\n padding: 1rem;\n border-radius: 5px;\n font-size: 1rem;\n line-height: 1.5rem;\n font-weight: 100;\n display: block;\n word-break: break-word;\n a, a:visited, a:active {\n font-size: 1rem !important;\n text-decoration: underline;\n color: #005095;\n }\n &.system {\n color: #935610;\n background-color: #f9f2eb;\n }\n }\n button {\n border: 2px solid #08DE9E;\n cursor: pointer;\n &:hover {\n background-color: #08DE9E;\n }\n }\n small {\n font-size: 0.75rem !important;\n font-weight: 100;\n line-height: 0.85rem;\n color: #bcc8d0;\n }\n .action {\n width: 0.8rem;\n height: 0.8rem;\n opacity: 0.5;\n }\n .files {\n margin: 0.3rem 0rem 0rem 0rem !important;\n border-radius: 5px;\n background-color: #f4f7f9 !important;;\n padding: 0rem;\n overlay: none;\n display: flex;\n flex-direction: row !important;\n flex-wrap: wrap !important;\n align-content: flex-start !important;\n justify-content: space-evenly !important;\n align-items: flex-start !important;\n .file{\n width: 130px;\n height: 130px;\n object-fit: contain;\n opacity: 1;\n cursor: pointer;\n }\n }\n`;\n\nconst MyPost = styled.div`\n width: calc(100% - 20px);\n padding: 5px 10px;\n flex: 0;\n display: flex;\n flex-direction: column;\n gap: 5px;\n img {\n flex: 0;\n width: 25px;\n height: 25px;\n opacity: 0;\n }\n span, button {\n display: block;\n background-color: #c1f7e7;\n flex: 0;\n padding: 5px;\n border-radius: 5px;\n color: #263238;\n font-size: 1rem;\n line-height: 1.5rem;\n font-weight: 100;\n min-width: 40%;\n word-break: break-word;\n b {\n font-weight: 900;\n }\n a, a:visited, a:active {\n font-size: 1rem !important;\n text-decoration: underline;\n color: #397040;\n }\n }\n input, select {\n font-size: 0.9rem;\n border: 1px solid #d5d5d5;\n border-radius: 5px;\n padding: 1px 4px;\n height: 30px;\n outline: none;\n &.invalid {\n border-bottom: 1px solid red;\n }\n &:focus{\n border-radius: 5px;\n }\n &:disabled{\n border: 1px solid #d9d9d9;\n }\n }\n select {\n cursor: pointer;\n background: url(data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0Ljk1IDEwIj48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6I2ZmZjt9LmNscy0ye2ZpbGw6IzQ0NDt9PC9zdHlsZT48L2RlZnM+PHRpdGxlPmFycm93czwvdGl0bGU+PHJlY3QgY2xhc3M9ImNscy0xIiB3aWR0aD0iNC45NSIgaGVpZ2h0PSIxMCIvPjxwb2x5Z29uIGNsYXNzPSJjbHMtMiIgcG9pbnRzPSIxLjQxIDQuNjcgMi40OCAzLjE4IDMuNTQgNC42NyAxLjQxIDQuNjciLz48cG9seWdvbiBjbGFzcz0iY2xzLTIiIHBvaW50cz0iMy41NCA1LjMzIDIuNDggNi44MiAxLjQxIDUuMzMgMy41NCA1LjMzIi8+PC9zdmc+) no-repeat 98% 50%;\n -moz-appearance: none; \n -webkit-appearance: none; \n appearance: none;\n }\n .loader {\n opacity: 1;\n }\n button {\n border: 1px solid #08DE9E;\n cursor: pointer;\n &:hover {\n background-color: #08DE9E;\n }\n &:disabled, &:disabled:hover {\n border: 1px solid #e1e1e1;\n background-color: #e1e1e1;\n cursor: default;\n }\n }\n small {\n font-size: 0.75rem !important;\n font-weight: 100;\n line-height: 0.85rem;\n color: #bcc8d0;\n }\n .action {\n width: 0.8rem;\n height: 0.8rem;\n opacity: 0.5;\n }\n .files {\n margin: 0rem !important;\n border-radius: 5px;\n background-color: #f4f7f9 !important;;\n padding: 0rem;\n overlay: none;\n display: flex;\n flex-direction: row !important;\n flex-wrap: wrap !important;\n align-content: flex-start !important;\n justify-content: space-evenly !important;\n align-items: flex-start !important;\n .file{\n width: 130px;\n height: 130px;\n object-fit: contain;\n opacity: 1;\n cursor: pointer;\n }\n }\n`;\n\nconst EventPost = styled.div`\n padding: 5px 10px;\n flex: 0;\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n gap: 5px;\n img {\n flex: 0;\n width: 40px;\n height: 40px;\n }\n span {\n display: block;\n background-color: #00468b;\n flex: 1;\n padding: 5px 15px;\n max-width: 80%;\n border-radius: 5px;\n color: #ffffff;\n font-size: 1rem;\n line-height: 1.5rem;\n font-weight: 100;\n text-align: center;\n flex-wrap: wrap;\n word-break: break-word;\n b {\n font-weight: 900;\n }\n }\n`;\n\nconst Splitter = styled.hr`\n width: 100%;\n height: 1px;\n border: 0px;\n border-top: 1px solid #dbe4ea;\n outline: none;\n box-shadow: none;\n margin: 5px 0px;\n`;\n\nconst Box = styled.div`\n width: 100%;\n`;\n\ninterface Result {\n available: boolean | null;\n salesStatus: boolean | null;\n loading: boolean;\n chatActive: boolean;\n data: Array<{ label: string; value: string; }> | null;\n}\n\nconst Chat = ({messages, chatUsername, chatConversationId, chatUserId, chatActive, setChatForm, buttonAction, resetFormValues = false, newMessages, API}) => {\n const formRef = useRef<any>(null);\n const [formValues, setFormValues] = useState({});\n const [postCode, setPostCode] = useState('');\n const [postCodeAddress, setPostCodeAddress] = useState('');\n const [invalidFields, setInvalidFields] =useState<Set<string>>(new Set());\n const [searchResult, setSearchResult] = useState<Result>({\n available: false,\n salesStatus: null,\n loading: false,\n chatActive: false,\n data: null,\n });\n const [openLightbox, setOpenLightbox] = useState(false);\n const lightboxUrl = useRef<string|null>(null);\n const [debounced] = useDebounce(postCode, 700);\n\n useEffect(() => {\n setFormValues({});\n setPostCode('');\n }, [chatConversationId, resetFormValues]);\n\n useEffect(() => {\n postCode.length > 0\n ? loadOptionsAsync(postCode)\n : setSearchResult({\n ...searchResult,\n data: null,\n });\n }, [debounced]);\n\n const loadOptionsAsync = async(input) => {\n setSearchResult({\n ...searchResult,\n data: null,\n loading: true,\n });\n updateFormValues('address', 'text', null);\n try {\n API.get(`CrmModule/v2.0/premises/post-code-checker?searchString=${input}`)\n .then((response) => { \n const data = response?.map((category) => ({\n value:category.properties.PostalCode,\n label: category.properties.FullAddress,\n }));\n setSearchResult({\n ...searchResult,\n loading: false,\n data,\n });\n })\n .catch(function (error) {\n console.error('Error fetching ZIP codes:', error);\n setSearchResult({\n ...searchResult,\n loading: false,\n });\n });\n } catch (error) { console.error('Error fetching ZIP codes:', error); }\n };\n\n const validateInput = (type:string, data:any) => {\n if((typeof data === 'string' && data.length === 0) || (typeof data === 'number' && data === 0)) return true;\n const regex = {\n 'select': /^[a-zA-Z0-9\\s\\-_,.!?()/@\"']+$/,\n 'text': /^[a-zA-Z0-9\\s\\-_,.!?()/@\"']+$/,\n 'email': /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.+-]+\\.[a-zA-Z0-9]{2,}$/,\n 'number': /^(?:1000000(?:\\.0{1,2})?|[0-9]{1,6}(?:\\.\\d{1,2})?)$/,\n };\n return regex[type].test(data);\n };\n\n const updateFormValues = (action, type, value) => {\n formValues[action] = value;\n const tmpInvalidFields = invalidFields;\n validateInput(type, value)?tmpInvalidFields.delete(action):tmpInvalidFields.add(action); \n setInvalidFields(tmpInvalidFields); \n setFormValues({...formValues});\n setChatForm(formValues);\n };\n\n const validateForm = (form, values) => {\n if(form){\n let tmpValues:object = form.reduce((acc: any, item: any) => {\n if (item.action !== \"submit_form\") {\n acc[item.action] = (values[item.action] !== \"/\" && values[item.action]) || null;\n }\n return acc;\n }, {});\n return !Object.values(tmpValues).some(value => value === null);\n }\n };\n\n const InlineSvg = ({ url, ...props }) => {\n const [svgContent, setSvgContent] = useState<string | null>(null); \n useEffect(() => {\n const fetchSvg = async () => {\n try {\n const response = await fetch(url);\n const svgText = await response.text();\n setSvgContent(svgText);\n } catch (error) {\n console.error(\"Error loading SVG:\", error);\n }\n }; \n fetchSvg();\n }, [url]); \n return (\n <div {...props}\n dangerouslySetInnerHTML={{ __html: svgContent || \"\" }}\n aria-hidden=\"true\"\n />\n );\n };\n\n const getIcon = (url:string) => {\n if(url && typeof window !== 'undefined'){\n const extension = url.split('.').pop()?.toLocaleLowerCase();\n switch(extension){\n case 'pdf': return <BsFiletypePdf className='file' onClick={() => window.open(url,'_blank')}/>; break;\n case 'txt': return <BsFiletypeTxt className='file' onClick={() => window.open(url,'_blank')}/>; break;\n case 'mp4': return <BsFiletypeMp4 className='file' onClick={() => window.open(url,'_blank')}/>; break;\n case 'mp3': return <BsFiletypeMp3 className='file' onClick={() => window.open(url,'_blank')}/>; break;\n case 'svg': return <InlineSvg className='file' url={url} onClick={() => window.open(url,'_blank')} />; break;\n default: return <img className='file' src={url} onClick={() => { lightboxUrl.current = url; setOpenLightbox(true);}} alt='' />; break;\n }\n }\n };\n\n const agentMessage = (item, isNew = false) => {\n return <>\n <YFPost key={item.messageId} className={`${isNew ? \"animation\" : \"\"}`}>\n <img src={icoYouFibre.toString()} />\n <Col className='p-0 m-0 text-left'>\n <div>\n {item.message && <span dangerouslySetInnerHTML={{ __html: linkifyHtml(item.message, { target: \"_blank\" }).replaceAll(/\\r\\n|\\n/g, \"<br />\") }} />}\n </div>\n {Array.isArray(item.files) && item.files.length > 0 && <div className='files'>\n {item.files.map((file) => getIcon(file.url))}\n </div>}\n <Row className='flex-center-justified w-100 p-0 m-0 mt-1'>\n <small dangerouslySetInnerHTML={{ __html: item.from }} />\n { item.createdAt && <small className='pt-1'>{moment(item.createdAt).format('HH:mm')}</small> }\n </Row>\n </Col>\n </YFPost>\n {isNew && <Splitter />}\n </>\n };\n\n const systemMessage = (item, isNew = false) => {\n return <>\n <YFPost key={item.messageId} className={`${isNew ? \"animation\" : \"\"}`}>\n <img className='system' src={icoYouFibre.toString()} alt='' />\n <Col className='p-0 m-0 text-left'>\n <div>\n {item.message && <span className='system' dangerouslySetInnerHTML={{ __html: linkifyHtml(item.message, { target: \"_blank\" }).replaceAll(/\\r\\n|\\n/g, \"<br />\") }} />}\n </div>\n {Array.isArray(item.files) && item.files.length > 0 && <div className='files'>\n {item.files.map((file) => getIcon(file.url))}\n </div>}\n <Row className='flex-center-justified w-100 p-0 m-0 mt-1'>\n <small dangerouslySetInnerHTML={{ __html: item.from }} />\n { item.createdAt && <small className='pt-1'>{moment(item.createdAt).format('HH:mm')}</small> }\n </Row>\n </Col>\n </YFPost>\n {isNew && <Splitter />}\n </>\n };\n\n const customerMessage = (item) => {\n return <>\n <MyPost key={item.messageId}>\n { !item.form && <>\n {item.message && <span className=\"text-left\" dangerouslySetInnerHTML={{ __html: linkifyHtml(item.message, { target: \"_blank\" }).replaceAll(/\\r\\n|\\n/g, \"<br />\") }} />}\n {Array.isArray(item.files) && item.files.length > 0 && <div className='files'>\n {item.files.map((file) => getIcon(file.url))}\n </div>}\n <Row className='flex-center-justified w-100 p-0 m-0'>\n {item.from === 'Client' ? <small>Client</small> : <small dangerouslySetInnerHTML={{ __html: item.from }} /> }\n { item.createdAt && <small className='pt-1'>{moment(item.createdAt).format('HH:mm')}</small> }\n </Row></>}\n { item.form?.type === \"buttons\" && <>\n { item.form?.value.map((itm, i) => <button key={i} onClick={() => buttonAction(itm.action)} dangerouslySetInnerHTML={{ __html: itm.title }} />)}\n </>}\n { item.form?.type === \"form\" && <form ref={formRef} method='get' action='javascript:void(0);'>\n <div className='flex flex-column gap-5 fs-1'>\n { item.form?.value.map((itm, i) => <> \n { itm?.type !== 'button' ? <><div dangerouslySetInnerHTML={{ __html: itm.title }} className='text-left mt-2' />\n { (itm?.type === 'number' || itm?.type === 'email' || itm?.type === 'text') && \n <input\n onChange={(e) => updateFormValues(itm.action, itm?.type, e.target.value)}\n value={formValues[itm.action]}\n placeholder={itm.placeholder}\n maxLength={250}\n {...(itm?.required && { required: true })}\n {...(invalidFields.has(itm.action) && { className: 'invalid' })}\n {...(itm?.type === 'number' && { step: \"0.01\", min: 0, max: 1000000 })}\n type={itm?.type}\n key={i}\n />}\n { itm?.type === 'zip' && <>\n <input\n required\n type=\"text\"\n placeholder={itm.placeholder}\n value={postCode}\n onChange={e => {\n setPostCode(e.target.value);\n setPostCodeAddress('');\n updateFormValues(itm.action, 'text', '/');\n }}\n />\n {postCode && <select\n required\n disabled={searchResult.data === null}\n defaultValue={itm.action}\n value={postCodeAddress}\n onChange={(e) => {\n setPostCodeAddress((e.target as HTMLSelectElement).value);\n updateFormValues(itm.action, 'select', (e.target as HTMLSelectElement).value);\n }}\n className={`mt-1 ${invalidFields.has(itm.action) && 'invalid'}`} key={i}>\n <option value={''} disabled selected>{searchResult.loading ? \"Loading...\" : !searchResult.data ? \"\" : \"Select your Address\"}</option>\n {searchResult.data && searchResult.data.map(item => (\n <option value={item.label}>\n {item.label as String}\n </option>\n ))}\n </select>}\n </>\n }\n { itm?.type === 'select' && <select required onChange={(e) => updateFormValues(itm.action, itm?.type, e.target.value)} defaultValue={formValues[itm.action]} value={formValues[itm.action]} key={i}>\n <option disabled selected hidden></option>\n {itm?.options && Object.entries(itm?.options).map(([key, title]) => (\n <option key={key} value={key}>\n {title as String}\n </option>\n ))}\n </select>\n }\n </> : \n <button type='submit' {...(invalidFields.size > 0 && !chatActive ? { disabled: true } : {disabled: false})} style={{marginTop: '15px'}}\n onClick={(e) => {\n const valid:boolean = validateForm(item.form?.value, formValues) || false;\n invalidFields.size === 0 && buttonAction(itm.action);\n const target = e.target as HTMLButtonElement\n target.disabled = valid;\n }} >Submit</button>}\n \n </>)}\n </div>\n </form>}\n </MyPost>\n </>\n };\n\n const eventMessage = (item, isNew = false) => {\n return <>\n <EventPost key={item.messageId} className={`${isNew ? \"animation\" : \"\"}`}>\n <img src={icoYouFibre.toString()} alt='' /> {item.message && <span dangerouslySetInnerHTML={{ __html: item.message.replaceAll(/\\r\\n|\\n/g, \"<br />\") }} />}\n </EventPost>\n {isNew && <Splitter />}\n </>\n };\n\n return (\n <> \n {openLightbox && <Lightbox\n medium={lightboxUrl.current}\n large={lightboxUrl.current}\n showRotate={true}\n onClose={() => setOpenLightbox(false)}\n />} \n {newMessages && <Animation>\n { newMessages.map((item, index) => <Box key={index}>\n { Object.keys(messages).length > 0 && <Splitter /> } \n { item.senderType === \"AGENT\" && agentMessage(item) }\n { item.senderType === \"CUSTOMER\" && customerMessage(item) }\n { item.senderType === \"EVENT\" && eventMessage(item) } \n { item.senderType === \"SYSTEM\" && systemMessage(item) } \n </Box> \n )}\n </Animation>}\n {messages && messages.map((item, index) => \n <Box key={index}>\n { item.senderType === \"AGENT\" && agentMessage(item) }\n { (item.senderType === \"CUSTOMER\" || item.form) && customerMessage(item) }\n { item.senderType === \"EVENT\" && eventMessage(item) }\n { item.senderType === \"SYSTEM\" && systemMessage(item) } \n { index !== 0 && <Splitter /> }\n </Box>\n )}\n </>\n );\n};\n\nexport default Chat;\n"],"names":["icoYouFibre","URL","url","Animation","styled","div","templateObject_1","__makeTemplateObject","YFPost","templateObject_2","MyPost","templateObject_3","EventPost","templateObject_4","Splitter","hr","templateObject_5","Box","templateObject_6","Chat","_a","messages","chatUsername","chatConversationId","chatUserId","chatActive","setChatForm","buttonAction","_b","resetFormValues","newMessages","API","formRef","useRef","_c","useState","formValues","setFormValues","_d","postCode","setPostCode","_e","postCodeAddress","setPostCodeAddress","_f","Set","invalidFields","setInvalidFields","_g","available","salesStatus","loading","data","searchResult","setSearchResult","_h","openLightbox","setOpenLightbox","lightboxUrl","debounced","useDebounce","useEffect","length","loadOptionsAsync","__assign","input","__awaiter","updateFormValues","get","concat","then","response","map","category","value","properties","PostalCode","label","FullAddress","catch","error","console","action","type","tmpInvalidFields","select","text","email","number","test","validateInput","add","delete","InlineSvg","props","__rest","svgContent","setSvgContent","fetch","sent","svgText","error_1","React","createElement","dangerouslySetInnerHTML","__html","getIcon","window","split","pop","toLocaleLowerCase","BsFiletypePdf","className","onClick","open","BsFiletypeTxt","BsFiletypeMp4","BsFiletypeMp3","src","current","alt","agentMessage","item","isNew","Fragment","key","messageId","toString","Col","message","linkifyHtml","target","replaceAll","Array","isArray","files","file","Row","from","createdAt","moment","format","systemMessage","customerMessage","form","itm","i","title","ref","method","onChange","e","placeholder","maxLength","required","has","step","min","max","disabled","defaultValue","selected","hidden","options","Object","entries","size","style","marginTop","valid","values","tmpValues","reduce","acc","some","validateForm","eventMessage","Lightbox","medium","large","showRotate","onClose","index","keys","senderType"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Chat.js","sources":["../../../src/TwilioChat/Chat.tsx"],"sourcesContent":["import React, { useContext, useState, useEffect, useRef } from \"react\";\nimport { useDropzone } from 'react-dropzone';\nimport { toastrMsg } from '../utils/alert';\nimport ChatGlobalContext from \"../context/ChatGlobalContext\";\nimport ChatHeader from \"./components/ChatHeader\";\nimport MessageList from \"./components/MessageList\";\nimport ChatInput from \"./components/ChatInput\";\nimport { closeConversation, didAgentPost, scrollToBottom } from \"../services/chatService\";\nimport loadingIcon from '../assets/images/loader-transparent.gif';\nimport notificationSound from \"../assets/audio/notification.wav\";\nimport ChatContent from \"./components/styled/ChatContent\";\nimport { initialTwilioChatState } from \"../utils/chats\";\nimport { Lightbox } from \"react-modal-image\";\nimport moment from \"moment\";\nimport linkifyHtml from \"linkify-html\";\nimport NotificationBar from \"./components/NotificationBar\";\nimport { isStagingOrDevelopment } from '../utils/helperFn';\nimport { useTime } from \"react-timer-hook\";\n\nconst Chat = ({...props}) => {\n const gContext: any = useContext(ChatGlobalContext);\n \n let timer = useRef<number>(0);\n let [countdownInterval, setCountdownInterval] = useState<any>(null);\n\n const titleRef = useRef<string>(\"\");\n const intervalRef = useRef<any | null>(null);\n const [allowCreateChat, setAllowCreateChat] = useState(true);\n\n const { seconds: londonSec } = useTime({ interval: 1 });\n const [appMessages, setAppMessages] = useState<any>(null);\n const [chatActive, setChatActive] = useState<boolean>(true);\n \n useEffect(() => {\n // Get Settings from Strapi\n setAppMessages(gContext.appMessages);\n // Chech if current time isn't in time range\n setChatActive(!isTimeInRange());\n gContext?.goSetTwilioChat({\n ...gContext?.twilioChat, \n chatActive: !isTimeInRange()\n });\n }, [gContext.appMessages]);\n \n useEffect(() => {\n // Live check if chat should be active\n setChatActive(!isTimeInRange());\n }, [londonSec]);\n \n useEffect(() => {\n // If we are on the second step - Login form\n !chatActive && !gContext?.twilioChat.chatCaseId && resetChat();\n }, [chatActive]);\n \n const nowInLondon = new Date().toLocaleString(\"en-GB\", {\n timeZone: \"Europe/London\",\n hour: '2-digit',\n minute: '2-digit',\n second: '2-digit',\n hour12: false\n });\n \n const timeToSeconds = (timeStr) => {\n if(timeStr) {\n const [hours, minutes, seconds] = timeStr.split(':').map(Number);\n return hours * 3600 + minutes * 60 + seconds;\n }\n }\n \n const isTimeInRange = () => {\n if(gContext.appMessages?.chat_off_mode_toggle && nowInLondon && gContext.appMessages?.chat_off_mode_start && gContext.appMessages?.chat_off_mode_end) {\n const current = timeToSeconds(nowInLondon);\n const start = timeToSeconds(gContext.appMessages?.chat_off_mode_start);\n const end = timeToSeconds(gContext.appMessages?.chat_off_mode_end);\n if (start < end) {\n // Normal range (e.g., 08:00 to 20:00)\n return current >= start && current < end;\n } else {\n // Overnight range (e.g., 20:00 to 08:00)\n return current >= start || current < end;\n }\n } else {\n return false;\n }\n }\n\n\n useEffect(() => {\n if(gContext?.twilioChat.chatUnreaded) {\n let sound = new Audio(notificationSound);\n sound.setAttribute('crossorigin', 'anonymous'); \n sound.play().catch((error) => {\n console.log(\"User interaction required before playing sound\");\n });\n titleRef.current = \"::: You have new message\";\n }\n }, [gContext?.twilioChat.chatUnreaded]);\n useEffect(() => {\n const fetchData = async () => {\n try {\n if(typeof window !== 'undefined' && typeof document !== \"undefined\"){\n if(gContext?.twilioChat.openChat){\n if(window.innerWidth < 577) document.body.style.overflow = \"hidden\";\n intervalRef.current && clearInterval(intervalRef.current);\n if(localStorage.getItem(\"title\")) document.title = localStorage.getItem(\"title\") || \"\";\n document.getElementById('inputMessage')?.focus();\n setTimeout(() => localStorage.removeItem(\"title\"), 1000);\n\n gContext?.goSetTwilioChat({\n ...gContext?.twilioChat, \n chatUnreaded: false\n });\n\n } else {\n document.body.style.overflow = \"\";\n gContext?.goSetTwilioChat({\n ...gContext?.twilioChat, \n chatUnreaded: false,\n chatClosing: false\n });\n }\n }\n scrollToBottom();\n } catch (error) {\n console.log(\"Error fetching data:\", error);\n }\n }; \n fetchData();\n }, [gContext?.twilioChat.openChat]);\n \n useEffect(() => {\n if(!countdownInterval && didAgentPost(gContext?.twilioChat.messages)){\n setCountdownInterval(setInterval(() => {\n if(gContext?.twilioChat.lastTimeActive !== null){\n const elapsedSeconds = timer.current + 1;\n localStorage.setItem(\"timer\", elapsedSeconds.toString());\n if(elapsedSeconds === parseInt(localStorage.getItem('chatTime1') || '300')) { // After: 300s = 5min\n gContext?.goSetTwilioChat({...gContext?.twilioChat, messages: [{\n senderType: 'AGENT',\n createdAt: moment(new Date()).format(),\n from: 'YouFibre',\n message: \"Could you please confirm if you're still waiting on this chat? If so, kindly send a reply. If we don’t hear from you, the chat will automatically close. Thank you.\",\n form: null,\n files: [],\n messageId: 321,\n fromId: `${Date.now()}-0000-0000-0000-000000000000`\n }, ...gContext?.twilioChat.messages]});\n timer.current = elapsedSeconds;\n } else if(elapsedSeconds > parseInt(localStorage.getItem('chatTime2') || '360')){ // After: 360s = 6min\n closeConversation(\"SYSTEM\");\n gContext?.goSetTwilioChat({\n ...gContext?.twilioChat, \n ...initialTwilioChatState, \n openChat: gContext?.twilioChat.openChat, \n chatClosing: true, \n chatClosingType: \"SYSTEM\",\n fullscreen: gContext?.twilioChat.fullscreen,\n side: gContext?.twilioChat.side\n });\n clearInterval(countdownInterval);\n localStorage.removeItem(\"timer\");\n setCountdownInterval(null);\n timer.current = 0;\n } else {\n timer.current = elapsedSeconds;\n }\n } else {\n clearInterval(countdownInterval);\n localStorage.removeItem(\"timer\");\n setCountdownInterval(null);\n countdownInterval = null;\n timer.current = 0;\n }\n return true;\n }, 1000)); \n } else {\n if(!didAgentPost(gContext?.twilioChat.messages)){\n clearInterval(countdownInterval);\n setCountdownInterval(null);\n countdownInterval = null;\n }\n timer.current = 0;\n }\n }, [gContext?.twilioChat.lastTimeActive]);\n \n // Upload files - Configuration\n const fileCount = 5;\n const fileSize = 10; // MB\n const fileExtensions = ['jpg', 'jpeg', 'png', 'pdf', 'gif', 'txt', 'mp4', 'mp3'];\n\n // Upload files - for input form or drag&drop over chat\n const {getRootProps, getInputProps, open} = useDropzone({\n noClick: true,\n noKeyboard: true,\n onDrop: async (acceptedFiles:any) => {\n gContext?.goSetTwilioChat({...gContext?.twilioChat, uploadArea: false});\n if(gContext?.twilioChat.chatCaseId){\n acceptedFiles = acceptedFiles.filter(item => item.size < (fileSize*1048576) ? item : toastrMsg(`Maximum file size is ${fileSize}MB`, \"error\"));\n acceptedFiles = acceptedFiles.filter(item => fileExtensions.some(ext => item.name.endsWith(ext)) ? item : toastrMsg(`Unsupported File extension`, \"error\"));\n acceptedFiles = acceptedFiles.filter(item => Object.keys(gContext?.twilioChat.uploadedFiles?.filter(ext => ext.name === item.name)).length === 0);\n if(Object.keys(gContext?.twilioChat.uploadedFiles || []).length + Object.keys(acceptedFiles).length < fileCount+1){\n gContext?.goSetTwilioChat({...gContext?.twilioChat, uploadedFiles: [...gContext?.twilioChat.uploadedFiles || [], ...acceptedFiles], uploadArea: false});\n } else {\n toastrMsg(`Maximum ${fileCount} files`, \"warning\");\n gContext?.goSetTwilioChat({...gContext?.twilioChat, uploadArea: false});\n }\n }\n },\n });\n\n const resetChat = () => {\n gContext.goSetTwilioChat({\n ...initialTwilioChatState,\n openChat: false\n });\n };\n\n const resetChatOutage = () => {\n gContext.goSetTwilioChat({\n ...gContext?.twilioChat,\n outage: false,\n outageMessage: null,\n outageTitle: null,\n openChat: true\n });\n };\n\n return (\n <ChatContent\n className={`${gContext?.twilioChat.openChat ? 'show' : ''} ${gContext?.twilioChat.fullscreen?'fullscreen':''}`}\n {...getRootProps()}\n onDragOver={() => gContext?.twilioChat.chatCaseId && gContext?.goSetTwilioChat({...gContext?.twilioChat, uploadArea: true})}\n onMouseLeave={() => gContext?.goSetTwilioChat({...gContext?.twilioChat, uploadArea: false})}\n >\n {gContext?.twilioChat.lightboxUrl && <Lightbox\n medium={gContext?.twilioChat.lightboxUrl}\n large={gContext?.twilioChat.lightboxUrl}\n showRotate={true}\n onClose={() => gContext?.goSetTwilioChat({...gContext?.twilioChat, lightboxUrl: null})}\n />} \n\n <ChatHeader />\n <NotificationBar />\n <MessageList />\n <ChatInput open={open} />\n <input {...getInputProps()} />\n\n {/* Loading cover for chat */}\n { gContext?.twilioChat.chatLoading && gContext?.twilioChat.openChat && <div className='cover'><img className=\"make-it-white\" src={loadingIcon} width={14} height={14} /></div> }\n \n {/* Confirmation for closing conversation from client's side */}\n { gContext?.twilioChat.confirmClosing && gContext?.twilioChat.openChat && <div className='cover closed'>\n <h4>Close conversation</h4>\n <span>Are you sure you want to end this conversation?</span> \n <button onClick={() => gContext?.goSetTwilioChat({...gContext?.twilioChat, confirmClosing: false})}>Cancel</button>\n <button onClick={() => { closeConversation(\"CUSTOMER\"); }} className='blue-bg'>Confirm</button>\n </div> }\n\n {/* Closed conversation from agent's or systems side */}\n { gContext?.twilioChat.chatClosing && gContext?.twilioChat.openChat && <div className='cover closed'>\n <h4>Conversation is closed</h4>\n <span>To keep the conversation going, create a new conversation.</span> \n <button onClick={() => gContext?.goSetTwilioChat({\n ...gContext?.twilioChat, \n ...initialTwilioChatState, \n openChat: false, \n fullscreen: gContext?.twilioChat.fullscreen,\n side: gContext?.twilioChat.side\n })}>Close</button>\n <button onClick={() => gContext?.goResetTwilioChat()} className='blue-bg'>Create new</button>\n </div> }\n\n {/* Upload files */}\n { gContext?.twilioChat.uploadArea && gContext?.twilioChat.chatCaseId && gContext?.twilioChat.openChat && <div className='cover upload'>\n <h4>Drag and drop your files here</h4>\n <p>Maximum {gContext?.twilioChat.fileCount} files. Limit {gContext?.twilioChat.fileSize}MB per file.</p>\n <p>Supported files: {fileExtensions && fileExtensions.map((item:string, index) => !['mp4','mp3'].some(ext => ext === item) && (index === 0 ? item : `, ${item}`))}</p>\n </div> }\n\n {/* Implementiraj promene koje je Stevan odradio za rebrand u TwilioChat fajlovima */}\n {/* https://github.com/d19n-llc/youfibre-gatsby/commits/rebrand/src/components/TwilioChat/index.tsx */}\n\n {/* Network Outage */}\n { gContext?.twilioChat.outage && gContext?.twilioChat.outageMessage && <div className='cover closed'>\n <h4 >{gContext?.twilioChat.outageTitle}</h4>\n <span dangerouslySetInnerHTML={{ __html: linkifyHtml(gContext?.twilioChat.outageMessage, { target: \"_blank\" })}} />\n <button onClick={() => resetChat() } className='blue-bg w-100' >Close Chat</button>\n {allowCreateChat && <button onClick={() => { resetChatOutage();}} className=\" w-100\">Still Need Help - Start Chat</button> }\n </div> }\n\n {/* Chat out of Service */}\n { !chatActive && gContext?.twilioChat.openChat && !gContext?.twilioChat.chatCaseId && appMessages && !isStagingOrDevelopment() && <div className='cover closed'>\n <h4>Out of service</h4>\n <span dangerouslySetInnerHTML={{ __html: linkifyHtml(appMessages.chat_off_mode_text, { target: \"_blank\" }).replaceAll(/\\r\\n|\\n/g, \"<br />\") }} />\n {!gContext?.twilioChat.fullscreen && <button onClick={() => gContext?.goSetTwilioChat({\n ...gContext?.twilioChat, \n openChat: false\n })} className=\"no-bg\">Close chat</button>}\n </div> }\n\n </ChatContent>\n );\n};\n\nexport default Chat;"],"names":["Chat","_a","__rest","gContext","useContext","ChatGlobalContext","timer","useRef","_b","useState","countdownInterval","setCountdownInterval","titleRef","intervalRef","_c","allowCreateChat","londonSec","useTime","interval","seconds","_d","appMessages","setAppMessages","_e","chatActive","setChatActive","useEffect","isTimeInRange","goSetTwilioChat","__assign","twilioChat","chatCaseId","resetChat","nowInLondon","Date","toLocaleString","timeZone","hour","minute","second","hour12","timeToSeconds","timeStr","split","map","Number","chat_off_mode_toggle","chat_off_mode_start","chat_off_mode_end","current","start","end","chatUnreaded","sound","Audio","notificationSound","setAttribute","play","catch","error","console","log","__awaiter","window","document","openChat","innerWidth","body","style","overflow","clearInterval","localStorage","getItem","title","getElementById","focus","setTimeout","removeItem","chatClosing","scrollToBottom","didAgentPost","messages","setInterval","lastTimeActive","elapsedSeconds","setItem","toString","parseInt","__spreadArray","senderType","createdAt","moment","format","from","message","form","files","messageId","fromId","concat","now","closeConversation","initialTwilioChatState","chatClosingType","fullscreen","side","fileExtensions","_f","useDropzone","noClick","noKeyboard","onDrop","acceptedFiles","uploadArea","filter","item","size","toastrMsg","some","ext","name","endsWith","Object","keys","uploadedFiles","length","fileCount","getRootProps","getInputProps","open","React","createElement","ChatContent","className","onDragOver","onMouseLeave","lightboxUrl","Lightbox","medium","large","showRotate","onClose","ChatHeader","NotificationBar","MessageList","ChatInput","chatLoading","src","loadingIcon","width","height","confirmClosing","onClick","goResetTwilioChat","fileSize","index","outage","outageMessage","outageTitle","dangerouslySetInnerHTML","__html","linkifyHtml","target","isStagingOrDevelopment","chat_off_mode_text","replaceAll"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{__rest as e,__assign as t}from"../../../node_modules/tslib/tslib.es6.js";import o,{useContext as l}from"react";import i from"../../context/ChatGlobalContext.js";import n from"./Container.js";import a from"../../assets/images/favicon.svg.js";import s from"../../assets/images/ico-close.png.js";import r from"./styled/Header.js";import{initialTwilioChatState as c}from"../../utils/chats.js";import m from"../../../node_modules/react-bootstrap/esm/Row.js";var u=function(u){e(u,[]);var d=l(i);return o.createElement(r,null,o.createElement(n,{className:"justify-between"},o.createElement(m,{className:"flex p-0 m-0 align-items-center"},o.createElement("a",{href:"https://www.youfibre.com/",className:"flex p-0 m-0 align-items-center"},o.createElement("img",{src:a,onClick:function(){"undefined"!=typeof window&&(window.location.href="https://www.youfibre.com/")}}),o.createElement("span",null," YouFibre 2"))),o.createElement(m,{className:"flex p-0 m-0 align-items-center"},!(null==d?void 0:d.twilioChat.chatConversationId)&&(null==d?void 0:d.twilioChat.chatUserType)&&o.createElement("button",{onClick:function(){return null==d?void 0:d.goSetTwilioChat(t(t(t({},null==d?void 0:d.twilioChat),c),{fullscreen:null==d?void 0:d.twilioChat.fullscreen,side:null==d?void 0:d.twilioChat.side,openChat:!0}))},className:"small"},"Back"),(null==d?void 0:d.twilioChat.chatConversationId)&&o.createElement("button",{onClick:function(){return(null==d?void 0:d.twilioChat.chatCaseId)&&(null==d?void 0:d.goSetTwilioChat(t(t({},null==d?void 0:d.twilioChat),{confirmClosing:!0,chatClosingType:"CUSTOMER"})))},className:"small"},"End conversation"),!(null==d?void 0:d.twilioChat.fullscreen)&&o.createElement("img",{src:s,className:"close",onClick:function(){return null==d?void 0:d.goSetTwilioChat(t(t({},null==d?void 0:d.twilioChat),{openChat:!(null==d?void 0:d.twilioChat.openChat)}))}}))))};export{u as default};
|
|
2
|
+
//# sourceMappingURL=ChatHeader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatHeader.js","sources":["../../../../src/TwilioChat/components/ChatHeader.tsx"],"sourcesContent":["import React, { useContext } from \"react\";\nimport ChatGlobalContext from \"../../context/ChatGlobalContext\";\nimport { Row } from 'react-bootstrap';\nimport Container from \"./Container\";\nimport icoYouFibre from '../../assets/images/favicon.svg';\nimport icoCloseChat from '../../assets/images/ico-close.png';\nimport Header from \"./styled/Header\";\nimport { initialTwilioChatState } from \"../../utils/chats\";\n\nconst ChatHeader = ({...props}) => {\n const gContext: any = useContext(ChatGlobalContext);\n return (\n <Header>\n <Container className='justify-between'>\n <Row className='flex p-0 m-0 align-items-center'>\n <a href=\"https://www.youfibre.com/\" className='flex p-0 m-0 align-items-center'>\n <img src={icoYouFibre} onClick={() => {\n if (typeof window !== 'undefined') {\n window.location.href = 'https://www.youfibre.com/';\n }\n }}/>\n <span> YouFibre 2</span>\n </a>\n </Row> \n <Row className='flex p-0 m-0 align-items-center'>\n { !gContext?.twilioChat.chatConversationId && gContext?.twilioChat.chatUserType && <button onClick={() => gContext?.goSetTwilioChat({...gContext?.twilioChat, ...initialTwilioChatState, fullscreen: gContext?.twilioChat.fullscreen, side: gContext?.twilioChat.side, openChat: true})} className='small'>Back</button> }\n { gContext?.twilioChat.chatConversationId && <button onClick={() => gContext?.twilioChat.chatCaseId && gContext?.goSetTwilioChat({...gContext?.twilioChat, confirmClosing: true, chatClosingType: 'CUSTOMER'})} className='small'>End conversation</button> }\n { !gContext?.twilioChat.fullscreen && <img src={icoCloseChat} className='close' onClick={() => gContext?.goSetTwilioChat({...gContext?.twilioChat, openChat: !gContext?.twilioChat.openChat}) } />}\n </Row> \n </Container>\n </Header>\n );\n};\n\nexport default ChatHeader;"],"names":["ChatHeader","_a","__rest","gContext","useContext","ChatGlobalContext","React","Header","createElement","Container","className","Row","href","src","icoYouFibre","onClick","window","location","twilioChat","chatConversationId","chatUserType","goSetTwilioChat","__assign","initialTwilioChatState","fullscreen","side","openChat","chatCaseId","confirmClosing","chatClosingType","icoCloseChat"],"mappings":"4cASA,IAAMA,EAAa,SAACC,GAASC,EAAAD,EAAT,IAChB,IAAME,EAAgBC,EAAWC,GACjC,OACIC,gBAACC,EAAM,KACLD,EAAAE,cAACC,EAAS,CAACC,UAAU,mBACnBJ,EAAAE,cAACG,EAAG,CAACD,UAAU,mCACbJ,EAAAE,cAAA,IAAA,CAAGI,KAAK,4BAA4BF,UAAU,mCAC5CJ,EAAAE,cAAA,MAAA,CAAKK,IAAKC,EAAaC,QAAS,WACR,oBAAXC,SACTA,OAAOC,SAASL,KAAO,4BAE3B,IACAN,EAAAE,cAAA,OAAA,KAAA,iBAGJF,EAAAE,cAACG,EAAG,CAACD,UAAU,qCACVP,aAAQ,EAARA,EAAUe,WAAWC,sBAAsBhB,aAAQ,EAARA,EAAUe,WAAWE,eAAgBd,EAAAE,cAAA,SAAA,CAAQO,QAAS,WAAM,OAAAZ,eAAAA,EAAUkB,gBAAeC,EAAAA,EAAAA,EAAA,GAAKnB,aAAQ,EAARA,EAAUe,YAAeK,GAAsB,CAAEC,WAAYrB,aAAQ,EAARA,EAAUe,WAAWM,WAAYC,KAAMtB,eAAAA,EAAUe,WAAWO,KAAMC,UAAU,IAAvK,EAA+KhB,UAAU,SAAO,SACxSP,aAAQ,EAARA,EAAUe,WAAWC,qBAAsBb,EAAAE,cAAA,SAAA,CAAQO,QAAS,WAAM,OAAAZ,aAAQ,EAARA,EAAUe,WAAWS,cAAcxB,eAAAA,EAAUkB,gBAAeC,EAAAA,EAAA,GAAKnB,aAAQ,EAARA,EAAUe,YAAU,CAAEU,gBAAgB,EAAMC,gBAAiB,cAA9H,EAA4InB,UAAU,SAAO,sBAC9NP,aAAQ,EAARA,EAAUe,WAAWM,aAAclB,EAAAE,cAAA,MAAA,CAAKK,IAAKiB,EAAcpB,UAAU,QAAQK,QAAS,WAAM,OAAAZ,eAAAA,EAAUkB,gBAAeC,EAAAA,EAAA,CAAA,EAAKnB,aAAQ,EAARA,EAAUe,YAAU,CAAEQ,WAAWvB,aAAQ,EAARA,EAAUe,WAAWQ,YAApF,MAK7G"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{__assign as e,__awaiter as t,__generator as l,__spreadArray as i}from"../../../node_modules/tslib/tslib.es6.js";import a,{useContext as n,useState as o,useRef as r,useEffect as s}from"react";import u from"../../context/ChatGlobalContext.js";import c from"../../assets/images/loader-transparent.gif.js";import d from"../../assets/images/youfibre-upload.svg.js";import m from"../../assets/images/close.svg.js";import{connectToWebsocket as h,didAgentPost as v,sendMessage as C}from"../../services/chatService.js";import p from"./styled/InputForm.js";var f=function(f){var g=f.open,w=n(u),E=o(!1),I=E[0],b=E[1],j=o(""),y=j[0],F=j[1],S=r(null);s(function(){var t;y.length&&(null==w?void 0:w.twilioChat.chatCaseId)&&(S.current||(S.current=h(localStorage.getItem("chatSessionId"))),S.current&&(null===(t=S.current)||void 0===t||t.emit("web-chat-input",{caseId:null==w?void 0:w.twilioChat.chatCaseId,conversationId:null==w?void 0:w.twilioChat.chatConversationId,message:y,sender:"CUSTOMER"})),null==w||w.goSetTwilioChat(e(e({},null==w?void 0:w.twilioChat),{lastTimeActive:Date.now()})))},[y]),s(function(){(null==w?void 0:w.twilioChat.chatCaseId)&&S.current&&(null==w?void 0:w.twilioChat.chatCaseId)&&S.current.emit("joinRoom",null==w?void 0:w.twilioChat.chatCaseId)},[null==w?void 0:w.twilioChat.chatCaseId]),s(function(){var e;!I&&(null===(e=document.getElementById("inputMessage"))||void 0===e||e.focus())},[I]);return a.createElement(a.Fragment,null,(null==w?void 0:w.twilioChat.chatConversationId)&&a.createElement(p,null,a.createElement("div",{className:"wrapper"},a.createElement("input",{id:"inputMessage",className:"",disabled:I,autoComplete:"off",maxLength:500,onChange:function(e){return F(e.target.value)},value:y,type:"text",placeholder:"Write a reply..."}),I&&a.createElement("img",{src:c,width:10,height:10}),a.createElement("img",{className:"action",alt:"Add attachment",src:d,onClick:function(){return g()}}),a.createElement("button",{type:"submit",onClick:function(a){return function(a){for(var n=[],o=1;o<arguments.length;o++)n[o-1]=arguments[o];return t(void 0,i([a],n,!0),void 0,function(t,i){var a;return void 0===i&&(i=""),l(this,function(l){switch(l.label){case 0:t.preventDefault(),l.label=1;case 1:return l.trys.push([1,3,,4]),F(""),b(!0),[4,C(i,null==w?void 0:w.twilioChat.uploadedFiles,"CUSTOMER")];case 2:return(a=l.sent())?(null==w||w.goSetTwilioChat(e(e({},null==w?void 0:w.twilioChat),{uploadedFiles:[],logged:!0,chatLoading:!1,lastTimeActive:v(null==w?void 0:w.twilioChat.messages)?Date.now():null})),b(!1)):null===a?(null==w||w.goResetTwilioChat(),b(!1)):b(!1),[3,4];case 3:return l.sent(),b(!1),[3,4];case 4:return[2]}})})}(a,y)},disabled:I},"Send"))),(null==w?void 0:w.twilioChat.uploadedFiles)&&Object.keys(null==w?void 0:w.twilioChat.uploadedFiles).length>0&&a.createElement("div",{className:"files"},null==w?void 0:w.twilioChat.uploadedFiles.map(function(t){return a.createElement("div",{className:"file",key:t.name},a.createElement("div",{className:"fileName"},t.name),a.createElement("img",{className:"action",src:m,onClick:function(){return l=t.name,i=null==w?void 0:w.twilioChat.uploadedFiles.filter(function(e){return e.name!==l}),void(null==w||w.goSetTwilioChat(e(e({},null==w?void 0:w.twilioChat),{uploadedFiles:i})));var l,i}}))})))};export{f as default};
|
|
2
|
+
//# sourceMappingURL=ChatInput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChatInput.js","sources":["../../../../src/TwilioChat/components/ChatInput.tsx"],"sourcesContent":["import React, { useContext, useState, useEffect, useRef } from \"react\";\nimport { Socket } from 'socket.io-client';\nimport ChatGlobalContext from \"../../context/ChatGlobalContext\";\nimport { validateInput } from \"../../utils/validate\";\nimport loadingIcon from '../../assets/images/loader-transparent.gif';\nimport icoUpload from '../../assets/images/youfibre-upload.svg';\nimport icoClose from '../../assets/images/close.svg';\nimport { connectToWebsocket, didAgentPost, sendMessage } from \"../../services/chatService\";\nimport InputForm from \"./styled/InputForm\";\n\nconst ChatInput = ({open}) => {\n const gContext: any = useContext(ChatGlobalContext);\n const [chatSending, setChatSending] = useState<boolean>(false);\n const [message, setMessage] = useState<string>('');\n const sc = useRef<Socket | null>(null);\n\n useEffect(() => { \n if(message.length && gContext?.twilioChat.chatCaseId){ \n if(!sc.current) sc.current = connectToWebsocket(localStorage.getItem('chatSessionId'));\n sc.current && sc.current?.emit(`web-chat-input`, {\n caseId: gContext?.twilioChat.chatCaseId,\n conversationId: gContext?.twilioChat.chatConversationId,\n message: message,\n sender: 'CUSTOMER'\n });\n gContext?.goSetTwilioChat({...gContext?.twilioChat, lastTimeActive: Date.now()});\n }\n }, [message]);\n \n useEffect(() => {\n if(gContext?.twilioChat.chatCaseId){\n sc.current && gContext?.twilioChat.chatCaseId && sc.current.emit(\"joinRoom\", gContext?.twilioChat.chatCaseId); \n }\n }, [gContext?.twilioChat.chatCaseId]);\n \n useEffect(() => {\n !chatSending && document.getElementById('inputMessage')?.focus();\n }, [chatSending]);\n\n const submitMessage = async (e, msg = \"\") => {\n e.preventDefault();\n try {\n setMessage('');\n setChatSending(true);\n const data = await sendMessage(msg, gContext?.twilioChat.uploadedFiles, 'CUSTOMER');\n if(data){\n gContext?.goSetTwilioChat({...gContext?.twilioChat, \n uploadedFiles: [],\n logged: true,\n chatLoading: false,\n lastTimeActive: didAgentPost(gContext?.twilioChat.messages) ? Date.now() : null,\n });\n setChatSending(false);\n } else if (data === null){\n gContext?.goResetTwilioChat();\n setChatSending(false);\n } else {\n setChatSending(false);\n }\n } catch (error) {\n setChatSending(false);\n }\n };\n\n // Upload files - Remove file from list\n const removeFile = (name:string) => {\n const tmpFiles = gContext?.twilioChat.uploadedFiles.filter((itm:any) => itm.name !== name);\n gContext?.goSetTwilioChat({...gContext?.twilioChat, uploadedFiles: tmpFiles});\n };\n\n return (\n <>\n {gContext?.twilioChat.chatConversationId && \n <InputForm>\n <div className=\"wrapper\">\n <input id=\"inputMessage\" className={!validateInput(message) ? 'invalid' : ''} disabled={chatSending} autoComplete='off' maxLength={500} onChange={(e) => setMessage(e.target.value)} value={message} type=\"text\" placeholder=\"Write a reply...\" />\n { chatSending && <img src={loadingIcon} width={10} height={10} /> }\n <img className='action' alt='Add attachment' src={icoUpload} onClick={() => open()} />\n <button type='submit' onClick={(e) => submitMessage(e, message)} disabled={!validateInput(message) || chatSending}>Send</button>\n </div>\n </InputForm>} \n {gContext?.twilioChat.uploadedFiles && Object.keys(gContext?.twilioChat.uploadedFiles).length > 0 && <div className='files'>\n {gContext?.twilioChat.uploadedFiles.map((file:any) => (\n <div className='file' key={file.name}>\n <div className='fileName'>{file.name}</div>\n <img className='action' src={icoClose} onClick={() => removeFile(file.name)} />\n </div>\n ))}\n </div>}\n </>\n );\n};\n\nexport default ChatInput;"],"names":["ChatInput","_a","open","gContext","useContext","ChatGlobalContext","_b","useState","chatSending","setChatSending","_c","message","setMessage","sc","useRef","useEffect","length","twilioChat","chatCaseId","current","connectToWebsocket","localStorage","getItem","emit","caseId","conversationId","chatConversationId","sender","goSetTwilioChat","__assign","lastTimeActive","Date","now","document","getElementById","focus","React","createElement","Fragment","InputForm","className","id","disabled","autoComplete","maxLength","onChange","e","target","value","type","placeholder","src","loadingIcon","width","height","alt","icoUpload","onClick","e_1","__awaiter","__spreadArray","args_1","msg","preventDefault","sendMessage","uploadedFiles","data","sent","logged","chatLoading","didAgentPost","messages","goResetTwilioChat","submitMessage","Object","keys","map","file","key","name","icoClose","tmpFiles","filter","itm"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{__makeTemplateObject as e}from"../../../node_modules/tslib/tslib.es6.js";import n from"react";import t from"../../../node_modules/styled-components/dist/styled-components.browser.esm.js";var i,o=function(e){var t=e.className,i=void 0===t?"":t,o=e.children;return n.createElement(r,{className:i},o)},r=t.div(i||(i=e(["\n width: 100%;\n max-width: 700px;\n height: 100%;\n position: relative;\n margin: 0px auto;\n display: flex;\n flex-direction: row;\n align-items: center; \n &.direction-column-reverse { flex-direction: column-reverse; }\n &.content-end { justify-content: end; }\n"],["\n width: 100%;\n max-width: 700px;\n height: 100%;\n position: relative;\n margin: 0px auto;\n display: flex;\n flex-direction: row;\n align-items: center; \n &.direction-column-reverse { flex-direction: column-reverse; }\n &.content-end { justify-content: end; }\n"])));export{o as default};
|
|
2
|
+
//# sourceMappingURL=Container.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Container.js","sources":["../../../../src/TwilioChat/components/Container.tsx"],"sourcesContent":["import React from \"react\";\nimport styled from 'styled-components';\n\nconst Container = ({className = '', children}) => {\n return (\n <ContainerBlock className={className}>\n { children }\n </ContainerBlock>\n );\n};\n\nconst ContainerBlock = styled.div`\n width: 100%;\n max-width: 700px;\n height: 100%;\n position: relative;\n margin: 0px auto;\n display: flex;\n flex-direction: row;\n align-items: center; \n &.direction-column-reverse { flex-direction: column-reverse; }\n &.content-end { justify-content: end; }\n`;\n\nexport default Container;"],"names":["Container","_a","_b","className","children","React","createElement","ContainerBlock","styled","div","templateObject_1","__makeTemplateObject"],"mappings":"kMAGA,MAAMA,EAAY,SAACC,GAAC,IAAAC,EAAAD,EAAAE,UAAAA,OAAS,IAAAD,EAAG,GAAEA,EAAEE,EAAQH,EAAAG,SACxC,OACIC,EAAAC,cAACC,EAAc,CAACJ,UAAWA,GACvBC,EAGZ,EAEMG,EAAiBC,EAAOC,IAAGC,IAAAA,EAAAC,EAAA,CAAA,yRAAA,CAAA"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{__assign as e,__awaiter as t,__generator as n,__rest as l}from"../../../node_modules/tslib/tslib.es6.js";import a,{useContext as r,useRef as o,useState as i,useEffect as s}from"react";import m from"../../context/ChatGlobalContext.js";import c from"../../assets/images/favicon.svg.js";import u from"../../../node_modules/linkify-html/dist/linkify-html.js";import{l as d}from"../../../_virtual/index3.js";import{BsFiletypeMp3 as f,BsFiletypeMp4 as p,BsFiletypeTxt as v,BsFiletypePdf as g}from"../../../node_modules/react-icons/bs/index.js";import E from"../../../_virtual/moment.js";import{validateFormInput as y,validateForm as h}from"../../utils/validate.js";import{loadZipCodesAsync as b}from"../../services/chatService.js";import _ from"./styled/EventPost.js";import C from"./styled/MyPost.js";import k from"./styled/YFPost.js";import w from"../../../node_modules/react-bootstrap/esm/Row.js";import x from"../../../node_modules/react-bootstrap/esm/Col.js";var N=function(N){var j=N.item,S=N.buttonAction,T=N.setChatForm,A=r(m),I=o(null),H=i({}),L=H[0],F=H[1],M=i(""),q=M[0],P=M[1],V=i(""),z=V[0],G=V[1],O=i(new Set),R=O[0],U=O[1],D=i({available:!1,salesStatus:null,loading:!1,data:null}),Y=D[0],Z=D[1];s(function(){F({}),P(""),I.current=null,Z(e(e({},Y),{data:null,loading:!1}))},[j]),s(function(){q.length>0?B(q):Z(e(e({},Y),{data:null}))},[q]);var B=function(l){return t(void 0,void 0,void 0,function(){var t,a;return n(this,function(n){switch(n.label){case 0:Z(e(e({},Y),{data:null,loading:!0})),J("address","text",null),n.label=1;case 1:return n.trys.push([1,3,,4]),[4,b(l)];case 2:return t=n.sent(),Z(e(e({},Y),{loading:!1,data:t})),[3,4];case 3:return a=n.sent(),console.error("Error fetching ZIP codes:",a),[3,4];case 4:return[2]}})})},J=function(t,n,l){L[t]=l;var a=R;y(n,l)?a.delete(t):a.add(t),U(a),F(e({},L)),T(e({},L))},K=function(t){var n;if(t&&"undefined"!=typeof window){var l=function(){"undefined"!=typeof window&&window.open(t,"_blank")};switch(null===(n=t.split(".").pop())||void 0===n?void 0:n.toLocaleLowerCase()){case"pdf":return a.createElement(g,{className:"file",onClick:l});case"txt":return a.createElement(v,{className:"file",onClick:l});case"mp4":return a.createElement(p,{className:"file",onClick:l});case"mp3":return a.createElement(f,{className:"file",onClick:l});case"svg":return a.createElement(Q,{className:"file",url:t,onClick:l});default:return a.createElement("img",{className:"file",src:t,onClick:function(){return null==A?void 0:A.goSetTwilioChat(e(e({},null==A?void 0:A.twilioChat),{lightboxUrl:t}))}})}}},Q=function(r){var o=r.url,m=l(r,["url"]),c=i(null),u=c[0],d=c[1];return s(function(){t(void 0,void 0,void 0,function(){var e,t;return n(this,function(n){switch(n.label){case 0:return n.trys.push([0,3,,4]),[4,fetch(o)];case 1:return[4,n.sent().text()];case 2:return e=n.sent(),d(e),[3,4];case 3:return t=n.sent(),console.error("Error loading SVG:",t),[3,4];case 4:return[2]}})})},[o]),a.createElement("div",e({},m,{dangerouslySetInnerHTML:{__html:u||""},"aria-hidden":"true"}))},W=function(t){var n,l,r,o;return a.createElement(a.Fragment,null,a.createElement(C,{key:t.messageId},!t.form&&a.createElement(a.Fragment,null,t.message&&a.createElement("span",{dangerouslySetInnerHTML:{__html:u(t.message,{target:"_blank"}).replaceAll(/\r\n|\n/g,"<br />")}}),Array.isArray(t.files)&&t.files.length>0&&a.createElement("div",{className:"files"},t.files.map(function(e){return K(e.url)})),a.createElement(w,{className:"flex justify-between w-100 p-0 m-0"},"Client"===t.from?a.createElement("small",null,"Client"):a.createElement("small",{dangerouslySetInnerHTML:{__html:t.from}}),t.createdAt&&a.createElement("small",{className:"pt-1"},E(t.createdAt).format("HH:mm")))),"buttons"===(null===(n=t.form)||void 0===n?void 0:n.type)&&a.createElement(a.Fragment,null,null===(l=t.form)||void 0===l?void 0:l.value.map(function(e,t){return a.createElement("button",{key:t,onClick:function(){return S(e.action)},dangerouslySetInnerHTML:{__html:e.title}})})),"form"===(null===(r=t.form)||void 0===r?void 0:r.type)&&a.createElement("form",{ref:I,method:"get",action:"javascript:void(0);"},a.createElement("div",{className:"flex flex-column gap-5"},null===(o=t.form)||void 0===o?void 0:o.value.map(function(n,l){return a.createElement(a.Fragment,null,"button"!==(null==n?void 0:n.type)?a.createElement(a.Fragment,null,a.createElement("div",{dangerouslySetInnerHTML:{__html:n.title},className:"mt-7 mb-2"}),("number"===(null==n?void 0:n.type)||"email"===(null==n?void 0:n.type)||"text"===(null==n?void 0:n.type))&&a.createElement("input",e({onChange:function(e){return J(n.action,null==n?void 0:n.type,e.target.value)},value:L[n.action],placeholder:n.placeholder,maxLength:250},(null==n?void 0:n.required)&&{required:!0},R.has(n.action)&&{className:"invalid"},"number"===(null==n?void 0:n.type)&&{step:"0.01",min:0,max:1e6},{type:null==n?void 0:n.type,key:l})),"zip"===(null==n?void 0:n.type)&&a.createElement(a.Fragment,null,a.createElement(d.DebounceInput,{required:!0,type:"text",placeholder:n.placeholder,debounceTimeout:700,value:q,onChange:function(e){P(e.target.value),G(""),J(n.action,"text","/")}}),q&&a.createElement("select",{required:!0,disabled:null===Y.data,defaultValue:n.action,value:z,onChange:function(e){G(e.target.value),J(n.action,"select",e.target.value)},className:"mt-1 ".concat(R.has(n.action)&&"invalid"),key:l},a.createElement("option",{value:"",disabled:!0,selected:!0},Y.loading?"Loading...":Y.data?"Select your Address":""),Y.data&&Y.data.map(function(e){return a.createElement("option",{value:e.label},e.label)}))),"select"===(null==n?void 0:n.type)&&a.createElement("select",{required:!0,onChange:function(e){return J(n.action,null==n?void 0:n.type,e.target.value)},defaultValue:L[n.action],value:L[n.action],key:l},a.createElement("option",{disabled:!0,selected:!0,hidden:!0}),(null==n?void 0:n.options)&&Object.entries(null==n?void 0:n.options).map(function(e){var t=e[0],n=e[1];return a.createElement("option",{key:t,value:t},n)}))):a.createElement("button",e({type:"submit"},R.size>0?{disabled:!0}:{disabled:!1},{style:{marginTop:"15px"},onClick:function(e){var l,a=h(null===(l=t.form)||void 0===l?void 0:l.value,L)||!1;0===R.size&&S(n.action),e.target.disabled=a}}),"Start Chat"))})))))};switch(j.senderType){case"AGENT":return function(e){return a.createElement(a.Fragment,null,a.createElement(k,{key:e.messageId},a.createElement("img",{src:c}),a.createElement(x,{className:"p-0 m-0"},a.createElement("div",null,e.message&&a.createElement("span",{dangerouslySetInnerHTML:{__html:u(e.message,{target:"_blank"}).replaceAll(/\r\n|\n/g,"<br />")}})),Array.isArray(e.files)&&e.files.length>0&&a.createElement("div",{className:"files"},e.files.map(function(e){return K(e.url)})),a.createElement(w,{className:"flex justify-between w-100 p-0 m-0 mt-1"},a.createElement("small",{dangerouslySetInnerHTML:{__html:e.from}}),e.createdAt&&a.createElement("small",{className:"pt-1"},E(e.createdAt).format("HH:mm"))))))}(j);case"CUSTOMER":default:return W(j);case"EVENT":return function(e){return a.createElement(a.Fragment,null,a.createElement(_,{key:e.messageId},a.createElement("img",{src:c})," ",e.message&&a.createElement("span",{dangerouslySetInnerHTML:{__html:e.message.replaceAll(/\r\n|\n/g,"<br />")}})))}(j)}};export{N as default};
|
|
2
|
+
//# sourceMappingURL=Message.js.map
|