You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1435 lines
34 KiB

1 year ago
  1. /******/ (function() { // webpackBootstrap
  2. /******/ var __webpack_modules__ = ({
  3. /***/ 4793:
  4. /***/ (function(module) {
  5. var characterMap = {
  6. "À": "A",
  7. "Á": "A",
  8. "Â": "A",
  9. "Ã": "A",
  10. "Ä": "A",
  11. "Å": "A",
  12. "Ấ": "A",
  13. "Ắ": "A",
  14. "Ẳ": "A",
  15. "Ẵ": "A",
  16. "Ặ": "A",
  17. "Æ": "AE",
  18. "Ầ": "A",
  19. "Ằ": "A",
  20. "Ȃ": "A",
  21. "Ả": "A",
  22. "Ạ": "A",
  23. "Ẩ": "A",
  24. "Ẫ": "A",
  25. "Ậ": "A",
  26. "Ç": "C",
  27. "Ḉ": "C",
  28. "È": "E",
  29. "É": "E",
  30. "Ê": "E",
  31. "Ë": "E",
  32. "Ế": "E",
  33. "Ḗ": "E",
  34. "Ề": "E",
  35. "Ḕ": "E",
  36. "Ḝ": "E",
  37. "Ȇ": "E",
  38. "Ẻ": "E",
  39. "Ẽ": "E",
  40. "Ẹ": "E",
  41. "Ể": "E",
  42. "Ễ": "E",
  43. "Ệ": "E",
  44. "Ì": "I",
  45. "Í": "I",
  46. "Î": "I",
  47. "Ï": "I",
  48. "Ḯ": "I",
  49. "Ȋ": "I",
  50. "Ỉ": "I",
  51. "Ị": "I",
  52. "Ð": "D",
  53. "Ñ": "N",
  54. "Ò": "O",
  55. "Ó": "O",
  56. "Ô": "O",
  57. "Õ": "O",
  58. "Ö": "O",
  59. "Ø": "O",
  60. "Ố": "O",
  61. "Ṍ": "O",
  62. "Ṓ": "O",
  63. "Ȏ": "O",
  64. "Ỏ": "O",
  65. "Ọ": "O",
  66. "Ổ": "O",
  67. "Ỗ": "O",
  68. "Ộ": "O",
  69. "Ờ": "O",
  70. "Ở": "O",
  71. "Ỡ": "O",
  72. "Ớ": "O",
  73. "Ợ": "O",
  74. "Ù": "U",
  75. "Ú": "U",
  76. "Û": "U",
  77. "Ü": "U",
  78. "Ủ": "U",
  79. "Ụ": "U",
  80. "Ử": "U",
  81. "Ữ": "U",
  82. "Ự": "U",
  83. "Ý": "Y",
  84. "à": "a",
  85. "á": "a",
  86. "â": "a",
  87. "ã": "a",
  88. "ä": "a",
  89. "å": "a",
  90. "ấ": "a",
  91. "ắ": "a",
  92. "ẳ": "a",
  93. "ẵ": "a",
  94. "ặ": "a",
  95. "æ": "ae",
  96. "ầ": "a",
  97. "ằ": "a",
  98. "ȃ": "a",
  99. "ả": "a",
  100. "ạ": "a",
  101. "ẩ": "a",
  102. "ẫ": "a",
  103. "ậ": "a",
  104. "ç": "c",
  105. "ḉ": "c",
  106. "è": "e",
  107. "é": "e",
  108. "ê": "e",
  109. "ë": "e",
  110. "ế": "e",
  111. "ḗ": "e",
  112. "ề": "e",
  113. "ḕ": "e",
  114. "ḝ": "e",
  115. "ȇ": "e",
  116. "ẻ": "e",
  117. "ẽ": "e",
  118. "ẹ": "e",
  119. "ể": "e",
  120. "ễ": "e",
  121. "ệ": "e",
  122. "ì": "i",
  123. "í": "i",
  124. "î": "i",
  125. "ï": "i",
  126. "ḯ": "i",
  127. "ȋ": "i",
  128. "ỉ": "i",
  129. "ị": "i",
  130. "ð": "d",
  131. "ñ": "n",
  132. "ò": "o",
  133. "ó": "o",
  134. "ô": "o",
  135. "õ": "o",
  136. "ö": "o",
  137. "ø": "o",
  138. "ố": "o",
  139. "ṍ": "o",
  140. "ṓ": "o",
  141. "ȏ": "o",
  142. "ỏ": "o",
  143. "ọ": "o",
  144. "ổ": "o",
  145. "ỗ": "o",
  146. "ộ": "o",
  147. "ờ": "o",
  148. "ở": "o",
  149. "ỡ": "o",
  150. "ớ": "o",
  151. "ợ": "o",
  152. "ù": "u",
  153. "ú": "u",
  154. "û": "u",
  155. "ü": "u",
  156. "ủ": "u",
  157. "ụ": "u",
  158. "ử": "u",
  159. "ữ": "u",
  160. "ự": "u",
  161. "ý": "y",
  162. "ÿ": "y",
  163. "Ā": "A",
  164. "ā": "a",
  165. "Ă": "A",
  166. "ă": "a",
  167. "Ą": "A",
  168. "ą": "a",
  169. "Ć": "C",
  170. "ć": "c",
  171. "Ĉ": "C",
  172. "ĉ": "c",
  173. "Ċ": "C",
  174. "ċ": "c",
  175. "Č": "C",
  176. "č": "c",
  177. "C̆": "C",
  178. "c̆": "c",
  179. "Ď": "D",
  180. "ď": "d",
  181. "Đ": "D",
  182. "đ": "d",
  183. "Ē": "E",
  184. "ē": "e",
  185. "Ĕ": "E",
  186. "ĕ": "e",
  187. "Ė": "E",
  188. "ė": "e",
  189. "Ę": "E",
  190. "ę": "e",
  191. "Ě": "E",
  192. "ě": "e",
  193. "Ĝ": "G",
  194. "Ǵ": "G",
  195. "ĝ": "g",
  196. "ǵ": "g",
  197. "Ğ": "G",
  198. "ğ": "g",
  199. "Ġ": "G",
  200. "ġ": "g",
  201. "Ģ": "G",
  202. "ģ": "g",
  203. "Ĥ": "H",
  204. "ĥ": "h",
  205. "Ħ": "H",
  206. "ħ": "h",
  207. "Ḫ": "H",
  208. "ḫ": "h",
  209. "Ĩ": "I",
  210. "ĩ": "i",
  211. "Ī": "I",
  212. "ī": "i",
  213. "Ĭ": "I",
  214. "ĭ": "i",
  215. "Į": "I",
  216. "į": "i",
  217. "İ": "I",
  218. "ı": "i",
  219. "IJ": "IJ",
  220. "ij": "ij",
  221. "Ĵ": "J",
  222. "ĵ": "j",
  223. "Ķ": "K",
  224. "ķ": "k",
  225. "Ḱ": "K",
  226. "ḱ": "k",
  227. "K̆": "K",
  228. "k̆": "k",
  229. "Ĺ": "L",
  230. "ĺ": "l",
  231. "Ļ": "L",
  232. "ļ": "l",
  233. "Ľ": "L",
  234. "ľ": "l",
  235. "Ŀ": "L",
  236. "ŀ": "l",
  237. "Ł": "l",
  238. "ł": "l",
  239. "Ḿ": "M",
  240. "ḿ": "m",
  241. "M̆": "M",
  242. "m̆": "m",
  243. "Ń": "N",
  244. "ń": "n",
  245. "Ņ": "N",
  246. "ņ": "n",
  247. "Ň": "N",
  248. "ň": "n",
  249. "ʼn": "n",
  250. "N̆": "N",
  251. "n̆": "n",
  252. "Ō": "O",
  253. "ō": "o",
  254. "Ŏ": "O",
  255. "ŏ": "o",
  256. "Ő": "O",
  257. "ő": "o",
  258. "Œ": "OE",
  259. "œ": "oe",
  260. "P̆": "P",
  261. "p̆": "p",
  262. "Ŕ": "R",
  263. "ŕ": "r",
  264. "Ŗ": "R",
  265. "ŗ": "r",
  266. "Ř": "R",
  267. "ř": "r",
  268. "R̆": "R",
  269. "r̆": "r",
  270. "Ȓ": "R",
  271. "ȓ": "r",
  272. "Ś": "S",
  273. "ś": "s",
  274. "Ŝ": "S",
  275. "ŝ": "s",
  276. "Ş": "S",
  277. "Ș": "S",
  278. "ș": "s",
  279. "ş": "s",
  280. "Š": "S",
  281. "š": "s",
  282. "Ţ": "T",
  283. "ţ": "t",
  284. "ț": "t",
  285. "Ț": "T",
  286. "Ť": "T",
  287. "ť": "t",
  288. "Ŧ": "T",
  289. "ŧ": "t",
  290. "T̆": "T",
  291. "t̆": "t",
  292. "Ũ": "U",
  293. "ũ": "u",
  294. "Ū": "U",
  295. "ū": "u",
  296. "Ŭ": "U",
  297. "ŭ": "u",
  298. "Ů": "U",
  299. "ů": "u",
  300. "Ű": "U",
  301. "ű": "u",
  302. "Ų": "U",
  303. "ų": "u",
  304. "Ȗ": "U",
  305. "ȗ": "u",
  306. "V̆": "V",
  307. "v̆": "v",
  308. "Ŵ": "W",
  309. "ŵ": "w",
  310. "Ẃ": "W",
  311. "ẃ": "w",
  312. "X̆": "X",
  313. "x̆": "x",
  314. "Ŷ": "Y",
  315. "ŷ": "y",
  316. "Ÿ": "Y",
  317. "Y̆": "Y",
  318. "y̆": "y",
  319. "Ź": "Z",
  320. "ź": "z",
  321. "Ż": "Z",
  322. "ż": "z",
  323. "Ž": "Z",
  324. "ž": "z",
  325. "ſ": "s",
  326. "ƒ": "f",
  327. "Ơ": "O",
  328. "ơ": "o",
  329. "Ư": "U",
  330. "ư": "u",
  331. "Ǎ": "A",
  332. "ǎ": "a",
  333. "Ǐ": "I",
  334. "ǐ": "i",
  335. "Ǒ": "O",
  336. "ǒ": "o",
  337. "Ǔ": "U",
  338. "ǔ": "u",
  339. "Ǖ": "U",
  340. "ǖ": "u",
  341. "Ǘ": "U",
  342. "ǘ": "u",
  343. "Ǚ": "U",
  344. "ǚ": "u",
  345. "Ǜ": "U",
  346. "ǜ": "u",
  347. "Ứ": "U",
  348. "ứ": "u",
  349. "Ṹ": "U",
  350. "ṹ": "u",
  351. "Ǻ": "A",
  352. "ǻ": "a",
  353. "Ǽ": "AE",
  354. "ǽ": "ae",
  355. "Ǿ": "O",
  356. "ǿ": "o",
  357. "Þ": "TH",
  358. "þ": "th",
  359. "Ṕ": "P",
  360. "ṕ": "p",
  361. "Ṥ": "S",
  362. "ṥ": "s",
  363. "X́": "X",
  364. "x́": "x",
  365. "Ѓ": "Г",
  366. "ѓ": "г",
  367. "Ќ": "К",
  368. "ќ": "к",
  369. "A̋": "A",
  370. "a̋": "a",
  371. "E̋": "E",
  372. "e̋": "e",
  373. "I̋": "I",
  374. "i̋": "i",
  375. "Ǹ": "N",
  376. "ǹ": "n",
  377. "Ồ": "O",
  378. "ồ": "o",
  379. "Ṑ": "O",
  380. "ṑ": "o",
  381. "Ừ": "U",
  382. "ừ": "u",
  383. "Ẁ": "W",
  384. "ẁ": "w",
  385. "Ỳ": "Y",
  386. "ỳ": "y",
  387. "Ȁ": "A",
  388. "ȁ": "a",
  389. "Ȅ": "E",
  390. "ȅ": "e",
  391. "Ȉ": "I",
  392. "ȉ": "i",
  393. "Ȍ": "O",
  394. "ȍ": "o",
  395. "Ȑ": "R",
  396. "ȑ": "r",
  397. "Ȕ": "U",
  398. "ȕ": "u",
  399. "B̌": "B",
  400. "b̌": "b",
  401. "Č̣": "C",
  402. "č̣": "c",
  403. "Ê̌": "E",
  404. "ê̌": "e",
  405. "F̌": "F",
  406. "f̌": "f",
  407. "Ǧ": "G",
  408. "ǧ": "g",
  409. "Ȟ": "H",
  410. "ȟ": "h",
  411. "J̌": "J",
  412. "ǰ": "j",
  413. "Ǩ": "K",
  414. "ǩ": "k",
  415. "M̌": "M",
  416. "m̌": "m",
  417. "P̌": "P",
  418. "p̌": "p",
  419. "Q̌": "Q",
  420. "q̌": "q",
  421. "Ř̩": "R",
  422. "ř̩": "r",
  423. "Ṧ": "S",
  424. "ṧ": "s",
  425. "V̌": "V",
  426. "v̌": "v",
  427. "W̌": "W",
  428. "w̌": "w",
  429. "X̌": "X",
  430. "x̌": "x",
  431. "Y̌": "Y",
  432. "y̌": "y",
  433. "A̧": "A",
  434. "a̧": "a",
  435. "B̧": "B",
  436. "b̧": "b",
  437. "Ḑ": "D",
  438. "ḑ": "d",
  439. "Ȩ": "E",
  440. "ȩ": "e",
  441. "Ɛ̧": "E",
  442. "ɛ̧": "e",
  443. "Ḩ": "H",
  444. "ḩ": "h",
  445. "I̧": "I",
  446. "i̧": "i",
  447. "Ɨ̧": "I",
  448. "ɨ̧": "i",
  449. "M̧": "M",
  450. "m̧": "m",
  451. "O̧": "O",
  452. "o̧": "o",
  453. "Q̧": "Q",
  454. "q̧": "q",
  455. "U̧": "U",
  456. "u̧": "u",
  457. "X̧": "X",
  458. "x̧": "x",
  459. "Z̧": "Z",
  460. "z̧": "z",
  461. "й":"и",
  462. "Й":"И",
  463. "ё":"е",
  464. "Ё":"Е",
  465. };
  466. var chars = Object.keys(characterMap).join('|');
  467. var allAccents = new RegExp(chars, 'g');
  468. var firstAccent = new RegExp(chars, '');
  469. function matcher(match) {
  470. return characterMap[match];
  471. }
  472. var removeAccents = function(string) {
  473. return string.replace(allAccents, matcher);
  474. };
  475. var hasAccents = function(string) {
  476. return !!string.match(firstAccent);
  477. };
  478. module.exports = removeAccents;
  479. module.exports.has = hasAccents;
  480. module.exports.remove = removeAccents;
  481. /***/ })
  482. /******/ });
  483. /************************************************************************/
  484. /******/ // The module cache
  485. /******/ var __webpack_module_cache__ = {};
  486. /******/
  487. /******/ // The require function
  488. /******/ function __webpack_require__(moduleId) {
  489. /******/ // Check if module is in cache
  490. /******/ var cachedModule = __webpack_module_cache__[moduleId];
  491. /******/ if (cachedModule !== undefined) {
  492. /******/ return cachedModule.exports;
  493. /******/ }
  494. /******/ // Create a new module (and put it into the cache)
  495. /******/ var module = __webpack_module_cache__[moduleId] = {
  496. /******/ // no module.id needed
  497. /******/ // no module.loaded needed
  498. /******/ exports: {}
  499. /******/ };
  500. /******/
  501. /******/ // Execute the module function
  502. /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
  503. /******/
  504. /******/ // Return the exports of the module
  505. /******/ return module.exports;
  506. /******/ }
  507. /******/
  508. /************************************************************************/
  509. /******/ /* webpack/runtime/compat get default export */
  510. /******/ !function() {
  511. /******/ // getDefaultExport function for compatibility with non-harmony modules
  512. /******/ __webpack_require__.n = function(module) {
  513. /******/ var getter = module && module.__esModule ?
  514. /******/ function() { return module['default']; } :
  515. /******/ function() { return module; };
  516. /******/ __webpack_require__.d(getter, { a: getter });
  517. /******/ return getter;
  518. /******/ };
  519. /******/ }();
  520. /******/
  521. /******/ /* webpack/runtime/define property getters */
  522. /******/ !function() {
  523. /******/ // define getter functions for harmony exports
  524. /******/ __webpack_require__.d = function(exports, definition) {
  525. /******/ for(var key in definition) {
  526. /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
  527. /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
  528. /******/ }
  529. /******/ }
  530. /******/ };
  531. /******/ }();
  532. /******/
  533. /******/ /* webpack/runtime/hasOwnProperty shorthand */
  534. /******/ !function() {
  535. /******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }
  536. /******/ }();
  537. /******/
  538. /******/ /* webpack/runtime/make namespace object */
  539. /******/ !function() {
  540. /******/ // define __esModule on exports
  541. /******/ __webpack_require__.r = function(exports) {
  542. /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
  543. /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
  544. /******/ }
  545. /******/ Object.defineProperty(exports, '__esModule', { value: true });
  546. /******/ };
  547. /******/ }();
  548. /******/
  549. /************************************************************************/
  550. var __webpack_exports__ = {};
  551. // This entry need to be wrapped in an IIFE because it need to be in strict mode.
  552. !function() {
  553. "use strict";
  554. // ESM COMPAT FLAG
  555. __webpack_require__.r(__webpack_exports__);
  556. // EXPORTS
  557. __webpack_require__.d(__webpack_exports__, {
  558. addQueryArgs: function() { return /* reexport */ addQueryArgs; },
  559. buildQueryString: function() { return /* reexport */ buildQueryString; },
  560. cleanForSlug: function() { return /* reexport */ cleanForSlug; },
  561. filterURLForDisplay: function() { return /* reexport */ filterURLForDisplay; },
  562. getAuthority: function() { return /* reexport */ getAuthority; },
  563. getFilename: function() { return /* reexport */ getFilename; },
  564. getFragment: function() { return /* reexport */ getFragment; },
  565. getPath: function() { return /* reexport */ getPath; },
  566. getPathAndQueryString: function() { return /* reexport */ getPathAndQueryString; },
  567. getProtocol: function() { return /* reexport */ getProtocol; },
  568. getQueryArg: function() { return /* reexport */ getQueryArg; },
  569. getQueryArgs: function() { return /* reexport */ getQueryArgs; },
  570. getQueryString: function() { return /* reexport */ getQueryString; },
  571. hasQueryArg: function() { return /* reexport */ hasQueryArg; },
  572. isEmail: function() { return /* reexport */ isEmail; },
  573. isURL: function() { return /* reexport */ isURL; },
  574. isValidAuthority: function() { return /* reexport */ isValidAuthority; },
  575. isValidFragment: function() { return /* reexport */ isValidFragment; },
  576. isValidPath: function() { return /* reexport */ isValidPath; },
  577. isValidProtocol: function() { return /* reexport */ isValidProtocol; },
  578. isValidQueryString: function() { return /* reexport */ isValidQueryString; },
  579. normalizePath: function() { return /* reexport */ normalizePath; },
  580. prependHTTP: function() { return /* reexport */ prependHTTP; },
  581. prependHTTPS: function() { return /* reexport */ prependHTTPS; },
  582. removeQueryArgs: function() { return /* reexport */ removeQueryArgs; },
  583. safeDecodeURI: function() { return /* reexport */ safeDecodeURI; },
  584. safeDecodeURIComponent: function() { return /* reexport */ safeDecodeURIComponent; }
  585. });
  586. ;// CONCATENATED MODULE: ./node_modules/@wordpress/url/build-module/is-url.js
  587. /**
  588. * Determines whether the given string looks like a URL.
  589. *
  590. * @param {string} url The string to scrutinise.
  591. *
  592. * @example
  593. * ```js
  594. * const isURL = isURL( 'https://wordpress.org' ); // true
  595. * ```
  596. *
  597. * @see https://url.spec.whatwg.org/
  598. * @see https://url.spec.whatwg.org/#valid-url-string
  599. *
  600. * @return {boolean} Whether or not it looks like a URL.
  601. */
  602. function isURL(url) {
  603. // A URL can be considered value if the `URL` constructor is able to parse
  604. // it. The constructor throws an error for an invalid URL.
  605. try {
  606. new URL(url);
  607. return true;
  608. } catch {
  609. return false;
  610. }
  611. }
  612. ;// CONCATENATED MODULE: ./node_modules/@wordpress/url/build-module/is-email.js
  613. const EMAIL_REGEXP = /^(mailto:)?[a-z0-9._%+-]+@[a-z0-9][a-z0-9.-]*\.[a-z]{2,63}$/i;
  614. /**
  615. * Determines whether the given string looks like an email.
  616. *
  617. * @param {string} email The string to scrutinise.
  618. *
  619. * @example
  620. * ```js
  621. * const isEmail = isEmail( 'hello@wordpress.org' ); // true
  622. * ```
  623. *
  624. * @return {boolean} Whether or not it looks like an email.
  625. */
  626. function isEmail(email) {
  627. return EMAIL_REGEXP.test(email);
  628. }
  629. ;// CONCATENATED MODULE: ./node_modules/@wordpress/url/build-module/get-protocol.js
  630. /**
  631. * Returns the protocol part of the URL.
  632. *
  633. * @param {string} url The full URL.
  634. *
  635. * @example
  636. * ```js
  637. * const protocol1 = getProtocol( 'tel:012345678' ); // 'tel:'
  638. * const protocol2 = getProtocol( 'https://wordpress.org' ); // 'https:'
  639. * ```
  640. *
  641. * @return {string|void} The protocol part of the URL.
  642. */
  643. function getProtocol(url) {
  644. const matches = /^([^\s:]+:)/.exec(url);
  645. if (matches) {
  646. return matches[1];
  647. }
  648. }
  649. ;// CONCATENATED MODULE: ./node_modules/@wordpress/url/build-module/is-valid-protocol.js
  650. /**
  651. * Tests if a url protocol is valid.
  652. *
  653. * @param {string} protocol The url protocol.
  654. *
  655. * @example
  656. * ```js
  657. * const isValid = isValidProtocol( 'https:' ); // true
  658. * const isNotValid = isValidProtocol( 'https :' ); // false
  659. * ```
  660. *
  661. * @return {boolean} True if the argument is a valid protocol (e.g. http:, tel:).
  662. */
  663. function isValidProtocol(protocol) {
  664. if (!protocol) {
  665. return false;
  666. }
  667. return /^[a-z\-.\+]+[0-9]*:$/i.test(protocol);
  668. }
  669. ;// CONCATENATED MODULE: ./node_modules/@wordpress/url/build-module/get-authority.js
  670. /**
  671. * Returns the authority part of the URL.
  672. *
  673. * @param {string} url The full URL.
  674. *
  675. * @example
  676. * ```js
  677. * const authority1 = getAuthority( 'https://wordpress.org/help/' ); // 'wordpress.org'
  678. * const authority2 = getAuthority( 'https://localhost:8080/test/' ); // 'localhost:8080'
  679. * ```
  680. *
  681. * @return {string|void} The authority part of the URL.
  682. */
  683. function getAuthority(url) {
  684. const matches = /^[^\/\s:]+:(?:\/\/)?\/?([^\/\s#?]+)[\/#?]{0,1}\S*$/.exec(url);
  685. if (matches) {
  686. return matches[1];
  687. }
  688. }
  689. ;// CONCATENATED MODULE: ./node_modules/@wordpress/url/build-module/is-valid-authority.js
  690. /**
  691. * Checks for invalid characters within the provided authority.
  692. *
  693. * @param {string} authority A string containing the URL authority.
  694. *
  695. * @example
  696. * ```js
  697. * const isValid = isValidAuthority( 'wordpress.org' ); // true
  698. * const isNotValid = isValidAuthority( 'wordpress#org' ); // false
  699. * ```
  700. *
  701. * @return {boolean} True if the argument contains a valid authority.
  702. */
  703. function isValidAuthority(authority) {
  704. if (!authority) {
  705. return false;
  706. }
  707. return /^[^\s#?]+$/.test(authority);
  708. }
  709. ;// CONCATENATED MODULE: ./node_modules/@wordpress/url/build-module/get-path.js
  710. /**
  711. * Returns the path part of the URL.
  712. *
  713. * @param {string} url The full URL.
  714. *
  715. * @example
  716. * ```js
  717. * const path1 = getPath( 'http://localhost:8080/this/is/a/test?query=true' ); // 'this/is/a/test'
  718. * const path2 = getPath( 'https://wordpress.org/help/faq/' ); // 'help/faq'
  719. * ```
  720. *
  721. * @return {string|void} The path part of the URL.
  722. */
  723. function getPath(url) {
  724. const matches = /^[^\/\s:]+:(?:\/\/)?[^\/\s#?]+[\/]([^\s#?]+)[#?]{0,1}\S*$/.exec(url);
  725. if (matches) {
  726. return matches[1];
  727. }
  728. }
  729. ;// CONCATENATED MODULE: ./node_modules/@wordpress/url/build-module/is-valid-path.js
  730. /**
  731. * Checks for invalid characters within the provided path.
  732. *
  733. * @param {string} path The URL path.
  734. *
  735. * @example
  736. * ```js
  737. * const isValid = isValidPath( 'test/path/' ); // true
  738. * const isNotValid = isValidPath( '/invalid?test/path/' ); // false
  739. * ```
  740. *
  741. * @return {boolean} True if the argument contains a valid path
  742. */
  743. function isValidPath(path) {
  744. if (!path) {
  745. return false;
  746. }
  747. return /^[^\s#?]+$/.test(path);
  748. }
  749. ;// CONCATENATED MODULE: ./node_modules/@wordpress/url/build-module/get-query-string.js
  750. /**
  751. * Returns the query string part of the URL.
  752. *
  753. * @param {string} url The full URL.
  754. *
  755. * @example
  756. * ```js
  757. * const queryString = getQueryString( 'http://localhost:8080/this/is/a/test?query=true#fragment' ); // 'query=true'
  758. * ```
  759. *
  760. * @return {string|void} The query string part of the URL.
  761. */
  762. function getQueryString(url) {
  763. let query;
  764. try {
  765. query = new URL(url, 'http://example.com').search.substring(1);
  766. } catch (error) {}
  767. if (query) {
  768. return query;
  769. }
  770. }
  771. ;// CONCATENATED MODULE: ./node_modules/@wordpress/url/build-module/build-query-string.js
  772. /**
  773. * Generates URL-encoded query string using input query data.
  774. *
  775. * It is intended to behave equivalent as PHP's `http_build_query`, configured
  776. * with encoding type PHP_QUERY_RFC3986 (spaces as `%20`).
  777. *
  778. * @example
  779. * ```js
  780. * const queryString = buildQueryString( {
  781. * simple: 'is ok',
  782. * arrays: [ 'are', 'fine', 'too' ],
  783. * objects: {
  784. * evenNested: {
  785. * ok: 'yes',
  786. * },
  787. * },
  788. * } );
  789. * // "simple=is%20ok&arrays%5B0%5D=are&arrays%5B1%5D=fine&arrays%5B2%5D=too&objects%5BevenNested%5D%5Bok%5D=yes"
  790. * ```
  791. *
  792. * @param {Record<string,*>} data Data to encode.
  793. *
  794. * @return {string} Query string.
  795. */
  796. function buildQueryString(data) {
  797. let string = '';
  798. const stack = Object.entries(data);
  799. let pair;
  800. while (pair = stack.shift()) {
  801. let [key, value] = pair;
  802. // Support building deeply nested data, from array or object values.
  803. const hasNestedData = Array.isArray(value) || value && value.constructor === Object;
  804. if (hasNestedData) {
  805. // Push array or object values onto the stack as composed of their
  806. // original key and nested index or key, retaining order by a
  807. // combination of Array#reverse and Array#unshift onto the stack.
  808. const valuePairs = Object.entries(value).reverse();
  809. for (const [member, memberValue] of valuePairs) {
  810. stack.unshift([`${key}[${member}]`, memberValue]);
  811. }
  812. } else if (value !== undefined) {
  813. // Null is treated as special case, equivalent to empty string.
  814. if (value === null) {
  815. value = '';
  816. }
  817. string += '&' + [key, value].map(encodeURIComponent).join('=');
  818. }
  819. }
  820. // Loop will concatenate with leading `&`, but it's only expected for all
  821. // but the first query parameter. This strips the leading `&`, while still
  822. // accounting for the case that the string may in-fact be empty.
  823. return string.substr(1);
  824. }
  825. ;// CONCATENATED MODULE: ./node_modules/@wordpress/url/build-module/is-valid-query-string.js
  826. /**
  827. * Checks for invalid characters within the provided query string.
  828. *
  829. * @param {string} queryString The query string.
  830. *
  831. * @example
  832. * ```js
  833. * const isValid = isValidQueryString( 'query=true&another=false' ); // true
  834. * const isNotValid = isValidQueryString( 'query=true?another=false' ); // false
  835. * ```
  836. *
  837. * @return {boolean} True if the argument contains a valid query string.
  838. */
  839. function isValidQueryString(queryString) {
  840. if (!queryString) {
  841. return false;
  842. }
  843. return /^[^\s#?\/]+$/.test(queryString);
  844. }
  845. ;// CONCATENATED MODULE: ./node_modules/@wordpress/url/build-module/get-path-and-query-string.js
  846. /**
  847. * Internal dependencies
  848. */
  849. /**
  850. * Returns the path part and query string part of the URL.
  851. *
  852. * @param {string} url The full URL.
  853. *
  854. * @example
  855. * ```js
  856. * const pathAndQueryString1 = getPathAndQueryString( 'http://localhost:8080/this/is/a/test?query=true' ); // '/this/is/a/test?query=true'
  857. * const pathAndQueryString2 = getPathAndQueryString( 'https://wordpress.org/help/faq/' ); // '/help/faq'
  858. * ```
  859. *
  860. * @return {string} The path part and query string part of the URL.
  861. */
  862. function getPathAndQueryString(url) {
  863. const path = getPath(url);
  864. const queryString = getQueryString(url);
  865. let value = '/';
  866. if (path) value += path;
  867. if (queryString) value += `?${queryString}`;
  868. return value;
  869. }
  870. ;// CONCATENATED MODULE: ./node_modules/@wordpress/url/build-module/get-fragment.js
  871. /**
  872. * Returns the fragment part of the URL.
  873. *
  874. * @param {string} url The full URL
  875. *
  876. * @example
  877. * ```js
  878. * const fragment1 = getFragment( 'http://localhost:8080/this/is/a/test?query=true#fragment' ); // '#fragment'
  879. * const fragment2 = getFragment( 'https://wordpress.org#another-fragment?query=true' ); // '#another-fragment'
  880. * ```
  881. *
  882. * @return {string|void} The fragment part of the URL.
  883. */
  884. function getFragment(url) {
  885. const matches = /^\S+?(#[^\s\?]*)/.exec(url);
  886. if (matches) {
  887. return matches[1];
  888. }
  889. }
  890. ;// CONCATENATED MODULE: ./node_modules/@wordpress/url/build-module/is-valid-fragment.js
  891. /**
  892. * Checks for invalid characters within the provided fragment.
  893. *
  894. * @param {string} fragment The url fragment.
  895. *
  896. * @example
  897. * ```js
  898. * const isValid = isValidFragment( '#valid-fragment' ); // true
  899. * const isNotValid = isValidFragment( '#invalid-#fragment' ); // false
  900. * ```
  901. *
  902. * @return {boolean} True if the argument contains a valid fragment.
  903. */
  904. function isValidFragment(fragment) {
  905. if (!fragment) {
  906. return false;
  907. }
  908. return /^#[^\s#?\/]*$/.test(fragment);
  909. }
  910. ;// CONCATENATED MODULE: ./node_modules/@wordpress/url/build-module/safe-decode-uri-component.js
  911. /**
  912. * Safely decodes a URI component with `decodeURIComponent`. Returns the URI component unmodified if
  913. * `decodeURIComponent` throws an error.
  914. *
  915. * @param {string} uriComponent URI component to decode.
  916. *
  917. * @return {string} Decoded URI component if possible.
  918. */
  919. function safeDecodeURIComponent(uriComponent) {
  920. try {
  921. return decodeURIComponent(uriComponent);
  922. } catch (uriComponentError) {
  923. return uriComponent;
  924. }
  925. }
  926. ;// CONCATENATED MODULE: ./node_modules/@wordpress/url/build-module/get-query-args.js
  927. /**
  928. * Internal dependencies
  929. */
  930. /** @typedef {import('./get-query-arg').QueryArgParsed} QueryArgParsed */
  931. /**
  932. * @typedef {Record<string,QueryArgParsed>} QueryArgs
  933. */
  934. /**
  935. * Sets a value in object deeply by a given array of path segments. Mutates the
  936. * object reference.
  937. *
  938. * @param {Record<string,*>} object Object in which to assign.
  939. * @param {string[]} path Path segment at which to set value.
  940. * @param {*} value Value to set.
  941. */
  942. function setPath(object, path, value) {
  943. const length = path.length;
  944. const lastIndex = length - 1;
  945. for (let i = 0; i < length; i++) {
  946. let key = path[i];
  947. if (!key && Array.isArray(object)) {
  948. // If key is empty string and next value is array, derive key from
  949. // the current length of the array.
  950. key = object.length.toString();
  951. }
  952. key = ['__proto__', 'constructor', 'prototype'].includes(key) ? key.toUpperCase() : key;
  953. // If the next key in the path is numeric (or empty string), it will be
  954. // created as an array. Otherwise, it will be created as an object.
  955. const isNextKeyArrayIndex = !isNaN(Number(path[i + 1]));
  956. object[key] = i === lastIndex ?
  957. // If at end of path, assign the intended value.
  958. value :
  959. // Otherwise, advance to the next object in the path, creating
  960. // it if it does not yet exist.
  961. object[key] || (isNextKeyArrayIndex ? [] : {});
  962. if (Array.isArray(object[key]) && !isNextKeyArrayIndex) {
  963. // If we current key is non-numeric, but the next value is an
  964. // array, coerce the value to an object.
  965. object[key] = {
  966. ...object[key]
  967. };
  968. }
  969. // Update working reference object to the next in the path.
  970. object = object[key];
  971. }
  972. }
  973. /**
  974. * Returns an object of query arguments of the given URL. If the given URL is
  975. * invalid or has no querystring, an empty object is returned.
  976. *
  977. * @param {string} url URL.
  978. *
  979. * @example
  980. * ```js
  981. * const foo = getQueryArgs( 'https://wordpress.org?foo=bar&bar=baz' );
  982. * // { "foo": "bar", "bar": "baz" }
  983. * ```
  984. *
  985. * @return {QueryArgs} Query args object.
  986. */
  987. function getQueryArgs(url) {
  988. return (getQueryString(url) || ''
  989. // Normalize space encoding, accounting for PHP URL encoding
  990. // corresponding to `application/x-www-form-urlencoded`.
  991. //
  992. // See: https://tools.ietf.org/html/rfc1866#section-8.2.1
  993. ).replace(/\+/g, '%20').split('&').reduce((accumulator, keyValue) => {
  994. const [key, value = ''] = keyValue.split('=')
  995. // Filtering avoids decoding as `undefined` for value, where
  996. // default is restored in destructuring assignment.
  997. .filter(Boolean).map(safeDecodeURIComponent);
  998. if (key) {
  999. const segments = key.replace(/\]/g, '').split('[');
  1000. setPath(accumulator, segments, value);
  1001. }
  1002. return accumulator;
  1003. }, Object.create(null));
  1004. }
  1005. ;// CONCATENATED MODULE: ./node_modules/@wordpress/url/build-module/add-query-args.js
  1006. /**
  1007. * Internal dependencies
  1008. */
  1009. /**
  1010. * Appends arguments as querystring to the provided URL. If the URL already
  1011. * includes query arguments, the arguments are merged with (and take precedent
  1012. * over) the existing set.
  1013. *
  1014. * @param {string} [url=''] URL to which arguments should be appended. If omitted,
  1015. * only the resulting querystring is returned.
  1016. * @param {Object} [args] Query arguments to apply to URL.
  1017. *
  1018. * @example
  1019. * ```js
  1020. * const newURL = addQueryArgs( 'https://google.com', { q: 'test' } ); // https://google.com/?q=test
  1021. * ```
  1022. *
  1023. * @return {string} URL with arguments applied.
  1024. */
  1025. function addQueryArgs(url = '', args) {
  1026. // If no arguments are to be appended, return original URL.
  1027. if (!args || !Object.keys(args).length) {
  1028. return url;
  1029. }
  1030. let baseUrl = url;
  1031. // Determine whether URL already had query arguments.
  1032. const queryStringIndex = url.indexOf('?');
  1033. if (queryStringIndex !== -1) {
  1034. // Merge into existing query arguments.
  1035. args = Object.assign(getQueryArgs(url), args);
  1036. // Change working base URL to omit previous query arguments.
  1037. baseUrl = baseUrl.substr(0, queryStringIndex);
  1038. }
  1039. return baseUrl + '?' + buildQueryString(args);
  1040. }
  1041. ;// CONCATENATED MODULE: ./node_modules/@wordpress/url/build-module/get-query-arg.js
  1042. /**
  1043. * Internal dependencies
  1044. */
  1045. /**
  1046. * @typedef {{[key: string]: QueryArgParsed}} QueryArgObject
  1047. */
  1048. /**
  1049. * @typedef {string|string[]|QueryArgObject} QueryArgParsed
  1050. */
  1051. /**
  1052. * Returns a single query argument of the url
  1053. *
  1054. * @param {string} url URL.
  1055. * @param {string} arg Query arg name.
  1056. *
  1057. * @example
  1058. * ```js
  1059. * const foo = getQueryArg( 'https://wordpress.org?foo=bar&bar=baz', 'foo' ); // bar
  1060. * ```
  1061. *
  1062. * @return {QueryArgParsed|void} Query arg value.
  1063. */
  1064. function getQueryArg(url, arg) {
  1065. return getQueryArgs(url)[arg];
  1066. }
  1067. ;// CONCATENATED MODULE: ./node_modules/@wordpress/url/build-module/has-query-arg.js
  1068. /**
  1069. * Internal dependencies
  1070. */
  1071. /**
  1072. * Determines whether the URL contains a given query arg.
  1073. *
  1074. * @param {string} url URL.
  1075. * @param {string} arg Query arg name.
  1076. *
  1077. * @example
  1078. * ```js
  1079. * const hasBar = hasQueryArg( 'https://wordpress.org?foo=bar&bar=baz', 'bar' ); // true
  1080. * ```
  1081. *
  1082. * @return {boolean} Whether or not the URL contains the query arg.
  1083. */
  1084. function hasQueryArg(url, arg) {
  1085. return getQueryArg(url, arg) !== undefined;
  1086. }
  1087. ;// CONCATENATED MODULE: ./node_modules/@wordpress/url/build-module/remove-query-args.js
  1088. /**
  1089. * Internal dependencies
  1090. */
  1091. /**
  1092. * Removes arguments from the query string of the url
  1093. *
  1094. * @param {string} url URL.
  1095. * @param {...string} args Query Args.
  1096. *
  1097. * @example
  1098. * ```js
  1099. * const newUrl = removeQueryArgs( 'https://wordpress.org?foo=bar&bar=baz&baz=foobar', 'foo', 'bar' ); // https://wordpress.org?baz=foobar
  1100. * ```
  1101. *
  1102. * @return {string} Updated URL.
  1103. */
  1104. function removeQueryArgs(url, ...args) {
  1105. const queryStringIndex = url.indexOf('?');
  1106. if (queryStringIndex === -1) {
  1107. return url;
  1108. }
  1109. const query = getQueryArgs(url);
  1110. const baseURL = url.substr(0, queryStringIndex);
  1111. args.forEach(arg => delete query[arg]);
  1112. const queryString = buildQueryString(query);
  1113. return queryString ? baseURL + '?' + queryString : baseURL;
  1114. }
  1115. ;// CONCATENATED MODULE: ./node_modules/@wordpress/url/build-module/prepend-http.js
  1116. /**
  1117. * Internal dependencies
  1118. */
  1119. const USABLE_HREF_REGEXP = /^(?:[a-z]+:|#|\?|\.|\/)/i;
  1120. /**
  1121. * Prepends "http://" to a url, if it looks like something that is meant to be a TLD.
  1122. *
  1123. * @param {string} url The URL to test.
  1124. *
  1125. * @example
  1126. * ```js
  1127. * const actualURL = prependHTTP( 'wordpress.org' ); // http://wordpress.org
  1128. * ```
  1129. *
  1130. * @return {string} The updated URL.
  1131. */
  1132. function prependHTTP(url) {
  1133. if (!url) {
  1134. return url;
  1135. }
  1136. url = url.trim();
  1137. if (!USABLE_HREF_REGEXP.test(url) && !isEmail(url)) {
  1138. return 'http://' + url;
  1139. }
  1140. return url;
  1141. }
  1142. ;// CONCATENATED MODULE: ./node_modules/@wordpress/url/build-module/safe-decode-uri.js
  1143. /**
  1144. * Safely decodes a URI with `decodeURI`. Returns the URI unmodified if
  1145. * `decodeURI` throws an error.
  1146. *
  1147. * @param {string} uri URI to decode.
  1148. *
  1149. * @example
  1150. * ```js
  1151. * const badUri = safeDecodeURI( '%z' ); // does not throw an Error, simply returns '%z'
  1152. * ```
  1153. *
  1154. * @return {string} Decoded URI if possible.
  1155. */
  1156. function safeDecodeURI(uri) {
  1157. try {
  1158. return decodeURI(uri);
  1159. } catch (uriError) {
  1160. return uri;
  1161. }
  1162. }
  1163. ;// CONCATENATED MODULE: ./node_modules/@wordpress/url/build-module/filter-url-for-display.js
  1164. /**
  1165. * Returns a URL for display.
  1166. *
  1167. * @param {string} url Original URL.
  1168. * @param {number|null} maxLength URL length.
  1169. *
  1170. * @example
  1171. * ```js
  1172. * const displayUrl = filterURLForDisplay( 'https://www.wordpress.org/gutenberg/' ); // wordpress.org/gutenberg
  1173. * const imageUrl = filterURLForDisplay( 'https://www.wordpress.org/wp-content/uploads/img.png', 20 ); // …ent/uploads/img.png
  1174. * ```
  1175. *
  1176. * @return {string} Displayed URL.
  1177. */
  1178. function filterURLForDisplay(url, maxLength = null) {
  1179. // Remove protocol and www prefixes.
  1180. let filteredURL = url.replace(/^(?:https?:)\/\/(?:www\.)?/, '');
  1181. // Ends with / and only has that single slash, strip it.
  1182. if (filteredURL.match(/^[^\/]+\/$/)) {
  1183. filteredURL = filteredURL.replace('/', '');
  1184. }
  1185. const mediaRegexp = /([\w|:])*\.(?:jpg|jpeg|gif|png|svg)/;
  1186. if (!maxLength || filteredURL.length <= maxLength || !filteredURL.match(mediaRegexp)) {
  1187. return filteredURL;
  1188. }
  1189. // If the file is not greater than max length, return last portion of URL.
  1190. filteredURL = filteredURL.split('?')[0];
  1191. const urlPieces = filteredURL.split('/');
  1192. const file = urlPieces[urlPieces.length - 1];
  1193. if (file.length <= maxLength) {
  1194. return '…' + filteredURL.slice(-maxLength);
  1195. }
  1196. // If the file is greater than max length, truncate the file.
  1197. const index = file.lastIndexOf('.');
  1198. const [fileName, extension] = [file.slice(0, index), file.slice(index + 1)];
  1199. const truncatedFile = fileName.slice(-3) + '.' + extension;
  1200. return file.slice(0, maxLength - truncatedFile.length - 1) + '…' + truncatedFile;
  1201. }
  1202. // EXTERNAL MODULE: ./node_modules/remove-accents/index.js
  1203. var remove_accents = __webpack_require__(4793);
  1204. var remove_accents_default = /*#__PURE__*/__webpack_require__.n(remove_accents);
  1205. ;// CONCATENATED MODULE: ./node_modules/@wordpress/url/build-module/clean-for-slug.js
  1206. /**
  1207. * External dependencies
  1208. */
  1209. /**
  1210. * Performs some basic cleanup of a string for use as a post slug.
  1211. *
  1212. * This replicates some of what `sanitize_title()` does in WordPress core, but
  1213. * is only designed to approximate what the slug will be.
  1214. *
  1215. * Converts Latin-1 Supplement and Latin Extended-A letters to basic Latin
  1216. * letters. Removes combining diacritical marks. Converts whitespace, periods,
  1217. * and forward slashes to hyphens. Removes any remaining non-word characters
  1218. * except hyphens. Converts remaining string to lowercase. It does not account
  1219. * for octets, HTML entities, or other encoded characters.
  1220. *
  1221. * @param {string} string Title or slug to be processed.
  1222. *
  1223. * @return {string} Processed string.
  1224. */
  1225. function cleanForSlug(string) {
  1226. if (!string) {
  1227. return '';
  1228. }
  1229. return remove_accents_default()(string)
  1230. // Convert each group of whitespace, periods, and forward slashes to a hyphen.
  1231. .replace(/[\s\./]+/g, '-')
  1232. // Remove anything that's not a letter, number, underscore or hyphen.
  1233. .replace(/[^\p{L}\p{N}_-]+/gu, '')
  1234. // Convert to lowercase
  1235. .toLowerCase()
  1236. // Replace multiple hyphens with a single one.
  1237. .replace(/-+/g, '-')
  1238. // Remove any remaining leading or trailing hyphens.
  1239. .replace(/(^-+)|(-+$)/g, '');
  1240. }
  1241. ;// CONCATENATED MODULE: ./node_modules/@wordpress/url/build-module/get-filename.js
  1242. /**
  1243. * Returns the filename part of the URL.
  1244. *
  1245. * @param {string} url The full URL.
  1246. *
  1247. * @example
  1248. * ```js
  1249. * const filename1 = getFilename( 'http://localhost:8080/this/is/a/test.jpg' ); // 'test.jpg'
  1250. * const filename2 = getFilename( '/this/is/a/test.png' ); // 'test.png'
  1251. * ```
  1252. *
  1253. * @return {string|void} The filename part of the URL.
  1254. */
  1255. function getFilename(url) {
  1256. let filename;
  1257. try {
  1258. filename = new URL(url, 'http://example.com').pathname.split('/').pop();
  1259. } catch (error) {}
  1260. if (filename) {
  1261. return filename;
  1262. }
  1263. }
  1264. ;// CONCATENATED MODULE: ./node_modules/@wordpress/url/build-module/normalize-path.js
  1265. /**
  1266. * Given a path, returns a normalized path where equal query parameter values
  1267. * will be treated as identical, regardless of order they appear in the original
  1268. * text.
  1269. *
  1270. * @param {string} path Original path.
  1271. *
  1272. * @return {string} Normalized path.
  1273. */
  1274. function normalizePath(path) {
  1275. const splitted = path.split('?');
  1276. const query = splitted[1];
  1277. const base = splitted[0];
  1278. if (!query) {
  1279. return base;
  1280. }
  1281. // 'b=1%2C2&c=2&a=5'
  1282. return base + '?' + query
  1283. // [ 'b=1%2C2', 'c=2', 'a=5' ]
  1284. .split('&')
  1285. // [ [ 'b, '1%2C2' ], [ 'c', '2' ], [ 'a', '5' ] ]
  1286. .map(entry => entry.split('='))
  1287. // [ [ 'b', '1,2' ], [ 'c', '2' ], [ 'a', '5' ] ]
  1288. .map(pair => pair.map(decodeURIComponent))
  1289. // [ [ 'a', '5' ], [ 'b, '1,2' ], [ 'c', '2' ] ]
  1290. .sort((a, b) => a[0].localeCompare(b[0]))
  1291. // [ [ 'a', '5' ], [ 'b, '1%2C2' ], [ 'c', '2' ] ]
  1292. .map(pair => pair.map(encodeURIComponent))
  1293. // [ 'a=5', 'b=1%2C2', 'c=2' ]
  1294. .map(pair => pair.join('='))
  1295. // 'a=5&b=1%2C2&c=2'
  1296. .join('&');
  1297. }
  1298. ;// CONCATENATED MODULE: ./node_modules/@wordpress/url/build-module/prepend-https.js
  1299. /**
  1300. * Internal dependencies
  1301. */
  1302. /**
  1303. * Prepends "https://" to a url, if it looks like something that is meant to be a TLD.
  1304. *
  1305. * Note: this will not replace "http://" with "https://".
  1306. *
  1307. * @param {string} url The URL to test.
  1308. *
  1309. * @example
  1310. * ```js
  1311. * const actualURL = prependHTTPS( 'wordpress.org' ); // https://wordpress.org
  1312. * ```
  1313. *
  1314. * @return {string} The updated URL.
  1315. */
  1316. function prependHTTPS(url) {
  1317. if (!url) {
  1318. return url;
  1319. }
  1320. // If url starts with http://, return it as is.
  1321. if (url.startsWith('http://')) {
  1322. return url;
  1323. }
  1324. url = prependHTTP(url);
  1325. return url.replace(/^http:/, 'https:');
  1326. }
  1327. ;// CONCATENATED MODULE: ./node_modules/@wordpress/url/build-module/index.js
  1328. }();
  1329. (window.wp = window.wp || {}).url = __webpack_exports__;
  1330. /******/ })()
  1331. ;