@wordpress/block-editor 14.19.0 → 14.20.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.
Files changed (32) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/html-element-control/index.js +1 -1
  3. package/build/components/html-element-control/index.js.map +1 -1
  4. package/build/components/html-element-control/messages.js +2 -0
  5. package/build/components/html-element-control/messages.js.map +1 -1
  6. package/build/components/image-size-control/index.js +5 -6
  7. package/build/components/image-size-control/index.js.map +1 -1
  8. package/build/layouts/flex.js +5 -1
  9. package/build/layouts/flex.js.map +1 -1
  10. package/build/store/selectors.js +3 -3
  11. package/build/store/selectors.js.map +1 -1
  12. package/build-module/components/html-element-control/index.js +1 -1
  13. package/build-module/components/html-element-control/index.js.map +1 -1
  14. package/build-module/components/html-element-control/messages.js +2 -0
  15. package/build-module/components/html-element-control/messages.js.map +1 -1
  16. package/build-module/components/image-size-control/index.js +6 -7
  17. package/build-module/components/image-size-control/index.js.map +1 -1
  18. package/build-module/layouts/flex.js +5 -1
  19. package/build-module/layouts/flex.js.map +1 -1
  20. package/build-module/store/selectors.js +3 -3
  21. package/build-module/store/selectors.js.map +1 -1
  22. package/build-style/style-rtl.css +4 -10
  23. package/build-style/style.css +4 -10
  24. package/package.json +34 -34
  25. package/src/components/block-inspector/style.scss +4 -2
  26. package/src/components/html-element-control/index.js +1 -1
  27. package/src/components/html-element-control/messages.js +6 -0
  28. package/src/components/image-size-control/index.js +6 -7
  29. package/src/layouts/flex.js +7 -2
  30. package/src/store/selectors.js +3 -3
  31. package/src/style.scss +0 -1
  32. package/src/components/image-size-control/style.scss +0 -8
@@ -18,7 +18,7 @@ import { htmlElementMessages } from './messages';
18
18
  * @param {Object} props Component props.
19
19
  * @param {string} props.tagName The current HTML tag name.
20
20
  * @param {Function} props.onChange Function to call when the tag is changed.
21
- * @param {string} props.clientId The client ID of the current block.
21
+ * @param {string} props.clientId Optional. The client ID of the block. Used to check for existing <main> elements.
22
22
  * @param {Array} props.options SelectControl options (optional).
23
23
  *
24
24
  * @return {Component} The HTML element select control with validation.
