@wordpress/block-library 9.7.1-next.5368f64a9.0 → 9.8.1
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/categories/edit.js +38 -17
- package/build/categories/edit.js.map +1 -1
- package/build/categories/index.js +10 -3
- package/build/categories/index.js.map +1 -1
- package/build/categories/variations.js +43 -0
- package/build/categories/variations.js.map +1 -0
- package/build/embed/edit.js +1 -0
- package/build/embed/edit.js.map +1 -1
- package/build/embed/edit.native.js +1 -0
- package/build/embed/edit.native.js.map +1 -1
- package/build/embed/embed-preview.js +80 -100
- package/build/embed/embed-preview.js.map +1 -1
- package/build/embed/embed-preview.native.js +1 -0
- package/build/embed/embed-preview.native.js.map +1 -1
- package/build/form/view.js +1 -0
- package/build/form/view.js.map +1 -1
- package/build/form-input/deprecated.js +113 -1
- package/build/form-input/deprecated.js.map +1 -1
- package/build/form-input/edit.js +16 -12
- package/build/form-input/edit.js.map +1 -1
- package/build/form-input/save.js +9 -1
- package/build/form-input/save.js.map +1 -1
- package/build/image/image.js +5 -2
- package/build/image/image.js.map +1 -1
- package/build/index.js +1 -0
- package/build/index.js.map +1 -1
- package/build/navigation-submenu/index.js +13 -0
- package/build/navigation-submenu/index.js.map +1 -1
- package/build/post-template/edit.js +6 -1
- package/build/post-template/edit.js.map +1 -1
- package/build/post-title/index.js +1 -4
- package/build/post-title/index.js.map +1 -1
- package/build/query/edit/inspector-controls/format-controls.js +102 -0
- package/build/query/edit/inspector-controls/format-controls.js.map +1 -0
- package/build/query/edit/inspector-controls/index.js +45 -9
- package/build/query/edit/inspector-controls/index.js.map +1 -1
- package/build/query/edit/query-content.js +26 -10
- package/build/query/edit/query-content.js.map +1 -1
- package/build/query/index.js +3 -1
- package/build/query/index.js.map +1 -1
- package/build/query/utils.js +12 -1
- package/build/query/utils.js.map +1 -1
- package/build/site-title/index.js +1 -4
- package/build/site-title/index.js.map +1 -1
- package/build/social-link/edit.js +13 -11
- package/build/social-link/edit.js.map +1 -1
- package/build-module/categories/edit.js +40 -19
- package/build-module/categories/edit.js.map +1 -1
- package/build-module/categories/index.js +10 -3
- package/build-module/categories/index.js.map +1 -1
- package/build-module/categories/variations.js +36 -0
- package/build-module/categories/variations.js.map +1 -0
- package/build-module/embed/edit.js +1 -0
- package/build-module/embed/edit.js.map +1 -1
- package/build-module/embed/edit.native.js +1 -0
- package/build-module/embed/edit.native.js.map +1 -1
- package/build-module/embed/embed-preview.js +80 -100
- package/build-module/embed/embed-preview.js.map +1 -1
- package/build-module/embed/embed-preview.native.js +1 -0
- package/build-module/embed/embed-preview.native.js.map +1 -1
- package/build-module/form/view.js +1 -0
- package/build-module/form/view.js.map +1 -1
- package/build-module/form-input/deprecated.js +114 -2
- package/build-module/form-input/deprecated.js.map +1 -1
- package/build-module/form-input/edit.js +16 -12
- package/build-module/form-input/edit.js.map +1 -1
- package/build-module/form-input/save.js +9 -1
- package/build-module/form-input/save.js.map +1 -1
- package/build-module/image/image.js +5 -2
- package/build-module/image/image.js.map +1 -1
- package/build-module/index.js +1 -0
- package/build-module/index.js.map +1 -1
- package/build-module/navigation-submenu/index.js +13 -0
- package/build-module/navigation-submenu/index.js.map +1 -1
- package/build-module/post-template/edit.js +6 -1
- package/build-module/post-template/edit.js.map +1 -1
- package/build-module/post-title/index.js +1 -4
- package/build-module/post-title/index.js.map +1 -1
- package/build-module/query/edit/inspector-controls/format-controls.js +96 -0
- package/build-module/query/edit/inspector-controls/format-controls.js.map +1 -0
- package/build-module/query/edit/inspector-controls/index.js +45 -9
- package/build-module/query/edit/inspector-controls/index.js.map +1 -1
- package/build-module/query/edit/query-content.js +27 -11
- package/build-module/query/edit/query-content.js.map +1 -1
- package/build-module/query/index.js +3 -1
- package/build-module/query/index.js.map +1 -1
- package/build-module/query/utils.js +12 -1
- package/build-module/query/utils.js.map +1 -1
- package/build-module/site-title/index.js +1 -4
- package/build-module/site-title/index.js.map +1 -1
- package/build-module/social-link/edit.js +14 -12
- package/build-module/social-link/edit.js.map +1 -1
- package/build-style/editor-rtl.css +1 -1
- package/build-style/editor.css +1 -1
- package/build-style/form-input/style-rtl.css +7 -8
- package/build-style/form-input/style.css +7 -8
- package/build-style/gallery/editor-rtl.css +1 -1
- package/build-style/gallery/editor.css +1 -1
- package/build-style/post-title/style-rtl.css +4 -18
- package/build-style/post-title/style.css +4 -18
- package/build-style/site-title/style-rtl.css +4 -18
- package/build-style/site-title/style.css +4 -18
- package/build-style/style-rtl.css +15 -44
- package/build-style/style.css +15 -44
- package/package.json +35 -35
- package/src/categories/block.json +7 -2
- package/src/categories/edit.js +69 -30
- package/src/categories/index.js +2 -0
- package/src/categories/index.php +21 -9
- package/src/categories/variations.js +40 -0
- package/src/comments-pagination-next/index.php +1 -1
- package/src/comments-pagination-previous/index.php +2 -1
- package/src/embed/embed-preview.js +96 -112
- package/src/form-input/deprecated.js +114 -1
- package/src/form-input/edit.js +17 -11
- package/src/form-input/save.js +13 -3
- package/src/form-input/style.scss +9 -8
- package/src/image/image.js +2 -1
- package/src/navigation-submenu/block.json +13 -0
- package/src/post-template/edit.js +6 -0
- package/src/post-template/index.php +5 -0
- package/src/post-title/block.json +1 -4
- package/src/post-title/style.scss +4 -21
- package/src/query/block.json +3 -1
- package/src/query/edit/inspector-controls/format-controls.js +90 -0
- package/src/query/edit/inspector-controls/index.js +68 -9
- package/src/query/edit/query-content.js +38 -5
- package/src/query/utils.js +16 -1
- package/src/site-title/block.json +1 -4
- package/src/site-title/style.scss +4 -21
- package/src/social-link/edit.js +11 -7
|
@@ -6,11 +6,11 @@ import clsx from 'clsx';
|
|
|
6
6
|
/**
|
|
7
7
|
* WordPress dependencies
|
|
8
8
|
*/
|
|
9
|
-
import { PanelBody, Placeholder, Spinner, ToggleControl, VisuallyHidden } from '@wordpress/components';
|
|
9
|
+
import { PanelBody, Placeholder, SelectControl, Spinner, ToggleControl, VisuallyHidden } from '@wordpress/components';
|
|
10
10
|
import { useInstanceId } from '@wordpress/compose';
|
|
11
11
|
import { InspectorControls, useBlockProps, RichText } from '@wordpress/block-editor';
|
|
12
12
|
import { decodeEntities } from '@wordpress/html-entities';
|
|
13
|
-
import { __ } from '@wordpress/i18n';
|
|
13
|
+
import { __, sprintf } from '@wordpress/i18n';
|
|
14
14
|
import { pin } from '@wordpress/icons';
|
|
15
15
|
import { useEntityRecords } from '@wordpress/core-data';
|
|
16
16
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
@@ -24,24 +24,32 @@ export default function CategoriesEdit({
|
|
|
24
24
|
showOnlyTopLevel,
|
|
25
25
|
showEmpty,
|
|
26
26
|
label,
|
|
27
|
-
showLabel
|
|
27
|
+
showLabel,
|
|
28
|
+
taxonomy: taxonomySlug
|
|
28
29
|
},
|
|
29
30
|
setAttributes,
|
|
30
31
|
className
|
|
31
32
|
}) {
|
|
32
33
|
const selectId = useInstanceId(CategoriesEdit, 'blocks-category-select');
|
|
34
|
+
const {
|
|
35
|
+
records: allTaxonomies,
|
|
36
|
+
isResolvingTaxonomies
|
|
37
|
+
} = useEntityRecords('root', 'taxonomy');
|
|
38
|
+
const taxonomies = allTaxonomies?.filter(t => t.visibility.public);
|
|
39
|
+
const taxonomy = taxonomies?.find(t => t.slug === taxonomySlug);
|
|
40
|
+
const isHierarchicalTaxonomy = !isResolvingTaxonomies && taxonomy?.hierarchical;
|
|
33
41
|
const query = {
|
|
34
42
|
per_page: -1,
|
|
35
43
|
hide_empty: !showEmpty,
|
|
36
44
|
context: 'view'
|
|
37
45
|
};
|
|
38
|
-
if (showOnlyTopLevel) {
|
|
46
|
+
if (isHierarchicalTaxonomy && showOnlyTopLevel) {
|
|
39
47
|
query.parent = 0;
|
|
40
48
|
}
|
|
41
49
|
const {
|
|
42
50
|
records: categories,
|
|
43
51
|
isResolving
|
|
44
|
-
} = useEntityRecords('taxonomy',
|
|
52
|
+
} = useEntityRecords('taxonomy', taxonomySlug, query);
|
|
45
53
|
const getCategoriesList = parentId => {
|
|
46
54
|
if (!categories?.length) {
|
|
47
55
|
return [];
|
|
@@ -58,7 +66,7 @@ export default function CategoriesEdit({
|
|
|
58
66
|
});
|
|
59
67
|
const renderCategoryName = name => !name ? __('(Untitled)') : decodeEntities(name).trim();
|
|
60
68
|
const renderCategoryList = () => {
|
|
61
|
-
const parentId = showHierarchy ? 0 : null;
|
|
69
|
+
const parentId = isHierarchicalTaxonomy && showHierarchy ? 0 : null;
|
|
62
70
|
const categoriesList = getCategoriesList(parentId);
|
|
63
71
|
return categoriesList.map(category => renderCategoryListItem(category));
|
|
64
72
|
};
|
|
@@ -77,20 +85,20 @@ export default function CategoriesEdit({
|
|
|
77
85
|
target: "_blank",
|
|
78
86
|
rel: "noreferrer noopener",
|
|
79
87
|
children: renderCategoryName(name)
|
|
80
|
-
}), showPostCounts && ` (${count})`, showHierarchy && !!childCategories.length && /*#__PURE__*/_jsx("ul", {
|
|
88
|
+
}), showPostCounts && ` (${count})`, isHierarchicalTaxonomy && showHierarchy && !!childCategories.length && /*#__PURE__*/_jsx("ul", {
|
|
81
89
|
className: "children",
|
|
82
90
|
children: childCategories.map(childCategory => renderCategoryListItem(childCategory))
|
|
83
91
|
})]
|
|
84
92
|
}, id);
|
|
85
93
|
};
|
|
86
94
|
const renderCategoryDropdown = () => {
|
|
87
|
-
const parentId = showHierarchy ? 0 : null;
|
|
95
|
+
const parentId = isHierarchicalTaxonomy && showHierarchy ? 0 : null;
|
|
88
96
|
const categoriesList = getCategoriesList(parentId);
|
|
89
97
|
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
90
98
|
children: [showLabel ? /*#__PURE__*/_jsx(RichText, {
|
|
91
99
|
className: "wp-block-categories__label",
|
|
92
100
|
"aria-label": __('Label text'),
|
|
93
|
-
placeholder:
|
|
101
|
+
placeholder: taxonomy.name,
|
|
94
102
|
withoutInteractiveFormatting: true,
|
|
95
103
|
value: label,
|
|
96
104
|
onChange: html => setAttributes({
|
|
@@ -99,11 +107,12 @@ export default function CategoriesEdit({
|
|
|
99
107
|
}) : /*#__PURE__*/_jsx(VisuallyHidden, {
|
|
100
108
|
as: "label",
|
|
101
109
|
htmlFor: selectId,
|
|
102
|
-
children: label ? label :
|
|
110
|
+
children: label ? label : taxonomy.name
|
|
103
111
|
}), /*#__PURE__*/_jsxs("select", {
|
|
104
112
|
id: selectId,
|
|
105
113
|
children: [/*#__PURE__*/_jsx("option", {
|
|
106
|
-
children:
|
|
114
|
+
children: sprintf( /* translators: %s: taxonomy's singular name */
|
|
115
|
+
__('Select %s'), taxonomy.labels.singular_name)
|
|
107
116
|
}), categoriesList.map(category => renderCategoryDropdownItem(category, 0))]
|
|
108
117
|
})]
|
|
109
118
|
});
|
|
@@ -120,7 +129,7 @@ export default function CategoriesEdit({
|
|
|
120
129
|
children: [Array.from({
|
|
121
130
|
length: level * 3
|
|
122
131
|
}).map(() => '\xa0'), renderCategoryName(name), showPostCounts && ` (${count})`]
|
|
123
|
-
}, id), showHierarchy && !!childCategories.length && childCategories.map(childCategory => renderCategoryDropdownItem(childCategory, level + 1))];
|
|
132
|
+
}, id), isHierarchicalTaxonomy && showHierarchy && !!childCategories.length && childCategories.map(childCategory => renderCategoryDropdownItem(childCategory, level + 1))];
|
|
124
133
|
};
|
|
125
134
|
const TagName = !!categories?.length && !displayAsDropdown && !isResolving ? 'ul' : 'div';
|
|
126
135
|
const classes = clsx(className, {
|
|
@@ -135,7 +144,19 @@ export default function CategoriesEdit({
|
|
|
135
144
|
children: [/*#__PURE__*/_jsx(InspectorControls, {
|
|
136
145
|
children: /*#__PURE__*/_jsxs(PanelBody, {
|
|
137
146
|
title: __('Settings'),
|
|
138
|
-
children: [/*#__PURE__*/_jsx(
|
|
147
|
+
children: [Array.isArray(taxonomies) && /*#__PURE__*/_jsx(SelectControl, {
|
|
148
|
+
__nextHasNoMarginBottom: true,
|
|
149
|
+
__next40pxDefaultSize: true,
|
|
150
|
+
label: __('Taxonomy'),
|
|
151
|
+
options: taxonomies.map(t => ({
|
|
152
|
+
label: t.name,
|
|
153
|
+
value: t.slug
|
|
154
|
+
})),
|
|
155
|
+
value: taxonomySlug,
|
|
156
|
+
onChange: selectedTaxonomy => setAttributes({
|
|
157
|
+
taxonomy: selectedTaxonomy
|
|
158
|
+
})
|
|
159
|
+
}), /*#__PURE__*/_jsx(ToggleControl, {
|
|
139
160
|
__nextHasNoMarginBottom: true,
|
|
140
161
|
label: __('Display as dropdown'),
|
|
141
162
|
checked: displayAsDropdown,
|
|
@@ -151,17 +172,17 @@ export default function CategoriesEdit({
|
|
|
151
172
|
label: __('Show post counts'),
|
|
152
173
|
checked: showPostCounts,
|
|
153
174
|
onChange: toggleAttribute('showPostCounts')
|
|
154
|
-
}), /*#__PURE__*/_jsx(ToggleControl, {
|
|
175
|
+
}), isHierarchicalTaxonomy && /*#__PURE__*/_jsx(ToggleControl, {
|
|
155
176
|
__nextHasNoMarginBottom: true,
|
|
156
|
-
label: __('Show only top level
|
|
177
|
+
label: __('Show only top level terms'),
|
|
157
178
|
checked: showOnlyTopLevel,
|
|
158
179
|
onChange: toggleAttribute('showOnlyTopLevel')
|
|
159
180
|
}), /*#__PURE__*/_jsx(ToggleControl, {
|
|
160
181
|
__nextHasNoMarginBottom: true,
|
|
161
|
-
label: __('Show empty
|
|
182
|
+
label: __('Show empty terms'),
|
|
162
183
|
checked: showEmpty,
|
|
163
184
|
onChange: toggleAttribute('showEmpty')
|
|
164
|
-
}), !showOnlyTopLevel && /*#__PURE__*/_jsx(ToggleControl, {
|
|
185
|
+
}), isHierarchicalTaxonomy && !showOnlyTopLevel && /*#__PURE__*/_jsx(ToggleControl, {
|
|
165
186
|
__nextHasNoMarginBottom: true,
|
|
166
187
|
label: __('Show hierarchy'),
|
|
167
188
|
checked: showHierarchy,
|
|
@@ -170,10 +191,10 @@ export default function CategoriesEdit({
|
|
|
170
191
|
})
|
|
171
192
|
}), isResolving && /*#__PURE__*/_jsx(Placeholder, {
|
|
172
193
|
icon: pin,
|
|
173
|
-
label: __('
|
|
194
|
+
label: __('Terms'),
|
|
174
195
|
children: /*#__PURE__*/_jsx(Spinner, {})
|
|
175
196
|
}), !isResolving && categories?.length === 0 && /*#__PURE__*/_jsx("p", {
|
|
176
|
-
children:
|
|
197
|
+
children: taxonomy.labels.no_terms
|
|
177
198
|
}), !isResolving && categories?.length > 0 && (displayAsDropdown ? renderCategoryDropdown() : renderCategoryList())]
|
|
178
199
|
});
|
|
179
200
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","PanelBody","Placeholder","Spinner","ToggleControl","VisuallyHidden","useInstanceId","InspectorControls","useBlockProps","RichText","decodeEntities","__","pin","useEntityRecords","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","CategoriesEdit","attributes","displayAsDropdown","showHierarchy","showPostCounts","showOnlyTopLevel","showEmpty","label","showLabel","setAttributes","className","selectId","query","per_page","hide_empty","context","parent","records","categories","isResolving","getCategoriesList","parentId","length","filter","toggleAttribute","attributeName","newValue","renderCategoryName","name","trim","renderCategoryList","categoriesList","map","category","renderCategoryListItem","childCategories","id","link","count","children","href","target","rel","childCategory","renderCategoryDropdown","placeholder","withoutInteractiveFormatting","value","onChange","html","as","htmlFor","renderCategoryDropdownItem","level","Array","from","TagName","classes","blockProps","title","__nextHasNoMarginBottom","checked","icon"],"sources":["@wordpress/block-library/src/categories/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\tPlaceholder,\n\tSpinner,\n\tToggleControl,\n\tVisuallyHidden,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\tRichText,\n} from '@wordpress/block-editor';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { __ } from '@wordpress/i18n';\nimport { pin } from '@wordpress/icons';\nimport { useEntityRecords } from '@wordpress/core-data';\n\nexport default function CategoriesEdit( {\n\tattributes: {\n\t\tdisplayAsDropdown,\n\t\tshowHierarchy,\n\t\tshowPostCounts,\n\t\tshowOnlyTopLevel,\n\t\tshowEmpty,\n\t\tlabel,\n\t\tshowLabel,\n\t},\n\tsetAttributes,\n\tclassName,\n} ) {\n\tconst selectId = useInstanceId( CategoriesEdit, 'blocks-category-select' );\n\tconst query = { per_page: -1, hide_empty: ! showEmpty, context: 'view' };\n\tif ( showOnlyTopLevel ) {\n\t\tquery.parent = 0;\n\t}\n\n\tconst { records: categories, isResolving } = useEntityRecords(\n\t\t'taxonomy',\n\t\t'category',\n\t\tquery\n\t);\n\n\tconst getCategoriesList = ( parentId ) => {\n\t\tif ( ! categories?.length ) {\n\t\t\treturn [];\n\t\t}\n\t\tif ( parentId === null ) {\n\t\t\treturn categories;\n\t\t}\n\t\treturn categories.filter( ( { parent } ) => parent === parentId );\n\t};\n\n\tconst toggleAttribute = ( attributeName ) => ( newValue ) =>\n\t\tsetAttributes( { [ attributeName ]: newValue } );\n\n\tconst renderCategoryName = ( name ) =>\n\t\t! name ? __( '(Untitled)' ) : decodeEntities( name ).trim();\n\n\tconst renderCategoryList = () => {\n\t\tconst parentId = showHierarchy ? 0 : null;\n\t\tconst categoriesList = getCategoriesList( parentId );\n\t\treturn categoriesList.map( ( category ) =>\n\t\t\trenderCategoryListItem( category )\n\t\t);\n\t};\n\n\tconst renderCategoryListItem = ( category ) => {\n\t\tconst childCategories = getCategoriesList( category.id );\n\t\tconst { id, link, count, name } = category;\n\t\treturn (\n\t\t\t<li key={ id } className={ `cat-item cat-item-${ id }` }>\n\t\t\t\t<a href={ link } target=\"_blank\" rel=\"noreferrer noopener\">\n\t\t\t\t\t{ renderCategoryName( name ) }\n\t\t\t\t</a>\n\t\t\t\t{ showPostCounts && ` (${ count })` }\n\t\t\t\t{ showHierarchy && !! childCategories.length && (\n\t\t\t\t\t<ul className=\"children\">\n\t\t\t\t\t\t{ childCategories.map( ( childCategory ) =>\n\t\t\t\t\t\t\trenderCategoryListItem( childCategory )\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ul>\n\t\t\t\t) }\n\t\t\t</li>\n\t\t);\n\t};\n\n\tconst renderCategoryDropdown = () => {\n\t\tconst parentId = showHierarchy ? 0 : null;\n\t\tconst categoriesList = getCategoriesList( parentId );\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ showLabel ? (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tclassName=\"wp-block-categories__label\"\n\t\t\t\t\t\taria-label={ __( 'Label text' ) }\n\t\t\t\t\t\tplaceholder={ __( 'Categories' ) }\n\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\tvalue={ label }\n\t\t\t\t\t\tonChange={ ( html ) =>\n\t\t\t\t\t\t\tsetAttributes( { label: html } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<VisuallyHidden as=\"label\" htmlFor={ selectId }>\n\t\t\t\t\t\t{ label ? label : __( 'Categories' ) }\n\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t) }\n\t\t\t\t<select id={ selectId }>\n\t\t\t\t\t<option>{ __( 'Select Category' ) }</option>\n\t\t\t\t\t{ categoriesList.map( ( category ) =>\n\t\t\t\t\t\trenderCategoryDropdownItem( category, 0 )\n\t\t\t\t\t) }\n\t\t\t\t</select>\n\t\t\t</>\n\t\t);\n\t};\n\n\tconst renderCategoryDropdownItem = ( category, level ) => {\n\t\tconst { id, count, name } = category;\n\t\tconst childCategories = getCategoriesList( id );\n\t\treturn [\n\t\t\t<option key={ id } className={ `level-${ level }` }>\n\t\t\t\t{ Array.from( { length: level * 3 } ).map( () => '\\xa0' ) }\n\t\t\t\t{ renderCategoryName( name ) }\n\t\t\t\t{ showPostCounts && ` (${ count })` }\n\t\t\t</option>,\n\t\t\tshowHierarchy &&\n\t\t\t\t!! childCategories.length &&\n\t\t\t\tchildCategories.map( ( childCategory ) =>\n\t\t\t\t\trenderCategoryDropdownItem( childCategory, level + 1 )\n\t\t\t\t),\n\t\t];\n\t};\n\n\tconst TagName =\n\t\t!! categories?.length && ! displayAsDropdown && ! isResolving\n\t\t\t? 'ul'\n\t\t\t: 'div';\n\n\tconst classes = clsx( className, {\n\t\t'wp-block-categories-list':\n\t\t\t!! categories?.length && ! displayAsDropdown && ! isResolving,\n\t\t'wp-block-categories-dropdown':\n\t\t\t!! categories?.length && displayAsDropdown && ! isResolving,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\n\treturn (\n\t\t<TagName { ...blockProps }>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Display as dropdown' ) }\n\t\t\t\t\t\tchecked={ displayAsDropdown }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'displayAsDropdown' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t{ displayAsDropdown && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tclassName=\"wp-block-categories__indentation\"\n\t\t\t\t\t\t\tlabel={ __( 'Show label' ) }\n\t\t\t\t\t\t\tchecked={ showLabel }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'showLabel' ) }\n\t\t\t\t\t\t/>\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={ __( 'Show post counts' ) }\n\t\t\t\t\t\tchecked={ showPostCounts }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'showPostCounts' ) }\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={ __( 'Show only top level categories' ) }\n\t\t\t\t\t\tchecked={ showOnlyTopLevel }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'showOnlyTopLevel' ) }\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={ __( 'Show empty categories' ) }\n\t\t\t\t\t\tchecked={ showEmpty }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'showEmpty' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t{ ! showOnlyTopLevel && (\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={ __( 'Show hierarchy' ) }\n\t\t\t\t\t\t\tchecked={ showHierarchy }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'showHierarchy' ) }\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{ isResolving && (\n\t\t\t\t<Placeholder icon={ pin } label={ __( 'Categories' ) }>\n\t\t\t\t\t<Spinner />\n\t\t\t\t</Placeholder>\n\t\t\t) }\n\t\t\t{ ! isResolving && categories?.length === 0 && (\n\t\t\t\t<p>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'Your site does not have any posts, so there is nothing to display here at the moment.'\n\t\t\t\t\t) }\n\t\t\t\t</p>\n\t\t\t) }\n\t\t\t{ ! isResolving &&\n\t\t\t\tcategories?.length > 0 &&\n\t\t\t\t( displayAsDropdown\n\t\t\t\t\t? renderCategoryDropdown()\n\t\t\t\t\t: renderCategoryList() ) }\n\t\t</TagName>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["clsx","PanelBody","Placeholder","SelectControl","Spinner","ToggleControl","VisuallyHidden","useInstanceId","InspectorControls","useBlockProps","RichText","decodeEntities","__","sprintf","pin","useEntityRecords","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","CategoriesEdit","attributes","displayAsDropdown","showHierarchy","showPostCounts","showOnlyTopLevel","showEmpty","label","showLabel","taxonomy","taxonomySlug","setAttributes","className","selectId","records","allTaxonomies","isResolvingTaxonomies","taxonomies","filter","t","visibility","public","find","slug","isHierarchicalTaxonomy","hierarchical","query","per_page","hide_empty","context","parent","categories","isResolving","getCategoriesList","parentId","length","toggleAttribute","attributeName","newValue","renderCategoryName","name","trim","renderCategoryList","categoriesList","map","category","renderCategoryListItem","childCategories","id","link","count","children","href","target","rel","childCategory","renderCategoryDropdown","placeholder","withoutInteractiveFormatting","value","onChange","html","as","htmlFor","labels","singular_name","renderCategoryDropdownItem","level","Array","from","TagName","classes","blockProps","title","isArray","__nextHasNoMarginBottom","__next40pxDefaultSize","options","selectedTaxonomy","checked","icon","no_terms"],"sources":["@wordpress/block-library/src/categories/edit.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\tPlaceholder,\n\tSelectControl,\n\tSpinner,\n\tToggleControl,\n\tVisuallyHidden,\n} from '@wordpress/components';\nimport { useInstanceId } from '@wordpress/compose';\nimport {\n\tInspectorControls,\n\tuseBlockProps,\n\tRichText,\n} from '@wordpress/block-editor';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { pin } from '@wordpress/icons';\nimport { useEntityRecords } from '@wordpress/core-data';\n\nexport default function CategoriesEdit( {\n\tattributes: {\n\t\tdisplayAsDropdown,\n\t\tshowHierarchy,\n\t\tshowPostCounts,\n\t\tshowOnlyTopLevel,\n\t\tshowEmpty,\n\t\tlabel,\n\t\tshowLabel,\n\t\ttaxonomy: taxonomySlug,\n\t},\n\tsetAttributes,\n\tclassName,\n} ) {\n\tconst selectId = useInstanceId( CategoriesEdit, 'blocks-category-select' );\n\n\tconst { records: allTaxonomies, isResolvingTaxonomies } = useEntityRecords(\n\t\t'root',\n\t\t'taxonomy'\n\t);\n\n\tconst taxonomies = allTaxonomies?.filter( ( t ) => t.visibility.public );\n\n\tconst taxonomy = taxonomies?.find( ( t ) => t.slug === taxonomySlug );\n\n\tconst isHierarchicalTaxonomy =\n\t\t! isResolvingTaxonomies && taxonomy?.hierarchical;\n\n\tconst query = { per_page: -1, hide_empty: ! showEmpty, context: 'view' };\n\tif ( isHierarchicalTaxonomy && showOnlyTopLevel ) {\n\t\tquery.parent = 0;\n\t}\n\n\tconst { records: categories, isResolving } = useEntityRecords(\n\t\t'taxonomy',\n\t\ttaxonomySlug,\n\t\tquery\n\t);\n\n\tconst getCategoriesList = ( parentId ) => {\n\t\tif ( ! categories?.length ) {\n\t\t\treturn [];\n\t\t}\n\t\tif ( parentId === null ) {\n\t\t\treturn categories;\n\t\t}\n\t\treturn categories.filter( ( { parent } ) => parent === parentId );\n\t};\n\n\tconst toggleAttribute = ( attributeName ) => ( newValue ) =>\n\t\tsetAttributes( { [ attributeName ]: newValue } );\n\n\tconst renderCategoryName = ( name ) =>\n\t\t! name ? __( '(Untitled)' ) : decodeEntities( name ).trim();\n\n\tconst renderCategoryList = () => {\n\t\tconst parentId = isHierarchicalTaxonomy && showHierarchy ? 0 : null;\n\t\tconst categoriesList = getCategoriesList( parentId );\n\t\treturn categoriesList.map( ( category ) =>\n\t\t\trenderCategoryListItem( category )\n\t\t);\n\t};\n\n\tconst renderCategoryListItem = ( category ) => {\n\t\tconst childCategories = getCategoriesList( category.id );\n\t\tconst { id, link, count, name } = category;\n\t\treturn (\n\t\t\t<li key={ id } className={ `cat-item cat-item-${ id }` }>\n\t\t\t\t<a href={ link } target=\"_blank\" rel=\"noreferrer noopener\">\n\t\t\t\t\t{ renderCategoryName( name ) }\n\t\t\t\t</a>\n\t\t\t\t{ showPostCounts && ` (${ count })` }\n\t\t\t\t{ isHierarchicalTaxonomy &&\n\t\t\t\t\tshowHierarchy &&\n\t\t\t\t\t!! childCategories.length && (\n\t\t\t\t\t\t<ul className=\"children\">\n\t\t\t\t\t\t\t{ childCategories.map( ( childCategory ) =>\n\t\t\t\t\t\t\t\trenderCategoryListItem( childCategory )\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</ul>\n\t\t\t\t\t) }\n\t\t\t</li>\n\t\t);\n\t};\n\n\tconst renderCategoryDropdown = () => {\n\t\tconst parentId = isHierarchicalTaxonomy && showHierarchy ? 0 : null;\n\t\tconst categoriesList = getCategoriesList( parentId );\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ showLabel ? (\n\t\t\t\t\t<RichText\n\t\t\t\t\t\tclassName=\"wp-block-categories__label\"\n\t\t\t\t\t\taria-label={ __( 'Label text' ) }\n\t\t\t\t\t\tplaceholder={ taxonomy.name }\n\t\t\t\t\t\twithoutInteractiveFormatting\n\t\t\t\t\t\tvalue={ label }\n\t\t\t\t\t\tonChange={ ( html ) =>\n\t\t\t\t\t\t\tsetAttributes( { label: html } )\n\t\t\t\t\t\t}\n\t\t\t\t\t/>\n\t\t\t\t) : (\n\t\t\t\t\t<VisuallyHidden as=\"label\" htmlFor={ selectId }>\n\t\t\t\t\t\t{ label ? label : taxonomy.name }\n\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t) }\n\t\t\t\t<select id={ selectId }>\n\t\t\t\t\t<option>\n\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t/* translators: %s: taxonomy's singular name */\n\t\t\t\t\t\t\t__( 'Select %s' ),\n\t\t\t\t\t\t\ttaxonomy.labels.singular_name\n\t\t\t\t\t\t) }\n\t\t\t\t\t</option>\n\t\t\t\t\t{ categoriesList.map( ( category ) =>\n\t\t\t\t\t\trenderCategoryDropdownItem( category, 0 )\n\t\t\t\t\t) }\n\t\t\t\t</select>\n\t\t\t</>\n\t\t);\n\t};\n\n\tconst renderCategoryDropdownItem = ( category, level ) => {\n\t\tconst { id, count, name } = category;\n\t\tconst childCategories = getCategoriesList( id );\n\t\treturn [\n\t\t\t<option key={ id } className={ `level-${ level }` }>\n\t\t\t\t{ Array.from( { length: level * 3 } ).map( () => '\\xa0' ) }\n\t\t\t\t{ renderCategoryName( name ) }\n\t\t\t\t{ showPostCounts && ` (${ count })` }\n\t\t\t</option>,\n\t\t\tisHierarchicalTaxonomy &&\n\t\t\t\tshowHierarchy &&\n\t\t\t\t!! childCategories.length &&\n\t\t\t\tchildCategories.map( ( childCategory ) =>\n\t\t\t\t\trenderCategoryDropdownItem( childCategory, level + 1 )\n\t\t\t\t),\n\t\t];\n\t};\n\n\tconst TagName =\n\t\t!! categories?.length && ! displayAsDropdown && ! isResolving\n\t\t\t? 'ul'\n\t\t\t: 'div';\n\n\tconst classes = clsx( className, {\n\t\t'wp-block-categories-list':\n\t\t\t!! categories?.length && ! displayAsDropdown && ! isResolving,\n\t\t'wp-block-categories-dropdown':\n\t\t\t!! categories?.length && displayAsDropdown && ! isResolving,\n\t} );\n\n\tconst blockProps = useBlockProps( {\n\t\tclassName: classes,\n\t} );\n\n\treturn (\n\t\t<TagName { ...blockProps }>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Settings' ) }>\n\t\t\t\t\t{ Array.isArray( taxonomies ) && (\n\t\t\t\t\t\t<SelectControl\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={ __( 'Taxonomy' ) }\n\t\t\t\t\t\t\toptions={ taxonomies.map( ( t ) => ( {\n\t\t\t\t\t\t\t\tlabel: t.name,\n\t\t\t\t\t\t\t\tvalue: t.slug,\n\t\t\t\t\t\t\t} ) ) }\n\t\t\t\t\t\t\tvalue={ taxonomySlug }\n\t\t\t\t\t\t\tonChange={ ( selectedTaxonomy ) =>\n\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\ttaxonomy: selectedTaxonomy,\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<ToggleControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Display as dropdown' ) }\n\t\t\t\t\t\tchecked={ displayAsDropdown }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'displayAsDropdown' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t{ displayAsDropdown && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tclassName=\"wp-block-categories__indentation\"\n\t\t\t\t\t\t\tlabel={ __( 'Show label' ) }\n\t\t\t\t\t\t\tchecked={ showLabel }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'showLabel' ) }\n\t\t\t\t\t\t/>\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={ __( 'Show post counts' ) }\n\t\t\t\t\t\tchecked={ showPostCounts }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'showPostCounts' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t{ isHierarchicalTaxonomy && (\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={ __( 'Show only top level terms' ) }\n\t\t\t\t\t\t\tchecked={ showOnlyTopLevel }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'showOnlyTopLevel' ) }\n\t\t\t\t\t\t/>\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={ __( 'Show empty terms' ) }\n\t\t\t\t\t\tchecked={ showEmpty }\n\t\t\t\t\t\tonChange={ toggleAttribute( 'showEmpty' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t{ isHierarchicalTaxonomy && ! showOnlyTopLevel && (\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={ __( 'Show hierarchy' ) }\n\t\t\t\t\t\t\tchecked={ showHierarchy }\n\t\t\t\t\t\t\tonChange={ toggleAttribute( 'showHierarchy' ) }\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{ isResolving && (\n\t\t\t\t<Placeholder icon={ pin } label={ __( 'Terms' ) }>\n\t\t\t\t\t<Spinner />\n\t\t\t\t</Placeholder>\n\t\t\t) }\n\t\t\t{ ! isResolving && categories?.length === 0 && (\n\t\t\t\t<p>{ taxonomy.labels.no_terms }</p>\n\t\t\t) }\n\t\t\t{ ! isResolving &&\n\t\t\t\tcategories?.length > 0 &&\n\t\t\t\t( displayAsDropdown\n\t\t\t\t\t? renderCategoryDropdown()\n\t\t\t\t\t: renderCategoryList() ) }\n\t\t</TagName>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -11,11 +11,16 @@ const metadata = {
|
|
|
11
11
|
$schema: "https://schemas.wp.org/trunk/block.json",
|
|
12
12
|
apiVersion: 3,
|
|
13
13
|
name: "core/categories",
|
|
14
|
-
title: "
|
|
14
|
+
title: "Terms List",
|
|
15
15
|
category: "widgets",
|
|
16
|
-
description: "Display a list of all
|
|
16
|
+
description: "Display a list of all terms of a given taxonomy.",
|
|
17
|
+
keywords: ["categories"],
|
|
17
18
|
textdomain: "default",
|
|
18
19
|
attributes: {
|
|
20
|
+
taxonomy: {
|
|
21
|
+
type: "string",
|
|
22
|
+
"default": "category"
|
|
23
|
+
},
|
|
19
24
|
displayAsDropdown: {
|
|
20
25
|
type: "boolean",
|
|
21
26
|
"default": false
|
|
@@ -90,6 +95,7 @@ const metadata = {
|
|
|
90
95
|
style: "wp-block-categories"
|
|
91
96
|
};
|
|
92
97
|
import edit from './edit';
|
|
98
|
+
import variations from './variations';
|
|
93
99
|
const {
|
|
94
100
|
name
|
|
95
101
|
} = metadata;
|
|
@@ -97,7 +103,8 @@ export { metadata, name };
|
|
|
97
103
|
export const settings = {
|
|
98
104
|
icon,
|
|
99
105
|
example: {},
|
|
100
|
-
edit
|
|
106
|
+
edit,
|
|
107
|
+
variations
|
|
101
108
|
};
|
|
102
109
|
export const init = () => initBlock({
|
|
103
110
|
name,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["category","icon","initBlock","metadata","$schema","apiVersion","name","title","description","textdomain","attributes","
|
|
1
|
+
{"version":3,"names":["category","icon","initBlock","metadata","$schema","apiVersion","name","title","description","keywords","textdomain","attributes","taxonomy","type","displayAsDropdown","showHierarchy","showPostCounts","showOnlyTopLevel","showEmpty","label","__experimentalRole","showLabel","usesContext","supports","align","html","spacing","margin","padding","__experimentalDefaultControls","typography","fontSize","lineHeight","__experimentalFontFamily","__experimentalFontWeight","__experimentalFontStyle","__experimentalTextTransform","__experimentalTextDecoration","__experimentalLetterSpacing","interactivity","clientNavigation","__experimentalBorder","radius","color","width","style","editorStyle","edit","variations","settings","example","init"],"sources":["@wordpress/block-library/src/categories/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { category as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport variations from './variations';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {},\n\tedit,\n\tvariations,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,QAAQ,IAAIC,IAAI,QAAQ,kBAAkB;;AAEnD;AACA;AACA;AACA,OAAOC,SAAS,MAAM,qBAAqB;AAAC,MAAAC,QAAA;EAAAC,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAP,QAAA;EAAAQ,WAAA;EAAAC,QAAA;EAAAC,UAAA;EAAAC,UAAA;IAAAC,QAAA;MAAAC,IAAA;MAAA;IAAA;IAAAC,iBAAA;MAAAD,IAAA;MAAA;IAAA;IAAAE,aAAA;MAAAF,IAAA;MAAA;IAAA;IAAAG,cAAA;MAAAH,IAAA;MAAA;IAAA;IAAAI,gBAAA;MAAAJ,IAAA;MAAA;IAAA;IAAAK,SAAA;MAAAL,IAAA;MAAA;IAAA;IAAAM,KAAA;MAAAN,IAAA;MAAAO,kBAAA;IAAA;IAAAC,SAAA;MAAAR,IAAA;MAAA;IAAA;EAAA;EAAAS,WAAA;EAAAC,QAAA;IAAAC,KAAA;IAAAC,IAAA;IAAAC,OAAA;MAAAC,MAAA;MAAAC,OAAA;MAAAC,6BAAA;QAAAF,MAAA;QAAAC,OAAA;MAAA;IAAA;IAAAE,UAAA;MAAAC,QAAA;MAAAC,UAAA;MAAAC,wBAAA;MAAAC,wBAAA;MAAAC,uBAAA;MAAAC,2BAAA;MAAAC,4BAAA;MAAAC,2BAAA;MAAAT,6BAAA;QAAAE,QAAA;MAAA;IAAA;IAAAQ,aAAA;MAAAC,gBAAA;IAAA;IAAAC,oBAAA;MAAAC,MAAA;MAAAC,KAAA;MAAAC,KAAA;MAAAC,KAAA;MAAAhB,6BAAA;QAAAa,MAAA;QAAAC,KAAA;QAAAC,KAAA;QAAAC,KAAA;MAAA;IAAA;EAAA;EAAAC,WAAA;EAAAD,KAAA;AAAA;AAE5C,OAAOE,IAAI,MAAM,QAAQ;AACzB,OAAOC,UAAU,MAAM,cAAc;AAErC,MAAM;EAAE1C;AAAK,CAAC,GAAGH,QAAQ;AAEzB,SAASA,QAAQ,EAAEG,IAAI;AAEvB,OAAO,MAAM2C,QAAQ,GAAG;EACvBhD,IAAI;EACJiD,OAAO,EAAE,CAAC,CAAC;EACXH,IAAI;EACJC;AACD,CAAC;AAED,OAAO,MAAMG,IAAI,GAAGA,CAAA,KAAMjD,SAAS,CAAE;EAAEI,IAAI;EAAEH,QAAQ;EAAE8C;AAAS,CAAE,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { __ } from '@wordpress/i18n';
|
|
5
|
+
import { category as icon } from '@wordpress/icons';
|
|
6
|
+
const variations = [{
|
|
7
|
+
name: 'terms',
|
|
8
|
+
title: __('Terms List'),
|
|
9
|
+
icon,
|
|
10
|
+
attributes: {
|
|
11
|
+
// We need to set an attribute here that will be set when inserting the block.
|
|
12
|
+
// We cannot leave this empty, as that would be interpreted as the default value,
|
|
13
|
+
// which is `category` -- for which we're defining a distinct variation below,
|
|
14
|
+
// for backwards compatibility reasons.
|
|
15
|
+
// The logical fallback is thus the only other built-in and public taxonomy: Tags.
|
|
16
|
+
taxonomy: 'post_tag'
|
|
17
|
+
},
|
|
18
|
+
isActive: blockAttributes =>
|
|
19
|
+
// This variation is used for any taxonomy other than `category`.
|
|
20
|
+
blockAttributes.taxonomy !== 'category'
|
|
21
|
+
}, {
|
|
22
|
+
name: 'categories',
|
|
23
|
+
title: __('Categories List'),
|
|
24
|
+
description: __('Display a list of all categories.'),
|
|
25
|
+
icon,
|
|
26
|
+
attributes: {
|
|
27
|
+
taxonomy: 'category'
|
|
28
|
+
},
|
|
29
|
+
isActive: ['taxonomy'],
|
|
30
|
+
// The following is needed to prevent "Terms List" from showing up twice in the inserter
|
|
31
|
+
// (once for the block, once for the variation). Fortunately, it does not collide with
|
|
32
|
+
// `categories` being the default value of the `taxonomy` attribute.
|
|
33
|
+
isDefault: true
|
|
34
|
+
}];
|
|
35
|
+
export default variations;
|
|
36
|
+
//# sourceMappingURL=variations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["__","category","icon","variations","name","title","attributes","taxonomy","isActive","blockAttributes","description","isDefault"],"sources":["@wordpress/block-library/src/categories/variations.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { category as icon } from '@wordpress/icons';\n\nconst variations = [\n\t{\n\t\tname: 'terms',\n\t\ttitle: __( 'Terms List' ),\n\t\ticon,\n\t\tattributes: {\n\t\t\t// We need to set an attribute here that will be set when inserting the block.\n\t\t\t// We cannot leave this empty, as that would be interpreted as the default value,\n\t\t\t// which is `category` -- for which we're defining a distinct variation below,\n\t\t\t// for backwards compatibility reasons.\n\t\t\t// The logical fallback is thus the only other built-in and public taxonomy: Tags.\n\t\t\ttaxonomy: 'post_tag',\n\t\t},\n\t\tisActive: ( blockAttributes ) =>\n\t\t\t// This variation is used for any taxonomy other than `category`.\n\t\t\tblockAttributes.taxonomy !== 'category',\n\t},\n\t{\n\t\tname: 'categories',\n\t\ttitle: __( 'Categories List' ),\n\t\tdescription: __( 'Display a list of all categories.' ),\n\t\ticon,\n\t\tattributes: {\n\t\t\ttaxonomy: 'category',\n\t\t},\n\t\tisActive: [ 'taxonomy' ],\n\t\t// The following is needed to prevent \"Terms List\" from showing up twice in the inserter\n\t\t// (once for the block, once for the variation). Fortunately, it does not collide with\n\t\t// `categories` being the default value of the `taxonomy` attribute.\n\t\tisDefault: true,\n\t},\n];\n\nexport default variations;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,QAAQ,IAAIC,IAAI,QAAQ,kBAAkB;AAEnD,MAAMC,UAAU,GAAG,CAClB;EACCC,IAAI,EAAE,OAAO;EACbC,KAAK,EAAEL,EAAE,CAAE,YAAa,CAAC;EACzBE,IAAI;EACJI,UAAU,EAAE;IACX;IACA;IACA;IACA;IACA;IACAC,QAAQ,EAAE;EACX,CAAC;EACDC,QAAQ,EAAIC,eAAe;EAC1B;EACAA,eAAe,CAACF,QAAQ,KAAK;AAC/B,CAAC,EACD;EACCH,IAAI,EAAE,YAAY;EAClBC,KAAK,EAAEL,EAAE,CAAE,iBAAkB,CAAC;EAC9BU,WAAW,EAAEV,EAAE,CAAE,mCAAoC,CAAC;EACtDE,IAAI;EACJI,UAAU,EAAE;IACXC,QAAQ,EAAE;EACX,CAAC;EACDC,QAAQ,EAAE,CAAE,UAAU,CAAE;EACxB;EACA;EACA;EACAG,SAAS,EAAE;AACZ,CAAC,CACD;AAED,eAAeR,UAAU","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createUpgradedEmbedBlock","getClassNames","removeAspectRatioClasses","fallback","getEmbedInfoByProvider","getMergedAttributesWithPreview","EmbedControls","embedContentIcon","EmbedLoading","EmbedPlaceholder","EmbedPreview","clsx","__","_x","sprintf","useState","useEffect","useDispatch","useSelect","useBlockProps","store","coreStore","View","getAuthority","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","EmbedEdit","props","attributes","providerNameSlug","previewable","responsive","url","attributesUrl","isSelected","onReplace","setAttributes","insertBlocksAfter","onFocus","defaultEmbedInfo","title","icon","setURL","isEditingURL","setIsEditingURL","invalidateResolution","preview","fetching","themeSupportsResponsive","cannotEmbed","hasResolved","select","getEmbedPreview","isPreviewEmbedFallback","isRequestingEmbedPreview","getThemeSupports","hasFinishedResolution","embedPreview","previewIsFallback","badEmbedProvider","html","type","undefined","wordpressCantEmbed","data","status","validPreview","getMergedAttributes","toggleResponsive","allowResponsive","className","newAllowResponsive","newURL","replace","URL","host","toString","mergedAttributes","upgradedBlock","blockProps","children","label","showEmbedPlaceholder","onSubmit","event","preventDefault","blockClass","value","onChange","tryAgain","caption","classFromPreview","showEditButton","blockSupportsResponsive","switchBackToURLInput","onCaptionChange"],"sources":["@wordpress/block-library/src/embed/edit.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport {\n\tcreateUpgradedEmbedBlock,\n\tgetClassNames,\n\tremoveAspectRatioClasses,\n\tfallback,\n\tgetEmbedInfoByProvider,\n\tgetMergedAttributesWithPreview,\n} from './util';\nimport EmbedControls from './embed-controls';\nimport { embedContentIcon } from './icons';\nimport EmbedLoading from './embed-loading';\nimport EmbedPlaceholder from './embed-placeholder';\nimport EmbedPreview from './embed-preview';\n\n/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { useState, useEffect } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useBlockProps } from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { View } from '@wordpress/primitives';\nimport { getAuthority } from '@wordpress/url';\n\nconst EmbedEdit = ( props ) => {\n\tconst {\n\t\tattributes: {\n\t\t\tproviderNameSlug,\n\t\t\tpreviewable,\n\t\t\tresponsive,\n\t\t\turl: attributesUrl,\n\t\t},\n\t\tattributes,\n\t\tisSelected,\n\t\tonReplace,\n\t\tsetAttributes,\n\t\tinsertBlocksAfter,\n\t\tonFocus,\n\t} = props;\n\n\tconst defaultEmbedInfo = {\n\t\ttitle: _x( 'Embed', 'block title' ),\n\t\ticon: embedContentIcon,\n\t};\n\tconst { icon, title } =\n\t\tgetEmbedInfoByProvider( providerNameSlug ) || defaultEmbedInfo;\n\n\tconst [ url, setURL ] = useState( attributesUrl );\n\tconst [ isEditingURL, setIsEditingURL ] = useState( false );\n\tconst { invalidateResolution } = useDispatch( coreStore );\n\n\tconst {\n\t\tpreview,\n\t\tfetching,\n\t\tthemeSupportsResponsive,\n\t\tcannotEmbed,\n\t\thasResolved,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetEmbedPreview,\n\t\t\t\tisPreviewEmbedFallback,\n\t\t\t\tisRequestingEmbedPreview,\n\t\t\t\tgetThemeSupports,\n\t\t\t\thasFinishedResolution,\n\t\t\t} = select( coreStore );\n\t\t\tif ( ! attributesUrl ) {\n\t\t\t\treturn { fetching: false, cannotEmbed: false };\n\t\t\t}\n\n\t\t\tconst embedPreview = getEmbedPreview( attributesUrl );\n\t\t\tconst previewIsFallback = isPreviewEmbedFallback( attributesUrl );\n\n\t\t\t// The external oEmbed provider does not exist. We got no type info and no html.\n\t\t\tconst badEmbedProvider =\n\t\t\t\tembedPreview?.html === false &&\n\t\t\t\tembedPreview?.type === undefined;\n\t\t\t// Some WordPress URLs that can't be embedded will cause the API to return\n\t\t\t// a valid JSON response with no HTML and `data.status` set to 404, rather\n\t\t\t// than generating a fallback response as other embeds do.\n\t\t\tconst wordpressCantEmbed = embedPreview?.data?.status === 404;\n\t\t\tconst validPreview =\n\t\t\t\t!! embedPreview && ! badEmbedProvider && ! wordpressCantEmbed;\n\t\t\treturn {\n\t\t\t\tpreview: validPreview ? embedPreview : undefined,\n\t\t\t\tfetching: isRequestingEmbedPreview( attributesUrl ),\n\t\t\t\tthemeSupportsResponsive:\n\t\t\t\t\tgetThemeSupports()[ 'responsive-embeds' ],\n\t\t\t\tcannotEmbed: ! validPreview || previewIsFallback,\n\t\t\t\thasResolved: hasFinishedResolution( 'getEmbedPreview', [\n\t\t\t\t\tattributesUrl,\n\t\t\t\t] ),\n\t\t\t};\n\t\t},\n\t\t[ attributesUrl ]\n\t);\n\n\t/**\n\t * Returns the attributes derived from the preview, merged with the current attributes.\n\t *\n\t * @return {Object} Merged attributes.\n\t */\n\tconst getMergedAttributes = () =>\n\t\tgetMergedAttributesWithPreview(\n\t\t\tattributes,\n\t\t\tpreview,\n\t\t\ttitle,\n\t\t\tresponsive\n\t\t);\n\n\tconst toggleResponsive = () => {\n\t\tconst { allowResponsive, className } = attributes;\n\t\tconst { html } = preview;\n\t\tconst newAllowResponsive = ! allowResponsive;\n\n\t\tsetAttributes( {\n\t\t\tallowResponsive: newAllowResponsive,\n\t\t\tclassName: getClassNames(\n\t\t\t\thtml,\n\t\t\t\tclassName,\n\t\t\t\tresponsive && newAllowResponsive\n\t\t\t),\n\t\t} );\n\t};\n\n\tuseEffect( () => {\n\t\tif ( preview?.html || ! cannotEmbed || ! hasResolved ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// At this stage, we're not fetching the preview and know it can't be embedded,\n\t\t// so try removing any trailing slash, and resubmit.\n\t\tconst newURL = attributesUrl.replace( /\\/$/, '' );\n\t\tsetURL( newURL );\n\t\tsetIsEditingURL( false );\n\t\tsetAttributes( { url: newURL } );\n\t}, [\n\t\tpreview?.html,\n\t\tattributesUrl,\n\t\tcannotEmbed,\n\t\thasResolved,\n\t\tsetAttributes,\n\t] );\n\n\t// Try a different provider in case the embed url is not supported.\n\tuseEffect( () => {\n\t\tif ( ! cannotEmbed || fetching || ! url ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Until X provider is supported in WordPress, as a workaround we use Twitter provider.\n\t\tif ( getAuthority( url ) === 'x.com' ) {\n\t\t\tconst newURL = new URL( url );\n\t\t\tnewURL.host = 'twitter.com';\n\t\t\tsetAttributes( { url: newURL.toString() } );\n\t\t}\n\t}, [ url, cannotEmbed, fetching, setAttributes ] );\n\n\t// Handle incoming preview.\n\tuseEffect( () => {\n\t\tif ( preview && ! isEditingURL ) {\n\t\t\t// When obtaining an incoming preview,\n\t\t\t// we set the attributes derived from the preview data.\n\t\t\tconst mergedAttributes = getMergedAttributes();\n\t\t\tsetAttributes( mergedAttributes );\n\n\t\t\tif ( onReplace ) {\n\t\t\t\tconst upgradedBlock = createUpgradedEmbedBlock(\n\t\t\t\t\tprops,\n\t\t\t\t\tmergedAttributes\n\t\t\t\t);\n\n\t\t\t\tif ( upgradedBlock ) {\n\t\t\t\t\tonReplace( upgradedBlock );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}, [ preview, isEditingURL ] );\n\n\tconst blockProps = useBlockProps();\n\n\tif ( fetching ) {\n\t\treturn (\n\t\t\t<View { ...blockProps }>\n\t\t\t\t<EmbedLoading />\n\t\t\t</View>\n\t\t);\n\t}\n\n\t// translators: %s: type of embed e.g: \"YouTube\", \"Twitter\", etc. \"Embed\" is used when no specific type exists\n\tconst label = sprintf( __( '%s URL' ), title );\n\n\t// No preview, or we can't embed the current URL, or we've clicked the edit button.\n\tconst showEmbedPlaceholder = ! preview || cannotEmbed || isEditingURL;\n\n\tif ( showEmbedPlaceholder ) {\n\t\treturn (\n\t\t\t<View { ...blockProps }>\n\t\t\t\t<EmbedPlaceholder\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\tonSubmit={ ( event ) => {\n\t\t\t\t\t\tif ( event ) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// If the embed URL was changed, we need to reset the aspect ratio class.\n\t\t\t\t\t\t// To do this we have to remove the existing ratio class so it can be recalculated.\n\t\t\t\t\t\tconst blockClass = removeAspectRatioClasses(\n\t\t\t\t\t\t\tattributes.className\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tsetIsEditingURL( false );\n\t\t\t\t\t\tsetAttributes( { url, className: blockClass } );\n\t\t\t\t\t} }\n\t\t\t\t\tvalue={ url }\n\t\t\t\t\tcannotEmbed={ cannotEmbed }\n\t\t\t\t\tonChange={ ( value ) => setURL( value ) }\n\t\t\t\t\tfallback={ () => fallback( url, onReplace ) }\n\t\t\t\t\ttryAgain={ () => {\n\t\t\t\t\t\tinvalidateResolution( 'getEmbedPreview', [ url ] );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t);\n\t}\n\n\t// Even though we set attributes that get derived from the preview,\n\t// we don't access them directly because for the initial render,\n\t// the `setAttributes` call will not have taken effect. If we're\n\t// rendering responsive content, setting the responsive classes\n\t// after the preview has been rendered can result in unwanted\n\t// clipping or scrollbars. The `getAttributesFromPreview` function\n\t// that `getMergedAttributes` uses is memoized so that we're not\n\t// calculating them on every render.\n\tconst {\n\t\tcaption,\n\t\ttype,\n\t\tallowResponsive,\n\t\tclassName: classFromPreview,\n\t} = getMergedAttributes();\n\tconst className = clsx( classFromPreview, props.className );\n\n\treturn (\n\t\t<>\n\t\t\t<EmbedControls\n\t\t\t\tshowEditButton={ preview && ! cannotEmbed }\n\t\t\t\tthemeSupportsResponsive={ themeSupportsResponsive }\n\t\t\t\tblockSupportsResponsive={ responsive }\n\t\t\t\tallowResponsive={ allowResponsive }\n\t\t\t\ttoggleResponsive={ toggleResponsive }\n\t\t\t\tswitchBackToURLInput={ () => setIsEditingURL( true ) }\n\t\t\t/>\n\t\t\t<View { ...blockProps }>\n\t\t\t\t<EmbedPreview\n\t\t\t\t\tpreview={ preview }\n\t\t\t\t\tpreviewable={ previewable }\n\t\t\t\t\tclassName={ className }\n\t\t\t\t\turl={ url }\n\t\t\t\t\ttype={ type }\n\t\t\t\t\tcaption={ caption }\n\t\t\t\t\tonCaptionChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { caption: value } )\n\t\t\t\t\t}\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t</>\n\t);\n};\n\nexport default EmbedEdit;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["createUpgradedEmbedBlock","getClassNames","removeAspectRatioClasses","fallback","getEmbedInfoByProvider","getMergedAttributesWithPreview","EmbedControls","embedContentIcon","EmbedLoading","EmbedPlaceholder","EmbedPreview","clsx","__","_x","sprintf","useState","useEffect","useDispatch","useSelect","useBlockProps","store","coreStore","View","getAuthority","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","EmbedEdit","props","attributes","providerNameSlug","previewable","responsive","url","attributesUrl","isSelected","onReplace","setAttributes","insertBlocksAfter","onFocus","defaultEmbedInfo","title","icon","setURL","isEditingURL","setIsEditingURL","invalidateResolution","preview","fetching","themeSupportsResponsive","cannotEmbed","hasResolved","select","getEmbedPreview","isPreviewEmbedFallback","isRequestingEmbedPreview","getThemeSupports","hasFinishedResolution","embedPreview","previewIsFallback","badEmbedProvider","html","type","undefined","wordpressCantEmbed","data","status","validPreview","getMergedAttributes","toggleResponsive","allowResponsive","className","newAllowResponsive","newURL","replace","URL","host","toString","mergedAttributes","upgradedBlock","blockProps","children","label","showEmbedPlaceholder","onSubmit","event","preventDefault","blockClass","value","onChange","tryAgain","caption","classFromPreview","showEditButton","blockSupportsResponsive","switchBackToURLInput","onCaptionChange"],"sources":["@wordpress/block-library/src/embed/edit.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport {\n\tcreateUpgradedEmbedBlock,\n\tgetClassNames,\n\tremoveAspectRatioClasses,\n\tfallback,\n\tgetEmbedInfoByProvider,\n\tgetMergedAttributesWithPreview,\n} from './util';\nimport EmbedControls from './embed-controls';\nimport { embedContentIcon } from './icons';\nimport EmbedLoading from './embed-loading';\nimport EmbedPlaceholder from './embed-placeholder';\nimport EmbedPreview from './embed-preview';\n\n/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { useState, useEffect } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useBlockProps } from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { View } from '@wordpress/primitives';\nimport { getAuthority } from '@wordpress/url';\n\nconst EmbedEdit = ( props ) => {\n\tconst {\n\t\tattributes: {\n\t\t\tproviderNameSlug,\n\t\t\tpreviewable,\n\t\t\tresponsive,\n\t\t\turl: attributesUrl,\n\t\t},\n\t\tattributes,\n\t\tisSelected,\n\t\tonReplace,\n\t\tsetAttributes,\n\t\tinsertBlocksAfter,\n\t\tonFocus,\n\t} = props;\n\n\tconst defaultEmbedInfo = {\n\t\ttitle: _x( 'Embed', 'block title' ),\n\t\ticon: embedContentIcon,\n\t};\n\tconst { icon, title } =\n\t\tgetEmbedInfoByProvider( providerNameSlug ) || defaultEmbedInfo;\n\n\tconst [ url, setURL ] = useState( attributesUrl );\n\tconst [ isEditingURL, setIsEditingURL ] = useState( false );\n\tconst { invalidateResolution } = useDispatch( coreStore );\n\n\tconst {\n\t\tpreview,\n\t\tfetching,\n\t\tthemeSupportsResponsive,\n\t\tcannotEmbed,\n\t\thasResolved,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetEmbedPreview,\n\t\t\t\tisPreviewEmbedFallback,\n\t\t\t\tisRequestingEmbedPreview,\n\t\t\t\tgetThemeSupports,\n\t\t\t\thasFinishedResolution,\n\t\t\t} = select( coreStore );\n\t\t\tif ( ! attributesUrl ) {\n\t\t\t\treturn { fetching: false, cannotEmbed: false };\n\t\t\t}\n\n\t\t\tconst embedPreview = getEmbedPreview( attributesUrl );\n\t\t\tconst previewIsFallback = isPreviewEmbedFallback( attributesUrl );\n\n\t\t\t// The external oEmbed provider does not exist. We got no type info and no html.\n\t\t\tconst badEmbedProvider =\n\t\t\t\tembedPreview?.html === false &&\n\t\t\t\tembedPreview?.type === undefined;\n\t\t\t// Some WordPress URLs that can't be embedded will cause the API to return\n\t\t\t// a valid JSON response with no HTML and `data.status` set to 404, rather\n\t\t\t// than generating a fallback response as other embeds do.\n\t\t\tconst wordpressCantEmbed = embedPreview?.data?.status === 404;\n\t\t\tconst validPreview =\n\t\t\t\t!! embedPreview && ! badEmbedProvider && ! wordpressCantEmbed;\n\t\t\treturn {\n\t\t\t\tpreview: validPreview ? embedPreview : undefined,\n\t\t\t\tfetching: isRequestingEmbedPreview( attributesUrl ),\n\t\t\t\tthemeSupportsResponsive:\n\t\t\t\t\tgetThemeSupports()[ 'responsive-embeds' ],\n\t\t\t\tcannotEmbed: ! validPreview || previewIsFallback,\n\t\t\t\thasResolved: hasFinishedResolution( 'getEmbedPreview', [\n\t\t\t\t\tattributesUrl,\n\t\t\t\t] ),\n\t\t\t};\n\t\t},\n\t\t[ attributesUrl ]\n\t);\n\n\t/**\n\t * Returns the attributes derived from the preview, merged with the current attributes.\n\t *\n\t * @return {Object} Merged attributes.\n\t */\n\tconst getMergedAttributes = () =>\n\t\tgetMergedAttributesWithPreview(\n\t\t\tattributes,\n\t\t\tpreview,\n\t\t\ttitle,\n\t\t\tresponsive\n\t\t);\n\n\tconst toggleResponsive = () => {\n\t\tconst { allowResponsive, className } = attributes;\n\t\tconst { html } = preview;\n\t\tconst newAllowResponsive = ! allowResponsive;\n\n\t\tsetAttributes( {\n\t\t\tallowResponsive: newAllowResponsive,\n\t\t\tclassName: getClassNames(\n\t\t\t\thtml,\n\t\t\t\tclassName,\n\t\t\t\tresponsive && newAllowResponsive\n\t\t\t),\n\t\t} );\n\t};\n\n\tuseEffect( () => {\n\t\tif ( preview?.html || ! cannotEmbed || ! hasResolved ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// At this stage, we're not fetching the preview and know it can't be embedded,\n\t\t// so try removing any trailing slash, and resubmit.\n\t\tconst newURL = attributesUrl.replace( /\\/$/, '' );\n\t\tsetURL( newURL );\n\t\tsetIsEditingURL( false );\n\t\tsetAttributes( { url: newURL } );\n\t}, [\n\t\tpreview?.html,\n\t\tattributesUrl,\n\t\tcannotEmbed,\n\t\thasResolved,\n\t\tsetAttributes,\n\t] );\n\n\t// Try a different provider in case the embed url is not supported.\n\tuseEffect( () => {\n\t\tif ( ! cannotEmbed || fetching || ! url ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Until X provider is supported in WordPress, as a workaround we use Twitter provider.\n\t\tif ( getAuthority( url ) === 'x.com' ) {\n\t\t\tconst newURL = new URL( url );\n\t\t\tnewURL.host = 'twitter.com';\n\t\t\tsetAttributes( { url: newURL.toString() } );\n\t\t}\n\t}, [ url, cannotEmbed, fetching, setAttributes ] );\n\n\t// Handle incoming preview.\n\tuseEffect( () => {\n\t\tif ( preview && ! isEditingURL ) {\n\t\t\t// When obtaining an incoming preview,\n\t\t\t// we set the attributes derived from the preview data.\n\t\t\tconst mergedAttributes = getMergedAttributes();\n\t\t\tsetAttributes( mergedAttributes );\n\n\t\t\tif ( onReplace ) {\n\t\t\t\tconst upgradedBlock = createUpgradedEmbedBlock(\n\t\t\t\t\tprops,\n\t\t\t\t\tmergedAttributes\n\t\t\t\t);\n\n\t\t\t\tif ( upgradedBlock ) {\n\t\t\t\t\tonReplace( upgradedBlock );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}, [ preview, isEditingURL ] );\n\n\tconst blockProps = useBlockProps();\n\n\tif ( fetching ) {\n\t\treturn (\n\t\t\t<View { ...blockProps }>\n\t\t\t\t<EmbedLoading />\n\t\t\t</View>\n\t\t);\n\t}\n\n\t// translators: %s: type of embed e.g: \"YouTube\", \"Twitter\", etc. \"Embed\" is used when no specific type exists\n\tconst label = sprintf( __( '%s URL' ), title );\n\n\t// No preview, or we can't embed the current URL, or we've clicked the edit button.\n\tconst showEmbedPlaceholder = ! preview || cannotEmbed || isEditingURL;\n\n\tif ( showEmbedPlaceholder ) {\n\t\treturn (\n\t\t\t<View { ...blockProps }>\n\t\t\t\t<EmbedPlaceholder\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\tonSubmit={ ( event ) => {\n\t\t\t\t\t\tif ( event ) {\n\t\t\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// If the embed URL was changed, we need to reset the aspect ratio class.\n\t\t\t\t\t\t// To do this we have to remove the existing ratio class so it can be recalculated.\n\t\t\t\t\t\tconst blockClass = removeAspectRatioClasses(\n\t\t\t\t\t\t\tattributes.className\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tsetIsEditingURL( false );\n\t\t\t\t\t\tsetAttributes( { url, className: blockClass } );\n\t\t\t\t\t} }\n\t\t\t\t\tvalue={ url }\n\t\t\t\t\tcannotEmbed={ cannotEmbed }\n\t\t\t\t\tonChange={ ( value ) => setURL( value ) }\n\t\t\t\t\tfallback={ () => fallback( url, onReplace ) }\n\t\t\t\t\ttryAgain={ () => {\n\t\t\t\t\t\tinvalidateResolution( 'getEmbedPreview', [ url ] );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t);\n\t}\n\n\t// Even though we set attributes that get derived from the preview,\n\t// we don't access them directly because for the initial render,\n\t// the `setAttributes` call will not have taken effect. If we're\n\t// rendering responsive content, setting the responsive classes\n\t// after the preview has been rendered can result in unwanted\n\t// clipping or scrollbars. The `getAttributesFromPreview` function\n\t// that `getMergedAttributes` uses is memoized so that we're not\n\t// calculating them on every render.\n\tconst {\n\t\tcaption,\n\t\ttype,\n\t\tallowResponsive,\n\t\tclassName: classFromPreview,\n\t} = getMergedAttributes();\n\tconst className = clsx( classFromPreview, props.className );\n\n\treturn (\n\t\t<>\n\t\t\t<EmbedControls\n\t\t\t\tshowEditButton={ preview && ! cannotEmbed }\n\t\t\t\tthemeSupportsResponsive={ themeSupportsResponsive }\n\t\t\t\tblockSupportsResponsive={ responsive }\n\t\t\t\tallowResponsive={ allowResponsive }\n\t\t\t\ttoggleResponsive={ toggleResponsive }\n\t\t\t\tswitchBackToURLInput={ () => setIsEditingURL( true ) }\n\t\t\t/>\n\t\t\t<View { ...blockProps }>\n\t\t\t\t<EmbedPreview\n\t\t\t\t\tpreview={ preview }\n\t\t\t\t\tpreviewable={ previewable }\n\t\t\t\t\tclassName={ className }\n\t\t\t\t\turl={ url }\n\t\t\t\t\ttype={ type }\n\t\t\t\t\tcaption={ caption }\n\t\t\t\t\tonCaptionChange={ ( value ) =>\n\t\t\t\t\t\tsetAttributes( { caption: value } )\n\t\t\t\t\t}\n\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\tattributes={ attributes }\n\t\t\t\t\tsetAttributes={ setAttributes }\n\t\t\t\t/>\n\t\t\t</View>\n\t\t</>\n\t);\n};\n\nexport default EmbedEdit;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createUpgradedEmbedBlock","getClassNames","removeAspectRatioClasses","fallback","getEmbedInfoByProvider","getMergedAttributesWithPreview","EmbedControls","embedContentIcon","EmbedLoading","EmbedPlaceholder","EmbedPreview","EmbedLinkSettings","clsx","_x","useCallback","useState","useEffect","useDispatch","useSelect","useBlockProps","store","blockEditorStore","coreStore","View","getAuthority","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","PREVIEWABLE_PROVIDERS","NOT_PREVIEWABLE_WP_EMBED_PROVIDERS","WP_EMBED_TYPE","EmbedEdit","props","attributes","align","providerNameSlug","previewable","responsive","url","isSelected","onReplace","setAttributes","insertBlocksAfter","onFocus","clientId","defaultEmbedInfo","title","icon","embedInfoByProvider","wasBlockJustInserted","select","isEditingURL","setIsEditingURL","showEmbedBottomSheet","setShowEmbedBottomSheet","invalidateResolution","preview","fetching","themeSupportsResponsive","cannotEmbed","getEmbedPreview","hasFinishedResolution","isPreviewEmbedFallback","getThemeSupports","embedPreview","hasResolvedEmbedPreview","previewIsFallback","badEmbedProvider","html","type","undefined","wordpressCantEmbed","code","validPreview","getMergedAttributes","toggleResponsive","allowResponsive","className","newAllowResponsive","newURL","replace","URL","host","toString","mergedAttributes","upgradedBlock","onEditURL","value","blockClass","blockProps","children","showEmbedPlaceholder","classFromPreview","isProviderPreviewable","includes","linkLabel","label","onPress","event","tryAgain","openEmbedLinkSettings","blockSupportsResponsive","isDefaultEmbedInfo","autoFocus","isVisible","onClose","onSubmit","withBottomSheet"],"sources":["@wordpress/block-library/src/embed/edit.native.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport {\n\tcreateUpgradedEmbedBlock,\n\tgetClassNames,\n\tremoveAspectRatioClasses,\n\tfallback,\n\tgetEmbedInfoByProvider,\n\tgetMergedAttributesWithPreview,\n} from './util';\nimport EmbedControls from './embed-controls';\nimport { embedContentIcon } from './icons';\nimport EmbedLoading from './embed-loading';\nimport EmbedPlaceholder from './embed-placeholder';\nimport EmbedPreview from './embed-preview';\nimport EmbedLinkSettings from './embed-link-settings';\n\n/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { _x } from '@wordpress/i18n';\nimport { useCallback, useState, useEffect } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { View } from '@wordpress/primitives';\nimport { getAuthority } from '@wordpress/url';\n\n// The inline preview feature will be released progressible, for this reason\n// the embed will only be considered previewable for the following providers list.\nconst PREVIEWABLE_PROVIDERS = [ 'youtube', 'twitter', 'instagram', 'vimeo' ];\n// Some providers are rendering the inline preview as a WordPress embed and\n// are not supported yet, so we need to disallow them with a fixed providers list.\nconst NOT_PREVIEWABLE_WP_EMBED_PROVIDERS = [ 'pinterest' ];\n\nconst WP_EMBED_TYPE = 'wp-embed';\n\nconst EmbedEdit = ( props ) => {\n\tconst {\n\t\tattributes: { align, providerNameSlug, previewable, responsive, url },\n\t\tattributes,\n\t\tisSelected,\n\t\tonReplace,\n\t\tsetAttributes,\n\t\tinsertBlocksAfter,\n\t\tonFocus,\n\t\tclientId,\n\t} = props;\n\n\tconst defaultEmbedInfo = {\n\t\ttitle: _x( 'Embed', 'block title' ),\n\t\ticon: embedContentIcon,\n\t};\n\tconst embedInfoByProvider = getEmbedInfoByProvider( providerNameSlug );\n\tconst { icon, title } = embedInfoByProvider || defaultEmbedInfo;\n\n\tconst { wasBlockJustInserted } = useSelect(\n\t\t( select ) => ( {\n\t\t\twasBlockJustInserted: select(\n\t\t\t\tblockEditorStore\n\t\t\t).wasBlockJustInserted( clientId, 'inserter_menu' ),\n\t\t} ),\n\t\t[ clientId ]\n\t);\n\tconst [ isEditingURL, setIsEditingURL ] = useState(\n\t\tisSelected && wasBlockJustInserted && ! url\n\t);\n\tconst [ showEmbedBottomSheet, setShowEmbedBottomSheet ] =\n\t\tuseState( isEditingURL );\n\tconst { invalidateResolution } = useDispatch( coreStore );\n\n\tconst { preview, fetching, themeSupportsResponsive, cannotEmbed } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst {\n\t\t\t\t\tgetEmbedPreview,\n\t\t\t\t\thasFinishedResolution,\n\t\t\t\t\tisPreviewEmbedFallback,\n\t\t\t\t\tgetThemeSupports,\n\t\t\t\t} = select( coreStore );\n\t\t\t\tif ( ! url ) {\n\t\t\t\t\treturn { fetching: false, cannotEmbed: false };\n\t\t\t\t}\n\n\t\t\t\tconst embedPreview = getEmbedPreview( url );\n\t\t\t\tconst hasResolvedEmbedPreview = hasFinishedResolution(\n\t\t\t\t\t'getEmbedPreview',\n\t\t\t\t\t[ url ]\n\t\t\t\t);\n\t\t\t\tconst previewIsFallback = isPreviewEmbedFallback( url );\n\n\t\t\t\t// The external oEmbed provider does not exist. We got no type info and no html.\n\t\t\t\tconst badEmbedProvider =\n\t\t\t\t\tembedPreview?.html === false &&\n\t\t\t\t\tembedPreview?.type === undefined;\n\t\t\t\t// Some WordPress URLs that can't be embedded will cause the API to return\n\t\t\t\t// a valid JSON response with no HTML and `code` set to 404, rather\n\t\t\t\t// than generating a fallback response as other embeds do.\n\t\t\t\tconst wordpressCantEmbed = embedPreview?.code === '404';\n\t\t\t\tconst validPreview =\n\t\t\t\t\t!! embedPreview &&\n\t\t\t\t\t! badEmbedProvider &&\n\t\t\t\t\t! wordpressCantEmbed;\n\n\t\t\t\treturn {\n\t\t\t\t\tpreview: validPreview ? embedPreview : undefined,\n\t\t\t\t\tfetching: ! hasResolvedEmbedPreview,\n\t\t\t\t\tthemeSupportsResponsive:\n\t\t\t\t\t\tgetThemeSupports()[ 'responsive-embeds' ],\n\t\t\t\t\tcannotEmbed: ! validPreview || previewIsFallback,\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ url ]\n\t\t);\n\n\t/**\n\t * Returns the attributes derived from the preview, merged with the current attributes.\n\t *\n\t * @return {Object} Merged attributes.\n\t */\n\tconst getMergedAttributes = () =>\n\t\tgetMergedAttributesWithPreview(\n\t\t\tattributes,\n\t\t\tpreview,\n\t\t\ttitle,\n\t\t\tresponsive\n\t\t);\n\n\tconst toggleResponsive = () => {\n\t\tconst { allowResponsive, className } = attributes;\n\t\tconst { html } = preview;\n\t\tconst newAllowResponsive = ! allowResponsive;\n\n\t\tsetAttributes( {\n\t\t\tallowResponsive: newAllowResponsive,\n\t\t\tclassName: getClassNames(\n\t\t\t\thtml,\n\t\t\t\tclassName,\n\t\t\t\tresponsive && newAllowResponsive\n\t\t\t),\n\t\t} );\n\t};\n\n\tuseEffect( () => {\n\t\tif ( ! preview?.html || ! cannotEmbed || fetching ) {\n\t\t\treturn;\n\t\t}\n\t\t// At this stage, we're not fetching the preview and know it can't be embedded,\n\t\t// so try removing any trailing slash, and resubmit.\n\t\tconst newURL = url.replace( /\\/$/, '' );\n\t\tsetIsEditingURL( false );\n\t\tsetAttributes( { url: newURL } );\n\t}, [ preview?.html, url, cannotEmbed, fetching ] );\n\n\t// Try a different provider in case the embed url is not supported.\n\tuseEffect( () => {\n\t\tif ( ! cannotEmbed || fetching || ! url ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Until X provider is supported in WordPress, as a workaround we use Twitter provider.\n\t\tif ( getAuthority( url ) === 'x.com' ) {\n\t\t\tconst newURL = new URL( url );\n\t\t\tnewURL.host = 'twitter.com';\n\t\t\tsetAttributes( { url: newURL.toString() } );\n\t\t}\n\t}, [ url, cannotEmbed, fetching, setAttributes ] );\n\n\t// Handle incoming preview.\n\tuseEffect( () => {\n\t\tif ( preview && ! isEditingURL ) {\n\t\t\t// When obtaining an incoming preview,\n\t\t\t// we set the attributes derived from the preview data.\n\t\t\tconst mergedAttributes = getMergedAttributes();\n\t\t\tsetAttributes( mergedAttributes );\n\n\t\t\tif ( onReplace ) {\n\t\t\t\tconst upgradedBlock = createUpgradedEmbedBlock(\n\t\t\t\t\tprops,\n\t\t\t\t\tmergedAttributes\n\t\t\t\t);\n\n\t\t\t\tif ( upgradedBlock ) {\n\t\t\t\t\tonReplace( upgradedBlock );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}, [ preview, isEditingURL ] );\n\n\tuseEffect(\n\t\t() => setShowEmbedBottomSheet( isEditingURL ),\n\t\t[ isEditingURL ]\n\t);\n\n\tconst onEditURL = useCallback(\n\t\t( value ) => {\n\t\t\t// If the embed URL was changed, we need to reset the aspect ratio class.\n\t\t\t// To do this we have to remove the existing ratio class so it can be recalculated.\n\t\t\tif ( attributes.url !== value ) {\n\t\t\t\tconst blockClass = removeAspectRatioClasses(\n\t\t\t\t\tattributes.className\n\t\t\t\t);\n\t\t\t\tsetAttributes( { className: blockClass } );\n\t\t\t}\n\n\t\t\t// The order of the following calls is important, we need to update the URL attribute before changing `isEditingURL`,\n\t\t\t// otherwise the side-effect that potentially replaces the block when updating the local state won't use the new URL\n\t\t\t// for creating the new block.\n\t\t\tsetAttributes( { url: value } );\n\t\t\tsetIsEditingURL( false );\n\t\t},\n\t\t[ attributes, setAttributes ]\n\t);\n\n\tconst blockProps = useBlockProps();\n\n\tif ( fetching ) {\n\t\treturn (\n\t\t\t<View { ...blockProps }>\n\t\t\t\t<EmbedLoading />\n\t\t\t</View>\n\t\t);\n\t}\n\n\tconst showEmbedPlaceholder = ! preview || cannotEmbed;\n\n\t// Even though we set attributes that get derived from the preview,\n\t// we don't access them directly because for the initial render,\n\t// the `setAttributes` call will not have taken effect. If we're\n\t// rendering responsive content, setting the responsive classes\n\t// after the preview has been rendered can result in unwanted\n\t// clipping or scrollbars. The `getAttributesFromPreview` function\n\t// that `getMergedAttributes` uses is memoized so that we're not\n\t// calculating them on every render.\n\tconst {\n\t\ttype,\n\t\tallowResponsive,\n\t\tclassName: classFromPreview,\n\t} = getMergedAttributes();\n\tconst className = clsx( classFromPreview, props.className );\n\n\tconst isProviderPreviewable =\n\t\tPREVIEWABLE_PROVIDERS.includes( providerNameSlug ) ||\n\t\t// For WordPress embeds, we enable the inline preview for all its providers\n\t\t// except the ones that are not supported yet.\n\t\t( WP_EMBED_TYPE === type &&\n\t\t\t! NOT_PREVIEWABLE_WP_EMBED_PROVIDERS.includes( providerNameSlug ) );\n\n\tconst linkLabel = WP_EMBED_TYPE === type ? 'WordPress' : title;\n\n\treturn (\n\t\t<>\n\t\t\t{ showEmbedPlaceholder ? (\n\t\t\t\t<>\n\t\t\t\t\t<View { ...blockProps }>\n\t\t\t\t\t\t<EmbedPlaceholder\n\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\tlabel={ title }\n\t\t\t\t\t\t\tonPress={ ( event ) => {\n\t\t\t\t\t\t\t\tonFocus( event );\n\t\t\t\t\t\t\t\tsetIsEditingURL( true );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tcannotEmbed={ cannotEmbed }\n\t\t\t\t\t\t\tfallback={ () => fallback( url, onReplace ) }\n\t\t\t\t\t\t\ttryAgain={ () => {\n\t\t\t\t\t\t\t\tinvalidateResolution( 'getEmbedPreview', [\n\t\t\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\t\t] );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\topenEmbedLinkSettings={ () =>\n\t\t\t\t\t\t\t\tsetShowEmbedBottomSheet( true )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t</>\n\t\t\t) : (\n\t\t\t\t<>\n\t\t\t\t\t<EmbedControls\n\t\t\t\t\t\tthemeSupportsResponsive={ themeSupportsResponsive }\n\t\t\t\t\t\tblockSupportsResponsive={ responsive }\n\t\t\t\t\t\tallowResponsive={ allowResponsive }\n\t\t\t\t\t\ttoggleResponsive={ toggleResponsive }\n\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\tlinkLabel={ linkLabel }\n\t\t\t\t\t\tonEditURL={ onEditURL }\n\t\t\t\t\t/>\n\t\t\t\t\t<View { ...blockProps }>\n\t\t\t\t\t\t<EmbedPreview\n\t\t\t\t\t\t\talign={ align }\n\t\t\t\t\t\t\tclassName={ className }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\tlabel={ title }\n\t\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\t\tpreview={ preview }\n\t\t\t\t\t\t\tisProviderPreviewable={ isProviderPreviewable }\n\t\t\t\t\t\t\tpreviewable={ previewable }\n\t\t\t\t\t\t\ttype={ type }\n\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t\tisDefaultEmbedInfo={ ! embedInfoByProvider }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<EmbedLinkSettings\n\t\t\t\t// eslint-disable-next-line jsx-a11y/no-autofocus\n\t\t\t\tautoFocus\n\t\t\t\tvalue={ url }\n\t\t\t\tlabel={ linkLabel }\n\t\t\t\tisVisible={ showEmbedBottomSheet }\n\t\t\t\tonClose={ () => setShowEmbedBottomSheet( false ) }\n\t\t\t\tonSubmit={ onEditURL }\n\t\t\t\twithBottomSheet\n\t\t\t/>\n\t\t</>\n\t);\n};\n\nexport default EmbedEdit;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["createUpgradedEmbedBlock","getClassNames","removeAspectRatioClasses","fallback","getEmbedInfoByProvider","getMergedAttributesWithPreview","EmbedControls","embedContentIcon","EmbedLoading","EmbedPlaceholder","EmbedPreview","EmbedLinkSettings","clsx","_x","useCallback","useState","useEffect","useDispatch","useSelect","useBlockProps","store","blockEditorStore","coreStore","View","getAuthority","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","PREVIEWABLE_PROVIDERS","NOT_PREVIEWABLE_WP_EMBED_PROVIDERS","WP_EMBED_TYPE","EmbedEdit","props","attributes","align","providerNameSlug","previewable","responsive","url","isSelected","onReplace","setAttributes","insertBlocksAfter","onFocus","clientId","defaultEmbedInfo","title","icon","embedInfoByProvider","wasBlockJustInserted","select","isEditingURL","setIsEditingURL","showEmbedBottomSheet","setShowEmbedBottomSheet","invalidateResolution","preview","fetching","themeSupportsResponsive","cannotEmbed","getEmbedPreview","hasFinishedResolution","isPreviewEmbedFallback","getThemeSupports","embedPreview","hasResolvedEmbedPreview","previewIsFallback","badEmbedProvider","html","type","undefined","wordpressCantEmbed","code","validPreview","getMergedAttributes","toggleResponsive","allowResponsive","className","newAllowResponsive","newURL","replace","URL","host","toString","mergedAttributes","upgradedBlock","onEditURL","value","blockClass","blockProps","children","showEmbedPlaceholder","classFromPreview","isProviderPreviewable","includes","linkLabel","label","onPress","event","tryAgain","openEmbedLinkSettings","blockSupportsResponsive","isDefaultEmbedInfo","autoFocus","isVisible","onClose","onSubmit","withBottomSheet"],"sources":["@wordpress/block-library/src/embed/edit.native.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport {\n\tcreateUpgradedEmbedBlock,\n\tgetClassNames,\n\tremoveAspectRatioClasses,\n\tfallback,\n\tgetEmbedInfoByProvider,\n\tgetMergedAttributesWithPreview,\n} from './util';\nimport EmbedControls from './embed-controls';\nimport { embedContentIcon } from './icons';\nimport EmbedLoading from './embed-loading';\nimport EmbedPlaceholder from './embed-placeholder';\nimport EmbedPreview from './embed-preview';\nimport EmbedLinkSettings from './embed-link-settings';\n\n/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { _x } from '@wordpress/i18n';\nimport { useCallback, useState, useEffect } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tuseBlockProps,\n\tstore as blockEditorStore,\n} from '@wordpress/block-editor';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { View } from '@wordpress/primitives';\nimport { getAuthority } from '@wordpress/url';\n\n// The inline preview feature will be released progressible, for this reason\n// the embed will only be considered previewable for the following providers list.\nconst PREVIEWABLE_PROVIDERS = [ 'youtube', 'twitter', 'instagram', 'vimeo' ];\n// Some providers are rendering the inline preview as a WordPress embed and\n// are not supported yet, so we need to disallow them with a fixed providers list.\nconst NOT_PREVIEWABLE_WP_EMBED_PROVIDERS = [ 'pinterest' ];\n\nconst WP_EMBED_TYPE = 'wp-embed';\n\nconst EmbedEdit = ( props ) => {\n\tconst {\n\t\tattributes: { align, providerNameSlug, previewable, responsive, url },\n\t\tattributes,\n\t\tisSelected,\n\t\tonReplace,\n\t\tsetAttributes,\n\t\tinsertBlocksAfter,\n\t\tonFocus,\n\t\tclientId,\n\t} = props;\n\n\tconst defaultEmbedInfo = {\n\t\ttitle: _x( 'Embed', 'block title' ),\n\t\ticon: embedContentIcon,\n\t};\n\tconst embedInfoByProvider = getEmbedInfoByProvider( providerNameSlug );\n\tconst { icon, title } = embedInfoByProvider || defaultEmbedInfo;\n\n\tconst { wasBlockJustInserted } = useSelect(\n\t\t( select ) => ( {\n\t\t\twasBlockJustInserted: select(\n\t\t\t\tblockEditorStore\n\t\t\t).wasBlockJustInserted( clientId, 'inserter_menu' ),\n\t\t} ),\n\t\t[ clientId ]\n\t);\n\tconst [ isEditingURL, setIsEditingURL ] = useState(\n\t\tisSelected && wasBlockJustInserted && ! url\n\t);\n\tconst [ showEmbedBottomSheet, setShowEmbedBottomSheet ] =\n\t\tuseState( isEditingURL );\n\tconst { invalidateResolution } = useDispatch( coreStore );\n\n\tconst { preview, fetching, themeSupportsResponsive, cannotEmbed } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst {\n\t\t\t\t\tgetEmbedPreview,\n\t\t\t\t\thasFinishedResolution,\n\t\t\t\t\tisPreviewEmbedFallback,\n\t\t\t\t\tgetThemeSupports,\n\t\t\t\t} = select( coreStore );\n\t\t\t\tif ( ! url ) {\n\t\t\t\t\treturn { fetching: false, cannotEmbed: false };\n\t\t\t\t}\n\n\t\t\t\tconst embedPreview = getEmbedPreview( url );\n\t\t\t\tconst hasResolvedEmbedPreview = hasFinishedResolution(\n\t\t\t\t\t'getEmbedPreview',\n\t\t\t\t\t[ url ]\n\t\t\t\t);\n\t\t\t\tconst previewIsFallback = isPreviewEmbedFallback( url );\n\n\t\t\t\t// The external oEmbed provider does not exist. We got no type info and no html.\n\t\t\t\tconst badEmbedProvider =\n\t\t\t\t\tembedPreview?.html === false &&\n\t\t\t\t\tembedPreview?.type === undefined;\n\t\t\t\t// Some WordPress URLs that can't be embedded will cause the API to return\n\t\t\t\t// a valid JSON response with no HTML and `code` set to 404, rather\n\t\t\t\t// than generating a fallback response as other embeds do.\n\t\t\t\tconst wordpressCantEmbed = embedPreview?.code === '404';\n\t\t\t\tconst validPreview =\n\t\t\t\t\t!! embedPreview &&\n\t\t\t\t\t! badEmbedProvider &&\n\t\t\t\t\t! wordpressCantEmbed;\n\n\t\t\t\treturn {\n\t\t\t\t\tpreview: validPreview ? embedPreview : undefined,\n\t\t\t\t\tfetching: ! hasResolvedEmbedPreview,\n\t\t\t\t\tthemeSupportsResponsive:\n\t\t\t\t\t\tgetThemeSupports()[ 'responsive-embeds' ],\n\t\t\t\t\tcannotEmbed: ! validPreview || previewIsFallback,\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ url ]\n\t\t);\n\n\t/**\n\t * Returns the attributes derived from the preview, merged with the current attributes.\n\t *\n\t * @return {Object} Merged attributes.\n\t */\n\tconst getMergedAttributes = () =>\n\t\tgetMergedAttributesWithPreview(\n\t\t\tattributes,\n\t\t\tpreview,\n\t\t\ttitle,\n\t\t\tresponsive\n\t\t);\n\n\tconst toggleResponsive = () => {\n\t\tconst { allowResponsive, className } = attributes;\n\t\tconst { html } = preview;\n\t\tconst newAllowResponsive = ! allowResponsive;\n\n\t\tsetAttributes( {\n\t\t\tallowResponsive: newAllowResponsive,\n\t\t\tclassName: getClassNames(\n\t\t\t\thtml,\n\t\t\t\tclassName,\n\t\t\t\tresponsive && newAllowResponsive\n\t\t\t),\n\t\t} );\n\t};\n\n\tuseEffect( () => {\n\t\tif ( ! preview?.html || ! cannotEmbed || fetching ) {\n\t\t\treturn;\n\t\t}\n\t\t// At this stage, we're not fetching the preview and know it can't be embedded,\n\t\t// so try removing any trailing slash, and resubmit.\n\t\tconst newURL = url.replace( /\\/$/, '' );\n\t\tsetIsEditingURL( false );\n\t\tsetAttributes( { url: newURL } );\n\t}, [ preview?.html, url, cannotEmbed, fetching ] );\n\n\t// Try a different provider in case the embed url is not supported.\n\tuseEffect( () => {\n\t\tif ( ! cannotEmbed || fetching || ! url ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Until X provider is supported in WordPress, as a workaround we use Twitter provider.\n\t\tif ( getAuthority( url ) === 'x.com' ) {\n\t\t\tconst newURL = new URL( url );\n\t\t\tnewURL.host = 'twitter.com';\n\t\t\tsetAttributes( { url: newURL.toString() } );\n\t\t}\n\t}, [ url, cannotEmbed, fetching, setAttributes ] );\n\n\t// Handle incoming preview.\n\tuseEffect( () => {\n\t\tif ( preview && ! isEditingURL ) {\n\t\t\t// When obtaining an incoming preview,\n\t\t\t// we set the attributes derived from the preview data.\n\t\t\tconst mergedAttributes = getMergedAttributes();\n\t\t\tsetAttributes( mergedAttributes );\n\n\t\t\tif ( onReplace ) {\n\t\t\t\tconst upgradedBlock = createUpgradedEmbedBlock(\n\t\t\t\t\tprops,\n\t\t\t\t\tmergedAttributes\n\t\t\t\t);\n\n\t\t\t\tif ( upgradedBlock ) {\n\t\t\t\t\tonReplace( upgradedBlock );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}, [ preview, isEditingURL ] );\n\n\tuseEffect(\n\t\t() => setShowEmbedBottomSheet( isEditingURL ),\n\t\t[ isEditingURL ]\n\t);\n\n\tconst onEditURL = useCallback(\n\t\t( value ) => {\n\t\t\t// If the embed URL was changed, we need to reset the aspect ratio class.\n\t\t\t// To do this we have to remove the existing ratio class so it can be recalculated.\n\t\t\tif ( attributes.url !== value ) {\n\t\t\t\tconst blockClass = removeAspectRatioClasses(\n\t\t\t\t\tattributes.className\n\t\t\t\t);\n\t\t\t\tsetAttributes( { className: blockClass } );\n\t\t\t}\n\n\t\t\t// The order of the following calls is important, we need to update the URL attribute before changing `isEditingURL`,\n\t\t\t// otherwise the side-effect that potentially replaces the block when updating the local state won't use the new URL\n\t\t\t// for creating the new block.\n\t\t\tsetAttributes( { url: value } );\n\t\t\tsetIsEditingURL( false );\n\t\t},\n\t\t[ attributes, setAttributes ]\n\t);\n\n\tconst blockProps = useBlockProps();\n\n\tif ( fetching ) {\n\t\treturn (\n\t\t\t<View { ...blockProps }>\n\t\t\t\t<EmbedLoading />\n\t\t\t</View>\n\t\t);\n\t}\n\n\tconst showEmbedPlaceholder = ! preview || cannotEmbed;\n\n\t// Even though we set attributes that get derived from the preview,\n\t// we don't access them directly because for the initial render,\n\t// the `setAttributes` call will not have taken effect. If we're\n\t// rendering responsive content, setting the responsive classes\n\t// after the preview has been rendered can result in unwanted\n\t// clipping or scrollbars. The `getAttributesFromPreview` function\n\t// that `getMergedAttributes` uses is memoized so that we're not\n\t// calculating them on every render.\n\tconst {\n\t\ttype,\n\t\tallowResponsive,\n\t\tclassName: classFromPreview,\n\t} = getMergedAttributes();\n\tconst className = clsx( classFromPreview, props.className );\n\n\tconst isProviderPreviewable =\n\t\tPREVIEWABLE_PROVIDERS.includes( providerNameSlug ) ||\n\t\t// For WordPress embeds, we enable the inline preview for all its providers\n\t\t// except the ones that are not supported yet.\n\t\t( WP_EMBED_TYPE === type &&\n\t\t\t! NOT_PREVIEWABLE_WP_EMBED_PROVIDERS.includes( providerNameSlug ) );\n\n\tconst linkLabel = WP_EMBED_TYPE === type ? 'WordPress' : title;\n\n\treturn (\n\t\t<>\n\t\t\t{ showEmbedPlaceholder ? (\n\t\t\t\t<>\n\t\t\t\t\t<View { ...blockProps }>\n\t\t\t\t\t\t<EmbedPlaceholder\n\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\tlabel={ title }\n\t\t\t\t\t\t\tonPress={ ( event ) => {\n\t\t\t\t\t\t\t\tonFocus( event );\n\t\t\t\t\t\t\t\tsetIsEditingURL( true );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tcannotEmbed={ cannotEmbed }\n\t\t\t\t\t\t\tfallback={ () => fallback( url, onReplace ) }\n\t\t\t\t\t\t\ttryAgain={ () => {\n\t\t\t\t\t\t\t\tinvalidateResolution( 'getEmbedPreview', [\n\t\t\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\t\t] );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\topenEmbedLinkSettings={ () =>\n\t\t\t\t\t\t\t\tsetShowEmbedBottomSheet( true )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t</>\n\t\t\t) : (\n\t\t\t\t<>\n\t\t\t\t\t<EmbedControls\n\t\t\t\t\t\tthemeSupportsResponsive={ themeSupportsResponsive }\n\t\t\t\t\t\tblockSupportsResponsive={ responsive }\n\t\t\t\t\t\tallowResponsive={ allowResponsive }\n\t\t\t\t\t\ttoggleResponsive={ toggleResponsive }\n\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\tlinkLabel={ linkLabel }\n\t\t\t\t\t\tonEditURL={ onEditURL }\n\t\t\t\t\t/>\n\t\t\t\t\t<View { ...blockProps }>\n\t\t\t\t\t\t<EmbedPreview\n\t\t\t\t\t\t\talign={ align }\n\t\t\t\t\t\t\tclassName={ className }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\tinsertBlocksAfter={ insertBlocksAfter }\n\t\t\t\t\t\t\tisSelected={ isSelected }\n\t\t\t\t\t\t\tlabel={ title }\n\t\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\t\tpreview={ preview }\n\t\t\t\t\t\t\tisProviderPreviewable={ isProviderPreviewable }\n\t\t\t\t\t\t\tpreviewable={ previewable }\n\t\t\t\t\t\t\ttype={ type }\n\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t\tisDefaultEmbedInfo={ ! embedInfoByProvider }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</View>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t<EmbedLinkSettings\n\t\t\t\t// eslint-disable-next-line jsx-a11y/no-autofocus\n\t\t\t\tautoFocus\n\t\t\t\tvalue={ url }\n\t\t\t\tlabel={ linkLabel }\n\t\t\t\tisVisible={ showEmbedBottomSheet }\n\t\t\t\tonClose={ () => setShowEmbedBottomSheet( false ) }\n\t\t\t\tonSubmit={ onEditURL }\n\t\t\t\twithBottomSheet\n\t\t\t/>\n\t\t</>\n\t);\n};\n\nexport default EmbedEdit;\n"],"mappings":"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","ignoreList":[]}
|