@wordpress/block-editor 13.3.0 → 13.4.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/README.md +0 -4
- package/build/components/alignment-control/ui.js +2 -2
- package/build/components/alignment-control/ui.js.map +1 -1
- package/build/components/block-alignment-control/ui.js +1 -1
- package/build/components/block-alignment-control/ui.js.map +1 -1
- package/build/components/block-alignment-control/ui.native.js +1 -1
- package/build/components/block-alignment-control/ui.native.js.map +1 -1
- package/build/components/block-inspector/index.js +6 -3
- package/build/components/block-inspector/index.js.map +1 -1
- package/build/components/block-list/use-block-props/index.js +3 -1
- package/build/components/block-list/use-block-props/index.js.map +1 -1
- package/build/components/block-list/use-block-props/use-block-refs.js +9 -2
- package/build/components/block-list/use-block-props/use-block-refs.js.map +1 -1
- package/build/components/block-list/use-block-props/use-is-hovered.js +25 -9
- package/build/components/block-list/use-block-props/use-is-hovered.js.map +1 -1
- package/build/components/block-list/use-in-between-inserter.js +3 -2
- package/build/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build/components/block-lock/modal.js +2 -0
- package/build/components/block-lock/modal.js.map +1 -1
- package/build/components/block-removal-warning-modal/index.js +2 -0
- package/build/components/block-removal-warning-modal/index.js.map +1 -1
- package/build/components/block-switcher/index.js +1 -1
- package/build/components/block-switcher/index.js.map +1 -1
- package/build/components/block-switcher/pattern-transformations-menu.js +11 -12
- package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
- package/build/components/block-switcher/preview-block-popover.js +20 -17
- package/build/components/block-switcher/preview-block-popover.js.map +1 -1
- package/build/components/block-toolbar/shuffle.js +5 -2
- package/build/components/block-toolbar/shuffle.js.map +1 -1
- package/build/components/block-tools/use-show-block-tools.js +7 -8
- package/build/components/block-tools/use-show-block-tools.js.map +1 -1
- package/build/components/block-tools/zoom-out-mode-inserter-button.js +45 -0
- package/build/components/block-tools/zoom-out-mode-inserter-button.js.map +1 -0
- package/build/components/block-tools/zoom-out-mode-inserters.js +27 -27
- package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
- package/build/components/block-tools/zoom-out-popover.js +2 -1
- package/build/components/block-tools/zoom-out-popover.js.map +1 -1
- package/build/components/block-tools/zoom-out-toolbar.js +1 -1
- package/build/components/block-tools/zoom-out-toolbar.js.map +1 -1
- package/build/components/date-format-picker/index.js +2 -11
- package/build/components/date-format-picker/index.js.map +1 -1
- package/build/components/default-block-appender/index.js +7 -4
- package/build/components/default-block-appender/index.js.map +1 -1
- package/build/components/font-appearance-control/index.js +2 -7
- package/build/components/font-appearance-control/index.js.map +1 -1
- package/build/components/global-styles/background-panel.js +8 -1
- package/build/components/global-styles/background-panel.js.map +1 -1
- package/build/components/global-styles/hooks.js +5 -1
- package/build/components/global-styles/hooks.js.map +1 -1
- package/build/components/global-styles/typography-panel.js +26 -43
- package/build/components/global-styles/typography-panel.js.map +1 -1
- package/build/components/global-styles/typography-utils.js +78 -7
- package/build/components/global-styles/typography-utils.js.map +1 -1
- package/build/components/global-styles/use-global-styles-output.js +24 -5
- package/build/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build/components/grid/grid-item-movers.js +89 -44
- package/build/components/grid/grid-item-movers.js.map +1 -1
- package/build/components/grid/grid-visualizer.js +1 -1
- package/build/components/grid/grid-visualizer.js.map +1 -1
- package/build/components/grid/use-grid-layout-sync.js +40 -28
- package/build/components/grid/use-grid-layout-sync.js.map +1 -1
- package/build/components/index.js +1 -9
- package/build/components/index.js.map +1 -1
- package/build/components/inner-blocks/index.js +1 -1
- package/build/components/inner-blocks/index.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/patterns-filter.js +20 -23
- package/build/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
- package/build/components/inserter/media-tab/media-panel.js +1 -0
- package/build/components/inserter/media-tab/media-panel.js.map +1 -1
- package/build/components/inserter/menu.js +1 -1
- package/build/components/inserter/menu.js.map +1 -1
- package/build/components/inserter/preview-panel.js +20 -3
- package/build/components/inserter/preview-panel.js.map +1 -1
- package/build/components/inserter-draggable-blocks/index.js +10 -3
- package/build/components/inserter-draggable-blocks/index.js.map +1 -1
- package/build/components/inspector-controls-tabs/settings-tab.js +1 -2
- package/build/components/inspector-controls-tabs/settings-tab.js.map +1 -1
- package/build/components/list-view/block-select-button.js +2 -6
- package/build/components/list-view/block-select-button.js.map +1 -1
- package/build/components/list-view/block.js +2 -2
- package/build/components/list-view/block.js.map +1 -1
- package/build/components/list-view/utils.js +3 -1
- package/build/components/list-view/utils.js.map +1 -1
- package/build/components/rich-text/format-toolbar/index.js +1 -1
- package/build/components/rich-text/format-toolbar/index.js.map +1 -1
- package/build/components/rich-text/index.js +1 -1
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +4 -2
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
- package/build/components/url-popover/image-url-input-ui.js +3 -3
- package/build/components/url-popover/image-url-input-ui.js.map +1 -1
- package/build/hooks/grid-visualizer.js +5 -8
- package/build/hooks/grid-visualizer.js.map +1 -1
- package/build/hooks/layout-child.js +9 -2
- package/build/hooks/layout-child.js.map +1 -1
- package/build/hooks/position.js +3 -7
- package/build/hooks/position.js.map +1 -1
- package/build/hooks/use-bindings-attributes.js +81 -50
- package/build/hooks/use-bindings-attributes.js.map +1 -1
- package/build/layouts/constrained.js +6 -2
- package/build/layouts/constrained.js.map +1 -1
- package/build/layouts/grid.js +2 -0
- package/build/layouts/grid.js.map +1 -1
- package/build/private-apis.js +0 -3
- package/build/private-apis.js.map +1 -1
- package/build/store/actions.js +18 -1
- package/build/store/actions.js.map +1 -1
- package/build/store/reducer.js +19 -1
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +13 -1
- package/build/store/selectors.js.map +1 -1
- package/build-module/components/alignment-control/ui.js +2 -2
- package/build-module/components/alignment-control/ui.js.map +1 -1
- package/build-module/components/block-alignment-control/ui.js +1 -1
- package/build-module/components/block-alignment-control/ui.js.map +1 -1
- package/build-module/components/block-alignment-control/ui.native.js +1 -1
- package/build-module/components/block-alignment-control/ui.native.js.map +1 -1
- package/build-module/components/block-inspector/index.js +6 -3
- package/build-module/components/block-inspector/index.js.map +1 -1
- package/build-module/components/block-list/use-block-props/index.js +3 -1
- package/build-module/components/block-list/use-block-props/index.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-block-refs.js +11 -4
- package/build-module/components/block-list/use-block-props/use-block-refs.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-is-hovered.js +26 -9
- package/build-module/components/block-list/use-block-props/use-is-hovered.js.map +1 -1
- package/build-module/components/block-list/use-in-between-inserter.js +3 -2
- package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build-module/components/block-lock/modal.js +2 -0
- package/build-module/components/block-lock/modal.js.map +1 -1
- package/build-module/components/block-removal-warning-modal/index.js +2 -0
- package/build-module/components/block-removal-warning-modal/index.js.map +1 -1
- package/build-module/components/block-switcher/index.js +1 -1
- package/build-module/components/block-switcher/index.js.map +1 -1
- package/build-module/components/block-switcher/pattern-transformations-menu.js +12 -13
- package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
- package/build-module/components/block-switcher/preview-block-popover.js +20 -17
- package/build-module/components/block-switcher/preview-block-popover.js.map +1 -1
- package/build-module/components/block-toolbar/shuffle.js +5 -2
- package/build-module/components/block-toolbar/shuffle.js.map +1 -1
- package/build-module/components/block-tools/use-show-block-tools.js +7 -8
- package/build-module/components/block-tools/use-show-block-tools.js.map +1 -1
- package/build-module/components/block-tools/zoom-out-mode-inserter-button.js +37 -0
- package/build-module/components/block-tools/zoom-out-mode-inserter-button.js.map +1 -0
- package/build-module/components/block-tools/zoom-out-mode-inserters.js +28 -28
- package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
- package/build-module/components/block-tools/zoom-out-popover.js +2 -1
- package/build-module/components/block-tools/zoom-out-popover.js.map +1 -1
- package/build-module/components/block-tools/zoom-out-toolbar.js +1 -1
- package/build-module/components/block-tools/zoom-out-toolbar.js.map +1 -1
- package/build-module/components/date-format-picker/index.js +4 -12
- package/build-module/components/date-format-picker/index.js.map +1 -1
- package/build-module/components/default-block-appender/index.js +7 -4
- package/build-module/components/default-block-appender/index.js.map +1 -1
- package/build-module/components/font-appearance-control/index.js +3 -6
- package/build-module/components/font-appearance-control/index.js.map +1 -1
- package/build-module/components/global-styles/background-panel.js +8 -1
- package/build-module/components/global-styles/background-panel.js.map +1 -1
- package/build-module/components/global-styles/hooks.js +5 -1
- package/build-module/components/global-styles/hooks.js.map +1 -1
- package/build-module/components/global-styles/typography-panel.js +27 -44
- package/build-module/components/global-styles/typography-panel.js.map +1 -1
- package/build-module/components/global-styles/typography-utils.js +76 -7
- package/build-module/components/global-styles/typography-utils.js.map +1 -1
- package/build-module/components/global-styles/use-global-styles-output.js +24 -5
- package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build-module/components/grid/grid-item-movers.js +92 -46
- package/build-module/components/grid/grid-item-movers.js.map +1 -1
- package/build-module/components/grid/grid-visualizer.js +1 -1
- package/build-module/components/grid/grid-visualizer.js.map +1 -1
- package/build-module/components/grid/use-grid-layout-sync.js +41 -29
- package/build-module/components/grid/use-grid-layout-sync.js.map +1 -1
- package/build-module/components/index.js +0 -5
- package/build-module/components/index.js.map +1 -1
- package/build-module/components/inner-blocks/index.js +1 -1
- package/build-module/components/inner-blocks/index.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/patterns-filter.js +20 -23
- package/build-module/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-panel.js +1 -0
- package/build-module/components/inserter/media-tab/media-panel.js.map +1 -1
- package/build-module/components/inserter/menu.js +1 -1
- package/build-module/components/inserter/menu.js.map +1 -1
- package/build-module/components/inserter/preview-panel.js +20 -3
- package/build-module/components/inserter/preview-panel.js.map +1 -1
- package/build-module/components/inserter-draggable-blocks/index.js +10 -3
- package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/settings-tab.js +1 -2
- package/build-module/components/inspector-controls-tabs/settings-tab.js.map +1 -1
- package/build-module/components/list-view/block-select-button.js +3 -7
- package/build-module/components/list-view/block-select-button.js.map +1 -1
- package/build-module/components/list-view/block.js +2 -2
- package/build-module/components/list-view/block.js.map +1 -1
- package/build-module/components/list-view/utils.js +3 -1
- package/build-module/components/list-view/utils.js.map +1 -1
- package/build-module/components/rich-text/format-toolbar/index.js +1 -1
- package/build-module/components/rich-text/format-toolbar/index.js.map +1 -1
- package/build-module/components/rich-text/index.js +1 -1
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +4 -2
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
- package/build-module/components/url-popover/image-url-input-ui.js +3 -3
- package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
- package/build-module/hooks/grid-visualizer.js +5 -8
- package/build-module/hooks/grid-visualizer.js.map +1 -1
- package/build-module/hooks/layout-child.js +9 -2
- package/build-module/hooks/layout-child.js.map +1 -1
- package/build-module/hooks/position.js +3 -7
- package/build-module/hooks/position.js.map +1 -1
- package/build-module/hooks/use-bindings-attributes.js +81 -51
- package/build-module/hooks/use-bindings-attributes.js.map +1 -1
- package/build-module/layouts/constrained.js +6 -2
- package/build-module/layouts/constrained.js.map +1 -1
- package/build-module/layouts/grid.js +2 -0
- package/build-module/layouts/grid.js.map +1 -1
- package/build-module/private-apis.js +0 -3
- package/build-module/private-apis.js.map +1 -1
- package/build-module/store/actions.js +15 -0
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/reducer.js +18 -1
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +10 -0
- package/build-module/store/selectors.js.map +1 -1
- package/build-style/content-rtl.css +6 -6
- package/build-style/content.css +6 -6
- package/build-style/style-rtl.css +167 -103
- package/build-style/style.css +167 -103
- package/build-types/components/block-context/index.d.ts +2 -2
- package/build-types/components/block-context/index.d.ts.map +1 -1
- package/build-types/utils/dom.d.ts.map +1 -1
- package/package.json +31 -31
- package/src/components/alignment-control/ui.js +2 -2
- package/src/components/block-alignment-control/ui.js +1 -1
- package/src/components/block-alignment-control/ui.native.js +1 -1
- package/src/components/block-context/README.md +4 -4
- package/src/components/block-inspector/index.js +8 -4
- package/src/components/block-list/content.scss +2 -16
- package/src/components/block-list/use-block-props/index.js +1 -1
- package/src/components/block-list/use-block-props/use-block-refs.js +19 -3
- package/src/components/block-list/use-block-props/use-is-hovered.js +26 -11
- package/src/components/block-list/use-in-between-inserter.js +5 -1
- package/src/components/block-lock/modal.js +10 -2
- package/src/components/block-lock/style.scss +4 -8
- package/src/components/block-patterns-paging/style.scss +0 -23
- package/src/components/block-removal-warning-modal/index.js +10 -2
- package/src/components/block-switcher/index.js +1 -1
- package/src/components/block-switcher/pattern-transformations-menu.js +17 -15
- package/src/components/block-switcher/preview-block-popover.js +20 -14
- package/src/components/block-switcher/style.scss +8 -17
- package/src/components/block-toolbar/shuffle.js +8 -1
- package/src/components/block-tools/style.scss +8 -0
- package/src/components/block-tools/use-show-block-tools.js +12 -9
- package/src/components/block-tools/zoom-out-mode-inserter-button.js +47 -0
- package/src/components/block-tools/zoom-out-mode-inserters.js +43 -33
- package/src/components/block-tools/zoom-out-popover.js +1 -0
- package/src/components/block-tools/zoom-out-toolbar.js +1 -1
- package/src/components/date-format-picker/index.js +2 -11
- package/src/components/default-block-appender/index.js +11 -4
- package/src/components/font-appearance-control/index.js +1 -5
- package/src/components/global-styles/background-panel.js +21 -1
- package/src/components/global-styles/hooks.js +5 -1
- package/src/components/global-styles/style.scss +12 -0
- package/src/components/global-styles/test/typography-utils.js +325 -0
- package/src/components/global-styles/test/use-global-styles-output.js +3 -1
- package/src/components/global-styles/typography-panel.js +36 -44
- package/src/components/global-styles/typography-utils.js +103 -7
- package/src/components/global-styles/use-global-styles-output.js +22 -2
- package/src/components/grid/grid-item-movers.js +139 -69
- package/src/components/grid/grid-visualizer.js +1 -1
- package/src/components/grid/style.scss +114 -0
- package/src/components/grid/use-grid-layout-sync.js +66 -27
- package/src/components/iframe/content.scss +1 -1
- package/src/components/index.js +0 -5
- package/src/components/inner-blocks/index.js +4 -1
- package/src/components/inserter/block-patterns-tab/patterns-filter.js +40 -44
- package/src/components/inserter/media-tab/media-panel.js +1 -0
- package/src/components/inserter/menu.js +1 -1
- package/src/components/inserter/preview-panel.js +27 -4
- package/src/components/inserter/style.scss +57 -43
- package/src/components/inserter-draggable-blocks/index.js +11 -3
- package/src/components/inspector-controls-tabs/settings-tab.js +0 -2
- package/src/components/inspector-controls-tabs/style.scss +0 -21
- package/src/components/list-view/block-select-button.js +3 -13
- package/src/components/list-view/block.js +10 -3
- package/src/components/list-view/style.scss +2 -1
- package/src/components/list-view/utils.js +13 -2
- package/src/components/rich-text/format-toolbar/index.js +1 -1
- package/src/components/rich-text/index.js +1 -1
- package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +3 -1
- package/src/components/url-popover/image-url-input-ui.js +3 -3
- package/src/components/url-popover/style.scss +1 -0
- package/src/hooks/grid-visualizer.js +5 -7
- package/src/hooks/layout-child.js +12 -3
- package/src/hooks/position.js +3 -13
- package/src/hooks/use-bindings-attributes.js +89 -59
- package/src/layouts/constrained.js +10 -2
- package/src/layouts/grid.js +2 -0
- package/src/private-apis.js +0 -6
- package/src/store/actions.js +15 -0
- package/src/store/reducer.js +18 -0
- package/src/store/selectors.js +10 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/build/components/inserter/reusable-block-rename-hint.js +0 -71
- package/build/components/inserter/reusable-block-rename-hint.js.map +0 -1
- package/build/components/inspector-controls-tabs/settings-tab-hint.js +0 -53
- package/build/components/inspector-controls-tabs/settings-tab-hint.js.map +0 -1
- package/build-module/components/inserter/reusable-block-rename-hint.js +0 -64
- package/build-module/components/inserter/reusable-block-rename-hint.js.map +0 -1
- package/build-module/components/inspector-controls-tabs/settings-tab-hint.js +0 -47
- package/build-module/components/inspector-controls-tabs/settings-tab-hint.js.map +0 -1
- package/src/components/inserter/reusable-block-rename-hint.js +0 -69
- package/src/components/inspector-controls-tabs/settings-tab-hint.js +0 -52
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_i18n","require","_element","_components","_icons","_data","_blocks","_useBlockLock","_interopRequireDefault","_useBlockDisplayInformation","_store","_jsxRuntime","ALLOWS_EDIT_LOCKING","getTemplateLockValue","lock","remove","move","BlockLockModal","clientId","onClose","setLock","useState","canEdit","canMove","canRemove","useBlockLock","allowsEditLocking","templateLock","hasTemplateLock","useSelect","select","getBlockName","getBlockAttributes","blockEditorStore","blockName","blockType","getBlockType","includes","attributes","applyTemplateLock","setApplyTemplateLock","updateBlockAttributes","useDispatch","blockInformation","useBlockDisplayInformation","useEffect","edit","isAllChecked","Object","values","every","Boolean","isMixed","some","jsx","Modal","title","sprintf","__","overlayClassName","onRequestClose","children","jsxs","onSubmit","event","preventDefault","undefined","className","role","CheckboxControl","__nextHasNoMarginBottom","label","checked","indeterminate","onChange","newValue","prevLock","Icon","icon","lockIcon","unlockIcon","ToggleControl","disabled","Flex","justify","expanded","FlexItem","Button","variant","onClick","type"],"sources":["@wordpress/block-editor/src/components/block-lock/modal.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useEffect, useState } from '@wordpress/element';\nimport {\n\tButton,\n\tCheckboxControl,\n\tFlex,\n\tFlexItem,\n\tIcon,\n\tModal,\n\tToggleControl,\n} from '@wordpress/components';\nimport { lock as lockIcon, unlock as unlockIcon } from '@wordpress/icons';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { getBlockType } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport useBlockLock from './use-block-lock';\nimport useBlockDisplayInformation from '../use-block-display-information';\nimport { store as blockEditorStore } from '../../store';\n\n// Entity based blocks which allow edit locking\nconst ALLOWS_EDIT_LOCKING = [ 'core/block', 'core/navigation' ];\n\nfunction getTemplateLockValue( lock ) {\n\t// Prevents all operations.\n\tif ( lock.remove && lock.move ) {\n\t\treturn 'all';\n\t}\n\n\t// Prevents inserting or removing blocks, but allows moving existing blocks.\n\tif ( lock.remove && ! lock.move ) {\n\t\treturn 'insert';\n\t}\n\n\treturn false;\n}\n\nexport default function BlockLockModal( { clientId, onClose } ) {\n\tconst [ lock, setLock ] = useState( { move: false, remove: false } );\n\tconst { canEdit, canMove, canRemove } = useBlockLock( clientId );\n\tconst { allowsEditLocking, templateLock, hasTemplateLock } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockName, getBlockAttributes } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst blockName = getBlockName( clientId );\n\t\t\tconst blockType = getBlockType( blockName );\n\n\t\t\treturn {\n\t\t\t\tallowsEditLocking: ALLOWS_EDIT_LOCKING.includes( blockName ),\n\t\t\t\ttemplateLock: getBlockAttributes( clientId )?.templateLock,\n\t\t\t\thasTemplateLock: !! blockType?.attributes?.templateLock,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst [ applyTemplateLock, setApplyTemplateLock ] = useState(\n\t\t!! templateLock\n\t);\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\tconst blockInformation = useBlockDisplayInformation( clientId );\n\n\tuseEffect( () => {\n\t\tsetLock( {\n\t\t\tmove: ! canMove,\n\t\t\tremove: ! canRemove,\n\t\t\t...( allowsEditLocking ? { edit: ! canEdit } : {} ),\n\t\t} );\n\t}, [ canEdit, canMove, canRemove, allowsEditLocking ] );\n\n\tconst isAllChecked = Object.values( lock ).every( Boolean );\n\tconst isMixed = Object.values( lock ).some( Boolean ) && ! isAllChecked;\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ sprintf(\n\t\t\t\t/* translators: %s: Name of the block. */\n\t\t\t\t__( 'Lock %s' ),\n\t\t\t\tblockInformation.title\n\t\t\t) }\n\t\t\toverlayClassName=\"block-editor-block-lock-modal\"\n\t\t\tonRequestClose={ onClose }\n\t\t>\n\t\t\t<form\n\t\t\t\tonSubmit={ ( event ) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tupdateBlockAttributes( [ clientId ], {\n\t\t\t\t\t\tlock,\n\t\t\t\t\t\ttemplateLock: applyTemplateLock\n\t\t\t\t\t\t\t? getTemplateLockValue( lock )\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t} );\n\t\t\t\t\tonClose();\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<fieldset className=\"block-editor-block-lock-modal__options\">\n\t\t\t\t\t<legend>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'Choose specific attributes to restrict or lock all available options.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</legend>\n\t\t\t\t\t{ /*\n\t\t\t\t\t * Disable reason: The `list` ARIA role is redundant but\n\t\t\t\t\t * Safari+VoiceOver won't announce the list otherwise.\n\t\t\t\t\t */\n\t\t\t\t\t/* eslint-disable jsx-a11y/no-redundant-roles */ }\n\t\t\t\t\t<ul\n\t\t\t\t\t\trole=\"list\"\n\t\t\t\t\t\tclassName=\"block-editor-block-lock-modal__checklist\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tclassName=\"block-editor-block-lock-modal__options-all\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Lock all' ) }\n\t\t\t\t\t\t\t\tchecked={ isAllChecked }\n\t\t\t\t\t\t\t\tindeterminate={ isMixed }\n\t\t\t\t\t\t\t\tonChange={ ( newValue ) =>\n\t\t\t\t\t\t\t\t\tsetLock( {\n\t\t\t\t\t\t\t\t\t\tmove: newValue,\n\t\t\t\t\t\t\t\t\t\tremove: newValue,\n\t\t\t\t\t\t\t\t\t\t...( allowsEditLocking\n\t\t\t\t\t\t\t\t\t\t\t? { edit: newValue }\n\t\t\t\t\t\t\t\t\t\t\t: {} ),\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ul\n\t\t\t\t\t\t\t\trole=\"list\"\n\t\t\t\t\t\t\t\tclassName=\"block-editor-block-lock-modal__checklist\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ allowsEditLocking && (\n\t\t\t\t\t\t\t\t\t<li className=\"block-editor-block-lock-modal__checklist-item\">\n\t\t\t\t\t\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Restrict editing' ) }\n\t\t\t\t\t\t\t\t\t\t\tchecked={ !! lock.edit }\n\t\t\t\t\t\t\t\t\t\t\tonChange={ ( edit ) =>\n\t\t\t\t\t\t\t\t\t\t\t\tsetLock( ( prevLock ) => ( {\n\t\t\t\t\t\t\t\t\t\t\t\t\t...prevLock,\n\t\t\t\t\t\t\t\t\t\t\t\t\tedit,\n\t\t\t\t\t\t\t\t\t\t\t\t} ) )\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"block-editor-block-lock-modal__lock-icon\"\n\t\t\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\t\t\tlock.edit\n\t\t\t\t\t\t\t\t\t\t\t\t\t? lockIcon\n\t\t\t\t\t\t\t\t\t\t\t\t\t: unlockIcon\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t<li className=\"block-editor-block-lock-modal__checklist-item\">\n\t\t\t\t\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Disable movement' ) }\n\t\t\t\t\t\t\t\t\t\tchecked={ lock.move }\n\t\t\t\t\t\t\t\t\t\tonChange={ ( move ) =>\n\t\t\t\t\t\t\t\t\t\t\tsetLock( ( prevLock ) => ( {\n\t\t\t\t\t\t\t\t\t\t\t\t...prevLock,\n\t\t\t\t\t\t\t\t\t\t\t\tmove,\n\t\t\t\t\t\t\t\t\t\t\t} ) )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\tclassName=\"block-editor-block-lock-modal__lock-icon\"\n\t\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\t\tlock.move ? lockIcon : unlockIcon\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t<li className=\"block-editor-block-lock-modal__checklist-item\">\n\t\t\t\t\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Prevent removal' ) }\n\t\t\t\t\t\t\t\t\t\tchecked={ lock.remove }\n\t\t\t\t\t\t\t\t\t\tonChange={ ( remove ) =>\n\t\t\t\t\t\t\t\t\t\t\tsetLock( ( prevLock ) => ( {\n\t\t\t\t\t\t\t\t\t\t\t\t...prevLock,\n\t\t\t\t\t\t\t\t\t\t\t\tremove,\n\t\t\t\t\t\t\t\t\t\t\t} ) )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\tclassName=\"block-editor-block-lock-modal__lock-icon\"\n\t\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\t\tlock.remove ? lockIcon : unlockIcon\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t</ul>\n\t\t\t\t\t{ /* eslint-enable jsx-a11y/no-redundant-roles */ }\n\t\t\t\t\t{ hasTemplateLock && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tclassName=\"block-editor-block-lock-modal__template-lock\"\n\t\t\t\t\t\t\tlabel={ __( 'Apply to all blocks inside' ) }\n\t\t\t\t\t\t\tchecked={ applyTemplateLock }\n\t\t\t\t\t\t\tdisabled={ lock.move && ! lock.remove }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetApplyTemplateLock( ! applyTemplateLock )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</fieldset>\n\t\t\t\t<Flex\n\t\t\t\t\tclassName=\"block-editor-block-lock-modal__actions\"\n\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t\texpanded={ false }\n\t\t\t\t>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<Button variant=\"tertiary\" onClick={ onClose }>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<Button variant=\"primary\" type=\"submit\">\n\t\t\t\t\t\t\t{ __( 'Apply' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t</Flex>\n\t\t\t</form>\n\t\t</Modal>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_i18n","require","_element","_components","_icons","_data","_blocks","_useBlockLock","_interopRequireDefault","_useBlockDisplayInformation","_store","_jsxRuntime","ALLOWS_EDIT_LOCKING","getTemplateLockValue","lock","remove","move","BlockLockModal","clientId","onClose","setLock","useState","canEdit","canMove","canRemove","useBlockLock","allowsEditLocking","templateLock","hasTemplateLock","useSelect","select","getBlockName","getBlockAttributes","blockEditorStore","blockName","blockType","getBlockType","includes","attributes","applyTemplateLock","setApplyTemplateLock","updateBlockAttributes","useDispatch","blockInformation","useBlockDisplayInformation","useEffect","edit","isAllChecked","Object","values","every","Boolean","isMixed","some","jsx","Modal","title","sprintf","__","overlayClassName","onRequestClose","children","jsxs","onSubmit","event","preventDefault","undefined","className","role","CheckboxControl","__nextHasNoMarginBottom","label","checked","indeterminate","onChange","newValue","prevLock","Icon","icon","lockIcon","unlockIcon","ToggleControl","disabled","Flex","justify","expanded","FlexItem","Button","variant","onClick","__next40pxDefaultSize","type"],"sources":["@wordpress/block-editor/src/components/block-lock/modal.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useEffect, useState } from '@wordpress/element';\nimport {\n\tButton,\n\tCheckboxControl,\n\tFlex,\n\tFlexItem,\n\tIcon,\n\tModal,\n\tToggleControl,\n} from '@wordpress/components';\nimport { lock as lockIcon, unlock as unlockIcon } from '@wordpress/icons';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { getBlockType } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport useBlockLock from './use-block-lock';\nimport useBlockDisplayInformation from '../use-block-display-information';\nimport { store as blockEditorStore } from '../../store';\n\n// Entity based blocks which allow edit locking\nconst ALLOWS_EDIT_LOCKING = [ 'core/block', 'core/navigation' ];\n\nfunction getTemplateLockValue( lock ) {\n\t// Prevents all operations.\n\tif ( lock.remove && lock.move ) {\n\t\treturn 'all';\n\t}\n\n\t// Prevents inserting or removing blocks, but allows moving existing blocks.\n\tif ( lock.remove && ! lock.move ) {\n\t\treturn 'insert';\n\t}\n\n\treturn false;\n}\n\nexport default function BlockLockModal( { clientId, onClose } ) {\n\tconst [ lock, setLock ] = useState( { move: false, remove: false } );\n\tconst { canEdit, canMove, canRemove } = useBlockLock( clientId );\n\tconst { allowsEditLocking, templateLock, hasTemplateLock } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlockName, getBlockAttributes } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst blockName = getBlockName( clientId );\n\t\t\tconst blockType = getBlockType( blockName );\n\n\t\t\treturn {\n\t\t\t\tallowsEditLocking: ALLOWS_EDIT_LOCKING.includes( blockName ),\n\t\t\t\ttemplateLock: getBlockAttributes( clientId )?.templateLock,\n\t\t\t\thasTemplateLock: !! blockType?.attributes?.templateLock,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst [ applyTemplateLock, setApplyTemplateLock ] = useState(\n\t\t!! templateLock\n\t);\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\tconst blockInformation = useBlockDisplayInformation( clientId );\n\n\tuseEffect( () => {\n\t\tsetLock( {\n\t\t\tmove: ! canMove,\n\t\t\tremove: ! canRemove,\n\t\t\t...( allowsEditLocking ? { edit: ! canEdit } : {} ),\n\t\t} );\n\t}, [ canEdit, canMove, canRemove, allowsEditLocking ] );\n\n\tconst isAllChecked = Object.values( lock ).every( Boolean );\n\tconst isMixed = Object.values( lock ).some( Boolean ) && ! isAllChecked;\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ sprintf(\n\t\t\t\t/* translators: %s: Name of the block. */\n\t\t\t\t__( 'Lock %s' ),\n\t\t\t\tblockInformation.title\n\t\t\t) }\n\t\t\toverlayClassName=\"block-editor-block-lock-modal\"\n\t\t\tonRequestClose={ onClose }\n\t\t>\n\t\t\t<form\n\t\t\t\tonSubmit={ ( event ) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tupdateBlockAttributes( [ clientId ], {\n\t\t\t\t\t\tlock,\n\t\t\t\t\t\ttemplateLock: applyTemplateLock\n\t\t\t\t\t\t\t? getTemplateLockValue( lock )\n\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t} );\n\t\t\t\t\tonClose();\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<fieldset className=\"block-editor-block-lock-modal__options\">\n\t\t\t\t\t<legend>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'Choose specific attributes to restrict or lock all available options.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</legend>\n\t\t\t\t\t{ /*\n\t\t\t\t\t * Disable reason: The `list` ARIA role is redundant but\n\t\t\t\t\t * Safari+VoiceOver won't announce the list otherwise.\n\t\t\t\t\t */\n\t\t\t\t\t/* eslint-disable jsx-a11y/no-redundant-roles */ }\n\t\t\t\t\t<ul\n\t\t\t\t\t\trole=\"list\"\n\t\t\t\t\t\tclassName=\"block-editor-block-lock-modal__checklist\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tclassName=\"block-editor-block-lock-modal__options-all\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Lock all' ) }\n\t\t\t\t\t\t\t\tchecked={ isAllChecked }\n\t\t\t\t\t\t\t\tindeterminate={ isMixed }\n\t\t\t\t\t\t\t\tonChange={ ( newValue ) =>\n\t\t\t\t\t\t\t\t\tsetLock( {\n\t\t\t\t\t\t\t\t\t\tmove: newValue,\n\t\t\t\t\t\t\t\t\t\tremove: newValue,\n\t\t\t\t\t\t\t\t\t\t...( allowsEditLocking\n\t\t\t\t\t\t\t\t\t\t\t? { edit: newValue }\n\t\t\t\t\t\t\t\t\t\t\t: {} ),\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<ul\n\t\t\t\t\t\t\t\trole=\"list\"\n\t\t\t\t\t\t\t\tclassName=\"block-editor-block-lock-modal__checklist\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ allowsEditLocking && (\n\t\t\t\t\t\t\t\t\t<li className=\"block-editor-block-lock-modal__checklist-item\">\n\t\t\t\t\t\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Restrict editing' ) }\n\t\t\t\t\t\t\t\t\t\t\tchecked={ !! lock.edit }\n\t\t\t\t\t\t\t\t\t\t\tonChange={ ( edit ) =>\n\t\t\t\t\t\t\t\t\t\t\t\tsetLock( ( prevLock ) => ( {\n\t\t\t\t\t\t\t\t\t\t\t\t\t...prevLock,\n\t\t\t\t\t\t\t\t\t\t\t\t\tedit,\n\t\t\t\t\t\t\t\t\t\t\t\t} ) )\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"block-editor-block-lock-modal__lock-icon\"\n\t\t\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\t\t\tlock.edit\n\t\t\t\t\t\t\t\t\t\t\t\t\t? lockIcon\n\t\t\t\t\t\t\t\t\t\t\t\t\t: unlockIcon\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t<li className=\"block-editor-block-lock-modal__checklist-item\">\n\t\t\t\t\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Disable movement' ) }\n\t\t\t\t\t\t\t\t\t\tchecked={ lock.move }\n\t\t\t\t\t\t\t\t\t\tonChange={ ( move ) =>\n\t\t\t\t\t\t\t\t\t\t\tsetLock( ( prevLock ) => ( {\n\t\t\t\t\t\t\t\t\t\t\t\t...prevLock,\n\t\t\t\t\t\t\t\t\t\t\t\tmove,\n\t\t\t\t\t\t\t\t\t\t\t} ) )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\tclassName=\"block-editor-block-lock-modal__lock-icon\"\n\t\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\t\tlock.move ? lockIcon : unlockIcon\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t\t<li className=\"block-editor-block-lock-modal__checklist-item\">\n\t\t\t\t\t\t\t\t\t<CheckboxControl\n\t\t\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Prevent removal' ) }\n\t\t\t\t\t\t\t\t\t\tchecked={ lock.remove }\n\t\t\t\t\t\t\t\t\t\tonChange={ ( remove ) =>\n\t\t\t\t\t\t\t\t\t\t\tsetLock( ( prevLock ) => ( {\n\t\t\t\t\t\t\t\t\t\t\t\t...prevLock,\n\t\t\t\t\t\t\t\t\t\t\t\tremove,\n\t\t\t\t\t\t\t\t\t\t\t} ) )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t<Icon\n\t\t\t\t\t\t\t\t\t\tclassName=\"block-editor-block-lock-modal__lock-icon\"\n\t\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\t\tlock.remove ? lockIcon : unlockIcon\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</li>\n\t\t\t\t\t\t\t</ul>\n\t\t\t\t\t\t</li>\n\t\t\t\t\t</ul>\n\t\t\t\t\t{ /* eslint-enable jsx-a11y/no-redundant-roles */ }\n\t\t\t\t\t{ hasTemplateLock && (\n\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\tclassName=\"block-editor-block-lock-modal__template-lock\"\n\t\t\t\t\t\t\tlabel={ __( 'Apply to all blocks inside' ) }\n\t\t\t\t\t\t\tchecked={ applyTemplateLock }\n\t\t\t\t\t\t\tdisabled={ lock.move && ! lock.remove }\n\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\tsetApplyTemplateLock( ! applyTemplateLock )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</fieldset>\n\t\t\t\t<Flex\n\t\t\t\t\tclassName=\"block-editor-block-lock-modal__actions\"\n\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t\texpanded={ false }\n\t\t\t\t>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\tonClick={ onClose }\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Apply' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t</Flex>\n\t\t\t</form>\n\t\t</Modal>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -59,10 +59,12 @@ function BlockRemovalWarningModal({
|
|
|
59
59
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
|
|
60
60
|
variant: "tertiary",
|
|
61
61
|
onClick: clearBlockRemovalPrompt,
|
|
62
|
+
__next40pxDefaultSize: true,
|
|
62
63
|
children: (0, _i18n.__)('Cancel')
|
|
63
64
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
|
|
64
65
|
variant: "primary",
|
|
65
66
|
onClick: onConfirmRemoval,
|
|
67
|
+
__next40pxDefaultSize: true,
|
|
66
68
|
children: (0, _i18n.__)('Delete')
|
|
67
69
|
})]
|
|
68
70
|
})]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_element","require","_data","_components","_i18n","_store","_lockUnlock","_jsxRuntime","BlockRemovalWarningModal","rules","clientIds","selectPrevious","message","useSelect","select","unlock","blockEditorStore","getRemovalPromptData","clearBlockRemovalPrompt","setBlockRemovalRules","privateRemoveBlocks","useDispatch","useEffect","onConfirmRemoval","jsxs","Modal","title","__","onRequestClose","size","children","jsx","__experimentalHStack","justify","Button","variant","onClick"],"sources":["@wordpress/block-editor/src/components/block-removal-warning-modal/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tModal,\n\tButton,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nexport function BlockRemovalWarningModal( { rules } ) {\n\tconst { clientIds, selectPrevious, message } = useSelect( ( select ) =>\n\t\tunlock( select( blockEditorStore ) ).getRemovalPromptData()\n\t);\n\n\tconst {\n\t\tclearBlockRemovalPrompt,\n\t\tsetBlockRemovalRules,\n\t\tprivateRemoveBlocks,\n\t} = unlock( useDispatch( blockEditorStore ) );\n\n\t// Load block removal rules, simultaneously signalling that the block\n\t// removal prompt is in place.\n\tuseEffect( () => {\n\t\tsetBlockRemovalRules( rules );\n\t\treturn () => {\n\t\t\tsetBlockRemovalRules();\n\t\t};\n\t}, [ rules, setBlockRemovalRules ] );\n\n\tif ( ! message ) {\n\t\treturn;\n\t}\n\n\tconst onConfirmRemoval = () => {\n\t\tprivateRemoveBlocks( clientIds, selectPrevious, /* force */ true );\n\t\tclearBlockRemovalPrompt();\n\t};\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ __( 'Be careful!' ) }\n\t\t\tonRequestClose={ clearBlockRemovalPrompt }\n\t\t\tsize=\"medium\"\n\t\t>\n\t\t\t<p>{ message }</p>\n\t\t\t<HStack justify=\"right\">\n\t\t\t\t<Button
|
|
1
|
+
{"version":3,"names":["_element","require","_data","_components","_i18n","_store","_lockUnlock","_jsxRuntime","BlockRemovalWarningModal","rules","clientIds","selectPrevious","message","useSelect","select","unlock","blockEditorStore","getRemovalPromptData","clearBlockRemovalPrompt","setBlockRemovalRules","privateRemoveBlocks","useDispatch","useEffect","onConfirmRemoval","jsxs","Modal","title","__","onRequestClose","size","children","jsx","__experimentalHStack","justify","Button","variant","onClick","__next40pxDefaultSize"],"sources":["@wordpress/block-editor/src/components/block-removal-warning-modal/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect } from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport {\n\tModal,\n\tButton,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nexport function BlockRemovalWarningModal( { rules } ) {\n\tconst { clientIds, selectPrevious, message } = useSelect( ( select ) =>\n\t\tunlock( select( blockEditorStore ) ).getRemovalPromptData()\n\t);\n\n\tconst {\n\t\tclearBlockRemovalPrompt,\n\t\tsetBlockRemovalRules,\n\t\tprivateRemoveBlocks,\n\t} = unlock( useDispatch( blockEditorStore ) );\n\n\t// Load block removal rules, simultaneously signalling that the block\n\t// removal prompt is in place.\n\tuseEffect( () => {\n\t\tsetBlockRemovalRules( rules );\n\t\treturn () => {\n\t\t\tsetBlockRemovalRules();\n\t\t};\n\t}, [ rules, setBlockRemovalRules ] );\n\n\tif ( ! message ) {\n\t\treturn;\n\t}\n\n\tconst onConfirmRemoval = () => {\n\t\tprivateRemoveBlocks( clientIds, selectPrevious, /* force */ true );\n\t\tclearBlockRemovalPrompt();\n\t};\n\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ __( 'Be careful!' ) }\n\t\t\tonRequestClose={ clearBlockRemovalPrompt }\n\t\t\tsize=\"medium\"\n\t\t>\n\t\t\t<p>{ message }</p>\n\t\t\t<HStack justify=\"right\">\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\tonClick={ clearBlockRemovalPrompt }\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t</Button>\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\tonClick={ onConfirmRemoval }\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Delete' ) }\n\t\t\t\t</Button>\n\t\t\t</HStack>\n\t\t</Modal>\n\t);\n}\n"],"mappings":";;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAKA,IAAAG,KAAA,GAAAH,OAAA;AAKA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,WAAA,GAAAL,OAAA;AAA2C,IAAAM,WAAA,GAAAN,OAAA;AAhB3C;AACA;AACA;;AAUA;AACA;AACA;;AAIO,SAASO,wBAAwBA,CAAE;EAAEC;AAAM,CAAC,EAAG;EACrD,MAAM;IAAEC,SAAS;IAAEC,cAAc;IAAEC;EAAQ,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IACjE,IAAAC,kBAAM,EAAED,MAAM,CAAEE,YAAiB,CAAE,CAAC,CAACC,oBAAoB,CAAC,CAC3D,CAAC;EAED,MAAM;IACLC,uBAAuB;IACvBC,oBAAoB;IACpBC;EACD,CAAC,GAAG,IAAAL,kBAAM,EAAE,IAAAM,iBAAW,EAAEL,YAAiB,CAAE,CAAC;;EAE7C;EACA;EACA,IAAAM,kBAAS,EAAE,MAAM;IAChBH,oBAAoB,CAAEV,KAAM,CAAC;IAC7B,OAAO,MAAM;MACZU,oBAAoB,CAAC,CAAC;IACvB,CAAC;EACF,CAAC,EAAE,CAAEV,KAAK,EAAEU,oBAAoB,CAAG,CAAC;EAEpC,IAAK,CAAEP,OAAO,EAAG;IAChB;EACD;EAEA,MAAMW,gBAAgB,GAAGA,CAAA,KAAM;IAC9BH,mBAAmB,CAAEV,SAAS,EAAEC,cAAc,EAAE,WAAY,IAAK,CAAC;IAClEO,uBAAuB,CAAC,CAAC;EAC1B,CAAC;EAED,oBACC,IAAAX,WAAA,CAAAiB,IAAA,EAACrB,WAAA,CAAAsB,KAAK;IACLC,KAAK,EAAG,IAAAC,QAAE,EAAE,aAAc,CAAG;IAC7BC,cAAc,EAAGV,uBAAyB;IAC1CW,IAAI,EAAC,QAAQ;IAAAC,QAAA,gBAEb,IAAAvB,WAAA,CAAAwB,GAAA;MAAAD,QAAA,EAAKlB;IAAO,CAAK,CAAC,eAClB,IAAAL,WAAA,CAAAiB,IAAA,EAACrB,WAAA,CAAA6B,oBAAM;MAACC,OAAO,EAAC,OAAO;MAAAH,QAAA,gBACtB,IAAAvB,WAAA,CAAAwB,GAAA,EAAC5B,WAAA,CAAA+B,MAAM;QACNC,OAAO,EAAC,UAAU;QAClBC,OAAO,EAAGlB,uBAAyB;QACnCmB,qBAAqB;QAAAP,QAAA,EAEnB,IAAAH,QAAE,EAAE,QAAS;MAAC,CACT,CAAC,eACT,IAAApB,WAAA,CAAAwB,GAAA,EAAC5B,WAAA,CAAA+B,MAAM;QACNC,OAAO,EAAC,SAAS;QACjBC,OAAO,EAAGb,gBAAkB;QAC5Bc,qBAAqB;QAAAP,QAAA,EAEnB,IAAAH,QAAE,EAAE,QAAS;MAAC,CACT,CAAC;IAAA,CACF,CAAC;EAAA,CACH,CAAC;AAEV","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_i18n","require","_components","_blocks2","_data","_icons","_store","_blockIcon","_interopRequireDefault","_blockTransformationsMenu","_blockVariationTransformations","_blockStylesMenu","_patternTransformationsMenu","_useBlockDisplayTitle","_jsxRuntime","BlockSwitcherDropdownMenuContents","onClose","clientIds","hasBlockStyles","canRemove","isUsingBindings","replaceBlocks","multiSelect","updateBlockAttributes","useDispatch","blockEditorStore","possibleBlockTransformations","patterns","blocks","useSelect","select","getBlocksByClientId","getBlockRootClientId","getBlockTransformItems","__experimentalGetPatternTransformItems","rootClientId","Array","isArray","_blocks","blockVariationTransformations","useBlockVariationTransforms","selectForMultipleBlocks","insertedBlocks","length","clientId","onBlockTransform","name","newBlocks","switchToBlockType","onBlockVariationTransform","find","variationName","attributes","onPatternTransform","transformedBlocks","isSingleBlock","isTemplate","isTemplatePart","hasPossibleBlockTransformations","hasPossibleBlockVariationTransformations","hasPatternTransformation","hasBlockOrBlockVariationTransforms","hasContents","jsx","className","children","__","connectedBlockDescription","_x","jsxs","default","onSelect","possibleBlockVariationTransformations","onSelectVariation","hoveredBlock","onSwitch","MenuGroup","__experimentalText","BlockSwitcher","disabled","icon","invalidBlocks","isReusable","getBlockAttributes","canRemoveBlocks","getBlockStyles","getBlockType","getActiveBlockVariation","blocksStore","some","block","firstBlockName","_isSingleBlockSelected","blockType","_icon","match","isSelectionOfSameType","Set","map","size","copy","isReusableBlock","blockTitle","useBlockDisplayTitle","maximumLength","blockSwitcherLabel","hideDropdown","ToolbarGroup","ToolbarButton","title","Fragment","showColors","blockSwitcherDescription","sprintf","_n","ToolbarItem","toggleProps","DropdownMenu","label","popoverProps","placement","describedBy","menuProps","orientation","exports","_default"],"sources":["@wordpress/block-editor/src/components/block-switcher/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _n, sprintf, _x } from '@wordpress/i18n';\nimport {\n\tDropdownMenu,\n\tToolbarButton,\n\tToolbarGroup,\n\tToolbarItem,\n\t__experimentalText as Text,\n\tMenuGroup,\n} from '@wordpress/components';\nimport {\n\tswitchToBlockType,\n\tstore as blocksStore,\n\tisReusableBlock,\n\tisTemplatePart,\n} from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { copy } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport BlockIcon from '../block-icon';\nimport BlockTransformationsMenu from './block-transformations-menu';\nimport { useBlockVariationTransforms } from './block-variation-transformations';\nimport BlockStylesMenu from './block-styles-menu';\nimport PatternTransformationsMenu from './pattern-transformations-menu';\nimport useBlockDisplayTitle from '../block-title/use-block-display-title';\n\nfunction BlockSwitcherDropdownMenuContents( {\n\tonClose,\n\tclientIds,\n\thasBlockStyles,\n\tcanRemove,\n\tisUsingBindings,\n} ) {\n\tconst { replaceBlocks, multiSelect, updateBlockAttributes } =\n\t\tuseDispatch( blockEditorStore );\n\tconst { possibleBlockTransformations, patterns, blocks } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlocksByClientId,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetBlockTransformItems,\n\t\t\t\t__experimentalGetPatternTransformItems,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst rootClientId = getBlockRootClientId(\n\t\t\t\tArray.isArray( clientIds ) ? clientIds[ 0 ] : clientIds\n\t\t\t);\n\t\t\tconst _blocks = getBlocksByClientId( clientIds );\n\t\t\treturn {\n\t\t\t\tblocks: _blocks,\n\t\t\t\tpossibleBlockTransformations: getBlockTransformItems(\n\t\t\t\t\t_blocks,\n\t\t\t\t\trootClientId\n\t\t\t\t),\n\t\t\t\tpatterns: __experimentalGetPatternTransformItems(\n\t\t\t\t\t_blocks,\n\t\t\t\t\trootClientId\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ clientIds ]\n\t);\n\tconst blockVariationTransformations = useBlockVariationTransforms( {\n\t\tclientIds,\n\t\tblocks,\n\t} );\n\tfunction selectForMultipleBlocks( insertedBlocks ) {\n\t\tif ( insertedBlocks.length > 1 ) {\n\t\t\tmultiSelect(\n\t\t\t\tinsertedBlocks[ 0 ].clientId,\n\t\t\t\tinsertedBlocks[ insertedBlocks.length - 1 ].clientId\n\t\t\t);\n\t\t}\n\t}\n\t// Simple block tranformation based on the `Block Transforms` API.\n\tfunction onBlockTransform( name ) {\n\t\tconst newBlocks = switchToBlockType( blocks, name );\n\t\treplaceBlocks( clientIds, newBlocks );\n\t\tselectForMultipleBlocks( newBlocks );\n\t}\n\tfunction onBlockVariationTransform( name ) {\n\t\tupdateBlockAttributes( blocks[ 0 ].clientId, {\n\t\t\t...blockVariationTransformations.find(\n\t\t\t\t( { name: variationName } ) => variationName === name\n\t\t\t).attributes,\n\t\t} );\n\t}\n\t// Pattern transformation through the `Patterns` API.\n\tfunction onPatternTransform( transformedBlocks ) {\n\t\treplaceBlocks( clientIds, transformedBlocks );\n\t\tselectForMultipleBlocks( transformedBlocks );\n\t}\n\t/**\n\t * The `isTemplate` check is a stopgap solution here.\n\t * Ideally, the Transforms API should handle this\n\t * by allowing to exclude blocks from wildcard transformations.\n\t */\n\tconst isSingleBlock = blocks.length === 1;\n\tconst isTemplate = isSingleBlock && isTemplatePart( blocks[ 0 ] );\n\tconst hasPossibleBlockTransformations =\n\t\t!! possibleBlockTransformations.length && canRemove && ! isTemplate;\n\tconst hasPossibleBlockVariationTransformations =\n\t\t!! blockVariationTransformations?.length;\n\tconst hasPatternTransformation = !! patterns?.length && canRemove;\n\tconst hasBlockOrBlockVariationTransforms =\n\t\thasPossibleBlockTransformations ||\n\t\thasPossibleBlockVariationTransformations;\n\tconst hasContents =\n\t\thasBlockStyles ||\n\t\thasBlockOrBlockVariationTransforms ||\n\t\thasPatternTransformation;\n\tif ( ! hasContents ) {\n\t\treturn (\n\t\t\t<p className=\"block-editor-block-switcher__no-transforms\">\n\t\t\t\t{ __( 'No transforms.' ) }\n\t\t\t</p>\n\t\t);\n\t}\n\n\tconst connectedBlockDescription = isSingleBlock\n\t\t? _x(\n\t\t\t\t'This block is connected.',\n\t\t\t\t'block toolbar button label and description'\n\t\t )\n\t\t: _x(\n\t\t\t\t'These blocks are connected.',\n\t\t\t\t'block toolbar button label and description'\n\t\t );\n\n\treturn (\n\t\t<div className=\"block-editor-block-switcher__container\">\n\t\t\t{ hasPatternTransformation && (\n\t\t\t\t<PatternTransformationsMenu\n\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\tpatterns={ patterns }\n\t\t\t\t\tonSelect={ ( transformedBlocks ) => {\n\t\t\t\t\t\tonPatternTransform( transformedBlocks );\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasBlockOrBlockVariationTransforms && (\n\t\t\t\t<BlockTransformationsMenu\n\t\t\t\t\tclassName=\"block-editor-block-switcher__transforms__menugroup\"\n\t\t\t\t\tpossibleBlockTransformations={\n\t\t\t\t\t\tpossibleBlockTransformations\n\t\t\t\t\t}\n\t\t\t\t\tpossibleBlockVariationTransformations={\n\t\t\t\t\t\tblockVariationTransformations\n\t\t\t\t\t}\n\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\tonSelect={ ( name ) => {\n\t\t\t\t\t\tonBlockTransform( name );\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t\tonSelectVariation={ ( name ) => {\n\t\t\t\t\t\tonBlockVariationTransform( name );\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasBlockStyles && (\n\t\t\t\t<BlockStylesMenu\n\t\t\t\t\thoveredBlock={ blocks[ 0 ] }\n\t\t\t\t\tonSwitch={ onClose }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ isUsingBindings && (\n\t\t\t\t<MenuGroup>\n\t\t\t\t\t<Text className=\"block-editor-block-switcher__binding-indicator\">\n\t\t\t\t\t\t{ connectedBlockDescription }\n\t\t\t\t\t</Text>\n\t\t\t\t</MenuGroup>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport const BlockSwitcher = ( { clientIds, disabled, isUsingBindings } ) => {\n\tconst {\n\t\tcanRemove,\n\t\thasBlockStyles,\n\t\ticon,\n\t\tinvalidBlocks,\n\t\tisReusable,\n\t\tisTemplate,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlocksByClientId, getBlockAttributes, canRemoveBlocks } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst { getBlockStyles, getBlockType, getActiveBlockVariation } =\n\t\t\t\tselect( blocksStore );\n\t\t\tconst _blocks = getBlocksByClientId( clientIds );\n\t\t\tif ( ! _blocks.length || _blocks.some( ( block ) => ! block ) ) {\n\t\t\t\treturn { invalidBlocks: true };\n\t\t\t}\n\t\t\tconst [ { name: firstBlockName } ] = _blocks;\n\t\t\tconst _isSingleBlockSelected = _blocks.length === 1;\n\t\t\tconst blockType = getBlockType( firstBlockName );\n\n\t\t\tlet _icon;\n\t\t\tif ( _isSingleBlockSelected ) {\n\t\t\t\tconst match = getActiveBlockVariation(\n\t\t\t\t\tfirstBlockName,\n\t\t\t\t\tgetBlockAttributes( clientIds[ 0 ] )\n\t\t\t\t);\n\t\t\t\t// Take into account active block variations.\n\t\t\t\t_icon = match?.icon || blockType.icon;\n\t\t\t} else {\n\t\t\t\tconst isSelectionOfSameType =\n\t\t\t\t\tnew Set( _blocks.map( ( { name } ) => name ) ).size === 1;\n\t\t\t\t// When selection consists of blocks of multiple types, display an\n\t\t\t\t// appropriate icon to communicate the non-uniformity.\n\t\t\t\t_icon = isSelectionOfSameType ? blockType.icon : copy;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tcanRemove: canRemoveBlocks( clientIds ),\n\t\t\t\thasBlockStyles:\n\t\t\t\t\t_isSingleBlockSelected &&\n\t\t\t\t\t!! getBlockStyles( firstBlockName )?.length,\n\t\t\t\ticon: _icon,\n\t\t\t\tisReusable:\n\t\t\t\t\t_isSingleBlockSelected && isReusableBlock( _blocks[ 0 ] ),\n\t\t\t\tisTemplate:\n\t\t\t\t\t_isSingleBlockSelected && isTemplatePart( _blocks[ 0 ] ),\n\t\t\t};\n\t\t},\n\t\t[ clientIds ]\n\t);\n\tconst blockTitle = useBlockDisplayTitle( {\n\t\tclientId: clientIds?.[ 0 ],\n\t\tmaximumLength: 35,\n\t} );\n\tif ( invalidBlocks ) {\n\t\treturn null;\n\t}\n\n\tconst isSingleBlock = clientIds.length === 1;\n\tconst blockSwitcherLabel = isSingleBlock\n\t\t? blockTitle\n\t\t: __( 'Multiple blocks selected' );\n\n\tconst hideDropdown = disabled || ( ! hasBlockStyles && ! canRemove );\n\tif ( hideDropdown ) {\n\t\treturn (\n\t\t\t<ToolbarGroup>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\tdisabled\n\t\t\t\t\tclassName=\"block-editor-block-switcher__no-switcher-icon\"\n\t\t\t\t\ttitle={ blockSwitcherLabel }\n\t\t\t\t\ticon={\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<BlockIcon icon={ icon } showColors />\n\t\t\t\t\t\t\t{ ( isReusable || isTemplate ) && (\n\t\t\t\t\t\t\t\t<span className=\"block-editor-block-switcher__toggle-text\">\n\t\t\t\t\t\t\t\t\t{ blockTitle }\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</ToolbarGroup>\n\t\t);\n\t}\n\n\tconst blockSwitcherDescription = isSingleBlock\n\t\t? __( 'Change block type or style' )\n\t\t: sprintf(\n\t\t\t\t/* translators: %d: number of blocks. */\n\t\t\t\t_n(\n\t\t\t\t\t'Change type of %d block',\n\t\t\t\t\t'Change type of %d blocks',\n\t\t\t\t\tclientIds.length\n\t\t\t\t),\n\t\t\t\tclientIds.length\n\t\t );\n\treturn (\n\t\t<ToolbarGroup>\n\t\t\t<ToolbarItem>\n\t\t\t\t{ ( toggleProps ) => (\n\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\tclassName=\"block-editor-block-switcher\"\n\t\t\t\t\t\tlabel={ blockSwitcherLabel }\n\t\t\t\t\t\tpopoverProps={ {\n\t\t\t\t\t\t\tplacement: 'bottom-start',\n\t\t\t\t\t\t\tclassName: 'block-editor-block-switcher__popover',\n\t\t\t\t\t\t} }\n\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<BlockIcon\n\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\tclassName=\"block-editor-block-switcher__toggle\"\n\t\t\t\t\t\t\t\t\tshowColors\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ ( isReusable || isTemplate ) && (\n\t\t\t\t\t\t\t\t\t<span className=\"block-editor-block-switcher__toggle-text\">\n\t\t\t\t\t\t\t\t\t\t{ blockTitle }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\tdescribedBy: blockSwitcherDescription,\n\t\t\t\t\t\t\t...toggleProps,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tmenuProps={ { orientation: 'both' } }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t\t<BlockSwitcherDropdownMenuContents\n\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\tclientIds={ clientIds }\n\t\t\t\t\t\t\t\thasBlockStyles={ hasBlockStyles }\n\t\t\t\t\t\t\t\tcanRemove={ canRemove }\n\t\t\t\t\t\t\t\tisUsingBindings={ isUsingBindings }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</DropdownMenu>\n\t\t\t\t) }\n\t\t\t</ToolbarItem>\n\t\t</ToolbarGroup>\n\t);\n};\n\nexport default BlockSwitcher;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_i18n","require","_components","_blocks2","_data","_icons","_store","_blockIcon","_interopRequireDefault","_blockTransformationsMenu","_blockVariationTransformations","_blockStylesMenu","_patternTransformationsMenu","_useBlockDisplayTitle","_jsxRuntime","BlockSwitcherDropdownMenuContents","onClose","clientIds","hasBlockStyles","canRemove","isUsingBindings","replaceBlocks","multiSelect","updateBlockAttributes","useDispatch","blockEditorStore","possibleBlockTransformations","patterns","blocks","useSelect","select","getBlocksByClientId","getBlockRootClientId","getBlockTransformItems","__experimentalGetPatternTransformItems","rootClientId","Array","isArray","_blocks","blockVariationTransformations","useBlockVariationTransforms","selectForMultipleBlocks","insertedBlocks","length","clientId","onBlockTransform","name","newBlocks","switchToBlockType","onBlockVariationTransform","find","variationName","attributes","onPatternTransform","transformedBlocks","isSingleBlock","isTemplate","isTemplatePart","hasPossibleBlockTransformations","hasPossibleBlockVariationTransformations","hasPatternTransformation","hasBlockOrBlockVariationTransforms","hasContents","jsx","className","children","__","connectedBlockDescription","_x","jsxs","default","onSelect","possibleBlockVariationTransformations","onSelectVariation","hoveredBlock","onSwitch","MenuGroup","__experimentalText","BlockSwitcher","disabled","icon","invalidBlocks","isReusable","getBlockAttributes","canRemoveBlocks","getBlockStyles","getBlockType","getActiveBlockVariation","blocksStore","some","block","firstBlockName","_isSingleBlockSelected","blockType","_icon","match","isSelectionOfSameType","Set","map","size","copy","isReusableBlock","blockTitle","useBlockDisplayTitle","maximumLength","blockSwitcherLabel","hideDropdown","ToolbarGroup","ToolbarButton","title","Fragment","showColors","blockSwitcherDescription","sprintf","_n","ToolbarItem","toggleProps","DropdownMenu","label","popoverProps","placement","description","menuProps","orientation","exports","_default"],"sources":["@wordpress/block-editor/src/components/block-switcher/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _n, sprintf, _x } from '@wordpress/i18n';\nimport {\n\tDropdownMenu,\n\tToolbarButton,\n\tToolbarGroup,\n\tToolbarItem,\n\t__experimentalText as Text,\n\tMenuGroup,\n} from '@wordpress/components';\nimport {\n\tswitchToBlockType,\n\tstore as blocksStore,\n\tisReusableBlock,\n\tisTemplatePart,\n} from '@wordpress/blocks';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { copy } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport BlockIcon from '../block-icon';\nimport BlockTransformationsMenu from './block-transformations-menu';\nimport { useBlockVariationTransforms } from './block-variation-transformations';\nimport BlockStylesMenu from './block-styles-menu';\nimport PatternTransformationsMenu from './pattern-transformations-menu';\nimport useBlockDisplayTitle from '../block-title/use-block-display-title';\n\nfunction BlockSwitcherDropdownMenuContents( {\n\tonClose,\n\tclientIds,\n\thasBlockStyles,\n\tcanRemove,\n\tisUsingBindings,\n} ) {\n\tconst { replaceBlocks, multiSelect, updateBlockAttributes } =\n\t\tuseDispatch( blockEditorStore );\n\tconst { possibleBlockTransformations, patterns, blocks } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlocksByClientId,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\tgetBlockTransformItems,\n\t\t\t\t__experimentalGetPatternTransformItems,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst rootClientId = getBlockRootClientId(\n\t\t\t\tArray.isArray( clientIds ) ? clientIds[ 0 ] : clientIds\n\t\t\t);\n\t\t\tconst _blocks = getBlocksByClientId( clientIds );\n\t\t\treturn {\n\t\t\t\tblocks: _blocks,\n\t\t\t\tpossibleBlockTransformations: getBlockTransformItems(\n\t\t\t\t\t_blocks,\n\t\t\t\t\trootClientId\n\t\t\t\t),\n\t\t\t\tpatterns: __experimentalGetPatternTransformItems(\n\t\t\t\t\t_blocks,\n\t\t\t\t\trootClientId\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ clientIds ]\n\t);\n\tconst blockVariationTransformations = useBlockVariationTransforms( {\n\t\tclientIds,\n\t\tblocks,\n\t} );\n\tfunction selectForMultipleBlocks( insertedBlocks ) {\n\t\tif ( insertedBlocks.length > 1 ) {\n\t\t\tmultiSelect(\n\t\t\t\tinsertedBlocks[ 0 ].clientId,\n\t\t\t\tinsertedBlocks[ insertedBlocks.length - 1 ].clientId\n\t\t\t);\n\t\t}\n\t}\n\t// Simple block tranformation based on the `Block Transforms` API.\n\tfunction onBlockTransform( name ) {\n\t\tconst newBlocks = switchToBlockType( blocks, name );\n\t\treplaceBlocks( clientIds, newBlocks );\n\t\tselectForMultipleBlocks( newBlocks );\n\t}\n\tfunction onBlockVariationTransform( name ) {\n\t\tupdateBlockAttributes( blocks[ 0 ].clientId, {\n\t\t\t...blockVariationTransformations.find(\n\t\t\t\t( { name: variationName } ) => variationName === name\n\t\t\t).attributes,\n\t\t} );\n\t}\n\t// Pattern transformation through the `Patterns` API.\n\tfunction onPatternTransform( transformedBlocks ) {\n\t\treplaceBlocks( clientIds, transformedBlocks );\n\t\tselectForMultipleBlocks( transformedBlocks );\n\t}\n\t/**\n\t * The `isTemplate` check is a stopgap solution here.\n\t * Ideally, the Transforms API should handle this\n\t * by allowing to exclude blocks from wildcard transformations.\n\t */\n\tconst isSingleBlock = blocks.length === 1;\n\tconst isTemplate = isSingleBlock && isTemplatePart( blocks[ 0 ] );\n\tconst hasPossibleBlockTransformations =\n\t\t!! possibleBlockTransformations.length && canRemove && ! isTemplate;\n\tconst hasPossibleBlockVariationTransformations =\n\t\t!! blockVariationTransformations?.length;\n\tconst hasPatternTransformation = !! patterns?.length && canRemove;\n\tconst hasBlockOrBlockVariationTransforms =\n\t\thasPossibleBlockTransformations ||\n\t\thasPossibleBlockVariationTransformations;\n\tconst hasContents =\n\t\thasBlockStyles ||\n\t\thasBlockOrBlockVariationTransforms ||\n\t\thasPatternTransformation;\n\tif ( ! hasContents ) {\n\t\treturn (\n\t\t\t<p className=\"block-editor-block-switcher__no-transforms\">\n\t\t\t\t{ __( 'No transforms.' ) }\n\t\t\t</p>\n\t\t);\n\t}\n\n\tconst connectedBlockDescription = isSingleBlock\n\t\t? _x(\n\t\t\t\t'This block is connected.',\n\t\t\t\t'block toolbar button label and description'\n\t\t )\n\t\t: _x(\n\t\t\t\t'These blocks are connected.',\n\t\t\t\t'block toolbar button label and description'\n\t\t );\n\n\treturn (\n\t\t<div className=\"block-editor-block-switcher__container\">\n\t\t\t{ hasPatternTransformation && (\n\t\t\t\t<PatternTransformationsMenu\n\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\tpatterns={ patterns }\n\t\t\t\t\tonSelect={ ( transformedBlocks ) => {\n\t\t\t\t\t\tonPatternTransform( transformedBlocks );\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasBlockOrBlockVariationTransforms && (\n\t\t\t\t<BlockTransformationsMenu\n\t\t\t\t\tclassName=\"block-editor-block-switcher__transforms__menugroup\"\n\t\t\t\t\tpossibleBlockTransformations={\n\t\t\t\t\t\tpossibleBlockTransformations\n\t\t\t\t\t}\n\t\t\t\t\tpossibleBlockVariationTransformations={\n\t\t\t\t\t\tblockVariationTransformations\n\t\t\t\t\t}\n\t\t\t\t\tblocks={ blocks }\n\t\t\t\t\tonSelect={ ( name ) => {\n\t\t\t\t\t\tonBlockTransform( name );\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t\tonSelectVariation={ ( name ) => {\n\t\t\t\t\t\tonBlockVariationTransform( name );\n\t\t\t\t\t\tonClose();\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ hasBlockStyles && (\n\t\t\t\t<BlockStylesMenu\n\t\t\t\t\thoveredBlock={ blocks[ 0 ] }\n\t\t\t\t\tonSwitch={ onClose }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ isUsingBindings && (\n\t\t\t\t<MenuGroup>\n\t\t\t\t\t<Text className=\"block-editor-block-switcher__binding-indicator\">\n\t\t\t\t\t\t{ connectedBlockDescription }\n\t\t\t\t\t</Text>\n\t\t\t\t</MenuGroup>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport const BlockSwitcher = ( { clientIds, disabled, isUsingBindings } ) => {\n\tconst {\n\t\tcanRemove,\n\t\thasBlockStyles,\n\t\ticon,\n\t\tinvalidBlocks,\n\t\tisReusable,\n\t\tisTemplate,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlocksByClientId, getBlockAttributes, canRemoveBlocks } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst { getBlockStyles, getBlockType, getActiveBlockVariation } =\n\t\t\t\tselect( blocksStore );\n\t\t\tconst _blocks = getBlocksByClientId( clientIds );\n\t\t\tif ( ! _blocks.length || _blocks.some( ( block ) => ! block ) ) {\n\t\t\t\treturn { invalidBlocks: true };\n\t\t\t}\n\t\t\tconst [ { name: firstBlockName } ] = _blocks;\n\t\t\tconst _isSingleBlockSelected = _blocks.length === 1;\n\t\t\tconst blockType = getBlockType( firstBlockName );\n\n\t\t\tlet _icon;\n\t\t\tif ( _isSingleBlockSelected ) {\n\t\t\t\tconst match = getActiveBlockVariation(\n\t\t\t\t\tfirstBlockName,\n\t\t\t\t\tgetBlockAttributes( clientIds[ 0 ] )\n\t\t\t\t);\n\t\t\t\t// Take into account active block variations.\n\t\t\t\t_icon = match?.icon || blockType.icon;\n\t\t\t} else {\n\t\t\t\tconst isSelectionOfSameType =\n\t\t\t\t\tnew Set( _blocks.map( ( { name } ) => name ) ).size === 1;\n\t\t\t\t// When selection consists of blocks of multiple types, display an\n\t\t\t\t// appropriate icon to communicate the non-uniformity.\n\t\t\t\t_icon = isSelectionOfSameType ? blockType.icon : copy;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tcanRemove: canRemoveBlocks( clientIds ),\n\t\t\t\thasBlockStyles:\n\t\t\t\t\t_isSingleBlockSelected &&\n\t\t\t\t\t!! getBlockStyles( firstBlockName )?.length,\n\t\t\t\ticon: _icon,\n\t\t\t\tisReusable:\n\t\t\t\t\t_isSingleBlockSelected && isReusableBlock( _blocks[ 0 ] ),\n\t\t\t\tisTemplate:\n\t\t\t\t\t_isSingleBlockSelected && isTemplatePart( _blocks[ 0 ] ),\n\t\t\t};\n\t\t},\n\t\t[ clientIds ]\n\t);\n\tconst blockTitle = useBlockDisplayTitle( {\n\t\tclientId: clientIds?.[ 0 ],\n\t\tmaximumLength: 35,\n\t} );\n\tif ( invalidBlocks ) {\n\t\treturn null;\n\t}\n\n\tconst isSingleBlock = clientIds.length === 1;\n\tconst blockSwitcherLabel = isSingleBlock\n\t\t? blockTitle\n\t\t: __( 'Multiple blocks selected' );\n\n\tconst hideDropdown = disabled || ( ! hasBlockStyles && ! canRemove );\n\tif ( hideDropdown ) {\n\t\treturn (\n\t\t\t<ToolbarGroup>\n\t\t\t\t<ToolbarButton\n\t\t\t\t\tdisabled\n\t\t\t\t\tclassName=\"block-editor-block-switcher__no-switcher-icon\"\n\t\t\t\t\ttitle={ blockSwitcherLabel }\n\t\t\t\t\ticon={\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<BlockIcon icon={ icon } showColors />\n\t\t\t\t\t\t\t{ ( isReusable || isTemplate ) && (\n\t\t\t\t\t\t\t\t<span className=\"block-editor-block-switcher__toggle-text\">\n\t\t\t\t\t\t\t\t\t{ blockTitle }\n\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t</ToolbarGroup>\n\t\t);\n\t}\n\n\tconst blockSwitcherDescription = isSingleBlock\n\t\t? __( 'Change block type or style' )\n\t\t: sprintf(\n\t\t\t\t/* translators: %d: number of blocks. */\n\t\t\t\t_n(\n\t\t\t\t\t'Change type of %d block',\n\t\t\t\t\t'Change type of %d blocks',\n\t\t\t\t\tclientIds.length\n\t\t\t\t),\n\t\t\t\tclientIds.length\n\t\t );\n\treturn (\n\t\t<ToolbarGroup>\n\t\t\t<ToolbarItem>\n\t\t\t\t{ ( toggleProps ) => (\n\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\tclassName=\"block-editor-block-switcher\"\n\t\t\t\t\t\tlabel={ blockSwitcherLabel }\n\t\t\t\t\t\tpopoverProps={ {\n\t\t\t\t\t\t\tplacement: 'bottom-start',\n\t\t\t\t\t\t\tclassName: 'block-editor-block-switcher__popover',\n\t\t\t\t\t\t} }\n\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<BlockIcon\n\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\tclassName=\"block-editor-block-switcher__toggle\"\n\t\t\t\t\t\t\t\t\tshowColors\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t{ ( isReusable || isTemplate ) && (\n\t\t\t\t\t\t\t\t\t<span className=\"block-editor-block-switcher__toggle-text\">\n\t\t\t\t\t\t\t\t\t\t{ blockTitle }\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttoggleProps={ {\n\t\t\t\t\t\t\tdescription: blockSwitcherDescription,\n\t\t\t\t\t\t\t...toggleProps,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tmenuProps={ { orientation: 'both' } }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ ( { onClose } ) => (\n\t\t\t\t\t\t\t<BlockSwitcherDropdownMenuContents\n\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t\tclientIds={ clientIds }\n\t\t\t\t\t\t\t\thasBlockStyles={ hasBlockStyles }\n\t\t\t\t\t\t\t\tcanRemove={ canRemove }\n\t\t\t\t\t\t\t\tisUsingBindings={ isUsingBindings }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</DropdownMenu>\n\t\t\t\t) }\n\t\t\t</ToolbarItem>\n\t\t</ToolbarGroup>\n\t);\n};\n\nexport default BlockSwitcher;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -56,19 +56,18 @@ function PreviewPatternsPopover({
|
|
|
56
56
|
patterns,
|
|
57
57
|
onSelect
|
|
58
58
|
}) {
|
|
59
|
+
const isMobile = (0, _compose.useViewportMatch)('medium', '<');
|
|
59
60
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
60
|
-
className: "block-editor-block-
|
|
61
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
62
|
-
className: "block-editor-block-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
onSelect: onSelect
|
|
71
|
-
})
|
|
61
|
+
className: "block-editor-block-switcher__popover-preview-container",
|
|
62
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Popover, {
|
|
63
|
+
className: "block-editor-block-switcher__popover-preview",
|
|
64
|
+
placement: isMobile ? 'bottom' : 'right-start',
|
|
65
|
+
offset: 16,
|
|
66
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
67
|
+
className: "block-editor-block-switcher__preview is-pattern-list-preview",
|
|
68
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(BlockPatternsList, {
|
|
69
|
+
patterns: patterns,
|
|
70
|
+
onSelect: onSelect
|
|
72
71
|
})
|
|
73
72
|
})
|
|
74
73
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_i18n","require","_element","_compose","_icons","_components","_blockPreview","_interopRequireDefault","_useTransformedPatterns","_lockUnlock","_jsxRuntime","CompositeV2","Composite","CompositeItemV2","CompositeItem","useCompositeStoreV2","useCompositeStore","unlock","componentsPrivateApis","PatternTransformationsMenu","blocks","patterns","statePatterns","onSelect","showTransforms","setShowTransforms","useState","useTransformedPatterns","length","jsxs","MenuGroup","className","children","jsx","PreviewPatternsPopover","MenuItem","onClick","event","preventDefault","icon","chevronRight","__","Popover","
|
|
1
|
+
{"version":3,"names":["_i18n","require","_element","_compose","_icons","_components","_blockPreview","_interopRequireDefault","_useTransformedPatterns","_lockUnlock","_jsxRuntime","CompositeV2","Composite","CompositeItemV2","CompositeItem","useCompositeStoreV2","useCompositeStore","unlock","componentsPrivateApis","PatternTransformationsMenu","blocks","patterns","statePatterns","onSelect","showTransforms","setShowTransforms","useState","useTransformedPatterns","length","jsxs","MenuGroup","className","children","jsx","PreviewPatternsPopover","MenuItem","onClick","event","preventDefault","icon","chevronRight","__","isMobile","useViewportMatch","Popover","placement","offset","BlockPatternsList","composite","store","role","map","pattern","BlockPattern","name","baseClassName","descriptionId","useInstanceId","render","title","description","undefined","transformedBlocks","default","viewportWidth","VisuallyHidden","id","_default","exports"],"sources":["@wordpress/block-editor/src/components/block-switcher/pattern-transformations-menu.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { useInstanceId, useViewportMatch } from '@wordpress/compose';\nimport { chevronRight } from '@wordpress/icons';\n\nimport {\n\tMenuGroup,\n\tMenuItem,\n\tPopover,\n\tVisuallyHidden,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport BlockPreview from '../block-preview';\nimport useTransformedPatterns from './use-transformed-patterns';\nimport { unlock } from '../../lock-unlock';\n\nconst {\n\tCompositeV2: Composite,\n\tCompositeItemV2: CompositeItem,\n\tuseCompositeStoreV2: useCompositeStore,\n} = unlock( componentsPrivateApis );\n\nfunction PatternTransformationsMenu( {\n\tblocks,\n\tpatterns: statePatterns,\n\tonSelect,\n} ) {\n\tconst [ showTransforms, setShowTransforms ] = useState( false );\n\tconst patterns = useTransformedPatterns( statePatterns, blocks );\n\n\tif ( ! patterns.length ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<MenuGroup className=\"block-editor-block-switcher__pattern__transforms__menugroup\">\n\t\t\t{ showTransforms && (\n\t\t\t\t<PreviewPatternsPopover\n\t\t\t\t\tpatterns={ patterns }\n\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<MenuItem\n\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\tsetShowTransforms( ! showTransforms );\n\t\t\t\t} }\n\t\t\t\ticon={ chevronRight }\n\t\t\t>\n\t\t\t\t{ __( 'Patterns' ) }\n\t\t\t</MenuItem>\n\t\t</MenuGroup>\n\t);\n}\n\nfunction PreviewPatternsPopover( { patterns, onSelect } ) {\n\tconst isMobile = useViewportMatch( 'medium', '<' );\n\n\treturn (\n\t\t<div className=\"block-editor-block-switcher__popover-preview-container\">\n\t\t\t<Popover\n\t\t\t\tclassName=\"block-editor-block-switcher__popover-preview\"\n\t\t\t\tplacement={ isMobile ? 'bottom' : 'right-start' }\n\t\t\t\toffset={ 16 }\n\t\t\t>\n\t\t\t\t<div className=\"block-editor-block-switcher__preview is-pattern-list-preview\">\n\t\t\t\t\t<BlockPatternsList\n\t\t\t\t\t\tpatterns={ patterns }\n\t\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t\t/>\n\t\t\t\t</div>\n\t\t\t</Popover>\n\t\t</div>\n\t);\n}\n\nfunction BlockPatternsList( { patterns, onSelect } ) {\n\tconst composite = useCompositeStore();\n\treturn (\n\t\t<Composite\n\t\t\tstore={ composite }\n\t\t\trole=\"listbox\"\n\t\t\tclassName=\"block-editor-block-switcher__preview-patterns-container\"\n\t\t\taria-label={ __( 'Patterns list' ) }\n\t\t>\n\t\t\t{ patterns.map( ( pattern ) => (\n\t\t\t\t<BlockPattern\n\t\t\t\t\tkey={ pattern.name }\n\t\t\t\t\tpattern={ pattern }\n\t\t\t\t\tonSelect={ onSelect }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</Composite>\n\t);\n}\n\nfunction BlockPattern( { pattern, onSelect } ) {\n\t// TODO check pattern/preview width...\n\tconst baseClassName =\n\t\t'block-editor-block-switcher__preview-patterns-container';\n\tconst descriptionId = useInstanceId(\n\t\tBlockPattern,\n\t\t`${ baseClassName }-list__item-description`\n\t);\n\treturn (\n\t\t<div className={ `${ baseClassName }-list__list-item` }>\n\t\t\t<CompositeItem\n\t\t\t\trender={\n\t\t\t\t\t<div\n\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\taria-label={ pattern.title }\n\t\t\t\t\t\taria-describedby={\n\t\t\t\t\t\t\tpattern.description ? descriptionId : undefined\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclassName={ `${ baseClassName }-list__item` }\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\tonClick={ () => onSelect( pattern.transformedBlocks ) }\n\t\t\t>\n\t\t\t\t<BlockPreview\n\t\t\t\t\tblocks={ pattern.transformedBlocks }\n\t\t\t\t\tviewportWidth={ pattern.viewportWidth || 500 }\n\t\t\t\t/>\n\t\t\t\t<div className={ `${ baseClassName }-list__item-title` }>\n\t\t\t\t\t{ pattern.title }\n\t\t\t\t</div>\n\t\t\t</CompositeItem>\n\t\t\t{ !! pattern.description && (\n\t\t\t\t<VisuallyHidden id={ descriptionId }>\n\t\t\t\t\t{ pattern.description }\n\t\t\t\t</VisuallyHidden>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport default PatternTransformationsMenu;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.default = PreviewBlockPopover;
|
|
8
8
|
var _i18n = require("@wordpress/i18n");
|
|
9
9
|
var _components = require("@wordpress/components");
|
|
10
|
+
var _compose = require("@wordpress/compose");
|
|
10
11
|
var _blockPreview = _interopRequireDefault(require("../block-preview"));
|
|
11
12
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
13
|
/**
|
|
@@ -20,24 +21,26 @@ var _jsxRuntime = require("react/jsx-runtime");
|
|
|
20
21
|
function PreviewBlockPopover({
|
|
21
22
|
blocks
|
|
22
23
|
}) {
|
|
24
|
+
const isMobile = (0, _compose.useViewportMatch)('medium', '<');
|
|
25
|
+
if (isMobile) {
|
|
26
|
+
return null;
|
|
27
|
+
}
|
|
23
28
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
24
|
-
className: "block-editor-block-
|
|
25
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
26
|
-
className: "block-editor-block-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
})]
|
|
40
|
-
})
|
|
29
|
+
className: "block-editor-block-switcher__popover-preview-container",
|
|
30
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Popover, {
|
|
31
|
+
className: "block-editor-block-switcher__popover-preview",
|
|
32
|
+
placement: "right-start",
|
|
33
|
+
focusOnMount: false,
|
|
34
|
+
offset: 16,
|
|
35
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
36
|
+
className: "block-editor-block-switcher__preview",
|
|
37
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
38
|
+
className: "block-editor-block-switcher__preview-title",
|
|
39
|
+
children: (0, _i18n.__)('Preview')
|
|
40
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockPreview.default, {
|
|
41
|
+
viewportWidth: 500,
|
|
42
|
+
blocks: blocks
|
|
43
|
+
})]
|
|
41
44
|
})
|
|
42
45
|
})
|
|
43
46
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_i18n","require","_components","_blockPreview","_interopRequireDefault","_jsxRuntime","PreviewBlockPopover","blocks","jsx","className","children","Popover","placement","focusOnMount","jsxs","__","default","viewportWidth"],"sources":["@wordpress/block-editor/src/components/block-switcher/preview-block-popover.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Popover } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport BlockPreview from '../block-preview';\n\nexport default function PreviewBlockPopover( { blocks } ) {\n\
|
|
1
|
+
{"version":3,"names":["_i18n","require","_components","_compose","_blockPreview","_interopRequireDefault","_jsxRuntime","PreviewBlockPopover","blocks","isMobile","useViewportMatch","jsx","className","children","Popover","placement","focusOnMount","offset","jsxs","__","default","viewportWidth"],"sources":["@wordpress/block-editor/src/components/block-switcher/preview-block-popover.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { Popover } from '@wordpress/components';\nimport { useViewportMatch } from '@wordpress/compose';\n\n/**\n * Internal dependencies\n */\nimport BlockPreview from '../block-preview';\n\nexport default function PreviewBlockPopover( { blocks } ) {\n\tconst isMobile = useViewportMatch( 'medium', '<' );\n\n\tif ( isMobile ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<div className=\"block-editor-block-switcher__popover-preview-container\">\n\t\t\t<Popover\n\t\t\t\tclassName=\"block-editor-block-switcher__popover-preview\"\n\t\t\t\tplacement=\"right-start\"\n\t\t\t\tfocusOnMount={ false }\n\t\t\t\toffset={ 16 }\n\t\t\t>\n\t\t\t\t<div className=\"block-editor-block-switcher__preview\">\n\t\t\t\t\t<div className=\"block-editor-block-switcher__preview-title\">\n\t\t\t\t\t\t{ __( 'Preview' ) }\n\t\t\t\t\t</div>\n\t\t\t\t\t<BlockPreview viewportWidth={ 500 } blocks={ blocks } />\n\t\t\t\t</div>\n\t\t\t</Popover>\n\t\t</div>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AAKA,IAAAG,aAAA,GAAAC,sBAAA,CAAAJ,OAAA;AAA4C,IAAAK,WAAA,GAAAL,OAAA;AAV5C;AACA;AACA;;AAKA;AACA;AACA;;AAGe,SAASM,mBAAmBA,CAAE;EAAEC;AAAO,CAAC,EAAG;EACzD,MAAMC,QAAQ,GAAG,IAAAC,yBAAgB,EAAE,QAAQ,EAAE,GAAI,CAAC;EAElD,IAAKD,QAAQ,EAAG;IACf,OAAO,IAAI;EACZ;EAEA,oBACC,IAAAH,WAAA,CAAAK,GAAA;IAAKC,SAAS,EAAC,wDAAwD;IAAAC,QAAA,eACtE,IAAAP,WAAA,CAAAK,GAAA,EAACT,WAAA,CAAAY,OAAO;MACPF,SAAS,EAAC,8CAA8C;MACxDG,SAAS,EAAC,aAAa;MACvBC,YAAY,EAAG,KAAO;MACtBC,MAAM,EAAG,EAAI;MAAAJ,QAAA,eAEb,IAAAP,WAAA,CAAAY,IAAA;QAAKN,SAAS,EAAC,sCAAsC;QAAAC,QAAA,gBACpD,IAAAP,WAAA,CAAAK,GAAA;UAAKC,SAAS,EAAC,4CAA4C;UAAAC,QAAA,EACxD,IAAAM,QAAE,EAAE,SAAU;QAAC,CACb,CAAC,eACN,IAAAb,WAAA,CAAAK,GAAA,EAACP,aAAA,CAAAgB,OAAY;UAACC,aAAa,EAAG,GAAK;UAACb,MAAM,EAAGA;QAAQ,CAAE,CAAC;MAAA,CACpD;IAAC,CACE;EAAC,CACN,CAAC;AAER","ignoreList":[]}
|
|
@@ -60,10 +60,13 @@ function Shuffle({
|
|
|
60
60
|
return EMPTY_ARRAY;
|
|
61
61
|
}
|
|
62
62
|
return patterns.filter(pattern => {
|
|
63
|
+
const isCorePattern = pattern.source === 'core' || pattern.source?.startsWith('pattern-directory') && pattern.source !== 'pattern-directory/theme';
|
|
63
64
|
return (
|
|
64
65
|
// Check if the pattern has only one top level block,
|
|
65
66
|
// otherwise we may shuffle to pattern that will not allow to continue shuffling.
|
|
66
|
-
pattern.blocks.length === 1 &&
|
|
67
|
+
pattern.blocks.length === 1 &&
|
|
68
|
+
// We exclude the core patterns and pattern directory patterns that are not theme patterns.
|
|
69
|
+
!isCorePattern && pattern.categories?.some(category => {
|
|
67
70
|
return categories.includes(category);
|
|
68
71
|
}) && (
|
|
69
72
|
// Check if the pattern is not a synced pattern.
|
|
@@ -71,7 +74,7 @@ function Shuffle({
|
|
|
71
74
|
);
|
|
72
75
|
});
|
|
73
76
|
}, [categories, patterns]);
|
|
74
|
-
if (sameCategoryPatternsWithSingleWrapper.length
|
|
77
|
+
if (sameCategoryPatternsWithSingleWrapper.length < 2) {
|
|
75
78
|
return null;
|
|
76
79
|
}
|
|
77
80
|
function getNextPattern() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_icons","require","_components","_i18n","_element","_data","_store","_jsxRuntime","EMPTY_ARRAY","Container","props","jsx","ToolbarGroup","children","ToolbarButton","Shuffle","clientId","as","categories","patterns","patternName","useSelect","select","getBlockAttributes","getBlockRootClientId","__experimentalGetAllowedPatterns","blockEditorStore","attributes","_categories","metadata","_patternName","rootBlock","_patterns","replaceBlocks","useDispatch","sameCategoryPatternsWithSingleWrapper","useMemo","length","filter","pattern","blocks","some","category","includes","syncStatus","id","getNextPattern","numberOfPatterns","patternIndex","findIndex","name","nextPatternIndex","ComponentToUse","label","__","icon","shuffle","className","onClick","nextPattern"],"sources":["@wordpress/block-editor/src/components/block-toolbar/shuffle.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { shuffle } from '@wordpress/icons';\nimport { ToolbarButton, ToolbarGroup } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useMemo } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\n\nconst EMPTY_ARRAY = [];\n\nfunction Container( props ) {\n\treturn (\n\t\t<ToolbarGroup>\n\t\t\t<ToolbarButton { ...props } />\n\t\t</ToolbarGroup>\n\t);\n}\n\nexport default function Shuffle( { clientId, as = Container } ) {\n\tconst { categories, patterns, patternName } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\t__experimentalGetAllowedPatterns,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst attributes = getBlockAttributes( clientId );\n\t\t\tconst _categories = attributes?.metadata?.categories || EMPTY_ARRAY;\n\t\t\tconst _patternName = attributes?.metadata?.patternName;\n\t\t\tconst rootBlock = getBlockRootClientId( clientId );\n\t\t\tconst _patterns = __experimentalGetAllowedPatterns( rootBlock );\n\t\t\treturn {\n\t\t\t\tcategories: _categories,\n\t\t\t\tpatterns: _patterns,\n\t\t\t\tpatternName: _patternName,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst { replaceBlocks } = useDispatch( blockEditorStore );\n\tconst sameCategoryPatternsWithSingleWrapper = useMemo( () => {\n\t\tif (\n\t\t\t! categories ||\n\t\t\tcategories.length === 0 ||\n\t\t\t! patterns ||\n\t\t\tpatterns.length === 0\n\t\t) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\t\treturn patterns.filter( ( pattern ) => {\n\t\t\treturn (\n\t\t\t\t// Check if the pattern has only one top level block,\n\t\t\t\t// otherwise we may shuffle to pattern that will not allow to continue shuffling.\n\t\t\t\tpattern.blocks.length === 1 &&\n\t\t\t\tpattern.categories?.some( ( category ) => {\n\t\t\t\t\treturn categories.includes( category );\n\t\t\t\t} ) &&\n\t\t\t\t// Check if the pattern is not a synced pattern.\n\t\t\t\t( pattern.syncStatus === 'unsynced' || ! pattern.id )\n\t\t\t);\n\t\t} );\n\t}, [ categories, patterns ] );\n\tif ( sameCategoryPatternsWithSingleWrapper.length
|
|
1
|
+
{"version":3,"names":["_icons","require","_components","_i18n","_element","_data","_store","_jsxRuntime","EMPTY_ARRAY","Container","props","jsx","ToolbarGroup","children","ToolbarButton","Shuffle","clientId","as","categories","patterns","patternName","useSelect","select","getBlockAttributes","getBlockRootClientId","__experimentalGetAllowedPatterns","blockEditorStore","attributes","_categories","metadata","_patternName","rootBlock","_patterns","replaceBlocks","useDispatch","sameCategoryPatternsWithSingleWrapper","useMemo","length","filter","pattern","isCorePattern","source","startsWith","blocks","some","category","includes","syncStatus","id","getNextPattern","numberOfPatterns","patternIndex","findIndex","name","nextPatternIndex","ComponentToUse","label","__","icon","shuffle","className","onClick","nextPattern"],"sources":["@wordpress/block-editor/src/components/block-toolbar/shuffle.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { shuffle } from '@wordpress/icons';\nimport { ToolbarButton, ToolbarGroup } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useMemo } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\n\nconst EMPTY_ARRAY = [];\n\nfunction Container( props ) {\n\treturn (\n\t\t<ToolbarGroup>\n\t\t\t<ToolbarButton { ...props } />\n\t\t</ToolbarGroup>\n\t);\n}\n\nexport default function Shuffle( { clientId, as = Container } ) {\n\tconst { categories, patterns, patternName } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tgetBlockRootClientId,\n\t\t\t\t__experimentalGetAllowedPatterns,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst attributes = getBlockAttributes( clientId );\n\t\t\tconst _categories = attributes?.metadata?.categories || EMPTY_ARRAY;\n\t\t\tconst _patternName = attributes?.metadata?.patternName;\n\t\t\tconst rootBlock = getBlockRootClientId( clientId );\n\t\t\tconst _patterns = __experimentalGetAllowedPatterns( rootBlock );\n\t\t\treturn {\n\t\t\t\tcategories: _categories,\n\t\t\t\tpatterns: _patterns,\n\t\t\t\tpatternName: _patternName,\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\tconst { replaceBlocks } = useDispatch( blockEditorStore );\n\tconst sameCategoryPatternsWithSingleWrapper = useMemo( () => {\n\t\tif (\n\t\t\t! categories ||\n\t\t\tcategories.length === 0 ||\n\t\t\t! patterns ||\n\t\t\tpatterns.length === 0\n\t\t) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\t\treturn patterns.filter( ( pattern ) => {\n\t\t\tconst isCorePattern =\n\t\t\t\tpattern.source === 'core' ||\n\t\t\t\t( pattern.source?.startsWith( 'pattern-directory' ) &&\n\t\t\t\t\tpattern.source !== 'pattern-directory/theme' );\n\t\t\treturn (\n\t\t\t\t// Check if the pattern has only one top level block,\n\t\t\t\t// otherwise we may shuffle to pattern that will not allow to continue shuffling.\n\t\t\t\tpattern.blocks.length === 1 &&\n\t\t\t\t// We exclude the core patterns and pattern directory patterns that are not theme patterns.\n\t\t\t\t! isCorePattern &&\n\t\t\t\tpattern.categories?.some( ( category ) => {\n\t\t\t\t\treturn categories.includes( category );\n\t\t\t\t} ) &&\n\t\t\t\t// Check if the pattern is not a synced pattern.\n\t\t\t\t( pattern.syncStatus === 'unsynced' || ! pattern.id )\n\t\t\t);\n\t\t} );\n\t}, [ categories, patterns ] );\n\n\tif ( sameCategoryPatternsWithSingleWrapper.length < 2 ) {\n\t\treturn null;\n\t}\n\n\tfunction getNextPattern() {\n\t\tconst numberOfPatterns = sameCategoryPatternsWithSingleWrapper.length;\n\t\tconst patternIndex = sameCategoryPatternsWithSingleWrapper.findIndex(\n\t\t\t( { name } ) => name === patternName\n\t\t);\n\t\tconst nextPatternIndex =\n\t\t\tpatternIndex + 1 < numberOfPatterns ? patternIndex + 1 : 0;\n\t\treturn sameCategoryPatternsWithSingleWrapper[ nextPatternIndex ];\n\t}\n\n\tconst ComponentToUse = as;\n\treturn (\n\t\t<ComponentToUse\n\t\t\tlabel={ __( 'Shuffle' ) }\n\t\t\ticon={ shuffle }\n\t\t\tclassName=\"block-editor-block-toolbar-shuffle\"\n\t\t\tonClick={ () => {\n\t\t\t\tconst nextPattern = getNextPattern();\n\t\t\t\tnextPattern.blocks[ 0 ].attributes = {\n\t\t\t\t\t...nextPattern.blocks[ 0 ].attributes,\n\t\t\t\t\tmetadata: {\n\t\t\t\t\t\t...nextPattern.blocks[ 0 ].attributes.metadata,\n\t\t\t\t\t\tcategories,\n\t\t\t\t\t},\n\t\t\t\t};\n\t\t\t\treplaceBlocks( clientId, nextPattern.blocks );\n\t\t\t} }\n\t\t/>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -32,21 +32,20 @@ function useShowBlockTools() {
|
|
|
32
32
|
isTyping
|
|
33
33
|
} = select(_store.store);
|
|
34
34
|
const clientId = getSelectedBlockClientId() || getFirstMultiSelectedBlockClientId();
|
|
35
|
-
const block = getBlock(clientId)
|
|
36
|
-
name: '',
|
|
37
|
-
attributes: {}
|
|
38
|
-
};
|
|
35
|
+
const block = getBlock(clientId);
|
|
39
36
|
const editorMode = __unstableGetEditorMode();
|
|
40
|
-
const hasSelectedBlock = clientId && block
|
|
41
|
-
const isEmptyDefaultBlock = (0, _blocks.isUnmodifiedDefaultBlock)(block);
|
|
37
|
+
const hasSelectedBlock = !!clientId && !!block;
|
|
38
|
+
const isEmptyDefaultBlock = hasSelectedBlock && (0, _blocks.isUnmodifiedDefaultBlock)(block);
|
|
42
39
|
const _showEmptyBlockSideInserter = clientId && !isTyping() && editorMode === 'edit' && isEmptyDefaultBlock;
|
|
43
40
|
const maybeShowBreadcrumb = hasSelectedBlock && !hasMultiSelection() && editorMode === 'navigation';
|
|
44
|
-
const
|
|
41
|
+
const isZoomOut = editorMode === 'zoom-out';
|
|
42
|
+
const _showZoomOutToolbar = isZoomOut && block?.attributes?.align === 'full' && !_showEmptyBlockSideInserter && !maybeShowBreadcrumb;
|
|
43
|
+
const _showBlockToolbarPopover = !_showZoomOutToolbar && !getSettings().hasFixedToolbar && !_showEmptyBlockSideInserter && hasSelectedBlock && !isEmptyDefaultBlock && !maybeShowBreadcrumb;
|
|
45
44
|
return {
|
|
46
45
|
showEmptyBlockSideInserter: _showEmptyBlockSideInserter,
|
|
47
46
|
showBreadcrumb: !_showEmptyBlockSideInserter && maybeShowBreadcrumb,
|
|
48
47
|
showBlockToolbarPopover: _showBlockToolbarPopover,
|
|
49
|
-
showZoomOutToolbar:
|
|
48
|
+
showZoomOutToolbar: _showZoomOutToolbar
|
|
50
49
|
};
|
|
51
50
|
}, []);
|
|
52
51
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_data","require","_blocks","_store","useShowBlockTools","useSelect","select","getSelectedBlockClientId","getFirstMultiSelectedBlockClientId","getBlock","getSettings","hasMultiSelection","__unstableGetEditorMode","isTyping","blockEditorStore","clientId","block","
|
|
1
|
+
{"version":3,"names":["_data","require","_blocks","_store","useShowBlockTools","useSelect","select","getSelectedBlockClientId","getFirstMultiSelectedBlockClientId","getBlock","getSettings","hasMultiSelection","__unstableGetEditorMode","isTyping","blockEditorStore","clientId","block","editorMode","hasSelectedBlock","isEmptyDefaultBlock","isUnmodifiedDefaultBlock","_showEmptyBlockSideInserter","maybeShowBreadcrumb","isZoomOut","_showZoomOutToolbar","attributes","align","_showBlockToolbarPopover","hasFixedToolbar","showEmptyBlockSideInserter","showBreadcrumb","showBlockToolbarPopover","showZoomOutToolbar"],"sources":["@wordpress/block-editor/src/components/block-tools/use-show-block-tools.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { isUnmodifiedDefaultBlock } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\n\n/**\n * Source of truth for which block tools are showing in the block editor.\n *\n * @return {Object} Object of which block tools will be shown.\n */\nexport function useShowBlockTools() {\n\treturn useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetSelectedBlockClientId,\n\t\t\tgetFirstMultiSelectedBlockClientId,\n\t\t\tgetBlock,\n\t\t\tgetSettings,\n\t\t\thasMultiSelection,\n\t\t\t__unstableGetEditorMode,\n\t\t\tisTyping,\n\t\t} = select( blockEditorStore );\n\n\t\tconst clientId =\n\t\t\tgetSelectedBlockClientId() || getFirstMultiSelectedBlockClientId();\n\n\t\tconst block = getBlock( clientId );\n\t\tconst editorMode = __unstableGetEditorMode();\n\t\tconst hasSelectedBlock = !! clientId && !! block;\n\t\tconst isEmptyDefaultBlock =\n\t\t\thasSelectedBlock && isUnmodifiedDefaultBlock( block );\n\t\tconst _showEmptyBlockSideInserter =\n\t\t\tclientId &&\n\t\t\t! isTyping() &&\n\t\t\teditorMode === 'edit' &&\n\t\t\tisEmptyDefaultBlock;\n\t\tconst maybeShowBreadcrumb =\n\t\t\thasSelectedBlock &&\n\t\t\t! hasMultiSelection() &&\n\t\t\teditorMode === 'navigation';\n\n\t\tconst isZoomOut = editorMode === 'zoom-out';\n\t\tconst _showZoomOutToolbar =\n\t\t\tisZoomOut &&\n\t\t\tblock?.attributes?.align === 'full' &&\n\t\t\t! _showEmptyBlockSideInserter &&\n\t\t\t! maybeShowBreadcrumb;\n\t\tconst _showBlockToolbarPopover =\n\t\t\t! _showZoomOutToolbar &&\n\t\t\t! getSettings().hasFixedToolbar &&\n\t\t\t! _showEmptyBlockSideInserter &&\n\t\t\thasSelectedBlock &&\n\t\t\t! isEmptyDefaultBlock &&\n\t\t\t! maybeShowBreadcrumb;\n\n\t\treturn {\n\t\t\tshowEmptyBlockSideInserter: _showEmptyBlockSideInserter,\n\t\t\tshowBreadcrumb:\n\t\t\t\t! _showEmptyBlockSideInserter && maybeShowBreadcrumb,\n\t\t\tshowBlockToolbarPopover: _showBlockToolbarPopover,\n\t\t\tshowZoomOutToolbar: _showZoomOutToolbar,\n\t\t};\n\t}, [] );\n}\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AAKA,IAAAE,MAAA,GAAAF,OAAA;AATA;AACA;AACA;;AAIA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACO,SAASG,iBAAiBA,CAAA,EAAG;EACnC,OAAO,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAC/B,MAAM;MACLC,wBAAwB;MACxBC,kCAAkC;MAClCC,QAAQ;MACRC,WAAW;MACXC,iBAAiB;MACjBC,uBAAuB;MACvBC;IACD,CAAC,GAAGP,MAAM,CAAEQ,YAAiB,CAAC;IAE9B,MAAMC,QAAQ,GACbR,wBAAwB,CAAC,CAAC,IAAIC,kCAAkC,CAAC,CAAC;IAEnE,MAAMQ,KAAK,GAAGP,QAAQ,CAAEM,QAAS,CAAC;IAClC,MAAME,UAAU,GAAGL,uBAAuB,CAAC,CAAC;IAC5C,MAAMM,gBAAgB,GAAG,CAAC,CAAEH,QAAQ,IAAI,CAAC,CAAEC,KAAK;IAChD,MAAMG,mBAAmB,GACxBD,gBAAgB,IAAI,IAAAE,gCAAwB,EAAEJ,KAAM,CAAC;IACtD,MAAMK,2BAA2B,GAChCN,QAAQ,IACR,CAAEF,QAAQ,CAAC,CAAC,IACZI,UAAU,KAAK,MAAM,IACrBE,mBAAmB;IACpB,MAAMG,mBAAmB,GACxBJ,gBAAgB,IAChB,CAAEP,iBAAiB,CAAC,CAAC,IACrBM,UAAU,KAAK,YAAY;IAE5B,MAAMM,SAAS,GAAGN,UAAU,KAAK,UAAU;IAC3C,MAAMO,mBAAmB,GACxBD,SAAS,IACTP,KAAK,EAAES,UAAU,EAAEC,KAAK,KAAK,MAAM,IACnC,CAAEL,2BAA2B,IAC7B,CAAEC,mBAAmB;IACtB,MAAMK,wBAAwB,GAC7B,CAAEH,mBAAmB,IACrB,CAAEd,WAAW,CAAC,CAAC,CAACkB,eAAe,IAC/B,CAAEP,2BAA2B,IAC7BH,gBAAgB,IAChB,CAAEC,mBAAmB,IACrB,CAAEG,mBAAmB;IAEtB,OAAO;MACNO,0BAA0B,EAAER,2BAA2B;MACvDS,cAAc,EACb,CAAET,2BAA2B,IAAIC,mBAAmB;MACrDS,uBAAuB,EAAEJ,wBAAwB;MACjDK,kBAAkB,EAAER;IACrB,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;AACR","ignoreList":[]}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
var _clsx = _interopRequireDefault(require("clsx"));
|
|
9
|
+
var _element = require("@wordpress/element");
|
|
10
|
+
var _components = require("@wordpress/components");
|
|
11
|
+
var _icons = require("@wordpress/icons");
|
|
12
|
+
var _i18n = require("@wordpress/i18n");
|
|
13
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
14
|
+
/**
|
|
15
|
+
* External dependencies
|
|
16
|
+
*/
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* WordPress dependencies
|
|
20
|
+
*/
|
|
21
|
+
|
|
22
|
+
function ZoomOutModeInserterButton({
|
|
23
|
+
isVisible,
|
|
24
|
+
onClick
|
|
25
|
+
}) {
|
|
26
|
+
const [zoomOutModeInserterButtonHovered, setZoomOutModeInserterButtonHovered] = (0, _element.useState)(false);
|
|
27
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
|
|
28
|
+
variant: "primary",
|
|
29
|
+
icon: _icons.plus,
|
|
30
|
+
size: "compact",
|
|
31
|
+
className: (0, _clsx.default)('block-editor-button-pattern-inserter__button', 'block-editor-block-tools__zoom-out-mode-inserter-button', {
|
|
32
|
+
'is-visible': isVisible || zoomOutModeInserterButtonHovered
|
|
33
|
+
}),
|
|
34
|
+
onClick: onClick,
|
|
35
|
+
onMouseOver: () => {
|
|
36
|
+
setZoomOutModeInserterButtonHovered(true);
|
|
37
|
+
},
|
|
38
|
+
onMouseOut: () => {
|
|
39
|
+
setZoomOutModeInserterButtonHovered(false);
|
|
40
|
+
},
|
|
41
|
+
label: (0, _i18n._x)('Add pattern', 'Generic label for pattern inserter button')
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
var _default = exports.default = ZoomOutModeInserterButton;
|
|
45
|
+
//# sourceMappingURL=zoom-out-mode-inserter-button.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_clsx","_interopRequireDefault","require","_element","_components","_icons","_i18n","_jsxRuntime","ZoomOutModeInserterButton","isVisible","onClick","zoomOutModeInserterButtonHovered","setZoomOutModeInserterButtonHovered","useState","jsx","Button","variant","icon","plus","size","className","clsx","onMouseOver","onMouseOut","label","_x","_default","exports","default"],"sources":["@wordpress/block-editor/src/components/block-tools/zoom-out-mode-inserter-button.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\nimport { Button } from '@wordpress/components';\nimport { plus } from '@wordpress/icons';\nimport { _x } from '@wordpress/i18n';\n\nfunction ZoomOutModeInserterButton( { isVisible, onClick } ) {\n\tconst [\n\t\tzoomOutModeInserterButtonHovered,\n\t\tsetZoomOutModeInserterButtonHovered,\n\t] = useState( false );\n\n\treturn (\n\t\t<Button\n\t\t\tvariant=\"primary\"\n\t\t\ticon={ plus }\n\t\t\tsize=\"compact\"\n\t\t\tclassName={ clsx(\n\t\t\t\t'block-editor-button-pattern-inserter__button',\n\t\t\t\t'block-editor-block-tools__zoom-out-mode-inserter-button',\n\t\t\t\t{\n\t\t\t\t\t'is-visible': isVisible || zoomOutModeInserterButtonHovered,\n\t\t\t\t}\n\t\t\t) }\n\t\t\tonClick={ onClick }\n\t\t\tonMouseOver={ () => {\n\t\t\t\tsetZoomOutModeInserterButtonHovered( true );\n\t\t\t} }\n\t\t\tonMouseOut={ () => {\n\t\t\t\tsetZoomOutModeInserterButtonHovered( false );\n\t\t\t} }\n\t\t\tlabel={ _x(\n\t\t\t\t'Add pattern',\n\t\t\t\t'Generic label for pattern inserter button'\n\t\t\t) }\n\t\t/>\n\t);\n}\n\nexport default ZoomOutModeInserterButton;\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AAAqC,IAAAK,WAAA,GAAAL,OAAA;AAXrC;AACA;AACA;;AAGA;AACA;AACA;;AAMA,SAASM,yBAAyBA,CAAE;EAAEC,SAAS;EAAEC;AAAQ,CAAC,EAAG;EAC5D,MAAM,CACLC,gCAAgC,EAChCC,mCAAmC,CACnC,GAAG,IAAAC,iBAAQ,EAAE,KAAM,CAAC;EAErB,oBACC,IAAAN,WAAA,CAAAO,GAAA,EAACV,WAAA,CAAAW,MAAM;IACNC,OAAO,EAAC,SAAS;IACjBC,IAAI,EAAGC,WAAM;IACbC,IAAI,EAAC,SAAS;IACdC,SAAS,EAAG,IAAAC,aAAI,EACf,8CAA8C,EAC9C,yDAAyD,EACzD;MACC,YAAY,EAAEZ,SAAS,IAAIE;IAC5B,CACD,CAAG;IACHD,OAAO,EAAGA,OAAS;IACnBY,WAAW,EAAGA,CAAA,KAAM;MACnBV,mCAAmC,CAAE,IAAK,CAAC;IAC5C,CAAG;IACHW,UAAU,EAAGA,CAAA,KAAM;MAClBX,mCAAmC,CAAE,KAAM,CAAC;IAC7C,CAAG;IACHY,KAAK,EAAG,IAAAC,QAAE,EACT,aAAa,EACb,2CACD;EAAG,CACH,CAAC;AAEJ;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEcpB,yBAAyB","ignoreList":[]}
|