@wordpress/edit-site 5.27.1 → 5.28.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/actions/index.js +3 -6
- package/build/components/actions/index.js.map +1 -1
- package/build/components/add-new-template/add-custom-generic-template-modal-content.js +1 -2
- package/build/components/add-new-template/add-custom-generic-template-modal-content.js.map +1 -1
- package/build/components/add-new-template/add-custom-template-modal-content.js +1 -2
- package/build/components/add-new-template/add-custom-template-modal-content.js.map +1 -1
- package/build/components/block-editor/editor-canvas.js +1 -2
- package/build/components/block-editor/editor-canvas.js.map +1 -1
- package/build/components/block-editor/inserter-media-categories.js +1 -2
- package/build/components/block-editor/inserter-media-categories.js.map +1 -1
- package/build/components/block-editor/resizable-editor.js +1 -2
- package/build/components/block-editor/resizable-editor.js.map +1 -1
- package/build/components/block-editor/site-editor-canvas.js +12 -5
- package/build/components/block-editor/site-editor-canvas.js.map +1 -1
- package/build/components/block-editor/use-navigate-to-entity-record.js +32 -0
- package/build/components/block-editor/use-navigate-to-entity-record.js.map +1 -0
- package/build/components/block-editor/use-site-editor-settings.js +30 -4
- package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
- package/build/components/editor/index.js +13 -10
- package/build/components/editor/index.js.map +1 -1
- package/build/components/editor-canvas-container/index.js +1 -2
- package/build/components/editor-canvas-container/index.js.map +1 -1
- package/build/components/global-styles/block-preview-panel.js +1 -2
- package/build/components/global-styles/block-preview-panel.js.map +1 -1
- package/build/components/global-styles/color-indicator-wrapper.js +1 -2
- package/build/components/global-styles/color-indicator-wrapper.js.map +1 -1
- package/build/components/global-styles/font-families.js +9 -5
- package/build/components/global-styles/font-families.js.map +1 -1
- package/build/components/global-styles/font-family-item.js +1 -2
- package/build/components/global-styles/font-family-item.js.map +1 -1
- package/build/components/global-styles/font-library-modal/collection-font-details.js +1 -2
- package/build/components/global-styles/font-library-modal/collection-font-details.js.map +1 -1
- package/build/components/global-styles/font-library-modal/collection-font-variant.js +13 -13
- package/build/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -1
- package/build/components/global-styles/font-library-modal/confirm-delete-dialog.js +1 -2
- package/build/components/global-styles/font-library-modal/confirm-delete-dialog.js.map +1 -1
- package/build/components/global-styles/font-library-modal/context.js +16 -4
- package/build/components/global-styles/font-library-modal/context.js.map +1 -1
- package/build/components/global-styles/font-library-modal/font-card.js +3 -3
- package/build/components/global-styles/font-library-modal/font-card.js.map +1 -1
- package/build/components/global-styles/font-library-modal/font-collection.js +26 -40
- package/build/components/global-styles/font-library-modal/font-collection.js.map +1 -1
- package/build/components/global-styles/font-library-modal/font-demo.js +6 -12
- package/build/components/global-styles/font-library-modal/font-demo.js.map +1 -1
- package/build/components/global-styles/font-library-modal/fonts-grid.js +1 -2
- package/build/components/global-styles/font-library-modal/fonts-grid.js.map +1 -1
- package/build/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +3 -4
- package/build/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js.map +1 -1
- package/build/components/global-styles/font-library-modal/index.js +11 -5
- package/build/components/global-styles/font-library-modal/index.js.map +1 -1
- package/build/components/global-styles/font-library-modal/installed-fonts.js +14 -26
- package/build/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
- package/build/components/global-styles/font-library-modal/library-font-card.js +2 -3
- package/build/components/global-styles/font-library-modal/library-font-card.js.map +1 -1
- package/build/components/global-styles/font-library-modal/library-font-details.js +1 -2
- package/build/components/global-styles/font-library-modal/library-font-details.js.map +1 -1
- package/build/components/global-styles/font-library-modal/library-font-variant.js +15 -15
- package/build/components/global-styles/font-library-modal/library-font-variant.js.map +1 -1
- package/build/components/global-styles/font-library-modal/resolvers.js +1 -1
- package/build/components/global-styles/font-library-modal/resolvers.js.map +1 -1
- package/build/components/global-styles/font-library-modal/tab-panel-layout.js +13 -4
- package/build/components/global-styles/font-library-modal/tab-panel-layout.js.map +1 -1
- package/build/components/global-styles/font-library-modal/upload-fonts.js +157 -6
- package/build/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
- package/build/components/global-styles/font-library-modal/utils/constants.js +3 -6
- package/build/components/global-styles/font-library-modal/utils/constants.js.map +1 -1
- package/build/components/global-styles/font-library-modal/utils/index.js +37 -32
- package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -1
- package/build/components/global-styles/header.js +1 -2
- package/build/components/global-styles/header.js.map +1 -1
- package/build/components/global-styles/palette.js +1 -2
- package/build/components/global-styles/palette.js.map +1 -1
- package/build/components/global-styles/preview.js +1 -2
- package/build/components/global-styles/preview.js.map +1 -1
- package/build/components/global-styles/root-menu.js +1 -2
- package/build/components/global-styles/root-menu.js.map +1 -1
- package/build/components/global-styles/screen-block-list.js +1 -2
- package/build/components/global-styles/screen-block-list.js.map +1 -1
- package/build/components/global-styles/screen-block.js +1 -11
- package/build/components/global-styles/screen-block.js.map +1 -1
- package/build/components/global-styles/screen-color-palette.js +1 -2
- package/build/components/global-styles/screen-color-palette.js.map +1 -1
- package/build/components/global-styles/screen-colors.js +1 -2
- package/build/components/global-styles/screen-colors.js.map +1 -1
- package/build/components/global-styles/screen-css.js +1 -2
- package/build/components/global-styles/screen-css.js.map +1 -1
- package/build/components/global-styles/screen-layout.js +1 -2
- package/build/components/global-styles/screen-layout.js.map +1 -1
- package/build/components/global-styles/screen-revisions/index.js +1 -2
- package/build/components/global-styles/screen-revisions/index.js.map +1 -1
- package/build/components/global-styles/screen-revisions/revisions-buttons.js +2 -3
- package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
- package/build/components/global-styles/screen-root.js +1 -2
- package/build/components/global-styles/screen-root.js.map +1 -1
- package/build/components/global-styles/screen-style-variations.js +1 -2
- package/build/components/global-styles/screen-style-variations.js.map +1 -1
- package/build/components/global-styles/screen-typography-element.js +3 -6
- package/build/components/global-styles/screen-typography-element.js.map +1 -1
- package/build/components/global-styles/screen-typography.js +1 -2
- package/build/components/global-styles/screen-typography.js.map +1 -1
- package/build/components/global-styles/subtitle.js +1 -2
- package/build/components/global-styles/subtitle.js.map +1 -1
- package/build/components/global-styles/typogrphy-elements.js +1 -2
- package/build/components/global-styles/typogrphy-elements.js.map +1 -1
- package/build/components/global-styles/ui.js +3 -4
- package/build/components/global-styles/ui.js.map +1 -1
- package/build/components/header-edit-mode/mode-switcher/index.js +1 -2
- package/build/components/header-edit-mode/mode-switcher/index.js.map +1 -1
- package/build/components/header-edit-mode/more-menu/index.js +12 -21
- package/build/components/header-edit-mode/more-menu/index.js.map +1 -1
- package/build/components/header-edit-mode/plugin-more-menu-item/index.js +1 -2
- package/build/components/header-edit-mode/plugin-more-menu-item/index.js.map +1 -1
- package/build/components/header-edit-mode/tools-more-menu-group/index.js +1 -2
- package/build/components/header-edit-mode/tools-more-menu-group/index.js.map +1 -1
- package/build/components/keyboard-shortcut-help-modal/config.js +1 -2
- package/build/components/keyboard-shortcut-help-modal/config.js.map +1 -1
- package/build/components/keyboard-shortcut-help-modal/index.js +1 -3
- package/build/components/keyboard-shortcut-help-modal/index.js.map +1 -1
- package/build/components/keyboard-shortcuts/edit-mode.js +1 -2
- package/build/components/keyboard-shortcuts/edit-mode.js.map +1 -1
- package/build/components/keyboard-shortcuts/global.js +1 -2
- package/build/components/keyboard-shortcuts/global.js.map +1 -1
- package/build/components/keyboard-shortcuts/register.js +1 -2
- package/build/components/keyboard-shortcuts/register.js.map +1 -1
- package/build/components/layout/index.js +0 -2
- package/build/components/layout/index.js.map +1 -1
- package/build/components/media/index.js +1 -2
- package/build/components/media/index.js.map +1 -1
- package/build/components/page-pages/index.js +27 -15
- package/build/components/page-pages/index.js.map +1 -1
- package/build/components/page-patterns/dataviews-pattern-actions.js +87 -32
- package/build/components/page-patterns/dataviews-pattern-actions.js.map +1 -1
- package/build/components/page-patterns/grid-item.js +2 -6
- package/build/components/page-patterns/grid-item.js.map +1 -1
- package/build/components/page-patterns/index.js +2 -1
- package/build/components/page-patterns/index.js.map +1 -1
- package/build/components/page-patterns/search-items.js +0 -1
- package/build/components/page-patterns/search-items.js.map +1 -1
- package/build/components/page-patterns/use-patterns.js +1 -2
- package/build/components/page-patterns/use-patterns.js.map +1 -1
- package/build/components/page-templates-template-parts/actions.js +2 -4
- package/build/components/page-templates-template-parts/actions.js.map +1 -1
- package/build/components/page-templates-template-parts/index.js +8 -5
- package/build/components/page-templates-template-parts/index.js.map +1 -1
- package/build/components/pattern-modal/index.js +1 -2
- package/build/components/pattern-modal/index.js.map +1 -1
- package/build/components/plugin-template-setting-panel/index.js +1 -2
- package/build/components/plugin-template-setting-panel/index.js.map +1 -1
- package/build/components/preferences-modal/index.js +1 -2
- package/build/components/preferences-modal/index.js.map +1 -1
- package/build/components/resizable-frame/index.js +1 -2
- package/build/components/resizable-frame/index.js.map +1 -1
- package/build/components/revisions/index.js +1 -2
- package/build/components/revisions/index.js.map +1 -1
- package/build/components/routes/link.js +3 -7
- package/build/components/routes/link.js.map +1 -1
- package/build/components/sidebar/index.js +3 -4
- package/build/components/sidebar/index.js.map +1 -1
- package/build/components/sidebar-dataviews/default-views.js +4 -6
- package/build/components/sidebar-dataviews/default-views.js.map +1 -1
- package/build/components/sidebar-edit-mode/constants.js +2 -4
- package/build/components/sidebar-edit-mode/constants.js.map +1 -1
- package/build/components/sidebar-edit-mode/index.js +97 -19
- package/build/components/sidebar-edit-mode/index.js.map +1 -1
- package/build/components/sidebar-edit-mode/settings-header/index.js +22 -73
- package/build/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menu/index.js +1 -2
- package/build/components/sidebar-navigation-screen-navigation-menu/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menus/constants.js +1 -2
- package/build/components/sidebar-navigation-screen-navigation-menus/constants.js.map +1 -1
- package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js +1 -1
- package/build/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
- package/build/components/site-hub/index.js +1 -2
- package/build/components/site-hub/index.js.map +1 -1
- package/build/components/site-icon/index.js +3 -4
- package/build/components/site-icon/index.js.map +1 -1
- package/build/components/style-book/index.js +1 -2
- package/build/components/style-book/index.js.map +1 -1
- package/build/components/template-part-converter/convert-to-template-part.js +0 -1
- package/build/components/template-part-converter/convert-to-template-part.js.map +1 -1
- package/build/components/welcome-guide/template.js +2 -2
- package/build/components/welcome-guide/template.js.map +1 -1
- package/build/hooks/commands/use-edit-mode-commands.js +16 -6
- package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
- package/build/hooks/navigation-menu-edit.js +1 -2
- package/build/hooks/navigation-menu-edit.js.map +1 -1
- package/build/hooks/template-part-edit.js +1 -2
- package/build/hooks/template-part-edit.js.map +1 -1
- package/build/store/actions.js +7 -2
- package/build/store/actions.js.map +1 -1
- package/build/store/constants.js +1 -2
- package/build/store/constants.js.map +1 -1
- package/build/store/index.js +4 -6
- package/build/store/index.js.map +1 -1
- package/build/store/reducer.js +1 -2
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +9 -18
- package/build/store/selectors.js.map +1 -1
- package/build/store/utils.js +1 -2
- package/build/store/utils.js.map +1 -1
- package/build/utils/constants.js +13 -26
- package/build/utils/constants.js.map +1 -1
- package/build-module/components/block-editor/site-editor-canvas.js +13 -6
- package/build-module/components/block-editor/site-editor-canvas.js.map +1 -1
- package/build-module/components/block-editor/use-navigate-to-entity-record.js +25 -0
- package/build-module/components/block-editor/use-navigate-to-entity-record.js.map +1 -0
- package/build-module/components/block-editor/use-site-editor-settings.js +29 -4
- package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
- package/build-module/components/editor/index.js +13 -10
- package/build-module/components/editor/index.js.map +1 -1
- package/build-module/components/global-styles/font-families.js +8 -4
- package/build-module/components/global-styles/font-families.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/collection-font-variant.js +12 -11
- package/build-module/components/global-styles/font-library-modal/collection-font-variant.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/context.js +14 -0
- package/build-module/components/global-styles/font-library-modal/context.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/font-card.js +3 -2
- package/build-module/components/global-styles/font-library-modal/font-card.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/font-collection.js +28 -41
- package/build-module/components/global-styles/font-library-modal/font-collection.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/font-demo.js +5 -10
- package/build-module/components/global-styles/font-library-modal/font-demo.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +2 -2
- package/build-module/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/index.js +10 -3
- package/build-module/components/global-styles/font-library-modal/index.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/installed-fonts.js +14 -25
- package/build-module/components/global-styles/font-library-modal/installed-fonts.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/library-font-card.js +1 -1
- package/build-module/components/global-styles/font-library-modal/library-font-card.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/library-font-variant.js +14 -13
- package/build-module/components/global-styles/font-library-modal/library-font-variant.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/resolvers.js +1 -1
- package/build-module/components/global-styles/font-library-modal/resolvers.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/tab-panel-layout.js +13 -3
- package/build-module/components/global-styles/font-library-modal/tab-panel-layout.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/upload-fonts.js +158 -6
- package/build-module/components/global-styles/font-library-modal/upload-fonts.js.map +1 -1
- package/build-module/components/global-styles/font-library-modal/utils/index.js +36 -31
- package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -1
- package/build-module/components/global-styles/screen-block.js +0 -9
- package/build-module/components/global-styles/screen-block.js.map +1 -1
- package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +1 -1
- package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
- package/build-module/components/global-styles/screen-typography-element.js +3 -5
- package/build-module/components/global-styles/screen-typography-element.js.map +1 -1
- package/build-module/components/header-edit-mode/more-menu/index.js +12 -21
- package/build-module/components/header-edit-mode/more-menu/index.js.map +1 -1
- package/build-module/components/keyboard-shortcut-help-modal/index.js +0 -1
- package/build-module/components/keyboard-shortcut-help-modal/index.js.map +1 -1
- package/build-module/components/layout/index.js +0 -2
- package/build-module/components/layout/index.js.map +1 -1
- package/build-module/components/page-pages/index.js +25 -13
- package/build-module/components/page-pages/index.js.map +1 -1
- package/build-module/components/page-patterns/dataviews-pattern-actions.js +81 -20
- package/build-module/components/page-patterns/dataviews-pattern-actions.js.map +1 -1
- package/build-module/components/page-patterns/grid-item.js +1 -4
- package/build-module/components/page-patterns/grid-item.js.map +1 -1
- package/build-module/components/page-patterns/index.js +2 -1
- package/build-module/components/page-patterns/index.js.map +1 -1
- package/build-module/components/page-patterns/search-items.js +0 -1
- package/build-module/components/page-patterns/search-items.js.map +1 -1
- package/build-module/components/page-templates-template-parts/index.js +6 -3
- package/build-module/components/page-templates-template-parts/index.js.map +1 -1
- package/build-module/components/routes/link.js +3 -6
- package/build-module/components/routes/link.js.map +1 -1
- package/build-module/components/sidebar-dataviews/default-views.js +3 -3
- package/build-module/components/sidebar-dataviews/default-views.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/index.js +98 -19
- package/build-module/components/sidebar-edit-mode/index.js.map +1 -1
- package/build-module/components/sidebar-edit-mode/settings-header/index.js +24 -73
- package/build-module/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js +2 -2
- package/build-module/components/sidebar-navigation-screen-pattern/use-pattern-details.js.map +1 -1
- package/build-module/components/site-icon/index.js +2 -2
- package/build-module/components/site-icon/index.js.map +1 -1
- package/build-module/components/template-part-converter/convert-to-template-part.js +0 -1
- package/build-module/components/template-part-converter/convert-to-template-part.js.map +1 -1
- package/build-module/components/welcome-guide/template.js +2 -2
- package/build-module/components/welcome-guide/template.js.map +1 -1
- package/build-module/hooks/commands/use-edit-mode-commands.js +16 -6
- package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
- package/build-module/store/actions.js +7 -2
- package/build-module/store/actions.js.map +1 -1
- package/build-style/style-rtl.css +398 -224
- package/build-style/style.css +398 -224
- package/package.json +42 -42
- package/src/components/add-new-template/style.scss +0 -12
- package/src/components/block-editor/site-editor-canvas.js +23 -15
- package/src/components/block-editor/style.scss +2 -20
- package/src/components/block-editor/use-navigate-to-entity-record.js +25 -0
- package/src/components/block-editor/use-site-editor-settings.js +35 -4
- package/src/components/editor/index.js +11 -10
- package/src/components/global-styles/font-families.js +13 -4
- package/src/components/global-styles/font-library-modal/collection-font-variant.js +10 -8
- package/src/components/global-styles/font-library-modal/context.js +14 -0
- package/src/components/global-styles/font-library-modal/font-card.js +10 -4
- package/src/components/global-styles/font-library-modal/font-collection.js +25 -47
- package/src/components/global-styles/font-library-modal/font-demo.js +9 -10
- package/src/components/global-styles/font-library-modal/google-fonts-confirm-dialog.js +2 -2
- package/src/components/global-styles/font-library-modal/index.js +8 -3
- package/src/components/global-styles/font-library-modal/installed-fonts.js +20 -34
- package/src/components/global-styles/font-library-modal/library-font-card.js +1 -1
- package/src/components/global-styles/font-library-modal/library-font-variant.js +12 -10
- package/src/components/global-styles/font-library-modal/resolvers.js +1 -1
- package/src/components/global-styles/font-library-modal/style.scss +13 -27
- package/src/components/global-styles/font-library-modal/tab-panel-layout.js +17 -0
- package/src/components/global-styles/font-library-modal/upload-fonts.js +192 -6
- package/src/components/global-styles/font-library-modal/utils/index.js +46 -39
- package/src/components/global-styles/screen-block.js +0 -12
- package/src/components/global-styles/screen-revisions/revisions-buttons.js +1 -1
- package/src/components/global-styles/screen-revisions/style.scss +21 -15
- package/src/components/global-styles/screen-typography-element.js +2 -4
- package/src/components/global-styles/style.scss +4 -0
- package/src/components/header-edit-mode/more-menu/index.js +10 -18
- package/src/components/header-edit-mode/style.scss +54 -6
- package/src/components/layout/style.scss +2 -7
- package/src/components/page/style.scss +0 -1
- package/src/components/page-pages/index.js +32 -23
- package/src/components/page-pages/style.scss +28 -27
- package/src/components/page-patterns/dataviews-pattern-actions.js +106 -30
- package/src/components/page-patterns/grid-item.js +0 -2
- package/src/components/page-patterns/index.js +1 -0
- package/src/components/page-patterns/style.scss +4 -9
- package/src/components/page-templates-template-parts/index.js +23 -16
- package/src/components/page-templates-template-parts/style.scss +16 -0
- package/src/components/routes/link.js +3 -12
- package/src/components/sidebar-dataviews/default-views.js +3 -3
- package/src/components/sidebar-edit-mode/index.js +122 -29
- package/src/components/sidebar-edit-mode/settings-header/index.js +28 -88
- package/src/components/sidebar-edit-mode/settings-header/style.scss +0 -87
- package/src/components/sidebar-edit-mode/sidebar-card/style.scss +3 -0
- package/src/components/sidebar-edit-mode/style.scss +4 -0
- package/src/components/sidebar-navigation-screen/style.scss +2 -1
- package/src/components/sidebar-navigation-screen-pattern/use-pattern-details.js +9 -3
- package/src/components/site-hub/style.scss +0 -1
- package/src/components/site-icon/index.js +1 -1
- package/src/components/site-icon/style.scss +9 -1
- package/src/components/welcome-guide/template.js +2 -2
- package/src/hooks/commands/use-edit-mode-commands.js +26 -14
- package/src/store/actions.js +20 -3
- package/build/components/block-editor/back-button.js +0 -47
- package/build/components/block-editor/back-button.js.map +0 -1
- package/build/components/block-editor/use-post-link-props.js +0 -27
- package/build/components/block-editor/use-post-link-props.js.map +0 -1
- package/build/components/global-styles/font-library-modal/font-variant.js +0 -51
- package/build/components/global-styles/font-library-modal/font-variant.js.map +0 -1
- package/build/components/global-styles/font-library-modal/local-fonts.js +0 -196
- package/build/components/global-styles/font-library-modal/local-fonts.js.map +0 -1
- package/build-module/components/block-editor/back-button.js +0 -39
- package/build-module/components/block-editor/back-button.js.map +0 -1
- package/build-module/components/block-editor/use-post-link-props.js +0 -20
- package/build-module/components/block-editor/use-post-link-props.js.map +0 -1
- package/build-module/components/global-styles/font-library-modal/font-variant.js +0 -42
- package/build-module/components/global-styles/font-library-modal/font-variant.js.map +0 -1
- package/build-module/components/global-styles/font-library-modal/local-fonts.js +0 -187
- package/build-module/components/global-styles/font-library-modal/local-fonts.js.map +0 -1
- package/src/components/block-editor/back-button.js +0 -48
- package/src/components/block-editor/use-post-link-props.js +0 -20
- package/src/components/global-styles/font-library-modal/font-variant.js +0 -53
- package/src/components/global-styles/font-library-modal/local-fonts.js +0 -239
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","_url","_i18n","_element","_blockEditor","_dataviews","_icons","_compose","_page","_interopRequireDefault","_constants","_dataviewsPatternActions","_usePatternSettings","_lockUnlock","_usePatterns","_header","_link","ExperimentalBlockEditorProvider","useGlobalStyle","unlock","blockEditorPrivateApis","templatePartIcons","header","footer","uncategorized","EMPTY_ARRAY","defaultConfigPerViewType","LAYOUT_GRID","mediaField","primaryField","DEFAULT_VIEW","type","search","page","perPage","hiddenFields","layout","filters","SYNC_FILTERS","value","PATTERN_SYNC_TYPES","full","label","_x","description","__","unsynced","PreviewWrapper","item","onClick","ariaDescribedBy","children","PATTERN_TYPES","theme","_react","createElement","className","title","Preview","categoryId","viewType","descriptionId","useId","isUserPattern","user","isNonUserPattern","isTemplatePart","TEMPLATE_PART_POST_TYPE","isEmpty","blocks","length","isCustomPattern","isCustom","ariaDescriptions","push","backgroundColor","useLink","postType","postId","id","name","categoryType","Fragment","style","map","_","index","join","undefined","BlockPreview","ariaDescription","key","hidden","Title","itemIcon","syncStatus","symbol","__experimentalHStack","alignment","justify","spacing","Tooltip","placement","text","Icon","icon","lockSmall","size","Flex","as","gap","Button","variant","tabIndex","DataviewsPatterns","PATTERN_DEFAULT_CATEGORY","getQueryArgs","window","location","href","view","setView","useState","isUncategorizedThemePatterns","previousCategoryId","usePrevious","viewSyncStatus","find","field","patterns","isResolving","usePatterns","fields","useMemo","_fields","render","enableSorting","enableHiding","getValue","ENUMERATION_TYPE","elements","filterBy","operators","OPERATOR_IN","useEffect","data","paginationInfo","totalItems","totalPages","filteredData","sort","sortByTextFields","textFields","getPaginationResults","actions","renameAction","duplicatePatternAction","duplicateTemplatePartAction","exportJSONaction","resetAction","deleteAction","onChangeView","useCallback","newView","settings","usePatternSettings","default","hideTitleFromUI","titleId","DataViews","getItemId","isLoading","deferredRendering","supportedLayouts"],"sources":["@wordpress/edit-site/src/components/page-patterns/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHStack as HStack,\n\tButton,\n\tTooltip,\n\tFlex,\n} from '@wordpress/components';\nimport { getQueryArgs } from '@wordpress/url';\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tuseState,\n\tuseMemo,\n\tuseCallback,\n\tuseId,\n\tuseEffect,\n} from '@wordpress/element';\nimport {\n\tBlockPreview,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport {\n\tDataViews,\n\tsortByTextFields,\n\tgetPaginationResults,\n} from '@wordpress/dataviews';\nimport {\n\tIcon,\n\theader,\n\tfooter,\n\tsymbolFilled as uncategorized,\n\tsymbol,\n\tlockSmall,\n} from '@wordpress/icons';\nimport { usePrevious } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport Page from '../page';\nimport {\n\tLAYOUT_GRID,\n\tPATTERN_TYPES,\n\tTEMPLATE_PART_POST_TYPE,\n\tPATTERN_SYNC_TYPES,\n\tPATTERN_DEFAULT_CATEGORY,\n\tENUMERATION_TYPE,\n\tOPERATOR_IN,\n} from '../../utils/constants';\nimport {\n\texportJSONaction,\n\trenameAction,\n\tresetAction,\n\tdeleteAction,\n\tduplicatePatternAction,\n\tduplicateTemplatePartAction,\n} from './dataviews-pattern-actions';\nimport usePatternSettings from './use-pattern-settings';\nimport { unlock } from '../../lock-unlock';\nimport usePatterns from './use-patterns';\nimport PatternsHeader from './header';\nimport { useLink } from '../routes/link';\n\nconst { ExperimentalBlockEditorProvider, useGlobalStyle } = unlock(\n\tblockEditorPrivateApis\n);\n\nconst templatePartIcons = { header, footer, uncategorized };\nconst EMPTY_ARRAY = [];\nconst defaultConfigPerViewType = {\n\t[ LAYOUT_GRID ]: {\n\t\tmediaField: 'preview',\n\t\tprimaryField: 'title',\n\t},\n};\nconst DEFAULT_VIEW = {\n\ttype: LAYOUT_GRID,\n\tsearch: '',\n\tpage: 1,\n\tperPage: 20,\n\thiddenFields: [ 'sync-status' ],\n\tlayout: {\n\t\t...defaultConfigPerViewType[ LAYOUT_GRID ],\n\t},\n\tfilters: [],\n};\n\nconst SYNC_FILTERS = [\n\t{\n\t\tvalue: PATTERN_SYNC_TYPES.full,\n\t\tlabel: _x( 'Synced', 'Option that shows all synchronized patterns' ),\n\t\tdescription: __( 'Patterns that are kept in sync across the site.' ),\n\t},\n\t{\n\t\tvalue: PATTERN_SYNC_TYPES.unsynced,\n\t\tlabel: _x(\n\t\t\t'Not synced',\n\t\t\t'Option that shows all patterns that are not synchronized'\n\t\t),\n\t\tdescription: __(\n\t\t\t'Patterns that can be changed freely without affecting the site.'\n\t\t),\n\t},\n];\n\nfunction PreviewWrapper( { item, onClick, ariaDescribedBy, children } ) {\n\tif ( item.type === PATTERN_TYPES.theme ) {\n\t\treturn children;\n\t}\n\treturn (\n\t\t<button\n\t\t\tclassName=\"page-patterns-preview-field__button\"\n\t\t\ttype=\"button\"\n\t\t\tonClick={ onClick }\n\t\t\taria-label={ item.title }\n\t\t\taria-describedby={ ariaDescribedBy }\n\t\t>\n\t\t\t{ children }\n\t\t</button>\n\t);\n}\n\nfunction Preview( { item, categoryId, viewType } ) {\n\tconst descriptionId = useId();\n\tconst isUserPattern = item.type === PATTERN_TYPES.user;\n\tconst isNonUserPattern = item.type === PATTERN_TYPES.theme;\n\tconst isTemplatePart = item.type === TEMPLATE_PART_POST_TYPE;\n\tconst isEmpty = ! item.blocks?.length;\n\t// Only custom patterns or custom template parts can be renamed or deleted.\n\tconst isCustomPattern =\n\t\tisUserPattern || ( isTemplatePart && item.isCustom );\n\tconst ariaDescriptions = [];\n\tif ( isCustomPattern ) {\n\t\t// User patterns don't have descriptions, but can be edited and deleted, so include some help text.\n\t\tariaDescriptions.push(\n\t\t\t__( 'Press Enter to edit, or Delete to delete the pattern.' )\n\t\t);\n\t} else if ( item.description ) {\n\t\tariaDescriptions.push( item.description );\n\t}\n\n\tif ( isNonUserPattern ) {\n\t\tariaDescriptions.push(\n\t\t\t__( 'Theme & plugin patterns cannot be edited.' )\n\t\t);\n\t}\n\tconst [ backgroundColor ] = useGlobalStyle( 'color.background' );\n\tconst { onClick } = useLink( {\n\t\tpostType: item.type,\n\t\tpostId: isUserPattern ? item.id : item.name,\n\t\tcategoryId,\n\t\tcategoryType: isTemplatePart ? item.type : PATTERN_TYPES.theme,\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\tclassName={ `page-patterns-preview-field is-viewtype-${ viewType }` }\n\t\t\t\tstyle={ { backgroundColor } }\n\t\t\t>\n\t\t\t\t<PreviewWrapper\n\t\t\t\t\titem={ item }\n\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\tariaDescribedBy={\n\t\t\t\t\t\tariaDescriptions.length\n\t\t\t\t\t\t\t? ariaDescriptions\n\t\t\t\t\t\t\t\t\t.map(\n\t\t\t\t\t\t\t\t\t\t( _, index ) =>\n\t\t\t\t\t\t\t\t\t\t\t`${ descriptionId }-${ index }`\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t.join( ' ' )\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ isEmpty && isTemplatePart && __( 'Empty template part' ) }\n\t\t\t\t\t{ isEmpty && ! isTemplatePart && __( 'Empty pattern' ) }\n\t\t\t\t\t{ ! isEmpty && <BlockPreview blocks={ item.blocks } /> }\n\t\t\t\t</PreviewWrapper>\n\t\t\t</div>\n\t\t\t{ ariaDescriptions.map( ( ariaDescription, index ) => (\n\t\t\t\t<div\n\t\t\t\t\tkey={ index }\n\t\t\t\t\thidden\n\t\t\t\t\tid={ `${ descriptionId }-${ index }` }\n\t\t\t\t>\n\t\t\t\t\t{ ariaDescription }\n\t\t\t\t</div>\n\t\t\t) ) }\n\t\t</>\n\t);\n}\n\nfunction Title( { item, categoryId } ) {\n\tconst isUserPattern = item.type === PATTERN_TYPES.user;\n\tconst isNonUserPattern = item.type === PATTERN_TYPES.theme;\n\tconst isTemplatePart = item.type === TEMPLATE_PART_POST_TYPE;\n\tlet itemIcon;\n\tconst { onClick } = useLink( {\n\t\tpostType: item.type,\n\t\tpostId: isUserPattern ? item.id : item.name,\n\t\tcategoryId,\n\t\tcategoryType: isTemplatePart ? item.type : PATTERN_TYPES.theme,\n\t} );\n\tif ( ! isUserPattern && templatePartIcons[ categoryId ] ) {\n\t\titemIcon = templatePartIcons[ categoryId ];\n\t} else {\n\t\titemIcon =\n\t\t\titem.syncStatus === PATTERN_SYNC_TYPES.full ? symbol : undefined;\n\t}\n\treturn (\n\t\t<HStack alignment=\"center\" justify=\"flex-start\" spacing={ 2 }>\n\t\t\t{ itemIcon && ! isNonUserPattern && (\n\t\t\t\t<Tooltip\n\t\t\t\t\tplacement=\"top\"\n\t\t\t\t\ttext={ __(\n\t\t\t\t\t\t'Editing this pattern will also update anywhere it is used'\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tclassName=\"edit-site-patterns__pattern-icon\"\n\t\t\t\t\t\ticon={ itemIcon }\n\t\t\t\t\t/>\n\t\t\t\t</Tooltip>\n\t\t\t) }\n\t\t\t{ item.type === PATTERN_TYPES.theme && (\n\t\t\t\t<Tooltip\n\t\t\t\t\tplacement=\"top\"\n\t\t\t\t\ttext={ __( 'This pattern cannot be edited.' ) }\n\t\t\t\t>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tclassName=\"edit-site-patterns__pattern-lock-icon\"\n\t\t\t\t\t\ticon={ lockSmall }\n\t\t\t\t\t\tsize={ 24 }\n\t\t\t\t\t/>\n\t\t\t\t</Tooltip>\n\t\t\t) }\n\t\t\t<Flex\n\t\t\t\tas=\"div\"\n\t\t\t\tgap={ 0 }\n\t\t\t\tjustify=\"left\"\n\t\t\t\tclassName=\"edit-site-patterns__pattern-title\"\n\t\t\t>\n\t\t\t\t{ item.type === PATTERN_TYPES.theme ? (\n\t\t\t\t\titem.title\n\t\t\t\t) : (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\t\t// Required for the grid's roving tab index system.\n\t\t\t\t\t\t// See https://github.com/WordPress/gutenberg/pull/51898#discussion_r1243399243.\n\t\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ item.title || item.name }\n\t\t\t\t\t</Button>\n\t\t\t\t) }\n\t\t\t</Flex>\n\t\t</HStack>\n\t);\n}\n\nexport default function DataviewsPatterns() {\n\tconst { categoryType, categoryId = PATTERN_DEFAULT_CATEGORY } =\n\t\tgetQueryArgs( window.location.href );\n\tconst type = categoryType || PATTERN_TYPES.theme;\n\tconst [ view, setView ] = useState( DEFAULT_VIEW );\n\tconst isUncategorizedThemePatterns =\n\t\ttype === PATTERN_TYPES.theme && categoryId === 'uncategorized';\n\tconst previousCategoryId = usePrevious( categoryId );\n\tconst viewSyncStatus = view.filters?.find(\n\t\t( { field } ) => field === 'sync-status'\n\t)?.value;\n\tconst { patterns, isResolving } = usePatterns(\n\t\ttype,\n\t\tisUncategorizedThemePatterns ? '' : categoryId,\n\t\t{\n\t\t\tsearch: view.search,\n\t\t\tsyncStatus: viewSyncStatus,\n\t\t}\n\t);\n\tconst fields = useMemo( () => {\n\t\tconst _fields = [\n\t\t\t{\n\t\t\t\theader: __( 'Preview' ),\n\t\t\t\tid: 'preview',\n\t\t\t\trender: ( { item } ) => (\n\t\t\t\t\t<Preview\n\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\tcategoryId={ categoryId }\n\t\t\t\t\t\tviewType={ view.type }\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t\tenableSorting: false,\n\t\t\t\tenableHiding: false,\n\t\t\t},\n\t\t\t{\n\t\t\t\theader: __( 'Title' ),\n\t\t\t\tid: 'title',\n\t\t\t\tgetValue: ( { item } ) => item.title,\n\t\t\t\trender: ( { item } ) => (\n\t\t\t\t\t<Title item={ item } categoryId={ categoryId } />\n\t\t\t\t),\n\t\t\t\tenableHiding: false,\n\t\t\t},\n\t\t];\n\t\tif ( type === PATTERN_TYPES.theme ) {\n\t\t\t_fields.push( {\n\t\t\t\theader: __( 'Sync Status' ),\n\t\t\t\tid: 'sync-status',\n\t\t\t\trender: ( { item } ) => {\n\t\t\t\t\t// User patterns can have their sync statuses checked directly.\n\t\t\t\t\t// Non-user patterns are all unsynced for the time being.\n\t\t\t\t\treturn (\n\t\t\t\t\t\tSYNC_FILTERS.find(\n\t\t\t\t\t\t\t( { value } ) => value === item.syncStatus\n\t\t\t\t\t\t)?.label ||\n\t\t\t\t\t\tSYNC_FILTERS.find(\n\t\t\t\t\t\t\t( { value } ) =>\n\t\t\t\t\t\t\t\tvalue === PATTERN_SYNC_TYPES.unsynced\n\t\t\t\t\t\t).label\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\ttype: ENUMERATION_TYPE,\n\t\t\t\telements: SYNC_FILTERS,\n\t\t\t\tfilterBy: {\n\t\t\t\t\toperators: [ OPERATOR_IN ],\n\t\t\t\t},\n\t\t\t\tenableSorting: false,\n\t\t\t} );\n\t\t}\n\t\treturn _fields;\n\t}, [ view.type, categoryId, type ] );\n\t// Reset the page number when the category changes.\n\tuseEffect( () => {\n\t\tif ( previousCategoryId !== categoryId ) {\n\t\t\tsetView( DEFAULT_VIEW );\n\t\t}\n\t}, [ categoryId, previousCategoryId ] );\n\tconst { data, paginationInfo } = useMemo( () => {\n\t\tif ( ! patterns ) {\n\t\t\treturn {\n\t\t\t\tdata: EMPTY_ARRAY,\n\t\t\t\tpaginationInfo: { totalItems: 0, totalPages: 0 },\n\t\t\t};\n\t\t}\n\t\tlet filteredData = [ ...patterns ];\n\t\t// Handle sorting.\n\t\tif ( view.sort ) {\n\t\t\tfilteredData = sortByTextFields( {\n\t\t\t\tdata: filteredData,\n\t\t\t\tview,\n\t\t\t\tfields,\n\t\t\t\ttextFields: [ 'title', 'author' ],\n\t\t\t} );\n\t\t}\n\t\t// Handle pagination.\n\t\treturn getPaginationResults( {\n\t\t\tdata: filteredData,\n\t\t\tview,\n\t\t} );\n\t}, [ patterns, view, fields ] );\n\n\tconst actions = useMemo(\n\t\t() => [\n\t\t\trenameAction,\n\t\t\tduplicatePatternAction,\n\t\t\tduplicateTemplatePartAction,\n\t\t\texportJSONaction,\n\t\t\tresetAction,\n\t\t\tdeleteAction,\n\t\t],\n\t\t[]\n\t);\n\tconst onChangeView = useCallback(\n\t\t( newView ) => {\n\t\t\tif ( newView.type !== view.type ) {\n\t\t\t\tnewView = {\n\t\t\t\t\t...newView,\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\t...defaultConfigPerViewType[ newView.type ],\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t\tsetView( newView );\n\t\t},\n\t\t[ view.type, setView ]\n\t);\n\tconst id = useId();\n\tconst settings = usePatternSettings();\n\t// Wrap everything in a block editor provider.\n\t// This ensures 'styles' that are needed for the previews are synced\n\t// from the site editor store to the block editor store.\n\t// TODO: check if I add the provider in every preview like in templates...\n\treturn (\n\t\t<ExperimentalBlockEditorProvider settings={ settings }>\n\t\t\t<Page\n\t\t\t\ttitle={ __( 'Patterns content' ) }\n\t\t\t\tclassName=\"edit-site-page-patterns-dataviews\"\n\t\t\t\thideTitleFromUI\n\t\t\t>\n\t\t\t\t<PatternsHeader\n\t\t\t\t\tcategoryId={ categoryId }\n\t\t\t\t\ttype={ type }\n\t\t\t\t\ttitleId={ `${ id }-title` }\n\t\t\t\t\tdescriptionId={ `${ id }-description` }\n\t\t\t\t/>\n\t\t\t\t<DataViews\n\t\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\t\tfields={ fields }\n\t\t\t\t\tactions={ actions }\n\t\t\t\t\tdata={ data || EMPTY_ARRAY }\n\t\t\t\t\tgetItemId={ ( item ) => item.name }\n\t\t\t\t\tisLoading={ isResolving }\n\t\t\t\t\tview={ view }\n\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\tdeferredRendering={ true }\n\t\t\t\t\tsupportedLayouts={ [ LAYOUT_GRID ] }\n\t\t\t\t/>\n\t\t\t</Page>\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_components","require","_url","_i18n","_element","_blockEditor","_dataviews","_icons","_compose","_page","_interopRequireDefault","_constants","_dataviewsPatternActions","_usePatternSettings","_lockUnlock","_usePatterns","_header","_link","ExperimentalBlockEditorProvider","useGlobalStyle","unlock","blockEditorPrivateApis","templatePartIcons","header","footer","uncategorized","EMPTY_ARRAY","defaultConfigPerViewType","LAYOUT_GRID","mediaField","primaryField","DEFAULT_VIEW","type","search","page","perPage","hiddenFields","layout","filters","SYNC_FILTERS","value","PATTERN_SYNC_TYPES","full","label","_x","description","__","unsynced","PreviewWrapper","item","onClick","ariaDescribedBy","children","PATTERN_TYPES","theme","_react","createElement","className","title","Preview","categoryId","viewType","descriptionId","useId","isUserPattern","user","isNonUserPattern","isTemplatePart","TEMPLATE_PART_POST_TYPE","isEmpty","blocks","length","isCustomPattern","isCustom","ariaDescriptions","push","backgroundColor","useLink","postType","postId","id","name","categoryType","Fragment","style","map","_","index","join","undefined","BlockPreview","ariaDescription","key","hidden","Title","itemIcon","syncStatus","symbol","__experimentalHStack","alignment","justify","spacing","Tooltip","placement","text","Icon","icon","lockSmall","size","Flex","as","gap","Button","variant","tabIndex","DataviewsPatterns","PATTERN_DEFAULT_CATEGORY","getQueryArgs","window","location","href","view","setView","useState","isUncategorizedThemePatterns","previousCategoryId","usePrevious","viewSyncStatus","find","field","patterns","isResolving","usePatterns","fields","useMemo","_fields","render","enableSorting","enableHiding","getValue","ENUMERATION_TYPE","elements","filterBy","operators","OPERATOR_IN","isPrimary","useEffect","data","paginationInfo","totalItems","totalPages","filteredData","sort","sortByTextFields","textFields","getPaginationResults","actions","renameAction","duplicatePatternAction","duplicateTemplatePartAction","exportJSONaction","resetAction","deleteAction","onChangeView","useCallback","newView","settings","usePatternSettings","default","hideTitleFromUI","titleId","DataViews","getItemId","isLoading","deferredRendering","supportedLayouts"],"sources":["@wordpress/edit-site/src/components/page-patterns/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalHStack as HStack,\n\tButton,\n\tTooltip,\n\tFlex,\n} from '@wordpress/components';\nimport { getQueryArgs } from '@wordpress/url';\nimport { __, _x } from '@wordpress/i18n';\nimport {\n\tuseState,\n\tuseMemo,\n\tuseCallback,\n\tuseId,\n\tuseEffect,\n} from '@wordpress/element';\nimport {\n\tBlockPreview,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport {\n\tDataViews,\n\tsortByTextFields,\n\tgetPaginationResults,\n} from '@wordpress/dataviews';\nimport {\n\tIcon,\n\theader,\n\tfooter,\n\tsymbolFilled as uncategorized,\n\tsymbol,\n\tlockSmall,\n} from '@wordpress/icons';\nimport { usePrevious } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport Page from '../page';\nimport {\n\tLAYOUT_GRID,\n\tPATTERN_TYPES,\n\tTEMPLATE_PART_POST_TYPE,\n\tPATTERN_SYNC_TYPES,\n\tPATTERN_DEFAULT_CATEGORY,\n\tENUMERATION_TYPE,\n\tOPERATOR_IN,\n} from '../../utils/constants';\nimport {\n\texportJSONaction,\n\trenameAction,\n\tresetAction,\n\tdeleteAction,\n\tduplicatePatternAction,\n\tduplicateTemplatePartAction,\n} from './dataviews-pattern-actions';\nimport usePatternSettings from './use-pattern-settings';\nimport { unlock } from '../../lock-unlock';\nimport usePatterns from './use-patterns';\nimport PatternsHeader from './header';\nimport { useLink } from '../routes/link';\n\nconst { ExperimentalBlockEditorProvider, useGlobalStyle } = unlock(\n\tblockEditorPrivateApis\n);\n\nconst templatePartIcons = { header, footer, uncategorized };\nconst EMPTY_ARRAY = [];\nconst defaultConfigPerViewType = {\n\t[ LAYOUT_GRID ]: {\n\t\tmediaField: 'preview',\n\t\tprimaryField: 'title',\n\t},\n};\nconst DEFAULT_VIEW = {\n\ttype: LAYOUT_GRID,\n\tsearch: '',\n\tpage: 1,\n\tperPage: 20,\n\thiddenFields: [ 'sync-status' ],\n\tlayout: {\n\t\t...defaultConfigPerViewType[ LAYOUT_GRID ],\n\t},\n\tfilters: [],\n};\n\nconst SYNC_FILTERS = [\n\t{\n\t\tvalue: PATTERN_SYNC_TYPES.full,\n\t\tlabel: _x( 'Synced', 'Option that shows all synchronized patterns' ),\n\t\tdescription: __( 'Patterns that are kept in sync across the site.' ),\n\t},\n\t{\n\t\tvalue: PATTERN_SYNC_TYPES.unsynced,\n\t\tlabel: _x(\n\t\t\t'Not synced',\n\t\t\t'Option that shows all patterns that are not synchronized'\n\t\t),\n\t\tdescription: __(\n\t\t\t'Patterns that can be changed freely without affecting the site.'\n\t\t),\n\t},\n];\n\nfunction PreviewWrapper( { item, onClick, ariaDescribedBy, children } ) {\n\tif ( item.type === PATTERN_TYPES.theme ) {\n\t\treturn children;\n\t}\n\treturn (\n\t\t<button\n\t\t\tclassName=\"page-patterns-preview-field__button\"\n\t\t\ttype=\"button\"\n\t\t\tonClick={ onClick }\n\t\t\taria-label={ item.title }\n\t\t\taria-describedby={ ariaDescribedBy }\n\t\t>\n\t\t\t{ children }\n\t\t</button>\n\t);\n}\n\nfunction Preview( { item, categoryId, viewType } ) {\n\tconst descriptionId = useId();\n\tconst isUserPattern = item.type === PATTERN_TYPES.user;\n\tconst isNonUserPattern = item.type === PATTERN_TYPES.theme;\n\tconst isTemplatePart = item.type === TEMPLATE_PART_POST_TYPE;\n\tconst isEmpty = ! item.blocks?.length;\n\t// Only custom patterns or custom template parts can be renamed or deleted.\n\tconst isCustomPattern =\n\t\tisUserPattern || ( isTemplatePart && item.isCustom );\n\tconst ariaDescriptions = [];\n\tif ( isCustomPattern ) {\n\t\t// User patterns don't have descriptions, but can be edited and deleted, so include some help text.\n\t\tariaDescriptions.push(\n\t\t\t__( 'Press Enter to edit, or Delete to delete the pattern.' )\n\t\t);\n\t} else if ( item.description ) {\n\t\tariaDescriptions.push( item.description );\n\t}\n\n\tif ( isNonUserPattern ) {\n\t\tariaDescriptions.push(\n\t\t\t__( 'Theme & plugin patterns cannot be edited.' )\n\t\t);\n\t}\n\tconst [ backgroundColor ] = useGlobalStyle( 'color.background' );\n\tconst { onClick } = useLink( {\n\t\tpostType: item.type,\n\t\tpostId: isUserPattern ? item.id : item.name,\n\t\tcategoryId,\n\t\tcategoryType: isTemplatePart ? item.type : PATTERN_TYPES.theme,\n\t} );\n\n\treturn (\n\t\t<>\n\t\t\t<div\n\t\t\t\tclassName={ `page-patterns-preview-field is-viewtype-${ viewType }` }\n\t\t\t\tstyle={ { backgroundColor } }\n\t\t\t>\n\t\t\t\t<PreviewWrapper\n\t\t\t\t\titem={ item }\n\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\tariaDescribedBy={\n\t\t\t\t\t\tariaDescriptions.length\n\t\t\t\t\t\t\t? ariaDescriptions\n\t\t\t\t\t\t\t\t\t.map(\n\t\t\t\t\t\t\t\t\t\t( _, index ) =>\n\t\t\t\t\t\t\t\t\t\t\t`${ descriptionId }-${ index }`\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t.join( ' ' )\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ isEmpty && isTemplatePart && __( 'Empty template part' ) }\n\t\t\t\t\t{ isEmpty && ! isTemplatePart && __( 'Empty pattern' ) }\n\t\t\t\t\t{ ! isEmpty && <BlockPreview blocks={ item.blocks } /> }\n\t\t\t\t</PreviewWrapper>\n\t\t\t</div>\n\t\t\t{ ariaDescriptions.map( ( ariaDescription, index ) => (\n\t\t\t\t<div\n\t\t\t\t\tkey={ index }\n\t\t\t\t\thidden\n\t\t\t\t\tid={ `${ descriptionId }-${ index }` }\n\t\t\t\t>\n\t\t\t\t\t{ ariaDescription }\n\t\t\t\t</div>\n\t\t\t) ) }\n\t\t</>\n\t);\n}\n\nfunction Title( { item, categoryId } ) {\n\tconst isUserPattern = item.type === PATTERN_TYPES.user;\n\tconst isNonUserPattern = item.type === PATTERN_TYPES.theme;\n\tconst isTemplatePart = item.type === TEMPLATE_PART_POST_TYPE;\n\tlet itemIcon;\n\tconst { onClick } = useLink( {\n\t\tpostType: item.type,\n\t\tpostId: isUserPattern ? item.id : item.name,\n\t\tcategoryId,\n\t\tcategoryType: isTemplatePart ? item.type : PATTERN_TYPES.theme,\n\t} );\n\tif ( ! isUserPattern && templatePartIcons[ categoryId ] ) {\n\t\titemIcon = templatePartIcons[ categoryId ];\n\t} else {\n\t\titemIcon =\n\t\t\titem.syncStatus === PATTERN_SYNC_TYPES.full ? symbol : undefined;\n\t}\n\treturn (\n\t\t<HStack alignment=\"center\" justify=\"flex-start\" spacing={ 2 }>\n\t\t\t{ itemIcon && ! isNonUserPattern && (\n\t\t\t\t<Tooltip\n\t\t\t\t\tplacement=\"top\"\n\t\t\t\t\ttext={ __(\n\t\t\t\t\t\t'Editing this pattern will also update anywhere it is used'\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tclassName=\"edit-site-patterns__pattern-icon\"\n\t\t\t\t\t\ticon={ itemIcon }\n\t\t\t\t\t/>\n\t\t\t\t</Tooltip>\n\t\t\t) }\n\t\t\t{ item.type === PATTERN_TYPES.theme && (\n\t\t\t\t<Tooltip\n\t\t\t\t\tplacement=\"top\"\n\t\t\t\t\ttext={ __( 'This pattern cannot be edited.' ) }\n\t\t\t\t>\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tclassName=\"edit-site-patterns__pattern-lock-icon\"\n\t\t\t\t\t\ticon={ lockSmall }\n\t\t\t\t\t\tsize={ 24 }\n\t\t\t\t\t/>\n\t\t\t\t</Tooltip>\n\t\t\t) }\n\t\t\t<Flex\n\t\t\t\tas=\"div\"\n\t\t\t\tgap={ 0 }\n\t\t\t\tjustify=\"left\"\n\t\t\t\tclassName=\"edit-site-patterns__pattern-title\"\n\t\t\t>\n\t\t\t\t{ item.type === PATTERN_TYPES.theme ? (\n\t\t\t\t\titem.title\n\t\t\t\t) : (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\t\t// Required for the grid's roving tab index system.\n\t\t\t\t\t\t// See https://github.com/WordPress/gutenberg/pull/51898#discussion_r1243399243.\n\t\t\t\t\t\ttabIndex=\"-1\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ item.title || item.name }\n\t\t\t\t\t</Button>\n\t\t\t\t) }\n\t\t\t</Flex>\n\t\t</HStack>\n\t);\n}\n\nexport default function DataviewsPatterns() {\n\tconst { categoryType, categoryId = PATTERN_DEFAULT_CATEGORY } =\n\t\tgetQueryArgs( window.location.href );\n\tconst type = categoryType || PATTERN_TYPES.theme;\n\tconst [ view, setView ] = useState( DEFAULT_VIEW );\n\tconst isUncategorizedThemePatterns =\n\t\ttype === PATTERN_TYPES.theme && categoryId === 'uncategorized';\n\tconst previousCategoryId = usePrevious( categoryId );\n\tconst viewSyncStatus = view.filters?.find(\n\t\t( { field } ) => field === 'sync-status'\n\t)?.value;\n\tconst { patterns, isResolving } = usePatterns(\n\t\ttype,\n\t\tisUncategorizedThemePatterns ? '' : categoryId,\n\t\t{\n\t\t\tsearch: view.search,\n\t\t\tsyncStatus: viewSyncStatus,\n\t\t}\n\t);\n\tconst fields = useMemo( () => {\n\t\tconst _fields = [\n\t\t\t{\n\t\t\t\theader: __( 'Preview' ),\n\t\t\t\tid: 'preview',\n\t\t\t\trender: ( { item } ) => (\n\t\t\t\t\t<Preview\n\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\tcategoryId={ categoryId }\n\t\t\t\t\t\tviewType={ view.type }\n\t\t\t\t\t/>\n\t\t\t\t),\n\t\t\t\tenableSorting: false,\n\t\t\t\tenableHiding: false,\n\t\t\t},\n\t\t\t{\n\t\t\t\theader: __( 'Title' ),\n\t\t\t\tid: 'title',\n\t\t\t\tgetValue: ( { item } ) => item.title,\n\t\t\t\trender: ( { item } ) => (\n\t\t\t\t\t<Title item={ item } categoryId={ categoryId } />\n\t\t\t\t),\n\t\t\t\tenableHiding: false,\n\t\t\t},\n\t\t];\n\t\tif ( type === PATTERN_TYPES.theme ) {\n\t\t\t_fields.push( {\n\t\t\t\theader: __( 'Sync Status' ),\n\t\t\t\tid: 'sync-status',\n\t\t\t\trender: ( { item } ) => {\n\t\t\t\t\t// User patterns can have their sync statuses checked directly.\n\t\t\t\t\t// Non-user patterns are all unsynced for the time being.\n\t\t\t\t\treturn (\n\t\t\t\t\t\tSYNC_FILTERS.find(\n\t\t\t\t\t\t\t( { value } ) => value === item.syncStatus\n\t\t\t\t\t\t)?.label ||\n\t\t\t\t\t\tSYNC_FILTERS.find(\n\t\t\t\t\t\t\t( { value } ) =>\n\t\t\t\t\t\t\t\tvalue === PATTERN_SYNC_TYPES.unsynced\n\t\t\t\t\t\t).label\n\t\t\t\t\t);\n\t\t\t\t},\n\t\t\t\ttype: ENUMERATION_TYPE,\n\t\t\t\telements: SYNC_FILTERS,\n\t\t\t\tfilterBy: {\n\t\t\t\t\toperators: [ OPERATOR_IN ],\n\t\t\t\t\tisPrimary: true,\n\t\t\t\t},\n\t\t\t\tenableSorting: false,\n\t\t\t} );\n\t\t}\n\t\treturn _fields;\n\t}, [ view.type, categoryId, type ] );\n\t// Reset the page number when the category changes.\n\tuseEffect( () => {\n\t\tif ( previousCategoryId !== categoryId ) {\n\t\t\tsetView( DEFAULT_VIEW );\n\t\t}\n\t}, [ categoryId, previousCategoryId ] );\n\tconst { data, paginationInfo } = useMemo( () => {\n\t\tif ( ! patterns ) {\n\t\t\treturn {\n\t\t\t\tdata: EMPTY_ARRAY,\n\t\t\t\tpaginationInfo: { totalItems: 0, totalPages: 0 },\n\t\t\t};\n\t\t}\n\t\tlet filteredData = [ ...patterns ];\n\t\t// Handle sorting.\n\t\tif ( view.sort ) {\n\t\t\tfilteredData = sortByTextFields( {\n\t\t\t\tdata: filteredData,\n\t\t\t\tview,\n\t\t\t\tfields,\n\t\t\t\ttextFields: [ 'title', 'author' ],\n\t\t\t} );\n\t\t}\n\t\t// Handle pagination.\n\t\treturn getPaginationResults( {\n\t\t\tdata: filteredData,\n\t\t\tview,\n\t\t} );\n\t}, [ patterns, view, fields ] );\n\n\tconst actions = useMemo(\n\t\t() => [\n\t\t\trenameAction,\n\t\t\tduplicatePatternAction,\n\t\t\tduplicateTemplatePartAction,\n\t\t\texportJSONaction,\n\t\t\tresetAction,\n\t\t\tdeleteAction,\n\t\t],\n\t\t[]\n\t);\n\tconst onChangeView = useCallback(\n\t\t( newView ) => {\n\t\t\tif ( newView.type !== view.type ) {\n\t\t\t\tnewView = {\n\t\t\t\t\t...newView,\n\t\t\t\t\tlayout: {\n\t\t\t\t\t\t...defaultConfigPerViewType[ newView.type ],\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t}\n\t\t\tsetView( newView );\n\t\t},\n\t\t[ view.type, setView ]\n\t);\n\tconst id = useId();\n\tconst settings = usePatternSettings();\n\t// Wrap everything in a block editor provider.\n\t// This ensures 'styles' that are needed for the previews are synced\n\t// from the site editor store to the block editor store.\n\t// TODO: check if I add the provider in every preview like in templates...\n\treturn (\n\t\t<ExperimentalBlockEditorProvider settings={ settings }>\n\t\t\t<Page\n\t\t\t\ttitle={ __( 'Patterns content' ) }\n\t\t\t\tclassName=\"edit-site-page-patterns-dataviews\"\n\t\t\t\thideTitleFromUI\n\t\t\t>\n\t\t\t\t<PatternsHeader\n\t\t\t\t\tcategoryId={ categoryId }\n\t\t\t\t\ttype={ type }\n\t\t\t\t\ttitleId={ `${ id }-title` }\n\t\t\t\t\tdescriptionId={ `${ id }-description` }\n\t\t\t\t/>\n\t\t\t\t<DataViews\n\t\t\t\t\tpaginationInfo={ paginationInfo }\n\t\t\t\t\tfields={ fields }\n\t\t\t\t\tactions={ actions }\n\t\t\t\t\tdata={ data || EMPTY_ARRAY }\n\t\t\t\t\tgetItemId={ ( item ) => item.name }\n\t\t\t\t\tisLoading={ isResolving }\n\t\t\t\t\tview={ view }\n\t\t\t\t\tonChangeView={ onChangeView }\n\t\t\t\t\tdeferredRendering={ true }\n\t\t\t\t\tsupportedLayouts={ [ LAYOUT_GRID ] }\n\t\t\t\t/>\n\t\t\t</Page>\n\t\t</ExperimentalBlockEditorProvider>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -36,7 +36,6 @@ function extractWords(input = '') {
|
|
|
36
36
|
// One lowercase or digit, followed by one uppercase.
|
|
37
37
|
/([\p{Lu}\p{Lt}])([\p{Lu}\p{Lt}][\p{Ll}\p{Lo}])/gu // One uppercase followed by one uppercase and one lowercase.
|
|
38
38
|
],
|
|
39
|
-
|
|
40
39
|
stripRegexp: /(\p{C}|\p{P}|\p{S})+/giu // Anything that's not a punctuation, symbol or control/format character.
|
|
41
40
|
}).split(' ').filter(Boolean);
|
|
42
41
|
}
|
|
@@ -1 +1 @@
|
|
|
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","PATTERN_USER_CATEGORY","type","PATTERN_TYPES","user","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 {\n\tPATTERN_DEFAULT_CATEGORY,\n\tPATTERN_USER_CATEGORY,\n\tPATTERN_TYPES,\n} 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\t( categoryId === PATTERN_USER_CATEGORY &&\n\t\t\titem.type === PATTERN_TYPES.user ) ||\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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"}
|
|
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","PATTERN_USER_CATEGORY","type","PATTERN_TYPES","user","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 {\n\tPATTERN_DEFAULT_CATEGORY,\n\tPATTERN_USER_CATEGORY,\n\tPATTERN_TYPES,\n} 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\t( categoryId === PATTERN_USER_CATEGORY &&\n\t\t\titem.type === PATTERN_TYPES.user ) ||\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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"}
|
|
@@ -213,6 +213,5 @@ const usePatterns = (categoryType, categoryId, {
|
|
|
213
213
|
}, [categoryId, categoryType, search, syncStatus]);
|
|
214
214
|
};
|
|
215
215
|
exports.usePatterns = usePatterns;
|
|
216
|
-
var _default = usePatterns;
|
|
217
|
-
exports.default = _default;
|
|
216
|
+
var _default = exports.default = usePatterns;
|
|
218
217
|
//# sourceMappingURL=use-patterns.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_rememo","_interopRequireDefault","require","_blocks","_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","TEMPLATE_ORIGINS","custom","keywords","id","name","title","decodeEntities","rendered","type","selectTemplatePartsAsPatterns","createSelector","select","categoryId","search","_getEntityRecords","getEntityRecords","getIsResolving","coreStore","__experimentalGetDefaultTemplatePartAreas","editorStore","query","per_page","rawTemplateParts","TEMPLATE_PART_POST_TYPE","templateParts","map","knownAreas","templatePartAreas","templatePartHasCategory","item","category","TEMPLATE_PART_AREA_DEFAULT_CATEGORY","includes","isResolving","patterns","searchItems","hasCategory","selectThemePatterns","_settings$__experimen","getSettings","unlock","editSiteStore","settings","blockPatterns","__experimentalAdditionalBlockPatterns","__experimentalBlockPatterns","restBlockPatterns","getBlockPatterns","filter","pattern","EXCLUDED_PATTERN_SOURCES","filterOutDuplicatesByName","inserter","PATTERN_TYPES","selectPatterns","syncStatus","themePatterns","userPatterns","selectUserPatterns","user","PATTERN_SYNC_TYPES","unsynced","currentCategory","hasOwnProperty","convertPatternPostToItem","patternPost","wp_pattern_category","length","patternCategoryId","get","termLabels","label","wp_pattern_sync_status","full","getUserPatternCategories","patternPosts","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 * External dependencies\n */\nimport createSelector from 'rememo';\n\n/**\n * WordPress dependencies\n */\nimport { parse } from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as editorStore } from '@wordpress/editor';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { filterOutDuplicatesByName } from './utils';\nimport {\n\tEXCLUDED_PATTERN_SOURCES,\n\tPATTERN_TYPES,\n\tPATTERN_SYNC_TYPES,\n\tTEMPLATE_PART_POST_TYPE,\n\tTEMPLATE_ORIGINS,\n\tTEMPLATE_PART_AREA_DEFAULT_CATEGORY,\n} from '../../utils/constants';\nimport { unlock } from '../../lock-unlock';\nimport { searchItems } from './search-items';\nimport { store as editSiteStore } from '../../store';\n\nconst EMPTY_PATTERN_LIST = [];\n\nconst createTemplatePartId = ( theme, slug ) =>\n\ttheme && slug ? theme + '//' + slug : null;\n\nconst templatePartToPattern = ( templatePart ) => ( {\n\tblocks: parse( templatePart.content.raw, {\n\t\t__unstableSkipMigrationLogs: true,\n\t} ),\n\tcategories: [ templatePart.area ],\n\tdescription: templatePart.description || '',\n\tisCustom: templatePart.source === TEMPLATE_ORIGINS.custom,\n\tkeywords: templatePart.keywords || [],\n\tid: createTemplatePartId( templatePart.theme, templatePart.slug ),\n\tname: createTemplatePartId( templatePart.theme, templatePart.slug ),\n\ttitle: decodeEntities( templatePart.title.rendered ),\n\ttype: templatePart.type,\n\ttemplatePart,\n} );\n\nconst selectTemplatePartsAsPatterns = createSelector(\n\t( select, categoryId, search = '' ) => {\n\t\tconst { getEntityRecords, getIsResolving } = select( coreStore );\n\t\tconst { __experimentalGetDefaultTemplatePartAreas } =\n\t\t\tselect( editorStore );\n\t\tconst query = { per_page: -1 };\n\t\tconst rawTemplateParts =\n\t\t\tgetEntityRecords( 'postType', TEMPLATE_PART_POST_TYPE, query ) ??\n\t\t\tEMPTY_PATTERN_LIST;\n\t\tconst templateParts = rawTemplateParts.map( ( templatePart ) =>\n\t\t\ttemplatePartToPattern( templatePart )\n\t\t);\n\n\t\t// In the case where a custom template part area has been removed we need\n\t\t// the current list of areas to cross check against so orphaned template\n\t\t// parts can be treated as uncategorized.\n\t\tconst knownAreas = __experimentalGetDefaultTemplatePartAreas() || [];\n\t\tconst templatePartAreas = knownAreas.map( ( area ) => area.area );\n\n\t\tconst templatePartHasCategory = ( item, category ) => {\n\t\t\tif ( category !== TEMPLATE_PART_AREA_DEFAULT_CATEGORY ) {\n\t\t\t\treturn item.templatePart.area === category;\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\titem.templatePart.area === category ||\n\t\t\t\t! templatePartAreas.includes( item.templatePart.area )\n\t\t\t);\n\t\t};\n\n\t\tconst isResolving = getIsResolving( 'getEntityRecords', [\n\t\t\t'postType',\n\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\tquery,\n\t\t] );\n\n\t\tconst patterns = searchItems( templateParts, search, {\n\t\t\tcategoryId,\n\t\t\thasCategory: templatePartHasCategory,\n\t\t} );\n\n\t\treturn { patterns, isResolving };\n\t},\n\t( select ) => [\n\t\tselect( coreStore ).getEntityRecords(\n\t\t\t'postType',\n\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\t{\n\t\t\t\tper_page: -1,\n\t\t\t}\n\t\t),\n\t\tselect( coreStore ).getIsResolving( 'getEntityRecords', [\n\t\t\t'postType',\n\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\t{ per_page: -1 },\n\t\t] ),\n\t\tselect( editorStore ).__experimentalGetDefaultTemplatePartAreas(),\n\t]\n);\n\nconst selectThemePatterns = createSelector(\n\t( select ) => {\n\t\tconst { getSettings } = unlock( select( editSiteStore ) );\n\t\tconst settings = getSettings();\n\t\tconst blockPatterns =\n\t\t\tsettings.__experimentalAdditionalBlockPatterns ??\n\t\t\tsettings.__experimentalBlockPatterns;\n\n\t\tconst restBlockPatterns = select( coreStore ).getBlockPatterns();\n\n\t\tconst patterns = [\n\t\t\t...( blockPatterns || [] ),\n\t\t\t...( restBlockPatterns || [] ),\n\t\t]\n\t\t\t.filter(\n\t\t\t\t( pattern ) =>\n\t\t\t\t\t! EXCLUDED_PATTERN_SOURCES.includes( pattern.source )\n\t\t\t)\n\t\t\t.filter( filterOutDuplicatesByName )\n\t\t\t.filter( ( pattern ) => pattern.inserter !== false )\n\t\t\t.map( ( pattern ) => ( {\n\t\t\t\t...pattern,\n\t\t\t\tkeywords: pattern.keywords || [],\n\t\t\t\ttype: PATTERN_TYPES.theme,\n\t\t\t\tblocks: parse( pattern.content, {\n\t\t\t\t\t__unstableSkipMigrationLogs: true,\n\t\t\t\t} ),\n\t\t\t} ) );\n\n\t\treturn { patterns, isResolving: false };\n\t},\n\t( select ) => [\n\t\tselect( coreStore ).getBlockPatterns(),\n\t\tunlock( select( editSiteStore ) ).getSettings(),\n\t]\n);\n\nconst selectPatterns = createSelector(\n\t( select, categoryId, syncStatus, search = '' ) => {\n\t\tconst { patterns: themePatterns } = selectThemePatterns( select );\n\t\tconst { patterns: userPatterns } = selectUserPatterns( select );\n\n\t\tlet patterns = [\n\t\t\t...( themePatterns || [] ),\n\t\t\t...( userPatterns || [] ),\n\t\t];\n\n\t\tif ( syncStatus ) {\n\t\t\t// User patterns can have their sync statuses checked directly\n\t\t\t// Non-user patterns are all unsynced for the time being.\n\t\t\tpatterns = patterns.filter( ( pattern ) => {\n\t\t\t\treturn pattern.type === PATTERN_TYPES.user\n\t\t\t\t\t? pattern.syncStatus === syncStatus\n\t\t\t\t\t: syncStatus === PATTERN_SYNC_TYPES.unsynced;\n\t\t\t} );\n\t\t}\n\n\t\tif ( categoryId ) {\n\t\t\tpatterns = searchItems( patterns, search, {\n\t\t\t\tcategoryId,\n\t\t\t\thasCategory: ( item, currentCategory ) =>\n\t\t\t\t\titem.categories?.includes( currentCategory ),\n\t\t\t} );\n\t\t} else {\n\t\t\tpatterns = searchItems( patterns, search, {\n\t\t\t\thasCategory: ( item ) => ! item.hasOwnProperty( 'categories' ),\n\t\t\t} );\n\t\t}\n\t\treturn { patterns, isResolving: false };\n\t},\n\t( select ) => [\n\t\tselectThemePatterns( select ),\n\t\tselectUserPatterns( select ),\n\t]\n);\n\n/**\n * Converts a post of type `wp_block` to a 'pattern item' that more closely\n * matches the structure of theme provided patterns.\n *\n * @param {Object} patternPost The `wp_block` record being normalized.\n * @param {Map} categories A Map of user created categories.\n *\n * @return {Object} The normalized item.\n */\nconst convertPatternPostToItem = ( patternPost, categories ) => ( {\n\tblocks: parse( patternPost.content.raw, {\n\t\t__unstableSkipMigrationLogs: true,\n\t} ),\n\t...( patternPost.wp_pattern_category.length > 0 && {\n\t\tcategories: patternPost.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\ttermLabels: patternPost.wp_pattern_category.map( ( patternCategoryId ) =>\n\t\tcategories?.get( patternCategoryId )\n\t\t\t? categories.get( patternCategoryId ).label\n\t\t\t: patternCategoryId\n\t),\n\tid: patternPost.id,\n\tname: patternPost.slug,\n\tsyncStatus: patternPost.wp_pattern_sync_status || PATTERN_SYNC_TYPES.full,\n\ttitle: patternPost.title.raw,\n\ttype: patternPost.type,\n\tpatternPost,\n} );\n\nconst selectUserPatterns = createSelector(\n\t( select, syncStatus, search = '' ) => {\n\t\tconst { getEntityRecords, getIsResolving, getUserPatternCategories } =\n\t\t\tselect( coreStore );\n\n\t\tconst query = { per_page: -1 };\n\t\tconst patternPosts = getEntityRecords(\n\t\t\t'postType',\n\t\t\tPATTERN_TYPES.user,\n\t\t\tquery\n\t\t);\n\t\tconst userPatternCategories = getUserPatternCategories();\n\t\tconst categories = new Map();\n\t\tuserPatternCategories.forEach( ( userCategory ) =>\n\t\t\tcategories.set( userCategory.id, userCategory )\n\t\t);\n\t\tlet patterns = patternPosts\n\t\t\t? patternPosts.map( ( record ) =>\n\t\t\t\t\tconvertPatternPostToItem( record, categories )\n\t\t\t )\n\t\t\t: EMPTY_PATTERN_LIST;\n\n\t\tconst isResolving = getIsResolving( 'getEntityRecords', [\n\t\t\t'postType',\n\t\t\tPATTERN_TYPES.user,\n\t\t\tquery,\n\t\t] );\n\n\t\tif ( syncStatus ) {\n\t\t\tpatterns = patterns.filter(\n\t\t\t\t( pattern ) => pattern.syncStatus === syncStatus\n\t\t\t);\n\t\t}\n\n\t\tpatterns = searchItems( patterns, search, {\n\t\t\t// We exit user pattern retrieval early if we aren't in the\n\t\t\t// catch-all category for user created patterns, so it has\n\t\t\t// to be in the category.\n\t\t\thasCategory: () => true,\n\t\t} );\n\n\t\treturn {\n\t\t\tpatterns,\n\t\t\tisResolving,\n\t\t\tcategories: userPatternCategories,\n\t\t};\n\t},\n\t( select ) => [\n\t\tselect( coreStore ).getEntityRecords( 'postType', PATTERN_TYPES.user, {\n\t\t\tper_page: -1,\n\t\t} ),\n\t\tselect( coreStore ).getIsResolving( 'getEntityRecords', [\n\t\t\t'postType',\n\t\t\tPATTERN_TYPES.user,\n\t\t\t{ per_page: -1 },\n\t\t] ),\n\t\tselect( coreStore ).getUserPatternCategories(),\n\t]\n);\n\nexport const usePatterns = (\n\tcategoryType,\n\tcategoryId,\n\t{ search = '', syncStatus } = {}\n) => {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tif ( categoryType === TEMPLATE_PART_POST_TYPE ) {\n\t\t\t\treturn selectTemplatePartsAsPatterns(\n\t\t\t\t\tselect,\n\t\t\t\t\tcategoryId,\n\t\t\t\t\tsearch\n\t\t\t\t);\n\t\t\t} else if ( categoryType === PATTERN_TYPES.theme ) {\n\t\t\t\treturn selectPatterns( select, categoryId, syncStatus, search );\n\t\t\t} else if ( categoryType === PATTERN_TYPES.user ) {\n\t\t\t\treturn selectUserPatterns( select, syncStatus, search );\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tpatterns: EMPTY_PATTERN_LIST,\n\t\t\t\tisResolving: false,\n\t\t\t};\n\t\t},\n\t\t[ categoryId, categoryType, search, syncStatus ]\n\t);\n};\n\nexport default usePatterns;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_rememo","_interopRequireDefault","require","_blocks","_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","TEMPLATE_ORIGINS","custom","keywords","id","name","title","decodeEntities","rendered","type","selectTemplatePartsAsPatterns","createSelector","select","categoryId","search","_getEntityRecords","getEntityRecords","getIsResolving","coreStore","__experimentalGetDefaultTemplatePartAreas","editorStore","query","per_page","rawTemplateParts","TEMPLATE_PART_POST_TYPE","templateParts","map","knownAreas","templatePartAreas","templatePartHasCategory","item","category","TEMPLATE_PART_AREA_DEFAULT_CATEGORY","includes","isResolving","patterns","searchItems","hasCategory","selectThemePatterns","_settings$__experimen","getSettings","unlock","editSiteStore","settings","blockPatterns","__experimentalAdditionalBlockPatterns","__experimentalBlockPatterns","restBlockPatterns","getBlockPatterns","filter","pattern","EXCLUDED_PATTERN_SOURCES","filterOutDuplicatesByName","inserter","PATTERN_TYPES","selectPatterns","syncStatus","themePatterns","userPatterns","selectUserPatterns","user","PATTERN_SYNC_TYPES","unsynced","currentCategory","hasOwnProperty","convertPatternPostToItem","patternPost","wp_pattern_category","length","patternCategoryId","get","termLabels","label","wp_pattern_sync_status","full","getUserPatternCategories","patternPosts","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 * External dependencies\n */\nimport createSelector from 'rememo';\n\n/**\n * WordPress dependencies\n */\nimport { parse } from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as editorStore } from '@wordpress/editor';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { filterOutDuplicatesByName } from './utils';\nimport {\n\tEXCLUDED_PATTERN_SOURCES,\n\tPATTERN_TYPES,\n\tPATTERN_SYNC_TYPES,\n\tTEMPLATE_PART_POST_TYPE,\n\tTEMPLATE_ORIGINS,\n\tTEMPLATE_PART_AREA_DEFAULT_CATEGORY,\n} from '../../utils/constants';\nimport { unlock } from '../../lock-unlock';\nimport { searchItems } from './search-items';\nimport { store as editSiteStore } from '../../store';\n\nconst EMPTY_PATTERN_LIST = [];\n\nconst createTemplatePartId = ( theme, slug ) =>\n\ttheme && slug ? theme + '//' + slug : null;\n\nconst templatePartToPattern = ( templatePart ) => ( {\n\tblocks: parse( templatePart.content.raw, {\n\t\t__unstableSkipMigrationLogs: true,\n\t} ),\n\tcategories: [ templatePart.area ],\n\tdescription: templatePart.description || '',\n\tisCustom: templatePart.source === TEMPLATE_ORIGINS.custom,\n\tkeywords: templatePart.keywords || [],\n\tid: createTemplatePartId( templatePart.theme, templatePart.slug ),\n\tname: createTemplatePartId( templatePart.theme, templatePart.slug ),\n\ttitle: decodeEntities( templatePart.title.rendered ),\n\ttype: templatePart.type,\n\ttemplatePart,\n} );\n\nconst selectTemplatePartsAsPatterns = createSelector(\n\t( select, categoryId, search = '' ) => {\n\t\tconst { getEntityRecords, getIsResolving } = select( coreStore );\n\t\tconst { __experimentalGetDefaultTemplatePartAreas } =\n\t\t\tselect( editorStore );\n\t\tconst query = { per_page: -1 };\n\t\tconst rawTemplateParts =\n\t\t\tgetEntityRecords( 'postType', TEMPLATE_PART_POST_TYPE, query ) ??\n\t\t\tEMPTY_PATTERN_LIST;\n\t\tconst templateParts = rawTemplateParts.map( ( templatePart ) =>\n\t\t\ttemplatePartToPattern( templatePart )\n\t\t);\n\n\t\t// In the case where a custom template part area has been removed we need\n\t\t// the current list of areas to cross check against so orphaned template\n\t\t// parts can be treated as uncategorized.\n\t\tconst knownAreas = __experimentalGetDefaultTemplatePartAreas() || [];\n\t\tconst templatePartAreas = knownAreas.map( ( area ) => area.area );\n\n\t\tconst templatePartHasCategory = ( item, category ) => {\n\t\t\tif ( category !== TEMPLATE_PART_AREA_DEFAULT_CATEGORY ) {\n\t\t\t\treturn item.templatePart.area === category;\n\t\t\t}\n\n\t\t\treturn (\n\t\t\t\titem.templatePart.area === category ||\n\t\t\t\t! templatePartAreas.includes( item.templatePart.area )\n\t\t\t);\n\t\t};\n\n\t\tconst isResolving = getIsResolving( 'getEntityRecords', [\n\t\t\t'postType',\n\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\tquery,\n\t\t] );\n\n\t\tconst patterns = searchItems( templateParts, search, {\n\t\t\tcategoryId,\n\t\t\thasCategory: templatePartHasCategory,\n\t\t} );\n\n\t\treturn { patterns, isResolving };\n\t},\n\t( select ) => [\n\t\tselect( coreStore ).getEntityRecords(\n\t\t\t'postType',\n\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\t{\n\t\t\t\tper_page: -1,\n\t\t\t}\n\t\t),\n\t\tselect( coreStore ).getIsResolving( 'getEntityRecords', [\n\t\t\t'postType',\n\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\t{ per_page: -1 },\n\t\t] ),\n\t\tselect( editorStore ).__experimentalGetDefaultTemplatePartAreas(),\n\t]\n);\n\nconst selectThemePatterns = createSelector(\n\t( select ) => {\n\t\tconst { getSettings } = unlock( select( editSiteStore ) );\n\t\tconst settings = getSettings();\n\t\tconst blockPatterns =\n\t\t\tsettings.__experimentalAdditionalBlockPatterns ??\n\t\t\tsettings.__experimentalBlockPatterns;\n\n\t\tconst restBlockPatterns = select( coreStore ).getBlockPatterns();\n\n\t\tconst patterns = [\n\t\t\t...( blockPatterns || [] ),\n\t\t\t...( restBlockPatterns || [] ),\n\t\t]\n\t\t\t.filter(\n\t\t\t\t( pattern ) =>\n\t\t\t\t\t! EXCLUDED_PATTERN_SOURCES.includes( pattern.source )\n\t\t\t)\n\t\t\t.filter( filterOutDuplicatesByName )\n\t\t\t.filter( ( pattern ) => pattern.inserter !== false )\n\t\t\t.map( ( pattern ) => ( {\n\t\t\t\t...pattern,\n\t\t\t\tkeywords: pattern.keywords || [],\n\t\t\t\ttype: PATTERN_TYPES.theme,\n\t\t\t\tblocks: parse( pattern.content, {\n\t\t\t\t\t__unstableSkipMigrationLogs: true,\n\t\t\t\t} ),\n\t\t\t} ) );\n\n\t\treturn { patterns, isResolving: false };\n\t},\n\t( select ) => [\n\t\tselect( coreStore ).getBlockPatterns(),\n\t\tunlock( select( editSiteStore ) ).getSettings(),\n\t]\n);\n\nconst selectPatterns = createSelector(\n\t( select, categoryId, syncStatus, search = '' ) => {\n\t\tconst { patterns: themePatterns } = selectThemePatterns( select );\n\t\tconst { patterns: userPatterns } = selectUserPatterns( select );\n\n\t\tlet patterns = [\n\t\t\t...( themePatterns || [] ),\n\t\t\t...( userPatterns || [] ),\n\t\t];\n\n\t\tif ( syncStatus ) {\n\t\t\t// User patterns can have their sync statuses checked directly\n\t\t\t// Non-user patterns are all unsynced for the time being.\n\t\t\tpatterns = patterns.filter( ( pattern ) => {\n\t\t\t\treturn pattern.type === PATTERN_TYPES.user\n\t\t\t\t\t? pattern.syncStatus === syncStatus\n\t\t\t\t\t: syncStatus === PATTERN_SYNC_TYPES.unsynced;\n\t\t\t} );\n\t\t}\n\n\t\tif ( categoryId ) {\n\t\t\tpatterns = searchItems( patterns, search, {\n\t\t\t\tcategoryId,\n\t\t\t\thasCategory: ( item, currentCategory ) =>\n\t\t\t\t\titem.categories?.includes( currentCategory ),\n\t\t\t} );\n\t\t} else {\n\t\t\tpatterns = searchItems( patterns, search, {\n\t\t\t\thasCategory: ( item ) => ! item.hasOwnProperty( 'categories' ),\n\t\t\t} );\n\t\t}\n\t\treturn { patterns, isResolving: false };\n\t},\n\t( select ) => [\n\t\tselectThemePatterns( select ),\n\t\tselectUserPatterns( select ),\n\t]\n);\n\n/**\n * Converts a post of type `wp_block` to a 'pattern item' that more closely\n * matches the structure of theme provided patterns.\n *\n * @param {Object} patternPost The `wp_block` record being normalized.\n * @param {Map} categories A Map of user created categories.\n *\n * @return {Object} The normalized item.\n */\nconst convertPatternPostToItem = ( patternPost, categories ) => ( {\n\tblocks: parse( patternPost.content.raw, {\n\t\t__unstableSkipMigrationLogs: true,\n\t} ),\n\t...( patternPost.wp_pattern_category.length > 0 && {\n\t\tcategories: patternPost.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\ttermLabels: patternPost.wp_pattern_category.map( ( patternCategoryId ) =>\n\t\tcategories?.get( patternCategoryId )\n\t\t\t? categories.get( patternCategoryId ).label\n\t\t\t: patternCategoryId\n\t),\n\tid: patternPost.id,\n\tname: patternPost.slug,\n\tsyncStatus: patternPost.wp_pattern_sync_status || PATTERN_SYNC_TYPES.full,\n\ttitle: patternPost.title.raw,\n\ttype: patternPost.type,\n\tpatternPost,\n} );\n\nconst selectUserPatterns = createSelector(\n\t( select, syncStatus, search = '' ) => {\n\t\tconst { getEntityRecords, getIsResolving, getUserPatternCategories } =\n\t\t\tselect( coreStore );\n\n\t\tconst query = { per_page: -1 };\n\t\tconst patternPosts = getEntityRecords(\n\t\t\t'postType',\n\t\t\tPATTERN_TYPES.user,\n\t\t\tquery\n\t\t);\n\t\tconst userPatternCategories = getUserPatternCategories();\n\t\tconst categories = new Map();\n\t\tuserPatternCategories.forEach( ( userCategory ) =>\n\t\t\tcategories.set( userCategory.id, userCategory )\n\t\t);\n\t\tlet patterns = patternPosts\n\t\t\t? patternPosts.map( ( record ) =>\n\t\t\t\t\tconvertPatternPostToItem( record, categories )\n\t\t\t )\n\t\t\t: EMPTY_PATTERN_LIST;\n\n\t\tconst isResolving = getIsResolving( 'getEntityRecords', [\n\t\t\t'postType',\n\t\t\tPATTERN_TYPES.user,\n\t\t\tquery,\n\t\t] );\n\n\t\tif ( syncStatus ) {\n\t\t\tpatterns = patterns.filter(\n\t\t\t\t( pattern ) => pattern.syncStatus === syncStatus\n\t\t\t);\n\t\t}\n\n\t\tpatterns = searchItems( patterns, search, {\n\t\t\t// We exit user pattern retrieval early if we aren't in the\n\t\t\t// catch-all category for user created patterns, so it has\n\t\t\t// to be in the category.\n\t\t\thasCategory: () => true,\n\t\t} );\n\n\t\treturn {\n\t\t\tpatterns,\n\t\t\tisResolving,\n\t\t\tcategories: userPatternCategories,\n\t\t};\n\t},\n\t( select ) => [\n\t\tselect( coreStore ).getEntityRecords( 'postType', PATTERN_TYPES.user, {\n\t\t\tper_page: -1,\n\t\t} ),\n\t\tselect( coreStore ).getIsResolving( 'getEntityRecords', [\n\t\t\t'postType',\n\t\t\tPATTERN_TYPES.user,\n\t\t\t{ per_page: -1 },\n\t\t] ),\n\t\tselect( coreStore ).getUserPatternCategories(),\n\t]\n);\n\nexport const usePatterns = (\n\tcategoryType,\n\tcategoryId,\n\t{ search = '', syncStatus } = {}\n) => {\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tif ( categoryType === TEMPLATE_PART_POST_TYPE ) {\n\t\t\t\treturn selectTemplatePartsAsPatterns(\n\t\t\t\t\tselect,\n\t\t\t\t\tcategoryId,\n\t\t\t\t\tsearch\n\t\t\t\t);\n\t\t\t} else if ( categoryType === PATTERN_TYPES.theme ) {\n\t\t\t\treturn selectPatterns( select, categoryId, syncStatus, search );\n\t\t\t} else if ( categoryType === PATTERN_TYPES.user ) {\n\t\t\t\treturn selectUserPatterns( select, syncStatus, search );\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tpatterns: EMPTY_PATTERN_LIST,\n\t\t\t\tisResolving: false,\n\t\t\t};\n\t\t},\n\t\t[ categoryId, categoryType, search, syncStatus ]\n\t);\n};\n\nexport default usePatterns;\n"],"mappings":"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"}
|
|
@@ -75,7 +75,7 @@ function useResetTemplateAction() {
|
|
|
75
75
|
}
|
|
76
76
|
}), [createErrorNotice, createSuccessNotice, revertTemplate, saveEditedEntityRecord]);
|
|
77
77
|
}
|
|
78
|
-
const deleteTemplateAction = {
|
|
78
|
+
const deleteTemplateAction = exports.deleteTemplateAction = {
|
|
79
79
|
id: 'delete-template',
|
|
80
80
|
label: (0, _i18n.__)('Delete'),
|
|
81
81
|
isPrimary: true,
|
|
@@ -116,8 +116,7 @@ const deleteTemplateAction = {
|
|
|
116
116
|
}, (0, _i18n.__)('Delete'))));
|
|
117
117
|
}
|
|
118
118
|
};
|
|
119
|
-
exports.
|
|
120
|
-
const renameTemplateAction = {
|
|
119
|
+
const renameTemplateAction = exports.renameTemplateAction = {
|
|
121
120
|
id: 'rename-template',
|
|
122
121
|
label: (0, _i18n.__)('Rename'),
|
|
123
122
|
isEligible: template => {
|
|
@@ -192,5 +191,4 @@ const renameTemplateAction = {
|
|
|
192
191
|
}, (0, _i18n.__)('Save')))));
|
|
193
192
|
}
|
|
194
193
|
};
|
|
195
|
-
exports.renameTemplateAction = renameTemplateAction;
|
|
196
194
|
//# sourceMappingURL=actions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_icons","require","_i18n","_data","_element","_coreData","_notices","_htmlEntities","_components","_lockUnlock","_store","_isTemplateRevertable","_interopRequireDefault","_isTemplateRemovable","_constants","useResetTemplateAction","revertTemplate","useDispatch","editSiteStore","saveEditedEntityRecord","coreStore","createSuccessNotice","createErrorNotice","noticesStore","useMemo","id","label","__","isPrimary","icon","backup","isEligible","isTemplateRevertable","supportsBulk","callback","templates","template","allowUndo","type","length","sprintf","decodeEntities","title","rendered","error","fallbackErrorMessage","TEMPLATE_POST_TYPE","errorMessage","message","code","deleteTemplateAction","trash","isTemplateRemovable","hideModalHeader","RenderModal","items","closeModal","onPerform","removeTemplates","unlock","_react","createElement","__experimentalVStack","spacing","__experimentalText","_n","__experimentalHStack","justify","Button","variant","onClick","exports","renameTemplateAction","is_custom","editedTitle","setEditedTitle","useState","editEntityRecord","__experimentalSaveSpecifiedEntityEdits","saveSpecifiedEntityEdits","onTemplateRename","event","preventDefault","throwOnError","onSubmit","TextControl","__nextHasNoMarginBottom","value","onChange","required"],"sources":["@wordpress/edit-site/src/components/page-templates-template-parts/actions.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { backup, trash } from '@wordpress/icons';\nimport { __, sprintf, _n } from '@wordpress/i18n';\nimport { useDispatch } from '@wordpress/data';\nimport { useMemo, useState } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport {\n\tButton,\n\tTextControl,\n\t__experimentalText as Text,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { store as editSiteStore } from '../../store';\nimport isTemplateRevertable from '../../utils/is-template-revertable';\nimport isTemplateRemovable from '../../utils/is-template-removable';\nimport { TEMPLATE_POST_TYPE } from '../../utils/constants';\n\nexport function useResetTemplateAction() {\n\tconst { revertTemplate } = useDispatch( editSiteStore );\n\tconst { saveEditedEntityRecord } = useDispatch( coreStore );\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\treturn useMemo(\n\t\t() => ( {\n\t\t\tid: 'reset-template',\n\t\t\tlabel: __( 'Reset' ),\n\t\t\tisPrimary: true,\n\t\t\ticon: backup,\n\t\t\tisEligible: isTemplateRevertable,\n\t\t\tsupportsBulk: true,\n\t\t\tasync callback( templates ) {\n\t\t\t\ttry {\n\t\t\t\t\tfor ( const template of templates ) {\n\t\t\t\t\t\tawait revertTemplate( template, {\n\t\t\t\t\t\t\tallowUndo: false,\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tawait saveEditedEntityRecord(\n\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\ttemplate.type,\n\t\t\t\t\t\t\ttemplate.id\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\ttemplates.length > 1\n\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: The number of items. */\n\t\t\t\t\t\t\t\t\t__( '%s items reverted.' ),\n\t\t\t\t\t\t\t\t\ttemplates.length\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: The template/part's name. */\n\t\t\t\t\t\t\t\t\t__( '\"%s\" reverted.' ),\n\t\t\t\t\t\t\t\t\tdecodeEntities(\n\t\t\t\t\t\t\t\t\t\ttemplates[ 0 ].title.rendered\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t ),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\tid: 'edit-site-template-reverted',\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t} catch ( error ) {\n\t\t\t\t\tlet fallbackErrorMessage;\n\t\t\t\t\tif ( templates[ 0 ].type === TEMPLATE_POST_TYPE ) {\n\t\t\t\t\t\tfallbackErrorMessage =\n\t\t\t\t\t\t\ttemplates.length === 1\n\t\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t\t'An error occurred while reverting the template.'\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t'An error occurred while reverting the templates.'\n\t\t\t\t\t\t\t\t );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tfallbackErrorMessage =\n\t\t\t\t\t\t\ttemplates.length === 1\n\t\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t\t'An error occurred while reverting the template part.'\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t'An error occurred while reverting the template parts.'\n\t\t\t\t\t\t\t\t );\n\t\t\t\t\t}\n\t\t\t\t\tconst errorMessage =\n\t\t\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t\t\t? error.message\n\t\t\t\t\t\t\t: fallbackErrorMessage;\n\n\t\t\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t\t\t}\n\t\t\t},\n\t\t} ),\n\t\t[\n\t\t\tcreateErrorNotice,\n\t\t\tcreateSuccessNotice,\n\t\t\trevertTemplate,\n\t\t\tsaveEditedEntityRecord,\n\t\t]\n\t);\n}\n\nexport const deleteTemplateAction = {\n\tid: 'delete-template',\n\tlabel: __( 'Delete' ),\n\tisPrimary: true,\n\ticon: trash,\n\tisEligible: isTemplateRemovable,\n\tsupportsBulk: true,\n\thideModalHeader: true,\n\tRenderModal: ( { items: templates, closeModal, onPerform } ) => {\n\t\tconst { removeTemplates } = unlock( useDispatch( editSiteStore ) );\n\t\treturn (\n\t\t\t<VStack spacing=\"5\">\n\t\t\t\t<Text>\n\t\t\t\t\t{ templates.length > 1\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t// translators: %d: number of items to delete.\n\t\t\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t\t\t'Delete %d item?',\n\t\t\t\t\t\t\t\t\t'Delete %d items?',\n\t\t\t\t\t\t\t\t\ttemplates.length\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\ttemplates.length\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: The template or template part's titles\n\t\t\t\t\t\t\t\t__( 'Delete \"%s\"?' ),\n\t\t\t\t\t\t\t\tdecodeEntities(\n\t\t\t\t\t\t\t\t\ttemplates?.[ 0 ]?.title?.rendered\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t ) }\n\t\t\t\t</Text>\n\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t<Button variant=\"tertiary\" onClick={ closeModal }>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ async () => {\n\t\t\t\t\t\t\tawait removeTemplates( templates, {\n\t\t\t\t\t\t\t\tallowUndo: false,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\tif ( onPerform ) {\n\t\t\t\t\t\t\t\tonPerform();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcloseModal();\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Delete' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t);\n\t},\n};\n\nexport const renameTemplateAction = {\n\tid: 'rename-template',\n\tlabel: __( 'Rename' ),\n\tisEligible: ( template ) => {\n\t\t// We can only remove templates or template parts that can be removed.\n\t\t// Additionally in the case of templates, we can only remove custom templates.\n\t\tif (\n\t\t\t! isTemplateRemovable( template ) ||\n\t\t\t( template.type === TEMPLATE_POST_TYPE && ! template.is_custom )\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t},\n\tRenderModal: ( { items: templates, closeModal } ) => {\n\t\tconst template = templates[ 0 ];\n\t\tconst title = decodeEntities( template.title.rendered );\n\t\tconst [ editedTitle, setEditedTitle ] = useState( title );\n\t\tconst {\n\t\t\teditEntityRecord,\n\t\t\t__experimentalSaveSpecifiedEntityEdits: saveSpecifiedEntityEdits,\n\t\t} = useDispatch( coreStore );\n\t\tconst { createSuccessNotice, createErrorNotice } =\n\t\t\tuseDispatch( noticesStore );\n\t\tasync function onTemplateRename( event ) {\n\t\t\tevent.preventDefault();\n\t\t\ttry {\n\t\t\t\tawait editEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\ttemplate.type,\n\t\t\t\t\ttemplate.id,\n\t\t\t\t\t{\n\t\t\t\t\t\ttitle: editedTitle,\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\t// Update state before saving rerenders the list.\n\t\t\t\tsetEditedTitle( '' );\n\t\t\t\tcloseModal();\n\t\t\t\t// Persist edited entity.\n\t\t\t\tawait saveSpecifiedEntityEdits(\n\t\t\t\t\t'postType',\n\t\t\t\t\ttemplate.type,\n\t\t\t\t\ttemplate.id,\n\t\t\t\t\t[ 'title' ], // Only save title to avoid persisting other edits.\n\t\t\t\t\t{\n\t\t\t\t\t\tthrowOnError: true,\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\t// TODO: this action will be reused in template parts list, so\n\t\t\t\t// let's keep this for a bit, even it's always a `template` now.\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\ttemplate.type === TEMPLATE_POST_TYPE\n\t\t\t\t\t\t? __( 'Template renamed.' )\n\t\t\t\t\t\t: __( 'Template part renamed.' ),\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t} catch ( error ) {\n\t\t\t\tconst fallbackErrorMessage =\n\t\t\t\t\ttemplate.type === TEMPLATE_POST_TYPE\n\t\t\t\t\t\t? __( 'An error occurred while renaming the template.' )\n\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t'An error occurred while renaming the template part.'\n\t\t\t\t\t\t );\n\t\t\t\tconst errorMessage =\n\t\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t\t? error.message\n\t\t\t\t\t\t: fallbackErrorMessage;\n\n\t\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t\t}\n\t\t}\n\t\treturn (\n\t\t\t<form onSubmit={ onTemplateRename }>\n\t\t\t\t<VStack spacing=\"5\">\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\tvalue={ editedTitle }\n\t\t\t\t\t\tonChange={ setEditedTitle }\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t\t<Button variant=\"tertiary\" onClick={ closeModal }>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button variant=\"primary\" type=\"submit\">\n\t\t\t\t\t\t\t{ __( 'Save' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t</form>\n\t\t);\n\t},\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_icons","require","_i18n","_data","_element","_coreData","_notices","_htmlEntities","_components","_lockUnlock","_store","_isTemplateRevertable","_interopRequireDefault","_isTemplateRemovable","_constants","useResetTemplateAction","revertTemplate","useDispatch","editSiteStore","saveEditedEntityRecord","coreStore","createSuccessNotice","createErrorNotice","noticesStore","useMemo","id","label","__","isPrimary","icon","backup","isEligible","isTemplateRevertable","supportsBulk","callback","templates","template","allowUndo","type","length","sprintf","decodeEntities","title","rendered","error","fallbackErrorMessage","TEMPLATE_POST_TYPE","errorMessage","message","code","deleteTemplateAction","exports","trash","isTemplateRemovable","hideModalHeader","RenderModal","items","closeModal","onPerform","removeTemplates","unlock","_react","createElement","__experimentalVStack","spacing","__experimentalText","_n","__experimentalHStack","justify","Button","variant","onClick","renameTemplateAction","is_custom","editedTitle","setEditedTitle","useState","editEntityRecord","__experimentalSaveSpecifiedEntityEdits","saveSpecifiedEntityEdits","onTemplateRename","event","preventDefault","throwOnError","onSubmit","TextControl","__nextHasNoMarginBottom","value","onChange","required"],"sources":["@wordpress/edit-site/src/components/page-templates-template-parts/actions.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { backup, trash } from '@wordpress/icons';\nimport { __, sprintf, _n } from '@wordpress/i18n';\nimport { useDispatch } from '@wordpress/data';\nimport { useMemo, useState } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport {\n\tButton,\n\tTextControl,\n\t__experimentalText as Text,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { store as editSiteStore } from '../../store';\nimport isTemplateRevertable from '../../utils/is-template-revertable';\nimport isTemplateRemovable from '../../utils/is-template-removable';\nimport { TEMPLATE_POST_TYPE } from '../../utils/constants';\n\nexport function useResetTemplateAction() {\n\tconst { revertTemplate } = useDispatch( editSiteStore );\n\tconst { saveEditedEntityRecord } = useDispatch( coreStore );\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\treturn useMemo(\n\t\t() => ( {\n\t\t\tid: 'reset-template',\n\t\t\tlabel: __( 'Reset' ),\n\t\t\tisPrimary: true,\n\t\t\ticon: backup,\n\t\t\tisEligible: isTemplateRevertable,\n\t\t\tsupportsBulk: true,\n\t\t\tasync callback( templates ) {\n\t\t\t\ttry {\n\t\t\t\t\tfor ( const template of templates ) {\n\t\t\t\t\t\tawait revertTemplate( template, {\n\t\t\t\t\t\t\tallowUndo: false,\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tawait saveEditedEntityRecord(\n\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\ttemplate.type,\n\t\t\t\t\t\t\ttemplate.id\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\n\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\ttemplates.length > 1\n\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: The number of items. */\n\t\t\t\t\t\t\t\t\t__( '%s items reverted.' ),\n\t\t\t\t\t\t\t\t\ttemplates.length\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: The template/part's name. */\n\t\t\t\t\t\t\t\t\t__( '\"%s\" reverted.' ),\n\t\t\t\t\t\t\t\t\tdecodeEntities(\n\t\t\t\t\t\t\t\t\t\ttemplates[ 0 ].title.rendered\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t ),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\tid: 'edit-site-template-reverted',\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t} catch ( error ) {\n\t\t\t\t\tlet fallbackErrorMessage;\n\t\t\t\t\tif ( templates[ 0 ].type === TEMPLATE_POST_TYPE ) {\n\t\t\t\t\t\tfallbackErrorMessage =\n\t\t\t\t\t\t\ttemplates.length === 1\n\t\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t\t'An error occurred while reverting the template.'\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t'An error occurred while reverting the templates.'\n\t\t\t\t\t\t\t\t );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tfallbackErrorMessage =\n\t\t\t\t\t\t\ttemplates.length === 1\n\t\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t\t'An error occurred while reverting the template part.'\n\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t'An error occurred while reverting the template parts.'\n\t\t\t\t\t\t\t\t );\n\t\t\t\t\t}\n\t\t\t\t\tconst errorMessage =\n\t\t\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t\t\t? error.message\n\t\t\t\t\t\t\t: fallbackErrorMessage;\n\n\t\t\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t\t\t}\n\t\t\t},\n\t\t} ),\n\t\t[\n\t\t\tcreateErrorNotice,\n\t\t\tcreateSuccessNotice,\n\t\t\trevertTemplate,\n\t\t\tsaveEditedEntityRecord,\n\t\t]\n\t);\n}\n\nexport const deleteTemplateAction = {\n\tid: 'delete-template',\n\tlabel: __( 'Delete' ),\n\tisPrimary: true,\n\ticon: trash,\n\tisEligible: isTemplateRemovable,\n\tsupportsBulk: true,\n\thideModalHeader: true,\n\tRenderModal: ( { items: templates, closeModal, onPerform } ) => {\n\t\tconst { removeTemplates } = unlock( useDispatch( editSiteStore ) );\n\t\treturn (\n\t\t\t<VStack spacing=\"5\">\n\t\t\t\t<Text>\n\t\t\t\t\t{ templates.length > 1\n\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t// translators: %d: number of items to delete.\n\t\t\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t\t\t'Delete %d item?',\n\t\t\t\t\t\t\t\t\t'Delete %d items?',\n\t\t\t\t\t\t\t\t\ttemplates.length\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\ttemplates.length\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: The template or template part's titles\n\t\t\t\t\t\t\t\t__( 'Delete \"%s\"?' ),\n\t\t\t\t\t\t\t\tdecodeEntities(\n\t\t\t\t\t\t\t\t\ttemplates?.[ 0 ]?.title?.rendered\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t ) }\n\t\t\t\t</Text>\n\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t<Button variant=\"tertiary\" onClick={ closeModal }>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ async () => {\n\t\t\t\t\t\t\tawait removeTemplates( templates, {\n\t\t\t\t\t\t\t\tallowUndo: false,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\tif ( onPerform ) {\n\t\t\t\t\t\t\t\tonPerform();\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tcloseModal();\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Delete' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t);\n\t},\n};\n\nexport const renameTemplateAction = {\n\tid: 'rename-template',\n\tlabel: __( 'Rename' ),\n\tisEligible: ( template ) => {\n\t\t// We can only remove templates or template parts that can be removed.\n\t\t// Additionally in the case of templates, we can only remove custom templates.\n\t\tif (\n\t\t\t! isTemplateRemovable( template ) ||\n\t\t\t( template.type === TEMPLATE_POST_TYPE && ! template.is_custom )\n\t\t) {\n\t\t\treturn false;\n\t\t}\n\t\treturn true;\n\t},\n\tRenderModal: ( { items: templates, closeModal } ) => {\n\t\tconst template = templates[ 0 ];\n\t\tconst title = decodeEntities( template.title.rendered );\n\t\tconst [ editedTitle, setEditedTitle ] = useState( title );\n\t\tconst {\n\t\t\teditEntityRecord,\n\t\t\t__experimentalSaveSpecifiedEntityEdits: saveSpecifiedEntityEdits,\n\t\t} = useDispatch( coreStore );\n\t\tconst { createSuccessNotice, createErrorNotice } =\n\t\t\tuseDispatch( noticesStore );\n\t\tasync function onTemplateRename( event ) {\n\t\t\tevent.preventDefault();\n\t\t\ttry {\n\t\t\t\tawait editEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\ttemplate.type,\n\t\t\t\t\ttemplate.id,\n\t\t\t\t\t{\n\t\t\t\t\t\ttitle: editedTitle,\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\t// Update state before saving rerenders the list.\n\t\t\t\tsetEditedTitle( '' );\n\t\t\t\tcloseModal();\n\t\t\t\t// Persist edited entity.\n\t\t\t\tawait saveSpecifiedEntityEdits(\n\t\t\t\t\t'postType',\n\t\t\t\t\ttemplate.type,\n\t\t\t\t\ttemplate.id,\n\t\t\t\t\t[ 'title' ], // Only save title to avoid persisting other edits.\n\t\t\t\t\t{\n\t\t\t\t\t\tthrowOnError: true,\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\t// TODO: this action will be reused in template parts list, so\n\t\t\t\t// let's keep this for a bit, even it's always a `template` now.\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\ttemplate.type === TEMPLATE_POST_TYPE\n\t\t\t\t\t\t? __( 'Template renamed.' )\n\t\t\t\t\t\t: __( 'Template part renamed.' ),\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t} catch ( error ) {\n\t\t\t\tconst fallbackErrorMessage =\n\t\t\t\t\ttemplate.type === TEMPLATE_POST_TYPE\n\t\t\t\t\t\t? __( 'An error occurred while renaming the template.' )\n\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t'An error occurred while renaming the template part.'\n\t\t\t\t\t\t );\n\t\t\t\tconst errorMessage =\n\t\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t\t? error.message\n\t\t\t\t\t\t: fallbackErrorMessage;\n\n\t\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t\t}\n\t\t}\n\t\treturn (\n\t\t\t<form onSubmit={ onTemplateRename }>\n\t\t\t\t<VStack spacing=\"5\">\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\tvalue={ editedTitle }\n\t\t\t\t\t\tonChange={ setEditedTitle }\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t\t<Button variant=\"tertiary\" onClick={ closeModal }>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button variant=\"primary\" type=\"submit\">\n\t\t\t\t\t\t\t{ __( 'Save' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t</form>\n\t\t);\n\t},\n};\n"],"mappings":"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"}
|
|
@@ -26,8 +26,8 @@ var _actions2 = require("../actions");
|
|
|
26
26
|
var _usePatternSettings = _interopRequireDefault(require("../page-patterns/use-pattern-settings"));
|
|
27
27
|
var _lockUnlock = require("../../lock-unlock");
|
|
28
28
|
var _addNewTemplatePart = _interopRequireDefault(require("./add-new-template-part"));
|
|
29
|
-
function _getRequireWildcardCache(
|
|
30
|
-
function _interopRequireWildcard(
|
|
29
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
30
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
31
31
|
/**
|
|
32
32
|
* External dependencies
|
|
33
33
|
*/
|
|
@@ -156,7 +156,9 @@ function Preview({
|
|
|
156
156
|
style: {
|
|
157
157
|
backgroundColor
|
|
158
158
|
}
|
|
159
|
-
}, (0, _react.createElement)(
|
|
159
|
+
}, viewType === _constants.LAYOUT_LIST && !isEmpty && (0, _react.createElement)(_blockEditor.BlockPreview, {
|
|
160
|
+
blocks: blocks
|
|
161
|
+
}), viewType !== _constants.LAYOUT_LIST && (0, _react.createElement)("button", {
|
|
160
162
|
className: "page-templates-preview-field__button",
|
|
161
163
|
type: "button",
|
|
162
164
|
onClick: onClick,
|
|
@@ -176,9 +178,11 @@ function PageTemplatesTemplateParts({
|
|
|
176
178
|
layout
|
|
177
179
|
} = params;
|
|
178
180
|
const defaultView = (0, _element.useMemo)(() => {
|
|
181
|
+
const usedType = window?.__experimentalAdminViews ? layout !== null && layout !== void 0 ? layout : DEFAULT_VIEW.type : DEFAULT_VIEW.type;
|
|
179
182
|
return {
|
|
180
183
|
...DEFAULT_VIEW,
|
|
181
|
-
type:
|
|
184
|
+
type: usedType,
|
|
185
|
+
layout: defaultConfigPerViewType[usedType],
|
|
182
186
|
filters: activeView !== 'all' ? [{
|
|
183
187
|
field: 'author',
|
|
184
188
|
operator: 'in',
|
|
@@ -293,7 +297,6 @@ function PageTemplatesTemplateParts({
|
|
|
293
297
|
item: item
|
|
294
298
|
});
|
|
295
299
|
},
|
|
296
|
-
enableHiding: false,
|
|
297
300
|
type: _constants.ENUMERATION_TYPE,
|
|
298
301
|
elements: authors,
|
|
299
302
|
width: '1%'
|