@wordpress/block-library 9.25.0 → 9.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/avatar/edit.js +84 -39
  3. package/build/avatar/edit.js.map +1 -1
  4. package/build/avatar/user-control.js +32 -17
  5. package/build/avatar/user-control.js.map +1 -1
  6. package/build/embed/variations.js +0 -10
  7. package/build/embed/variations.js.map +1 -1
  8. package/build/form/edit.js +0 -1
  9. package/build/form/edit.js.map +1 -1
  10. package/build/form/index.js +3 -3
  11. package/build/form/index.js.map +1 -1
  12. package/build/form-input/index.js +2 -1
  13. package/build/form-input/index.js.map +1 -1
  14. package/build/form-submission-notification/index.js +2 -1
  15. package/build/form-submission-notification/index.js.map +1 -1
  16. package/build/form-submit-button/index.js +2 -1
  17. package/build/form-submit-button/index.js.map +1 -1
  18. package/build/image/image.js +1 -0
  19. package/build/image/image.js.map +1 -1
  20. package/build/image/view.js +0 -3
  21. package/build/image/view.js.map +1 -1
  22. package/build/navigation-link/edit.js +11 -0
  23. package/build/navigation-link/edit.js.map +1 -1
  24. package/build/post-author/edit.js +75 -18
  25. package/build/post-author/edit.js.map +1 -1
  26. package/build/post-navigation-link/edit.js +72 -33
  27. package/build/post-navigation-link/edit.js.map +1 -1
  28. package/build/site-logo/edit.js +53 -19
  29. package/build/site-logo/edit.js.map +1 -1
  30. package/build/social-link/edit.js +21 -5
  31. package/build/social-link/edit.js.map +1 -1
  32. package/build/social-link/edit.native.js +13 -5
  33. package/build/social-link/edit.native.js.map +1 -1
  34. package/build/social-link/social-list.js +17 -25
  35. package/build/social-link/social-list.js.map +1 -1
  36. package/build/social-links/edit.js +8 -5
  37. package/build/social-links/edit.js.map +1 -1
  38. package/build/video/tracks-editor.js +23 -9
  39. package/build/video/tracks-editor.js.map +1 -1
  40. package/build-module/avatar/edit.js +83 -38
  41. package/build-module/avatar/edit.js.map +1 -1
  42. package/build-module/avatar/user-control.js +33 -18
  43. package/build-module/avatar/user-control.js.map +1 -1
  44. package/build-module/embed/variations.js +0 -10
  45. package/build-module/embed/variations.js.map +1 -1
  46. package/build-module/form/edit.js +0 -1
  47. package/build-module/form/edit.js.map +1 -1
  48. package/build-module/form/index.js +3 -3
  49. package/build-module/form/index.js.map +1 -1
  50. package/build-module/form-input/index.js +2 -1
  51. package/build-module/form-input/index.js.map +1 -1
  52. package/build-module/form-submission-notification/index.js +2 -1
  53. package/build-module/form-submission-notification/index.js.map +1 -1
  54. package/build-module/form-submit-button/index.js +2 -1
  55. package/build-module/form-submit-button/index.js.map +1 -1
  56. package/build-module/image/image.js +1 -0
  57. package/build-module/image/image.js.map +1 -1
  58. package/build-module/image/view.js +0 -3
  59. package/build-module/image/view.js.map +1 -1
  60. package/build-module/navigation-link/edit.js +11 -0
  61. package/build-module/navigation-link/edit.js.map +1 -1
  62. package/build-module/post-author/edit.js +76 -19
  63. package/build-module/post-author/edit.js.map +1 -1
  64. package/build-module/post-navigation-link/edit.js +73 -34
  65. package/build-module/post-navigation-link/edit.js.map +1 -1
  66. package/build-module/site-logo/edit.js +54 -20
  67. package/build-module/site-logo/edit.js.map +1 -1
  68. package/build-module/social-link/edit.js +24 -8
  69. package/build-module/social-link/edit.js.map +1 -1
  70. package/build-module/social-link/edit.native.js +15 -6
  71. package/build-module/social-link/edit.native.js.map +1 -1
  72. package/build-module/social-link/social-list.js +16 -21
  73. package/build-module/social-link/social-list.js.map +1 -1
  74. package/build-module/social-links/edit.js +8 -5
  75. package/build-module/social-links/edit.js.map +1 -1
  76. package/build-module/video/tracks-editor.js +24 -10
  77. package/build-module/video/tracks-editor.js.map +1 -1
  78. package/build-style/calendar/style-rtl.css +7 -7
  79. package/build-style/calendar/style.css +7 -7
  80. package/build-style/comments-pagination/editor-rtl.css +0 -12
  81. package/build-style/comments-pagination/editor.css +0 -14
  82. package/build-style/comments-pagination/style-rtl.css +0 -7
  83. package/build-style/comments-pagination/style.css +0 -9
  84. package/build-style/editor-rtl.css +0 -17
  85. package/build-style/editor.css +0 -19
  86. package/build-style/navigation/style-rtl.css +4 -0
  87. package/build-style/navigation/style.css +4 -0
  88. package/build-style/style-rtl.css +11 -14
  89. package/build-style/style.css +11 -16
  90. package/package.json +35 -35
  91. package/src/avatar/edit.js +99 -51
  92. package/src/avatar/user-control.js +34 -29
  93. package/src/calendar/style.scss +10 -10
  94. package/src/comments-pagination/editor.scss +0 -15
  95. package/src/comments-pagination/style.scss +0 -8
  96. package/src/editor.scss +0 -1
  97. package/src/embed/variations.js +0 -8
  98. package/src/form/block.json +1 -2
  99. package/src/form/edit.js +0 -1
  100. package/src/form/index.js +1 -0
  101. package/src/form-input/index.js +1 -0
  102. package/src/form-submission-notification/index.js +1 -0
  103. package/src/form-submit-button/index.js +1 -0
  104. package/src/image/image.js +1 -0
  105. package/src/image/index.php +4 -1
  106. package/src/image/view.js +0 -3
  107. package/src/navigation/style.scss +8 -0
  108. package/src/navigation-link/edit.js +14 -1
  109. package/src/post-author/edit.js +91 -27
  110. package/src/post-navigation-link/edit.js +96 -51
  111. package/src/site-logo/edit.js +69 -26
  112. package/src/social-link/edit.js +18 -7
  113. package/src/social-link/edit.native.js +10 -4
  114. package/src/social-link/index.php +13 -0
  115. package/src/social-link/social-list.js +15 -20
  116. package/src/social-links/edit.js +6 -7
  117. package/src/video/tracks-editor.js +18 -6
  118. package/build-style/post-author/editor-rtl.css +0 -140
  119. package/build-style/post-author/editor.css +0 -140
  120. package/src/post-author/editor.scss +0 -7
@@ -11,6 +11,7 @@ var _blockEditor = require("@wordpress/block-editor");
11
11
  var _i18n = require("@wordpress/i18n");
12
12
  var _data = require("@wordpress/data");
13
13
  var _coreData = require("@wordpress/core-data");
14
+ var _hooks = require("../utils/hooks");
14
15
  var _jsxRuntime = require("react/jsx-runtime");
15
16
  /**
16
17
  * External dependencies
@@ -20,6 +21,10 @@ var _jsxRuntime = require("react/jsx-runtime");
20
21
  * WordPress dependencies
21
22
  */
22
23
 
