@wordpress/edit-site 5.18.1-next.5a1d1283.0 → 5.19.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/build/components/add-new-pattern/index.js +62 -1
- package/build/components/add-new-pattern/index.js.map +1 -1
- package/build/components/add-new-template/index.js +3 -2
- package/build/components/add-new-template/index.js.map +1 -1
- package/build/components/add-new-template/new-template.js +6 -1
- package/build/components/add-new-template/new-template.js.map +1 -1
- package/build/components/add-new-template/utils.js +6 -1
- package/build/components/add-new-template/utils.js.map +1 -1
- package/build/components/app/index.js +2 -7
- package/build/components/app/index.js.map +1 -1
- package/build/components/block-editor/back-button.js +3 -2
- package/build/components/block-editor/back-button.js.map +1 -1
- package/build/components/block-editor/editor-canvas.js +20 -16
- package/build/components/block-editor/editor-canvas.js.map +1 -1
- package/build/components/block-editor/site-editor-canvas.js +1 -3
- package/build/components/block-editor/site-editor-canvas.js.map +1 -1
- package/build/components/block-editor/use-site-editor-settings.js +8 -4
- package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
- package/build/components/canvas-loader/index.js +18 -1
- package/build/components/canvas-loader/index.js.map +1 -1
- package/build/components/editor/index.js +3 -8
- package/build/components/editor/index.js.map +1 -1
- package/build/components/global-styles/dimensions-panel.js +5 -4
- package/build/components/global-styles/dimensions-panel.js.map +1 -1
- package/build/components/global-styles/font-families.js +68 -0
- package/build/components/global-styles/font-families.js.map +1 -0
- package/build/components/global-styles/font-family-item.js +47 -0
- package/build/components/global-styles/font-family-item.js.map +1 -0
- package/build/components/global-styles/font-library-modal/confirm-delete-dialog.js +31 -0
- package/build/components/global-styles/font-library-modal/confirm-delete-dialog.js.map +1 -0
- package/build/components/global-styles/font-library-modal/context.js +285 -0
- package/build/components/global-styles/font-library-modal/context.js.map +1 -0
- package/build/components/global-styles/font-library-modal/font-card.js +58 -0
- package/build/components/global-styles/font-library-modal/font-card.js.map +1 -0
- package/build/components/global-styles/font-library-modal/font-demo.js +69 -0
- package/build/components/global-styles/font-library-modal/font-demo.js.map +1 -0
- package/build/components/global-styles/font-library-modal/font-variant.js +51 -0
- package/build/components/global-styles/font-library-modal/font-variant.js.map +1 -0
- package/build/components/global-styles/font-library-modal/fonts-grid.js +54 -0
- package/build/components/global-styles/font-library-modal/fonts-grid.js.map +1 -0
- package/build/components/global-styles/font-library-modal/index.js +47 -0
- package/build/components/global-styles/font-library-modal/index.js.map +1 -0
- package/build/components/global-styles/font-library-modal/installed-fonts.js +128 -0
- package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -0
- package/build/components/global-styles/font-library-modal/library-font-card.js +44 -0
- package/build/components/global-styles/font-library-modal/library-font-card.js.map +1 -0
- package/build/components/global-styles/font-library-modal/library-font-details.js +43 -0
- package/build/components/global-styles/font-library-modal/library-font-details.js.map +1 -0
- package/build/components/global-styles/font-library-modal/library-font-variant.js +59 -0
- package/build/components/global-styles/font-library-modal/library-font-variant.js.map +1 -0
- package/build/components/global-styles/font-library-modal/local-fonts.js +143 -0
- package/build/components/global-styles/font-library-modal/local-fonts.js.map +1 -0
- package/build/components/global-styles/font-library-modal/resolvers.js +37 -0
- package/build/components/global-styles/font-library-modal/resolvers.js.map +1 -0
- package/build/components/global-styles/font-library-modal/tab-layout.js +45 -0
- package/build/components/global-styles/font-library-modal/tab-layout.js.map +1 -0
- package/build/components/global-styles/font-library-modal/utils/constants.js +37 -0
- package/build/components/global-styles/font-library-modal/utils/constants.js.map +1 -0
- package/build/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +58 -0
- package/build/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js.map +1 -0
- package/build/components/global-styles/font-library-modal/utils/index.js +205 -0
- package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -0
- package/build/components/global-styles/font-library-modal/utils/make-families-from-faces.js +22 -0
- package/build/components/global-styles/font-library-modal/utils/make-families-from-faces.js.map +1 -0
- package/build/components/global-styles/font-library-modal/utils/toggleFont.js +92 -0
- package/build/components/global-styles/font-library-modal/utils/toggleFont.js.map +1 -0
- package/build/components/global-styles/global-styles-provider.js +7 -12
- package/build/components/global-styles/global-styles-provider.js.map +1 -1
- package/build/components/global-styles/screen-block.js +34 -21
- package/build/components/global-styles/screen-block.js.map +1 -1
- package/build/components/global-styles/screen-revisions/index.js +1 -3
- package/build/components/global-styles/screen-revisions/index.js.map +1 -1
- package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js +0 -1
- package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
- package/build/components/global-styles/screen-typography.js +4 -72
- package/build/components/global-styles/screen-typography.js.map +1 -1
- package/build/components/global-styles/style-variations-container.js +3 -5
- package/build/components/global-styles/style-variations-container.js.map +1 -1
- package/build/components/global-styles/typogrphy-elements.js +96 -0
- package/build/components/global-styles/typogrphy-elements.js.map +1 -0
- package/build/components/page-patterns/duplicate-menu-item.js +52 -16
- package/build/components/page-patterns/duplicate-menu-item.js.map +1 -1
- package/build/components/page-patterns/grid-item.js +46 -20
- package/build/components/page-patterns/grid-item.js.map +1 -1
- package/build/components/page-patterns/header.js +3 -7
- package/build/components/page-patterns/header.js.map +1 -1
- package/build/components/page-patterns/index.js +3 -3
- package/build/components/page-patterns/index.js.map +1 -1
- package/build/components/page-patterns/patterns-list.js +7 -7
- package/build/components/page-patterns/patterns-list.js.map +1 -1
- package/build/components/page-patterns/rename-menu-item.js +6 -5
- package/build/components/page-patterns/rename-menu-item.js.map +1 -1
- package/build/components/page-patterns/search-items.js +8 -2
- package/build/components/page-patterns/search-items.js.map +1 -1
- package/build/components/page-patterns/use-patterns.js +53 -27
- package/build/components/page-patterns/use-patterns.js.map +1 -1
- package/build/components/page-patterns/utils.js +1 -20
- package/build/components/page-patterns/utils.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/edit-template.js +33 -24
- package/build/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/hooks.js +64 -0
- package/build/components/sidebar-edit-mode/page-panels/hooks.js.map +1 -0
- package/build/components/sidebar-edit-mode/page-panels/index.js +1 -4
- package/build/components/sidebar-edit-mode/page-panels/index.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/page-summary.js +2 -1
- package/build/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
- package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js +56 -0
- package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -0
- package/build/components/sidebar-edit-mode/page-panels/swap-template-button.js +91 -0
- package/build/components/sidebar-edit-mode/page-panels/swap-template-button.js.map +1 -0
- package/build/components/sidebar-edit-mode/template-panel/index.js +11 -9
- package/build/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
- package/build/components/sidebar-edit-mode/template-panel/last-revision.js +6 -4
- package/build/components/sidebar-edit-mode/template-panel/last-revision.js.map +1 -1
- package/build/components/sidebar-edit-mode/template-panel/pattern-categories.js +211 -0
- package/build/components/sidebar-edit-mode/template-panel/pattern-categories.js.map +1 -0
- package/build/components/sidebar-navigation-screen/index.js +6 -4
- package/build/components/sidebar-navigation-screen/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-details-footer/index.js +32 -4
- package/build/components/sidebar-navigation-screen-details-footer/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js +4 -2
- package/build/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js.map +1 -1
- package/build/components/sidebar-navigation-screen-global-styles/index.js +4 -31
- package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-page/index.js +3 -3
- package/build/components/sidebar-navigation-screen-page/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-pattern/index.js +18 -8
- package/build/components/sidebar-navigation-screen-pattern/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js +34 -5
- package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
- package/build/components/sidebar-navigation-screen-patterns/index.js +7 -35
- package/build/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +38 -4
- package/build/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
- package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +2 -1
- package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
- package/build/components/sidebar-navigation-screen-template/index.js +2 -2
- package/build/components/sidebar-navigation-screen-template/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-templates/index.js +1 -1
- package/build/components/sidebar-navigation-screen-templates/index.js.map +1 -1
- package/build/components/template-actions/index.js +7 -4
- package/build/components/template-actions/index.js.map +1 -1
- package/build/components/template-actions/rename-menu-item.js +3 -2
- package/build/components/template-actions/rename-menu-item.js.map +1 -1
- package/build/components/welcome-guide/styles.js +2 -2
- package/build/components/welcome-guide/styles.js.map +1 -1
- package/build/hooks/push-changes-to-global-styles/index.js +5 -37
- package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
- package/build/store/actions.js +29 -6
- package/build/store/actions.js.map +1 -1
- package/build/utils/constants.js +45 -2
- package/build/utils/constants.js.map +1 -1
- package/build/utils/is-template-removable.js +6 -1
- package/build/utils/is-template-removable.js.map +1 -1
- package/build/utils/is-template-revertable.js +6 -1
- package/build/utils/is-template-revertable.js.map +1 -1
- package/build-module/components/add-new-pattern/index.js +66 -5
- package/build-module/components/add-new-pattern/index.js.map +1 -1
- package/build-module/components/add-new-template/index.js +3 -2
- package/build-module/components/add-new-template/index.js.map +1 -1
- package/build-module/components/add-new-template/new-template.js +6 -1
- package/build-module/components/add-new-template/new-template.js.map +1 -1
- package/build-module/components/add-new-template/utils.js +6 -1
- package/build-module/components/add-new-template/utils.js.map +1 -1
- package/build-module/components/app/index.js +2 -7
- package/build-module/components/app/index.js.map +1 -1
- package/build-module/components/block-editor/back-button.js +3 -2
- package/build-module/components/block-editor/back-button.js.map +1 -1
- package/build-module/components/block-editor/editor-canvas.js +21 -17
- package/build-module/components/block-editor/editor-canvas.js.map +1 -1
- package/build-module/components/block-editor/site-editor-canvas.js +3 -5
- package/build-module/components/block-editor/site-editor-canvas.js.map +1 -1
- package/build-module/components/block-editor/use-site-editor-settings.js +8 -4
- package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
- package/build-module/components/canvas-loader/index.js +18 -1
- package/build-module/components/canvas-loader/index.js.map +1 -1
- package/build-module/components/editor/index.js +3 -8
- package/build-module/components/editor/index.js.map +1 -1
- package/build-module/components/global-styles/dimensions-panel.js +5 -4
- package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
- package/build-module/components/global-styles/font-families.js +58 -0
- package/build-module/components/global-styles/font-families.js.map +1 -0
- package/build-module/components/global-styles/font-family-item.js +40 -0
- package/build-module/components/global-styles/font-family-item.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/confirm-delete-dialog.js +23 -0
- package/build-module/components/global-styles/font-library-modal/confirm-delete-dialog.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/context.js +276 -0
- package/build-module/components/global-styles/font-library-modal/context.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/font-card.js +49 -0
- package/build-module/components/global-styles/font-library-modal/font-card.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/font-demo.js +62 -0
- package/build-module/components/global-styles/font-library-modal/font-demo.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/font-variant.js +42 -0
- package/build-module/components/global-styles/font-library-modal/font-variant.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/fonts-grid.js +47 -0
- package/build-module/components/global-styles/font-library-modal/fonts-grid.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/index.js +38 -0
- package/build-module/components/global-styles/font-library-modal/index.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/installed-fonts.js +120 -0
- package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/library-font-card.js +36 -0
- package/build-module/components/global-styles/font-library-modal/library-font-card.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/library-font-details.js +34 -0
- package/build-module/components/global-styles/font-library-modal/library-font-details.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/library-font-variant.js +50 -0
- package/build-module/components/global-styles/font-library-modal/library-font-variant.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/local-fonts.js +135 -0
- package/build-module/components/global-styles/font-library-modal/local-fonts.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/resolvers.js +28 -0
- package/build-module/components/global-styles/font-library-modal/resolvers.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/tab-layout.js +37 -0
- package/build-module/components/global-styles/font-library-modal/tab-layout.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/utils/constants.js +26 -0
- package/build-module/components/global-styles/font-library-modal/utils/constants.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +52 -0
- package/build-module/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/utils/index.js +190 -0
- package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/utils/make-families-from-faces.js +16 -0
- package/build-module/components/global-styles/font-library-modal/utils/make-families-from-faces.js.map +1 -0
- package/build-module/components/global-styles/font-library-modal/utils/toggleFont.js +86 -0
- package/build-module/components/global-styles/font-library-modal/utils/toggleFont.js.map +1 -0
- package/build-module/components/global-styles/global-styles-provider.js +7 -12
- package/build-module/components/global-styles/global-styles-provider.js.map +1 -1
- package/build-module/components/global-styles/screen-block.js +34 -21
- package/build-module/components/global-styles/screen-block.js.map +1 -1
- package/build-module/components/global-styles/screen-revisions/index.js +1 -3
- package/build-module/components/global-styles/screen-revisions/index.js.map +1 -1
- package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js +0 -1
- package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
- package/build-module/components/global-styles/screen-typography.js +6 -74
- package/build-module/components/global-styles/screen-typography.js.map +1 -1
- package/build-module/components/global-styles/style-variations-container.js +3 -5
- package/build-module/components/global-styles/style-variations-container.js.map +1 -1
- package/build-module/components/global-styles/typogrphy-elements.js +87 -0
- package/build-module/components/global-styles/typogrphy-elements.js.map +1 -0
- package/build-module/components/page-patterns/duplicate-menu-item.js +51 -16
- package/build-module/components/page-patterns/duplicate-menu-item.js.map +1 -1
- package/build-module/components/page-patterns/grid-item.js +47 -21
- package/build-module/components/page-patterns/grid-item.js.map +1 -1
- package/build-module/components/page-patterns/header.js +3 -7
- package/build-module/components/page-patterns/header.js.map +1 -1
- package/build-module/components/page-patterns/index.js +3 -3
- package/build-module/components/page-patterns/index.js.map +1 -1
- package/build-module/components/page-patterns/patterns-list.js +7 -7
- package/build-module/components/page-patterns/patterns-list.js.map +1 -1
- package/build-module/components/page-patterns/rename-menu-item.js +6 -5
- package/build-module/components/page-patterns/rename-menu-item.js.map +1 -1
- package/build-module/components/page-patterns/search-items.js +8 -2
- package/build-module/components/page-patterns/search-items.js.map +1 -1
- package/build-module/components/page-patterns/use-patterns.js +54 -28
- package/build-module/components/page-patterns/use-patterns.js.map +1 -1
- package/build-module/components/page-patterns/utils.js +0 -11
- package/build-module/components/page-patterns/utils.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js +34 -27
- package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/hooks.js +54 -0
- package/build-module/components/sidebar-edit-mode/page-panels/hooks.js.map +1 -0
- package/build-module/components/sidebar-edit-mode/page-panels/index.js +1 -4
- package/build-module/components/sidebar-edit-mode/page-panels/index.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js +2 -1
- package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js +49 -0
- package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -0
- package/build-module/components/sidebar-edit-mode/page-panels/swap-template-button.js +85 -0
- package/build-module/components/sidebar-edit-mode/page-panels/swap-template-button.js.map +1 -0
- package/build-module/components/sidebar-edit-mode/template-panel/index.js +12 -10
- package/build-module/components/sidebar-edit-mode/template-panel/index.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/template-panel/last-revision.js +8 -6
- package/build-module/components/sidebar-edit-mode/template-panel/last-revision.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/template-panel/pattern-categories.js +202 -0
- package/build-module/components/sidebar-edit-mode/template-panel/pattern-categories.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen/index.js +6 -4
- package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-details-footer/index.js +32 -5
- package/build-module/components/sidebar-navigation-screen-details-footer/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js +4 -2
- package/build-module/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-global-styles/index.js +6 -33
- package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-page/index.js +3 -3
- package/build-module/components/sidebar-navigation-screen-page/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-pattern/index.js +19 -9
- package/build-module/components/sidebar-navigation-screen-pattern/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js +34 -5
- package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-patterns/index.js +10 -38
- package/build-module/components/sidebar-navigation-screen-patterns/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +38 -4
- package/build-module/components/sidebar-navigation-screen-patterns/use-pattern-categories.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +3 -2
- package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-template/index.js +2 -2
- package/build-module/components/sidebar-navigation-screen-template/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-templates/index.js +1 -1
- package/build-module/components/sidebar-navigation-screen-templates/index.js.map +1 -1
- package/build-module/components/template-actions/index.js +7 -4
- package/build-module/components/template-actions/index.js.map +1 -1
- package/build-module/components/template-actions/rename-menu-item.js +3 -2
- package/build-module/components/template-actions/rename-menu-item.js.map +1 -1
- package/build-module/components/welcome-guide/styles.js +2 -2
- package/build-module/components/welcome-guide/styles.js.map +1 -1
- package/build-module/hooks/push-changes-to-global-styles/index.js +5 -37
- package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
- package/build-module/store/actions.js +30 -7
- package/build-module/store/actions.js.map +1 -1
- package/build-module/utils/constants.js +35 -1
- package/build-module/utils/constants.js.map +1 -1
- package/build-module/utils/is-template-removable.js +6 -1
- package/build-module/utils/is-template-removable.js.map +1 -1
- package/build-module/utils/is-template-revertable.js +6 -1
- package/build-module/utils/is-template-revertable.js.map +1 -1
- package/build-style/style-rtl.css +244 -37
- package/build-style/style.css +244 -37
- package/lib/inflate.js +4082 -0
- package/lib/lib-font.browser.js +3831 -0
- package/lib/unbrotli.js +2679 -0
- package/package.json +40 -40
- package/src/components/add-new-pattern/index.js +83 -5
- package/src/components/add-new-template/index.js +3 -2
- package/src/components/add-new-template/new-template.js +6 -1
- package/src/components/add-new-template/utils.js +12 -3
- package/src/components/app/index.js +9 -12
- package/src/components/block-editor/back-button.js +6 -2
- package/src/components/block-editor/editor-canvas.js +31 -19
- package/src/components/block-editor/site-editor-canvas.js +2 -10
- package/src/components/block-editor/style.scss +88 -1
- package/src/components/block-editor/use-site-editor-settings.js +26 -19
- package/src/components/canvas-loader/index.js +12 -1
- package/src/components/canvas-loader/style.scss +1 -1
- package/src/components/editor/index.js +3 -8
- package/src/components/global-styles/dimensions-panel.js +8 -4
- package/src/components/global-styles/font-families.js +71 -0
- package/src/components/global-styles/font-family-item.js +44 -0
- package/src/components/global-styles/font-library-modal/confirm-delete-dialog.js +33 -0
- package/src/components/global-styles/font-library-modal/context.js +347 -0
- package/src/components/global-styles/font-library-modal/font-card.js +70 -0
- package/src/components/global-styles/font-library-modal/font-demo.js +57 -0
- package/src/components/global-styles/font-library-modal/font-variant.js +53 -0
- package/src/components/global-styles/font-library-modal/fonts-grid.js +55 -0
- package/src/components/global-styles/font-library-modal/index.js +42 -0
- package/src/components/global-styles/font-library-modal/installed-fonts.js +174 -0
- package/src/components/global-styles/font-library-modal/library-font-card.js +40 -0
- package/src/components/global-styles/font-library-modal/library-font-details.js +46 -0
- package/src/components/global-styles/font-library-modal/library-font-variant.js +54 -0
- package/src/components/global-styles/font-library-modal/local-fonts.js +160 -0
- package/src/components/global-styles/font-library-modal/resolvers.js +29 -0
- package/src/components/global-styles/font-library-modal/style.scss +113 -0
- package/src/components/global-styles/font-library-modal/tab-layout.js +50 -0
- package/src/components/global-styles/font-library-modal/utils/constants.js +31 -0
- package/src/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +58 -0
- package/src/components/global-styles/font-library-modal/utils/index.js +213 -0
- package/src/components/global-styles/font-library-modal/utils/make-families-from-faces.js +15 -0
- package/src/components/global-styles/font-library-modal/utils/test/getDisplaySrcFromFontFace.spec.js +53 -0
- package/src/components/global-styles/font-library-modal/utils/test/getFontFaceVariantName.spec.js +30 -0
- package/src/components/global-styles/font-library-modal/utils/test/getIntersectingFontFaces.spec.js +240 -0
- package/src/components/global-styles/font-library-modal/utils/test/getPreviewStyle.spec.js +121 -0
- package/src/components/global-styles/font-library-modal/utils/test/isUrlEncoded.spec.js +31 -0
- package/src/components/global-styles/font-library-modal/utils/test/makeFamiliesFromFaces.spec.js +57 -0
- package/src/components/global-styles/font-library-modal/utils/test/makeFormDataFromFontFamilies.spec.js +62 -0
- package/src/components/global-styles/font-library-modal/utils/test/mergeFontFaces.spec.js +56 -0
- package/src/components/global-styles/font-library-modal/utils/test/mergeFontFamilies.spec.js +108 -0
- package/src/components/global-styles/font-library-modal/utils/test/setUIValuesNeeded.spec.js +41 -0
- package/src/components/global-styles/font-library-modal/utils/test/toggleFont.spec.js +141 -0
- package/src/components/global-styles/font-library-modal/utils/toggleFont.js +90 -0
- package/src/components/global-styles/global-styles-provider.js +2 -7
- package/src/components/global-styles/screen-block.js +42 -20
- package/src/components/global-styles/screen-revisions/index.js +0 -2
- package/src/components/global-styles/screen-revisions/use-global-styles-revisions.js +0 -1
- package/src/components/global-styles/screen-typography.js +7 -95
- package/src/components/global-styles/style-variations-container.js +0 -2
- package/src/components/global-styles/typogrphy-elements.js +110 -0
- package/src/components/list/style.scss +2 -0
- package/src/components/page-patterns/duplicate-menu-item.js +63 -20
- package/src/components/page-patterns/grid-item.js +77 -30
- package/src/components/page-patterns/header.js +3 -12
- package/src/components/page-patterns/index.js +3 -3
- package/src/components/page-patterns/patterns-list.js +7 -7
- package/src/components/page-patterns/rename-menu-item.js +18 -7
- package/src/components/page-patterns/search-items.js +14 -2
- package/src/components/page-patterns/style.scss +1 -5
- package/src/components/page-patterns/use-patterns.js +67 -33
- package/src/components/page-patterns/utils.js +0 -19
- package/src/components/sidebar-edit-mode/page-panels/edit-template.js +47 -33
- package/src/components/sidebar-edit-mode/page-panels/hooks.js +83 -0
- package/src/components/sidebar-edit-mode/page-panels/index.js +0 -4
- package/src/components/sidebar-edit-mode/page-panels/page-summary.js +2 -0
- package/src/components/sidebar-edit-mode/page-panels/reset-default-template.js +44 -0
- package/src/components/sidebar-edit-mode/page-panels/style.scss +41 -10
- package/src/components/sidebar-edit-mode/page-panels/swap-template-button.js +82 -0
- package/src/components/sidebar-edit-mode/template-panel/index.js +28 -24
- package/src/components/sidebar-edit-mode/template-panel/last-revision.js +19 -15
- package/src/components/sidebar-edit-mode/template-panel/pattern-categories.js +270 -0
- package/src/components/sidebar-navigation-screen/index.js +4 -9
- package/src/components/sidebar-navigation-screen/style.scss +7 -1
- package/src/components/sidebar-navigation-screen-details-footer/index.js +38 -10
- package/src/components/sidebar-navigation-screen-details-footer/style.scss +10 -3
- package/src/components/sidebar-navigation-screen-details-panel/sidebar-navigation-screen-details-panel-row.js +2 -0
- package/src/components/sidebar-navigation-screen-global-styles/index.js +6 -44
- package/src/components/sidebar-navigation-screen-navigation-menus/style.scss +0 -4
- package/src/components/sidebar-navigation-screen-page/index.js +3 -3
- package/src/components/sidebar-navigation-screen-pattern/index.js +20 -7
- package/src/components/sidebar-navigation-screen-pattern/style.scss +0 -3
- package/src/components/sidebar-navigation-screen-pattern/use-pattern-details.js +46 -13
- package/src/components/sidebar-navigation-screen-patterns/index.js +14 -49
- package/src/components/sidebar-navigation-screen-patterns/use-pattern-categories.js +48 -6
- package/src/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +3 -5
- package/src/components/sidebar-navigation-screen-template/index.js +2 -4
- package/src/components/sidebar-navigation-screen-templates/index.js +1 -1
- package/src/components/template-actions/index.js +14 -8
- package/src/components/template-actions/rename-menu-item.js +15 -4
- package/src/components/welcome-guide/styles.js +2 -2
- package/src/hooks/push-changes-to-global-styles/index.js +6 -49
- package/src/store/actions.js +39 -13
- package/src/style.scss +1 -1
- package/src/utils/constants.js +38 -3
- package/src/utils/is-template-removable.js +8 -1
- package/src/utils/is-template-revertable.js +8 -1
- package/build/components/sidebar-navigation-screen-patterns/use-my-patterns.js +0 -30
- package/build/components/sidebar-navigation-screen-patterns/use-my-patterns.js.map +0 -1
- package/build-module/components/sidebar-navigation-screen-patterns/use-my-patterns.js +0 -23
- package/build-module/components/sidebar-navigation-screen-patterns/use-my-patterns.js.map +0 -1
- package/src/components/sidebar-navigation-screen-global-styles/style.scss +0 -12
- package/src/components/sidebar-navigation-screen-patterns/use-my-patterns.js +0 -24
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_removeAccents","_interopRequireDefault","require","_changeCase","defaultGetName","item","name","defaultGetTitle","title","defaultGetDescription","description","defaultGetKeywords","keywords","defaultHasCategory","extractWords","input","noCase","splitRegexp","stripRegexp","split","filter","Boolean","normalizeSearchInput","removeAccents","replace","toLowerCase","getNormalizedSearchTerms","exports","removeMatchingTerms","unmatchedTerms","unprocessedTerms","term","some","unprocessedTerm","includes","searchItems","items","searchInput","config","normalizedSearchTerms","onlyFilterByCategory","length","searchRankConfig","threshold","rankedItems","map","getItemSearchRank","rank","sort","rank1","rank2","searchTerm","categoryId","getName","getTitle","getDescription","getKeywords","hasCategory","normalizedSearchInput","normalizedTitle","startsWith","terms","join"],"sources":["@wordpress/edit-site/src/components/page-patterns/search-items.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport removeAccents from 'remove-accents';\nimport { noCase } from 'change-case';\n\n// Default search helpers.\nconst defaultGetName = ( item ) => item.name || '';\nconst defaultGetTitle = ( item ) => item.title;\nconst defaultGetDescription = ( item ) => item.description || '';\nconst defaultGetKeywords = ( item ) => item.keywords || [];\nconst defaultHasCategory = () => false;\n\n/**\n * Extracts words from an input string.\n *\n * @param {string} input The input string.\n *\n * @return {Array} Words, extracted from the input string.\n */\nfunction extractWords( input = '' ) {\n\treturn noCase( input, {\n\t\tsplitRegexp: [\n\t\t\t/([\\p{Ll}\\p{Lo}\\p{N}])([\\p{Lu}\\p{Lt}])/gu, // One lowercase or digit, followed by one uppercase.\n\t\t\t/([\\p{Lu}\\p{Lt}])([\\p{Lu}\\p{Lt}][\\p{Ll}\\p{Lo}])/gu, // One uppercase followed by one uppercase and one lowercase.\n\t\t],\n\t\tstripRegexp: /(\\p{C}|\\p{P}|\\p{S})+/giu, // Anything that's not a punctuation, symbol or control/format character.\n\t} )\n\t\t.split( ' ' )\n\t\t.filter( Boolean );\n}\n\n/**\n * Sanitizes the search input string.\n *\n * @param {string} input The search input to normalize.\n *\n * @return {string} The normalized search input.\n */\nfunction normalizeSearchInput( input = '' ) {\n\t// Disregard diacritics.\n\t// Input: \"média\"\n\tinput = removeAccents( input );\n\n\t// Accommodate leading slash, matching autocomplete expectations.\n\t// Input: \"/media\"\n\tinput = input.replace( /^\\//, '' );\n\n\t// Lowercase.\n\t// Input: \"MEDIA\"\n\tinput = input.toLowerCase();\n\n\treturn input;\n}\n\n/**\n * Converts the search term into a list of normalized terms.\n *\n * @param {string} input The search term to normalize.\n *\n * @return {string[]} The normalized list of search terms.\n */\nexport const getNormalizedSearchTerms = ( input = '' ) => {\n\treturn extractWords( normalizeSearchInput( input ) );\n};\n\nconst removeMatchingTerms = ( unmatchedTerms, unprocessedTerms ) => {\n\treturn unmatchedTerms.filter(\n\t\t( term ) =>\n\t\t\t! getNormalizedSearchTerms( unprocessedTerms ).some(\n\t\t\t\t( unprocessedTerm ) => unprocessedTerm.includes( term )\n\t\t\t)\n\t);\n};\n\n/**\n * Filters an item list given a search term.\n *\n * @param {Array} items Item list\n * @param {string} searchInput Search input.\n * @param {Object} config Search Config.\n *\n * @return {Array} Filtered item list.\n */\nexport const searchItems = ( items = [], searchInput = '', config = {} ) => {\n\tconst normalizedSearchTerms = getNormalizedSearchTerms( searchInput );\n\tconst onlyFilterByCategory = ! normalizedSearchTerms.length;\n\tconst searchRankConfig = { ...config, onlyFilterByCategory };\n\n\t// If we aren't filtering on search terms, matching on category is satisfactory.\n\t// If we are, then we need more than a category match.\n\tconst threshold = onlyFilterByCategory ? 0 : 1;\n\n\tconst rankedItems = items\n\t\t.map( ( item ) => {\n\t\t\treturn [\n\t\t\t\titem,\n\t\t\t\tgetItemSearchRank( item, searchInput, searchRankConfig ),\n\t\t\t];\n\t\t} )\n\t\t.filter( ( [ , rank ] ) => rank > threshold );\n\n\t// If we didn't have terms to search on, there's no point sorting.\n\tif ( normalizedSearchTerms.length === 0 ) {\n\t\treturn rankedItems.map( ( [ item ] ) => item );\n\t}\n\n\trankedItems.sort( ( [ , rank1 ], [ , rank2 ] ) => rank2 - rank1 );\n\treturn rankedItems.map( ( [ item ] ) => item );\n};\n\n/**\n * Get the search rank for a given item and a specific search term.\n * The better the match, the higher the rank.\n * If the rank equals 0, it should be excluded from the results.\n *\n * @param {Object} item Item to filter.\n * @param {string} searchTerm Search term.\n * @param {Object} config Search Config.\n *\n * @return {number} Search Rank.\n */\nfunction getItemSearchRank( item, searchTerm, config ) {\n\tconst {\n\t\tcategoryId,\n\t\tgetName = defaultGetName,\n\t\tgetTitle = defaultGetTitle,\n\t\tgetDescription = defaultGetDescription,\n\t\tgetKeywords = defaultGetKeywords,\n\t\thasCategory = defaultHasCategory,\n\t\tonlyFilterByCategory,\n\t} = config;\n\n\tlet rank = hasCategory( item, categoryId ) ? 1 : 0;\n\n\t// If an item doesn't belong to the current category or we don't have\n\t// search terms to filter by, return the initial rank value.\n\tif ( ! rank || onlyFilterByCategory ) {\n\t\treturn rank;\n\t}\n\n\tconst name = getName( item );\n\tconst title = getTitle( item );\n\tconst description = getDescription( item );\n\tconst keywords = getKeywords( item );\n\n\tconst normalizedSearchInput = normalizeSearchInput( searchTerm );\n\tconst normalizedTitle = normalizeSearchInput( title );\n\n\t// Prefers exact matches\n\t// Then prefers if the beginning of the title matches the search term\n\t// name, keywords, description matches come later.\n\tif ( normalizedSearchInput === normalizedTitle ) {\n\t\trank += 30;\n\t} else if ( normalizedTitle.startsWith( normalizedSearchInput ) ) {\n\t\trank += 20;\n\t} else {\n\t\tconst terms = [ name, title, description, ...keywords ].join( ' ' );\n\t\tconst normalizedSearchTerms = extractWords( normalizedSearchInput );\n\t\tconst unmatchedTerms = removeMatchingTerms(\n\t\t\tnormalizedSearchTerms,\n\t\t\tterms\n\t\t);\n\n\t\tif ( unmatchedTerms.length === 0 ) {\n\t\t\trank += 10;\n\t\t}\n\t}\n\n\treturn rank;\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_removeAccents","_interopRequireDefault","require","_changeCase","_constants","defaultGetName","item","name","defaultGetTitle","title","defaultGetDescription","description","defaultGetKeywords","keywords","defaultHasCategory","extractWords","input","noCase","splitRegexp","stripRegexp","split","filter","Boolean","normalizeSearchInput","removeAccents","replace","toLowerCase","getNormalizedSearchTerms","exports","removeMatchingTerms","unmatchedTerms","unprocessedTerms","term","some","unprocessedTerm","includes","searchItems","items","searchInput","config","normalizedSearchTerms","onlyFilterByCategory","categoryId","PATTERN_DEFAULT_CATEGORY","length","searchRankConfig","threshold","rankedItems","map","getItemSearchRank","rank","sort","rank1","rank2","searchTerm","getName","getTitle","getDescription","getKeywords","hasCategory","normalizedSearchInput","normalizedTitle","startsWith","terms","join"],"sources":["@wordpress/edit-site/src/components/page-patterns/search-items.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport removeAccents from 'remove-accents';\nimport { noCase } from 'change-case';\n\n/**\n * Internal dependencies\n */\nimport { PATTERN_DEFAULT_CATEGORY } from '../../utils/constants';\n\n// Default search helpers.\nconst defaultGetName = ( item ) => item.name || '';\nconst defaultGetTitle = ( item ) => item.title;\nconst defaultGetDescription = ( item ) => item.description || '';\nconst defaultGetKeywords = ( item ) => item.keywords || [];\nconst defaultHasCategory = () => false;\n\n/**\n * Extracts words from an input string.\n *\n * @param {string} input The input string.\n *\n * @return {Array} Words, extracted from the input string.\n */\nfunction extractWords( input = '' ) {\n\treturn noCase( input, {\n\t\tsplitRegexp: [\n\t\t\t/([\\p{Ll}\\p{Lo}\\p{N}])([\\p{Lu}\\p{Lt}])/gu, // One lowercase or digit, followed by one uppercase.\n\t\t\t/([\\p{Lu}\\p{Lt}])([\\p{Lu}\\p{Lt}][\\p{Ll}\\p{Lo}])/gu, // One uppercase followed by one uppercase and one lowercase.\n\t\t],\n\t\tstripRegexp: /(\\p{C}|\\p{P}|\\p{S})+/giu, // Anything that's not a punctuation, symbol or control/format character.\n\t} )\n\t\t.split( ' ' )\n\t\t.filter( Boolean );\n}\n\n/**\n * Sanitizes the search input string.\n *\n * @param {string} input The search input to normalize.\n *\n * @return {string} The normalized search input.\n */\nfunction normalizeSearchInput( input = '' ) {\n\t// Disregard diacritics.\n\t// Input: \"média\"\n\tinput = removeAccents( input );\n\n\t// Accommodate leading slash, matching autocomplete expectations.\n\t// Input: \"/media\"\n\tinput = input.replace( /^\\//, '' );\n\n\t// Lowercase.\n\t// Input: \"MEDIA\"\n\tinput = input.toLowerCase();\n\n\treturn input;\n}\n\n/**\n * Converts the search term into a list of normalized terms.\n *\n * @param {string} input The search term to normalize.\n *\n * @return {string[]} The normalized list of search terms.\n */\nexport const getNormalizedSearchTerms = ( input = '' ) => {\n\treturn extractWords( normalizeSearchInput( input ) );\n};\n\nconst removeMatchingTerms = ( unmatchedTerms, unprocessedTerms ) => {\n\treturn unmatchedTerms.filter(\n\t\t( term ) =>\n\t\t\t! getNormalizedSearchTerms( unprocessedTerms ).some(\n\t\t\t\t( unprocessedTerm ) => unprocessedTerm.includes( term )\n\t\t\t)\n\t);\n};\n\n/**\n * Filters an item list given a search term.\n *\n * @param {Array} items Item list\n * @param {string} searchInput Search input.\n * @param {Object} config Search Config.\n *\n * @return {Array} Filtered item list.\n */\nexport const searchItems = ( items = [], searchInput = '', config = {} ) => {\n\tconst normalizedSearchTerms = getNormalizedSearchTerms( searchInput );\n\t// Filter patterns by category: the default category indicates that all patterns will be shown.\n\tconst onlyFilterByCategory =\n\t\tconfig.categoryId !== PATTERN_DEFAULT_CATEGORY &&\n\t\t! normalizedSearchTerms.length;\n\tconst searchRankConfig = { ...config, onlyFilterByCategory };\n\n\t// If we aren't filtering on search terms, matching on category is satisfactory.\n\t// If we are, then we need more than a category match.\n\tconst threshold = onlyFilterByCategory ? 0 : 1;\n\n\tconst rankedItems = items\n\t\t.map( ( item ) => {\n\t\t\treturn [\n\t\t\t\titem,\n\t\t\t\tgetItemSearchRank( item, searchInput, searchRankConfig ),\n\t\t\t];\n\t\t} )\n\t\t.filter( ( [ , rank ] ) => rank > threshold );\n\n\t// If we didn't have terms to search on, there's no point sorting.\n\tif ( normalizedSearchTerms.length === 0 ) {\n\t\treturn rankedItems.map( ( [ item ] ) => item );\n\t}\n\n\trankedItems.sort( ( [ , rank1 ], [ , rank2 ] ) => rank2 - rank1 );\n\treturn rankedItems.map( ( [ item ] ) => item );\n};\n\n/**\n * Get the search rank for a given item and a specific search term.\n * The better the match, the higher the rank.\n * If the rank equals 0, it should be excluded from the results.\n *\n * @param {Object} item Item to filter.\n * @param {string} searchTerm Search term.\n * @param {Object} config Search Config.\n *\n * @return {number} Search Rank.\n */\nfunction getItemSearchRank( item, searchTerm, config ) {\n\tconst {\n\t\tcategoryId,\n\t\tgetName = defaultGetName,\n\t\tgetTitle = defaultGetTitle,\n\t\tgetDescription = defaultGetDescription,\n\t\tgetKeywords = defaultGetKeywords,\n\t\thasCategory = defaultHasCategory,\n\t\tonlyFilterByCategory,\n\t} = config;\n\n\tlet rank =\n\t\tcategoryId === PATTERN_DEFAULT_CATEGORY ||\n\t\thasCategory( item, categoryId )\n\t\t\t? 1\n\t\t\t: 0;\n\n\t// If an item doesn't belong to the current category or we don't have\n\t// search terms to filter by, return the initial rank value.\n\tif ( ! rank || onlyFilterByCategory ) {\n\t\treturn rank;\n\t}\n\n\tconst name = getName( item );\n\tconst title = getTitle( item );\n\tconst description = getDescription( item );\n\tconst keywords = getKeywords( item );\n\n\tconst normalizedSearchInput = normalizeSearchInput( searchTerm );\n\tconst normalizedTitle = normalizeSearchInput( title );\n\n\t// Prefers exact matches\n\t// Then prefers if the beginning of the title matches the search term\n\t// name, keywords, description matches come later.\n\tif ( normalizedSearchInput === normalizedTitle ) {\n\t\trank += 30;\n\t} else if ( normalizedTitle.startsWith( normalizedSearchInput ) ) {\n\t\trank += 20;\n\t} else {\n\t\tconst terms = [ name, title, description, ...keywords ].join( ' ' );\n\t\tconst normalizedSearchTerms = extractWords( normalizedSearchInput );\n\t\tconst unmatchedTerms = removeMatchingTerms(\n\t\t\tnormalizedSearchTerms,\n\t\t\tterms\n\t\t);\n\n\t\tif ( unmatchedTerms.length === 0 ) {\n\t\t\trank += 10;\n\t\t}\n\t}\n\n\treturn rank;\n}\n"],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@ var _coreData = require("@wordpress/core-data");
|
|
|
10
10
|
var _editor = require("@wordpress/editor");
|
|
11
11
|
var _htmlEntities = require("@wordpress/html-entities");
|
|
12
12
|
var _utils = require("./utils");
|
|
13
|
+
var _constants = require("../../utils/constants");
|
|
13
14
|
var _lockUnlock = require("../../lock-unlock");
|
|
14
15
|
var _searchItems = require("./search-items");
|
|
15
16
|
var _store = require("../../store");
|
|
@@ -52,7 +53,7 @@ const selectTemplatePartsAsPatterns = (select, {
|
|
|
52
53
|
const query = {
|
|
53
54
|
per_page: -1
|
|
54
55
|
};
|
|
55
|
-
const rawTemplateParts = (_getEntityRecords = getEntityRecords('postType',
|
|
56
|
+
const rawTemplateParts = (_getEntityRecords = getEntityRecords('postType', _constants.TEMPLATE_PART_POST_TYPE, query)) !== null && _getEntityRecords !== void 0 ? _getEntityRecords : EMPTY_PATTERN_LIST;
|
|
56
57
|
const templateParts = rawTemplateParts.map(templatePart => templatePartToPattern(templatePart));
|
|
57
58
|
|
|
58
59
|
// In the case where a custom template part area has been removed we need
|
|
@@ -76,10 +77,7 @@ const selectTemplatePartsAsPatterns = (select, {
|
|
|
76
77
|
isResolving
|
|
77
78
|
};
|
|
78
79
|
};
|
|
79
|
-
const selectThemePatterns =
|
|
80
|
-
categoryId,
|
|
81
|
-
search = ''
|
|
82
|
-
} = {}) => {
|
|
80
|
+
const selectThemePatterns = select => {
|
|
83
81
|
var _settings$__experimen;
|
|
84
82
|
const {
|
|
85
83
|
getSettings
|
|
@@ -87,14 +85,34 @@ const selectThemePatterns = (select, {
|
|
|
87
85
|
const settings = getSettings();
|
|
88
86
|
const blockPatterns = (_settings$__experimen = settings.__experimentalAdditionalBlockPatterns) !== null && _settings$__experimen !== void 0 ? _settings$__experimen : settings.__experimentalBlockPatterns;
|
|
89
87
|
const restBlockPatterns = select(_coreData.store).getBlockPatterns();
|
|
90
|
-
|
|
88
|
+
const patterns = [...(blockPatterns || []), ...(restBlockPatterns || [])].filter(pattern => !_constants.PATTERN_CORE_SOURCES.includes(pattern.source)).filter(_utils.filterOutDuplicatesByName).filter(pattern => pattern.inserter !== false).map(pattern => ({
|
|
91
89
|
...pattern,
|
|
92
90
|
keywords: pattern.keywords || [],
|
|
93
|
-
type:
|
|
91
|
+
type: _constants.PATTERN_TYPES.theme,
|
|
94
92
|
blocks: (0, _blocks.parse)(pattern.content, {
|
|
95
93
|
__unstableSkipMigrationLogs: true
|
|
96
94
|
})
|
|
97
95
|
}));
|
|
96
|
+
return {
|
|
97
|
+
patterns,
|
|
98
|
+
isResolving: false
|
|
99
|
+
};
|
|
100
|
+
};
|
|
101
|
+
const selectPatterns = (select, {
|
|
102
|
+
categoryId,
|
|
103
|
+
search = '',
|
|
104
|
+
syncStatus
|
|
105
|
+
} = {}) => {
|
|
106
|
+
const {
|
|
107
|
+
patterns: themePatterns
|
|
108
|
+
} = selectThemePatterns(select);
|
|
109
|
+
const {
|
|
110
|
+
patterns: userPatterns
|
|
111
|
+
} = selectUserPatterns(select);
|
|
112
|
+
let patterns = [...(themePatterns || []), ...(userPatterns || [])];
|
|
113
|
+
if (syncStatus) {
|
|
114
|
+
patterns = patterns.filter(pattern => pattern.syncStatus === syncStatus);
|
|
115
|
+
}
|
|
98
116
|
if (categoryId) {
|
|
99
117
|
patterns = (0, _searchItems.searchItems)(patterns, search, {
|
|
100
118
|
categoryId,
|
|
@@ -110,17 +128,19 @@ const selectThemePatterns = (select, {
|
|
|
110
128
|
isResolving: false
|
|
111
129
|
};
|
|
112
130
|
};
|
|
113
|
-
const
|
|
114
|
-
blocks: (0, _blocks.parse)(
|
|
131
|
+
const patternBlockToPattern = (patternBlock, categories) => ({
|
|
132
|
+
blocks: (0, _blocks.parse)(patternBlock.content.raw, {
|
|
115
133
|
__unstableSkipMigrationLogs: true
|
|
116
134
|
}),
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
135
|
+
...(patternBlock.wp_pattern_category.length > 0 && {
|
|
136
|
+
categories: patternBlock.wp_pattern_category.map(patternCategoryId => categories && categories.get(patternCategoryId) ? categories.get(patternCategoryId).slug : patternCategoryId)
|
|
137
|
+
}),
|
|
138
|
+
id: patternBlock.id,
|
|
139
|
+
name: patternBlock.slug,
|
|
140
|
+
syncStatus: patternBlock.wp_pattern_sync_status || _constants.PATTERN_SYNC_TYPES.full,
|
|
141
|
+
title: patternBlock.title.raw,
|
|
142
|
+
type: _constants.PATTERN_TYPES.user,
|
|
143
|
+
patternBlock
|
|
124
144
|
});
|
|
125
145
|
const selectUserPatterns = (select, {
|
|
126
146
|
search = '',
|
|
@@ -128,14 +148,18 @@ const selectUserPatterns = (select, {
|
|
|
128
148
|
} = {}) => {
|
|
129
149
|
const {
|
|
130
150
|
getEntityRecords,
|
|
131
|
-
getIsResolving
|
|
151
|
+
getIsResolving,
|
|
152
|
+
getUserPatternCategories
|
|
132
153
|
} = select(_coreData.store);
|
|
133
154
|
const query = {
|
|
134
155
|
per_page: -1
|
|
135
156
|
};
|
|
136
|
-
const records = getEntityRecords('postType',
|
|
137
|
-
|
|
138
|
-
const
|
|
157
|
+
const records = getEntityRecords('postType', _constants.PATTERN_TYPES.user, query);
|
|
158
|
+
const userPatternCategories = getUserPatternCategories();
|
|
159
|
+
const categories = new Map();
|
|
160
|
+
userPatternCategories.forEach(userCategory => categories.set(userCategory.id, userCategory));
|
|
161
|
+
let patterns = records ? records.map(record => patternBlockToPattern(record, categories)) : EMPTY_PATTERN_LIST;
|
|
162
|
+
const isResolving = getIsResolving('getEntityRecords', ['postType', _constants.PATTERN_TYPES.user, query]);
|
|
139
163
|
if (syncStatus) {
|
|
140
164
|
patterns = patterns.filter(pattern => pattern.syncStatus === syncStatus);
|
|
141
165
|
}
|
|
@@ -147,25 +171,27 @@ const selectUserPatterns = (select, {
|
|
|
147
171
|
});
|
|
148
172
|
return {
|
|
149
173
|
patterns,
|
|
150
|
-
isResolving
|
|
174
|
+
isResolving,
|
|
175
|
+
categories: userPatternCategories
|
|
151
176
|
};
|
|
152
177
|
};
|
|
153
178
|
const usePatterns = (categoryType, categoryId, {
|
|
154
179
|
search = '',
|
|
155
180
|
syncStatus
|
|
156
|
-
}) => {
|
|
181
|
+
} = {}) => {
|
|
157
182
|
return (0, _data.useSelect)(select => {
|
|
158
|
-
if (categoryType ===
|
|
183
|
+
if (categoryType === _constants.TEMPLATE_PART_POST_TYPE) {
|
|
159
184
|
return selectTemplatePartsAsPatterns(select, {
|
|
160
185
|
categoryId,
|
|
161
186
|
search
|
|
162
187
|
});
|
|
163
|
-
} else if (categoryType ===
|
|
164
|
-
return
|
|
188
|
+
} else if (categoryType === _constants.PATTERN_TYPES.theme) {
|
|
189
|
+
return selectPatterns(select, {
|
|
165
190
|
categoryId,
|
|
166
|
-
search
|
|
191
|
+
search,
|
|
192
|
+
syncStatus
|
|
167
193
|
});
|
|
168
|
-
} else if (categoryType ===
|
|
194
|
+
} else if (categoryType === _constants.PATTERN_TYPES.user) {
|
|
169
195
|
return selectUserPatterns(select, {
|
|
170
196
|
search,
|
|
171
197
|
syncStatus
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_blocks","require","_data","_coreData","_editor","_htmlEntities","_utils","_lockUnlock","_searchItems","_store","EMPTY_PATTERN_LIST","createTemplatePartId","theme","slug","templatePartToPattern","templatePart","blocks","parse","content","raw","__unstableSkipMigrationLogs","categories","area","description","isCustom","source","keywords","id","name","title","decodeEntities","rendered","type","selectTemplatePartsAsPatterns","select","categoryId","search","_getEntityRecords","getEntityRecords","getIsResolving","coreStore","__experimentalGetDefaultTemplatePartAreas","editorStore","query","per_page","rawTemplateParts","TEMPLATE_PARTS","templateParts","map","knownAreas","templatePartAreas","templatePartHasCategory","item","category","includes","isResolving","patterns","searchItems","hasCategory","selectThemePatterns","_settings$__experimen","getSettings","unlock","editSiteStore","settings","blockPatterns","__experimentalAdditionalBlockPatterns","__experimentalBlockPatterns","restBlockPatterns","getBlockPatterns","filter","pattern","CORE_PATTERN_SOURCES","filterOutDuplicatesByName","inserter","currentCategory","hasOwnProperty","reusableBlockToPattern","reusableBlock","wp_pattern","syncStatus","wp_pattern_sync_status","SYNC_TYPES","full","selectUserPatterns","records","USER_PATTERNS","record","usePatterns","categoryType","useSelect","PATTERNS","exports","_default","default"],"sources":["@wordpress/edit-site/src/components/page-patterns/use-patterns.js"],"sourcesContent":["/**\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 {\n\tCORE_PATTERN_SOURCES,\n\tPATTERNS,\n\tSYNC_TYPES,\n\tTEMPLATE_PARTS,\n\tUSER_PATTERNS,\n\tfilterOutDuplicatesByName,\n} from './utils';\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 === '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 = (\n\tselect,\n\t{ categoryId, search = '' } = {}\n) => {\n\tconst { getEntityRecords, getIsResolving } = select( coreStore );\n\tconst { __experimentalGetDefaultTemplatePartAreas } = select( editorStore );\n\tconst query = { per_page: -1 };\n\tconst rawTemplateParts =\n\t\tgetEntityRecords( 'postType', TEMPLATE_PARTS, query ) ??\n\t\tEMPTY_PATTERN_LIST;\n\tconst templateParts = rawTemplateParts.map( ( templatePart ) =>\n\t\ttemplatePartToPattern( templatePart )\n\t);\n\n\t// In the case where a custom template part area has been removed we need\n\t// the current list of areas to cross check against so orphaned template\n\t// parts can be treated as uncategorized.\n\tconst knownAreas = __experimentalGetDefaultTemplatePartAreas() || [];\n\tconst templatePartAreas = knownAreas.map( ( area ) => area.area );\n\n\tconst templatePartHasCategory = ( item, category ) => {\n\t\tif ( category !== 'uncategorized' ) {\n\t\t\treturn item.templatePart.area === category;\n\t\t}\n\n\t\treturn (\n\t\t\titem.templatePart.area === category ||\n\t\t\t! templatePartAreas.includes( item.templatePart.area )\n\t\t);\n\t};\n\n\tconst isResolving = getIsResolving( 'getEntityRecords', [\n\t\t'postType',\n\t\t'wp_template_part',\n\t\tquery,\n\t] );\n\n\tconst patterns = searchItems( templateParts, search, {\n\t\tcategoryId,\n\t\thasCategory: templatePartHasCategory,\n\t} );\n\n\treturn { patterns, isResolving };\n};\n\nconst selectThemePatterns = ( select, { categoryId, search = '' } = {} ) => {\n\tconst { getSettings } = unlock( select( editSiteStore ) );\n\tconst settings = getSettings();\n\tconst blockPatterns =\n\t\tsettings.__experimentalAdditionalBlockPatterns ??\n\t\tsettings.__experimentalBlockPatterns;\n\n\tconst restBlockPatterns = select( coreStore ).getBlockPatterns();\n\n\tlet patterns = [\n\t\t...( blockPatterns || [] ),\n\t\t...( restBlockPatterns || [] ),\n\t]\n\t\t.filter(\n\t\t\t( pattern ) => ! CORE_PATTERN_SOURCES.includes( pattern.source )\n\t\t)\n\t\t.filter( filterOutDuplicatesByName )\n\t\t.filter( ( pattern ) => pattern.inserter !== false )\n\t\t.map( ( pattern ) => ( {\n\t\t\t...pattern,\n\t\t\tkeywords: pattern.keywords || [],\n\t\t\ttype: 'pattern',\n\t\t\tblocks: parse( pattern.content, {\n\t\t\t\t__unstableSkipMigrationLogs: true,\n\t\t\t} ),\n\t\t} ) );\n\n\tif ( categoryId ) {\n\t\tpatterns = searchItems( patterns, search, {\n\t\t\tcategoryId,\n\t\t\thasCategory: ( item, currentCategory ) =>\n\t\t\t\titem.categories?.includes( currentCategory ),\n\t\t} );\n\t} else {\n\t\tpatterns = searchItems( patterns, search, {\n\t\t\thasCategory: ( item ) => ! item.hasOwnProperty( 'categories' ),\n\t\t} );\n\t}\n\n\treturn { patterns, isResolving: false };\n};\n\nconst reusableBlockToPattern = ( reusableBlock ) => ( {\n\tblocks: parse( reusableBlock.content.raw, {\n\t\t__unstableSkipMigrationLogs: true,\n\t} ),\n\tcategories: reusableBlock.wp_pattern,\n\tid: reusableBlock.id,\n\tname: reusableBlock.slug,\n\tsyncStatus: reusableBlock.wp_pattern_sync_status || SYNC_TYPES.full,\n\ttitle: reusableBlock.title.raw,\n\ttype: reusableBlock.type,\n\treusableBlock,\n} );\n\nconst selectUserPatterns = ( select, { search = '', syncStatus } = {} ) => {\n\tconst { getEntityRecords, getIsResolving } = select( coreStore );\n\n\tconst query = { per_page: -1 };\n\tconst records = getEntityRecords( 'postType', USER_PATTERNS, query );\n\n\tlet patterns = records\n\t\t? records.map( ( record ) => reusableBlockToPattern( record ) )\n\t\t: EMPTY_PATTERN_LIST;\n\tconst isResolving = getIsResolving( 'getEntityRecords', [\n\t\t'postType',\n\t\tUSER_PATTERNS,\n\t\tquery,\n\t] );\n\n\tif ( syncStatus ) {\n\t\tpatterns = patterns.filter(\n\t\t\t( pattern ) => pattern.syncStatus === syncStatus\n\t\t);\n\t}\n\n\tpatterns = searchItems( patterns, search, {\n\t\t// We exit user pattern retrieval early if we aren't in the\n\t\t// catch-all category for user created patterns, so it has\n\t\t// to be in the category.\n\t\thasCategory: () => true,\n\t} );\n\n\treturn { patterns, isResolving };\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_PARTS ) {\n\t\t\t\treturn selectTemplatePartsAsPatterns( select, {\n\t\t\t\t\tcategoryId,\n\t\t\t\t\tsearch,\n\t\t\t\t} );\n\t\t\t} else if ( categoryType === PATTERNS ) {\n\t\t\t\treturn selectThemePatterns( select, { categoryId, search } );\n\t\t\t} else if ( categoryType === USER_PATTERNS ) {\n\t\t\t\treturn selectUserPatterns( select, { search, syncStatus } );\n\t\t\t}\n\t\t\treturn { patterns: EMPTY_PATTERN_LIST, isResolving: false };\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":["_blocks","require","_data","_coreData","_editor","_htmlEntities","_utils","_constants","_lockUnlock","_searchItems","_store","EMPTY_PATTERN_LIST","createTemplatePartId","theme","slug","templatePartToPattern","templatePart","blocks","parse","content","raw","__unstableSkipMigrationLogs","categories","area","description","isCustom","source","keywords","id","name","title","decodeEntities","rendered","type","selectTemplatePartsAsPatterns","select","categoryId","search","_getEntityRecords","getEntityRecords","getIsResolving","coreStore","__experimentalGetDefaultTemplatePartAreas","editorStore","query","per_page","rawTemplateParts","TEMPLATE_PART_POST_TYPE","templateParts","map","knownAreas","templatePartAreas","templatePartHasCategory","item","category","includes","isResolving","patterns","searchItems","hasCategory","selectThemePatterns","_settings$__experimen","getSettings","unlock","editSiteStore","settings","blockPatterns","__experimentalAdditionalBlockPatterns","__experimentalBlockPatterns","restBlockPatterns","getBlockPatterns","filter","pattern","PATTERN_CORE_SOURCES","filterOutDuplicatesByName","inserter","PATTERN_TYPES","selectPatterns","syncStatus","themePatterns","userPatterns","selectUserPatterns","currentCategory","hasOwnProperty","patternBlockToPattern","patternBlock","wp_pattern_category","length","patternCategoryId","get","wp_pattern_sync_status","PATTERN_SYNC_TYPES","full","user","getUserPatternCategories","records","userPatternCategories","Map","forEach","userCategory","set","record","usePatterns","categoryType","useSelect","exports","_default","default"],"sources":["@wordpress/edit-site/src/components/page-patterns/use-patterns.js"],"sourcesContent":["/**\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} 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 === '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 = (\n\tselect,\n\t{ categoryId, search = '' } = {}\n) => {\n\tconst { getEntityRecords, getIsResolving } = select( coreStore );\n\tconst { __experimentalGetDefaultTemplatePartAreas } = select( editorStore );\n\tconst query = { per_page: -1 };\n\tconst rawTemplateParts =\n\t\tgetEntityRecords( 'postType', TEMPLATE_PART_POST_TYPE, query ) ??\n\t\tEMPTY_PATTERN_LIST;\n\tconst templateParts = rawTemplateParts.map( ( templatePart ) =>\n\t\ttemplatePartToPattern( templatePart )\n\t);\n\n\t// In the case where a custom template part area has been removed we need\n\t// the current list of areas to cross check against so orphaned template\n\t// parts can be treated as uncategorized.\n\tconst knownAreas = __experimentalGetDefaultTemplatePartAreas() || [];\n\tconst templatePartAreas = knownAreas.map( ( area ) => area.area );\n\n\tconst templatePartHasCategory = ( item, category ) => {\n\t\tif ( category !== 'uncategorized' ) {\n\t\t\treturn item.templatePart.area === category;\n\t\t}\n\n\t\treturn (\n\t\t\titem.templatePart.area === category ||\n\t\t\t! templatePartAreas.includes( item.templatePart.area )\n\t\t);\n\t};\n\n\tconst isResolving = getIsResolving( 'getEntityRecords', [\n\t\t'postType',\n\t\t'wp_template_part',\n\t\tquery,\n\t] );\n\n\tconst patterns = searchItems( templateParts, search, {\n\t\tcategoryId,\n\t\thasCategory: templatePartHasCategory,\n\t} );\n\n\treturn { patterns, isResolving };\n};\n\nconst selectThemePatterns = ( select ) => {\n\tconst { getSettings } = unlock( select( editSiteStore ) );\n\tconst settings = getSettings();\n\tconst blockPatterns =\n\t\tsettings.__experimentalAdditionalBlockPatterns ??\n\t\tsettings.__experimentalBlockPatterns;\n\n\tconst restBlockPatterns = select( coreStore ).getBlockPatterns();\n\n\tconst patterns = [\n\t\t...( blockPatterns || [] ),\n\t\t...( restBlockPatterns || [] ),\n\t]\n\t\t.filter(\n\t\t\t( pattern ) => ! PATTERN_CORE_SOURCES.includes( pattern.source )\n\t\t)\n\t\t.filter( filterOutDuplicatesByName )\n\t\t.filter( ( pattern ) => pattern.inserter !== false )\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} ),\n\t\t} ) );\n\n\treturn { patterns, isResolving: false };\n};\nconst selectPatterns = (\n\tselect,\n\t{ categoryId, search = '', syncStatus } = {}\n) => {\n\tconst { patterns: themePatterns } = selectThemePatterns( select );\n\tconst { patterns: userPatterns } = selectUserPatterns( select );\n\n\tlet patterns = [ ...( themePatterns || [] ), ...( userPatterns || [] ) ];\n\n\tif ( syncStatus ) {\n\t\tpatterns = patterns.filter(\n\t\t\t( pattern ) => pattern.syncStatus === syncStatus\n\t\t);\n\t}\n\n\tif ( categoryId ) {\n\t\tpatterns = searchItems( patterns, search, {\n\t\t\tcategoryId,\n\t\t\thasCategory: ( item, currentCategory ) =>\n\t\t\t\titem.categories?.includes( currentCategory ),\n\t\t} );\n\t} else {\n\t\tpatterns = searchItems( patterns, search, {\n\t\t\thasCategory: ( item ) => ! item.hasOwnProperty( 'categories' ),\n\t\t} );\n\t}\n\treturn { patterns, isResolving: false };\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 = ( select, { search = '', syncStatus } = {} ) => {\n\tconst { getEntityRecords, getIsResolving, getUserPatternCategories } =\n\t\tselect( coreStore );\n\n\tconst query = { per_page: -1 };\n\tconst records = getEntityRecords( 'postType', PATTERN_TYPES.user, query );\n\tconst userPatternCategories = getUserPatternCategories();\n\tconst categories = new Map();\n\tuserPatternCategories.forEach( ( userCategory ) =>\n\t\tcategories.set( userCategory.id, userCategory )\n\t);\n\tlet patterns = records\n\t\t? records.map( ( record ) =>\n\t\t\t\tpatternBlockToPattern( record, categories )\n\t\t )\n\t\t: EMPTY_PATTERN_LIST;\n\n\tconst isResolving = getIsResolving( 'getEntityRecords', [\n\t\t'postType',\n\t\tPATTERN_TYPES.user,\n\t\tquery,\n\t] );\n\n\tif ( syncStatus ) {\n\t\tpatterns = patterns.filter(\n\t\t\t( pattern ) => pattern.syncStatus === syncStatus\n\t\t);\n\t}\n\n\tpatterns = searchItems( patterns, search, {\n\t\t// We exit user pattern retrieval early if we aren't in the\n\t\t// catch-all category for user created patterns, so it has\n\t\t// to be in the category.\n\t\thasCategory: () => true,\n\t} );\n\n\treturn { patterns, isResolving, categories: userPatternCategories };\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( select, {\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, {\n\t\t\t\t\tcategoryId,\n\t\t\t\t\tsearch,\n\t\t\t\t\tsyncStatus,\n\t\t\t\t} );\n\t\t\t} else if ( categoryType === PATTERN_TYPES.user ) {\n\t\t\t\treturn selectUserPatterns( select, { search, syncStatus } );\n\t\t\t}\n\t\t\treturn { patterns: EMPTY_PATTERN_LIST, isResolving: false };\n\t\t},\n\t\t[ categoryId, categoryType, search, syncStatus ]\n\t);\n};\n\nexport default usePatterns;\n"],"mappings":"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"}
|
|
@@ -3,26 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.filterOutDuplicatesByName =
|
|
7
|
-
const DEFAULT_CATEGORY = 'my-patterns';
|
|
8
|
-
exports.DEFAULT_CATEGORY = DEFAULT_CATEGORY;
|
|
9
|
-
const DEFAULT_TYPE = 'wp_block';
|
|
10
|
-
exports.DEFAULT_TYPE = DEFAULT_TYPE;
|
|
11
|
-
const PATTERNS = 'pattern';
|
|
12
|
-
exports.PATTERNS = PATTERNS;
|
|
13
|
-
const TEMPLATE_PARTS = 'wp_template_part';
|
|
14
|
-
exports.TEMPLATE_PARTS = TEMPLATE_PARTS;
|
|
15
|
-
const USER_PATTERNS = 'wp_block';
|
|
16
|
-
exports.USER_PATTERNS = USER_PATTERNS;
|
|
17
|
-
const USER_PATTERN_CATEGORY = 'my-patterns';
|
|
18
|
-
exports.USER_PATTERN_CATEGORY = USER_PATTERN_CATEGORY;
|
|
19
|
-
const CORE_PATTERN_SOURCES = ['core', 'pattern-directory/core', 'pattern-directory/featured', 'pattern-directory/theme'];
|
|
20
|
-
exports.CORE_PATTERN_SOURCES = CORE_PATTERN_SOURCES;
|
|
21
|
-
const SYNC_TYPES = {
|
|
22
|
-
full: 'fully',
|
|
23
|
-
unsynced: 'unsynced'
|
|
24
|
-
};
|
|
25
|
-
exports.SYNC_TYPES = SYNC_TYPES;
|
|
6
|
+
exports.filterOutDuplicatesByName = void 0;
|
|
26
7
|
const filterOutDuplicatesByName = (currentItem, index, items) => index === items.findIndex(item => currentItem.name === item.name);
|
|
27
8
|
exports.filterOutDuplicatesByName = filterOutDuplicatesByName;
|
|
28
9
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["filterOutDuplicatesByName","currentItem","index","items","findIndex","item","name","exports"],"sources":["@wordpress/edit-site/src/components/page-patterns/utils.js"],"sourcesContent":["export const filterOutDuplicatesByName = ( currentItem, index, items ) =>\n\tindex === items.findIndex( ( item ) => currentItem.name === item.name );\n"],"mappings":";;;;;;AAAO,MAAMA,yBAAyB,GAAGA,CAAEC,WAAW,EAAEC,KAAK,EAAEC,KAAK,KACnED,KAAK,KAAKC,KAAK,CAACC,SAAS,CAAIC,IAAI,IAAMJ,WAAW,CAACK,IAAI,KAAKD,IAAI,CAACC,IAAK,CAAC;AAACC,OAAA,CAAAP,yBAAA,GAAAA,yBAAA"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
5
6
|
});
|
|
@@ -7,12 +8,12 @@ exports.default = EditTemplate;
|
|
|
7
8
|
var _element = require("@wordpress/element");
|
|
8
9
|
var _data = require("@wordpress/data");
|
|
9
10
|
var _htmlEntities = require("@wordpress/html-entities");
|
|
10
|
-
var _blockEditor = require("@wordpress/block-editor");
|
|
11
11
|
var _components = require("@wordpress/components");
|
|
12
12
|
var _i18n = require("@wordpress/i18n");
|
|
13
13
|
var _coreData = require("@wordpress/core-data");
|
|
14
|
-
var _blocks = require("@wordpress/blocks");
|
|
15
14
|
var _store = require("../../../store");
|
|
15
|
+
var _swapTemplateButton = _interopRequireDefault(require("./swap-template-button"));
|
|
16
|
+
var _resetDefaultTemplate = _interopRequireDefault(require("./reset-default-template"));
|
|
16
17
|
/**
|
|
17
18
|
* WordPress dependencies
|
|
18
19
|
*/
|
|
@@ -21,9 +22,12 @@ var _store = require("../../../store");
|
|
|
21
22
|
* Internal dependencies
|
|
22
23
|
*/
|
|
23
24
|
|
|
25
|
+
const POPOVER_PROPS = {
|
|
26
|
+
className: 'edit-site-page-panels-edit-template__dropdown',
|
|
27
|
+
placement: 'bottom-start'
|
|
28
|
+
};
|
|
24
29
|
function EditTemplate() {
|
|
25
30
|
const {
|
|
26
|
-
context,
|
|
27
31
|
hasResolved,
|
|
28
32
|
template
|
|
29
33
|
} = (0, _data.useSelect)(select => {
|
|
@@ -47,29 +51,34 @@ function EditTemplate() {
|
|
|
47
51
|
const {
|
|
48
52
|
setHasPageContentFocus
|
|
49
53
|
} = (0, _data.useDispatch)(_store.store);
|
|
50
|
-
const blockContext = (0, _element.useMemo)(() => ({
|
|
51
|
-
...context,
|
|
52
|
-
postType: null,
|
|
53
|
-
postId: null
|
|
54
|
-
}), [context]);
|
|
55
|
-
const blocks = (0, _element.useMemo)(() => {
|
|
56
|
-
var _template$blocks;
|
|
57
|
-
return (_template$blocks = template.blocks) !== null && _template$blocks !== void 0 ? _template$blocks : template.content && typeof template.content !== 'function' ? (0, _blocks.parse)(template.content) : [];
|
|
58
|
-
}, [template.blocks, template.content]);
|
|
59
54
|
if (!hasResolved) {
|
|
60
55
|
return null;
|
|
61
56
|
}
|
|
62
|
-
return (0, _element.createElement)(_components.
|
|
63
|
-
className: "edit-site-
|
|
64
|
-
}, (0, _element.createElement)(
|
|
65
|
-
|
|
66
|
-
}, (0, _element.createElement)(
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
57
|
+
return (0, _element.createElement)(_components.__experimentalHStack, {
|
|
58
|
+
className: "edit-site-summary-field"
|
|
59
|
+
}, (0, _element.createElement)(_components.__experimentalText, {
|
|
60
|
+
className: "edit-site-summary-field__label"
|
|
61
|
+
}, (0, _i18n.__)('Template')), (0, _element.createElement)(_components.DropdownMenu, {
|
|
62
|
+
popoverProps: POPOVER_PROPS,
|
|
63
|
+
focusOnMount: true,
|
|
64
|
+
toggleProps: {
|
|
65
|
+
variant: 'tertiary',
|
|
66
|
+
className: 'edit-site-summary-field__trigger'
|
|
67
|
+
},
|
|
68
|
+
label: (0, _i18n.__)('Template options'),
|
|
69
|
+
text: (0, _htmlEntities.decodeEntities)(template.title),
|
|
70
|
+
icon: null
|
|
71
|
+
}, ({
|
|
72
|
+
onClose
|
|
73
|
+
}) => (0, _element.createElement)(_element.Fragment, null, (0, _element.createElement)(_components.MenuGroup, null, (0, _element.createElement)(_components.MenuItem, {
|
|
74
|
+
onClick: () => {
|
|
75
|
+
setHasPageContentFocus(false);
|
|
76
|
+
onClose();
|
|
77
|
+
}
|
|
78
|
+
}, (0, _i18n.__)('Edit template')), (0, _element.createElement)(_swapTemplateButton.default, {
|
|
79
|
+
onClick: onClose
|
|
80
|
+
})), (0, _element.createElement)(_resetDefaultTemplate.default, {
|
|
81
|
+
onClick: onClose
|
|
82
|
+
}))));
|
|
74
83
|
}
|
|
75
84
|
//# sourceMappingURL=edit-template.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_data","require","_htmlEntities","_components","_i18n","_coreData","_store","_swapTemplateButton","_interopRequireDefault","_resetDefaultTemplate","POPOVER_PROPS","className","placement","EditTemplate","hasResolved","template","useSelect","select","getEditedPostContext","getEditedPostType","getEditedPostId","editSiteStore","getEditedEntityRecord","hasFinishedResolution","coreStore","_context","queryArgs","context","setHasPageContentFocus","useDispatch","_element","createElement","__experimentalHStack","__experimentalText","__","DropdownMenu","popoverProps","focusOnMount","toggleProps","variant","label","text","decodeEntities","title","icon","onClose","Fragment","MenuGroup","MenuItem","onClick","default"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/page-panels/edit-template.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport {\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItem,\n\t__experimentalHStack as HStack,\n\t__experimentalText as Text,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../../store';\nimport SwapTemplateButton from './swap-template-button';\nimport ResetDefaultTemplate from './reset-default-template';\n\nconst POPOVER_PROPS = {\n\tclassName: 'edit-site-page-panels-edit-template__dropdown',\n\tplacement: 'bottom-start',\n};\n\nexport default function EditTemplate() {\n\tconst { hasResolved, template } = useSelect( ( select ) => {\n\t\tconst { getEditedPostContext, getEditedPostType, getEditedPostId } =\n\t\t\tselect( editSiteStore );\n\t\tconst { getEditedEntityRecord, hasFinishedResolution } =\n\t\t\tselect( coreStore );\n\t\tconst _context = getEditedPostContext();\n\t\tconst queryArgs = [\n\t\t\t'postType',\n\t\t\tgetEditedPostType(),\n\t\t\tgetEditedPostId(),\n\t\t];\n\t\treturn {\n\t\t\tcontext: _context,\n\t\t\thasResolved: hasFinishedResolution(\n\t\t\t\t'getEditedEntityRecord',\n\t\t\t\tqueryArgs\n\t\t\t),\n\t\t\ttemplate: getEditedEntityRecord( ...queryArgs ),\n\t\t};\n\t}, [] );\n\n\tconst { setHasPageContentFocus } = useDispatch( editSiteStore );\n\n\tif ( ! hasResolved ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<HStack className=\"edit-site-summary-field\">\n\t\t\t<Text className=\"edit-site-summary-field__label\">\n\t\t\t\t{ __( 'Template' ) }\n\t\t\t</Text>\n\t\t\t<DropdownMenu\n\t\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t\t\tfocusOnMount\n\t\t\t\ttoggleProps={ {\n\t\t\t\t\tvariant: 'tertiary',\n\t\t\t\t\tclassName: 'edit-site-summary-field__trigger',\n\t\t\t\t} }\n\t\t\t\tlabel={ __( 'Template options' ) }\n\t\t\t\ttext={ decodeEntities( template.title ) }\n\t\t\t\ticon={ null }\n\t\t\t>\n\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<MenuGroup>\n\t\t\t\t\t\t\t<MenuItem\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tsetHasPageContentFocus( false );\n\t\t\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Edit template' ) }\n\t\t\t\t\t\t\t</MenuItem>\n\t\t\t\t\t\t\t<SwapTemplateButton onClick={ onClose } />\n\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t<ResetDefaultTemplate onClick={ onClose } />\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t</DropdownMenu>\n\t\t</HStack>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAOA,IAAAG,KAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AAKA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,mBAAA,GAAAC,sBAAA,CAAAP,OAAA;AACA,IAAAQ,qBAAA,GAAAD,sBAAA,CAAAP,OAAA;AApBA;AACA;AACA;;AAaA;AACA;AACA;;AAKA,MAAMS,aAAa,GAAG;EACrBC,SAAS,EAAE,+CAA+C;EAC1DC,SAAS,EAAE;AACZ,CAAC;AAEc,SAASC,YAAYA,CAAA,EAAG;EACtC,MAAM;IAAEC,WAAW;IAAEC;EAAS,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAC1D,MAAM;MAAEC,oBAAoB;MAAEC,iBAAiB;MAAEC;IAAgB,CAAC,GACjEH,MAAM,CAAEI,YAAc,CAAC;IACxB,MAAM;MAAEC,qBAAqB;MAAEC;IAAsB,CAAC,GACrDN,MAAM,CAAEO,eAAU,CAAC;IACpB,MAAMC,QAAQ,GAAGP,oBAAoB,CAAC,CAAC;IACvC,MAAMQ,SAAS,GAAG,CACjB,UAAU,EACVP,iBAAiB,CAAC,CAAC,EACnBC,eAAe,CAAC,CAAC,CACjB;IACD,OAAO;MACNO,OAAO,EAAEF,QAAQ;MACjBX,WAAW,EAAES,qBAAqB,CACjC,uBAAuB,EACvBG,SACD,CAAC;MACDX,QAAQ,EAAEO,qBAAqB,CAAE,GAAGI,SAAU;IAC/C,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAM;IAAEE;EAAuB,CAAC,GAAG,IAAAC,iBAAW,EAAER,YAAc,CAAC;EAE/D,IAAK,CAAEP,WAAW,EAAG;IACpB,OAAO,IAAI;EACZ;EAEA,OACC,IAAAgB,QAAA,CAAAC,aAAA,EAAC5B,WAAA,CAAA6B,oBAAM;IAACrB,SAAS,EAAC;EAAyB,GAC1C,IAAAmB,QAAA,CAAAC,aAAA,EAAC5B,WAAA,CAAA8B,kBAAI;IAACtB,SAAS,EAAC;EAAgC,GAC7C,IAAAuB,QAAE,EAAE,UAAW,CACZ,CAAC,EACP,IAAAJ,QAAA,CAAAC,aAAA,EAAC5B,WAAA,CAAAgC,YAAY;IACZC,YAAY,EAAG1B,aAAe;IAC9B2B,YAAY;IACZC,WAAW,EAAG;MACbC,OAAO,EAAE,UAAU;MACnB5B,SAAS,EAAE;IACZ,CAAG;IACH6B,KAAK,EAAG,IAAAN,QAAE,EAAE,kBAAmB,CAAG;IAClCO,IAAI,EAAG,IAAAC,4BAAc,EAAE3B,QAAQ,CAAC4B,KAAM,CAAG;IACzCC,IAAI,EAAG;EAAM,GAEX,CAAE;IAAEC;EAAQ,CAAC,KACd,IAAAf,QAAA,CAAAC,aAAA,EAAAD,QAAA,CAAAgB,QAAA,QACC,IAAAhB,QAAA,CAAAC,aAAA,EAAC5B,WAAA,CAAA4C,SAAS,QACT,IAAAjB,QAAA,CAAAC,aAAA,EAAC5B,WAAA,CAAA6C,QAAQ;IACRC,OAAO,EAAGA,CAAA,KAAM;MACfrB,sBAAsB,CAAE,KAAM,CAAC;MAC/BiB,OAAO,CAAC,CAAC;IACV;EAAG,GAED,IAAAX,QAAE,EAAE,eAAgB,CACb,CAAC,EACX,IAAAJ,QAAA,CAAAC,aAAA,EAACxB,mBAAA,CAAA2C,OAAkB;IAACD,OAAO,EAAGJ;EAAS,CAAE,CAC/B,CAAC,EACZ,IAAAf,QAAA,CAAAC,aAAA,EAACtB,qBAAA,CAAAyC,OAAoB;IAACD,OAAO,EAAGJ;EAAS,CAAE,CAC1C,CAEU,CACP,CAAC;AAEX"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useAvailableTemplates = useAvailableTemplates;
|
|
7
|
+
exports.useCurrentTemplateSlug = useCurrentTemplateSlug;
|
|
8
|
+
exports.useEditedPostContext = useEditedPostContext;
|
|
9
|
+
exports.useIsPostsPage = useIsPostsPage;
|
|
10
|
+
var _data = require("@wordpress/data");
|
|
11
|
+
var _element = require("@wordpress/element");
|
|
12
|
+
var _coreData = require("@wordpress/core-data");
|
|
13
|
+
var _store = require("../../../store");
|
|
14
|
+
/**
|
|
15
|
+
* WordPress dependencies
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Internal dependencies
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
function useEditedPostContext() {
|
|
23
|
+
return (0, _data.useSelect)(select => select(_store.store).getEditedPostContext(), []);
|
|
24
|
+
}
|
|
25
|
+
function useIsPostsPage() {
|
|
26
|
+
const {
|
|
27
|
+
postId
|
|
28
|
+
} = useEditedPostContext();
|
|
29
|
+
return (0, _data.useSelect)(select => +postId === select(_coreData.store).getEntityRecord('root', 'site')?.page_for_posts, [postId]);
|
|
30
|
+
}
|
|
31
|
+
function useTemplates() {
|
|
32
|
+
return (0, _data.useSelect)(select => select(_coreData.store).getEntityRecords('postType', 'wp_template', {
|
|
33
|
+
per_page: -1,
|
|
34
|
+
post_type: 'page'
|
|
35
|
+
}), []);
|
|
36
|
+
}
|
|
37
|
+
function useAvailableTemplates() {
|
|
38
|
+
const currentTemplateSlug = useCurrentTemplateSlug();
|
|
39
|
+
const isPostsPage = useIsPostsPage();
|
|
40
|
+
const templates = useTemplates();
|
|
41
|
+
return (0, _element.useMemo)(() =>
|
|
42
|
+
// The posts page template cannot be changed.
|
|
43
|
+
!isPostsPage && templates?.filter(template => template.is_custom && template.slug !== currentTemplateSlug && !!template.content.raw // Skip empty templates.
|
|
44
|
+
), [templates, currentTemplateSlug, isPostsPage]);
|
|
45
|
+
}
|
|
46
|
+
function useCurrentTemplateSlug() {
|
|
47
|
+
const {
|
|
48
|
+
postType,
|
|
49
|
+
postId
|
|
50
|
+
} = useEditedPostContext();
|
|
51
|
+
const templates = useTemplates();
|
|
52
|
+
const entityTemplate = (0, _data.useSelect)(select => {
|
|
53
|
+
const post = select(_coreData.store).getEditedEntityRecord('postType', postType, postId);
|
|
54
|
+
return post?.template;
|
|
55
|
+
}, [postType, postId]);
|
|
56
|
+
if (!entityTemplate) {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
// If a page has a `template` set and is not included in the list
|
|
60
|
+
// of the theme's templates, do not return it, in order to resolve
|
|
61
|
+
// to the current theme's default template.
|
|
62
|
+
return templates?.find(template => template.slug === entityTemplate)?.slug;
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=hooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_data","require","_element","_coreData","_store","useEditedPostContext","useSelect","select","editSiteStore","getEditedPostContext","useIsPostsPage","postId","coreStore","getEntityRecord","page_for_posts","useTemplates","getEntityRecords","per_page","post_type","useAvailableTemplates","currentTemplateSlug","useCurrentTemplateSlug","isPostsPage","templates","useMemo","filter","template","is_custom","slug","content","raw","postType","entityTemplate","post","getEditedEntityRecord","find"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/page-panels/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';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../../store';\n\nexport function useEditedPostContext() {\n\treturn useSelect(\n\t\t( select ) => select( editSiteStore ).getEditedPostContext(),\n\t\t[]\n\t);\n}\n\nexport function useIsPostsPage() {\n\tconst { postId } = useEditedPostContext();\n\treturn useSelect(\n\t\t( select ) =>\n\t\t\t+postId ===\n\t\t\tselect( coreStore ).getEntityRecord( 'root', 'site' )\n\t\t\t\t?.page_for_posts,\n\t\t[ postId ]\n\t);\n}\n\nfunction useTemplates() {\n\treturn useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).getEntityRecords( 'postType', 'wp_template', {\n\t\t\t\tper_page: -1,\n\t\t\t\tpost_type: 'page',\n\t\t\t} ),\n\t\t[]\n\t);\n}\n\nexport function useAvailableTemplates() {\n\tconst currentTemplateSlug = useCurrentTemplateSlug();\n\tconst isPostsPage = useIsPostsPage();\n\tconst templates = useTemplates();\n\treturn useMemo(\n\t\t() =>\n\t\t\t// The posts page template cannot be changed.\n\t\t\t! isPostsPage &&\n\t\t\ttemplates?.filter(\n\t\t\t\t( template ) =>\n\t\t\t\t\ttemplate.is_custom &&\n\t\t\t\t\ttemplate.slug !== currentTemplateSlug &&\n\t\t\t\t\t!! template.content.raw // Skip empty templates.\n\t\t\t),\n\t\t[ templates, currentTemplateSlug, isPostsPage ]\n\t);\n}\n\nexport function useCurrentTemplateSlug() {\n\tconst { postType, postId } = useEditedPostContext();\n\tconst templates = useTemplates();\n\tconst entityTemplate = useSelect(\n\t\t( select ) => {\n\t\t\tconst post = select( coreStore ).getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\tpostId\n\t\t\t);\n\t\t\treturn post?.template;\n\t\t},\n\t\t[ postType, postId ]\n\t);\n\n\tif ( ! entityTemplate ) {\n\t\treturn;\n\t}\n\t// If a page has a `template` set and is not included in the list\n\t// of the theme's templates, do not return it, in order to resolve\n\t// to the current theme's default template.\n\treturn templates?.find( ( template ) => template.slug === entityTemplate )\n\t\t?.slug;\n}\n"],"mappings":";;;;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AAKA,IAAAG,MAAA,GAAAH,OAAA;AAVA;AACA;AACA;;AAKA;AACA;AACA;;AAGO,SAASI,oBAAoBA,CAAA,EAAG;EACtC,OAAO,IAAAC,eAAS,EACbC,MAAM,IAAMA,MAAM,CAAEC,YAAc,CAAC,CAACC,oBAAoB,CAAC,CAAC,EAC5D,EACD,CAAC;AACF;AAEO,SAASC,cAAcA,CAAA,EAAG;EAChC,MAAM;IAAEC;EAAO,CAAC,GAAGN,oBAAoB,CAAC,CAAC;EACzC,OAAO,IAAAC,eAAS,EACbC,MAAM,IACP,CAACI,MAAM,KACPJ,MAAM,CAAEK,eAAU,CAAC,CAACC,eAAe,CAAE,MAAM,EAAE,MAAO,CAAC,EAClDC,cAAc,EAClB,CAAEH,MAAM,CACT,CAAC;AACF;AAEA,SAASI,YAAYA,CAAA,EAAG;EACvB,OAAO,IAAAT,eAAS,EACbC,MAAM,IACPA,MAAM,CAAEK,eAAU,CAAC,CAACI,gBAAgB,CAAE,UAAU,EAAE,aAAa,EAAE;IAChEC,QAAQ,EAAE,CAAC,CAAC;IACZC,SAAS,EAAE;EACZ,CAAE,CAAC,EACJ,EACD,CAAC;AACF;AAEO,SAASC,qBAAqBA,CAAA,EAAG;EACvC,MAAMC,mBAAmB,GAAGC,sBAAsB,CAAC,CAAC;EACpD,MAAMC,WAAW,GAAGZ,cAAc,CAAC,CAAC;EACpC,MAAMa,SAAS,GAAGR,YAAY,CAAC,CAAC;EAChC,OAAO,IAAAS,gBAAO,EACb;EACC;EACA,CAAEF,WAAW,IACbC,SAAS,EAAEE,MAAM,CACdC,QAAQ,IACTA,QAAQ,CAACC,SAAS,IAClBD,QAAQ,CAACE,IAAI,KAAKR,mBAAmB,IACrC,CAAC,CAAEM,QAAQ,CAACG,OAAO,CAACC,GAAG,CAAC;EAC1B,CAAC,EACF,CAAEP,SAAS,EAAEH,mBAAmB,EAAEE,WAAW,CAC9C,CAAC;AACF;AAEO,SAASD,sBAAsBA,CAAA,EAAG;EACxC,MAAM;IAAEU,QAAQ;IAAEpB;EAAO,CAAC,GAAGN,oBAAoB,CAAC,CAAC;EACnD,MAAMkB,SAAS,GAAGR,YAAY,CAAC,CAAC;EAChC,MAAMiB,cAAc,GAAG,IAAA1B,eAAS,EAC7BC,MAAM,IAAM;IACb,MAAM0B,IAAI,GAAG1B,MAAM,CAAEK,eAAU,CAAC,CAACsB,qBAAqB,CACrD,UAAU,EACVH,QAAQ,EACRpB,MACD,CAAC;IACD,OAAOsB,IAAI,EAAEP,QAAQ;EACtB,CAAC,EACD,CAAEK,QAAQ,EAAEpB,MAAM,CACnB,CAAC;EAED,IAAK,CAAEqB,cAAc,EAAG;IACvB;EACD;EACA;EACA;EACA;EACA,OAAOT,SAAS,EAAEY,IAAI,CAAIT,QAAQ,IAAMA,QAAQ,CAACE,IAAI,KAAKI,cAAe,CAAC,EACvEJ,IAAI;AACR"}
|
|
@@ -17,7 +17,6 @@ var _store = require("../../../store");
|
|
|
17
17
|
var _sidebarCard = _interopRequireDefault(require("../sidebar-card"));
|
|
18
18
|
var _pageContent = _interopRequireDefault(require("./page-content"));
|
|
19
19
|
var _pageSummary = _interopRequireDefault(require("./page-summary"));
|
|
20
|
-
var _editTemplate = _interopRequireDefault(require("./edit-template"));
|
|
21
20
|
/**
|
|
22
21
|
* WordPress dependencies
|
|
23
22
|
*/
|
|
@@ -77,8 +76,6 @@ function PagePanels() {
|
|
|
77
76
|
postType: type
|
|
78
77
|
})), (0, _element.createElement)(_components.PanelBody, {
|
|
79
78
|
title: (0, _i18n.__)('Content')
|
|
80
|
-
}, (0, _element.createElement)(_pageContent.default, null))
|
|
81
|
-
title: (0, _i18n.__)('Template')
|
|
82
|
-
}, (0, _element.createElement)(_editTemplate.default, null)));
|
|
79
|
+
}, (0, _element.createElement)(_pageContent.default, null)));
|
|
83
80
|
}
|
|
84
81
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","_icons","_i18n","_date","_data","_coreData","_htmlEntities","_store","_sidebarCard","_interopRequireDefault","_pageContent","_pageSummary","
|
|
1
|
+
{"version":3,"names":["_components","require","_icons","_i18n","_date","_data","_coreData","_htmlEntities","_store","_sidebarCard","_interopRequireDefault","_pageContent","_pageSummary","PagePanels","id","type","hasResolved","status","date","password","title","modified","useSelect","select","getEditedPostContext","editSiteStore","getEditedEntityRecord","hasFinishedResolution","coreStore","context","queryArgs","postType","postId","page","_element","createElement","Fragment","PanelBody","default","decodeEntities","icon","pageIcon","description","__experimentalVStack","__experimentalText","sprintf","__","humanTimeDiff"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/page-panels/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tPanelBody,\n\t__experimentalText as Text,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { page as pageIcon } from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { humanTimeDiff } from '@wordpress/date';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../../store';\nimport SidebarCard from '../sidebar-card';\nimport PageContent from './page-content';\nimport PageSummary from './page-summary';\n\nexport default function PagePanels() {\n\tconst { id, type, hasResolved, status, date, password, title, modified } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst { getEditedPostContext } = select( editSiteStore );\n\t\t\tconst { getEditedEntityRecord, hasFinishedResolution } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst context = getEditedPostContext();\n\t\t\tconst queryArgs = [ 'postType', context.postType, context.postId ];\n\t\t\tconst page = getEditedEntityRecord( ...queryArgs );\n\t\t\treturn {\n\t\t\t\thasResolved: hasFinishedResolution(\n\t\t\t\t\t'getEditedEntityRecord',\n\t\t\t\t\tqueryArgs\n\t\t\t\t),\n\t\t\t\ttitle: page?.title,\n\t\t\t\tid: page?.id,\n\t\t\t\ttype: page?.type,\n\t\t\t\tstatus: page?.status,\n\t\t\t\tdate: page?.date,\n\t\t\t\tpassword: page?.password,\n\t\t\t\tmodified: page?.modified,\n\t\t\t};\n\t\t}, [] );\n\n\tif ( ! hasResolved ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<>\n\t\t\t<PanelBody>\n\t\t\t\t<SidebarCard\n\t\t\t\t\ttitle={ decodeEntities( title ) }\n\t\t\t\t\ticon={ pageIcon }\n\t\t\t\t\tdescription={\n\t\t\t\t\t\t<VStack>\n\t\t\t\t\t\t\t<Text>\n\t\t\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t\t\t// translators: %s: Human-readable time difference, e.g. \"2 days ago\".\n\t\t\t\t\t\t\t\t\t__( 'Last edited %s' ),\n\t\t\t\t\t\t\t\t\thumanTimeDiff( modified )\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t</VStack>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\t\t\t<PanelBody title={ __( 'Summary' ) }>\n\t\t\t\t<PageSummary\n\t\t\t\t\tstatus={ status }\n\t\t\t\t\tdate={ date }\n\t\t\t\t\tpassword={ password }\n\t\t\t\t\tpostId={ id }\n\t\t\t\t\tpostType={ type }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\t\t\t<PanelBody title={ __( 'Content' ) }>\n\t\t\t\t<PageContent />\n\t\t\t</PanelBody>\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ var _element = require("@wordpress/element");
|
|
|
9
9
|
var _components = require("@wordpress/components");
|
|
10
10
|
var _pageStatus = _interopRequireDefault(require("./page-status"));
|
|
11
11
|
var _publishDate = _interopRequireDefault(require("./publish-date"));
|
|
12
|
+
var _editTemplate = _interopRequireDefault(require("./edit-template"));
|
|
12
13
|
/**
|
|
13
14
|
* WordPress dependencies
|
|
14
15
|
*/
|
|
@@ -35,6 +36,6 @@ function PageSummary({
|
|
|
35
36
|
date: date,
|
|
36
37
|
postId: postId,
|
|
37
38
|
postType: postType
|
|
38
|
-
}));
|
|
39
|
+
}), (0, _element.createElement)(_editTemplate.default, null));
|
|
39
40
|
}
|
|
40
41
|
//# sourceMappingURL=page-summary.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","_pageStatus","_interopRequireDefault","_publishDate","PageSummary","status","date","password","postId","postType","_element","createElement","__experimentalVStack","default"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/page-panels/page-summary.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __experimentalVStack as VStack } from '@wordpress/components';\n/**\n * Internal dependencies\n */\nimport PageStatus from './page-status';\nimport PublishDate from './publish-date';\n\nexport default function PageSummary( {\n\tstatus,\n\tdate,\n\tpassword,\n\tpostId,\n\tpostType,\n} ) {\n\treturn (\n\t\t<VStack>\n\t\t\t<PageStatus\n\t\t\t\tstatus={ status }\n\t\t\t\tdate={ date }\n\t\t\t\tpassword={ password }\n\t\t\t\tpostId={ postId }\n\t\t\t\tpostType={ postType }\n\t\t\t/>\n\t\t\t<PublishDate\n\t\t\t\tstatus={ status }\n\t\t\t\tdate={ date }\n\t\t\t\tpostId={ postId }\n\t\t\t\tpostType={ postType }\n\t\t\t/>\n\t\t</VStack>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAIA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,YAAA,GAAAD,sBAAA,CAAAF,OAAA;
|
|
1
|
+
{"version":3,"names":["_components","require","_pageStatus","_interopRequireDefault","_publishDate","_editTemplate","PageSummary","status","date","password","postId","postType","_element","createElement","__experimentalVStack","default"],"sources":["@wordpress/edit-site/src/components/sidebar-edit-mode/page-panels/page-summary.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __experimentalVStack as VStack } from '@wordpress/components';\n/**\n * Internal dependencies\n */\nimport PageStatus from './page-status';\nimport PublishDate from './publish-date';\nimport EditTemplate from './edit-template';\n\nexport default function PageSummary( {\n\tstatus,\n\tdate,\n\tpassword,\n\tpostId,\n\tpostType,\n} ) {\n\treturn (\n\t\t<VStack>\n\t\t\t<PageStatus\n\t\t\t\tstatus={ status }\n\t\t\t\tdate={ date }\n\t\t\t\tpassword={ password }\n\t\t\t\tpostId={ postId }\n\t\t\t\tpostType={ postType }\n\t\t\t/>\n\t\t\t<PublishDate\n\t\t\t\tstatus={ status }\n\t\t\t\tdate={ date }\n\t\t\t\tpostId={ postId }\n\t\t\t\tpostType={ postType }\n\t\t\t/>\n\t\t\t<EditTemplate />\n\t\t</VStack>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAIA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,YAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,aAAA,GAAAF,sBAAA,CAAAF,OAAA;AATA;AACA;AACA;;AAEA;AACA;AACA;;AAKe,SAASK,WAAWA,CAAE;EACpCC,MAAM;EACNC,IAAI;EACJC,QAAQ;EACRC,MAAM;EACNC;AACD,CAAC,EAAG;EACH,OACC,IAAAC,QAAA,CAAAC,aAAA,EAACb,WAAA,CAAAc,oBAAM,QACN,IAAAF,QAAA,CAAAC,aAAA,EAACX,WAAA,CAAAa,OAAU;IACVR,MAAM,EAAGA,MAAQ;IACjBC,IAAI,EAAGA,IAAM;IACbC,QAAQ,EAAGA,QAAU;IACrBC,MAAM,EAAGA,MAAQ;IACjBC,QAAQ,EAAGA;EAAU,CACrB,CAAC,EACF,IAAAC,QAAA,CAAAC,aAAA,EAACT,YAAA,CAAAW,OAAW;IACXR,MAAM,EAAGA,MAAQ;IACjBC,IAAI,EAAGA,IAAM;IACbE,MAAM,EAAGA,MAAQ;IACjBC,QAAQ,EAAGA;EAAU,CACrB,CAAC,EACF,IAAAC,QAAA,CAAAC,aAAA,EAACR,aAAA,CAAAU,OAAY,MAAE,CACR,CAAC;AAEX"}
|