@wordpress/block-library 8.17.1 → 8.18.1-next.5a1d1283.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 +2 -0
- package/build/column/edit.native.js +5 -5
- package/build/column/edit.native.js.map +1 -1
- package/build/cover/edit/index.js +3 -1
- package/build/cover/edit/index.js.map +1 -1
- package/build/cover/shared.js +26 -21
- package/build/cover/shared.js.map +1 -1
- package/build/embed/embed-link-settings.native.js +0 -1
- package/build/embed/embed-link-settings.native.js.map +1 -1
- package/build/footnotes/edit.js +2 -3
- package/build/footnotes/edit.js.map +1 -1
- package/build/group/index.js +1 -0
- package/build/group/index.js.map +1 -1
- package/build/post-content/edit.js +1 -1
- package/build/post-content/edit.js.map +1 -1
- package/build/post-template/index.js +1 -1
- package/build/post-terms/use-post-terms.js +3 -2
- package/build/post-terms/use-post-terms.js.map +1 -1
- package/build/query/edit/inspector-controls/index.js +28 -3
- package/build/query/edit/inspector-controls/index.js.map +1 -1
- package/build/query/edit/query-content.js +2 -1
- package/build/query/edit/query-content.js.map +1 -1
- package/build/query/index.js +9 -2
- package/build/query/index.js.map +1 -1
- package/build/query/view.js +75 -0
- package/build/query/view.js.map +1 -0
- package/build/query-pagination-next/index.js +1 -1
- package/build/query-pagination-numbers/edit.js +50 -5
- package/build/query-pagination-numbers/edit.js.map +1 -1
- package/build/query-pagination-numbers/index.js +7 -1
- package/build/query-pagination-numbers/index.js.map +1 -1
- package/build/query-pagination-previous/index.js +1 -1
- package/build/search/edit.js +3 -1
- package/build/search/edit.js.map +1 -1
- package/build/search/utils.js +2 -4
- package/build/search/utils.js.map +1 -1
- package/build/social-link/edit.native.js +1 -3
- package/build/social-link/edit.native.js.map +1 -1
- package/build-module/column/edit.native.js +5 -5
- package/build-module/column/edit.native.js.map +1 -1
- package/build-module/cover/edit/index.js +3 -1
- package/build-module/cover/edit/index.js.map +1 -1
- package/build-module/cover/shared.js +26 -21
- package/build-module/cover/shared.js.map +1 -1
- package/build-module/embed/embed-link-settings.native.js +0 -1
- package/build-module/embed/embed-link-settings.native.js.map +1 -1
- package/build-module/footnotes/edit.js +2 -3
- package/build-module/footnotes/edit.js.map +1 -1
- package/build-module/group/index.js +1 -0
- package/build-module/group/index.js.map +1 -1
- package/build-module/post-content/edit.js +1 -1
- package/build-module/post-content/edit.js.map +1 -1
- package/build-module/post-template/index.js +1 -1
- package/build-module/post-terms/use-post-terms.js +3 -2
- package/build-module/post-terms/use-post-terms.js.map +1 -1
- package/build-module/query/edit/inspector-controls/index.js +29 -4
- package/build-module/query/edit/inspector-controls/index.js.map +1 -1
- package/build-module/query/edit/query-content.js +2 -1
- package/build-module/query/edit/query-content.js.map +1 -1
- package/build-module/query/index.js +9 -2
- package/build-module/query/index.js.map +1 -1
- package/build-module/query/view.js +72 -0
- package/build-module/query/view.js.map +1 -0
- package/build-module/query-pagination-next/index.js +1 -1
- package/build-module/query-pagination-numbers/edit.js +51 -6
- package/build-module/query-pagination-numbers/edit.js.map +1 -1
- package/build-module/query-pagination-numbers/index.js +7 -1
- package/build-module/query-pagination-numbers/index.js.map +1 -1
- package/build-module/query-pagination-previous/index.js +1 -1
- package/build-module/search/edit.js +4 -2
- package/build-module/search/edit.js.map +1 -1
- package/build-module/search/utils.js +0 -1
- package/build-module/search/utils.js.map +1 -1
- package/build-module/social-link/edit.native.js +1 -3
- package/build-module/social-link/edit.native.js.map +1 -1
- package/build-style/query/style-rtl.css +140 -0
- package/build-style/query/style.css +140 -0
- package/build-style/site-logo/style-rtl.css +1 -0
- package/build-style/site-logo/style.css +1 -0
- package/build-style/style-rtl.css +1 -0
- package/build-style/style.css +1 -0
- package/package.json +32 -32
- package/src/audio/test/__snapshots__/edit.native.js.snap +106 -78
- package/src/column/edit.native.js +4 -4
- package/src/columns/test/__snapshots__/edit.native.js.snap +14 -0
- package/src/columns/test/edit.native.js +47 -17
- package/src/cover/edit/index.js +3 -1
- package/src/cover/shared.js +25 -20
- package/src/cover/test/edit.native.js +1 -5
- package/src/embed/embed-link-settings.native.js +0 -1
- package/src/embed/test/index.native.js +9 -9
- package/src/file/test/__snapshots__/edit.native.js.snap +218 -162
- package/src/footnotes/edit.js +3 -1
- package/src/group/block.json +1 -0
- package/src/image/index.php +5 -0
- package/src/post-content/edit.js +2 -2
- package/src/post-content/index.php +0 -6
- package/src/post-featured-image/index.php +0 -6
- package/src/post-navigation-link/index.php +10 -1
- package/src/post-template/block.json +2 -1
- package/src/post-template/index.php +19 -4
- package/src/post-terms/use-post-terms.js +4 -2
- package/src/query/block.json +9 -2
- package/src/query/edit/inspector-controls/index.js +46 -3
- package/src/query/edit/query-content.js +1 -0
- package/src/query/index.php +94 -1
- package/src/query/style.scss +63 -0
- package/src/query/view.js +82 -0
- package/src/query-no-results/index.php +1 -5
- package/src/query-pagination-next/block.json +7 -1
- package/src/query-pagination-next/index.php +20 -3
- package/src/query-pagination-numbers/block.json +7 -1
- package/src/query-pagination-numbers/edit.js +64 -16
- package/src/query-pagination-numbers/index.php +27 -4
- package/src/query-pagination-previous/block.json +7 -1
- package/src/query-pagination-previous/index.php +19 -2
- package/src/search/edit.js +8 -2
- package/src/search/test/__snapshots__/edit.native.js.snap +363 -265
- package/src/search/utils.js +0 -1
- package/src/site-logo/style.scss +1 -0
- package/src/social-link/edit.native.js +1 -1
- package/src/social-link/editor.native.scss +0 -4
- package/src/social-links/test/edit.native.js +30 -0
- package/src/social-link/test/index.native.js +0 -132
package/build/search/edit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_element","require","_classnames","_interopRequireDefault","_blockEditor","_data","_components","_compose","_icons","_i18n","_dom","_icons2","_utils","DEFAULT_INNER_PADDING","BUTTON_BEHAVIOR_EXPAND","SearchEdit","className","attributes","setAttributes","toggleSelection","isSelected","clientId","label","showLabel","placeholder","width","widthUnit","align","buttonText","buttonPosition","buttonUseIcon","buttonBehavior","isSearchFieldHidden","style","insertedInNavigationBlock","useSelect","select","getBlockParentsByBlockName","wasBlockJustInserted","blockEditorStore","length","__unstableMarkNextChangeAsNotPersistent","useDispatch","borderRadius","border","radius","borderProps","useBorderProps","colorProps","useColorProps","fluidTypographySettings","useSetting","layout","typographyProps","useTypographyProps","typography","fluid","wideSize","unitControlInstanceId","useInstanceId","UnitControl","unitControlInputId","isButtonPositionInside","isButtonPositionOutside","hasNoButton","hasOnlyButton","searchFieldRef","useRef","buttonRef","units","useCustomUnits","availableUnits","defaultValues","PC_WIDTH_DEFAULT","px","PX_WIDTH_DEFAULT","useEffect","getBlockClassNames","classnames","undefined","buttonPositionControls","role","title","__","isActive","icon","buttonOutside","onClick","buttonInside","noButton","buttonOnly","getButtonPositionIcon","getResizableSides","right","left","renderTextField","textFieldClasses","textFieldStyles","textDecoration","createElement","type","value","onChange","event","target","ref","renderButton","buttonClasses","__experimentalGetElementClassName","buttonStyles","handleButtonClick","Fragment","stripHTML","Icon","search","RichText","withoutInteractiveFormatting","html","controls","BlockControls","ToolbarGroup","ToolbarButton","toggleLabel","ToolbarDropdownMenu","buttonWithIcon","InspectorControls","PanelBody","BaseControl","id","__experimentalUnitControl","min","MIN_WIDTH","MIN_WIDTH_UNIT","newWidth","filteredWidth","parseInt","onUnitChange","newUnit","__unstableInputWidth","ButtonGroup","map","widthValue","Button","key","isSmall","variant","padBorderRadius","getWrapperStyles","styles","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","isNonZeroBorderRadius","topLeft","topRight","bottomLeft","bottomRight","Number","isInteger","blockProps","useBlockProps","labelClassnames","ResizableBox","size","minWidth","enable","onResizeStart","direction","elt","offsetWidth","onResizeStop","delta","showHandle"],"sources":["@wordpress/block-library/src/search/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseBlockProps,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalUseColorProps as useColorProps,\n\tgetTypographyClassesAndStyles as useTypographyProps,\n\tstore as blockEditorStore,\n\t__experimentalGetElementClassName,\n\tuseSetting,\n} from '@wordpress/block-editor';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useEffect, useRef } from '@wordpress/element';\nimport {\n\tToolbarDropdownMenu,\n\tToolbarGroup,\n\tButton,\n\tButtonGroup,\n\tToolbarButton,\n\tResizableBox,\n\tPanelBody,\n\tBaseControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalUnitControl as UnitControl,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { Icon, search } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport {\n\tbuttonOnly,\n\tbuttonOutside,\n\tbuttonInside,\n\tnoButton,\n\tbuttonWithIcon,\n\ttoggleLabel,\n} from './icons';\nimport {\n\tPC_WIDTH_DEFAULT,\n\tPX_WIDTH_DEFAULT,\n\tMIN_WIDTH,\n\tMIN_WIDTH_UNIT,\n} from './utils.js';\n\n// Used to calculate border radius adjustment to avoid \"fat\" corners when\n// button is placed inside wrapper.\nconst DEFAULT_INNER_PADDING = '4px';\n\nconst BUTTON_BEHAVIOR_EXPAND = 'expand-searchfield';\n\nexport default function SearchEdit( {\n\tclassName,\n\tattributes,\n\tsetAttributes,\n\ttoggleSelection,\n\tisSelected,\n\tclientId,\n} ) {\n\tconst {\n\t\tlabel,\n\t\tshowLabel,\n\t\tplaceholder,\n\t\twidth,\n\t\twidthUnit,\n\t\talign,\n\t\tbuttonText,\n\t\tbuttonPosition,\n\t\tbuttonUseIcon,\n\t\tbuttonBehavior,\n\t\tisSearchFieldHidden,\n\t\tstyle,\n\t} = attributes;\n\n\tconst insertedInNavigationBlock = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockParentsByBlockName, wasBlockJustInserted } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\treturn (\n\t\t\t\t!! getBlockParentsByBlockName( clientId, 'core/navigation' )\n\t\t\t\t\t?.length && wasBlockJustInserted( clientId )\n\t\t\t);\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tif ( insertedInNavigationBlock ) {\n\t\t// This side-effect should not create an undo level.\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tsetAttributes( {\n\t\t\tshowLabel: false,\n\t\t\tbuttonUseIcon: true,\n\t\t\tbuttonPosition: 'button-inside',\n\t\t} );\n\t}\n\n\tconst borderRadius = style?.border?.radius;\n\tconst borderProps = useBorderProps( attributes );\n\n\t// Check for old deprecated numerical border radius. Done as a separate\n\t// check so that a borderRadius style won't overwrite the longhand\n\t// per-corner styles.\n\tif ( typeof borderRadius === 'number' ) {\n\t\tborderProps.style.borderRadius = `${ borderRadius }px`;\n\t}\n\n\tconst colorProps = useColorProps( attributes );\n\tconst fluidTypographySettings = useSetting( 'typography.fluid' );\n\tconst layout = useSetting( 'layout' );\n\tconst typographyProps = useTypographyProps( attributes, {\n\t\ttypography: {\n\t\t\tfluid: fluidTypographySettings,\n\t\t},\n\t\tlayout: {\n\t\t\twideSize: layout?.wideSize,\n\t\t},\n\t} );\n\tconst unitControlInstanceId = useInstanceId( UnitControl );\n\tconst unitControlInputId = `wp-block-search__width-${ unitControlInstanceId }`;\n\tconst isButtonPositionInside = 'button-inside' === buttonPosition;\n\tconst isButtonPositionOutside = 'button-outside' === buttonPosition;\n\tconst hasNoButton = 'no-button' === buttonPosition;\n\tconst hasOnlyButton = 'button-only' === buttonPosition;\n\tconst searchFieldRef = useRef();\n\tconst buttonRef = useRef();\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: [ '%', 'px' ],\n\t\tdefaultValues: { '%': PC_WIDTH_DEFAULT, px: PX_WIDTH_DEFAULT },\n\t} );\n\n\tuseEffect( () => {\n\t\tif ( hasOnlyButton && ! isSelected ) {\n\t\t\tsetAttributes( {\n\t\t\t\tisSearchFieldHidden: true,\n\t\t\t} );\n\t\t}\n\t}, [ hasOnlyButton, isSelected, setAttributes ] );\n\n\t// Show the search field when width changes.\n\tuseEffect( () => {\n\t\tif ( ! hasOnlyButton || ! isSelected ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tisSearchFieldHidden: false,\n\t\t} );\n\t}, [ hasOnlyButton, isSelected, setAttributes, width ] );\n\n\tconst getBlockClassNames = () => {\n\t\treturn classnames(\n\t\t\tclassName,\n\t\t\tisButtonPositionInside\n\t\t\t\t? 'wp-block-search__button-inside'\n\t\t\t\t: undefined,\n\t\t\tisButtonPositionOutside\n\t\t\t\t? 'wp-block-search__button-outside'\n\t\t\t\t: undefined,\n\t\t\thasNoButton ? 'wp-block-search__no-button' : undefined,\n\t\t\thasOnlyButton ? 'wp-block-search__button-only' : undefined,\n\t\t\t! buttonUseIcon && ! hasNoButton\n\t\t\t\t? 'wp-block-search__text-button'\n\t\t\t\t: undefined,\n\t\t\tbuttonUseIcon && ! hasNoButton\n\t\t\t\t? 'wp-block-search__icon-button'\n\t\t\t\t: undefined,\n\t\t\thasOnlyButton && BUTTON_BEHAVIOR_EXPAND === buttonBehavior\n\t\t\t\t? 'wp-block-search__button-behavior-expand'\n\t\t\t\t: undefined,\n\t\t\thasOnlyButton && isSearchFieldHidden\n\t\t\t\t? 'wp-block-search__searchfield-hidden'\n\t\t\t\t: undefined\n\t\t);\n\t};\n\n\tconst buttonPositionControls = [\n\t\t{\n\t\t\trole: 'menuitemradio',\n\t\t\ttitle: __( 'Button outside' ),\n\t\t\tisActive: buttonPosition === 'button-outside',\n\t\t\ticon: buttonOutside,\n\t\t\tonClick: () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tbuttonPosition: 'button-outside',\n\t\t\t\t\tisSearchFieldHidden: false,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\trole: 'menuitemradio',\n\t\t\ttitle: __( 'Button inside' ),\n\t\t\tisActive: buttonPosition === 'button-inside',\n\t\t\ticon: buttonInside,\n\t\t\tonClick: () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tbuttonPosition: 'button-inside',\n\t\t\t\t\tisSearchFieldHidden: false,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\trole: 'menuitemradio',\n\t\t\ttitle: __( 'No button' ),\n\t\t\tisActive: buttonPosition === 'no-button',\n\t\t\ticon: noButton,\n\t\t\tonClick: () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tbuttonPosition: 'no-button',\n\t\t\t\t\tisSearchFieldHidden: false,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\trole: 'menuitemradio',\n\t\t\ttitle: __( 'Button only' ),\n\t\t\tisActive: buttonPosition === 'button-only',\n\t\t\ticon: buttonOnly,\n\t\t\tonClick: () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tbuttonPosition: 'button-only',\n\t\t\t\t\tisSearchFieldHidden: true,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t];\n\n\tconst getButtonPositionIcon = () => {\n\t\tswitch ( buttonPosition ) {\n\t\t\tcase 'button-inside':\n\t\t\t\treturn buttonInside;\n\t\t\tcase 'button-outside':\n\t\t\t\treturn buttonOutside;\n\t\t\tcase 'no-button':\n\t\t\t\treturn noButton;\n\t\t\tcase 'button-only':\n\t\t\t\treturn buttonOnly;\n\t\t}\n\t};\n\n\tconst getResizableSides = () => {\n\t\tif ( hasOnlyButton ) {\n\t\t\treturn {};\n\t\t}\n\n\t\treturn {\n\t\t\tright: align !== 'right',\n\t\t\tleft: align === 'right',\n\t\t};\n\t};\n\n\tconst renderTextField = () => {\n\t\t// If the input is inside the wrapper, the wrapper gets the border color styles/classes, not the input control.\n\t\tconst textFieldClasses = classnames(\n\t\t\t'wp-block-search__input',\n\t\t\tisButtonPositionInside ? undefined : borderProps.className,\n\t\t\ttypographyProps.className\n\t\t);\n\t\tconst textFieldStyles = {\n\t\t\t...( isButtonPositionInside\n\t\t\t\t? { borderRadius }\n\t\t\t\t: borderProps.style ),\n\t\t\t...typographyProps.style,\n\t\t\ttextDecoration: undefined,\n\t\t};\n\n\t\treturn (\n\t\t\t<input\n\t\t\t\ttype=\"search\"\n\t\t\t\tclassName={ textFieldClasses }\n\t\t\t\tstyle={ textFieldStyles }\n\t\t\t\taria-label={ __( 'Optional placeholder text' ) }\n\t\t\t\t// We hide the placeholder field's placeholder when there is a value. This\n\t\t\t\t// stops screen readers from reading the placeholder field's placeholder\n\t\t\t\t// which is confusing.\n\t\t\t\tplaceholder={\n\t\t\t\t\tplaceholder ? undefined : __( 'Optional placeholder…' )\n\t\t\t\t}\n\t\t\t\tvalue={ placeholder }\n\t\t\t\tonChange={ ( event ) =>\n\t\t\t\t\tsetAttributes( { placeholder: event.target.value } )\n\t\t\t\t}\n\t\t\t\tref={ searchFieldRef }\n\t\t\t/>\n\t\t);\n\t};\n\n\tconst renderButton = () => {\n\t\t// If the button is inside the wrapper, the wrapper gets the border color styles/classes, not the button.\n\t\tconst buttonClasses = classnames(\n\t\t\t'wp-block-search__button',\n\t\t\tcolorProps.className,\n\t\t\ttypographyProps.className,\n\t\t\tisButtonPositionInside ? undefined : borderProps.className,\n\t\t\tbuttonUseIcon ? 'has-icon' : undefined,\n\t\t\t__experimentalGetElementClassName( 'button' )\n\t\t);\n\t\tconst buttonStyles = {\n\t\t\t...colorProps.style,\n\t\t\t...typographyProps.style,\n\t\t\t...( isButtonPositionInside\n\t\t\t\t? { borderRadius }\n\t\t\t\t: borderProps.style ),\n\t\t};\n\t\tconst handleButtonClick = () => {\n\t\t\tif ( hasOnlyButton && BUTTON_BEHAVIOR_EXPAND === buttonBehavior ) {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tisSearchFieldHidden: ! isSearchFieldHidden,\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{ buttonUseIcon && (\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\tstyle={ buttonStyles }\n\t\t\t\t\t\taria-label={\n\t\t\t\t\t\t\tbuttonText\n\t\t\t\t\t\t\t\t? stripHTML( buttonText )\n\t\t\t\t\t\t\t\t: __( 'Search' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonClick={ handleButtonClick }\n\t\t\t\t\t\tref={ buttonRef }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Icon icon={ search } />\n\t\t\t\t\t</button>\n\t\t\t\t) }\n\n\t\t\t\t{ ! buttonUseIcon && (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\tstyle={ buttonStyles }\n\t\t\t\t\t\taria-label={ __( 'Button text' ) }\n\t\t\t\t\t\tplaceholder={ __( 'Add button text…' ) }\n\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\tvalue={ buttonText }\n\t\t\t\t\t\tonChange={ ( html ) =>\n\t\t\t\t\t\t\tsetAttributes( { buttonText: html } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonClick={ handleButtonClick }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t};\n\n\tconst controls = (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\ttitle={ __( 'Toggle search label' ) }\n\t\t\t\t\t\ticon={ toggleLabel }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowLabel: ! showLabel,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tclassName={ showLabel ? 'is-pressed' : undefined }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToolbarDropdownMenu\n\t\t\t\t\t\ticon={ getButtonPositionIcon() }\n\t\t\t\t\t\tlabel={ __( 'Change button position' ) }\n\t\t\t\t\t\tcontrols={ buttonPositionControls }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! hasNoButton && (\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\ttitle={ __( 'Use button with icon' ) }\n\t\t\t\t\t\t\ticon={ buttonWithIcon }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tbuttonUseIcon: ! buttonUseIcon,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\tbuttonUseIcon ? 'is-pressed' : undefined\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</ToolbarGroup>\n\t\t\t</BlockControls>\n\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Display Settings' ) }>\n\t\t\t\t\t<BaseControl\n\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\tid={ unitControlInputId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\tid={ unitControlInputId }\n\t\t\t\t\t\t\tmin={ `${ MIN_WIDTH }${ MIN_WIDTH_UNIT }` }\n\t\t\t\t\t\t\tonChange={ ( newWidth ) => {\n\t\t\t\t\t\t\t\tconst filteredWidth =\n\t\t\t\t\t\t\t\t\twidthUnit === '%' &&\n\t\t\t\t\t\t\t\t\tparseInt( newWidth, 10 ) > 100\n\t\t\t\t\t\t\t\t\t\t? 100\n\t\t\t\t\t\t\t\t\t\t: newWidth;\n\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\twidth: parseInt( filteredWidth, 10 ),\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonUnitChange={ ( newUnit ) => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\twidth:\n\t\t\t\t\t\t\t\t\t\t'%' === newUnit\n\t\t\t\t\t\t\t\t\t\t\t? PC_WIDTH_DEFAULT\n\t\t\t\t\t\t\t\t\t\t\t: PX_WIDTH_DEFAULT,\n\t\t\t\t\t\t\t\t\twidthUnit: newUnit,\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__unstableInputWidth={ '80px' }\n\t\t\t\t\t\t\tvalue={ `${ width }${ widthUnit }` }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t<ButtonGroup\n\t\t\t\t\t\t\tclassName=\"wp-block-search__components-button-group\"\n\t\t\t\t\t\t\taria-label={ __( 'Percentage Width' ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ [ 25, 50, 75, 100 ].map( ( widthValue ) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tkey={ widthValue }\n\t\t\t\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\t\t\twidthValue === width &&\n\t\t\t\t\t\t\t\t\t\t\twidthUnit === '%'\n\t\t\t\t\t\t\t\t\t\t\t\t? 'primary'\n\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\twidth: widthValue,\n\t\t\t\t\t\t\t\t\t\t\t\twidthUnit: '%',\n\t\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ widthValue }%\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t</ButtonGroup>\n\t\t\t\t\t</BaseControl>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\n\tconst padBorderRadius = ( radius ) =>\n\t\tradius ? `calc(${ radius } + ${ DEFAULT_INNER_PADDING })` : undefined;\n\n\tconst getWrapperStyles = () => {\n\t\tconst styles = isButtonPositionInside\n\t\t\t? borderProps.style\n\t\t\t: {\n\t\t\t\t\tborderRadius: borderProps.style?.borderRadius,\n\t\t\t\t\tborderTopLeftRadius: borderProps.style?.borderTopLeftRadius,\n\t\t\t\t\tborderTopRightRadius:\n\t\t\t\t\t\tborderProps.style?.borderTopRightRadius,\n\t\t\t\t\tborderBottomLeftRadius:\n\t\t\t\t\t\tborderProps.style?.borderBottomLeftRadius,\n\t\t\t\t\tborderBottomRightRadius:\n\t\t\t\t\t\tborderProps.style?.borderBottomRightRadius,\n\t\t\t };\n\n\t\tconst isNonZeroBorderRadius =\n\t\t\tborderRadius !== undefined && parseInt( borderRadius, 10 ) !== 0;\n\n\t\tif ( isButtonPositionInside && isNonZeroBorderRadius ) {\n\t\t\t// We have button inside wrapper and a border radius value to apply.\n\t\t\t// Add default padding so we don't get \"fat\" corners.\n\t\t\t//\n\t\t\t// CSS calc() is used here to support non-pixel units. The inline\n\t\t\t// style using calc() will only apply if both values have units.\n\n\t\t\tif ( typeof borderRadius === 'object' ) {\n\t\t\t\t// Individual corner border radii present.\n\t\t\t\tconst { topLeft, topRight, bottomLeft, bottomRight } =\n\t\t\t\t\tborderRadius;\n\n\t\t\t\treturn {\n\t\t\t\t\t...styles,\n\t\t\t\t\tborderTopLeftRadius: padBorderRadius( topLeft ),\n\t\t\t\t\tborderTopRightRadius: padBorderRadius( topRight ),\n\t\t\t\t\tborderBottomLeftRadius: padBorderRadius( bottomLeft ),\n\t\t\t\t\tborderBottomRightRadius: padBorderRadius( bottomRight ),\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// The inline style using calc() will only apply if both values\n\t\t\t// supplied to calc() have units. Deprecated block's may have\n\t\t\t// unitless integer.\n\t\t\tconst radius = Number.isInteger( borderRadius )\n\t\t\t\t? `${ borderRadius }px`\n\t\t\t\t: borderRadius;\n\n\t\t\tstyles.borderRadius = `calc(${ radius } + ${ DEFAULT_INNER_PADDING })`;\n\t\t}\n\n\t\treturn styles;\n\t};\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: getBlockClassNames(),\n\t\tstyle: {\n\t\t\t...typographyProps.style,\n\t\t\t// Input opts out of text decoration.\n\t\t\ttextDecoration: undefined,\n\t\t},\n\t} );\n\n\tconst labelClassnames = classnames(\n\t\t'wp-block-search__label',\n\t\ttypographyProps.className\n\t);\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t{ controls }\n\n\t\t\t{ showLabel && (\n\t\t\t\t<RichText\n\t\t\t\t\tclassName={ labelClassnames }\n\t\t\t\t\taria-label={ __( 'Label text' ) }\n\t\t\t\t\tplaceholder={ __( 'Add label…' ) }\n\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\tvalue={ label }\n\t\t\t\t\tonChange={ ( html ) => setAttributes( { label: html } ) }\n\t\t\t\t\tstyle={ typographyProps.style }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t<ResizableBox\n\t\t\t\tsize={ {\n\t\t\t\t\twidth: `${ width }${ widthUnit }`,\n\t\t\t\t} }\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'wp-block-search__inside-wrapper',\n\t\t\t\t\tisButtonPositionInside ? borderProps.className : undefined\n\t\t\t\t) }\n\t\t\t\tstyle={ getWrapperStyles() }\n\t\t\t\tminWidth={ MIN_WIDTH }\n\t\t\t\tenable={ getResizableSides() }\n\t\t\t\tonResizeStart={ ( event, direction, elt ) => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: parseInt( elt.offsetWidth, 10 ),\n\t\t\t\t\t\twidthUnit: 'px',\n\t\t\t\t\t} );\n\t\t\t\t\ttoggleSelection( false );\n\t\t\t\t} }\n\t\t\t\tonResizeStop={ ( event, direction, elt, delta ) => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: parseInt( width + delta.width, 10 ),\n\t\t\t\t\t} );\n\t\t\t\t\ttoggleSelection( true );\n\t\t\t\t} }\n\t\t\t\tshowHandle={ isSelected }\n\t\t\t>\n\t\t\t\t{ ( isButtonPositionInside ||\n\t\t\t\t\tisButtonPositionOutside ||\n\t\t\t\t\thasOnlyButton ) && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ renderTextField() }\n\t\t\t\t\t\t{ renderButton() }\n\t\t\t\t\t</>\n\t\t\t\t) }\n\n\t\t\t\t{ hasNoButton && renderTextField() }\n\t\t\t</ResizableBox>\n\t\t</div>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_element","require","_classnames","_interopRequireDefault","_blockEditor","_data","_components","_compose","_icons","_i18n","_dom","_icons2","_utils","DEFAULT_INNER_PADDING","BUTTON_BEHAVIOR_EXPAND","SearchEdit","className","attributes","setAttributes","toggleSelection","isSelected","clientId","label","showLabel","placeholder","width","widthUnit","align","buttonText","buttonPosition","buttonUseIcon","buttonBehavior","isSearchFieldHidden","style","insertedInNavigationBlock","useSelect","select","getBlockParentsByBlockName","wasBlockJustInserted","blockEditorStore","length","__unstableMarkNextChangeAsNotPersistent","useDispatch","borderRadius","border","radius","borderProps","useBorderProps","colorProps","useColorProps","fluidTypographySettings","useSetting","layout","typographyProps","useTypographyProps","typography","fluid","wideSize","unitControlInstanceId","useInstanceId","UnitControl","unitControlInputId","isButtonPositionInside","isButtonPositionOutside","hasNoButton","hasOnlyButton","searchFieldRef","useRef","buttonRef","units","useCustomUnits","availableUnits","defaultValues","PC_WIDTH_DEFAULT","px","PX_WIDTH_DEFAULT","useEffect","getBlockClassNames","classnames","undefined","buttonPositionControls","role","title","__","isActive","icon","buttonOutside","onClick","buttonInside","noButton","buttonOnly","getButtonPositionIcon","getResizableSides","right","left","renderTextField","textFieldClasses","textFieldStyles","textDecoration","createElement","type","value","onChange","event","target","ref","renderButton","buttonClasses","__experimentalGetElementClassName","buttonStyles","handleButtonClick","Fragment","stripHTML","Icon","search","RichText","withoutInteractiveFormatting","html","controls","BlockControls","ToolbarGroup","ToolbarButton","toggleLabel","ToolbarDropdownMenu","buttonWithIcon","InspectorControls","PanelBody","BaseControl","id","__experimentalUnitControl","min","isPercentageUnit","MIN_WIDTH","max","step","newWidth","filteredWidth","parseInt","onUnitChange","newUnit","__unstableInputWidth","ButtonGroup","map","widthValue","Button","key","isSmall","variant","padBorderRadius","getWrapperStyles","styles","borderTopLeftRadius","borderTopRightRadius","borderBottomLeftRadius","borderBottomRightRadius","isNonZeroBorderRadius","topLeft","topRight","bottomLeft","bottomRight","Number","isInteger","blockProps","useBlockProps","labelClassnames","ResizableBox","size","minWidth","enable","onResizeStart","direction","elt","offsetWidth","onResizeStop","delta","showHandle"],"sources":["@wordpress/block-library/src/search/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseBlockProps,\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\t__experimentalUseBorderProps as useBorderProps,\n\t__experimentalUseColorProps as useColorProps,\n\tgetTypographyClassesAndStyles as useTypographyProps,\n\tstore as blockEditorStore,\n\t__experimentalGetElementClassName,\n\tuseSetting,\n} from '@wordpress/block-editor';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useEffect, useRef } from '@wordpress/element';\nimport {\n\tToolbarDropdownMenu,\n\tToolbarGroup,\n\tButton,\n\tButtonGroup,\n\tToolbarButton,\n\tResizableBox,\n\tPanelBody,\n\tBaseControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalUnitControl as UnitControl,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport { Icon, search } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\n\n/**\n * Internal dependencies\n */\nimport {\n\tbuttonOnly,\n\tbuttonOutside,\n\tbuttonInside,\n\tnoButton,\n\tbuttonWithIcon,\n\ttoggleLabel,\n} from './icons';\nimport {\n\tPC_WIDTH_DEFAULT,\n\tPX_WIDTH_DEFAULT,\n\tMIN_WIDTH,\n\tisPercentageUnit,\n} from './utils.js';\n\n// Used to calculate border radius adjustment to avoid \"fat\" corners when\n// button is placed inside wrapper.\nconst DEFAULT_INNER_PADDING = '4px';\n\nconst BUTTON_BEHAVIOR_EXPAND = 'expand-searchfield';\n\nexport default function SearchEdit( {\n\tclassName,\n\tattributes,\n\tsetAttributes,\n\ttoggleSelection,\n\tisSelected,\n\tclientId,\n} ) {\n\tconst {\n\t\tlabel,\n\t\tshowLabel,\n\t\tplaceholder,\n\t\twidth,\n\t\twidthUnit,\n\t\talign,\n\t\tbuttonText,\n\t\tbuttonPosition,\n\t\tbuttonUseIcon,\n\t\tbuttonBehavior,\n\t\tisSearchFieldHidden,\n\t\tstyle,\n\t} = attributes;\n\n\tconst insertedInNavigationBlock = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockParentsByBlockName, wasBlockJustInserted } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\treturn (\n\t\t\t\t!! getBlockParentsByBlockName( clientId, 'core/navigation' )\n\t\t\t\t\t?.length && wasBlockJustInserted( clientId )\n\t\t\t);\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tif ( insertedInNavigationBlock ) {\n\t\t// This side-effect should not create an undo level.\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tsetAttributes( {\n\t\t\tshowLabel: false,\n\t\t\tbuttonUseIcon: true,\n\t\t\tbuttonPosition: 'button-inside',\n\t\t} );\n\t}\n\n\tconst borderRadius = style?.border?.radius;\n\tconst borderProps = useBorderProps( attributes );\n\n\t// Check for old deprecated numerical border radius. Done as a separate\n\t// check so that a borderRadius style won't overwrite the longhand\n\t// per-corner styles.\n\tif ( typeof borderRadius === 'number' ) {\n\t\tborderProps.style.borderRadius = `${ borderRadius }px`;\n\t}\n\n\tconst colorProps = useColorProps( attributes );\n\tconst fluidTypographySettings = useSetting( 'typography.fluid' );\n\tconst layout = useSetting( 'layout' );\n\tconst typographyProps = useTypographyProps( attributes, {\n\t\ttypography: {\n\t\t\tfluid: fluidTypographySettings,\n\t\t},\n\t\tlayout: {\n\t\t\twideSize: layout?.wideSize,\n\t\t},\n\t} );\n\tconst unitControlInstanceId = useInstanceId( UnitControl );\n\tconst unitControlInputId = `wp-block-search__width-${ unitControlInstanceId }`;\n\tconst isButtonPositionInside = 'button-inside' === buttonPosition;\n\tconst isButtonPositionOutside = 'button-outside' === buttonPosition;\n\tconst hasNoButton = 'no-button' === buttonPosition;\n\tconst hasOnlyButton = 'button-only' === buttonPosition;\n\tconst searchFieldRef = useRef();\n\tconst buttonRef = useRef();\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: [ '%', 'px' ],\n\t\tdefaultValues: { '%': PC_WIDTH_DEFAULT, px: PX_WIDTH_DEFAULT },\n\t} );\n\n\tuseEffect( () => {\n\t\tif ( hasOnlyButton && ! isSelected ) {\n\t\t\tsetAttributes( {\n\t\t\t\tisSearchFieldHidden: true,\n\t\t\t} );\n\t\t}\n\t}, [ hasOnlyButton, isSelected, setAttributes ] );\n\n\t// Show the search field when width changes.\n\tuseEffect( () => {\n\t\tif ( ! hasOnlyButton || ! isSelected ) {\n\t\t\treturn;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\tisSearchFieldHidden: false,\n\t\t} );\n\t}, [ hasOnlyButton, isSelected, setAttributes, width ] );\n\n\tconst getBlockClassNames = () => {\n\t\treturn classnames(\n\t\t\tclassName,\n\t\t\tisButtonPositionInside\n\t\t\t\t? 'wp-block-search__button-inside'\n\t\t\t\t: undefined,\n\t\t\tisButtonPositionOutside\n\t\t\t\t? 'wp-block-search__button-outside'\n\t\t\t\t: undefined,\n\t\t\thasNoButton ? 'wp-block-search__no-button' : undefined,\n\t\t\thasOnlyButton ? 'wp-block-search__button-only' : undefined,\n\t\t\t! buttonUseIcon && ! hasNoButton\n\t\t\t\t? 'wp-block-search__text-button'\n\t\t\t\t: undefined,\n\t\t\tbuttonUseIcon && ! hasNoButton\n\t\t\t\t? 'wp-block-search__icon-button'\n\t\t\t\t: undefined,\n\t\t\thasOnlyButton && BUTTON_BEHAVIOR_EXPAND === buttonBehavior\n\t\t\t\t? 'wp-block-search__button-behavior-expand'\n\t\t\t\t: undefined,\n\t\t\thasOnlyButton && isSearchFieldHidden\n\t\t\t\t? 'wp-block-search__searchfield-hidden'\n\t\t\t\t: undefined\n\t\t);\n\t};\n\n\tconst buttonPositionControls = [\n\t\t{\n\t\t\trole: 'menuitemradio',\n\t\t\ttitle: __( 'Button outside' ),\n\t\t\tisActive: buttonPosition === 'button-outside',\n\t\t\ticon: buttonOutside,\n\t\t\tonClick: () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tbuttonPosition: 'button-outside',\n\t\t\t\t\tisSearchFieldHidden: false,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\trole: 'menuitemradio',\n\t\t\ttitle: __( 'Button inside' ),\n\t\t\tisActive: buttonPosition === 'button-inside',\n\t\t\ticon: buttonInside,\n\t\t\tonClick: () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tbuttonPosition: 'button-inside',\n\t\t\t\t\tisSearchFieldHidden: false,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\trole: 'menuitemradio',\n\t\t\ttitle: __( 'No button' ),\n\t\t\tisActive: buttonPosition === 'no-button',\n\t\t\ticon: noButton,\n\t\t\tonClick: () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tbuttonPosition: 'no-button',\n\t\t\t\t\tisSearchFieldHidden: false,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\trole: 'menuitemradio',\n\t\t\ttitle: __( 'Button only' ),\n\t\t\tisActive: buttonPosition === 'button-only',\n\t\t\ticon: buttonOnly,\n\t\t\tonClick: () => {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tbuttonPosition: 'button-only',\n\t\t\t\t\tisSearchFieldHidden: true,\n\t\t\t\t} );\n\t\t\t},\n\t\t},\n\t];\n\n\tconst getButtonPositionIcon = () => {\n\t\tswitch ( buttonPosition ) {\n\t\t\tcase 'button-inside':\n\t\t\t\treturn buttonInside;\n\t\t\tcase 'button-outside':\n\t\t\t\treturn buttonOutside;\n\t\t\tcase 'no-button':\n\t\t\t\treturn noButton;\n\t\t\tcase 'button-only':\n\t\t\t\treturn buttonOnly;\n\t\t}\n\t};\n\n\tconst getResizableSides = () => {\n\t\tif ( hasOnlyButton ) {\n\t\t\treturn {};\n\t\t}\n\n\t\treturn {\n\t\t\tright: align !== 'right',\n\t\t\tleft: align === 'right',\n\t\t};\n\t};\n\n\tconst renderTextField = () => {\n\t\t// If the input is inside the wrapper, the wrapper gets the border color styles/classes, not the input control.\n\t\tconst textFieldClasses = classnames(\n\t\t\t'wp-block-search__input',\n\t\t\tisButtonPositionInside ? undefined : borderProps.className,\n\t\t\ttypographyProps.className\n\t\t);\n\t\tconst textFieldStyles = {\n\t\t\t...( isButtonPositionInside\n\t\t\t\t? { borderRadius }\n\t\t\t\t: borderProps.style ),\n\t\t\t...typographyProps.style,\n\t\t\ttextDecoration: undefined,\n\t\t};\n\n\t\treturn (\n\t\t\t<input\n\t\t\t\ttype=\"search\"\n\t\t\t\tclassName={ textFieldClasses }\n\t\t\t\tstyle={ textFieldStyles }\n\t\t\t\taria-label={ __( 'Optional placeholder text' ) }\n\t\t\t\t// We hide the placeholder field's placeholder when there is a value. This\n\t\t\t\t// stops screen readers from reading the placeholder field's placeholder\n\t\t\t\t// which is confusing.\n\t\t\t\tplaceholder={\n\t\t\t\t\tplaceholder ? undefined : __( 'Optional placeholder…' )\n\t\t\t\t}\n\t\t\t\tvalue={ placeholder }\n\t\t\t\tonChange={ ( event ) =>\n\t\t\t\t\tsetAttributes( { placeholder: event.target.value } )\n\t\t\t\t}\n\t\t\t\tref={ searchFieldRef }\n\t\t\t/>\n\t\t);\n\t};\n\n\tconst renderButton = () => {\n\t\t// If the button is inside the wrapper, the wrapper gets the border color styles/classes, not the button.\n\t\tconst buttonClasses = classnames(\n\t\t\t'wp-block-search__button',\n\t\t\tcolorProps.className,\n\t\t\ttypographyProps.className,\n\t\t\tisButtonPositionInside ? undefined : borderProps.className,\n\t\t\tbuttonUseIcon ? 'has-icon' : undefined,\n\t\t\t__experimentalGetElementClassName( 'button' )\n\t\t);\n\t\tconst buttonStyles = {\n\t\t\t...colorProps.style,\n\t\t\t...typographyProps.style,\n\t\t\t...( isButtonPositionInside\n\t\t\t\t? { borderRadius }\n\t\t\t\t: borderProps.style ),\n\t\t};\n\t\tconst handleButtonClick = () => {\n\t\t\tif ( hasOnlyButton && BUTTON_BEHAVIOR_EXPAND === buttonBehavior ) {\n\t\t\t\tsetAttributes( {\n\t\t\t\t\tisSearchFieldHidden: ! isSearchFieldHidden,\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{ buttonUseIcon && (\n\t\t\t\t\t<button\n\t\t\t\t\t\ttype=\"button\"\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\tstyle={ buttonStyles }\n\t\t\t\t\t\taria-label={\n\t\t\t\t\t\t\tbuttonText\n\t\t\t\t\t\t\t\t? stripHTML( buttonText )\n\t\t\t\t\t\t\t\t: __( 'Search' )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonClick={ handleButtonClick }\n\t\t\t\t\t\tref={ buttonRef }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Icon icon={ search } />\n\t\t\t\t\t</button>\n\t\t\t\t) }\n\n\t\t\t\t{ ! buttonUseIcon && (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tclassName={ buttonClasses }\n\t\t\t\t\t\tstyle={ buttonStyles }\n\t\t\t\t\t\taria-label={ __( 'Button text' ) }\n\t\t\t\t\t\tplaceholder={ __( 'Add button text…' ) }\n\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\tvalue={ buttonText }\n\t\t\t\t\t\tonChange={ ( html ) =>\n\t\t\t\t\t\t\tsetAttributes( { buttonText: html } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonClick={ handleButtonClick }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t};\n\n\tconst controls = (\n\t\t<>\n\t\t\t<BlockControls>\n\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\ttitle={ __( 'Toggle search label' ) }\n\t\t\t\t\t\ticon={ toggleLabel }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowLabel: ! showLabel,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tclassName={ showLabel ? 'is-pressed' : undefined }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToolbarDropdownMenu\n\t\t\t\t\t\ticon={ getButtonPositionIcon() }\n\t\t\t\t\t\tlabel={ __( 'Change button position' ) }\n\t\t\t\t\t\tcontrols={ buttonPositionControls }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! hasNoButton && (\n\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\ttitle={ __( 'Use button with icon' ) }\n\t\t\t\t\t\t\ticon={ buttonWithIcon }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tbuttonUseIcon: ! buttonUseIcon,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\t\tbuttonUseIcon ? 'is-pressed' : undefined\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</ToolbarGroup>\n\t\t\t</BlockControls>\n\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Display Settings' ) }>\n\t\t\t\t\t<BaseControl\n\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\tid={ unitControlInputId }\n\t\t\t\t\t>\n\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\tid={ unitControlInputId }\n\t\t\t\t\t\t\tmin={\n\t\t\t\t\t\t\t\tisPercentageUnit( widthUnit ) ? 0 : MIN_WIDTH\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmax={\n\t\t\t\t\t\t\t\tisPercentageUnit( widthUnit ) ? 100 : undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tstep={ 1 }\n\t\t\t\t\t\t\tonChange={ ( newWidth ) => {\n\t\t\t\t\t\t\t\tconst filteredWidth =\n\t\t\t\t\t\t\t\t\twidthUnit === '%' &&\n\t\t\t\t\t\t\t\t\tparseInt( newWidth, 10 ) > 100\n\t\t\t\t\t\t\t\t\t\t? 100\n\t\t\t\t\t\t\t\t\t\t: newWidth;\n\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\twidth: parseInt( filteredWidth, 10 ),\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonUnitChange={ ( newUnit ) => {\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\twidth:\n\t\t\t\t\t\t\t\t\t\t'%' === newUnit\n\t\t\t\t\t\t\t\t\t\t\t? PC_WIDTH_DEFAULT\n\t\t\t\t\t\t\t\t\t\t\t: PX_WIDTH_DEFAULT,\n\t\t\t\t\t\t\t\t\twidthUnit: newUnit,\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__unstableInputWidth={ '80px' }\n\t\t\t\t\t\t\tvalue={ `${ width }${ widthUnit }` }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t/>\n\n\t\t\t\t\t\t<ButtonGroup\n\t\t\t\t\t\t\tclassName=\"wp-block-search__components-button-group\"\n\t\t\t\t\t\t\taria-label={ __( 'Percentage Width' ) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ [ 25, 50, 75, 100 ].map( ( widthValue ) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tkey={ widthValue }\n\t\t\t\t\t\t\t\t\t\tisSmall\n\t\t\t\t\t\t\t\t\t\tvariant={\n\t\t\t\t\t\t\t\t\t\t\twidthValue === width &&\n\t\t\t\t\t\t\t\t\t\t\twidthUnit === '%'\n\t\t\t\t\t\t\t\t\t\t\t\t? 'primary'\n\t\t\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\t\t\twidth: widthValue,\n\t\t\t\t\t\t\t\t\t\t\t\twidthUnit: '%',\n\t\t\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ widthValue }%\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t</ButtonGroup>\n\t\t\t\t\t</BaseControl>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\n\tconst padBorderRadius = ( radius ) =>\n\t\tradius ? `calc(${ radius } + ${ DEFAULT_INNER_PADDING })` : undefined;\n\n\tconst getWrapperStyles = () => {\n\t\tconst styles = isButtonPositionInside\n\t\t\t? borderProps.style\n\t\t\t: {\n\t\t\t\t\tborderRadius: borderProps.style?.borderRadius,\n\t\t\t\t\tborderTopLeftRadius: borderProps.style?.borderTopLeftRadius,\n\t\t\t\t\tborderTopRightRadius:\n\t\t\t\t\t\tborderProps.style?.borderTopRightRadius,\n\t\t\t\t\tborderBottomLeftRadius:\n\t\t\t\t\t\tborderProps.style?.borderBottomLeftRadius,\n\t\t\t\t\tborderBottomRightRadius:\n\t\t\t\t\t\tborderProps.style?.borderBottomRightRadius,\n\t\t\t };\n\n\t\tconst isNonZeroBorderRadius =\n\t\t\tborderRadius !== undefined && parseInt( borderRadius, 10 ) !== 0;\n\n\t\tif ( isButtonPositionInside && isNonZeroBorderRadius ) {\n\t\t\t// We have button inside wrapper and a border radius value to apply.\n\t\t\t// Add default padding so we don't get \"fat\" corners.\n\t\t\t//\n\t\t\t// CSS calc() is used here to support non-pixel units. The inline\n\t\t\t// style using calc() will only apply if both values have units.\n\n\t\t\tif ( typeof borderRadius === 'object' ) {\n\t\t\t\t// Individual corner border radii present.\n\t\t\t\tconst { topLeft, topRight, bottomLeft, bottomRight } =\n\t\t\t\t\tborderRadius;\n\n\t\t\t\treturn {\n\t\t\t\t\t...styles,\n\t\t\t\t\tborderTopLeftRadius: padBorderRadius( topLeft ),\n\t\t\t\t\tborderTopRightRadius: padBorderRadius( topRight ),\n\t\t\t\t\tborderBottomLeftRadius: padBorderRadius( bottomLeft ),\n\t\t\t\t\tborderBottomRightRadius: padBorderRadius( bottomRight ),\n\t\t\t\t};\n\t\t\t}\n\n\t\t\t// The inline style using calc() will only apply if both values\n\t\t\t// supplied to calc() have units. Deprecated block's may have\n\t\t\t// unitless integer.\n\t\t\tconst radius = Number.isInteger( borderRadius )\n\t\t\t\t? `${ borderRadius }px`\n\t\t\t\t: borderRadius;\n\n\t\t\tstyles.borderRadius = `calc(${ radius } + ${ DEFAULT_INNER_PADDING })`;\n\t\t}\n\n\t\treturn styles;\n\t};\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: getBlockClassNames(),\n\t\tstyle: {\n\t\t\t...typographyProps.style,\n\t\t\t// Input opts out of text decoration.\n\t\t\ttextDecoration: undefined,\n\t\t},\n\t} );\n\n\tconst labelClassnames = classnames(\n\t\t'wp-block-search__label',\n\t\ttypographyProps.className\n\t);\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t{ controls }\n\n\t\t\t{ showLabel && (\n\t\t\t\t<RichText\n\t\t\t\t\tclassName={ labelClassnames }\n\t\t\t\t\taria-label={ __( 'Label text' ) }\n\t\t\t\t\tplaceholder={ __( 'Add label…' ) }\n\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\tvalue={ label }\n\t\t\t\t\tonChange={ ( html ) => setAttributes( { label: html } ) }\n\t\t\t\t\tstyle={ typographyProps.style }\n\t\t\t\t/>\n\t\t\t) }\n\n\t\t\t<ResizableBox\n\t\t\t\tsize={ {\n\t\t\t\t\twidth: `${ width }${ widthUnit }`,\n\t\t\t\t} }\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'wp-block-search__inside-wrapper',\n\t\t\t\t\tisButtonPositionInside ? borderProps.className : undefined\n\t\t\t\t) }\n\t\t\t\tstyle={ getWrapperStyles() }\n\t\t\t\tminWidth={ MIN_WIDTH }\n\t\t\t\tenable={ getResizableSides() }\n\t\t\t\tonResizeStart={ ( event, direction, elt ) => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: parseInt( elt.offsetWidth, 10 ),\n\t\t\t\t\t\twidthUnit: 'px',\n\t\t\t\t\t} );\n\t\t\t\t\ttoggleSelection( false );\n\t\t\t\t} }\n\t\t\t\tonResizeStop={ ( event, direction, elt, delta ) => {\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: parseInt( width + delta.width, 10 ),\n\t\t\t\t\t} );\n\t\t\t\t\ttoggleSelection( true );\n\t\t\t\t} }\n\t\t\t\tshowHandle={ isSelected }\n\t\t\t>\n\t\t\t\t{ ( isButtonPositionInside ||\n\t\t\t\t\tisButtonPositionOutside ||\n\t\t\t\t\thasOnlyButton ) && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t{ renderTextField() }\n\t\t\t\t\t\t{ renderButton() }\n\t\t\t\t\t</>\n\t\t\t\t) }\n\n\t\t\t\t{ hasNoButton && renderTextField() }\n\t\t\t</ResizableBox>\n\t\t</div>\n\t);\n}\n"],"mappings":"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"}
|
package/build/search/utils.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.PX_WIDTH_DEFAULT = exports.PC_WIDTH_DEFAULT = exports.
|
|
6
|
+
exports.PX_WIDTH_DEFAULT = exports.PC_WIDTH_DEFAULT = exports.MIN_WIDTH = void 0;
|
|
7
7
|
exports.isPercentageUnit = isPercentageUnit;
|
|
8
8
|
/**
|
|
9
9
|
* Constants
|
|
@@ -13,8 +13,6 @@ exports.PC_WIDTH_DEFAULT = PC_WIDTH_DEFAULT;
|
|
|
13
13
|
const PX_WIDTH_DEFAULT = 350;
|
|
14
14
|
exports.PX_WIDTH_DEFAULT = PX_WIDTH_DEFAULT;
|
|
15
15
|
const MIN_WIDTH = 220;
|
|
16
|
-
exports.MIN_WIDTH = MIN_WIDTH;
|
|
17
|
-
const MIN_WIDTH_UNIT = 'px';
|
|
18
16
|
|
|
19
17
|
/**
|
|
20
18
|
* Returns a boolean whether passed unit is percentage
|
|
@@ -23,7 +21,7 @@ const MIN_WIDTH_UNIT = 'px';
|
|
|
23
21
|
*
|
|
24
22
|
* @return {boolean} Whether unit is '%'.
|
|
25
23
|
*/
|
|
26
|
-
exports.
|
|
24
|
+
exports.MIN_WIDTH = MIN_WIDTH;
|
|
27
25
|
function isPercentageUnit(unit) {
|
|
28
26
|
return unit === '%';
|
|
29
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["PC_WIDTH_DEFAULT","exports","PX_WIDTH_DEFAULT","MIN_WIDTH","
|
|
1
|
+
{"version":3,"names":["PC_WIDTH_DEFAULT","exports","PX_WIDTH_DEFAULT","MIN_WIDTH","isPercentageUnit","unit"],"sources":["@wordpress/block-library/src/search/utils.js"],"sourcesContent":["/**\n * Constants\n */\nexport const PC_WIDTH_DEFAULT = 50;\nexport const PX_WIDTH_DEFAULT = 350;\nexport const MIN_WIDTH = 220;\n\n/**\n * Returns a boolean whether passed unit is percentage\n *\n * @param {string} unit Block width unit.\n *\n * @return {boolean} \tWhether unit is '%'.\n */\nexport function isPercentageUnit( unit ) {\n\treturn unit === '%';\n}\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AACO,MAAMA,gBAAgB,GAAG,EAAE;AAACC,OAAA,CAAAD,gBAAA,GAAAA,gBAAA;AAC5B,MAAME,gBAAgB,GAAG,GAAG;AAACD,OAAA,CAAAC,gBAAA,GAAAA,gBAAA;AAC7B,MAAMC,SAAS,GAAG,GAAG;;AAE5B;AACA;AACA;AACA;AACA;AACA;AACA;AANAF,OAAA,CAAAE,SAAA,GAAAA,SAAA;AAOO,SAASC,gBAAgBA,CAAEC,IAAI,EAAG;EACxC,OAAOA,IAAI,KAAK,GAAG;AACpB"}
|
|
@@ -130,9 +130,7 @@ const SocialLinkEdit = ({
|
|
|
130
130
|
(0, _i18n.__)('%s has URL set'), socialLinkName) : (0, _i18n.sprintf)(
|
|
131
131
|
// translators: %s: social link name e.g: "Instagram".
|
|
132
132
|
(0, _i18n.__)('%s has no URL set'), socialLinkName);
|
|
133
|
-
return (0, _element.createElement)(_reactNative.View, {
|
|
134
|
-
style: _editor.default.container
|
|
135
|
-
}, isSelected && (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_blockEditor.BlockControls, null, (0, _element.createElement)(_components.ToolbarGroup, null, (0, _element.createElement)(_components.ToolbarButton, {
|
|
133
|
+
return (0, _element.createElement)(_reactNative.View, null, isSelected && (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_blockEditor.BlockControls, null, (0, _element.createElement)(_components.ToolbarGroup, null, (0, _element.createElement)(_components.ToolbarButton, {
|
|
136
134
|
title: (0, _i18n.sprintf)(
|
|
137
135
|
// translators: %s: social link name e.g: "Instagram".
|
|
138
136
|
(0, _i18n.__)('Add link to %s'), socialLinkName),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_element","require","_reactNative","_blockEditor","_components","_compose","_i18n","_icons","_data","_socialList","_editor","_interopRequireDefault","DEFAULT_ACTIVE_ICON_STYLES","backgroundColor","color","DEFAULT_INACTIVE_ICON_STYLES","ANIMATION_DELAY","ANIMATION_DURATION","linkSettingsOptions","url","label","__","placeholder","autoFocus","linkLabel","footer","SocialLinkEdit","attributes","setAttributes","isSelected","onFocus","name","service","isLinkSheetVisible","setIsLinkSheetVisible","useState","hasUrl","setHasUrl","activeIcon","styles","inactiveIcon","usePreferredColorSchemeStyle","inactiveIconDark","animatedValue","useRef","Animated","Value","current","IconComponent","getIconBySite","socialLinkName","getNameBySite","useEffect","setValue","animateColors","interpolationColors","interpolate","inputRange","outputRange","stroke","sequence","delay","timing","toValue","duration","easing","Easing","circle","useNativeDriver","start","onCloseSettingsSheet","useCallback","onOpenSettingsSheet","onEmptyURL","onIconPress","accessibilityHint","sprintf","createElement","View","style","container","Fragment","BlockControls","ToolbarGroup","ToolbarButton","title","icon","link","onClick","isActive","LinkSettingsNavigation","isVisible","rel","onClose","options","withBottomSheet","TouchableWithoutFeedback","onPress","accessibilityRole","accessibilityLabel","iconContainer","Icon","animated","_default","compose","withSelect","select","clientId","getBlock","blockEditorStore","block","substring","exports","default"],"sources":["@wordpress/block-library/src/social-link/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View, Animated, Easing, TouchableWithoutFeedback } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useEffect, useState, useRef, useCallback } from '@wordpress/element';\nimport {\n\tToolbarGroup,\n\tToolbarButton,\n\tLinkSettingsNavigation,\n} from '@wordpress/components';\nimport { compose, usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { link, Icon } from '@wordpress/icons';\nimport { withSelect } from '@wordpress/data';\n/**\n * Internal dependencies\n */\nimport { getIconBySite, getNameBySite } from './social-list';\nimport styles from './editor.scss';\n\nconst DEFAULT_ACTIVE_ICON_STYLES = {\n\tbackgroundColor: '#f0f0f0',\n\tcolor: '#444',\n};\nconst DEFAULT_INACTIVE_ICON_STYLES = {\n\tbackgroundColor: '#0000003f',\n\tcolor: '#fff',\n};\nconst ANIMATION_DELAY = 300;\nconst ANIMATION_DURATION = 400;\n\nconst linkSettingsOptions = {\n\turl: {\n\t\tlabel: __( 'URL' ),\n\t\tplaceholder: __( 'Add URL' ),\n\t\tautoFocus: true,\n\t},\n\tlinkLabel: {\n\t\tlabel: __( 'Link label' ),\n\t\tplaceholder: __( 'None' ),\n\t},\n\tfooter: {\n\t\tlabel: __( 'Briefly describe the link to help screen reader user' ),\n\t},\n};\n\nconst SocialLinkEdit = ( {\n\tattributes,\n\tsetAttributes,\n\tisSelected,\n\tonFocus,\n\tname,\n} ) => {\n\tconst { url, service = name } = attributes;\n\tconst [ isLinkSheetVisible, setIsLinkSheetVisible ] = useState( false );\n\tconst [ hasUrl, setHasUrl ] = useState( !! url );\n\tconst activeIcon =\n\t\tstyles[ `wp-social-link-${ service }` ] ||\n\t\tstyles[ `wp-social-link` ] ||\n\t\tDEFAULT_ACTIVE_ICON_STYLES;\n\tconst inactiveIcon =\n\t\tusePreferredColorSchemeStyle(\n\t\t\tstyles.inactiveIcon,\n\t\t\tstyles.inactiveIconDark\n\t\t) || DEFAULT_INACTIVE_ICON_STYLES;\n\n\tconst animatedValue = useRef( new Animated.Value( 0 ) ).current;\n\n\tconst IconComponent = getIconBySite( service )();\n\tconst socialLinkName = getNameBySite( service );\n\n\t// When new social icon is added link sheet is opened automatically.\n\tuseEffect( () => {\n\t\tif ( isSelected && ! url ) {\n\t\t\tsetIsLinkSheetVisible( true );\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tif ( ! url ) {\n\t\t\tsetHasUrl( false );\n\t\t\tanimatedValue.setValue( 0 );\n\t\t} else if ( url ) {\n\t\t\tanimateColors();\n\t\t}\n\t}, [ url ] );\n\n\tconst interpolationColors = {\n\t\tbackgroundColor: animatedValue.interpolate( {\n\t\t\tinputRange: [ 0, 1 ],\n\t\t\toutputRange: [\n\t\t\t\tinactiveIcon.backgroundColor,\n\t\t\t\tactiveIcon.backgroundColor,\n\t\t\t],\n\t\t} ),\n\t\tcolor: animatedValue.interpolate( {\n\t\t\tinputRange: [ 0, 1 ],\n\t\t\toutputRange: [ inactiveIcon.color, activeIcon.color ],\n\t\t} ),\n\t\tstroke: '',\n\t};\n\n\tconst { backgroundColor, color, stroke } = hasUrl\n\t\t? activeIcon\n\t\t: interpolationColors;\n\n\tfunction animateColors() {\n\t\tAnimated.sequence( [\n\t\t\tAnimated.delay( ANIMATION_DELAY ),\n\t\t\tAnimated.timing( animatedValue, {\n\t\t\t\ttoValue: 1,\n\t\t\t\tduration: ANIMATION_DURATION,\n\t\t\t\teasing: Easing.circle,\n\t\t\t\tuseNativeDriver: false,\n\t\t\t} ),\n\t\t] ).start( () => setHasUrl( true ) );\n\t}\n\n\tconst onCloseSettingsSheet = useCallback( () => {\n\t\tsetIsLinkSheetVisible( false );\n\t}, [] );\n\n\tconst onOpenSettingsSheet = useCallback( () => {\n\t\tsetIsLinkSheetVisible( true );\n\t}, [] );\n\n\tconst onEmptyURL = useCallback( () => {\n\t\tanimatedValue.setValue( 0 );\n\t\tsetHasUrl( false );\n\t}, [ animatedValue ] );\n\n\tfunction onIconPress() {\n\t\tif ( isSelected ) {\n\t\t\tsetIsLinkSheetVisible( true );\n\t\t} else {\n\t\t\tonFocus();\n\t\t}\n\t}\n\n\tconst accessibilityHint = url\n\t\t? sprintf(\n\t\t\t\t// translators: %s: social link name e.g: \"Instagram\".\n\t\t\t\t__( '%s has URL set' ),\n\t\t\t\tsocialLinkName\n\t\t )\n\t\t: sprintf(\n\t\t\t\t// translators: %s: social link name e.g: \"Instagram\".\n\t\t\t\t__( '%s has no URL set' ),\n\t\t\t\tsocialLinkName\n\t\t );\n\n\treturn (\n\t\t<View style={ styles.container }>\n\t\t\t{ isSelected && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls>\n\t\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\t\ttitle={ sprintf(\n\t\t\t\t\t\t\t\t\t// translators: %s: social link name e.g: \"Instagram\".\n\t\t\t\t\t\t\t\t\t__( 'Add link to %s' ),\n\t\t\t\t\t\t\t\t\tsocialLinkName\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\t\t\tonClick={ onOpenSettingsSheet }\n\t\t\t\t\t\t\t\tisActive={ url }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t<LinkSettingsNavigation\n\t\t\t\t\t\tisVisible={ isLinkSheetVisible }\n\t\t\t\t\t\turl={ attributes.url }\n\t\t\t\t\t\tlabel={ attributes.label }\n\t\t\t\t\t\trel={ attributes.rel }\n\t\t\t\t\t\tonEmptyURL={ onEmptyURL }\n\t\t\t\t\t\tonClose={ onCloseSettingsSheet }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\toptions={ linkSettingsOptions }\n\t\t\t\t\t\twithBottomSheet\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\n\t\t\t<TouchableWithoutFeedback\n\t\t\t\tonPress={ onIconPress }\n\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\taccessibilityLabel={ sprintf(\n\t\t\t\t\t// translators: %s: social link name e.g: \"Instagram\".\n\t\t\t\t\t__( '%s social icon' ),\n\t\t\t\t\tsocialLinkName\n\t\t\t\t) }\n\t\t\t\taccessibilityHint={ accessibilityHint }\n\t\t\t>\n\t\t\t\t<Animated.View\n\t\t\t\t\tstyle={ [ styles.iconContainer, { backgroundColor } ] }\n\t\t\t\t>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tanimated\n\t\t\t\t\t\ticon={ IconComponent }\n\t\t\t\t\t\tstyle={ { stroke, color } }\n\t\t\t\t\t/>\n\t\t\t\t</Animated.View>\n\t\t\t</TouchableWithoutFeedback>\n\t\t</View>\n\t);\n};\n\nexport default compose( [\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst { getBlock } = select( blockEditorStore );\n\n\t\tconst block = getBlock( clientId );\n\t\tconst name = block?.name.substring( 17 );\n\n\t\treturn {\n\t\t\tname,\n\t\t};\n\t} ),\n] )( SocialLinkEdit );\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_element","require","_reactNative","_blockEditor","_components","_compose","_i18n","_icons","_data","_socialList","_editor","_interopRequireDefault","DEFAULT_ACTIVE_ICON_STYLES","backgroundColor","color","DEFAULT_INACTIVE_ICON_STYLES","ANIMATION_DELAY","ANIMATION_DURATION","linkSettingsOptions","url","label","__","placeholder","autoFocus","linkLabel","footer","SocialLinkEdit","attributes","setAttributes","isSelected","onFocus","name","service","isLinkSheetVisible","setIsLinkSheetVisible","useState","hasUrl","setHasUrl","activeIcon","styles","inactiveIcon","usePreferredColorSchemeStyle","inactiveIconDark","animatedValue","useRef","Animated","Value","current","IconComponent","getIconBySite","socialLinkName","getNameBySite","useEffect","setValue","animateColors","interpolationColors","interpolate","inputRange","outputRange","stroke","sequence","delay","timing","toValue","duration","easing","Easing","circle","useNativeDriver","start","onCloseSettingsSheet","useCallback","onOpenSettingsSheet","onEmptyURL","onIconPress","accessibilityHint","sprintf","createElement","View","Fragment","BlockControls","ToolbarGroup","ToolbarButton","title","icon","link","onClick","isActive","LinkSettingsNavigation","isVisible","rel","onClose","options","withBottomSheet","TouchableWithoutFeedback","onPress","accessibilityRole","accessibilityLabel","style","iconContainer","Icon","animated","_default","compose","withSelect","select","clientId","getBlock","blockEditorStore","block","substring","exports","default"],"sources":["@wordpress/block-library/src/social-link/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View, Animated, Easing, TouchableWithoutFeedback } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tBlockControls,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useEffect, useState, useRef, useCallback } from '@wordpress/element';\nimport {\n\tToolbarGroup,\n\tToolbarButton,\n\tLinkSettingsNavigation,\n} from '@wordpress/components';\nimport { compose, usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { link, Icon } from '@wordpress/icons';\nimport { withSelect } from '@wordpress/data';\n/**\n * Internal dependencies\n */\nimport { getIconBySite, getNameBySite } from './social-list';\nimport styles from './editor.scss';\n\nconst DEFAULT_ACTIVE_ICON_STYLES = {\n\tbackgroundColor: '#f0f0f0',\n\tcolor: '#444',\n};\nconst DEFAULT_INACTIVE_ICON_STYLES = {\n\tbackgroundColor: '#0000003f',\n\tcolor: '#fff',\n};\nconst ANIMATION_DELAY = 300;\nconst ANIMATION_DURATION = 400;\n\nconst linkSettingsOptions = {\n\turl: {\n\t\tlabel: __( 'URL' ),\n\t\tplaceholder: __( 'Add URL' ),\n\t\tautoFocus: true,\n\t},\n\tlinkLabel: {\n\t\tlabel: __( 'Link label' ),\n\t\tplaceholder: __( 'None' ),\n\t},\n\tfooter: {\n\t\tlabel: __( 'Briefly describe the link to help screen reader user' ),\n\t},\n};\n\nconst SocialLinkEdit = ( {\n\tattributes,\n\tsetAttributes,\n\tisSelected,\n\tonFocus,\n\tname,\n} ) => {\n\tconst { url, service = name } = attributes;\n\tconst [ isLinkSheetVisible, setIsLinkSheetVisible ] = useState( false );\n\tconst [ hasUrl, setHasUrl ] = useState( !! url );\n\tconst activeIcon =\n\t\tstyles[ `wp-social-link-${ service }` ] ||\n\t\tstyles[ `wp-social-link` ] ||\n\t\tDEFAULT_ACTIVE_ICON_STYLES;\n\tconst inactiveIcon =\n\t\tusePreferredColorSchemeStyle(\n\t\t\tstyles.inactiveIcon,\n\t\t\tstyles.inactiveIconDark\n\t\t) || DEFAULT_INACTIVE_ICON_STYLES;\n\n\tconst animatedValue = useRef( new Animated.Value( 0 ) ).current;\n\n\tconst IconComponent = getIconBySite( service )();\n\tconst socialLinkName = getNameBySite( service );\n\n\t// When new social icon is added link sheet is opened automatically.\n\tuseEffect( () => {\n\t\tif ( isSelected && ! url ) {\n\t\t\tsetIsLinkSheetVisible( true );\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tif ( ! url ) {\n\t\t\tsetHasUrl( false );\n\t\t\tanimatedValue.setValue( 0 );\n\t\t} else if ( url ) {\n\t\t\tanimateColors();\n\t\t}\n\t}, [ url ] );\n\n\tconst interpolationColors = {\n\t\tbackgroundColor: animatedValue.interpolate( {\n\t\t\tinputRange: [ 0, 1 ],\n\t\t\toutputRange: [\n\t\t\t\tinactiveIcon.backgroundColor,\n\t\t\t\tactiveIcon.backgroundColor,\n\t\t\t],\n\t\t} ),\n\t\tcolor: animatedValue.interpolate( {\n\t\t\tinputRange: [ 0, 1 ],\n\t\t\toutputRange: [ inactiveIcon.color, activeIcon.color ],\n\t\t} ),\n\t\tstroke: '',\n\t};\n\n\tconst { backgroundColor, color, stroke } = hasUrl\n\t\t? activeIcon\n\t\t: interpolationColors;\n\n\tfunction animateColors() {\n\t\tAnimated.sequence( [\n\t\t\tAnimated.delay( ANIMATION_DELAY ),\n\t\t\tAnimated.timing( animatedValue, {\n\t\t\t\ttoValue: 1,\n\t\t\t\tduration: ANIMATION_DURATION,\n\t\t\t\teasing: Easing.circle,\n\t\t\t\tuseNativeDriver: false,\n\t\t\t} ),\n\t\t] ).start( () => setHasUrl( true ) );\n\t}\n\n\tconst onCloseSettingsSheet = useCallback( () => {\n\t\tsetIsLinkSheetVisible( false );\n\t}, [] );\n\n\tconst onOpenSettingsSheet = useCallback( () => {\n\t\tsetIsLinkSheetVisible( true );\n\t}, [] );\n\n\tconst onEmptyURL = useCallback( () => {\n\t\tanimatedValue.setValue( 0 );\n\t\tsetHasUrl( false );\n\t}, [ animatedValue ] );\n\n\tfunction onIconPress() {\n\t\tif ( isSelected ) {\n\t\t\tsetIsLinkSheetVisible( true );\n\t\t} else {\n\t\t\tonFocus();\n\t\t}\n\t}\n\n\tconst accessibilityHint = url\n\t\t? sprintf(\n\t\t\t\t// translators: %s: social link name e.g: \"Instagram\".\n\t\t\t\t__( '%s has URL set' ),\n\t\t\t\tsocialLinkName\n\t\t )\n\t\t: sprintf(\n\t\t\t\t// translators: %s: social link name e.g: \"Instagram\".\n\t\t\t\t__( '%s has no URL set' ),\n\t\t\t\tsocialLinkName\n\t\t );\n\n\treturn (\n\t\t<View>\n\t\t\t{ isSelected && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls>\n\t\t\t\t\t\t<ToolbarGroup>\n\t\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\t\ttitle={ sprintf(\n\t\t\t\t\t\t\t\t\t// translators: %s: social link name e.g: \"Instagram\".\n\t\t\t\t\t\t\t\t\t__( 'Add link to %s' ),\n\t\t\t\t\t\t\t\t\tsocialLinkName\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\ticon={ link }\n\t\t\t\t\t\t\t\tonClick={ onOpenSettingsSheet }\n\t\t\t\t\t\t\t\tisActive={ url }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolbarGroup>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t<LinkSettingsNavigation\n\t\t\t\t\t\tisVisible={ isLinkSheetVisible }\n\t\t\t\t\t\turl={ attributes.url }\n\t\t\t\t\t\tlabel={ attributes.label }\n\t\t\t\t\t\trel={ attributes.rel }\n\t\t\t\t\t\tonEmptyURL={ onEmptyURL }\n\t\t\t\t\t\tonClose={ onCloseSettingsSheet }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\toptions={ linkSettingsOptions }\n\t\t\t\t\t\twithBottomSheet\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\n\t\t\t<TouchableWithoutFeedback\n\t\t\t\tonPress={ onIconPress }\n\t\t\t\taccessibilityRole={ 'button' }\n\t\t\t\taccessibilityLabel={ sprintf(\n\t\t\t\t\t// translators: %s: social link name e.g: \"Instagram\".\n\t\t\t\t\t__( '%s social icon' ),\n\t\t\t\t\tsocialLinkName\n\t\t\t\t) }\n\t\t\t\taccessibilityHint={ accessibilityHint }\n\t\t\t>\n\t\t\t\t<Animated.View\n\t\t\t\t\tstyle={ [ styles.iconContainer, { backgroundColor } ] }\n\t\t\t\t>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tanimated\n\t\t\t\t\t\ticon={ IconComponent }\n\t\t\t\t\t\tstyle={ { stroke, color } }\n\t\t\t\t\t/>\n\t\t\t\t</Animated.View>\n\t\t\t</TouchableWithoutFeedback>\n\t\t</View>\n\t);\n};\n\nexport default compose( [\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst { getBlock } = select( blockEditorStore );\n\n\t\tconst block = getBlock( clientId );\n\t\tconst name = block?.name.substring( 17 );\n\n\t\treturn {\n\t\t\tname,\n\t\t};\n\t} ),\n] )( SocialLinkEdit );\n"],"mappings":"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"}
|
|
@@ -82,17 +82,17 @@ function ColumnEdit({
|
|
|
82
82
|
onChangeWidth(nextWidth);
|
|
83
83
|
};
|
|
84
84
|
const renderAppender = useCallback(() => {
|
|
85
|
-
const {
|
|
86
|
-
width: columnWidth
|
|
87
|
-
} = contentStyle[clientId];
|
|
88
|
-
const isFullWidth = columnWidth === screenWidth;
|
|
89
85
|
if (isSelected) {
|
|
86
|
+
const {
|
|
87
|
+
width: columnWidth
|
|
88
|
+
} = contentStyle[clientId] || {};
|
|
89
|
+
const isFullWidth = columnWidth === screenWidth;
|
|
90
90
|
return createElement(View, {
|
|
91
91
|
style: [styles.columnAppender, isFullWidth && styles.fullwidthColumnAppender, isFullWidth && hasChildren && styles.fullwidthHasInnerColumnAppender, !isFullWidth && hasChildren && styles.hasInnerColumnAppender]
|
|
92
92
|
}, createElement(InnerBlocks.ButtonBlockAppender, null));
|
|
93
93
|
}
|
|
94
94
|
return null;
|
|
95
|
-
}, [contentStyle
|
|
95
|
+
}, [contentStyle, clientId, screenWidth, isSelected, hasChildren]);
|
|
96
96
|
if (!isSelected && !hasChildren) {
|
|
97
97
|
return createElement(View, {
|
|
98
98
|
style: [getStylesFromColorScheme(styles.columnPlaceholder, styles.columnPlaceholderDark), contentStyle[clientId]]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["View","Dimensions","withSelect","compose","withPreferredColorScheme","useEffect","useState","useCallback","InnerBlocks","BlockControls","BlockVerticalAlignmentToolbar","InspectorControls","store","blockEditorStore","useSetting","PanelBody","FooterMessageControl","UnitControl","getValueAndUnit","__experimentalUseCustomUnits","useCustomUnits","__","styles","ColumnsPreview","getWidths","getWidthWithUnit","isPercentageUnit","ColumnEdit","attributes","setAttributes","hasChildren","isSelected","getStylesFromColorScheme","contentStyle","columns","selectedColumnIndex","parentAlignment","clientId","blockWidth","verticalAlignment","width","valueUnit","screenWidth","Math","floor","get","widthUnit","setWidthUnit","units","availableUnits","updateAlignment","alignment","onChangeWidth","nextWidth","widthWithUnit","onChangeUnit","nextUnit","widthWithoutUnit","parseFloat","onChange","renderAppender","columnWidth","isFullWidth","createElement","style","columnAppender","fullwidthColumnAppender","fullwidthHasInnerColumnAppender","hasInnerColumnAppender","ButtonBlockAppender","columnPlaceholder","columnPlaceholderDark","parentWidth","Fragment","value","title","label","min","max","undefined","onComplete","onUnitChange","unit","preview","columnWidths","innerBlocksBottomSpace","ColumnEditWrapper","props","getVerticalAlignmentRemap","flexBase","select","getBlockCount","getBlockRootClientId","getSelectedBlockClientId","getBlocks","getBlockOrder","getBlockAttributes","selectedBlockClientId","parentId","blockOrder","indexOf"],"sources":["@wordpress/block-library/src/column/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View, Dimensions } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { withSelect } from '@wordpress/data';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { useEffect, useState, useCallback } from '@wordpress/element';\nimport {\n\tInnerBlocks,\n\tBlockControls,\n\tBlockVerticalAlignmentToolbar,\n\tInspectorControls,\n\tstore as blockEditorStore,\n\tuseSetting,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tFooterMessageControl,\n\tUnitControl,\n\tgetValueAndUnit,\n\t__experimentalUseCustomUnits as useCustomUnits,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n/**\n * Internal dependencies\n */\nimport styles from './editor.scss';\nimport ColumnsPreview from './column-preview';\nimport {\n\tgetWidths,\n\tgetWidthWithUnit,\n\tisPercentageUnit,\n} from '../columns/utils';\n\nfunction ColumnEdit( {\n\tattributes,\n\tsetAttributes,\n\thasChildren,\n\tisSelected,\n\tgetStylesFromColorScheme,\n\tcontentStyle,\n\tcolumns,\n\tselectedColumnIndex,\n\tparentAlignment,\n\tclientId,\n\tblockWidth,\n} ) {\n\tif ( ! contentStyle ) {\n\t\tcontentStyle = { [ clientId ]: {} };\n\t}\n\n\tconst { verticalAlignment, width } = attributes;\n\tconst { valueUnit = '%' } = getValueAndUnit( width ) || {};\n\n\tconst screenWidth = Math.floor( Dimensions.get( 'window' ).width );\n\n\tconst [ widthUnit, setWidthUnit ] = useState( valueUnit || '%' );\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || [\n\t\t\t'%',\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vw',\n\t\t],\n\t} );\n\n\tconst updateAlignment = ( alignment ) => {\n\t\tsetAttributes( { verticalAlignment: alignment } );\n\t};\n\n\tuseEffect( () => {\n\t\tsetWidthUnit( valueUnit );\n\t}, [ valueUnit ] );\n\n\tuseEffect( () => {\n\t\tif ( ! verticalAlignment && parentAlignment ) {\n\t\t\tupdateAlignment( parentAlignment );\n\t\t}\n\t}, [] );\n\n\tconst onChangeWidth = ( nextWidth ) => {\n\t\tconst widthWithUnit = getWidthWithUnit( nextWidth, widthUnit );\n\n\t\tsetAttributes( {\n\t\t\twidth: widthWithUnit,\n\t\t} );\n\t};\n\n\tconst onChangeUnit = ( nextUnit ) => {\n\t\tsetWidthUnit( nextUnit );\n\t\tconst widthWithoutUnit = parseFloat(\n\t\t\twidth || getWidths( columns )[ selectedColumnIndex ]\n\t\t);\n\n\t\tsetAttributes( {\n\t\t\twidth: getWidthWithUnit( widthWithoutUnit, nextUnit ),\n\t\t} );\n\t};\n\n\tconst onChange = ( nextWidth ) => {\n\t\tif ( isPercentageUnit( widthUnit ) || ! widthUnit ) {\n\t\t\treturn;\n\t\t}\n\t\tonChangeWidth( nextWidth );\n\t};\n\n\tconst renderAppender = useCallback( () => {\n\t\tconst { width: columnWidth } = contentStyle[ clientId ];\n\t\tconst isFullWidth = columnWidth === screenWidth;\n\n\t\tif ( isSelected ) {\n\t\t\treturn (\n\t\t\t\t<View\n\t\t\t\t\tstyle={ [\n\t\t\t\t\t\tstyles.columnAppender,\n\t\t\t\t\t\tisFullWidth && styles.fullwidthColumnAppender,\n\t\t\t\t\t\tisFullWidth &&\n\t\t\t\t\t\t\thasChildren &&\n\t\t\t\t\t\t\tstyles.fullwidthHasInnerColumnAppender,\n\t\t\t\t\t\t! isFullWidth &&\n\t\t\t\t\t\t\thasChildren &&\n\t\t\t\t\t\t\tstyles.hasInnerColumnAppender,\n\t\t\t\t\t] }\n\t\t\t\t>\n\t\t\t\t\t<InnerBlocks.ButtonBlockAppender />\n\t\t\t\t</View>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}, [ contentStyle[ clientId ], screenWidth, isSelected, hasChildren ] );\n\n\tif ( ! isSelected && ! hasChildren ) {\n\t\treturn (\n\t\t\t<View\n\t\t\t\tstyle={ [\n\t\t\t\t\tgetStylesFromColorScheme(\n\t\t\t\t\t\tstyles.columnPlaceholder,\n\t\t\t\t\t\tstyles.columnPlaceholderDark\n\t\t\t\t\t),\n\t\t\t\t\tcontentStyle[ clientId ],\n\t\t\t\t] }\n\t\t\t/>\n\t\t);\n\t}\n\n\tconst parentWidth =\n\t\tcontentStyle &&\n\t\tcontentStyle[ clientId ] &&\n\t\tcontentStyle[ clientId ].width;\n\n\treturn (\n\t\t<>\n\t\t\t{ isSelected && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls>\n\t\t\t\t\t\t<BlockVerticalAlignmentToolbar\n\t\t\t\t\t\t\tonChange={ updateAlignment }\n\t\t\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t<InspectorControls>\n\t\t\t\t\t\t<PanelBody title={ __( 'Column settings' ) }>\n\t\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\t\tmax={\n\t\t\t\t\t\t\t\t\tisPercentageUnit( widthUnit )\n\t\t\t\t\t\t\t\t\t\t? 100\n\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\t\tonComplete={ onChangeWidth }\n\t\t\t\t\t\t\t\tonUnitChange={ onChangeUnit }\n\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\tgetWidths( columns )[ selectedColumnIndex ]\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tunit={ widthUnit }\n\t\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\t\tpreview={\n\t\t\t\t\t\t\t\t\t<ColumnsPreview\n\t\t\t\t\t\t\t\t\t\tcolumnWidths={ getWidths(\n\t\t\t\t\t\t\t\t\t\t\tcolumns,\n\t\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tselectedColumnIndex={\n\t\t\t\t\t\t\t\t\t\t\tselectedColumnIndex\n\t\t\t\t\t\t\t\t\t\t}\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/>\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t\t<PanelBody>\n\t\t\t\t\t\t\t<FooterMessageControl\n\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t'Note: Column layout may vary between themes and screen sizes'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<View\n\t\t\t\tstyle={ [\n\t\t\t\t\tisSelected && hasChildren && styles.innerBlocksBottomSpace,\n\t\t\t\t\tcontentStyle[ clientId ],\n\t\t\t\t] }\n\t\t\t>\n\t\t\t\t<InnerBlocks\n\t\t\t\t\trenderAppender={ renderAppender }\n\t\t\t\t\tparentWidth={ parentWidth }\n\t\t\t\t\tblockWidth={ blockWidth }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t</>\n\t);\n}\n\nfunction ColumnEditWrapper( props ) {\n\tconst { verticalAlignment } = props.attributes;\n\n\tconst getVerticalAlignmentRemap = ( alignment ) => {\n\t\tif ( ! alignment ) return styles.flexBase;\n\t\treturn {\n\t\t\t...styles.flexBase,\n\t\t\t...styles[ `is-vertically-aligned-${ alignment }` ],\n\t\t};\n\t};\n\n\treturn (\n\t\t<View style={ getVerticalAlignmentRemap( verticalAlignment ) }>\n\t\t\t<ColumnEdit { ...props } />\n\t\t</View>\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst {\n\t\t\tgetBlockCount,\n\t\t\tgetBlockRootClientId,\n\t\t\tgetSelectedBlockClientId,\n\t\t\tgetBlocks,\n\t\t\tgetBlockOrder,\n\t\t\tgetBlockAttributes,\n\t\t} = select( blockEditorStore );\n\n\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\tconst isSelected = selectedBlockClientId === clientId;\n\n\t\tconst parentId = getBlockRootClientId( clientId );\n\t\tconst hasChildren = !! getBlockCount( clientId );\n\n\t\tconst blockOrder = getBlockOrder( parentId );\n\n\t\tconst selectedColumnIndex = blockOrder.indexOf( clientId );\n\t\tconst columns = getBlocks( parentId );\n\n\t\tconst parentAlignment =\n\t\t\tgetBlockAttributes( parentId )?.verticalAlignment;\n\n\t\treturn {\n\t\t\thasChildren,\n\t\t\tisSelected,\n\t\t\tselectedColumnIndex,\n\t\t\tcolumns,\n\t\t\tparentAlignment,\n\t\t};\n\t} ),\n\twithPreferredColorScheme,\n] )( ColumnEditWrapper );\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["View","Dimensions","withSelect","compose","withPreferredColorScheme","useEffect","useState","useCallback","InnerBlocks","BlockControls","BlockVerticalAlignmentToolbar","InspectorControls","store","blockEditorStore","useSetting","PanelBody","FooterMessageControl","UnitControl","getValueAndUnit","__experimentalUseCustomUnits","useCustomUnits","__","styles","ColumnsPreview","getWidths","getWidthWithUnit","isPercentageUnit","ColumnEdit","attributes","setAttributes","hasChildren","isSelected","getStylesFromColorScheme","contentStyle","columns","selectedColumnIndex","parentAlignment","clientId","blockWidth","verticalAlignment","width","valueUnit","screenWidth","Math","floor","get","widthUnit","setWidthUnit","units","availableUnits","updateAlignment","alignment","onChangeWidth","nextWidth","widthWithUnit","onChangeUnit","nextUnit","widthWithoutUnit","parseFloat","onChange","renderAppender","columnWidth","isFullWidth","createElement","style","columnAppender","fullwidthColumnAppender","fullwidthHasInnerColumnAppender","hasInnerColumnAppender","ButtonBlockAppender","columnPlaceholder","columnPlaceholderDark","parentWidth","Fragment","value","title","label","min","max","undefined","onComplete","onUnitChange","unit","preview","columnWidths","innerBlocksBottomSpace","ColumnEditWrapper","props","getVerticalAlignmentRemap","flexBase","select","getBlockCount","getBlockRootClientId","getSelectedBlockClientId","getBlocks","getBlockOrder","getBlockAttributes","selectedBlockClientId","parentId","blockOrder","indexOf"],"sources":["@wordpress/block-library/src/column/edit.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { View, Dimensions } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { withSelect } from '@wordpress/data';\nimport { compose, withPreferredColorScheme } from '@wordpress/compose';\nimport { useEffect, useState, useCallback } from '@wordpress/element';\nimport {\n\tInnerBlocks,\n\tBlockControls,\n\tBlockVerticalAlignmentToolbar,\n\tInspectorControls,\n\tstore as blockEditorStore,\n\tuseSetting,\n} from '@wordpress/block-editor';\nimport {\n\tPanelBody,\n\tFooterMessageControl,\n\tUnitControl,\n\tgetValueAndUnit,\n\t__experimentalUseCustomUnits as useCustomUnits,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n/**\n * Internal dependencies\n */\nimport styles from './editor.scss';\nimport ColumnsPreview from './column-preview';\nimport {\n\tgetWidths,\n\tgetWidthWithUnit,\n\tisPercentageUnit,\n} from '../columns/utils';\n\nfunction ColumnEdit( {\n\tattributes,\n\tsetAttributes,\n\thasChildren,\n\tisSelected,\n\tgetStylesFromColorScheme,\n\tcontentStyle,\n\tcolumns,\n\tselectedColumnIndex,\n\tparentAlignment,\n\tclientId,\n\tblockWidth,\n} ) {\n\tif ( ! contentStyle ) {\n\t\tcontentStyle = { [ clientId ]: {} };\n\t}\n\n\tconst { verticalAlignment, width } = attributes;\n\tconst { valueUnit = '%' } = getValueAndUnit( width ) || {};\n\n\tconst screenWidth = Math.floor( Dimensions.get( 'window' ).width );\n\n\tconst [ widthUnit, setWidthUnit ] = useState( valueUnit || '%' );\n\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useSetting( 'spacing.units' ) || [\n\t\t\t'%',\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vw',\n\t\t],\n\t} );\n\n\tconst updateAlignment = ( alignment ) => {\n\t\tsetAttributes( { verticalAlignment: alignment } );\n\t};\n\n\tuseEffect( () => {\n\t\tsetWidthUnit( valueUnit );\n\t}, [ valueUnit ] );\n\n\tuseEffect( () => {\n\t\tif ( ! verticalAlignment && parentAlignment ) {\n\t\t\tupdateAlignment( parentAlignment );\n\t\t}\n\t}, [] );\n\n\tconst onChangeWidth = ( nextWidth ) => {\n\t\tconst widthWithUnit = getWidthWithUnit( nextWidth, widthUnit );\n\n\t\tsetAttributes( {\n\t\t\twidth: widthWithUnit,\n\t\t} );\n\t};\n\n\tconst onChangeUnit = ( nextUnit ) => {\n\t\tsetWidthUnit( nextUnit );\n\t\tconst widthWithoutUnit = parseFloat(\n\t\t\twidth || getWidths( columns )[ selectedColumnIndex ]\n\t\t);\n\n\t\tsetAttributes( {\n\t\t\twidth: getWidthWithUnit( widthWithoutUnit, nextUnit ),\n\t\t} );\n\t};\n\n\tconst onChange = ( nextWidth ) => {\n\t\tif ( isPercentageUnit( widthUnit ) || ! widthUnit ) {\n\t\t\treturn;\n\t\t}\n\t\tonChangeWidth( nextWidth );\n\t};\n\n\tconst renderAppender = useCallback( () => {\n\t\tif ( isSelected ) {\n\t\t\tconst { width: columnWidth } = contentStyle[ clientId ] || {};\n\t\t\tconst isFullWidth = columnWidth === screenWidth;\n\n\t\t\treturn (\n\t\t\t\t<View\n\t\t\t\t\tstyle={ [\n\t\t\t\t\t\tstyles.columnAppender,\n\t\t\t\t\t\tisFullWidth && styles.fullwidthColumnAppender,\n\t\t\t\t\t\tisFullWidth &&\n\t\t\t\t\t\t\thasChildren &&\n\t\t\t\t\t\t\tstyles.fullwidthHasInnerColumnAppender,\n\t\t\t\t\t\t! isFullWidth &&\n\t\t\t\t\t\t\thasChildren &&\n\t\t\t\t\t\t\tstyles.hasInnerColumnAppender,\n\t\t\t\t\t] }\n\t\t\t\t>\n\t\t\t\t\t<InnerBlocks.ButtonBlockAppender />\n\t\t\t\t</View>\n\t\t\t);\n\t\t}\n\t\treturn null;\n\t}, [ contentStyle, clientId, screenWidth, isSelected, hasChildren ] );\n\n\tif ( ! isSelected && ! hasChildren ) {\n\t\treturn (\n\t\t\t<View\n\t\t\t\tstyle={ [\n\t\t\t\t\tgetStylesFromColorScheme(\n\t\t\t\t\t\tstyles.columnPlaceholder,\n\t\t\t\t\t\tstyles.columnPlaceholderDark\n\t\t\t\t\t),\n\t\t\t\t\tcontentStyle[ clientId ],\n\t\t\t\t] }\n\t\t\t/>\n\t\t);\n\t}\n\n\tconst parentWidth =\n\t\tcontentStyle &&\n\t\tcontentStyle[ clientId ] &&\n\t\tcontentStyle[ clientId ].width;\n\n\treturn (\n\t\t<>\n\t\t\t{ isSelected && (\n\t\t\t\t<>\n\t\t\t\t\t<BlockControls>\n\t\t\t\t\t\t<BlockVerticalAlignmentToolbar\n\t\t\t\t\t\t\tonChange={ updateAlignment }\n\t\t\t\t\t\t\tvalue={ verticalAlignment }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</BlockControls>\n\t\t\t\t\t<InspectorControls>\n\t\t\t\t\t\t<PanelBody title={ __( 'Column settings' ) }>\n\t\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\t\tmax={\n\t\t\t\t\t\t\t\t\tisPercentageUnit( widthUnit )\n\t\t\t\t\t\t\t\t\t\t? 100\n\t\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\t\tonComplete={ onChangeWidth }\n\t\t\t\t\t\t\t\tonUnitChange={ onChangeUnit }\n\t\t\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\t\t\tgetWidths( columns )[ selectedColumnIndex ]\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tunit={ widthUnit }\n\t\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\t\tpreview={\n\t\t\t\t\t\t\t\t\t<ColumnsPreview\n\t\t\t\t\t\t\t\t\t\tcolumnWidths={ getWidths(\n\t\t\t\t\t\t\t\t\t\t\tcolumns,\n\t\t\t\t\t\t\t\t\t\t\tfalse\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tselectedColumnIndex={\n\t\t\t\t\t\t\t\t\t\t\tselectedColumnIndex\n\t\t\t\t\t\t\t\t\t\t}\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/>\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t\t<PanelBody>\n\t\t\t\t\t\t\t<FooterMessageControl\n\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t'Note: Column layout may vary between themes and screen sizes'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</PanelBody>\n\t\t\t\t\t</InspectorControls>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<View\n\t\t\t\tstyle={ [\n\t\t\t\t\tisSelected && hasChildren && styles.innerBlocksBottomSpace,\n\t\t\t\t\tcontentStyle[ clientId ],\n\t\t\t\t] }\n\t\t\t>\n\t\t\t\t<InnerBlocks\n\t\t\t\t\trenderAppender={ renderAppender }\n\t\t\t\t\tparentWidth={ parentWidth }\n\t\t\t\t\tblockWidth={ blockWidth }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t</>\n\t);\n}\n\nfunction ColumnEditWrapper( props ) {\n\tconst { verticalAlignment } = props.attributes;\n\n\tconst getVerticalAlignmentRemap = ( alignment ) => {\n\t\tif ( ! alignment ) return styles.flexBase;\n\t\treturn {\n\t\t\t...styles.flexBase,\n\t\t\t...styles[ `is-vertically-aligned-${ alignment }` ],\n\t\t};\n\t};\n\n\treturn (\n\t\t<View style={ getVerticalAlignmentRemap( verticalAlignment ) }>\n\t\t\t<ColumnEdit { ...props } />\n\t\t</View>\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst {\n\t\t\tgetBlockCount,\n\t\t\tgetBlockRootClientId,\n\t\t\tgetSelectedBlockClientId,\n\t\t\tgetBlocks,\n\t\t\tgetBlockOrder,\n\t\t\tgetBlockAttributes,\n\t\t} = select( blockEditorStore );\n\n\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\tconst isSelected = selectedBlockClientId === clientId;\n\n\t\tconst parentId = getBlockRootClientId( clientId );\n\t\tconst hasChildren = !! getBlockCount( clientId );\n\n\t\tconst blockOrder = getBlockOrder( parentId );\n\n\t\tconst selectedColumnIndex = blockOrder.indexOf( clientId );\n\t\tconst columns = getBlocks( parentId );\n\n\t\tconst parentAlignment =\n\t\t\tgetBlockAttributes( parentId )?.verticalAlignment;\n\n\t\treturn {\n\t\t\thasChildren,\n\t\t\tisSelected,\n\t\t\tselectedColumnIndex,\n\t\t\tcolumns,\n\t\t\tparentAlignment,\n\t\t};\n\t} ),\n\twithPreferredColorScheme,\n] )( ColumnEditWrapper );\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,IAAI,EAAEC,UAAU,QAAQ,cAAc;;AAE/C;AACA;AACA;AACA,SAASC,UAAU,QAAQ,iBAAiB;AAC5C,SAASC,OAAO,EAAEC,wBAAwB,QAAQ,oBAAoB;AACtE,SAASC,SAAS,EAAEC,QAAQ,EAAEC,WAAW,QAAQ,oBAAoB;AACrE,SACCC,WAAW,EACXC,aAAa,EACbC,6BAA6B,EAC7BC,iBAAiB,EACjBC,KAAK,IAAIC,gBAAgB,EACzBC,UAAU,QACJ,yBAAyB;AAChC,SACCC,SAAS,EACTC,oBAAoB,EACpBC,WAAW,EACXC,eAAe,EACfC,4BAA4B,IAAIC,cAAc,QACxC,uBAAuB;AAC9B,SAASC,EAAE,QAAQ,iBAAiB;AACpC;AACA;AACA;AACA,OAAOC,MAAM,MAAM,eAAe;AAClC,OAAOC,cAAc,MAAM,kBAAkB;AAC7C,SACCC,SAAS,EACTC,gBAAgB,EAChBC,gBAAgB,QACV,kBAAkB;AAEzB,SAASC,UAAUA,CAAE;EACpBC,UAAU;EACVC,aAAa;EACbC,WAAW;EACXC,UAAU;EACVC,wBAAwB;EACxBC,YAAY;EACZC,OAAO;EACPC,mBAAmB;EACnBC,eAAe;EACfC,QAAQ;EACRC;AACD,CAAC,EAAG;EACH,IAAK,CAAEL,YAAY,EAAG;IACrBA,YAAY,GAAG;MAAE,CAAEI,QAAQ,GAAI,CAAC;IAAE,CAAC;EACpC;EAEA,MAAM;IAAEE,iBAAiB;IAAEC;EAAM,CAAC,GAAGZ,UAAU;EAC/C,MAAM;IAAEa,SAAS,GAAG;EAAI,CAAC,GAAGvB,eAAe,CAAEsB,KAAM,CAAC,IAAI,CAAC,CAAC;EAE1D,MAAME,WAAW,GAAGC,IAAI,CAACC,KAAK,CAAE3C,UAAU,CAAC4C,GAAG,CAAE,QAAS,CAAC,CAACL,KAAM,CAAC;EAElE,MAAM,CAAEM,SAAS,EAAEC,YAAY,CAAE,GAAGzC,QAAQ,CAAEmC,SAAS,IAAI,GAAI,CAAC;EAEhE,MAAMO,KAAK,GAAG5B,cAAc,CAAE;IAC7B6B,cAAc,EAAEnC,UAAU,CAAE,eAAgB,CAAC,IAAI,CAChD,GAAG,EACH,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,IAAI;EAEN,CAAE,CAAC;EAEH,MAAMoC,eAAe,GAAKC,SAAS,IAAM;IACxCtB,aAAa,CAAE;MAAEU,iBAAiB,EAAEY;IAAU,CAAE,CAAC;EAClD,CAAC;EAED9C,SAAS,CAAE,MAAM;IAChB0C,YAAY,CAAEN,SAAU,CAAC;EAC1B,CAAC,EAAE,CAAEA,SAAS,CAAG,CAAC;EAElBpC,SAAS,CAAE,MAAM;IAChB,IAAK,CAAEkC,iBAAiB,IAAIH,eAAe,EAAG;MAC7Cc,eAAe,CAAEd,eAAgB,CAAC;IACnC;EACD,CAAC,EAAE,EAAG,CAAC;EAEP,MAAMgB,aAAa,GAAKC,SAAS,IAAM;IACtC,MAAMC,aAAa,GAAG7B,gBAAgB,CAAE4B,SAAS,EAAEP,SAAU,CAAC;IAE9DjB,aAAa,CAAE;MACdW,KAAK,EAAEc;IACR,CAAE,CAAC;EACJ,CAAC;EAED,MAAMC,YAAY,GAAKC,QAAQ,IAAM;IACpCT,YAAY,CAAES,QAAS,CAAC;IACxB,MAAMC,gBAAgB,GAAGC,UAAU,CAClClB,KAAK,IAAIhB,SAAS,CAAEU,OAAQ,CAAC,CAAEC,mBAAmB,CACnD,CAAC;IAEDN,aAAa,CAAE;MACdW,KAAK,EAAEf,gBAAgB,CAAEgC,gBAAgB,EAAED,QAAS;IACrD,CAAE,CAAC;EACJ,CAAC;EAED,MAAMG,QAAQ,GAAKN,SAAS,IAAM;IACjC,IAAK3B,gBAAgB,CAAEoB,SAAU,CAAC,IAAI,CAAEA,SAAS,EAAG;MACnD;IACD;IACAM,aAAa,CAAEC,SAAU,CAAC;EAC3B,CAAC;EAED,MAAMO,cAAc,GAAGrD,WAAW,CAAE,MAAM;IACzC,IAAKwB,UAAU,EAAG;MACjB,MAAM;QAAES,KAAK,EAAEqB;MAAY,CAAC,GAAG5B,YAAY,CAAEI,QAAQ,CAAE,IAAI,CAAC,CAAC;MAC7D,MAAMyB,WAAW,GAAGD,WAAW,KAAKnB,WAAW;MAE/C,OACCqB,aAAA,CAAC/D,IAAI;QACJgE,KAAK,EAAG,CACP1C,MAAM,CAAC2C,cAAc,EACrBH,WAAW,IAAIxC,MAAM,CAAC4C,uBAAuB,EAC7CJ,WAAW,IACVhC,WAAW,IACXR,MAAM,CAAC6C,+BAA+B,EACvC,CAAEL,WAAW,IACZhC,WAAW,IACXR,MAAM,CAAC8C,sBAAsB;MAC5B,GAEHL,aAAA,CAACvD,WAAW,CAAC6D,mBAAmB,MAAE,CAC7B,CAAC;IAET;IACA,OAAO,IAAI;EACZ,CAAC,EAAE,CAAEpC,YAAY,EAAEI,QAAQ,EAAEK,WAAW,EAAEX,UAAU,EAAED,WAAW,CAAG,CAAC;EAErE,IAAK,CAAEC,UAAU,IAAI,CAAED,WAAW,EAAG;IACpC,OACCiC,aAAA,CAAC/D,IAAI;MACJgE,KAAK,EAAG,CACPhC,wBAAwB,CACvBV,MAAM,CAACgD,iBAAiB,EACxBhD,MAAM,CAACiD,qBACR,CAAC,EACDtC,YAAY,CAAEI,QAAQ,CAAE;IACtB,CACH,CAAC;EAEJ;EAEA,MAAMmC,WAAW,GAChBvC,YAAY,IACZA,YAAY,CAAEI,QAAQ,CAAE,IACxBJ,YAAY,CAAEI,QAAQ,CAAE,CAACG,KAAK;EAE/B,OACCuB,aAAA,CAAAU,QAAA,QACG1C,UAAU,IACXgC,aAAA,CAAAU,QAAA,QACCV,aAAA,CAACtD,aAAa,QACbsD,aAAA,CAACrD,6BAA6B;IAC7BiD,QAAQ,EAAGT,eAAiB;IAC5BwB,KAAK,EAAGnC;EAAmB,CAC3B,CACa,CAAC,EAChBwB,aAAA,CAACpD,iBAAiB,QACjBoD,aAAA,CAAChD,SAAS;IAAC4D,KAAK,EAAGtD,EAAE,CAAE,iBAAkB;EAAG,GAC3C0C,aAAA,CAAC9C,WAAW;IACX2D,KAAK,EAAGvD,EAAE,CAAE,OAAQ,CAAG;IACvBwD,GAAG,EAAG,CAAG;IACTC,GAAG,EACFpD,gBAAgB,CAAEoB,SAAU,CAAC,GAC1B,GAAG,GACHiC,SACH;IACDpB,QAAQ,EAAGA,QAAU;IACrBqB,UAAU,EAAG5B,aAAe;IAC5B6B,YAAY,EAAG1B,YAAc;IAC7BmB,KAAK,EACJlD,SAAS,CAAEU,OAAQ,CAAC,CAAEC,mBAAmB,CACzC;IACD+C,IAAI,EAAGpC,SAAW;IAClBE,KAAK,EAAGA,KAAO;IACfmC,OAAO,EACNpB,aAAA,CAACxC,cAAc;MACd6D,YAAY,EAAG5D,SAAS,CACvBU,OAAO,EACP,KACD,CAAG;MACHC,mBAAmB,EAClBA;IACA,CACD;EACD,CACD,CACS,CAAC,EACZ4B,aAAA,CAAChD,SAAS,QACTgD,aAAA,CAAC/C,oBAAoB;IACpB4D,KAAK,EAAGvD,EAAE,CACT,8DACD;EAAG,CACH,CACS,CACO,CAClB,CACF,EACD0C,aAAA,CAAC/D,IAAI;IACJgE,KAAK,EAAG,CACPjC,UAAU,IAAID,WAAW,IAAIR,MAAM,CAAC+D,sBAAsB,EAC1DpD,YAAY,CAAEI,QAAQ,CAAE;EACtB,GAEH0B,aAAA,CAACvD,WAAW;IACXoD,cAAc,EAAGA,cAAgB;IACjCY,WAAW,EAAGA,WAAa;IAC3BlC,UAAU,EAAGA;EAAY,CACzB,CACI,CACL,CAAC;AAEL;AAEA,SAASgD,iBAAiBA,CAAEC,KAAK,EAAG;EACnC,MAAM;IAAEhD;EAAkB,CAAC,GAAGgD,KAAK,CAAC3D,UAAU;EAE9C,MAAM4D,yBAAyB,GAAKrC,SAAS,IAAM;IAClD,IAAK,CAAEA,SAAS,EAAG,OAAO7B,MAAM,CAACmE,QAAQ;IACzC,OAAO;MACN,GAAGnE,MAAM,CAACmE,QAAQ;MAClB,GAAGnE,MAAM,CAAG,yBAAyB6B,SAAW,EAAC;IAClD,CAAC;EACF,CAAC;EAED,OACCY,aAAA,CAAC/D,IAAI;IAACgE,KAAK,EAAGwB,yBAAyB,CAAEjD,iBAAkB;EAAG,GAC7DwB,aAAA,CAACpC,UAAU;IAAA,GAAM4D;EAAK,CAAI,CACrB,CAAC;AAET;AAEA,eAAepF,OAAO,CAAE,CACvBD,UAAU,CAAE,CAAEwF,MAAM,EAAE;EAAErD;AAAS,CAAC,KAAM;EACvC,MAAM;IACLsD,aAAa;IACbC,oBAAoB;IACpBC,wBAAwB;IACxBC,SAAS;IACTC,aAAa;IACbC;EACD,CAAC,GAAGN,MAAM,CAAE7E,gBAAiB,CAAC;EAE9B,MAAMoF,qBAAqB,GAAGJ,wBAAwB,CAAC,CAAC;EACxD,MAAM9D,UAAU,GAAGkE,qBAAqB,KAAK5D,QAAQ;EAErD,MAAM6D,QAAQ,GAAGN,oBAAoB,CAAEvD,QAAS,CAAC;EACjD,MAAMP,WAAW,GAAG,CAAC,CAAE6D,aAAa,CAAEtD,QAAS,CAAC;EAEhD,MAAM8D,UAAU,GAAGJ,aAAa,CAAEG,QAAS,CAAC;EAE5C,MAAM/D,mBAAmB,GAAGgE,UAAU,CAACC,OAAO,CAAE/D,QAAS,CAAC;EAC1D,MAAMH,OAAO,GAAG4D,SAAS,CAAEI,QAAS,CAAC;EAErC,MAAM9D,eAAe,GACpB4D,kBAAkB,CAAEE,QAAS,CAAC,EAAE3D,iBAAiB;EAElD,OAAO;IACNT,WAAW;IACXC,UAAU;IACVI,mBAAmB;IACnBD,OAAO;IACPE;EACD,CAAC;AACF,CAAE,CAAC,EACHhC,wBAAwB,CACvB,CAAC,CAAEkF,iBAAkB,CAAC"}
|
|
@@ -116,7 +116,9 @@ function CoverEdit({
|
|
|
116
116
|
} = __experimentalUseGradient();
|
|
117
117
|
const setMedia = attributesFromMedia(setAttributes, dimRatio);
|
|
118
118
|
const onSelectMedia = async newMedia => {
|
|
119
|
-
|
|
119
|
+
// Only pass the url to getCoverIsDark if the media is an image as video is not handled.
|
|
120
|
+
const newUrl = newMedia?.type === 'image' ? newMedia.url : undefined;
|
|
121
|
+
const isDarkSetting = await getCoverIsDark(newUrl, dimRatio, overlayColor.color);
|
|
120
122
|
setMedia(newMedia, isDarkSetting);
|
|
121
123
|
};
|
|
122
124
|
const onClearMedia = async () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","extend","namesPlugin","useEntityProp","store","coreStore","useEffect","useMemo","useRef","Placeholder","Spinner","compose","useResizeObserver","withColors","ColorPalette","useBlockProps","useSetting","useInnerBlocksProps","__experimentalUseGradient","blockEditorStore","__","useSelect","useDispatch","isBlobURL","noticesStore","attributesFromMedia","IMAGE_BACKGROUND_TYPE","VIDEO_BACKGROUND_TYPE","dimRatioToClass","isContentPositionCenter","getPositionClassName","mediaPosition","getCoverIsDark","CoverInspectorControls","CoverBlockControls","CoverPlaceholder","ResizableCoverPopover","getInnerBlocksTemplate","attributes","align","placeholder","isTemporaryMedia","id","url","CoverEdit","clientId","isSelected","overlayColor","setAttributes","setOverlayColor","toggleSelection","context","postId","postType","contentPosition","useFeaturedImage","dimRatio","focalPoint","hasParallax","isDark","isRepeated","minHeight","minHeightUnit","alt","allowedBlocks","templateLock","tagName","TagName","featuredImage","__unstableMarkNextChangeAsNotPersistent","media","select","getMedia","mediaUrl","source_url","setIsDark","isDarkSetting","color","replaceAll","backgroundType","createErrorNotice","gradientClass","gradientValue","setMedia","onSelectMedia","newMedia","onClearMedia","undefined","onSetOverlayColor","colorValue","onUpdateDimRatio","newDimRatio","isUploadingMedia","onUploadError","message","type","isImageBackground","isVideoBackground","resizeListener","height","width","resizableBoxDimensions","minHeightWithUnit","isImgElement","style","backgroundImage","backgroundPosition","bgStyle","backgroundColor","mediaStyle","objectPosition","hasBackground","hasInnerBlocks","getBlock","innerBlocks","length","ref","blockProps","hasFontSizes","innerBlocksTemplate","fontSize","innerBlocksProps","className","template","templateInsertUpdatesSelection","mediaElement","currentSettings","toggleUseFeaturedImage","blockControls","createElement","inspectorControls","coverRef","updateDimRatio","resizableCoverProps","onResizeStart","onResize","value","onResizeStop","newMinHeight","showHandle","size","Fragment","onError","disableCustomColors","onChange","clearable","classes","class","withIllustration","src","role","autoPlay","muted","loop","disableMediaButtons"],"sources":["@wordpress/block-library/src/cover/edit/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { extend } from 'colord';\nimport namesPlugin from 'colord/plugins/names';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useEffect, useMemo, useRef } from '@wordpress/element';\nimport { Placeholder, Spinner } from '@wordpress/components';\nimport { compose, useResizeObserver } from '@wordpress/compose';\nimport {\n\twithColors,\n\tColorPalette,\n\tuseBlockProps,\n\tuseSetting,\n\tuseInnerBlocksProps,\n\t__experimentalUseGradient,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { isBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport {\n\tattributesFromMedia,\n\tIMAGE_BACKGROUND_TYPE,\n\tVIDEO_BACKGROUND_TYPE,\n\tdimRatioToClass,\n\tisContentPositionCenter,\n\tgetPositionClassName,\n\tmediaPosition,\n\tgetCoverIsDark,\n} from '../shared';\nimport CoverInspectorControls from './inspector-controls';\nimport CoverBlockControls from './block-controls';\nimport CoverPlaceholder from './cover-placeholder';\nimport ResizableCoverPopover from './resizable-cover-popover';\n\nextend( [ namesPlugin ] );\n\nfunction getInnerBlocksTemplate( attributes ) {\n\treturn [\n\t\t[\n\t\t\t'core/paragraph',\n\t\t\t{\n\t\t\t\talign: 'center',\n\t\t\t\tplaceholder: __( 'Write title…' ),\n\t\t\t\t...attributes,\n\t\t\t},\n\t\t],\n\t];\n}\n\n/**\n * Is the URL a temporary blob URL? A blob URL is one that is used temporarily while\n * the media (image or video) is being uploaded and will not have an id allocated yet.\n *\n * @param {number} id The id of the media.\n * @param {string} url The url of the media.\n *\n * @return {boolean} Is the URL a Blob URL.\n */\nconst isTemporaryMedia = ( id, url ) => ! id && isBlobURL( url );\n\nfunction CoverEdit( {\n\tattributes,\n\tclientId,\n\tisSelected,\n\toverlayColor,\n\tsetAttributes,\n\tsetOverlayColor,\n\ttoggleSelection,\n\tcontext: { postId, postType },\n} ) {\n\tconst {\n\t\tcontentPosition,\n\t\tid,\n\t\tuseFeaturedImage,\n\t\tdimRatio,\n\t\tfocalPoint,\n\t\thasParallax,\n\t\tisDark,\n\t\tisRepeated,\n\t\tminHeight,\n\t\tminHeightUnit,\n\t\talt,\n\t\tallowedBlocks,\n\t\ttemplateLock,\n\t\ttagName: TagName = 'div',\n\t} = attributes;\n\n\tconst [ featuredImage ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'featured_media',\n\t\tpostId\n\t);\n\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\tconst media = useSelect(\n\t\t( select ) =>\n\t\t\tfeaturedImage &&\n\t\t\tselect( coreStore ).getMedia( featuredImage, { context: 'view' } ),\n\t\t[ featuredImage ]\n\t);\n\tconst mediaUrl = media?.source_url;\n\n\tuseEffect( () => {\n\t\tasync function setIsDark() {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tconst isDarkSetting = await getCoverIsDark(\n\t\t\t\tmediaUrl,\n\t\t\t\tdimRatio,\n\t\t\t\toverlayColor.color\n\t\t\t);\n\t\t\tsetAttributes( {\n\t\t\t\tisDark: isDarkSetting,\n\t\t\t} );\n\t\t}\n\t\tif ( useFeaturedImage ) {\n\t\t\tsetIsDark();\n\t\t}\n\t\t// We only ever want to run this effect if the mediaUrl changes.\n\t\t// All other changes to the isDark state are handled in the appropriate event handlers.\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ mediaUrl ] );\n\n\t// instead of destructuring the attributes\n\t// we define the url and background type\n\t// depending on the value of the useFeaturedImage flag\n\t// to preview in edit the dynamic featured image\n\tconst url = useFeaturedImage\n\t\t? mediaUrl\n\t\t: // Ensure the url is not malformed due to sanitization through `wp_kses`.\n\t\t attributes.url?.replaceAll( '&', '&' );\n\tconst backgroundType = useFeaturedImage\n\t\t? IMAGE_BACKGROUND_TYPE\n\t\t: attributes.backgroundType;\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst { gradientClass, gradientValue } = __experimentalUseGradient();\n\tconst setMedia = attributesFromMedia( setAttributes, dimRatio );\n\n\tconst onSelectMedia = async ( newMedia ) => {\n\t\tconst isDarkSetting = await getCoverIsDark(\n\t\t\tnewMedia.url,\n\t\t\tdimRatio,\n\t\t\toverlayColor.color\n\t\t);\n\t\tsetMedia( newMedia, isDarkSetting );\n\t};\n\n\tconst onClearMedia = async () => {\n\t\tconst isDarkSetting = await getCoverIsDark(\n\t\t\tundefined,\n\t\t\tdimRatio,\n\t\t\toverlayColor.color\n\t\t);\n\t\tsetAttributes( {\n\t\t\turl: undefined,\n\t\t\tid: undefined,\n\t\t\tbackgroundType: undefined,\n\t\t\tfocalPoint: undefined,\n\t\t\thasParallax: undefined,\n\t\t\tisRepeated: undefined,\n\t\t\tuseFeaturedImage: false,\n\t\t\tisDark: isDarkSetting,\n\t\t} );\n\t};\n\n\tconst onSetOverlayColor = async ( colorValue ) => {\n\t\tconst isDarkSetting = await getCoverIsDark( url, dimRatio, colorValue );\n\t\tsetOverlayColor( colorValue );\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tsetAttributes( {\n\t\t\tisDark: isDarkSetting,\n\t\t} );\n\t};\n\n\tconst onUpdateDimRatio = async ( newDimRatio ) => {\n\t\tconst isDarkSetting = await getCoverIsDark(\n\t\t\turl,\n\t\t\tnewDimRatio,\n\t\t\toverlayColor.color\n\t\t);\n\n\t\tsetAttributes( {\n\t\t\tdimRatio: newDimRatio,\n\t\t\tisDark: isDarkSetting,\n\t\t} );\n\t};\n\n\tconst isUploadingMedia = isTemporaryMedia( id, url );\n\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t};\n\n\tconst isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;\n\tconst isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;\n\n\tconst [ resizeListener, { height, width } ] = useResizeObserver();\n\tconst resizableBoxDimensions = useMemo( () => {\n\t\treturn {\n\t\t\theight: minHeightUnit === 'px' ? minHeight : 'auto',\n\t\t\twidth: 'auto',\n\t\t};\n\t}, [ minHeight, minHeightUnit ] );\n\n\tconst minHeightWithUnit =\n\t\tminHeight && minHeightUnit\n\t\t\t? `${ minHeight }${ minHeightUnit }`\n\t\t\t: minHeight;\n\n\tconst isImgElement = ! ( hasParallax || isRepeated );\n\n\tconst style = {\n\t\tminHeight: minHeightWithUnit || undefined,\n\t};\n\n\tconst backgroundImage = url ? `url(${ url })` : undefined;\n\n\tconst backgroundPosition = mediaPosition( focalPoint );\n\n\tconst bgStyle = { backgroundColor: overlayColor.color };\n\tconst mediaStyle = {\n\t\tobjectPosition:\n\t\t\tfocalPoint && isImgElement\n\t\t\t\t? mediaPosition( focalPoint )\n\t\t\t\t: undefined,\n\t};\n\n\tconst hasBackground = !! ( url || overlayColor.color || gradientValue );\n\n\tconst hasInnerBlocks = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlock( clientId ).innerBlocks.length >\n\t\t\t0,\n\t\t[ clientId ]\n\t);\n\n\tconst ref = useRef();\n\tconst blockProps = useBlockProps( { ref } );\n\n\t// Check for fontSize support before we pass a fontSize attribute to the innerBlocks.\n\tconst hasFontSizes = !! useSetting( 'typography.fontSizes' )?.length;\n\tconst innerBlocksTemplate = getInnerBlocksTemplate( {\n\t\tfontSize: hasFontSizes ? 'large' : undefined,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\tclassName: 'wp-block-cover__inner-container',\n\t\t},\n\t\t{\n\t\t\t// Avoid template sync when the `templateLock` value is `all` or `contentOnly`.\n\t\t\t// See: https://github.com/WordPress/gutenberg/pull/45632\n\t\t\ttemplate: ! hasInnerBlocks ? innerBlocksTemplate : undefined,\n\t\t\ttemplateInsertUpdatesSelection: true,\n\t\t\tallowedBlocks,\n\t\t\ttemplateLock,\n\t\t}\n\t);\n\n\tconst mediaElement = useRef();\n\tconst currentSettings = {\n\t\tisVideoBackground,\n\t\tisImageBackground,\n\t\tmediaElement,\n\t\thasInnerBlocks,\n\t\turl,\n\t\tisImgElement,\n\t\toverlayColor,\n\t};\n\n\tconst toggleUseFeaturedImage = async () => {\n\t\tconst isDarkSetting = await ( useFeaturedImage\n\t\t\t? getCoverIsDark( undefined, dimRatio, overlayColor.color )\n\t\t\t: getCoverIsDark( mediaUrl, dimRatio, overlayColor.color ) );\n\t\tsetAttributes( {\n\t\t\tid: undefined,\n\t\t\turl: undefined,\n\t\t\tuseFeaturedImage: ! useFeaturedImage,\n\t\t\tdimRatio: dimRatio === 100 ? 50 : dimRatio,\n\t\t\tbackgroundType: useFeaturedImage\n\t\t\t\t? IMAGE_BACKGROUND_TYPE\n\t\t\t\t: undefined,\n\t\t\tisDark: isDarkSetting,\n\t\t} );\n\t};\n\n\tconst blockControls = (\n\t\t<CoverBlockControls\n\t\t\tattributes={ attributes }\n\t\t\tsetAttributes={ setAttributes }\n\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\tcurrentSettings={ currentSettings }\n\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t/>\n\t);\n\n\tconst inspectorControls = (\n\t\t<CoverInspectorControls\n\t\t\tattributes={ attributes }\n\t\t\tsetAttributes={ setAttributes }\n\t\t\tclientId={ clientId }\n\t\t\tsetOverlayColor={ onSetOverlayColor }\n\t\t\tcoverRef={ ref }\n\t\t\tcurrentSettings={ currentSettings }\n\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\tupdateDimRatio={ onUpdateDimRatio }\n\t\t\tonClearMedia={ onClearMedia }\n\t\t/>\n\t);\n\n\tconst resizableCoverProps = {\n\t\tclassName: 'block-library-cover__resize-container',\n\t\tclientId,\n\t\theight,\n\t\tminHeight: minHeightWithUnit,\n\t\tonResizeStart: () => {\n\t\t\tsetAttributes( { minHeightUnit: 'px' } );\n\t\t\ttoggleSelection( false );\n\t\t},\n\t\tonResize: ( value ) => {\n\t\t\tsetAttributes( { minHeight: value } );\n\t\t},\n\t\tonResizeStop: ( newMinHeight ) => {\n\t\t\ttoggleSelection( true );\n\t\t\tsetAttributes( { minHeight: newMinHeight } );\n\t\t},\n\t\tshowHandle: true,\n\t\tsize: resizableBoxDimensions,\n\t\twidth,\n\t};\n\n\tif ( ! useFeaturedImage && ! hasInnerBlocks && ! hasBackground ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ blockControls }\n\t\t\t\t{ inspectorControls }\n\t\t\t\t{ isSelected && (\n\t\t\t\t\t<ResizableCoverPopover { ...resizableCoverProps } />\n\t\t\t\t) }\n\t\t\t\t<TagName\n\t\t\t\t\t{ ...blockProps }\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'is-placeholder',\n\t\t\t\t\t\tblockProps.className\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...blockProps.style,\n\t\t\t\t\t\tminHeight: minHeightWithUnit || undefined,\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ resizeListener }\n\t\t\t\t\t<CoverPlaceholder\n\t\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"wp-block-cover__placeholder-background-options\">\n\t\t\t\t\t\t\t<ColorPalette\n\t\t\t\t\t\t\t\tdisableCustomColors={ true }\n\t\t\t\t\t\t\t\tvalue={ overlayColor.color }\n\t\t\t\t\t\t\t\tonChange={ onSetOverlayColor }\n\t\t\t\t\t\t\t\tclearable={ false }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</CoverPlaceholder>\n\t\t\t\t</TagName>\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst classes = classnames(\n\t\t{\n\t\t\t'is-dark-theme': isDark,\n\t\t\t'is-light': ! isDark,\n\t\t\t'is-transient': isUploadingMedia,\n\t\t\t'has-parallax': hasParallax,\n\t\t\t'is-repeated': isRepeated,\n\t\t\t'has-custom-content-position':\n\t\t\t\t! isContentPositionCenter( contentPosition ),\n\t\t},\n\t\tgetPositionClassName( contentPosition )\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ blockControls }\n\t\t\t{ inspectorControls }\n\t\t\t<TagName\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName={ classnames( classes, blockProps.className ) }\n\t\t\t\tstyle={ { ...style, ...blockProps.style } }\n\t\t\t\tdata-url={ url }\n\t\t\t>\n\t\t\t\t{ resizeListener }\n\t\t\t\t{ ( ! useFeaturedImage || url ) && (\n\t\t\t\t\t<span\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'wp-block-cover__background',\n\t\t\t\t\t\t\tdimRatioToClass( dimRatio ),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t[ overlayColor.class ]: overlayColor.class,\n\t\t\t\t\t\t\t\t'has-background-dim': dimRatio !== undefined,\n\t\t\t\t\t\t\t\t// For backwards compatibility. Former versions of the Cover Block applied\n\t\t\t\t\t\t\t\t// `.wp-block-cover__gradient-background` in the presence of\n\t\t\t\t\t\t\t\t// media, a gradient and a dim.\n\t\t\t\t\t\t\t\t'wp-block-cover__gradient-background':\n\t\t\t\t\t\t\t\t\turl && gradientValue && dimRatio !== 0,\n\t\t\t\t\t\t\t\t'has-background-gradient': gradientValue,\n\t\t\t\t\t\t\t\t[ gradientClass ]: gradientClass,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tstyle={ { backgroundImage: gradientValue, ...bgStyle } }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ ! url && useFeaturedImage && (\n\t\t\t\t\t<Placeholder\n\t\t\t\t\t\tclassName=\"wp-block-cover__image--placeholder-image\"\n\t\t\t\t\t\twithIllustration={ true }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ url &&\n\t\t\t\t\tisImageBackground &&\n\t\t\t\t\t( isImgElement ? (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tref={ mediaElement }\n\t\t\t\t\t\t\tclassName=\"wp-block-cover__image-background\"\n\t\t\t\t\t\t\talt={ alt }\n\t\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\t\tstyle={ mediaStyle }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tref={ mediaElement }\n\t\t\t\t\t\t\trole=\"img\"\n\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\tclasses,\n\t\t\t\t\t\t\t\t'wp-block-cover__image-background'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tstyle={ { backgroundImage, backgroundPosition } }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t{ url && isVideoBackground && (\n\t\t\t\t\t<video\n\t\t\t\t\t\tref={ mediaElement }\n\t\t\t\t\t\tclassName=\"wp-block-cover__video-background\"\n\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\tmuted\n\t\t\t\t\t\tloop\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\tstyle={ mediaStyle }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ isUploadingMedia && <Spinner /> }\n\t\t\t\t<CoverPlaceholder\n\t\t\t\t\tdisableMediaButtons\n\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\t/>\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t</TagName>\n\t\t\t{ isSelected && (\n\t\t\t\t<ResizableCoverPopover { ...resizableCoverProps } />\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default compose( [\n\twithColors( { overlayColor: 'background-color' } ),\n] )( CoverEdit );\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["classnames","extend","namesPlugin","useEntityProp","store","coreStore","useEffect","useMemo","useRef","Placeholder","Spinner","compose","useResizeObserver","withColors","ColorPalette","useBlockProps","useSetting","useInnerBlocksProps","__experimentalUseGradient","blockEditorStore","__","useSelect","useDispatch","isBlobURL","noticesStore","attributesFromMedia","IMAGE_BACKGROUND_TYPE","VIDEO_BACKGROUND_TYPE","dimRatioToClass","isContentPositionCenter","getPositionClassName","mediaPosition","getCoverIsDark","CoverInspectorControls","CoverBlockControls","CoverPlaceholder","ResizableCoverPopover","getInnerBlocksTemplate","attributes","align","placeholder","isTemporaryMedia","id","url","CoverEdit","clientId","isSelected","overlayColor","setAttributes","setOverlayColor","toggleSelection","context","postId","postType","contentPosition","useFeaturedImage","dimRatio","focalPoint","hasParallax","isDark","isRepeated","minHeight","minHeightUnit","alt","allowedBlocks","templateLock","tagName","TagName","featuredImage","__unstableMarkNextChangeAsNotPersistent","media","select","getMedia","mediaUrl","source_url","setIsDark","isDarkSetting","color","replaceAll","backgroundType","createErrorNotice","gradientClass","gradientValue","setMedia","onSelectMedia","newMedia","newUrl","type","undefined","onClearMedia","onSetOverlayColor","colorValue","onUpdateDimRatio","newDimRatio","isUploadingMedia","onUploadError","message","isImageBackground","isVideoBackground","resizeListener","height","width","resizableBoxDimensions","minHeightWithUnit","isImgElement","style","backgroundImage","backgroundPosition","bgStyle","backgroundColor","mediaStyle","objectPosition","hasBackground","hasInnerBlocks","getBlock","innerBlocks","length","ref","blockProps","hasFontSizes","innerBlocksTemplate","fontSize","innerBlocksProps","className","template","templateInsertUpdatesSelection","mediaElement","currentSettings","toggleUseFeaturedImage","blockControls","createElement","inspectorControls","coverRef","updateDimRatio","resizableCoverProps","onResizeStart","onResize","value","onResizeStop","newMinHeight","showHandle","size","Fragment","onError","disableCustomColors","onChange","clearable","classes","class","withIllustration","src","role","autoPlay","muted","loop","disableMediaButtons"],"sources":["@wordpress/block-library/src/cover/edit/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\nimport { extend } from 'colord';\nimport namesPlugin from 'colord/plugins/names';\n\n/**\n * WordPress dependencies\n */\nimport { useEntityProp, store as coreStore } from '@wordpress/core-data';\nimport { useEffect, useMemo, useRef } from '@wordpress/element';\nimport { Placeholder, Spinner } from '@wordpress/components';\nimport { compose, useResizeObserver } from '@wordpress/compose';\nimport {\n\twithColors,\n\tColorPalette,\n\tuseBlockProps,\n\tuseSetting,\n\tuseInnerBlocksProps,\n\t__experimentalUseGradient,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { isBlobURL } from '@wordpress/blob';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport {\n\tattributesFromMedia,\n\tIMAGE_BACKGROUND_TYPE,\n\tVIDEO_BACKGROUND_TYPE,\n\tdimRatioToClass,\n\tisContentPositionCenter,\n\tgetPositionClassName,\n\tmediaPosition,\n\tgetCoverIsDark,\n} from '../shared';\nimport CoverInspectorControls from './inspector-controls';\nimport CoverBlockControls from './block-controls';\nimport CoverPlaceholder from './cover-placeholder';\nimport ResizableCoverPopover from './resizable-cover-popover';\n\nextend( [ namesPlugin ] );\n\nfunction getInnerBlocksTemplate( attributes ) {\n\treturn [\n\t\t[\n\t\t\t'core/paragraph',\n\t\t\t{\n\t\t\t\talign: 'center',\n\t\t\t\tplaceholder: __( 'Write title…' ),\n\t\t\t\t...attributes,\n\t\t\t},\n\t\t],\n\t];\n}\n\n/**\n * Is the URL a temporary blob URL? A blob URL is one that is used temporarily while\n * the media (image or video) is being uploaded and will not have an id allocated yet.\n *\n * @param {number} id The id of the media.\n * @param {string} url The url of the media.\n *\n * @return {boolean} Is the URL a Blob URL.\n */\nconst isTemporaryMedia = ( id, url ) => ! id && isBlobURL( url );\n\nfunction CoverEdit( {\n\tattributes,\n\tclientId,\n\tisSelected,\n\toverlayColor,\n\tsetAttributes,\n\tsetOverlayColor,\n\ttoggleSelection,\n\tcontext: { postId, postType },\n} ) {\n\tconst {\n\t\tcontentPosition,\n\t\tid,\n\t\tuseFeaturedImage,\n\t\tdimRatio,\n\t\tfocalPoint,\n\t\thasParallax,\n\t\tisDark,\n\t\tisRepeated,\n\t\tminHeight,\n\t\tminHeightUnit,\n\t\talt,\n\t\tallowedBlocks,\n\t\ttemplateLock,\n\t\ttagName: TagName = 'div',\n\t} = attributes;\n\n\tconst [ featuredImage ] = useEntityProp(\n\t\t'postType',\n\t\tpostType,\n\t\t'featured_media',\n\t\tpostId\n\t);\n\n\tconst { __unstableMarkNextChangeAsNotPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\tconst media = useSelect(\n\t\t( select ) =>\n\t\t\tfeaturedImage &&\n\t\t\tselect( coreStore ).getMedia( featuredImage, { context: 'view' } ),\n\t\t[ featuredImage ]\n\t);\n\tconst mediaUrl = media?.source_url;\n\n\tuseEffect( () => {\n\t\tasync function setIsDark() {\n\t\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\t\tconst isDarkSetting = await getCoverIsDark(\n\t\t\t\tmediaUrl,\n\t\t\t\tdimRatio,\n\t\t\t\toverlayColor.color\n\t\t\t);\n\t\t\tsetAttributes( {\n\t\t\t\tisDark: isDarkSetting,\n\t\t\t} );\n\t\t}\n\t\tif ( useFeaturedImage ) {\n\t\t\tsetIsDark();\n\t\t}\n\t\t// We only ever want to run this effect if the mediaUrl changes.\n\t\t// All other changes to the isDark state are handled in the appropriate event handlers.\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t}, [ mediaUrl ] );\n\n\t// instead of destructuring the attributes\n\t// we define the url and background type\n\t// depending on the value of the useFeaturedImage flag\n\t// to preview in edit the dynamic featured image\n\tconst url = useFeaturedImage\n\t\t? mediaUrl\n\t\t: // Ensure the url is not malformed due to sanitization through `wp_kses`.\n\t\t attributes.url?.replaceAll( '&', '&' );\n\tconst backgroundType = useFeaturedImage\n\t\t? IMAGE_BACKGROUND_TYPE\n\t\t: attributes.backgroundType;\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst { gradientClass, gradientValue } = __experimentalUseGradient();\n\tconst setMedia = attributesFromMedia( setAttributes, dimRatio );\n\n\tconst onSelectMedia = async ( newMedia ) => {\n\t\t// Only pass the url to getCoverIsDark if the media is an image as video is not handled.\n\t\tconst newUrl = newMedia?.type === 'image' ? newMedia.url : undefined;\n\t\tconst isDarkSetting = await getCoverIsDark(\n\t\t\tnewUrl,\n\t\t\tdimRatio,\n\t\t\toverlayColor.color\n\t\t);\n\t\tsetMedia( newMedia, isDarkSetting );\n\t};\n\n\tconst onClearMedia = async () => {\n\t\tconst isDarkSetting = await getCoverIsDark(\n\t\t\tundefined,\n\t\t\tdimRatio,\n\t\t\toverlayColor.color\n\t\t);\n\t\tsetAttributes( {\n\t\t\turl: undefined,\n\t\t\tid: undefined,\n\t\t\tbackgroundType: undefined,\n\t\t\tfocalPoint: undefined,\n\t\t\thasParallax: undefined,\n\t\t\tisRepeated: undefined,\n\t\t\tuseFeaturedImage: false,\n\t\t\tisDark: isDarkSetting,\n\t\t} );\n\t};\n\n\tconst onSetOverlayColor = async ( colorValue ) => {\n\t\tconst isDarkSetting = await getCoverIsDark( url, dimRatio, colorValue );\n\t\tsetOverlayColor( colorValue );\n\t\t__unstableMarkNextChangeAsNotPersistent();\n\t\tsetAttributes( {\n\t\t\tisDark: isDarkSetting,\n\t\t} );\n\t};\n\n\tconst onUpdateDimRatio = async ( newDimRatio ) => {\n\t\tconst isDarkSetting = await getCoverIsDark(\n\t\t\turl,\n\t\t\tnewDimRatio,\n\t\t\toverlayColor.color\n\t\t);\n\n\t\tsetAttributes( {\n\t\t\tdimRatio: newDimRatio,\n\t\t\tisDark: isDarkSetting,\n\t\t} );\n\t};\n\n\tconst isUploadingMedia = isTemporaryMedia( id, url );\n\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t};\n\n\tconst isImageBackground = IMAGE_BACKGROUND_TYPE === backgroundType;\n\tconst isVideoBackground = VIDEO_BACKGROUND_TYPE === backgroundType;\n\n\tconst [ resizeListener, { height, width } ] = useResizeObserver();\n\tconst resizableBoxDimensions = useMemo( () => {\n\t\treturn {\n\t\t\theight: minHeightUnit === 'px' ? minHeight : 'auto',\n\t\t\twidth: 'auto',\n\t\t};\n\t}, [ minHeight, minHeightUnit ] );\n\n\tconst minHeightWithUnit =\n\t\tminHeight && minHeightUnit\n\t\t\t? `${ minHeight }${ minHeightUnit }`\n\t\t\t: minHeight;\n\n\tconst isImgElement = ! ( hasParallax || isRepeated );\n\n\tconst style = {\n\t\tminHeight: minHeightWithUnit || undefined,\n\t};\n\n\tconst backgroundImage = url ? `url(${ url })` : undefined;\n\n\tconst backgroundPosition = mediaPosition( focalPoint );\n\n\tconst bgStyle = { backgroundColor: overlayColor.color };\n\tconst mediaStyle = {\n\t\tobjectPosition:\n\t\t\tfocalPoint && isImgElement\n\t\t\t\t? mediaPosition( focalPoint )\n\t\t\t\t: undefined,\n\t};\n\n\tconst hasBackground = !! ( url || overlayColor.color || gradientValue );\n\n\tconst hasInnerBlocks = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getBlock( clientId ).innerBlocks.length >\n\t\t\t0,\n\t\t[ clientId ]\n\t);\n\n\tconst ref = useRef();\n\tconst blockProps = useBlockProps( { ref } );\n\n\t// Check for fontSize support before we pass a fontSize attribute to the innerBlocks.\n\tconst hasFontSizes = !! useSetting( 'typography.fontSizes' )?.length;\n\tconst innerBlocksTemplate = getInnerBlocksTemplate( {\n\t\tfontSize: hasFontSizes ? 'large' : undefined,\n\t} );\n\n\tconst innerBlocksProps = useInnerBlocksProps(\n\t\t{\n\t\t\tclassName: 'wp-block-cover__inner-container',\n\t\t},\n\t\t{\n\t\t\t// Avoid template sync when the `templateLock` value is `all` or `contentOnly`.\n\t\t\t// See: https://github.com/WordPress/gutenberg/pull/45632\n\t\t\ttemplate: ! hasInnerBlocks ? innerBlocksTemplate : undefined,\n\t\t\ttemplateInsertUpdatesSelection: true,\n\t\t\tallowedBlocks,\n\t\t\ttemplateLock,\n\t\t}\n\t);\n\n\tconst mediaElement = useRef();\n\tconst currentSettings = {\n\t\tisVideoBackground,\n\t\tisImageBackground,\n\t\tmediaElement,\n\t\thasInnerBlocks,\n\t\turl,\n\t\tisImgElement,\n\t\toverlayColor,\n\t};\n\n\tconst toggleUseFeaturedImage = async () => {\n\t\tconst isDarkSetting = await ( useFeaturedImage\n\t\t\t? getCoverIsDark( undefined, dimRatio, overlayColor.color )\n\t\t\t: getCoverIsDark( mediaUrl, dimRatio, overlayColor.color ) );\n\t\tsetAttributes( {\n\t\t\tid: undefined,\n\t\t\turl: undefined,\n\t\t\tuseFeaturedImage: ! useFeaturedImage,\n\t\t\tdimRatio: dimRatio === 100 ? 50 : dimRatio,\n\t\t\tbackgroundType: useFeaturedImage\n\t\t\t\t? IMAGE_BACKGROUND_TYPE\n\t\t\t\t: undefined,\n\t\t\tisDark: isDarkSetting,\n\t\t} );\n\t};\n\n\tconst blockControls = (\n\t\t<CoverBlockControls\n\t\t\tattributes={ attributes }\n\t\t\tsetAttributes={ setAttributes }\n\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\tcurrentSettings={ currentSettings }\n\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t/>\n\t);\n\n\tconst inspectorControls = (\n\t\t<CoverInspectorControls\n\t\t\tattributes={ attributes }\n\t\t\tsetAttributes={ setAttributes }\n\t\t\tclientId={ clientId }\n\t\t\tsetOverlayColor={ onSetOverlayColor }\n\t\t\tcoverRef={ ref }\n\t\t\tcurrentSettings={ currentSettings }\n\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\tupdateDimRatio={ onUpdateDimRatio }\n\t\t\tonClearMedia={ onClearMedia }\n\t\t/>\n\t);\n\n\tconst resizableCoverProps = {\n\t\tclassName: 'block-library-cover__resize-container',\n\t\tclientId,\n\t\theight,\n\t\tminHeight: minHeightWithUnit,\n\t\tonResizeStart: () => {\n\t\t\tsetAttributes( { minHeightUnit: 'px' } );\n\t\t\ttoggleSelection( false );\n\t\t},\n\t\tonResize: ( value ) => {\n\t\t\tsetAttributes( { minHeight: value } );\n\t\t},\n\t\tonResizeStop: ( newMinHeight ) => {\n\t\t\ttoggleSelection( true );\n\t\t\tsetAttributes( { minHeight: newMinHeight } );\n\t\t},\n\t\tshowHandle: true,\n\t\tsize: resizableBoxDimensions,\n\t\twidth,\n\t};\n\n\tif ( ! useFeaturedImage && ! hasInnerBlocks && ! hasBackground ) {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ blockControls }\n\t\t\t\t{ inspectorControls }\n\t\t\t\t{ isSelected && (\n\t\t\t\t\t<ResizableCoverPopover { ...resizableCoverProps } />\n\t\t\t\t) }\n\t\t\t\t<TagName\n\t\t\t\t\t{ ...blockProps }\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'is-placeholder',\n\t\t\t\t\t\tblockProps.className\n\t\t\t\t\t) }\n\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t...blockProps.style,\n\t\t\t\t\t\tminHeight: minHeightWithUnit || undefined,\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ resizeListener }\n\t\t\t\t\t<CoverPlaceholder\n\t\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\t\t>\n\t\t\t\t\t\t<div className=\"wp-block-cover__placeholder-background-options\">\n\t\t\t\t\t\t\t<ColorPalette\n\t\t\t\t\t\t\t\tdisableCustomColors={ true }\n\t\t\t\t\t\t\t\tvalue={ overlayColor.color }\n\t\t\t\t\t\t\t\tonChange={ onSetOverlayColor }\n\t\t\t\t\t\t\t\tclearable={ false }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</CoverPlaceholder>\n\t\t\t\t</TagName>\n\t\t\t</>\n\t\t);\n\t}\n\n\tconst classes = classnames(\n\t\t{\n\t\t\t'is-dark-theme': isDark,\n\t\t\t'is-light': ! isDark,\n\t\t\t'is-transient': isUploadingMedia,\n\t\t\t'has-parallax': hasParallax,\n\t\t\t'is-repeated': isRepeated,\n\t\t\t'has-custom-content-position':\n\t\t\t\t! isContentPositionCenter( contentPosition ),\n\t\t},\n\t\tgetPositionClassName( contentPosition )\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t{ blockControls }\n\t\t\t{ inspectorControls }\n\t\t\t<TagName\n\t\t\t\t{ ...blockProps }\n\t\t\t\tclassName={ classnames( classes, blockProps.className ) }\n\t\t\t\tstyle={ { ...style, ...blockProps.style } }\n\t\t\t\tdata-url={ url }\n\t\t\t>\n\t\t\t\t{ resizeListener }\n\t\t\t\t{ ( ! useFeaturedImage || url ) && (\n\t\t\t\t\t<span\n\t\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'wp-block-cover__background',\n\t\t\t\t\t\t\tdimRatioToClass( dimRatio ),\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t[ overlayColor.class ]: overlayColor.class,\n\t\t\t\t\t\t\t\t'has-background-dim': dimRatio !== undefined,\n\t\t\t\t\t\t\t\t// For backwards compatibility. Former versions of the Cover Block applied\n\t\t\t\t\t\t\t\t// `.wp-block-cover__gradient-background` in the presence of\n\t\t\t\t\t\t\t\t// media, a gradient and a dim.\n\t\t\t\t\t\t\t\t'wp-block-cover__gradient-background':\n\t\t\t\t\t\t\t\t\turl && gradientValue && dimRatio !== 0,\n\t\t\t\t\t\t\t\t'has-background-gradient': gradientValue,\n\t\t\t\t\t\t\t\t[ gradientClass ]: gradientClass,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tstyle={ { backgroundImage: gradientValue, ...bgStyle } }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ ! url && useFeaturedImage && (\n\t\t\t\t\t<Placeholder\n\t\t\t\t\t\tclassName=\"wp-block-cover__image--placeholder-image\"\n\t\t\t\t\t\twithIllustration={ true }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\n\t\t\t\t{ url &&\n\t\t\t\t\tisImageBackground &&\n\t\t\t\t\t( isImgElement ? (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tref={ mediaElement }\n\t\t\t\t\t\t\tclassName=\"wp-block-cover__image-background\"\n\t\t\t\t\t\t\talt={ alt }\n\t\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\t\tstyle={ mediaStyle }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tref={ mediaElement }\n\t\t\t\t\t\t\trole=\"img\"\n\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\tclasses,\n\t\t\t\t\t\t\t\t'wp-block-cover__image-background'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tstyle={ { backgroundImage, backgroundPosition } }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) ) }\n\t\t\t\t{ url && isVideoBackground && (\n\t\t\t\t\t<video\n\t\t\t\t\t\tref={ mediaElement }\n\t\t\t\t\t\tclassName=\"wp-block-cover__video-background\"\n\t\t\t\t\t\tautoPlay\n\t\t\t\t\t\tmuted\n\t\t\t\t\t\tloop\n\t\t\t\t\t\tsrc={ url }\n\t\t\t\t\t\tstyle={ mediaStyle }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ isUploadingMedia && <Spinner /> }\n\t\t\t\t<CoverPlaceholder\n\t\t\t\t\tdisableMediaButtons\n\t\t\t\t\tonSelectMedia={ onSelectMedia }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\ttoggleUseFeaturedImage={ toggleUseFeaturedImage }\n\t\t\t\t/>\n\t\t\t\t<div { ...innerBlocksProps } />\n\t\t\t</TagName>\n\t\t\t{ isSelected && (\n\t\t\t\t<ResizableCoverPopover { ...resizableCoverProps } />\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default compose( [\n\twithColors( { overlayColor: 'background-color' } ),\n] )( CoverEdit );\n"],"mappings":"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"}
|
|
@@ -155,27 +155,32 @@ function retrieveFastAverageColor() {
|
|
|
155
155
|
export async function getCoverIsDark(url, dimRatio = 50, overlayColor) {
|
|
156
156
|
const overlay = colord(overlayColor).alpha(dimRatio / 100).toRgb();
|
|
157
157
|
if (url) {
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
158
|
+
try {
|
|
159
|
+
const imgCrossOrigin = applyFilters('media.crossOrigin', undefined, url);
|
|
160
|
+
const {
|
|
161
|
+
value: [r, g, b, a]
|
|
162
|
+
} = await retrieveFastAverageColor().getColorAsync(url, {
|
|
163
|
+
// Previously the default color was white, but that changed
|
|
164
|
+
// in v6.0.0 so it has to be manually set now.
|
|
165
|
+
defaultColor: [255, 255, 255, 255],
|
|
166
|
+
// Errors that come up don't reject the promise, so error
|
|
167
|
+
// logging has to be silenced with this option.
|
|
168
|
+
silent: process.env.NODE_ENV === 'production',
|
|
169
|
+
crossOrigin: imgCrossOrigin
|
|
170
|
+
});
|
|
171
|
+
// FAC uses 0-255 for alpha, but colord expects 0-1.
|
|
172
|
+
const media = {
|
|
173
|
+
r,
|
|
174
|
+
g,
|
|
175
|
+
b,
|
|
176
|
+
a: a / 255
|
|
177
|
+
};
|
|
178
|
+
const composite = compositeSourceOver(overlay, media);
|
|
179
|
+
return colord(composite).isDark();
|
|
180
|
+
} catch (error) {
|
|
181
|
+
// If there's an error, just assume the image is dark.
|
|
182
|
+
return true;
|
|
183
|
+
}
|
|
179
184
|
}
|
|
180
185
|
|
|
181
186
|
// Assume a white background because it isn't easy to get the actual
|