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/rest/market-expired/dist/

Upload File :
current_dir [ Writeable] document_root [ Writeable]

 

Command :


[ Back ]     

Current File : /home/bitrix/ext_www/rospirotorg.ru/bitrix/js/rest/market-expired/dist/market-expired.bundle.js
/* eslint-disable */
this.BX = this.BX || {};
(function (exports,main_popup,main_polyfill_intersectionobserver,main_core_events,ui_notification,ui_infoHelper,ui_bannerDispatcher,ui_notificationPanel,ui_iconSet_api_core,ui_analytics,ui_iconSet_main,ui_buttons,main_core) {
	'use strict';

	let _ = t => t,
	  _t,
	  _t2,
	  _t3;
	var _name = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("name");
	var _icon = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("icon");
	class MarketItem {
	  constructor(options) {
	    Object.defineProperty(this, _name, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _icon, {
	      writable: true,
	      value: void 0
	    });
	    babelHelpers.classPrivateFieldLooseBase(this, _name)[_name] = options.name;
	    babelHelpers.classPrivateFieldLooseBase(this, _icon)[_icon] = options.icon;
	  }
	  getContainer() {
	    return main_core.Tag.render(_t || (_t = _`
			<span class="rest-market-item">
				${0}
				<span class="rest-market-item__name" title="${0}">${0}</span>
			</span>
		`), this.renderIcon(), this.getName(), this.getName());
	  }
	  renderTo(node) {
	    main_core.Dom.append(this.getContainer(), node);
	  }
	  getName() {
	    return babelHelpers.classPrivateFieldLooseBase(this, _name)[_name];
	  }
	  renderIcon() {
	    if (!babelHelpers.classPrivateFieldLooseBase(this, _icon)[_icon]) {
	      return main_core.Tag.render(_t2 || (_t2 = _`
				<div class="rest-market-item__icon-container">
					<div class="ui-icon-set --cube-plus rest-market-item__icon"></div>
				</div>
			`));
	    }
	    return main_core.Tag.render(_t3 || (_t3 = _`
			<div class="rest-market-item__icon-container" 
				style="
					background-image: url(${0});
					background-size: cover;
				">
			</div>
		`), babelHelpers.classPrivateFieldLooseBase(this, _icon)[_icon]);
	  }
	}

	let _$1 = t => t,
	  _t$1,
	  _t2$1;
	var _items = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("items");
	var _title = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("title");
	var _link = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("link");
	var _count = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("count");
	var _onClick = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("onClick");
	var _renderList = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("renderList");
	class MarketList {
	  constructor(options) {
	    Object.defineProperty(this, _renderList, {
	      value: _renderList2
	    });
	    Object.defineProperty(this, _items, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _title, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _link, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _count, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _onClick, {
	      writable: true,
	      value: void 0
	    });
	    babelHelpers.classPrivateFieldLooseBase(this, _items)[_items] = main_core.Type.isArray(options.items) ? options.items : [];
	    babelHelpers.classPrivateFieldLooseBase(this, _title)[_title] = options.title;
	    babelHelpers.classPrivateFieldLooseBase(this, _link)[_link] = options.link;
	    babelHelpers.classPrivateFieldLooseBase(this, _count)[_count] = options.count;
	    babelHelpers.classPrivateFieldLooseBase(this, _onClick)[_onClick] = options.onClick;
	  }
	  render() {
	    return main_core.Tag.render(_t$1 || (_t$1 = _$1`
			<div class="rest-market-list">
				<div class="rest-market-list__header">
					<span class="rest-market-list__title">${0}</span>
					<a class="rest-market-list__link" href="${0}" onclick="${0}">
						${0}
					</a>
				</div>
				${0}
			</div>
		`), babelHelpers.classPrivateFieldLooseBase(this, _title)[_title], babelHelpers.classPrivateFieldLooseBase(this, _link)[_link], babelHelpers.classPrivateFieldLooseBase(this, _onClick)[_onClick], main_core.Loc.getMessage('REST_MARKET_EXPIRED_POPUP_MARKET_LIST_LINK', {
	      '#COUNT#': babelHelpers.classPrivateFieldLooseBase(this, _count)[_count]
	    }), babelHelpers.classPrivateFieldLooseBase(this, _renderList)[_renderList]());
	  }
	}
	function _renderList2() {
	  if (babelHelpers.classPrivateFieldLooseBase(this, _items)[_items].length === 0) {
	    return '';
	  }
	  const listContainer = main_core.Tag.render(_t2$1 || (_t2$1 = _$1`
			<div class="rest-market-list__container"></div>
		`));
	  babelHelpers.classPrivateFieldLooseBase(this, _items)[_items].forEach(item => {
	    item.renderTo(listContainer);
	  });
	  return listContainer;
	}

	class DiscountEar {
	  getContainer() {
	    throw new Error('Not implemented');
	  }
	}

	class PopupType {}
	PopupType.FINAL = 'FINAL';
	PopupType.WARNING = 'WARNING';

	class PopupCategory {}
	PopupCategory.TRANSITION = 'transition';
	PopupCategory.SUBSCRIPTION = 'subscription';
	PopupCategory.TRIAL = 'trial';

	var _send = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("send");
	var _getType = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getType");
	var _getP = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getP1");
	class Analytic {
	  constructor(context) {
	    Object.defineProperty(this, _getP, {
	      value: _getP2
	    });
	    Object.defineProperty(this, _getType, {
	      value: _getType2
	    });
	    Object.defineProperty(this, _send, {
	      value: _send2
	    });
	    this.context = context;
	  }
	  sendShow() {
	    babelHelpers.classPrivateFieldLooseBase(this, _send)[_send]({
	      tool: 'infohelper',
	      category: 'market',
	      event: 'show_popup'
	    });
	  }
	  sendClickButton(button) {
	    babelHelpers.classPrivateFieldLooseBase(this, _send)[_send]({
	      tool: 'infohelper',
	      category: 'market',
	      event: 'click_button',
	      c_element: button
	    });
	  }
	  sendDemoActivated() {
	    babelHelpers.classPrivateFieldLooseBase(this, _send)[_send]({
	      tool: 'intranet',
	      category: 'demo',
	      event: 'market_demo_activated'
	    });
	  }
	}
	function _send2(options) {
	  ui_analytics.sendData({
	    ...options,
	    type: babelHelpers.classPrivateFieldLooseBase(this, _getType)[_getType](),
	    p1: babelHelpers.classPrivateFieldLooseBase(this, _getP)[_getP]()
	  });
	}
	function _getType2() {
	  let type = this.context.popupType === PopupType.WARNING ? 'pre_disconnection_alert' : 'post_disconnection_notice';
	  if (this.context.popupCategory === PopupCategory.TRIAL) {
	    type = `${type}_demo`;
	  }
	  return type;
	}
	function _getP2() {
	  return `discount_${this.context.withDiscount ? 'Y' : 'N'}`;
	}

	let _$2 = t => t,
	  _t$2,
	  _t2$2,
	  _t3$1,
	  _t4;
	var _popup = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("popup");
	var _container = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("container");
	var _appList = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("appList");
	var _integrationList = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("integrationList");
	var _analytic = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("analytic");
	var _getContent = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getContent");
	var _getContainer = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getContainer");
	var _renderCloseIcon = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("renderCloseIcon");
	var _renderMarketList = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("renderMarketList");
	class MarketExpiredPopup extends main_core_events.EventEmitter {
	  constructor(options) {
	    super();
	    Object.defineProperty(this, _renderMarketList, {
	      value: _renderMarketList2
	    });
	    Object.defineProperty(this, _renderCloseIcon, {
	      value: _renderCloseIcon2
	    });
	    Object.defineProperty(this, _getContainer, {
	      value: _getContainer2
	    });
	    Object.defineProperty(this, _getContent, {
	      value: _getContent2
	    });
	    Object.defineProperty(this, _popup, {
	      writable: true,
	      value: null
	    });
	    Object.defineProperty(this, _container, {
	      writable: true,
	      value: null
	    });
	    Object.defineProperty(this, _appList, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _integrationList, {
	      writable: true,
	      value: void 0
	    });
	    Object.defineProperty(this, _analytic, {
	      writable: true,
	      value: void 0
	    });
	    this.setEventNamespace('Rest.MarketExpired:Popup');
	    this.expireDate = options.expireDate;
	    babelHelpers.classPrivateFieldLooseBase(this, _appList)[_appList] = options.appList;
	    babelHelpers.classPrivateFieldLooseBase(this, _integrationList)[_integrationList] = options.integrationList;
	    this.withDemo = options.withDemo;
	    this.olWidgetCode = options.olWidgetCode;
	    babelHelpers.classPrivateFieldLooseBase(this, _analytic)[_analytic] = options.analytic;
	    this.type = options.type;
	    this.expireDays = options.expireDays;
	    this.discountEar = options.discountEar;
	    this.marketLabel = options.isRenamedMarket ? '' : '_MARKET_PLUS';
	  }
	  getTitle() {
	    throw new Error('Not implemented');
	  }
	  getCategory() {
	    throw new Error('Not implemented');
	  }
	  show() {
	    var _babelHelpers$classPr, _babelHelpers$classPr2, _babelHelpers$classPr3, _babelHelpers$classPr4;
	    (_babelHelpers$classPr2 = (_babelHelpers$classPr = babelHelpers.classPrivateFieldLooseBase(this, _popup))[_popup]) != null ? _babelHelpers$classPr2 : _babelHelpers$classPr[_popup] = main_popup.PopupWindowManager.create(`marketExpiredPopup_${this.getCategory()}_${this.type}`, null, {
	      animation: {
	        showClassName: 'rest-market-expired-popup__show',
	        closeAnimationType: 'animation'
	      },
	      overlay: true,
	      content: babelHelpers.classPrivateFieldLooseBase(this, _getContent)[_getContent](),
	      disableScroll: true,
	      padding: 0,
	      className: 'rest-market-expired-popup-wrapper',
	      closeByEsc: true,
	      events: {
	        onClose: this.onClose.bind(this),
	        onShow: this.onOpen.bind(this)
	      }
	    });
	    const observerCallback = (entries, observer) => {
	      entries.forEach(entry => {
	        if (!entry.isIntersecting) {
	          babelHelpers.classPrivateFieldLooseBase(this, _popup)[_popup].setDisableScroll(false);
	          observer.unobserve(entry.target);
	        }
	      });
	    };
	    const observer = new IntersectionObserver(observerCallback, {
	      root: null,
	      rootMargin: '0px',
	      threshold: [0, 1]
	    });
	    observer.observe(babelHelpers.classPrivateFieldLooseBase(this, _popup)[_popup].getContentContainer().querySelector('.rest-market-expired-popup__close-icon'));
	    observer.observe(babelHelpers.classPrivateFieldLooseBase(this, _popup)[_popup].getContentContainer().querySelector('.rest-market-expired-popup__button-container'));
	    (_babelHelpers$classPr3 = babelHelpers.classPrivateFieldLooseBase(this, _popup)[_popup]) == null ? void 0 : _babelHelpers$classPr3.show();
	    (_babelHelpers$classPr4 = babelHelpers.classPrivateFieldLooseBase(this, _analytic)[_analytic]) == null ? void 0 : _babelHelpers$classPr4.sendShow();

	    // hack for blur
	    if (this.discountEar) {
	      if (babelHelpers.classPrivateFieldLooseBase(this, _popup)[_popup].getContentContainer().querySelector('.rest-market-expired-popup__content-wrapper').offsetHeight < window.innerHeight) {
	        main_core.Dom.style(babelHelpers.classPrivateFieldLooseBase(this, _getContainer)[_getContainer](), {
	          maxHeight: `${this.discountEar.getContainer().offsetHeight}px`
	        });
	      } else {
	        main_core.Dom.style(babelHelpers.classPrivateFieldLooseBase(this, _popup)[_popup].getContentContainer().parentNode, {
	          'backdrop-filter': 'none',
	          '-webkit-backdrop-filter': 'none'
	        });
	      }
	      babelHelpers.classPrivateFieldLooseBase(this, _popup)[_popup].adjustPosition();
	    }
	  }
	  close() {
	    babelHelpers.classPrivateFieldLooseBase(this, _popup)[_popup].close();
	  }
	  onClose() {
	    this.emit('onClose');
	  }
	  onOpen() {
	    this.emit('onOpen');
	  }
	  renderDescription() {
	    return null;
	  }
	  renderButtons() {
	    return null;
	  }
	  renderAboutLink() {
	    return '';
	  }
	  getAnalytic() {
	    return babelHelpers.classPrivateFieldLooseBase(this, _analytic)[_analytic];
	  }
	}
	function _getContent2() {
	  return main_core.Tag.render(_t$2 || (_t$2 = _$2`
			<div class="rest-market-expired-popup">
				${0}
			</div>
		`), babelHelpers.classPrivateFieldLooseBase(this, _getContainer)[_getContainer]());
	}
	function _getContainer2() {
	  var _babelHelpers$classPr5, _babelHelpers$classPr6, _this$discountEar;
	  (_babelHelpers$classPr6 = (_babelHelpers$classPr5 = babelHelpers.classPrivateFieldLooseBase(this, _container))[_container]) != null ? _babelHelpers$classPr6 : _babelHelpers$classPr5[_container] = main_core.Tag.render(_t2$2 || (_t2$2 = _$2`
			<div class="rest-market-expired-popup__container">
				${0}
				<div class="rest-market-expired-popup__content-wrapper">
					<div class="rest-market-expired-popup__content">
						<span class="rest-market-expired-popup__title">${0}</span>
						${0}
						${0}
						${0}
					</div>
					${0}
					${0}
				</div>
			</div>
		`), (_this$discountEar = this.discountEar) == null ? void 0 : _this$discountEar.getContainer(), this.getTitle(), this.renderDescription(), this.renderAboutLink(), this.renderButtons(), babelHelpers.classPrivateFieldLooseBase(this, _renderMarketList)[_renderMarketList](), babelHelpers.classPrivateFieldLooseBase(this, _renderCloseIcon)[_renderCloseIcon]());
	  return babelHelpers.classPrivateFieldLooseBase(this, _container)[_container];
	}
	function _renderCloseIcon2() {
	  const onClick = () => {
	    var _babelHelpers$classPr7;
	    babelHelpers.classPrivateFieldLooseBase(this, _popup)[_popup].close();
	    (_babelHelpers$classPr7 = babelHelpers.classPrivateFieldLooseBase(this, _analytic)[_analytic]) == null ? void 0 : _babelHelpers$classPr7.sendClickButton('cancel');
	  };
	  return main_core.Tag.render(_t3$1 || (_t3$1 = _$2`
			<div class="rest-market-expired-popup__close-icon ui-icon-set --cross-30" onclick="${0}"></div>
		`), onClick);
	}
	function _renderMarketList2() {
	  var _babelHelpers$classPr8, _babelHelpers$classPr9;
	  return main_core.Tag.render(_t4 || (_t4 = _$2`
			<aside class="rest-market-expired-popup__aside">
				${0}
				${0}
			</aside>
		`), (_babelHelpers$classPr8 = babelHelpers.classPrivateFieldLooseBase(this, _appList)[_appList]) == null ? void 0 : _babelHelpers$classPr8.render(), (_babelHelpers$classPr9 = babelHelpers.classPrivateFieldLooseBase(this, _integrationList)[_integrationList]) == null ? void 0 : _babelHelpers$classPr9.render());
	}

	class MarketPopupButton extends main_core_events.EventEmitter {
	  constructor(options) {
	    super();
	    this.setEventNamespace('BX.Rest.MarketExpired.Button');
	    this.text = options.text;
	    this.onSuccess = options.onSuccess;
	  }
	  render() {
	    return this.getButton().render();
	  }
	  getButtonConfig() {
	    return {};
	  }
	  onClick() {
	    var _this$onSuccess;
	    (_this$onSuccess = this.onSuccess) == null ? void 0 : _this$onSuccess.call(this);
	  }
	  getButton() {
	    var _this$button;
	    (_this$button = this.button) != null ? _this$button : this.button = new ui_buttons.Button({
	      ...this.getButtonConfig(),
	      className: 'rest-market-expired-popup__button',
	      text: this.text,
	      onclick: this.onClick.bind(this)
	    });
	    return this.button;
	  }
	}

	var _getSubscribeLink = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getSubscribeLink");
	class SubscribeButton extends MarketPopupButton {
	  constructor(...args) {
	    super(...args);
	    Object.defineProperty(this, _getSubscribeLink, {
	      value: _getSubscribeLink2
	    });
	  }
	  getButtonConfig() {
	    return {
	      id: 'marketExpiredPopup_button_subscribe',
	      size: ui_buttons.Button.Size.MEDIUM,
	      color: ui_buttons.Button.Color.SUCCESS,
	      noCaps: true,
	      round: true,
	      tag: ui_buttons.Button.Tag.LINK,
	      link: babelHelpers.classPrivateFieldLooseBase(this, _getSubscribeLink)[_getSubscribeLink]()
	    };
	  }
	  onClick() {
	    var _this$analytic;
	    (_this$analytic = this.analytic) == null ? void 0 : _this$analytic.sendClickButton('buy');
	    super.onClick();
	  }
	}
	function _getSubscribeLink2() {
	  var _Extension$getSetting, _Extension$getSetting2;
	  return (_Extension$getSetting = (_Extension$getSetting2 = main_core.Extension.getSettings('rest.market-expired')) == null ? void 0 : _Extension$getSetting2.marketSubscriptionUrl) != null ? _Extension$getSetting : '';
	}

	class HideButton extends MarketPopupButton {
	  getButtonConfig() {
	    return {
	      id: 'marketExpiredPopup_button_hide',
	      size: ui_buttons.Button.Size.EXTRA_SMALL,
	      color: ui_buttons.Button.Color.LINK,
	      noCaps: true
	    };
	  }
	  onClick() {
	    var _this$analytic;
	    (_this$analytic = this.analytic) == null ? void 0 : _this$analytic.sendClickButton('ok');
	    super.onClick();
	  }
	}

	let _$3 = t => t,
	  _t$3,
	  _t2$3,
	  _t3$2;
	var _getSubscribeButton = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getSubscribeButton");
	var _getHideButton = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getHideButton");
	class MarketTrialPopup extends MarketExpiredPopup {
	  constructor(...args) {
	    super(...args);
	    Object.defineProperty(this, _getHideButton, {
	      value: _getHideButton2
	    });
	    Object.defineProperty(this, _getSubscribeButton, {
	      value: _getSubscribeButton2
	    });
	  }
	  getCategory() {
	    return PopupCategory.TRIAL;
	  }
	  renderDescription() {
	    return main_core.Tag.render(_t$3 || (_t$3 = _$3`
			<div class="rest-market-expired-popup__description">
				<p class="rest-market-expired-popup__description-text">
					${0}
				</p>
			</div>
		`), main_core.Loc.getMessage(`REST_MARKET_EXPIRED_POPUP_DESCRIPTION_TRIAL${this.marketLabel}`));
	  }
	  getTitle() {
	    return main_core.Loc.getMessage(`REST_MARKET_EXPIRED_POPUP_TITLE_TRIAL_${this.type}${this.marketLabel}`, {
	      '#DAYS#': this.expireDays
	    });
	  }
	  renderButtons() {
	    return main_core.Tag.render(_t2$3 || (_t2$3 = _$3`
			<div class="rest-market-expired-popup__buttons-wrapper">
				<div class="rest-market-expired-popup__button-container">
					${0}
					${0}
				</div>
			</div>
		`), babelHelpers.classPrivateFieldLooseBase(this, _getSubscribeButton)[_getSubscribeButton]().render(), babelHelpers.classPrivateFieldLooseBase(this, _getHideButton)[_getHideButton]().render());
	  }
	  onOpen() {
	    if (this.type === PopupType.FINAL) {
	      BX.userOptions.save('rest', 'marketSubscriptionPopupDismiss', null, 'Y');
	    } else {
	      BX.userOptions.save('rest', 'marketSubscriptionPopupTs', null, Math.floor(Date.now() / 1000));
	    }
	    super.onOpen();
	  }
	  renderAboutLink() {
	    const onclick = () => {
	      var _this$getAnalytic;
	      BX.Helper.show('redirect=detail&code=17451118');
	      (_this$getAnalytic = this.getAnalytic()) == null ? void 0 : _this$getAnalytic.sendClickButton('details');
	    };
	    return main_core.Tag.render(_t3$2 || (_t3$2 = _$3`
			<span class="rest-market-expired-popup__details">
				<a
					class="ui-link rest-market-expired-popup__link"
					href="#"
					onclick="${0}"
				>
					${0}
				</a>
			</span>
		`), onclick, main_core.Loc.getMessage('REST_MARKET_EXPIRED_POPUP_DETAILS'));
	  }
	}
	function _getSubscribeButton2() {
	  return new SubscribeButton({
	    text: main_core.Loc.getMessage('REST_MARKET_EXPIRED_POPUP_BUTTON_SUBSCRIBE'),
	    analytic: this.getAnalytic()
	  });
	}
	function _getHideButton2() {
	  return new HideButton({
	    text: main_core.Loc.getMessage('REST_MARKET_EXPIRED_POPUP_BUTTON_NEVER_SHOW_AGAIN'),
	    onSuccess: () => {
	      BX.userOptions.save('rest', 'marketSubscriptionPopupDismiss', null, 'Y');
	      this.close();
	    },
	    analytic: this.getAnalytic()
	  });
	}

	let _$4 = t => t,
	  _t$4,
	  _t2$4,
	  _t3$3;
	var _getSubscribeButton$1 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getSubscribeButton");
	var _getHideButton$1 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getHideButton");
	class MarketSubscriptionPopup extends MarketExpiredPopup {
	  constructor(...args) {
	    super(...args);
	    Object.defineProperty(this, _getHideButton$1, {
	      value: _getHideButton2$1
	    });
	    Object.defineProperty(this, _getSubscribeButton$1, {
	      value: _getSubscribeButton2$1
	    });
	  }
	  getCategory() {
	    return PopupCategory.SUBSCRIPTION;
	  }
	  getTitle() {
	    const replacements = {
	      '#DAYS#': this.expireDays
	    };
	    const marketLabel = this.type === PopupType.WARNING ? this.marketLabel : '';
	    return main_core.Loc.getMessage(`REST_MARKET_EXPIRED_POPUP_TITLE_SUBSCRIPTION_${this.type}${marketLabel}`, replacements);
	  }
	  renderDescription() {
	    const replacements = {
	      '#DATE#': this.expireDate
	    };
	    const marketLabel = this.type === PopupType.FINAL ? this.marketLabel : '';
	    return main_core.Tag.render(_t$4 || (_t$4 = _$4`
			<div class="rest-market-expired-popup__description">
				<p class="rest-market-expired-popup__description-text">
					${0}
				</p>
			</div>
		`), main_core.Loc.getMessage(`REST_MARKET_EXPIRED_POPUP_DESCRIPTION_SUBSCRIPTION_${this.type}${marketLabel}`, replacements));
	  }
	  renderButtons() {
	    return main_core.Tag.render(_t2$4 || (_t2$4 = _$4`
			<div class="rest-market-expired-popup__buttons-wrapper">
				<div class="rest-market-expired-popup__button-container">
					${0}
					${0}
				</div>
			</div>
		`), babelHelpers.classPrivateFieldLooseBase(this, _getSubscribeButton$1)[_getSubscribeButton$1]().render(), babelHelpers.classPrivateFieldLooseBase(this, _getHideButton$1)[_getHideButton$1]().render());
	  }
	  onOpen() {
	    if (this.type === PopupType.FINAL) {
	      BX.userOptions.save('rest', 'marketSubscriptionPopupDismiss', null, 'Y');
	    } else {
	      BX.userOptions.save('rest', 'marketSubscriptionPopupTs', null, Math.floor(Date.now() / 1000));
	    }
	    super.onOpen();
	  }
	  renderAboutLink() {
	    const onclick = () => {
	      var _this$getAnalytic;
	      BX.Helper.show('redirect=detail&code=17451118');
	      (_this$getAnalytic = this.getAnalytic()) == null ? void 0 : _this$getAnalytic.sendClickButton('details');
	    };
	    return main_core.Tag.render(_t3$3 || (_t3$3 = _$4`
			<span class="rest-market-expired-popup__details">
				<a
					class="ui-link rest-market-expired-popup__link"
					href="#"
					onclick="${0}"
				>
					${0}
				</a>
			</span>
		`), onclick, main_core.Loc.getMessage('REST_MARKET_EXPIRED_POPUP_DETAILS'));
	  }
	}
	function _getSubscribeButton2$1() {
	  return new SubscribeButton({
	    text: main_core.Loc.getMessage('REST_MARKET_EXPIRED_POPUP_BUTTON_RENEW_SUBSCRIPTION'),
	    analytic: this.getAnalytic()
	  });
	}
	function _getHideButton2$1() {
	  return new HideButton({
	    text: main_core.Loc.getMessage('REST_MARKET_EXPIRED_POPUP_BUTTON_NEVER_SHOW_AGAIN'),
	    onSuccess: () => {
	      BX.userOptions.save('rest', 'marketSubscriptionPopupDismiss', null, 'Y');
	      this.close();
	    },
	    analytic: this.getAnalytic()
	  });
	}

	let _$5 = t => t,
	  _t$5,
	  _t2$5,
	  _t3$4;
	var _renderDiscountPercent = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("renderDiscountPercent");
	var _renderTermsOfPromotion = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("renderTermsOfPromotion");
	class DiscountEarSubscription extends DiscountEar {
	  constructor(props) {
	    var _props$discountPercen, _props$termsUrl, _props$marketLabel;
	    super(props);
	    Object.defineProperty(this, _renderTermsOfPromotion, {
	      value: _renderTermsOfPromotion2
	    });
	    Object.defineProperty(this, _renderDiscountPercent, {
	      value: _renderDiscountPercent2
	    });
	    this.discountPercentage = (_props$discountPercen = props == null ? void 0 : props.discountPercentage) != null ? _props$discountPercen : null;
	    this.termsUrl = (_props$termsUrl = props == null ? void 0 : props.termsUrl) != null ? _props$termsUrl : null;
	    this.marketLabel = (_props$marketLabel = props == null ? void 0 : props.marketLabel) != null ? _props$marketLabel : '';
	  }
	  getContainer() {
	    var _this$container;
	    (_this$container = this.container) != null ? _this$container : this.container = main_core.Tag.render(_t$5 || (_t$5 = _$5`
			<aside class="rest-market-expired-popup__discount rest-market-expired-popup__discount--subscription">
				${0}
				<p class="rest-market-expired-popup__discount-description">
					${0}
				</p>
				${0}
			</aside>
		`), babelHelpers.classPrivateFieldLooseBase(this, _renderDiscountPercent)[_renderDiscountPercent](), main_core.Loc.getMessage(`REST_MARKET_EXPIRED_POPUP_DISCOUNT_SUBSCRIPTION_DESCRIPTION${this.marketLabel}`), babelHelpers.classPrivateFieldLooseBase(this, _renderTermsOfPromotion)[_renderTermsOfPromotion]());
	    return this.container;
	  }
	}
	function _renderDiscountPercent2() {
	  if (this.discountPercentage) {
	    return main_core.Tag.render(_t2$5 || (_t2$5 = _$5`
				<p class="rest-market-expired-popup__discount-percentage">
					- ${0}%
				</p>
			`), this.discountPercentage);
	  }
	  return '';
	}
	function _renderTermsOfPromotion2() {
	  if (this.termsUrl) {
	    return main_core.Tag.render(_t3$4 || (_t3$4 = _$5`
				<a href="${0}" target="_blank" class="ui-link rest-market-expired-popup__discount-terms">
					${0}
				</a>
			`), this.termsUrl, main_core.Loc.getMessage('REST_MARKET_EXPIRED_POPUP_TERMS_OF_PROMOTION'));
	  }
	  return '';
	}

	let _$6 = t => t,
	  _t$6;
	class DiscountEarTransition extends DiscountEar {
	  getContainer() {
	    var _this$container;
	    (_this$container = this.container) != null ? _this$container : this.container = main_core.Tag.render(_t$6 || (_t$6 = _$6`
			<aside class="rest-market-expired-popup__discount">
				<p class="rest-market-expired-popup__discount-description">
					${0}
				</p>
			</aside>
		`), main_core.Loc.getMessage('REST_MARKET_EXPIRED_POPUP_DISCOUNT_DESCRIPTION', {
	      '[white-span]': '<span class="rest-market-expired-popup__discount-description-white">',
	      '[/white-span]': '</span>'
	    }));
	    return this.container;
	  }
	}

	class TrialButton extends MarketPopupButton {
	  getButtonConfig() {
	    return {
	      id: 'marketExpiredPopup_button_demo',
	      size: ui_buttons.Button.Size.MEDIUM,
	      color: ui_buttons.Button.Color.LIGHT_BORDER,
	      noCaps: true,
	      round: true
	    };
	  }
	  onClick() {
	    var _this$analytic;
	    this.getButton().unbindEvent('click');
	    this.getButton().setState(ui_buttons.Button.State.WAITING);
	    (_this$analytic = this.analytic) == null ? void 0 : _this$analytic.sendClickButton('demo');
	    main_core.ajax({
	      url: '/bitrix/tools/rest.php',
	      method: 'POST',
	      dataType: 'json',
	      data: {
	        sessid: BX.bitrix_sessid(),
	        action: 'activate_demo'
	      },
	      onsuccess: result => {
	        this.onSuccess();
	        if (result.error) {
	          ui_notification.UI.Notification.Center.notify({
	            content: result.error,
	            category: 'demo_subscribe_error',
	            position: 'top-right'
	          });
	        } else {
	          var _this$analytic2;
	          (_this$analytic2 = this.analytic) == null ? void 0 : _this$analytic2.sendDemoActivated();
	          ui_infoHelper.FeaturePromotersRegistry.getPromoter({
	            code: 'limit_market_trial_active'
	          }).show();
	        }
	      }
	    });
	  }
	}

	let _$7 = t => t,
	  _t$7,
	  _t2$6,
	  _t3$5,
	  _t4$1,
	  _t5,
	  _t6,
	  _t7;
	var _getDemoButton = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getDemoButton");
	var _getSubscribeButton$2 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getSubscribeButton");
	var _getHideButton$2 = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getHideButton");
	var _renderButtonsForWarning = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("renderButtonsForWarning");
	var _renderButtonsForFinal = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("renderButtonsForFinal");
	var _getFeatureCode = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getFeatureCode");
	var _showOpenLinesWidget = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("showOpenLinesWidget");
	class MarketTransitionPopup extends MarketExpiredPopup {
	  constructor(...args) {
	    super(...args);
	    Object.defineProperty(this, _showOpenLinesWidget, {
	      value: _showOpenLinesWidget2
	    });
	    Object.defineProperty(this, _getFeatureCode, {
	      value: _getFeatureCode2
	    });
	    Object.defineProperty(this, _renderButtonsForFinal, {
	      value: _renderButtonsForFinal2
	    });
	    Object.defineProperty(this, _renderButtonsForWarning, {
	      value: _renderButtonsForWarning2
	    });
	    Object.defineProperty(this, _getHideButton$2, {
	      value: _getHideButton2$2
	    });
	    Object.defineProperty(this, _getSubscribeButton$2, {
	      value: _getSubscribeButton2$2
	    });
	    Object.defineProperty(this, _getDemoButton, {
	      value: _getDemoButton2
	    });
	  }
	  getCategory() {
	    return PopupCategory.TRANSITION;
	  }
	  getTitle() {
	    return main_core.Loc.getMessage(`REST_MARKET_EXPIRED_POPUP_TITLE_${this.type}`);
	  }
	  renderDescription() {
	    const descriptionContainer = main_core.Tag.render(_t$7 || (_t$7 = _$7`
			<div class="rest-market-expired-popup__description">
				<p class="rest-market-expired-popup__description-text">
					${0}
				</p>
				<p class="rest-market-expired-popup__description-text">
					${0}
				</p>
				<p class="rest-market-expired-popup__description-text">
					${0}
				</p>
			</div>
		`), main_core.Loc.getMessage('REST_MARKET_EXPIRED_POPUP_DESCRIPTION_1'), main_core.Loc.getMessage('REST_MARKET_EXPIRED_POPUP_DESCRIPTION_2'), main_core.Loc.getMessage('REST_MARKET_EXPIRED_POPUP_DESCRIPTION_3'));
	    if (this.type === 'FINAL') {
	      main_core.Dom.append(main_core.Tag.render(_t2$6 || (_t2$6 = _$7`
					<p class="rest-market-expired-popup__description-text">
						${0}
					</p>
				`), main_core.Loc.getMessage(`REST_MARKET_EXPIRED_POPUP_DESCRIPTION_FINAL${this.marketLabel}`)), descriptionContainer);
	    }
	    main_core.Dom.append(main_core.Tag.render(_t3$5 || (_t3$5 = _$7`
				<p class="rest-market-expired-popup__description-text">
					${0}
				</p>
			`), main_core.Loc.getMessage(`REST_MARKET_EXPIRED_POPUP_${this.type}_DESCRIPTION${this.withDemo ? '_DEMO' : ''}`, {
	      '#DATE#': this.expireDate
	    })), descriptionContainer);
	    return descriptionContainer;
	  }
	  renderButtons() {
	    if (this.type === PopupType.WARNING) {
	      return babelHelpers.classPrivateFieldLooseBase(this, _renderButtonsForWarning)[_renderButtonsForWarning]();
	    }
	    return babelHelpers.classPrivateFieldLooseBase(this, _renderButtonsForFinal)[_renderButtonsForFinal]();
	  }
	  show() {
	    super.show();
	    if (main_core.Type.isStringFilled(this.olWidgetCode) && (!this.withDemo || this.type === 'FINAL')) {
	      babelHelpers.classPrivateFieldLooseBase(this, _showOpenLinesWidget)[_showOpenLinesWidget](window, document, `https://bitrix24.team/upload/crm/site_button/loader_${this.olWidgetCode}.js`);
	    }
	  }
	  onClose() {
	    var _BX$SiteButton;
	    (_BX$SiteButton = BX.SiteButton) == null ? void 0 : _BX$SiteButton.hide();
	    BX.userOptions.save('rest', 'marketTransitionPopupTs', null, Math.floor(Date.now() / 1000));
	    super.onClose();
	  }
	  renderAboutLink() {
	    const onclick = () => {
	      var _this$getAnalytic;
	      (_this$getAnalytic = this.getAnalytic()) == null ? void 0 : _this$getAnalytic.sendClickButton('details');
	    };
	    return main_core.Tag.render(_t4$1 || (_t4$1 = _$7`
			<span class="rest-market-expired-popup__details">
				<a
					class="ui-link rest-market-expired-popup__link"
					href="FEATURE_PROMOTER=${0}"
					onclick="${0}"
				>
					${0}
				</a>
			</span>
		`), babelHelpers.classPrivateFieldLooseBase(this, _getFeatureCode)[_getFeatureCode](), onclick, main_core.Loc.getMessage('REST_MARKET_EXPIRED_POPUP_DETAILS'));
	  }
	}
	function _getDemoButton2() {
	  return new TrialButton({
	    text: main_core.Loc.getMessage('REST_MARKET_EXPIRED_POPUP_BUTTON_DEMO'),
	    onSuccess: this.close.bind(this),
	    analytic: this.getAnalytic()
	  });
	}
	function _getSubscribeButton2$2() {
	  return new SubscribeButton({
	    text: main_core.Loc.getMessage('REST_MARKET_EXPIRED_POPUP_BUTTON_SUBSCRIBE'),
	    analytic: this.getAnalytic()
	  });
	}
	function _getHideButton2$2() {
	  return new HideButton({
	    text: main_core.Loc.getMessage('REST_MARKET_EXPIRED_POPUP_BUTTON_HIDE'),
	    onSuccess: () => {
	      BX.userOptions.save('rest', 'marketTransitionPopupDismiss', null, 'Y');
	      this.close();
	    },
	    analytic: this.getAnalytic()
	  });
	}
	function _renderButtonsForWarning2() {
	  return main_core.Tag.render(_t5 || (_t5 = _$7`
			<div class="rest-market-expired-popup__buttons-wrapper">
				<div class="rest-market-expired-popup__button-container">
					${0}
					${0}
				</div>
			</div>
		`), babelHelpers.classPrivateFieldLooseBase(this, _getSubscribeButton$2)[_getSubscribeButton$2]().render(), this.withDemo ? babelHelpers.classPrivateFieldLooseBase(this, _getDemoButton)[_getDemoButton]().render() : '');
	}
	function _renderButtonsForFinal2() {
	  if (this.withDemo) {
	    return main_core.Tag.render(_t6 || (_t6 = _$7`
				<div class="rest-market-expired-popup__buttons-wrapper">
					${0}
					<div class="rest-market-expired-popup__button-container">
						${0}
						${0}
					</div>
				</div>
			`), babelHelpers.classPrivateFieldLooseBase(this, _getSubscribeButton$2)[_getSubscribeButton$2]().render(), babelHelpers.classPrivateFieldLooseBase(this, _getDemoButton)[_getDemoButton]().render(), babelHelpers.classPrivateFieldLooseBase(this, _getHideButton$2)[_getHideButton$2]().render());
	  }
	  return main_core.Tag.render(_t7 || (_t7 = _$7`
			<div class="rest-market-expired-popup__buttons-wrapper">
				<div class="rest-market-expired-popup__button-container">
					${0}
					${0}
				</div>
			</div>
		`), babelHelpers.classPrivateFieldLooseBase(this, _getSubscribeButton$2)[_getSubscribeButton$2]().render(), babelHelpers.classPrivateFieldLooseBase(this, _getHideButton$2)[_getHideButton$2]().render());
	}
	function _getFeatureCode2() {
	  return `
			limit_v2_nosubscription_marketplace_withapplications
			${this.withDiscount ? '' : '_nodiscount'}
			_off
			${this.withDemo ? '' : '_no_demo'}
		`;
	}
	function _showOpenLinesWidget2(w, d, u) {
	  // eslint-disable-next-line unicorn/prefer-math-trunc
	  const s = d.createElement('script');
	  s.async = true;
	  s.src = `${u}?${Date.now() / 60000 | 0}`;
	  // eslint-disable-next-line @bitrix24/bitrix24-rules/no-native-dom-methods
	  const h = d.getElementsByTagName('script')[0];
	  h.parentNode.insertBefore(s, h);
	}

	var _getPopupClass = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getPopupClass");
	var _getAnalytic = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getAnalytic");
	var _getListItemCount = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getListItemCount");
	var _getDiscountEar = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getDiscountEar");
	var _getMarketList = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getMarketList");
	class PopupFactory {
	  constructor(config) {
	    Object.defineProperty(this, _getMarketList, {
	      value: _getMarketList2
	    });
	    Object.defineProperty(this, _getDiscountEar, {
	      value: _getDiscountEar2
	    });
	    Object.defineProperty(this, _getListItemCount, {
	      value: _getListItemCount2
	    });
	    Object.defineProperty(this, _getAnalytic, {
	      value: _getAnalytic2
	    });
	    Object.defineProperty(this, _getPopupClass, {
	      value: _getPopupClass2
	    });
	    this.config = config;
	  }
	  async createPopup() {
	    let popup = null;
	    const analytic = babelHelpers.classPrivateFieldLooseBase(this, _getAnalytic)[_getAnalytic]();
	    const listItemCount = babelHelpers.classPrivateFieldLooseBase(this, _getListItemCount)[_getListItemCount]();
	    const {
	      appList,
	      integrationList
	    } = await babelHelpers.classPrivateFieldLooseBase(this, _getMarketList)[_getMarketList](listItemCount, analytic);
	    if (appList || integrationList) {
	      const discountEar = babelHelpers.classPrivateFieldLooseBase(this, _getDiscountEar)[_getDiscountEar]();
	      const PopupClass = babelHelpers.classPrivateFieldLooseBase(this, _getPopupClass)[_getPopupClass]();
	      popup = new PopupClass({
	        appList,
	        integrationList,
	        analytic,
	        discountEar,
	        expireDate: this.config.expireDate,
	        marketSubscriptionUrl: this.config.marketSubscriptionUrl,
	        withDemo: this.config.withDemo,
	        olWidgetCode: this.config.olWidgetCode,
	        type: this.config.type,
	        expireDays: this.config.expireDays
	      });
	    }
	    return popup;
	  }
	}
	function _getPopupClass2() {
	  switch (this.config.category) {
	    case PopupCategory.TRIAL:
	      return MarketTrialPopup;
	    case PopupCategory.SUBSCRIPTION:
	      return MarketSubscriptionPopup;
	    case PopupCategory.TRANSITION:
	    default:
	      return MarketTransitionPopup;
	  }
	}
	function _getAnalytic2() {
	  var _this$config$discount, _this$config$discount2;
	  return new Analytic({
	    withDiscount: (_this$config$discount = (_this$config$discount2 = this.config.discount) == null ? void 0 : _this$config$discount2.isAvailable) != null ? _this$config$discount : false,
	    popupType: this.config.type,
	    popupCategory: this.config.category
	  });
	}
	function _getListItemCount2() {
	  switch (this.config.category) {
	    case PopupCategory.TRIAL:
	    case PopupCategory.SUBSCRIPTION:
	      return 2;
	    case PopupCategory.TRANSITION:
	    default:
	      return 3;
	  }
	}
	function _getDiscountEar2() {
	  const discountConfig = this.config.discount;
	  if (!(discountConfig != null && discountConfig.isAvailable)) {
	    return null;
	  }
	  switch (this.config.category) {
	    case PopupCategory.TRIAL:
	    case PopupCategory.SUBSCRIPTION:
	      return new DiscountEarSubscription({
	        discountPercentage: discountConfig.percentage,
	        termsUrl: discountConfig.termsUrl,
	        marketLabel: this.config.isRenamedMarket ? '' : '_MARKET_PLUS'
	      });
	    case PopupCategory.TRANSITION:
	    default:
	      return new DiscountEarTransition();
	  }
	}
	async function _getMarketList2(limit, analytic) {
	  const getMarketListFromResponse = (response, moreLink, title, onClick) => {
	    if (!response || !response.data) {
	      return null;
	    }
	    const {
	      items,
	      count
	    } = response.data;
	    const marketList = [];
	    if (items.length === 0 || count < 1) {
	      return null;
	    }
	    Object.values(items).forEach(item => {
	      marketList.push(new MarketItem({
	        name: item.name,
	        icon: item.icon
	      }));
	    });
	    return new MarketList({
	      title,
	      count,
	      items: marketList,
	      link: moreLink,
	      onClick
	    });
	  };
	  let appList = null;
	  let integrationList = null;
	  await Promise.all([main_core.ajax.runAction('rest.integration.getApplicationList', {
	    data: {
	      limit
	    }
	  }), main_core.ajax.runAction('rest.integration.getIntegrationList', {
	    data: {
	      limit
	    }
	  })]).then(([appsResponse, integrationsResponse]) => {
	    appList = getMarketListFromResponse(appsResponse, '/market/installed/', main_core.Loc.getMessage('REST_MARKET_EXPIRED_POPUP_MARKET_LIST_TITLE_APPS'), () => {
	      analytic.sendClickButton('view_all_apps');
	    });
	    integrationList = getMarketListFromResponse(integrationsResponse, '/devops/list/', main_core.Loc.getMessage('REST_MARKET_EXPIRED_POPUP_MARKET_LIST_TITLE_INTEGRATIONS'), () => {
	      analytic.sendClickButton('view_all_integrations');
	    });
	  }).catch(error => {
	    console.log(error);
	  });
	  return {
	    appList,
	    integrationList
	  };
	}

	class CurtainPage {}
	CurtainPage.INTEGRATION = 'Integration';
	CurtainPage.APPLICATION = 'Application';
	CurtainPage.ANY_PAGE = 'AnyPage';

	let _$8 = t => t,
	  _t$8;
	var _panel = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("panel");
	var _getPanel = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getPanel");
	var _sendAnalytics = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("sendAnalytics");
	class MarketExpiredCurtain {
	  constructor(options) {
	    Object.defineProperty(this, _sendAnalytics, {
	      value: _sendAnalytics2
	    });
	    Object.defineProperty(this, _getPanel, {
	      value: _getPanel2
	    });
	    Object.defineProperty(this, _panel, {
	      writable: true,
	      value: null
	    });
	    this.options = options;
	  }
	  show() {
	    ui_bannerDispatcher.BannerDispatcher.critical.toQueue(onDone => {
	      const panel = babelHelpers.classPrivateFieldLooseBase(this, _getPanel)[_getPanel](onDone);
	      panel.show();
	      babelHelpers.classPrivateFieldLooseBase(this, _sendAnalytics)[_sendAnalytics]('show_notification_panel');
	    });
	  }
	  getRightButtons() {
	    return [];
	  }
	  getContent() {
	    throw new Error('Not Implemented');
	  }
	  onRightButtonClick() {
	    babelHelpers.classPrivateFieldLooseBase(this, _getPanel)[_getPanel]().hide();
	    babelHelpers.classPrivateFieldLooseBase(this, _sendAnalytics)[_sendAnalytics]('click_button');
	  }
	  onHide() {}
	}
	function _getPanel2(onDone) {
	  var _babelHelpers$classPr, _babelHelpers$classPr2;
	  (_babelHelpers$classPr2 = (_babelHelpers$classPr = babelHelpers.classPrivateFieldLooseBase(this, _panel))[_panel]) != null ? _babelHelpers$classPr2 : _babelHelpers$classPr[_panel] = new ui_notificationPanel.NotificationPanel({
	    content: main_core.Tag.render(_t$8 || (_t$8 = _$8`
				<span class="rest-market-expired-curtain">${0}</span>
			`), this.getContent()),
	    backgroundColor: '#E89B06',
	    crossColor: '#FFFFFF',
	    leftIcon: new ui_iconSet_api_core.Icon({
	      icon: ui_iconSet_api_core.Main.MARKET_1,
	      color: '#FFFFFF'
	    }),
	    rightButtons: this.getRightButtons(),
	    events: {
	      onHide: () => {
	        onDone();
	        this.onHide();
	      }
	    },
	    zIndex: 1001
	  });
	  return babelHelpers.classPrivateFieldLooseBase(this, _panel)[_panel];
	}
	function _sendAnalytics2(event) {
	  const params = {
	    tool: 'infohelper',
	    category: 'market',
	    event,
	    type: 'notification_panel'
	  };
	  ui_analytics.sendData(params);
	}

	class MarketTrialCurtain extends MarketExpiredCurtain {
	  getRightButtons() {
	    return [new ui_buttons.Button({
	      text: main_core.Loc.getMessage('REST_MARKET_EXPIRED_POPUP_BUTTON_SUBSCRIBE'),
	      size: ui_buttons.Button.Size.EXTRA_SMALL,
	      color: ui_buttons.Button.Color.CURTAIN_WARNING,
	      tag: ui_buttons.Button.Tag.LINK,
	      noCaps: true,
	      round: true,
	      props: {
	        href: this.options.marketSubscriptionUrl
	      },
	      onclick: () => super.onRightButtonClick.bind(this)
	    })];
	  }
	  getContent() {
	    return this.options.type === PopupType.FINAL ? main_core.Loc.getMessage(`REST_MARKET_EXPIRED_CURTAIN_TRIAL_FINAL_TEXT${this.marketLabel}`) : main_core.Loc.getMessage(`REST_MARKET_EXPIRED_CURTAIN_TRIAL_WARNING_TEXT${this.marketLabel}`, {
	      '#DAYS#': this.options.expireDays
	    });
	  }
	  onHide() {
	    if (this.options.type === PopupType.FINAL) {
	      BX.userOptions.save('rest', `marketSubscriptionCurtain${this.options.curtainPage}Dismiss`, null, 'Y');
	    } else {
	      BX.userOptions.save('rest', `marketSubscriptionCurtain${this.options.curtainPage}Ts`, null, Math.floor(Date.now() / 1000));
	    }
	  }
	}

	class MarketSubscriptionCurtain extends MarketExpiredCurtain {
	  getRightButtons() {
	    return [new ui_buttons.Button({
	      text: main_core.Loc.getMessage('REST_MARKET_EXPIRED_POPUP_BUTTON_RENEW_SUBSCRIPTION'),
	      size: ui_buttons.Button.Size.EXTRA_SMALL,
	      color: ui_buttons.Button.Color.CURTAIN_WARNING,
	      tag: ui_buttons.Button.Tag.LINK,
	      noCaps: true,
	      round: true,
	      props: {
	        href: this.options.marketSubscriptionUrl
	      },
	      onclick: () => super.onRightButtonClick.bind(this)
	    })];
	  }
	  getContent() {
	    return this.options.type === PopupType.FINAL ? main_core.Loc.getMessage(`REST_MARKET_EXPIRED_CURTAIN_SUBSCRIPTION_FINAL_TEXT${this.marketLabel}`) : main_core.Loc.getMessage(`REST_MARKET_EXPIRED_CURTAIN_SUBSCRIPTION_WARNING_TEXT${this.marketLabel}`, {
	      '#DAYS#': this.options.expireDays
	    });
	  }
	  onHide() {
	    if (this.options.type === PopupType.FINAL) {
	      BX.userOptions.save('rest', `marketSubscriptionCurtain${this.options.curtainPage}Dismiss`, null, 'Y');
	    } else {
	      BX.userOptions.save('rest', `marketSubscriptionCurtain${this.options.curtainPage}Ts`, null, Math.floor(Date.now() / 1000));
	    }
	  }
	}

	class MarketTransitionCurtain extends MarketExpiredCurtain {
	  getRightButtons() {
	    return [new ui_buttons.Button({
	      text: main_core.Loc.getMessage('REST_MARKET_EXPIRED_CURTAIN_TRANSITION_BUTTON'),
	      size: ui_buttons.Button.Size.EXTRA_SMALL,
	      color: ui_buttons.Button.Color.CURTAIN_WARNING,
	      tag: ui_buttons.Button.Tag.LINK,
	      noCaps: true,
	      round: true,
	      props: {
	        href: 'FEATURE_PROMOTER=limit_v2_nosubscription_marketplace_withapplications_off'
	      },
	      onclick: () => super.onRightButtonClick.bind(this)
	    })];
	  }
	  getContent() {
	    return main_core.Loc.getMessage('REST_MARKET_EXPIRED_CURTAIN_TRANSITION_TEXT');
	  }
	  onHide() {
	    BX.userOptions.save('rest', `marketTransitionCurtain${this.options.curtainPage}Ts`, null, Math.floor(Date.now() / 1000));
	  }
	}

	var _getCurtainClass = /*#__PURE__*/babelHelpers.classPrivateFieldLooseKey("getCurtainClass");
	class CurtainFactory {
	  constructor(config) {
	    Object.defineProperty(this, _getCurtainClass, {
	      value: _getCurtainClass2
	    });
	    this.config = config;
	  }
	  createCurtain(curtainPage) {
	    const CurtainClass = babelHelpers.classPrivateFieldLooseBase(this, _getCurtainClass)[_getCurtainClass]();
	    return new CurtainClass({
	      marketSubscriptionUrl: this.config.marketSubscriptionUrl,
	      type: this.config.type,
	      expireDays: this.config.expireDays,
	      curtainPage
	    });
	  }
	}
	function _getCurtainClass2() {
	  switch (this.config.category) {
	    case PopupCategory.TRIAL:
	      return MarketTrialCurtain;
	    case PopupCategory.SUBSCRIPTION:
	      return MarketSubscriptionCurtain;
	    case PopupCategory.TRANSITION:
	    default:
	      return MarketTransitionCurtain;
	  }
	}

	class MarketExpired {
	  constructor(config) {
	    this.config = config;
	  }
	  static async getPopup(config = null) {
	    const popupConfig = config != null ? config : main_core.Extension.getSettings('rest.market-expired');
	    const manager = new PopupFactory(popupConfig);
	    return manager.createPopup();
	  }
	  static getCurtain(curtainPage, config = null) {
	    const curtainConfig = config != null ? config : main_core.Extension.getSettings('rest.market-expired');
	    const manager = new CurtainFactory(curtainConfig);
	    return manager.createCurtain(curtainPage);
	  }
	}

	exports.CurtainPage = CurtainPage;
	exports.MarketExpired = MarketExpired;

}((this.BX.Rest = this.BX.Rest || {}),BX.Main,BX,BX.Event,BX,BX.UI,BX.UI,BX.UI,BX.UI.IconSet,BX.UI.Analytics,BX,BX.UI,BX));
//# sourceMappingURL=market-expired.bundle.js.map

Youez - 2016 - github.com/yon3zu
LinuXploit