@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 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useLayoutEffect","useMemo","useSelect","useDispatch","useRegistry","deprecated","store","blockEditorStore","getLayoutType","pendingSettingsUpdates","WeakMap","useNestedSettingsUpdate","clientId","allowedBlocks","prioritizedInserterBlocks","defaultBlock","directInsert","__experimentalDefaultBlock","__experimentalDirectInsert","templateLock","captureToolbars","orientation","layout","updateBlockListSettings","registry","parentLock","select","rootClientId","getBlockRootClientId","getTemplateLock","_allowedBlocks","_prioritizedInserterBlocks","_templateLock","undefined","newSettings","__experimentalCaptureToolbars","layoutType","type","getOrientation","alternative","since","version","get","set","push","window","queueMicrotask","length","batch","forEach","args"],"sources":["@wordpress/block-editor/src/components/inner-blocks/use-nested-settings-update.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useLayoutEffect, useMemo } from '@wordpress/element';\nimport { useSelect, useDispatch, useRegistry } from '@wordpress/data';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport { getLayoutType } from '../../layouts';\n\n/** @typedef {import('../../selectors').WPDirectInsertBlock } WPDirectInsertBlock */\n\nconst pendingSettingsUpdates = new WeakMap();\n\n/**\n * This hook is a side effect which updates the block-editor store when changes\n * happen to inner block settings. The given props are transformed into a\n * settings object, and if that is different from the current settings object in\n * the block-editor store, then the store is updated with the new settings which\n * came from props.\n *\n * @param {string} clientId The client ID of the block to update.\n * @param {string[]} allowedBlocks An array of block names which are permitted\n * in inner blocks.\n * @param {string[]} prioritizedInserterBlocks Block names and/or block variations to be prioritized in the inserter, in the format {blockName}/{variationName}.\n * @param {?WPDirectInsertBlock} defaultBlock The default block to insert: [ blockName, { blockAttributes } ].\n * @param {?Function|boolean} directInsert If a default block should be inserted directly by the appender.\n *\n * @param {?WPDirectInsertBlock} __experimentalDefaultBlock A deprecated prop for the default block to insert: [ blockName, { blockAttributes } ]. Use `defaultBlock` instead.\n *\n * @param {?Function|boolean} __experimentalDirectInsert A deprecated prop for whether a default block should be inserted directly by the appender. Use `directInsert` instead.\n *\n * @param {string} [templateLock] The template lock specified for the inner\n * blocks component. (e.g. \"all\")\n * @param {boolean} captureToolbars Whether or children toolbars should be shown\n * in the inner blocks component rather than on\n * the child block.\n * @param {string} orientation The direction in which the block\n * should face.\n * @param {Object} layout The layout object for the block container.\n */\nexport default function useNestedSettingsUpdate(\n\tclientId,\n\tallowedBlocks,\n\tprioritizedInserterBlocks,\n\tdefaultBlock,\n\tdirectInsert,\n\t__experimentalDefaultBlock,\n\t__experimentalDirectInsert,\n\ttemplateLock,\n\tcaptureToolbars,\n\torientation,\n\tlayout\n) {\n\tconst { updateBlockListSettings } = useDispatch( blockEditorStore );\n\tconst registry = useRegistry();\n\n\tconst { parentLock } = useSelect(\n\t\t( select ) => {\n\t\t\tconst rootClientId =\n\t\t\t\tselect( blockEditorStore ).getBlockRootClientId( clientId );\n\t\t\treturn {\n\t\t\t\tparentLock:\n\t\t\t\t\tselect( blockEditorStore ).getTemplateLock( rootClientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\t// Memoize allowedBlocks and prioritisedInnerBlocks based on the contents\n\t// of the arrays. Implementors often pass a new array on every render,\n\t// and the contents of the arrays are just strings, so the entire array\n\t// can be passed as dependencies.\n\n\tconst _allowedBlocks = useMemo(\n\t\t() => allowedBlocks,\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\tallowedBlocks\n\t);\n\n\tconst _prioritizedInserterBlocks = useMemo(\n\t\t() => prioritizedInserterBlocks,\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\tprioritizedInserterBlocks\n\t);\n\n\tconst _templateLock =\n\t\ttemplateLock === undefined || parentLock === 'contentOnly'\n\t\t\t? parentLock\n\t\t\t: templateLock;\n\n\tuseLayoutEffect( () => {\n\t\tconst newSettings = {\n\t\t\tallowedBlocks: _allowedBlocks,\n\t\t\tprioritizedInserterBlocks: _prioritizedInserterBlocks,\n\t\t\ttemplateLock: _templateLock,\n\t\t};\n\n\t\t// These values are not defined for RN, so only include them if they\n\t\t// are defined.\n\t\tif ( captureToolbars !== undefined ) {\n\t\t\tnewSettings.__experimentalCaptureToolbars = captureToolbars;\n\t\t}\n\n\t\t// Orientation depends on layout,\n\t\t// ideally the separate orientation prop should be deprecated.\n\t\tif ( orientation !== undefined ) {\n\t\t\tnewSettings.orientation = orientation;\n\t\t} else {\n\t\t\tconst layoutType = getLayoutType( layout?.type );\n\t\t\tnewSettings.orientation = layoutType.getOrientation( layout );\n\t\t}\n\n\t\tif ( __experimentalDefaultBlock !== undefined ) {\n\t\t\tdeprecated( '__experimentalDefaultBlock', {\n\t\t\t\talternative: 'defaultBlock',\n\t\t\t\tsince: '6.3',\n\t\t\t\tversion: '6.4',\n\t\t\t} );\n\t\t\tnewSettings.defaultBlock = __experimentalDefaultBlock;\n\t\t}\n\n\t\tif ( defaultBlock !== undefined ) {\n\t\t\tnewSettings.defaultBlock = defaultBlock;\n\t\t}\n\n\t\tif ( __experimentalDirectInsert !== undefined ) {\n\t\t\tdeprecated( '__experimentalDirectInsert', {\n\t\t\t\talternative: 'directInsert',\n\t\t\t\tsince: '6.3',\n\t\t\t\tversion: '6.4',\n\t\t\t} );\n\t\t\tnewSettings.directInsert = __experimentalDirectInsert;\n\t\t}\n\n\t\tif ( directInsert !== undefined ) {\n\t\t\tnewSettings.directInsert = directInsert;\n\t\t}\n\n\t\t// Batch updates to block list settings to avoid triggering cascading renders\n\t\t// for each container block included in a tree and optimize initial render.\n\t\t// To avoid triggering updateBlockListSettings for each container block\n\t\t// causing X re-renderings for X container blocks,\n\t\t// we batch all the updatedBlockListSettings in a single \"data\" batch\n\t\t// which results in a single re-render.\n\t\tif ( ! pendingSettingsUpdates.get( registry ) ) {\n\t\t\tpendingSettingsUpdates.set( registry, [] );\n\t\t}\n\t\tpendingSettingsUpdates\n\t\t\t.get( registry )\n\t\t\t.push( [ clientId, newSettings ] );\n\t\twindow.queueMicrotask( () => {\n\t\t\tif ( pendingSettingsUpdates.get( registry )?.length ) {\n\t\t\t\tregistry.batch( () => {\n\t\t\t\t\tpendingSettingsUpdates\n\t\t\t\t\t\t.get( registry )\n\t\t\t\t\t\t.forEach( ( args ) => {\n\t\t\t\t\t\t\tupdateBlockListSettings( ...args );\n\t\t\t\t\t\t} );\n\t\t\t\t\tpendingSettingsUpdates.set( registry, [] );\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t}, [\n\t\tclientId,\n\t\t_allowedBlocks,\n\t\t_prioritizedInserterBlocks,\n\t\t_templateLock,\n\t\tdefaultBlock,\n\t\tdirectInsert,\n\t\t__experimentalDefaultBlock,\n\t\t__experimentalDirectInsert,\n\t\tcaptureToolbars,\n\t\torientation,\n\t\tupdateBlockListSettings,\n\t\tlayout,\n\t\tregistry,\n\t] );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["useLayoutEffect","useMemo","useState","useSelect","useDispatch","useRegistry","deprecated","isShallowEqual","store","blockEditorStore","getLayoutType","pendingSettingsUpdates","WeakMap","useShallowMemo","value","prevValue","setPrevValue","useNestedSettingsUpdate","clientId","allowedBlocks","prioritizedInserterBlocks","defaultBlock","directInsert","__experimentalDefaultBlock","__experimentalDirectInsert","templateLock","captureToolbars","orientation","layout","updateBlockListSettings","registry","parentLock","select","rootClientId","getBlockRootClientId","getTemplateLock","_allowedBlocks","_prioritizedInserterBlocks","_templateLock","undefined","newSettings","__experimentalCaptureToolbars","layoutType","type","getOrientation","alternative","since","version","get","set","push","window","queueMicrotask","length","batch","forEach","args"],"sources":["@wordpress/block-editor/src/components/inner-blocks/use-nested-settings-update.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useLayoutEffect, useMemo, useState } from '@wordpress/element';\nimport { useSelect, useDispatch, useRegistry } from '@wordpress/data';\nimport deprecated from '@wordpress/deprecated';\nimport isShallowEqual from '@wordpress/is-shallow-equal';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../../store';\nimport { getLayoutType } from '../../layouts';\n\n/** @typedef {import('../../selectors').WPDirectInsertBlock } WPDirectInsertBlock */\n\nconst pendingSettingsUpdates = new WeakMap();\n\nfunction useShallowMemo( value ) {\n\tconst [ prevValue, setPrevValue ] = useState( value );\n\tif ( ! isShallowEqual( prevValue, value ) ) {\n\t\tsetPrevValue( value );\n\t}\n\treturn prevValue;\n}\n\n/**\n * This hook is a side effect which updates the block-editor store when changes\n * happen to inner block settings. The given props are transformed into a\n * settings object, and if that is different from the current settings object in\n * the block-editor store, then the store is updated with the new settings which\n * came from props.\n *\n * @param {string} clientId The client ID of the block to update.\n * @param {string[]} allowedBlocks An array of block names which are permitted\n * in inner blocks.\n * @param {string[]} prioritizedInserterBlocks Block names and/or block variations to be prioritized in the inserter, in the format {blockName}/{variationName}.\n * @param {?WPDirectInsertBlock} defaultBlock The default block to insert: [ blockName, { blockAttributes } ].\n * @param {?Function|boolean} directInsert If a default block should be inserted directly by the appender.\n *\n * @param {?WPDirectInsertBlock} __experimentalDefaultBlock A deprecated prop for the default block to insert: [ blockName, { blockAttributes } ]. Use `defaultBlock` instead.\n *\n * @param {?Function|boolean} __experimentalDirectInsert A deprecated prop for whether a default block should be inserted directly by the appender. Use `directInsert` instead.\n *\n * @param {string} [templateLock] The template lock specified for the inner\n * blocks component. (e.g. \"all\")\n * @param {boolean} captureToolbars Whether or children toolbars should be shown\n * in the inner blocks component rather than on\n * the child block.\n * @param {string} orientation The direction in which the block\n * should face.\n * @param {Object} layout The layout object for the block container.\n */\nexport default function useNestedSettingsUpdate(\n\tclientId,\n\tallowedBlocks,\n\tprioritizedInserterBlocks,\n\tdefaultBlock,\n\tdirectInsert,\n\t__experimentalDefaultBlock,\n\t__experimentalDirectInsert,\n\ttemplateLock,\n\tcaptureToolbars,\n\torientation,\n\tlayout\n) {\n\tconst { updateBlockListSettings } = useDispatch( blockEditorStore );\n\tconst registry = useRegistry();\n\n\tconst { parentLock } = useSelect(\n\t\t( select ) => {\n\t\t\tconst rootClientId =\n\t\t\t\tselect( blockEditorStore ).getBlockRootClientId( clientId );\n\t\t\treturn {\n\t\t\t\tparentLock:\n\t\t\t\t\tselect( blockEditorStore ).getTemplateLock( rootClientId ),\n\t\t\t};\n\t\t},\n\t\t[ clientId ]\n\t);\n\n\t// Implementors often pass a new array on every render,\n\t// and the contents of the arrays are just strings, so the entire array\n\t// can be passed as dependencies but We need to include the length of the array,\n\t// otherwise if the arrays change length but the first elements are equal the comparison,\n\t// does not works as expected.\n\tconst _allowedBlocks = useShallowMemo( allowedBlocks );\n\n\tconst _prioritizedInserterBlocks = useMemo(\n\t\t() => prioritizedInserterBlocks,\n\t\t// eslint-disable-next-line react-hooks/exhaustive-deps\n\t\tprioritizedInserterBlocks\n\t);\n\n\tconst _templateLock =\n\t\ttemplateLock === undefined || parentLock === 'contentOnly'\n\t\t\t? parentLock\n\t\t\t: templateLock;\n\n\tuseLayoutEffect( () => {\n\t\tconst newSettings = {\n\t\t\tallowedBlocks: _allowedBlocks,\n\t\t\tprioritizedInserterBlocks: _prioritizedInserterBlocks,\n\t\t\ttemplateLock: _templateLock,\n\t\t};\n\n\t\t// These values are not defined for RN, so only include them if they\n\t\t// are defined.\n\t\tif ( captureToolbars !== undefined ) {\n\t\t\tnewSettings.__experimentalCaptureToolbars = captureToolbars;\n\t\t}\n\n\t\t// Orientation depends on layout,\n\t\t// ideally the separate orientation prop should be deprecated.\n\t\tif ( orientation !== undefined ) {\n\t\t\tnewSettings.orientation = orientation;\n\t\t} else {\n\t\t\tconst layoutType = getLayoutType( layout?.type );\n\t\t\tnewSettings.orientation = layoutType.getOrientation( layout );\n\t\t}\n\n\t\tif ( __experimentalDefaultBlock !== undefined ) {\n\t\t\tdeprecated( '__experimentalDefaultBlock', {\n\t\t\t\talternative: 'defaultBlock',\n\t\t\t\tsince: '6.3',\n\t\t\t\tversion: '6.4',\n\t\t\t} );\n\t\t\tnewSettings.defaultBlock = __experimentalDefaultBlock;\n\t\t}\n\n\t\tif ( defaultBlock !== undefined ) {\n\t\t\tnewSettings.defaultBlock = defaultBlock;\n\t\t}\n\n\t\tif ( __experimentalDirectInsert !== undefined ) {\n\t\t\tdeprecated( '__experimentalDirectInsert', {\n\t\t\t\talternative: 'directInsert',\n\t\t\t\tsince: '6.3',\n\t\t\t\tversion: '6.4',\n\t\t\t} );\n\t\t\tnewSettings.directInsert = __experimentalDirectInsert;\n\t\t}\n\n\t\tif ( directInsert !== undefined ) {\n\t\t\tnewSettings.directInsert = directInsert;\n\t\t}\n\n\t\t// Batch updates to block list settings to avoid triggering cascading renders\n\t\t// for each container block included in a tree and optimize initial render.\n\t\t// To avoid triggering updateBlockListSettings for each container block\n\t\t// causing X re-renderings for X container blocks,\n\t\t// we batch all the updatedBlockListSettings in a single \"data\" batch\n\t\t// which results in a single re-render.\n\t\tif ( ! pendingSettingsUpdates.get( registry ) ) {\n\t\t\tpendingSettingsUpdates.set( registry, [] );\n\t\t}\n\t\tpendingSettingsUpdates\n\t\t\t.get( registry )\n\t\t\t.push( [ clientId, newSettings ] );\n\t\twindow.queueMicrotask( () => {\n\t\t\tif ( pendingSettingsUpdates.get( registry )?.length ) {\n\t\t\t\tregistry.batch( () => {\n\t\t\t\t\tpendingSettingsUpdates\n\t\t\t\t\t\t.get( registry )\n\t\t\t\t\t\t.forEach( ( args ) => {\n\t\t\t\t\t\t\tupdateBlockListSettings( ...args );\n\t\t\t\t\t\t} );\n\t\t\t\t\tpendingSettingsUpdates.set( registry, [] );\n\t\t\t\t} );\n\t\t\t}\n\t\t} );\n\t}, [\n\t\tclientId,\n\t\t_allowedBlocks,\n\t\t_prioritizedInserterBlocks,\n\t\t_templateLock,\n\t\tdefaultBlock,\n\t\tdirectInsert,\n\t\t__experimentalDefaultBlock,\n\t\t__experimentalDirectInsert,\n\t\tcaptureToolbars,\n\t\torientation,\n\t\tupdateBlockListSettings,\n\t\tlayout,\n\t\tregistry,\n\t] );\n}\n"],"mappings":"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"}
|
|
@@ -11,24 +11,30 @@ import { __ } from '@wordpress/i18n';
|
|
|
11
11
|
*/
|
|
12
12
|
import PatternExplorerSidebar from './sidebar';
|
|
13
13
|
import PatternList from './patterns-list';
|
|
14
|
+
import { usePatternsCategories } from '../block-patterns-tab';
|
|
14
15
|
function PatternsExplorer({
|
|
15
16
|
initialCategory,
|
|
16
|
-
|
|
17
|
+
rootClientId
|
|
17
18
|
}) {
|
|
18
|
-
const [
|
|
19
|
+
const [searchValue, setSearchValue] = useState('');
|
|
20
|
+
const [patternSourceFilter, setPatternSourceFilter] = useState('all');
|
|
19
21
|
const [selectedCategory, setSelectedCategory] = useState(initialCategory?.name);
|
|
22
|
+
const patternCategories = usePatternsCategories(rootClientId, patternSourceFilter);
|
|
20
23
|
return createElement("div", {
|
|
21
24
|
className: "block-editor-block-patterns-explorer"
|
|
22
25
|
}, createElement(PatternExplorerSidebar, {
|
|
23
26
|
selectedCategory: selectedCategory,
|
|
24
27
|
patternCategories: patternCategories,
|
|
25
28
|
onClickCategory: setSelectedCategory,
|
|
26
|
-
|
|
27
|
-
|
|
29
|
+
searchValue: searchValue,
|
|
30
|
+
setSearchValue: setSearchValue,
|
|
31
|
+
patternSourceFilter: patternSourceFilter,
|
|
32
|
+
setPatternSourceFilter: setPatternSourceFilter
|
|
28
33
|
}), createElement(PatternList, {
|
|
29
|
-
|
|
34
|
+
searchValue: searchValue,
|
|
30
35
|
selectedCategory: selectedCategory,
|
|
31
|
-
patternCategories: patternCategories
|
|
36
|
+
patternCategories: patternCategories,
|
|
37
|
+
patternSourceFilter: patternSourceFilter
|
|
32
38
|
}));
|
|
33
39
|
}
|
|
34
40
|
function PatternsExplorerModal({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Modal","useState","__","PatternExplorerSidebar","PatternList","PatternsExplorer","initialCategory","
|
|
1
|
+
{"version":3,"names":["Modal","useState","__","PatternExplorerSidebar","PatternList","usePatternsCategories","PatternsExplorer","initialCategory","rootClientId","searchValue","setSearchValue","patternSourceFilter","setPatternSourceFilter","selectedCategory","setSelectedCategory","name","patternCategories","createElement","className","onClickCategory","PatternsExplorerModal","onModalClose","restProps","title","onRequestClose","isFullScreen"],"sources":["@wordpress/block-editor/src/components/inserter/block-patterns-explorer/explorer.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Modal } from '@wordpress/components';\nimport { useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport PatternExplorerSidebar from './sidebar';\nimport PatternList from './patterns-list';\nimport { usePatternsCategories } from '../block-patterns-tab';\n\nfunction PatternsExplorer( { initialCategory, rootClientId } ) {\n\tconst [ searchValue, setSearchValue ] = useState( '' );\n\tconst [ patternSourceFilter, setPatternSourceFilter ] = useState( 'all' );\n\n\tconst [ selectedCategory, setSelectedCategory ] = useState(\n\t\tinitialCategory?.name\n\t);\n\n\tconst patternCategories = usePatternsCategories(\n\t\trootClientId,\n\t\tpatternSourceFilter\n\t);\n\n\treturn (\n\t\t<div className=\"block-editor-block-patterns-explorer\">\n\t\t\t<PatternExplorerSidebar\n\t\t\t\tselectedCategory={ selectedCategory }\n\t\t\t\tpatternCategories={ patternCategories }\n\t\t\t\tonClickCategory={ setSelectedCategory }\n\t\t\t\tsearchValue={ searchValue }\n\t\t\t\tsetSearchValue={ setSearchValue }\n\t\t\t\tpatternSourceFilter={ patternSourceFilter }\n\t\t\t\tsetPatternSourceFilter={ setPatternSourceFilter }\n\t\t\t/>\n\t\t\t<PatternList\n\t\t\t\tsearchValue={ searchValue }\n\t\t\t\tselectedCategory={ selectedCategory }\n\t\t\t\tpatternCategories={ patternCategories }\n\t\t\t\tpatternSourceFilter={ patternSourceFilter }\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nfunction PatternsExplorerModal( { onModalClose, ...restProps } ) {\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ __( 'Patterns' ) }\n\t\t\tonRequestClose={ onModalClose }\n\t\t\tisFullScreen\n\t\t>\n\t\t\t<PatternsExplorer { ...restProps } />\n\t\t</Modal>\n\t);\n}\n\nexport default PatternsExplorerModal;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,KAAK,QAAQ,uBAAuB;AAC7C,SAASC,QAAQ,QAAQ,oBAAoB;AAC7C,SAASC,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,OAAOC,sBAAsB,MAAM,WAAW;AAC9C,OAAOC,WAAW,MAAM,iBAAiB;AACzC,SAASC,qBAAqB,QAAQ,uBAAuB;AAE7D,SAASC,gBAAgBA,CAAE;EAAEC,eAAe;EAAEC;AAAa,CAAC,EAAG;EAC9D,MAAM,CAAEC,WAAW,EAAEC,cAAc,CAAE,GAAGT,QAAQ,CAAE,EAAG,CAAC;EACtD,MAAM,CAAEU,mBAAmB,EAAEC,sBAAsB,CAAE,GAAGX,QAAQ,CAAE,KAAM,CAAC;EAEzE,MAAM,CAAEY,gBAAgB,EAAEC,mBAAmB,CAAE,GAAGb,QAAQ,CACzDM,eAAe,EAAEQ,IAClB,CAAC;EAED,MAAMC,iBAAiB,GAAGX,qBAAqB,CAC9CG,YAAY,EACZG,mBACD,CAAC;EAED,OACCM,aAAA;IAAKC,SAAS,EAAC;EAAsC,GACpDD,aAAA,CAACd,sBAAsB;IACtBU,gBAAgB,EAAGA,gBAAkB;IACrCG,iBAAiB,EAAGA,iBAAmB;IACvCG,eAAe,EAAGL,mBAAqB;IACvCL,WAAW,EAAGA,WAAa;IAC3BC,cAAc,EAAGA,cAAgB;IACjCC,mBAAmB,EAAGA,mBAAqB;IAC3CC,sBAAsB,EAAGA;EAAwB,CACjD,CAAC,EACFK,aAAA,CAACb,WAAW;IACXK,WAAW,EAAGA,WAAa;IAC3BI,gBAAgB,EAAGA,gBAAkB;IACrCG,iBAAiB,EAAGA,iBAAmB;IACvCL,mBAAmB,EAAGA;EAAqB,CAC3C,CACG,CAAC;AAER;AAEA,SAASS,qBAAqBA,CAAE;EAAEC,YAAY;EAAE,GAAGC;AAAU,CAAC,EAAG;EAChE,OACCL,aAAA,CAACjB,KAAK;IACLuB,KAAK,EAAGrB,EAAE,CAAE,UAAW,CAAG;IAC1BsB,cAAc,EAAGH,YAAc;IAC/BI,YAAY;EAAA,GAEZR,aAAA,CAACX,gBAAgB;IAAA,GAAMgB;EAAS,CAAI,CAC9B,CAAC;AAEV;AAEA,eAAeF,qBAAqB"}
|
|
@@ -2,9 +2,9 @@ import { createElement } from "@wordpress/element";
|
|
|
2
2
|
/**
|
|
3
3
|
* WordPress dependencies
|
|
4
4
|
*/
|
|
5
|
-
import { useMemo, useEffect } from '@wordpress/element';
|
|
5
|
+
import { useMemo, useEffect, useRef, useState } from '@wordpress/element';
|
|
6
6
|
import { _n, sprintf } from '@wordpress/i18n';
|
|
7
|
-
import { useDebounce
|
|
7
|
+
import { useDebounce } from '@wordpress/compose';
|
|
8
8
|
import { __experimentalHeading as Heading } from '@wordpress/components';
|
|
9
9
|
import { speak } from '@wordpress/a11y';
|
|
10
10
|
|
|
@@ -12,68 +12,102 @@ import { speak } from '@wordpress/a11y';
|
|
|
12
12
|
* Internal dependencies
|
|
13
13
|
*/
|
|
14
14
|
import BlockPatternsList from '../../block-patterns-list';
|
|
15
|
-
import InserterNoResults from '../no-results';
|
|
16
15
|
import useInsertionPoint from '../hooks/use-insertion-point';
|
|
17
16
|
import usePatternsState from '../hooks/use-patterns-state';
|
|
18
17
|
import InserterListbox from '../../inserter-listbox';
|
|
19
18
|
import { searchItems } from '../search-items';
|
|
20
|
-
|
|
19
|
+
import BlockPatternsPaging from '../../block-patterns-paging';
|
|
20
|
+
import usePatternsPaging from '../hooks/use-patterns-paging';
|
|
21
|
+
import { allPatternsCategory, isPatternFiltered } from '../block-patterns-tab';
|
|
22
|
+
import { BlockPatternsSyncFilter } from '../block-patterns-sync-filter';
|
|
23
|
+
import { PATTERN_TYPES, PATTERN_SOURCE_FILTERS } from '../block-patterns-source-filter';
|
|
21
24
|
function PatternsListHeader({
|
|
22
25
|
filterValue,
|
|
23
|
-
filteredBlockPatternsLength
|
|
26
|
+
filteredBlockPatternsLength,
|
|
27
|
+
selectedCategory,
|
|
28
|
+
patternCategories
|
|
24
29
|
}) {
|
|
25
30
|
if (!filterValue) {
|
|
26
31
|
return null;
|
|
27
32
|
}
|
|
33
|
+
let filter = filterValue;
|
|
34
|
+
if (selectedCategory !== allPatternsCategory.name) {
|
|
35
|
+
const category = patternCategories.find(patternCategory => patternCategory.name === selectedCategory);
|
|
36
|
+
if (category) {
|
|
37
|
+
filter = `${filter} - ${category?.label}`;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
28
40
|
return createElement(Heading, {
|
|
29
41
|
level: 2,
|
|
30
42
|
lineHeight: '48px',
|
|
31
43
|
className: "block-editor-block-patterns-explorer__search-results-count"
|
|
32
44
|
}, sprintf( /* translators: %d: number of patterns. %s: block pattern search query */
|
|
33
|
-
_n('%1$d pattern found for "%2$s"', '%1$d patterns found for "%2$s"', filteredBlockPatternsLength), filteredBlockPatternsLength,
|
|
45
|
+
_n('%1$d pattern found for "%2$s"', '%1$d patterns found for "%2$s"', filteredBlockPatternsLength), filteredBlockPatternsLength, filter));
|
|
34
46
|
}
|
|
35
47
|
function PatternList({
|
|
36
|
-
|
|
48
|
+
searchValue,
|
|
49
|
+
patternSourceFilter,
|
|
37
50
|
selectedCategory,
|
|
38
51
|
patternCategories
|
|
39
52
|
}) {
|
|
53
|
+
const [patternSyncFilter, setPatternSyncFilter] = useState('all');
|
|
54
|
+
const container = useRef();
|
|
40
55
|
const debouncedSpeak = useDebounce(speak, 500);
|
|
41
56
|
const [destinationRootClientId, onInsertBlocks] = useInsertionPoint({
|
|
42
57
|
shouldFocusBlock: true
|
|
43
58
|
});
|
|
44
|
-
const [
|
|
59
|
+
const [patterns,, onClickPattern] = usePatternsState(onInsertBlocks, destinationRootClientId);
|
|
45
60
|
const registeredPatternCategories = useMemo(() => patternCategories.map(patternCategory => patternCategory.name), [patternCategories]);
|
|
46
61
|
const filteredBlockPatterns = useMemo(() => {
|
|
47
|
-
|
|
48
|
-
|
|
62
|
+
const filteredPatterns = patterns.filter(pattern => {
|
|
63
|
+
if (isPatternFiltered(pattern, patternSourceFilter, patternSyncFilter)) {
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
if (selectedCategory === allPatternsCategory.name) {
|
|
67
|
+
return true;
|
|
68
|
+
}
|
|
69
|
+
if (selectedCategory === 'uncategorized') {
|
|
70
|
+
const hasKnownCategory = pattern.categories.some(category => registeredPatternCategories.includes(category));
|
|
71
|
+
return !pattern.categories?.length || !hasKnownCategory;
|
|
72
|
+
}
|
|
73
|
+
return pattern.categories?.includes(selectedCategory);
|
|
74
|
+
});
|
|
75
|
+
if (!searchValue) {
|
|
76
|
+
return filteredPatterns;
|
|
49
77
|
}
|
|
50
|
-
return searchItems(
|
|
51
|
-
}, [
|
|
78
|
+
return searchItems(filteredPatterns, searchValue, patternSourceFilter);
|
|
79
|
+
}, [searchValue, patternSourceFilter, patterns, selectedCategory, registeredPatternCategories, patternSyncFilter]);
|
|
52
80
|
|
|
53
81
|
// Announce search results on change.
|
|
54
82
|
useEffect(() => {
|
|
55
|
-
if (!
|
|
83
|
+
if (!searchValue) {
|
|
56
84
|
return;
|
|
57
85
|
}
|
|
58
86
|
const count = filteredBlockPatterns.length;
|
|
59
87
|
const resultsFoundMessage = sprintf( /* translators: %d: number of results. */
|
|
60
88
|
_n('%d result found.', '%d results found.', count), count);
|
|
61
89
|
debouncedSpeak(resultsFoundMessage);
|
|
62
|
-
}, [
|
|
63
|
-
const
|
|
64
|
-
step: INITIAL_INSERTER_RESULTS
|
|
65
|
-
});
|
|
90
|
+
}, [searchValue, debouncedSpeak, filteredBlockPatterns.length]);
|
|
91
|
+
const pagingProps = usePatternsPaging(filteredBlockPatterns, selectedCategory, container, patternSourceFilter);
|
|
66
92
|
const hasItems = !!filteredBlockPatterns?.length;
|
|
67
93
|
return createElement("div", {
|
|
68
|
-
className: "block-editor-block-patterns-explorer__list"
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
94
|
+
className: "block-editor-block-patterns-explorer__list",
|
|
95
|
+
ref: container
|
|
96
|
+
}, createElement(PatternsListHeader, {
|
|
97
|
+
filterValue: searchValue || PATTERN_SOURCE_FILTERS[patternSourceFilter],
|
|
98
|
+
filteredBlockPatternsLength: filteredBlockPatterns.length,
|
|
99
|
+
selectedCategory: selectedCategory,
|
|
100
|
+
patternCategories: patternCategories
|
|
101
|
+
}), createElement(InserterListbox, null, patternSourceFilter === PATTERN_TYPES.user && !searchValue && createElement(BlockPatternsSyncFilter, {
|
|
102
|
+
patternSyncFilter: patternSyncFilter,
|
|
103
|
+
setPatternSyncFilter: setPatternSyncFilter
|
|
104
|
+
}), hasItems && createElement(BlockPatternsList, {
|
|
105
|
+
shownPatterns: pagingProps.categoryPatternsAsyncList,
|
|
106
|
+
blockPatterns: pagingProps.categoryPatterns,
|
|
107
|
+
onClickPattern: onClickPattern,
|
|
76
108
|
isDraggable: false
|
|
109
|
+
}), pagingProps.numPages > 1 && createElement(BlockPatternsPaging, {
|
|
110
|
+
...pagingProps
|
|
77
111
|
})));
|
|
78
112
|
}
|
|
79
113
|
export default PatternList;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useMemo","useEffect","_n","sprintf","useDebounce","useAsyncList","__experimentalHeading","Heading","speak","BlockPatternsList","InserterNoResults","useInsertionPoint","usePatternsState","InserterListbox","searchItems","INITIAL_INSERTER_RESULTS","PatternsListHeader","filterValue","filteredBlockPatternsLength","createElement","level","lineHeight","className","PatternList","selectedCategory","patternCategories","debouncedSpeak","destinationRootClientId","onInsertBlocks","shouldFocusBlock","allPatterns","onSelectBlockPattern","registeredPatternCategories","map","patternCategory","name","filteredBlockPatterns","filter","pattern","categories","length","every","category","includes","count","resultsFoundMessage","currentShownPatterns","step","hasItems","shownPatterns","blockPatterns","onClickPattern","isDraggable"],"sources":["@wordpress/block-editor/src/components/inserter/block-patterns-explorer/patterns-list.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo, useEffect } from '@wordpress/element';\nimport { _n, sprintf } from '@wordpress/i18n';\nimport { useDebounce, useAsyncList } from '@wordpress/compose';\nimport { __experimentalHeading as Heading } from '@wordpress/components';\nimport { speak } from '@wordpress/a11y';\n\n/**\n * Internal dependencies\n */\nimport BlockPatternsList from '../../block-patterns-list';\nimport InserterNoResults from '../no-results';\nimport useInsertionPoint from '../hooks/use-insertion-point';\nimport usePatternsState from '../hooks/use-patterns-state';\nimport InserterListbox from '../../inserter-listbox';\nimport { searchItems } from '../search-items';\n\nconst INITIAL_INSERTER_RESULTS = 2;\n\nfunction PatternsListHeader( { filterValue, filteredBlockPatternsLength } ) {\n\tif ( ! filterValue ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<Heading\n\t\t\tlevel={ 2 }\n\t\t\tlineHeight={ '48px' }\n\t\t\tclassName=\"block-editor-block-patterns-explorer__search-results-count\"\n\t\t>\n\t\t\t{ sprintf(\n\t\t\t\t/* translators: %d: number of patterns. %s: block pattern search query */\n\t\t\t\t_n(\n\t\t\t\t\t'%1$d pattern found for \"%2$s\"',\n\t\t\t\t\t'%1$d patterns found for \"%2$s\"',\n\t\t\t\t\tfilteredBlockPatternsLength\n\t\t\t\t),\n\t\t\t\tfilteredBlockPatternsLength,\n\t\t\t\tfilterValue\n\t\t\t) }\n\t\t</Heading>\n\t);\n}\n\nfunction PatternList( { filterValue, selectedCategory, patternCategories } ) {\n\tconst debouncedSpeak = useDebounce( speak, 500 );\n\tconst [ destinationRootClientId, onInsertBlocks ] = useInsertionPoint( {\n\t\tshouldFocusBlock: true,\n\t} );\n\tconst [ allPatterns, , onSelectBlockPattern ] = usePatternsState(\n\t\tonInsertBlocks,\n\t\tdestinationRootClientId\n\t);\n\n\tconst registeredPatternCategories = useMemo(\n\t\t() =>\n\t\t\tpatternCategories.map(\n\t\t\t\t( patternCategory ) => patternCategory.name\n\t\t\t),\n\t\t[ patternCategories ]\n\t);\n\n\tconst filteredBlockPatterns = useMemo( () => {\n\t\tif ( ! filterValue ) {\n\t\t\treturn allPatterns.filter( ( pattern ) =>\n\t\t\t\tselectedCategory === 'uncategorized'\n\t\t\t\t\t? ! pattern.categories?.length ||\n\t\t\t\t\t pattern.categories.every(\n\t\t\t\t\t\t\t( category ) =>\n\t\t\t\t\t\t\t\t! registeredPatternCategories.includes(\n\t\t\t\t\t\t\t\t\tcategory\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t )\n\t\t\t\t\t: pattern.categories?.includes( selectedCategory )\n\t\t\t);\n\t\t}\n\t\treturn searchItems( allPatterns, filterValue );\n\t}, [\n\t\tfilterValue,\n\t\tallPatterns,\n\t\tselectedCategory,\n\t\tregisteredPatternCategories,\n\t] );\n\n\t// Announce search results on change.\n\tuseEffect( () => {\n\t\tif ( ! filterValue ) {\n\t\t\treturn;\n\t\t}\n\t\tconst count = filteredBlockPatterns.length;\n\t\tconst resultsFoundMessage = sprintf(\n\t\t\t/* translators: %d: number of results. */\n\t\t\t_n( '%d result found.', '%d results found.', count ),\n\t\t\tcount\n\t\t);\n\t\tdebouncedSpeak( resultsFoundMessage );\n\t}, [ filterValue, debouncedSpeak, filteredBlockPatterns.length ] );\n\n\tconst currentShownPatterns = useAsyncList( filteredBlockPatterns, {\n\t\tstep: INITIAL_INSERTER_RESULTS,\n\t} );\n\n\tconst hasItems = !! filteredBlockPatterns?.length;\n\treturn (\n\t\t<div className=\"block-editor-block-patterns-explorer__list\">\n\t\t\t{ hasItems && (\n\t\t\t\t<PatternsListHeader\n\t\t\t\t\tfilterValue={ filterValue }\n\t\t\t\t\tfilteredBlockPatternsLength={ filteredBlockPatterns.length }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<InserterListbox>\n\t\t\t\t{ ! hasItems && <InserterNoResults /> }\n\t\t\t\t{ hasItems && (\n\t\t\t\t\t<BlockPatternsList\n\t\t\t\t\t\tshownPatterns={ currentShownPatterns }\n\t\t\t\t\t\tblockPatterns={ filteredBlockPatterns }\n\t\t\t\t\t\tonClickPattern={ onSelectBlockPattern }\n\t\t\t\t\t\tisDraggable={ false }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</InserterListbox>\n\t\t</div>\n\t);\n}\n\nexport default PatternList;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["useMemo","useEffect","useRef","useState","_n","sprintf","useDebounce","__experimentalHeading","Heading","speak","BlockPatternsList","useInsertionPoint","usePatternsState","InserterListbox","searchItems","BlockPatternsPaging","usePatternsPaging","allPatternsCategory","isPatternFiltered","BlockPatternsSyncFilter","PATTERN_TYPES","PATTERN_SOURCE_FILTERS","PatternsListHeader","filterValue","filteredBlockPatternsLength","selectedCategory","patternCategories","filter","name","category","find","patternCategory","label","createElement","level","lineHeight","className","PatternList","searchValue","patternSourceFilter","patternSyncFilter","setPatternSyncFilter","container","debouncedSpeak","destinationRootClientId","onInsertBlocks","shouldFocusBlock","patterns","onClickPattern","registeredPatternCategories","map","filteredBlockPatterns","filteredPatterns","pattern","hasKnownCategory","categories","some","includes","length","count","resultsFoundMessage","pagingProps","hasItems","ref","user","shownPatterns","categoryPatternsAsyncList","blockPatterns","categoryPatterns","isDraggable","numPages"],"sources":["@wordpress/block-editor/src/components/inserter/block-patterns-explorer/patterns-list.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo, useEffect, useRef, useState } from '@wordpress/element';\nimport { _n, sprintf } from '@wordpress/i18n';\nimport { useDebounce } from '@wordpress/compose';\nimport { __experimentalHeading as Heading } from '@wordpress/components';\nimport { speak } from '@wordpress/a11y';\n\n/**\n * Internal dependencies\n */\nimport BlockPatternsList from '../../block-patterns-list';\nimport useInsertionPoint from '../hooks/use-insertion-point';\nimport usePatternsState from '../hooks/use-patterns-state';\nimport InserterListbox from '../../inserter-listbox';\nimport { searchItems } from '../search-items';\nimport BlockPatternsPaging from '../../block-patterns-paging';\nimport usePatternsPaging from '../hooks/use-patterns-paging';\nimport { allPatternsCategory, isPatternFiltered } from '../block-patterns-tab';\nimport { BlockPatternsSyncFilter } from '../block-patterns-sync-filter';\nimport {\n\tPATTERN_TYPES,\n\tPATTERN_SOURCE_FILTERS,\n} from '../block-patterns-source-filter';\n\nfunction PatternsListHeader( {\n\tfilterValue,\n\tfilteredBlockPatternsLength,\n\tselectedCategory,\n\tpatternCategories,\n} ) {\n\tif ( ! filterValue ) {\n\t\treturn null;\n\t}\n\tlet filter = filterValue;\n\tif ( selectedCategory !== allPatternsCategory.name ) {\n\t\tconst category = patternCategories.find(\n\t\t\t( patternCategory ) => patternCategory.name === selectedCategory\n\t\t);\n\t\tif ( category ) {\n\t\t\tfilter = `${ filter } - ${ category?.label }`;\n\t\t}\n\t}\n\treturn (\n\t\t<Heading\n\t\t\tlevel={ 2 }\n\t\t\tlineHeight={ '48px' }\n\t\t\tclassName=\"block-editor-block-patterns-explorer__search-results-count\"\n\t\t>\n\t\t\t{ sprintf(\n\t\t\t\t/* translators: %d: number of patterns. %s: block pattern search query */\n\t\t\t\t_n(\n\t\t\t\t\t'%1$d pattern found for \"%2$s\"',\n\t\t\t\t\t'%1$d patterns found for \"%2$s\"',\n\t\t\t\t\tfilteredBlockPatternsLength\n\t\t\t\t),\n\t\t\t\tfilteredBlockPatternsLength,\n\t\t\t\tfilter\n\t\t\t) }\n\t\t</Heading>\n\t);\n}\n\nfunction PatternList( {\n\tsearchValue,\n\tpatternSourceFilter,\n\tselectedCategory,\n\tpatternCategories,\n} ) {\n\tconst [ patternSyncFilter, setPatternSyncFilter ] = useState( 'all' );\n\tconst container = useRef();\n\tconst debouncedSpeak = useDebounce( speak, 500 );\n\tconst [ destinationRootClientId, onInsertBlocks ] = useInsertionPoint( {\n\t\tshouldFocusBlock: true,\n\t} );\n\tconst [ patterns, , onClickPattern ] = usePatternsState(\n\t\tonInsertBlocks,\n\t\tdestinationRootClientId\n\t);\n\n\tconst registeredPatternCategories = useMemo(\n\t\t() =>\n\t\t\tpatternCategories.map(\n\t\t\t\t( patternCategory ) => patternCategory.name\n\t\t\t),\n\t\t[ patternCategories ]\n\t);\n\n\tconst filteredBlockPatterns = useMemo( () => {\n\t\tconst filteredPatterns = patterns.filter( ( pattern ) => {\n\t\t\tif (\n\t\t\t\tisPatternFiltered(\n\t\t\t\t\tpattern,\n\t\t\t\t\tpatternSourceFilter,\n\t\t\t\t\tpatternSyncFilter\n\t\t\t\t)\n\t\t\t) {\n\t\t\t\treturn false;\n\t\t\t}\n\n\t\t\tif ( selectedCategory === allPatternsCategory.name ) {\n\t\t\t\treturn true;\n\t\t\t}\n\n\t\t\tif ( selectedCategory === 'uncategorized' ) {\n\t\t\t\tconst hasKnownCategory = pattern.categories.some(\n\t\t\t\t\t( category ) =>\n\t\t\t\t\t\tregisteredPatternCategories.includes( category )\n\t\t\t\t);\n\n\t\t\t\treturn ! pattern.categories?.length || ! hasKnownCategory;\n\t\t\t}\n\n\t\t\treturn pattern.categories?.includes( selectedCategory );\n\t\t} );\n\n\t\tif ( ! searchValue ) {\n\t\t\treturn filteredPatterns;\n\t\t}\n\n\t\treturn searchItems(\n\t\t\tfilteredPatterns,\n\t\t\tsearchValue,\n\t\t\tpatternSourceFilter\n\t\t);\n\t}, [\n\t\tsearchValue,\n\t\tpatternSourceFilter,\n\t\tpatterns,\n\t\tselectedCategory,\n\t\tregisteredPatternCategories,\n\t\tpatternSyncFilter,\n\t] );\n\n\t// Announce search results on change.\n\tuseEffect( () => {\n\t\tif ( ! searchValue ) {\n\t\t\treturn;\n\t\t}\n\t\tconst count = filteredBlockPatterns.length;\n\t\tconst resultsFoundMessage = sprintf(\n\t\t\t/* translators: %d: number of results. */\n\t\t\t_n( '%d result found.', '%d results found.', count ),\n\t\t\tcount\n\t\t);\n\t\tdebouncedSpeak( resultsFoundMessage );\n\t}, [ searchValue, debouncedSpeak, filteredBlockPatterns.length ] );\n\n\tconst pagingProps = usePatternsPaging(\n\t\tfilteredBlockPatterns,\n\t\tselectedCategory,\n\t\tcontainer,\n\t\tpatternSourceFilter\n\t);\n\n\tconst hasItems = !! filteredBlockPatterns?.length;\n\treturn (\n\t\t<div\n\t\t\tclassName=\"block-editor-block-patterns-explorer__list\"\n\t\t\tref={ container }\n\t\t>\n\t\t\t<PatternsListHeader\n\t\t\t\tfilterValue={\n\t\t\t\t\tsearchValue || PATTERN_SOURCE_FILTERS[ patternSourceFilter ]\n\t\t\t\t}\n\t\t\t\tfilteredBlockPatternsLength={ filteredBlockPatterns.length }\n\t\t\t\tselectedCategory={ selectedCategory }\n\t\t\t\tpatternCategories={ patternCategories }\n\t\t\t/>\n\n\t\t\t<InserterListbox>\n\t\t\t\t{ patternSourceFilter === PATTERN_TYPES.user &&\n\t\t\t\t\t! searchValue && (\n\t\t\t\t\t\t<BlockPatternsSyncFilter\n\t\t\t\t\t\t\tpatternSyncFilter={ patternSyncFilter }\n\t\t\t\t\t\t\tsetPatternSyncFilter={ setPatternSyncFilter }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\n\t\t\t\t{ hasItems && (\n\t\t\t\t\t<BlockPatternsList\n\t\t\t\t\t\tshownPatterns={ pagingProps.categoryPatternsAsyncList }\n\t\t\t\t\t\tblockPatterns={ pagingProps.categoryPatterns }\n\t\t\t\t\t\tonClickPattern={ onClickPattern }\n\t\t\t\t\t\tisDraggable={ false }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ pagingProps.numPages > 1 && (\n\t\t\t\t\t<BlockPatternsPaging { ...pagingProps } />\n\t\t\t\t) }\n\t\t\t</InserterListbox>\n\t\t</div>\n\t);\n}\n\nexport default PatternList;\n"],"mappings":"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"}
|
|
@@ -4,6 +4,12 @@ import { createElement } from "@wordpress/element";
|
|
|
4
4
|
*/
|
|
5
5
|
import { Button, SearchControl } from '@wordpress/components';
|
|
6
6
|
import { __ } from '@wordpress/i18n';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Internal dependencies
|
|
10
|
+
*/
|
|
11
|
+
import { default as BlockPatternsSourceFilter } from '../block-patterns-source-filter';
|
|
12
|
+
import { allPatternsCategory } from '../block-patterns-tab';
|
|
7
13
|
function PatternCategoriesList({
|
|
8
14
|
selectedCategory,
|
|
9
15
|
patternCategories,
|
|
@@ -28,16 +34,16 @@ function PatternCategoriesList({
|
|
|
28
34
|
}));
|
|
29
35
|
}
|
|
30
36
|
function PatternsExplorerSearch({
|
|
31
|
-
|
|
32
|
-
|
|
37
|
+
searchValue,
|
|
38
|
+
setSearchValue
|
|
33
39
|
}) {
|
|
34
40
|
const baseClassName = 'block-editor-block-patterns-explorer__search';
|
|
35
41
|
return createElement("div", {
|
|
36
42
|
className: baseClassName
|
|
37
43
|
}, createElement(SearchControl, {
|
|
38
44
|
__nextHasNoMarginBottom: true,
|
|
39
|
-
onChange:
|
|
40
|
-
value:
|
|
45
|
+
onChange: setSearchValue,
|
|
46
|
+
value: searchValue,
|
|
41
47
|
label: __('Search for patterns'),
|
|
42
48
|
placeholder: __('Search')
|
|
43
49
|
}));
|
|
@@ -46,16 +52,24 @@ function PatternExplorerSidebar({
|
|
|
46
52
|
selectedCategory,
|
|
47
53
|
patternCategories,
|
|
48
54
|
onClickCategory,
|
|
49
|
-
|
|
50
|
-
|
|
55
|
+
patternSourceFilter,
|
|
56
|
+
setPatternSourceFilter,
|
|
57
|
+
searchValue,
|
|
58
|
+
setSearchValue
|
|
51
59
|
}) {
|
|
52
60
|
const baseClassName = 'block-editor-block-patterns-explorer__sidebar';
|
|
53
61
|
return createElement("div", {
|
|
54
62
|
className: baseClassName
|
|
55
63
|
}, createElement(PatternsExplorerSearch, {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
}),
|
|
64
|
+
searchValue: searchValue,
|
|
65
|
+
setSearchValue: setSearchValue
|
|
66
|
+
}), createElement(BlockPatternsSourceFilter, {
|
|
67
|
+
value: patternSourceFilter,
|
|
68
|
+
onChange: value => {
|
|
69
|
+
setPatternSourceFilter(value);
|
|
70
|
+
onClickCategory(allPatternsCategory.name);
|
|
71
|
+
}
|
|
72
|
+
}), !searchValue && createElement(PatternCategoriesList, {
|
|
59
73
|
selectedCategory: selectedCategory,
|
|
60
74
|
patternCategories: patternCategories,
|
|
61
75
|
onClickCategory: onClickCategory
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Button","SearchControl","__","PatternCategoriesList","selectedCategory","patternCategories","onClickCategory","baseClassName","createElement","className","map","name","label","key","isPressed","onClick","PatternsExplorerSearch","
|
|
1
|
+
{"version":3,"names":["Button","SearchControl","__","default","BlockPatternsSourceFilter","allPatternsCategory","PatternCategoriesList","selectedCategory","patternCategories","onClickCategory","baseClassName","createElement","className","map","name","label","key","isPressed","onClick","PatternsExplorerSearch","searchValue","setSearchValue","__nextHasNoMarginBottom","onChange","value","placeholder","PatternExplorerSidebar","patternSourceFilter","setPatternSourceFilter"],"sources":["@wordpress/block-editor/src/components/inserter/block-patterns-explorer/sidebar.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Button, SearchControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { default as BlockPatternsSourceFilter } from '../block-patterns-source-filter';\nimport { allPatternsCategory } from '../block-patterns-tab';\n\nfunction PatternCategoriesList( {\n\tselectedCategory,\n\tpatternCategories,\n\tonClickCategory,\n} ) {\n\tconst baseClassName = 'block-editor-block-patterns-explorer__sidebar';\n\treturn (\n\t\t<div className={ `${ baseClassName }__categories-list` }>\n\t\t\t{ patternCategories.map( ( { name, label } ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tkey={ name }\n\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\tclassName={ `${ baseClassName }__categories-list__item` }\n\t\t\t\t\t\tisPressed={ selectedCategory === name }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tonClickCategory( name );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ label }\n\t\t\t\t\t</Button>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</div>\n\t);\n}\n\nfunction PatternsExplorerSearch( { searchValue, setSearchValue } ) {\n\tconst baseClassName = 'block-editor-block-patterns-explorer__search';\n\treturn (\n\t\t<div className={ baseClassName }>\n\t\t\t<SearchControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tonChange={ setSearchValue }\n\t\t\t\tvalue={ searchValue }\n\t\t\t\tlabel={ __( 'Search for patterns' ) }\n\t\t\t\tplaceholder={ __( 'Search' ) }\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nfunction PatternExplorerSidebar( {\n\tselectedCategory,\n\tpatternCategories,\n\tonClickCategory,\n\tpatternSourceFilter,\n\tsetPatternSourceFilter,\n\tsearchValue,\n\tsetSearchValue,\n} ) {\n\tconst baseClassName = 'block-editor-block-patterns-explorer__sidebar';\n\treturn (\n\t\t<div className={ baseClassName }>\n\t\t\t<PatternsExplorerSearch\n\t\t\t\tsearchValue={ searchValue }\n\t\t\t\tsetSearchValue={ setSearchValue }\n\t\t\t/>\n\t\t\t<BlockPatternsSourceFilter\n\t\t\t\tvalue={ patternSourceFilter }\n\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\tsetPatternSourceFilter( value );\n\t\t\t\t\tonClickCategory( allPatternsCategory.name );\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t{ ! searchValue && (\n\t\t\t\t<PatternCategoriesList\n\t\t\t\t\tselectedCategory={ selectedCategory }\n\t\t\t\t\tpatternCategories={ patternCategories }\n\t\t\t\t\tonClickCategory={ onClickCategory }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n}\n\nexport default PatternExplorerSidebar;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,MAAM,EAAEC,aAAa,QAAQ,uBAAuB;AAC7D,SAASC,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,SAASC,OAAO,IAAIC,yBAAyB,QAAQ,iCAAiC;AACtF,SAASC,mBAAmB,QAAQ,uBAAuB;AAE3D,SAASC,qBAAqBA,CAAE;EAC/BC,gBAAgB;EAChBC,iBAAiB;EACjBC;AACD,CAAC,EAAG;EACH,MAAMC,aAAa,GAAG,+CAA+C;EACrE,OACCC,aAAA;IAAKC,SAAS,EAAI,GAAGF,aAAe;EAAoB,GACrDF,iBAAiB,CAACK,GAAG,CAAE,CAAE;IAAEC,IAAI;IAAEC;EAAM,CAAC,KAAM;IAC/C,OACCJ,aAAA,CAACX,MAAM;MACNgB,GAAG,EAAGF,IAAM;MACZC,KAAK,EAAGA,KAAO;MACfH,SAAS,EAAI,GAAGF,aAAe,yBAA0B;MACzDO,SAAS,EAAGV,gBAAgB,KAAKO,IAAM;MACvCI,OAAO,EAAGA,CAAA,KAAM;QACfT,eAAe,CAAEK,IAAK,CAAC;MACxB;IAAG,GAEDC,KACK,CAAC;EAEX,CAAE,CACE,CAAC;AAER;AAEA,SAASI,sBAAsBA,CAAE;EAAEC,WAAW;EAAEC;AAAe,CAAC,EAAG;EAClE,MAAMX,aAAa,GAAG,8CAA8C;EACpE,OACCC,aAAA;IAAKC,SAAS,EAAGF;EAAe,GAC/BC,aAAA,CAACV,aAAa;IACbqB,uBAAuB;IACvBC,QAAQ,EAAGF,cAAgB;IAC3BG,KAAK,EAAGJ,WAAa;IACrBL,KAAK,EAAGb,EAAE,CAAE,qBAAsB,CAAG;IACrCuB,WAAW,EAAGvB,EAAE,CAAE,QAAS;EAAG,CAC9B,CACG,CAAC;AAER;AAEA,SAASwB,sBAAsBA,CAAE;EAChCnB,gBAAgB;EAChBC,iBAAiB;EACjBC,eAAe;EACfkB,mBAAmB;EACnBC,sBAAsB;EACtBR,WAAW;EACXC;AACD,CAAC,EAAG;EACH,MAAMX,aAAa,GAAG,+CAA+C;EACrE,OACCC,aAAA;IAAKC,SAAS,EAAGF;EAAe,GAC/BC,aAAA,CAACQ,sBAAsB;IACtBC,WAAW,EAAGA,WAAa;IAC3BC,cAAc,EAAGA;EAAgB,CACjC,CAAC,EACFV,aAAA,CAACP,yBAAyB;IACzBoB,KAAK,EAAGG,mBAAqB;IAC7BJ,QAAQ,EAAKC,KAAK,IAAM;MACvBI,sBAAsB,CAAEJ,KAAM,CAAC;MAC/Bf,eAAe,CAAEJ,mBAAmB,CAACS,IAAK,CAAC;IAC5C;EAAG,CACH,CAAC,EACA,CAAEM,WAAW,IACdT,aAAA,CAACL,qBAAqB;IACrBC,gBAAgB,EAAGA,gBAAkB;IACrCC,iBAAiB,EAAGA,iBAAmB;IACvCC,eAAe,EAAGA;EAAiB,CACnC,CAEE,CAAC;AAER;AAEA,eAAeiB,sBAAsB"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { createElement } from "@wordpress/element";
|
|
2
|
+
/**
|
|
3
|
+
* WordPress dependencies
|
|
4
|
+
*/
|
|
5
|
+
import { __ } from '@wordpress/i18n';
|
|
6
|
+
import { SelectControl } from '@wordpress/components';
|
|
7
|
+
export const PATTERN_TYPES = {
|
|
8
|
+
synced: 'synced',
|
|
9
|
+
unsynced: 'unsynced',
|
|
10
|
+
user: 'user',
|
|
11
|
+
theme: 'theme'
|
|
12
|
+
};
|
|
13
|
+
const patternSourceOptions = [{
|
|
14
|
+
value: 'all',
|
|
15
|
+
label: __('All pattern types')
|
|
16
|
+
}, {
|
|
17
|
+
value: PATTERN_TYPES.theme,
|
|
18
|
+
label: __('Theme patterns')
|
|
19
|
+
}, {
|
|
20
|
+
value: PATTERN_TYPES.user,
|
|
21
|
+
label: __('My patterns')
|
|
22
|
+
}];
|
|
23
|
+
export const PATTERN_SOURCE_FILTERS = patternSourceOptions.reduce((patternSourceFilters, {
|
|
24
|
+
value,
|
|
25
|
+
label
|
|
26
|
+
}) => {
|
|
27
|
+
patternSourceFilters[value] = label;
|
|
28
|
+
return patternSourceFilters;
|
|
29
|
+
}, {});
|
|
30
|
+
export default function BlockPatternsSourceFilter({
|
|
31
|
+
onChange,
|
|
32
|
+
value
|
|
33
|
+
}) {
|
|
34
|
+
return createElement(SelectControl, {
|
|
35
|
+
className: "block-editor-block-patterns__source-filter",
|
|
36
|
+
label: __('Pattern source'),
|
|
37
|
+
options: patternSourceOptions,
|
|
38
|
+
value: value,
|
|
39
|
+
onChange: onChange,
|
|
40
|
+
"aria-label": __('Filter patterns by type'),
|
|
41
|
+
hideLabelFromVision: true
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=block-patterns-source-filter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["__","SelectControl","PATTERN_TYPES","synced","unsynced","user","theme","patternSourceOptions","value","label","PATTERN_SOURCE_FILTERS","reduce","patternSourceFilters","BlockPatternsSourceFilter","onChange","createElement","className","options","hideLabelFromVision"],"sources":["@wordpress/block-editor/src/components/inserter/block-patterns-source-filter.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { SelectControl } from '@wordpress/components';\n\nexport const PATTERN_TYPES = {\n\tsynced: 'synced',\n\tunsynced: 'unsynced',\n\tuser: 'user',\n\ttheme: 'theme',\n};\n\nconst patternSourceOptions = [\n\t{ value: 'all', label: __( 'All pattern types' ) },\n\t{ value: PATTERN_TYPES.theme, label: __( 'Theme patterns' ) },\n\t{ value: PATTERN_TYPES.user, label: __( 'My patterns' ) },\n];\n\nexport const PATTERN_SOURCE_FILTERS = patternSourceOptions.reduce(\n\t( patternSourceFilters, { value, label } ) => {\n\t\tpatternSourceFilters[ value ] = label;\n\t\treturn patternSourceFilters;\n\t},\n\t{}\n);\n\nexport default function BlockPatternsSourceFilter( { onChange, value } ) {\n\treturn (\n\t\t<SelectControl\n\t\t\tclassName=\"block-editor-block-patterns__source-filter\"\n\t\t\tlabel={ __( 'Pattern source' ) }\n\t\t\toptions={ patternSourceOptions }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t\taria-label={ __( 'Filter patterns by type' ) }\n\t\t\thideLabelFromVision\n\t\t/>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,aAAa,QAAQ,uBAAuB;AAErD,OAAO,MAAMC,aAAa,GAAG;EAC5BC,MAAM,EAAE,QAAQ;EAChBC,QAAQ,EAAE,UAAU;EACpBC,IAAI,EAAE,MAAM;EACZC,KAAK,EAAE;AACR,CAAC;AAED,MAAMC,oBAAoB,GAAG,CAC5B;EAAEC,KAAK,EAAE,KAAK;EAAEC,KAAK,EAAET,EAAE,CAAE,mBAAoB;AAAE,CAAC,EAClD;EAAEQ,KAAK,EAAEN,aAAa,CAACI,KAAK;EAAEG,KAAK,EAAET,EAAE,CAAE,gBAAiB;AAAE,CAAC,EAC7D;EAAEQ,KAAK,EAAEN,aAAa,CAACG,IAAI;EAAEI,KAAK,EAAET,EAAE,CAAE,aAAc;AAAE,CAAC,CACzD;AAED,OAAO,MAAMU,sBAAsB,GAAGH,oBAAoB,CAACI,MAAM,CAChE,CAAEC,oBAAoB,EAAE;EAAEJ,KAAK;EAAEC;AAAM,CAAC,KAAM;EAC7CG,oBAAoB,CAAEJ,KAAK,CAAE,GAAGC,KAAK;EACrC,OAAOG,oBAAoB;AAC5B,CAAC,EACD,CAAC,CACF,CAAC;AAED,eAAe,SAASC,yBAAyBA,CAAE;EAAEC,QAAQ;EAAEN;AAAM,CAAC,EAAG;EACxE,OACCO,aAAA,CAACd,aAAa;IACbe,SAAS,EAAC,4CAA4C;IACtDP,KAAK,EAAGT,EAAE,CAAE,gBAAiB,CAAG;IAChCiB,OAAO,EAAGV,oBAAsB;IAChCC,KAAK,EAAGA,KAAO;IACfM,QAAQ,EAAGA,QAAU;IACrB,cAAad,EAAE,CAAE,yBAA0B,CAAG;IAC9CkB,mBAAmB;EAAA,CACnB,CAAC;AAEJ"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { createElement } from "@wordpress/element";
|
|
2
|
+
/**
|
|
3
|
+
* WordPress dependencies
|
|
4
|
+
*/
|
|
5
|
+
import { SelectControl } from '@wordpress/components';
|
|
6
|
+
import { __ } from '@wordpress/i18n';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Internal dependencies
|
|
10
|
+
*/
|
|
11
|
+
export const SYNC_TYPES = {
|
|
12
|
+
full: 'fully',
|
|
13
|
+
unsynced: 'unsynced'
|
|
14
|
+
};
|
|
15
|
+
const patternSyncOptions = [{
|
|
16
|
+
value: 'all',
|
|
17
|
+
label: __('All')
|
|
18
|
+
}, {
|
|
19
|
+
value: SYNC_TYPES.full,
|
|
20
|
+
label: __('Synced')
|
|
21
|
+
}, {
|
|
22
|
+
value: SYNC_TYPES.unsynced,
|
|
23
|
+
label: __('Standard')
|
|
24
|
+
}];
|
|
25
|
+
export function BlockPatternsSyncFilter({
|
|
26
|
+
setPatternSyncFilter,
|
|
27
|
+
patternSyncFilter
|
|
28
|
+
}) {
|
|
29
|
+
return createElement(SelectControl, {
|
|
30
|
+
className: "block-editor-patterns__sync-status-filter",
|
|
31
|
+
label: __('Syncing'),
|
|
32
|
+
options: patternSyncOptions,
|
|
33
|
+
value: patternSyncFilter,
|
|
34
|
+
onChange: setPatternSyncFilter,
|
|
35
|
+
"aria-label": __('Filter patterns by sync type')
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=block-patterns-sync-filter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["SelectControl","__","SYNC_TYPES","full","unsynced","patternSyncOptions","value","label","BlockPatternsSyncFilter","setPatternSyncFilter","patternSyncFilter","createElement","className","options","onChange"],"sources":["@wordpress/block-editor/src/components/inserter/block-patterns-sync-filter.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { SelectControl } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nexport const SYNC_TYPES = {\n\tfull: 'fully',\n\tunsynced: 'unsynced',\n};\n\nconst patternSyncOptions = [\n\t{ value: 'all', label: __( 'All' ) },\n\t{ value: SYNC_TYPES.full, label: __( 'Synced' ) },\n\t{ value: SYNC_TYPES.unsynced, label: __( 'Standard' ) },\n];\n\nexport function BlockPatternsSyncFilter( {\n\tsetPatternSyncFilter,\n\tpatternSyncFilter,\n} ) {\n\treturn (\n\t\t<SelectControl\n\t\t\tclassName=\"block-editor-patterns__sync-status-filter\"\n\t\t\tlabel={ __( 'Syncing' ) }\n\t\t\toptions={ patternSyncOptions }\n\t\t\tvalue={ patternSyncFilter }\n\t\t\tonChange={ setPatternSyncFilter }\n\t\t\taria-label={ __( 'Filter patterns by sync type' ) }\n\t\t/>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,aAAa,QAAQ,uBAAuB;AACrD,SAASC,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,OAAO,MAAMC,UAAU,GAAG;EACzBC,IAAI,EAAE,OAAO;EACbC,QAAQ,EAAE;AACX,CAAC;AAED,MAAMC,kBAAkB,GAAG,CAC1B;EAAEC,KAAK,EAAE,KAAK;EAAEC,KAAK,EAAEN,EAAE,CAAE,KAAM;AAAE,CAAC,EACpC;EAAEK,KAAK,EAAEJ,UAAU,CAACC,IAAI;EAAEI,KAAK,EAAEN,EAAE,CAAE,QAAS;AAAE,CAAC,EACjD;EAAEK,KAAK,EAAEJ,UAAU,CAACE,QAAQ;EAAEG,KAAK,EAAEN,EAAE,CAAE,UAAW;AAAE,CAAC,CACvD;AAED,OAAO,SAASO,uBAAuBA,CAAE;EACxCC,oBAAoB;EACpBC;AACD,CAAC,EAAG;EACH,OACCC,aAAA,CAACX,aAAa;IACbY,SAAS,EAAC,2CAA2C;IACrDL,KAAK,EAAGN,EAAE,CAAE,SAAU,CAAG;IACzBY,OAAO,EAAGR,kBAAoB;IAC9BC,KAAK,EAAGI,iBAAmB;IAC3BI,QAAQ,EAAGL,oBAAsB;IACjC,cAAaR,EAAE,CAAE,8BAA+B;EAAG,CACnD,CAAC;AAEJ"}
|