| @@ -1,1820 +1 @@ | ||
| 1 | -/******/ (function() { // webpackBootstrap | |
| 2 | -/******/ "use strict"; | |
| 3 | -/******/ // The require scope | |
| 4 | -/******/ var __webpack_require__ = {}; | |
| 5 | -/******/ | |
| 6 | -/************************************************************************/ | |
| 7 | -/******/ /* webpack/runtime/make namespace object */ | |
| 8 | -/******/ !function() { | |
| 9 | -/******/ // define __esModule on exports | |
| 10 | -/******/ __webpack_require__.r = function(exports) { | |
| 11 | -/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { | |
| 12 | -/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); | |
| 13 | -/******/ } | |
| 14 | -/******/ Object.defineProperty(exports, '__esModule', { value: true }); | |
| 15 | -/******/ }; | |
| 16 | -/******/ }(); | |
| 17 | -/******/ | |
| 18 | -/************************************************************************/ | |
| 19 | -var __webpack_exports__ = {}; | |
| 20 | -// ESM COMPAT FLAG | |
| 21 | -__webpack_require__.r(__webpack_exports__); | |
| 22 | - | |
| 23 | -;// CONCATENATED MODULE: external ["wp","richText"] | |
| 24 | -var external_wp_richText_namespaceObject = window["wp"]["richText"]; | |
| 25 | -;// CONCATENATED MODULE: external ["wp","element"] | |
| 26 | -var external_wp_element_namespaceObject = window["wp"]["element"]; | |
| 27 | -;// CONCATENATED MODULE: external ["wp","i18n"] | |
| 28 | -var external_wp_i18n_namespaceObject = window["wp"]["i18n"]; | |
| 29 | -;// CONCATENATED MODULE: external ["wp","blockEditor"] | |
| 30 | -var external_wp_blockEditor_namespaceObject = window["wp"]["blockEditor"]; | |
| 31 | -;// CONCATENATED MODULE: external ["wp","primitives"] | |
| 32 | -var external_wp_primitives_namespaceObject = window["wp"]["primitives"]; | |
| 33 | -;// CONCATENATED MODULE: ./packages/icons/build-module/library/format-bold.js | |
| 34 | - | |
| 35 | - | |
| 36 | -/** | |
| 37 | - * WordPress dependencies | |
| 38 | - */ | |
| 39 | - | |
| 40 | -const formatBold = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { | |
| 41 | - xmlns: "http://www.w3.org/2000/svg", | |
| 42 | - viewBox: "0 0 24 24" | |
| 43 | -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { | |
| 44 | - d: "M14.7 11.3c1-.6 1.5-1.6 1.5-3 0-2.3-1.3-3.4-4-3.4H7v14h5.8c1.4 0 2.5-.3 3.3-1 .8-.7 1.2-1.7 1.2-2.9.1-1.9-.8-3.1-2.6-3.7zm-5.1-4h2.3c.6 0 1.1.1 1.4.4.3.3.5.7.5 1.2s-.2 1-.5 1.2c-.3.3-.8.4-1.4.4H9.6V7.3zm4.6 9c-.4.3-1 .4-1.7.4H9.6v-3.9h2.9c.7 0 1.3.2 1.7.5.4.3.6.8.6 1.5s-.2 1.2-.6 1.5z" | |
| 45 | -})); | |
| 46 | -/* harmony default export */ var format_bold = (formatBold); | |
| 47 | -//# sourceMappingURL=format-bold.js.map | |
| 48 | -;// CONCATENATED MODULE: ./packages/format-library/build-module/bold/index.js | |
| 49 | - | |
| 50 | - | |
| 51 | -/** | |
| 52 | - * WordPress dependencies | |
| 53 | - */ | |
| 54 | - | |
| 55 | - | |
| 56 | - | |
| 57 | - | |
| 58 | -const bold_name = 'core/bold'; | |
| 59 | - | |
| 60 | -const title = (0,external_wp_i18n_namespaceObject.__)('Bold'); | |
| 61 | - | |
| 62 | -const bold = { | |
| 63 | - name: bold_name, | |
| 64 | - title, | |
| 65 | - tagName: 'strong', | |
| 66 | - className: null, | |
| 67 | - | |
| 68 | - edit(_ref) { | |
| 69 | - let { | |
| 70 | - isActive, | |
| 71 | - value, | |
| 72 | - onChange, | |
| 73 | - onFocus | |
| 74 | - } = _ref; | |
| 75 | - | |
| 76 | - function onToggle() { | |
| 77 | - onChange((0,external_wp_richText_namespaceObject.toggleFormat)(value, { | |
| 78 | - type: bold_name, | |
| 79 | - title | |
| 80 | - })); | |
| 81 | - } | |
| 82 | - | |
| 83 | - function onClick() { | |
| 84 | - onChange((0,external_wp_richText_namespaceObject.toggleFormat)(value, { | |
| 85 | - type: bold_name | |
| 86 | - })); | |
| 87 | - onFocus(); | |
| 88 | - } | |
| 89 | - | |
| 90 | - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.RichTextShortcut, { | |
| 91 | - type: "primary", | |
| 92 | - character: "b", | |
| 93 | - onUse: onToggle | |
| 94 | - }), (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.RichTextToolbarButton, { | |
| 95 | - name: "bold", | |
| 96 | - icon: format_bold, | |
| 97 | - title: title, | |
| 98 | - onClick: onClick, | |
| 99 | - isActive: isActive, | |
| 100 | - shortcutType: "primary", | |
| 101 | - shortcutCharacter: "b" | |
| 102 | - }), (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.__unstableRichTextInputEvent, { | |
| 103 | - inputType: "formatBold", | |
| 104 | - onInput: onToggle | |
| 105 | - })); | |
| 106 | - } | |
| 107 | - | |
| 108 | -}; | |
| 109 | -//# sourceMappingURL=index.js.map | |
| 110 | -;// CONCATENATED MODULE: ./packages/icons/build-module/library/code.js | |
| 111 | - | |
| 112 | - | |
| 113 | -/** | |
| 114 | - * WordPress dependencies | |
| 115 | - */ | |
| 116 | - | |
| 117 | -const code = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { | |
| 118 | - viewBox: "0 0 24 24", | |
| 119 | - xmlns: "http://www.w3.org/2000/svg" | |
| 120 | -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { | |
| 121 | - d: "M20.8 10.7l-4.3-4.3-1.1 1.1 4.3 4.3c.1.1.1.3 0 .4l-4.3 4.3 1.1 1.1 4.3-4.3c.7-.8.7-1.9 0-2.6zM4.2 11.8l4.3-4.3-1-1-4.3 4.3c-.7.7-.7 1.8 0 2.5l4.3 4.3 1.1-1.1-4.3-4.3c-.2-.1-.2-.3-.1-.4z" | |
| 122 | -})); | |
| 123 | -/* harmony default export */ var library_code = (code); | |
| 124 | -//# sourceMappingURL=code.js.map | |
| 125 | -;// CONCATENATED MODULE: ./packages/format-library/build-module/code/index.js | |
| 126 | - | |
| 127 | - | |
| 128 | -/** | |
| 129 | - * WordPress dependencies | |
| 130 | - */ | |
| 131 | - | |
| 132 | - | |
| 133 | - | |
| 134 | - | |
| 135 | -const code_name = 'core/code'; | |
| 136 | - | |
| 137 | -const code_title = (0,external_wp_i18n_namespaceObject.__)('Inline code'); | |
| 138 | - | |
| 139 | -const code_code = { | |
| 140 | - name: code_name, | |
| 141 | - title: code_title, | |
| 142 | - tagName: 'code', | |
| 143 | - className: null, | |
| 144 | - | |
| 145 | - __unstableInputRule(value) { | |
| 146 | - const BACKTICK = '`'; | |
| 147 | - const { | |
| 148 | - start, | |
| 149 | - text | |
| 150 | - } = value; | |
| 151 | - const characterBefore = text.slice(start - 1, start); // Quick check the text for the necessary character. | |
| 152 | - | |
| 153 | - if (characterBefore !== BACKTICK) { | |
| 154 | - return value; | |
| 155 | - } | |
| 156 | - | |
| 157 | - const textBefore = text.slice(0, start - 1); | |
| 158 | - const indexBefore = textBefore.lastIndexOf(BACKTICK); | |
| 159 | - | |
| 160 | - if (indexBefore === -1) { | |
| 161 | - return value; | |
| 162 | - } | |
| 163 | - | |
| 164 | - const startIndex = indexBefore; | |
| 165 | - const endIndex = start - 2; | |
| 166 | - | |
| 167 | - if (startIndex === endIndex) { | |
| 168 | - return value; | |
| 169 | - } | |
| 170 | - | |
| 171 | - value = (0,external_wp_richText_namespaceObject.remove)(value, startIndex, startIndex + 1); | |
| 172 | - value = (0,external_wp_richText_namespaceObject.remove)(value, endIndex, endIndex + 1); | |
| 173 | - value = (0,external_wp_richText_namespaceObject.applyFormat)(value, { | |
| 174 | - type: code_name | |
| 175 | - }, startIndex, endIndex); | |
| 176 | - return value; | |
| 177 | - }, | |
| 178 | - | |
| 179 | - edit(_ref) { | |
| 180 | - let { | |
| 181 | - value, | |
| 182 | - onChange, | |
| 183 | - onFocus, | |
| 184 | - isActive | |
| 185 | - } = _ref; | |
| 186 | - | |
| 187 | - function onClick() { | |
| 188 | - onChange((0,external_wp_richText_namespaceObject.toggleFormat)(value, { | |
| 189 | - type: code_name, | |
| 190 | - title: code_title | |
| 191 | - })); | |
| 192 | - onFocus(); | |
| 193 | - } | |
| 194 | - | |
| 195 | - return (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.RichTextToolbarButton, { | |
| 196 | - icon: library_code, | |
| 197 | - title: code_title, | |
| 198 | - onClick: onClick, | |
| 199 | - isActive: isActive, | |
| 200 | - role: "menuitemcheckbox" | |
| 201 | - }); | |
| 202 | - } | |
| 203 | - | |
| 204 | -}; | |
| 205 | -//# sourceMappingURL=index.js.map | |
| 206 | -;// CONCATENATED MODULE: external ["wp","components"] | |
| 207 | -var external_wp_components_namespaceObject = window["wp"]["components"]; | |
| 208 | -;// CONCATENATED MODULE: ./packages/icons/build-module/library/keyboard-return.js | |
| 209 | - | |
| 210 | - | |
| 211 | -/** | |
| 212 | - * WordPress dependencies | |
| 213 | - */ | |
| 214 | - | |
| 215 | -const keyboardReturn = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { | |
| 216 | - xmlns: "http://www.w3.org/2000/svg", | |
| 217 | - viewBox: "-2 -2 24 24" | |
| 218 | -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { | |
| 219 | - d: "M6.734 16.106l2.176-2.38-1.093-1.028-3.846 4.158 3.846 4.157 1.093-1.027-2.176-2.38h2.811c1.125 0 2.25.03 3.374 0 1.428-.001 3.362-.25 4.963-1.277 1.66-1.065 2.868-2.906 2.868-5.859 0-2.479-1.327-4.896-3.65-5.93-1.82-.813-3.044-.8-4.806-.788l-.567.002v1.5c.184 0 .368 0 .553-.002 1.82-.007 2.704-.014 4.21.657 1.854.827 2.76 2.657 2.76 4.561 0 2.472-.973 3.824-2.178 4.596-1.258.807-2.864 1.04-4.163 1.04h-.02c-1.115.03-2.229 0-3.344 0H6.734z" | |
| 220 | -})); | |
| 221 | -/* harmony default export */ var keyboard_return = (keyboardReturn); | |
| 222 | -//# sourceMappingURL=keyboard-return.js.map | |
| 223 | -;// CONCATENATED MODULE: ./packages/format-library/build-module/image/index.js | |
| 224 | - | |
| 225 | - | |
| 226 | -/** | |
| 227 | - * WordPress dependencies | |
| 228 | - */ | |
| 229 | - | |
| 230 | - | |
| 231 | - | |
| 232 | - | |
| 233 | - | |
| 234 | - | |
| 235 | -const ALLOWED_MEDIA_TYPES = ['image']; | |
| 236 | -const image_name = 'core/image'; | |
| 237 | - | |
| 238 | -const image_title = (0,external_wp_i18n_namespaceObject.__)('Inline image'); | |
| 239 | - | |
| 240 | -const image_image = { | |
| 241 | - name: image_name, | |
| 242 | - title: image_title, | |
| 243 | - keywords: [(0,external_wp_i18n_namespaceObject.__)('photo'), (0,external_wp_i18n_namespaceObject.__)('media')], | |
| 244 | - object: true, | |
| 245 | - tagName: 'img', | |
| 246 | - className: null, | |
| 247 | - attributes: { | |
| 248 | - className: 'class', | |
| 249 | - style: 'style', | |
| 250 | - url: 'src', | |
| 251 | - alt: 'alt' | |
| 252 | - }, | |
| 253 | - edit: Edit | |
| 254 | -}; | |
| 255 | - | |
| 256 | -function InlineUI(_ref) { | |
| 257 | - let { | |
| 258 | - value, | |
| 259 | - onChange, | |
| 260 | - activeObjectAttributes, | |
| 261 | - contentRef | |
| 262 | - } = _ref; | |
| 263 | - const { | |
| 264 | - style | |
| 265 | - } = activeObjectAttributes; | |
| 266 | - const [width, setWidth] = (0,external_wp_element_namespaceObject.useState)(style === null || style === void 0 ? void 0 : style.replace(/\D/g, '')); | |
| 267 | - const anchorRef = (0,external_wp_richText_namespaceObject.useAnchorRef)({ | |
| 268 | - ref: contentRef, | |
| 269 | - value, | |
| 270 | - settings: image_image | |
| 271 | - }); | |
| 272 | - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Popover, { | |
| 273 | - position: "bottom center", | |
| 274 | - focusOnMount: false, | |
| 275 | - anchorRef: anchorRef, | |
| 276 | - className: "block-editor-format-toolbar__image-popover" | |
| 277 | - }, (0,external_wp_element_namespaceObject.createElement)("form", { | |
| 278 | - className: "block-editor-format-toolbar__image-container-content", | |
| 279 | - onSubmit: event => { | |
| 280 | - const newReplacements = value.replacements.slice(); | |
| 281 | - newReplacements[value.start] = { | |
| 282 | - type: image_name, | |
| 283 | - attributes: { ...activeObjectAttributes, | |
| 284 | - style: width ? `width: ${width}px;` : '' | |
| 285 | - } | |
| 286 | - }; | |
| 287 | - onChange({ ...value, | |
| 288 | - replacements: newReplacements | |
| 289 | - }); | |
| 290 | - event.preventDefault(); | |
| 291 | - } | |
| 292 | - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.TextControl, { | |
| 293 | - className: "block-editor-format-toolbar__image-container-value", | |
| 294 | - type: "number", | |
| 295 | - label: (0,external_wp_i18n_namespaceObject.__)('Width'), | |
| 296 | - value: width, | |
| 297 | - min: 1, | |
| 298 | - onChange: newWidth => setWidth(newWidth) | |
| 299 | - }), (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Button, { | |
| 300 | - icon: keyboard_return, | |
| 301 | - label: (0,external_wp_i18n_namespaceObject.__)('Apply'), | |
| 302 | - type: "submit" | |
| 303 | - }))); | |
| 304 | -} | |
| 305 | - | |
| 306 | -function Edit(_ref2) { | |
| 307 | - let { | |
| 308 | - value, | |
| 309 | - onChange, | |
| 310 | - onFocus, | |
| 311 | - isObjectActive, | |
| 312 | - activeObjectAttributes, | |
| 313 | - contentRef | |
| 314 | - } = _ref2; | |
| 315 | - const [isModalOpen, setIsModalOpen] = (0,external_wp_element_namespaceObject.useState)(false); | |
| 316 | - | |
| 317 | - function openModal() { | |
| 318 | - setIsModalOpen(true); | |
| 319 | - } | |
| 320 | - | |
| 321 | - function closeModal() { | |
| 322 | - setIsModalOpen(false); | |
| 323 | - } | |
| 324 | - | |
| 325 | - return (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.MediaUploadCheck, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.RichTextToolbarButton, { | |
| 326 | - icon: (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.SVG, { | |
| 327 | - xmlns: "http://www.w3.org/2000/svg", | |
| 328 | - viewBox: "0 0 24 24" | |
| 329 | - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Path, { | |
| 330 | - d: "M4 18.5h16V17H4v1.5zM16 13v1.5h4V13h-4zM5.1 15h7.8c.6 0 1.1-.5 1.1-1.1V6.1c0-.6-.5-1.1-1.1-1.1H5.1C4.5 5 4 5.5 4 6.1v7.8c0 .6.5 1.1 1.1 1.1zm.4-8.5h7V10l-1-1c-.3-.3-.8-.3-1 0l-1.6 1.5-1.2-.7c-.3-.2-.6-.2-.9 0l-1.3 1V6.5zm0 6.1l1.8-1.3 1.3.8c.3.2.7.2.9-.1l1.5-1.4 1.5 1.4v1.5h-7v-.9z" | |
| 331 | - })), | |
| 332 | - title: image_title, | |
| 333 | - onClick: openModal, | |
| 334 | - isActive: isObjectActive | |
| 335 | - }), isModalOpen && (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.MediaUpload, { | |
| 336 | - allowedTypes: ALLOWED_MEDIA_TYPES, | |
| 337 | - onSelect: _ref3 => { | |
| 338 | - let { | |
| 339 | - id, | |
| 340 | - url, | |
| 341 | - alt, | |
| 342 | - width: imgWidth | |
| 343 | - } = _ref3; | |
| 344 | - closeModal(); | |
| 345 | - onChange((0,external_wp_richText_namespaceObject.insertObject)(value, { | |
| 346 | - type: image_name, | |
| 347 | - attributes: { | |
| 348 | - className: `wp-image-${id}`, | |
| 349 | - style: `width: ${Math.min(imgWidth, 150)}px;`, | |
| 350 | - url, | |
| 351 | - alt | |
| 352 | - } | |
| 353 | - })); | |
| 354 | - onFocus(); | |
| 355 | - }, | |
| 356 | - onClose: closeModal, | |
| 357 | - render: _ref4 => { | |
| 358 | - let { | |
| 359 | - open | |
| 360 | - } = _ref4; | |
| 361 | - open(); | |
| 362 | - return null; | |
| 363 | - } | |
| 364 | - }), isObjectActive && (0,external_wp_element_namespaceObject.createElement)(InlineUI, { | |
| 365 | - value: value, | |
| 366 | - onChange: onChange, | |
| 367 | - activeObjectAttributes: activeObjectAttributes, | |
| 368 | - contentRef: contentRef | |
| 369 | - })); | |
| 370 | -} | |
| 371 | -//# sourceMappingURL=index.js.map | |
| 372 | -;// CONCATENATED MODULE: ./packages/icons/build-module/library/format-italic.js | |
| 373 | - | |
| 374 | - | |
| 375 | -/** | |
| 376 | - * WordPress dependencies | |
| 377 | - */ | |
| 378 | - | |
| 379 | -const formatItalic = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { | |
| 380 | - xmlns: "http://www.w3.org/2000/svg", | |
| 381 | - viewBox: "0 0 24 24" | |
| 382 | -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { | |
| 383 | - d: "M12.5 5L10 19h1.9l2.5-14z" | |
| 384 | -})); | |
| 385 | -/* harmony default export */ var format_italic = (formatItalic); | |
| 386 | -//# sourceMappingURL=format-italic.js.map | |
| 387 | -;// CONCATENATED MODULE: ./packages/format-library/build-module/italic/index.js | |
| 388 | - | |
| 389 | - | |
| 390 | -/** | |
| 391 | - * WordPress dependencies | |
| 392 | - */ | |
| 393 | - | |
| 394 | - | |
| 395 | - | |
| 396 | - | |
| 397 | -const italic_name = 'core/italic'; | |
| 398 | - | |
| 399 | -const italic_title = (0,external_wp_i18n_namespaceObject.__)('Italic'); | |
| 400 | - | |
| 401 | -const italic = { | |
| 402 | - name: italic_name, | |
| 403 | - title: italic_title, | |
| 404 | - tagName: 'em', | |
| 405 | - className: null, | |
| 406 | - | |
| 407 | - edit(_ref) { | |
| 408 | - let { | |
| 409 | - isActive, | |
| 410 | - value, | |
| 411 | - onChange, | |
| 412 | - onFocus | |
| 413 | - } = _ref; | |
| 414 | - | |
| 415 | - function onToggle() { | |
| 416 | - onChange((0,external_wp_richText_namespaceObject.toggleFormat)(value, { | |
| 417 | - type: italic_name, | |
| 418 | - title: italic_title | |
| 419 | - })); | |
| 420 | - } | |
| 421 | - | |
| 422 | - function onClick() { | |
| 423 | - onChange((0,external_wp_richText_namespaceObject.toggleFormat)(value, { | |
| 424 | - type: italic_name | |
| 425 | - })); | |
| 426 | - onFocus(); | |
| 427 | - } | |
| 428 | - | |
| 429 | - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.RichTextShortcut, { | |
| 430 | - type: "primary", | |
| 431 | - character: "i", | |
| 432 | - onUse: onToggle | |
| 433 | - }), (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.RichTextToolbarButton, { | |
| 434 | - name: "italic", | |
| 435 | - icon: format_italic, | |
| 436 | - title: italic_title, | |
| 437 | - onClick: onClick, | |
| 438 | - isActive: isActive, | |
| 439 | - shortcutType: "primary", | |
| 440 | - shortcutCharacter: "i" | |
| 441 | - }), (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.__unstableRichTextInputEvent, { | |
| 442 | - inputType: "formatItalic", | |
| 443 | - onInput: onToggle | |
| 444 | - })); | |
| 445 | - } | |
| 446 | - | |
| 447 | -}; | |
| 448 | -//# sourceMappingURL=index.js.map | |
| 449 | -;// CONCATENATED MODULE: external ["wp","url"] | |
| 450 | -var external_wp_url_namespaceObject = window["wp"]["url"]; | |
| 451 | -;// CONCATENATED MODULE: external ["wp","htmlEntities"] | |
| 452 | -var external_wp_htmlEntities_namespaceObject = window["wp"]["htmlEntities"]; | |
| 453 | -;// CONCATENATED MODULE: ./packages/icons/build-module/library/link-off.js | |
| 454 | - | |
| 455 | - | |
| 456 | -/** | |
| 457 | - * WordPress dependencies | |
| 458 | - */ | |
| 459 | - | |
| 460 | -const linkOff = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { | |
| 461 | - xmlns: "http://www.w3.org/2000/svg", | |
| 462 | - viewBox: "0 0 24 24" | |
| 463 | -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { | |
| 464 | - d: "M15.6 7.3h-.7l1.6-3.5-.9-.4-3.9 8.5H9v1.5h2l-1.3 2.8H8.4c-2 0-3.7-1.7-3.7-3.7s1.7-3.7 3.7-3.7H10V7.3H8.4c-2.9 0-5.2 2.3-5.2 5.2 0 2.9 2.3 5.2 5.2 5.2H9l-1.4 3.2.9.4 5.7-12.5h1.4c2 0 3.7 1.7 3.7 3.7s-1.7 3.7-3.7 3.7H14v1.5h1.6c2.9 0 5.2-2.3 5.2-5.2 0-2.9-2.4-5.2-5.2-5.2z" | |
| 465 | -})); | |
| 466 | -/* harmony default export */ var link_off = (linkOff); | |
| 467 | -//# sourceMappingURL=link-off.js.map | |
| 468 | -;// CONCATENATED MODULE: ./packages/icons/build-module/library/link.js | |
| 469 | - | |
| 470 | - | |
| 471 | -/** | |
| 472 | - * WordPress dependencies | |
| 473 | - */ | |
| 474 | - | |
| 475 | -const link_link = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { | |
| 476 | - xmlns: "http://www.w3.org/2000/svg", | |
| 477 | - viewBox: "0 0 24 24" | |
| 478 | -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { | |
| 479 | - d: "M15.6 7.2H14v1.5h1.6c2 0 3.7 1.7 3.7 3.7s-1.7 3.7-3.7 3.7H14v1.5h1.6c2.8 0 5.2-2.3 5.2-5.2 0-2.9-2.3-5.2-5.2-5.2zM4.7 12.4c0-2 1.7-3.7 3.7-3.7H10V7.2H8.4c-2.9 0-5.2 2.3-5.2 5.2 0 2.9 2.3 5.2 5.2 5.2H10v-1.5H8.4c-2 0-3.7-1.7-3.7-3.7zm4.6.9h5.3v-1.5H9.3v1.5z" | |
| 480 | -})); | |
| 481 | -/* harmony default export */ var library_link = (link_link); | |
| 482 | -//# sourceMappingURL=link.js.map | |
| 483 | -;// CONCATENATED MODULE: external ["wp","a11y"] | |
| 484 | -var external_wp_a11y_namespaceObject = window["wp"]["a11y"]; | |
| 485 | -;// CONCATENATED MODULE: external ["wp","data"] | |
| 486 | -var external_wp_data_namespaceObject = window["wp"]["data"]; | |
| 487 | -;// CONCATENATED MODULE: external "lodash" | |
| 488 | -var external_lodash_namespaceObject = window["lodash"]; | |
| 489 | -;// CONCATENATED MODULE: ./packages/format-library/build-module/link/utils.js | |
| 490 | -/** | |
| 491 | - * External dependencies | |
| 492 | - */ | |
| 493 | - | |
| 494 | -/** | |
| 495 | - * WordPress dependencies | |
| 496 | - */ | |
| 497 | - | |
| 498 | - | |
| 499 | -/** | |
| 500 | - * Check for issues with the provided href. | |
| 501 | - * | |
| 502 | - * @param {string} href The href. | |
| 503 | - * | |
| 504 | - * @return {boolean} Is the href invalid? | |
| 505 | - */ | |
| 506 | - | |
| 507 | -function isValidHref(href) { | |
| 508 | - if (!href) { | |
| 509 | - return false; | |
| 510 | - } | |
| 511 | - | |
| 512 | - const trimmedHref = href.trim(); | |
| 513 | - | |
| 514 | - if (!trimmedHref) { | |
| 515 | - return false; | |
| 516 | - } // Does the href start with something that looks like a URL protocol? | |
| 517 | - | |
| 518 | - | |
| 519 | - if (/^\S+:/.test(trimmedHref)) { | |
| 520 | - const protocol = (0,external_wp_url_namespaceObject.getProtocol)(trimmedHref); | |
| 521 | - | |
| 522 | - if (!(0,external_wp_url_namespaceObject.isValidProtocol)(protocol)) { | |
| 523 | - return false; | |
| 524 | - } // Add some extra checks for http(s) URIs, since these are the most common use-case. | |
| 525 | - // This ensures URIs with an http protocol have exactly two forward slashes following the protocol. | |
| 526 | - | |
| 527 | - | |
| 528 | - if ((0,external_lodash_namespaceObject.startsWith)(protocol, 'http') && !/^https?:\/\/[^\/\s]/i.test(trimmedHref)) { | |
| 529 | - return false; | |
| 530 | - } | |
| 531 | - | |
| 532 | - const authority = (0,external_wp_url_namespaceObject.getAuthority)(trimmedHref); | |
| 533 | - | |
| 534 | - if (!(0,external_wp_url_namespaceObject.isValidAuthority)(authority)) { | |
| 535 | - return false; | |
| 536 | - } | |
| 537 | - | |
| 538 | - const path = (0,external_wp_url_namespaceObject.getPath)(trimmedHref); | |
| 539 | - | |
| 540 | - if (path && !(0,external_wp_url_namespaceObject.isValidPath)(path)) { | |
| 541 | - return false; | |
| 542 | - } | |
| 543 | - | |
| 544 | - const queryString = (0,external_wp_url_namespaceObject.getQueryString)(trimmedHref); | |
| 545 | - | |
| 546 | - if (queryString && !(0,external_wp_url_namespaceObject.isValidQueryString)(queryString)) { | |
| 547 | - return false; | |
| 548 | - } | |
| 549 | - | |
| 550 | - const fragment = (0,external_wp_url_namespaceObject.getFragment)(trimmedHref); | |
| 551 | - | |
| 552 | - if (fragment && !(0,external_wp_url_namespaceObject.isValidFragment)(fragment)) { | |
| 553 | - return false; | |
| 554 | - } | |
| 555 | - } // Validate anchor links. | |
| 556 | - | |
| 557 | - | |
| 558 | - if ((0,external_lodash_namespaceObject.startsWith)(trimmedHref, '#') && !(0,external_wp_url_namespaceObject.isValidFragment)(trimmedHref)) { | |
| 559 | - return false; | |
| 560 | - } | |
| 561 | - | |
| 562 | - return true; | |
| 563 | -} | |
| 564 | -/** | |
| 565 | - * Generates the format object that will be applied to the link text. | |
| 566 | - * | |
| 567 | - * @param {Object} options | |
| 568 | - * @param {string} options.url The href of the link. | |
| 569 | - * @param {string} options.type The type of the link. | |
| 570 | - * @param {string} options.id The ID of the link. | |
| 571 | - * @param {boolean} options.opensInNewWindow Whether this link will open in a new window. | |
| 572 | - * | |
| 573 | - * @return {Object} The final format object. | |
| 574 | - */ | |
| 575 | - | |
| 576 | -function createLinkFormat(_ref) { | |
| 577 | - let { | |
| 578 | - url, | |
| 579 | - type, | |
| 580 | - id, | |
| 581 | - opensInNewWindow | |
| 582 | - } = _ref; | |
| 583 | - const format = { | |
| 584 | - type: 'core/link', | |
| 585 | - attributes: { | |
| 586 | - url | |
| 587 | - } | |
| 588 | - }; | |
| 589 | - if (type) format.attributes.type = type; | |
| 590 | - if (id) format.attributes.id = id; | |
| 591 | - | |
| 592 | - if (opensInNewWindow) { | |
| 593 | - format.attributes.target = '_blank'; | |
| 594 | - format.attributes.rel = 'noreferrer noopener'; | |
| 595 | - } | |
| 596 | - | |
| 597 | - return format; | |
| 598 | -} | |
| 599 | -/* eslint-disable jsdoc/no-undefined-types */ | |
| 600 | - | |
| 601 | -/** | |
| 602 | - * Get the start and end boundaries of a given format from a rich text value. | |
| 603 | - * | |
| 604 | - * | |
| 605 | - * @param {RichTextValue} value the rich text value to interrogate. | |
| 606 | - * @param {string} format the identifier for the target format (e.g. `core/link`, `core/bold`). | |
| 607 | - * @param {number?} startIndex optional startIndex to seek from. | |
| 608 | - * @param {number?} endIndex optional endIndex to seek from. | |
| 609 | - * @return {Object} object containing start and end values for the given format. | |
| 610 | - */ | |
| 611 | - | |
| 612 | -/* eslint-enable jsdoc/no-undefined-types */ | |
| 613 | - | |
| 614 | -function getFormatBoundary(value, format) { | |
| 615 | - let startIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : value.start; | |
| 616 | - let endIndex = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : value.end; | |
| 617 | - const EMPTY_BOUNDARIES = { | |
| 618 | - start: null, | |
| 619 | - end: null | |
| 620 | - }; | |
| 621 | - const { | |
| 622 | - formats | |
| 623 | - } = value; | |
| 624 | - let targetFormat; | |
| 625 | - let initialIndex; | |
| 626 | - | |
| 627 | - if (!(formats !== null && formats !== void 0 && formats.length)) { | |
| 628 | - return EMPTY_BOUNDARIES; | |
| 629 | - } // Clone formats to avoid modifying source formats. | |
| 630 | - | |
| 631 | - | |
| 632 | - const newFormats = formats.slice(); | |
| 633 | - const formatAtStart = (0,external_lodash_namespaceObject.find)(newFormats[startIndex], { | |
| 634 | - type: format.type | |
| 635 | - }); | |
| 636 | - const formatAtEnd = (0,external_lodash_namespaceObject.find)(newFormats[endIndex], { | |
| 637 | - type: format.type | |
| 638 | - }); | |
| 639 | - const formatAtEndMinusOne = (0,external_lodash_namespaceObject.find)(newFormats[endIndex - 1], { | |
| 640 | - type: format.type | |
| 641 | - }); | |
| 642 | - | |
| 643 | - if (!!formatAtStart) { | |
| 644 | - // Set values to conform to "start" | |
| 645 | - targetFormat = formatAtStart; | |
| 646 | - initialIndex = startIndex; | |
| 647 | - } else if (!!formatAtEnd) { | |
| 648 | - // Set values to conform to "end" | |
| 649 | - targetFormat = formatAtEnd; | |
| 650 | - initialIndex = endIndex; | |
| 651 | - } else if (!!formatAtEndMinusOne) { | |
| 652 | - // This is an edge case which will occur if you create a format, then place | |
| 653 | - // the caret just before the format and hit the back ARROW key. The resulting | |
| 654 | - // value object will have start and end +1 beyond the edge of the format boundary. | |
| 655 | - targetFormat = formatAtEndMinusOne; | |
| 656 | - initialIndex = endIndex - 1; | |
| 657 | - } else { | |
| 658 | - return EMPTY_BOUNDARIES; | |
| 659 | - } | |
| 660 | - | |
| 661 | - const index = newFormats[initialIndex].indexOf(targetFormat); | |
| 662 | - const walkingArgs = [newFormats, initialIndex, targetFormat, index]; // Walk the startIndex "backwards" to the leading "edge" of the matching format. | |
| 663 | - | |
| 664 | - startIndex = walkToStart(...walkingArgs); // Walk the endIndex "forwards" until the trailing "edge" of the matching format. | |
| 665 | - | |
| 666 | - endIndex = walkToEnd(...walkingArgs); // Safe guard: start index cannot be less than 0 | |
| 667 | - | |
| 668 | - startIndex = startIndex < 0 ? 0 : startIndex; // // Return the indicies of the "edges" as the boundaries. | |
| 669 | - | |
| 670 | - return { | |
| 671 | - start: startIndex, | |
| 672 | - end: endIndex | |
| 673 | - }; | |
| 674 | -} | |
| 675 | -/** | |
| 676 | - * Walks forwards/backwards towards the boundary of a given format within an | |
| 677 | - * array of format objects. Returns the index of the boundary. | |
| 678 | - * | |
| 679 | - * @param {Array} formats the formats to search for the given format type. | |
| 680 | - * @param {number} initialIndex the starting index from which to walk. | |
| 681 | - * @param {Object} targetFormatRef a reference to the format type object being sought. | |
| 682 | - * @param {number} formatIndex the index at which we expect the target format object to be. | |
| 683 | - * @param {string} direction either 'forwards' or 'backwards' to indicate the direction. | |
| 684 | - * @return {number} the index of the boundary of the given format. | |
| 685 | - */ | |
| 686 | - | |
| 687 | -function walkToBoundary(formats, initialIndex, targetFormatRef, formatIndex, direction) { | |
| 688 | - let index = initialIndex; | |
| 689 | - const directions = { | |
| 690 | - forwards: 1, | |
| 691 | - backwards: -1 | |
| 692 | - }; | |
| 693 | - const directionIncrement = directions[direction] || 1; // invalid direction arg default to forwards | |
| 694 | - | |
| 695 | - const inverseDirectionIncrement = directionIncrement * -1; | |
| 696 | - | |
| 697 | - while (formats[index] && formats[index][formatIndex] === targetFormatRef) { | |
| 698 | - // Increment/decrement in the direction of operation. | |
| 699 | - index = index + directionIncrement; | |
| 700 | - } // Restore by one in inverse direction of operation | |
| 701 | - // to avoid out of bounds. | |
| 702 | - | |
| 703 | - | |
| 704 | - index = index + inverseDirectionIncrement; | |
| 705 | - return index; | |
| 706 | -} | |
| 707 | - | |
| 708 | -const walkToStart = (0,external_lodash_namespaceObject.partialRight)(walkToBoundary, 'backwards'); | |
| 709 | -const walkToEnd = (0,external_lodash_namespaceObject.partialRight)(walkToBoundary, 'forwards'); | |
| 710 | -//# sourceMappingURL=utils.js.map | |
| 711 | -;// CONCATENATED MODULE: ./packages/format-library/build-module/link/use-link-instance-key.js | |
| 712 | -// Weakly referenced map allows unused ids to be garbage collected. | |
| 713 | -const weakMap = new WeakMap(); // Incrementing zero-based ID value | |
| 714 | - | |
| 715 | -let id = -1; | |
| 716 | -const prefix = 'link-control-instance'; | |
| 717 | - | |
| 718 | -function getKey(_id) { | |
| 719 | - return `${prefix}-${_id}`; | |
| 720 | -} | |
| 721 | -/** | |
| 722 | - * Builds a unique link control key for the given object reference. | |
| 723 | - * | |
| 724 | - * @param {Object} instance an unique object reference specific to this link control instance. | |
| 725 | - * @return {string} the unique key to use for this link control. | |
| 726 | - */ | |
| 727 | - | |
| 728 | - | |
| 729 | -function useLinkInstanceKey(instance) { | |
| 730 | - if (!instance) { | |
| 731 | - return; | |
| 732 | - } | |
| 733 | - | |
| 734 | - if (weakMap.has(instance)) { | |
| 735 | - return getKey(weakMap.get(instance)); | |
| 736 | - } | |
| 737 | - | |
| 738 | - id += 1; | |
| 739 | - weakMap.set(instance, id); | |
| 740 | - return getKey(id); | |
| 741 | -} | |
| 742 | - | |
| 743 | -/* harmony default export */ var use_link_instance_key = (useLinkInstanceKey); | |
| 744 | -//# sourceMappingURL=use-link-instance-key.js.map | |
| 745 | -;// CONCATENATED MODULE: ./packages/format-library/build-module/link/inline.js | |
| 746 | - | |
| 747 | - | |
| 748 | -/** | |
| 749 | - * WordPress dependencies | |
| 750 | - */ | |
| 751 | - | |
| 752 | - | |
| 753 | - | |
| 754 | - | |
| 755 | - | |
| 756 | - | |
| 757 | - | |
| 758 | -/** | |
| 759 | - * Internal dependencies | |
| 760 | - */ | |
| 761 | - | |
| 762 | - | |
| 763 | - | |
| 764 | - | |
| 765 | - | |
| 766 | -function InlineLinkUI(_ref) { | |
| 767 | - let { | |
| 768 | - isActive, | |
| 769 | - activeAttributes, | |
| 770 | - addingLink, | |
| 771 | - value, | |
| 772 | - onChange, | |
| 773 | - speak, | |
| 774 | - stopAddingLink, | |
| 775 | - contentRef | |
| 776 | - } = _ref; | |
| 777 | - const richLinkTextValue = getRichTextValueFromSelection(value, isActive); // Get the text content minus any HTML tags. | |
| 778 | - | |
| 779 | - const richTextText = richLinkTextValue.text; | |
| 780 | - /** | |
| 781 | - * Pending settings to be applied to the next link. When inserting a new | |
| 782 | - * link, toggle values cannot be applied immediately, because there is not | |
| 783 | - * yet a link for them to apply to. Thus, they are maintained in a state | |
| 784 | - * value until the time that the link can be inserted or edited. | |
| 785 | - * | |
| 786 | - * @type {[Object|undefined,Function]} | |
| 787 | - */ | |
| 788 | - | |
| 789 | - const [nextLinkValue, setNextLinkValue] = (0,external_wp_element_namespaceObject.useState)(); | |
| 790 | - const { | |
| 791 | - createPageEntity, | |
| 792 | - userCanCreatePages | |
| 793 | - } = (0,external_wp_data_namespaceObject.useSelect)(select => { | |
| 794 | - const { | |
| 795 | - getSettings | |
| 796 | - } = select(external_wp_blockEditor_namespaceObject.store); | |
| 797 | - | |
| 798 | - const _settings = getSettings(); | |
| 799 | - | |
| 800 | - return { | |
| 801 | - createPageEntity: _settings.__experimentalCreatePageEntity, | |
| 802 | - userCanCreatePages: _settings.__experimentalUserCanCreatePages | |
| 803 | - }; | |
| 804 | - }, []); | |
| 805 | - const linkValue = { | |
| 806 | - url: activeAttributes.url, | |
| 807 | - type: activeAttributes.type, | |
| 808 | - id: activeAttributes.id, | |
| 809 | - opensInNewTab: activeAttributes.target === '_blank', | |
| 810 | - title: richTextText, | |
| 811 | - ...nextLinkValue | |
| 812 | - }; | |
| 813 | - | |
| 814 | - function removeLink() { | |
| 815 | - const newValue = (0,external_wp_richText_namespaceObject.removeFormat)(value, 'core/link'); | |
| 816 | - onChange(newValue); | |
| 817 | - stopAddingLink(); | |
| 818 | - speak((0,external_wp_i18n_namespaceObject.__)('Link removed.'), 'assertive'); | |
| 819 | - } | |
| 820 | - | |
| 821 | - function onChangeLink(nextValue) { | |
| 822 | - // Merge with values from state, both for the purpose of assigning the | |
| 823 | - // next state value, and for use in constructing the new link format if | |
| 824 | - // the link is ready to be applied. | |
| 825 | - nextValue = { ...nextLinkValue, | |
| 826 | - ...nextValue | |
| 827 | - }; // LinkControl calls `onChange` immediately upon the toggling a setting. | |
| 828 | - | |
| 829 | - const didToggleSetting = linkValue.opensInNewTab !== nextValue.opensInNewTab && linkValue.url === nextValue.url; // If change handler was called as a result of a settings change during | |
| 830 | - // link insertion, it must be held in state until the link is ready to | |
| 831 | - // be applied. | |
| 832 | - | |
| 833 | - const didToggleSettingForNewLink = didToggleSetting && nextValue.url === undefined; // If link will be assigned, the state value can be considered flushed. | |
| 834 | - // Otherwise, persist the pending changes. | |
| 835 | - | |
| 836 | - setNextLinkValue(didToggleSettingForNewLink ? nextValue : undefined); | |
| 837 | - | |
| 838 | - if (didToggleSettingForNewLink) { | |
| 839 | - return; | |
| 840 | - } | |
| 841 | - | |
| 842 | - const newUrl = (0,external_wp_url_namespaceObject.prependHTTP)(nextValue.url); | |
| 843 | - const linkFormat = createLinkFormat({ | |
| 844 | - url: newUrl, | |
| 845 | - type: nextValue.type, | |
| 846 | - id: nextValue.id !== undefined && nextValue.id !== null ? String(nextValue.id) : undefined, | |
| 847 | - opensInNewWindow: nextValue.opensInNewTab | |
| 848 | - }); | |
| 849 | - const newText = nextValue.title || newUrl; | |
| 850 | - | |
| 851 | - if ((0,external_wp_richText_namespaceObject.isCollapsed)(value) && !isActive) { | |
| 852 | - // Scenario: we don't have any actively selected text or formats. | |
| 853 | - const toInsert = (0,external_wp_richText_namespaceObject.applyFormat)((0,external_wp_richText_namespaceObject.create)({ | |
| 854 | - text: newText | |
| 855 | - }), linkFormat, 0, newText.length); | |
| 856 | - onChange((0,external_wp_richText_namespaceObject.insert)(value, toInsert)); | |
| 857 | - } else { | |
| 858 | - // Scenario: we have any active text selection or an active format | |
| 859 | - let newValue; | |
| 860 | - | |
| 861 | - if (newText === richTextText) { | |
| 862 | - // If we're not updating the text then ignore | |
| 863 | - newValue = (0,external_wp_richText_namespaceObject.applyFormat)(value, linkFormat); | |
| 864 | - } else { | |
| 865 | - // Create new RichText value for the new text in order that we | |
| 866 | - // can apply formats to it. | |
| 867 | - newValue = (0,external_wp_richText_namespaceObject.create)({ | |
| 868 | - text: newText | |
| 869 | - }); // Apply the new Link format to this new text value. | |
| 870 | - | |
| 871 | - newValue = (0,external_wp_richText_namespaceObject.applyFormat)(newValue, linkFormat, 0, newText.length); // Update the original (full) RichTextValue replacing the | |
| 872 | - // target text with the *new* RichTextValue containing: | |
| 873 | - // 1. The new text content. | |
| 874 | - // 2. The new link format. | |
| 875 | - // Note original formats will be lost when applying this change. | |
| 876 | - // That is expected behaviour. | |
| 877 | - // See: https://github.com/WordPress/gutenberg/pull/33849#issuecomment-936134179. | |
| 878 | - | |
| 879 | - newValue = (0,external_wp_richText_namespaceObject.replace)(value, richTextText, newValue); | |
| 880 | - } | |
| 881 | - | |
| 882 | - newValue.start = newValue.end; | |
| 883 | - newValue.activeFormats = []; | |
| 884 | - onChange(newValue); | |
| 885 | - } // Focus should only be shifted back to the formatted segment when the | |
| 886 | - // URL is submitted. | |
| 887 | - | |
| 888 | - | |
| 889 | - if (!didToggleSetting) { | |
| 890 | - stopAddingLink(); | |
| 891 | - } | |
| 892 | - | |
| 893 | - if (!isValidHref(newUrl)) { | |
| 894 | - speak((0,external_wp_i18n_namespaceObject.__)('Warning: the link has been inserted but may have errors. Please test it.'), 'assertive'); | |
| 895 | - } else if (isActive) { | |
| 896 | - speak((0,external_wp_i18n_namespaceObject.__)('Link edited.'), 'assertive'); | |
| 897 | - } else { | |
| 898 | - speak((0,external_wp_i18n_namespaceObject.__)('Link inserted.'), 'assertive'); | |
| 899 | - } | |
| 900 | - } | |
| 901 | - | |
| 902 | - const anchorRef = (0,external_wp_richText_namespaceObject.useAnchorRef)({ | |
| 903 | - ref: contentRef, | |
| 904 | - value, | |
| 905 | - settings: build_module_link_link | |
| 906 | - }); // Generate a string based key that is unique to this anchor reference. | |
| 907 | - // This is used to force re-mount the LinkControl component to avoid | |
| 908 | - // potential stale state bugs caused by the component not being remounted | |
| 909 | - // See https://github.com/WordPress/gutenberg/pull/34742. | |
| 910 | - | |
| 911 | - const forceRemountKey = use_link_instance_key(anchorRef); // The focusOnMount prop shouldn't evolve during render of a Popover | |
| 912 | - // otherwise it causes a render of the content. | |
| 913 | - | |
| 914 | - const focusOnMount = (0,external_wp_element_namespaceObject.useRef)(addingLink ? 'firstElement' : false); | |
| 915 | - | |
| 916 | - async function handleCreate(pageTitle) { | |
| 917 | - const page = await createPageEntity({ | |
| 918 | - title: pageTitle, | |
| 919 | - status: 'draft' | |
| 920 | - }); | |
| 921 | - return { | |
| 922 | - id: page.id, | |
| 923 | - type: page.type, | |
| 924 | - title: page.title.rendered, | |
| 925 | - url: page.link, | |
| 926 | - kind: 'post-type' | |
| 927 | - }; | |
| 928 | - } | |
| 929 | - | |
| 930 | - function createButtonText(searchTerm) { | |
| 931 | - return (0,external_wp_element_namespaceObject.createInterpolateElement)((0,external_wp_i18n_namespaceObject.sprintf)( | |
| 932 | - /* translators: %s: search term. */ | |
| 933 | - (0,external_wp_i18n_namespaceObject.__)('Create Page: <mark>%s</mark>'), searchTerm), { | |
| 934 | - mark: (0,external_wp_element_namespaceObject.createElement)("mark", null) | |
| 935 | - }); | |
| 936 | - } | |
| 937 | - | |
| 938 | - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Popover, { | |
| 939 | - anchorRef: anchorRef, | |
| 940 | - focusOnMount: focusOnMount.current, | |
| 941 | - onClose: stopAddingLink, | |
| 942 | - position: "bottom center" | |
| 943 | - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.__experimentalLinkControl, { | |
| 944 | - key: forceRemountKey, | |
| 945 | - value: linkValue, | |
| 946 | - onChange: onChangeLink, | |
| 947 | - onRemove: removeLink, | |
| 948 | - forceIsEditingLink: addingLink, | |
| 949 | - hasRichPreviews: true, | |
| 950 | - createSuggestion: createPageEntity && handleCreate, | |
| 951 | - withCreateSuggestion: userCanCreatePages, | |
| 952 | - createSuggestionButtonText: createButtonText, | |
| 953 | - hasTextControl: true | |
| 954 | - })); | |
| 955 | -} | |
| 956 | - | |
| 957 | -function getRichTextValueFromSelection(value, isActive) { | |
| 958 | - // Default to the selection ranges on the RichTextValue object. | |
| 959 | - let textStart = value.start; | |
| 960 | - let textEnd = value.end; // If the format is currently active then the rich text value | |
| 961 | - // should always be taken from the bounds of the active format | |
| 962 | - // and not the selected text. | |
| 963 | - | |
| 964 | - if (isActive) { | |
| 965 | - const boundary = getFormatBoundary(value, { | |
| 966 | - type: 'core/link' | |
| 967 | - }); | |
| 968 | - textStart = boundary.start; // Text *selection* always extends +1 beyond the edge of the format. | |
| 969 | - // We account for that here. | |
| 970 | - | |
| 971 | - textEnd = boundary.end + 1; | |
| 972 | - } // Get a RichTextValue containing the selected text content. | |
| 973 | - | |
| 974 | - | |
| 975 | - return (0,external_wp_richText_namespaceObject.slice)(value, textStart, textEnd); | |
| 976 | -} | |
| 977 | - | |
| 978 | -/* harmony default export */ var inline = ((0,external_wp_components_namespaceObject.withSpokenMessages)(InlineLinkUI)); | |
| 979 | -//# sourceMappingURL=inline.js.map | |
| 980 | -;// CONCATENATED MODULE: ./packages/format-library/build-module/link/index.js | |
| 981 | - | |
| 982 | - | |
| 983 | -/** | |
| 984 | - * WordPress dependencies | |
| 985 | - */ | |
| 986 | - | |
| 987 | - | |
| 988 | - | |
| 989 | - | |
| 990 | - | |
| 991 | - | |
| 992 | - | |
| 993 | - | |
| 994 | -/** | |
| 995 | - * Internal dependencies | |
| 996 | - */ | |
| 997 | - | |
| 998 | - | |
| 999 | - | |
| 1000 | -const link_name = 'core/link'; | |
| 1001 | - | |
| 1002 | -const link_title = (0,external_wp_i18n_namespaceObject.__)('Link'); | |
| 1003 | - | |
| 1004 | -function link_Edit(_ref) { | |
| 1005 | - let { | |
| 1006 | - isActive, | |
| 1007 | - activeAttributes, | |
| 1008 | - value, | |
| 1009 | - onChange, | |
| 1010 | - onFocus, | |
| 1011 | - contentRef | |
| 1012 | - } = _ref; | |
| 1013 | - const [addingLink, setAddingLink] = (0,external_wp_element_namespaceObject.useState)(false); | |
| 1014 | - | |
| 1015 | - function addLink() { | |
| 1016 | - const text = (0,external_wp_richText_namespaceObject.getTextContent)((0,external_wp_richText_namespaceObject.slice)(value)); | |
| 1017 | - | |
| 1018 | - if (text && (0,external_wp_url_namespaceObject.isURL)(text) && isValidHref(text)) { | |
| 1019 | - onChange((0,external_wp_richText_namespaceObject.applyFormat)(value, { | |
| 1020 | - type: link_name, | |
| 1021 | - attributes: { | |
| 1022 | - url: text | |
| 1023 | - } | |
| 1024 | - })); | |
| 1025 | - } else if (text && (0,external_wp_url_namespaceObject.isEmail)(text)) { | |
| 1026 | - onChange((0,external_wp_richText_namespaceObject.applyFormat)(value, { | |
| 1027 | - type: link_name, | |
| 1028 | - attributes: { | |
| 1029 | - url: `mailto:${text}` | |
| 1030 | - } | |
| 1031 | - })); | |
| 1032 | - } else { | |
| 1033 | - setAddingLink(true); | |
| 1034 | - } | |
| 1035 | - } | |
| 1036 | - | |
| 1037 | - function stopAddingLink() { | |
| 1038 | - setAddingLink(false); | |
| 1039 | - onFocus(); | |
| 1040 | - } | |
| 1041 | - | |
| 1042 | - function onRemoveFormat() { | |
| 1043 | - onChange((0,external_wp_richText_namespaceObject.removeFormat)(value, link_name)); | |
| 1044 | - (0,external_wp_a11y_namespaceObject.speak)((0,external_wp_i18n_namespaceObject.__)('Link removed.'), 'assertive'); | |
| 1045 | - } | |
| 1046 | - | |
| 1047 | - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.RichTextShortcut, { | |
| 1048 | - type: "primary", | |
| 1049 | - character: "k", | |
| 1050 | - onUse: addLink | |
| 1051 | - }), (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.RichTextShortcut, { | |
| 1052 | - type: "primaryShift", | |
| 1053 | - character: "k", | |
| 1054 | - onUse: onRemoveFormat | |
| 1055 | - }), isActive && (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.RichTextToolbarButton, { | |
| 1056 | - name: "link", | |
| 1057 | - icon: link_off, | |
| 1058 | - title: (0,external_wp_i18n_namespaceObject.__)('Unlink'), | |
| 1059 | - onClick: onRemoveFormat, | |
| 1060 | - isActive: isActive, | |
| 1061 | - shortcutType: "primaryShift", | |
| 1062 | - shortcutCharacter: "k" | |
| 1063 | - }), !isActive && (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.RichTextToolbarButton, { | |
| 1064 | - name: "link", | |
| 1065 | - icon: library_link, | |
| 1066 | - title: link_title, | |
| 1067 | - onClick: addLink, | |
| 1068 | - isActive: isActive, | |
| 1069 | - shortcutType: "primary", | |
| 1070 | - shortcutCharacter: "k" | |
| 1071 | - }), (addingLink || isActive) && (0,external_wp_element_namespaceObject.createElement)(inline, { | |
| 1072 | - addingLink: addingLink, | |
| 1073 | - stopAddingLink: stopAddingLink, | |
| 1074 | - isActive: isActive, | |
| 1075 | - activeAttributes: activeAttributes, | |
| 1076 | - value: value, | |
| 1077 | - onChange: onChange, | |
| 1078 | - contentRef: contentRef | |
| 1079 | - })); | |
| 1080 | -} | |
| 1081 | - | |
| 1082 | -const build_module_link_link = { | |
| 1083 | - name: link_name, | |
| 1084 | - title: link_title, | |
| 1085 | - tagName: 'a', | |
| 1086 | - className: null, | |
| 1087 | - attributes: { | |
| 1088 | - url: 'href', | |
| 1089 | - type: 'data-type', | |
| 1090 | - id: 'data-id', | |
| 1091 | - target: 'target' | |
| 1092 | - }, | |
| 1093 | - | |
| 1094 | - __unstablePasteRule(value, _ref2) { | |
| 1095 | - let { | |
| 1096 | - html, | |
| 1097 | - plainText | |
| 1098 | - } = _ref2; | |
| 1099 | - | |
| 1100 | - if ((0,external_wp_richText_namespaceObject.isCollapsed)(value)) { | |
| 1101 | - return value; | |
| 1102 | - } | |
| 1103 | - | |
| 1104 | - const pastedText = (html || plainText).replace(/<[^>]+>/g, '').trim(); // A URL was pasted, turn the selection into a link | |
| 1105 | - | |
| 1106 | - if (!(0,external_wp_url_namespaceObject.isURL)(pastedText)) { | |
| 1107 | - return value; | |
| 1108 | - } // Allows us to ask for this information when we get a report. | |
| 1109 | - | |
| 1110 | - | |
| 1111 | - window.console.log('Created link:\n\n', pastedText); | |
| 1112 | - return (0,external_wp_richText_namespaceObject.applyFormat)(value, { | |
| 1113 | - type: link_name, | |
| 1114 | - attributes: { | |
| 1115 | - url: (0,external_wp_htmlEntities_namespaceObject.decodeEntities)(pastedText) | |
| 1116 | - } | |
| 1117 | - }); | |
| 1118 | - }, | |
| 1119 | - | |
| 1120 | - edit: link_Edit | |
| 1121 | -}; | |
| 1122 | -//# sourceMappingURL=index.js.map | |
| 1123 | -;// CONCATENATED MODULE: ./packages/icons/build-module/library/format-strikethrough.js | |
| 1124 | - | |
| 1125 | - | |
| 1126 | -/** | |
| 1127 | - * WordPress dependencies | |
| 1128 | - */ | |
| 1129 | - | |
| 1130 | -const formatStrikethrough = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { | |
| 1131 | - xmlns: "http://www.w3.org/2000/svg", | |
| 1132 | - viewBox: "0 0 24 24" | |
| 1133 | -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { | |
| 1134 | - d: "M9.1 9v-.5c0-.6.2-1.1.7-1.4.5-.3 1.2-.5 2-.5.7 0 1.4.1 2.1.3.7.2 1.4.5 2.1.9l.2-1.9c-.6-.3-1.2-.5-1.9-.7-.8-.1-1.6-.2-2.4-.2-1.5 0-2.7.3-3.6 1-.8.7-1.2 1.5-1.2 2.6V9h2zM20 12H4v1h8.3c.3.1.6.2.8.3.5.2.9.5 1.1.8.3.3.4.7.4 1.2 0 .7-.2 1.1-.8 1.5-.5.3-1.2.5-2.1.5-.8 0-1.6-.1-2.4-.3-.8-.2-1.5-.5-2.2-.8L7 18.1c.5.2 1.2.4 2 .6.8.2 1.6.3 2.4.3 1.7 0 3-.3 3.9-1 .9-.7 1.3-1.6 1.3-2.8 0-.9-.2-1.7-.7-2.2H20v-1z" | |
| 1135 | -})); | |
| 1136 | -/* harmony default export */ var format_strikethrough = (formatStrikethrough); | |
| 1137 | -//# sourceMappingURL=format-strikethrough.js.map | |
| 1138 | -;// CONCATENATED MODULE: ./packages/format-library/build-module/strikethrough/index.js | |
| 1139 | - | |
| 1140 | - | |
| 1141 | -/** | |
| 1142 | - * WordPress dependencies | |
| 1143 | - */ | |
| 1144 | - | |
| 1145 | - | |
| 1146 | - | |
| 1147 | - | |
| 1148 | -const strikethrough_name = 'core/strikethrough'; | |
| 1149 | - | |
| 1150 | -const strikethrough_title = (0,external_wp_i18n_namespaceObject.__)('Strikethrough'); | |
| 1151 | - | |
| 1152 | -const strikethrough = { | |
| 1153 | - name: strikethrough_name, | |
| 1154 | - title: strikethrough_title, | |
| 1155 | - tagName: 's', | |
| 1156 | - className: null, | |
| 1157 | - | |
| 1158 | - edit(_ref) { | |
| 1159 | - let { | |
| 1160 | - isActive, | |
| 1161 | - value, | |
| 1162 | - onChange, | |
| 1163 | - onFocus | |
| 1164 | - } = _ref; | |
| 1165 | - | |
| 1166 | - function onClick() { | |
| 1167 | - onChange((0,external_wp_richText_namespaceObject.toggleFormat)(value, { | |
| 1168 | - type: strikethrough_name, | |
| 1169 | - title: strikethrough_title | |
| 1170 | - })); | |
| 1171 | - onFocus(); | |
| 1172 | - } | |
| 1173 | - | |
| 1174 | - return (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.RichTextToolbarButton, { | |
| 1175 | - icon: format_strikethrough, | |
| 1176 | - title: strikethrough_title, | |
| 1177 | - onClick: onClick, | |
| 1178 | - isActive: isActive, | |
| 1179 | - role: "menuitemcheckbox" | |
| 1180 | - }); | |
| 1181 | - } | |
| 1182 | - | |
| 1183 | -}; | |
| 1184 | -//# sourceMappingURL=index.js.map | |
| 1185 | -;// CONCATENATED MODULE: ./packages/format-library/build-module/underline/index.js | |
| 1186 | - | |
| 1187 | - | |
| 1188 | -/** | |
| 1189 | - * WordPress dependencies | |
| 1190 | - */ | |
| 1191 | - | |
| 1192 | - | |
| 1193 | - | |
| 1194 | -const underline_name = 'core/underline'; | |
| 1195 | - | |
| 1196 | -const underline_title = (0,external_wp_i18n_namespaceObject.__)('Underline'); | |
| 1197 | - | |
| 1198 | -const underline = { | |
| 1199 | - name: underline_name, | |
| 1200 | - title: underline_title, | |
| 1201 | - tagName: 'span', | |
| 1202 | - className: null, | |
| 1203 | - attributes: { | |
| 1204 | - style: 'style' | |
| 1205 | - }, | |
| 1206 | - | |
| 1207 | - edit(_ref) { | |
| 1208 | - let { | |
| 1209 | - value, | |
| 1210 | - onChange | |
| 1211 | - } = _ref; | |
| 1212 | - | |
| 1213 | - const onToggle = () => { | |
| 1214 | - onChange((0,external_wp_richText_namespaceObject.toggleFormat)(value, { | |
| 1215 | - type: underline_name, | |
| 1216 | - attributes: { | |
| 1217 | - style: 'text-decoration: underline;' | |
| 1218 | - }, | |
| 1219 | - title: underline_title | |
| 1220 | - })); | |
| 1221 | - }; | |
| 1222 | - | |
| 1223 | - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.RichTextShortcut, { | |
| 1224 | - type: "primary", | |
| 1225 | - character: "u", | |
| 1226 | - onUse: onToggle | |
| 1227 | - }), (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.__unstableRichTextInputEvent, { | |
| 1228 | - inputType: "formatUnderline", | |
| 1229 | - onInput: onToggle | |
| 1230 | - })); | |
| 1231 | - } | |
| 1232 | - | |
| 1233 | -}; | |
| 1234 | -//# sourceMappingURL=index.js.map | |
| 1235 | -;// CONCATENATED MODULE: ./packages/icons/build-module/icon/index.js | |
| 1236 | -/** | |
| 1237 | - * WordPress dependencies | |
| 1238 | - */ | |
| 1239 | - | |
| 1240 | -/** @typedef {{icon: JSX.Element, size?: number} & import('@wordpress/primitives').SVGProps} IconProps */ | |
| 1241 | - | |
| 1242 | -/** | |
| 1243 | - * Return an SVG icon. | |
| 1244 | - * | |
| 1245 | - * @param {IconProps} props icon is the SVG component to render | |
| 1246 | - * size is a number specifiying the icon size in pixels | |
| 1247 | - * Other props will be passed to wrapped SVG component | |
| 1248 | - * | |
| 1249 | - * @return {JSX.Element} Icon component | |
| 1250 | - */ | |
| 1251 | - | |
| 1252 | -function Icon(_ref) { | |
| 1253 | - let { | |
| 1254 | - icon, | |
| 1255 | - size = 24, | |
| 1256 | - ...props | |
| 1257 | - } = _ref; | |
| 1258 | - return (0,external_wp_element_namespaceObject.cloneElement)(icon, { | |
| 1259 | - width: size, | |
| 1260 | - height: size, | |
| 1261 | - ...props | |
| 1262 | - }); | |
| 1263 | -} | |
| 1264 | - | |
| 1265 | -/* harmony default export */ var icon = (Icon); | |
| 1266 | -//# sourceMappingURL=index.js.map | |
| 1267 | -;// CONCATENATED MODULE: ./packages/icons/build-module/library/text-color.js | |
| 1268 | - | |
| 1269 | - | |
| 1270 | -/** | |
| 1271 | - * WordPress dependencies | |
| 1272 | - */ | |
| 1273 | - | |
| 1274 | -const textColor = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { | |
| 1275 | - xmlns: "http://www.w3.org/2000/svg", | |
| 1276 | - viewBox: "0 0 24 24" | |
| 1277 | -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { | |
| 1278 | - d: "M12.9 6h-2l-4 11h1.9l1.1-3h4.2l1.1 3h1.9L12.9 6zm-2.5 6.5l1.5-4.9 1.7 4.9h-3.2z" | |
| 1279 | -})); | |
| 1280 | -/* harmony default export */ var text_color = (textColor); | |
| 1281 | -//# sourceMappingURL=text-color.js.map | |
| 1282 | -;// CONCATENATED MODULE: ./packages/format-library/build-module/text-color/inline.js | |
| 1283 | - | |
| 1284 | - | |
| 1285 | -/** | |
| 1286 | - * External dependencies | |
| 1287 | - */ | |
| 1288 | - | |
| 1289 | -/** | |
| 1290 | - * WordPress dependencies | |
| 1291 | - */ | |
| 1292 | - | |
| 1293 | - | |
| 1294 | - | |
| 1295 | - | |
| 1296 | - | |
| 1297 | - | |
| 1298 | - | |
| 1299 | -/** | |
| 1300 | - * Internal dependencies | |
| 1301 | - */ | |
| 1302 | - | |
| 1303 | - | |
| 1304 | - | |
| 1305 | -function parseCSS() { | |
| 1306 | - let css = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; | |
| 1307 | - return css.split(';').reduce((accumulator, rule) => { | |
| 1308 | - if (rule) { | |
| 1309 | - const [property, value] = rule.split(':'); | |
| 1310 | - if (property === 'color') accumulator.color = value; | |
| 1311 | - if (property === 'background-color' && value !== transparentValue) accumulator.backgroundColor = value; | |
| 1312 | - } | |
| 1313 | - | |
| 1314 | - return accumulator; | |
| 1315 | - }, {}); | |
| 1316 | -} | |
| 1317 | - | |
| 1318 | -function parseClassName() { | |
| 1319 | - let className = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : ''; | |
| 1320 | - let colorSettings = arguments.length > 1 ? arguments[1] : undefined; | |
| 1321 | - return className.split(' ').reduce((accumulator, name) => { | |
| 1322 | - // `colorSlug` could contain dashes, so simply match the start and end. | |
| 1323 | - if (name.startsWith('has-') && name.endsWith('-color')) { | |
| 1324 | - const colorSlug = name.replace(/^has-/, '').replace(/-color$/, ''); | |
| 1325 | - const colorObject = (0,external_wp_blockEditor_namespaceObject.getColorObjectByAttributeValues)(colorSettings, colorSlug); | |
| 1326 | - accumulator.color = colorObject.color; | |
| 1327 | - } | |
| 1328 | - | |
| 1329 | - return accumulator; | |
| 1330 | - }, {}); | |
| 1331 | -} | |
| 1332 | -function getActiveColors(value, name, colorSettings) { | |
| 1333 | - const activeColorFormat = (0,external_wp_richText_namespaceObject.getActiveFormat)(value, name); | |
| 1334 | - | |
| 1335 | - if (!activeColorFormat) { | |
| 1336 | - return {}; | |
| 1337 | - } | |
| 1338 | - | |
| 1339 | - return { ...parseCSS(activeColorFormat.attributes.style), | |
| 1340 | - ...parseClassName(activeColorFormat.attributes.class, colorSettings) | |
| 1341 | - }; | |
| 1342 | -} | |
| 1343 | - | |
| 1344 | -function setColors(value, name, colorSettings, colors) { | |
| 1345 | - const { | |
| 1346 | - color, | |
| 1347 | - backgroundColor | |
| 1348 | - } = { ...getActiveColors(value, name, colorSettings), | |
| 1349 | - ...colors | |
| 1350 | - }; | |
| 1351 | - | |
| 1352 | - if (!color && !backgroundColor) { | |
| 1353 | - return (0,external_wp_richText_namespaceObject.removeFormat)(value, name); | |
| 1354 | - } | |
| 1355 | - | |
| 1356 | - const styles = []; | |
| 1357 | - const classNames = []; | |
| 1358 | - const attributes = {}; | |
| 1359 | - | |
| 1360 | - if (backgroundColor) { | |
| 1361 | - styles.push(['background-color', backgroundColor].join(':')); | |
| 1362 | - } else { | |
| 1363 | - // Override default browser color for mark element. | |
| 1364 | - styles.push(['background-color', transparentValue].join(':')); | |
| 1365 | - } | |
| 1366 | - | |
| 1367 | - if (color) { | |
| 1368 | - const colorObject = (0,external_wp_blockEditor_namespaceObject.getColorObjectByColorValue)(colorSettings, color); | |
| 1369 | - | |
| 1370 | - if (colorObject) { | |
| 1371 | - classNames.push((0,external_wp_blockEditor_namespaceObject.getColorClassName)('color', colorObject.slug)); | |
| 1372 | - } else { | |
| 1373 | - styles.push(['color', color].join(':')); | |
| 1374 | - } | |
| 1375 | - } | |
| 1376 | - | |
| 1377 | - if (styles.length) attributes.style = styles.join(';'); | |
| 1378 | - if (classNames.length) attributes.class = classNames.join(' '); | |
| 1379 | - return (0,external_wp_richText_namespaceObject.applyFormat)(value, { | |
| 1380 | - type: name, | |
| 1381 | - attributes | |
| 1382 | - }); | |
| 1383 | -} | |
| 1384 | - | |
| 1385 | -function ColorPicker(_ref) { | |
| 1386 | - let { | |
| 1387 | - name, | |
| 1388 | - property, | |
| 1389 | - value, | |
| 1390 | - onChange | |
| 1391 | - } = _ref; | |
| 1392 | - const colors = (0,external_wp_data_namespaceObject.useSelect)(select => { | |
| 1393 | - const { | |
| 1394 | - getSettings | |
| 1395 | - } = select(external_wp_blockEditor_namespaceObject.store); | |
| 1396 | - return (0,external_lodash_namespaceObject.get)(getSettings(), ['colors'], []); | |
| 1397 | - }, []); | |
| 1398 | - const onColorChange = (0,external_wp_element_namespaceObject.useCallback)(color => { | |
| 1399 | - onChange(setColors(value, name, colors, { | |
| 1400 | - [property]: color | |
| 1401 | - })); | |
| 1402 | - }, [colors, onChange, property]); | |
| 1403 | - const activeColors = (0,external_wp_element_namespaceObject.useMemo)(() => getActiveColors(value, name, colors), [name, value, colors]); | |
| 1404 | - return (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.ColorPalette, { | |
| 1405 | - value: activeColors[property], | |
| 1406 | - onChange: onColorChange | |
| 1407 | - }); | |
| 1408 | -} | |
| 1409 | - | |
| 1410 | -function InlineColorUI(_ref2) { | |
| 1411 | - let { | |
| 1412 | - name, | |
| 1413 | - value, | |
| 1414 | - onChange, | |
| 1415 | - onClose, | |
| 1416 | - contentRef | |
| 1417 | - } = _ref2; | |
| 1418 | - | |
| 1419 | - /* | |
| 1420 | - As you change the text color by typing a HEX value into a field, | |
| 1421 | - the return value of document.getSelection jumps to the field you're editing, | |
| 1422 | - not the highlighted text. Given that useAnchorRef uses document.getSelection, | |
| 1423 | - it will return null, since it can't find the <mark> element within the HEX input. | |
| 1424 | - This caches the last truthy value of the selection anchor reference. | |
| 1425 | - */ | |
| 1426 | - const anchorRef = (0,external_wp_blockEditor_namespaceObject.useCachedTruthy)((0,external_wp_richText_namespaceObject.useAnchorRef)({ | |
| 1427 | - ref: contentRef, | |
| 1428 | - value, | |
| 1429 | - settings: text_color_textColor | |
| 1430 | - })); | |
| 1431 | - return (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.Popover, { | |
| 1432 | - onClose: onClose, | |
| 1433 | - className: "components-inline-color-popover", | |
| 1434 | - anchorRef: anchorRef | |
| 1435 | - }, (0,external_wp_element_namespaceObject.createElement)(external_wp_components_namespaceObject.TabPanel, { | |
| 1436 | - tabs: [{ | |
| 1437 | - name: 'color', | |
| 1438 | - title: (0,external_wp_i18n_namespaceObject.__)('Text') | |
| 1439 | - }, { | |
| 1440 | - name: 'backgroundColor', | |
| 1441 | - title: (0,external_wp_i18n_namespaceObject.__)('Background') | |
| 1442 | - }] | |
| 1443 | - }, tab => (0,external_wp_element_namespaceObject.createElement)(ColorPicker, { | |
| 1444 | - name: name, | |
| 1445 | - property: tab.name, | |
| 1446 | - value: value, | |
| 1447 | - onChange: onChange | |
| 1448 | - }))); | |
| 1449 | -} | |
| 1450 | -//# sourceMappingURL=inline.js.map | |
| 1451 | -;// CONCATENATED MODULE: ./packages/format-library/build-module/text-color/index.js | |
| 1452 | - | |
| 1453 | - | |
| 1454 | -/** | |
| 1455 | - * External dependencies | |
| 1456 | - */ | |
| 1457 | - | |
| 1458 | -/** | |
| 1459 | - * WordPress dependencies | |
| 1460 | - */ | |
| 1461 | - | |
| 1462 | - | |
| 1463 | - | |
| 1464 | - | |
| 1465 | - | |
| 1466 | - | |
| 1467 | -/** | |
| 1468 | - * Internal dependencies | |
| 1469 | - */ | |
| 1470 | - | |
| 1471 | - | |
| 1472 | -const transparentValue = 'rgba(0, 0, 0, 0)'; | |
| 1473 | -const text_color_name = 'core/text-color'; | |
| 1474 | - | |
| 1475 | -const text_color_title = (0,external_wp_i18n_namespaceObject.__)('Highlight'); | |
| 1476 | - | |
| 1477 | -const EMPTY_ARRAY = []; | |
| 1478 | - | |
| 1479 | -function getComputedStyleProperty(element, property) { | |
| 1480 | - const { | |
| 1481 | - ownerDocument | |
| 1482 | - } = element; | |
| 1483 | - const { | |
| 1484 | - defaultView | |
| 1485 | - } = ownerDocument; | |
| 1486 | - const style = defaultView.getComputedStyle(element); | |
| 1487 | - const value = style.getPropertyValue(property); | |
| 1488 | - | |
| 1489 | - if (property === 'background-color' && value === transparentValue && element.parentElement) { | |
| 1490 | - return getComputedStyleProperty(element.parentElement, property); | |
| 1491 | - } | |
| 1492 | - | |
| 1493 | - return value; | |
| 1494 | -} | |
| 1495 | - | |
| 1496 | -function fillComputedColors(element, _ref) { | |
| 1497 | - let { | |
| 1498 | - color, | |
| 1499 | - backgroundColor | |
| 1500 | - } = _ref; | |
| 1501 | - | |
| 1502 | - if (!color && !backgroundColor) { | |
| 1503 | - return; | |
| 1504 | - } | |
| 1505 | - | |
| 1506 | - return { | |
| 1507 | - color: color || getComputedStyleProperty(element, 'color'), | |
| 1508 | - backgroundColor: backgroundColor === transparentValue ? getComputedStyleProperty(element, 'background-color') : backgroundColor | |
| 1509 | - }; | |
| 1510 | -} | |
| 1511 | - | |
| 1512 | -function TextColorEdit(_ref2) { | |
| 1513 | - let { | |
| 1514 | - value, | |
| 1515 | - onChange, | |
| 1516 | - isActive, | |
| 1517 | - activeAttributes, | |
| 1518 | - contentRef | |
| 1519 | - } = _ref2; | |
| 1520 | - const allowCustomControl = (0,external_wp_blockEditor_namespaceObject.useSetting)('color.custom'); | |
| 1521 | - const colors = (0,external_wp_blockEditor_namespaceObject.useSetting)('color.palette') || EMPTY_ARRAY; | |
| 1522 | - const [isAddingColor, setIsAddingColor] = (0,external_wp_element_namespaceObject.useState)(false); | |
| 1523 | - const enableIsAddingColor = (0,external_wp_element_namespaceObject.useCallback)(() => setIsAddingColor(true), [setIsAddingColor]); | |
| 1524 | - const disableIsAddingColor = (0,external_wp_element_namespaceObject.useCallback)(() => setIsAddingColor(false), [setIsAddingColor]); | |
| 1525 | - const colorIndicatorStyle = (0,external_wp_element_namespaceObject.useMemo)(() => fillComputedColors(contentRef.current, getActiveColors(value, text_color_name, colors)), [value, colors]); | |
| 1526 | - const hasColorsToChoose = !(0,external_lodash_namespaceObject.isEmpty)(colors) || !allowCustomControl; | |
| 1527 | - | |
| 1528 | - if (!hasColorsToChoose && !isActive) { | |
| 1529 | - return null; | |
| 1530 | - } | |
| 1531 | - | |
| 1532 | - return (0,external_wp_element_namespaceObject.createElement)(external_wp_element_namespaceObject.Fragment, null, (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.RichTextToolbarButton, { | |
| 1533 | - className: "format-library-text-color-button", | |
| 1534 | - isActive: isActive, | |
| 1535 | - icon: (0,external_wp_element_namespaceObject.createElement)(icon, { | |
| 1536 | - icon: text_color, | |
| 1537 | - style: colorIndicatorStyle | |
| 1538 | - }), | |
| 1539 | - title: text_color_title // If has no colors to choose but a color is active remove the color onClick | |
| 1540 | - , | |
| 1541 | - onClick: hasColorsToChoose ? enableIsAddingColor : () => onChange((0,external_wp_richText_namespaceObject.removeFormat)(value, text_color_name)), | |
| 1542 | - role: "menuitemcheckbox" | |
| 1543 | - }), isAddingColor && (0,external_wp_element_namespaceObject.createElement)(InlineColorUI, { | |
| 1544 | - name: text_color_name, | |
| 1545 | - onClose: disableIsAddingColor, | |
| 1546 | - activeAttributes: activeAttributes, | |
| 1547 | - value: value, | |
| 1548 | - onChange: onChange, | |
| 1549 | - contentRef: contentRef | |
| 1550 | - })); | |
| 1551 | -} | |
| 1552 | - | |
| 1553 | -const text_color_textColor = { | |
| 1554 | - name: text_color_name, | |
| 1555 | - title: text_color_title, | |
| 1556 | - tagName: 'mark', | |
| 1557 | - className: 'has-inline-color', | |
| 1558 | - attributes: { | |
| 1559 | - style: 'style', | |
| 1560 | - class: 'class' | |
| 1561 | - }, | |
| 1562 | - | |
| 1563 | - /* | |
| 1564 | - * Since this format relies on the <mark> tag, it's important to | |
| 1565 | - * prevent the default yellow background color applied by most | |
| 1566 | - * browsers. The solution is to detect when this format is used with a | |
| 1567 | - * text color but no background color, and in such cases to override | |
| 1568 | - * the default styling with a transparent background. | |
| 1569 | - * | |
| 1570 | - * @see https://github.com/WordPress/gutenberg/pull/35516 | |
| 1571 | - */ | |
| 1572 | - __unstableFilterAttributeValue(key, value) { | |
| 1573 | - if (key !== 'style') return value; // We should not add a background-color if it's already set | |
| 1574 | - | |
| 1575 | - if (value && value.includes('background-color')) return value; | |
| 1576 | - const addedCSS = ['background-color', transparentValue].join(':'); // Prepend `addedCSS` to avoid a double `;;` as any the existing CSS | |
| 1577 | - // rules will already include a `;`. | |
| 1578 | - | |
| 1579 | - return value ? [addedCSS, value].join(';') : addedCSS; | |
| 1580 | - }, | |
| 1581 | - | |
| 1582 | - edit: TextColorEdit | |
| 1583 | -}; | |
| 1584 | -//# sourceMappingURL=index.js.map | |
| 1585 | -;// CONCATENATED MODULE: ./packages/icons/build-module/library/subscript.js | |
| 1586 | - | |
| 1587 | - | |
| 1588 | -/** | |
| 1589 | - * WordPress dependencies | |
| 1590 | - */ | |
| 1591 | - | |
| 1592 | -const subscript = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { | |
| 1593 | - xmlns: "http://www.w3.org/2000/svg", | |
| 1594 | - viewBox: "0 0 24 24" | |
| 1595 | -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { | |
| 1596 | - d: "M16.9 18.3l.8-1.2c.4-.6.7-1.2.9-1.6.2-.4.3-.8.3-1.2 0-.3-.1-.7-.2-1-.1-.3-.4-.5-.6-.7-.3-.2-.6-.3-1-.3s-.8.1-1.1.2c-.3.1-.7.3-1 .6l.2 1.3c.3-.3.5-.5.8-.6s.6-.2.9-.2c.3 0 .5.1.7.2.2.2.2.4.2.7 0 .3-.1.5-.2.8-.1.3-.4.7-.8 1.3L15 19.4h4.3v-1.2h-2.4zM14.1 7.2h-2L9.5 11 6.9 7.2h-2l3.6 5.3L4.7 18h2l2.7-4 2.7 4h2l-3.8-5.5 3.8-5.3z" | |
| 1597 | -})); | |
| 1598 | -/* harmony default export */ var library_subscript = (subscript); | |
| 1599 | -//# sourceMappingURL=subscript.js.map | |
| 1600 | -;// CONCATENATED MODULE: ./packages/format-library/build-module/subscript/index.js | |
| 1601 | - | |
| 1602 | - | |
| 1603 | -/** | |
| 1604 | - * WordPress dependencies | |
| 1605 | - */ | |
| 1606 | - | |
| 1607 | - | |
| 1608 | - | |
| 1609 | - | |
| 1610 | -const subscript_name = 'core/subscript'; | |
| 1611 | - | |
| 1612 | -const subscript_title = (0,external_wp_i18n_namespaceObject.__)('Subscript'); | |
| 1613 | - | |
| 1614 | -const subscript_subscript = { | |
| 1615 | - name: subscript_name, | |
| 1616 | - title: subscript_title, | |
| 1617 | - tagName: 'sub', | |
| 1618 | - className: null, | |
| 1619 | - | |
| 1620 | - edit(_ref) { | |
| 1621 | - let { | |
| 1622 | - isActive, | |
| 1623 | - value, | |
| 1624 | - onChange, | |
| 1625 | - onFocus | |
| 1626 | - } = _ref; | |
| 1627 | - | |
| 1628 | - function onToggle() { | |
| 1629 | - onChange((0,external_wp_richText_namespaceObject.toggleFormat)(value, { | |
| 1630 | - type: subscript_name, | |
| 1631 | - title: subscript_title | |
| 1632 | - })); | |
| 1633 | - } | |
| 1634 | - | |
| 1635 | - function onClick() { | |
| 1636 | - onToggle(); | |
| 1637 | - onFocus(); | |
| 1638 | - } | |
| 1639 | - | |
| 1640 | - return (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.RichTextToolbarButton, { | |
| 1641 | - icon: library_subscript, | |
| 1642 | - title: subscript_title, | |
| 1643 | - onClick: onClick, | |
| 1644 | - isActive: isActive, | |
| 1645 | - role: "menuitemcheckbox" | |
| 1646 | - }); | |
| 1647 | - } | |
| 1648 | - | |
| 1649 | -}; | |
| 1650 | -//# sourceMappingURL=index.js.map | |
| 1651 | -;// CONCATENATED MODULE: ./packages/icons/build-module/library/superscript.js | |
| 1652 | - | |
| 1653 | - | |
| 1654 | -/** | |
| 1655 | - * WordPress dependencies | |
| 1656 | - */ | |
| 1657 | - | |
| 1658 | -const superscript = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { | |
| 1659 | - xmlns: "http://www.w3.org/2000/svg", | |
| 1660 | - viewBox: "0 0 24 24" | |
| 1661 | -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { | |
| 1662 | - d: "M16.9 10.3l.8-1.3c.4-.6.7-1.2.9-1.6.2-.4.3-.8.3-1.2 0-.3-.1-.7-.2-1-.2-.2-.4-.4-.7-.6-.3-.2-.6-.3-1-.3s-.8.1-1.1.2c-.3.1-.7.3-1 .6l.1 1.3c.3-.3.5-.5.8-.6s.6-.2.9-.2c.3 0 .5.1.7.2.2.2.2.4.2.7 0 .3-.1.5-.2.8-.1.3-.4.7-.8 1.3l-1.8 2.8h4.3v-1.2h-2.2zm-2.8-3.1h-2L9.5 11 6.9 7.2h-2l3.6 5.3L4.7 18h2l2.7-4 2.7 4h2l-3.8-5.5 3.8-5.3z" | |
| 1663 | -})); | |
| 1664 | -/* harmony default export */ var library_superscript = (superscript); | |
| 1665 | -//# sourceMappingURL=superscript.js.map | |
| 1666 | -;// CONCATENATED MODULE: ./packages/format-library/build-module/superscript/index.js | |
| 1667 | - | |
| 1668 | - | |
| 1669 | -/** | |
| 1670 | - * WordPress dependencies | |
| 1671 | - */ | |
| 1672 | - | |
| 1673 | - | |
| 1674 | - | |
| 1675 | - | |
| 1676 | -const superscript_name = 'core/superscript'; | |
| 1677 | - | |
| 1678 | -const superscript_title = (0,external_wp_i18n_namespaceObject.__)('Superscript'); | |
| 1679 | - | |
| 1680 | -const superscript_superscript = { | |
| 1681 | - name: superscript_name, | |
| 1682 | - title: superscript_title, | |
| 1683 | - tagName: 'sup', | |
| 1684 | - className: null, | |
| 1685 | - | |
| 1686 | - edit(_ref) { | |
| 1687 | - let { | |
| 1688 | - isActive, | |
| 1689 | - value, | |
| 1690 | - onChange, | |
| 1691 | - onFocus | |
| 1692 | - } = _ref; | |
| 1693 | - | |
| 1694 | - function onToggle() { | |
| 1695 | - onChange((0,external_wp_richText_namespaceObject.toggleFormat)(value, { | |
| 1696 | - type: superscript_name, | |
| 1697 | - title: superscript_title | |
| 1698 | - })); | |
| 1699 | - } | |
| 1700 | - | |
| 1701 | - function onClick() { | |
| 1702 | - onToggle(); | |
| 1703 | - onFocus(); | |
| 1704 | - } | |
| 1705 | - | |
| 1706 | - return (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.RichTextToolbarButton, { | |
| 1707 | - icon: library_superscript, | |
| 1708 | - title: superscript_title, | |
| 1709 | - onClick: onClick, | |
| 1710 | - isActive: isActive, | |
| 1711 | - role: "menuitemcheckbox" | |
| 1712 | - }); | |
| 1713 | - } | |
| 1714 | - | |
| 1715 | -}; | |
| 1716 | -//# sourceMappingURL=index.js.map | |
| 1717 | -;// CONCATENATED MODULE: ./packages/icons/build-module/library/button.js | |
| 1718 | - | |
| 1719 | - | |
| 1720 | -/** | |
| 1721 | - * WordPress dependencies | |
| 1722 | - */ | |
| 1723 | - | |
| 1724 | -const button_button = (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.SVG, { | |
| 1725 | - viewBox: "0 0 24 24", | |
| 1726 | - xmlns: "http://www.w3.org/2000/svg" | |
| 1727 | -}, (0,external_wp_element_namespaceObject.createElement)(external_wp_primitives_namespaceObject.Path, { | |
| 1728 | - d: "M19 6.5H5c-1.1 0-2 .9-2 2v7c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-7c0-1.1-.9-2-2-2zm.5 9c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5v-7c0-.3.2-.5.5-.5h14c.3 0 .5.2.5.5v7zM8 12.8h8v-1.5H8v1.5z" | |
| 1729 | -})); | |
| 1730 | -/* harmony default export */ var library_button = (button_button); | |
| 1731 | -//# sourceMappingURL=button.js.map | |
| 1732 | -;// CONCATENATED MODULE: ./packages/format-library/build-module/keyboard/index.js | |
| 1733 | - | |
| 1734 | - | |
| 1735 | -/** | |
| 1736 | - * WordPress dependencies | |
| 1737 | - */ | |
| 1738 | - | |
| 1739 | - | |
| 1740 | - | |
| 1741 | - | |
| 1742 | -const keyboard_name = 'core/keyboard'; | |
| 1743 | - | |
| 1744 | -const keyboard_title = (0,external_wp_i18n_namespaceObject.__)('Keyboard input'); | |
| 1745 | - | |
| 1746 | -const keyboard = { | |
| 1747 | - name: keyboard_name, | |
| 1748 | - title: keyboard_title, | |
| 1749 | - tagName: 'kbd', | |
| 1750 | - className: null, | |
| 1751 | - | |
| 1752 | - edit(_ref) { | |
| 1753 | - let { | |
| 1754 | - isActive, | |
| 1755 | - value, | |
| 1756 | - onChange, | |
| 1757 | - onFocus | |
| 1758 | - } = _ref; | |
| 1759 | - | |
| 1760 | - function onToggle() { | |
| 1761 | - onChange((0,external_wp_richText_namespaceObject.toggleFormat)(value, { | |
| 1762 | - type: keyboard_name, | |
| 1763 | - title: keyboard_title | |
| 1764 | - })); | |
| 1765 | - } | |
| 1766 | - | |
| 1767 | - function onClick() { | |
| 1768 | - onToggle(); | |
| 1769 | - onFocus(); | |
| 1770 | - } | |
| 1771 | - | |
| 1772 | - return (0,external_wp_element_namespaceObject.createElement)(external_wp_blockEditor_namespaceObject.RichTextToolbarButton, { | |
| 1773 | - icon: library_button, | |
| 1774 | - title: keyboard_title, | |
| 1775 | - onClick: onClick, | |
| 1776 | - isActive: isActive, | |
| 1777 | - role: "menuitemcheckbox" | |
| 1778 | - }); | |
| 1779 | - } | |
| 1780 | - | |
| 1781 | -}; | |
| 1782 | -//# sourceMappingURL=index.js.map | |
| 1783 | -;// CONCATENATED MODULE: ./packages/format-library/build-module/default-formats.js | |
| 1784 | -/** | |
| 1785 | - * Internal dependencies | |
| 1786 | - */ | |
| 1787 | - | |
| 1788 | - | |
| 1789 | - | |
| 1790 | - | |
| 1791 | - | |
| 1792 | - | |
| 1793 | - | |
| 1794 | - | |
| 1795 | - | |
| 1796 | - | |
| 1797 | - | |
| 1798 | -/* harmony default export */ var default_formats = ([bold, code_code, image_image, italic, build_module_link_link, strikethrough, underline, text_color_textColor, subscript_subscript, superscript_superscript, keyboard]); | |
| 1799 | -//# sourceMappingURL=default-formats.js.map | |
| 1800 | -;// CONCATENATED MODULE: ./packages/format-library/build-module/index.js | |
| 1801 | -/** | |
| 1802 | - * WordPress dependencies | |
| 1803 | - */ | |
| 1804 | - | |
| 1805 | -/** | |
| 1806 | - * Internal dependencies | |
| 1807 | - */ | |
| 1808 | - | |
| 1809 | - | |
| 1810 | -default_formats.forEach(_ref => { | |
| 1811 | - let { | |
| 1812 | - name, | |
| 1813 | - ...settings | |
| 1814 | - } = _ref; | |
| 1815 | - return (0,external_wp_richText_namespaceObject.registerFormatType)(name, settings); | |
| 1816 | -}); | |
| 1817 | -//# sourceMappingURL=index.js.map | |
| 1818 | -(window.wp = window.wp || {}).formatLibrary = __webpack_exports__; | |
| 1819 | -/******/ })() | |
| 1820 | -; | |
| 1 | +window.wp=window.wp||{},window.wp.formatLibrary=function(e){var t={};function r(n){if(t[n])return t[n].exports;var c=t[n]={i:n,l:!1,exports:{}};return e[n].call(c.exports,c,c.exports,r),c.l=!0,c.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var c in e)r.d(n,c,function(t){return e[t]}.bind(null,c));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=532)}({0:function(e,t){e.exports=window.wp.element},1:function(e,t){e.exports=window.wp.i18n},13:function(e,t,r){"use strict";r.d(t,"a",(function(){return c}));var n=r(48);function c(e,t){if(null==e)return{};var r,c,o=Object(n.a)(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(c=0;c<a.length;c++)r=a[c],t.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}},156:function(e,t,r){"use strict";var n=r(5),c=r(13),o=r(0);function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}t.a=function(e){var t=e.icon,r=e.size,i=void 0===r?24:r,l=Object(c.a)(e,["icon","size"]);return Object(o.cloneElement)(t,function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?a(Object(r),!0).forEach((function(t){Object(n.a)(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):a(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}({width:i,height:i},l))}},2:function(e,t){e.exports=window.lodash},231:function(e,t,r){"use strict";var n=r(0),c=r(7),o=Object(n.createElement)(c.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(n.createElement)(c.Path,{d:"M15.6 7.2H14v1.5h1.6c2 0 3.7 1.7 3.7 3.7s-1.7 3.7-3.7 3.7H14v1.5h1.6c2.8 0 5.2-2.3 5.2-5.2 0-2.9-2.3-5.2-5.2-5.2zM4.7 12.4c0-2 1.7-3.7 3.7-3.7H10V7.2H8.4c-2.9 0-5.2 2.3-5.2 5.2 0 2.9 2.3 5.2 5.2 5.2H10v-1.5H8.4c-2 0-3.7-1.7-3.7-3.7zm4.6.9h5.3v-1.5H9.3v1.5z"}));t.a=o},24:function(e,t,r){"use strict";function n(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}r.d(t,"a",(function(){return n}))},25:function(e,t){e.exports=window.wp.richText},271:function(e,t,r){"use strict";var n=r(0),c=r(7),o=Object(n.createElement)(c.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"-2 -2 24 24"},Object(n.createElement)(c.Path,{d:"M6.734 16.106l2.176-2.38-1.093-1.028-3.846 4.158 3.846 4.157 1.093-1.027-2.176-2.38h2.811c1.125 0 2.25.03 3.374 0 1.428-.001 3.362-.25 4.963-1.277 1.66-1.065 2.868-2.906 2.868-5.859 0-2.479-1.327-4.896-3.65-5.93-1.82-.813-3.044-.8-4.806-.788l-.567.002v1.5c.184 0 .368 0 .553-.002 1.82-.007 2.704-.014 4.21.657 1.854.827 2.76 2.657 2.76 4.561 0 2.472-.973 3.824-2.178 4.596-1.258.807-2.864 1.04-4.163 1.04h-.02c-1.115.03-2.229 0-3.344 0H6.734z"}));t.a=o},273:function(e,t,r){"use strict";var n=r(0),c=r(7),o=Object(n.createElement)(c.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(n.createElement)(c.Path,{d:"M12.9 6h-2l-4 11h1.9l1.1-3h4.2l1.1 3h1.9L12.9 6zm-2.5 6.5l1.5-4.9 1.7 4.9h-3.2z"}));t.a=o},274:function(e,t,r){"use strict";var n=r(0),c=r(7),o=Object(n.createElement)(c.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(n.createElement)(c.Path,{d:"M15.6 7.3h-.7l1.6-3.5-.9-.4-3.9 8.5H9v1.5h2l-1.3 2.8H8.4c-2 0-3.7-1.7-3.7-3.7s1.7-3.7 3.7-3.7H10V7.3H8.4c-2.9 0-5.2 2.3-5.2 5.2 0 2.9 2.3 5.2 5.2 5.2H9l-1.4 3.2.9.4 5.7-12.5h1.4c2 0 3.7 1.7 3.7 3.7s-1.7 3.7-3.7 3.7H14v1.5h1.6c2.9 0 5.2-2.3 5.2-5.2 0-2.9-2.4-5.2-5.2-5.2z"}));t.a=o},3:function(e,t){e.exports=window.wp.components},30:function(e,t,r){"use strict";r.d(t,"a",(function(){return c}));var n=r(24);function c(e,t){if(e){if("string"==typeof e)return Object(n.a)(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?Object(n.a)(e,t):void 0}}},31:function(e,t){e.exports=window.wp.url},385:function(e,t,r){"use strict";var n=r(0),c=r(7),o=Object(n.createElement)(c.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(n.createElement)(c.Path,{d:"M9.1 9v-.5c0-.6.2-1.1.7-1.4.5-.3 1.2-.5 2-.5.7 0 1.4.1 2.1.3.7.2 1.4.5 2.1.9l.2-1.9c-.6-.3-1.2-.5-1.9-.7-.8-.1-1.6-.2-2.4-.2-1.5 0-2.7.3-3.6 1-.8.7-1.2 1.5-1.2 2.6V9h2zM20 12H4v1h8.3c.3.1.6.2.8.3.5.2.9.5 1.1.8.3.3.4.7.4 1.2 0 .7-.2 1.1-.8 1.5-.5.3-1.2.5-2.1.5-.8 0-1.6-.1-2.4-.3-.8-.2-1.5-.5-2.2-.8L7 18.1c.5.2 1.2.4 2 .6.8.2 1.6.3 2.4.3 1.7 0 3-.3 3.9-1 .9-.7 1.3-1.6 1.3-2.8 0-.9-.2-1.7-.7-2.2H20v-1z"}));t.a=o},39:function(e,t,r){"use strict";function n(e){if(Array.isArray(e))return e}r.d(t,"a",(function(){return n}))},392:function(e,t,r){"use strict";var n=r(0),c=r(7),o=Object(n.createElement)(c.SVG,{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},Object(n.createElement)(c.Path,{d:"M19 6.5H5c-1.1 0-2 .9-2 2v7c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2v-7c0-1.1-.9-2-2-2zm.5 9c0 .3-.2.5-.5.5H5c-.3 0-.5-.2-.5-.5v-7c0-.3.2-.5.5-.5h14c.3 0 .5.2.5.5v7zM8 12.8h8v-1.5H8v1.5z"}));t.a=o},393:function(e,t,r){"use strict";var n=r(0),c=r(7),o=Object(n.createElement)(c.SVG,{viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},Object(n.createElement)(c.Path,{d:"M20.8 10.7l-4.3-4.3-1.1 1.1 4.3 4.3c.1.1.1.3 0 .4l-4.3 4.3 1.1 1.1 4.3-4.3c.7-.8.7-1.9 0-2.6zM4.2 11.8l4.3-4.3-1-1-4.3 4.3c-.7.7-.7 1.8 0 2.5l4.3 4.3 1.1-1.1-4.3-4.3c-.2-.1-.2-.3-.1-.4z"}));t.a=o},4:function(e,t){e.exports=window.wp.data},40:function(e,t,r){"use strict";function n(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}r.d(t,"a",(function(){return n}))},48:function(e,t,r){"use strict";function n(e,t){if(null==e)return{};var r,n,c={},o=Object.keys(e);for(n=0;n<o.length;n++)r=o[n],t.indexOf(r)>=0||(c[r]=e[r]);return c}r.d(t,"a",(function(){return n}))},5:function(e,t,r){"use strict";function n(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}r.d(t,"a",(function(){return n}))},532:function(e,t,r){"use strict";r.r(t);var n=r(13),c=r(25),o=r(0),a=r(1),i=r(6),l=r(7),u=Object(o.createElement)(l.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(o.createElement)(l.Path,{d:"M14.7 11.3c1-.6 1.5-1.6 1.5-3 0-2.3-1.3-3.4-4-3.4H7v14h5.8c1.4 0 2.5-.3 3.3-1 .8-.7 1.2-1.7 1.2-2.9.1-1.9-.8-3.1-2.6-3.7zm-5.1-4h2.3c.6 0 1.1.1 1.4.4.3.3.5.7.5 1.2s-.2 1-.5 1.2c-.3.3-.8.4-1.4.4H9.6V7.3zm4.6 9c-.4.3-1 .4-1.7.4H9.6v-3.9h2.9c.7 0 1.3.2 1.7.5.4.3.6.8.6 1.5s-.2 1.2-.6 1.5z"})),s=Object(a.__)("Bold"),b={name:"core/bold",title:s,tagName:"strong",className:null,edit:function(e){var t=e.isActive,r=e.value,n=e.onChange,a=e.onFocus;function l(){n(Object(c.toggleFormat)(r,{type:"core/bold"}))}return Object(o.createElement)(o.Fragment,null,Object(o.createElement)(i.RichTextShortcut,{type:"primary",character:"b",onUse:l}),Object(o.createElement)(i.RichTextToolbarButton,{name:"bold",icon:u,title:s,onClick:function(){l(),a()},isActive:t,shortcutType:"primary",shortcutCharacter:"b"}),Object(o.createElement)(i.__unstableRichTextInputEvent,{inputType:"formatBold",onInput:l}))}},m=r(393),p=Object(a.__)("Inline code"),O={name:"core/code",title:p,tagName:"code",className:null,__unstableInputRule:function(e){var t=e,r=t.start,n=t.text;if("`"!==n.slice(r-1,r))return e;var o=n.slice(0,r-1).lastIndexOf("`");if(-1===o)return e;var a=o,i=r-2;return a===i?e:(e=Object(c.remove)(e,a,a+1),e=Object(c.remove)(e,i,i+1),e=Object(c.applyFormat)(e,{type:"core/code"},a,i))},edit:function(e){var t=e.value,r=e.onChange,n=e.onFocus,a=e.isActive;return Object(o.createElement)(i.RichTextToolbarButton,{icon:m.a,title:p,onClick:function(){r(Object(c.toggleFormat)(t,{type:"core/code"})),n()},isActive:a})}},f=r(5),v=r(8),j=r(3),h=r(271);function d(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function g(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?d(Object(r),!0).forEach((function(t){Object(f.a)(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):d(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var y=["image"],w=Object(a.__)("Inline image"),E={name:"core/image",title:w,keywords:[Object(a.__)("photo"),Object(a.__)("media")],object:!0,tagName:"img",className:null,attributes:{className:"class",style:"style",url:"src",alt:"alt"},edit:function(e){var t=e.value,r=e.onChange,n=e.onFocus,a=e.isObjectActive,l=e.activeObjectAttributes,u=e.contentRef,s=Object(o.useState)(!1),b=Object(v.a)(s,2),m=b[0],p=b[1];function O(){p(!1)}return Object(o.createElement)(i.MediaUploadCheck,null,Object(o.createElement)(i.RichTextToolbarButton,{icon:Object(o.createElement)(j.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(o.createElement)(j.Path,{d:"M4 18.5h16V17H4v1.5zM16 13v1.5h4V13h-4zM5.1 15h7.8c.6 0 1.1-.5 1.1-1.1V6.1c0-.6-.5-1.1-1.1-1.1H5.1C4.5 5 4 5.5 4 6.1v7.8c0 .6.5 1.1 1.1 1.1zm.4-8.5h7V10l-1-1c-.3-.3-.8-.3-1 0l-1.6 1.5-1.2-.7c-.3-.2-.6-.2-.9 0l-1.3 1V6.5zm0 6.1l1.8-1.3 1.3.8c.3.2.7.2.9-.1l1.5-1.4 1.5 1.4v1.5h-7v-.9z"})),title:w,onClick:function(){p(!0)},isActive:a}),m&&Object(o.createElement)(i.MediaUpload,{allowedTypes:y,onSelect:function(e){var o=e.id,a=e.url,i=e.alt,l=e.width;O(),r(Object(c.insertObject)(t,{type:"core/image",attributes:{className:"wp-image-".concat(o),style:"width: ".concat(Math.min(l,150),"px;"),url:a,alt:i}})),n()},onClose:O,render:function(e){return(0,e.open)(),null}}),a&&Object(o.createElement)(x,{value:t,onChange:r,activeObjectAttributes:l,contentRef:u}))}};function x(e){var t=e.value,r=e.onChange,n=e.activeObjectAttributes,i=e.contentRef,l=n.style,u=Object(o.useState)(null==l?void 0:l.replace(/\D/g,"")),s=Object(v.a)(u,2),b=s[0],m=s[1],p=Object(c.useAnchorRef)({ref:i,value:t,settings:E});return Object(o.createElement)(j.Popover,{position:"bottom center",focusOnMount:!1,anchorRef:p,className:"block-editor-format-toolbar__image-popover"},Object(o.createElement)("form",{className:"block-editor-format-toolbar__image-container-content",onSubmit:function(e){var c=t.replacements.slice();c[t.start]={type:"core/image",attributes:g(g({},n),{},{style:"width: ".concat(b,"px;")})},r(g(g({},t),{},{replacements:c})),e.preventDefault()}},Object(o.createElement)(j.TextControl,{className:"block-editor-format-toolbar__image-container-value",type:"number",label:Object(a.__)("Width"),value:b,min:1,onChange:function(e){return m(e)}}),Object(o.createElement)(j.Button,{icon:h.a,label:Object(a.__)("Apply"),type:"submit"})))}var _=Object(o.createElement)(l.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(o.createElement)(l.Path,{d:"M12.5 5L10 19h1.9l2.5-14z"})),k=Object(a.__)("Italic"),C={name:"core/italic",title:k,tagName:"em",className:null,edit:function(e){var t=e.isActive,r=e.value,n=e.onChange,a=e.onFocus;function l(){n(Object(c.toggleFormat)(r,{type:"core/italic"}))}return Object(o.createElement)(o.Fragment,null,Object(o.createElement)(i.RichTextShortcut,{type:"primary",character:"i",onUse:l}),Object(o.createElement)(i.RichTextToolbarButton,{name:"italic",icon:_,title:k,onClick:function(){l(),a()},isActive:t,shortcutType:"primary",shortcutCharacter:"i"}),Object(o.createElement)(i.__unstableRichTextInputEvent,{inputType:"formatItalic",onInput:l}))}},P=r(31),S=r(71),T=r(274),A=r(231),F=r(54),R=r(2);function N(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function M(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?N(Object(r),!0).forEach((function(t){Object(f.a)(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):N(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}var z=Object(j.withSpokenMessages)((function(e){var t=e.isActive,r=e.activeAttributes,n=e.addingLink,l=e.value,u=e.onChange,s=e.speak,b=e.stopAddingLink,m=e.contentRef,p=Object(o.useState)(),O=Object(v.a)(p,2),f=O[0],h=O[1],d=M({url:r.url,type:r.type,id:r.id,opensInNewTab:"_blank"===r.target},f),g=Object(c.useAnchorRef)({ref:m,value:l,settings:B}),y=Object(o.useRef)(!!n&&"firstElement");return Object(o.createElement)(j.Popover,{anchorRef:g,focusOnMount:y.current,onClose:b,position:"bottom center"},Object(o.createElement)(i.__experimentalLinkControl,{value:d,onChange:function(e){e=M(M({},f),e);var r=d.opensInNewTab!==e.opensInNewTab&&d.url===e.url,n=r&&void 0===e.url;if(h(n?e:void 0),!n){var o=Object(P.prependHTTP)(e.url),i=function(e){var t=e.type,r=e.id,n=e.opensInNewWindow,c={type:"core/link",attributes:{url:e.url}};return t&&(c.attributes.type=t),r&&(c.attributes.id=r),n&&(c.attributes.target="_blank",c.attributes.rel="noreferrer noopener"),c}({url:o,type:e.type,id:void 0!==e.id&&null!==e.id?String(e.id):void 0,opensInNewWindow:e.opensInNewTab});if(Object(c.isCollapsed)(l)&&!t){var m=e.title||o,p=Object(c.applyFormat)(Object(c.create)({text:m}),i,0,m.length);u(Object(c.insert)(l,p))}else{var O=Object(c.applyFormat)(l,i);O.start=O.end,O.activeFormats=[],u(O)}r||b(),function(e){if(!e)return!1;var t=e.trim();if(!t)return!1;if(/^\S+:/.test(t)){var r=Object(P.getProtocol)(t);if(!Object(P.isValidProtocol)(r))return!1;if(Object(R.startsWith)(r,"http")&&!/^https?:\/\/[^\/\s]/i.test(t))return!1;var n=Object(P.getAuthority)(t);if(!Object(P.isValidAuthority)(n))return!1;var c=Object(P.getPath)(t);if(c&&!Object(P.isValidPath)(c))return!1;var o=Object(P.getQueryString)(t);if(o&&!Object(P.isValidQueryString)(o))return!1;var a=Object(P.getFragment)(t);if(a&&!Object(P.isValidFragment)(a))return!1}return!(Object(R.startsWith)(t,"#")&&!Object(P.isValidFragment)(t))}(o)?s(t?Object(a.__)("Link edited."):Object(a.__)("Link inserted."),"assertive"):s(Object(a.__)("Warning: the link has been inserted but may have errors. Please test it."),"assertive")}},forceIsEditingLink:n}))})),V=Object(a.__)("Link"),B={name:"core/link",title:V,tagName:"a",className:null,attributes:{url:"href",type:"data-type",id:"data-id",target:"target"},__unstablePasteRule:function(e,t){var r=t.html,n=t.plainText;if(Object(c.isCollapsed)(e))return e;var o=(r||n).replace(/<[^>]+>/g,"").trim();return Object(P.isURL)(o)?(window.console.log("Created link:\n\n",o),Object(c.applyFormat)(e,{type:"core/link",attributes:{url:Object(S.decodeEntities)(o)}})):e},edit:function(e){var t=e.isActive,r=e.activeAttributes,n=e.value,l=e.onChange,u=e.onFocus,s=e.contentRef,b=Object(o.useState)(!1),m=Object(v.a)(b,2),p=m[0],O=m[1];function f(){var e=Object(c.getTextContent)(Object(c.slice)(n));e&&Object(P.isURL)(e)?l(Object(c.applyFormat)(n,{type:"core/link",attributes:{url:e}})):e&&Object(P.isEmail)(e)?l(Object(c.applyFormat)(n,{type:"core/link",attributes:{url:"mailto:".concat(e)}})):O(!0)}function j(){l(Object(c.removeFormat)(n,"core/link")),Object(F.speak)(Object(a.__)("Link removed."),"assertive")}return Object(o.createElement)(o.Fragment,null,Object(o.createElement)(i.RichTextShortcut,{type:"primary",character:"k",onUse:f}),Object(o.createElement)(i.RichTextShortcut,{type:"primaryShift",character:"k",onUse:j}),t&&Object(o.createElement)(i.RichTextToolbarButton,{name:"link",icon:T.a,title:Object(a.__)("Unlink"),onClick:j,isActive:t,shortcutType:"primaryShift",shortcutCharacter:"k"}),!t&&Object(o.createElement)(i.RichTextToolbarButton,{name:"link",icon:A.a,title:V,onClick:f,isActive:t,shortcutType:"primary",shortcutCharacter:"k"}),(p||t)&&Object(o.createElement)(z,{addingLink:p,stopAddingLink:function(){O(!1),u()},isActive:t,activeAttributes:r,value:n,onChange:l,contentRef:s}))}},H=r(385),I=Object(a.__)("Strikethrough"),L={name:"core/strikethrough",title:I,tagName:"s",className:null,edit:function(e){var t=e.isActive,r=e.value,n=e.onChange,a=e.onFocus;return Object(o.createElement)(i.RichTextToolbarButton,{icon:H.a,title:I,onClick:function(){n(Object(c.toggleFormat)(r,{type:"core/strikethrough"})),a()},isActive:t})}},U={name:"core/underline",title:Object(a.__)("Underline"),tagName:"span",className:null,attributes:{style:"style"},edit:function(e){var t=e.value,r=e.onChange,n=function(){r(Object(c.toggleFormat)(t,{type:"core/underline",attributes:{style:"text-decoration: underline;"}}))};return Object(o.createElement)(o.Fragment,null,Object(o.createElement)(i.RichTextShortcut,{type:"primary",character:"u",onUse:n}),Object(o.createElement)(i.__unstableRichTextInputEvent,{inputType:"formatUnderline",onInput:n}))}},D=r(156),G=r(273),W=r(4);function Q(e,t,r){var n=Object(c.getActiveFormat)(t,e);if(n){var o=n.attributes.style;if(o)return o.replace(new RegExp("^color:\\s*"),"");var a=n.attributes.class;if(a){var l=a.replace(/.*has-([^\s]*)-color.*/,"$1");return Object(i.getColorObjectByAttributeValues)(r,l).color}}}var $=function(e){var t=e.name,r=e.value,n=e.onChange,a=Object(W.useSelect)((function(e){var t=e("core/block-editor").getSettings;return Object(R.get)(t(),["colors"],[])})),l=Object(o.useCallback)((function(e){if(e){var o=Object(i.getColorObjectByColorValue)(a,e);n(Object(c.applyFormat)(r,{type:t,attributes:o?{class:Object(i.getColorClassName)("color",o.slug)}:{style:"color:".concat(e)}}))}else n(Object(c.removeFormat)(r,t))}),[a,n]),u=Object(o.useMemo)((function(){return Q(t,r,a)}),[t,r,a]);return Object(o.createElement)(i.ColorPalette,{value:u,onChange:l})};function K(e){var t=e.name,r=e.value,n=e.onChange,a=e.onClose,l=e.contentRef,u=Object(c.useAnchorRef)({ref:l,value:r,settings:X});return Object(o.createElement)(i.URLPopover,{value:r,onClose:a,className:"components-inline-color-popover",anchorRef:u},Object(o.createElement)($,{name:t,value:r,onChange:n}))}var q=Object(a.__)("Text color"),J=[],X={name:"core/text-color",title:q,tagName:"span",className:"has-inline-color",attributes:{style:"style",class:"class"},edit:function(e){var t=e.value,r=e.onChange,n=e.isActive,a=e.activeAttributes,l=e.contentRef,u=Object(i.__experimentalUseEditorFeature)("color.custom"),s=Object(i.__experimentalUseEditorFeature)("color.palette")||J,b=Object(o.useState)(!1),m=Object(v.a)(b,2),p=m[0],O=m[1],f=Object(o.useCallback)((function(){return O(!0)}),[O]),j=Object(o.useCallback)((function(){return O(!1)}),[O]),h=Object(o.useMemo)((function(){var e=Q("core/text-color",t,s);if(e)return{backgroundColor:e}}),[t,s]),d=!Object(R.isEmpty)(s)||!u;return d||n?Object(o.createElement)(o.Fragment,null,Object(o.createElement)(i.RichTextToolbarButton,{key:n?"text-color":"text-color-not-active",className:"format-library-text-color-button",name:n?"text-color":void 0,icon:Object(o.createElement)(o.Fragment,null,Object(o.createElement)(D.a,{icon:G.a}),n&&Object(o.createElement)("span",{className:"format-library-text-color-button__indicator",style:h})),title:q,onClick:d?f:function(){return r(Object(c.removeFormat)(t,"core/text-color"))}}),p&&Object(o.createElement)(K,{name:"core/text-color",onClose:j,activeAttributes:a,value:t,onChange:function(){r.apply(void 0,arguments),j()},contentRef:l})):null}},Y=Object(o.createElement)(l.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(o.createElement)(l.Path,{d:"M16.9 18.3l.8-1.2c.4-.6.7-1.2.9-1.6.2-.4.3-.8.3-1.2 0-.3-.1-.7-.2-1-.1-.3-.4-.5-.6-.7-.3-.2-.6-.3-1-.3s-.8.1-1.1.2c-.3.1-.7.3-1 .6l.2 1.3c.3-.3.5-.5.8-.6s.6-.2.9-.2c.3 0 .5.1.7.2.2.2.2.4.2.7 0 .3-.1.5-.2.8-.1.3-.4.7-.8 1.3L15 19.4h4.3v-1.2h-2.4zM14.1 7.2h-2L9.5 11 6.9 7.2h-2l3.6 5.3L4.7 18h2l2.7-4 2.7 4h2l-3.8-5.5 3.8-5.3z"})),Z=Object(a.__)("Subscript"),ee={name:"core/subscript",title:Z,tagName:"sub",className:null,edit:function(e){var t=e.isActive,r=e.value,n=e.onChange,a=e.onFocus;return Object(o.createElement)(i.RichTextToolbarButton,{icon:Y,title:Z,onClick:function(){n(Object(c.toggleFormat)(r,{type:"core/subscript"})),a()},isActive:t})}},te=Object(o.createElement)(l.SVG,{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24"},Object(o.createElement)(l.Path,{d:"M16.9 10.3l.8-1.3c.4-.6.7-1.2.9-1.6.2-.4.3-.8.3-1.2 0-.3-.1-.7-.2-1-.2-.2-.4-.4-.7-.6-.3-.2-.6-.3-1-.3s-.8.1-1.1.2c-.3.1-.7.3-1 .6l.1 1.3c.3-.3.5-.5.8-.6s.6-.2.9-.2c.3 0 .5.1.7.2.2.2.2.4.2.7 0 .3-.1.5-.2.8-.1.3-.4.7-.8 1.3l-1.8 2.8h4.3v-1.2h-2.2zm-2.8-3.1h-2L9.5 11 6.9 7.2h-2l3.6 5.3L4.7 18h2l2.7-4 2.7 4h2l-3.8-5.5 3.8-5.3z"})),re=Object(a.__)("Superscript"),ne={name:"core/superscript",title:re,tagName:"sup",className:null,edit:function(e){var t=e.isActive,r=e.value,n=e.onChange,a=e.onFocus;return Object(o.createElement)(i.RichTextToolbarButton,{icon:te,title:re,onClick:function(){n(Object(c.toggleFormat)(r,{type:"core/superscript"})),a()},isActive:t})}},ce=r(392),oe=Object(a.__)("Keyboard input");[b,O,E,C,B,L,U,X,ee,ne,{name:"core/keyboard",title:oe,tagName:"kbd",className:null,edit:function(e){var t=e.isActive,r=e.value,n=e.onChange,a=e.onFocus;return Object(o.createElement)(i.RichTextToolbarButton,{icon:ce.a,title:oe,onClick:function(){n(Object(c.toggleFormat)(r,{type:"core/keyboard"})),a()},isActive:t})}}].forEach((function(e){var t=e.name,r=Object(n.a)(e,["name"]);return Object(c.registerFormatType)(t,r)}))},54:function(e,t){e.exports=window.wp.a11y},6:function(e,t){e.exports=window.wp.blockEditor},7:function(e,t){e.exports=window.wp.primitives},71:function(e,t){e.exports=window.wp.htmlEntities},8:function(e,t,r){"use strict";r.d(t,"a",(function(){return a}));var n=r(39),c=r(30),o=r(40);function a(e,t){return Object(n.a)(e)||function(e,t){if("undefined"!=typeof Symbol&&Symbol.iterator in Object(e)){var r=[],_n=!0,n=!1,c=void 0;try{for(var o,a=e[Symbol.iterator]();!(_n=(o=a.next()).done)&&(r.push(o.value),!t||r.length!==t);_n=!0);}catch(e){n=!0,c=e}finally{try{_n||null==a.return||a.return()}finally{if(n)throw c}}return r}}(e,t)||Object(c.a)(e,t)||Object(o.a)()}}}); | |