Current File : /home/resuelf/www/wp-content/plugins/gutenberg/build/format-library/index.min.js.map |
{"version":3,"file":"./build/format-library/index.min.js","mappings":"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","sources":["webpack://wp/webpack/bootstrap","webpack://wp/webpack/runtime/make namespace object","webpack://wp/external window [\"wp\",\"richText\"]","webpack://wp/external window \"React\"","webpack://wp/external window [\"wp\",\"i18n\"]","webpack://wp/external window [\"wp\",\"blockEditor\"]","webpack://wp/external window [\"wp\",\"primitives\"]","../../packages/icons/src/library/format-bold.js","../../packages/format-library/src/bold/index.js","../../packages/icons/src/library/code.js","../../packages/format-library/src/code/index.js","webpack://wp/external window [\"wp\",\"components\"]","webpack://wp/external window [\"wp\",\"element\"]","../../packages/icons/src/library/keyboard-return.js","../../packages/format-library/src/image/index.js","../../packages/icons/src/library/format-italic.js","../../packages/format-library/src/italic/index.js","webpack://wp/external window [\"wp\",\"url\"]","webpack://wp/external window [\"wp\",\"htmlEntities\"]","../../packages/icons/src/library/link-off.js","../../packages/icons/src/library/link.js","webpack://wp/external window [\"wp\",\"a11y\"]","webpack://wp/external window [\"wp\",\"data\"]","../../packages/format-library/src/link/utils.js","../../packages/format-library/src/link/use-link-instance-key.js","../../packages/format-library/src/link/inline.js","../../packages/format-library/src/link/index.js","../../packages/icons/src/library/format-strikethrough.js","../../packages/format-library/src/strikethrough/index.js","../../packages/format-library/src/underline/index.js","../../packages/icons/src/icon/index.js","../../packages/icons/src/library/text-color.js","../../packages/icons/src/library/color.js","webpack://wp/external window [\"wp\",\"privateApis\"]","../../packages/format-library/src/lock-unlock.js","../../packages/format-library/src/text-color/inline.js","../../packages/format-library/src/text-color/index.js","../../packages/icons/src/library/subscript.js","../../packages/format-library/src/subscript/index.js","../../packages/icons/src/library/superscript.js","../../packages/format-library/src/superscript/index.js","../../packages/icons/src/library/button.js","../../packages/format-library/src/keyboard/index.js","../../packages/icons/src/library/help.js","../../packages/format-library/src/unknown/index.js","../../packages/icons/src/library/language.js","../../packages/format-library/src/language/index.js","../../packages/format-library/src/default-formats.js","../../packages/format-library/src/index.js"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","var __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"richText\"];","var __WEBPACK_NAMESPACE_OBJECT__ = window[\"React\"];","var __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"i18n\"];","var __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"blockEditor\"];","var __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"primitives\"];","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\n\nconst formatBold = (\n\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t<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\" />\n\t</SVG>\n);\n\nexport default formatBold;\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { toggleFormat } from '@wordpress/rich-text';\nimport {\n\tRichTextToolbarButton,\n\tRichTextShortcut,\n\t__unstableRichTextInputEvent,\n} from '@wordpress/block-editor';\nimport { formatBold } from '@wordpress/icons';\n\nconst name = 'core/bold';\nconst title = __( 'Bold' );\n\nexport const bold = {\n\tname,\n\ttitle,\n\ttagName: 'strong',\n\tclassName: null,\n\tedit( { isActive, value, onChange, onFocus } ) {\n\t\tfunction onToggle() {\n\t\t\tonChange( toggleFormat( value, { type: name, title } ) );\n\t\t}\n\n\t\tfunction onClick() {\n\t\t\tonChange( toggleFormat( value, { type: name } ) );\n\t\t\tonFocus();\n\t\t}\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<RichTextShortcut\n\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\tcharacter=\"b\"\n\t\t\t\t\tonUse={ onToggle }\n\t\t\t\t/>\n\t\t\t\t<RichTextToolbarButton\n\t\t\t\t\tname=\"bold\"\n\t\t\t\t\ticon={ formatBold }\n\t\t\t\t\ttitle={ title }\n\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\tisActive={ isActive }\n\t\t\t\t\tshortcutType=\"primary\"\n\t\t\t\t\tshortcutCharacter=\"b\"\n\t\t\t\t/>\n\t\t\t\t<__unstableRichTextInputEvent\n\t\t\t\t\tinputType=\"formatBold\"\n\t\t\t\t\tonInput={ onToggle }\n\t\t\t\t/>\n\t\t\t</>\n\t\t);\n\t},\n};\n","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\n\nconst code = (\n\t<SVG viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t<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\" />\n\t</SVG>\n);\n\nexport default code;\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { toggleFormat, remove, applyFormat } from '@wordpress/rich-text';\nimport {\n\tRichTextToolbarButton,\n\tRichTextShortcut,\n} from '@wordpress/block-editor';\nimport { code as codeIcon } from '@wordpress/icons';\n\nconst name = 'core/code';\nconst title = __( 'Inline code' );\n\nexport const code = {\n\tname,\n\ttitle,\n\ttagName: 'code',\n\tclassName: null,\n\t__unstableInputRule( value ) {\n\t\tconst BACKTICK = '`';\n\t\tconst { start, text } = value;\n\t\tconst characterBefore = text[ start - 1 ];\n\n\t\t// Quick check the text for the necessary character.\n\t\tif ( characterBefore !== BACKTICK ) {\n\t\t\treturn value;\n\t\t}\n\n\t\tif ( start - 2 < 0 ) {\n\t\t\treturn value;\n\t\t}\n\n\t\tconst indexBefore = text.lastIndexOf( BACKTICK, start - 2 );\n\t\tif ( indexBefore === -1 ) {\n\t\t\treturn value;\n\t\t}\n\n\t\tconst startIndex = indexBefore;\n\t\tconst endIndex = start - 2;\n\n\t\tif ( startIndex === endIndex ) {\n\t\t\treturn value;\n\t\t}\n\n\t\tvalue = remove( value, startIndex, startIndex + 1 );\n\t\tvalue = remove( value, endIndex, endIndex + 1 );\n\t\tvalue = applyFormat( value, { type: name }, startIndex, endIndex );\n\n\t\treturn value;\n\t},\n\tedit( { value, onChange, onFocus, isActive } ) {\n\t\tfunction onClick() {\n\t\t\tonChange( toggleFormat( value, { type: name, title } ) );\n\t\t\tonFocus();\n\t\t}\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<RichTextShortcut\n\t\t\t\t\ttype=\"access\"\n\t\t\t\t\tcharacter=\"x\"\n\t\t\t\t\tonUse={ onClick }\n\t\t\t\t/>\n\t\t\t\t<RichTextToolbarButton\n\t\t\t\t\ticon={ codeIcon }\n\t\t\t\t\ttitle={ title }\n\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\tisActive={ isActive }\n\t\t\t\t\trole=\"menuitemcheckbox\"\n\t\t\t\t/>\n\t\t\t</>\n\t\t);\n\t},\n};\n","var __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"components\"];","var __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"element\"];","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\n\nconst keyboardReturn = (\n\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"-2 -2 24 24\">\n\t\t<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\" />\n\t</SVG>\n);\n\nexport default keyboardReturn;\n","/**\n * WordPress dependencies\n */\nimport {\n\tPath,\n\tSVG,\n\tPopover,\n\tButton,\n\t__experimentalNumberControl as NumberControl,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { insertObject, useAnchor } from '@wordpress/rich-text';\nimport {\n\tMediaUpload,\n\tRichTextToolbarButton,\n\tMediaUploadCheck,\n} from '@wordpress/block-editor';\nimport { keyboardReturn } from '@wordpress/icons';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nconst name = 'core/image';\nconst title = __( 'Inline image' );\n\nexport const image = {\n\tname,\n\ttitle,\n\tkeywords: [ __( 'photo' ), __( 'media' ) ],\n\tobject: true,\n\ttagName: 'img',\n\tclassName: null,\n\tattributes: {\n\t\tclassName: 'class',\n\t\tstyle: 'style',\n\t\turl: 'src',\n\t\talt: 'alt',\n\t},\n\tedit: Edit,\n};\n\nfunction InlineUI( { value, onChange, activeObjectAttributes, contentRef } ) {\n\tconst { style } = activeObjectAttributes;\n\tconst [ width, setWidth ] = useState( style?.replace( /\\D/g, '' ) );\n\tconst popoverAnchor = useAnchor( {\n\t\teditableContentElement: contentRef.current,\n\t\tsettings: image,\n\t} );\n\n\treturn (\n\t\t<Popover\n\t\t\tplacement=\"bottom\"\n\t\t\tfocusOnMount={ false }\n\t\t\tanchor={ popoverAnchor }\n\t\t\tclassName=\"block-editor-format-toolbar__image-popover\"\n\t\t>\n\t\t\t<form\n\t\t\t\tclassName=\"block-editor-format-toolbar__image-container-content\"\n\t\t\t\tonSubmit={ ( event ) => {\n\t\t\t\t\tconst newReplacements = value.replacements.slice();\n\n\t\t\t\t\tnewReplacements[ value.start ] = {\n\t\t\t\t\t\ttype: name,\n\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t...activeObjectAttributes,\n\t\t\t\t\t\t\tstyle: width ? `width: ${ width }px;` : '',\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\n\t\t\t\t\tonChange( {\n\t\t\t\t\t\t...value,\n\t\t\t\t\t\treplacements: newReplacements,\n\t\t\t\t\t} );\n\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<HStack alignment=\"bottom\" spacing=\"0\">\n\t\t\t\t\t<NumberControl\n\t\t\t\t\t\tclassName=\"block-editor-format-toolbar__image-container-value\"\n\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\tvalue={ width }\n\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\tonChange={ ( newWidth ) => setWidth( newWidth ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"block-editor-format-toolbar__image-container-button\"\n\t\t\t\t\t\ticon={ keyboardReturn }\n\t\t\t\t\t\tlabel={ __( 'Apply' ) }\n\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t/>\n\t\t\t\t</HStack>\n\t\t\t</form>\n\t\t</Popover>\n\t);\n}\n\nfunction Edit( {\n\tvalue,\n\tonChange,\n\tonFocus,\n\tisObjectActive,\n\tactiveObjectAttributes,\n\tcontentRef,\n} ) {\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\n\tfunction openModal() {\n\t\tsetIsModalOpen( true );\n\t}\n\n\tfunction closeModal() {\n\t\tsetIsModalOpen( false );\n\t}\n\n\treturn (\n\t\t<MediaUploadCheck>\n\t\t\t<RichTextToolbarButton\n\t\t\t\ticon={\n\t\t\t\t\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t\t\t\t\t<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\" />\n\t\t\t\t\t</SVG>\n\t\t\t\t}\n\t\t\t\ttitle={ title }\n\t\t\t\tonClick={ openModal }\n\t\t\t\tisActive={ isObjectActive }\n\t\t\t/>\n\t\t\t{ isModalOpen && (\n\t\t\t\t<MediaUpload\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tonSelect={ ( { id, url, alt, width: imgWidth } ) => {\n\t\t\t\t\t\tcloseModal();\n\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\tinsertObject( value, {\n\t\t\t\t\t\t\t\ttype: name,\n\t\t\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t\t\tclassName: `wp-image-${ id }`,\n\t\t\t\t\t\t\t\t\tstyle: `width: ${ Math.min(\n\t\t\t\t\t\t\t\t\t\timgWidth,\n\t\t\t\t\t\t\t\t\t\t150\n\t\t\t\t\t\t\t\t\t) }px;`,\n\t\t\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\t\t\talt,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t);\n\t\t\t\t\t\tonFocus();\n\t\t\t\t\t} }\n\t\t\t\t\tonClose={ closeModal }\n\t\t\t\t\trender={ ( { open } ) => {\n\t\t\t\t\t\topen();\n\t\t\t\t\t\treturn null;\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ isObjectActive && (\n\t\t\t\t<InlineUI\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\tactiveObjectAttributes={ activeObjectAttributes }\n\t\t\t\t\tcontentRef={ contentRef }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</MediaUploadCheck>\n\t);\n}\n","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\n\nconst formatItalic = (\n\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t<Path d=\"M12.5 5L10 19h1.9l2.5-14z\" />\n\t</SVG>\n);\n\nexport default formatItalic;\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { toggleFormat } from '@wordpress/rich-text';\nimport {\n\tRichTextToolbarButton,\n\tRichTextShortcut,\n\t__unstableRichTextInputEvent,\n} from '@wordpress/block-editor';\nimport { formatItalic } from '@wordpress/icons';\n\nconst name = 'core/italic';\nconst title = __( 'Italic' );\n\nexport const italic = {\n\tname,\n\ttitle,\n\ttagName: 'em',\n\tclassName: null,\n\tedit( { isActive, value, onChange, onFocus } ) {\n\t\tfunction onToggle() {\n\t\t\tonChange( toggleFormat( value, { type: name, title } ) );\n\t\t}\n\n\t\tfunction onClick() {\n\t\t\tonChange( toggleFormat( value, { type: name } ) );\n\t\t\tonFocus();\n\t\t}\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<RichTextShortcut\n\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\tcharacter=\"i\"\n\t\t\t\t\tonUse={ onToggle }\n\t\t\t\t/>\n\t\t\t\t<RichTextToolbarButton\n\t\t\t\t\tname=\"italic\"\n\t\t\t\t\ticon={ formatItalic }\n\t\t\t\t\ttitle={ title }\n\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\tisActive={ isActive }\n\t\t\t\t\tshortcutType=\"primary\"\n\t\t\t\t\tshortcutCharacter=\"i\"\n\t\t\t\t/>\n\t\t\t\t<__unstableRichTextInputEvent\n\t\t\t\t\tinputType=\"formatItalic\"\n\t\t\t\t\tonInput={ onToggle }\n\t\t\t\t/>\n\t\t\t</>\n\t\t);\n\t},\n};\n","var __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"url\"];","var __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"htmlEntities\"];","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\n\nconst linkOff = (\n\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t<Path d=\"M17.031 4.703 15.576 4l-1.56 3H14v.03l-2.324 4.47H9.5V13h1.396l-1.502 2.889h-.95a3.694 3.694 0 0 1 0-7.389H10V7H8.444a5.194 5.194 0 1 0 0 10.389h.17L7.5 19.53l1.416.719L15.049 8.5h.507a3.694 3.694 0 0 1 0 7.39H14v1.5h1.556a5.194 5.194 0 0 0 .273-10.383l1.202-2.304Z\" />\n\t</SVG>\n);\n\nexport default linkOff;\n","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\n\nconst link = (\n\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t<Path d=\"M10 17.389H8.444A5.194 5.194 0 1 1 8.444 7H10v1.5H8.444a3.694 3.694 0 0 0 0 7.389H10v1.5ZM14 7h1.556a5.194 5.194 0 0 1 0 10.39H14v-1.5h1.556a3.694 3.694 0 0 0 0-7.39H14V7Zm-4.5 6h5v-1.5h-5V13Z\" />\n\t</SVG>\n);\n\nexport default link;\n","var __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"a11y\"];","var __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"data\"];","/**\n * WordPress dependencies\n */\nimport {\n\tgetProtocol,\n\tisValidProtocol,\n\tgetAuthority,\n\tisValidAuthority,\n\tgetPath,\n\tisValidPath,\n\tgetQueryString,\n\tisValidQueryString,\n\tgetFragment,\n\tisValidFragment,\n} from '@wordpress/url';\n\n/**\n * Check for issues with the provided href.\n *\n * @param {string} href The href.\n *\n * @return {boolean} Is the href invalid?\n */\nexport function isValidHref( href ) {\n\tif ( ! href ) {\n\t\treturn false;\n\t}\n\n\tconst trimmedHref = href.trim();\n\n\tif ( ! trimmedHref ) {\n\t\treturn false;\n\t}\n\n\t// Does the href start with something that looks like a URL protocol?\n\tif ( /^\\S+:/.test( trimmedHref ) ) {\n\t\tconst protocol = getProtocol( trimmedHref );\n\t\tif ( ! isValidProtocol( protocol ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Add some extra checks for http(s) URIs, since these are the most common use-case.\n\t\t// This ensures URIs with an http protocol have exactly two forward slashes following the protocol.\n\t\tif (\n\t\t\tprotocol.startsWith( 'http' ) &&\n\t\t\t! /^https?:\\/\\/[^\\/\\s]/i.test( trimmedHref )\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst authority = getAuthority( trimmedHref );\n\t\tif ( ! isValidAuthority( authority ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst path = getPath( trimmedHref );\n\t\tif ( path && ! isValidPath( path ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst queryString = getQueryString( trimmedHref );\n\t\tif ( queryString && ! isValidQueryString( queryString ) ) {\n\t\t\treturn false;\n\t\t}\n\n\t\tconst fragment = getFragment( trimmedHref );\n\t\tif ( fragment && ! isValidFragment( fragment ) ) {\n\t\t\treturn false;\n\t\t}\n\t}\n\n\t// Validate anchor links.\n\tif ( trimmedHref.startsWith( '#' ) && ! isValidFragment( trimmedHref ) ) {\n\t\treturn false;\n\t}\n\n\treturn true;\n}\n\n/**\n * Generates the format object that will be applied to the link text.\n *\n * @param {Object} options\n * @param {string} options.url The href of the link.\n * @param {string} options.type The type of the link.\n * @param {string} options.id The ID of the link.\n * @param {boolean} options.opensInNewWindow Whether this link will open in a new window.\n * @param {boolean} options.nofollow Whether this link is marked as no follow relationship.\n * @return {Object} The final format object.\n */\nexport function createLinkFormat( {\n\turl,\n\ttype,\n\tid,\n\topensInNewWindow,\n\tnofollow,\n} ) {\n\tconst format = {\n\t\ttype: 'core/link',\n\t\tattributes: {\n\t\t\turl,\n\t\t},\n\t};\n\n\tif ( type ) format.attributes.type = type;\n\tif ( id ) format.attributes.id = id;\n\n\tif ( opensInNewWindow ) {\n\t\tformat.attributes.target = '_blank';\n\t\tformat.attributes.rel = format.attributes.rel\n\t\t\t? format.attributes.rel + ' noreferrer noopener'\n\t\t\t: 'noreferrer noopener';\n\t}\n\n\tif ( nofollow ) {\n\t\tformat.attributes.rel = format.attributes.rel\n\t\t\t? format.attributes.rel + ' nofollow'\n\t\t\t: 'nofollow';\n\t}\n\n\treturn format;\n}\n\n/* eslint-disable jsdoc/no-undefined-types */\n/**\n * Get the start and end boundaries of a given format from a rich text value.\n *\n *\n * @param {RichTextValue} value the rich text value to interrogate.\n * @param {string} format the identifier for the target format (e.g. `core/link`, `core/bold`).\n * @param {number?} startIndex optional startIndex to seek from.\n * @param {number?} endIndex optional endIndex to seek from.\n * @return {Object}\tobject containing start and end values for the given format.\n */\n/* eslint-enable jsdoc/no-undefined-types */\nexport function getFormatBoundary(\n\tvalue,\n\tformat,\n\tstartIndex = value.start,\n\tendIndex = value.end\n) {\n\tconst EMPTY_BOUNDARIES = {\n\t\tstart: null,\n\t\tend: null,\n\t};\n\n\tconst { formats } = value;\n\tlet targetFormat;\n\tlet initialIndex;\n\n\tif ( ! formats?.length ) {\n\t\treturn EMPTY_BOUNDARIES;\n\t}\n\n\t// Clone formats to avoid modifying source formats.\n\tconst newFormats = formats.slice();\n\n\tconst formatAtStart = newFormats[ startIndex ]?.find(\n\t\t( { type } ) => type === format.type\n\t);\n\n\tconst formatAtEnd = newFormats[ endIndex ]?.find(\n\t\t( { type } ) => type === format.type\n\t);\n\n\tconst formatAtEndMinusOne = newFormats[ endIndex - 1 ]?.find(\n\t\t( { type } ) => type === format.type\n\t);\n\n\tif ( !! formatAtStart ) {\n\t\t// Set values to conform to \"start\"\n\t\ttargetFormat = formatAtStart;\n\t\tinitialIndex = startIndex;\n\t} else if ( !! formatAtEnd ) {\n\t\t// Set values to conform to \"end\"\n\t\ttargetFormat = formatAtEnd;\n\t\tinitialIndex = endIndex;\n\t} else if ( !! formatAtEndMinusOne ) {\n\t\t// This is an edge case which will occur if you create a format, then place\n\t\t// the caret just before the format and hit the back ARROW key. The resulting\n\t\t// value object will have start and end +1 beyond the edge of the format boundary.\n\t\ttargetFormat = formatAtEndMinusOne;\n\t\tinitialIndex = endIndex - 1;\n\t} else {\n\t\treturn EMPTY_BOUNDARIES;\n\t}\n\n\tconst index = newFormats[ initialIndex ].indexOf( targetFormat );\n\n\tconst walkingArgs = [ newFormats, initialIndex, targetFormat, index ];\n\n\t// Walk the startIndex \"backwards\" to the leading \"edge\" of the matching format.\n\tstartIndex = walkToStart( ...walkingArgs );\n\n\t// Walk the endIndex \"forwards\" until the trailing \"edge\" of the matching format.\n\tendIndex = walkToEnd( ...walkingArgs );\n\n\t// Safe guard: start index cannot be less than 0.\n\tstartIndex = startIndex < 0 ? 0 : startIndex;\n\n\t// // Return the indicies of the \"edges\" as the boundaries.\n\treturn {\n\t\tstart: startIndex,\n\t\tend: endIndex,\n\t};\n}\n\n/**\n * Walks forwards/backwards towards the boundary of a given format within an\n * array of format objects. Returns the index of the boundary.\n *\n * @param {Array} formats the formats to search for the given format type.\n * @param {number} initialIndex the starting index from which to walk.\n * @param {Object} targetFormatRef a reference to the format type object being sought.\n * @param {number} formatIndex the index at which we expect the target format object to be.\n * @param {string} direction either 'forwards' or 'backwards' to indicate the direction.\n * @return {number} the index of the boundary of the given format.\n */\nfunction walkToBoundary(\n\tformats,\n\tinitialIndex,\n\ttargetFormatRef,\n\tformatIndex,\n\tdirection\n) {\n\tlet index = initialIndex;\n\n\tconst directions = {\n\t\tforwards: 1,\n\t\tbackwards: -1,\n\t};\n\n\tconst directionIncrement = directions[ direction ] || 1; // invalid direction arg default to forwards\n\tconst inverseDirectionIncrement = directionIncrement * -1;\n\n\twhile (\n\t\tformats[ index ] &&\n\t\tformats[ index ][ formatIndex ] === targetFormatRef\n\t) {\n\t\t// Increment/decrement in the direction of operation.\n\t\tindex = index + directionIncrement;\n\t}\n\n\t// Restore by one in inverse direction of operation\n\t// to avoid out of bounds.\n\tindex = index + inverseDirectionIncrement;\n\n\treturn index;\n}\n\nconst partialRight =\n\t( fn, ...partialArgs ) =>\n\t( ...args ) =>\n\t\tfn( ...args, ...partialArgs );\n\nconst walkToStart = partialRight( walkToBoundary, 'backwards' );\n\nconst walkToEnd = partialRight( walkToBoundary, 'forwards' );\n","// Weakly referenced map allows unused ids to be garbage collected.\nconst weakMap = new WeakMap();\n\n// Incrementing zero-based ID value.\nlet id = -1;\n\nconst prefix = 'link-control-instance';\n\nfunction getKey( _id ) {\n\treturn `${ prefix }-${ _id }`;\n}\n\n/**\n * Builds a unique link control key for the given object reference.\n *\n * @param {Object} instance an unique object reference specific to this link control instance.\n * @return {string | undefined} the unique key to use for this link control.\n */\nfunction useLinkInstanceKey( instance ) {\n\tif ( ! instance ) {\n\t\treturn;\n\t}\n\tif ( weakMap.has( instance ) ) {\n\t\treturn getKey( weakMap.get( instance ) );\n\t}\n\n\tid += 1;\n\n\tweakMap.set( instance, id );\n\n\treturn getKey( id );\n}\n\nexport default useLinkInstanceKey;\n","/**\n * WordPress dependencies\n */\nimport { useMemo, useRef, createInterpolateElement } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { speak } from '@wordpress/a11y';\nimport { Popover } from '@wordpress/components';\nimport { prependHTTP } from '@wordpress/url';\nimport {\n\tcreate,\n\tinsert,\n\tisCollapsed,\n\tapplyFormat,\n\tuseAnchor,\n\tremoveFormat,\n\tslice,\n\treplace,\n\tsplit,\n\tconcat,\n} from '@wordpress/rich-text';\nimport {\n\t__experimentalLinkControl as LinkControl,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { createLinkFormat, isValidHref, getFormatBoundary } from './utils';\nimport { link as settings } from './index';\nimport useLinkInstanceKey from './use-link-instance-key';\n\nconst LINK_SETTINGS = [\n\t...LinkControl.DEFAULT_LINK_SETTINGS,\n\t{\n\t\tid: 'nofollow',\n\t\ttitle: __( 'Mark as nofollow' ),\n\t},\n];\n\nfunction InlineLinkUI( {\n\tisActive,\n\tactiveAttributes,\n\taddingLink,\n\tvalue,\n\tonChange,\n\tstopAddingLink,\n\tcontentRef,\n} ) {\n\tconst richLinkTextValue = getRichTextValueFromSelection( value, isActive );\n\n\t// Get the text content minus any HTML tags.\n\tconst richTextText = richLinkTextValue.text;\n\n\tconst { createPageEntity, userCanCreatePages } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst _settings = getSettings();\n\n\t\treturn {\n\t\t\tcreatePageEntity: _settings.__experimentalCreatePageEntity,\n\t\t\tuserCanCreatePages: _settings.__experimentalUserCanCreatePages,\n\t\t};\n\t}, [] );\n\n\tconst linkValue = useMemo(\n\t\t() => ( {\n\t\t\turl: activeAttributes.url,\n\t\t\ttype: activeAttributes.type,\n\t\t\tid: activeAttributes.id,\n\t\t\topensInNewTab: activeAttributes.target === '_blank',\n\t\t\tnofollow: activeAttributes.rel?.includes( 'nofollow' ),\n\t\t\ttitle: richTextText,\n\t\t} ),\n\t\t[\n\t\t\tactiveAttributes.id,\n\t\t\tactiveAttributes.rel,\n\t\t\tactiveAttributes.target,\n\t\t\tactiveAttributes.type,\n\t\t\tactiveAttributes.url,\n\t\t\trichTextText,\n\t\t]\n\t);\n\n\tfunction removeLink() {\n\t\tconst newValue = removeFormat( value, 'core/link' );\n\t\tonChange( newValue );\n\t\tstopAddingLink();\n\t\tspeak( __( 'Link removed.' ), 'assertive' );\n\t}\n\n\tfunction onChangeLink( nextValue ) {\n\t\t// LinkControl calls `onChange` immediately upon the toggling a setting.\n\t\t// Before merging the next value with the current link value, check if\n\t\t// the setting was toggled.\n\t\tconst didToggleSetting =\n\t\t\tlinkValue.opensInNewTab !== nextValue.opensInNewTab &&\n\t\t\tnextValue.url === undefined;\n\t\t// Merge the next value with the current link value.\n\t\tnextValue = {\n\t\t\t...linkValue,\n\t\t\t...nextValue,\n\t\t};\n\n\t\tconst newUrl = prependHTTP( nextValue.url );\n\t\tconst linkFormat = createLinkFormat( {\n\t\t\turl: newUrl,\n\t\t\ttype: nextValue.type,\n\t\t\tid:\n\t\t\t\tnextValue.id !== undefined && nextValue.id !== null\n\t\t\t\t\t? String( nextValue.id )\n\t\t\t\t\t: undefined,\n\t\t\topensInNewWindow: nextValue.opensInNewTab,\n\t\t\tnofollow: nextValue.nofollow,\n\t\t} );\n\n\t\tconst newText = nextValue.title || newUrl;\n\n\t\tif ( isCollapsed( value ) && ! isActive ) {\n\t\t\t// Scenario: we don't have any actively selected text or formats.\n\t\t\tconst toInsert = applyFormat(\n\t\t\t\tcreate( { text: newText } ),\n\t\t\t\tlinkFormat,\n\t\t\t\t0,\n\t\t\t\tnewText.length\n\t\t\t);\n\t\t\tonChange( insert( value, toInsert ) );\n\t\t} else {\n\t\t\t// Scenario: we have any active text selection or an active format.\n\t\t\tlet newValue;\n\n\t\t\tif ( newText === richTextText ) {\n\t\t\t\t// If we're not updating the text then ignore.\n\t\t\t\tnewValue = applyFormat( value, linkFormat );\n\t\t\t} else {\n\t\t\t\t// Create new RichText value for the new text in order that we\n\t\t\t\t// can apply formats to it.\n\t\t\t\tnewValue = create( { text: newText } );\n\n\t\t\t\t// Apply the new Link format to this new text value.\n\t\t\t\tnewValue = applyFormat(\n\t\t\t\t\tnewValue,\n\t\t\t\t\tlinkFormat,\n\t\t\t\t\t0,\n\t\t\t\t\tnewText.length\n\t\t\t\t);\n\n\t\t\t\t// Get the boundaries of the active link format.\n\t\t\t\tconst boundary = getFormatBoundary( value, {\n\t\t\t\t\ttype: 'core/link',\n\t\t\t\t} );\n\n\t\t\t\t// Split the value at the start of the active link format.\n\t\t\t\t// Passing \"start\" as the 3rd parameter is required to ensure\n\t\t\t\t// the second half of the split value is split at the format's\n\t\t\t\t// start boundary and avoids relying on the value's \"end\" property\n\t\t\t\t// which may not correspond correctly.\n\t\t\t\tconst [ valBefore, valAfter ] = split(\n\t\t\t\t\tvalue,\n\t\t\t\t\tboundary.start,\n\t\t\t\t\tboundary.start\n\t\t\t\t);\n\n\t\t\t\t// Update the original (full) RichTextValue replacing the\n\t\t\t\t// target text with the *new* RichTextValue containing:\n\t\t\t\t// 1. The new text content.\n\t\t\t\t// 2. The new link format.\n\t\t\t\t// As \"replace\" will operate on the first match only, it is\n\t\t\t\t// run only against the second half of the value which was\n\t\t\t\t// split at the active format's boundary. This avoids a bug\n\t\t\t\t// with incorrectly targetted replacements.\n\t\t\t\t// See: https://github.com/WordPress/gutenberg/issues/41771.\n\t\t\t\t// Note original formats will be lost when applying this change.\n\t\t\t\t// That is expected behaviour.\n\t\t\t\t// See: https://github.com/WordPress/gutenberg/pull/33849#issuecomment-936134179.\n\t\t\t\tconst newValAfter = replace( valAfter, richTextText, newValue );\n\n\t\t\t\tnewValue = concat( valBefore, newValAfter );\n\t\t\t}\n\n\t\t\tnewValue.start = newValue.end;\n\n\t\t\t// Hides the Link UI.\n\t\t\tnewValue.activeFormats = [];\n\t\t\tonChange( newValue );\n\t\t}\n\n\t\t// Focus should only be shifted back to the formatted segment when the\n\t\t// URL is submitted.\n\t\tif ( ! didToggleSetting ) {\n\t\t\tstopAddingLink();\n\t\t}\n\n\t\tif ( ! isValidHref( newUrl ) ) {\n\t\t\tspeak(\n\t\t\t\t__(\n\t\t\t\t\t'Warning: the link has been inserted but may have errors. Please test it.'\n\t\t\t\t),\n\t\t\t\t'assertive'\n\t\t\t);\n\t\t} else if ( isActive ) {\n\t\t\tspeak( __( 'Link edited.' ), 'assertive' );\n\t\t} else {\n\t\t\tspeak( __( 'Link inserted.' ), 'assertive' );\n\t\t}\n\t}\n\n\tconst popoverAnchor = useAnchor( {\n\t\teditableContentElement: contentRef.current,\n\t\tsettings,\n\t} );\n\n\t// Generate a string based key that is unique to this anchor reference.\n\t// This is used to force re-mount the LinkControl component to avoid\n\t// potential stale state bugs caused by the component not being remounted\n\t// See https://github.com/WordPress/gutenberg/pull/34742.\n\tconst forceRemountKey = useLinkInstanceKey( popoverAnchor );\n\n\t// Focus should only be moved into the Popover when the Link is being created or edited.\n\t// When the Link is in \"preview\" mode focus should remain on the rich text because at\n\t// this point the Link dialog is informational only and thus the user should be able to\n\t// continue editing the rich text.\n\t// Ref used because the focusOnMount prop shouldn't evolve during render of a Popover\n\t// otherwise it causes a render of the content.\n\tconst focusOnMount = useRef( addingLink ? 'firstElement' : false );\n\n\tasync function handleCreate( pageTitle ) {\n\t\tconst page = await createPageEntity( {\n\t\t\ttitle: pageTitle,\n\t\t\tstatus: 'draft',\n\t\t} );\n\n\t\treturn {\n\t\t\tid: page.id,\n\t\t\ttype: page.type,\n\t\t\ttitle: page.title.rendered,\n\t\t\turl: page.link,\n\t\t\tkind: 'post-type',\n\t\t};\n\t}\n\n\tfunction createButtonText( searchTerm ) {\n\t\treturn createInterpolateElement(\n\t\t\tsprintf(\n\t\t\t\t/* translators: %s: search term. */\n\t\t\t\t__( 'Create page: <mark>%s</mark>' ),\n\t\t\t\tsearchTerm\n\t\t\t),\n\t\t\t{ mark: <mark /> }\n\t\t);\n\t}\n\n\treturn (\n\t\t<Popover\n\t\t\tanchor={ popoverAnchor }\n\t\t\tfocusOnMount={ focusOnMount.current }\n\t\t\tonClose={ stopAddingLink }\n\t\t\tonFocusOutside={ () => stopAddingLink( false ) }\n\t\t\tplacement=\"bottom\"\n\t\t\tshift\n\t\t>\n\t\t\t<LinkControl\n\t\t\t\tkey={ forceRemountKey }\n\t\t\t\tvalue={ linkValue }\n\t\t\t\tonChange={ onChangeLink }\n\t\t\t\tonRemove={ removeLink }\n\t\t\t\tforceIsEditingLink={ addingLink }\n\t\t\t\thasRichPreviews\n\t\t\t\tcreateSuggestion={ createPageEntity && handleCreate }\n\t\t\t\twithCreateSuggestion={ userCanCreatePages }\n\t\t\t\tcreateSuggestionButtonText={ createButtonText }\n\t\t\t\thasTextControl\n\t\t\t\tsettings={ LINK_SETTINGS }\n\t\t\t/>\n\t\t</Popover>\n\t);\n}\n\nfunction getRichTextValueFromSelection( value, isActive ) {\n\t// Default to the selection ranges on the RichTextValue object.\n\tlet textStart = value.start;\n\tlet textEnd = value.end;\n\n\t// If the format is currently active then the rich text value\n\t// should always be taken from the bounds of the active format\n\t// and not the selected text.\n\tif ( isActive ) {\n\t\tconst boundary = getFormatBoundary( value, {\n\t\t\ttype: 'core/link',\n\t\t} );\n\n\t\ttextStart = boundary.start;\n\n\t\t// Text *selection* always extends +1 beyond the edge of the format.\n\t\t// We account for that here.\n\t\ttextEnd = boundary.end + 1;\n\t}\n\n\t// Get a RichTextValue containing the selected text content.\n\treturn slice( value, textStart, textEnd );\n}\n\nexport default InlineLinkUI;\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport {\n\tgetTextContent,\n\tapplyFormat,\n\tremoveFormat,\n\tslice,\n\tisCollapsed,\n\tinsert,\n\tcreate,\n} from '@wordpress/rich-text';\nimport { isURL, isEmail } from '@wordpress/url';\nimport {\n\tRichTextToolbarButton,\n\tRichTextShortcut,\n} from '@wordpress/block-editor';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { link as linkIcon, linkOff } from '@wordpress/icons';\nimport { speak } from '@wordpress/a11y';\n\n/**\n * Internal dependencies\n */\nimport InlineLinkUI from './inline';\nimport { isValidHref } from './utils';\n\nconst name = 'core/link';\nconst title = __( 'Link' );\n\nfunction Edit( {\n\tisActive,\n\tactiveAttributes,\n\tvalue,\n\tonChange,\n\tonFocus,\n\tcontentRef,\n} ) {\n\tconst [ addingLink, setAddingLink ] = useState( false );\n\n\tfunction addLink() {\n\t\tconst text = getTextContent( slice( value ) );\n\n\t\tif ( text && isURL( text ) && isValidHref( text ) ) {\n\t\t\tonChange(\n\t\t\t\tapplyFormat( value, {\n\t\t\t\t\ttype: name,\n\t\t\t\t\tattributes: { url: text },\n\t\t\t\t} )\n\t\t\t);\n\t\t} else if ( text && isEmail( text ) ) {\n\t\t\tonChange(\n\t\t\t\tapplyFormat( value, {\n\t\t\t\t\ttype: name,\n\t\t\t\t\tattributes: { url: `mailto:${ text }` },\n\t\t\t\t} )\n\t\t\t);\n\t\t} else {\n\t\t\tsetAddingLink( true );\n\t\t}\n\t}\n\n\tfunction stopAddingLink( returnFocus = true ) {\n\t\tsetAddingLink( false );\n\t\tif ( returnFocus ) {\n\t\t\tonFocus();\n\t\t}\n\t}\n\n\tfunction onRemoveFormat() {\n\t\tonChange( removeFormat( value, name ) );\n\t\tspeak( __( 'Link removed.' ), 'assertive' );\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<RichTextShortcut type=\"primary\" character=\"k\" onUse={ addLink } />\n\t\t\t<RichTextShortcut\n\t\t\t\ttype=\"primaryShift\"\n\t\t\t\tcharacter=\"k\"\n\t\t\t\tonUse={ onRemoveFormat }\n\t\t\t/>\n\t\t\t{ isActive && (\n\t\t\t\t<RichTextToolbarButton\n\t\t\t\t\tname=\"link\"\n\t\t\t\t\ticon={ linkOff }\n\t\t\t\t\ttitle={ __( 'Unlink' ) }\n\t\t\t\t\tonClick={ onRemoveFormat }\n\t\t\t\t\tisActive={ isActive }\n\t\t\t\t\tshortcutType=\"primaryShift\"\n\t\t\t\t\tshortcutCharacter=\"k\"\n\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\taria-expanded={ addingLink || isActive }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ! isActive && (\n\t\t\t\t<RichTextToolbarButton\n\t\t\t\t\tname=\"link\"\n\t\t\t\t\ticon={ linkIcon }\n\t\t\t\t\ttitle={ title }\n\t\t\t\t\tonClick={ addLink }\n\t\t\t\t\tisActive={ isActive }\n\t\t\t\t\tshortcutType=\"primary\"\n\t\t\t\t\tshortcutCharacter=\"k\"\n\t\t\t\t\taria-haspopup=\"true\"\n\t\t\t\t\taria-expanded={ addingLink || isActive }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ( addingLink || isActive ) && (\n\t\t\t\t<InlineLinkUI\n\t\t\t\t\taddingLink={ addingLink }\n\t\t\t\t\tstopAddingLink={ stopAddingLink }\n\t\t\t\t\tisActive={ isActive }\n\t\t\t\t\tactiveAttributes={ activeAttributes }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\tcontentRef={ contentRef }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport const link = {\n\tname,\n\ttitle,\n\ttagName: 'a',\n\tclassName: null,\n\tattributes: {\n\t\turl: 'href',\n\t\ttype: 'data-type',\n\t\tid: 'data-id',\n\t\t_id: 'id',\n\t\ttarget: 'target',\n\t\trel: 'rel',\n\t},\n\t__unstablePasteRule( value, { html, plainText } ) {\n\t\tconst pastedText = ( html || plainText )\n\t\t\t.replace( /<[^>]+>/g, '' )\n\t\t\t.trim();\n\n\t\t// A URL was pasted, turn the selection into a link.\n\t\t// For the link pasting feature, allow only http(s) protocols.\n\t\tif ( ! isURL( pastedText ) || ! /^https?:/.test( pastedText ) ) {\n\t\t\treturn value;\n\t\t}\n\n\t\t// Allows us to ask for this information when we get a report.\n\t\twindow.console.log( 'Created link:\\n\\n', pastedText );\n\n\t\tconst format = {\n\t\t\ttype: name,\n\t\t\tattributes: {\n\t\t\t\turl: decodeEntities( pastedText ),\n\t\t\t},\n\t\t};\n\n\t\tif ( isCollapsed( value ) ) {\n\t\t\treturn insert(\n\t\t\t\tvalue,\n\t\t\t\tapplyFormat(\n\t\t\t\t\tcreate( { text: plainText } ),\n\t\t\t\t\tformat,\n\t\t\t\t\t0,\n\t\t\t\t\tplainText.length\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\n\t\treturn applyFormat( value, format );\n\t},\n\tedit: Edit,\n};\n","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\n\nconst formatStrikethrough = (\n\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t<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\" />\n\t</SVG>\n);\n\nexport default formatStrikethrough;\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { toggleFormat } from '@wordpress/rich-text';\nimport {\n\tRichTextToolbarButton,\n\tRichTextShortcut,\n} from '@wordpress/block-editor';\nimport { formatStrikethrough } from '@wordpress/icons';\n\nconst name = 'core/strikethrough';\nconst title = __( 'Strikethrough' );\n\nexport const strikethrough = {\n\tname,\n\ttitle,\n\ttagName: 's',\n\tclassName: null,\n\tedit( { isActive, value, onChange, onFocus } ) {\n\t\tfunction onClick() {\n\t\t\tonChange( toggleFormat( value, { type: name, title } ) );\n\t\t\tonFocus();\n\t\t}\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<RichTextShortcut\n\t\t\t\t\ttype=\"access\"\n\t\t\t\t\tcharacter=\"d\"\n\t\t\t\t\tonUse={ onClick }\n\t\t\t\t/>\n\t\t\t\t<RichTextToolbarButton\n\t\t\t\t\ticon={ formatStrikethrough }\n\t\t\t\t\ttitle={ title }\n\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\tisActive={ isActive }\n\t\t\t\t\trole=\"menuitemcheckbox\"\n\t\t\t\t/>\n\t\t\t</>\n\t\t);\n\t},\n};\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { toggleFormat } from '@wordpress/rich-text';\nimport {\n\tRichTextShortcut,\n\t__unstableRichTextInputEvent,\n} from '@wordpress/block-editor';\n\nconst name = 'core/underline';\nconst title = __( 'Underline' );\n\nexport const underline = {\n\tname,\n\ttitle,\n\ttagName: 'span',\n\tclassName: null,\n\tattributes: {\n\t\tstyle: 'style',\n\t},\n\tedit( { value, onChange } ) {\n\t\tconst onToggle = () => {\n\t\t\tonChange(\n\t\t\t\ttoggleFormat( value, {\n\t\t\t\t\ttype: name,\n\t\t\t\t\tattributes: {\n\t\t\t\t\t\tstyle: 'text-decoration: underline;',\n\t\t\t\t\t},\n\t\t\t\t\ttitle,\n\t\t\t\t} )\n\t\t\t);\n\t\t};\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<RichTextShortcut\n\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\tcharacter=\"u\"\n\t\t\t\t\tonUse={ onToggle }\n\t\t\t\t/>\n\t\t\t\t<__unstableRichTextInputEvent\n\t\t\t\t\tinputType=\"formatUnderline\"\n\t\t\t\t\tonInput={ onToggle }\n\t\t\t\t/>\n\t\t\t</>\n\t\t);\n\t},\n};\n","/**\n * WordPress dependencies\n */\nimport { cloneElement, forwardRef } from '@wordpress/element';\n\n/** @typedef {{icon: JSX.Element, size?: number} & import('@wordpress/primitives').SVGProps} IconProps */\n\n/**\n * Return an SVG icon.\n *\n * @param {IconProps} props icon is the SVG component to render\n * size is a number specifiying the icon size in pixels\n * Other props will be passed to wrapped SVG component\n * @param {import('react').ForwardedRef<HTMLElement>} ref The forwarded ref to the SVG element.\n *\n * @return {JSX.Element} Icon component\n */\nfunction Icon( { icon, size = 24, ...props }, ref ) {\n\treturn cloneElement( icon, {\n\t\twidth: size,\n\t\theight: size,\n\t\t...props,\n\t\tref,\n\t} );\n}\n\nexport default forwardRef( Icon );\n","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\n\nconst textColor = (\n\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t<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\" />\n\t</SVG>\n);\n\nexport default textColor;\n","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\n\nconst color = (\n\t<SVG viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t<Path d=\"M17.2 10.9c-.5-1-1.2-2.1-2.1-3.2-.6-.9-1.3-1.7-2.1-2.6L12 4l-1 1.1c-.6.9-1.3 1.7-2 2.6-.8 1.2-1.5 2.3-2 3.2-.6 1.2-1 2.2-1 3 0 3.4 2.7 6.1 6.1 6.1s6.1-2.7 6.1-6.1c0-.8-.3-1.8-1-3zm-5.1 7.6c-2.5 0-4.6-2.1-4.6-4.6 0-.3.1-1 .8-2.3.5-.9 1.1-1.9 2-3.1.7-.9 1.3-1.7 1.8-2.3.7.8 1.3 1.6 1.8 2.3.8 1.1 1.5 2.2 2 3.1.7 1.3.8 2 .8 2.3 0 2.5-2.1 4.6-4.6 4.6z\" />\n\t</SVG>\n);\n\nexport default color;\n","var __WEBPACK_NAMESPACE_OBJECT__ = window[\"wp\"][\"privateApis\"];","/**\n * WordPress dependencies\n */\nimport { __dangerousOptInToUnstableAPIsOnlyForCoreModules } from '@wordpress/private-apis';\n\nexport const { lock, unlock } =\n\t__dangerousOptInToUnstableAPIsOnlyForCoreModules(\n\t\t'I know using unstable features means my theme or plugin will inevitably break in the next version of WordPress.',\n\t\t'@wordpress/format-library'\n\t);\n","/**\n * WordPress dependencies\n */\nimport { useCallback, useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport {\n\tapplyFormat,\n\tremoveFormat,\n\tgetActiveFormat,\n\tuseAnchor,\n} from '@wordpress/rich-text';\nimport {\n\tColorPalette,\n\tgetColorClassName,\n\tgetColorObjectByColorValue,\n\tgetColorObjectByAttributeValues,\n\tstore as blockEditorStore,\n\tuseCachedTruthy,\n} from '@wordpress/block-editor';\nimport {\n\tPopover,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { textColor as settings, transparentValue } from './index';\nimport { unlock } from '../lock-unlock';\n\nconst { Tabs } = unlock( componentsPrivateApis );\n\nconst TABS = [\n\t{ name: 'color', title: __( 'Text' ) },\n\t{ name: 'backgroundColor', title: __( 'Background' ) },\n];\n\nfunction parseCSS( css = '' ) {\n\treturn css.split( ';' ).reduce( ( accumulator, rule ) => {\n\t\tif ( rule ) {\n\t\t\tconst [ property, value ] = rule.split( ':' );\n\t\t\tif ( property === 'color' ) accumulator.color = value;\n\t\t\tif ( property === 'background-color' && value !== transparentValue )\n\t\t\t\taccumulator.backgroundColor = value;\n\t\t}\n\t\treturn accumulator;\n\t}, {} );\n}\n\nexport function parseClassName( className = '', colorSettings ) {\n\treturn className.split( ' ' ).reduce( ( accumulator, name ) => {\n\t\t// `colorSlug` could contain dashes, so simply match the start and end.\n\t\tif ( name.startsWith( 'has-' ) && name.endsWith( '-color' ) ) {\n\t\t\tconst colorSlug = name\n\t\t\t\t.replace( /^has-/, '' )\n\t\t\t\t.replace( /-color$/, '' );\n\t\t\tconst colorObject = getColorObjectByAttributeValues(\n\t\t\t\tcolorSettings,\n\t\t\t\tcolorSlug\n\t\t\t);\n\t\t\taccumulator.color = colorObject.color;\n\t\t}\n\t\treturn accumulator;\n\t}, {} );\n}\n\nexport function getActiveColors( value, name, colorSettings ) {\n\tconst activeColorFormat = getActiveFormat( value, name );\n\n\tif ( ! activeColorFormat ) {\n\t\treturn {};\n\t}\n\n\treturn {\n\t\t...parseCSS( activeColorFormat.attributes.style ),\n\t\t...parseClassName( activeColorFormat.attributes.class, colorSettings ),\n\t};\n}\n\nfunction setColors( value, name, colorSettings, colors ) {\n\tconst { color, backgroundColor } = {\n\t\t...getActiveColors( value, name, colorSettings ),\n\t\t...colors,\n\t};\n\n\tif ( ! color && ! backgroundColor ) {\n\t\treturn removeFormat( value, name );\n\t}\n\n\tconst styles = [];\n\tconst classNames = [];\n\tconst attributes = {};\n\n\tif ( backgroundColor ) {\n\t\tstyles.push( [ 'background-color', backgroundColor ].join( ':' ) );\n\t} else {\n\t\t// Override default browser color for mark element.\n\t\tstyles.push( [ 'background-color', transparentValue ].join( ':' ) );\n\t}\n\n\tif ( color ) {\n\t\tconst colorObject = getColorObjectByColorValue( colorSettings, color );\n\n\t\tif ( colorObject ) {\n\t\t\tclassNames.push( getColorClassName( 'color', colorObject.slug ) );\n\t\t} else {\n\t\t\tstyles.push( [ 'color', color ].join( ':' ) );\n\t\t}\n\t}\n\n\tif ( styles.length ) attributes.style = styles.join( ';' );\n\tif ( classNames.length ) attributes.class = classNames.join( ' ' );\n\n\treturn applyFormat( value, { type: name, attributes } );\n}\n\nfunction ColorPicker( { name, property, value, onChange } ) {\n\tconst colors = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn getSettings().colors ?? [];\n\t}, [] );\n\tconst onColorChange = useCallback(\n\t\t( color ) => {\n\t\t\tonChange(\n\t\t\t\tsetColors( value, name, colors, { [ property ]: color } )\n\t\t\t);\n\t\t},\n\t\t[ colors, onChange, property ]\n\t);\n\tconst activeColors = useMemo(\n\t\t() => getActiveColors( value, name, colors ),\n\t\t[ name, value, colors ]\n\t);\n\n\treturn (\n\t\t<ColorPalette\n\t\t\tvalue={ activeColors[ property ] }\n\t\t\tonChange={ onColorChange }\n\t\t/>\n\t);\n}\n\nexport default function InlineColorUI( {\n\tname,\n\tvalue,\n\tonChange,\n\tonClose,\n\tcontentRef,\n} ) {\n\tconst popoverAnchor = useAnchor( {\n\t\teditableContentElement: contentRef.current,\n\t\tsettings,\n\t} );\n\n\t/*\n\t As you change the text color by typing a HEX value into a field,\n\t the return value of document.getSelection jumps to the field you're editing,\n\t not the highlighted text. Given that useAnchor uses document.getSelection,\n\t it will return null, since it can't find the <mark> element within the HEX input.\n\t This caches the last truthy value of the selection anchor reference.\n\t */\n\tconst cachedRect = useCachedTruthy( popoverAnchor.getBoundingClientRect() );\n\tpopoverAnchor.getBoundingClientRect = () => cachedRect;\n\n\treturn (\n\t\t<Popover\n\t\t\tonClose={ onClose }\n\t\t\tclassName=\"format-library__inline-color-popover\"\n\t\t\tanchor={ popoverAnchor }\n\t\t>\n\t\t\t<Tabs>\n\t\t\t\t<Tabs.TabList>\n\t\t\t\t\t{ TABS.map( ( tab ) => (\n\t\t\t\t\t\t<Tabs.Tab tabId={ tab.name } key={ tab.name }>\n\t\t\t\t\t\t\t{ tab.title }\n\t\t\t\t\t\t</Tabs.Tab>\n\t\t\t\t\t) ) }\n\t\t\t\t</Tabs.TabList>\n\t\t\t\t{ TABS.map( ( tab ) => (\n\t\t\t\t\t<Tabs.TabPanel\n\t\t\t\t\t\ttabId={ tab.name }\n\t\t\t\t\t\tfocusable={ false }\n\t\t\t\t\t\tkey={ tab.name }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ColorPicker\n\t\t\t\t\t\t\tname={ name }\n\t\t\t\t\t\t\tproperty={ tab.name }\n\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</Tabs.TabPanel>\n\t\t\t\t) ) }\n\t\t\t</Tabs>\n\t\t</Popover>\n\t);\n}\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useCallback, useMemo, useState } from '@wordpress/element';\nimport { RichTextToolbarButton, useSettings } from '@wordpress/block-editor';\nimport {\n\tIcon,\n\tcolor as colorIcon,\n\ttextColor as textColorIcon,\n} from '@wordpress/icons';\nimport { removeFormat } from '@wordpress/rich-text';\n\n/**\n * Internal dependencies\n */\nimport { default as InlineColorUI, getActiveColors } from './inline';\n\nexport const transparentValue = 'rgba(0, 0, 0, 0)';\n\nconst name = 'core/text-color';\nconst title = __( 'Highlight' );\n\nconst EMPTY_ARRAY = [];\n\nfunction getComputedStyleProperty( element, property ) {\n\tconst { ownerDocument } = element;\n\tconst { defaultView } = ownerDocument;\n\tconst style = defaultView.getComputedStyle( element );\n\tconst value = style.getPropertyValue( property );\n\n\tif (\n\t\tproperty === 'background-color' &&\n\t\tvalue === transparentValue &&\n\t\telement.parentElement\n\t) {\n\t\treturn getComputedStyleProperty( element.parentElement, property );\n\t}\n\n\treturn value;\n}\n\nfunction fillComputedColors( element, { color, backgroundColor } ) {\n\tif ( ! color && ! backgroundColor ) {\n\t\treturn;\n\t}\n\n\treturn {\n\t\tcolor: color || getComputedStyleProperty( element, 'color' ),\n\t\tbackgroundColor:\n\t\t\tbackgroundColor === transparentValue\n\t\t\t\t? getComputedStyleProperty( element, 'background-color' )\n\t\t\t\t: backgroundColor,\n\t};\n}\n\nfunction TextColorEdit( {\n\tvalue,\n\tonChange,\n\tisActive,\n\tactiveAttributes,\n\tcontentRef,\n} ) {\n\tconst [ allowCustomControl, colors = EMPTY_ARRAY ] = useSettings(\n\t\t'color.custom',\n\t\t'color.palette'\n\t);\n\tconst [ isAddingColor, setIsAddingColor ] = useState( false );\n\tconst enableIsAddingColor = useCallback(\n\t\t() => setIsAddingColor( true ),\n\t\t[ setIsAddingColor ]\n\t);\n\tconst disableIsAddingColor = useCallback(\n\t\t() => setIsAddingColor( false ),\n\t\t[ setIsAddingColor ]\n\t);\n\tconst colorIndicatorStyle = useMemo(\n\t\t() =>\n\t\t\tfillComputedColors(\n\t\t\t\tcontentRef.current,\n\t\t\t\tgetActiveColors( value, name, colors )\n\t\t\t),\n\t\t[ value, colors ]\n\t);\n\n\tconst hasColorsToChoose = colors.length || ! allowCustomControl;\n\tif ( ! hasColorsToChoose && ! isActive ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<RichTextToolbarButton\n\t\t\t\tclassName=\"format-library-text-color-button\"\n\t\t\t\tisActive={ isActive }\n\t\t\t\ticon={\n\t\t\t\t\t<Icon\n\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\tObject.keys( activeAttributes ).length\n\t\t\t\t\t\t\t\t? textColorIcon\n\t\t\t\t\t\t\t\t: colorIcon\n\t\t\t\t\t\t}\n\t\t\t\t\t\tstyle={ colorIndicatorStyle }\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\ttitle={ title }\n\t\t\t\t// If has no colors to choose but a color is active remove the color onClick.\n\t\t\t\tonClick={\n\t\t\t\t\thasColorsToChoose\n\t\t\t\t\t\t? enableIsAddingColor\n\t\t\t\t\t\t: () => onChange( removeFormat( value, name ) )\n\t\t\t\t}\n\t\t\t\trole=\"menuitemcheckbox\"\n\t\t\t/>\n\t\t\t{ isAddingColor && (\n\t\t\t\t<InlineColorUI\n\t\t\t\t\tname={ name }\n\t\t\t\t\tonClose={ disableIsAddingColor }\n\t\t\t\t\tactiveAttributes={ activeAttributes }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\tcontentRef={ contentRef }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport const textColor = {\n\tname,\n\ttitle,\n\ttagName: 'mark',\n\tclassName: 'has-inline-color',\n\tattributes: {\n\t\tstyle: 'style',\n\t\tclass: 'class',\n\t},\n\tedit: TextColorEdit,\n};\n","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\n\nconst subscript = (\n\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t<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\" />\n\t</SVG>\n);\n\nexport default subscript;\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { toggleFormat } from '@wordpress/rich-text';\nimport { RichTextToolbarButton } from '@wordpress/block-editor';\nimport { subscript as subscriptIcon } from '@wordpress/icons';\n\nconst name = 'core/subscript';\nconst title = __( 'Subscript' );\n\nexport const subscript = {\n\tname,\n\ttitle,\n\ttagName: 'sub',\n\tclassName: null,\n\tedit( { isActive, value, onChange, onFocus } ) {\n\t\tfunction onToggle() {\n\t\t\tonChange( toggleFormat( value, { type: name, title } ) );\n\t\t}\n\n\t\tfunction onClick() {\n\t\t\tonToggle();\n\t\t\tonFocus();\n\t\t}\n\n\t\treturn (\n\t\t\t<RichTextToolbarButton\n\t\t\t\ticon={ subscriptIcon }\n\t\t\t\ttitle={ title }\n\t\t\t\tonClick={ onClick }\n\t\t\t\tisActive={ isActive }\n\t\t\t\trole=\"menuitemcheckbox\"\n\t\t\t/>\n\t\t);\n\t},\n};\n","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\n\nconst superscript = (\n\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t<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\" />\n\t</SVG>\n);\n\nexport default superscript;\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { toggleFormat } from '@wordpress/rich-text';\nimport { RichTextToolbarButton } from '@wordpress/block-editor';\nimport { superscript as superscriptIcon } from '@wordpress/icons';\n\nconst name = 'core/superscript';\nconst title = __( 'Superscript' );\n\nexport const superscript = {\n\tname,\n\ttitle,\n\ttagName: 'sup',\n\tclassName: null,\n\tedit( { isActive, value, onChange, onFocus } ) {\n\t\tfunction onToggle() {\n\t\t\tonChange( toggleFormat( value, { type: name, title } ) );\n\t\t}\n\n\t\tfunction onClick() {\n\t\t\tonToggle();\n\t\t\tonFocus();\n\t\t}\n\n\t\treturn (\n\t\t\t<RichTextToolbarButton\n\t\t\t\ticon={ superscriptIcon }\n\t\t\t\ttitle={ title }\n\t\t\t\tonClick={ onClick }\n\t\t\t\tisActive={ isActive }\n\t\t\t\trole=\"menuitemcheckbox\"\n\t\t\t/>\n\t\t);\n\t},\n};\n","/**\n * WordPress dependencies\n */\nimport { Path, SVG } from '@wordpress/primitives';\n\nconst button = (\n\t<SVG viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n\t\t<Path d=\"M8 12.5h8V11H8v1.5Z M19 6.5H5a2 2 0 0 0-2 2V15a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V8.5a2 2 0 0 0-2-2ZM5 8h14a.5.5 0 0 1 .5.5V15a.5.5 0 0 1-.5.5H5a.5.5 0 0 1-.5-.5V8.5A.5.5 0 0 1 5 8Z\" />\n\t</SVG>\n);\n\nexport default button;\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { toggleFormat } from '@wordpress/rich-text';\nimport { RichTextToolbarButton } from '@wordpress/block-editor';\nimport { button } from '@wordpress/icons';\n\nconst name = 'core/keyboard';\nconst title = __( 'Keyboard input' );\n\nexport const keyboard = {\n\tname,\n\ttitle,\n\ttagName: 'kbd',\n\tclassName: null,\n\tedit( { isActive, value, onChange, onFocus } ) {\n\t\tfunction onToggle() {\n\t\t\tonChange( toggleFormat( value, { type: name, title } ) );\n\t\t}\n\n\t\tfunction onClick() {\n\t\t\tonToggle();\n\t\t\tonFocus();\n\t\t}\n\n\t\treturn (\n\t\t\t<RichTextToolbarButton\n\t\t\t\ticon={ button }\n\t\t\t\ttitle={ title }\n\t\t\t\tonClick={ onClick }\n\t\t\t\tisActive={ isActive }\n\t\t\t\trole=\"menuitemcheckbox\"\n\t\t\t/>\n\t\t);\n\t},\n};\n","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\n\nconst help = (\n\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t<Path d=\"M12 4.75a7.25 7.25 0 100 14.5 7.25 7.25 0 000-14.5zM3.25 12a8.75 8.75 0 1117.5 0 8.75 8.75 0 01-17.5 0zM12 8.75a1.5 1.5 0 01.167 2.99c-.465.052-.917.44-.917 1.01V14h1.5v-.845A3 3 0 109 10.25h1.5a1.5 1.5 0 011.5-1.5zM11.25 15v1.5h1.5V15h-1.5z\" />\n\t</SVG>\n);\n\nexport default help;\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { removeFormat, slice } from '@wordpress/rich-text';\nimport { RichTextToolbarButton } from '@wordpress/block-editor';\nimport { help } from '@wordpress/icons';\n\nconst name = 'core/unknown';\nconst title = __( 'Clear Unknown Formatting' );\n\nexport const unknown = {\n\tname,\n\ttitle,\n\ttagName: '*',\n\tclassName: null,\n\tedit( { isActive, value, onChange, onFocus } ) {\n\t\tfunction onClick() {\n\t\t\tonChange( removeFormat( value, name ) );\n\t\t\tonFocus();\n\t\t}\n\n\t\tconst selectedValue = slice( value );\n\t\tconst hasUnknownFormats = selectedValue.formats.some( ( formats ) => {\n\t\t\treturn formats.some( ( format ) => format.type === name );\n\t\t} );\n\n\t\tif ( ! isActive && ! hasUnknownFormats ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<RichTextToolbarButton\n\t\t\t\tname=\"unknown\"\n\t\t\t\ticon={ help }\n\t\t\t\ttitle={ title }\n\t\t\t\tonClick={ onClick }\n\t\t\t\tisActive={ true }\n\t\t\t/>\n\t\t);\n\t},\n};\n","/**\n * WordPress dependencies\n */\nimport { SVG, Path } from '@wordpress/primitives';\n\nconst language = (\n\t<SVG xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\">\n\t\t<Path d=\"M17.5 10h-1.7l-3.7 10.5h1.7l.9-2.6h3.9l.9 2.6h1.7L17.5 10zm-2.2 6.3 1.4-4 1.4 4h-2.8zm-4.8-3.8c1.6-1.8 2.9-3.6 3.7-5.7H16V5.2h-5.8V3H8.8v2.2H3v1.5h9.6c-.7 1.6-1.8 3.1-3.1 4.6C8.6 10.2 7.8 9 7.2 8H5.6c.6 1.4 1.7 2.9 2.9 4.4l-2.4 2.4c-.3.4-.7.8-1.1 1.2l1 1 1.2-1.2c.8-.8 1.6-1.5 2.3-2.3.8.9 1.7 1.7 2.5 2.5l.6-1.5c-.7-.6-1.4-1.3-2.1-2z\" />\n\t</SVG>\n);\n\nexport default language;\n","/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * WordPress dependencies\n */\nimport { RichTextToolbarButton } from '@wordpress/block-editor';\nimport {\n\tTextControl,\n\tSelectControl,\n\tButton,\n\tPopover,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { useState } from '@wordpress/element';\nimport { applyFormat, removeFormat, useAnchor } from '@wordpress/rich-text';\nimport { language as languageIcon } from '@wordpress/icons';\n\nconst name = 'core/language';\nconst title = __( 'Language' );\n\nexport const language = {\n\tname,\n\ttagName: 'bdo',\n\tclassName: null,\n\tedit: Edit,\n\ttitle,\n};\n\nfunction Edit( { isActive, value, onChange, contentRef } ) {\n\tconst [ isPopoverVisible, setIsPopoverVisible ] = useState( false );\n\tconst togglePopover = () => {\n\t\tsetIsPopoverVisible( ( state ) => ! state );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<RichTextToolbarButton\n\t\t\t\ticon={ languageIcon }\n\t\t\t\tlabel={ title }\n\t\t\t\ttitle={ title }\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tif ( isActive ) {\n\t\t\t\t\t\tonChange( removeFormat( value, name ) );\n\t\t\t\t\t} else {\n\t\t\t\t\t\ttogglePopover();\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t\tisActive={ isActive }\n\t\t\t\trole=\"menuitemcheckbox\"\n\t\t\t/>\n\t\t\t{ isPopoverVisible && (\n\t\t\t\t<InlineLanguageUI\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\tonClose={ togglePopover }\n\t\t\t\t\tcontentRef={ contentRef }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction InlineLanguageUI( { value, contentRef, onChange, onClose } ) {\n\tconst popoverAnchor = useAnchor( {\n\t\teditableContentElement: contentRef.current,\n\t\tsettings: language,\n\t} );\n\n\tconst [ lang, setLang ] = useState( '' );\n\tconst [ dir, setDir ] = useState( 'ltr' );\n\n\treturn (\n\t\t<Popover\n\t\t\tclassName=\"block-editor-format-toolbar__language-popover\"\n\t\t\tanchor={ popoverAnchor }\n\t\t\tonClose={ onClose }\n\t\t>\n\t\t\t<form\n\t\t\t\tclassName=\"block-editor-format-toolbar__language-container-content\"\n\t\t\t\tonSubmit={ ( event ) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tonChange(\n\t\t\t\t\t\tapplyFormat( value, {\n\t\t\t\t\t\t\ttype: name,\n\t\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t\tlang,\n\t\t\t\t\t\t\t\tdir,\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t} )\n\t\t\t\t\t);\n\t\t\t\t\tonClose();\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ title }\n\t\t\t\t\tvalue={ lang }\n\t\t\t\t\tonChange={ ( val ) => setLang( val ) }\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'A valid language attribute, like \"en\" or \"fr\".'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t\t<SelectControl\n\t\t\t\t\tlabel={ __( 'Text direction' ) }\n\t\t\t\t\tvalue={ dir }\n\t\t\t\t\toptions={ [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( 'Left to right' ),\n\t\t\t\t\t\t\tvalue: 'ltr',\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tlabel: __( 'Right to left' ),\n\t\t\t\t\t\t\tvalue: 'rtl',\n\t\t\t\t\t\t},\n\t\t\t\t\t] }\n\t\t\t\t\tonChange={ ( val ) => setDir( val ) }\n\t\t\t\t/>\n\t\t\t\t<HStack alignment=\"right\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\ttext={ __( 'Apply' ) }\n\t\t\t\t\t/>\n\t\t\t\t</HStack>\n\t\t\t</form>\n\t\t</Popover>\n\t);\n}\n","/**\n * Internal dependencies\n */\nimport { bold } from './bold';\nimport { code } from './code';\nimport { image } from './image';\nimport { italic } from './italic';\nimport { link } from './link';\nimport { strikethrough } from './strikethrough';\nimport { underline } from './underline';\nimport { textColor } from './text-color';\nimport { subscript } from './subscript';\nimport { superscript } from './superscript';\nimport { keyboard } from './keyboard';\nimport { unknown } from './unknown';\nimport { language } from './language';\n\nexport default [\n\tbold,\n\tcode,\n\timage,\n\titalic,\n\tlink,\n\tstrikethrough,\n\tunderline,\n\ttextColor,\n\tsubscript,\n\tsuperscript,\n\tkeyboard,\n\tunknown,\n\tlanguage,\n];\n","/**\n * WordPress dependencies\n */\nimport { registerFormatType } from '@wordpress/rich-text';\n\n/**\n * Internal dependencies\n */\nimport formats from './default-formats';\n\nformats.forEach( ( { name, ...settings } ) =>\n\tregisterFormatType( name, settings )\n);\n"],"names":["exports","Symbol","toStringTag","Object","defineProperty","value","window","createElement","SVG","xmlns","viewBox","Path","d","name","title","__","bold","tagName","className","edit","isActive","onChange","onFocus","onToggle","toggleFormat","type","Fragment","RichTextShortcut","character","onUse","RichTextToolbarButton","icon","formatBold","onClick","shortcutType","shortcutCharacter","__unstableRichTextInputEvent","inputType","onInput","code","__unstableInputRule","start","text","indexBefore","lastIndexOf","startIndex","endIndex","remove","applyFormat","codeIcon","role","ALLOWED_MEDIA_TYPES","image","keywords","object","attributes","style","url","alt","isObjectActive","activeObjectAttributes","contentRef","isModalOpen","setIsModalOpen","useState","closeModal","MediaUploadCheck","MediaUpload","allowedTypes","onSelect","id","width","imgWidth","insertObject","Math","min","onClose","render","open","InlineUI","setWidth","replace","popoverAnchor","useAnchor","editableContentElement","current","settings","Popover","placement","focusOnMount","anchor","onSubmit","event","newReplacements","replacements","slice","preventDefault","HStack","alignment","spacing","NumberControl","label","newWidth","Button","keyboardReturn","italic","formatItalic","isValidHref","href","trimmedHref","trim","test","protocol","getProtocol","isValidProtocol","startsWith","authority","getAuthority","isValidAuthority","path","getPath","isValidPath","queryString","getQueryString","isValidQueryString","fragment","getFragment","isValidFragment","getFormatBoundary","format","end","EMPTY_BOUNDARIES","formats","targetFormat","initialIndex","length","newFormats","formatAtStart","find","formatAtEnd","formatAtEndMinusOne","index","indexOf","walkingArgs","walkToStart","walkToEnd","walkToBoundary","targetFormatRef","formatIndex","direction","directionIncrement","forwards","backwards","inverseDirectionIncrement","partialRight","fn","partialArgs","args","weakMap","WeakMap","getKey","_id","LINK_SETTINGS","LinkControl","DEFAULT_LINK_SETTINGS","activeAttributes","addingLink","stopAddingLink","richTextText","textStart","textEnd","boundary","getRichTextValueFromSelection","createPageEntity","userCanCreatePages","useSelect","select","getSettings","blockEditorStore","_settings","__experimentalCreatePageEntity","__experimentalUserCanCreatePages","linkValue","useMemo","opensInNewTab","target","nofollow","rel","includes","forceRemountKey","instance","has","get","set","useLinkInstanceKey","useRef","onFocusOutside","shift","key","nextValue","didToggleSetting","undefined","newUrl","prependHTTP","linkFormat","opensInNewWindow","createLinkFormat","String","newText","isCollapsed","toInsert","create","insert","newValue","valBefore","valAfter","split","newValAfter","concat","activeFormats","speak","onRemove","removeFormat","forceIsEditingLink","hasRichPreviews","createSuggestion","async","pageTitle","page","status","rendered","link","kind","withCreateSuggestion","createSuggestionButtonText","searchTerm","createInterpolateElement","sprintf","mark","hasTextControl","__unstablePasteRule","html","plainText","pastedText","isURL","console","log","decodeEntities","setAddingLink","addLink","getTextContent","isEmail","onRemoveFormat","linkOff","linkIcon","InlineLinkUI","returnFocus","strikethrough","formatStrikethrough","underline","forwardRef","size","props","ref","cloneElement","height","lock","unlock","__dangerousOptInToUnstableAPIsOnlyForCoreModules","Tabs","componentsPrivateApis","TABS","parseCSS","css","reduce","accumulator","rule","property","color","transparentValue","backgroundColor","parseClassName","colorSettings","endsWith","colorSlug","colorObject","getColorObjectByAttributeValues","getActiveColors","activeColorFormat","getActiveFormat","class","ColorPicker","colors","_getSettings$colors","onColorChange","useCallback","styles","classNames","push","join","getColorObjectByColorValue","getColorClassName","slug","setColors","activeColors","ColorPalette","InlineColorUI","cachedRect","useCachedTruthy","getBoundingClientRect","TabList","map","tab","Tab","tabId","TabPanel","focusable","EMPTY_ARRAY","getComputedStyleProperty","element","ownerDocument","defaultView","getComputedStyle","getPropertyValue","parentElement","textColor","allowCustomControl","useSettings","isAddingColor","setIsAddingColor","enableIsAddingColor","disableIsAddingColor","colorIndicatorStyle","fillComputedColors","hasColorsToChoose","Icon","keys","textColorIcon","colorIcon","subscript","subscriptIcon","superscript","superscriptIcon","keyboard","button","unknown","hasUnknownFormats","some","help","language","isPopoverVisible","setIsPopoverVisible","togglePopover","state","languageIcon","InlineLanguageUI","lang","setLang","dir","setDir","TextControl","val","SelectControl","options","variant","forEach","registerFormatType"],"sourceRoot":""}