@@ -1 +1 @@
1
- {"version":3,"names":["__","sprintf","SelectControl","Notice","__experimentalVStack","VStack","useSelect","store","blockEditorStore","htmlElementMessages","jsx","_jsx","jsxs","_jsxs","HTMLElementControl","tagName","onChange","clientId","options","label","value","checkForMainTag","some","option","hasMainElementElsewhere","select","getClientIdsWithDescendants","getBlockAttributes","id","modifiedOptions","map","disabled","spacing","className","children","__nextHasNoMarginBottom","__next40pxDefaultSize","help","status","isDismissible"],"sources":["@wordpress/block-editor/src/components/html-element-control/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tSelectControl,\n\tNotice,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport { htmlElementMessages } from './messages';\n\n/**\n * Renders a SelectControl for choosing HTML elements with validation\n * to prevent duplicate <main> elements.\n *\n * @param {Object} props Component props.\n * @param {string} props.tagName The current HTML tag name.\n * @param {Function} props.onChange Function to call when the tag is changed.\n * @param {string} props.clientId The client ID of the current block.\n * @param {Array} props.options SelectControl options (optional).\n *\n * @return {Component} The HTML element select control with validation.\n */\nexport default function HTMLElementControl( {\n\ttagName,\n\tonChange,\n\tclientId,\n\toptions = [\n\t\t{ label: __( 'Default (<div>)' ), value: 'div' },\n\t\t{ label: '<header>', value: 'header' },\n\t\t{ label: '<main>', value: 'main' },\n\t\t{ label: '<section>', value: 'section' },\n\t\t{ label: '<article>', value: 'article' },\n\t\t{ label: '<aside>', value: 'aside' },\n\t\t{ label: '<footer>', value: 'footer' },\n\t],\n} ) {\n\tconst checkForMainTag =\n\t\t!! clientId && options.some( ( option ) => option.value === 'main' );\n\n\tconst hasMainElementElsewhere = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! checkForMainTag ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tconst { getClientIdsWithDescendants, getBlockAttributes } =\n\t\t\t\tselect( blockEditorStore );\n\n\t\t\treturn getClientIdsWithDescendants().some( ( id ) => {\n\t\t\t\t// Skip the current block.\n\t\t\t\tif ( id === clientId ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\treturn getBlockAttributes( id )?.tagName === 'main';\n\t\t\t} );\n\t\t},\n\t\t[ clientId, checkForMainTag ]\n\t);\n\n\t// Create a modified options array that disables the main option if needed.\n\tconst modifiedOptions = options.map( ( option ) => {\n\t\tif (\n\t\t\toption.value === 'main' &&\n\t\t\thasMainElementElsewhere &&\n\t\t\ttagName !== 'main'\n\t\t) {\n\t\t\treturn {\n\t\t\t\t...option,\n\t\t\t\tdisabled: true,\n\t\t\t\tlabel: sprintf(\n\t\t\t\t\t/* translators: %s: HTML element name */\n\t\t\t\t\t__( '%s (Already in use)' ),\n\t\t\t\t\toption.label\n\t\t\t\t),\n\t\t\t};\n\t\t}\n\t\treturn option;\n\t} );\n\n\treturn (\n\t\t<VStack spacing={ 2 } className=\"block-editor-html-element-control\">\n\t\t\t<SelectControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tlabel={ __( 'HTML element' ) }\n\t\t\t\toptions={ modifiedOptions }\n\t\t\t\tvalue={ tagName }\n\t\t\t\tonChange={ onChange }\n\t\t\t\thelp={ htmlElementMessages[ tagName ] }\n\t\t\t/>\n\n\t\t\t{ tagName === 'main' && hasMainElementElsewhere && (\n\t\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Multiple <main> elements detected. The duplicate may be in your content or template. This is not valid HTML and may cause accessibility issues. Please change this HTML element.'\n\t\t\t\t\t) }\n\t\t\t\t</Notice>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__","sprintf","SelectControl","Notice","__experimentalVStack","VStack","useSelect","store","blockEditorStore","htmlElementMessages","jsx","_jsx","jsxs","_jsxs","HTMLElementControl","tagName","onChange","clientId","options","label","value","checkForMainTag","some","option","hasMainElementElsewhere","select","getClientIdsWithDescendants","getBlockAttributes","id","modifiedOptions","map","disabled","spacing","className","children","__nextHasNoMarginBottom","__next40pxDefaultSize","help","status","isDismissible"],"sources":["@wordpress/block-editor/src/components/html-element-control/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tSelectControl,\n\tNotice,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport { htmlElementMessages } from './messages';\n\n/**\n * Renders a SelectControl for choosing HTML elements with validation\n * to prevent duplicate <main> elements.\n *\n * @param {Object} props Component props.\n * @param {string} props.tagName The current HTML tag name.\n * @param {Function} props.onChange Function to call when the tag is changed.\n * @param {string} props.clientId Optional. The client ID of the block. Used to check for existing <main> elements.\n * @param {Array} props.options SelectControl options (optional).\n *\n * @return {Component} The HTML element select control with validation.\n */\nexport default function HTMLElementControl( {\n\ttagName,\n\tonChange,\n\tclientId,\n\toptions = [\n\t\t{ label: __( 'Default (<div>)' ), value: 'div' },\n\t\t{ label: '<header>', value: 'header' },\n\t\t{ label: '<main>', value: 'main' },\n\t\t{ label: '<section>', value: 'section' },\n\t\t{ label: '<article>', value: 'article' },\n\t\t{ label: '<aside>', value: 'aside' },\n\t\t{ label: '<footer>', value: 'footer' },\n\t],\n} ) {\n\tconst checkForMainTag =\n\t\t!! clientId && options.some( ( option ) => option.value === 'main' );\n\n\tconst hasMainElementElsewhere = useSelect(\n\t\t( select ) => {\n\t\t\tif ( ! checkForMainTag ) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tconst { getClientIdsWithDescendants, getBlockAttributes } =\n\t\t\t\tselect( blockEditorStore );\n\n\t\t\treturn getClientIdsWithDescendants().some( ( id ) => {\n\t\t\t\t// Skip the current block.\n\t\t\t\tif ( id === clientId ) {\n\t\t\t\t\treturn false;\n\t\t\t\t}\n\n\t\t\t\treturn getBlockAttributes( id )?.tagName === 'main';\n\t\t\t} );\n\t\t},\n\t\t[ clientId, checkForMainTag ]\n\t);\n\n\t// Create a modified options array that disables the main option if needed.\n\tconst modifiedOptions = options.map( ( option ) => {\n\t\tif (\n\t\t\toption.value === 'main' &&\n\t\t\thasMainElementElsewhere &&\n\t\t\ttagName !== 'main'\n\t\t) {\n\t\t\treturn {\n\t\t\t\t...option,\n\t\t\t\tdisabled: true,\n\t\t\t\tlabel: sprintf(\n\t\t\t\t\t/* translators: %s: HTML element name */\n\t\t\t\t\t__( '%s (Already in use)' ),\n\t\t\t\t\toption.label\n\t\t\t\t),\n\t\t\t};\n\t\t}\n\t\treturn option;\n\t} );\n\n\treturn (\n\t\t<VStack spacing={ 2 } className=\"block-editor-html-element-control\">\n\t\t\t<SelectControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t__next40pxDefaultSize\n\t\t\t\tlabel={ __( 'HTML element' ) }\n\t\t\t\toptions={ modifiedOptions }\n\t\t\t\tvalue={ tagName }\n\t\t\t\tonChange={ onChange }\n\t\t\t\thelp={ htmlElementMessages[ tagName ] }\n\t\t\t/>\n\n\t\t\t{ tagName === 'main' && hasMainElementElsewhere && (\n\t\t\t\t<Notice status=\"warning\" isDismissible={ false }>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Multiple <main> elements detected. The duplicate may be in your content or template. This is not valid HTML and may cause accessibility issues. Please change this HTML element.'\n\t\t\t\t\t) }\n\t\t\t\t</Notice>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -7,8 +7,10 @@ import { __ } from '@wordpress/i18n';
7
7
  * Messages providing helpful descriptions for HTML elements.
8
8
  */
9
9
  export const htmlElementMessages = {
10
+ a: __('The <a> element should be used for links that navigate to a different page or to a different section within the same page.'),
10
11
  article: __('The <article> element should represent a self-contained, syndicatable portion of the document.'),
11
12
  aside: __("The <aside> element should represent a portion of a document whose content is only indirectly related to the document's main content."),
13
+ button: __('The <button> element should be used for interactive controls that perform an action on the current page, such as opening a modal or toggling content visibility.'),
12
14
  div: __('The <div> element should only be used if the block is a design element with no semantic meaning.'),
13
15
  footer: __('The <footer> element should represent a footer for its nearest sectioning element (e.g.: <section>, <article>, <main> etc.).'),
14
16
  header: __('The <header> element should represent introductory content, typically a group of introductory or navigational aids.'),
@@ -1 +1 @@
1
- {"version":3,"names":["__","htmlElementMessages","article","aside","div","footer","header","main","nav","section"],"sources":["@wordpress/block-editor/src/components/html-element-control/messages.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Messages providing helpful descriptions for HTML elements.\n */\nexport const htmlElementMessages = {\n\tarticle: __(\n\t\t'The <article> element should represent a self-contained, syndicatable portion of the document.'\n\t),\n\taside: __(\n\t\t\"The <aside> element should represent a portion of a document whose content is only indirectly related to the document's main content.\"\n\t),\n\tdiv: __(\n\t\t'The <div> element should only be used if the block is a design element with no semantic meaning.'\n\t),\n\tfooter: __(\n\t\t'The <footer> element should represent a footer for its nearest sectioning element (e.g.: <section>, <article>, <main> etc.).'\n\t),\n\theader: __(\n\t\t'The <header> element should represent introductory content, typically a group of introductory or navigational aids.'\n\t),\n\tmain: __(\n\t\t'The <main> element should be used for the primary content of your document only.'\n\t),\n\tnav: __(\n\t\t'The <nav> element should be used to identify groups of links that are intended to be used for website or page content navigation.'\n\t),\n\tsection: __(\n\t\t\"The <section> element should represent a standalone portion of the document that can't be better represented by another element.\"\n\t),\n};\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,OAAO,MAAMC,mBAAmB,GAAG;EAClCC,OAAO,EAAEF,EAAE,CACV,gGACD,CAAC;EACDG,KAAK,EAAEH,EAAE,CACR,uIACD,CAAC;EACDI,GAAG,EAAEJ,EAAE,CACN,kGACD,CAAC;EACDK,MAAM,EAAEL,EAAE,CACT,8HACD,CAAC;EACDM,MAAM,EAAEN,EAAE,CACT,qHACD,CAAC;EACDO,IAAI,EAAEP,EAAE,CACP,kFACD,CAAC;EACDQ,GAAG,EAAER,EAAE,CACN,mIACD,CAAC;EACDS,OAAO,EAAET,EAAE,CACV,kIACD;AACD,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["__","htmlElementMessages","a","article","aside","button","div","footer","header","main","nav","section"],"sources":["@wordpress/block-editor/src/components/html-element-control/messages.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Messages providing helpful descriptions for HTML elements.\n */\nexport const htmlElementMessages = {\n\ta: __(\n\t\t'The <a> element should be used for links that navigate to a different page or to a different section within the same page.'\n\t),\n\tarticle: __(\n\t\t'The <article> element should represent a self-contained, syndicatable portion of the document.'\n\t),\n\taside: __(\n\t\t\"The <aside> element should represent a portion of a document whose content is only indirectly related to the document's main content.\"\n\t),\n\tbutton: __(\n\t\t'The <button> element should be used for interactive controls that perform an action on the current page, such as opening a modal or toggling content visibility.'\n\t),\n\tdiv: __(\n\t\t'The <div> element should only be used if the block is a design element with no semantic meaning.'\n\t),\n\tfooter: __(\n\t\t'The <footer> element should represent a footer for its nearest sectioning element (e.g.: <section>, <article>, <main> etc.).'\n\t),\n\theader: __(\n\t\t'The <header> element should represent introductory content, typically a group of introductory or navigational aids.'\n\t),\n\tmain: __(\n\t\t'The <main> element should be used for the primary content of your document only.'\n\t),\n\tnav: __(\n\t\t'The <nav> element should be used to identify groups of links that are intended to be used for website or page content navigation.'\n\t),\n\tsection: __(\n\t\t\"The <section> element should represent a standalone portion of the document that can't be better represented by another element.\"\n\t),\n};\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,OAAO,MAAMC,mBAAmB,GAAG;EAClCC,CAAC,EAAEF,EAAE,CACJ,4HACD,CAAC;EACDG,OAAO,EAAEH,EAAE,CACV,gGACD,CAAC;EACDI,KAAK,EAAEJ,EAAE,CACR,uIACD,CAAC;EACDK,MAAM,EAAEL,EAAE,CACT,kKACD,CAAC;EACDM,GAAG,EAAEN,EAAE,CACN,kGACD,CAAC;EACDO,MAAM,EAAEP,EAAE,CACT,8HACD,CAAC;EACDQ,MAAM,EAAER,EAAE,CACT,qHACD,CAAC;EACDS,IAAI,EAAET,EAAE,CACP,kFACD,CAAC;EACDU,GAAG,EAAEV,EAAE,CACN,mIACD,CAAC;EACDW,OAAO,EAAEX,EAAE,CACV,kIACD;AACD,CAAC","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import { SelectControl, __experimentalNumberControl as NumberControl, __experimentalHStack as HStack, __experimentalToggleGroupControl as ToggleGroupControl, __experimentalToggleGroupControlOption as ToggleGroupControlOption } from '@wordpress/components';
4
+ import { SelectControl, __experimentalNumberControl as NumberControl, __experimentalHStack as HStack, __experimentalVStack as VStack, __experimentalToggleGroupControl as ToggleGroupControl, __experimentalToggleGroupControlOption as ToggleGroupControlOption } from '@wordpress/components';
5
5
  import { __, sprintf } from '@wordpress/i18n';
6
6
 
7
7
  /**
@@ -76,7 +76,9 @@ export default function ImageSizeControl({
76
76
  } = getScaledWidthAndHeight(scale, imageWidth, imageHeight);
77
77
  return currentWidth === scaledWidth && currentHeight === scaledHeight;
78
78
  });
79
- return /*#__PURE__*/_jsxs(_Fragment, {
79
+ return /*#__PURE__*/_jsxs(VStack, {
80
+ className: "block-editor-image-size-control",
81
+ spacing: "4",
80
82
  children: [imageSizeOptions && imageSizeOptions.length > 0 && /*#__PURE__*/_jsx(SelectControl, {
81
83
  __nextHasNoMarginBottom: true,
82
84
  label: __('Resolution'),
@@ -85,20 +87,17 @@ export default function ImageSizeControl({
85
87
  onChange: onChangeImage,
86
88
  help: imageSizeHelp,
87
89
  size: "__unstable-large"
88
- }), isResizable && /*#__PURE__*/_jsxs("div", {
89
- className: "block-editor-image-size-control",
90
+ }), isResizable && /*#__PURE__*/_jsxs(_Fragment, {
90
91
  children: [/*#__PURE__*/_jsxs(HStack, {
91
92
  align: "baseline",
92
- spacing: "3",
93
+ spacing: "4",
93
94
  children: [/*#__PURE__*/_jsx(NumberControl, {
94
- className: "block-editor-image-size-control__width",
95
95
  label: __('Width'),
96
96
  value: currentWidth,
97
97
  min: 1,
98
98
  onChange: value => updateDimension('width', value),
99
99
  size: "__unstable-large"
100
100
  }), /*#__PURE__*/_jsx(NumberControl, {
101
- className: "block-editor-image-size-control__height",
102
101
  label: __('Height'),
103
102
  value: currentHeight,
104
103
  min: 1,
@@ -1 +1 @@
1
- {"version":3,"names":["SelectControl","__experimentalNumberControl","NumberControl","__experimentalHStack","HStack","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","__","sprintf","useDimensionHandler","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","IMAGE_SIZE_PRESETS","noop","getScaledWidthAndHeight","scale","imageWidth","imageHeight","scaledWidth","Math","round","scaledHeight","ImageSizeControl","imageSizeHelp","imageSizeOptions","isResizable","slug","width","height","onChange","onChangeImage","currentHeight","currentWidth","updateDimension","updateDimensions","handleUpdateDimensions","undefined","selectedValue","find","children","length","__nextHasNoMarginBottom","label","value","options","help","size","className","align","spacing","min","hideLabelFromVision","isBlock","__next40pxDefaultSize","map"],"sources":["@wordpress/block-editor/src/components/image-size-control/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tSelectControl,\n\t__experimentalNumberControl as NumberControl,\n\t__experimentalHStack as HStack,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport useDimensionHandler from './use-dimension-handler';\n\nconst IMAGE_SIZE_PRESETS = [ 25, 50, 75, 100 ];\nconst noop = () => {};\n\n/**\n * Get scaled width and height for the given scale.\n *\n * @param {number} scale The scale to get the scaled width and height for.\n * @param {number} imageWidth The image width.\n * @param {number} imageHeight The image height.\n *\n * @return {Object} The scaled width and height.\n */\nfunction getScaledWidthAndHeight( scale, imageWidth, imageHeight ) {\n\tconst scaledWidth = Math.round( imageWidth * ( scale / 100 ) );\n\tconst scaledHeight = Math.round( imageHeight * ( scale / 100 ) );\n\n\treturn {\n\t\tscaledWidth,\n\t\tscaledHeight,\n\t};\n}\n\nexport default function ImageSizeControl( {\n\timageSizeHelp,\n\timageWidth,\n\timageHeight,\n\timageSizeOptions = [],\n\tisResizable = true,\n\tslug,\n\twidth,\n\theight,\n\tonChange,\n\tonChangeImage = noop,\n} ) {\n\tconst { currentHeight, currentWidth, updateDimension, updateDimensions } =\n\t\tuseDimensionHandler( height, width, imageHeight, imageWidth, onChange );\n\n\t/**\n\t * Updates the dimensions for the given scale.\n\t * Handler for toggle group control change.\n\t *\n\t * @param {number} scale The scale to update the dimensions for.\n\t */\n\tconst handleUpdateDimensions = ( scale ) => {\n\t\tif ( undefined === scale ) {\n\t\t\tupdateDimensions();\n\t\t\treturn;\n\t\t}\n\n\t\tconst { scaledWidth, scaledHeight } = getScaledWidthAndHeight(\n\t\t\tscale,\n\t\t\timageWidth,\n\t\t\timageHeight\n\t\t);\n\n\t\tupdateDimensions( scaledHeight, scaledWidth );\n\t};\n\n\t/**\n\t * Add the stored image preset value to toggle group control.\n\t */\n\tconst selectedValue = IMAGE_SIZE_PRESETS.find( ( scale ) => {\n\t\tconst { scaledWidth, scaledHeight } = getScaledWidthAndHeight(\n\t\t\tscale,\n\t\t\timageWidth,\n\t\t\timageHeight\n\t\t);\n\n\t\treturn currentWidth === scaledWidth && currentHeight === scaledHeight;\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t{ imageSizeOptions && imageSizeOptions.length > 0 && (\n\t\t\t\t<SelectControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\t\tvalue={ slug }\n\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\tonChange={ onChangeImage }\n\t\t\t\t\thelp={ imageSizeHelp }\n\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ isResizable && (\n\t\t\t\t<div className=\"block-editor-image-size-control\">\n\t\t\t\t\t<HStack align=\"baseline\" spacing=\"3\">\n\t\t\t\t\t\t<NumberControl\n\t\t\t\t\t\t\tclassName=\"block-editor-image-size-control__width\"\n\t\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\t\tvalue={ currentWidth }\n\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tupdateDimension( 'width', value )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<NumberControl\n\t\t\t\t\t\t\tclassName=\"block-editor-image-size-control__height\"\n\t\t\t\t\t\t\tlabel={ __( 'Height' ) }\n\t\t\t\t\t\t\tvalue={ currentHeight }\n\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tupdateDimension( 'height', value )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</HStack>\n\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\tlabel={ __( 'Image size presets' ) }\n\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\tonChange={ handleUpdateDimensions }\n\t\t\t\t\t\tvalue={ selectedValue }\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t>\n\t\t\t\t\t\t{ IMAGE_SIZE_PRESETS.map( ( scale ) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tkey={ scale }\n\t\t\t\t\t\t\t\t\tvalue={ scale }\n\t\t\t\t\t\t\t\t\tlabel={ sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: Percentage value. */\n\t\t\t\t\t\t\t\t\t\t__( '%d%%' ),\n\t\t\t\t\t\t\t\t\t\tscale\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} ) }\n\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["SelectControl","__experimentalNumberControl","NumberControl","__experimentalHStack","HStack","__experimentalVStack","VStack","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","__","sprintf","useDimensionHandler","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","IMAGE_SIZE_PRESETS","noop","getScaledWidthAndHeight","scale","imageWidth","imageHeight","scaledWidth","Math","round","scaledHeight","ImageSizeControl","imageSizeHelp","imageSizeOptions","isResizable","slug","width","height","onChange","onChangeImage","currentHeight","currentWidth","updateDimension","updateDimensions","handleUpdateDimensions","undefined","selectedValue","find","className","spacing","children","length","__nextHasNoMarginBottom","label","value","options","help","size","align","min","hideLabelFromVision","isBlock","__next40pxDefaultSize","map"],"sources":["@wordpress/block-editor/src/components/image-size-control/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tSelectControl,\n\t__experimentalNumberControl as NumberControl,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport useDimensionHandler from './use-dimension-handler';\n\nconst IMAGE_SIZE_PRESETS = [ 25, 50, 75, 100 ];\nconst noop = () => {};\n\n/**\n * Get scaled width and height for the given scale.\n *\n * @param {number} scale The scale to get the scaled width and height for.\n * @param {number} imageWidth The image width.\n * @param {number} imageHeight The image height.\n *\n * @return {Object} The scaled width and height.\n */\nfunction getScaledWidthAndHeight( scale, imageWidth, imageHeight ) {\n\tconst scaledWidth = Math.round( imageWidth * ( scale / 100 ) );\n\tconst scaledHeight = Math.round( imageHeight * ( scale / 100 ) );\n\n\treturn {\n\t\tscaledWidth,\n\t\tscaledHeight,\n\t};\n}\n\nexport default function ImageSizeControl( {\n\timageSizeHelp,\n\timageWidth,\n\timageHeight,\n\timageSizeOptions = [],\n\tisResizable = true,\n\tslug,\n\twidth,\n\theight,\n\tonChange,\n\tonChangeImage = noop,\n} ) {\n\tconst { currentHeight, currentWidth, updateDimension, updateDimensions } =\n\t\tuseDimensionHandler( height, width, imageHeight, imageWidth, onChange );\n\n\t/**\n\t * Updates the dimensions for the given scale.\n\t * Handler for toggle group control change.\n\t *\n\t * @param {number} scale The scale to update the dimensions for.\n\t */\n\tconst handleUpdateDimensions = ( scale ) => {\n\t\tif ( undefined === scale ) {\n\t\t\tupdateDimensions();\n\t\t\treturn;\n\t\t}\n\n\t\tconst { scaledWidth, scaledHeight } = getScaledWidthAndHeight(\n\t\t\tscale,\n\t\t\timageWidth,\n\t\t\timageHeight\n\t\t);\n\n\t\tupdateDimensions( scaledHeight, scaledWidth );\n\t};\n\n\t/**\n\t * Add the stored image preset value to toggle group control.\n\t */\n\tconst selectedValue = IMAGE_SIZE_PRESETS.find( ( scale ) => {\n\t\tconst { scaledWidth, scaledHeight } = getScaledWidthAndHeight(\n\t\t\tscale,\n\t\t\timageWidth,\n\t\t\timageHeight\n\t\t);\n\n\t\treturn currentWidth === scaledWidth && currentHeight === scaledHeight;\n\t} );\n\n\treturn (\n\t\t<VStack className=\"block-editor-image-size-control\" spacing=\"4\">\n\t\t\t{ imageSizeOptions && imageSizeOptions.length > 0 && (\n\t\t\t\t<SelectControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Resolution' ) }\n\t\t\t\t\tvalue={ slug }\n\t\t\t\t\toptions={ imageSizeOptions }\n\t\t\t\t\tonChange={ onChangeImage }\n\t\t\t\t\thelp={ imageSizeHelp }\n\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ isResizable && (\n\t\t\t\t<>\n\t\t\t\t\t<HStack align=\"baseline\" spacing=\"4\">\n\t\t\t\t\t\t<NumberControl\n\t\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\t\tvalue={ currentWidth }\n\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tupdateDimension( 'width', value )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<NumberControl\n\t\t\t\t\t\t\tlabel={ __( 'Height' ) }\n\t\t\t\t\t\t\tvalue={ currentHeight }\n\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tupdateDimension( 'height', value )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t</HStack>\n\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\tlabel={ __( 'Image size presets' ) }\n\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\tonChange={ handleUpdateDimensions }\n\t\t\t\t\t\tvalue={ selectedValue }\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t>\n\t\t\t\t\t\t{ IMAGE_SIZE_PRESETS.map( ( scale ) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\tkey={ scale }\n\t\t\t\t\t\t\t\t\tvalue={ scale }\n\t\t\t\t\t\t\t\t\tlabel={ sprintf(\n\t\t\t\t\t\t\t\t\t\t/* translators: Percentage value. */\n\t\t\t\t\t\t\t\t\t\t__( '%d%%' ),\n\t\t\t\t\t\t\t\t\t\tscale\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} ) }\n\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t</>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -37,6 +37,10 @@ const verticalAlignmentMap = {
37
37
  stretch: 'stretch',
38
38
  'space-between': 'space-between'
39
39
  };
40
+ const defaultAlignments = {
41
+ horizontal: 'center',
42
+ vertical: 'top'
43
+ };
40
44
  const flexWrapOptions = ['wrap', 'nowrap'];
41
45
  export default {
42
46
  name: 'flex',
@@ -161,7 +165,7 @@ function FlexLayoutVerticalAlignmentControl({
161
165
  const {
162
166
  orientation = 'horizontal'
163
167
  } = layout;
164
- const defaultVerticalAlignment = orientation === 'horizontal' ? verticalAlignmentMap.center : verticalAlignmentMap.top;
168
+ const defaultVerticalAlignment = orientation === 'horizontal' ? defaultAlignments.horizontal : defaultAlignments.vertical;
165
169
  const {
166
170
  verticalAlignment = defaultVerticalAlignment
167
171
  } = layout;
@@ -1 +1 @@
1
- {"version":3,"names":["__","justifyLeft","justifyCenter","justifyRight","justifySpaceBetween","justifyStretch","arrowRight","arrowDown","ToggleControl","Flex","FlexItem","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOptionIcon","ToggleGroupControlOptionIcon","appendSelectors","getBlockGapCSS","getGapCSSValue","BlockControls","JustifyContentControl","BlockVerticalAlignmentControl","shouldSkipSerialization","LAYOUT_DEFINITIONS","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","justifyContentMap","left","right","center","alignItemsMap","stretch","verticalAlignmentMap","top","bottom","flexWrapOptions","name","label","inspectorControls","FlexLayoutInspectorControls","layout","onChange","layoutBlockSupport","allowOrientation","allowJustification","children","FlexLayoutJustifyContentControl","OrientationControl","FlexWrapControl","toolBarControls","FlexLayoutToolbarControls","allowVerticalAlignment","group","__experimentalShareWithChildBlocks","isToolbar","FlexLayoutVerticalAlignmentControl","getLayoutStyle","selector","style","blockName","hasBlockGapSupport","layoutDefinitions","orientation","blockGapValue","spacing","blockGap","undefined","justifyContent","flexWrap","includes","verticalAlignment","alignItems","output","rules","push","length","join","getOrientation","getAlignments","defaultVerticalAlignment","onVerticalAlignmentChange","value","controls","POPOVER_PROPS","placement","onJustificationChange","allowedControls","popoverProps","justificationOptions","icon","__next40pxDefaultSize","__nextHasNoMarginBottom","className","map","checked","newVerticalAlignment","newJustification"],"sources":["@wordpress/block-editor/src/layouts/flex.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tjustifyLeft,\n\tjustifyCenter,\n\tjustifyRight,\n\tjustifySpaceBetween,\n\tjustifyStretch,\n\tarrowRight,\n\tarrowDown,\n} from '@wordpress/icons';\nimport {\n\tToggleControl,\n\tFlex,\n\tFlexItem,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { appendSelectors, getBlockGapCSS } from './utils';\nimport { getGapCSSValue } from '../hooks/gap';\nimport {\n\tBlockControls,\n\tJustifyContentControl,\n\tBlockVerticalAlignmentControl,\n} from '../components';\nimport { shouldSkipSerialization } from '../hooks/utils';\nimport { LAYOUT_DEFINITIONS } from './definitions';\n\n// Used with the default, horizontal flex orientation.\nconst justifyContentMap = {\n\tleft: 'flex-start',\n\tright: 'flex-end',\n\tcenter: 'center',\n\t'space-between': 'space-between',\n};\n\n// Used with the vertical (column) flex orientation.\nconst alignItemsMap = {\n\tleft: 'flex-start',\n\tright: 'flex-end',\n\tcenter: 'center',\n\tstretch: 'stretch',\n};\n\nconst verticalAlignmentMap = {\n\ttop: 'flex-start',\n\tcenter: 'center',\n\tbottom: 'flex-end',\n\tstretch: 'stretch',\n\t'space-between': 'space-between',\n};\n\nconst flexWrapOptions = [ 'wrap', 'nowrap' ];\n\nexport default {\n\tname: 'flex',\n\tlabel: __( 'Flex' ),\n\tinspectorControls: function FlexLayoutInspectorControls( {\n\t\tlayout = {},\n\t\tonChange,\n\t\tlayoutBlockSupport = {},\n\t} ) {\n\t\tconst { allowOrientation = true, allowJustification = true } =\n\t\t\tlayoutBlockSupport;\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<Flex>\n\t\t\t\t\t{ allowJustification && (\n\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t<FlexLayoutJustifyContentControl\n\t\t\t\t\t\t\t\tlayout={ layout }\n\t\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t) }\n\t\t\t\t\t{ allowOrientation && (\n\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t<OrientationControl\n\t\t\t\t\t\t\t\tlayout={ layout }\n\t\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t) }\n\t\t\t\t</Flex>\n\t\t\t\t<FlexWrapControl layout={ layout } onChange={ onChange } />\n\t\t\t</>\n\t\t);\n\t},\n\ttoolBarControls: function FlexLayoutToolbarControls( {\n\t\tlayout = {},\n\t\tonChange,\n\t\tlayoutBlockSupport,\n\t} ) {\n\t\tconst { allowVerticalAlignment = true, allowJustification = true } =\n\t\t\tlayoutBlockSupport;\n\n\t\tif ( ! allowJustification && ! allowVerticalAlignment ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<BlockControls group=\"block\" __experimentalShareWithChildBlocks>\n\t\t\t\t{ allowJustification && (\n\t\t\t\t\t<FlexLayoutJustifyContentControl\n\t\t\t\t\t\tlayout={ layout }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\tisToolbar\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ allowVerticalAlignment && (\n\t\t\t\t\t<FlexLayoutVerticalAlignmentControl\n\t\t\t\t\t\tlayout={ layout }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t);\n\t},\n\tgetLayoutStyle: function getLayoutStyle( {\n\t\tselector,\n\t\tlayout,\n\t\tstyle,\n\t\tblockName,\n\t\thasBlockGapSupport,\n\t\tlayoutDefinitions = LAYOUT_DEFINITIONS,\n\t} ) {\n\t\tconst { orientation = 'horizontal' } = layout;\n\n\t\t// If a block's block.json skips serialization for spacing or spacing.blockGap,\n\t\t// don't apply the user-defined value to the styles.\n\t\tconst blockGapValue =\n\t\t\tstyle?.spacing?.blockGap &&\n\t\t\t! shouldSkipSerialization( blockName, 'spacing', 'blockGap' )\n\t\t\t\t? getGapCSSValue( style?.spacing?.blockGap, '0.5em' )\n\t\t\t\t: undefined;\n\t\tconst justifyContent = justifyContentMap[ layout.justifyContent ];\n\t\tconst flexWrap = flexWrapOptions.includes( layout.flexWrap )\n\t\t\t? layout.flexWrap\n\t\t\t: 'wrap';\n\t\tconst verticalAlignment =\n\t\t\tverticalAlignmentMap[ layout.verticalAlignment ];\n\t\tconst alignItems =\n\t\t\talignItemsMap[ layout.justifyContent ] || alignItemsMap.left;\n\n\t\tlet output = '';\n\t\tconst rules = [];\n\n\t\tif ( flexWrap && flexWrap !== 'wrap' ) {\n\t\t\trules.push( `flex-wrap: ${ flexWrap }` );\n\t\t}\n\n\t\tif ( orientation === 'horizontal' ) {\n\t\t\tif ( verticalAlignment ) {\n\t\t\t\trules.push( `align-items: ${ verticalAlignment }` );\n\t\t\t}\n\t\t\tif ( justifyContent ) {\n\t\t\t\trules.push( `justify-content: ${ justifyContent }` );\n\t\t\t}\n\t\t} else {\n\t\t\tif ( verticalAlignment ) {\n\t\t\t\trules.push( `justify-content: ${ verticalAlignment }` );\n\t\t\t}\n\t\t\trules.push( 'flex-direction: column' );\n\t\t\trules.push( `align-items: ${ alignItems }` );\n\t\t}\n\n\t\tif ( rules.length ) {\n\t\t\toutput = `${ appendSelectors( selector ) } {\n\t\t\t\t${ rules.join( '; ' ) };\n\t\t\t}`;\n\t\t}\n\n\t\t// Output blockGap styles based on rules contained in layout definitions in theme.json.\n\t\tif ( hasBlockGapSupport && blockGapValue ) {\n\t\t\toutput += getBlockGapCSS(\n\t\t\t\tselector,\n\t\t\t\tlayoutDefinitions,\n\t\t\t\t'flex',\n\t\t\t\tblockGapValue\n\t\t\t);\n\t\t}\n\t\treturn output;\n\t},\n\tgetOrientation( layout ) {\n\t\tconst { orientation = 'horizontal' } = layout;\n\t\treturn orientation;\n\t},\n\tgetAlignments() {\n\t\treturn [];\n\t},\n};\n\nfunction FlexLayoutVerticalAlignmentControl( { layout, onChange } ) {\n\tconst { orientation = 'horizontal' } = layout;\n\n\tconst defaultVerticalAlignment =\n\t\torientation === 'horizontal'\n\t\t\t? verticalAlignmentMap.center\n\t\t\t: verticalAlignmentMap.top;\n\n\tconst { verticalAlignment = defaultVerticalAlignment } = layout;\n\n\tconst onVerticalAlignmentChange = ( value ) => {\n\t\tonChange( {\n\t\t\t...layout,\n\t\t\tverticalAlignment: value,\n\t\t} );\n\t};\n\n\treturn (\n\t\t<BlockVerticalAlignmentControl\n\t\t\tonChange={ onVerticalAlignmentChange }\n\t\t\tvalue={ verticalAlignment }\n\t\t\tcontrols={\n\t\t\t\torientation === 'horizontal'\n\t\t\t\t\t? [ 'top', 'center', 'bottom', 'stretch' ]\n\t\t\t\t\t: [ 'top', 'center', 'bottom', 'space-between' ]\n\t\t\t}\n\t\t/>\n\t);\n}\n\nconst POPOVER_PROPS = {\n\tplacement: 'bottom-start',\n};\n\nfunction FlexLayoutJustifyContentControl( {\n\tlayout,\n\tonChange,\n\tisToolbar = false,\n} ) {\n\tconst { justifyContent = 'left', orientation = 'horizontal' } = layout;\n\tconst onJustificationChange = ( value ) => {\n\t\tonChange( {\n\t\t\t...layout,\n\t\t\tjustifyContent: value,\n\t\t} );\n\t};\n\tconst allowedControls = [ 'left', 'center', 'right' ];\n\tif ( orientation === 'horizontal' ) {\n\t\tallowedControls.push( 'space-between' );\n\t} else {\n\t\tallowedControls.push( 'stretch' );\n\t}\n\tif ( isToolbar ) {\n\t\treturn (\n\t\t\t<JustifyContentControl\n\t\t\t\tallowedControls={ allowedControls }\n\t\t\t\tvalue={ justifyContent }\n\t\t\t\tonChange={ onJustificationChange }\n\t\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\t/>\n\t\t);\n\t}\n\n\tconst justificationOptions = [\n\t\t{\n\t\t\tvalue: 'left',\n\t\t\ticon: justifyLeft,\n\t\t\tlabel: __( 'Justify items left' ),\n\t\t},\n\t\t{\n\t\t\tvalue: 'center',\n\t\t\ticon: justifyCenter,\n\t\t\tlabel: __( 'Justify items center' ),\n\t\t},\n\t\t{\n\t\t\tvalue: 'right',\n\t\t\ticon: justifyRight,\n\t\t\tlabel: __( 'Justify items right' ),\n\t\t},\n\t];\n\tif ( orientation === 'horizontal' ) {\n\t\tjustificationOptions.push( {\n\t\t\tvalue: 'space-between',\n\t\t\ticon: justifySpaceBetween,\n\t\t\tlabel: __( 'Space between items' ),\n\t\t} );\n\t} else {\n\t\tjustificationOptions.push( {\n\t\t\tvalue: 'stretch',\n\t\t\ticon: justifyStretch,\n\t\t\tlabel: __( 'Stretch items' ),\n\t\t} );\n\t}\n\n\treturn (\n\t\t<ToggleGroupControl\n\t\t\t__next40pxDefaultSize\n\t\t\t__nextHasNoMarginBottom\n\t\t\tlabel={ __( 'Justification' ) }\n\t\t\tvalue={ justifyContent }\n\t\t\tonChange={ onJustificationChange }\n\t\t\tclassName=\"block-editor-hooks__flex-layout-justification-controls\"\n\t\t>\n\t\t\t{ justificationOptions.map( ( { value, icon, label } ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\t\t\tkey={ value }\n\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</ToggleGroupControl>\n\t);\n}\n\nfunction FlexWrapControl( { layout, onChange } ) {\n\tconst { flexWrap = 'wrap' } = layout;\n\treturn (\n\t\t<ToggleControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\tlabel={ __( 'Allow to wrap to multiple lines' ) }\n\t\t\tonChange={ ( value ) => {\n\t\t\t\tonChange( {\n\t\t\t\t\t...layout,\n\t\t\t\t\tflexWrap: value ? 'wrap' : 'nowrap',\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tchecked={ flexWrap === 'wrap' }\n\t\t/>\n\t);\n}\n\nfunction OrientationControl( { layout, onChange } ) {\n\tconst {\n\t\torientation = 'horizontal',\n\t\tverticalAlignment,\n\t\tjustifyContent,\n\t} = layout;\n\treturn (\n\t\t<ToggleGroupControl\n\t\t\t__next40pxDefaultSize\n\t\t\t__nextHasNoMarginBottom\n\t\t\tclassName=\"block-editor-hooks__flex-layout-orientation-controls\"\n\t\t\tlabel={ __( 'Orientation' ) }\n\t\t\tvalue={ orientation }\n\t\t\tonChange={ ( value ) => {\n\t\t\t\t// Make sure the vertical alignment and justification are compatible with the new orientation.\n\t\t\t\tlet newVerticalAlignment = verticalAlignment;\n\t\t\t\tlet newJustification = justifyContent;\n\t\t\t\tif ( value === 'horizontal' ) {\n\t\t\t\t\tif ( verticalAlignment === 'space-between' ) {\n\t\t\t\t\t\tnewVerticalAlignment = 'center';\n\t\t\t\t\t}\n\t\t\t\t\tif ( justifyContent === 'stretch' ) {\n\t\t\t\t\t\tnewJustification = 'left';\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif ( verticalAlignment === 'stretch' ) {\n\t\t\t\t\t\tnewVerticalAlignment = 'top';\n\t\t\t\t\t}\n\t\t\t\t\tif ( justifyContent === 'space-between' ) {\n\t\t\t\t\t\tnewJustification = 'left';\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn onChange( {\n\t\t\t\t\t...layout,\n\t\t\t\t\torientation: value,\n\t\t\t\t\tverticalAlignment: newVerticalAlignment,\n\t\t\t\t\tjustifyContent: newJustification,\n\t\t\t\t} );\n\t\t\t} }\n\t\t>\n\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\ticon={ arrowRight }\n\t\t\t\tvalue=\"horizontal\"\n\t\t\t\tlabel={ __( 'Horizontal' ) }\n\t\t\t/>\n\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\ticon={ arrowDown }\n\t\t\t\tvalue=\"vertical\"\n\t\t\t\tlabel={ __( 'Vertical' ) }\n\t\t\t/>\n\t\t</ToggleGroupControl>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__","justifyLeft","justifyCenter","justifyRight","justifySpaceBetween","justifyStretch","arrowRight","arrowDown","ToggleControl","Flex","FlexItem","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOptionIcon","ToggleGroupControlOptionIcon","appendSelectors","getBlockGapCSS","getGapCSSValue","BlockControls","JustifyContentControl","BlockVerticalAlignmentControl","shouldSkipSerialization","LAYOUT_DEFINITIONS","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","justifyContentMap","left","right","center","alignItemsMap","stretch","verticalAlignmentMap","top","bottom","defaultAlignments","horizontal","vertical","flexWrapOptions","name","label","inspectorControls","FlexLayoutInspectorControls","layout","onChange","layoutBlockSupport","allowOrientation","allowJustification","children","FlexLayoutJustifyContentControl","OrientationControl","FlexWrapControl","toolBarControls","FlexLayoutToolbarControls","allowVerticalAlignment","group","__experimentalShareWithChildBlocks","isToolbar","FlexLayoutVerticalAlignmentControl","getLayoutStyle","selector","style","blockName","hasBlockGapSupport","layoutDefinitions","orientation","blockGapValue","spacing","blockGap","undefined","justifyContent","flexWrap","includes","verticalAlignment","alignItems","output","rules","push","length","join","getOrientation","getAlignments","defaultVerticalAlignment","onVerticalAlignmentChange","value","controls","POPOVER_PROPS","placement","onJustificationChange","allowedControls","popoverProps","justificationOptions","icon","__next40pxDefaultSize","__nextHasNoMarginBottom","className","map","checked","newVerticalAlignment","newJustification"],"sources":["@wordpress/block-editor/src/layouts/flex.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tjustifyLeft,\n\tjustifyCenter,\n\tjustifyRight,\n\tjustifySpaceBetween,\n\tjustifyStretch,\n\tarrowRight,\n\tarrowDown,\n} from '@wordpress/icons';\nimport {\n\tToggleControl,\n\tFlex,\n\tFlexItem,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { appendSelectors, getBlockGapCSS } from './utils';\nimport { getGapCSSValue } from '../hooks/gap';\nimport {\n\tBlockControls,\n\tJustifyContentControl,\n\tBlockVerticalAlignmentControl,\n} from '../components';\nimport { shouldSkipSerialization } from '../hooks/utils';\nimport { LAYOUT_DEFINITIONS } from './definitions';\n\n// Used with the default, horizontal flex orientation.\nconst justifyContentMap = {\n\tleft: 'flex-start',\n\tright: 'flex-end',\n\tcenter: 'center',\n\t'space-between': 'space-between',\n};\n\n// Used with the vertical (column) flex orientation.\nconst alignItemsMap = {\n\tleft: 'flex-start',\n\tright: 'flex-end',\n\tcenter: 'center',\n\tstretch: 'stretch',\n};\n\nconst verticalAlignmentMap = {\n\ttop: 'flex-start',\n\tcenter: 'center',\n\tbottom: 'flex-end',\n\tstretch: 'stretch',\n\t'space-between': 'space-between',\n};\n\nconst defaultAlignments = {\n\thorizontal: 'center',\n\tvertical: 'top',\n};\n\nconst flexWrapOptions = [ 'wrap', 'nowrap' ];\n\nexport default {\n\tname: 'flex',\n\tlabel: __( 'Flex' ),\n\tinspectorControls: function FlexLayoutInspectorControls( {\n\t\tlayout = {},\n\t\tonChange,\n\t\tlayoutBlockSupport = {},\n\t} ) {\n\t\tconst { allowOrientation = true, allowJustification = true } =\n\t\t\tlayoutBlockSupport;\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<Flex>\n\t\t\t\t\t{ allowJustification && (\n\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t<FlexLayoutJustifyContentControl\n\t\t\t\t\t\t\t\tlayout={ layout }\n\t\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t) }\n\t\t\t\t\t{ allowOrientation && (\n\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t<OrientationControl\n\t\t\t\t\t\t\t\tlayout={ layout }\n\t\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t) }\n\t\t\t\t</Flex>\n\t\t\t\t<FlexWrapControl layout={ layout } onChange={ onChange } />\n\t\t\t</>\n\t\t);\n\t},\n\ttoolBarControls: function FlexLayoutToolbarControls( {\n\t\tlayout = {},\n\t\tonChange,\n\t\tlayoutBlockSupport,\n\t} ) {\n\t\tconst { allowVerticalAlignment = true, allowJustification = true } =\n\t\t\tlayoutBlockSupport;\n\n\t\tif ( ! allowJustification && ! allowVerticalAlignment ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<BlockControls group=\"block\" __experimentalShareWithChildBlocks>\n\t\t\t\t{ allowJustification && (\n\t\t\t\t\t<FlexLayoutJustifyContentControl\n\t\t\t\t\t\tlayout={ layout }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\tisToolbar\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ allowVerticalAlignment && (\n\t\t\t\t\t<FlexLayoutVerticalAlignmentControl\n\t\t\t\t\t\tlayout={ layout }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t);\n\t},\n\tgetLayoutStyle: function getLayoutStyle( {\n\t\tselector,\n\t\tlayout,\n\t\tstyle,\n\t\tblockName,\n\t\thasBlockGapSupport,\n\t\tlayoutDefinitions = LAYOUT_DEFINITIONS,\n\t} ) {\n\t\tconst { orientation = 'horizontal' } = layout;\n\n\t\t// If a block's block.json skips serialization for spacing or spacing.blockGap,\n\t\t// don't apply the user-defined value to the styles.\n\t\tconst blockGapValue =\n\t\t\tstyle?.spacing?.blockGap &&\n\t\t\t! shouldSkipSerialization( blockName, 'spacing', 'blockGap' )\n\t\t\t\t? getGapCSSValue( style?.spacing?.blockGap, '0.5em' )\n\t\t\t\t: undefined;\n\t\tconst justifyContent = justifyContentMap[ layout.justifyContent ];\n\t\tconst flexWrap = flexWrapOptions.includes( layout.flexWrap )\n\t\t\t? layout.flexWrap\n\t\t\t: 'wrap';\n\t\tconst verticalAlignment =\n\t\t\tverticalAlignmentMap[ layout.verticalAlignment ];\n\t\tconst alignItems =\n\t\t\talignItemsMap[ layout.justifyContent ] || alignItemsMap.left;\n\n\t\tlet output = '';\n\t\tconst rules = [];\n\n\t\tif ( flexWrap && flexWrap !== 'wrap' ) {\n\t\t\trules.push( `flex-wrap: ${ flexWrap }` );\n\t\t}\n\n\t\tif ( orientation === 'horizontal' ) {\n\t\t\tif ( verticalAlignment ) {\n\t\t\t\trules.push( `align-items: ${ verticalAlignment }` );\n\t\t\t}\n\t\t\tif ( justifyContent ) {\n\t\t\t\trules.push( `justify-content: ${ justifyContent }` );\n\t\t\t}\n\t\t} else {\n\t\t\tif ( verticalAlignment ) {\n\t\t\t\trules.push( `justify-content: ${ verticalAlignment }` );\n\t\t\t}\n\t\t\trules.push( 'flex-direction: column' );\n\t\t\trules.push( `align-items: ${ alignItems }` );\n\t\t}\n\n\t\tif ( rules.length ) {\n\t\t\toutput = `${ appendSelectors( selector ) } {\n\t\t\t\t${ rules.join( '; ' ) };\n\t\t\t}`;\n\t\t}\n\n\t\t// Output blockGap styles based on rules contained in layout definitions in theme.json.\n\t\tif ( hasBlockGapSupport && blockGapValue ) {\n\t\t\toutput += getBlockGapCSS(\n\t\t\t\tselector,\n\t\t\t\tlayoutDefinitions,\n\t\t\t\t'flex',\n\t\t\t\tblockGapValue\n\t\t\t);\n\t\t}\n\t\treturn output;\n\t},\n\tgetOrientation( layout ) {\n\t\tconst { orientation = 'horizontal' } = layout;\n\t\treturn orientation;\n\t},\n\tgetAlignments() {\n\t\treturn [];\n\t},\n};\n\nfunction FlexLayoutVerticalAlignmentControl( { layout, onChange } ) {\n\tconst { orientation = 'horizontal' } = layout;\n\n\tconst defaultVerticalAlignment =\n\t\torientation === 'horizontal'\n\t\t\t? defaultAlignments.horizontal\n\t\t\t: defaultAlignments.vertical;\n\n\tconst { verticalAlignment = defaultVerticalAlignment } = layout;\n\n\tconst onVerticalAlignmentChange = ( value ) => {\n\t\tonChange( {\n\t\t\t...layout,\n\t\t\tverticalAlignment: value,\n\t\t} );\n\t};\n\n\treturn (\n\t\t<BlockVerticalAlignmentControl\n\t\t\tonChange={ onVerticalAlignmentChange }\n\t\t\tvalue={ verticalAlignment }\n\t\t\tcontrols={\n\t\t\t\torientation === 'horizontal'\n\t\t\t\t\t? [ 'top', 'center', 'bottom', 'stretch' ]\n\t\t\t\t\t: [ 'top', 'center', 'bottom', 'space-between' ]\n\t\t\t}\n\t\t/>\n\t);\n}\n\nconst POPOVER_PROPS = {\n\tplacement: 'bottom-start',\n};\n\nfunction FlexLayoutJustifyContentControl( {\n\tlayout,\n\tonChange,\n\tisToolbar = false,\n} ) {\n\tconst { justifyContent = 'left', orientation = 'horizontal' } = layout;\n\tconst onJustificationChange = ( value ) => {\n\t\tonChange( {\n\t\t\t...layout,\n\t\t\tjustifyContent: value,\n\t\t} );\n\t};\n\tconst allowedControls = [ 'left', 'center', 'right' ];\n\tif ( orientation === 'horizontal' ) {\n\t\tallowedControls.push( 'space-between' );\n\t} else {\n\t\tallowedControls.push( 'stretch' );\n\t}\n\tif ( isToolbar ) {\n\t\treturn (\n\t\t\t<JustifyContentControl\n\t\t\t\tallowedControls={ allowedControls }\n\t\t\t\tvalue={ justifyContent }\n\t\t\t\tonChange={ onJustificationChange }\n\t\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\t/>\n\t\t);\n\t}\n\n\tconst justificationOptions = [\n\t\t{\n\t\t\tvalue: 'left',\n\t\t\ticon: justifyLeft,\n\t\t\tlabel: __( 'Justify items left' ),\n\t\t},\n\t\t{\n\t\t\tvalue: 'center',\n\t\t\ticon: justifyCenter,\n\t\t\tlabel: __( 'Justify items center' ),\n\t\t},\n\t\t{\n\t\t\tvalue: 'right',\n\t\t\ticon: justifyRight,\n\t\t\tlabel: __( 'Justify items right' ),\n\t\t},\n\t];\n\tif ( orientation === 'horizontal' ) {\n\t\tjustificationOptions.push( {\n\t\t\tvalue: 'space-between',\n\t\t\ticon: justifySpaceBetween,\n\t\t\tlabel: __( 'Space between items' ),\n\t\t} );\n\t} else {\n\t\tjustificationOptions.push( {\n\t\t\tvalue: 'stretch',\n\t\t\ticon: justifyStretch,\n\t\t\tlabel: __( 'Stretch items' ),\n\t\t} );\n\t}\n\n\treturn (\n\t\t<ToggleGroupControl\n\t\t\t__next40pxDefaultSize\n\t\t\t__nextHasNoMarginBottom\n\t\t\tlabel={ __( 'Justification' ) }\n\t\t\tvalue={ justifyContent }\n\t\t\tonChange={ onJustificationChange }\n\t\t\tclassName=\"block-editor-hooks__flex-layout-justification-controls\"\n\t\t>\n\t\t\t{ justificationOptions.map( ( { value, icon, label } ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\t\t\tkey={ value }\n\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</ToggleGroupControl>\n\t);\n}\n\nfunction FlexWrapControl( { layout, onChange } ) {\n\tconst { flexWrap = 'wrap' } = layout;\n\treturn (\n\t\t<ToggleControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\tlabel={ __( 'Allow to wrap to multiple lines' ) }\n\t\t\tonChange={ ( value ) => {\n\t\t\t\tonChange( {\n\t\t\t\t\t...layout,\n\t\t\t\t\tflexWrap: value ? 'wrap' : 'nowrap',\n\t\t\t\t} );\n\t\t\t} }\n\t\t\tchecked={ flexWrap === 'wrap' }\n\t\t/>\n\t);\n}\n\nfunction OrientationControl( { layout, onChange } ) {\n\tconst {\n\t\torientation = 'horizontal',\n\t\tverticalAlignment,\n\t\tjustifyContent,\n\t} = layout;\n\treturn (\n\t\t<ToggleGroupControl\n\t\t\t__next40pxDefaultSize\n\t\t\t__nextHasNoMarginBottom\n\t\t\tclassName=\"block-editor-hooks__flex-layout-orientation-controls\"\n\t\t\tlabel={ __( 'Orientation' ) }\n\t\t\tvalue={ orientation }\n\t\t\tonChange={ ( value ) => {\n\t\t\t\t// Make sure the vertical alignment and justification are compatible with the new orientation.\n\t\t\t\tlet newVerticalAlignment = verticalAlignment;\n\t\t\t\tlet newJustification = justifyContent;\n\t\t\t\tif ( value === 'horizontal' ) {\n\t\t\t\t\tif ( verticalAlignment === 'space-between' ) {\n\t\t\t\t\t\tnewVerticalAlignment = 'center';\n\t\t\t\t\t}\n\t\t\t\t\tif ( justifyContent === 'stretch' ) {\n\t\t\t\t\t\tnewJustification = 'left';\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tif ( verticalAlignment === 'stretch' ) {\n\t\t\t\t\t\tnewVerticalAlignment = 'top';\n\t\t\t\t\t}\n\t\t\t\t\tif ( justifyContent === 'space-between' ) {\n\t\t\t\t\t\tnewJustification = 'left';\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\treturn onChange( {\n\t\t\t\t\t...layout,\n\t\t\t\t\torientation: value,\n\t\t\t\t\tverticalAlignment: newVerticalAlignment,\n\t\t\t\t\tjustifyContent: newJustification,\n\t\t\t\t} );\n\t\t\t} }\n\t\t>\n\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\ticon={ arrowRight }\n\t\t\t\tvalue=\"horizontal\"\n\t\t\t\tlabel={ __( 'Horizontal' ) }\n\t\t\t/>\n\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\ticon={ arrowDown }\n\t\t\t\tvalue=\"vertical\"\n\t\t\t\tlabel={ __( 'Vertical' ) }\n\t\t\t/>\n\t\t</ToggleGroupControl>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1538,9 +1538,9 @@ export const canInsertBlockType = createRegistrySelector(select => createSelecto
1538
1538
  * Determines if the given blocks are allowed to be inserted into the block
1539
1539
  * list.
1540
1540
  *
1541
- * @param {Object} state Editor state.
1542
- * @param {string} clientIds The block client IDs to be inserted.
1543
- * @param {?string} rootClientId Optional root client ID of block list.
1541
+ * @param {Object} state Editor state.
1542
+ * @param {string[]} clientIds The block client IDs to be inserted.
1543
+ * @param {?string} rootClientId Optional root client ID of block list.
1544
1544
  *
1545
1545
  * @return {boolean} Whether the given blocks are allowed to be inserted.
1546
1546
  */