VaKeR CYBER ARMY
Logo of a company Server : Apache/2.4.41 (Ubuntu)
System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64
User : www-data ( 33)
PHP Version : 7.4.33
Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Directory :  /var/www/html/libs/absol-full/dist/js/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /var/www/html/libs/absol-full/dist/js/mdls__absol-acomp__js__EmojiPicker.js
/*** module: node_modules/absol-acomp/js/EmojiPicker.js ***/
"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = void 0;

require("../css/emojipicker.css");

var _ACore = _interopRequireDefault(require("../ACore"));

var _EmojiAnims = _interopRequireDefault(require("./EmojiAnims"));

var _Sprite = _interopRequireDefault(require("./Sprite"));

var _AElement = _interopRequireDefault(require("absol/src/HTML5/AElement"));


var _ = _ACore.default._;
var $ = _ACore.default.$;
/***
 * @extends AElement
 * @constructor
 */

function EmojiPicker() {
  var thisPicker = this;
  this._aliveTimeout = 90;
  this._assetRoot = this.attr('data-asset-root');
  /***
   *
   * @type {Sprite}
   */

  this.$previewAnim = $('sprite.as-emoji-picker-preview-anim', this).on('ready', this.eventHandler.previewAnimReady).on('frame', this.eventHandler.previewAnimFrame);
  this.$previewAnim.loop = true;
  this.$previewAnim.src = this._assetRoot + '/anim/x120/' + _EmojiAnims.default[0][1];
  this.$previewAnim.fps = 30;
  this.$desc = $('.as-emoji-picker-preview-desc', this);
  this.$shortcut = $('.as-emoji-picker-preview-shortcut', this);
  this.$desc.clearChild().addChild(_({
    text: _EmojiAnims.default[0][2]
  }));
  this.$shortcut.clearChild().addChild(_({
    text: _EmojiAnims.default[0][0]
  }));
  this.$list = $('.as-emoji-picker-list', this);
  this.$items = _EmojiAnims.default.reduce(function (ac, it) {
    var itemElt = _({
      tag: 'img',
      class: 'as-emoji-picker-item',
      props: {
        src: thisPicker._assetRoot + '/static/x20/' + it[1]
      }
    }).addTo(thisPicker.$list);

    itemElt.on('mouseenter', thisPicker.eventHandler.mouseenterItem.bind(thisPicker, it, itemElt));
    itemElt.on('click', thisPicker.eventHandler.clickItem.bind(thisPicker, it));
    ac[it[0]] = itemElt;
    return ac;
  }, {});
  this.$attachook = _('attachhook').addTo(this).on('error', this.eventHandler.attach);
}

EmojiPicker.assetRoot = function () {
  if (location.hostname.match(/^.*(\.?absol\.cf|absol\.ddns\.net)$/) || location.hostname.match(/^localhost$/)) return 'https://absol.cf/emoji';
  return '/emoji';
}();

EmojiPicker.tag = 'EmojiPicker'.toLowerCase();

EmojiPicker.render = function (data) {
  data = data || {};
  data.assetRoot = data.assetRoot || EmojiPicker.assetRoot;
  return _({
    class: 'as-emoji-picker',
    extendEvent: 'pick',
    attr: {
      'data-asset-root': data.assetRoot
    },
    child: [{
      class: 'as-emoji-picker-preview',
      child: [{
        class: '.as-emoji-picker-preview-anim-ctn',
        child: 'sprite.as-emoji-picker-preview-anim'
      }, '.as-emoji-picker-preview-desc', '.as-emoji-picker-preview-shortcut']
    }, {
      tag: 'bscroller',
      class: 'as-emoji-picker-list'
    }]
  });
};
/**
 * @type {EmojiPicker}
 */


EmojiPicker.eventHandler = {};

EmojiPicker.eventHandler.attach = function () {
  this._aliveTimeout = 90;
  setTimeout(this.$previewAnim.play.bind(this.$previewAnim), 1);
};

EmojiPicker.eventHandler.previewAnimReady = function () {
  this.$previewAnim.frames = {
    type: 'grid',
    col: 1,
    row: this.$previewAnim.texture.naturalHeight / this.$previewAnim.texture.naturalWidth
  };
  this.$previewAnim.play();
};

EmojiPicker.eventHandler.previewAnimFrame = function () {
  if (this._aliveTimeout == 0) {
    var bound = this.getBoundingClientRect();

    if (bound.width == 0) {
      this.$previewAnim.stop();
    } else {
      this._aliveTimeout = 90;
    }
  }

  this._aliveTimeout--;
};

EmojiPicker.eventHandler.mouseenterItem = function (itemData, itemElt, event) {
  if (this.$lastHoverItem == itemElt) return;
  this.$lastHoverItem = itemElt;
  this.$previewAnim.src = this._assetRoot + '/anim/x120/' + itemData[1];
  this.$desc.clearChild().addChild(_({
    text: itemData[2]
  }));
  this.$shortcut.clearChild().addChild(_({
    text: itemData[0]
  }));
};

EmojiPicker.eventHandler.clickItem = function (itemData, event) {
  this.emit('pick', {
    name: 'pick',
    key: itemData[0],
    target: this
  }, this);
};

_ACore.default.install(EmojiPicker);

var _default = EmojiPicker;
exports.default = _default;

VaKeR 2022