19
|
1 |
/******/ (function() { // webpackBootstrap |
|
2 |
/******/ "use strict"; |
|
3 |
/******/ // The require scope |
|
4 |
/******/ var __webpack_require__ = {}; |
|
5 |
/******/ |
|
6 |
/************************************************************************/ |
|
7 |
/******/ /* webpack/runtime/define property getters */ |
|
8 |
/******/ !function() { |
|
9 |
/******/ // define getter functions for harmony exports |
|
10 |
/******/ __webpack_require__.d = function(exports, definition) { |
|
11 |
/******/ for(var key in definition) { |
|
12 |
/******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) { |
|
13 |
/******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] }); |
|
14 |
/******/ } |
|
15 |
/******/ } |
9
|
16 |
/******/ }; |
19
|
17 |
/******/ }(); |
|
18 |
/******/ |
|
19 |
/******/ /* webpack/runtime/hasOwnProperty shorthand */ |
|
20 |
/******/ !function() { |
|
21 |
/******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); } |
|
22 |
/******/ }(); |
|
23 |
/******/ |
|
24 |
/******/ /* webpack/runtime/make namespace object */ |
|
25 |
/******/ !function() { |
|
26 |
/******/ // define __esModule on exports |
|
27 |
/******/ __webpack_require__.r = function(exports) { |
|
28 |
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { |
|
29 |
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); |
|
30 |
/******/ } |
|
31 |
/******/ Object.defineProperty(exports, '__esModule', { value: true }); |
|
32 |
/******/ }; |
|
33 |
/******/ }(); |
|
34 |
/******/ |
9
|
35 |
/************************************************************************/ |
19
|
36 |
var __webpack_exports__ = {}; |
9
|
37 |
__webpack_require__.r(__webpack_exports__); |
19
|
38 |
/* harmony export */ __webpack_require__.d(__webpack_exports__, { |
|
39 |
/* harmony export */ "decodeEntities": function() { return /* binding */ decodeEntities; } |
|
40 |
/* harmony export */ }); |
16
|
41 |
/** @type {HTMLTextAreaElement} */ |
18
|
42 |
let _decodeTextArea; |
9
|
43 |
/** |
|
44 |
* Decodes the HTML entities from a given string. |
|
45 |
* |
|
46 |
* @param {string} html String that contain HTML entities. |
|
47 |
* |
|
48 |
* @example |
|
49 |
* ```js |
|
50 |
* const result = decodeEntities( 'á' ); |
|
51 |
* console.log( result ); // result will be "รก" |
|
52 |
* ``` |
|
53 |
* |
|
54 |
* @return {string} The decoded string. |
|
55 |
*/ |
|
56 |
|
|
57 |
|
|
58 |
function decodeEntities(html) { |
19
|
59 |
// Not a string, or no entities to decode. |
9
|
60 |
if ('string' !== typeof html || -1 === html.indexOf('&')) { |
|
61 |
return html; |
19
|
62 |
} // Create a textarea for decoding entities, that we can reuse. |
9
|
63 |
|
|
64 |
|
|
65 |
if (undefined === _decodeTextArea) { |
|
66 |
if (document.implementation && document.implementation.createHTMLDocument) { |
|
67 |
_decodeTextArea = document.implementation.createHTMLDocument('').createElement('textarea'); |
|
68 |
} else { |
|
69 |
_decodeTextArea = document.createElement('textarea'); |
|
70 |
} |
|
71 |
} |
|
72 |
|
|
73 |
_decodeTextArea.innerHTML = html; |
18
|
74 |
const decoded = _decodeTextArea.textContent; |
9
|
75 |
_decodeTextArea.innerHTML = ''; |
16
|
76 |
/** |
|
77 |
* Cast to string, HTMLTextAreaElement should always have `string` textContent. |
|
78 |
* |
|
79 |
* > The `textContent` property of the `Node` interface represents the text content of the |
|
80 |
* > node and its descendants. |
|
81 |
* > |
|
82 |
* > Value: A string or `null` |
|
83 |
* > |
|
84 |
* > * If the node is a `document` or a Doctype, `textContent` returns `null`. |
|
85 |
* > * If the node is a CDATA section, comment, processing instruction, or text node, |
|
86 |
* > textContent returns the text inside the node, i.e., the `Node.nodeValue`. |
|
87 |
* > * For other node types, `textContent returns the concatenation of the textContent of |
|
88 |
* > every child node, excluding comments and processing instructions. (This is an empty |
|
89 |
* > string if the node has no children.) |
|
90 |
* |
|
91 |
* @see https://developer.mozilla.org/en-US/docs/Web/API/Node/textContent |
|
92 |
*/ |
|
93 |
|
|
94 |
return ( |
|
95 |
/** @type {string} */ |
|
96 |
decoded |
|
97 |
); |
9
|
98 |
} |
|
99 |
|
19
|
100 |
(window.wp = window.wp || {}).htmlEntities = __webpack_exports__; |
|
101 |
/******/ })() |
|
102 |
; |