@wordpress/block-library 8.28.5 → 8.30.0
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.
- package/CHANGELOG.md +4 -0
- package/build/audio/edit.js +7 -17
- package/build/audio/edit.js.map +1 -1
- package/build/audio/edit.native.js.map +1 -1
- package/build/avatar/edit.js.map +1 -1
- package/build/button/edit.js +1 -1
- package/build/button/edit.js.map +1 -1
- package/build/buttons/edit.js +1 -6
- package/build/buttons/edit.js.map +1 -1
- package/build/buttons/edit.native.js +1 -7
- package/build/buttons/edit.native.js.map +1 -1
- package/build/columns/edit.js +8 -2
- package/build/columns/edit.js.map +1 -1
- package/build/comment-author-avatar/edit.js +1 -1
- package/build/comment-author-avatar/edit.js.map +1 -1
- package/build/cover/edit/index.js.map +1 -1
- package/build/cover/edit/inspector-controls.js.map +1 -1
- package/build/cover/edit/resizable-cover-popover.js +0 -6
- package/build/cover/edit/resizable-cover-popover.js.map +1 -1
- package/build/cover/edit.native.js.map +1 -1
- package/build/details/index.js +1 -0
- package/build/details/index.js.map +1 -1
- package/build/file/deprecated.js.map +1 -1
- package/build/file/edit.js +6 -13
- package/build/file/edit.js.map +1 -1
- package/build/file/edit.native.js.map +1 -1
- package/build/file/save.js.map +1 -1
- package/build/form-input/edit.js +1 -1
- package/build/form-input/edit.js.map +1 -1
- package/build/gallery/edit.js +5 -5
- package/build/gallery/edit.js.map +1 -1
- package/build/gallery/gallery.native.js.map +1 -1
- package/build/gallery/v1/edit.js.map +1 -1
- package/build/gallery/v1/gallery.native.js.map +1 -1
- package/build/group/variations.js +12 -15
- package/build/group/variations.js.map +1 -1
- package/build/image/edit.js.map +1 -1
- package/build/image/edit.native.js.map +1 -1
- package/build/image/image.js.map +1 -1
- package/build/latest-posts/edit.native.js.map +1 -1
- package/build/list/edit.js +5 -0
- package/build/list/edit.js.map +1 -1
- package/build/list/ordered-list-settings.js +1 -1
- package/build/list/ordered-list-settings.js.map +1 -1
- package/build/list-item/edit.native.js.map +1 -1
- package/build/list-item/hooks/use-indent-list-item.js +1 -0
- package/build/list-item/hooks/use-indent-list-item.js.map +1 -1
- package/build/list-item/hooks/use-outdent-list-item.js +1 -0
- package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
- package/build/list-item/hooks/use-space.js +16 -7
- package/build/list-item/hooks/use-space.js.map +1 -1
- package/build/media-text/media-container.native.js +1 -1
- package/build/media-text/media-container.native.js.map +1 -1
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation-link/link-ui.js.map +1 -1
- package/build/paragraph/edit.native.js.map +1 -1
- package/build/pattern/edit.js +23 -9
- package/build/pattern/edit.js.map +1 -1
- package/build/post-excerpt/edit.js.map +1 -1
- package/build/post-featured-image/dimension-controls.js.map +1 -1
- package/build/post-featured-image/edit.js.map +1 -1
- package/build/post-navigation-link/edit.js.map +1 -1
- package/build/query/edit/pattern-selection-modal.js.map +1 -1
- package/build/query/utils.js +7 -5
- package/build/query/utils.js.map +1 -1
- package/build/query-pagination-next/edit.js.map +1 -1
- package/build/query-pagination-previous/edit.js.map +1 -1
- package/build/quote/deprecated.js +111 -12
- package/build/quote/deprecated.js.map +1 -1
- package/build/quote/edit.js +5 -5
- package/build/quote/edit.js.map +1 -1
- package/build/quote/index.js +1 -1
- package/build/quote/index.js.map +1 -1
- package/build/quote/save.js +2 -2
- package/build/quote/save.js.map +1 -1
- package/build/read-more/edit.js.map +1 -1
- package/build/search/edit.js +1 -1
- package/build/search/edit.js.map +1 -1
- package/build/search/edit.native.js.map +1 -1
- package/build/site-logo/edit.js.map +1 -1
- package/build/site-title/{edit/index.js → edit.js} +1 -1
- package/build/site-title/edit.js.map +1 -0
- package/build/social-link/edit.js.map +1 -1
- package/build/social-links/edit.native.js.map +1 -1
- package/build/spacer/edit.js.map +1 -1
- package/build/table-of-contents/edit.js.map +1 -1
- package/build/template-part/edit/index.js +53 -1
- package/build/template-part/edit/index.js.map +1 -1
- package/build/template-part/edit/selection-modal.js +2 -8
- package/build/template-part/edit/selection-modal.js.map +1 -1
- package/build/template-part/edit/utils/map-template-part-to-block-pattern.js +30 -0
- package/build/template-part/edit/utils/map-template-part-to-block-pattern.js.map +1 -0
- package/build/utils/hooks.js +55 -4
- package/build/utils/hooks.js.map +1 -1
- package/build/video/edit-common-settings.js.map +1 -1
- package/build/video/edit.js +7 -16
- package/build/video/edit.js.map +1 -1
- package/build/video/edit.native.js +2 -7
- package/build/video/edit.native.js.map +1 -1
- package/build-module/audio/edit.js +10 -20
- package/build-module/audio/edit.js.map +1 -1
- package/build-module/audio/edit.native.js.map +1 -1
- package/build-module/avatar/edit.js.map +1 -1
- package/build-module/button/edit.js +1 -1
- package/build-module/button/edit.js.map +1 -1
- package/build-module/buttons/edit.js +2 -7
- package/build-module/buttons/edit.js.map +1 -1
- package/build-module/buttons/edit.native.js +1 -7
- package/build-module/buttons/edit.native.js.map +1 -1
- package/build-module/columns/edit.js +8 -2
- package/build-module/columns/edit.js.map +1 -1
- package/build-module/comment-author-avatar/edit.js +1 -1
- package/build-module/comment-author-avatar/edit.js.map +1 -1
- package/build-module/cover/edit/index.js.map +1 -1
- package/build-module/cover/edit/inspector-controls.js.map +1 -1
- package/build-module/cover/edit/resizable-cover-popover.js +1 -7
- package/build-module/cover/edit/resizable-cover-popover.js.map +1 -1
- package/build-module/cover/edit.native.js.map +1 -1
- package/build-module/details/index.js +1 -0
- package/build-module/details/index.js.map +1 -1
- package/build-module/file/deprecated.js.map +1 -1
- package/build-module/file/edit.js +7 -14
- package/build-module/file/edit.js.map +1 -1
- package/build-module/file/edit.native.js.map +1 -1
- package/build-module/file/save.js.map +1 -1
- package/build-module/form-input/edit.js +1 -1
- package/build-module/form-input/edit.js.map +1 -1
- package/build-module/gallery/edit.js +5 -5
- package/build-module/gallery/edit.js.map +1 -1
- package/build-module/gallery/gallery.native.js.map +1 -1
- package/build-module/gallery/v1/edit.js.map +1 -1
- package/build-module/gallery/v1/gallery.native.js.map +1 -1
- package/build-module/group/variations.js +12 -15
- package/build-module/group/variations.js.map +1 -1
- package/build-module/image/edit.js.map +1 -1
- package/build-module/image/edit.native.js.map +1 -1
- package/build-module/image/image.js.map +1 -1
- package/build-module/latest-posts/edit.native.js.map +1 -1
- package/build-module/list/edit.js +5 -0
- package/build-module/list/edit.js.map +1 -1
- package/build-module/list/ordered-list-settings.js +1 -1
- package/build-module/list/ordered-list-settings.js.map +1 -1
- package/build-module/list-item/edit.native.js.map +1 -1
- package/build-module/list-item/hooks/use-indent-list-item.js +1 -0
- package/build-module/list-item/hooks/use-indent-list-item.js.map +1 -1
- package/build-module/list-item/hooks/use-outdent-list-item.js +1 -0
- package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
- package/build-module/list-item/hooks/use-space.js +17 -8
- package/build-module/list-item/hooks/use-space.js.map +1 -1
- package/build-module/media-text/media-container.native.js +1 -1
- package/build-module/media-text/media-container.native.js.map +1 -1
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation-link/link-ui.js.map +1 -1
- package/build-module/paragraph/edit.native.js.map +1 -1
- package/build-module/pattern/edit.js +24 -10
- package/build-module/pattern/edit.js.map +1 -1
- package/build-module/post-excerpt/edit.js.map +1 -1
- package/build-module/post-featured-image/dimension-controls.js.map +1 -1
- package/build-module/post-featured-image/edit.js.map +1 -1
- package/build-module/post-navigation-link/edit.js.map +1 -1
- package/build-module/query/edit/pattern-selection-modal.js.map +1 -1
- package/build-module/query/utils.js +7 -5
- package/build-module/query/utils.js.map +1 -1
- package/build-module/query-pagination-next/edit.js.map +1 -1
- package/build-module/query-pagination-previous/edit.js.map +1 -1
- package/build-module/quote/deprecated.js +112 -13
- package/build-module/quote/deprecated.js.map +1 -1
- package/build-module/quote/edit.js +5 -5
- package/build-module/quote/edit.js.map +1 -1
- package/build-module/quote/index.js +1 -1
- package/build-module/quote/index.js.map +1 -1
- package/build-module/quote/save.js +2 -2
- package/build-module/quote/save.js.map +1 -1
- package/build-module/read-more/edit.js.map +1 -1
- package/build-module/search/edit.js +1 -1
- package/build-module/search/edit.js.map +1 -1
- package/build-module/search/edit.native.js.map +1 -1
- package/build-module/site-logo/edit.js.map +1 -1
- package/build-module/site-title/{edit/index.js → edit.js} +1 -1
- package/build-module/site-title/edit.js.map +1 -0
- package/build-module/social-link/edit.js.map +1 -1
- package/build-module/social-links/edit.native.js.map +1 -1
- package/build-module/spacer/edit.js.map +1 -1
- package/build-module/table-of-contents/edit.js.map +1 -1
- package/build-module/template-part/edit/index.js +57 -5
- package/build-module/template-part/edit/index.js.map +1 -1
- package/build-module/template-part/edit/selection-modal.js +2 -8
- package/build-module/template-part/edit/selection-modal.js.map +1 -1
- package/build-module/template-part/edit/utils/map-template-part-to-block-pattern.js +24 -0
- package/build-module/template-part/edit/utils/map-template-part-to-block-pattern.js.map +1 -0
- package/build-module/utils/hooks.js +54 -3
- package/build-module/utils/hooks.js.map +1 -1
- package/build-module/video/edit-common-settings.js.map +1 -1
- package/build-module/video/edit.js +10 -19
- package/build-module/video/edit.js.map +1 -1
- package/build-module/video/edit.native.js +2 -7
- package/build-module/video/edit.native.js.map +1 -1
- package/build-style/editor-rtl.css +4 -1
- package/build-style/editor.css +4 -1
- package/build-style/group/editor-rtl.css +1 -1
- package/build-style/group/editor.css +1 -1
- package/build-style/image/editor-rtl.css +3 -0
- package/build-style/image/editor.css +3 -0
- package/package.json +34 -34
- package/src/audio/edit.js +9 -19
- package/src/audio/edit.native.js +3 -3
- package/src/avatar/edit.js +1 -1
- package/src/avatar/index.php +12 -1
- package/src/block/index.php +2 -0
- package/src/button/edit.js +2 -2
- package/src/buttons/edit.js +3 -16
- package/src/buttons/edit.native.js +2 -18
- package/src/calendar/index.php +5 -0
- package/src/columns/edit.js +9 -2
- package/src/comment-author-avatar/edit.js +1 -1
- package/src/comments/index.php +2 -0
- package/src/cover/edit/index.js +2 -2
- package/src/cover/edit/inspector-controls.js +1 -1
- package/src/cover/edit/resizable-cover-popover.js +1 -6
- package/src/cover/edit.native.js +1 -1
- package/src/details/block.json +1 -0
- package/src/file/deprecated.js +3 -3
- package/src/file/edit.js +8 -15
- package/src/file/edit.native.js +4 -4
- package/src/file/save.js +1 -1
- package/src/form-input/edit.js +1 -1
- package/src/gallery/edit.js +6 -12
- package/src/gallery/gallery.native.js +1 -1
- package/src/gallery/test/index.native.js +1 -1
- package/src/gallery/v1/edit.js +2 -2
- package/src/gallery/v1/gallery.native.js +1 -1
- package/src/group/editor.scss +1 -1
- package/src/group/variations.js +3 -6
- package/src/image/edit.js +1 -1
- package/src/image/edit.native.js +1 -1
- package/src/image/editor.scss +6 -0
- package/src/image/image.js +2 -2
- package/src/latest-posts/edit.native.js +1 -1
- package/src/list/edit.js +5 -0
- package/src/list/ordered-list-settings.js +1 -1
- package/src/list-item/edit.native.js +1 -1
- package/src/list-item/hooks/use-indent-list-item.js +2 -0
- package/src/list-item/hooks/use-outdent-list-item.js +2 -0
- package/src/list-item/hooks/use-space.js +16 -9
- package/src/media-text/media-container.native.js +5 -3
- package/src/media-text/test/edit.native.js +58 -0
- package/src/missing/test/edit-integration.native.js +2 -1
- package/src/navigation/edit/index.js +1 -1
- package/src/navigation/edit/test/navigation-menu-selector.js +3 -3
- package/src/navigation/index.php +18 -13
- package/src/navigation-link/link-ui.js +2 -2
- package/src/paragraph/edit.native.js +1 -1
- package/src/paragraph/test/edit.native.js +36 -0
- package/src/pattern/edit.js +27 -10
- package/src/post-author-biography/index.php +4 -3
- package/src/post-author-name/index.php +4 -3
- package/src/post-excerpt/edit.js +1 -1
- package/src/post-featured-image/dimension-controls.js +4 -4
- package/src/post-featured-image/edit.js +1 -1
- package/src/post-navigation-link/edit.js +1 -1
- package/src/post-template/index.php +2 -0
- package/src/query/edit/pattern-selection-modal.js +1 -1
- package/src/query/utils.js +6 -4
- package/src/query-pagination-next/edit.js +1 -1
- package/src/query-pagination-previous/edit.js +1 -1
- package/src/quote/block.json +1 -1
- package/src/quote/deprecated.js +110 -15
- package/src/quote/edit.js +5 -5
- package/src/quote/save.js +2 -2
- package/src/quote/test/__snapshots__/transforms.native.js.snap +2 -2
- package/src/read-more/edit.js +1 -1
- package/src/search/edit.js +1 -1
- package/src/search/edit.native.js +4 -4
- package/src/site-logo/edit.js +1 -1
- package/src/social-link/edit.js +1 -1
- package/src/social-links/edit.native.js +1 -1
- package/src/spacer/edit.js +1 -1
- package/src/table-of-contents/edit.js +1 -1
- package/src/template-part/edit/index.js +91 -4
- package/src/template-part/edit/selection-modal.js +4 -8
- package/src/template-part/edit/utils/map-template-part-to-block-pattern.js +23 -0
- package/src/utils/hooks.js +53 -3
- package/src/video/edit-common-settings.js +1 -1
- package/src/video/edit.js +10 -18
- package/src/video/edit.native.js +5 -8
- package/src/video/test/edit.native.js +0 -14
- package/build/site-title/edit/index.js.map +0 -1
- package/build-module/site-title/edit/index.js.map +0 -1
- /package/src/site-title/{edit/index.js → edit.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_classnames","_interopRequireDefault","_blockEditor","_components","_i18n","_icons","_element","_compose","_style","MIN_BUTTON_WIDTH","MARGINS","styles","widthMargin","marginLeft","paddingLeft","BUTTON_OPTIONS","value","label","__","useIsScreenReaderEnabled","isScreenReaderEnabled","setIsScreenReaderEnabled","useState","useEffect","mounted","changeListener","AccessibilityInfo","addEventListener","enabled","then","screenReaderEnabled","remove","SearchEdit","onFocus","isSelected","attributes","setAttributes","className","blockWidth","style","isButtonSelected","setIsButtonSelected","isLabelSelected","setIsLabelSelected","isPlaceholderSelected","setIsPlaceholderSelected","isLongButton","setIsLongButton","buttonWidth","setButtonWidth","textInputRef","useRef","showLabel","buttonPosition","buttonUseIcon","placeholder","buttonText","hasTextInput","current","blur","maxButtonWidth","Math","floor","tempIsLongButton","onLayoutButton","nativeEvent","width","layout","getBlockClassNames","classnames","undefined","getSelectedButtonPositionLabel","option","blockProps","useBlockProps","controls","_react","createElement","InspectorControls","PanelBody","title","ToggleControl","checked","onChange","SelectControl","position","options","hideCancelButton","isButtonInside","borderStyle","usePreferredColorSchemeStyle","border","borderDark","inputStyle","plainTextInput","plainTextInputDark","baseColors","color","text","placeholderStyle","plainTextPlaceholder","plainTextPlaceholderDark","searchBarStyle","searchBarContainer","flexDirection","getAccessibilityLabelForButton","getAccessibilityLabelForPlaceholder","description","getAccessibilityLabelForLabel","renderTextField","View","searchInputContainer","accessible","accessibilityRole","accessibilityHint","accessibilityLabel","PlainText","ref","numberOfLines","ellipsizeMode","newVal","onBlur","placeholderTextColor","buttonPlaceholderText","baseButtonStyles","blocks","richTextButtonContainerStyle","buttonContainer","buttonContainerWide","background","backgroundColor","borderWidth","richTextButtonStyle","richTextButton","placeholderColor","iconStyles","icon","fill","renderButton","Icon","search","onLayout","RichText","identifier","tagName","withoutInteractiveFormatting","html","minWidth","maxWidth","textAlign","__unstableMobileNoFocusOnMount","unstableOnFocus","selectionColor","richTextButtonCursor","searchBlockContainer","importantForAccessibility","accessibilityElementsHidden","richTextLabel"],"sources":["@wordpress/block-library/src/search/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View, AccessibilityInfo } from 'react-native';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tPlainText,\n\tuseBlockProps,\n\tInspectorControls,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\tIcon,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { search } from '@wordpress/icons';\nimport { useRef, useEffect, useState } from '@wordpress/element';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\n/**\n * Constants\n */\nconst MIN_BUTTON_WIDTH = 75;\nconst MARGINS =\n\tstyles.widthMargin?.marginLeft + styles.widthMargin?.paddingLeft;\n\nconst BUTTON_OPTIONS = [\n\t{ value: 'button-inside', label: __( 'Button inside' ) },\n\t{ value: 'button-outside', label: __( 'Button outside' ) },\n\t{ value: 'no-button', label: __( 'No button' ) },\n];\n\nfunction useIsScreenReaderEnabled() {\n\tconst [ isScreenReaderEnabled, setIsScreenReaderEnabled ] =\n\t\tuseState( false );\n\n\tuseEffect( () => {\n\t\tlet mounted = true;\n\n\t\tconst changeListener = AccessibilityInfo.addEventListener(\n\t\t\t'screenReaderChanged',\n\t\t\t( enabled ) => setIsScreenReaderEnabled( enabled )\n\t\t);\n\n\t\tAccessibilityInfo.isScreenReaderEnabled().then(\n\t\t\t( screenReaderEnabled ) => {\n\t\t\t\tif ( mounted && screenReaderEnabled ) {\n\t\t\t\t\tsetIsScreenReaderEnabled( screenReaderEnabled );\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\n\t\treturn () => {\n\t\t\tmounted = false;\n\n\t\t\tchangeListener.remove();\n\t\t};\n\t}, [] );\n\n\treturn isScreenReaderEnabled;\n}\n\nexport default function SearchEdit( {\n\tonFocus,\n\tisSelected,\n\tattributes,\n\tsetAttributes,\n\tclassName,\n\tblockWidth,\n\tstyle,\n} ) {\n\tconst [ isButtonSelected, setIsButtonSelected ] = useState( false );\n\tconst [ isLabelSelected, setIsLabelSelected ] = useState( false );\n\tconst [ isPlaceholderSelected, setIsPlaceholderSelected ] =\n\t\tuseState( false );\n\tconst [ isLongButton, setIsLongButton ] = useState( false );\n\tconst [ buttonWidth, setButtonWidth ] = useState( MIN_BUTTON_WIDTH );\n\tconst isScreenReaderEnabled = useIsScreenReaderEnabled();\n\n\tconst textInputRef = useRef( null );\n\n\tconst {\n\t\tlabel,\n\t\tshowLabel,\n\t\tbuttonPosition,\n\t\tbuttonUseIcon,\n\t\tplaceholder,\n\t\tbuttonText,\n\t} = attributes;\n\n\t/*\n\t * Called when the value of isSelected changes. Blurs the PlainText component\n\t * used by the placeholder when this block loses focus.\n\t */\n\tuseEffect( () => {\n\t\tif ( hasTextInput() && isPlaceholderSelected && ! isSelected ) {\n\t\t\ttextInputRef.current.blur();\n\t\t}\n\t}, [ isSelected ] );\n\n\tuseEffect( () => {\n\t\tconst maxButtonWidth = Math.floor( blockWidth / 2 - MARGINS );\n\t\tconst tempIsLongButton = buttonWidth > maxButtonWidth;\n\n\t\t// Update this value only if it has changed to avoid flickering.\n\t\tif ( isLongButton !== tempIsLongButton ) {\n\t\t\tsetIsLongButton( tempIsLongButton );\n\t\t}\n\t}, [ blockWidth, buttonWidth ] );\n\n\tconst hasTextInput = () => {\n\t\treturn textInputRef && textInputRef.current;\n\t};\n\n\tconst onLayoutButton = ( { nativeEvent } ) => {\n\t\tconst { width } = nativeEvent?.layout;\n\n\t\tif ( width ) {\n\t\t\tsetButtonWidth( width );\n\t\t}\n\t};\n\n\tconst getBlockClassNames = () => {\n\t\treturn classnames(\n\t\t\tclassName,\n\t\t\t'button-inside' === buttonPosition\n\t\t\t\t? 'wp-block-search__button-inside'\n\t\t\t\t: undefined,\n\t\t\t'button-outside' === buttonPosition\n\t\t\t\t? 'wp-block-search__button-outside'\n\t\t\t\t: undefined,\n\t\t\t'no-button' === buttonPosition\n\t\t\t\t? 'wp-block-search__no-button'\n\t\t\t\t: undefined,\n\t\t\t'button-only' === buttonPosition\n\t\t\t\t? 'wp-block-search__button-only'\n\t\t\t\t: undefined,\n\t\t\t! buttonUseIcon && 'no-button' !== buttonPosition\n\t\t\t\t? 'wp-block-search__text-button'\n\t\t\t\t: undefined,\n\t\t\tbuttonUseIcon && 'no-button' !== buttonPosition\n\t\t\t\t? 'wp-block-search__icon-button'\n\t\t\t\t: undefined\n\t\t);\n\t};\n\n\tconst getSelectedButtonPositionLabel = ( option ) => {\n\t\tswitch ( option ) {\n\t\t\tcase 'button-inside':\n\t\t\t\treturn __( 'Inside' );\n\t\t\tcase 'button-outside':\n\t\t\t\treturn __( 'Outside' );\n\t\t\tcase 'no-button':\n\t\t\t\treturn __( 'No button' );\n\t\t}\n\t};\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: getBlockClassNames(),\n\t} );\n\n\tconst controls = (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Search settings' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Hide search heading' ) }\n\t\t\t\t\tchecked={ ! showLabel }\n\t\t\t\t\tonChange={ () => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tshowLabel: ! showLabel,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t<SelectControl\n\t\t\t\t\tlabel={ __( 'Button position' ) }\n\t\t\t\t\tvalue={ getSelectedButtonPositionLabel( buttonPosition ) }\n\t\t\t\t\tonChange={ ( position ) => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tbuttonPosition: position,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\toptions={ BUTTON_OPTIONS }\n\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t/>\n\t\t\t\t{ buttonPosition !== 'no-button' && (\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Use icon button' ) }\n\t\t\t\t\t\tchecked={ buttonUseIcon }\n\t\t\t\t\t\tonChange={ () => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tbuttonUseIcon: ! buttonUseIcon,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n\n\tconst isButtonInside = buttonPosition === 'button-inside';\n\n\tconst borderStyle = usePreferredColorSchemeStyle(\n\t\tstyles.border,\n\t\tstyles.borderDark\n\t);\n\n\tconst inputStyle = [\n\t\t! isButtonInside && borderStyle,\n\t\tusePreferredColorSchemeStyle(\n\t\t\tstyles.plainTextInput,\n\t\t\tstyles.plainTextInputDark\n\t\t),\n\t\tstyle?.baseColors?.color && { color: style?.baseColors?.color?.text },\n\t];\n\n\tconst placeholderStyle = {\n\t\t...usePreferredColorSchemeStyle(\n\t\t\tstyles.plainTextPlaceholder,\n\t\t\tstyles.plainTextPlaceholderDark\n\t\t),\n\t\t...( style?.baseColors?.color && {\n\t\t\tcolor: style?.baseColors?.color?.text,\n\t\t} ),\n\t};\n\n\tconst searchBarStyle = [\n\t\tstyles.searchBarContainer,\n\t\tisButtonInside && borderStyle,\n\t\tisLongButton && { flexDirection: 'column' },\n\t];\n\n\t/**\n\t * If a screenreader is enabled, create a descriptive label for this field. If\n\t * not, return a label that is used during automated UI tests.\n\t *\n\t * @return {string} The accessibilityLabel for the Search Button\n\t */\n\tconst getAccessibilityLabelForButton = () => {\n\t\tif ( ! isScreenReaderEnabled ) {\n\t\t\treturn 'search-block-button';\n\t\t}\n\n\t\treturn `${ __(\n\t\t\t'Search button. Current button text is'\n\t\t) } ${ buttonText }`;\n\t};\n\n\t/**\n\t * If a screenreader is enabled, create a descriptive label for this field. If\n\t * not, return a label that is used during automated UI tests.\n\t *\n\t * @return {string} The accessibilityLabel for the Search Input\n\t * \t\t\t\t\t placeholder field.\n\t */\n\tconst getAccessibilityLabelForPlaceholder = () => {\n\t\tif ( ! isScreenReaderEnabled ) {\n\t\t\treturn 'search-block-input';\n\t\t}\n\n\t\tconst title = __( 'Search input field.' );\n\t\tconst description = placeholder\n\t\t\t? `${ __( 'Current placeholder text is' ) } ${ placeholder }`\n\t\t\t: __( 'No custom placeholder set' );\n\t\treturn `${ title } ${ description }`;\n\t};\n\n\t/**\n\t * If a screenreader is enabled, create a descriptive label for this field. If\n\t * not, return a label that is used during automated UI tests.\n\t *\n\t * @return {string} The accessibilityLabel for the Search Label field\n\t */\n\tconst getAccessibilityLabelForLabel = () => {\n\t\tif ( ! isScreenReaderEnabled ) {\n\t\t\treturn 'search-block-label';\n\t\t}\n\n\t\treturn `${ __( 'Search block label. Current text is' ) } ${ label }`;\n\t};\n\n\tconst renderTextField = () => {\n\t\treturn (\n\t\t\t<View\n\t\t\t\tstyle={ styles.searchInputContainer }\n\t\t\t\taccessible={ true }\n\t\t\t\taccessibilityRole=\"none\"\n\t\t\t\taccessibilityHint={\n\t\t\t\t\tisScreenReaderEnabled\n\t\t\t\t\t\t? __( 'Double tap to edit placeholder text' )\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t\taccessibilityLabel={ getAccessibilityLabelForPlaceholder() }\n\t\t\t>\n\t\t\t\t<PlainText\n\t\t\t\t\tref={ textInputRef }\n\t\t\t\t\tisSelected={ isPlaceholderSelected }\n\t\t\t\t\tclassName=\"wp-block-search__input\"\n\t\t\t\t\tstyle={ inputStyle }\n\t\t\t\t\tnumberOfLines={ 1 }\n\t\t\t\t\tellipsizeMode=\"tail\" // Currently only works on ios.\n\t\t\t\t\tlabel={ null }\n\t\t\t\t\tvalue={ placeholder }\n\t\t\t\t\tplaceholder={\n\t\t\t\t\t\tplaceholder ? undefined : __( 'Optional placeholder…' )\n\t\t\t\t\t}\n\t\t\t\t\tonChange={ ( newVal ) =>\n\t\t\t\t\t\tsetAttributes( { placeholder: newVal } )\n\t\t\t\t\t}\n\t\t\t\t\tonFocus={ () => {\n\t\t\t\t\t\tsetIsPlaceholderSelected( true );\n\t\t\t\t\t\tonFocus();\n\t\t\t\t\t} }\n\t\t\t\t\tonBlur={ () => setIsPlaceholderSelected( false ) }\n\t\t\t\t\tplaceholderTextColor={ placeholderStyle?.color }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t);\n\t};\n\n\t// To achieve proper expanding and shrinking `RichText` on Android, there is a need to set\n\t// a `placeholder` as an empty string when `RichText` is focused,\n\t// because `AztecView` is calculating a `minWidth` based on placeholder text.\n\tconst buttonPlaceholderText =\n\t\tisButtonSelected ||\n\t\t( ! isButtonSelected && buttonText && buttonText !== '' )\n\t\t\t? ''\n\t\t\t: __( 'Add button text' );\n\n\tconst baseButtonStyles = {\n\t\t...style?.baseColors?.blocks?.[ 'core/button' ]?.color,\n\t\t...attributes?.style?.color,\n\t\t...( style?.color && { text: style.color } ),\n\t};\n\n\tconst richTextButtonContainerStyle = [\n\t\tstyles.buttonContainer,\n\t\tisLongButton && styles.buttonContainerWide,\n\t\tbaseButtonStyles?.background && {\n\t\t\tbackgroundColor: baseButtonStyles.background,\n\t\t\tborderWidth: 0,\n\t\t},\n\t\tstyle?.backgroundColor && {\n\t\t\tbackgroundColor: style.backgroundColor,\n\t\t\tborderWidth: 0,\n\t\t},\n\t];\n\n\tconst richTextButtonStyle = {\n\t\t...styles.richTextButton,\n\t\t...( baseButtonStyles?.text && {\n\t\t\tcolor: baseButtonStyles.text,\n\t\t\tplaceholderColor: baseButtonStyles.text,\n\t\t} ),\n\t};\n\n\tconst iconStyles = {\n\t\t...styles.icon,\n\t\t...( baseButtonStyles?.text && { fill: baseButtonStyles.text } ),\n\t};\n\n\tconst renderButton = () => {\n\t\treturn (\n\t\t\t<View style={ richTextButtonContainerStyle }>\n\t\t\t\t{ buttonUseIcon && (\n\t\t\t\t\t<Icon\n\t\t\t\t\t\ticon={ search }\n\t\t\t\t\t\t{ ...iconStyles }\n\t\t\t\t\t\tonLayout={ onLayoutButton }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ ! buttonUseIcon && (\n\t\t\t\t\t<View\n\t\t\t\t\t\taccessible={ true }\n\t\t\t\t\t\taccessibilityRole=\"none\"\n\t\t\t\t\t\taccessibilityHint={\n\t\t\t\t\t\t\tisScreenReaderEnabled\n\t\t\t\t\t\t\t\t? __( 'Double tap to edit button text' )\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\taccessibilityLabel={ getAccessibilityLabelForButton() }\n\t\t\t\t\t\tonLayout={ onLayoutButton }\n\t\t\t\t\t>\n\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\tclassName=\"wp-block-search__button\"\n\t\t\t\t\t\t\tidentifier=\"text\"\n\t\t\t\t\t\t\ttagName=\"p\"\n\t\t\t\t\t\t\tstyle={ richTextButtonStyle }\n\t\t\t\t\t\t\tplaceholder={ buttonPlaceholderText }\n\t\t\t\t\t\t\tvalue={ buttonText }\n\t\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\t\tonChange={ ( html ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { buttonText: html } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tminWidth={ MIN_BUTTON_WIDTH }\n\t\t\t\t\t\t\tmaxWidth={ blockWidth - MARGINS }\n\t\t\t\t\t\t\ttextAlign=\"center\"\n\t\t\t\t\t\t\tisSelected={ isButtonSelected }\n\t\t\t\t\t\t\t__unstableMobileNoFocusOnMount={ ! isSelected }\n\t\t\t\t\t\t\tunstableOnFocus={ () => {\n\t\t\t\t\t\t\t\tsetIsButtonSelected( true );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonBlur={ () => {\n\t\t\t\t\t\t\t\tsetIsButtonSelected( false );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tselectionColor={\n\t\t\t\t\t\t\t\tstyles.richTextButtonCursor?.color\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t) }\n\t\t\t</View>\n\t\t);\n\t};\n\n\treturn (\n\t\t<View\n\t\t\t{ ...blockProps }\n\t\t\tstyle={ styles.searchBlockContainer }\n\t\t\timportantForAccessibility={\n\t\t\t\tisSelected ? 'yes' : 'no-hide-descendants'\n\t\t\t}\n\t\t\taccessibilityElementsHidden={ isSelected ? false : true }\n\t\t>\n\t\t\t{ isSelected && controls }\n\n\t\t\t{ showLabel && (\n\t\t\t\t<View\n\t\t\t\t\taccessible={ true }\n\t\t\t\t\taccessibilityRole=\"none\"\n\t\t\t\t\taccessibilityHint={\n\t\t\t\t\t\tisScreenReaderEnabled\n\t\t\t\t\t\t\t? __( 'Double tap to edit label text' )\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\taccessibilityLabel={ getAccessibilityLabelForLabel() }\n\t\t\t\t>\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tclassName=\"wp-block-search__label\"\n\t\t\t\t\t\tidentifier=\"text\"\n\t\t\t\t\t\ttagName=\"p\"\n\t\t\t\t\t\tstyle={ styles.richTextLabel }\n\t\t\t\t\t\tplaceholder={ __( 'Add label…' ) }\n\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\tvalue={ label }\n\t\t\t\t\t\tonChange={ ( html ) =>\n\t\t\t\t\t\t\tsetAttributes( { label: html } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisSelected={ isLabelSelected }\n\t\t\t\t\t\t__unstableMobileNoFocusOnMount={ ! isSelected }\n\t\t\t\t\t\tunstableOnFocus={ () => {\n\t\t\t\t\t\t\tsetIsLabelSelected( true );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonBlur={ () => {\n\t\t\t\t\t\t\tsetIsLabelSelected( false );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tselectionColor={ styles.richTextButtonCursor?.color }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t) }\n\n\t\t\t{ ( 'button-inside' === buttonPosition ||\n\t\t\t\t'button-outside' === buttonPosition ) && (\n\t\t\t\t<View style={ searchBarStyle }>\n\t\t\t\t\t{ renderTextField() }\n\t\t\t\t\t{ renderButton() }\n\t\t\t\t</View>\n\t\t\t) }\n\n\t\t\t{ 'button-only' === buttonPosition && renderButton() }\n\t\t\t{ 'no-button' === buttonPosition && renderTextField() }\n\t\t</View>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_classnames","_interopRequireDefault","_blockEditor","_components","_i18n","_icons","_element","_compose","_style","MIN_BUTTON_WIDTH","MARGINS","styles","widthMargin","marginLeft","paddingLeft","BUTTON_OPTIONS","value","label","__","useIsScreenReaderEnabled","isScreenReaderEnabled","setIsScreenReaderEnabled","useState","useEffect","mounted","changeListener","AccessibilityInfo","addEventListener","enabled","then","screenReaderEnabled","remove","SearchEdit","onFocus","isSelected","attributes","setAttributes","className","blockWidth","style","isButtonSelected","setIsButtonSelected","isLabelSelected","setIsLabelSelected","isPlaceholderSelected","setIsPlaceholderSelected","isLongButton","setIsLongButton","buttonWidth","setButtonWidth","textInputRef","useRef","showLabel","buttonPosition","buttonUseIcon","placeholder","buttonText","hasTextInput","current","blur","maxButtonWidth","Math","floor","tempIsLongButton","onLayoutButton","nativeEvent","width","layout","getBlockClassNames","classnames","undefined","getSelectedButtonPositionLabel","option","blockProps","useBlockProps","controls","_react","createElement","InspectorControls","PanelBody","title","ToggleControl","checked","onChange","SelectControl","position","options","hideCancelButton","isButtonInside","borderStyle","usePreferredColorSchemeStyle","border","borderDark","inputStyle","plainTextInput","plainTextInputDark","baseColors","color","text","placeholderStyle","plainTextPlaceholder","plainTextPlaceholderDark","searchBarStyle","searchBarContainer","flexDirection","getAccessibilityLabelForButton","getAccessibilityLabelForPlaceholder","description","getAccessibilityLabelForLabel","renderTextField","View","searchInputContainer","accessible","accessibilityRole","accessibilityHint","accessibilityLabel","PlainText","ref","numberOfLines","ellipsizeMode","newVal","onBlur","placeholderTextColor","buttonPlaceholderText","baseButtonStyles","blocks","richTextButtonContainerStyle","buttonContainer","buttonContainerWide","background","backgroundColor","borderWidth","richTextButtonStyle","richTextButton","placeholderColor","iconStyles","icon","fill","renderButton","Icon","search","onLayout","RichText","identifier","tagName","withoutInteractiveFormatting","html","minWidth","maxWidth","textAlign","__unstableMobileNoFocusOnMount","unstableOnFocus","selectionColor","richTextButtonCursor","searchBlockContainer","importantForAccessibility","accessibilityElementsHidden","richTextLabel"],"sources":["@wordpress/block-library/src/search/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View, AccessibilityInfo } from 'react-native';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tRichText,\n\tPlainText,\n\tuseBlockProps,\n\tInspectorControls,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tSelectControl,\n\tToggleControl,\n\tIcon,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { search } from '@wordpress/icons';\nimport { useRef, useEffect, useState } from '@wordpress/element';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\n/**\n * Constants\n */\nconst MIN_BUTTON_WIDTH = 75;\nconst MARGINS =\n\tstyles.widthMargin?.marginLeft + styles.widthMargin?.paddingLeft;\n\nconst BUTTON_OPTIONS = [\n\t{ value: 'button-inside', label: __( 'Button inside' ) },\n\t{ value: 'button-outside', label: __( 'Button outside' ) },\n\t{ value: 'no-button', label: __( 'No button' ) },\n];\n\nfunction useIsScreenReaderEnabled() {\n\tconst [ isScreenReaderEnabled, setIsScreenReaderEnabled ] =\n\t\tuseState( false );\n\n\tuseEffect( () => {\n\t\tlet mounted = true;\n\n\t\tconst changeListener = AccessibilityInfo.addEventListener(\n\t\t\t'screenReaderChanged',\n\t\t\t( enabled ) => setIsScreenReaderEnabled( enabled )\n\t\t);\n\n\t\tAccessibilityInfo.isScreenReaderEnabled().then(\n\t\t\t( screenReaderEnabled ) => {\n\t\t\t\tif ( mounted && screenReaderEnabled ) {\n\t\t\t\t\tsetIsScreenReaderEnabled( screenReaderEnabled );\n\t\t\t\t}\n\t\t\t}\n\t\t);\n\n\t\treturn () => {\n\t\t\tmounted = false;\n\n\t\t\tchangeListener.remove();\n\t\t};\n\t}, [] );\n\n\treturn isScreenReaderEnabled;\n}\n\nexport default function SearchEdit( {\n\tonFocus,\n\tisSelected,\n\tattributes,\n\tsetAttributes,\n\tclassName,\n\tblockWidth,\n\tstyle,\n} ) {\n\tconst [ isButtonSelected, setIsButtonSelected ] = useState( false );\n\tconst [ isLabelSelected, setIsLabelSelected ] = useState( false );\n\tconst [ isPlaceholderSelected, setIsPlaceholderSelected ] =\n\t\tuseState( false );\n\tconst [ isLongButton, setIsLongButton ] = useState( false );\n\tconst [ buttonWidth, setButtonWidth ] = useState( MIN_BUTTON_WIDTH );\n\tconst isScreenReaderEnabled = useIsScreenReaderEnabled();\n\n\tconst textInputRef = useRef( null );\n\n\tconst {\n\t\tlabel,\n\t\tshowLabel,\n\t\tbuttonPosition,\n\t\tbuttonUseIcon,\n\t\tplaceholder,\n\t\tbuttonText,\n\t} = attributes;\n\n\t/*\n\t * Called when the value of isSelected changes. Blurs the PlainText component\n\t * used by the placeholder when this block loses focus.\n\t */\n\tuseEffect( () => {\n\t\tif ( hasTextInput() && isPlaceholderSelected && ! isSelected ) {\n\t\t\ttextInputRef.current.blur();\n\t\t}\n\t}, [ isSelected ] );\n\n\tuseEffect( () => {\n\t\tconst maxButtonWidth = Math.floor( blockWidth / 2 - MARGINS );\n\t\tconst tempIsLongButton = buttonWidth > maxButtonWidth;\n\n\t\t// Update this value only if it has changed to avoid flickering.\n\t\tif ( isLongButton !== tempIsLongButton ) {\n\t\t\tsetIsLongButton( tempIsLongButton );\n\t\t}\n\t}, [ blockWidth, buttonWidth ] );\n\n\tconst hasTextInput = () => {\n\t\treturn textInputRef && textInputRef.current;\n\t};\n\n\tconst onLayoutButton = ( { nativeEvent } ) => {\n\t\tconst { width } = nativeEvent?.layout;\n\n\t\tif ( width ) {\n\t\t\tsetButtonWidth( width );\n\t\t}\n\t};\n\n\tconst getBlockClassNames = () => {\n\t\treturn classnames(\n\t\t\tclassName,\n\t\t\t'button-inside' === buttonPosition\n\t\t\t\t? 'wp-block-search__button-inside'\n\t\t\t\t: undefined,\n\t\t\t'button-outside' === buttonPosition\n\t\t\t\t? 'wp-block-search__button-outside'\n\t\t\t\t: undefined,\n\t\t\t'no-button' === buttonPosition\n\t\t\t\t? 'wp-block-search__no-button'\n\t\t\t\t: undefined,\n\t\t\t'button-only' === buttonPosition\n\t\t\t\t? 'wp-block-search__button-only'\n\t\t\t\t: undefined,\n\t\t\t! buttonUseIcon && 'no-button' !== buttonPosition\n\t\t\t\t? 'wp-block-search__text-button'\n\t\t\t\t: undefined,\n\t\t\tbuttonUseIcon && 'no-button' !== buttonPosition\n\t\t\t\t? 'wp-block-search__icon-button'\n\t\t\t\t: undefined\n\t\t);\n\t};\n\n\tconst getSelectedButtonPositionLabel = ( option ) => {\n\t\tswitch ( option ) {\n\t\t\tcase 'button-inside':\n\t\t\t\treturn __( 'Inside' );\n\t\t\tcase 'button-outside':\n\t\t\t\treturn __( 'Outside' );\n\t\t\tcase 'no-button':\n\t\t\t\treturn __( 'No button' );\n\t\t}\n\t};\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: getBlockClassNames(),\n\t} );\n\n\tconst controls = (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Search settings' ) }>\n\t\t\t\t<ToggleControl\n\t\t\t\t\tlabel={ __( 'Hide search heading' ) }\n\t\t\t\t\tchecked={ ! showLabel }\n\t\t\t\t\tonChange={ () => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tshowLabel: ! showLabel,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t\t<SelectControl\n\t\t\t\t\tlabel={ __( 'Button position' ) }\n\t\t\t\t\tvalue={ getSelectedButtonPositionLabel( buttonPosition ) }\n\t\t\t\t\tonChange={ ( position ) => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tbuttonPosition: position,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\toptions={ BUTTON_OPTIONS }\n\t\t\t\t\thideCancelButton\n\t\t\t\t/>\n\t\t\t\t{ buttonPosition !== 'no-button' && (\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\tlabel={ __( 'Use icon button' ) }\n\t\t\t\t\t\tchecked={ buttonUseIcon }\n\t\t\t\t\t\tonChange={ () => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tbuttonUseIcon: ! buttonUseIcon,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n\n\tconst isButtonInside = buttonPosition === 'button-inside';\n\n\tconst borderStyle = usePreferredColorSchemeStyle(\n\t\tstyles.border,\n\t\tstyles.borderDark\n\t);\n\n\tconst inputStyle = [\n\t\t! isButtonInside && borderStyle,\n\t\tusePreferredColorSchemeStyle(\n\t\t\tstyles.plainTextInput,\n\t\t\tstyles.plainTextInputDark\n\t\t),\n\t\tstyle?.baseColors?.color && { color: style?.baseColors?.color?.text },\n\t];\n\n\tconst placeholderStyle = {\n\t\t...usePreferredColorSchemeStyle(\n\t\t\tstyles.plainTextPlaceholder,\n\t\t\tstyles.plainTextPlaceholderDark\n\t\t),\n\t\t...( style?.baseColors?.color && {\n\t\t\tcolor: style?.baseColors?.color?.text,\n\t\t} ),\n\t};\n\n\tconst searchBarStyle = [\n\t\tstyles.searchBarContainer,\n\t\tisButtonInside && borderStyle,\n\t\tisLongButton && { flexDirection: 'column' },\n\t];\n\n\t/**\n\t * If a screenreader is enabled, create a descriptive label for this field. If\n\t * not, return a label that is used during automated UI tests.\n\t *\n\t * @return {string} The accessibilityLabel for the Search Button\n\t */\n\tconst getAccessibilityLabelForButton = () => {\n\t\tif ( ! isScreenReaderEnabled ) {\n\t\t\treturn 'search-block-button';\n\t\t}\n\n\t\treturn `${ __(\n\t\t\t'Search button. Current button text is'\n\t\t) } ${ buttonText }`;\n\t};\n\n\t/**\n\t * If a screenreader is enabled, create a descriptive label for this field. If\n\t * not, return a label that is used during automated UI tests.\n\t *\n\t * @return {string} The accessibilityLabel for the Search Input\n\t * \t\t\t\t\t placeholder field.\n\t */\n\tconst getAccessibilityLabelForPlaceholder = () => {\n\t\tif ( ! isScreenReaderEnabled ) {\n\t\t\treturn 'search-block-input';\n\t\t}\n\n\t\tconst title = __( 'Search input field.' );\n\t\tconst description = placeholder\n\t\t\t? `${ __( 'Current placeholder text is' ) } ${ placeholder }`\n\t\t\t: __( 'No custom placeholder set' );\n\t\treturn `${ title } ${ description }`;\n\t};\n\n\t/**\n\t * If a screenreader is enabled, create a descriptive label for this field. If\n\t * not, return a label that is used during automated UI tests.\n\t *\n\t * @return {string} The accessibilityLabel for the Search Label field\n\t */\n\tconst getAccessibilityLabelForLabel = () => {\n\t\tif ( ! isScreenReaderEnabled ) {\n\t\t\treturn 'search-block-label';\n\t\t}\n\n\t\treturn `${ __( 'Search block label. Current text is' ) } ${ label }`;\n\t};\n\n\tconst renderTextField = () => {\n\t\treturn (\n\t\t\t<View\n\t\t\t\tstyle={ styles.searchInputContainer }\n\t\t\t\taccessible\n\t\t\t\taccessibilityRole=\"none\"\n\t\t\t\taccessibilityHint={\n\t\t\t\t\tisScreenReaderEnabled\n\t\t\t\t\t\t? __( 'Double tap to edit placeholder text' )\n\t\t\t\t\t\t: undefined\n\t\t\t\t}\n\t\t\t\taccessibilityLabel={ getAccessibilityLabelForPlaceholder() }\n\t\t\t>\n\t\t\t\t<PlainText\n\t\t\t\t\tref={ textInputRef }\n\t\t\t\t\tisSelected={ isPlaceholderSelected }\n\t\t\t\t\tclassName=\"wp-block-search__input\"\n\t\t\t\t\tstyle={ inputStyle }\n\t\t\t\t\tnumberOfLines={ 1 }\n\t\t\t\t\tellipsizeMode=\"tail\" // Currently only works on ios.\n\t\t\t\t\tlabel={ null }\n\t\t\t\t\tvalue={ placeholder }\n\t\t\t\t\tplaceholder={\n\t\t\t\t\t\tplaceholder ? undefined : __( 'Optional placeholder…' )\n\t\t\t\t\t}\n\t\t\t\t\tonChange={ ( newVal ) =>\n\t\t\t\t\t\tsetAttributes( { placeholder: newVal } )\n\t\t\t\t\t}\n\t\t\t\t\tonFocus={ () => {\n\t\t\t\t\t\tsetIsPlaceholderSelected( true );\n\t\t\t\t\t\tonFocus();\n\t\t\t\t\t} }\n\t\t\t\t\tonBlur={ () => setIsPlaceholderSelected( false ) }\n\t\t\t\t\tplaceholderTextColor={ placeholderStyle?.color }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t);\n\t};\n\n\t// To achieve proper expanding and shrinking `RichText` on Android, there is a need to set\n\t// a `placeholder` as an empty string when `RichText` is focused,\n\t// because `AztecView` is calculating a `minWidth` based on placeholder text.\n\tconst buttonPlaceholderText =\n\t\tisButtonSelected ||\n\t\t( ! isButtonSelected && buttonText && buttonText !== '' )\n\t\t\t? ''\n\t\t\t: __( 'Add button text' );\n\n\tconst baseButtonStyles = {\n\t\t...style?.baseColors?.blocks?.[ 'core/button' ]?.color,\n\t\t...attributes?.style?.color,\n\t\t...( style?.color && { text: style.color } ),\n\t};\n\n\tconst richTextButtonContainerStyle = [\n\t\tstyles.buttonContainer,\n\t\tisLongButton && styles.buttonContainerWide,\n\t\tbaseButtonStyles?.background && {\n\t\t\tbackgroundColor: baseButtonStyles.background,\n\t\t\tborderWidth: 0,\n\t\t},\n\t\tstyle?.backgroundColor && {\n\t\t\tbackgroundColor: style.backgroundColor,\n\t\t\tborderWidth: 0,\n\t\t},\n\t];\n\n\tconst richTextButtonStyle = {\n\t\t...styles.richTextButton,\n\t\t...( baseButtonStyles?.text && {\n\t\t\tcolor: baseButtonStyles.text,\n\t\t\tplaceholderColor: baseButtonStyles.text,\n\t\t} ),\n\t};\n\n\tconst iconStyles = {\n\t\t...styles.icon,\n\t\t...( baseButtonStyles?.text && { fill: baseButtonStyles.text } ),\n\t};\n\n\tconst renderButton = () => {\n\t\treturn (\n\t\t\t<View style={ richTextButtonContainerStyle }>\n\t\t\t\t{ buttonUseIcon && (\n\t\t\t\t\t<Icon\n\t\t\t\t\t\ticon={ search }\n\t\t\t\t\t\t{ ...iconStyles }\n\t\t\t\t\t\tonLayout={ onLayoutButton }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ ! buttonUseIcon && (\n\t\t\t\t\t<View\n\t\t\t\t\t\taccessible\n\t\t\t\t\t\taccessibilityRole=\"none\"\n\t\t\t\t\t\taccessibilityHint={\n\t\t\t\t\t\t\tisScreenReaderEnabled\n\t\t\t\t\t\t\t\t? __( 'Double tap to edit button text' )\n\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\taccessibilityLabel={ getAccessibilityLabelForButton() }\n\t\t\t\t\t\tonLayout={ onLayoutButton }\n\t\t\t\t\t>\n\t\t\t\t\t\t<RichText\n\t\t\t\t\t\t\tclassName=\"wp-block-search__button\"\n\t\t\t\t\t\t\tidentifier=\"text\"\n\t\t\t\t\t\t\ttagName=\"p\"\n\t\t\t\t\t\t\tstyle={ richTextButtonStyle }\n\t\t\t\t\t\t\tplaceholder={ buttonPlaceholderText }\n\t\t\t\t\t\t\tvalue={ buttonText }\n\t\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\t\tonChange={ ( html ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { buttonText: html } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tminWidth={ MIN_BUTTON_WIDTH }\n\t\t\t\t\t\t\tmaxWidth={ blockWidth - MARGINS }\n\t\t\t\t\t\t\ttextAlign=\"center\"\n\t\t\t\t\t\t\tisSelected={ isButtonSelected }\n\t\t\t\t\t\t\t__unstableMobileNoFocusOnMount={ ! isSelected }\n\t\t\t\t\t\t\tunstableOnFocus={ () => {\n\t\t\t\t\t\t\t\tsetIsButtonSelected( true );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonBlur={ () => {\n\t\t\t\t\t\t\t\tsetIsButtonSelected( false );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tselectionColor={\n\t\t\t\t\t\t\t\tstyles.richTextButtonCursor?.color\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t) }\n\t\t\t</View>\n\t\t);\n\t};\n\n\treturn (\n\t\t<View\n\t\t\t{ ...blockProps }\n\t\t\tstyle={ styles.searchBlockContainer }\n\t\t\timportantForAccessibility={\n\t\t\t\tisSelected ? 'yes' : 'no-hide-descendants'\n\t\t\t}\n\t\t\taccessibilityElementsHidden={ isSelected ? false : true }\n\t\t>\n\t\t\t{ isSelected && controls }\n\n\t\t\t{ showLabel && (\n\t\t\t\t<View\n\t\t\t\t\taccessible\n\t\t\t\t\taccessibilityRole=\"none\"\n\t\t\t\t\taccessibilityHint={\n\t\t\t\t\t\tisScreenReaderEnabled\n\t\t\t\t\t\t\t? __( 'Double tap to edit label text' )\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\taccessibilityLabel={ getAccessibilityLabelForLabel() }\n\t\t\t\t>\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tclassName=\"wp-block-search__label\"\n\t\t\t\t\t\tidentifier=\"text\"\n\t\t\t\t\t\ttagName=\"p\"\n\t\t\t\t\t\tstyle={ styles.richTextLabel }\n\t\t\t\t\t\tplaceholder={ __( 'Add label…' ) }\n\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\tvalue={ label }\n\t\t\t\t\t\tonChange={ ( html ) =>\n\t\t\t\t\t\t\tsetAttributes( { label: html } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tisSelected={ isLabelSelected }\n\t\t\t\t\t\t__unstableMobileNoFocusOnMount={ ! isSelected }\n\t\t\t\t\t\tunstableOnFocus={ () => {\n\t\t\t\t\t\t\tsetIsLabelSelected( true );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonBlur={ () => {\n\t\t\t\t\t\t\tsetIsLabelSelected( false );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tselectionColor={ styles.richTextButtonCursor?.color }\n\t\t\t\t\t/>\n\t\t\t\t</View>\n\t\t\t) }\n\n\t\t\t{ ( 'button-inside' === buttonPosition ||\n\t\t\t\t'button-outside' === buttonPosition ) && (\n\t\t\t\t<View style={ searchBarStyle }>\n\t\t\t\t\t{ renderTextField() }\n\t\t\t\t\t{ renderButton() }\n\t\t\t\t</View>\n\t\t\t) }\n\n\t\t\t{ 'button-only' === buttonPosition && renderButton() }\n\t\t\t{ 'no-button' === buttonPosition && renderTextField() }\n\t\t</View>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_classnames","_interopRequireDefault","require","_blob","_element","_i18n","_components","_compose","_blockEditor","_data","_coreData","_icons","_notices","_useClientWidth","_constants","ALLOWED_MEDIA_TYPES","ACCEPT_MEDIA_STRING","SiteLogo","alt","attributes","align","width","height","isLink","linkTarget","shouldSyncIcon","containerRef","isSelected","setAttributes","setLogo","logoUrl","siteUrl","logoId","iconId","setIcon","canUserEdit","clientWidth","useClientWidth","isLargeViewport","useViewportMatch","isWideAligned","includes","isResizable","naturalWidth","naturalHeight","setNaturalSize","useState","isEditingImage","setIsEditingImage","toggleSelection","useDispatch","blockEditorStore","classes","classnames","isBlobURL","imageEditing","maxWidth","title","useSelect","select","settings","getSettings","siteEntities","coreStore","getEntityRecord","name","useEffect","onResizeStart","onResizeStop","img","_react","createElement","className","src","onLoad","event","target","imgWrapper","href","rel","onClick","preventDefault","imageWidthWithinContainer","exceedMaxWidth","style","defaultWidth","currentWidth","ratio","currentHeight","minWidth","MIN_SIZE","Math","ceil","minHeight","maxWidthBuffer","showRightHandle","showLeftHandle","isRTL","canEditImage","imgEdit","__experimentalImageEditor","id","url","onSaveImage","imageAttributes","onFinishEditing","ResizableBox","size","showHandle","maxHeight","lockAspectRatio","enable","top","right","bottom","left","direction","elt","delta","parseInt","shouldUseNewUrl","window","__experimentalUseCustomizerSiteLogoUrl","siteIconSettingsUrl","syncSiteIconHelpText","createInterpolateElement","__","a","Fragment","InspectorControls","PanelBody","RangeControl","__nextHasNoMarginBottom","__next40pxDefaultSize","label","onChange","newWidth","min","max","initialPosition","value","disabled","ToggleControl","checked","undefined","help","BlockControls","group","ToolbarButton","icon","crop","SiteLogoReplaceFlow","onRemoveLogo","mediaReplaceProps","MediaReplaceFlow","allowedTypes","accept","MenuItem","InspectorLogoPreview","mediaItemData","itemGroupProps","alt_text","source_url","slug","logoSlug","media_details","logoMediaDetails","logoLabel","sizes","full","file","__experimentalItemGroup","as","__experimentalHStack","justify","FlexItem","__experimentalTruncate","numberOfLines","LogoEdit","ref","useRef","siteLogoId","siteIconId","isRequestingMediaItem","canUser","getEditedEntityRecord","_canUserEdit","siteSettings","siteData","_siteLogoId","site_logo","_siteIconId","site_icon","mediaItem","getMedia","context","_isRequestingMediaItem","hasFinishedResolution","home","editEntityRecord","newValue","shouldForceSync","onInitialSelectLogo","media","onSelectLogo","createErrorNotice","noticesStore","onUploadError","message","type","onFilesDrop","filesList","mediaUpload","onFileChange","image","onError","mediaReplaceFlowProps","mediaURL","onSelect","controls","logoImage","isLoading","Spinner","placeholder","content","placeholderClassName","Placeholder","preview","withIllustration","blockProps","useBlockProps","mediaInspectorPanel","isBordered","popoverProps","MediaUploadCheck","MediaUpload","render","open","Button","variant","DropZone","MediaPlaceholder","mediaLibraryButton","upload","showTooltip","tooltipPosition"],"sources":["@wordpress/block-library/src/site-logo/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport {\n\tcreateInterpolateElement,\n\tuseEffect,\n\tuseState,\n\tuseRef,\n} from '@wordpress/element';\nimport { __, isRTL } from '@wordpress/i18n';\nimport {\n\tMenuItem,\n\tPanelBody,\n\tRangeControl,\n\tResizableBox,\n\tSpinner,\n\tToggleControl,\n\tToolbarButton,\n\tPlaceholder,\n\tButton,\n\tDropZone,\n\tFlexItem,\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalHStack as HStack,\n\t__experimentalTruncate as Truncate,\n} from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaUpload,\n\tMediaUploadCheck,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalImageEditor as ImageEditor,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { crop, upload } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport useClientWidth from '../image/use-client-width';\n\n/**\n * Module constants\n */\nimport { MIN_SIZE } from '../image/constants';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\nconst ACCEPT_MEDIA_STRING = 'image/*';\n\nconst SiteLogo = ( {\n\talt,\n\tattributes: { align, width, height, isLink, linkTarget, shouldSyncIcon },\n\tcontainerRef,\n\tisSelected,\n\tsetAttributes,\n\tsetLogo,\n\tlogoUrl,\n\tsiteUrl,\n\tlogoId,\n\ticonId,\n\tsetIcon,\n\tcanUserEdit,\n} ) => {\n\tconst clientWidth = useClientWidth( containerRef, [ align ] );\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst isWideAligned = [ 'wide', 'full' ].includes( align );\n\tconst isResizable = ! isWideAligned && isLargeViewport;\n\tconst [ { naturalWidth, naturalHeight }, setNaturalSize ] = useState( {} );\n\tconst [ isEditingImage, setIsEditingImage ] = useState( false );\n\tconst { toggleSelection } = useDispatch( blockEditorStore );\n\tconst classes = classnames( 'custom-logo-link', {\n\t\t'is-transient': isBlobURL( logoUrl ),\n\t} );\n\tconst { imageEditing, maxWidth, title } = useSelect( ( select ) => {\n\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\tconst siteEntities = select( coreStore ).getEntityRecord(\n\t\t\t'root',\n\t\t\t'__unstableBase'\n\t\t);\n\t\treturn {\n\t\t\ttitle: siteEntities?.name,\n\t\t\timageEditing: settings.imageEditing,\n\t\t\tmaxWidth: settings.maxWidth,\n\t\t};\n\t}, [] );\n\n\tuseEffect( () => {\n\t\t// Turn the `Use as site icon` toggle off if it is on but the logo and icon have\n\t\t// fallen out of sync. This can happen if the toggle is saved in the `on` position,\n\t\t// but changes are later made to the site icon in the Customizer.\n\t\tif ( shouldSyncIcon && logoId !== iconId ) {\n\t\t\tsetAttributes( { shouldSyncIcon: false } );\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsEditingImage( false );\n\t\t}\n\t}, [ isSelected ] );\n\n\tfunction onResizeStart() {\n\t\ttoggleSelection( false );\n\t}\n\n\tfunction onResizeStop() {\n\t\ttoggleSelection( true );\n\t}\n\n\tconst img = (\n\t\t<img\n\t\t\tclassName=\"custom-logo\"\n\t\t\tsrc={ logoUrl }\n\t\t\talt={ alt }\n\t\t\tonLoad={ ( event ) => {\n\t\t\t\tsetNaturalSize( {\n\t\t\t\t\tnaturalWidth: event.target.naturalWidth,\n\t\t\t\t\tnaturalHeight: event.target.naturalHeight,\n\t\t\t\t} );\n\t\t\t} }\n\t\t/>\n\t);\n\n\tlet imgWrapper = img;\n\n\t// Disable reason: Image itself is not meant to be interactive, but\n\t// should direct focus to block.\n\tif ( isLink ) {\n\t\timgWrapper = (\n\t\t\t/* eslint-disable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t\t<a\n\t\t\t\thref={ siteUrl }\n\t\t\t\tclassName={ classes }\n\t\t\t\trel=\"home\"\n\t\t\t\ttitle={ title }\n\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t>\n\t\t\t\t{ img }\n\t\t\t</a>\n\t\t\t/* eslint-enable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t);\n\t}\n\n\tlet imageWidthWithinContainer;\n\n\tif ( clientWidth && naturalWidth && naturalHeight ) {\n\t\tconst exceedMaxWidth = naturalWidth > clientWidth;\n\t\timageWidthWithinContainer = exceedMaxWidth ? clientWidth : naturalWidth;\n\t}\n\n\tif ( ! isResizable || ! imageWidthWithinContainer ) {\n\t\treturn <div style={ { width, height } }>{ imgWrapper }</div>;\n\t}\n\n\t// Set the default width to a responsible size.\n\t// Note that this width is also set in the attached frontend CSS file.\n\tconst defaultWidth = 120;\n\n\tconst currentWidth = width || defaultWidth;\n\tconst ratio = naturalWidth / naturalHeight;\n\tconst currentHeight = currentWidth / ratio;\n\tconst minWidth =\n\t\tnaturalWidth < naturalHeight ? MIN_SIZE : Math.ceil( MIN_SIZE * ratio );\n\tconst minHeight =\n\t\tnaturalHeight < naturalWidth ? MIN_SIZE : Math.ceil( MIN_SIZE / ratio );\n\n\t// With the current implementation of ResizableBox, an image needs an\n\t// explicit pixel value for the max-width. In absence of being able to\n\t// set the content-width, this max-width is currently dictated by the\n\t// vanilla editor style. The following variable adds a buffer to this\n\t// vanilla style, so 3rd party themes have some wiggleroom. This does,\n\t// in most cases, allow you to scale the image beyond the width of the\n\t// main column, though not infinitely.\n\t// @todo It would be good to revisit this once a content-width variable\n\t// becomes available.\n\tconst maxWidthBuffer = maxWidth * 2.5;\n\n\tlet showRightHandle = false;\n\tlet showLeftHandle = false;\n\n\t/* eslint-disable no-lonely-if */\n\t// See https://github.com/WordPress/gutenberg/issues/7584.\n\tif ( align === 'center' ) {\n\t\t// When the image is centered, show both handles.\n\t\tshowRightHandle = true;\n\t\tshowLeftHandle = true;\n\t} else if ( isRTL() ) {\n\t\t// In RTL mode the image is on the right by default.\n\t\t// Show the right handle and hide the left handle only when it is\n\t\t// aligned left. Otherwise always show the left handle.\n\t\tif ( align === 'left' ) {\n\t\t\tshowRightHandle = true;\n\t\t} else {\n\t\t\tshowLeftHandle = true;\n\t\t}\n\t} else {\n\t\t// Show the left handle and hide the right handle only when the\n\t\t// image is aligned right. Otherwise always show the right handle.\n\t\tif ( align === 'right' ) {\n\t\t\tshowLeftHandle = true;\n\t\t} else {\n\t\t\tshowRightHandle = true;\n\t\t}\n\t}\n\t/* eslint-enable no-lonely-if */\n\n\tconst canEditImage =\n\t\tlogoId && naturalWidth && naturalHeight && imageEditing;\n\n\tconst imgEdit =\n\t\tcanEditImage && isEditingImage ? (\n\t\t\t<ImageEditor\n\t\t\t\tid={ logoId }\n\t\t\t\turl={ logoUrl }\n\t\t\t\twidth={ currentWidth }\n\t\t\t\theight={ currentHeight }\n\t\t\t\tclientWidth={ clientWidth }\n\t\t\t\tnaturalHeight={ naturalHeight }\n\t\t\t\tnaturalWidth={ naturalWidth }\n\t\t\t\tonSaveImage={ ( imageAttributes ) => {\n\t\t\t\t\tsetLogo( imageAttributes.id );\n\t\t\t\t} }\n\t\t\t\tonFinishEditing={ () => {\n\t\t\t\t\tsetIsEditingImage( false );\n\t\t\t\t} }\n\t\t\t/>\n\t\t) : (\n\t\t\t<ResizableBox\n\t\t\t\tsize={ {\n\t\t\t\t\twidth: currentWidth,\n\t\t\t\t\theight: currentHeight,\n\t\t\t\t} }\n\t\t\t\tshowHandle={ isSelected }\n\t\t\t\tminWidth={ minWidth }\n\t\t\t\tmaxWidth={ maxWidthBuffer }\n\t\t\t\tminHeight={ minHeight }\n\t\t\t\tmaxHeight={ maxWidthBuffer / ratio }\n\t\t\t\tlockAspectRatio\n\t\t\t\tenable={ {\n\t\t\t\t\ttop: false,\n\t\t\t\t\tright: showRightHandle,\n\t\t\t\t\tbottom: true,\n\t\t\t\t\tleft: showLeftHandle,\n\t\t\t\t} }\n\t\t\t\tonResizeStart={ onResizeStart }\n\t\t\t\tonResizeStop={ ( event, direction, elt, delta ) => {\n\t\t\t\t\tonResizeStop();\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: parseInt( currentWidth + delta.width, 10 ),\n\t\t\t\t\t\theight: parseInt( currentHeight + delta.height, 10 ),\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ imgWrapper }\n\t\t\t</ResizableBox>\n\t\t);\n\n\t// Support the previous location for the Site Icon settings. To be removed\n\t// when the required WP core version for Gutenberg is >= 6.5.0.\n\tconst shouldUseNewUrl = ! window?.__experimentalUseCustomizerSiteLogoUrl;\n\n\tconst siteIconSettingsUrl = shouldUseNewUrl\n\t\t? siteUrl + '/wp-admin/options-general.php'\n\t\t: siteUrl + '/wp-admin/customize.php?autofocus[section]=title_tagline';\n\n\tconst syncSiteIconHelpText = createInterpolateElement(\n\t\t__(\n\t\t\t'Site Icons are what you see in browser tabs, bookmark bars, and within the WordPress mobile apps. To use a custom icon that is different from your site logo, use the <a>Site Icon settings</a>.'\n\t\t),\n\t\t{\n\t\t\ta: (\n\t\t\t\t// eslint-disable-next-line jsx-a11y/anchor-has-content\n\t\t\t\t<a\n\t\t\t\t\thref={ siteIconSettingsUrl }\n\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t/>\n\t\t\t),\n\t\t}\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Image width' ) }\n\t\t\t\t\t\tonChange={ ( newWidth ) =>\n\t\t\t\t\t\t\tsetAttributes( { width: newWidth } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmin={ minWidth }\n\t\t\t\t\t\tmax={ maxWidthBuffer }\n\t\t\t\t\t\tinitialPosition={ Math.min(\n\t\t\t\t\t\t\tdefaultWidth,\n\t\t\t\t\t\t\tmaxWidthBuffer\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tvalue={ width || '' }\n\t\t\t\t\t\tdisabled={ ! isResizable }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Link image to home' ) }\n\t\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t/>\n\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\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\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t\t{ canUserEdit && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Use as Site Icon' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( { shouldSyncIcon: value } );\n\t\t\t\t\t\t\t\t\tsetIcon( value ? logoId : undefined );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tchecked={ !! shouldSyncIcon }\n\t\t\t\t\t\t\t\thelp={ syncSiteIconHelpText }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t{ canEditImage && ! isEditingImage && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tonClick={ () => setIsEditingImage( true ) }\n\t\t\t\t\t\ticon={ crop }\n\t\t\t\t\t\tlabel={ __( 'Crop' ) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t{ imgEdit }\n\t\t</>\n\t);\n};\n\n// This is a light wrapper around MediaReplaceFlow because the block has two\n// different MediaReplaceFlows, one for the inspector and one for the toolbar.\nfunction SiteLogoReplaceFlow( { onRemoveLogo, ...mediaReplaceProps } ) {\n\treturn (\n\t\t<MediaReplaceFlow\n\t\t\t{ ...mediaReplaceProps }\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\taccept={ ACCEPT_MEDIA_STRING }\n\t\t>\n\t\t\t<MenuItem onClick={ onRemoveLogo }>{ __( 'Reset' ) }</MenuItem>\n\t\t</MediaReplaceFlow>\n\t);\n}\n\nconst InspectorLogoPreview = ( { mediaItemData = {}, itemGroupProps } ) => {\n\tconst {\n\t\talt_text: alt,\n\t\tsource_url: logoUrl,\n\t\tslug: logoSlug,\n\t\tmedia_details: logoMediaDetails,\n\t} = mediaItemData;\n\tconst logoLabel = logoMediaDetails?.sizes?.full?.file || logoSlug;\n\treturn (\n\t\t<ItemGroup { ...itemGroupProps } as=\"span\">\n\t\t\t<HStack justify=\"flex-start\" as=\"span\">\n\t\t\t\t<img src={ logoUrl } alt={ alt } />\n\t\t\t\t<FlexItem as=\"span\">\n\t\t\t\t\t<Truncate\n\t\t\t\t\t\tnumberOfLines={ 1 }\n\t\t\t\t\t\tclassName=\"block-library-site-logo__inspector-media-replace-title\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ logoLabel }\n\t\t\t\t\t</Truncate>\n\t\t\t\t</FlexItem>\n\t\t\t</HStack>\n\t\t</ItemGroup>\n\t);\n};\n\nexport default function LogoEdit( {\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tisSelected,\n} ) {\n\tconst { width, shouldSyncIcon } = attributes;\n\tconst ref = useRef();\n\n\tconst {\n\t\tsiteLogoId,\n\t\tcanUserEdit,\n\t\turl,\n\t\tsiteIconId,\n\t\tmediaItemData,\n\t\tisRequestingMediaItem,\n\t} = useSelect( ( select ) => {\n\t\tconst { canUser, getEntityRecord, getEditedEntityRecord } =\n\t\t\tselect( coreStore );\n\t\tconst _canUserEdit = canUser( 'update', 'settings' );\n\t\tconst siteSettings = _canUserEdit\n\t\t\t? getEditedEntityRecord( 'root', 'site' )\n\t\t\t: undefined;\n\t\tconst siteData = getEntityRecord( 'root', '__unstableBase' );\n\t\tconst _siteLogoId = _canUserEdit\n\t\t\t? siteSettings?.site_logo\n\t\t\t: siteData?.site_logo;\n\t\tconst _siteIconId = siteSettings?.site_icon;\n\t\tconst mediaItem =\n\t\t\t_siteLogoId &&\n\t\t\tselect( coreStore ).getMedia( _siteLogoId, {\n\t\t\t\tcontext: 'view',\n\t\t\t} );\n\t\tconst _isRequestingMediaItem =\n\t\t\t_siteLogoId &&\n\t\t\t! select( coreStore ).hasFinishedResolution( 'getMedia', [\n\t\t\t\t_siteLogoId,\n\t\t\t\t{ context: 'view' },\n\t\t\t] );\n\n\t\treturn {\n\t\t\tsiteLogoId: _siteLogoId,\n\t\t\tcanUserEdit: _canUserEdit,\n\t\t\turl: siteData?.home,\n\t\t\tmediaItemData: mediaItem,\n\t\t\tisRequestingMediaItem: _isRequestingMediaItem,\n\t\t\tsiteIconId: _siteIconId,\n\t\t};\n\t}, [] );\n\tconst { getSettings } = useSelect( blockEditorStore );\n\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\n\tconst setLogo = ( newValue, shouldForceSync = false ) => {\n\t\t// `shouldForceSync` is used to force syncing when the attribute\n\t\t// may not have updated yet.\n\t\tif ( shouldSyncIcon || shouldForceSync ) {\n\t\t\tsetIcon( newValue );\n\t\t}\n\n\t\teditEntityRecord( 'root', 'site', undefined, {\n\t\t\tsite_logo: newValue,\n\t\t} );\n\t};\n\n\tconst setIcon = ( newValue ) =>\n\t\t// The new value needs to be `null` to reset the Site Icon.\n\t\teditEntityRecord( 'root', 'site', undefined, {\n\t\t\tsite_icon: newValue ?? null,\n\t\t} );\n\n\tconst { alt_text: alt, source_url: logoUrl } = mediaItemData ?? {};\n\n\tconst onInitialSelectLogo = ( media ) => {\n\t\t// Initialize the syncSiteIcon toggle. If we currently have no Site logo and no\n\t\t// site icon, automatically sync the logo to the icon.\n\t\tif ( shouldSyncIcon === undefined ) {\n\t\t\tconst shouldForceSync = ! siteIconId;\n\t\t\tsetAttributes( { shouldSyncIcon: shouldForceSync } );\n\n\t\t\t// Because we cannot rely on the `shouldSyncIcon` attribute to have updated by\n\t\t\t// the time `setLogo` is called, pass an argument to force the syncing.\n\t\t\tonSelectLogo( media, shouldForceSync );\n\t\t\treturn;\n\t\t}\n\n\t\tonSelectLogo( media );\n\t};\n\n\tconst onSelectLogo = ( media, shouldForceSync = false ) => {\n\t\tif ( ! media ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! media.id && media.url ) {\n\t\t\t// This is a temporary blob image.\n\t\t\tsetLogo( undefined );\n\t\t\treturn;\n\t\t}\n\n\t\tsetLogo( media.id, shouldForceSync );\n\t};\n\n\tconst onRemoveLogo = () => {\n\t\tsetLogo( null );\n\t\tsetAttributes( { width: undefined } );\n\t};\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t};\n\n\tconst onFilesDrop = ( filesList ) => {\n\t\tgetSettings().mediaUpload( {\n\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\tfilesList,\n\t\t\tonFileChange( [ image ] ) {\n\t\t\t\tif ( isBlobURL( image?.url ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tonInitialSelectLogo( image );\n\t\t\t},\n\t\t\tonError: onUploadError,\n\t\t} );\n\t};\n\n\tconst mediaReplaceFlowProps = {\n\t\tmediaURL: logoUrl,\n\t\tonSelect: onSelectLogo,\n\t\tonError: onUploadError,\n\t\tonRemoveLogo,\n\t};\n\tconst controls = canUserEdit && logoUrl && (\n\t\t<BlockControls group=\"other\">\n\t\t\t<SiteLogoReplaceFlow { ...mediaReplaceFlowProps } />\n\t\t</BlockControls>\n\t);\n\n\tlet logoImage;\n\tconst isLoading = siteLogoId === undefined || isRequestingMediaItem;\n\tif ( isLoading ) {\n\t\tlogoImage = <Spinner />;\n\t}\n\tif ( !! logoUrl ) {\n\t\tlogoImage = (\n\t\t\t<SiteLogo\n\t\t\t\talt={ alt }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tclassName={ className }\n\t\t\t\tcontainerRef={ ref }\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tlogoUrl={ logoUrl }\n\t\t\t\tsetLogo={ setLogo }\n\t\t\t\tlogoId={ mediaItemData?.id || siteLogoId }\n\t\t\t\tsiteUrl={ url }\n\t\t\t\tsetIcon={ setIcon }\n\t\t\t\ticonId={ siteIconId }\n\t\t\t\tcanUserEdit={ canUserEdit }\n\t\t\t/>\n\t\t);\n\t}\n\tconst placeholder = ( content ) => {\n\t\tconst placeholderClassName = classnames(\n\t\t\t'block-editor-media-placeholder',\n\t\t\tclassName\n\t\t);\n\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName={ placeholderClassName }\n\t\t\t\tpreview={ logoImage }\n\t\t\t\twithIllustration={ true }\n\t\t\t\tstyle={ {\n\t\t\t\t\twidth,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ content }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\tconst classes = classnames( className, {\n\t\t'is-default-size': ! width,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tref,\n\t\tclassName: classes,\n\t} );\n\n\tconst label = __( 'Add a site logo' );\n\n\tconst mediaInspectorPanel = ( canUserEdit || logoUrl ) && (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Media' ) }>\n\t\t\t\t<div className=\"block-library-site-logo__inspector-media-replace-container\">\n\t\t\t\t\t{ ! canUserEdit && !! logoUrl && (\n\t\t\t\t\t\t<InspectorLogoPreview\n\t\t\t\t\t\t\tmediaItemData={ mediaItemData }\n\t\t\t\t\t\t\titemGroupProps={ {\n\t\t\t\t\t\t\t\tisBordered: true,\n\t\t\t\t\t\t\t\tclassName:\n\t\t\t\t\t\t\t\t\t'block-library-site-logo__inspector-readonly-logo-preview',\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ canUserEdit && !! logoUrl && (\n\t\t\t\t\t\t<SiteLogoReplaceFlow\n\t\t\t\t\t\t\t{ ...mediaReplaceFlowProps }\n\t\t\t\t\t\t\tname={\n\t\t\t\t\t\t\t\t<InspectorLogoPreview\n\t\t\t\t\t\t\t\t\tmediaItemData={ mediaItemData }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tpopoverProps={ {} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ canUserEdit && ! logoUrl && (\n\t\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\tonSelect={ onInitialSelectLogo }\n\t\t\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t<div className=\"block-library-site-logo__inspector-upload-container\">\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ isLoading ? (\n\t\t\t\t\t\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t__( 'Add media' )\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t<DropZone onFilesDrop={ onFilesDrop } />\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t{ controls }\n\t\t\t{ mediaInspectorPanel }\n\t\t\t{ !! logoUrl && logoImage }\n\t\t\t{ ! logoUrl && ! canUserEdit && (\n\t\t\t\t<Placeholder className=\"site-logo_placeholder\">\n\t\t\t\t\t{ !! isLoading && (\n\t\t\t\t\t\t<span className=\"components-placeholder__preview\">\n\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</Placeholder>\n\t\t\t) }\n\t\t\t{ ! logoUrl && canUserEdit && (\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\tonSelect={ onInitialSelectLogo }\n\t\t\t\t\taccept={ ACCEPT_MEDIA_STRING }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t\tmediaLibraryButton={ ( { open } ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\t\ttooltipPosition=\"top center\"\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\topen();\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} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_classnames","_interopRequireDefault","require","_blob","_element","_i18n","_components","_compose","_blockEditor","_data","_coreData","_icons","_notices","_useClientWidth","_constants","ALLOWED_MEDIA_TYPES","ACCEPT_MEDIA_STRING","SiteLogo","alt","attributes","align","width","height","isLink","linkTarget","shouldSyncIcon","containerRef","isSelected","setAttributes","setLogo","logoUrl","siteUrl","logoId","iconId","setIcon","canUserEdit","clientWidth","useClientWidth","isLargeViewport","useViewportMatch","isWideAligned","includes","isResizable","naturalWidth","naturalHeight","setNaturalSize","useState","isEditingImage","setIsEditingImage","toggleSelection","useDispatch","blockEditorStore","classes","classnames","isBlobURL","imageEditing","maxWidth","title","useSelect","select","settings","getSettings","siteEntities","coreStore","getEntityRecord","name","useEffect","onResizeStart","onResizeStop","img","_react","createElement","className","src","onLoad","event","target","imgWrapper","href","rel","onClick","preventDefault","imageWidthWithinContainer","exceedMaxWidth","style","defaultWidth","currentWidth","ratio","currentHeight","minWidth","MIN_SIZE","Math","ceil","minHeight","maxWidthBuffer","showRightHandle","showLeftHandle","isRTL","canEditImage","imgEdit","__experimentalImageEditor","id","url","onSaveImage","imageAttributes","onFinishEditing","ResizableBox","size","showHandle","maxHeight","lockAspectRatio","enable","top","right","bottom","left","direction","elt","delta","parseInt","shouldUseNewUrl","window","__experimentalUseCustomizerSiteLogoUrl","siteIconSettingsUrl","syncSiteIconHelpText","createInterpolateElement","__","a","Fragment","InspectorControls","PanelBody","RangeControl","__nextHasNoMarginBottom","__next40pxDefaultSize","label","onChange","newWidth","min","max","initialPosition","value","disabled","ToggleControl","checked","undefined","help","BlockControls","group","ToolbarButton","icon","crop","SiteLogoReplaceFlow","onRemoveLogo","mediaReplaceProps","MediaReplaceFlow","allowedTypes","accept","MenuItem","InspectorLogoPreview","mediaItemData","itemGroupProps","alt_text","source_url","slug","logoSlug","media_details","logoMediaDetails","logoLabel","sizes","full","file","__experimentalItemGroup","as","__experimentalHStack","justify","FlexItem","__experimentalTruncate","numberOfLines","LogoEdit","ref","useRef","siteLogoId","siteIconId","isRequestingMediaItem","canUser","getEditedEntityRecord","_canUserEdit","siteSettings","siteData","_siteLogoId","site_logo","_siteIconId","site_icon","mediaItem","getMedia","context","_isRequestingMediaItem","hasFinishedResolution","home","editEntityRecord","newValue","shouldForceSync","onInitialSelectLogo","media","onSelectLogo","createErrorNotice","noticesStore","onUploadError","message","type","onFilesDrop","filesList","mediaUpload","onFileChange","image","onError","mediaReplaceFlowProps","mediaURL","onSelect","controls","logoImage","isLoading","Spinner","placeholder","content","placeholderClassName","Placeholder","preview","withIllustration","blockProps","useBlockProps","mediaInspectorPanel","isBordered","popoverProps","MediaUploadCheck","MediaUpload","render","open","Button","variant","DropZone","MediaPlaceholder","mediaLibraryButton","upload","showTooltip","tooltipPosition"],"sources":["@wordpress/block-library/src/site-logo/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport {\n\tcreateInterpolateElement,\n\tuseEffect,\n\tuseState,\n\tuseRef,\n} from '@wordpress/element';\nimport { __, isRTL } from '@wordpress/i18n';\nimport {\n\tMenuItem,\n\tPanelBody,\n\tRangeControl,\n\tResizableBox,\n\tSpinner,\n\tToggleControl,\n\tToolbarButton,\n\tPlaceholder,\n\tButton,\n\tDropZone,\n\tFlexItem,\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalHStack as HStack,\n\t__experimentalTruncate as Truncate,\n} from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaUpload,\n\tMediaUploadCheck,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalImageEditor as ImageEditor,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { crop, upload } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport useClientWidth from '../image/use-client-width';\n\n/**\n * Module constants\n */\nimport { MIN_SIZE } from '../image/constants';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\nconst ACCEPT_MEDIA_STRING = 'image/*';\n\nconst SiteLogo = ( {\n\talt,\n\tattributes: { align, width, height, isLink, linkTarget, shouldSyncIcon },\n\tcontainerRef,\n\tisSelected,\n\tsetAttributes,\n\tsetLogo,\n\tlogoUrl,\n\tsiteUrl,\n\tlogoId,\n\ticonId,\n\tsetIcon,\n\tcanUserEdit,\n} ) => {\n\tconst clientWidth = useClientWidth( containerRef, [ align ] );\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst isWideAligned = [ 'wide', 'full' ].includes( align );\n\tconst isResizable = ! isWideAligned && isLargeViewport;\n\tconst [ { naturalWidth, naturalHeight }, setNaturalSize ] = useState( {} );\n\tconst [ isEditingImage, setIsEditingImage ] = useState( false );\n\tconst { toggleSelection } = useDispatch( blockEditorStore );\n\tconst classes = classnames( 'custom-logo-link', {\n\t\t'is-transient': isBlobURL( logoUrl ),\n\t} );\n\tconst { imageEditing, maxWidth, title } = useSelect( ( select ) => {\n\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\tconst siteEntities = select( coreStore ).getEntityRecord(\n\t\t\t'root',\n\t\t\t'__unstableBase'\n\t\t);\n\t\treturn {\n\t\t\ttitle: siteEntities?.name,\n\t\t\timageEditing: settings.imageEditing,\n\t\t\tmaxWidth: settings.maxWidth,\n\t\t};\n\t}, [] );\n\n\tuseEffect( () => {\n\t\t// Turn the `Use as site icon` toggle off if it is on but the logo and icon have\n\t\t// fallen out of sync. This can happen if the toggle is saved in the `on` position,\n\t\t// but changes are later made to the site icon in the Customizer.\n\t\tif ( shouldSyncIcon && logoId !== iconId ) {\n\t\t\tsetAttributes( { shouldSyncIcon: false } );\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsEditingImage( false );\n\t\t}\n\t}, [ isSelected ] );\n\n\tfunction onResizeStart() {\n\t\ttoggleSelection( false );\n\t}\n\n\tfunction onResizeStop() {\n\t\ttoggleSelection( true );\n\t}\n\n\tconst img = (\n\t\t<img\n\t\t\tclassName=\"custom-logo\"\n\t\t\tsrc={ logoUrl }\n\t\t\talt={ alt }\n\t\t\tonLoad={ ( event ) => {\n\t\t\t\tsetNaturalSize( {\n\t\t\t\t\tnaturalWidth: event.target.naturalWidth,\n\t\t\t\t\tnaturalHeight: event.target.naturalHeight,\n\t\t\t\t} );\n\t\t\t} }\n\t\t/>\n\t);\n\n\tlet imgWrapper = img;\n\n\t// Disable reason: Image itself is not meant to be interactive, but\n\t// should direct focus to block.\n\tif ( isLink ) {\n\t\timgWrapper = (\n\t\t\t/* eslint-disable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t\t<a\n\t\t\t\thref={ siteUrl }\n\t\t\t\tclassName={ classes }\n\t\t\t\trel=\"home\"\n\t\t\t\ttitle={ title }\n\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t>\n\t\t\t\t{ img }\n\t\t\t</a>\n\t\t\t/* eslint-enable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t);\n\t}\n\n\tlet imageWidthWithinContainer;\n\n\tif ( clientWidth && naturalWidth && naturalHeight ) {\n\t\tconst exceedMaxWidth = naturalWidth > clientWidth;\n\t\timageWidthWithinContainer = exceedMaxWidth ? clientWidth : naturalWidth;\n\t}\n\n\tif ( ! isResizable || ! imageWidthWithinContainer ) {\n\t\treturn <div style={ { width, height } }>{ imgWrapper }</div>;\n\t}\n\n\t// Set the default width to a responsible size.\n\t// Note that this width is also set in the attached frontend CSS file.\n\tconst defaultWidth = 120;\n\n\tconst currentWidth = width || defaultWidth;\n\tconst ratio = naturalWidth / naturalHeight;\n\tconst currentHeight = currentWidth / ratio;\n\tconst minWidth =\n\t\tnaturalWidth < naturalHeight ? MIN_SIZE : Math.ceil( MIN_SIZE * ratio );\n\tconst minHeight =\n\t\tnaturalHeight < naturalWidth ? MIN_SIZE : Math.ceil( MIN_SIZE / ratio );\n\n\t// With the current implementation of ResizableBox, an image needs an\n\t// explicit pixel value for the max-width. In absence of being able to\n\t// set the content-width, this max-width is currently dictated by the\n\t// vanilla editor style. The following variable adds a buffer to this\n\t// vanilla style, so 3rd party themes have some wiggleroom. This does,\n\t// in most cases, allow you to scale the image beyond the width of the\n\t// main column, though not infinitely.\n\t// @todo It would be good to revisit this once a content-width variable\n\t// becomes available.\n\tconst maxWidthBuffer = maxWidth * 2.5;\n\n\tlet showRightHandle = false;\n\tlet showLeftHandle = false;\n\n\t/* eslint-disable no-lonely-if */\n\t// See https://github.com/WordPress/gutenberg/issues/7584.\n\tif ( align === 'center' ) {\n\t\t// When the image is centered, show both handles.\n\t\tshowRightHandle = true;\n\t\tshowLeftHandle = true;\n\t} else if ( isRTL() ) {\n\t\t// In RTL mode the image is on the right by default.\n\t\t// Show the right handle and hide the left handle only when it is\n\t\t// aligned left. Otherwise always show the left handle.\n\t\tif ( align === 'left' ) {\n\t\t\tshowRightHandle = true;\n\t\t} else {\n\t\t\tshowLeftHandle = true;\n\t\t}\n\t} else {\n\t\t// Show the left handle and hide the right handle only when the\n\t\t// image is aligned right. Otherwise always show the right handle.\n\t\tif ( align === 'right' ) {\n\t\t\tshowLeftHandle = true;\n\t\t} else {\n\t\t\tshowRightHandle = true;\n\t\t}\n\t}\n\t/* eslint-enable no-lonely-if */\n\n\tconst canEditImage =\n\t\tlogoId && naturalWidth && naturalHeight && imageEditing;\n\n\tconst imgEdit =\n\t\tcanEditImage && isEditingImage ? (\n\t\t\t<ImageEditor\n\t\t\t\tid={ logoId }\n\t\t\t\turl={ logoUrl }\n\t\t\t\twidth={ currentWidth }\n\t\t\t\theight={ currentHeight }\n\t\t\t\tclientWidth={ clientWidth }\n\t\t\t\tnaturalHeight={ naturalHeight }\n\t\t\t\tnaturalWidth={ naturalWidth }\n\t\t\t\tonSaveImage={ ( imageAttributes ) => {\n\t\t\t\t\tsetLogo( imageAttributes.id );\n\t\t\t\t} }\n\t\t\t\tonFinishEditing={ () => {\n\t\t\t\t\tsetIsEditingImage( false );\n\t\t\t\t} }\n\t\t\t/>\n\t\t) : (\n\t\t\t<ResizableBox\n\t\t\t\tsize={ {\n\t\t\t\t\twidth: currentWidth,\n\t\t\t\t\theight: currentHeight,\n\t\t\t\t} }\n\t\t\t\tshowHandle={ isSelected }\n\t\t\t\tminWidth={ minWidth }\n\t\t\t\tmaxWidth={ maxWidthBuffer }\n\t\t\t\tminHeight={ minHeight }\n\t\t\t\tmaxHeight={ maxWidthBuffer / ratio }\n\t\t\t\tlockAspectRatio\n\t\t\t\tenable={ {\n\t\t\t\t\ttop: false,\n\t\t\t\t\tright: showRightHandle,\n\t\t\t\t\tbottom: true,\n\t\t\t\t\tleft: showLeftHandle,\n\t\t\t\t} }\n\t\t\t\tonResizeStart={ onResizeStart }\n\t\t\t\tonResizeStop={ ( event, direction, elt, delta ) => {\n\t\t\t\t\tonResizeStop();\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: parseInt( currentWidth + delta.width, 10 ),\n\t\t\t\t\t\theight: parseInt( currentHeight + delta.height, 10 ),\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ imgWrapper }\n\t\t\t</ResizableBox>\n\t\t);\n\n\t// Support the previous location for the Site Icon settings. To be removed\n\t// when the required WP core version for Gutenberg is >= 6.5.0.\n\tconst shouldUseNewUrl = ! window?.__experimentalUseCustomizerSiteLogoUrl;\n\n\tconst siteIconSettingsUrl = shouldUseNewUrl\n\t\t? siteUrl + '/wp-admin/options-general.php'\n\t\t: siteUrl + '/wp-admin/customize.php?autofocus[section]=title_tagline';\n\n\tconst syncSiteIconHelpText = createInterpolateElement(\n\t\t__(\n\t\t\t'Site Icons are what you see in browser tabs, bookmark bars, and within the WordPress mobile apps. To use a custom icon that is different from your site logo, use the <a>Site Icon settings</a>.'\n\t\t),\n\t\t{\n\t\t\ta: (\n\t\t\t\t// eslint-disable-next-line jsx-a11y/anchor-has-content\n\t\t\t\t<a\n\t\t\t\t\thref={ siteIconSettingsUrl }\n\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t/>\n\t\t\t),\n\t\t}\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Image width' ) }\n\t\t\t\t\t\tonChange={ ( newWidth ) =>\n\t\t\t\t\t\t\tsetAttributes( { width: newWidth } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmin={ minWidth }\n\t\t\t\t\t\tmax={ maxWidthBuffer }\n\t\t\t\t\t\tinitialPosition={ Math.min(\n\t\t\t\t\t\t\tdefaultWidth,\n\t\t\t\t\t\t\tmaxWidthBuffer\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tvalue={ width || '' }\n\t\t\t\t\t\tdisabled={ ! isResizable }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Link image to home' ) }\n\t\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t/>\n\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\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\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t\t{ canUserEdit && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Use as Site Icon' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( { shouldSyncIcon: value } );\n\t\t\t\t\t\t\t\t\tsetIcon( value ? logoId : undefined );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tchecked={ !! shouldSyncIcon }\n\t\t\t\t\t\t\t\thelp={ syncSiteIconHelpText }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t{ canEditImage && ! isEditingImage && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tonClick={ () => setIsEditingImage( true ) }\n\t\t\t\t\t\ticon={ crop }\n\t\t\t\t\t\tlabel={ __( 'Crop' ) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t{ imgEdit }\n\t\t</>\n\t);\n};\n\n// This is a light wrapper around MediaReplaceFlow because the block has two\n// different MediaReplaceFlows, one for the inspector and one for the toolbar.\nfunction SiteLogoReplaceFlow( { onRemoveLogo, ...mediaReplaceProps } ) {\n\treturn (\n\t\t<MediaReplaceFlow\n\t\t\t{ ...mediaReplaceProps }\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\taccept={ ACCEPT_MEDIA_STRING }\n\t\t>\n\t\t\t<MenuItem onClick={ onRemoveLogo }>{ __( 'Reset' ) }</MenuItem>\n\t\t</MediaReplaceFlow>\n\t);\n}\n\nconst InspectorLogoPreview = ( { mediaItemData = {}, itemGroupProps } ) => {\n\tconst {\n\t\talt_text: alt,\n\t\tsource_url: logoUrl,\n\t\tslug: logoSlug,\n\t\tmedia_details: logoMediaDetails,\n\t} = mediaItemData;\n\tconst logoLabel = logoMediaDetails?.sizes?.full?.file || logoSlug;\n\treturn (\n\t\t<ItemGroup { ...itemGroupProps } as=\"span\">\n\t\t\t<HStack justify=\"flex-start\" as=\"span\">\n\t\t\t\t<img src={ logoUrl } alt={ alt } />\n\t\t\t\t<FlexItem as=\"span\">\n\t\t\t\t\t<Truncate\n\t\t\t\t\t\tnumberOfLines={ 1 }\n\t\t\t\t\t\tclassName=\"block-library-site-logo__inspector-media-replace-title\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ logoLabel }\n\t\t\t\t\t</Truncate>\n\t\t\t\t</FlexItem>\n\t\t\t</HStack>\n\t\t</ItemGroup>\n\t);\n};\n\nexport default function LogoEdit( {\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tisSelected,\n} ) {\n\tconst { width, shouldSyncIcon } = attributes;\n\tconst ref = useRef();\n\n\tconst {\n\t\tsiteLogoId,\n\t\tcanUserEdit,\n\t\turl,\n\t\tsiteIconId,\n\t\tmediaItemData,\n\t\tisRequestingMediaItem,\n\t} = useSelect( ( select ) => {\n\t\tconst { canUser, getEntityRecord, getEditedEntityRecord } =\n\t\t\tselect( coreStore );\n\t\tconst _canUserEdit = canUser( 'update', 'settings' );\n\t\tconst siteSettings = _canUserEdit\n\t\t\t? getEditedEntityRecord( 'root', 'site' )\n\t\t\t: undefined;\n\t\tconst siteData = getEntityRecord( 'root', '__unstableBase' );\n\t\tconst _siteLogoId = _canUserEdit\n\t\t\t? siteSettings?.site_logo\n\t\t\t: siteData?.site_logo;\n\t\tconst _siteIconId = siteSettings?.site_icon;\n\t\tconst mediaItem =\n\t\t\t_siteLogoId &&\n\t\t\tselect( coreStore ).getMedia( _siteLogoId, {\n\t\t\t\tcontext: 'view',\n\t\t\t} );\n\t\tconst _isRequestingMediaItem =\n\t\t\t_siteLogoId &&\n\t\t\t! select( coreStore ).hasFinishedResolution( 'getMedia', [\n\t\t\t\t_siteLogoId,\n\t\t\t\t{ context: 'view' },\n\t\t\t] );\n\n\t\treturn {\n\t\t\tsiteLogoId: _siteLogoId,\n\t\t\tcanUserEdit: _canUserEdit,\n\t\t\turl: siteData?.home,\n\t\t\tmediaItemData: mediaItem,\n\t\t\tisRequestingMediaItem: _isRequestingMediaItem,\n\t\t\tsiteIconId: _siteIconId,\n\t\t};\n\t}, [] );\n\tconst { getSettings } = useSelect( blockEditorStore );\n\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\n\tconst setLogo = ( newValue, shouldForceSync = false ) => {\n\t\t// `shouldForceSync` is used to force syncing when the attribute\n\t\t// may not have updated yet.\n\t\tif ( shouldSyncIcon || shouldForceSync ) {\n\t\t\tsetIcon( newValue );\n\t\t}\n\n\t\teditEntityRecord( 'root', 'site', undefined, {\n\t\t\tsite_logo: newValue,\n\t\t} );\n\t};\n\n\tconst setIcon = ( newValue ) =>\n\t\t// The new value needs to be `null` to reset the Site Icon.\n\t\teditEntityRecord( 'root', 'site', undefined, {\n\t\t\tsite_icon: newValue ?? null,\n\t\t} );\n\n\tconst { alt_text: alt, source_url: logoUrl } = mediaItemData ?? {};\n\n\tconst onInitialSelectLogo = ( media ) => {\n\t\t// Initialize the syncSiteIcon toggle. If we currently have no Site logo and no\n\t\t// site icon, automatically sync the logo to the icon.\n\t\tif ( shouldSyncIcon === undefined ) {\n\t\t\tconst shouldForceSync = ! siteIconId;\n\t\t\tsetAttributes( { shouldSyncIcon: shouldForceSync } );\n\n\t\t\t// Because we cannot rely on the `shouldSyncIcon` attribute to have updated by\n\t\t\t// the time `setLogo` is called, pass an argument to force the syncing.\n\t\t\tonSelectLogo( media, shouldForceSync );\n\t\t\treturn;\n\t\t}\n\n\t\tonSelectLogo( media );\n\t};\n\n\tconst onSelectLogo = ( media, shouldForceSync = false ) => {\n\t\tif ( ! media ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! media.id && media.url ) {\n\t\t\t// This is a temporary blob image.\n\t\t\tsetLogo( undefined );\n\t\t\treturn;\n\t\t}\n\n\t\tsetLogo( media.id, shouldForceSync );\n\t};\n\n\tconst onRemoveLogo = () => {\n\t\tsetLogo( null );\n\t\tsetAttributes( { width: undefined } );\n\t};\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t};\n\n\tconst onFilesDrop = ( filesList ) => {\n\t\tgetSettings().mediaUpload( {\n\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\tfilesList,\n\t\t\tonFileChange( [ image ] ) {\n\t\t\t\tif ( isBlobURL( image?.url ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tonInitialSelectLogo( image );\n\t\t\t},\n\t\t\tonError: onUploadError,\n\t\t} );\n\t};\n\n\tconst mediaReplaceFlowProps = {\n\t\tmediaURL: logoUrl,\n\t\tonSelect: onSelectLogo,\n\t\tonError: onUploadError,\n\t\tonRemoveLogo,\n\t};\n\tconst controls = canUserEdit && logoUrl && (\n\t\t<BlockControls group=\"other\">\n\t\t\t<SiteLogoReplaceFlow { ...mediaReplaceFlowProps } />\n\t\t</BlockControls>\n\t);\n\n\tlet logoImage;\n\tconst isLoading = siteLogoId === undefined || isRequestingMediaItem;\n\tif ( isLoading ) {\n\t\tlogoImage = <Spinner />;\n\t}\n\tif ( !! logoUrl ) {\n\t\tlogoImage = (\n\t\t\t<SiteLogo\n\t\t\t\talt={ alt }\n\t\t\t\tattributes={ attributes }\n\t\t\t\tclassName={ className }\n\t\t\t\tcontainerRef={ ref }\n\t\t\t\tisSelected={ isSelected }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tlogoUrl={ logoUrl }\n\t\t\t\tsetLogo={ setLogo }\n\t\t\t\tlogoId={ mediaItemData?.id || siteLogoId }\n\t\t\t\tsiteUrl={ url }\n\t\t\t\tsetIcon={ setIcon }\n\t\t\t\ticonId={ siteIconId }\n\t\t\t\tcanUserEdit={ canUserEdit }\n\t\t\t/>\n\t\t);\n\t}\n\tconst placeholder = ( content ) => {\n\t\tconst placeholderClassName = classnames(\n\t\t\t'block-editor-media-placeholder',\n\t\t\tclassName\n\t\t);\n\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName={ placeholderClassName }\n\t\t\t\tpreview={ logoImage }\n\t\t\t\twithIllustration\n\t\t\t\tstyle={ {\n\t\t\t\t\twidth,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ content }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\tconst classes = classnames( className, {\n\t\t'is-default-size': ! width,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tref,\n\t\tclassName: classes,\n\t} );\n\n\tconst label = __( 'Add a site logo' );\n\n\tconst mediaInspectorPanel = ( canUserEdit || logoUrl ) && (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Media' ) }>\n\t\t\t\t<div className=\"block-library-site-logo__inspector-media-replace-container\">\n\t\t\t\t\t{ ! canUserEdit && !! logoUrl && (\n\t\t\t\t\t\t<InspectorLogoPreview\n\t\t\t\t\t\t\tmediaItemData={ mediaItemData }\n\t\t\t\t\t\t\titemGroupProps={ {\n\t\t\t\t\t\t\t\tisBordered: true,\n\t\t\t\t\t\t\t\tclassName:\n\t\t\t\t\t\t\t\t\t'block-library-site-logo__inspector-readonly-logo-preview',\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ canUserEdit && !! logoUrl && (\n\t\t\t\t\t\t<SiteLogoReplaceFlow\n\t\t\t\t\t\t\t{ ...mediaReplaceFlowProps }\n\t\t\t\t\t\t\tname={\n\t\t\t\t\t\t\t\t<InspectorLogoPreview\n\t\t\t\t\t\t\t\t\tmediaItemData={ mediaItemData }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tpopoverProps={ {} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ canUserEdit && ! logoUrl && (\n\t\t\t\t\t\t<MediaUploadCheck>\n\t\t\t\t\t\t\t<MediaUpload\n\t\t\t\t\t\t\t\tonSelect={ onInitialSelectLogo }\n\t\t\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t\t\t\t\t<div className=\"block-library-site-logo__inspector-upload-container\">\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t{ isLoading ? (\n\t\t\t\t\t\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\t\t__( 'Add media' )\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t\t<DropZone onFilesDrop={ onFilesDrop } />\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</MediaUploadCheck>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t{ controls }\n\t\t\t{ mediaInspectorPanel }\n\t\t\t{ !! logoUrl && logoImage }\n\t\t\t{ ! logoUrl && ! canUserEdit && (\n\t\t\t\t<Placeholder className=\"site-logo_placeholder\">\n\t\t\t\t\t{ !! isLoading && (\n\t\t\t\t\t\t<span className=\"components-placeholder__preview\">\n\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</Placeholder>\n\t\t\t) }\n\t\t\t{ ! logoUrl && canUserEdit && (\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\tonSelect={ onInitialSelectLogo }\n\t\t\t\t\taccept={ ACCEPT_MEDIA_STRING }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t\tmediaLibraryButton={ ( { open } ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\t\ttooltipPosition=\"top center\"\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\topen();\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} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_classnames","_interopRequireDefault","require","_data","_coreData","_i18n","_blockEditor","_components","_blocks","_htmlEntities","HEADING_LEVELS","SiteTitleEdit","attributes","setAttributes","insertBlocksAfter","level","textAlign","isLink","linkTarget","canUserEdit","title","useSelect","select","canUser","getEntityRecord","getEditedEntityRecord","coreStore","canEdit","settings","readOnlySettings","name","editEntityRecord","useDispatch","setTitle","newTitle","undefined","TagName","blockProps","useBlockProps","className","classnames","siteTitleContent","_react","createElement","RichText","tagName","href","__","placeholder","value","onChange","allowedFormats","disableLineBreaks","__unstableOnSplitAtEnd","createBlock","getDefaultBlockName","onClick","event","preventDefault","decodeEntities","Fragment","BlockControls","group","HeadingLevelDropdown","options","newLevel","AlignmentControl","nextAlign","InspectorControls","PanelBody","ToggleControl","__nextHasNoMarginBottom","label","checked"],"sources":["@wordpress/block-library/src/site-title/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tRichText,\n\tAlignmentControl,\n\tInspectorControls,\n\tBlockControls,\n\tuseBlockProps,\n\tHeadingLevelDropdown,\n} from '@wordpress/block-editor';\nimport { ToggleControl, PanelBody } from '@wordpress/components';\nimport { createBlock, getDefaultBlockName } from '@wordpress/blocks';\nimport { decodeEntities } from '@wordpress/html-entities';\n\nconst HEADING_LEVELS = [ 0, 1, 2, 3, 4, 5, 6 ];\n\nexport default function SiteTitleEdit( {\n\tattributes,\n\tsetAttributes,\n\tinsertBlocksAfter,\n} ) {\n\tconst { level, textAlign, isLink, linkTarget } = attributes;\n\tconst { canUserEdit, title } = useSelect( ( select ) => {\n\t\tconst { canUser, getEntityRecord, getEditedEntityRecord } =\n\t\t\tselect( coreStore );\n\t\tconst canEdit = canUser( 'update', 'settings' );\n\t\tconst settings = canEdit ? getEditedEntityRecord( 'root', 'site' ) : {};\n\t\tconst readOnlySettings = getEntityRecord( 'root', '__unstableBase' );\n\n\t\treturn {\n\t\t\tcanUserEdit: canEdit,\n\t\t\ttitle: canEdit ? settings?.title : readOnlySettings?.name,\n\t\t};\n\t}, [] );\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\n\tfunction setTitle( newTitle ) {\n\t\teditEntityRecord( 'root', 'site', undefined, {\n\t\t\ttitle: newTitle,\n\t\t} );\n\t}\n\n\tconst TagName = level === 0 ? 'p' : `h${ level }`;\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classnames( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t\t'wp-block-site-title__placeholder': ! canUserEdit && ! title,\n\t\t} ),\n\t} );\n\tconst siteTitleContent = canUserEdit ? (\n\t\t<TagName { ...blockProps }>\n\t\t\t<RichText\n\t\t\t\ttagName={ isLink ? 'a' : 'span' }\n\t\t\t\thref={ isLink ? '#site-title-pseudo-link' : undefined }\n\t\t\t\taria-label={ __( 'Site title text' ) }\n\t\t\t\tplaceholder={ __( 'Write site title…' ) }\n\t\t\t\tvalue={ title }\n\t\t\t\tonChange={ setTitle }\n\t\t\t\tallowedFormats={ [] }\n\t\t\t\tdisableLineBreaks\n\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\tinsertBlocksAfter( createBlock( getDefaultBlockName() ) )\n\t\t\t\t}\n\t\t\t/>\n\t\t</TagName>\n\t) : (\n\t\t<TagName { ...blockProps }>\n\t\t\t{ isLink ? (\n\t\t\t\t<a\n\t\t\t\t\thref=\"#site-title-pseudo-link\"\n\t\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t\t>\n\t\t\t\t\t{ decodeEntities( title ) ||\n\t\t\t\t\t\t__( 'Site Title placeholder' ) }\n\t\t\t\t</a>\n\t\t\t) : (\n\t\t\t\t<span>\n\t\t\t\t\t{ decodeEntities( title ) ||\n\t\t\t\t\t\t__( 'Site Title placeholder' ) }\n\t\t\t\t</span>\n\t\t\t) }\n\t\t</TagName>\n\t);\n\treturn (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<HeadingLevelDropdown\n\t\t\t\t\toptions={ HEADING_LEVELS }\n\t\t\t\t\tvalue={ level }\n\t\t\t\t\tonChange={ ( newLevel ) =>\n\t\t\t\t\t\tsetAttributes( { level: newLevel } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<AlignmentControl\n\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Make title link to home' ) }\n\t\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t/>\n\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\n\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t{ siteTitleContent }\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_classnames","_interopRequireDefault","require","_keycodes","_data","_blockEditor","_element","_components","_i18n","_icons","_socialList","SocialLinkURLPopover","url","setAttributes","setPopover","popoverAnchor","clientId","removeBlock","useDispatch","blockEditorStore","_react","createElement","URLPopover","anchor","onClose","className","onSubmit","event","preventDefault","URLInput","__nextHasNoMarginBottom","value","onChange","nextURL","placeholder","__","disableSuggestions","onKeyDown","defaultPrevented","BACKSPACE","DELETE","includes","keyCode","Button","icon","keyboardReturn","label","type","SocialLinkEdit","attributes","context","isSelected","service","rel","showLabels","iconColor","iconColorValue","iconBackgroundColor","iconBackgroundColorValue","showURLPopover","useState","classes","classNames","setPopoverAnchor","IconComponent","getIconBySite","socialLinkName","getNameBySite","socialLinkLabel","blockProps","useBlockProps","style","color","backgroundColor","Fragment","InspectorControls","PanelBody","title","sprintf","initialOpen","PanelRow","TextControl","help","group","ref","onClick","_default","exports","default"],"sources":["@wordpress/block-library/src/social-link/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classNames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { DELETE, BACKSPACE } from '@wordpress/keycodes';\nimport { useDispatch } from '@wordpress/data';\n\nimport {\n\tInspectorControls,\n\tURLPopover,\n\tURLInput,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useState } from '@wordpress/element';\nimport {\n\tButton,\n\tPanelBody,\n\tPanelRow,\n\tTextControl,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { keyboardReturn } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { getIconBySite, getNameBySite } from './social-list';\n\nconst SocialLinkURLPopover = ( {\n\turl,\n\tsetAttributes,\n\tsetPopover,\n\tpopoverAnchor,\n\tclientId,\n} ) => {\n\tconst { removeBlock } = useDispatch( blockEditorStore );\n\treturn (\n\t\t<URLPopover\n\t\t\tanchor={ popoverAnchor }\n\t\t\tonClose={ () => setPopover( false ) }\n\t\t>\n\t\t\t<form\n\t\t\t\tclassName=\"block-editor-url-popover__link-editor\"\n\t\t\t\tonSubmit={ ( event ) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tsetPopover( false );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<div className=\"block-editor-url-input\">\n\t\t\t\t\t<URLInput\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tvalue={ url }\n\t\t\t\t\t\tonChange={ ( nextURL ) =>\n\t\t\t\t\t\t\tsetAttributes( { url: nextURL } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tplaceholder={ __( 'Enter address' ) }\n\t\t\t\t\t\tdisableSuggestions={ true }\n\t\t\t\t\t\tonKeyDown={ ( event ) => {\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t!! url ||\n\t\t\t\t\t\t\t\tevent.defaultPrevented ||\n\t\t\t\t\t\t\t\t! [ BACKSPACE, DELETE ].includes(\n\t\t\t\t\t\t\t\t\tevent.keyCode\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\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tremoveBlock( clientId );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<Button\n\t\t\t\t\ticon={ keyboardReturn }\n\t\t\t\t\tlabel={ __( 'Apply' ) }\n\t\t\t\t\ttype=\"submit\"\n\t\t\t\t/>\n\t\t\t</form>\n\t\t</URLPopover>\n\t);\n};\n\nconst SocialLinkEdit = ( {\n\tattributes,\n\tcontext,\n\tisSelected,\n\tsetAttributes,\n\tclientId,\n} ) => {\n\tconst { url, service, label, rel } = attributes;\n\tconst {\n\t\tshowLabels,\n\t\ticonColor,\n\t\ticonColorValue,\n\t\ticonBackgroundColor,\n\t\ticonBackgroundColorValue,\n\t} = context;\n\tconst [ showURLPopover, setPopover ] = useState( false );\n\tconst classes = classNames( 'wp-social-link', 'wp-social-link-' + service, {\n\t\t'wp-social-link__is-incomplete': ! url,\n\t\t[ `has-${ iconColor }-color` ]: iconColor,\n\t\t[ `has-${ iconBackgroundColor }-background-color` ]:\n\t\t\ticonBackgroundColor,\n\t} );\n\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\n\tconst IconComponent = getIconBySite( service );\n\tconst socialLinkName = getNameBySite( service );\n\tconst socialLinkLabel = label ?? socialLinkName;\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t\tstyle: {\n\t\t\tcolor: iconColorValue,\n\t\t\tbackgroundColor: iconBackgroundColorValue,\n\t\t},\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody\n\t\t\t\t\ttitle={ sprintf(\n\t\t\t\t\t\t/* translators: %s: name of the social service. */\n\t\t\t\t\t\t__( '%s label' ),\n\t\t\t\t\t\tsocialLinkName\n\t\t\t\t\t) }\n\t\t\t\t\tinitialOpen={ false }\n\t\t\t\t>\n\t\t\t\t\t<PanelRow>\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Link label' ) }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Briefly describe the link to help screen reader users.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tvalue={ label || '' }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { label: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</PanelRow>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<TextControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\tvalue={ rel || '' }\n\t\t\t\t\tonChange={ ( value ) => setAttributes( { rel: value } ) }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<li { ...blockProps }>\n\t\t\t\t<Button\n\t\t\t\t\tclassName=\"wp-block-social-link-anchor\"\n\t\t\t\t\tref={ setPopoverAnchor }\n\t\t\t\t\tonClick={ () => setPopover( true ) }\n\t\t\t\t>\n\t\t\t\t\t<IconComponent />\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={ classNames( 'wp-block-social-link-label', {\n\t\t\t\t\t\t\t'screen-reader-text': ! showLabels,\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ socialLinkLabel }\n\t\t\t\t\t</span>\n\t\t\t\t\t{ isSelected && showURLPopover && (\n\t\t\t\t\t\t<SocialLinkURLPopover\n\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\tsetPopover={ setPopover }\n\t\t\t\t\t\t\tpopoverAnchor={ popoverAnchor }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</Button>\n\t\t\t</li>\n\t\t</>\n\t);\n};\n\nexport default SocialLinkEdit;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_classnames","_interopRequireDefault","require","_keycodes","_data","_blockEditor","_element","_components","_i18n","_icons","_socialList","SocialLinkURLPopover","url","setAttributes","setPopover","popoverAnchor","clientId","removeBlock","useDispatch","blockEditorStore","_react","createElement","URLPopover","anchor","onClose","className","onSubmit","event","preventDefault","URLInput","__nextHasNoMarginBottom","value","onChange","nextURL","placeholder","__","disableSuggestions","onKeyDown","defaultPrevented","BACKSPACE","DELETE","includes","keyCode","Button","icon","keyboardReturn","label","type","SocialLinkEdit","attributes","context","isSelected","service","rel","showLabels","iconColor","iconColorValue","iconBackgroundColor","iconBackgroundColorValue","showURLPopover","useState","classes","classNames","setPopoverAnchor","IconComponent","getIconBySite","socialLinkName","getNameBySite","socialLinkLabel","blockProps","useBlockProps","style","color","backgroundColor","Fragment","InspectorControls","PanelBody","title","sprintf","initialOpen","PanelRow","TextControl","help","group","ref","onClick","_default","exports","default"],"sources":["@wordpress/block-library/src/social-link/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classNames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { DELETE, BACKSPACE } from '@wordpress/keycodes';\nimport { useDispatch } from '@wordpress/data';\n\nimport {\n\tInspectorControls,\n\tURLPopover,\n\tURLInput,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useState } from '@wordpress/element';\nimport {\n\tButton,\n\tPanelBody,\n\tPanelRow,\n\tTextControl,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { keyboardReturn } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { getIconBySite, getNameBySite } from './social-list';\n\nconst SocialLinkURLPopover = ( {\n\turl,\n\tsetAttributes,\n\tsetPopover,\n\tpopoverAnchor,\n\tclientId,\n} ) => {\n\tconst { removeBlock } = useDispatch( blockEditorStore );\n\treturn (\n\t\t<URLPopover\n\t\t\tanchor={ popoverAnchor }\n\t\t\tonClose={ () => setPopover( false ) }\n\t\t>\n\t\t\t<form\n\t\t\t\tclassName=\"block-editor-url-popover__link-editor\"\n\t\t\t\tonSubmit={ ( event ) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tsetPopover( false );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<div className=\"block-editor-url-input\">\n\t\t\t\t\t<URLInput\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tvalue={ url }\n\t\t\t\t\t\tonChange={ ( nextURL ) =>\n\t\t\t\t\t\t\tsetAttributes( { url: nextURL } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tplaceholder={ __( 'Enter address' ) }\n\t\t\t\t\t\tdisableSuggestions\n\t\t\t\t\t\tonKeyDown={ ( event ) => {\n\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t!! url ||\n\t\t\t\t\t\t\t\tevent.defaultPrevented ||\n\t\t\t\t\t\t\t\t! [ BACKSPACE, DELETE ].includes(\n\t\t\t\t\t\t\t\t\tevent.keyCode\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\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tremoveBlock( clientId );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t\t<Button\n\t\t\t\t\ticon={ keyboardReturn }\n\t\t\t\t\tlabel={ __( 'Apply' ) }\n\t\t\t\t\ttype=\"submit\"\n\t\t\t\t/>\n\t\t\t</form>\n\t\t</URLPopover>\n\t);\n};\n\nconst SocialLinkEdit = ( {\n\tattributes,\n\tcontext,\n\tisSelected,\n\tsetAttributes,\n\tclientId,\n} ) => {\n\tconst { url, service, label, rel } = attributes;\n\tconst {\n\t\tshowLabels,\n\t\ticonColor,\n\t\ticonColorValue,\n\t\ticonBackgroundColor,\n\t\ticonBackgroundColorValue,\n\t} = context;\n\tconst [ showURLPopover, setPopover ] = useState( false );\n\tconst classes = classNames( 'wp-social-link', 'wp-social-link-' + service, {\n\t\t'wp-social-link__is-incomplete': ! url,\n\t\t[ `has-${ iconColor }-color` ]: iconColor,\n\t\t[ `has-${ iconBackgroundColor }-background-color` ]:\n\t\t\ticonBackgroundColor,\n\t} );\n\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\n\tconst IconComponent = getIconBySite( service );\n\tconst socialLinkName = getNameBySite( service );\n\tconst socialLinkLabel = label ?? socialLinkName;\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t\tstyle: {\n\t\t\tcolor: iconColorValue,\n\t\t\tbackgroundColor: iconBackgroundColorValue,\n\t\t},\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody\n\t\t\t\t\ttitle={ sprintf(\n\t\t\t\t\t\t/* translators: %s: name of the social service. */\n\t\t\t\t\t\t__( '%s label' ),\n\t\t\t\t\t\tsocialLinkName\n\t\t\t\t\t) }\n\t\t\t\t\tinitialOpen={ false }\n\t\t\t\t>\n\t\t\t\t\t<PanelRow>\n\t\t\t\t\t\t<TextControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Link label' ) }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'Briefly describe the link to help screen reader users.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tvalue={ label || '' }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { label: value } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</PanelRow>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<TextControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Link rel' ) }\n\t\t\t\t\tvalue={ rel || '' }\n\t\t\t\t\tonChange={ ( value ) => setAttributes( { rel: value } ) }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t<li { ...blockProps }>\n\t\t\t\t<Button\n\t\t\t\t\tclassName=\"wp-block-social-link-anchor\"\n\t\t\t\t\tref={ setPopoverAnchor }\n\t\t\t\t\tonClick={ () => setPopover( true ) }\n\t\t\t\t>\n\t\t\t\t\t<IconComponent />\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={ classNames( 'wp-block-social-link-label', {\n\t\t\t\t\t\t\t'screen-reader-text': ! showLabels,\n\t\t\t\t\t\t} ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ socialLinkLabel }\n\t\t\t\t\t</span>\n\t\t\t\t\t{ isSelected && showURLPopover && (\n\t\t\t\t\t\t<SocialLinkURLPopover\n\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\tsetPopover={ setPopover }\n\t\t\t\t\t\t\tpopoverAnchor={ popoverAnchor }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</Button>\n\t\t\t</li>\n\t\t</>\n\t);\n};\n\nexport default SocialLinkEdit;\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_blockEditor","_data","_element","_compose","_editor","_interopRequireDefault","TEMPLATE","service","url","SocialLinksEdit","shouldDelete","onDelete","isSelected","isInnerIconSelected","innerBlocks","attributes","activeInnerBlocks","getBlock","blockWidth","initialCreation","setInitialCreation","useState","shouldRenderFooterAppender","align","marginLeft","spacing","styles","useEffect","renderFooterAppender","useRef","_react","createElement","View","style","footerAppenderContainer","InnerBlocks","ButtonBlockAppender","isFloating","placeholderStyle","usePreferredColorSchemeStyle","placeholder","placeholderDark","renderPlaceholder","Array","length","map","_","index","testID","key","filterInnerBlocks","blockIds","filter","blockId","placeholderWrapper","templateLock","template","current","orientation","onDeleteBlock","undefined","marginVertical","marginHorizontal","horizontalAlignment","_default","exports","default","compose","withSelect","select","clientId","getBlockCount","getBlockParents","getSelectedBlockClientId","getBlocks","blockEditorStore","selectedBlockClientId","selectedBlockParents","block","withDispatch","dispatch","removeBlock"],"sources":["@wordpress/block-library/src/social-links/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n/**\n * WordPress dependencies\n */\nimport {\n\tInnerBlocks,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { useRef, useEffect, useState } from '@wordpress/element';\nimport { compose, usePreferredColorSchemeStyle } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport styles from './editor.scss';\n\n// Template contains the links that show when start.\nconst TEMPLATE = [\n\t[\n\t\t'core/social-link-wordpress',\n\t\t{ service: 'wordpress', url: 'https://wordpress.org' },\n\t],\n\t[ 'core/social-link-facebook', { service: 'facebook' } ],\n\t[ 'core/social-link-twitter', { service: 'twitter' } ],\n\t[ 'core/social-link-instagram', { service: 'instagram' } ],\n];\n\nfunction SocialLinksEdit( {\n\tshouldDelete,\n\tonDelete,\n\tisSelected,\n\tisInnerIconSelected,\n\tinnerBlocks,\n\tattributes,\n\tactiveInnerBlocks,\n\tgetBlock,\n\tblockWidth,\n} ) {\n\tconst [ initialCreation, setInitialCreation ] = useState( true );\n\tconst shouldRenderFooterAppender = isSelected || isInnerIconSelected;\n\tconst { align } = attributes;\n\tconst { marginLeft: spacing } = styles.spacing;\n\n\tuseEffect( () => {\n\t\tif ( ! shouldRenderFooterAppender ) {\n\t\t\tsetInitialCreation( false );\n\t\t}\n\t}, [ shouldRenderFooterAppender ] );\n\n\tconst renderFooterAppender = useRef( () => (\n\t\t<View style={ styles.footerAppenderContainer }>\n\t\t\t<InnerBlocks.ButtonBlockAppender isFloating
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_blockEditor","_data","_element","_compose","_editor","_interopRequireDefault","TEMPLATE","service","url","SocialLinksEdit","shouldDelete","onDelete","isSelected","isInnerIconSelected","innerBlocks","attributes","activeInnerBlocks","getBlock","blockWidth","initialCreation","setInitialCreation","useState","shouldRenderFooterAppender","align","marginLeft","spacing","styles","useEffect","renderFooterAppender","useRef","_react","createElement","View","style","footerAppenderContainer","InnerBlocks","ButtonBlockAppender","isFloating","placeholderStyle","usePreferredColorSchemeStyle","placeholder","placeholderDark","renderPlaceholder","Array","length","map","_","index","testID","key","filterInnerBlocks","blockIds","filter","blockId","placeholderWrapper","templateLock","template","current","orientation","onDeleteBlock","undefined","marginVertical","marginHorizontal","horizontalAlignment","_default","exports","default","compose","withSelect","select","clientId","getBlockCount","getBlockParents","getSelectedBlockClientId","getBlocks","blockEditorStore","selectedBlockClientId","selectedBlockParents","block","withDispatch","dispatch","removeBlock"],"sources":["@wordpress/block-library/src/social-links/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n/**\n * WordPress dependencies\n */\nimport {\n\tInnerBlocks,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { withDispatch, withSelect } from '@wordpress/data';\nimport { useRef, useEffect, useState } from '@wordpress/element';\nimport { compose, usePreferredColorSchemeStyle } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport styles from './editor.scss';\n\n// Template contains the links that show when start.\nconst TEMPLATE = [\n\t[\n\t\t'core/social-link-wordpress',\n\t\t{ service: 'wordpress', url: 'https://wordpress.org' },\n\t],\n\t[ 'core/social-link-facebook', { service: 'facebook' } ],\n\t[ 'core/social-link-twitter', { service: 'twitter' } ],\n\t[ 'core/social-link-instagram', { service: 'instagram' } ],\n];\n\nfunction SocialLinksEdit( {\n\tshouldDelete,\n\tonDelete,\n\tisSelected,\n\tisInnerIconSelected,\n\tinnerBlocks,\n\tattributes,\n\tactiveInnerBlocks,\n\tgetBlock,\n\tblockWidth,\n} ) {\n\tconst [ initialCreation, setInitialCreation ] = useState( true );\n\tconst shouldRenderFooterAppender = isSelected || isInnerIconSelected;\n\tconst { align } = attributes;\n\tconst { marginLeft: spacing } = styles.spacing;\n\n\tuseEffect( () => {\n\t\tif ( ! shouldRenderFooterAppender ) {\n\t\t\tsetInitialCreation( false );\n\t\t}\n\t}, [ shouldRenderFooterAppender ] );\n\n\tconst renderFooterAppender = useRef( () => (\n\t\t<View style={ styles.footerAppenderContainer }>\n\t\t\t<InnerBlocks.ButtonBlockAppender isFloating />\n\t\t</View>\n\t) );\n\n\tconst placeholderStyle = usePreferredColorSchemeStyle(\n\t\tstyles.placeholder,\n\t\tstyles.placeholderDark\n\t);\n\n\tfunction renderPlaceholder() {\n\t\treturn [ ...new Array( innerBlocks.length || 1 ) ].map(\n\t\t\t( _, index ) => (\n\t\t\t\t<View\n\t\t\t\t\ttestID=\"social-links-placeholder\"\n\t\t\t\t\tstyle={ placeholderStyle }\n\t\t\t\t\tkey={ index }\n\t\t\t\t/>\n\t\t\t)\n\t\t);\n\t}\n\n\tfunction filterInnerBlocks( blockIds ) {\n\t\treturn blockIds.filter(\n\t\t\t( blockId ) => getBlock( blockId ).attributes.url\n\t\t);\n\t}\n\n\tif ( ! shouldRenderFooterAppender && activeInnerBlocks.length === 0 ) {\n\t\treturn (\n\t\t\t<View style={ styles.placeholderWrapper }>\n\t\t\t\t{ renderPlaceholder() }\n\t\t\t</View>\n\t\t);\n\t}\n\n\treturn (\n\t\t<InnerBlocks\n\t\t\ttemplateLock={ false }\n\t\t\ttemplate={ initialCreation && TEMPLATE }\n\t\t\trenderFooterAppender={\n\t\t\t\tshouldRenderFooterAppender && renderFooterAppender.current\n\t\t\t}\n\t\t\torientation={ 'horizontal' }\n\t\t\tonDeleteBlock={ shouldDelete ? onDelete : undefined }\n\t\t\tmarginVertical={ spacing }\n\t\t\tmarginHorizontal={ spacing }\n\t\t\thorizontalAlignment={ align }\n\t\t\tfilterInnerBlocks={\n\t\t\t\t! shouldRenderFooterAppender && filterInnerBlocks\n\t\t\t}\n\t\t\tblockWidth={ blockWidth }\n\t\t/>\n\t);\n}\n\nexport default compose(\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst {\n\t\t\tgetBlockCount,\n\t\t\tgetBlockParents,\n\t\t\tgetSelectedBlockClientId,\n\t\t\tgetBlocks,\n\t\t\tgetBlock,\n\t\t} = select( blockEditorStore );\n\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\tconst selectedBlockParents = getBlockParents(\n\t\t\tselectedBlockClientId,\n\t\t\ttrue\n\t\t);\n\t\tconst innerBlocks = getBlocks( clientId );\n\t\tconst activeInnerBlocks = innerBlocks.filter(\n\t\t\t( block ) => block.attributes?.url\n\t\t);\n\n\t\treturn {\n\t\t\tshouldDelete: getBlockCount( clientId ) === 1,\n\t\t\tisInnerIconSelected: selectedBlockParents[ 0 ] === clientId,\n\t\t\tinnerBlocks,\n\t\t\tactiveInnerBlocks,\n\t\t\tgetBlock,\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, { clientId } ) => {\n\t\tconst { removeBlock } = dispatch( blockEditorStore );\n\n\t\treturn {\n\t\t\tonDelete: () => {\n\t\t\t\tremoveBlock( clientId, false );\n\t\t\t},\n\t\t};\n\t} )\n)( SocialLinksEdit );\n"],"mappings":"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"}
|
package/build/spacer/edit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_classnames","_interopRequireDefault","require","_blockEditor","_components","_element","_primitives","_data","_controls","_constants","ResizableSpacer","orientation","onResizeStart","onResize","onResizeStop","isSelected","isResizing","setIsResizing","props","getCurrentSize","elt","clientWidth","clientHeight","getNextVal","_react","createElement","ResizableBox","className","classnames","_event","_direction","nextVal","__experimentalShowTooltip","__experimentalTooltipProps","axis","position","isVisible","showHandle","SpacerEdit","attributes","setAttributes","toggleSelection","context","__unstableParentLayout","parentLayout","disableCustomSpacingSizes","useSelect","select","editorSettings","blockEditorStore","getSettings","parentOrientation","type","default","defaultType","isFlexLayout","inheritedOrientation","height","width","style","blockStyle","layout","selfStretch","flexSize","spacingSizes","useSettings","useState","temporaryHeight","setTemporaryHeight","temporaryWidth","setTemporaryWidth","handleOnVerticalResizeStop","newHeight","handleOnHorizontalResizeStop","newWidth","getHeightForVerticalBlocks","undefined","getSpacingPresetCssVar","getWidthForHorizontalBlocks","sizeConditionalOnOrientation","minWidth","flexBasis","flexGrow","resizableBoxWithOrientation","blockOrientation","MIN_SPACER_SIZE","enable","top","right","bottom","left","topRight","bottomRight","bottomLeft","topLeft","Fragment","minHeight","useEffect","newSize","getCustomValueFromPreset","View","useBlockProps","_default","exports"],"sources":["@wordpress/block-library/src/spacer/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseBlockProps,\n\tuseSettings,\n\tgetCustomValueFromPreset,\n\tgetSpacingPresetCssVar,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { ResizableBox } from '@wordpress/components';\nimport { useState, useEffect } from '@wordpress/element';\nimport { View } from '@wordpress/primitives';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport SpacerControls from './controls';\nimport { MIN_SPACER_SIZE } from './constants';\n\nconst ResizableSpacer = ( {\n\torientation,\n\tonResizeStart,\n\tonResize,\n\tonResizeStop,\n\tisSelected,\n\tisResizing,\n\tsetIsResizing,\n\t...props\n} ) => {\n\tconst getCurrentSize = ( elt ) => {\n\t\treturn orientation === 'horizontal'\n\t\t\t? elt.clientWidth\n\t\t\t: elt.clientHeight;\n\t};\n\n\tconst getNextVal = ( elt ) => {\n\t\treturn `${ getCurrentSize( elt ) }px`;\n\t};\n\n\treturn (\n\t\t<ResizableBox\n\t\t\tclassName={ classnames( 'block-library-spacer__resize-container', {\n\t\t\t\t'resize-horizontal': orientation === 'horizontal',\n\t\t\t\t'is-resizing': isResizing,\n\t\t\t\t'is-selected': isSelected,\n\t\t\t} ) }\n\t\t\tonResizeStart={ ( _event, _direction, elt ) => {\n\t\t\t\tconst nextVal = getNextVal( elt );\n\t\t\t\tonResizeStart( nextVal );\n\t\t\t\tonResize( nextVal );\n\t\t\t} }\n\t\t\tonResize={ ( _event, _direction, elt ) => {\n\t\t\t\tonResize( getNextVal( elt ) );\n\t\t\t\tif ( ! isResizing ) {\n\t\t\t\t\tsetIsResizing( true );\n\t\t\t\t}\n\t\t\t} }\n\t\t\tonResizeStop={ ( _event, _direction, elt ) => {\n\t\t\t\tconst nextVal = getCurrentSize( elt );\n\t\t\t\tonResizeStop( `${ nextVal }px` );\n\t\t\t\tsetIsResizing( false );\n\t\t\t} }\n\t\t\t__experimentalShowTooltip={ true }\n\t\t\t__experimentalTooltipProps={ {\n\t\t\t\taxis: orientation === 'horizontal' ? 'x' : 'y',\n\t\t\t\tposition: 'corner',\n\t\t\t\tisVisible: isResizing,\n\t\t\t} }\n\t\t\tshowHandle={ isSelected }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n};\n\nconst SpacerEdit = ( {\n\tattributes,\n\tisSelected,\n\tsetAttributes,\n\ttoggleSelection,\n\tcontext,\n\t__unstableParentLayout: parentLayout,\n\tclassName,\n} ) => {\n\tconst disableCustomSpacingSizes = useSelect( ( select ) => {\n\t\tconst editorSettings = select( blockEditorStore ).getSettings();\n\t\treturn editorSettings?.disableCustomSpacingSizes;\n\t} );\n\tconst { orientation } = context;\n\tconst {\n\t\torientation: parentOrientation,\n\t\ttype,\n\t\tdefault: { type: defaultType } = {},\n\t} = parentLayout || {};\n\t// Check if the spacer is inside a flex container.\n\tconst isFlexLayout =\n\t\ttype === 'flex' || ( ! type && defaultType === 'flex' );\n\t// If the spacer is inside a flex container, it should either inherit the orientation\n\t// of the parent or use the flex default orientation.\n\tconst inheritedOrientation =\n\t\t! parentOrientation && isFlexLayout\n\t\t\t? 'horizontal'\n\t\t\t: parentOrientation || orientation;\n\tconst { height, width, style: blockStyle = {} } = attributes;\n\n\tconst { layout = {} } = blockStyle;\n\tconst { selfStretch, flexSize } = layout;\n\n\tconst [ spacingSizes ] = useSettings( 'spacing.spacingSizes' );\n\n\tconst [ isResizing, setIsResizing ] = useState( false );\n\tconst [ temporaryHeight, setTemporaryHeight ] = useState( null );\n\tconst [ temporaryWidth, setTemporaryWidth ] = useState( null );\n\n\tconst onResizeStart = () => toggleSelection( false );\n\tconst onResizeStop = () => toggleSelection( true );\n\n\tconst handleOnVerticalResizeStop = ( newHeight ) => {\n\t\tonResizeStop();\n\n\t\tif ( isFlexLayout ) {\n\t\t\tsetAttributes( {\n\t\t\t\tstyle: {\n\t\t\t\t\t...blockStyle,\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\t...layout,\n\t\t\t\t\t\tflexSize: newHeight,\n\t\t\t\t\t\tselfStretch: 'fixed',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\n\t\tsetAttributes( { height: newHeight } );\n\t\tsetTemporaryHeight( null );\n\t};\n\n\tconst handleOnHorizontalResizeStop = ( newWidth ) => {\n\t\tonResizeStop();\n\n\t\tif ( isFlexLayout ) {\n\t\t\tsetAttributes( {\n\t\t\t\tstyle: {\n\t\t\t\t\t...blockStyle,\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\t...layout,\n\t\t\t\t\t\tflexSize: newWidth,\n\t\t\t\t\t\tselfStretch: 'fixed',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\n\t\tsetAttributes( { width: newWidth } );\n\t\tsetTemporaryWidth( null );\n\t};\n\n\tconst getHeightForVerticalBlocks = () => {\n\t\tif ( isFlexLayout ) {\n\t\t\treturn undefined;\n\t\t}\n\t\treturn temporaryHeight || getSpacingPresetCssVar( height ) || undefined;\n\t};\n\n\tconst getWidthForHorizontalBlocks = () => {\n\t\tif ( isFlexLayout ) {\n\t\t\treturn undefined;\n\t\t}\n\t\treturn temporaryWidth || getSpacingPresetCssVar( width ) || undefined;\n\t};\n\n\tconst sizeConditionalOnOrientation =\n\t\tinheritedOrientation === 'horizontal'\n\t\t\t? temporaryWidth || flexSize\n\t\t\t: temporaryHeight || flexSize;\n\n\tconst style = {\n\t\theight:\n\t\t\tinheritedOrientation === 'horizontal'\n\t\t\t\t? 24\n\t\t\t\t: getHeightForVerticalBlocks(),\n\t\twidth:\n\t\t\tinheritedOrientation === 'horizontal'\n\t\t\t\t? getWidthForHorizontalBlocks()\n\t\t\t\t: undefined,\n\t\t// In vertical flex containers, the spacer shrinks to nothing without a minimum width.\n\t\tminWidth:\n\t\t\tinheritedOrientation === 'vertical' && isFlexLayout\n\t\t\t\t? 48\n\t\t\t\t: undefined,\n\t\t// Add flex-basis so temporary sizes are respected.\n\t\tflexBasis: isFlexLayout ? sizeConditionalOnOrientation : undefined,\n\t\t// Remove flex-grow when resizing.\n\t\tflexGrow: isFlexLayout && isResizing ? 0 : undefined,\n\t};\n\n\tconst resizableBoxWithOrientation = ( blockOrientation ) => {\n\t\tif ( blockOrientation === 'horizontal' ) {\n\t\t\treturn (\n\t\t\t\t<ResizableSpacer\n\t\t\t\t\tminWidth={ MIN_SPACER_SIZE }\n\t\t\t\t\tenable={ {\n\t\t\t\t\t\ttop: false,\n\t\t\t\t\t\tright: true,\n\t\t\t\t\t\tbottom: false,\n\t\t\t\t\t\tleft: false,\n\t\t\t\t\t\ttopRight: false,\n\t\t\t\t\t\tbottomRight: false,\n\t\t\t\t\t\tbottomLeft: false,\n\t\t\t\t\t\ttopLeft: false,\n\t\t\t\t\t} }\n\t\t\t\t\torientation={ blockOrientation }\n\t\t\t\t\tonResizeStart={ onResizeStart }\n\t\t\t\t\tonResize={ setTemporaryWidth }\n\t\t\t\t\tonResizeStop={ handleOnHorizontalResizeStop }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tisResizing={ isResizing }\n\t\t\t\t\tsetIsResizing={ setIsResizing }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<ResizableSpacer\n\t\t\t\t\tminHeight={ MIN_SPACER_SIZE }\n\t\t\t\t\tenable={ {\n\t\t\t\t\t\ttop: false,\n\t\t\t\t\t\tright: false,\n\t\t\t\t\t\tbottom: true,\n\t\t\t\t\t\tleft: false,\n\t\t\t\t\t\ttopRight: false,\n\t\t\t\t\t\tbottomRight: false,\n\t\t\t\t\t\tbottomLeft: false,\n\t\t\t\t\t\ttopLeft: false,\n\t\t\t\t\t} }\n\t\t\t\t\torientation={ blockOrientation }\n\t\t\t\t\tonResizeStart={ onResizeStart }\n\t\t\t\t\tonResize={ setTemporaryHeight }\n\t\t\t\t\tonResizeStop={ handleOnVerticalResizeStop }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tisResizing={ isResizing }\n\t\t\t\t\tsetIsResizing={ setIsResizing }\n\t\t\t\t/>\n\t\t\t</>\n\t\t);\n\t};\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\tisFlexLayout &&\n\t\t\tselfStretch !== 'fill' &&\n\t\t\tselfStretch !== 'fit' &&\n\t\t\t! flexSize\n\t\t) {\n\t\t\tif ( inheritedOrientation === 'horizontal' ) {\n\t\t\t\t// If spacer is moving from a vertical container to a horizontal container,\n\t\t\t\t// it might not have width but have height instead.\n\t\t\t\tconst newSize =\n\t\t\t\t\tgetCustomValueFromPreset( width, spacingSizes ) ||\n\t\t\t\t\tgetCustomValueFromPreset( height, spacingSizes ) ||\n\t\t\t\t\t'100px';\n\t\t\t\tsetAttributes( {\n\t\t\t\t\twidth: '0px',\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\t...blockStyle,\n\t\t\t\t\t\tlayout: {\n\t\t\t\t\t\t\t...layout,\n\t\t\t\t\t\t\tflexSize: newSize,\n\t\t\t\t\t\t\tselfStretch: 'fixed',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\tconst newSize =\n\t\t\t\t\tgetCustomValueFromPreset( height, spacingSizes ) ||\n\t\t\t\t\tgetCustomValueFromPreset( width, spacingSizes ) ||\n\t\t\t\t\t'100px';\n\t\t\t\tsetAttributes( {\n\t\t\t\t\theight: '0px',\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\t...blockStyle,\n\t\t\t\t\t\tlayout: {\n\t\t\t\t\t\t\t...layout,\n\t\t\t\t\t\t\tflexSize: newSize,\n\t\t\t\t\t\t\tselfStretch: 'fixed',\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} else if (\n\t\t\tisFlexLayout &&\n\t\t\t( selfStretch === 'fill' || selfStretch === 'fit' )\n\t\t) {\n\t\t\tif ( inheritedOrientation === 'horizontal' ) {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\twidth: undefined,\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\theight: undefined,\n\t\t\t\t} );\n\t\t\t}\n\t\t} else if ( ! isFlexLayout && ( selfStretch || flexSize ) ) {\n\t\t\tif ( inheritedOrientation === 'horizontal' ) {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\twidth: flexSize,\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\theight: flexSize,\n\t\t\t\t} );\n\t\t\t}\n\t\t\tsetAttributes( {\n\t\t\t\tstyle: {\n\t\t\t\t\t...blockStyle,\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\t...layout,\n\t\t\t\t\t\tflexSize: undefined,\n\t\t\t\t\t\tselfStretch: undefined,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\t}, [\n\t\tblockStyle,\n\t\tflexSize,\n\t\theight,\n\t\tinheritedOrientation,\n\t\tisFlexLayout,\n\t\tlayout,\n\t\tselfStretch,\n\t\tsetAttributes,\n\t\tspacingSizes,\n\t\twidth,\n\t] );\n\n\treturn (\n\t\t<>\n\t\t\t<View\n\t\t\t\t{ ...useBlockProps( {\n\t\t\t\t\tstyle,\n\t\t\t\t\tclassName: classnames( className, {\n\t\t\t\t\t\t'custom-sizes-disabled': disableCustomSpacingSizes,\n\t\t\t\t\t} ),\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t{ resizableBoxWithOrientation( inheritedOrientation ) }\n\t\t\t</View>\n\t\t\t{ ! isFlexLayout && (\n\t\t\t\t<SpacerControls\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\theight={ temporaryHeight || height }\n\t\t\t\t\twidth={ temporaryWidth || width }\n\t\t\t\t\torientation={ inheritedOrientation }\n\t\t\t\t\tisResizing={ isResizing }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n};\n\nexport default SpacerEdit;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_classnames","_interopRequireDefault","require","_blockEditor","_components","_element","_primitives","_data","_controls","_constants","ResizableSpacer","orientation","onResizeStart","onResize","onResizeStop","isSelected","isResizing","setIsResizing","props","getCurrentSize","elt","clientWidth","clientHeight","getNextVal","_react","createElement","ResizableBox","className","classnames","_event","_direction","nextVal","__experimentalShowTooltip","__experimentalTooltipProps","axis","position","isVisible","showHandle","SpacerEdit","attributes","setAttributes","toggleSelection","context","__unstableParentLayout","parentLayout","disableCustomSpacingSizes","useSelect","select","editorSettings","blockEditorStore","getSettings","parentOrientation","type","default","defaultType","isFlexLayout","inheritedOrientation","height","width","style","blockStyle","layout","selfStretch","flexSize","spacingSizes","useSettings","useState","temporaryHeight","setTemporaryHeight","temporaryWidth","setTemporaryWidth","handleOnVerticalResizeStop","newHeight","handleOnHorizontalResizeStop","newWidth","getHeightForVerticalBlocks","undefined","getSpacingPresetCssVar","getWidthForHorizontalBlocks","sizeConditionalOnOrientation","minWidth","flexBasis","flexGrow","resizableBoxWithOrientation","blockOrientation","MIN_SPACER_SIZE","enable","top","right","bottom","left","topRight","bottomRight","bottomLeft","topLeft","Fragment","minHeight","useEffect","newSize","getCustomValueFromPreset","View","useBlockProps","_default","exports"],"sources":["@wordpress/block-library/src/spacer/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseBlockProps,\n\tuseSettings,\n\tgetCustomValueFromPreset,\n\tgetSpacingPresetCssVar,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { ResizableBox } from '@wordpress/components';\nimport { useState, useEffect } from '@wordpress/element';\nimport { View } from '@wordpress/primitives';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport SpacerControls from './controls';\nimport { MIN_SPACER_SIZE } from './constants';\n\nconst ResizableSpacer = ( {\n\torientation,\n\tonResizeStart,\n\tonResize,\n\tonResizeStop,\n\tisSelected,\n\tisResizing,\n\tsetIsResizing,\n\t...props\n} ) => {\n\tconst getCurrentSize = ( elt ) => {\n\t\treturn orientation === 'horizontal'\n\t\t\t? elt.clientWidth\n\t\t\t: elt.clientHeight;\n\t};\n\n\tconst getNextVal = ( elt ) => {\n\t\treturn `${ getCurrentSize( elt ) }px`;\n\t};\n\n\treturn (\n\t\t<ResizableBox\n\t\t\tclassName={ classnames( 'block-library-spacer__resize-container', {\n\t\t\t\t'resize-horizontal': orientation === 'horizontal',\n\t\t\t\t'is-resizing': isResizing,\n\t\t\t\t'is-selected': isSelected,\n\t\t\t} ) }\n\t\t\tonResizeStart={ ( _event, _direction, elt ) => {\n\t\t\t\tconst nextVal = getNextVal( elt );\n\t\t\t\tonResizeStart( nextVal );\n\t\t\t\tonResize( nextVal );\n\t\t\t} }\n\t\t\tonResize={ ( _event, _direction, elt ) => {\n\t\t\t\tonResize( getNextVal( elt ) );\n\t\t\t\tif ( ! isResizing ) {\n\t\t\t\t\tsetIsResizing( true );\n\t\t\t\t}\n\t\t\t} }\n\t\t\tonResizeStop={ ( _event, _direction, elt ) => {\n\t\t\t\tconst nextVal = getCurrentSize( elt );\n\t\t\t\tonResizeStop( `${ nextVal }px` );\n\t\t\t\tsetIsResizing( false );\n\t\t\t} }\n\t\t\t__experimentalShowTooltip\n\t\t\t__experimentalTooltipProps={ {\n\t\t\t\taxis: orientation === 'horizontal' ? 'x' : 'y',\n\t\t\t\tposition: 'corner',\n\t\t\t\tisVisible: isResizing,\n\t\t\t} }\n\t\t\tshowHandle={ isSelected }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n};\n\nconst SpacerEdit = ( {\n\tattributes,\n\tisSelected,\n\tsetAttributes,\n\ttoggleSelection,\n\tcontext,\n\t__unstableParentLayout: parentLayout,\n\tclassName,\n} ) => {\n\tconst disableCustomSpacingSizes = useSelect( ( select ) => {\n\t\tconst editorSettings = select( blockEditorStore ).getSettings();\n\t\treturn editorSettings?.disableCustomSpacingSizes;\n\t} );\n\tconst { orientation } = context;\n\tconst {\n\t\torientation: parentOrientation,\n\t\ttype,\n\t\tdefault: { type: defaultType } = {},\n\t} = parentLayout || {};\n\t// Check if the spacer is inside a flex container.\n\tconst isFlexLayout =\n\t\ttype === 'flex' || ( ! type && defaultType === 'flex' );\n\t// If the spacer is inside a flex container, it should either inherit the orientation\n\t// of the parent or use the flex default orientation.\n\tconst inheritedOrientation =\n\t\t! parentOrientation && isFlexLayout\n\t\t\t? 'horizontal'\n\t\t\t: parentOrientation || orientation;\n\tconst { height, width, style: blockStyle = {} } = attributes;\n\n\tconst { layout = {} } = blockStyle;\n\tconst { selfStretch, flexSize } = layout;\n\n\tconst [ spacingSizes ] = useSettings( 'spacing.spacingSizes' );\n\n\tconst [ isResizing, setIsResizing ] = useState( false );\n\tconst [ temporaryHeight, setTemporaryHeight ] = useState( null );\n\tconst [ temporaryWidth, setTemporaryWidth ] = useState( null );\n\n\tconst onResizeStart = () => toggleSelection( false );\n\tconst onResizeStop = () => toggleSelection( true );\n\n\tconst handleOnVerticalResizeStop = ( newHeight ) => {\n\t\tonResizeStop();\n\n\t\tif ( isFlexLayout ) {\n\t\t\tsetAttributes( {\n\t\t\t\tstyle: {\n\t\t\t\t\t...blockStyle,\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\t...layout,\n\t\t\t\t\t\tflexSize: newHeight,\n\t\t\t\t\t\tselfStretch: 'fixed',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\n\t\tsetAttributes( { height: newHeight } );\n\t\tsetTemporaryHeight( null );\n\t};\n\n\tconst handleOnHorizontalResizeStop = ( newWidth ) => {\n\t\tonResizeStop();\n\n\t\tif ( isFlexLayout ) {\n\t\t\tsetAttributes( {\n\t\t\t\tstyle: {\n\t\t\t\t\t...blockStyle,\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\t...layout,\n\t\t\t\t\t\tflexSize: newWidth,\n\t\t\t\t\t\tselfStretch: 'fixed',\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\n\t\tsetAttributes( { width: newWidth } );\n\t\tsetTemporaryWidth( null );\n\t};\n\n\tconst getHeightForVerticalBlocks = () => {\n\t\tif ( isFlexLayout ) {\n\t\t\treturn undefined;\n\t\t}\n\t\treturn temporaryHeight || getSpacingPresetCssVar( height ) || undefined;\n\t};\n\n\tconst getWidthForHorizontalBlocks = () => {\n\t\tif ( isFlexLayout ) {\n\t\t\treturn undefined;\n\t\t}\n\t\treturn temporaryWidth || getSpacingPresetCssVar( width ) || undefined;\n\t};\n\n\tconst sizeConditionalOnOrientation =\n\t\tinheritedOrientation === 'horizontal'\n\t\t\t? temporaryWidth || flexSize\n\t\t\t: temporaryHeight || flexSize;\n\n\tconst style = {\n\t\theight:\n\t\t\tinheritedOrientation === 'horizontal'\n\t\t\t\t? 24\n\t\t\t\t: getHeightForVerticalBlocks(),\n\t\twidth:\n\t\t\tinheritedOrientation === 'horizontal'\n\t\t\t\t? getWidthForHorizontalBlocks()\n\t\t\t\t: undefined,\n\t\t// In vertical flex containers, the spacer shrinks to nothing without a minimum width.\n\t\tminWidth:\n\t\t\tinheritedOrientation === 'vertical' && isFlexLayout\n\t\t\t\t? 48\n\t\t\t\t: undefined,\n\t\t// Add flex-basis so temporary sizes are respected.\n\t\tflexBasis: isFlexLayout ? sizeConditionalOnOrientation : undefined,\n\t\t// Remove flex-grow when resizing.\n\t\tflexGrow: isFlexLayout && isResizing ? 0 : undefined,\n\t};\n\n\tconst resizableBoxWithOrientation = ( blockOrientation ) => {\n\t\tif ( blockOrientation === 'horizontal' ) {\n\t\t\treturn (\n\t\t\t\t<ResizableSpacer\n\t\t\t\t\tminWidth={ MIN_SPACER_SIZE }\n\t\t\t\t\tenable={ {\n\t\t\t\t\t\ttop: false,\n\t\t\t\t\t\tright: true,\n\t\t\t\t\t\tbottom: false,\n\t\t\t\t\t\tleft: false,\n\t\t\t\t\t\ttopRight: false,\n\t\t\t\t\t\tbottomRight: false,\n\t\t\t\t\t\tbottomLeft: false,\n\t\t\t\t\t\ttopLeft: false,\n\t\t\t\t\t} }\n\t\t\t\t\torientation={ blockOrientation }\n\t\t\t\t\tonResizeStart={ onResizeStart }\n\t\t\t\t\tonResize={ setTemporaryWidth }\n\t\t\t\t\tonResizeStop={ handleOnHorizontalResizeStop }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tisResizing={ isResizing }\n\t\t\t\t\tsetIsResizing={ setIsResizing }\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<ResizableSpacer\n\t\t\t\t\tminHeight={ MIN_SPACER_SIZE }\n\t\t\t\t\tenable={ {\n\t\t\t\t\t\ttop: false,\n\t\t\t\t\t\tright: false,\n\t\t\t\t\t\tbottom: true,\n\t\t\t\t\t\tleft: false,\n\t\t\t\t\t\ttopRight: false,\n\t\t\t\t\t\tbottomRight: false,\n\t\t\t\t\t\tbottomLeft: false,\n\t\t\t\t\t\ttopLeft: false,\n\t\t\t\t\t} }\n\t\t\t\t\torientation={ blockOrientation }\n\t\t\t\t\tonResizeStart={ onResizeStart }\n\t\t\t\t\tonResize={ setTemporaryHeight }\n\t\t\t\t\tonResizeStop={ handleOnVerticalResizeStop }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tisResizing={ isResizing }\n\t\t\t\t\tsetIsResizing={ setIsResizing }\n\t\t\t\t/>\n\t\t\t</>\n\t\t);\n\t};\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\tisFlexLayout &&\n\t\t\tselfStretch !== 'fill' &&\n\t\t\tselfStretch !== 'fit' &&\n\t\t\t! flexSize\n\t\t) {\n\t\t\tif ( inheritedOrientation === 'horizontal' ) {\n\t\t\t\t// If spacer is moving from a vertical container to a horizontal container,\n\t\t\t\t// it might not have width but have height instead.\n\t\t\t\tconst newSize =\n\t\t\t\t\tgetCustomValueFromPreset( width, spacingSizes ) ||\n\t\t\t\t\tgetCustomValueFromPreset( height, spacingSizes ) ||\n\t\t\t\t\t'100px';\n\t\t\t\tsetAttributes( {\n\t\t\t\t\twidth: '0px',\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\t...blockStyle,\n\t\t\t\t\t\tlayout: {\n\t\t\t\t\t\t\t...layout,\n\t\t\t\t\t\t\tflexSize: newSize,\n\t\t\t\t\t\t\tselfStretch: 'fixed',\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\tconst newSize =\n\t\t\t\t\tgetCustomValueFromPreset( height, spacingSizes ) ||\n\t\t\t\t\tgetCustomValueFromPreset( width, spacingSizes ) ||\n\t\t\t\t\t'100px';\n\t\t\t\tsetAttributes( {\n\t\t\t\t\theight: '0px',\n\t\t\t\t\tstyle: {\n\t\t\t\t\t\t...blockStyle,\n\t\t\t\t\t\tlayout: {\n\t\t\t\t\t\t\t...layout,\n\t\t\t\t\t\t\tflexSize: newSize,\n\t\t\t\t\t\t\tselfStretch: 'fixed',\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} else if (\n\t\t\tisFlexLayout &&\n\t\t\t( selfStretch === 'fill' || selfStretch === 'fit' )\n\t\t) {\n\t\t\tif ( inheritedOrientation === 'horizontal' ) {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\twidth: undefined,\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\theight: undefined,\n\t\t\t\t} );\n\t\t\t}\n\t\t} else if ( ! isFlexLayout && ( selfStretch || flexSize ) ) {\n\t\t\tif ( inheritedOrientation === 'horizontal' ) {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\twidth: flexSize,\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\theight: flexSize,\n\t\t\t\t} );\n\t\t\t}\n\t\t\tsetAttributes( {\n\t\t\t\tstyle: {\n\t\t\t\t\t...blockStyle,\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\t...layout,\n\t\t\t\t\t\tflexSize: undefined,\n\t\t\t\t\t\tselfStretch: undefined,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t} );\n\t\t}\n\t}, [\n\t\tblockStyle,\n\t\tflexSize,\n\t\theight,\n\t\tinheritedOrientation,\n\t\tisFlexLayout,\n\t\tlayout,\n\t\tselfStretch,\n\t\tsetAttributes,\n\t\tspacingSizes,\n\t\twidth,\n\t] );\n\n\treturn (\n\t\t<>\n\t\t\t<View\n\t\t\t\t{ ...useBlockProps( {\n\t\t\t\t\tstyle,\n\t\t\t\t\tclassName: classnames( className, {\n\t\t\t\t\t\t'custom-sizes-disabled': disableCustomSpacingSizes,\n\t\t\t\t\t} ),\n\t\t\t\t} ) }\n\t\t\t>\n\t\t\t\t{ resizableBoxWithOrientation( inheritedOrientation ) }\n\t\t\t</View>\n\t\t\t{ ! isFlexLayout && (\n\t\t\t\t<SpacerControls\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\theight={ temporaryHeight || height }\n\t\t\t\t\twidth={ temporaryWidth || width }\n\t\t\t\t\torientation={ inheritedOrientation }\n\t\t\t\t\tisResizing={ isResizing }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n};\n\nexport default SpacerEdit;\n"],"mappings":"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"}
|