@wordpress/block-editor 12.9.1-next.5a1d1283.0 → 12.10.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 +6 -0
- package/README.md +33 -3
- package/build/components/block-canvas/index.js +107 -0
- package/build/components/block-canvas/index.js.map +1 -0
- package/build/components/block-inspector/index.js +4 -1
- package/build/components/block-inspector/index.js.map +1 -1
- package/build/components/block-patterns-list/index.js +19 -4
- package/build/components/block-patterns-list/index.js.map +1 -1
- package/build/components/block-patterns-paging/index.js +66 -0
- package/build/components/block-patterns-paging/index.js.map +1 -0
- package/build/components/block-settings-menu/block-settings-dropdown.js +28 -0
- package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build/components/block-settings-menu-controls/index.js +4 -7
- package/build/components/block-settings-menu-controls/index.js.map +1 -1
- package/build/components/block-styles/index.js +1 -0
- package/build/components/block-styles/index.js.map +1 -1
- package/build/components/block-toolbar/block-toolbar-menu.native.js +3 -7
- package/build/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
- package/build/components/block-tools/block-contextual-toolbar.js +18 -7
- package/build/components/block-tools/block-contextual-toolbar.js.map +1 -1
- package/build/components/block-tools/block-selection-button.js +5 -1
- package/build/components/block-tools/block-selection-button.js.map +1 -1
- package/build/components/border-radius-control/input-controls.js +1 -1
- package/build/components/border-radius-control/input-controls.js.map +1 -1
- package/build/components/border-radius-control/linked-button.js +2 -4
- package/build/components/border-radius-control/linked-button.js.map +1 -1
- package/build/components/colors/with-colors.js.map +1 -1
- package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.js +8 -21
- package/build/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +1 -1
- package/build/components/default-block-appender/index.native.js +20 -1
- package/build/components/default-block-appender/index.native.js.map +1 -1
- package/build/components/duotone/utils.js +68 -0
- package/build/components/duotone/utils.js.map +1 -1
- package/build/components/editor-styles/index.js +28 -9
- package/build/components/editor-styles/index.js.map +1 -1
- package/build/components/global-styles/hooks.js +2 -101
- package/build/components/global-styles/hooks.js.map +1 -1
- package/build/components/global-styles/image-settings-panel.js +61 -0
- package/build/components/global-styles/image-settings-panel.js.map +1 -0
- package/build/components/global-styles/index.js +11 -17
- package/build/components/global-styles/index.js.map +1 -1
- package/build/components/global-styles/use-global-styles-output.js +19 -15
- package/build/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build/components/global-styles/utils.js +1 -1
- package/build/components/global-styles/utils.js.map +1 -1
- package/build/components/iframe/index.js +67 -33
- package/build/components/iframe/index.js.map +1 -1
- package/build/components/image-editor/use-save-image.js +2 -5
- package/build/components/image-editor/use-save-image.js.map +1 -1
- package/build/components/image-editor/use-transform-image.js +9 -9
- package/build/components/image-editor/use-transform-image.js.map +1 -1
- package/build/components/index.js +8 -12
- package/build/components/index.js.map +1 -1
- package/build/components/index.native.js +6 -5
- package/build/components/index.native.js.map +1 -1
- package/build/components/inner-blocks/use-nested-settings-update.js +13 -7
- package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
- package/build/components/inserter/block-patterns-explorer/explorer.js +12 -6
- package/build/components/inserter/block-patterns-explorer/explorer.js.map +1 -1
- package/build/components/inserter/block-patterns-explorer/patterns-list.js +57 -23
- package/build/components/inserter/block-patterns-explorer/patterns-list.js.map +1 -1
- package/build/components/inserter/block-patterns-explorer/sidebar.js +24 -9
- package/build/components/inserter/block-patterns-explorer/sidebar.js.map +1 -1
- package/build/components/inserter/block-patterns-source-filter.js +54 -0
- package/build/components/inserter/block-patterns-source-filter.js.map +1 -0
- package/build/components/inserter/block-patterns-sync-filter.js +46 -0
- package/build/components/inserter/block-patterns-sync-filter.js.map +1 -0
- package/build/components/inserter/block-patterns-tab.js +91 -45
- package/build/components/inserter/block-patterns-tab.js.map +1 -1
- package/build/components/inserter/hooks/use-patterns-paging.js +57 -0
- package/build/components/inserter/hooks/use-patterns-paging.js.map +1 -0
- package/build/components/inserter/hooks/use-patterns-state.js +21 -10
- package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
- package/build/components/inserter/menu.js +13 -11
- package/build/components/inserter/menu.js.map +1 -1
- package/build/components/inserter/search-results.js +4 -3
- package/build/components/inserter/search-results.js.map +1 -1
- package/build/components/inserter/tabs.js +1 -12
- package/build/components/inserter/tabs.js.map +1 -1
- package/build/components/inspector-controls/block-support-slot-container.js +12 -1
- package/build/components/inspector-controls/block-support-slot-container.js.map +1 -1
- package/build/components/inspector-controls/fill.js +24 -13
- package/build/components/inspector-controls/fill.js.map +1 -1
- package/build/components/inspector-controls/groups.js +5 -3
- package/build/components/inspector-controls/groups.js.map +1 -1
- package/build/components/inspector-controls/slot.js +13 -0
- package/build/components/inspector-controls/slot.js.map +1 -1
- package/build/components/inspector-controls-tabs/styles-tab.js +3 -0
- package/build/components/inspector-controls-tabs/styles-tab.js.map +1 -1
- package/build/components/link-control/index.js +12 -2
- package/build/components/link-control/index.js.map +1 -1
- package/build/components/list-view/block-select-button.js +1 -3
- package/build/components/list-view/block-select-button.js.map +1 -1
- package/build/components/list-view/block.js +13 -1
- package/build/components/list-view/block.js.map +1 -1
- package/build/components/list-view/use-block-selection.js +29 -24
- package/build/components/list-view/use-block-selection.js.map +1 -1
- package/build/components/media-placeholder/index.js +2 -2
- package/build/components/media-placeholder/index.js.map +1 -1
- package/build/components/media-placeholder/index.native.js +11 -11
- package/build/components/media-placeholder/index.native.js.map +1 -1
- package/build/components/media-replace-flow/index.js +2 -3
- package/build/components/media-replace-flow/index.js.map +1 -1
- package/build/components/media-upload/constants.js +30 -0
- package/build/components/media-upload/constants.js.map +1 -0
- package/build/components/media-upload/index.native.js +63 -53
- package/build/components/media-upload/index.native.js.map +1 -1
- package/build/components/preview-options/index.js +1 -1
- package/build/components/preview-options/index.js.map +1 -1
- package/build/components/rich-text/index.js +34 -35
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/rich-text/index.native.js +14 -32
- package/build/components/rich-text/index.native.js.map +1 -1
- package/build/components/rich-text/multiline.js +95 -0
- package/build/components/rich-text/multiline.js.map +1 -0
- package/build/components/rich-text/split-value.js +10 -16
- package/build/components/rich-text/split-value.js.map +1 -1
- package/build/components/rich-text/use-enter.js +31 -40
- package/build/components/rich-text/use-enter.js.map +1 -1
- package/build/components/rich-text/use-paste-handler.js +18 -33
- package/build/components/rich-text/use-paste-handler.js.map +1 -1
- package/build/components/spacing-sizes-control/utils.js +1 -1
- package/build/components/spacing-sizes-control/utils.js.map +1 -1
- package/build/components/use-block-commands/index.js +30 -18
- package/build/components/use-block-commands/index.js.map +1 -1
- package/build/components/use-block-display-information/index.js +5 -2
- package/build/components/use-block-display-information/index.js.map +1 -1
- package/build/hooks/background.js +258 -0
- package/build/hooks/background.js.map +1 -0
- package/build/hooks/block-hooks.js +188 -0
- package/build/hooks/block-hooks.js.map +1 -0
- package/build/hooks/block-rename-ui.js +160 -0
- package/build/hooks/block-rename-ui.js.map +1 -0
- package/build/hooks/duotone.js +29 -42
- package/build/hooks/duotone.js.map +1 -1
- package/build/hooks/index.js +2 -2
- package/build/hooks/index.js.map +1 -1
- package/build/hooks/layout.js +31 -14
- package/build/hooks/layout.js.map +1 -1
- package/build/hooks/position.js +4 -2
- package/build/hooks/position.js.map +1 -1
- package/build/hooks/style.js +10 -3
- package/build/hooks/style.js.map +1 -1
- package/build/private-apis.js +2 -0
- package/build/private-apis.js.map +1 -1
- package/build/store/actions.js +33 -10
- package/build/store/actions.js.map +1 -1
- package/build/store/private-actions.js +42 -8
- package/build/store/private-actions.js.map +1 -1
- package/build/store/private-selectors.js +23 -0
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js +43 -1
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +84 -23
- package/build/store/selectors.js.map +1 -1
- package/build/store/utils.js +0 -4
- package/build/store/utils.js.map +1 -1
- package/build-module/components/block-canvas/index.js +97 -0
- package/build-module/components/block-canvas/index.js.map +1 -0
- package/build-module/components/block-inspector/index.js +4 -1
- package/build-module/components/block-inspector/index.js.map +1 -1
- package/build-module/components/block-patterns-list/index.js +20 -5
- package/build-module/components/block-patterns-list/index.js.map +1 -1
- package/build-module/components/block-patterns-paging/index.js +59 -0
- package/build-module/components/block-patterns-paging/index.js.map +1 -0
- package/build-module/components/block-settings-menu/block-settings-dropdown.js +28 -0
- package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build-module/components/block-settings-menu-controls/index.js +4 -7
- package/build-module/components/block-settings-menu-controls/index.js.map +1 -1
- package/build-module/components/block-styles/index.js +1 -0
- package/build-module/components/block-styles/index.js.map +1 -1
- package/build-module/components/block-toolbar/block-toolbar-menu.native.js +3 -7
- package/build-module/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
- package/build-module/components/block-tools/block-contextual-toolbar.js +18 -7
- package/build-module/components/block-tools/block-contextual-toolbar.js.map +1 -1
- package/build-module/components/block-tools/block-selection-button.js +5 -1
- package/build-module/components/block-tools/block-selection-button.js.map +1 -1
- package/build-module/components/border-radius-control/input-controls.js +1 -1
- package/build-module/components/border-radius-control/input-controls.js.map +1 -1
- package/build-module/components/border-radius-control/linked-button.js +2 -4
- package/build-module/components/border-radius-control/linked-button.js.map +1 -1
- package/build-module/components/colors/with-colors.js.map +1 -1
- package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js +8 -21
- package/build-module/components/convert-to-group-buttons/use-convert-to-group-button-props.js.map +1 -1
- package/build-module/components/default-block-appender/index.native.js +20 -1
- package/build-module/components/default-block-appender/index.native.js.map +1 -1
- package/build-module/components/duotone/utils.js +65 -0
- package/build-module/components/duotone/utils.js.map +1 -1
- package/build-module/components/editor-styles/index.js +28 -9
- package/build-module/components/editor-styles/index.js.map +1 -1
- package/build-module/components/global-styles/hooks.js +3 -100
- package/build-module/components/global-styles/hooks.js.map +1 -1
- package/build-module/components/global-styles/image-settings-panel.js +53 -0
- package/build-module/components/global-styles/image-settings-panel.js.map +1 -0
- package/build-module/components/global-styles/index.js +2 -2
- package/build-module/components/global-styles/index.js.map +1 -1
- package/build-module/components/global-styles/use-global-styles-output.js +18 -16
- package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build-module/components/global-styles/utils.js +1 -1
- package/build-module/components/global-styles/utils.js.map +1 -1
- package/build-module/components/iframe/index.js +66 -33
- package/build-module/components/iframe/index.js.map +1 -1
- package/build-module/components/image-editor/use-save-image.js +2 -5
- package/build-module/components/image-editor/use-save-image.js.map +1 -1
- package/build-module/components/image-editor/use-transform-image.js +9 -9
- package/build-module/components/image-editor/use-transform-image.js.map +1 -1
- package/build-module/components/index.js +1 -1
- package/build-module/components/index.js.map +1 -1
- package/build-module/components/index.native.js +2 -1
- package/build-module/components/index.native.js.map +1 -1
- package/build-module/components/inner-blocks/use-nested-settings-update.js +14 -8
- package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
- package/build-module/components/inserter/block-patterns-explorer/explorer.js +12 -6
- package/build-module/components/inserter/block-patterns-explorer/explorer.js.map +1 -1
- package/build-module/components/inserter/block-patterns-explorer/patterns-list.js +59 -25
- package/build-module/components/inserter/block-patterns-explorer/patterns-list.js.map +1 -1
- package/build-module/components/inserter/block-patterns-explorer/sidebar.js +23 -9
- package/build-module/components/inserter/block-patterns-explorer/sidebar.js.map +1 -1
- package/build-module/components/inserter/block-patterns-source-filter.js +44 -0
- package/build-module/components/inserter/block-patterns-source-filter.js.map +1 -0
- package/build-module/components/inserter/block-patterns-sync-filter.js +38 -0
- package/build-module/components/inserter/block-patterns-sync-filter.js.map +1 -0
- package/build-module/components/inserter/block-patterns-tab.js +87 -46
- package/build-module/components/inserter/block-patterns-tab.js.map +1 -1
- package/build-module/components/inserter/hooks/use-patterns-paging.js +50 -0
- package/build-module/components/inserter/hooks/use-patterns-paging.js.map +1 -0
- package/build-module/components/inserter/hooks/use-patterns-state.js +22 -10
- package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
- package/build-module/components/inserter/menu.js +13 -11
- package/build-module/components/inserter/menu.js.map +1 -1
- package/build-module/components/inserter/search-results.js +4 -3
- package/build-module/components/inserter/search-results.js.map +1 -1
- package/build-module/components/inserter/tabs.js +1 -12
- package/build-module/components/inserter/tabs.js.map +1 -1
- package/build-module/components/inspector-controls/block-support-slot-container.js +13 -2
- package/build-module/components/inspector-controls/block-support-slot-container.js.map +1 -1
- package/build-module/components/inspector-controls/fill.js +25 -14
- package/build-module/components/inspector-controls/fill.js.map +1 -1
- package/build-module/components/inspector-controls/groups.js +5 -3
- package/build-module/components/inspector-controls/groups.js.map +1 -1
- package/build-module/components/inspector-controls/slot.js +15 -1
- package/build-module/components/inspector-controls/slot.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/styles-tab.js +3 -0
- package/build-module/components/inspector-controls-tabs/styles-tab.js.map +1 -1
- package/build-module/components/link-control/index.js +12 -2
- package/build-module/components/link-control/index.js.map +1 -1
- package/build-module/components/list-view/block-select-button.js +1 -3
- package/build-module/components/list-view/block-select-button.js.map +1 -1
- package/build-module/components/list-view/block.js +13 -1
- package/build-module/components/list-view/block.js.map +1 -1
- package/build-module/components/list-view/use-block-selection.js +30 -25
- package/build-module/components/list-view/use-block-selection.js.map +1 -1
- package/build-module/components/media-placeholder/index.js +2 -2
- package/build-module/components/media-placeholder/index.js.map +1 -1
- package/build-module/components/media-placeholder/index.native.js +7 -7
- package/build-module/components/media-placeholder/index.native.js.map +1 -1
- package/build-module/components/media-replace-flow/index.js +2 -3
- package/build-module/components/media-replace-flow/index.js.map +1 -1
- package/build-module/components/media-upload/constants.js +14 -0
- package/build-module/components/media-upload/constants.js.map +1 -0
- package/build-module/components/media-upload/index.native.js +53 -34
- package/build-module/components/media-upload/index.native.js.map +1 -1
- package/build-module/components/preview-options/index.js +1 -1
- package/build-module/components/preview-options/index.js.map +1 -1
- package/build-module/components/rich-text/index.js +35 -37
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/rich-text/index.native.js +15 -33
- package/build-module/components/rich-text/index.native.js.map +1 -1
- package/build-module/components/rich-text/multiline.js +87 -0
- package/build-module/components/rich-text/multiline.js.map +1 -0
- package/build-module/components/rich-text/split-value.js +10 -16
- package/build-module/components/rich-text/split-value.js.map +1 -1
- package/build-module/components/rich-text/use-enter.js +33 -42
- package/build-module/components/rich-text/use-enter.js.map +1 -1
- package/build-module/components/rich-text/use-paste-handler.js +19 -34
- package/build-module/components/rich-text/use-paste-handler.js.map +1 -1
- package/build-module/components/spacing-sizes-control/utils.js +2 -2
- package/build-module/components/spacing-sizes-control/utils.js.map +1 -1
- package/build-module/components/use-block-commands/index.js +28 -16
- package/build-module/components/use-block-commands/index.js.map +1 -1
- package/build-module/components/use-block-display-information/index.js +5 -2
- package/build-module/components/use-block-display-information/index.js.map +1 -1
- package/build-module/hooks/background.js +244 -0
- package/build-module/hooks/background.js.map +1 -0
- package/build-module/hooks/block-hooks.js +181 -0
- package/build-module/hooks/block-hooks.js.map +1 -0
- package/build-module/hooks/block-rename-ui.js +153 -0
- package/build-module/hooks/block-rename-ui.js.map +1 -0
- package/build-module/hooks/duotone.js +26 -39
- package/build-module/hooks/duotone.js.map +1 -1
- package/build-module/hooks/index.js +2 -2
- package/build-module/hooks/index.js.map +1 -1
- package/build-module/hooks/layout.js +33 -16
- package/build-module/hooks/layout.js.map +1 -1
- package/build-module/hooks/position.js +4 -2
- package/build-module/hooks/position.js.map +1 -1
- package/build-module/hooks/style.js +10 -3
- package/build-module/hooks/style.js.map +1 -1
- package/build-module/private-apis.js +2 -0
- package/build-module/private-apis.js.map +1 -1
- package/build-module/store/actions.js +33 -10
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/private-actions.js +39 -8
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/store/private-selectors.js +21 -0
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/reducer.js +41 -1
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +78 -22
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/store/utils.js +0 -4
- package/build-module/store/utils.js.map +1 -1
- package/build-style/content-rtl.css +0 -1
- package/build-style/content.css +0 -1
- package/build-style/style-rtl.css +170 -127
- package/build-style/style.css +170 -127
- package/package.json +32 -32
- package/src/components/block-canvas/index.js +108 -0
- package/src/components/block-inspector/index.js +5 -1
- package/src/components/block-list/content.scss +0 -1
- package/src/components/block-patterns-list/index.js +32 -7
- package/src/components/block-patterns-list/style.scss +26 -9
- package/src/components/block-patterns-paging/index.js +92 -0
- package/src/components/block-patterns-paging/style.scss +42 -0
- package/src/components/block-settings-menu/block-settings-dropdown.js +44 -0
- package/src/components/block-settings-menu-controls/index.js +4 -9
- package/src/components/block-styles/index.js +1 -0
- package/src/components/block-styles/style.scss +3 -3
- package/src/components/block-toolbar/block-toolbar-menu.native.js +1 -6
- package/src/components/block-tools/block-contextual-toolbar.js +16 -5
- package/src/components/block-tools/block-selection-button.js +9 -1
- package/src/components/block-tools/style.scss +0 -98
- package/src/components/border-radius-control/input-controls.js +1 -1
- package/src/components/border-radius-control/linked-button.js +8 -11
- package/src/components/color-palette/test/__snapshots__/control.js.snap +34 -21
- package/src/components/colors/with-colors.js +3 -2
- package/src/components/convert-to-group-buttons/use-convert-to-group-button-props.js +8 -35
- package/src/components/default-block-appender/index.native.js +26 -3
- package/src/components/duotone/utils.js +65 -0
- package/src/components/editor-styles/index.js +32 -23
- package/src/components/global-styles/hooks.js +4 -112
- package/src/components/global-styles/image-settings-panel.js +71 -0
- package/src/components/global-styles/index.js +4 -3
- package/src/components/global-styles/use-global-styles-output.js +25 -16
- package/src/components/global-styles/utils.js +1 -2
- package/src/components/iframe/index.js +72 -33
- package/src/components/image-editor/use-save-image.js +2 -9
- package/src/components/image-editor/use-transform-image.js +9 -9
- package/src/components/index.js +1 -1
- package/src/components/index.native.js +2 -2
- package/src/components/inner-blocks/use-nested-settings-update.js +15 -10
- package/src/components/inserter/block-patterns-explorer/explorer.js +17 -5
- package/src/components/inserter/block-patterns-explorer/patterns-list.js +109 -40
- package/src/components/inserter/block-patterns-explorer/sidebar.js +23 -8
- package/src/components/inserter/block-patterns-source-filter.js +40 -0
- package/src/components/inserter/block-patterns-sync-filter.js +35 -0
- package/src/components/inserter/block-patterns-tab.js +168 -57
- package/src/components/inserter/hooks/use-patterns-paging.js +65 -0
- package/src/components/inserter/hooks/use-patterns-state.js +27 -16
- package/src/components/inserter/menu.js +15 -17
- package/src/components/inserter/search-results.js +6 -4
- package/src/components/inserter/style.scss +23 -2
- package/src/components/inserter/tabs.js +2 -12
- package/src/components/inserter/test/index.native.js +8 -12
- package/src/components/inspector-controls/block-support-slot-container.js +19 -3
- package/src/components/inspector-controls/fill.js +28 -14
- package/src/components/inspector-controls/groups.js +6 -2
- package/src/components/inspector-controls/slot.js +28 -3
- package/src/components/inspector-controls-tabs/styles-tab.js +4 -0
- package/src/components/link-control/index.js +13 -0
- package/src/components/link-control/style.scss +23 -2
- package/src/components/link-control/test/index.js +88 -6
- package/src/components/list-view/block-select-button.js +1 -3
- package/src/components/list-view/block.js +19 -1
- package/src/components/list-view/style.scss +1 -2
- package/src/components/list-view/use-block-selection.js +38 -32
- package/src/components/media-placeholder/README.md +2 -2
- package/src/components/media-placeholder/index.js +2 -2
- package/src/components/media-placeholder/index.native.js +11 -12
- package/src/components/media-replace-flow/index.js +2 -2
- package/src/components/media-replace-flow/test/index.js +5 -23
- package/src/components/media-upload/README.md +3 -2
- package/src/components/media-upload/constants.js +15 -0
- package/src/components/media-upload/index.native.js +66 -40
- package/src/components/media-upload/style.native.scss +4 -0
- package/src/components/media-upload/test/index.native.js +2 -2
- package/src/components/preview-options/README.md +7 -0
- package/src/components/preview-options/index.js +1 -1
- package/src/components/rich-text/index.js +48 -44
- package/src/components/rich-text/index.native.js +14 -42
- package/src/components/rich-text/multiline.js +121 -0
- package/src/components/rich-text/split-value.js +10 -35
- package/src/components/rich-text/use-enter.js +32 -42
- package/src/components/rich-text/use-paste-handler.js +16 -40
- package/src/components/spacing-sizes-control/style.scss +5 -7
- package/src/components/spacing-sizes-control/utils.js +1 -2
- package/src/components/use-block-commands/index.js +28 -20
- package/src/components/use-block-display-information/index.js +3 -0
- package/src/hooks/background.js +288 -0
- package/src/hooks/background.scss +57 -0
- package/src/hooks/block-hooks.js +257 -0
- package/src/hooks/block-hooks.scss +16 -0
- package/src/hooks/block-rename-ui.js +230 -0
- package/src/hooks/block-rename-ui.scss +3 -0
- package/src/hooks/duotone.js +42 -43
- package/src/hooks/index.js +2 -2
- package/src/hooks/layout.js +31 -33
- package/src/hooks/position.js +4 -3
- package/src/hooks/style.js +11 -2
- package/src/hooks/test/align.native.js +4 -3
- package/src/private-apis.js +2 -0
- package/src/store/actions.js +52 -10
- package/src/store/private-actions.js +37 -6
- package/src/store/private-selectors.js +21 -0
- package/src/store/reducer.js +38 -0
- package/src/store/selectors.js +107 -26
- package/src/store/test/actions.js +19 -8
- package/src/store/test/private-actions.js +17 -0
- package/src/store/test/reducer.js +25 -0
- package/src/store/test/selectors.js +130 -123
- package/src/store/utils.js +3 -10
- package/src/style.scss +4 -0
- package/build/components/duotone/components.js +0 -135
- package/build/components/duotone/components.js.map +0 -1
- package/build/components/duotone/index.js +0 -38
- package/build/components/duotone/index.js.map +0 -1
- package/build/components/global-styles/behaviors-panel.js +0 -64
- package/build/components/global-styles/behaviors-panel.js.map +0 -1
- package/build/components/inserter/reusable-blocks-tab.js +0 -85
- package/build/components/inserter/reusable-blocks-tab.js.map +0 -1
- package/build/hooks/auto-inserting-blocks.js +0 -174
- package/build/hooks/auto-inserting-blocks.js.map +0 -1
- package/build/hooks/behaviors.js +0 -173
- package/build/hooks/behaviors.js.map +0 -1
- package/build-module/components/duotone/components.js +0 -126
- package/build-module/components/duotone/components.js.map +0 -1
- package/build-module/components/duotone/index.js +0 -3
- package/build-module/components/duotone/index.js.map +0 -1
- package/build-module/components/global-styles/behaviors-panel.js +0 -57
- package/build-module/components/global-styles/behaviors-panel.js.map +0 -1
- package/build-module/components/inserter/reusable-blocks-tab.js +0 -76
- package/build-module/components/inserter/reusable-blocks-tab.js.map +0 -1
- package/build-module/hooks/auto-inserting-blocks.js +0 -167
- package/build-module/hooks/auto-inserting-blocks.js.map +0 -1
- package/build-module/hooks/behaviors.js +0 -166
- package/build-module/hooks/behaviors.js.map +0 -1
- package/src/components/duotone/components.js +0 -133
- package/src/components/duotone/index.js +0 -7
- package/src/components/global-styles/behaviors-panel.js +0 -71
- package/src/components/inserter/reusable-blocks-tab.js +0 -84
- package/src/components/inserter/test/reusable-blocks-tab.js +0 -73
- package/src/hooks/auto-inserting-blocks.js +0 -232
- package/src/hooks/behaviors.js +0 -206
|
@@ -1,174 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.withAutoInsertingBlocks = void 0;
|
|
7
|
-
var _element = require("@wordpress/element");
|
|
8
|
-
var _i18n = require("@wordpress/i18n");
|
|
9
|
-
var _hooks = require("@wordpress/hooks");
|
|
10
|
-
var _components = require("@wordpress/components");
|
|
11
|
-
var _compose = require("@wordpress/compose");
|
|
12
|
-
var _blocks = require("@wordpress/blocks");
|
|
13
|
-
var _data = require("@wordpress/data");
|
|
14
|
-
var _components2 = require("../components");
|
|
15
|
-
var _store = require("../store");
|
|
16
|
-
/**
|
|
17
|
-
* WordPress dependencies
|
|
18
|
-
*/
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* Internal dependencies
|
|
22
|
-
*/
|
|
23
|
-
|
|
24
|
-
function AutoInsertingBlocksControl(props) {
|
|
25
|
-
const {
|
|
26
|
-
autoInsertedBlocksForCurrentBlock,
|
|
27
|
-
groupedAutoInsertedBlocks
|
|
28
|
-
} = (0, _data.useSelect)(select => {
|
|
29
|
-
const {
|
|
30
|
-
getBlockTypes
|
|
31
|
-
} = select(_blocks.store);
|
|
32
|
-
const _autoInsertedBlocksForCurrentBlock = getBlockTypes()?.filter(({
|
|
33
|
-
autoInsert
|
|
34
|
-
}) => autoInsert && props.blockName in autoInsert);
|
|
35
|
-
|
|
36
|
-
// Group by block namespace (i.e. prefix before the slash).
|
|
37
|
-
const _groupedAutoInsertedBlocks = _autoInsertedBlocksForCurrentBlock?.reduce((groups, block) => {
|
|
38
|
-
const [namespace] = block.name.split('/');
|
|
39
|
-
if (!groups[namespace]) {
|
|
40
|
-
groups[namespace] = [];
|
|
41
|
-
}
|
|
42
|
-
groups[namespace].push(block);
|
|
43
|
-
return groups;
|
|
44
|
-
}, {});
|
|
45
|
-
return {
|
|
46
|
-
autoInsertedBlocksForCurrentBlock: _autoInsertedBlocksForCurrentBlock,
|
|
47
|
-
groupedAutoInsertedBlocks: _groupedAutoInsertedBlocks
|
|
48
|
-
};
|
|
49
|
-
}, [props.blockName]);
|
|
50
|
-
const {
|
|
51
|
-
autoInsertedBlockClientIds,
|
|
52
|
-
blockIndex,
|
|
53
|
-
rootClientId,
|
|
54
|
-
innerBlocksLength
|
|
55
|
-
} = (0, _data.useSelect)(select => {
|
|
56
|
-
const {
|
|
57
|
-
getBlock,
|
|
58
|
-
getBlockIndex,
|
|
59
|
-
getBlockRootClientId
|
|
60
|
-
} = select(_store.store);
|
|
61
|
-
const _rootClientId = getBlockRootClientId(props.clientId);
|
|
62
|
-
const _autoInsertedBlockClientIds = autoInsertedBlocksForCurrentBlock.reduce((clientIds, block) => {
|
|
63
|
-
const relativePosition = block?.autoInsert?.[props.blockName];
|
|
64
|
-
let candidates;
|
|
65
|
-
switch (relativePosition) {
|
|
66
|
-
case 'before':
|
|
67
|
-
case 'after':
|
|
68
|
-
// Any of the current block's siblings (with the right block type) qualifies
|
|
69
|
-
// as an auto-inserted block (inserted `before` or `after` the current one),
|
|
70
|
-
// as the block might've been auto-inserted and then moved around a bit by the user.
|
|
71
|
-
candidates = getBlock(_rootClientId)?.innerBlocks;
|
|
72
|
-
break;
|
|
73
|
-
case 'first_child':
|
|
74
|
-
case 'last_child':
|
|
75
|
-
// Any of the current block's child blocks (with the right block type) qualifies
|
|
76
|
-
// as an auto-inserted first or last child block, as the block might've been
|
|
77
|
-
// auto-inserted and then moved around a bit by the user.
|
|
78
|
-
candidates = getBlock(props.clientId).innerBlocks;
|
|
79
|
-
break;
|
|
80
|
-
}
|
|
81
|
-
const autoInsertedBlock = candidates?.find(({
|
|
82
|
-
name
|
|
83
|
-
}) => name === block.name);
|
|
84
|
-
if (autoInsertedBlock) {
|
|
85
|
-
clientIds[block.name] = autoInsertedBlock.clientId;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
// TOOD: If no auto-inserted block was found in any of its designated locations,
|
|
89
|
-
// we want to check if it's present elsewhere in the block tree.
|
|
90
|
-
// If it is, we'd consider it manually inserted and would want to remove the
|
|
91
|
-
// corresponding toggle from the block inspector panel.
|
|
92
|
-
|
|
93
|
-
return clientIds;
|
|
94
|
-
}, {});
|
|
95
|
-
return {
|
|
96
|
-
blockIndex: getBlockIndex(props.clientId),
|
|
97
|
-
innerBlocksLength: getBlock(props.clientId)?.innerBlocks?.length,
|
|
98
|
-
rootClientId: _rootClientId,
|
|
99
|
-
autoInsertedBlockClientIds: _autoInsertedBlockClientIds
|
|
100
|
-
};
|
|
101
|
-
}, [autoInsertedBlocksForCurrentBlock, props.blockName, props.clientId]);
|
|
102
|
-
const {
|
|
103
|
-
insertBlock,
|
|
104
|
-
removeBlock
|
|
105
|
-
} = (0, _data.useDispatch)(_store.store);
|
|
106
|
-
if (!autoInsertedBlocksForCurrentBlock.length) {
|
|
107
|
-
return null;
|
|
108
|
-
}
|
|
109
|
-
const insertBlockIntoDesignatedLocation = (block, relativePosition) => {
|
|
110
|
-
switch (relativePosition) {
|
|
111
|
-
case 'before':
|
|
112
|
-
case 'after':
|
|
113
|
-
insertBlock(block, relativePosition === 'after' ? blockIndex + 1 : blockIndex, rootClientId,
|
|
114
|
-
// Insert as a child of the current block's parent
|
|
115
|
-
false);
|
|
116
|
-
break;
|
|
117
|
-
case 'first_child':
|
|
118
|
-
case 'last_child':
|
|
119
|
-
insertBlock(block,
|
|
120
|
-
// TODO: It'd be great if insertBlock() would accept negative indices for insertion.
|
|
121
|
-
relativePosition === 'first_child' ? 0 : innerBlocksLength, props.clientId,
|
|
122
|
-
// Insert as a child of the current block.
|
|
123
|
-
false);
|
|
124
|
-
break;
|
|
125
|
-
}
|
|
126
|
-
};
|
|
127
|
-
return (0, _element.createElement)(_components2.InspectorControls, null, (0, _element.createElement)(_components.PanelBody, {
|
|
128
|
-
title: (0, _i18n.__)('Plugins'),
|
|
129
|
-
initialOpen: true
|
|
130
|
-
}, Object.keys(groupedAutoInsertedBlocks).map(vendor => {
|
|
131
|
-
return (0, _element.createElement)(_element.Fragment, {
|
|
132
|
-
key: vendor
|
|
133
|
-
}, (0, _element.createElement)("h3", null, vendor), groupedAutoInsertedBlocks[vendor].map(block => {
|
|
134
|
-
// TODO: Display block icon.
|
|
135
|
-
// <BlockIcon icon={ block.icon } />
|
|
136
|
-
|
|
137
|
-
const checked = (block.name in autoInsertedBlockClientIds);
|
|
138
|
-
return (0, _element.createElement)(_components.ToggleControl, {
|
|
139
|
-
checked: checked,
|
|
140
|
-
key: block.title,
|
|
141
|
-
label: block.title,
|
|
142
|
-
onChange: () => {
|
|
143
|
-
if (!checked) {
|
|
144
|
-
// Create and insert block.
|
|
145
|
-
const relativePosition = block.autoInsert[props.blockName];
|
|
146
|
-
insertBlockIntoDesignatedLocation((0, _blocks.createBlock)(block.name), relativePosition);
|
|
147
|
-
return;
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
// Remove block.
|
|
151
|
-
const clientId = autoInsertedBlockClientIds[block.name];
|
|
152
|
-
removeBlock(clientId, false);
|
|
153
|
-
}
|
|
154
|
-
});
|
|
155
|
-
}));
|
|
156
|
-
})));
|
|
157
|
-
}
|
|
158
|
-
const withAutoInsertingBlocks = (0, _compose.createHigherOrderComponent)(BlockEdit => {
|
|
159
|
-
return props => {
|
|
160
|
-
const blockEdit = (0, _element.createElement)(BlockEdit, {
|
|
161
|
-
key: "edit",
|
|
162
|
-
...props
|
|
163
|
-
});
|
|
164
|
-
return (0, _element.createElement)(_element.Fragment, null, blockEdit, (0, _element.createElement)(AutoInsertingBlocksControl, {
|
|
165
|
-
blockName: props.name,
|
|
166
|
-
clientId: props.clientId
|
|
167
|
-
}));
|
|
168
|
-
};
|
|
169
|
-
}, 'withAutoInsertingBlocks');
|
|
170
|
-
exports.withAutoInsertingBlocks = withAutoInsertingBlocks;
|
|
171
|
-
if (window?.__experimentalAutoInsertingBlocks) {
|
|
172
|
-
(0, _hooks.addFilter)('editor.BlockEdit', 'core/auto-inserting-blocks/with-inspector-control', withAutoInsertingBlocks);
|
|
173
|
-
}
|
|
174
|
-
//# sourceMappingURL=auto-inserting-blocks.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_element","require","_i18n","_hooks","_components","_compose","_blocks","_data","_components2","_store","AutoInsertingBlocksControl","props","autoInsertedBlocksForCurrentBlock","groupedAutoInsertedBlocks","useSelect","select","getBlockTypes","blocksStore","_autoInsertedBlocksForCurrentBlock","filter","autoInsert","blockName","_groupedAutoInsertedBlocks","reduce","groups","block","namespace","name","split","push","autoInsertedBlockClientIds","blockIndex","rootClientId","innerBlocksLength","getBlock","getBlockIndex","getBlockRootClientId","blockEditorStore","_rootClientId","clientId","_autoInsertedBlockClientIds","clientIds","relativePosition","candidates","innerBlocks","autoInsertedBlock","find","length","insertBlock","removeBlock","useDispatch","insertBlockIntoDesignatedLocation","createElement","InspectorControls","PanelBody","title","__","initialOpen","Object","keys","map","vendor","Fragment","key","checked","ToggleControl","label","onChange","createBlock","withAutoInsertingBlocks","createHigherOrderComponent","BlockEdit","blockEdit","exports","window","__experimentalAutoInsertingBlocks","addFilter"],"sources":["@wordpress/block-editor/src/hooks/auto-inserting-blocks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { addFilter } from '@wordpress/hooks';\nimport { Fragment } from '@wordpress/element';\nimport { PanelBody, ToggleControl } from '@wordpress/components';\nimport { createHigherOrderComponent } from '@wordpress/compose';\nimport { createBlock, store as blocksStore } from '@wordpress/blocks';\nimport { useDispatch, useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { InspectorControls } from '../components';\nimport { store as blockEditorStore } from '../store';\n\nfunction AutoInsertingBlocksControl( props ) {\n\tconst { autoInsertedBlocksForCurrentBlock, groupedAutoInsertedBlocks } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst { getBlockTypes } = select( blocksStore );\n\t\t\t\tconst _autoInsertedBlocksForCurrentBlock =\n\t\t\t\t\tgetBlockTypes()?.filter(\n\t\t\t\t\t\t( { autoInsert } ) =>\n\t\t\t\t\t\t\tautoInsert && props.blockName in autoInsert\n\t\t\t\t\t);\n\n\t\t\t\t// Group by block namespace (i.e. prefix before the slash).\n\t\t\t\tconst _groupedAutoInsertedBlocks =\n\t\t\t\t\t_autoInsertedBlocksForCurrentBlock?.reduce(\n\t\t\t\t\t\t( groups, block ) => {\n\t\t\t\t\t\t\tconst [ namespace ] = block.name.split( '/' );\n\t\t\t\t\t\t\tif ( ! groups[ namespace ] ) {\n\t\t\t\t\t\t\t\tgroups[ namespace ] = [];\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tgroups[ namespace ].push( block );\n\t\t\t\t\t\t\treturn groups;\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{}\n\t\t\t\t\t);\n\n\t\t\t\treturn {\n\t\t\t\t\tautoInsertedBlocksForCurrentBlock:\n\t\t\t\t\t\t_autoInsertedBlocksForCurrentBlock,\n\t\t\t\t\tgroupedAutoInsertedBlocks: _groupedAutoInsertedBlocks,\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ props.blockName ]\n\t\t);\n\n\tconst {\n\t\tautoInsertedBlockClientIds,\n\t\tblockIndex,\n\t\trootClientId,\n\t\tinnerBlocksLength,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getBlock, getBlockIndex, getBlockRootClientId } =\n\t\t\t\tselect( blockEditorStore );\n\t\t\tconst _rootClientId = getBlockRootClientId( props.clientId );\n\n\t\t\tconst _autoInsertedBlockClientIds =\n\t\t\t\tautoInsertedBlocksForCurrentBlock.reduce(\n\t\t\t\t\t( clientIds, block ) => {\n\t\t\t\t\t\tconst relativePosition =\n\t\t\t\t\t\t\tblock?.autoInsert?.[ props.blockName ];\n\t\t\t\t\t\tlet candidates;\n\n\t\t\t\t\t\tswitch ( relativePosition ) {\n\t\t\t\t\t\t\tcase 'before':\n\t\t\t\t\t\t\tcase 'after':\n\t\t\t\t\t\t\t\t// Any of the current block's siblings (with the right block type) qualifies\n\t\t\t\t\t\t\t\t// as an auto-inserted block (inserted `before` or `after` the current one),\n\t\t\t\t\t\t\t\t// as the block might've been auto-inserted and then moved around a bit by the user.\n\t\t\t\t\t\t\t\tcandidates =\n\t\t\t\t\t\t\t\t\tgetBlock( _rootClientId )?.innerBlocks;\n\t\t\t\t\t\t\t\tbreak;\n\n\t\t\t\t\t\t\tcase 'first_child':\n\t\t\t\t\t\t\tcase 'last_child':\n\t\t\t\t\t\t\t\t// Any of the current block's child blocks (with the right block type) qualifies\n\t\t\t\t\t\t\t\t// as an auto-inserted first or last child block, as the block might've been\n\t\t\t\t\t\t\t\t// auto-inserted and then moved around a bit by the user.\n\t\t\t\t\t\t\t\tcandidates = getBlock(\n\t\t\t\t\t\t\t\t\tprops.clientId\n\t\t\t\t\t\t\t\t).innerBlocks;\n\t\t\t\t\t\t\t\tbreak;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst autoInsertedBlock = candidates?.find(\n\t\t\t\t\t\t\t( { name } ) => name === block.name\n\t\t\t\t\t\t);\n\n\t\t\t\t\t\tif ( autoInsertedBlock ) {\n\t\t\t\t\t\t\tclientIds[ block.name ] =\n\t\t\t\t\t\t\t\tautoInsertedBlock.clientId;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// TOOD: If no auto-inserted block was found in any of its designated locations,\n\t\t\t\t\t\t// we want to check if it's present elsewhere in the block tree.\n\t\t\t\t\t\t// If it is, we'd consider it manually inserted and would want to remove the\n\t\t\t\t\t\t// corresponding toggle from the block inspector panel.\n\n\t\t\t\t\t\treturn clientIds;\n\t\t\t\t\t},\n\t\t\t\t\t{}\n\t\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tblockIndex: getBlockIndex( props.clientId ),\n\t\t\t\tinnerBlocksLength: getBlock( props.clientId )?.innerBlocks\n\t\t\t\t\t?.length,\n\t\t\t\trootClientId: _rootClientId,\n\t\t\t\tautoInsertedBlockClientIds: _autoInsertedBlockClientIds,\n\t\t\t};\n\t\t},\n\t\t[ autoInsertedBlocksForCurrentBlock, props.blockName, props.clientId ]\n\t);\n\n\tconst { insertBlock, removeBlock } = useDispatch( blockEditorStore );\n\n\tif ( ! autoInsertedBlocksForCurrentBlock.length ) {\n\t\treturn null;\n\t}\n\n\tconst insertBlockIntoDesignatedLocation = ( block, relativePosition ) => {\n\t\tswitch ( relativePosition ) {\n\t\t\tcase 'before':\n\t\t\tcase 'after':\n\t\t\t\tinsertBlock(\n\t\t\t\t\tblock,\n\t\t\t\t\trelativePosition === 'after' ? blockIndex + 1 : blockIndex,\n\t\t\t\t\trootClientId, // Insert as a child of the current block's parent\n\t\t\t\t\tfalse\n\t\t\t\t);\n\t\t\t\tbreak;\n\n\t\t\tcase 'first_child':\n\t\t\tcase 'last_child':\n\t\t\t\tinsertBlock(\n\t\t\t\t\tblock,\n\t\t\t\t\t// TODO: It'd be great if insertBlock() would accept negative indices for insertion.\n\t\t\t\t\trelativePosition === 'first_child' ? 0 : innerBlocksLength,\n\t\t\t\t\tprops.clientId, // Insert as a child of the current block.\n\t\t\t\t\tfalse\n\t\t\t\t);\n\t\t\t\tbreak;\n\t\t}\n\t};\n\n\treturn (\n\t\t<InspectorControls>\n\t\t\t<PanelBody title={ __( 'Plugins' ) } initialOpen={ true }>\n\t\t\t\t{ Object.keys( groupedAutoInsertedBlocks ).map( ( vendor ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<Fragment key={ vendor }>\n\t\t\t\t\t\t\t<h3>{ vendor }</h3>\n\t\t\t\t\t\t\t{ groupedAutoInsertedBlocks[ vendor ].map(\n\t\t\t\t\t\t\t\t( block ) => {\n\t\t\t\t\t\t\t\t\t// TODO: Display block icon.\n\t\t\t\t\t\t\t\t\t// <BlockIcon icon={ block.icon } />\n\n\t\t\t\t\t\t\t\t\tconst checked =\n\t\t\t\t\t\t\t\t\t\tblock.name in\n\t\t\t\t\t\t\t\t\t\tautoInsertedBlockClientIds;\n\n\t\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t\t\t\tchecked={ checked }\n\t\t\t\t\t\t\t\t\t\t\tkey={ block.title }\n\t\t\t\t\t\t\t\t\t\t\tlabel={ block.title }\n\t\t\t\t\t\t\t\t\t\t\tonChange={ () => {\n\t\t\t\t\t\t\t\t\t\t\t\tif ( ! checked ) {\n\t\t\t\t\t\t\t\t\t\t\t\t\t// Create and insert block.\n\t\t\t\t\t\t\t\t\t\t\t\t\tconst relativePosition =\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tblock.autoInsert[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tprops.blockName\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\t\t\t\t\t\t\tinsertBlockIntoDesignatedLocation(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcreateBlock(\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tblock.name\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t\t\t\t\t\trelativePosition\n\t\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\t\t\t\t\t// Remove block.\n\t\t\t\t\t\t\t\t\t\t\t\tconst clientId =\n\t\t\t\t\t\t\t\t\t\t\t\t\tautoInsertedBlockClientIds[\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tblock.name\n\t\t\t\t\t\t\t\t\t\t\t\t\t];\n\t\t\t\t\t\t\t\t\t\t\t\tremoveBlock( clientId, false );\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}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Fragment>\n\t\t\t\t\t);\n\t\t\t\t} ) }\n\t\t\t</PanelBody>\n\t\t</InspectorControls>\n\t);\n}\n\nexport const withAutoInsertingBlocks = createHigherOrderComponent(\n\t( BlockEdit ) => {\n\t\treturn ( props ) => {\n\t\t\tconst blockEdit = <BlockEdit key=\"edit\" { ...props } />;\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t{ blockEdit }\n\t\t\t\t\t<AutoInsertingBlocksControl\n\t\t\t\t\t\tblockName={ props.name }\n\t\t\t\t\t\tclientId={ props.clientId }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t);\n\t\t};\n\t},\n\t'withAutoInsertingBlocks'\n);\n\nif ( window?.__experimentalAutoInsertingBlocks ) {\n\taddFilter(\n\t\t'editor.BlockEdit',\n\t\t'core/auto-inserting-blocks/with-inspector-control',\n\t\twithAutoInsertingBlocks\n\t);\n}\n"],"mappings":"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"}
|
package/build/hooks/behaviors.js
DELETED
|
@@ -1,173 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.withBehaviors = void 0;
|
|
7
|
-
var _element = require("@wordpress/element");
|
|
8
|
-
var _hooks = require("@wordpress/hooks");
|
|
9
|
-
var _components = require("@wordpress/components");
|
|
10
|
-
var _i18n = require("@wordpress/i18n");
|
|
11
|
-
var _blocks = require("@wordpress/blocks");
|
|
12
|
-
var _compose = require("@wordpress/compose");
|
|
13
|
-
var _data = require("@wordpress/data");
|
|
14
|
-
var _store = require("../store");
|
|
15
|
-
var _components2 = require("../components");
|
|
16
|
-
/**
|
|
17
|
-
* WordPress dependencies
|
|
18
|
-
*/
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* Internal dependencies
|
|
22
|
-
*/
|
|
23
|
-
|
|
24
|
-
function BehaviorsControl({
|
|
25
|
-
blockName,
|
|
26
|
-
blockBehaviors,
|
|
27
|
-
onChangeBehavior,
|
|
28
|
-
onChangeAnimation,
|
|
29
|
-
disabled = false
|
|
30
|
-
}) {
|
|
31
|
-
const {
|
|
32
|
-
settings
|
|
33
|
-
} = (0, _data.useSelect)(select => {
|
|
34
|
-
const {
|
|
35
|
-
getSettings
|
|
36
|
-
} = select(_store.store);
|
|
37
|
-
return {
|
|
38
|
-
settings: getSettings()?.__experimentalFeatures?.blocks?.[blockName]?.behaviors || {}
|
|
39
|
-
};
|
|
40
|
-
}, [blockName]);
|
|
41
|
-
const defaultBehaviors = {
|
|
42
|
-
default: {
|
|
43
|
-
value: 'default',
|
|
44
|
-
label: (0, _i18n.__)('Default')
|
|
45
|
-
},
|
|
46
|
-
noBehaviors: {
|
|
47
|
-
value: '',
|
|
48
|
-
label: (0, _i18n.__)('No behaviors')
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
const behaviorsOptions = Object.entries(settings).filter(([behaviorName, behaviorValue]) => (0, _blocks.hasBlockSupport)(blockName, `behaviors.${behaviorName}`) && behaviorValue) // Filter out behaviors that are disabled.
|
|
52
|
-
.map(([behaviorName]) => ({
|
|
53
|
-
value: behaviorName,
|
|
54
|
-
// Capitalize the first letter of the behavior name.
|
|
55
|
-
label: `${behaviorName.charAt(0).toUpperCase()}${behaviorName.slice(1).toLowerCase()}`
|
|
56
|
-
}));
|
|
57
|
-
const options = [...Object.values(defaultBehaviors), ...behaviorsOptions];
|
|
58
|
-
const {
|
|
59
|
-
behaviors,
|
|
60
|
-
behaviorsValue
|
|
61
|
-
} = (0, _element.useMemo)(() => {
|
|
62
|
-
const mergedBehaviors = {
|
|
63
|
-
...(blockBehaviors || {})
|
|
64
|
-
};
|
|
65
|
-
let value = '';
|
|
66
|
-
if (blockBehaviors === undefined) {
|
|
67
|
-
value = 'default';
|
|
68
|
-
}
|
|
69
|
-
if (blockBehaviors?.lightbox.enabled) {
|
|
70
|
-
value = 'lightbox';
|
|
71
|
-
}
|
|
72
|
-
return {
|
|
73
|
-
behaviors: mergedBehaviors,
|
|
74
|
-
behaviorsValue: value
|
|
75
|
-
};
|
|
76
|
-
}, [blockBehaviors]);
|
|
77
|
-
|
|
78
|
-
// If every behavior is disabled, do not show the behaviors inspector control.
|
|
79
|
-
if (behaviorsOptions.length === 0) {
|
|
80
|
-
return null;
|
|
81
|
-
}
|
|
82
|
-
const helpText = disabled ? (0, _i18n.__)('The lightbox behavior is disabled for linked images.') : '';
|
|
83
|
-
return (0, _element.createElement)(_components2.InspectorControls, {
|
|
84
|
-
group: "advanced"
|
|
85
|
-
}, (0, _element.createElement)("div", null, (0, _element.createElement)(_components.SelectControl, {
|
|
86
|
-
label: (0, _i18n.__)('Behaviors')
|
|
87
|
-
// At the moment we are only supporting one behavior (Lightbox)
|
|
88
|
-
,
|
|
89
|
-
value: behaviorsValue,
|
|
90
|
-
options: options,
|
|
91
|
-
onChange: onChangeBehavior,
|
|
92
|
-
hideCancelButton: true,
|
|
93
|
-
help: helpText,
|
|
94
|
-
size: "__unstable-large",
|
|
95
|
-
disabled: disabled
|
|
96
|
-
}), behaviorsValue === 'lightbox' && (0, _element.createElement)(_components.SelectControl, {
|
|
97
|
-
label: (0, _i18n.__)('Animation')
|
|
98
|
-
// At the moment we are only supporting one behavior (Lightbox)
|
|
99
|
-
,
|
|
100
|
-
value: behaviors?.lightbox.animation ? behaviors?.lightbox.animation : '',
|
|
101
|
-
options: [{
|
|
102
|
-
value: 'zoom',
|
|
103
|
-
label: (0, _i18n.__)('Zoom')
|
|
104
|
-
}, {
|
|
105
|
-
value: 'fade',
|
|
106
|
-
label: (0, _i18n.__)('Fade')
|
|
107
|
-
}],
|
|
108
|
-
onChange: onChangeAnimation,
|
|
109
|
-
hideCancelButton: false,
|
|
110
|
-
size: "__unstable-large",
|
|
111
|
-
disabled: disabled
|
|
112
|
-
})));
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
/**
|
|
116
|
-
* Override the default edit UI to include a new block inspector control for
|
|
117
|
-
* assigning behaviors to blocks if behaviors are enabled in the theme.json.
|
|
118
|
-
*
|
|
119
|
-
* Currently, only the `core/image` block is supported.
|
|
120
|
-
*
|
|
121
|
-
* @param {WPComponent} BlockEdit Original component.
|
|
122
|
-
*
|
|
123
|
-
* @return {WPComponent} Wrapped component.
|
|
124
|
-
*/
|
|
125
|
-
const withBehaviors = (0, _compose.createHigherOrderComponent)(BlockEdit => {
|
|
126
|
-
return props => {
|
|
127
|
-
const blockEdit = (0, _element.createElement)(BlockEdit, {
|
|
128
|
-
key: "edit",
|
|
129
|
-
...props
|
|
130
|
-
});
|
|
131
|
-
// Only add behaviors to blocks with support.
|
|
132
|
-
if (!(0, _blocks.hasBlockSupport)(props.name, 'behaviors')) {
|
|
133
|
-
return blockEdit;
|
|
134
|
-
}
|
|
135
|
-
const blockHasLink = typeof props.attributes?.linkDestination !== 'undefined' && props.attributes?.linkDestination !== 'none';
|
|
136
|
-
return (0, _element.createElement)(_element.Fragment, null, blockEdit, (0, _element.createElement)(BehaviorsControl, {
|
|
137
|
-
blockName: props.name,
|
|
138
|
-
blockBehaviors: props.attributes.behaviors,
|
|
139
|
-
onChangeBehavior: nextValue => {
|
|
140
|
-
if (nextValue === 'default') {
|
|
141
|
-
props.setAttributes({
|
|
142
|
-
behaviors: undefined
|
|
143
|
-
});
|
|
144
|
-
} else {
|
|
145
|
-
// If the user selects something, it means that they want to
|
|
146
|
-
// change the default value (true) so we save it in the attributes.
|
|
147
|
-
props.setAttributes({
|
|
148
|
-
behaviors: {
|
|
149
|
-
lightbox: {
|
|
150
|
-
enabled: nextValue === 'lightbox',
|
|
151
|
-
animation: nextValue === 'lightbox' ? 'zoom' : ''
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
});
|
|
155
|
-
}
|
|
156
|
-
},
|
|
157
|
-
onChangeAnimation: nextValue => {
|
|
158
|
-
props.setAttributes({
|
|
159
|
-
behaviors: {
|
|
160
|
-
lightbox: {
|
|
161
|
-
enabled: props.attributes.behaviors.lightbox.enabled,
|
|
162
|
-
animation: nextValue
|
|
163
|
-
}
|
|
164
|
-
}
|
|
165
|
-
});
|
|
166
|
-
},
|
|
167
|
-
disabled: blockHasLink
|
|
168
|
-
}));
|
|
169
|
-
};
|
|
170
|
-
}, 'withBehaviors');
|
|
171
|
-
exports.withBehaviors = withBehaviors;
|
|
172
|
-
(0, _hooks.addFilter)('editor.BlockEdit', 'core/behaviors/with-inspector-control', withBehaviors);
|
|
173
|
-
//# sourceMappingURL=behaviors.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_element","require","_hooks","_components","_i18n","_blocks","_compose","_data","_store","_components2","BehaviorsControl","blockName","blockBehaviors","onChangeBehavior","onChangeAnimation","disabled","settings","useSelect","select","getSettings","blockEditorStore","__experimentalFeatures","blocks","behaviors","defaultBehaviors","default","value","label","__","noBehaviors","behaviorsOptions","Object","entries","filter","behaviorName","behaviorValue","hasBlockSupport","map","charAt","toUpperCase","slice","toLowerCase","options","values","behaviorsValue","useMemo","mergedBehaviors","undefined","lightbox","enabled","length","helpText","createElement","InspectorControls","group","SelectControl","onChange","hideCancelButton","help","size","animation","withBehaviors","createHigherOrderComponent","BlockEdit","props","blockEdit","key","name","blockHasLink","attributes","linkDestination","Fragment","nextValue","setAttributes","exports","addFilter"],"sources":["@wordpress/block-editor/src/hooks/behaviors.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { addFilter } from '@wordpress/hooks';\nimport { SelectControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { hasBlockSupport } from '@wordpress/blocks';\nimport { createHigherOrderComponent } from '@wordpress/compose';\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../store';\nimport { InspectorControls } from '../components';\n\nfunction BehaviorsControl( {\n\tblockName,\n\tblockBehaviors,\n\tonChangeBehavior,\n\tonChangeAnimation,\n\tdisabled = false,\n} ) {\n\tconst { settings } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getSettings } = select( blockEditorStore );\n\t\t\treturn {\n\t\t\t\tsettings:\n\t\t\t\t\tgetSettings()?.__experimentalFeatures?.blocks?.[ blockName ]\n\t\t\t\t\t\t?.behaviors || {},\n\t\t\t};\n\t\t},\n\t\t[ blockName ]\n\t);\n\n\tconst defaultBehaviors = {\n\t\tdefault: {\n\t\t\tvalue: 'default',\n\t\t\tlabel: __( 'Default' ),\n\t\t},\n\t\tnoBehaviors: {\n\t\t\tvalue: '',\n\t\t\tlabel: __( 'No behaviors' ),\n\t\t},\n\t};\n\tconst behaviorsOptions = Object.entries( settings )\n\t\t.filter(\n\t\t\t( [ behaviorName, behaviorValue ] ) =>\n\t\t\t\thasBlockSupport( blockName, `behaviors.${ behaviorName }` ) &&\n\t\t\t\tbehaviorValue\n\t\t) // Filter out behaviors that are disabled.\n\t\t.map( ( [ behaviorName ] ) => ( {\n\t\t\tvalue: behaviorName,\n\t\t\t// Capitalize the first letter of the behavior name.\n\t\t\tlabel: `${ behaviorName.charAt( 0 ).toUpperCase() }${ behaviorName\n\t\t\t\t.slice( 1 )\n\t\t\t\t.toLowerCase() }`,\n\t\t} ) );\n\tconst options = [\n\t\t...Object.values( defaultBehaviors ),\n\t\t...behaviorsOptions,\n\t];\n\n\tconst { behaviors, behaviorsValue } = useMemo( () => {\n\t\tconst mergedBehaviors = {\n\t\t\t...( blockBehaviors || {} ),\n\t\t};\n\n\t\tlet value = '';\n\t\tif ( blockBehaviors === undefined ) {\n\t\t\tvalue = 'default';\n\t\t}\n\t\tif ( blockBehaviors?.lightbox.enabled ) {\n\t\t\tvalue = 'lightbox';\n\t\t}\n\t\treturn {\n\t\t\tbehaviors: mergedBehaviors,\n\t\t\tbehaviorsValue: value,\n\t\t};\n\t}, [ blockBehaviors ] );\n\n\t// If every behavior is disabled, do not show the behaviors inspector control.\n\tif ( behaviorsOptions.length === 0 ) {\n\t\treturn null;\n\t}\n\n\tconst helpText = disabled\n\t\t? __( 'The lightbox behavior is disabled for linked images.' )\n\t\t: '';\n\n\treturn (\n\t\t<InspectorControls group=\"advanced\">\n\t\t\t<div>\n\t\t\t\t<SelectControl\n\t\t\t\t\tlabel={ __( 'Behaviors' ) }\n\t\t\t\t\t// At the moment we are only supporting one behavior (Lightbox)\n\t\t\t\t\tvalue={ behaviorsValue }\n\t\t\t\t\toptions={ options }\n\t\t\t\t\tonChange={ onChangeBehavior }\n\t\t\t\t\thideCancelButton={ true }\n\t\t\t\t\thelp={ helpText }\n\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\tdisabled={ disabled }\n\t\t\t\t/>\n\t\t\t\t{ behaviorsValue === 'lightbox' && (\n\t\t\t\t\t<SelectControl\n\t\t\t\t\t\tlabel={ __( 'Animation' ) }\n\t\t\t\t\t\t// At the moment we are only supporting one behavior (Lightbox)\n\t\t\t\t\t\tvalue={\n\t\t\t\t\t\t\tbehaviors?.lightbox.animation\n\t\t\t\t\t\t\t\t? behaviors?.lightbox.animation\n\t\t\t\t\t\t\t\t: ''\n\t\t\t\t\t\t}\n\t\t\t\t\t\toptions={ [\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvalue: 'zoom',\n\t\t\t\t\t\t\t\tlabel: __( 'Zoom' ),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tvalue: 'fade',\n\t\t\t\t\t\t\t\tlabel: __( 'Fade' ),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t] }\n\t\t\t\t\t\tonChange={ onChangeAnimation }\n\t\t\t\t\t\thideCancelButton={ false }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\tdisabled={ disabled }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</InspectorControls>\n\t);\n}\n\n/**\n * Override the default edit UI to include a new block inspector control for\n * assigning behaviors to blocks if behaviors are enabled in the theme.json.\n *\n * Currently, only the `core/image` block is supported.\n *\n * @param {WPComponent} BlockEdit Original component.\n *\n * @return {WPComponent} Wrapped component.\n */\nexport const withBehaviors = createHigherOrderComponent( ( BlockEdit ) => {\n\treturn ( props ) => {\n\t\tconst blockEdit = <BlockEdit key=\"edit\" { ...props } />;\n\t\t// Only add behaviors to blocks with support.\n\t\tif ( ! hasBlockSupport( props.name, 'behaviors' ) ) {\n\t\t\treturn blockEdit;\n\t\t}\n\t\tconst blockHasLink =\n\t\t\ttypeof props.attributes?.linkDestination !== 'undefined' &&\n\t\t\tprops.attributes?.linkDestination !== 'none';\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ blockEdit }\n\t\t\t\t<BehaviorsControl\n\t\t\t\t\tblockName={ props.name }\n\t\t\t\t\tblockBehaviors={ props.attributes.behaviors }\n\t\t\t\t\tonChangeBehavior={ ( nextValue ) => {\n\t\t\t\t\t\tif ( nextValue === 'default' ) {\n\t\t\t\t\t\t\tprops.setAttributes( {\n\t\t\t\t\t\t\t\tbehaviors: undefined,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// If the user selects something, it means that they want to\n\t\t\t\t\t\t\t// change the default value (true) so we save it in the attributes.\n\t\t\t\t\t\t\tprops.setAttributes( {\n\t\t\t\t\t\t\t\tbehaviors: {\n\t\t\t\t\t\t\t\t\tlightbox: {\n\t\t\t\t\t\t\t\t\t\tenabled: nextValue === 'lightbox',\n\t\t\t\t\t\t\t\t\t\tanimation:\n\t\t\t\t\t\t\t\t\t\t\tnextValue === 'lightbox'\n\t\t\t\t\t\t\t\t\t\t\t\t? 'zoom'\n\t\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}\n\t\t\t\t\t} }\n\t\t\t\t\tonChangeAnimation={ ( nextValue ) => {\n\t\t\t\t\t\tprops.setAttributes( {\n\t\t\t\t\t\t\tbehaviors: {\n\t\t\t\t\t\t\t\tlightbox: {\n\t\t\t\t\t\t\t\t\tenabled:\n\t\t\t\t\t\t\t\t\t\tprops.attributes.behaviors.lightbox\n\t\t\t\t\t\t\t\t\t\t\t.enabled,\n\t\t\t\t\t\t\t\t\tanimation: nextValue,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tdisabled={ blockHasLink }\n\t\t\t\t/>\n\t\t\t</>\n\t\t);\n\t};\n}, 'withBehaviors' );\n\naddFilter(\n\t'editor.BlockEdit',\n\t'core/behaviors/with-inspector-control',\n\twithBehaviors\n);\n"],"mappings":"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"}
|
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
import { createElement } from "@wordpress/element";
|
|
2
|
-
/**
|
|
3
|
-
* WordPress dependencies
|
|
4
|
-
*/
|
|
5
|
-
import { SVG } from '@wordpress/components';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Internal dependencies
|
|
9
|
-
*/
|
|
10
|
-
import { __unstableGetValuesFromColors as getValuesFromColors } from './index';
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* SVG and stylesheet needed for rendering the duotone filter.
|
|
14
|
-
*
|
|
15
|
-
* @param {Object} props Duotone props.
|
|
16
|
-
* @param {string} props.selector Selector to apply the filter to.
|
|
17
|
-
* @param {string} props.id Unique id for this duotone filter.
|
|
18
|
-
*
|
|
19
|
-
* @return {WPElement} Duotone element.
|
|
20
|
-
*/
|
|
21
|
-
export function DuotoneStylesheet({
|
|
22
|
-
selector,
|
|
23
|
-
id
|
|
24
|
-
}) {
|
|
25
|
-
const css = `
|
|
26
|
-
${selector} {
|
|
27
|
-
filter: url( #${id} );
|
|
28
|
-
}
|
|
29
|
-
`;
|
|
30
|
-
return createElement("style", null, css);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* Stylesheet for disabling a global styles duotone filter.
|
|
35
|
-
*
|
|
36
|
-
* @param {Object} props Duotone props.
|
|
37
|
-
* @param {string} props.selector Selector to disable the filter for.
|
|
38
|
-
*
|
|
39
|
-
* @return {WPElement} Filter none style element.
|
|
40
|
-
*/
|
|
41
|
-
export function DuotoneUnsetStylesheet({
|
|
42
|
-
selector
|
|
43
|
-
}) {
|
|
44
|
-
const css = `
|
|
45
|
-
${selector} {
|
|
46
|
-
filter: none;
|
|
47
|
-
}
|
|
48
|
-
`;
|
|
49
|
-
return createElement("style", null, css);
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* The SVG part of the duotone filter.
|
|
54
|
-
*
|
|
55
|
-
* @param {Object} props Duotone props.
|
|
56
|
-
* @param {string} props.id Unique id for this duotone filter.
|
|
57
|
-
* @param {string[]} props.colors Color strings from dark to light.
|
|
58
|
-
*
|
|
59
|
-
* @return {WPElement} Duotone SVG.
|
|
60
|
-
*/
|
|
61
|
-
export function DuotoneFilter({
|
|
62
|
-
id,
|
|
63
|
-
colors
|
|
64
|
-
}) {
|
|
65
|
-
const values = getValuesFromColors(colors);
|
|
66
|
-
return createElement(SVG, {
|
|
67
|
-
xmlnsXlink: "http://www.w3.org/1999/xlink",
|
|
68
|
-
viewBox: "0 0 0 0",
|
|
69
|
-
width: "0",
|
|
70
|
-
height: "0",
|
|
71
|
-
focusable: "false",
|
|
72
|
-
role: "none",
|
|
73
|
-
style: {
|
|
74
|
-
visibility: 'hidden',
|
|
75
|
-
position: 'absolute',
|
|
76
|
-
left: '-9999px',
|
|
77
|
-
overflow: 'hidden'
|
|
78
|
-
}
|
|
79
|
-
}, createElement("defs", null, createElement("filter", {
|
|
80
|
-
id: id
|
|
81
|
-
}, createElement("feColorMatrix", {
|
|
82
|
-
// Use sRGB instead of linearRGB so transparency looks correct.
|
|
83
|
-
colorInterpolationFilters: "sRGB",
|
|
84
|
-
type: "matrix"
|
|
85
|
-
// Use perceptual brightness to convert to grayscale.
|
|
86
|
-
,
|
|
87
|
-
values: " .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 .299 .587 .114 0 0 "
|
|
88
|
-
}), createElement("feComponentTransfer", {
|
|
89
|
-
// Use sRGB instead of linearRGB to be consistent with how CSS gradients work.
|
|
90
|
-
colorInterpolationFilters: "sRGB"
|
|
91
|
-
}, createElement("feFuncR", {
|
|
92
|
-
type: "table",
|
|
93
|
-
tableValues: values.r.join(' ')
|
|
94
|
-
}), createElement("feFuncG", {
|
|
95
|
-
type: "table",
|
|
96
|
-
tableValues: values.g.join(' ')
|
|
97
|
-
}), createElement("feFuncB", {
|
|
98
|
-
type: "table",
|
|
99
|
-
tableValues: values.b.join(' ')
|
|
100
|
-
}), createElement("feFuncA", {
|
|
101
|
-
type: "table",
|
|
102
|
-
tableValues: values.a.join(' ')
|
|
103
|
-
})), createElement("feComposite", {
|
|
104
|
-
// Re-mask the image with the original transparency since the feColorMatrix above loses that information.
|
|
105
|
-
in2: "SourceGraphic",
|
|
106
|
-
operator: "in"
|
|
107
|
-
}))));
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
/**
|
|
111
|
-
* SVG from a duotone preset
|
|
112
|
-
*
|
|
113
|
-
* @param {Object} props Duotone props.
|
|
114
|
-
* @param {Object} props.preset Duotone preset settings.
|
|
115
|
-
*
|
|
116
|
-
* @return {WPElement} Duotone element.
|
|
117
|
-
*/
|
|
118
|
-
export function PresetDuotoneFilter({
|
|
119
|
-
preset
|
|
120
|
-
}) {
|
|
121
|
-
return createElement(DuotoneFilter, {
|
|
122
|
-
id: `wp-duotone-${preset.slug}`,
|
|
123
|
-
colors: preset.colors
|
|
124
|
-
});
|
|
125
|
-
}
|
|
126
|
-
//# sourceMappingURL=components.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["SVG","__unstableGetValuesFromColors","getValuesFromColors","DuotoneStylesheet","selector","id","css","createElement","DuotoneUnsetStylesheet","DuotoneFilter","colors","values","xmlnsXlink","viewBox","width","height","focusable","role","style","visibility","position","left","overflow","colorInterpolationFilters","type","tableValues","r","join","g","b","a","in2","operator","PresetDuotoneFilter","preset","slug"],"sources":["@wordpress/block-editor/src/components/duotone/components.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { SVG } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { __unstableGetValuesFromColors as getValuesFromColors } from './index';\n\n/**\n * SVG and stylesheet needed for rendering the duotone filter.\n *\n * @param {Object} props Duotone props.\n * @param {string} props.selector Selector to apply the filter to.\n * @param {string} props.id Unique id for this duotone filter.\n *\n * @return {WPElement} Duotone element.\n */\nexport function DuotoneStylesheet( { selector, id } ) {\n\tconst css = `\n${ selector } {\n\tfilter: url( #${ id } );\n}\n`;\n\treturn <style>{ css }</style>;\n}\n\n/**\n * Stylesheet for disabling a global styles duotone filter.\n *\n * @param {Object} props Duotone props.\n * @param {string} props.selector Selector to disable the filter for.\n *\n * @return {WPElement} Filter none style element.\n */\nexport function DuotoneUnsetStylesheet( { selector } ) {\n\tconst css = `\n${ selector } {\n\tfilter: none;\n}\n`;\n\treturn <style>{ css }</style>;\n}\n\n/**\n * The SVG part of the duotone filter.\n *\n * @param {Object} props Duotone props.\n * @param {string} props.id Unique id for this duotone filter.\n * @param {string[]} props.colors Color strings from dark to light.\n *\n * @return {WPElement} Duotone SVG.\n */\nexport function DuotoneFilter( { id, colors } ) {\n\tconst values = getValuesFromColors( colors );\n\treturn (\n\t\t<SVG\n\t\t\txmlnsXlink=\"http://www.w3.org/1999/xlink\"\n\t\t\tviewBox=\"0 0 0 0\"\n\t\t\twidth=\"0\"\n\t\t\theight=\"0\"\n\t\t\tfocusable=\"false\"\n\t\t\trole=\"none\"\n\t\t\tstyle={ {\n\t\t\t\tvisibility: 'hidden',\n\t\t\t\tposition: 'absolute',\n\t\t\t\tleft: '-9999px',\n\t\t\t\toverflow: 'hidden',\n\t\t\t} }\n\t\t>\n\t\t\t<defs>\n\t\t\t\t<filter id={ id }>\n\t\t\t\t\t<feColorMatrix\n\t\t\t\t\t\t// Use sRGB instead of linearRGB so transparency looks correct.\n\t\t\t\t\t\tcolorInterpolationFilters=\"sRGB\"\n\t\t\t\t\t\ttype=\"matrix\"\n\t\t\t\t\t\t// Use perceptual brightness to convert to grayscale.\n\t\t\t\t\t\tvalues=\"\n\t\t\t\t\t\t\t.299 .587 .114 0 0\n\t\t\t\t\t\t\t.299 .587 .114 0 0\n\t\t\t\t\t\t\t.299 .587 .114 0 0\n\t\t\t\t\t\t\t.299 .587 .114 0 0\n\t\t\t\t\t\t\"\n\t\t\t\t\t/>\n\t\t\t\t\t<feComponentTransfer\n\t\t\t\t\t\t// Use sRGB instead of linearRGB to be consistent with how CSS gradients work.\n\t\t\t\t\t\tcolorInterpolationFilters=\"sRGB\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<feFuncR\n\t\t\t\t\t\t\ttype=\"table\"\n\t\t\t\t\t\t\ttableValues={ values.r.join( ' ' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<feFuncG\n\t\t\t\t\t\t\ttype=\"table\"\n\t\t\t\t\t\t\ttableValues={ values.g.join( ' ' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<feFuncB\n\t\t\t\t\t\t\ttype=\"table\"\n\t\t\t\t\t\t\ttableValues={ values.b.join( ' ' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<feFuncA\n\t\t\t\t\t\t\ttype=\"table\"\n\t\t\t\t\t\t\ttableValues={ values.a.join( ' ' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</feComponentTransfer>\n\t\t\t\t\t<feComposite\n\t\t\t\t\t\t// Re-mask the image with the original transparency since the feColorMatrix above loses that information.\n\t\t\t\t\t\tin2=\"SourceGraphic\"\n\t\t\t\t\t\toperator=\"in\"\n\t\t\t\t\t/>\n\t\t\t\t</filter>\n\t\t\t</defs>\n\t\t</SVG>\n\t);\n}\n\n/**\n * SVG from a duotone preset\n *\n * @param {Object} props Duotone props.\n * @param {Object} props.preset Duotone preset settings.\n *\n * @return {WPElement} Duotone element.\n */\nexport function PresetDuotoneFilter( { preset } ) {\n\treturn (\n\t\t<DuotoneFilter\n\t\t\tid={ `wp-duotone-${ preset.slug }` }\n\t\t\tcolors={ preset.colors }\n\t\t/>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,GAAG,QAAQ,uBAAuB;;AAE3C;AACA;AACA;AACA,SAASC,6BAA6B,IAAIC,mBAAmB,QAAQ,SAAS;;AAE9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,iBAAiBA,CAAE;EAAEC,QAAQ;EAAEC;AAAG,CAAC,EAAG;EACrD,MAAMC,GAAG,GAAI;AACd,EAAGF,QAAU;AACb,iBAAkBC,EAAI;AACtB;AACA,CAAC;EACA,OAAOE,aAAA,gBAASD,GAAY,CAAC;AAC9B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASE,sBAAsBA,CAAE;EAAEJ;AAAS,CAAC,EAAG;EACtD,MAAME,GAAG,GAAI;AACd,EAAGF,QAAU;AACb;AACA;AACA,CAAC;EACA,OAAOG,aAAA,gBAASD,GAAY,CAAC;AAC9B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASG,aAAaA,CAAE;EAAEJ,EAAE;EAAEK;AAAO,CAAC,EAAG;EAC/C,MAAMC,MAAM,GAAGT,mBAAmB,CAAEQ,MAAO,CAAC;EAC5C,OACCH,aAAA,CAACP,GAAG;IACHY,UAAU,EAAC,8BAA8B;IACzCC,OAAO,EAAC,SAAS;IACjBC,KAAK,EAAC,GAAG;IACTC,MAAM,EAAC,GAAG;IACVC,SAAS,EAAC,OAAO;IACjBC,IAAI,EAAC,MAAM;IACXC,KAAK,EAAG;MACPC,UAAU,EAAE,QAAQ;MACpBC,QAAQ,EAAE,UAAU;MACpBC,IAAI,EAAE,SAAS;MACfC,QAAQ,EAAE;IACX;EAAG,GAEHf,aAAA,eACCA,aAAA;IAAQF,EAAE,EAAGA;EAAI,GAChBE,aAAA;IACC;IACAgB,yBAAyB,EAAC,MAAM;IAChCC,IAAI,EAAC;IACL;IAAA;IACAb,MAAM,EAAC;EAKN,CACD,CAAC,EACFJ,aAAA;IACC;IACAgB,yBAAyB,EAAC;EAAM,GAEhChB,aAAA;IACCiB,IAAI,EAAC,OAAO;IACZC,WAAW,EAAGd,MAAM,CAACe,CAAC,CAACC,IAAI,CAAE,GAAI;EAAG,CACpC,CAAC,EACFpB,aAAA;IACCiB,IAAI,EAAC,OAAO;IACZC,WAAW,EAAGd,MAAM,CAACiB,CAAC,CAACD,IAAI,CAAE,GAAI;EAAG,CACpC,CAAC,EACFpB,aAAA;IACCiB,IAAI,EAAC,OAAO;IACZC,WAAW,EAAGd,MAAM,CAACkB,CAAC,CAACF,IAAI,CAAE,GAAI;EAAG,CACpC,CAAC,EACFpB,aAAA;IACCiB,IAAI,EAAC,OAAO;IACZC,WAAW,EAAGd,MAAM,CAACmB,CAAC,CAACH,IAAI,CAAE,GAAI;EAAG,CACpC,CACmB,CAAC,EACtBpB,aAAA;IACC;IACAwB,GAAG,EAAC,eAAe;IACnBC,QAAQ,EAAC;EAAI,CACb,CACM,CACH,CACF,CAAC;AAER;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,mBAAmBA,CAAE;EAAEC;AAAO,CAAC,EAAG;EACjD,OACC3B,aAAA,CAACE,aAAa;IACbJ,EAAE,EAAI,cAAc6B,MAAM,CAACC,IAAM,EAAG;IACpCzB,MAAM,EAAGwB,MAAM,CAACxB;EAAQ,CACxB,CAAC;AAEJ"}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export { getValuesFromColors as __unstableGetValuesFromColors } from './utils';
|
|
2
|
-
export { DuotoneFilter as __unstableDuotoneFilter, PresetDuotoneFilter as __unstablePresetDuotoneFilter, DuotoneStylesheet as __unstableDuotoneStylesheet, DuotoneUnsetStylesheet as __unstableDuotoneUnsetStylesheet } from './components';
|
|
3
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["getValuesFromColors","__unstableGetValuesFromColors","DuotoneFilter","__unstableDuotoneFilter","PresetDuotoneFilter","__unstablePresetDuotoneFilter","DuotoneStylesheet","__unstableDuotoneStylesheet","DuotoneUnsetStylesheet","__unstableDuotoneUnsetStylesheet"],"sources":["@wordpress/block-editor/src/components/duotone/index.js"],"sourcesContent":["export { getValuesFromColors as __unstableGetValuesFromColors } from './utils';\nexport {\n\tDuotoneFilter as __unstableDuotoneFilter,\n\tPresetDuotoneFilter as __unstablePresetDuotoneFilter,\n\tDuotoneStylesheet as __unstableDuotoneStylesheet,\n\tDuotoneUnsetStylesheet as __unstableDuotoneUnsetStylesheet,\n} from './components';\n"],"mappings":"AAAA,SAASA,mBAAmB,IAAIC,6BAA6B,QAAQ,SAAS;AAC9E,SACCC,aAAa,IAAIC,uBAAuB,EACxCC,mBAAmB,IAAIC,6BAA6B,EACpDC,iBAAiB,IAAIC,2BAA2B,EAChDC,sBAAsB,IAAIC,gCAAgC,QACpD,cAAc"}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { createElement } from "@wordpress/element";
|
|
2
|
-
/**
|
|
3
|
-
* WordPress dependencies
|
|
4
|
-
*/
|
|
5
|
-
import { SelectControl } from '@wordpress/components';
|
|
6
|
-
import { __ } from '@wordpress/i18n';
|
|
7
|
-
export default function ({
|
|
8
|
-
onChange,
|
|
9
|
-
value,
|
|
10
|
-
behaviors
|
|
11
|
-
}) {
|
|
12
|
-
const defaultBehaviors = {
|
|
13
|
-
default: {
|
|
14
|
-
value: 'default',
|
|
15
|
-
label: __('Default')
|
|
16
|
-
},
|
|
17
|
-
noBehaviors: {
|
|
18
|
-
value: '',
|
|
19
|
-
label: __('No behaviors')
|
|
20
|
-
}
|
|
21
|
-
};
|
|
22
|
-
const behaviorsOptions = Object.entries(behaviors).map(([behaviorName]) => ({
|
|
23
|
-
value: behaviorName,
|
|
24
|
-
// Capitalize the first letter of the behavior name.
|
|
25
|
-
label: `${behaviorName.charAt(0).toUpperCase()}${behaviorName.slice(1).toLowerCase()}`
|
|
26
|
-
}));
|
|
27
|
-
const options = [...Object.values(defaultBehaviors), ...behaviorsOptions];
|
|
28
|
-
const animations = [{
|
|
29
|
-
value: 'zoom',
|
|
30
|
-
label: __('Zoom')
|
|
31
|
-
}, {
|
|
32
|
-
value: 'fade',
|
|
33
|
-
label: __('Fade')
|
|
34
|
-
}];
|
|
35
|
-
return createElement("div", {
|
|
36
|
-
style: {
|
|
37
|
-
marginTop: '2rem'
|
|
38
|
-
}
|
|
39
|
-
}, createElement(SelectControl, {
|
|
40
|
-
label: __('Behaviors')
|
|
41
|
-
// At the moment we are only supporting one behavior (Lightbox)
|
|
42
|
-
,
|
|
43
|
-
value: value,
|
|
44
|
-
options: options,
|
|
45
|
-
onChange: onChange,
|
|
46
|
-
hideCancelButton: true,
|
|
47
|
-
size: "__unstable-large"
|
|
48
|
-
}), value === 'lightbox' && createElement(SelectControl, {
|
|
49
|
-
label: __('Animation'),
|
|
50
|
-
value: behaviors?.lightbox.animation ? behaviors?.lightbox.animation : '',
|
|
51
|
-
options: animations,
|
|
52
|
-
onChange: onChange,
|
|
53
|
-
hideCancelButton: false,
|
|
54
|
-
size: "__unstable-large"
|
|
55
|
-
}));
|
|
56
|
-
}
|
|
57
|
-
//# sourceMappingURL=behaviors-panel.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["SelectControl","__","onChange","value","behaviors","defaultBehaviors","default","label","noBehaviors","behaviorsOptions","Object","entries","map","behaviorName","charAt","toUpperCase","slice","toLowerCase","options","values","animations","createElement","style","marginTop","hideCancelButton","size","lightbox","animation"],"sources":["@wordpress/block-editor/src/components/global-styles/behaviors-panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { SelectControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\nexport default function ( { onChange, value, behaviors } ) {\n\tconst defaultBehaviors = {\n\t\tdefault: {\n\t\t\tvalue: 'default',\n\t\t\tlabel: __( 'Default' ),\n\t\t},\n\t\tnoBehaviors: {\n\t\t\tvalue: '',\n\t\t\tlabel: __( 'No behaviors' ),\n\t\t},\n\t};\n\n\tconst behaviorsOptions = Object.entries( behaviors ).map(\n\t\t( [ behaviorName ] ) => ( {\n\t\t\tvalue: behaviorName,\n\t\t\t// Capitalize the first letter of the behavior name.\n\t\t\tlabel: `${ behaviorName.charAt( 0 ).toUpperCase() }${ behaviorName\n\t\t\t\t.slice( 1 )\n\t\t\t\t.toLowerCase() }`,\n\t\t} )\n\t);\n\n\tconst options = [\n\t\t...Object.values( defaultBehaviors ),\n\t\t...behaviorsOptions,\n\t];\n\n\tconst animations = [\n\t\t{\n\t\t\tvalue: 'zoom',\n\t\t\tlabel: __( 'Zoom' ),\n\t\t},\n\t\t{\n\t\t\tvalue: 'fade',\n\t\t\tlabel: __( 'Fade' ),\n\t\t},\n\t];\n\treturn (\n\t\t<div style={ { marginTop: '2rem' } }>\n\t\t\t<SelectControl\n\t\t\t\tlabel={ __( 'Behaviors' ) }\n\t\t\t\t// At the moment we are only supporting one behavior (Lightbox)\n\t\t\t\tvalue={ value }\n\t\t\t\toptions={ options }\n\t\t\t\tonChange={ onChange }\n\t\t\t\thideCancelButton={ true }\n\t\t\t\tsize=\"__unstable-large\"\n\t\t\t/>\n\t\t\t{ value === 'lightbox' && (\n\t\t\t\t<SelectControl\n\t\t\t\t\tlabel={ __( 'Animation' ) }\n\t\t\t\t\tvalue={\n\t\t\t\t\t\tbehaviors?.lightbox.animation\n\t\t\t\t\t\t\t? behaviors?.lightbox.animation\n\t\t\t\t\t\t\t: ''\n\t\t\t\t\t}\n\t\t\t\t\toptions={ animations }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\thideCancelButton={ false }\n\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,aAAa,QAAQ,uBAAuB;AACrD,SAASC,EAAE,QAAQ,iBAAiB;AAEpC,eAAe,UAAW;EAAEC,QAAQ;EAAEC,KAAK;EAAEC;AAAU,CAAC,EAAG;EAC1D,MAAMC,gBAAgB,GAAG;IACxBC,OAAO,EAAE;MACRH,KAAK,EAAE,SAAS;MAChBI,KAAK,EAAEN,EAAE,CAAE,SAAU;IACtB,CAAC;IACDO,WAAW,EAAE;MACZL,KAAK,EAAE,EAAE;MACTI,KAAK,EAAEN,EAAE,CAAE,cAAe;IAC3B;EACD,CAAC;EAED,MAAMQ,gBAAgB,GAAGC,MAAM,CAACC,OAAO,CAAEP,SAAU,CAAC,CAACQ,GAAG,CACvD,CAAE,CAAEC,YAAY,CAAE,MAAQ;IACzBV,KAAK,EAAEU,YAAY;IACnB;IACAN,KAAK,EAAG,GAAGM,YAAY,CAACC,MAAM,CAAE,CAAE,CAAC,CAACC,WAAW,CAAC,CAAG,GAAGF,YAAY,CAChEG,KAAK,CAAE,CAAE,CAAC,CACVC,WAAW,CAAC,CAAG;EAClB,CAAC,CACF,CAAC;EAED,MAAMC,OAAO,GAAG,CACf,GAAGR,MAAM,CAACS,MAAM,CAAEd,gBAAiB,CAAC,EACpC,GAAGI,gBAAgB,CACnB;EAED,MAAMW,UAAU,GAAG,CAClB;IACCjB,KAAK,EAAE,MAAM;IACbI,KAAK,EAAEN,EAAE,CAAE,MAAO;EACnB,CAAC,EACD;IACCE,KAAK,EAAE,MAAM;IACbI,KAAK,EAAEN,EAAE,CAAE,MAAO;EACnB,CAAC,CACD;EACD,OACCoB,aAAA;IAAKC,KAAK,EAAG;MAAEC,SAAS,EAAE;IAAO;EAAG,GACnCF,aAAA,CAACrB,aAAa;IACbO,KAAK,EAAGN,EAAE,CAAE,WAAY;IACxB;IAAA;IACAE,KAAK,EAAGA,KAAO;IACfe,OAAO,EAAGA,OAAS;IACnBhB,QAAQ,EAAGA,QAAU;IACrBsB,gBAAgB,EAAG,IAAM;IACzBC,IAAI,EAAC;EAAkB,CACvB,CAAC,EACAtB,KAAK,KAAK,UAAU,IACrBkB,aAAA,CAACrB,aAAa;IACbO,KAAK,EAAGN,EAAE,CAAE,WAAY,CAAG;IAC3BE,KAAK,EACJC,SAAS,EAAEsB,QAAQ,CAACC,SAAS,GAC1BvB,SAAS,EAAEsB,QAAQ,CAACC,SAAS,GAC7B,EACH;IACDT,OAAO,EAAGE,UAAY;IACtBlB,QAAQ,EAAGA,QAAU;IACrBsB,gBAAgB,EAAG,KAAO;IAC1BC,IAAI,EAAC;EAAkB,CACvB,CAEE,CAAC;AAER"}
|