{"version":3,"file":"static/js/service-user-menu.603acd4b.chunk.js","mappings":"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","sources":["app-react/components/useful-links/boxes/item/useful-links-item.box.ts","app-react/components/useful-links/boxes/item-side-text/useful-links-item-side-text.box.ts","app-react/components/useful-links/parts/useful-link-item/useful-link-inner-item.component.tsx","app-react/services/menu-items-common/menu-item-config-reader/menu-item-config-reader-base.ts","app-react/services/menu-items-common/renderer/dynamic-custom-menu-item-renderers-loader.ts","app-react/services/user-menu/menu-items/useful-links/custom-renderers/hybrid-info-menu-item.renderer.tsx","app-react/services/user-menu/menu-items/useful-links/custom-renderers/touch-id-menu-item.renderer.ts","app-react/components/useful-links/parts/useful-link-item/useful-link-item.component.tsx","app-react/services/user-menu/menu-items/useful-links/generic-useful-links-menu-item-renderer.tsx","app-react/components/useful-links/parts/useful-link-item/expandable-useful-link-item.component.tsx","app-react/services/user-menu/menu-items/useful-links/generic-expandable-useful-links-menu-item-renderer.tsx","app-react/components/user-menu/user-menu-items/boxes/items-title/user-menu-items-title.box.ts","app-react/components/user-menu/user-menu-items/user-menu-item.component.tsx","app-react/services/user-menu/menu-items/user-menu-items/generic-user-user-menu-item-renderer.tsx","app-react/services/user-menu/menu-items/user-menu-item-config-reader.ts","app-react/services/user-menu/user-menu.service.ts","app-react/services/user-menu/menu-items/useful-links/custom-renderers|sync|/.+/.renderer/.(ts%7Ctsx)$"],"sourcesContent":["import {styledBox} from \"../../../../themes/architecture/styled-box\";\r\n\r\nexport const UsefulLinksItemBox = styledBox('UsefulLinksItemBox');","import styled from \"styled-components\";\r\n\r\nexport const UsefulLinksItemSideTextBox = styled.div`\r\n display: inline-block;\r\n margin-right: 2rem;\r\n`;","import React, {PropsWithChildren} from 'react';\r\nimport {observer} from \"mobx-react\";\r\nimport {UsefulLinksItemBox} from \"../../boxes/item/useful-links-item.box\";\r\nimport {get} from 'lodash';\r\nimport {useServices} from \"../../../../react-hooks/use-services.hook\";\r\nimport {Image} from \"../../../raw-components/image/image\";\r\nimport {UsefulLinksItemSideTextBox} from \"../../boxes/item-side-text/useful-links-item-side-text.box\";\r\nimport {MenuItemComponentProps} from \"../../../../services/menu-items-common/menu-item-component-props.interface\";\r\nimport {UserMenuSeparatorBox} from '../../../user-menu/user-menu-items/boxes/separator/user-menu-separator.box';\r\nimport {FlexFixedSizeItemBox, FlexGrowItemBox} from '../../../../themes/architecture/css-helpers/flex';\r\nimport {Check} from '@sparkware/app-utils';\r\nimport {GenericSideMenuItemIconBox} from '../../../side-menu-rework/side-menu-items/boxes/link/generic/generic-side-menu-item-icon.box';\r\nimport {CyClass} from '../../../../../common/cy-classes';\r\nimport classNames from 'classnames';\r\n\r\ninterface IUsefulLinkInnerItemComponentProps extends MenuItemComponentProps {\r\n className?: string;\r\n // false - collapsed state, arrow down // true - expanded state, arrow up // undefined or null - normal state, arrow to the right\r\n expandedArrowIcon?: boolean | undefined | null;\r\n onClick(): void;\r\n}\r\n\r\nexport const UsefulLinkInnerItemComponent: React.FC> = observer((props) => {\r\n const services = useServices();\r\n\r\n\r\n const _renderIcon = () => {\r\n if(!props.menuItem.iconSource || !props.menuItem.icon) {\r\n return null;\r\n }\r\n\r\n switch (props.menuItem.iconSource) {\r\n case \"themeIcons\":\r\n const Icon = services.theme.currentTheme.icons[props.menuItem.icon];\r\n if(!Icon) {\r\n services.logger.error(`Menu item ${props.menuItem.key} has configured icon ${props.menuItem.icon} which does not exist in currentTheme.icons`)\r\n return null;\r\n }\r\n return ();\r\n // break;\r\n case \"themeImages\":\r\n const imageURI = get(services.theme.currentTheme.images, props.menuItem.icon, '');\r\n if(!imageURI) {\r\n services.logger.error(`Menu item ${props.menuItem.key} has configured icon ${props.menuItem.icon} which does not exist in currentTheme.images`)\r\n return null;\r\n }\r\n return ({props.menuItem.iconAltText)\r\n // break;\r\n case \"url\":\r\n default:\r\n return ({props.menuItem.iconAltText)\r\n // break;\r\n }\r\n }\r\n\r\n const renderContent = () => {\r\n if(props.menuItem.imageOnlyRendering) {\r\n return _renderIcon();\r\n } else {\r\n return (\r\n <>\r\n \r\n {_renderIcon()}\r\n \r\n \r\n {props.menuItem.text}\r\n \r\n {props.menuItem.sideText && ({props.menuItem.sideText})}\r\n \r\n )\r\n }\r\n }\r\n\r\n const ForwardIcon = services.theme.currentTheme.icons.forwardIcon;\r\n let iconStyle = {};\r\n if (!Check.isNullOrUndefined(props.expandedArrowIcon)) {\r\n iconStyle = {\r\n transition: \"transform 0.12s ease-out\",\r\n transform: \"rotate(\" + (props.expandedArrowIcon ? \"-\" : \"\") + \"90deg)\" \r\n };\r\n }\r\n\r\n return (\r\n
  • \r\n {!!props.showSeparator && }\r\n \r\n {renderContent()}\r\n {!props.menuItem.imageOnlyRendering && \r\n \r\n }\r\n \r\n {props.children}\r\n
  • \r\n );\r\n\r\n});","import {\r\n IMenuItemConfigReader,\r\n MenuItemAnalyticsCategoryAndLabel,\r\n MenuItemConfigurationExtended\r\n} from \"./menu-item-config-reader.interface\";\r\nimport {\r\n MenuItemConfiguration,\r\n MenuItemsConfiguration\r\n} from \"../../configurations/config-data-sections/menu-items.configuration\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {AnalyticsConfiguration} from \"../../configurations/config-data-sections/analytics.configuration\";\r\n\r\nexport abstract class MenuItemConfigReaderBase implements IMenuItemConfigReader {\r\n constructor(protected readonly services: IServiceFactoryExtended) {\r\n }\r\n\r\n protected abstract _getMenuItemsConfigOverrides(): MenuItemsConfiguration | undefined;\r\n protected abstract _getAnalyticsCategoryAndLabel(): MenuItemAnalyticsCategoryAndLabel | null;\r\n\r\n getMenuItemConfig(key: string): MenuItemConfigurationExtended {\r\n const allConfigs = this.services.configuration.data;\r\n const menuItemConfig: MenuItemConfiguration | undefined = allConfigs.menuItems[key];\r\n if(!menuItemConfig) {\r\n throw new Error(`Missing configuration for ${key} menu item`);\r\n }\r\n\r\n const menuItemsOverrides = this._getMenuItemsConfigOverrides();\r\n\r\n const menuItemConfigOverride: MenuItemConfiguration | undefined = menuItemsOverrides && menuItemsOverrides[key];\r\n\r\n\r\n\r\n const menuItemConfigProxyHandler = {\r\n get: (target: any, prop: string) => {\r\n if(prop === 'analytics') {\r\n const categoryAndLabel = this._getAnalyticsCategoryAndLabel();\r\n if(categoryAndLabel) {\r\n const analyticsConfig: AnalyticsConfiguration = {\r\n action: key,\r\n ...categoryAndLabel\r\n }\r\n return analyticsConfig;\r\n } else {\r\n return null;\r\n }\r\n } else {\r\n const overridePropValue = menuItemConfigOverride && menuItemConfigOverride[prop];\r\n if(Check.isUndefined(overridePropValue)) {\r\n return target[prop];\r\n } else {\r\n return overridePropValue;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return new Proxy(menuItemConfig, menuItemConfigProxyHandler);\r\n\r\n\r\n }\r\n}\r\n\r\n","import {IMenuItemConfigReader} from \"../menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {IServiceFactoryExtended} from \"../../service-factory-extended.interface\";\r\nimport {CustomMenuItemRendererConstructorDefinition, IMenuItemRenderer} from \"./menu-item.renderer.interface\";\r\nimport {MenuItemKey} from \"../../configurations/config-data-sections/generated-config-const\";\r\nimport {IMenuItemActionFactoryService} from \"../../menu-item-action-factory/menu-item-action-factory.service.interface\";\r\n\r\nexport function loadCustomMenuItemsRenderers(rendererModules: any[],\r\n menuItemConfigReader: IMenuItemConfigReader,\r\n services: IServiceFactoryExtended,\r\n menuItemActionFactory: IMenuItemActionFactoryService): Record {\r\n return rendererModules.map((module: any) => {\r\n const RendererConstructor: CustomMenuItemRendererConstructorDefinition = module.default;\r\n return new RendererConstructor(menuItemConfigReader, services, menuItemActionFactory);\r\n }).toDictionary(item => item.key);\r\n}\r\n\r\n","import {IMenuItemConfigReader} from \"../../../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {IServiceFactoryExtended} from \"../../../../service-factory-extended.interface\";\r\nimport {GenericUsefulLinksMenuItemRenderer} from \"../generic-useful-links-menu-item-renderer\";\r\nimport {\r\n IMenuItemActionFactoryService\r\n} from \"../../../../menu-item-action-factory/menu-item-action-factory.service.interface\";\r\n\r\nexport default class HybridInfoMenuItemRenderer extends GenericUsefulLinksMenuItemRenderer {\r\n constructor(configReader: IMenuItemConfigReader,\r\n services: IServiceFactoryExtended,\r\n menuItemActionFactory: IMenuItemActionFactoryService) {\r\n super('hybridInfoMenuItem', configReader, services, menuItemActionFactory);\r\n }\r\n protected _shouldDisplay(): boolean {\r\n return super._shouldDisplay() && this.services.hybrid.isDebugMode();\r\n }\r\n}","import {GenericUsefulLinksMenuItemRenderer} from \"../generic-useful-links-menu-item-renderer\";\r\nimport {IServiceFactoryExtended} from \"../../../../service-factory-extended.interface\";\r\nimport {IMenuItemConfigReader} from \"../../../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {makeObservable, observable, runInAction} from \"mobx\";\r\nimport {NullableUndefinedString} from \"../../../../../../common/types/nullable-types\";\r\nimport {\r\n IMenuItemActionFactoryService\r\n} from \"../../../../menu-item-action-factory/menu-item-action-factory.service.interface\";\r\n\r\nexport default class TouchIdMenuItemRenderer extends GenericUsefulLinksMenuItemRenderer {\r\n constructor(configReader: IMenuItemConfigReader, services: IServiceFactoryExtended, menuItemActionFactory: IMenuItemActionFactoryService) {\r\n super(\"touchIdMenuItem\", configReader, services, menuItemActionFactory);\r\n\r\n makeObservable(this);\r\n\r\n this.services.sdk.events.onTouchIDActiveStateChanged(() => this._updateTouchIdStatus());\r\n\r\n if(this.services.device.hybrid.inCasino) {\r\n this._updateTouchIdStatus();\r\n }\r\n }\r\n\r\n private async _updateTouchIdStatus(): Promise {\r\n\r\n\r\n try {\r\n const isEnabled = await this.services.hybrid.isDeviceTouchEnable();\r\n\r\n runInAction(() => {\r\n this._enabled = Boolean(isEnabled);\r\n });\r\n\r\n if(isEnabled) {\r\n const isFeatureOn = await this.services.hybrid.getTouchIDFeaturer().getTokenAndCheckEnable();\r\n runInAction(() => {\r\n if(Boolean(isFeatureOn)) {\r\n this._extraText = 'On';\r\n } else {\r\n this._extraText = 'Off';\r\n }\r\n });\r\n }\r\n } catch (err) {\r\n this.services.logger.error('Failed to check touch ID feature', err);\r\n }\r\n\r\n\r\n }\r\n\r\n @observable.ref\r\n private _enabled: boolean = false;\r\n\r\n @observable.ref\r\n private _extraText: NullableUndefinedString = null;\r\n\r\n get sideText(): NullableUndefinedString {\r\n return this._extraText;\r\n\r\n }\r\n\r\n protected _shouldDisplay(): boolean {\r\n return this._enabled && super._shouldDisplay() && this.services.device.hybrid.inCasino;\r\n }\r\n}","import React from 'react';\r\nimport {observer} from \"mobx-react\";\r\nimport {MenuItemComponentProps} from \"../../../../services/menu-items-common/menu-item-component-props.interface\";\r\nimport {UsefulLinkInnerItemComponent} from './useful-link-inner-item.component';\r\n\r\nexport const UsefulLinkItemComponent: React.FC = observer((props) => {\r\n const onClickHandler = async () => {\r\n await props.menuItem.execute();\r\n }\r\n\r\n return \r\n});","import React from 'react';\r\nimport {UsefulLinkItemComponent} from '../../../../components/useful-links/parts/useful-link-item/useful-link-item.component';\r\nimport {IRenderMenuItemOptions} from \"../../../menu-items-common/renderer/menu-item.renderer.interface\";\r\nimport {MenuItemRendererBase} from \"../../../menu-items-common/renderer/menu-item-renderer-base\";\r\nimport classNames from 'classnames';\r\n\r\nexport class GenericUsefulLinksMenuItemRenderer extends MenuItemRendererBase {\r\n protected _createReactElement(options?: IRenderMenuItemOptions): React.ReactElement {\r\n return ();\r\n }\r\n}","import React, {useCallback, useMemo, useRef, useState} from 'react';\r\nimport {observer} from \"mobx-react\";\r\nimport {MenuItemKey} from '../../../../services/configurations/config-data-sections/generated-config-const';\r\nimport {MenuItemComponentProps} from '../../../../services/menu-items-common/menu-item-component-props.interface';\r\nimport {UsefulLinksListBox} from '../../boxes/list/useful-links-list.box';\r\nimport {UsefulLinkInnerItemComponent} from './useful-link-inner-item.component';\r\nimport {CyClass} from '../../../../../common/cy-classes';\r\nimport classNames from 'classnames';\r\nimport {ComponentServicesPick} from \"../../../../services/component-services-pick\";\r\nimport {withServices} from \"../../../../react-hooks/with-services\";\r\n\r\ninterface ExpandableUsefulLinkItemComponentProps extends MenuItemComponentProps, ComponentServicesPick<'userMenu'> {\r\n subItems: MenuItemKey[];\r\n onSubItemClick?: () => void;\r\n}\r\n\r\nconst ComponentBody: React.FC = observer((props) => {\r\n let [expanded, setExpanded] = useState(false);\r\n let subItems = useMemo(() => {\r\n return props.subItems\r\n .map((key) => props.userMenu.getUsefulLinkMenuItem(key))\r\n .filter((menuItem) => menuItem.display);\r\n }, [props.subItems, props.userMenu]);\r\n\r\n const onClickHandler = useCallback(() => {\r\n // For expandable, don;t use \"props.menuItem.execute();\" we don't want to navigate and we don't want to close the user menu\r\n setExpanded((currentValue) => !currentValue);\r\n }, []);\r\n\r\n let height = useRef((subItems.length * 3.75) + \"rem\");\r\n const onLinksListBoxCaptureRef = useCallback((el: HTMLElement | null) => {\r\n if (el) {\r\n const heightCssVal = el.style.height;\r\n el.style.height = \"auto\";\r\n const rect = el.getBoundingClientRect();\r\n height.current = rect.height + \"px\";\r\n el.style.height = heightCssVal;\r\n }\r\n }, []);\r\n\r\n if (subItems.length === 0) {\r\n return null;\r\n }\r\n\r\n if (subItems.length === 1) {\r\n return subItems[0].renderMenuItem({onBeforeClick: props.onSubItemClick, showSeparator: props.showSeparator});\r\n }\r\n\r\n return \r\n \r\n { subItems.map((menuItem) => menuItem.renderMenuItem({onBeforeClick: props.onSubItemClick, showSeparator: false, className: CyClass('cy-useful-links-subitem')})) }\r\n \r\n \r\n\r\n});\r\n\r\nexport const ExpandableUsefulLinkItemComponent = withServices(ComponentBody, [\"userMenu\"]);","import React from 'react';\r\nimport {ExpandableUsefulLinkItemComponent} from \"../../../../components/useful-links/parts/useful-link-item/expandable-useful-link-item.component\";\r\nimport {MenuItemRendererBase} from \"../../../menu-items-common/renderer/menu-item-renderer-base\";\r\nimport {ExpandableMenuItemConfig} from '../../../menu-items-common/expandable/expandable-menu-item.interface';\r\nimport {IMenuItemConfigReader} from '../../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface';\r\nimport {IServiceFactoryExtended} from '../../../service-factory-extended.interface';\r\nimport {IRenderMenuItemOptions} from '../../../menu-items-common/renderer/menu-item.renderer.interface';\r\nimport classNames from 'classnames';\r\nimport {\r\n IMenuItemActionFactoryService\r\n} from \"../../../menu-item-action-factory/menu-item-action-factory.service.interface\";\r\n\r\nexport class GenericExpandableUsefulLinksMenuItemRenderer extends MenuItemRendererBase {\r\n constructor(public readonly expandableKey: ExpandableMenuItemConfig,\r\n configReader: IMenuItemConfigReader,\r\n services: IServiceFactoryExtended,\r\n menuItemActionFactory: IMenuItemActionFactoryService\r\n ) {\r\n super(expandableKey.menuItemKey, configReader, services, menuItemActionFactory)\r\n }\r\n protected _createReactElement(options?: IRenderMenuItemOptions): React.ReactElement {\r\n return ();\r\n }\r\n}","import {styledBox} from \"../../../../../themes/architecture/styled-box\";\r\n\r\nexport const UserMenuItemsTitleBox = styledBox('UserMenuItemsTitleBox');","import React from \"react\";\r\nimport {observer} from \"mobx-react\";\r\nimport {UserMenuItemsTitleBox} from \"./boxes/items-title/user-menu-items-title.box\";\r\nimport {MenuItemComponentProps} from \"../../../services/menu-items-common/menu-item-component-props.interface\";\r\nimport {UserMenuSectionBox} from \"../user-menu/boxes/section/user-menu-section.box\";\r\nimport {FlexContainerBox, FlexFixedSizeItemBox, FlexGrowItemBox} from \"../../../themes/architecture/css-helpers/flex\";\r\nimport {useServices} from \"../../../react-hooks/use-services.hook\";\r\n\r\n\r\nexport const UserMenuItemComponent: React.FC = observer((props) => {\r\n const services = useServices();\r\n function renderIcon() {\r\n if(!props.menuItem.iconSource || !props.menuItem.icon) {\r\n return null;\r\n }\r\n\r\n if(props.menuItem.iconSource === \"themeIcons\") {\r\n const Icon = services.theme.currentTheme.icons[props.menuItem.icon];\r\n if(!Icon) {\r\n services.logger.error(`Menu item ${this.props.menuItem.key} has configured icon ${this.props.menuItem.icon} which does not exist in currentTheme.icons`)\r\n return null;\r\n }\r\n\r\n return ();\r\n }\r\n }\r\n const ForwardIcon = services.theme.currentTheme.icons.forwardIcon;\r\n return (\r\n \r\n props.menuItem.execute()}>\r\n \r\n {renderIcon()}\r\n \r\n \r\n \r\n {props.menuItem.text}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n});\r\n","import React from 'react';\r\nimport {IRenderMenuItemOptions} from \"../../../menu-items-common/renderer/menu-item.renderer.interface\";\r\nimport {UserMenuItemComponent} from \"../../../../components/user-menu/user-menu-items/user-menu-item.component\";\r\nimport {MenuItemRendererBase} from \"../../../menu-items-common/renderer/menu-item-renderer-base\";\r\n\r\nexport class GenericUserUserMenuItemRenderer extends MenuItemRendererBase {\r\n protected _createReactElement(options?: IRenderMenuItemOptions): React.ReactElement {\r\n return ();\r\n }\r\n}","import {MenuItemConfigReaderBase} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader-base\";\r\n\r\nimport {\r\n MenuItemAnalyticsCategoryAndLabel\r\n} from \"../../menu-items-common/menu-item-config-reader/menu-item-config-reader.interface\";\r\nimport {OrbitUserFlowAnalyticsCategory, OrbitUserFlowAnalyticsLabel} from \"../../analytics/analytics.service.interface\";\r\nimport {MenuItemsConfiguration} from \"../../configurations/config-data-sections/menu-items.configuration\";\r\n\r\nexport class UserMenuItemConfigReader extends MenuItemConfigReaderBase {\r\n\r\n protected _getMenuItemsConfigOverrides(): MenuItemsConfiguration | undefined {\r\n return this.services.configuration.data.drawer.menuItemsOverride;\r\n }\r\n\r\n protected _getAnalyticsCategoryAndLabel(): MenuItemAnalyticsCategoryAndLabel {\r\n return {\r\n category: OrbitUserFlowAnalyticsCategory.Navigation,\r\n label: OrbitUserFlowAnalyticsLabel.UserArea\r\n };\r\n }\r\n}","import {action, observable, makeObservable, runInAction} from \"mobx\";\r\nimport {Check} from \"@sparkware/app-utils\";\r\nimport {AreaType} from \"@sparkware/uc-sdk-core\";\r\nimport {ServiceBase} from \"../ServiceBase\";\r\nimport {IUserMenuService} from \"./user-menu.service.interface\";\r\nimport {IServiceFactoryExtended} from \"../service-factory-extended.interface\";\r\nimport {CHANNEL_ELEMENTS, CHANNEL_SOURCE} from \"../../../common/const/casinofied-analytics-consts\";\r\nimport {IOverlayConsumer} from \"../overlay/overlay-consumer.interface\";\r\nimport {IMenuItemRenderer} from \"../menu-items-common/renderer/menu-item.renderer.interface\";\r\nimport {MenuItemKey} from \"../configurations/config-data-sections/generated-config-const\";\r\nimport {GenericUsefulLinksMenuItemRenderer} from \"./menu-items/useful-links/generic-useful-links-menu-item-renderer\";\r\nimport {GenericExpandableUsefulLinksMenuItemRenderer} from \"./menu-items/useful-links/generic-expandable-useful-links-menu-item-renderer\";\r\nimport {\r\n loadCustomMenuItemsRenderers\r\n} from \"../menu-items-common/renderer/dynamic-custom-menu-item-renderers-loader\";\r\nimport {\r\n GenericUserUserMenuItemRenderer\r\n} from \"./menu-items/user-menu-items/generic-user-user-menu-item-renderer\";\r\nimport {\r\n OrbitUserFlowAnalyticsAction,\r\n OrbitUserFlowAnalyticsCategory,\r\n OrbitUserFlowAnalyticsLabel\r\n} from \"../analytics/analytics.service.interface\";\r\nimport {UserMenuItemConfigReader} from \"./menu-items/user-menu-item-config-reader\";\r\nimport {ExpandableMenuItemConfig} from \"../menu-items-common/expandable/expandable-menu-item.interface\";\r\nimport {IMenuItemActionFactoryService} from \"../menu-item-action-factory/menu-item-action-factory.service.interface\";\r\n\r\n\r\nexport class UserMenuService extends ServiceBase implements IUserMenuService, IOverlayConsumer {\r\n @observable.ref\r\n isOpen: boolean = false;\r\n @observable.ref\r\n isRewardsInfo: boolean = false;\r\n\r\n constructor(services: IServiceFactoryExtended, private readonly menuItemActionFactory: IMenuItemActionFactoryService) {\r\n super(services);\r\n\r\n makeObservable(this);\r\n\r\n this.services.sideMenu.then(sideMenu => {\r\n runInAction(() => {\r\n this._zIndex = sideMenu.zIndex - 1;\r\n });\r\n })\r\n\r\n this.services.overlay.registerConsumer(this);\r\n this.services.sdk.events.onGameOpen(() => this.closeMenu());\r\n\r\n this._menuItemConfigReader = new UserMenuItemConfigReader(services);\r\n\r\n let rendererModules = require.context('./menu-items/useful-links/custom-renderers', true, /.+\\.renderer\\.(ts|tsx)$/);\r\n this._customUsefulLinksMenuItems = loadCustomMenuItemsRenderers(rendererModules.keys().map(rendererModules),\r\n this._menuItemConfigReader,\r\n this.services,\r\n this.menuItemActionFactory);\r\n /*\r\n //Uncomment this when we will have custom renderers for user menu items\r\n rendererModules = require.context('./menu-items/user-menu-items/custom-renderers', true, /.+\\.renderer\\.(ts|tsx)$/);\r\n this._customUserMenuItems = loadCustomMenuItemsRenderers(rendererModules.keys().map(rendererModules),\r\n this._userMenuItemConfigReader,\r\n this.services);\r\n\r\n */\r\n }\r\n\r\n readonly _menuItemConfigReader: UserMenuItemConfigReader;\r\n private readonly _customUsefulLinksMenuItems: Partial> = {};\r\n private readonly _customUserMenuItems: Partial> = {};\r\n\r\n\r\n get needsOverlay(): boolean {\r\n return this.isOpen;\r\n }\r\n\r\n\r\n getOverlayZIndex(): number | undefined {\r\n return this.zIndex - 1;\r\n }\r\n\r\n @observable.ref\r\n private _zIndex = 0;\r\n get zIndex(): number {\r\n return this._zIndex;\r\n }\r\n\r\n onOverlayClicked(): void {\r\n this.closeMenu();\r\n }\r\n\r\n @action.bound\r\n private _setIsOpen(shouldOpen: boolean) {\r\n this.isOpen = shouldOpen;\r\n }\r\n\r\n @action.bound\r\n private _setIsRewardsInfo(shouldBeRewards: boolean) {\r\n this.isRewardsInfo = shouldBeRewards;\r\n }\r\n\r\n private _sendOrbitUserFlowAnalytics(action: OrbitUserFlowAnalyticsAction): void {\r\n this.services.analytics.sendOrbitUserFlowEvent(OrbitUserFlowAnalyticsCategory.Navigation, action, OrbitUserFlowAnalyticsLabel.UserArea);\r\n }\r\n\r\n private menuKeyIsExpandableItem(key: MenuItemKey | ExpandableMenuItemConfig): key is ExpandableMenuItemConfig {\r\n if (Check.isObject(key) && !Check.isNullOrUndefined(key.menuItemKey) && Check.isArray(key.subItems)) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n private _getUsefulLinksMenuItem(key: MenuItemKey | ExpandableMenuItemConfig): IMenuItemRenderer {\r\n if (this.menuKeyIsExpandableItem(key)) {\r\n return new GenericExpandableUsefulLinksMenuItemRenderer(key, this._menuItemConfigReader, this.services, this.menuItemActionFactory);\r\n }\r\n return this.getUsefulLinkMenuItem(key);\r\n }\r\n\r\n public getUsefulLinkMenuItem(key: MenuItemKey): IMenuItemRenderer {\r\n let customMenuItem = this.services.regulation.current.menuItems.getUsefulLinksMenuItem(key, this._menuItemConfigReader, this.menuItemActionFactory);\r\n if(customMenuItem) {\r\n return customMenuItem;\r\n }\r\n customMenuItem = this._customUsefulLinksMenuItems[key];\r\n if(customMenuItem) {\r\n return customMenuItem;\r\n }\r\n return new GenericUsefulLinksMenuItemRenderer(key, this._menuItemConfigReader, this.services, this.menuItemActionFactory);\r\n }\r\n\r\n private _getUserMenuItem(key: MenuItemKey): IMenuItemRenderer {\r\n let menuItem = this.services.regulation.current.menuItems.getUserMenuItem(key, this._menuItemConfigReader, this.menuItemActionFactory);\r\n if(menuItem) {\r\n return menuItem;\r\n }\r\n menuItem = this._customUserMenuItems[key];\r\n if(menuItem) {\r\n return menuItem;\r\n }\r\n menuItem = new GenericUserUserMenuItemRenderer(key, this._menuItemConfigReader, this.services, this.menuItemActionFactory);\r\n return menuItem;\r\n }\r\n\r\n get usefulLinksMenuItems(): IMenuItemRenderer[][] {\r\n return (this.services.configuration.data.drawer.usefulLinks ?? []).map(keys => {\r\n return keys.map(key => this._getUsefulLinksMenuItem(key)).filter(menuItem => menuItem.display);\r\n }).filter(menuItem => menuItem.length !== 0);\r\n }\r\n\r\n get userMenuItems(): IMenuItemRenderer[] {\r\n return (this.services.configuration.data.drawer.userMenuItems ?? []).map(key => this._getUserMenuItem(key)).filter(menuItem => menuItem.display);\r\n }\r\n\r\n doLogout() {\r\n this._sendOrbitUserFlowAnalytics('logoutMenuItem');\r\n this.services.regulation.current.logoutUser();\r\n this.closeMenu();\r\n }\r\n\r\n /**\r\n * This method returns a greeting translation key based on time of day. \"Good Morning\", \"Good Afternoon\" etc\r\n * It was used in WelcomeUser component but not anymore, however, I did not deleted this method\r\n */\r\n get greeting() {\r\n const now = new Date();\r\n const hour = now.getHours();\r\n const minute = now.getMinutes();\r\n\r\n const {defaultMessage, conditions} = this.services.configuration.data.drawer.welcomeMessage;\r\n let result = defaultMessage;\r\n for (const rule of conditions) {\r\n const [ruleHour, ruleMinute] = rule.time.split(':').map(parseInt);\r\n\r\n if (hour > ruleHour) {\r\n result = rule.text;\r\n } else if (hour === ruleHour) {\r\n // NB: only if the current hour is strictly equal to the rule hour do we need to check the minutes\r\n if (minute >= ruleMinute) {\r\n result = rule.text;\r\n }\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n launchMyAccount(): void {\r\n this._sendOrbitUserFlowAnalytics('myAccountButton');\r\n this.services.externalLinks.then(externalLinks => externalLinks.openMyAccount());\r\n this.closeMenu();\r\n }\r\n\r\n launchDeposit(): void {\r\n this._sendOrbitUserFlowAnalytics('depositButton');\r\n this.services.cashier.openDeposit({\r\n channel: {\r\n source: CHANNEL_SOURCE.casinoClient,\r\n area: AreaType.UserArea,\r\n element: CHANNEL_ELEMENTS.depositButton\r\n }\r\n });\r\n this.closeMenu();\r\n }\r\n\r\n launchWithdraw(): void {\r\n this._sendOrbitUserFlowAnalytics('withdrawButton');\r\n this.services.cashier.openWithdraw({\r\n channel: {\r\n source: CHANNEL_SOURCE.casinoClient,\r\n area: AreaType.UserArea,\r\n element: CHANNEL_ELEMENTS.withdrawButton\r\n }\r\n });\r\n this.closeMenu();\r\n }\r\n\r\n openRewards(): void {\r\n this.openMenu();\r\n this._setIsRewardsInfo(true);\r\n }\r\n\r\n closeMenu(): void {\r\n if (this.isOpen) {\r\n this._setIsOpen(false);\r\n this._setIsRewardsInfo(false);\r\n }\r\n }\r\n\r\n async openMenu(): Promise {\r\n if (!this.isOpen) {\r\n this.services.analytics.sendOrbitUserFlowEvent('Navigator', 'Navbar', 'Open_UserMenu');\r\n this._setIsOpen(true);\r\n (await this.services.sideMenu).closeMobileMenu();\r\n const drawer = await this.services.drawer;\r\n drawer.right.closeDrawer();\r\n }\r\n }\r\n}\r\n\r\n\r\n","var map = {\n\t\"./hybrid-info-menu-item.renderer.tsx\": 80425,\n\t\"./touch-id-menu-item.renderer.ts\": 57138\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 67951;"],"names":["UsefulLinksItemBox","styledBox","UsefulLinksItemSideTextBox","styled","UsefulLinkInnerItemComponent","observer","props","services","useServices","_renderIcon","menuItem","iconSource","icon","Icon","theme","currentTheme","icons","size","logger","error","key","imageURI","get","images","src","alt","iconAltText","style","display","ForwardIcon","forwardIcon","iconStyle","Check","expandedArrowIcon","transition","transform","onClick","className","CyClass","showSeparator","active","classNames","imageOnlyRendering","text","sideText","children","MenuItemConfigReaderBase","menuItemConfig","this","configuration","data","menuItems","Error","menuItemsOverrides","_getMenuItemsConfigOverrides","menuItemConfigOverride","Proxy","target","prop","categoryAndLabel","_getAnalyticsCategoryAndLabel","action","overridePropValue","loadCustomMenuItemsRenderers","rendererModules","menuItemConfigReader","menuItemActionFactory","map","module","RendererConstructor","default","toDictionary","item","HybridInfoMenuItemRenderer","configReader","hybrid","isDebugMode","GenericUsefulLinksMenuItemRenderer","TouchIdMenuItemRenderer","observable","makeObservable","sdk","events","onTouchIDActiveStateChanged","_updateTouchIdStatus","device","inCasino","isDeviceTouchEnable","isEnabled","runInAction","_enabled","Boolean","getTouchIDFeaturer","getTokenAndCheckEnable","isFeatureOn","_extraText","UsefulLinkItemComponent","onClickHandler","execute","options","MenuItemRendererBase","ComponentBody","useState","expanded","setExpanded","subItems","useMemo","userMenu","getUsefulLinkMenuItem","filter","useCallback","currentValue","height","useRef","length","onLinksListBoxCaptureRef","el","heightCssVal","rect","getBoundingClientRect","current","renderMenuItem","onBeforeClick","onSubItemClick","overflow","ref","ExpandableUsefulLinkItemComponent","withServices","GenericExpandableUsefulLinksMenuItemRenderer","expandableKey","menuItemKey","UserMenuItemsTitleBox","UserMenuItemComponent","alignItems","marginRight","renderIcon","GenericUserUserMenuItemRenderer","UserMenuItemConfigReader","drawer","menuItemsOverride","category","OrbitUserFlowAnalyticsCategory","label","OrbitUserFlowAnalyticsLabel","UserMenuService","_menuItemConfigReader","_customUsefulLinksMenuItems","_customUserMenuItems","sideMenu","then","_zIndex","zIndex","overlay","registerConsumer","onGameOpen","closeMenu","require","keys","isOpen","shouldOpen","shouldBeRewards","isRewardsInfo","analytics","sendOrbitUserFlowEvent","menuKeyIsExpandableItem","customMenuItem","regulation","getUsefulLinksMenuItem","getUserMenuItem","usefulLinks","_getUsefulLinksMenuItem","userMenuItems","_getUserMenuItem","_sendOrbitUserFlowAnalytics","logoutUser","now","Date","hour","getHours","minute","getMinutes","welcomeMessage","defaultMessage","conditions","result","rule","time","split","parseInt","ruleHour","ruleMinute","externalLinks","openMyAccount","cashier","openDeposit","channel","source","CHANNEL_SOURCE","area","AreaType","element","CHANNEL_ELEMENTS","openWithdraw","openMenu","_setIsRewardsInfo","_setIsOpen","closeMobileMenu","right","closeDrawer","ServiceBase","webpackContext","req","id","webpackContextResolve","__webpack_require__","o","e","code","Object","resolve","exports"],"sourceRoot":""}