balmet.com

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

escape-html.js (8798B)


      1 this["wp"] = this["wp"] || {}; this["wp"]["escapeHtml"] =
      2 /******/ (function(modules) { // webpackBootstrap
      3 /******/ 	// The module cache
      4 /******/ 	var installedModules = {};
      5 /******/
      6 /******/ 	// The require function
      7 /******/ 	function __webpack_require__(moduleId) {
      8 /******/
      9 /******/ 		// Check if module is in cache
     10 /******/ 		if(installedModules[moduleId]) {
     11 /******/ 			return installedModules[moduleId].exports;
     12 /******/ 		}
     13 /******/ 		// Create a new module (and put it into the cache)
     14 /******/ 		var module = installedModules[moduleId] = {
     15 /******/ 			i: moduleId,
     16 /******/ 			l: false,
     17 /******/ 			exports: {}
     18 /******/ 		};
     19 /******/
     20 /******/ 		// Execute the module function
     21 /******/ 		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
     22 /******/
     23 /******/ 		// Flag the module as loaded
     24 /******/ 		module.l = true;
     25 /******/
     26 /******/ 		// Return the exports of the module
     27 /******/ 		return module.exports;
     28 /******/ 	}
     29 /******/
     30 /******/
     31 /******/ 	// expose the modules object (__webpack_modules__)
     32 /******/ 	__webpack_require__.m = modules;
     33 /******/
     34 /******/ 	// expose the module cache
     35 /******/ 	__webpack_require__.c = installedModules;
     36 /******/
     37 /******/ 	// define getter function for harmony exports
     38 /******/ 	__webpack_require__.d = function(exports, name, getter) {
     39 /******/ 		if(!__webpack_require__.o(exports, name)) {
     40 /******/ 			Object.defineProperty(exports, name, { enumerable: true, get: getter });
     41 /******/ 		}
     42 /******/ 	};
     43 /******/
     44 /******/ 	// define __esModule on exports
     45 /******/ 	__webpack_require__.r = function(exports) {
     46 /******/ 		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
     47 /******/ 			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
     48 /******/ 		}
     49 /******/ 		Object.defineProperty(exports, '__esModule', { value: true });
     50 /******/ 	};
     51 /******/
     52 /******/ 	// create a fake namespace object
     53 /******/ 	// mode & 1: value is a module id, require it
     54 /******/ 	// mode & 2: merge all properties of value into the ns
     55 /******/ 	// mode & 4: return value when already ns object
     56 /******/ 	// mode & 8|1: behave like require
     57 /******/ 	__webpack_require__.t = function(value, mode) {
     58 /******/ 		if(mode & 1) value = __webpack_require__(value);
     59 /******/ 		if(mode & 8) return value;
     60 /******/ 		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
     61 /******/ 		var ns = Object.create(null);
     62 /******/ 		__webpack_require__.r(ns);
     63 /******/ 		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
     64 /******/ 		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
     65 /******/ 		return ns;
     66 /******/ 	};
     67 /******/
     68 /******/ 	// getDefaultExport function for compatibility with non-harmony modules
     69 /******/ 	__webpack_require__.n = function(module) {
     70 /******/ 		var getter = module && module.__esModule ?
     71 /******/ 			function getDefault() { return module['default']; } :
     72 /******/ 			function getModuleExports() { return module; };
     73 /******/ 		__webpack_require__.d(getter, 'a', getter);
     74 /******/ 		return getter;
     75 /******/ 	};
     76 /******/
     77 /******/ 	// Object.prototype.hasOwnProperty.call
     78 /******/ 	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
     79 /******/
     80 /******/ 	// __webpack_public_path__
     81 /******/ 	__webpack_require__.p = "";
     82 /******/
     83 /******/
     84 /******/ 	// Load entry module and return exports
     85 /******/ 	return __webpack_require__(__webpack_require__.s = "IsfW");
     86 /******/ })
     87 /************************************************************************/
     88 /******/ ({
     89 
     90 /***/ "IsfW":
     91 /***/ (function(module, __webpack_exports__, __webpack_require__) {
     92 
     93 "use strict";
     94 // ESM COMPAT FLAG
     95 __webpack_require__.r(__webpack_exports__);
     96 
     97 // EXPORTS
     98 __webpack_require__.d(__webpack_exports__, "escapeAmpersand", function() { return /* binding */ escapeAmpersand; });
     99 __webpack_require__.d(__webpack_exports__, "escapeQuotationMark", function() { return /* binding */ escapeQuotationMark; });
    100 __webpack_require__.d(__webpack_exports__, "escapeLessThan", function() { return /* binding */ escapeLessThan; });
    101 __webpack_require__.d(__webpack_exports__, "escapeAttribute", function() { return /* binding */ escapeAttribute; });
    102 __webpack_require__.d(__webpack_exports__, "escapeHTML", function() { return /* binding */ escapeHTML; });
    103 __webpack_require__.d(__webpack_exports__, "escapeEditableHTML", function() { return /* binding */ escapeEditableHTML; });
    104 __webpack_require__.d(__webpack_exports__, "isValidAttributeName", function() { return /* binding */ isValidAttributeName; });
    105 
    106 // CONCATENATED MODULE: ./node_modules/@wordpress/escape-html/build-module/escape-greater.js
    107 /**
    108  * Returns a string with greater-than sign replaced.
    109  *
    110  * Note that if a resolution for Trac#45387 comes to fruition, it is no longer
    111  * necessary for `__unstableEscapeGreaterThan` to exist.
    112  *
    113  * See: https://core.trac.wordpress.org/ticket/45387
    114  *
    115  * @param {string} value Original string.
    116  *
    117  * @return {string} Escaped string.
    118  */
    119 function __unstableEscapeGreaterThan(value) {
    120   return value.replace(/>/g, '>');
    121 }
    122 
    123 // CONCATENATED MODULE: ./node_modules/@wordpress/escape-html/build-module/index.js
    124 /**
    125  * Internal dependencies
    126  */
    127 
    128 /**
    129  * Regular expression matching invalid attribute names.
    130  *
    131  * "Attribute names must consist of one or more characters other than controls,
    132  * U+0020 SPACE, U+0022 ("), U+0027 ('), U+003E (>), U+002F (/), U+003D (=),
    133  * and noncharacters."
    134  *
    135  * @see https://html.spec.whatwg.org/multipage/syntax.html#attributes-2
    136  *
    137  * @type {RegExp}
    138  */
    139 
    140 const REGEXP_INVALID_ATTRIBUTE_NAME = /[\u007F-\u009F "'>/="\uFDD0-\uFDEF]/;
    141 /**
    142  * Returns a string with ampersands escaped. Note that this is an imperfect
    143  * implementation, where only ampersands which do not appear as a pattern of
    144  * named, decimal, or hexadecimal character references are escaped. Invalid
    145  * named references (i.e. ambiguous ampersand) are are still permitted.
    146  *
    147  * @see https://w3c.github.io/html/syntax.html#character-references
    148  * @see https://w3c.github.io/html/syntax.html#ambiguous-ampersand
    149  * @see https://w3c.github.io/html/syntax.html#named-character-references
    150  *
    151  * @param {string} value Original string.
    152  *
    153  * @return {string} Escaped string.
    154  */
    155 
    156 function escapeAmpersand(value) {
    157   return value.replace(/&(?!([a-z0-9]+|#[0-9]+|#x[a-f0-9]+);)/gi, '&');
    158 }
    159 /**
    160  * Returns a string with quotation marks replaced.
    161  *
    162  * @param {string} value Original string.
    163  *
    164  * @return {string} Escaped string.
    165  */
    166 
    167 function escapeQuotationMark(value) {
    168   return value.replace(/"/g, '"');
    169 }
    170 /**
    171  * Returns a string with less-than sign replaced.
    172  *
    173  * @param {string} value Original string.
    174  *
    175  * @return {string} Escaped string.
    176  */
    177 
    178 function escapeLessThan(value) {
    179   return value.replace(/</g, '&lt;');
    180 }
    181 /**
    182  * Returns an escaped attribute value.
    183  *
    184  * @see https://w3c.github.io/html/syntax.html#elements-attributes
    185  *
    186  * "[...] the text cannot contain an ambiguous ampersand [...] must not contain
    187  * any literal U+0022 QUOTATION MARK characters (")"
    188  *
    189  * Note we also escape the greater than symbol, as this is used by wptexturize to
    190  * split HTML strings. This is a WordPress specific fix
    191  *
    192  * Note that if a resolution for Trac#45387 comes to fruition, it is no longer
    193  * necessary for `__unstableEscapeGreaterThan` to be used.
    194  *
    195  * See: https://core.trac.wordpress.org/ticket/45387
    196  *
    197  * @param {string} value Attribute value.
    198  *
    199  * @return {string} Escaped attribute value.
    200  */
    201 
    202 function escapeAttribute(value) {
    203   return __unstableEscapeGreaterThan(escapeQuotationMark(escapeAmpersand(value)));
    204 }
    205 /**
    206  * Returns an escaped HTML element value.
    207  *
    208  * @see https://w3c.github.io/html/syntax.html#writing-html-documents-elements
    209  *
    210  * "the text must not contain the character U+003C LESS-THAN SIGN (<) or an
    211  * ambiguous ampersand."
    212  *
    213  * @param {string} value Element value.
    214  *
    215  * @return {string} Escaped HTML element value.
    216  */
    217 
    218 function escapeHTML(value) {
    219   return escapeLessThan(escapeAmpersand(value));
    220 }
    221 /**
    222  * Returns an escaped Editable HTML element value. This is different from
    223  * `escapeHTML`, because for editable HTML, ALL ampersands must be escaped in
    224  * order to render the content correctly on the page.
    225  *
    226  * @param {string} value Element value.
    227  *
    228  * @return {string} Escaped HTML element value.
    229  */
    230 
    231 function escapeEditableHTML(value) {
    232   return escapeLessThan(value.replace(/&/g, '&amp;'));
    233 }
    234 /**
    235  * Returns true if the given attribute name is valid, or false otherwise.
    236  *
    237  * @param {string} name Attribute name to test.
    238  *
    239  * @return {boolean} Whether attribute is valid.
    240  */
    241 
    242 function isValidAttributeName(name) {
    243   return !REGEXP_INVALID_ATTRIBUTE_NAME.test(name);
    244 }
    245 
    246 
    247 /***/ })
    248 
    249 /******/ });