@wordpress/block-editor 8.0.17 → 8.1.2-next.f435e9e01b.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 +8 -0
- package/LICENSE.md +1 -1
- package/README.md +19 -6
- package/build/components/block-caption/index.native.js +14 -3
- package/build/components/block-caption/index.native.js.map +1 -1
- package/build/components/block-edit/index.js +9 -0
- package/build/components/block-edit/index.js.map +1 -1
- package/build/components/block-inspector/index.js +14 -19
- package/build/components/block-inspector/index.js.map +1 -1
- package/build/components/block-list-appender/index.js +3 -11
- package/build/components/block-list-appender/index.js.map +1 -1
- package/build/components/block-media-update-progress/index.native.js +2 -1
- package/build/components/block-media-update-progress/index.native.js.map +1 -1
- package/build/components/block-preview/auto.js +10 -2
- package/build/components/block-preview/auto.js.map +1 -1
- package/build/components/block-settings/container.native.js +2 -1
- package/build/components/block-settings/container.native.js.map +1 -1
- package/build/components/block-styles/index.js +110 -134
- package/build/components/block-styles/index.js.map +1 -1
- package/build/components/block-styles/menu-items.js +63 -0
- package/build/components/block-styles/menu-items.js.map +1 -0
- package/build/components/block-styles/preview-panel.js +45 -0
- package/build/components/block-styles/preview-panel.js.map +1 -0
- package/build/components/block-styles/preview.native.js +2 -2
- package/build/components/block-styles/preview.native.js.map +1 -1
- package/build/components/block-styles/use-styles-for-block.js +119 -0
- package/build/components/block-styles/use-styles-for-block.js.map +1 -0
- package/build/components/block-styles/utils.js +39 -0
- package/build/components/block-styles/utils.js.map +1 -1
- package/build/components/block-switcher/block-styles-menu.js +3 -23
- package/build/components/block-switcher/block-styles-menu.js.map +1 -1
- package/build/components/block-tools/back-compat.js +2 -1
- package/build/components/block-tools/back-compat.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/block-tools/insertion-point.js +11 -1
- package/build/components/block-tools/insertion-point.js.map +1 -1
- package/build/components/block-types-list/index.native.js +2 -2
- package/build/components/block-types-list/index.native.js.map +1 -1
- package/build/components/button-block-appender/index.js +2 -1
- package/build/components/button-block-appender/index.js.map +1 -1
- package/build/components/colors-gradients/dropdown.js +1 -1
- package/build/components/colors-gradients/dropdown.js.map +1 -1
- package/build/components/colors-gradients/panel-color-gradient-settings.native.js +6 -3
- package/build/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
- package/build/components/colors-gradients/tools-panel-color-dropdown.js +89 -0
- package/build/components/colors-gradients/tools-panel-color-dropdown.js.map +1 -0
- package/build/components/contrast-checker/index.js +80 -44
- package/build/components/contrast-checker/index.js.map +1 -1
- package/build/components/contrast-checker/index.native.js +108 -0
- package/build/components/contrast-checker/index.native.js.map +1 -0
- package/build/components/default-block-appender/index.js +16 -19
- package/build/components/default-block-appender/index.js.map +1 -1
- package/build/components/default-style-picker/index.js +18 -3
- package/build/components/default-style-picker/index.js.map +1 -1
- package/build/components/iframe/index.js +4 -5
- package/build/components/iframe/index.js.map +1 -1
- package/build/components/index.js +18 -18
- package/build/components/index.js.map +1 -1
- package/build/components/index.native.js +18 -0
- package/build/components/index.native.js.map +1 -1
- package/build/components/inner-blocks/default-block-appender.js +2 -4
- package/build/components/inner-blocks/default-block-appender.js.map +1 -1
- package/build/components/inner-blocks/use-nested-settings-update.js +16 -14
- package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
- package/build/components/inserter/index.js +61 -3
- package/build/components/inserter/index.js.map +1 -1
- package/build/components/inserter/index.native.js +1 -1
- package/build/components/inserter/index.native.js.map +1 -1
- package/build/components/inserter/library.js +5 -3
- package/build/components/inserter/library.js.map +1 -1
- package/build/components/inserter/menu.js +11 -3
- package/build/components/inserter/menu.js.map +1 -1
- package/build/components/inserter/search-items.js +3 -1
- package/build/components/inserter/search-items.js.map +1 -1
- package/build/components/inserter/tabs.native.js +7 -4
- package/build/components/inserter/tabs.native.js.map +1 -1
- package/build/components/inspector-controls/block-support-slot-container.js +2 -1
- package/build/components/inspector-controls/block-support-slot-container.js.map +1 -1
- package/build/components/inspector-controls/block-support-tools-panel.js +14 -44
- package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
- package/build/components/inspector-controls/fill.native.js +3 -5
- package/build/components/inspector-controls/fill.native.js.map +1 -1
- package/build/components/inspector-controls/groups.js +4 -0
- package/build/components/inspector-controls/groups.js.map +1 -1
- package/build/components/inspector-controls/slot.js +1 -3
- package/build/components/inspector-controls/slot.js.map +1 -1
- package/build/components/letter-spacing-control/index.js +6 -6
- package/build/components/letter-spacing-control/index.js.map +1 -1
- package/build/components/line-height-control/index.native.js +3 -2
- package/build/components/line-height-control/index.native.js.map +1 -1
- package/build/components/link-control/link-preview.js +1 -1
- package/build/components/link-control/link-preview.js.map +1 -1
- package/build/components/link-control/search-item.js +11 -1
- package/build/components/link-control/search-item.js.map +1 -1
- package/build/components/link-control/search-results.js +2 -1
- package/build/components/link-control/search-results.js.map +1 -1
- package/build/components/link-control/use-search-handler.js +18 -5
- package/build/components/link-control/use-search-handler.js.map +1 -1
- package/build/components/list-view/block-contents.js +3 -1
- package/build/components/list-view/block-contents.js.map +1 -1
- package/build/components/list-view/block-select-button.js +26 -4
- package/build/components/list-view/block-select-button.js.map +1 -1
- package/build/components/list-view/block.js +10 -1
- package/build/components/list-view/block.js.map +1 -1
- package/build/components/media-placeholder/index.js +3 -11
- package/build/components/media-placeholder/index.js.map +1 -1
- package/build/components/media-replace-flow/index.js +32 -6
- package/build/components/media-replace-flow/index.js.map +1 -1
- package/build/components/media-replace-flow/index.native.js +13 -0
- package/build/components/media-replace-flow/index.native.js.map +1 -0
- package/build/components/media-upload-progress/index.native.js +2 -1
- package/build/components/media-upload-progress/index.native.js.map +1 -1
- package/build/components/panel-color-settings/index.js +7 -3
- package/build/components/panel-color-settings/index.js.map +1 -1
- package/build/components/provider/block-refs-provider.js +4 -1
- package/build/components/provider/block-refs-provider.js.map +1 -1
- package/build/components/rich-text/file-paste-handler.js +1 -1
- package/build/components/rich-text/file-paste-handler.js.map +1 -1
- package/build/components/rich-text/index.js +2 -1
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/rich-text/index.native.js +2 -1
- package/build/components/rich-text/index.native.js.map +1 -1
- package/build/components/rich-text/prevent-event-discovery.js +33 -0
- package/build/components/rich-text/prevent-event-discovery.js.map +1 -0
- package/build/components/rich-text/use-input-rules.js +3 -1
- package/build/components/rich-text/use-input-rules.js.map +1 -1
- package/build/components/rich-text/use-paste-handler.js +14 -5
- package/build/components/rich-text/use-paste-handler.js.map +1 -1
- package/build/components/rich-text/utils.js +2 -1
- package/build/components/rich-text/utils.js.map +1 -1
- package/build/components/selection-scroll-into-view/index.js +2 -1
- package/build/components/selection-scroll-into-view/index.js.map +1 -1
- package/build/components/use-display-block-controls/index.native.js +45 -0
- package/build/components/use-display-block-controls/index.native.js.map +1 -0
- package/build/components/use-on-block-drop/index.js +7 -3
- package/build/components/use-on-block-drop/index.js.map +1 -1
- package/build/components/writing-flow/use-multi-selection.js +3 -1
- package/build/components/writing-flow/use-multi-selection.js.map +1 -1
- package/build/hooks/border-color.js +63 -5
- package/build/hooks/border-color.js.map +1 -1
- package/build/hooks/border-radius.js +47 -0
- package/build/hooks/border-radius.js.map +1 -1
- package/build/hooks/border-style.js +41 -0
- package/build/hooks/border-style.js.map +1 -1
- package/build/hooks/border-width.js +70 -31
- package/build/hooks/border-width.js.map +1 -1
- package/build/hooks/border.js +81 -11
- package/build/hooks/border.js.map +1 -1
- package/build/hooks/color-panel.js +25 -16
- package/build/hooks/color-panel.js.map +1 -1
- package/build/hooks/color-panel.native.js +77 -0
- package/build/hooks/color-panel.native.js.map +1 -0
- package/build/hooks/color.js +179 -12
- package/build/hooks/color.js.map +1 -1
- package/build/hooks/font-size.js +14 -0
- package/build/hooks/font-size.js.map +1 -1
- package/build/hooks/index.native.js +2 -0
- package/build/hooks/index.native.js.map +1 -1
- package/build/hooks/layout.native.js +20 -0
- package/build/hooks/layout.native.js.map +1 -0
- package/build/hooks/letter-spacing.js +1 -1
- package/build/hooks/letter-spacing.js.map +1 -1
- package/build/hooks/typography.js +1 -1
- package/build/hooks/typography.js.map +1 -1
- package/build/hooks/typography.native.js +2 -4
- package/build/hooks/typography.native.js.map +1 -1
- package/build/hooks/utils.js +55 -0
- package/build/hooks/utils.js.map +1 -1
- package/build/store/actions.js +1 -2
- package/build/store/actions.js.map +1 -1
- package/build/store/defaults.js +5 -2
- package/build/store/defaults.js.map +1 -1
- package/build/store/defaults.native.js +2 -6
- package/build/store/defaults.native.js.map +1 -1
- package/build/store/selectors.js +10 -5
- package/build/store/selectors.js.map +1 -1
- package/build/utils/get-paste-event-data.js +1 -1
- package/build/utils/get-paste-event-data.js.map +1 -1
- package/build/utils/parse-css-unit-to-px.js +1 -1
- package/build/utils/parse-css-unit-to-px.js.map +1 -1
- package/build-module/components/block-caption/index.native.js +13 -3
- package/build-module/components/block-caption/index.native.js.map +1 -1
- package/build-module/components/block-edit/index.js +9 -0
- package/build-module/components/block-edit/index.js.map +1 -1
- package/build-module/components/block-inspector/index.js +14 -19
- package/build-module/components/block-inspector/index.js.map +1 -1
- package/build-module/components/block-list-appender/index.js +3 -10
- package/build-module/components/block-list-appender/index.js.map +1 -1
- package/build-module/components/block-media-update-progress/index.native.js +2 -1
- package/build-module/components/block-media-update-progress/index.native.js.map +1 -1
- package/build-module/components/block-preview/auto.js +10 -2
- package/build-module/components/block-preview/auto.js.map +1 -1
- package/build-module/components/block-settings/container.native.js +2 -1
- package/build-module/components/block-settings/container.native.js.map +1 -1
- package/build-module/components/block-styles/index.js +112 -133
- package/build-module/components/block-styles/index.js.map +1 -1
- package/build-module/components/block-styles/menu-items.js +50 -0
- package/build-module/components/block-styles/menu-items.js.map +1 -0
- package/build-module/components/block-styles/preview-panel.js +35 -0
- package/build-module/components/block-styles/preview-panel.js.map +1 -0
- package/build-module/components/block-styles/preview.native.js +2 -2
- package/build-module/components/block-styles/preview.native.js.map +1 -1
- package/build-module/components/block-styles/use-styles-for-block.js +107 -0
- package/build-module/components/block-styles/use-styles-for-block.js.map +1 -0
- package/build-module/components/block-styles/utils.js +34 -0
- package/build-module/components/block-styles/utils.js.map +1 -1
- package/build-module/components/block-switcher/block-styles-menu.js +3 -21
- package/build-module/components/block-switcher/block-styles-menu.js.map +1 -1
- package/build-module/components/block-tools/back-compat.js +2 -1
- package/build-module/components/block-tools/back-compat.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/block-tools/insertion-point.js +11 -1
- package/build-module/components/block-tools/insertion-point.js.map +1 -1
- package/build-module/components/block-types-list/index.native.js +2 -2
- package/build-module/components/block-types-list/index.native.js.map +1 -1
- package/build-module/components/button-block-appender/index.js +2 -1
- package/build-module/components/button-block-appender/index.js.map +1 -1
- package/build-module/components/colors-gradients/dropdown.js +1 -1
- package/build-module/components/colors-gradients/dropdown.js.map +1 -1
- package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js +7 -4
- package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
- package/build-module/components/colors-gradients/tools-panel-color-dropdown.js +75 -0
- package/build-module/components/colors-gradients/tools-panel-color-dropdown.js.map +1 -0
- package/build-module/components/contrast-checker/index.js +80 -45
- package/build-module/components/contrast-checker/index.js.map +1 -1
- package/build-module/components/contrast-checker/index.native.js +90 -0
- package/build-module/components/contrast-checker/index.native.js.map +1 -0
- package/build-module/components/default-block-appender/index.js +15 -18
- package/build-module/components/default-block-appender/index.js.map +1 -1
- package/build-module/components/default-style-picker/index.js +17 -3
- package/build-module/components/default-style-picker/index.js.map +1 -1
- package/build-module/components/iframe/index.js +4 -5
- package/build-module/components/iframe/index.js.map +1 -1
- package/build-module/components/index.js +2 -2
- package/build-module/components/index.js.map +1 -1
- package/build-module/components/index.native.js +2 -0
- package/build-module/components/index.native.js.map +1 -1
- package/build-module/components/inner-blocks/default-block-appender.js +2 -4
- package/build-module/components/inner-blocks/default-block-appender.js.map +1 -1
- package/build-module/components/inner-blocks/use-nested-settings-update.js +16 -14
- package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
- package/build-module/components/inserter/index.js +61 -3
- package/build-module/components/inserter/index.js.map +1 -1
- package/build-module/components/inserter/index.native.js +2 -2
- package/build-module/components/inserter/index.native.js.map +1 -1
- package/build-module/components/inserter/library.js +5 -3
- package/build-module/components/inserter/library.js.map +1 -1
- package/build-module/components/inserter/menu.js +11 -4
- package/build-module/components/inserter/menu.js.map +1 -1
- package/build-module/components/inserter/search-items.js +3 -1
- package/build-module/components/inserter/search-items.js.map +1 -1
- package/build-module/components/inserter/tabs.native.js +7 -4
- package/build-module/components/inserter/tabs.native.js.map +1 -1
- package/build-module/components/inspector-controls/block-support-slot-container.js +2 -1
- package/build-module/components/inspector-controls/block-support-slot-container.js.map +1 -1
- package/build-module/components/inspector-controls/block-support-tools-panel.js +15 -44
- package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
- package/build-module/components/inspector-controls/fill.native.js +3 -5
- package/build-module/components/inspector-controls/fill.native.js.map +1 -1
- package/build-module/components/inspector-controls/groups.js +4 -0
- package/build-module/components/inspector-controls/groups.js.map +1 -1
- package/build-module/components/inspector-controls/slot.js +1 -3
- package/build-module/components/inspector-controls/slot.js.map +1 -1
- package/build-module/components/letter-spacing-control/index.js +6 -6
- package/build-module/components/letter-spacing-control/index.js.map +1 -1
- package/build-module/components/line-height-control/index.native.js +3 -2
- package/build-module/components/line-height-control/index.native.js.map +1 -1
- package/build-module/components/link-control/link-preview.js +1 -1
- package/build-module/components/link-control/link-preview.js.map +1 -1
- package/build-module/components/link-control/search-item.js +11 -1
- package/build-module/components/link-control/search-item.js.map +1 -1
- package/build-module/components/link-control/search-results.js +2 -1
- package/build-module/components/link-control/search-results.js.map +1 -1
- package/build-module/components/link-control/use-search-handler.js +18 -5
- package/build-module/components/link-control/use-search-handler.js.map +1 -1
- package/build-module/components/list-view/block-contents.js +3 -1
- package/build-module/components/list-view/block-contents.js.map +1 -1
- package/build-module/components/list-view/block-select-button.js +25 -4
- package/build-module/components/list-view/block-select-button.js.map +1 -1
- package/build-module/components/list-view/block.js +8 -1
- package/build-module/components/list-view/block.js.map +1 -1
- package/build-module/components/media-placeholder/index.js +3 -10
- package/build-module/components/media-placeholder/index.js.map +1 -1
- package/build-module/components/media-replace-flow/index.js +32 -6
- package/build-module/components/media-replace-flow/index.js.map +1 -1
- package/build-module/components/media-replace-flow/index.native.js +4 -0
- package/build-module/components/media-replace-flow/index.native.js.map +1 -0
- package/build-module/components/media-upload-progress/index.native.js +2 -1
- package/build-module/components/media-upload-progress/index.native.js.map +1 -1
- package/build-module/components/panel-color-settings/index.js +7 -3
- package/build-module/components/panel-color-settings/index.js.map +1 -1
- package/build-module/components/provider/block-refs-provider.js +4 -1
- package/build-module/components/provider/block-refs-provider.js.map +1 -1
- package/build-module/components/rich-text/file-paste-handler.js +1 -1
- package/build-module/components/rich-text/file-paste-handler.js.map +1 -1
- package/build-module/components/rich-text/index.js +2 -1
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/rich-text/index.native.js +2 -1
- package/build-module/components/rich-text/index.native.js.map +1 -1
- package/build-module/components/rich-text/prevent-event-discovery.js +25 -0
- package/build-module/components/rich-text/prevent-event-discovery.js.map +1 -0
- package/build-module/components/rich-text/use-input-rules.js +2 -1
- package/build-module/components/rich-text/use-input-rules.js.map +1 -1
- package/build-module/components/rich-text/use-paste-handler.js +14 -5
- package/build-module/components/rich-text/use-paste-handler.js.map +1 -1
- package/build-module/components/rich-text/utils.js +2 -1
- package/build-module/components/rich-text/utils.js.map +1 -1
- package/build-module/components/selection-scroll-into-view/index.js +2 -1
- package/build-module/components/selection-scroll-into-view/index.js.map +1 -1
- package/build-module/components/use-display-block-controls/index.native.js +34 -0
- package/build-module/components/use-display-block-controls/index.native.js.map +1 -0
- package/build-module/components/use-on-block-drop/index.js +7 -3
- package/build-module/components/use-on-block-drop/index.js.map +1 -1
- package/build-module/components/writing-flow/use-multi-selection.js +3 -4
- package/build-module/components/writing-flow/use-multi-selection.js.map +1 -1
- package/build-module/hooks/border-color.js +61 -7
- package/build-module/hooks/border-color.js.map +1 -1
- package/build-module/hooks/border-radius.js +42 -0
- package/build-module/hooks/border-radius.js.map +1 -1
- package/build-module/hooks/border-style.js +36 -0
- package/build-module/hooks/border-style.js.map +1 -1
- package/build-module/hooks/border-width.js +66 -32
- package/build-module/hooks/border-width.js.map +1 -1
- package/build-module/hooks/border.js +80 -12
- package/build-module/hooks/border.js.map +1 -1
- package/build-module/hooks/color-panel.js +24 -14
- package/build-module/hooks/color-panel.js.map +1 -1
- package/build-module/hooks/color-panel.native.js +62 -0
- package/build-module/hooks/color-panel.native.js.map +1 -0
- package/build-module/hooks/color.js +177 -13
- package/build-module/hooks/color.js.map +1 -1
- package/build-module/hooks/font-size.js +12 -1
- package/build-module/hooks/font-size.js.map +1 -1
- package/build-module/hooks/index.native.js +1 -0
- package/build-module/hooks/index.native.js.map +1 -1
- package/build-module/hooks/layout.native.js +16 -0
- package/build-module/hooks/layout.native.js.map +1 -0
- package/build-module/hooks/letter-spacing.js +1 -1
- package/build-module/hooks/letter-spacing.js.map +1 -1
- package/build-module/hooks/typography.js +1 -1
- package/build-module/hooks/typography.js.map +1 -1
- package/build-module/hooks/typography.native.js +2 -4
- package/build-module/hooks/typography.native.js.map +1 -1
- package/build-module/hooks/utils.js +52 -1
- package/build-module/hooks/utils.js.map +1 -1
- package/build-module/store/actions.js +1 -2
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/defaults.js +5 -2
- package/build-module/store/defaults.js.map +1 -1
- package/build-module/store/defaults.native.js +2 -5
- package/build-module/store/defaults.native.js.map +1 -1
- package/build-module/store/selectors.js +10 -5
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/get-paste-event-data.js +1 -1
- package/build-module/utils/get-paste-event-data.js.map +1 -1
- package/build-module/utils/parse-css-unit-to-px.js +1 -1
- package/build-module/utils/parse-css-unit-to-px.js.map +1 -1
- package/build-style/style-rtl.css +256 -191
- package/build-style/style.css +256 -191
- package/package.json +30 -30
- package/src/components/block-caption/index.native.js +22 -4
- package/src/components/block-card/README.md +1 -1
- package/src/components/block-edit/index.js +8 -0
- package/src/components/block-edit/test/edit.native.js +10 -9
- package/src/components/block-inspector/index.js +18 -16
- package/src/components/block-list-appender/index.js +5 -21
- package/src/components/block-media-update-progress/index.native.js +1 -1
- package/src/components/block-media-update-progress/test/index.native.js +136 -93
- package/src/components/block-mover/test/__snapshots__/index.native.js.snap +108 -47
- package/src/components/block-mover/test/index.native.js +5 -5
- package/src/components/block-preview/README.md +14 -26
- package/src/components/block-preview/auto.js +7 -2
- package/src/components/block-preview/test/index.js +2 -0
- package/src/components/block-settings/container.native.js +1 -0
- package/src/components/block-styles/index.js +125 -145
- package/src/components/block-styles/menu-items.js +49 -0
- package/src/components/block-styles/preview-panel.js +36 -0
- package/src/components/block-styles/preview.native.js +5 -2
- package/src/components/block-styles/style.scss +59 -51
- package/src/components/block-styles/test/{index.js → utils.js} +60 -1
- package/src/components/block-styles/use-styles-for-block.js +99 -0
- package/src/components/block-styles/utils.js +39 -0
- package/src/components/block-switcher/block-styles-menu.js +3 -38
- package/src/components/block-tools/back-compat.js +1 -0
- package/src/components/block-tools/block-selection-button.js +7 -1
- package/src/components/block-tools/insertion-point.js +10 -1
- package/src/components/block-types-list/index.native.js +5 -2
- package/src/components/border-radius-control/style.scss +1 -1
- package/src/components/border-style-control/style.scss +0 -1
- package/src/components/button-block-appender/index.js +1 -0
- package/src/components/color-palette/test/__snapshots__/control.js.snap +9 -5
- package/src/components/colors-gradients/dropdown.js +48 -43
- package/src/components/colors-gradients/panel-color-gradient-settings.native.js +13 -2
- package/src/components/colors-gradients/style.scss +10 -5
- package/src/components/colors-gradients/tools-panel-color-dropdown.js +85 -0
- package/src/components/contrast-checker/README.md +3 -1
- package/src/components/contrast-checker/index.js +107 -64
- package/src/components/contrast-checker/index.native.js +113 -0
- package/src/components/contrast-checker/style.native.scss +26 -0
- package/src/components/contrast-checker/test/index.js +236 -2
- package/src/components/default-block-appender/index.js +17 -24
- package/src/components/default-block-appender/style.scss +4 -0
- package/src/components/default-block-appender/test/__snapshots__/index.js.snap +12 -24
- package/src/components/default-block-appender/test/index.js +4 -14
- package/src/components/default-style-picker/index.js +18 -6
- package/src/components/iframe/index.js +7 -3
- package/src/components/index.js +2 -2
- package/src/components/index.native.js +2 -0
- package/src/components/inner-blocks/README.md +2 -0
- package/src/components/inner-blocks/default-block-appender.js +2 -7
- package/src/components/inner-blocks/use-nested-settings-update.js +16 -14
- package/src/components/inserter/index.js +77 -5
- package/src/components/inserter/index.native.js +2 -2
- package/src/components/inserter/library.js +17 -12
- package/src/components/inserter/menu.js +31 -13
- package/src/components/inserter/search-items.js +3 -1
- package/src/components/inserter/tabs.native.js +5 -4
- package/src/components/inserter/test/block-types-tab.native.js +9 -10
- package/src/components/inserter/test/index.native.js +3 -7
- package/src/components/inserter/test/reusable-blocks-tab.native.js +8 -10
- package/src/components/inspector-controls/block-support-slot-container.js +3 -1
- package/src/components/inspector-controls/block-support-tools-panel.js +41 -58
- package/src/components/inspector-controls/fill.native.js +4 -3
- package/src/components/inspector-controls/groups.js +4 -0
- package/src/components/inspector-controls/slot.js +2 -7
- package/src/components/letter-spacing-control/index.js +6 -6
- package/src/components/line-height-control/index.native.js +2 -1
- package/src/components/link-control/README.md +1 -1
- package/src/components/link-control/link-preview.js +1 -1
- package/src/components/link-control/search-item.js +11 -2
- package/src/components/link-control/search-results.js +1 -0
- package/src/components/link-control/style.scss +5 -10
- package/src/components/link-control/test/index.js +4 -0
- package/src/components/link-control/use-search-handler.js +25 -4
- package/src/components/list-view/block-contents.js +2 -0
- package/src/components/list-view/block-select-button.js +22 -1
- package/src/components/list-view/block.js +11 -0
- package/src/components/media-placeholder/index.js +3 -10
- package/src/components/media-replace-flow/index.js +35 -5
- package/src/components/media-replace-flow/index.native.js +3 -0
- package/src/components/media-upload/test/index.native.js +28 -47
- package/src/components/media-upload-progress/index.native.js +1 -0
- package/src/components/media-upload-progress/test/index.native.js +60 -47
- package/src/components/panel-color-settings/index.js +8 -4
- package/src/components/provider/block-refs-provider.js +4 -1
- package/src/components/rich-text/file-paste-handler.js +3 -1
- package/src/components/rich-text/index.js +1 -0
- package/src/components/rich-text/index.native.js +1 -0
- package/src/components/rich-text/prevent-event-discovery.js +23 -0
- package/src/components/rich-text/use-input-rules.js +2 -1
- package/src/components/rich-text/use-paste-handler.js +16 -3
- package/src/components/rich-text/utils.js +1 -0
- package/src/components/selection-scroll-into-view/index.js +1 -0
- package/src/components/url-input/README.md +5 -0
- package/src/components/use-display-block-controls/index.native.js +38 -0
- package/src/components/use-on-block-drop/index.js +7 -3
- package/src/components/writing-flow/test/use-multi-selection.js +36 -0
- package/src/components/writing-flow/use-multi-selection.js +12 -9
- package/src/hooks/border-color.js +55 -3
- package/src/hooks/border-radius.js +32 -0
- package/src/hooks/border-style.js +26 -0
- package/src/hooks/border-width.js +56 -32
- package/src/hooks/border.js +115 -20
- package/src/hooks/border.scss +3 -17
- package/src/hooks/color-panel.js +25 -19
- package/src/hooks/color-panel.native.js +63 -0
- package/src/hooks/color.js +182 -12
- package/src/hooks/color.scss +85 -0
- package/src/hooks/font-size.js +29 -1
- package/src/hooks/index.native.js +1 -0
- package/src/hooks/layout.native.js +23 -0
- package/src/hooks/letter-spacing.js +1 -1
- package/src/hooks/typography.js +1 -1
- package/src/hooks/typography.native.js +1 -3
- package/src/hooks/utils.js +69 -1
- package/src/store/actions.js +1 -2
- package/src/store/defaults.js +2 -1
- package/src/store/defaults.native.js +2 -6
- package/src/store/selectors.js +10 -5
- package/src/style.scss +4 -3
- package/src/utils/get-paste-event-data.js +1 -1
- package/src/utils/parse-css-unit-to-px.js +1 -1
- package/src/utils/test/parse-css-unit-to-px.js +3 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/build/components/preserve-scroll-in-reorder/index.js +0 -22
- package/build/components/preserve-scroll-in-reorder/index.js.map +0 -1
- package/build/components/use-canvas-click-redirect/index.js +0 -66
- package/build/components/use-canvas-click-redirect/index.js.map +0 -1
- package/build-module/components/preserve-scroll-in-reorder/index.js +0 -12
- package/build-module/components/preserve-scroll-in-reorder/index.js.map +0 -1
- package/build-module/components/use-canvas-click-redirect/index.js +0 -54
- package/build-module/components/use-canvas-click-redirect/index.js.map +0 -1
- package/src/components/preserve-scroll-in-reorder/index.js +0 -12
- package/src/components/use-canvas-click-redirect/index.js +0 -57
|
@@ -36,7 +36,7 @@ export default function ColorGradientSettingsDropdown(_ref) {
|
|
|
36
36
|
isBordered: true,
|
|
37
37
|
isSeparated: true,
|
|
38
38
|
className: "block-editor-panel-color-gradient-settings__item-group"
|
|
39
|
-
}, settings.map((setting, index) => createElement(Dropdown, {
|
|
39
|
+
}, settings.map((setting, index) => setting && createElement(Dropdown, {
|
|
40
40
|
key: index,
|
|
41
41
|
position: dropdownPosition,
|
|
42
42
|
className: "block-editor-panel-color-gradient-settings__dropdown",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/colors-gradients/dropdown.js"],"names":["classnames","__experimentalItemGroup","ItemGroup","__experimentalItem","Item","__experimentalHStack","HStack","FlexItem","ColorIndicator","Dropdown","ColorGradientControl","ColorGradientSettingsDropdown","colors","gradients","disableCustomColors","disableCustomGradients","__experimentalHasMultipleOrigins","__experimentalIsRenderedInSidebar","enableAlpha","settings","dropdownPosition","map","setting","index","isOpen","onToggle","gradientValue","colorValue","label"],"mappings":";;;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SACCC,uBAAuB,IAAIC,SAD5B,EAECC,kBAAkB,IAAIC,IAFvB,EAGCC,oBAAoB,IAAIC,MAHzB,EAICC,QAJD,EAKCC,cALD,EAMCC,QAND,QAOO,uBAPP;AASA;AACA;AACA;;AACA,OAAOC,oBAAP,MAAiC,WAAjC;AAEA,eAAe,SAASC,6BAAT,OASX;AAAA,MATmD;AACtDC,IAAAA,MADsD;AAEtDC,IAAAA,SAFsD;AAGtDC,IAAAA,mBAHsD;AAItDC,IAAAA,sBAJsD;AAKtDC,IAAAA,gCALsD;AAMtDC,IAAAA,iCANsD;AAOtDC,IAAAA,WAPsD;AAQtDC,IAAAA;AARsD,GASnD;AACH,MAAIC,gBAAJ;;AACA,MAAKH,iCAAL,EAAyC;AACxCG,IAAAA,gBAAgB,GAAG,aAAnB;AACA;;AAED,SACC,cAAC,SAAD;AACC,IAAA,UAAU,MADX;AAEC,IAAA,WAAW,MAFZ;AAGC,IAAA,SAAS,EAAC;AAHX,KAKGD,QAAQ,CAACE,GAAT,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/colors-gradients/dropdown.js"],"names":["classnames","__experimentalItemGroup","ItemGroup","__experimentalItem","Item","__experimentalHStack","HStack","FlexItem","ColorIndicator","Dropdown","ColorGradientControl","ColorGradientSettingsDropdown","colors","gradients","disableCustomColors","disableCustomGradients","__experimentalHasMultipleOrigins","__experimentalIsRenderedInSidebar","enableAlpha","settings","dropdownPosition","map","setting","index","isOpen","onToggle","gradientValue","colorValue","label"],"mappings":";;;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SACCC,uBAAuB,IAAIC,SAD5B,EAECC,kBAAkB,IAAIC,IAFvB,EAGCC,oBAAoB,IAAIC,MAHzB,EAICC,QAJD,EAKCC,cALD,EAMCC,QAND,QAOO,uBAPP;AASA;AACA;AACA;;AACA,OAAOC,oBAAP,MAAiC,WAAjC;AAEA,eAAe,SAASC,6BAAT,OASX;AAAA,MATmD;AACtDC,IAAAA,MADsD;AAEtDC,IAAAA,SAFsD;AAGtDC,IAAAA,mBAHsD;AAItDC,IAAAA,sBAJsD;AAKtDC,IAAAA,gCALsD;AAMtDC,IAAAA,iCANsD;AAOtDC,IAAAA,WAPsD;AAQtDC,IAAAA;AARsD,GASnD;AACH,MAAIC,gBAAJ;;AACA,MAAKH,iCAAL,EAAyC;AACxCG,IAAAA,gBAAgB,GAAG,aAAnB;AACA;;AAED,SACC,cAAC,SAAD;AACC,IAAA,UAAU,MADX;AAEC,IAAA,WAAW,MAFZ;AAGC,IAAA,SAAS,EAAC;AAHX,KAKGD,QAAQ,CAACE,GAAT,CACD,CAAEC,OAAF,EAAWC,KAAX,KACCD,OAAO,IACN,cAAC,QAAD;AACC,IAAA,GAAG,EAAGC,KADP;AAEC,IAAA,QAAQ,EAAGH,gBAFZ;AAGC,IAAA,SAAS,EAAC,sDAHX;AAIC,IAAA,gBAAgB,EAAC,8DAJlB;AAKC,IAAA,YAAY,EAAG,SAA4B;AAAA;;AAAA,UAA1B;AAAEI,QAAAA,MAAF;AAAUC,QAAAA;AAAV,OAA0B;AAC1C,aACC,cAAC,IAAD;AACC,QAAA,OAAO,EAAGA,QADX;AAEC,QAAA,SAAS,EAAGzB,UAAU,CACrB,kDADqB,EAErB;AAAE,qBAAWwB;AAAb,SAFqB;AAFvB,SAOC,cAAC,MAAD;AAAQ,QAAA,OAAO,EAAC;AAAhB,SACC,cAAC,cAAD;AACC,QAAA,SAAS,EAAC,6DADX;AAEC,QAAA,UAAU,2BACTF,OAAO,CAACI,aADC,yEAETJ,OAAO,CAACK;AAJV,QADD,EAQC,cAAC,QAAD,QACGL,OAAO,CAACM,KADX,CARD,CAPD,CADD;AAsBA,KA5BF;AA6BC,IAAA,aAAa,EAAG,MACf,cAAC,oBAAD;AACC,MAAA,SAAS,EAAG,KADb;AAGEhB,MAAAA,MAHF;AAIEC,MAAAA,SAJF;AAKEC,MAAAA,mBALF;AAMEC,MAAAA,sBANF;AAOEC,MAAAA,gCAPF;AAQEC,MAAAA,iCARF;AASEC,MAAAA;AATF,OAUKI,OAVL;AA9BF,IAHD,CALH,CADD;AA0DA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalItem as Item,\n\t__experimentalHStack as HStack,\n\tFlexItem,\n\tColorIndicator,\n\tDropdown,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport ColorGradientControl from './control';\n\nexport default function ColorGradientSettingsDropdown( {\n\tcolors,\n\tgradients,\n\tdisableCustomColors,\n\tdisableCustomGradients,\n\t__experimentalHasMultipleOrigins,\n\t__experimentalIsRenderedInSidebar,\n\tenableAlpha,\n\tsettings,\n} ) {\n\tlet dropdownPosition;\n\tif ( __experimentalIsRenderedInSidebar ) {\n\t\tdropdownPosition = 'bottom left';\n\t}\n\n\treturn (\n\t\t<ItemGroup\n\t\t\tisBordered\n\t\t\tisSeparated\n\t\t\tclassName=\"block-editor-panel-color-gradient-settings__item-group\"\n\t\t>\n\t\t\t{ settings.map(\n\t\t\t\t( setting, index ) =>\n\t\t\t\t\tsetting && (\n\t\t\t\t\t\t<Dropdown\n\t\t\t\t\t\t\tkey={ index }\n\t\t\t\t\t\t\tposition={ dropdownPosition }\n\t\t\t\t\t\t\tclassName=\"block-editor-panel-color-gradient-settings__dropdown\"\n\t\t\t\t\t\t\tcontentClassName=\"block-editor-panel-color-gradient-settings__dropdown-content\"\n\t\t\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<Item\n\t\t\t\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t\t\t\t'block-editor-panel-color-gradient-settings__item',\n\t\t\t\t\t\t\t\t\t\t\t{ 'is-open': isOpen }\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<HStack justify=\"flex-start\">\n\t\t\t\t\t\t\t\t\t\t\t<ColorIndicator\n\t\t\t\t\t\t\t\t\t\t\t\tclassName=\"block-editor-panel-color-gradient-settings__color-indicator\"\n\t\t\t\t\t\t\t\t\t\t\t\tcolorValue={\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetting.gradientValue ??\n\t\t\t\t\t\t\t\t\t\t\t\t\tsetting.colorValue\n\t\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t\t<FlexItem>\n\t\t\t\t\t\t\t\t\t\t\t\t{ setting.label }\n\t\t\t\t\t\t\t\t\t\t\t</FlexItem>\n\t\t\t\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t\t\t\t</Item>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\trenderContent={ () => (\n\t\t\t\t\t\t\t\t<ColorGradientControl\n\t\t\t\t\t\t\t\t\tshowTitle={ false }\n\t\t\t\t\t\t\t\t\t{ ...{\n\t\t\t\t\t\t\t\t\t\tcolors,\n\t\t\t\t\t\t\t\t\t\tgradients,\n\t\t\t\t\t\t\t\t\t\tdisableCustomColors,\n\t\t\t\t\t\t\t\t\t\tdisableCustomGradients,\n\t\t\t\t\t\t\t\t\t\t__experimentalHasMultipleOrigins,\n\t\t\t\t\t\t\t\t\t\t__experimentalIsRenderedInSidebar,\n\t\t\t\t\t\t\t\t\t\tenableAlpha,\n\t\t\t\t\t\t\t\t\t\t...setting,\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) }\n\t\t</ItemGroup>\n\t);\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createElement } from "@wordpress/element";
|
|
1
|
+
import { createElement, Fragment } from "@wordpress/element";
|
|
2
2
|
|
|
3
3
|
/**
|
|
4
4
|
* External dependencies
|
|
@@ -18,13 +18,15 @@ import { blockSettingsScreens } from '../block-settings';
|
|
|
18
18
|
export default function PanelColorGradientSettings(_ref) {
|
|
19
19
|
let {
|
|
20
20
|
settings,
|
|
21
|
-
title
|
|
21
|
+
title,
|
|
22
|
+
children
|
|
22
23
|
} = _ref;
|
|
23
24
|
const navigation = useNavigation();
|
|
24
25
|
const mappedSettings = useMemo(() => {
|
|
25
26
|
return settings.map(_ref2 => {
|
|
26
27
|
let {
|
|
27
28
|
onColorChange,
|
|
29
|
+
onColorCleared,
|
|
28
30
|
colorValue,
|
|
29
31
|
onGradientChange,
|
|
30
32
|
gradientValue,
|
|
@@ -37,6 +39,7 @@ export default function PanelColorGradientSettings(_ref) {
|
|
|
37
39
|
colorValue: gradientValue || colorValue,
|
|
38
40
|
gradientValue,
|
|
39
41
|
onGradientChange,
|
|
42
|
+
onColorCleared,
|
|
40
43
|
label
|
|
41
44
|
});
|
|
42
45
|
},
|
|
@@ -46,8 +49,8 @@ export default function PanelColorGradientSettings(_ref) {
|
|
|
46
49
|
});
|
|
47
50
|
});
|
|
48
51
|
}, [settings]);
|
|
49
|
-
return createElement(PanelBody, {
|
|
52
|
+
return createElement(Fragment, null, createElement(PanelBody, {
|
|
50
53
|
title: title
|
|
51
|
-
}, mappedSettings);
|
|
54
|
+
}, mappedSettings), createElement(PanelBody, null, children));
|
|
52
55
|
}
|
|
53
56
|
//# sourceMappingURL=panel-color-gradient-settings.native.js.map
|
package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/colors-gradients/panel-color-gradient-settings.native.js"],"names":["useNavigation","ColorControl","PanelBody","useMemo","blockSettingsScreens","PanelColorGradientSettings","settings","title","navigation","mappedSettings","map","onColorChange","colorValue","onGradientChange","gradientValue","label","navigate","color"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,aAAT,QAA8B,0BAA9B;AAEA;AACA;AACA;;AACA,SAASC,YAAT,EAAuBC,SAAvB,QAAwC,uBAAxC;AACA,SAASC,OAAT,QAAwB,oBAAxB;AAEA;AACA;AACA;;AACA,SAASC,oBAAT,QAAqC,mBAArC;AAEA,eAAe,SAASC,0BAAT,
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/colors-gradients/panel-color-gradient-settings.native.js"],"names":["useNavigation","ColorControl","PanelBody","useMemo","blockSettingsScreens","PanelColorGradientSettings","settings","title","children","navigation","mappedSettings","map","onColorChange","onColorCleared","colorValue","onGradientChange","gradientValue","label","navigate","color"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,aAAT,QAA8B,0BAA9B;AAEA;AACA;AACA;;AACA,SAASC,YAAT,EAAuBC,SAAvB,QAAwC,uBAAxC;AACA,SAASC,OAAT,QAAwB,oBAAxB;AAEA;AACA;AACA;;AACA,SAASC,oBAAT,QAAqC,mBAArC;AAEA,eAAe,SAASC,0BAAT,OAIX;AAAA,MAJgD;AACnDC,IAAAA,QADmD;AAEnDC,IAAAA,KAFmD;AAGnDC,IAAAA;AAHmD,GAIhD;AACH,QAAMC,UAAU,GAAGT,aAAa,EAAhC;AAEA,QAAMU,cAAc,GAAGP,OAAO,CAAE,MAAM;AACrC,WAAOG,QAAQ,CAACK,GAAT,CACN;AAAA,UAAE;AACDC,QAAAA,aADC;AAEDC,QAAAA,cAFC;AAGDC,QAAAA,UAHC;AAIDC,QAAAA,gBAJC;AAKDC,QAAAA,aALC;AAMDC,QAAAA;AANC,OAAF;AAAA,aAQC,cAAC,YAAD;AACC,QAAA,OAAO,EAAG,MAAM;AACfR,UAAAA,UAAU,CAACS,QAAX,CAAqBd,oBAAoB,CAACe,KAA1C,EAAiD;AAChDP,YAAAA,aADgD;AAEhDE,YAAAA,UAAU,EAAEE,aAAa,IAAIF,UAFmB;AAGhDE,YAAAA,aAHgD;AAIhDD,YAAAA,gBAJgD;AAKhDF,YAAAA,cALgD;AAMhDI,YAAAA;AANgD,WAAjD;AAQA,SAVF;AAWC,QAAA,GAAG,EAAI,iBAAiBA,KAAO,EAXhC;AAYC,QAAA,KAAK,EAAGA,KAZT;AAaC,QAAA,KAAK,EAAGD,aAAa,IAAIF;AAb1B,QARD;AAAA,KADM,CAAP;AA0BA,GA3B6B,EA2B3B,CAAER,QAAF,CA3B2B,CAA9B;AA6BA,SACC,8BACC,cAAC,SAAD;AAAW,IAAA,KAAK,EAAGC;AAAnB,KAA6BG,cAA7B,CADD,EAEC,cAAC,SAAD,QAAaF,QAAb,CAFD,CADD;AAMA","sourcesContent":["/**\n * External dependencies\n */\nimport { useNavigation } from '@react-navigation/native';\n\n/**\n * WordPress dependencies\n */\nimport { ColorControl, PanelBody } from '@wordpress/components';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { blockSettingsScreens } from '../block-settings';\n\nexport default function PanelColorGradientSettings( {\n\tsettings,\n\ttitle,\n\tchildren,\n} ) {\n\tconst navigation = useNavigation();\n\n\tconst mappedSettings = useMemo( () => {\n\t\treturn settings.map(\n\t\t\t( {\n\t\t\t\tonColorChange,\n\t\t\t\tonColorCleared,\n\t\t\t\tcolorValue,\n\t\t\t\tonGradientChange,\n\t\t\t\tgradientValue,\n\t\t\t\tlabel,\n\t\t\t} ) => (\n\t\t\t\t<ColorControl\n\t\t\t\t\tonPress={ () => {\n\t\t\t\t\t\tnavigation.navigate( blockSettingsScreens.color, {\n\t\t\t\t\t\t\tonColorChange,\n\t\t\t\t\t\t\tcolorValue: gradientValue || colorValue,\n\t\t\t\t\t\t\tgradientValue,\n\t\t\t\t\t\t\tonGradientChange,\n\t\t\t\t\t\t\tonColorCleared,\n\t\t\t\t\t\t\tlabel,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tkey={ `color-setting-${ label }` }\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tcolor={ gradientValue || colorValue }\n\t\t\t\t/>\n\t\t\t)\n\t\t);\n\t}, [ settings ] );\n\n\treturn (\n\t\t<>\n\t\t\t<PanelBody title={ title }>{ mappedSettings }</PanelBody>\n\t\t\t<PanelBody>{ children }</PanelBody>\n\t\t</>\n\t);\n}\n"]}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/esm/extends";
|
|
2
|
+
import { createElement } from "@wordpress/element";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* External dependencies
|
|
6
|
+
*/
|
|
7
|
+
import classnames from 'classnames';
|
|
8
|
+
/**
|
|
9
|
+
* WordPress dependencies
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
import { Button, ColorIndicator, Dropdown, FlexItem, __experimentalHStack as HStack, __experimentalToolsPanelItem as ToolsPanelItem } from '@wordpress/components';
|
|
13
|
+
/**
|
|
14
|
+
* Internal dependencies
|
|
15
|
+
*/
|
|
16
|
+
|
|
17
|
+
import ColorGradientControl from './control';
|
|
18
|
+
import useMultipleOriginColorsAndGradients from './use-multiple-origin-colors-and-gradients';
|
|
19
|
+
export default function ToolsPanelColorDropdown(_ref) {
|
|
20
|
+
var _settings$gradientVal;
|
|
21
|
+
|
|
22
|
+
let {
|
|
23
|
+
settings,
|
|
24
|
+
enableAlpha,
|
|
25
|
+
...otherProps
|
|
26
|
+
} = _ref;
|
|
27
|
+
const colorGradientSettings = useMultipleOriginColorsAndGradients();
|
|
28
|
+
const controlSettings = { ...colorGradientSettings,
|
|
29
|
+
clearable: false,
|
|
30
|
+
enableAlpha,
|
|
31
|
+
label: settings.label,
|
|
32
|
+
onColorChange: settings.onColorChange,
|
|
33
|
+
onGradientChange: settings.onGradientChange,
|
|
34
|
+
colorValue: settings.colorValue,
|
|
35
|
+
gradientValue: settings.gradientValue
|
|
36
|
+
};
|
|
37
|
+
const selectedColor = (_settings$gradientVal = settings.gradientValue) !== null && _settings$gradientVal !== void 0 ? _settings$gradientVal : settings.colorValue;
|
|
38
|
+
return createElement(ToolsPanelItem, _extends({
|
|
39
|
+
hasValue: settings.hasValue,
|
|
40
|
+
label: settings.label,
|
|
41
|
+
onDeselect: settings.onDeselect,
|
|
42
|
+
isShownByDefault: settings.isShownByDefault,
|
|
43
|
+
resetAllFilter: settings.resetAllFilter
|
|
44
|
+
}, otherProps, {
|
|
45
|
+
className: "block-editor-tools-panel-color-gradient-settings__item"
|
|
46
|
+
}), createElement(Dropdown, {
|
|
47
|
+
className: "block-editor-tools-panel-color-dropdown",
|
|
48
|
+
contentClassName: "block-editor-panel-color-gradient-settings__dropdown-content",
|
|
49
|
+
renderToggle: _ref2 => {
|
|
50
|
+
let {
|
|
51
|
+
isOpen,
|
|
52
|
+
onToggle
|
|
53
|
+
} = _ref2;
|
|
54
|
+
return createElement(Button, {
|
|
55
|
+
onClick: onToggle,
|
|
56
|
+
"aria-expanded": isOpen,
|
|
57
|
+
className: classnames('block-editor-panel-color-gradient-settings__dropdown', {
|
|
58
|
+
'is-open': isOpen
|
|
59
|
+
})
|
|
60
|
+
}, createElement(HStack, {
|
|
61
|
+
justify: "flex-start"
|
|
62
|
+
}, createElement(ColorIndicator, {
|
|
63
|
+
className: "block-editor-panel-color-gradient-settings__color-indicator",
|
|
64
|
+
colorValue: selectedColor
|
|
65
|
+
}), createElement(FlexItem, null, settings.label)));
|
|
66
|
+
},
|
|
67
|
+
renderContent: () => createElement(ColorGradientControl, _extends({
|
|
68
|
+
showTitle: false,
|
|
69
|
+
__experimentalHasMultipleOrigins: true,
|
|
70
|
+
__experimentalIsRenderedInSidebar: true,
|
|
71
|
+
enableAlpha: true
|
|
72
|
+
}, controlSettings))
|
|
73
|
+
}));
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=tools-panel-color-dropdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/colors-gradients/tools-panel-color-dropdown.js"],"names":["classnames","Button","ColorIndicator","Dropdown","FlexItem","__experimentalHStack","HStack","__experimentalToolsPanelItem","ToolsPanelItem","ColorGradientControl","useMultipleOriginColorsAndGradients","ToolsPanelColorDropdown","settings","enableAlpha","otherProps","colorGradientSettings","controlSettings","clearable","label","onColorChange","onGradientChange","colorValue","gradientValue","selectedColor","hasValue","onDeselect","isShownByDefault","resetAllFilter","isOpen","onToggle"],"mappings":";;;AAAA;AACA;AACA;AACA,OAAOA,UAAP,MAAuB,YAAvB;AAEA;AACA;AACA;;AACA,SACCC,MADD,EAECC,cAFD,EAGCC,QAHD,EAICC,QAJD,EAKCC,oBAAoB,IAAIC,MALzB,EAMCC,4BAA4B,IAAIC,cANjC,QAOO,uBAPP;AASA;AACA;AACA;;AACA,OAAOC,oBAAP,MAAiC,WAAjC;AACA,OAAOC,mCAAP,MAAgD,4CAAhD;AAEA,eAAe,SAASC,uBAAT,OAIX;AAAA;;AAAA,MAJ6C;AAChDC,IAAAA,QADgD;AAEhDC,IAAAA,WAFgD;AAGhD,OAAGC;AAH6C,GAI7C;AACH,QAAMC,qBAAqB,GAAGL,mCAAmC,EAAjE;AACA,QAAMM,eAAe,GAAG,EACvB,GAAGD,qBADoB;AAEvBE,IAAAA,SAAS,EAAE,KAFY;AAGvBJ,IAAAA,WAHuB;AAIvBK,IAAAA,KAAK,EAAEN,QAAQ,CAACM,KAJO;AAKvBC,IAAAA,aAAa,EAAEP,QAAQ,CAACO,aALD;AAMvBC,IAAAA,gBAAgB,EAAER,QAAQ,CAACQ,gBANJ;AAOvBC,IAAAA,UAAU,EAAET,QAAQ,CAACS,UAPE;AAQvBC,IAAAA,aAAa,EAAEV,QAAQ,CAACU;AARD,GAAxB;AAUA,QAAMC,aAAa,4BAAGX,QAAQ,CAACU,aAAZ,yEAA6BV,QAAQ,CAACS,UAAzD;AAEA,SACC,cAAC,cAAD;AACC,IAAA,QAAQ,EAAGT,QAAQ,CAACY,QADrB;AAEC,IAAA,KAAK,EAAGZ,QAAQ,CAACM,KAFlB;AAGC,IAAA,UAAU,EAAGN,QAAQ,CAACa,UAHvB;AAIC,IAAA,gBAAgB,EAAGb,QAAQ,CAACc,gBAJ7B;AAKC,IAAA,cAAc,EAAGd,QAAQ,CAACe;AAL3B,KAMMb,UANN;AAOC,IAAA,SAAS,EAAC;AAPX,MASC,cAAC,QAAD;AACC,IAAA,SAAS,EAAC,yCADX;AAEC,IAAA,gBAAgB,EAAC,8DAFlB;AAGC,IAAA,YAAY,EAAG;AAAA,UAAE;AAAEc,QAAAA,MAAF;AAAUC,QAAAA;AAAV,OAAF;AAAA,aACd,cAAC,MAAD;AACC,QAAA,OAAO,EAAGA,QADX;AAEC,yBAAgBD,MAFjB;AAGC,QAAA,SAAS,EAAG5B,UAAU,CACrB,sDADqB,EAErB;AAAE,qBAAW4B;AAAb,SAFqB;AAHvB,SAQC,cAAC,MAAD;AAAQ,QAAA,OAAO,EAAC;AAAhB,SACC,cAAC,cAAD;AACC,QAAA,SAAS,EAAC,6DADX;AAEC,QAAA,UAAU,EAAGL;AAFd,QADD,EAKC,cAAC,QAAD,QAAYX,QAAQ,CAACM,KAArB,CALD,CARD,CADc;AAAA,KAHhB;AAqBC,IAAA,aAAa,EAAG,MACf,cAAC,oBAAD;AACC,MAAA,SAAS,EAAG,KADb;AAEC,MAAA,gCAAgC,MAFjC;AAGC,MAAA,iCAAiC,MAHlC;AAIC,MAAA,WAAW;AAJZ,OAKMF,eALN;AAtBF,IATD,CADD;AA2CA","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tColorIndicator,\n\tDropdown,\n\tFlexItem,\n\t__experimentalHStack as HStack,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport ColorGradientControl from './control';\nimport useMultipleOriginColorsAndGradients from './use-multiple-origin-colors-and-gradients';\n\nexport default function ToolsPanelColorDropdown( {\n\tsettings,\n\tenableAlpha,\n\t...otherProps\n} ) {\n\tconst colorGradientSettings = useMultipleOriginColorsAndGradients();\n\tconst controlSettings = {\n\t\t...colorGradientSettings,\n\t\tclearable: false,\n\t\tenableAlpha,\n\t\tlabel: settings.label,\n\t\tonColorChange: settings.onColorChange,\n\t\tonGradientChange: settings.onGradientChange,\n\t\tcolorValue: settings.colorValue,\n\t\tgradientValue: settings.gradientValue,\n\t};\n\tconst selectedColor = settings.gradientValue ?? settings.colorValue;\n\n\treturn (\n\t\t<ToolsPanelItem\n\t\t\thasValue={ settings.hasValue }\n\t\t\tlabel={ settings.label }\n\t\t\tonDeselect={ settings.onDeselect }\n\t\t\tisShownByDefault={ settings.isShownByDefault }\n\t\t\tresetAllFilter={ settings.resetAllFilter }\n\t\t\t{ ...otherProps }\n\t\t\tclassName=\"block-editor-tools-panel-color-gradient-settings__item\"\n\t\t>\n\t\t\t<Dropdown\n\t\t\t\tclassName=\"block-editor-tools-panel-color-dropdown\"\n\t\t\t\tcontentClassName=\"block-editor-panel-color-gradient-settings__dropdown-content\"\n\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t<Button\n\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'block-editor-panel-color-gradient-settings__dropdown',\n\t\t\t\t\t\t\t{ 'is-open': isOpen }\n\t\t\t\t\t\t) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<HStack justify=\"flex-start\">\n\t\t\t\t\t\t\t<ColorIndicator\n\t\t\t\t\t\t\t\tclassName=\"block-editor-panel-color-gradient-settings__color-indicator\"\n\t\t\t\t\t\t\t\tcolorValue={ selectedColor }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<FlexItem>{ settings.label }</FlexItem>\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t</Button>\n\t\t\t\t) }\n\t\t\t\trenderContent={ () => (\n\t\t\t\t\t<ColorGradientControl\n\t\t\t\t\t\tshowTitle={ false }\n\t\t\t\t\t\t__experimentalHasMultipleOrigins\n\t\t\t\t\t\t__experimentalIsRenderedInSidebar\n\t\t\t\t\t\tenableAlpha\n\t\t\t\t\t\t{ ...controlSettings }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t/>\n\t\t</ToolsPanelItem>\n\t);\n}\n"]}
|
|
@@ -3,75 +3,110 @@ import { createElement } from "@wordpress/element";
|
|
|
3
3
|
/**
|
|
4
4
|
* External dependencies
|
|
5
5
|
*/
|
|
6
|
-
import { colord, extend } from 'colord';
|
|
7
|
-
import namesPlugin from 'colord/plugins/names';
|
|
8
6
|
import a11yPlugin from 'colord/plugins/a11y';
|
|
7
|
+
import namesPlugin from 'colord/plugins/names';
|
|
8
|
+
import { colord, extend } from 'colord';
|
|
9
9
|
/**
|
|
10
10
|
* WordPress dependencies
|
|
11
11
|
*/
|
|
12
12
|
|
|
13
|
-
import {
|
|
14
|
-
import { __ } from '@wordpress/i18n';
|
|
13
|
+
import { __, sprintf } from '@wordpress/i18n';
|
|
15
14
|
import { Notice } from '@wordpress/components';
|
|
16
|
-
import {
|
|
15
|
+
import { speak } from '@wordpress/a11y';
|
|
17
16
|
extend([namesPlugin, a11yPlugin]);
|
|
18
17
|
|
|
19
|
-
function
|
|
20
|
-
let {
|
|
21
|
-
colordBackgroundColor,
|
|
22
|
-
colordTextColor,
|
|
23
|
-
backgroundColor,
|
|
24
|
-
textColor
|
|
25
|
-
} = _ref;
|
|
26
|
-
const msg = colordBackgroundColor.brightness() < colordTextColor.brightness() ? __('This color combination may be hard for people to read. Try using a darker background color and/or a brighter text color.') : __('This color combination may be hard for people to read. Try using a brighter background color and/or a darker text color.'); // Note: The `Notice` component can speak messages via its `spokenMessage`
|
|
27
|
-
// prop, but the contrast checker requires granular control over when the
|
|
28
|
-
// announcements are made. Notably, the message will be re-announced if a
|
|
29
|
-
// new color combination is selected and the contrast is still insufficient.
|
|
30
|
-
|
|
31
|
-
useEffect(() => {
|
|
32
|
-
speak(__('This color combination may be hard for people to read.'));
|
|
33
|
-
}, [backgroundColor, textColor]);
|
|
34
|
-
return createElement("div", {
|
|
35
|
-
className: "block-editor-contrast-checker"
|
|
36
|
-
}, createElement(Notice, {
|
|
37
|
-
spokenMessage: null,
|
|
38
|
-
status: "warning",
|
|
39
|
-
isDismissible: false
|
|
40
|
-
}, msg));
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
function ContrastChecker(_ref2) {
|
|
18
|
+
function ContrastChecker(_ref) {
|
|
44
19
|
let {
|
|
45
20
|
backgroundColor,
|
|
46
21
|
fallbackBackgroundColor,
|
|
47
22
|
fallbackTextColor,
|
|
23
|
+
fallbackLinkColor,
|
|
48
24
|
fontSize,
|
|
49
25
|
// font size value in pixels
|
|
50
26
|
isLargeText,
|
|
51
|
-
textColor
|
|
52
|
-
|
|
27
|
+
textColor,
|
|
28
|
+
linkColor,
|
|
29
|
+
enableAlphaChecker = false
|
|
30
|
+
} = _ref;
|
|
31
|
+
const currentBackgroundColor = backgroundColor || fallbackBackgroundColor; // Must have a background color.
|
|
53
32
|
|
|
54
|
-
if (!
|
|
33
|
+
if (!currentBackgroundColor) {
|
|
55
34
|
return null;
|
|
56
35
|
}
|
|
57
36
|
|
|
58
|
-
const
|
|
59
|
-
const
|
|
60
|
-
const hasTransparency = colordBackgroundColor.alpha() !== 1 || colordTextColor.alpha() !== 1;
|
|
37
|
+
const currentTextColor = textColor || fallbackTextColor;
|
|
38
|
+
const currentLinkColor = linkColor || fallbackLinkColor; // Must have at least one text color.
|
|
61
39
|
|
|
62
|
-
if (
|
|
40
|
+
if (!currentTextColor && !currentLinkColor) {
|
|
41
|
+
return null;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
const textColors = [{
|
|
45
|
+
color: currentTextColor,
|
|
46
|
+
description: __('text color')
|
|
47
|
+
}, {
|
|
48
|
+
color: currentLinkColor,
|
|
49
|
+
description: __('link color')
|
|
50
|
+
}];
|
|
51
|
+
const colordBackgroundColor = colord(currentBackgroundColor);
|
|
52
|
+
const backgroundColorHasTransparency = colordBackgroundColor.alpha() < 1;
|
|
53
|
+
const backgroundColorBrightness = colordBackgroundColor.brightness();
|
|
54
|
+
const isReadableOptions = {
|
|
63
55
|
level: 'AA',
|
|
64
56
|
size: isLargeText || isLargeText !== false && fontSize >= 24 ? 'large' : 'small'
|
|
65
|
-
}
|
|
66
|
-
|
|
57
|
+
};
|
|
58
|
+
let message = '';
|
|
59
|
+
let speakMessage = '';
|
|
60
|
+
|
|
61
|
+
for (const item of textColors) {
|
|
62
|
+
// If there is no color, go no further.
|
|
63
|
+
if (!item.color) {
|
|
64
|
+
continue;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
const colordTextColor = colord(item.color);
|
|
68
|
+
const isColordTextReadable = colordTextColor.isReadable(colordBackgroundColor, isReadableOptions);
|
|
69
|
+
const textHasTransparency = colordTextColor.alpha() < 1; // If the contrast is not readable.
|
|
70
|
+
|
|
71
|
+
if (!isColordTextReadable) {
|
|
72
|
+
// Don't show the message if the background or text is transparent.
|
|
73
|
+
if (backgroundColorHasTransparency || textHasTransparency) {
|
|
74
|
+
continue;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
message = backgroundColorBrightness < colordTextColor.brightness() ? sprintf( // translators: %s is a type of text color, e.g., "text color" or "link color"
|
|
78
|
+
__('This color combination may be hard for people to read. Try using a darker background color and/or a brighter %s.'), item.description) : sprintf( // translators: %s is a type of text color, e.g., "text color" or "link color"
|
|
79
|
+
__('This color combination may be hard for people to read. Try using a brighter background color and/or a darker %s.'), item.description);
|
|
80
|
+
speakMessage = __('This color combination may be hard for people to read.'); // Break from the loop when we have a contrast warning.
|
|
81
|
+
// These messages take priority over the transparency warning.
|
|
82
|
+
|
|
83
|
+
break;
|
|
84
|
+
} // If there is no contrast warning and the text is transparent,
|
|
85
|
+
// show the transparent warning if alpha check is enabled.
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
if (textHasTransparency && enableAlphaChecker) {
|
|
89
|
+
message = __('Transparent text may be hard for people to read.');
|
|
90
|
+
speakMessage = __('Transparent text may be hard for people to read.');
|
|
91
|
+
}
|
|
67
92
|
}
|
|
68
93
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
94
|
+
if (!message) {
|
|
95
|
+
return null;
|
|
96
|
+
} // Note: The `Notice` component can speak messages via its `spokenMessage`
|
|
97
|
+
// prop, but the contrast checker requires granular control over when the
|
|
98
|
+
// announcements are made. Notably, the message will be re-announced if a
|
|
99
|
+
// new color combination is selected and the contrast is still insufficient.
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
speak(speakMessage);
|
|
103
|
+
return createElement("div", {
|
|
104
|
+
className: "block-editor-contrast-checker"
|
|
105
|
+
}, createElement(Notice, {
|
|
106
|
+
spokenMessage: null,
|
|
107
|
+
status: "warning",
|
|
108
|
+
isDismissible: false
|
|
109
|
+
}, message));
|
|
75
110
|
}
|
|
76
111
|
|
|
77
112
|
export default ContrastChecker;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/contrast-checker/index.js"],"names":["colord","extend","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/contrast-checker/index.js"],"names":["a11yPlugin","namesPlugin","colord","extend","__","sprintf","Notice","speak","ContrastChecker","backgroundColor","fallbackBackgroundColor","fallbackTextColor","fallbackLinkColor","fontSize","isLargeText","textColor","linkColor","enableAlphaChecker","currentBackgroundColor","currentTextColor","currentLinkColor","textColors","color","description","colordBackgroundColor","backgroundColorHasTransparency","alpha","backgroundColorBrightness","brightness","isReadableOptions","level","size","message","speakMessage","item","colordTextColor","isColordTextReadable","isReadable","textHasTransparency"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport a11yPlugin from 'colord/plugins/a11y';\nimport namesPlugin from 'colord/plugins/names';\nimport { colord, extend } from 'colord';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { Notice } from '@wordpress/components';\nimport { speak } from '@wordpress/a11y';\n\nextend( [ namesPlugin, a11yPlugin ] );\n\nfunction ContrastChecker( {\n\tbackgroundColor,\n\tfallbackBackgroundColor,\n\tfallbackTextColor,\n\tfallbackLinkColor,\n\tfontSize, // font size value in pixels\n\tisLargeText,\n\ttextColor,\n\tlinkColor,\n\tenableAlphaChecker = false,\n} ) {\n\tconst currentBackgroundColor = backgroundColor || fallbackBackgroundColor;\n\n\t// Must have a background color.\n\tif ( ! currentBackgroundColor ) {\n\t\treturn null;\n\t}\n\n\tconst currentTextColor = textColor || fallbackTextColor;\n\tconst currentLinkColor = linkColor || fallbackLinkColor;\n\n\t// Must have at least one text color.\n\tif ( ! currentTextColor && ! currentLinkColor ) {\n\t\treturn null;\n\t}\n\n\tconst textColors = [\n\t\t{\n\t\t\tcolor: currentTextColor,\n\t\t\tdescription: __( 'text color' ),\n\t\t},\n\t\t{\n\t\t\tcolor: currentLinkColor,\n\t\t\tdescription: __( 'link color' ),\n\t\t},\n\t];\n\tconst colordBackgroundColor = colord( currentBackgroundColor );\n\tconst backgroundColorHasTransparency = colordBackgroundColor.alpha() < 1;\n\tconst backgroundColorBrightness = colordBackgroundColor.brightness();\n\tconst isReadableOptions = {\n\t\tlevel: 'AA',\n\t\tsize:\n\t\t\tisLargeText || ( isLargeText !== false && fontSize >= 24 )\n\t\t\t\t? 'large'\n\t\t\t\t: 'small',\n\t};\n\n\tlet message = '';\n\tlet speakMessage = '';\n\tfor ( const item of textColors ) {\n\t\t// If there is no color, go no further.\n\t\tif ( ! item.color ) {\n\t\t\tcontinue;\n\t\t}\n\t\tconst colordTextColor = colord( item.color );\n\t\tconst isColordTextReadable = colordTextColor.isReadable(\n\t\t\tcolordBackgroundColor,\n\t\t\tisReadableOptions\n\t\t);\n\t\tconst textHasTransparency = colordTextColor.alpha() < 1;\n\n\t\t// If the contrast is not readable.\n\t\tif ( ! isColordTextReadable ) {\n\t\t\t// Don't show the message if the background or text is transparent.\n\t\t\tif ( backgroundColorHasTransparency || textHasTransparency ) {\n\t\t\t\tcontinue;\n\t\t\t}\n\t\t\tmessage =\n\t\t\t\tbackgroundColorBrightness < colordTextColor.brightness()\n\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t// translators: %s is a type of text color, e.g., \"text color\" or \"link color\"\n\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t'This color combination may be hard for people to read. Try using a darker background color and/or a brighter %s.'\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\titem.description\n\t\t\t\t\t )\n\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t// translators: %s is a type of text color, e.g., \"text color\" or \"link color\"\n\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t'This color combination may be hard for people to read. Try using a brighter background color and/or a darker %s.'\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\titem.description\n\t\t\t\t\t );\n\t\t\tspeakMessage = __(\n\t\t\t\t'This color combination may be hard for people to read.'\n\t\t\t);\n\t\t\t// Break from the loop when we have a contrast warning.\n\t\t\t// These messages take priority over the transparency warning.\n\t\t\tbreak;\n\t\t}\n\n\t\t// If there is no contrast warning and the text is transparent,\n\t\t// show the transparent warning if alpha check is enabled.\n\t\tif ( textHasTransparency && enableAlphaChecker ) {\n\t\t\tmessage = __( 'Transparent text may be hard for people to read.' );\n\t\t\tspeakMessage = __(\n\t\t\t\t'Transparent text may be hard for people to read.'\n\t\t\t);\n\t\t}\n\t}\n\n\tif ( ! message ) {\n\t\treturn null;\n\t}\n\n\t// Note: The `Notice` component can speak messages via its `spokenMessage`\n\t// prop, but the contrast checker requires granular control over when the\n\t// announcements are made. Notably, the message will be re-announced if a\n\t// new color combination is selected and the contrast is still insufficient.\n\tspeak( speakMessage );\n\n\treturn (\n\t\t<div className=\"block-editor-contrast-checker\">\n\t\t\t<Notice\n\t\t\t\tspokenMessage={ null }\n\t\t\t\tstatus=\"warning\"\n\t\t\t\tisDismissible={ false }\n\t\t\t>\n\t\t\t\t{ message }\n\t\t\t</Notice>\n\t\t</div>\n\t);\n}\n\nexport default ContrastChecker;\n"]}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { createElement } from "@wordpress/element";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* External dependencies
|
|
5
|
+
*/
|
|
6
|
+
import { Text, View } from 'react-native';
|
|
7
|
+
import { colord, extend } from 'colord';
|
|
8
|
+
import namesPlugin from 'colord/plugins/names';
|
|
9
|
+
import a11yPlugin from 'colord/plugins/a11y';
|
|
10
|
+
/**
|
|
11
|
+
* WordPress dependencies
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
import { speak } from '@wordpress/a11y';
|
|
15
|
+
import { __ } from '@wordpress/i18n';
|
|
16
|
+
import { useEffect } from '@wordpress/element';
|
|
17
|
+
import { usePreferredColorSchemeStyle } from '@wordpress/compose';
|
|
18
|
+
import { Icon, warning } from '@wordpress/icons';
|
|
19
|
+
/**
|
|
20
|
+
* Internal dependencies
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
import styles from './style.scss';
|
|
24
|
+
extend([namesPlugin, a11yPlugin]);
|
|
25
|
+
|
|
26
|
+
function ContrastCheckerMessage(_ref) {
|
|
27
|
+
let {
|
|
28
|
+
colordBackgroundColor,
|
|
29
|
+
colordTextColor,
|
|
30
|
+
backgroundColor,
|
|
31
|
+
textColor,
|
|
32
|
+
msgStyle
|
|
33
|
+
} = _ref;
|
|
34
|
+
const msg = colordBackgroundColor.brightness() < colordTextColor.brightness() ? __('This color combination may be hard for people to read. Try using a darker background color and/or a brighter text color.') : __('This color combination may be hard for people to read. Try using a brighter background color and/or a darker text color.'); // Note: The `Notice` component can speak messages via its `spokenMessage`
|
|
35
|
+
// prop, but the contrast checker requires granular control over when the
|
|
36
|
+
// announcements are made. Notably, the message will be re-announced if a
|
|
37
|
+
// new color combination is selected and the contrast is still insufficient.
|
|
38
|
+
|
|
39
|
+
useEffect(() => {
|
|
40
|
+
speak(__('This color combination may be hard for people to read.'));
|
|
41
|
+
}, [backgroundColor, textColor]);
|
|
42
|
+
const iconStyle = usePreferredColorSchemeStyle(styles['block-editor-contrast-checker__icon'], styles['block-editor-contrast-checker__icon-dark']);
|
|
43
|
+
return createElement(View, {
|
|
44
|
+
style: styles['block-editor-contrast-checker']
|
|
45
|
+
}, createElement(Icon, {
|
|
46
|
+
style: iconStyle,
|
|
47
|
+
icon: warning
|
|
48
|
+
}), createElement(Text, {
|
|
49
|
+
style: msgStyle
|
|
50
|
+
}, msg));
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
function ContrastChecker(_ref2) {
|
|
54
|
+
let {
|
|
55
|
+
backgroundColor,
|
|
56
|
+
fallbackBackgroundColor,
|
|
57
|
+
fallbackTextColor,
|
|
58
|
+
fontSize,
|
|
59
|
+
// font size value in pixels
|
|
60
|
+
isLargeText,
|
|
61
|
+
textColor
|
|
62
|
+
} = _ref2;
|
|
63
|
+
const msgStyle = usePreferredColorSchemeStyle(styles['block-editor-contrast-checker__notice'], styles['block-editor-contrast-checker__notice-dark']);
|
|
64
|
+
|
|
65
|
+
if (!(backgroundColor || fallbackBackgroundColor) || !(textColor || fallbackTextColor)) {
|
|
66
|
+
return null;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
const colordBackgroundColor = colord(backgroundColor || fallbackBackgroundColor);
|
|
70
|
+
const colordTextColor = colord(textColor || fallbackTextColor);
|
|
71
|
+
const hasTransparency = colordBackgroundColor.alpha() !== 1 || colordTextColor.alpha() !== 1;
|
|
72
|
+
|
|
73
|
+
if (hasTransparency || colordTextColor.isReadable(colordBackgroundColor, {
|
|
74
|
+
level: 'AA',
|
|
75
|
+
size: isLargeText || isLargeText !== false && fontSize >= 24 ? 'large' : 'small'
|
|
76
|
+
})) {
|
|
77
|
+
return null;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
return createElement(ContrastCheckerMessage, {
|
|
81
|
+
backgroundColor: backgroundColor,
|
|
82
|
+
textColor: textColor,
|
|
83
|
+
colordBackgroundColor: colordBackgroundColor,
|
|
84
|
+
colordTextColor: colordTextColor,
|
|
85
|
+
msgStyle: msgStyle
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
export default ContrastChecker;
|
|
90
|
+
//# sourceMappingURL=index.native.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/contrast-checker/index.native.js"],"names":["Text","View","colord","extend","namesPlugin","a11yPlugin","speak","__","useEffect","usePreferredColorSchemeStyle","Icon","warning","styles","ContrastCheckerMessage","colordBackgroundColor","colordTextColor","backgroundColor","textColor","msgStyle","msg","brightness","iconStyle","ContrastChecker","fallbackBackgroundColor","fallbackTextColor","fontSize","isLargeText","hasTransparency","alpha","isReadable","level","size"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { Text, View } from 'react-native';\nimport { colord, extend } from 'colord';\nimport namesPlugin from 'colord/plugins/names';\nimport a11yPlugin from 'colord/plugins/a11y';\n\n/**\n * WordPress dependencies\n */\nimport { speak } from '@wordpress/a11y';\nimport { __ } from '@wordpress/i18n';\nimport { useEffect } from '@wordpress/element';\nimport { usePreferredColorSchemeStyle } from '@wordpress/compose';\nimport { Icon, warning } from '@wordpress/icons';\n/**\n * Internal dependencies\n */\nimport styles from './style.scss';\n\nextend( [ namesPlugin, a11yPlugin ] );\n\nfunction ContrastCheckerMessage( {\n\tcolordBackgroundColor,\n\tcolordTextColor,\n\tbackgroundColor,\n\ttextColor,\n\tmsgStyle,\n} ) {\n\tconst msg =\n\t\tcolordBackgroundColor.brightness() < colordTextColor.brightness()\n\t\t\t? __(\n\t\t\t\t\t'This color combination may be hard for people to read. Try using a darker background color and/or a brighter text color.'\n\t\t\t )\n\t\t\t: __(\n\t\t\t\t\t'This color combination may be hard for people to read. Try using a brighter background color and/or a darker text color.'\n\t\t\t );\n\n\t// Note: The `Notice` component can speak messages via its `spokenMessage`\n\t// prop, but the contrast checker requires granular control over when the\n\t// announcements are made. Notably, the message will be re-announced if a\n\t// new color combination is selected and the contrast is still insufficient.\n\tuseEffect( () => {\n\t\tspeak( __( 'This color combination may be hard for people to read.' ) );\n\t}, [ backgroundColor, textColor ] );\n\n\tconst iconStyle = usePreferredColorSchemeStyle(\n\t\tstyles[ 'block-editor-contrast-checker__icon' ],\n\t\tstyles[ 'block-editor-contrast-checker__icon-dark' ]\n\t);\n\n\treturn (\n\t\t<View style={ styles[ 'block-editor-contrast-checker' ] }>\n\t\t\t<Icon style={ iconStyle } icon={ warning } />\n\t\t\t<Text style={ msgStyle }>{ msg }</Text>\n\t\t</View>\n\t);\n}\n\nfunction ContrastChecker( {\n\tbackgroundColor,\n\tfallbackBackgroundColor,\n\tfallbackTextColor,\n\tfontSize, // font size value in pixels\n\tisLargeText,\n\ttextColor,\n} ) {\n\tconst msgStyle = usePreferredColorSchemeStyle(\n\t\tstyles[ 'block-editor-contrast-checker__notice' ],\n\t\tstyles[ 'block-editor-contrast-checker__notice-dark' ]\n\t);\n\n\tif (\n\t\t! ( backgroundColor || fallbackBackgroundColor ) ||\n\t\t! ( textColor || fallbackTextColor )\n\t) {\n\t\treturn null;\n\t}\n\n\tconst colordBackgroundColor = colord(\n\t\tbackgroundColor || fallbackBackgroundColor\n\t);\n\tconst colordTextColor = colord( textColor || fallbackTextColor );\n\n\tconst hasTransparency =\n\t\tcolordBackgroundColor.alpha() !== 1 || colordTextColor.alpha() !== 1;\n\n\tif (\n\t\thasTransparency ||\n\t\tcolordTextColor.isReadable( colordBackgroundColor, {\n\t\t\tlevel: 'AA',\n\t\t\tsize:\n\t\t\t\tisLargeText || ( isLargeText !== false && fontSize >= 24 )\n\t\t\t\t\t? 'large'\n\t\t\t\t\t: 'small',\n\t\t} )\n\t) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<ContrastCheckerMessage\n\t\t\tbackgroundColor={ backgroundColor }\n\t\t\ttextColor={ textColor }\n\t\t\tcolordBackgroundColor={ colordBackgroundColor }\n\t\t\tcolordTextColor={ colordTextColor }\n\t\t\tmsgStyle={ msgStyle }\n\t\t/>\n\t);\n}\n\nexport default ContrastChecker;\n"]}
|
|
@@ -10,9 +10,9 @@ import classnames from 'classnames';
|
|
|
10
10
|
|
|
11
11
|
import { __ } from '@wordpress/i18n';
|
|
12
12
|
import { compose } from '@wordpress/compose';
|
|
13
|
-
import { getDefaultBlockName } from '@wordpress/blocks';
|
|
14
13
|
import { decodeEntities } from '@wordpress/html-entities';
|
|
15
14
|
import { withSelect, withDispatch } from '@wordpress/data';
|
|
15
|
+
import { ENTER, SPACE } from '@wordpress/keycodes';
|
|
16
16
|
/**
|
|
17
17
|
* Internal dependencies
|
|
18
18
|
*/
|
|
@@ -28,14 +28,13 @@ export const ZWNBSP = '\ufeff';
|
|
|
28
28
|
export function DefaultBlockAppender(_ref) {
|
|
29
29
|
let {
|
|
30
30
|
isLocked,
|
|
31
|
-
isVisible,
|
|
32
31
|
onAppend,
|
|
33
32
|
showPrompt,
|
|
34
33
|
placeholder,
|
|
35
34
|
rootClientId
|
|
36
35
|
} = _ref;
|
|
37
36
|
|
|
38
|
-
if (isLocked
|
|
37
|
+
if (isLocked) {
|
|
39
38
|
return null;
|
|
40
39
|
}
|
|
41
40
|
|
|
@@ -47,21 +46,24 @@ export function DefaultBlockAppender(_ref) {
|
|
|
47
46
|
'has-visible-prompt': showPrompt
|
|
48
47
|
})
|
|
49
48
|
}, createElement("p", {
|
|
50
|
-
tabIndex: "0" //
|
|
51
|
-
// as a target. Ideally it should consider any tabbable target,
|
|
52
|
-
// but the inserter is rendered in place while it should be
|
|
53
|
-
// rendered in a popover, just like it does for an empty
|
|
54
|
-
// paragraph block.
|
|
55
|
-
,
|
|
56
|
-
contentEditable: true,
|
|
57
|
-
suppressContentEditableWarning: true // We want this element to be styled as a paragraph by themes.
|
|
49
|
+
tabIndex: "0" // We want this element to be styled as a paragraph by themes.
|
|
58
50
|
// eslint-disable-next-line jsx-a11y/no-noninteractive-element-to-interactive-role
|
|
59
51
|
,
|
|
60
52
|
role: "button",
|
|
61
|
-
"aria-label": __('Add block') // A wrapping container for this one already has the wp-block className.
|
|
53
|
+
"aria-label": __('Add default block') // A wrapping container for this one already has the wp-block className.
|
|
62
54
|
,
|
|
63
55
|
className: "block-editor-default-block-appender__content",
|
|
64
|
-
|
|
56
|
+
onKeyDown: event => {
|
|
57
|
+
if (ENTER === event.keyCode || SPACE === event.keyCode) {
|
|
58
|
+
onAppend();
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
onClick: () => onAppend(),
|
|
62
|
+
onFocus: () => {
|
|
63
|
+
if (showPrompt) {
|
|
64
|
+
onAppend();
|
|
65
|
+
}
|
|
66
|
+
}
|
|
65
67
|
}, showPrompt ? value : ZWNBSP), createElement(Inserter, {
|
|
66
68
|
rootClientId: rootClientId,
|
|
67
69
|
position: "bottom right",
|
|
@@ -72,19 +74,14 @@ export function DefaultBlockAppender(_ref) {
|
|
|
72
74
|
export default compose(withSelect((select, ownProps) => {
|
|
73
75
|
const {
|
|
74
76
|
getBlockCount,
|
|
75
|
-
getBlockName,
|
|
76
|
-
isBlockValid,
|
|
77
77
|
getSettings,
|
|
78
78
|
getTemplateLock
|
|
79
79
|
} = select(blockEditorStore);
|
|
80
80
|
const isEmpty = !getBlockCount(ownProps.rootClientId);
|
|
81
|
-
const isLastBlockDefault = getBlockName(ownProps.lastBlockClientId) === getDefaultBlockName();
|
|
82
|
-
const isLastBlockValid = isBlockValid(ownProps.lastBlockClientId);
|
|
83
81
|
const {
|
|
84
82
|
bodyPlaceholder
|
|
85
83
|
} = getSettings();
|
|
86
84
|
return {
|
|
87
|
-
isVisible: isEmpty || !isLastBlockDefault || !isLastBlockValid,
|
|
88
85
|
showPrompt: isEmpty,
|
|
89
86
|
isLocked: !!getTemplateLock(ownProps.rootClientId),
|
|
90
87
|
placeholder: bodyPlaceholder
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/default-block-appender/index.js"],"names":["classnames","__","compose","
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/default-block-appender/index.js"],"names":["classnames","__","compose","decodeEntities","withSelect","withDispatch","ENTER","SPACE","Inserter","store","blockEditorStore","ZWNBSP","DefaultBlockAppender","isLocked","onAppend","showPrompt","placeholder","rootClientId","value","event","keyCode","select","ownProps","getBlockCount","getSettings","getTemplateLock","isEmpty","bodyPlaceholder","dispatch","insertDefaultBlock","startTyping","undefined"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { compose } from '@wordpress/compose';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { ENTER, SPACE } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport Inserter from '../inserter';\nimport { store as blockEditorStore } from '../../store';\n\n/**\n * Zero width non-breaking space, used as padding for the paragraph when it is\n * empty.\n */\nexport const ZWNBSP = '\\ufeff';\n\nexport function DefaultBlockAppender( {\n\tisLocked,\n\tonAppend,\n\tshowPrompt,\n\tplaceholder,\n\trootClientId,\n} ) {\n\tif ( isLocked ) {\n\t\treturn null;\n\t}\n\n\tconst value =\n\t\tdecodeEntities( placeholder ) || __( 'Type / to choose a block' );\n\n\treturn (\n\t\t<div\n\t\t\tdata-root-client-id={ rootClientId || '' }\n\t\t\tclassName={ classnames( 'block-editor-default-block-appender', {\n\t\t\t\t'has-visible-prompt': showPrompt,\n\t\t\t} ) }\n\t\t>\n\t\t\t<p\n\t\t\t\ttabIndex=\"0\"\n\t\t\t\t// We want this element to be styled as a paragraph by themes.\n\t\t\t\t// eslint-disable-next-line jsx-a11y/no-noninteractive-element-to-interactive-role\n\t\t\t\trole=\"button\"\n\t\t\t\taria-label={ __( 'Add default block' ) }\n\t\t\t\t// A wrapping container for this one already has the wp-block className.\n\t\t\t\tclassName=\"block-editor-default-block-appender__content\"\n\t\t\t\tonKeyDown={ ( event ) => {\n\t\t\t\t\tif ( ENTER === event.keyCode || SPACE === event.keyCode ) {\n\t\t\t\t\t\tonAppend();\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t\tonClick={ () => onAppend() }\n\t\t\t\tonFocus={ () => {\n\t\t\t\t\tif ( showPrompt ) {\n\t\t\t\t\t\tonAppend();\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ showPrompt ? value : ZWNBSP }\n\t\t\t</p>\n\t\t\t<Inserter\n\t\t\t\trootClientId={ rootClientId }\n\t\t\t\tposition=\"bottom right\"\n\t\t\t\tisAppender\n\t\t\t\t__experimentalIsQuick\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nexport default compose(\n\twithSelect( ( select, ownProps ) => {\n\t\tconst { getBlockCount, getSettings, getTemplateLock } = select(\n\t\t\tblockEditorStore\n\t\t);\n\n\t\tconst isEmpty = ! getBlockCount( ownProps.rootClientId );\n\t\tconst { bodyPlaceholder } = getSettings();\n\n\t\treturn {\n\t\t\tshowPrompt: isEmpty,\n\t\t\tisLocked: !! getTemplateLock( ownProps.rootClientId ),\n\t\t\tplaceholder: bodyPlaceholder,\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch, ownProps ) => {\n\t\tconst { insertDefaultBlock, startTyping } = dispatch(\n\t\t\tblockEditorStore\n\t\t);\n\n\t\treturn {\n\t\t\tonAppend() {\n\t\t\t\tconst { rootClientId } = ownProps;\n\n\t\t\t\tinsertDefaultBlock( undefined, rootClientId );\n\t\t\t\tstartTyping();\n\t\t\t},\n\t\t};\n\t} )\n)( DefaultBlockAppender );\n"]}
|