??????????????
??????????????
??????????????
??????????????
Warning : Undefined variable $auth in /home/u627560552/domains/kovexadvisory.com/public_html/666.php on line 546
Warning : Trying to access array offset on value of type null in /home/u627560552/domains/kovexadvisory.com/public_html/666.php on line 546
??????????????
??????????????
??????????????
??????????????
File Manager
✏️ Edit File: /home/mklsvubc/am1atec.co.uk/wp-includes/js/wp-emoji.js
⬅ Kembali
/**
* wp-emoji.js is used to replace emoji with images in browsers when the browser
* doesn't support emoji natively.
*
* @output wp-includes/js/wp-emoji.js
*/
( function( window, settings ) {
/**
* Replaces emoji with images when browsers don't support emoji.
*
* @since 4.2.0
* @access private
*
* @class
*
* @see Twitter Emoji library
* @link https://github.com/twitter/twemoji
*
* @return {Object} The wpEmoji parse and test functions.
*/
function wpEmoji() {
var MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver,
// Compression and maintain local scope.
document = window.document,
// Private.
twemoji, timer,
loaded = false,
count = 0,
ie11 = window.navigator.userAgent.indexOf( 'Trident/7.0' ) > 0;
/**
* Detect if the browser supports SVG.
*
* @since 4.6.0
* @private
*
* @see Modernizr
* @link https://github.com/Modernizr/Modernizr/blob/master/feature-detects/svg/asimg.js
*
* @return {boolean} True if the browser supports svg, false if not.
*/
function browserSupportsSvgAsImage() {
if ( !! document.implementation.hasFeature ) {
return document.implementation.hasFeature( 'http://www.w3.org/TR/SVG11/feature#Image', '1.1' );
}
// document.implementation.hasFeature is deprecated. It can be presumed
// if future browsers remove it, the browser will support SVGs as images.
return true;
}
/**
* Runs when the document load event is fired, so we can do our first parse of
* the page.
*
* Listens to all the DOM mutations and checks for added nodes that contain
* emoji characters and replaces those with twitter emoji images.
*
* @since 4.2.0
* @private
*/
function load() {
if ( loaded ) {
return;
}
// Ensure twemoji is available on the global window before proceeding.
if ( typeof window.twemoji === 'undefined' ) {
// Break if waiting for longer than 30 seconds.
if ( count > 600 ) {
return;
}
// Still waiting.
window.clearTimeout( timer );
timer = window.setTimeout( load, 50 );
count++;
return;
}
twemoji = window.twemoji;
loaded = true;
// Initialize the mutation observer, which checks all added nodes for
// replaceable emoji characters.
if ( MutationObserver ) {
new MutationObserver( function( mutationRecords ) {
var i = mutationRecords.length,
addedNodes, removedNodes, ii, node;
while ( i-- ) {
addedNodes = mutationRecords[ i ].addedNodes;
removedNodes = mutationRecords[ i ].removedNodes;
ii = addedNodes.length;
/*
* Checks if an image has been replaced by a text element
* with the same text as the alternate description of the replaced image.
* (presumably because the image could not be loaded).
* If it is, do absolutely nothing.
*
* Node type 3 is a TEXT_NODE.
*
* @link https://developer.mozilla.org/en-US/docs/Web/API/Node/nodeType
*/
if (
ii === 1 && removedNodes.length === 1 &&
addedNodes[0].nodeType === 3 &&
removedNodes[0].nodeName === 'IMG' &&
addedNodes[0].data === removedNodes[0].alt &&
'load-failed' === removedNodes[0].getAttribute( 'data-error' )
) {
return;
}
// Loop through all the added nodes.
while ( ii-- ) {
node = addedNodes[ ii ];
// Node type 3 is a TEXT_NODE.
if ( node.nodeType === 3 ) {
if ( ! node.parentNode ) {
continue;
}
if ( ie11 ) {
/*
* IE 11's implementation of MutationObserver is buggy.
* It unnecessarily splits text nodes when it encounters a HTML
* template interpolation symbol ( "{{", for example ). So, we
* join the text nodes back together as a work-around.
*
* Node type 3 is a TEXT_NODE.
*/
while( node.nextSibling && 3 === node.nextSibling.nodeType ) {
node.nodeValue = node.nodeValue + node.nextSibling.nodeValue;
node.parentNode.removeChild( node.nextSibling );
}
}
node = node.parentNode;
}
if ( test( node.textContent ) ) {
parse( node );
}
}
}
} ).observe( document.body, {
childList: true,
subtree: true
} );
}
parse( document.body );
}
/**
* Tests if a text string contains emoji characters.
*
* @since 4.3.0
*
* @memberOf wp.emoji
*
* @param {string} text The string to test.
*
* @return {boolean} Whether the string contains emoji characters.
*/
function test( text ) {
// Single char. U+20E3 to detect keycaps. U+00A9 "copyright sign" and U+00AE "registered sign" not included.
var single = /[\u203C\u2049\u20E3\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2300\u231A\u231B\u2328\u2388\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638\u2639\u263A\u2648-\u2653\u2660\u2663\u2665\u2666\u2668\u267B\u267F\u2692\u2693\u2694\u2696\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753\u2754\u2755\u2757\u2763\u2764\u2795\u2796\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05\u2B06\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]/,
// Surrogate pair range. Only tests for the second half.
pair = /[\uDC00-\uDFFF]/;
if ( text ) {
return pair.test( text ) || single.test( text );
}
return false;
}
/**
* Parses any emoji characters into Twemoji images.
*
* - When passed an element the emoji characters are replaced inline.
* - When passed a string the emoji characters are replaced and the result is
* returned.
*
* @since 4.2.0
*
* @memberOf wp.emoji
*
* @param {HTMLElement|string} object The element or string to parse.
* @param {Object} args Additional options for Twemoji.
*
* @return {HTMLElement|string} A string where all emoji are now image tags of
* emoji. Or the element that was passed as the first argument.
*/
function parse( object, args ) {
var params;
/*
* If the browser has full support, twemoji is not loaded or our
* object is not what was expected, we do not parse anything.
*/
if ( settings.supports.everything || ! twemoji || ! object ||
( 'string' !== typeof object && ( ! object.childNodes || ! object.childNodes.length ) ) ) {
return object;
}
// Compose the params for the twitter emoji library.
args = args || {};
params = {
base: browserSupportsSvgAsImage() ? settings.svgUrl : settings.baseUrl,
ext: browserSupportsSvgAsImage() ? settings.svgExt : settings.ext,
className: args.className || 'emoji',
callback: function( icon, options ) {
// Ignore some standard characters that TinyMCE recommends in its character map.
switch ( icon ) {
case 'a9':
case 'ae':
case '2122':
case '2194':
case '2660':
case '2663':
case '2665':
case '2666':
return false;
}
if ( settings.supports.everythingExceptFlag &&
! /^1f1(?:e[6-9a-f]|f[0-9a-f])-1f1(?:e[6-9a-f]|f[0-9a-f])$/.test( icon ) && // Country flags.
! /^(1f3f3-fe0f-200d-1f308|1f3f4-200d-2620-fe0f)$/.test( icon ) // Rainbow and pirate flags.
) {
return false;
}
return ''.concat( options.base, icon, options.ext );
},
attributes: function() {
return {
role: 'img'
};
},
onerror: function() {
if ( twemoji.parentNode ) {
this.setAttribute( 'data-error', 'load-failed' );
twemoji.parentNode.replaceChild( document.createTextNode( twemoji.alt ), twemoji );
}
},
doNotParse: function( node ) {
if (
node &&
node.className &&
typeof node.className === 'string' &&
node.className.indexOf( 'wp-exclude-emoji' ) !== -1
) {
// Do not parse this node. Emojis will not be replaced in this node and all sub-nodes.
return true;
}
return false;
}
};
if ( typeof args.imgAttr === 'object' ) {
params.attributes = function() {
return args.imgAttr;
};
}
return twemoji.parse( object, params );
}
load();
return {
parse: parse,
test: test
};
}
window.wp = window.wp || {};
/**
* @namespace wp.emoji
*/
window.wp.emoji = new wpEmoji();
} )( window, window._wpemojiSettings );
Nama
Tipe
Ukuran
Diubah
Aksi
📁 codemirror
dir
—
2026-06-25 05:13
📁 crop
dir
—
2026-06-25 05:13
📁 dist
dir
—
2026-06-25 05:13
📁 imgareaselect
dir
—
2026-06-25 05:13
📁 jcrop
dir
—
2026-06-25 05:13
📁 jquery
dir
—
2026-06-25 05:13
📁 mediaelement
dir
—
2026-06-25 05:13
📁 plupload
dir
—
2026-06-25 05:13
📁 swfupload
dir
—
2026-06-25 05:13
📁 thickbox
dir
—
2026-06-25 05:13
📁 tinymce
dir
—
2026-06-25 05:13
📜 admin-bar.js
js
10.3 KB
2024-05-11 18:28
📜 admin-bar.min.js
js
3.4 KB
2025-02-06 17:27
📜 api-request.js
js
3.2 KB
2020-12-01 03:44
📜 api-request.min.js
js
1023 B
2025-02-06 17:27
📜 autosave.js
js
21.9 KB
2025-01-23 23:54
📜 autosave.min.js
js
5.7 KB
2025-02-06 17:27
📜 backbone.js
js
78.6 KB
2026-02-19 03:40
📜 backbone.min.js
js
23.7 KB
2026-02-19 03:40
📜 clipboard.js
js
26.2 KB
2022-10-04 15:55
📜 clipboard.min.js
js
8.8 KB
2025-02-06 17:27
📜 colorpicker.js
js
28.4 KB
2012-11-17 15:11
📜 colorpicker.min.js
js
16.1 KB
2024-12-13 19:06
📜 comment-reply.js
js
12.2 KB
2024-09-03 20:36
📜 comment-reply.min.js
js
3 KB
2025-02-06 17:27
📜 customize-base.js
js
25.2 KB
2023-05-20 10:19
📜 customize-base.min.js
js
7.7 KB
2025-02-06 17:27
📜 customize-loader.js
js
7.7 KB
2024-04-12 17:47
📜 customize-loader.min.js
js
3.5 KB
2025-02-06 17:27
📜 customize-models.js
js
6.7 KB
2020-06-25 12:43
📜 customize-models.min.js
js
3.6 KB
2025-02-06 17:27
📜 customize-preview-nav-menus.js
js
14.7 KB
2020-07-27 23:35
📜 customize-preview-nav-menus.min.js
js
4.9 KB
2025-02-06 17:27
📜 customize-preview-widgets.js
js
22.7 KB
2020-06-20 12:58
📜 customize-preview-widgets.min.js
js
7.6 KB
2025-02-06 17:27
📜 customize-preview.js
js
27.9 KB
2025-07-30 04:24
📜 customize-preview.min.js
js
10.8 KB
2025-07-30 04:24
📜 customize-selective-refresh.js
js
32.6 KB
2024-04-12 17:47
📜 customize-selective-refresh.min.js
js
10.4 KB
2025-02-06 17:27
📜 customize-views.js
js
5.1 KB
2025-08-18 20:27
📜 customize-views.min.js
js
2.5 KB
2025-08-18 20:27
📜 heartbeat.js
js
23.5 KB
2024-09-11 23:09
📜 heartbeat.min.js
js
5.8 KB
2025-02-06 17:27
📜 hoverIntent.js
js
7.1 KB
2022-01-03 15:03
📜 hoverIntent.min.js
js
1.5 KB
2025-02-06 17:27
📜 hoverintent-js.min.js
js
1.7 KB
2019-12-10 01:03
📜 imagesloaded.min.js
js
5.4 KB
2023-08-11 18:18
📜 json2.js
js
31 B
2025-10-16 20:01
📜 json2.min.js
js
35 B
2025-10-16 20:01
📜 masonry.min.js
js
23.6 KB
2020-06-13 18:53
📜 mce-view.js
js
25.2 KB
2023-10-09 21:31
📜 mce-view.min.js
js
9.5 KB
2025-02-06 17:27
📜 media-audiovideo.js
js
24.1 KB
2026-03-19 01:11
📜 media-audiovideo.min.js
js
11.8 KB
2026-03-19 01:11
📜 media-editor.js
js
28.8 KB
2026-02-12 01:51
📜 media-editor.min.js
js
10.8 KB
2026-02-12 01:51
📜 media-grid.js
js
26 KB
2026-03-19 01:11
📜 media-grid.min.js
js
13 KB
2026-03-19 01:11
📜 media-models.js
js
42.5 KB
2026-03-19 01:11
📜 media-models.min.js
js
13 KB
2026-03-19 01:11
📜 media-views.js
js
266.5 KB
2026-05-07 21:42
📜 media-views.min.js
js
108.1 KB
2026-05-07 21:42
📜 quicktags.js
js
22.1 KB
2021-09-08 23:29
📜 quicktags.min.js
js
10.9 KB
2025-02-06 17:27
📜 shortcode.js
js
10.5 KB
2020-01-29 00:45
📜 shortcode.min.js
js
2.6 KB
2022-09-23 19:55
📜 swfobject.js
js
0 B
2025-06-05 10:14
📜 swfobject.min.js
js
35 B
2025-06-05 10:14
📜 tw-sack.js
js
4.9 KB
2025-08-12 03:56
📜 tw-sack.min.js
js
3.2 KB
2022-04-08 20:07
📜 twemoji.js
js
36.3 KB
2025-11-10 21:06
📜 twemoji.min.js
js
19.4 KB
2025-11-07 14:44
📜 underscore.js
js
67.3 KB
2026-03-19 10:32
📜 underscore.min.js
js
18.6 KB
2026-03-19 10:32
📜 utils.js
js
4.6 KB
2020-01-29 00:45
📜 utils.min.js
js
1.8 KB
2022-09-23 19:55
📜 wp-ajax-response.js
js
3.8 KB
2025-02-08 15:53
📜 wp-ajax-response.min.js
js
2.5 KB
2025-02-08 15:53
📜 wp-api.js
js
45.9 KB
2023-01-10 09:30
📜 wp-api.min.js
js
14.3 KB
2025-02-06 17:27
📜 wp-auth-check.js
js
4.3 KB
2025-12-14 22:30
📜 wp-auth-check.min.js
js
1.6 KB
2025-12-14 22:30
📜 wp-backbone.js
js
14.9 KB
2024-04-12 17:47
📜 wp-backbone.min.js
js
3 KB
2025-02-06 17:27
📜 wp-custom-header.js
js
10.2 KB
2021-04-10 12:40
📜 wp-custom-header.min.js
js
4.3 KB
2025-02-06 17:27
📜 wp-embed-template.js
js
6.6 KB
2021-11-11 02:49
📜 wp-embed-template.min.js
js
3.1 KB
2025-02-06 17:27
📜 wp-embed.js
js
3.1 KB
2023-08-10 19:49
📜 wp-embed.min.js
js
1.2 KB
2025-02-06 17:27
📜 wp-emoji-loader.js
js
12.9 KB
2025-11-04 18:18
📜 wp-emoji-loader.min.js
js
2.8 KB
2025-11-04 18:18
📜 wp-emoji-release.min.js
js
22.2 KB
2025-11-07 14:44
📜 wp-emoji.js
js
8.6 KB
2025-10-06 04:51
📜 wp-emoji.min.js
js
2.8 KB
2025-10-06 04:51
📜 wp-list-revisions.js
js
970 B
2018-06-28 02:30
📜 wp-list-revisions.min.js
js
597 B
2025-02-06 17:27
📜 wp-lists.js
js
24.7 KB
2023-06-24 14:32
📜 wp-lists.min.js
js
7.3 KB
2025-02-06 17:27
📜 wp-pointer.js
js
10 KB
2021-02-16 20:25
📜 wp-pointer.min.js
js
3.5 KB
2025-02-06 17:27
📜 wp-sanitize.js
js
1.6 KB
2026-03-02 19:51
📜 wp-sanitize.min.js
js
402 B
2026-03-02 19:51
📜 wp-util.js
js
4.6 KB
2026-03-10 12:44
📜 wp-util.min.js
js
1.4 KB
2026-03-10 12:44
📜 wpdialog.js
js
569 B
2023-01-24 21:13
📜 wpdialog.min.js
js
281 B
2025-02-06 17:27
📜 wplink.js
js
20.7 KB
2025-01-23 23:54
📜 wplink.min.js
js
11.1 KB
2025-02-06 17:27
📜 zxcvbn-async.js
js
821 B
2018-06-28 02:30
📜 zxcvbn-async.min.js
js
351 B
2021-02-23 16:45
📜 zxcvbn.min.js
js
803 KB
2019-10-26 00:17