403Webshell
Server IP : 80.87.202.40  /  Your IP : 216.73.216.169
Web Server : Apache
System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64
User : bitrix ( 600)
PHP Version : 8.2.27
Disable Function : NONE
MySQL : OFF |  cURL : ON |  WGET : ON |  Perl : ON |  Python : OFF |  Sudo : ON |  Pkexec : ON
Directory :  /home/bitrix/ext_www/rospirotorg.ru/bitrix/js/calendar/sharing/public-v2/dist/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/rospirotorg.ru/bitrix/js/calendar/sharing/public-v2/dist/public-v2.bundle.js
/* eslint-disable */
this.BX = this.BX || {};
this.BX.Calendar = this.BX.Calendar || {};
(function (exports,ui_icons_b24,ui_avatar,calendar_util,main_core,main_popup,main_date,ui_bottomsheet,ui_iconSet_actions,main_core_events) {
	'use strict';

	function bindShowOnHover(popup) {
	  if (popup instanceof main_popup.Menu) {
	    popup = popup.getPopupWindow();
	  }
	  const bindElement = popup.bindElement;
	  const container = popup.getPopupContainer();
	  let hoverElement = null;
	  const closeMenuHandler = () => {
	    setTimeout(() => {
	      if (!container.contains(hoverElement) && !bindElement.contains(hoverElement)) {
	        popup.close();
	      }
	    }, 100);
	  };
	  const showMenuHandler = () => {
	    setTimeout(() => {
	      if (bindElement.contains(hoverElement)) {
	        popup.show();
	      }
	    }, 300);
	  };
	  const clickHandler = () => {
	    if (!popup.isShown()) {
	      popup.show();
	    }
	  };
	  main_core.Event.bind(document, 'mouseover', event => {
	    hoverElement = event.target;
	  });
	  main_core.Event.bind(bindElement, 'mouseenter', showMenuHandler);
	  main_core.Event.bind(bindElement, 'mouseleave', closeMenuHandler);
	  main_core.Event.bind(container, 'mouseleave', closeMenuHandler);
	  main_core.Event.bind(bindElement, 'click', clickHandler);
	  let popupWidth = popup.getPopupContainer().offsetWidth;
	  let elementWidth = popup.bindElement.offsetWidth;
	  const angleLeft = main_popup.Popup.getOption('angleMinBottom');
	  const handleScroll = () => {
	    popup.adjustPosition();
	    if (popup.angle) {
	      popup.setAngle({
	        offset: popupWidth / 2 + angleLeft
	      });
	    }
	  };
	  popup.subscribeFromOptions({
	    onShow: () => {
	      popupWidth = popup.getPopupContainer().offsetWidth;
	      elementWidth = popup.bindElement.offsetWidth;
	      popup.setOffset({
	        offsetLeft: elementWidth / 2 - popupWidth / 2
	      });
	      popup.adjustPosition();
	      if (popup.angle) {
	        popup.setAngle({
	          offset: popupWidth / 2 + angleLeft
	        });
	      }
	      document.addEventListener('scroll', handleScroll, true);
	    },
	    onAfterPopupShow: () => {
	      const left = popup.bindElement.getBoundingClientRect().left + elementWidth / 2 - popupWidth / 2;
	      if (left < 0 || left + popupWidth > window.innerWidth) {
	        return;
	      }
	      popup.getPopupContainer().style.left = left + 'px';
	      if (popup.angle) {
	        popup.angle.element.style.marginLeft = popupWidth / 2 - 16 + 'px';
	      }
	    },
	    onClose: () => {
	      document.removeEventListener('scroll', handleScroll, true);
	    }
	  });
	}

	let _ = t => t,
	  _t,
	  _t2,
	  _t3,
	  _t4,
	  _t5;
	var _layout = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("layout");
	var _params = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("params");
	var _members = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("members");
	var _getMembersTitle = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getMembersTitle");
	var _renderAvatarItems = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("renderAvatarItems");
	var _renderMoreAvatar = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("renderMoreAvatar");
	var _renderAvatar = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("renderAvatar");
	var _renderCollabAvatar = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("renderCollabAvatar");
	var _hasAvatar = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("hasAvatar");
	class MembersList {
	  constructor(params) {
	    Object.defineProperty(this, _hasAvatar, {
	      value: _hasAvatar2
	    });
	    Object.defineProperty(this, _renderCollabAvatar, {
	      value: _renderCollabAvatar2
	    });
	    Object.defineProperty(this, _renderAvatar, {
	      value: _renderAvatar2
	    });
	    Object.defineProperty(this, _renderMoreAvatar, {
	      value: _renderMoreAvatar2
	    });
	    Object.defineProperty(this, _renderAvatarItems, {
	      value: _renderAvatarItems2
	    });
	    Object.defineProperty(this, _getMembersTitle, {
	      value: _getMembersTitle2
	    });
	    Object.defineProperty(this, _layout, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _params, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _members, {
	      writable: true,
	      value: void 0
	    });
	    babelHelpers.classPrivateFieldLooseBase(this, _layout)[_layout] = {};
	    babelHelpers.classPrivateFieldLooseBase(this, _params)[_params] = params;
	    babelHelpers.classPrivateFieldLooseBase(this, _members)[_members] = params.members;
	  }
	  render() {
	    if (!main_core.Type.isArrayFilled(babelHelpers.classPrivateFieldLooseBase(this, _members)[_members])) {
	      return '';
	    }
	    babelHelpers.classPrivateFieldLooseBase(this, _layout)[_layout].wrap = main_core.Tag.render(_t || (_t = _`
			<div class="${0}">
				<div class="${0}">
					${0}
				</div>
				<div class="calendar-pub-line-avatar-container" style="--ui-icon-size: ${0}px">
					${0}
				</div>
			</div>
		`), babelHelpers.classPrivateFieldLooseBase(this, _params)[_params].className, babelHelpers.classPrivateFieldLooseBase(this, _params)[_params].textClassName, babelHelpers.classPrivateFieldLooseBase(this, _getMembersTitle)[_getMembersTitle](), babelHelpers.classPrivateFieldLooseBase(this, _params)[_params].avatarSize, babelHelpers.classPrivateFieldLooseBase(this, _renderAvatarItems)[_renderAvatarItems]());
	    const menu = main_popup.MenuManager.create({
	      id: `calendar-pub-welcome-more-avatar-popup${Date.now()}`,
	      bindElement: babelHelpers.classPrivateFieldLooseBase(this, _layout)[_layout].avatarItems,
	      className: 'calendar-pub-users-popup',
	      items: babelHelpers.classPrivateFieldLooseBase(this, _members)[_members].map(member => ({
	        html: main_core.Tag.render(_t2 || (_t2 = _`
					<div class="calendar-pub-users-popup-avatar-container">
						${0}
						<div class="calendar-pub-users-popup-avatar-text">
							<span class="calendar-pub-users-popup-avatar-text-name">
								${0}
							</span>
							<span class="calendar-pub-users-popup-avatar-text-you">
								${0}
							</span>
						</div>
					</div>
				`), babelHelpers.classPrivateFieldLooseBase(this, _renderAvatar)[_renderAvatar](member, 'calendar-pub-users-popup-avatar'), main_core.Text.encode(`${member.name} ${member.lastName}`.trim()), member.isOwner ? main_core.Loc.getMessage('CALENDAR_SHARING_MEETING_YOU_LABEL') : '')
	      })),
	      maxHeight: 300,
	      maxWidth: 300
	    });
	    bindShowOnHover(menu);
	    return babelHelpers.classPrivateFieldLooseBase(this, _layout)[_layout].wrap;
	  }
	}
	function _getMembersTitle2() {
	  switch (true) {
	    case babelHelpers.classPrivateFieldLooseBase(this, _params)[_params].allAttendees:
	      return main_core.Loc.getMessage('CALENDAR_SHARING_MEETING_ATTENDEES');
	    case babelHelpers.classPrivateFieldLooseBase(this, _params)[_params].linkContext === 'group':
	      return main_core.Loc.getMessage('CALENDAR_SHARING_MEETING_GROUP_ATTENDEES');
	    default:
	      return main_core.Loc.getMessage('CALENDAR_SHARING_MEETING_HAS_MORE_USERS');
	  }
	}
	function _renderAvatarItems2() {
	  var _babelHelpers$classPr;
	  const maxAvatarsCount = (_babelHelpers$classPr = babelHelpers.classPrivateFieldLooseBase(this, _params)[_params].maxAvatarsCount) != null ? _babelHelpers$classPr : 4;
	  const showMoreIcon = babelHelpers.classPrivateFieldLooseBase(this, _members)[_members].length > maxAvatarsCount;
	  const avatarsCount = showMoreIcon ? maxAvatarsCount - 1 : maxAvatarsCount;
	  const avatarClassName = 'calendar-pub-line-avatar';
	  babelHelpers.classPrivateFieldLooseBase(this, _layout)[_layout].avatarItems = main_core.Tag.render(_t3 || (_t3 = _`
			<div class="calendar-pub-line-avatars">
				${0}
				${0}
			</div>
		`), babelHelpers.classPrivateFieldLooseBase(this, _members)[_members].slice(0, avatarsCount).map(member => babelHelpers.classPrivateFieldLooseBase(this, _renderAvatar)[_renderAvatar](member, avatarClassName)), showMoreIcon ? babelHelpers.classPrivateFieldLooseBase(this, _renderMoreAvatar)[_renderMoreAvatar]() : '');
	  return babelHelpers.classPrivateFieldLooseBase(this, _layout)[_layout].avatarItems;
	}
	function _renderMoreAvatar2() {
	  return main_core.Tag.render(_t4 || (_t4 = _`
			<span class="ui-icon ui-icon-common-user calendar-pub-line-avatar calendar-pub-line-avatar-more-container">
				<div class="ui-icon-set --more calendar-pub-line-avatar-more"></div>
			</span>
		`));
	}
	function _renderAvatar2(member, className = '') {
	  if (member.isCollabUser) {
	    return babelHelpers.classPrivateFieldLooseBase(this, _renderCollabAvatar)[_renderCollabAvatar](member);
	  }
	  return main_core.Tag.render(_t5 || (_t5 = _`
			<span class="ui-icon ui-icon-common-user ${0}">
				<i style="${0}"></i>
			</span>
		`), className, babelHelpers.classPrivateFieldLooseBase(this, _hasAvatar)[_hasAvatar](member) ? `background-image: url('${member.avatar}')` : '');
	}
	function _renderCollabAvatar2(member) {
	  return new ui_avatar.AvatarRoundGuest({
	    size: 36,
	    userName: `${member.name} ${member.lastName}`.trim(),
	    userpicPath: member.avatar,
	    baseColor: '#19cc45'
	  }).getContainer();
	}
	function _hasAvatar2(member) {
	  return main_core.Type.isStringFilled(member.avatar) && member.avatar !== '/bitrix/images/1.gif';
	}

	let _$1 = t => t,
	  _t$1,
	  _t2$1,
	  _t3$1,
	  _t4$1,
	  _t5$1,
	  _t6,
	  _t7;
	var _owner = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("owner");
	var _link = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("link");
	var _currentLang = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("currentLang");
	var _name = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("name");
	var _lastName = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("lastName");
	var _photo = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("photo");
	var _layout$1 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("layout");
	var _members$1 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("members");
	var _isGroupContext = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("isGroupContext");
	var _handleTimelineNotify = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("handleTimelineNotify");
	var _getNodeButton = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getNodeButton");
	var _getNodeLabel = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getNodeLabel");
	var _getNodeInfo = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getNodeInfo");
	var _renderAvatarsSection = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("renderAvatarsSection");
	var _renderMainAvatar = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("renderMainAvatar");
	class Welcome {
	  constructor(options) {
	    var _babelHelpers$classPr;
	    Object.defineProperty(this, _renderMainAvatar, {
	      value: _renderMainAvatar2
	    });
	    Object.defineProperty(this, _renderAvatarsSection, {
	      value: _renderAvatarsSection2
	    });
	    Object.defineProperty(this, _getNodeInfo, {
	      value: _getNodeInfo2
	    });
	    Object.defineProperty(this, _getNodeLabel, {
	      value: _getNodeLabel2
	    });
	    Object.defineProperty(this, _getNodeButton, {
	      value: _getNodeButton2
	    });
	    Object.defineProperty(this, _handleTimelineNotify, {
	      value: _handleTimelineNotify2
	    });
	    Object.defineProperty(this, _owner, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _link, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _currentLang, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _name, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _lastName, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _photo, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _layout$1, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _members$1, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _isGroupContext, {
	      writable: true,
	      value: void 0
	    });
	    babelHelpers.classPrivateFieldLooseBase(this, _owner)[_owner] = options.owner || null;
	    babelHelpers.classPrivateFieldLooseBase(this, _link)[_link] = options.link || null;
	    babelHelpers.classPrivateFieldLooseBase(this, _currentLang)[_currentLang] = options.currentLang || null;
	    babelHelpers.classPrivateFieldLooseBase(this, _name)[_name] = babelHelpers.classPrivateFieldLooseBase(this, _owner)[_owner].name || null;
	    babelHelpers.classPrivateFieldLooseBase(this, _lastName)[_lastName] = babelHelpers.classPrivateFieldLooseBase(this, _owner)[_owner].lastName || null;
	    babelHelpers.classPrivateFieldLooseBase(this, _photo)[_photo] = babelHelpers.classPrivateFieldLooseBase(this, _owner)[_owner].photo || null;
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$1)[_layout$1] = {
	      wrapper: null,
	      button: null,
	      label: null
	    };
	    babelHelpers.classPrivateFieldLooseBase(this, _members$1)[_members$1] = options.members;
	    babelHelpers.classPrivateFieldLooseBase(this, _isGroupContext)[_isGroupContext] = ((_babelHelpers$classPr = babelHelpers.classPrivateFieldLooseBase(this, _link)[_link]) == null ? void 0 : _babelHelpers$classPr.type) === 'group';
	    if (babelHelpers.classPrivateFieldLooseBase(this, _link)[_link] && babelHelpers.classPrivateFieldLooseBase(this, _link)[_link].type === 'crm_deal' && babelHelpers.classPrivateFieldLooseBase(this, _link)[_link].active === true && babelHelpers.classPrivateFieldLooseBase(this, _link)[_link].lastStatus !== 'viewed' && babelHelpers.classPrivateFieldLooseBase(this, _link)[_link].lastStatus !== 'notViewed') {
	      babelHelpers.classPrivateFieldLooseBase(this, _handleTimelineNotify)[_handleTimelineNotify]('notViewed');
	      babelHelpers.classPrivateFieldLooseBase(this, _link)[_link].lastStatus = 'notViewed';
	    }
	  }
	  disableButton() {
	    main_core.Dom.addClass(babelHelpers.classPrivateFieldLooseBase(this, _layout$1)[_layout$1].button, '--disabled');
	  }
	  enableButton() {
	    main_core.Dom.removeClass(babelHelpers.classPrivateFieldLooseBase(this, _layout$1)[_layout$1].button, '--disabled');
	  }
	  hideButton() {
	    main_core.Dom.addClass(babelHelpers.classPrivateFieldLooseBase(this, _layout$1)[_layout$1].button, '--hidden');
	  }
	  handleWelcomePageButtonClick() {
	    if (main_core.Dom.hasClass(babelHelpers.classPrivateFieldLooseBase(this, _layout$1)[_layout$1].button, '--disabled')) {
	      return;
	    }
	    if (babelHelpers.classPrivateFieldLooseBase(this, _link)[_link] && babelHelpers.classPrivateFieldLooseBase(this, _link)[_link].type === 'crm_deal' && babelHelpers.classPrivateFieldLooseBase(this, _link)[_link].active === true && babelHelpers.classPrivateFieldLooseBase(this, _link)[_link].lastStatus === 'notViewed') {
	      babelHelpers.classPrivateFieldLooseBase(this, _handleTimelineNotify)[_handleTimelineNotify]('viewed');
	      babelHelpers.classPrivateFieldLooseBase(this, _link)[_link].lastStatus = 'viewed';
	    }
	    this.disableButton();
	    main_core_events.EventEmitter.emit('showSlotSelector', this);
	  }
	  setAccessDenied() {
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$1)[_layout$1].info = babelHelpers.classPrivateFieldLooseBase(this, _getNodeInfo)[_getNodeInfo](true);
	  }
	  render() {
	    const node = main_core.Tag.render(_t$1 || (_t$1 = _$1`
			<div class="calendar-pub__block --welcome">
				${0}
				<div class="calendar-pub__welcome">
					<div class="calendar-pub__welcome-user">
						<div class="calendar-pub__welcome-userpic ui-icon ui-icon-common-user">
							${0}
						</div>
						<div class="calendar-pub-ui__typography-m" title="${0} ${0}">
							${0} ${0} 
						</div>
					</div>
					<div class="calendar-pub__block-separator"></div>
					${0}
					<div class="calendar-pub__welcome-bottom">
						${0}
					</div>
				</div>
			</div>
		`), babelHelpers.classPrivateFieldLooseBase(this, _getNodeLabel)[_getNodeLabel](), babelHelpers.classPrivateFieldLooseBase(this, _renderMainAvatar)[_renderMainAvatar](), babelHelpers.classPrivateFieldLooseBase(this, _name)[_name] || '', babelHelpers.classPrivateFieldLooseBase(this, _lastName)[_lastName] || '', babelHelpers.classPrivateFieldLooseBase(this, _name)[_name] || '', babelHelpers.classPrivateFieldLooseBase(this, _lastName)[_lastName] || '', babelHelpers.classPrivateFieldLooseBase(this, _getNodeInfo)[_getNodeInfo](), babelHelpers.classPrivateFieldLooseBase(this, _getNodeButton)[_getNodeButton]());
	    if (babelHelpers.classPrivateFieldLooseBase(this, _isGroupContext)[_isGroupContext]) {
	      const avatar = new ui_avatar.AvatarHexagonGuest({
	        size: 64,
	        userName: babelHelpers.classPrivateFieldLooseBase(this, _name)[_name].toUpperCase(),
	        baseColor: '#19CC45',
	        userpicPath: babelHelpers.classPrivateFieldLooseBase(this, _photo)[_photo]
	      });
	      avatar.renderTo(node.querySelector('.calendar-pub__group-avatar'));
	    }
	    return node;
	  }
	}
	function _handleTimelineNotify2(mode) {
	  void BX.ajax.runAction('calendar.api.sharingajax.handleTimelineNotify', {
	    data: {
	      linkHash: babelHelpers.classPrivateFieldLooseBase(this, _link)[_link].hash,
	      entityId: babelHelpers.classPrivateFieldLooseBase(this, _link)[_link].entityId,
	      entityType: babelHelpers.classPrivateFieldLooseBase(this, _link)[_link].type,
	      notifyType: mode
	    }
	  });
	}
	function _getNodeButton2() {
	  if (!babelHelpers.classPrivateFieldLooseBase(this, _layout$1)[_layout$1].button) {
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$1)[_layout$1].button = main_core.Tag.render(_t2$1 || (_t2$1 = _$1`
				<div class="calendar-pub-ui__btn">
					<div class="calendar-pub-ui__btn-text">${0}</div>
				</div>
			`), main_core.Loc.getMessage('CALENDAR_SHARING_SELECT_SLOT'));
	    main_core.Event.bind(babelHelpers.classPrivateFieldLooseBase(this, _layout$1)[_layout$1].button, 'click', () => {
	      this.handleWelcomePageButtonClick();
	    });
	    main_core_events.EventEmitter.subscribe('hideSlotSelector', this.enableButton.bind(this));
	  }
	  return babelHelpers.classPrivateFieldLooseBase(this, _layout$1)[_layout$1].button;
	}
	function _getNodeLabel2() {
	  if (!babelHelpers.classPrivateFieldLooseBase(this, _layout$1)[_layout$1].label) {
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$1)[_layout$1].label = main_core.Tag.render(_t3$1 || (_t3$1 = _$1`
				<div class="calendar-pub__block-label"></div>
			`));
	    if (babelHelpers.classPrivateFieldLooseBase(this, _currentLang)[_currentLang] === 'ru') {
	      main_core.Dom.addClass(babelHelpers.classPrivateFieldLooseBase(this, _layout$1)[_layout$1].label, '--ru');
	    }
	  }
	  return babelHelpers.classPrivateFieldLooseBase(this, _layout$1)[_layout$1].label;
	}
	function _getNodeInfo2(accessDenied = false) {
	  if (!babelHelpers.classPrivateFieldLooseBase(this, _layout$1)[_layout$1].info) {
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$1)[_layout$1].infoTitle = main_core.Tag.render(_t4$1 || (_t4$1 = _$1`
				<div class="calendar-pub-ui__typography-title calendar-pub__welcome-info_title"></div>
			`));
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$1)[_layout$1].infoSubTitle = main_core.Tag.render(_t5$1 || (_t5$1 = _$1`
				<div class="calendar-pub-ui__typography-s calendar-pub__welcome-info_subtitle"></div>
			`));
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$1)[_layout$1].info = main_core.Tag.render(_t6 || (_t6 = _$1`
				<div class="calendar-pub__welcome-info">
					${0}
					${0}
					${0}
				</div>
			`), babelHelpers.classPrivateFieldLooseBase(this, _layout$1)[_layout$1].infoTitle, babelHelpers.classPrivateFieldLooseBase(this, _layout$1)[_layout$1].infoSubTitle, babelHelpers.classPrivateFieldLooseBase(this, _renderAvatarsSection)[_renderAvatarsSection](babelHelpers.classPrivateFieldLooseBase(this, _members$1)[_members$1]));
	  }
	  const titleMessage = babelHelpers.classPrivateFieldLooseBase(this, _isGroupContext)[_isGroupContext] ? 'CALENDAR_SHARING_GROUP_FREE_SLOTS' : 'CALENDAR_SHARING_MY_FREE_SLOTS';
	  let title = main_core.Loc.getMessage(titleMessage);
	  const subtitleMessage = babelHelpers.classPrivateFieldLooseBase(this, _isGroupContext)[_isGroupContext] ? 'CALENDAR_SHARING_GROUP_YOU_CAN_CHOOSE_FREE_MEETING_TIME' : 'CALENDAR_SHARING_YOU_CAN_CHOOSE_FREE_MEETING_TIME';
	  let subTitle = main_core.Loc.getMessage(subtitleMessage);
	  if (accessDenied) {
	    title = main_core.Loc.getMessage('CALENDAR_SHARING_SLOTS_ACCESS_DENIED');
	    subTitle = main_core.Loc.getMessage('CALENDAR_SHARING_SLOTS_ACCESS_DENIED_INFO');
	  }
	  babelHelpers.classPrivateFieldLooseBase(this, _layout$1)[_layout$1].infoTitle.innerText = title;
	  // eslint-disable-next-line @bitrix24/bitrix24-rules/no-native-dom-methods
	  babelHelpers.classPrivateFieldLooseBase(this, _layout$1)[_layout$1].infoSubTitle.appendChild(main_core.Tag.render(_t7 || (_t7 = _$1`<span>${0}</span>`), subTitle));
	  return babelHelpers.classPrivateFieldLooseBase(this, _layout$1)[_layout$1].info;
	}
	function _renderAvatarsSection2(members) {
	  var _babelHelpers$classPr2;
	  return new MembersList({
	    className: 'calendar-pub-welcome-avatar-section-container',
	    textClassName: 'calendar-pub-ui__typography-xs-uppercase',
	    avatarSize: 36,
	    members,
	    linkContext: (_babelHelpers$classPr2 = babelHelpers.classPrivateFieldLooseBase(this, _link)[_link]) == null ? void 0 : _babelHelpers$classPr2.type
	  }).render();
	}
	function _renderMainAvatar2() {
	  if (babelHelpers.classPrivateFieldLooseBase(this, _isGroupContext)[_isGroupContext]) {
	    return '<div class="calendar-pub__group-avatar"></div>';
	  }
	  const avatarStyle = babelHelpers.classPrivateFieldLooseBase(this, _photo)[_photo] ? `style="background-image: url(${encodeURI(babelHelpers.classPrivateFieldLooseBase(this, _photo)[_photo])})"` : '';
	  return `<i ${avatarStyle}></i>`;
	}

	let _$2 = t => t,
	  _t$2;
	var _layout$2 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("layout");
	var _value = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("value");
	var _notCurrentMonth = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("notCurrentMonth");
	var _today = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("today");
	var _selected = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("selected");
	var _weekend = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("weekend");
	var _slots = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("slots");
	var _enableBooking = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("enableBooking");
	var _bindEvents = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("bindEvents");
	var _getNodeWrapper = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getNodeWrapper");
	class Day {
	  constructor(options) {
	    Object.defineProperty(this, _getNodeWrapper, {
	      value: _getNodeWrapper2
	    });
	    Object.defineProperty(this, _bindEvents, {
	      value: _bindEvents2
	    });
	    Object.defineProperty(this, _layout$2, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _value, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _notCurrentMonth, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _today, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _selected, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _weekend, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _slots, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _enableBooking, {
	      writable: true,
	      value: void 0
	    });
	    babelHelpers.classPrivateFieldLooseBase(this, _value)[_value] = options.value || null;
	    babelHelpers.classPrivateFieldLooseBase(this, _notCurrentMonth)[_notCurrentMonth] = options.notCurrentMonth || null;
	    babelHelpers.classPrivateFieldLooseBase(this, _today)[_today] = options.today || null;
	    babelHelpers.classPrivateFieldLooseBase(this, _slots)[_slots] = options.slots || null;
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$2)[_layout$2] = {
	      wrapper: null
	    };
	    babelHelpers.classPrivateFieldLooseBase(this, _selected)[_selected] = options.selected || null;
	    babelHelpers.classPrivateFieldLooseBase(this, _weekend)[_weekend] = options.weekend || null;
	    babelHelpers.classPrivateFieldLooseBase(this, _enableBooking)[_enableBooking] = options.enableBooking || null;
	    if (babelHelpers.classPrivateFieldLooseBase(this, _selected)[_selected]) {
	      this.select();
	    }
	    babelHelpers.classPrivateFieldLooseBase(this, _bindEvents)[_bindEvents]();
	  }
	  isSelected() {
	    return babelHelpers.classPrivateFieldLooseBase(this, _selected)[_selected];
	  }
	  getDay() {
	    return babelHelpers.classPrivateFieldLooseBase(this, _value)[_value];
	  }
	  isEnableBooking() {
	    return babelHelpers.classPrivateFieldLooseBase(this, _enableBooking)[_enableBooking];
	  }
	  select() {
	    this.highlight();
	    main_core_events.EventEmitter.emit('switchSlots', {
	      slots: babelHelpers.classPrivateFieldLooseBase(this, _slots)[_slots]
	    });
	  }
	  highlight() {
	    babelHelpers.classPrivateFieldLooseBase(this, _selected)[_selected] = true;
	    main_core.Dom.addClass(babelHelpers.classPrivateFieldLooseBase(this, _getNodeWrapper)[_getNodeWrapper](), '--selected');
	    main_core_events.EventEmitter.emit('selectDate', this);
	  }
	  unSelect() {
	    babelHelpers.classPrivateFieldLooseBase(this, _selected)[_selected] = null;
	    main_core.Dom.removeClass(babelHelpers.classPrivateFieldLooseBase(this, _getNodeWrapper)[_getNodeWrapper](), '--selected');
	  }
	  render() {
	    return babelHelpers.classPrivateFieldLooseBase(this, _getNodeWrapper)[_getNodeWrapper]();
	  }
	}
	function _bindEvents2() {
	  main_core.Event.bind(babelHelpers.classPrivateFieldLooseBase(this, _getNodeWrapper)[_getNodeWrapper](), 'click', this.select.bind(this));
	}
	function _getNodeWrapper2() {
	  if (!babelHelpers.classPrivateFieldLooseBase(this, _layout$2)[_layout$2].wrapper) {
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$2)[_layout$2].wrapper = main_core.Tag.render(_t$2 || (_t$2 = _$2`
				<div class="calendar-sharing__month-col --day">${0}</div>
			`), babelHelpers.classPrivateFieldLooseBase(this, _value)[_value]);
	    if (babelHelpers.classPrivateFieldLooseBase(this, _notCurrentMonth)[_notCurrentMonth]) {
	      main_core.Dom.addClass(babelHelpers.classPrivateFieldLooseBase(this, _layout$2)[_layout$2].wrapper, '--not-current-month');
	    }
	    if (babelHelpers.classPrivateFieldLooseBase(this, _weekend)[_weekend]) {
	      main_core.Dom.addClass(babelHelpers.classPrivateFieldLooseBase(this, _layout$2)[_layout$2].wrapper, '--weekend');
	    }
	    if (babelHelpers.classPrivateFieldLooseBase(this, _enableBooking)[_enableBooking]) {
	      main_core.Dom.addClass(babelHelpers.classPrivateFieldLooseBase(this, _layout$2)[_layout$2].wrapper, '--enable-booking');
	    }
	  }
	  return babelHelpers.classPrivateFieldLooseBase(this, _layout$2)[_layout$2].wrapper;
	}

	let _$3 = t => t,
	  _t$3,
	  _t2$2,
	  _t3$2,
	  _t4$2,
	  _t5$2,
	  _t6$1,
	  _t7$1,
	  _t8,
	  _t9,
	  _t10,
	  _t11,
	  _t12,
	  _t13,
	  _t14,
	  _t15,
	  _t16;
	var _userIds = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("userIds");
	var _accessibility = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("accessibility");
	var _layout$3 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("layout");
	var _currentMonth = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("currentMonth");
	var _currentYear = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("currentYear");
	var _nowTime = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("nowTime");
	var _months = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("months");
	var _selectedDay = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("selectedDay");
	var _monthsSlotsMap = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("monthsSlotsMap");
	var _timezoneOffsetUtc = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("timezoneOffsetUtc");
	var _selectedTimezoneOffsetUtc = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("selectedTimezoneOffsetUtc");
	var _currentMonthIndex = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("currentMonthIndex");
	var _currentDayNumber = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("currentDayNumber");
	var _timezoneList = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("timezoneList");
	var _calendarSettings = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("calendarSettings");
	var _rule = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("rule");
	var _selectedTimezoneId = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("selectedTimezoneId");
	var _selectedTimezoneNode = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("selectedTimezoneNode");
	var _config = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("config");
	var _loc = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("loc");
	var _timeZonePopup = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("timeZonePopup");
	var _bindEvents$1 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("bindEvents");
	var _incrementTime = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("incrementTime");
	var _initConfig = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("initConfig");
	var _separate = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("separate");
	var _initCurrentMonthSlots = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("initCurrentMonthSlots");
	var _calculateDateTimeSlots = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("calculateDateTimeSlots");
	var _doIntervalsIntersect = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("doIntervalsIntersect");
	var _createMonth = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("createMonth");
	var _reCreateCurrentMonth = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("reCreateCurrentMonth");
	var _createNextMonth = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("createNextMonth");
	var _getNextMonth = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getNextMonth");
	var _getNextYear = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getNextYear");
	var _loadMonthAccessibility = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("loadMonthAccessibility");
	var _getMonthName = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getMonthName");
	var _getMonthDays = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getMonthDays");
	var _getDayToSelect = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getDayToSelect");
	var _isHoliday = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("isHoliday");
	var _isYearHoliday = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("isYearHoliday");
	var _getNodeTimeZone = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getNodeTimeZone");
	var _getPopupTimezoneSelect = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getPopupTimezoneSelect");
	var _getNodeTimezoneSelect = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getNodeTimezoneSelect");
	var _updateTimezone = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("updateTimezone");
	var _getFormattedTimezone = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getFormattedTimezone");
	var _getNodeDaysOfWeek = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getNodeDaysOfWeek");
	var _getNodeDay = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getNodeDay");
	var _getNodeMonth = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getNodeMonth");
	var _getNodeMonthWrapper = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getNodeMonthWrapper");
	var _getNodeTimezoneWrapper = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getNodeTimezoneWrapper");
	var _getNodeCurrentMonth = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getNodeCurrentMonth");
	var _updateCalendar = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("updateCalendar");
	var _getNodePrevNav = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getNodePrevNav");
	var _getNodeNextNav = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getNodeNextNav");
	var _getNodeNavigation = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getNodeNavigation");
	var _handleNextMonthArrowClick = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("handleNextMonthArrowClick");
	var _handlePreviousMonthArrowClick = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("handlePreviousMonthArrowClick");
	var _updateMonth = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("updateMonth");
	var _getNodeBack = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getNodeBack");
	var _getNodeWrapper$1 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getNodeWrapper");
	class Calendar {
	  constructor(options) {
	    Object.defineProperty(this, _getNodeWrapper$1, {
	      value: _getNodeWrapper2$1
	    });
	    Object.defineProperty(this, _getNodeBack, {
	      value: _getNodeBack2
	    });
	    Object.defineProperty(this, _updateMonth, {
	      value: _updateMonth2
	    });
	    Object.defineProperty(this, _handlePreviousMonthArrowClick, {
	      value: _handlePreviousMonthArrowClick2
	    });
	    Object.defineProperty(this, _handleNextMonthArrowClick, {
	      value: _handleNextMonthArrowClick2
	    });
	    Object.defineProperty(this, _getNodeNavigation, {
	      value: _getNodeNavigation2
	    });
	    Object.defineProperty(this, _getNodeNextNav, {
	      value: _getNodeNextNav2
	    });
	    Object.defineProperty(this, _getNodePrevNav, {
	      value: _getNodePrevNav2
	    });
	    Object.defineProperty(this, _updateCalendar, {
	      value: _updateCalendar2
	    });
	    Object.defineProperty(this, _getNodeCurrentMonth, {
	      value: _getNodeCurrentMonth2
	    });
	    Object.defineProperty(this, _getNodeTimezoneWrapper, {
	      value: _getNodeTimezoneWrapper2
	    });
	    Object.defineProperty(this, _getNodeMonthWrapper, {
	      value: _getNodeMonthWrapper2
	    });
	    Object.defineProperty(this, _getNodeMonth, {
	      value: _getNodeMonth2
	    });
	    Object.defineProperty(this, _getNodeDay, {
	      value: _getNodeDay2
	    });
	    Object.defineProperty(this, _getNodeDaysOfWeek, {
	      value: _getNodeDaysOfWeek2
	    });
	    Object.defineProperty(this, _getFormattedTimezone, {
	      value: _getFormattedTimezone2
	    });
	    Object.defineProperty(this, _updateTimezone, {
	      value: _updateTimezone2
	    });
	    Object.defineProperty(this, _getNodeTimezoneSelect, {
	      value: _getNodeTimezoneSelect2
	    });
	    Object.defineProperty(this, _getPopupTimezoneSelect, {
	      value: _getPopupTimezoneSelect2
	    });
	    Object.defineProperty(this, _getNodeTimeZone, {
	      value: _getNodeTimeZone2
	    });
	    Object.defineProperty(this, _isYearHoliday, {
	      value: _isYearHoliday2
	    });
	    Object.defineProperty(this, _isHoliday, {
	      value: _isHoliday2
	    });
	    Object.defineProperty(this, _getDayToSelect, {
	      value: _getDayToSelect2
	    });
	    Object.defineProperty(this, _getMonthDays, {
	      value: _getMonthDays2
	    });
	    Object.defineProperty(this, _getMonthName, {
	      value: _getMonthName2
	    });
	    Object.defineProperty(this, _loadMonthAccessibility, {
	      value: _loadMonthAccessibility2
	    });
	    Object.defineProperty(this, _getNextYear, {
	      value: _getNextYear2
	    });
	    Object.defineProperty(this, _getNextMonth, {
	      value: _getNextMonth2
	    });
	    Object.defineProperty(this, _createNextMonth, {
	      value: _createNextMonth2
	    });
	    Object.defineProperty(this, _reCreateCurrentMonth, {
	      value: _reCreateCurrentMonth2
	    });
	    Object.defineProperty(this, _createMonth, {
	      value: _createMonth2
	    });
	    Object.defineProperty(this, _doIntervalsIntersect, {
	      value: _doIntervalsIntersect2
	    });
	    Object.defineProperty(this, _calculateDateTimeSlots, {
	      value: _calculateDateTimeSlots2
	    });
	    Object.defineProperty(this, _initCurrentMonthSlots, {
	      value: _initCurrentMonthSlots2
	    });
	    Object.defineProperty(this, _separate, {
	      value: _separate2
	    });
	    Object.defineProperty(this, _initConfig, {
	      value: _initConfig2
	    });
	    Object.defineProperty(this, _incrementTime, {
	      value: _incrementTime2
	    });
	    Object.defineProperty(this, _bindEvents$1, {
	      value: _bindEvents2$1
	    });
	    Object.defineProperty(this, _userIds, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _accessibility, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _layout$3, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _currentMonth, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _currentYear, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _nowTime, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _months, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _selectedDay, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _monthsSlotsMap, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _timezoneOffsetUtc, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _selectedTimezoneOffsetUtc, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _currentMonthIndex, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _currentDayNumber, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _timezoneList, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _calendarSettings, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _rule, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _selectedTimezoneId, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _selectedTimezoneNode, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _config, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _loc, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _timeZonePopup, {
	      writable: true,
	      value: void 0
	    });
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$3)[_layout$3] = {
	      wrapper: null,
	      monthWrapper: null,
	      timezoneWrapper: null,
	      month: null,
	      currentMonth: null,
	      prevNav: null,
	      nextNav: null,
	      daysOfWeek: null,
	      navigation: null,
	      back: null
	    };
	    babelHelpers.classPrivateFieldLooseBase(this, _userIds)[_userIds] = options.userIds;
	    babelHelpers.classPrivateFieldLooseBase(this, _accessibility)[_accessibility] = options.accessibility;
	    babelHelpers.classPrivateFieldLooseBase(this, _timezoneList)[_timezoneList] = options.timezoneList;
	    babelHelpers.classPrivateFieldLooseBase(this, _calendarSettings)[_calendarSettings] = options.calendarSettings;
	    babelHelpers.classPrivateFieldLooseBase(this, _rule)[_rule] = options.rule;
	    babelHelpers.classPrivateFieldLooseBase(this, _nowTime)[_nowTime] = new Date();
	    babelHelpers.classPrivateFieldLooseBase(this, _currentMonthIndex)[_currentMonthIndex] = 0;
	    babelHelpers.classPrivateFieldLooseBase(this, _currentDayNumber)[_currentDayNumber] = 1;
	    babelHelpers.classPrivateFieldLooseBase(this, _selectedTimezoneId)[_selectedTimezoneId] = Intl.DateTimeFormat().resolvedOptions().timeZone || 'UTC';
	    babelHelpers.classPrivateFieldLooseBase(this, _currentMonth)[_currentMonth] = babelHelpers.classPrivateFieldLooseBase(this, _nowTime)[_nowTime].getMonth();
	    babelHelpers.classPrivateFieldLooseBase(this, _currentYear)[_currentYear] = babelHelpers.classPrivateFieldLooseBase(this, _nowTime)[_nowTime].getFullYear();
	    babelHelpers.classPrivateFieldLooseBase(this, _timezoneOffsetUtc)[_timezoneOffsetUtc] = babelHelpers.classPrivateFieldLooseBase(this, _nowTime)[_nowTime].getTimezoneOffset();
	    babelHelpers.classPrivateFieldLooseBase(this, _selectedTimezoneOffsetUtc)[_selectedTimezoneOffsetUtc] = babelHelpers.classPrivateFieldLooseBase(this, _nowTime)[_nowTime].getTimezoneOffset();
	    babelHelpers.classPrivateFieldLooseBase(this, _months)[_months] = [];
	    babelHelpers.classPrivateFieldLooseBase(this, _monthsSlotsMap)[_monthsSlotsMap] = [];
	    babelHelpers.classPrivateFieldLooseBase(this, _config)[_config] = {
	      slotSize: babelHelpers.classPrivateFieldLooseBase(this, _rule)[_rule].slotSize,
	      freeTime: {},
	      stepSize: 30,
	      weekHolidays: [6, 0],
	      weekStart: 1
	    };
	    babelHelpers.classPrivateFieldLooseBase(this, _loc)[_loc] = {
	      weekdays: calendar_util.Util.getWeekdaysLoc()
	    };
	    babelHelpers.classPrivateFieldLooseBase(this, _timeZonePopup)[_timeZonePopup] = null;
	    babelHelpers.classPrivateFieldLooseBase(this, _initConfig)[_initConfig]();
	    babelHelpers.classPrivateFieldLooseBase(this, _initCurrentMonthSlots)[_initCurrentMonthSlots]();
	    babelHelpers.classPrivateFieldLooseBase(this, _bindEvents$1)[_bindEvents$1]();

	    // preload the next month's accessibilities
	    const _nextYear = babelHelpers.classPrivateFieldLooseBase(this, _getNextYear)[_getNextYear]();
	    const _nextMonth = babelHelpers.classPrivateFieldLooseBase(this, _getNextMonth)[_getNextMonth]();
	    babelHelpers.classPrivateFieldLooseBase(this, _loadMonthAccessibility)[_loadMonthAccessibility](_nextYear, _nextMonth, false);
	    setInterval(babelHelpers.classPrivateFieldLooseBase(this, _incrementTime)[_incrementTime].bind(this), 15000);
	  }
	  async updateEventSlotsList() {
	    const month = babelHelpers.classPrivateFieldLooseBase(this, _months)[_months][babelHelpers.classPrivateFieldLooseBase(this, _currentMonthIndex)[_currentMonthIndex]];
	    const currentYear = month.year;
	    const currentMonth = month.month + 1;
	    await babelHelpers.classPrivateFieldLooseBase(this, _loadMonthAccessibility)[_loadMonthAccessibility](currentYear, currentMonth);
	    babelHelpers.classPrivateFieldLooseBase(this, _reCreateCurrentMonth)[_reCreateCurrentMonth]();
	  }
	  selectFirstAvailableDay() {
	    let visibleDays = babelHelpers.classPrivateFieldLooseBase(this, _months)[_months][babelHelpers.classPrivateFieldLooseBase(this, _currentMonthIndex)[_currentMonthIndex]].days;
	    if (babelHelpers.classPrivateFieldLooseBase(this, _currentMonthIndex)[_currentMonthIndex] === 0) {
	      const todayDay = babelHelpers.classPrivateFieldLooseBase(this, _nowTime)[_nowTime].getDate();
	      visibleDays = visibleDays.filter(day => day.getDay() >= todayDay).slice(0, 14);
	    }
	    let dayToSelect = visibleDays.find(day => day.isEnableBooking());
	    if (dayToSelect === undefined) {
	      dayToSelect = visibleDays[0];
	    }
	    dayToSelect.select();
	  }
	  selectMonthDay() {
	    const dayToSelect = babelHelpers.classPrivateFieldLooseBase(this, _getDayToSelect)[_getDayToSelect]();
	    babelHelpers.classPrivateFieldLooseBase(this, _currentDayNumber)[_currentDayNumber] = dayToSelect.day;
	    dayToSelect.select();
	  }
	  highlightMonthDay() {
	    const dayToSelect = babelHelpers.classPrivateFieldLooseBase(this, _getDayToSelect)[_getDayToSelect]();
	    babelHelpers.classPrivateFieldLooseBase(this, _currentDayNumber)[_currentDayNumber] = dayToSelect.day;
	    dayToSelect.highlight();
	  }
	  getSelectedTimezoneId() {
	    return babelHelpers.classPrivateFieldLooseBase(this, _selectedTimezoneId)[_selectedTimezoneId];
	  }
	  getTimezonePrefix(timezoneOffset) {
	    const offset = timezoneOffset * 1000 - babelHelpers.classPrivateFieldLooseBase(this, _timezoneOffsetUtc)[_timezoneOffsetUtc] * -60000;
	    const date = new Date(babelHelpers.classPrivateFieldLooseBase(this, _nowTime)[_nowTime].getTime() + offset);
	    return main_date.DateTimeFormat.format(calendar_util.Util.getTimeFormatShort(), date.getTime() / 1000);
	  }
	  render() {
	    return babelHelpers.classPrivateFieldLooseBase(this, _getNodeWrapper$1)[_getNodeWrapper$1]();
	  }
	}
	function _bindEvents2$1() {
	  main_core_events.EventEmitter.subscribe('selectDate', event => {
	    const newSelectedDay = event.data;
	    if (babelHelpers.classPrivateFieldLooseBase(this, _selectedDay)[_selectedDay] !== newSelectedDay) {
	      var _babelHelpers$classPr;
	      (_babelHelpers$classPr = babelHelpers.classPrivateFieldLooseBase(this, _selectedDay)[_selectedDay]) == null ? void 0 : _babelHelpers$classPr.unSelect();
	    }
	    babelHelpers.classPrivateFieldLooseBase(this, _selectedDay)[_selectedDay] = newSelectedDay;
	    babelHelpers.classPrivateFieldLooseBase(this, _currentDayNumber)[_currentDayNumber] = babelHelpers.classPrivateFieldLooseBase(this, _selectedDay)[_selectedDay].getDay();
	  });
	  main_core_events.EventEmitter.subscribe('onSaveEvent', async event => {
	    if (event.data.state === 'created' || event.data.state === 'not-created') {
	      await this.updateEventSlotsList();
	      this.highlightMonthDay();
	    }
	  });
	  main_core_events.EventEmitter.subscribe('onDeleteEvent', async () => {
	    await this.updateEventSlotsList();
	  });
	  main_core_events.EventEmitter.subscribe('onCreateAnotherEventButtonClick', () => {
	    this.selectFirstAvailableDay();
	  });
	}
	function _incrementTime2() {
	  babelHelpers.classPrivateFieldLooseBase(this, _nowTime)[_nowTime] = new Date();
	  const timezoneNode = babelHelpers.classPrivateFieldLooseBase(this, _getNodeTimeZone)[_getNodeTimeZone]();
	  main_core.Dom.clean(babelHelpers.classPrivateFieldLooseBase(this, _getNodeTimezoneWrapper)[_getNodeTimezoneWrapper]());
	  main_core.Dom.append(timezoneNode, babelHelpers.classPrivateFieldLooseBase(this, _getNodeTimezoneWrapper)[_getNodeTimezoneWrapper]());
	}
	function _initConfig2() {
	  if (babelHelpers.classPrivateFieldLooseBase(this, _calendarSettings)[_calendarSettings].weekHolidays) {
	    babelHelpers.classPrivateFieldLooseBase(this, _config)[_config].weekHolidays = babelHelpers.classPrivateFieldLooseBase(this, _calendarSettings)[_calendarSettings].weekHolidays.map(weekDay => calendar_util.Util.getIndByWeekDay(weekDay));
	  }
	  if (babelHelpers.classPrivateFieldLooseBase(this, _calendarSettings)[_calendarSettings].yearHolidays) {
	    babelHelpers.classPrivateFieldLooseBase(this, _config)[_config].yearHolidays = babelHelpers.classPrivateFieldLooseBase(this, _calendarSettings)[_calendarSettings].yearHolidays;
	  }
	  if (babelHelpers.classPrivateFieldLooseBase(this, _calendarSettings)[_calendarSettings].weekStart) {
	    babelHelpers.classPrivateFieldLooseBase(this, _config)[_config].weekStart = calendar_util.Util.getIndByWeekDay(babelHelpers.classPrivateFieldLooseBase(this, _calendarSettings)[_calendarSettings].weekStart);
	    babelHelpers.classPrivateFieldLooseBase(this, _loc)[_loc].weekdays.push(...babelHelpers.classPrivateFieldLooseBase(this, _loc)[_loc].weekdays.splice(0, babelHelpers.classPrivateFieldLooseBase(this, _config)[_config].weekStart));
	  }
	  for (const range of babelHelpers.classPrivateFieldLooseBase(this, _rule)[_rule].ranges) {
	    for (const weekday of range.weekdays) {
	      var _babelHelpers$classPr2, _babelHelpers$classPr3;
	      (_babelHelpers$classPr3 = (_babelHelpers$classPr2 = babelHelpers.classPrivateFieldLooseBase(this, _config)[_config].freeTime)[weekday]) != null ? _babelHelpers$classPr3 : _babelHelpers$classPr2[weekday] = [];
	      babelHelpers.classPrivateFieldLooseBase(this, _config)[_config].freeTime[weekday].push({
	        from: parseInt(range.from, 10),
	        to: parseInt(range.to, 10)
	      });
	      const [intersected, notIntersected] = babelHelpers.classPrivateFieldLooseBase(this, _separate)[_separate](interval => babelHelpers.classPrivateFieldLooseBase(this, _doIntervalsIntersect)[_doIntervalsIntersect](interval.from, interval.to, parseInt(range.from, 10), parseInt(range.to, 10)), babelHelpers.classPrivateFieldLooseBase(this, _config)[_config].freeTime[weekday]);
	      if (intersected.length > 0) {
	        const from = Math.min(...intersected.map(interval => interval.from));
	        const to = Math.max(...intersected.map(interval => interval.to));
	        babelHelpers.classPrivateFieldLooseBase(this, _config)[_config].freeTime[weekday] = [...notIntersected, {
	          from,
	          to
	        }];
	      }
	    }
	  }
	  const timezoneOffset = calendar_util.Util.getTimeZoneOffset(babelHelpers.classPrivateFieldLooseBase(this, _selectedTimezoneId)[_selectedTimezoneId]);
	  const serverOffset = parseInt(babelHelpers.classPrivateFieldLooseBase(this, _calendarSettings)[_calendarSettings].serverOffset, 10);
	  const offset = serverOffset + timezoneOffset;
	  for (const weekday in babelHelpers.classPrivateFieldLooseBase(this, _config)[_config].freeTime) {
	    babelHelpers.classPrivateFieldLooseBase(this, _config)[_config].freeTime[weekday] = babelHelpers.classPrivateFieldLooseBase(this, _config)[_config].freeTime[weekday].map(range => {
	      return {
	        from: range.from - offset,
	        to: range.to - offset
	      };
	    });
	  }
	  if (!babelHelpers.classPrivateFieldLooseBase(this, _timezoneList)[_timezoneList][babelHelpers.classPrivateFieldLooseBase(this, _selectedTimezoneId)[_selectedTimezoneId]]) {
	    babelHelpers.classPrivateFieldLooseBase(this, _selectedTimezoneId)[_selectedTimezoneId] = 'UTC';
	  }
	}
	function _separate2(take, array) {
	  return array.reduce(([t, f], e) => take(e) ? [[...t, e], f] : [t, [...f, e]], [[], []]);
	}
	function _initCurrentMonthSlots2() {
	  babelHelpers.classPrivateFieldLooseBase(this, _calculateDateTimeSlots)[_calculateDateTimeSlots](babelHelpers.classPrivateFieldLooseBase(this, _nowTime)[_nowTime].getFullYear(), babelHelpers.classPrivateFieldLooseBase(this, _nowTime)[_nowTime].getMonth());
	  const month = babelHelpers.classPrivateFieldLooseBase(this, _createMonth)[_createMonth](babelHelpers.classPrivateFieldLooseBase(this, _nowTime)[_nowTime].getFullYear(), babelHelpers.classPrivateFieldLooseBase(this, _nowTime)[_nowTime].getMonth());
	  babelHelpers.classPrivateFieldLooseBase(this, _months)[_months].push(month);
	}
	function _calculateDateTimeSlots2(year, month) {
	  const map = [];
	  const daysCount = new Date(year, month + 1, 0).getDate();
	  const accessibilityArrayKey = `${month + 1}.${year}`;
	  const nowTimestamp = babelHelpers.classPrivateFieldLooseBase(this, _nowTime)[_nowTime].getTime();
	  const timezoneOffset = (babelHelpers.classPrivateFieldLooseBase(this, _selectedTimezoneOffsetUtc)[_selectedTimezoneOffsetUtc] - babelHelpers.classPrivateFieldLooseBase(this, _timezoneOffsetUtc)[_timezoneOffsetUtc]) * -60 * 1000;
	  for (let dayIndex = 1; dayIndex <= daysCount; dayIndex++) {
	    const currentDate = new Date(year, month, dayIndex);
	    if (babelHelpers.classPrivateFieldLooseBase(this, _isYearHoliday)[_isYearHoliday](currentDate)) {
	      continue;
	    }
	    const freeTime = babelHelpers.classPrivateFieldLooseBase(this, _config)[_config].freeTime[currentDate.getDay()];
	    if (main_core.Type.isUndefined(freeTime)) {
	      continue;
	    }
	    for (const range of freeTime) {
	      const from = new Date(year, month, dayIndex, Math.floor(range.from / 60), range.from % 60);
	      const to = new Date(year, month, dayIndex, Math.floor(range.to / 60), range.to % 60);
	      const dayAccessibility = babelHelpers.classPrivateFieldLooseBase(this, _accessibility)[_accessibility][accessibilityArrayKey].filter(event => {
	        const parseUTC = !event.isFullDay;
	        return babelHelpers.classPrivateFieldLooseBase(this, _doIntervalsIntersect)[_doIntervalsIntersect](BX.parseDate(event.from, parseUTC).getTime(), BX.parseDate(event.to, parseUTC).getTime(), from.getTime(), to.getTime());
	      });
	      while (from.getTime() < to.getTime()) {
	        const slotStart = from.getTime();
	        const slotEnd = slotStart + babelHelpers.classPrivateFieldLooseBase(this, _config)[_config].slotSize * 60 * 1000;
	        if (slotEnd > to.getTime()) {
	          break;
	        }
	        const slotAccessibility = dayAccessibility.filter(event => {
	          const parseUTC = !event.isFullDay;
	          return babelHelpers.classPrivateFieldLooseBase(this, _doIntervalsIntersect)[_doIntervalsIntersect](BX.parseDate(event.from, parseUTC).getTime(), BX.parseDate(event.to, parseUTC).getTime(), slotStart, slotEnd);
	        });
	        const available = slotAccessibility.length === 0 && slotStart > nowTimestamp;
	        if (available) {
	          var _map$dateIndex;
	          const timeFrom = new Date(slotStart + timezoneOffset);
	          const timeTo = new Date(timeFrom.getTime() + (slotEnd - slotStart));
	          const dateIndex = timeFrom.getDate();
	          (_map$dateIndex = map[dateIndex]) != null ? _map$dateIndex : map[dateIndex] = [];
	          if (timeFrom.getMonth() === month) {
	            map[dateIndex].push({
	              timeFrom,
	              timeTo
	            });
	          }
	        }
	        from.setTime(from.getTime() + babelHelpers.classPrivateFieldLooseBase(this, _config)[_config].stepSize * 60 * 1000);
	      }
	    }
	  }
	  babelHelpers.classPrivateFieldLooseBase(this, _monthsSlotsMap)[_monthsSlotsMap][accessibilityArrayKey] = map;
	}
	function _doIntervalsIntersect2(from1, to1, from2, to2) {
	  const startsInside = from2 <= from1 && from1 < to2;
	  const endsInside = from2 < to1 && to1 <= to2;
	  const startsBeforeEndsAfter = from1 <= from2 && to1 >= to2;
	  return startsInside || endsInside || startsBeforeEndsAfter;
	}
	function _createMonth2(year, month) {
	  return {
	    year,
	    month,
	    currentTimezoneOffset: babelHelpers.classPrivateFieldLooseBase(this, _selectedTimezoneOffsetUtc)[_selectedTimezoneOffsetUtc],
	    name: babelHelpers.classPrivateFieldLooseBase(this, _getMonthName)[_getMonthName](month),
	    days: babelHelpers.classPrivateFieldLooseBase(this, _getMonthDays)[_getMonthDays](year, month)
	  };
	}
	function _reCreateCurrentMonth2() {
	  babelHelpers.classPrivateFieldLooseBase(this, _updateMonth)[_updateMonth](babelHelpers.classPrivateFieldLooseBase(this, _currentMonthIndex)[_currentMonthIndex]);
	  babelHelpers.classPrivateFieldLooseBase(this, _updateCalendar)[_updateCalendar]();
	}
	async function _createNextMonth2() {
	  this.nextMonthCreating = true;
	  const currentMonth = babelHelpers.classPrivateFieldLooseBase(this, _months)[_months][babelHelpers.classPrivateFieldLooseBase(this, _currentMonthIndex)[_currentMonthIndex]];
	  const currentYear = currentMonth.year;
	  const currentMonthIndex = currentMonth.month;
	  const nextMonthIndex = (currentMonthIndex + 1) % 12;
	  const nextYear = currentYear + Math.floor((currentMonthIndex + 1) / 12);
	  const nextMonth = nextMonthIndex + 1;
	  await babelHelpers.classPrivateFieldLooseBase(this, _loadMonthAccessibility)[_loadMonthAccessibility](nextYear, nextMonth);
	  babelHelpers.classPrivateFieldLooseBase(this, _calculateDateTimeSlots)[_calculateDateTimeSlots](nextYear, nextMonthIndex);
	  const month = babelHelpers.classPrivateFieldLooseBase(this, _createMonth)[_createMonth](nextYear, nextMonthIndex);
	  babelHelpers.classPrivateFieldLooseBase(this, _months)[_months].push(month);
	  this.nextMonthCreating = false;
	}
	function _getNextMonth2() {
	  const currentMonth = babelHelpers.classPrivateFieldLooseBase(this, _months)[_months][babelHelpers.classPrivateFieldLooseBase(this, _currentMonthIndex)[_currentMonthIndex]];
	  const currentMonthIndex = currentMonth.month;
	  const nextMonthIndex = (currentMonthIndex + 1) % 12;
	  return nextMonthIndex + 1;
	}
	function _getNextYear2() {
	  const currentMonth = babelHelpers.classPrivateFieldLooseBase(this, _months)[_months][babelHelpers.classPrivateFieldLooseBase(this, _currentMonthIndex)[_currentMonthIndex]];
	  const currentYear = currentMonth.year;
	  const currentMonthIndex = currentMonth.month;
	  return currentYear + Math.floor((currentMonthIndex + 1) / 12);
	}
	async function _loadMonthAccessibility2(year, month, preloadNextMonth = true) {
	  const arrayKey = `${month}.${year}`;
	  const firstMonthDay = new Date(year, month - 1, 1);
	  const lastMonthDay = new Date(year, month, 0, 23, 59);
	  if (!babelHelpers.classPrivateFieldLooseBase(this, _accessibility)[_accessibility][arrayKey]) {
	    const response = await BX.ajax.runAction('calendar.api.sharingajax.getUsersAccessibility', {
	      data: {
	        userIds: babelHelpers.classPrivateFieldLooseBase(this, _userIds)[_userIds],
	        timestampFrom: firstMonthDay.getTime(),
	        timestampTo: lastMonthDay.getTime()
	      }
	    });
	    babelHelpers.classPrivateFieldLooseBase(this, _accessibility)[_accessibility][arrayKey] = response.data;
	  }
	  if (preloadNextMonth === false) {
	    return;
	  }
	  const nextMonthIndex = month % 12;
	  const nextYear = year + Math.floor(month / 12);
	  const nextMonth = nextMonthIndex + 1;
	  babelHelpers.classPrivateFieldLooseBase(this, _loadMonthAccessibility)[_loadMonthAccessibility](nextYear, nextMonth, false);
	}
	function _getMonthName2(month) {
	  const currentMonthDate = new Date(babelHelpers.classPrivateFieldLooseBase(this, _nowTime)[_nowTime].getFullYear(), month, 1);
	  return main_date.DateTimeFormat.format('f', currentMonthDate.getTime() / 1000);
	}
	function _getMonthDays2(year, month) {
	  const days = [];
	  const daysCount = new Date(year, month + 1, 0).getDate();
	  const accessibilityArrayKey = `${month + 1}.${year}`;
	  for (let dayIndex = 1; dayIndex <= daysCount; dayIndex++) {
	    var _babelHelpers$classPr4;
	    const newDay = new Date(year, month, dayIndex);
	    const slots = (_babelHelpers$classPr4 = babelHelpers.classPrivateFieldLooseBase(this, _monthsSlotsMap)[_monthsSlotsMap][accessibilityArrayKey][newDay.getDate()]) != null ? _babelHelpers$classPr4 : [];
	    const params = {
	      value: dayIndex,
	      slots,
	      weekend: babelHelpers.classPrivateFieldLooseBase(this, _isHoliday)[_isHoliday](newDay),
	      enableBooking: slots.length > 0
	    };
	    const day = new Day(params);
	    days.push(day);
	  }
	  return days;
	}
	function _getDayToSelect2() {
	  const monthDays = babelHelpers.classPrivateFieldLooseBase(this, _months)[_months][babelHelpers.classPrivateFieldLooseBase(this, _currentMonthIndex)[_currentMonthIndex]].days;
	  let dayToSelect = monthDays.find(day => day.getDay() === babelHelpers.classPrivateFieldLooseBase(this, _currentDayNumber)[_currentDayNumber]);
	  if (dayToSelect === undefined) {
	    dayToSelect = monthDays[monthDays.length - 1];
	  }
	  return dayToSelect;
	}
	function _isHoliday2(day) {
	  const monthKey = `0${day.getMonth() + 1}`.slice(-2);
	  const dayMonthKey = `${day.getDate()}.${monthKey}`;
	  return babelHelpers.classPrivateFieldLooseBase(this, _config)[_config].weekHolidays.includes(day.getDay()) || babelHelpers.classPrivateFieldLooseBase(this, _config)[_config].yearHolidays[dayMonthKey] !== undefined;
	}
	function _isYearHoliday2(day) {
	  const dayMonthKey = day.getDate() + '.' + ('0' + (day.getMonth() + 1)).slice(-2);
	  return babelHelpers.classPrivateFieldLooseBase(this, _config)[_config].yearHolidays[dayMonthKey] !== undefined;
	}
	function _getNodeTimeZone2() {
	  babelHelpers.classPrivateFieldLooseBase(this, _selectedTimezoneNode)[_selectedTimezoneNode] = main_core.Tag.render(_t$3 || (_t$3 = _$3`
			<div class="calendar-sharing__timezone-value">
				${0}
			</div>
		`), babelHelpers.classPrivateFieldLooseBase(this, _getFormattedTimezone)[_getFormattedTimezone](babelHelpers.classPrivateFieldLooseBase(this, _selectedTimezoneId)[_selectedTimezoneId]));
	  const timezoneSelect = main_core.Tag.render(_t2$2 || (_t2$2 = _$3`
			<div class="calendar-sharing__timezone">
				${0}
				<div class="calendar-sharing__timezone-area">
					<div class="calendar-sharing__timezone-title">${0}:</div>
					${0}
				</div>
			</div>
		`), main_core.Browser.isMobile() ? babelHelpers.classPrivateFieldLooseBase(this, _getNodeTimezoneSelect)[_getNodeTimezoneSelect]() : '', main_core.Loc.getMessage('CALENDAR_SHARING_YOR_TIME'), babelHelpers.classPrivateFieldLooseBase(this, _selectedTimezoneNode)[_selectedTimezoneNode]);
	  babelHelpers.classPrivateFieldLooseBase(this, _getPopupTimezoneSelect)[_getPopupTimezoneSelect]();
	  if (!main_core.Browser.isMobile()) {
	    main_core.Event.bind(timezoneSelect, 'click', () => {
	      const timezonesPopup = babelHelpers.classPrivateFieldLooseBase(this, _getPopupTimezoneSelect)[_getPopupTimezoneSelect]().getPopupWindow();
	      timezonesPopup.show();
	      const popupContent = timezonesPopup.getContentContainer();
	      const selectedTimezoneItem = popupContent.querySelector('.menu-popup-item.--selected');
	      const selectOffset = timezoneSelect.getBoundingClientRect().top + timezoneSelect.offsetHeight / 4 - popupContent.getBoundingClientRect().top;
	      popupContent.scrollTop = selectedTimezoneItem.offsetTop - selectOffset;
	    });
	  }
	  return timezoneSelect;
	}
	function _getPopupTimezoneSelect2() {
	  var _babelHelpers$classPr5, _babelHelpers$classPr6;
	  if ((_babelHelpers$classPr5 = babelHelpers.classPrivateFieldLooseBase(this, _timeZonePopup)[_timeZonePopup]) != null && _babelHelpers$classPr5.getPopupWindow().isShown()) {
	    return babelHelpers.classPrivateFieldLooseBase(this, _timeZonePopup)[_timeZonePopup];
	  }
	  (_babelHelpers$classPr6 = babelHelpers.classPrivateFieldLooseBase(this, _timeZonePopup)[_timeZonePopup]) == null ? void 0 : _babelHelpers$classPr6.destroy();
	  const items = Object.keys(babelHelpers.classPrivateFieldLooseBase(this, _timezoneList)[_timezoneList]).map(timezoneId => ({
	    text: babelHelpers.classPrivateFieldLooseBase(this, _getFormattedTimezone)[_getFormattedTimezone](timezoneId),
	    className: timezoneId === babelHelpers.classPrivateFieldLooseBase(this, _selectedTimezoneId)[_selectedTimezoneId] ? 'menu-popup-no-icon --selected' : 'menu-popup-no-icon',
	    onclick: () => {
	      babelHelpers.classPrivateFieldLooseBase(this, _updateTimezone)[_updateTimezone](timezoneId);
	      babelHelpers.classPrivateFieldLooseBase(this, _timeZonePopup)[_timeZonePopup].close();
	    }
	  }));
	  babelHelpers.classPrivateFieldLooseBase(this, _timeZonePopup)[_timeZonePopup] = main_popup.MenuManager.create({
	    id: 'momomiomsiomx92984j',
	    className: 'calendar-sharing-timezone-select-popup',
	    items,
	    autoHide: true,
	    maxHeight: window.innerHeight - 150
	  });
	  return babelHelpers.classPrivateFieldLooseBase(this, _timeZonePopup)[_timeZonePopup];
	}
	function _getNodeTimezoneSelect2() {
	  const selectNode = main_core.Tag.render(_t3$2 || (_t3$2 = _$3`
			<select class="calendar-sharing__timezone-select">
				${0}
			</select>
		`), Object.keys(babelHelpers.classPrivateFieldLooseBase(this, _timezoneList)[_timezoneList]).map(timezoneId => main_core.Tag.render(_t4$2 || (_t4$2 = _$3`
					<option value="${0}" ${0}>
						${0}
					</option>
				`), timezoneId, timezoneId === babelHelpers.classPrivateFieldLooseBase(this, _selectedTimezoneId)[_selectedTimezoneId] ? 'selected' : '', babelHelpers.classPrivateFieldLooseBase(this, _getFormattedTimezone)[_getFormattedTimezone](timezoneId))));
	  main_core.Event.bind(selectNode, 'change', () => babelHelpers.classPrivateFieldLooseBase(this, _updateTimezone)[_updateTimezone](selectNode.value));
	  return selectNode;
	}
	function _updateTimezone2(timezoneId) {
	  babelHelpers.classPrivateFieldLooseBase(this, _selectedTimezoneId)[_selectedTimezoneId] = timezoneId;
	  babelHelpers.classPrivateFieldLooseBase(this, _selectedTimezoneOffsetUtc)[_selectedTimezoneOffsetUtc] = -(babelHelpers.classPrivateFieldLooseBase(this, _timezoneList)[_timezoneList][babelHelpers.classPrivateFieldLooseBase(this, _selectedTimezoneId)[_selectedTimezoneId]].offset / 60);
	  main_core_events.EventEmitter.emit('updateTimezone', {
	    timezone: timezoneId
	  });
	  babelHelpers.classPrivateFieldLooseBase(this, _selectedTimezoneNode)[_selectedTimezoneNode].innerHTML = babelHelpers.classPrivateFieldLooseBase(this, _getFormattedTimezone)[_getFormattedTimezone](babelHelpers.classPrivateFieldLooseBase(this, _selectedTimezoneId)[_selectedTimezoneId]);
	  babelHelpers.classPrivateFieldLooseBase(this, _reCreateCurrentMonth)[_reCreateCurrentMonth]();
	  this.selectMonthDay();
	}
	function _getFormattedTimezone2(timezoneId) {
	  return `${this.getTimezonePrefix(babelHelpers.classPrivateFieldLooseBase(this, _timezoneList)[_timezoneList][timezoneId].offset)} - ${timezoneId}`;
	}
	function _getNodeDaysOfWeek2() {
	  if (!babelHelpers.classPrivateFieldLooseBase(this, _layout$3)[_layout$3].daysOfWeek) {
	    const nodesWeekDays = babelHelpers.classPrivateFieldLooseBase(this, _loc)[_loc].weekdays.map(weekDay => {
	      return main_core.Tag.render(_t5$2 || (_t5$2 = _$3`
					<div class="calendar-sharing__month-col --day-of-week">${0}</div>
				`), weekDay);
	    });
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$3)[_layout$3].daysOfWeek = main_core.Tag.render(_t6$1 || (_t6$1 = _$3`
				<div class="calendar-sharing__month-row">${0}</div>
			`), nodesWeekDays);
	  }
	  return babelHelpers.classPrivateFieldLooseBase(this, _layout$3)[_layout$3].daysOfWeek;
	}
	function _getNodeDay2(param = {}) {
	  var _babelHelpers$classPr7;
	  param.selected = ((_babelHelpers$classPr7 = babelHelpers.classPrivateFieldLooseBase(this, _selectedDay)[_selectedDay]) == null ? void 0 : _babelHelpers$classPr7.getDay()) === param.value && param.currentMonth === true;
	  const day = new Day(param);
	  return day.render();
	}
	function _getNodeMonth2() {
	  const monthInfo = babelHelpers.classPrivateFieldLooseBase(this, _months)[_months][babelHelpers.classPrivateFieldLooseBase(this, _currentMonthIndex)[_currentMonthIndex]];
	  const year = monthInfo.year;
	  const month = monthInfo.month;
	  const firstDayOfMonth = (new Date(year, month, 7).getDay() - (babelHelpers.classPrivateFieldLooseBase(this, _config)[_config].weekStart - 1) + 7) % 7;
	  const lastDateOfMonth = new Date(year, month + 1, 0).getDate();
	  const lastDayOfLastMonth = month === 0 ? new Date(year - 1, 11, 0).getDate() : new Date(year, month, 0).getDate();
	  const nodeMonth = main_core.Tag.render(_t7$1 || (_t7$1 = _$3`<div class="calendar-sharing__month-row"></div>`));
	  let k = lastDayOfLastMonth - firstDayOfMonth + 1;
	  for (let j = 0; j < firstDayOfMonth; j++) {
	    main_core.Dom.append(babelHelpers.classPrivateFieldLooseBase(this, _getNodeDay)[_getNodeDay]({
	      value: k,
	      notCurrentMonth: true
	    }), nodeMonth);
	    k++;
	  }
	  for (let i = 0; i <= lastDateOfMonth - 1; i++) {
	    const day = monthInfo.days[i];
	    main_core.Dom.append(day.render(), nodeMonth);
	  }
	  let dayOfWeek = (new Date(year, month, lastDateOfMonth).getDay() - babelHelpers.classPrivateFieldLooseBase(this, _config)[_config].weekStart + 7) % 7;
	  for (k = 1; dayOfWeek < 6; dayOfWeek++) {
	    main_core.Dom.append(babelHelpers.classPrivateFieldLooseBase(this, _getNodeDay)[_getNodeDay]({
	      value: k,
	      notCurrentMonth: true
	    }), nodeMonth);
	    k++;
	  }
	  const result = main_core.Tag.render(_t8 || (_t8 = _$3`
			<div class="calendar-sharing__month">
				${0}
				${0}
			</div>
		`), babelHelpers.classPrivateFieldLooseBase(this, _getNodeDaysOfWeek)[_getNodeDaysOfWeek](), nodeMonth);
	  const touchPosition = {
	    x: null
	  };
	  const touchMove = ev => {
	    touchPosition.x = ev.changedTouches[0].clientX;
	  };
	  main_core.Event.bind(result, 'touchstart', ev => {
	    touchMove(ev);
	  });
	  main_core.Event.bind(result, 'touchend', ev => {
	    if (touchPosition.x < ev.changedTouches[0].clientX - 100) {
	      babelHelpers.classPrivateFieldLooseBase(this, _handlePreviousMonthArrowClick)[_handlePreviousMonthArrowClick]();
	    }
	    if (touchPosition.x > ev.changedTouches[0].clientX + 100) {
	      babelHelpers.classPrivateFieldLooseBase(this, _handleNextMonthArrowClick)[_handleNextMonthArrowClick]();
	    }
	    result.style.removeProperty('transform');
	  });
	  main_core.Event.bind(result, 'touchmove', ev => {
	    ev.preventDefault();
	  });
	  return result;
	}
	function _getNodeMonthWrapper2() {
	  if (!babelHelpers.classPrivateFieldLooseBase(this, _layout$3)[_layout$3].monthWrapper) {
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$3)[_layout$3].monthWrapper = main_core.Tag.render(_t9 || (_t9 = _$3`
				<div class="calendar-sharing__calendar-block --month">
					${0}
				</div>
			`), babelHelpers.classPrivateFieldLooseBase(this, _getNodeMonth)[_getNodeMonth]());
	  }
	  return babelHelpers.classPrivateFieldLooseBase(this, _layout$3)[_layout$3].monthWrapper;
	}
	function _getNodeTimezoneWrapper2() {
	  if (!babelHelpers.classPrivateFieldLooseBase(this, _layout$3)[_layout$3].timezoneWrapper) {
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$3)[_layout$3].timezoneWrapper = main_core.Tag.render(_t10 || (_t10 = _$3`
				<div class="calendar-sharing__calendar-block">
					${0}
				</div>
			`), babelHelpers.classPrivateFieldLooseBase(this, _getNodeTimeZone)[_getNodeTimeZone]());
	  }
	  return babelHelpers.classPrivateFieldLooseBase(this, _layout$3)[_layout$3].timezoneWrapper;
	}
	function _getNodeCurrentMonth2() {
	  if (!babelHelpers.classPrivateFieldLooseBase(this, _layout$3)[_layout$3].currentMonth) {
	    const currentMonthName = babelHelpers.classPrivateFieldLooseBase(this, _months)[_months][babelHelpers.classPrivateFieldLooseBase(this, _currentMonthIndex)[_currentMonthIndex]].name;
	    const currentYear = babelHelpers.classPrivateFieldLooseBase(this, _months)[_months][babelHelpers.classPrivateFieldLooseBase(this, _currentMonthIndex)[_currentMonthIndex]].year;
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$3)[_layout$3].currentMonth = main_core.Tag.render(_t11 || (_t11 = _$3`
				<div class="calendar-sharing__calendar-title-day calendar-pub-ui__typography-title">${0}, ${0}</div>
			`), currentMonthName, currentYear);
	    main_core_events.EventEmitter.subscribe(this, 'updateCalendar', () => {
	      const currentMonthName = babelHelpers.classPrivateFieldLooseBase(this, _months)[_months][babelHelpers.classPrivateFieldLooseBase(this, _currentMonthIndex)[_currentMonthIndex]].name;
	      const currentYear = babelHelpers.classPrivateFieldLooseBase(this, _months)[_months][babelHelpers.classPrivateFieldLooseBase(this, _currentMonthIndex)[_currentMonthIndex]].year;
	      babelHelpers.classPrivateFieldLooseBase(this, _layout$3)[_layout$3].currentMonth.innerHTML = `${currentMonthName}, ${currentYear}`;
	    });
	  }
	  return babelHelpers.classPrivateFieldLooseBase(this, _layout$3)[_layout$3].currentMonth;
	}
	function _updateCalendar2(direction) {
	  main_core.Dom.clean(babelHelpers.classPrivateFieldLooseBase(this, _getNodeMonthWrapper)[_getNodeMonthWrapper]());
	  const nodeMonth = babelHelpers.classPrivateFieldLooseBase(this, _getNodeMonth)[_getNodeMonth]();
	  if (main_core.Type.isString(direction)) {
	    main_core.Dom.addClass(nodeMonth, `--animate-${direction}`);
	    main_core.Event.bind(nodeMonth, 'animationend', () => {
	      main_core.Dom.removeClass(nodeMonth, `--animate-${direction}`);
	    }, {
	      once: true
	    });
	  }
	  main_core.Dom.append(nodeMonth, babelHelpers.classPrivateFieldLooseBase(this, _getNodeMonthWrapper)[_getNodeMonthWrapper]());
	  main_core_events.EventEmitter.emit(this, 'updateCalendar');
	  if (babelHelpers.classPrivateFieldLooseBase(this, _currentMonthIndex)[_currentMonthIndex] === 0) {
	    main_core.Dom.addClass(babelHelpers.classPrivateFieldLooseBase(this, _layout$3)[_layout$3].prevNav, '--disabled');
	  } else {
	    main_core.Dom.removeClass(babelHelpers.classPrivateFieldLooseBase(this, _layout$3)[_layout$3].prevNav, '--disabled');
	  }
	}
	function _getNodePrevNav2() {
	  if (!babelHelpers.classPrivateFieldLooseBase(this, _layout$3)[_layout$3].prevNav) {
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$3)[_layout$3].prevNav = main_core.Tag.render(_t12 || (_t12 = _$3`
				<div class="calendar-sharing__calendar-nav_prev --disabled" title="${0}"></div>
			`), main_core.Loc.getMessage('CALENDAR_SHARING_NAV_PREV'));
	    main_core.Event.bind(babelHelpers.classPrivateFieldLooseBase(this, _layout$3)[_layout$3].prevNav, 'click', babelHelpers.classPrivateFieldLooseBase(this, _handlePreviousMonthArrowClick)[_handlePreviousMonthArrowClick].bind(this));
	  }
	  return babelHelpers.classPrivateFieldLooseBase(this, _layout$3)[_layout$3].prevNav;
	}
	function _getNodeNextNav2() {
	  if (!babelHelpers.classPrivateFieldLooseBase(this, _layout$3)[_layout$3].nextNav) {
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$3)[_layout$3].nextNav = main_core.Tag.render(_t13 || (_t13 = _$3`
				<div class="calendar-sharing__calendar-nav_next" title="${0}"></div>
			`), main_core.Loc.getMessage('CALENDAR_SHARING_NAV_NEXT'));
	    main_core.Event.bind(babelHelpers.classPrivateFieldLooseBase(this, _layout$3)[_layout$3].nextNav, 'click', babelHelpers.classPrivateFieldLooseBase(this, _handleNextMonthArrowClick)[_handleNextMonthArrowClick].bind(this));
	  }
	  return babelHelpers.classPrivateFieldLooseBase(this, _layout$3)[_layout$3].nextNav;
	}
	function _getNodeNavigation2() {
	  if (!babelHelpers.classPrivateFieldLooseBase(this, _layout$3)[_layout$3].navigation) {
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$3)[_layout$3].navigation = main_core.Tag.render(_t14 || (_t14 = _$3`
				<div class="calendar-sharing__calendar-nav">
					${0}
					${0}
				</div>
			`), babelHelpers.classPrivateFieldLooseBase(this, _getNodePrevNav)[_getNodePrevNav](), babelHelpers.classPrivateFieldLooseBase(this, _getNodeNextNav)[_getNodeNextNav]());
	  }
	  return babelHelpers.classPrivateFieldLooseBase(this, _layout$3)[_layout$3].navigation;
	}
	async function _handleNextMonthArrowClick2() {
	  if (babelHelpers.classPrivateFieldLooseBase(this, _currentMonthIndex)[_currentMonthIndex] === babelHelpers.classPrivateFieldLooseBase(this, _months)[_months].length - 1) {
	    if (this.nextMonthCreating) {
	      return;
	    }
	    await babelHelpers.classPrivateFieldLooseBase(this, _createNextMonth)[_createNextMonth]();
	  }
	  babelHelpers.classPrivateFieldLooseBase(this, _currentMonthIndex)[_currentMonthIndex] += 1;
	  babelHelpers.classPrivateFieldLooseBase(this, _updateMonth)[_updateMonth](babelHelpers.classPrivateFieldLooseBase(this, _currentMonthIndex)[_currentMonthIndex]);
	  main_core_events.EventEmitter.emit(this, 'clickNextMonth');
	  babelHelpers.classPrivateFieldLooseBase(this, _updateCalendar)[_updateCalendar]('next');
	  this.selectMonthDay();
	}
	function _handlePreviousMonthArrowClick2() {
	  if (babelHelpers.classPrivateFieldLooseBase(this, _currentMonthIndex)[_currentMonthIndex] === 0) {
	    return;
	  }
	  babelHelpers.classPrivateFieldLooseBase(this, _currentMonthIndex)[_currentMonthIndex] -= 1;
	  babelHelpers.classPrivateFieldLooseBase(this, _updateMonth)[_updateMonth](babelHelpers.classPrivateFieldLooseBase(this, _currentMonthIndex)[_currentMonthIndex]);
	  main_core_events.EventEmitter.emit(this, 'clickPrevMonth');
	  babelHelpers.classPrivateFieldLooseBase(this, _updateCalendar)[_updateCalendar]('prev');
	  this.selectMonthDay();
	}
	function _updateMonth2(monthIndex) {
	  const year = babelHelpers.classPrivateFieldLooseBase(this, _months)[_months][monthIndex].year;
	  const month = babelHelpers.classPrivateFieldLooseBase(this, _months)[_months][monthIndex].month;
	  babelHelpers.classPrivateFieldLooseBase(this, _calculateDateTimeSlots)[_calculateDateTimeSlots](year, month);
	  babelHelpers.classPrivateFieldLooseBase(this, _months)[_months][babelHelpers.classPrivateFieldLooseBase(this, _currentMonthIndex)[_currentMonthIndex]] = babelHelpers.classPrivateFieldLooseBase(this, _createMonth)[_createMonth](year, month);
	}
	function _getNodeBack2() {
	  if (!babelHelpers.classPrivateFieldLooseBase(this, _layout$3)[_layout$3].back) {
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$3)[_layout$3].back = main_core.Tag.render(_t15 || (_t15 = _$3`
				<div class="calendar-sharing__calendar-back"></div>
			`));
	    main_core.Event.bind(babelHelpers.classPrivateFieldLooseBase(this, _layout$3)[_layout$3].back, 'click', () => {
	      main_core_events.EventEmitter.emit('hideSlotSelector', this);
	    });
	  }
	  return babelHelpers.classPrivateFieldLooseBase(this, _layout$3)[_layout$3].back;
	}
	function _getNodeWrapper2$1() {
	  if (!babelHelpers.classPrivateFieldLooseBase(this, _layout$3)[_layout$3].wrapper) {
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$3)[_layout$3].wrapper = main_core.Tag.render(_t16 || (_t16 = _$3`
				<div class="calendar-sharing__calendar">
					<div class="calendar-sharing__calendar-bar">
						${0}
						${0}
						${0}
					</div>
					${0}
					${0}
				</div>
			`), babelHelpers.classPrivateFieldLooseBase(this, _getNodeBack)[_getNodeBack](), babelHelpers.classPrivateFieldLooseBase(this, _getNodeCurrentMonth)[_getNodeCurrentMonth](), babelHelpers.classPrivateFieldLooseBase(this, _getNodeNavigation)[_getNodeNavigation](), babelHelpers.classPrivateFieldLooseBase(this, _getNodeMonthWrapper)[_getNodeMonthWrapper](), babelHelpers.classPrivateFieldLooseBase(this, _getNodeTimezoneWrapper)[_getNodeTimezoneWrapper]());
	  }
	  return babelHelpers.classPrivateFieldLooseBase(this, _layout$3)[_layout$3].wrapper;
	}

	let _$4 = t => t,
	  _t$4,
	  _t2$3;
	var _wrapNode = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("wrapNode");
	var _isHiddenOnStart = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("isHiddenOnStart");
	var _getWrapNode = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getWrapNode");
	var _bindEvents$2 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("bindEvents");
	var _hide = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("hide");
	var _show = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("show");
	class Base {
	  constructor(options) {
	    Object.defineProperty(this, _show, {
	      value: _show2
	    });
	    Object.defineProperty(this, _hide, {
	      value: _hide2
	    });
	    Object.defineProperty(this, _bindEvents$2, {
	      value: _bindEvents2$2
	    });
	    Object.defineProperty(this, _getWrapNode, {
	      value: _getWrapNode2
	    });
	    Object.defineProperty(this, _wrapNode, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _isHiddenOnStart, {
	      writable: true,
	      value: void 0
	    });
	    babelHelpers.classPrivateFieldLooseBase(this, _wrapNode)[_wrapNode] = null;
	    babelHelpers.classPrivateFieldLooseBase(this, _isHiddenOnStart)[_isHiddenOnStart] = options.isHiddenOnStart;
	    babelHelpers.classPrivateFieldLooseBase(this, _bindEvents$2)[_bindEvents$2]();
	  }
	  getContent() {
	    return main_core.Tag.render(_t$4 || (_t$4 = _$4`
			<div></div>
		`));
	  }
	  getType() {
	    return 'base';
	  }
	  render() {
	    main_core.Dom.append(this.getContent(), babelHelpers.classPrivateFieldLooseBase(this, _getWrapNode)[_getWrapNode]());
	    return babelHelpers.classPrivateFieldLooseBase(this, _wrapNode)[_wrapNode];
	  }
	}
	function _getWrapNode2() {
	  if (!babelHelpers.classPrivateFieldLooseBase(this, _wrapNode)[_wrapNode]) {
	    babelHelpers.classPrivateFieldLooseBase(this, _wrapNode)[_wrapNode] = main_core.Tag.render(_t2$3 || (_t2$3 = _$4`<div class="calendar-pub__slots-wrap"></div>`));
	    if (babelHelpers.classPrivateFieldLooseBase(this, _isHiddenOnStart)[_isHiddenOnStart]) {
	      main_core.Dom.addClass(babelHelpers.classPrivateFieldLooseBase(this, _wrapNode)[_wrapNode], '--hidden');
	    }
	  }
	  return babelHelpers.classPrivateFieldLooseBase(this, _wrapNode)[_wrapNode];
	}
	function _bindEvents2$2() {
	  main_core_events.EventEmitter.subscribe('selectorTypeChange', ev => {
	    if (ev.data === this.getType()) {
	      babelHelpers.classPrivateFieldLooseBase(this, _show)[_show]();
	    } else {
	      babelHelpers.classPrivateFieldLooseBase(this, _hide)[_hide]();
	    }
	  });
	}
	function _hide2() {
	  main_core.Dom.addClass(babelHelpers.classPrivateFieldLooseBase(this, _wrapNode)[_wrapNode], '--hidden');
	}
	function _show2() {
	  main_core.Dom.removeClass(babelHelpers.classPrivateFieldLooseBase(this, _wrapNode)[_wrapNode], '--hidden');
	}

	let _$5 = t => t,
	  _t$5,
	  _t2$4,
	  _t3$3,
	  _t4$3,
	  _t5$3,
	  _t6$2,
	  _t7$2,
	  _t8$1,
	  _t9$1,
	  _t10$1,
	  _t11$1,
	  _t12$1,
	  _t13$1;
	var _props = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("props");
	var _layout$4 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("layout");
	var _value$1 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("value");
	var _members$2 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("members");
	var _formatDate = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("formatDate");
	var _formatWeekDay = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("formatWeekDay");
	var _formatWeekDate = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("formatWeekDate");
	var _formatDateTime = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("formatDateTime");
	var _formatTimeInterval = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("formatTimeInterval");
	var _formatTime = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("formatTime");
	var _formatMonthName = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("formatMonthName");
	var _formatCalendarDay = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("formatCalendarDay");
	var _getNodeCalendarPageMonth = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getNodeCalendarPageMonth");
	var _getNodeCalendarPageDay = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getNodeCalendarPageDay");
	var _getNodeCalendarPageTimeFrom = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getNodeCalendarPageTimeFrom");
	var _getNodeDayInfo = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getNodeDayInfo");
	var _renderTime = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("renderTime");
	var _getNodeTimeInterval = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getNodeTimeInterval");
	var _renderRrule = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("renderRrule");
	var _getNodeTimezone = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getNodeTimezone");
	var _renderAvatarsSection$1 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("renderAvatarsSection");
	var _renderTimezoneNotice = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("renderTimezoneNotice");
	var _getTimezoneNoticeText = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getTimezoneNoticeText");
	var _getBrowserTimezoneOffset = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getBrowserTimezoneOffset");
	class WidgetDate {
	  constructor(props = {}) {
	    Object.defineProperty(this, _getBrowserTimezoneOffset, {
	      value: _getBrowserTimezoneOffset2
	    });
	    Object.defineProperty(this, _getTimezoneNoticeText, {
	      value: _getTimezoneNoticeText2
	    });
	    Object.defineProperty(this, _renderTimezoneNotice, {
	      value: _renderTimezoneNotice2
	    });
	    Object.defineProperty(this, _renderAvatarsSection$1, {
	      value: _renderAvatarsSection2$1
	    });
	    Object.defineProperty(this, _getNodeTimezone, {
	      value: _getNodeTimezone2
	    });
	    Object.defineProperty(this, _renderRrule, {
	      value: _renderRrule2
	    });
	    Object.defineProperty(this, _getNodeTimeInterval, {
	      value: _getNodeTimeInterval2
	    });
	    Object.defineProperty(this, _renderTime, {
	      value: _renderTime2
	    });
	    Object.defineProperty(this, _getNodeDayInfo, {
	      value: _getNodeDayInfo2
	    });
	    Object.defineProperty(this, _getNodeCalendarPageTimeFrom, {
	      value: _getNodeCalendarPageTimeFrom2
	    });
	    Object.defineProperty(this, _getNodeCalendarPageDay, {
	      value: _getNodeCalendarPageDay2
	    });
	    Object.defineProperty(this, _getNodeCalendarPageMonth, {
	      value: _getNodeCalendarPageMonth2
	    });
	    Object.defineProperty(this, _formatCalendarDay, {
	      value: _formatCalendarDay2
	    });
	    Object.defineProperty(this, _formatMonthName, {
	      value: _formatMonthName2
	    });
	    Object.defineProperty(this, _formatTime, {
	      value: _formatTime2
	    });
	    Object.defineProperty(this, _formatTimeInterval, {
	      value: _formatTimeInterval2
	    });
	    Object.defineProperty(this, _formatDateTime, {
	      value: _formatDateTime2
	    });
	    Object.defineProperty(this, _formatWeekDate, {
	      value: _formatWeekDate2
	    });
	    Object.defineProperty(this, _formatWeekDay, {
	      value: _formatWeekDay2
	    });
	    Object.defineProperty(this, _formatDate, {
	      value: _formatDate2
	    });
	    Object.defineProperty(this, _props, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _layout$4, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _value$1, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _members$2, {
	      writable: true,
	      value: void 0
	    });
	    babelHelpers.classPrivateFieldLooseBase(this, _props)[_props] = props;
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$4)[_layout$4] = {
	      calendarPage: {
	        month: null,
	        day: null,
	        timeFrom: null
	      },
	      dayInfo: null,
	      timeInterval: null,
	      timezone: null,
	      avatarsSection: null,
	      timezoneNotice: null
	    };
	    babelHelpers.classPrivateFieldLooseBase(this, _value$1)[_value$1] = {
	      from: null,
	      to: null,
	      timezone: null,
	      isFullDay: false,
	      rruleDescription: ''
	    };
	  }
	  updateValue(data, linkContext) {
	    if (data.from) {
	      babelHelpers.classPrivateFieldLooseBase(this, _value$1)[_value$1].from = data.from;
	    }
	    if (data.to) {
	      babelHelpers.classPrivateFieldLooseBase(this, _value$1)[_value$1].to = data.to;
	    }
	    if (data.timezone) {
	      babelHelpers.classPrivateFieldLooseBase(this, _value$1)[_value$1].timezone = data.timezone;
	    }
	    if (main_core.Type.isBoolean(data.isFullDay)) {
	      babelHelpers.classPrivateFieldLooseBase(this, _value$1)[_value$1].isFullDay = data.isFullDay;
	    }
	    if (data.members) {
	      babelHelpers.classPrivateFieldLooseBase(this, _members$2)[_members$2] = data.members;
	    }
	    if (data.rruleDescription) {
	      babelHelpers.classPrivateFieldLooseBase(this, _value$1)[_value$1].rruleDescription = data.rruleDescription;
	    }
	    babelHelpers.classPrivateFieldLooseBase(this, _props)[_props].linkContext = linkContext;
	    this.updateLayout();
	  }
	  updateLayout() {
	    var _babelHelpers$classPr;
	    const timezone = (_babelHelpers$classPr = babelHelpers.classPrivateFieldLooseBase(this, _props)[_props].browserTimezone) != null ? _babelHelpers$classPr : babelHelpers.classPrivateFieldLooseBase(this, _value$1)[_value$1].timezone;
	    let offset = babelHelpers.classPrivateFieldLooseBase(this, _getBrowserTimezoneOffset)[_getBrowserTimezoneOffset]() * 60;
	    const from = babelHelpers.classPrivateFieldLooseBase(this, _value$1)[_value$1].from.getTime() / 1000 + offset;
	    const to = babelHelpers.classPrivateFieldLooseBase(this, _value$1)[_value$1].to.getTime() / 1000 + offset;
	    const isFullDay = babelHelpers.classPrivateFieldLooseBase(this, _value$1)[_value$1].isFullDay;
	    const calendarMonthName = babelHelpers.classPrivateFieldLooseBase(this, _formatMonthName)[_formatMonthName](from);
	    const calendarDay = babelHelpers.classPrivateFieldLooseBase(this, _formatCalendarDay)[_formatCalendarDay](from);
	    const isSameDate = main_date.DateTimeFormat.format('j F Y', from) === main_date.DateTimeFormat.format('j F Y', to);
	    let calendarTime, eventDate, eventTime, eventTimezone;
	    if (isFullDay) {
	      calendarTime = babelHelpers.classPrivateFieldLooseBase(this, _formatWeekDay)[_formatWeekDay](from);
	      eventDate = `${babelHelpers.classPrivateFieldLooseBase(this, _formatDate)[_formatDate](from)} - ${babelHelpers.classPrivateFieldLooseBase(this, _formatDate)[_formatDate](to)}`;
	      eventTime = main_core.Loc.getMessage('CALENDAR_SHARING_WIDGET_DATE_FULL_DAY');
	      eventTimezone = '';
	      if (isSameDate) {
	        eventDate = babelHelpers.classPrivateFieldLooseBase(this, _formatWeekDate)[_formatWeekDate](from, '');
	      }
	    } else {
	      calendarTime = babelHelpers.classPrivateFieldLooseBase(this, _formatTime)[_formatTime](from);
	      eventDate = babelHelpers.classPrivateFieldLooseBase(this, _formatWeekDate)[_formatWeekDate](from);
	      eventTime = babelHelpers.classPrivateFieldLooseBase(this, _formatTimeInterval)[_formatTimeInterval](from, to);
	      eventTimezone = calendar_util.Util.getFormattedTimezone(timezone);
	      if (!isSameDate) {
	        eventDate = main_core.Loc.getMessage('CALENDAR_SHARING_WIDGET_DATE_EVENT_START', {
	          '#DATE#': babelHelpers.classPrivateFieldLooseBase(this, _formatDateTime)[_formatDateTime](from)
	        });
	        eventTime = main_core.Loc.getMessage('CALENDAR_SHARING_WIDGET_DATE_EVENT_END', {
	          '#DATE#': babelHelpers.classPrivateFieldLooseBase(this, _formatDateTime)[_formatDateTime](to)
	        });
	      }
	    }
	    babelHelpers.classPrivateFieldLooseBase(this, _getNodeCalendarPageMonth)[_getNodeCalendarPageMonth]().innerText = calendarMonthName;
	    babelHelpers.classPrivateFieldLooseBase(this, _getNodeCalendarPageDay)[_getNodeCalendarPageDay]().innerText = calendarDay;
	    babelHelpers.classPrivateFieldLooseBase(this, _getNodeCalendarPageTimeFrom)[_getNodeCalendarPageTimeFrom]().innerText = calendarTime;
	    babelHelpers.classPrivateFieldLooseBase(this, _getNodeDayInfo)[_getNodeDayInfo]().innerText = eventDate;
	    babelHelpers.classPrivateFieldLooseBase(this, _getNodeTimeInterval)[_getNodeTimeInterval]().innerText = eventTime;
	    babelHelpers.classPrivateFieldLooseBase(this, _getNodeTimezone)[_getNodeTimezone]().innerText = eventTimezone;
	    babelHelpers.classPrivateFieldLooseBase(this, _getNodeTimezone)[_getNodeTimezone]().title = eventTimezone;
	    babelHelpers.classPrivateFieldLooseBase(this, _renderAvatarsSection$1)[_renderAvatarsSection$1]();
	  }
	  render() {
	    return main_core.Tag.render(_t$5 || (_t$5 = _$5`
			<div class="calendar-pub__form-date ${0}">
				<div class="calendar-pub__form-date-main">
					<div class="calendar-pub__form-date-day">
						${0}
						<div class="calendar-pub__form-date-content">
							${0}
							${0}
						</div>
					</div>
					<div class="calendar-pub__form-date-info">
						${0}
						${0}
						${0}
						${0}
					</div>
				</div>
				${0}
			</div>
		`), babelHelpers.classPrivateFieldLooseBase(this, _props)[_props].filled ? '--filled' : '', babelHelpers.classPrivateFieldLooseBase(this, _getNodeCalendarPageMonth)[_getNodeCalendarPageMonth](), babelHelpers.classPrivateFieldLooseBase(this, _getNodeCalendarPageDay)[_getNodeCalendarPageDay](), babelHelpers.classPrivateFieldLooseBase(this, _getNodeCalendarPageTimeFrom)[_getNodeCalendarPageTimeFrom](), babelHelpers.classPrivateFieldLooseBase(this, _getNodeDayInfo)[_getNodeDayInfo](), babelHelpers.classPrivateFieldLooseBase(this, _renderTime)[_renderTime](), babelHelpers.classPrivateFieldLooseBase(this, _getNodeTimezone)[_getNodeTimezone](), babelHelpers.classPrivateFieldLooseBase(this, _renderAvatarsSection$1)[_renderAvatarsSection$1](), babelHelpers.classPrivateFieldLooseBase(this, _renderTimezoneNotice)[_renderTimezoneNotice]());
	  }
	}
	function _formatDate2(timestamp) {
	  const dayMonthFormat = main_date.DateTimeFormat.getFormat('DAY_MONTH_FORMAT');
	  return main_date.DateTimeFormat.format(dayMonthFormat, timestamp);
	}
	function _formatWeekDay2(timestamp) {
	  return main_date.DateTimeFormat.format('D', timestamp);
	}
	function _formatWeekDate2(timestamp) {
	  const weekDateFormat = main_date.DateTimeFormat.getFormat('DAY_OF_WEEK_MONTH_FORMAT');
	  return main_date.DateTimeFormat.format(weekDateFormat, timestamp);
	}
	function _formatDateTime2(timestamp) {
	  const dayMonthFormat = main_date.DateTimeFormat.getFormat('DAY_MONTH_FORMAT');
	  const shortTimeFormat = main_date.DateTimeFormat.getFormat('SHORT_TIME_FORMAT');
	  const format = `${dayMonthFormat} ${shortTimeFormat}`;
	  return main_date.DateTimeFormat.format(format, timestamp);
	}
	function _formatTimeInterval2(from, to) {
	  return `${babelHelpers.classPrivateFieldLooseBase(this, _formatTime)[_formatTime](from)} - ${babelHelpers.classPrivateFieldLooseBase(this, _formatTime)[_formatTime](to)}`;
	}
	function _formatTime2(timestamp) {
	  const shortTimeFormat = main_date.DateTimeFormat.getFormat('SHORT_TIME_FORMAT');
	  return main_date.DateTimeFormat.format(shortTimeFormat, timestamp);
	}
	function _formatMonthName2(timestamp) {
	  return main_date.DateTimeFormat.format('f', timestamp);
	}
	function _formatCalendarDay2(timestamp) {
	  return main_date.DateTimeFormat.format('d', timestamp);
	}
	function _getNodeCalendarPageMonth2() {
	  if (!babelHelpers.classPrivateFieldLooseBase(this, _layout$4)[_layout$4].calendarPage.month) {
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$4)[_layout$4].calendarPage.month = main_core.Tag.render(_t2$4 || (_t2$4 = _$5`
				<div class="calendar-pub__form-date-day_month"></div>
			`));
	  }
	  return babelHelpers.classPrivateFieldLooseBase(this, _layout$4)[_layout$4].calendarPage.month;
	}
	function _getNodeCalendarPageDay2() {
	  if (!babelHelpers.classPrivateFieldLooseBase(this, _layout$4)[_layout$4].calendarPage.day) {
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$4)[_layout$4].calendarPage.day = main_core.Tag.render(_t3$3 || (_t3$3 = _$5`
				<div class="calendar-pub__form-date-day_num"></div>
			`));
	  }
	  return babelHelpers.classPrivateFieldLooseBase(this, _layout$4)[_layout$4].calendarPage.day;
	}
	function _getNodeCalendarPageTimeFrom2() {
	  if (!babelHelpers.classPrivateFieldLooseBase(this, _layout$4)[_layout$4].calendarPage.timeFrom) {
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$4)[_layout$4].calendarPage.timeFrom = main_core.Tag.render(_t4$3 || (_t4$3 = _$5`
				<div class="calendar-pub__form-date-day_time">13:00</div>
			`));
	  }
	  return babelHelpers.classPrivateFieldLooseBase(this, _layout$4)[_layout$4].calendarPage.timeFrom;
	}
	function _getNodeDayInfo2() {
	  if (!babelHelpers.classPrivateFieldLooseBase(this, _layout$4)[_layout$4].dayInfo) {
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$4)[_layout$4].dayInfo = main_core.Tag.render(_t5$3 || (_t5$3 = _$5`
				<div class="calendar-pub__form-date-info_day"></div>
			`));
	  }
	  return babelHelpers.classPrivateFieldLooseBase(this, _layout$4)[_layout$4].dayInfo;
	}
	function _renderTime2() {
	  return main_core.Tag.render(_t6$2 || (_t6$2 = _$5`
			<div class="calendar-pub__form-date-info_time-container">
				${0}
				${0}
			</div>
		`), babelHelpers.classPrivateFieldLooseBase(this, _getNodeTimeInterval)[_getNodeTimeInterval](), babelHelpers.classPrivateFieldLooseBase(this, _renderRrule)[_renderRrule]());
	}
	function _getNodeTimeInterval2() {
	  if (!babelHelpers.classPrivateFieldLooseBase(this, _layout$4)[_layout$4].timeInterval) {
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$4)[_layout$4].timeInterval = main_core.Tag.render(_t7$2 || (_t7$2 = _$5`
				<div class="calendar-pub__form-date-info_time"></div>
			`));
	  }
	  return babelHelpers.classPrivateFieldLooseBase(this, _layout$4)[_layout$4].timeInterval;
	}
	function _renderRrule2() {
	  if (!main_core.Type.isStringFilled(babelHelpers.classPrivateFieldLooseBase(this, _value$1)[_value$1].rruleDescription)) {
	    return '';
	  }
	  if (!babelHelpers.classPrivateFieldLooseBase(this, _layout$4)[_layout$4].rrule) {
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$4)[_layout$4].rrule = main_core.Tag.render(_t8$1 || (_t8$1 = _$5`
				<div class="calendar-pub__form-date-rrule ui-icon-set --refresh-7"></div>
			`));
	    const popup = new main_popup.Popup({
	      bindElement: babelHelpers.classPrivateFieldLooseBase(this, _layout$4)[_layout$4].rrule,
	      content: babelHelpers.classPrivateFieldLooseBase(this, _value$1)[_value$1].rruleDescription,
	      darkMode: true,
	      bindOptions: {
	        position: 'top'
	      },
	      offsetTop: -10,
	      angle: true,
	      autoHide: true
	    });
	    bindShowOnHover(popup);
	  }
	  return babelHelpers.classPrivateFieldLooseBase(this, _layout$4)[_layout$4].rrule;
	}
	function _getNodeTimezone2() {
	  if (!babelHelpers.classPrivateFieldLooseBase(this, _layout$4)[_layout$4].timezone) {
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$4)[_layout$4].timezone = main_core.Tag.render(_t9$1 || (_t9$1 = _$5`
				<div class="calendar-pub__form-date-info_time-zone"></div>
			`));
	  }
	  return babelHelpers.classPrivateFieldLooseBase(this, _layout$4)[_layout$4].timezone;
	}
	function _renderAvatarsSection2$1() {
	  if (babelHelpers.classPrivateFieldLooseBase(this, _props)[_props].allAttendees) {
	    return '';
	  }
	  const avatarsSection = new MembersList({
	    className: 'calendar-pub__form-date-members',
	    textClassName: 'calendar-pub-ui__typography-xs',
	    avatarSize: 30,
	    members: babelHelpers.classPrivateFieldLooseBase(this, _members$2)[_members$2],
	    allAttendees: babelHelpers.classPrivateFieldLooseBase(this, _props)[_props].allAttendees,
	    linkContext: babelHelpers.classPrivateFieldLooseBase(this, _props)[_props].linkContext
	  }).render();
	  if (!babelHelpers.classPrivateFieldLooseBase(this, _layout$4)[_layout$4].avatarsSection) {
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$4)[_layout$4].avatarsSection = main_core.Tag.render(_t10$1 || (_t10$1 = _$5`
				<div>${0}</div>
			`), avatarsSection);
	  } else {
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$4)[_layout$4].avatarsSection.innerHTML = '';
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$4)[_layout$4].avatarsSection.append(avatarsSection);
	  }
	  return babelHelpers.classPrivateFieldLooseBase(this, _layout$4)[_layout$4].avatarsSection;
	}
	function _renderTimezoneNotice2() {
	  const offset = babelHelpers.classPrivateFieldLooseBase(this, _getBrowserTimezoneOffset)[_getBrowserTimezoneOffset]();
	  if (WidgetDate.timezoneNoticeUnderstood || offset === 0) {
	    return '';
	  }
	  const timezoneNoticeUnderstandButton = main_core.Tag.render(_t11$1 || (_t11$1 = _$5`
			<div class="calendar-pub__link-button">
				${0}
			</div>
		`), main_core.Loc.getMessage('CALENDAR_SHARING_UNDERSTAND'));
	  main_core.Event.bind(timezoneNoticeUnderstandButton, 'click', () => {
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$4)[_layout$4].timezoneNotice.remove();
	    WidgetDate.timezoneNoticeUnderstood = true;
	  });
	  const noticeOffsetNode = main_core.Tag.render(_t12$1 || (_t12$1 = _$5`
			<div class="calendar-pub-timezone-notice-offset">
				${0}
			</div>
		`), babelHelpers.classPrivateFieldLooseBase(this, _getTimezoneNoticeText)[_getTimezoneNoticeText](offset));
	  const timezonePopup = new main_popup.Popup({
	    bindElement: noticeOffsetNode,
	    content: calendar_util.Util.getFormattedTimezone(babelHelpers.classPrivateFieldLooseBase(this, _value$1)[_value$1].timezone),
	    darkMode: true,
	    bindOptions: {
	      position: 'top'
	    },
	    offsetTop: -10,
	    angle: true,
	    autoHide: true
	  });
	  bindShowOnHover(timezonePopup);
	  babelHelpers.classPrivateFieldLooseBase(this, _layout$4)[_layout$4].timezoneNotice = main_core.Tag.render(_t13$1 || (_t13$1 = _$5`
			<div class="calendar-pub__event-timezone-notice calendar-pub-ui__typography-sm">
				<div>
					${0}
				</div>
				<div class="calendar-pub__event-timezone-notice-bottom">
					${0}
					${0}
				</div>
			</div>
		`), main_core.Loc.getMessage('CALENDAR_SHARING_EVENT_TIMEZONE_NOTICE'), noticeOffsetNode, timezoneNoticeUnderstandButton);
	  return babelHelpers.classPrivateFieldLooseBase(this, _layout$4)[_layout$4].timezoneNotice;
	}
	function _getTimezoneNoticeText2(offset) {
	  const sign = offset < 0 ? '+' : '-';
	  return main_core.Loc.getMessage('CALENDAR_SHARING_EVENT_TIMEZONE_NOTICE_OFFSET', {
	    '#OFFSET#': `${sign}${calendar_util.Util.formatDuration(Math.abs(offset))}`
	  });
	}
	function _getBrowserTimezoneOffset2() {
	  if (!main_core.Type.isStringFilled(babelHelpers.classPrivateFieldLooseBase(this, _props)[_props].browserTimezone) || !main_core.Type.isStringFilled(babelHelpers.classPrivateFieldLooseBase(this, _value$1)[_value$1].timezone)) {
	    return 0;
	  }
	  const eventOffset = calendar_util.Util.getTimeZoneOffset(babelHelpers.classPrivateFieldLooseBase(this, _props)[_props].browserTimezone);
	  const browserOffset = calendar_util.Util.getTimeZoneOffset(babelHelpers.classPrivateFieldLooseBase(this, _value$1)[_value$1].timezone);
	  return browserOffset - eventOffset;
	}
	WidgetDate.timezoneNoticeUnderstood = false;

	let _$6 = t => t,
	  _t$6,
	  _t2$5,
	  _t3$4,
	  _t4$4,
	  _t5$4,
	  _t6$3,
	  _t7$3,
	  _t8$2;
	var _layout$5 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("layout");
	var _value$2 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("value");
	var _widgetDate = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("widgetDate");
	var _owner$1 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("owner");
	var _link$1 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("link");
	var _sharingUser = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("sharingUser");
	var _phoneDb = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("phoneDb");
	var _isFromCrm = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("isFromCrm");
	var _hasContactData = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("hasContactData");
	var _isPhoneFeatureEnabled = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("isPhoneFeatureEnabled");
	var _isMailFeatureEnabled = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("isMailFeatureEnabled");
	var _inputData = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("inputData");
	var _inputErrors = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("inputErrors");
	var _getNodeWrapper$2 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getNodeWrapper");
	var _getEventName = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getEventName");
	var _getNodeButtonSend = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getNodeButtonSend");
	var _handleSaveButtonClick = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("handleSaveButtonClick");
	var _saveEvent = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("saveEvent");
	var _parseDate = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("parseDate");
	var _validateData = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("validateData");
	var _validatePhone = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("validatePhone");
	var _validateEmail = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("validateEmail");
	var _clearContactDataError = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("clearContactDataError");
	var _clearContactNameError = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("clearContactNameError");
	var _showFullContactPlaceholder = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("showFullContactPlaceholder");
	var _isMailContactOnly = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("isMailContactOnly");
	var _isPhoneContactOnly = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("isPhoneContactOnly");
	var _isCrmAndHasContact = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("isCrmAndHasContact");
	var _getNodeWidgetDate = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getNodeWidgetDate");
	var _getNodeFormArea = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getNodeFormArea");
	var _getContactDataPlaceholder = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getContactDataPlaceholder");
	var _getNodeInputName = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getNodeInputName");
	var _getNodeInputContact = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getNodeInputContact");
	var _getNodeInputDescription = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getNodeInputDescription");
	var _getNodeInputError = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getNodeInputError");
	var _renderInputErrors = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("renderInputErrors");
	var _getNodeBack$1 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getNodeBack");
	var _onPhoneInput = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("onPhoneInput");
	var _getTextBeforeCursor = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getTextBeforeCursor");
	var _setCursorToFormattedPosition = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("setCursorToFormattedPosition");
	var _getTextEscapedForRegex = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getTextEscapedForRegex");
	var _onPhoneInputKeyDown = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("onPhoneInputKeyDown");
	var _isPhoneTypeInput = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("isPhoneTypeInput");
	var _isDigit = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("isDigit");
	var _isControlKey = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("isControlKey");
	var _formatPhone = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("formatPhone");
	var _findMask = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("findMask");
	var _getLinkOwnerId = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getLinkOwnerId");
	class Form extends Base {
	  constructor(options) {
	    super({
	      isHiddenOnStart: options.isHiddenOnStart
	    });
	    Object.defineProperty(this, _getLinkOwnerId, {
	      value: _getLinkOwnerId2
	    });
	    Object.defineProperty(this, _findMask, {
	      value: _findMask2
	    });
	    Object.defineProperty(this, _formatPhone, {
	      value: _formatPhone2
	    });
	    Object.defineProperty(this, _isControlKey, {
	      value: _isControlKey2
	    });
	    Object.defineProperty(this, _isDigit, {
	      value: _isDigit2
	    });
	    Object.defineProperty(this, _isPhoneTypeInput, {
	      value: _isPhoneTypeInput2
	    });
	    Object.defineProperty(this, _onPhoneInputKeyDown, {
	      value: _onPhoneInputKeyDown2
	    });
	    Object.defineProperty(this, _getTextEscapedForRegex, {
	      value: _getTextEscapedForRegex2
	    });
	    Object.defineProperty(this, _setCursorToFormattedPosition, {
	      value: _setCursorToFormattedPosition2
	    });
	    Object.defineProperty(this, _getTextBeforeCursor, {
	      value: _getTextBeforeCursor2
	    });
	    Object.defineProperty(this, _onPhoneInput, {
	      value: _onPhoneInput2
	    });
	    Object.defineProperty(this, _getNodeBack$1, {
	      value: _getNodeBack2$1
	    });
	    Object.defineProperty(this, _renderInputErrors, {
	      value: _renderInputErrors2
	    });
	    Object.defineProperty(this, _getNodeInputError, {
	      value: _getNodeInputError2
	    });
	    Object.defineProperty(this, _getNodeInputDescription, {
	      value: _getNodeInputDescription2
	    });
	    Object.defineProperty(this, _getNodeInputContact, {
	      value: _getNodeInputContact2
	    });
	    Object.defineProperty(this, _getNodeInputName, {
	      value: _getNodeInputName2
	    });
	    Object.defineProperty(this, _getContactDataPlaceholder, {
	      value: _getContactDataPlaceholder2
	    });
	    Object.defineProperty(this, _getNodeFormArea, {
	      value: _getNodeFormArea2
	    });
	    Object.defineProperty(this, _getNodeWidgetDate, {
	      value: _getNodeWidgetDate2
	    });
	    Object.defineProperty(this, _isCrmAndHasContact, {
	      value: _isCrmAndHasContact2
	    });
	    Object.defineProperty(this, _isPhoneContactOnly, {
	      value: _isPhoneContactOnly2
	    });
	    Object.defineProperty(this, _isMailContactOnly, {
	      value: _isMailContactOnly2
	    });
	    Object.defineProperty(this, _showFullContactPlaceholder, {
	      value: _showFullContactPlaceholder2
	    });
	    Object.defineProperty(this, _clearContactNameError, {
	      value: _clearContactNameError2
	    });
	    Object.defineProperty(this, _clearContactDataError, {
	      value: _clearContactDataError2
	    });
	    Object.defineProperty(this, _validateEmail, {
	      value: _validateEmail2
	    });
	    Object.defineProperty(this, _validatePhone, {
	      value: _validatePhone2
	    });
	    Object.defineProperty(this, _validateData, {
	      value: _validateData2
	    });
	    Object.defineProperty(this, _parseDate, {
	      value: _parseDate2
	    });
	    Object.defineProperty(this, _saveEvent, {
	      value: _saveEvent2
	    });
	    Object.defineProperty(this, _handleSaveButtonClick, {
	      value: _handleSaveButtonClick2
	    });
	    Object.defineProperty(this, _getNodeButtonSend, {
	      value: _getNodeButtonSend2
	    });
	    Object.defineProperty(this, _getEventName, {
	      value: _getEventName2
	    });
	    Object.defineProperty(this, _getNodeWrapper$2, {
	      value: _getNodeWrapper2$2
	    });
	    Object.defineProperty(this, _layout$5, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _value$2, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _widgetDate, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _owner$1, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _link$1, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _sharingUser, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _phoneDb, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _isFromCrm, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _hasContactData, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _isPhoneFeatureEnabled, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _isMailFeatureEnabled, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _inputData, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _inputErrors, {
	      writable: true,
	      value: void 0
	    });
	    babelHelpers.classPrivateFieldLooseBase(this, _owner$1)[_owner$1] = options.owner;
	    babelHelpers.classPrivateFieldLooseBase(this, _link$1)[_link$1] = options.link;
	    babelHelpers.classPrivateFieldLooseBase(this, _widgetDate)[_widgetDate] = new WidgetDate();
	    babelHelpers.classPrivateFieldLooseBase(this, _sharingUser)[_sharingUser] = options.sharingUser;
	    babelHelpers.classPrivateFieldLooseBase(this, _isFromCrm)[_isFromCrm] = options.isFromCrm;
	    babelHelpers.classPrivateFieldLooseBase(this, _hasContactData)[_hasContactData] = options.hasContactData;
	    babelHelpers.classPrivateFieldLooseBase(this, _isPhoneFeatureEnabled)[_isPhoneFeatureEnabled] = options.isPhoneFeatureEnabled;
	    babelHelpers.classPrivateFieldLooseBase(this, _isMailFeatureEnabled)[_isMailFeatureEnabled] = options.isMailFeatureEnabled;
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5] = {
	      wrapper: null,
	      buttonSend: null,
	      widgetDate: null,
	      formArea: null,
	      back: null,
	      calendarPage: {
	        month: null,
	        day: null,
	        timeFrom: null
	      },
	      dayInfo: null,
	      timeInterval: null,
	      timezone: null,
	      inputs: {
	        name: null,
	        contact: null,
	        description: null
	      }
	    };
	    babelHelpers.classPrivateFieldLooseBase(this, _value$2)[_value$2] = {
	      from: null,
	      to: null,
	      timezone: null,
	      isFullDay: false,
	      members: babelHelpers.classPrivateFieldLooseBase(this, _link$1)[_link$1].members
	    };
	    babelHelpers.classPrivateFieldLooseBase(this, _inputData)[_inputData] = {
	      authorName: '',
	      contactData: '',
	      description: ''
	    };
	    babelHelpers.classPrivateFieldLooseBase(this, _inputErrors)[_inputErrors] = {
	      authorNameEmpty: false,
	      contactDataEmpty: false,
	      contactDataIncorrect: false
	    };
	    babelHelpers.classPrivateFieldLooseBase(this, _phoneDb)[_phoneDb] = null;
	  }
	  cleanDescription() {
	    babelHelpers.classPrivateFieldLooseBase(this, _getNodeInputDescription)[_getNodeInputDescription]().value = null;
	    babelHelpers.classPrivateFieldLooseBase(this, _inputData)[_inputData].description = '';
	  }
	  getType() {
	    return 'form';
	  }
	  getContent() {
	    return babelHelpers.classPrivateFieldLooseBase(this, _getNodeWrapper$2)[_getNodeWrapper$2]();
	  }
	  updateFormValue(data) {
	    if (data.from) {
	      babelHelpers.classPrivateFieldLooseBase(this, _value$2)[_value$2].from = data.from;
	    }
	    if (data.to) {
	      babelHelpers.classPrivateFieldLooseBase(this, _value$2)[_value$2].to = data.to;
	    }
	    if (data.timezone) {
	      babelHelpers.classPrivateFieldLooseBase(this, _value$2)[_value$2].timezone = data.timezone;
	    }
	    if (main_core.Type.isBoolean(data.isFullDay)) {
	      babelHelpers.classPrivateFieldLooseBase(this, _value$2)[_value$2].isFullDay = data.isFullDay;
	    }
	    this.updateFormLayout();
	  }
	  updateFormLayout() {
	    var _babelHelpers$classPr;
	    babelHelpers.classPrivateFieldLooseBase(this, _widgetDate)[_widgetDate].updateValue(babelHelpers.classPrivateFieldLooseBase(this, _value$2)[_value$2], (_babelHelpers$classPr = babelHelpers.classPrivateFieldLooseBase(this, _link$1)[_link$1]) == null ? void 0 : _babelHelpers$classPr.type);
	  }
	  clearInputErrors() {
	    babelHelpers.classPrivateFieldLooseBase(this, _clearContactNameError)[_clearContactNameError]();
	    babelHelpers.classPrivateFieldLooseBase(this, _clearContactDataError)[_clearContactDataError]();
	  }
	}
	function _getNodeWrapper2$2() {
	  if (!babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].wrapper) {
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].wrapper = main_core.Tag.render(_t$6 || (_t$6 = _$6`
				<div class="calendar-pub__form">
					<div class="calendar-sharing__calendar-bar">
						${0}
						<div class="calendar-sharing__calendar-title-day calendar-pub-ui__typography-title">
							${0}
						</div>
					</div>
					<div class="calendar-sharing__calendar-block">
						${0}
					</div>
					${0}
				</div>
			`), babelHelpers.classPrivateFieldLooseBase(this, _getNodeBack$1)[_getNodeBack$1](), babelHelpers.classPrivateFieldLooseBase(this, _getEventName)[_getEventName](), babelHelpers.classPrivateFieldLooseBase(this, _getNodeWidgetDate)[_getNodeWidgetDate](), babelHelpers.classPrivateFieldLooseBase(this, _getNodeFormArea)[_getNodeFormArea]());
	  }
	  return babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].wrapper;
	}
	function _getEventName2() {
	  return main_core.Loc.getMessage('CALENDAR_SHARING_EVENT_NAME', {
	    '#OWNER_NAME#': `${babelHelpers.classPrivateFieldLooseBase(this, _owner$1)[_owner$1].name} ${babelHelpers.classPrivateFieldLooseBase(this, _owner$1)[_owner$1].lastName}`
	  });
	}
	function _getNodeButtonSend2() {
	  if (!babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].buttonSend) {
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].buttonSend = main_core.Tag.render(_t2$5 || (_t2$5 = _$6`
				<div class="calendar-pub-ui__btn">
					<div class="calendar-pub-ui__btn-text">${0}</div>
				</div>
			`), main_core.Loc.getMessage('CALENDAR_SHARING_CREATE_MEETING'));
	    main_core.Event.bind(babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].buttonSend, 'click', () => babelHelpers.classPrivateFieldLooseBase(this, _handleSaveButtonClick)[_handleSaveButtonClick]());
	  }
	  return babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].buttonSend;
	}
	async function _handleSaveButtonClick2() {
	  if (main_core.Dom.hasClass(babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].buttonSend, '--wait')) {
	    return;
	  }
	  main_core.Dom.addClass(babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].buttonSend, '--wait');
	  this.clearInputErrors();
	  if (!babelHelpers.classPrivateFieldLooseBase(this, _validateData)[_validateData]()) {
	    main_core.Dom.removeClass(babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].buttonSend, '--wait');
	    return;
	  }
	  const isSuccessful = await babelHelpers.classPrivateFieldLooseBase(this, _saveEvent)[_saveEvent]();
	  if (isSuccessful) {
	    main_core_events.EventEmitter.emit('selectorTypeChange', 'event', {
	      eventName: babelHelpers.classPrivateFieldLooseBase(this, _getEventName)[_getEventName](),
	      from: babelHelpers.classPrivateFieldLooseBase(this, _value$2)[_value$2].from,
	      to: babelHelpers.classPrivateFieldLooseBase(this, _value$2)[_value$2].to,
	      timezone: babelHelpers.classPrivateFieldLooseBase(this, _value$2)[_value$2].timezone
	    });
	  }
	  main_core.Dom.removeClass(babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].buttonSend, '--wait');
	}
	async function _saveEvent2() {
	  var _response, _response$data, _response2, _response2$data;
	  let response = null;
	  try {
	    if (babelHelpers.classPrivateFieldLooseBase(this, _isFromCrm)[_isFromCrm]) {
	      response = await BX.ajax.runAction('calendar.api.sharingajax.saveCrmEvent', {
	        data: {
	          ownerCreated: babelHelpers.classPrivateFieldLooseBase(this, _sharingUser)[_sharingUser].ownerCreated,
	          ownerId: babelHelpers.classPrivateFieldLooseBase(this, _owner$1)[_owner$1].id,
	          dateFrom: babelHelpers.classPrivateFieldLooseBase(this, _parseDate)[_parseDate](babelHelpers.classPrivateFieldLooseBase(this, _value$2)[_value$2].from),
	          dateTo: babelHelpers.classPrivateFieldLooseBase(this, _parseDate)[_parseDate](babelHelpers.classPrivateFieldLooseBase(this, _value$2)[_value$2].to),
	          userName: babelHelpers.classPrivateFieldLooseBase(this, _inputData)[_inputData].authorName,
	          userContact: babelHelpers.classPrivateFieldLooseBase(this, _inputData)[_inputData].contactData,
	          timezone: babelHelpers.classPrivateFieldLooseBase(this, _value$2)[_value$2].timezone,
	          crmDealLinkHash: babelHelpers.classPrivateFieldLooseBase(this, _link$1)[_link$1].hash,
	          description: babelHelpers.classPrivateFieldLooseBase(this, _inputData)[_inputData].description
	        }
	      });
	    } else {
	      response = await BX.ajax.runAction('calendar.api.sharingajax.saveEvent', {
	        data: {
	          ownerCreated: babelHelpers.classPrivateFieldLooseBase(this, _sharingUser)[_sharingUser].ownerCreated,
	          ownerId: babelHelpers.classPrivateFieldLooseBase(this, _getLinkOwnerId)[_getLinkOwnerId](),
	          userName: babelHelpers.classPrivateFieldLooseBase(this, _inputData)[_inputData].authorName,
	          userContact: babelHelpers.classPrivateFieldLooseBase(this, _inputData)[_inputData].contactData,
	          dateFrom: babelHelpers.classPrivateFieldLooseBase(this, _parseDate)[_parseDate](babelHelpers.classPrivateFieldLooseBase(this, _value$2)[_value$2].from),
	          dateTo: babelHelpers.classPrivateFieldLooseBase(this, _parseDate)[_parseDate](babelHelpers.classPrivateFieldLooseBase(this, _value$2)[_value$2].to),
	          timezone: babelHelpers.classPrivateFieldLooseBase(this, _value$2)[_value$2].timezone,
	          parentLinkHash: babelHelpers.classPrivateFieldLooseBase(this, _link$1)[_link$1].hash,
	          description: babelHelpers.classPrivateFieldLooseBase(this, _inputData)[_inputData].description
	        }
	      });
	    }
	  } catch (e) {
	    response = e;
	  }
	  if (response.errors.length === 0) {
	    main_core_events.EventEmitter.emit('onSaveEvent', {
	      eventName: babelHelpers.classPrivateFieldLooseBase(this, _getEventName)[_getEventName](),
	      from: babelHelpers.classPrivateFieldLooseBase(this, _value$2)[_value$2].from,
	      to: babelHelpers.classPrivateFieldLooseBase(this, _value$2)[_value$2].to,
	      timezone: babelHelpers.classPrivateFieldLooseBase(this, _value$2)[_value$2].timezone,
	      eventId: response.data.eventId,
	      eventLinkId: response.data.eventLinkId,
	      eventLinkHash: response.data.eventLinkHash,
	      eventLinkShortUrl: response.data.eventLinkShortUrl,
	      userName: babelHelpers.classPrivateFieldLooseBase(this, _inputData)[_inputData].authorName,
	      state: 'created',
	      isView: false
	    });
	    return true;
	  }
	  if ((_response = response) != null && (_response$data = _response.data) != null && _response$data.contactDataError || (_response2 = response) != null && (_response2$data = _response2.data) != null && _response2$data.isEmptyContactName) {
	    babelHelpers.classPrivateFieldLooseBase(this, _inputErrors)[_inputErrors].contactDataIncorrect = response.data.contactDataError === true;
	    babelHelpers.classPrivateFieldLooseBase(this, _inputErrors)[_inputErrors].authorNameEmpty = response.data.isEmptyContactName === true;
	    babelHelpers.classPrivateFieldLooseBase(this, _renderInputErrors)[_renderInputErrors]();
	    return false;
	  }
	  main_core_events.EventEmitter.emit('onSaveEvent', {
	    eventName: babelHelpers.classPrivateFieldLooseBase(this, _getEventName)[_getEventName](),
	    from: babelHelpers.classPrivateFieldLooseBase(this, _value$2)[_value$2].from,
	    to: babelHelpers.classPrivateFieldLooseBase(this, _value$2)[_value$2].to,
	    timezone: babelHelpers.classPrivateFieldLooseBase(this, _value$2)[_value$2].timezone,
	    state: 'not-created',
	    isView: false
	  });
	  return false;
	}
	function _parseDate2(date) {
	  const dateInFormat = main_date.DateTimeFormat.format(calendar_util.Util.getDateFormat(), date.getTime() / 1000);
	  const timeInFormat = main_date.DateTimeFormat.format(calendar_util.Util.getTimeFormat(), date.getTime() / 1000);
	  return `${dateInFormat} ${timeInFormat}`;
	}
	function _validateData2() {
	  if (babelHelpers.classPrivateFieldLooseBase(this, _isCrmAndHasContact)[_isCrmAndHasContact]()) {
	    return true;
	  }
	  if (babelHelpers.classPrivateFieldLooseBase(this, _inputData)[_inputData].authorName.length === 0) {
	    babelHelpers.classPrivateFieldLooseBase(this, _inputErrors)[_inputErrors].authorNameEmpty = true;
	  }
	  if (babelHelpers.classPrivateFieldLooseBase(this, _inputData)[_inputData].contactData.length === 0) {
	    babelHelpers.classPrivateFieldLooseBase(this, _inputErrors)[_inputErrors].contactDataEmpty = true;
	  }
	  if (!babelHelpers.classPrivateFieldLooseBase(this, _inputErrors)[_inputErrors].contactDataEmpty) {
	    babelHelpers.classPrivateFieldLooseBase(this, _inputErrors)[_inputErrors].contactDataIncorrect = !babelHelpers.classPrivateFieldLooseBase(this, _validatePhone)[_validatePhone]() && !babelHelpers.classPrivateFieldLooseBase(this, _validateEmail)[_validateEmail]();
	  }
	  babelHelpers.classPrivateFieldLooseBase(this, _renderInputErrors)[_renderInputErrors]();
	  return !babelHelpers.classPrivateFieldLooseBase(this, _inputErrors)[_inputErrors].authorNameEmpty && !babelHelpers.classPrivateFieldLooseBase(this, _inputErrors)[_inputErrors].contactDataEmpty && !babelHelpers.classPrivateFieldLooseBase(this, _inputErrors)[_inputErrors].contactDataIncorrect;
	}
	function _validatePhone2() {
	  if (babelHelpers.classPrivateFieldLooseBase(this, _isMailContactOnly)[_isMailContactOnly]()) {
	    return false;
	  }
	  const phone = babelHelpers.classPrivateFieldLooseBase(this, _inputData)[_inputData].contactData.replace(/[()\s\-]+/g, '');
	  const match = phone.match(/(^\+?\d{4,25}$)/i);
	  return (match == null ? void 0 : match[0]) === phone;
	}
	function _validateEmail2() {
	  if (babelHelpers.classPrivateFieldLooseBase(this, _isPhoneContactOnly)[_isPhoneContactOnly]()) {
	    return false;
	  }
	  const match = babelHelpers.classPrivateFieldLooseBase(this, _inputData)[_inputData].contactData.match(/(^[^@]+@.+$)/i);
	  return (match == null ? void 0 : match[0]) === babelHelpers.classPrivateFieldLooseBase(this, _inputData)[_inputData].contactData;
	}
	function _clearContactDataError2() {
	  babelHelpers.classPrivateFieldLooseBase(this, _inputErrors)[_inputErrors].contactDataEmpty = false;
	  babelHelpers.classPrivateFieldLooseBase(this, _inputErrors)[_inputErrors].contactDataIncorrect = false;
	  babelHelpers.classPrivateFieldLooseBase(this, _renderInputErrors)[_renderInputErrors]();
	}
	function _clearContactNameError2() {
	  babelHelpers.classPrivateFieldLooseBase(this, _inputErrors)[_inputErrors].authorNameEmpty = false;
	  babelHelpers.classPrivateFieldLooseBase(this, _renderInputErrors)[_renderInputErrors]();
	}
	function _showFullContactPlaceholder2() {
	  return !babelHelpers.classPrivateFieldLooseBase(this, _isMailContactOnly)[_isMailContactOnly]() && !babelHelpers.classPrivateFieldLooseBase(this, _isPhoneContactOnly)[_isPhoneContactOnly]();
	}
	function _isMailContactOnly2() {
	  return !babelHelpers.classPrivateFieldLooseBase(this, _isPhoneFeatureEnabled)[_isPhoneFeatureEnabled] && babelHelpers.classPrivateFieldLooseBase(this, _isMailFeatureEnabled)[_isMailFeatureEnabled];
	}
	function _isPhoneContactOnly2() {
	  return babelHelpers.classPrivateFieldLooseBase(this, _isPhoneFeatureEnabled)[_isPhoneFeatureEnabled] && !babelHelpers.classPrivateFieldLooseBase(this, _isMailFeatureEnabled)[_isMailFeatureEnabled];
	}
	function _isCrmAndHasContact2() {
	  return babelHelpers.classPrivateFieldLooseBase(this, _isFromCrm)[_isFromCrm] && babelHelpers.classPrivateFieldLooseBase(this, _hasContactData)[_hasContactData];
	}
	function _getNodeWidgetDate2() {
	  if (!babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].widgetDate) {
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].widgetDate = babelHelpers.classPrivateFieldLooseBase(this, _widgetDate)[_widgetDate].render();
	  }
	  return babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].widgetDate;
	}
	function _getNodeFormArea2() {
	  if (!babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].formArea) {
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].nameInputError = babelHelpers.classPrivateFieldLooseBase(this, _getNodeInputError)[_getNodeInputError]();
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].contactInputError = babelHelpers.classPrivateFieldLooseBase(this, _getNodeInputError)[_getNodeInputError]();
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].formArea = main_core.Tag.render(_t3$4 || (_t3$4 = _$6`
				<div class="calendar-sharing__calendar-block --form">
					<div class="calendar-sharing__form-area">
						<div class="calendar-sharing__form-input">
							${0}
							<div class="calendar-sharing__form-input-title">${0}<span>*</span></div>
							${0}
						</div>
						<div class="calendar-sharing__form-input">
							${0}
							<div class="calendar-sharing__form-input-title">${0}<span>*</span></div>
							${0}
						</div>
						<div class="calendar-sharing__form-input">
							${0}
							<div class="calendar-sharing__form-input-title">${0}</div>
						</div>
					</div>
					<div class="calendar-pub__welcome-bottom">
						${0}
					</div>
				</div>
			`), babelHelpers.classPrivateFieldLooseBase(this, _getNodeInputName)[_getNodeInputName](), main_core.Loc.getMessage('CALENDAR_SHARING_FORM_INPUT_NAME'), babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].nameInputError, babelHelpers.classPrivateFieldLooseBase(this, _getNodeInputContact)[_getNodeInputContact](), babelHelpers.classPrivateFieldLooseBase(this, _getContactDataPlaceholder)[_getContactDataPlaceholder](), babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].contactInputError, babelHelpers.classPrivateFieldLooseBase(this, _getNodeInputDescription)[_getNodeInputDescription](), main_core.Loc.getMessage('CALENDAR_SHARING_FORM_INPUT_INFO'), babelHelpers.classPrivateFieldLooseBase(this, _getNodeButtonSend)[_getNodeButtonSend]());
	  }
	  return babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].formArea;
	}
	function _getContactDataPlaceholder2() {
	  let messageCode = 'CALENDAR_SHARING_AUTHOR_CONTACT_DATA_PLACEHOLDER_PHONE_FEATURE_ENABLED';
	  if (babelHelpers.classPrivateFieldLooseBase(this, _isMailContactOnly)[_isMailContactOnly]()) {
	    messageCode = 'CALENDAR_SHARING_AUTHOR_CONTACT_DATA_PLACEHOLDER_PHONE_FEATURE_DISABLED';
	  }
	  if (babelHelpers.classPrivateFieldLooseBase(this, _isPhoneContactOnly)[_isPhoneContactOnly]()) {
	    messageCode = 'CALENDAR_SHARING_AUTHOR_CONTACT_DATA_PLACEHOLDER_MAIL_FEATURE_DISABLED';
	  }
	  return main_core.Loc.getMessage(messageCode);
	}
	function _getNodeInputName2() {
	  if (!babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].inputs.name) {
	    var _babelHelpers$classPr2;
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].inputs.name = main_core.Tag.render(_t4$4 || (_t4$4 = _$6`
				<input type="text" placeholder=" " class="calendar-sharing__form-input-area">
			`));
	    if (babelHelpers.classPrivateFieldLooseBase(this, _hasContactData)[_hasContactData]) {
	      main_core.Dom.addClass(babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].inputs.name, '--hidden');
	    } else if ((_babelHelpers$classPr2 = babelHelpers.classPrivateFieldLooseBase(this, _sharingUser)[_sharingUser]) != null && _babelHelpers$classPr2.userName) {
	      var _babelHelpers$classPr3;
	      babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].inputs.name.value = (_babelHelpers$classPr3 = babelHelpers.classPrivateFieldLooseBase(this, _sharingUser)[_sharingUser]) == null ? void 0 : _babelHelpers$classPr3.userName;
	    }
	    babelHelpers.classPrivateFieldLooseBase(this, _inputData)[_inputData].authorName = babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].inputs.name.value;
	    main_core.Event.bind(babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].inputs.name, 'input', () => {
	      babelHelpers.classPrivateFieldLooseBase(this, _inputData)[_inputData].authorName = babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].inputs.name.value;
	    });
	    main_core.Event.bind(babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].inputs.name, 'focus', babelHelpers.classPrivateFieldLooseBase(this, _clearContactNameError)[_clearContactNameError].bind(this));
	  }
	  return babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].inputs.name;
	}
	function _getNodeInputContact2() {
	  if (!babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].inputs.contact) {
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].inputs.contact = main_core.Tag.render(_t5$4 || (_t5$4 = _$6`
				<input type="text" placeholder=" " class="calendar-sharing__form-input-area">
			`));
	    if (babelHelpers.classPrivateFieldLooseBase(this, _isMailContactOnly)[_isMailContactOnly]()) {
	      babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].inputs.contact.inputMode = 'email';
	    }
	    if (babelHelpers.classPrivateFieldLooseBase(this, _isPhoneContactOnly)[_isPhoneContactOnly]()) {
	      babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].inputs.contact.inputMode = 'tel';
	    }
	    if (babelHelpers.classPrivateFieldLooseBase(this, _hasContactData)[_hasContactData]) {
	      main_core.Dom.addClass(babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].inputs.contact, '--hidden');
	    } else if (babelHelpers.classPrivateFieldLooseBase(this, _sharingUser)[_sharingUser]) {
	      if (babelHelpers.classPrivateFieldLooseBase(this, _isMailFeatureEnabled)[_isMailFeatureEnabled] && babelHelpers.classPrivateFieldLooseBase(this, _sharingUser)[_sharingUser].personalMailbox) {
	        var _babelHelpers$classPr4;
	        babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].inputs.contact.value = (_babelHelpers$classPr4 = babelHelpers.classPrivateFieldLooseBase(this, _sharingUser)[_sharingUser]) == null ? void 0 : _babelHelpers$classPr4.personalMailbox;
	      } else if (babelHelpers.classPrivateFieldLooseBase(this, _isPhoneFeatureEnabled)[_isPhoneFeatureEnabled] && babelHelpers.classPrivateFieldLooseBase(this, _sharingUser)[_sharingUser].personalPhone) {
	        var _babelHelpers$classPr5;
	        babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].inputs.contact.value = (_babelHelpers$classPr5 = babelHelpers.classPrivateFieldLooseBase(this, _sharingUser)[_sharingUser]) == null ? void 0 : _babelHelpers$classPr5.personalPhone;
	      }
	    }
	    babelHelpers.classPrivateFieldLooseBase(this, _inputData)[_inputData].contactData = babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].inputs.contact.value;
	    main_core.Event.bind(babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].inputs.contact, 'input', event => {
	      babelHelpers.classPrivateFieldLooseBase(this, _inputData)[_inputData].contactData = babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].inputs.contact.value;
	      babelHelpers.classPrivateFieldLooseBase(this, _onPhoneInput)[_onPhoneInput](event);
	    });
	    main_core.Event.bind(babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].inputs.contact, 'keydown', babelHelpers.classPrivateFieldLooseBase(this, _onPhoneInputKeyDown)[_onPhoneInputKeyDown].bind(this));
	    main_core.Event.bind(babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].inputs.contact, 'focus', babelHelpers.classPrivateFieldLooseBase(this, _clearContactDataError)[_clearContactDataError].bind(this));
	  }
	  return babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].inputs.contact;
	}
	function _getNodeInputDescription2() {
	  if (!babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].inputs.description) {
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].inputs.description = main_core.Tag.render(_t6$3 || (_t6$3 = _$6`
				<textarea type="text" placeholder=" " class="calendar-sharing__form-input-area --textarea"></textarea>
			`));
	    babelHelpers.classPrivateFieldLooseBase(this, _inputData)[_inputData].description = babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].inputs.description.value;
	    main_core.Event.bind(babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].inputs.description, 'input', () => {
	      babelHelpers.classPrivateFieldLooseBase(this, _inputData)[_inputData].description = babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].inputs.description.value;
	    });
	  }
	  return babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].inputs.description;
	}
	function _getNodeInputError2() {
	  return main_core.Tag.render(_t7$3 || (_t7$3 = _$6`
			<span class="calendar-sharing__form-input-error"></span>
		`));
	}
	function _renderInputErrors2() {
	  main_core.Dom.removeClass(babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].inputs.name.parentNode, '--error');
	  main_core.Dom.removeClass(babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].inputs.contact.parentNode, '--error');
	  if (babelHelpers.classPrivateFieldLooseBase(this, _inputErrors)[_inputErrors].authorNameEmpty) {
	    main_core.Dom.addClass(babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].inputs.name.parentNode, '--error');
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].nameInputError.innerText = main_core.Loc.getMessage('CALENDAR_SHARING_INPUT_ERROR_REQUIRED');
	  }
	  if (babelHelpers.classPrivateFieldLooseBase(this, _inputErrors)[_inputErrors].contactDataEmpty) {
	    main_core.Dom.addClass(babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].inputs.contact.parentNode, '--error');
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].contactInputError.innerText = main_core.Loc.getMessage('CALENDAR_SHARING_INPUT_ERROR_REQUIRED');
	  }
	  if (babelHelpers.classPrivateFieldLooseBase(this, _inputErrors)[_inputErrors].contactDataIncorrect) {
	    main_core.Dom.addClass(babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].inputs.contact.parentNode, '--error');
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].contactInputError.innerText = main_core.Loc.getMessage('CALENDAR_SHARING_INPUT_ERROR_INCORRECT');
	  }
	}
	function _getNodeBack2$1() {
	  if (!babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].back) {
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].back = main_core.Tag.render(_t8$2 || (_t8$2 = _$6`
				<div class="calendar-sharing__calendar-back"></div>
			`));
	    main_core.Event.bind(babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].back, 'click', () => {
	      main_core_events.EventEmitter.emit('selectorTypeChange', 'slot-list');
	    });
	  }
	  return babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].back;
	}
	function _onPhoneInput2() {
	  babelHelpers.classPrivateFieldLooseBase(this, _clearContactDataError)[_clearContactDataError]();
	  if (!babelHelpers.classPrivateFieldLooseBase(this, _isPhoneTypeInput)[_isPhoneTypeInput]()) {
	    return;
	  }
	  const textBeforeCursor = babelHelpers.classPrivateFieldLooseBase(this, _getTextBeforeCursor)[_getTextBeforeCursor](babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].inputs.contact);
	  babelHelpers.classPrivateFieldLooseBase(this, _inputData)[_inputData].contactData = babelHelpers.classPrivateFieldLooseBase(this, _formatPhone)[_formatPhone](babelHelpers.classPrivateFieldLooseBase(this, _inputData)[_inputData].contactData);
	  babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].inputs.contact.value = babelHelpers.classPrivateFieldLooseBase(this, _inputData)[_inputData].contactData;
	  babelHelpers.classPrivateFieldLooseBase(this, _setCursorToFormattedPosition)[_setCursorToFormattedPosition](babelHelpers.classPrivateFieldLooseBase(this, _layout$5)[_layout$5].inputs.contact, textBeforeCursor);
	}
	function _getTextBeforeCursor2(input) {
	  const selectionStart = input.selectionStart;
	  return input.value.slice(0, selectionStart);
	}
	function _setCursorToFormattedPosition2(input, textBeforeCursor) {
	  const firstPart = babelHelpers.classPrivateFieldLooseBase(this, _getTextEscapedForRegex)[_getTextEscapedForRegex](textBeforeCursor.slice(0, -1));
	  const lastCharacter = babelHelpers.classPrivateFieldLooseBase(this, _getTextEscapedForRegex)[_getTextEscapedForRegex](textBeforeCursor.slice(-1));
	  const matches = input.value.match(`${firstPart}.*?${lastCharacter}`);
	  if (!matches) {
	    return;
	  }
	  const match = matches[0];
	  const formattedPosition = input.value.indexOf(match) + match.length;
	  input.setSelectionRange(formattedPosition, formattedPosition);
	}
	function _getTextEscapedForRegex2(text) {
	  return text.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
	}
	function _onPhoneInputKeyDown2(e) {
	  if (!babelHelpers.classPrivateFieldLooseBase(this, _isPhoneTypeInput)[_isPhoneTypeInput]()) {
	    return;
	  }
	  if (!babelHelpers.classPrivateFieldLooseBase(this, _isDigit)[_isDigit](e.key) && !babelHelpers.classPrivateFieldLooseBase(this, _isControlKey)[_isControlKey](e.key) && !calendar_util.Util.isAnyModifierKeyPressed(e)) {
	    e.preventDefault();
	  }
	}
	function _isPhoneTypeInput2() {
	  return babelHelpers.classPrivateFieldLooseBase(this, _isPhoneContactOnly)[_isPhoneContactOnly]() || babelHelpers.classPrivateFieldLooseBase(this, _showFullContactPlaceholder)[_showFullContactPlaceholder]() && babelHelpers.classPrivateFieldLooseBase(this, _inputData)[_inputData].contactData.slice(0, 1) === '+';
	}
	function _isDigit2(key) {
	  return /^\d+$/.test(key);
	}
	function _isControlKey2(key) {
	  return ['Esc', 'Delete', 'Backspace', 'Tab'].indexOf(key) >= 0 || key.includes('Arrow');
	}
	function _formatPhone2(value) {
	  var _value2;
	  (_value2 = value) != null ? _value2 : value = '';
	  const hasPlus = value.indexOf('+') === 0;
	  value = value.replace(/\D/g, '');
	  if (!hasPlus && value.substr(0, 1) === '8') {
	    value = `7${value.substr(1)}`;
	  }
	  if (!babelHelpers.classPrivateFieldLooseBase(this, _phoneDb)[_phoneDb]) {
	    babelHelpers.classPrivateFieldLooseBase(this, _phoneDb)[_phoneDb] = "247,ac,___-____|376,ad,___-___-___|971,ae,___-_-___-____|93,af,__-__-___-____|1268,ag,_ (___) ___-____|1264,ai,_ (___) ___-____|355,al,___ (___) ___-___|374,am,___-__-___-___|599,bq,___-___-____|244,ao,___ (___) ___-___|6721,aq,___-___-___|54,ar,__ (___) ___-____|1684,as,_ (___) ___-____|43,at,__ (___) ___-____|61,au,__-_-____-____|297,aw,___-___-____|994,az,___ (__) ___-__-__|387,ba,___-__-____|1246,bb,_ (___) ___-____|880,bd,___-__-___-___|32,be,__ (___) ___-___|226,bf,___-__-__-____|359,bg,___ (___) ___-___|973,bh,___-____-____|257,bi,___-__-__-____|229,bj,___-__-__-____|1441,bm,_ (___) ___-____|673,bn,___-___-____|591,bo,___-_-___-____|55,br,__-(__)-____-____|1242,bs,_ (___) ___-____|975,bt,___-_-___-___|267,bw,___-__-___-___|375,by,___ (__) ___-__-__|501,bz,___-___-____|243,cd,___ (___) ___-___|236,cf,___-__-__-____|242,cg,___-__-___-____|41,ch,__-__-___-____|225,ci,___-__-___-___|682,ck,___-__-___|56,cl,__-_-____-____|237,cm,___-____-____|86,cn,__ (___) ____-___|57,co,__ (___) ___-____|506,cr,___-____-____|53,cu,__-_-___-____|238,cv,___ (___) __-__|357,cy,___-__-___-___|420,cz,___ (___) ___-___|49,de,__-___-___|253,dj,___-__-__-__-__|45,dk,__-__-__-__-__|1767,dm,_ (___) ___-____|1809,do,_ (___) ___-____|,do,_ (___) ___-____|213,dz,___-__-___-____|593,ec,___-_-___-____|372,ee,___-___-____|20,eg,__ (___) ___-____|291,er,___-_-___-___|34,es,__ (___) ___-___|251,et,___-__-___-____|358,fi,___ (___) ___-__-__|679,fj,___-__-_____|500,fk,___-_____|691,fm,___-___-____|298,fo,___-___-___|262,fr,___-_____-____|33,fr,__ (___) ___-___|508,fr,___-__-____|590,fr,___ (___) ___-___|241,ga,___-_-__-__-__|1473,gd,_ (___) ___-____|995,ge,___ (___) ___-___|594,gf,___-_____-____|233,gh,___ (___) ___-___|350,gi,___-___-_____|299,gl,___-__-__-__|220,gm,___ (___) __-__|224,gn,___-__-___-___|240,gq,___-__-___-____|30,gr,__ (___) ___-____|502,gt,___-_-___-____|1671,gu,_ (___) ___-____|245,gw,___-_-______|592,gy,___-___-____|852,hk,___-____-____|504,hn,___-____-____|385,hr,___-__-___-___|509,ht,___-__-__-____|36,hu,__ (___) ___-___|62,id,__-__-___-__|353,ie,___ (___) ___-___|972,il,___-_-___-____|91,in,__ (____) ___-___|246,io,___-___-____|964,iq,___ (___) ___-____|98,ir,__ (___) ___-____|354,is,___-___-____|39,it,__ (___) ____-___|1876,jm,_ (___) ___-____|962,jo,___-_-____-____|81,jp,__ (___) ___-___|254,ke,___-___-______|996,kg,___ (___) ___-___|855,kh,___ (__) ___-___|686,ki,___-__-___|269,km,___-__-_____|1869,kn,_ (___) ___-____|850,kp,___-___-___|82,kr,__-__-___-____|965,kw,___-____-____|1345,ky,_ (___) ___-____|77,kz,_ (___) ___-__-__|856,la,___-__-___-___|961,lb,___-_-___-___|1758,lc,_ (___) ___-____|423,li,___ (___) ___-____|94,lk,__-__-___-____|231,lr,___-__-___-___|266,ls,___-_-___-____|370,lt,___ (___) __-___|352,lu,___ (___) ___-___|371,lv,___-__-___-___|218,ly,___-__-___-___|212,ma,___-__-____-___|377,mc,___-__-___-___|373,md,___-____-____|382,me,___-__-___-___|261,mg,___-__-__-_____|692,mh,___-___-____|389,mk,___-__-___-___|223,ml,___-__-__-____|95,mm,__-___-___|976,mn,___-__-__-____|853,mo,___-____-____|1670,mp,_ (___) ___-____|596,mq,___ (___) __-__-__|222,mr,___ (__) __-____|1664,ms,_ (___) ___-____|356,mt,___-____-____|230,mu,___-___-____|960,mv,___-___-____|265,mw,___-_-____-____|52,mx,__-__-__-____|60,my,__-_-___-___|258,mz,___-__-___-___|264,na,___-__-___-____|687,nc,___-__-____|227,ne,___-__-__-____|6723,nf,___-___-___|234,ng,___-__-___-__|505,ni,___-____-____|31,nl,__-__-___-____|47,no,__ (___) __-___|977,np,___-__-___-___|674,nr,___-___-____|683,nu,___-____|64,nz,__-__-___-___|968,om,___-__-___-___|507,pa,___-___-____|51,pe,__ (___) ___-___|689,pf,___-__-__-__|675,pg,___ (___) __-___|63,ph,__ (___) ___-____|92,pk,__ (___) ___-____|48,pl,__ (___) ___-___|970,ps,___-__-___-____|351,pt,___-__-___-____|680,pw,___-___-____|595,py,___ (___) ___-___|974,qa,___-____-____|40,ro,__-__-___-____|381,rs,___-__-___-____|7,ru,_ (___) ___-__-__|250,rw,___ (___) ___-___|966,sa,___-_-___-____|677,sb,___-_____|248,sc,___-_-___-___|249,sd,___-__-___-____|46,se,__-__-___-____|65,sg,__-____-____|386,si,___-__-___-___|421,sk,___ (___) ___-___|232,sl,___-__-______|378,sm,___-____-______|221,sn,___-__-___-____|252,so,___-_-___-___|597,sr,___-___-___|211,ss,___-__-___-____|239,st,___-__-_____|503,sv,___-__-__-____|1721,sx,_ (___) ___-____|963,sy,___-__-____-___|268,sz,___ (__) __-____|1649,tc,_ (___) ___-____|235,td,___-__-__-__-__|228,tg,___-__-___-___|66,th,__-__-___-___|992,tj,___-__-___-____|690,tk,___-____|670,tl,___-___-____|993,tm,___-_-___-____|216,tn,___-__-___-___|676,to,___-_____|90,tr,__ (___) ___-____|1868,tt,_ (___) ___-____|688,tv,___-_____|886,tw,___-____-____|255,tz,___-__-___-____|380,ua,___ (__) ___-__-__|256,ug,___ (___) ___-___|44,gb,__-__-____-____|598,uy,___-_-___-__-__|998,uz,___-__-___-____|396698,va,__-_-___-_____|1784,vc,_ (___) ___-____|58,ve,__ (___) ___-____|1284,vg,_ (___) ___-____|1340,vi,_ (___) ___-____|84,vn,__-__-____-___|678,vu,___-_____|681,wf,___-__-____|685,ws,___-__-____|967,ye,___-_-___-___|27,za,__-__-___-____|260,zm,___ (__) ___-____|263,zw,___-_-______|1,us,_ (___) ___-____|".split('|').map(item => {
	      item = item.split(',');
	      return {
	        code: item[0],
	        id: item[1],
	        mask: item[2]
	      };
	    });
	  }
	  if (value.length > 0) {
	    let mask = babelHelpers.classPrivateFieldLooseBase(this, _findMask)[_findMask](value);
	    mask += `${mask.indexOf('-') >= 0 ? '-' : ' '}__`.repeat(10);
	    for (let i = 0; i < value.length; i++) {
	      mask = mask.replace('_', value.slice(i, i + 1));
	    }
	    value = mask.replace(/\D+$/, '').replace(/_/g, '0');
	  }
	  if (hasPlus || value.length > 0) {
	    value = `+${value}`;
	  }
	  return value;
	}
	function _findMask2(value) {
	  const r = babelHelpers.classPrivateFieldLooseBase(this, _phoneDb)[_phoneDb].filter(item => {
	    return value.indexOf(item.code) === 0;
	  }).sort((a, b) => {
	    return b.code.length - a.code.length;
	  })[0];
	  return r ? r.mask : '_ ___ __ __ __';
	}
	function _getLinkOwnerId2() {
	  return babelHelpers.classPrivateFieldLooseBase(this, _link$1)[_link$1].type === 'group' ? babelHelpers.classPrivateFieldLooseBase(this, _link$1)[_link$1].hostId : babelHelpers.classPrivateFieldLooseBase(this, _owner$1)[_owner$1].id;
	}

	let _$7 = t => t,
	  _t$7;
	var _layout$6 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("layout");
	var _bindEvents$3 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("bindEvents");
	var _getNodeEmptyState = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getNodeEmptyState");
	class EmptyState extends Base {
	  constructor(options) {
	    super({
	      isHiddenOnStart: options.isHiddenOnStart
	    });
	    Object.defineProperty(this, _getNodeEmptyState, {
	      value: _getNodeEmptyState2
	    });
	    Object.defineProperty(this, _bindEvents$3, {
	      value: _bindEvents2$3
	    });
	    Object.defineProperty(this, _layout$6, {
	      writable: true,
	      value: void 0
	    });
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$6)[_layout$6] = {
	      content: null
	    };
	    babelHelpers.classPrivateFieldLooseBase(this, _bindEvents$3)[_bindEvents$3]();
	  }
	  getType() {
	    return 'empty-state';
	  }
	  getContent() {
	    return babelHelpers.classPrivateFieldLooseBase(this, _getNodeEmptyState)[_getNodeEmptyState]();
	  }
	}
	function _bindEvents2$3() {}
	function _getNodeEmptyState2() {
	  if (!babelHelpers.classPrivateFieldLooseBase(this, _layout$6)[_layout$6].content) {
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$6)[_layout$6].content = main_core.Tag.render(_t$7 || (_t$7 = _$7`
				<div class="calendar-pub__slots-empty">
					<div class="calendar-pub__slots-empty_title">${0}</div>
					<div class="calendar-pub__slots-empty_info">${0}</div>
				</div>
			`), main_core.Loc.getMessage('CALENDAR_SHARING_SLOTS_EMPTY'), main_core.Loc.getMessage('CALENDAR_SHARING_SLOTS_EMPTY_INFO'));
	  }
	  return babelHelpers.classPrivateFieldLooseBase(this, _layout$6)[_layout$6].content;
	}

	let _$8 = t => t,
	  _t$8;
	var _layout$7 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("layout");
	var _bindEvents$4 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("bindEvents");
	var _getNodeEmptyState$1 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getNodeEmptyState");
	class AccessDenied extends Base {
	  constructor(options) {
	    super({
	      isHiddenOnStart: options.isHiddenOnStart
	    });
	    Object.defineProperty(this, _getNodeEmptyState$1, {
	      value: _getNodeEmptyState2$1
	    });
	    Object.defineProperty(this, _bindEvents$4, {
	      value: _bindEvents2$4
	    });
	    Object.defineProperty(this, _layout$7, {
	      writable: true,
	      value: void 0
	    });
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$7)[_layout$7] = {
	      content: null
	    };
	    babelHelpers.classPrivateFieldLooseBase(this, _bindEvents$4)[_bindEvents$4]();
	  }
	  getType() {
	    return 'access-denied';
	  }
	  getContent() {
	    return babelHelpers.classPrivateFieldLooseBase(this, _getNodeEmptyState$1)[_getNodeEmptyState$1]();
	  }
	}
	function _bindEvents2$4() {}
	function _getNodeEmptyState2$1() {
	  if (!babelHelpers.classPrivateFieldLooseBase(this, _layout$7)[_layout$7].content) {
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$7)[_layout$7].content = main_core.Tag.render(_t$8 || (_t$8 = _$8`
				<div class="calendar-pub__slots-empty --icon-cross">
					<div class="calendar-pub__slots-empty_title">${0}</div>
					<div class="calendar-pub__slots-empty_info">${0}</div>
				</div>
			`), main_core.Loc.getMessage('CALENDAR_SHARING_SLOTS_ACCESS_DENIED'), main_core.Loc.getMessage('CALENDAR_SHARING_SLOTS_ACCESS_DENIED_INFO'));
	  }
	  return babelHelpers.classPrivateFieldLooseBase(this, _layout$7)[_layout$7].content;
	}

	let _$9 = t => t,
	  _t$9,
	  _t2$6,
	  _t3$5;
	var _layout$8 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("layout");
	var _selected$1 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("selected");
	var _value$3 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("value");
	var _bindEvents$5 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("bindEvents");
	var _getNodeSelect = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getNodeSelect");
	var _getNodeValue = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getNodeValue");
	var _getNodeWrapper$3 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getNodeWrapper");
	class SlotItem {
	  constructor(options) {
	    Object.defineProperty(this, _getNodeWrapper$3, {
	      value: _getNodeWrapper2$3
	    });
	    Object.defineProperty(this, _getNodeValue, {
	      value: _getNodeValue2
	    });
	    Object.defineProperty(this, _getNodeSelect, {
	      value: _getNodeSelect2
	    });
	    Object.defineProperty(this, _bindEvents$5, {
	      value: _bindEvents2$5
	    });
	    Object.defineProperty(this, _layout$8, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _selected$1, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _value$3, {
	      writable: true,
	      value: void 0
	    });
	    this.BUTTON_MAX_WIDTH = 123;
	    babelHelpers.classPrivateFieldLooseBase(this, _selected$1)[_selected$1] = null;
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$8)[_layout$8] = {
	      wrapper: null,
	      value: null,
	      select: null
	    };
	    babelHelpers.classPrivateFieldLooseBase(this, _value$3)[_value$3] = options.value;
	    babelHelpers.classPrivateFieldLooseBase(this, _bindEvents$5)[_bindEvents$5]();
	  }
	  isSelected() {
	    return babelHelpers.classPrivateFieldLooseBase(this, _selected$1)[_selected$1];
	  }
	  select() {
	    babelHelpers.classPrivateFieldLooseBase(this, _selected$1)[_selected$1] = true;
	    main_core.Dom.addClass(babelHelpers.classPrivateFieldLooseBase(this, _getNodeWrapper$3)[_getNodeWrapper$3](), '--selected');
	    main_core_events.EventEmitter.emit('selectSlot', this);
	  }
	  unSelect() {
	    babelHelpers.classPrivateFieldLooseBase(this, _selected$1)[_selected$1] = null;
	    main_core.Dom.removeClass(babelHelpers.classPrivateFieldLooseBase(this, _getNodeWrapper$3)[_getNodeWrapper$3](), '--selected');
	  }
	  showForm() {
	    main_core_events.EventEmitter.emit('confirmedSelectSlot', {
	      value: babelHelpers.classPrivateFieldLooseBase(this, _value$3)[_value$3]
	    });
	  }
	  render() {
	    return babelHelpers.classPrivateFieldLooseBase(this, _getNodeWrapper$3)[_getNodeWrapper$3]();
	  }
	}
	function _bindEvents2$5() {
	  main_core.Event.bind(babelHelpers.classPrivateFieldLooseBase(this, _getNodeWrapper$3)[_getNodeWrapper$3](), 'click', this.select.bind(this));
	  main_core.Event.bind(babelHelpers.classPrivateFieldLooseBase(this, _getNodeSelect)[_getNodeSelect](), 'click', this.showForm.bind(this));
	}
	function _getNodeSelect2() {
	  if (!babelHelpers.classPrivateFieldLooseBase(this, _layout$8)[_layout$8].select) {
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$8)[_layout$8].select = main_core.Tag.render(_t$9 || (_t$9 = _$9`
				<div class="calendar-sharing__slot-select">${0}</div>
			`), main_core.Loc.getMessage('CALENDAR_SHARING_SELECT_SLOT'));
	    document.body.append(babelHelpers.classPrivateFieldLooseBase(this, _layout$8)[_layout$8].select);
	    if (babelHelpers.classPrivateFieldLooseBase(this, _layout$8)[_layout$8].select.offsetWidth > this.BUTTON_MAX_WIDTH) {
	      main_core.Dom.addClass(babelHelpers.classPrivateFieldLooseBase(this, _layout$8)[_layout$8].select, '--compact');
	    }
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$8)[_layout$8].select.remove();
	  }
	  return babelHelpers.classPrivateFieldLooseBase(this, _layout$8)[_layout$8].select;
	}
	function _getNodeValue2() {
	  if (!babelHelpers.classPrivateFieldLooseBase(this, _layout$8)[_layout$8].value) {
	    let value = calendar_util.Util.formatTimeInterval(babelHelpers.classPrivateFieldLooseBase(this, _value$3)[_value$3].from, babelHelpers.classPrivateFieldLooseBase(this, _value$3)[_value$3].to);
	    value = value.replace(/(am|pm)/g, '<span class="calendar-sharing-am-pm">$1</span>');
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$8)[_layout$8].value = main_core.Tag.render(_t2$6 || (_t2$6 = _$9`
				<div class="calendar-sharing__slot-value">${0}</div>
			`), value);
	  }
	  return babelHelpers.classPrivateFieldLooseBase(this, _layout$8)[_layout$8].value;
	}
	function _getNodeWrapper2$3() {
	  if (!babelHelpers.classPrivateFieldLooseBase(this, _layout$8)[_layout$8].wrapper) {
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$8)[_layout$8].wrapper = main_core.Tag.render(_t3$5 || (_t3$5 = _$9`
				<div class="calendar-sharing__slot-item">
					${0}
					${0}
				</div>
			`), babelHelpers.classPrivateFieldLooseBase(this, _getNodeValue)[_getNodeValue](), babelHelpers.classPrivateFieldLooseBase(this, _getNodeSelect)[_getNodeSelect]());
	  }
	  return babelHelpers.classPrivateFieldLooseBase(this, _layout$8)[_layout$8].wrapper;
	}

	let _$a = t => t,
	  _t$a,
	  _t2$7,
	  _t3$6,
	  _t4$5,
	  _t5$5,
	  _t6$4,
	  _t7$4;
	var _layout$9 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("layout");
	var _slots$1 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("slots");
	var _selectedSlot = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("selectedSlot");
	var _timezoneNoticeWasUnderstood = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("timezoneNoticeWasUnderstood");
	var _ownerTimezoneOffsetUtc = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("ownerTimezoneOffsetUtc");
	var _selectedTimezoneOffsetUtc$1 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("selectedTimezoneOffsetUtc");
	var _bindEvents$6 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("bindEvents");
	var _getNodeSlotList = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getNodeSlotList");
	var _getNodeTitle = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getNodeTitle");
	var _getNodeTimezoneNotice = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getNodeTimezoneNotice");
	var _getNodeTimezoneNoticeText = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getNodeTimezoneNoticeText");
	var _getNodeTimezoneNoticeButton = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getNodeTimezoneNoticeButton");
	var _shouldShowTimezoneNotice = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("shouldShowTimezoneNotice");
	var _showTimezoneNotice = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("showTimezoneNotice");
	var _getTimezoneNoticeText$1 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getTimezoneNoticeText");
	var _hideTimezoneNotice = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("hideTimezoneNotice");
	var _getNodeList = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getNodeList");
	var _getNodeListItems = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getNodeListItems");
	class SlotList extends Base {
	  constructor(options) {
	    super({
	      isHiddenOnStart: options.isHiddenOnStart
	    });
	    Object.defineProperty(this, _getNodeListItems, {
	      value: _getNodeListItems2
	    });
	    Object.defineProperty(this, _getNodeList, {
	      value: _getNodeList2
	    });
	    Object.defineProperty(this, _hideTimezoneNotice, {
	      value: _hideTimezoneNotice2
	    });
	    Object.defineProperty(this, _getTimezoneNoticeText$1, {
	      value: _getTimezoneNoticeText2$1
	    });
	    Object.defineProperty(this, _showTimezoneNotice, {
	      value: _showTimezoneNotice2
	    });
	    Object.defineProperty(this, _shouldShowTimezoneNotice, {
	      value: _shouldShowTimezoneNotice2
	    });
	    Object.defineProperty(this, _getNodeTimezoneNoticeButton, {
	      value: _getNodeTimezoneNoticeButton2
	    });
	    Object.defineProperty(this, _getNodeTimezoneNoticeText, {
	      value: _getNodeTimezoneNoticeText2
	    });
	    Object.defineProperty(this, _getNodeTimezoneNotice, {
	      value: _getNodeTimezoneNotice2
	    });
	    Object.defineProperty(this, _getNodeTitle, {
	      value: _getNodeTitle2
	    });
	    Object.defineProperty(this, _getNodeSlotList, {
	      value: _getNodeSlotList2
	    });
	    Object.defineProperty(this, _bindEvents$6, {
	      value: _bindEvents2$6
	    });
	    Object.defineProperty(this, _layout$9, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _slots$1, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _selectedSlot, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _timezoneNoticeWasUnderstood, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _ownerTimezoneOffsetUtc, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _selectedTimezoneOffsetUtc$1, {
	      writable: true,
	      value: void 0
	    });
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$9)[_layout$9] = {
	      title: null,
	      list: null,
	      timezoneNotice: null,
	      timezoneNoticeOffset: null
	    };
	    babelHelpers.classPrivateFieldLooseBase(this, _slots$1)[_slots$1] = [];
	    babelHelpers.classPrivateFieldLooseBase(this, _timezoneNoticeWasUnderstood)[_timezoneNoticeWasUnderstood] = false;
	    babelHelpers.classPrivateFieldLooseBase(this, _ownerTimezoneOffsetUtc)[_ownerTimezoneOffsetUtc] = -options.ownerOffset;
	    babelHelpers.classPrivateFieldLooseBase(this, _selectedTimezoneOffsetUtc$1)[_selectedTimezoneOffsetUtc$1] = new Date().getTimezoneOffset();
	    babelHelpers.classPrivateFieldLooseBase(this, _bindEvents$6)[_bindEvents$6]();
	  }
	  getType() {
	    return 'slot-list';
	  }
	  getContent() {
	    return babelHelpers.classPrivateFieldLooseBase(this, _getNodeSlotList)[_getNodeSlotList]();
	  }
	  updateSlotsList() {
	    main_core.Dom.clean(babelHelpers.classPrivateFieldLooseBase(this, _getNodeList)[_getNodeList]());
	    const slotListNode = babelHelpers.classPrivateFieldLooseBase(this, _getNodeListItems)[_getNodeListItems]();
	    main_core.Dom.append(slotListNode, babelHelpers.classPrivateFieldLooseBase(this, _getNodeList)[_getNodeList]());
	    main_core.Dom.removeClass(babelHelpers.classPrivateFieldLooseBase(this, _getNodeList)[_getNodeList](), '--shadow-top');
	    main_core.Dom.removeClass(babelHelpers.classPrivateFieldLooseBase(this, _getNodeList)[_getNodeList](), '--shadow-bottom');
	  }
	}
	function _bindEvents2$6() {
	  main_core_events.EventEmitter.subscribe('updateSlotsList', event => {
	    babelHelpers.classPrivateFieldLooseBase(this, _slots$1)[_slots$1] = event.data.slots;
	    this.updateSlotsList();
	  });
	  main_core_events.EventEmitter.subscribe('selectSlot', event => {
	    const newSelectedSlot = event.data;
	    if (babelHelpers.classPrivateFieldLooseBase(this, _selectedSlot)[_selectedSlot] !== newSelectedSlot) {
	      var _babelHelpers$classPr;
	      (_babelHelpers$classPr = babelHelpers.classPrivateFieldLooseBase(this, _selectedSlot)[_selectedSlot]) == null ? void 0 : _babelHelpers$classPr.unSelect();
	    }
	    babelHelpers.classPrivateFieldLooseBase(this, _selectedSlot)[_selectedSlot] = newSelectedSlot;
	  });
	  main_core_events.EventEmitter.subscribe('updateTimezone', event => {
	    babelHelpers.classPrivateFieldLooseBase(this, _selectedTimezoneOffsetUtc$1)[_selectedTimezoneOffsetUtc$1] = calendar_util.Util.getTimeZoneOffset(event.getData().timezone);
	    babelHelpers.classPrivateFieldLooseBase(this, _hideTimezoneNotice)[_hideTimezoneNotice]();
	    if (babelHelpers.classPrivateFieldLooseBase(this, _shouldShowTimezoneNotice)[_shouldShowTimezoneNotice]()) {
	      babelHelpers.classPrivateFieldLooseBase(this, _showTimezoneNotice)[_showTimezoneNotice]();
	    }
	  });
	}
	function _getNodeSlotList2() {
	  if (!babelHelpers.classPrivateFieldLooseBase(this, _layout$9)[_layout$9].slotSelector) {
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$9)[_layout$9].slotSelector = main_core.Tag.render(_t$a || (_t$a = _$a`
				<div class="calendar-pub__slot-list-wrap">
					${0}
					${0}
				</div>
			`), babelHelpers.classPrivateFieldLooseBase(this, _getNodeTitle)[_getNodeTitle](), babelHelpers.classPrivateFieldLooseBase(this, _getNodeList)[_getNodeList]());
	    if (babelHelpers.classPrivateFieldLooseBase(this, _shouldShowTimezoneNotice)[_shouldShowTimezoneNotice]()) {
	      babelHelpers.classPrivateFieldLooseBase(this, _showTimezoneNotice)[_showTimezoneNotice]();
	    }
	  }
	  return babelHelpers.classPrivateFieldLooseBase(this, _layout$9)[_layout$9].slotSelector;
	}
	function _getNodeTitle2() {
	  if (!babelHelpers.classPrivateFieldLooseBase(this, _layout$9)[_layout$9].title) {
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$9)[_layout$9].title = main_core.Tag.render(_t2$7 || (_t2$7 = _$a`
				<div class="calendar-sharing__calendar-bar">
					<div class="calendar-pub-ui__typography-m">${0}</div>
				</div>
			`), main_core.Loc.getMessage('CALENDAR_SHARING_SLOTS_FREE'));
	  }
	  return babelHelpers.classPrivateFieldLooseBase(this, _layout$9)[_layout$9].title;
	}
	function _getNodeTimezoneNotice2() {
	  if (!babelHelpers.classPrivateFieldLooseBase(this, _layout$9)[_layout$9].timezoneNotice) {
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$9)[_layout$9].timezoneNotice = main_core.Tag.render(_t3$6 || (_t3$6 = _$a`
				<div class="calendar-pub-timezone-notice calendar-pub-ui__typography-s">
					${0}
					<div class="calendar-pub-timezone-notice-offset">
						${0}
					</div>
					${0}
				</div>
			`), babelHelpers.classPrivateFieldLooseBase(this, _getNodeTimezoneNoticeText)[_getNodeTimezoneNoticeText](), main_core.Loc.getMessage('CALENDAR_SHARING_TIMEZONE_NOTICE_OFFSET'), babelHelpers.classPrivateFieldLooseBase(this, _getNodeTimezoneNoticeButton)[_getNodeTimezoneNoticeButton]());
	    babelHelpers.classPrivateFieldLooseBase(this, _hideTimezoneNotice)[_hideTimezoneNotice]();
	  }
	  return babelHelpers.classPrivateFieldLooseBase(this, _layout$9)[_layout$9].timezoneNotice;
	}
	function _getNodeTimezoneNoticeText2() {
	  if (!babelHelpers.classPrivateFieldLooseBase(this, _layout$9)[_layout$9].timezoneNoticeText) {
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$9)[_layout$9].timezoneNoticeText = main_core.Tag.render(_t4$5 || (_t4$5 = _$a`
				<div>
					${0}
				</div>
			`), main_core.Loc.getMessage('CALENDAR_SHARING_TIMEZONE_NOTICE'));
	  }
	  return babelHelpers.classPrivateFieldLooseBase(this, _layout$9)[_layout$9].timezoneNoticeText;
	}
	function _getNodeTimezoneNoticeButton2() {
	  const button = main_core.Tag.render(_t5$5 || (_t5$5 = _$a`
			<div class="calendar-pub-ui__btn --m">
				<div class="calendar-pub-ui__btn-text">
					${0}
				</div>
			</div>
		`), main_core.Loc.getMessage('CALENDAR_SHARING_UNDERSTAND'));
	  main_core.Event.bind(button, 'click', () => {
	    babelHelpers.classPrivateFieldLooseBase(this, _hideTimezoneNotice)[_hideTimezoneNotice]();
	    babelHelpers.classPrivateFieldLooseBase(this, _timezoneNoticeWasUnderstood)[_timezoneNoticeWasUnderstood] = true;
	  });
	  return button;
	}
	function _shouldShowTimezoneNotice2() {
	  const timezoneIsVeryDifferent = Math.abs(babelHelpers.classPrivateFieldLooseBase(this, _ownerTimezoneOffsetUtc)[_ownerTimezoneOffsetUtc] - babelHelpers.classPrivateFieldLooseBase(this, _selectedTimezoneOffsetUtc$1)[_selectedTimezoneOffsetUtc$1]) >= 180;
	  return !babelHelpers.classPrivateFieldLooseBase(this, _timezoneNoticeWasUnderstood)[_timezoneNoticeWasUnderstood] && timezoneIsVeryDifferent;
	}
	function _showTimezoneNotice2() {
	  const offset = babelHelpers.classPrivateFieldLooseBase(this, _ownerTimezoneOffsetUtc)[_ownerTimezoneOffsetUtc] - babelHelpers.classPrivateFieldLooseBase(this, _selectedTimezoneOffsetUtc$1)[_selectedTimezoneOffsetUtc$1];
	  babelHelpers.classPrivateFieldLooseBase(this, _layout$9)[_layout$9].timezoneNoticeText.innerText = babelHelpers.classPrivateFieldLooseBase(this, _getTimezoneNoticeText$1)[_getTimezoneNoticeText$1](offset);
	  main_core.Dom.style(babelHelpers.classPrivateFieldLooseBase(this, _layout$9)[_layout$9].timezoneNotice, 'display', '');
	}
	function _getTimezoneNoticeText2$1(offset) {
	  const sign = offset < 0 ? '+' : '-';
	  return main_core.Loc.getMessage('CALENDAR_SHARING_TIMEZONE_NOTICE', {
	    '#OFFSET#': `${sign}${calendar_util.Util.formatDuration(Math.abs(offset))}`
	  });
	}
	function _hideTimezoneNotice2() {
	  main_core.Dom.style(babelHelpers.classPrivateFieldLooseBase(this, _layout$9)[_layout$9].timezoneNotice, 'display', 'none');
	}
	function _getNodeList2() {
	  if (!babelHelpers.classPrivateFieldLooseBase(this, _layout$9)[_layout$9].slots) {
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$9)[_layout$9].slots = main_core.Tag.render(_t6$4 || (_t6$4 = _$a`
				<div class="calendar-sharing__calendar-block --overflow-hidden --shadow">
					${0}
				</div>
			`), babelHelpers.classPrivateFieldLooseBase(this, _getNodeListItems)[_getNodeListItems]());
	  }
	  return babelHelpers.classPrivateFieldLooseBase(this, _layout$9)[_layout$9].slots;
	}
	function _getNodeListItems2() {
	  const currentDaySlots = babelHelpers.classPrivateFieldLooseBase(this, _slots$1)[_slots$1].map(slot => new SlotItem({
	    value: {
	      from: slot.timeFrom,
	      to: slot.timeTo
	    }
	  }));
	  const result = main_core.Tag.render(_t7$4 || (_t7$4 = _$a`
			<div class="calendar-sharing__slots">
				${0}
				${0}
			</div>
		`), babelHelpers.classPrivateFieldLooseBase(this, _getNodeTimezoneNotice)[_getNodeTimezoneNotice](), currentDaySlots.map(slotItem => slotItem.render()));
	  main_core.Event.bind(result, 'scroll', () => {
	    if (result.scrollTop > 0) {
	      main_core.Dom.addClass(babelHelpers.classPrivateFieldLooseBase(this, _getNodeList)[_getNodeList](), '--shadow-top');
	    } else {
	      main_core.Dom.removeClass(babelHelpers.classPrivateFieldLooseBase(this, _getNodeList)[_getNodeList](), '--shadow-top');
	    }
	    if (result.scrollHeight > result.offsetHeight && Math.ceil(result.offsetHeight + result.scrollTop) < result.scrollHeight) {
	      main_core.Dom.addClass(babelHelpers.classPrivateFieldLooseBase(this, _getNodeList)[_getNodeList](), '--shadow-bottom');
	    } else {
	      main_core.Dom.removeClass(babelHelpers.classPrivateFieldLooseBase(this, _getNodeList)[_getNodeList](), '--shadow-bottom');
	    }
	  });
	  setTimeout(() => {
	    if (result.scrollHeight > result.offsetHeight) {
	      main_core.Dom.addClass(babelHelpers.classPrivateFieldLooseBase(this, _getNodeList)[_getNodeList](), '--shadow-bottom');
	    }
	  });
	  return result;
	}

	let _$b = t => t,
	  _t$b,
	  _t2$8,
	  _t3$7,
	  _t4$6,
	  _t5$6,
	  _t6$5,
	  _t7$5,
	  _t8$3,
	  _t9$2,
	  _t10$2,
	  _t11$2,
	  _t12$2,
	  _t13$2,
	  _t14$1,
	  _t15$1,
	  _t16$1,
	  _t17,
	  _t18,
	  _t19,
	  _t20,
	  _t21,
	  _t22,
	  _t23,
	  _t24;
	var _props$1 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("props");
	var _layout$a = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("layout");
	var _renderEvent = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("renderEvent");
	var _renderEventNotFound = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("renderEventNotFound");
	var _renderPoweredLabel = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("renderPoweredLabel");
	var _renderWidgetDate = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("renderWidgetDate");
	var _renderProps = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("renderProps");
	var _renderMembers = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("renderMembers");
	var _renderLocation = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("renderLocation");
	var _renderDescription = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("renderDescription");
	var _renderFiles = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("renderFiles");
	var _renderFile = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("renderFile");
	var _collapseDescription = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("collapseDescription");
	var _expandDescription = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("expandDescription");
	var _updateExpandCollapseButtonMargin = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("updateExpandCollapseButtonMargin");
	var _setExpandCollapseButtonMargin = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("setExpandCollapseButtonMargin");
	var _animateDescriptionHeight = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("animateDescriptionHeight");
	var _renderExpandButton = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("renderExpandButton");
	var _renderCollapseButton = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("renderCollapseButton");
	var _renderNodeIcon = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("renderNodeIcon");
	var _renderBackButton = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("renderBackButton");
	var _renderEventNameNode = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("renderEventNameNode");
	var _renderStateTitleNode = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("renderStateTitleNode");
	var _renderCancelContent = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("renderCancelContent");
	var _renderBottomButtons = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("renderBottomButtons");
	var _getBottomButtons = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getBottomButtons");
	var _renderAcceptButton = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("renderAcceptButton");
	var _onAcceptButtonClick = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("onAcceptButtonClick");
	var _renderDeclineButton = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("renderDeclineButton");
	var _onDeclineButtonClick = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("onDeclineButtonClick");
	var _renderVideoconferenceButton = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("renderVideoconferenceButton");
	var _onVideoconferenceButtonClick = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("onVideoconferenceButtonClick");
	var _renderIcsButton = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("renderIcsButton");
	var _onIcsButtonClick = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("onIcsButtonClick");
	var _renderReturnToCalendarButton = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("renderReturnToCalendarButton");
	var _onReturnButtonClick = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("onReturnButtonClick");
	var _renderButton = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("renderButton");
	var _getPopup = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getPopup");
	var _closeCancelEventPopup = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("closeCancelEventPopup");
	var _onDeleteButtonClick = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("onDeleteButtonClick");
	class EventLayout {
	  constructor(props) {
	    Object.defineProperty(this, _onDeleteButtonClick, {
	      value: _onDeleteButtonClick2
	    });
	    Object.defineProperty(this, _closeCancelEventPopup, {
	      value: _closeCancelEventPopup2
	    });
	    Object.defineProperty(this, _getPopup, {
	      value: _getPopup2
	    });
	    Object.defineProperty(this, _renderButton, {
	      value: _renderButton2
	    });
	    Object.defineProperty(this, _onReturnButtonClick, {
	      value: _onReturnButtonClick2
	    });
	    Object.defineProperty(this, _renderReturnToCalendarButton, {
	      value: _renderReturnToCalendarButton2
	    });
	    Object.defineProperty(this, _onIcsButtonClick, {
	      value: _onIcsButtonClick2
	    });
	    Object.defineProperty(this, _renderIcsButton, {
	      value: _renderIcsButton2
	    });
	    Object.defineProperty(this, _onVideoconferenceButtonClick, {
	      value: _onVideoconferenceButtonClick2
	    });
	    Object.defineProperty(this, _renderVideoconferenceButton, {
	      value: _renderVideoconferenceButton2
	    });
	    Object.defineProperty(this, _onDeclineButtonClick, {
	      value: _onDeclineButtonClick2
	    });
	    Object.defineProperty(this, _renderDeclineButton, {
	      value: _renderDeclineButton2
	    });
	    Object.defineProperty(this, _onAcceptButtonClick, {
	      value: _onAcceptButtonClick2
	    });
	    Object.defineProperty(this, _renderAcceptButton, {
	      value: _renderAcceptButton2
	    });
	    Object.defineProperty(this, _getBottomButtons, {
	      value: _getBottomButtons2
	    });
	    Object.defineProperty(this, _renderBottomButtons, {
	      value: _renderBottomButtons2
	    });
	    Object.defineProperty(this, _renderCancelContent, {
	      value: _renderCancelContent2
	    });
	    Object.defineProperty(this, _renderStateTitleNode, {
	      value: _renderStateTitleNode2
	    });
	    Object.defineProperty(this, _renderEventNameNode, {
	      value: _renderEventNameNode2
	    });
	    Object.defineProperty(this, _renderBackButton, {
	      value: _renderBackButton2
	    });
	    Object.defineProperty(this, _renderNodeIcon, {
	      value: _renderNodeIcon2
	    });
	    Object.defineProperty(this, _renderCollapseButton, {
	      value: _renderCollapseButton2
	    });
	    Object.defineProperty(this, _renderExpandButton, {
	      value: _renderExpandButton2
	    });
	    Object.defineProperty(this, _animateDescriptionHeight, {
	      value: _animateDescriptionHeight2
	    });
	    Object.defineProperty(this, _setExpandCollapseButtonMargin, {
	      value: _setExpandCollapseButtonMargin2
	    });
	    Object.defineProperty(this, _updateExpandCollapseButtonMargin, {
	      value: _updateExpandCollapseButtonMargin2
	    });
	    Object.defineProperty(this, _expandDescription, {
	      value: _expandDescription2
	    });
	    Object.defineProperty(this, _collapseDescription, {
	      value: _collapseDescription2
	    });
	    Object.defineProperty(this, _renderFile, {
	      value: _renderFile2
	    });
	    Object.defineProperty(this, _renderFiles, {
	      value: _renderFiles2
	    });
	    Object.defineProperty(this, _renderDescription, {
	      value: _renderDescription2
	    });
	    Object.defineProperty(this, _renderLocation, {
	      value: _renderLocation2
	    });
	    Object.defineProperty(this, _renderMembers, {
	      value: _renderMembers2
	    });
	    Object.defineProperty(this, _renderProps, {
	      value: _renderProps2
	    });
	    Object.defineProperty(this, _renderWidgetDate, {
	      value: _renderWidgetDate2
	    });
	    Object.defineProperty(this, _renderPoweredLabel, {
	      value: _renderPoweredLabel2
	    });
	    Object.defineProperty(this, _renderEventNotFound, {
	      value: _renderEventNotFound2
	    });
	    Object.defineProperty(this, _renderEvent, {
	      value: _renderEvent2
	    });
	    Object.defineProperty(this, _props$1, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _layout$a, {
	      writable: true,
	      value: void 0
	    });
	    babelHelpers.classPrivateFieldLooseBase(this, _props$1)[_props$1] = props;
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$a)[_layout$a] = {};
	  }
	  update(props) {
	    babelHelpers.classPrivateFieldLooseBase(this, _props$1)[_props$1] = props;
	    this.render();
	  }
	  render() {
	    var _babelHelpers$classPr;
	    const wrap = babelHelpers.classPrivateFieldLooseBase(this, _renderEvent)[_renderEvent]();
	    (_babelHelpers$classPr = babelHelpers.classPrivateFieldLooseBase(this, _layout$a)[_layout$a].wrap) == null ? void 0 : _babelHelpers$classPr.replaceWith(wrap);
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$a)[_layout$a].wrap = wrap;
	    return wrap;
	  }
	  showCancelEventPopup() {
	    babelHelpers.classPrivateFieldLooseBase(this, _getPopup)[_getPopup]().show();
	  }
	}
	function _renderEvent2() {
	  if (babelHelpers.classPrivateFieldLooseBase(this, _props$1)[_props$1].eventNotFound) {
	    return babelHelpers.classPrivateFieldLooseBase(this, _renderEventNotFound)[_renderEventNotFound]();
	  }
	  return main_core.Tag.render(_t$b || (_t$b = _$b`
			<div class="calendar-sharing__form-result">
				${0}
				${0}
				<div class="calendar-sharing__calendar-block --form --center">
					${0}
					${0}
					${0}
				</div>

				<div class="calendar-sharing__calendar-block --form --center">
					${0}
					${0}
				</div>

				<div class="calendar-sharing__calendar-block --form --center">
					${0}
				</div>

				<div class="calendar-sharing__calendar-block --top-auto">
					${0}
				</div>
			</div>
		`), babelHelpers.classPrivateFieldLooseBase(this, _renderPoweredLabel)[_renderPoweredLabel](), babelHelpers.classPrivateFieldLooseBase(this, _renderBackButton)[_renderBackButton](), babelHelpers.classPrivateFieldLooseBase(this, _renderNodeIcon)[_renderNodeIcon](), babelHelpers.classPrivateFieldLooseBase(this, _renderEventNameNode)[_renderEventNameNode](), babelHelpers.classPrivateFieldLooseBase(this, _renderStateTitleNode)[_renderStateTitleNode](), babelHelpers.classPrivateFieldLooseBase(this, _renderWidgetDate)[_renderWidgetDate](), babelHelpers.classPrivateFieldLooseBase(this, _renderProps)[_renderProps](), babelHelpers.classPrivateFieldLooseBase(this, _renderCancelContent)[_renderCancelContent](), babelHelpers.classPrivateFieldLooseBase(this, _renderBottomButtons)[_renderBottomButtons]());
	}
	function _renderEventNotFound2() {
	  return main_core.Tag.render(_t2$8 || (_t2$8 = _$b`
			<div class="calendar-sharing__form-result">
				<div class="calendar-sharing__calendar-block --form --center">
					<div class="calendar-sharing__form-result_icon --decline"></div>
					<div class="calendar-pub-ui__typography-title --center --line-height-normal">
						${0}
					</div>
					<div class="calendar-pub-ui__typography-s --center">
						${0}
					</div>
				</div>
			</div>
		`), babelHelpers.classPrivateFieldLooseBase(this, _props$1)[_props$1].eventNotFound.title, babelHelpers.classPrivateFieldLooseBase(this, _props$1)[_props$1].eventNotFound.subtitle);
	}
	function _renderPoweredLabel2() {
	  if (!babelHelpers.classPrivateFieldLooseBase(this, _props$1)[_props$1].poweredLabel) {
	    return '';
	  }
	  return main_core.Tag.render(_t3$7 || (_t3$7 = _$b`
			<div class="calendar-pub__block-label ${0}"></div>
		`), babelHelpers.classPrivateFieldLooseBase(this, _props$1)[_props$1].poweredLabel.isRu ? '--ru' : '');
	}
	function _renderWidgetDate2() {
	  const widgetDate = new WidgetDate({
	    allAttendees: babelHelpers.classPrivateFieldLooseBase(this, _props$1)[_props$1].allAttendees,
	    filled: babelHelpers.classPrivateFieldLooseBase(this, _props$1)[_props$1].filled,
	    browserTimezone: babelHelpers.classPrivateFieldLooseBase(this, _props$1)[_props$1].browserTimezone,
	    linkContext: babelHelpers.classPrivateFieldLooseBase(this, _props$1)[_props$1].linkContext
	  });
	  if (babelHelpers.classPrivateFieldLooseBase(this, _props$1)[_props$1].from && babelHelpers.classPrivateFieldLooseBase(this, _props$1)[_props$1].to) {
	    widgetDate.updateValue({
	      from: babelHelpers.classPrivateFieldLooseBase(this, _props$1)[_props$1].from,
	      to: babelHelpers.classPrivateFieldLooseBase(this, _props$1)[_props$1].to,
	      timezone: babelHelpers.classPrivateFieldLooseBase(this, _props$1)[_props$1].timezone,
	      isFullDay: babelHelpers.classPrivateFieldLooseBase(this, _props$1)[_props$1].isFullDay,
	      rruleDescription: babelHelpers.classPrivateFieldLooseBase(this, _props$1)[_props$1].rruleDescription,
	      members: babelHelpers.classPrivateFieldLooseBase(this, _props$1)[_props$1].members
	    }, babelHelpers.classPrivateFieldLooseBase(this, _props$1)[_props$1].linkContext);
	  }
	  return widgetDate.render();
	}
	function _renderProps2() {
	  if (!babelHelpers.classPrivateFieldLooseBase(this, _props$1)[_props$1].allAttendees) {
	    return '';
	  }
	  return main_core.Tag.render(_t4$6 || (_t4$6 = _$b`
			<div class="calendar-pub__event-props">
				${0}
				${0}
				${0}
				${0}
			</div>
		`), babelHelpers.classPrivateFieldLooseBase(this, _renderMembers)[_renderMembers](), babelHelpers.classPrivateFieldLooseBase(this, _renderLocation)[_renderLocation](), babelHelpers.classPrivateFieldLooseBase(this, _renderFiles)[_renderFiles](), babelHelpers.classPrivateFieldLooseBase(this, _renderDescription)[_renderDescription]());
	}
	function _renderMembers2() {
	  return new MembersList({
	    className: 'calendar-pub__event-prop',
	    textClassName: 'calendar-pub-ui__typography-xs',
	    avatarSize: 30,
	    members: babelHelpers.classPrivateFieldLooseBase(this, _props$1)[_props$1].members,
	    allAttendees: babelHelpers.classPrivateFieldLooseBase(this, _props$1)[_props$1].allAttendees,
	    maxAvatarsCount: 8,
	    linkContext: babelHelpers.classPrivateFieldLooseBase(this, _props$1)[_props$1].linkContext
	  }).render();
	}
	function _renderLocation2() {
	  if (!main_core.Type.isStringFilled(babelHelpers.classPrivateFieldLooseBase(this, _props$1)[_props$1].location)) {
	    return '';
	  }
	  return main_core.Tag.render(_t5$6 || (_t5$6 = _$b`
			<div class="calendar-pub__event-prop">
				<div class="calendar-pub-ui__typography-xs">
					${0}
				</div>
				<div class="calendar-pub-ui__typography-sm">
					${0}
				</div>
			</div>
		`), main_core.Loc.getMessage('CALENDAR_SHARING_MEETING_LOCATION'), main_core.Text.encode(babelHelpers.classPrivateFieldLooseBase(this, _props$1)[_props$1].location));
	}
	function _renderDescription2() {
	  if (!main_core.Type.isStringFilled(babelHelpers.classPrivateFieldLooseBase(this, _props$1)[_props$1].description)) {
	    return '';
	  }
	  babelHelpers.classPrivateFieldLooseBase(this, _layout$a)[_layout$a].description = main_core.Tag.render(_t6$5 || (_t6$5 = _$b`
			<div class="calendar-pub-ui__typography-sm">
				${0}
			</div>
		`), babelHelpers.classPrivateFieldLooseBase(this, _props$1)[_props$1].description);
	  if (EventLayout.descriptionCollapsed) {
	    const collapseHeight = 100;
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$a)[_layout$a].description.style.overflow = 'hidden';
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$a)[_layout$a].description.style.maxHeight = `${collapseHeight}px`;
	    setTimeout(() => babelHelpers.classPrivateFieldLooseBase(this, _collapseDescription)[_collapseDescription](collapseHeight, false));
	  } else {
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$a)[_layout$a].description.append(babelHelpers.classPrivateFieldLooseBase(this, _renderCollapseButton)[_renderCollapseButton]());
	    babelHelpers.classPrivateFieldLooseBase(this, _updateExpandCollapseButtonMargin)[_updateExpandCollapseButtonMargin](babelHelpers.classPrivateFieldLooseBase(this, _layout$a)[_layout$a].collapseButton);
	  }
	  return main_core.Tag.render(_t7$5 || (_t7$5 = _$b`
			<div class="calendar-pub__event-prop">
				<div class="calendar-pub-ui__typography-xs">
					${0}
				</div>
				${0}
			</div>
		`), main_core.Loc.getMessage('CALENDAR_SHARING_MEETING_DESCRIPTION'), babelHelpers.classPrivateFieldLooseBase(this, _layout$a)[_layout$a].description);
	}
	function _renderFiles2() {
	  if (!main_core.Type.isArrayFilled(babelHelpers.classPrivateFieldLooseBase(this, _props$1)[_props$1].files)) {
	    return '';
	  }
	  return main_core.Tag.render(_t8$3 || (_t8$3 = _$b`
			<div class="calendar-pub__event-prop">
				<div class="calendar-pub-ui__typography-xs">
					${0}
				</div>
				<div class="calendar-pub-ui__typography-sm">
					${0}
				</div>
			</div>
		`), main_core.Loc.getMessage('CALENDAR_SHARING_MEETING_FILES'), babelHelpers.classPrivateFieldLooseBase(this, _props$1)[_props$1].files.map(file => babelHelpers.classPrivateFieldLooseBase(this, _renderFile)[_renderFile](file)));
	}
	function _renderFile2(file) {
	  return main_core.Tag.render(_t9$2 || (_t9$2 = _$b`
			<span class="calendar-pub__event-file">
				<a class="calendar-pub__event-file-name" href="${0}">
					${0}
				</a>
				<span class="calendar-pub__event-file-size">${0}</span>
			</span>
		`), encodeURI(file.link), main_core.Text.encode(file.name), file.size);
	}
	function _collapseDescription2(maxHeight, animate = true) {
	  var _babelHelpers$classPr2;
	  babelHelpers.classPrivateFieldLooseBase(this, _setExpandCollapseButtonMargin)[_setExpandCollapseButtonMargin](babelHelpers.classPrivateFieldLooseBase(this, _layout$a)[_layout$a].expandButton);
	  (_babelHelpers$classPr2 = babelHelpers.classPrivateFieldLooseBase(this, _layout$a)[_layout$a].collapseButton) == null ? void 0 : _babelHelpers$classPr2.remove();
	  const startHeight = babelHelpers.classPrivateFieldLooseBase(this, _layout$a)[_layout$a].description.offsetHeight;
	  const children = [...babelHelpers.classPrivateFieldLooseBase(this, _layout$a)[_layout$a].description.childNodes];
	  let lastVisible;
	  let height = 0;
	  for (let child of children) {
	    if (child.nodeName === '#text') {
	      const span = main_core.Tag.render(_t10$2 || (_t10$2 = _$b`<span>${0}</span>`), main_core.Text.encode(child.textContent));
	      child.replaceWith(span);
	      child = span;
	    }
	    if (height > maxHeight) {
	      child.style.display = 'none';
	      continue;
	    }
	    let childHeight = child.getBoundingClientRect().height;
	    if (child.nodeName === 'BR' && child.previousSibling.nodeName !== 'BR') {
	      continue;
	    }
	    if (height < maxHeight && height + childHeight > maxHeight) {
	      lastVisible = child;
	      child.after(babelHelpers.classPrivateFieldLooseBase(this, _renderExpandButton)[_renderExpandButton]());
	    }
	    height += childHeight;
	  }
	  babelHelpers.classPrivateFieldLooseBase(this, _layout$a)[_layout$a].description.style.height = '';
	  babelHelpers.classPrivateFieldLooseBase(this, _layout$a)[_layout$a].description.style.maxHeight = '';
	  if (lastVisible) {
	    const extraLines = (babelHelpers.classPrivateFieldLooseBase(this, _layout$a)[_layout$a].description.offsetHeight - maxHeight) / 20;
	    if (extraLines > 2) {
	      lastVisible.innerText = lastVisible.innerText.slice(0, -35 * (extraLines - 1));
	    }
	    while (babelHelpers.classPrivateFieldLooseBase(this, _layout$a)[_layout$a].description.offsetHeight > maxHeight) {
	      lastVisible.innerText = lastVisible.innerText.slice(0, -2);
	      if (lastVisible.innerText === '') {
	        const previousVisible = lastVisible.previousSibling;
	        lastVisible.remove();
	        lastVisible = previousVisible;
	      }
	      lastVisible.innerHTML += '&mldr;';
	    }
	  }
	  babelHelpers.classPrivateFieldLooseBase(this, _updateExpandCollapseButtonMargin)[_updateExpandCollapseButtonMargin](babelHelpers.classPrivateFieldLooseBase(this, _layout$a)[_layout$a].expandButton);
	  if (animate) {
	    babelHelpers.classPrivateFieldLooseBase(this, _animateDescriptionHeight)[_animateDescriptionHeight](startHeight, maxHeight);
	  }
	  EventLayout.descriptionCollapsed = true;
	}
	function _expandDescription2() {
	  babelHelpers.classPrivateFieldLooseBase(this, _setExpandCollapseButtonMargin)[_setExpandCollapseButtonMargin](babelHelpers.classPrivateFieldLooseBase(this, _layout$a)[_layout$a].collapseButton);
	  const height = babelHelpers.classPrivateFieldLooseBase(this, _layout$a)[_layout$a].description.offsetHeight;
	  babelHelpers.classPrivateFieldLooseBase(this, _layout$a)[_layout$a].description.innerHTML = babelHelpers.classPrivateFieldLooseBase(this, _props$1)[_props$1].description;
	  babelHelpers.classPrivateFieldLooseBase(this, _layout$a)[_layout$a].description.append(babelHelpers.classPrivateFieldLooseBase(this, _renderCollapseButton)[_renderCollapseButton]());
	  babelHelpers.classPrivateFieldLooseBase(this, _updateExpandCollapseButtonMargin)[_updateExpandCollapseButtonMargin](babelHelpers.classPrivateFieldLooseBase(this, _layout$a)[_layout$a].collapseButton);
	  babelHelpers.classPrivateFieldLooseBase(this, _animateDescriptionHeight)[_animateDescriptionHeight](height, babelHelpers.classPrivateFieldLooseBase(this, _layout$a)[_layout$a].description.offsetHeight);
	  EventLayout.descriptionCollapsed = false;
	}
	function _updateExpandCollapseButtonMargin2(button) {
	  const span = main_core.Tag.render(_t11$2 || (_t11$2 = _$b`
			<span>
				${0}
			</span>
		`), button.previousSibling.cloneNode(true));
	  button.previousSibling.replaceWith(span);
	  if (span.offsetTop !== button.offsetTop) {
	    main_core.Dom.style(span, 'margin-right', '5px');
	    main_core.Dom.style(button, 'margin-left', '');
	  }
	}
	function _setExpandCollapseButtonMargin2(button) {
	  main_core.Dom.style(button, 'margin-left', '5px');
	}
	function _animateDescriptionHeight2(startHeight, endHeight) {
	  const animationDuration = 200;
	  babelHelpers.classPrivateFieldLooseBase(this, _layout$a)[_layout$a].description.style.height = `${startHeight}px`;
	  babelHelpers.classPrivateFieldLooseBase(this, _layout$a)[_layout$a].description.style.transition = `height ${animationDuration}ms ease`;
	  setTimeout(() => {
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$a)[_layout$a].description.style.height = `${endHeight}px`;
	    setTimeout(() => {
	      babelHelpers.classPrivateFieldLooseBase(this, _layout$a)[_layout$a].description.style.height = '';
	      babelHelpers.classPrivateFieldLooseBase(this, _layout$a)[_layout$a].description.style.transition = '';
	    }, animationDuration);
	  });
	}
	function _renderExpandButton2() {
	  if (babelHelpers.classPrivateFieldLooseBase(this, _layout$a)[_layout$a].expandButton) {
	    return babelHelpers.classPrivateFieldLooseBase(this, _layout$a)[_layout$a].expandButton;
	  }
	  babelHelpers.classPrivateFieldLooseBase(this, _layout$a)[_layout$a].expandButton = main_core.Tag.render(_t12$2 || (_t12$2 = _$b`
			<div class="calendar-pub__link-button" style="margin-left: 5px;">
				${0}
			</div>
		`), main_core.Loc.getMessage('CALENDAR_SHARING_EXPAND'));
	  main_core.Event.bind(babelHelpers.classPrivateFieldLooseBase(this, _layout$a)[_layout$a].expandButton, 'click', () => babelHelpers.classPrivateFieldLooseBase(this, _expandDescription)[_expandDescription]());
	  return babelHelpers.classPrivateFieldLooseBase(this, _layout$a)[_layout$a].expandButton;
	}
	function _renderCollapseButton2() {
	  if (babelHelpers.classPrivateFieldLooseBase(this, _layout$a)[_layout$a].collapseButton) {
	    return babelHelpers.classPrivateFieldLooseBase(this, _layout$a)[_layout$a].collapseButton;
	  }
	  babelHelpers.classPrivateFieldLooseBase(this, _layout$a)[_layout$a].collapseButton = main_core.Tag.render(_t13$2 || (_t13$2 = _$b`
			<div class="calendar-pub__link-button" style="margin-left: 5px;">
				${0}
			</div>
		`), main_core.Loc.getMessage('CALENDAR_SHARING_COLLAPSE'));
	  main_core.Event.bind(babelHelpers.classPrivateFieldLooseBase(this, _layout$a)[_layout$a].collapseButton, 'click', () => babelHelpers.classPrivateFieldLooseBase(this, _collapseDescription)[_collapseDescription](100));
	  return babelHelpers.classPrivateFieldLooseBase(this, _layout$a)[_layout$a].collapseButton;
	}
	function _renderNodeIcon2() {
	  return main_core.Tag.render(_t14$1 || (_t14$1 = _$b`
			<div class="calendar-sharing__form-result_icon ${0}"></div>
		`), babelHelpers.classPrivateFieldLooseBase(this, _props$1)[_props$1].iconClassName);
	}
	function _renderBackButton2() {
	  if (babelHelpers.classPrivateFieldLooseBase(this, _props$1)[_props$1].showBackCalendarButton) {
	    return main_core.Tag.render(_t15$1 || (_t15$1 = _$b`
				<div class="calendar-sharing__calendar-bar --arrow">
					<div class="calendar-sharing__calendar-back" onclick="${0}"></div>
				</div>
			`), babelHelpers.classPrivateFieldLooseBase(this, _onReturnButtonClick)[_onReturnButtonClick].bind(this));
	  }
	  return main_core.Tag.render(_t16$1 || (_t16$1 = _$b`<div class="calendar-sharing__calendar-bar --no-margin"></div>`));
	}
	function _renderEventNameNode2() {
	  return main_core.Tag.render(_t17 || (_t17 = _$b`
			<div class="calendar-pub-ui__typography-title --center --line-height-normal">
				${0}
			</div>
		`), main_core.Text.encode(babelHelpers.classPrivateFieldLooseBase(this, _props$1)[_props$1].eventName));
	}
	function _renderStateTitleNode2() {
	  return main_core.Tag.render(_t18 || (_t18 = _$b`
			<div class="calendar-pub-ui__typography-s --center">
				${0}
			</div>
		`), babelHelpers.classPrivateFieldLooseBase(this, _props$1)[_props$1].title);
	}
	function _renderCancelContent2() {
	  if (babelHelpers.classPrivateFieldLooseBase(this, _props$1)[_props$1].onDeleteEvent) {
	    return main_core.Tag.render(_t19 || (_t19 = _$b`
				<div onclick="${0}" class="calendar-pub__form-status --decline">
					<div class="ui-icon-set --undo-1"></div>
					<div class="calendar-pub__form-status_text">
						${0}
					</div>
				</div>
			`), this.showCancelEventPopup.bind(this), main_core.Loc.getMessage('CALENDAR_SHARING_DECLINE_MEETING'));
	  }
	  if (babelHelpers.classPrivateFieldLooseBase(this, _props$1)[_props$1].onDeclineEvent) {
	    return main_core.Tag.render(_t20 || (_t20 = _$b`
				<div onclick="${0}" class="calendar-pub__form-status --decline">
					<div class="ui-icon-set --cross-45"></div>
					<div class="calendar-pub__form-status_text">
						${0}
					</div>
				</div>
			`), babelHelpers.classPrivateFieldLooseBase(this, _props$1)[_props$1].onDeclineEvent, main_core.Loc.getMessage('CALENDAR_SHARING_DECISION_DECLINE_MEETING'));
	  }
	  if (babelHelpers.classPrivateFieldLooseBase(this, _props$1)[_props$1].cancelledInfo) {
	    const dayMonthFormat = main_date.DateTimeFormat.getFormat('DAY_MONTH_FORMAT');
	    const shortTimeFormat = main_date.DateTimeFormat.getFormat('SHORT_TIME_FORMAT');
	    const format = `${dayMonthFormat} ${shortTimeFormat}`;
	    const dateFormatted = main_date.DateTimeFormat.format(format, babelHelpers.classPrivateFieldLooseBase(this, _props$1)[_props$1].cancelledInfo.date.getTime() / 1000);
	    const cancelledByEncoded = main_core.Text.encode(babelHelpers.classPrivateFieldLooseBase(this, _props$1)[_props$1].cancelledInfo.name);
	    const cancelledByText = `${main_core.Loc.getMessage('CALENDAR_SHARING_WHO_CANCELED')}: ${cancelledByEncoded}`;
	    return main_core.Tag.render(_t21 || (_t21 = _$b`
				<div class="calendar-pub__form-status">
					<div class="calendar-pub__form-status_text">
						${0}<br> ${0}
					</div>
				</div>
			`), cancelledByText, dateFormatted);
	  }
	  return '';
	}
	function _renderBottomButtons2() {
	  return main_core.Tag.render(_t22 || (_t22 = _$b`
			<div>
				${0}
			</div>
		`), babelHelpers.classPrivateFieldLooseBase(this, _getBottomButtons)[_getBottomButtons]());
	}
	function _getBottomButtons2() {
	  const buttons = [];
	  if (babelHelpers.classPrivateFieldLooseBase(this, _props$1)[_props$1].bottomButtons.onAcceptInvitation) {
	    buttons.push(babelHelpers.classPrivateFieldLooseBase(this, _renderAcceptButton)[_renderAcceptButton]());
	  }
	  if (babelHelpers.classPrivateFieldLooseBase(this, _props$1)[_props$1].bottomButtons.onDeclineInvitation) {
	    buttons.push(babelHelpers.classPrivateFieldLooseBase(this, _renderDeclineButton)[_renderDeclineButton]());
	  }
	  if (babelHelpers.classPrivateFieldLooseBase(this, _props$1)[_props$1].bottomButtons.onStartVideoconference) {
	    buttons.push(babelHelpers.classPrivateFieldLooseBase(this, _renderVideoconferenceButton)[_renderVideoconferenceButton]());
	  }
	  if (babelHelpers.classPrivateFieldLooseBase(this, _props$1)[_props$1].bottomButtons.onDownloadIcs) {
	    buttons.push(babelHelpers.classPrivateFieldLooseBase(this, _renderIcsButton)[_renderIcsButton]());
	  }
	  if (babelHelpers.classPrivateFieldLooseBase(this, _props$1)[_props$1].bottomButtons.onReturnToCalendar) {
	    buttons.push(babelHelpers.classPrivateFieldLooseBase(this, _renderReturnToCalendarButton)[_renderReturnToCalendarButton]());
	  }
	  return buttons;
	}
	function _renderAcceptButton2() {
	  babelHelpers.classPrivateFieldLooseBase(this, _layout$a)[_layout$a].acceptButton = babelHelpers.classPrivateFieldLooseBase(this, _renderButton)[_renderButton](main_core.Loc.getMessage('CALENDAR_SHARING_ACCEPT'), babelHelpers.classPrivateFieldLooseBase(this, _onAcceptButtonClick)[_onAcceptButtonClick].bind(this));
	  return babelHelpers.classPrivateFieldLooseBase(this, _layout$a)[_layout$a].acceptButton;
	}
	async function _onAcceptButtonClick2() {
	  main_core.Dom.addClass(babelHelpers.classPrivateFieldLooseBase(this, _layout$a)[_layout$a].acceptButton, '--wait');
	  await babelHelpers.classPrivateFieldLooseBase(this, _props$1)[_props$1].bottomButtons.onAcceptInvitation();
	  main_core.Dom.removeClass(babelHelpers.classPrivateFieldLooseBase(this, _layout$a)[_layout$a].acceptButton, '--wait');
	}
	function _renderDeclineButton2() {
	  babelHelpers.classPrivateFieldLooseBase(this, _layout$a)[_layout$a].declineButton = babelHelpers.classPrivateFieldLooseBase(this, _renderButton)[_renderButton](main_core.Loc.getMessage('CALENDAR_SHARING_DECLINE'), babelHelpers.classPrivateFieldLooseBase(this, _onDeclineButtonClick)[_onDeclineButtonClick].bind(this), '--light-border');
	  return babelHelpers.classPrivateFieldLooseBase(this, _layout$a)[_layout$a].declineButton;
	}
	async function _onDeclineButtonClick2() {
	  main_core.Dom.addClass(babelHelpers.classPrivateFieldLooseBase(this, _layout$a)[_layout$a].declineButton, '--wait');
	  await babelHelpers.classPrivateFieldLooseBase(this, _props$1)[_props$1].bottomButtons.onDeclineInvitation();
	  main_core.Dom.removeClass(babelHelpers.classPrivateFieldLooseBase(this, _layout$a)[_layout$a].declineButton, '--wait');
	}
	function _renderVideoconferenceButton2() {
	  babelHelpers.classPrivateFieldLooseBase(this, _layout$a)[_layout$a].videoconferenceButton = babelHelpers.classPrivateFieldLooseBase(this, _renderButton)[_renderButton](main_core.Loc.getMessage('CALENDAR_SHARING_OPEN_VIDEOCONFERENCE'), babelHelpers.classPrivateFieldLooseBase(this, _onVideoconferenceButtonClick)[_onVideoconferenceButtonClick].bind(this));
	  return babelHelpers.classPrivateFieldLooseBase(this, _layout$a)[_layout$a].videoconferenceButton;
	}
	async function _onVideoconferenceButtonClick2() {
	  main_core.Dom.addClass(babelHelpers.classPrivateFieldLooseBase(this, _layout$a)[_layout$a].videoconferenceButton, '--wait');
	  await babelHelpers.classPrivateFieldLooseBase(this, _props$1)[_props$1].bottomButtons.onStartVideoconference();
	  main_core.Dom.removeClass(babelHelpers.classPrivateFieldLooseBase(this, _layout$a)[_layout$a].videoconferenceButton, '--wait');
	}
	function _renderIcsButton2() {
	  babelHelpers.classPrivateFieldLooseBase(this, _layout$a)[_layout$a].icsButton = babelHelpers.classPrivateFieldLooseBase(this, _renderButton)[_renderButton](main_core.Loc.getMessage('CALENDAR_SHARING_ADD_TO_CALENDAR'), babelHelpers.classPrivateFieldLooseBase(this, _onIcsButtonClick)[_onIcsButtonClick].bind(this), '--light-border');
	  return babelHelpers.classPrivateFieldLooseBase(this, _layout$a)[_layout$a].icsButton;
	}
	async function _onIcsButtonClick2() {
	  main_core.Dom.addClass(babelHelpers.classPrivateFieldLooseBase(this, _layout$a)[_layout$a].icsButton, '--wait');
	  await babelHelpers.classPrivateFieldLooseBase(this, _props$1)[_props$1].bottomButtons.onDownloadIcs();
	  main_core.Dom.removeClass(babelHelpers.classPrivateFieldLooseBase(this, _layout$a)[_layout$a].icsButton, '--wait');
	}
	function _renderReturnToCalendarButton2() {
	  return babelHelpers.classPrivateFieldLooseBase(this, _renderButton)[_renderButton](main_core.Loc.getMessage('CALENDAR_SHARING_RETURN_TO_SLOT_LIST'), babelHelpers.classPrivateFieldLooseBase(this, _onReturnButtonClick)[_onReturnButtonClick].bind(this), '--light-border');
	}
	function _onReturnButtonClick2() {
	  babelHelpers.classPrivateFieldLooseBase(this, _props$1)[_props$1].bottomButtons.onReturnToCalendar();
	}
	function _renderButton2(text, action, className) {
	  return main_core.Tag.render(_t23 || (_t23 = _$b`
			<div
				onclick="${0}"
				class="calendar-pub-ui__btn ${0} --m calendar-pub-action-btn"
			>
				<div class="calendar-pub-ui__btn-text">${0}</div>
			</div>
		`), action, className, text);
	}
	function _getPopup2() {
	  if (!this.popup) {
	    const popupContent = main_core.Tag.render(_t24 || (_t24 = _$b`
				<div>
					<div class="calendar-pub__cookies-title">${0}</div>
					<div class="calendar-pub__cookies-info">${0}</div>
					<div class="calendar-pub__cookies-buttons ${0}">
						<div onclick="${0}" class="calendar-pub-ui__btn --inline --m --light-border">
							<div class="calendar-pub-ui__btn-text">${0}</div>
						</div>
						<div onclick="${0}" class="calendar-pub-ui__btn --inline --m --secondary">
							<div class="calendar-pub-ui__btn-text">${0}</div>
						</div>
					</div>
				</div>
			`), main_core.Loc.getMessage('CALENDAR_SHARING_POPUP_MEETING_CANCELED'), main_core.Loc.getMessage('CALENDAR_SHARING_POPUP_MEETING_CANCELED_INFO'), main_core.Browser.isMobile() ? '--center' : '--flex-end', babelHelpers.classPrivateFieldLooseBase(this, _closeCancelEventPopup)[_closeCancelEventPopup].bind(this), main_core.Loc.getMessage('CALENDAR_SHARING_POPUP_LEAVE'), babelHelpers.classPrivateFieldLooseBase(this, _onDeleteButtonClick)[_onDeleteButtonClick].bind(this), main_core.Loc.getMessage('CALENDAR_SHARING_POPUP_CANCEL'));
	    if (main_core.Browser.isMobile()) {
	      this.popup = new ui_bottomsheet.BottomSheet({
	        className: 'calendar-pub__state',
	        content: popupContent,
	        padding: '20px 25px'
	      });
	    } else {
	      this.popup = new main_popup.Popup({
	        className: 'calendar-pub__popup',
	        contentBackground: 'transparent',
	        width: 380,
	        animation: 'fading-slide',
	        content: popupContent,
	        overlay: true
	      });
	    }
	  }
	  return this.popup;
	}
	function _closeCancelEventPopup2() {
	  babelHelpers.classPrivateFieldLooseBase(this, _getPopup)[_getPopup]().close();
	}
	async function _onDeleteButtonClick2() {
	  babelHelpers.classPrivateFieldLooseBase(this, _closeCancelEventPopup)[_closeCancelEventPopup]();
	  babelHelpers.classPrivateFieldLooseBase(this, _props$1)[_props$1].onDeleteEvent();
	}
	EventLayout.descriptionCollapsed = true;

	var _event = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("event");
	var _owner$2 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("owner");
	var _currentTimezone = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("currentTimezone");
	var _icsFile = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("icsFile");
	var _layout$b = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("layout");
	var _value$4 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("value");
	var _state = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("state");
	var _inDeletedSlider = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("inDeletedSlider");
	var _isView = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("isView");
	var _showBackCalendarButtons = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("showBackCalendarButtons");
	var _linkContext = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("linkContext");
	var _eventLayout = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("eventLayout");
	var _initEventData = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("initEventData");
	var _getLayoutProps = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getLayoutProps");
	var _getCancelledInfo = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getCancelledInfo");
	var _getBottomButtons$1 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getBottomButtons");
	var _getIconClassByState = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getIconClassByState");
	var _getStateTitleTextByState = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getStateTitleTextByState");
	var _onReturnButtonClick$1 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("onReturnButtonClick");
	var _getEventName$1 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getEventName");
	class Event extends Base {
	  constructor(options) {
	    var _options$timezone;
	    super({
	      isHiddenOnStart: options.isHiddenOnStart
	    });
	    Object.defineProperty(this, _getEventName$1, {
	      value: _getEventName2$1
	    });
	    Object.defineProperty(this, _onReturnButtonClick$1, {
	      value: _onReturnButtonClick2$1
	    });
	    Object.defineProperty(this, _getStateTitleTextByState, {
	      value: _getStateTitleTextByState2
	    });
	    Object.defineProperty(this, _getIconClassByState, {
	      value: _getIconClassByState2
	    });
	    Object.defineProperty(this, _getBottomButtons$1, {
	      value: _getBottomButtons2$1
	    });
	    Object.defineProperty(this, _getCancelledInfo, {
	      value: _getCancelledInfo2
	    });
	    Object.defineProperty(this, _getLayoutProps, {
	      value: _getLayoutProps2
	    });
	    Object.defineProperty(this, _initEventData, {
	      value: _initEventData2
	    });
	    Object.defineProperty(this, _event, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _owner$2, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _currentTimezone, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _icsFile, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _layout$b, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _value$4, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _state, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _inDeletedSlider, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _isView, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _showBackCalendarButtons, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _linkContext, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _eventLayout, {
	      writable: true,
	      value: void 0
	    });
	    babelHelpers.classPrivateFieldLooseBase(this, _state)[_state] = options.state;
	    babelHelpers.classPrivateFieldLooseBase(this, _isView)[_isView] = options.isView;
	    babelHelpers.classPrivateFieldLooseBase(this, _event)[_event] = options.event;
	    babelHelpers.classPrivateFieldLooseBase(this, _owner$2)[_owner$2] = options.owner;
	    babelHelpers.classPrivateFieldLooseBase(this, _currentTimezone)[_currentTimezone] = (_options$timezone = options.timezone) != null ? _options$timezone : Intl.DateTimeFormat().resolvedOptions().timeZone;
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$b)[_layout$b] = {
	      back: null,
	      widgetDate: null,
	      eventName: null,
	      icon: null,
	      stateTitle: null,
	      additionalBlock: null,
	      bottomButton: null
	    };
	    babelHelpers.classPrivateFieldLooseBase(this, _value$4)[_value$4] = {
	      from: null,
	      to: null,
	      timezone: null,
	      isFullDay: false,
	      canceledTimestamp: null,
	      canceledUserName: null,
	      eventName: null,
	      canceledByManager: options.canceledByManager,
	      eventLinkHash: options.eventLinkHash,
	      eventId: options.eventId,
	      members: options.members
	    };
	    babelHelpers.classPrivateFieldLooseBase(this, _icsFile)[_icsFile] = null;
	    babelHelpers.classPrivateFieldLooseBase(this, _inDeletedSlider)[_inDeletedSlider] = options.inDeletedSlider === true;
	    babelHelpers.classPrivateFieldLooseBase(this, _showBackCalendarButtons)[_showBackCalendarButtons] = options.showBackCalendarButtons;
	    babelHelpers.classPrivateFieldLooseBase(this, _linkContext)[_linkContext] = options.linkContext;
	    if (babelHelpers.classPrivateFieldLooseBase(this, _event)[_event]) {
	      babelHelpers.classPrivateFieldLooseBase(this, _initEventData)[_initEventData]();
	    }
	    babelHelpers.classPrivateFieldLooseBase(this, _eventLayout)[_eventLayout] = new EventLayout(babelHelpers.classPrivateFieldLooseBase(this, _getLayoutProps)[_getLayoutProps]());
	    if (options.action === 'cancel') {
	      setTimeout(() => babelHelpers.classPrivateFieldLooseBase(this, _eventLayout)[_eventLayout].showCancelEventPopup(), 0);
	    }
	    if (options.action === 'ics') {
	      this.downloadIcsFile();
	    }
	    if (options.action === 'videoconference') {
	      this.startVideoconference();
	    }
	  }
	  getType() {
	    return 'event';
	  }
	  updateValue(data) {
	    if (data.from) {
	      babelHelpers.classPrivateFieldLooseBase(this, _value$4)[_value$4].from = data.from;
	    }
	    if (data.to) {
	      babelHelpers.classPrivateFieldLooseBase(this, _value$4)[_value$4].to = data.to;
	    }
	    if (data.timezone) {
	      babelHelpers.classPrivateFieldLooseBase(this, _value$4)[_value$4].timezone = data.timezone;
	    }
	    if (main_core.Type.isBoolean(data.isFullDay)) {
	      babelHelpers.classPrivateFieldLooseBase(this, _value$4)[_value$4].isFullDay = data.isFullDay;
	    }
	    if (data.eventLinkHash) {
	      babelHelpers.classPrivateFieldLooseBase(this, _value$4)[_value$4].eventLinkHash = data.eventLinkHash;
	    }
	    if (data.eventName) {
	      babelHelpers.classPrivateFieldLooseBase(this, _value$4)[_value$4].eventName = data.eventName;
	    }
	    if (data.state) {
	      babelHelpers.classPrivateFieldLooseBase(this, _state)[_state] = data.state;
	    }
	    if (data.isView) {
	      babelHelpers.classPrivateFieldLooseBase(this, _isView)[_isView] = false;
	    }
	    if (data.eventId) {
	      babelHelpers.classPrivateFieldLooseBase(this, _value$4)[_value$4].eventId = data.eventId;
	    }
	    if (data.userName) {
	      babelHelpers.classPrivateFieldLooseBase(this, _value$4)[_value$4].canceledUserName = data.userName;
	    }
	    if (babelHelpers.classPrivateFieldLooseBase(this, _value$4)[_value$4].canceledByManager === true) {
	      babelHelpers.classPrivateFieldLooseBase(this, _value$4)[_value$4].canceledByManager = false;
	    }
	    babelHelpers.classPrivateFieldLooseBase(this, _eventLayout)[_eventLayout].update(babelHelpers.classPrivateFieldLooseBase(this, _getLayoutProps)[_getLayoutProps]());
	  }
	  getContent() {
	    return babelHelpers.classPrivateFieldLooseBase(this, _eventLayout)[_eventLayout].render();
	  }
	  async deleteEvent() {
	    let response = null;
	    try {
	      response = await BX.ajax.runAction('calendar.api.sharingajax.deleteEvent', {
	        data: {
	          eventId: babelHelpers.classPrivateFieldLooseBase(this, _value$4)[_value$4].eventId,
	          eventLinkHash: babelHelpers.classPrivateFieldLooseBase(this, _value$4)[_value$4].eventLinkHash
	        }
	      });
	    } catch (e) {
	      response = e;
	    }
	    if (response.errors.length === 0) {
	      babelHelpers.classPrivateFieldLooseBase(this, _value$4)[_value$4].canceledTimestamp = Date.now() / 1000;
	      babelHelpers.classPrivateFieldLooseBase(this, _state)[_state] = 'declined';
	      babelHelpers.classPrivateFieldLooseBase(this, _eventLayout)[_eventLayout].update(babelHelpers.classPrivateFieldLooseBase(this, _getLayoutProps)[_getLayoutProps]());
	      main_core_events.EventEmitter.emit('onDeleteEvent');
	    }
	    return response.errors.length === 0;
	  }
	  async startVideoconference() {
	    var _response, _response$data;
	    let response = null;
	    try {
	      response = await BX.ajax.runAction('calendar.api.sharingajax.getConferenceLink', {
	        data: {
	          eventLinkHash: babelHelpers.classPrivateFieldLooseBase(this, _value$4)[_value$4].eventLinkHash
	        }
	      });
	    } catch (error) {
	      console.error(error);
	    }
	    const conferenceLink = (_response = response) == null ? void 0 : (_response$data = _response.data) == null ? void 0 : _response$data.conferenceLink;
	    if (conferenceLink) {
	      window.location.href = conferenceLink;
	    }
	  }
	  async downloadIcsFile() {
	    if (!babelHelpers.classPrivateFieldLooseBase(this, _icsFile)[_icsFile]) {
	      const response = await BX.ajax.runAction('calendar.api.sharingajax.getIcsFileContent', {
	        data: {
	          eventLinkHash: babelHelpers.classPrivateFieldLooseBase(this, _value$4)[_value$4].eventLinkHash
	        }
	      });
	      babelHelpers.classPrivateFieldLooseBase(this, _icsFile)[_icsFile] = response.data;
	    }
	    calendar_util.Util.downloadIcsFile(babelHelpers.classPrivateFieldLooseBase(this, _icsFile)[_icsFile], 'event');
	  }
	}
	function _initEventData2() {
	  babelHelpers.classPrivateFieldLooseBase(this, _value$4)[_value$4].from = calendar_util.Util.getTimezoneDateFromTimestampUTC(parseInt(babelHelpers.classPrivateFieldLooseBase(this, _event)[_event].timestampFromUTC, 10) * 1000, babelHelpers.classPrivateFieldLooseBase(this, _currentTimezone)[_currentTimezone]);
	  babelHelpers.classPrivateFieldLooseBase(this, _value$4)[_value$4].to = calendar_util.Util.getTimezoneDateFromTimestampUTC(parseInt(babelHelpers.classPrivateFieldLooseBase(this, _event)[_event].timestampToUTC, 10) * 1000, babelHelpers.classPrivateFieldLooseBase(this, _currentTimezone)[_currentTimezone]);
	  babelHelpers.classPrivateFieldLooseBase(this, _value$4)[_value$4].timezone = babelHelpers.classPrivateFieldLooseBase(this, _currentTimezone)[_currentTimezone];
	  babelHelpers.classPrivateFieldLooseBase(this, _value$4)[_value$4].isFullDay = babelHelpers.classPrivateFieldLooseBase(this, _event)[_event].isFullDay;
	  babelHelpers.classPrivateFieldLooseBase(this, _value$4)[_value$4].eventName = babelHelpers.classPrivateFieldLooseBase(this, _getEventName$1)[_getEventName$1]();
	  babelHelpers.classPrivateFieldLooseBase(this, _value$4)[_value$4].canceledTimestamp = babelHelpers.classPrivateFieldLooseBase(this, _event)[_event].canceledTimestamp;
	  babelHelpers.classPrivateFieldLooseBase(this, _value$4)[_value$4].canceledUserName = babelHelpers.classPrivateFieldLooseBase(this, _event)[_event].externalUserName;
	}
	function _getLayoutProps2() {
	  return {
	    eventName: babelHelpers.classPrivateFieldLooseBase(this, _value$4)[_value$4].eventName,
	    from: babelHelpers.classPrivateFieldLooseBase(this, _value$4)[_value$4].from,
	    to: babelHelpers.classPrivateFieldLooseBase(this, _value$4)[_value$4].to,
	    timezone: babelHelpers.classPrivateFieldLooseBase(this, _value$4)[_value$4].timezone,
	    isFullDay: babelHelpers.classPrivateFieldLooseBase(this, _value$4)[_value$4].isFullDay,
	    members: babelHelpers.classPrivateFieldLooseBase(this, _value$4)[_value$4].members,
	    title: babelHelpers.classPrivateFieldLooseBase(this, _getStateTitleTextByState)[_getStateTitleTextByState](babelHelpers.classPrivateFieldLooseBase(this, _state)[_state]),
	    iconClassName: babelHelpers.classPrivateFieldLooseBase(this, _getIconClassByState)[_getIconClassByState](babelHelpers.classPrivateFieldLooseBase(this, _state)[_state]),
	    onDeleteEvent: babelHelpers.classPrivateFieldLooseBase(this, _state)[_state] === 'created' ? this.deleteEvent.bind(this) : '',
	    cancelledInfo: babelHelpers.classPrivateFieldLooseBase(this, _getCancelledInfo)[_getCancelledInfo](),
	    showBackCalendarButton: babelHelpers.classPrivateFieldLooseBase(this, _showBackCalendarButtons)[_showBackCalendarButtons],
	    bottomButtons: babelHelpers.classPrivateFieldLooseBase(this, _getBottomButtons$1)[_getBottomButtons$1](),
	    linkContext: babelHelpers.classPrivateFieldLooseBase(this, _linkContext)[_linkContext]
	  };
	}
	function _getCancelledInfo2() {
	  if (babelHelpers.classPrivateFieldLooseBase(this, _state)[_state] === 'declined') {
	    const cancelledDate = calendar_util.Util.getTimezoneDateFromTimestampUTC(parseInt(babelHelpers.classPrivateFieldLooseBase(this, _value$4)[_value$4].canceledTimestamp, 10) * 1000, babelHelpers.classPrivateFieldLooseBase(this, _currentTimezone)[_currentTimezone]);
	    if (babelHelpers.classPrivateFieldLooseBase(this, _value$4)[_value$4].canceledByManager) {
	      babelHelpers.classPrivateFieldLooseBase(this, _value$4)[_value$4].canceledUserName = `${babelHelpers.classPrivateFieldLooseBase(this, _owner$2)[_owner$2].name} ${babelHelpers.classPrivateFieldLooseBase(this, _owner$2)[_owner$2].lastName}`;
	    }
	    if (babelHelpers.classPrivateFieldLooseBase(this, _value$4)[_value$4].canceledTimestamp && babelHelpers.classPrivateFieldLooseBase(this, _value$4)[_value$4].canceledUserName && cancelledDate) {
	      return {
	        date: cancelledDate,
	        name: babelHelpers.classPrivateFieldLooseBase(this, _value$4)[_value$4].canceledUserName
	      };
	    }
	  }
	  return null;
	}
	function _getBottomButtons2$1() {
	  const bottomButtons = {};
	  if (babelHelpers.classPrivateFieldLooseBase(this, _state)[_state] === 'created') {
	    bottomButtons.onStartVideoconference = this.startVideoconference.bind(this);
	    bottomButtons.onDownloadIcs = this.downloadIcsFile.bind(this);
	  }
	  if (['not-created', 'declined'].includes(babelHelpers.classPrivateFieldLooseBase(this, _state)[_state]) && babelHelpers.classPrivateFieldLooseBase(this, _showBackCalendarButtons)[_showBackCalendarButtons]) {
	    bottomButtons.onReturnToCalendar = babelHelpers.classPrivateFieldLooseBase(this, _onReturnButtonClick$1)[_onReturnButtonClick$1].bind(this);
	  }
	  return bottomButtons;
	}
	function _getIconClassByState2(state) {
	  let result = '';
	  switch (state) {
	    case 'created':
	      result = '--accept';
	      break;
	    case 'not-created':
	      result = '--decline';
	      break;
	    case 'declined':
	      result = '--decline';
	      break;
	    default:
	      break;
	  }
	  return result;
	}
	function _getStateTitleTextByState2(state) {
	  let result = '';
	  switch (state) {
	    case 'created':
	      if (!babelHelpers.classPrivateFieldLooseBase(this, _isView)[_isView]) {
	        result = main_core.Loc.getMessage('CALENDAR_SHARING_MEETING_CREATED');
	      }
	      break;
	    case 'not-created':
	      result = main_core.Loc.getMessage('CALENDAR_SHARING_MEETING_NOT_CREATED');
	      break;
	    case 'declined':
	      result = main_core.Loc.getMessage('CALENDAR_SHARING_MEETING_CANCELED');
	      break;
	    default:
	      break;
	  }
	  return result;
	}
	function _onReturnButtonClick2$1() {
	  main_core_events.EventEmitter.emit('onCreateAnotherEventButtonClick');
	}
	function _getEventName2$1() {
	  return main_core.Loc.getMessage('CALENDAR_SHARING_EVENT_NAME', {
	    '#OWNER_NAME#': `${babelHelpers.classPrivateFieldLooseBase(this, _owner$2)[_owner$2].name} ${babelHelpers.classPrivateFieldLooseBase(this, _owner$2)[_owner$2].lastName}`
	  });
	}

	let _$c = t => t,
	  _t$c;
	var _layout$c = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("layout");
	var _components = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("components");
	var _selectedTimezoneId$1 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("selectedTimezoneId");
	var _owner$3 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("owner");
	var _link$2 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("link");
	var _sharingUser$1 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("sharingUser");
	var _isFromCrm$1 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("isFromCrm");
	var _hasContactData$1 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("hasContactData");
	var _calendarSettings$1 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("calendarSettings");
	var _eventLinkHash = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("eventLinkHash");
	var _event$1 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("event");
	var _members$3 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("members");
	var _action = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("action");
	var _showBackCalendarButtons$1 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("showBackCalendarButtons");
	var _bindEvents$7 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("bindEvents");
	class SlotSelector {
	  constructor(options) {
	    Object.defineProperty(this, _bindEvents$7, {
	      value: _bindEvents2$7
	    });
	    Object.defineProperty(this, _layout$c, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _components, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _selectedTimezoneId$1, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _owner$3, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _link$2, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _sharingUser$1, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _isFromCrm$1, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _hasContactData$1, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _calendarSettings$1, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _eventLinkHash, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _event$1, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _members$3, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _action, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _showBackCalendarButtons$1, {
	      writable: true,
	      value: void 0
	    });
	    this.BLOCK_NAME_FORM = 'form';
	    this.BLOCK_NAME_SLOT_LIST = 'slot-list';
	    this.BLOCK_NAME_EMPTY_STATE = 'empty-state';
	    this.BLOCK_NAME_ACCESS_DENIED = 'access-denied';
	    this.BLOCK_NAME_EVENT = 'event';
	    babelHelpers.classPrivateFieldLooseBase(this, _selectedTimezoneId$1)[_selectedTimezoneId$1] = options.selectedTimezoneId;
	    babelHelpers.classPrivateFieldLooseBase(this, _owner$3)[_owner$3] = options.owner;
	    babelHelpers.classPrivateFieldLooseBase(this, _link$2)[_link$2] = options.link;
	    babelHelpers.classPrivateFieldLooseBase(this, _sharingUser$1)[_sharingUser$1] = options.sharingUser;
	    babelHelpers.classPrivateFieldLooseBase(this, _eventLinkHash)[_eventLinkHash] = options.eventLinkHash;
	    babelHelpers.classPrivateFieldLooseBase(this, _event$1)[_event$1] = options.event;
	    babelHelpers.classPrivateFieldLooseBase(this, _members$3)[_members$3] = options.members;
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$c)[_layout$c] = {
	      wrapper: null,
	      empty: null,
	      title: null,
	      slots: null,
	      slotSelector: null
	    };
	    babelHelpers.classPrivateFieldLooseBase(this, _components)[_components] = {
	      form: null,
	      slotList: null,
	      emptyState: null,
	      event: null,
	      accessDenied: null
	    };
	    babelHelpers.classPrivateFieldLooseBase(this, _isFromCrm$1)[_isFromCrm$1] = babelHelpers.classPrivateFieldLooseBase(this, _link$2)[_link$2].type === 'crm_deal';
	    babelHelpers.classPrivateFieldLooseBase(this, _hasContactData$1)[_hasContactData$1] = options.hasContactData;
	    babelHelpers.classPrivateFieldLooseBase(this, _calendarSettings$1)[_calendarSettings$1] = options.calendarSettings;
	    babelHelpers.classPrivateFieldLooseBase(this, _showBackCalendarButtons$1)[_showBackCalendarButtons$1] = options.showBackCalendarButtons;
	    babelHelpers.classPrivateFieldLooseBase(this, _action)[_action] = options.action;
	    babelHelpers.classPrivateFieldLooseBase(this, _bindEvents$7)[_bindEvents$7]();
	    // EventEmitter.subscribe('selectorStateChange', this.showForm.bind(this));
	    // EventEmitter.subscribe('hideForm', this.hideForm.bind(this));
	  }

	  openForm() {
	    var _babelHelpers$classPr;
	    (_babelHelpers$classPr = babelHelpers.classPrivateFieldLooseBase(this, _components)[_components].form) == null ? void 0 : _babelHelpers$classPr.clearInputErrors();
	    this.openBlock(this.BLOCK_NAME_FORM);
	  }
	  openSlotList() {
	    this.openBlock(this.BLOCK_NAME_SLOT_LIST);
	  }
	  openEmptyState() {
	    this.openBlock(this.BLOCK_NAME_EMPTY_STATE);
	  }
	  openAccessDenied() {
	    this.openBlock(this.BLOCK_NAME_ACCESS_DENIED);
	  }
	  openEvent() {
	    this.openBlock(this.BLOCK_NAME_EVENT);
	  }
	  openBlock(blockName) {
	    main_core_events.EventEmitter.emit('selectorTypeChange', blockName);
	  }
	  render() {
	    if (!babelHelpers.classPrivateFieldLooseBase(this, _components)[_components].form) {
	      babelHelpers.classPrivateFieldLooseBase(this, _components)[_components].form = new Form({
	        isHiddenOnStart: true,
	        owner: babelHelpers.classPrivateFieldLooseBase(this, _owner$3)[_owner$3],
	        link: babelHelpers.classPrivateFieldLooseBase(this, _link$2)[_link$2],
	        sharingUser: babelHelpers.classPrivateFieldLooseBase(this, _sharingUser$1)[_sharingUser$1],
	        isFromCrm: babelHelpers.classPrivateFieldLooseBase(this, _isFromCrm$1)[_isFromCrm$1],
	        hasContactData: babelHelpers.classPrivateFieldLooseBase(this, _hasContactData$1)[_hasContactData$1],
	        isPhoneFeatureEnabled: babelHelpers.classPrivateFieldLooseBase(this, _calendarSettings$1)[_calendarSettings$1].phoneFeatureEnabled,
	        isMailFeatureEnabled: babelHelpers.classPrivateFieldLooseBase(this, _calendarSettings$1)[_calendarSettings$1].mailFeatureEnabled
	      });
	    }
	    if (!babelHelpers.classPrivateFieldLooseBase(this, _components)[_components].emptyState) {
	      babelHelpers.classPrivateFieldLooseBase(this, _components)[_components].emptyState = new EmptyState({
	        isHiddenOnStart: true
	      });
	    }
	    if (!babelHelpers.classPrivateFieldLooseBase(this, _components)[_components].accessDenied) {
	      babelHelpers.classPrivateFieldLooseBase(this, _components)[_components].accessDenied = new AccessDenied({
	        isHiddenOnStart: true
	      });
	    }
	    if (!babelHelpers.classPrivateFieldLooseBase(this, _components)[_components].slotList) {
	      babelHelpers.classPrivateFieldLooseBase(this, _components)[_components].slotList = new SlotList({
	        isHiddenOnStart: false,
	        ownerOffset: parseInt(babelHelpers.classPrivateFieldLooseBase(this, _calendarSettings$1)[_calendarSettings$1].serverOffset, 10)
	      });
	    }
	    if (!babelHelpers.classPrivateFieldLooseBase(this, _components)[_components].event) {
	      var _babelHelpers$classPr2, _babelHelpers$classPr3, _babelHelpers$classPr4;
	      let state = 'created';
	      if (babelHelpers.classPrivateFieldLooseBase(this, _link$2)[_link$2].active === false || ((_babelHelpers$classPr2 = babelHelpers.classPrivateFieldLooseBase(this, _event$1)[_event$1]) == null ? void 0 : _babelHelpers$classPr2.meetingStatus) === 'N' || ((_babelHelpers$classPr3 = babelHelpers.classPrivateFieldLooseBase(this, _event$1)[_event$1]) == null ? void 0 : _babelHelpers$classPr3.deleted) === 'Y') {
	        state = 'declined';
	      }
	      let canceledByManager = false;
	      if (((_babelHelpers$classPr4 = babelHelpers.classPrivateFieldLooseBase(this, _event$1)[_event$1]) == null ? void 0 : _babelHelpers$classPr4.meetingStatus) === 'N') {
	        canceledByManager = true;
	      }
	      babelHelpers.classPrivateFieldLooseBase(this, _components)[_components].event = new Event({
	        isHiddenOnStart: false,
	        owner: babelHelpers.classPrivateFieldLooseBase(this, _owner$3)[_owner$3],
	        event: babelHelpers.classPrivateFieldLooseBase(this, _event$1)[_event$1],
	        eventLinkHash: babelHelpers.classPrivateFieldLooseBase(this, _eventLinkHash)[_eventLinkHash],
	        state,
	        eventId: babelHelpers.classPrivateFieldLooseBase(this, _event$1)[_event$1].id,
	        isView: main_core.Type.isString(babelHelpers.classPrivateFieldLooseBase(this, _eventLinkHash)[_eventLinkHash]),
	        canceledByManager,
	        showBackCalendarButtons: babelHelpers.classPrivateFieldLooseBase(this, _showBackCalendarButtons$1)[_showBackCalendarButtons$1],
	        action: babelHelpers.classPrivateFieldLooseBase(this, _action)[_action],
	        members: babelHelpers.classPrivateFieldLooseBase(this, _members$3)[_members$3],
	        linkContext: babelHelpers.classPrivateFieldLooseBase(this, _link$2)[_link$2].type
	      });
	    }
	    return main_core.Tag.render(_t$c || (_t$c = _$c`
			<div class="calendar-pub__slots">
				${0}
				${0}
				${0}
				${0}
				${0}
			</div>
		`), babelHelpers.classPrivateFieldLooseBase(this, _components)[_components].slotList.render(), babelHelpers.classPrivateFieldLooseBase(this, _components)[_components].form.render(), babelHelpers.classPrivateFieldLooseBase(this, _components)[_components].emptyState.render(), babelHelpers.classPrivateFieldLooseBase(this, _components)[_components].event.render(), babelHelpers.classPrivateFieldLooseBase(this, _components)[_components].accessDenied.render());
	  }
	}
	function _bindEvents2$7() {
	  main_core_events.EventEmitter.subscribe('confirmedSelectSlot', event => {
	    const data = event.data;
	    const value = data.value;
	    babelHelpers.classPrivateFieldLooseBase(this, _components)[_components].form.updateFormValue({
	      from: value.from,
	      to: value.to,
	      timezone: babelHelpers.classPrivateFieldLooseBase(this, _selectedTimezoneId$1)[_selectedTimezoneId$1]
	    });
	    this.openForm();
	  });
	  main_core_events.EventEmitter.subscribe('switchSlots', event => {
	    var _event$data$slots;
	    const slots = (_event$data$slots = event.data.slots) != null ? _event$data$slots : [];
	    if (slots.length > 0) {
	      main_core_events.EventEmitter.emit('updateSlotsList', event);
	      this.openSlotList();
	    } else {
	      this.openEmptyState();
	    }
	  });
	  main_core_events.EventEmitter.subscribe('updateTimezone', event => {
	    const data = event.data;
	    babelHelpers.classPrivateFieldLooseBase(this, _selectedTimezoneId$1)[_selectedTimezoneId$1] = data.timezone;
	  });
	  main_core_events.EventEmitter.subscribe('onSaveEvent', event => {
	    const eventData = event.data;
	    babelHelpers.classPrivateFieldLooseBase(this, _components)[_components].form.cleanDescription();
	    babelHelpers.classPrivateFieldLooseBase(this, _components)[_components].event.updateValue(eventData);
	    this.openEvent();
	  });
	}

	let _$d = t => t,
	  _t$d,
	  _t2$9,
	  _t3$8,
	  _t4$7;
	var _layout$d = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("layout");
	var _owner$4 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("owner");
	var _welcomePage = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("welcomePage");
	var _calendar = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("calendar");
	var _slotsBlock = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("slotsBlock");
	var _linkMembers = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("linkMembers");
	var _eventMembers = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("eventMembers");
	var _bindEvents$8 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("bindEvents");
	var _renderFreeSlots = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("renderFreeSlots");
	var _renderSlotsSelector = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("renderSlotsSelector");
	var _getNodeWrapper$4 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getNodeWrapper");
	var _render = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("render");
	var _init = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("init");
	class PublicV2 {
	  constructor(_options) {
	    var _options$link$members;
	    Object.defineProperty(this, _init, {
	      value: _init2
	    });
	    Object.defineProperty(this, _render, {
	      value: _render2
	    });
	    Object.defineProperty(this, _getNodeWrapper$4, {
	      value: _getNodeWrapper2$4
	    });
	    Object.defineProperty(this, _renderSlotsSelector, {
	      value: _renderSlotsSelector2
	    });
	    Object.defineProperty(this, _renderFreeSlots, {
	      value: _renderFreeSlots2
	    });
	    Object.defineProperty(this, _bindEvents$8, {
	      value: _bindEvents2$8
	    });
	    Object.defineProperty(this, _layout$d, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _owner$4, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _welcomePage, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _calendar, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _slotsBlock, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _linkMembers, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _eventMembers, {
	      writable: true,
	      value: void 0
	    });
	    babelHelpers.classPrivateFieldLooseBase(this, _owner$4)[_owner$4] = _options.owner || null;
	    this.target = main_core.Type.isDomNode(_options.target) ? _options.target : null;
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$d)[_layout$d] = {
	      wrapper: null,
	      animate: null
	    };
	    babelHelpers.classPrivateFieldLooseBase(this, _welcomePage)[_welcomePage] = null;
	    babelHelpers.classPrivateFieldLooseBase(this, _calendar)[_calendar] = null;
	    babelHelpers.classPrivateFieldLooseBase(this, _slotsBlock)[_slotsBlock] = null;
	    babelHelpers.classPrivateFieldLooseBase(this, _linkMembers)[_linkMembers] = (_options.parentLink || _options.link).members;
	    babelHelpers.classPrivateFieldLooseBase(this, _eventMembers)[_eventMembers] = (_options$link$members = _options.link.members) != null ? _options$link$members : _options.event.members;
	    babelHelpers.classPrivateFieldLooseBase(this, _init)[_init]();
	    babelHelpers.classPrivateFieldLooseBase(this, _bindEvents$8)[_bindEvents$8]();
	    this.showPageWelcome(_options);
	    if (_options.link.type === 'event') {
	      if (_options.parentLink && _options.parentLink.active === true) {
	        babelHelpers.classPrivateFieldLooseBase(this, _renderFreeSlots)[_renderFreeSlots](_options);
	        babelHelpers.classPrivateFieldLooseBase(this, _welcomePage)[_welcomePage].handleWelcomePageButtonClick();
	        babelHelpers.classPrivateFieldLooseBase(this, _slotsBlock)[_slotsBlock].openEvent();
	      } else if (_options.event) {
	        babelHelpers.classPrivateFieldLooseBase(this, _renderSlotsSelector)[_renderSlotsSelector](_options);
	        babelHelpers.classPrivateFieldLooseBase(this, _welcomePage)[_welcomePage].handleWelcomePageButtonClick();
	        babelHelpers.classPrivateFieldLooseBase(this, _welcomePage)[_welcomePage].hideButton();
	        babelHelpers.classPrivateFieldLooseBase(this, _welcomePage)[_welcomePage].setAccessDenied();
	        babelHelpers.classPrivateFieldLooseBase(this, _slotsBlock)[_slotsBlock].openEvent();
	      } else {
	        babelHelpers.classPrivateFieldLooseBase(this, _renderSlotsSelector)[_renderSlotsSelector](_options);
	        babelHelpers.classPrivateFieldLooseBase(this, _welcomePage)[_welcomePage].handleWelcomePageButtonClick();
	        babelHelpers.classPrivateFieldLooseBase(this, _welcomePage)[_welcomePage].hideButton();
	        babelHelpers.classPrivateFieldLooseBase(this, _slotsBlock)[_slotsBlock].openAccessDenied();
	      }
	    } else if (_options.link.active === true) {
	      babelHelpers.classPrivateFieldLooseBase(this, _renderFreeSlots)[_renderFreeSlots](_options);
	    } else {
	      babelHelpers.classPrivateFieldLooseBase(this, _renderSlotsSelector)[_renderSlotsSelector](_options);
	      babelHelpers.classPrivateFieldLooseBase(this, _welcomePage)[_welcomePage].handleWelcomePageButtonClick();
	      babelHelpers.classPrivateFieldLooseBase(this, _welcomePage)[_welcomePage].hideButton();
	      babelHelpers.classPrivateFieldLooseBase(this, _slotsBlock)[_slotsBlock].openAccessDenied();
	    }
	    if (_options.action === 'opened') {
	      babelHelpers.classPrivateFieldLooseBase(this, _welcomePage)[_welcomePage].handleWelcomePageButtonClick();
	    }

	    // this.showFreeSlots();
	  }

	  showPageWelcome(options) {
	    if (!options.owner) {
	      return;
	    }
	    babelHelpers.classPrivateFieldLooseBase(this, _welcomePage)[_welcomePage] = new Welcome({
	      owner: options.owner,
	      link: options.link,
	      currentLang: options.currentLang,
	      members: babelHelpers.classPrivateFieldLooseBase(this, _linkMembers)[_linkMembers]
	    });
	    main_core.Dom.append(babelHelpers.classPrivateFieldLooseBase(this, _welcomePage)[_welcomePage].render(), babelHelpers.classPrivateFieldLooseBase(this, _getNodeWrapper$4)[_getNodeWrapper$4]());
	  }
	  showFreeSlots() {
	    main_core.Dom.removeClass(babelHelpers.classPrivateFieldLooseBase(this, _getNodeWrapper$4)[_getNodeWrapper$4](), '--hide');
	  }
	  hideFreeSlots() {
	    main_core.Dom.addClass(babelHelpers.classPrivateFieldLooseBase(this, _getNodeWrapper$4)[_getNodeWrapper$4](), '--hide');
	  }
	}
	function _bindEvents2$8() {
	  main_core_events.EventEmitter.subscribe('showSlotSelector', this.showFreeSlots.bind(this));
	  main_core_events.EventEmitter.subscribe('hideSlotSelector', this.hideFreeSlots.bind(this));
	}
	function _renderFreeSlots2(options) {
	  babelHelpers.classPrivateFieldLooseBase(this, _calendar)[_calendar] = new Calendar({
	    userIds: options.link.userIds,
	    accessibility: options.userAccessibility,
	    timezoneList: options.timezoneList,
	    calendarSettings: options.calendarSettings,
	    rule: options.link.rule
	  });
	  let eventLinkHash = null;
	  if (options.link.type === 'event') {
	    eventLinkHash = options.link.hash;
	  }
	  babelHelpers.classPrivateFieldLooseBase(this, _slotsBlock)[_slotsBlock] = new SlotSelector({
	    selectedTimezoneId: babelHelpers.classPrivateFieldLooseBase(this, _calendar)[_calendar].getSelectedTimezoneId(),
	    owner: babelHelpers.classPrivateFieldLooseBase(this, _owner$4)[_owner$4],
	    link: options.parentLink || options.link,
	    members: babelHelpers.classPrivateFieldLooseBase(this, _eventMembers)[_eventMembers],
	    sharingUser: options.sharingUser,
	    hasContactData: options.hasContactData,
	    calendarSettings: options.calendarSettings,
	    event: options.event,
	    showBackCalendarButtons: true,
	    eventLinkHash,
	    action: options.action
	  });
	  const firstNodeWrapper = main_core.Tag.render(_t$d || (_t$d = _$d`
			<div class="calendar-pub__block --plus">
				${0}
			</div>
		`), babelHelpers.classPrivateFieldLooseBase(this, _calendar)[_calendar].render());
	  babelHelpers.classPrivateFieldLooseBase(this, _layout$d)[_layout$d].animate = main_core.Tag.render(_t2$9 || (_t2$9 = _$d`
			<div class="calendar-pub__block-animate">
				${0}
				<div class="calendar-pub__block">
					${0}
				</div>
			</div>
		`), firstNodeWrapper, babelHelpers.classPrivateFieldLooseBase(this, _slotsBlock)[_slotsBlock].render());
	  main_core_events.EventEmitter.subscribe('selectorTypeChange', ev => {
	    if (ev.data === 'form' || ev.data === 'event') {
	      main_core.Dom.addClass(firstNodeWrapper, '--hidden');
	    } else {
	      main_core.Dom.removeClass(firstNodeWrapper, '--hidden');
	    }
	  });
	  main_core.Dom.append(babelHelpers.classPrivateFieldLooseBase(this, _layout$d)[_layout$d].animate, babelHelpers.classPrivateFieldLooseBase(this, _getNodeWrapper$4)[_getNodeWrapper$4]());
	  if (options.link.type !== 'event') {
	    babelHelpers.classPrivateFieldLooseBase(this, _calendar)[_calendar].selectFirstAvailableDay();
	  }
	}
	function _renderSlotsSelector2(options) {
	  let eventLinkHash = null;
	  if (options.link.type === 'event') {
	    eventLinkHash = options.link.hash;
	  }
	  babelHelpers.classPrivateFieldLooseBase(this, _slotsBlock)[_slotsBlock] = new SlotSelector({
	    selectedTimezoneId: null,
	    owner: babelHelpers.classPrivateFieldLooseBase(this, _owner$4)[_owner$4],
	    link: options.link,
	    sharingUser: options.sharingUser,
	    hasContactData: options.hasContactData,
	    calendarSettings: options.calendarSettings,
	    event: options.event,
	    showBackCalendarButtons: false,
	    action: options.action,
	    eventLinkHash
	  });
	  babelHelpers.classPrivateFieldLooseBase(this, _layout$d)[_layout$d].animate = main_core.Tag.render(_t3$8 || (_t3$8 = _$d`
			<div class="calendar-pub__block-animate">
				<div class="calendar-pub__block">
					${0}
				</div>
			</div>
		`), babelHelpers.classPrivateFieldLooseBase(this, _slotsBlock)[_slotsBlock].render());
	  main_core.Dom.append(babelHelpers.classPrivateFieldLooseBase(this, _layout$d)[_layout$d].animate, babelHelpers.classPrivateFieldLooseBase(this, _getNodeWrapper$4)[_getNodeWrapper$4]());
	}
	function _getNodeWrapper2$4() {
	  if (!babelHelpers.classPrivateFieldLooseBase(this, _layout$d)[_layout$d].wrapper) {
	    babelHelpers.classPrivateFieldLooseBase(this, _layout$d)[_layout$d].wrapper = main_core.Tag.render(_t4$7 || (_t4$7 = _$d`
				<div class="calendar-pub__wrapper calendar-pub__state --hide"></div>
			`));
	    if (main_core.Type.isArrayFilled(babelHelpers.classPrivateFieldLooseBase(this, _linkMembers)[_linkMembers]) || main_core.Type.isArrayFilled(babelHelpers.classPrivateFieldLooseBase(this, _eventMembers)[_eventMembers])) {
	      main_core.Dom.addClass(babelHelpers.classPrivateFieldLooseBase(this, _layout$d)[_layout$d].wrapper, '--large');
	    }
	  }
	  return babelHelpers.classPrivateFieldLooseBase(this, _layout$d)[_layout$d].wrapper;
	}
	function _render2() {
	  if (!this.target) {
	    console.warn('BX.Calendar.Sharing: "target" is not defined');
	    return;
	  }
	  if (this.target.parentNode) {
	    main_core.Dom.append(babelHelpers.classPrivateFieldLooseBase(this, _getNodeWrapper$4)[_getNodeWrapper$4](), this.target.parentNode);
	    main_core.Dom.remove(this.target);
	  }
	}
	function _init2() {
	  babelHelpers.classPrivateFieldLooseBase(this, _render)[_render]();
	}

	exports.PublicV2 = PublicV2;
	exports.EventLayout = EventLayout;
	exports.WidgetDate = WidgetDate;

}((this.BX.Calendar.Sharing = this.BX.Calendar.Sharing || {}),BX,BX.UI,BX.Calendar,BX,BX.Main,BX.Main,BX.UI,BX,BX.Event));
//# sourceMappingURL=public-v2.bundle.js.map

Youez - 2016 - github.com/yon3zu
LinuXploit