@wordpress/block-library 9.7.1-next.5368f64a9.0 → 9.8.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/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
package/CHANGELOG.md
CHANGED
package/build/categories/edit.js
CHANGED
|
@@ -30,24 +30,32 @@ function CategoriesEdit({
|
|
|
30
30
|
showOnlyTopLevel,
|
|
31
31
|
showEmpty,
|
|
32
32
|
label,
|
|
33
|
-
showLabel
|
|
33
|
+
showLabel,
|
|
34
|
+
taxonomy: taxonomySlug
|
|
34
35
|
},
|
|
35
36
|
setAttributes,
|
|
36
37
|
className
|
|
37
38
|
}) {
|
|
38
39
|
const selectId = (0, _compose.useInstanceId)(CategoriesEdit, 'blocks-category-select');
|
|
40
|
+
const {
|
|
41
|
+
records: allTaxonomies,
|
|
42
|
+
isResolvingTaxonomies
|
|
43
|
+
} = (0, _coreData.useEntityRecords)('root', 'taxonomy');
|
|
44
|
+
const taxonomies = allTaxonomies?.filter(t => t.visibility.public);
|
|
45
|
+
const taxonomy = taxonomies?.find(t => t.slug === taxonomySlug);
|
|
46
|
+
const isHierarchicalTaxonomy = !isResolvingTaxonomies && taxonomy?.hierarchical;
|
|
39
47
|
const query = {
|
|
40
48
|
per_page: -1,
|
|
41
49
|
hide_empty: !showEmpty,
|
|
42
50
|
context: 'view'
|
|
43
51
|
};
|
|
44
|
-
if (showOnlyTopLevel) {
|
|
52
|
+
if (isHierarchicalTaxonomy && showOnlyTopLevel) {
|
|
45
53
|
query.parent = 0;
|
|
46
54
|
}
|
|
47
55
|
const {
|
|
48
56
|
records: categories,
|
|
49
57
|
isResolving
|
|
50
|
-
} = (0, _coreData.useEntityRecords)('taxonomy',
|
|
58
|
+
} = (0, _coreData.useEntityRecords)('taxonomy', taxonomySlug, query);
|
|
51
59
|
const getCategoriesList = parentId => {
|
|
52
60
|
if (!categories?.length) {
|
|
53
61
|
return [];
|
|
@@ -64,7 +72,7 @@ function CategoriesEdit({
|
|
|
64
72
|
});
|
|
65
73
|
const renderCategoryName = name => !name ? (0, _i18n.__)('(Untitled)') : (0, _htmlEntities.decodeEntities)(name).trim();
|
|
66
74
|
const renderCategoryList = () => {
|
|
67
|
-
const parentId = showHierarchy ? 0 : null;
|
|
75
|
+
const parentId = isHierarchicalTaxonomy && showHierarchy ? 0 : null;
|
|
68
76
|
const categoriesList = getCategoriesList(parentId);
|
|
69
77
|
return categoriesList.map(category => renderCategoryListItem(category));
|
|
70
78
|
};
|
|
@@ -83,20 +91,20 @@ function CategoriesEdit({
|
|
|
83
91
|
target: "_blank",
|
|
84
92
|
rel: "noreferrer noopener",
|
|
85
93
|
children: renderCategoryName(name)
|
|
86
|
-
}), showPostCounts && ` (${count})`, showHierarchy && !!childCategories.length && /*#__PURE__*/(0, _jsxRuntime.jsx)("ul", {
|
|
94
|
+
}), showPostCounts && ` (${count})`, isHierarchicalTaxonomy && showHierarchy && !!childCategories.length && /*#__PURE__*/(0, _jsxRuntime.jsx)("ul", {
|
|
87
95
|
className: "children",
|
|
88
96
|
children: childCategories.map(childCategory => renderCategoryListItem(childCategory))
|
|
89
97
|
})]
|
|
90
98
|
}, id);
|
|
91
99
|
};
|
|
92
100
|
const renderCategoryDropdown = () => {
|
|
93
|
-
const parentId = showHierarchy ? 0 : null;
|
|
101
|
+
const parentId = isHierarchicalTaxonomy && showHierarchy ? 0 : null;
|
|
94
102
|
const categoriesList = getCategoriesList(parentId);
|
|
95
103
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
96
104
|
children: [showLabel ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.RichText, {
|
|
97
105
|
className: "wp-block-categories__label",
|
|
98
106
|
"aria-label": (0, _i18n.__)('Label text'),
|
|
99
|
-
placeholder:
|
|
107
|
+
placeholder: taxonomy.name,
|
|
100
108
|
withoutInteractiveFormatting: true,
|
|
101
109
|
value: label,
|
|
102
110
|
onChange: html => setAttributes({
|
|
@@ -105,11 +113,12 @@ function CategoriesEdit({
|
|
|
105
113
|
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.VisuallyHidden, {
|
|
106
114
|
as: "label",
|
|
107
115
|
htmlFor: selectId,
|
|
108
|
-
children: label ? label :
|
|
116
|
+
children: label ? label : taxonomy.name
|
|
109
117
|
}), /*#__PURE__*/(0, _jsxRuntime.jsxs)("select", {
|
|
110
118
|
id: selectId,
|
|
111
119
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("option", {
|
|
112
|
-
children: (0, _i18n.
|
|
120
|
+
children: (0, _i18n.sprintf)( /* translators: %s: taxonomy's singular name */
|
|
121
|
+
(0, _i18n.__)('Select %s'), taxonomy.labels.singular_name)
|
|
113
122
|
}), categoriesList.map(category => renderCategoryDropdownItem(category, 0))]
|
|
114
123
|
})]
|
|
115
124
|
});
|
|
@@ -126,7 +135,7 @@ function CategoriesEdit({
|
|
|
126
135
|
children: [Array.from({
|
|
127
136
|
length: level * 3
|
|
128
137
|
}).map(() => '\xa0'), renderCategoryName(name), showPostCounts && ` (${count})`]
|
|
129
|
-
}, id), showHierarchy && !!childCategories.length && childCategories.map(childCategory => renderCategoryDropdownItem(childCategory, level + 1))];
|
|
138
|
+
}, id), isHierarchicalTaxonomy && showHierarchy && !!childCategories.length && childCategories.map(childCategory => renderCategoryDropdownItem(childCategory, level + 1))];
|
|
130
139
|
};
|
|
131
140
|
const TagName = !!categories?.length && !displayAsDropdown && !isResolving ? 'ul' : 'div';
|
|
132
141
|
const classes = (0, _clsx.default)(className, {
|
|
@@ -141,7 +150,19 @@ function CategoriesEdit({
|
|
|
141
150
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.InspectorControls, {
|
|
142
151
|
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.PanelBody, {
|
|
143
152
|
title: (0, _i18n.__)('Settings'),
|
|
144
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.
|
|
153
|
+
children: [Array.isArray(taxonomies) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.SelectControl, {
|
|
154
|
+
__nextHasNoMarginBottom: true,
|
|
155
|
+
__next40pxDefaultSize: true,
|
|
156
|
+
label: (0, _i18n.__)('Taxonomy'),
|
|
157
|
+
options: taxonomies.map(t => ({
|
|
158
|
+
label: t.name,
|
|
159
|
+
value: t.slug
|
|
160
|
+
})),
|
|
161
|
+
value: taxonomySlug,
|
|
162
|
+
onChange: selectedTaxonomy => setAttributes({
|
|
163
|
+
taxonomy: selectedTaxonomy
|
|
164
|
+
})
|
|
165
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToggleControl, {
|
|
145
166
|
__nextHasNoMarginBottom: true,
|
|
146
167
|
label: (0, _i18n.__)('Display as dropdown'),
|
|
147
168
|
checked: displayAsDropdown,
|
|
@@ -157,17 +178,17 @@ function CategoriesEdit({
|
|
|
157
178
|
label: (0, _i18n.__)('Show post counts'),
|
|
158
179
|
checked: showPostCounts,
|
|
159
180
|
onChange: toggleAttribute('showPostCounts')
|
|
160
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToggleControl, {
|
|
181
|
+
}), isHierarchicalTaxonomy && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToggleControl, {
|
|
161
182
|
__nextHasNoMarginBottom: true,
|
|
162
|
-
label: (0, _i18n.__)('Show only top level
|
|
183
|
+
label: (0, _i18n.__)('Show only top level terms'),
|
|
163
184
|
checked: showOnlyTopLevel,
|
|
164
185
|
onChange: toggleAttribute('showOnlyTopLevel')
|
|
165
186
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToggleControl, {
|
|
166
187
|
__nextHasNoMarginBottom: true,
|
|
167
|
-
label: (0, _i18n.__)('Show empty
|
|
188
|
+
label: (0, _i18n.__)('Show empty terms'),
|
|
168
189
|
checked: showEmpty,
|
|
169
190
|
onChange: toggleAttribute('showEmpty')
|
|
170
|
-
}), !showOnlyTopLevel && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToggleControl, {
|
|
191
|
+
}), isHierarchicalTaxonomy && !showOnlyTopLevel && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ToggleControl, {
|
|
171
192
|
__nextHasNoMarginBottom: true,
|
|
172
193
|
label: (0, _i18n.__)('Show hierarchy'),
|
|
173
194
|
checked: showHierarchy,
|
|
@@ -176,10 +197,10 @@ function CategoriesEdit({
|
|
|
176
197
|
})
|
|
177
198
|
}), isResolving && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Placeholder, {
|
|
178
199
|
icon: _icons.pin,
|
|
179
|
-
label: (0, _i18n.__)('
|
|
200
|
+
label: (0, _i18n.__)('Terms'),
|
|
180
201
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Spinner, {})
|
|
181
202
|
}), !isResolving && categories?.length === 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)("p", {
|
|
182
|
-
children:
|
|
203
|
+
children: taxonomy.labels.no_terms
|
|
183
204
|
}), !isResolving && categories?.length > 0 && (displayAsDropdown ? renderCategoryDropdown() : renderCategoryList())]
|
|
184
205
|
});
|
|
185
206
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_compose","_blockEditor","_htmlEntities","_i18n","_icons","_coreData","_jsxRuntime","CategoriesEdit","attributes","displayAsDropdown","showHierarchy","showPostCounts","showOnlyTopLevel","showEmpty","label","showLabel","setAttributes","className","selectId","useInstanceId","query","per_page","hide_empty","context","parent","records","categories","isResolving","useEntityRecords","getCategoriesList","parentId","length","filter","toggleAttribute","attributeName","newValue","renderCategoryName","name","__","decodeEntities","trim","renderCategoryList","categoriesList","map","category","renderCategoryListItem","childCategories","id","link","count","jsxs","children","jsx","href","target","rel","childCategory","renderCategoryDropdown","Fragment","RichText","placeholder","withoutInteractiveFormatting","value","onChange","html","VisuallyHidden","as","htmlFor","renderCategoryDropdownItem","level","Array","from","TagName","classes","clsx","blockProps","useBlockProps","InspectorControls","PanelBody","title","ToggleControl","__nextHasNoMarginBottom","checked","Placeholder","icon","pin","Spinner"],"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","_interopRequireDefault","require","_components","_compose","_blockEditor","_htmlEntities","_i18n","_icons","_coreData","_jsxRuntime","CategoriesEdit","attributes","displayAsDropdown","showHierarchy","showPostCounts","showOnlyTopLevel","showEmpty","label","showLabel","taxonomy","taxonomySlug","setAttributes","className","selectId","useInstanceId","records","allTaxonomies","isResolvingTaxonomies","useEntityRecords","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","__","decodeEntities","trim","renderCategoryList","categoriesList","map","category","renderCategoryListItem","childCategories","id","link","count","jsxs","children","jsx","href","target","rel","childCategory","renderCategoryDropdown","Fragment","RichText","placeholder","withoutInteractiveFormatting","value","onChange","html","VisuallyHidden","as","htmlFor","sprintf","labels","singular_name","renderCategoryDropdownItem","level","Array","from","TagName","classes","clsx","blockProps","useBlockProps","InspectorControls","PanelBody","title","isArray","SelectControl","__nextHasNoMarginBottom","__next40pxDefaultSize","options","selectedTaxonomy","ToggleControl","checked","Placeholder","icon","pin","Spinner","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":[]}
|
|
@@ -8,6 +8,7 @@ exports.settings = exports.name = exports.metadata = exports.init = void 0;
|
|
|
8
8
|
var _icons = require("@wordpress/icons");
|
|
9
9
|
var _initBlock = _interopRequireDefault(require("../utils/init-block"));
|
|
10
10
|
var _edit = _interopRequireDefault(require("./edit"));
|
|
11
|
+
var _variations = _interopRequireDefault(require("./variations"));
|
|
11
12
|
/**
|
|
12
13
|
* WordPress dependencies
|
|
13
14
|
*/
|
|
@@ -18,11 +19,16 @@ const metadata = exports.metadata = {
|
|
|
18
19
|
$schema: "https://schemas.wp.org/trunk/block.json",
|
|
19
20
|
apiVersion: 3,
|
|
20
21
|
name: "core/categories",
|
|
21
|
-
title: "
|
|
22
|
+
title: "Terms List",
|
|
22
23
|
category: "widgets",
|
|
23
|
-
description: "Display a list of all
|
|
24
|
+
description: "Display a list of all terms of a given taxonomy.",
|
|
25
|
+
keywords: ["categories"],
|
|
24
26
|
textdomain: "default",
|
|
25
27
|
attributes: {
|
|
28
|
+
taxonomy: {
|
|
29
|
+
type: "string",
|
|
30
|
+
"default": "category"
|
|
31
|
+
},
|
|
26
32
|
displayAsDropdown: {
|
|
27
33
|
type: "boolean",
|
|
28
34
|
"default": false
|
|
@@ -103,7 +109,8 @@ exports.name = name;
|
|
|
103
109
|
const settings = exports.settings = {
|
|
104
110
|
icon: _icons.category,
|
|
105
111
|
example: {},
|
|
106
|
-
edit: _edit.default
|
|
112
|
+
edit: _edit.default,
|
|
113
|
+
variations: _variations.default
|
|
107
114
|
};
|
|
108
115
|
const init = () => (0, _initBlock.default)({
|
|
109
116
|
name,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_icons","require","_initBlock","_interopRequireDefault","_edit","metadata","exports","$schema","apiVersion","name","title","category","description","textdomain","attributes","
|
|
1
|
+
{"version":3,"names":["_icons","require","_initBlock","_interopRequireDefault","_edit","_variations","metadata","exports","$schema","apiVersion","name","title","category","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","settings","icon","example","edit","variations","init","initBlock"],"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":";;;;;;;AAGA,IAAAA,MAAA,GAAAC,OAAA;AAKA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,KAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,WAAA,GAAAF,sBAAA,CAAAF,OAAA;AAXA;AACA;AACA;AAGA;AACA;AACA;AAFA,MAAAK,QAAA,GAAAC,OAAA,CAAAD,QAAA;EAAAE,OAAA;EAAAC,UAAA;EAAAC,IAAA;EAAAC,KAAA;EAAAC,QAAA;EAAAC,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;AAQA,MAAM;EAAExC;AAAK,CAAC,GAAGJ,QAAQ;AAACC,OAAA,CAAAG,IAAA,GAAAA,IAAA;AAInB,MAAM0C,QAAQ,GAAA7C,OAAA,CAAA6C,QAAA,GAAG;EACvBC,IAAI,EAAJA,eAAI;EACJC,OAAO,EAAE,CAAC,CAAC;EACXC,IAAI,EAAJA,aAAI;EACJC,UAAU,EAAVA;AACD,CAAC;AAEM,MAAMC,IAAI,GAAGA,CAAA,KAAM,IAAAC,kBAAS,EAAE;EAAEhD,IAAI;EAAEJ,QAAQ;EAAE8C;AAAS,CAAE,CAAC;AAAC7C,OAAA,CAAAkD,IAAA,GAAAA,IAAA","ignoreList":[]}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _i18n = require("@wordpress/i18n");
|
|
8
|
+
var _icons = require("@wordpress/icons");
|
|
9
|
+
/**
|
|
10
|
+
* WordPress dependencies
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
const variations = [{
|
|
14
|
+
name: 'terms',
|
|
15
|
+
title: (0, _i18n.__)('Terms List'),
|
|
16
|
+
icon: _icons.category,
|
|
17
|
+
attributes: {
|
|
18
|
+
// We need to set an attribute here that will be set when inserting the block.
|
|
19
|
+
// We cannot leave this empty, as that would be interpreted as the default value,
|
|
20
|
+
// which is `category` -- for which we're defining a distinct variation below,
|
|
21
|
+
// for backwards compatibility reasons.
|
|
22
|
+
// The logical fallback is thus the only other built-in and public taxonomy: Tags.
|
|
23
|
+
taxonomy: 'post_tag'
|
|
24
|
+
},
|
|
25
|
+
isActive: blockAttributes =>
|
|
26
|
+
// This variation is used for any taxonomy other than `category`.
|
|
27
|
+
blockAttributes.taxonomy !== 'category'
|
|
28
|
+
}, {
|
|
29
|
+
name: 'categories',
|
|
30
|
+
title: (0, _i18n.__)('Categories List'),
|
|
31
|
+
description: (0, _i18n.__)('Display a list of all categories.'),
|
|
32
|
+
icon: _icons.category,
|
|
33
|
+
attributes: {
|
|
34
|
+
taxonomy: 'category'
|
|
35
|
+
},
|
|
36
|
+
isActive: ['taxonomy'],
|
|
37
|
+
// The following is needed to prevent "Terms List" from showing up twice in the inserter
|
|
38
|
+
// (once for the block, once for the variation). Fortunately, it does not collide with
|
|
39
|
+
// `categories` being the default value of the `taxonomy` attribute.
|
|
40
|
+
isDefault: true
|
|
41
|
+
}];
|
|
42
|
+
var _default = exports.default = variations;
|
|
43
|
+
//# sourceMappingURL=variations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_i18n","require","_icons","variations","name","title","__","icon","attributes","taxonomy","isActive","blockAttributes","description","isDefault","_default","exports","default"],"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":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AAJA;AACA;AACA;;AAIA,MAAME,UAAU,GAAG,CAClB;EACCC,IAAI,EAAE,OAAO;EACbC,KAAK,EAAE,IAAAC,QAAE,EAAE,YAAa,CAAC;EACzBC,IAAI,EAAJA,eAAI;EACJC,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;EACCL,IAAI,EAAE,YAAY;EAClBC,KAAK,EAAE,IAAAC,QAAE,EAAE,iBAAkB,CAAC;EAC9BM,WAAW,EAAE,IAAAN,QAAE,EAAE,mCAAoC,CAAC;EACtDC,IAAI,EAAJA,eAAI;EACJC,UAAU,EAAE;IACXC,QAAQ,EAAE;EACX,CAAC;EACDC,QAAQ,EAAE,CAAE,UAAU,CAAE;EACxB;EACA;EACA;EACAG,SAAS,EAAE;AACZ,CAAC,CACD;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEab,UAAU","ignoreList":[]}
|
package/build/embed/edit.js
CHANGED
package/build/embed/edit.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_util","require","_embedControls","_interopRequireDefault","_icons","_embedLoading","_embedPlaceholder","_embedPreview","_clsx","_i18n","_element","_data","_blockEditor","_coreData","_primitives","_url","_jsxRuntime","EmbedEdit","props","attributes","providerNameSlug","previewable","responsive","url","attributesUrl","isSelected","onReplace","setAttributes","insertBlocksAfter","onFocus","defaultEmbedInfo","title","_x","icon","embedContentIcon","getEmbedInfoByProvider","setURL","useState","isEditingURL","setIsEditingURL","invalidateResolution","useDispatch","coreStore","preview","fetching","themeSupportsResponsive","cannotEmbed","hasResolved","useSelect","select","getEmbedPreview","isPreviewEmbedFallback","isRequestingEmbedPreview","getThemeSupports","hasFinishedResolution","embedPreview","previewIsFallback","badEmbedProvider","html","type","undefined","wordpressCantEmbed","data","status","validPreview","getMergedAttributes","getMergedAttributesWithPreview","toggleResponsive","allowResponsive","className","newAllowResponsive","getClassNames","useEffect","newURL","replace","getAuthority","URL","host","toString","mergedAttributes","upgradedBlock","createUpgradedEmbedBlock","blockProps","useBlockProps","jsx","View","children","default","label","sprintf","__","showEmbedPlaceholder","onSubmit","event","preventDefault","blockClass","removeAspectRatioClasses","value","onChange","fallback","tryAgain","caption","classFromPreview","clsx","jsxs","Fragment","showEditButton","blockSupportsResponsive","switchBackToURLInput","onCaptionChange","_default","exports"],"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":["_util","require","_embedControls","_interopRequireDefault","_icons","_embedLoading","_embedPlaceholder","_embedPreview","_clsx","_i18n","_element","_data","_blockEditor","_coreData","_primitives","_url","_jsxRuntime","EmbedEdit","props","attributes","providerNameSlug","previewable","responsive","url","attributesUrl","isSelected","onReplace","setAttributes","insertBlocksAfter","onFocus","defaultEmbedInfo","title","_x","icon","embedContentIcon","getEmbedInfoByProvider","setURL","useState","isEditingURL","setIsEditingURL","invalidateResolution","useDispatch","coreStore","preview","fetching","themeSupportsResponsive","cannotEmbed","hasResolved","useSelect","select","getEmbedPreview","isPreviewEmbedFallback","isRequestingEmbedPreview","getThemeSupports","hasFinishedResolution","embedPreview","previewIsFallback","badEmbedProvider","html","type","undefined","wordpressCantEmbed","data","status","validPreview","getMergedAttributes","getMergedAttributesWithPreview","toggleResponsive","allowResponsive","className","newAllowResponsive","getClassNames","useEffect","newURL","replace","getAuthority","URL","host","toString","mergedAttributes","upgradedBlock","createUpgradedEmbedBlock","blockProps","useBlockProps","jsx","View","children","default","label","sprintf","__","showEmbedPlaceholder","onSubmit","event","preventDefault","blockClass","removeAspectRatioClasses","value","onChange","fallback","tryAgain","caption","classFromPreview","clsx","jsxs","Fragment","showEditButton","blockSupportsResponsive","switchBackToURLInput","onCaptionChange","_default","exports"],"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":["_util","require","_embedControls","_interopRequireDefault","_icons","_embedLoading","_embedPlaceholder","_embedPreview","_embedLinkSettings","_clsx","_i18n","_element","_data","_blockEditor","_coreData","_primitives","_url","_jsxRuntime","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","_x","icon","embedContentIcon","embedInfoByProvider","getEmbedInfoByProvider","wasBlockJustInserted","useSelect","select","blockEditorStore","isEditingURL","setIsEditingURL","useState","showEmbedBottomSheet","setShowEmbedBottomSheet","invalidateResolution","useDispatch","coreStore","preview","fetching","themeSupportsResponsive","cannotEmbed","getEmbedPreview","hasFinishedResolution","isPreviewEmbedFallback","getThemeSupports","embedPreview","hasResolvedEmbedPreview","previewIsFallback","badEmbedProvider","html","type","undefined","wordpressCantEmbed","code","validPreview","getMergedAttributes","getMergedAttributesWithPreview","toggleResponsive","allowResponsive","className","newAllowResponsive","getClassNames","useEffect","newURL","replace","getAuthority","URL","host","toString","mergedAttributes","upgradedBlock","createUpgradedEmbedBlock","onEditURL","useCallback","value","blockClass","removeAspectRatioClasses","blockProps","useBlockProps","jsx","View","children","default","showEmbedPlaceholder","classFromPreview","clsx","isProviderPreviewable","includes","linkLabel","jsxs","Fragment","label","onPress","event","fallback","tryAgain","openEmbedLinkSettings","blockSupportsResponsive","isDefaultEmbedInfo","autoFocus","isVisible","onClose","onSubmit","withBottomSheet","_default","exports"],"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":["_util","require","_embedControls","_interopRequireDefault","_icons","_embedLoading","_embedPlaceholder","_embedPreview","_embedLinkSettings","_clsx","_i18n","_element","_data","_blockEditor","_coreData","_primitives","_url","_jsxRuntime","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","_x","icon","embedContentIcon","embedInfoByProvider","getEmbedInfoByProvider","wasBlockJustInserted","useSelect","select","blockEditorStore","isEditingURL","setIsEditingURL","useState","showEmbedBottomSheet","setShowEmbedBottomSheet","invalidateResolution","useDispatch","coreStore","preview","fetching","themeSupportsResponsive","cannotEmbed","getEmbedPreview","hasFinishedResolution","isPreviewEmbedFallback","getThemeSupports","embedPreview","hasResolvedEmbedPreview","previewIsFallback","badEmbedProvider","html","type","undefined","wordpressCantEmbed","code","validPreview","getMergedAttributes","getMergedAttributesWithPreview","toggleResponsive","allowResponsive","className","newAllowResponsive","getClassNames","useEffect","newURL","replace","getAuthority","URL","host","toString","mergedAttributes","upgradedBlock","createUpgradedEmbedBlock","onEditURL","useCallback","value","blockClass","removeAspectRatioClasses","blockProps","useBlockProps","jsx","View","children","default","showEmbedPlaceholder","classFromPreview","clsx","isProviderPreviewable","includes","linkLabel","jsxs","Fragment","label","onPress","event","fallback","tryAgain","openEmbedLinkSettings","blockSupportsResponsive","isDefaultEmbedInfo","autoFocus","isVisible","onClose","onSubmit","withBottomSheet","_default","exports"],"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":[]}
|