{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///delegated ./node_modules/react/index.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///./node_modules/tslib/tslib.es6.js","webpack:///delegated ./node_modules/prop-types/index.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///external \"vendor_eea4381b5a2107ec649a\"","webpack:///delegated ./node_modules/react-redux/es/index.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///./node_modules/@loadable/component/dist/loadable.esm.js","webpack:///./common/react/loadable/loadableSettings.tsx","webpack:///./common/react/utils/record-audio.ts","webpack:///./common/react/components/UI/VideoMessage/VideoMessageRecorder.tsx","webpack:///./common/react/components/UI/VideoMessage/VideoMessagePreview.tsx","webpack:///./common/react/components/UI/VideoMessage/VideoMessageInput.tsx","webpack:///./common/react/components/UI/VoiceMessage/VoiceMessageButton.tsx","webpack:///./common/react/components/UI/VoiceMessage/VoiceMessagePlayer.tsx","webpack:///./common/react/components/UI/VoiceMessage/VoiceMessageRecorder.tsx","webpack:///./common/react/components/Chat/EmojiComponent.tsx","webpack:///./common/react/components/Chat/TypingComponent.tsx","webpack:///./common/react/components/Chat/MentionsWithTyping.tsx","webpack:///./common/react/components/UI/VideoMessage/VideoMessagePlayer.tsx","webpack:///./common/react/components/UI/VoiceMessage/VoiceMessageChatPlayer.tsx","webpack:///./common/react/components/UI/VideoMessage/VideoMessageChatPlayer.tsx","webpack:///./common/react/components/UI/Colorbox/Colorbox.tsx","webpack:///./common/react/components/Chat/RegularChatMessage.tsx","webpack:///./common/react/components/UI/LinkPreview/LinkPreviewGroup.tsx","webpack:///./common/react/components/Chat/ChatSettingsProvider.tsx","webpack:///delegated ./node_modules/react-router-dom/esm/react-router-dom.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///./common/react/objects/Chat.ts","webpack:///./common/react/utils/utils.ts","webpack:///delegated ./node_modules/@babel/runtime/helpers/assertThisInitialized.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///delegated ./node_modules/yup/es/index.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///./common/react/components/Api.ts","webpack:///./ClientApp/components/Routes/DashboardRoute.tsx","webpack:///./ClientApp/components/UI/Footer/Footer.tsx","webpack:///./ClientApp/components/Routes/RouteWithFooter.tsx","webpack:///./node_modules/@sentry/utils/esm/misc.js","webpack:///./node_modules/@sentry/utils/esm/is.js","webpack:///delegated ./node_modules/@babel/runtime/helpers/classCallCheck.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///delegated ./node_modules/@babel/runtime/helpers/createClass.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///delegated ./node_modules/antd/lib/button/index.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///delegated ./node_modules/@babel/runtime/helpers/inherits.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///delegated ./node_modules/@babel/runtime/helpers/possibleConstructorReturn.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///delegated ./node_modules/@babel/runtime/helpers/getPrototypeOf.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///delegated ./node_modules/antd/lib/message/index.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///delegated ./node_modules/domain-task/index.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///./common/react/components/Forms/Button.tsx","webpack:///delegated ./node_modules/formik/dist/formik.esm.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///delegated ./node_modules/redux/es/redux.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///delegated ./node_modules/@babel/runtime/helpers/defineProperty.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///delegated ./node_modules/antd/lib/modal/index.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///./node_modules/@sentry/minimal/esm/index.js","webpack:///./common/react/store/VideoChat.ts","webpack:///./common/react/components/Chat/ChatUtils.tsx","webpack:///./common/react/components/Core/LoadingProvider/Loader.tsx","webpack:///./ClientApp/components/Api.ts","webpack:///./common/react/store/Login.ts","webpack:///./common/react/hooks/useRequest.ts","webpack:///./node_modules/@sentry/utils/esm/object.js","webpack:///delegated ./node_modules/react-router/esm/react-router.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///./common/typescript/utils/url.ts","webpack:///./node_modules/lodash/once.js","webpack:///delegated ./node_modules/rc-util/es/KeyCode.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///./common/react/components/Utils/Utils.ts","webpack:///./node_modules/react-use-cart/dist/react-use-cart.esm.js","webpack:///./common/react/components/UI/LinkPreview/LinkPreview.tsx","webpack:///delegated ./node_modules/@babel/runtime/helpers/extends.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///./NorthernTunaCommon/react/components/UI/LogoLoader/LogoLoader.tsx","webpack:///./common/react/components/UI/LinkWithPrevLocation/LinkWithPrevLocation.tsx","webpack:///./common/react/components/Forms/Autocomplete/Autocomplete.tsx","webpack:///./common/react/components/RequestProvider/RequestProvider.tsx","webpack:///./common/react/components/UI/ErrorBoundary/ErrorBoundary.tsx","webpack:///./common/react/components/UI/ErrorBoundaryWithSentry/ErrorBoundaryWithSentry.tsx","webpack:///delegated ./node_modules/@babel/runtime/helpers/esm/extends.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///./common/react/utils/ObjectKeysPrefix/objectKeysPrefix.ts","webpack:///./common/react/components/Core/ItemsProvider/ItemsProvider.tsx","webpack:///./common/typescript/Utils.ts","webpack:///delegated ./node_modules/antd/lib/tag/index.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///./node_modules/@sentry/utils/esm/string.js","webpack:///./node_modules/@sentry/utils/esm/logger.js","webpack:///delegated ./node_modules/moment/moment.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///delegated ./node_modules/@babel/runtime/helpers/esm/classCallCheck.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///delegated ./node_modules/@babel/runtime/helpers/esm/createClass.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///delegated ./node_modules/@babel/runtime/helpers/esm/inherits.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///./NorthernTunaCommon/react/components/Utils.tsx","webpack:///delegated ./node_modules/@babel/runtime/helpers/esm/createSuper.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///./ClientApp/components/UI/ImageWithSkeleton/ImageWithSkeleton.tsx","webpack:///./common/typescript/objects/FileInterface.ts","webpack:///delegated ./node_modules/@babel/runtime/helpers/esm/objectSpread2.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///./common/react/utils/configureSignarR.ts","webpack:///./node_modules/antd/lib/mentions/index.js","webpack:///./common/react/components/UI/VideoChat/VideoChatButton.tsx","webpack:///./common/react/components/UI/VideoChat/SystemCallButton.tsx","webpack:///./node_modules/emoji-mart/dist-es/utils/data.js","webpack:///./node_modules/emoji-mart/dist-es/polyfills/stringFromCodePoint.js","webpack:///./node_modules/emoji-mart/dist-es/utils/index.js","webpack:///./node_modules/emoji-mart/dist-es/utils/store.js","webpack:///./node_modules/emoji-mart/dist-es/utils/emoji-index/nimble-emoji-index.js","webpack:///./node_modules/emoji-mart/dist-es/utils/emoji-index/emoji-index.js","webpack:///./node_modules/emoji-mart/dist-es/utils/frequently.js","webpack:///./node_modules/emoji-mart/dist-es/svgs/index.js","webpack:///./node_modules/emoji-mart/dist-es/utils/shared-props.js","webpack:///./node_modules/emoji-mart/dist-es/components/anchors.js","webpack:///./node_modules/emoji-mart/dist-es/utils/shared-default-props.js","webpack:///./node_modules/emoji-mart/dist-es/components/emoji/nimble-emoji.js","webpack:///./node_modules/emoji-mart/dist-es/components/not-found.js","webpack:///./node_modules/emoji-mart/dist-es/components/category.js","webpack:///./node_modules/emoji-mart/dist-es/components/skins.js","webpack:///./node_modules/emoji-mart/dist-es/components/skins-emoji.js","webpack:///./node_modules/emoji-mart/dist-es/components/skins-dot.js","webpack:///./node_modules/emoji-mart/dist-es/components/preview.js","webpack:///./node_modules/emoji-mart/dist-es/components/search.js","webpack:///./node_modules/emoji-mart/dist-es/components/picker/nimble-picker.js","webpack:///./node_modules/emoji-mart/dist-es/components/picker/picker.js","webpack:///./node_modules/emoji-mart/dist-es/components/emoji/emoji.js","webpack:///./node_modules/@sentry/utils/esm/syncpromise.js","webpack:///delegated ./node_modules/antd/lib/popover/index.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///./common/react/components/Modal/Modal.ts","webpack:///delegated ./node_modules/react-helmet/lib/Helmet.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///./common/react/components/UI/PageNotFound/PageNotFound.tsx","webpack:///./common/react/components/Forms/Files/File.tsx","webpack:///delegated ./node_modules/@ant-design/icons/LoadingOutlined.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///./common/react/components/UI/ImageLazy/ImageLazy.tsx","webpack:///./common/react/components/Chat/ChatMessageForm.tsx","webpack:///./common/react/hooks/useServerEffect.ts","webpack:///./common/react/components/Forms/FormikList/FormikList.tsx","webpack:///./common/react/components/Chat/AddChatPopup.tsx","webpack:///./common/react/components/Chat/ChatsListHeaderComponents.tsx","webpack:///./common/react/components/UI/ArchiveButton.tsx","webpack:///./common/react/components/Chat/AddUserToChatPopup.tsx","webpack:///./common/react/components/Chat/ChatNameEditor.tsx","webpack:///./common/react/components/Chat/ChatMessagesHeaderComponents.tsx","webpack:///./common/react/components/Chat/Chats.tsx","webpack:///./common/react/store/Chats.ts","webpack:///./common/react/store/PageItem.ts","webpack:///./common/react/components/Core/LoadingProvider/LoadingProvider.tsx","webpack:///./ClientApp/components/Layouts/MainLayout.tsx","webpack:///./common/react/components/SignalR/SignalR.tsx","webpack:///./common/react/utils/SignalRUtils/SignalRUtils.ts","webpack:///./node_modules/@ant-design/icons/VerticalAlignBottomOutlined.js","webpack:///./ClientApp/store/HeaderSearch.ts","webpack:///./ClientApp/store/constants.ts","webpack:///./common/react/components/Chat/LastMessage.tsx","webpack:///./common/react/components/Chat/ChatListItem.tsx","webpack:///./common/react/components/Chat/ChatMessageList.tsx","webpack:///./common/typescript/utils/memoize.ts","webpack:///./node_modules/ga-4-react/dist/ga-4-react.esm.js","webpack:///./ClientApp/components/Routes/RouteChangeTracker.tsx","webpack:///./node_modules/@sentry/hub/esm/scope.js","webpack:///delegated ./node_modules/rc-menu/es/index.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///delegated ./node_modules/@babel/runtime/helpers/typeof.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///delegated ./node_modules/classnames/index.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///./common/react/utils/FIltersParamsFromUrl/FiltersParamsFromUrl.tsx","webpack:///delegated ./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///./common/react/utils/guards.ts","webpack:///./ClientApp/images/no-image.jpg","webpack:///delegated ./node_modules/antd/lib/auto-complete/index.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///./common/typescript/utils/immutability.ts","webpack:///./common/react/store/ItemList.ts","webpack:///./common/typescript/objects/List.ts","webpack:///delegated ./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///./common/react/components/Routes/NotFoundRoute.tsx","webpack:///delegated ./node_modules/@babel/runtime/helpers/interopRequireDefault.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///./common/react/components/Forms/SimpleSearchInput/SimpleSearchInput.tsx","webpack:///./common/react/utils/validationHelpers.ts","webpack:///./common/react/components/Forms/FormikInput/FormikInput.tsx","webpack:///./common/react/components/Forms/FormikField/FormikField.tsx","webpack:///delegated ./node_modules/antd/lib/tooltip/index.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///./common/react/components/Forms/FormikPhoneControl/FormikPhoneControl.tsx","webpack:///delegated ./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///./common/react/images/avatar.jpg","webpack:///delegated ./node_modules/webpack/buildin/global.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///./common/react/components/UI/FiltersComponent/FiltersComponent.tsx","webpack:///./common/react/components/UI/FiltersComponent/FiltersPropsHandler.tsx","webpack:///./node_modules/react-text-mask/dist/reactTextMask.js","webpack:///delegated ./node_modules/@hot-loader/react-dom/index.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///./common/typescript/objects/Lang.ts","webpack:///./NorthernTunaCommon/react/components/UI/Avatar/Avatar.tsx","webpack:///./ClientApp/objects/User.ts","webpack:///./common/react/components/UI/Loading/Loading.tsx","webpack:///./common/react/components/Core/ItemEditor/FormikRef.tsx","webpack:///./ClientApp/components/UI/AddToCartButton/AddToCartButton.tsx","webpack:///./ClientApp/components/UI/EmptyCart/EmptyCart.tsx","webpack:///./ClientApp/components/UI/ShoppingCartInformation/ShoppingCartInformation.tsx","webpack:///./ClientApp/store/Counters.ts","webpack:///./ClientApp/store/SearchFilter.ts","webpack:///delegated ./node_modules/rc-util/es/Children/toArray.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///delegated ./node_modules/rc-textarea/es/index.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///./node_modules/uuid/lib/rng-browser.js","webpack:///./node_modules/uuid/lib/bytesToUuid.js","webpack:///./NorthernTunaCommon/react/components/UI/Colorbox/Colorbox.tsx","webpack:///./ClientApp/components/UI/BurgerButton/BurgerButton.tsx","webpack:///./ClientApp/components/UI/TextWithTooltip/TextWithTooltip.tsx","webpack:///./ClientApp/components/UI/PortalLoader.tsx","webpack:///./common/react/components/Core/NotFoundPageProvider/NotFoundPageProvider.tsx","webpack:///./common/react/components/Core/NotFoundPageProvider/NotFoundComponent.tsx","webpack:///delegated ./node_modules/history/es/index.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///delegated ./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///delegated ./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///delegated ./node_modules/redux-thunk/es/index.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///./node_modules/react-hot-loader/index.js","webpack:///./ClientApp/routes.tsx","webpack:///./ClientApp/components/Routes/MainRoute.tsx","webpack:///./common/react/components/UI/VideoChat/VideoChat.tsx","webpack:///delegated ./node_modules/@ant-design/icons/PaperClipOutlined.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///delegated ./node_modules/antd/lib/upload/index.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///delegated ./node_modules/@ant-design/icons/PlusOutlined.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///delegated ./node_modules/rc-trigger/es/index.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///./node_modules/emoji-regex/index.js","webpack:///delegated ./node_modules/@ant-design/icons/FileOutlined.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///./node_modules/uuid/index.js","webpack:///./ClientApp/components/UI/Header/HeaderSearch.tsx","webpack:///./common/react/components/UI/Logout/Logout.tsx","webpack:///./ClientApp/components/UI/DashboardTopAlert/DashboardTopAlert.tsx","webpack:///./ClientApp/images/no-image-available.jpg","webpack:///./ClientApp/components/UI/ShoppingCartDropdown/ShoppingCartDropdown.tsx","webpack:///delegated ./node_modules/antd/lib/dropdown/index.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///./ClientApp/images/empty-cart.png","webpack:///./node_modules/@sentry/utils/esm/memo.js","webpack:///./common/react/yupLocaleSettings.ts","webpack:///./common/react/components/UI/Draggable.tsx","webpack:///./common/react/components/UI/VideoChat/VideoChatModal.tsx","webpack:///./common/typescript/objects/NotificationAction.ts","webpack:///./common/react/components/Chat/SignalRChats.tsx","webpack:///./ClientApp/components/Layout.tsx","webpack:///./common/react/components/UI/VideoChat/RoomMember.tsx","webpack:///./common/react/components/UI/VideoChat/Room.tsx","webpack:///delegated ./node_modules/antd/lib/config-provider/index.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///delegated ./node_modules/@babel/runtime/helpers/slicedToArray.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///delegated ./node_modules/antd/lib/form/context.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///delegated ./node_modules/@babel/runtime/helpers/interopRequireWildcard.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///delegated ./node_modules/rc-util/lib/ref.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///delegated ./node_modules/@babel/runtime/helpers/objectSpread2.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///delegated ./node_modules/@ant-design/icons/lib/components/AntdIcon.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///delegated ./node_modules/antd/lib/spin/index.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///delegated ./node_modules/raf/polyfill.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///delegated ./node_modules/core-js/features/array/from.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///delegated ./node_modules/core-js/features/array/find.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///delegated ./node_modules/core-js/features/array/includes.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///delegated ./node_modules/core-js/features/set/index.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///delegated ./node_modules/core-js/features/map/index.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///delegated ./node_modules/core-js/features/weak-map/index.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///delegated ./node_modules/core-js/features/promise/index.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///./node_modules/react-hot-loader/dist/react-hot-loader.production.min.js","webpack:///./node_modules/lodash/before.js","webpack:///./node_modules/lodash/toInteger.js","webpack:///./node_modules/lodash/toFinite.js","webpack:///delegated ./node_modules/lodash/toNumber.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///delegated ./node_modules/webpack/buildin/harmony-module.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///delegated ./node_modules/antd/lib/_util/statusUtils.js from dll-reference vendor_eea4381b5a2107ec649a","webpack:///./node_modules/@ant-design/icons/lib/icons/VerticalAlignBottomOutlined.js","webpack:///./node_modules/@ant-design/icons-svg/lib/asn/VerticalAlignBottomOutlined.js","webpack:///./node_modules/uuid/v1.js","webpack:///./node_modules/uuid/v4.js","webpack:///./common/react/audio/notify.ogg","webpack:///./node_modules/@sentry/core/esm/integrations/functiontostring.js","webpack:///./node_modules/@sentry/core/esm/integrations/inboundfilters.js","webpack:///./node_modules/@sentry/utils/esm/polyfill.js","webpack:///./node_modules/@sentry/utils/esm/error.js","webpack:///./node_modules/@sentry/utils/esm/dsn.js","webpack:///./node_modules/@sentry/core/esm/integration.js","webpack:///./node_modules/@sentry/core/esm/baseclient.js","webpack:///./node_modules/@sentry/types/esm/status.js","webpack:///./node_modules/@sentry/core/esm/transports/noop.js","webpack:///./node_modules/@sentry/types/esm/severity.js","webpack:///./node_modules/@sentry/core/esm/basebackend.js","webpack:///./node_modules/@sentry/utils/esm/supports.js","webpack:///./node_modules/@sentry/browser/esm/tracekit.js","webpack:///./node_modules/@sentry/browser/esm/parsers.js","webpack:///./node_modules/@sentry/browser/esm/eventbuilder.js","webpack:///./node_modules/@sentry/core/esm/request.js","webpack:///./node_modules/@sentry/core/esm/api.js","webpack:///./node_modules/@sentry/utils/esm/promisebuffer.js","webpack:///./node_modules/@sentry/browser/esm/transports/base.js","webpack:///./node_modules/@sentry/browser/esm/transports/fetch.js","webpack:///./node_modules/@sentry/browser/esm/transports/xhr.js","webpack:///./node_modules/@sentry/browser/esm/backend.js","webpack:///./node_modules/@sentry/browser/esm/helpers.js","webpack:///./node_modules/@sentry/utils/esm/instrument.js","webpack:///./node_modules/@sentry/browser/esm/integrations/breadcrumbs.js","webpack:///./node_modules/@sentry/browser/esm/client.js","webpack:///./node_modules/@sentry/browser/esm/version.js","webpack:///./node_modules/@sentry/browser/esm/integrations/trycatch.js","webpack:///./node_modules/@sentry/browser/esm/integrations/globalhandlers.js","webpack:///./node_modules/@sentry/browser/esm/integrations/linkederrors.js","webpack:///./node_modules/@sentry/browser/esm/integrations/useragent.js","webpack:///./node_modules/@sentry/browser/esm/sdk.js","webpack:///./common/react/configureStore.ts","webpack:///./common/react/loadable/boot-client.tsx","webpack:///./common/react/store/Item.ts","webpack:///./common/react/store/index.ts","webpack:///./ClientApp/store/index.ts","webpack:///./ClientApp/boot-client.tsx","webpack:///./node_modules/@sentry/core/esm/sdk.js","webpack:///./node_modules/rc-mentions/es/MentionsContext.js","webpack:///./node_modules/rc-mentions/es/DropdownMenu.js","webpack:///./node_modules/rc-mentions/es/KeywordTrigger.js","webpack:///./node_modules/rc-mentions/es/Option.js","webpack:///./node_modules/rc-mentions/es/util.js","webpack:///./node_modules/rc-mentions/es/Mentions.js","webpack:///./node_modules/rc-mentions/es/index.js","webpack:///./node_modules/@sentry/hub/esm/hub.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","installedModules","installedCssChunks","67","__webpack_require__","exports","module","l","e","promises","Promise","resolve","reject","href","fullhref","p","existingLinkTags","document","getElementsByTagName","dataHref","tag","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","jsonpScriptSrc","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","head","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","s","extendStatics","b","setPrototypeOf","__proto__","Array","__extends","__","this","constructor","__assign","assign","arguments","apply","__values","iterator","next","done","TypeError","__read","ar","__spread","concat","vendor_eea4381b5a2107ec649a","invariant","condition","framesToPop","warn","Context","createContext","getRequiredChunkKey","namespace","identity","v","createLoadable","_ref","_ref$resolve","_render","render","onLoad","loadable","loadableConstructor","options","ctor","requireAsync","resolveConstructor","cache","_getCacheKey","props","cacheKey","Component","InnerLoadable","_React$Component","_this","state","result","loading","__chunkExtractor","requireSync","ssr","loadSync","addChunk","chunkName","isReady","getDerivedStateFromProps","_proto","componentDidMount","mounted","loadAsync","triggerOnLoad","componentDidUpdate","prevProps","prevState","componentWillUnmount","safeSetState","nextState","callback","setState","_this2","loadedModule","Loadable","getCacheKey","JSON","stringify","getCache","setCache","_this3","_this$props","forwardedRef","suspense","_this$props2","propFallback","fallback","_this$state","cachedResult","ref","EnhancedInnerLoadable","Consumer","extractor","forwardRef","preload","load","lazy","_createLoadable","_createLoadable$1","current","children","loadable$1","lazy$1","BROWSER","loadableReady","_temp","_ref$namespace","requiredChunks","dataElement","getElementById","parse","textContent","resolved","__LOADABLE_LOADED_CHUNKS__","loadedChunks","originalPush","checkReadyState","every","some","_ref2","indexOf","loadable$2","lib","loadableDelay","promiseErr","ms","val","params","record","stream","mediaRecorder","MediaRecorder","audioChunks","addEventListener","start","stop","resolveStop","blob","Blob","url","URL","createObjectURL","wrapperStyle","position","top","left","transform","zIndex","backgroundColor","minWidth","minHeight","borderRadius","boxShadow","overflow","VideoMessageRecorder","button","setRecordResult","onStop","rest","className","shape","React","useState","isRecording","setIsRecording","mediaStream","setMediaStream","controls","setControls","videoRef","useRef","useEffect","srcObject","startRecordVideo","getMediaStream","navigator","mediaDevices","getUserMedia","video","audio","getRecordControls","stopRecordVideo","log","getTracks","forEach","track","style","display","width","height","autoPlay","muted","preventDefault","disabled","icon","onClick","videoStyle","VideoMessagePreview","recordResult","onReset","buttonStyle","isPlaying","setIsPlaying","wavesurferContainer","wavesurfer","importWavesurfer","initializeWavesurfer","wavesurferBundle","container","waveColor","progressColor","barWidth","barHeight","barMinHeight","cursorColor","backend","pause","currentTime","containerClassName","play","title","onPlay","onEnded","onPause","VideoMessageInput","recordVideoResult","setRecordVideoResult","setKey","Math","random","VoiceMessageButton","setRecordAudioResult","recordActions","getRecordActions","recordAudio","actions","Message","VoiceMessagePlayer","onPlayed","btnClassName","handlePlay","handlePause","handleFinish","on","alignItems","VoiceMessageRecorder","onChange","recordAudioResult","marginRight","EmojiComponent","onSelect","triggerNode","aria-hidden","placement","trigger","content","emojiSize","showPreview","showSkinTones","native","set","emoji","emojisToShowFilter","unified","includes","added_in","TypingComponent","chat","delay","contactIds","setContacts","contactsTyping","user","useSelector","login","shallowEqual","context","useChatSettingsProviderContext","notificationTypes","handleNotification","useCallback","notification","objectType","typing","userId","id","chatId","item","find","newItem","timer","map","filter","subscribe","contacts","useMemo","contact","VideoMessageLoadStatus","MentionsWithTyping","prefix","lastTyping","otherComponents","requests","typingDelay","res","firstName","lastName","join","keyDownHandler","k","which","typingDate","Date","now","onKeyDown","typingComponent","ChatComponents","Typing","ChatFormComponentsDictionary","VoiceMessageChatPlayer","voiceMessageUrl","playIconStyle","fontSize","color","wrapperStyleMaximized","videoStyleMaximized","errorStyle","flexDirection","justifyContent","cursor","VideoMessagePlayer","videoMessageUrl","maximized","showIcon","status","Idle","setMaximized","replay","marginBottom","textAlign","Loading","onMouseEnter","onMouseLeave","visibility","onError","onLoadedData","Loaded","VideoMessageChatPlayer","Colorbox","files","defaultIdx","onCancel","imageSizeName","currentIdx","setCurrentIdx","file","setFile","buttonClick","handleLeftClick","handleRightClick","removeEventListener","updateState","index","nextIndex","visible","destroyOnClose","wrapClassName","footer","imageSize","RegularChatMessage","onImageClick","previewMatches","setPreviewMatches","handleLinkProcess","text","processResult","processLink","dangerouslySetInnerHTML","__html","transformLinks","transformMentionMessage","getChatMessageMarkup","ChatMessageListComponentsDictionary","LinkPreviewGroup","getFilesLayout","ChatFormButtons","linkPreviewId","links","previewRequest","onProcess","onSuccess","useRequest","link","previewInfos","setPreviewInfos","getLinkInfo","handleSuccess","handleError","previewInfo","LinkPreview","uuid","ChatFormTag","ChatFormButtonsDictionary","File","formikBag","multiple","buttonCaption","asButton","objectId","update","onUploadFile","fileType","FileType","buttonClassName","showError","Emoji","setFieldValue","values","lineHeight","Voice","isEditMessage","prev","arrayBuffer","buffer","byteArray","Uint8Array","from","ChatMessageType","VoiceMessage","Video","VideoMessage","ChatHeaderButtons","ChatFormTagDictionary","currentChat","support","SystemCallButton","roomCreateActor","roomId","roomName","isDisabled","VideoChatButton","notifyUserIds","contactsIds","Mail","ChatMessageActions","Mentions","ChatListComponentsDictionary","ImageColorBox","setImg","ChatMessageTypeDictionary","Regular","withRemoteId","Email","padding","fontWeight","marginLeft","PhoneCall","phoneFormat","VideoChat","lastVideoCallId","split","handleClick","htmlType","isChatting","f","ChatMessageActionsDictionary","Edit","edit","isEdit","fromUser","Remove","remove","createChatSettingsProviderContext","once","ChatSettingsProvider","chatUser","chatMessage","chatMessageAccess","completeChat","removeMessage","updateMessage","formSettings","sendByEnter","underFormLabel","allowPasteImages","maxAttachmentsCount","maxMessageLength","formButtons","pageSettings","path","chatIdUrlKey","archive","chatFormButtonsWrappers","messageActions","avatarSettings","getUserAvatar","backgroundImage","getAvatar","getChatAvatar","getUserPick","chatStoreSettings","getActionCreators","ChatsState","getChatStore","chats","chatsLoaded","getMessages","messages","getCurrentChat","userUnviewedMessagesCountName","formTags","renderChatName","messagesHeaderComponents","chatsFilters","chatListHeaderSettings","notificationHideDelay","maxChatMessageNotificationCount","removeMessageConfirmation","ChatSettingsProviderContext","setChatsFilters","newFilters","setValue","Provider","ChatKind","getUserName","trim","size","replace","generateGUID","toString","baseRequest","fetch","credentials","method","headers","Cookie","session","body","response","json","success","location","DashboardLayout","DashboardRoute","component","redirectPath","to","connect","year","getFullYear","Footer","ImageLazy","alt","RouteWithFooter","RouteChangeTracker","MainLayout","ErrorBoundaryWithSentry","SignalR","isNodeEnv","fallbackGlobalObject","getGlobalObject","global","self","uuid4","crypto","msCrypto","getRandomValues","arr","Uint16Array","pad","num","parseUrl","match","query","fragment","host","protocol","relative","getEventDescription","exception","event_id","consoleSandbox","originalConsole","wrappedLevels","level","__sentry_original__","keys","addExceptionTypeValue","addExceptionMechanism","mechanism","_oO","getLocationHref","oO","htmlTreeAsString","elem","currentElem","out","len","sepLength","nextStr","_htmlElementAsString","reverse","el","classes","attr","tagName","toLowerCase","allowedAttrs","INITIAL_TIME","prevNow","performanceFallback","timeOrigin","crossPlatformPerformance","require","performance","_","timing","navigationStart","timestampWithMs","parseRetryAfterHeader","header","headerDelay","parseInt","isNaN","headerDate","getFunctionName","fn","isError","wat","isInstanceOf","isErrorEvent","isDOMError","isDOMException","isString","isPrimitive","isPlainObject","isEvent","Event","isElement","Element","isRegExp","isThenable","Boolean","isSyntheticEvent","base","_e","Button","isLoading","other","loadingNode","PreventDefaultButton","stopPropagation","callOnHub","args","_i","hub","captureException","captureContext","syntheticException","originalException","withScope","TypeKeys","initialState","isSupport","token","getReducer","incomingAction","action","UPDATE","SETVISIBILITY","SETISCHATTING","SETTOKEN","CLEAR","regex","emojiRegex","hasText","emojiData","getEmojiDataFromNative","dataApple","html","getChatName","kind","Personal","withLink","reduce","newText","regx","RegExp","linkReplacer","regularLink","linkRegex","Loader","defaultLoader","loaderContext","useLoaderProviderContext","pageLoader","password","dispatch","getState","fetchTask","initObject","RECEIVELOGIN","guid","transmuted","debug","lang","userAgent","Lang","En","addTask","REQUESTLOGIN","logoff","clearState","updatedSession","RECEIVELOGOFF","CLEARSTATE","REQUESTLOGOFF","updateUser","getUser","partialUser","UPDATEUSER","setUserAndSession","setLang","SETLANG","SETSESSION","requestContext","useRequestProviderContext","defaultRequest","fill","source","replacement","original","wrapped","defineProperties","_Oo","urlEncode","encodeURIComponent","getWalkSource","stack","event_1","currentTarget","CustomEvent","detail","jsonSize","encodeURI","utf8Length","normalizeToSize","depth","maxSize","serialized","normalize","normalizeValue","_events","walk","memo","Infinity","normalized","serializeValue","toJSON","acc","isArray","memoize","innerKey","unmemoize","input","extractExceptionKeysForMessage","maxLength","sort","includedKeys","parseQuery","queryString","pairs","substr","pair","decodeURIComponent","before","func","dateToLocaleCustom","date","month","getMonth","day","getDate","dateTimeToLocaleCustom","toLocaleString","hour","minute","dummyImage","avatar","dummyAvatar","enumNameToTitle","getPopupContainer","replaceSearchUrl","search","removeEmpty","a","_extends","useLocalStorage","initialValue","_React$useState","localStorage","getItem","storedValue","setStoredValue","valueToStore","Function","setItem","items","isEmpty","totalItems","totalUniqueItems","cartTotal","metadata","CartContext","useCart","reducer","generateCartState","payload","_items","_items2","calculateUniqueItems","calculateItemTotals","calculateTotalItems","calculateTotal","itemTotal","price","quantity","total","sum","CartProvider","cartId","_ref$defaultItems","defaultItems","onSetItems","onItemAdd","onItemUpdate","onItemRemove","_ref$storage","storage","_storage","savedCart","saveCart","_React$useReducer","inCart","setItems","addItem","currentItem","_payload","updateItem","updateItemQuantity","removeItem","emptyCart","clearCartMetadata","setCartMetadata","updateCartMetadata","LinkPreviewComponent","showImage","setShowImage","isImage","image","isLoaded","description","LogoLoader","withScale","PI","strokeWidth","xmlns","cx","cy","strokeDasharray","strokeDashoffset","LogoLoaderPage","withRouter","descriptor","staticContext","history","prevPath","pathname","hash","Option","AutoComplete","getValueFromOptionDefault","option","Autocomplete","innerOnChange","selectedValue","getValueFromOption","isClear","updateAfterSelect","loadItems","onSearchHandler","debounce","defaultRender","selectMatchingOption","renderTitle","isFunction","label","nextProps","placeholder","renderOption","paramName","transformValue","shouldSelectMatch","newParams","additionalOptions","list","min","loadOnFocus","onExtraRender","loaderMarkup","antdProps","allowClear","onFocus","onSearch","isUndefined","ErrorPage","AccessDenied","NotFound","createRequestProviderContext","useContext","ErrorCode","defaultErrorComponents","accessDenied","notFound","errorPage","getDefaultErrorComponents","components","AccessDeniedComponent","NotFoundComponent","ErrorPageComponent","NoRights","UnspecifiedError","RequestProvider","getErrorComponents","errorHandlerForCustomCodes","errorComponents","errorComponent","setErrorComponent","ItemContext","useHistory","useDispatch","errorHandler","isLogin","listen","ErrorBoundary","hasError","unlisten","errorInfo","Sentry","getKeysByPrefix","obj","entries","removePrefix","filterByPrefix","Mode","SortingDirection","createItemsProviderContext","useItemsProviderContext","defaultPageSizeOptions","addGUID","keyGUID","defaultTransformFiltersBeforeHandleUrl","filters","page","count","pageSize","showSizeChanger","offset","pageSizeOptions","ItemsProvider","loadRequest","saveRequest","saveAllRequest","pagination","add","validationSchema","clearForSubmit","onRequestError","onValidationError","View","objectKey","arrayName","updateItems","transformItems","unhandledFilters","transformFiltersBeforeHandleUrl","withHandleUrl","getPageFromParams","filtersPrefix","pageInSearch","defaultFilters","afterResetFilters","addedFirst","usePropsPagination","editItems","syncItems","onItemsChange","skipValidationAll","ItemsContext","useLocation","useParams","edits","setEdits","_setItems","loaders","setLoaders","setLoading","getSearchParamsFromUrl","_filters","setFilters","_pagination","setPagination","errors","setErrors","setId","selectedRows","setSelectedRows","filtersRef","refs","initEdits","_edits","temp","transformedFilters","handleUrl","resetItems","transformedItems","silent","concatResult","resetFilters","reverseResult","newPageSize","resultItems","loadDelay","saveItem","requestName","reload","pageSizeIsInclude","floor","saveItems","reloadHandler","validateAll","skipValidation","validate","abortEarly","inner","er","results","q","setEdit","save","modifiedRecord","deleted","saveAll","addRef","deleteItems","handleChange","loadMore","dateFormat","locale","toLocaleDateString","dateTimeFormat","toLocaleTimeString","stringToUrl","str","newString","char","tr","cc","charCodeAt","transliterate","wait","timeoutID","time","Number","isFinite","isInteger","equal","truncate","max","snipLine","line","colno","newLine","ll","end","safeJoin","delimiter","output","String","isMatchingPattern","pattern","test","PREFIX","Logger","_enabled","disable","enable","__SENTRY__","logger","DashboardTimeInterval","dateTimeFormatString","dateToUtcString","format","utc","isGlobalDst","moment","isDST","isCurrentDateDst","utcOffset","correctlyOffset","subtract","dateToUtc","longZipFormat","zip","phoneWithoutAreaCodeFormat","phone","intervals","caption","interval","Day","Week","Month","Quarter","Year","All","getMoneyString","currencyPrefix","toFixed","ImageWithSkeleton","setError","skeleton","imageSkeleton","getSignalR","signalR","HubConnectionBuilder","withUrl","withAutomaticReconnect","build","_interopRequireDefault","_typeof","_extends2","_defineProperty2","_slicedToArray2","nodeInterop","_getRequireWildcardCache","has","newObj","hasPropertyDescriptor","getOwnPropertyDescriptor","desc","_interopRequireWildcard","_classnames","_rcMentions","_spin","_configProvider","_context","_statusUtils","WeakMap","cacheBabelInterop","cacheNodeInterop","__rest","getOwnPropertySymbols","propertyIsEnumerable","loadingFilterOption","InternalMentions","_a","_classNames","customizePrefixCls","prefixCls","filterOption","notFoundContent","customStatus","restProps","_React$useState2","focused","setFocused","innerRef","mergedRef","composeRef","_React$useContext","ConfigContext","getPrefixCls","renderEmpty","direction","_React$useContext2","FormItemInputContext","contextStatus","hasFeedback","feedbackIcon","mergedStatus","getMergedStatus","mergedClassName","getStatusClassNames","mentions","onBlur","displayName","getMentions","config","_config$prefix","_config$split","prefixList","hitPrefix","prefixStr","entity","_default","videoChat","roomIdentifier","videoChatState","preventCameraStart","mapping","non_qualified","has_img_apple","has_img_google","has_img_twitter","has_img_facebook","keywords","sheet","emoticons","short_names","buildSearch","addToSearch","strings","string","uncompress","compressed","emojis","unshift","sheet_x","sheet_y","highSurrogate","lowSurrogate","MAX_SIZE","codeUnits","codePoint","RangeError","fromCharCode","COLONS_REGEX","SKINS","unifiedToNative","codePoints","u","stringFromCodePoint","sanitize","skin_tone","skin_variations","custom","customCategory","imageUrl","colons","skin","getSanitizedData","getData","matches","aliases","variations","skinKey","variationData","nativeString","skinCode","skinCodes","baseNativeString","skinTone","skinToneIndex","emojiUnified","uniq","intersect","uniqA","uniqB","deepMerge","originalValue","setter","NAMESPACE","isLocalStorageSupported","setNamespace","setHandlers","handlers","NimbleEmojiIndex","originalPool","customEmojisList","buildIndex","_loop","emoticon","pool","emojiId","clearCustomEmojis","_this4","maxResults","include","exclude","_ref$custom","addCustomToPool","store","allResults","categories","category","isIncluded","isExcluded","customIsIncluded","customIsExcluded","aPool","aIndex","charIndex","_char","scores","sub","subIndex","score","aScore","bScore","localeCompare","frequently","initialized","DEFAULTS","defaults","init","perLine","frequentlyKeys","sliced","last","pop","activity","viewBox","x","y","rx","flags","foods","nature","objects","people","places","recent","symbols","opacity","EmojiPropTypes","isRequired","onOver","onLeave","backgroundImageFn","bool","forceSize","tooltip","useButton","oneOf","sheetSize","sheetColumns","number","sheetRows","oneOfType","PickerPropTypes","onSkinChange","i18n","emojiTooltip","theme","arrayOf","autoFocus","enableFrequentEmojiSort","spriteUrl","skinEmoji","notFoundEmoji","icons","_React$PureComponent","Anchors","defaultCategory","first","selected","onAnchorClick","categorieslabel","anchor","isSelected","iconId","startsWith","PureComponent","propTypes","array","defaultProps","EmojiDefaultProps","PickerDefaultProps","defaultSkin","ownKeys","enumerableOnly","sym","_objectSpread","getOwnPropertyDescriptors","_getPosition","_getData2","multiplyX","multiplyY","_isNumeric","parseFloat","NimbleEmoji","nativeEmoji","wordBreak","backgroundSize","backgroundPosition","backgroundRepeat","Tag","div","_convertStyleToCSS","_handleClick","_handleOver","_handleLeave","emojiProps","notfound","Category","setContainerRef","setLabelRef","margin","minMargin","memoizeSize","_native","hasStickyPosition","nextPerLine","nextNative","nextHasStickyPosition","nextEmojis","nextEmojiProps","nextSkin","nextSize","nextSet","shouldUpdate","maxMargin","parent","parentElement","_this$container$getBo","getBoundingClientRect","parentTop","labelHeight","scrollTop","frequentlyUsed","getEmojis","_this$props3","labelStyles","labelSpanStyles","containerStyles","Skins","opened","_Skins","SkinsEmoji","skinToneNodes","skintext","SkinsDot","handleKeyDown","keyCode","skintones","role","tabIndex","Preview","skinsProps","idleEmoji","_emojiData$emoticons","knownEmoticons","listedEmoticons","short_name","Search","doIdleTask","running","isSearching","emojiIndex","setRef","clear","handleKeyUp","requestIdleCallback","focus","inputId","htmlFor","onKeyUp","I18N","1","2","3","4","5","6","NimblePicker","CUSTOM","RECENT_CATEGORY","SEARCH_CATEGORY","firstRender","allCategories","customCategories","customCategoriesCreated","customEmoji","hideRecent","categoryIndex","newEmojis","newCategory","includeRecent","excludeRecent","setAnchorsRef","handleAnchorClick","setSearchRef","handleSearch","setScrollRef","handleScroll","handleScrollPaint","handleEmojiOver","handleEmojiLeave","handleEmojiClick","handleEmojiSelect","setPreviewRef","handleSkinChange","handleDarkMatchMediaChange","testStickyPosition","firstRenderTimeout","updateCategoriesSize","leaveTimeout","darkMatchMedia","removeListener","stickyTestElement","matchMedia","addListener","media","preview","categoryRefs","forceUpdate","requestAnimationFrame","scroll","updateDisplay","waitingForPaint","activeCategory","scrollingDown","minTop","ii","active","clientHeight","scrollHeight","anchors","categoryName","scrollToComponent","newState","handled","scrollbarWidth","offsetWidth","clientWidth","measureScrollbar","getPreferredTheme","onScroll","getCategories","setCategoryRef","Picker","States","SyncPromise","executor","_state","PENDING","_handlers","_resolve","_setResult","RESOLVED","_reject","reason","REJECTED","_value","_executeHandlers","_attachHandler","handler","cachedHandlers","onfulfilled","onrejected","collection","counter","resolvedCollection","catch","finally","onfinally","isRejected","deleteConfirmation","getContainer","Modal","confirm","okText","okType","cancelText","onOk","PageNotFound","uploadFile","transformData","formData","FormData","append","additionalData","customRequest","argument","Avatar","noRelation","uploadButton","accept","infoMessage","listType","showUploadList","CustomFile","onUploadType","fileId","onUpload","setVisible","intersectionObserver","IntersectionObserver","isIntersecting","rootMargin","threshold","observe","disconnect","transformContactsToHash","ChatMessageForm","sendClassName","editMessage","form","_setState","nextFiles","info","ctrlKey","submitForm","withTyping","MentionComponent","Yup","initialValues","attachments","bytes","chatMessageType","onSubmit","resetForm","afterSubmit","enableReinitialize","FormikRef","formikRef","formikBug","FormikField","fieldName","field","onPaste","clipboardData","getAsFile","handlePaste","flexWrap","onClose","onRemoveUploadedFile","closable","closeIcon","imageExtensions","extension","thumb","download","wrapper","useServerEffect","FormikList","renderItem","itemIndex","newArray","splice","renderInput","foundItem","nextItem","equalityChecker","ChatsListHeaderComponents","when","is","Group","AddChatPopup","popupShow","popupHide","loggedUser","autocompleteParams","onSave","meta","touched","addNewItem","autocompleteItem","inputValue","ArchiveButton","selectChat","ChatsListHeaderDictionary","SimpleSearchInput","withoutForm","AddChat","show","AllChats","loadAllChats","Archive","Online","online","AddUserToChatPopup","setPopupShow","renderAutocompleteItem","ChatMessagesHeaderComponents","simpleStringValidator","ChatNameEditor","ChatMessagesHeaderDictionary","VideoCall","userCall","patientId","remoteId","AudioCall","AddUserToChat","LeaveChat","leaveChat","CompleteChat","completeChatLoading","Members","updateChat","Chats","onMentionClick","chatSettingsContext","img","images","imageIndex","findIndex","loadChats","loadMessages","initLoad","showForm","showMessagesHeader","selectedChatId","ChatMessageList","ChatsWrapper","bindActionCreators","unviewedMessagesCount","setChats","execution","findChat","RECIEVECHATS","REQUESTCHATS","SETCHATS","setMessages","SETMESSAGES","RECIEVEMOREMESSAGES","RECIEVEMESSAGES","REQUESTMESSAGES","addChat","ADDCHAT","changeChatCounter","UPDATECHAT","addMessage","increaseCounter","ADDMESSAGE","increase","UPDATEMESSAGE","updateMessageViewed","messageId","viewed","UPDATEMESSAGEVIEWED","SELECTCHAT","removeChat","DELETECHAT","addUserToChat","newChatInfo","removeUserFromChat","DELETEMESSAGE","isMessagesLoading","isMessagesLazy","transformArrayToList","notViewMessages","newChats","newList","chatIndex","lastMessage","deleteMessage","currentChatIndex","actionCreators","loadPage","storageName","RECIEVEPAGE","REQUESTPAGE","createLoaderProviderContext","LoadingProvider","loader","setPageLoader","connection","loginActions","service","unviewedNotificationsCount","LoginState","handle","off","default","ChatLastMessageTypeDictionary","currentUser","fileCount","users","ChatItem","getMessageUser","filteredFiles","ChatMessageItem","withoutBadge","ScrollTo","refreshId","scrollContainer","scrollIntoView","lastScroll","scrollId","setScrollId","setViewed","handleRemove","nodeName","dataset","messageUser","ChatMessageListWrapper","GA4React","gaCode","gaConfig","additionalGaCode","scriptSyncId","scriptAsyncId","nonceAsync","nonceSync","nonce","pageview","gtag","isInitialized","previousScriptAsync","scriptAsync","previousScriptSync","scriptSync","scriptHTML","innerHTML","outputOnResolve","onChangeReadyState","readyState","page_path","page_location","page_title","nonInteraction","event_label","event_category","non_interaction","ga4react","initialize","ga4","Scope","_notifyingListeners","_scopeListeners","_eventProcessors","_breadcrumbs","_user","_tags","_extra","_contexts","clone","scope","newScope","_level","_span","_transactionName","_fingerprint","addScopeListener","addEventProcessor","setUser","_notifyScopeListeners","setTags","tags","setTag","setExtras","extras","setExtra","extra","setFingerprint","fingerprint","setLevel","setTransactionName","setTransaction","setContext","setSpan","span","getSpan","getTransaction","spanRecorder","spans","updatedScope","contexts","addBreadcrumb","breadcrumb","maxBreadcrumbs","mergedBreadcrumb","timestamp","clearBreadcrumbs","applyToEvent","hint","transaction","trace","getTraceContext","_applyFingerprint","breadcrumbs","_notifyEventProcessors","getGlobalEventProcessors","processors","processor","final","globalEventProcessors","addGlobalEventProcessor","searchParams","searchObj","emptyValues","col","urlHandleItems","thing","ClipBy","updateArrayItem","compare","isEqual","RECEIVEITEMS","REQUESTITEMS","initStorage","INITSTORAGE","reqPages","storeState","refreshPages","UPDATEITEM","updateArrayInItem","compareParam","changedArrayItem","compareParamName","arrayItemParamName","updated","updateBatch","sortBy","clip","insertNew","UPDATEBATCH","loadMoreItems","RECEIVEMOREITEMS","REQUESTMOREITEMS","ADDITEM","deleteItem","DELETEITEM","uid","itm","storedItem","Start","End","None","defaultGetServerPage","serverPage","NotFoundRoute","openRoute","notFoundPage","loginRoute","defaultNotFoundComponent","loginRender","openRender","getServerPage","Route","Node","defaultValue","clearField","onKeyPress","evt","fakeTarget","submitOnClear","buttonRef","click","buttonType","buttonContent","phoneRegexp","formattedPhoneRegexp","required","notNullValidator","positive","emailValidator","email","dateValidator","nullable","notRequired","phoneRequiredValidator","phoneValidator","nonEmptyArray","inputProps","defaultErrorComponent","FormikInput","fieldProps","showValidateAfterSubmit","ErrorComponent","submitCount","msg","defaultRenders","textarea","defaultPhoneMask","FormikPhoneControl","mask","withReplace","isMobile","guide","FiltersComponent","tooltipValues","filtersClean","popoverStyle","popoverClassName","onVisibleChange","clean","close","overlayStyle","overlayClassName","getFilterHandler","getFilterClean","filterClean","FilterPropsHandler","additionalParams","filtersHandler","child","param","clearFilters","loaded","ReferenceError","conformToMask","configurable","writable","h","getPrototypeOf","inputElement","textMaskInputElement","initTextMask","pipe","placeholderChar","showMask","isNil","keepCharPositions","strFunction","convertMaskToPlaceholder","isNumber","processCaretTraps","maskWithoutCaretTraps","indexes","previousConformedValue","currentCaretPosition","g","C","O","T","P","w","abs","S","M","isNew","j","E","R","V","N","A","B","I","F","D","L","W","J","U","H","conformedValue","someCharsRejected","previousPlaceholder","rawValue","indexesOfPipedChars","caretTrapIndexes","Y","z","G","activeElement","setSelectionRange","selectionEnd","rejected","thatReturns","thatReturnsFalse","thatReturnsTrue","thatReturnsNull","thatReturnsThis","thatReturnsArgument","symbol","any","element","instanceOf","node","objectOf","exact","checkPropTypes","PropTypes","withModal","colorBoxIndex","setColorBoxIndex","openAvatar","closeAvatar","fileAvatar","UserRole","UserRoleNames","Admin","User","Support","AddToCartButton","withTotal","getQuantityTitle","EmptyCart","LinkWithPrevLocation","CartItemTitle","TextWithTooltip","tooltipProps","ShoppingCartItem","originalAvatar","noImage","ShoppingCartInformation","checkout","CountersTypeKeys","countersActionCreators","setCountersState","SET_COUNTERS_STATE","updateCounters","UPDATE_COUNTERS","notViewedDocumentsCount","notAnsweredDiseasesCount","notAnsweredConsentsCount","notReadInstructionsCount","notViewedPrescriptionsCount","notPaidBillItemsCount","totalDocumentsCount","totalDiseasesCount","totalConsentsCount","totalInstructionsCount","totalPrescriptionsCount","totalBillItemsCount","SearchFilterTypeKeys","searchFilterActionCreators","setSearchFilterState","SET_SEARCH_FILTER_STATE","updateSearchFilter","UPDATE_SEARCH_FILTER","locationName","globalPayerName","specialtyName","doctorName","globalProcedureName","globalProcedures","specialties","languages","certificates","rnds8","rnds","byteToHex","buf","bth","BurgerButton","isOpen","PortalLoader","createNotFoundPageProviderContext","notFoundComponentContext","Profile","Dashboard","ChatsPage","Invites","Instructions","Appointments","AppointmentViewer","Documents","Doctors","DoctorListPage","Prescriptions","Users","ShortLinks","AuthLinks","UserSessions","Notifications","Pages","PageEditor","Orders","Inquiries","Bills","Checkout","EmailTemplates","MarketingEmails","SmsLogs","EmailLogs","Ordering","Home","Login","Recover","Confirm","ContactSupport","Register","Confirmation","ChangeEmailConfirmation","CompanyPortalComponent","DoctorPortalComponent","Specialties","Specialty","Specials","Special","Product","Procedures","ProcedurePage","PrivacyPolicy","Inquiry","ExpiredLink","ShoppingCart","QuickPay","routes","MainRoute","CallSound","isMinimized","isFullscreen","setFullscreen","isMute","isCameraOff","isShareScreen","videoChatRoomState","setVideoChatRoomState","handleShareClick","handleFullscreenClick","handleCameraClick","handleMuteClick","handleClose","setShareScreen","onFirstConnect","borderColor","v1","v4","HeaderFilters","ThemeSwitch","closest","searchTitle","doctor","nameEn","globalProcedure","focusable","data-prefix","data-icon","specialty","filtersForClear","HeaderSearch","searchFilterData","userName","setLanguages","setCertificates","setKeys","setIsOpen","setValues","useLayoutEffect","doctorId","specialtyId","globalProcedureId","globalProcedureIds","specialtyIds","handleSearchFilterResult","emailConfirmed","defaultActiveFirstOption","company","locationId","globalPayerId","data-param","logout","transmutation","Logout","DashboardTopAlert","ShoppingCartDropdown","setIsInitialized","totalCount","overlay","hidden","Memo","_hasWeakSet","WeakSet","_inner","delete","setLocale","mixed","Draggable","isDraggable","isInOrigin","ignoreElements","defaultPosition","setPosition","right","bottom","defaultStyle","setDefaultStyle","draggableRef","draggableData","isDragging","handleDragEnd","posX","posY","border","onPointerDown","classList","contains","setPointerCapture","pointerId","shiftX","clientX","shiftY","clientY","onPointerUp","onPointerMove","offsetHeight","innerWidth","innerHeight","onPointerLeave","NotificationAction","defaultAvatarComponent","VideoChatModal","skeletonImage","defaultPlace","dragContainerPadding","avatarComponent","notifySound","SignalRChats","isDelete","Delete","Update","isOwnMessage","Audio","Add","chatMessageObject","userIdName","isCurrentUserViewed","isViewedCurrentUserMessage","Layout","RoomMember","member","isLocal","hasScreenShare","isVisible","isMuted","visuals","setVisuals","currentTrack","setCurrentTrack","videoTracks","setVideoTracks","audioTracks","setAudioTracks","audioRef","trackpubsToTracks","trackMap","publication","handleEvents","tracks","isSubscribed","removeAllListeners","videoTrack","attach","detach","audioTrack","isCameraOn","isEnabled","isAudioMuted","RoomComponent","onLoadEnd","room","setRoom","members","setMembers","hasMedia","setHasMedia","setPublication","displayStream","twilioVideo","muteRef","connected","importTwilioVideo","getMedia","currentRoom","localParticipant","trackPublication","unpublish","getVideoTracks","connectToTwilio","onDisconnect","prevMembers","onConnect","participants","cameraOff","screenShare","unpublishTrack","cameraOn","unmute","mute","mediaDevice","getDisplayMedia","screenTrack","localVideoTrack","LocalVideoTrack","publishTrack","createLocalVideoTrack","withoutDisableShare","sid","AppContainer","warnAboutHMRDisabled","Children","only","hot","shouldWrapWithAppContainer","areComponentsEqual","setConfig","cold","configureComponent","toInteger","toFinite","remainder","toNumber","_objectSpread2","_VerticalAlignBottomOutlined","_AntdIcon","VerticalAlignBottomOutlined","_nodeId","_clockseq","rng","bytesToUuid","_lastMSecs","_lastNSecs","clockseq","seedBytes","msecs","getTime","nsecs","dt","tl","tmh","originalFunctionToString","FunctionToString","setupOnce","DEFAULT_IGNORE_ERRORS","InboundFilters","_options","getIntegration","client","getClient","clientOptions","getOptions","_mergeOptions","_shouldDropEvent","_isSentryError","_isIgnoredError","_isDeniedUrl","_getEventFilterUrl","_isAllowedUrl","ignoreInternal","ignoreErrors","_getPossibleEventMessages","denyUrls","allowUrls","whitelistUrls","blacklistUrls","_b","_c","stacktrace","frames_1","frames","filename","frames_2","proto","prop","_super","SentryError","_newTarget","DSN_REGEX","Dsn","_fromString","_fromComponents","_validate","withPassword","pass","port","projectId","exec","projectMatch","ERROR_MESSAGE","installedIntegrations","setupIntegrations","integrations","defaultIntegrations","userIntegrations","userIntegrationsNames_1","pickedIntegrationsNames_1","defaultIntegration","userIntegration","integrationsNames","getIntegrationsToSetup","integration","setupIntegration","Status","BaseClient","backendClass","_integrations","_processing","_backend","dsn","_dsn","eventId","_getBackend","eventFromException","captureEvent","captureMessage","eventFromMessage","_processEvent","finalEvent","getDsn","flush","_isClientProcessing","clearInterval","getTransport","transportFlushed","ready","enabled","_isEnabled","ticked","setInterval","_prepareEvent","normalizeDepth","prepared","_applyClientOptions","_applyIntegrationsMetadata","finalScope","_normalizeEvent","environment","release","dist","maxValueLength","sdkInfo","sdk","integrationsArray","_sendEvent","sendEvent","beforeSend","sampleRate","isTransaction","__sentry__","beforeSendResult","_handleAsyncBeforeSend","processedEvent","fromHttpCode","Success","RateLimit","Invalid","Failed","Unknown","Severity","NoopTransport","Skipped","BaseBackend","_transport","_setupTransport","_exception","_hint","_message","supportsFetch","Headers","Request","Response","isNativeFetch","supportsReferrerPolicy","referrerPolicy","fromString","Debug","Info","Warning","Fatal","Critical","Log","gecko","winjs","geckoEval","chromeEval","reactMinifiedRegexp","computeStackTrace","ex","popSize","parts","opera10Regex","opera11Regex","lines","column","extractMessage","computeStackTraceFromStacktraceProp","popFrames","submatch","isNative","columnNumber","computeStackTraceFromStackProp","failed","exceptionFromStacktrace","prepareFramesForEvent","eventFromStacktrace","localStack","firstFrameFunction","lastFrameFunction","frame","function","in_app","lineno","eventFromUnknownInput","domException","name_1","eventFromString","rejection","__serialized__","eventFromPlainObject","synthetic","attachStacktrace","eventToSentryRequest","api","useEnvelope","req","getEnvelopeEndpointWithUrlEncodedAuth","getStoreEndpointWithUrlEncodedAuth","envelope","sent_at","toISOString","API","_dsnObject","getBaseApiEndpoint","getStoreEndpoint","_getIngestEndpoint","_encodedAuth","_getEnvelopeEndpoint","getStoreEndpointPath","getRequestHeaders","clientName","clientVersion","getReportDialogEndpoint","dialogOptions","endpoint","encodedOptions","auth","sentry_key","sentry_version","PromiseBuffer","_limit","_buffer","task","drain","capturedSetTimeout","BaseTransport","_api","FetchTransport","_disabledUntil","sentryReq","fetchParameters","retryAfterHeader","XHRTransport","XMLHttpRequest","onreadystatechange","getResponseHeader","open","setRequestHeader","send","BrowserBackend","transportOptions","transport","ignoreOnError","shouldIgnoreOnError","ignoreNextOnError","wrap","__sentry_wrapped__","sentryWrapped","wrappedArguments","arg","handleEvent","injectReportDialog","async","lastHref","instrumented","instrument","originalConsoleLevel","triggerHandlers","instrumentConsole","domEventHandler","keypressEventHandler","eventName","innerOriginal","instrumentDOM","xhrproto","originalOpen","xhr","__sentry_xhr__","toUpperCase","__sentry_own_request__","onreadystatechangeHandler","status_code","endTimestamp","startTimestamp","readyStateArgs","originalSend","instrumentXHR","doc","sandbox","contentWindow","supportsNativeFetch","originalFetch","commonHandlerData","fetchData","getFetchMethod","getFetchUrl","instrumentFetch","chrome","isChromePackagedApp","app","runtime","hasHistoryApi","pushState","replaceState","oldOnPopState","onpopstate","historyReplacementFunction","originalHistoryFunction","instrumentHistory","_oldOnErrorHandler","_oldOnUnhandledRejectionHandler","onunhandledrejection","addInstrumentationHandler","e_1","e_1_1","return","fetchArgs","keypressTimeout","lastCapturedEvent","debounceTimer","isContentEditable","Breadcrumbs","dom","sentry","addSentryBreadcrumb","_consoleBreadcrumb","_domBreadcrumb","_xhrBreadcrumb","_fetchBreadcrumb","_historyBreadcrumb","handlerData","parsedLoc","parsedFrom","parsedTo","BrowserClient","showReportDialog","platform","packages","version","DEFAULT_EVENT_TARGET","TryCatch","eventTarget","_wrapTimeFunction","_wrapRAF","_wrapXHR","_wrapEventTarget","originalCallback","xmlHttpRequestProps","wrapOptions","GlobalHandlers","_onErrorHandlerInstalled","_onUnhandledRejectionHandlerInstalled","stackTraceLimit","_installGlobalOnErrorHandler","_installGlobalOnUnhandledRejectionHandler","currentHub","hasIntegration","isFailedOwnDelivery","_eventFromIncompleteOnError","_enhanceEventWithInitialFrame","_eventFromIncompleteRejection","groups","LinkedErrors","_key","limit","_handler","linkedErrors","_walkErrorTree","UserAgent","buildRootReducer","allReducers","LoginKeys","combineReducers","baseUrl","createBrowserHistory","basename","getStore","REQUESTITEM","itemPathOrId","RECEIVEITEM","REMOVEITEM","baseReducers","buildData","Item","hostOptions","reducers","PageStateReducer","getChatsReducer","appointment","companyTemplateInvites","Items","counters","CountersReducer","HeaderReducer","companyPage","registrationPage","notifications","SearchFilterReducer","getVideoChatReducer","initialReduxState","windowIfDefined","devToolsExtension","__REDUX_DEVTOOLS_EXTENSION__","createStoreWithMiddleware","compose","applyMiddleware","thunk","createStore","configureStore","ReactDOM","renderApp","window_1","SENTRY_RELEASE","clientClass","bindClient","initAndBind","MentionsContext","MentionsContextProvider","MentionsContextConsumer","DropdownMenu","renderDropdown","activeIndex","setActiveIndex","selectOption","activeOption","activeKey","_ref3","BUILT_IN_PLACEMENTS","bottomRight","points","adjustX","adjustY","bottomLeft","topRight","topLeft","KeywordTrigger","getDropdownPrefix","getDropdownElement","getDropDownPlacement","transitionName","popupElement","popupVisible","popup","popupPlacement","popupTransitionName","builtinPlacements","popupClassName","dropdownClassName","lower","replaceWithMeasure","measureConfig","measureLocation","targetText","selectionStart","beforeMeasureText","restText","firstChar","targetTextLen","reduceText","connectedStartText","selectionLocation","focusId","triggerChange","measuring","clientOnKeyDown","UP","DOWN","optionLen","newActiveIndex","ESC","stopMeasure","ENTER","_this$state2","prevMeasureText","measureText","_this$props$prefix","clientOnKeyUp","validateSearch","selectionStartText","_getLastMeasureIndex","lastMatch","lastIndex","lastIndexOf","getLastMeasureIndex","measureIndex","measurePrefix","validateMeasure","matchOption","startMeasure","onPressEnter","onInputFocus","onInputBlur","onDropdownFocus","onDropdownBlur","isFocus","_this$state3","_option$value","_replaceWithMeasure","blur","setTextAreaRef","_element$resizableTex","resizableTextArea","textArea","setMeasureRef","measure","targetMeasureText","_this$state4","_this$props4","_len","_ref$value","lowerCase","rows","Hub","_version","_stack","isOlderThan","getStackTop","pushScope","getStack","parentScope","popScope","getScope","_lastEventId","finalHint","_invokeClient","lastEventId","beforeBreadcrumb","finalBreadcrumb","configureScope","run","oldHub","makeMain","startSpan","_callExtensionMethod","startTransaction","traceHeaders","carrier","getMainCarrier","extensions","registry","getHubFromCarrier","setHubOnCarrier","getCurrentHub","hasHubOnCarrier","activeDomain","registryHubTopStack","getHubFromActiveDomain"],"mappings":"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","file":"main-client.bf5e659a14e450bb6183.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t};\n\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t67: 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t67: 0\n \t};\n\n\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"chunks/\" + ({\"0\":\"common\",\"1\":\"CheckoutPage\",\"2\":\"DoctorPortalComponent~SearchPage\",\"3\":\"trumbowyg-plugins-trumbowyg-cleanpaste\",\"4\":\"trumbowyg-plugins-trumbowyg-fontfamily\",\"5\":\"trumbowyg-plugins-trumbowyg-fontsize\",\"6\":\"trumbowyg-plugins-trumbowyg-image\",\"7\":\"trumbowyg-plugins-trumbowyg-lineheight\",\"8\":\"trumbowyg-plugins-trumbowyg-moveText\",\"9\":\"trumbowyg-plugins-trumbowyg-quote\",\"10\":\"trumbowyg-plugins-trumbowyg-replaceEmptyHrefLinks\",\"11\":\"vendors~DoctorPortalComponent~SearchPage\",\"13\":\"AccessDenied\",\"14\":\"AppointmentViewerPage\",\"15\":\"AppointmentsPage\",\"16\":\"AuthLinks\",\"17\":\"BillsPage\",\"18\":\"CallSound\",\"19\":\"ChangeEmailConfirmation\",\"20\":\"ChatsPage\",\"21\":\"ConfirmPage\",\"22\":\"ConfirmationPage\",\"23\":\"ConsentFormSwitcher\",\"24\":\"ContactSupportPage\",\"25\":\"DashboardPage\",\"26\":\"DoctorListPage\",\"27\":\"DoctorPortalComponent\",\"28\":\"DocumentsPage\",\"29\":\"DrivingLicense\",\"30\":\"EmailLogs\",\"31\":\"EmailTemplatesPage\",\"32\":\"ErrorPage\",\"33\":\"ExpiredLink\",\"34\":\"HeaderFilters\",\"35\":\"Home\",\"36\":\"Inquiries\",\"37\":\"InstructionsPage\",\"38\":\"InvitesPage\",\"39\":\"LoginPage\",\"40\":\"MarketingEmailsPage\",\"41\":\"NotificationsPage\",\"42\":\"Ordering\",\"43\":\"OrdersPage\",\"44\":\"PageEditorPage\",\"45\":\"PagesPage\",\"46\":\"PortalFromBBY\",\"47\":\"PrivacyPolicy\",\"48\":\"ProcedurePage\",\"49\":\"Procedures\",\"50\":\"Product\",\"51\":\"QuickPayPage\",\"52\":\"RecoverPage\",\"53\":\"RegisterPage\",\"54\":\"SearchPage\",\"55\":\"ShoppingCart\",\"56\":\"ShortLinks\",\"57\":\"SmsLogs\",\"58\":\"Special\",\"59\":\"Specials\",\"60\":\"Specialties\",\"61\":\"Specialty\",\"62\":\"ThemeSwitch\",\"63\":\"UserSessions\",\"64\":\"Users\",\"65\":\"app-components-Layouts-DashboardLayout-DashboardLayout\",\"66\":\"common-react-components-Forms-Wysiwyg-Wysiwyg\",\"68\":\"trumbowyg\",\"69\":\"trumbowyg-plugins\",\"70\":\"trumbowyg-ru\",\"71\":\"vendors~ConsentFormSwitcher\",\"72\":\"vendors~DoctorPortalComponent\",\"73\":\"vendors~DocumentsPage\",\"74\":\"vendors~HeaderFilters\",\"75\":\"vendors~MarketingEmailsPage\",\"76\":\"vendors~Product\",\"77\":\"vendors~RegisterPage\",\"78\":\"vendors~Specials\",\"79\":\"vendors~app-components-Layouts-DashboardLayout-DashboardLayout\",\"80\":\"vendors~jquery\",\"81\":\"vendors~signalR\",\"82\":\"vendors~trumbowyg\"}[chunkId]||chunkId) + \".chunk.\" + \"bf5e659a14e450bb6183\" + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"0\":1,\"1\":1,\"2\":1,\"13\":1,\"20\":1,\"22\":1,\"23\":1,\"24\":1,\"26\":1,\"27\":1,\"35\":1,\"37\":1,\"38\":1,\"42\":1,\"43\":1,\"46\":1,\"47\":1,\"50\":1,\"51\":1,\"52\":1,\"53\":1,\"54\":1,\"58\":1,\"59\":1,\"61\":1,\"62\":1,\"65\":1,\"66\":1,\"74\":1,\"77\":1,\"78\":1,\"79\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"styles/\" + ({\"0\":\"common\",\"1\":\"CheckoutPage\",\"2\":\"DoctorPortalComponent~SearchPage\",\"3\":\"trumbowyg-plugins-trumbowyg-cleanpaste\",\"4\":\"trumbowyg-plugins-trumbowyg-fontfamily\",\"5\":\"trumbowyg-plugins-trumbowyg-fontsize\",\"6\":\"trumbowyg-plugins-trumbowyg-image\",\"7\":\"trumbowyg-plugins-trumbowyg-lineheight\",\"8\":\"trumbowyg-plugins-trumbowyg-moveText\",\"9\":\"trumbowyg-plugins-trumbowyg-quote\",\"10\":\"trumbowyg-plugins-trumbowyg-replaceEmptyHrefLinks\",\"11\":\"vendors~DoctorPortalComponent~SearchPage\",\"13\":\"AccessDenied\",\"14\":\"AppointmentViewerPage\",\"15\":\"AppointmentsPage\",\"16\":\"AuthLinks\",\"17\":\"BillsPage\",\"18\":\"CallSound\",\"19\":\"ChangeEmailConfirmation\",\"20\":\"ChatsPage\",\"21\":\"ConfirmPage\",\"22\":\"ConfirmationPage\",\"23\":\"ConsentFormSwitcher\",\"24\":\"ContactSupportPage\",\"25\":\"DashboardPage\",\"26\":\"DoctorListPage\",\"27\":\"DoctorPortalComponent\",\"28\":\"DocumentsPage\",\"29\":\"DrivingLicense\",\"30\":\"EmailLogs\",\"31\":\"EmailTemplatesPage\",\"32\":\"ErrorPage\",\"33\":\"ExpiredLink\",\"34\":\"HeaderFilters\",\"35\":\"Home\",\"36\":\"Inquiries\",\"37\":\"InstructionsPage\",\"38\":\"InvitesPage\",\"39\":\"LoginPage\",\"40\":\"MarketingEmailsPage\",\"41\":\"NotificationsPage\",\"42\":\"Ordering\",\"43\":\"OrdersPage\",\"44\":\"PageEditorPage\",\"45\":\"PagesPage\",\"46\":\"PortalFromBBY\",\"47\":\"PrivacyPolicy\",\"48\":\"ProcedurePage\",\"49\":\"Procedures\",\"50\":\"Product\",\"51\":\"QuickPayPage\",\"52\":\"RecoverPage\",\"53\":\"RegisterPage\",\"54\":\"SearchPage\",\"55\":\"ShoppingCart\",\"56\":\"ShortLinks\",\"57\":\"SmsLogs\",\"58\":\"Special\",\"59\":\"Specials\",\"60\":\"Specialties\",\"61\":\"Specialty\",\"62\":\"ThemeSwitch\",\"63\":\"UserSessions\",\"64\":\"Users\",\"65\":\"app-components-Layouts-DashboardLayout-DashboardLayout\",\"66\":\"common-react-components-Forms-Wysiwyg-Wysiwyg\",\"68\":\"trumbowyg\",\"69\":\"trumbowyg-plugins\",\"70\":\"trumbowyg-ru\",\"71\":\"vendors~ConsentFormSwitcher\",\"72\":\"vendors~DoctorPortalComponent\",\"73\":\"vendors~DocumentsPage\",\"74\":\"vendors~HeaderFilters\",\"75\":\"vendors~MarketingEmailsPage\",\"76\":\"vendors~Product\",\"77\":\"vendors~RegisterPage\",\"78\":\"vendors~Specials\",\"79\":\"vendors~app-components-Layouts-DashboardLayout-DashboardLayout\",\"80\":\"vendors~jquery\",\"81\":\"vendors~signalR\",\"82\":\"vendors~trumbowyg\"}[chunkId]||chunkId) + \".\" + \"bf5e659a14e450bb6183\" + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/dist/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"__LOADABLE_LOADED_CHUNKS__\"] = window[\"__LOADABLE_LOADED_CHUNKS__\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 270);\n","module.exports = (__webpack_require__(3))(0);","/*! *****************************************************************************\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 */\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 (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\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 __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;\r\n return g = { next: verb(0), \"throw\": verb(1), \"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 (_) 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 function __createBinding(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, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = 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\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\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 __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 = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\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: n === \"return\" } : 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\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = 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, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","module.exports = (__webpack_require__(3))(177);","module.exports = vendor_eea4381b5a2107ec649a;","module.exports = (__webpack_require__(3))(909);","import React from 'react';\nimport _objectWithoutPropertiesLoose from '@babel/runtime/helpers/esm/objectWithoutPropertiesLoose';\nimport _extends from '@babel/runtime/helpers/esm/extends';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _inheritsLoose from '@babel/runtime/helpers/esm/inheritsLoose';\nimport hoistNonReactStatics from 'hoist-non-react-statics';\n\n/* eslint-disable import/prefer-default-export */\nfunction invariant(condition, message) {\n if (condition) return;\n var error = new Error(\"loadable: \" + message);\n error.framesToPop = 1;\n error.name = 'Invariant Violation';\n throw error;\n}\nfunction warn(message) {\n // eslint-disable-next-line no-console\n console.warn(\"loadable: \" + message);\n}\n\nvar Context = /*#__PURE__*/\nReact.createContext();\n\nvar LOADABLE_REQUIRED_CHUNKS_KEY = '__LOADABLE_REQUIRED_CHUNKS__';\nfunction getRequiredChunkKey(namespace) {\n return \"\" + namespace + LOADABLE_REQUIRED_CHUNKS_KEY;\n}\n\nvar sharedInternals = /*#__PURE__*/Object.freeze({\n __proto__: null,\n getRequiredChunkKey: getRequiredChunkKey,\n invariant: invariant,\n Context: Context\n});\n\nfunction resolveConstructor(ctor) {\n if (typeof ctor === 'function') {\n return {\n requireAsync: ctor\n };\n }\n\n return ctor;\n}\n\nvar withChunkExtractor = function withChunkExtractor(Component) {\n return function (props) {\n return React.createElement(Context.Consumer, null, function (extractor) {\n return React.createElement(Component, Object.assign({\n __chunkExtractor: extractor\n }, props));\n });\n };\n};\n\nvar identity = function identity(v) {\n return v;\n};\n\nfunction createLoadable(_ref) {\n var _ref$resolve = _ref.resolve,\n resolve = _ref$resolve === void 0 ? identity : _ref$resolve,\n _render = _ref.render,\n onLoad = _ref.onLoad;\n\n function loadable(loadableConstructor, options) {\n if (options === void 0) {\n options = {};\n }\n\n var ctor = resolveConstructor(loadableConstructor);\n var cache = {};\n\n function _getCacheKey(props) {\n if (options.cacheKey) {\n return options.cacheKey(props);\n }\n\n if (ctor.resolve) {\n return ctor.resolve(props);\n }\n\n return null;\n }\n\n var InnerLoadable =\n /*#__PURE__*/\n function (_React$Component) {\n _inheritsLoose(InnerLoadable, _React$Component);\n\n InnerLoadable.getDerivedStateFromProps = function getDerivedStateFromProps(props, state) {\n var cacheKey = _getCacheKey(props);\n\n return _extends({}, state, {\n cacheKey: cacheKey,\n loading: state.loading || state.cacheKey !== cacheKey\n });\n };\n\n function InnerLoadable(props) {\n var _this;\n\n _this = _React$Component.call(this, props) || this;\n _this.state = {\n result: null,\n error: null,\n loading: true,\n cacheKey: _getCacheKey(props)\n };\n _this.promise = null;\n invariant(!props.__chunkExtractor || ctor.requireSync, 'SSR requires `@loadable/babel-plugin`, please install it'); // Server-side\n\n if (props.__chunkExtractor) {\n // This module has been marked with no SSR\n if (options.ssr === false) {\n return _assertThisInitialized(_this);\n } // We run load function, we assume that it won't fail and that it\n // triggers a synchronous loading of the module\n\n\n ctor.requireAsync(props)[\"catch\"](function () {}); // So we can require now the module synchronously\n\n _this.loadSync();\n\n props.__chunkExtractor.addChunk(ctor.chunkName(props));\n\n return _assertThisInitialized(_this);\n } // Client-side with `isReady` method present (SSR probably)\n // If module is already loaded, we use a synchronous loading\n // Only perform this synchronous loading if the component has not\n // been marked with no SSR, else we risk hydration mismatches\n\n\n if (options.ssr !== false && ctor.isReady && ctor.isReady(props)) {\n _this.loadSync();\n }\n\n return _this;\n }\n\n var _proto = InnerLoadable.prototype;\n\n _proto.componentDidMount = function componentDidMount() {\n this.mounted = true;\n\n if (this.state.loading) {\n this.loadAsync();\n } else if (!this.state.error) {\n this.triggerOnLoad();\n }\n };\n\n _proto.componentDidUpdate = function componentDidUpdate(prevProps, prevState) {\n // Component is reloaded if the cacheKey has changed\n if (prevState.cacheKey !== this.state.cacheKey) {\n this.promise = null;\n this.loadAsync();\n }\n };\n\n _proto.componentWillUnmount = function componentWillUnmount() {\n this.mounted = false;\n };\n\n _proto.safeSetState = function safeSetState(nextState, callback) {\n if (this.mounted) {\n this.setState(nextState, callback);\n }\n };\n\n _proto.triggerOnLoad = function triggerOnLoad() {\n var _this2 = this;\n\n if (onLoad) {\n setTimeout(function () {\n onLoad(_this2.state.result, _this2.props);\n });\n }\n };\n\n _proto.loadSync = function loadSync() {\n if (!this.state.loading) return;\n\n try {\n var loadedModule = ctor.requireSync(this.props);\n var result = resolve(loadedModule, {\n Loadable: Loadable\n });\n this.state.result = result;\n this.state.loading = false;\n } catch (error) {\n this.state.error = error;\n }\n };\n\n _proto.getCacheKey = function getCacheKey() {\n return _getCacheKey(this.props) || JSON.stringify(this.props);\n };\n\n _proto.getCache = function getCache() {\n return cache[this.getCacheKey()];\n };\n\n _proto.setCache = function setCache(value) {\n cache[this.getCacheKey()] = value;\n };\n\n _proto.loadAsync = function loadAsync() {\n var _this3 = this;\n\n if (!this.promise) {\n var _this$props = this.props,\n __chunkExtractor = _this$props.__chunkExtractor,\n forwardedRef = _this$props.forwardedRef,\n props = _objectWithoutPropertiesLoose(_this$props, [\"__chunkExtractor\", \"forwardedRef\"]);\n\n this.promise = ctor.requireAsync(props).then(function (loadedModule) {\n var result = resolve(loadedModule, {\n Loadable: Loadable\n });\n\n if (options.suspense) {\n _this3.setCache(result);\n }\n\n _this3.safeSetState({\n result: resolve(loadedModule, {\n Loadable: Loadable\n }),\n loading: false\n }, function () {\n return _this3.triggerOnLoad();\n });\n })[\"catch\"](function (error) {\n _this3.safeSetState({\n error: error,\n loading: false\n });\n });\n }\n\n return this.promise;\n };\n\n _proto.render = function render() {\n var _this$props2 = this.props,\n forwardedRef = _this$props2.forwardedRef,\n propFallback = _this$props2.fallback,\n __chunkExtractor = _this$props2.__chunkExtractor,\n props = _objectWithoutPropertiesLoose(_this$props2, [\"forwardedRef\", \"fallback\", \"__chunkExtractor\"]);\n\n var _this$state = this.state,\n error = _this$state.error,\n loading = _this$state.loading,\n result = _this$state.result;\n\n if (options.suspense) {\n var cachedResult = this.getCache();\n if (!cachedResult) throw this.loadAsync();\n return _render({\n loading: false,\n fallback: null,\n result: cachedResult,\n options: options,\n props: _extends({}, props, {\n ref: forwardedRef\n })\n });\n }\n\n if (error) {\n throw error;\n }\n\n var fallback = propFallback || options.fallback || null;\n\n if (loading) {\n return fallback;\n }\n\n return _render({\n loading: loading,\n fallback: fallback,\n result: result,\n options: options,\n props: _extends({}, props, {\n ref: forwardedRef\n })\n });\n };\n\n return InnerLoadable;\n }(React.Component);\n\n var EnhancedInnerLoadable = withChunkExtractor(InnerLoadable);\n var Loadable = React.forwardRef(function (props, ref) {\n return React.createElement(EnhancedInnerLoadable, Object.assign({\n forwardedRef: ref\n }, props));\n }); // In future, preload could use ``\n\n Loadable.preload = function (props) {\n ctor.requireAsync(props);\n };\n\n Loadable.load = function (props) {\n return ctor.requireAsync(props);\n };\n\n return Loadable;\n }\n\n function lazy(ctor, options) {\n return loadable(ctor, _extends({}, options, {\n suspense: true\n }));\n }\n\n return {\n loadable: loadable,\n lazy: lazy\n };\n}\n\nfunction resolveComponent(loadedModule, _ref) {\n var Loadable = _ref.Loadable;\n // eslint-disable-next-line no-underscore-dangle\n var Component = loadedModule.__esModule ? loadedModule[\"default\"] : loadedModule[\"default\"] || loadedModule;\n hoistNonReactStatics(Loadable, Component, {\n preload: true\n });\n return Component;\n}\n\n/* eslint-disable no-use-before-define, react/no-multi-comp */\n\nvar _createLoadable =\n/*#__PURE__*/\ncreateLoadable({\n resolve: resolveComponent,\n render: function render(_ref) {\n var Component = _ref.result,\n props = _ref.props;\n return React.createElement(Component, props);\n }\n}),\n loadable = _createLoadable.loadable,\n lazy = _createLoadable.lazy;\n\n/* eslint-disable no-use-before-define, react/no-multi-comp */\n\nvar _createLoadable$1 =\n/*#__PURE__*/\ncreateLoadable({\n onLoad: function onLoad(result, props) {\n if (result && props.forwardedRef) {\n if (typeof props.forwardedRef === 'function') {\n props.forwardedRef(result);\n } else {\n props.forwardedRef.current = result;\n }\n }\n },\n render: function render(_ref) {\n var result = _ref.result,\n loading = _ref.loading,\n props = _ref.props;\n\n if (!loading && props.children) {\n return props.children(result);\n }\n\n return null;\n }\n}),\n loadable$1 = _createLoadable$1.loadable,\n lazy$1 = _createLoadable$1.lazy;\n\n/* eslint-disable no-underscore-dangle, camelcase */\nvar BROWSER = typeof window !== 'undefined';\nfunction loadableReady(done, _temp) {\n if (done === void 0) {\n done = function done() {};\n }\n\n var _ref = _temp === void 0 ? {} : _temp,\n _ref$namespace = _ref.namespace,\n namespace = _ref$namespace === void 0 ? '' : _ref$namespace;\n\n if (!BROWSER) {\n warn('`loadableReady()` must be called in browser only');\n done();\n return Promise.resolve();\n }\n\n var requiredChunks = null;\n\n if (BROWSER) {\n var dataElement = document.getElementById(getRequiredChunkKey(namespace));\n\n if (dataElement) {\n requiredChunks = JSON.parse(dataElement.textContent);\n }\n }\n\n if (!requiredChunks) {\n warn('`loadableReady()` requires state, please use `getScriptTags` or `getScriptElements` server-side');\n done();\n return Promise.resolve();\n }\n\n var resolved = false;\n return new Promise(function (resolve) {\n window.__LOADABLE_LOADED_CHUNKS__ = window.__LOADABLE_LOADED_CHUNKS__ || [];\n var loadedChunks = window.__LOADABLE_LOADED_CHUNKS__;\n var originalPush = loadedChunks.push.bind(loadedChunks);\n\n function checkReadyState() {\n if (requiredChunks.every(function (chunk) {\n return loadedChunks.some(function (_ref2) {\n var chunks = _ref2[0];\n return chunks.indexOf(chunk) > -1;\n });\n })) {\n if (!resolved) {\n resolved = true;\n resolve();\n done();\n }\n }\n }\n\n loadedChunks.push = function () {\n originalPush.apply(void 0, arguments);\n checkReadyState();\n };\n\n checkReadyState();\n });\n}\n\n/* eslint-disable no-underscore-dangle */\nvar loadable$2 = loadable;\nloadable$2.lib = loadable$1;\nvar lazy$2 = lazy;\nlazy$2.lib = lazy$1;\nvar __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = sharedInternals;\n\nexport default loadable$2;\nexport { __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, lazy$2 as lazy, loadableReady };\n","import * as React from 'react';\r\n\r\nexport {default as loadable} from '@loadable/component';\r\n\r\nimport {Loading} from '@common/react/components/UI/Loading/Loading';\r\n\r\nfunction delay(ms) {\r\n\treturn new Promise(resolve => setTimeout(resolve, ms));\r\n}\r\n\r\nexport const loadableDelay = (promise) => {\r\n\tif (typeof window === 'undefined') return promise;\r\n\r\n\tlet promiseErr;\r\n\r\n\t// tslint:disable-next-line:no-parameter-reassignment\r\n\tpromise = promise.catch(err => promiseErr = err);\r\n\r\n\treturn Promise.all([promise, delay(200)]).then(val => promiseErr ? Promise.reject(promiseErr) : val[0]);\r\n};\r\n\r\nexport const params = {\r\n\tfallback: \r\n};","export interface RecordControls {\r\n\tstart: () => void;\r\n\tstop: () => Promise;\r\n}\r\n\r\nexport interface RecordResult {\r\n\tblob: Blob;\r\n\turl: string;\r\n}\r\n\r\ntype RecordType = 'audio/mp3' | 'video/webm';\r\n\r\nexport const record = (stream: MediaStream, type: RecordType) => (new Promise(async (resolve) => {\r\n\tconst mediaRecorder = new MediaRecorder(stream);\r\n\tlet audioChunks: Blob[] = [];\r\n\r\n\tmediaRecorder.addEventListener('dataavailable', (event) => {\r\n\t\taudioChunks.push(event.data);\r\n\t});\r\n\t\r\n\tconst start = () => mediaRecorder.start();\r\n\t\r\n\tconst stop = () => (new Promise((resolveStop) => {\r\n\t\tmediaRecorder.addEventListener('stop', () => {\r\n\t\t\tconst blob = new Blob(audioChunks, {type});\r\n\t\t\tconst url = URL.createObjectURL(blob);\r\n\t\t\tresolveStop({blob, url});\r\n\t\t});\r\n\r\n\t\taudioChunks = [];\r\n\t\tmediaRecorder.stop();\r\n\t}));\r\n\t\r\n\tresolve({start, stop});\r\n}));","import React from 'react';\r\n\r\nimport Button from 'antd/lib/button';\r\n\r\nimport {record, RecordControls, RecordResult} from '@common/react/utils/record-audio';\r\n\r\nconst wrapperStyle: React.CSSProperties = {\r\n\tposition: 'fixed',\r\n\ttop: '50%',\r\n\tleft: '50%',\r\n\ttransform: 'translate(-50%, -50%)',\r\n\tzIndex: 30,\r\n\tbackgroundColor: 'white',\r\n\tminWidth: '100px',\r\n\tminHeight: '100px',\r\n\tborderRadius: '50%',\r\n\tboxShadow: '0 0 25px 5px rgba(0, 0, 0, 0.2)',\r\n\toverflow: 'hidden',\r\n};\r\n\r\ninterface VideoMessageButtonProps {\r\n\tbutton?: (onClick, isRecording) => JSX.Element;\r\n\tsetRecordResult: (value: RecordResult | undefined) => void;\r\n\tonStop?: (value: RecordResult | undefined) => void;\r\n\tclassName?: string;\r\n\tshape?: 'circle' | 'default' | 'round';\r\n\tdisabled?: boolean;\r\n}\r\n\r\n// TODO: Refactor\r\nconst VideoMessageRecorder: React.FC = ({button, setRecordResult, onStop, ...rest}) => {\r\n\tconst {className = 'btn-primary', shape = 'default'} = rest;\r\n\tconst [isRecording, setIsRecording] = React.useState(false);\r\n\tconst [mediaStream, setMediaStream] = React.useState();\r\n\tconst [controls, setControls] = React.useState();\r\n\r\n\tconst videoRef = React.useRef(null);\r\n\r\n\tReact.useEffect(() => {\r\n\t\tif (videoRef.current && mediaStream) {\r\n\t\t\tvideoRef.current.srcObject = mediaStream;\r\n\t\t}\r\n\t}, [mediaStream]);\r\n\r\n\tconst handleClick: React.MouseEventHandler = (e) => {\r\n\t\te.preventDefault();\r\n\r\n\t\tif (!isRecording) {\r\n\t\t\tstartRecordVideo();\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tstopRecordVideo();\r\n\t};\r\n\r\n\tconst startRecordVideo = () => {\r\n\t\tconst getMediaStream = async () => {\r\n\t\t\tconst stream = await navigator.mediaDevices.getUserMedia({video: true, audio: true});\r\n\t\t\tsetMediaStream(stream);\r\n\t\t\treturn stream;\r\n\t\t};\r\n\r\n\t\tconst getRecordControls = async () => {\r\n\t\t\tconst stream = await getMediaStream();\r\n\t\t\tconst controls = await record(stream, 'video/webm');\r\n\t\t\tsetControls(controls);\r\n\t\t\treturn controls;\r\n\t\t};\r\n\r\n\t\tgetRecordControls()\r\n\t\t\t.then((controls) => {\r\n\t\t\t\tcontrols.start();\r\n\t\t\t\tsetIsRecording(true);\r\n\t\t\t})\r\n\t\t\t.catch(console.error);\r\n\t};\r\n\r\n\tconst stopRecordVideo = () => {\r\n\t\tconsole.log('stopped recording enter');\r\n\t\tif (!controls) return;\r\n\t\tconsole.log('stopped recording');\r\n\t\t\r\n\t\tcontrols.stop()\r\n\t\t\t.then((result) => {\r\n\t\t\t\tmediaStream?.getTracks().forEach(track => track.stop());\r\n\t\t\t\tsetIsRecording(false);\r\n\t\t\t\tsetRecordResult(result);\r\n\t\t\t\tonStop && onStop(result);\r\n\t\t\t})\r\n\t\t\t.catch(console.error);\r\n\t\tsetMediaStream(undefined);\r\n\t\tsetControls(undefined);\r\n\t};\r\n\r\n\treturn (\r\n\t\t<>\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t{\r\n\t\t\t\tbutton ?\r\n\t\t\t\t\tbutton(handleClick, isRecording) :\r\n\t\t\t\t\t : }\r\n\t\t\t\t\t\tonClick={isRecording ? stopRecordVideo : startRecordVideo}\r\n\t\t\t\t\t/>\r\n\t\t\t}\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default VideoMessageRecorder;","import React from 'react';\r\n\r\nimport Button from 'antd/lib/button';\r\n\r\nimport {RecordResult} from '@common/react/utils/record-audio';\r\n\r\nconst wrapperStyle: React.CSSProperties = {\r\n\tposition: 'fixed',\r\n\ttop: '50%',\r\n\tleft: '50%',\r\n\ttransform: 'translate(-50%, -50%)',\r\n\tzIndex: 30,\r\n\tbackgroundColor: 'white',\r\n\tminWidth: '100px',\r\n\tminHeight: '100px',\r\n\tborderRadius: '50%',\r\n\tboxShadow: '0 0 25px 5px rgba(0, 0, 0, 0.2)',\r\n\toverflow: 'hidden',\r\n};\r\n\r\nconst videoStyle: React.CSSProperties = {\r\n\twidth: '500px',\r\n\theight: '500px',\r\n\ttransform: 'scale(1.8)',\r\n};\r\n\r\ninterface VideoMessagePreviewProps {\r\n\trecordResult: RecordResult;\r\n\tsetRecordResult: (a: RecordResult | undefined) => void;\r\n\tonReset?: () => void;\r\n\tclassName?: string;\r\n\tshape?: 'circle' | 'default' | 'round';\r\n\tbuttonStyle?: React.CSSProperties;\r\n\tcontainerClassName?: string;\r\n\twidth?: number;\r\n\twaveColor?: string;\r\n\tprogressColor?: string;\r\n}\r\n\r\nconst VideoMessagePreview: React.FC = ({recordResult, setRecordResult, onReset, ...rest}) => {\r\n\tconst {className = 'btn-primary', shape = 'default', buttonStyle} = rest;\r\n\tconst [isPlaying, setIsPlaying] = React.useState(false);\r\n\t\r\n\tconst videoRef = React.useRef(null);\r\n\tconst wavesurferContainer = React.useRef(null);\r\n\tconst wavesurfer = React.useRef();\r\n\r\n\tReact.useEffect(() => {\r\n\t\timportWavesurfer()\r\n\t\t\t.then(wavesurfer => initializeWavesurfer(wavesurfer.default))\r\n\t\t\t.catch(console.warn);\r\n\t}, []);\r\n\r\n\tconst importWavesurfer = async () => {\r\n\t\t// @ts-ignore\r\n\t\treturn await import('wavesurfer.js');\r\n\t};\r\n\r\n\tconst initializeWavesurfer = (wavesurferBundle) => {\r\n\t\tif (!wavesurferContainer.current) return;\r\n\r\n\t\twavesurfer.current = wavesurferBundle.create({\r\n\t\t\tcontainer: wavesurferContainer.current,\r\n\t\t\twaveColor: rest.waveColor ?? '#58a0e8',\r\n\t\t\tprogressColor: rest.progressColor ?? '#cacaca',\r\n\t\t\tbarWidth: 2,\r\n\t\t\tbarHeight: 2,\r\n\t\t\tbarMinHeight: 2,\r\n\t\t\theight: 40,\r\n\t\t\tcursorColor: 'transparent',\r\n\t\t\tbackend: 'MediaElement'\r\n\t\t});\r\n\r\n\t\twavesurfer.current?.load(videoRef.current);\r\n\t};\r\n\r\n\tconst reset = () => {\r\n\t\tsetRecordResult(undefined);\r\n\t\t\r\n\t\tonReset && onReset();\r\n\t};\r\n\t\r\n\tconst play = () => {\r\n\t\tif (!videoRef.current) return;\r\n\t\t\r\n\t\tvideoRef.current.play()\r\n\t\t\t.then(() => {\r\n\t\t\t\tsetIsPlaying(true);\r\n\t\t\t})\r\n\t\t\t.catch(console.warn);\r\n\t};\r\n\t\r\n\tconst stop = () => {\r\n\t\tif (!videoRef.current) return;\r\n\t\t\r\n\t\tvideoRef.current.pause();\r\n\t\tvideoRef.current.currentTime = 0;\r\n\t};\r\n\t\r\n\tconst handlePlayClick: React.MouseEventHandler = (e) => {\r\n\t\te.preventDefault();\r\n\t\t\r\n\t\tif (!isPlaying) {\r\n\t\t\tplay();\r\n\t\t} else {\r\n\t\t\tstop();\r\n\t\t}\r\n\t};\r\n\t\r\n\tconst handleResetClick: React.MouseEventHandler = (e) => {\r\n\t\te.preventDefault();\r\n\t\t\r\n\t\treset();\r\n\t};\r\n\t\r\n\tconst handlePlay = () => {\r\n\t\tsetIsPlaying(true);\r\n\t};\r\n\t\r\n\tconst handlePause = () => {\r\n\t\tsetIsPlaying(false);\r\n\t};\r\n\t\r\n\tconst handleEnd = () => {\r\n\t\tstop();\r\n\t};\r\n\t\r\n\treturn (\r\n\t\t
\r\n\t\t\t
: ;\r\n\r\n};\r\n\r\nexport default VoiceMessageRecorder;","import React from 'react';\r\n\r\nimport Popover from 'antd/lib/popover';\r\nimport {Picker} from 'emoji-mart'; // emoji-mart version 3.0.0\r\nimport 'emoji-mart/css/emoji-mart.css';\r\n\r\ninterface Props {\r\n\tonSelect: (emoji) => void; \r\n\tclassName?: string;\r\n\ttriggerNode?: React.ReactNode;\r\n}\r\n\r\nconst EmojiComponent: React.FC = (props) => {\r\n\tconst {className = 'chat-message-item', onSelect} = props;\r\n\tconst {triggerNode = } = props;\r\n\treturn (\r\n\t\t !emoji.unified.includes('-') && emoji.added_in === '2.0'}\r\n\t\t\t\t\tonSelect={onSelect}\r\n\t\t\t\t/>\r\n\t\t\t}\r\n\t\t>\r\n\t\t\t{triggerNode}\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default EmojiComponent;\r\n","import React from 'react';\r\nimport { shallowEqual, useSelector } from 'react-redux';\r\n\r\nimport { Notification } from '@common/typescript/objects/Notification';\r\nimport { BaseUser } from '@common/typescript/objects/BaseUser';\r\nimport { Chat} from '@common/react/objects/Chat';\r\nimport { BaseApplicationState } from '@common/react/store';\r\nimport { subscribe } from '@common/react/utils/SignalRUtils/SignalRUtils';\r\n\r\nimport '@common/react/scss/components/typingComponent.scss';\r\nimport { useChatSettingsProviderContext } from '@common/react/components/Chat/ChatSettingsProvider';\r\n\r\ninterface Props {\r\n\tchat: Chat;\r\n\trender: (contacts) => React.ReactNode;\r\n\tdelay?: number;\r\n}\r\n\r\ninterface ContactTyping {\r\n\tuserId: number;\r\n\ttimer: any;\r\n}\r\n\r\nconst TypingComponent: React.FC = ({chat, delay = 5000, render}) => {\r\n\tconst [contactIds, setContacts] = React.useState([]);\r\n\tconst contactsTyping = React.useRef([]);\r\n\tconst user = useSelector((state: BaseApplicationState) => state.login.user, shallowEqual);\r\n\r\n\tconst context = useChatSettingsProviderContext();\r\n\r\n\tif (!context?.state) throw 'need ChatSettingsContext';\r\n\r\n\tconst {state: {notificationTypes}} = context;\r\n\r\n\tconst handleNotification = React.useCallback((notification: Notification) => {\r\n\t\tif (!user) return;\r\n\t\tswitch (notification.objectType) {\r\n\t\t\tcase notificationTypes.typing:\r\n\t\t\t\tconst data = notification.data;\r\n\t\t\t\tconst userId = data.user;\r\n\t\t\t\tif (user.id === userId || chat.id !== data.chatId) return;\r\n\r\n\t\t\t\tconst item = contactsTyping.current.find(item => item.userId === userId);\r\n\t\t\t\tconst newItem = item ? item : {userId, timer: undefined};\r\n\t\t\t\tif (!item) {\r\n\t\t\t\t\tcontactsTyping.current.push(newItem);\r\n\t\t\t\t\tsetContacts(contactsTyping.current.map(item => item.userId));\r\n\t\t\t\t}\r\n\r\n\t\t\t\tnewItem.timer && clearTimeout(newItem.timer);\r\n\r\n\t\t\t\tnewItem.timer = setTimeout(() => {\r\n\t\t\t\t\tcontactsTyping.current = contactsTyping.current.filter(item => item.userId !== userId);\r\n\t\t\t\t\tsetContacts(contactsTyping.current.map(item => item.userId));\r\n\t\t\t\t}, delay);\r\n\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t}, [user?.id, chat?.id]);\r\n\r\n\tReact.useEffect(subscribe(handleNotification));\r\n\r\n\tReact.useEffect(() => {\r\n\t\tcontactsTyping.current.forEach(item => item.timer && clearTimeout(item.timer));\r\n\t\tcontactsTyping.current = [];\r\n\t\tsetContacts([]);\r\n\t}, [user?.id, chat?.id]);\r\n\r\n\tconst contacts = React.useMemo(() => {\r\n\t\tif (!contactIds.length) return [];\r\n\r\n\t\treturn chat.contacts.filter(contact => contactIds.find(id => contact.id === id));\r\n\t}, [contactIds, chat?.id, chat?.contacts?.length]);\r\n\r\n\treturn <>\r\n\t\t{render(contacts)}\r\n\t;\r\n};\r\n\r\nexport default TypingComponent;\r\n","import React from 'react';\r\n\r\nimport Mentions, { MentionProps } from 'antd/lib/mentions';\r\n\r\nimport { Chat } from '@common/react/objects/Chat';\r\n\r\nimport '@common/react/scss/components/typingComponent.scss';\r\nimport { request } from '@common/react/components/Api';\r\nimport {\r\n\tChatComponents,\r\n\tChatFormComponentsDictionary,\r\n\tuseChatSettingsProviderContext\r\n} from '@common/react/components/Chat/ChatSettingsProvider';\r\n\r\nexport interface CustomMentionProps extends MentionProps {\r\n\tchat: Chat;\r\n\tprefix?: string;\r\n}\r\n\r\nconst MentionsWithTyping: React.FC = ({chat, prefix = '', ...props}) => {\r\n\tconst lastTyping = React.useRef();\r\n\tconst context = useChatSettingsProviderContext();\r\n\r\n\tif (!context?.state) throw 'need ChatSettingsContext';\r\n\r\n\tconst {state: {otherComponents, requests, typingDelay: delay}} = context;\r\n\r\n\tconst render = React.useCallback((contacts) => {\r\n\t\tconst res = contacts.map(contact => `${contact.firstName} ${contact.lastName}`).join(', ');\r\n\r\n\t\treturn
\r\n\t\t\t{!!contacts.length &&
\r\n\t\t\t\t{`${res} ${contacts.length > 1 ? ' are typing' : ' is typing'}`}\r\n\t\t\t
}\r\n\t\t
;\r\n\t}, []);\r\n\r\n\tconst keyDownHandler = React.useCallback((e: React.KeyboardEvent) => {\r\n\t\tconst k = e.which;\r\n\r\n\t\tif (48 <= k && k <= 90 && chat) {\r\n\t\t\tconst typingDate = Date.now();\r\n\t\t\tif ((!lastTyping.current || (typingDate - lastTyping.current > delay))) {\r\n\t\t\t\tlastTyping.current = typingDate;\r\n\r\n\t\t\t\trequest(requests.typing, {chatId: chat.id})\r\n\t\t\t\t\t.then((result) => {\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.catch(console.log);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tprops.onKeyDown && props.onKeyDown(e);\r\n\t}, [props.onKeyDown]);\r\n\r\n\tconst typingComponent = otherComponents.includes(ChatComponents.Typing) ?\r\n\t\tChatFormComponentsDictionary[ChatComponents.Typing]({chat, render, delay}) : undefined;\r\n\r\n\treturn <>\r\n\t\t\r\n\t\t{typingComponent}\r\n\t;\r\n};\r\n\r\nexport default MentionsWithTyping;\r\n","import React from 'react';\r\n\r\nenum VideoMessageLoadStatus {\r\n\tIdle,\r\n\tLoading,\r\n\tLoaded,\r\n\tError\r\n}\r\n\r\ninterface VideoMessagePlayerProps {\r\n\tvideoMessageUrl: string;\r\n}\r\n\r\ninterface VideoMessagePlayerState {\r\n\tmaximized: boolean;\r\n\tisPlaying: boolean;\r\n\tshowIcon: boolean;\r\n\tstatus: VideoMessageLoadStatus;\r\n}\r\n\r\nconst playIconStyle: React.CSSProperties = {\r\n\tposition: 'absolute',\r\n\ttop: '50%',\r\n\tleft: '50%',\r\n\ttransform: 'translate(-50%, -50%)',\r\n\tfontSize: '4rem',\r\n\tzIndex: 5,\r\n\tcolor: 'rgba(255, 255, 255, 0.5)',\r\n};\r\n\r\nconst wrapperStyle: React.CSSProperties = {\r\n\tposition: 'relative',\r\n\twidth: '100px',\r\n\theight: '100px',\r\n\toverflow: 'hidden',\r\n\tborderRadius: '50%',\r\n};\r\n\r\nconst videoStyle: React.CSSProperties = {\r\n\twidth: '100px',\r\n\theight: '100px',\r\n\ttransform: 'scale(1.8)'\r\n};\r\n\r\nconst wrapperStyleMaximized: React.CSSProperties = {\r\n\tposition: 'relative',\r\n\twidth: '200px',\r\n\theight: '200px',\r\n\toverflow: 'hidden',\r\n\tborderRadius: '50%'\r\n};\r\n\r\nconst videoStyleMaximized: React.CSSProperties = {\r\n\twidth: '200px',\r\n\theight: '200px',\r\n\ttransform: 'scale(1.8)'\r\n};\r\n\r\nconst errorStyle: React.CSSProperties = {\r\n\tdisplay: 'flex',\r\n\tflexDirection: 'column',\r\n\tjustifyContent: 'center',\r\n\talignItems: 'center',\r\n\twidth: '100px',\r\n\theight: '100px',\r\n\tborderRadius: '50%',\r\n\tbackgroundColor: 'black',\r\n\tcursor: 'default',\r\n};\r\n\r\nconst VideoMessagePlayer: React.FC = ({videoMessageUrl}) => {\r\n\tconst [state, setState] = React.useState({\r\n\t\tmaximized: false, \r\n\t\tisPlaying: false, \r\n\t\tshowIcon: false, \r\n\t\tstatus: VideoMessageLoadStatus.Idle\r\n\t});\r\n\r\n\tconst videoRef = React.useRef(null);\r\n\r\n\tconst setMaximized = (maximized: boolean) => {\r\n\t\tsetState({...state, maximized});\r\n\t};\r\n\r\n\tconst setIsPlaying = (isPlaying: boolean) => {\r\n\t\tsetState({...state, isPlaying});\r\n\t};\r\n\t\r\n\tconst load = () => {\r\n\t\tif (!videoRef.current) return;\r\n\t\tvideoRef.current.load();\r\n\t\tsetState(state => ({...state, status: VideoMessageLoadStatus.Loading}));\r\n\t};\r\n\r\n\tconst replay = () => {\r\n\t\tif (!videoRef.current) return;\r\n\t\tvideoRef.current.pause();\r\n\t\tvideoRef.current.currentTime = 0;\r\n\t\tvideoRef.current.play()\r\n\t\t\t.catch(console.warn);\r\n\t};\r\n\r\n\tconst stop = () => {\r\n\t\tif (!videoRef.current) return;\r\n\r\n\t\tvideoRef.current.pause();\r\n\t\tvideoRef.current.currentTime = 0;\r\n\t};\r\n\r\n\tconst handlePlay = () => {\r\n\t\tsetState(state => ({...state, isPlaying: true, showIcon: false}));\r\n\t};\r\n\r\n\tconst handlePause = () => {\r\n\t\tsetIsPlaying(false);\r\n\t};\r\n\r\n\tconst handleEnded = () => {\r\n\t\tif (state.maximized) {\r\n\t\t\tsetMaximized(false);\r\n\t\t\tstop();\r\n\t\t} else {\r\n\t\t\tsetIsPlaying(false);\r\n\t\t\treplay();\r\n\t\t}\r\n\t};\r\n\r\n\tconst handleMouseEnter = () => {\r\n\t\tif (state.isPlaying) return;\r\n\t\t\r\n\t\tsetState(state => ({...state, showIcon: true}));\r\n\t};\r\n\r\n\tconst handleMouseLeave = () => {\r\n\t\tif (state.isPlaying) return;\r\n\t\t\r\n\t\tsetState(state => ({...state, showIcon: false}));\r\n\t};\r\n\r\n\tconst handleClick = (e) => {\r\n\t\te.preventDefault();\r\n\r\n\t\tif (!state.maximized) {\r\n\t\t\tif (state.status === VideoMessageLoadStatus.Idle) {\r\n\t\t\t\tload();\r\n\t\t\t}\r\n\t\t\tsetMaximized(true);\r\n\t\t\treplay();\r\n\t\t} else {\r\n\t\t\tsetMaximized(false);\r\n\t\t\tstop();\r\n\t\t}\r\n\t};\r\n\t\r\n\tconst handleLoadedData: React.ReactEventHandler = (e) => {\r\n\t\tsetState(state => ({...state, status: VideoMessageLoadStatus.Loaded}));\r\n\t};\r\n\t\r\n\tconst handleError: React.ReactEventHandler = (e) => {\r\n\t\t// Message.error('Could not load video message');\r\n\t\tconsole.error(`Video message source link: ${videoMessageUrl}`, videoRef.current?.error);\r\n\t\tsetState(state => ({...state, status: VideoMessageLoadStatus.Error}));\r\n\t};\r\n\t\r\n\tif (state.status === VideoMessageLoadStatus.Error) {\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\tFailed to load video\r\n\t\t\t
\r\n\t\t);\r\n\t}\r\n\r\n\treturn (\r\n\t\tstate.status === VideoMessageLoadStatus.Loading ?\r\n\t\t\t
Loading
:\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t);\r\n};\r\n\r\nexport default VideoMessagePlayer;","import React from 'react';\r\n\r\nimport VoiceMessagePlayer from '@common/react/components/UI/VoiceMessage/VoiceMessagePlayer';\r\n\r\ninterface VoiceMessageChatPlayerProps {\r\n\tvoiceMessageUrl?: string;\r\n\tonPlayed?: () => void;\r\n}\r\n\r\nconst VoiceMessageChatPlayer: React.FC = ({voiceMessageUrl, onPlayed}) => {\r\n\treturn voiceMessageUrl ? :
VOICE MESSAGE URL UNDEFINED
;\r\n};\r\n\r\nexport default VoiceMessageChatPlayer;","import React from 'react';\r\n\r\nimport VideoMessagePlayer from '@common/react/components/UI/VideoMessage/VideoMessagePlayer';\r\n\r\ninterface VideoMessageChatPlayerProps {\r\n\tvideoMessageUrl?: string;\r\n}\r\n\r\nconst VideoMessageChatPlayer: React.FC = ({videoMessageUrl}) => {\r\n\treturn videoMessageUrl ? :
VIDEO MESSAGE URL IS UNDEFINED
;\r\n};\r\n\r\nexport default VideoMessageChatPlayer;","import * as React from 'react';\r\n\r\nimport Modal from 'antd/lib/modal';\r\n\r\nimport Loading from '@common/react/components/Core/LoadingProvider/Loader';\r\nimport {imageSize} from '@common/react/utils/utils';\r\nimport {IWithFile} from '@common/typescript/objects/WithFile';\r\nimport {FileInterface} from '@common/typescript/objects/FileInterface';\r\nimport '@common/react/scss/components/colorbox.scss';\r\n\r\ninterface ComponentProps {\r\n\tfiles: IWithFile[] | { file: { src: string } }[];\r\n\tdefaultIdx: number | null;\r\n\tonCancel: () => void;\r\n\timageSizeName?: string;\r\n\twidth?: string;\r\n\tclassName?: string;\r\n}\r\n\r\nconst Colorbox: React.FC = (props) => {\r\n\tconst {files, defaultIdx, onCancel, imageSizeName, width = '80vw', className = ''} = props;\r\n\tconst [currentIdx, setCurrentIdx] = React.useState(null);\r\n\tconst [file, setFile] = React.useState();\r\n\r\n\tReact.useEffect(() => {\r\n\t\tconst buttonClick = (e) => {\r\n\t\t\tif (e.code === 'ArrowLeft') {\r\n\t\t\t\thandleLeftClick();\r\n\t\t\t} else if (e.code === 'ArrowRight') {\r\n\t\t\t\thandleRightClick();\r\n\t\t\t}\r\n\t\t};\r\n\t\tdocument.addEventListener('keydown', buttonClick );\r\n\r\n\t\treturn () => {\r\n\t\t\tdocument.removeEventListener('keydown', buttonClick );\r\n\t\t};\r\n\t});\r\n\r\n\tReact.useEffect(() => {\r\n\t\tsetCurrentIdx(defaultIdx);\r\n\t\tif (defaultIdx !== null) {\r\n\t\t\tsetFile(files[defaultIdx].file);\r\n\t\t}\r\n\t}, [defaultIdx]);\r\n\r\n\tconst updateState = (index: number) => {\r\n\t\tsetCurrentIdx(index);\r\n\t\tsetFile(files[index].file);\r\n\t};\r\n\r\n\tconst handleLeftClick = () => {\r\n\t\tif (currentIdx === null) return;\r\n\t\tconst nextIndex = currentIdx === 0 ? files.length - 1 : currentIdx - 1;\r\n\t\tupdateState(nextIndex);\r\n\t};\r\n\r\n\tconst handleRightClick = () => {\r\n\t\tif (currentIdx === null) return;\r\n\t\tconst nextIndex = currentIdx === files.length - 1 ? 0 : currentIdx + 1;\r\n\t\tupdateState(nextIndex);\r\n\t};\r\n\r\n\treturn {currentIdx ? currentIdx + 1 : 1} of {files.length},\r\n\t\t\t,\r\n\t\t\t,\r\n\t\t]}\r\n\t>\r\n\t\t{currentIdx !== null && file ?\r\n\t\t\t\r\n\t\t\t: \r\n\t\t}\r\n\t;\r\n};\r\n\r\nexport default Colorbox;\r\n","import React from 'react';\r\n\r\nimport {getChatMessageMarkup, transformLinks, transformMentionMessage} from '@common/react/components/Chat/ChatUtils';\r\nimport {getFilesLayout} from '@common/react/components/Chat/ChatMessageList';\r\nimport {ChatComponents, ChatMessageListComponentsDictionary} from '@common/react/components/Chat/ChatSettingsProvider';\r\nimport {ChatMessage} from '@common/react/objects/Chat';\r\nimport {processLink} from '@common/react/components/UI/LinkPreview/LinkPreview';\r\n\r\ninterface RegularChatMessage {\r\n\tmessage: ChatMessage;\r\n\tonImageClick?: any;\r\n\tcontacts: any[];\r\n}\r\n\r\nconst RegularChatMessage: React.FC = ({message, onImageClick, contacts}) => {\r\n\tconst [previewMatches, setPreviewMatches] = React.useState([]);\r\n\t\r\n\tReact.useEffect(() => {\r\n\t\thandleLinkProcess();\r\n\t}, [message, message.text]);\r\n\t\r\n\tconst handleLinkProcess = React.useCallback(() => {\r\n\t\tconst processResult = processLink(message.text);\r\n\t\tsetPreviewMatches(processResult);\r\n\t}, [message, message.text]);\r\n\t\r\n\treturn (\r\n\t\t<>\r\n\t\t\t\r\n\t\t\t{previewMatches && ChatMessageListComponentsDictionary[ChatComponents.LinkPreviewGroup](previewMatches, `message-${message.id}`)}\r\n\t\t\t{message.files.length ? getFilesLayout(message.files, onImageClick) : null}\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default RegularChatMessage;","import React from 'react';\r\n\r\nimport {v4 as uuid} from 'uuid';\r\n\r\nimport LinkPreviewComponent from '@common/react/components/UI/LinkPreview/LinkPreview';\r\nimport {PreviewInfo} from '@common/react/objects/LinkPreview';\r\nimport useRequest from '@common/react/hooks/useRequest';\r\n\r\ninterface LinkPreviewGroupProps {\r\n\tlinkPreviewId: string;\r\n\tlinks: string[];\r\n\tclassName?: string;\r\n\tpreviewRequest?: (onSuccess?: (infos: PreviewInfo[]) => void, onError?: (err) => void) => void;\r\n\tonProcess?: () => void;\r\n\tonSuccess?: () => void;\r\n\tonError?: () => void;\r\n}\r\n\r\nconst LinkPreviewGroup: React.FC = ({linkPreviewId, links, className, previewRequest, onProcess, onSuccess, onError}) => {\r\n\tconst request = useRequest();\r\n\tconst [previewInfos, setPreviewInfos] = React.useState<{link: string, item?: PreviewInfo}[]>(() => \r\n\t\tlinks.map(link => ({link})));\r\n\t\r\n\tReact.useEffect(() => {\r\n\t\tif (links.length > 0) {\r\n\t\t\tgetLinkInfo(links);\r\n\t\t}\r\n\t}, [links]);\r\n\r\n\tconst getLinkInfo = React.useCallback((links: string[]) => {\r\n\t\tonProcess && onProcess();\r\n\t\tif (previewRequest) {\r\n\t\t\tpreviewRequest(handleSuccess, handleError);\r\n\t\t} else {\r\n\t\t\trequest('linkPreview', {linkPreviewId, links})\r\n\t\t\t\t.then(res => handleSuccess(res))\r\n\t\t\t\t.catch(handleError);\r\n\t\t}\r\n\t}, []);\r\n\r\n\tconst handleSuccess = React.useCallback((previewInfos: PreviewInfo[]) => {\r\n\t\tsetPreviewInfos(previewInfos.map(previewInfo => ({link: previewInfo.link, item: previewInfo})));\r\n\t\tonSuccess && onSuccess();\r\n\t}, []);\r\n\r\n\tconst handleError = React.useCallback((err) => {\r\n\t\tonError && onError();\r\n\t}, []);\r\n\t\r\n\treturn (\r\n\t\t
\r\n\t\t\t{\r\n\t\t\t\tpreviewInfos.map(item => \r\n\t\t\t\t\t)\r\n\t\t\t}\r\n\t\t
\r\n\t);\r\n};\r\n\r\nexport default LinkPreviewGroup;","import * as React from 'react';\r\n\r\nimport once from 'lodash/once';\r\nimport {FormikProps} from 'formik';\r\nimport PaperClipOutlined from '@ant-design/icons/PaperClipOutlined';\r\nimport message from 'antd/lib/message';\r\nimport Tag from 'antd/lib/tag';\r\nimport Button from 'antd/lib/button';\r\n\r\nimport {Chat, ChatMessage, ChatMessageType} from '@common/react/objects/Chat';\r\nimport {ButtonsProps, ChatFormComponentState, NewMessage} from '@common/react/components/Chat/ChatMessageForm';\r\nimport VideoMessageInput from '@common/react/components/UI/VideoMessage/VideoMessageInput';\r\nimport VoiceMessageRecorder from '@common/react/components/UI/VoiceMessage/VoiceMessageRecorder';\r\nimport EmojiComponent from '@common/react/components/Chat/EmojiComponent';\r\nimport {FileType} from '@common/typescript/objects/FileInterface';\r\nimport File from '@common/react/components/Forms/Files/File';\r\nimport TypingComponent from '@common/react/components/Chat/TypingComponent';\r\nimport MentionsWithTyping, {CustomMentionProps} from '@common/react/components/Chat/MentionsWithTyping';\r\nimport VideoChatButton from '@common/react/components/UI/VideoChat/VideoChatButton';\r\nimport {getChatMessageMarkup, transformMentionMessage} from '@common/react/components/Chat/ChatUtils';\r\nimport {getFilesLayout} from '@common/react/components/Chat/ChatMessageList';\r\nimport VoiceMessageChatPlayer from '@common/react/components/UI/VoiceMessage/VoiceMessageChatPlayer';\r\nimport VideoMessageChatPlayer from '@common/react/components/UI/VideoMessage/VideoMessageChatPlayer';\r\nimport {getUserPick} from '@common/react/components/Chat/ChatListItem';\r\nimport {getAvatar} from '@common/react/components/Utils/Utils';\r\nimport * as ChatsState from '@common/react/store/Chats';\r\nimport {List} from '@common/typescript/objects/List';\r\nimport Colorbox from '@common/react/components/UI/Colorbox/Colorbox';\r\nimport SystemCallButton from '@common/react/components/UI/VideoChat/SystemCallButton';\r\n\r\nimport LinkPreviewComponent, {linkRegex} from '@common/react/components/UI/LinkPreview/LinkPreview';\r\nimport {LinkPreviewContentType} from '@common/react/objects/LinkPreview';\r\nimport { BaseParams } from '@common/react/objects/BaseParams';\r\nimport { phoneFormat } from '@common/react/components/Forms/FormikPhoneControl/FormikPhoneControl';\r\nimport { ChatListHeaderSettingsType } from '@common/react/components/Chat/ChatsListHeaderComponents';\r\nimport {\r\n\tChatMessagesHeaderSettingsType,\r\n\tChatNameType\r\n} from '@common/react/components/Chat/ChatMessagesHeaderComponents';\r\nimport RegularChatMessage from '@common/react/components/Chat/RegularChatMessage';\r\nimport LinkPreviewGroup from '@common/react/components/UI/LinkPreview/LinkPreviewGroup';\r\n\r\nexport interface ChatSettingsRequests {\r\n\tchat: string;\r\n\tchatUser: string;\r\n\tchatMessage: string;\r\n\tchatMessageAccess: string;\r\n\ttyping: string;\r\n\tcompleteChat?: string;\r\n\tremoveMessage?: string;\r\n\tupdateMessage?: string;\r\n}\r\n\r\nexport interface ChatSettingsNotificationTypes {\r\n\tchat: string;\r\n\tchatUser: string;\r\n\tchatMessage: string;\r\n\tchatMessageAccess: string;\r\n\ttyping: string;\r\n}\r\n\r\nexport interface ChatSettingsUserSettings {\r\n\tuseBrowserNotification: boolean;\r\n\tsound: boolean;\r\n}\r\n\r\nexport interface ChatSettingsAvatarSettings {\r\n\t// maybe better return components with special interface\r\n\tgetUserAvatar: (user: any) => React.ReactNode;\r\n\tgetChatAvatar: (chat: any, userId: number) => React.ReactNode;\r\n}\r\n\r\nexport interface ChatSettingsFormSettings {\r\n\tsendByEnter: boolean;\r\n\tunderFormLabel: string;\r\n\tallowPasteImages: boolean;\r\n\tmaxAttachmentsCount: number;\r\n\tmaxMessageLength: number;\r\n\twaveColor?: string;\r\n}\r\n\r\nexport enum ChatFormButtons {\r\n\tFile,\r\n\tEmoji,\r\n\tVoice,\r\n\tVideo\r\n}\r\n\r\ninterface ChatFormButtonsProps extends ButtonsProps {\r\n\tisEditMessage?: boolean;\r\n\twaveColor?: string;\r\n\tsetState: React.Dispatch>;\r\n}\r\n\r\nexport const ChatFormButtonsDictionary = {\r\n\t[ChatFormButtons.File]: (formikBag: FormikProps, props: ChatFormButtonsProps) => \r\n\t\t}\r\n\t\t\tasButton\r\n\t\t\tobjectId={-1}\r\n\t\t\ttype=\"chatMessage\"\r\n\t\t\tupdate={props.onUploadFile}\r\n\t\t\tonError={(err: any) => {\r\n\t\t\t\tmessage.error(typeof err === 'object' ? err.message : err);\r\n\t\t\t}}\r\n\t\t\tfileType={FileType.File}\r\n\t\t\tbuttonClassName=\"btn btn-sm btn-default chat-message-item\"\r\n\t\t\tshowError={false}\r\n\t\t/>\r\n\t,\r\n\t[ChatFormButtons.Emoji]: (formikBag: FormikProps, props: ChatFormButtonsProps) => \r\n\t\t formikBag.setFieldValue('text', formikBag.values.text.concat(emoji.native))}\r\n\t\t\ttriggerNode={\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t}\r\n\t\t/>\r\n\t,\r\n\t[ChatFormButtons.Voice]: (formikBag: FormikProps, props: ChatFormButtonsProps) => \r\n\t\t props.setState(prev => ({...prev, recordAudioResult}))}\r\n\t\t\tonChange={(value) => {\r\n\t\t\t\tprops.setState(prev => ({...prev, recordVideoResult: undefined}));\r\n\r\n\t\t\t\tif (!value) {\r\n\t\t\t\t\tformikBag.setFieldValue('bytes', []);\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvalue?.blob.arrayBuffer()\r\n\t\t\t\t\t.then((buffer) => {\r\n\t\t\t\t\t\tconst byteArray = new Uint8Array(buffer);\r\n\t\t\t\t\t\tformikBag.setFieldValue('bytes', Array.from(byteArray));\r\n\t\t\t\t\t\tformikBag.setFieldValue('chatMessageType', ChatMessageType.VoiceMessage);\r\n\t\t\t\t\t});\r\n\t\t\t}}\r\n\t\t/>\r\n\t,\r\n\t[ChatFormButtons.Video]: (formikBag: FormikProps, props: ChatFormButtonsProps) => \r\n\t\t props.setState(prev => ({...prev, recordVideoResult}))}\r\n\t\t\tonStop={(value) => {\r\n\t\t\t\tprops.setState(prev => ({...prev, recordAudioResult: undefined}));\r\n\r\n\t\t\t\tif (!value) {\r\n\t\t\t\t\tformikBag.setFieldValue('bytes', []);\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tvalue?.blob.arrayBuffer()\r\n\t\t\t\t\t.then((buffer) => {\r\n\t\t\t\t\t\tconst byteArray = new Uint8Array(buffer);\r\n\t\t\t\t\t\tformikBag.setFieldValue('bytes', Array.from(byteArray));\r\n\t\t\t\t\t\tformikBag.setFieldValue('chatMessageType', ChatMessageType.VideoMessage);\r\n\t\t\t\t\t});\r\n\t\t\t}}\r\n\t\t\tonReset={() => {\r\n\t\t\t\tformikBag.setFieldValue('bytes', []);\r\n\t\t\t}}\r\n\t\t/>\r\n\t\r\n};\r\n\r\nexport enum ChatFormTag {\r\n\tVoice,\r\n\tVideo\r\n}\r\n\r\nexport const ChatFormTagDictionary = {\r\n\t[ChatFormTag.Voice]: (formikBag: FormikProps, {state, setState, waveColor}) =>\r\n\t\tstate.recordAudioResult && \r\n\t\t\t setState(prev => ({...prev, recordAudioResult}))}\r\n\t\t\t\tonChange={(value) => {\r\n\t\t\t\t\tsetState(prev => ({...prev, recordVideoResult: undefined}));\r\n\r\n\t\t\t\t\tif (!value) {\r\n\t\t\t\t\t\tformikBag.setFieldValue('bytes', []);\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tvalue?.blob.arrayBuffer()\r\n\t\t\t\t\t\t.then((buffer) => {\r\n\t\t\t\t\t\t\tconst byteArray = new Uint8Array(buffer);\r\n\t\t\t\t\t\t\tformikBag.setFieldValue('bytes', Array.from(byteArray));\r\n\t\t\t\t\t\t\tformikBag.setFieldValue('chatMessageType', ChatMessageType.VoiceMessage);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t}}\r\n\t\t\t/>\r\n\t\t,\r\n\t[ChatFormTag.Video]: (formikBag: FormikProps, {state, setState, waveColor}) => state.recordVideoResult &&\r\n\t\t\r\n\t\t\t setState(prev => ({...prev, recordVideoResult}))}\r\n\t\t\t\tonStop={(value) => {\r\n\t\t\t\t\tsetState(prev => ({...prev, recordAudioResult: undefined}));\r\n\r\n\t\t\t\t\tif (!value) {\r\n\t\t\t\t\t\tformikBag.setFieldValue('bytes', []);\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tvalue?.blob.arrayBuffer()\r\n\t\t\t\t\t\t.then((buffer) => {\r\n\t\t\t\t\t\t\tconst byteArray = new Uint8Array(buffer);\r\n\t\t\t\t\t\t\tformikBag.setFieldValue('bytes', Array.from(byteArray));\r\n\t\t\t\t\t\t\tformikBag.setFieldValue('chatMessageType', ChatMessageType.VideoMessage);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t}}\r\n\t\t\t\tonReset={() => {\r\n\t\t\t\t\tformikBag.setFieldValue('bytes', []);\r\n\t\t\t\t}}\r\n\t\t\t/>\r\n\t\t\r\n};\r\n\r\ntype ChatFormButtonsWrappers = {\r\n\t[key in ChatFormButtons]?: (children) => React.ReactNode;\r\n};\r\n\r\ntype ChatFormButtonsComponents = ChatFormButtons | ((formikBag: FormikProps, props: ChatFormButtonsProps) => React.ReactNode);\r\n\r\nexport enum ChatHeaderButtons {\r\n\tVoice,\r\n\tVideo,\r\n\tMail\r\n}\r\n\r\nexport const ChatHeaderButtonsDictionary = {\r\n\t[ChatHeaderButtons.Voice]: ({currentChat, support}) => <>\r\n\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t/>\r\n\t,\r\n\t[ChatHeaderButtons.Video]: ({currentChat, support}) => \r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t}\r\n\t/>,\r\n\t[ChatHeaderButtons.Mail]: () => <>\r\n};\r\n\r\nexport enum ChatComponents {\r\n\tMentions,\r\n\tTyping,\r\n\tLinkPreview,\r\n\tLinkPreviewGroup,\r\n\tImageColorBox\r\n}\r\n\r\nexport const ChatFormComponentsDictionary = {\r\n\t[ChatComponents.Mentions]: (props: CustomMentionProps) => ,\r\n\t[ChatComponents.Typing]: ({chat, render, delay}) => \r\n};\r\n\r\nexport const ChatListComponentsDictionary = {\r\n\t[ChatComponents.Typing]: ({chat, delay}) => <>\r\n\t\t {\r\n\t\t\tconst res = contacts.map(contact => `${contact.firstName} ${contact.lastName}`).join(', ');\r\n\t\t\tconst text = `${res} ${contacts.length > 1 ? ' are typing' : ' is typing'}`;\r\n\r\n\t\t\treturn
\r\n\t\t\t\t{!!contacts.length &&
\r\n\t\t\t\t\t{text}\r\n\t\t\t\t
}\r\n\t\t\t
;\r\n\t\t}}/>\r\n\t\r\n};\r\n\r\nexport const ChatMessageListComponentsDictionary = {\r\n\t[ChatComponents.LinkPreview]: previewInfo => ,\r\n\t[ChatComponents.LinkPreviewGroup]: (links, linkPreviewId) => ,\r\n\t[ChatComponents.ImageColorBox]: ({defaultIdx, files, setImg}) =>\r\n\t\t setImg(undefined)}\r\n\t\t/>\r\n};\r\n\r\nexport const ChatMessageTypeDictionary = {\r\n\t[ChatMessageType.Regular]: ({message, contacts, onImageClick, withRemoteId}) =>\r\n\t\t,\r\n\t[ChatMessageType.Email]: ({message, withRemoteId}) =>
\r\n\t\t\r\n\t\t
\r\n\t\t\t{message.text}\r\n\t\t
\r\n\t
,\r\n\t[ChatMessageType.PhoneCall]: ({message, withRemoteId}) => \r\n\t\t\r\n\t\t\r\n\t\t\t{withRemoteId ? phoneFormat(message.text) : 'Operator called to your phone'}\r\n\t\t\r\n\t,\r\n\t[ChatMessageType.VideoChat]: ({message, withRemoteId, lastVideoCallId}) => <>\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t/>\r\n\t\t
\r\n\t\t
\r\n\t\t\t \r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t/>\r\n\t\t
\r\n\t,\r\n\t[ChatMessageType.VoiceMessage]: ({message, contacts, withRemoteId, onMouseEnter}) =>
\r\n\t\t f.file.name === 'voice_message.mp3') ?\r\n\t\t\t\t`${withRemoteId ? '/remote' : ''}/${message.files.find(f => f.file.name === 'voice_message.mp3')?.file.src}` : undefined}\r\n\t\t\tonPlayed={() => onMouseEnter && onMouseEnter(message)}\r\n\t\t/>\r\n\t\t
\r\n\t
,\r\n\t[ChatMessageType.VideoMessage]: ({message, contacts, withRemoteId, onMouseEnter}) =>
\r\n\t\t f.file.name === 'video_message.webm') ?\r\n\t\t\t\t`${withRemoteId ? '/remote' : ''}/${message.files.find(f => f.file.name === 'video_message.webm')?.file.src}` : undefined}\r\n\t\t/>\r\n\t\t
\r\n\t
\r\n};\r\n\r\nexport enum ChatMessageActions {\r\n\tEdit,\r\n\tRemove,\r\n\tReaction\r\n}\r\n\r\nexport const ChatMessageActionsDictionary = {\r\n\t[ChatMessageActions.Edit]: ({edit, message, isEdit, fromUser}) =>\r\n\t\tfromUser ? edit(isEdit ? null : message)}\r\n\t\t>\r\n\t\t\t{isEdit ? 'Cancel' : 'Edit'}\r\n\t\t : null,\r\n\t[ChatMessageActions.Remove]: ({remove, isEdit, message, update, fromUser}) =>\r\n\t\tfromUser && !isEdit ? \r\n\t\t\tRemove\r\n\t\t : null,\r\n};\r\n\r\nexport type ChatMessageActionsComponent = ChatMessageActions\r\n\t| (({remove, update, edit, isEdit, message, fromUser}) => React.ReactNode);\r\n\r\ntype ChatOtherComponents = ChatComponents | ((chat: Chat) => React.ReactNode);\r\n\r\nexport interface ChatSettingsChatPageSettings {\r\n\tpath: string;\r\n\tchatIdUrlKey: string;\r\n\tarchive: string;\r\n}\r\n\r\nexport interface ChatSettingsProviderProps {\r\n\tchildren: any;\r\n\trequests?: ChatSettingsRequests;\r\n\tnotificationTypes?: ChatSettingsNotificationTypes;\r\n\tuserSettings?: ChatSettingsUserSettings;\r\n\tavatarSettings?: ChatSettingsAvatarSettings;\r\n\tformSettings?: ChatSettingsFormSettings;\r\n\tformButtons?: ChatFormButtonsComponents[];\r\n\tformTags?: ChatFormTag[];\r\n\theaderButtons?: ChatHeaderButtons[];\r\n\tmessageTypes?: ChatMessageType[];\r\n\totherComponents?: ChatOtherComponents[];\r\n\tpageSettings?: ChatSettingsChatPageSettings;\r\n\tchatFormButtonsWrappers?: ChatFormButtonsWrappers;\r\n\tchatStoreSettings?: ChatStoreSettings;\r\n\ttitle?: string;\r\n\twithRemoteId?: boolean;\r\n\tchatsFilters?: BaseParams;\r\n\ttypingDelay?: number; // ms\r\n\tchatListHeaderSettings?: ChatListHeaderSettingsType;\r\n\trenderChatName?: ChatNameType;\r\n\tmessagesHeaderComponents?: ChatMessagesHeaderSettingsType;\r\n\tnotificationHideDelay?: number;\r\n\tmaxChatMessageNotificationCount?: number;\r\n\tmessageActions?: ChatMessageActionsComponent[];\r\n\tremoveMessageConfirmation?: boolean;\r\n}\r\n\r\nexport interface ChatSettingsProviderContextState {\r\n\trequests: ChatSettingsRequests;\r\n\tnotificationTypes: ChatSettingsNotificationTypes;\r\n\tformSettings: ChatSettingsFormSettings;\r\n\tformButtons: ChatFormButtonsComponents[];\r\n\totherComponents: ChatOtherComponents[];\r\n\tchatFormButtonsWrappers: ChatFormButtonsWrappers;\r\n\tpageSettings: ChatSettingsChatPageSettings;\r\n\tchatStoreSettings: ChatStoreSettings;\r\n\ttitle: string;\r\n\tavatarSettings: ChatSettingsAvatarSettings;\r\n\tformTags: ChatFormTag[];\r\n\twithRemoteId: boolean;\r\n\ttypingDelay: number;\r\n\tchatListHeaderSettings: ChatListHeaderSettingsType;\r\n\tmessagesHeaderComponents: ChatMessagesHeaderSettingsType;\r\n\tnotificationHideDelay: number;\r\n\tmaxChatMessageNotificationCount: number;\r\n\tmessageActions?: ChatMessageActionsComponent[];\r\n\tchatsFilters?: BaseParams;\r\n\trenderChatName?: ChatNameType;\r\n\tremoveMessageConfirmation?: boolean;\r\n}\r\n\r\nexport interface ChatSettingsProviderContext {\r\n\tstate: ChatSettingsProviderContextState;\r\n\tactions: any;\r\n}\r\n\r\nexport interface ChatStoreSettings {\r\n\tgetActionCreators: any;\r\n\tgetChatStore: (store) => ({chats: List, chatsLoaded: boolean});\r\n\tgetMessages: (chatId) => (state) => (List | undefined);\r\n\tgetCurrentChat: (state) => Chat | null;\r\n\tuserUnviewedMessagesCountName: string;\r\n}\r\n\r\nexport const createChatSettingsProviderContext = once(() => React.createContext({} as ChatSettingsProviderContext));\r\n\r\nexport const useChatSettingsProviderContext: () => ChatSettingsProviderContext = () =>\r\n\tReact.useContext(createChatSettingsProviderContext());\r\n\r\nexport const ChatSettingsProvider: (p: ChatSettingsProviderProps) => React.ReactElement = (\r\n\t{\r\n\t\tchildren,\r\n\t\trequests = {\r\n\t\t\tchat: 'chat',\r\n\t\t\tchatUser: 'chatUser',\r\n\t\t\tchatMessage: 'chatMessage',\r\n\t\t\tchatMessageAccess: 'chatMessageAccess',\r\n\t\t\ttyping: 'typing',\r\n\t\t\tcompleteChat: 'chatArchive',\r\n\t\t\tremoveMessage: 'deleteChatMessage',\r\n\t\t\tupdateMessage: 'changeChatMessage'\r\n\t\t},\r\n\t\tnotificationTypes = {\r\n\t\t\tchat: 'Chat',\r\n\t\t\tchatUser: 'ChatUser',\r\n\t\t\tchatMessage: 'ChatMessage',\r\n\t\t\tchatMessageAccess: 'ChatMessageAccess',\r\n\t\t\ttyping: 'Typing'\r\n\t\t},\r\n\t\tformSettings = {\r\n\t\t\tsendByEnter: false,\r\n\t\t\tunderFormLabel: '',\r\n\t\t\tallowPasteImages: false,\r\n\t\t\tmaxAttachmentsCount: 5,\r\n\t\t\tmaxMessageLength: 500\r\n\t\t},\r\n\t\tformButtons = [\r\n\t\t\tChatFormButtons.Video,\r\n\t\t\tChatFormButtons.Voice,\r\n\t\t\tChatFormButtons.File,\r\n\t\t\tChatFormButtons.Emoji\r\n\t\t],\r\n\t\tpageSettings = {\r\n\t\t\tpath: '/chats',\r\n\t\t\tchatIdUrlKey: 'chatId',\r\n\t\t\tarchive: 'archive',\r\n\t\t},\r\n\t\tchatFormButtonsWrappers = {},\r\n\t\totherComponents = [\r\n\t\t\tChatComponents.Mentions,\r\n\t\t\tChatComponents.Typing,\r\n\t\t\tChatComponents.ImageColorBox\r\n\t\t],\r\n\t\tmessageActions = [],\r\n\t\tavatarSettings = {\r\n\t\t\tgetUserAvatar: user => ,\r\n\t\t\tgetChatAvatar: getUserPick\r\n\t\t},\r\n\t\tchatStoreSettings = {\r\n\t\t\tgetActionCreators: ChatsState.getActionCreators,\r\n\t\t\tgetChatStore: state => ({chats: state.chats.chats, chatsLoaded: state.chats.chatsLoaded}),\r\n\t\t\tgetMessages: chatId => state => state.chats.messages[chatId] || undefined,\r\n\t\t\tgetCurrentChat: state => state.chats.currentChat,\r\n\t\t\tuserUnviewedMessagesCountName: 'unviewedMessagesCount'\r\n\t\t},\r\n\t\ttitle = 'Chats',\r\n\t\tformTags = [ChatFormTag.Video, ChatFormTag.Voice],\r\n\t\trenderChatName = undefined,\r\n\t\tmessagesHeaderComponents = [],\r\n\t\twithRemoteId = false,\r\n\t\tchatsFilters,\r\n\t\ttypingDelay = 5000,\r\n\t\tchatListHeaderSettings = [],\r\n\t\tnotificationHideDelay = 5000,\r\n\t\tmaxChatMessageNotificationCount = 5,\r\n\t\tremoveMessageConfirmation = true\r\n\t}\r\n) => {\r\n\tconst ChatSettingsProviderContext = createChatSettingsProviderContext();\r\n\r\n\tconst setChatsFilters = (newFilters) => {\r\n\t\tsetValue(value => ({\r\n\t\t\tstate: {\r\n\t\t\t\t...value.state,\r\n\t\t\t\tchatsFilters: {\r\n\t\t\t\t\t...value.state.chatsFilters,\r\n\t\t\t\t\t...newFilters\r\n\t\t\t\t}},\r\n\t\t\tactions: value.actions\r\n\t\t}));\r\n\t};\r\n\r\n\tconst [value, setValue] = React.useState({\r\n\t\tstate: {\r\n\t\t\trequests,\r\n\t\t\tnotificationTypes,\r\n\t\t\tformSettings,\r\n\t\t\tformButtons,\r\n\t\t\tchatFormButtonsWrappers,\r\n\t\t\totherComponents,\r\n\t\t\tpageSettings,\r\n\t\t\tavatarSettings,\r\n\t\t\tchatStoreSettings,\r\n\t\t\ttitle,\r\n\t\t\tformTags,\r\n\t\t\trenderChatName,\r\n\t\t\twithRemoteId,\r\n\t\t\tchatsFilters,\r\n\t\t\ttypingDelay,\r\n\t\t\tchatListHeaderSettings,\r\n\t\t\tmessagesHeaderComponents,\r\n\t\t\tnotificationHideDelay,\r\n\t\t\tmaxChatMessageNotificationCount,\r\n\t\t\tmessageActions,\r\n\t\t\tremoveMessageConfirmation\r\n\t\t},\r\n\t\tactions: {\r\n\t\t\tsetChatsFilters\r\n\t\t}\r\n\t});\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{children}\r\n\t\t\r\n\t);\r\n};","module.exports = (__webpack_require__(3))(904);","import {List} from '@common/typescript/objects/List';\r\nimport {BaseUserWithAvatar} from '@common/react/objects/BaseUser';\r\nimport {Nullable} from '@common/typescript/objects/Nullable';\r\nimport { File } from '@common/typescript/objects/FileInterface';\r\n\r\nexport enum ChatMessageType {\r\n\tRegular = 0,\r\n\tVoiceMessage = 1,\r\n\tEmail = 2,\r\n\tPhoneCall = 3,\r\n\tVideoChat = 4,\r\n\tVideoMessage = 5\r\n}\r\n\r\nexport enum ChatKind\r\n{\r\n\tPersonal,\r\n\tConference,\r\n\tGroup,\r\n\tHelp,\r\n\tSos\r\n}\r\n\r\nexport interface Chat {\r\n\tid: number;\r\n\tkind: ChatKind;\r\n\ttime: number;\r\n\tname: string;\r\n\tcontacts: BaseUserWithAvatar[];\r\n\tcontactsIds: number[];\r\n\tmessages: List;\r\n\tlastMessage: Nullable;\r\n\tunviewedMessagesCount: number;\r\n\tuserId: number;\r\n\tarchive?: boolean;\r\n}\r\n\r\nexport interface ChatMessage {\r\n\tid: number;\r\n\ttext: string;\r\n\tchatId: number;\r\n\tchat?: Chat;\r\n\tuserId: number;\r\n\tuser?: BaseUserWithAvatar;\r\n\ttime: number;\r\n\tviewed: boolean;\r\n\tfiles: File[];\r\n\tchatMessageType: ChatMessageType;\r\n}\r\n\r\nexport interface ChatMessageAccess {\r\n\tchatMessageObject?: ChatMessage;\r\n\tid: number;\r\n\tmessage: number;\r\n\ttime: number;\r\n\tuser?: BaseUserWithAvatar;\r\n\tuserId: number;\r\n\tviewed: boolean;\r\n}\r\n\r\nexport interface ChatUser {\r\n\tid: number;\r\n\tchatId: number;\r\n\tuserId: number;\r\n\tuser?: BaseUserWithAvatar;\r\n\tchat?: Chat;\r\n}\r\n","import {WithId} from '@common/typescript/objects/WithId';\r\n\r\nexport interface Named {\r\n\tfirstName: string;\r\n\tlastName: string;\r\n}\r\n\r\ninterface NamedWithEmail extends Named{\r\n\temail: string;\r\n}\r\n\r\nexport const getUserName = (item: Named) => item ? `${item.lastName || ''} ${item.firstName || ''}`.trim() : '';\r\n\r\nexport const getUserNameReverseOrder = (item: Named) => item ? `${item.firstName || ''} ${item.lastName || ''}`.trim() : '';\r\n\r\nexport const getUserNameWithEmail = (item?: NamedWithEmail) => item ? `${item.lastName || ''} ${item.firstName || ''} (${item.email})` : '';\r\n\r\nexport const imageSize = (s, size) => {\r\n\treturn s ? s.replace(/.(\\w+$)/, `${size}.$1`) : '';\r\n};\r\n\r\nexport const sortByStringField = (field: string) => (a, b) => {\r\n\tif (a[field] < b[field]) {\r\n\t\treturn -1;\r\n\t} \r\n\t\r\n\tif (a[field] > b[field]) {\r\n\t\treturn 1;\r\n\t}\r\n\r\n\treturn 0;\r\n};\r\n\r\nexport const generateGUID = function (): string {\r\n\treturn 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\r\n\t\tconst r = Math.random() * 16 | 0,\r\n\t\t\tv = c === 'x' ? r : (r & 0x3 | 0x8);\r\n\r\n\t\treturn v.toString(16);\r\n\t});\r\n};\r\n\r\nexport const getQueryParams = function (query: string, keys: Array): object {\r\n\tconst params = new URLSearchParams(query);\r\n\tconst result = {};\r\n\tkeys.forEach(key => result[key] = params.get(key));\r\n\r\n\treturn result;\r\n};\r\n\r\nexport const asInteger = function (source: string | null, defaultValue: number = 1) {\r\n\treturn source && parseInt(source) || defaultValue;\r\n};\r\n\r\n// tslint:disable-next-line:max-line-length\r\nexport const returnAfterSubmit = function (values: TValues, fields: string[] = [], response?: TResponse): TValues | {} {\r\n\tif (!fields.length) {\r\n\t\treturn {};\r\n\t}\r\n\r\n\tconst isArrayOfObjects = (value): boolean => value instanceof Array && value[0] instanceof Object && value[0].id;\r\n\r\n\tconst valuesToReturn = {};\r\n\tfor (const key of fields) {\r\n\t\tvaluesToReturn[key] = values[key];\r\n\r\n\t\tif (response && isArrayOfObjects(valuesToReturn[key])) {\r\n\t\t\tvaluesToReturn[key] = valuesToReturn[key].filter(value => !value.deleted).map((obj, index) => (response[key][index] ? {\r\n\t\t\t\t...obj,\r\n\t\t\t\tid: response[key][index].id\r\n\t\t\t} : obj));\r\n\t\t}\r\n\t}\r\n\treturn valuesToReturn;\r\n};\r\n","module.exports = (__webpack_require__(3))(263);","module.exports = (__webpack_require__(3))(913);","import { fetch } from 'domain-task';\r\n\r\nimport {BaseApplicationState} from '@common/react/store';\r\nimport {BaseUser} from '@common/react/objects/BaseUser';\r\nimport {BaseParams} from '@common/typescript/objects/BaseParams';\r\n\r\ninterface Message {\r\n\tsuccess: number;\r\n\tresponse: T;\r\n\tsession: string;\r\n}\r\n\r\nexport interface ResponseError {\r\n\tmessage: string;\r\n\tcode: number;\r\n}\r\n\r\nfunction baseRequest<\r\n\tT,\r\n\tTUser extends BaseUser, \r\n\tTApplicationState extends BaseApplicationState\r\n>(type: string, data: BaseParams = {}, state?: TApplicationState): Promise {\r\n\treturn fetch('api/post', {\r\n\t\tcredentials: 'same-origin',\r\n\t\tmethod: 'POST',\r\n\t\theaders: {\r\n\t\t\t'Content-type': 'application/json; charset=utf-8',\r\n\t\t\tCookie: `session=${state ? state.login.session : ''}`\r\n\t\t},\r\n\t\tbody: JSON.stringify({\r\n\t\t\ttype,\r\n\t\t\tdata: JSON.stringify(data)\r\n\t\t})\r\n\t})\r\n\t.then(response => response.json() as Message)\r\n\t.then((data: Message) => {\r\n\t\tif (!data.success) {\r\n\t\t\tthrow data.response as ResponseError;\r\n\t\t}\r\n\t\t\r\n\t\treturn data.response as T;\r\n\t});\r\n}\r\n\r\nfunction request<\r\n\tT,\r\n\tTUser extends BaseUser,\r\n\tTApplicationState extends BaseApplicationState\r\n\t>(type: string, data: BaseParams = {}, state?: TApplicationState): Promise {\r\n\treturn baseRequest(type, data, state)\r\n\t\t.catch((error: ResponseError) => {\r\n\t\t\tif (error.message === 'Access denied' && window) {\r\n\t\t\t\twindow.location.href = '/';\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\tconsole.log(error.message);\r\n\t\t\tthrow error.message as string;\r\n\t\t});\r\n}\r\n\r\nexport {baseRequest, request};\r\n","import * as React from 'react';\r\nimport {Redirect} from 'react-router';\r\nimport { Route, RouteProps } from 'react-router-dom';\r\nimport {connect} from 'react-redux';\r\nimport {Helmet} from 'react-helmet';\r\n\r\nimport {BaseApplicationState} from '@common/react/store';\r\nimport {BaseUser} from '@common/react/objects/BaseUser';\r\nimport { loadable, loadableDelay } from '@common/react/loadable/loadableSettings';\r\nimport SignalR from '@common/react/components/SignalR/SignalR';\r\nimport ErrorBoundaryWithSentry from '@common/react/components/UI/ErrorBoundaryWithSentry/ErrorBoundaryWithSentry';\r\nimport { RequestProvider } from '@common/react/components/RequestProvider/RequestProvider';\r\n\r\nimport {LogoLoaderPage} from '@commonTuna/react/components/UI/LogoLoader/LogoLoader';\r\n\r\nconst params = {\r\n\tfallback: \r\n};\r\n\r\nconst DashboardLayout = loadable(\r\n\t() => loadableDelay(/* webpackChunkName: \"DashboardLayout\" */ import('@app/components/Layouts/DashboardLayout/DashboardLayout' )), params\r\n);\r\n\r\ninterface Props extends RouteProps {\r\n\tcomponent: any;\r\n\tredirectPath?: string;\r\n\ttitle?: string;\r\n}\r\n\r\ninterface ReduxProps {\r\n\tuser: BaseUser | null;\r\n}\r\n\r\nconst DashboardRoute: React.FC = ({ component: Component, user, redirectPath = '/', title, ...rest }) => (\r\n\t user ? \r\n\t\t\t{title && \r\n\t\t\t\t{title}\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t : }\r\n\t/>\r\n);\r\n\r\nexport default connect>(\r\n\t(state: BaseApplicationState) => ({\r\n\t\tuser: state.login.user\r\n\t})\r\n)(DashboardRoute);\r\n","import * as React from 'react';\r\nimport {NavLink} from 'react-router-dom';\r\n\r\nimport ImageLazy from '@common/react/components/UI/ImageLazy/ImageLazy';\r\n\r\nconst year = new Date().getFullYear();\r\n\r\nconst Footer: React.FC<{}> = () => {\r\n\treturn
\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t© {year} NorthernTuna, all rights reserved\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\tDoctors\r\n\t\t\t\tSpecials\r\n\t\t\t\tProcedures\r\n\t\t\t\tSpecialties\r\n\t\t\t\tPrivacy Policy\r\n\t\t\t\tProviders Portal\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t
\r\n\t
;\r\n};\r\n\r\nexport default Footer;","import React from 'react';\r\nimport { Route, RouteProps } from 'react-router-dom';\r\n\r\nimport SignalR from '@common/react/components/SignalR/SignalR';\r\n\r\nimport ErrorBoundaryWithSentry from '@common/react/components/UI/ErrorBoundaryWithSentry/ErrorBoundaryWithSentry';\r\n\r\nimport RouteChangeTracker from '@app/components/Routes/RouteChangeTracker';\r\nimport { MainLayout } from '@app/components/Layouts/MainLayout';\r\n\r\ninterface Props extends RouteProps {\r\n\tcomponent: any;\r\n}\r\n\r\nimport Footer from '@app/components/UI/Footer/Footer';\r\n\r\nconst RouteWithFooter: React.FC = ({ component: Component, ...rest }) => (\r\n\t\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t}\r\n\t/>\r\n);\r\n\r\nexport default RouteWithFooter;","import { isString } from './is';\nimport { snipLine } from './string';\n/**\n * Requires a module which is protected against bundler minification.\n *\n * @param request The module path to resolve\n */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport function dynamicRequire(mod, request) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return mod.require(request);\n}\n/**\n * Checks whether we're in the Node.js or Browser environment\n *\n * @returns Answer to given question\n */\nexport function isNodeEnv() {\n return Object.prototype.toString.call(typeof process !== 'undefined' ? process : 0) === '[object process]';\n}\nvar fallbackGlobalObject = {};\n/**\n * Safely get global scope object\n *\n * @returns Global scope object\n */\nexport function getGlobalObject() {\n return (isNodeEnv()\n ? global\n : typeof window !== 'undefined'\n ? window\n : typeof self !== 'undefined'\n ? self\n : fallbackGlobalObject);\n}\n/**\n * UUID4 generator\n *\n * @returns string Generated UUID4.\n */\nexport function uuid4() {\n var global = getGlobalObject();\n var crypto = global.crypto || global.msCrypto;\n if (!(crypto === void 0) && crypto.getRandomValues) {\n // Use window.crypto API if available\n var arr = new Uint16Array(8);\n crypto.getRandomValues(arr);\n // set 4 in byte 7\n // eslint-disable-next-line no-bitwise\n arr[3] = (arr[3] & 0xfff) | 0x4000;\n // set 2 most significant bits of byte 9 to '10'\n // eslint-disable-next-line no-bitwise\n arr[4] = (arr[4] & 0x3fff) | 0x8000;\n var pad = function (num) {\n var v = num.toString(16);\n while (v.length < 4) {\n v = \"0\" + v;\n }\n return v;\n };\n return (pad(arr[0]) + pad(arr[1]) + pad(arr[2]) + pad(arr[3]) + pad(arr[4]) + pad(arr[5]) + pad(arr[6]) + pad(arr[7]));\n }\n // http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript/2117523#2117523\n return 'xxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n // eslint-disable-next-line no-bitwise\n var r = (Math.random() * 16) | 0;\n // eslint-disable-next-line no-bitwise\n var v = c === 'x' ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n}\n/**\n * Parses string form of URL into an object\n * // borrowed from https://tools.ietf.org/html/rfc3986#appendix-B\n * // intentionally using regex and not href parsing trick because React Native and other\n * // environments where DOM might not be available\n * @returns parsed URL object\n */\nexport function parseUrl(url) {\n if (!url) {\n return {};\n }\n var match = url.match(/^(([^:/?#]+):)?(\\/\\/([^/?#]*))?([^?#]*)(\\?([^#]*))?(#(.*))?$/);\n if (!match) {\n return {};\n }\n // coerce to undefined values to empty string so we don't get 'undefined'\n var query = match[6] || '';\n var fragment = match[8] || '';\n return {\n host: match[4],\n path: match[5],\n protocol: match[2],\n relative: match[5] + query + fragment,\n };\n}\n/**\n * Extracts either message or type+value from an event that can be used for user-facing logs\n * @returns event's description\n */\nexport function getEventDescription(event) {\n if (event.message) {\n return event.message;\n }\n if (event.exception && event.exception.values && event.exception.values[0]) {\n var exception = event.exception.values[0];\n if (exception.type && exception.value) {\n return exception.type + \": \" + exception.value;\n }\n return exception.type || exception.value || event.event_id || '';\n }\n return event.event_id || '';\n}\n/** JSDoc */\nexport function consoleSandbox(callback) {\n var global = getGlobalObject();\n var levels = ['debug', 'info', 'warn', 'error', 'log', 'assert'];\n if (!('console' in global)) {\n return callback();\n }\n var originalConsole = global.console;\n var wrappedLevels = {};\n // Restore all wrapped console methods\n levels.forEach(function (level) {\n if (level in global.console && originalConsole[level].__sentry_original__) {\n wrappedLevels[level] = originalConsole[level];\n originalConsole[level] = originalConsole[level].__sentry_original__;\n }\n });\n // Perform callback manipulations\n var result = callback();\n // Revert restoration to wrapped state\n Object.keys(wrappedLevels).forEach(function (level) {\n originalConsole[level] = wrappedLevels[level];\n });\n return result;\n}\n/**\n * Adds exception values, type and value to an synthetic Exception.\n * @param event The event to modify.\n * @param value Value of the exception.\n * @param type Type of the exception.\n * @hidden\n */\nexport function addExceptionTypeValue(event, value, type) {\n event.exception = event.exception || {};\n event.exception.values = event.exception.values || [];\n event.exception.values[0] = event.exception.values[0] || {};\n event.exception.values[0].value = event.exception.values[0].value || value || '';\n event.exception.values[0].type = event.exception.values[0].type || type || 'Error';\n}\n/**\n * Adds exception mechanism to a given event.\n * @param event The event to modify.\n * @param mechanism Mechanism of the mechanism.\n * @hidden\n */\nexport function addExceptionMechanism(event, mechanism) {\n if (mechanism === void 0) { mechanism = {}; }\n // TODO: Use real type with `keyof Mechanism` thingy and maybe make it better?\n try {\n // @ts-ignore Type 'Mechanism | {}' is not assignable to type 'Mechanism | undefined'\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n event.exception.values[0].mechanism = event.exception.values[0].mechanism || {};\n Object.keys(mechanism).forEach(function (key) {\n // @ts-ignore Mechanism has no index signature\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n event.exception.values[0].mechanism[key] = mechanism[key];\n });\n }\n catch (_oO) {\n // no-empty\n }\n}\n/**\n * A safe form of location.href\n */\nexport function getLocationHref() {\n try {\n return document.location.href;\n }\n catch (oO) {\n return '';\n }\n}\n/**\n * Given a child DOM element, returns a query-selector statement describing that\n * and its ancestors\n * e.g. [HTMLElement] => body > div > input#foo.btn[name=baz]\n * @returns generated DOM path\n */\nexport function htmlTreeAsString(elem) {\n // try/catch both:\n // - accessing event.target (see getsentry/raven-js#838, #768)\n // - `htmlTreeAsString` because it's complex, and just accessing the DOM incorrectly\n // - can throw an exception in some circumstances.\n try {\n var currentElem = elem;\n var MAX_TRAVERSE_HEIGHT = 5;\n var MAX_OUTPUT_LEN = 80;\n var out = [];\n var height = 0;\n var len = 0;\n var separator = ' > ';\n var sepLength = separator.length;\n var nextStr = void 0;\n // eslint-disable-next-line no-plusplus\n while (currentElem && height++ < MAX_TRAVERSE_HEIGHT) {\n nextStr = _htmlElementAsString(currentElem);\n // bail out if\n // - nextStr is the 'html' element\n // - the length of the string that would be created exceeds MAX_OUTPUT_LEN\n // (ignore this limit if we are on the first iteration)\n if (nextStr === 'html' || (height > 1 && len + out.length * sepLength + nextStr.length >= MAX_OUTPUT_LEN)) {\n break;\n }\n out.push(nextStr);\n len += nextStr.length;\n currentElem = currentElem.parentNode;\n }\n return out.reverse().join(separator);\n }\n catch (_oO) {\n return '';\n }\n}\n/**\n * Returns a simple, query-selector representation of a DOM element\n * e.g. [HTMLElement] => input#foo.btn[name=baz]\n * @returns generated DOM path\n */\nfunction _htmlElementAsString(el) {\n var elem = el;\n var out = [];\n var className;\n var classes;\n var key;\n var attr;\n var i;\n if (!elem || !elem.tagName) {\n return '';\n }\n out.push(elem.tagName.toLowerCase());\n if (elem.id) {\n out.push(\"#\" + elem.id);\n }\n // eslint-disable-next-line prefer-const\n className = elem.className;\n if (className && isString(className)) {\n classes = className.split(/\\s+/);\n for (i = 0; i < classes.length; i++) {\n out.push(\".\" + classes[i]);\n }\n }\n var allowedAttrs = ['type', 'name', 'title', 'alt'];\n for (i = 0; i < allowedAttrs.length; i++) {\n key = allowedAttrs[i];\n attr = elem.getAttribute(key);\n if (attr) {\n out.push(\"[\" + key + \"=\\\"\" + attr + \"\\\"]\");\n }\n }\n return out.join('');\n}\nvar INITIAL_TIME = Date.now();\nvar prevNow = 0;\nvar performanceFallback = {\n now: function () {\n var now = Date.now() - INITIAL_TIME;\n if (now < prevNow) {\n now = prevNow;\n }\n prevNow = now;\n return now;\n },\n timeOrigin: INITIAL_TIME,\n};\nexport var crossPlatformPerformance = (function () {\n if (isNodeEnv()) {\n try {\n var perfHooks = dynamicRequire(module, 'perf_hooks');\n return perfHooks.performance;\n }\n catch (_) {\n return performanceFallback;\n }\n }\n var performance = getGlobalObject().performance;\n if (!performance || !performance.now) {\n return performanceFallback;\n }\n // Polyfill for performance.timeOrigin.\n //\n // While performance.timing.navigationStart is deprecated in favor of performance.timeOrigin, performance.timeOrigin\n // is not as widely supported. Namely, performance.timeOrigin is undefined in Safari as of writing.\n if (performance.timeOrigin === undefined) {\n // As of writing, performance.timing is not available in Web Workers in mainstream browsers, so it is not always a\n // valid fallback. In the absence of a initial time provided by the browser, fallback to INITIAL_TIME.\n // @ts-ignore ignored because timeOrigin is a readonly property but we want to override\n // eslint-disable-next-line deprecation/deprecation\n performance.timeOrigin = (performance.timing && performance.timing.navigationStart) || INITIAL_TIME;\n }\n return performance;\n})();\n/**\n * Returns a timestamp in seconds with milliseconds precision since the UNIX epoch calculated with the monotonic clock.\n */\nexport function timestampWithMs() {\n return (crossPlatformPerformance.timeOrigin + crossPlatformPerformance.now()) / 1000;\n}\n// https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string\nvar SEMVER_REGEXP = /^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$/;\n/**\n * Parses input into a SemVer interface\n * @param input string representation of a semver version\n */\nexport function parseSemver(input) {\n var match = input.match(SEMVER_REGEXP) || [];\n var major = parseInt(match[1], 10);\n var minor = parseInt(match[2], 10);\n var patch = parseInt(match[3], 10);\n return {\n buildmetadata: match[5],\n major: isNaN(major) ? undefined : major,\n minor: isNaN(minor) ? undefined : minor,\n patch: isNaN(patch) ? undefined : patch,\n prerelease: match[4],\n };\n}\nvar defaultRetryAfter = 60 * 1000; // 60 seconds\n/**\n * Extracts Retry-After value from the request header or returns default value\n * @param now current unix timestamp\n * @param header string representation of 'Retry-After' header\n */\nexport function parseRetryAfterHeader(now, header) {\n if (!header) {\n return defaultRetryAfter;\n }\n var headerDelay = parseInt(\"\" + header, 10);\n if (!isNaN(headerDelay)) {\n return headerDelay * 1000;\n }\n var headerDate = Date.parse(\"\" + header);\n if (!isNaN(headerDate)) {\n return headerDate - now;\n }\n return defaultRetryAfter;\n}\nvar defaultFunctionName = '';\n/**\n * Safely extract function name from itself\n */\nexport function getFunctionName(fn) {\n try {\n if (!fn || typeof fn !== 'function') {\n return defaultFunctionName;\n }\n return fn.name || defaultFunctionName;\n }\n catch (e) {\n // Just accessing custom props in some Selenium environments\n // can cause a \"Permission denied\" exception (see raven-js#495).\n return defaultFunctionName;\n }\n}\n/**\n * This function adds context (pre/post/line) lines to the provided frame\n *\n * @param lines string[] containing all lines\n * @param frame StackFrame that will be mutated\n * @param linesOfContext number of context lines we want to add pre/post\n */\nexport function addContextToFrame(lines, frame, linesOfContext) {\n if (linesOfContext === void 0) { linesOfContext = 5; }\n var lineno = frame.lineno || 0;\n var maxLines = lines.length;\n var sourceLine = Math.max(Math.min(maxLines, lineno - 1), 0);\n frame.pre_context = lines\n .slice(Math.max(0, sourceLine - linesOfContext), sourceLine)\n .map(function (line) { return snipLine(line, 0); });\n frame.context_line = snipLine(lines[Math.min(maxLines - 1, sourceLine)], frame.colno || 0);\n frame.post_context = lines\n .slice(Math.min(sourceLine + 1, maxLines), sourceLine + 1 + linesOfContext)\n .map(function (line) { return snipLine(line, 0); });\n}\n//# sourceMappingURL=misc.js.map","/* eslint-disable @typescript-eslint/no-explicit-any */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/**\n * Checks whether given value's type is one of a few Error or Error-like\n * {@link isError}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isError(wat) {\n switch (Object.prototype.toString.call(wat)) {\n case '[object Error]':\n return true;\n case '[object Exception]':\n return true;\n case '[object DOMException]':\n return true;\n default:\n return isInstanceOf(wat, Error);\n }\n}\n/**\n * Checks whether given value's type is ErrorEvent\n * {@link isErrorEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isErrorEvent(wat) {\n return Object.prototype.toString.call(wat) === '[object ErrorEvent]';\n}\n/**\n * Checks whether given value's type is DOMError\n * {@link isDOMError}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isDOMError(wat) {\n return Object.prototype.toString.call(wat) === '[object DOMError]';\n}\n/**\n * Checks whether given value's type is DOMException\n * {@link isDOMException}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isDOMException(wat) {\n return Object.prototype.toString.call(wat) === '[object DOMException]';\n}\n/**\n * Checks whether given value's type is a string\n * {@link isString}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isString(wat) {\n return Object.prototype.toString.call(wat) === '[object String]';\n}\n/**\n * Checks whether given value's is a primitive (undefined, null, number, boolean, string)\n * {@link isPrimitive}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isPrimitive(wat) {\n return wat === null || (typeof wat !== 'object' && typeof wat !== 'function');\n}\n/**\n * Checks whether given value's type is an object literal\n * {@link isPlainObject}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isPlainObject(wat) {\n return Object.prototype.toString.call(wat) === '[object Object]';\n}\n/**\n * Checks whether given value's type is an Event instance\n * {@link isEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isEvent(wat) {\n return typeof Event !== 'undefined' && isInstanceOf(wat, Event);\n}\n/**\n * Checks whether given value's type is an Element instance\n * {@link isElement}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isElement(wat) {\n return typeof Element !== 'undefined' && isInstanceOf(wat, Element);\n}\n/**\n * Checks whether given value's type is an regexp\n * {@link isRegExp}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isRegExp(wat) {\n return Object.prototype.toString.call(wat) === '[object RegExp]';\n}\n/**\n * Checks whether given value has a then function.\n * @param wat A value to be checked.\n */\nexport function isThenable(wat) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return Boolean(wat && wat.then && typeof wat.then === 'function');\n}\n/**\n * Checks whether given value's type is a SyntheticEvent\n * {@link isSyntheticEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nexport function isSyntheticEvent(wat) {\n return isPlainObject(wat) && 'nativeEvent' in wat && 'preventDefault' in wat && 'stopPropagation' in wat;\n}\n/**\n * Checks whether given value's type is an instance of provided constructor.\n * {@link isInstanceOf}.\n *\n * @param wat A value to be checked.\n * @param base A constructor to be used in a check.\n * @returns A boolean representing the result.\n */\nexport function isInstanceOf(wat, base) {\n try {\n return wat instanceof base;\n }\n catch (_e) {\n return false;\n }\n}\n//# sourceMappingURL=is.js.map","module.exports = (__webpack_require__(3))(92);","module.exports = (__webpack_require__(3))(93);","module.exports = (__webpack_require__(3))(174);","module.exports = (__webpack_require__(3))(94);","module.exports = (__webpack_require__(3))(948);","module.exports = (__webpack_require__(3))(946);","module.exports = (__webpack_require__(3))(396);","module.exports = (__webpack_require__(3))(871);","import * as React from 'react';\r\n\r\nexport interface ButtonProps {\r\n\ttype?: 'submit' | 'button';\r\n\tclassName?: string;\r\n\tisLoading?: boolean;\r\n\tonClick?: (event: React.MouseEvent) => void;\r\n\ttitle?: string;\r\n\tdisabled?: boolean;\r\n\tother?: object;\r\n\tloadingNode?: React.ReactNode;\r\n}\r\n\r\nconst Button: React.FC = \r\n\t({\r\n\t\ttype = 'submit' ,\r\n\t\tclassName = 'btn btn-primary', \r\n\t\tisLoading, \r\n\t\tonClick, \r\n\t\tchildren, \r\n\t\ttitle, \r\n\t\tdisabled = false, \r\n\t\tother = undefined, \r\n\t\tloadingNode = false\r\n\t}) => {\r\n\t\treturn ;\r\n\t};\r\n\r\ninterface PreventDefaultButtonProps extends ButtonProps {\r\n\tonClick:() => void;\r\n}\r\n\r\nexport const PreventDefaultButton: React.FC = ({onClick, children, ...rest}) => \r\n\t;\r\n\r\nexport default Button;","module.exports = (__webpack_require__(3))(914);","module.exports = (__webpack_require__(3))(911);","module.exports = (__webpack_require__(3))(17);","module.exports = (__webpack_require__(3))(1086);","import { __assign, __read, __spread } from \"tslib\";\nimport { getCurrentHub } from '@sentry/hub';\n/**\n * This calls a function on the current hub.\n * @param method function to call on hub.\n * @param args to pass to function.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction callOnHub(method) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n var hub = getCurrentHub();\n if (hub && hub[method]) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return hub[method].apply(hub, __spread(args));\n }\n throw new Error(\"No hub defined or \" + method + \" was not found on the hub, please open a bug report.\");\n}\n/**\n * Captures an exception event and sends it to Sentry.\n *\n * @param exception An exception-like object.\n * @returns The generated eventId.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\nexport function captureException(exception, captureContext) {\n var syntheticException;\n try {\n throw new Error('Sentry syntheticException');\n }\n catch (exception) {\n syntheticException = exception;\n }\n return callOnHub('captureException', exception, {\n captureContext: captureContext,\n originalException: exception,\n syntheticException: syntheticException,\n });\n}\n/**\n * Captures a message event and sends it to Sentry.\n *\n * @param message The message to send to Sentry.\n * @param level Define the level of the message.\n * @returns The generated eventId.\n */\nexport function captureMessage(message, captureContext) {\n var syntheticException;\n try {\n throw new Error(message);\n }\n catch (exception) {\n syntheticException = exception;\n }\n // This is necessary to provide explicit scopes upgrade, without changing the original\n // arrity of the `captureMessage(message, level)` method.\n var level = typeof captureContext === 'string' ? captureContext : undefined;\n var context = typeof captureContext !== 'string' ? { captureContext: captureContext } : undefined;\n return callOnHub('captureMessage', message, level, __assign({ originalException: message, syntheticException: syntheticException }, context));\n}\n/**\n * Captures a manually created event and sends it to Sentry.\n *\n * @param event The event to send to Sentry.\n * @returns The generated eventId.\n */\nexport function captureEvent(event) {\n return callOnHub('captureEvent', event);\n}\n/**\n * Callback to set context information onto the scope.\n * @param callback Callback function that receives Scope.\n */\nexport function configureScope(callback) {\n callOnHub('configureScope', callback);\n}\n/**\n * Records a new breadcrumb which will be attached to future events.\n *\n * Breadcrumbs will be added to subsequent events to provide more context on\n * user's actions prior to an error or crash.\n *\n * @param breadcrumb The breadcrumb to record.\n */\nexport function addBreadcrumb(breadcrumb) {\n callOnHub('addBreadcrumb', breadcrumb);\n}\n/**\n * Sets context data with the given name.\n * @param name of the context\n * @param context Any kind of data. This data will be normalized.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function setContext(name, context) {\n callOnHub('setContext', name, context);\n}\n/**\n * Set an object that will be merged sent as extra data with the event.\n * @param extras Extras object to merge into current context.\n */\nexport function setExtras(extras) {\n callOnHub('setExtras', extras);\n}\n/**\n * Set an object that will be merged sent as tags data with the event.\n * @param tags Tags context object to merge into current context.\n */\nexport function setTags(tags) {\n callOnHub('setTags', tags);\n}\n/**\n * Set key:value that will be sent as extra data with the event.\n * @param key String of extra\n * @param extra Any kind of data. This data will be normalized.\n */\nexport function setExtra(key, extra) {\n callOnHub('setExtra', key, extra);\n}\n/**\n * Set key:value that will be sent as tags data with the event.\n * @param key String key of tag\n * @param value String value of tag\n */\nexport function setTag(key, value) {\n callOnHub('setTag', key, value);\n}\n/**\n * Updates user context information for future events.\n *\n * @param user User context object to be set in the current context. Pass `null` to unset the user.\n */\nexport function setUser(user) {\n callOnHub('setUser', user);\n}\n/**\n * Creates a new scope with and executes the given operation within.\n * The scope is automatically removed once the operation\n * finishes or throws.\n *\n * This is essentially a convenience function for:\n *\n * pushScope();\n * callback();\n * popScope();\n *\n * @param callback that will be enclosed into push/popScope.\n */\nexport function withScope(callback) {\n callOnHub('withScope', callback);\n}\n/**\n * Calls a function on the latest client. Use this with caution, it's meant as\n * in \"internal\" helper so we don't need to expose every possible function in\n * the shim. It is not guaranteed that the client actually implements the\n * function.\n *\n * @param method The method to call on the client/client.\n * @param args Arguments to pass to the client/fontend.\n * @hidden\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function _callOnClient(method) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n callOnHub.apply(void 0, __spread(['_invokeClient', method], args));\n}\n/**\n * Starts a new `Transaction` and returns it. This is the entry point to manual\n * tracing instrumentation.\n *\n * A tree structure can be built by adding child spans to the transaction, and\n * child spans to other spans. To start a new child span within the transaction\n * or any span, call the respective `.startChild()` method.\n *\n * Every child span must be finished before the transaction is finished,\n * otherwise the unfinished spans are discarded.\n *\n * The transaction must be finished with a call to its `.finish()` method, at\n * which point the transaction with all its finished child spans will be sent to\n * Sentry.\n *\n * @param context Properties of the new `Transaction`.\n */\nexport function startTransaction(context) {\n return callOnHub('startTransaction', __assign({}, context));\n}\n//# sourceMappingURL=index.js.map","import {Reducer, Action} from 'redux';\r\n\r\nimport {NullableProps} from '@common/react/objects/NullableProps';\r\n\r\nexport enum TypeKeys {\r\n\tUPDATE = 'UPDATE',\r\n\tSETVISIBILITY = 'SET_VISIBILITY',\r\n\tSETISCHATTING = 'SET_IS_CHATTING',\r\n\tSETTOKEN = 'SET_TOKEN',\r\n\tCLEAR = 'CLEAR',\r\n}\r\n\r\nexport interface VideoChatState {\r\n\tisSupport: boolean;\r\n\tisChatting: boolean;\r\n\tvisibility: boolean;\r\n\troomIdentifier?: string;\r\n\troomName?: string;\r\n\tavatar?: string;\r\n\tpreventCameraStart?: boolean;\r\n\ttoken: string | null;\r\n\thasError?: boolean;\r\n}\r\n\r\nexport interface UpdateAction {\r\n\ttype: TypeKeys.UPDATE;\r\n\tdata: NullableProps;\r\n}\r\n\r\nexport interface SetVisibilityAction {\r\n\ttype: TypeKeys.SETVISIBILITY;\r\n\tvalue: boolean;\r\n}\r\n\r\nexport interface SetTokenAction {\r\n\ttype: TypeKeys.SETTOKEN;\r\n\tvalue: string;\r\n}\r\n\r\nexport interface SetIsChattingAction {\r\n\ttype: TypeKeys.SETISCHATTING;\r\n\tvalue: boolean;\r\n}\r\n\r\nexport interface ClearAction {\r\n\ttype: TypeKeys.CLEAR;\r\n}\r\n\r\ntype KnownTypeVideoChatActions = UpdateAction | SetVisibilityAction | SetTokenAction | SetIsChattingAction | ClearAction;\r\n\r\nconst initialState: VideoChatState = {\r\n\tisSupport: false,\r\n\tisChatting: false,\r\n\tvisibility: false,\r\n\ttoken: null,\r\n};\r\n\r\nexport function getReducer(): Reducer {\r\n\treturn (state: VideoChatState = initialState, incomingAction: Action) => {\r\n\t\tconst action = incomingAction as KnownTypeVideoChatActions;\r\n\t\t\r\n\t\tswitch (action.type) {\r\n\t\t\tcase TypeKeys.UPDATE:\r\n\t\t\t\treturn {...state, ...action.data as VideoChatState};\r\n\t\t\tcase TypeKeys.SETVISIBILITY:\r\n\t\t\t\treturn {...state, visibility: action.value};\r\n\t\t\tcase TypeKeys.SETISCHATTING:\r\n\t\t\t\treturn {...state, isChatting: action.value};\r\n\t\t\tcase TypeKeys.SETTOKEN:\r\n\t\t\t\treturn {...state, token: action.value};\r\n\t\t\tcase TypeKeys.CLEAR:\r\n\t\t\t\treturn initialState;\r\n\t\t\tdefault:\r\n\t\t\t\tconst exhaustiveCheck: never = action;\r\n\t\t}\r\n\t\t\r\n\t\treturn state;\r\n\t};\r\n}","import emojiRegex from 'emoji-regex';\r\nimport { getEmojiDataFromNative, Emoji } from 'emoji-mart';\r\n// @ts-ignore\r\nimport dataApple from 'emoji-mart/data/apple.json';\r\n\r\nimport {Chat, ChatKind} from '@common/react/objects/Chat';\r\nimport {getUserName} from '@common/react/utils/utils';\r\n\r\nimport {BaseUserWithAvatar} from '@common/react/objects/BaseUser';\r\nimport {linkRegex, regularLink} from '@common/react/components/UI/LinkPreview/LinkPreview';\r\n\r\nconst regex = emojiRegex();\r\n\r\nexport const getChatMessageMarkup = (text: string) => {\r\n\tconst hasText = text.replace(regex, '').length > 0;\r\n\treturn text.replace(/&/g, '&')\r\n\t\t.replace(/\"/g, '"')\r\n\t\t.replace(/'/g, ''')\r\n\t\t.replace(//g, '>')\r\n\t\t.replace(/\\r\\n|\\r|\\n/gi, '
')\r\n\t\t.replace(regex, (emoji) => {\r\n\t\t\tconst emojiData = getEmojiDataFromNative(emoji, 'apple', dataApple);\r\n\t\t\treturn `\r\n${Emoji({html: true, set: 'apple', emoji: emojiData.id, size: hasText ? 22 : 50})}`;\r\n\t\t});\r\n};\r\n\r\nexport const getChatName = (chat: Chat, userId: number) => {\r\n\tconst contacts = chat.contacts.filter((user: BaseUserWithAvatar) => user.id !== userId);\r\n\r\n\treturn chat.kind === ChatKind.Personal\r\n\t\t? getUserName(contacts[0])\r\n\t\t: chat.name\r\n\t\t\t? chat.name\r\n\t\t\t: contacts.map((contact: BaseUserWithAvatar, index) => (index > 0 ? ', ' : '') + getUserName(contact));\r\n};\r\n\r\nexport const transformMentionMessage = (text: string, contacts: BaseUserWithAvatar[], withLink: boolean) => {\r\n\treturn contacts.reduce((newText, contact) => {\r\n\t\tconst name = getUserName(contact);\r\n\t\tconst regx = new RegExp(`@${name}`, 'g');\r\n\r\n\t\treturn newText.replace(\r\n\t\t\tregx, \r\n\t\t\twithLink ? `
${getUserName(contact)}` : getUserName(contact)\r\n\t\t);\r\n\t}, text);\r\n};\r\n\r\nconst linkReplacer = (text: string) => {\r\n\treturn regularLink(text);\r\n};\r\n\r\nexport const transformLinks = (text: string) => {\r\n\tconst regex = new RegExp(linkRegex);\r\n\treturn text.replace(regex, linkReplacer);\r\n};","import React from 'react';\r\n\r\nimport {useLoaderProviderContext} from '@common/react/components/Core/LoadingProvider/LoadingProvider';\r\n\r\ninterface Props {\r\n\tdefaultLoader?: JSX.Element; \r\n}\r\n\r\nconst Loader: React.FC = ({defaultLoader}) => {\r\n\tconst loaderContext = useLoaderProviderContext();\r\n\r\n\treturn loaderContext?.state?.pageLoader || defaultLoader || '';\r\n};\r\n\r\nexport default Loader;\r\n","import {request as baseRequest} from '@common/react/components/Api';\r\n\r\nimport {ApplicationState} from '@app/store';\r\nimport {User} from '@app/objects/User';\r\n\r\nexport function request(type: string, data?: any, state?: ApplicationState) {\r\n\treturn baseRequest(type, data, state);\r\n}","import {addTask} from 'domain-task';\r\nimport {Reducer} from 'redux';\r\n\r\nimport {request} from '@common/react/components/Api';\r\nimport {BaseUser} from '@common/react/objects/BaseUser';\r\nimport {BaseApplicationState, BaseAppThunkAction} from '@common/react/store/index';\r\nimport {Lang} from '@common/typescript/objects/Lang';\r\n\r\nexport interface LoginState {\r\n\tisLoading: boolean;\r\n\tsession: string;\r\n\tuser: TUser | null;\r\n\tmessage: string;\r\n\ttransmuted: boolean;\r\n\tdebug: boolean;\r\n\tlang: Lang;\r\n\tuserAgent: string;\r\n}\r\n\r\nexport enum TypeKeys {\r\n\tREQUESTLOGIN = 'REQUEST_LOGIN',\r\n\tRECEIVELOGIN = 'RECEIVE_LOGIN',\r\n\tREQUESTLOGOFF = 'REQUEST_LOGOFF',\r\n\tRECEIVELOGOFF = 'RECEIVE_LOGOFF',\r\n\tSETSESSION = 'SET_SESSION',\r\n\tUPDATEUSER = 'UPDATE_USER',\r\n\tCLEARSTATE = 'CLEAR_STATE',\r\n\tSETLANG = 'SET_LANG',\r\n}\r\n\r\ninterface RequestLoginAction {\r\n\ttype: TypeKeys.REQUESTLOGIN;\r\n}\r\n\r\ninterface ReceiveLoginAction {\r\n\ttype: TypeKeys.RECEIVELOGIN;\r\n\tuser: BaseUser | null;\r\n\tsession: string;\r\n\tmessage: string;\r\n\ttransmuted: boolean;\r\n\tdebug: boolean;\r\n\tlang: Lang;\r\n\tuserAgent: string;\r\n}\r\n\r\ninterface RequestLogoffAction {\r\n\ttype: TypeKeys.REQUESTLOGOFF;\r\n}\r\n\r\ninterface ReceiveLogoffAction {\r\n\ttype: TypeKeys.RECEIVELOGOFF;\r\n\tsession: string;\r\n}\r\n\r\ninterface SetSessionAction {\r\n\ttype: TypeKeys.SETSESSION;\r\n\tsession: string;\r\n}\r\n\r\ninterface SetLangAction {\r\n\ttype: TypeKeys.SETLANG;\r\n\tlang: Lang;\r\n}\r\n\r\ninterface UpdateUserAction {\r\n\ttype: TypeKeys.UPDATEUSER;\r\n\tdata: any;\r\n\tsetUser?: (user) => any;\r\n}\r\n\r\ninterface ClearStateAction {\r\n\ttype: TypeKeys.CLEARSTATE;\r\n}\r\n\r\ntype KnownUserAction = \r\n\tRequestLoginAction | \r\n\tReceiveLoginAction | \r\n\tRequestLogoffAction | \r\n\tReceiveLogoffAction | \r\n\tSetSessionAction | \r\n\tUpdateUserAction | \r\n\tClearStateAction |\r\n\tSetLangAction;\r\n\r\nexport interface LoginActionCreators> {\r\n\tlogin: (login: string, password: string, path?: string) => BaseAppThunkAction;\r\n\tlogoff: (clearState?: boolean, callback?: () => void) => BaseAppThunkAction;\r\n\tupdateUser: (data: any, setUser?: (user) => any) => BaseAppThunkAction;\r\n\tsetUserAndSession: (user: BaseUser, session: string) => BaseAppThunkAction;\r\n\tsetLang: (lang: Lang) => BaseAppThunkAction;\r\n}\r\n\r\nexport function getActionCreators>() {\r\n\treturn {\r\n\t\tlogin: (login: string, password: string, path: string = 'auth'): BaseAppThunkAction => \r\n\t\t\t(dispatch, getState) => {\r\n\t\t\t\tif (!getState().login.isLoading) {\r\n\t\t\t\t\tconst fetchTask = request(path, {\r\n\t\t\t\t\t\tlogin: login,\r\n\t\t\t\t\t\tpassword: password,\r\n\t\t\t\t\t\tpath: '/login'\r\n\t\t\t\t\t}).then((data) => {\r\n\t\t\t\t\t\tif (data.initObject) {\r\n\t\t\t\t\t\t\tdispatch({\r\n\t\t\t\t\t\t\t\ttype: TypeKeys.RECEIVELOGIN,\r\n\t\t\t\t\t\t\t\tuser: data.initObject.user,\r\n\t\t\t\t\t\t\t\tsession: data.initObject.guid,\r\n\t\t\t\t\t\t\t\tmessage: '',\r\n\t\t\t\t\t\t\t\ttransmuted: data.initObject.transmuted,\r\n\t\t\t\t\t\t\t\tdebug: data.initObject.debug,\r\n\t\t\t\t\t\t\t\tlang: data.initObject.lang,\r\n\t\t\t\t\t\t\t\tuserAgent: data.initObject.userAgent\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}).catch((data) => {\r\n\t\t\t\t\t\tdispatch({\r\n\t\t\t\t\t\t\ttype: TypeKeys.RECEIVELOGIN,\r\n\t\t\t\t\t\t\tuser: null,\r\n\t\t\t\t\t\t\tsession: getState().login.session,\r\n\t\t\t\t\t\t\tmessage: data,\r\n\t\t\t\t\t\t\ttransmuted: false,\r\n\t\t\t\t\t\t\tdebug: false,\r\n\t\t\t\t\t\t\tlang: Lang.En,\r\n\t\t\t\t\t\t\tuserAgent: ''\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\t\r\n\t\t\t\t\taddTask(fetchTask);\r\n\t\t\t\t\tdispatch({type: TypeKeys.REQUESTLOGIN});\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\tlogoff: (\r\n\t\t\tclearState?: boolean, \r\n\t\t\tcallback?: () => void\r\n\t\t): BaseAppThunkAction => (dispatch, getState) => {\r\n\t\t\tif (!getState().login.isLoading) {\r\n\t\t\t\tconst fetchTask = request('logoff', {}).then( (data) => {\r\n\t\t\t\t\tif (data.updatedSession) {\r\n\t\t\t\t\t\tdispatch({type: TypeKeys.RECEIVELOGOFF, session: data.updatedSession.guid});\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t\tif (callback) callback();\r\n\r\n\t\t\t\t\tif (clearState) {\r\n\t\t\t\t\t\tdispatch({type: TypeKeys.CLEARSTATE});\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\taddTask(fetchTask);\r\n\r\n\t\t\t\tdispatch({type: TypeKeys.REQUESTLOGOFF});\r\n\t\t\t}\r\n\t\t},\r\n\t\tupdateUser: (data: any, getUser?: (user) => any): BaseAppThunkAction => (dispatch, getState) => {\r\n\t\t\tconst partialUser = getUser && getUser(getState().login?.user);\r\n\t\t\tdispatch({type: TypeKeys.UPDATEUSER, data: {...partialUser, ...data}});\r\n\t\t},\r\n\t\tsetUserAndSession: (user: BaseUser, session: string): BaseAppThunkAction => (dispatch, getState) => {\r\n\t\t\tconst state = getState().login;\r\n\t\t\tdispatch({ \r\n\t\t\t\ttype: TypeKeys.RECEIVELOGIN, \r\n\t\t\t\tuser: user, \r\n\t\t\t\tsession: session,\r\n\t\t\t\tmessage: '', \r\n\t\t\t\ttransmuted: false, \r\n\t\t\t\tdebug: state.debug || false,\r\n\t\t\t\tlang: state.lang,\r\n\t\t\t\tuserAgent: state.userAgent\r\n\t\t\t});\r\n\t\t},\r\n\t\tsetLang: (lang: Lang): BaseAppThunkAction => (dispatch, getState) => {\r\n\t\t\trequest('language', {lang}).then( (data) => {\r\n\t\t\t\tdispatch({type: TypeKeys.SETLANG, lang: lang});\r\n\t\t\t});\r\n\t\t},\r\n\t};\r\n}\r\n\r\nexport function getReducer(): Reducer> {\r\n\treturn (s: LoginState | undefined, action: KnownUserAction) => {\r\n\t\tconst state = s as LoginState;\r\n\t\tswitch (action.type) {\r\n\t\t\tcase TypeKeys.REQUESTLOGIN:\r\n\t\t\t\treturn {...state, isLoading: true};\r\n\t\t\tcase TypeKeys.RECEIVELOGIN:\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state, \r\n\t\t\t\t\tisLoading: false, \r\n\t\t\t\t\tuser: action.user, \r\n\t\t\t\t\tsession: action.session, \r\n\t\t\t\t\tmessage: action.message, \r\n\t\t\t\t\ttransmuted: action.transmuted, \r\n\t\t\t\t\tdebug: action.debug,\r\n\t\t\t\t\tlang: action.lang,\r\n\t\t\t\t\tuserAgent: action.userAgent\r\n\t\t\t\t};\r\n\t\t\tcase TypeKeys.REQUESTLOGOFF:\r\n\t\t\t\treturn {...state, isLoading: true};\r\n\t\t\tcase TypeKeys.RECEIVELOGOFF:\r\n\t\t\t\treturn {...state, isLoading: false, user: null, session: action.session, transmuted: false};\r\n\t\t\tcase TypeKeys.SETSESSION:\r\n\t\t\t\treturn {...state, session: action.session};\r\n\t\t\tcase TypeKeys.SETLANG:\r\n\t\t\t\treturn {...state, lang: action.lang};\r\n\t\t\tcase TypeKeys.CLEARSTATE:\r\n\t\t\t\treturn {...state, user: null, isLoading: false, message: '', session: '', transmuted: false};\r\n\t\t\tcase TypeKeys.UPDATEUSER:\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state, user: {\r\n\t\t\t\t\t\t...(state.user as any),\r\n\t\t\t\t\t\t...action.data\r\n\t\t\t\t\t}\r\n\t\t\t\t};\r\n\t\t\tdefault:\r\n\t\t\t\tconst exhaustiveCheck: never = action;\r\n\t\t}\r\n\r\n\t\treturn state || {user: null};\r\n\t};\r\n}","import React from 'react';\r\n\r\nimport { RequestType, useRequestProviderContext } from '@common/react/components/RequestProvider/RequestProvider';\r\nimport { request as baseRequest } from '@common/react/components/Api';\r\nimport { BaseParams } from '@common/react/objects/BaseParams';\r\nimport { BaseUser } from '@common/typescript/objects/BaseUser';\r\nimport { BaseApplicationState } from '@common/react/store';\r\n\r\nconst useRequest = (): RequestType => {\r\n\tconst requestContext = useRequestProviderContext();\r\n\r\n\tconst defaultRequest = React.useMemo(() => {\r\n\t\treturn (type: string, data: BaseParams) => baseRequest>(type, data);\r\n\t}, []);\r\n\r\n\treturn requestContext?.state?.request || defaultRequest;\r\n};\r\n\r\nexport default useRequest;\r\n","import { __values } from \"tslib\";\nimport { isElement, isError, isEvent, isInstanceOf, isPlainObject, isPrimitive, isSyntheticEvent } from './is';\nimport { Memo } from './memo';\nimport { getFunctionName, htmlTreeAsString } from './misc';\nimport { truncate } from './string';\n/**\n * Wrap a given object method with a higher-order function\n *\n * @param source An object that contains a method to be wrapped.\n * @param name A name of method to be wrapped.\n * @param replacement A function that should be used to wrap a given method.\n * @returns void\n */\nexport function fill(source, name, replacement) {\n if (!(name in source)) {\n return;\n }\n var original = source[name];\n var wrapped = replacement(original);\n // Make sure it's a function first, as we need to attach an empty prototype for `defineProperties` to work\n // otherwise it'll throw \"TypeError: Object.defineProperties called on non-object\"\n if (typeof wrapped === 'function') {\n try {\n wrapped.prototype = wrapped.prototype || {};\n Object.defineProperties(wrapped, {\n __sentry_original__: {\n enumerable: false,\n value: original,\n },\n });\n }\n catch (_Oo) {\n // This can throw if multiple fill happens on a global object like XMLHttpRequest\n // Fixes https://github.com/getsentry/sentry-javascript/issues/2043\n }\n }\n source[name] = wrapped;\n}\n/**\n * Encodes given object into url-friendly format\n *\n * @param object An object that contains serializable values\n * @returns string Encoded\n */\nexport function urlEncode(object) {\n return Object.keys(object)\n .map(function (key) { return encodeURIComponent(key) + \"=\" + encodeURIComponent(object[key]); })\n .join('&');\n}\n/**\n * Transforms any object into an object literal with all it's attributes\n * attached to it.\n *\n * @param value Initial source that we have to transform in order to be usable by the serializer\n */\nfunction getWalkSource(value) {\n if (isError(value)) {\n var error = value;\n var err = {\n message: error.message,\n name: error.name,\n stack: error.stack,\n };\n for (var i in error) {\n if (Object.prototype.hasOwnProperty.call(error, i)) {\n err[i] = error[i];\n }\n }\n return err;\n }\n if (isEvent(value)) {\n var event_1 = value;\n var source = {};\n source.type = event_1.type;\n // Accessing event.target can throw (see getsentry/raven-js#838, #768)\n try {\n source.target = isElement(event_1.target)\n ? htmlTreeAsString(event_1.target)\n : Object.prototype.toString.call(event_1.target);\n }\n catch (_oO) {\n source.target = '';\n }\n try {\n source.currentTarget = isElement(event_1.currentTarget)\n ? htmlTreeAsString(event_1.currentTarget)\n : Object.prototype.toString.call(event_1.currentTarget);\n }\n catch (_oO) {\n source.currentTarget = '';\n }\n if (typeof CustomEvent !== 'undefined' && isInstanceOf(value, CustomEvent)) {\n source.detail = event_1.detail;\n }\n for (var i in event_1) {\n if (Object.prototype.hasOwnProperty.call(event_1, i)) {\n source[i] = event_1;\n }\n }\n return source;\n }\n return value;\n}\n/** Calculates bytes size of input string */\nfunction utf8Length(value) {\n // eslint-disable-next-line no-bitwise\n return ~-encodeURI(value).split(/%..|./).length;\n}\n/** Calculates bytes size of input object */\nfunction jsonSize(value) {\n return utf8Length(JSON.stringify(value));\n}\n/** JSDoc */\nexport function normalizeToSize(object, \n// Default Node.js REPL depth\ndepth, \n// 100kB, as 200kB is max payload size, so half sounds reasonable\nmaxSize) {\n if (depth === void 0) { depth = 3; }\n if (maxSize === void 0) { maxSize = 100 * 1024; }\n var serialized = normalize(object, depth);\n if (jsonSize(serialized) > maxSize) {\n return normalizeToSize(object, depth - 1, maxSize);\n }\n return serialized;\n}\n/** Transforms any input value into a string form, either primitive value or a type of the input */\nfunction serializeValue(value) {\n var type = Object.prototype.toString.call(value);\n // Node.js REPL notation\n if (typeof value === 'string') {\n return value;\n }\n if (type === '[object Object]') {\n return '[Object]';\n }\n if (type === '[object Array]') {\n return '[Array]';\n }\n var normalized = normalizeValue(value);\n return isPrimitive(normalized) ? normalized : type;\n}\n/**\n * normalizeValue()\n *\n * Takes unserializable input and make it serializable friendly\n *\n * - translates undefined/NaN values to \"[undefined]\"/\"[NaN]\" respectively,\n * - serializes Error objects\n * - filter global objects\n */\nfunction normalizeValue(value, key) {\n if (key === 'domain' && value && typeof value === 'object' && value._events) {\n return '[Domain]';\n }\n if (key === 'domainEmitter') {\n return '[DomainEmitter]';\n }\n if (typeof global !== 'undefined' && value === global) {\n return '[Global]';\n }\n if (typeof window !== 'undefined' && value === window) {\n return '[Window]';\n }\n if (typeof document !== 'undefined' && value === document) {\n return '[Document]';\n }\n // React's SyntheticEvent thingy\n if (isSyntheticEvent(value)) {\n return '[SyntheticEvent]';\n }\n if (typeof value === 'number' && value !== value) {\n return '[NaN]';\n }\n if (value === void 0) {\n return '[undefined]';\n }\n if (typeof value === 'function') {\n return \"[Function: \" + getFunctionName(value) + \"]\";\n }\n return value;\n}\n/**\n * Walks an object to perform a normalization on it\n *\n * @param key of object that's walked in current iteration\n * @param value object to be walked\n * @param depth Optional number indicating how deep should walking be performed\n * @param memo Optional Memo class handling decycling\n */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport function walk(key, value, depth, memo) {\n if (depth === void 0) { depth = +Infinity; }\n if (memo === void 0) { memo = new Memo(); }\n // If we reach the maximum depth, serialize whatever has left\n if (depth === 0) {\n return serializeValue(value);\n }\n /* eslint-disable @typescript-eslint/no-unsafe-member-access */\n // If value implements `toJSON` method, call it and return early\n if (value !== null && value !== undefined && typeof value.toJSON === 'function') {\n return value.toJSON();\n }\n /* eslint-enable @typescript-eslint/no-unsafe-member-access */\n // If normalized value is a primitive, there are no branches left to walk, so we can just bail out, as theres no point in going down that branch any further\n var normalized = normalizeValue(value, key);\n if (isPrimitive(normalized)) {\n return normalized;\n }\n // Create source that we will use for next itterations, either objectified error object (Error type with extracted keys:value pairs) or the input itself\n var source = getWalkSource(value);\n // Create an accumulator that will act as a parent for all future itterations of that branch\n var acc = Array.isArray(value) ? [] : {};\n // If we already walked that branch, bail out, as it's circular reference\n if (memo.memoize(value)) {\n return '[Circular ~]';\n }\n // Walk all keys of the source\n for (var innerKey in source) {\n // Avoid iterating over fields in the prototype if they've somehow been exposed to enumeration.\n if (!Object.prototype.hasOwnProperty.call(source, innerKey)) {\n continue;\n }\n // Recursively walk through all the child nodes\n acc[innerKey] = walk(innerKey, source[innerKey], depth - 1, memo);\n }\n // Once walked through all the branches, remove the parent from memo storage\n memo.unmemoize(value);\n // Return accumulated values\n return acc;\n}\n/**\n * normalize()\n *\n * - Creates a copy to prevent original input mutation\n * - Skip non-enumerablers\n * - Calls `toJSON` if implemented\n * - Removes circular references\n * - Translates non-serializeable values (undefined/NaN/Functions) to serializable format\n * - Translates known global objects/Classes to a string representations\n * - Takes care of Error objects serialization\n * - Optionally limit depth of final output\n */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport function normalize(input, depth) {\n try {\n return JSON.parse(JSON.stringify(input, function (key, value) { return walk(key, value, depth); }));\n }\n catch (_oO) {\n return '**non-serializable**';\n }\n}\n/**\n * Given any captured exception, extract its keys and create a sorted\n * and truncated list that will be used inside the event message.\n * eg. `Non-error exception captured with keys: foo, bar, baz`\n */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport function extractExceptionKeysForMessage(exception, maxLength) {\n if (maxLength === void 0) { maxLength = 40; }\n var keys = Object.keys(getWalkSource(exception));\n keys.sort();\n if (!keys.length) {\n return '[object has no keys]';\n }\n if (keys[0].length >= maxLength) {\n return truncate(keys[0], maxLength);\n }\n for (var includedKeys = keys.length; includedKeys > 0; includedKeys--) {\n var serialized = keys.slice(0, includedKeys).join(', ');\n if (serialized.length > maxLength) {\n continue;\n }\n if (includedKeys === keys.length) {\n return serialized;\n }\n return truncate(serialized, maxLength);\n }\n return '';\n}\n/**\n * Given any object, return the new object with removed keys that value was `undefined`.\n * Works recursively on objects and arrays.\n */\nexport function dropUndefinedKeys(val) {\n var e_1, _a;\n if (isPlainObject(val)) {\n var obj = val;\n var rv = {};\n try {\n for (var _b = __values(Object.keys(obj)), _c = _b.next(); !_c.done; _c = _b.next()) {\n var key = _c.value;\n if (typeof obj[key] !== 'undefined') {\n rv[key] = dropUndefinedKeys(obj[key]);\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return rv;\n }\n if (Array.isArray(val)) {\n return val.map(dropUndefinedKeys);\n }\n return val;\n}\n//# sourceMappingURL=object.js.map","module.exports = (__webpack_require__(3))(49);","export const parseQuery = (queryString: string): {[key: string]: string} => {\r\n\tconst query = {};\r\n\tif (queryString) {\r\n\t\tconst pairs = (queryString[0] === '?' ? queryString.substr(1) : queryString).split('&');\r\n\r\n\t\tfor (let i = 0; i < pairs.length; i++) {\r\n\t\t\tconst pair = pairs[i].split('=');\r\n\t\t\tquery[decodeURIComponent(pair[0])] = decodeURIComponent(pair[1] || '');\r\n\t\t}\r\n\t}\r\n\treturn query;\r\n};","var before = require('./before');\n\n/**\n * Creates a function that is restricted to invoking `func` once. Repeat calls\n * to the function return the value of the first invocation. The `func` is\n * invoked with the `this` binding and arguments of the created function.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * var initialize = _.once(createApplication);\n * initialize();\n * initialize();\n * // => `createApplication` is invoked once\n */\nfunction once(func) {\n return before(2, func);\n}\n\nmodule.exports = once;\n","module.exports = (__webpack_require__(3))(9);","interface WithAvatar {\r\n\tavatar: string;\r\n}\r\n\r\nimport dummyAvatar from '@common/react/images/avatar.jpg';\r\n\r\nexport function dateToLocaleCustom(t?: number):string {\r\n\tif (!t) return '';\r\n\r\n\tconst date = new Date(t),\r\n\t\tyear = date.getFullYear(),\r\n\t\tmonth = (`0${date.getMonth() + 1}`).slice(-2),\r\n\t\tday = (`0${date.getDate()}`).slice(-2);\r\n\r\n\treturn `${month}/${day}/${year}`;\r\n}\r\n\r\nexport function dateTimeToLocaleCustom(t?: number):string {\r\n\tif (!t) return '';\r\n\t\r\n\treturn `${dateToLocaleCustom(t)} ${new Date(t).toLocaleString('en-US', { hour: '2-digit', minute: '2-digit' })}`;\r\n}\r\n\r\nexport function dateToStringCustom(t?: number):string {\r\n\tif (!t) return '';\r\n\t\r\n\treturn dateToLocaleCustom(t + (new Date(t)).getTimezoneOffset() * 60 * 1000);\r\n}\r\n\r\nexport function dateTimeToStringCustom(t?: number):string {\r\n\tif (!t) return '';\r\n\t\r\n\treturn dateTimeToLocaleCustom(t + (new Date(t)).getTimezoneOffset() * 60 * 1000);\r\n}\r\n\r\nexport const getAvatar: (user: WithAvatar | null, dummyImage?: string) => string = (user, dummyImage) => {\r\n\treturn `${ (user && user.avatar) ? user.avatar : dummyImage || dummyAvatar}`;\r\n};\r\n\r\nexport function enumNameToTitle(name: string):string {\r\n\treturn name.replace(/([A-Z]+)/g, ' $1').replace(/([A-Z][a-z])/g, ' $1');\r\n}\r\n\r\nexport const getPopupContainer = triggerNode => triggerNode.parentNode as HTMLElement;\r\n\r\nexport const replaceSearchUrl = (search: string, key: string, value: string, removeEmpty = true): string => {\r\n\tconst remove = removeEmpty && ['', 'null', 'undefined', '-1', '[]'].indexOf(value) !== -1;\r\n\r\n\tif (search.indexOf(`${key}=`) !== -1) {\r\n\t\treturn search.replace(new RegExp(`(&)*(${key}=)[^\\\\&]*(&)*`), (a, b, c, d) => {\r\n\t\t\treturn remove ? (b && d ? '&' : '') : `${(b ? b : '')}${key}=${value}${(d ? d : '')}`;\r\n\t\t});\r\n\t}\r\n\r\n\treturn `${search ? `${search}` : ''}${remove ? '' : `${(search.indexOf('?') === -1 ? '?' : (search.slice(-1) === '?' ? '' : '&'))}${key}=${value}`}`;\r\n};","import { useState, useContext, useReducer, useEffect, createElement, createContext } from 'react';\n\nfunction _extends() {\n _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n\n return _extends.apply(this, arguments);\n}\n\nfunction useLocalStorage(key, initialValue) {\n var _React$useState = useState(function () {\n try {\n var item = typeof window !== \"undefined\" && window.localStorage.getItem(key);\n return item ? item : initialValue;\n } catch (error) {\n return initialValue;\n }\n }),\n storedValue = _React$useState[0],\n setStoredValue = _React$useState[1];\n\n var setValue = function setValue(value) {\n try {\n var valueToStore = value instanceof Function ? value(storedValue) : value;\n setStoredValue(valueToStore);\n window.localStorage.setItem(key, valueToStore);\n } catch (error) {\n console.log(error);\n }\n };\n\n return [storedValue, setValue];\n}\n\nvar initialState = {\n items: [],\n isEmpty: true,\n totalItems: 0,\n totalUniqueItems: 0,\n cartTotal: 0,\n metadata: {}\n};\nvar CartContext = /*#__PURE__*/createContext(initialState);\nvar createCartIdentifier = function createCartIdentifier(len) {\n if (len === void 0) {\n len = 12;\n }\n\n return [].concat(Array(len)).map(function () {\n return (~~(Math.random() * 36)).toString(36);\n }).join(\"\");\n};\nvar useCart = function useCart() {\n var context = useContext(CartContext);\n if (!context) throw new Error(\"Expected to be wrapped in a CartProvider\");\n return context;\n};\n\nfunction reducer(state, action) {\n switch (action.type) {\n case \"SET_ITEMS\":\n return generateCartState(state, action.payload);\n\n case \"ADD_ITEM\":\n {\n var items = [].concat(state.items, [action.payload]);\n return generateCartState(state, items);\n }\n\n case \"UPDATE_ITEM\":\n {\n var _items = state.items.map(function (item) {\n if (item.id !== action.id) return item;\n return _extends({}, item, action.payload);\n });\n\n return generateCartState(state, _items);\n }\n\n case \"REMOVE_ITEM\":\n {\n var _items2 = state.items.filter(function (i) {\n return i.id !== action.id;\n });\n\n return generateCartState(state, _items2);\n }\n\n case \"EMPTY_CART\":\n return initialState;\n\n case \"CLEAR_CART_META\":\n return _extends({}, state, {\n metadata: {}\n });\n\n case \"SET_CART_META\":\n return _extends({}, state, {\n metadata: _extends({}, action.payload)\n });\n\n case \"UPDATE_CART_META\":\n return _extends({}, state, {\n metadata: _extends({}, state.metadata, action.payload)\n });\n\n default:\n throw new Error(\"No action specified\");\n }\n}\n\nvar generateCartState = function generateCartState(state, items) {\n if (state === void 0) {\n state = initialState;\n }\n\n var totalUniqueItems = calculateUniqueItems(items);\n var isEmpty = totalUniqueItems === 0;\n return _extends({}, initialState, state, {\n items: calculateItemTotals(items),\n totalItems: calculateTotalItems(items),\n totalUniqueItems: totalUniqueItems,\n cartTotal: calculateTotal(items),\n isEmpty: isEmpty\n });\n};\n\nvar calculateItemTotals = function calculateItemTotals(items) {\n return items.map(function (item) {\n return _extends({}, item, {\n itemTotal: item.price * item.quantity\n });\n });\n};\n\nvar calculateTotal = function calculateTotal(items) {\n return items.reduce(function (total, item) {\n return total + item.quantity * item.price;\n }, 0);\n};\n\nvar calculateTotalItems = function calculateTotalItems(items) {\n return items.reduce(function (sum, item) {\n return sum + item.quantity;\n }, 0);\n};\n\nvar calculateUniqueItems = function calculateUniqueItems(items) {\n return items.length;\n};\n\nvar CartProvider = function CartProvider(_ref) {\n var children = _ref.children,\n cartId = _ref.id,\n _ref$defaultItems = _ref.defaultItems,\n defaultItems = _ref$defaultItems === void 0 ? [] : _ref$defaultItems,\n onSetItems = _ref.onSetItems,\n onItemAdd = _ref.onItemAdd,\n onItemUpdate = _ref.onItemUpdate,\n onItemRemove = _ref.onItemRemove,\n _ref$storage = _ref.storage,\n storage = _ref$storage === void 0 ? useLocalStorage : _ref$storage,\n metadata = _ref.metadata;\n var id = cartId ? cartId : createCartIdentifier();\n\n var _storage = storage(cartId ? \"react-use-cart-\" + id : \"react-use-cart\", JSON.stringify(_extends({\n id: id\n }, initialState, {\n items: defaultItems,\n metadata: metadata\n }))),\n savedCart = _storage[0],\n saveCart = _storage[1];\n\n var _React$useReducer = useReducer(reducer, JSON.parse(savedCart)),\n state = _React$useReducer[0],\n dispatch = _React$useReducer[1];\n\n useEffect(function () {\n saveCart(JSON.stringify(state));\n }, [state, saveCart]);\n\n var setItems = function setItems(items) {\n dispatch({\n type: \"SET_ITEMS\",\n payload: items.map(function (item) {\n return _extends({}, item, {\n quantity: item.quantity || 1\n });\n })\n });\n onSetItems && onSetItems(items);\n };\n\n var addItem = function addItem(item, quantity) {\n if (quantity === void 0) {\n quantity = 1;\n }\n\n if (!item.id) throw new Error(\"You must provide an `id` for items\");\n if (quantity <= 0) return;\n var currentItem = state.items.find(function (i) {\n return i.id === item.id;\n });\n if (!currentItem && !item.hasOwnProperty(\"price\")) throw new Error(\"You must pass a `price` for new items\");\n\n if (!currentItem) {\n var _payload = _extends({}, item, {\n quantity: quantity\n });\n\n dispatch({\n type: \"ADD_ITEM\",\n payload: _payload\n });\n onItemAdd && onItemAdd(_payload);\n return;\n }\n\n var payload = _extends({}, item, {\n quantity: currentItem.quantity + quantity\n });\n\n dispatch({\n type: \"UPDATE_ITEM\",\n id: item.id,\n payload: payload\n });\n onItemUpdate && onItemUpdate(payload);\n };\n\n var updateItem = function updateItem(id, payload) {\n if (!id || !payload) {\n return;\n }\n\n dispatch({\n type: \"UPDATE_ITEM\",\n id: id,\n payload: payload\n });\n onItemUpdate && onItemUpdate(payload);\n };\n\n var updateItemQuantity = function updateItemQuantity(id, quantity) {\n if (quantity <= 0) {\n onItemRemove && onItemRemove(id);\n dispatch({\n type: \"REMOVE_ITEM\",\n id: id\n });\n return;\n }\n\n var currentItem = state.items.find(function (item) {\n return item.id === id;\n });\n if (!currentItem) throw new Error(\"No such item to update\");\n\n var payload = _extends({}, currentItem, {\n quantity: quantity\n });\n\n dispatch({\n type: \"UPDATE_ITEM\",\n id: id,\n payload: payload\n });\n onItemUpdate && onItemUpdate(payload);\n };\n\n var removeItem = function removeItem(id) {\n if (!id) return;\n dispatch({\n type: \"REMOVE_ITEM\",\n id: id\n });\n onItemRemove && onItemRemove(id);\n };\n\n var emptyCart = function emptyCart() {\n return dispatch({\n type: \"EMPTY_CART\"\n });\n };\n\n var getItem = function getItem(id) {\n return state.items.find(function (i) {\n return i.id === id;\n });\n };\n\n var inCart = function inCart(id) {\n return state.items.some(function (i) {\n return i.id === id;\n });\n };\n\n var clearCartMetadata = function clearCartMetadata() {\n dispatch({\n type: \"CLEAR_CART_META\"\n });\n };\n\n var setCartMetadata = function setCartMetadata(metadata) {\n if (!metadata) return;\n dispatch({\n type: \"SET_CART_META\",\n payload: metadata\n });\n };\n\n var updateCartMetadata = function updateCartMetadata(metadata) {\n if (!metadata) return;\n dispatch({\n type: \"UPDATE_CART_META\",\n payload: metadata\n });\n };\n\n return createElement(CartContext.Provider, {\n value: _extends({}, state, {\n getItem: getItem,\n inCart: inCart,\n setItems: setItems,\n addItem: addItem,\n updateItem: updateItem,\n updateItemQuantity: updateItemQuantity,\n removeItem: removeItem,\n emptyCart: emptyCart,\n clearCartMetadata: clearCartMetadata,\n setCartMetadata: setCartMetadata,\n updateCartMetadata: updateCartMetadata\n })\n }, children);\n};\n\nexport { CartProvider, createCartIdentifier, initialState, useCart };\n//# sourceMappingURL=react-use-cart.esm.js.map\n","import React from 'react';\r\n\r\nimport {PreviewInfo} from '@common/react/objects/LinkPreview';\r\nimport '@common/react/scss/components/linkPreview.scss';\r\nimport Loader from '@common/react/components/Core/LoadingProvider/Loader';\r\n\r\ninterface LinkPreviewProps {\r\n\tpreviewInfo?: PreviewInfo;\r\n}\r\n\r\nexport const regularLink = link => `${link}`;\r\n\r\nexport const processLink = (text: string) => {\r\n\tconst regex = new RegExp(linkRegex);\r\n\treturn text.match(regex) ?? [];\r\n};\r\n\r\nexport const linkRegex = /(((?:(https?)(?::\\/\\/))((?:w{3}\\.)?(?:[a-z0-9.-]+)))((?:\\/[a-z0-9.\\-_]*)*)?((?:(?:[?&])(?:[a-z0-9%_\\-\\+]+)=(?:[a-z0-9\\-_%\\+.]+))*)?)\\n?/gim;\r\n\r\nconst LinkPreviewComponent: React.FC = ({previewInfo}) => {\r\n\tconst [showImage, setShowImage] = React.useState(true);\r\n\t\r\n\tconst handleError: React.ReactEventHandler = React.useCallback((e) => {\r\n\t\tsetShowImage(false);\r\n\t}, []);\r\n\t\r\n\treturn (\r\n\t\tpreviewInfo ?\r\n\t\t\t!previewInfo.isImage ?\r\n\t\t\t\tpreviewInfo.isLoaded && previewInfo.title ? \r\n\t\t\t\t\t :\r\n\t\t\t\t\tnull :\r\n\t\t\t\t :\r\n\t\t\t\r\n\t);\r\n};\r\n\r\nexport default LinkPreviewComponent;","module.exports = (__webpack_require__(3))(11);","import React from 'react';\r\n\r\nimport '@commonTuna/react/scss/components/logoLoader.scss';\r\n\r\ninterface IProps {\r\n\tsize?: number;\r\n\twithScale?: number;\r\n}\r\n\r\nconst LogoLoader: React.FC = ({ size = 60, withScale = 1 }) => {\r\n\tconst len = size * Math.PI;\r\n\tconst strokeWidth = `${size * withScale / 30}`;\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nexport const LogoLoaderPage: React.FC = (props) => {\r\n\treturn (\r\n\t\t
\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nexport default LogoLoader;","import * as React from 'react';\r\nimport {Link, LinkProps, withRouter} from 'react-router-dom';\r\n\r\nimport * as H from 'history';\r\nimport {RouteComponentProps} from 'react-router';\r\n\r\ntype Props = LinkProps & RouteComponentProps<{}>;\r\n\r\nconst LinkWithPrevLocation: React.FC = ({to, children, location, match, staticContext, history, ...rest}) => {\r\n\tlet descriptor : H.LocationDescriptor;\r\n\tconst state = { prevPath: `${location.pathname}${location.search}${location.hash}`};\r\n\t\r\n\tif (typeof to === 'string') {\r\n\t\tdescriptor = {\r\n\t\t\tpathname: to, \r\n\t\t\tstate\r\n\t\t};\r\n\t} else {\r\n\t\tdescriptor = {\r\n\t\t\t...to,\r\n\t\t\tstate\r\n\t\t};\r\n\t}\r\n\t\r\n\treturn {children};\r\n};\r\n\r\nexport default withRouter(LinkWithPrevLocation);","import * as React from 'react';\r\n\r\nimport AutoComplete, {AutoCompleteProps} from 'antd/lib/auto-complete';\r\nimport {SelectValue} from 'antd/es/select';\r\nimport LoadingOutlined from '@ant-design/icons/LoadingOutlined';\r\nimport {DefaultOptionType} from 'antd/lib/select';\r\n\r\nimport { request } from '@common/react/components/Api';\r\nimport {Rows} from '@common/typescript/objects/List';\r\nimport {debounce} from '@common/typescript/Utils';\r\nimport {getPopupContainer} from '@common/react/components/Utils/Utils';\r\nimport {WithId} from '@common/typescript/objects/WithId';\r\nimport {BaseParams} from '@common/typescript/objects/BaseParams';\r\nimport {BaseUser} from '@common/react/objects/BaseUser';\r\nimport {BaseApplicationState} from '@common/react/store';\r\nimport {isFunction, isUndefined} from '@common/react/utils/guards';\r\n\r\nexport const Option = AutoComplete.Option;\r\n\r\ninterface AutocompleteState {\r\n\titems: OptionType[];\r\n\tvalue: string;\r\n\tisLoading: boolean;\r\n}\r\n\r\nexport interface OptionType extends Omit {\r\n\titem?: any;\r\n\tlabel: React.ReactNode;\r\n}\r\n\r\ntype RenderTitleFunc = (item: T) => React.ReactNode;\r\n\r\nexport interface AutocompleteProps extends Pick {\r\n\ttype: string;\r\n\tonSelect: (value: string, option?: any) => void;\r\n\tonChange?: (value: string) => void;\r\n\trenderOption?: (item: T) => OptionType;\r\n\trenderTitle?: keyof T | RenderTitleFunc;\r\n\tparams?: BaseParams;\r\n\tparamName?: string;\r\n\tmin?: number;\r\n\tvalue: string;\r\n\tisClear?: boolean;\r\n\tantdProps?: AutoCompleteProps & P;\r\n\tloadOnFocus?: boolean;\r\n\tdisabled?: boolean;\r\n\tplaceholder?: string;\r\n\tonExtraRender?: (state: AutocompleteState, props: AutocompleteProps) => void;\r\n\tloaderMarkup?: JSX.Element;\r\n\tupdateAfterSelect?: boolean;\r\n\ttransformValue?: (value: string) => string;\r\n\tshouldSelectMatch?: boolean;\r\n\tadditionalOptions?: OptionType[];\r\n\tgetValueFromOption?: (option: OptionType) => any;\r\n\tinnerOnChange?: (value: SelectValue, setState) => void;\r\n}\r\n\r\nconst getValueFromOptionDefault = (option: OptionType) => {\r\n\treturn option.item?.id || option.props?.item?.id;\r\n};\r\n\r\nexport default class Autocomplete extends React.Component, AutocompleteState> {\r\n\tpublic static defaultProps: Partial = {\r\n\t\tvalue: '',\r\n\t\tloaderMarkup: ,\r\n\t\tparamName: 'text',\r\n\t\tshouldSelectMatch: true,\r\n\t};\r\n\r\n\tconstructor(props: AutocompleteProps) {\r\n\t\tsuper(props);\r\n\r\n\t\tthis.state = {\r\n\t\t\titems: [],\r\n\t\t\tvalue: this.props.value || '',\r\n\t\t\tisLoading: false,\r\n\t\t};\r\n\r\n\t\tthis.loadItems = debounce(this.loadItems.bind(this), 300);\r\n\t\tthis.onSearchHandler = this.onSearchHandler.bind(this);\r\n\t\tthis.defaultRender = this.defaultRender.bind(this);\r\n\t\tthis.selectMatchingOption = this.selectMatchingOption.bind(this);\r\n\t}\r\n\r\n\tdefaultRender(item: T): OptionType {\r\n\t\tconst {renderTitle} = this.props;\r\n\t\t\r\n\t\tlet title;\r\n\t\t\r\n\t\tif (isFunction(renderTitle)) {\r\n\t\t\ttitle = renderTitle(item);\r\n\t\t} else {\r\n\t\t\ttitle = `${item[(renderTitle || 'name') as keyof T]}`;\r\n\t\t}\r\n\t\t\r\n\t\treturn {\r\n\t\t\titem: item,\r\n\t\t\ttitle,\r\n\t\t\tkey: item.id,\r\n\t\t\tvalue: title,\r\n\t\t\tlabel: title\r\n\t\t};\r\n\t}\r\n\r\n\tUNSAFE_componentWillReceiveProps(nextProps: AutocompleteProps) {\r\n\t\tif (nextProps.value !== this.props.value) {\r\n\t\t\tthis.setState({\r\n\t\t\t\tvalue: nextProps.value\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tshouldComponentUpdate(nextProps: AutocompleteProps, nextState: AutocompleteState) {\r\n\t\treturn nextProps.value !== this.props.value ||\r\n\t\t\tnextProps.disabled !== this.props.disabled ||\r\n\t\t\tnextProps.placeholder !== this.props.placeholder ||\r\n\t\t\tnextState.value !== this.state.value ||\r\n\t\t\tnextState.items !== this.state.items || \r\n\t\t\tnextState.isLoading !== this.state.isLoading;\r\n\t}\r\n\r\n\tonChange = (value: SelectValue) => {\r\n\t\tif (this.props.innerOnChange) {\r\n\t\t\tthis.props.innerOnChange(value, value => this.setState(value));\r\n\t\t} else {\r\n\t\t\tthis.setState({\r\n\t\t\t\tvalue: value as string,\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\tthis.props.onChange && this.props.onChange(value as string);\r\n\t}\r\n\r\n\tonSelect = (value, option) => {\r\n\t\tconst selectedValue = (this.props.getValueFromOption || getValueFromOptionDefault)(option);\r\n\r\n\t\tthis.props.onSelect && this.props.onSelect(selectedValue, option);\r\n\t\t\r\n\t\tif (this.props.isClear) {\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tvalue: ''\r\n\t\t\t\t});\r\n\t\t\t}, 0);\r\n\t\t} else {\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\titems: []\r\n\t\t\t\t});\r\n\t\t\t}, 0);\r\n\t\t}\r\n\t\t\r\n\t\tif (this.props.updateAfterSelect) {\r\n\t\t\tsetTimeout(() => this.loadItems(this.state.value), 0);\r\n\t\t} \r\n\t}\r\n\r\n\tloadItems(value: string) {\r\n\t\tconst {renderOption, type, params, paramName, transformValue, shouldSelectMatch } = this.props;\r\n\t\t\r\n\t\tthis.setState({isLoading: true});\r\n\t\t\r\n\t\tconst newParams = {\r\n\t\t\t...params,\r\n\t\t\t[paramName!]: transformValue ? transformValue(value) : value\r\n\t\t};\r\n\r\n\t\trequest, BaseUser, BaseApplicationState>(type, newParams).then((response) => {\r\n\t\t\tconst items = this.props.additionalOptions?.length \r\n\t\t\t\t? this.props.additionalOptions.concat(response.list.map(renderOption || this.defaultRender))\r\n\t\t\t\t: response.list.map(renderOption || this.defaultRender);\r\n\r\n\t\t\tthis.setState({\r\n\t\t\t\tisLoading: false,\r\n\t\t\t\titems,\r\n\t\t\t});\r\n\t\t\t\r\n\t\t\tshouldSelectMatch && this.selectMatchingOption(items, value);\r\n\t\t}).catch(() => {\r\n\t\t\tthis.setState({\r\n\t\t\t\tisLoading: false,\r\n\t\t\t\titems: []\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\t\r\n\tselectMatchingOption(items, value: string) {\r\n\t\tif (items.length === 1 && value) {\r\n\t\t\tconst item = this.state.items[0] as any;\r\n\r\n\t\t\tconst condition: boolean = item.props && typeof item.props.children === 'string' &&\r\n\t\t\t\titem.props.children.toLowerCase() === value.toLowerCase();\r\n\r\n\t\t\tif (condition) {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tvalue: item.key,\r\n\t\t\t\t});\r\n\r\n\t\t\t\tthis.onSelect(item.key, item);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tonSearchHandler (value: string) {\r\n\t\tconst { min = 3, loadOnFocus } = this.props;\r\n\r\n\t\tif (value.length >= min || loadOnFocus) {\r\n\t\t\tthis.loadItems(value);\r\n\t\t} else {\r\n\t\t\tthis.setState({\r\n\t\t\t\titems: []\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tonFocus = () => {\r\n\t\tif (this.state.value === '') {\r\n\t\t\tthis.onSearchHandler('');\r\n\t\t}\r\n\t}\r\n\r\n\trender(): JSX.Element {\r\n\t\tconst {disabled, onExtraRender, loadOnFocus, loaderMarkup, placeholder, antdProps, children} = this.props;\r\n\t\t\r\n\t\treturn \r\n\t\t\t
\r\n\t\t\t\t{this.state.isLoading &&
{loaderMarkup}
}\r\n\t\t\t\t\r\n\t\t\t\t\t{children}\r\n\t\t\t\t\r\n\t\t\t
\r\n\t\t\t{onExtraRender && onExtraRender(this.state, this.props)}\r\n\t\t
;\r\n\t}\r\n}","import React from 'react';\r\nimport { shallowEqual, useDispatch, useSelector } from 'react-redux';\r\nimport {useHistory} from 'react-router-dom';\r\n\r\nimport once from 'lodash/once';\r\nimport { fetch } from 'domain-task';\r\nimport loadable from '@loadable/component';\r\n\r\nimport {loadableDelay} from '@common/react/loadable/loadableSettings';\r\nimport { BaseApplicationState } from '@common/react/store';\r\nimport { BaseUser } from '@common/typescript/objects/BaseUser';\r\nimport { BaseParams } from '@common/typescript/objects/BaseParams';\r\nimport Loader from '@common/react/components/Core/LoadingProvider/Loader';\r\nimport { TypeKeys } from '@common/react/store/Login';\r\n\r\nconst params = {fallback: };\r\n\r\nconst ErrorPage = loadable(() =>\r\n\tloadableDelay(import(/* webpackChunkName: \"ErrorPage\" */ '@common/react/components/Pages/ErrorPage/ErrorPage')), params);\r\n\r\nconst AccessDenied = loadable(() =>\r\n\tloadableDelay(import(/* webpackChunkName: \"AccessDenied\" */\r\n\t\t'@common/react/components/Pages/AccessDenied/AccessDenied')), params);\r\n\r\nconst NotFound = loadable(() =>\r\n\tloadableDelay(import(/* webpackChunkName: \"PageNotFound\" */\r\n\t\t'@common/react/components/UI/PageNotFound/PageNotFound')), params);\r\n\r\nexport type RequestType = (type: string, data?: BaseParams) => Promise;\r\n\r\ninterface ErrorComponents {\r\n\taccessDenied: React.JSXElementConstructor<{}>;\r\n\tnotFound: React.JSXElementConstructor<{}>;\r\n\terrorPage: React.JSXElementConstructor<{message?: string}>;\r\n}\r\n\r\nexport interface RequestProviderProps {\r\n\terrorHandlerForCustomCodes?: (ResponseError: ResponseError) => void;\r\n\tgetErrorComponents?: (ResponseError: ResponseError, component: ErrorComponents) => React.ReactNode;\r\n\taccessDeniedComponent?: any;\r\n\terrorComponents?: Partial;\r\n}\r\n\r\nexport interface RequestProviderContextState {\r\n\trequest: RequestType;\r\n}\r\n\r\nexport interface RequestProviderContext {\r\n\tstate: RequestProviderContextState;\r\n}\r\n\r\nexport const createRequestProviderContext = once(() => React.createContext({} as RequestProviderContext));\r\n\r\nexport const useRequestProviderContext: () => RequestProviderContext = () => React.useContext(createRequestProviderContext());\r\n\r\ninterface Message {\r\n\tsuccess: number;\r\n\tresponse: T;\r\n\tsession: string;\r\n}\r\n\r\nexport enum ErrorCode\r\n{\r\n\tNotStated = 0,\r\n\tNoRights = 1,\r\n\tUnspecifiedError = 42,\r\n\tNotFound = 65,\r\n\tCaptchaRequired = 66,\r\n\tTemporaryDisabled = 67\r\n}\r\n\r\nexport interface ResponseError {\r\n\tmessage: string;\r\n\tcode: number;\r\n\tpath: string;\r\n\tisLogin?: boolean;\r\n}\r\n\r\nconst defaultErrorComponents = {\r\n\taccessDenied: AccessDenied,\r\n\tnotFound: NotFound,\r\n\terrorPage: ErrorPage\r\n};\r\n\r\nexport const getDefaultErrorComponents = (error: ResponseError, components: ErrorComponents) => {\r\n\tconst {\r\n\t\taccessDenied: AccessDeniedComponent,\r\n\t\tnotFound: NotFoundComponent,\r\n\t\terrorPage: ErrorPageComponent\r\n\t} = components;\r\n\tswitch (error.code)\r\n\t{\r\n\t\tcase ErrorCode.NoRights:\r\n\t\t\treturn ;\r\n\t\tcase ErrorCode.NotFound:\r\n\t\t\treturn ;\r\n\t\tcase ErrorCode.UnspecifiedError:\r\n\t\t\treturn ;\r\n\t\tdefault:\r\n\t\t\treturn null;\r\n\t}\r\n};\r\n\r\nexport const RequestProvider: React.FC = ({children, ...props}) => {\r\n\tconst {\r\n\t\tgetErrorComponents = getDefaultErrorComponents,\r\n\t\terrorHandlerForCustomCodes = () => {},\r\n\t\terrorComponents = defaultErrorComponents\r\n\t} = props;\r\n\r\n\tconst [errorComponent, setErrorComponent] = React.useState(null);\r\n\r\n\tconst ItemContext = createRequestProviderContext();\r\n\r\n\tconst session = useSelector((state: BaseApplicationState) => state.login.session, shallowEqual);\r\n\tconst history = useHistory();\r\n\tconst dispatch = useDispatch();\r\n\r\n\tconst errorHandler = (error: ResponseError) => {\r\n\t\tif (error.code === ErrorCode.NoRights) {\r\n\t\t\tif (!error.isLogin) {\r\n\t\t\t\tdispatch({type: TypeKeys.CLEARSTATE});\r\n\t\t\t\thistory.replace(error.path || '/');\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (error.path !== '/') {\r\n\t\t\t\thistory.replace(error.path);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tconst errorComponent = getErrorComponents(error, {...defaultErrorComponents, ...errorComponents});\r\n\t\tif (errorComponent) {\r\n\t\t\tsetErrorComponent(errorComponent);\r\n\t\t} else {\r\n\t\t\terrorHandlerForCustomCodes(error);\r\n\t\t}\r\n\r\n\t\tconsole.log(error.message);\r\n\t};\r\n\r\n\tconst request = React.useMemo(() => {\r\n\t\treturn (type: string, data: BaseParams = {}): Promise => {\r\n\t\t\treturn fetch('api/post', {\r\n\t\t\t\tcredentials: 'same-origin',\r\n\t\t\t\tmethod: 'POST',\r\n\t\t\t\theaders: {\r\n\t\t\t\t\t'Content-type': 'application/json; charset=utf-8',\r\n\t\t\t\t\tCookie: `session=${session || ''}`\r\n\t\t\t\t},\r\n\t\t\t\tbody: JSON.stringify({\r\n\t\t\t\t\ttype,\r\n\t\t\t\t\tdata: JSON.stringify(data)\r\n\t\t\t\t})\r\n\t\t\t})\r\n\t\t\t\t.then(response => response.json() as Message)\r\n\t\t\t\t.then((data: Message) => {\r\n\t\t\t\t\tif (!data.success) {\r\n\t\t\t\t\t\tthrow data.response as ResponseError;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn data.response as T;\r\n\t\t\t\t})\r\n\t\t\t\t.catch((error: ResponseError) => {\r\n\t\t\t\t\terrorHandler(error);\r\n\r\n\t\t\t\t\tthrow error.message as string;\r\n\t\t\t\t});\r\n\t\t};\r\n\t}, [session, getErrorComponents, history.location]);\r\n\r\n\tReact.useEffect(() => {\r\n\t\treturn history.listen((location, action) => {\r\n\t\t\tif (errorComponent) {\r\n\t\t\t\tsetErrorComponent(null);\r\n\t\t\t}\r\n\t\t});\r\n\t}, [errorComponent]);\r\n\r\n\tconst value = {\r\n\t\tstate: {\r\n\t\t\trequest\r\n\t\t}\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{errorComponent ? errorComponent : children}\r\n\t\t\r\n\t);\r\n};\r\n","import * as React from 'react';\r\nimport {RouteComponentProps, withRouter} from 'react-router';\r\n\r\nimport {UnregisterCallback} from 'history';\r\n\r\nimport '@common/react/scss/components/error.scss';\r\n\r\nexport class ErrorBoundary extends React.Component, {hasError: boolean}> {\r\n\tunlisten: UnregisterCallback | null = null;\r\n\t\r\n\tconstructor(props) {\r\n\t\tsuper(props);\r\n\t\tthis.state = { hasError: false };\r\n\t}\r\n\r\n\tcomponentWillUnmount() {\r\n\t\tthis.unlisten && this.unlisten();\r\n\t}\r\n\t\r\n\tcomponentDidMount() {\r\n\t\tthis.unlisten = this.props.history.listen((location, action) => {\r\n\t\t\tif (this.state.hasError) {\r\n\t\t\t\tthis.setState({ hasError: false });\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\t\r\n\tcomponentDidCatch(error, errorInfo) {\r\n\t\tthis.setState({hasError: true});\r\n\t}\r\n\r\n\trender() {\r\n\t\tif (this.state.hasError) {\r\n\t\t\treturn
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\tOops!!!
Something went wrong\r\n\t\t\t\t
\r\n\t\t\t
;\r\n\t\t}\r\n\r\n\t\treturn this.props.children;\r\n\t}\r\n}\r\n\r\nexport default withRouter(ErrorBoundary);","import * as React from 'react';\r\nimport {withRouter} from 'react-router';\r\n\r\nimport * as Sentry from '@sentry/browser';\r\n\r\nimport {ErrorBoundary} from '@common/react/components/UI/ErrorBoundary/ErrorBoundary';\r\n\r\nclass ErrorBoundaryWithSentry extends ErrorBoundary {\r\n\tcomponentDidCatch(error, errorInfo) {\r\n\t\tsuper.componentDidCatch && super.componentDidCatch(error, errorInfo);\r\n\t\tSentry.captureException(error);\r\n\t}\r\n}\r\n\r\nexport default withRouter(ErrorBoundaryWithSentry);","module.exports = (__webpack_require__(3))(2);","import {BaseParams} from '@common/typescript/objects/BaseParams';\r\n\r\nexport function addPrefix(obj: object, prefix: string) {\r\n\treturn Object.entries(obj)\r\n\t\t.reduce((acc, [key, value]) => ({...acc, [`${prefix}${key}`]: value}), {});\r\n}\r\n\r\nexport function removePrefix(obj: object, prefix: string) {\r\n\treturn Object.entries(obj)\r\n\t\t.reduce((acc, [key, value]) => {\r\n\t\t\tif (key.indexOf(prefix) !== 0 || prefix === '') {\r\n\t\t\t\treturn {...acc, [key]: value};\r\n\t\t\t}\r\n\t\t\treturn {...acc, [key.slice(prefix.length)]: value};\r\n\t\t}, {});\r\n}\r\n\r\nexport function filterByPrefix(obj: object, prefix: string) {\r\n\treturn Object.entries(obj)\r\n\t\t.reduce((acc, [key, value]) => (\r\n\t\t\tkey.indexOf(prefix) !== 0 ? \r\n\t\t\t\tacc : {...acc, [key]: value}\r\n\t\t), {});\r\n}\r\n\r\nexport function getKeysByPrefix(obj: BaseParams, prefix?: string): BaseParams {\r\n\tif (!prefix) {\r\n\t\treturn obj;\r\n\t}\r\n\r\n\treturn removePrefix(filterByPrefix(obj, prefix), prefix);\r\n}","import * as React from 'react';\r\nimport { useLocation, useHistory, useParams } from 'react-router-dom';\r\n\r\nimport once from 'lodash/once';\r\n\r\nimport { BaseParams } from '@common/typescript/objects/BaseParams';\r\nimport {\r\n\taddPrefix,\r\n\tgetKeysByPrefix,\r\n} from '@common/react/utils/ObjectKeysPrefix/objectKeysPrefix';\r\nimport {generateGUID} from '@common/react/utils/utils';\r\n\r\nimport { List } from '@common/typescript/objects/List';\r\nimport { WithDeleted } from '@common/typescript/objects/WithDeleted';\r\nimport { handleUrl, getSearchParamsFromUrl } from '@common/react/utils/FIltersParamsFromUrl/FiltersParamsFromUrl';\r\nimport useRequest from '@common/react/hooks/useRequest';\r\n\r\nexport enum Mode {\r\n\tView,\r\n\tEdit\r\n}\r\n\r\nexport enum SortingDirection {\r\n\tDefault = 0,\r\n\tAscending = 1,\r\n\tDescending = 2\r\n}\r\n\r\nexport interface WithKey extends WithDeleted {\r\n\tkeyGUID?: string;\r\n}\r\n\r\ninterface Edits {\r\n\t[key: string]: T;\r\n}\r\n\r\ninterface FiltersRef {\r\n\tfilters: BaseParams;\r\n\tsilent?: boolean;\r\n\tconcatResult?: boolean;\r\n\tresetFilters?: boolean;\r\n}\r\n\r\nexport interface ItemsProviderProps {\r\n\ttype: string;\r\n\tchildren: any;\r\n\titems?: T[];\r\n\tfilters?: BaseParams;\r\n\tloadRequest?: string;\r\n\tsaveRequest?: string;\r\n\tsaveAllRequest?: string;\r\n\tpagination?: any;\r\n\tadd?: (items: T[]) => T;\r\n\tmultiple?: boolean;\r\n\tvalidationSchema?: any;\r\n\tclearForSubmit?: (item: T) => any;\r\n\tonRequestError?: ((error: string) => void);\r\n\tonValidationError?: ((key, err, error: any) => void);\r\n\tmode?: Mode;\r\n\tobjectKey?: string;\r\n\tarrayName?: string;\r\n\tupdateItems?: (items: T[]) => void;\r\n\tonLoad?: (res: any) => void;\r\n\ttransformItems?: (res: any, filters: any) => any;\r\n\tunhandledFilters?: any;\r\n\twithHandleUrl?: boolean;\r\n\ttransformFiltersBeforeHandleUrl?: (filters) => any;\r\n\tpath?: string;\r\n\tgetPageFromParams?: (params) => any;\r\n\tfiltersPrefix?: string;\r\n\tpageInSearch?: boolean;\r\n\taddedFirst?: boolean;\r\n\tusePropsPagination?: boolean;\r\n\tdefaultFilters?: BaseParams;\r\n\tafterResetFilters?: (filters?: BaseParams) => void; // for clear autocompletes or other filters\r\n\teditItems?: Edits;\r\n\tsyncItems?: T[];\r\n\tdelay?: number; // ms\r\n\tonItemsChange?: (items: T[], filters?: any) => void;\r\n\tskipValidationAll?: boolean;\r\n}\r\n\r\nexport interface ItemsProviderContextState {\r\n\titems: T[];\r\n\tloading: boolean;\r\n\tpagination: any;\r\n\tfilters: any;\r\n\tedits: any;\r\n\terrors: any;\r\n\tloaders: any;\r\n\tmultiple: boolean;\r\n\ttype: string;\r\n\tselectedRows: T[];\r\n\tinitialValues?: any;\r\n\taddedFirst?: boolean;\r\n\tadvancedItems?: T[]; // used in AdvancedItemsProvider\r\n}\r\n\r\ninterface LoadData {\r\n\tpage: number;\r\n\tpageSize: number;\r\n\tshowSizeChanger?: boolean;\r\n\tpageSizeOptions?: Array;\r\n\toffset?: number;\r\n}\r\n\r\nexport interface ItemsProviderContext {\r\n\tstate: ItemsProviderContextState;\r\n\tactions: any;\r\n}\r\n\r\nexport const createItemsProviderContext = once(() => React.createContext({} as ItemsProviderContext));\r\n\r\nexport const useItemsProviderContext: () => ItemsProviderContext = () =>\r\n\tReact.useContext(createItemsProviderContext());\r\n\r\nexport const defaultPageSizeOptions = [10, 20, 30, 40];\r\n\r\nconst addGUID = (items: Array) => items.map(item => ({...item, keyGUID: generateGUID()}));\r\n\r\nexport const defaultTransformFiltersBeforeHandleUrl = filters => ({\r\n\t...filters,\r\n\tpage: undefined,\r\n\tcount: filters.count || filters.pageSize,\r\n\tcurrent: undefined,\r\n\tshowSizeChanger: undefined,\r\n\ttotal: undefined,\r\n\toffset: undefined,\r\n\tpageSizeOptions: undefined,\r\n\tpageSize: undefined\r\n});\r\n\r\nexport const ItemsProvider: (p: ItemsProviderProps) => React.ReactElement = ({\r\n\titems = [] as any,\r\n\ttype,\r\n\tfilters = {},\r\n\tloadRequest = type.includes('Remote') ? `${type.replace('Remote', '')}ListRemote` : `${type}List`,\r\n\tsaveRequest = type,\r\n\tsaveAllRequest = '',\r\n\tchildren,\r\n\tpagination = { current: 1, pageSize: 10, showSizeChanger: false, total: 0 } as any,\r\n\tadd = items => ({id: -1}),\r\n\tmultiple = false,\r\n\tvalidationSchema = undefined as any,\r\n\tclearForSubmit = item => item,\r\n\tonRequestError = (error: string) => {},\r\n\tonValidationError = (key, err, error: any) => {},\r\n\tmode = Mode.View,\r\n\tobjectKey = '',\r\n\tarrayName = '',\r\n\tupdateItems = (items) => {},\r\n\tonLoad = (res) => {},\r\n\ttransformItems = (res, filters) => res,\r\n\tunhandledFilters = {},\r\n\ttransformFiltersBeforeHandleUrl = defaultTransformFiltersBeforeHandleUrl,\r\n\twithHandleUrl = false,\r\n\tgetPageFromParams = ({ page }) => page,\r\n\tfiltersPrefix= '',\r\n\tpath = '',\r\n\tpageInSearch = false,\r\n\tdefaultFilters = {} as BaseParams,\r\n\tafterResetFilters = () => {},\r\n\taddedFirst = false,\r\n\tusePropsPagination = false, // for AdvancedItemsProvider,\r\n\teditItems = undefined as any,\r\n\tsyncItems = undefined as any,\r\n\tdelay = 0,\r\n\tonItemsChange = undefined as any,\r\n\tskipValidationAll = false\r\n}) => {\r\n\tconst ItemsContext = createItemsProviderContext();\r\n\tconst location = useLocation();\r\n\tconst history = useHistory();\r\n\tconst params = useParams();\r\n\r\n\tconst [edits, setEdits] = React.useState>(editItems || {});\r\n\tconst [_items, _setItems] = React.useState(items ? addGUID(items) as T[] : []);\r\n\tconst [loaders, setLoaders] = React.useState({});\r\n\tconst [loading, setLoading] = React.useState(false);\r\n\tconst [_filters, setFilters] = React.useState({\r\n\t\t...filters,\r\n\t\tpageSize: pagination.pageSize,\r\n\t\tcurrent: pagination.current,\r\n\t\t...(withHandleUrl ? getKeysByPrefix(getSearchParamsFromUrl(location, filtersPrefix), filtersPrefix) : {}),\r\n\t\t...(usePropsPagination ? {count: undefined} : {})\r\n\t});\r\n\tconst [_pagination, setPagination] = React.useState(withHandleUrl && !usePropsPagination\r\n\t\t? {\r\n\t\t\t...pagination,\r\n\t\t\tcurrent: pageInSearch ? _filters.page || pagination.current : pagination.current,\r\n\t\t\tpageSize: _filters.count || _filters.pageSize || pagination.pageSize,\r\n\t\t\tshowSizeChanger: !!pagination.showSizeChanger\r\n\t\t}\r\n\t\t: {\r\n\t\t\t...pagination,\r\n\t\t\tshowSizeChanger: !!pagination.showSizeChanger\r\n\t\t}\r\n\t);\r\n\tconst [errors, setErrors] = React.useState({});\r\n\tconst [id, setId] = React.useState(-1);\r\n\tconst [selectedRows, setSelectedRows] = React.useState([]);\r\n\t// const [refs, setRef] = React.useState([]);\r\n\tconst filtersRef = React.useRef(null);\r\n\tconst pageSizeOptions: Array = pagination.pageSizeOptions || defaultPageSizeOptions;\r\n\tconst request = useRequest();\r\n\r\n\tlet refs = {};\r\n\tconst setRef = (obj) => {\r\n\t\trefs = { ...refs, ...obj };\r\n\t};\r\n\r\n\tconst initEdits = (items, edits) => {\r\n\t\tlet _edits = edits;\r\n\r\n\t\tif (mode === Mode.Edit) {\r\n\t\t\tconst temp = {};\r\n\r\n\t\t\tfor (let i = 0; i < items.length; i++) {\r\n\t\t\t\tconst edit = edits[items[i].id];\r\n\r\n\t\t\t\tif (!edit) {\r\n\t\t\t\t\tif (items[i].id < 0) {\r\n\t\t\t\t\t\tsetId(id - 1);\r\n\t\t\t\t\t\titems[i].id = id;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\ttemp[items[i].id] = items[i];\r\n\t\t\t\t} else {\r\n\t\t\t\t\ttemp[items[i].id] = { ...edit, ...items[i] };\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t_edits = { ..._edits, ...temp };\r\n\t\t} else {\r\n\t\t\t_edits = {};\r\n\t\t}\r\n\r\n\t\treturn _edits;\r\n\t};\r\n\r\n\tReact.useEffect(() => {\r\n\t\tif (!!syncItems) {\r\n\t\t\t_setItems(syncItems);\r\n\t\t\tsetEdits(initEdits(items, edits));\r\n\t\t}\r\n\t}, [syncItems]); // syncItems should be memoized or kept in state to avoid endless re-renders\r\n\r\n\tReact.useEffect(() => {\r\n\t\tsetEdits(initEdits(!_items.length ? items : _items, editItems || edits));\r\n\t}, [mode, Object.keys(editItems || {}).sort().toString()]);\r\n\r\n\tReact.useEffect(() => {\r\n\t\tif (withHandleUrl) {\r\n\t\t\tconst transformedFilters = transformFiltersBeforeHandleUrl(_filters);\r\n\t\t\tconst filters = filtersPrefix ? addPrefix(transformedFilters, filtersPrefix) : transformedFilters;\r\n\r\n\t\t\thandleUrl(filters, location, history, _filters.current, filtersPrefix, pageInSearch);\r\n\t\t}\r\n\t}, [_filters]);\r\n\r\n\tReact.useEffect(() => {\r\n\t\tif (withHandleUrl && path && !params.page && location.search) {\r\n\t\t\thistory.replace({\r\n\t\t\t\t...location,\r\n\t\t\t\tpathname: `/${path.match(/\\/d+$/) ? path : `${path}/${_filters.current || ''}`}`,\r\n\t\t\t});\r\n\t\t}\r\n\t}, [_filters.current, location.search]);\r\n\r\n\tReact.useEffect(() => {\r\n\t\t!_items.length && _setItems(items);\r\n\t\tsetEdits(initEdits(!_items.length ? items : _items, edits));\r\n\t}, []);\r\n\r\n\tconst setItems = (items) => {\r\n\t\t_setItems(items);\r\n\t\tonItemsChange && onItemsChange(items, _filters);\r\n\r\n\t\tsetEdits(initEdits(items, edits));\r\n\t};\r\n\r\n\tconst resetItems = (items, filters) => {\r\n\t\tconst transformedItems = transformItems(items, filters);\r\n\r\n\t\t_setItems(transformedItems);\r\n\t\tonItemsChange && onItemsChange(transformedItems, filters);\r\n\r\n\t\tsetEdits(initEdits(transformedItems, {}));\r\n\t};\r\n\r\n\t// \"silent\" used for load without showing loading\r\n\r\n\tconst load = (\r\n\t\tdata: LoadData = { page: 1, pageSize: 10, showSizeChanger: false },\r\n\t\tsilent?: boolean,\r\n\t\tconcatResult?: boolean,\r\n\t\tresetFilters?: boolean,\r\n\t\treverseResult?: boolean\r\n\t) => {\r\n\t\t!silent && setLoading(true);\r\n\t\tconst current = data.page || 1;\r\n\r\n\t\tconst pageSize = pageSizeOptions.find(s => +data.pageSize === +s) ?\r\n\t\t\t_pagination.showSizeChanger ? (data.pageSize || _pagination.pageSize) : _pagination.pageSize\r\n\t\t\t: _pagination.pageSize || (pageSizeOptions.length > 0 ? pageSizeOptions[0] : 10);\r\n\t\tconst newPageSize = pageSizeOptions.find(s => +pageSize === +s) ? pageSize : pageSize - 1;\r\n\r\n\t\tlet newFilters: BaseParams = {..._filters};\r\n\t\tresetFilters && Object.keys(_filters).forEach(key => newFilters[key] = undefined);\r\n\t\tnewFilters = {\r\n\t\t\t...newFilters,\r\n\t\t\t...(resetFilters ? {...unhandledFilters, ...defaultFilters} : {}),\r\n\t\t\t...data,\r\n\t\t\tshowSizeChanger: undefined,\r\n\t\t\tcount: _filters.count ? pageSize : undefined\r\n\t\t};\r\n\r\n\t\tconst offset = concatResult ? _items?.length : data.offset || (pageSize !== _pagination.pageSize ? (current - 1) * newPageSize : 0);\r\n\r\n\t\tsetFilters(newFilters);\r\n\t\tresetFilters && afterResetFilters && afterResetFilters();\r\n\r\n\t\treturn request>(loadRequest, {\r\n\t\t\t...unhandledFilters,\r\n\t\t\t...newFilters,\r\n\t\t\tpage: data.offset ? undefined : current,\r\n\t\t\tcurrent: data.offset ? undefined : newFilters.current,\r\n\t\t\toffset: offset,\r\n\t\t\tcount: pageSize,\r\n\t\t}).then((res) => {\r\n\t\t\t!silent && setLoading(false);\r\n\r\n\t\t\tconst resultItems = concatResult ?\r\n\t\t\t\treverseResult ? res.list.reverse().concat(_items) : _items.concat(res.list)\r\n\t\t\t\t\t: reverseResult ? res.list.slice(0, newPageSize).reverse() : res.list.slice(0, newPageSize);\r\n\r\n\t\t\tresetItems(addGUID(resultItems), newFilters);\r\n\r\n\t\t\tsetPagination(prev => ({\r\n\t\t\t\t...prev,\r\n\t\t\t\tcurrent: current,\r\n\t\t\t\tpageSize: newPageSize,\r\n\t\t\t\ttotal: res.count\r\n\t\t\t}));\r\n\t\t\tsetSelectedRows(silent ? selectedRows.filter((item: T) => res.list.find(({id}) => item.id === id)) : []);\r\n\r\n\t\t\tonLoad && onLoad(res);\r\n\t\t\treturn res;\r\n\t\t}).catch((error) => {\r\n\t\t\t!silent && setLoading(false);\r\n\r\n\t\t\tonRequestError(error);\r\n\r\n\t\t\tthrow error;\r\n\t\t});\r\n\t};\r\n\r\n\tconst loadDelay = (\r\n\t\tdata: LoadData = { page: 1, pageSize: 10, showSizeChanger: false },\r\n\t\tsilent?: boolean,\r\n\t\tconcatResult?: boolean,\r\n\t\tresetFilters?: boolean,\r\n\t\treverseResult?: boolean\r\n\t) => {\r\n\t\tif (delay) {\r\n\t\t\tfiltersRef.current = {\r\n\t\t\t\tfilters: {...filtersRef.current?.filters, ...data},\r\n\t\t\t\tsilent,\r\n\t\t\t\tconcatResult,\r\n\t\t\t\tresetFilters\r\n\t\t\t};\r\n\t\t\tsetFilters(prev => ({\r\n\t\t\t\t...prev,\r\n\t\t\t\t...filtersRef.current?.filters,\r\n\t\t\t\tshowSizeChanger: undefined,\r\n\t\t\t\tcount: prev.count,\r\n\t\t\t\tpageSize: prev.pageSize,\r\n\t\t\t}));\r\n\r\n\t\t\treturn new Promise(resolve => setTimeout(resolve, delay))\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tif (filtersRef.current !== null) {\r\n\t\t\t\t\t\tconst {filters, silent, concatResult, resetFilters} = filtersRef.current;\r\n\t\t\t\t\t\tfiltersRef.current = null;\r\n\t\t\t\t\t\treturn load(filters as any, silent, concatResult, resetFilters, reverseResult);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t}\r\n\r\n\t\treturn load(data, silent, concatResult, resetFilters, reverseResult);\r\n\t};\r\n\r\n\tconst loadMore = (data: LoadData, reverseResult?: boolean, silent?: boolean) => loadDelay(data, silent, true, false, reverseResult);\r\n\r\n\tconst handleChange = (params) => {\r\n\t\tif (params?.currentTarget) {\r\n\t\t\tconst { name, value } = params.currentTarget;\r\n\t\t\treturn loadDelay({[name]: value} as any);\r\n\t\t}\r\n\t\treturn loadDelay(params);\r\n\t};\r\n\r\n\tconst saveItem = (record, requestName = saveRequest) => {\r\n\t\tif (!requestName) {\r\n\t\t\tthrow 'Need saveRequest';\r\n\t\t}\r\n\r\n\t\tconst item = { ...record, ...clearForSubmit(record) };\r\n\r\n\t\tif (refs[item.id]) {\r\n\t\t\t/*\r\n\t\t\tconst r = refs[item.id](item);\r\n\r\n\t\t\titem = r.item;\r\n\r\n\t\t\tpromises.push(r.validate);\r\n\t\t\t*/\r\n\t\t}\r\n\r\n\t\tsetLoaders({ ...loaders, [record.id]: true });\r\n\r\n\t\treturn request(requestName, item).then((response: any) => {\r\n\t\t\tsetLoaders({ ...loaders, [record.id]: undefined });\r\n\r\n\t\t\treturn response;\r\n\t\t}).catch((error: string) => {\r\n\t\t\tsetLoaders({ ...loaders, [record.id]: undefined });\r\n\r\n\t\t\tonRequestError(error);\r\n\r\n\t\t\tthrow error;\r\n\t\t}).finally(() => setPagination(prev => ({\r\n\t\t\t...prev,\r\n\t\t\t..._pagination,\r\n\t\t\tpageSize: pageSizeOptions.find(s => +_pagination.pageSize === +s) ?\r\n\t\t\t\t_pagination.pageSize : _pagination.pageSize - 1\r\n\t\t})));\r\n\t};\r\n\r\n\tconst save = (record, skipValidation?: boolean, saveRequest?: string) => {\r\n\t\tconst modifiedRecord = {...record, ...(record.deleted ? record : edits[record.id])};\r\n\r\n\t\tif (!record.deleted && validationSchema && !skipValidation) {\r\n\t\t\treturn validationSchema?.validate(modifiedRecord, { abortEarly: false }).then(() => {\r\n\t\t\t\treturn saveItem(modifiedRecord, saveRequest);\r\n\t\t\t}).catch((err) => {\r\n\t\t\t\tif (err.inner) {\r\n\t\t\t\t\tconst er = {};\r\n\t\t\t\t\tfor (let i = 0; i < err.inner.length; i++) {\r\n\t\t\t\t\t\ter[err.inner[i].path] = err.inner[i].errors[0];\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tsetErrors({ ...errors, [record.id]: er });\r\n\r\n\t\t\t\t\tonValidationError(record.id, er, err);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthrow err;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t\treturn saveItem(modifiedRecord, saveRequest);\r\n\t};\r\n\r\n\tconst reload = (p, resetFilters?: boolean) => {\r\n\t\tlet page = p?.current || _pagination.current;\r\n\t\tconst pageSize = p?.pageSize || _pagination.pageSize;\r\n\t\tconst pageSizeIsInclude = !!pageSizeOptions.find(s => +pageSize === +s);\r\n\r\n\t\tif (!pageSizeIsInclude && !addedFirst) {\r\n\t\t\tpage = Math.floor(_pagination.total / (_pagination.pageSize - 1) + 1);\r\n\t\t}\r\n\r\n\t\treturn loadDelay({\r\n\t\t\t...p,\r\n\t\t\tpage: resetFilters ? 1 : page,\r\n\t\t\tpageSize: pageSizeIsInclude ? pageSize : pageSize - 1,\r\n\t\t\tshowSizeChanger: (p || _pagination).showSizeChanger\r\n\t\t}, false, false, resetFilters);\r\n\t};\r\n\r\n\tconst update = (items: T[]) => {\r\n\t\tsetItems(items);\r\n\t\tif (!pageSizeOptions.find(s => +_pagination.pageSize === +s)) {\r\n\t\t\tsetPagination(prev => ({\r\n\t\t\t\t...prev,\r\n\t\t\t\t..._pagination,\r\n\t\t\t\tpageSize: _pagination.pageSize - 1\r\n\t\t\t}));\r\n\t\t}\r\n\t};\r\n\r\n\t// const _add = () => add();\r\n\r\n\tconst saveItems = (items, reloadHandler = reload) => {\r\n\t\tif (saveAllRequest === '') throw 'save all request is not available';\r\n\r\n\t\tsetLoading(true);\r\n\r\n\t\treturn request>(saveAllRequest, items)\r\n\t\t\t.then(() => {\r\n\t\t\t\tsetEdits({});\r\n\r\n\t\t\t\treloadHandler(_pagination)\r\n\t\t\t\t\t.catch(onRequestError)\r\n\t\t\t\t\t.finally(() => {\r\n\t\t\t\t\t\tsetLoading(false);\r\n\t\t\t\t\t});\r\n\t\t\t})\r\n\t\t\t.catch((error: string) => {\r\n\t\t\t\tsetLoading(false);\r\n\t\t\t\tonRequestError(error);\r\n\t\t\t\tthrow error;\r\n\t\t\t});\r\n\t};\r\n\r\n\tconst deleteItems = items => saveItems(items.map(value => ({ id: value.id, deleted: true})));\r\n\r\n\tconst validateAll = (skipValidation) => {\r\n\t\tconst items: T[] = [];\r\n\r\n\t\tif (validationSchema && !skipValidation) {\r\n\t\t\tsetErrors({});\r\n\r\n\t\t\tconst promises: any[] = [];\r\n\r\n\t\t\tfor (const key in edits) {\r\n\t\t\t\tconst item = edits[key];\r\n\r\n\t\t\t\titems.push({ ...item, ...clearForSubmit(item) });\r\n\r\n\t\t\t\tpromises.push(validationSchema?.validate(item, { abortEarly: false })\r\n\t\t\t\t\t.catch((err) => {\r\n\t\t\t\t\t\tif (err.inner) {\r\n\t\t\t\t\t\t\tconst er = {};\r\n\t\t\t\t\t\t\tfor (let i = 0; i < err.inner.length; i++) {\r\n\t\t\t\t\t\t\t\ter[err.inner[i].path] = err.inner[i].errors[0];\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\tsetErrors(prev => ({ ...prev, [key]: er }));\r\n\r\n\t\t\t\t\t\t\tonValidationError(key, er, err);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tthrow err;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t);\r\n\t\t\t}\r\n\r\n\t\t\tif (promises.length > 0) {\r\n\t\t\t\treturn Promise.all(promises).then((results) => {\r\n\t\t\t\t\tif (!results.some(q => typeof q === 'undefined')) {\r\n\t\t\t\t\t\treturn Promise.resolve(items);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t// console.log(errors);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tfor (const key in edits) {\r\n\t\t\t\titems.push({ ...edits[key], ...clearForSubmit(edits[key]) });\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn Promise.resolve(items);\r\n\t};\r\n\r\n\tconst saveAll = (skipValidation) => {\r\n\t\tif (saveAllRequest === '') throw 'save all request is not available';\r\n\r\n\t\tif (Object.keys(edits).length <= 0) throw 'There are no edited items';\r\n\r\n\t\tconst items: T[] = [];\r\n\r\n\t\tif (validationSchema && !skipValidation) {\r\n\t\t\tsetErrors({});\r\n\r\n\t\t\tconst promises: any[] = [];\r\n\r\n\t\t\tfor (const key in edits) {\r\n\t\t\t\tlet item = edits[key];\r\n\r\n\t\t\t\tif (refs[item.id]) {\r\n\t\t\t\t\tconst r = refs[item.id](item);\r\n\r\n\t\t\t\t\titem = r.item;\r\n\r\n\t\t\t\t\tpromises.push(r.validate);\r\n\t\t\t\t}\r\n\r\n\t\t\t\titems.push({ ...item, ...clearForSubmit(item) });\r\n\r\n\t\t\t\tpromises.push(validationSchema?.validate(item, { abortEarly: false })\r\n\t\t\t\t\t.catch((err) => {\r\n\t\t\t\t\t\tif (err.inner) {\r\n\t\t\t\t\t\t\tconst er = {};\r\n\t\t\t\t\t\t\tfor (let i = 0; i < err.inner.length; i++) {\r\n\t\t\t\t\t\t\t\ter[err.inner[i].path] = err.inner[i].errors[0];\r\n\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\tsetErrors(prev => ({ ...prev, [key]: er }));\r\n\r\n\t\t\t\t\t\t\tonValidationError(key, er, err);\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tthrow err;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t})\r\n\t\t\t\t);\r\n\t\t\t}\r\n\r\n\t\t\tif (promises.length > 0) {\r\n\t\t\t\tPromise.all(promises).then((results) => {\r\n\t\t\t\t\tif (!results.some(q => typeof q === 'undefined')) {\r\n\t\t\t\t\t\treturn saveItems(items);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tfor (const key in edits) {\r\n\t\t\t\titems.push({ ...edits[key], ...clearForSubmit(edits[key]) });\r\n\t\t\t}\r\n\r\n\t\t\treturn saveItems(items);\r\n\t\t}\r\n\t};\r\n\r\n\tconst setEdit = (record) => {\r\n\t\tsetEdits({ ...edits, [record.id]: record });\r\n\t};\r\n\r\n\tconst addItem = (item?: any) => {\r\n\t\tsetId(id - 1);\r\n\r\n\t\tconst newItem = item ? { ...item, id: id } : { ...add(_items), id: id };\r\n\r\n\t\t// if (_items.length === _pagination.pageSize) {\r\n\t\t// \tsetPagination(prev => ({...prev, ..._pagination, pageSize: _pagination.pageSize + 1 }));\r\n\t\t// }\r\n\r\n\t\tupdate(addedFirst ? [newItem].concat(_items) : _items.concat(newItem));\r\n\r\n\t\tupdateItems && updateItems(addedFirst ? [newItem].concat(_items) : _items.concat(newItem));\r\n\r\n\t\t// setItems(_items.concat(newItem));\r\n\r\n\t\tsetEdit(newItem);\r\n\t};\r\n\r\n\tconst addRef = (key, f) => {\r\n\t\tsetRef({ [key]: f });\r\n\t};\r\n\r\n\tconst value = {\r\n\t\tstate: {\r\n\t\t\titems: _items,\r\n\t\t\tloading: loading,\r\n\t\t\tpagination: _pagination,\r\n\t\t\tfilters: _filters,\r\n\t\t\tedits: edits,\r\n\t\t\terrors: errors,\r\n\t\t\tloaders: loaders,\r\n\t\t\tmultiple: multiple,\r\n\t\t\ttype: type,\r\n\t\t\tselectedRows,\r\n\t\t\taddedFirst,\r\n\t\t\tsaveRequest\r\n\t\t},\r\n\t\tactions: {\r\n\t\t\tload: loadDelay,\r\n\t\t\tsave: save,\r\n\t\t\tsaveAll: saveAll,\r\n\t\t\tupdate: update,\r\n\t\t\tadd: addItem,\r\n\t\t\tsetEdits: setEdits,\r\n\t\t\tsetErrors: setErrors,\r\n\t\t\treload: reload,\r\n\t\t\tsetEdit: setEdit,\r\n\t\t\tsetItems: setItems,\r\n\t\t\taddRef: addRef,\r\n\t\t\tsetSelectedRows,\r\n\t\t\tdeleteItems,\r\n\t\t\thandleChange,\r\n\t\t\tloadMore,\r\n\t\t\tsaveItems,\r\n\t\t\tsetLoading,\r\n\t\t\tvalidateAll\r\n\t\t}\r\n\t};\r\n\r\n\tconst context = useItemsProviderContext();\r\n\r\n\tif (context.state) {\r\n\t\t// ItemsProvider in ItemsProvider\r\n\r\n\t\tReact.useEffect(() => {\r\n\t\t\tobjectKey && arrayName && context.actions.addRef(objectKey, (item) => {\r\n\t\t\t\tconst items: T[] = [];\r\n\r\n\t\t\t\tfor (const key in edits) {\r\n\t\t\t\t\titems.push({ ...edits[key], ...clearForSubmit(edits[key]) });\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn { item: { ...item, [arrayName]: items }, validate: validateAll(false) };\r\n\t\t\t});\r\n\t\t}, [edits]);\r\n\t} else {\r\n\t\tReact.useEffect(() => {\r\n\t\t\t!skipValidationAll && validateAll(false);\r\n\t\t}, [edits]);\r\n\t}\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{children}\r\n\t\t\r\n\t);\r\n};","export const dateFormat = function (\r\n\tdate: number | null | undefined,\r\n\tparams: Intl.DateTimeFormatOptions = { year: 'numeric', month:'2-digit', day: '2-digit' },\r\n\tlocale: string = 'en-US'\r\n): string {\r\n\tif (date === null || date === undefined) {\r\n\t\treturn '';\r\n\t}\r\n\r\n\tconst d: Date = new Date(date);\r\n\r\n\treturn d.toLocaleDateString(locale, params);\r\n};\r\n\r\nexport const dateTimeFormat = function (\r\n\tdate: number | null | undefined,\r\n\tparams: Intl.DateTimeFormatOptions = { hour:'2-digit', minute: '2-digit' },\r\n\tlocale: string = 'en-US'\r\n): string {\r\n\tif (date === null || date === undefined) {\r\n\t\treturn '';\r\n\t}\r\n\r\n\tconst d: Date = new Date(date);\r\n\r\n\treturn d.toLocaleTimeString(locale, params);\r\n};\r\n\r\nexport const getBackgroundUrl = function (image: string) {\r\n\treturn `url(\"${image?.replace('\\\\', '/')}\")`;\r\n};\r\n\r\nfunction transliterate(str: string): string {\r\n\t// tslint:disable-next-line:max-line-length\r\n\tlet newString = str.toLowerCase();\r\n\r\n\tconst from = 'ãàáäâẽèéëêìíïîõòóöôùúüûñç'.split('');\r\n\tconst to = 'aaaaaeeeeeiiiiooooouuuunc'.split('');\r\n\r\n\tfrom.forEach((char, index) => {\r\n\t\tnewString = newString.replace(new RegExp(char, 'g'), to[index]);\r\n\t});\r\n\r\n\tconst tr = 'A B V G D E ZH Z I Y K L M N O P R S T U F H C CH SH SCH Y E YU YA a b v g d e zh z i y k l m n o p r s t u f h c ch sh sch y e yu ya e e'.split(' ');\r\n\tlet result = '';\r\n\tfor (let i = 0; i < newString.length; ++i) {\r\n\t\tconst cc = newString.charCodeAt(i);\r\n\t\tresult += (cc === 1025 ? 'E' : (cc >= 1040 ? tr[cc - 1040] : newString[i]));\r\n\t}\r\n\treturn result;\r\n}\r\n\r\nexport const stringToUrl: (str: string) => string = (str) => {\r\n\treturn transliterate(str)\r\n\t\t.replace(/[^0-9A-Za-z\\s-]+/g, '')\r\n\t\t.replace(/\\s/g, '-')\r\n\t\t.replace('\\'', '')\r\n\t\t.replace(/-/g, '')\r\n\t\t.replace(/&/, '')\r\n\t\t.toLowerCase();\r\n};\r\n\r\nexport function debounce(func: F, wait: number):F {\r\n\tlet timeoutID: number;\r\n\tlet time = wait;\r\n\r\n\tNumber.isFinite = Number.isFinite || function (value) {\r\n\t\treturn typeof value === 'number' && isFinite(value);\r\n\t};\r\n\r\n\tNumber.isInteger = Number.isInteger || function (value) {\r\n\t\treturn typeof value === 'number'\r\n\t\t\t&& Number.isFinite(value)\r\n\t\t\t&& !(value % 1);\r\n\t};\r\n\r\n\tif (!Number.isInteger(time)) {\r\n\t\tconsole.log('Called debounce without a valid number');\r\n\t\ttime = 300;\r\n\t}\r\n\r\n\t// conversion through any necessary as it wont satisfy criteria otherwise\r\n\treturn function (this:any, ...args: any[]) {\r\n\t\tclearTimeout(timeoutID);\r\n\t\tconst self = this;\r\n\r\n\t\ttimeoutID = window.setTimeout(() => {\r\n\t\t\tfunc.apply(self, args);\r\n\t\t}, time);\r\n\t};\r\n}\r\n\r\nexport function equal(a, b) {\r\n\treturn JSON.stringify(a) === JSON.stringify(b);\r\n}\r\n\r\nexport const replaceExceptNumber = (str: string) => str.replace(/\\D/g, '');","module.exports = (__webpack_require__(3))(1074);","import { isRegExp, isString } from './is';\n/**\n * Truncates given string to the maximum characters count\n *\n * @param str An object that contains serializable values\n * @param max Maximum number of characters in truncated string\n * @returns string Encoded\n */\nexport function truncate(str, max) {\n if (max === void 0) { max = 0; }\n if (typeof str !== 'string' || max === 0) {\n return str;\n }\n return str.length <= max ? str : str.substr(0, max) + \"...\";\n}\n/**\n * This is basically just `trim_line` from\n * https://github.com/getsentry/sentry/blob/master/src/sentry/lang/javascript/processor.py#L67\n *\n * @param str An object that contains serializable values\n * @param max Maximum number of characters in truncated string\n * @returns string Encoded\n */\nexport function snipLine(line, colno) {\n var newLine = line;\n var ll = newLine.length;\n if (ll <= 150) {\n return newLine;\n }\n if (colno > ll) {\n // eslint-disable-next-line no-param-reassign\n colno = ll;\n }\n var start = Math.max(colno - 60, 0);\n if (start < 5) {\n start = 0;\n }\n var end = Math.min(start + 140, ll);\n if (end > ll - 5) {\n end = ll;\n }\n if (end === ll) {\n start = Math.max(end - 140, 0);\n }\n newLine = newLine.slice(start, end);\n if (start > 0) {\n newLine = \"'{snip} \" + newLine;\n }\n if (end < ll) {\n newLine += ' {snip}';\n }\n return newLine;\n}\n/**\n * Join values in array\n * @param input array of values to be joined together\n * @param delimiter string to be placed in-between values\n * @returns Joined values\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function safeJoin(input, delimiter) {\n if (!Array.isArray(input)) {\n return '';\n }\n var output = [];\n // eslint-disable-next-line @typescript-eslint/prefer-for-of\n for (var i = 0; i < input.length; i++) {\n var value = input[i];\n try {\n output.push(String(value));\n }\n catch (e) {\n output.push('[value cannot be serialized]');\n }\n }\n return output.join(delimiter);\n}\n/**\n * Checks if the value matches a regex or includes the string\n * @param value The string value to be checked against\n * @param pattern Either a regex or a string that must be contained in value\n */\nexport function isMatchingPattern(value, pattern) {\n if (!isString(value)) {\n return false;\n }\n if (isRegExp(pattern)) {\n return pattern.test(value);\n }\n if (typeof pattern === 'string') {\n return value.indexOf(pattern) !== -1;\n }\n return false;\n}\n//# sourceMappingURL=string.js.map","/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { consoleSandbox, getGlobalObject } from './misc';\n// TODO: Implement different loggers for different environments\nvar global = getGlobalObject();\n/** Prefix for logging strings */\nvar PREFIX = 'Sentry Logger ';\n/** JSDoc */\nvar Logger = /** @class */ (function () {\n /** JSDoc */\n function Logger() {\n this._enabled = false;\n }\n /** JSDoc */\n Logger.prototype.disable = function () {\n this._enabled = false;\n };\n /** JSDoc */\n Logger.prototype.enable = function () {\n this._enabled = true;\n };\n /** JSDoc */\n Logger.prototype.log = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!this._enabled) {\n return;\n }\n consoleSandbox(function () {\n global.console.log(PREFIX + \"[Log]: \" + args.join(' '));\n });\n };\n /** JSDoc */\n Logger.prototype.warn = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!this._enabled) {\n return;\n }\n consoleSandbox(function () {\n global.console.warn(PREFIX + \"[Warn]: \" + args.join(' '));\n });\n };\n /** JSDoc */\n Logger.prototype.error = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n if (!this._enabled) {\n return;\n }\n consoleSandbox(function () {\n global.console.error(PREFIX + \"[Error]: \" + args.join(' '));\n });\n };\n return Logger;\n}());\n// Ensure we only have a single logger instance, even if multiple versions of @sentry/utils are being used\nglobal.__SENTRY__ = global.__SENTRY__ || {};\nvar logger = global.__SENTRY__.logger || (global.__SENTRY__.logger = new Logger());\nexport { logger };\n//# sourceMappingURL=logger.js.map","module.exports = (__webpack_require__(3))(403);","module.exports = (__webpack_require__(3))(24);","module.exports = (__webpack_require__(3))(25);","module.exports = (__webpack_require__(3))(30);","import * as React from 'react';\r\n\r\nimport moment, { Moment } from 'moment';\r\n\r\nexport const dateTimeFormatString = 'MM/DD/YYYY h:mm A';\r\nexport const dateFormatString = 'MM/DD/YYYY';\r\n\r\nexport const dateToUtc = (date): Moment => {\r\n\tconst isGlobalDst = moment(new Date()).isDST();\r\n\tconst isCurrentDateDst = moment(date).isDST();\r\n\tconst offset = moment().utcOffset();\r\n\r\n\tconst correctlyOffset = isGlobalDst\r\n\t\t? isCurrentDateDst ? offset : offset - 60\r\n\t\t: isCurrentDateDst ? offset + 60 : offset;\r\n\tconst momentDate = moment(date);\r\n\r\n\t// isDST = false - date < 14.03.21, isDST = true - date >= 14.03.21\r\n\treturn momentDate.subtract(correctlyOffset, 'minutes');\r\n};\r\n\r\nexport const dateToUtcString = (date, format): string => {\r\n\tconst utc = dateToUtc(date);\r\n\treturn moment(utc).format(format);\r\n};\r\n\r\nexport const longZipFormat = (zip: string | null | undefined): string => zip ? zip.replace(/^(\\d{5})(\\d{4})$/, '$1 - $2') : '';\r\n\r\nexport const phoneWithoutAreaCodeFormat = (phone: string): string => phone\r\n\t? phone.replace(/^(?:\\+[1-9])?(\\d{3})(\\d{3})(\\d{4})$/, '$1-$2-$3') : '';\r\n\r\nexport enum DashboardTimeInterval {\r\n\tAll = 0,\r\n\tYear = 1,\r\n\tMonth = 2,\r\n\tWeek = 3,\r\n\tDay = 4,\r\n\tQuarter = 5\r\n}\r\n\r\nexport const intervals = [\r\n\t{ caption: 'Day', interval: DashboardTimeInterval.Day },\r\n\t{ caption: 'Week', interval: DashboardTimeInterval.Week },\r\n\t{ caption: 'Month', interval: DashboardTimeInterval.Month },\r\n\t{ caption: 'Quarter', interval: DashboardTimeInterval.Quarter },\r\n\t{ caption: 'Year', interval: DashboardTimeInterval.Year },\r\n\t{ caption: 'All', interval: DashboardTimeInterval.All }\r\n];\r\n\r\nexport const tripleVarGroup = [\r\n\t{caption: 'Yes', value: true},\r\n\t{caption: 'No', value: false},\r\n\t{caption: 'All', value: null},\r\n];\r\n\r\nexport const getMoneyString = (value: number, currencyPrefix = '$') => {\r\n\treturn `${currencyPrefix}${value.toFixed(2).replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1,')}`;\r\n};","module.exports = (__webpack_require__(3))(31);","import React from 'react';\r\n\r\nimport imageSkeleton from '@app/images/no-image-available.jpg';\r\n\r\ninterface Props extends React.ImgHTMLAttributes {\r\n\tskeleton?: string;\r\n}\r\n\r\nconst ImageWithSkeleton: React.FC = (props) => {\r\n\tconst [error, setError] = React.useState(false);\r\n\t\r\n\tconst {skeleton = imageSkeleton} = props;\r\n\r\n\tconst handleError = (e) => {\r\n\t\tsetError(true);\r\n\t\tprops.onError && props.onError(e);\r\n\t};\r\n\t\r\n\treturn ;\r\n};\r\n\r\nexport default ImageWithSkeleton;\r\n","import {BaseUser} from '@common/typescript/objects/BaseUser';\r\n\r\nexport interface File {\r\n\tfile: FileInterface;\r\n}\r\n\r\nexport interface FileInterface {\r\n\tdeleted: boolean;\r\n\textension: string;\r\n\tfileType: FileType;\r\n\tid: number;\r\n\tname: string;\r\n\tobjectId: number;\r\n\tsize: number;\r\n\tsrc: string;\r\n\tthumb: string;\r\n\ttime: number;\r\n\tuser?: TUser;\r\n\tuserId: number;\r\n\t_type: string;\r\n}\r\n\r\nexport enum FileType {\r\n\tAny = 0,\r\n\tFile = 1,\r\n\tAvatar = 2\r\n}","module.exports = (__webpack_require__(3))(1);","import { HubConnection } from '@microsoft/signalr';\r\n\r\nlet hub: HubConnection | null = null;\r\n\r\nexport const getSignalR = (): Promise => {\r\n\treturn import('@microsoft/signalr' /* webpackChunkName: \"signalR\" */).then((signalR) => {\r\n\t\tif (hub) {\r\n\t\t\treturn Promise.resolve(hub);\r\n\t\t}\r\n\r\n\t\thub = new signalR.HubConnectionBuilder()\r\n\t\t\t.withUrl('/notificationHub')\r\n\t\t\t.withAutomaticReconnect()\r\n\t\t\t.build();\r\n\r\n\t\thub.start().catch(err => console.error(err));\r\n\t\t\r\n\t\treturn Promise.resolve(hub);\r\n\t}).catch((e) => {\r\n\t\tconsole.error(e);\r\n\t\treturn Promise.reject(e);\r\n\t});\r\n};\r\n\r\nexport const callWithConnectionOnce = (callback: (connectionId: string | undefined | null) => void) => {\r\n\tgetSignalR().then((hub) => {\r\n\t\tconst hubConnection = (hub as HubConnection);\r\n\r\n\t\tif (!hubConnection.connectionId) {\r\n\t\t\thubConnection.stop().then(() => hubConnection.start().then(() => callback(hubConnection.connectionId)));\r\n\t\t} else {\r\n\t\t\tcallback(hubConnection.connectionId);\r\n\t\t}\r\n\t});\r\n};","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _typeof = require(\"@babel/runtime/helpers/typeof\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports[\"default\"] = exports.Option = void 0;\n\nvar _extends2 = _interopRequireDefault(require(\"@babel/runtime/helpers/extends\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _slicedToArray2 = _interopRequireDefault(require(\"@babel/runtime/helpers/slicedToArray\"));\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _classnames = _interopRequireDefault(require(\"classnames\"));\n\nvar _rcMentions = _interopRequireDefault(require(\"rc-mentions\"));\n\nvar _ref = require(\"rc-util/lib/ref\");\n\nvar _spin = _interopRequireDefault(require(\"../spin\"));\n\nvar _configProvider = require(\"../config-provider\");\n\nvar _context = require(\"../form/context\");\n\nvar _statusUtils = require(\"../_util/statusUtils\");\n\nfunction _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== \"function\") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }\n\nfunction _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== \"object\" && typeof obj !== \"function\") { return { \"default\": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== \"default\" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj[\"default\"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }\n\nvar __rest = void 0 && (void 0).__rest || function (s, e) {\n var t = {};\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n\nvar Option = _rcMentions[\"default\"].Option;\nexports.Option = Option;\n\nfunction loadingFilterOption() {\n return true;\n}\n\nvar InternalMentions = function InternalMentions(_a, ref) {\n var _classNames;\n\n var customizePrefixCls = _a.prefixCls,\n className = _a.className,\n disabled = _a.disabled,\n loading = _a.loading,\n filterOption = _a.filterOption,\n children = _a.children,\n notFoundContent = _a.notFoundContent,\n customStatus = _a.status,\n restProps = __rest(_a, [\"prefixCls\", \"className\", \"disabled\", \"loading\", \"filterOption\", \"children\", \"notFoundContent\", \"status\"]);\n\n var _React$useState = React.useState(false),\n _React$useState2 = (0, _slicedToArray2[\"default\"])(_React$useState, 2),\n focused = _React$useState2[0],\n setFocused = _React$useState2[1];\n\n var innerRef = React.useRef();\n var mergedRef = (0, _ref.composeRef)(ref, innerRef);\n\n var _React$useContext = React.useContext(_configProvider.ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls,\n renderEmpty = _React$useContext.renderEmpty,\n direction = _React$useContext.direction;\n\n var _React$useContext2 = React.useContext(_context.FormItemInputContext),\n contextStatus = _React$useContext2.status,\n hasFeedback = _React$useContext2.hasFeedback,\n feedbackIcon = _React$useContext2.feedbackIcon;\n\n var mergedStatus = (0, _statusUtils.getMergedStatus)(contextStatus, customStatus);\n\n var onFocus = function onFocus() {\n if (restProps.onFocus) {\n restProps.onFocus.apply(restProps, arguments);\n }\n\n setFocused(true);\n };\n\n var onBlur = function onBlur() {\n if (restProps.onBlur) {\n restProps.onBlur.apply(restProps, arguments);\n }\n\n setFocused(false);\n };\n\n var getNotFoundContent = function getNotFoundContent() {\n if (notFoundContent !== undefined) {\n return notFoundContent;\n }\n\n return renderEmpty('Select');\n };\n\n var getOptions = function getOptions() {\n if (loading) {\n return /*#__PURE__*/React.createElement(Option, {\n value: \"ANTD_SEARCHING\",\n disabled: true\n }, /*#__PURE__*/React.createElement(_spin[\"default\"], {\n size: \"small\"\n }));\n }\n\n return children;\n };\n\n var getFilterOption = function getFilterOption() {\n if (loading) {\n return loadingFilterOption;\n }\n\n return filterOption;\n };\n\n var prefixCls = getPrefixCls('mentions', customizePrefixCls);\n var mergedClassName = (0, _classnames[\"default\"])((_classNames = {}, (0, _defineProperty2[\"default\"])(_classNames, \"\".concat(prefixCls, \"-disabled\"), disabled), (0, _defineProperty2[\"default\"])(_classNames, \"\".concat(prefixCls, \"-focused\"), focused), (0, _defineProperty2[\"default\"])(_classNames, \"\".concat(prefixCls, \"-rtl\"), direction === 'rtl'), _classNames), (0, _statusUtils.getStatusClassNames)(prefixCls, mergedStatus), !hasFeedback && className);\n var mentions = /*#__PURE__*/React.createElement(_rcMentions[\"default\"], (0, _extends2[\"default\"])({\n prefixCls: prefixCls,\n notFoundContent: getNotFoundContent(),\n className: mergedClassName,\n disabled: disabled,\n direction: direction\n }, restProps, {\n filterOption: getFilterOption(),\n onFocus: onFocus,\n onBlur: onBlur,\n ref: mergedRef\n }), getOptions());\n\n if (hasFeedback) {\n return /*#__PURE__*/React.createElement(\"div\", {\n className: (0, _classnames[\"default\"])(\"\".concat(prefixCls, \"-affix-wrapper\"), (0, _statusUtils.getStatusClassNames)(\"\".concat(prefixCls, \"-affix-wrapper\"), mergedStatus, hasFeedback), className)\n }, mentions, /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-suffix\")\n }, feedbackIcon));\n }\n\n return mentions;\n};\n\nvar Mentions = /*#__PURE__*/React.forwardRef(InternalMentions);\nMentions.displayName = 'Mentions';\nMentions.Option = Option;\n\nMentions.getMentions = function () {\n var value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _config$prefix = config.prefix,\n prefix = _config$prefix === void 0 ? '@' : _config$prefix,\n _config$split = config.split,\n split = _config$split === void 0 ? ' ' : _config$split;\n var prefixList = Array.isArray(prefix) ? prefix : [prefix];\n return value.split(split).map(function () {\n var str = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var hitPrefix = null;\n prefixList.some(function (prefixStr) {\n var startStr = str.slice(0, prefixStr.length);\n\n if (startStr === prefixStr) {\n hitPrefix = prefixStr;\n return true;\n }\n\n return false;\n });\n\n if (hitPrefix !== null) {\n return {\n prefix: hitPrefix,\n value: str.slice(hitPrefix.length)\n };\n }\n\n return null;\n }).filter(function (entity) {\n return !!entity && !!entity.value;\n });\n};\n\nvar _default = Mentions;\nexports[\"default\"] = _default;","import React from 'react';\r\nimport {useDispatch, useSelector} from 'react-redux';\r\n\r\nimport Button from 'antd/lib/button';\r\nimport Message from 'antd/lib/message';\r\n\r\nimport {TypeKeys} from '@common/react/store/VideoChat';\r\n\r\nimport {ApplicationState} from '@app/store';\r\nimport {request} from '@app/components/Api';\r\n\r\ninterface VideoChatButtonProps {\r\n\troomId: string;\r\n\troomName: string;\r\n\troomCreateActor: string;\r\n\tavatar?: string;\r\n\tchatId?: number;\r\n\tbutton?: (onClick: React.MouseEventHandler, isDisabled: boolean) => JSX.Element;\r\n\tsupport?: boolean;\r\n\tonClick?: () => void;\r\n\tnotifyUserIds?: number[];\r\n}\r\n\r\nconst VideoChatButton: React.FC = (props) => {\r\n\tconst {button, support, roomId, roomName, notifyUserIds, roomCreateActor, chatId, onClick, avatar} = props;\r\n\tconst dispatch = useDispatch();\r\n\tconst isChatting = useSelector((state: any) => state.videoChat.isChatting);\r\n\t\r\n\tconst handleClick: React.MouseEventHandler = (e) => {\r\n\t\te.preventDefault();\r\n\t\t\r\n\t\tconst handleSuccess = (res) => {\r\n\t\t\tdispatch({\r\n\t\t\t\ttype: TypeKeys.UPDATE, \r\n\t\t\t\tdata: {\r\n\t\t\t\t\ttoken: res.token, \r\n\t\t\t\t\troomIdentifier: res.roomIdentifier, \r\n\t\t\t\t\troomName: roomName,\r\n\t\t\t\t\tavatar,\r\n\t\t\t\t\tisSupport: support ?? false,\r\n\t\t\t\t\thasError: false\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t};\r\n\t\t\r\n\t\trequest<{token: string, roomIdentifier: string}>(roomCreateActor, {roomName: roomId, chatId, notifyUserIds})\r\n\t\t\t.then(handleSuccess)\r\n\t\t\t.catch((e) => {\r\n\t\t\t\tMessage.error(e);\r\n\t\t\t\tdispatch({type: TypeKeys.UPDATE, data: {hasError: true}});\r\n\t\t\t});\r\n\r\n\t\tdispatch({\r\n\t\t\ttype: TypeKeys.UPDATE,\r\n\t\t\tdata: {\r\n\t\t\t\tvisibility: true,\r\n\t\t\t\tisChatting: true,\r\n\t\t\t\troomName: roomName,\r\n\t\t\t\tavatar,\r\n\t\t\t\tisSupport: support ?? false,\r\n\t\t\t\thasError: false\r\n\t\t\t}});\r\n\t\tonClick && onClick();\r\n\t};\r\n\t\r\n\treturn button ? \r\n\t\tbutton(handleClick, isChatting) : \r\n\t\t\r\n\t\t\t\r\n\t\t;\r\n};\r\n\r\nexport default VideoChatButton;","import React from 'react';\r\nimport {useDispatch, useSelector} from 'react-redux';\r\n\r\nimport Message from 'antd/lib/message';\r\n\r\nimport {TypeKeys} from '@common/react/store/VideoChat';\r\n\r\nimport {request} from '@app/components/Api';\r\n\r\ninterface SystemCallButtonProps {\r\n\troomId: string;\r\n\troomName: string;\r\n\troomCreateActor: string;\r\n\tchatId?: number;\r\n\tbutton?: (onClick: React.MouseEventHandler, isDisabled: boolean) => JSX.Element;\r\n\tavatar?: string;\r\n\tnotifyUserIds?: number[];\r\n}\r\n\r\nconst SystemCallButton: React.FC = ({button, roomCreateActor, roomId, roomName, chatId, avatar, notifyUserIds}) => {\r\n\tconst dispatch = useDispatch();\r\n\tconst videoChatState = useSelector((state: any) => state.videoChat);\r\n\t\r\n\tconst handleClick: React.MouseEventHandler = (e) => {\r\n\t\te.preventDefault();\r\n\t\t\r\n\t\tconst handleSuccess = (res) => {\r\n\t\t\tdispatch({\r\n\t\t\t\ttype: TypeKeys.UPDATE, \r\n\t\t\t\tdata: {\r\n\t\t\t\t\ttoken: res.token,\r\n\t\t\t\t\troomIdentifier: res.roomIdentifier,\r\n\t\t\t\t\troomName: roomName,\r\n\t\t\t\t\tavatar: avatar,\r\n\t\t\t\t\tpreventCameraStart: true,\r\n\t\t\t\t\thasError: false\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t};\r\n\t\t\r\n\t\trequest<{token: string, roomIdentifier: string}>(roomCreateActor, {roomName: roomId, chatId, notifyUserIds})\r\n\t\t\t.then(handleSuccess)\r\n\t\t\t.catch((e) => {\r\n\t\t\t\tMessage.error(e);\r\n\t\t\t\tdispatch({type: TypeKeys.UPDATE, data: {hasError: true}});\r\n\t\t\t});\r\n\t\t\r\n\t\tdispatch({\r\n\t\t\ttype: TypeKeys.UPDATE,\r\n\t\t\tdata: {\r\n\t\t\t\tvisibility: true,\r\n\t\t\t\tisChatting: true,\r\n\t\t\t\troomName: roomName,\r\n\t\t\t\tavatar: avatar,\r\n\t\t\t\tpreventCameraStart: true,\r\n\t\t\t\thasError: false\r\n\t\t\t}});\r\n\t};\r\n\t\r\n\treturn (\r\n\t\tbutton ?\r\n\t\t\tbutton(handleClick, videoChatState.isChatting) :\r\n\t\t\t\r\n\t);\r\n};\r\n\r\nexport default SystemCallButton;","var mapping = {\n name: 'a',\n unified: 'b',\n non_qualified: 'c',\n has_img_apple: 'd',\n has_img_google: 'e',\n has_img_twitter: 'f',\n has_img_facebook: 'h',\n keywords: 'j',\n sheet: 'k',\n emoticons: 'l',\n text: 'm',\n short_names: 'n',\n added_in: 'o'\n};\n\nvar buildSearch = function buildSearch(emoji) {\n var search = [];\n\n var addToSearch = function addToSearch(strings, split) {\n if (!strings) {\n return;\n }\n\n ;\n (Array.isArray(strings) ? strings : [strings]).forEach(function (string) {\n ;\n (split ? string.split(/[-|_|\\s]+/) : [string]).forEach(function (s) {\n s = s.toLowerCase();\n\n if (search.indexOf(s) == -1) {\n search.push(s);\n }\n });\n });\n };\n\n addToSearch(emoji.short_names, true);\n addToSearch(emoji.name, true);\n addToSearch(emoji.keywords, false);\n addToSearch(emoji.emoticons, false);\n return search.join(',');\n};\n\nvar compress = function compress(emoji) {\n emoji.short_names = emoji.short_names.filter(function (short_name) {\n return short_name !== emoji.short_name;\n });\n delete emoji.short_name;\n emoji.sheet = [emoji.sheet_x, emoji.sheet_y];\n delete emoji.sheet_x;\n delete emoji.sheet_y;\n emoji.added_in = parseInt(emoji.added_in);\n\n if (emoji.added_in === 6) {\n delete emoji.added_in;\n }\n\n for (var key in mapping) {\n emoji[mapping[key]] = emoji[key];\n delete emoji[key];\n }\n\n for (var _key in emoji) {\n var value = emoji[_key];\n\n if (Array.isArray(value) && !value.length) {\n delete emoji[_key];\n } else if (typeof value === 'string' && !value.length) {\n delete emoji[_key];\n } else if (value === null) {\n delete emoji[_key];\n }\n }\n};\n\nvar uncompress = function uncompress(data) {\n data.compressed = false;\n\n for (var id in data.emojis) {\n var emoji = data.emojis[id];\n\n for (var key in mapping) {\n emoji[key] = emoji[mapping[key]];\n delete emoji[mapping[key]];\n }\n\n if (!emoji.short_names) emoji.short_names = [];\n emoji.short_names.unshift(id);\n emoji.sheet_x = emoji.sheet[0];\n emoji.sheet_y = emoji.sheet[1];\n delete emoji.sheet;\n if (!emoji.text) emoji.text = '';\n if (!emoji.added_in) emoji.added_in = 6;\n emoji.added_in = emoji.added_in.toFixed(1);\n emoji.search = buildSearch(emoji);\n }\n};\n\nexport { buildSearch, compress, uncompress };","var _String = String;\nexport default _String.fromCodePoint || function stringFromCodePoint() {\n var MAX_SIZE = 0x4000;\n var codeUnits = [];\n var highSurrogate;\n var lowSurrogate;\n var index = -1;\n var length = arguments.length;\n\n if (!length) {\n return '';\n }\n\n var result = '';\n\n while (++index < length) {\n var codePoint = Number(arguments[index]);\n\n if (!isFinite(codePoint) || // `NaN`, `+Infinity`, or `-Infinity`\n codePoint < 0 || // not a valid Unicode code point\n codePoint > 0x10ffff || // not a valid Unicode code point\n Math.floor(codePoint) != codePoint // not an integer\n ) {\n throw RangeError('Invalid code point: ' + codePoint);\n }\n\n if (codePoint <= 0xffff) {\n // BMP code point\n codeUnits.push(codePoint);\n } else {\n // Astral code point; split in surrogate halves\n // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n codePoint -= 0x10000;\n highSurrogate = (codePoint >> 10) + 0xd800;\n lowSurrogate = codePoint % 0x400 + 0xdc00;\n codeUnits.push(highSurrogate, lowSurrogate);\n }\n\n if (index + 1 === length || codeUnits.length > MAX_SIZE) {\n result += String.fromCharCode.apply(null, codeUnits);\n codeUnits.length = 0;\n }\n }\n\n return result;\n};","import _typeof from \"@babel/runtime/helpers/typeof\";\nimport { buildSearch } from './data';\nimport stringFromCodePoint from '../polyfills/stringFromCodePoint';\nimport { uncompress } from './data';\nvar COLONS_REGEX = /^(?:\\:([^\\:]+)\\:)(?:\\:skin-tone-(\\d)\\:)?$/;\nvar SKINS = ['1F3FA', '1F3FB', '1F3FC', '1F3FD', '1F3FE', '1F3FF'];\n\nfunction unifiedToNative(unified) {\n var unicodes = unified.split('-'),\n codePoints = unicodes.map(function (u) {\n return \"0x\".concat(u);\n });\n return stringFromCodePoint.apply(null, codePoints);\n}\n\nfunction sanitize(emoji) {\n var name = emoji.name,\n short_names = emoji.short_names,\n skin_tone = emoji.skin_tone,\n skin_variations = emoji.skin_variations,\n emoticons = emoji.emoticons,\n unified = emoji.unified,\n custom = emoji.custom,\n customCategory = emoji.customCategory,\n imageUrl = emoji.imageUrl,\n id = emoji.id || short_names[0],\n colons = \":\".concat(id, \":\");\n\n if (custom) {\n return {\n id: id,\n name: name,\n short_names: short_names,\n colons: colons,\n emoticons: emoticons,\n custom: custom,\n customCategory: customCategory,\n imageUrl: imageUrl\n };\n }\n\n if (skin_tone) {\n colons += \":skin-tone-\".concat(skin_tone, \":\");\n }\n\n return {\n id: id,\n name: name,\n short_names: short_names,\n colons: colons,\n emoticons: emoticons,\n unified: unified.toLowerCase(),\n skin: skin_tone || (skin_variations ? 1 : null),\n \"native\": unifiedToNative(unified)\n };\n}\n\nfunction getSanitizedData() {\n return sanitize(getData.apply(void 0, arguments));\n}\n\nfunction getData(emoji, skin, set, data) {\n var emojiData = {};\n\n if (typeof emoji == 'string') {\n var matches = emoji.match(COLONS_REGEX);\n\n if (matches) {\n emoji = matches[1];\n\n if (matches[2]) {\n skin = parseInt(matches[2], 10);\n }\n }\n\n if (data.aliases.hasOwnProperty(emoji)) {\n emoji = data.aliases[emoji];\n }\n\n if (data.emojis.hasOwnProperty(emoji)) {\n emojiData = data.emojis[emoji];\n } else {\n return null;\n }\n } else if (emoji.id) {\n if (data.aliases.hasOwnProperty(emoji.id)) {\n emoji.id = data.aliases[emoji.id];\n }\n\n if (data.emojis.hasOwnProperty(emoji.id)) {\n emojiData = data.emojis[emoji.id];\n skin || (skin = emoji.skin);\n }\n }\n\n if (!Object.keys(emojiData).length) {\n emojiData = emoji;\n emojiData.custom = true;\n\n if (!emojiData.search) {\n emojiData.search = buildSearch(emoji);\n }\n }\n\n emojiData.emoticons || (emojiData.emoticons = []);\n emojiData.variations || (emojiData.variations = []);\n\n if (emojiData.skin_variations && skin > 1) {\n emojiData = JSON.parse(JSON.stringify(emojiData));\n var skinKey = SKINS[skin - 1],\n variationData = emojiData.skin_variations[skinKey];\n\n if (variationData) {\n if (!variationData.variations && emojiData.variations) {\n delete emojiData.variations;\n }\n\n if (set && (variationData[\"has_img_\".concat(set)] == undefined || variationData[\"has_img_\".concat(set)]) || !set) {\n emojiData.skin_tone = skin;\n\n for (var k in variationData) {\n var v = variationData[k];\n emojiData[k] = v;\n }\n }\n }\n }\n\n if (emojiData.variations && emojiData.variations.length) {\n emojiData = JSON.parse(JSON.stringify(emojiData));\n emojiData.unified = emojiData.variations.shift();\n }\n\n return emojiData;\n}\n\nfunction getEmojiDataFromNative(nativeString, set, data) {\n if (data.compressed) {\n uncompress(data);\n }\n\n var skinTones = ['🏻', '🏼', '🏽', '🏾', '🏿'];\n var skinCodes = ['1F3FB', '1F3FC', '1F3FD', '1F3FE', '1F3FF'];\n var skin;\n var skinCode;\n var baseNativeString = nativeString;\n skinTones.forEach(function (skinTone, skinToneIndex) {\n if (nativeString.indexOf(skinTone) > 0) {\n skin = skinToneIndex + 2;\n skinCode = skinCodes[skinToneIndex];\n }\n });\n var emojiData;\n\n for (var id in data.emojis) {\n var emoji = data.emojis[id];\n var emojiUnified = emoji.unified;\n\n if (emoji.variations && emoji.variations.length) {\n emojiUnified = emoji.variations.shift();\n }\n\n if (skin && emoji.skin_variations && emoji.skin_variations[skinCode]) {\n emojiUnified = emoji.skin_variations[skinCode].unified;\n }\n\n if (unifiedToNative(emojiUnified) === baseNativeString) emojiData = emoji;\n }\n\n if (!emojiData) {\n return null;\n }\n\n emojiData.id = emojiData.short_names[0];\n return getSanitizedData(emojiData, skin, set, data);\n}\n\nfunction uniq(arr) {\n return arr.reduce(function (acc, item) {\n if (acc.indexOf(item) === -1) {\n acc.push(item);\n }\n\n return acc;\n }, []);\n}\n\nfunction intersect(a, b) {\n var uniqA = uniq(a);\n var uniqB = uniq(b);\n return uniqA.filter(function (item) {\n return uniqB.indexOf(item) >= 0;\n });\n}\n\nfunction deepMerge(a, b) {\n var o = {};\n\n for (var key in a) {\n var originalValue = a[key],\n value = originalValue;\n\n if (b.hasOwnProperty(key)) {\n value = b[key];\n }\n\n if (_typeof(value) === 'object') {\n value = deepMerge(originalValue, value);\n }\n\n o[key] = value;\n }\n\n return o;\n} // https://github.com/sonicdoe/measure-scrollbar\n\n\nfunction measureScrollbar() {\n if (typeof document == 'undefined') return 0;\n var div = document.createElement('div');\n div.style.width = '100px';\n div.style.height = '100px';\n div.style.overflow = 'scroll';\n div.style.position = 'absolute';\n div.style.top = '-9999px';\n document.body.appendChild(div);\n var scrollbarWidth = div.offsetWidth - div.clientWidth;\n document.body.removeChild(div);\n return scrollbarWidth;\n} // Use requestIdleCallback() if available, else fall back to setTimeout().\n// Throttle so as not to run too frequently.\n\n\nfunction throttleIdleTask(func) {\n var doIdleTask = typeof requestIdleCallback === 'function' ? requestIdleCallback : setTimeout;\n var running = false;\n return function throttled() {\n if (running) {\n return;\n }\n\n running = true;\n doIdleTask(function () {\n running = false;\n func();\n });\n };\n}\n\nexport { getData, getEmojiDataFromNative, getSanitizedData, uniq, intersect, deepMerge, unifiedToNative, measureScrollbar, throttleIdleTask };","var NAMESPACE = 'emoji-mart';\nvar isLocalStorageSupported = typeof window !== 'undefined' && 'localStorage' in window;\nvar getter;\nvar setter;\n\nfunction setHandlers(handlers) {\n handlers || (handlers = {});\n getter = handlers.getter;\n setter = handlers.setter;\n}\n\nfunction setNamespace(namespace) {\n NAMESPACE = namespace;\n}\n\nfunction update(state) {\n for (var key in state) {\n var value = state[key];\n set(key, value);\n }\n}\n\nfunction set(key, value) {\n if (setter) {\n setter(key, value);\n } else {\n if (!isLocalStorageSupported) return;\n\n try {\n window.localStorage[\"\".concat(NAMESPACE, \".\").concat(key)] = JSON.stringify(value);\n } catch (e) {}\n }\n}\n\nfunction get(key) {\n if (getter) {\n return getter(key);\n } else {\n if (!isLocalStorageSupported) return;\n\n try {\n var value = window.localStorage[\"\".concat(NAMESPACE, \".\").concat(key)];\n\n if (value) {\n return JSON.parse(value);\n }\n } catch (e) {\n return;\n }\n }\n}\n\nexport default {\n update: update,\n set: set,\n get: get,\n setNamespace: setNamespace,\n setHandlers: setHandlers\n};","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport { getData, getSanitizedData, intersect } from '..';\nimport { uncompress } from '../data';\nimport store from '../store';\n\nvar NimbleEmojiIndex =\n/*#__PURE__*/\nfunction () {\n function NimbleEmojiIndex(data, set) {\n _classCallCheck(this, NimbleEmojiIndex);\n\n if (data.compressed) {\n uncompress(data);\n }\n\n this.data = data || {};\n this.set = set || null;\n this.originalPool = {};\n this.index = {};\n this.emojis = {};\n this.emoticons = {};\n this.customEmojisList = [];\n this.buildIndex();\n }\n\n _createClass(NimbleEmojiIndex, [{\n key: \"buildIndex\",\n value: function buildIndex() {\n var _this = this;\n\n var _loop = function _loop(emoji) {\n var emojiData = _this.data.emojis[emoji],\n short_names = emojiData.short_names,\n emoticons = emojiData.emoticons,\n skin_variations = emojiData.skin_variations,\n id = short_names[0];\n\n if (emoticons) {\n emoticons.forEach(function (emoticon) {\n if (_this.emoticons[emoticon]) {\n return;\n }\n\n _this.emoticons[emoticon] = id;\n });\n } // If skin variations include them\n\n\n if (skin_variations) {\n _this.emojis[id] = {};\n\n for (var skinTone = 1; skinTone <= 6; skinTone++) {\n _this.emojis[id][skinTone] = getSanitizedData({\n id: id,\n skin: skinTone\n }, skinTone, _this.set, _this.data);\n }\n } else {\n _this.emojis[id] = getSanitizedData(id, null, _this.set, _this.data);\n }\n\n _this.originalPool[id] = emojiData;\n };\n\n for (var emoji in this.data.emojis) {\n _loop(emoji);\n }\n }\n }, {\n key: \"clearCustomEmojis\",\n value: function clearCustomEmojis(pool) {\n var _this2 = this;\n\n this.customEmojisList.forEach(function (emoji) {\n var emojiId = emoji.id || emoji.short_names[0];\n delete pool[emojiId];\n delete _this2.emojis[emojiId];\n });\n }\n }, {\n key: \"addCustomToPool\",\n value: function addCustomToPool(custom, pool) {\n var _this3 = this;\n\n if (this.customEmojisList.length) this.clearCustomEmojis(pool);\n custom.forEach(function (emoji) {\n var emojiId = emoji.id || emoji.short_names[0];\n\n if (emojiId && !pool[emojiId]) {\n pool[emojiId] = getData(emoji, null, null, _this3.data);\n _this3.emojis[emojiId] = getSanitizedData(emoji, null, null, _this3.data);\n }\n });\n this.customEmojisList = custom;\n this.index = {};\n }\n }, {\n key: \"search\",\n value: function search(value) {\n var _this4 = this;\n\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n emojisToShowFilter = _ref.emojisToShowFilter,\n maxResults = _ref.maxResults,\n include = _ref.include,\n exclude = _ref.exclude,\n _ref$custom = _ref.custom,\n custom = _ref$custom === void 0 ? [] : _ref$custom;\n\n if (this.customEmojisList != custom) this.addCustomToPool(custom, this.originalPool);\n var skinTone = store.get('skin') || 1;\n maxResults || (maxResults = 75);\n include || (include = []);\n exclude || (exclude = []);\n var results = null,\n pool = this.originalPool;\n\n if (value.length) {\n if (value == '-' || value == '-1') {\n return [this.emojis['-1'][skinTone]];\n }\n\n var values = value.toLowerCase().split(/[\\s|,|\\-|_]+/),\n allResults = [];\n\n if (values.length > 2) {\n values = [values[0], values[1]];\n }\n\n if (include.length || exclude.length) {\n pool = {};\n this.data.categories.forEach(function (category) {\n var isIncluded = include && include.length ? include.indexOf(category.id) > -1 : true;\n var isExcluded = exclude && exclude.length ? exclude.indexOf(category.id) > -1 : false;\n\n if (!isIncluded || isExcluded) {\n return;\n }\n\n category.emojis.forEach(function (emojiId) {\n return pool[emojiId] = _this4.data.emojis[emojiId];\n });\n });\n\n if (custom.length) {\n var customIsIncluded = include && include.length ? include.indexOf('custom') > -1 : true;\n var customIsExcluded = exclude && exclude.length ? exclude.indexOf('custom') > -1 : false;\n\n if (customIsIncluded && !customIsExcluded) {\n this.addCustomToPool(custom, pool);\n }\n }\n }\n\n allResults = values.map(function (value) {\n var aPool = pool,\n aIndex = _this4.index,\n length = 0;\n\n for (var charIndex = 0; charIndex < value.length; charIndex++) {\n var _char = value[charIndex];\n length++;\n aIndex[_char] || (aIndex[_char] = {});\n aIndex = aIndex[_char];\n\n if (!aIndex.results) {\n (function () {\n var scores = {};\n aIndex.results = [];\n aIndex.pool = {};\n\n for (var id in aPool) {\n var emoji = aPool[id],\n search = emoji.search,\n sub = value.substr(0, length),\n subIndex = search.indexOf(sub);\n\n if (subIndex != -1) {\n var score = subIndex + 1;\n if (sub == id) score = 0;\n\n if (_this4.emojis[id] && _this4.emojis[id][skinTone]) {\n aIndex.results.push(_this4.emojis[id][skinTone]);\n } else {\n aIndex.results.push(_this4.emojis[id]);\n }\n\n aIndex.pool[id] = emoji;\n scores[id] = score;\n }\n }\n\n aIndex.results.sort(function (a, b) {\n var aScore = scores[a.id],\n bScore = scores[b.id];\n\n if (aScore == bScore) {\n return a.id.localeCompare(b.id);\n } else {\n return aScore - bScore;\n }\n });\n })();\n }\n\n aPool = aIndex.pool;\n }\n\n return aIndex.results;\n }).filter(function (a) {\n return a;\n });\n\n if (allResults.length > 1) {\n results = intersect.apply(null, allResults);\n } else if (allResults.length) {\n results = allResults[0];\n } else {\n results = [];\n }\n }\n\n if (results) {\n if (emojisToShowFilter) {\n results = results.filter(function (result) {\n return emojisToShowFilter(pool[result.id]);\n });\n }\n\n if (results && results.length > maxResults) {\n results = results.slice(0, maxResults);\n }\n }\n\n return results;\n }\n }]);\n\n return NimbleEmojiIndex;\n}();\n\nexport { NimbleEmojiIndex as default };","import data from '../../../data/all.json';\nimport NimbleEmojiIndex from './nimble-emoji-index';\nvar emojiIndex = new NimbleEmojiIndex(data);\nvar emojis = emojiIndex.emojis,\n emoticons = emojiIndex.emoticons;\n\nfunction search() {\n return emojiIndex.search.apply(emojiIndex, arguments);\n}\n\nexport default {\n search: search,\n emojis: emojis,\n emoticons: emoticons\n};","import store from './store';\nvar DEFAULTS = ['+1', 'grinning', 'kissing_heart', 'heart_eyes', 'laughing', 'stuck_out_tongue_winking_eye', 'sweat_smile', 'joy', 'scream', 'disappointed', 'unamused', 'weary', 'sob', 'sunglasses', 'heart', 'poop'];\nvar frequently, initialized;\nvar defaults = {};\n\nfunction init() {\n initialized = true;\n frequently = store.get('frequently');\n}\n\nfunction add(emoji) {\n if (!initialized) init();\n var id = emoji.id;\n frequently || (frequently = defaults);\n frequently[id] || (frequently[id] = 0);\n frequently[id] += 1;\n store.set('last', id);\n store.set('frequently', frequently);\n}\n\nfunction get(perLine) {\n if (!initialized) init();\n\n if (!frequently) {\n defaults = {};\n var result = [];\n\n for (var i = 0; i < perLine; i++) {\n defaults[DEFAULTS[i]] = perLine - i;\n result.push(DEFAULTS[i]);\n }\n\n return result;\n }\n\n var quantity = perLine * 4;\n var frequentlyKeys = [];\n\n for (var key in frequently) {\n if (frequently.hasOwnProperty(key)) {\n frequentlyKeys.push(key);\n }\n }\n\n var sorted = frequentlyKeys.sort(function (a, b) {\n return frequently[a] - frequently[b];\n }).reverse();\n var sliced = sorted.slice(0, quantity);\n var last = store.get('last');\n\n if (last && sliced.indexOf(last) == -1) {\n sliced.pop();\n sliced.push(last);\n }\n\n return sliced;\n}\n\nexport default {\n add: add,\n get: get\n};","import React from 'react';\nvar categories = {\n activity: function activity() {\n return React.createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n width: \"24\",\n height: \"24\"\n }, React.createElement(\"path\", {\n d: \"M12 0C5.373 0 0 5.372 0 12c0 6.627 5.373 12 12 12 6.628 0 12-5.373 12-12 0-6.628-5.372-12-12-12m9.949 11H17.05c.224-2.527 1.232-4.773 1.968-6.113A9.966 9.966 0 0 1 21.949 11M13 11V2.051a9.945 9.945 0 0 1 4.432 1.564c-.858 1.491-2.156 4.22-2.392 7.385H13zm-2 0H8.961c-.238-3.165-1.536-5.894-2.393-7.385A9.95 9.95 0 0 1 11 2.051V11zm0 2v8.949a9.937 9.937 0 0 1-4.432-1.564c.857-1.492 2.155-4.221 2.393-7.385H11zm4.04 0c.236 3.164 1.534 5.893 2.392 7.385A9.92 9.92 0 0 1 13 21.949V13h2.04zM4.982 4.887C5.718 6.227 6.726 8.473 6.951 11h-4.9a9.977 9.977 0 0 1 2.931-6.113M2.051 13h4.9c-.226 2.527-1.233 4.771-1.969 6.113A9.972 9.972 0 0 1 2.051 13m16.967 6.113c-.735-1.342-1.744-3.586-1.968-6.113h4.899a9.961 9.961 0 0 1-2.931 6.113\"\n }));\n },\n custom: function custom() {\n return React.createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n width: \"24\",\n height: \"24\"\n }, React.createElement(\"g\", {\n transform: \"translate(2.000000, 1.000000)\"\n }, React.createElement(\"rect\", {\n id: \"Rectangle\",\n x: \"8\",\n y: \"0\",\n width: \"3\",\n height: \"21\",\n rx: \"1.5\"\n }), React.createElement(\"rect\", {\n id: \"Rectangle\",\n transform: \"translate(9.843, 10.549) rotate(60) translate(-9.843, -10.549) \",\n x: \"8.343\",\n y: \"0.049\",\n width: \"3\",\n height: \"21\",\n rx: \"1.5\"\n }), React.createElement(\"rect\", {\n id: \"Rectangle\",\n transform: \"translate(9.843, 10.549) rotate(-60) translate(-9.843, -10.549) \",\n x: \"8.343\",\n y: \"0.049\",\n width: \"3\",\n height: \"21\",\n rx: \"1.5\"\n })));\n },\n flags: function flags() {\n return React.createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n width: \"24\",\n height: \"24\"\n }, React.createElement(\"path\", {\n d: \"M0 0l6.084 24H8L1.916 0zM21 5h-4l-1-4H4l3 12h3l1 4h13L21 5zM6.563 3h7.875l2 8H8.563l-2-8zm8.832 10l-2.856 1.904L12.063 13h3.332zM19 13l-1.5-6h1.938l2 8H16l3-2z\"\n }));\n },\n foods: function foods() {\n return React.createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n width: \"24\",\n height: \"24\"\n }, React.createElement(\"path\", {\n d: \"M17 4.978c-1.838 0-2.876.396-3.68.934.513-1.172 1.768-2.934 4.68-2.934a1 1 0 0 0 0-2c-2.921 0-4.629 1.365-5.547 2.512-.064.078-.119.162-.18.244C11.73 1.838 10.798.023 9.207.023 8.579.022 7.85.306 7 .978 5.027 2.54 5.329 3.902 6.492 4.999 3.609 5.222 0 7.352 0 12.969c0 4.582 4.961 11.009 9 11.009 1.975 0 2.371-.486 3-1 .629.514 1.025 1 3 1 4.039 0 9-6.418 9-11 0-5.953-4.055-8-7-8M8.242 2.546c.641-.508.943-.523.965-.523.426.169.975 1.405 1.357 3.055-1.527-.629-2.741-1.352-2.98-1.846.059-.112.241-.356.658-.686M15 21.978c-1.08 0-1.21-.109-1.559-.402l-.176-.146c-.367-.302-.816-.452-1.266-.452s-.898.15-1.266.452l-.176.146c-.347.292-.477.402-1.557.402-2.813 0-7-5.389-7-9.009 0-5.823 4.488-5.991 5-5.991 1.939 0 2.484.471 3.387 1.251l.323.276a1.995 1.995 0 0 0 2.58 0l.323-.276c.902-.78 1.447-1.251 3.387-1.251.512 0 5 .168 5 6 0 3.617-4.187 9-7 9\"\n }));\n },\n nature: function nature() {\n return React.createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n width: \"24\",\n height: \"24\"\n }, React.createElement(\"path\", {\n d: \"M15.5 8a1.5 1.5 0 1 0 .001 3.001A1.5 1.5 0 0 0 15.5 8M8.5 8a1.5 1.5 0 1 0 .001 3.001A1.5 1.5 0 0 0 8.5 8\"\n }), React.createElement(\"path\", {\n d: \"M18.933 0h-.027c-.97 0-2.138.787-3.018 1.497-1.274-.374-2.612-.51-3.887-.51-1.285 0-2.616.133-3.874.517C7.245.79 6.069 0 5.093 0h-.027C3.352 0 .07 2.67.002 7.026c-.039 2.479.276 4.238 1.04 5.013.254.258.882.677 1.295.882.191 3.177.922 5.238 2.536 6.38.897.637 2.187.949 3.2 1.102C8.04 20.6 8 20.795 8 21c0 1.773 2.35 3 4 3 1.648 0 4-1.227 4-3 0-.201-.038-.393-.072-.586 2.573-.385 5.435-1.877 5.925-7.587.396-.22.887-.568 1.104-.788.763-.774 1.079-2.534 1.04-5.013C23.929 2.67 20.646 0 18.933 0M3.223 9.135c-.237.281-.837 1.155-.884 1.238-.15-.41-.368-1.349-.337-3.291.051-3.281 2.478-4.972 3.091-5.031.256.015.731.27 1.265.646-1.11 1.171-2.275 2.915-2.352 5.125-.133.546-.398.858-.783 1.313M12 22c-.901 0-1.954-.693-2-1 0-.654.475-1.236 1-1.602V20a1 1 0 1 0 2 0v-.602c.524.365 1 .947 1 1.602-.046.307-1.099 1-2 1m3-3.48v.02a4.752 4.752 0 0 0-1.262-1.02c1.092-.516 2.239-1.334 2.239-2.217 0-1.842-1.781-2.195-3.977-2.195-2.196 0-3.978.354-3.978 2.195 0 .883 1.148 1.701 2.238 2.217A4.8 4.8 0 0 0 9 18.539v-.025c-1-.076-2.182-.281-2.973-.842-1.301-.92-1.838-3.045-1.853-6.478l.023-.041c.496-.826 1.49-1.45 1.804-3.102 0-2.047 1.357-3.631 2.362-4.522C9.37 3.178 10.555 3 11.948 3c1.447 0 2.685.192 3.733.57 1 .9 2.316 2.465 2.316 4.48.313 1.651 1.307 2.275 1.803 3.102.035.058.068.117.102.178-.059 5.967-1.949 7.01-4.902 7.19m6.628-8.202c-.037-.065-.074-.13-.113-.195a7.587 7.587 0 0 0-.739-.987c-.385-.455-.648-.768-.782-1.313-.076-2.209-1.241-3.954-2.353-5.124.531-.376 1.004-.63 1.261-.647.636.071 3.044 1.764 3.096 5.031.027 1.81-.347 3.218-.37 3.235\"\n }));\n },\n objects: function objects() {\n return React.createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n width: \"24\",\n height: \"24\"\n }, React.createElement(\"path\", {\n d: \"M12 0a9 9 0 0 0-5 16.482V21s2.035 3 5 3 5-3 5-3v-4.518A9 9 0 0 0 12 0zm0 2c3.86 0 7 3.141 7 7s-3.14 7-7 7-7-3.141-7-7 3.14-7 7-7zM9 17.477c.94.332 1.946.523 3 .523s2.06-.19 3-.523v.834c-.91.436-1.925.689-3 .689a6.924 6.924 0 0 1-3-.69v-.833zm.236 3.07A8.854 8.854 0 0 0 12 21c.965 0 1.888-.167 2.758-.451C14.155 21.173 13.153 22 12 22c-1.102 0-2.117-.789-2.764-1.453z\"\n }), React.createElement(\"path\", {\n d: \"M14.745 12.449h-.004c-.852-.024-1.188-.858-1.577-1.824-.421-1.061-.703-1.561-1.182-1.566h-.009c-.481 0-.783.497-1.235 1.537-.436.982-.801 1.811-1.636 1.791l-.276-.043c-.565-.171-.853-.691-1.284-1.794-.125-.313-.202-.632-.27-.913-.051-.213-.127-.53-.195-.634C7.067 9.004 7.039 9 6.99 9A1 1 0 0 1 7 7h.01c1.662.017 2.015 1.373 2.198 2.134.486-.981 1.304-2.058 2.797-2.075 1.531.018 2.28 1.153 2.731 2.141l.002-.008C14.944 8.424 15.327 7 16.979 7h.032A1 1 0 1 1 17 9h-.011c-.149.076-.256.474-.319.709a6.484 6.484 0 0 1-.311.951c-.429.973-.79 1.789-1.614 1.789\"\n }));\n },\n people: function people() {\n return React.createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n width: \"24\",\n height: \"24\"\n }, React.createElement(\"path\", {\n d: \"M12 0C5.373 0 0 5.373 0 12s5.373 12 12 12 12-5.373 12-12S18.627 0 12 0m0 22C6.486 22 2 17.514 2 12S6.486 2 12 2s10 4.486 10 10-4.486 10-10 10\"\n }), React.createElement(\"path\", {\n d: \"M8 7a2 2 0 1 0-.001 3.999A2 2 0 0 0 8 7M16 7a2 2 0 1 0-.001 3.999A2 2 0 0 0 16 7M15.232 15c-.693 1.195-1.87 2-3.349 2-1.477 0-2.655-.805-3.347-2H15m3-2H6a6 6 0 1 0 12 0\"\n }));\n },\n places: function places() {\n return React.createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n width: \"24\",\n height: \"24\"\n }, React.createElement(\"path\", {\n d: \"M6.5 12C5.122 12 4 13.121 4 14.5S5.122 17 6.5 17 9 15.879 9 14.5 7.878 12 6.5 12m0 3c-.275 0-.5-.225-.5-.5s.225-.5.5-.5.5.225.5.5-.225.5-.5.5M17.5 12c-1.378 0-2.5 1.121-2.5 2.5s1.122 2.5 2.5 2.5 2.5-1.121 2.5-2.5-1.122-2.5-2.5-2.5m0 3c-.275 0-.5-.225-.5-.5s.225-.5.5-.5.5.225.5.5-.225.5-.5.5\"\n }), React.createElement(\"path\", {\n d: \"M22.482 9.494l-1.039-.346L21.4 9h.6c.552 0 1-.439 1-.992 0-.006-.003-.008-.003-.008H23c0-1-.889-2-1.984-2h-.642l-.731-1.717C19.262 3.012 18.091 2 16.764 2H7.236C5.909 2 4.738 3.012 4.357 4.283L3.626 6h-.642C1.889 6 1 7 1 8h.003S1 8.002 1 8.008C1 8.561 1.448 9 2 9h.6l-.043.148-1.039.346a2.001 2.001 0 0 0-1.359 2.097l.751 7.508a1 1 0 0 0 .994.901H3v1c0 1.103.896 2 2 2h2c1.104 0 2-.897 2-2v-1h6v1c0 1.103.896 2 2 2h2c1.104 0 2-.897 2-2v-1h1.096a.999.999 0 0 0 .994-.901l.751-7.508a2.001 2.001 0 0 0-1.359-2.097M6.273 4.857C6.402 4.43 6.788 4 7.236 4h9.527c.448 0 .834.43.963.857L19.313 9H4.688l1.585-4.143zM7 21H5v-1h2v1zm12 0h-2v-1h2v1zm2.189-3H2.811l-.662-6.607L3 11h18l.852.393L21.189 18z\"\n }));\n },\n recent: function recent() {\n return React.createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n width: \"24\",\n height: \"24\"\n }, React.createElement(\"path\", {\n d: \"M13 4h-2l-.001 7H9v2h2v2h2v-2h4v-2h-4z\"\n }), React.createElement(\"path\", {\n d: \"M12 0C5.373 0 0 5.373 0 12s5.373 12 12 12 12-5.373 12-12S18.627 0 12 0m0 22C6.486 22 2 17.514 2 12S6.486 2 12 2s10 4.486 10 10-4.486 10-10 10\"\n }));\n },\n symbols: function symbols() {\n return React.createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n viewBox: \"0 0 24 24\",\n width: \"24\",\n height: \"24\"\n }, React.createElement(\"path\", {\n d: \"M0 0h11v2H0zM4 11h3V6h4V4H0v2h4zM15.5 17c1.381 0 2.5-1.116 2.5-2.493s-1.119-2.493-2.5-2.493S13 13.13 13 14.507 14.119 17 15.5 17m0-2.986c.276 0 .5.222.5.493 0 .272-.224.493-.5.493s-.5-.221-.5-.493.224-.493.5-.493M21.5 19.014c-1.381 0-2.5 1.116-2.5 2.493S20.119 24 21.5 24s2.5-1.116 2.5-2.493-1.119-2.493-2.5-2.493m0 2.986a.497.497 0 0 1-.5-.493c0-.271.224-.493.5-.493s.5.222.5.493a.497.497 0 0 1-.5.493M22 13l-9 9 1.513 1.5 8.99-9.009zM17 11c2.209 0 4-1.119 4-2.5V2s.985-.161 1.498.949C23.01 4.055 23 6 23 6s1-1.119 1-3.135C24-.02 21 0 21 0h-2v6.347A5.853 5.853 0 0 0 17 6c-2.209 0-4 1.119-4 2.5s1.791 2.5 4 2.5M10.297 20.482l-1.475-1.585a47.54 47.54 0 0 1-1.442 1.129c-.307-.288-.989-1.016-2.045-2.183.902-.836 1.479-1.466 1.729-1.892s.376-.871.376-1.336c0-.592-.273-1.178-.818-1.759-.546-.581-1.329-.871-2.349-.871-1.008 0-1.79.293-2.344.879-.556.587-.832 1.181-.832 1.784 0 .813.419 1.748 1.256 2.805-.847.614-1.444 1.208-1.794 1.784a3.465 3.465 0 0 0-.523 1.833c0 .857.308 1.56.924 2.107.616.549 1.423.823 2.42.823 1.173 0 2.444-.379 3.813-1.137L8.235 24h2.819l-2.09-2.383 1.333-1.135zm-6.736-6.389a1.02 1.02 0 0 1 .73-.286c.31 0 .559.085.747.254a.849.849 0 0 1 .283.659c0 .518-.419 1.112-1.257 1.784-.536-.651-.805-1.231-.805-1.742a.901.901 0 0 1 .302-.669M3.74 22c-.427 0-.778-.116-1.057-.349-.279-.232-.418-.487-.418-.766 0-.594.509-1.288 1.527-2.083.968 1.134 1.717 1.946 2.248 2.438-.921.507-1.686.76-2.3.76\"\n }));\n }\n};\nvar search = {\n search: function search() {\n return React.createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"13\",\n height: \"13\",\n viewBox: \"0 0 20 20\",\n opacity: \"0.5\"\n }, React.createElement(\"path\", {\n d: \"M12.9 14.32a8 8 0 1 1 1.41-1.41l5.35 5.33-1.42 1.42-5.33-5.34zM8 14A6 6 0 1 0 8 2a6 6 0 0 0 0 12z\"\n }));\n },\n \"delete\": function _delete() {\n return React.createElement(\"svg\", {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"13\",\n height: \"13\",\n viewBox: \"0 0 20 20\",\n opacity: \"0.5\"\n }, React.createElement(\"path\", {\n d: \"M10 8.586L2.929 1.515 1.515 2.929 8.586 10l-7.071 7.071 1.414 1.414L10 11.414l7.071 7.071 1.414-1.414L11.414 10l7.071-7.071-1.414-1.414L10 8.586z\"\n }));\n }\n};\nexport { categories, search };","import PropTypes from 'prop-types';\nvar EmojiPropTypes = {\n data: PropTypes.object.isRequired,\n onOver: PropTypes.func,\n onLeave: PropTypes.func,\n onClick: PropTypes.func,\n fallback: PropTypes.func,\n backgroundImageFn: PropTypes.func,\n \"native\": PropTypes.bool,\n forceSize: PropTypes.bool,\n tooltip: PropTypes.bool,\n useButton: PropTypes.bool,\n skin: PropTypes.oneOf([1, 2, 3, 4, 5, 6]),\n sheetSize: PropTypes.oneOf([16, 20, 32, 64]),\n sheetColumns: PropTypes.number,\n sheetRows: PropTypes.number,\n set: PropTypes.oneOf(['apple', 'google', 'twitter', 'facebook']),\n size: PropTypes.number.isRequired,\n emoji: PropTypes.oneOfType([PropTypes.string, PropTypes.object]).isRequired\n};\nvar PickerPropTypes = {\n onClick: PropTypes.func,\n onSelect: PropTypes.func,\n onSkinChange: PropTypes.func,\n perLine: PropTypes.number,\n emojiSize: PropTypes.number,\n i18n: PropTypes.object,\n style: PropTypes.object,\n title: PropTypes.string,\n emoji: PropTypes.string,\n color: PropTypes.string,\n set: EmojiPropTypes.set,\n skin: EmojiPropTypes.skin,\n \"native\": PropTypes.bool,\n backgroundImageFn: EmojiPropTypes.backgroundImageFn,\n sheetSize: EmojiPropTypes.sheetSize,\n emojisToShowFilter: PropTypes.func,\n showPreview: PropTypes.bool,\n showSkinTones: PropTypes.bool,\n emojiTooltip: EmojiPropTypes.tooltip,\n useButton: EmojiPropTypes.useButton,\n theme: PropTypes.oneOf(['auto', 'light', 'dark']),\n include: PropTypes.arrayOf(PropTypes.string),\n exclude: PropTypes.arrayOf(PropTypes.string),\n recent: PropTypes.arrayOf(PropTypes.string),\n autoFocus: PropTypes.bool,\n enableFrequentEmojiSort: PropTypes.bool,\n custom: PropTypes.arrayOf(PropTypes.shape({\n name: PropTypes.string.isRequired,\n short_names: PropTypes.arrayOf(PropTypes.string).isRequired,\n emoticons: PropTypes.arrayOf(PropTypes.string),\n keywords: PropTypes.arrayOf(PropTypes.string),\n imageUrl: PropTypes.string,\n spriteUrl: PropTypes.string,\n sheet_x: PropTypes.number,\n sheet_y: PropTypes.number,\n size: PropTypes.number,\n sheetColumns: PropTypes.number,\n sheetRows: PropTypes.number\n })),\n skinEmoji: PropTypes.string,\n notFound: PropTypes.func,\n notFoundEmoji: PropTypes.string,\n icons: PropTypes.object\n};\nexport { EmojiPropTypes, PickerPropTypes };","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nvar Anchors =\n/*#__PURE__*/\nfunction (_React$PureComponent) {\n _inherits(Anchors, _React$PureComponent);\n\n function Anchors(props) {\n var _this;\n\n _classCallCheck(this, Anchors);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Anchors).call(this, props));\n var defaultCategory = props.categories.filter(function (category) {\n return category.first;\n })[0];\n _this.state = {\n selected: defaultCategory.name\n };\n _this.handleClick = _this.handleClick.bind(_assertThisInitialized(_this));\n return _this;\n }\n\n _createClass(Anchors, [{\n key: \"handleClick\",\n value: function handleClick(e) {\n var index = e.currentTarget.getAttribute('data-index');\n var _this$props = this.props,\n categories = _this$props.categories,\n onAnchorClick = _this$props.onAnchorClick;\n onAnchorClick(categories[index], index);\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var _this$props2 = this.props,\n categories = _this$props2.categories,\n color = _this$props2.color,\n i18n = _this$props2.i18n,\n icons = _this$props2.icons,\n selected = this.state.selected;\n return React.createElement(\"nav\", {\n className: \"emoji-mart-anchors\",\n \"aria-label\": i18n.categorieslabel\n }, categories.map(function (category, i) {\n var id = category.id,\n name = category.name,\n anchor = category.anchor,\n isSelected = name == selected;\n\n if (anchor === false) {\n return null;\n }\n\n var iconId = id.startsWith('custom-') ? 'custom' : id;\n return React.createElement(\"button\", {\n key: id,\n \"aria-label\": i18n.categories[iconId],\n title: i18n.categories[iconId],\n \"data-index\": i,\n type: 'button',\n onClick: _this2.handleClick,\n className: \"emoji-mart-anchor \".concat(isSelected ? 'emoji-mart-anchor-selected' : ''),\n style: {\n color: isSelected ? color : null\n }\n }, React.createElement(\"div\", {\n className: \"emoji-mart-anchor-icon\"\n }, icons.categories[iconId]()), React.createElement(\"span\", {\n className: \"emoji-mart-anchor-bar\",\n style: {\n backgroundColor: color\n }\n }));\n }));\n }\n }]);\n\n return Anchors;\n}(React.PureComponent);\n\nexport { Anchors as default };\nAnchors.propTypes\n/* remove-proptypes */\n= {\n categories: PropTypes.array,\n onAnchorClick: PropTypes.func,\n icons: PropTypes.object\n};\nAnchors.defaultProps = {\n categories: [],\n onAnchorClick: function onAnchorClick() {},\n icons: {}\n};","var EmojiDefaultProps = {\n skin: 1,\n set: 'apple',\n sheetSize: 64,\n sheetColumns: 57,\n sheetRows: 57,\n \"native\": false,\n forceSize: false,\n tooltip: false,\n useButton: true,\n backgroundImageFn: function backgroundImageFn(set, sheetSize) {\n return \"https://unpkg.com/emoji-datasource-\".concat(set, \"@\").concat(\"5.0.1\", \"/img/\").concat(set, \"/sheets-256/\").concat(sheetSize, \".png\");\n }\n};\nvar PickerDefaultProps = {\n onClick: function onClick() {},\n onSelect: function onSelect() {},\n onSkinChange: function onSkinChange() {},\n emojiSize: 24,\n perLine: 9,\n i18n: {},\n style: {},\n title: 'Emoji Mart™',\n emoji: 'department_store',\n color: '#ae65c5',\n set: EmojiDefaultProps.set,\n theme: 'light',\n skin: null,\n defaultSkin: EmojiDefaultProps.skin,\n \"native\": EmojiDefaultProps[\"native\"],\n sheetSize: EmojiDefaultProps.sheetSize,\n backgroundImageFn: EmojiDefaultProps.backgroundImageFn,\n emojisToShowFilter: null,\n showPreview: true,\n showSkinTones: true,\n emojiTooltip: EmojiDefaultProps.tooltip,\n useButton: EmojiDefaultProps.useButton,\n autoFocus: false,\n enableFrequentEmojiSort: false,\n custom: [],\n skinEmoji: '',\n notFound: function notFound() {},\n notFoundEmoji: 'sleuth_or_spy',\n icons: {}\n};\nexport { PickerDefaultProps, EmojiDefaultProps };","import _extends from \"@babel/runtime/helpers/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { getData, getSanitizedData, unifiedToNative } from '../../utils';\nimport { uncompress } from '../../utils/data';\nimport { EmojiPropTypes } from '../../utils/shared-props';\nimport { EmojiDefaultProps } from '../../utils/shared-default-props';\n\nvar _getData = function _getData(props) {\n var emoji = props.emoji,\n skin = props.skin,\n set = props.set,\n data = props.data;\n return getData(emoji, skin, set, data);\n};\n\nvar _getPosition = function _getPosition(props) {\n var _getData2 = _getData(props),\n sheet_x = _getData2.sheet_x,\n sheet_y = _getData2.sheet_y,\n multiplyX = 100 / (props.sheetColumns - 1),\n multiplyY = 100 / (props.sheetRows - 1);\n\n return \"\".concat(multiplyX * sheet_x, \"% \").concat(multiplyY * sheet_y, \"%\");\n};\n\nvar _getSanitizedData = function _getSanitizedData(props) {\n var emoji = props.emoji,\n skin = props.skin,\n set = props.set,\n data = props.data;\n return getSanitizedData(emoji, skin, set, data);\n};\n\nvar _handleClick = function _handleClick(e, props) {\n if (!props.onClick) {\n return;\n }\n\n var onClick = props.onClick,\n emoji = _getSanitizedData(props);\n\n onClick(emoji, e);\n};\n\nvar _handleOver = function _handleOver(e, props) {\n if (!props.onOver) {\n return;\n }\n\n var onOver = props.onOver,\n emoji = _getSanitizedData(props);\n\n onOver(emoji, e);\n};\n\nvar _handleLeave = function _handleLeave(e, props) {\n if (!props.onLeave) {\n return;\n }\n\n var onLeave = props.onLeave,\n emoji = _getSanitizedData(props);\n\n onLeave(emoji, e);\n};\n\nvar _isNumeric = function _isNumeric(value) {\n return !isNaN(value - parseFloat(value));\n};\n\nvar _convertStyleToCSS = function _convertStyleToCSS(style) {\n var div = document.createElement('div');\n\n for (var key in style) {\n var value = style[key];\n\n if (_isNumeric(value)) {\n value += 'px';\n }\n\n div.style[key] = value;\n }\n\n return div.getAttribute('style');\n};\n\nvar NimbleEmoji = function NimbleEmoji(props) {\n if (props.data.compressed) {\n uncompress(props.data);\n }\n\n for (var k in NimbleEmoji.defaultProps) {\n if (props[k] == undefined && NimbleEmoji.defaultProps[k] != undefined) {\n props[k] = NimbleEmoji.defaultProps[k];\n }\n }\n\n var data = _getData(props);\n\n if (!data) {\n if (props.fallback) {\n return props.fallback(null, props);\n } else {\n return null;\n }\n }\n\n var unified = data.unified,\n custom = data.custom,\n short_names = data.short_names,\n imageUrl = data.imageUrl,\n style = {},\n children = props.children,\n className = 'emoji-mart-emoji',\n nativeEmoji = unified && unifiedToNative(unified),\n label = [nativeEmoji].concat(short_names).filter(Boolean).join(', '),\n title = null;\n\n if (!unified && !custom) {\n if (props.fallback) {\n return props.fallback(data, props);\n } else {\n return null;\n }\n }\n\n if (props.tooltip) {\n title = short_names[0];\n }\n\n if (props[\"native\"] && unified) {\n className += ' emoji-mart-emoji-native';\n style = {\n fontSize: props.size\n };\n children = nativeEmoji;\n\n if (props.forceSize) {\n style.display = 'inline-block';\n style.width = props.size;\n style.height = props.size;\n style.wordBreak = 'keep-all';\n }\n } else if (custom) {\n className += ' emoji-mart-emoji-custom';\n style = {\n width: props.size,\n height: props.size,\n display: 'inline-block'\n };\n\n if (data.spriteUrl) {\n style = _objectSpread({}, style, {\n backgroundImage: \"url(\".concat(data.spriteUrl, \")\"),\n backgroundSize: \"\".concat(100 * props.sheetColumns, \"% \").concat(100 * props.sheetRows, \"%\"),\n backgroundPosition: _getPosition(props)\n });\n } else {\n style = _objectSpread({}, style, {\n backgroundImage: \"url(\".concat(imageUrl, \")\"),\n backgroundSize: 'contain',\n backgroundRepeat: 'no-repeat',\n backgroundPosition: 'center'\n });\n }\n } else {\n var setHasEmoji = data[\"has_img_\".concat(props.set)] == undefined || data[\"has_img_\".concat(props.set)];\n\n if (!setHasEmoji) {\n if (props.fallback) {\n return props.fallback(data, props);\n } else {\n return null;\n }\n } else {\n style = {\n width: props.size,\n height: props.size,\n display: 'inline-block',\n backgroundImage: \"url(\".concat(props.backgroundImageFn(props.set, props.sheetSize), \")\"),\n backgroundSize: \"\".concat(100 * props.sheetColumns, \"% \").concat(100 * props.sheetRows, \"%\"),\n backgroundPosition: _getPosition(props)\n };\n }\n }\n\n var Tag = {\n name: 'span',\n props: {}\n };\n\n if (props.onClick && props.useButton) {\n Tag.name = 'button';\n Tag.props = {\n type: 'button'\n };\n }\n\n if (props.html) {\n style = _convertStyleToCSS(style);\n return \"<\".concat(Tag.name, \" style='\").concat(style, \"' aria-label='\").concat(label, \"' \").concat(title ? \"title='\".concat(title, \"'\") : '', \" class='\").concat(className, \"'>\").concat(children || '', \"\");\n } else {\n return React.createElement(Tag.name, _extends({\n onClick: function onClick(e) {\n return _handleClick(e, props);\n },\n onMouseEnter: function onMouseEnter(e) {\n return _handleOver(e, props);\n },\n onMouseLeave: function onMouseLeave(e) {\n return _handleLeave(e, props);\n },\n \"aria-label\": label,\n title: title,\n className: className\n }, Tag.props), React.createElement(\"span\", {\n style: style\n }, children));\n }\n};\n\nNimbleEmoji.propTypes\n/* remove-proptypes */\n= _objectSpread({}, EmojiPropTypes, {\n data: PropTypes.object.isRequired\n});\nNimbleEmoji.defaultProps = EmojiDefaultProps;\nexport default NimbleEmoji;","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport NimbleEmoji from './emoji/nimble-emoji';\n\nvar NotFound =\n/*#__PURE__*/\nfunction (_React$PureComponent) {\n _inherits(NotFound, _React$PureComponent);\n\n function NotFound() {\n _classCallCheck(this, NotFound);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(NotFound).apply(this, arguments));\n }\n\n _createClass(NotFound, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n data = _this$props.data,\n emojiProps = _this$props.emojiProps,\n i18n = _this$props.i18n,\n notFound = _this$props.notFound,\n notFoundEmoji = _this$props.notFoundEmoji;\n var component = notFound && notFound() || React.createElement(\"div\", {\n className: \"emoji-mart-no-results\"\n }, NimbleEmoji(_objectSpread({\n data: data\n }, emojiProps, {\n size: 38,\n emoji: notFoundEmoji,\n onOver: null,\n onLeave: null,\n onClick: null\n })), React.createElement(\"div\", {\n className: \"emoji-mart-no-results-label\"\n }, i18n.notfound));\n return component;\n }\n }]);\n\n return NotFound;\n}(React.PureComponent);\n\nexport { NotFound as default };\nNotFound.propTypes\n/* remove-proptypes */\n= {\n notFound: PropTypes.func.isRequired,\n emojiProps: PropTypes.object.isRequired\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport frequently from '../utils/frequently';\nimport { getData } from '../utils';\nimport NimbleEmoji from './emoji/nimble-emoji';\nimport NotFound from './not-found';\n\nvar Category =\n/*#__PURE__*/\nfunction (_React$Component) {\n _inherits(Category, _React$Component);\n\n function Category(props) {\n var _this;\n\n _classCallCheck(this, Category);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Category).call(this, props));\n _this.data = props.data;\n _this.setContainerRef = _this.setContainerRef.bind(_assertThisInitialized(_this));\n _this.setLabelRef = _this.setLabelRef.bind(_assertThisInitialized(_this));\n return _this;\n }\n\n _createClass(Category, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.margin = 0;\n this.minMargin = 0;\n this.memoizeSize();\n }\n }, {\n key: \"shouldComponentUpdate\",\n value: function shouldComponentUpdate(nextProps, nextState) {\n var _this$props = this.props,\n name = _this$props.name,\n perLine = _this$props.perLine,\n _native = _this$props[\"native\"],\n hasStickyPosition = _this$props.hasStickyPosition,\n emojis = _this$props.emojis,\n emojiProps = _this$props.emojiProps,\n skin = emojiProps.skin,\n size = emojiProps.size,\n set = emojiProps.set,\n nextPerLine = nextProps.perLine,\n nextNative = nextProps[\"native\"],\n nextHasStickyPosition = nextProps.hasStickyPosition,\n nextEmojis = nextProps.emojis,\n nextEmojiProps = nextProps.emojiProps,\n nextSkin = nextEmojiProps.skin,\n nextSize = nextEmojiProps.size,\n nextSet = nextEmojiProps.set,\n shouldUpdate = false;\n\n if (name == 'Recent' && perLine != nextPerLine) {\n shouldUpdate = true;\n }\n\n if (name == 'Search') {\n shouldUpdate = !(emojis == nextEmojis);\n }\n\n if (skin != nextSkin || size != nextSize || _native != nextNative || set != nextSet || hasStickyPosition != nextHasStickyPosition) {\n shouldUpdate = true;\n }\n\n return shouldUpdate;\n }\n }, {\n key: \"memoizeSize\",\n value: function memoizeSize() {\n if (!this.container) {\n // probably this is a test environment, e.g. jest\n this.top = 0;\n this.maxMargin = 0;\n return;\n }\n\n var parent = this.container.parentElement;\n\n var _this$container$getBo = this.container.getBoundingClientRect(),\n top = _this$container$getBo.top,\n height = _this$container$getBo.height;\n\n var _parent$getBoundingCl = parent.getBoundingClientRect(),\n parentTop = _parent$getBoundingCl.top;\n\n var _this$label$getBoundi = this.label.getBoundingClientRect(),\n labelHeight = _this$label$getBoundi.height;\n\n this.top = top - parentTop + parent.scrollTop;\n\n if (height == 0) {\n this.maxMargin = 0;\n } else {\n this.maxMargin = height - labelHeight;\n }\n }\n }, {\n key: \"handleScroll\",\n value: function handleScroll(scrollTop) {\n var margin = scrollTop - this.top;\n margin = margin < this.minMargin ? this.minMargin : margin;\n margin = margin > this.maxMargin ? this.maxMargin : margin;\n if (margin == this.margin) return;\n\n if (!this.props.hasStickyPosition) {\n this.label.style.top = \"\".concat(margin, \"px\");\n }\n\n this.margin = margin;\n return true;\n }\n }, {\n key: \"getEmojis\",\n value: function getEmojis() {\n var _this2 = this;\n\n var _this$props2 = this.props,\n name = _this$props2.name,\n emojis = _this$props2.emojis,\n recent = _this$props2.recent,\n perLine = _this$props2.perLine;\n\n if (name == 'Recent') {\n var custom = this.props.custom;\n var frequentlyUsed = recent || frequently.get(perLine);\n\n if (frequentlyUsed.length) {\n emojis = frequentlyUsed.map(function (id) {\n var emoji = custom.filter(function (e) {\n return e.id === id;\n })[0];\n\n if (emoji) {\n return emoji;\n }\n\n return id;\n }).filter(function (id) {\n return !!getData(id, null, null, _this2.data);\n });\n }\n\n if (emojis.length === 0 && frequentlyUsed.length > 0) {\n return null;\n }\n }\n\n if (emojis) {\n emojis = emojis.slice(0);\n }\n\n return emojis;\n }\n }, {\n key: \"updateDisplay\",\n value: function updateDisplay(display) {\n var emojis = this.getEmojis();\n\n if (!emojis || !this.container) {\n return;\n }\n\n this.container.style.display = display;\n }\n }, {\n key: \"setContainerRef\",\n value: function setContainerRef(c) {\n this.container = c;\n }\n }, {\n key: \"setLabelRef\",\n value: function setLabelRef(c) {\n this.label = c;\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this3 = this;\n\n var _this$props3 = this.props,\n id = _this$props3.id,\n name = _this$props3.name,\n hasStickyPosition = _this$props3.hasStickyPosition,\n emojiProps = _this$props3.emojiProps,\n i18n = _this$props3.i18n,\n notFound = _this$props3.notFound,\n notFoundEmoji = _this$props3.notFoundEmoji,\n emojis = this.getEmojis(),\n labelStyles = {},\n labelSpanStyles = {},\n containerStyles = {};\n\n if (!emojis) {\n containerStyles = {\n display: 'none'\n };\n }\n\n if (!hasStickyPosition) {\n labelStyles = {\n height: 28\n };\n labelSpanStyles = {\n position: 'absolute'\n };\n }\n\n var label = i18n.categories[id] || name;\n return React.createElement(\"section\", {\n ref: this.setContainerRef,\n className: \"emoji-mart-category\",\n \"aria-label\": label,\n style: containerStyles\n }, React.createElement(\"div\", {\n style: labelStyles,\n \"data-name\": name,\n className: \"emoji-mart-category-label\"\n }, React.createElement(\"span\", {\n style: labelSpanStyles,\n ref: this.setLabelRef,\n \"aria-hidden\": true\n /* already labeled by the section aria-label */\n\n }, label)), React.createElement(\"ul\", {\n className: \"emoji-mart-category-list\"\n }, emojis && emojis.map(function (emoji) {\n return React.createElement(\"li\", {\n key: emoji.short_names && emoji.short_names.join('_') || emoji\n }, NimbleEmoji(_objectSpread({\n emoji: emoji,\n data: _this3.data\n }, emojiProps)));\n })), emojis && !emojis.length && React.createElement(NotFound, {\n i18n: i18n,\n notFound: notFound,\n notFoundEmoji: notFoundEmoji,\n data: this.data,\n emojiProps: emojiProps\n }));\n }\n }]);\n\n return Category;\n}(React.Component);\n\nexport { Category as default };\nCategory.propTypes\n/* remove-proptypes */\n= {\n emojis: PropTypes.array,\n hasStickyPosition: PropTypes.bool,\n name: PropTypes.string.isRequired,\n \"native\": PropTypes.bool.isRequired,\n perLine: PropTypes.number.isRequired,\n emojiProps: PropTypes.object.isRequired,\n recent: PropTypes.arrayOf(PropTypes.string),\n notFound: PropTypes.func,\n notFoundEmoji: PropTypes.string.isRequired\n};\nCategory.defaultProps = {\n emojis: [],\n hasStickyPosition: true\n};","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport React from 'react';\nimport PropTypes from 'prop-types';\n\nvar Skins =\n/*#__PURE__*/\nfunction (_React$PureComponent) {\n _inherits(Skins, _React$PureComponent);\n\n function Skins(props) {\n var _this;\n\n _classCallCheck(this, Skins);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Skins).call(this, props));\n _this.state = {\n opened: false\n };\n return _this;\n }\n\n _createClass(Skins, [{\n key: \"handleClick\",\n value: function handleClick(e) {\n var skin = parseInt(e.currentTarget.getAttribute('data-skin'));\n var onChange = this.props.onChange;\n\n if (!this.state.opened) {\n this.setState({\n opened: true\n });\n } else {\n this.setState({\n opened: false\n });\n\n if (skin != this.props.skin) {\n onChange(skin);\n }\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n return null;\n }\n }]);\n\n return Skins;\n}(React.PureComponent);\n\nexport { Skins as default };\nSkins.propTypes\n/* remove-proptypes */\n= {\n onChange: PropTypes.func,\n skin: PropTypes.number.isRequired\n};\nSkins.defaultProps = {\n onChange: function onChange() {}\n};","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport NimbleEmoji from './emoji/nimble-emoji';\nimport Skins from './skins';\n\nvar SkinsEmoji =\n/*#__PURE__*/\nfunction (_Skins) {\n _inherits(SkinsEmoji, _Skins);\n\n function SkinsEmoji(props) {\n var _this;\n\n _classCallCheck(this, SkinsEmoji);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(SkinsEmoji).call(this, props));\n _this.handleClick = _this.handleClick.bind(_assertThisInitialized(_this));\n return _this;\n }\n\n _createClass(SkinsEmoji, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n skin = _this$props.skin,\n emojiProps = _this$props.emojiProps,\n data = _this$props.data,\n skinEmoji = _this$props.skinEmoji,\n i18n = _this$props.i18n;\n var opened = this.state.opened;\n var skinToneNodes = [];\n\n for (var skinTone = 1; skinTone <= 6; skinTone++) {\n var selected = skinTone === skin;\n skinToneNodes.push(React.createElement(\"span\", {\n key: \"skin-tone-\".concat(skinTone),\n className: \"emoji-mart-skin-swatch custom\".concat(selected ? ' selected' : '')\n }, React.createElement(\"span\", {\n onClick: this.handleClick,\n \"data-skin\": skinTone,\n className: \"emoji-mart-skin-tone-\".concat(skinTone)\n }, NimbleEmoji({\n emoji: skinEmoji,\n data: data,\n skin: skinTone,\n backgroundImageFn: emojiProps.backgroundImageFn,\n \"native\": emojiProps[\"native\"],\n set: emojiProps.set,\n sheetSize: emojiProps.sheetSize,\n size: 23\n }))));\n }\n\n return React.createElement(\"div\", {\n className: \"emoji-mart-skin-swatches custom\".concat(opened ? ' opened' : '')\n }, React.createElement(\"div\", {\n className: \"emoji-mart-skin-text\".concat(opened ? ' opened' : '')\n }, i18n.skintext), skinToneNodes);\n }\n }]);\n\n return SkinsEmoji;\n}(Skins);\n\nexport { SkinsEmoji as default };\nSkinsEmoji.propTypes\n/* remove-proptypes */\n= {\n onChange: PropTypes.func,\n skin: PropTypes.number.isRequired,\n emojiProps: PropTypes.object.isRequired,\n skinTone: PropTypes.number,\n skinEmoji: PropTypes.string.isRequired,\n i18n: PropTypes.object\n};\nSkinsEmoji.defaultProps = {\n onChange: function onChange() {},\n skinTone: null\n};","import _extends from \"@babel/runtime/helpers/extends\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport Skins from './skins';\n\nvar SkinsDot =\n/*#__PURE__*/\nfunction (_Skins) {\n _inherits(SkinsDot, _Skins);\n\n function SkinsDot(props) {\n var _this;\n\n _classCallCheck(this, SkinsDot);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(SkinsDot).call(this, props));\n _this.handleClick = _this.handleClick.bind(_assertThisInitialized(_this));\n _this.handleKeyDown = _this.handleKeyDown.bind(_assertThisInitialized(_this));\n return _this;\n }\n\n _createClass(SkinsDot, [{\n key: \"handleKeyDown\",\n value: function handleKeyDown(event) {\n // if either enter or space is pressed, then execute\n if (event.keyCode === 13 || event.keyCode === 32) {\n event.preventDefault();\n this.handleClick(event);\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n skin = _this$props.skin,\n i18n = _this$props.i18n;\n var opened = this.state.opened;\n var skinToneNodes = [];\n\n for (var skinTone = 1; skinTone <= 6; skinTone++) {\n var selected = skinTone === skin;\n var visible = opened || selected;\n skinToneNodes.push(React.createElement(\"span\", _extends({\n key: \"skin-tone-\".concat(skinTone),\n className: \"emoji-mart-skin-swatch\".concat(selected ? ' selected' : ''),\n \"aria-label\": i18n.skintones[skinTone],\n \"aria-hidden\": !visible\n }, opened ? {\n role: 'menuitem'\n } : {}), React.createElement(\"span\", _extends({\n onClick: this.handleClick,\n onKeyDown: this.handleKeyDown,\n role: \"button\"\n }, selected ? {\n 'aria-haspopup': true,\n 'aria-expanded': !!opened\n } : {}, opened ? {\n 'aria-pressed': !!selected\n } : {}, {\n tabIndex: visible ? '0' : '',\n \"aria-label\": i18n.skintones[skinTone],\n title: i18n.skintones[skinTone],\n \"data-skin\": skinTone,\n className: \"emoji-mart-skin emoji-mart-skin-tone-\".concat(skinTone)\n }))));\n }\n\n return React.createElement(\"section\", {\n className: \"emoji-mart-skin-swatches\".concat(opened ? ' opened' : ''),\n \"aria-label\": i18n.skintext\n }, React.createElement(\"div\", opened ? {\n role: 'menubar'\n } : {}, skinToneNodes));\n }\n }]);\n\n return SkinsDot;\n}(Skins);\n\nexport { SkinsDot as default };\nSkinsDot.propTypes\n/* remove-proptypes */\n= {\n onChange: PropTypes.func,\n skin: PropTypes.number.isRequired,\n i18n: PropTypes.object\n};\nSkinsDot.defaultProps = {\n onChange: function onChange() {}\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { getData } from '../utils';\nimport NimbleEmoji from './emoji/nimble-emoji';\nimport SkinsEmoji from './skins-emoji';\nimport SkinsDot from './skins-dot';\n\nvar Preview =\n/*#__PURE__*/\nfunction (_React$PureComponent) {\n _inherits(Preview, _React$PureComponent);\n\n function Preview(props) {\n var _this;\n\n _classCallCheck(this, Preview);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Preview).call(this, props));\n _this.data = props.data;\n _this.state = {\n emoji: null\n };\n return _this;\n }\n\n _createClass(Preview, [{\n key: \"render\",\n value: function render() {\n var emoji = this.state.emoji,\n _this$props = this.props,\n emojiProps = _this$props.emojiProps,\n skinsProps = _this$props.skinsProps,\n showSkinTones = _this$props.showSkinTones,\n title = _this$props.title,\n idleEmoji = _this$props.emoji,\n i18n = _this$props.i18n,\n showPreview = _this$props.showPreview;\n\n if (emoji && showPreview) {\n var emojiData = getData(emoji, null, null, this.data),\n _emojiData$emoticons = emojiData.emoticons,\n emoticons = _emojiData$emoticons === void 0 ? [] : _emojiData$emoticons,\n knownEmoticons = [],\n listedEmoticons = [];\n emoticons.forEach(function (emoticon) {\n if (knownEmoticons.indexOf(emoticon.toLowerCase()) >= 0) {\n return;\n }\n\n knownEmoticons.push(emoticon.toLowerCase());\n listedEmoticons.push(emoticon);\n });\n return React.createElement(\"div\", {\n className: \"emoji-mart-preview\"\n }, React.createElement(\"div\", {\n className: \"emoji-mart-preview-emoji\",\n \"aria-hidden\": \"true\"\n }, NimbleEmoji(_objectSpread({\n key: emoji.id,\n emoji: emoji,\n data: this.data\n }, emojiProps))), React.createElement(\"div\", {\n className: \"emoji-mart-preview-data\",\n \"aria-hidden\": \"true\"\n }, React.createElement(\"div\", {\n className: \"emoji-mart-preview-name\"\n }, emoji.name), React.createElement(\"div\", {\n className: \"emoji-mart-preview-shortnames\"\n }, emojiData.short_names.map(function (short_name) {\n return React.createElement(\"span\", {\n key: short_name,\n className: \"emoji-mart-preview-shortname\"\n }, \":\", short_name, \":\");\n })), React.createElement(\"div\", {\n className: \"emoji-mart-preview-emoticons\"\n }, listedEmoticons.map(function (emoticon) {\n return React.createElement(\"span\", {\n key: emoticon,\n className: \"emoji-mart-preview-emoticon\"\n }, emoticon);\n }))));\n } else {\n return React.createElement(\"div\", {\n className: \"emoji-mart-preview\"\n }, React.createElement(\"div\", {\n className: \"emoji-mart-preview-emoji\",\n \"aria-hidden\": \"true\"\n }, idleEmoji && idleEmoji.length && NimbleEmoji(_objectSpread({\n emoji: idleEmoji,\n data: this.data\n }, emojiProps))), React.createElement(\"div\", {\n className: \"emoji-mart-preview-data\",\n \"aria-hidden\": \"true\"\n }, React.createElement(\"span\", {\n className: \"emoji-mart-title-label\"\n }, title)), showSkinTones && React.createElement(\"div\", {\n className: \"emoji-mart-preview-skins\".concat(skinsProps.skinEmoji ? ' custom' : '')\n }, skinsProps.skinEmoji ? React.createElement(SkinsEmoji, {\n skin: skinsProps.skin,\n emojiProps: emojiProps,\n data: this.data,\n skinEmoji: skinsProps.skinEmoji,\n i18n: i18n,\n onChange: skinsProps.onChange\n }) : React.createElement(SkinsDot, {\n skin: skinsProps.skin,\n i18n: i18n,\n onChange: skinsProps.onChange\n })));\n }\n }\n }]);\n\n return Preview;\n}(React.PureComponent);\n\nexport { Preview as default };\nPreview.propTypes\n/* remove-proptypes */\n= {\n showSkinTones: PropTypes.bool,\n title: PropTypes.string.isRequired,\n emoji: PropTypes.string.isRequired,\n emojiProps: PropTypes.object.isRequired,\n skinsProps: PropTypes.object.isRequired\n};\nPreview.defaultProps = {\n showSkinTones: true,\n onChange: function onChange() {}\n};","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { search as icons } from '../svgs';\nimport NimbleEmojiIndex from '../utils/emoji-index/nimble-emoji-index';\nimport { throttleIdleTask } from '../utils/index';\nvar id = 0;\n\nvar Search =\n/*#__PURE__*/\nfunction (_React$PureComponent) {\n _inherits(Search, _React$PureComponent);\n\n function Search(props) {\n var _this;\n\n _classCallCheck(this, Search);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Search).call(this, props));\n _this.state = {\n icon: icons.search,\n isSearching: false,\n id: ++id\n };\n _this.data = props.data;\n _this.emojiIndex = new NimbleEmojiIndex(_this.data);\n _this.setRef = _this.setRef.bind(_assertThisInitialized(_this));\n _this.clear = _this.clear.bind(_assertThisInitialized(_this));\n _this.handleKeyUp = _this.handleKeyUp.bind(_assertThisInitialized(_this)); // throttle keyboard input so that typing isn't delayed\n\n _this.handleChange = throttleIdleTask(_this.handleChange.bind(_assertThisInitialized(_this)));\n return _this;\n }\n\n _createClass(Search, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n // in some cases (e.g. preact) the input may already be pre-populated\n // this.input is undefined in Jest tests\n if (this.input && this.input.value) {\n this.search(this.input.value);\n }\n }\n }, {\n key: \"search\",\n value: function search(value) {\n if (value == '') this.setState({\n icon: icons.search,\n isSearching: false\n });else this.setState({\n icon: icons[\"delete\"],\n isSearching: true\n });\n this.props.onSearch(this.emojiIndex.search(value, {\n emojisToShowFilter: this.props.emojisToShowFilter,\n maxResults: this.props.maxResults,\n include: this.props.include,\n exclude: this.props.exclude,\n custom: this.props.custom\n }));\n }\n }, {\n key: \"clear\",\n value: function clear() {\n if (this.input.value == '') return;\n this.input.value = '';\n this.input.focus();\n this.search('');\n }\n }, {\n key: \"handleChange\",\n value: function handleChange() {\n if (this.input) {\n this.search(this.input.value);\n }\n }\n }, {\n key: \"handleKeyUp\",\n value: function handleKeyUp(e) {\n if (e.keyCode === 13) {\n this.clear();\n }\n }\n }, {\n key: \"setRef\",\n value: function setRef(c) {\n this.input = c;\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n i18n = _this$props.i18n,\n autoFocus = _this$props.autoFocus;\n var _this$state = this.state,\n icon = _this$state.icon,\n isSearching = _this$state.isSearching,\n id = _this$state.id;\n var inputId = \"emoji-mart-search-\".concat(id);\n return React.createElement(\"section\", {\n className: \"emoji-mart-search\",\n \"aria-label\": i18n.search\n }, React.createElement(\"input\", {\n id: inputId,\n ref: this.setRef,\n type: \"search\",\n onChange: this.handleChange,\n placeholder: i18n.search,\n autoFocus: autoFocus\n }), React.createElement(\"label\", {\n className: \"emoji-mart-sr-only\",\n htmlFor: inputId\n }, i18n.search), React.createElement(\"button\", {\n className: \"emoji-mart-search-icon\",\n onClick: this.clear,\n onKeyUp: this.handleKeyUp,\n \"aria-label\": i18n.clear,\n disabled: !isSearching\n }, icon()));\n }\n }]);\n\n return Search;\n}(React.PureComponent);\n\nexport { Search as default };\nSearch.propTypes\n/* remove-proptypes */\n= {\n onSearch: PropTypes.func,\n maxResults: PropTypes.number,\n emojisToShowFilter: PropTypes.func,\n autoFocus: PropTypes.bool\n};\nSearch.defaultProps = {\n onSearch: function onSearch() {},\n maxResults: 75,\n emojisToShowFilter: null,\n autoFocus: false\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport * as icons from '../../svgs';\nimport store from '../../utils/store';\nimport frequently from '../../utils/frequently';\nimport { deepMerge, measureScrollbar, getSanitizedData } from '../../utils';\nimport { uncompress } from '../../utils/data';\nimport { PickerPropTypes } from '../../utils/shared-props';\nimport Anchors from '../anchors';\nimport Category from '../category';\nimport Preview from '../preview';\nimport Search from '../search';\nimport { PickerDefaultProps } from '../../utils/shared-default-props';\nvar I18N = {\n search: 'Search',\n clear: 'Clear',\n // Accessible label on \"clear\" button\n notfound: 'No Emoji Found',\n skintext: 'Choose your default skin tone',\n categories: {\n search: 'Search Results',\n recent: 'Frequently Used',\n people: 'Smileys & People',\n nature: 'Animals & Nature',\n foods: 'Food & Drink',\n activity: 'Activity',\n places: 'Travel & Places',\n objects: 'Objects',\n symbols: 'Symbols',\n flags: 'Flags',\n custom: 'Custom'\n },\n categorieslabel: 'Emoji categories',\n // Accessible title for the list of categories\n skintones: {\n 1: 'Default Skin Tone',\n 2: 'Light Skin Tone',\n 3: 'Medium-Light Skin Tone',\n 4: 'Medium Skin Tone',\n 5: 'Medium-Dark Skin Tone',\n 6: 'Dark Skin Tone'\n }\n};\n\nvar NimblePicker =\n/*#__PURE__*/\nfunction (_React$PureComponent) {\n _inherits(NimblePicker, _React$PureComponent);\n\n function NimblePicker(props) {\n var _this;\n\n _classCallCheck(this, NimblePicker);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(NimblePicker).call(this, props));\n _this.CUSTOM = [];\n _this.RECENT_CATEGORY = {\n id: 'recent',\n name: 'Recent',\n emojis: null\n };\n _this.SEARCH_CATEGORY = {\n id: 'search',\n name: 'Search',\n emojis: null,\n anchor: false\n };\n\n if (props.data.compressed) {\n uncompress(props.data);\n }\n\n _this.data = props.data;\n _this.i18n = deepMerge(I18N, props.i18n);\n _this.icons = deepMerge(icons, props.icons);\n _this.state = {\n firstRender: true\n };\n _this.categories = [];\n var allCategories = [].concat(_this.data.categories);\n\n if (props.custom.length > 0) {\n var customCategories = {};\n var customCategoriesCreated = 0;\n props.custom.forEach(function (emoji) {\n if (!customCategories[emoji.customCategory]) {\n customCategories[emoji.customCategory] = {\n id: emoji.customCategory ? \"custom-\".concat(emoji.customCategory) : 'custom',\n name: emoji.customCategory || 'Custom',\n emojis: [],\n anchor: customCategoriesCreated === 0\n };\n customCategoriesCreated++;\n }\n\n var category = customCategories[emoji.customCategory];\n\n var customEmoji = _objectSpread({}, emoji, {\n // `` expects emoji to have an `id`.\n id: emoji.short_names[0],\n custom: true\n });\n\n category.emojis.push(customEmoji);\n\n _this.CUSTOM.push(customEmoji);\n });\n allCategories = allCategories.concat(Object.keys(customCategories).map(function (key) {\n return customCategories[key];\n }));\n }\n\n _this.hideRecent = true;\n\n if (props.include != undefined) {\n allCategories.sort(function (a, b) {\n if (props.include.indexOf(a.id) > props.include.indexOf(b.id)) {\n return 1;\n }\n\n return -1;\n });\n }\n\n for (var categoryIndex = 0; categoryIndex < allCategories.length; categoryIndex++) {\n var category = allCategories[categoryIndex];\n var isIncluded = props.include && props.include.length ? props.include.indexOf(category.id) > -1 : true;\n var isExcluded = props.exclude && props.exclude.length ? props.exclude.indexOf(category.id) > -1 : false;\n\n if (!isIncluded || isExcluded) {\n continue;\n }\n\n if (props.emojisToShowFilter) {\n var newEmojis = [];\n var emojis = category.emojis;\n\n for (var emojiIndex = 0; emojiIndex < emojis.length; emojiIndex++) {\n var emoji = emojis[emojiIndex];\n\n if (props.emojisToShowFilter(_this.data.emojis[emoji] || emoji)) {\n newEmojis.push(emoji);\n }\n }\n\n if (newEmojis.length) {\n var newCategory = {\n emojis: newEmojis,\n name: category.name,\n id: category.id\n };\n\n _this.categories.push(newCategory);\n }\n } else {\n _this.categories.push(category);\n }\n }\n\n var includeRecent = props.include && props.include.length ? props.include.indexOf(_this.RECENT_CATEGORY.id) > -1 : true;\n var excludeRecent = props.exclude && props.exclude.length ? props.exclude.indexOf(_this.RECENT_CATEGORY.id) > -1 : false;\n\n if (includeRecent && !excludeRecent) {\n _this.hideRecent = false;\n\n _this.categories.unshift(_this.RECENT_CATEGORY);\n }\n\n if (_this.categories[0]) {\n _this.categories[0].first = true;\n }\n\n _this.categories.unshift(_this.SEARCH_CATEGORY);\n\n _this.setAnchorsRef = _this.setAnchorsRef.bind(_assertThisInitialized(_this));\n _this.handleAnchorClick = _this.handleAnchorClick.bind(_assertThisInitialized(_this));\n _this.setSearchRef = _this.setSearchRef.bind(_assertThisInitialized(_this));\n _this.handleSearch = _this.handleSearch.bind(_assertThisInitialized(_this));\n _this.setScrollRef = _this.setScrollRef.bind(_assertThisInitialized(_this));\n _this.handleScroll = _this.handleScroll.bind(_assertThisInitialized(_this));\n _this.handleScrollPaint = _this.handleScrollPaint.bind(_assertThisInitialized(_this));\n _this.handleEmojiOver = _this.handleEmojiOver.bind(_assertThisInitialized(_this));\n _this.handleEmojiLeave = _this.handleEmojiLeave.bind(_assertThisInitialized(_this));\n _this.handleEmojiClick = _this.handleEmojiClick.bind(_assertThisInitialized(_this));\n _this.handleEmojiSelect = _this.handleEmojiSelect.bind(_assertThisInitialized(_this));\n _this.setPreviewRef = _this.setPreviewRef.bind(_assertThisInitialized(_this));\n _this.handleSkinChange = _this.handleSkinChange.bind(_assertThisInitialized(_this));\n _this.handleKeyDown = _this.handleKeyDown.bind(_assertThisInitialized(_this));\n _this.handleDarkMatchMediaChange = _this.handleDarkMatchMediaChange.bind(_assertThisInitialized(_this));\n return _this;\n }\n\n _createClass(NimblePicker, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this2 = this;\n\n if (this.state.firstRender) {\n this.testStickyPosition();\n this.firstRenderTimeout = setTimeout(function () {\n _this2.setState({\n firstRender: false\n });\n }, 60);\n }\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n this.updateCategoriesSize();\n this.handleScroll();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.SEARCH_CATEGORY.emojis = null;\n clearTimeout(this.leaveTimeout);\n clearTimeout(this.firstRenderTimeout);\n\n if (this.darkMatchMedia) {\n this.darkMatchMedia.removeListener(this.handleDarkMatchMediaChange);\n }\n }\n }, {\n key: \"testStickyPosition\",\n value: function testStickyPosition() {\n var stickyTestElement = document.createElement('div');\n var prefixes = ['', '-webkit-', '-ms-', '-moz-', '-o-'];\n prefixes.forEach(function (prefix) {\n return stickyTestElement.style.position = \"\".concat(prefix, \"sticky\");\n });\n this.hasStickyPosition = !!stickyTestElement.style.position.length;\n }\n }, {\n key: \"getPreferredTheme\",\n value: function getPreferredTheme() {\n if (this.props.theme != 'auto') return this.props.theme;\n if (this.state.theme) return this.state.theme;\n if (typeof matchMedia !== 'function') return PickerDefaultProps.theme;\n\n if (!this.darkMatchMedia) {\n this.darkMatchMedia = matchMedia('(prefers-color-scheme: dark)');\n this.darkMatchMedia.addListener(this.handleDarkMatchMediaChange);\n }\n\n if (this.darkMatchMedia.media.match(/^not/)) return PickerDefaultProps.theme;\n return this.darkMatchMedia.matches ? 'dark' : 'light';\n }\n }, {\n key: \"handleDarkMatchMediaChange\",\n value: function handleDarkMatchMediaChange() {\n this.setState({\n theme: this.darkMatchMedia.matches ? 'dark' : 'light'\n });\n }\n }, {\n key: \"handleEmojiOver\",\n value: function handleEmojiOver(emoji) {\n var preview = this.preview;\n\n if (!preview) {\n return;\n } // Use Array.prototype.find() when it is more widely supported.\n\n\n var emojiData = this.CUSTOM.filter(function (customEmoji) {\n return customEmoji.id === emoji.id;\n })[0];\n\n for (var key in emojiData) {\n if (emojiData.hasOwnProperty(key)) {\n emoji[key] = emojiData[key];\n }\n }\n\n preview.setState({\n emoji: emoji\n });\n clearTimeout(this.leaveTimeout);\n }\n }, {\n key: \"handleEmojiLeave\",\n value: function handleEmojiLeave(emoji) {\n var preview = this.preview;\n\n if (!preview) {\n return;\n }\n\n this.leaveTimeout = setTimeout(function () {\n preview.setState({\n emoji: null\n });\n }, 16);\n }\n }, {\n key: \"handleEmojiClick\",\n value: function handleEmojiClick(emoji, e) {\n this.props.onClick(emoji, e);\n this.handleEmojiSelect(emoji);\n }\n }, {\n key: \"handleEmojiSelect\",\n value: function handleEmojiSelect(emoji) {\n var _this3 = this;\n\n this.props.onSelect(emoji);\n if (!this.hideRecent && !this.props.recent) frequently.add(emoji);\n var component = this.categoryRefs['category-1'];\n\n if (component) {\n var maxMargin = component.maxMargin;\n\n if (this.props.enableFrequentEmojiSort) {\n component.forceUpdate();\n }\n\n requestAnimationFrame(function () {\n if (!_this3.scroll) return;\n component.memoizeSize();\n if (maxMargin == component.maxMargin) return;\n\n _this3.updateCategoriesSize();\n\n _this3.handleScrollPaint();\n\n if (_this3.SEARCH_CATEGORY.emojis) {\n component.updateDisplay('none');\n }\n });\n }\n }\n }, {\n key: \"handleScroll\",\n value: function handleScroll() {\n if (!this.waitingForPaint) {\n this.waitingForPaint = true;\n requestAnimationFrame(this.handleScrollPaint);\n }\n }\n }, {\n key: \"handleScrollPaint\",\n value: function handleScrollPaint() {\n this.waitingForPaint = false;\n\n if (!this.scroll) {\n return;\n }\n\n var activeCategory = null;\n\n if (this.SEARCH_CATEGORY.emojis) {\n activeCategory = this.SEARCH_CATEGORY;\n } else {\n var target = this.scroll,\n scrollTop = target.scrollTop,\n scrollingDown = scrollTop > (this.scrollTop || 0),\n minTop = 0;\n\n for (var i = 0, l = this.categories.length; i < l; i++) {\n var ii = scrollingDown ? this.categories.length - 1 - i : i,\n category = this.categories[ii],\n component = this.categoryRefs[\"category-\".concat(ii)];\n\n if (component) {\n var active = component.handleScroll(scrollTop);\n\n if (!minTop || component.top < minTop) {\n if (component.top > 0) {\n minTop = component.top;\n }\n }\n\n if (active && !activeCategory) {\n activeCategory = category;\n }\n }\n }\n\n if (scrollTop < minTop) {\n activeCategory = this.categories.filter(function (category) {\n return !(category.anchor === false);\n })[0];\n } else if (scrollTop + this.clientHeight >= this.scrollHeight) {\n activeCategory = this.categories[this.categories.length - 1];\n }\n }\n\n if (activeCategory) {\n var anchors = this.anchors,\n _activeCategory = activeCategory,\n categoryName = _activeCategory.name;\n\n if (anchors.state.selected != categoryName) {\n anchors.setState({\n selected: categoryName\n });\n }\n }\n\n this.scrollTop = scrollTop;\n }\n }, {\n key: \"handleSearch\",\n value: function handleSearch(emojis) {\n this.SEARCH_CATEGORY.emojis = emojis;\n\n for (var i = 0, l = this.categories.length; i < l; i++) {\n var component = this.categoryRefs[\"category-\".concat(i)];\n\n if (component && component.props.name != 'Search') {\n var display = emojis ? 'none' : 'inherit';\n component.updateDisplay(display);\n }\n }\n\n this.forceUpdate();\n\n if (this.scroll) {\n this.scroll.scrollTop = 0;\n }\n\n this.handleScroll();\n }\n }, {\n key: \"handleAnchorClick\",\n value: function handleAnchorClick(category, i) {\n var component = this.categoryRefs[\"category-\".concat(i)],\n scroll = this.scroll,\n anchors = this.anchors,\n scrollToComponent = null;\n\n scrollToComponent = function scrollToComponent() {\n if (component) {\n var top = component.top;\n\n if (category.first) {\n top = 0;\n } else {\n top += 1;\n }\n\n scroll.scrollTop = top;\n }\n };\n\n if (this.SEARCH_CATEGORY.emojis) {\n this.handleSearch(null);\n this.search.clear();\n requestAnimationFrame(scrollToComponent);\n } else {\n scrollToComponent();\n }\n }\n }, {\n key: \"handleSkinChange\",\n value: function handleSkinChange(skin) {\n var newState = {\n skin: skin\n },\n onSkinChange = this.props.onSkinChange;\n this.setState(newState);\n store.update(newState);\n onSkinChange(skin);\n }\n }, {\n key: \"handleKeyDown\",\n value: function handleKeyDown(e) {\n var handled = false;\n\n switch (e.keyCode) {\n case 13:\n var emoji;\n\n if (this.SEARCH_CATEGORY.emojis && this.SEARCH_CATEGORY.emojis.length && (emoji = getSanitizedData(this.SEARCH_CATEGORY.emojis[0], this.state.skin, this.props.set, this.props.data))) {\n this.handleEmojiSelect(emoji);\n handled = true;\n }\n\n break;\n }\n\n if (handled) {\n e.preventDefault();\n }\n }\n }, {\n key: \"updateCategoriesSize\",\n value: function updateCategoriesSize() {\n for (var i = 0, l = this.categories.length; i < l; i++) {\n var component = this.categoryRefs[\"category-\".concat(i)];\n if (component) component.memoizeSize();\n }\n\n if (this.scroll) {\n var target = this.scroll;\n this.scrollHeight = target.scrollHeight;\n this.clientHeight = target.clientHeight;\n }\n }\n }, {\n key: \"getCategories\",\n value: function getCategories() {\n return this.state.firstRender ? this.categories.slice(0, 3) : this.categories;\n }\n }, {\n key: \"setAnchorsRef\",\n value: function setAnchorsRef(c) {\n this.anchors = c;\n }\n }, {\n key: \"setSearchRef\",\n value: function setSearchRef(c) {\n this.search = c;\n }\n }, {\n key: \"setPreviewRef\",\n value: function setPreviewRef(c) {\n this.preview = c;\n }\n }, {\n key: \"setScrollRef\",\n value: function setScrollRef(c) {\n this.scroll = c;\n }\n }, {\n key: \"setCategoryRef\",\n value: function setCategoryRef(name, c) {\n if (!this.categoryRefs) {\n this.categoryRefs = {};\n }\n\n this.categoryRefs[name] = c;\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this4 = this;\n\n var _this$props = this.props,\n perLine = _this$props.perLine,\n emojiSize = _this$props.emojiSize,\n set = _this$props.set,\n sheetSize = _this$props.sheetSize,\n sheetColumns = _this$props.sheetColumns,\n sheetRows = _this$props.sheetRows,\n style = _this$props.style,\n title = _this$props.title,\n emoji = _this$props.emoji,\n color = _this$props.color,\n _native = _this$props[\"native\"],\n backgroundImageFn = _this$props.backgroundImageFn,\n emojisToShowFilter = _this$props.emojisToShowFilter,\n showPreview = _this$props.showPreview,\n showSkinTones = _this$props.showSkinTones,\n emojiTooltip = _this$props.emojiTooltip,\n useButton = _this$props.useButton,\n include = _this$props.include,\n exclude = _this$props.exclude,\n recent = _this$props.recent,\n autoFocus = _this$props.autoFocus,\n skinEmoji = _this$props.skinEmoji,\n notFound = _this$props.notFound,\n notFoundEmoji = _this$props.notFoundEmoji;\n var width = perLine * (emojiSize + 12) + 12 + 2 + measureScrollbar();\n var theme = this.getPreferredTheme();\n var skin = this.props.skin || this.state.skin || store.get('skin') || this.props.defaultSkin;\n return React.createElement(\"section\", {\n style: _objectSpread({\n width: width\n }, style),\n className: \"emoji-mart emoji-mart-\".concat(theme),\n \"aria-label\": title,\n onKeyDown: this.handleKeyDown\n }, React.createElement(\"div\", {\n className: \"emoji-mart-bar\"\n }, React.createElement(Anchors, {\n ref: this.setAnchorsRef,\n data: this.data,\n i18n: this.i18n,\n color: color,\n categories: this.categories,\n onAnchorClick: this.handleAnchorClick,\n icons: this.icons\n })), React.createElement(Search, {\n ref: this.setSearchRef,\n onSearch: this.handleSearch,\n data: this.data,\n i18n: this.i18n,\n emojisToShowFilter: emojisToShowFilter,\n include: include,\n exclude: exclude,\n custom: this.CUSTOM,\n autoFocus: autoFocus\n }), React.createElement(\"div\", {\n ref: this.setScrollRef,\n className: \"emoji-mart-scroll\",\n onScroll: this.handleScroll\n }, this.getCategories().map(function (category, i) {\n return React.createElement(Category, {\n ref: _this4.setCategoryRef.bind(_this4, \"category-\".concat(i)),\n key: category.name,\n id: category.id,\n name: category.name,\n emojis: category.emojis,\n perLine: perLine,\n \"native\": _native,\n hasStickyPosition: _this4.hasStickyPosition,\n data: _this4.data,\n i18n: _this4.i18n,\n recent: category.id == _this4.RECENT_CATEGORY.id ? recent : undefined,\n custom: category.id == _this4.RECENT_CATEGORY.id ? _this4.CUSTOM : undefined,\n emojiProps: {\n \"native\": _native,\n skin: skin,\n size: emojiSize,\n set: set,\n sheetSize: sheetSize,\n sheetColumns: sheetColumns,\n sheetRows: sheetRows,\n forceSize: _native,\n tooltip: emojiTooltip,\n backgroundImageFn: backgroundImageFn,\n useButton: useButton,\n onOver: _this4.handleEmojiOver,\n onLeave: _this4.handleEmojiLeave,\n onClick: _this4.handleEmojiClick\n },\n notFound: notFound,\n notFoundEmoji: notFoundEmoji\n });\n })), (showPreview || showSkinTones) && React.createElement(\"div\", {\n className: \"emoji-mart-bar\"\n }, React.createElement(Preview, {\n ref: this.setPreviewRef,\n data: this.data,\n title: title,\n emoji: emoji,\n showSkinTones: showSkinTones,\n showPreview: showPreview,\n emojiProps: {\n \"native\": _native,\n size: 38,\n skin: skin,\n set: set,\n sheetSize: sheetSize,\n sheetColumns: sheetColumns,\n sheetRows: sheetRows,\n backgroundImageFn: backgroundImageFn\n },\n skinsProps: {\n skin: skin,\n onChange: this.handleSkinChange,\n skinEmoji: skinEmoji\n },\n i18n: this.i18n\n })));\n }\n }]);\n\n return NimblePicker;\n}(React.PureComponent);\n\nexport { NimblePicker as default };\nNimblePicker.propTypes\n/* remove-proptypes */\n= _objectSpread({}, PickerPropTypes, {\n data: PropTypes.object.isRequired\n});\nNimblePicker.defaultProps = _objectSpread({}, PickerDefaultProps);","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport React from 'react';\nimport data from '../../../data/all.json';\nimport NimblePicker from './nimble-picker';\nimport { PickerPropTypes } from '../../utils/shared-props';\nimport { PickerDefaultProps } from '../../utils/shared-default-props';\n\nvar Picker =\n/*#__PURE__*/\nfunction (_React$PureComponent) {\n _inherits(Picker, _React$PureComponent);\n\n function Picker() {\n _classCallCheck(this, Picker);\n\n return _possibleConstructorReturn(this, _getPrototypeOf(Picker).apply(this, arguments));\n }\n\n _createClass(Picker, [{\n key: \"render\",\n value: function render() {\n return React.createElement(NimblePicker, _extends({}, this.props, this.state));\n }\n }]);\n\n return Picker;\n}(React.PureComponent);\n\nexport { Picker as default };\nPicker.propTypes\n/* remove-proptypes */\n= PickerPropTypes;\nPicker.defaultProps = _objectSpread({}, PickerDefaultProps, {\n data: data\n});","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport React from 'react';\nimport data from '../../../data/all.json';\nimport NimbleEmoji from './nimble-emoji';\nimport { EmojiPropTypes } from '../../utils/shared-props';\nimport { EmojiDefaultProps } from '../../utils/shared-default-props';\n\nvar Emoji = function Emoji(props) {\n for (var k in Emoji.defaultProps) {\n if (props[k] == undefined && Emoji.defaultProps[k] != undefined) {\n props[k] = Emoji.defaultProps[k];\n }\n }\n\n return NimbleEmoji(_objectSpread({}, props));\n};\n\nEmoji.propTypes\n/* remove-proptypes */\n= EmojiPropTypes;\nEmoji.defaultProps = _objectSpread({}, EmojiDefaultProps, {\n data: data\n});\nexport default Emoji;","/* eslint-disable @typescript-eslint/explicit-function-return-type */\n/* eslint-disable @typescript-eslint/typedef */\n/* eslint-disable @typescript-eslint/explicit-module-boundary-types */\n/* eslint-disable @typescript-eslint/no-explicit-any */\nimport { isThenable } from './is';\n/** SyncPromise internal states */\nvar States;\n(function (States) {\n /** Pending */\n States[\"PENDING\"] = \"PENDING\";\n /** Resolved / OK */\n States[\"RESOLVED\"] = \"RESOLVED\";\n /** Rejected / Error */\n States[\"REJECTED\"] = \"REJECTED\";\n})(States || (States = {}));\n/**\n * Thenable class that behaves like a Promise and follows it's interface\n * but is not async internally\n */\nvar SyncPromise = /** @class */ (function () {\n function SyncPromise(executor) {\n var _this = this;\n this._state = States.PENDING;\n this._handlers = [];\n /** JSDoc */\n this._resolve = function (value) {\n _this._setResult(States.RESOLVED, value);\n };\n /** JSDoc */\n this._reject = function (reason) {\n _this._setResult(States.REJECTED, reason);\n };\n /** JSDoc */\n this._setResult = function (state, value) {\n if (_this._state !== States.PENDING) {\n return;\n }\n if (isThenable(value)) {\n value.then(_this._resolve, _this._reject);\n return;\n }\n _this._state = state;\n _this._value = value;\n _this._executeHandlers();\n };\n // TODO: FIXME\n /** JSDoc */\n this._attachHandler = function (handler) {\n _this._handlers = _this._handlers.concat(handler);\n _this._executeHandlers();\n };\n /** JSDoc */\n this._executeHandlers = function () {\n if (_this._state === States.PENDING) {\n return;\n }\n var cachedHandlers = _this._handlers.slice();\n _this._handlers = [];\n cachedHandlers.forEach(function (handler) {\n if (handler.done) {\n return;\n }\n if (_this._state === States.RESOLVED) {\n if (handler.onfulfilled) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n handler.onfulfilled(_this._value);\n }\n }\n if (_this._state === States.REJECTED) {\n if (handler.onrejected) {\n handler.onrejected(_this._value);\n }\n }\n handler.done = true;\n });\n };\n try {\n executor(this._resolve, this._reject);\n }\n catch (e) {\n this._reject(e);\n }\n }\n /** JSDoc */\n SyncPromise.resolve = function (value) {\n return new SyncPromise(function (resolve) {\n resolve(value);\n });\n };\n /** JSDoc */\n SyncPromise.reject = function (reason) {\n return new SyncPromise(function (_, reject) {\n reject(reason);\n });\n };\n /** JSDoc */\n SyncPromise.all = function (collection) {\n return new SyncPromise(function (resolve, reject) {\n if (!Array.isArray(collection)) {\n reject(new TypeError(\"Promise.all requires an array as input.\"));\n return;\n }\n if (collection.length === 0) {\n resolve([]);\n return;\n }\n var counter = collection.length;\n var resolvedCollection = [];\n collection.forEach(function (item, index) {\n SyncPromise.resolve(item)\n .then(function (value) {\n resolvedCollection[index] = value;\n counter -= 1;\n if (counter !== 0) {\n return;\n }\n resolve(resolvedCollection);\n })\n .then(null, reject);\n });\n });\n };\n /** JSDoc */\n SyncPromise.prototype.then = function (onfulfilled, onrejected) {\n var _this = this;\n return new SyncPromise(function (resolve, reject) {\n _this._attachHandler({\n done: false,\n onfulfilled: function (result) {\n if (!onfulfilled) {\n // TODO: ¯\\_(ツ)_/¯\n // TODO: FIXME\n resolve(result);\n return;\n }\n try {\n resolve(onfulfilled(result));\n return;\n }\n catch (e) {\n reject(e);\n return;\n }\n },\n onrejected: function (reason) {\n if (!onrejected) {\n reject(reason);\n return;\n }\n try {\n resolve(onrejected(reason));\n return;\n }\n catch (e) {\n reject(e);\n return;\n }\n },\n });\n });\n };\n /** JSDoc */\n SyncPromise.prototype.catch = function (onrejected) {\n return this.then(function (val) { return val; }, onrejected);\n };\n /** JSDoc */\n SyncPromise.prototype.finally = function (onfinally) {\n var _this = this;\n return new SyncPromise(function (resolve, reject) {\n var val;\n var isRejected;\n return _this.then(function (value) {\n isRejected = false;\n val = value;\n if (onfinally) {\n onfinally();\n }\n }, function (reason) {\n isRejected = true;\n val = reason;\n if (onfinally) {\n onfinally();\n }\n }).then(function () {\n if (isRejected) {\n reject(val);\n return;\n }\n resolve(val);\n });\n });\n };\n /** JSDoc */\n SyncPromise.prototype.toString = function () {\n return '[object SyncPromise]';\n };\n return SyncPromise;\n}());\nexport { SyncPromise };\n//# sourceMappingURL=syncpromise.js.map","module.exports = (__webpack_require__(3))(1236);","import Modal, {ModalFuncProps} from 'antd/lib/modal';\r\n\r\nexport function deleteConfirmation(\r\n\tcallback: () => void,\r\n\ttitle?: string,\r\n\tgetContainer?: (instance?: React.ReactInstance) => HTMLElement,\r\n\toptions?: ModalFuncProps\r\n) {\r\n\tModal.confirm({\r\n\t\t...options,\r\n\t\ttitle: title || 'This item will be permanently deleted and cannot be recovered. Are you sure?',\r\n\t\tcontent: '',\r\n\t\tokText: 'Yes',\r\n\t\tokType: 'danger',\r\n\t\tcancelText: 'Cancel',\r\n\t\tonOk() {\r\n\t\t\tcallback();\r\n\t\t},\r\n\t\tgetContainer\r\n\t});\r\n}","module.exports = (__webpack_require__(3))(1336);","import * as React from 'react';\r\n\r\nconst PageNotFound: React.FC = () => {\r\n\treturn
\r\n\t\t

404 Not Found

\r\n\t
;\r\n};\r\n\r\nexport default PageNotFound;","import * as React from 'react';\r\n\r\nimport Upload from 'antd/lib/upload';\r\nimport PlusOutlined from '@ant-design/icons/PlusOutlined';\r\nimport LoadingOutlined from '@ant-design/icons/LoadingOutlined';\r\n\r\nimport Button from '@common/react/components/Forms/Button';\r\nimport {FileType, FileInterface} from '@common/typescript/objects/FileInterface';\r\n\r\nimport {request} from '@app/components/Api';\r\n\r\ninterface FileState {\r\n\tisLoading: boolean;\r\n\terror: string | null;\r\n}\r\n\r\ninterface BaseFileProps {\r\n\ttype: string;\r\n\tobjectId: number;\r\n\tonError?: (error: string) => void;\r\n\tfileType?: FileType;\r\n\tinfoMessage?: string;\r\n\tasButton?: boolean;\r\n\taccept?: string;\r\n\tbuttonCaption?: string | JSX.Element;\r\n\tbuttonClassName?: string;\r\n\tdisabled?: boolean;\r\n\tmultiple?: boolean;\r\n\tnoRelation?: boolean; // Whether to create relation for uploaded file or not\r\n\tadditionalData?: object;\r\n\ttransformData?: (data: FormData) => FormData; // Transform data before sending to server\r\n\trequest?: string;\r\n}\r\n\r\ninterface FileProps extends BaseFileProps {\r\n\tupdate: (data: FileInterface) => void;\r\n\tshowError?: boolean;\r\n}\r\n\r\ninterface CustomRequestParams {\r\n\taction: any;\r\n\tdata: any;\r\n\tfile: any;\r\n\tfilename: any;\r\n\theaders: any;\r\n\tonError: any;\r\n\tonProgress: any;\r\n\tonSuccess: any;\r\n\twithCredentials: any;\r\n}\r\n\r\ninterface UploadFileParams {\r\n\tfile: any;\r\n\ttype: string;\r\n\tobjectId: number | null;\r\n\tfileType: FileType;\r\n\tadditionalData?: object;\r\n\theaders?: any;\r\n\trequest?: string;\r\n}\r\n\r\nexport const uploadFile = (params: UploadFileParams, transformData?: (data: FormData) => FormData): Promise => {\r\n\tconst formData = new FormData();\r\n\r\n\tformData.append('file', params.file);\r\n\tformData.append('objectType', params.type);\r\n\tformData.append('fileType', params.fileType.toString());\r\n\r\n\tif (params.objectId !== null) {\r\n\t\tformData.append('objectId', params.objectId.toString());\r\n\t}\r\n\t\r\n\tif (params.additionalData) {\r\n\t\tconst data = params.additionalData;\r\n\t\tObject.keys(data).forEach(key => formData.append(`data[${key}]`, data[key].toString()));\r\n\t}\r\n\r\n\treturn fetch(params.request || 'fineUploader', {\r\n\t\tcredentials: 'same-origin',\r\n\t\tmethod: 'POST',\r\n\t\theaders: params.headers,\r\n\t\tbody: transformData ? transformData(formData) : formData\r\n\t})\r\n\t.then(response => response.json())\r\n\t.then(((response) => {\r\n\t\tif (!response.success) throw response.response;\r\n\t\treturn response.response;\r\n\t}))\r\n\t.catch((error) => {\r\n\t\tconsole.log(error.message);\r\n\t\tthrow error;\r\n\t});\r\n};\r\n\r\nexport default class File extends React.Component {\r\n\tpublic static defaultProps: Partial = {\r\n\t\tinfoMessage: 'Image size must not exceed 1 Mb',\r\n\t\tasButton: false,\r\n\t\taccept: '',\r\n\t\tbuttonCaption: 'Upload',\r\n\t\tobjectId: -1,\r\n\t\tshowError: true,\r\n\t};\r\n\t\r\n\tconstructor(props : FileProps) {\r\n\t\tsuper(props);\r\n\r\n\t\tthis.state = {\r\n\t\t\tisLoading: false,\r\n\t\t\terror: null\r\n\t\t};\r\n\r\n\t\tthis.customRequest = this.customRequest.bind(this);\r\n\t}\r\n\t\r\n\tcustomRequest(argument) {\r\n\t\tconst {file, headers} = argument as CustomRequestParams;\r\n\r\n\t\tconst { type, objectId, fileType = FileType.Avatar, additionalData, noRelation, transformData, request } = this.props;\r\n\t\t\r\n\t\tif (noRelation) {\r\n\t\t\theaders['No-Relation'] = 'true';\r\n\t\t}\r\n\r\n\t\tthis.setState({ \r\n\t\t\tisLoading: true,\r\n\t\t\terror: null\r\n\t\t});\r\n\t\t\r\n\t\tuploadFile({\r\n\t\t\tfile,\r\n\t\t\tfileType,\r\n\t\t\tobjectId,\r\n\t\t\ttype,\r\n\t\t\tadditionalData,\r\n\t\t\theaders,\r\n\t\t\trequest\r\n\t\t}, transformData)\r\n\t\t.then((data: FileInterface) => {\r\n\t\t\tthis.setState({ isLoading: false });\r\n\t\t\tthis.props.update(data);\r\n\t\t}).catch((error) => {\r\n\t\t\tthis.setState({\r\n\t\t\t\tisLoading: false,\r\n\t\t\t\terror: error.message\r\n\t\t\t});\r\n\r\n\t\t\tif (this.props.onError) {\r\n\t\t\t\tthis.props.onError(error.message);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\trender(): JSX.Element {\r\n\t\tconst {asButton, accept, infoMessage, buttonCaption, buttonClassName} = this.props;\r\n\t\t\r\n\t\tlet uploadButton;\r\n\t\t\r\n\t\tif (asButton) {\r\n\t\t\tuploadButton = \r\n\t\t\t\t\r\n\t\t\t\t{this.props.showError !== false &&
{this.state.error}
}\r\n\t\t\t
;\r\n\t\t} else {\r\n\t\t\tuploadButton = (\r\n\t\t\t\t\r\n\t\t\t\t\t{this.state.isLoading ? : }\r\n\t\t\t\t\t
{buttonCaption}
\r\n\t\t\t\t\t
{this.state.error || infoMessage}
\r\n\t\t\t\t
\r\n\t\t\t);\r\n\t\t}\r\n\t\t\r\n\t\treturn \r\n\t\t\t{uploadButton}\r\n\t\t;\r\n\t}\r\n}\r\n\r\ninterface CustomFileProps extends BaseFileProps {\r\n\tonUploadType: string;\r\n\tonUpload: (data: any) => void;\r\n}\r\n\r\nexport class CustomFile extends React.Component {\r\n\t\r\n\tconstructor(props: CustomFileProps) {\r\n\t\tsuper(props);\r\n\t\t\r\n\t\tthis.update = this.update.bind(this);\r\n\t}\r\n\r\n\tupdate(data: FileInterface) {\r\n\t\trequest(this.props.onUploadType, {\r\n\t\t\tfileId: data.id\r\n\t\t}).then((response: any) => {\r\n\t\t\t// response cast to any for new typescript support\r\n\t\t\tconst image = {\r\n\t\t\t\t...response,\r\n\t\t\t\tfile: data\r\n\t\t\t};\r\n\t\t\t\r\n\t\t\tthis.props.onUpload(image);\r\n\t\t}).catch(() => {\r\n\t\t\tdebugger;\r\n\t\t});\r\n\t}\r\n\t\r\n\trender() {\r\n\t\treturn ;\r\n\t}\t\r\n}","module.exports = (__webpack_require__(3))(235);","import React from 'react';\r\n\r\ninterface Props extends React.ImgHTMLAttributes {\r\n\t\r\n}\r\n\r\nconst ImageLazy: React.FC = ({src, ...props}) => {\r\n\tconst ref = React.useRef(null);\r\n\tconst [visible, setVisible] = React.useState(false);\r\n\r\n\tReact.useEffect(() => {\r\n\t\tif (ref.current) {\r\n\t\t\tconst intersectionObserver = new IntersectionObserver((entries) => {\r\n\t\t\t\tif (entries[0].isIntersecting) {\r\n\t\t\t\t\tsetVisible(true);\r\n\t\t\t\t}\r\n\t\t\t}, {\r\n\t\t\t\trootMargin: '15px',\r\n\t\t\t\tthreshold: 0.01\r\n\t\t\t});\r\n\r\n\t\t\tintersectionObserver.observe(ref.current);\r\n\t\t\treturn () => intersectionObserver.disconnect();\r\n\t\t}\r\n\t}, [ref.current]);\r\n\r\n\treturn ;\r\n};\r\n\r\nexport default ImageLazy;\r\n","import * as React from 'react';\r\n\r\nimport Mentions from 'antd/lib/mentions';\r\nimport Tag from 'antd/lib/tag';\r\nimport { FieldProps, Form, Formik, FormikProps } from 'formik';\r\nimport * as Yup from 'yup';\r\nimport VerticalAlignBottomOutlined from '@ant-design/icons/VerticalAlignBottomOutlined';\r\nimport message from 'antd/lib/message';\r\n\r\nimport { Chat, ChatMessage, ChatMessageType } from '@common/react/objects/Chat';\r\nimport Button from '@common/react/components/Forms/Button';\r\nimport FormikField from '@common/react/components/Forms/FormikField/FormikField';\r\nimport { getUserName } from '@common/react/utils/utils';\r\nimport { BaseUser, BaseUserWithAvatar } from '@common/react/objects/BaseUser';\r\nimport { FileInterface, FileType } from '@common/typescript/objects/FileInterface';\r\nimport FormikRef from '@common/react/components/Core/ItemEditor/FormikRef';\r\nimport { RecordResult } from '@common/react/utils/record-audio';\r\nimport { uploadFile } from '@common/react/components/Forms/Files/File';\r\nimport {\r\n\tChatComponents,\r\n\tChatFormButtonsDictionary,\r\n\tChatFormComponentsDictionary,\r\n\tChatFormTag,\r\n\tChatFormTagDictionary,\r\n\tuseChatSettingsProviderContext\r\n} from '@common/react/components/Chat/ChatSettingsProvider';\r\nimport useRequest from '@common/react/hooks/useRequest';\r\nimport { imageExtensions } from '@common/react/components/Chat/Chats';\r\n\r\nexport interface ButtonsProps {\r\n\tonUploadFile: (file: FileInterface) => void;\r\n}\r\n\r\ninterface ComponentProps {\r\n\tchat: Chat;\r\n\teditMessage: ChatMessage | null;\r\n\tsetEdit: (message) => void;\r\n\tchatMessageRequest?: string;\r\n\tlabel?: string;\r\n\tadditionalFiles?: (formikBag: FormikProps, {state, setState}) => React.ReactNode;\r\n\tafterSubmit?: (message) => void;\r\n\tsendClassName?: string;\r\n\tonImageClick?: (e, file: FileInterface) => void;\r\n}\r\n\r\ninterface ContactsHash {\r\n\t[index: number]: string;\r\n}\r\n\r\nexport interface ChatFormComponentState {\r\n\tisLoading: boolean;\r\n\tcontacts: ContactsHash;\r\n\r\n\trecordAudioResult: RecordResult | undefined;\r\n\trecordVideoResult: RecordResult | undefined;\r\n}\r\n\r\nexport interface NewMessage {\r\n\tid: number;\r\n\ttext: string;\r\n\tchatId: number;\r\n\r\n\tbytes: number[];\r\n\tfiles: Array;\r\n\tattachments: Array;\r\n\tchatMessageType: ChatMessageType;\r\n}\r\n\r\nconst getValidationSchema = (maxLength: number) => Yup.object().shape({\r\n\ttext: Yup.string().max(maxLength, `max characters count: ${maxLength}`),\r\n});\r\n\r\nconst transformContactsToHash = (contacts: BaseUserWithAvatar[]) => contacts.reduce((map, obj) => {\r\n\tmap[obj.id] = getUserName(obj);\r\n\treturn map;\r\n}, {});\r\n\r\nconst ChatMessageForm: React.FC = (props) => {\r\n\tconst {sendClassName = 'btn-primary', chat, onImageClick, editMessage, setEdit} = props;\r\n\tconst form = React.useRef | null>(null);\r\n\tconst request = useRequest();\r\n\r\n\tconst context = useChatSettingsProviderContext();\r\n\r\n\tif (!context?.state) throw 'need ChatSettingsContext';\r\n\r\n\tconst {state: {formButtons, chatFormButtonsWrappers, requests, otherComponents, formSettings, formTags}} = context;\r\n\tconst {maxAttachmentsCount, maxMessageLength, waveColor} = formSettings;\r\n\r\n\tconst [state, _setState] = React.useState({\r\n\t\tisLoading: false,\r\n\t\tcontacts: props.chat ? transformContactsToHash(props.chat.contacts) : {},\r\n\t\trecordAudioResult: undefined,\r\n\t\trecordVideoResult: undefined\r\n\t});\r\n\tconst setState = React.useCallback(newState => _setState(state => ({...state, ...newState})), []);\r\n\r\n\tReact.useEffect(() => {\r\n\t\tsetState({\r\n\t\t\tcontacts: props.chat ? transformContactsToHash(props.chat.contacts) : {}\r\n\t\t});\r\n\t}, [props.chat]);\r\n\r\n\tconst handleSubmitForm = (values: NewMessage, { resetForm }) => {\r\n\t\tconst {text, files, attachments, bytes} = values;\r\n\t\tif (!(text || files?.length || attachments?.length || bytes?.length)) return;\r\n\r\n\t\tsetState({\r\n\t\t\tisLoading: true\r\n\t\t});\r\n\r\n\t\tconst item = values;\r\n\r\n\t\titem.chatId = props.chat.id;\r\n\t\titem.attachments = item.files.map(f => f.id);\r\n\r\n\t\trequest(editMessage && requests.updateMessage ? requests.updateMessage : requests.chatMessage, item).then((result) => {\r\n\t\t\tsetState({\r\n\t\t\t\tisLoading: false\r\n\t\t\t});\r\n\t\t\tresetForm();\r\n\t\t\t_setState(prev => ({\r\n\t\t\t\t...prev,\r\n\t\t\t\trecordAudioResult: undefined,\r\n\t\t\t\trecordVideoResult: undefined\r\n\t\t\t}));\r\n\t\t\tprops.afterSubmit && props.afterSubmit(result);\r\n\t\t}).catch(() => {\r\n\t\t\tsetState({\r\n\t\t\t\tisLoading: false\r\n\t\t\t});\r\n\t\t});\r\n\t};\r\n\r\n\tconst onUploadFile = (file: FileInterface, formikBag) => {\r\n\t\tconst nextFiles = formikBag.values.files.concat(file);\r\n\r\n\t\tif (nextFiles.length > maxAttachmentsCount) {\r\n\t\t\tmessage.info(`Max Attachment files count: ${maxAttachmentsCount}`);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tformikBag.values.files = nextFiles;\r\n\t\tformikBag.setFieldValue('files', nextFiles);\r\n\t};\r\n\r\n\tconst onRemoveUploadedFile = (id: number, formikBag) => {\r\n\t\tconst nextFiles = formikBag.values.files.filter(f => f.id !== id);\r\n\t\tformikBag.setFieldValue('files', nextFiles);\r\n\t};\r\n\r\n\tconst onKeyDown = (e: KeyboardEvent) => {\r\n\t\tconst formikBag = form.current;\r\n\r\n\t\tif (formikBag && e.ctrlKey && e.code === 'Enter') {\r\n\t\t\te.preventDefault();\r\n\t\t\tformikBag.submitForm();\r\n\t\t}\r\n\t};\r\n\r\n\tconst handlePaste = (e: React.ClipboardEvent, formikBag: FormikProps) => {\r\n\t\tconst items = Array.from(e.clipboardData.items).filter(x => /^image\\//.test(x.type));\r\n\r\n\t\titems.forEach((item) => {\r\n\t\t\tconst blob = item?.getAsFile();\r\n\r\n\t\t\tuploadFile({\r\n\t\t\t\tfile: blob,\r\n\t\t\t\ttype: 'chatMessage',\r\n\t\t\t\tobjectId: -1,\r\n\t\t\t\tfileType: FileType.File\r\n\t\t\t})\r\n\t\t\t\t.then(data => onUploadFile(data, formikBag))\r\n\t\t\t\t.catch((err: any) => {\r\n\t\t\t\t\tmessage.error(typeof err === 'object' ? err.message : err);\r\n\t\t\t\t});\r\n\t\t});\r\n\t};\r\n\r\n\tReact.useEffect(() => {\r\n\t\tdocument.addEventListener('keydown', onKeyDown);\r\n\t\treturn () => document.removeEventListener('keydown', onKeyDown);\r\n\t}, []);\r\n\r\n\tconst withTyping = otherComponents.includes(ChatComponents.Mentions);\r\n\r\n\tconst MentionComponent = React.useMemo(() => {\r\n\t\treturn withTyping ? ChatFormComponentsDictionary[ChatComponents.Mentions] : Mentions;\r\n\t}, [withTyping]);\r\n\r\n\tconst validationSchema = React.useMemo(() => {\r\n\t\treturn getValidationSchema(maxMessageLength);\r\n\t}, []);\r\n\r\n\treturn f.file) || [],\r\n\t\t\tattachments: [],\r\n\t\t\tbytes: [],\r\n\t\t\tchatMessageType: ChatMessageType.Regular\r\n\t\t} as NewMessage}\r\n\t\tonSubmit={handleSubmitForm}\r\n\t\tvalidationSchema={validationSchema}\r\n\t\tenableReinitialize={true}\r\n\t\trender={(formikBag: FormikProps) => {\r\n\t\t\treturn
\r\n\t\t\t\t\r\n\t\t\t\t) =>\r\n\t\t\t\t\t\t form.setFieldValue(field.name, text)}\r\n\t\t\t\t\t\t\tclassName=\"form-control\"\r\n\t\t\t\t\t\t\tplaceholder=\"Start typing your message\"\r\n\t\t\t\t\t\t\tplacement=\"top\"\r\n\t\t\t\t\t\t\tvalue={field.value}\r\n\t\t\t\t\t\t\tonPaste={formSettings.allowPasteImages ? e => handlePaste(e, formikBag) : undefined}\r\n\t\t\t\t\t\t\tchat={chat}\r\n\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t{chat.contacts.map((item) => {\r\n\t\t\t\t\t\t\t\tconst name = getUserName(item);\r\n\r\n\t\t\t\t\t\t\t\treturn \t\r\n\t\t\t\t\t\t\t\t\t{name}\r\n\t\t\t\t\t\t\t\t;\r\n\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t\t/>\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{formikBag.values.files\r\n\t\t\t\t\t\t\t.map(f => (\r\n\t\t\t\t\t\t\t\t onRemoveUploadedFile(f.id, formikBag)}\r\n\t\t\t\t\t\t\t\t\tclosable\r\n\t\t\t\t\t\t\t\t\tcloseIcon={}\r\n\t\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\t\t{imageExtensions.includes(f.extension?.toLowerCase()) ?\r\n\t\t\t\t\t\t\t\t\t\t onImageClick && onImageClick(e, f)}\r\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"chat-form-file-tag-image\"\r\n\t\t\t\t\t\t\t\t\t\t\tsrc={f.thumb} alt={f.name}/> :\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t  {f.name}  \r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t))\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{formTags.includes(ChatFormTag.Voice)\r\n\t\t\t\t\t\t\t\t&& ChatFormTagDictionary[ChatFormTag.Voice](formikBag, {state, setState: _setState, waveColor})}\r\n\t\t\t\t\t\t\t{formTags.includes(ChatFormTag.Video)\r\n\t\t\t\t\t\t\t\t&& ChatFormTagDictionary[ChatFormTag.Video](formikBag, {state, setState: _setState, waveColor})}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{formSettings.underFormLabel && \r\n\t\t\t\t\t\t\t{formSettings.underFormLabel}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{formButtons\r\n\t\t\t\t\t\t\t\t.map((button) => {\r\n\t\t\t\t\t\t\t\t\tconst props = {onUploadFile: f => onUploadFile(f, formikBag), setState: _setState, waveColor, isEditMessage: !!editMessage};\r\n\t\t\t\t\t\t\t\t\tconst wrapper = typeof button !== 'function' && chatFormButtonsWrappers[button] ?\r\n\t\t\t\t\t\t\t\t\t\tchatFormButtonsWrappers[button] : children => children;\r\n\r\n\t\t\t\t\t\t\t\t\treturn typeof button === 'function' ? button(formikBag, props) :\r\n\t\t\t\t\t\t\t\t\t\twrapper ? wrapper(ChatFormButtonsDictionary[button](formikBag, props)) : ChatFormButtonsDictionary[button](formikBag, props);\r\n\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\teditMessage ? setEdit(null)}\r\n\t\t\t\t\t\t\t>\r\n\t\t\t\t\t\t\t\tCancel\r\n\t\t\t\t\t\t\t : null\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tSend\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t;\r\n\t\t}}\r\n\t/>;\r\n};\r\n\r\nexport default ChatMessageForm;\r\n","import React from 'react';\r\n\r\nfunction useServerEffect(callback) {\r\n\tReact.useMemo(() => {\r\n\t\tif (typeof window === 'undefined') {\r\n\t\t\tcallback();\r\n\t\t}\r\n\t}, []);\r\n}\r\n\r\nexport default useServerEffect;\r\n","import * as React from 'react';\r\n\r\nimport { FormikProps} from 'formik';\r\n\r\ninterface FormikField {\r\n\tonChange: (e: React.ChangeEvent) => void;\r\n\tonBlur: (e: any) => void;\r\n\tvalue: any;\r\n\tname: string;\r\n}\r\n\r\nexport interface FormikListProps {\r\n\tfield: FormikField;\r\n\tformikBag: FormikProps;\r\n\tequalityChecker: (item: any, newItem: any) => boolean;\r\n\trenderItem: (item: any, removeItem: () => void) => JSX.Element | null;\r\n\trenderInput: (addNewItem: (item) => void) => JSX.Element;\r\n}\r\n\r\n// tslint:disable-next-line:function-name\r\nexport function FormikList(props: FormikListProps) {\r\n\tconst {field} = props;\r\n\tlet arr = field.value || [];\r\n\r\n\tif (!Array.isArray(arr)) {\r\n\t\tarr = field.value.list;\r\n\t}\r\n\r\n\treturn \r\n\t\t
\r\n\t\t\t{arr.filter(item => !item.deleted)\r\n\t\t\t\t.map(item => props.renderItem(item, () => {\r\n\r\n\t\t\t\t\tconst itemIndex = arr.indexOf(item);\r\n\r\n\t\t\t\t\tconst newArray = arr.slice();\r\n\r\n\t\t\t\t\tif (item.id === -1) {\r\n\t\t\t\t\t\tnewArray.splice(itemIndex, 1);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tnewArray.splice(itemIndex, 1, {\r\n\t\t\t\t\t\t\t...item,\r\n\t\t\t\t\t\t\tdeleted: true\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tprops.formikBag.setFieldValue(field.name, newArray);\r\n\t\t\t\t}))\r\n\t\t\t}\r\n\t\t
\r\n\t\t{props.renderInput((newItem) => {\r\n\t\t\tlet arr = props.field.value;\r\n\r\n\t\t\tif (!Array.isArray(arr)) {\r\n\t\t\t\tarr = props.field.value.list;\r\n\t\t\t}\r\n\r\n\t\t\tconst foundItem = arr.filter(nextItem => props.equalityChecker(nextItem, newItem))[0];\r\n\r\n\t\t\tif (!foundItem) {\r\n\t\t\t\tprops.formikBag.setFieldValue(props.field.name, [...arr, newItem]);\r\n\t\t\t} else if (foundItem.deleted) {\r\n\t\t\t\tconst itemIndex = arr.indexOf(foundItem);\r\n\t\t\t\tconst newArray = arr.slice();\r\n\r\n\t\t\t\tnewArray.splice(itemIndex, 1);\r\n\r\n\t\t\t\tnewArray.push({\r\n\t\t\t\t\t...foundItem,\r\n\t\t\t\t\tdeleted: false\r\n\t\t\t\t});\r\n\r\n\t\t\t\tprops.formikBag.setFieldValue(props.field.name, newArray);\r\n\t\t\t}\r\n\t\t})}\r\n\t
;\r\n}","import * as React from 'react';\r\n\r\nimport * as Yup from 'yup';\r\nimport {Field, FieldProps, Form, Formik, FormikProps} from 'formik';\r\nimport Modal from 'antd/lib/modal';\r\n\r\nimport {Chat, ChatKind} from '@common/react/objects/Chat';\r\nimport {FormikList} from '@common/react/components/Forms/FormikList/FormikList';\r\nimport Autocomplete from '@common/react/components/Forms/Autocomplete/Autocomplete';\r\nimport Button from '@common/react/components/Forms/Button';\r\nimport {BaseParams} from '@common/react/objects/BaseParams';\r\nimport {getUserName} from '@common/react/utils/utils';\r\nimport {BaseUserWithAvatar} from '@common/react/objects/BaseUser';\r\nimport {BaseApplicationState} from '@common/react/store';\r\nimport { useChatSettingsProviderContext } from '@common/react/components/Chat/ChatSettingsProvider';\r\nimport useRequest from '@common/react/hooks/useRequest';\r\n\r\nconst validationSchema = Yup.object().shape({\r\n\tkind: Yup.number(),\r\n\tcontacts: Yup.array().when('kind', {\r\n\t\tis: ChatKind.Group,\r\n\t\tthen: Yup.array().min(1, 'You must select users')\r\n\t})\r\n});\r\n\r\ninterface AddChatPopupProps {\r\n\tuser: BaseUserWithAvatar;\r\n\tonSave: (chat: Chat) => void;\r\n\trender: (show: () => void) => void;\r\n\tautocompleteParams?: BaseParams;\r\n\ttype?: string;\r\n\trenderItem?: (user: BaseUserWithAvatar) => React.ReactNode;\r\n}\r\n\r\ninterface AddChatPopupState {\r\n\tisLoading: boolean;\r\n\tpopupShow: boolean;\r\n}\r\n\r\ninterface FormValues {\r\n\tname: string;\r\n\tkind: ChatKind;\r\n\tcontacts: BaseUserWithAvatar[];\r\n}\r\n\r\nconst AddChatPopup:React.FC = (props) => {\r\n\tconst [state, setState] = React.useState({\r\n\t\tisLoading: false,\r\n\t\tpopupShow: false\r\n\t});\r\n\r\n\tconst context = useChatSettingsProviderContext();\r\n\r\n\tif (!context?.state) throw 'need ChatSettingsContext';\r\n\r\n\tconst {state: {requests}} = context;\r\n\tconst request = useRequest();\r\n\r\n\tconst handleSubmitForm = (values: FormValues) => {\r\n\t\tif (props.user) {\r\n\t\t\tsetState(prev => ({\r\n\t\t\t\t...prev,\r\n\t\t\t\tisLoading: true\r\n\t\t\t}));\r\n\r\n\t\t\tconst item = {\r\n\t\t\t\tkind: values.kind,\r\n\t\t\t\tname: values.name.trim() === '' ? '' : values.name,\r\n\t\t\t\tcontactsIds: values.contacts.map((contact: BaseUserWithAvatar) => contact.id).concat(props.user.id)\r\n\t\t\t};\r\n\r\n\t\t\trequest(requests.chat, item).then((result) => {\r\n\t\t\t\tsetState(prev => ({\r\n\t\t\t\t\t...prev,\r\n\t\t\t\t\tisLoading: false\r\n\t\t\t\t}));\r\n\r\n\t\t\t\tpopupHide();\r\n\r\n\t\t\t\tprops.onSave(result);\r\n\r\n\t\t\t}).catch(() => {\r\n\t\t\t\tsetState(prev => ({\r\n\t\t\t\t\t...prev,\r\n\t\t\t\t\tisLoading: false\r\n\t\t\t\t}));\r\n\t\t\t});\r\n\t\t}\r\n\t};\r\n\r\n\tconst showPopup = () => setState(prev => ({...prev, popupShow: true}));\r\n\tconst popupHide = () => setState(prev => ({...prev, popupShow: false}));\r\n\r\n\tconst {user: loggedUser, autocompleteParams, type = 'userList', renderItem = (user: BaseUserWithAvatar) => getUserName(user)} = props;\r\n\r\n\treturn \r\n\t\t{props.render(showPopup)}\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{(formikBag: FormikProps) => {\r\n\t\t\t\t\treturn
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{/*{) => (*/}\r\n\t\t\t\t\t\t\t{/*
*/}\r\n\t\t\t\t\t\t\t{/**/}\r\n\t\t\t\t\t\t\t{/*
*/}\r\n\t\t\t\t\t\t\t{/**/}\r\n\t\t\t\t\t\t\t{/*
*/}\r\n\t\t\t\t\t\t\t{/*
*/}\r\n\t\t\t\t\t\t\t{/*)}/>*/}\r\n\t\t\t\t\t\t\t{/*}*/}\r\n\t\t\t\t\t\t\t{formikBag.values.kind !== ChatKind.Personal &&\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{({field, form, meta}: FieldProps) =>\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{({field, form, meta}: FieldProps) => (\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t item.id === newItem.id}\r\n\t\t\t\t\t\t\t\t\t\trenderItem={(user: BaseUserWithAvatar, removeItem) =>
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t{renderItem(user)}\r\n\t\t\t\t\t\t\t\t\t\t
}\r\n\t\t\t\t\t\t\t\t\t\trenderInput={addNewItem =>\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\ttype={type}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\trenderOption={(autocompleteItem) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tkey: `${autocompleteItem.id}`,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tvalue: getUserName(autocompleteItem),\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\ttitle: getUserName(autocompleteItem),\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\titem: autocompleteItem,\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tlabel: renderItem(autocompleteItem)\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tonSelect={(value, option) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\taddNewItem(option.props.item);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tloadOnFocus\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tvalue=\"\"\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tisClear={true}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tparams={autocompleteParams}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tantdProps={{\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tplaceholder: 'Start typing for search...',\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tfilterOption: (inputValue, option: any) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tconst id = +(option.key as string);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn loggedUser && loggedUser.id !== id\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t&& !formikBag.values.contacts.some((item: BaseUserWithAvatar) => id === item.id);\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t\t\t\t\t{form.touched.contacts && form.errors.contacts ?\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
{form.errors.contacts}
: ''}\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t/>\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t;\r\n\t\t\t\t}}\r\n\t\t\t\r\n\t\t\r\n\t
;\r\n};\r\n\r\nexport default AddChatPopup;\r\n","import React from 'react';\r\n\r\nimport SimpleSearchInput from '@common/react/components/Forms/SimpleSearchInput/SimpleSearchInput';\r\nimport AddChatPopup from '@common/react/components/Chat/AddChatPopup';\r\nimport Button from '@common/react/components/Forms/Button';\r\nimport ArchiveButton from '@common/react/components/UI/ArchiveButton';\r\n\r\nexport enum ChatsListHeaderComponents {\r\n\tSearch,\r\n\tAddChat,\r\n\tArchive,\r\n\tOnline,\r\n\tAllChats\r\n}\r\n\r\nexport type ChatListHeaderSettingsType = Array React.ReactNode)>;\r\n\r\nexport const ChatsListHeaderDictionary = {\r\n\t[ChatsListHeaderComponents.Search]: ({handleChange}) =>\r\n\t\t,\r\n\t[ChatsListHeaderComponents.AddChat]: ({user, selectChat}) =>\r\n\t\t }\r\n\t\t\ttype=\"userChatViewList\"\r\n\t\t/>,\r\n\t[ChatsListHeaderComponents.AllChats]: ({handleChange, user, filters}) =>\r\n\t\t handleChange({loadAllChats: !filters.loadAllChats, chatId: null })}\r\n\t\t>\r\n\t\t\t\r\n\t\t,\r\n\t[ChatsListHeaderComponents.Archive]: ({filters, handleChange, selectChat, pageSettings}) =>\r\n\t\t,\r\n\t[ChatsListHeaderComponents.Online]: ({filters, handleChange}) =>\r\n\t\t handleChange({online: !filters.online})}\r\n\t\t>\r\n\t\t\t\r\n\t\t,\r\n};","import React from 'react';\r\nimport {useHistory} from 'react-router';\r\n\r\nimport {useItemsProviderContext} from '@common/react/components/Core/ItemsProvider/ItemsProvider';\r\nimport { parseQuery } from '@common/typescript/utils/url';\r\nimport {useChatSettingsProviderContext} from '@common/react/components/Chat/ChatSettingsProvider';\r\n\r\ninterface ArchiveButtonProps {\r\n\thandleChange: any;\r\n\tselectChat: any;\r\n\tfilters: any;\r\n\tpageSettings: any;\r\n}\r\n\r\nconst ArchiveButton: React.FC = ({selectChat, handleChange, filters, pageSettings}) => {\r\n\tconst history = useHistory();\r\n\t\r\n\tconst {state: {chatsFilters}, actions: {setChatsFilters}} = useChatSettingsProviderContext();\r\n\t\r\n\tconst handleClick = React.useCallback(() => {\r\n\t\thandleChange({chatId: undefined, archive: !chatsFilters?.archive})\r\n\t\t\t.then((res) => {\r\n\t\t\t\tselectChat(res.list[0]);\r\n\t\t\t\thistory.replace({\r\n\t\t\t\t\tpathname: history.location.pathname,\r\n\t\t\t\t\tsearch: res.list[0] ?\r\n\t\t\t\t\t\t`?${pageSettings.chatIdUrlKey}=${res.list[0].id}&${pageSettings.archive}=${!chatsFilters?.archive}` :\r\n\t\t\t\t\t\t`?${pageSettings.archive}=${!chatsFilters?.archive}`\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\tsetChatsFilters({archive: !chatsFilters?.archive});\r\n\t}, [chatsFilters]);\r\n\t\r\n\treturn (\r\n\t\t\r\n\t\t\t\r\n\t\t\t{!chatsFilters?.archive && }\r\n\t\t\r\n\t);\r\n};\r\n\r\nexport default ArchiveButton;","import * as React from 'react';\r\n\r\nimport Modal from 'antd/lib/modal';\r\n\r\nimport {Chat} from '@common/react/objects/Chat';\r\nimport {getUserName} from '@common/react/utils/utils';\r\nimport Autocomplete from '@common/react/components/Forms/Autocomplete/Autocomplete';\r\nimport {BaseParams} from '@common/react/objects/BaseParams';\r\nimport {BaseUserWithAvatar} from '@common/react/objects/BaseUser';\r\nimport { useChatSettingsProviderContext } from '@common/react/components/Chat/ChatSettingsProvider';\r\nimport useRequest from '@common/react/hooks/useRequest';\r\n\r\ninterface AddChatPopupProps {\r\n\tuser: BaseUserWithAvatar;\r\n\trender: (show: () => void) => void;\r\n\tchat: Chat;\r\n\tautocompleteParams?: BaseParams;\r\n\ttype?: string;\r\n\trenderItem?: (user: BaseUserWithAvatar) => React.ReactNode;\r\n\trenderAutocompleteItem?: (user: BaseUserWithAvatar) => React.ReactNode;\r\n}\r\n\r\nconst AddUserToChatPopup:React.FC = (props) => {\r\n\tconst [popupShow, setPopupShow] = React.useState(false);\r\n\r\n\tconst context = useChatSettingsProviderContext();\r\n\r\n\tif (!context?.state) throw 'need ChatSettingsContext';\r\n\r\n\tconst {state: {requests}} = context;\r\n\tconst request = useRequest();\r\n\r\n\tconst showPopup = () => setPopupShow(true);\r\n\tconst popupHide = () => setPopupShow(false);\r\n\r\n\tconst onSelect = (value, option) => {\r\n\t\tconst item = {\r\n\t\t\tchatId: props.chat.id,\r\n\t\t\tuserId: +value\r\n\t\t};\r\n\r\n\t\trequest(requests.chatUser, item);\r\n\t};\r\n\r\n\tconst { user: loggedUser, chat, autocompleteParams, type = 'userList', renderItem = (user: BaseUserWithAvatar) => getUserName(user)} = props;\r\n\tconst {renderAutocompleteItem = renderItem} = props;\r\n\r\n\treturn \r\n\t\t{props.render(showPopup)}\r\n\t\t\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t{chat.contacts.map((user: BaseUserWithAvatar) => \r\n\t\t\t\t\t\t{renderItem(user)}\r\n\t\t\t\t\t
)}\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\ttype={type}\r\n\t\t\t\t\t\trenderOption={(autocompleteItem) => {\r\n\t\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t\tkey: `${autocompleteItem.id}`,\r\n\t\t\t\t\t\t\t\tvalue: getUserName(autocompleteItem),\r\n\t\t\t\t\t\t\t\ttitle: getUserName(autocompleteItem),\r\n\t\t\t\t\t\t\t\titem: autocompleteItem,\r\n\t\t\t\t\t\t\t\tlabel: renderAutocompleteItem(autocompleteItem)\r\n\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t\tonSelect={onSelect}\r\n\t\t\t\t\t\tvalue=\"\"\r\n\t\t\t\t\t\tisClear={true}\r\n\t\t\t\t\t\tparams={autocompleteParams}\r\n\t\t\t\t\t\tloadOnFocus\r\n\t\t\t\t\t\tantdProps={{\r\n\t\t\t\t\t\t\tplaceholder: 'Start typing for search...',\r\n\t\t\t\t\t\t\tfilterOption: (inputValue, option: any) => {\r\n\t\t\t\t\t\t\t\tconst id = +(option.key as string);\r\n\t\t\t\t\t\t\t\treturn !chat.contacts.some((item: BaseUserWithAvatar) => id === item.id);\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t}}\r\n\t\t\t\t\t/>\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\r\n\t;\r\n};\r\n\r\nexport default AddUserToChatPopup;\r\n","import * as React from 'react';\r\n\r\nimport * as Yup from 'yup';\r\nimport {Field, FieldProps, Form, Formik, FormikProps} from 'formik';\r\nimport Modal from 'antd/lib/modal';\r\nimport Message from 'antd/lib/message';\r\n\r\nimport {Chat} from '@common/react/objects/Chat';\r\nimport Button from '@common/react/components/Forms/Button';\r\nimport {BaseUserWithAvatar} from '@common/react/objects/BaseUser';\r\nimport {request} from '@common/react/components/Api';\r\nimport {BaseApplicationState} from '@common/react/store';\r\nimport { useChatSettingsProviderContext } from '@common/react/components/Chat/ChatSettingsProvider';\r\nimport { simpleStringValidator } from '@common/react/utils/validationHelpers';\r\n\r\nconst validationSchema = Yup.object().shape({\r\n\tname: simpleStringValidator\r\n});\r\n\r\ninterface ChatNameEditorProps {\r\n\trender: (show: () => void) => void;\r\n\tonSave: (chat: Chat) => void;\r\n\tchat: Partial> & {id: number, name: string};\r\n}\r\n\r\ninterface ChatNameEditorState {\r\n\tisLoading: boolean;\r\n\tpopupShow: boolean;\r\n}\r\n\r\ninterface FormValues {\r\n\tid: number;\r\n\tname: string;\r\n}\r\n\r\nconst ChatNameEditor:React.FC = (props) => {\r\n\tconst [state, setState] = React.useState({\r\n\t\tisLoading: false,\r\n\t\tpopupShow: false\r\n\t});\r\n\r\n\tconst context = useChatSettingsProviderContext();\r\n\r\n\tif (!context?.state) throw 'need ChatSettingsContext';\r\n\r\n\tconst {state: {requests}} = context;\r\n\r\n\tconst handleSubmitForm = (values: FormValues) => {\r\n\t\tsetState(prev => ({\r\n\t\t\t...prev,\r\n\t\t\tisLoading: true\r\n\t\t}));\r\n\r\n\t\tconst item = {\r\n\t\t\tid: values.id,\r\n\t\t\tname: values.name.trim() === '' ? '' : values.name,\r\n\t\t};\r\n\r\n\t\trequest>(requests.chat, item)\r\n\t\t\t.then((result) => {\r\n\t\t\t\tsetState(prev => ({\r\n\t\t\t\t\tpopupShow: false,\r\n\t\t\t\t\tisLoading: false\r\n\t\t\t\t}));\r\n\r\n\t\t\t\tprops.onSave({...result, ...props.chat, name: result.name});\r\n\t\t\t})\r\n\t\t\t.catch((e) => {\r\n\t\t\t\tMessage.error(e);\r\n\t\t\t\tsetState(prev => ({\r\n\t\t\t\t\t...prev,\r\n\t\t\t\t\tisLoading: false\r\n\t\t\t\t}));\r\n\t\t\t});\r\n\t};\r\n\r\n\tconst showPopup = () => setState(prev => ({...prev, popupShow: true}));\r\n\tconst popupHide = () => setState(prev => ({...prev, popupShow: false}));\r\n\r\n\treturn \r\n\t\t{props.render(showPopup)}\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{(formikBag: FormikProps) => {\r\n\t\t\t\t\treturn
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{({field, form, meta}: FieldProps) =>\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t\tSave\r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
;\r\n\t\t\t\t}}\r\n\t\t\t\r\n\t\t\r\n\t
;\r\n};\r\n\r\nexport default ChatNameEditor;\r\n","import React from 'react';\r\n\r\nimport Button from '@common/react/components/Forms/Button';\r\nimport VideoChatButton from '@common/react/components/UI/VideoChat/VideoChatButton';\r\nimport SystemCallButton from '@common/react/components/UI/VideoChat/SystemCallButton';\r\nimport AddUserToChatPopup from '@common/react/components/Chat/AddUserToChatPopup';\r\nimport { ChatKind } from '@common/react/objects/Chat';\r\nimport ChatNameEditor from '@common/react/components/Chat/ChatNameEditor';\r\n\r\nexport enum ChatMessagesHeaderComponents {\r\n\tVideoCall,\r\n\tAddUserToChat,\r\n\tLeaveChat,\r\n\tAudioCall,\r\n\tCompleteChat,\r\n\tMembers,\r\n\tChatNameEditor\r\n}\r\n\r\nexport type ChatNameType = ({currentChat, user, withRemoteId, patientId}) => React.ReactNode;\r\n\r\ntype CustomComponent = (({currentChat, user, leaveChat, history, patientId, state, completeChat, withRemoteId, actions}) => React.ReactNode);\r\n\r\nexport type ChatMessagesHeaderSettingsType = Array;\r\n\r\nexport const ChatMessagesHeaderDictionary = {\r\n\t[ChatMessagesHeaderComponents.VideoCall]: ({withRemoteId, currentChat, user, history, patientId}) => {\r\n\t\tconst userCall = currentChat.contacts.find(item => withRemoteId ? item.remoteId !== user.id : item.id !== user.id);\r\n\t\treturn currentChat.contacts.length <= 2 && \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t/>;\r\n\t},\r\n\t[ChatMessagesHeaderComponents.AudioCall]: ({withRemoteId, currentChat, user}) => {\r\n\t\tconst userCall = currentChat.contacts.find(item => withRemoteId ? item.remoteId !== user.id : item.id !== user.id);\r\n\t\treturn \r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t/>;\r\n\t},\r\n\t[ChatMessagesHeaderComponents.AddUserToChat]: ({user, currentChat}) =>\r\n\t\tcurrentChat.userId === user?.id && currentChat.kind === ChatKind.Group &&\r\n\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t}\r\n\t\t\ttype=\"userChatViewList\"\r\n\t\t/>,\r\n\t[ChatMessagesHeaderComponents.LeaveChat]: ({leaveChat, currentChat, withRemoteId, user}) =>\r\n\t\tcurrentChat.kind === ChatKind.Group\r\n\t\t&& (!withRemoteId || currentChat.contacts.some(item => item.remoteId === user.id))\r\n\t\t&& \r\n\t\t\t\r\n\t\t,\r\n\t[ChatMessagesHeaderComponents.CompleteChat]: ({state, currentChat, user, completeChat, withRemoteId}) =>\r\n\t\tcurrentChat.contacts.some(item => withRemoteId ? item.remoteId === user?.id : item.id === user?.id) && completeChat(currentChat)}\r\n\t\t>\r\n\t\t\t\r\n\t\t\t{currentChat.archive && }\r\n\t\t,\r\n\t[ChatMessagesHeaderComponents.Members]: ({currentChat}) =>\r\n\t\t\r\n\t\t\t\r\n\t\t\t\t{currentChat.contacts.length} members\r\n\t\t\t\r\n\t\t,\r\n\t[ChatMessagesHeaderComponents.ChatNameEditor]: ({currentChat, actions}) =>\r\n\t\tcurrentChat ? \r\n\t\t\t\t\r\n\t\t\t}\r\n\t\t\tonSave={chat => actions.updateChat(chat)}\r\n\t\t\tchat={currentChat}\r\n\t\t/> : null\r\n};\r\n","import * as React from 'react';\r\n\r\nimport { bindActionCreators } from 'redux';\r\nimport { shallowEqual, useDispatch, useSelector } from 'react-redux';\r\nimport { useHistory } from 'react-router-dom';\r\n\r\nimport Message from 'antd/lib/message';\r\n\r\nimport { BaseParams } from '@common/react/objects/BaseParams';\r\nimport { request } from '@common/react/components/Api';\r\nimport * as ChatsState from '@common/react/store/Chats';\r\nimport { BaseUserWithAvatar } from '@common/react/objects/BaseUser';\r\nimport { List } from '@common/typescript/objects/List';\r\nimport ChatMessageList from '@common/react/components/Chat/ChatMessageList';\r\nimport ChatMessageForm from '@common/react/components/Chat/ChatMessageForm';\r\nimport { ChatItem } from '@common/react/components/Chat/ChatListItem';\r\nimport { deleteConfirmation } from '@common/react/components/Modal/Modal';\r\nimport { Chat, ChatMessage } from '@common/react/objects/Chat';\r\nimport { BaseApplicationState } from '@common/react/store';\r\nimport { parseQuery } from '@common/typescript/utils/url';\r\nimport { ItemsProvider, useItemsProviderContext } from '@common/react/components/Core/ItemsProvider/ItemsProvider';\r\nimport '@common/react/scss/components/chats.scss';\r\nimport {\r\n\tChatComponents,\r\n\tChatMessageListComponentsDictionary,\r\n\tChatSettingsProviderContext,\r\n\tuseChatSettingsProviderContext\r\n} from '@common/react/components/Chat/ChatSettingsProvider';\r\n\r\nimport useServerEffect from '@common/react/hooks/useServerEffect';\r\nimport Button from '@common/react/components/Forms/Button';\r\nimport { File as FileInterface } from '@common/typescript/objects/FileInterface';\r\nimport Loader from '@common/react/components/Core/LoadingProvider/Loader';\r\nimport { ChatsListHeaderComponents, ChatsListHeaderDictionary } from '@common/react/components/Chat/ChatsListHeaderComponents';\r\nimport {\r\n\tChatMessagesHeaderComponents,\r\n\tChatMessagesHeaderDictionary\r\n} from '@common/react/components/Chat/ChatMessagesHeaderComponents';\r\n\r\ninterface OwnProps {\r\n\tactions: Actions;\r\n\tinitLoad: boolean;\r\n\tcontext: ChatSettingsProviderContext;\r\n\tautocompleteParams?: BaseParams;\r\n\tonMentionClick?: (contact: BaseUserWithAvatar) => void;\r\n\ttype?: string;\r\n\trenderItem?: (user: BaseUserWithAvatar) => React.ReactNode;\r\n}\r\n\r\ntype Actions = ChatsState.ChatsActionCreators>;\r\n\r\nexport const imageExtensions = ['jpg', 'jpeg', 'png', 'gif'];\r\n\r\nconst Chats: React.FC = (props) => {\r\n\tconst {onMentionClick, actions, context: chatSettingsContext} = props;\r\n\tconst history = useHistory();\r\n\tconst {\r\n\t\tstate: {requests, pageSettings, chatStoreSettings, chatListHeaderSettings, otherComponents}, \r\n\t\tactions: {setChatsFilters}\r\n\t} = chatSettingsContext;\r\n\tconst {state: {avatarSettings, messagesHeaderComponents, renderChatName, withRemoteId, chatsFilters}} = chatSettingsContext;\r\n\t\r\n\tconst {currentChat, user} = useSelector((state: BaseApplicationState) => ({\r\n\t\tcurrentChat: chatStoreSettings.getCurrentChat(state),\r\n\t\tuser: state.login.user\r\n\t}), shallowEqual);\r\n\tconst messages = useSelector(chatStoreSettings.getMessages(currentChat?.id), shallowEqual);\r\n\r\n\tconst context = useItemsProviderContext();\r\n\tconst {state: {items, loading, pagination, filters}, actions: {load, handleChange, loadMore}} = context;\r\n\r\n\tconst patientId = React.useRef(null);\r\n\tconst [state, setState] = React.useState({completeChatLoading: false});\r\n\tconst [editMessage, setEdit] = React.useState(null);\r\n\r\n\tconst [img, setImg] = React.useState();\r\n\tconst images = React.useMemo(() => {\r\n\t\tconst files: FileInterface[] = [];\r\n\t\t[...(messages?.list || [])].reverse().forEach((message) => {\r\n\t\t\t[...message.files].reverse().forEach(f => imageExtensions.includes(f.file.extension?.toLowerCase()) ? files.push(f) : '');\r\n\t\t});\r\n\t\treturn files;\r\n\t}, [messages]);\r\n\tconst imageIndex = React.useMemo(() => {\r\n\t\tconst index = images.findIndex(image => image.file.id === img?.file.id);\r\n\t\treturn index < 0 ? null : index;\r\n\t}, [images, img]);\r\n\r\n\tconst selectChat = (chat: Chat | null) => {\r\n\t\tconst search = parseQuery(history.location.search);\r\n\t\tconst archive = search[pageSettings.archive] || false;\r\n\t\t\r\n\t\tif (chat) {\r\n\t\t\thistory.replace({\r\n\t\t\t\tpathname: pageSettings.path,\r\n\t\t\t\tsearch: `?${pageSettings.chatIdUrlKey}=${chat.id}&${pageSettings.archive}=${archive}`\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\thistory.replace({\r\n\t\t\t\tpathname: pageSettings.path,\r\n\t\t\t\tsearch: ''\r\n\t\t\t});\r\n\t\t}\r\n\t\tactions.selectChat(chat);\r\n\t};\r\n\r\n\tconst leaveChat = () => {\r\n\t\tdeleteConfirmation(() => {\r\n\t\t\tif (currentChat && user) {\r\n\t\t\t\trequest(requests.chatUser, {\r\n\t\t\t\t\tchatId: currentChat.id,\r\n\t\t\t\t\tuserId: user.id,\r\n\t\t\t\t\tdeleted: true\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t};\r\n\r\n\tconst completeChat = (chat: Chat) => {\r\n\t\tsetState(prevState => ({\r\n\t\t\t...prevState,\r\n\t\t\tcompleteChatLoading: true\r\n\t\t}));\r\n\t\tif (!requests.completeChat) return;\r\n\r\n\t\treturn request(requests.completeChat, {\r\n\t\t\tid: chat.id,\r\n\t\t\tarchive: !chat.archive\r\n\t\t})\r\n\t\t\t.then((res) => {\r\n\t\t\t\thandleChange();\r\n\t\t\t})\r\n\t\t\t.catch((e) => {\r\n\t\t\t\tMessage.error(e);\r\n\t\t\t})\r\n\t\t\t.finally(() => {\r\n\t\t\t\tsetState(prevState => ({\r\n\t\t\t\t\t...prevState,\r\n\t\t\t\t\tcompleteChatLoading: false\r\n\t\t\t\t}));\r\n\t\t\t});\r\n\t};\r\n\r\n\tuseServerEffect(() => {\r\n\t\tconst search = parseQuery(history.location.search);\r\n\t\tconst chatId = +search[pageSettings.chatIdUrlKey] || null;\r\n\t\tconst archive = search[pageSettings.archive] === 'true';\r\n\t\t\r\n\t\tactions.loadChats((data: List) => {\r\n\t\t\tif (data.list.length > 0) {\r\n\t\t\t\tif (chatId && chatId > 0) {\r\n\t\t\t\t\tactions.selectChat(data.list.find(chat => chat.id === chatId));\r\n\t\t\t\t\tactions.loadMessages(chatId, false);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tactions.selectChat(data.list[0]);\r\n\t\t\t\t\tdata.list[0] && actions.loadMessages(data.list[0]?.id, false);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}, {...filters, archive, chatId});\r\n\t});\r\n\r\n\tReact.useEffect(() => {\r\n\t\tif (props.initLoad) {\r\n\t\t\tconst search = parseQuery(history.location.search);\r\n\t\t\tconst chatId = +search[pageSettings.chatIdUrlKey] || null;\r\n\t\t\tconst archive = search[pageSettings.archive] === 'true';\r\n\t\t\t\r\n\t\t\tload({chatId, archive}).then((data: List) => {\r\n\t\t\t\tif (data.list.length > 0) {\r\n\t\t\t\t\tif (chatId && chatId > 0) {\r\n\t\t\t\t\t\tactions.selectChat(data.list.find(chat => chat.id === chatId));\r\n\t\t\t\t\t\thistory.replace({\r\n\t\t\t\t\t\t\tpathname: pageSettings.path,\r\n\t\t\t\t\t\t\tsearch: `?${pageSettings.chatIdUrlKey}=${data.list[0].id}&${pageSettings.archive}=${data.list[0].archive}`\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tsetChatsFilters({archive: data.list[0].archive});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tactions.selectChat(data.list[0]);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t}, []);\r\n\r\n\tReact.useEffect(() => {\r\n\t\tsetEdit(null);\r\n\t}, [currentChat?.id]);\r\n\r\n\tconst handleIconClick = (e, file: FileInterface) => {\r\n\t\te.preventDefault();\r\n\t\tsetImg(file);\r\n\t};\r\n\r\n\tif (user) {\r\n\t\tconst userId = user.id;\r\n\t\tconst showForm = !withRemoteId || !filters.loadAllChats || currentChat?.contacts.some(user => (user as any).remoteId === userId);\r\n\t\tconst showMessagesHeader = !!renderChatName || !!messagesHeaderComponents.length;\r\n\r\n\t\treturn
\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t!!chatListHeaderSettings.length &&
\r\n\t\t\t\t\t\t\t{chatListHeaderSettings?.map((item, i) => \r\n\t\t\t\t\t\t\t\t{typeof item === 'function' ? \r\n\t\t\t\t\t\t\t\t\titem({\r\n\t\t\t\t\t\t\t\t\t\thandleChange,\r\n\t\t\t\t\t\t\t\t\t\tfilters,\r\n\t\t\t\t\t\t\t\t\t\tuser,\r\n\t\t\t\t\t\t\t\t\t\tselectChat: actions.selectChat,\r\n\t\t\t\t\t\t\t\t\t\tpageSettings\r\n\t\t\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t\t\t\t: ChatsListHeaderDictionary[item]({\r\n\t\t\t\t\t\t\t\t\t\tuser,\r\n\t\t\t\t\t\t\t\t\t\tfilters,\r\n\t\t\t\t\t\t\t\t\t\tselectChat: actions.selectChat,\r\n\t\t\t\t\t\t\t\t\t\thandleChange,\r\n\t\t\t\t\t\t\t\t\t\tpageSettings\r\n\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t}\r\n\t\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t\t{items.length > 0\r\n\t\t\t\t\t\t?
    \r\n\t\t\t\t\t\t\t{items.map((item, index) =>\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{items.length < pagination.total ?
      \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    : loading &&
    \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t
    }\r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t:
\r\n\t\t\t\t\t\t\tThere are not chats\r\n\t\t\t\t\t\t\t{loading &&
\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t
}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t}\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t\r\n\t\t\t\t{otherComponents.includes(ChatComponents.ImageColorBox)\r\n\t\t\t\t&& ChatMessageListComponentsDictionary[ChatComponents.ImageColorBox]({defaultIdx: imageIndex, setImg, files: images})}\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t\t{currentChat\r\n\t\t\t\t\t? \r\n\t\t\t\t\t\t{showMessagesHeader &&
\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{renderChatName &&
\r\n\t\t\t\t\t\t\t\t\t{renderChatName({currentChat, user, withRemoteId, patientId})}\r\n\t\t\t\t\t\t\t\t
}\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tmessagesHeaderComponents?.map((item, i) => \r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\t\ttypeof item !== 'function' ?\r\n\t\t\t\t\t\t\t\t\t\t\tChatMessagesHeaderDictionary[item]({leaveChat, currentChat, user, history, patientId, state, completeChat, withRemoteId, actions}) :\r\n\t\t\t\t\t\t\t\t\t\t\titem({leaveChat, currentChat, user, history, patientId, state, completeChat, withRemoteId, actions})\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t
}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{showForm ? {\r\n\t\t\t\t\t\t\t\tif (editMessage) {\r\n\t\t\t\t\t\t\t\t\tsetEdit(null);\r\n\t\t\t\t\t\t\t\t\tactions.updateMessage({\r\n\t\t\t\t\t\t\t\t\t\t...res,\r\n\t\t\t\t\t\t\t\t\t\tfiles: res.files || []\r\n\t\t\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}}\r\n\t\t\t\t\t\t\tchat={currentChat}\r\n\t\t\t\t\t\t/> : null}\r\n\t\t\t\t\t
\r\n\t\t\t\t\t: null\r\n\t\t\t\t}\r\n\t\t\t
\r\n\t\t
;\r\n\t}\r\n\r\n\treturn null;\r\n};\r\n\r\nconst ChatsWrapper: React.FC> = (props) => {\r\n\tconst context = useChatSettingsProviderContext();\r\n\r\n\tif (!context?.state) throw 'need ChatSettingsContext';\r\n\r\n\tconst {state: {requests, pageSettings, chatStoreSettings, title, chatsFilters}} = context;\r\n\tconst {getChatStore, getActionCreators} = chatStoreSettings;\r\n\r\n\tconst history = useHistory();\r\n\tconst search = parseQuery(history.location.search);\r\n\tconst chatId = +search[pageSettings.chatIdUrlKey] || null;\r\n\r\n\tconst dispatch = useDispatch();\r\n\tconst actions: Actions = React.useMemo(() => bindActionCreators(getActionCreators(), dispatch), []);\r\n\r\n\tconst {chats, chatsLoaded} = useSelector(getChatStore, shallowEqual);\r\n\tconst user = useSelector((state: BaseApplicationState) => state.login.user, shallowEqual);\r\n\r\n\tif (!user) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\treturn (\r\n\t\t
\r\n\t\t\t{title &&
\r\n\t\t\t\t

{title}

\r\n\t\t\t
}\r\n\t\t\t items.map(item => ({\r\n\t\t\t\t\t...item,\r\n\t\t\t\t\tunviewedMessagesCount: item.unviewedMessagesCount > 0 ? item.unviewedMessagesCount : 0\r\n\t\t\t\t}))}\r\n\t\t\t\tonItemsChange={(items, filters) => actions.setChats({\r\n\t\t\t\t\tlist: items,\r\n\t\t\t\t\toffset: items.length - (filters?.pageSize || 10),\r\n\t\t\t\t\texecution: 0,\r\n\t\t\t\t\tcount: items.length\r\n\t\t\t\t})}\r\n\t\t\t>\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t
\r\n\t);\r\n};\r\n\r\nexport default ChatsWrapper;\r\n","import {Action, Reducer} from 'redux';\r\nimport {addTask} from 'domain-task';\r\n\r\nimport {Chat, ChatMessage, ChatUser} from '@common/react/objects/Chat';\r\nimport {BaseUserWithAvatar} from '@common/react/objects/BaseUser';\r\nimport {List, transformArrayToList} from '@common/typescript/objects/List';\r\nimport {BaseApplicationState, BaseAppThunkAction} from '@common/react/store/index';\r\n\r\nimport {request} from '@common/react/components/Api';\r\n\r\nexport interface ChatsState {\r\n\tchats: List;\r\n\tcurrentChat: Chat | null;\r\n\tisLoading: boolean;\r\n\tisMessagesLoading: boolean;\r\n\tisMessagesLazy: boolean;\r\n\tmessages: ChatMessagesState;\r\n\tchatsLoaded: boolean;\r\n\tnotViewMessages: number[];\r\n}\r\n\r\ninterface ChatMessagesState {\r\n\t[id: number]: List;\r\n}\r\n\r\nexport enum TypeKeys {\r\n\tRECIEVECHATS = 'RECIEVECHATS',\r\n\tREQUESTCHATS = 'REQUESTCHATS',\r\n\tADDCHAT = 'ADDCHAT',\r\n\tUPDATECHAT = 'UPDATECHAT',\r\n\tSELECTCHAT = 'SELECTCHAT',\r\n\tDELETECHAT = 'DELETECHAT',\r\n\tREQUESTMESSAGES = 'REQUESTMESSAGES',\r\n\tRECIEVEMESSAGES = 'RECIEVEMESSAGES',\r\n\tRECIEVEMOREMESSAGES = 'RECIEVEMOREMESSAGES',\r\n\tADDMESSAGE = 'ADDMESSAGE',\r\n\tUPDATEMESSAGE = 'UPDATEMESSAGE',\r\n\tUPDATEMESSAGEVIEWED = 'UPDATEMESSAGEVIEWED',\r\n\tSETMESSAGES = 'SETMESSAGES',\r\n\tSETCHATS = 'SETCHATS',\r\n\tDELETEMESSAGE = 'DELETEMESSAGE'\r\n}\r\n\r\ninterface ReceiveChatsAction {\r\n\ttype: TypeKeys.RECIEVECHATS;\r\n\titems: List;\r\n}\r\n\r\ninterface RequestChatsAction {\r\n\ttype: TypeKeys.REQUESTCHATS;\r\n}\r\n\r\ninterface RequestChatMessagesAction {\r\n\ttype: TypeKeys.REQUESTMESSAGES;\r\n}\r\n\r\ninterface RecieveChatMessagesAction {\r\n\ttype: TypeKeys.RECIEVEMESSAGES;\r\n\tmessages: List;\r\n\tchatId: number;\r\n}\r\n\r\ninterface RecieveChatMoreMessagesAction {\r\n\ttype: TypeKeys.RECIEVEMOREMESSAGES;\r\n\tmessages: List;\r\n\tchatId: number;\r\n}\r\n\r\ninterface SetChatMessagesAction {\r\n\ttype: TypeKeys.SETMESSAGES;\r\n\tmessages: List;\r\n\tchatId: number;\r\n}\r\n\r\ninterface AddChatAction {\r\n\ttype: TypeKeys.ADDCHAT;\r\n\tchat: Chat;\r\n}\r\n\r\ninterface AddMessageAction {\r\n\ttype: TypeKeys.ADDMESSAGE;\r\n\tmessage: ChatMessage;\r\n\tincrease: boolean;\r\n}\r\n\r\ninterface UpdateMessageAction {\r\n\ttype: TypeKeys.UPDATEMESSAGE;\r\n\tmessage: ChatMessage;\r\n}\r\n\r\ninterface UpdateMessageViewedAction {\r\n\ttype: TypeKeys.UPDATEMESSAGEVIEWED;\r\n\tchatId: number;\r\n\tmessageId: number;\r\n\tviewed: boolean;\r\n}\r\n\r\ninterface UpdateChatAction {\r\n\ttype: TypeKeys.UPDATECHAT;\r\n\tchat: Chat;\r\n}\r\n\r\ninterface SelectChatAction {\r\n\ttype: TypeKeys.SELECTCHAT;\r\n\tchat: Chat;\r\n}\r\n\r\ninterface DeleteChatAction {\r\n\ttype: TypeKeys.DELETECHAT;\r\n\tchatId: number;\r\n}\r\n\r\ninterface SetChats {\r\n\ttype: TypeKeys.SETCHATS;\r\n\tchats: List;\r\n}\r\n\r\ninterface RemoveMessage {\r\n\ttype: TypeKeys.DELETEMESSAGE;\r\n\tmessage: ChatMessage;\r\n\tchatId: number;\r\n}\r\n\r\ntype KnownPageAction =\r\n\tReceiveChatsAction\r\n\t| RequestChatsAction\r\n\t| RequestChatMessagesAction\r\n\t| RecieveChatMessagesAction\r\n\t| AddChatAction\r\n\t| AddMessageAction\r\n\t| UpdateMessageAction\r\n\t| UpdateMessageViewedAction\r\n\t| UpdateChatAction\r\n\t| SelectChatAction\r\n\t| RecieveChatMoreMessagesAction\r\n\t| DeleteChatAction\r\n\t| SetChatMessagesAction\r\n\t| SetChats\r\n\t| RemoveMessage;\r\n\r\nexport interface ChatsActionCreators> {\r\n\tloadChats: (onLoad?: (data: List) => void, data?: any) => BaseAppThunkAction;\r\n\tloadMessages: (chatId: number, loadMore: boolean, count?: number) => BaseAppThunkAction;\r\n\taddChat: (chat: Chat) => void;\r\n\tremoveChat: (chatId: number) => void;\r\n\tupdateChat: (chat: Chat) => void;\r\n\taddMessage: (message: ChatMessage, increaseCounter: boolean) => void;\r\n\tupdateMessage: (message: ChatMessage) => void;\r\n\tupdateMessageViewed: (chatId: number, messageId: number, viewed: boolean) => void;\r\n\tselectChat: (chat: Chat | null) => void;\r\n\tchangeChatCounter: (chatId: number, value: number) => void;\r\n\taddUserToChat: (chatUser: ChatUser) => void;\r\n\tremoveUserFromChat: (chatUser: ChatUser) => void;\r\n\tsetMessages: (messages: List, chatId: number) => void;\r\n\tsetChats: (chats: List) => void;\r\n\tremoveMessage: (messages: List, chatId: number) => void;\r\n}\r\n\r\nconst findChat = (chats: Chat[], chatId: number): Chat | undefined => chats.find( (item: Chat) => item.id === chatId);\r\n\r\nexport function getActionCreators>() {\r\n\treturn {\r\n\t\tloadChats: (onLoad?: (data: List) => void, data?: any): BaseAppThunkAction =>\r\n\t\t\t(dispatch, getState) => {\r\n\t\t\t\tconst state = getState().chats;\r\n\r\n\t\t\t\tif (!state.chatsLoaded) {\r\n\t\t\t\t\tconst fetchTask = request, TUser, TApplicationState>(\r\n\t\t\t\t\t\t'chatList', {\r\n\t\t\t\t\t\t\t...data\r\n\t\t\t\t\t\t}, getState()\r\n\t\t\t\t\t).then((data) => {\r\n\t\t\t\t\t\tconst res = {\r\n\t\t\t\t\t\t\t...data,\r\n\t\t\t\t\t\t\titems: data.list.map(item => ({\r\n\t\t\t\t\t\t\t\t...item,\r\n\t\t\t\t\t\t\t\tunviewedMessagesCount: item.unviewedMessagesCount > 0 ? item.unviewedMessagesCount : 0\r\n\t\t\t\t\t\t\t}))\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t\tdispatch({type: TypeKeys.RECIEVECHATS, items: res});\r\n\t\t\t\t\t\tonLoad && onLoad(res as List);\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\tdispatch({type: TypeKeys.REQUESTCHATS});\r\n\r\n\t\t\t\t\taddTask(fetchTask);\r\n\r\n\t\t\t\t\treturn fetchTask;\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn Promise.resolve(null);\r\n\t\t\t},\r\n\t\tsetChats: (chats: List) => (dispatch, getState) => {\r\n\t\t\tdispatch({type: TypeKeys.SETCHATS, chats});\r\n\t\t},\r\n\t\tsetMessages: (messages: List, chatId: number) => (dispatch, getState) => {\r\n\t\t\tdispatch({type: TypeKeys.SETMESSAGES, messages, chatId});\r\n\t\t},\r\n\t\tloadMessages: (chatId: number, loadMore: boolean, count = 20): BaseAppThunkAction =>\r\n\t\t\t(dispatch, getState) => {\r\n\t\t\t\tconst state = getState(),\r\n\t\t\t\t\tmessages = state.chats.messages[chatId];\r\n\r\n\t\t\t\tif (!messages || loadMore) {\r\n\t\t\t\t\tconst fetchTask = request(\r\n\t\t\t\t\t\t'chatMessageList', {\r\n\t\t\t\t\t\t\tchatId: chatId,\r\n\t\t\t\t\t\t\tcount: count,\r\n\t\t\t\t\t\t\toffset: loadMore ? messages.offset + count : 0\r\n\t\t\t\t\t\t}, getState()\r\n\t\t\t\t\t).then((data) => {\r\n\t\t\t\t\t\tconst list = data as List;\r\n\r\n\t\t\t\t\t\tlist.list.reverse();\r\n\r\n\t\t\t\t\t\tif (loadMore) {\r\n\t\t\t\t\t\t\tdispatch({type: TypeKeys.RECIEVEMOREMESSAGES, messages: list, chatId: chatId});\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tdispatch({type: TypeKeys.RECIEVEMESSAGES, messages: list, chatId: chatId});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\r\n\t\t\t\t\tdispatch({type: TypeKeys.REQUESTMESSAGES});\r\n\r\n\t\t\t\t\taddTask(fetchTask);\r\n\r\n\t\t\t\t\treturn fetchTask;\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\taddChat: (chat: Chat) => (dispatch, getState) => {\r\n\t\t\tdispatch({type: TypeKeys.ADDCHAT, chat: chat});\r\n\t\t},\r\n\t\tchangeChatCounter: (chatId: number, value: number) => (dispatch, getState) => {\r\n\t\t\tconst state = getState();\r\n\t\t\tconst chat = findChat(state.chats.chats.list, chatId);\r\n\r\n\t\t\tif (chat) {\r\n\t\t\t\tdispatch({type: TypeKeys.UPDATECHAT, chat: {...chat, unviewedMessagesCount: chat.unviewedMessagesCount + value}});\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tupdateChat: (chat: Chat) => (dispatch, getState) => {\r\n\t\t\tdispatch({type: TypeKeys.UPDATECHAT, chat: chat});\r\n\t\t},\r\n\t\taddMessage: (message: ChatMessage, increaseCounter: boolean) => (dispatch, getState) => {\r\n\t\t\tconst state = getState();\r\n\r\n\t\t\tif (state.chats.messages[message.chatId]) {\r\n\t\t\t\tdispatch({ type: TypeKeys.ADDMESSAGE, message: message, increase: increaseCounter });\r\n\t\t\t} else {\r\n\t\t\t\tconst fetchTask = request>(\r\n\t\t\t\t\t'getChat', {\r\n\t\t\t\t\tid: message.chatId\r\n\t\t\t\t}, getState()\r\n\t\t\t\t).then((res) => {\r\n\t\t\t\t\tif (res) {\r\n\t\t\t\t\t\tdispatch({ type: TypeKeys.ADDCHAT, chat: res });\r\n\r\n\t\t\t\t\t\tres.messages.list.reverse().splice(res.messages.list.length - 1, 1);\r\n\t\t\t\t\t\tdispatch({ type: TypeKeys.RECIEVEMESSAGES, messages: res.messages, chatId: res.id });\r\n\r\n\t\t\t\t\t\tdispatch({ type: TypeKeys.ADDMESSAGE, message: message, increase: increaseCounter });\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\taddTask(fetchTask);\r\n\r\n\t\t\t\treturn fetchTask;\r\n\t\t\t}\r\n\t\t},\r\n\t\tupdateMessage: (message: ChatMessage) => (dispatch, getState) => {\r\n\t\t\tdispatch({type: TypeKeys.UPDATEMESSAGE, message: message});\r\n\t\t},\r\n\t\tupdateMessageViewed: (chatId: number, messageId: number, viewed: boolean) => (dispatch, getState) => {\r\n\t\t\tdispatch({type: TypeKeys.UPDATEMESSAGEVIEWED, chatId, messageId, viewed});\r\n\t\t},\r\n\t\tselectChat: (chat: Chat | null) => (dispatch, getState) => {\r\n\t\t\tdispatch({type: TypeKeys.SELECTCHAT, chat: chat});\r\n\t\t},\r\n\t\tremoveChat: (chatId: number) => (dispatch, getState) => {\r\n\t\t\tdispatch({type: TypeKeys.DELETECHAT, chatId: chatId});\r\n\t\t},\r\n\t\taddUserToChat: (chatUser: ChatUser) => (dispatch, getState) => {\r\n\t\t\tconst state: TApplicationState = getState();\r\n\t\t\tconst chat = findChat(state.chats.chats.list, chatUser.chatId);\r\n\r\n\t\t\tif (chat) {\r\n\t\t\t\tif (chat.contactsIds.indexOf(chatUser.userId) === -1) {\r\n\t\t\t\t\tconst newChatInfo = {\r\n\t\t\t\t\t\tcontacts: [...chat.contacts, chatUser.user],\r\n\t\t\t\t\t\tcontactsIds: [chat.contactsIds ? {...chat.contactsIds} : [], chatUser.userId]\r\n\t\t\t\t\t};\r\n\r\n\t\t\t\t\tdispatch({type: TypeKeys.UPDATECHAT, chat: {...chat, ...newChatInfo}});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t// } else if (chatUser.chat) {\r\n\t\t\t// \tdispatch({type: TypeKeys.ADDCHAT, chat: chatUser.chat});\r\n\t\t\t// }\r\n\t\t},\r\n\t\tremoveUserFromChat: (chatUser: ChatUser) => (dispatch, getState) => {\r\n\t\t\tconst state: TApplicationState = getState();\r\n\t\t\tconst chat = findChat(state.chats.chats.list, chatUser.chatId);\r\n\r\n\t\t\tif (chat) {\r\n\t\t\t\tconst newChatInfo = {\r\n\t\t\t\t\tcontacts: chat.contacts.filter((contact: BaseUserWithAvatar) => contact.id !== chatUser.userId),\r\n\t\t\t\t\tcontactsIds: chat.contactsIds.filter((id: number) => id !== chatUser.userId)\r\n\t\t\t\t};\r\n\r\n\t\t\t\tdispatch({type: TypeKeys.UPDATECHAT, chat: {...chat, ...newChatInfo}});\r\n\t\t\t}\r\n\t\t},\r\n\t\tremoveMessage: (message: ChatMessage, chatId: number) => (dispatch, getState) => {\r\n\t\t\tdispatch({type: TypeKeys.DELETEMESSAGE, chatId, message});\r\n\t\t}\r\n\t};\r\n}\r\n\r\nexport function getReducer(storageName: string = 'chats'): Reducer {\r\n\treturn (state: ChatsState = {\r\n\t\tisLoading: false,\r\n\t\tisMessagesLoading: false,\r\n\t\tisMessagesLazy: false,\r\n\t\tchats: transformArrayToList([]),\r\n\t\tmessages: {},\r\n\t\tcurrentChat: null,\r\n\t\tchatsLoaded: false,\r\n\t\tnotViewMessages: []\r\n\t}, incomingAction: Action) => {\r\n\t\tconst action = incomingAction as KnownPageAction;\r\n\r\n\t\tif (!(action.type in TypeKeys)) {\r\n\t\t\treturn state || {\r\n\t\t\t\tisLoading: false,\r\n\t\t\t\tchats: transformArrayToList([]),\r\n\t\t\t\tmessages: {}\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\tlet messages;\r\n\r\n\t\tswitch (action.type) {\r\n\t\t\tcase TypeKeys.REQUESTCHATS:\r\n\t\t\t\treturn {...state, isLoading: true};\r\n\t\t\tcase TypeKeys.REQUESTMESSAGES:\r\n\t\t\t\treturn {...state, isMessagesLoading: true};\r\n\t\t\tcase TypeKeys.ADDCHAT:\r\n\t\t\t\tif (findChat(state.chats.list, action.chat.id)) {\r\n\t\t\t\t\treturn state;\r\n\t\t\t\t}\r\n\t\t\t\tconst newChats = {...state.chats, count: state.chats.count, list: [action.chat, ...state.chats.list]};\r\n\t\t\t\treturn {...state, chats: newChats};\r\n\t\t\tcase TypeKeys.UPDATECHAT:\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\tchats: {...state.chats, list: state.chats.list.map((chat: Chat) => chat.id === action.chat.id ? action.chat : chat)},\r\n\t\t\t\t\tcurrentChat: state.currentChat && state.currentChat.id === action.chat.id ? action.chat : state.currentChat\r\n\t\t\t\t};\r\n\t\t\tcase TypeKeys.SELECTCHAT:\r\n\t\t\t\treturn {...state, currentChat: action.chat};\r\n\t\t\tcase TypeKeys.DELETECHAT:\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\tchats: {\r\n\t\t\t\t\t\t...state.chats,\r\n\t\t\t\t\t\tcount: state.chats.count - 1,\r\n\t\t\t\t\t\tlist: state.chats.list.filter((chat: Chat) => chat.id !== action.chatId)\r\n\t\t\t\t\t}\r\n\t\t\t\t};\r\n\t\t\tcase TypeKeys.RECIEVECHATS:\r\n\t\t\t\treturn {...state, isLoading: false, chats: action.items, chatsLoaded: true};\r\n\t\t\tcase TypeKeys.SETCHATS:\r\n\t\t\t\treturn {...state, isLoading: false, chats: action.chats, chatsLoaded: true};\r\n\t\t\tcase TypeKeys.RECIEVEMESSAGES:\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\tisMessagesLoading: false,\r\n\t\t\t\t\tmessages: {\r\n\t\t\t\t\t\t...state.messages,\r\n\t\t\t\t\t\t[action.chatId]: action.messages\r\n\t\t\t\t\t}\r\n\t\t\t\t};\r\n\t\t\tcase TypeKeys.RECIEVEMOREMESSAGES:\r\n\t\t\t\treturn {...state,\r\n\t\t\t\t\tisMessagesLoading: false,\r\n\t\t\t\t\tmessages: {\r\n\t\t\t\t\t\t...state.messages,\r\n\t\t\t\t\t\t[action.chatId]: {\r\n\t\t\t\t\t\t\t...state.messages[action.chatId],\r\n\t\t\t\t\t\t\tlist: [...action.messages.list, ...state.messages[action.chatId].list],\r\n\t\t\t\t\t\t\toffset: action.messages.offset\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}};\r\n\t\t\tcase TypeKeys.SETMESSAGES:\r\n\t\t\t\treturn {...state,\r\n\t\t\t\t\tisMessagesLoading: false,\r\n\t\t\t\t\tmessages: {\r\n\t\t\t\t\t\t...state.messages,\r\n\t\t\t\t\t\t[action.chatId]: {\r\n\t\t\t\t\t\t\t...state.messages[action.chatId],\r\n\t\t\t\t\t\t\tlist: [...action.messages.list],\r\n\t\t\t\t\t\t\toffset: action.messages.offset\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}};\r\n\t\t\tcase TypeKeys.ADDMESSAGE:\r\n\t\t\t\tmessages = state.messages[action.message.chatId];\r\n\r\n\t\t\t\tconst newList = [...messages.list, action.message];\r\n\r\n\t\t\t\tconst chatIndex = state.chats.list.findIndex((item: Chat) => item.id === action.message.chatId);\r\n\r\n\t\t\t\tconst chat = state.chats.list[chatIndex];\r\n\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\tchats: {\r\n\t\t\t\t\t\t...state.chats,\r\n\t\t\t\t\t\tlist: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t...chat,\r\n\t\t\t\t\t\t\t\tlastMessage: action.message,\r\n\t\t\t\t\t\t\t\tunviewedMessagesCount: chat.unviewedMessagesCount + (action.increase ? 1 : 0)\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t...state.chats.list.slice(0, chatIndex),\r\n\t\t\t\t\t\t\t...state.chats.list.slice(chatIndex + 1),\r\n\t\t\t\t\t\t]\r\n\t\t\t\t\t},\r\n\t\t\t\t\tnotViewMessages: action.increase ? state.notViewMessages.concat(action.message.id) : state.notViewMessages,\r\n\t\t\t\t\tmessages: {\r\n\t\t\t\t\t\t...state.messages,\r\n\t\t\t\t\t\t[action.message.chatId]: {...messages, list: newList, count: state.messages[action.message.chatId].count + 1}\r\n\t\t\t\t\t}\r\n\t\t\t\t};\r\n\t\t\tcase TypeKeys.UPDATEMESSAGE:\r\n\t\t\t\tmessages = state.messages[action.message.chatId];\r\n\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\tisMessagesLoading: false,\r\n\t\t\t\t\tmessages: {\r\n\t\t\t\t\t\t...state.messages,\r\n\t\t\t\t\t\t[action.message.chatId]: {\r\n\t\t\t\t\t\t\t...messages,\r\n\t\t\t\t\t\t\tlist: messages.list.map((item: ChatMessage) => {\r\n\t\t\t\t\t\t\t\tif (action.message.id === item.id) {\r\n\t\t\t\t\t\t\t\t\treturn action.message;\r\n\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\treturn item;\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t};\r\n\t\t\tcase TypeKeys.UPDATEMESSAGEVIEWED:\r\n\t\t\t\tmessages = state.messages[action.chatId];\r\n\t\t\t\tconst notViewMessages = action.viewed ? state.notViewMessages.filter(messageId => messageId !== action.messageId)\r\n\t\t\t\t\t: state.notViewMessages;\r\n\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\tisMessagesLoading: false,\r\n\t\t\t\t\tnotViewMessages,\r\n\t\t\t\t\tmessages: {\r\n\t\t\t\t\t\t...state.messages,\r\n\t\t\t\t\t\t[action.chatId]: {\r\n\t\t\t\t\t\t\t...messages,\r\n\t\t\t\t\t\t\tlist: messages.list.map((item: ChatMessage) => {\r\n\t\t\t\t\t\t\t\tif (item.id === action.messageId) {\r\n\t\t\t\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\t\t\t\t...item,\r\n\t\t\t\t\t\t\t\t\t\tviewed: action.viewed\r\n\t\t\t\t\t\t\t\t\t};\r\n\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t\treturn item;\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t};\r\n\t\t\tcase TypeKeys.DELETEMESSAGE:\r\n\t\t\t\tmessages = state.messages[action.chatId];\r\n\r\n\t\t\t\tconst deleteMessage = messages.list.find(item => item.id === action.message.id);\r\n\r\n\t\t\t\tif (!deleteMessage) {\r\n\t\t\t\t\treturn state;\r\n\t\t\t\t}\r\n\r\n\t\t\t\tconst currentChatIndex = state.chats.list.findIndex((item: Chat) => item.id === action.message.chatId);\r\n\r\n\t\t\t\tconst currentChat = state.chats.list[currentChatIndex];\r\n\r\n\t\t\t\treturn {\r\n\t\t\t\t\t...state,\r\n\t\t\t\t\tchats: {\r\n\t\t\t\t\t\t...state.chats,\r\n\t\t\t\t\t\tlist: [\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t...currentChat,\r\n\t\t\t\t\t\t\t\tlastMessage: action.message,\r\n\t\t\t\t\t\t\t\tunviewedMessagesCount: currentChat.unviewedMessagesCount + (action.message.viewed ? 0 : -1)\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\t...state.chats.list.slice(0, currentChatIndex),\r\n\t\t\t\t\t\t\t...state.chats.list.slice(currentChatIndex + 1),\r\n\t\t\t\t\t\t]\r\n\t\t\t\t\t},\r\n\t\t\t\t\tisMessagesLoading: false,\r\n\t\t\t\t\tmessages: {\r\n\t\t\t\t\t\t...state.messages,\r\n\t\t\t\t\t\t[action.chatId]: {\r\n\t\t\t\t\t\t\t...messages,\r\n\t\t\t\t\t\t\tcount: messages.count - 1,\r\n\t\t\t\t\t\t\toffset: messages.offset - 1,\r\n\t\t\t\t\t\t\tlist: messages.list.filter((item: ChatMessage) => item.id !== action.message.id)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t};\r\n\t\t}\r\n\r\n\t\treturn state;\r\n\t};\r\n}","import {Action, Reducer} from 'redux';\r\n\r\nimport {addTask} from 'domain-task';\r\n\r\nimport {AppThunkAction} from '@app/store/index';\r\nimport {request} from '@app/components/Api';\r\n\r\nexport interface PageItemState

{\r\n\tpage: P | null;\r\n\tpath: string | null;\r\n\tisLoading: boolean;\r\n}\r\n\r\nexport enum TypeKeys {\r\n\tREQUESTPAGE = 'REQUESTPAGE',\r\n\tRECIEVEPAGE = 'RECIEVEPAGE'\r\n}\r\n\r\nexport interface RequestPageAction {\r\n\ttype: TypeKeys.REQUESTPAGE;\r\n\tstorageName: string | null;\r\n\tpath: string;\r\n}\r\n\r\nexport interface ReceivePageAction {\r\n\ttype: TypeKeys.RECIEVEPAGE;\r\n\tstorageName: string | null;\r\n\tpage: any;\r\n}\r\n\r\ntype KnownPageAction = RequestPageAction | ReceivePageAction;\r\n\r\nexport const actionCreators = ({\r\n\tloadPage: (storageName: string, path: string): AppThunkAction => (dispatch, getState) => {\r\n\t\tconst storeState = (getState() as any)[storageName];\r\n\r\n\t\tif (storeState.path !== path) {\r\n\t\t\tconst fetchTask = request(\r\n\t\t\t\t'pageLoader',\r\n\t\t\t\t{path: path},\r\n\t\t\t\tgetState()\r\n\t\t\t).then(data => dispatch({type: TypeKeys.RECIEVEPAGE, storageName: storageName, page: data}));\r\n\r\n\t\t\taddTask(fetchTask);\r\n\t\t\tdispatch({type: TypeKeys.REQUESTPAGE, storageName: storageName, path: path});\r\n\t\t\t\r\n\t\t\treturn fetchTask;\r\n\t\t}\r\n\t}\r\n});\r\n\r\nexport const reducer =

(storageName: string):Reducer> => {\r\n\treturn (state: PageItemState

= {isLoading: false, page: null, path: ''}, incomingAction: Action) => {\r\n\t\tconst action = incomingAction as KnownPageAction;\r\n\t\tif (!action.storageName || action.storageName === storageName) {\r\n\t\t\tswitch (action.type) {\r\n\t\t\t\tcase TypeKeys.REQUESTPAGE:\r\n\t\t\t\t\t\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tisLoading: true,\r\n\t\t\t\t\t\tpage: state.page,\r\n\t\t\t\t\t\tpath: action.path\r\n\t\t\t\t\t};\r\n\t\t\t\tcase TypeKeys.RECIEVEPAGE:\r\n\t\t\t\t\treturn {isLoading: false, page: action.page, path: action.page.path};\r\n\t\t\t\tdefault:\r\n\t\t\t\t\tconst exhaustiveCheck: never = action;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn state;\r\n\t};\r\n};\r\n","import * as React from 'react';\r\n\r\nimport once from 'lodash/once';\r\n\r\nexport interface LoadingProviderProps {\r\n\tloader: JSX.Element;\r\n}\r\n\r\nexport interface LoadingProviderContextState {\r\n\tpageLoader: JSX.Element;\r\n}\r\n\r\nexport interface LoadingProviderContext {\r\n\tstate: LoadingProviderContextState;\r\n\tactions: {setPageLoader};\r\n}\r\n\r\nexport const createLoaderProviderContext = once(() => React.createContext({} as LoadingProviderContext));\r\n\r\nexport const useLoaderProviderContext: () => LoadingProviderContext = () => React.useContext(createLoaderProviderContext());\r\n\r\nexport const LoadingProvider: React.FC = ({children, loader}) => {\r\n\tconst ItemContext = createLoaderProviderContext();\r\n\r\n\tconst [pageLoader, setPageLoader] = React.useState(loader);\r\n\r\n\tconst value = {\r\n\t\tstate: {\r\n\t\t\tpageLoader\r\n\t\t},\r\n\t\tactions: {\r\n\t\t\tsetPageLoader: setPageLoader\r\n\t\t}\r\n\t};\r\n\r\n\treturn (\r\n\t\t\r\n\t\t\t{children}\r\n\t\t\r\n\t);\r\n};","import * as React from 'react';\r\n\r\nexport const MainLayout: React.FC<{}> = (props) => {\r\n\treturn

\r\n\t\t{props.children}\r\n\t
;\r\n};","import * as React from 'react';\r\nimport {connect} from 'react-redux';\r\n\r\nimport {bindActionCreators} from 'redux';\r\n\r\nimport {getSignalR} from '@common/react/utils/configureSignarR';\r\nimport {ChatMessage, ChatMessageAccess } from '@common/react/objects/Chat';\r\nimport {Notification} from '@common/typescript/objects/Notification';\r\nimport * as LoginState from '@common/react/store/Login';\r\nimport {BaseUser} from '@common/react/objects/BaseUser';\r\nimport {BaseApplicationState} from '@common/react/store';\r\n\r\ninterface ReduxProps {\r\n\tuser: BaseUser | null;\r\n}\r\n\r\ninterface Actions {\r\n\tloginActions: LoginState.LoginActionCreators>;\r\n}\r\n\r\ntype Props = ReduxProps & Actions;\r\n\r\nclass SignalR extends React.Component {\r\n\tcomponentDidMount() {\r\n\t\tgetSignalR().then((connection) => {\r\n\t\t\tconnection.on('handle', (notification: Notification) => {\r\n\t\t\t\tconst user = this.props.user as BaseUser;\r\n\r\n\t\t\t\tswitch (notification.objectType) {\r\n\t\t\t\t\tcase 'ChatMessage':\r\n\t\t\t\t\t\tconst chatMessage = notification.data as ChatMessage;\r\n\t\t\t\t\t\tif (user.id !== chatMessage.userId) {\r\n\t\t\t\t\t\t\tthis.props.loginActions.updateUser({unviewedMessagesCount: user.unviewedMessagesCount + 1 });\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 'ChatMessageAccess':\r\n\t\t\t\t\t\tconst chatMessageAccess = notification.data as ChatMessageAccess;\r\n\t\t\t\t\t\tif (user.id === chatMessageAccess.userId && chatMessageAccess.viewed && user.unviewedMessagesCount > 0) {\r\n\t\t\t\t\t\t\tthis.props.loginActions.updateUser({unviewedMessagesCount: user.unviewedMessagesCount - 1});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 'Init':\r\n\t\t\t\t\tcase 'UserSession':\r\n\t\t\t\t\t\tthis.props.loginActions.setUserAndSession(notification.data.user as BaseUser, notification.data.guid as string);\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 'NotificationUser':\r\n\t\t\t\t\t\tif (notification.service) {\r\n\t\t\t\t\t\t\tthis.props.loginActions.updateUser({ unviewedNotificationsCount: user.unviewedNotificationsCount - 1 });\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 'ReadAllNotification':\r\n\t\t\t\t\t\tif (notification.service) {\r\n\t\t\t\t\t\t\tthis.props.loginActions.updateUser({ unviewedNotificationsCount: 0 });\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tdefault:\r\n\t\t\t\t\t\tif (!notification.service) {\r\n\t\t\t\t\t\t\tthis.props.loginActions.updateUser({ unviewedNotificationsCount: user.unviewedNotificationsCount + 1 });\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\r\n\trender() {\r\n\t\treturn null;\r\n\t}\r\n}\r\n\r\nexport default connect>(\r\n\tstate => ({\r\n\t\tuser: state.login.user\r\n\t}),\r\n\tdispatch => ({\r\n\t\tloginActions: bindActionCreators(LoginState.getActionCreators(), dispatch)\r\n\t})\r\n)(SignalR);","import { getSignalR } from '@common/react/utils/configureSignarR';\r\n\r\nexport interface UpdateFields {\r\n\tid: number;\r\n\ttype: string;\r\n\tvalues: any;\r\n}\r\n\r\nconst notification = (args: any, handle: (notify: UpdateFields) => void, type: string, id?: number, field?: string) => {\r\n\tif (args && args.data && args.data.type === type) {\r\n\t\tif ((!id || args.data.id === id) && (!field || args.data.values[`${field}`] !== undefined)) {\r\n\t\t\thandle(args.data as UpdateFields);\r\n\t\t}\r\n\t}\r\n\r\n\treturn;\r\n};\r\n\r\nexport const subscribe = (handle: (notify: any) => void) => () => {\r\n\tgetSignalR().then(connection => connection.on('handle', handle));\r\n\r\n\treturn () => {\r\n\t\tgetSignalR().then(connection => connection.off('handle', handle));\r\n\t};\r\n};\r\n\r\nexport const subscribeOnType = (handle: (notify: UpdateFields) => void, type: string, id?: number, field?: string) => {\r\n\treturn subscribe(args => notification(args, handle, type, id, field))();\r\n};","'use strict';\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n exports.default = void 0;\n \n var _VerticalAlignBottomOutlined = _interopRequireDefault(require('./lib/icons/VerticalAlignBottomOutlined'));\n \n function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n \n var _default = _VerticalAlignBottomOutlined;\n exports.default = _default;\n module.exports = _default;","import {Action, ActionCreatorsMapObject, Reducer} from 'redux';\r\n\r\nimport {BaseAppThunkAction} from '@common/react/store';\r\n\r\nimport { SET_SEARCH_STATE } from '@app/store/constants';\r\nimport {User} from '@app/objects/User';\r\nimport { ApplicationState } from '@app/store/index';\r\n\r\nexport interface HeaderState {\r\n\tdoctorId?: number;\r\n\tglobalProcedureId?: number;\r\n\tspecialtyId?: number;\r\n\tglobalPayerId?: number;\r\n\ttext?: string;\r\n\tlocationId?: number;\r\n\tlanguageIds?: number[];\r\n\tfrom?: number | null;\r\n\tglobalProcedureIds?: number[];\r\n\tspecialtyIds?: number[];\r\n\tcertificateIds?: number[];\r\n\tgender?: number;\r\n}\r\n\r\ninterface SetAction extends Action {\r\n\tpayload: HeaderState;\r\n}\r\n\r\nexport interface HeaderActionCreators extends ActionCreatorsMapObject {\r\n\tsetState: (state: HeaderState) => BaseAppThunkAction;\r\n}\r\n\r\nexport const actionCreators: HeaderActionCreators = {\r\n\tsetState: (state: HeaderState) => (dispatch) => {\r\n\t\tdispatch({\r\n\t\t\ttype: SET_SEARCH_STATE,\r\n\t\t\tpayload: { ...state},\r\n\t\t});\r\n\t}\r\n};\r\n\r\nconst initialState = {};\r\n\r\nexport const reducer: Reducer = (state: HeaderState = initialState, action: Action) => {\r\n\tswitch (action.type) {\r\n\t\tcase SET_SEARCH_STATE:\r\n\t\t\treturn { ...(action as SetAction).payload };\r\n\t}\r\n\t\r\n\treturn state;\r\n};\r\n","export const SET_PATIENT_LOCATION = 'SET_PATIENT_LOCATION';\r\nexport const SET_SEARCH_STATE = 'SET_SEARCH_STATE';","import * as React from 'react';\r\n\r\nimport { ChatMessageType } from '@common/react/objects/Chat';\r\nimport { getChatMessageMarkup, transformMentionMessage } from '@common/react/components/Chat/ChatUtils';\r\nimport { imageExtensions } from '@common/react/components/Chat/Chats';\r\n\r\nexport const ChatLastMessageTypeDictionary = {\r\n\t[ChatMessageType.Regular]: ({message, chat, userId}) => {\r\n\t\tconst currentUser = message.userId === userId ? 'You: ' : '';\r\n\t\tif (message.text) {\r\n\t\t\treturn ;\r\n\t\t}\r\n\r\n\t\tconst fileCount = message.files.length;\r\n\t\tconst images = message.files.filter(f => imageExtensions.includes(f.file.extension?.toLowerCase()));\r\n\r\n\t\tif (images.length) {\r\n\t\t\treturn
\r\n\t\t\t\t{currentUser}\r\n\t\t\t\t{images.map(image => )}\r\n\t\t\t
;\r\n\t\t}\r\n\r\n\t\treturn
\r\n\t\t\t{currentUser}\r\n\t\t\t\r\n\t\t\t{fileCount ? fileCount === 1 ? 'sent a file' : 'sent files' : ''}\r\n\t\t
;\r\n\t},\r\n\t[ChatMessageType.Email]: ({message, userId}) =>
\r\n\t\t{message.userId === userId ? 'You: ' : ''} sent email\r\n\t
,\r\n\t[ChatMessageType.PhoneCall]: ({message}) =>
\r\n\t\t\r\n\t
,\r\n\t[ChatMessageType.VideoChat]: ({message}) =>
\r\n\t\t\r\n\t
,\r\n\t[ChatMessageType.VoiceMessage]: ({message, userId}) =>
\r\n\t\t{message.userId === userId ? 'You: ' : ''}\r\n\t\tvoice\r\n\t\tmessage\r\n\t
,\r\n\t[ChatMessageType.VideoMessage]: ({message, userId}) =>
\r\n\t\t{message.userId === userId ? 'You: ' : ''}\r\n\t\tvideo\r\n\t\tmessage\r\n\t
,\r\n\t[ChatMessageType.Email]: ({message, userId}) =>
\r\n\t\t{message.userId === userId ? 'You: ' : ''} sent email\r\n\t
\r\n};\r\n","import * as React from 'react';\r\n\r\nimport {Chat} from '@common/react/objects/Chat';\r\n\r\nimport {getAvatar} from '@common/react/components/Utils/Utils';\r\nimport {getUserName} from '@common/react/utils/utils';\r\n\r\nimport {getChatName} from '@common/react/components/Chat/ChatUtils';\r\nimport {BaseUserWithAvatar} from '@common/react/objects/BaseUser';\r\nimport {\r\n\tChatComponents,\r\n\tChatListComponentsDictionary,\r\n\tuseChatSettingsProviderContext\r\n} from '@common/react/components/Chat/ChatSettingsProvider';\r\nimport { ChatLastMessageTypeDictionary } from '@common/react/components/Chat/LastMessage';\r\n\r\ninterface ChatItemProps {\r\n\tchat: Chat;\r\n\tuserId: number;\r\n\tselectedChatId: number | null;\r\n\tonSelect: (chat: Chat) => void;\r\n\tgetUser?: (chat, userId) => React.ReactNode; \r\n}\r\n\r\nexport const getUserPick = (chat, userId): JSX.Element => {\r\n\tconst users = chat.contacts.filter((user: BaseUserWithAvatar) => user.id !== userId);\r\n\tif (users.length === 1) {\r\n\t\treturn
;\r\n\t} \r\n\t\r\n\treturn
\r\n\t\t{users.slice(0, 4).map((user: BaseUserWithAvatar) =>\r\n\t\t\t
)}\r\n\t
;\r\n};\r\n\r\nexport const ChatItem: React.FC = ({chat, userId, selectedChatId, onSelect, getUser = getUserPick}) => {\r\n\tconst lastMessage = chat.lastMessage;\r\n\r\n\tconst context = useChatSettingsProviderContext();\r\n\r\n\tif (!context?.state) throw 'need ChatSettingsContext';\r\n\r\n\tconst {state: {typingDelay: delay, otherComponents}} = context;\r\n\r\n\tconst withTyping = otherComponents.includes(ChatComponents.Mentions);\r\n\r\n\treturn
  • onSelect(chat)}>\r\n\t\t{getUser(chat, userId)}\r\n\t\t
    \r\n\t\t\t
    \r\n\t\t\t\t{getChatName(chat, userId)}\r\n\t\t\t
    \r\n\t\t\t{\r\n\t\t\t\tlastMessage ? ChatLastMessageTypeDictionary[lastMessage.chatMessageType]({\r\n\t\t\t\t\tmessage: lastMessage,\r\n\t\t\t\t\tchat,\r\n\t\t\t\t\tuserId\r\n\t\t\t\t}) : null\r\n\t\t\t}\r\n\t\t\t{withTyping && ChatListComponentsDictionary[ChatComponents.Typing]({chat, delay})}\r\n\t\t\t{chat.unviewedMessagesCount > 0 &&
    {chat.unviewedMessagesCount}
    }\r\n\t\t
    \r\n\t
  • ;\r\n};\r\n","import * as React from 'react';\r\nimport { shallowEqual, useSelector } from 'react-redux';\r\n\r\nimport Tag from 'antd/lib/tag';\r\nimport VerticalAlignBottomOutlined from '@ant-design/icons/VerticalAlignBottomOutlined';\r\nimport FileOutlined from '@ant-design/icons/FileOutlined';\r\n\r\nimport { memoize } from '@common/typescript/utils/memoize';\r\nimport { getAvatar } from '@common/react/components/Utils/Utils';\r\nimport { Chat, ChatMessage, ChatMessageType } from '@common/react/objects/Chat';\r\nimport * as ChatsState from '@common/react/store/Chats';\r\nimport { getUserName } from '@common/react/utils/utils';\r\nimport { BaseUserWithAvatar } from '@common/react/objects/BaseUser';\r\nimport { BaseApplicationState } from '@common/react/store';\r\nimport { dateFormat, dateTimeFormat } from '@common/typescript/Utils';\r\nimport { File } from '@common/typescript/objects/FileInterface';\r\nimport {\r\n\tdefaultTransformFiltersBeforeHandleUrl,\r\n\tItemsProvider,\r\n\tuseItemsProviderContext\r\n} from '@common/react/components/Core/ItemsProvider/ItemsProvider';\r\nimport {\r\n\tChatMessageActions,\r\n\tChatMessageActionsComponent,\r\n\tChatMessageActionsDictionary,\r\n\tChatMessageTypeDictionary,\r\n\tChatSettingsProviderContext,\r\n\tuseChatSettingsProviderContext\r\n} from '@common/react/components/Chat/ChatSettingsProvider';\r\nimport Loader from '@common/react/components/Core/LoadingProvider/Loader';\r\nimport useRequest from '@common/react/hooks/useRequest';\r\nimport { deleteConfirmation } from '@common/react/components/Modal/Modal';\r\nimport { imageExtensions } from '@common/react/components/Chat/Chats';\r\n\r\ntype ListProps = OwnProps;\r\n\r\ntype Actions = ChatsState.ChatsActionCreators>;\r\n\r\ninterface OwnProps {\r\n\tactions: Actions;\r\n\tchat: Chat;\r\n\tuser: BaseUserWithAvatar;\r\n\tcontext: ChatSettingsProviderContext;\r\n\tsetEdit: (message) => void;\r\n\teditMessage?: ChatMessage | null;\r\n\tonMentionClick?: (contact: BaseUserWithAvatar) => void;\r\n\tloader?: React.ReactElement;\r\n\tonImageClick?: (e, file: File) => void;\r\n\tgetUserAvatar?: (user) => React.ReactNode;\r\n}\r\n\r\ninterface ChatItemProps {\r\n\tmessage: ChatMessage;\r\n\twithRemoteId: boolean;\r\n\tfromUser: boolean;\r\n\twithoutBadge: boolean;\r\n\tuser: BaseUserWithAvatar;\r\n\tremove: () => void;\r\n\tupdate: (message) => void;\r\n\tedit: (message) => void;\r\n\tisEdit: boolean;\r\n\tonMouseEnter?: (message: ChatMessage) => void;\r\n\tcontacts: BaseUserWithAvatar[];\r\n\tonImageClick?: (e, file: File) => void;\r\n\tgetUserAvatar?: (user) => React.ReactNode;\r\n\tlastVideoCallId?: number;\r\n\tmessageActions?: ChatMessageActionsComponent[];\r\n}\r\n\r\nconst getMessageUser = memoize((id: number, contacts: BaseUserWithAvatar[]) => contacts.find((contact: BaseUserWithAvatar) => contact.id === id));\r\n\r\nexport const getFilesLayout = (files: File[], onClick?: (e, file: File) => void): JSX.Element | null => {\r\n\tconst filteredFiles = files.filter(f => f.file.name !== 'video_message.webm' && f.file.name !== 'voice_message.mp3');\r\n\r\n\tif (filteredFiles.length <= 0) {\r\n\t\treturn null;\r\n\t}\r\n\r\n\treturn <>\r\n\t\t
    \r\n\t\t\r\n\t;\r\n};\r\n\r\nconst ChatMessageItem: React.FC = ({message, withoutBadge, fromUser, user, onMouseEnter, contacts, onImageClick, ...rest}) => {\r\n\tconst {withRemoteId, lastVideoCallId} = rest;\r\n\r\n\tconst className = `chat-message-list-component__item ${\r\n\t\tfromUser ? 'chat-message-list-component__item_you' : ''} ${\r\n\t\twithoutBadge ? 'chat-message-list-component__item_withoutBadge' : ''} ${\r\n\t\tmessage.viewed ? '' : 'chat-message-list-component__item_unviewed'} ${\r\n\t\trest.isEdit ? 'chat-message-list-component__item_edit' : ''\r\n\t}`;\r\n\r\n\tconst {getUserAvatar = user => } = rest;\r\n\r\n\treturn (message.chatMessageType !== ChatMessageType.Email || withRemoteId) ?\r\n\t\t
  • onMouseEnter(message) : undefined}>\r\n\t\t\t
    \r\n\t\t\t{!withoutBadge && user &&\r\n\t\t\t\t\r\n\t\t\t\t\t{getUserAvatar(user)}\r\n\t\t\t\t\t
    {getUserName(user)}
    \r\n\t\t\t\t
    \r\n\t\t\t}\r\n\t\t\t{!withoutBadge && !user && withRemoteId\r\n\t\t\t\t&&
    {user ? getUserName(user) : 'DELETED'}
    }\r\n\t\t\t{dateFormat(message.time)} {dateTimeFormat(message.time)}
    \r\n\t\t\t\t{ChatMessageTypeDictionary[message.chatMessageType]({\r\n\t\t\t\t\tmessage,\r\n\t\t\t\t\tcontacts,\r\n\t\t\t\t\tonImageClick,\r\n\t\t\t\t\twithRemoteId,\r\n\t\t\t\t\tonMouseEnter,\r\n\t\t\t\t\tlastVideoCallId\r\n\t\t\t\t})}\r\n\t\t\t
  • \r\n\t\t\t{\r\n\t\t\t\trest.messageActions?.length ?\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t{rest.messageActions.map((action) => {\r\n\t\t\t\t\t\tconst props = {\r\n\t\t\t\t\t\t\tmessage,\r\n\t\t\t\t\t\t\tedit: rest.edit,\r\n\t\t\t\t\t\t\tisEdit: rest.isEdit,\r\n\t\t\t\t\t\t\tremove: rest.remove,\r\n\t\t\t\t\t\t\tupdate: rest.update,\r\n\t\t\t\t\t\t\tfromUser\r\n\t\t\t\t\t\t};\r\n\r\n\t\t\t\t\t\tif (typeof action === 'function') {\r\n\t\t\t\t\t\t\treturn action(props);\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tif (action !== ChatMessageActions.Remove && message.chatMessageType !== ChatMessageType.Regular) {\r\n\t\t\t\t\t\t\treturn null;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (action === ChatMessageActions.Remove && [ChatMessageType.VoiceMessage, ChatMessageType.VideoMessage].includes(message.chatMessageType)) {\r\n\t\t\t\t\t\t\treturn ChatMessageActionsDictionary[action](props);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn ChatMessageActionsDictionary[action](props);\r\n\t\t\t\t\t})}\r\n\t\t\t\t
    \r\n\t\t\t\t\t: null\r\n\t\t\t}\r\n\t\t : null;\r\n};\r\n\r\nexport const ScrollTo: React.FC<{refreshId: number | string | null}> = ({refreshId}) => {\r\n\tconst ref = React.useRef(null);\r\n\r\n\tReact.useEffect(() => {\r\n\t\tconst scrollContainer = ref.current;\r\n\r\n\t\tif (scrollContainer) {\r\n\t\t\tscrollContainer.scrollIntoView();\r\n\t\t}\r\n\t}, [refreshId]);\r\n\r\n\treturn
    ;\r\n};\r\n\r\nconst ChatMessageList: React.FC = (props) => {\r\n\tconst {user, chat, loader, onMentionClick, actions, onImageClick, getUserAvatar, context: chatSettingsContext} = props;\r\n\tconst {setEdit, editMessage} = props;\r\n\tconst request = useRequest();\r\n\r\n\tconst lastScroll = React.useRef(0);\r\n\r\n\tconst [scrollId, setScrollId] = React.useState(null);\r\n\r\n\tconst context = useItemsProviderContext();\r\n\tconst {state: {items, pagination, loading, filters}, actions: {load, loadMore}} = context;\r\n\r\n\tconst {state: {requests, withRemoteId, chatStoreSettings: {getMessages}, messageActions}} = chatSettingsContext;\r\n\r\n\tconst messages = useSelector((state: BaseApplicationState) => {\r\n\t\treturn getMessages(chat.id)(state);\r\n\t}, shallowEqual);\r\n\r\n\tReact.useEffect(() => {\r\n\t\tif ((filters.chatId !== chat.id || props.initLoad) && !messages) {\r\n\t\t\tconst otherChat = chat.contacts.every(contact => (contact as any).remoteId !== user.id);\r\n\t\t\tconst userId = otherChat ? (chat.contacts as any).find(contact => contact.remoteId && contact.remoteId > 0)?.remoteId : undefined;\r\n\r\n\t\t\tload({chatId: chat.id, userId: withRemoteId ? userId || 0 : undefined}, false, false, false, true)\r\n\t\t\t\t.then((res) => {\r\n\t\t\t\t\tres.list.length > 0 && setScrollId(res.list[0].id);\r\n\t\t\t\t});\r\n\t\t} else {\r\n\t\t\titems.length > 0 && setScrollId(items[items.length - 1].id);\r\n\t\t}\r\n\t}, [chat.id]);\r\n\r\n\tReact.useEffect(() => {\r\n\t\tif (items.length > 0 && items[items.length - 1].id) {\r\n\t\t\tsetScrollId(items[items.length - 1].id);\r\n\t\t}\r\n\t}, [items]);\r\n\r\n\tconst clickHandler = (e) => {\r\n\t\tif (e.target && e.target.nodeName === 'A' && e.target.className === 'chat-component__mention' && e.target.dataset.id) {\r\n\t\t\tconst contact = chat.contacts.find(item => item.id === +e.target.dataset.id);\r\n\t\t\tcontact && onMentionClick && onMentionClick(contact);\r\n\t\t}\r\n\t};\r\n\r\n\tconst setViewed = (message: ChatMessage) => {\r\n\t\trequest(requests.chatMessageAccess, {\r\n\t\t\tviewed: true,\r\n\t\t\tmessage: message.id\r\n\t\t});\r\n\t};\r\n\r\n\tconst onScroll = (event) => {\r\n\t\tconst scrollTop = (event.target as HTMLUListElement).scrollTop;\r\n\t\tif (items.length < pagination.total && !loading && scrollTop < 100 && lastScroll.current - scrollTop > 0) {\r\n\t\t\tconst otherChat = chat.contacts.every((contact: any) => contact.remoteId !== user.id);\r\n\t\t\tconst userId = otherChat ? (chat.contacts as any).find(contact => contact.remoteId && contact.remoteId > 0)?.remoteId : undefined;\r\n\r\n\t\t\tloadMore({chatId: chat.id, userId: withRemoteId ? userId || 0 : undefined}, true);\r\n\t\t}\r\n\r\n\t\tlastScroll.current = scrollTop;\r\n\t};\r\n\r\n\tconst self = withRemoteId ? chat.contacts.find(contact => (contact as any).remoteId === user.id) : user;\r\n\tconst contacts = chat.contacts.filter(contact => withRemoteId ? (contact as any).remoteId !== user.id : contact.id !== user.id);\r\n\tconst lastVideoCallId = React.useMemo(() => {\r\n\t\treturn items.length > 0 ? [...items]\r\n\t\t\t.reverse()\r\n\t\t\t.find(item => item.chatMessageType === ChatMessageType.VideoChat)?.id : undefined;\r\n\t}, [items]);\r\n\r\n\tconst update = (message, params) => {\r\n\t\trequests.updateMessage && request(requests.updateMessage, {\r\n\t\t\tid: message.id,\r\n\t\t\t...params\r\n\t\t})\r\n\t\t\t.then(() => {\r\n\t\t\t\tactions.updateMessage({ id:message.id, chatId: message.chatId, ...params});\r\n\t\t\t});\r\n\t};\r\n\r\n\tconst remove = (message) => {\r\n\t\tif (messages && requests.removeMessage) {\r\n\t\t\treturn request(requests.removeMessage, {\r\n\t\t\t\tid: message.id,\r\n\t\t\t\tdeleted: true\r\n\t\t\t})\r\n\t\t\t\t.then(() => {\r\n\t\t\t\t\tactions.removeMessage(message, message.chatId);\r\n\t\t\t\t});\r\n\t\t}\r\n\t};\r\n\r\n\tconst handleRemove = (message) => {\r\n\t\tif (chatSettingsContext.state.removeMessageConfirmation) {\r\n\t\t\tdeleteConfirmation(\r\n\t\t\t\t() => remove(message),\r\n\t\t\t\t'This message will be permanently deleted and cannot be recovered. Are you sure?'\r\n\t\t\t);\r\n\t\t} else {\r\n\t\t\tremove(message);\r\n\t\t}\r\n\t};\r\n\r\n\treturn
    \r\n\t\t{(items && items.length === 0 && loading)\r\n\t\t\t?
    \r\n\t\t\t:
      \r\n\t\t\t\t{items.map((item, index) => {\r\n\t\t\t\t\tconst withoutBadge: boolean = index > 0 && item.userId === items[index - 1].userId;\r\n\t\t\t\t\tconst messageUser = item.userId === user.id ? user : getMessageUser(item.userId, contacts);\r\n\r\n\t\t\t\t\treturn handleRemove(item)}\r\n\t\t\t\t\t\tupdate={message => update(item, message)}\r\n\t\t\t\t\t/>;\r\n\t\t\t\t})}\r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t}\r\n\t
    ;\r\n};\r\n\r\nconst ChatMessageListWrapper: React.FC> = (props) => {\r\n\tconst context = useChatSettingsProviderContext();\r\n\r\n\tif (!context?.state) throw 'need ChatSettingsContext';\r\n\r\n\tconst {state: {requests, chatStoreSettings: {getMessages}}} = context;\r\n\r\n\tconst messages = useSelector(getMessages(props.chat.id), shallowEqual);\r\n\r\n\treturn ({\r\n\t\t\t...defaultTransformFiltersBeforeHandleUrl(filters),\r\n\t\t\tcount: undefined\r\n\t\t})}\r\n\t\tpagination={{total: messages?.count, page: 1, pageSize: 20, pageSizeOptions: [10, 20, 50] }}\r\n\t\tfilters={{chatId: props.chat.id}}\r\n\t\tonItemsChange={(items, filters) => props.actions.setMessages({\r\n\t\t\tlist: items,\r\n\t\t\toffset: items.length - (filters?.pageSize || 20),\r\n\t\t\texecution: 0,\r\n\t\t\tcount: items.length\r\n\t\t}, filters.chatId)}\r\n\t>\r\n\t\t\r\n\t;\r\n};\r\n\r\nexport default ChatMessageListWrapper;\r\n","export const memoize = (fn) => {\r\n\tconst cache = {};\r\n\treturn (...args) => {\r\n\t\tconst n = args[0];\r\n\t\tif (n in cache) {\r\n\t\t\treturn cache[n];\r\n\t\t} \r\n\t\t\r\n\t\tconst result = fn.apply(null, args);\r\n\t\tcache[n] = result;\r\n\t\treturn result;\r\n\t};\r\n};","import React, { useState, useEffect } from 'react';\n\nvar GA4ReactGlobalIndex = '__ga4React__';\n/**\r\n * @desc class required to manage google analitycs 4\r\n * @class GA4React\r\n * */\n\nclass GA4React {\n constructor(gaCode, gaConfig, additionalGaCode, timeout, options) {\n this.gaCode = gaCode;\n this.gaConfig = gaConfig;\n this.additionalGaCode = additionalGaCode;\n this.timeout = timeout;\n this.options = options;\n this.scriptSyncId = 'ga4ReactScriptSync';\n this.scriptAsyncId = 'ga4ReactScriptAsync';\n this.nonceAsync = '';\n this.nonceSync = '';\n this.gaConfig = gaConfig ? gaConfig : {};\n this.gaCode = gaCode;\n this.timeout = timeout || 5000;\n this.additionalGaCode = additionalGaCode;\n this.options = options;\n\n if (this.options) {\n var {\n nonce\n } = this.options;\n this.nonceAsync = nonce && nonce[0] ? nonce[0] : '';\n this.nonceSync = nonce && nonce[1] ? nonce[1] : '';\n }\n }\n /**\r\n * @desc output on resolve initialization\r\n */\n\n\n outputOnResolve() {\n return {\n pageview: this.pageview,\n event: this.event,\n gtag: this.gtag\n };\n }\n /**\r\n * @desc Return main function for send ga4 events, pageview etc\r\n * @returns {Promise}\r\n */\n\n\n initialize() {\n return new Promise((resolve, reject) => {\n if (GA4React.isInitialized()) {\n reject(new Error('GA4React is being initialized'));\n } // in case of retry logics, remove previous scripts\n\n\n var previousScriptAsync = document.getElementById(this.scriptAsyncId);\n\n if (previousScriptAsync) {\n previousScriptAsync.remove();\n }\n\n var head = document.getElementsByTagName('head')[0];\n var scriptAsync = document.createElement('script');\n scriptAsync.setAttribute('id', this.scriptAsyncId);\n scriptAsync.setAttribute('async', '');\n\n if (this.nonceAsync && typeof this.nonceAsync === 'string' && this.nonceAsync.length > 0) {\n scriptAsync.setAttribute('nonce', this.nonceAsync);\n }\n\n scriptAsync.setAttribute('src', \"https://www.googletagmanager.com/gtag/js?id=\" + this.gaCode);\n\n scriptAsync.onload = () => {\n var target = document.getElementById(this.scriptSyncId);\n\n if (target) {\n target.remove();\n } // in case of retry logics, remove previous script sync\n\n\n var previousScriptSync = document.getElementById(this.scriptSyncId);\n\n if (previousScriptSync) {\n previousScriptSync.remove();\n }\n\n var scriptSync = document.createElement('script');\n scriptSync.setAttribute('id', this.scriptSyncId);\n\n if (this.nonceSync && typeof this.nonceSync === 'string' && this.nonceSync.length > 0) {\n scriptSync.setAttribute('nonce', this.nonceSync);\n }\n\n var scriptHTML = \"window.dataLayer = window.dataLayer || [];\\n function gtag(){dataLayer.push(arguments);};\\n gtag('js', new Date());\\n gtag('config', '\" + this.gaCode + \"', \" + JSON.stringify(this.gaConfig) + \");\";\n\n if (this.additionalGaCode) {\n this.additionalGaCode.forEach(code => {\n scriptHTML += \"\\ngtag('config', '\" + code + \"', \" + JSON.stringify(this.gaConfig) + \");\";\n });\n }\n\n scriptSync.innerHTML = scriptHTML;\n head.appendChild(scriptSync);\n var resolved = this.outputOnResolve();\n Object.assign(window, {\n [GA4ReactGlobalIndex]: resolved\n });\n resolve(resolved);\n };\n\n scriptAsync.onerror = event => {\n if (typeof event === 'string') {\n reject(\"GA4React intialization failed \" + event);\n } else {\n var error = new Error();\n error.name = 'GA4React intialization failed';\n error.message = JSON.stringify(event, ['message', 'arguments', 'type', 'name']);\n reject(error);\n }\n };\n\n var onChangeReadyState = () => {\n switch (document.readyState) {\n case 'interactive':\n case 'complete':\n if (!GA4React.isInitialized()) {\n head.appendChild(scriptAsync);\n document.removeEventListener('readystatechange', onChangeReadyState);\n }\n\n break;\n }\n };\n\n if (document.readyState !== 'complete') {\n document.addEventListener('readystatechange', onChangeReadyState);\n } else {\n onChangeReadyState();\n }\n\n setTimeout(() => {\n reject(new Error('GA4React Timeout'));\n }, this.timeout);\n });\n }\n /**\r\n * @desc send pageview event to gtag\r\n * @param path\r\n */\n\n\n pageview(path, location, title) {\n return this.gtag('event', 'page_view', {\n page_path: path,\n page_location: location || window.location,\n page_title: title || document.title\n });\n }\n /**\r\n * @desc set event and send to gtag\r\n * @param action\r\n * @param label\r\n * @param category\r\n * @param nonInteraction\r\n */\n\n\n event(action, label, category, nonInteraction) {\n if (nonInteraction === void 0) {\n nonInteraction = false;\n }\n\n return this.gtag('event', action, {\n event_label: label,\n event_category: category,\n non_interaction: nonInteraction\n });\n }\n /**\r\n * @desc direct access to gtag\r\n * @param args\r\n */\n\n\n gtag() {\n //@ts-ignore\n return window.gtag(...arguments);\n }\n /**\r\n * @desc ga is initialized?\r\n */\n\n\n static isInitialized() {\n switch (typeof window[GA4ReactGlobalIndex] !== 'undefined') {\n case true:\n return true;\n\n default:\n return false;\n }\n }\n /**\r\n * @desc get ga4react from global\r\n */\n\n\n static getGA4React() {\n if (GA4React.isInitialized()) {\n return window[GA4ReactGlobalIndex];\n } else {\n console.error(new Error('GA4React is not initialized'));\n }\n }\n\n}\n\nvar outputGA4 = (children, setComponents, ga4) => {\n setComponents(React.Children.map(children, (child, index) => {\n if (!React.isValidElement(child)) {\n return React.createElement(React.Fragment, null, child);\n } //@ts-ignore\n\n\n if (child.type && typeof child.type.name !== 'undefined') {\n return React.cloneElement(child, {\n //@ts-ignore\n ga4: ga4,\n index\n });\n } else {\n return child;\n }\n }));\n};\n\nvar GA4R = (_ref) => {\n var {\n code,\n timeout,\n config,\n additionalCode,\n children,\n options\n } = _ref;\n var [components, setComponents] = useState(null);\n useEffect(() => {\n if (!GA4React.isInitialized()) {\n var ga4manager = new GA4React(\"\" + code, config, additionalCode, timeout, options);\n ga4manager.initialize().then(ga4 => {\n outputGA4(children, setComponents, ga4);\n }, err => {\n console.error(err);\n });\n } else {\n var ga4 = GA4React.getGA4React();\n\n if (ga4) {\n outputGA4(children, setComponents, ga4);\n }\n }\n }, []);\n return React.createElement(React.Fragment, null, components);\n};\n\nvar useGA4React = (gaCode, gaConfig, gaAdditionalCode, gaTimeout, options) => {\n var [ga4, setGA4] = useState(undefined);\n useEffect(() => {\n if (gaCode) {\n switch (GA4React.isInitialized()) {\n case false:\n var ga4react = new GA4React(\"\" + gaCode, gaConfig, gaAdditionalCode, gaTimeout, options);\n ga4react.initialize().then(ga4 => {\n setGA4(ga4);\n }, err => {\n console.error(err);\n });\n break;\n\n case true:\n setGA4(GA4React.getGA4React());\n break;\n }\n } else {\n setGA4(GA4React.getGA4React());\n }\n }, [gaCode]);\n return ga4;\n};\n\nfunction withTracker(MyComponent) {\n return props => {\n var {\n path,\n location,\n title,\n gaCode,\n gaTimeout,\n gaConfig,\n gaAdditionalCode,\n options\n } = props;\n useEffect(() => {\n switch (GA4React.isInitialized()) {\n case true:\n var ga4 = GA4React.getGA4React();\n\n if (ga4) {\n ga4.pageview(path, location, title);\n }\n\n break;\n\n default:\n case false:\n var ga4react = new GA4React(\"\" + gaCode, gaConfig, gaAdditionalCode, gaTimeout, options);\n ga4react.initialize().then(ga4 => {\n ga4.pageview(path, location, title);\n }, err => {\n console.error(err);\n });\n break;\n }\n });\n return React.createElement(MyComponent, Object.assign({}, props));\n };\n}\n\nexport default GA4React;\nexport { GA4R, GA4React, useGA4React, withTracker };\n//# sourceMappingURL=ga-4-react.esm.js.map\n","import React from 'react';\r\n\r\nimport { withRouter } from 'react-router-dom';\r\nimport { RouteComponentProps } from 'react-router';\r\n\r\nimport GA4React from 'ga-4-react';\r\n\r\ninterface RouteChangeTrackerProps {\r\n\tid: string;\r\n}\r\n\r\nconst RouteChangeTracker: React.FC> = ({ id, history, children }) => {\r\n\tReact.useEffect(() => {\r\n\t\tif (process.env.NODE_ENV === 'production') {\r\n\t\t\tconst ga4react = new GA4React(id);\r\n\r\n\t\t\tga4react.initialize().then((ga4) => {\r\n\t\t\t\tga4.pageview(window.location.pathname + window.location.search);\r\n\r\n\t\t\t\thistory.listen((location, action) => {\r\n\t\t\t\t\tif (GA4React.isInitialized()) {\r\n\t\t\t\t\t\tga4react.pageview(location.pathname + location.search);\r\n\t\t\t\t\t\tga4react.gtag('set', 'page', location.pathname);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}, console.error);\r\n\t\t}\r\n\t}, []);\r\n\r\n\treturn <>{children};\r\n};\r\n\r\nexport default withRouter(RouteChangeTracker);\r\n","import { __assign, __read, __spread } from \"tslib\";\nimport { getGlobalObject, isPlainObject, isThenable, SyncPromise, timestampWithMs } from '@sentry/utils';\n/**\n * Holds additional event information. {@link Scope.applyToEvent} will be\n * called by the client before an event will be sent.\n */\nvar Scope = /** @class */ (function () {\n function Scope() {\n /** Flag if notifiying is happening. */\n this._notifyingListeners = false;\n /** Callback for client to receive scope changes. */\n this._scopeListeners = [];\n /** Callback list that will be called after {@link applyToEvent}. */\n this._eventProcessors = [];\n /** Array of breadcrumbs. */\n this._breadcrumbs = [];\n /** User */\n this._user = {};\n /** Tags */\n this._tags = {};\n /** Extra */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this._extra = {};\n /** Contexts */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n this._contexts = {};\n }\n /**\n * Inherit values from the parent scope.\n * @param scope to clone.\n */\n Scope.clone = function (scope) {\n var newScope = new Scope();\n if (scope) {\n newScope._breadcrumbs = __spread(scope._breadcrumbs);\n newScope._tags = __assign({}, scope._tags);\n newScope._extra = __assign({}, scope._extra);\n newScope._contexts = __assign({}, scope._contexts);\n newScope._user = scope._user;\n newScope._level = scope._level;\n newScope._span = scope._span;\n newScope._transactionName = scope._transactionName;\n newScope._fingerprint = scope._fingerprint;\n newScope._eventProcessors = __spread(scope._eventProcessors);\n }\n return newScope;\n };\n /**\n * Add internal on change listener. Used for sub SDKs that need to store the scope.\n * @hidden\n */\n Scope.prototype.addScopeListener = function (callback) {\n this._scopeListeners.push(callback);\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.addEventProcessor = function (callback) {\n this._eventProcessors.push(callback);\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setUser = function (user) {\n this._user = user || {};\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setTags = function (tags) {\n this._tags = __assign(__assign({}, this._tags), tags);\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setTag = function (key, value) {\n var _a;\n this._tags = __assign(__assign({}, this._tags), (_a = {}, _a[key] = value, _a));\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setExtras = function (extras) {\n this._extra = __assign(__assign({}, this._extra), extras);\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setExtra = function (key, extra) {\n var _a;\n this._extra = __assign(__assign({}, this._extra), (_a = {}, _a[key] = extra, _a));\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setFingerprint = function (fingerprint) {\n this._fingerprint = fingerprint;\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setLevel = function (level) {\n this._level = level;\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setTransactionName = function (name) {\n this._transactionName = name;\n this._notifyScopeListeners();\n return this;\n };\n /**\n * Can be removed in major version.\n * @deprecated in favor of {@link this.setTransactionName}\n */\n Scope.prototype.setTransaction = function (name) {\n return this.setTransactionName(name);\n };\n /**\n * @inheritDoc\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n Scope.prototype.setContext = function (key, context) {\n var _a;\n this._contexts = __assign(__assign({}, this._contexts), (_a = {}, _a[key] = context, _a));\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.setSpan = function (span) {\n this._span = span;\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.getSpan = function () {\n return this._span;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.getTransaction = function () {\n var span = this.getSpan();\n if (span && span.spanRecorder && span.spanRecorder.spans[0]) {\n return span.spanRecorder.spans[0];\n }\n return undefined;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.update = function (captureContext) {\n if (!captureContext) {\n return this;\n }\n if (typeof captureContext === 'function') {\n var updatedScope = captureContext(this);\n return updatedScope instanceof Scope ? updatedScope : this;\n }\n if (captureContext instanceof Scope) {\n this._tags = __assign(__assign({}, this._tags), captureContext._tags);\n this._extra = __assign(__assign({}, this._extra), captureContext._extra);\n this._contexts = __assign(__assign({}, this._contexts), captureContext._contexts);\n if (captureContext._user) {\n this._user = captureContext._user;\n }\n if (captureContext._level) {\n this._level = captureContext._level;\n }\n if (captureContext._fingerprint) {\n this._fingerprint = captureContext._fingerprint;\n }\n }\n else if (isPlainObject(captureContext)) {\n // eslint-disable-next-line no-param-reassign\n captureContext = captureContext;\n this._tags = __assign(__assign({}, this._tags), captureContext.tags);\n this._extra = __assign(__assign({}, this._extra), captureContext.extra);\n this._contexts = __assign(__assign({}, this._contexts), captureContext.contexts);\n if (captureContext.user) {\n this._user = captureContext.user;\n }\n if (captureContext.level) {\n this._level = captureContext.level;\n }\n if (captureContext.fingerprint) {\n this._fingerprint = captureContext.fingerprint;\n }\n }\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.clear = function () {\n this._breadcrumbs = [];\n this._tags = {};\n this._extra = {};\n this._user = {};\n this._contexts = {};\n this._level = undefined;\n this._transactionName = undefined;\n this._fingerprint = undefined;\n this._span = undefined;\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.addBreadcrumb = function (breadcrumb, maxBreadcrumbs) {\n var mergedBreadcrumb = __assign({ timestamp: timestampWithMs() }, breadcrumb);\n this._breadcrumbs =\n maxBreadcrumbs !== undefined && maxBreadcrumbs >= 0\n ? __spread(this._breadcrumbs, [mergedBreadcrumb]).slice(-maxBreadcrumbs)\n : __spread(this._breadcrumbs, [mergedBreadcrumb]);\n this._notifyScopeListeners();\n return this;\n };\n /**\n * @inheritDoc\n */\n Scope.prototype.clearBreadcrumbs = function () {\n this._breadcrumbs = [];\n this._notifyScopeListeners();\n return this;\n };\n /**\n * Applies the current context and fingerprint to the event.\n * Note that breadcrumbs will be added by the client.\n * Also if the event has already breadcrumbs on it, we do not merge them.\n * @param event Event\n * @param hint May contain additional informartion about the original exception.\n * @hidden\n */\n Scope.prototype.applyToEvent = function (event, hint) {\n if (this._extra && Object.keys(this._extra).length) {\n event.extra = __assign(__assign({}, this._extra), event.extra);\n }\n if (this._tags && Object.keys(this._tags).length) {\n event.tags = __assign(__assign({}, this._tags), event.tags);\n }\n if (this._user && Object.keys(this._user).length) {\n event.user = __assign(__assign({}, this._user), event.user);\n }\n if (this._contexts && Object.keys(this._contexts).length) {\n event.contexts = __assign(__assign({}, this._contexts), event.contexts);\n }\n if (this._level) {\n event.level = this._level;\n }\n if (this._transactionName) {\n event.transaction = this._transactionName;\n }\n // We want to set the trace context for normal events only if there isn't already\n // a trace context on the event. There is a product feature in place where we link\n // errors with transaction and it relys on that.\n if (this._span) {\n event.contexts = __assign({ trace: this._span.getTraceContext() }, event.contexts);\n }\n this._applyFingerprint(event);\n event.breadcrumbs = __spread((event.breadcrumbs || []), this._breadcrumbs);\n event.breadcrumbs = event.breadcrumbs.length > 0 ? event.breadcrumbs : undefined;\n return this._notifyEventProcessors(__spread(getGlobalEventProcessors(), this._eventProcessors), event, hint);\n };\n /**\n * This will be called after {@link applyToEvent} is finished.\n */\n Scope.prototype._notifyEventProcessors = function (processors, event, hint, index) {\n var _this = this;\n if (index === void 0) { index = 0; }\n return new SyncPromise(function (resolve, reject) {\n var processor = processors[index];\n if (event === null || typeof processor !== 'function') {\n resolve(event);\n }\n else {\n var result = processor(__assign({}, event), hint);\n if (isThenable(result)) {\n result\n .then(function (final) { return _this._notifyEventProcessors(processors, final, hint, index + 1).then(resolve); })\n .then(null, reject);\n }\n else {\n _this._notifyEventProcessors(processors, result, hint, index + 1)\n .then(resolve)\n .then(null, reject);\n }\n }\n });\n };\n /**\n * This will be called on every set call.\n */\n Scope.prototype._notifyScopeListeners = function () {\n var _this = this;\n if (!this._notifyingListeners) {\n this._notifyingListeners = true;\n setTimeout(function () {\n _this._scopeListeners.forEach(function (callback) {\n callback(_this);\n });\n _this._notifyingListeners = false;\n });\n }\n };\n /**\n * Applies fingerprint from the scope to the event if there's one,\n * uses message if there's one instead or get rid of empty fingerprint\n */\n Scope.prototype._applyFingerprint = function (event) {\n // Make sure it's an array first and we actually have something in place\n event.fingerprint = event.fingerprint\n ? Array.isArray(event.fingerprint)\n ? event.fingerprint\n : [event.fingerprint]\n : [];\n // If we have something on the scope, then merge it with event\n if (this._fingerprint) {\n event.fingerprint = event.fingerprint.concat(this._fingerprint);\n }\n // If we have no data at all, remove empty array default\n if (event.fingerprint && !event.fingerprint.length) {\n delete event.fingerprint;\n }\n };\n return Scope;\n}());\nexport { Scope };\n/**\n * Retruns the global event processors.\n */\nfunction getGlobalEventProcessors() {\n var global = getGlobalObject();\n global.__SENTRY__ = global.__SENTRY__ || {};\n global.__SENTRY__.globalEventProcessors = global.__SENTRY__.globalEventProcessors || [];\n return global.__SENTRY__.globalEventProcessors;\n}\n/**\n * Add a EventProcessor to be kept globally.\n * @param callback EventProcessor to add\n */\nexport function addGlobalEventProcessor(callback) {\n getGlobalEventProcessors().push(callback);\n}\n//# sourceMappingURL=scope.js.map","module.exports = (__webpack_require__(3))(88);","module.exports = (__webpack_require__(3))(7);","module.exports = (__webpack_require__(3))(5);","import { parseQuery } from '@common/typescript/utils/url';\r\nimport { BaseParams } from '@common/react/objects/BaseParams';\r\n\r\nexport const urlHandleItems = (searchObj: object, key: string, step: number = 0, prefix?: string) => {\r\n\tlet res: string = '';\r\n\r\n\tif (key === `${prefix || ''}column`) {\r\n\t\tres = `${key}=[${searchObj[key].map(item => `[${item ? Object.keys(item).map(col => item[col]) : '' }]`)}]`;\r\n\t} else {\r\n\t\tres = Array.isArray(searchObj[key]) ? `${key}=[${searchObj[key]}]` : `${key}=${searchObj[key]}`;\r\n\t}\r\n\r\n\treturn res;\r\n};\r\n\r\nexport const handleUrl = (searchParams: object, location, history, page?: number, prefix?: string, pageInSearch?: boolean) => {\r\n\tconst searchObj = { ...parseQuery(location.search), ...searchParams };\r\n\r\n\tconst emptyValues = ['', 'undefined', '-1', undefined, -1];\r\n\r\n\tconst search = Object.keys(searchObj)\r\n\t\t.filter(k => emptyValues.indexOf(searchObj[k]) === -1)\r\n\t\t.map(k => urlHandleItems(searchObj, k, 0, prefix)).join('&');\r\n\r\n\thistory.replace({\r\n\t\t...history.location,\r\n\t\tsearch,\r\n\t\tpathname: `${pageInSearch ? location.pathname : location.pathname.replace(/\\/-?\\d+/, `/${page || 1}`)}`\r\n\t});\r\n};\r\n\r\nexport const getSearchParamsFromUrl = (location, prefix?: string) => {\r\n\tconst searchObj: BaseParams = parseQuery(location.search);\r\n\r\n\tfor (const key of Object.keys(searchObj)) {\r\n\t\tconst value: string = searchObj[key];\r\n\r\n\t\tif (value === '') {\r\n\t\t\tsearchObj[key] = undefined;\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\t\tif (key === `${prefix || ''}column`) {\r\n\t\t\tconst matches = value.slice(1, value.length - 1).split(/[[\\]]{1,2}/).filter(q => q.length > 3);\r\n\r\n\t\t\tif (matches && matches.length) {\r\n\t\t\t\tconst result: any[] = [];\r\n\r\n\t\t\t\tmatches.map((match) => {\r\n\t\t\t\t\tconst values = match.split(',');\r\n\r\n\t\t\t\t\tif (values && values.length === 2) {\r\n\t\t\t\t\t\tresult.push({\r\n\t\t\t\t\t\t\tcaption: values[0],\r\n\t\t\t\t\t\t\tdirection: values[1]\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\tsearchObj[key] = result;\r\n\t\t\t}\r\n\r\n\t\t\tcontinue;\r\n\t\t}\r\n\r\n\t\tif (value === 'true') {\r\n\t\t\tsearchObj[key] = true;\r\n\t\t} else if (value === 'false') {\r\n\t\t\tsearchObj[key] = false;\r\n\t\t} else if (value === 'null') {\r\n\t\t\tsearchObj[key] = null;\r\n\t\t} else if (value[0] === '[' && value[value.length - 1] === ']') {\r\n\t\t\tif (value === '[]') {\r\n\t\t\t\tsearchObj[key] = [];\r\n\t\t\t} else {\r\n\t\t\t\tsearchObj[key] = value.slice(1, value.length - 1).split(',').map(v => (+v || +v === 0) ? +v : v);\r\n\t\t\t}\r\n\t\t} else if (+value || +value === 0) {\r\n\t\t\tsearchObj[key] = +value;\r\n\t\t}\r\n\t}\r\n\r\n\treturn searchObj;\r\n};\r\n","module.exports = (__webpack_require__(3))(75);","export const isUndefined = (thing: any): thing is undefined => typeof thing === 'undefined';\r\n\r\nexport const isFunction = (thing: any): thing is Function => typeof thing === 'function';","module.exports = \"data:image/jpeg;base64,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\"","module.exports = (__webpack_require__(3))(1230);","export const removeFromArrayByIndex = (arr: any[], index: number): any[] => [...arr.slice(0, index), ...arr.slice(index + 1)];\r\n\r\nexport const removeFromArrayByParam = (arr: T[], paramName: keyof T, value: any): T[] => \r\n\tarr.filter(ot => ot[paramName] !== value);\r\n\r\nexport const insertToArray = (arr: T[], newItem: T): T[] => [newItem, ...arr];\r\n\r\nexport const insertToArrayByIndex = (arr: T[], newItem: T, index: number): T[] => [...arr.slice(0, index), newItem, ...arr.slice(index)];\r\n\r\nexport const pushToArray = (arr: T[], newItem: T): T[] => [...arr, newItem];\r\n\r\ntype updateCompare = ((item: T, values: Partial) => boolean) | keyof T;\r\n\r\nexport const updateArrayItem = (arr: T[], compare: updateCompare, values: Partial): T[] => {\r\n\tconst isEqual = typeof compare === 'function' ? compare : (item, values) => item[compare] === values[compare];\r\n\t\r\n\treturn arr.map(item => isEqual(item, values) ? {...item, ...values} : item);\r\n};\r\n","import { addTask } from 'domain-task';\r\nimport {Action, ActionCreatorsMapObject, Reducer} from 'redux';\r\n\r\nimport { request } from '@common/react/components/Api';\r\nimport {BaseApplicationState, BaseAppThunkAction} from '@common/react/store/index';\r\nimport {BaseUser} from '@common/react/objects/BaseUser';\r\nimport {equal} from '@common/typescript/Utils';\r\nimport {BaseParams} from '@common/typescript/objects/BaseParams';\r\nimport {List} from '@common/typescript/objects/List';\r\nimport {WithId} from '@common/typescript/objects/WithId';\r\nimport {updateArrayItem} from '@common/typescript/utils/immutability';\r\n\r\nexport interface ItemsState {\r\n\tisLoading: boolean;\r\n\titems: T[];\r\n\tpagination: {\r\n\t\ttotal: number;\r\n\t\tcurrent: number;\r\n\t\toffset: number;\r\n\t\tpageSize?: number;\r\n\t};\r\n\ttype: string;\r\n\tparams: BaseParams;\r\n}\r\n\r\nexport enum TypeKeys {\r\n\tREQUESTITEMS = 'REQUESTITEMS',\r\n\tRECEIVEITEMS = 'RECEIVEITEMS',\r\n\tREQUESTMOREITEMS = 'REQUESTMOREITEMS',\r\n\tRECEIVEMOREITEMS = 'RECEIVEMOREITEMS',\r\n\tUPDATEITEM = 'UPDATEITEM',\r\n\tUPDATEBATCH = 'UPDATEBATCH',\r\n\tADDITEM = 'ADDITEM',\r\n\tDELETEITEM = 'DELETEITEM',\r\n\tINITSTORAGE = 'INITSTORAGE'\r\n}\r\n\r\nexport interface InitStorageAction {\r\n\ttype: TypeKeys.INITSTORAGE;\r\n\tstorageName: string | null;\r\n\titems: T[] | null | undefined;\r\n\ttotal?: number | null;\r\n\tparams: any;\r\n\tobjectType: string;\r\n\tcurrent?: number;\r\n}\r\n\r\ninterface RequestItemsAction {\r\n\ttype: TypeKeys.REQUESTITEMS;\r\n\tstorageName: string | null;\r\n\tparams: any;\r\n\tobjectType: string;\r\n}\r\n\r\ninterface ReceiveItemsAction {\r\n\ttype: TypeKeys.RECEIVEITEMS;\r\n\tstorageName: string | null;\r\n\titems: T[];\r\n\ttotal: number;\r\n\toffset: number;\r\n\tobjectType: string;\r\n}\r\n\r\ninterface UpdateItemAction {\r\n\ttype: TypeKeys.UPDATEITEM;\r\n\tstorageName: string | null;\r\n\tparamName: keyof T;\r\n\titem: Partial;\r\n}\r\n\r\nexport enum ClipBy {\r\n\tStart,\r\n\tEnd,\r\n\tNone\r\n}\r\n\r\ninterface UpdateBatchAction {\r\n\ttype: TypeKeys.UPDATEBATCH;\r\n\tstorageName: string | null;\r\n\tparamName: string;\r\n\titems: T[];\r\n\tsortBy: string | false;\r\n\tclip: ClipBy;\r\n\tinsertNew: boolean;\r\n}\r\n\r\ninterface RequestMoreItemsAction {\r\n\ttype: TypeKeys.REQUESTMOREITEMS;\r\n\tstorageName: string | null;\r\n\tparams: any;\r\n}\r\n\r\ninterface ReceiveMoreItemsAction {\r\n\ttype: TypeKeys.RECEIVEMOREITEMS;\r\n\tstorageName: string | null;\r\n\titems: T[];\r\n\toffset: number;\r\n\ttotal: number;\r\n}\r\n\r\ninterface AddItemAction {\r\n\ttype: TypeKeys.ADDITEM;\r\n\tstorageName: string | null;\r\n\titem: T;\r\n\tend?: boolean;\r\n}\r\n\r\ninterface DeleteItemAction {\r\n\ttype: TypeKeys.DELETEITEM;\r\n\tstorageName: string | null;\r\n\tid: number;\r\n}\r\n\r\nexport type KnownPageAction = InitStorageAction\r\n\t| RequestItemsAction\r\n\t| ReceiveItemsAction\r\n\t| UpdateItemAction\r\n\t| RequestMoreItemsAction\r\n\t| ReceiveMoreItemsAction\r\n\t| AddItemAction\r\n\t| DeleteItemAction\r\n\t| UpdateBatchAction;\r\n\r\n// tslint:disable-next-line:max-line-length\r\nfunction loadPage>(dispatch: any, getState: any, store: string, type: string, path: string, params: any) {\r\n\tconst fetchTask = request, TUser, TApplicationState>(path, params, getState()).then((data) => {\r\n\t\tdispatch({ \r\n\t\t\ttype: TypeKeys.RECEIVEITEMS, \r\n\t\t\tstorageName: store, \r\n\t\t\titems: data.list, \r\n\t\t\ttotal: data.count, \r\n\t\t\tobjectType: type, \r\n\t\t\tparams: params, \r\n\t\t\toffset: data.offset \r\n\t\t});\r\n\t\t\r\n\t\treturn data.list;\r\n\t}).catch(() => {\r\n\t\tdispatch({\r\n\t\t\ttype: TypeKeys.RECEIVEITEMS,\r\n\t\t\tstorageName: store,\r\n\t\t\titems: [],\r\n\t\t\ttotal: 0,\r\n\t\t\tobjectType: type,\r\n\t\t\tparams: params,\r\n\t\t\toffset: 0\r\n\t\t});\r\n\t\t\r\n\t\treturn [];\r\n\t});\r\n\r\n\taddTask(fetchTask);\r\n\r\n\tdispatch({ type: TypeKeys.REQUESTITEMS, storageName: store, params: params, objectType: type });\r\n\r\n\treturn fetchTask;\r\n}\r\n\r\nexport function getActionCreators<\r\n\tT extends WithId, \r\n\tTUser extends BaseUser, \r\n\tTApplicationState extends BaseApplicationState\r\n>(): ActionCreatorsMapObject {\r\n\treturn {\r\n\t\tinitStorage: (\r\n\t\t\tstore: string, \r\n\t\t\ttype: string, \r\n\t\t\titems?: T[], \r\n\t\t\tparams?: any, \r\n\t\t\ttotal?: number, \r\n\t\t\tcurrent?: number\r\n\t\t): BaseAppThunkAction, TUser, TApplicationState> => (dispatch, getState) => {\r\n\t\t\tdispatch({\r\n\t\t\t\titems: items,\r\n\t\t\t\tparams: params,\r\n\t\t\t\ttype: TypeKeys.INITSTORAGE,\r\n\t\t\t\tstorageName: store,\r\n\t\t\t\tobjectType: type,\r\n\t\t\t\ttotal: total,\r\n\t\t\t\tcurrent: current\r\n\t\t\t});\r\n\t\t},\r\n\t\treqPages: (\r\n\t\t\tstore: string, \r\n\t\t\tpath: string, \r\n\t\t\ttype: string, \r\n\t\t\tparams: BaseParams\r\n\t\t): BaseAppThunkAction, TUser, TApplicationState> => (dispatch, getState) => {\r\n\t\t\tconst storeState = (getState() as any)[store];\r\n\r\n\t\t\tif (!equal(storeState.params, params) || storeState.type !== type) {\r\n\t\t\t\treturn loadPage(dispatch, getState, store, type, path, params);\r\n\t\t\t}\r\n\r\n\t\t\treturn Promise.resolve(storeState.items);\r\n\t\t},\r\n\t\tremoveItem: (\r\n\t\t\tstore: string, \r\n\t\t\tpath: string, \r\n\t\t\ttype: string, \r\n\t\t\titem: T, \r\n\t\t\tnewParams: BaseParams | null = null\r\n\t\t): BaseAppThunkAction, TUser, TApplicationState> => (dispatch, getState) => {\r\n\t\t\t(item as any).deleted = true;\r\n\r\n\t\t\tconst params = (getState() as TApplicationState)[store].params;\r\n\r\n\t\t\treturn request(type, item, getState()).then( data =>\r\n\t\t\t\tloadPage(dispatch, getState, store, type, path, newParams ? {...params, ...newParams} : params)\r\n\t\t\t);\r\n\t\t},\r\n\t\trefreshPages: (\r\n\t\t\tstore: string, \r\n\t\t\tpath: string, \r\n\t\t\tparams?: BaseParams\r\n\t\t): BaseAppThunkAction, TUser, TApplicationState> => (dispatch, getState) => {\r\n\t\t\tconst storeState = (getState() as any)[store];\r\n\r\n\t\t\treturn loadPage(dispatch, getState, store, storeState.type, path, params || storeState.params);\r\n\t\t},\r\n\t\tupdateItem: (\r\n\t\t\tstore: string, \r\n\t\t\titem: Partial, \r\n\t\t\tparamName: keyof T = 'id'\r\n\t\t): BaseAppThunkAction, TUser, TApplicationState> => (dispatch, getState) => {\r\n\t\t\tdispatch({type: TypeKeys.UPDATEITEM, storageName: store, item: item, paramName: paramName});\r\n\t\t},\r\n\t\tupdateArrayInItem: (\r\n\t\t\tstore: string,\r\n\t\t\tcompareParam: T[keyof T],\r\n\t\t\tfield: keyof T,\r\n\t\t\tchangedArrayItem: Partial,\r\n\t\t\tcompareParamName: keyof T = 'id',\r\n\t\t\tarrayItemParamName: keyof TEntity= 'id'\r\n\t\t): BaseAppThunkAction, TUser, TApplicationState> => (dispatch, getState) => {\r\n\t\t\tconst storeState: ItemsState = (getState() as TApplicationState)[store];\r\n\t\t\tconst foundItem = storeState.items.find(item => item[compareParamName] === compareParam);\r\n\t\t\t\r\n\t\t\tif (foundItem) {\r\n\t\t\t\tconst arr = foundItem[field];\r\n\r\n\t\t\t\tif (Array.isArray(arr)) {\r\n\t\t\t\t\tconst updated = updateArrayItem(arr, arrayItemParamName, changedArrayItem);\r\n\r\n\t\t\t\t\tdispatch({\r\n\t\t\t\t\t\ttype: TypeKeys.UPDATEITEM,\r\n\t\t\t\t\t\tstorageName: store,\r\n\t\t\t\t\t\titem: {\r\n\t\t\t\t\t\t\t[compareParamName]: compareParam,\r\n\t\t\t\t\t\t\t[field]: updated\r\n\t\t\t\t\t\t} as Partial,\r\n\t\t\t\t\t\tparamName: compareParamName\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\t\t/**\r\n\t\t * UpdateBatch - action to update an array of entities\r\n\t\t * @param store\t\t{string}\t\t\t- store to update at\r\n\t\t * @param items\t\t{items}\t\t\t\t- items to be updated\r\n\t\t * @param paramName\t{string}\t\t\t- field to compare items by\r\n\t\t * @param sortBy\t{string | false}\t- whether to sort or not and what field to sort by\r\n\t\t * @param clip\t\t{ClipBy}\t\t\t- whether to clip resulting items array to its original size and where to align to\r\n\t\t * @param insertNew\t{boolean}\t\t\t- whether to insert new items or only to update existing ones\r\n\t\t */\r\n\t\tupdateBatch: (\r\n\t\t\tstore: string, \r\n\t\t\titems: T[], \r\n\t\t\tparamName: string = 'id', \r\n\t\t\tsortBy: string | false = false, \r\n\t\t\tclip: ClipBy, \r\n\t\t\tinsertNew: boolean = false\r\n\t\t): BaseAppThunkAction, TUser, TApplicationState> => (dispatch, getState) => {\r\n\t\t\tdispatch({\r\n\t\t\t\titems,\r\n\t\t\t\tparamName,\r\n\t\t\t\tsortBy,\r\n\t\t\t\tclip,\r\n\t\t\t\tinsertNew,\r\n\t\t\t\ttype: TypeKeys.UPDATEBATCH,\r\n\t\t\t\tstorageName: store,\r\n\t\t\t});\r\n\t\t},\r\n\t\tloadMoreItems: (\r\n\t\t\tstore: string, \r\n\t\t\tpath: string, \r\n\t\t\tcount: number\r\n\t\t): BaseAppThunkAction, TUser, TApplicationState> => (dispatch, getState) => {\r\n\t\t\tconst storeState = (getState() as any)[store];\r\n\r\n\t\t\tconst params = {\r\n\t\t\t\t...storeState.params,\r\n\t\t\t\toffset: (storeState.params.offset || 0) + storeState.params.count\r\n\t\t\t};\r\n\r\n\t\t\tconst fetchTask = request, TUser, TApplicationState>(path, params, getState()).then((data) => {\r\n\t\t\t\tdispatch({type: TypeKeys.RECEIVEMOREITEMS, storageName: store, items: data.list, offset: data.offset, total: data.count});\r\n\t\t\t}).catch(() => dispatch({type: TypeKeys.RECEIVEMOREITEMS, storageName: store, items: [], offset: 0, total: 0}));\r\n\r\n\t\t\taddTask(fetchTask);\r\n\r\n\t\t\tdispatch({type: TypeKeys.REQUESTMOREITEMS, storageName: store, params: params});\r\n\t\t},\r\n\t\taddItem: (store: string, item: T, end: boolean = false): BaseAppThunkAction, TUser, TApplicationState> => (dispatch) => {\r\n\t\t\tdispatch({type: TypeKeys.ADDITEM, storageName: store, item: item, end: end});\r\n\t\t},\r\n\t\tdeleteItem: (store: string, id: number): BaseAppThunkAction, TUser, TApplicationState> => (dispatch, getState) => {\r\n\t\t\tdispatch({type: TypeKeys.DELETEITEM, storageName: store, id: id});\r\n\t\t}\r\n\t};\r\n}\r\n\r\nexport function getReducer(storageName: string):Reducer> {\r\n\treturn (s: ItemsState | undefined, incomingAction: Action) => {\r\n\t\tconst state = s as ItemsState;\r\n\t\tconst action = incomingAction as KnownPageAction;\r\n\t\tif (!action.storageName || action.storageName === storageName) {\r\n\t\t\tswitch (action.type) {\r\n\t\t\t\tcase TypeKeys.INITSTORAGE:\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tisLoading: false,\r\n\t\t\t\t\t\titems: action.items || [],\r\n\t\t\t\t\t\tparams: action.params || {},\r\n\t\t\t\t\t\tpagination: {\r\n\t\t\t\t\t\t\ttotal: action.total || (action.items && action.items.length) || 0,\r\n\t\t\t\t\t\t\tcurrent: action.current || 0,\r\n\t\t\t\t\t\t\toffset: 0,\r\n\t\t\t\t\t\t\tpageSize: action.params.count || 10\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\ttype: action.objectType\r\n\t\t\t\t\t};\r\n\t\t\t\tcase TypeKeys.REQUESTITEMS:\r\n\t\t\t\t\treturn {...state, isLoading: true, params: action.params, type: action.objectType};\r\n\t\t\t\tcase TypeKeys.RECEIVEITEMS:\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tisLoading: false,\r\n\t\t\t\t\t\titems: action.items,\r\n\t\t\t\t\t\tparams: state.params,\r\n\t\t\t\t\t\tpagination: {total: action.total, current: state.params.page, offset: action.offset, pageSize: state.params.count || 10},\r\n\t\t\t\t\t\ttype: action.objectType\r\n\t\t\t\t\t};\r\n\t\t\t\tcase TypeKeys.UPDATEITEM:\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\titems: state.items.map((item) => {\r\n\t\t\t\t\t\t\treturn item[action.paramName] === action.item[action.paramName] ? {...item, ...action.item} : item;\r\n\t\t\t\t\t\t})\r\n\t\t\t\t\t};\r\n\t\t\t\tcase TypeKeys.UPDATEBATCH:\r\n\t\t\t\t\tconst size = state.items.length;\r\n\t\t\t\t\tlet items = state.items\r\n\t\t\t\t\t\t.map((item) => {\r\n\t\t\t\t\t\t\tconst uid = action.items.findIndex(elem =>\r\n\t\t\t\t\t\t\t\telem[action.paramName] === item[action.paramName]);\r\n\r\n\t\t\t\t\t\t\tif (uid === -1) return item;\r\n\r\n\t\t\t\t\t\t\treturn {...(item as any), ...(action.items[uid] as any)};\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\r\n\t\t\t\t\tif (action.insertNew) {\r\n\t\t\t\t\t\titems = items.concat(action.items.filter(itm =>\r\n\t\t\t\t\t\t\t!items.some(storedItem =>\r\n\t\t\t\t\t\t\t\tstoredItem[action.paramName] === itm[action.paramName])));\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t\tif (action.sortBy !== false) {\r\n\t\t\t\t\t\titems = items.sort((a, b) =>\r\n\t\t\t\t\t\t\ta[action.sortBy as string] - b[action.sortBy as string]);\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t\tswitch (action.clip) {\r\n\t\t\t\t\t\tcase ClipBy.Start:\r\n\t\t\t\t\t\t\titems = items.slice(0, size);\r\n\t\t\t\t\t\t\tbreak;\r\n\r\n\t\t\t\t\t\tcase ClipBy.End:\r\n\t\t\t\t\t\t\tconst shift = items.length - size;\r\n\t\t\t\t\t\t\titems = items.slice(shift, shift + size);\r\n\t\t\t\t\t\t\tbreak;\r\n\r\n\t\t\t\t\t\tcase ClipBy.None:\r\n\t\t\t\t\t\tdefault:\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\titems,\r\n\t\t\t\t\t};\r\n\t\t\t\tcase TypeKeys.REQUESTMOREITEMS:\r\n\t\t\t\t\treturn {...state, isLoading: true, params: action.params};\r\n\t\t\t\tcase TypeKeys.RECEIVEMOREITEMS:\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\titems: state.items.concat(action.items),\r\n\t\t\t\t\t\tisLoading: false,\r\n\t\t\t\t\t\tpagination: {total: action.total, current: state.params.page, offset: action.offset, pageSize: state.params.count || 10},\r\n\t\t\t\t\t};\r\n\t\t\t\tcase TypeKeys.ADDITEM:\r\n\t\t\t\t\treturn state.items\r\n\t\t\t\t\t\t? {\r\n\t\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\t\titems: action.end ? state.items.concat(action.item) : [action.item].concat(state.items)\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t: state;\r\n\t\t\t\tcase TypeKeys.DELETEITEM:\r\n\t\t\t\t\treturn{\r\n\t\t\t\t\t\t...state,\r\n\t\t\t\t\t\tpagination: {\r\n\t\t\t\t\t\t\t...state.pagination,\r\n\t\t\t\t\t\t\ttotal: state.pagination.total > 0 ? state.pagination.total - 1 : 0\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\titems: state.items.filter(item => item['id'] !== action.id)\r\n\t\t\t\t\t};\r\n\t\t\t\tdefault:\r\n\t\t\t\t\tconst exhaustiveCheck: never = action;\r\n\t\t\t}\r\n\r\n\t\t\treturn state || {\r\n\t\t\t\tisLoading: false, params: {}, items: [], pagination: {\r\n\t\t\t\t\ttotal: 0,\r\n\t\t\t\t\tcurrent: 0,\r\n\t\t\t\t\toffset: 0\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\treturn state;\r\n\t};\r\n}","export interface List {\r\n\tcount: number;\r\n\texecution: number;\r\n\toffset: number;\r\n\tlist: Array;\r\n}\r\n\r\nexport type Rows = List;\r\n\r\nexport const transformArrayToList = (items: any[]): List => ({count: items.length, list: items, offset: 0, execution: 0});\r\n\r\nexport const isList = (arg: any) => arg.list !== undefined;","module.exports = (__webpack_require__(3))(50);","import * as React from 'react';\r\nimport { RouteProps } from 'react-router-dom';\r\nimport { shallowEqual, useSelector } from 'react-redux';\r\nimport {Helmet} from 'react-helmet';\r\n\r\nimport NotFoundComponent from '@common/react/components/Core/NotFoundPageProvider/NotFoundComponent';\r\nimport PageNotFound from '@common/react/components/UI/PageNotFound/PageNotFound';\r\n\r\nimport { BaseApplicationState } from '@common/react/store';\r\nimport { BaseUser } from '@common/typescript/objects/BaseUser';\r\n\r\ninterface Props extends RouteProps {\r\n\topenRoute: any;\r\n\tloginRoute?: any;\r\n\tcomponent?: any;\r\n\ttitle?: string;\r\n\tnotFoundPage?: React.ReactNode;\r\n\tloginRender?: React.ReactNode;\r\n\topenRender?: React.ReactNode;\r\n\tgetServerPage?: (state) => any;\r\n}\r\n\r\nconst defaultGetServerPage = state => state?.serverPage;\r\n\r\nconst NotFoundRoute: React.FC = ({ title = '404 Not Found', notFoundPage, openRoute, loginRoute = openRoute, ...rest }) => {\r\n\tconst {component: Component = () => }/>} = rest;\r\n\tconst {loginRender = Component, openRender = Component, getServerPage = defaultGetServerPage} = rest;\r\n\tconst user = useSelector((state: BaseApplicationState) => state?.login?.user, shallowEqual);\r\n\tconst serverPage = useSelector(getServerPage, shallowEqual);\r\n\r\n\tReact.useEffect(() => {\r\n\t\tif (serverPage?.page) {\r\n\t\t\tserverPage.page = null;\r\n\t\t}\r\n\t}, []);\r\n\r\n\tconst Route: any = user ? loginRoute : openRoute;\r\n\tconst Node = user ? loginRender : openRender;\r\n\r\n\treturn <>\r\n\t\t\t{title && \r\n\t\t\t\t{title}\r\n\t\t\t}\r\n\t\t\t\r\n\t\t}\r\n\t/>;\r\n};\r\n\r\nexport default NotFoundRoute;\r\n","module.exports = (__webpack_require__(3))(6);","import * as React from 'react';\r\n\r\nimport {HandleChangeEventElement} from '@common/react/components/Pages/ItemsPage';\r\n\r\ninterface ComponentProps {\r\n\tonChange?: (evt: HandleChangeEventElement) => void;\r\n\tonSubmit?: (evt: HandleChangeEventElement) => void;\r\n\tname: string;\r\n\tclassName?: string;\r\n\tplaceholder?: string;\r\n\twithoutForm?: boolean;\r\n\tbuttonType?: 'submit' | 'button' | 'reset';\r\n\tbuttonContent?: string | JSX.Element;\r\n\tsubmitOnClear?: boolean;\r\n\tcontainerClassName?: string;\r\n\tdefaultValue?: string;\r\n}\r\n\r\ninterface ComponentState {\r\n\tvalue: string;\r\n}\r\n\r\nexport default class SimpleSearchInput extends React.Component {\r\n\tprivate buttonRef = React.createRef();\r\n\r\n\tpublic static defaultProps: Partial = {\r\n\t\tclassName: 'form-control',\r\n\t\tplaceholder: 'Search',\r\n\t\twithoutForm: false,\r\n\t\tbuttonType: 'submit',\r\n\t\tsubmitOnClear: true\r\n\t};\r\n\r\n\tconstructor(props: ComponentProps) {\r\n\t\tsuper(props);\r\n\r\n\t\tthis.state = {\r\n\t\t\tvalue: this.props.defaultValue || ''\r\n\t\t};\r\n\r\n\t\tthis.handleChange = this.handleChange.bind(this);\r\n\t\tthis.clearField = this.clearField.bind(this);\r\n\t\tthis.onKeyPress = this.onKeyPress.bind(this);\r\n\t\tthis.onClick = this.onClick.bind(this);\r\n\t}\r\n\r\n\tshouldComponentUpdate(nextProps: ComponentProps, nextState: ComponentState) {\r\n\t\treturn nextState.value !== this.state.value\r\n\t\t\t|| nextProps.placeholder !== this.props.placeholder;\r\n\t}\r\n\r\n\thandleChange(evt: React.FormEvent): void {\r\n\t\tthis.setState({\r\n\t\t\tvalue: evt.currentTarget.value\r\n\t\t});\r\n\r\n\t\tthis.props.onChange && this.props.onChange(evt);\r\n\t}\r\n\r\n\tonKeyPress(evt: React.KeyboardEvent): void {\r\n\t\tif (evt && evt.key === 'Enter') {\r\n\t\t\tthis.props.onSubmit && this.props.onSubmit({\r\n\t\t\t\tcurrentTarget: {\r\n\t\t\t\t\tname: this.props.name,\r\n\t\t\t\t\tvalue: this.state.value\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tonClick(): void {\r\n\t\tthis.props.onSubmit && this.props.onSubmit({\r\n\t\t\tcurrentTarget: {\r\n\t\t\t\tname: this.props.name,\r\n\t\t\t\tvalue: this.state.value\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\r\n\tclearField(): void {\r\n\t\tconst fakeTarget = {\r\n\t\t\tcurrentTarget: {\r\n\t\t\t\tname: this.props.name,\r\n\t\t\t\tvalue: ''\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\tthis.setState({\r\n\t\t\tvalue: ''\r\n\t\t});\r\n\r\n\t\tthis.props.onChange && this.props.onChange(fakeTarget);\r\n\r\n\t\tif (this.props.submitOnClear) {\r\n\t\t\tif (this.props.onSubmit && this.props.withoutForm) {\r\n\t\t\t\tthis.props.onSubmit(fakeTarget);\r\n\t\t\t} else if (this.buttonRef.current) {\r\n\t\t\t\tthis.buttonRef.current.click();\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\trender() {\r\n\t\tconst {withoutForm, className, placeholder, name, buttonType, containerClassName = '', buttonContent} = this.props;\r\n\t\tconst value = this.state.value;\r\n\r\n\t\treturn
    \r\n\t\t\t\r\n\t\t\t{value !== '' && }\r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t{buttonContent ??\r\n\t\t\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t
    ;\r\n\t}\r\n}","import * as Yup from 'yup';\r\n\r\nimport {WithDeleted} from '@common/typescript/objects/WithDeleted';\r\n\r\nexport const phoneRegexp = /(\\(([0-9]{3})\\)\\s([0-9]{3})[-]([0-9]{4})|\\+([0-9]{11}))/;\r\n\r\nexport const formattedPhoneRegexp = /^\\+[1-9]+ \\([1-9]\\d{2}\\) \\d\\d\\d-\\d\\d\\d\\d$/;\r\n\r\nexport const simpleStringValidator = Yup.string().required();\r\n\r\nexport const simpleNumberValidator = Yup.number().required();\r\n\r\nexport const positiveNumberValidator = Yup.number().positive('Required field');\r\n\r\nexport const notNullValidator = Yup.mixed().test('is-not-null', 'Required field!', value => value !== null);\r\n\r\nexport const emailValidator = Yup.string().email().required();\r\n\r\nexport const optionalEmailValidator = Yup.string().email().nullable().notRequired();\r\n\r\nexport const dateValidator = Yup.number().required().nullable();\r\n\r\nexport const phoneRequiredValidator = Yup.string().matches(phoneRegexp, 'Invalid phone number').required();\r\n\r\nexport const phoneValidator = Yup.string().test('is-valid', 'Invalid phone number', value =>\r\n\t!value || phoneRegexp.test(value));\r\n\r\nexport const formattedPhoneValidator = Yup.string().test('is-formatted-valid', 'Invalid phone number', value =>\r\n\t!value || formattedPhoneRegexp.test(value)\r\n);\r\n\r\nexport const alphaDigitPasswordValidator = Yup.string().matches(/^([0-9a-zA-Z])+$/, 'Password should only contains digits and latin letters');\r\n\r\nexport const nonEmptyArray = (message: string) => Yup.array().test(\r\n\t'Non-empty array',\r\n\tmessage,\r\n\t(value: Array | undefined) => value ? value.some(v => !v.deleted) : false\r\n);\r\n\r\nexport const lengthValidator = maxLength => Yup.string().max(maxLength);\r\n\r\nexport const lengthRequiredValidator = maxLength => Yup.string().max(maxLength).required();","import * as React from 'react';\r\n\r\nimport {FieldProps, ErrorMessage} from 'formik';\r\n\r\nexport type FormikInputRenderFunc = (fieldProps: FieldProps, inputProps?: React.HTMLProps) => React.ReactElement;\r\n\r\nexport interface FormikInputProps {\r\n\tfieldProps: FieldProps;\r\n\tcontainerClassName?: string;\r\n\trender?: FormikInputRenderFunc;\r\n\ttitle?: string;\r\n\tinputId?: string;\r\n\tshowValidateAfterSubmit?: boolean;\r\n\tinputProps?: React.HTMLProps;\r\n\tErrorComponent?: React.FC<{error: string}>;\r\n}\r\n\r\nconst defaultRender = ({form, field}: FieldProps, inputProps?: React.HTMLProps) => \r\n\t;\r\n\r\nconst defaultErrorComponent: React.FC<{error: string | object}> = ({error}) =>\r\n\t\t
    \r\n\t\t\t{typeof error === 'string' ? error : Object.keys(error)\r\n\t\t\t\t.filter(key => typeof error[key] === 'string')\r\n\t\t\t\t.map(key => error[key])\r\n\t\t\t\t.join(', ')}\r\n\t\t
    ;\r\n\r\nexport const FormikInput: React.FC = \r\n\t({ \r\n\t\t fieldProps, \r\n\t\t containerClassName = 'form-group col-sm-6', \r\n\t\t render = defaultRender, \r\n\t\t title, \r\n\t\t inputId, \r\n\t\t showValidateAfterSubmit = true, \r\n\t\t inputProps,\r\n\t\t ErrorComponent = defaultErrorComponent\r\n\t}) => {\r\n\t\tconst {form, field} = fieldProps;\r\n\t\r\n\t\treturn
    \r\n\t\t\t{title && }\r\n\t\t\t
    \r\n\t\t\t\t{(showValidateAfterSubmit ? form.submitCount > 0 : true) && } />}\r\n\t\t\t\t{render(fieldProps, inputProps)}\r\n\t\t\t
    \r\n\t\t
    ;\r\n\t};","import * as React from 'react';\r\nimport {Omit} from 'react-redux';\r\n\r\nimport { Field, FieldProps } from 'formik';\r\n\r\nimport {FormikInput, FormikInputProps, FormikInputRenderFunc} from '@common/react/components/Forms/FormikInput/FormikInput';\r\n\r\ninterface DefaultRenders {\r\n\ttextarea: FormikInputRenderFunc;\r\n}\r\n\r\nconst defaultRenders: DefaultRenders = {\r\n\ttextarea: ({field}: FieldProps) =>