@wordpress/block-library 6.0.12 → 6.0.16

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 (139) hide show
  1. package/build/group/edit.native.js +1 -1
  2. package/build/group/edit.native.js.map +1 -1
  3. package/build/group/index.js +3 -1
  4. package/build/group/index.js.map +1 -1
  5. package/build/image/image.js +30 -6
  6. package/build/image/image.js.map +1 -1
  7. package/build/navigation/deprecated.js +1 -3
  8. package/build/navigation/deprecated.js.map +1 -1
  9. package/build/navigation/edit/index.js +109 -43
  10. package/build/navigation/edit/index.js.map +1 -1
  11. package/build/navigation/edit/navigation-menu-selector.js +10 -3
  12. package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
  13. package/build/navigation/edit/placeholder/index.js +15 -7
  14. package/build/navigation/edit/placeholder/index.js.map +1 -1
  15. package/build/navigation/edit/responsive-wrapper.js +9 -7
  16. package/build/navigation/edit/responsive-wrapper.js.map +1 -1
  17. package/build/navigation/edit/unsaved-inner-blocks.js +3 -11
  18. package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  19. package/build/navigation/edit/use-navigation-notice.js +54 -0
  20. package/build/navigation/edit/use-navigation-notice.js.map +1 -0
  21. package/build/navigation/index.js +1 -2
  22. package/build/navigation/index.js.map +1 -1
  23. package/build/navigation/menu-items-to-blocks.js +4 -1
  24. package/build/navigation/menu-items-to-blocks.js.map +1 -1
  25. package/build/navigation/use-navigation-menu.js +9 -2
  26. package/build/navigation/use-navigation-menu.js.map +1 -1
  27. package/build/navigation/view.js +14 -9
  28. package/build/navigation/view.js.map +1 -1
  29. package/build/navigation-submenu/edit.js +1 -1
  30. package/build/navigation-submenu/edit.js.map +1 -1
  31. package/build/post-comments/index.js +1 -1
  32. package/build/post-template/edit.js +54 -13
  33. package/build/post-template/edit.js.map +1 -1
  34. package/build/site-logo/edit.js +9 -6
  35. package/build/site-logo/edit.js.map +1 -1
  36. package/build/site-logo/index.js +0 -3
  37. package/build/site-logo/index.js.map +1 -1
  38. package/build/template-part/edit/index.js +7 -1
  39. package/build/template-part/edit/index.js.map +1 -1
  40. package/build-module/group/edit.native.js +1 -1
  41. package/build-module/group/edit.native.js.map +1 -1
  42. package/build-module/group/index.js +3 -1
  43. package/build-module/group/index.js.map +1 -1
  44. package/build-module/image/image.js +31 -7
  45. package/build-module/image/image.js.map +1 -1
  46. package/build-module/navigation/deprecated.js +1 -3
  47. package/build-module/navigation/deprecated.js.map +1 -1
  48. package/build-module/navigation/edit/index.js +107 -44
  49. package/build-module/navigation/edit/index.js.map +1 -1
  50. package/build-module/navigation/edit/navigation-menu-selector.js +9 -3
  51. package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
  52. package/build-module/navigation/edit/placeholder/index.js +15 -7
  53. package/build-module/navigation/edit/placeholder/index.js.map +1 -1
  54. package/build-module/navigation/edit/responsive-wrapper.js +9 -7
  55. package/build-module/navigation/edit/responsive-wrapper.js.map +1 -1
  56. package/build-module/navigation/edit/unsaved-inner-blocks.js +4 -13
  57. package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
  58. package/build-module/navigation/edit/use-navigation-notice.js +44 -0
  59. package/build-module/navigation/edit/use-navigation-notice.js.map +1 -0
  60. package/build-module/navigation/index.js +1 -2
  61. package/build-module/navigation/index.js.map +1 -1
  62. package/build-module/navigation/menu-items-to-blocks.js +3 -1
  63. package/build-module/navigation/menu-items-to-blocks.js.map +1 -1
  64. package/build-module/navigation/use-navigation-menu.js +9 -2
  65. package/build-module/navigation/use-navigation-menu.js.map +1 -1
  66. package/build-module/navigation/view.js +14 -9
  67. package/build-module/navigation/view.js.map +1 -1
  68. package/build-module/navigation-submenu/edit.js +1 -1
  69. package/build-module/navigation-submenu/edit.js.map +1 -1
  70. package/build-module/post-comments/index.js +1 -1
  71. package/build-module/post-template/edit.js +54 -15
  72. package/build-module/post-template/edit.js.map +1 -1
  73. package/build-module/site-logo/edit.js +9 -6
  74. package/build-module/site-logo/edit.js.map +1 -1
  75. package/build-module/site-logo/index.js +0 -3
  76. package/build-module/site-logo/index.js.map +1 -1
  77. package/build-module/template-part/edit/index.js +6 -1
  78. package/build-module/template-part/edit/index.js.map +1 -1
  79. package/build-style/common-rtl.css +10 -0
  80. package/build-style/common.css +10 -0
  81. package/build-style/editor-rtl.css +38 -11
  82. package/build-style/editor.css +38 -11
  83. package/build-style/image/editor-rtl.css +16 -0
  84. package/build-style/image/editor.css +16 -0
  85. package/build-style/navigation/editor-rtl.css +11 -0
  86. package/build-style/navigation/editor.css +11 -0
  87. package/build-style/navigation/style-rtl.css +56 -24
  88. package/build-style/navigation/style.css +56 -24
  89. package/build-style/post-comments/style-rtl.css +3 -1
  90. package/build-style/post-comments/style.css +3 -1
  91. package/build-style/post-comments-form/style-rtl.css +2 -2
  92. package/build-style/post-comments-form/style.css +2 -2
  93. package/build-style/site-logo/editor-rtl.css +1 -11
  94. package/build-style/site-logo/editor.css +1 -11
  95. package/build-style/site-logo/style-rtl.css +3 -1
  96. package/build-style/site-logo/style.css +3 -1
  97. package/build-style/style-rtl.css +74 -28
  98. package/build-style/style.css +74 -28
  99. package/package.json +14 -14
  100. package/src/common.scss +12 -0
  101. package/src/editor.scss +12 -0
  102. package/src/gallery/index.php +7 -8
  103. package/src/group/block.json +3 -1
  104. package/src/group/edit.native.js +1 -1
  105. package/src/home-link/index.php +1 -1
  106. package/src/image/editor.scss +18 -0
  107. package/src/image/image.js +32 -8
  108. package/src/image/index.php +1 -1
  109. package/src/navigation/block.json +1 -2
  110. package/src/navigation/deprecated.js +0 -2
  111. package/src/navigation/edit/index.js +166 -60
  112. package/src/navigation/edit/navigation-menu-selector.js +20 -6
  113. package/src/navigation/edit/placeholder/index.js +40 -24
  114. package/src/navigation/edit/responsive-wrapper.js +10 -7
  115. package/src/navigation/edit/unsaved-inner-blocks.js +13 -25
  116. package/src/navigation/edit/use-navigation-notice.js +37 -0
  117. package/src/navigation/editor.scss +14 -0
  118. package/src/navigation/index.php +19 -8
  119. package/src/navigation/menu-items-to-blocks.js +7 -1
  120. package/src/navigation/style.scss +82 -32
  121. package/src/navigation/use-navigation-menu.js +20 -0
  122. package/src/navigation/view.js +15 -9
  123. package/src/navigation-link/index.php +1 -1
  124. package/src/navigation-submenu/edit.js +1 -1
  125. package/src/navigation-submenu/index.php +9 -3
  126. package/src/page-list/index.php +9 -4
  127. package/src/post-comments/block.json +5 -1
  128. package/src/post-comments/index.php +17 -0
  129. package/src/post-comments/style.scss +7 -3
  130. package/src/post-comments-form/index.php +6 -4
  131. package/src/post-comments-form/style.scss +7 -5
  132. package/src/post-template/edit.js +54 -17
  133. package/src/site-logo/block.json +0 -3
  134. package/src/site-logo/edit.js +6 -5
  135. package/src/site-logo/editor.scss +1 -15
  136. package/src/site-logo/index.php +0 -4
  137. package/src/site-logo/style.scss +3 -1
  138. package/src/template-part/edit/index.js +6 -1
  139. package/src/template-part/index.php +5 -2
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/template-part/edit/index.js"],"names":["TemplatePartEdit","attributes","setAttributes","clientId","slug","theme","tagName","layout","templatePartId","hasAlreadyRendered","RecursionProvider","isResolved","innerBlocks","isMissing","defaultWrapper","area","enableSelection","hasResolvedReplacements","select","getEditedEntityRecord","getEntityRecords","hasFinishedResolution","coreStore","getBlocks","blockEditorStore","getEntityArgs","entityRecord","_area","availableReplacementArgs","matchingReplacements","_enableSelection","length","hasResolvedEntity","defaultWrapperElement","__experimentalGetDefaultTemplatePartAreas","find","value","area_tag","blockProps","isPlaceholder","isEntityAvailable","TagName","isOpen","onToggle","onClose"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport {\n\tBlockControls,\n\tuseBlockProps,\n\t__experimentalUseNoRecursiveRenders as useNoRecursiveRenders,\n\tWarning,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\tDropdown,\n\tToolbarGroup,\n\tToolbarButton,\n\tSpinner,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport TemplatePartPlaceholder from './placeholder';\nimport TemplatePartSelection from './selection';\nimport { TemplatePartAdvancedControls } from './advanced-controls';\nimport TemplatePartInnerBlocks from './inner-blocks';\nimport { createTemplatePartId } from './utils/create-template-part-id';\n\nexport default function TemplatePartEdit( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n} ) {\n\tconst { slug, theme, tagName, layout = {} } = attributes;\n\tconst templatePartId = createTemplatePartId( theme, slug );\n\n\tconst [ hasAlreadyRendered, RecursionProvider ] = useNoRecursiveRenders(\n\t\ttemplatePartId\n\t);\n\n\t// Set the postId block attribute if it did not exist,\n\t// but wait until the inner blocks have loaded to allow\n\t// new edits to trigger this.\n\tconst {\n\t\tisResolved,\n\t\tinnerBlocks,\n\t\tisMissing,\n\t\tdefaultWrapper,\n\t\tarea,\n\t\tenableSelection,\n\t\thasResolvedReplacements,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetEditedEntityRecord,\n\t\t\t\tgetEntityRecords,\n\t\t\t\thasFinishedResolution,\n\t\t\t} = select( coreStore );\n\t\t\tconst { getBlocks } = select( blockEditorStore );\n\n\t\t\tconst getEntityArgs = [\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\ttemplatePartId,\n\t\t\t];\n\t\t\tconst entityRecord = templatePartId\n\t\t\t\t? getEditedEntityRecord( ...getEntityArgs )\n\t\t\t\t: null;\n\t\t\tconst _area = entityRecord?.area || attributes.area;\n\n\t\t\t// Check whether other entities exist for switching/selection.\n\t\t\tconst availableReplacementArgs = [\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\t_area && 'uncategorized' !== _area && { area: _area },\n\t\t\t];\n\t\t\tconst matchingReplacements = getEntityRecords(\n\t\t\t\t...availableReplacementArgs\n\t\t\t);\n\t\t\tconst _enableSelection = templatePartId\n\t\t\t\t? matchingReplacements?.length > 1\n\t\t\t\t: matchingReplacements?.length > 0;\n\n\t\t\tconst hasResolvedEntity = templatePartId\n\t\t\t\t? hasFinishedResolution(\n\t\t\t\t\t\t'getEditedEntityRecord',\n\t\t\t\t\t\tgetEntityArgs\n\t\t\t\t )\n\t\t\t\t: false;\n\n\t\t\t// FIXME: @wordpress/block-library should not depend on @wordpress/editor.\n\t\t\t// Blocks can be loaded into a *non-post* block editor.\n\t\t\t// eslint-disable-next-line @wordpress/data-no-store-string-literals\n\t\t\tconst defaultWrapperElement = select( 'core/editor' )\n\t\t\t\t.__experimentalGetDefaultTemplatePartAreas()\n\t\t\t\t.find( ( { area: value } ) => value === _area )?.area_tag;\n\n\t\t\treturn {\n\t\t\t\tinnerBlocks: getBlocks( clientId ),\n\t\t\t\tisResolved: hasResolvedEntity,\n\t\t\t\tisMissing: hasResolvedEntity && ! entityRecord,\n\t\t\t\tdefaultWrapper: defaultWrapperElement || 'div',\n\t\t\t\tarea: _area,\n\t\t\t\tenableSelection: _enableSelection,\n\t\t\t\thasResolvedReplacements: hasFinishedResolution(\n\t\t\t\t\t'getEntityRecords',\n\t\t\t\t\tavailableReplacementArgs\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ templatePartId, clientId ]\n\t);\n\n\tconst blockProps = useBlockProps();\n\tconst isPlaceholder = ! slug;\n\tconst isEntityAvailable = ! isPlaceholder && ! isMissing && isResolved;\n\tconst TagName = tagName || defaultWrapper;\n\n\t// We don't want to render a missing state if we have any inner blocks.\n\t// A new template part is automatically created if we have any inner blocks but no entity.\n\tif (\n\t\tinnerBlocks.length === 0 &&\n\t\t( ( slug && ! theme ) || ( slug && isMissing ) )\n\t) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t/* translators: %s: Template part slug */\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Template part has been deleted or is unavailable: %s'\n\t\t\t\t\t\t),\n\t\t\t\t\t\tslug\n\t\t\t\t\t) }\n\t\t\t\t</Warning>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\tif ( isEntityAvailable && hasAlreadyRendered ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t\t</Warning>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\treturn (\n\t\t<RecursionProvider>\n\t\t\t<TemplatePartAdvancedControls\n\t\t\t\ttagName={ tagName }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tisEntityAvailable={ isEntityAvailable }\n\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\tdefaultWrapper={ defaultWrapper }\n\t\t\t/>\n\t\t\t{ isPlaceholder && (\n\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t<TemplatePartPlaceholder\n\t\t\t\t\t\tarea={ attributes.area }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tenableSelection={ enableSelection }\n\t\t\t\t\t\thasResolvedReplacements={ hasResolvedReplacements }\n\t\t\t\t\t/>\n\t\t\t\t</TagName>\n\t\t\t) }\n\t\t\t{ isEntityAvailable && enableSelection && (\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<ToolbarGroup className=\"wp-block-template-part__block-control-group\">\n\t\t\t\t\t\t<Dropdown\n\t\t\t\t\t\t\tclassName=\"wp-block-template-part__preview-dropdown-button\"\n\t\t\t\t\t\t\tcontentClassName=\"wp-block-template-part__preview-dropdown-content\"\n\t\t\t\t\t\t\tposition=\"bottom right left\"\n\t\t\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Replace' ) }\n\t\t\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t\t\t\t<TemplatePartSelection\n\t\t\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\t\tarea={ area }\n\t\t\t\t\t\t\t\t\ttemplatePartId={ templatePartId }\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</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t{ isEntityAvailable && (\n\t\t\t\t<TemplatePartInnerBlocks\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\ttagName={ TagName }\n\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\tpostId={ templatePartId }\n\t\t\t\t\thasInnerBlocks={ innerBlocks.length > 0 }\n\t\t\t\t\tlayout={ layout }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ! isPlaceholder && ! isResolved && (\n\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t<Spinner />\n\t\t\t\t</TagName>\n\t\t\t) }\n\t\t</RecursionProvider>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/template-part/edit/index.js"],"names":["TemplatePartEdit","attributes","setAttributes","clientId","slug","theme","tagName","layout","templatePartId","hasAlreadyRendered","RecursionProvider","isResolved","innerBlocks","isMissing","defaultWrapper","area","enableSelection","hasResolvedReplacements","select","getEditedEntityRecord","getEntityRecords","hasFinishedResolution","coreStore","getBlocks","blockEditorStore","getEntityArgs","entityRecord","_area","availableReplacementArgs","matchingReplacements","_enableSelection","length","hasResolvedEntity","defaultWrapperElement","__experimentalGetDefaultTemplatePartAreas","find","value","area_tag","blockProps","isPlaceholder","isEntityAvailable","TagName","isOpen","onToggle","onClose"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { isEmpty } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport {\n\tBlockControls,\n\tuseBlockProps,\n\t__experimentalUseNoRecursiveRenders as useNoRecursiveRenders,\n\tWarning,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport {\n\tDropdown,\n\tToolbarGroup,\n\tToolbarButton,\n\tSpinner,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport TemplatePartPlaceholder from './placeholder';\nimport TemplatePartSelection from './selection';\nimport { TemplatePartAdvancedControls } from './advanced-controls';\nimport TemplatePartInnerBlocks from './inner-blocks';\nimport { createTemplatePartId } from './utils/create-template-part-id';\n\nexport default function TemplatePartEdit( {\n\tattributes,\n\tsetAttributes,\n\tclientId,\n} ) {\n\tconst { slug, theme, tagName, layout = {} } = attributes;\n\tconst templatePartId = createTemplatePartId( theme, slug );\n\n\tconst [ hasAlreadyRendered, RecursionProvider ] = useNoRecursiveRenders(\n\t\ttemplatePartId\n\t);\n\n\t// Set the postId block attribute if it did not exist,\n\t// but wait until the inner blocks have loaded to allow\n\t// new edits to trigger this.\n\tconst {\n\t\tisResolved,\n\t\tinnerBlocks,\n\t\tisMissing,\n\t\tdefaultWrapper,\n\t\tarea,\n\t\tenableSelection,\n\t\thasResolvedReplacements,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetEditedEntityRecord,\n\t\t\t\tgetEntityRecords,\n\t\t\t\thasFinishedResolution,\n\t\t\t} = select( coreStore );\n\t\t\tconst { getBlocks } = select( blockEditorStore );\n\n\t\t\tconst getEntityArgs = [\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\ttemplatePartId,\n\t\t\t];\n\t\t\tconst entityRecord = templatePartId\n\t\t\t\t? getEditedEntityRecord( ...getEntityArgs )\n\t\t\t\t: null;\n\t\t\tconst _area = entityRecord?.area || attributes.area;\n\n\t\t\t// Check whether other entities exist for switching/selection.\n\t\t\tconst availableReplacementArgs = [\n\t\t\t\t'postType',\n\t\t\t\t'wp_template_part',\n\t\t\t\t_area && 'uncategorized' !== _area && { area: _area },\n\t\t\t];\n\t\t\tconst matchingReplacements = getEntityRecords(\n\t\t\t\t...availableReplacementArgs\n\t\t\t);\n\t\t\tconst _enableSelection = templatePartId\n\t\t\t\t? matchingReplacements?.length > 1\n\t\t\t\t: matchingReplacements?.length > 0;\n\n\t\t\tconst hasResolvedEntity = templatePartId\n\t\t\t\t? hasFinishedResolution(\n\t\t\t\t\t\t'getEditedEntityRecord',\n\t\t\t\t\t\tgetEntityArgs\n\t\t\t\t )\n\t\t\t\t: false;\n\n\t\t\t// FIXME: @wordpress/block-library should not depend on @wordpress/editor.\n\t\t\t// Blocks can be loaded into a *non-post* block editor.\n\t\t\t// eslint-disable-next-line @wordpress/data-no-store-string-literals\n\t\t\tconst defaultWrapperElement = select( 'core/editor' )\n\t\t\t\t.__experimentalGetDefaultTemplatePartAreas()\n\t\t\t\t.find( ( { area: value } ) => value === _area )?.area_tag;\n\n\t\t\treturn {\n\t\t\t\tinnerBlocks: getBlocks( clientId ),\n\t\t\t\tisResolved: hasResolvedEntity,\n\t\t\t\tisMissing: hasResolvedEntity && isEmpty( entityRecord ),\n\t\t\t\tdefaultWrapper: defaultWrapperElement || 'div',\n\t\t\t\tarea: _area,\n\t\t\t\tenableSelection: _enableSelection,\n\t\t\t\thasResolvedReplacements: hasFinishedResolution(\n\t\t\t\t\t'getEntityRecords',\n\t\t\t\t\tavailableReplacementArgs\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ templatePartId, clientId ]\n\t);\n\n\tconst blockProps = useBlockProps();\n\tconst isPlaceholder = ! slug;\n\tconst isEntityAvailable = ! isPlaceholder && ! isMissing && isResolved;\n\tconst TagName = tagName || defaultWrapper;\n\n\t// We don't want to render a missing state if we have any inner blocks.\n\t// A new template part is automatically created if we have any inner blocks but no entity.\n\tif (\n\t\tinnerBlocks.length === 0 &&\n\t\t( ( slug && ! theme ) || ( slug && isMissing ) )\n\t) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t/* translators: %s: Template part slug */\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Template part has been deleted or is unavailable: %s'\n\t\t\t\t\t\t),\n\t\t\t\t\t\tslug\n\t\t\t\t\t) }\n\t\t\t\t</Warning>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\tif ( isEntityAvailable && hasAlreadyRendered ) {\n\t\treturn (\n\t\t\t<TagName { ...blockProps }>\n\t\t\t\t<Warning>\n\t\t\t\t\t{ __( 'Block cannot be rendered inside itself.' ) }\n\t\t\t\t</Warning>\n\t\t\t</TagName>\n\t\t);\n\t}\n\n\treturn (\n\t\t<RecursionProvider>\n\t\t\t<TemplatePartAdvancedControls\n\t\t\t\ttagName={ tagName }\n\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\tisEntityAvailable={ isEntityAvailable }\n\t\t\t\ttemplatePartId={ templatePartId }\n\t\t\t\tdefaultWrapper={ defaultWrapper }\n\t\t\t/>\n\t\t\t{ isPlaceholder && (\n\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t<TemplatePartPlaceholder\n\t\t\t\t\t\tarea={ attributes.area }\n\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\tenableSelection={ enableSelection }\n\t\t\t\t\t\thasResolvedReplacements={ hasResolvedReplacements }\n\t\t\t\t\t/>\n\t\t\t\t</TagName>\n\t\t\t) }\n\t\t\t{ isEntityAvailable && enableSelection && (\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<ToolbarGroup className=\"wp-block-template-part__block-control-group\">\n\t\t\t\t\t\t<Dropdown\n\t\t\t\t\t\t\tclassName=\"wp-block-template-part__preview-dropdown-button\"\n\t\t\t\t\t\t\tcontentClassName=\"wp-block-template-part__preview-dropdown-content\"\n\t\t\t\t\t\t\tposition=\"bottom right left\"\n\t\t\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __( 'Replace' ) }\n\t\t\t\t\t\t\t\t</ToolbarButton>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t\t\t\t<TemplatePartSelection\n\t\t\t\t\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\t\tarea={ area }\n\t\t\t\t\t\t\t\t\ttemplatePartId={ templatePartId }\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</ToolbarGroup>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t{ isEntityAvailable && (\n\t\t\t\t<TemplatePartInnerBlocks\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\ttagName={ TagName }\n\t\t\t\t\tblockProps={ blockProps }\n\t\t\t\t\tpostId={ templatePartId }\n\t\t\t\t\thasInnerBlocks={ innerBlocks.length > 0 }\n\t\t\t\t\tlayout={ layout }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ! isPlaceholder && ! isResolved && (\n\t\t\t\t<TagName { ...blockProps }>\n\t\t\t\t\t<Spinner />\n\t\t\t\t</TagName>\n\t\t\t) }\n\t\t</RecursionProvider>\n\t);\n}\n"]}
@@ -87,7 +87,7 @@ export default compose([withSelect((select, _ref2) => {
87
87
  } = block;
88
88
  const selectedBlockClientId = getSelectedBlockClientId();
89
89
  const totalInnerBlocks = innerBlocks.length - 1;
90
- const blockIndex = getBlockIndex(selectedBlockClientId, clientId);
90
+ const blockIndex = getBlockIndex(selectedBlockClientId);
91
91
  isLastInnerBlockSelected = totalInnerBlocks === blockIndex;
92
92
  }
93
93
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/group/edit.native.js"],"names":["View","withSelect","compose","withPreferredColorScheme","useResizeObserver","InnerBlocks","store","blockEditorStore","useCallback","alignmentHelpers","styles","isFullWidth","GroupEdit","attributes","hasInnerBlocks","isSelected","isLastInnerBlockSelected","getStylesFromColorScheme","style","blockWidth","align","resizeObserver","sizes","width","renderAppender","groupAppender","fullwidthGroupAppender","fullwidthHasInnerGroupAppender","groupPlaceholder","groupPlaceholderDark","marginVerticalDense","marginHorizontalNone","innerBlocks","backgroundColor","hasBackgroundAppender","select","clientId","getBlock","getBlockIndex","hasSelectedInnerBlock","getBlockRootClientId","getSelectedBlockClientId","getBlockAttributes","block","length","isInnerBlockSelected","selectedBlockClientId","totalInnerBlocks","blockIndex","parentId","parentBlockAlignment"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { withSelect } from '@wordpress/data';\nimport {\n\tcompose,\n\twithPreferredColorScheme,\n\tuseResizeObserver,\n} from '@wordpress/compose';\nimport {\n\tInnerBlocks,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useCallback } from '@wordpress/element';\nimport { alignmentHelpers } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport styles from './editor.scss';\n\nconst { isFullWidth } = alignmentHelpers;\n\nfunction GroupEdit( {\n\tattributes,\n\thasInnerBlocks,\n\tisSelected,\n\tisLastInnerBlockSelected,\n\tgetStylesFromColorScheme,\n\tstyle,\n\tblockWidth,\n} ) {\n\tconst { align } = attributes;\n\tconst [ resizeObserver, sizes ] = useResizeObserver();\n\tconst { width } = sizes || { width: 0 };\n\n\tconst renderAppender = useCallback(\n\t\t() => (\n\t\t\t<View\n\t\t\t\tstyle={ [\n\t\t\t\t\t! hasInnerBlocks && styles.groupAppender,\n\t\t\t\t\tisFullWidth( align ) &&\n\t\t\t\t\t\t! hasInnerBlocks &&\n\t\t\t\t\t\tstyles.fullwidthGroupAppender,\n\t\t\t\t\tisFullWidth( align ) &&\n\t\t\t\t\t\thasInnerBlocks &&\n\t\t\t\t\t\tstyles.fullwidthHasInnerGroupAppender,\n\t\t\t\t] }\n\t\t\t>\n\t\t\t\t<InnerBlocks.ButtonBlockAppender />\n\t\t\t</View>\n\t\t),\n\t\t[ align, hasInnerBlocks ]\n\t);\n\n\tif ( ! isSelected && ! hasInnerBlocks ) {\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.groupPlaceholder,\n\t\t\t\t\t\tstyles.groupPlaceholderDark\n\t\t\t\t\t),\n\t\t\t\t\t! hasInnerBlocks && {\n\t\t\t\t\t\t...styles.marginVerticalDense,\n\t\t\t\t\t\t...styles.marginHorizontalNone,\n\t\t\t\t\t},\n\t\t\t\t] }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<View\n\t\t\tstyle={ [\n\t\t\t\tisSelected && hasInnerBlocks && styles.innerBlocks,\n\t\t\t\tstyle,\n\t\t\t\tisSelected &&\n\t\t\t\t\thasInnerBlocks &&\n\t\t\t\t\tstyle?.backgroundColor &&\n\t\t\t\t\tstyles.hasBackgroundAppender,\n\t\t\t\tisLastInnerBlockSelected &&\n\t\t\t\t\tstyle?.backgroundColor &&\n\t\t\t\t\tstyles.isLastInnerBlockSelected,\n\t\t\t] }\n\t\t>\n\t\t\t{ resizeObserver }\n\t\t\t<InnerBlocks\n\t\t\t\trenderAppender={ isSelected && renderAppender }\n\t\t\t\tparentWidth={ width }\n\t\t\t\tblockWidth={ blockWidth }\n\t\t\t/>\n\t\t</View>\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst {\n\t\t\tgetBlock,\n\t\t\tgetBlockIndex,\n\t\t\thasSelectedInnerBlock,\n\t\t\tgetBlockRootClientId,\n\t\t\tgetSelectedBlockClientId,\n\t\t\tgetBlockAttributes,\n\t\t} = select( blockEditorStore );\n\n\t\tconst block = getBlock( clientId );\n\t\tconst hasInnerBlocks = !! ( block && block.innerBlocks.length );\n\t\tconst isInnerBlockSelected =\n\t\t\thasInnerBlocks && hasSelectedInnerBlock( clientId, true );\n\t\tlet isLastInnerBlockSelected = false;\n\n\t\tif ( isInnerBlockSelected ) {\n\t\t\tconst { innerBlocks } = block;\n\t\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\t\tconst totalInnerBlocks = innerBlocks.length - 1;\n\t\t\tconst blockIndex = getBlockIndex( selectedBlockClientId, clientId );\n\t\t\tisLastInnerBlockSelected = totalInnerBlocks === blockIndex;\n\t\t}\n\n\t\tconst parentId = getBlockRootClientId( clientId );\n\t\tconst parentBlockAlignment = getBlockAttributes( parentId )?.align;\n\n\t\treturn {\n\t\t\thasInnerBlocks,\n\t\t\tisLastInnerBlockSelected,\n\t\t\tparentBlockAlignment,\n\t\t};\n\t} ),\n\twithPreferredColorScheme,\n] )( GroupEdit );\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/group/edit.native.js"],"names":["View","withSelect","compose","withPreferredColorScheme","useResizeObserver","InnerBlocks","store","blockEditorStore","useCallback","alignmentHelpers","styles","isFullWidth","GroupEdit","attributes","hasInnerBlocks","isSelected","isLastInnerBlockSelected","getStylesFromColorScheme","style","blockWidth","align","resizeObserver","sizes","width","renderAppender","groupAppender","fullwidthGroupAppender","fullwidthHasInnerGroupAppender","groupPlaceholder","groupPlaceholderDark","marginVerticalDense","marginHorizontalNone","innerBlocks","backgroundColor","hasBackgroundAppender","select","clientId","getBlock","getBlockIndex","hasSelectedInnerBlock","getBlockRootClientId","getSelectedBlockClientId","getBlockAttributes","block","length","isInnerBlockSelected","selectedBlockClientId","totalInnerBlocks","blockIndex","parentId","parentBlockAlignment"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { View } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { withSelect } from '@wordpress/data';\nimport {\n\tcompose,\n\twithPreferredColorScheme,\n\tuseResizeObserver,\n} from '@wordpress/compose';\nimport {\n\tInnerBlocks,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { useCallback } from '@wordpress/element';\nimport { alignmentHelpers } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport styles from './editor.scss';\n\nconst { isFullWidth } = alignmentHelpers;\n\nfunction GroupEdit( {\n\tattributes,\n\thasInnerBlocks,\n\tisSelected,\n\tisLastInnerBlockSelected,\n\tgetStylesFromColorScheme,\n\tstyle,\n\tblockWidth,\n} ) {\n\tconst { align } = attributes;\n\tconst [ resizeObserver, sizes ] = useResizeObserver();\n\tconst { width } = sizes || { width: 0 };\n\n\tconst renderAppender = useCallback(\n\t\t() => (\n\t\t\t<View\n\t\t\t\tstyle={ [\n\t\t\t\t\t! hasInnerBlocks && styles.groupAppender,\n\t\t\t\t\tisFullWidth( align ) &&\n\t\t\t\t\t\t! hasInnerBlocks &&\n\t\t\t\t\t\tstyles.fullwidthGroupAppender,\n\t\t\t\t\tisFullWidth( align ) &&\n\t\t\t\t\t\thasInnerBlocks &&\n\t\t\t\t\t\tstyles.fullwidthHasInnerGroupAppender,\n\t\t\t\t] }\n\t\t\t>\n\t\t\t\t<InnerBlocks.ButtonBlockAppender />\n\t\t\t</View>\n\t\t),\n\t\t[ align, hasInnerBlocks ]\n\t);\n\n\tif ( ! isSelected && ! hasInnerBlocks ) {\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.groupPlaceholder,\n\t\t\t\t\t\tstyles.groupPlaceholderDark\n\t\t\t\t\t),\n\t\t\t\t\t! hasInnerBlocks && {\n\t\t\t\t\t\t...styles.marginVerticalDense,\n\t\t\t\t\t\t...styles.marginHorizontalNone,\n\t\t\t\t\t},\n\t\t\t\t] }\n\t\t\t/>\n\t\t);\n\t}\n\n\treturn (\n\t\t<View\n\t\t\tstyle={ [\n\t\t\t\tisSelected && hasInnerBlocks && styles.innerBlocks,\n\t\t\t\tstyle,\n\t\t\t\tisSelected &&\n\t\t\t\t\thasInnerBlocks &&\n\t\t\t\t\tstyle?.backgroundColor &&\n\t\t\t\t\tstyles.hasBackgroundAppender,\n\t\t\t\tisLastInnerBlockSelected &&\n\t\t\t\t\tstyle?.backgroundColor &&\n\t\t\t\t\tstyles.isLastInnerBlockSelected,\n\t\t\t] }\n\t\t>\n\t\t\t{ resizeObserver }\n\t\t\t<InnerBlocks\n\t\t\t\trenderAppender={ isSelected && renderAppender }\n\t\t\t\tparentWidth={ width }\n\t\t\t\tblockWidth={ blockWidth }\n\t\t\t/>\n\t\t</View>\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select, { clientId } ) => {\n\t\tconst {\n\t\t\tgetBlock,\n\t\t\tgetBlockIndex,\n\t\t\thasSelectedInnerBlock,\n\t\t\tgetBlockRootClientId,\n\t\t\tgetSelectedBlockClientId,\n\t\t\tgetBlockAttributes,\n\t\t} = select( blockEditorStore );\n\n\t\tconst block = getBlock( clientId );\n\t\tconst hasInnerBlocks = !! ( block && block.innerBlocks.length );\n\t\tconst isInnerBlockSelected =\n\t\t\thasInnerBlocks && hasSelectedInnerBlock( clientId, true );\n\t\tlet isLastInnerBlockSelected = false;\n\n\t\tif ( isInnerBlockSelected ) {\n\t\t\tconst { innerBlocks } = block;\n\t\t\tconst selectedBlockClientId = getSelectedBlockClientId();\n\t\t\tconst totalInnerBlocks = innerBlocks.length - 1;\n\t\t\tconst blockIndex = getBlockIndex( selectedBlockClientId );\n\t\t\tisLastInnerBlockSelected = totalInnerBlocks === blockIndex;\n\t\t}\n\n\t\tconst parentId = getBlockRootClientId( clientId );\n\t\tconst parentBlockAlignment = getBlockAttributes( parentId )?.align;\n\n\t\treturn {\n\t\t\thasInnerBlocks,\n\t\t\tisLastInnerBlockSelected,\n\t\t\tparentBlockAlignment,\n\t\t};\n\t} ),\n\twithPreferredColorScheme,\n] )( GroupEdit );\n"]}
@@ -38,8 +38,10 @@ const metadata = {
38
38
  },
39
39
  spacing: {
40
40
  padding: true,
41
+ blockGap: true,
41
42
  __experimentalDefaultControls: {
42
- padding: true
43
+ padding: true,
44
+ blockGap: true
43
45
  }
44
46
  },
45
47
  __experimentalBorder: {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/group/index.js"],"names":["__","createBlock","group","icon","deprecated","edit","save","variations","name","metadata","settings","example","attributes","style","color","text","background","innerBlocks","customTextColor","fontSize","content","transforms","from","type","isMultiBlock","blocks","__experimentalConvert","length","alignments","widestAlignment","reduce","accumulator","block","align","indexOf","undefined","groupInnerBlocks","map"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { createBlock } from '@wordpress/blocks';\nimport { group as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport variations from './variations';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tstyle: {\n\t\t\t\tcolor: {\n\t\t\t\t\ttext: '#000000',\n\t\t\t\t\tbackground: '#ffffff',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomTextColor: '#cf2e2e',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'One.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomTextColor: '#ff6900',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'Two.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomTextColor: '#fcb900',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'Three.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomTextColor: '#00d084',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'Four.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomTextColor: '#0693e3',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'Five.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomTextColor: '#9b51e0',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'Six.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\ttransforms: {\n\t\tfrom: [\n\t\t\t{\n\t\t\t\ttype: 'block',\n\t\t\t\tisMultiBlock: true,\n\t\t\t\tblocks: [ '*' ],\n\t\t\t\t__experimentalConvert( blocks ) {\n\t\t\t\t\t// Avoid transforming a single `core/group` Block\n\t\t\t\t\tif (\n\t\t\t\t\t\tblocks.length === 1 &&\n\t\t\t\t\t\tblocks[ 0 ].name === 'core/group'\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst alignments = [ 'wide', 'full' ];\n\n\t\t\t\t\t// Determine the widest setting of all the blocks to be grouped\n\t\t\t\t\tconst widestAlignment = blocks.reduce(\n\t\t\t\t\t\t( accumulator, block ) => {\n\t\t\t\t\t\t\tconst { align } = block.attributes;\n\t\t\t\t\t\t\treturn alignments.indexOf( align ) >\n\t\t\t\t\t\t\t\talignments.indexOf( accumulator )\n\t\t\t\t\t\t\t\t? align\n\t\t\t\t\t\t\t\t: accumulator;\n\t\t\t\t\t\t},\n\t\t\t\t\t\tundefined\n\t\t\t\t\t);\n\n\t\t\t\t\t// Clone the Blocks to be Grouped\n\t\t\t\t\t// Failing to create new block references causes the original blocks\n\t\t\t\t\t// to be replaced in the switchToBlockType call thereby meaning they\n\t\t\t\t\t// are removed both from their original location and within the\n\t\t\t\t\t// new group block.\n\t\t\t\t\tconst groupInnerBlocks = blocks.map( ( block ) => {\n\t\t\t\t\t\treturn createBlock(\n\t\t\t\t\t\t\tblock.name,\n\t\t\t\t\t\t\tblock.attributes,\n\t\t\t\t\t\t\tblock.innerBlocks\n\t\t\t\t\t\t);\n\t\t\t\t\t} );\n\n\t\t\t\t\treturn createBlock(\n\t\t\t\t\t\t'core/group',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\talign: widestAlignment,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tgroupInnerBlocks\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\tedit,\n\tsave,\n\tdeprecated,\n\tvariations,\n};\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/group/index.js"],"names":["__","createBlock","group","icon","deprecated","edit","save","variations","name","metadata","settings","example","attributes","style","color","text","background","innerBlocks","customTextColor","fontSize","content","transforms","from","type","isMultiBlock","blocks","__experimentalConvert","length","alignments","widestAlignment","reduce","accumulator","block","align","indexOf","undefined","groupInnerBlocks","map"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { createBlock } from '@wordpress/blocks';\nimport { group as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport variations from './variations';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tstyle: {\n\t\t\t\tcolor: {\n\t\t\t\t\ttext: '#000000',\n\t\t\t\t\tbackground: '#ffffff',\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomTextColor: '#cf2e2e',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'One.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomTextColor: '#ff6900',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'Two.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomTextColor: '#fcb900',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'Three.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomTextColor: '#00d084',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'Four.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomTextColor: '#0693e3',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'Five.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcustomTextColor: '#9b51e0',\n\t\t\t\t\tfontSize: 'large',\n\t\t\t\t\tcontent: __( 'Six.' ),\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\ttransforms: {\n\t\tfrom: [\n\t\t\t{\n\t\t\t\ttype: 'block',\n\t\t\t\tisMultiBlock: true,\n\t\t\t\tblocks: [ '*' ],\n\t\t\t\t__experimentalConvert( blocks ) {\n\t\t\t\t\t// Avoid transforming a single `core/group` Block\n\t\t\t\t\tif (\n\t\t\t\t\t\tblocks.length === 1 &&\n\t\t\t\t\t\tblocks[ 0 ].name === 'core/group'\n\t\t\t\t\t) {\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst alignments = [ 'wide', 'full' ];\n\n\t\t\t\t\t// Determine the widest setting of all the blocks to be grouped\n\t\t\t\t\tconst widestAlignment = blocks.reduce(\n\t\t\t\t\t\t( accumulator, block ) => {\n\t\t\t\t\t\t\tconst { align } = block.attributes;\n\t\t\t\t\t\t\treturn alignments.indexOf( align ) >\n\t\t\t\t\t\t\t\talignments.indexOf( accumulator )\n\t\t\t\t\t\t\t\t? align\n\t\t\t\t\t\t\t\t: accumulator;\n\t\t\t\t\t\t},\n\t\t\t\t\t\tundefined\n\t\t\t\t\t);\n\n\t\t\t\t\t// Clone the Blocks to be Grouped\n\t\t\t\t\t// Failing to create new block references causes the original blocks\n\t\t\t\t\t// to be replaced in the switchToBlockType call thereby meaning they\n\t\t\t\t\t// are removed both from their original location and within the\n\t\t\t\t\t// new group block.\n\t\t\t\t\tconst groupInnerBlocks = blocks.map( ( block ) => {\n\t\t\t\t\t\treturn createBlock(\n\t\t\t\t\t\t\tblock.name,\n\t\t\t\t\t\t\tblock.attributes,\n\t\t\t\t\t\t\tblock.innerBlocks\n\t\t\t\t\t\t);\n\t\t\t\t\t} );\n\n\t\t\t\t\treturn createBlock(\n\t\t\t\t\t\t'core/group',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\talign: widestAlignment,\n\t\t\t\t\t\t},\n\t\t\t\t\t\tgroupInnerBlocks\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\tedit,\n\tsave,\n\tdeprecated,\n\tvariations,\n};\n"]}
@@ -13,7 +13,7 @@ import { ExternalLink, PanelBody, ResizableBox, Spinner, TextareaControl, TextCo
13
13
  import { useViewportMatch, usePrevious } from '@wordpress/compose';
14
14
  import { useSelect, useDispatch } from '@wordpress/data';
15
15
  import { BlockControls, InspectorControls, RichText, __experimentalImageSizeControl as ImageSizeControl, __experimentalImageURLInputUI as ImageURLInputUI, MediaReplaceFlow, store as blockEditorStore, BlockAlignmentControl, __experimentalImageEditor as ImageEditor, __experimentalImageEditingProvider as ImageEditingProvider } from '@wordpress/block-editor';
16
- import { useEffect, useState, useRef } from '@wordpress/element';
16
+ import { useEffect, useMemo, useState, useRef } from '@wordpress/element';
17
17
  import { __, sprintf, isRTL } from '@wordpress/i18n';
18
18
  import { getFilename } from '@wordpress/url';
19
19
  import { createBlock, switchToBlockType } from '@wordpress/blocks';
@@ -33,6 +33,8 @@ import { isExternalImage } from './edit';
33
33
 
34
34
  import { MIN_SIZE, ALLOWED_MEDIA_TYPES } from './constants';
35
35
  export default function Image(_ref) {
36
+ var _imageRef$current3;
37
+
36
38
  let {
37
39
  temporaryURL,
38
40
  attributes: {
@@ -62,6 +64,7 @@ export default function Image(_ref) {
62
64
  context,
63
65
  clientId
64
66
  } = _ref;
67
+ const imageRef = useRef();
65
68
  const captionRef = useRef();
66
69
  const prevUrl = usePrevious(url);
67
70
  const {
@@ -116,9 +119,9 @@ export default function Image(_ref) {
116
119
  const isLargeViewport = useViewportMatch('medium');
117
120
  const isWideAligned = includes(['wide', 'full'], align);
118
121
  const [{
119
- naturalWidth,
120
- naturalHeight
121
- }, setNaturalSize] = useState({});
122
+ loadedNaturalWidth,
123
+ loadedNaturalHeight
124
+ }, setLoadedNaturalSize] = useState({});
122
125
  const [isEditingImage, setIsEditingImage] = useState(false);
123
126
  const [externalBlob, setExternalBlob] = useState();
124
127
  const clientWidth = useClientWidth(containerRef, [align]);
@@ -157,7 +160,22 @@ export default function Image(_ref) {
157
160
  if (url && !prevUrl && isSelected) {
158
161
  captionRef.current.focus();
159
162
  }
160
- }, [url, prevUrl]);
163
+ }, [url, prevUrl]); // Get naturalWidth and naturalHeight from image ref, and fall back to loaded natural
164
+ // width and height. This resolves an issue in Safari where the loaded natural
165
+ // witdth and height is otherwise lost when switching between alignments.
166
+ // See: https://github.com/WordPress/gutenberg/pull/37210.
167
+
168
+ const {
169
+ naturalWidth,
170
+ naturalHeight
171
+ } = useMemo(() => {
172
+ var _imageRef$current, _imageRef$current2;
173
+
174
+ return {
175
+ naturalWidth: ((_imageRef$current = imageRef.current) === null || _imageRef$current === void 0 ? void 0 : _imageRef$current.naturalWidth) || loadedNaturalWidth || undefined,
176
+ naturalHeight: ((_imageRef$current2 = imageRef.current) === null || _imageRef$current2 === void 0 ? void 0 : _imageRef$current2.naturalHeight) || loadedNaturalHeight || undefined
177
+ };
178
+ }, [loadedNaturalWidth, loadedNaturalHeight, (_imageRef$current3 = imageRef.current) === null || _imageRef$current3 === void 0 ? void 0 : _imageRef$current3.complete]);
161
179
 
162
180
  function onResizeStart() {
163
181
  toggleSelection(false);
@@ -351,8 +369,14 @@ export default function Image(_ref) {
351
369
  alt: defaultedAlt,
352
370
  onError: () => onImageError(),
353
371
  onLoad: event => {
354
- setNaturalSize(pick(event.target, ['naturalWidth', 'naturalHeight']));
355
- }
372
+ var _event$target, _event$target2;
373
+
374
+ setLoadedNaturalSize({
375
+ loadedNaturalWidth: (_event$target = event.target) === null || _event$target === void 0 ? void 0 : _event$target.naturalWidth,
376
+ loadedNaturalHeight: (_event$target2 = event.target) === null || _event$target2 === void 0 ? void 0 : _event$target2.naturalHeight
377
+ });
378
+ },
379
+ ref: imageRef
356
380
  }), temporaryURL && createElement(Spinner, null))
357
381
  /* eslint-enable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */
358
382
  ;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/image/image.js"],"names":["get","filter","map","pick","includes","isBlobURL","ExternalLink","PanelBody","ResizableBox","Spinner","TextareaControl","TextControl","ToolbarButton","useViewportMatch","usePrevious","useSelect","useDispatch","BlockControls","InspectorControls","RichText","__experimentalImageSizeControl","ImageSizeControl","__experimentalImageURLInputUI","ImageURLInputUI","MediaReplaceFlow","store","blockEditorStore","BlockAlignmentControl","__experimentalImageEditor","ImageEditor","__experimentalImageEditingProvider","ImageEditingProvider","useEffect","useState","useRef","__","sprintf","isRTL","getFilename","createBlock","switchToBlockType","crop","overlayText","upload","noticesStore","coreStore","createUpgradedEmbedBlock","useClientWidth","isExternalImage","MIN_SIZE","ALLOWED_MEDIA_TYPES","Image","temporaryURL","attributes","url","alt","caption","align","id","href","rel","linkClass","linkDestination","title","width","height","linkTarget","sizeSlug","setAttributes","isSelected","insertBlocksAfter","onReplace","onSelectImage","onSelectURL","onUploadError","containerRef","context","clientId","captionRef","prevUrl","allowResize","getBlock","image","multiImageSelection","select","getMedia","getMultiSelectedBlockClientIds","getBlockName","multiSelectedClientIds","length","every","_clientId","canInsertCover","imageEditing","imageSizes","maxWidth","mediaUpload","getBlockRootClientId","getSettings","canInsertBlockType","rootClientId","settings","replaceBlocks","toggleSelection","createErrorNotice","createSuccessNotice","isLargeViewport","isWideAligned","naturalWidth","naturalHeight","setNaturalSize","isEditingImage","setIsEditingImage","externalBlob","setExternalBlob","clientWidth","isResizable","imageSizeOptions","slug","name","value","label","window","fetch","then","response","blob","catch","current","focus","onResizeStart","onResizeStop","onImageError","embedBlock","undefined","onSetHref","props","onSetTitle","updateAlt","newAlt","updateImage","newSizeSlug","newUrl","uploadExternal","filesList","onFileChange","img","type","allowedTypes","onError","message","updateAlignment","nextAlign","extraUpdatedAttributes","canEditImage","allowCrop","switchToCover","controls","source_url","link","filename","defaultedAlt","event","target","imageWidthWithinContainer","imageHeightWithinContainer","exceedMaxWidth","ratio","currentWidth","currentHeight","minWidth","minHeight","maxWidthBuffer","showRightHandle","showLeftHandle","top","right","bottom","left","direction","elt","delta","parseInt","imageAttributes","isEmpty"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { get, filter, map, pick, includes } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport {\n\tExternalLink,\n\tPanelBody,\n\tResizableBox,\n\tSpinner,\n\tTextareaControl,\n\tTextControl,\n\tToolbarButton,\n} from '@wordpress/components';\nimport { useViewportMatch, usePrevious } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\t__experimentalImageSizeControl as ImageSizeControl,\n\t__experimentalImageURLInputUI as ImageURLInputUI,\n\tMediaReplaceFlow,\n\tstore as blockEditorStore,\n\tBlockAlignmentControl,\n\t__experimentalImageEditor as ImageEditor,\n\t__experimentalImageEditingProvider as ImageEditingProvider,\n} from '@wordpress/block-editor';\nimport { useEffect, useState, useRef } from '@wordpress/element';\nimport { __, sprintf, isRTL } from '@wordpress/i18n';\nimport { getFilename } from '@wordpress/url';\nimport { createBlock, switchToBlockType } from '@wordpress/blocks';\nimport { crop, overlayText, upload } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { createUpgradedEmbedBlock } from '../embed/util';\nimport useClientWidth from './use-client-width';\nimport { isExternalImage } from './edit';\n\n/**\n * Module constants\n */\nimport { MIN_SIZE, ALLOWED_MEDIA_TYPES } from './constants';\n\nexport default function Image( {\n\ttemporaryURL,\n\tattributes: {\n\t\turl = '',\n\t\talt,\n\t\tcaption,\n\t\talign,\n\t\tid,\n\t\thref,\n\t\trel,\n\t\tlinkClass,\n\t\tlinkDestination,\n\t\ttitle,\n\t\twidth,\n\t\theight,\n\t\tlinkTarget,\n\t\tsizeSlug,\n\t},\n\tsetAttributes,\n\tisSelected,\n\tinsertBlocksAfter,\n\tonReplace,\n\tonSelectImage,\n\tonSelectURL,\n\tonUploadError,\n\tcontainerRef,\n\tcontext,\n\tclientId,\n} ) {\n\tconst captionRef = useRef();\n\tconst prevUrl = usePrevious( url );\n\tconst { allowResize = true } = context;\n\tconst { getBlock } = useSelect( blockEditorStore );\n\n\tconst { image, multiImageSelection } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getMedia } = select( coreStore );\n\t\t\tconst { getMultiSelectedBlockClientIds, getBlockName } = select(\n\t\t\t\tblockEditorStore\n\t\t\t);\n\t\t\tconst multiSelectedClientIds = getMultiSelectedBlockClientIds();\n\t\t\treturn {\n\t\t\t\timage: id && isSelected ? getMedia( id ) : null,\n\t\t\t\tmultiImageSelection:\n\t\t\t\t\tmultiSelectedClientIds.length &&\n\t\t\t\t\tmultiSelectedClientIds.every(\n\t\t\t\t\t\t( _clientId ) =>\n\t\t\t\t\t\t\tgetBlockName( _clientId ) === 'core/image'\n\t\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ id, isSelected ]\n\t);\n\tconst {\n\t\tcanInsertCover,\n\t\timageEditing,\n\t\timageSizes,\n\t\tmaxWidth,\n\t\tmediaUpload,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetSettings,\n\t\t\t\tcanInsertBlockType,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\t\tconst settings = pick( getSettings(), [\n\t\t\t\t'imageEditing',\n\t\t\t\t'imageSizes',\n\t\t\t\t'maxWidth',\n\t\t\t\t'mediaUpload',\n\t\t\t] );\n\n\t\t\treturn {\n\t\t\t\t...settings,\n\t\t\t\tcanInsertCover: canInsertBlockType(\n\t\t\t\t\t'core/cover',\n\t\t\t\t\trootClientId\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst { replaceBlocks, toggleSelection } = useDispatch( blockEditorStore );\n\tconst { createErrorNotice, createSuccessNotice } = useDispatch(\n\t\tnoticesStore\n\t);\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst isWideAligned = includes( [ 'wide', 'full' ], align );\n\tconst [ { naturalWidth, naturalHeight }, setNaturalSize ] = useState( {} );\n\tconst [ isEditingImage, setIsEditingImage ] = useState( false );\n\tconst [ externalBlob, setExternalBlob ] = useState();\n\tconst clientWidth = useClientWidth( containerRef, [ align ] );\n\tconst isResizable = allowResize && ! ( isWideAligned && isLargeViewport );\n\tconst imageSizeOptions = map(\n\t\tfilter( imageSizes, ( { slug } ) =>\n\t\t\tget( image, [ 'media_details', 'sizes', slug, 'source_url' ] )\n\t\t),\n\t\t( { name, slug } ) => ( { value: slug, label: name } )\n\t);\n\n\t// If an image is externally hosted, try to fetch the image data. This may\n\t// fail if the image host doesn't allow CORS with the domain. If it works,\n\t// we can enable a button in the toolbar to upload the image.\n\tuseEffect( () => {\n\t\tif ( ! isExternalImage( id, url ) || ! isSelected || externalBlob ) {\n\t\t\treturn;\n\t\t}\n\n\t\twindow\n\t\t\t.fetch( url )\n\t\t\t.then( ( response ) => response.blob() )\n\t\t\t.then( ( blob ) => setExternalBlob( blob ) )\n\t\t\t// Do nothing, cannot upload.\n\t\t\t.catch( () => {} );\n\t}, [ id, url, isSelected, externalBlob ] );\n\n\t// Focus the caption after inserting an image from the placeholder. This is\n\t// done to preserve the behaviour of focussing the first tabbable element\n\t// when a block is mounted. Previously, the image block would remount when\n\t// the placeholder is removed. Maybe this behaviour could be removed.\n\tuseEffect( () => {\n\t\tif ( url && ! prevUrl && isSelected ) {\n\t\t\tcaptionRef.current.focus();\n\t\t}\n\t}, [ url, prevUrl ] );\n\n\tfunction onResizeStart() {\n\t\ttoggleSelection( false );\n\t}\n\n\tfunction onResizeStop() {\n\t\ttoggleSelection( true );\n\t}\n\n\tfunction onImageError() {\n\t\t// Check if there's an embed block that handles this URL.\n\t\tconst embedBlock = createUpgradedEmbedBlock( { attributes: { url } } );\n\t\tif ( undefined !== embedBlock ) {\n\t\t\tonReplace( embedBlock );\n\t\t}\n\t}\n\n\tfunction onSetHref( props ) {\n\t\tsetAttributes( props );\n\t}\n\n\tfunction onSetTitle( value ) {\n\t\t// This is the HTML title attribute, separate from the media object\n\t\t// title.\n\t\tsetAttributes( { title: value } );\n\t}\n\n\tfunction updateAlt( newAlt ) {\n\t\tsetAttributes( { alt: newAlt } );\n\t}\n\n\tfunction updateImage( newSizeSlug ) {\n\t\tconst newUrl = get( image, [\n\t\t\t'media_details',\n\t\t\t'sizes',\n\t\t\tnewSizeSlug,\n\t\t\t'source_url',\n\t\t] );\n\t\tif ( ! newUrl ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\turl: newUrl,\n\t\t\twidth: undefined,\n\t\t\theight: undefined,\n\t\t\tsizeSlug: newSizeSlug,\n\t\t} );\n\t}\n\n\tfunction uploadExternal() {\n\t\tmediaUpload( {\n\t\t\tfilesList: [ externalBlob ],\n\t\t\tonFileChange( [ img ] ) {\n\t\t\t\tonSelectImage( img );\n\n\t\t\t\tif ( isBlobURL( img.url ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tsetExternalBlob();\n\t\t\t\tcreateSuccessNotice( __( 'Image uploaded.' ), {\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t} );\n\t\t\t},\n\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\tonError( message ) {\n\t\t\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t\t\t},\n\t\t} );\n\t}\n\n\tfunction updateAlignment( nextAlign ) {\n\t\tconst extraUpdatedAttributes = [ 'wide', 'full' ].includes( nextAlign )\n\t\t\t? { width: undefined, height: undefined }\n\t\t\t: {};\n\t\tsetAttributes( {\n\t\t\t...extraUpdatedAttributes,\n\t\t\talign: nextAlign,\n\t\t} );\n\t}\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsEditingImage( false );\n\t\t}\n\t}, [ isSelected ] );\n\n\tconst canEditImage = id && naturalWidth && naturalHeight && imageEditing;\n\tconst allowCrop = ! multiImageSelection && canEditImage && ! isEditingImage;\n\n\tfunction switchToCover() {\n\t\treplaceBlocks(\n\t\t\tclientId,\n\t\t\tswitchToBlockType( getBlock( clientId ), 'core/cover' )\n\t\t);\n\t}\n\n\tconst controls = (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<BlockAlignmentControl\n\t\t\t\t\tvalue={ align }\n\t\t\t\t\tonChange={ updateAlignment }\n\t\t\t\t/>\n\t\t\t\t{ ! multiImageSelection && ! isEditingImage && (\n\t\t\t\t\t<ImageURLInputUI\n\t\t\t\t\t\turl={ href || '' }\n\t\t\t\t\t\tonChangeUrl={ onSetHref }\n\t\t\t\t\t\tlinkDestination={ linkDestination }\n\t\t\t\t\t\tmediaUrl={ ( image && image.source_url ) || url }\n\t\t\t\t\t\tmediaLink={ image && image.link }\n\t\t\t\t\t\tlinkTarget={ linkTarget }\n\t\t\t\t\t\tlinkClass={ linkClass }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ allowCrop && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tonClick={ () => setIsEditingImage( true ) }\n\t\t\t\t\t\ticon={ crop }\n\t\t\t\t\t\tlabel={ __( 'Crop' ) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ externalBlob && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tonClick={ uploadExternal }\n\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\tlabel={ __( 'Upload external image' ) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ! multiImageSelection && canInsertCover && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\ticon={ overlayText }\n\t\t\t\t\t\tlabel={ __( 'Add text over image' ) }\n\t\t\t\t\t\tonClick={ switchToCover }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t{ ! multiImageSelection && ! isEditingImage && (\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\tmediaId={ id }\n\t\t\t\t\t\tmediaURL={ url }\n\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Image settings' ) }>\n\t\t\t\t\t{ ! multiImageSelection && (\n\t\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\t\tlabel={ __( 'Alt text (alternative text)' ) }\n\t\t\t\t\t\t\tvalue={ alt }\n\t\t\t\t\t\t\tonChange={ updateAlt }\n\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/WAI/tutorials/images/decision-tree\">\n\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t'Describe the purpose of the image'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t'Leave empty if the image is purely decorative.'\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) }\n\t\t\t\t\t<ImageSizeControl\n\t\t\t\t\t\tonChangeImage={ updateImage }\n\t\t\t\t\t\tonChange={ ( value ) => setAttributes( value ) }\n\t\t\t\t\t\tslug={ sizeSlug }\n\t\t\t\t\t\twidth={ width }\n\t\t\t\t\t\theight={ height }\n\t\t\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t\t\t\tisResizable={ isResizable }\n\t\t\t\t\t\timageWidth={ naturalWidth }\n\t\t\t\t\t\timageHeight={ naturalHeight }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls __experimentalGroup=\"advanced\">\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ __( 'Title attribute' ) }\n\t\t\t\t\tvalue={ title || '' }\n\t\t\t\t\tonChange={ onSetTitle }\n\t\t\t\t\thelp={\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Describe the role of this image on the page.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/TR/html52/dom.html#the-title-attribute\">\n\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t'(Note: many devices and browsers do not display this text.)'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t</>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\n\tconst filename = getFilename( url );\n\tlet defaultedAlt;\n\n\tif ( alt ) {\n\t\tdefaultedAlt = alt;\n\t} else if ( filename ) {\n\t\tdefaultedAlt = sprintf(\n\t\t\t/* translators: %s: file name */\n\t\t\t__( 'This image has an empty alt attribute; its file name is %s' ),\n\t\t\tfilename\n\t\t);\n\t} else {\n\t\tdefaultedAlt = __( 'This image has an empty alt attribute' );\n\t}\n\n\tlet img = (\n\t\t// Disable reason: Image itself is not meant to be interactive, but\n\t\t// should direct focus to block.\n\t\t/* eslint-disable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t<>\n\t\t\t<img\n\t\t\t\tsrc={ temporaryURL || url }\n\t\t\t\talt={ defaultedAlt }\n\t\t\t\tonError={ () => onImageError() }\n\t\t\t\tonLoad={ ( event ) => {\n\t\t\t\t\tsetNaturalSize(\n\t\t\t\t\t\tpick( event.target, [\n\t\t\t\t\t\t\t'naturalWidth',\n\t\t\t\t\t\t\t'naturalHeight',\n\t\t\t\t\t\t] )\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t{ temporaryURL && <Spinner /> }\n\t\t</>\n\t\t/* eslint-enable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t);\n\n\tlet imageWidthWithinContainer;\n\tlet imageHeightWithinContainer;\n\n\tif ( clientWidth && naturalWidth && naturalHeight ) {\n\t\tconst exceedMaxWidth = naturalWidth > clientWidth;\n\t\tconst ratio = naturalHeight / naturalWidth;\n\t\timageWidthWithinContainer = exceedMaxWidth ? clientWidth : naturalWidth;\n\t\timageHeightWithinContainer = exceedMaxWidth\n\t\t\t? clientWidth * ratio\n\t\t\t: naturalHeight;\n\t}\n\n\tif ( canEditImage && isEditingImage ) {\n\t\timg = (\n\t\t\t<ImageEditor\n\t\t\t\turl={ url }\n\t\t\t\twidth={ width }\n\t\t\t\theight={ height }\n\t\t\t\tclientWidth={ clientWidth }\n\t\t\t\tnaturalHeight={ naturalHeight }\n\t\t\t\tnaturalWidth={ naturalWidth }\n\t\t\t/>\n\t\t);\n\t} else if ( ! isResizable || ! imageWidthWithinContainer ) {\n\t\timg = <div style={ { width, height } }>{ img }</div>;\n\t} else {\n\t\tconst currentWidth = width || imageWidthWithinContainer;\n\t\tconst currentHeight = height || imageHeightWithinContainer;\n\n\t\tconst ratio = naturalWidth / naturalHeight;\n\t\tconst minWidth =\n\t\t\tnaturalWidth < naturalHeight ? MIN_SIZE : MIN_SIZE * ratio;\n\t\tconst minHeight =\n\t\t\tnaturalHeight < naturalWidth ? MIN_SIZE : MIN_SIZE / ratio;\n\n\t\t// With the current implementation of ResizableBox, an image needs an\n\t\t// explicit pixel value for the max-width. In absence of being able to\n\t\t// set the content-width, this max-width is currently dictated by the\n\t\t// vanilla editor style. The following variable adds a buffer to this\n\t\t// vanilla style, so 3rd party themes have some wiggleroom. This does,\n\t\t// in most cases, allow you to scale the image beyond the width of the\n\t\t// main column, though not infinitely.\n\t\t// @todo It would be good to revisit this once a content-width variable\n\t\t// becomes available.\n\t\tconst maxWidthBuffer = maxWidth * 2.5;\n\n\t\tlet showRightHandle = false;\n\t\tlet showLeftHandle = false;\n\n\t\t/* eslint-disable no-lonely-if */\n\t\t// See https://github.com/WordPress/gutenberg/issues/7584.\n\t\tif ( align === 'center' ) {\n\t\t\t// When the image is centered, show both handles.\n\t\t\tshowRightHandle = true;\n\t\t\tshowLeftHandle = true;\n\t\t} else if ( isRTL() ) {\n\t\t\t// In RTL mode the image is on the right by default.\n\t\t\t// Show the right handle and hide the left handle only when it is\n\t\t\t// aligned left. Otherwise always show the left handle.\n\t\t\tif ( align === 'left' ) {\n\t\t\t\tshowRightHandle = true;\n\t\t\t} else {\n\t\t\t\tshowLeftHandle = true;\n\t\t\t}\n\t\t} else {\n\t\t\t// Show the left handle and hide the right handle only when the\n\t\t\t// image is aligned right. Otherwise always show the right handle.\n\t\t\tif ( align === 'right' ) {\n\t\t\t\tshowLeftHandle = true;\n\t\t\t} else {\n\t\t\t\tshowRightHandle = true;\n\t\t\t}\n\t\t}\n\t\t/* eslint-enable no-lonely-if */\n\n\t\timg = (\n\t\t\t<ResizableBox\n\t\t\t\tsize={ {\n\t\t\t\t\twidth: width ?? 'auto',\n\t\t\t\t\theight: height ?? 'auto',\n\t\t\t\t} }\n\t\t\t\tshowHandle={ isSelected }\n\t\t\t\tminWidth={ minWidth }\n\t\t\t\tmaxWidth={ maxWidthBuffer }\n\t\t\t\tminHeight={ minHeight }\n\t\t\t\tmaxHeight={ maxWidthBuffer / ratio }\n\t\t\t\tlockAspectRatio\n\t\t\t\tenable={ {\n\t\t\t\t\ttop: false,\n\t\t\t\t\tright: showRightHandle,\n\t\t\t\t\tbottom: true,\n\t\t\t\t\tleft: showLeftHandle,\n\t\t\t\t} }\n\t\t\t\tonResizeStart={ onResizeStart }\n\t\t\t\tonResizeStop={ ( event, direction, elt, delta ) => {\n\t\t\t\t\tonResizeStop();\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: parseInt( currentWidth + delta.width, 10 ),\n\t\t\t\t\t\theight: parseInt( currentHeight + delta.height, 10 ),\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ img }\n\t\t\t</ResizableBox>\n\t\t);\n\t}\n\n\treturn (\n\t\t<ImageEditingProvider\n\t\t\tid={ id }\n\t\t\turl={ url }\n\t\t\tnaturalWidth={ naturalWidth }\n\t\t\tnaturalHeight={ naturalHeight }\n\t\t\tclientWidth={ clientWidth }\n\t\t\tonSaveImage={ ( imageAttributes ) =>\n\t\t\t\tsetAttributes( imageAttributes )\n\t\t\t}\n\t\t\tisEditing={ isEditingImage }\n\t\t\tonFinishEditing={ () => setIsEditingImage( false ) }\n\t\t>\n\t\t\t{ /* Hide controls during upload to avoid component remount,\n\t\t\t\twhich causes duplicated image upload. */ }\n\t\t\t{ ! temporaryURL && controls }\n\t\t\t{ img }\n\t\t\t{ ( ! RichText.isEmpty( caption ) || isSelected ) && (\n\t\t\t\t<RichText\n\t\t\t\t\tref={ captionRef }\n\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\taria-label={ __( 'Image caption text' ) }\n\t\t\t\t\tplaceholder={ __( 'Add caption' ) }\n\t\t\t\t\tvalue={ caption }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { caption: value } )\n\t\t\t\t\t}\n\t\t\t\t\tinlineToolbar\n\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\tinsertBlocksAfter( createBlock( 'core/paragraph' ) )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t</ImageEditingProvider>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/image/image.js"],"names":["get","filter","map","pick","includes","isBlobURL","ExternalLink","PanelBody","ResizableBox","Spinner","TextareaControl","TextControl","ToolbarButton","useViewportMatch","usePrevious","useSelect","useDispatch","BlockControls","InspectorControls","RichText","__experimentalImageSizeControl","ImageSizeControl","__experimentalImageURLInputUI","ImageURLInputUI","MediaReplaceFlow","store","blockEditorStore","BlockAlignmentControl","__experimentalImageEditor","ImageEditor","__experimentalImageEditingProvider","ImageEditingProvider","useEffect","useMemo","useState","useRef","__","sprintf","isRTL","getFilename","createBlock","switchToBlockType","crop","overlayText","upload","noticesStore","coreStore","createUpgradedEmbedBlock","useClientWidth","isExternalImage","MIN_SIZE","ALLOWED_MEDIA_TYPES","Image","temporaryURL","attributes","url","alt","caption","align","id","href","rel","linkClass","linkDestination","title","width","height","linkTarget","sizeSlug","setAttributes","isSelected","insertBlocksAfter","onReplace","onSelectImage","onSelectURL","onUploadError","containerRef","context","clientId","imageRef","captionRef","prevUrl","allowResize","getBlock","image","multiImageSelection","select","getMedia","getMultiSelectedBlockClientIds","getBlockName","multiSelectedClientIds","length","every","_clientId","canInsertCover","imageEditing","imageSizes","maxWidth","mediaUpload","getBlockRootClientId","getSettings","canInsertBlockType","rootClientId","settings","replaceBlocks","toggleSelection","createErrorNotice","createSuccessNotice","isLargeViewport","isWideAligned","loadedNaturalWidth","loadedNaturalHeight","setLoadedNaturalSize","isEditingImage","setIsEditingImage","externalBlob","setExternalBlob","clientWidth","isResizable","imageSizeOptions","slug","name","value","label","window","fetch","then","response","blob","catch","current","focus","naturalWidth","naturalHeight","undefined","complete","onResizeStart","onResizeStop","onImageError","embedBlock","onSetHref","props","onSetTitle","updateAlt","newAlt","updateImage","newSizeSlug","newUrl","uploadExternal","filesList","onFileChange","img","type","allowedTypes","onError","message","updateAlignment","nextAlign","extraUpdatedAttributes","canEditImage","allowCrop","switchToCover","controls","source_url","link","filename","defaultedAlt","event","target","imageWidthWithinContainer","imageHeightWithinContainer","exceedMaxWidth","ratio","currentWidth","currentHeight","minWidth","minHeight","maxWidthBuffer","showRightHandle","showLeftHandle","top","right","bottom","left","direction","elt","delta","parseInt","imageAttributes","isEmpty"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { get, filter, map, pick, includes } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport {\n\tExternalLink,\n\tPanelBody,\n\tResizableBox,\n\tSpinner,\n\tTextareaControl,\n\tTextControl,\n\tToolbarButton,\n} from '@wordpress/components';\nimport { useViewportMatch, usePrevious } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tRichText,\n\t__experimentalImageSizeControl as ImageSizeControl,\n\t__experimentalImageURLInputUI as ImageURLInputUI,\n\tMediaReplaceFlow,\n\tstore as blockEditorStore,\n\tBlockAlignmentControl,\n\t__experimentalImageEditor as ImageEditor,\n\t__experimentalImageEditingProvider as ImageEditingProvider,\n} from '@wordpress/block-editor';\nimport { useEffect, useMemo, useState, useRef } from '@wordpress/element';\nimport { __, sprintf, isRTL } from '@wordpress/i18n';\nimport { getFilename } from '@wordpress/url';\nimport { createBlock, switchToBlockType } from '@wordpress/blocks';\nimport { crop, overlayText, upload } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { createUpgradedEmbedBlock } from '../embed/util';\nimport useClientWidth from './use-client-width';\nimport { isExternalImage } from './edit';\n\n/**\n * Module constants\n */\nimport { MIN_SIZE, ALLOWED_MEDIA_TYPES } from './constants';\n\nexport default function Image( {\n\ttemporaryURL,\n\tattributes: {\n\t\turl = '',\n\t\talt,\n\t\tcaption,\n\t\talign,\n\t\tid,\n\t\thref,\n\t\trel,\n\t\tlinkClass,\n\t\tlinkDestination,\n\t\ttitle,\n\t\twidth,\n\t\theight,\n\t\tlinkTarget,\n\t\tsizeSlug,\n\t},\n\tsetAttributes,\n\tisSelected,\n\tinsertBlocksAfter,\n\tonReplace,\n\tonSelectImage,\n\tonSelectURL,\n\tonUploadError,\n\tcontainerRef,\n\tcontext,\n\tclientId,\n} ) {\n\tconst imageRef = useRef();\n\tconst captionRef = useRef();\n\tconst prevUrl = usePrevious( url );\n\tconst { allowResize = true } = context;\n\tconst { getBlock } = useSelect( blockEditorStore );\n\n\tconst { image, multiImageSelection } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getMedia } = select( coreStore );\n\t\t\tconst { getMultiSelectedBlockClientIds, getBlockName } = select(\n\t\t\t\tblockEditorStore\n\t\t\t);\n\t\t\tconst multiSelectedClientIds = getMultiSelectedBlockClientIds();\n\t\t\treturn {\n\t\t\t\timage: id && isSelected ? getMedia( id ) : null,\n\t\t\t\tmultiImageSelection:\n\t\t\t\t\tmultiSelectedClientIds.length &&\n\t\t\t\t\tmultiSelectedClientIds.every(\n\t\t\t\t\t\t( _clientId ) =>\n\t\t\t\t\t\t\tgetBlockName( _clientId ) === 'core/image'\n\t\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ id, isSelected ]\n\t);\n\tconst {\n\t\tcanInsertCover,\n\t\timageEditing,\n\t\timageSizes,\n\t\tmaxWidth,\n\t\tmediaUpload,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetSettings,\n\t\t\t\tcanInsertBlockType,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tconst rootClientId = getBlockRootClientId( clientId );\n\t\t\tconst settings = pick( getSettings(), [\n\t\t\t\t'imageEditing',\n\t\t\t\t'imageSizes',\n\t\t\t\t'maxWidth',\n\t\t\t\t'mediaUpload',\n\t\t\t] );\n\n\t\t\treturn {\n\t\t\t\t...settings,\n\t\t\t\tcanInsertCover: canInsertBlockType(\n\t\t\t\t\t'core/cover',\n\t\t\t\t\trootClientId\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst { replaceBlocks, toggleSelection } = useDispatch( blockEditorStore );\n\tconst { createErrorNotice, createSuccessNotice } = useDispatch(\n\t\tnoticesStore\n\t);\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst isWideAligned = includes( [ 'wide', 'full' ], align );\n\tconst [\n\t\t{ loadedNaturalWidth, loadedNaturalHeight },\n\t\tsetLoadedNaturalSize,\n\t] = useState( {} );\n\tconst [ isEditingImage, setIsEditingImage ] = useState( false );\n\tconst [ externalBlob, setExternalBlob ] = useState();\n\tconst clientWidth = useClientWidth( containerRef, [ align ] );\n\tconst isResizable = allowResize && ! ( isWideAligned && isLargeViewport );\n\tconst imageSizeOptions = map(\n\t\tfilter( imageSizes, ( { slug } ) =>\n\t\t\tget( image, [ 'media_details', 'sizes', slug, 'source_url' ] )\n\t\t),\n\t\t( { name, slug } ) => ( { value: slug, label: name } )\n\t);\n\n\t// If an image is externally hosted, try to fetch the image data. This may\n\t// fail if the image host doesn't allow CORS with the domain. If it works,\n\t// we can enable a button in the toolbar to upload the image.\n\tuseEffect( () => {\n\t\tif ( ! isExternalImage( id, url ) || ! isSelected || externalBlob ) {\n\t\t\treturn;\n\t\t}\n\n\t\twindow\n\t\t\t.fetch( url )\n\t\t\t.then( ( response ) => response.blob() )\n\t\t\t.then( ( blob ) => setExternalBlob( blob ) )\n\t\t\t// Do nothing, cannot upload.\n\t\t\t.catch( () => {} );\n\t}, [ id, url, isSelected, externalBlob ] );\n\n\t// Focus the caption after inserting an image from the placeholder. This is\n\t// done to preserve the behaviour of focussing the first tabbable element\n\t// when a block is mounted. Previously, the image block would remount when\n\t// the placeholder is removed. Maybe this behaviour could be removed.\n\tuseEffect( () => {\n\t\tif ( url && ! prevUrl && isSelected ) {\n\t\t\tcaptionRef.current.focus();\n\t\t}\n\t}, [ url, prevUrl ] );\n\n\t// Get naturalWidth and naturalHeight from image ref, and fall back to loaded natural\n\t// width and height. This resolves an issue in Safari where the loaded natural\n\t// witdth and height is otherwise lost when switching between alignments.\n\t// See: https://github.com/WordPress/gutenberg/pull/37210.\n\tconst { naturalWidth, naturalHeight } = useMemo( () => {\n\t\treturn {\n\t\t\tnaturalWidth:\n\t\t\t\timageRef.current?.naturalWidth ||\n\t\t\t\tloadedNaturalWidth ||\n\t\t\t\tundefined,\n\t\t\tnaturalHeight:\n\t\t\t\timageRef.current?.naturalHeight ||\n\t\t\t\tloadedNaturalHeight ||\n\t\t\t\tundefined,\n\t\t};\n\t}, [\n\t\tloadedNaturalWidth,\n\t\tloadedNaturalHeight,\n\t\timageRef.current?.complete,\n\t] );\n\n\tfunction onResizeStart() {\n\t\ttoggleSelection( false );\n\t}\n\n\tfunction onResizeStop() {\n\t\ttoggleSelection( true );\n\t}\n\n\tfunction onImageError() {\n\t\t// Check if there's an embed block that handles this URL.\n\t\tconst embedBlock = createUpgradedEmbedBlock( { attributes: { url } } );\n\t\tif ( undefined !== embedBlock ) {\n\t\t\tonReplace( embedBlock );\n\t\t}\n\t}\n\n\tfunction onSetHref( props ) {\n\t\tsetAttributes( props );\n\t}\n\n\tfunction onSetTitle( value ) {\n\t\t// This is the HTML title attribute, separate from the media object\n\t\t// title.\n\t\tsetAttributes( { title: value } );\n\t}\n\n\tfunction updateAlt( newAlt ) {\n\t\tsetAttributes( { alt: newAlt } );\n\t}\n\n\tfunction updateImage( newSizeSlug ) {\n\t\tconst newUrl = get( image, [\n\t\t\t'media_details',\n\t\t\t'sizes',\n\t\t\tnewSizeSlug,\n\t\t\t'source_url',\n\t\t] );\n\t\tif ( ! newUrl ) {\n\t\t\treturn null;\n\t\t}\n\n\t\tsetAttributes( {\n\t\t\turl: newUrl,\n\t\t\twidth: undefined,\n\t\t\theight: undefined,\n\t\t\tsizeSlug: newSizeSlug,\n\t\t} );\n\t}\n\n\tfunction uploadExternal() {\n\t\tmediaUpload( {\n\t\t\tfilesList: [ externalBlob ],\n\t\t\tonFileChange( [ img ] ) {\n\t\t\t\tonSelectImage( img );\n\n\t\t\t\tif ( isBlobURL( img.url ) ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tsetExternalBlob();\n\t\t\t\tcreateSuccessNotice( __( 'Image uploaded.' ), {\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t} );\n\t\t\t},\n\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\tonError( message ) {\n\t\t\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t\t\t},\n\t\t} );\n\t}\n\n\tfunction updateAlignment( nextAlign ) {\n\t\tconst extraUpdatedAttributes = [ 'wide', 'full' ].includes( nextAlign )\n\t\t\t? { width: undefined, height: undefined }\n\t\t\t: {};\n\t\tsetAttributes( {\n\t\t\t...extraUpdatedAttributes,\n\t\t\talign: nextAlign,\n\t\t} );\n\t}\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsEditingImage( false );\n\t\t}\n\t}, [ isSelected ] );\n\n\tconst canEditImage = id && naturalWidth && naturalHeight && imageEditing;\n\tconst allowCrop = ! multiImageSelection && canEditImage && ! isEditingImage;\n\n\tfunction switchToCover() {\n\t\treplaceBlocks(\n\t\t\tclientId,\n\t\t\tswitchToBlockType( getBlock( clientId ), 'core/cover' )\n\t\t);\n\t}\n\n\tconst controls = (\n\t\t<>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t<BlockAlignmentControl\n\t\t\t\t\tvalue={ align }\n\t\t\t\t\tonChange={ updateAlignment }\n\t\t\t\t/>\n\t\t\t\t{ ! multiImageSelection && ! isEditingImage && (\n\t\t\t\t\t<ImageURLInputUI\n\t\t\t\t\t\turl={ href || '' }\n\t\t\t\t\t\tonChangeUrl={ onSetHref }\n\t\t\t\t\t\tlinkDestination={ linkDestination }\n\t\t\t\t\t\tmediaUrl={ ( image && image.source_url ) || url }\n\t\t\t\t\t\tmediaLink={ image && image.link }\n\t\t\t\t\t\tlinkTarget={ linkTarget }\n\t\t\t\t\t\tlinkClass={ linkClass }\n\t\t\t\t\t\trel={ rel }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ allowCrop && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tonClick={ () => setIsEditingImage( true ) }\n\t\t\t\t\t\ticon={ crop }\n\t\t\t\t\t\tlabel={ __( 'Crop' ) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ externalBlob && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tonClick={ uploadExternal }\n\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\tlabel={ __( 'Upload external image' ) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ! multiImageSelection && canInsertCover && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\ticon={ overlayText }\n\t\t\t\t\t\tlabel={ __( 'Add text over image' ) }\n\t\t\t\t\t\tonClick={ switchToCover }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t{ ! multiImageSelection && ! isEditingImage && (\n\t\t\t\t<BlockControls group=\"other\">\n\t\t\t\t\t<MediaReplaceFlow\n\t\t\t\t\t\tmediaId={ id }\n\t\t\t\t\t\tmediaURL={ url }\n\t\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\t\taccept=\"image/*\"\n\t\t\t\t\t\tonSelect={ onSelectImage }\n\t\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Image settings' ) }>\n\t\t\t\t\t{ ! multiImageSelection && (\n\t\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\t\tlabel={ __( 'Alt text (alternative text)' ) }\n\t\t\t\t\t\t\tvalue={ alt }\n\t\t\t\t\t\t\tonChange={ updateAlt }\n\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/WAI/tutorials/images/decision-tree\">\n\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t'Describe the purpose of the image'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t'Leave empty if the image is purely decorative.'\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) }\n\t\t\t\t\t<ImageSizeControl\n\t\t\t\t\t\tonChangeImage={ updateImage }\n\t\t\t\t\t\tonChange={ ( value ) => setAttributes( value ) }\n\t\t\t\t\t\tslug={ sizeSlug }\n\t\t\t\t\t\twidth={ width }\n\t\t\t\t\t\theight={ height }\n\t\t\t\t\t\timageSizeOptions={ imageSizeOptions }\n\t\t\t\t\t\tisResizable={ isResizable }\n\t\t\t\t\t\timageWidth={ naturalWidth }\n\t\t\t\t\t\timageHeight={ naturalHeight }\n\t\t\t\t\t/>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls __experimentalGroup=\"advanced\">\n\t\t\t\t<TextControl\n\t\t\t\t\tlabel={ __( 'Title attribute' ) }\n\t\t\t\t\tvalue={ title || '' }\n\t\t\t\t\tonChange={ onSetTitle }\n\t\t\t\t\thelp={\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Describe the role of this image on the page.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<ExternalLink href=\"https://www.w3.org/TR/html52/dom.html#the-title-attribute\">\n\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t'(Note: many devices and browsers do not display this text.)'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t</>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t</>\n\t);\n\n\tconst filename = getFilename( url );\n\tlet defaultedAlt;\n\n\tif ( alt ) {\n\t\tdefaultedAlt = alt;\n\t} else if ( filename ) {\n\t\tdefaultedAlt = sprintf(\n\t\t\t/* translators: %s: file name */\n\t\t\t__( 'This image has an empty alt attribute; its file name is %s' ),\n\t\t\tfilename\n\t\t);\n\t} else {\n\t\tdefaultedAlt = __( 'This image has an empty alt attribute' );\n\t}\n\n\tlet img = (\n\t\t// Disable reason: Image itself is not meant to be interactive, but\n\t\t// should direct focus to block.\n\t\t/* eslint-disable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t<>\n\t\t\t<img\n\t\t\t\tsrc={ temporaryURL || url }\n\t\t\t\talt={ defaultedAlt }\n\t\t\t\tonError={ () => onImageError() }\n\t\t\t\tonLoad={ ( event ) => {\n\t\t\t\t\tsetLoadedNaturalSize( {\n\t\t\t\t\t\tloadedNaturalWidth: event.target?.naturalWidth,\n\t\t\t\t\t\tloadedNaturalHeight: event.target?.naturalHeight,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tref={ imageRef }\n\t\t\t/>\n\t\t\t{ temporaryURL && <Spinner /> }\n\t\t</>\n\t\t/* eslint-enable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t);\n\n\tlet imageWidthWithinContainer;\n\tlet imageHeightWithinContainer;\n\n\tif ( clientWidth && naturalWidth && naturalHeight ) {\n\t\tconst exceedMaxWidth = naturalWidth > clientWidth;\n\t\tconst ratio = naturalHeight / naturalWidth;\n\t\timageWidthWithinContainer = exceedMaxWidth ? clientWidth : naturalWidth;\n\t\timageHeightWithinContainer = exceedMaxWidth\n\t\t\t? clientWidth * ratio\n\t\t\t: naturalHeight;\n\t}\n\n\tif ( canEditImage && isEditingImage ) {\n\t\timg = (\n\t\t\t<ImageEditor\n\t\t\t\turl={ url }\n\t\t\t\twidth={ width }\n\t\t\t\theight={ height }\n\t\t\t\tclientWidth={ clientWidth }\n\t\t\t\tnaturalHeight={ naturalHeight }\n\t\t\t\tnaturalWidth={ naturalWidth }\n\t\t\t/>\n\t\t);\n\t} else if ( ! isResizable || ! imageWidthWithinContainer ) {\n\t\timg = <div style={ { width, height } }>{ img }</div>;\n\t} else {\n\t\tconst currentWidth = width || imageWidthWithinContainer;\n\t\tconst currentHeight = height || imageHeightWithinContainer;\n\n\t\tconst ratio = naturalWidth / naturalHeight;\n\t\tconst minWidth =\n\t\t\tnaturalWidth < naturalHeight ? MIN_SIZE : MIN_SIZE * ratio;\n\t\tconst minHeight =\n\t\t\tnaturalHeight < naturalWidth ? MIN_SIZE : MIN_SIZE / ratio;\n\n\t\t// With the current implementation of ResizableBox, an image needs an\n\t\t// explicit pixel value for the max-width. In absence of being able to\n\t\t// set the content-width, this max-width is currently dictated by the\n\t\t// vanilla editor style. The following variable adds a buffer to this\n\t\t// vanilla style, so 3rd party themes have some wiggleroom. This does,\n\t\t// in most cases, allow you to scale the image beyond the width of the\n\t\t// main column, though not infinitely.\n\t\t// @todo It would be good to revisit this once a content-width variable\n\t\t// becomes available.\n\t\tconst maxWidthBuffer = maxWidth * 2.5;\n\n\t\tlet showRightHandle = false;\n\t\tlet showLeftHandle = false;\n\n\t\t/* eslint-disable no-lonely-if */\n\t\t// See https://github.com/WordPress/gutenberg/issues/7584.\n\t\tif ( align === 'center' ) {\n\t\t\t// When the image is centered, show both handles.\n\t\t\tshowRightHandle = true;\n\t\t\tshowLeftHandle = true;\n\t\t} else if ( isRTL() ) {\n\t\t\t// In RTL mode the image is on the right by default.\n\t\t\t// Show the right handle and hide the left handle only when it is\n\t\t\t// aligned left. Otherwise always show the left handle.\n\t\t\tif ( align === 'left' ) {\n\t\t\t\tshowRightHandle = true;\n\t\t\t} else {\n\t\t\t\tshowLeftHandle = true;\n\t\t\t}\n\t\t} else {\n\t\t\t// Show the left handle and hide the right handle only when the\n\t\t\t// image is aligned right. Otherwise always show the right handle.\n\t\t\tif ( align === 'right' ) {\n\t\t\t\tshowLeftHandle = true;\n\t\t\t} else {\n\t\t\t\tshowRightHandle = true;\n\t\t\t}\n\t\t}\n\t\t/* eslint-enable no-lonely-if */\n\n\t\timg = (\n\t\t\t<ResizableBox\n\t\t\t\tsize={ {\n\t\t\t\t\twidth: width ?? 'auto',\n\t\t\t\t\theight: height ?? 'auto',\n\t\t\t\t} }\n\t\t\t\tshowHandle={ isSelected }\n\t\t\t\tminWidth={ minWidth }\n\t\t\t\tmaxWidth={ maxWidthBuffer }\n\t\t\t\tminHeight={ minHeight }\n\t\t\t\tmaxHeight={ maxWidthBuffer / ratio }\n\t\t\t\tlockAspectRatio\n\t\t\t\tenable={ {\n\t\t\t\t\ttop: false,\n\t\t\t\t\tright: showRightHandle,\n\t\t\t\t\tbottom: true,\n\t\t\t\t\tleft: showLeftHandle,\n\t\t\t\t} }\n\t\t\t\tonResizeStart={ onResizeStart }\n\t\t\t\tonResizeStop={ ( event, direction, elt, delta ) => {\n\t\t\t\t\tonResizeStop();\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: parseInt( currentWidth + delta.width, 10 ),\n\t\t\t\t\t\theight: parseInt( currentHeight + delta.height, 10 ),\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ img }\n\t\t\t</ResizableBox>\n\t\t);\n\t}\n\n\treturn (\n\t\t<ImageEditingProvider\n\t\t\tid={ id }\n\t\t\turl={ url }\n\t\t\tnaturalWidth={ naturalWidth }\n\t\t\tnaturalHeight={ naturalHeight }\n\t\t\tclientWidth={ clientWidth }\n\t\t\tonSaveImage={ ( imageAttributes ) =>\n\t\t\t\tsetAttributes( imageAttributes )\n\t\t\t}\n\t\t\tisEditing={ isEditingImage }\n\t\t\tonFinishEditing={ () => setIsEditingImage( false ) }\n\t\t>\n\t\t\t{ /* Hide controls during upload to avoid component remount,\n\t\t\t\twhich causes duplicated image upload. */ }\n\t\t\t{ ! temporaryURL && controls }\n\t\t\t{ img }\n\t\t\t{ ( ! RichText.isEmpty( caption ) || isSelected ) && (\n\t\t\t\t<RichText\n\t\t\t\t\tref={ captionRef }\n\t\t\t\t\ttagName=\"figcaption\"\n\t\t\t\t\taria-label={ __( 'Image caption text' ) }\n\t\t\t\t\tplaceholder={ __( 'Add caption' ) }\n\t\t\t\t\tvalue={ caption }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { caption: value } )\n\t\t\t\t\t}\n\t\t\t\t\tinlineToolbar\n\t\t\t\t\t__unstableOnSplitAtEnd={ () =>\n\t\t\t\t\t\tinsertBlocksAfter( createBlock( 'core/paragraph' ) )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t</ImageEditingProvider>\n\t);\n}\n"]}
@@ -47,7 +47,6 @@ const migrateWithLayout = attributes => {
47
47
  Object.assign(updatedAttributes, {
48
48
  layout: {
49
49
  type: 'flex',
50
- setCascadingProperties: 'true',
51
50
  ...(itemsJustification && {
52
51
  justifyContent: itemsJustification
53
52
  }),
@@ -140,8 +139,7 @@ const v6 = {
140
139
  allowSwitching: false,
141
140
  allowInheriting: false,
142
141
  default: {
143
- type: 'flex',
144
- setCascadingProperties: true
142
+ type: 'flex'
145
143
  }
146
144
  }
147
145
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/block-library/src/navigation/deprecated.js"],"names":["mapValues","omit","InnerBlocks","compose","migrateFontFamily","TYPOGRAPHY_PRESET_DEPRECATION_MAP","fontStyle","fontWeight","textDecoration","textTransform","migrateIdToRef","navigationMenuId","attributes","ref","migrateWithLayout","layout","itemsJustification","orientation","updatedAttributes","Object","assign","type","setCascadingProperties","justifyContent","v6","textColor","customTextColor","rgbTextColor","backgroundColor","customBackgroundColor","rgbBackgroundColor","showSubmenuIcon","default","openSubmenusOnClick","overlayMenu","__unstableLocation","overlayBackgroundColor","customOverlayBackgroundColor","overlayTextColor","customOverlayTextColor","supports","align","anchor","html","inserter","typography","fontSize","lineHeight","__experimentalFontStyle","__experimentalFontWeight","__experimentalTextTransform","__experimentalFontFamily","__experimentalTextDecoration","__experimentalDefaultControls","spacing","blockGap","units","__experimentalLayout","allowSwitching","allowInheriting","save","isEligible","migrate","v5","v4","style","fontFamily","migrateIsResponsive","isResponsive","migrateTypographyPresets","value","key","prefix","startsWith","newValue","slice","length","deprecated","color","styleAttribute","attributeValue","className","customFontSize","attribute","undefined"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { mapValues, omit } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { InnerBlocks } from '@wordpress/block-editor';\nimport { compose } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport migrateFontFamily from '../utils/migrate-font-family';\n\nconst TYPOGRAPHY_PRESET_DEPRECATION_MAP = {\n\tfontStyle: 'var:preset|font-style|',\n\tfontWeight: 'var:preset|font-weight|',\n\ttextDecoration: 'var:preset|text-decoration|',\n\ttextTransform: 'var:preset|text-transform|',\n};\n\nconst migrateIdToRef = ( { navigationMenuId, ...attributes } ) => {\n\treturn {\n\t\t...attributes,\n\t\tref: navigationMenuId,\n\t};\n};\n\nconst migrateWithLayout = ( attributes ) => {\n\tif ( !! attributes.layout ) {\n\t\treturn attributes;\n\t}\n\n\tconst {\n\t\titemsJustification,\n\t\torientation,\n\t\t...updatedAttributes\n\t} = attributes;\n\n\tif ( itemsJustification || orientation ) {\n\t\tObject.assign( updatedAttributes, {\n\t\t\tlayout: {\n\t\t\t\ttype: 'flex',\n\t\t\t\tsetCascadingProperties: 'true',\n\t\t\t\t...( itemsJustification && {\n\t\t\t\t\tjustifyContent: itemsJustification,\n\t\t\t\t} ),\n\t\t\t\t...( orientation && { orientation } ),\n\t\t\t},\n\t\t} );\n\t}\n\n\treturn updatedAttributes;\n};\n\nconst v6 = {\n\tattributes: {\n\t\tnavigationMenuId: {\n\t\t\ttype: 'number',\n\t\t},\n\t\ttextColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcustomTextColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\trgbTextColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tbackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcustomBackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\trgbBackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tshowSubmenuIcon: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\topenSubmenusOnClick: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t},\n\t\toverlayMenu: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'mobile',\n\t\t},\n\t\t__unstableLocation: {\n\t\t\ttype: 'string',\n\t\t},\n\t\toverlayBackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcustomOverlayBackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\toverlayTextColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcustomOverlayTextColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t},\n\tsupports: {\n\t\talign: [ 'wide', 'full' ],\n\t\tanchor: true,\n\t\thtml: false,\n\t\tinserter: true,\n\t\ttypography: {\n\t\t\tfontSize: true,\n\t\t\tlineHeight: true,\n\t\t\t__experimentalFontStyle: true,\n\t\t\t__experimentalFontWeight: true,\n\t\t\t__experimentalTextTransform: true,\n\t\t\t__experimentalFontFamily: true,\n\t\t\t__experimentalTextDecoration: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tfontSize: true,\n\t\t\t},\n\t\t},\n\t\tspacing: {\n\t\t\tblockGap: true,\n\t\t\tunits: [ 'px', 'em', 'rem', 'vh', 'vw' ],\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tblockGap: true,\n\t\t\t},\n\t\t},\n\t\t__experimentalLayout: {\n\t\t\tallowSwitching: false,\n\t\t\tallowInheriting: false,\n\t\t\tdefault: {\n\t\t\t\ttype: 'flex',\n\t\t\t\tsetCascadingProperties: true,\n\t\t\t},\n\t\t},\n\t},\n\tsave() {\n\t\treturn <InnerBlocks.Content />;\n\t},\n\tisEligible: ( { navigationMenuId } ) => !! navigationMenuId,\n\tmigrate: migrateIdToRef,\n};\n\nconst v5 = {\n\tattributes: {\n\t\tnavigationMenuId: {\n\t\t\ttype: 'number',\n\t\t},\n\t\torientation: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'horizontal',\n\t\t},\n\t\ttextColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcustomTextColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\trgbTextColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tbackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcustomBackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\trgbBackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\titemsJustification: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tshowSubmenuIcon: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\topenSubmenusOnClick: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t},\n\t\toverlayMenu: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'never',\n\t\t},\n\t\t__unstableLocation: {\n\t\t\ttype: 'string',\n\t\t},\n\t\toverlayBackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcustomOverlayBackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\toverlayTextColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcustomOverlayTextColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t},\n\tsupports: {\n\t\talign: [ 'wide', 'full' ],\n\t\tanchor: true,\n\t\thtml: false,\n\t\tinserter: true,\n\t\ttypography: {\n\t\t\tfontSize: true,\n\t\t\tlineHeight: true,\n\t\t\t__experimentalFontStyle: true,\n\t\t\t__experimentalFontWeight: true,\n\t\t\t__experimentalTextTransform: true,\n\t\t\t__experimentalFontFamily: true,\n\t\t\t__experimentalTextDecoration: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tfontSize: true,\n\t\t\t},\n\t\t},\n\t\tspacing: {\n\t\t\tblockGap: true,\n\t\t\tunits: [ 'px', 'em', 'rem', 'vh', 'vw' ],\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tblockGap: true,\n\t\t\t},\n\t\t},\n\t},\n\tsave() {\n\t\treturn <InnerBlocks.Content />;\n\t},\n\tisEligible: ( { itemsJustification, orientation } ) =>\n\t\t!! itemsJustification || !! orientation,\n\tmigrate: compose( migrateIdToRef, migrateWithLayout ),\n};\n\nconst v4 = {\n\tattributes: {\n\t\torientation: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'horizontal',\n\t\t},\n\t\ttextColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcustomTextColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\trgbTextColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tbackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcustomBackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\trgbBackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\titemsJustification: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tshowSubmenuIcon: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\topenSubmenusOnClick: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t},\n\t\toverlayMenu: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'never',\n\t\t},\n\t\t__unstableLocation: {\n\t\t\ttype: 'string',\n\t\t},\n\t\toverlayBackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcustomOverlayBackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\toverlayTextColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcustomOverlayTextColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t},\n\tsupports: {\n\t\talign: [ 'wide', 'full' ],\n\t\tanchor: true,\n\t\thtml: false,\n\t\tinserter: true,\n\t\ttypography: {\n\t\t\tfontSize: true,\n\t\t\tlineHeight: true,\n\t\t\t__experimentalFontStyle: true,\n\t\t\t__experimentalFontWeight: true,\n\t\t\t__experimentalTextTransform: true,\n\t\t\t__experimentalFontFamily: true,\n\t\t\t__experimentalTextDecoration: true,\n\t\t},\n\t\tspacing: {\n\t\t\tblockGap: true,\n\t\t\tunits: [ 'px', 'em', 'rem', 'vh', 'vw' ],\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tblockGap: true,\n\t\t\t},\n\t\t},\n\t},\n\tsave() {\n\t\treturn <InnerBlocks.Content />;\n\t},\n\tmigrate: compose( migrateIdToRef, migrateWithLayout, migrateFontFamily ),\n\tisEligible( { style } ) {\n\t\treturn style?.typography?.fontFamily;\n\t},\n};\n\nconst migrateIsResponsive = function ( attributes ) {\n\tdelete attributes.isResponsive;\n\treturn {\n\t\t...attributes,\n\t\toverlayMenu: 'mobile',\n\t};\n};\n\nconst migrateTypographyPresets = function ( attributes ) {\n\treturn {\n\t\t...attributes,\n\t\tstyle: {\n\t\t\t...attributes.style,\n\t\t\ttypography: mapValues(\n\t\t\t\tattributes.style.typography,\n\t\t\t\t( value, key ) => {\n\t\t\t\t\tconst prefix = TYPOGRAPHY_PRESET_DEPRECATION_MAP[ key ];\n\t\t\t\t\tif ( prefix && value.startsWith( prefix ) ) {\n\t\t\t\t\t\tconst newValue = value.slice( prefix.length );\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t'textDecoration' === key &&\n\t\t\t\t\t\t\t'strikethrough' === newValue\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treturn 'line-through';\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn newValue;\n\t\t\t\t\t}\n\t\t\t\t\treturn value;\n\t\t\t\t}\n\t\t\t),\n\t\t},\n\t};\n};\n\nconst deprecated = [\n\tv6,\n\tv5,\n\tv4,\n\t// Remove `isResponsive` attribute.\n\t{\n\t\tattributes: {\n\t\t\torientation: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: 'horizontal',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomTextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\trgbTextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\trgbBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\titemsJustification: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tshowSubmenuIcon: {\n\t\t\t\ttype: 'boolean',\n\t\t\t\tdefault: true,\n\t\t\t},\n\t\t\topenSubmenusOnClick: {\n\t\t\t\ttype: 'boolean',\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t\tisResponsive: {\n\t\t\t\ttype: 'boolean',\n\t\t\t\tdefault: 'false',\n\t\t\t},\n\t\t\t__unstableLocation: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\toverlayBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomOverlayBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\toverlayTextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomOverlayTextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tsupports: {\n\t\t\talign: [ 'wide', 'full' ],\n\t\t\tanchor: true,\n\t\t\thtml: false,\n\t\t\tinserter: true,\n\t\t\ttypography: {\n\t\t\t\tfontSize: true,\n\t\t\t\tlineHeight: true,\n\t\t\t\t__experimentalFontStyle: true,\n\t\t\t\t__experimentalFontWeight: true,\n\t\t\t\t__experimentalTextTransform: true,\n\t\t\t\t__experimentalFontFamily: true,\n\t\t\t\t__experimentalTextDecoration: true,\n\t\t\t},\n\t\t},\n\t\tisEligible( attributes ) {\n\t\t\treturn attributes.isResponsive;\n\t\t},\n\t\tmigrate: compose(\n\t\t\tmigrateIdToRef,\n\t\t\tmigrateWithLayout,\n\t\t\tmigrateFontFamily,\n\t\t\tmigrateIsResponsive\n\t\t),\n\t\tsave() {\n\t\t\treturn <InnerBlocks.Content />;\n\t\t},\n\t},\n\t{\n\t\tattributes: {\n\t\t\torientation: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomTextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\trgbTextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\trgbBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\titemsJustification: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tshowSubmenuIcon: {\n\t\t\t\ttype: 'boolean',\n\t\t\t\tdefault: true,\n\t\t\t},\n\t\t},\n\t\tsupports: {\n\t\t\talign: [ 'wide', 'full' ],\n\t\t\tanchor: true,\n\t\t\thtml: false,\n\t\t\tinserter: true,\n\t\t\tfontSize: true,\n\t\t\t__experimentalFontStyle: true,\n\t\t\t__experimentalFontWeight: true,\n\t\t\t__experimentalTextTransform: true,\n\t\t\tcolor: true,\n\t\t\t__experimentalFontFamily: true,\n\t\t\t__experimentalTextDecoration: true,\n\t\t},\n\t\tsave() {\n\t\t\treturn <InnerBlocks.Content />;\n\t\t},\n\t\tisEligible( attributes ) {\n\t\t\tif ( ! attributes.style || ! attributes.style.typography ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tfor ( const styleAttribute in TYPOGRAPHY_PRESET_DEPRECATION_MAP ) {\n\t\t\t\tconst attributeValue =\n\t\t\t\t\tattributes.style.typography[ styleAttribute ];\n\t\t\t\tif (\n\t\t\t\t\tattributeValue &&\n\t\t\t\t\tattributeValue.startsWith(\n\t\t\t\t\t\tTYPOGRAPHY_PRESET_DEPRECATION_MAP[ styleAttribute ]\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tmigrate: compose(\n\t\t\tmigrateIdToRef,\n\t\t\tmigrateWithLayout,\n\t\t\tmigrateFontFamily,\n\t\t\tmigrateTypographyPresets\n\t\t),\n\t},\n\t{\n\t\tattributes: {\n\t\t\tclassName: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\trgbTextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\trgbBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tfontSize: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomFontSize: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\titemsJustification: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tshowSubmenuIcon: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t},\n\t\tisEligible( attribute ) {\n\t\t\treturn attribute.rgbTextColor || attribute.rgbBackgroundColor;\n\t\t},\n\t\tsupports: {\n\t\t\talign: [ 'wide', 'full' ],\n\t\t\tanchor: true,\n\t\t\thtml: false,\n\t\t\tinserter: true,\n\t\t},\n\t\tmigrate: compose( migrateIdToRef, ( attributes ) => {\n\t\t\treturn {\n\t\t\t\t...omit( attributes, [ 'rgbTextColor', 'rgbBackgroundColor' ] ),\n\t\t\t\tcustomTextColor: attributes.textColor\n\t\t\t\t\t? undefined\n\t\t\t\t\t: attributes.rgbTextColor,\n\t\t\t\tcustomBackgroundColor: attributes.backgroundColor\n\t\t\t\t\t? undefined\n\t\t\t\t\t: attributes.rgbBackgroundColor,\n\t\t\t};\n\t\t} ),\n\t\tsave() {\n\t\t\treturn <InnerBlocks.Content />;\n\t\t},\n\t},\n];\n\nexport default deprecated;\n"]}
1
+ {"version":3,"sources":["@wordpress/block-library/src/navigation/deprecated.js"],"names":["mapValues","omit","InnerBlocks","compose","migrateFontFamily","TYPOGRAPHY_PRESET_DEPRECATION_MAP","fontStyle","fontWeight","textDecoration","textTransform","migrateIdToRef","navigationMenuId","attributes","ref","migrateWithLayout","layout","itemsJustification","orientation","updatedAttributes","Object","assign","type","justifyContent","v6","textColor","customTextColor","rgbTextColor","backgroundColor","customBackgroundColor","rgbBackgroundColor","showSubmenuIcon","default","openSubmenusOnClick","overlayMenu","__unstableLocation","overlayBackgroundColor","customOverlayBackgroundColor","overlayTextColor","customOverlayTextColor","supports","align","anchor","html","inserter","typography","fontSize","lineHeight","__experimentalFontStyle","__experimentalFontWeight","__experimentalTextTransform","__experimentalFontFamily","__experimentalTextDecoration","__experimentalDefaultControls","spacing","blockGap","units","__experimentalLayout","allowSwitching","allowInheriting","save","isEligible","migrate","v5","v4","style","fontFamily","migrateIsResponsive","isResponsive","migrateTypographyPresets","value","key","prefix","startsWith","newValue","slice","length","deprecated","color","styleAttribute","attributeValue","className","customFontSize","attribute","undefined"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { mapValues, omit } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { InnerBlocks } from '@wordpress/block-editor';\nimport { compose } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport migrateFontFamily from '../utils/migrate-font-family';\n\nconst TYPOGRAPHY_PRESET_DEPRECATION_MAP = {\n\tfontStyle: 'var:preset|font-style|',\n\tfontWeight: 'var:preset|font-weight|',\n\ttextDecoration: 'var:preset|text-decoration|',\n\ttextTransform: 'var:preset|text-transform|',\n};\n\nconst migrateIdToRef = ( { navigationMenuId, ...attributes } ) => {\n\treturn {\n\t\t...attributes,\n\t\tref: navigationMenuId,\n\t};\n};\n\nconst migrateWithLayout = ( attributes ) => {\n\tif ( !! attributes.layout ) {\n\t\treturn attributes;\n\t}\n\n\tconst {\n\t\titemsJustification,\n\t\torientation,\n\t\t...updatedAttributes\n\t} = attributes;\n\n\tif ( itemsJustification || orientation ) {\n\t\tObject.assign( updatedAttributes, {\n\t\t\tlayout: {\n\t\t\t\ttype: 'flex',\n\t\t\t\t...( itemsJustification && {\n\t\t\t\t\tjustifyContent: itemsJustification,\n\t\t\t\t} ),\n\t\t\t\t...( orientation && { orientation } ),\n\t\t\t},\n\t\t} );\n\t}\n\n\treturn updatedAttributes;\n};\n\nconst v6 = {\n\tattributes: {\n\t\tnavigationMenuId: {\n\t\t\ttype: 'number',\n\t\t},\n\t\ttextColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcustomTextColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\trgbTextColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tbackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcustomBackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\trgbBackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tshowSubmenuIcon: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\topenSubmenusOnClick: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t},\n\t\toverlayMenu: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'mobile',\n\t\t},\n\t\t__unstableLocation: {\n\t\t\ttype: 'string',\n\t\t},\n\t\toverlayBackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcustomOverlayBackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\toverlayTextColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcustomOverlayTextColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t},\n\tsupports: {\n\t\talign: [ 'wide', 'full' ],\n\t\tanchor: true,\n\t\thtml: false,\n\t\tinserter: true,\n\t\ttypography: {\n\t\t\tfontSize: true,\n\t\t\tlineHeight: true,\n\t\t\t__experimentalFontStyle: true,\n\t\t\t__experimentalFontWeight: true,\n\t\t\t__experimentalTextTransform: true,\n\t\t\t__experimentalFontFamily: true,\n\t\t\t__experimentalTextDecoration: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tfontSize: true,\n\t\t\t},\n\t\t},\n\t\tspacing: {\n\t\t\tblockGap: true,\n\t\t\tunits: [ 'px', 'em', 'rem', 'vh', 'vw' ],\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tblockGap: true,\n\t\t\t},\n\t\t},\n\t\t__experimentalLayout: {\n\t\t\tallowSwitching: false,\n\t\t\tallowInheriting: false,\n\t\t\tdefault: {\n\t\t\t\ttype: 'flex',\n\t\t\t},\n\t\t},\n\t},\n\tsave() {\n\t\treturn <InnerBlocks.Content />;\n\t},\n\tisEligible: ( { navigationMenuId } ) => !! navigationMenuId,\n\tmigrate: migrateIdToRef,\n};\n\nconst v5 = {\n\tattributes: {\n\t\tnavigationMenuId: {\n\t\t\ttype: 'number',\n\t\t},\n\t\torientation: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'horizontal',\n\t\t},\n\t\ttextColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcustomTextColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\trgbTextColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tbackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcustomBackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\trgbBackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\titemsJustification: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tshowSubmenuIcon: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\topenSubmenusOnClick: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t},\n\t\toverlayMenu: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'never',\n\t\t},\n\t\t__unstableLocation: {\n\t\t\ttype: 'string',\n\t\t},\n\t\toverlayBackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcustomOverlayBackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\toverlayTextColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcustomOverlayTextColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t},\n\tsupports: {\n\t\talign: [ 'wide', 'full' ],\n\t\tanchor: true,\n\t\thtml: false,\n\t\tinserter: true,\n\t\ttypography: {\n\t\t\tfontSize: true,\n\t\t\tlineHeight: true,\n\t\t\t__experimentalFontStyle: true,\n\t\t\t__experimentalFontWeight: true,\n\t\t\t__experimentalTextTransform: true,\n\t\t\t__experimentalFontFamily: true,\n\t\t\t__experimentalTextDecoration: true,\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tfontSize: true,\n\t\t\t},\n\t\t},\n\t\tspacing: {\n\t\t\tblockGap: true,\n\t\t\tunits: [ 'px', 'em', 'rem', 'vh', 'vw' ],\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tblockGap: true,\n\t\t\t},\n\t\t},\n\t},\n\tsave() {\n\t\treturn <InnerBlocks.Content />;\n\t},\n\tisEligible: ( { itemsJustification, orientation } ) =>\n\t\t!! itemsJustification || !! orientation,\n\tmigrate: compose( migrateIdToRef, migrateWithLayout ),\n};\n\nconst v4 = {\n\tattributes: {\n\t\torientation: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'horizontal',\n\t\t},\n\t\ttextColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcustomTextColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\trgbTextColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tbackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcustomBackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\trgbBackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\titemsJustification: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tshowSubmenuIcon: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: true,\n\t\t},\n\t\topenSubmenusOnClick: {\n\t\t\ttype: 'boolean',\n\t\t\tdefault: false,\n\t\t},\n\t\toverlayMenu: {\n\t\t\ttype: 'string',\n\t\t\tdefault: 'never',\n\t\t},\n\t\t__unstableLocation: {\n\t\t\ttype: 'string',\n\t\t},\n\t\toverlayBackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcustomOverlayBackgroundColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\toverlayTextColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t\tcustomOverlayTextColor: {\n\t\t\ttype: 'string',\n\t\t},\n\t},\n\tsupports: {\n\t\talign: [ 'wide', 'full' ],\n\t\tanchor: true,\n\t\thtml: false,\n\t\tinserter: true,\n\t\ttypography: {\n\t\t\tfontSize: true,\n\t\t\tlineHeight: true,\n\t\t\t__experimentalFontStyle: true,\n\t\t\t__experimentalFontWeight: true,\n\t\t\t__experimentalTextTransform: true,\n\t\t\t__experimentalFontFamily: true,\n\t\t\t__experimentalTextDecoration: true,\n\t\t},\n\t\tspacing: {\n\t\t\tblockGap: true,\n\t\t\tunits: [ 'px', 'em', 'rem', 'vh', 'vw' ],\n\t\t\t__experimentalDefaultControls: {\n\t\t\t\tblockGap: true,\n\t\t\t},\n\t\t},\n\t},\n\tsave() {\n\t\treturn <InnerBlocks.Content />;\n\t},\n\tmigrate: compose( migrateIdToRef, migrateWithLayout, migrateFontFamily ),\n\tisEligible( { style } ) {\n\t\treturn style?.typography?.fontFamily;\n\t},\n};\n\nconst migrateIsResponsive = function ( attributes ) {\n\tdelete attributes.isResponsive;\n\treturn {\n\t\t...attributes,\n\t\toverlayMenu: 'mobile',\n\t};\n};\n\nconst migrateTypographyPresets = function ( attributes ) {\n\treturn {\n\t\t...attributes,\n\t\tstyle: {\n\t\t\t...attributes.style,\n\t\t\ttypography: mapValues(\n\t\t\t\tattributes.style.typography,\n\t\t\t\t( value, key ) => {\n\t\t\t\t\tconst prefix = TYPOGRAPHY_PRESET_DEPRECATION_MAP[ key ];\n\t\t\t\t\tif ( prefix && value.startsWith( prefix ) ) {\n\t\t\t\t\t\tconst newValue = value.slice( prefix.length );\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t'textDecoration' === key &&\n\t\t\t\t\t\t\t'strikethrough' === newValue\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\treturn 'line-through';\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn newValue;\n\t\t\t\t\t}\n\t\t\t\t\treturn value;\n\t\t\t\t}\n\t\t\t),\n\t\t},\n\t};\n};\n\nconst deprecated = [\n\tv6,\n\tv5,\n\tv4,\n\t// Remove `isResponsive` attribute.\n\t{\n\t\tattributes: {\n\t\t\torientation: {\n\t\t\t\ttype: 'string',\n\t\t\t\tdefault: 'horizontal',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomTextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\trgbTextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\trgbBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\titemsJustification: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tshowSubmenuIcon: {\n\t\t\t\ttype: 'boolean',\n\t\t\t\tdefault: true,\n\t\t\t},\n\t\t\topenSubmenusOnClick: {\n\t\t\t\ttype: 'boolean',\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t\tisResponsive: {\n\t\t\t\ttype: 'boolean',\n\t\t\t\tdefault: 'false',\n\t\t\t},\n\t\t\t__unstableLocation: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\toverlayBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomOverlayBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\toverlayTextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomOverlayTextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t},\n\t\tsupports: {\n\t\t\talign: [ 'wide', 'full' ],\n\t\t\tanchor: true,\n\t\t\thtml: false,\n\t\t\tinserter: true,\n\t\t\ttypography: {\n\t\t\t\tfontSize: true,\n\t\t\t\tlineHeight: true,\n\t\t\t\t__experimentalFontStyle: true,\n\t\t\t\t__experimentalFontWeight: true,\n\t\t\t\t__experimentalTextTransform: true,\n\t\t\t\t__experimentalFontFamily: true,\n\t\t\t\t__experimentalTextDecoration: true,\n\t\t\t},\n\t\t},\n\t\tisEligible( attributes ) {\n\t\t\treturn attributes.isResponsive;\n\t\t},\n\t\tmigrate: compose(\n\t\t\tmigrateIdToRef,\n\t\t\tmigrateWithLayout,\n\t\t\tmigrateFontFamily,\n\t\t\tmigrateIsResponsive\n\t\t),\n\t\tsave() {\n\t\t\treturn <InnerBlocks.Content />;\n\t\t},\n\t},\n\t{\n\t\tattributes: {\n\t\t\torientation: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomTextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\trgbTextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\trgbBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\titemsJustification: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tshowSubmenuIcon: {\n\t\t\t\ttype: 'boolean',\n\t\t\t\tdefault: true,\n\t\t\t},\n\t\t},\n\t\tsupports: {\n\t\t\talign: [ 'wide', 'full' ],\n\t\t\tanchor: true,\n\t\t\thtml: false,\n\t\t\tinserter: true,\n\t\t\tfontSize: true,\n\t\t\t__experimentalFontStyle: true,\n\t\t\t__experimentalFontWeight: true,\n\t\t\t__experimentalTextTransform: true,\n\t\t\tcolor: true,\n\t\t\t__experimentalFontFamily: true,\n\t\t\t__experimentalTextDecoration: true,\n\t\t},\n\t\tsave() {\n\t\t\treturn <InnerBlocks.Content />;\n\t\t},\n\t\tisEligible( attributes ) {\n\t\t\tif ( ! attributes.style || ! attributes.style.typography ) {\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\tfor ( const styleAttribute in TYPOGRAPHY_PRESET_DEPRECATION_MAP ) {\n\t\t\t\tconst attributeValue =\n\t\t\t\t\tattributes.style.typography[ styleAttribute ];\n\t\t\t\tif (\n\t\t\t\t\tattributeValue &&\n\t\t\t\t\tattributeValue.startsWith(\n\t\t\t\t\t\tTYPOGRAPHY_PRESET_DEPRECATION_MAP[ styleAttribute ]\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\treturn true;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn false;\n\t\t},\n\t\tmigrate: compose(\n\t\t\tmigrateIdToRef,\n\t\t\tmigrateWithLayout,\n\t\t\tmigrateFontFamily,\n\t\t\tmigrateTypographyPresets\n\t\t),\n\t},\n\t{\n\t\tattributes: {\n\t\t\tclassName: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\ttextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\trgbTextColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tbackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\trgbBackgroundColor: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tfontSize: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tcustomFontSize: {\n\t\t\t\ttype: 'number',\n\t\t\t},\n\t\t\titemsJustification: {\n\t\t\t\ttype: 'string',\n\t\t\t},\n\t\t\tshowSubmenuIcon: {\n\t\t\t\ttype: 'boolean',\n\t\t\t},\n\t\t},\n\t\tisEligible( attribute ) {\n\t\t\treturn attribute.rgbTextColor || attribute.rgbBackgroundColor;\n\t\t},\n\t\tsupports: {\n\t\t\talign: [ 'wide', 'full' ],\n\t\t\tanchor: true,\n\t\t\thtml: false,\n\t\t\tinserter: true,\n\t\t},\n\t\tmigrate: compose( migrateIdToRef, ( attributes ) => {\n\t\t\treturn {\n\t\t\t\t...omit( attributes, [ 'rgbTextColor', 'rgbBackgroundColor' ] ),\n\t\t\t\tcustomTextColor: attributes.textColor\n\t\t\t\t\t? undefined\n\t\t\t\t\t: attributes.rgbTextColor,\n\t\t\t\tcustomBackgroundColor: attributes.backgroundColor\n\t\t\t\t\t? undefined\n\t\t\t\t\t: attributes.rgbBackgroundColor,\n\t\t\t};\n\t\t} ),\n\t\tsave() {\n\t\t\treturn <InnerBlocks.Content />;\n\t\t},\n\t},\n];\n\nexport default deprecated;\n"]}