@wordpress/block-editor 14.3.3 → 14.3.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. package/README.md +42 -0
  2. package/build/components/block-variation-picker/index.js +2 -4
  3. package/build/components/block-variation-picker/index.js.map +1 -1
  4. package/build/components/block-variation-transforms/index.js +3 -4
  5. package/build/components/block-variation-transforms/index.js.map +1 -1
  6. package/build/components/button-block-appender/index.js +2 -4
  7. package/build/components/button-block-appender/index.js.map +1 -1
  8. package/build/components/colors-gradients/dropdown.js +2 -4
  9. package/build/components/colors-gradients/dropdown.js.map +1 -1
  10. package/build/components/global-styles/color-panel.js +2 -4
  11. package/build/components/global-styles/color-panel.js.map +1 -1
  12. package/build/components/global-styles/filters-panel.js +2 -4
  13. package/build/components/global-styles/filters-panel.js.map +1 -1
  14. package/build/components/global-styles/shadow-panel-components.js +24 -29
  15. package/build/components/global-styles/shadow-panel-components.js.map +1 -1
  16. package/build/components/inspector-controls-tabs/index.js +11 -8
  17. package/build/components/inspector-controls-tabs/index.js.map +1 -1
  18. package/build/components/inspector-popover-header/index.js +4 -8
  19. package/build/components/inspector-popover-header/index.js.map +1 -1
  20. package/build/components/link-control/index.js +4 -8
  21. package/build/components/link-control/index.js.map +1 -1
  22. package/build/components/link-control/settings-drawer.js +2 -4
  23. package/build/components/link-control/settings-drawer.js.map +1 -1
  24. package/build/components/list-view/block-select-button.js +1 -4
  25. package/build/components/list-view/block-select-button.js.map +1 -1
  26. package/build/components/media-placeholder/index.js +29 -43
  27. package/build/components/media-placeholder/index.js.map +1 -1
  28. package/build/components/rich-text/index.js +4 -8
  29. package/build/components/rich-text/index.js.map +1 -1
  30. package/build/components/skip-to-selected-block/index.js +2 -4
  31. package/build/components/skip-to-selected-block/index.js.map +1 -1
  32. package/build/components/tool-selector/index.js +2 -4
  33. package/build/components/tool-selector/index.js.map +1 -1
  34. package/build/components/url-input/button.js +14 -16
  35. package/build/components/url-input/button.js.map +1 -1
  36. package/build/components/url-input/index.js +2 -4
  37. package/build/components/url-input/index.js.map +1 -1
  38. package/build/hooks/block-bindings.js +6 -13
  39. package/build/hooks/block-bindings.js.map +1 -1
  40. package/build/hooks/use-bindings-attributes.js +5 -4
  41. package/build/hooks/use-bindings-attributes.js.map +1 -1
  42. package/build/layouts/flex.js +6 -38
  43. package/build/layouts/flex.js.map +1 -1
  44. package/build/private-apis.js +0 -2
  45. package/build/private-apis.js.map +1 -1
  46. package/build/utils/block-bindings.js +48 -0
  47. package/build/utils/block-bindings.js.map +1 -1
  48. package/build/utils/index.js +7 -0
  49. package/build/utils/index.js.map +1 -1
  50. package/build-module/components/block-variation-picker/index.js +2 -4
  51. package/build-module/components/block-variation-picker/index.js.map +1 -1
  52. package/build-module/components/block-variation-transforms/index.js +3 -4
  53. package/build-module/components/block-variation-transforms/index.js.map +1 -1
  54. package/build-module/components/button-block-appender/index.js +2 -4
  55. package/build-module/components/button-block-appender/index.js.map +1 -1
  56. package/build-module/components/colors-gradients/dropdown.js +2 -4
  57. package/build-module/components/colors-gradients/dropdown.js.map +1 -1
  58. package/build-module/components/global-styles/color-panel.js +2 -4
  59. package/build-module/components/global-styles/color-panel.js.map +1 -1
  60. package/build-module/components/global-styles/filters-panel.js +2 -4
  61. package/build-module/components/global-styles/filters-panel.js.map +1 -1
  62. package/build-module/components/global-styles/shadow-panel-components.js +25 -30
  63. package/build-module/components/global-styles/shadow-panel-components.js.map +1 -1
  64. package/build-module/components/inspector-controls-tabs/index.js +12 -9
  65. package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
  66. package/build-module/components/inspector-popover-header/index.js +4 -8
  67. package/build-module/components/inspector-popover-header/index.js.map +1 -1
  68. package/build-module/components/link-control/index.js +4 -8
  69. package/build-module/components/link-control/index.js.map +1 -1
  70. package/build-module/components/link-control/settings-drawer.js +2 -4
  71. package/build-module/components/link-control/settings-drawer.js.map +1 -1
  72. package/build-module/components/list-view/block-select-button.js +2 -5
  73. package/build-module/components/list-view/block-select-button.js.map +1 -1
  74. package/build-module/components/media-placeholder/index.js +30 -44
  75. package/build-module/components/media-placeholder/index.js.map +1 -1
  76. package/build-module/components/rich-text/index.js +4 -8
  77. package/build-module/components/rich-text/index.js.map +1 -1
  78. package/build-module/components/skip-to-selected-block/index.js +2 -4
  79. package/build-module/components/skip-to-selected-block/index.js.map +1 -1
  80. package/build-module/components/tool-selector/index.js +2 -4
  81. package/build-module/components/tool-selector/index.js.map +1 -1
  82. package/build-module/components/url-input/button.js +15 -17
  83. package/build-module/components/url-input/button.js.map +1 -1
  84. package/build-module/components/url-input/index.js +2 -4
  85. package/build-module/components/url-input/index.js.map +1 -1
  86. package/build-module/hooks/block-bindings.js +6 -13
  87. package/build-module/hooks/block-bindings.js.map +1 -1
  88. package/build-module/hooks/use-bindings-attributes.js +5 -4
  89. package/build-module/hooks/use-bindings-attributes.js.map +1 -1
  90. package/build-module/layouts/flex.js +7 -39
  91. package/build-module/layouts/flex.js.map +1 -1
  92. package/build-module/private-apis.js +0 -2
  93. package/build-module/private-apis.js.map +1 -1
  94. package/build-module/utils/block-bindings.js +48 -0
  95. package/build-module/utils/block-bindings.js.map +1 -1
  96. package/build-module/utils/index.js +1 -0
  97. package/build-module/utils/index.js.map +1 -1
  98. package/build-style/content-rtl.css +2 -17
  99. package/build-style/content.css +2 -17
  100. package/build-style/style-rtl.css +18 -25
  101. package/build-style/style.css +18 -25
  102. package/package.json +6 -6
  103. package/src/components/block-inspector/style.scss +2 -0
  104. package/src/components/block-tools/style.scss +5 -0
  105. package/src/components/block-variation-picker/index.js +1 -2
  106. package/src/components/block-variation-transforms/index.js +2 -2
  107. package/src/components/button-block-appender/content.scss +0 -5
  108. package/src/components/button-block-appender/index.js +1 -2
  109. package/src/components/colors-gradients/dropdown.js +1 -5
  110. package/src/components/global-styles/color-panel.js +1 -5
  111. package/src/components/global-styles/filters-panel.js +1 -2
  112. package/src/components/global-styles/shadow-panel-components.js +28 -33
  113. package/src/components/global-styles/style.scss +5 -0
  114. package/src/components/inspector-controls-tabs/index.js +21 -20
  115. package/src/components/inspector-popover-header/index.js +2 -4
  116. package/src/components/inspector-popover-header/style.scss +0 -13
  117. package/src/components/link-control/index.js +2 -4
  118. package/src/components/link-control/settings-drawer.js +1 -2
  119. package/src/components/list-view/block-select-button.js +2 -5
  120. package/src/components/list-view/style.scss +9 -0
  121. package/src/components/media-placeholder/content.scss +3 -19
  122. package/src/components/media-placeholder/index.js +23 -29
  123. package/src/components/rich-text/index.js +4 -13
  124. package/src/components/skip-to-selected-block/index.js +1 -2
  125. package/src/components/skip-to-selected-block/style.scss +0 -9
  126. package/src/components/tool-selector/index.js +1 -2
  127. package/src/components/url-input/button.js +16 -12
  128. package/src/components/url-input/index.js +1 -2
  129. package/src/components/url-input/style.scss +0 -6
  130. package/src/hooks/block-bindings.js +9 -10
  131. package/src/hooks/use-bindings-attributes.js +66 -63
  132. package/src/layouts/flex.js +10 -53
  133. package/src/private-apis.js +0 -2
  134. package/src/utils/block-bindings.js +47 -0
  135. package/src/utils/index.js +1 -0
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","Button","Spinner","Notice","TextControl","__experimentalHStack","HStack","__experimentalInputControlSuffixWrapper","InputControlSuffixWrapper","__","useRef","useState","useEffect","focus","ENTER","isShallowEqualObjects","useSelect","useDispatch","store","preferencesStore","keyboardReturn","LinkControlSettingsDrawer","LinkControlSearchInput","LinkPreview","LinkSettings","useCreatePage","useInternalValue","ViewerFill","DEFAULT_LINK_SETTINGS","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","noop","PREFERENCE_SCOPE","PREFERENCE_KEY","LinkControl","searchInputPlaceholder","value","settings","onChange","onRemove","onCancel","noDirectEntry","showSuggestions","showInitialSuggestions","forceIsEditingLink","createSuggestion","withCreateSuggestion","inputValue","propInputValue","suggestionsQuery","noURLSuggestion","createSuggestionButtonText","hasRichPreviews","hasTextControl","renderControlBottom","undefined","settingsOpen","setSettingsOpen","advancedSettingsPreference","select","_prefsStore$get","prefsStore","get","set","setPreference","setSettingsOpenWithPreference","prefVal","isSettingsOpen","isMountingRef","wrapperNode","textInputRef","isEndingEditWithFocusRef","settingsKeys","map","id","internalControlValue","setInternalControlValue","setInternalURLInputValue","setInternalTextInputValue","createSetInternalSettingValueHandler","valueHasChanges","isEditingLink","setIsEditingLink","url","createPage","isCreatingPage","errorMessage","current","nextFocusTarget","focusable","find","hasLinkValue","trim","length","stopEditing","contains","ownerDocument","activeElement","handleSelectSuggestion","updatedValue","nonSettingsChanges","Object","keys","reduce","acc","key","includes","title","handleSubmit","currentUrlInputValue","handleSubmitWithEnter","event","keyCode","currentInputIsEmpty","preventDefault","resetInternalValues","handleCancel","stopPropagation","shownUnlinkControl","showActions","showTextControl","isEditing","isDisabled","showSettings","tabIndex","ref","className","children","__nextHasNoMarginBottom","label","onKeyDown","__next40pxDefaultSize","currentLink","placeholder","onCreateSuggestion","onSelect","allowDirectEntry","withURLSuggestion","hideLabelFromVision","suffix","variant","onClick","icon","size","props","status","isDismissible","onEditClick","hasUnlinkControl","justify"],"sources":["@wordpress/block-editor/src/components/link-control/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tSpinner,\n\tNotice,\n\tTextControl,\n\t__experimentalHStack as HStack,\n\t__experimentalInputControlSuffixWrapper as InputControlSuffixWrapper,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useRef, useState, useEffect } from '@wordpress/element';\nimport { focus } from '@wordpress/dom';\nimport { ENTER } from '@wordpress/keycodes';\nimport { isShallowEqualObjects } from '@wordpress/is-shallow-equal';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { keyboardReturn } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport LinkControlSettingsDrawer from './settings-drawer';\nimport LinkControlSearchInput from './search-input';\nimport LinkPreview from './link-preview';\nimport LinkSettings from './settings';\nimport useCreatePage from './use-create-page';\nimport useInternalValue from './use-internal-value';\nimport { ViewerFill } from './viewer-slot';\nimport { DEFAULT_LINK_SETTINGS } from './constants';\n\n/**\n * Default properties associated with a link control value.\n *\n * @typedef WPLinkControlDefaultValue\n *\n * @property {string} url Link URL.\n * @property {string=} title Link title.\n * @property {boolean=} opensInNewTab Whether link should open in a new browser\n * tab. This value is only assigned if not\n * providing a custom `settings` prop.\n */\n\n/* eslint-disable jsdoc/valid-types */\n/**\n * Custom settings values associated with a link.\n *\n * @typedef {{[setting:string]:any}} WPLinkControlSettingsValue\n */\n/* eslint-enable */\n\n/**\n * Custom settings values associated with a link.\n *\n * @typedef WPLinkControlSetting\n *\n * @property {string} id Identifier to use as property for setting value.\n * @property {string} title Human-readable label to show in user interface.\n */\n\n/**\n * Properties associated with a link control value, composed as a union of the\n * default properties and any custom settings values.\n *\n * @typedef {WPLinkControlDefaultValue&WPLinkControlSettingsValue} WPLinkControlValue\n */\n\n/** @typedef {(nextValue:WPLinkControlValue)=>void} WPLinkControlOnChangeProp */\n\n/**\n * Properties associated with a search suggestion used within the LinkControl.\n *\n * @typedef WPLinkControlSuggestion\n *\n * @property {string} id Identifier to use to uniquely identify the suggestion.\n * @property {string} type Identifies the type of the suggestion (eg: `post`,\n * `page`, `url`...etc)\n * @property {string} title Human-readable label to show in user interface.\n * @property {string} url A URL for the suggestion.\n */\n\n/** @typedef {(title:string)=>WPLinkControlSuggestion} WPLinkControlCreateSuggestionProp */\n\n/**\n * @typedef WPLinkControlProps\n *\n * @property {(WPLinkControlSetting[])=} settings An array of settings objects. Each object will used to\n * render a `ToggleControl` for that setting.\n * @property {boolean=} forceIsEditingLink If passed as either `true` or `false`, controls the\n * internal editing state of the component to respective\n * show or not show the URL input field.\n * @property {WPLinkControlValue=} value Current link value.\n * @property {WPLinkControlOnChangeProp=} onChange Value change handler, called with the updated value if\n * the user selects a new link or updates settings.\n * @property {boolean=} noDirectEntry Whether to allow turning a URL-like search query directly into a link.\n * @property {boolean=} showSuggestions Whether to present suggestions when typing the URL.\n * @property {boolean=} showInitialSuggestions Whether to present initial suggestions immediately.\n * @property {boolean=} withCreateSuggestion Whether to allow creation of link value from suggestion.\n * @property {Object=} suggestionsQuery Query parameters to pass along to wp.blockEditor.__experimentalFetchLinkSuggestions.\n * @property {boolean=} noURLSuggestion Whether to add a fallback suggestion which treats the search query as a URL.\n * @property {boolean=} hasTextControl Whether to add a text field to the UI to update the value.title.\n * @property {string|Function|undefined} createSuggestionButtonText The text to use in the button that calls createSuggestion.\n * @property {Function} renderControlBottom Optional controls to be rendered at the bottom of the component.\n */\n\nconst noop = () => {};\n\nconst PREFERENCE_SCOPE = 'core/block-editor';\nconst PREFERENCE_KEY = 'linkControlSettingsDrawer';\n\n/**\n * Renders a link control. A link control is a controlled input which maintains\n * a value associated with a link (HTML anchor element) and relevant settings\n * for how that link is expected to behave.\n *\n * @param {WPLinkControlProps} props Component props.\n */\nfunction LinkControl( {\n\tsearchInputPlaceholder,\n\tvalue,\n\tsettings = DEFAULT_LINK_SETTINGS,\n\tonChange = noop,\n\tonRemove,\n\tonCancel,\n\tnoDirectEntry = false,\n\tshowSuggestions = true,\n\tshowInitialSuggestions,\n\tforceIsEditingLink,\n\tcreateSuggestion,\n\twithCreateSuggestion,\n\tinputValue: propInputValue = '',\n\tsuggestionsQuery = {},\n\tnoURLSuggestion = false,\n\tcreateSuggestionButtonText,\n\thasRichPreviews = false,\n\thasTextControl = false,\n\trenderControlBottom = null,\n} ) {\n\tif ( withCreateSuggestion === undefined && createSuggestion ) {\n\t\twithCreateSuggestion = true;\n\t}\n\n\tconst [ settingsOpen, setSettingsOpen ] = useState( false );\n\n\tconst { advancedSettingsPreference } = useSelect( ( select ) => {\n\t\tconst prefsStore = select( preferencesStore );\n\n\t\treturn {\n\t\t\tadvancedSettingsPreference:\n\t\t\t\tprefsStore.get( PREFERENCE_SCOPE, PREFERENCE_KEY ) ?? false,\n\t\t};\n\t}, [] );\n\n\tconst { set: setPreference } = useDispatch( preferencesStore );\n\n\t/**\n\t * Sets the open/closed state of the Advanced Settings Drawer,\n\t * optionlly persisting the state to the user's preferences.\n\t *\n\t * Note that Block Editor components can be consumed by non-WordPress\n\t * environments which may not have preferences setup.\n\t * Therefore a local state is also used as a fallback.\n\t *\n\t * @param {boolean} prefVal the open/closed state of the Advanced Settings Drawer.\n\t */\n\tconst setSettingsOpenWithPreference = ( prefVal ) => {\n\t\tif ( setPreference ) {\n\t\t\tsetPreference( PREFERENCE_SCOPE, PREFERENCE_KEY, prefVal );\n\t\t}\n\t\tsetSettingsOpen( prefVal );\n\t};\n\n\t// Block Editor components can be consumed by non-WordPress environments\n\t// which may not have these preferences setup.\n\t// Therefore a local state is used as a fallback.\n\tconst isSettingsOpen = advancedSettingsPreference || settingsOpen;\n\n\tconst isMountingRef = useRef( true );\n\tconst wrapperNode = useRef();\n\tconst textInputRef = useRef();\n\tconst isEndingEditWithFocusRef = useRef( false );\n\n\tconst settingsKeys = settings.map( ( { id } ) => id );\n\n\tconst [\n\t\tinternalControlValue,\n\t\tsetInternalControlValue,\n\t\tsetInternalURLInputValue,\n\t\tsetInternalTextInputValue,\n\t\tcreateSetInternalSettingValueHandler,\n\t] = useInternalValue( value );\n\n\tconst valueHasChanges =\n\t\tvalue && ! isShallowEqualObjects( internalControlValue, value );\n\n\tconst [ isEditingLink, setIsEditingLink ] = useState(\n\t\tforceIsEditingLink !== undefined\n\t\t\t? forceIsEditingLink\n\t\t\t: ! value || ! value.url\n\t);\n\n\tconst { createPage, isCreatingPage, errorMessage } =\n\t\tuseCreatePage( createSuggestion );\n\n\tuseEffect( () => {\n\t\tif ( forceIsEditingLink === undefined ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetIsEditingLink( forceIsEditingLink );\n\t}, [ forceIsEditingLink ] );\n\n\tuseEffect( () => {\n\t\t// We don't auto focus into the Link UI on mount\n\t\t// because otherwise using the keyboard to select text\n\t\t// *within* the link format is not possible.\n\t\tif ( isMountingRef.current ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Scenario - when:\n\t\t// - switching between editable and non editable LinkControl\n\t\t// - clicking on a link\n\t\t// ...then move focus to the *first* element to avoid focus loss\n\t\t// and to ensure focus is *within* the Link UI.\n\t\tconst nextFocusTarget =\n\t\t\tfocus.focusable.find( wrapperNode.current )[ 0 ] ||\n\t\t\twrapperNode.current;\n\n\t\tnextFocusTarget.focus();\n\n\t\tisEndingEditWithFocusRef.current = false;\n\t}, [ isEditingLink, isCreatingPage ] );\n\n\t// The component mounting reference is maintained separately\n\t// to correctly reset values in `StrictMode`.\n\tuseEffect( () => {\n\t\tisMountingRef.current = false;\n\n\t\treturn () => {\n\t\t\tisMountingRef.current = true;\n\t\t};\n\t}, [] );\n\n\tconst hasLinkValue = value?.url?.trim()?.length > 0;\n\n\t/**\n\t * Cancels editing state and marks that focus may need to be restored after\n\t * the next render, if focus was within the wrapper when editing finished.\n\t */\n\tconst stopEditing = () => {\n\t\tisEndingEditWithFocusRef.current = !! wrapperNode.current?.contains(\n\t\t\twrapperNode.current.ownerDocument.activeElement\n\t\t);\n\n\t\tsetIsEditingLink( false );\n\t};\n\n\tconst handleSelectSuggestion = ( updatedValue ) => {\n\t\t// Suggestions may contains \"settings\" values (e.g. `opensInNewTab`)\n\t\t// which should not overide any existing settings values set by the\n\t\t// user. This filters out any settings values from the suggestion.\n\t\tconst nonSettingsChanges = Object.keys( updatedValue ).reduce(\n\t\t\t( acc, key ) => {\n\t\t\t\tif ( ! settingsKeys.includes( key ) ) {\n\t\t\t\t\tacc[ key ] = updatedValue[ key ];\n\t\t\t\t}\n\t\t\t\treturn acc;\n\t\t\t},\n\t\t\t{}\n\t\t);\n\n\t\tonChange( {\n\t\t\t...internalControlValue,\n\t\t\t...nonSettingsChanges,\n\t\t\t// As title is not a setting, it must be manually applied\n\t\t\t// in such a way as to preserve the users changes over\n\t\t\t// any \"title\" value provided by the \"suggestion\".\n\t\t\ttitle: internalControlValue?.title || updatedValue?.title,\n\t\t} );\n\n\t\tstopEditing();\n\t};\n\n\tconst handleSubmit = () => {\n\t\tif ( valueHasChanges ) {\n\t\t\t// Submit the original value with new stored values applied\n\t\t\t// on top. URL is a special case as it may also be a prop.\n\t\t\tonChange( {\n\t\t\t\t...value,\n\t\t\t\t...internalControlValue,\n\t\t\t\turl: currentUrlInputValue,\n\t\t\t} );\n\t\t}\n\t\tstopEditing();\n\t};\n\n\tconst handleSubmitWithEnter = ( event ) => {\n\t\tconst { keyCode } = event;\n\n\t\tif (\n\t\t\tkeyCode === ENTER &&\n\t\t\t! currentInputIsEmpty // Disallow submitting empty values.\n\t\t) {\n\t\t\tevent.preventDefault();\n\t\t\thandleSubmit();\n\t\t}\n\t};\n\n\tconst resetInternalValues = () => {\n\t\tsetInternalControlValue( value );\n\t};\n\n\tconst handleCancel = ( event ) => {\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\n\t\t// Ensure that any unsubmitted input changes are reset.\n\t\tresetInternalValues();\n\n\t\tif ( hasLinkValue ) {\n\t\t\t// If there is a link then exist editing mode and show preview.\n\t\t\tstopEditing();\n\t\t} else {\n\t\t\t// If there is no link value, then remove the link entirely.\n\t\t\tonRemove?.();\n\t\t}\n\n\t\tonCancel?.();\n\t};\n\n\tconst currentUrlInputValue =\n\t\tpropInputValue || internalControlValue?.url || '';\n\n\tconst currentInputIsEmpty = ! currentUrlInputValue?.trim()?.length;\n\n\tconst shownUnlinkControl =\n\t\tonRemove && value && ! isEditingLink && ! isCreatingPage;\n\n\tconst showActions = isEditingLink && hasLinkValue;\n\n\t// Only show text control once a URL value has been committed\n\t// and it isn't just empty whitespace.\n\t// See https://github.com/WordPress/gutenberg/pull/33849/#issuecomment-932194927.\n\tconst showTextControl = hasLinkValue && hasTextControl;\n\n\tconst isEditing = ( isEditingLink || ! value ) && ! isCreatingPage;\n\tconst isDisabled = ! valueHasChanges || currentInputIsEmpty;\n\tconst showSettings = !! settings?.length && isEditingLink && hasLinkValue;\n\n\treturn (\n\t\t<div\n\t\t\ttabIndex={ -1 }\n\t\t\tref={ wrapperNode }\n\t\t\tclassName=\"block-editor-link-control\"\n\t\t>\n\t\t\t{ isCreatingPage && (\n\t\t\t\t<div className=\"block-editor-link-control__loading\">\n\t\t\t\t\t<Spinner /> { __( 'Creating' ) }…\n\t\t\t\t</div>\n\t\t\t) }\n\n\t\t\t{ isEditing && (\n\t\t\t\t<>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t\t\t'block-editor-link-control__search-input-wrapper': true,\n\t\t\t\t\t\t\t'has-text-control': showTextControl,\n\t\t\t\t\t\t\t'has-actions': showActions,\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ showTextControl && (\n\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tref={ textInputRef }\n\t\t\t\t\t\t\t\tclassName=\"block-editor-link-control__field block-editor-link-control__text-content\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Text' ) }\n\t\t\t\t\t\t\t\tvalue={ internalControlValue?.title }\n\t\t\t\t\t\t\t\tonChange={ setInternalTextInputValue }\n\t\t\t\t\t\t\t\tonKeyDown={ handleSubmitWithEnter }\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<LinkControlSearchInput\n\t\t\t\t\t\t\tcurrentLink={ value }\n\t\t\t\t\t\t\tclassName=\"block-editor-link-control__field block-editor-link-control__search-input\"\n\t\t\t\t\t\t\tplaceholder={ searchInputPlaceholder }\n\t\t\t\t\t\t\tvalue={ currentUrlInputValue }\n\t\t\t\t\t\t\twithCreateSuggestion={ withCreateSuggestion }\n\t\t\t\t\t\t\tonCreateSuggestion={ createPage }\n\t\t\t\t\t\t\tonChange={ setInternalURLInputValue }\n\t\t\t\t\t\t\tonSelect={ handleSelectSuggestion }\n\t\t\t\t\t\t\tshowInitialSuggestions={ showInitialSuggestions }\n\t\t\t\t\t\t\tallowDirectEntry={ ! noDirectEntry }\n\t\t\t\t\t\t\tshowSuggestions={ showSuggestions }\n\t\t\t\t\t\t\tsuggestionsQuery={ suggestionsQuery }\n\t\t\t\t\t\t\twithURLSuggestion={ ! noURLSuggestion }\n\t\t\t\t\t\t\tcreateSuggestionButtonText={\n\t\t\t\t\t\t\t\tcreateSuggestionButtonText\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\thideLabelFromVision={ ! showTextControl }\n\t\t\t\t\t\t\tsuffix={\n\t\t\t\t\t\t\t\tshowActions ? undefined : (\n\t\t\t\t\t\t\t\t\t<InputControlSuffixWrapper variant=\"control\">\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\t\t\tisDisabled ? noop : handleSubmit\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Submit' ) }\n\t\t\t\t\t\t\t\t\t\t\ticon={ keyboardReturn }\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"block-editor-link-control__search-submit\"\n\t\t\t\t\t\t\t\t\t\t\taria-disabled={ isDisabled }\n\t\t\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</InputControlSuffixWrapper>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tprops\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t{ errorMessage && (\n\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\tclassName=\"block-editor-link-control__search-error\"\n\t\t\t\t\t\t\tstatus=\"error\"\n\t\t\t\t\t\t\tisDismissible={ false }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ errorMessage }\n\t\t\t\t\t\t</Notice>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\n\t\t\t{ value && ! isEditingLink && ! isCreatingPage && (\n\t\t\t\t<LinkPreview\n\t\t\t\t\tkey={ value?.url } // force remount when URL changes to avoid race conditions for rich previews\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tonEditClick={ () => setIsEditingLink( true ) }\n\t\t\t\t\thasRichPreviews={ hasRichPreviews }\n\t\t\t\t\thasUnlinkControl={ shownUnlinkControl }\n\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\tonRemove();\n\t\t\t\t\t\tsetIsEditingLink( true );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t{ showSettings && (\n\t\t\t\t<div className=\"block-editor-link-control__tools\">\n\t\t\t\t\t{ ! currentInputIsEmpty && (\n\t\t\t\t\t\t<LinkControlSettingsDrawer\n\t\t\t\t\t\t\tsettingsOpen={ isSettingsOpen }\n\t\t\t\t\t\t\tsetSettingsOpen={ setSettingsOpenWithPreference }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<LinkSettings\n\t\t\t\t\t\t\t\tvalue={ internalControlValue }\n\t\t\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\t\t\tonChange={ createSetInternalSettingValueHandler(\n\t\t\t\t\t\t\t\t\tsettingsKeys\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</LinkControlSettingsDrawer>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t) }\n\n\t\t\t{ showActions && (\n\t\t\t\t<HStack\n\t\t\t\t\tjustify=\"right\"\n\t\t\t\t\tclassName=\"block-editor-link-control__search-actions\"\n\t\t\t\t>\n\t\t\t\t\t<Button\n\t\t\t\t\t\t// TODO: Switch to `true` (40px size) if possible\n\t\t\t\t\t\t__next40pxDefaultSize={ false }\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ handleCancel }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\t// TODO: Switch to `true` (40px size) if possible\n\t\t\t\t\t\t__next40pxDefaultSize={ false }\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ isDisabled ? noop : handleSubmit }\n\t\t\t\t\t\tclassName=\"block-editor-link-control__search-submit\"\n\t\t\t\t\t\taria-disabled={ isDisabled }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Save' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t) }\n\n\t\t\t{ ! isCreatingPage && renderControlBottom && renderControlBottom() }\n\t\t</div>\n\t);\n}\n\nLinkControl.ViewerFill = ViewerFill;\nLinkControl.DEFAULT_LINK_SETTINGS = DEFAULT_LINK_SETTINGS;\n\nexport default LinkControl;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","Button","Spinner","Notice","TextControl","__experimentalHStack","HStack","__experimentalInputControlSuffixWrapper","InputControlSuffixWrapper","__","useRef","useState","useEffect","focus","ENTER","isShallowEqualObjects","useSelect","useDispatch","store","preferencesStore","keyboardReturn","LinkControlSettingsDrawer","LinkControlSearchInput","LinkPreview","LinkSettings","useCreatePage","useInternalValue","ViewerFill","DEFAULT_LINK_SETTINGS","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","noop","PREFERENCE_SCOPE","PREFERENCE_KEY","LinkControl","searchInputPlaceholder","value","settings","onChange","onRemove","onCancel","noDirectEntry","showSuggestions","showInitialSuggestions","forceIsEditingLink","createSuggestion","withCreateSuggestion","inputValue","propInputValue","suggestionsQuery","noURLSuggestion","createSuggestionButtonText","hasRichPreviews","hasTextControl","renderControlBottom","undefined","settingsOpen","setSettingsOpen","advancedSettingsPreference","select","_prefsStore$get","prefsStore","get","set","setPreference","setSettingsOpenWithPreference","prefVal","isSettingsOpen","isMountingRef","wrapperNode","textInputRef","isEndingEditWithFocusRef","settingsKeys","map","id","internalControlValue","setInternalControlValue","setInternalURLInputValue","setInternalTextInputValue","createSetInternalSettingValueHandler","valueHasChanges","isEditingLink","setIsEditingLink","url","createPage","isCreatingPage","errorMessage","current","nextFocusTarget","focusable","find","hasLinkValue","trim","length","stopEditing","contains","ownerDocument","activeElement","handleSelectSuggestion","updatedValue","nonSettingsChanges","Object","keys","reduce","acc","key","includes","title","handleSubmit","currentUrlInputValue","handleSubmitWithEnter","event","keyCode","currentInputIsEmpty","preventDefault","resetInternalValues","handleCancel","stopPropagation","shownUnlinkControl","showActions","showTextControl","isEditing","isDisabled","showSettings","tabIndex","ref","className","children","__nextHasNoMarginBottom","label","onKeyDown","__next40pxDefaultSize","currentLink","placeholder","onCreateSuggestion","onSelect","allowDirectEntry","withURLSuggestion","hideLabelFromVision","suffix","variant","onClick","icon","size","props","status","isDismissible","onEditClick","hasUnlinkControl","justify"],"sources":["@wordpress/block-editor/src/components/link-control/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tSpinner,\n\tNotice,\n\tTextControl,\n\t__experimentalHStack as HStack,\n\t__experimentalInputControlSuffixWrapper as InputControlSuffixWrapper,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useRef, useState, useEffect } from '@wordpress/element';\nimport { focus } from '@wordpress/dom';\nimport { ENTER } from '@wordpress/keycodes';\nimport { isShallowEqualObjects } from '@wordpress/is-shallow-equal';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as preferencesStore } from '@wordpress/preferences';\nimport { keyboardReturn } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport LinkControlSettingsDrawer from './settings-drawer';\nimport LinkControlSearchInput from './search-input';\nimport LinkPreview from './link-preview';\nimport LinkSettings from './settings';\nimport useCreatePage from './use-create-page';\nimport useInternalValue from './use-internal-value';\nimport { ViewerFill } from './viewer-slot';\nimport { DEFAULT_LINK_SETTINGS } from './constants';\n\n/**\n * Default properties associated with a link control value.\n *\n * @typedef WPLinkControlDefaultValue\n *\n * @property {string} url Link URL.\n * @property {string=} title Link title.\n * @property {boolean=} opensInNewTab Whether link should open in a new browser\n * tab. This value is only assigned if not\n * providing a custom `settings` prop.\n */\n\n/* eslint-disable jsdoc/valid-types */\n/**\n * Custom settings values associated with a link.\n *\n * @typedef {{[setting:string]:any}} WPLinkControlSettingsValue\n */\n/* eslint-enable */\n\n/**\n * Custom settings values associated with a link.\n *\n * @typedef WPLinkControlSetting\n *\n * @property {string} id Identifier to use as property for setting value.\n * @property {string} title Human-readable label to show in user interface.\n */\n\n/**\n * Properties associated with a link control value, composed as a union of the\n * default properties and any custom settings values.\n *\n * @typedef {WPLinkControlDefaultValue&WPLinkControlSettingsValue} WPLinkControlValue\n */\n\n/** @typedef {(nextValue:WPLinkControlValue)=>void} WPLinkControlOnChangeProp */\n\n/**\n * Properties associated with a search suggestion used within the LinkControl.\n *\n * @typedef WPLinkControlSuggestion\n *\n * @property {string} id Identifier to use to uniquely identify the suggestion.\n * @property {string} type Identifies the type of the suggestion (eg: `post`,\n * `page`, `url`...etc)\n * @property {string} title Human-readable label to show in user interface.\n * @property {string} url A URL for the suggestion.\n */\n\n/** @typedef {(title:string)=>WPLinkControlSuggestion} WPLinkControlCreateSuggestionProp */\n\n/**\n * @typedef WPLinkControlProps\n *\n * @property {(WPLinkControlSetting[])=} settings An array of settings objects. Each object will used to\n * render a `ToggleControl` for that setting.\n * @property {boolean=} forceIsEditingLink If passed as either `true` or `false`, controls the\n * internal editing state of the component to respective\n * show or not show the URL input field.\n * @property {WPLinkControlValue=} value Current link value.\n * @property {WPLinkControlOnChangeProp=} onChange Value change handler, called with the updated value if\n * the user selects a new link or updates settings.\n * @property {boolean=} noDirectEntry Whether to allow turning a URL-like search query directly into a link.\n * @property {boolean=} showSuggestions Whether to present suggestions when typing the URL.\n * @property {boolean=} showInitialSuggestions Whether to present initial suggestions immediately.\n * @property {boolean=} withCreateSuggestion Whether to allow creation of link value from suggestion.\n * @property {Object=} suggestionsQuery Query parameters to pass along to wp.blockEditor.__experimentalFetchLinkSuggestions.\n * @property {boolean=} noURLSuggestion Whether to add a fallback suggestion which treats the search query as a URL.\n * @property {boolean=} hasTextControl Whether to add a text field to the UI to update the value.title.\n * @property {string|Function|undefined} createSuggestionButtonText The text to use in the button that calls createSuggestion.\n * @property {Function} renderControlBottom Optional controls to be rendered at the bottom of the component.\n */\n\nconst noop = () => {};\n\nconst PREFERENCE_SCOPE = 'core/block-editor';\nconst PREFERENCE_KEY = 'linkControlSettingsDrawer';\n\n/**\n * Renders a link control. A link control is a controlled input which maintains\n * a value associated with a link (HTML anchor element) and relevant settings\n * for how that link is expected to behave.\n *\n * @param {WPLinkControlProps} props Component props.\n */\nfunction LinkControl( {\n\tsearchInputPlaceholder,\n\tvalue,\n\tsettings = DEFAULT_LINK_SETTINGS,\n\tonChange = noop,\n\tonRemove,\n\tonCancel,\n\tnoDirectEntry = false,\n\tshowSuggestions = true,\n\tshowInitialSuggestions,\n\tforceIsEditingLink,\n\tcreateSuggestion,\n\twithCreateSuggestion,\n\tinputValue: propInputValue = '',\n\tsuggestionsQuery = {},\n\tnoURLSuggestion = false,\n\tcreateSuggestionButtonText,\n\thasRichPreviews = false,\n\thasTextControl = false,\n\trenderControlBottom = null,\n} ) {\n\tif ( withCreateSuggestion === undefined && createSuggestion ) {\n\t\twithCreateSuggestion = true;\n\t}\n\n\tconst [ settingsOpen, setSettingsOpen ] = useState( false );\n\n\tconst { advancedSettingsPreference } = useSelect( ( select ) => {\n\t\tconst prefsStore = select( preferencesStore );\n\n\t\treturn {\n\t\t\tadvancedSettingsPreference:\n\t\t\t\tprefsStore.get( PREFERENCE_SCOPE, PREFERENCE_KEY ) ?? false,\n\t\t};\n\t}, [] );\n\n\tconst { set: setPreference } = useDispatch( preferencesStore );\n\n\t/**\n\t * Sets the open/closed state of the Advanced Settings Drawer,\n\t * optionlly persisting the state to the user's preferences.\n\t *\n\t * Note that Block Editor components can be consumed by non-WordPress\n\t * environments which may not have preferences setup.\n\t * Therefore a local state is also used as a fallback.\n\t *\n\t * @param {boolean} prefVal the open/closed state of the Advanced Settings Drawer.\n\t */\n\tconst setSettingsOpenWithPreference = ( prefVal ) => {\n\t\tif ( setPreference ) {\n\t\t\tsetPreference( PREFERENCE_SCOPE, PREFERENCE_KEY, prefVal );\n\t\t}\n\t\tsetSettingsOpen( prefVal );\n\t};\n\n\t// Block Editor components can be consumed by non-WordPress environments\n\t// which may not have these preferences setup.\n\t// Therefore a local state is used as a fallback.\n\tconst isSettingsOpen = advancedSettingsPreference || settingsOpen;\n\n\tconst isMountingRef = useRef( true );\n\tconst wrapperNode = useRef();\n\tconst textInputRef = useRef();\n\tconst isEndingEditWithFocusRef = useRef( false );\n\n\tconst settingsKeys = settings.map( ( { id } ) => id );\n\n\tconst [\n\t\tinternalControlValue,\n\t\tsetInternalControlValue,\n\t\tsetInternalURLInputValue,\n\t\tsetInternalTextInputValue,\n\t\tcreateSetInternalSettingValueHandler,\n\t] = useInternalValue( value );\n\n\tconst valueHasChanges =\n\t\tvalue && ! isShallowEqualObjects( internalControlValue, value );\n\n\tconst [ isEditingLink, setIsEditingLink ] = useState(\n\t\tforceIsEditingLink !== undefined\n\t\t\t? forceIsEditingLink\n\t\t\t: ! value || ! value.url\n\t);\n\n\tconst { createPage, isCreatingPage, errorMessage } =\n\t\tuseCreatePage( createSuggestion );\n\n\tuseEffect( () => {\n\t\tif ( forceIsEditingLink === undefined ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetIsEditingLink( forceIsEditingLink );\n\t}, [ forceIsEditingLink ] );\n\n\tuseEffect( () => {\n\t\t// We don't auto focus into the Link UI on mount\n\t\t// because otherwise using the keyboard to select text\n\t\t// *within* the link format is not possible.\n\t\tif ( isMountingRef.current ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Scenario - when:\n\t\t// - switching between editable and non editable LinkControl\n\t\t// - clicking on a link\n\t\t// ...then move focus to the *first* element to avoid focus loss\n\t\t// and to ensure focus is *within* the Link UI.\n\t\tconst nextFocusTarget =\n\t\t\tfocus.focusable.find( wrapperNode.current )[ 0 ] ||\n\t\t\twrapperNode.current;\n\n\t\tnextFocusTarget.focus();\n\n\t\tisEndingEditWithFocusRef.current = false;\n\t}, [ isEditingLink, isCreatingPage ] );\n\n\t// The component mounting reference is maintained separately\n\t// to correctly reset values in `StrictMode`.\n\tuseEffect( () => {\n\t\tisMountingRef.current = false;\n\n\t\treturn () => {\n\t\t\tisMountingRef.current = true;\n\t\t};\n\t}, [] );\n\n\tconst hasLinkValue = value?.url?.trim()?.length > 0;\n\n\t/**\n\t * Cancels editing state and marks that focus may need to be restored after\n\t * the next render, if focus was within the wrapper when editing finished.\n\t */\n\tconst stopEditing = () => {\n\t\tisEndingEditWithFocusRef.current = !! wrapperNode.current?.contains(\n\t\t\twrapperNode.current.ownerDocument.activeElement\n\t\t);\n\n\t\tsetIsEditingLink( false );\n\t};\n\n\tconst handleSelectSuggestion = ( updatedValue ) => {\n\t\t// Suggestions may contains \"settings\" values (e.g. `opensInNewTab`)\n\t\t// which should not overide any existing settings values set by the\n\t\t// user. This filters out any settings values from the suggestion.\n\t\tconst nonSettingsChanges = Object.keys( updatedValue ).reduce(\n\t\t\t( acc, key ) => {\n\t\t\t\tif ( ! settingsKeys.includes( key ) ) {\n\t\t\t\t\tacc[ key ] = updatedValue[ key ];\n\t\t\t\t}\n\t\t\t\treturn acc;\n\t\t\t},\n\t\t\t{}\n\t\t);\n\n\t\tonChange( {\n\t\t\t...internalControlValue,\n\t\t\t...nonSettingsChanges,\n\t\t\t// As title is not a setting, it must be manually applied\n\t\t\t// in such a way as to preserve the users changes over\n\t\t\t// any \"title\" value provided by the \"suggestion\".\n\t\t\ttitle: internalControlValue?.title || updatedValue?.title,\n\t\t} );\n\n\t\tstopEditing();\n\t};\n\n\tconst handleSubmit = () => {\n\t\tif ( valueHasChanges ) {\n\t\t\t// Submit the original value with new stored values applied\n\t\t\t// on top. URL is a special case as it may also be a prop.\n\t\t\tonChange( {\n\t\t\t\t...value,\n\t\t\t\t...internalControlValue,\n\t\t\t\turl: currentUrlInputValue,\n\t\t\t} );\n\t\t}\n\t\tstopEditing();\n\t};\n\n\tconst handleSubmitWithEnter = ( event ) => {\n\t\tconst { keyCode } = event;\n\n\t\tif (\n\t\t\tkeyCode === ENTER &&\n\t\t\t! currentInputIsEmpty // Disallow submitting empty values.\n\t\t) {\n\t\t\tevent.preventDefault();\n\t\t\thandleSubmit();\n\t\t}\n\t};\n\n\tconst resetInternalValues = () => {\n\t\tsetInternalControlValue( value );\n\t};\n\n\tconst handleCancel = ( event ) => {\n\t\tevent.preventDefault();\n\t\tevent.stopPropagation();\n\n\t\t// Ensure that any unsubmitted input changes are reset.\n\t\tresetInternalValues();\n\n\t\tif ( hasLinkValue ) {\n\t\t\t// If there is a link then exist editing mode and show preview.\n\t\t\tstopEditing();\n\t\t} else {\n\t\t\t// If there is no link value, then remove the link entirely.\n\t\t\tonRemove?.();\n\t\t}\n\n\t\tonCancel?.();\n\t};\n\n\tconst currentUrlInputValue =\n\t\tpropInputValue || internalControlValue?.url || '';\n\n\tconst currentInputIsEmpty = ! currentUrlInputValue?.trim()?.length;\n\n\tconst shownUnlinkControl =\n\t\tonRemove && value && ! isEditingLink && ! isCreatingPage;\n\n\tconst showActions = isEditingLink && hasLinkValue;\n\n\t// Only show text control once a URL value has been committed\n\t// and it isn't just empty whitespace.\n\t// See https://github.com/WordPress/gutenberg/pull/33849/#issuecomment-932194927.\n\tconst showTextControl = hasLinkValue && hasTextControl;\n\n\tconst isEditing = ( isEditingLink || ! value ) && ! isCreatingPage;\n\tconst isDisabled = ! valueHasChanges || currentInputIsEmpty;\n\tconst showSettings = !! settings?.length && isEditingLink && hasLinkValue;\n\n\treturn (\n\t\t<div\n\t\t\ttabIndex={ -1 }\n\t\t\tref={ wrapperNode }\n\t\t\tclassName=\"block-editor-link-control\"\n\t\t>\n\t\t\t{ isCreatingPage && (\n\t\t\t\t<div className=\"block-editor-link-control__loading\">\n\t\t\t\t\t<Spinner /> { __( 'Creating' ) }…\n\t\t\t\t</div>\n\t\t\t) }\n\n\t\t\t{ isEditing && (\n\t\t\t\t<>\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t\t\t'block-editor-link-control__search-input-wrapper': true,\n\t\t\t\t\t\t\t'has-text-control': showTextControl,\n\t\t\t\t\t\t\t'has-actions': showActions,\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ showTextControl && (\n\t\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tref={ textInputRef }\n\t\t\t\t\t\t\t\tclassName=\"block-editor-link-control__field block-editor-link-control__text-content\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Text' ) }\n\t\t\t\t\t\t\t\tvalue={ internalControlValue?.title }\n\t\t\t\t\t\t\t\tonChange={ setInternalTextInputValue }\n\t\t\t\t\t\t\t\tonKeyDown={ handleSubmitWithEnter }\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<LinkControlSearchInput\n\t\t\t\t\t\t\tcurrentLink={ value }\n\t\t\t\t\t\t\tclassName=\"block-editor-link-control__field block-editor-link-control__search-input\"\n\t\t\t\t\t\t\tplaceholder={ searchInputPlaceholder }\n\t\t\t\t\t\t\tvalue={ currentUrlInputValue }\n\t\t\t\t\t\t\twithCreateSuggestion={ withCreateSuggestion }\n\t\t\t\t\t\t\tonCreateSuggestion={ createPage }\n\t\t\t\t\t\t\tonChange={ setInternalURLInputValue }\n\t\t\t\t\t\t\tonSelect={ handleSelectSuggestion }\n\t\t\t\t\t\t\tshowInitialSuggestions={ showInitialSuggestions }\n\t\t\t\t\t\t\tallowDirectEntry={ ! noDirectEntry }\n\t\t\t\t\t\t\tshowSuggestions={ showSuggestions }\n\t\t\t\t\t\t\tsuggestionsQuery={ suggestionsQuery }\n\t\t\t\t\t\t\twithURLSuggestion={ ! noURLSuggestion }\n\t\t\t\t\t\t\tcreateSuggestionButtonText={\n\t\t\t\t\t\t\t\tcreateSuggestionButtonText\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\thideLabelFromVision={ ! showTextControl }\n\t\t\t\t\t\t\tsuffix={\n\t\t\t\t\t\t\t\tshowActions ? undefined : (\n\t\t\t\t\t\t\t\t\t<InputControlSuffixWrapper variant=\"control\">\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tonClick={\n\t\t\t\t\t\t\t\t\t\t\t\tisDisabled ? noop : handleSubmit\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Submit' ) }\n\t\t\t\t\t\t\t\t\t\t\ticon={ keyboardReturn }\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"block-editor-link-control__search-submit\"\n\t\t\t\t\t\t\t\t\t\t\taria-disabled={ isDisabled }\n\t\t\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</InputControlSuffixWrapper>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tprops\n\t\t\t\t\t\t/>\n\t\t\t\t\t</div>\n\t\t\t\t\t{ errorMessage && (\n\t\t\t\t\t\t<Notice\n\t\t\t\t\t\t\tclassName=\"block-editor-link-control__search-error\"\n\t\t\t\t\t\t\tstatus=\"error\"\n\t\t\t\t\t\t\tisDismissible={ false }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ errorMessage }\n\t\t\t\t\t\t</Notice>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\n\t\t\t{ value && ! isEditingLink && ! isCreatingPage && (\n\t\t\t\t<LinkPreview\n\t\t\t\t\tkey={ value?.url } // force remount when URL changes to avoid race conditions for rich previews\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tonEditClick={ () => setIsEditingLink( true ) }\n\t\t\t\t\thasRichPreviews={ hasRichPreviews }\n\t\t\t\t\thasUnlinkControl={ shownUnlinkControl }\n\t\t\t\t\tonRemove={ () => {\n\t\t\t\t\t\tonRemove();\n\t\t\t\t\t\tsetIsEditingLink( true );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t{ showSettings && (\n\t\t\t\t<div className=\"block-editor-link-control__tools\">\n\t\t\t\t\t{ ! currentInputIsEmpty && (\n\t\t\t\t\t\t<LinkControlSettingsDrawer\n\t\t\t\t\t\t\tsettingsOpen={ isSettingsOpen }\n\t\t\t\t\t\t\tsetSettingsOpen={ setSettingsOpenWithPreference }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<LinkSettings\n\t\t\t\t\t\t\t\tvalue={ internalControlValue }\n\t\t\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\t\t\tonChange={ createSetInternalSettingValueHandler(\n\t\t\t\t\t\t\t\t\tsettingsKeys\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</LinkControlSettingsDrawer>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t) }\n\n\t\t\t{ showActions && (\n\t\t\t\t<HStack\n\t\t\t\t\tjustify=\"right\"\n\t\t\t\t\tclassName=\"block-editor-link-control__search-actions\"\n\t\t\t\t>\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ handleCancel }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ isDisabled ? noop : handleSubmit }\n\t\t\t\t\t\tclassName=\"block-editor-link-control__search-submit\"\n\t\t\t\t\t\taria-disabled={ isDisabled }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Save' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t) }\n\n\t\t\t{ ! isCreatingPage && renderControlBottom && renderControlBottom() }\n\t\t</div>\n\t);\n}\n\nLinkControl.ViewerFill = ViewerFill;\nLinkControl.DEFAULT_LINK_SETTINGS = DEFAULT_LINK_SETTINGS;\n\nexport default LinkControl;\n"],"mappings":"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","ignoreList":[]}
@@ -20,10 +20,8 @@ function LinkSettingsDrawer({
20
20
  const id = useInstanceId(LinkSettingsDrawer);
21
21
  const settingsDrawerId = `link-control-settings-drawer-${id}`;
22
22
  return /*#__PURE__*/_jsxs(_Fragment, {
23
- children: [/*#__PURE__*/_jsx(Button
24
- // TODO: Switch to `true` (40px size) if possible
25
- , {
26
- __next40pxDefaultSize: false,
23
+ children: [/*#__PURE__*/_jsx(Button, {
24
+ __next40pxDefaultSize: true,
27
25
  className: "block-editor-link-control__drawer-toggle",
28
26
  "aria-expanded": settingsOpen,
29
27
  onClick: () => setSettingsOpen(!settingsOpen),
@@ -1 +1 @@
1
- {"version":3,"names":["Button","__unstableMotion","motion","__unstableAnimatePresence","AnimatePresence","chevronLeftSmall","chevronRightSmall","useReducedMotion","useInstanceId","_x","isRTL","Fragment","jsx","_jsx","_Fragment","jsxs","_jsxs","LinkSettingsDrawer","children","settingsOpen","setSettingsOpen","prefersReducedMotion","MaybeAnimatePresence","MaybeMotionDiv","div","id","settingsDrawerId","__next40pxDefaultSize","className","onClick","icon","hidden","initial","animate","exit","variants","open","opacity","height","collapsed","transition","duration"],"sources":["@wordpress/block-editor/src/components/link-control/settings-drawer.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\t__unstableMotion as motion,\n\t__unstableAnimatePresence as AnimatePresence,\n} from '@wordpress/components';\nimport { chevronLeftSmall, chevronRightSmall } from '@wordpress/icons';\nimport { useReducedMotion, useInstanceId } from '@wordpress/compose';\nimport { _x, isRTL } from '@wordpress/i18n';\nimport { Fragment } from '@wordpress/element';\n\nfunction LinkSettingsDrawer( { children, settingsOpen, setSettingsOpen } ) {\n\tconst prefersReducedMotion = useReducedMotion();\n\tconst MaybeAnimatePresence = prefersReducedMotion\n\t\t? Fragment\n\t\t: AnimatePresence;\n\tconst MaybeMotionDiv = prefersReducedMotion ? 'div' : motion.div;\n\n\tconst id = useInstanceId( LinkSettingsDrawer );\n\n\tconst settingsDrawerId = `link-control-settings-drawer-${ id }`;\n\n\treturn (\n\t\t<>\n\t\t\t<Button\n\t\t\t\t// TODO: Switch to `true` (40px size) if possible\n\t\t\t\t__next40pxDefaultSize={ false }\n\t\t\t\tclassName=\"block-editor-link-control__drawer-toggle\"\n\t\t\t\taria-expanded={ settingsOpen }\n\t\t\t\tonClick={ () => setSettingsOpen( ! settingsOpen ) }\n\t\t\t\ticon={ isRTL() ? chevronLeftSmall : chevronRightSmall }\n\t\t\t\taria-controls={ settingsDrawerId }\n\t\t\t>\n\t\t\t\t{ _x( 'Advanced', 'Additional link settings' ) }\n\t\t\t</Button>\n\t\t\t<MaybeAnimatePresence>\n\t\t\t\t{ settingsOpen && (\n\t\t\t\t\t<MaybeMotionDiv\n\t\t\t\t\t\tclassName=\"block-editor-link-control__drawer\"\n\t\t\t\t\t\thidden={ ! settingsOpen }\n\t\t\t\t\t\tid={ settingsDrawerId }\n\t\t\t\t\t\tinitial=\"collapsed\"\n\t\t\t\t\t\tanimate=\"open\"\n\t\t\t\t\t\texit=\"collapsed\"\n\t\t\t\t\t\tvariants={ {\n\t\t\t\t\t\t\topen: { opacity: 1, height: 'auto' },\n\t\t\t\t\t\t\tcollapsed: { opacity: 0, height: 0 },\n\t\t\t\t\t\t} }\n\t\t\t\t\t\ttransition={ {\n\t\t\t\t\t\t\tduration: 0.1,\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"block-editor-link-control__drawer-inner\">\n\t\t\t\t\t\t\t{ children }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</MaybeMotionDiv>\n\t\t\t\t) }\n\t\t\t</MaybeAnimatePresence>\n\t\t</>\n\t);\n}\n\nexport default LinkSettingsDrawer;\n"],"mappings":"AAAA;AACA;AACA;AACA,SACCA,MAAM,EACNC,gBAAgB,IAAIC,MAAM,EAC1BC,yBAAyB,IAAIC,eAAe,QACtC,uBAAuB;AAC9B,SAASC,gBAAgB,EAAEC,iBAAiB,QAAQ,kBAAkB;AACtE,SAASC,gBAAgB,EAAEC,aAAa,QAAQ,oBAAoB;AACpE,SAASC,EAAE,EAAEC,KAAK,QAAQ,iBAAiB;AAC3C,SAASC,QAAQ,QAAQ,oBAAoB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAF,QAAA,IAAAG,SAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAE9C,SAASC,kBAAkBA,CAAE;EAAEC,QAAQ;EAAEC,YAAY;EAAEC;AAAgB,CAAC,EAAG;EAC1E,MAAMC,oBAAoB,GAAGd,gBAAgB,CAAC,CAAC;EAC/C,MAAMe,oBAAoB,GAAGD,oBAAoB,GAC9CV,QAAQ,GACRP,eAAe;EAClB,MAAMmB,cAAc,GAAGF,oBAAoB,GAAG,KAAK,GAAGnB,MAAM,CAACsB,GAAG;EAEhE,MAAMC,EAAE,GAAGjB,aAAa,CAAES,kBAAmB,CAAC;EAE9C,MAAMS,gBAAgB,GAAI,gCAAgCD,EAAI,EAAC;EAE/D,oBACCT,KAAA,CAAAF,SAAA;IAAAI,QAAA,gBACCL,IAAA,CAACb;IACA;IAAA;MACA2B,qBAAqB,EAAG,KAAO;MAC/BC,SAAS,EAAC,0CAA0C;MACpD,iBAAgBT,YAAc;MAC9BU,OAAO,EAAGA,CAAA,KAAMT,eAAe,CAAE,CAAED,YAAa,CAAG;MACnDW,IAAI,EAAGpB,KAAK,CAAC,CAAC,GAAGL,gBAAgB,GAAGC,iBAAmB;MACvD,iBAAgBoB,gBAAkB;MAAAR,QAAA,EAEhCT,EAAE,CAAE,UAAU,EAAE,0BAA2B;IAAC,CACvC,CAAC,eACTI,IAAA,CAACS,oBAAoB;MAAAJ,QAAA,EAClBC,YAAY,iBACbN,IAAA,CAACU,cAAc;QACdK,SAAS,EAAC,mCAAmC;QAC7CG,MAAM,EAAG,CAAEZ,YAAc;QACzBM,EAAE,EAAGC,gBAAkB;QACvBM,OAAO,EAAC,WAAW;QACnBC,OAAO,EAAC,MAAM;QACdC,IAAI,EAAC,WAAW;QAChBC,QAAQ,EAAG;UACVC,IAAI,EAAE;YAAEC,OAAO,EAAE,CAAC;YAAEC,MAAM,EAAE;UAAO,CAAC;UACpCC,SAAS,EAAE;YAAEF,OAAO,EAAE,CAAC;YAAEC,MAAM,EAAE;UAAE;QACpC,CAAG;QACHE,UAAU,EAAG;UACZC,QAAQ,EAAE;QACX,CAAG;QAAAvB,QAAA,eAEHL,IAAA;UAAKe,SAAS,EAAC,yCAAyC;UAAAV,QAAA,EACrDA;QAAQ,CACN;MAAC,CACS;IAChB,CACoB,CAAC;EAAA,CACtB,CAAC;AAEL;AAEA,eAAeD,kBAAkB","ignoreList":[]}
1
+ {"version":3,"names":["Button","__unstableMotion","motion","__unstableAnimatePresence","AnimatePresence","chevronLeftSmall","chevronRightSmall","useReducedMotion","useInstanceId","_x","isRTL","Fragment","jsx","_jsx","_Fragment","jsxs","_jsxs","LinkSettingsDrawer","children","settingsOpen","setSettingsOpen","prefersReducedMotion","MaybeAnimatePresence","MaybeMotionDiv","div","id","settingsDrawerId","__next40pxDefaultSize","className","onClick","icon","hidden","initial","animate","exit","variants","open","opacity","height","collapsed","transition","duration"],"sources":["@wordpress/block-editor/src/components/link-control/settings-drawer.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\t__unstableMotion as motion,\n\t__unstableAnimatePresence as AnimatePresence,\n} from '@wordpress/components';\nimport { chevronLeftSmall, chevronRightSmall } from '@wordpress/icons';\nimport { useReducedMotion, useInstanceId } from '@wordpress/compose';\nimport { _x, isRTL } from '@wordpress/i18n';\nimport { Fragment } from '@wordpress/element';\n\nfunction LinkSettingsDrawer( { children, settingsOpen, setSettingsOpen } ) {\n\tconst prefersReducedMotion = useReducedMotion();\n\tconst MaybeAnimatePresence = prefersReducedMotion\n\t\t? Fragment\n\t\t: AnimatePresence;\n\tconst MaybeMotionDiv = prefersReducedMotion ? 'div' : motion.div;\n\n\tconst id = useInstanceId( LinkSettingsDrawer );\n\n\tconst settingsDrawerId = `link-control-settings-drawer-${ id }`;\n\n\treturn (\n\t\t<>\n\t\t\t<Button\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tclassName=\"block-editor-link-control__drawer-toggle\"\n\t\t\t\taria-expanded={ settingsOpen }\n\t\t\t\tonClick={ () => setSettingsOpen( ! settingsOpen ) }\n\t\t\t\ticon={ isRTL() ? chevronLeftSmall : chevronRightSmall }\n\t\t\t\taria-controls={ settingsDrawerId }\n\t\t\t>\n\t\t\t\t{ _x( 'Advanced', 'Additional link settings' ) }\n\t\t\t</Button>\n\t\t\t<MaybeAnimatePresence>\n\t\t\t\t{ settingsOpen && (\n\t\t\t\t\t<MaybeMotionDiv\n\t\t\t\t\t\tclassName=\"block-editor-link-control__drawer\"\n\t\t\t\t\t\thidden={ ! settingsOpen }\n\t\t\t\t\t\tid={ settingsDrawerId }\n\t\t\t\t\t\tinitial=\"collapsed\"\n\t\t\t\t\t\tanimate=\"open\"\n\t\t\t\t\t\texit=\"collapsed\"\n\t\t\t\t\t\tvariants={ {\n\t\t\t\t\t\t\topen: { opacity: 1, height: 'auto' },\n\t\t\t\t\t\t\tcollapsed: { opacity: 0, height: 0 },\n\t\t\t\t\t\t} }\n\t\t\t\t\t\ttransition={ {\n\t\t\t\t\t\t\tduration: 0.1,\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"block-editor-link-control__drawer-inner\">\n\t\t\t\t\t\t\t{ children }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</MaybeMotionDiv>\n\t\t\t\t) }\n\t\t\t</MaybeAnimatePresence>\n\t\t</>\n\t);\n}\n\nexport default LinkSettingsDrawer;\n"],"mappings":"AAAA;AACA;AACA;AACA,SACCA,MAAM,EACNC,gBAAgB,IAAIC,MAAM,EAC1BC,yBAAyB,IAAIC,eAAe,QACtC,uBAAuB;AAC9B,SAASC,gBAAgB,EAAEC,iBAAiB,QAAQ,kBAAkB;AACtE,SAASC,gBAAgB,EAAEC,aAAa,QAAQ,oBAAoB;AACpE,SAASC,EAAE,EAAEC,KAAK,QAAQ,iBAAiB;AAC3C,SAASC,QAAQ,QAAQ,oBAAoB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAF,QAAA,IAAAG,SAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAE9C,SAASC,kBAAkBA,CAAE;EAAEC,QAAQ;EAAEC,YAAY;EAAEC;AAAgB,CAAC,EAAG;EAC1E,MAAMC,oBAAoB,GAAGd,gBAAgB,CAAC,CAAC;EAC/C,MAAMe,oBAAoB,GAAGD,oBAAoB,GAC9CV,QAAQ,GACRP,eAAe;EAClB,MAAMmB,cAAc,GAAGF,oBAAoB,GAAG,KAAK,GAAGnB,MAAM,CAACsB,GAAG;EAEhE,MAAMC,EAAE,GAAGjB,aAAa,CAAES,kBAAmB,CAAC;EAE9C,MAAMS,gBAAgB,GAAI,gCAAgCD,EAAI,EAAC;EAE/D,oBACCT,KAAA,CAAAF,SAAA;IAAAI,QAAA,gBACCL,IAAA,CAACb,MAAM;MACN2B,qBAAqB;MACrBC,SAAS,EAAC,0CAA0C;MACpD,iBAAgBT,YAAc;MAC9BU,OAAO,EAAGA,CAAA,KAAMT,eAAe,CAAE,CAAED,YAAa,CAAG;MACnDW,IAAI,EAAGpB,KAAK,CAAC,CAAC,GAAGL,gBAAgB,GAAGC,iBAAmB;MACvD,iBAAgBoB,gBAAkB;MAAAR,QAAA,EAEhCT,EAAE,CAAE,UAAU,EAAE,0BAA2B;IAAC,CACvC,CAAC,eACTI,IAAA,CAACS,oBAAoB;MAAAJ,QAAA,EAClBC,YAAY,iBACbN,IAAA,CAACU,cAAc;QACdK,SAAS,EAAC,mCAAmC;QAC7CG,MAAM,EAAG,CAAEZ,YAAc;QACzBM,EAAE,EAAGC,gBAAkB;QACvBM,OAAO,EAAC,WAAW;QACnBC,OAAO,EAAC,MAAM;QACdC,IAAI,EAAC,WAAW;QAChBC,QAAQ,EAAG;UACVC,IAAI,EAAE;YAAEC,OAAO,EAAE,CAAC;YAAEC,MAAM,EAAE;UAAO,CAAC;UACpCC,SAAS,EAAE;YAAEF,OAAO,EAAE,CAAC;YAAEC,MAAM,EAAE;UAAE;QACpC,CAAG;QACHE,UAAU,EAAG;UACZC,QAAQ,EAAE;QACX,CAAG;QAAAvB,QAAA,eAEHL,IAAA;UAAKe,SAAS,EAAC,yCAAyC;UAAAV,QAAA,EACrDA;QAAQ,CACN;MAAC,CACS;IAChB,CACoB,CAAC;EAAA,CACtB,CAAC;AAEL;AAEA,eAAeD,kBAAkB","ignoreList":[]}
@@ -6,7 +6,7 @@ import clsx from 'clsx';
6
6
  /**
7
7
  * WordPress dependencies
8
8
  */
9
- import { Button, __experimentalHStack as HStack, __experimentalTruncate as Truncate } from '@wordpress/components';
9
+ import { __experimentalHStack as HStack, __experimentalTruncate as Truncate } from '@wordpress/components';
10
10
  import { forwardRef } from '@wordpress/element';
11
11
  import { Icon, lockSmall as lock, pinSmall } from '@wordpress/icons';
12
12
  import { SPACE, ENTER } from '@wordpress/keycodes';
@@ -78,10 +78,7 @@ function ListViewBlockSelectButton({
78
78
  onClick(event);
79
79
  }
80
80
  }
81
- return /*#__PURE__*/_jsxs(Button
82
- // TODO: Switch to `true` (40px size) if possible
83
- , {
84
- __next40pxDefaultSize: false,
81
+ return /*#__PURE__*/_jsxs("a", {
85
82
  className: clsx('block-editor-list-view-block-select-button', className),
86
83
  onClick: onClick,
87
84
  onContextMenu: onContextMenu,
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","Button","__experimentalHStack","HStack","__experimentalTruncate","Truncate","forwardRef","Icon","lockSmall","lock","pinSmall","SPACE","ENTER","useSelect","BlockIcon","useBlockDisplayInformation","useBlockDisplayTitle","ListViewExpander","useBlockLock","useListViewImages","store","blockEditorStore","jsx","_jsx","jsxs","_jsxs","ListViewBlockSelectButton","className","block","clientId","onClick","onContextMenu","onMouseDown","onToggleExpanded","tabIndex","onFocus","onDragStart","onDragEnd","draggable","isExpanded","ariaDescribedBy","ref","blockInformation","blockTitle","context","isLocked","isContentOnly","select","getBlockEditingMode","shouldShowLockIcon","isSticky","positionType","images","onDragStartHandler","event","dataTransfer","clearData","onKeyDown","keyCode","__next40pxDefaultSize","href","children","icon","showColors","alignment","justify","spacing","ellipsizeMode","anchor","length","map","image","index","style","backgroundImage","url","zIndex"],"sources":["@wordpress/block-editor/src/components/list-view/block-select-button.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\t__experimentalHStack as HStack,\n\t__experimentalTruncate as Truncate,\n} from '@wordpress/components';\nimport { forwardRef } from '@wordpress/element';\nimport { Icon, lockSmall as lock, pinSmall } from '@wordpress/icons';\nimport { SPACE, ENTER } from '@wordpress/keycodes';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport BlockIcon from '../block-icon';\nimport useBlockDisplayInformation from '../use-block-display-information';\nimport useBlockDisplayTitle from '../block-title/use-block-display-title';\nimport ListViewExpander from './expander';\nimport { useBlockLock } from '../block-lock';\nimport useListViewImages from './use-list-view-images';\nimport { store as blockEditorStore } from '../../store';\n\nfunction ListViewBlockSelectButton(\n\t{\n\t\tclassName,\n\t\tblock: { clientId },\n\t\tonClick,\n\t\tonContextMenu,\n\t\tonMouseDown,\n\t\tonToggleExpanded,\n\t\ttabIndex,\n\t\tonFocus,\n\t\tonDragStart,\n\t\tonDragEnd,\n\t\tdraggable,\n\t\tisExpanded,\n\t\tariaDescribedBy,\n\t},\n\tref\n) {\n\tconst blockInformation = useBlockDisplayInformation( clientId );\n\tconst blockTitle = useBlockDisplayTitle( {\n\t\tclientId,\n\t\tcontext: 'list-view',\n\t} );\n\tconst { isLocked } = useBlockLock( clientId );\n\tconst { isContentOnly } = useSelect(\n\t\t( select ) => ( {\n\t\t\tisContentOnly:\n\t\t\t\tselect( blockEditorStore ).getBlockEditingMode( clientId ) ===\n\t\t\t\t'contentOnly',\n\t\t} ),\n\t\t[ clientId ]\n\t);\n\tconst shouldShowLockIcon = isLocked && ! isContentOnly;\n\tconst isSticky = blockInformation?.positionType === 'sticky';\n\tconst images = useListViewImages( { clientId, isExpanded } );\n\n\t// The `href` attribute triggers the browser's native HTML drag operations.\n\t// When the link is dragged, the element's outerHTML is set in DataTransfer object as text/html.\n\t// We need to clear any HTML drag data to prevent `pasteHandler` from firing\n\t// inside the `useOnBlockDrop` hook.\n\tconst onDragStartHandler = ( event ) => {\n\t\tevent.dataTransfer.clearData();\n\t\tonDragStart?.( event );\n\t};\n\n\t/**\n\t * @param {KeyboardEvent} event\n\t */\n\tfunction onKeyDown( event ) {\n\t\tif ( event.keyCode === ENTER || event.keyCode === SPACE ) {\n\t\t\tonClick( event );\n\t\t}\n\t}\n\n\treturn (\n\t\t<Button\n\t\t\t// TODO: Switch to `true` (40px size) if possible\n\t\t\t__next40pxDefaultSize={ false }\n\t\t\tclassName={ clsx(\n\t\t\t\t'block-editor-list-view-block-select-button',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t\tonClick={ onClick }\n\t\t\tonContextMenu={ onContextMenu }\n\t\t\tonKeyDown={ onKeyDown }\n\t\t\tonMouseDown={ onMouseDown }\n\t\t\tref={ ref }\n\t\t\ttabIndex={ tabIndex }\n\t\t\tonFocus={ onFocus }\n\t\t\tonDragStart={ onDragStartHandler }\n\t\t\tonDragEnd={ onDragEnd }\n\t\t\tdraggable={ draggable }\n\t\t\thref={ `#block-${ clientId }` }\n\t\t\taria-describedby={ ariaDescribedBy }\n\t\t\taria-expanded={ isExpanded }\n\t\t>\n\t\t\t<ListViewExpander onClick={ onToggleExpanded } />\n\t\t\t<BlockIcon\n\t\t\t\ticon={ blockInformation?.icon }\n\t\t\t\tshowColors\n\t\t\t\tcontext=\"list-view\"\n\t\t\t/>\n\t\t\t<HStack\n\t\t\t\talignment=\"center\"\n\t\t\t\tclassName=\"block-editor-list-view-block-select-button__label-wrapper\"\n\t\t\t\tjustify=\"flex-start\"\n\t\t\t\tspacing={ 1 }\n\t\t\t>\n\t\t\t\t<span className=\"block-editor-list-view-block-select-button__title\">\n\t\t\t\t\t<Truncate ellipsizeMode=\"auto\">{ blockTitle }</Truncate>\n\t\t\t\t</span>\n\t\t\t\t{ blockInformation?.anchor && (\n\t\t\t\t\t<span className=\"block-editor-list-view-block-select-button__anchor-wrapper\">\n\t\t\t\t\t\t<Truncate\n\t\t\t\t\t\t\tclassName=\"block-editor-list-view-block-select-button__anchor\"\n\t\t\t\t\t\t\tellipsizeMode=\"auto\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ blockInformation.anchor }\n\t\t\t\t\t\t</Truncate>\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t\t{ isSticky && (\n\t\t\t\t\t<span className=\"block-editor-list-view-block-select-button__sticky\">\n\t\t\t\t\t\t<Icon icon={ pinSmall } />\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t\t{ images.length ? (\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName=\"block-editor-list-view-block-select-button__images\"\n\t\t\t\t\t\taria-hidden\n\t\t\t\t\t>\n\t\t\t\t\t\t{ images.map( ( image, index ) => (\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tclassName=\"block-editor-list-view-block-select-button__image\"\n\t\t\t\t\t\t\t\tkey={ image.clientId }\n\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\tbackgroundImage: `url(${ image.url })`,\n\t\t\t\t\t\t\t\t\tzIndex: images.length - index, // Ensure the first image is on top, and subsequent images are behind.\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</span>\n\t\t\t\t) : null }\n\t\t\t\t{ shouldShowLockIcon && (\n\t\t\t\t\t<span className=\"block-editor-list-view-block-select-button__lock\">\n\t\t\t\t\t\t<Icon icon={ lock } />\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t</HStack>\n\t\t</Button>\n\t);\n}\n\nexport default forwardRef( ListViewBlockSelectButton );\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","__experimentalHStack","HStack","__experimentalTruncate","Truncate","forwardRef","Icon","lockSmall","lock","pinSmall","SPACE","ENTER","useSelect","BlockIcon","useBlockDisplayInformation","useBlockDisplayTitle","ListViewExpander","useBlockLock","useListViewImages","store","blockEditorStore","jsx","_jsx","jsxs","_jsxs","ListViewBlockSelectButton","className","block","clientId","onClick","onContextMenu","onMouseDown","onToggleExpanded","tabIndex","onFocus","onDragStart","onDragEnd","draggable","isExpanded","ariaDescribedBy","ref","blockInformation","blockTitle","context","isLocked","isContentOnly","select","getBlockEditingMode","shouldShowLockIcon","isSticky","positionType","images","onDragStartHandler","event","dataTransfer","clearData","onKeyDown","keyCode","href","children","icon","showColors","alignment","justify","spacing","ellipsizeMode","anchor","length","map","image","index","style","backgroundImage","url","zIndex"],"sources":["@wordpress/block-editor/src/components/list-view/block-select-button.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalTruncate as Truncate,\n} from '@wordpress/components';\nimport { forwardRef } from '@wordpress/element';\nimport { Icon, lockSmall as lock, pinSmall } from '@wordpress/icons';\nimport { SPACE, ENTER } from '@wordpress/keycodes';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport BlockIcon from '../block-icon';\nimport useBlockDisplayInformation from '../use-block-display-information';\nimport useBlockDisplayTitle from '../block-title/use-block-display-title';\nimport ListViewExpander from './expander';\nimport { useBlockLock } from '../block-lock';\nimport useListViewImages from './use-list-view-images';\nimport { store as blockEditorStore } from '../../store';\n\nfunction ListViewBlockSelectButton(\n\t{\n\t\tclassName,\n\t\tblock: { clientId },\n\t\tonClick,\n\t\tonContextMenu,\n\t\tonMouseDown,\n\t\tonToggleExpanded,\n\t\ttabIndex,\n\t\tonFocus,\n\t\tonDragStart,\n\t\tonDragEnd,\n\t\tdraggable,\n\t\tisExpanded,\n\t\tariaDescribedBy,\n\t},\n\tref\n) {\n\tconst blockInformation = useBlockDisplayInformation( clientId );\n\tconst blockTitle = useBlockDisplayTitle( {\n\t\tclientId,\n\t\tcontext: 'list-view',\n\t} );\n\tconst { isLocked } = useBlockLock( clientId );\n\tconst { isContentOnly } = useSelect(\n\t\t( select ) => ( {\n\t\t\tisContentOnly:\n\t\t\t\tselect( blockEditorStore ).getBlockEditingMode( clientId ) ===\n\t\t\t\t'contentOnly',\n\t\t} ),\n\t\t[ clientId ]\n\t);\n\tconst shouldShowLockIcon = isLocked && ! isContentOnly;\n\tconst isSticky = blockInformation?.positionType === 'sticky';\n\tconst images = useListViewImages( { clientId, isExpanded } );\n\n\t// The `href` attribute triggers the browser's native HTML drag operations.\n\t// When the link is dragged, the element's outerHTML is set in DataTransfer object as text/html.\n\t// We need to clear any HTML drag data to prevent `pasteHandler` from firing\n\t// inside the `useOnBlockDrop` hook.\n\tconst onDragStartHandler = ( event ) => {\n\t\tevent.dataTransfer.clearData();\n\t\tonDragStart?.( event );\n\t};\n\n\t/**\n\t * @param {KeyboardEvent} event\n\t */\n\tfunction onKeyDown( event ) {\n\t\tif ( event.keyCode === ENTER || event.keyCode === SPACE ) {\n\t\t\tonClick( event );\n\t\t}\n\t}\n\n\treturn (\n\t\t<a\n\t\t\tclassName={ clsx(\n\t\t\t\t'block-editor-list-view-block-select-button',\n\t\t\t\tclassName\n\t\t\t) }\n\t\t\tonClick={ onClick }\n\t\t\tonContextMenu={ onContextMenu }\n\t\t\tonKeyDown={ onKeyDown }\n\t\t\tonMouseDown={ onMouseDown }\n\t\t\tref={ ref }\n\t\t\ttabIndex={ tabIndex }\n\t\t\tonFocus={ onFocus }\n\t\t\tonDragStart={ onDragStartHandler }\n\t\t\tonDragEnd={ onDragEnd }\n\t\t\tdraggable={ draggable }\n\t\t\thref={ `#block-${ clientId }` }\n\t\t\taria-describedby={ ariaDescribedBy }\n\t\t\taria-expanded={ isExpanded }\n\t\t>\n\t\t\t<ListViewExpander onClick={ onToggleExpanded } />\n\t\t\t<BlockIcon\n\t\t\t\ticon={ blockInformation?.icon }\n\t\t\t\tshowColors\n\t\t\t\tcontext=\"list-view\"\n\t\t\t/>\n\t\t\t<HStack\n\t\t\t\talignment=\"center\"\n\t\t\t\tclassName=\"block-editor-list-view-block-select-button__label-wrapper\"\n\t\t\t\tjustify=\"flex-start\"\n\t\t\t\tspacing={ 1 }\n\t\t\t>\n\t\t\t\t<span className=\"block-editor-list-view-block-select-button__title\">\n\t\t\t\t\t<Truncate ellipsizeMode=\"auto\">{ blockTitle }</Truncate>\n\t\t\t\t</span>\n\t\t\t\t{ blockInformation?.anchor && (\n\t\t\t\t\t<span className=\"block-editor-list-view-block-select-button__anchor-wrapper\">\n\t\t\t\t\t\t<Truncate\n\t\t\t\t\t\t\tclassName=\"block-editor-list-view-block-select-button__anchor\"\n\t\t\t\t\t\t\tellipsizeMode=\"auto\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ blockInformation.anchor }\n\t\t\t\t\t\t</Truncate>\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t\t{ isSticky && (\n\t\t\t\t\t<span className=\"block-editor-list-view-block-select-button__sticky\">\n\t\t\t\t\t\t<Icon icon={ pinSmall } />\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t\t{ images.length ? (\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName=\"block-editor-list-view-block-select-button__images\"\n\t\t\t\t\t\taria-hidden\n\t\t\t\t\t>\n\t\t\t\t\t\t{ images.map( ( image, index ) => (\n\t\t\t\t\t\t\t<span\n\t\t\t\t\t\t\t\tclassName=\"block-editor-list-view-block-select-button__image\"\n\t\t\t\t\t\t\t\tkey={ image.clientId }\n\t\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\t\tbackgroundImage: `url(${ image.url })`,\n\t\t\t\t\t\t\t\t\tzIndex: images.length - index, // Ensure the first image is on top, and subsequent images are behind.\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</span>\n\t\t\t\t) : null }\n\t\t\t\t{ shouldShowLockIcon && (\n\t\t\t\t\t<span className=\"block-editor-list-view-block-select-button__lock\">\n\t\t\t\t\t\t<Icon icon={ lock } />\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t</HStack>\n\t\t</a>\n\t);\n}\n\nexport default forwardRef( ListViewBlockSelectButton );\n"],"mappings":"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","ignoreList":[]}
@@ -6,7 +6,7 @@ import clsx from 'clsx';
6
6
  /**
7
7
  * WordPress dependencies
8
8
  */
9
- import { Button, FormFileUpload, Placeholder, DropZone, withFilters } from '@wordpress/components';
9
+ import { Button, FormFileUpload, Placeholder, DropZone, __experimentalInputControl as InputControl, __experimentalInputControlSuffixWrapper as InputControlSuffixWrapper, withFilters } from '@wordpress/components';
10
10
  import { __ } from '@wordpress/i18n';
11
11
  import { useState, useEffect } from '@wordpress/element';
12
12
  import { useSelect } from '@wordpress/data';
@@ -34,25 +34,26 @@ const InsertFromURLPopover = ({
34
34
  }) => /*#__PURE__*/_jsx(URLPopover, {
35
35
  anchor: popoverAnchor,
36
36
  onClose: onClose,
37
- children: /*#__PURE__*/_jsxs("form", {
37
+ children: /*#__PURE__*/_jsx("form", {
38
38
  className: "block-editor-media-placeholder__url-input-form",
39
39
  onSubmit: onSubmit,
40
- children: [/*#__PURE__*/_jsx("input", {
41
- className: "block-editor-media-placeholder__url-input-field",
42
- type: "text",
43
- "aria-label": __('URL'),
40
+ children: /*#__PURE__*/_jsx(InputControl, {
41
+ __next40pxDefaultSize: true,
42
+ label: __('URL'),
43
+ hideLabelFromVision: true,
44
44
  placeholder: __('Paste or type URL'),
45
45
  onChange: onChange,
46
- value: src
47
- }), /*#__PURE__*/_jsx(Button
48
- // TODO: Switch to `true` (40px size) if possible
49
- , {
50
- __next40pxDefaultSize: false,
51
- className: "block-editor-media-placeholder__url-input-submit-button",
52
- icon: keyboardReturn,
53
- label: __('Apply'),
54
- type: "submit"
55
- })]
46
+ value: src,
47
+ suffix: /*#__PURE__*/_jsx(InputControlSuffixWrapper, {
48
+ variant: "control",
49
+ children: /*#__PURE__*/_jsx(Button, {
50
+ size: "small",
51
+ icon: keyboardReturn,
52
+ label: __('Apply'),
53
+ type: "submit"
54
+ })
55
+ })
56
+ })
56
57
  })
57
58
  });
58
59
  const URLSelectionUI = ({
@@ -80,10 +81,8 @@ const URLSelectionUI = ({
80
81
  };
81
82
  return /*#__PURE__*/_jsxs("div", {
82
83
  className: "block-editor-media-placeholder__url-input-container",
83
- children: [/*#__PURE__*/_jsx(Button
84
- // TODO: Switch to `true` (40px size) if possible
85
- , {
86
- __next40pxDefaultSize: false,
84
+ children: [/*#__PURE__*/_jsx(Button, {
85
+ __next40pxDefaultSize: true,
87
86
  className: "block-editor-media-placeholder__button",
88
87
  onClick: openURLInput,
89
88
  isPressed: isURLInputVisible,
@@ -151,9 +150,6 @@ export function MediaPlaceholder({
151
150
  }
152
151
  return allowedTypes.every(allowedType => allowedType === 'image' || allowedType.startsWith('image/'));
153
152
  };
154
- const onChangeSrc = event => {
155
- setSrc(event.target.value);
156
- };
157
153
  const onFilesUpload = files => {
158
154
  if (!handleUpload || typeof handleUpload === 'function' && !handleUpload(files)) {
159
155
  return onSelect(files);
@@ -318,10 +314,8 @@ export function MediaPlaceholder({
318
314
  });
319
315
  };
320
316
  const renderCancelLink = () => {
321
- return onCancel && /*#__PURE__*/_jsx(Button
322
- // TODO: Switch to `true` (40px size) if possible
323
- , {
324
- __next40pxDefaultSize: false,
317
+ return onCancel && /*#__PURE__*/_jsx(Button, {
318
+ __next40pxDefaultSize: true,
325
319
  className: "block-editor-media-placeholder__cancel-button",
326
320
  title: __('Cancel'),
327
321
  variant: "link",
@@ -332,17 +326,15 @@ export function MediaPlaceholder({
332
326
  const renderUrlSelectionUI = () => {
333
327
  return onSelectURL && /*#__PURE__*/_jsx(URLSelectionUI, {
334
328
  src: src,
335
- onChangeSrc: onChangeSrc,
329
+ onChangeSrc: setSrc,
336
330
  onSelectURL: onSelectURL
337
331
  });
338
332
  };
339
333
  const renderFeaturedImageToggle = () => {
340
334
  return onToggleFeaturedImage && /*#__PURE__*/_jsx("div", {
341
335
  className: "block-editor-media-placeholder__url-input-container",
342
- children: /*#__PURE__*/_jsx(Button
343
- // TODO: Switch to `true` (40px size) if possible
344
- , {
345
- __next40pxDefaultSize: false,
336
+ children: /*#__PURE__*/_jsx(Button, {
337
+ __next40pxDefaultSize: true,
346
338
  className: "block-editor-media-placeholder__button",
347
339
  onClick: onToggleFeaturedImage,
348
340
  variant: "secondary",
@@ -354,10 +346,8 @@ export function MediaPlaceholder({
354
346
  const defaultButton = ({
355
347
  open
356
348
  }) => {
357
- return /*#__PURE__*/_jsx(Button
358
- // TODO: Switch to `true` (40px size) if possible
359
- , {
360
- __next40pxDefaultSize: false,
349
+ return /*#__PURE__*/_jsx(Button, {
350
+ __next40pxDefaultSize: true,
361
351
  variant: "secondary",
362
352
  onClick: () => {
363
353
  open();
@@ -388,10 +378,8 @@ export function MediaPlaceholder({
388
378
  openFileDialog
389
379
  }) => {
390
380
  const content = /*#__PURE__*/_jsxs(_Fragment, {
391
- children: [/*#__PURE__*/_jsx(Button
392
- // TODO: Switch to `true` (40px size) if possible
393
- , {
394
- __next40pxDefaultSize: false,
381
+ children: [/*#__PURE__*/_jsx(Button, {
382
+ __next40pxDefaultSize: true,
395
383
  variant: "primary",
396
384
  className: clsx('block-editor-media-placeholder__button', 'block-editor-media-placeholder__upload-button'),
397
385
  onClick: openFileDialog,
@@ -408,10 +396,8 @@ export function MediaPlaceholder({
408
396
  children: [renderDropZone(), /*#__PURE__*/_jsx(FormFileUpload, {
409
397
  render: ({
410
398
  openFileDialog
411
- }) => /*#__PURE__*/_jsx(Button
412
- // TODO: Switch to `true` (40px size) if possible
413
- , {
414
- __next40pxDefaultSize: false,
399
+ }) => /*#__PURE__*/_jsx(Button, {
400
+ __next40pxDefaultSize: true,
415
401
  onClick: openFileDialog,
416
402
  variant: "primary",
417
403
  className: clsx('block-editor-media-placeholder__button', 'block-editor-media-placeholder__upload-button'),
@@ -1 +1 @@
1
- {"version":3,"names":["clsx","Button","FormFileUpload","Placeholder","DropZone","withFilters","__","useState","useEffect","useSelect","keyboardReturn","pasteHandler","deprecated","MediaUpload","MediaUploadCheck","URLPopover","store","blockEditorStore","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","noop","InsertFromURLPopover","src","onChange","onSubmit","onClose","popoverAnchor","anchor","children","className","type","placeholder","value","__next40pxDefaultSize","icon","label","URLSelectionUI","onChangeSrc","onSelectURL","setPopoverAnchor","isURLInputVisible","setIsURLInputVisible","openURLInput","closeURLInput","focus","onSubmitSrc","event","preventDefault","onClick","isPressed","variant","ref","MediaPlaceholder","allowedTypes","labels","mediaPreview","notices","isAppender","accept","addToGallery","multiple","handleUpload","disableDropZone","disableMediaButtons","onError","onSelect","onCancel","onToggleFeaturedImage","onDoubleClick","onFilesPreUpload","onHTMLDrop","deprecatedOnHTMLDrop","mediaLibraryButton","style","since","version","mediaUpload","select","getSettings","setSrc","_value$src","onlyAllowsImages","length","every","allowedType","startsWith","target","onFilesUpload","files","setMedia","lastMediaPassed","newMedia","filteredMedia","filter","item","id","some","Number","urlSlug","url","includes","concat","map","media","cutOffIndex","lastIndexOf","slice","filesList","onFileChange","handleBlocksDrop","blocks","Array","isArray","recursivelyFindMediaFromBlocks","_blocks","flatMap","block","name","attributes","innerBlocks","mediaBlocks","uploadedMediaList","Promise","all","resolve","reject","window","fetch","then","response","blob","additionalData","title","alt_text","alt","caption","catch","err","HTML","onUpload","defaultRenderPlaceholder","content","instructions","undefined","typesAllowed","firstAllowedType","isOneType","isAudio","isImage","isVideo","placeholderClassName","preview","renderPlaceholder","renderDropZone","onFilesDrop","renderCancelLink","renderUrlSelectionUI","renderFeaturedImageToggle","renderMediaUploadChecked","defaultButton","open","libraryButton","uploadMediaLibraryButton","gallery","mode","render","openFileDialog","fallback"],"sources":["@wordpress/block-editor/src/components/media-placeholder/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tFormFileUpload,\n\tPlaceholder,\n\tDropZone,\n\twithFilters,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useEffect } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { keyboardReturn } from '@wordpress/icons';\nimport { pasteHandler } from '@wordpress/blocks';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport MediaUpload from '../media-upload';\nimport MediaUploadCheck from '../media-upload/check';\nimport URLPopover from '../url-popover';\nimport { store as blockEditorStore } from '../../store';\n\nconst noop = () => {};\n\nconst InsertFromURLPopover = ( {\n\tsrc,\n\tonChange,\n\tonSubmit,\n\tonClose,\n\tpopoverAnchor,\n} ) => (\n\t<URLPopover anchor={ popoverAnchor } onClose={ onClose }>\n\t\t<form\n\t\t\tclassName=\"block-editor-media-placeholder__url-input-form\"\n\t\t\tonSubmit={ onSubmit }\n\t\t>\n\t\t\t<input\n\t\t\t\tclassName=\"block-editor-media-placeholder__url-input-field\"\n\t\t\t\ttype=\"text\"\n\t\t\t\taria-label={ __( 'URL' ) }\n\t\t\t\tplaceholder={ __( 'Paste or type URL' ) }\n\t\t\t\tonChange={ onChange }\n\t\t\t\tvalue={ src }\n\t\t\t/>\n\t\t\t<Button\n\t\t\t\t// TODO: Switch to `true` (40px size) if possible\n\t\t\t\t__next40pxDefaultSize={ false }\n\t\t\t\tclassName=\"block-editor-media-placeholder__url-input-submit-button\"\n\t\t\t\ticon={ keyboardReturn }\n\t\t\t\tlabel={ __( 'Apply' ) }\n\t\t\t\ttype=\"submit\"\n\t\t\t/>\n\t\t</form>\n\t</URLPopover>\n);\n\nconst URLSelectionUI = ( { src, onChangeSrc, onSelectURL } ) => {\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\tconst [ isURLInputVisible, setIsURLInputVisible ] = useState( false );\n\n\tconst openURLInput = () => {\n\t\tsetIsURLInputVisible( true );\n\t};\n\tconst closeURLInput = () => {\n\t\tsetIsURLInputVisible( false );\n\t\tpopoverAnchor?.focus();\n\t};\n\n\tconst onSubmitSrc = ( event ) => {\n\t\tevent.preventDefault();\n\t\tif ( src && onSelectURL ) {\n\t\t\tonSelectURL( src );\n\t\t\tcloseURLInput();\n\t\t}\n\t};\n\n\treturn (\n\t\t<div className=\"block-editor-media-placeholder__url-input-container\">\n\t\t\t<Button\n\t\t\t\t// TODO: Switch to `true` (40px size) if possible\n\t\t\t\t__next40pxDefaultSize={ false }\n\t\t\t\tclassName=\"block-editor-media-placeholder__button\"\n\t\t\t\tonClick={ openURLInput }\n\t\t\t\tisPressed={ isURLInputVisible }\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\taria-haspopup=\"dialog\"\n\t\t\t\tref={ setPopoverAnchor }\n\t\t\t>\n\t\t\t\t{ __( 'Insert from URL' ) }\n\t\t\t</Button>\n\t\t\t{ isURLInputVisible && (\n\t\t\t\t<InsertFromURLPopover\n\t\t\t\t\tsrc={ src }\n\t\t\t\t\tonChange={ onChangeSrc }\n\t\t\t\t\tonSubmit={ onSubmitSrc }\n\t\t\t\t\tonClose={ closeURLInput }\n\t\t\t\t\tpopoverAnchor={ popoverAnchor }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n};\n\nexport function MediaPlaceholder( {\n\tvalue = {},\n\tallowedTypes,\n\tclassName,\n\ticon,\n\tlabels = {},\n\tmediaPreview,\n\tnotices,\n\tisAppender,\n\taccept,\n\taddToGallery,\n\tmultiple = false,\n\thandleUpload = true,\n\tdisableDropZone,\n\tdisableMediaButtons,\n\tonError,\n\tonSelect,\n\tonCancel,\n\tonSelectURL,\n\tonToggleFeaturedImage,\n\tonDoubleClick,\n\tonFilesPreUpload = noop,\n\tonHTMLDrop: deprecatedOnHTMLDrop,\n\tchildren,\n\tmediaLibraryButton,\n\tplaceholder,\n\tstyle,\n} ) {\n\tif ( deprecatedOnHTMLDrop ) {\n\t\tdeprecated( 'wp.blockEditor.MediaPlaceholder onHTMLDrop prop', {\n\t\t\tsince: '6.2',\n\t\t\tversion: '6.4',\n\t\t} );\n\t}\n\n\tconst mediaUpload = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn getSettings().mediaUpload;\n\t}, [] );\n\tconst [ src, setSrc ] = useState( '' );\n\n\tuseEffect( () => {\n\t\tsetSrc( value?.src ?? '' );\n\t}, [ value?.src ] );\n\n\tconst onlyAllowsImages = () => {\n\t\tif ( ! allowedTypes || allowedTypes.length === 0 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn allowedTypes.every(\n\t\t\t( allowedType ) =>\n\t\t\t\tallowedType === 'image' || allowedType.startsWith( 'image/' )\n\t\t);\n\t};\n\n\tconst onChangeSrc = ( event ) => {\n\t\tsetSrc( event.target.value );\n\t};\n\n\tconst onFilesUpload = ( files ) => {\n\t\tif (\n\t\t\t! handleUpload ||\n\t\t\t( typeof handleUpload === 'function' && ! handleUpload( files ) )\n\t\t) {\n\t\t\treturn onSelect( files );\n\t\t}\n\t\tonFilesPreUpload( files );\n\t\tlet setMedia;\n\t\tif ( multiple ) {\n\t\t\tif ( addToGallery ) {\n\t\t\t\t// Since the setMedia function runs multiple times per upload group\n\t\t\t\t// and is passed newMedia containing every item in its group each time, we must\n\t\t\t\t// filter out whatever this upload group had previously returned to the\n\t\t\t\t// gallery before adding and returning the image array with replacement newMedia\n\t\t\t\t// values.\n\n\t\t\t\t// Define an array to store urls from newMedia between subsequent function calls.\n\t\t\t\tlet lastMediaPassed = [];\n\t\t\t\tsetMedia = ( newMedia ) => {\n\t\t\t\t\t// Remove any images this upload group is responsible for (lastMediaPassed).\n\t\t\t\t\t// Their replacements are contained in newMedia.\n\t\t\t\t\tconst filteredMedia = ( value ?? [] ).filter( ( item ) => {\n\t\t\t\t\t\t// If Item has id, only remove it if lastMediaPassed has an item with that id.\n\t\t\t\t\t\tif ( item.id ) {\n\t\t\t\t\t\t\treturn ! lastMediaPassed.some(\n\t\t\t\t\t\t\t\t// Be sure to convert to number for comparison.\n\t\t\t\t\t\t\t\t( { id } ) => Number( id ) === Number( item.id )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// Compare transient images via .includes since gallery may append extra info onto the url.\n\t\t\t\t\t\treturn ! lastMediaPassed.some( ( { urlSlug } ) =>\n\t\t\t\t\t\t\titem.url.includes( urlSlug )\n\t\t\t\t\t\t);\n\t\t\t\t\t} );\n\t\t\t\t\t// Return the filtered media array along with newMedia.\n\t\t\t\t\tonSelect( filteredMedia.concat( newMedia ) );\n\t\t\t\t\t// Reset lastMediaPassed and set it with ids and urls from newMedia.\n\t\t\t\t\tlastMediaPassed = newMedia.map( ( media ) => {\n\t\t\t\t\t\t// Add everything up to '.fileType' to compare via .includes.\n\t\t\t\t\t\tconst cutOffIndex = media.url.lastIndexOf( '.' );\n\t\t\t\t\t\tconst urlSlug = media.url.slice( 0, cutOffIndex );\n\t\t\t\t\t\treturn { id: media.id, urlSlug };\n\t\t\t\t\t} );\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tsetMedia = onSelect;\n\t\t\t}\n\t\t} else {\n\t\t\tsetMedia = ( [ media ] ) => onSelect( media );\n\t\t}\n\t\tmediaUpload( {\n\t\t\tallowedTypes,\n\t\t\tfilesList: files,\n\t\t\tonFileChange: setMedia,\n\t\t\tonError,\n\t\t} );\n\t};\n\n\tasync function handleBlocksDrop( blocks ) {\n\t\tif ( ! blocks || ! Array.isArray( blocks ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfunction recursivelyFindMediaFromBlocks( _blocks ) {\n\t\t\treturn _blocks.flatMap( ( block ) =>\n\t\t\t\t( block.name === 'core/image' ||\n\t\t\t\t\tblock.name === 'core/audio' ||\n\t\t\t\t\tblock.name === 'core/video' ) &&\n\t\t\t\tblock.attributes.url\n\t\t\t\t\t? [ block ]\n\t\t\t\t\t: recursivelyFindMediaFromBlocks( block.innerBlocks )\n\t\t\t);\n\t\t}\n\n\t\tconst mediaBlocks = recursivelyFindMediaFromBlocks( blocks );\n\n\t\tif ( ! mediaBlocks.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst uploadedMediaList = await Promise.all(\n\t\t\tmediaBlocks.map( ( block ) =>\n\t\t\t\tblock.attributes.id\n\t\t\t\t\t? block.attributes\n\t\t\t\t\t: new Promise( ( resolve, reject ) => {\n\t\t\t\t\t\t\twindow\n\t\t\t\t\t\t\t\t.fetch( block.attributes.url )\n\t\t\t\t\t\t\t\t.then( ( response ) => response.blob() )\n\t\t\t\t\t\t\t\t.then( ( blob ) =>\n\t\t\t\t\t\t\t\t\tmediaUpload( {\n\t\t\t\t\t\t\t\t\t\tfilesList: [ blob ],\n\t\t\t\t\t\t\t\t\t\tadditionalData: {\n\t\t\t\t\t\t\t\t\t\t\ttitle: block.attributes.title,\n\t\t\t\t\t\t\t\t\t\t\talt_text: block.attributes.alt,\n\t\t\t\t\t\t\t\t\t\t\tcaption: block.attributes.caption,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tonFileChange: ( [ media ] ) => {\n\t\t\t\t\t\t\t\t\t\t\tif ( media.id ) {\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( media );\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tallowedTypes,\n\t\t\t\t\t\t\t\t\t\tonError: reject,\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t.catch( () => resolve( block.attributes.url ) );\n\t\t\t\t\t } )\n\t\t\t)\n\t\t).catch( ( err ) => onError( err ) );\n\n\t\tif ( multiple ) {\n\t\t\tonSelect( uploadedMediaList );\n\t\t} else {\n\t\t\tonSelect( uploadedMediaList[ 0 ] );\n\t\t}\n\t}\n\n\tasync function onHTMLDrop( HTML ) {\n\t\tconst blocks = pasteHandler( { HTML } );\n\t\treturn await handleBlocksDrop( blocks );\n\t}\n\n\tconst onUpload = ( event ) => {\n\t\tonFilesUpload( event.target.files );\n\t};\n\n\tconst defaultRenderPlaceholder = ( content ) => {\n\t\tlet { instructions, title } = labels;\n\n\t\tif ( ! mediaUpload && ! onSelectURL ) {\n\t\t\tinstructions = __(\n\t\t\t\t'To edit this block, you need permission to upload media.'\n\t\t\t);\n\t\t}\n\n\t\tif ( instructions === undefined || title === undefined ) {\n\t\t\tconst typesAllowed = allowedTypes ?? [];\n\n\t\t\tconst [ firstAllowedType ] = typesAllowed;\n\t\t\tconst isOneType = 1 === typesAllowed.length;\n\t\t\tconst isAudio = isOneType && 'audio' === firstAllowedType;\n\t\t\tconst isImage = isOneType && 'image' === firstAllowedType;\n\t\t\tconst isVideo = isOneType && 'video' === firstAllowedType;\n\n\t\t\tif ( instructions === undefined && mediaUpload ) {\n\t\t\t\tinstructions = __(\n\t\t\t\t\t'Upload a media file or pick one from your media library.'\n\t\t\t\t);\n\n\t\t\t\tif ( isAudio ) {\n\t\t\t\t\tinstructions = __(\n\t\t\t\t\t\t'Upload or drag an audio file here, or pick one from your library.'\n\t\t\t\t\t);\n\t\t\t\t} else if ( isImage ) {\n\t\t\t\t\tinstructions = __(\n\t\t\t\t\t\t'Upload or drag an image file here, or pick one from your library.'\n\t\t\t\t\t);\n\t\t\t\t} else if ( isVideo ) {\n\t\t\t\t\tinstructions = __(\n\t\t\t\t\t\t'Upload or drag a video file here, or pick one from your library.'\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( title === undefined ) {\n\t\t\t\ttitle = __( 'Media' );\n\n\t\t\t\tif ( isAudio ) {\n\t\t\t\t\ttitle = __( 'Audio' );\n\t\t\t\t} else if ( isImage ) {\n\t\t\t\t\ttitle = __( 'Image' );\n\t\t\t\t} else if ( isVideo ) {\n\t\t\t\t\ttitle = __( 'Video' );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tconst placeholderClassName = clsx(\n\t\t\t'block-editor-media-placeholder',\n\t\t\tclassName,\n\t\t\t{\n\t\t\t\t'is-appender': isAppender,\n\t\t\t}\n\t\t);\n\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\ticon={ icon }\n\t\t\t\tlabel={ title }\n\t\t\t\tinstructions={ instructions }\n\t\t\t\tclassName={ placeholderClassName }\n\t\t\t\tnotices={ notices }\n\t\t\t\tonDoubleClick={ onDoubleClick }\n\t\t\t\tpreview={ mediaPreview }\n\t\t\t\tstyle={ style }\n\t\t\t>\n\t\t\t\t{ content }\n\t\t\t\t{ children }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\tconst renderPlaceholder = placeholder ?? defaultRenderPlaceholder;\n\n\tconst renderDropZone = () => {\n\t\tif ( disableDropZone ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<DropZone onFilesDrop={ onFilesUpload } onHTMLDrop={ onHTMLDrop } />\n\t\t);\n\t};\n\n\tconst renderCancelLink = () => {\n\t\treturn (\n\t\t\tonCancel && (\n\t\t\t\t<Button\n\t\t\t\t\t// TODO: Switch to `true` (40px size) if possible\n\t\t\t\t\t__next40pxDefaultSize={ false }\n\t\t\t\t\tclassName=\"block-editor-media-placeholder__cancel-button\"\n\t\t\t\t\ttitle={ __( 'Cancel' ) }\n\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\tonClick={ onCancel }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t</Button>\n\t\t\t)\n\t\t);\n\t};\n\n\tconst renderUrlSelectionUI = () => {\n\t\treturn (\n\t\t\tonSelectURL && (\n\t\t\t\t<URLSelectionUI\n\t\t\t\t\tsrc={ src }\n\t\t\t\t\tonChangeSrc={ onChangeSrc }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t/>\n\t\t\t)\n\t\t);\n\t};\n\n\tconst renderFeaturedImageToggle = () => {\n\t\treturn (\n\t\t\tonToggleFeaturedImage && (\n\t\t\t\t<div className=\"block-editor-media-placeholder__url-input-container\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\t// TODO: Switch to `true` (40px size) if possible\n\t\t\t\t\t\t__next40pxDefaultSize={ false }\n\t\t\t\t\t\tclassName=\"block-editor-media-placeholder__button\"\n\t\t\t\t\t\tonClick={ onToggleFeaturedImage }\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Use featured image' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t)\n\t\t);\n\t};\n\n\tconst renderMediaUploadChecked = () => {\n\t\tconst defaultButton = ( { open } ) => {\n\t\t\treturn (\n\t\t\t\t<Button\n\t\t\t\t\t// TODO: Switch to `true` (40px size) if possible\n\t\t\t\t\t__next40pxDefaultSize={ false }\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\topen();\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Media Library' ) }\n\t\t\t\t</Button>\n\t\t\t);\n\t\t};\n\t\tconst libraryButton = mediaLibraryButton ?? defaultButton;\n\t\tconst uploadMediaLibraryButton = (\n\t\t\t<MediaUpload\n\t\t\t\taddToGallery={ addToGallery }\n\t\t\t\tgallery={ multiple && onlyAllowsImages() }\n\t\t\t\tmultiple={ multiple }\n\t\t\t\tonSelect={ onSelect }\n\t\t\t\tallowedTypes={ allowedTypes }\n\t\t\t\tmode=\"browse\"\n\t\t\t\tvalue={\n\t\t\t\t\tArray.isArray( value )\n\t\t\t\t\t\t? value.map( ( { id } ) => id )\n\t\t\t\t\t\t: value.id\n\t\t\t\t}\n\t\t\t\trender={ libraryButton }\n\t\t\t/>\n\t\t);\n\n\t\tif ( mediaUpload && isAppender ) {\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t{ renderDropZone() }\n\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\tonChange={ onUpload }\n\t\t\t\t\t\taccept={ accept }\n\t\t\t\t\t\tmultiple={ !! multiple }\n\t\t\t\t\t\trender={ ( { openFileDialog } ) => {\n\t\t\t\t\t\t\tconst content = (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t// TODO: Switch to `true` (40px size) if possible\n\t\t\t\t\t\t\t\t\t\t__next40pxDefaultSize={ false }\n\t\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t\t\t'block-editor-media-placeholder__button',\n\t\t\t\t\t\t\t\t\t\t\t'block-editor-media-placeholder__upload-button'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tonClick={ openFileDialog }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Upload' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t{ uploadMediaLibraryButton }\n\t\t\t\t\t\t\t\t\t{ renderUrlSelectionUI() }\n\t\t\t\t\t\t\t\t\t{ renderFeaturedImageToggle() }\n\t\t\t\t\t\t\t\t\t{ renderCancelLink() }\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\treturn renderPlaceholder( content );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t);\n\t\t}\n\n\t\tif ( mediaUpload ) {\n\t\t\tconst content = (\n\t\t\t\t<>\n\t\t\t\t\t{ renderDropZone() }\n\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\trender={ ( { openFileDialog } ) => (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t// TODO: Switch to `true` (40px size) if possible\n\t\t\t\t\t\t\t\t__next40pxDefaultSize={ false }\n\t\t\t\t\t\t\t\tonClick={ openFileDialog }\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t'block-editor-media-placeholder__button',\n\t\t\t\t\t\t\t\t\t'block-editor-media-placeholder__upload-button'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Upload' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tonChange={ onUpload }\n\t\t\t\t\t\taccept={ accept }\n\t\t\t\t\t\tmultiple={ !! multiple }\n\t\t\t\t\t/>\n\t\t\t\t\t{ uploadMediaLibraryButton }\n\t\t\t\t\t{ renderUrlSelectionUI() }\n\t\t\t\t\t{ renderFeaturedImageToggle() }\n\t\t\t\t\t{ renderCancelLink() }\n\t\t\t\t</>\n\t\t\t);\n\t\t\treturn renderPlaceholder( content );\n\t\t}\n\n\t\treturn renderPlaceholder( uploadMediaLibraryButton );\n\t};\n\n\tif ( disableMediaButtons ) {\n\t\treturn <MediaUploadCheck>{ renderDropZone() }</MediaUploadCheck>;\n\t}\n\n\treturn (\n\t\t<MediaUploadCheck\n\t\t\tfallback={ renderPlaceholder( renderUrlSelectionUI() ) }\n\t\t>\n\t\t\t{ renderMediaUploadChecked() }\n\t\t</MediaUploadCheck>\n\t);\n}\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/media-placeholder/README.md\n */\nexport default withFilters( 'editor.MediaPlaceholder' )( MediaPlaceholder );\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["clsx","Button","FormFileUpload","Placeholder","DropZone","__experimentalInputControl","InputControl","__experimentalInputControlSuffixWrapper","InputControlSuffixWrapper","withFilters","__","useState","useEffect","useSelect","keyboardReturn","pasteHandler","deprecated","MediaUpload","MediaUploadCheck","URLPopover","store","blockEditorStore","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","noop","InsertFromURLPopover","src","onChange","onSubmit","onClose","popoverAnchor","anchor","children","className","__next40pxDefaultSize","label","hideLabelFromVision","placeholder","value","suffix","variant","size","icon","type","URLSelectionUI","onChangeSrc","onSelectURL","setPopoverAnchor","isURLInputVisible","setIsURLInputVisible","openURLInput","closeURLInput","focus","onSubmitSrc","event","preventDefault","onClick","isPressed","ref","MediaPlaceholder","allowedTypes","labels","mediaPreview","notices","isAppender","accept","addToGallery","multiple","handleUpload","disableDropZone","disableMediaButtons","onError","onSelect","onCancel","onToggleFeaturedImage","onDoubleClick","onFilesPreUpload","onHTMLDrop","deprecatedOnHTMLDrop","mediaLibraryButton","style","since","version","mediaUpload","select","getSettings","setSrc","_value$src","onlyAllowsImages","length","every","allowedType","startsWith","onFilesUpload","files","setMedia","lastMediaPassed","newMedia","filteredMedia","filter","item","id","some","Number","urlSlug","url","includes","concat","map","media","cutOffIndex","lastIndexOf","slice","filesList","onFileChange","handleBlocksDrop","blocks","Array","isArray","recursivelyFindMediaFromBlocks","_blocks","flatMap","block","name","attributes","innerBlocks","mediaBlocks","uploadedMediaList","Promise","all","resolve","reject","window","fetch","then","response","blob","additionalData","title","alt_text","alt","caption","catch","err","HTML","onUpload","target","defaultRenderPlaceholder","content","instructions","undefined","typesAllowed","firstAllowedType","isOneType","isAudio","isImage","isVideo","placeholderClassName","preview","renderPlaceholder","renderDropZone","onFilesDrop","renderCancelLink","renderUrlSelectionUI","renderFeaturedImageToggle","renderMediaUploadChecked","defaultButton","open","libraryButton","uploadMediaLibraryButton","gallery","mode","render","openFileDialog","fallback"],"sources":["@wordpress/block-editor/src/components/media-placeholder/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tFormFileUpload,\n\tPlaceholder,\n\tDropZone,\n\t__experimentalInputControl as InputControl,\n\t__experimentalInputControlSuffixWrapper as InputControlSuffixWrapper,\n\twithFilters,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useEffect } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { keyboardReturn } from '@wordpress/icons';\nimport { pasteHandler } from '@wordpress/blocks';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport MediaUpload from '../media-upload';\nimport MediaUploadCheck from '../media-upload/check';\nimport URLPopover from '../url-popover';\nimport { store as blockEditorStore } from '../../store';\n\nconst noop = () => {};\n\nconst InsertFromURLPopover = ( {\n\tsrc,\n\tonChange,\n\tonSubmit,\n\tonClose,\n\tpopoverAnchor,\n} ) => (\n\t<URLPopover anchor={ popoverAnchor } onClose={ onClose }>\n\t\t<form\n\t\t\tclassName=\"block-editor-media-placeholder__url-input-form\"\n\t\t\tonSubmit={ onSubmit }\n\t\t>\n\t\t\t<InputControl\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tlabel={ __( 'URL' ) }\n\t\t\t\thideLabelFromVision\n\t\t\t\tplaceholder={ __( 'Paste or type URL' ) }\n\t\t\t\tonChange={ onChange }\n\t\t\t\tvalue={ src }\n\t\t\t\tsuffix={\n\t\t\t\t\t<InputControlSuffixWrapper variant=\"control\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\ticon={ keyboardReturn }\n\t\t\t\t\t\t\tlabel={ __( 'Apply' ) }\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</InputControlSuffixWrapper>\n\t\t\t\t}\n\t\t\t/>\n\t\t</form>\n\t</URLPopover>\n);\n\nconst URLSelectionUI = ( { src, onChangeSrc, onSelectURL } ) => {\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\tconst [ isURLInputVisible, setIsURLInputVisible ] = useState( false );\n\n\tconst openURLInput = () => {\n\t\tsetIsURLInputVisible( true );\n\t};\n\tconst closeURLInput = () => {\n\t\tsetIsURLInputVisible( false );\n\t\tpopoverAnchor?.focus();\n\t};\n\n\tconst onSubmitSrc = ( event ) => {\n\t\tevent.preventDefault();\n\t\tif ( src && onSelectURL ) {\n\t\t\tonSelectURL( src );\n\t\t\tcloseURLInput();\n\t\t}\n\t};\n\n\treturn (\n\t\t<div className=\"block-editor-media-placeholder__url-input-container\">\n\t\t\t<Button\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tclassName=\"block-editor-media-placeholder__button\"\n\t\t\t\tonClick={ openURLInput }\n\t\t\t\tisPressed={ isURLInputVisible }\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\taria-haspopup=\"dialog\"\n\t\t\t\tref={ setPopoverAnchor }\n\t\t\t>\n\t\t\t\t{ __( 'Insert from URL' ) }\n\t\t\t</Button>\n\t\t\t{ isURLInputVisible && (\n\t\t\t\t<InsertFromURLPopover\n\t\t\t\t\tsrc={ src }\n\t\t\t\t\tonChange={ onChangeSrc }\n\t\t\t\t\tonSubmit={ onSubmitSrc }\n\t\t\t\t\tonClose={ closeURLInput }\n\t\t\t\t\tpopoverAnchor={ popoverAnchor }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n};\n\nexport function MediaPlaceholder( {\n\tvalue = {},\n\tallowedTypes,\n\tclassName,\n\ticon,\n\tlabels = {},\n\tmediaPreview,\n\tnotices,\n\tisAppender,\n\taccept,\n\taddToGallery,\n\tmultiple = false,\n\thandleUpload = true,\n\tdisableDropZone,\n\tdisableMediaButtons,\n\tonError,\n\tonSelect,\n\tonCancel,\n\tonSelectURL,\n\tonToggleFeaturedImage,\n\tonDoubleClick,\n\tonFilesPreUpload = noop,\n\tonHTMLDrop: deprecatedOnHTMLDrop,\n\tchildren,\n\tmediaLibraryButton,\n\tplaceholder,\n\tstyle,\n} ) {\n\tif ( deprecatedOnHTMLDrop ) {\n\t\tdeprecated( 'wp.blockEditor.MediaPlaceholder onHTMLDrop prop', {\n\t\t\tsince: '6.2',\n\t\t\tversion: '6.4',\n\t\t} );\n\t}\n\n\tconst mediaUpload = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn getSettings().mediaUpload;\n\t}, [] );\n\tconst [ src, setSrc ] = useState( '' );\n\n\tuseEffect( () => {\n\t\tsetSrc( value?.src ?? '' );\n\t}, [ value?.src ] );\n\n\tconst onlyAllowsImages = () => {\n\t\tif ( ! allowedTypes || allowedTypes.length === 0 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn allowedTypes.every(\n\t\t\t( allowedType ) =>\n\t\t\t\tallowedType === 'image' || allowedType.startsWith( 'image/' )\n\t\t);\n\t};\n\n\tconst onFilesUpload = ( files ) => {\n\t\tif (\n\t\t\t! handleUpload ||\n\t\t\t( typeof handleUpload === 'function' && ! handleUpload( files ) )\n\t\t) {\n\t\t\treturn onSelect( files );\n\t\t}\n\t\tonFilesPreUpload( files );\n\t\tlet setMedia;\n\t\tif ( multiple ) {\n\t\t\tif ( addToGallery ) {\n\t\t\t\t// Since the setMedia function runs multiple times per upload group\n\t\t\t\t// and is passed newMedia containing every item in its group each time, we must\n\t\t\t\t// filter out whatever this upload group had previously returned to the\n\t\t\t\t// gallery before adding and returning the image array with replacement newMedia\n\t\t\t\t// values.\n\n\t\t\t\t// Define an array to store urls from newMedia between subsequent function calls.\n\t\t\t\tlet lastMediaPassed = [];\n\t\t\t\tsetMedia = ( newMedia ) => {\n\t\t\t\t\t// Remove any images this upload group is responsible for (lastMediaPassed).\n\t\t\t\t\t// Their replacements are contained in newMedia.\n\t\t\t\t\tconst filteredMedia = ( value ?? [] ).filter( ( item ) => {\n\t\t\t\t\t\t// If Item has id, only remove it if lastMediaPassed has an item with that id.\n\t\t\t\t\t\tif ( item.id ) {\n\t\t\t\t\t\t\treturn ! lastMediaPassed.some(\n\t\t\t\t\t\t\t\t// Be sure to convert to number for comparison.\n\t\t\t\t\t\t\t\t( { id } ) => Number( id ) === Number( item.id )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// Compare transient images via .includes since gallery may append extra info onto the url.\n\t\t\t\t\t\treturn ! lastMediaPassed.some( ( { urlSlug } ) =>\n\t\t\t\t\t\t\titem.url.includes( urlSlug )\n\t\t\t\t\t\t);\n\t\t\t\t\t} );\n\t\t\t\t\t// Return the filtered media array along with newMedia.\n\t\t\t\t\tonSelect( filteredMedia.concat( newMedia ) );\n\t\t\t\t\t// Reset lastMediaPassed and set it with ids and urls from newMedia.\n\t\t\t\t\tlastMediaPassed = newMedia.map( ( media ) => {\n\t\t\t\t\t\t// Add everything up to '.fileType' to compare via .includes.\n\t\t\t\t\t\tconst cutOffIndex = media.url.lastIndexOf( '.' );\n\t\t\t\t\t\tconst urlSlug = media.url.slice( 0, cutOffIndex );\n\t\t\t\t\t\treturn { id: media.id, urlSlug };\n\t\t\t\t\t} );\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tsetMedia = onSelect;\n\t\t\t}\n\t\t} else {\n\t\t\tsetMedia = ( [ media ] ) => onSelect( media );\n\t\t}\n\t\tmediaUpload( {\n\t\t\tallowedTypes,\n\t\t\tfilesList: files,\n\t\t\tonFileChange: setMedia,\n\t\t\tonError,\n\t\t} );\n\t};\n\n\tasync function handleBlocksDrop( blocks ) {\n\t\tif ( ! blocks || ! Array.isArray( blocks ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfunction recursivelyFindMediaFromBlocks( _blocks ) {\n\t\t\treturn _blocks.flatMap( ( block ) =>\n\t\t\t\t( block.name === 'core/image' ||\n\t\t\t\t\tblock.name === 'core/audio' ||\n\t\t\t\t\tblock.name === 'core/video' ) &&\n\t\t\t\tblock.attributes.url\n\t\t\t\t\t? [ block ]\n\t\t\t\t\t: recursivelyFindMediaFromBlocks( block.innerBlocks )\n\t\t\t);\n\t\t}\n\n\t\tconst mediaBlocks = recursivelyFindMediaFromBlocks( blocks );\n\n\t\tif ( ! mediaBlocks.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst uploadedMediaList = await Promise.all(\n\t\t\tmediaBlocks.map( ( block ) =>\n\t\t\t\tblock.attributes.id\n\t\t\t\t\t? block.attributes\n\t\t\t\t\t: new Promise( ( resolve, reject ) => {\n\t\t\t\t\t\t\twindow\n\t\t\t\t\t\t\t\t.fetch( block.attributes.url )\n\t\t\t\t\t\t\t\t.then( ( response ) => response.blob() )\n\t\t\t\t\t\t\t\t.then( ( blob ) =>\n\t\t\t\t\t\t\t\t\tmediaUpload( {\n\t\t\t\t\t\t\t\t\t\tfilesList: [ blob ],\n\t\t\t\t\t\t\t\t\t\tadditionalData: {\n\t\t\t\t\t\t\t\t\t\t\ttitle: block.attributes.title,\n\t\t\t\t\t\t\t\t\t\t\talt_text: block.attributes.alt,\n\t\t\t\t\t\t\t\t\t\t\tcaption: block.attributes.caption,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tonFileChange: ( [ media ] ) => {\n\t\t\t\t\t\t\t\t\t\t\tif ( media.id ) {\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( media );\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tallowedTypes,\n\t\t\t\t\t\t\t\t\t\tonError: reject,\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t.catch( () => resolve( block.attributes.url ) );\n\t\t\t\t\t } )\n\t\t\t)\n\t\t).catch( ( err ) => onError( err ) );\n\n\t\tif ( multiple ) {\n\t\t\tonSelect( uploadedMediaList );\n\t\t} else {\n\t\t\tonSelect( uploadedMediaList[ 0 ] );\n\t\t}\n\t}\n\n\tasync function onHTMLDrop( HTML ) {\n\t\tconst blocks = pasteHandler( { HTML } );\n\t\treturn await handleBlocksDrop( blocks );\n\t}\n\n\tconst onUpload = ( event ) => {\n\t\tonFilesUpload( event.target.files );\n\t};\n\n\tconst defaultRenderPlaceholder = ( content ) => {\n\t\tlet { instructions, title } = labels;\n\n\t\tif ( ! mediaUpload && ! onSelectURL ) {\n\t\t\tinstructions = __(\n\t\t\t\t'To edit this block, you need permission to upload media.'\n\t\t\t);\n\t\t}\n\n\t\tif ( instructions === undefined || title === undefined ) {\n\t\t\tconst typesAllowed = allowedTypes ?? [];\n\n\t\t\tconst [ firstAllowedType ] = typesAllowed;\n\t\t\tconst isOneType = 1 === typesAllowed.length;\n\t\t\tconst isAudio = isOneType && 'audio' === firstAllowedType;\n\t\t\tconst isImage = isOneType && 'image' === firstAllowedType;\n\t\t\tconst isVideo = isOneType && 'video' === firstAllowedType;\n\n\t\t\tif ( instructions === undefined && mediaUpload ) {\n\t\t\t\tinstructions = __(\n\t\t\t\t\t'Upload a media file or pick one from your media library.'\n\t\t\t\t);\n\n\t\t\t\tif ( isAudio ) {\n\t\t\t\t\tinstructions = __(\n\t\t\t\t\t\t'Upload or drag an audio file here, or pick one from your library.'\n\t\t\t\t\t);\n\t\t\t\t} else if ( isImage ) {\n\t\t\t\t\tinstructions = __(\n\t\t\t\t\t\t'Upload or drag an image file here, or pick one from your library.'\n\t\t\t\t\t);\n\t\t\t\t} else if ( isVideo ) {\n\t\t\t\t\tinstructions = __(\n\t\t\t\t\t\t'Upload or drag a video file here, or pick one from your library.'\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( title === undefined ) {\n\t\t\t\ttitle = __( 'Media' );\n\n\t\t\t\tif ( isAudio ) {\n\t\t\t\t\ttitle = __( 'Audio' );\n\t\t\t\t} else if ( isImage ) {\n\t\t\t\t\ttitle = __( 'Image' );\n\t\t\t\t} else if ( isVideo ) {\n\t\t\t\t\ttitle = __( 'Video' );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tconst placeholderClassName = clsx(\n\t\t\t'block-editor-media-placeholder',\n\t\t\tclassName,\n\t\t\t{\n\t\t\t\t'is-appender': isAppender,\n\t\t\t}\n\t\t);\n\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\ticon={ icon }\n\t\t\t\tlabel={ title }\n\t\t\t\tinstructions={ instructions }\n\t\t\t\tclassName={ placeholderClassName }\n\t\t\t\tnotices={ notices }\n\t\t\t\tonDoubleClick={ onDoubleClick }\n\t\t\t\tpreview={ mediaPreview }\n\t\t\t\tstyle={ style }\n\t\t\t>\n\t\t\t\t{ content }\n\t\t\t\t{ children }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\tconst renderPlaceholder = placeholder ?? defaultRenderPlaceholder;\n\n\tconst renderDropZone = () => {\n\t\tif ( disableDropZone ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<DropZone onFilesDrop={ onFilesUpload } onHTMLDrop={ onHTMLDrop } />\n\t\t);\n\t};\n\n\tconst renderCancelLink = () => {\n\t\treturn (\n\t\t\tonCancel && (\n\t\t\t\t<Button\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tclassName=\"block-editor-media-placeholder__cancel-button\"\n\t\t\t\t\ttitle={ __( 'Cancel' ) }\n\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\tonClick={ onCancel }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t</Button>\n\t\t\t)\n\t\t);\n\t};\n\n\tconst renderUrlSelectionUI = () => {\n\t\treturn (\n\t\t\tonSelectURL && (\n\t\t\t\t<URLSelectionUI\n\t\t\t\t\tsrc={ src }\n\t\t\t\t\tonChangeSrc={ setSrc }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t/>\n\t\t\t)\n\t\t);\n\t};\n\n\tconst renderFeaturedImageToggle = () => {\n\t\treturn (\n\t\t\tonToggleFeaturedImage && (\n\t\t\t\t<div className=\"block-editor-media-placeholder__url-input-container\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tclassName=\"block-editor-media-placeholder__button\"\n\t\t\t\t\t\tonClick={ onToggleFeaturedImage }\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Use featured image' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t)\n\t\t);\n\t};\n\n\tconst renderMediaUploadChecked = () => {\n\t\tconst defaultButton = ( { open } ) => {\n\t\t\treturn (\n\t\t\t\t<Button\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\topen();\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Media Library' ) }\n\t\t\t\t</Button>\n\t\t\t);\n\t\t};\n\t\tconst libraryButton = mediaLibraryButton ?? defaultButton;\n\t\tconst uploadMediaLibraryButton = (\n\t\t\t<MediaUpload\n\t\t\t\taddToGallery={ addToGallery }\n\t\t\t\tgallery={ multiple && onlyAllowsImages() }\n\t\t\t\tmultiple={ multiple }\n\t\t\t\tonSelect={ onSelect }\n\t\t\t\tallowedTypes={ allowedTypes }\n\t\t\t\tmode=\"browse\"\n\t\t\t\tvalue={\n\t\t\t\t\tArray.isArray( value )\n\t\t\t\t\t\t? value.map( ( { id } ) => id )\n\t\t\t\t\t\t: value.id\n\t\t\t\t}\n\t\t\t\trender={ libraryButton }\n\t\t\t/>\n\t\t);\n\n\t\tif ( mediaUpload && isAppender ) {\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t{ renderDropZone() }\n\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\tonChange={ onUpload }\n\t\t\t\t\t\taccept={ accept }\n\t\t\t\t\t\tmultiple={ !! multiple }\n\t\t\t\t\t\trender={ ( { openFileDialog } ) => {\n\t\t\t\t\t\t\tconst content = (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t\t\t'block-editor-media-placeholder__button',\n\t\t\t\t\t\t\t\t\t\t\t'block-editor-media-placeholder__upload-button'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tonClick={ openFileDialog }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Upload' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t{ uploadMediaLibraryButton }\n\t\t\t\t\t\t\t\t\t{ renderUrlSelectionUI() }\n\t\t\t\t\t\t\t\t\t{ renderFeaturedImageToggle() }\n\t\t\t\t\t\t\t\t\t{ renderCancelLink() }\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\treturn renderPlaceholder( content );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t);\n\t\t}\n\n\t\tif ( mediaUpload ) {\n\t\t\tconst content = (\n\t\t\t\t<>\n\t\t\t\t\t{ renderDropZone() }\n\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\trender={ ( { openFileDialog } ) => (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tonClick={ openFileDialog }\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t'block-editor-media-placeholder__button',\n\t\t\t\t\t\t\t\t\t'block-editor-media-placeholder__upload-button'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Upload' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tonChange={ onUpload }\n\t\t\t\t\t\taccept={ accept }\n\t\t\t\t\t\tmultiple={ !! multiple }\n\t\t\t\t\t/>\n\t\t\t\t\t{ uploadMediaLibraryButton }\n\t\t\t\t\t{ renderUrlSelectionUI() }\n\t\t\t\t\t{ renderFeaturedImageToggle() }\n\t\t\t\t\t{ renderCancelLink() }\n\t\t\t\t</>\n\t\t\t);\n\t\t\treturn renderPlaceholder( content );\n\t\t}\n\n\t\treturn renderPlaceholder( uploadMediaLibraryButton );\n\t};\n\n\tif ( disableMediaButtons ) {\n\t\treturn <MediaUploadCheck>{ renderDropZone() }</MediaUploadCheck>;\n\t}\n\n\treturn (\n\t\t<MediaUploadCheck\n\t\t\tfallback={ renderPlaceholder( renderUrlSelectionUI() ) }\n\t\t>\n\t\t\t{ renderMediaUploadChecked() }\n\t\t</MediaUploadCheck>\n\t);\n}\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/media-placeholder/README.md\n */\nexport default withFilters( 'editor.MediaPlaceholder' )( MediaPlaceholder );\n"],"mappings":"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","ignoreList":[]}