24
+ /**
25
+ * Internal dependencies
26
+ */
27
+
23
28
  function PostNavigationLinkEdit({
24
29
  context: {
25
30
  postType
@@ -82,46 +87,80 @@ function PostNavigationLinkEdit({
82
87
  });
83
88
  return [selectOption, ...taxonomyOptions];
84
89
  };
90
+ const dropdownMenuProps = (0, _hooks.useToolsPanelDropdownMenuProps)();
85
91
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
86
92
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.InspectorControls, {
87
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.PanelBody, {
88
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToggleControl, {
89
- __nextHasNoMarginBottom: true,
93
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalToolsPanel, {
94
+ label: (0, _i18n.__)('Settings'),
95
+ resetAll: () => {
96
+ setAttributes({
97
+ showTitle: false,
98
+ linkLabel: false,
99
+ arrow: 'none'
100
+ });
101
+ },
102
+ dropdownMenuProps: dropdownMenuProps,
103
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, {
90
104
  label: (0, _i18n.__)('Display the title as a link'),
91
- help: (0, _i18n.__)('If you have entered a custom label, it will be prepended before the title.'),
92
- checked: !!showTitle,
93
- onChange: () => setAttributes({
94
- showTitle: !showTitle
105
+ isShownByDefault: true,
106
+ hasValue: () => showTitle,
107
+ onDeselect: () => setAttributes({
108
+ showTitle: false
109
+ }),
110
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToggleControl, {
111
+ __nextHasNoMarginBottom: true,
112
+ label: (0, _i18n.__)('Display the title as a link'),
113
+ help: (0, _i18n.__)('If you have entered a custom label, it will be prepended before the title.'),
114
+ checked: !!showTitle,
115
+ onChange: () => setAttributes({
116
+ showTitle: !showTitle
117
+ })
95
118
  })
96
- }), showTitle && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToggleControl, {
97
- __nextHasNoMarginBottom: true,
119
+ }), showTitle && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, {
98
120
  label: (0, _i18n.__)('Include the label as part of the link'),
99
- checked: !!linkLabel,
100
- onChange: () => setAttributes({
101
- linkLabel: !linkLabel
121
+ isShownByDefault: true,
122
+ hasValue: () => !!linkLabel,
123
+ onDeselect: () => setAttributes({
124
+ linkLabel: false
125
+ }),
126
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToggleControl, {
127
+ __nextHasNoMarginBottom: true,
128
+ label: (0, _i18n.__)('Include the label as part of the link'),
129
+ checked: !!linkLabel,
130
+ onChange: () => setAttributes({
131
+ linkLabel: !linkLabel
132
+ })
102
133
  })
103
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalToggleGroupControl, {
104
- __next40pxDefaultSize: true,
105
- __nextHasNoMarginBottom: true,
134
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, {
106
135
  label: (0, _i18n.__)('Arrow'),
107
- value: arrow,
108
- onChange: value => {
109
- setAttributes({
110
- arrow: value
111
- });
112
- },
113
- help: (0, _i18n.__)('A decorative arrow for the next and previous link.'),
114
- isBlock: true,
115
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToggleGroupControlOption, {
116
- value: "none",
117
- label: (0, _i18n._x)('None', 'Arrow option for Next/Previous link')
118
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToggleGroupControlOption, {
119
- value: "arrow",
120
- label: (0, _i18n._x)('Arrow', 'Arrow option for Next/Previous link')
121
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToggleGroupControlOption, {
122
- value: "chevron",
123
- label: (0, _i18n._x)('Chevron', 'Arrow option for Next/Previous link')
124
- })]
136
+ isShownByDefault: true,
137
+ hasValue: () => arrow !== 'none',
138
+ onDeselect: () => setAttributes({
139
+ arrow: 'none'
140
+ }),
141
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalToggleGroupControl, {
142
+ __next40pxDefaultSize: true,
143
+ __nextHasNoMarginBottom: true,
144
+ label: (0, _i18n.__)('Arrow'),
145
+ value: arrow,
146
+ onChange: value => {
147
+ setAttributes({
148
+ arrow: value
149
+ });
150
+ },
151
+ help: (0, _i18n.__)('A decorative arrow for the next and previous link.'),
152
+ isBlock: true,
153
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToggleGroupControlOption, {
154
+ value: "none",
155
+ label: (0, _i18n._x)('None', 'Arrow option for Next/Previous link')
156
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToggleGroupControlOption, {
157
+ value: "arrow",
158
+ label: (0, _i18n._x)('Arrow', 'Arrow option for Next/Previous link')
159
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToggleGroupControlOption, {
160
+ value: "chevron",
161
+ label: (0, _i18n._x)('Chevron', 'Arrow option for Next/Previous link')
162
+ })]
163
+ })
125
164
  })]
126
165
  })
127
166
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.InspectorControls, {
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_blockEditor","_i18n","_data","_coreData","_jsxRuntime","PostNavigationLinkEdit","context","postType","attributes","type","label","showTitle","textAlign","linkLabel","arrow","taxonomy","setAttributes","blockEditingMode","useBlockEditingMode","showControls","isNext","placeholder","__","arrowMap","none","chevron","displayArrow","ariaLabel","blockProps","useBlockProps","className","clsx","taxonomies","useSelect","select","getTaxonomies","coreStore","filteredTaxonomies","per_page","getTaxonomyOptions","selectOption","value","taxonomyOptions","filter","visibility","publicly_queryable","map","item","slug","name","jsxs","Fragment","children","jsx","InspectorControls","PanelBody","ToggleControl","__nextHasNoMarginBottom","help","checked","onChange","__experimentalToggleGroupControl","__next40pxDefaultSize","isBlock","__experimentalToggleGroupControlOption","_x","group","SelectControl","options","BlockControls","AlignmentToolbar","nextAlign","RichText","tagName","identifier","withoutInteractiveFormatting","newLabel","href","onClick","event","preventDefault"],"sources":["@wordpress/block-library/src/post-navigation-link/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\tToggleControl,\n\tSelectControl,\n\tPanelBody,\n} from '@wordpress/components';\nimport {\n\tInspectorControls,\n\tRichText,\n\tBlockControls,\n\tAlignmentToolbar,\n\tuseBlockProps,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { __, _x } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\nexport default function PostNavigationLinkEdit( {\n\tcontext: { postType },\n\tattributes: {\n\t\ttype,\n\t\tlabel,\n\t\tshowTitle,\n\t\ttextAlign,\n\t\tlinkLabel,\n\t\tarrow,\n\t\ttaxonomy,\n\t},\n\tsetAttributes,\n} ) {\n\tconst blockEditingMode = useBlockEditingMode();\n\tconst showControls = blockEditingMode === 'default';\n\tconst isNext = type === 'next';\n\tlet placeholder = isNext ? __( 'Next' ) : __( 'Previous' );\n\n\tconst arrowMap = {\n\t\tnone: '',\n\t\tarrow: isNext ? '→' : '←',\n\t\tchevron: isNext ? '»' : '«',\n\t};\n\n\tconst displayArrow = arrowMap[ arrow ];\n\n\tif ( showTitle ) {\n\t\tplaceholder = isNext\n\t\t\t? /* translators: Label before for next and previous post. There is a space after the colon. */\n\t\t\t __( 'Next: ' ) // eslint-disable-line @wordpress/i18n-no-flanking-whitespace\n\t\t\t: /* translators: Label before for next and previous post. There is a space after the colon. */\n\t\t\t __( 'Previous: ' ); // eslint-disable-line @wordpress/i18n-no-flanking-whitespace\n\t}\n\n\tconst ariaLabel = isNext ? __( 'Next post' ) : __( 'Previous post' );\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\n\tconst taxonomies = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getTaxonomies } = select( coreStore );\n\t\t\tconst filteredTaxonomies = getTaxonomies( {\n\t\t\t\ttype: postType,\n\t\t\t\tper_page: -1,\n\t\t\t} );\n\t\t\treturn filteredTaxonomies;\n\t\t},\n\t\t[ postType ]\n\t);\n\tconst getTaxonomyOptions = () => {\n\t\tconst selectOption = {\n\t\t\tlabel: __( 'Unfiltered' ),\n\t\t\tvalue: '',\n\t\t};\n\t\tconst taxonomyOptions = ( taxonomies ?? [] )\n\t\t\t.filter( ( { visibility } ) => !! visibility?.publicly_queryable )\n\t\t\t.map( ( item ) => {\n\t\t\t\treturn {\n\t\t\t\t\tvalue: item.slug,\n\t\t\t\t\tlabel: item.name,\n\t\t\t\t};\n\t\t\t} );\n\n\t\treturn [ selectOption, ...taxonomyOptions ];\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Display the title as a link' ) }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'If you have entered a custom label, it will be prepended before the title.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tchecked={ !! showTitle }\n\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\tshowTitle: ! showTitle,\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{ showTitle && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t'Include the label as part of the link'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tchecked={ !! linkLabel }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tlinkLabel: ! linkLabel,\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<ToggleGroupControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Arrow' ) }\n\t\t\t\t\t\tvalue={ arrow }\n\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\tsetAttributes( { arrow: value } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'A decorative arrow for the next and previous link.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tvalue=\"none\"\n\t\t\t\t\t\t\tlabel={ _x(\n\t\t\t\t\t\t\t\t'None',\n\t\t\t\t\t\t\t\t'Arrow option for Next/Previous link'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tvalue=\"arrow\"\n\t\t\t\t\t\t\tlabel={ _x(\n\t\t\t\t\t\t\t\t'Arrow',\n\t\t\t\t\t\t\t\t'Arrow option for Next/Previous link'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tvalue=\"chevron\"\n\t\t\t\t\t\t\tlabel={ _x(\n\t\t\t\t\t\t\t\t'Chevron',\n\t\t\t\t\t\t\t\t'Arrow option for Next/Previous link'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<SelectControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Filter by taxonomy' ) }\n\t\t\t\t\tvalue={ taxonomy }\n\t\t\t\t\toptions={ getTaxonomyOptions() }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\ttaxonomy: value,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'Only link to posts that have the same taxonomy terms as the current post. For example the same tags or categories.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t{ showControls && (\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<AlignmentToolbar\n\t\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ ! isNext && displayArrow && (\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={ `wp-block-post-navigation-link__arrow-previous is-arrow-${ arrow }` }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ displayArrow }\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t\t<RichText\n\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\tidentifier=\"label\"\n\t\t\t\t\taria-label={ ariaLabel }\n\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t\tvalue={ label }\n\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\tonChange={ ( newLabel ) =>\n\t\t\t\t\t\tsetAttributes( { label: newLabel } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ showTitle && (\n\t\t\t\t\t<a\n\t\t\t\t\t\thref=\"#post-navigation-pseudo-link\"\n\t\t\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'An example title' ) }\n\t\t\t\t\t</a>\n\t\t\t\t) }\n\t\t\t\t{ isNext && displayArrow && (\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={ `wp-block-post-navigation-link__arrow-next is-arrow-${ arrow }` }\n\t\t\t\t\t\taria-hidden\n\t\t\t\t\t>\n\t\t\t\t\t\t{ displayArrow }\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_blockEditor","_i18n","_data","_coreData","_hooks","_jsxRuntime","PostNavigationLinkEdit","context","postType","attributes","type","label","showTitle","textAlign","linkLabel","arrow","taxonomy","setAttributes","blockEditingMode","useBlockEditingMode","showControls","isNext","placeholder","__","arrowMap","none","chevron","displayArrow","ariaLabel","blockProps","useBlockProps","className","clsx","taxonomies","useSelect","select","getTaxonomies","coreStore","filteredTaxonomies","per_page","getTaxonomyOptions","selectOption","value","taxonomyOptions","filter","visibility","publicly_queryable","map","item","slug","name","dropdownMenuProps","useToolsPanelDropdownMenuProps","jsxs","Fragment","children","jsx","InspectorControls","__experimentalToolsPanel","resetAll","__experimentalToolsPanelItem","isShownByDefault","hasValue","onDeselect","ToggleControl","__nextHasNoMarginBottom","help","checked","onChange","__experimentalToggleGroupControl","__next40pxDefaultSize","isBlock","__experimentalToggleGroupControlOption","_x","group","SelectControl","options","BlockControls","AlignmentToolbar","nextAlign","RichText","tagName","identifier","withoutInteractiveFormatting","newLabel","href","onClick","event","preventDefault"],"sources":["@wordpress/block-library/src/post-navigation-link/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\tToggleControl,\n\tSelectControl,\n} from '@wordpress/components';\nimport {\n\tInspectorControls,\n\tRichText,\n\tBlockControls,\n\tAlignmentToolbar,\n\tuseBlockProps,\n\tuseBlockEditingMode,\n} from '@wordpress/block-editor';\nimport { __, _x } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nexport default function PostNavigationLinkEdit( {\n\tcontext: { postType },\n\tattributes: {\n\t\ttype,\n\t\tlabel,\n\t\tshowTitle,\n\t\ttextAlign,\n\t\tlinkLabel,\n\t\tarrow,\n\t\ttaxonomy,\n\t},\n\tsetAttributes,\n} ) {\n\tconst blockEditingMode = useBlockEditingMode();\n\tconst showControls = blockEditingMode === 'default';\n\tconst isNext = type === 'next';\n\tlet placeholder = isNext ? __( 'Next' ) : __( 'Previous' );\n\n\tconst arrowMap = {\n\t\tnone: '',\n\t\tarrow: isNext ? '→' : '←',\n\t\tchevron: isNext ? '»' : '«',\n\t};\n\n\tconst displayArrow = arrowMap[ arrow ];\n\n\tif ( showTitle ) {\n\t\tplaceholder = isNext\n\t\t\t? /* translators: Label before for next and previous post. There is a space after the colon. */\n\t\t\t __( 'Next: ' ) // eslint-disable-line @wordpress/i18n-no-flanking-whitespace\n\t\t\t: /* translators: Label before for next and previous post. There is a space after the colon. */\n\t\t\t __( 'Previous: ' ); // eslint-disable-line @wordpress/i18n-no-flanking-whitespace\n\t}\n\n\tconst ariaLabel = isNext ? __( 'Next post' ) : __( 'Previous post' );\n\tconst blockProps = useBlockProps( {\n\t\tclassName: clsx( {\n\t\t\t[ `has-text-align-${ textAlign }` ]: textAlign,\n\t\t} ),\n\t} );\n\n\tconst taxonomies = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getTaxonomies } = select( coreStore );\n\t\t\tconst filteredTaxonomies = getTaxonomies( {\n\t\t\t\ttype: postType,\n\t\t\t\tper_page: -1,\n\t\t\t} );\n\t\t\treturn filteredTaxonomies;\n\t\t},\n\t\t[ postType ]\n\t);\n\tconst getTaxonomyOptions = () => {\n\t\tconst selectOption = {\n\t\t\tlabel: __( 'Unfiltered' ),\n\t\t\tvalue: '',\n\t\t};\n\t\tconst taxonomyOptions = ( taxonomies ?? [] )\n\t\t\t.filter( ( { visibility } ) => !! visibility?.publicly_queryable )\n\t\t\t.map( ( item ) => {\n\t\t\t\treturn {\n\t\t\t\t\tvalue: item.slug,\n\t\t\t\t\tlabel: item.name,\n\t\t\t\t};\n\t\t\t} );\n\n\t\treturn [ selectOption, ...taxonomyOptions ];\n\t};\n\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tresetAll={ () => {\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\tshowTitle: false,\n\t\t\t\t\t\t\tlinkLabel: false,\n\t\t\t\t\t\t\tarrow: 'none',\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Display the title as a link' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => showTitle }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { showTitle: false } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Display the title as a link' ) }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'If you have entered a custom label, it will be prepended before the title.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tchecked={ !! showTitle }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\tshowTitle: ! showTitle,\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</ToolsPanelItem>\n\t\t\t\t\t{ showTitle && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t'Include the label as part of the link'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\thasValue={ () => !! linkLabel }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { linkLabel: false } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __(\n\t\t\t\t\t\t\t\t\t'Include the label as part of the link'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\tchecked={ !! linkLabel }\n\t\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tlinkLabel: ! linkLabel,\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</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tlabel={ __( 'Arrow' ) }\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => arrow !== 'none' }\n\t\t\t\t\t\tonDeselect={ () => setAttributes( { arrow: 'none' } ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Arrow' ) }\n\t\t\t\t\t\t\tvalue={ arrow }\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tsetAttributes( { arrow: value } );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t\t'A decorative arrow for the next and previous link.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tvalue=\"none\"\n\t\t\t\t\t\t\t\tlabel={ _x(\n\t\t\t\t\t\t\t\t\t'None',\n\t\t\t\t\t\t\t\t\t'Arrow option for Next/Previous link'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tvalue=\"arrow\"\n\t\t\t\t\t\t\t\tlabel={ _x(\n\t\t\t\t\t\t\t\t\t'Arrow',\n\t\t\t\t\t\t\t\t\t'Arrow option for Next/Previous link'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\tvalue=\"chevron\"\n\t\t\t\t\t\t\t\tlabel={ _x(\n\t\t\t\t\t\t\t\t\t'Chevron',\n\t\t\t\t\t\t\t\t\t'Arrow option for Next/Previous link'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t<InspectorControls group=\"advanced\">\n\t\t\t\t<SelectControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Filter by taxonomy' ) }\n\t\t\t\t\tvalue={ taxonomy }\n\t\t\t\t\toptions={ getTaxonomyOptions() }\n\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\ttaxonomy: value,\n\t\t\t\t\t\t} )\n\t\t\t\t\t}\n\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t'Only link to posts that have the same taxonomy terms as the current post. For example the same tags or categories.'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</InspectorControls>\n\t\t\t{ showControls && (\n\t\t\t\t<BlockControls>\n\t\t\t\t\t<AlignmentToolbar\n\t\t\t\t\t\tvalue={ textAlign }\n\t\t\t\t\t\tonChange={ ( nextAlign ) => {\n\t\t\t\t\t\t\tsetAttributes( { textAlign: nextAlign } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</BlockControls>\n\t\t\t) }\n\t\t\t<div { ...blockProps }>\n\t\t\t\t{ ! isNext && displayArrow && (\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={ `wp-block-post-navigation-link__arrow-previous is-arrow-${ arrow }` }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ displayArrow }\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t\t<RichText\n\t\t\t\t\ttagName=\"a\"\n\t\t\t\t\tidentifier=\"label\"\n\t\t\t\t\taria-label={ ariaLabel }\n\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t\tvalue={ label }\n\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\tonChange={ ( newLabel ) =>\n\t\t\t\t\t\tsetAttributes( { label: newLabel } )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t{ showTitle && (\n\t\t\t\t\t<a\n\t\t\t\t\t\thref=\"#post-navigation-pseudo-link\"\n\t\t\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'An example title' ) }\n\t\t\t\t\t</a>\n\t\t\t\t) }\n\t\t\t\t{ isNext && displayArrow && (\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={ `wp-block-post-navigation-link__arrow-next is-arrow-${ arrow }` }\n\t\t\t\t\t\taria-hidden\n\t\t\t\t\t>\n\t\t\t\t\t\t{ displayArrow }\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -17,6 +17,7 @@ var _coreData = require("@wordpress/core-data");
17
17
  var _icons = require("@wordpress/icons");
18
18
  var _notices = require("@wordpress/notices");
19
19
  var _constants = require("../image/constants");
20
+ var _hooks = require("../utils/hooks");
20
21
  var _jsxRuntime = require("react/jsx-runtime");
21
22
  /**
22
23
  * External dependencies
@@ -63,6 +64,7 @@ const SiteLogo = ({
63
64
  const {
64
65
  toggleSelection
65
66
  } = (0, _data.useDispatch)(_blockEditor.store);
67
+ const dropdownMenuProps = (0, _hooks.useToolsPanelDropdownMenuProps)();
66
68
  const {
67
69
  imageEditing,
68
70
  maxWidth,
@@ -244,28 +246,51 @@ const SiteLogo = ({
244
246
  });
245
247
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
246
248
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.InspectorControls, {
247
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.PanelBody, {
248
- title: (0, _i18n.__)('Settings'),
249
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.RangeControl, {
250
- __nextHasNoMarginBottom: true,
251
- __next40pxDefaultSize: true,
249
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalToolsPanel, {
250
+ label: (0, _i18n.__)('Settings'),
251
+ dropdownMenuProps: dropdownMenuProps,
252
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, {
253
+ isShownByDefault: true,
254
+ hasValue: () => !!width,
252
255
  label: (0, _i18n.__)('Image width'),
253
- onChange: newWidth => setAttributes({
254
- width: newWidth
256
+ onDeselect: () => setAttributes({
257
+ width: undefined
255
258
  }),
256
- min: minWidth,
257
- max: maxWidthBuffer,
258
- initialPosition: Math.min(defaultWidth, maxWidthBuffer),
259
- value: width || '',
260
- disabled: !isResizable
261
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToggleControl, {
262
- __nextHasNoMarginBottom: true,
259
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.RangeControl, {
260
+ __nextHasNoMarginBottom: true,
261
+ __next40pxDefaultSize: true,
262
+ label: (0, _i18n.__)('Image width'),
263
+ onChange: newWidth => setAttributes({
264
+ width: newWidth
265
+ }),
266
+ min: minWidth,
267
+ max: maxWidthBuffer,
268
+ initialPosition: Math.min(defaultWidth, maxWidthBuffer),
269
+ value: width || '',
270
+ disabled: !isResizable
271
+ })
272
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, {
273
+ isShownByDefault: true,
274
+ hasValue: () => !isLink,
263
275
  label: (0, _i18n.__)('Link image to home'),
264
- onChange: () => setAttributes({
265
- isLink: !isLink
276
+ onDeselect: () => setAttributes({
277
+ isLink: true
278
+ }),
279
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToggleControl, {
280
+ __nextHasNoMarginBottom: true,
281
+ label: (0, _i18n.__)('Link image to home'),
282
+ onChange: () => setAttributes({
283
+ isLink: !isLink
284
+ }),
285
+ checked: isLink
286
+ })
287
+ }), isLink && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, {
288
+ isShownByDefault: true,
289
+ hasValue: () => linkTarget === '_blank',
290
+ label: (0, _i18n.__)('Open in new tab'),
291
+ onDeselect: () => setAttributes({
292
+ linkTarget: '_self'
266
293
  }),
267
- checked: isLink
268
- }), isLink && /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
269
294
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToggleControl, {
270
295
  __nextHasNoMarginBottom: true,
271
296
  label: (0, _i18n.__)('Open in new tab'),
@@ -274,7 +299,16 @@ const SiteLogo = ({
274
299
  }),
275
300
  checked: linkTarget === '_blank'
276
301
  })
277
- }), canUserEdit && /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
302
+ }), canUserEdit && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, {
303
+ isShownByDefault: true,
304
+ hasValue: () => !!shouldSyncIcon,
305
+ label: (0, _i18n.__)('Use as Site Icon'),
306
+ onDeselect: () => {
307
+ setAttributes({
308
+ shouldSyncIcon: false
309
+ });
310
+ setIcon(undefined);
311
+ },
278
312
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToggleControl, {
279
313
  __nextHasNoMarginBottom: true,
280
314
  label: (0, _i18n.__)('Use as Site Icon'),
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_blob","_element","_i18n","_components","_compose","_blockEditor","_data","_coreData","_icons","_notices","_constants","_jsxRuntime","ALLOWED_MEDIA_TYPES","ACCEPT_MEDIA_STRING","SiteLogo","alt","attributes","align","width","height","isLink","linkTarget","shouldSyncIcon","isSelected","setAttributes","setLogo","logoUrl","siteUrl","logoId","iconId","setIcon","canUserEdit","isLargeViewport","useViewportMatch","isWideAligned","includes","isResizable","naturalWidth","naturalHeight","setNaturalSize","useState","isEditingImage","setIsEditingImage","toggleSelection","useDispatch","blockEditorStore","imageEditing","maxWidth","title","useSelect","select","settings","getSettings","siteEntities","coreStore","getEntityRecord","name","useEffect","onResizeStart","onResizeStop","img","jsxs","Fragment","children","jsx","className","src","onLoad","event","target","isBlobURL","Spinner","imgWrapper","href","rel","onClick","preventDefault","style","defaultWidth","currentWidth","ratio","currentHeight","minWidth","MIN_SIZE","Math","ceil","minHeight","maxWidthBuffer","showRightHandle","showLeftHandle","isRTL","canEditImage","imgEdit","__experimentalImageEditor","id","url","onSaveImage","imageAttributes","onFinishEditing","ResizableBox","size","showHandle","maxHeight","lockAspectRatio","enable","top","right","bottom","left","direction","elt","delta","parseInt","shouldUseNewUrl","window","__experimentalUseCustomizerSiteLogoUrl","siteIconSettingsUrl","syncSiteIconHelpText","createInterpolateElement","__","a","InspectorControls","PanelBody","RangeControl","__nextHasNoMarginBottom","__next40pxDefaultSize","label","onChange","newWidth","min","max","initialPosition","value","disabled","ToggleControl","checked","undefined","help","BlockControls","group","ToolbarButton","icon","crop","SiteLogoReplaceFlow","mediaURL","mediaReplaceProps","MediaReplaceFlow","allowedTypes","accept","InspectorLogoPreview","media","itemGroupProps","alt_text","source_url","slug","logoSlug","media_details","logoMediaDetails","logoLabel","sizes","full","file","__experimentalItemGroup","as","__experimentalHStack","justify","FlexItem","__experimentalTruncate","numberOfLines","LogoEdit","siteLogoId","siteIconId","mediaItemData","isRequestingMediaItem","canUser","getEditedEntityRecord","_canUserEdit","kind","siteSettings","siteData","_siteLogoId","site_logo","_siteIconId","site_icon","mediaItem","getMedia","context","_isRequestingMediaItem","hasFinishedResolution","home","temporaryURL","setTemporaryURL","editEntityRecord","newValue","shouldForceSync","onInitialSelectLogo","onSelectLogo","onRemoveLogo","createErrorNotice","noticesStore","onUploadError","message","type","onFilesDrop","filesList","mediaUpload","onFileChange","image","onError","multiple","mediaReplaceFlowProps","onSelect","onReset","controls","logoImage","isLoading","DropZone","placeholder","content","placeholderClassName","clsx","Placeholder","preview","withIllustration","classes","blockProps","useBlockProps","mediaInspectorPanel","isBordered","renderToggle","props","Button","MediaPlaceholder","mediaLibraryButton","open","upload","variant","showTooltip","tooltipPosition"],"sources":["@wordpress/block-library/src/site-logo/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport {\n\tcreateInterpolateElement,\n\tuseEffect,\n\tuseState,\n} from '@wordpress/element';\nimport { __, isRTL } from '@wordpress/i18n';\nimport {\n\tPanelBody,\n\tRangeControl,\n\tResizableBox,\n\tSpinner,\n\tToggleControl,\n\tToolbarButton,\n\tPlaceholder,\n\tButton,\n\tDropZone,\n\tFlexItem,\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalHStack as HStack,\n\t__experimentalTruncate as Truncate,\n} from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalImageEditor as ImageEditor,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { crop, upload } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { MIN_SIZE } from '../image/constants';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\nconst ACCEPT_MEDIA_STRING = 'image/*';\n\nconst SiteLogo = ( {\n\talt,\n\tattributes: { align, width, height, isLink, linkTarget, shouldSyncIcon },\n\tisSelected,\n\tsetAttributes,\n\tsetLogo,\n\tlogoUrl,\n\tsiteUrl,\n\tlogoId,\n\ticonId,\n\tsetIcon,\n\tcanUserEdit,\n} ) => {\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst isWideAligned = [ 'wide', 'full' ].includes( align );\n\tconst isResizable = ! isWideAligned && isLargeViewport;\n\tconst [ { naturalWidth, naturalHeight }, setNaturalSize ] = useState( {} );\n\tconst [ isEditingImage, setIsEditingImage ] = useState( false );\n\tconst { toggleSelection } = useDispatch( blockEditorStore );\n\tconst { imageEditing, maxWidth, title } = useSelect( ( select ) => {\n\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\tconst siteEntities = select( coreStore ).getEntityRecord(\n\t\t\t'root',\n\t\t\t'__unstableBase'\n\t\t);\n\t\treturn {\n\t\t\ttitle: siteEntities?.name,\n\t\t\timageEditing: settings.imageEditing,\n\t\t\tmaxWidth: settings.maxWidth,\n\t\t};\n\t}, [] );\n\n\tuseEffect( () => {\n\t\t// Turn the `Use as site icon` toggle off if it is on but the logo and icon have\n\t\t// fallen out of sync. This can happen if the toggle is saved in the `on` position,\n\t\t// but changes are later made to the site icon in the Customizer.\n\t\tif ( shouldSyncIcon && logoId !== iconId ) {\n\t\t\tsetAttributes( { shouldSyncIcon: false } );\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsEditingImage( false );\n\t\t}\n\t}, [ isSelected ] );\n\n\tfunction onResizeStart() {\n\t\ttoggleSelection( false );\n\t}\n\n\tfunction onResizeStop() {\n\t\ttoggleSelection( true );\n\t}\n\n\tconst img = (\n\t\t<>\n\t\t\t<img\n\t\t\t\tclassName=\"custom-logo\"\n\t\t\t\tsrc={ logoUrl }\n\t\t\t\talt={ alt }\n\t\t\t\tonLoad={ ( event ) => {\n\t\t\t\t\tsetNaturalSize( {\n\t\t\t\t\t\tnaturalWidth: event.target.naturalWidth,\n\t\t\t\t\t\tnaturalHeight: event.target.naturalHeight,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t{ isBlobURL( logoUrl ) && <Spinner /> }\n\t\t</>\n\t);\n\n\tlet imgWrapper = img;\n\n\t// Disable reason: Image itself is not meant to be interactive, but\n\t// should direct focus to block.\n\tif ( isLink ) {\n\t\timgWrapper = (\n\t\t\t/* eslint-disable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t\t<a\n\t\t\t\thref={ siteUrl }\n\t\t\t\tclassName=\"custom-logo-link\"\n\t\t\t\trel=\"home\"\n\t\t\t\ttitle={ title }\n\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t>\n\t\t\t\t{ img }\n\t\t\t</a>\n\t\t\t/* eslint-enable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t);\n\t}\n\n\tif ( ! isResizable || ! naturalWidth || ! naturalHeight ) {\n\t\treturn <div style={ { width, height } }>{ imgWrapper }</div>;\n\t}\n\n\t// Set the default width to a responsible size.\n\t// Note that this width is also set in the attached frontend CSS file.\n\tconst defaultWidth = 120;\n\n\tconst currentWidth = width || defaultWidth;\n\tconst ratio = naturalWidth / naturalHeight;\n\tconst currentHeight = currentWidth / ratio;\n\tconst minWidth =\n\t\tnaturalWidth < naturalHeight ? MIN_SIZE : Math.ceil( MIN_SIZE * ratio );\n\tconst minHeight =\n\t\tnaturalHeight < naturalWidth ? MIN_SIZE : Math.ceil( MIN_SIZE / ratio );\n\n\t// With the current implementation of ResizableBox, an image needs an\n\t// explicit pixel value for the max-width. In absence of being able to\n\t// set the content-width, this max-width is currently dictated by the\n\t// vanilla editor style. The following variable adds a buffer to this\n\t// vanilla style, so 3rd party themes have some wiggleroom. This does,\n\t// in most cases, allow you to scale the image beyond the width of the\n\t// main column, though not infinitely.\n\t// @todo It would be good to revisit this once a content-width variable\n\t// becomes available.\n\tconst maxWidthBuffer = maxWidth * 2.5;\n\n\tlet showRightHandle = false;\n\tlet showLeftHandle = false;\n\n\t/* eslint-disable no-lonely-if */\n\t// See https://github.com/WordPress/gutenberg/issues/7584.\n\tif ( align === 'center' ) {\n\t\t// When the image is centered, show both handles.\n\t\tshowRightHandle = true;\n\t\tshowLeftHandle = true;\n\t} else if ( isRTL() ) {\n\t\t// In RTL mode the image is on the right by default.\n\t\t// Show the right handle and hide the left handle only when it is\n\t\t// aligned left. Otherwise always show the left handle.\n\t\tif ( align === 'left' ) {\n\t\t\tshowRightHandle = true;\n\t\t} else {\n\t\t\tshowLeftHandle = true;\n\t\t}\n\t} else {\n\t\t// Show the left handle and hide the right handle only when the\n\t\t// image is aligned right. Otherwise always show the right handle.\n\t\tif ( align === 'right' ) {\n\t\t\tshowLeftHandle = true;\n\t\t} else {\n\t\t\tshowRightHandle = true;\n\t\t}\n\t}\n\t/* eslint-enable no-lonely-if */\n\n\tconst canEditImage =\n\t\tlogoId && naturalWidth && naturalHeight && imageEditing;\n\n\tconst imgEdit =\n\t\tcanEditImage && isEditingImage ? (\n\t\t\t<ImageEditor\n\t\t\t\tid={ logoId }\n\t\t\t\turl={ logoUrl }\n\t\t\t\twidth={ currentWidth }\n\t\t\t\theight={ currentHeight }\n\t\t\t\tnaturalHeight={ naturalHeight }\n\t\t\t\tnaturalWidth={ naturalWidth }\n\t\t\t\tonSaveImage={ ( imageAttributes ) => {\n\t\t\t\t\tsetLogo( imageAttributes.id );\n\t\t\t\t} }\n\t\t\t\tonFinishEditing={ () => {\n\t\t\t\t\tsetIsEditingImage( false );\n\t\t\t\t} }\n\t\t\t/>\n\t\t) : (\n\t\t\t<ResizableBox\n\t\t\t\tsize={ {\n\t\t\t\t\twidth: currentWidth,\n\t\t\t\t\theight: currentHeight,\n\t\t\t\t} }\n\t\t\t\tshowHandle={ isSelected }\n\t\t\t\tminWidth={ minWidth }\n\t\t\t\tmaxWidth={ maxWidthBuffer }\n\t\t\t\tminHeight={ minHeight }\n\t\t\t\tmaxHeight={ maxWidthBuffer / ratio }\n\t\t\t\tlockAspectRatio\n\t\t\t\tenable={ {\n\t\t\t\t\ttop: false,\n\t\t\t\t\tright: showRightHandle,\n\t\t\t\t\tbottom: true,\n\t\t\t\t\tleft: showLeftHandle,\n\t\t\t\t} }\n\t\t\t\tonResizeStart={ onResizeStart }\n\t\t\t\tonResizeStop={ ( event, direction, elt, delta ) => {\n\t\t\t\t\tonResizeStop();\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: parseInt( currentWidth + delta.width, 10 ),\n\t\t\t\t\t\theight: parseInt( currentHeight + delta.height, 10 ),\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ imgWrapper }\n\t\t\t</ResizableBox>\n\t\t);\n\n\t// Support the previous location for the Site Icon settings. To be removed\n\t// when the required WP core version for Gutenberg is >= 6.5.0.\n\tconst shouldUseNewUrl = ! window?.__experimentalUseCustomizerSiteLogoUrl;\n\n\tconst siteIconSettingsUrl = shouldUseNewUrl\n\t\t? siteUrl + '/wp-admin/options-general.php'\n\t\t: siteUrl + '/wp-admin/customize.php?autofocus[section]=title_tagline';\n\n\tconst syncSiteIconHelpText = createInterpolateElement(\n\t\t__(\n\t\t\t'Site Icons are what you see in browser tabs, bookmark bars, and within the WordPress mobile apps. To use a custom icon that is different from your site logo, use the <a>Site Icon settings</a>.'\n\t\t),\n\t\t{\n\t\t\ta: (\n\t\t\t\t// eslint-disable-next-line jsx-a11y/anchor-has-content\n\t\t\t\t<a\n\t\t\t\t\thref={ siteIconSettingsUrl }\n\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t/>\n\t\t\t),\n\t\t}\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Image width' ) }\n\t\t\t\t\t\tonChange={ ( newWidth ) =>\n\t\t\t\t\t\t\tsetAttributes( { width: newWidth } )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tmin={ minWidth }\n\t\t\t\t\t\tmax={ maxWidthBuffer }\n\t\t\t\t\t\tinitialPosition={ Math.min(\n\t\t\t\t\t\t\tdefaultWidth,\n\t\t\t\t\t\t\tmaxWidthBuffer\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tvalue={ width || '' }\n\t\t\t\t\t\tdisabled={ ! isResizable }\n\t\t\t\t\t/>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Link image to home' ) }\n\t\t\t\t\t\tonChange={ () => setAttributes( { isLink: ! isLink } ) }\n\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t/>\n\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t\t{ canUserEdit && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Use as Site Icon' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( { shouldSyncIcon: value } );\n\t\t\t\t\t\t\t\t\tsetIcon( value ? logoId : undefined );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tchecked={ !! shouldSyncIcon }\n\t\t\t\t\t\t\t\thelp={ syncSiteIconHelpText }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t{ canEditImage && ! isEditingImage && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tonClick={ () => setIsEditingImage( true ) }\n\t\t\t\t\t\ticon={ crop }\n\t\t\t\t\t\tlabel={ __( 'Crop' ) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t{ imgEdit }\n\t\t</>\n\t);\n};\n\n// This is a light wrapper around MediaReplaceFlow because the block has two\n// different MediaReplaceFlows, one for the inspector and one for the toolbar.\nfunction SiteLogoReplaceFlow( { mediaURL, ...mediaReplaceProps } ) {\n\treturn (\n\t\t<MediaReplaceFlow\n\t\t\t{ ...mediaReplaceProps }\n\t\t\tmediaURL={ mediaURL }\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\taccept={ ACCEPT_MEDIA_STRING }\n\t\t/>\n\t);\n}\n\nconst InspectorLogoPreview = ( { media, itemGroupProps } ) => {\n\tconst {\n\t\talt_text: alt,\n\t\tsource_url: logoUrl,\n\t\tslug: logoSlug,\n\t\tmedia_details: logoMediaDetails,\n\t} = media ?? {};\n\tconst logoLabel = logoMediaDetails?.sizes?.full?.file || logoSlug;\n\treturn (\n\t\t<ItemGroup { ...itemGroupProps } as=\"span\">\n\t\t\t<HStack justify=\"flex-start\" as=\"span\">\n\t\t\t\t<img src={ logoUrl } alt={ alt } />\n\t\t\t\t<FlexItem as=\"span\">\n\t\t\t\t\t<Truncate\n\t\t\t\t\t\tnumberOfLines={ 1 }\n\t\t\t\t\t\tclassName=\"block-library-site-logo__inspector-media-replace-title\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ logoLabel }\n\t\t\t\t\t</Truncate>\n\t\t\t\t</FlexItem>\n\t\t\t</HStack>\n\t\t</ItemGroup>\n\t);\n};\n\nexport default function LogoEdit( {\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tisSelected,\n} ) {\n\tconst { width, shouldSyncIcon } = attributes;\n\tconst {\n\t\tsiteLogoId,\n\t\tcanUserEdit,\n\t\turl,\n\t\tsiteIconId,\n\t\tmediaItemData,\n\t\tisRequestingMediaItem,\n\t} = useSelect( ( select ) => {\n\t\tconst { canUser, getEntityRecord, getEditedEntityRecord } =\n\t\t\tselect( coreStore );\n\t\tconst _canUserEdit = canUser( 'update', {\n\t\t\tkind: 'root',\n\t\t\tname: 'site',\n\t\t} );\n\t\tconst siteSettings = _canUserEdit\n\t\t\t? getEditedEntityRecord( 'root', 'site' )\n\t\t\t: undefined;\n\t\tconst siteData = getEntityRecord( 'root', '__unstableBase' );\n\t\tconst _siteLogoId = _canUserEdit\n\t\t\t? siteSettings?.site_logo\n\t\t\t: siteData?.site_logo;\n\t\tconst _siteIconId = siteSettings?.site_icon;\n\t\tconst mediaItem =\n\t\t\t_siteLogoId &&\n\t\t\tselect( coreStore ).getMedia( _siteLogoId, {\n\t\t\t\tcontext: 'view',\n\t\t\t} );\n\t\tconst _isRequestingMediaItem =\n\t\t\t!! _siteLogoId &&\n\t\t\t! select( coreStore ).hasFinishedResolution( 'getMedia', [\n\t\t\t\t_siteLogoId,\n\t\t\t\t{ context: 'view' },\n\t\t\t] );\n\n\t\treturn {\n\t\t\tsiteLogoId: _siteLogoId,\n\t\t\tcanUserEdit: _canUserEdit,\n\t\t\turl: siteData?.home,\n\t\t\tmediaItemData: mediaItem,\n\t\t\tisRequestingMediaItem: _isRequestingMediaItem,\n\t\t\tsiteIconId: _siteIconId,\n\t\t};\n\t}, [] );\n\tconst { getSettings } = useSelect( blockEditorStore );\n\tconst [ temporaryURL, setTemporaryURL ] = useState();\n\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\n\tconst setLogo = ( newValue, shouldForceSync = false ) => {\n\t\t// `shouldForceSync` is used to force syncing when the attribute\n\t\t// may not have updated yet.\n\t\tif ( shouldSyncIcon || shouldForceSync ) {\n\t\t\tsetIcon( newValue );\n\t\t}\n\n\t\teditEntityRecord( 'root', 'site', undefined, {\n\t\t\tsite_logo: newValue,\n\t\t} );\n\t};\n\n\tconst setIcon = ( newValue ) =>\n\t\t// The new value needs to be `null` to reset the Site Icon.\n\t\teditEntityRecord( 'root', 'site', undefined, {\n\t\t\tsite_icon: newValue ?? null,\n\t\t} );\n\n\tconst { alt_text: alt, source_url: logoUrl } = mediaItemData ?? {};\n\n\tconst onInitialSelectLogo = ( media ) => {\n\t\t// Initialize the syncSiteIcon toggle. If we currently have no Site logo and no\n\t\t// site icon, automatically sync the logo to the icon.\n\t\tif ( shouldSyncIcon === undefined ) {\n\t\t\tconst shouldForceSync = ! siteIconId;\n\t\t\tsetAttributes( { shouldSyncIcon: shouldForceSync } );\n\n\t\t\t// Because we cannot rely on the `shouldSyncIcon` attribute to have updated by\n\t\t\t// the time `setLogo` is called, pass an argument to force the syncing.\n\t\t\tonSelectLogo( media, shouldForceSync );\n\t\t\treturn;\n\t\t}\n\n\t\tonSelectLogo( media );\n\t};\n\n\tconst onSelectLogo = ( media, shouldForceSync = false ) => {\n\t\tif ( ! media ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! media.id && media.url ) {\n\t\t\t// This is a temporary blob image.\n\t\t\tsetTemporaryURL( media.url );\n\t\t\tsetLogo( undefined );\n\t\t\treturn;\n\t\t}\n\n\t\tsetLogo( media.id, shouldForceSync );\n\t};\n\n\tconst onRemoveLogo = () => {\n\t\tsetLogo( null );\n\t\tsetAttributes( { width: undefined } );\n\t};\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t\tsetTemporaryURL();\n\t};\n\n\tconst onFilesDrop = ( filesList ) => {\n\t\tgetSettings().mediaUpload( {\n\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\tfilesList,\n\t\t\tonFileChange( [ image ] ) {\n\t\t\t\tif ( isBlobURL( image?.url ) ) {\n\t\t\t\t\tsetTemporaryURL( image.url );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tonInitialSelectLogo( image );\n\t\t\t},\n\t\t\tonError: onUploadError,\n\t\t\tmultiple: false,\n\t\t} );\n\t};\n\n\tconst mediaReplaceFlowProps = {\n\t\tmediaURL: logoUrl,\n\t\tname: ! logoUrl ? __( 'Choose logo' ) : __( 'Replace' ),\n\t\tonSelect: onSelectLogo,\n\t\tonError: onUploadError,\n\t\tonReset: onRemoveLogo,\n\t};\n\tconst controls = canUserEdit && (\n\t\t<BlockControls group=\"other\">\n\t\t\t<SiteLogoReplaceFlow { ...mediaReplaceFlowProps } />\n\t\t</BlockControls>\n\t);\n\n\tlet logoImage;\n\tconst isLoading = siteLogoId === undefined || isRequestingMediaItem;\n\tif ( isLoading ) {\n\t\tlogoImage = <Spinner />;\n\t}\n\n\t// Reset temporary url when logoUrl is available.\n\tuseEffect( () => {\n\t\tif ( logoUrl && temporaryURL ) {\n\t\t\tsetTemporaryURL();\n\t\t}\n\t}, [ logoUrl, temporaryURL ] );\n\n\tif ( !! logoUrl || !! temporaryURL ) {\n\t\tlogoImage = (\n\t\t\t<>\n\t\t\t\t<SiteLogo\n\t\t\t\t\talt={ alt }\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tclassName={ className }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tlogoUrl={ temporaryURL || logoUrl }\n\t\t\t\t\tsetLogo={ setLogo }\n\t\t\t\t\tlogoId={ mediaItemData?.id || siteLogoId }\n\t\t\t\t\tsiteUrl={ url }\n\t\t\t\t\tsetIcon={ setIcon }\n\t\t\t\t\ticonId={ siteIconId }\n\t\t\t\t\tcanUserEdit={ canUserEdit }\n\t\t\t\t/>\n\t\t\t\t{ canUserEdit && <DropZone onFilesDrop={ onFilesDrop } /> }\n\t\t\t</>\n\t\t);\n\t}\n\tconst placeholder = ( content ) => {\n\t\tconst placeholderClassName = clsx(\n\t\t\t'block-editor-media-placeholder',\n\t\t\tclassName\n\t\t);\n\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName={ placeholderClassName }\n\t\t\t\tpreview={ logoImage }\n\t\t\t\twithIllustration\n\t\t\t\tstyle={ {\n\t\t\t\t\twidth,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ content }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\tconst classes = clsx( className, {\n\t\t'is-default-size': ! width,\n\t\t'is-transient': temporaryURL,\n\t} );\n\n\tconst blockProps = useBlockProps( { className: classes } );\n\n\tconst mediaInspectorPanel = ( canUserEdit || logoUrl ) && (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Media' ) }>\n\t\t\t\t<div className=\"block-library-site-logo__inspector-media-replace-container\">\n\t\t\t\t\t{ ! canUserEdit ? (\n\t\t\t\t\t\t<InspectorLogoPreview\n\t\t\t\t\t\t\tmedia={ mediaItemData }\n\t\t\t\t\t\t\titemGroupProps={ {\n\t\t\t\t\t\t\t\tisBordered: true,\n\t\t\t\t\t\t\t\tclassName:\n\t\t\t\t\t\t\t\t\t'block-library-site-logo__inspector-readonly-logo-preview',\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<SiteLogoReplaceFlow\n\t\t\t\t\t\t\t\t{ ...mediaReplaceFlowProps }\n\t\t\t\t\t\t\t\tname={\n\t\t\t\t\t\t\t\t\t!! logoUrl ? (\n\t\t\t\t\t\t\t\t\t\t<InspectorLogoPreview\n\t\t\t\t\t\t\t\t\t\t\tmedia={ mediaItemData }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t__( 'Choose logo' )\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\trenderToggle={ ( props ) => (\n\t\t\t\t\t\t\t\t\t<Button { ...props } __next40pxDefaultSize>\n\t\t\t\t\t\t\t\t\t\t{ temporaryURL ? (\n\t\t\t\t\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\tprops.children\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<DropZone onFilesDrop={ onFilesDrop } />\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t{ controls }\n\t\t\t{ mediaInspectorPanel }\n\t\t\t{ ( !! logoUrl || !! temporaryURL ) && logoImage }\n\t\t\t{ ( isLoading ||\n\t\t\t\t( ! temporaryURL && ! logoUrl && ! canUserEdit ) ) && (\n\t\t\t\t<Placeholder className=\"site-logo_placeholder\" withIllustration>\n\t\t\t\t\t{ isLoading && (\n\t\t\t\t\t\t<span className=\"components-placeholder__preview\">\n\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</Placeholder>\n\t\t\t) }\n\t\t\t{ ! isLoading && ! temporaryURL && ! logoUrl && canUserEdit && (\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\tonSelect={ onInitialSelectLogo }\n\t\t\t\t\taccept={ ACCEPT_MEDIA_STRING }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t\tmediaLibraryButton={ ( { open } ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Choose logo' ) }\n\t\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\t\ttooltipPosition=\"middle right\"\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\topen();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_blob","_element","_i18n","_components","_compose","_blockEditor","_data","_coreData","_icons","_notices","_constants","_hooks","_jsxRuntime","ALLOWED_MEDIA_TYPES","ACCEPT_MEDIA_STRING","SiteLogo","alt","attributes","align","width","height","isLink","linkTarget","shouldSyncIcon","isSelected","setAttributes","setLogo","logoUrl","siteUrl","logoId","iconId","setIcon","canUserEdit","isLargeViewport","useViewportMatch","isWideAligned","includes","isResizable","naturalWidth","naturalHeight","setNaturalSize","useState","isEditingImage","setIsEditingImage","toggleSelection","useDispatch","blockEditorStore","dropdownMenuProps","useToolsPanelDropdownMenuProps","imageEditing","maxWidth","title","useSelect","select","settings","getSettings","siteEntities","coreStore","getEntityRecord","name","useEffect","onResizeStart","onResizeStop","img","jsxs","Fragment","children","jsx","className","src","onLoad","event","target","isBlobURL","Spinner","imgWrapper","href","rel","onClick","preventDefault","style","defaultWidth","currentWidth","ratio","currentHeight","minWidth","MIN_SIZE","Math","ceil","minHeight","maxWidthBuffer","showRightHandle","showLeftHandle","isRTL","canEditImage","imgEdit","__experimentalImageEditor","id","url","onSaveImage","imageAttributes","onFinishEditing","ResizableBox","size","showHandle","maxHeight","lockAspectRatio","enable","top","right","bottom","left","direction","elt","delta","parseInt","shouldUseNewUrl","window","__experimentalUseCustomizerSiteLogoUrl","siteIconSettingsUrl","syncSiteIconHelpText","createInterpolateElement","__","a","InspectorControls","__experimentalToolsPanel","label","__experimentalToolsPanelItem","isShownByDefault","hasValue","onDeselect","undefined","RangeControl","__nextHasNoMarginBottom","__next40pxDefaultSize","onChange","newWidth","min","max","initialPosition","value","disabled","ToggleControl","checked","help","BlockControls","group","ToolbarButton","icon","crop","SiteLogoReplaceFlow","mediaURL","mediaReplaceProps","MediaReplaceFlow","allowedTypes","accept","InspectorLogoPreview","media","itemGroupProps","alt_text","source_url","slug","logoSlug","media_details","logoMediaDetails","logoLabel","sizes","full","file","__experimentalItemGroup","as","__experimentalHStack","justify","FlexItem","__experimentalTruncate","numberOfLines","LogoEdit","siteLogoId","siteIconId","mediaItemData","isRequestingMediaItem","canUser","getEditedEntityRecord","_canUserEdit","kind","siteSettings","siteData","_siteLogoId","site_logo","_siteIconId","site_icon","mediaItem","getMedia","context","_isRequestingMediaItem","hasFinishedResolution","home","temporaryURL","setTemporaryURL","editEntityRecord","newValue","shouldForceSync","onInitialSelectLogo","onSelectLogo","onRemoveLogo","createErrorNotice","noticesStore","onUploadError","message","type","onFilesDrop","filesList","mediaUpload","onFileChange","image","onError","multiple","mediaReplaceFlowProps","onSelect","onReset","controls","logoImage","isLoading","DropZone","placeholder","content","placeholderClassName","clsx","Placeholder","preview","withIllustration","classes","blockProps","useBlockProps","mediaInspectorPanel","PanelBody","isBordered","renderToggle","props","Button","MediaPlaceholder","mediaLibraryButton","open","upload","variant","showTooltip","tooltipPosition"],"sources":["@wordpress/block-library/src/site-logo/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { isBlobURL } from '@wordpress/blob';\nimport {\n\tcreateInterpolateElement,\n\tuseEffect,\n\tuseState,\n} from '@wordpress/element';\nimport { __, isRTL } from '@wordpress/i18n';\nimport {\n\tRangeControl,\n\tResizableBox,\n\tSpinner,\n\tToggleControl,\n\tToolbarButton,\n\tPlaceholder,\n\tButton,\n\tDropZone,\n\tFlexItem,\n\tPanelBody,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalHStack as HStack,\n\t__experimentalTruncate as Truncate,\n} from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\nimport {\n\tBlockControls,\n\tInspectorControls,\n\tMediaPlaceholder,\n\tMediaReplaceFlow,\n\tuseBlockProps,\n\tstore as blockEditorStore,\n\t__experimentalImageEditor as ImageEditor,\n} from '@wordpress/block-editor';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { crop, upload } from '@wordpress/icons';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { MIN_SIZE } from '../image/constants';\nimport { useToolsPanelDropdownMenuProps } from '../utils/hooks';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\nconst ACCEPT_MEDIA_STRING = 'image/*';\n\nconst SiteLogo = ( {\n\talt,\n\tattributes: { align, width, height, isLink, linkTarget, shouldSyncIcon },\n\tisSelected,\n\tsetAttributes,\n\tsetLogo,\n\tlogoUrl,\n\tsiteUrl,\n\tlogoId,\n\ticonId,\n\tsetIcon,\n\tcanUserEdit,\n} ) => {\n\tconst isLargeViewport = useViewportMatch( 'medium' );\n\tconst isWideAligned = [ 'wide', 'full' ].includes( align );\n\tconst isResizable = ! isWideAligned && isLargeViewport;\n\tconst [ { naturalWidth, naturalHeight }, setNaturalSize ] = useState( {} );\n\tconst [ isEditingImage, setIsEditingImage ] = useState( false );\n\tconst { toggleSelection } = useDispatch( blockEditorStore );\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\n\tconst { imageEditing, maxWidth, title } = useSelect( ( select ) => {\n\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\tconst siteEntities = select( coreStore ).getEntityRecord(\n\t\t\t'root',\n\t\t\t'__unstableBase'\n\t\t);\n\t\treturn {\n\t\t\ttitle: siteEntities?.name,\n\t\t\timageEditing: settings.imageEditing,\n\t\t\tmaxWidth: settings.maxWidth,\n\t\t};\n\t}, [] );\n\n\tuseEffect( () => {\n\t\t// Turn the `Use as site icon` toggle off if it is on but the logo and icon have\n\t\t// fallen out of sync. This can happen if the toggle is saved in the `on` position,\n\t\t// but changes are later made to the site icon in the Customizer.\n\t\tif ( shouldSyncIcon && logoId !== iconId ) {\n\t\t\tsetAttributes( { shouldSyncIcon: false } );\n\t\t}\n\t}, [] );\n\n\tuseEffect( () => {\n\t\tif ( ! isSelected ) {\n\t\t\tsetIsEditingImage( false );\n\t\t}\n\t}, [ isSelected ] );\n\n\tfunction onResizeStart() {\n\t\ttoggleSelection( false );\n\t}\n\n\tfunction onResizeStop() {\n\t\ttoggleSelection( true );\n\t}\n\n\tconst img = (\n\t\t<>\n\t\t\t<img\n\t\t\t\tclassName=\"custom-logo\"\n\t\t\t\tsrc={ logoUrl }\n\t\t\t\talt={ alt }\n\t\t\t\tonLoad={ ( event ) => {\n\t\t\t\t\tsetNaturalSize( {\n\t\t\t\t\t\tnaturalWidth: event.target.naturalWidth,\n\t\t\t\t\t\tnaturalHeight: event.target.naturalHeight,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t{ isBlobURL( logoUrl ) && <Spinner /> }\n\t\t</>\n\t);\n\n\tlet imgWrapper = img;\n\n\t// Disable reason: Image itself is not meant to be interactive, but\n\t// should direct focus to block.\n\tif ( isLink ) {\n\t\timgWrapper = (\n\t\t\t/* eslint-disable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t\t<a\n\t\t\t\thref={ siteUrl }\n\t\t\t\tclassName=\"custom-logo-link\"\n\t\t\t\trel=\"home\"\n\t\t\t\ttitle={ title }\n\t\t\t\tonClick={ ( event ) => event.preventDefault() }\n\t\t\t>\n\t\t\t\t{ img }\n\t\t\t</a>\n\t\t\t/* eslint-enable jsx-a11y/no-noninteractive-element-interactions, jsx-a11y/click-events-have-key-events */\n\t\t);\n\t}\n\n\tif ( ! isResizable || ! naturalWidth || ! naturalHeight ) {\n\t\treturn <div style={ { width, height } }>{ imgWrapper }</div>;\n\t}\n\n\t// Set the default width to a responsible size.\n\t// Note that this width is also set in the attached frontend CSS file.\n\tconst defaultWidth = 120;\n\n\tconst currentWidth = width || defaultWidth;\n\tconst ratio = naturalWidth / naturalHeight;\n\tconst currentHeight = currentWidth / ratio;\n\tconst minWidth =\n\t\tnaturalWidth < naturalHeight ? MIN_SIZE : Math.ceil( MIN_SIZE * ratio );\n\tconst minHeight =\n\t\tnaturalHeight < naturalWidth ? MIN_SIZE : Math.ceil( MIN_SIZE / ratio );\n\n\t// With the current implementation of ResizableBox, an image needs an\n\t// explicit pixel value for the max-width. In absence of being able to\n\t// set the content-width, this max-width is currently dictated by the\n\t// vanilla editor style. The following variable adds a buffer to this\n\t// vanilla style, so 3rd party themes have some wiggleroom. This does,\n\t// in most cases, allow you to scale the image beyond the width of the\n\t// main column, though not infinitely.\n\t// @todo It would be good to revisit this once a content-width variable\n\t// becomes available.\n\tconst maxWidthBuffer = maxWidth * 2.5;\n\n\tlet showRightHandle = false;\n\tlet showLeftHandle = false;\n\n\t/* eslint-disable no-lonely-if */\n\t// See https://github.com/WordPress/gutenberg/issues/7584.\n\tif ( align === 'center' ) {\n\t\t// When the image is centered, show both handles.\n\t\tshowRightHandle = true;\n\t\tshowLeftHandle = true;\n\t} else if ( isRTL() ) {\n\t\t// In RTL mode the image is on the right by default.\n\t\t// Show the right handle and hide the left handle only when it is\n\t\t// aligned left. Otherwise always show the left handle.\n\t\tif ( align === 'left' ) {\n\t\t\tshowRightHandle = true;\n\t\t} else {\n\t\t\tshowLeftHandle = true;\n\t\t}\n\t} else {\n\t\t// Show the left handle and hide the right handle only when the\n\t\t// image is aligned right. Otherwise always show the right handle.\n\t\tif ( align === 'right' ) {\n\t\t\tshowLeftHandle = true;\n\t\t} else {\n\t\t\tshowRightHandle = true;\n\t\t}\n\t}\n\t/* eslint-enable no-lonely-if */\n\n\tconst canEditImage =\n\t\tlogoId && naturalWidth && naturalHeight && imageEditing;\n\n\tconst imgEdit =\n\t\tcanEditImage && isEditingImage ? (\n\t\t\t<ImageEditor\n\t\t\t\tid={ logoId }\n\t\t\t\turl={ logoUrl }\n\t\t\t\twidth={ currentWidth }\n\t\t\t\theight={ currentHeight }\n\t\t\t\tnaturalHeight={ naturalHeight }\n\t\t\t\tnaturalWidth={ naturalWidth }\n\t\t\t\tonSaveImage={ ( imageAttributes ) => {\n\t\t\t\t\tsetLogo( imageAttributes.id );\n\t\t\t\t} }\n\t\t\t\tonFinishEditing={ () => {\n\t\t\t\t\tsetIsEditingImage( false );\n\t\t\t\t} }\n\t\t\t/>\n\t\t) : (\n\t\t\t<ResizableBox\n\t\t\t\tsize={ {\n\t\t\t\t\twidth: currentWidth,\n\t\t\t\t\theight: currentHeight,\n\t\t\t\t} }\n\t\t\t\tshowHandle={ isSelected }\n\t\t\t\tminWidth={ minWidth }\n\t\t\t\tmaxWidth={ maxWidthBuffer }\n\t\t\t\tminHeight={ minHeight }\n\t\t\t\tmaxHeight={ maxWidthBuffer / ratio }\n\t\t\t\tlockAspectRatio\n\t\t\t\tenable={ {\n\t\t\t\t\ttop: false,\n\t\t\t\t\tright: showRightHandle,\n\t\t\t\t\tbottom: true,\n\t\t\t\t\tleft: showLeftHandle,\n\t\t\t\t} }\n\t\t\t\tonResizeStart={ onResizeStart }\n\t\t\t\tonResizeStop={ ( event, direction, elt, delta ) => {\n\t\t\t\t\tonResizeStop();\n\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\twidth: parseInt( currentWidth + delta.width, 10 ),\n\t\t\t\t\t\theight: parseInt( currentHeight + delta.height, 10 ),\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ imgWrapper }\n\t\t\t</ResizableBox>\n\t\t);\n\n\t// Support the previous location for the Site Icon settings. To be removed\n\t// when the required WP core version for Gutenberg is >= 6.5.0.\n\tconst shouldUseNewUrl = ! window?.__experimentalUseCustomizerSiteLogoUrl;\n\n\tconst siteIconSettingsUrl = shouldUseNewUrl\n\t\t? siteUrl + '/wp-admin/options-general.php'\n\t\t: siteUrl + '/wp-admin/customize.php?autofocus[section]=title_tagline';\n\n\tconst syncSiteIconHelpText = createInterpolateElement(\n\t\t__(\n\t\t\t'Site Icons are what you see in browser tabs, bookmark bars, and within the WordPress mobile apps. To use a custom icon that is different from your site logo, use the <a>Site Icon settings</a>.'\n\t\t),\n\t\t{\n\t\t\ta: (\n\t\t\t\t// eslint-disable-next-line jsx-a11y/anchor-has-content\n\t\t\t\t<a\n\t\t\t\t\thref={ siteIconSettingsUrl }\n\t\t\t\t\ttarget=\"_blank\"\n\t\t\t\t\trel=\"noopener noreferrer\"\n\t\t\t\t/>\n\t\t\t),\n\t\t}\n\t);\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<ToolsPanel\n\t\t\t\t\tlabel={ __( 'Settings' ) }\n\t\t\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t\t\t>\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => !! width }\n\t\t\t\t\t\tlabel={ __( 'Image width' ) }\n\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\tsetAttributes( { width: undefined } )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tlabel={ __( 'Image width' ) }\n\t\t\t\t\t\t\tonChange={ ( newWidth ) =>\n\t\t\t\t\t\t\t\tsetAttributes( { width: newWidth } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tmin={ minWidth }\n\t\t\t\t\t\t\tmax={ maxWidthBuffer }\n\t\t\t\t\t\t\tinitialPosition={ Math.min(\n\t\t\t\t\t\t\t\tdefaultWidth,\n\t\t\t\t\t\t\t\tmaxWidthBuffer\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tvalue={ width || '' }\n\t\t\t\t\t\t\tdisabled={ ! isResizable }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\thasValue={ () => ! isLink }\n\t\t\t\t\t\tlabel={ __( 'Link image to home' ) }\n\t\t\t\t\t\tonDeselect={ () => setAttributes( { isLink: true } ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tlabel={ __( 'Link image to home' ) }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { isLink: ! isLink } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tchecked={ isLink }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToolsPanelItem>\n\n\t\t\t\t\t{ isLink && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\thasValue={ () => linkTarget === '_blank' }\n\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\tonDeselect={ () =>\n\t\t\t\t\t\t\t\tsetAttributes( { linkTarget: '_self' } )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Open in new tab' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tlinkTarget: value ? '_blank' : '_self',\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tchecked={ linkTarget === '_blank' }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ canUserEdit && (\n\t\t\t\t\t\t<ToolsPanelItem\n\t\t\t\t\t\t\tisShownByDefault\n\t\t\t\t\t\t\thasValue={ () => !! shouldSyncIcon }\n\t\t\t\t\t\t\tlabel={ __( 'Use as Site Icon' ) }\n\t\t\t\t\t\t\tonDeselect={ () => {\n\t\t\t\t\t\t\t\tsetAttributes( { shouldSyncIcon: false } );\n\t\t\t\t\t\t\t\tsetIcon( undefined );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Use as Site Icon' ) }\n\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\tsetAttributes( { shouldSyncIcon: value } );\n\t\t\t\t\t\t\t\t\tsetIcon( value ? logoId : undefined );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tchecked={ !! shouldSyncIcon }\n\t\t\t\t\t\t\t\thelp={ syncSiteIconHelpText }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</ToolsPanelItem>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsPanel>\n\t\t\t</InspectorControls>\n\t\t\t<BlockControls group=\"block\">\n\t\t\t\t{ canEditImage && ! isEditingImage && (\n\t\t\t\t\t<ToolbarButton\n\t\t\t\t\t\tonClick={ () => setIsEditingImage( true ) }\n\t\t\t\t\t\ticon={ crop }\n\t\t\t\t\t\tlabel={ __( 'Crop' ) }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</BlockControls>\n\t\t\t{ imgEdit }\n\t\t</>\n\t);\n};\n\n// This is a light wrapper around MediaReplaceFlow because the block has two\n// different MediaReplaceFlows, one for the inspector and one for the toolbar.\nfunction SiteLogoReplaceFlow( { mediaURL, ...mediaReplaceProps } ) {\n\treturn (\n\t\t<MediaReplaceFlow\n\t\t\t{ ...mediaReplaceProps }\n\t\t\tmediaURL={ mediaURL }\n\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\taccept={ ACCEPT_MEDIA_STRING }\n\t\t/>\n\t);\n}\n\nconst InspectorLogoPreview = ( { media, itemGroupProps } ) => {\n\tconst {\n\t\talt_text: alt,\n\t\tsource_url: logoUrl,\n\t\tslug: logoSlug,\n\t\tmedia_details: logoMediaDetails,\n\t} = media ?? {};\n\tconst logoLabel = logoMediaDetails?.sizes?.full?.file || logoSlug;\n\treturn (\n\t\t<ItemGroup { ...itemGroupProps } as=\"span\">\n\t\t\t<HStack justify=\"flex-start\" as=\"span\">\n\t\t\t\t<img src={ logoUrl } alt={ alt } />\n\t\t\t\t<FlexItem as=\"span\">\n\t\t\t\t\t<Truncate\n\t\t\t\t\t\tnumberOfLines={ 1 }\n\t\t\t\t\t\tclassName=\"block-library-site-logo__inspector-media-replace-title\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ logoLabel }\n\t\t\t\t\t</Truncate>\n\t\t\t\t</FlexItem>\n\t\t\t</HStack>\n\t\t</ItemGroup>\n\t);\n};\n\nexport default function LogoEdit( {\n\tattributes,\n\tclassName,\n\tsetAttributes,\n\tisSelected,\n} ) {\n\tconst { width, shouldSyncIcon } = attributes;\n\tconst {\n\t\tsiteLogoId,\n\t\tcanUserEdit,\n\t\turl,\n\t\tsiteIconId,\n\t\tmediaItemData,\n\t\tisRequestingMediaItem,\n\t} = useSelect( ( select ) => {\n\t\tconst { canUser, getEntityRecord, getEditedEntityRecord } =\n\t\t\tselect( coreStore );\n\t\tconst _canUserEdit = canUser( 'update', {\n\t\t\tkind: 'root',\n\t\t\tname: 'site',\n\t\t} );\n\t\tconst siteSettings = _canUserEdit\n\t\t\t? getEditedEntityRecord( 'root', 'site' )\n\t\t\t: undefined;\n\t\tconst siteData = getEntityRecord( 'root', '__unstableBase' );\n\t\tconst _siteLogoId = _canUserEdit\n\t\t\t? siteSettings?.site_logo\n\t\t\t: siteData?.site_logo;\n\t\tconst _siteIconId = siteSettings?.site_icon;\n\t\tconst mediaItem =\n\t\t\t_siteLogoId &&\n\t\t\tselect( coreStore ).getMedia( _siteLogoId, {\n\t\t\t\tcontext: 'view',\n\t\t\t} );\n\t\tconst _isRequestingMediaItem =\n\t\t\t!! _siteLogoId &&\n\t\t\t! select( coreStore ).hasFinishedResolution( 'getMedia', [\n\t\t\t\t_siteLogoId,\n\t\t\t\t{ context: 'view' },\n\t\t\t] );\n\n\t\treturn {\n\t\t\tsiteLogoId: _siteLogoId,\n\t\t\tcanUserEdit: _canUserEdit,\n\t\t\turl: siteData?.home,\n\t\t\tmediaItemData: mediaItem,\n\t\t\tisRequestingMediaItem: _isRequestingMediaItem,\n\t\t\tsiteIconId: _siteIconId,\n\t\t};\n\t}, [] );\n\tconst { getSettings } = useSelect( blockEditorStore );\n\tconst [ temporaryURL, setTemporaryURL ] = useState();\n\n\tconst { editEntityRecord } = useDispatch( coreStore );\n\n\tconst setLogo = ( newValue, shouldForceSync = false ) => {\n\t\t// `shouldForceSync` is used to force syncing when the attribute\n\t\t// may not have updated yet.\n\t\tif ( shouldSyncIcon || shouldForceSync ) {\n\t\t\tsetIcon( newValue );\n\t\t}\n\n\t\teditEntityRecord( 'root', 'site', undefined, {\n\t\t\tsite_logo: newValue,\n\t\t} );\n\t};\n\n\tconst setIcon = ( newValue ) =>\n\t\t// The new value needs to be `null` to reset the Site Icon.\n\t\teditEntityRecord( 'root', 'site', undefined, {\n\t\t\tsite_icon: newValue ?? null,\n\t\t} );\n\n\tconst { alt_text: alt, source_url: logoUrl } = mediaItemData ?? {};\n\n\tconst onInitialSelectLogo = ( media ) => {\n\t\t// Initialize the syncSiteIcon toggle. If we currently have no Site logo and no\n\t\t// site icon, automatically sync the logo to the icon.\n\t\tif ( shouldSyncIcon === undefined ) {\n\t\t\tconst shouldForceSync = ! siteIconId;\n\t\t\tsetAttributes( { shouldSyncIcon: shouldForceSync } );\n\n\t\t\t// Because we cannot rely on the `shouldSyncIcon` attribute to have updated by\n\t\t\t// the time `setLogo` is called, pass an argument to force the syncing.\n\t\t\tonSelectLogo( media, shouldForceSync );\n\t\t\treturn;\n\t\t}\n\n\t\tonSelectLogo( media );\n\t};\n\n\tconst onSelectLogo = ( media, shouldForceSync = false ) => {\n\t\tif ( ! media ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( ! media.id && media.url ) {\n\t\t\t// This is a temporary blob image.\n\t\t\tsetTemporaryURL( media.url );\n\t\t\tsetLogo( undefined );\n\t\t\treturn;\n\t\t}\n\n\t\tsetLogo( media.id, shouldForceSync );\n\t};\n\n\tconst onRemoveLogo = () => {\n\t\tsetLogo( null );\n\t\tsetAttributes( { width: undefined } );\n\t};\n\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t\tsetTemporaryURL();\n\t};\n\n\tconst onFilesDrop = ( filesList ) => {\n\t\tgetSettings().mediaUpload( {\n\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\tfilesList,\n\t\t\tonFileChange( [ image ] ) {\n\t\t\t\tif ( isBlobURL( image?.url ) ) {\n\t\t\t\t\tsetTemporaryURL( image.url );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tonInitialSelectLogo( image );\n\t\t\t},\n\t\t\tonError: onUploadError,\n\t\t\tmultiple: false,\n\t\t} );\n\t};\n\n\tconst mediaReplaceFlowProps = {\n\t\tmediaURL: logoUrl,\n\t\tname: ! logoUrl ? __( 'Choose logo' ) : __( 'Replace' ),\n\t\tonSelect: onSelectLogo,\n\t\tonError: onUploadError,\n\t\tonReset: onRemoveLogo,\n\t};\n\tconst controls = canUserEdit && (\n\t\t<BlockControls group=\"other\">\n\t\t\t<SiteLogoReplaceFlow { ...mediaReplaceFlowProps } />\n\t\t</BlockControls>\n\t);\n\n\tlet logoImage;\n\tconst isLoading = siteLogoId === undefined || isRequestingMediaItem;\n\tif ( isLoading ) {\n\t\tlogoImage = <Spinner />;\n\t}\n\n\t// Reset temporary url when logoUrl is available.\n\tuseEffect( () => {\n\t\tif ( logoUrl && temporaryURL ) {\n\t\t\tsetTemporaryURL();\n\t\t}\n\t}, [ logoUrl, temporaryURL ] );\n\n\tif ( !! logoUrl || !! temporaryURL ) {\n\t\tlogoImage = (\n\t\t\t<>\n\t\t\t\t<SiteLogo\n\t\t\t\t\talt={ alt }\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tclassName={ className }\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t\tlogoUrl={ temporaryURL || logoUrl }\n\t\t\t\t\tsetLogo={ setLogo }\n\t\t\t\t\tlogoId={ mediaItemData?.id || siteLogoId }\n\t\t\t\t\tsiteUrl={ url }\n\t\t\t\t\tsetIcon={ setIcon }\n\t\t\t\t\ticonId={ siteIconId }\n\t\t\t\t\tcanUserEdit={ canUserEdit }\n\t\t\t\t/>\n\t\t\t\t{ canUserEdit && <DropZone onFilesDrop={ onFilesDrop } /> }\n\t\t\t</>\n\t\t);\n\t}\n\tconst placeholder = ( content ) => {\n\t\tconst placeholderClassName = clsx(\n\t\t\t'block-editor-media-placeholder',\n\t\t\tclassName\n\t\t);\n\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\tclassName={ placeholderClassName }\n\t\t\t\tpreview={ logoImage }\n\t\t\t\twithIllustration\n\t\t\t\tstyle={ {\n\t\t\t\t\twidth,\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ content }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\n\tconst classes = clsx( className, {\n\t\t'is-default-size': ! width,\n\t\t'is-transient': temporaryURL,\n\t} );\n\n\tconst blockProps = useBlockProps( { className: classes } );\n\n\tconst mediaInspectorPanel = ( canUserEdit || logoUrl ) && (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Media' ) }>\n\t\t\t\t<div className=\"block-library-site-logo__inspector-media-replace-container\">\n\t\t\t\t\t{ ! canUserEdit ? (\n\t\t\t\t\t\t<InspectorLogoPreview\n\t\t\t\t\t\t\tmedia={ mediaItemData }\n\t\t\t\t\t\t\titemGroupProps={ {\n\t\t\t\t\t\t\t\tisBordered: true,\n\t\t\t\t\t\t\t\tclassName:\n\t\t\t\t\t\t\t\t\t'block-library-site-logo__inspector-readonly-logo-preview',\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<SiteLogoReplaceFlow\n\t\t\t\t\t\t\t\t{ ...mediaReplaceFlowProps }\n\t\t\t\t\t\t\t\tname={\n\t\t\t\t\t\t\t\t\t!! logoUrl ? (\n\t\t\t\t\t\t\t\t\t\t<InspectorLogoPreview\n\t\t\t\t\t\t\t\t\t\t\tmedia={ mediaItemData }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t__( 'Choose logo' )\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\trenderToggle={ ( props ) => (\n\t\t\t\t\t\t\t\t\t<Button { ...props } __next40pxDefaultSize>\n\t\t\t\t\t\t\t\t\t\t{ temporaryURL ? (\n\t\t\t\t\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t\t\t\t\tprops.children\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<DropZone onFilesDrop={ onFilesDrop } />\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n\n\treturn (\n\t\t<div { ...blockProps }>\n\t\t\t{ controls }\n\t\t\t{ mediaInspectorPanel }\n\t\t\t{ ( !! logoUrl || !! temporaryURL ) && logoImage }\n\t\t\t{ ( isLoading ||\n\t\t\t\t( ! temporaryURL && ! logoUrl && ! canUserEdit ) ) && (\n\t\t\t\t<Placeholder className=\"site-logo_placeholder\" withIllustration>\n\t\t\t\t\t{ isLoading && (\n\t\t\t\t\t\t<span className=\"components-placeholder__preview\">\n\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</Placeholder>\n\t\t\t) }\n\t\t\t{ ! isLoading && ! temporaryURL && ! logoUrl && canUserEdit && (\n\t\t\t\t<MediaPlaceholder\n\t\t\t\t\tonSelect={ onInitialSelectLogo }\n\t\t\t\t\taccept={ ACCEPT_MEDIA_STRING }\n\t\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\t\tonError={ onUploadError }\n\t\t\t\t\tplaceholder={ placeholder }\n\t\t\t\t\tmediaLibraryButton={ ( { open } ) => {\n\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\ticon={ upload }\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Choose logo' ) }\n\t\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\t\ttooltipPosition=\"middle right\"\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\topen();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t);\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -14,6 +14,7 @@ var _components = require("@wordpress/components");
14
14
  var _compose = require("@wordpress/compose");
15
15
  var _i18n = require("@wordpress/i18n");
16
16
  var _icons = require("@wordpress/icons");
17
+ var _blocks = require("@wordpress/blocks");
17
18
  var _socialList = require("./social-list");
18
19
  var _hooks = require("../utils/hooks");
19
20
  var _jsxRuntime = require("react/jsx-runtime");
@@ -89,7 +90,8 @@ const SocialLinkEdit = ({
89
90
  context,
90
91
  isSelected,
91
92
  setAttributes,
92
- clientId
93
+ clientId,
94
+ name
93
95
  }) => {
94
96
  const {
95
97
  url,
@@ -119,8 +121,20 @@ const SocialLinkEdit = ({
119
121
  // re-renders when the popover's anchor updates.
120
122
  const [popoverAnchor, setPopoverAnchor] = (0, _element.useState)(null);
121
123
  const isContentOnlyMode = (0, _blockEditor.useBlockEditingMode)() === 'contentOnly';
122
- const IconComponent = (0, _socialList.getIconBySite)(service);
123
- const socialLinkName = (0, _socialList.getNameBySite)(service);
124
+ const {
125
+ activeVariation
126
+ } = (0, _data.useSelect)(select => {
127
+ const {
128
+ getActiveBlockVariation
129
+ } = select(_blocks.store);
130
+ return {
131
+ activeVariation: getActiveBlockVariation(name, attributes)
132
+ };
133
+ }, [name, attributes]);
134
+ const {
135
+ icon,
136
+ label: socialLinkName
137
+ } = (0, _socialList.getSocialService)(activeVariation);
124
138
  // The initial label (ie. the link text) is an empty string.
125
139
  // We want to prevent empty links so that the link text always fallbacks to
126
140
  // the social name, even when users enter and save an empty string or only
@@ -148,7 +162,7 @@ const SocialLinkEdit = ({
148
162
  group: "other",
149
163
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Dropdown, {
150
164
  popoverProps: {
151
- position: 'bottom right'
165
+ placement: 'bottom-start'
152
166
  },
153
167
  renderToggle: ({
154
168
  isOpen,
@@ -225,7 +239,9 @@ const SocialLinkEdit = ({
225
239
  "aria-haspopup": "dialog",
226
240
  ...blockProps,
227
241
  role: "button",
228
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(IconComponent, {}), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
242
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Icon, {
243
+ icon: icon
244
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)("span", {
229
245
  className: (0, _clsx.default)('wp-block-social-link-label', {
230
246
  'screen-reader-text': !showLabels
231
247
  }),