@wordpress/edit-site 5.19.2 → 5.19.4
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/build/components/add-new-pattern/index.js +6 -10
- package/build/components/add-new-pattern/index.js.map +1 -1
- package/build/components/global-styles/font-library-modal/collection-font-details.js +3 -1
- package/build/components/global-styles/font-library-modal/collection-font-details.js.map +1 -1
- package/build/components/global-styles/font-library-modal/context.js +26 -30
- package/build/components/global-styles/font-library-modal/context.js.map +1 -1
- package/build/components/global-styles/font-library-modal/font-collection.js +31 -11
- package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -1
- package/build/components/global-styles/font-library-modal/index.js +10 -3
- package/build/components/global-styles/font-library-modal/index.js.map +1 -1
- package/build/components/global-styles/font-library-modal/installed-fonts.js +27 -7
- package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
- package/build/components/global-styles/font-library-modal/local-fonts.js +35 -8
- package/build/components/global-styles/font-library-modal/local-fonts.js.map +1 -1
- package/build/components/global-styles/font-library-modal/resolvers.js +1 -1
- package/build/components/global-styles/font-library-modal/resolvers.js.map +1 -1
- package/build/components/global-styles/font-library-modal/upload-fonts.js +26 -0
- package/build/components/global-styles/font-library-modal/upload-fonts.js.map +1 -0
- package/build/components/global-styles/font-library-modal/utils/fonts-outline.js +4 -1
- package/build/components/global-styles/font-library-modal/utils/fonts-outline.js.map +1 -1
- package/build/components/global-styles/font-library-modal/utils/get-notice-from-response.js +71 -0
- package/build/components/global-styles/font-library-modal/utils/get-notice-from-response.js.map +1 -0
- package/build/components/global-styles/font-library-modal/utils/index.js +4 -1
- package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -1
- package/build/components/page-patterns/grid.js +0 -1
- package/build/components/page-patterns/grid.js.map +1 -1
- package/build/components/page-patterns/patterns-list.js +1 -1
- package/build/components/page-patterns/patterns-list.js.map +1 -1
- package/build/components/page-patterns/use-patterns.js +5 -1
- package/build/components/page-patterns/use-patterns.js.map +1 -1
- package/build/components/page-template-parts/index.js +12 -1
- package/build/components/page-template-parts/index.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js +1 -1
- package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -1
- package/build/components/sidebar-edit-mode/template-panel/hooks.js +71 -0
- package/build/components/sidebar-edit-mode/template-panel/hooks.js.map +1 -0
- package/build/components/sidebar-edit-mode/template-panel/pattern-categories.js +2 -2
- package/build/components/sidebar-edit-mode/template-panel/pattern-categories.js.map +1 -1
- package/build/components/sidebar-edit-mode/template-panel/replace-template-button.js +82 -0
- package/build/components/sidebar-edit-mode/template-panel/replace-template-button.js.map +1 -0
- package/build/components/sidebar-edit-mode/template-panel/template-actions.js +10 -3
- package/build/components/sidebar-edit-mode/template-panel/template-actions.js.map +1 -1
- package/build/components/sidebar-edit-mode/template-panel/template-areas.js +1 -1
- package/build/components/sidebar-edit-mode/template-panel/template-areas.js.map +1 -1
- package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +5 -3
- package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js.map +1 -1
- package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +5 -4
- package/build/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
- package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +8 -1
- package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js.map +1 -1
- package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-title.js +29 -0
- package/build/components/sidebar-navigation-screen-pattern/use-navigation-menu-title.js.map +1 -0
- package/build/components/sidebar-navigation-screen-patterns/index.js +14 -2
- package/build/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-template/home-template-details.js +13 -18
- package/build/components/sidebar-navigation-screen-template/home-template-details.js.map +1 -1
- package/build/components/sidebar-navigation-screen-templates-browse/index.js +16 -4
- package/build/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
- package/build/store/selectors.js +4 -5
- package/build/store/selectors.js.map +1 -1
- package/build/utils/constants.js +1 -1
- package/build/utils/constants.js.map +1 -1
- package/build-module/components/add-new-pattern/index.js +7 -11
- package/build-module/components/add-new-pattern/index.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/collection-font-details.js +3 -1
- package/build-module/components/global-styles/font-library-modal/collection-font-details.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/context.js +26 -30
- package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/font-collection.js +32 -12
- package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/index.js +10 -3
- package/build-module/components/global-styles/font-library-modal/index.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/installed-fonts.js +28 -8
- package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/local-fonts.js +38 -11
- package/build-module/components/global-styles/font-library-modal/local-fonts.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/resolvers.js +1 -1
- package/build-module/components/global-styles/font-library-modal/resolvers.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/upload-fonts.js +17 -0
- package/build-module/components/global-styles/font-library-modal/upload-fonts.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/utils/fonts-outline.js +4 -1
- package/build-module/components/global-styles/font-library-modal/utils/fonts-outline.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/utils/get-notice-from-response.js +63 -0
- package/build-module/components/global-styles/font-library-modal/utils/get-notice-from-response.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/utils/index.js +4 -1
- package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -1
- package/build-module/components/page-patterns/grid.js +0 -1
- package/build-module/components/page-patterns/grid.js.map +1 -1
- package/build-module/components/page-patterns/patterns-list.js +1 -1
- package/build-module/components/page-patterns/patterns-list.js.map +1 -1
- package/build-module/components/page-patterns/use-patterns.js +5 -1
- package/build-module/components/page-patterns/use-patterns.js.map +1 -1
- package/build-module/components/page-template-parts/index.js +12 -1
- package/build-module/components/page-template-parts/index.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/template-panel/hooks.js +64 -0
- package/build-module/components/sidebar-edit-mode/template-panel/hooks.js.map +1 -0
- package/build-module/components/sidebar-edit-mode/template-panel/pattern-categories.js +3 -3
- package/build-module/components/sidebar-edit-mode/template-panel/pattern-categories.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/template-panel/replace-template-button.js +76 -0
- package/build-module/components/sidebar-edit-mode/template-panel/replace-template-button.js.map +1 -0
- package/build-module/components/sidebar-edit-mode/template-panel/template-actions.js +10 -3
- package/build-module/components/sidebar-edit-mode/template-panel/template-actions.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/template-panel/template-areas.js +1 -1
- package/build-module/components/sidebar-edit-mode/template-panel/template-areas.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +5 -3
- package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +5 -4
- package/build-module/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +7 -1
- package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-title.js +22 -0
- package/build-module/components/sidebar-navigation-screen-pattern/use-navigation-menu-title.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen-patterns/index.js +14 -2
- package/build-module/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-template/home-template-details.js +14 -19
- package/build-module/components/sidebar-navigation-screen-template/home-template-details.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-templates-browse/index.js +16 -4
- package/build-module/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
- package/build-module/store/selectors.js +4 -5
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/constants.js +1 -1
- package/build-module/utils/constants.js.map +1 -1
- package/build-style/style-rtl.css +35 -2
- package/build-style/style.css +35 -2
- package/package.json +40 -40
- package/src/components/add-new-pattern/index.js +7 -10
- package/src/components/global-styles/font-library-modal/collection-font-details.js +1 -1
- package/src/components/global-styles/font-library-modal/context.js +36 -38
- package/src/components/global-styles/font-library-modal/font-collection.js +41 -12
- package/src/components/global-styles/font-library-modal/index.js +16 -6
- package/src/components/global-styles/font-library-modal/installed-fonts.js +36 -6
- package/src/components/global-styles/font-library-modal/local-fonts.js +65 -23
- package/src/components/global-styles/font-library-modal/resolvers.js +1 -1
- package/src/components/global-styles/font-library-modal/style.scss +18 -1
- package/src/components/global-styles/font-library-modal/upload-fonts.js +20 -0
- package/src/components/global-styles/font-library-modal/utils/fonts-outline.js +4 -3
- package/src/components/global-styles/font-library-modal/utils/get-notice-from-response.js +62 -0
- package/src/components/global-styles/font-library-modal/utils/index.js +5 -1
- package/src/components/global-styles/font-library-modal/utils/test/makeFormDataFromFontFamilies.spec.js +1 -1
- package/src/components/page-patterns/grid.js +1 -1
- package/src/components/page-patterns/patterns-list.js +1 -1
- package/src/components/page-patterns/use-patterns.js +7 -3
- package/src/components/page-template-parts/index.js +14 -1
- package/src/components/sidebar-edit-mode/page-panels/reset-default-template.js +1 -1
- package/src/components/sidebar-edit-mode/template-panel/hooks.js +97 -0
- package/src/components/sidebar-edit-mode/template-panel/pattern-categories.js +18 -16
- package/src/components/sidebar-edit-mode/template-panel/replace-template-button.js +89 -0
- package/src/components/sidebar-edit-mode/template-panel/style.scss +18 -0
- package/src/components/sidebar-edit-mode/template-panel/template-actions.js +27 -12
- package/src/components/sidebar-edit-mode/template-panel/template-areas.js +1 -1
- package/src/components/sidebar-navigation-screen/style.scss +0 -1
- package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu-list-item.js +5 -8
- package/src/components/sidebar-navigation-screen-pattern/template-part-navigation-menu.js +5 -9
- package/src/components/sidebar-navigation-screen-pattern/use-navigation-menu-content.js +11 -5
- package/src/components/sidebar-navigation-screen-pattern/use-navigation-menu-title.js +32 -0
- package/src/components/sidebar-navigation-screen-patterns/index.js +25 -4
- package/src/components/sidebar-navigation-screen-template/home-template-details.js +27 -35
- package/src/components/sidebar-navigation-screen-templates-browse/index.js +12 -4
- package/src/store/selectors.js +9 -10
- package/src/utils/constants.js +1 -1
package/build-module/components/global-styles/font-library-modal/utils/get-notice-from-response.js
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { __ } from '@wordpress/i18n';
|
|
5
|
+
export function getNoticeFromInstallResponse(response) {
|
|
6
|
+
const {
|
|
7
|
+
errors = [],
|
|
8
|
+
successes = []
|
|
9
|
+
} = response;
|
|
10
|
+
// Everything failed.
|
|
11
|
+
if (errors.length && !successes.length) {
|
|
12
|
+
return {
|
|
13
|
+
type: 'error',
|
|
14
|
+
message: __('Error installing the fonts.')
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
// Eveerything succeeded.
|
|
19
|
+
if (!errors.length && successes.length) {
|
|
20
|
+
return {
|
|
21
|
+
type: 'success',
|
|
22
|
+
message: __('Fonts were installed successfully.')
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// Some succeeded, some failed.
|
|
27
|
+
if (errors.length && successes.length) {
|
|
28
|
+
return {
|
|
29
|
+
type: 'warning',
|
|
30
|
+
message: __('Some fonts were installed successfully and some failed.')
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
export function getNoticeFromUninstallResponse(response) {
|
|
35
|
+
const {
|
|
36
|
+
errors = [],
|
|
37
|
+
successes = []
|
|
38
|
+
} = response;
|
|
39
|
+
// Everything failed.
|
|
40
|
+
if (errors.length && !successes.length) {
|
|
41
|
+
return {
|
|
42
|
+
type: 'error',
|
|
43
|
+
message: __('Error uninstalling the fonts.')
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// Everything succeeded.
|
|
48
|
+
if (!errors.length && successes.length) {
|
|
49
|
+
return {
|
|
50
|
+
type: 'success',
|
|
51
|
+
message: __('Fonts were uninstalled successfully.')
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
// Some succeeded, some failed.
|
|
56
|
+
if (errors.length && successes.length) {
|
|
57
|
+
return {
|
|
58
|
+
type: 'warning',
|
|
59
|
+
message: __('Some fonts were uninstalled successfully and some failed.')
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=get-notice-from-response.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["__","getNoticeFromInstallResponse","response","errors","successes","length","type","message","getNoticeFromUninstallResponse"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/utils/get-notice-from-response.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\nexport function getNoticeFromInstallResponse( response ) {\n\tconst { errors = [], successes = [] } = response;\n\t// Everything failed.\n\tif ( errors.length && ! successes.length ) {\n\t\treturn {\n\t\t\ttype: 'error',\n\t\t\tmessage: __( 'Error installing the fonts.' ),\n\t\t};\n\t}\n\n\t// Eveerything succeeded.\n\tif ( ! errors.length && successes.length ) {\n\t\treturn {\n\t\t\ttype: 'success',\n\t\t\tmessage: __( 'Fonts were installed successfully.' ),\n\t\t};\n\t}\n\n\t// Some succeeded, some failed.\n\tif ( errors.length && successes.length ) {\n\t\treturn {\n\t\t\ttype: 'warning',\n\t\t\tmessage: __(\n\t\t\t\t'Some fonts were installed successfully and some failed.'\n\t\t\t),\n\t\t};\n\t}\n}\n\nexport function getNoticeFromUninstallResponse( response ) {\n\tconst { errors = [], successes = [] } = response;\n\t// Everything failed.\n\tif ( errors.length && ! successes.length ) {\n\t\treturn {\n\t\t\ttype: 'error',\n\t\t\tmessage: __( 'Error uninstalling the fonts.' ),\n\t\t};\n\t}\n\n\t// Everything succeeded.\n\tif ( ! errors.length && successes.length ) {\n\t\treturn {\n\t\t\ttype: 'success',\n\t\t\tmessage: __( 'Fonts were uninstalled successfully.' ),\n\t\t};\n\t}\n\n\t// Some succeeded, some failed.\n\tif ( errors.length && successes.length ) {\n\t\treturn {\n\t\t\ttype: 'warning',\n\t\t\tmessage: __(\n\t\t\t\t'Some fonts were uninstalled successfully and some failed.'\n\t\t\t),\n\t\t};\n\t}\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AAEpC,OAAO,SAASC,4BAA4BA,CAAEC,QAAQ,EAAG;EACxD,MAAM;IAAEC,MAAM,GAAG,EAAE;IAAEC,SAAS,GAAG;EAAG,CAAC,GAAGF,QAAQ;EAChD;EACA,IAAKC,MAAM,CAACE,MAAM,IAAI,CAAED,SAAS,CAACC,MAAM,EAAG;IAC1C,OAAO;MACNC,IAAI,EAAE,OAAO;MACbC,OAAO,EAAEP,EAAE,CAAE,6BAA8B;IAC5C,CAAC;EACF;;EAEA;EACA,IAAK,CAAEG,MAAM,CAACE,MAAM,IAAID,SAAS,CAACC,MAAM,EAAG;IAC1C,OAAO;MACNC,IAAI,EAAE,SAAS;MACfC,OAAO,EAAEP,EAAE,CAAE,oCAAqC;IACnD,CAAC;EACF;;EAEA;EACA,IAAKG,MAAM,CAACE,MAAM,IAAID,SAAS,CAACC,MAAM,EAAG;IACxC,OAAO;MACNC,IAAI,EAAE,SAAS;MACfC,OAAO,EAAEP,EAAE,CACV,yDACD;IACD,CAAC;EACF;AACD;AAEA,OAAO,SAASQ,8BAA8BA,CAAEN,QAAQ,EAAG;EAC1D,MAAM;IAAEC,MAAM,GAAG,EAAE;IAAEC,SAAS,GAAG;EAAG,CAAC,GAAGF,QAAQ;EAChD;EACA,IAAKC,MAAM,CAACE,MAAM,IAAI,CAAED,SAAS,CAACC,MAAM,EAAG;IAC1C,OAAO;MACNC,IAAI,EAAE,OAAO;MACbC,OAAO,EAAEP,EAAE,CAAE,+BAAgC;IAC9C,CAAC;EACF;;EAEA;EACA,IAAK,CAAEG,MAAM,CAACE,MAAM,IAAID,SAAS,CAACC,MAAM,EAAG;IAC1C,OAAO;MACNC,IAAI,EAAE,SAAS;MACfC,OAAO,EAAEP,EAAE,CAAE,sCAAuC;IACrD,CAAC;EACF;;EAEA;EACA,IAAKG,MAAM,CAACE,MAAM,IAAID,SAAS,CAACC,MAAM,EAAG;IACxC,OAAO;MACNC,IAAI,EAAE,SAAS;MACfC,OAAO,EAAEP,EAAE,CACV,2DACD;IACD,CAAC;EACF;AACD"}
|
|
@@ -94,6 +94,9 @@ export async function loadFontFaceInBrowser(fontFace, source, addTo = 'all') {
|
|
|
94
94
|
}
|
|
95
95
|
}
|
|
96
96
|
export function getDisplaySrcFromFontFace(input, urlPrefix) {
|
|
97
|
+
if (!input) {
|
|
98
|
+
return;
|
|
99
|
+
}
|
|
97
100
|
let src;
|
|
98
101
|
if (Array.isArray(input)) {
|
|
99
102
|
src = input[0];
|
|
@@ -135,7 +138,7 @@ export function makeFormDataFromFontFamilies(fontFamilies) {
|
|
|
135
138
|
}
|
|
136
139
|
return family;
|
|
137
140
|
});
|
|
138
|
-
formData.append('
|
|
141
|
+
formData.append('font_families', JSON.stringify(newFontFamilies));
|
|
139
142
|
return formData;
|
|
140
143
|
}
|
|
141
144
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["FONT_WEIGHTS","FONT_STYLES","formatFontFamily","setUIValuesNeeded","font","extraValues","name","fontFamily","slug","isUrlEncoded","url","decodeURIComponent","getFontFaceVariantName","face","weightName","fontWeight","styleName","fontStyle","mergeFontFaces","existing","incoming","map","Map","set","Array","from","values","mergeFontFamilies","has","fontFace","incomingFontFaces","restIncoming","existingFont","get","mergedFontFaces","loadFontFaceInBrowser","source","addTo","dataSource","File","arrayBuffer","newFont","FontFace","style","weight","loadedFace","load","document","fonts","add","iframeDocument","querySelector","contentDocument","getDisplaySrcFromFontFace","input","urlPrefix","src","isArray","startsWith","replace","encodeURI","makeFormDataFromFontFamilies","fontFamilies","formData","FormData","newFontFamilies","family","familyIndex","faceIndex","file","fileId","append","faceWithoutFileProperty","newFace","uploadedFile","JSON","stringify"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/utils/index.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport { FONT_WEIGHTS, FONT_STYLES } from './constants';\nimport { formatFontFamily } from './preview-styles';\n\nexport function setUIValuesNeeded( font, extraValues = {} ) {\n\tif ( ! font.name && ( font.fontFamily || font.slug ) ) {\n\t\tfont.name = font.fontFamily || font.slug;\n\t}\n\treturn {\n\t\t...font,\n\t\t...extraValues,\n\t};\n}\n\nexport function isUrlEncoded( url ) {\n\tif ( typeof url !== 'string' ) {\n\t\treturn false;\n\t}\n\treturn url !== decodeURIComponent( url );\n}\n\nexport function getFontFaceVariantName( face ) {\n\tconst weightName = FONT_WEIGHTS[ face.fontWeight ] || face.fontWeight;\n\tconst styleName =\n\t\tface.fontStyle === 'normal'\n\t\t\t? ''\n\t\t\t: FONT_STYLES[ face.fontStyle ] || face.fontStyle;\n\treturn `${ weightName } ${ styleName }`;\n}\n\nexport function mergeFontFaces( existing = [], incoming = [] ) {\n\tconst map = new Map();\n\tfor ( const face of existing ) {\n\t\tmap.set( `${ face.fontWeight }${ face.fontStyle }`, face );\n\t}\n\tfor ( const face of incoming ) {\n\t\t// This will overwrite if the src already exists, keeping it unique.\n\t\tmap.set( `${ face.fontWeight }${ face.fontStyle }`, face );\n\t}\n\treturn Array.from( map.values() );\n}\n\nexport function mergeFontFamilies( existing = [], incoming = [] ) {\n\tconst map = new Map();\n\t// Add the existing array to the map.\n\tfor ( const font of existing ) {\n\t\tmap.set( font.slug, { ...font } );\n\t}\n\t// Add the incoming array to the map, overwriting existing values excepting fontFace that need to be merged.\n\tfor ( const font of incoming ) {\n\t\tif ( map.has( font.slug ) ) {\n\t\t\tconst { fontFace: incomingFontFaces, ...restIncoming } = font;\n\t\t\tconst existingFont = map.get( font.slug );\n\t\t\t// Merge the fontFaces existing with the incoming fontFaces.\n\t\t\tconst mergedFontFaces = mergeFontFaces(\n\t\t\t\texistingFont.fontFace,\n\t\t\t\tincomingFontFaces\n\t\t\t);\n\t\t\t// Except for the fontFace key all the other keys are overwritten with the incoming values.\n\t\t\tmap.set( font.slug, {\n\t\t\t\t...restIncoming,\n\t\t\t\tfontFace: mergedFontFaces,\n\t\t\t} );\n\t\t} else {\n\t\t\tmap.set( font.slug, { ...font } );\n\t\t}\n\t}\n\treturn Array.from( map.values() );\n}\n\n/*\n * Loads the font face from a URL and adds it to the browser.\n * It also adds it to the iframe document.\n */\nexport async function loadFontFaceInBrowser( fontFace, source, addTo = 'all' ) {\n\tlet dataSource;\n\n\tif ( typeof source === 'string' ) {\n\t\tdataSource = `url(${ source })`;\n\t\t// eslint-disable-next-line no-undef\n\t} else if ( source instanceof File ) {\n\t\tdataSource = await source.arrayBuffer();\n\t}\n\n\t// eslint-disable-next-line no-undef\n\tconst newFont = new FontFace(\n\t\tformatFontFamily( fontFace.fontFamily ),\n\t\tdataSource,\n\t\t{\n\t\t\tstyle: fontFace.fontStyle,\n\t\t\tweight: fontFace.fontWeight,\n\t\t}\n\t);\n\n\tconst loadedFace = await newFont.load();\n\n\tif ( addTo === 'document' || addTo === 'all' ) {\n\t\tdocument.fonts.add( loadedFace );\n\t}\n\n\tif ( addTo === 'iframe' || addTo === 'all' ) {\n\t\tconst iframeDocument = document.querySelector(\n\t\t\t'iframe[name=\"editor-canvas\"]'\n\t\t).contentDocument;\n\t\tiframeDocument.fonts.add( loadedFace );\n\t}\n}\n\nexport function getDisplaySrcFromFontFace( input, urlPrefix ) {\n\tlet src;\n\tif ( Array.isArray( input ) ) {\n\t\tsrc = input[ 0 ];\n\t} else {\n\t\tsrc = input;\n\t}\n\t// If it is a theme font, we need to make the url absolute\n\tif ( src.startsWith( 'file:.' ) && urlPrefix ) {\n\t\tsrc = src.replace( 'file:.', urlPrefix );\n\t}\n\tif ( ! isUrlEncoded( src ) ) {\n\t\tsrc = encodeURI( src );\n\t}\n\treturn src;\n}\n\nexport function makeFormDataFromFontFamilies( fontFamilies ) {\n\tconst formData = new FormData();\n\tconst newFontFamilies = fontFamilies.map( ( family, familyIndex ) => {\n\t\tif ( family?.fontFace ) {\n\t\t\tfamily.fontFace = family.fontFace.map( ( face, faceIndex ) => {\n\t\t\t\tif ( face.file ) {\n\t\t\t\t\t// Slugified file name because the it might contain spaces or characters treated differently on the server.\n\t\t\t\t\tconst fileId = `file-${ familyIndex }-${ faceIndex }`;\n\t\t\t\t\t// Add the files to the formData\n\t\t\t\t\tformData.append( fileId, face.file, face.file.name );\n\t\t\t\t\t// remove the file object from the face object the file is referenced by the uploadedFile key\n\t\t\t\t\tconst { file, ...faceWithoutFileProperty } = face;\n\t\t\t\t\tconst newFace = {\n\t\t\t\t\t\t...faceWithoutFileProperty,\n\t\t\t\t\t\tuploadedFile: fileId,\n\t\t\t\t\t};\n\t\t\t\t\treturn newFace;\n\t\t\t\t}\n\t\t\t\treturn face;\n\t\t\t} );\n\t\t}\n\t\treturn family;\n\t} );\n\tformData.append( 'fontFamilies', JSON.stringify( newFontFamilies ) );\n\treturn formData;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["FONT_WEIGHTS","FONT_STYLES","formatFontFamily","setUIValuesNeeded","font","extraValues","name","fontFamily","slug","isUrlEncoded","url","decodeURIComponent","getFontFaceVariantName","face","weightName","fontWeight","styleName","fontStyle","mergeFontFaces","existing","incoming","map","Map","set","Array","from","values","mergeFontFamilies","has","fontFace","incomingFontFaces","restIncoming","existingFont","get","mergedFontFaces","loadFontFaceInBrowser","source","addTo","dataSource","File","arrayBuffer","newFont","FontFace","style","weight","loadedFace","load","document","fonts","add","iframeDocument","querySelector","contentDocument","getDisplaySrcFromFontFace","input","urlPrefix","src","isArray","startsWith","replace","encodeURI","makeFormDataFromFontFamilies","fontFamilies","formData","FormData","newFontFamilies","family","familyIndex","faceIndex","file","fileId","append","faceWithoutFileProperty","newFace","uploadedFile","JSON","stringify"],"sources":["@wordpress/edit-site/src/components/global-styles/font-library-modal/utils/index.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport { FONT_WEIGHTS, FONT_STYLES } from './constants';\nimport { formatFontFamily } from './preview-styles';\n\nexport function setUIValuesNeeded( font, extraValues = {} ) {\n\tif ( ! font.name && ( font.fontFamily || font.slug ) ) {\n\t\tfont.name = font.fontFamily || font.slug;\n\t}\n\treturn {\n\t\t...font,\n\t\t...extraValues,\n\t};\n}\n\nexport function isUrlEncoded( url ) {\n\tif ( typeof url !== 'string' ) {\n\t\treturn false;\n\t}\n\treturn url !== decodeURIComponent( url );\n}\n\nexport function getFontFaceVariantName( face ) {\n\tconst weightName = FONT_WEIGHTS[ face.fontWeight ] || face.fontWeight;\n\tconst styleName =\n\t\tface.fontStyle === 'normal'\n\t\t\t? ''\n\t\t\t: FONT_STYLES[ face.fontStyle ] || face.fontStyle;\n\treturn `${ weightName } ${ styleName }`;\n}\n\nexport function mergeFontFaces( existing = [], incoming = [] ) {\n\tconst map = new Map();\n\tfor ( const face of existing ) {\n\t\tmap.set( `${ face.fontWeight }${ face.fontStyle }`, face );\n\t}\n\tfor ( const face of incoming ) {\n\t\t// This will overwrite if the src already exists, keeping it unique.\n\t\tmap.set( `${ face.fontWeight }${ face.fontStyle }`, face );\n\t}\n\treturn Array.from( map.values() );\n}\n\nexport function mergeFontFamilies( existing = [], incoming = [] ) {\n\tconst map = new Map();\n\t// Add the existing array to the map.\n\tfor ( const font of existing ) {\n\t\tmap.set( font.slug, { ...font } );\n\t}\n\t// Add the incoming array to the map, overwriting existing values excepting fontFace that need to be merged.\n\tfor ( const font of incoming ) {\n\t\tif ( map.has( font.slug ) ) {\n\t\t\tconst { fontFace: incomingFontFaces, ...restIncoming } = font;\n\t\t\tconst existingFont = map.get( font.slug );\n\t\t\t// Merge the fontFaces existing with the incoming fontFaces.\n\t\t\tconst mergedFontFaces = mergeFontFaces(\n\t\t\t\texistingFont.fontFace,\n\t\t\t\tincomingFontFaces\n\t\t\t);\n\t\t\t// Except for the fontFace key all the other keys are overwritten with the incoming values.\n\t\t\tmap.set( font.slug, {\n\t\t\t\t...restIncoming,\n\t\t\t\tfontFace: mergedFontFaces,\n\t\t\t} );\n\t\t} else {\n\t\t\tmap.set( font.slug, { ...font } );\n\t\t}\n\t}\n\treturn Array.from( map.values() );\n}\n\n/*\n * Loads the font face from a URL and adds it to the browser.\n * It also adds it to the iframe document.\n */\nexport async function loadFontFaceInBrowser( fontFace, source, addTo = 'all' ) {\n\tlet dataSource;\n\n\tif ( typeof source === 'string' ) {\n\t\tdataSource = `url(${ source })`;\n\t\t// eslint-disable-next-line no-undef\n\t} else if ( source instanceof File ) {\n\t\tdataSource = await source.arrayBuffer();\n\t}\n\n\t// eslint-disable-next-line no-undef\n\tconst newFont = new FontFace(\n\t\tformatFontFamily( fontFace.fontFamily ),\n\t\tdataSource,\n\t\t{\n\t\t\tstyle: fontFace.fontStyle,\n\t\t\tweight: fontFace.fontWeight,\n\t\t}\n\t);\n\n\tconst loadedFace = await newFont.load();\n\n\tif ( addTo === 'document' || addTo === 'all' ) {\n\t\tdocument.fonts.add( loadedFace );\n\t}\n\n\tif ( addTo === 'iframe' || addTo === 'all' ) {\n\t\tconst iframeDocument = document.querySelector(\n\t\t\t'iframe[name=\"editor-canvas\"]'\n\t\t).contentDocument;\n\t\tiframeDocument.fonts.add( loadedFace );\n\t}\n}\n\nexport function getDisplaySrcFromFontFace( input, urlPrefix ) {\n\tif ( ! input ) {\n\t\treturn;\n\t}\n\n\tlet src;\n\tif ( Array.isArray( input ) ) {\n\t\tsrc = input[ 0 ];\n\t} else {\n\t\tsrc = input;\n\t}\n\t// If it is a theme font, we need to make the url absolute\n\tif ( src.startsWith( 'file:.' ) && urlPrefix ) {\n\t\tsrc = src.replace( 'file:.', urlPrefix );\n\t}\n\tif ( ! isUrlEncoded( src ) ) {\n\t\tsrc = encodeURI( src );\n\t}\n\treturn src;\n}\n\nexport function makeFormDataFromFontFamilies( fontFamilies ) {\n\tconst formData = new FormData();\n\tconst newFontFamilies = fontFamilies.map( ( family, familyIndex ) => {\n\t\tif ( family?.fontFace ) {\n\t\t\tfamily.fontFace = family.fontFace.map( ( face, faceIndex ) => {\n\t\t\t\tif ( face.file ) {\n\t\t\t\t\t// Slugified file name because the it might contain spaces or characters treated differently on the server.\n\t\t\t\t\tconst fileId = `file-${ familyIndex }-${ faceIndex }`;\n\t\t\t\t\t// Add the files to the formData\n\t\t\t\t\tformData.append( fileId, face.file, face.file.name );\n\t\t\t\t\t// remove the file object from the face object the file is referenced by the uploadedFile key\n\t\t\t\t\tconst { file, ...faceWithoutFileProperty } = face;\n\t\t\t\t\tconst newFace = {\n\t\t\t\t\t\t...faceWithoutFileProperty,\n\t\t\t\t\t\tuploadedFile: fileId,\n\t\t\t\t\t};\n\t\t\t\t\treturn newFace;\n\t\t\t\t}\n\t\t\t\treturn face;\n\t\t\t} );\n\t\t}\n\t\treturn family;\n\t} );\n\tformData.append( 'font_families', JSON.stringify( newFontFamilies ) );\n\treturn formData;\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["GridItem","Grid","categoryId","items","props","length","createElement","
|
|
1
|
+
{"version":3,"names":["GridItem","Grid","categoryId","items","props","length","createElement","className","map","item","key","name"],"sources":["@wordpress/edit-site/src/components/page-patterns/grid.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport GridItem from './grid-item';\n\nexport default function Grid( { categoryId, items, ...props } ) {\n\tif ( ! items?.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<ul className=\"edit-site-patterns__grid\" { ...props }>\n\t\t\t{ items.map( ( item ) => (\n\t\t\t\t<GridItem\n\t\t\t\t\tkey={ item.name }\n\t\t\t\t\titem={ item }\n\t\t\t\t\tcategoryId={ categoryId }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</ul>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,QAAQ,MAAM,aAAa;AAElC,eAAe,SAASC,IAAIA,CAAE;EAAEC,UAAU;EAAEC,KAAK;EAAE,GAAGC;AAAM,CAAC,EAAG;EAC/D,IAAK,CAAED,KAAK,EAAEE,MAAM,EAAG;IACtB,OAAO,IAAI;EACZ;EAEA,OACCC,aAAA;IAAIC,SAAS,EAAC,0BAA0B;IAAA,GAAMH;EAAK,GAChDD,KAAK,CAACK,GAAG,CAAIC,IAAI,IAClBH,aAAA,CAACN,QAAQ;IACRU,GAAG,EAAGD,IAAI,CAACE,IAAM;IACjBF,IAAI,EAAGA,IAAM;IACbP,UAAU,EAAGA;EAAY,CACzB,CACA,CACC,CAAC;AAEP"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useState","useDeferredValue","useId","useMemo","SearchControl","__experimentalVStack","VStack","Flex","FlexBlock","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","__experimentalHeading","Heading","__experimentalText","Text","__","isRTL","chevronLeft","chevronRight","privateApis","routerPrivateApis","useAsyncList","useViewportMatch","PatternsHeader","Grid","NoPatterns","usePatterns","SidebarButton","useDebouncedInput","unlock","PATTERN_SYNC_TYPES","PATTERN_TYPES","Pagination","useLocation","useHistory","SYNC_FILTERS","all","full","unsynced","SYNC_DESCRIPTIONS","PAGE_SIZE","PatternsList","categoryId","type","location","history","isMobileViewport","filterValue","setFilterValue","delayedFilterValue","deferredFilterValue","syncFilter","setSyncFilter","currentPage","setCurrentPage","deferredSyncedFilter","isUncategorizedThemePatterns","theme","patterns","isResolving","search","syncStatus","undefined","updateSearchFilter","value","updateSyncFilter","id","titleId","descriptionId","hasPatterns","length","title","description","totalItems","pageIndex","numPages","Math","ceil","list","slice","asyncList","step","changePage","page","scrollContainer","document","querySelector","scrollTo","createElement","Fragment","className","spacing","alignment","wrap","icon","label","onClick","state","backPath","back","push","path","onChange","placeholder","__nextHasNoMarginBottom","hideLabelFromVision","isBlock","Object","entries","map","key","justify","as","level","variant","items"],"sources":["@wordpress/edit-site/src/components/page-patterns/patterns-list.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState, useDeferredValue, useId, useMemo } from '@wordpress/element';\nimport {\n\tSearchControl,\n\t__experimentalVStack as VStack,\n\tFlex,\n\tFlexBlock,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalHeading as Heading,\n\t__experimentalText as Text,\n} from '@wordpress/components';\nimport { __, isRTL } from '@wordpress/i18n';\nimport { chevronLeft, chevronRight } from '@wordpress/icons';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { useAsyncList, useViewportMatch } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport PatternsHeader from './header';\nimport Grid from './grid';\nimport NoPatterns from './no-patterns';\nimport usePatterns from './use-patterns';\nimport SidebarButton from '../sidebar-button';\nimport useDebouncedInput from '../../utils/use-debounced-input';\nimport { unlock } from '../../lock-unlock';\nimport { PATTERN_SYNC_TYPES, PATTERN_TYPES } from '../../utils/constants';\nimport Pagination from './pagination';\n\nconst { useLocation, useHistory } = unlock( routerPrivateApis );\n\nconst SYNC_FILTERS = {\n\tall: __( 'All' ),\n\t[ PATTERN_SYNC_TYPES.full ]: __( 'Synced' ),\n\t[ PATTERN_SYNC_TYPES.unsynced ]: __( 'Standard' ),\n};\n\nconst SYNC_DESCRIPTIONS = {\n\tall: '',\n\t[ PATTERN_SYNC_TYPES.full ]: __(\n\t\t'Patterns that are kept in sync across the site.'\n\t),\n\t[ PATTERN_SYNC_TYPES.unsynced ]: __(\n\t\t'Patterns that can be changed freely without affecting the site.'\n\t),\n};\n\nconst PAGE_SIZE = 20;\n\nexport default function PatternsList( { categoryId, type } ) {\n\tconst location = useLocation();\n\tconst history = useHistory();\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst [ filterValue, setFilterValue, delayedFilterValue ] =\n\t\tuseDebouncedInput( '' );\n\tconst deferredFilterValue = useDeferredValue( delayedFilterValue );\n\n\tconst [ syncFilter, setSyncFilter ] = useState( 'all' );\n\tconst [ currentPage, setCurrentPage ] = useState( 1 );\n\n\tconst deferredSyncedFilter = useDeferredValue( syncFilter );\n\n\tconst isUncategorizedThemePatterns =\n\t\ttype === PATTERN_TYPES.theme && categoryId === 'uncategorized';\n\n\tconst { patterns, isResolving } = usePatterns(\n\t\ttype,\n\t\tisUncategorizedThemePatterns ? '' : categoryId,\n\t\t{\n\t\t\tsearch: deferredFilterValue,\n\t\t\tsyncStatus:\n\t\t\t\tdeferredSyncedFilter === 'all'\n\t\t\t\t\t? undefined\n\t\t\t\t\t: deferredSyncedFilter,\n\t\t}\n\t);\n\n\tconst updateSearchFilter = ( value ) => {\n\t\tsetCurrentPage( 1 );\n\t\tsetFilterValue( value );\n\t};\n\n\tconst updateSyncFilter = ( value ) => {\n\t\tsetCurrentPage( 1 );\n\t\tsetSyncFilter( value );\n\t};\n\n\tconst id = useId();\n\tconst titleId = `${ id }-title`;\n\tconst descriptionId = `${ id }-description`;\n\n\tconst hasPatterns = patterns.length;\n\tconst title = SYNC_FILTERS[ syncFilter ];\n\tconst description = SYNC_DESCRIPTIONS[ syncFilter ];\n\n\tconst totalItems = patterns.length;\n\tconst pageIndex = currentPage - 1;\n\tconst numPages = Math.ceil( patterns.length / PAGE_SIZE );\n\n\tconst list = useMemo( () => {\n\t\treturn patterns.slice(\n\t\t\tpageIndex * PAGE_SIZE,\n\t\t\tpageIndex * PAGE_SIZE + PAGE_SIZE\n\t\t);\n\t}, [ pageIndex, patterns ] );\n\n\tconst asyncList = useAsyncList( list, { step: 10 } );\n\n\tconst changePage = ( page ) => {\n\t\tconst scrollContainer = document.querySelector( '.edit-site-patterns' );\n\t\tscrollContainer?.scrollTo( 0, 0 );\n\n\t\tsetCurrentPage( page );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<VStack className=\"edit-site-patterns__header\" spacing={ 6 }>\n\t\t\t\t<PatternsHeader\n\t\t\t\t\tcategoryId={ categoryId }\n\t\t\t\t\ttype={ type }\n\t\t\t\t\ttitleId={ titleId }\n\t\t\t\t\tdescriptionId={ descriptionId }\n\t\t\t\t/>\n\t\t\t\t<Flex alignment=\"stretch\" wrap>\n\t\t\t\t\t{ isMobileViewport && (\n\t\t\t\t\t\t<SidebarButton\n\t\t\t\t\t\t\ticon={ isRTL() ? chevronRight : chevronLeft }\n\t\t\t\t\t\t\tlabel={ __( 'Back' ) }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t// Go back in history if we came from the Patterns page.\n\t\t\t\t\t\t\t\t// Otherwise push a stack onto the history.\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\tlocation.state?.backPath === '/patterns'\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\thistory.back();\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\thistory.push( { path: '/patterns' } );\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<FlexBlock className=\"edit-site-patterns__search-block\">\n\t\t\t\t\t\t<SearchControl\n\t\t\t\t\t\t\tclassName=\"edit-site-patterns__search\"\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tupdateSearchFilter( value )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tplaceholder={ __( 'Search patterns' ) }\n\t\t\t\t\t\t\tlabel={ __( 'Search patterns' ) }\n\t\t\t\t\t\t\tvalue={ filterValue }\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexBlock>\n\t\t\t\t\t{ type === PATTERN_TYPES.theme && (\n\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\tclassName=\"edit-site-patterns__sync-status-filter\"\n\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\tlabel={ __( 'Filter by sync status' ) }\n\t\t\t\t\t\t\tvalue={ syncFilter }\n\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\tonChange={ ( value ) => updateSyncFilter( value ) }\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ Object.entries( SYNC_FILTERS ).map(\n\t\t\t\t\t\t\t\t( [ key, label ] ) => (\n\t\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-patterns__sync-status-filter-option\"\n\t\t\t\t\t\t\t\t\t\tkey={ key }\n\t\t\t\t\t\t\t\t\t\tvalue={ key }\n\t\t\t\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t) }\n\t\t\t\t</Flex>\n\t\t\t</VStack>\n\t\t\t<VStack\n\t\t\t\tclassName=\"edit-site-patterns__section\"\n\t\t\t\tjustify=\"flex-start\"\n\t\t\t\tspacing={ 6 }\n\t\t\t>\n\t\t\t\t{ syncFilter !== 'all' && (\n\t\t\t\t\t<VStack className=\"edit-site-patterns__section-header\">\n\t\t\t\t\t\t<Heading as=\"h3\" level={ 5 } id={ titleId }>\n\t\t\t\t\t\t\t{ title }\n\t\t\t\t\t\t</Heading>\n\t\t\t\t\t\t{ description ? (\n\t\t\t\t\t\t\t<Text variant=\"muted\" as=\"p\" id={ descriptionId }>\n\t\t\t\t\t\t\t\t{ description }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t) : null }\n\t\t\t\t\t</VStack>\n\t\t\t\t) }\n\t\t\t\t{ hasPatterns && (\n\t\t\t\t\t<Grid\n\t\t\t\t\t\tcategoryId={ categoryId }\n\t\t\t\t\t\titems={ asyncList }\n\t\t\t\t\t\taria-labelledby={ titleId }\n\t\t\t\t\t\taria-describedby={ descriptionId }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ! isResolving && ! hasPatterns && <NoPatterns /> }\n\t\t\t</VStack>\n\t\t\t{ numPages > 1 && (\n\t\t\t\t<Pagination\n\t\t\t\t\tcurrentPage={ currentPage }\n\t\t\t\t\tnumPages={ numPages }\n\t\t\t\t\tchangePage={ changePage }\n\t\t\t\t\ttotalItems={ totalItems }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["useState","useDeferredValue","useId","useMemo","SearchControl","__experimentalVStack","VStack","Flex","FlexBlock","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","__experimentalHeading","Heading","__experimentalText","Text","__","isRTL","chevronLeft","chevronRight","privateApis","routerPrivateApis","useAsyncList","useViewportMatch","PatternsHeader","Grid","NoPatterns","usePatterns","SidebarButton","useDebouncedInput","unlock","PATTERN_SYNC_TYPES","PATTERN_TYPES","Pagination","useLocation","useHistory","SYNC_FILTERS","all","full","unsynced","SYNC_DESCRIPTIONS","PAGE_SIZE","PatternsList","categoryId","type","location","history","isMobileViewport","filterValue","setFilterValue","delayedFilterValue","deferredFilterValue","syncFilter","setSyncFilter","currentPage","setCurrentPage","deferredSyncedFilter","isUncategorizedThemePatterns","theme","patterns","isResolving","search","syncStatus","undefined","updateSearchFilter","value","updateSyncFilter","id","titleId","descriptionId","hasPatterns","length","title","description","totalItems","pageIndex","numPages","Math","ceil","list","slice","asyncList","step","changePage","page","scrollContainer","document","querySelector","scrollTo","createElement","Fragment","className","spacing","alignment","wrap","icon","label","onClick","state","backPath","back","push","path","onChange","placeholder","__nextHasNoMarginBottom","hideLabelFromVision","isBlock","Object","entries","map","key","justify","as","level","variant","items"],"sources":["@wordpress/edit-site/src/components/page-patterns/patterns-list.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState, useDeferredValue, useId, useMemo } from '@wordpress/element';\nimport {\n\tSearchControl,\n\t__experimentalVStack as VStack,\n\tFlex,\n\tFlexBlock,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalHeading as Heading,\n\t__experimentalText as Text,\n} from '@wordpress/components';\nimport { __, isRTL } from '@wordpress/i18n';\nimport { chevronLeft, chevronRight } from '@wordpress/icons';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { useAsyncList, useViewportMatch } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport PatternsHeader from './header';\nimport Grid from './grid';\nimport NoPatterns from './no-patterns';\nimport usePatterns from './use-patterns';\nimport SidebarButton from '../sidebar-button';\nimport useDebouncedInput from '../../utils/use-debounced-input';\nimport { unlock } from '../../lock-unlock';\nimport { PATTERN_SYNC_TYPES, PATTERN_TYPES } from '../../utils/constants';\nimport Pagination from './pagination';\n\nconst { useLocation, useHistory } = unlock( routerPrivateApis );\n\nconst SYNC_FILTERS = {\n\tall: __( 'All' ),\n\t[ PATTERN_SYNC_TYPES.full ]: __( 'Synced' ),\n\t[ PATTERN_SYNC_TYPES.unsynced ]: __( 'Not synced' ),\n};\n\nconst SYNC_DESCRIPTIONS = {\n\tall: '',\n\t[ PATTERN_SYNC_TYPES.full ]: __(\n\t\t'Patterns that are kept in sync across the site.'\n\t),\n\t[ PATTERN_SYNC_TYPES.unsynced ]: __(\n\t\t'Patterns that can be changed freely without affecting the site.'\n\t),\n};\n\nconst PAGE_SIZE = 20;\n\nexport default function PatternsList( { categoryId, type } ) {\n\tconst location = useLocation();\n\tconst history = useHistory();\n\tconst isMobileViewport = useViewportMatch( 'medium', '<' );\n\tconst [ filterValue, setFilterValue, delayedFilterValue ] =\n\t\tuseDebouncedInput( '' );\n\tconst deferredFilterValue = useDeferredValue( delayedFilterValue );\n\n\tconst [ syncFilter, setSyncFilter ] = useState( 'all' );\n\tconst [ currentPage, setCurrentPage ] = useState( 1 );\n\n\tconst deferredSyncedFilter = useDeferredValue( syncFilter );\n\n\tconst isUncategorizedThemePatterns =\n\t\ttype === PATTERN_TYPES.theme && categoryId === 'uncategorized';\n\n\tconst { patterns, isResolving } = usePatterns(\n\t\ttype,\n\t\tisUncategorizedThemePatterns ? '' : categoryId,\n\t\t{\n\t\t\tsearch: deferredFilterValue,\n\t\t\tsyncStatus:\n\t\t\t\tdeferredSyncedFilter === 'all'\n\t\t\t\t\t? undefined\n\t\t\t\t\t: deferredSyncedFilter,\n\t\t}\n\t);\n\n\tconst updateSearchFilter = ( value ) => {\n\t\tsetCurrentPage( 1 );\n\t\tsetFilterValue( value );\n\t};\n\n\tconst updateSyncFilter = ( value ) => {\n\t\tsetCurrentPage( 1 );\n\t\tsetSyncFilter( value );\n\t};\n\n\tconst id = useId();\n\tconst titleId = `${ id }-title`;\n\tconst descriptionId = `${ id }-description`;\n\n\tconst hasPatterns = patterns.length;\n\tconst title = SYNC_FILTERS[ syncFilter ];\n\tconst description = SYNC_DESCRIPTIONS[ syncFilter ];\n\n\tconst totalItems = patterns.length;\n\tconst pageIndex = currentPage - 1;\n\tconst numPages = Math.ceil( patterns.length / PAGE_SIZE );\n\n\tconst list = useMemo( () => {\n\t\treturn patterns.slice(\n\t\t\tpageIndex * PAGE_SIZE,\n\t\t\tpageIndex * PAGE_SIZE + PAGE_SIZE\n\t\t);\n\t}, [ pageIndex, patterns ] );\n\n\tconst asyncList = useAsyncList( list, { step: 10 } );\n\n\tconst changePage = ( page ) => {\n\t\tconst scrollContainer = document.querySelector( '.edit-site-patterns' );\n\t\tscrollContainer?.scrollTo( 0, 0 );\n\n\t\tsetCurrentPage( page );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<VStack className=\"edit-site-patterns__header\" spacing={ 6 }>\n\t\t\t\t<PatternsHeader\n\t\t\t\t\tcategoryId={ categoryId }\n\t\t\t\t\ttype={ type }\n\t\t\t\t\ttitleId={ titleId }\n\t\t\t\t\tdescriptionId={ descriptionId }\n\t\t\t\t/>\n\t\t\t\t<Flex alignment=\"stretch\" wrap>\n\t\t\t\t\t{ isMobileViewport && (\n\t\t\t\t\t\t<SidebarButton\n\t\t\t\t\t\t\ticon={ isRTL() ? chevronRight : chevronLeft }\n\t\t\t\t\t\t\tlabel={ __( 'Back' ) }\n\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t// Go back in history if we came from the Patterns page.\n\t\t\t\t\t\t\t\t// Otherwise push a stack onto the history.\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\tlocation.state?.backPath === '/patterns'\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\thistory.back();\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\thistory.push( { path: '/patterns' } );\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<FlexBlock className=\"edit-site-patterns__search-block\">\n\t\t\t\t\t\t<SearchControl\n\t\t\t\t\t\t\tclassName=\"edit-site-patterns__search\"\n\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\tupdateSearchFilter( value )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tplaceholder={ __( 'Search patterns' ) }\n\t\t\t\t\t\t\tlabel={ __( 'Search patterns' ) }\n\t\t\t\t\t\t\tvalue={ filterValue }\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexBlock>\n\t\t\t\t\t{ type === PATTERN_TYPES.theme && (\n\t\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t\tclassName=\"edit-site-patterns__sync-status-filter\"\n\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\tlabel={ __( 'Filter by sync status' ) }\n\t\t\t\t\t\t\tvalue={ syncFilter }\n\t\t\t\t\t\t\tisBlock\n\t\t\t\t\t\t\tonChange={ ( value ) => updateSyncFilter( value ) }\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ Object.entries( SYNC_FILTERS ).map(\n\t\t\t\t\t\t\t\t( [ key, label ] ) => (\n\t\t\t\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-patterns__sync-status-filter-option\"\n\t\t\t\t\t\t\t\t\t\tkey={ key }\n\t\t\t\t\t\t\t\t\t\tvalue={ key }\n\t\t\t\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t) }\n\t\t\t\t</Flex>\n\t\t\t</VStack>\n\t\t\t<VStack\n\t\t\t\tclassName=\"edit-site-patterns__section\"\n\t\t\t\tjustify=\"flex-start\"\n\t\t\t\tspacing={ 6 }\n\t\t\t>\n\t\t\t\t{ syncFilter !== 'all' && (\n\t\t\t\t\t<VStack className=\"edit-site-patterns__section-header\">\n\t\t\t\t\t\t<Heading as=\"h3\" level={ 5 } id={ titleId }>\n\t\t\t\t\t\t\t{ title }\n\t\t\t\t\t\t</Heading>\n\t\t\t\t\t\t{ description ? (\n\t\t\t\t\t\t\t<Text variant=\"muted\" as=\"p\" id={ descriptionId }>\n\t\t\t\t\t\t\t\t{ description }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t) : null }\n\t\t\t\t\t</VStack>\n\t\t\t\t) }\n\t\t\t\t{ hasPatterns && (\n\t\t\t\t\t<Grid\n\t\t\t\t\t\tcategoryId={ categoryId }\n\t\t\t\t\t\titems={ asyncList }\n\t\t\t\t\t\taria-labelledby={ titleId }\n\t\t\t\t\t\taria-describedby={ descriptionId }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ ! isResolving && ! hasPatterns && <NoPatterns /> }\n\t\t\t</VStack>\n\t\t\t{ numPages > 1 && (\n\t\t\t\t<Pagination\n\t\t\t\t\tcurrentPage={ currentPage }\n\t\t\t\t\tnumPages={ numPages }\n\t\t\t\t\tchangePage={ changePage }\n\t\t\t\t\ttotalItems={ totalItems }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -106,7 +106,11 @@ const selectPatterns = createSelector((select, categoryId, syncStatus, search =
|
|
|
106
106
|
} = selectUserPatterns(select);
|
|
107
107
|
let patterns = [...(themePatterns || []), ...(userPatterns || [])];
|
|
108
108
|
if (syncStatus) {
|
|
109
|
-
|
|
109
|
+
// User patterns can have their sync statuses checked directly
|
|
110
|
+
// Non-user patterns are all unsynced for the time being.
|
|
111
|
+
patterns = patterns.filter(pattern => {
|
|
112
|
+
return pattern.id ? pattern.syncStatus === syncStatus : syncStatus === PATTERN_SYNC_TYPES.unsynced;
|
|
113
|
+
});
|
|
110
114
|
}
|
|
111
115
|
if (categoryId) {
|
|
112
116
|
patterns = searchItems(patterns, search, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createSelector","parse","useSelect","store","coreStore","editorStore","decodeEntities","filterOutDuplicatesByName","PATTERN_CORE_SOURCES","PATTERN_TYPES","PATTERN_SYNC_TYPES","TEMPLATE_PART_POST_TYPE","TEMPLATE_ORIGINS","TEMPLATE_PART_AREA_DEFAULT_CATEGORY","unlock","searchItems","editSiteStore","EMPTY_PATTERN_LIST","createTemplatePartId","theme","slug","templatePartToPattern","templatePart","blocks","content","raw","__unstableSkipMigrationLogs","categories","area","description","isCustom","source","custom","keywords","id","name","title","rendered","type","selectTemplatePartsAsPatterns","select","categoryId","search","_getEntityRecords","getEntityRecords","getIsResolving","__experimentalGetDefaultTemplatePartAreas","query","per_page","rawTemplateParts","templateParts","map","knownAreas","templatePartAreas","templatePartHasCategory","item","category","includes","isResolving","patterns","hasCategory","selectThemePatterns","_settings$__experimen","getSettings","settings","blockPatterns","__experimentalAdditionalBlockPatterns","__experimentalBlockPatterns","restBlockPatterns","getBlockPatterns","filter","pattern","inserter","selectPatterns","syncStatus","themePatterns","userPatterns","selectUserPatterns","currentCategory","hasOwnProperty","patternBlockToPattern","patternBlock","wp_pattern_category","length","patternCategoryId","get","wp_pattern_sync_status","full","user","getUserPatternCategories","records","userPatternCategories","Map","forEach","userCategory","set","record","usePatterns","categoryType"],"sources":["@wordpress/edit-site/src/components/page-patterns/use-patterns.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport createSelector from 'rememo';\n\n/**\n * WordPress dependencies\n */\nimport { parse } from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as editorStore } from '@wordpress/editor';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { filterOutDuplicatesByName } from './utils';\nimport {\n\tPATTERN_CORE_SOURCES,\n\tPATTERN_TYPES,\n\tPATTERN_SYNC_TYPES,\n\tTEMPLATE_PART_POST_TYPE,\n\tTEMPLATE_ORIGINS,\n\tTEMPLATE_PART_AREA_DEFAULT_CATEGORY,\n} from '../../utils/constants';\nimport { unlock } from '../../lock-unlock';\nimport { searchItems } from './search-items';\nimport { store as editSiteStore } from '../../store';\n\nconst EMPTY_PATTERN_LIST = [];\n\nconst createTemplatePartId = ( theme, slug ) =>\n\ttheme && slug ? theme + '//' + slug : null;\n\nconst templatePartToPattern = ( templatePart ) => ( {\n\tblocks: parse( templatePart.content.raw, {\n\t\t__unstableSkipMigrationLogs: true,\n\t} ),\n\tcategories: [ templatePart.area ],\n\tdescription: templatePart.description || '',\n\tisCustom: templatePart.source === TEMPLATE_ORIGINS.custom,\n\tkeywords: templatePart.keywords || [],\n\tid: createTemplatePartId( templatePart.theme, templatePart.slug ),\n\tname: createTemplatePartId( templatePart.theme, templatePart.slug ),\n\ttitle: decodeEntities( templatePart.title.rendered ),\n\ttype: templatePart.type,\n\ttemplatePart,\n} );\n\nconst selectTemplatePartsAsPatterns = createSelector(\n\t( select, categoryId, search = '' ) => {\n\t\tconst { getEntityRecords, getIsResolving } = select( coreStore );\n\t\tconst { __experimentalGetDefaultTemplatePartAreas } =\n\t\t\tselect( editorStore );\n\t\tconst query = { per_page: -1 };\n\t\tconst rawTemplateParts =\n\t\t\tgetEntityRecords( 'postType', TEMPLATE_PART_POST_TYPE, query ) ??\n\t\t\tEMPTY_PATTERN_LIST;\n\t\tconst templateParts = rawTemplateParts.map( ( templatePart ) =>\n\t\t\ttemplatePartToPattern( templatePart )\n\t\t);\n\n\t\t// In the case where a custom template part area has been removed we need\n\t\t// the current list of areas to cross check against so orphaned template\n\t\t// parts can be treated as uncategorized.\n\t\tconst knownAreas = __experimentalGetDefaultTemplatePartAreas() || [];\n\t\tconst templatePartAreas = knownAreas.map( ( area ) => area.area );\n\n\t\tconst templatePartHasCategory = ( item, category ) => {\n\t\t\tif ( category !== TEMPLATE_PART_AREA_DEFAULT_CATEGORY ) {\n\t\t\t\treturn item.templatePart.area === category;\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\titem.templatePart.area === category ||\n\t\t\t\t! templatePartAreas.includes( item.templatePart.area )\n\t\t\t);\n\t\t};\n\n\t\tconst isResolving = getIsResolving( 'getEntityRecords', [\n\t\t\t'postType',\n\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\tquery,\n\t\t] );\n\n\t\tconst patterns = searchItems( templateParts, search, {\n\t\t\tcategoryId,\n\t\t\thasCategory: templatePartHasCategory,\n\t\t} );\n\n\t\treturn { patterns, isResolving };\n\t},\n\t( select ) => [\n\t\tselect( coreStore ).getEntityRecords(\n\t\t\t'postType',\n\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\t{\n\t\t\t\tper_page: -1,\n\t\t\t}\n\t\t),\n\t\tselect( coreStore ).getIsResolving( 'getEntityRecords', [\n\t\t\t'postType',\n\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\t{ per_page: -1 },\n\t\t] ),\n\t\tselect( editorStore ).__experimentalGetDefaultTemplatePartAreas(),\n\t]\n);\n\nconst selectThemePatterns = createSelector(\n\t( select ) => {\n\t\tconst { getSettings } = unlock( select( editSiteStore ) );\n\t\tconst settings = getSettings();\n\t\tconst blockPatterns =\n\t\t\tsettings.__experimentalAdditionalBlockPatterns ??\n\t\t\tsettings.__experimentalBlockPatterns;\n\n\t\tconst restBlockPatterns = select( coreStore ).getBlockPatterns();\n\n\t\tconst patterns = [\n\t\t\t...( blockPatterns || [] ),\n\t\t\t...( restBlockPatterns || [] ),\n\t\t]\n\t\t\t.filter(\n\t\t\t\t( pattern ) => ! PATTERN_CORE_SOURCES.includes( pattern.source )\n\t\t\t)\n\t\t\t.filter( filterOutDuplicatesByName )\n\t\t\t.filter( ( pattern ) => pattern.inserter !== false )\n\t\t\t.map( ( pattern ) => ( {\n\t\t\t\t...pattern,\n\t\t\t\tkeywords: pattern.keywords || [],\n\t\t\t\ttype: PATTERN_TYPES.theme,\n\t\t\t\tblocks: parse( pattern.content, {\n\t\t\t\t\t__unstableSkipMigrationLogs: true,\n\t\t\t\t} ),\n\t\t\t} ) );\n\n\t\treturn { patterns, isResolving: false };\n\t},\n\t( select ) => [\n\t\tselect( coreStore ).getBlockPatterns(),\n\t\tunlock( select( editSiteStore ) ).getSettings(),\n\t]\n);\n\nconst selectPatterns = createSelector(\n\t( select, categoryId, syncStatus, search = '' ) => {\n\t\tconst { patterns: themePatterns } = selectThemePatterns( select );\n\t\tconst { patterns: userPatterns } = selectUserPatterns( select );\n\n\t\tlet patterns = [\n\t\t\t...( themePatterns || [] ),\n\t\t\t...( userPatterns || [] ),\n\t\t];\n\n\t\tif ( syncStatus ) {\n\t\t\tpatterns = patterns.filter(\n\t\t\t\t( pattern ) => pattern.syncStatus === syncStatus\n\t\t\t);\n\t\t}\n\n\t\tif ( categoryId ) {\n\t\t\tpatterns = searchItems( patterns, search, {\n\t\t\t\tcategoryId,\n\t\t\t\thasCategory: ( item, currentCategory ) =>\n\t\t\t\t\titem.categories?.includes( currentCategory ),\n\t\t\t} );\n\t\t} else {\n\t\t\tpatterns = searchItems( patterns, search, {\n\t\t\t\thasCategory: ( item ) => ! item.hasOwnProperty( 'categories' ),\n\t\t\t} );\n\t\t}\n\t\treturn { patterns, isResolving: false };\n\t},\n\t( select ) => [\n\t\tselectThemePatterns( select ),\n\t\tselectUserPatterns( select ),\n\t]\n);\n\nconst patternBlockToPattern = ( patternBlock, categories ) => ( {\n\tblocks: parse( patternBlock.content.raw, {\n\t\t__unstableSkipMigrationLogs: true,\n\t} ),\n\t...( patternBlock.wp_pattern_category.length > 0 && {\n\t\tcategories: patternBlock.wp_pattern_category.map(\n\t\t\t( patternCategoryId ) =>\n\t\t\t\tcategories && categories.get( patternCategoryId )\n\t\t\t\t\t? categories.get( patternCategoryId ).slug\n\t\t\t\t\t: patternCategoryId\n\t\t),\n\t} ),\n\tid: patternBlock.id,\n\tname: patternBlock.slug,\n\tsyncStatus: patternBlock.wp_pattern_sync_status || PATTERN_SYNC_TYPES.full,\n\ttitle: patternBlock.title.raw,\n\ttype: PATTERN_TYPES.user,\n\tpatternBlock,\n} );\n\nconst selectUserPatterns = createSelector(\n\t( select, syncStatus, search = '' ) => {\n\t\tconst { getEntityRecords, getIsResolving, getUserPatternCategories } =\n\t\t\tselect( coreStore );\n\n\t\tconst query = { per_page: -1 };\n\t\tconst records = getEntityRecords(\n\t\t\t'postType',\n\t\t\tPATTERN_TYPES.user,\n\t\t\tquery\n\t\t);\n\t\tconst userPatternCategories = getUserPatternCategories();\n\t\tconst categories = new Map();\n\t\tuserPatternCategories.forEach( ( userCategory ) =>\n\t\t\tcategories.set( userCategory.id, userCategory )\n\t\t);\n\t\tlet patterns = records\n\t\t\t? records.map( ( record ) =>\n\t\t\t\t\tpatternBlockToPattern( record, categories )\n\t\t\t )\n\t\t\t: EMPTY_PATTERN_LIST;\n\n\t\tconst isResolving = getIsResolving( 'getEntityRecords', [\n\t\t\t'postType',\n\t\t\tPATTERN_TYPES.user,\n\t\t\tquery,\n\t\t] );\n\n\t\tif ( syncStatus ) {\n\t\t\tpatterns = patterns.filter(\n\t\t\t\t( pattern ) => pattern.syncStatus === syncStatus\n\t\t\t);\n\t\t}\n\n\t\tpatterns = searchItems( patterns, search, {\n\t\t\t// We exit user pattern retrieval early if we aren't in the\n\t\t\t// catch-all category for user created patterns, so it has\n\t\t\t// to be in the category.\n\t\t\thasCategory: () => true,\n\t\t} );\n\n\t\treturn {\n\t\t\tpatterns,\n\t\t\tisResolving,\n\t\t\tcategories: userPatternCategories,\n\t\t};\n\t},\n\t( select ) => [\n\t\tselect( coreStore ).getEntityRecords( 'postType', PATTERN_TYPES.user, {\n\t\t\tper_page: -1,\n\t\t} ),\n\t\tselect( coreStore ).getIsResolving( 'getEntityRecords', [\n\t\t\t'postType',\n\t\t\tPATTERN_TYPES.user,\n\t\t\t{ per_page: -1 },\n\t\t] ),\n\t\tselect( coreStore ).getUserPatternCategories(),\n\t]\n);\n\nexport const usePatterns = (\n\tcategoryType,\n\tcategoryId,\n\t{ search = '', syncStatus } = {}\n) => {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tif ( categoryType === TEMPLATE_PART_POST_TYPE ) {\n\t\t\t\treturn selectTemplatePartsAsPatterns(\n\t\t\t\t\tselect,\n\t\t\t\t\tcategoryId,\n\t\t\t\t\tsearch\n\t\t\t\t);\n\t\t\t} else if ( categoryType === PATTERN_TYPES.theme ) {\n\t\t\t\treturn selectPatterns( select, categoryId, syncStatus, search );\n\t\t\t} else if ( categoryType === PATTERN_TYPES.user ) {\n\t\t\t\treturn selectUserPatterns( select, syncStatus, search );\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tpatterns: EMPTY_PATTERN_LIST,\n\t\t\t\tisResolving: false,\n\t\t\t};\n\t\t},\n\t\t[ categoryId, categoryType, search, syncStatus ]\n\t);\n};\n\nexport default usePatterns;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["createSelector","parse","useSelect","store","coreStore","editorStore","decodeEntities","filterOutDuplicatesByName","PATTERN_CORE_SOURCES","PATTERN_TYPES","PATTERN_SYNC_TYPES","TEMPLATE_PART_POST_TYPE","TEMPLATE_ORIGINS","TEMPLATE_PART_AREA_DEFAULT_CATEGORY","unlock","searchItems","editSiteStore","EMPTY_PATTERN_LIST","createTemplatePartId","theme","slug","templatePartToPattern","templatePart","blocks","content","raw","__unstableSkipMigrationLogs","categories","area","description","isCustom","source","custom","keywords","id","name","title","rendered","type","selectTemplatePartsAsPatterns","select","categoryId","search","_getEntityRecords","getEntityRecords","getIsResolving","__experimentalGetDefaultTemplatePartAreas","query","per_page","rawTemplateParts","templateParts","map","knownAreas","templatePartAreas","templatePartHasCategory","item","category","includes","isResolving","patterns","hasCategory","selectThemePatterns","_settings$__experimen","getSettings","settings","blockPatterns","__experimentalAdditionalBlockPatterns","__experimentalBlockPatterns","restBlockPatterns","getBlockPatterns","filter","pattern","inserter","selectPatterns","syncStatus","themePatterns","userPatterns","selectUserPatterns","unsynced","currentCategory","hasOwnProperty","patternBlockToPattern","patternBlock","wp_pattern_category","length","patternCategoryId","get","wp_pattern_sync_status","full","user","getUserPatternCategories","records","userPatternCategories","Map","forEach","userCategory","set","record","usePatterns","categoryType"],"sources":["@wordpress/edit-site/src/components/page-patterns/use-patterns.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport createSelector from 'rememo';\n\n/**\n * WordPress dependencies\n */\nimport { parse } from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as editorStore } from '@wordpress/editor';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { filterOutDuplicatesByName } from './utils';\nimport {\n\tPATTERN_CORE_SOURCES,\n\tPATTERN_TYPES,\n\tPATTERN_SYNC_TYPES,\n\tTEMPLATE_PART_POST_TYPE,\n\tTEMPLATE_ORIGINS,\n\tTEMPLATE_PART_AREA_DEFAULT_CATEGORY,\n} from '../../utils/constants';\nimport { unlock } from '../../lock-unlock';\nimport { searchItems } from './search-items';\nimport { store as editSiteStore } from '../../store';\n\nconst EMPTY_PATTERN_LIST = [];\n\nconst createTemplatePartId = ( theme, slug ) =>\n\ttheme && slug ? theme + '//' + slug : null;\n\nconst templatePartToPattern = ( templatePart ) => ( {\n\tblocks: parse( templatePart.content.raw, {\n\t\t__unstableSkipMigrationLogs: true,\n\t} ),\n\tcategories: [ templatePart.area ],\n\tdescription: templatePart.description || '',\n\tisCustom: templatePart.source === TEMPLATE_ORIGINS.custom,\n\tkeywords: templatePart.keywords || [],\n\tid: createTemplatePartId( templatePart.theme, templatePart.slug ),\n\tname: createTemplatePartId( templatePart.theme, templatePart.slug ),\n\ttitle: decodeEntities( templatePart.title.rendered ),\n\ttype: templatePart.type,\n\ttemplatePart,\n} );\n\nconst selectTemplatePartsAsPatterns = createSelector(\n\t( select, categoryId, search = '' ) => {\n\t\tconst { getEntityRecords, getIsResolving } = select( coreStore );\n\t\tconst { __experimentalGetDefaultTemplatePartAreas } =\n\t\t\tselect( editorStore );\n\t\tconst query = { per_page: -1 };\n\t\tconst rawTemplateParts =\n\t\t\tgetEntityRecords( 'postType', TEMPLATE_PART_POST_TYPE, query ) ??\n\t\t\tEMPTY_PATTERN_LIST;\n\t\tconst templateParts = rawTemplateParts.map( ( templatePart ) =>\n\t\t\ttemplatePartToPattern( templatePart )\n\t\t);\n\n\t\t// In the case where a custom template part area has been removed we need\n\t\t// the current list of areas to cross check against so orphaned template\n\t\t// parts can be treated as uncategorized.\n\t\tconst knownAreas = __experimentalGetDefaultTemplatePartAreas() || [];\n\t\tconst templatePartAreas = knownAreas.map( ( area ) => area.area );\n\n\t\tconst templatePartHasCategory = ( item, category ) => {\n\t\t\tif ( category !== TEMPLATE_PART_AREA_DEFAULT_CATEGORY ) {\n\t\t\t\treturn item.templatePart.area === category;\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\titem.templatePart.area === category ||\n\t\t\t\t! templatePartAreas.includes( item.templatePart.area )\n\t\t\t);\n\t\t};\n\n\t\tconst isResolving = getIsResolving( 'getEntityRecords', [\n\t\t\t'postType',\n\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\tquery,\n\t\t] );\n\n\t\tconst patterns = searchItems( templateParts, search, {\n\t\t\tcategoryId,\n\t\t\thasCategory: templatePartHasCategory,\n\t\t} );\n\n\t\treturn { patterns, isResolving };\n\t},\n\t( select ) => [\n\t\tselect( coreStore ).getEntityRecords(\n\t\t\t'postType',\n\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\t{\n\t\t\t\tper_page: -1,\n\t\t\t}\n\t\t),\n\t\tselect( coreStore ).getIsResolving( 'getEntityRecords', [\n\t\t\t'postType',\n\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\t{ per_page: -1 },\n\t\t] ),\n\t\tselect( editorStore ).__experimentalGetDefaultTemplatePartAreas(),\n\t]\n);\n\nconst selectThemePatterns = createSelector(\n\t( select ) => {\n\t\tconst { getSettings } = unlock( select( editSiteStore ) );\n\t\tconst settings = getSettings();\n\t\tconst blockPatterns =\n\t\t\tsettings.__experimentalAdditionalBlockPatterns ??\n\t\t\tsettings.__experimentalBlockPatterns;\n\n\t\tconst restBlockPatterns = select( coreStore ).getBlockPatterns();\n\n\t\tconst patterns = [\n\t\t\t...( blockPatterns || [] ),\n\t\t\t...( restBlockPatterns || [] ),\n\t\t]\n\t\t\t.filter(\n\t\t\t\t( pattern ) => ! PATTERN_CORE_SOURCES.includes( pattern.source )\n\t\t\t)\n\t\t\t.filter( filterOutDuplicatesByName )\n\t\t\t.filter( ( pattern ) => pattern.inserter !== false )\n\t\t\t.map( ( pattern ) => ( {\n\t\t\t\t...pattern,\n\t\t\t\tkeywords: pattern.keywords || [],\n\t\t\t\ttype: PATTERN_TYPES.theme,\n\t\t\t\tblocks: parse( pattern.content, {\n\t\t\t\t\t__unstableSkipMigrationLogs: true,\n\t\t\t\t} ),\n\t\t\t} ) );\n\n\t\treturn { patterns, isResolving: false };\n\t},\n\t( select ) => [\n\t\tselect( coreStore ).getBlockPatterns(),\n\t\tunlock( select( editSiteStore ) ).getSettings(),\n\t]\n);\n\nconst selectPatterns = createSelector(\n\t( select, categoryId, syncStatus, search = '' ) => {\n\t\tconst { patterns: themePatterns } = selectThemePatterns( select );\n\t\tconst { patterns: userPatterns } = selectUserPatterns( select );\n\n\t\tlet patterns = [\n\t\t\t...( themePatterns || [] ),\n\t\t\t...( userPatterns || [] ),\n\t\t];\n\n\t\tif ( syncStatus ) {\n\t\t\t// User patterns can have their sync statuses checked directly\n\t\t\t// Non-user patterns are all unsynced for the time being.\n\t\t\tpatterns = patterns.filter( ( pattern ) => {\n\t\t\t\treturn pattern.id\n\t\t\t\t\t? pattern.syncStatus === syncStatus\n\t\t\t\t\t: syncStatus === PATTERN_SYNC_TYPES.unsynced;\n\t\t\t} );\n\t\t}\n\n\t\tif ( categoryId ) {\n\t\t\tpatterns = searchItems( patterns, search, {\n\t\t\t\tcategoryId,\n\t\t\t\thasCategory: ( item, currentCategory ) =>\n\t\t\t\t\titem.categories?.includes( currentCategory ),\n\t\t\t} );\n\t\t} else {\n\t\t\tpatterns = searchItems( patterns, search, {\n\t\t\t\thasCategory: ( item ) => ! item.hasOwnProperty( 'categories' ),\n\t\t\t} );\n\t\t}\n\t\treturn { patterns, isResolving: false };\n\t},\n\t( select ) => [\n\t\tselectThemePatterns( select ),\n\t\tselectUserPatterns( select ),\n\t]\n);\n\nconst patternBlockToPattern = ( patternBlock, categories ) => ( {\n\tblocks: parse( patternBlock.content.raw, {\n\t\t__unstableSkipMigrationLogs: true,\n\t} ),\n\t...( patternBlock.wp_pattern_category.length > 0 && {\n\t\tcategories: patternBlock.wp_pattern_category.map(\n\t\t\t( patternCategoryId ) =>\n\t\t\t\tcategories && categories.get( patternCategoryId )\n\t\t\t\t\t? categories.get( patternCategoryId ).slug\n\t\t\t\t\t: patternCategoryId\n\t\t),\n\t} ),\n\tid: patternBlock.id,\n\tname: patternBlock.slug,\n\tsyncStatus: patternBlock.wp_pattern_sync_status || PATTERN_SYNC_TYPES.full,\n\ttitle: patternBlock.title.raw,\n\ttype: PATTERN_TYPES.user,\n\tpatternBlock,\n} );\n\nconst selectUserPatterns = createSelector(\n\t( select, syncStatus, search = '' ) => {\n\t\tconst { getEntityRecords, getIsResolving, getUserPatternCategories } =\n\t\t\tselect( coreStore );\n\n\t\tconst query = { per_page: -1 };\n\t\tconst records = getEntityRecords(\n\t\t\t'postType',\n\t\t\tPATTERN_TYPES.user,\n\t\t\tquery\n\t\t);\n\t\tconst userPatternCategories = getUserPatternCategories();\n\t\tconst categories = new Map();\n\t\tuserPatternCategories.forEach( ( userCategory ) =>\n\t\t\tcategories.set( userCategory.id, userCategory )\n\t\t);\n\t\tlet patterns = records\n\t\t\t? records.map( ( record ) =>\n\t\t\t\t\tpatternBlockToPattern( record, categories )\n\t\t\t )\n\t\t\t: EMPTY_PATTERN_LIST;\n\n\t\tconst isResolving = getIsResolving( 'getEntityRecords', [\n\t\t\t'postType',\n\t\t\tPATTERN_TYPES.user,\n\t\t\tquery,\n\t\t] );\n\n\t\tif ( syncStatus ) {\n\t\t\tpatterns = patterns.filter(\n\t\t\t\t( pattern ) => pattern.syncStatus === syncStatus\n\t\t\t);\n\t\t}\n\n\t\tpatterns = searchItems( patterns, search, {\n\t\t\t// We exit user pattern retrieval early if we aren't in the\n\t\t\t// catch-all category for user created patterns, so it has\n\t\t\t// to be in the category.\n\t\t\thasCategory: () => true,\n\t\t} );\n\n\t\treturn {\n\t\t\tpatterns,\n\t\t\tisResolving,\n\t\t\tcategories: userPatternCategories,\n\t\t};\n\t},\n\t( select ) => [\n\t\tselect( coreStore ).getEntityRecords( 'postType', PATTERN_TYPES.user, {\n\t\t\tper_page: -1,\n\t\t} ),\n\t\tselect( coreStore ).getIsResolving( 'getEntityRecords', [\n\t\t\t'postType',\n\t\t\tPATTERN_TYPES.user,\n\t\t\t{ per_page: -1 },\n\t\t] ),\n\t\tselect( coreStore ).getUserPatternCategories(),\n\t]\n);\n\nexport const usePatterns = (\n\tcategoryType,\n\tcategoryId,\n\t{ search = '', syncStatus } = {}\n) => {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tif ( categoryType === TEMPLATE_PART_POST_TYPE ) {\n\t\t\t\treturn selectTemplatePartsAsPatterns(\n\t\t\t\t\tselect,\n\t\t\t\t\tcategoryId,\n\t\t\t\t\tsearch\n\t\t\t\t);\n\t\t\t} else if ( categoryType === PATTERN_TYPES.theme ) {\n\t\t\t\treturn selectPatterns( select, categoryId, syncStatus, search );\n\t\t\t} else if ( categoryType === PATTERN_TYPES.user ) {\n\t\t\t\treturn selectUserPatterns( select, syncStatus, search );\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tpatterns: EMPTY_PATTERN_LIST,\n\t\t\t\tisResolving: false,\n\t\t\t};\n\t\t},\n\t\t[ categoryId, categoryType, search, syncStatus ]\n\t);\n};\n\nexport default usePatterns;\n"],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@ import { VisuallyHidden, __experimentalHeading as Heading, __experimentalVStack
|
|
|
6
6
|
import { __ } from '@wordpress/i18n';
|
|
7
7
|
import { useEntityRecords } from '@wordpress/core-data';
|
|
8
8
|
import { decodeEntities } from '@wordpress/html-entities';
|
|
9
|
+
import { privateApis as routerPrivateApis } from '@wordpress/router';
|
|
9
10
|
|
|
10
11
|
/**
|
|
11
12
|
* Internal dependencies
|
|
@@ -17,7 +18,16 @@ import AddedBy from '../list/added-by';
|
|
|
17
18
|
import TemplateActions from '../template-actions';
|
|
18
19
|
import AddNewTemplatePart from './add-new-template-part';
|
|
19
20
|
import { TEMPLATE_PART_POST_TYPE } from '../../utils/constants';
|
|
21
|
+
import { unlock } from '../../lock-unlock';
|
|
22
|
+
const {
|
|
23
|
+
useLocation
|
|
24
|
+
} = unlock(routerPrivateApis);
|
|
20
25
|
export default function PageTemplateParts() {
|
|
26
|
+
const {
|
|
27
|
+
params: {
|
|
28
|
+
didAccessPatternsPage
|
|
29
|
+
}
|
|
30
|
+
} = useLocation();
|
|
21
31
|
const {
|
|
22
32
|
records: templateParts
|
|
23
33
|
} = useEntityRecords('postType', TEMPLATE_PART_POST_TYPE, {
|
|
@@ -31,7 +41,8 @@ export default function PageTemplateParts() {
|
|
|
31
41
|
}, createElement(Link, {
|
|
32
42
|
params: {
|
|
33
43
|
postId: templatePart.id,
|
|
34
|
-
postType: templatePart.type
|
|
44
|
+
postType: templatePart.type,
|
|
45
|
+
didAccessPatternsPage: !!didAccessPatternsPage ? 1 : undefined
|
|
35
46
|
},
|
|
36
47
|
state: {
|
|
37
48
|
backPath: '/wp_template_part/all'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["VisuallyHidden","__experimentalHeading","Heading","__experimentalVStack","VStack","__","useEntityRecords","decodeEntities","Page","Table","Link","AddedBy","TemplateActions","AddNewTemplatePart","TEMPLATE_PART_POST_TYPE","PageTemplateParts","records","templateParts","per_page","columns","header","cell","templatePart","createElement","as","level","
|
|
1
|
+
{"version":3,"names":["VisuallyHidden","__experimentalHeading","Heading","__experimentalVStack","VStack","__","useEntityRecords","decodeEntities","privateApis","routerPrivateApis","Page","Table","Link","AddedBy","TemplateActions","AddNewTemplatePart","TEMPLATE_PART_POST_TYPE","unlock","useLocation","PageTemplateParts","params","didAccessPatternsPage","records","templateParts","per_page","columns","header","cell","templatePart","createElement","as","level","postId","id","postType","type","undefined","state","backPath","title","rendered","slug","maxWidth","actions","data"],"sources":["@wordpress/edit-site/src/components/page-template-parts/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tVisuallyHidden,\n\t__experimentalHeading as Heading,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport Page from '../page';\nimport Table from '../table';\nimport Link from '../routes/link';\nimport AddedBy from '../list/added-by';\nimport TemplateActions from '../template-actions';\nimport AddNewTemplatePart from './add-new-template-part';\nimport { TEMPLATE_PART_POST_TYPE } from '../../utils/constants';\nimport { unlock } from '../../lock-unlock';\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nexport default function PageTemplateParts() {\n\tconst {\n\t\tparams: { didAccessPatternsPage },\n\t} = useLocation();\n\n\tconst { records: templateParts } = useEntityRecords(\n\t\t'postType',\n\t\tTEMPLATE_PART_POST_TYPE,\n\t\t{\n\t\t\tper_page: -1,\n\t\t}\n\t);\n\n\tconst columns = [\n\t\t{\n\t\t\theader: __( 'Template Part' ),\n\t\t\tcell: ( templatePart ) => (\n\t\t\t\t<VStack>\n\t\t\t\t\t<Heading as=\"h3\" level={ 5 }>\n\t\t\t\t\t\t<Link\n\t\t\t\t\t\t\tparams={ {\n\t\t\t\t\t\t\t\tpostId: templatePart.id,\n\t\t\t\t\t\t\t\tpostType: templatePart.type,\n\t\t\t\t\t\t\t\tdidAccessPatternsPage: !! didAccessPatternsPage\n\t\t\t\t\t\t\t\t\t? 1\n\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tstate={ {\n\t\t\t\t\t\t\t\tbackPath: '/wp_template_part/all',\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ decodeEntities(\n\t\t\t\t\t\t\t\ttemplatePart.title?.rendered ||\n\t\t\t\t\t\t\t\t\ttemplatePart.slug\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Link>\n\t\t\t\t\t</Heading>\n\t\t\t\t</VStack>\n\t\t\t),\n\t\t\tmaxWidth: 400,\n\t\t},\n\t\t{\n\t\t\theader: __( 'Added by' ),\n\t\t\tcell: ( templatePart ) => (\n\t\t\t\t<AddedBy\n\t\t\t\t\tpostType={ templatePart.type }\n\t\t\t\t\tpostId={ templatePart.id }\n\t\t\t\t/>\n\t\t\t),\n\t\t},\n\t\t{\n\t\t\theader: <VisuallyHidden>{ __( 'Actions' ) }</VisuallyHidden>,\n\t\t\tcell: ( templatePart ) => (\n\t\t\t\t<TemplateActions\n\t\t\t\t\tpostType={ templatePart.type }\n\t\t\t\t\tpostId={ templatePart.id }\n\t\t\t\t/>\n\t\t\t),\n\t\t},\n\t];\n\n\treturn (\n\t\t<Page\n\t\t\ttitle={ __( 'Template Parts' ) }\n\t\t\tactions={ <AddNewTemplatePart /> }\n\t\t>\n\t\t\t{ templateParts && (\n\t\t\t\t<Table data={ templateParts } columns={ columns } />\n\t\t\t) }\n\t\t</Page>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SACCA,cAAc,EACdC,qBAAqB,IAAIC,OAAO,EAChCC,oBAAoB,IAAIC,MAAM,QACxB,uBAAuB;AAC9B,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,gBAAgB,QAAQ,sBAAsB;AACvD,SAASC,cAAc,QAAQ,0BAA0B;AACzD,SAASC,WAAW,IAAIC,iBAAiB,QAAQ,mBAAmB;;AAEpE;AACA;AACA;AACA,OAAOC,IAAI,MAAM,SAAS;AAC1B,OAAOC,KAAK,MAAM,UAAU;AAC5B,OAAOC,IAAI,MAAM,gBAAgB;AACjC,OAAOC,OAAO,MAAM,kBAAkB;AACtC,OAAOC,eAAe,MAAM,qBAAqB;AACjD,OAAOC,kBAAkB,MAAM,yBAAyB;AACxD,SAASC,uBAAuB,QAAQ,uBAAuB;AAC/D,SAASC,MAAM,QAAQ,mBAAmB;AAE1C,MAAM;EAAEC;AAAY,CAAC,GAAGD,MAAM,CAAER,iBAAkB,CAAC;AAEnD,eAAe,SAASU,iBAAiBA,CAAA,EAAG;EAC3C,MAAM;IACLC,MAAM,EAAE;MAAEC;IAAsB;EACjC,CAAC,GAAGH,WAAW,CAAC,CAAC;EAEjB,MAAM;IAAEI,OAAO,EAAEC;EAAc,CAAC,GAAGjB,gBAAgB,CAClD,UAAU,EACVU,uBAAuB,EACvB;IACCQ,QAAQ,EAAE,CAAC;EACZ,CACD,CAAC;EAED,MAAMC,OAAO,GAAG,CACf;IACCC,MAAM,EAAErB,EAAE,CAAE,eAAgB,CAAC;IAC7BsB,IAAI,EAAIC,YAAY,IACnBC,aAAA,CAACzB,MAAM,QACNyB,aAAA,CAAC3B,OAAO;MAAC4B,EAAE,EAAC,IAAI;MAACC,KAAK,EAAG;IAAG,GAC3BF,aAAA,CAACjB,IAAI;MACJQ,MAAM,EAAG;QACRY,MAAM,EAAEJ,YAAY,CAACK,EAAE;QACvBC,QAAQ,EAAEN,YAAY,CAACO,IAAI;QAC3Bd,qBAAqB,EAAE,CAAC,CAAEA,qBAAqB,GAC5C,CAAC,GACDe;MACJ,CAAG;MACHC,KAAK,EAAG;QACPC,QAAQ,EAAE;MACX;IAAG,GAED/B,cAAc,CACfqB,YAAY,CAACW,KAAK,EAAEC,QAAQ,IAC3BZ,YAAY,CAACa,IACf,CACK,CACE,CACF,CACR;IACDC,QAAQ,EAAE;EACX,CAAC,EACD;IACChB,MAAM,EAAErB,EAAE,CAAE,UAAW,CAAC;IACxBsB,IAAI,EAAIC,YAAY,IACnBC,aAAA,CAAChB,OAAO;MACPqB,QAAQ,EAAGN,YAAY,CAACO,IAAM;MAC9BH,MAAM,EAAGJ,YAAY,CAACK;IAAI,CAC1B;EAEH,CAAC,EACD;IACCP,MAAM,EAAEG,aAAA,CAAC7B,cAAc,QAAGK,EAAE,CAAE,SAAU,CAAmB,CAAC;IAC5DsB,IAAI,EAAIC,YAAY,IACnBC,aAAA,CAACf,eAAe;MACfoB,QAAQ,EAAGN,YAAY,CAACO,IAAM;MAC9BH,MAAM,EAAGJ,YAAY,CAACK;IAAI,CAC1B;EAEH,CAAC,CACD;EAED,OACCJ,aAAA,CAACnB,IAAI;IACJ6B,KAAK,EAAGlC,EAAE,CAAE,gBAAiB,CAAG;IAChCsC,OAAO,EAAGd,aAAA,CAACd,kBAAkB,MAAE;EAAG,GAEhCQ,aAAa,IACdM,aAAA,CAAClB,KAAK;IAACiC,IAAI,EAAGrB,aAAe;IAACE,OAAO,EAAGA;EAAS,CAAE,CAE/C,CAAC;AAET"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useDispatch","MenuGroup","MenuItem","__","useEntityRecord","useCurrentTemplateSlug","useEditedPostContext","useIsPostsPage","store","editSiteStore","ResetDefaultTemplate","onClick","currentTemplateSlug","isPostsPage","postType","postId","entity","setPage","createElement","edit","template","undoIgnore","context"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/page-panels/reset-default-template.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch } from '@wordpress/data';\nimport { MenuGroup, MenuItem } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useEntityRecord } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tuseCurrentTemplateSlug,\n\tuseEditedPostContext,\n\tuseIsPostsPage,\n} from './hooks';\nimport { store as editSiteStore } from '../../../store';\n\nexport default function ResetDefaultTemplate( { onClick } ) {\n\tconst currentTemplateSlug = useCurrentTemplateSlug();\n\tconst isPostsPage = useIsPostsPage();\n\tconst { postType, postId } = useEditedPostContext();\n\tconst entity = useEntityRecord( 'postType', postType, postId );\n\tconst { setPage } = useDispatch( editSiteStore );\n\t// The default template in a post is indicated by an empty string.\n\tif ( ! currentTemplateSlug || isPostsPage ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<MenuGroup>\n\t\t\t<MenuItem\n\t\t\t\tonClick={ async () => {\n\t\t\t\t\tentity.edit( { template: '' }, { undoIgnore: true } );\n\t\t\t\t\tonClick();\n\t\t\t\t\tawait setPage( {\n\t\t\t\t\t\tcontext: { postType, postId },\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ __( '
|
|
1
|
+
{"version":3,"names":["useDispatch","MenuGroup","MenuItem","__","useEntityRecord","useCurrentTemplateSlug","useEditedPostContext","useIsPostsPage","store","editSiteStore","ResetDefaultTemplate","onClick","currentTemplateSlug","isPostsPage","postType","postId","entity","setPage","createElement","edit","template","undoIgnore","context"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/page-panels/reset-default-template.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch } from '@wordpress/data';\nimport { MenuGroup, MenuItem } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useEntityRecord } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tuseCurrentTemplateSlug,\n\tuseEditedPostContext,\n\tuseIsPostsPage,\n} from './hooks';\nimport { store as editSiteStore } from '../../../store';\n\nexport default function ResetDefaultTemplate( { onClick } ) {\n\tconst currentTemplateSlug = useCurrentTemplateSlug();\n\tconst isPostsPage = useIsPostsPage();\n\tconst { postType, postId } = useEditedPostContext();\n\tconst entity = useEntityRecord( 'postType', postType, postId );\n\tconst { setPage } = useDispatch( editSiteStore );\n\t// The default template in a post is indicated by an empty string.\n\tif ( ! currentTemplateSlug || isPostsPage ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<MenuGroup>\n\t\t\t<MenuItem\n\t\t\t\tonClick={ async () => {\n\t\t\t\t\tentity.edit( { template: '' }, { undoIgnore: true } );\n\t\t\t\t\tonClick();\n\t\t\t\t\tawait setPage( {\n\t\t\t\t\t\tcontext: { postType, postId },\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ __( 'Use default template' ) }\n\t\t\t</MenuItem>\n\t\t</MenuGroup>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,WAAW,QAAQ,iBAAiB;AAC7C,SAASC,SAAS,EAAEC,QAAQ,QAAQ,uBAAuB;AAC3D,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,eAAe,QAAQ,sBAAsB;;AAEtD;AACA;AACA;AACA,SACCC,sBAAsB,EACtBC,oBAAoB,EACpBC,cAAc,QACR,SAAS;AAChB,SAASC,KAAK,IAAIC,aAAa,QAAQ,gBAAgB;AAEvD,eAAe,SAASC,oBAAoBA,CAAE;EAAEC;AAAQ,CAAC,EAAG;EAC3D,MAAMC,mBAAmB,GAAGP,sBAAsB,CAAC,CAAC;EACpD,MAAMQ,WAAW,GAAGN,cAAc,CAAC,CAAC;EACpC,MAAM;IAAEO,QAAQ;IAAEC;EAAO,CAAC,GAAGT,oBAAoB,CAAC,CAAC;EACnD,MAAMU,MAAM,GAAGZ,eAAe,CAAE,UAAU,EAAEU,QAAQ,EAAEC,MAAO,CAAC;EAC9D,MAAM;IAAEE;EAAQ,CAAC,GAAGjB,WAAW,CAAES,aAAc,CAAC;EAChD;EACA,IAAK,CAAEG,mBAAmB,IAAIC,WAAW,EAAG;IAC3C,OAAO,IAAI;EACZ;EACA,OACCK,aAAA,CAACjB,SAAS,QACTiB,aAAA,CAAChB,QAAQ;IACRS,OAAO,EAAG,MAAAA,CAAA,KAAY;MACrBK,MAAM,CAACG,IAAI,CAAE;QAAEC,QAAQ,EAAE;MAAG,CAAC,EAAE;QAAEC,UAAU,EAAE;MAAK,CAAE,CAAC;MACrDV,OAAO,CAAC,CAAC;MACT,MAAMM,OAAO,CAAE;QACdK,OAAO,EAAE;UAAER,QAAQ;UAAEC;QAAO;MAC7B,CAAE,CAAC;IACJ;EAAG,GAEDZ,EAAE,CAAE,sBAAuB,CACpB,CACA,CAAC;AAEd"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* WordPress dependencies
|
|
3
|
+
*/
|
|
4
|
+
import { useSelect } from '@wordpress/data';
|
|
5
|
+
import { useMemo } from '@wordpress/element';
|
|
6
|
+
import { store as coreStore } from '@wordpress/core-data';
|
|
7
|
+
import { parse } from '@wordpress/blocks';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Internal dependencies
|
|
11
|
+
*/
|
|
12
|
+
import { store as editSiteStore } from '../../../store';
|
|
13
|
+
import { PATTERN_CORE_SOURCES, PATTERN_TYPES } from '../../../utils/constants';
|
|
14
|
+
import { unlock } from '../../../lock-unlock';
|
|
15
|
+
function injectThemeAttributeInBlockTemplateContent(block, currentThemeStylesheet) {
|
|
16
|
+
block.innerBlocks = block.innerBlocks.map(innerBlock => {
|
|
17
|
+
return injectThemeAttributeInBlockTemplateContent(innerBlock, currentThemeStylesheet);
|
|
18
|
+
});
|
|
19
|
+
if (block.name === 'core/template-part' && block.attributes.theme === undefined) {
|
|
20
|
+
block.attributes.theme = currentThemeStylesheet;
|
|
21
|
+
}
|
|
22
|
+
return block;
|
|
23
|
+
}
|
|
24
|
+
function preparePatterns(patterns, template, currentThemeStylesheet) {
|
|
25
|
+
// Filter out duplicates.
|
|
26
|
+
const filterOutDuplicatesByName = (currentItem, index, items) => index === items.findIndex(item => currentItem.name === item.name);
|
|
27
|
+
|
|
28
|
+
// Filter out core patterns.
|
|
29
|
+
const filterOutCorePatterns = pattern => !PATTERN_CORE_SOURCES.includes(pattern.source);
|
|
30
|
+
|
|
31
|
+
// Filter only the patterns that are compatible with the current template.
|
|
32
|
+
const filterCompatiblePatterns = pattern => pattern.templateTypes?.includes(template.slug);
|
|
33
|
+
return patterns.filter(filterOutCorePatterns && filterOutDuplicatesByName && filterCompatiblePatterns).map(pattern => ({
|
|
34
|
+
...pattern,
|
|
35
|
+
keywords: pattern.keywords || [],
|
|
36
|
+
type: PATTERN_TYPES.theme,
|
|
37
|
+
blocks: parse(pattern.content, {
|
|
38
|
+
__unstableSkipMigrationLogs: true
|
|
39
|
+
}).map(block => injectThemeAttributeInBlockTemplateContent(block, currentThemeStylesheet))
|
|
40
|
+
}));
|
|
41
|
+
}
|
|
42
|
+
export function useAvailablePatterns(template) {
|
|
43
|
+
const {
|
|
44
|
+
blockPatterns,
|
|
45
|
+
restBlockPatterns,
|
|
46
|
+
currentThemeStylesheet
|
|
47
|
+
} = useSelect(select => {
|
|
48
|
+
var _settings$__experimen;
|
|
49
|
+
const {
|
|
50
|
+
getSettings
|
|
51
|
+
} = unlock(select(editSiteStore));
|
|
52
|
+
const settings = getSettings();
|
|
53
|
+
return {
|
|
54
|
+
blockPatterns: (_settings$__experimen = settings.__experimentalAdditionalBlockPatterns) !== null && _settings$__experimen !== void 0 ? _settings$__experimen : settings.__experimentalBlockPatterns,
|
|
55
|
+
restBlockPatterns: select(coreStore).getBlockPatterns(),
|
|
56
|
+
currentThemeStylesheet: select(coreStore).getCurrentTheme().stylesheet
|
|
57
|
+
};
|
|
58
|
+
}, []);
|
|
59
|
+
return useMemo(() => {
|
|
60
|
+
const mergedPatterns = [...(blockPatterns || []), ...(restBlockPatterns || [])];
|
|
61
|
+
return preparePatterns(mergedPatterns, template, currentThemeStylesheet);
|
|
62
|
+
}, [blockPatterns, restBlockPatterns, template, currentThemeStylesheet]);
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=hooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useSelect","useMemo","store","coreStore","parse","editSiteStore","PATTERN_CORE_SOURCES","PATTERN_TYPES","unlock","injectThemeAttributeInBlockTemplateContent","block","currentThemeStylesheet","innerBlocks","map","innerBlock","name","attributes","theme","undefined","preparePatterns","patterns","template","filterOutDuplicatesByName","currentItem","index","items","findIndex","item","filterOutCorePatterns","pattern","includes","source","filterCompatiblePatterns","templateTypes","slug","filter","keywords","type","blocks","content","__unstableSkipMigrationLogs","useAvailablePatterns","blockPatterns","restBlockPatterns","select","_settings$__experimen","getSettings","settings","__experimentalAdditionalBlockPatterns","__experimentalBlockPatterns","getBlockPatterns","getCurrentTheme","stylesheet","mergedPatterns"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/template-panel/hooks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { parse } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../../store';\nimport { PATTERN_CORE_SOURCES, PATTERN_TYPES } from '../../../utils/constants';\nimport { unlock } from '../../../lock-unlock';\n\nfunction injectThemeAttributeInBlockTemplateContent(\n\tblock,\n\tcurrentThemeStylesheet\n) {\n\tblock.innerBlocks = block.innerBlocks.map( ( innerBlock ) => {\n\t\treturn injectThemeAttributeInBlockTemplateContent(\n\t\t\tinnerBlock,\n\t\t\tcurrentThemeStylesheet\n\t\t);\n\t} );\n\n\tif (\n\t\tblock.name === 'core/template-part' &&\n\t\tblock.attributes.theme === undefined\n\t) {\n\t\tblock.attributes.theme = currentThemeStylesheet;\n\t}\n\treturn block;\n}\n\nfunction preparePatterns( patterns, template, currentThemeStylesheet ) {\n\t// Filter out duplicates.\n\tconst filterOutDuplicatesByName = ( currentItem, index, items ) =>\n\t\tindex === items.findIndex( ( item ) => currentItem.name === item.name );\n\n\t// Filter out core patterns.\n\tconst filterOutCorePatterns = ( pattern ) =>\n\t\t! PATTERN_CORE_SOURCES.includes( pattern.source );\n\n\t// Filter only the patterns that are compatible with the current template.\n\tconst filterCompatiblePatterns = ( pattern ) =>\n\t\tpattern.templateTypes?.includes( template.slug );\n\n\treturn patterns\n\t\t.filter(\n\t\t\tfilterOutCorePatterns &&\n\t\t\t\tfilterOutDuplicatesByName &&\n\t\t\t\tfilterCompatiblePatterns\n\t\t)\n\t\t.map( ( pattern ) => ( {\n\t\t\t...pattern,\n\t\t\tkeywords: pattern.keywords || [],\n\t\t\ttype: PATTERN_TYPES.theme,\n\t\t\tblocks: parse( pattern.content, {\n\t\t\t\t__unstableSkipMigrationLogs: true,\n\t\t\t} ).map( ( block ) =>\n\t\t\t\tinjectThemeAttributeInBlockTemplateContent(\n\t\t\t\t\tblock,\n\t\t\t\t\tcurrentThemeStylesheet\n\t\t\t\t)\n\t\t\t),\n\t\t} ) );\n}\n\nexport function useAvailablePatterns( template ) {\n\tconst { blockPatterns, restBlockPatterns, currentThemeStylesheet } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst { getSettings } = unlock( select( editSiteStore ) );\n\t\t\tconst settings = getSettings();\n\n\t\t\treturn {\n\t\t\t\tblockPatterns:\n\t\t\t\t\tsettings.__experimentalAdditionalBlockPatterns ??\n\t\t\t\t\tsettings.__experimentalBlockPatterns,\n\t\t\t\trestBlockPatterns: select( coreStore ).getBlockPatterns(),\n\t\t\t\tcurrentThemeStylesheet:\n\t\t\t\t\tselect( coreStore ).getCurrentTheme().stylesheet,\n\t\t\t};\n\t\t}, [] );\n\n\treturn useMemo( () => {\n\t\tconst mergedPatterns = [\n\t\t\t...( blockPatterns || [] ),\n\t\t\t...( restBlockPatterns || [] ),\n\t\t];\n\t\treturn preparePatterns(\n\t\t\tmergedPatterns,\n\t\t\ttemplate,\n\t\t\tcurrentThemeStylesheet\n\t\t);\n\t}, [ blockPatterns, restBlockPatterns, template, currentThemeStylesheet ] );\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,OAAO,QAAQ,oBAAoB;AAC5C,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;AACzD,SAASC,KAAK,QAAQ,mBAAmB;;AAEzC;AACA;AACA;AACA,SAASF,KAAK,IAAIG,aAAa,QAAQ,gBAAgB;AACvD,SAASC,oBAAoB,EAAEC,aAAa,QAAQ,0BAA0B;AAC9E,SAASC,MAAM,QAAQ,sBAAsB;AAE7C,SAASC,0CAA0CA,CAClDC,KAAK,EACLC,sBAAsB,EACrB;EACDD,KAAK,CAACE,WAAW,GAAGF,KAAK,CAACE,WAAW,CAACC,GAAG,CAAIC,UAAU,IAAM;IAC5D,OAAOL,0CAA0C,CAChDK,UAAU,EACVH,sBACD,CAAC;EACF,CAAE,CAAC;EAEH,IACCD,KAAK,CAACK,IAAI,KAAK,oBAAoB,IACnCL,KAAK,CAACM,UAAU,CAACC,KAAK,KAAKC,SAAS,EACnC;IACDR,KAAK,CAACM,UAAU,CAACC,KAAK,GAAGN,sBAAsB;EAChD;EACA,OAAOD,KAAK;AACb;AAEA,SAASS,eAAeA,CAAEC,QAAQ,EAAEC,QAAQ,EAAEV,sBAAsB,EAAG;EACtE;EACA,MAAMW,yBAAyB,GAAGA,CAAEC,WAAW,EAAEC,KAAK,EAAEC,KAAK,KAC5DD,KAAK,KAAKC,KAAK,CAACC,SAAS,CAAIC,IAAI,IAAMJ,WAAW,CAACR,IAAI,KAAKY,IAAI,CAACZ,IAAK,CAAC;;EAExE;EACA,MAAMa,qBAAqB,GAAKC,OAAO,IACtC,CAAEvB,oBAAoB,CAACwB,QAAQ,CAAED,OAAO,CAACE,MAAO,CAAC;;EAElD;EACA,MAAMC,wBAAwB,GAAKH,OAAO,IACzCA,OAAO,CAACI,aAAa,EAAEH,QAAQ,CAAET,QAAQ,CAACa,IAAK,CAAC;EAEjD,OAAOd,QAAQ,CACbe,MAAM,CACNP,qBAAqB,IACpBN,yBAAyB,IACzBU,wBACF,CAAC,CACAnB,GAAG,CAAIgB,OAAO,KAAQ;IACtB,GAAGA,OAAO;IACVO,QAAQ,EAAEP,OAAO,CAACO,QAAQ,IAAI,EAAE;IAChCC,IAAI,EAAE9B,aAAa,CAACU,KAAK;IACzBqB,MAAM,EAAElC,KAAK,CAAEyB,OAAO,CAACU,OAAO,EAAE;MAC/BC,2BAA2B,EAAE;IAC9B,CAAE,CAAC,CAAC3B,GAAG,CAAIH,KAAK,IACfD,0CAA0C,CACzCC,KAAK,EACLC,sBACD,CACD;EACD,CAAC,CAAG,CAAC;AACP;AAEA,OAAO,SAAS8B,oBAAoBA,CAAEpB,QAAQ,EAAG;EAChD,MAAM;IAAEqB,aAAa;IAAEC,iBAAiB;IAAEhC;EAAuB,CAAC,GACjEX,SAAS,CAAI4C,MAAM,IAAM;IAAA,IAAAC,qBAAA;IACxB,MAAM;MAAEC;IAAY,CAAC,GAAGtC,MAAM,CAAEoC,MAAM,CAAEvC,aAAc,CAAE,CAAC;IACzD,MAAM0C,QAAQ,GAAGD,WAAW,CAAC,CAAC;IAE9B,OAAO;MACNJ,aAAa,GAAAG,qBAAA,GACZE,QAAQ,CAACC,qCAAqC,cAAAH,qBAAA,cAAAA,qBAAA,GAC9CE,QAAQ,CAACE,2BAA2B;MACrCN,iBAAiB,EAAEC,MAAM,CAAEzC,SAAU,CAAC,CAAC+C,gBAAgB,CAAC,CAAC;MACzDvC,sBAAsB,EACrBiC,MAAM,CAAEzC,SAAU,CAAC,CAACgD,eAAe,CAAC,CAAC,CAACC;IACxC,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAER,OAAOnD,OAAO,CAAE,MAAM;IACrB,MAAMoD,cAAc,GAAG,CACtB,IAAKX,aAAa,IAAI,EAAE,CAAE,EAC1B,IAAKC,iBAAiB,IAAI,EAAE,CAAE,CAC9B;IACD,OAAOxB,eAAe,CACrBkC,cAAc,EACdhC,QAAQ,EACRV,sBACD,CAAC;EACF,CAAC,EAAE,CAAE+B,aAAa,EAAEC,iBAAiB,EAAEtB,QAAQ,EAAEV,sBAAsB,CAAG,CAAC;AAC5E"}
|
|
@@ -4,7 +4,7 @@ import { createElement } from "@wordpress/element";
|
|
|
4
4
|
*/
|
|
5
5
|
import { __, _x, sprintf } from '@wordpress/i18n';
|
|
6
6
|
import { useEffect, useMemo, useState } from '@wordpress/element';
|
|
7
|
-
import { FormTokenField, PanelRow } from '@wordpress/components';
|
|
7
|
+
import { FormTokenField, FlexBlock, PanelRow } from '@wordpress/components';
|
|
8
8
|
import { useSelect, useDispatch } from '@wordpress/data';
|
|
9
9
|
import { store as coreStore } from '@wordpress/core-data';
|
|
10
10
|
import { useDebounce } from '@wordpress/compose';
|
|
@@ -190,7 +190,7 @@ export default function PatternCategories({
|
|
|
190
190
|
return createElement(PanelRow, {
|
|
191
191
|
initialOpen: true,
|
|
192
192
|
title: __('Categories')
|
|
193
|
-
}, createElement(FormTokenField, {
|
|
193
|
+
}, createElement(FlexBlock, null, createElement(FormTokenField, {
|
|
194
194
|
__next40pxDefaultSize: true,
|
|
195
195
|
value: values,
|
|
196
196
|
suggestions: suggestions,
|
|
@@ -204,6 +204,6 @@ export default function PatternCategories({
|
|
|
204
204
|
remove: removeTermLabel
|
|
205
205
|
},
|
|
206
206
|
tokenizeOnBlur: true
|
|
207
|
-
}));
|
|
207
|
+
})));
|
|
208
208
|
}
|
|
209
209
|
//# sourceMappingURL=pattern-categories.js.map
|