@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.
- package/CHANGELOG.md +2 -0
- package/build/avatar/edit.js +84 -39
- package/build/avatar/edit.js.map +1 -1
- package/build/avatar/user-control.js +32 -17
- package/build/avatar/user-control.js.map +1 -1
- package/build/embed/variations.js +0 -10
- package/build/embed/variations.js.map +1 -1
- package/build/form/edit.js +0 -1
- package/build/form/edit.js.map +1 -1
- package/build/form/index.js +3 -3
- package/build/form/index.js.map +1 -1
- package/build/form-input/index.js +2 -1
- package/build/form-input/index.js.map +1 -1
- package/build/form-submission-notification/index.js +2 -1
- package/build/form-submission-notification/index.js.map +1 -1
- package/build/form-submit-button/index.js +2 -1
- package/build/form-submit-button/index.js.map +1 -1
- package/build/image/image.js +1 -0
- package/build/image/image.js.map +1 -1
- package/build/image/view.js +0 -3
- package/build/image/view.js.map +1 -1
- package/build/navigation-link/edit.js +11 -0
- package/build/navigation-link/edit.js.map +1 -1
- package/build/post-author/edit.js +75 -18
- package/build/post-author/edit.js.map +1 -1
- package/build/post-navigation-link/edit.js +72 -33
- package/build/post-navigation-link/edit.js.map +1 -1
- package/build/site-logo/edit.js +53 -19
- package/build/site-logo/edit.js.map +1 -1
- package/build/social-link/edit.js +21 -5
- package/build/social-link/edit.js.map +1 -1
- package/build/social-link/edit.native.js +13 -5
- package/build/social-link/edit.native.js.map +1 -1
- package/build/social-link/social-list.js +17 -25
- package/build/social-link/social-list.js.map +1 -1
- package/build/social-links/edit.js +8 -5
- package/build/social-links/edit.js.map +1 -1
- package/build/video/tracks-editor.js +23 -9
- package/build/video/tracks-editor.js.map +1 -1
- package/build-module/avatar/edit.js +83 -38
- package/build-module/avatar/edit.js.map +1 -1
- package/build-module/avatar/user-control.js +33 -18
- package/build-module/avatar/user-control.js.map +1 -1
- package/build-module/embed/variations.js +0 -10
- package/build-module/embed/variations.js.map +1 -1
- package/build-module/form/edit.js +0 -1
- package/build-module/form/edit.js.map +1 -1
- package/build-module/form/index.js +3 -3
- package/build-module/form/index.js.map +1 -1
- package/build-module/form-input/index.js +2 -1
- package/build-module/form-input/index.js.map +1 -1
- package/build-module/form-submission-notification/index.js +2 -1
- package/build-module/form-submission-notification/index.js.map +1 -1
- package/build-module/form-submit-button/index.js +2 -1
- package/build-module/form-submit-button/index.js.map +1 -1
- package/build-module/image/image.js +1 -0
- package/build-module/image/image.js.map +1 -1
- package/build-module/image/view.js +0 -3
- package/build-module/image/view.js.map +1 -1
- package/build-module/navigation-link/edit.js +11 -0
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/post-author/edit.js +76 -19
- package/build-module/post-author/edit.js.map +1 -1
- package/build-module/post-navigation-link/edit.js +73 -34
- package/build-module/post-navigation-link/edit.js.map +1 -1
- package/build-module/site-logo/edit.js +54 -20
- package/build-module/site-logo/edit.js.map +1 -1
- package/build-module/social-link/edit.js +24 -8
- package/build-module/social-link/edit.js.map +1 -1
- package/build-module/social-link/edit.native.js +15 -6
- package/build-module/social-link/edit.native.js.map +1 -1
- package/build-module/social-link/social-list.js +16 -21
- package/build-module/social-link/social-list.js.map +1 -1
- package/build-module/social-links/edit.js +8 -5
- package/build-module/social-links/edit.js.map +1 -1
- package/build-module/video/tracks-editor.js +24 -10
- package/build-module/video/tracks-editor.js.map +1 -1
- package/build-style/calendar/style-rtl.css +7 -7
- package/build-style/calendar/style.css +7 -7
- package/build-style/comments-pagination/editor-rtl.css +0 -12
- package/build-style/comments-pagination/editor.css +0 -14
- package/build-style/comments-pagination/style-rtl.css +0 -7
- package/build-style/comments-pagination/style.css +0 -9
- package/build-style/editor-rtl.css +0 -17
- package/build-style/editor.css +0 -19
- package/build-style/navigation/style-rtl.css +4 -0
- package/build-style/navigation/style.css +4 -0
- package/build-style/style-rtl.css +11 -14
- package/build-style/style.css +11 -16
- package/package.json +35 -35
- package/src/avatar/edit.js +99 -51
- package/src/avatar/user-control.js +34 -29
- package/src/calendar/style.scss +10 -10
- package/src/comments-pagination/editor.scss +0 -15
- package/src/comments-pagination/style.scss +0 -8
- package/src/editor.scss +0 -1
- package/src/embed/variations.js +0 -8
- package/src/form/block.json +1 -2
- package/src/form/edit.js +0 -1
- package/src/form/index.js +1 -0
- package/src/form-input/index.js +1 -0
- package/src/form-submission-notification/index.js +1 -0
- package/src/form-submit-button/index.js +1 -0
- package/src/image/image.js +1 -0
- package/src/image/index.php +4 -1
- package/src/image/view.js +0 -3
- package/src/navigation/style.scss +8 -0
- package/src/navigation-link/edit.js +14 -1
- package/src/post-author/edit.js +91 -27
- package/src/post-navigation-link/edit.js +96 -51
- package/src/site-logo/edit.js +69 -26
- package/src/social-link/edit.js +18 -7
- package/src/social-link/edit.native.js +10 -4
- package/src/social-link/index.php +13 -0
- package/src/social-link/social-list.js +15 -20
- package/src/social-links/edit.js +6 -7
- package/src/video/tracks-editor.js +18 -6
- package/build-style/post-author/editor-rtl.css +0 -140
- package/build-style/post-author/editor.css +0 -140
- 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.
|
|
88
|
-
|
|
89
|
-
|
|
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
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
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.
|
|
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
|
-
|
|
100
|
-
|
|
101
|
-
|
|
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.
|
|
104
|
-
__next40pxDefaultSize: true,
|
|
105
|
-
__nextHasNoMarginBottom: true,
|
|
134
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToolsPanelItem, {
|
|
106
135
|
label: (0, _i18n.__)('Arrow'),
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
value:
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
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":[]}
|
package/build/site-logo/edit.js
CHANGED
|
@@ -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.
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
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
|
-
|
|
254
|
-
width:
|
|
256
|
+
onDeselect: () => setAttributes({
|
|
257
|
+
width: undefined
|
|
255
258
|
}),
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
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
|
-
|
|
265
|
-
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)(
|
|
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
|
|
123
|
-
|
|
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
|
-
|
|
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)(
|
|
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
|
}),
|