@wordpress/block-editor 13.2.0 → 13.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/README.md +0 -5
- package/build/components/alignment-control/ui.js +2 -2
- package/build/components/alignment-control/ui.js.map +1 -1
- package/build/components/block-alignment-control/ui.js +1 -1
- package/build/components/block-alignment-control/ui.js.map +1 -1
- package/build/components/block-alignment-control/ui.native.js +1 -1
- package/build/components/block-alignment-control/ui.native.js.map +1 -1
- package/build/components/block-breadcrumb/index.js +12 -1
- package/build/components/block-breadcrumb/index.js.map +1 -1
- package/build/components/block-inspector/index.js +6 -3
- package/build/components/block-inspector/index.js.map +1 -1
- package/build/components/block-list/use-block-props/index.js +3 -1
- package/build/components/block-list/use-block-props/index.js.map +1 -1
- package/build/components/block-list/use-block-props/use-block-refs.js +9 -2
- package/build/components/block-list/use-block-props/use-block-refs.js.map +1 -1
- package/build/components/block-list/use-block-props/use-is-hovered.js +25 -9
- package/build/components/block-list/use-block-props/use-is-hovered.js.map +1 -1
- package/build/components/block-list/use-in-between-inserter.js +3 -2
- package/build/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build/components/block-lock/modal.js +2 -0
- package/build/components/block-lock/modal.js.map +1 -1
- package/build/components/block-lock/toolbar.js +0 -1
- package/build/components/block-lock/toolbar.js.map +1 -1
- package/build/components/block-mover/button.js +1 -1
- package/build/components/block-mover/button.js.map +1 -1
- package/build/components/block-mover/index.js +1 -1
- package/build/components/block-mover/index.js.map +1 -1
- package/build/components/block-pattern-setup/setup-toolbar.js +2 -2
- package/build/components/block-pattern-setup/setup-toolbar.js.map +1 -1
- package/build/components/block-patterns-paging/index.js +5 -7
- package/build/components/block-patterns-paging/index.js.map +1 -1
- package/build/components/block-quick-navigation/index.js +20 -17
- package/build/components/block-quick-navigation/index.js.map +1 -1
- package/build/components/block-removal-warning-modal/index.js +2 -0
- package/build/components/block-removal-warning-modal/index.js.map +1 -1
- package/build/components/block-rename/modal.js +4 -12
- package/build/components/block-rename/modal.js.map +1 -1
- package/build/components/block-switcher/index.js +1 -1
- package/build/components/block-switcher/index.js.map +1 -1
- package/build/components/block-switcher/pattern-transformations-menu.js +11 -12
- package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
- package/build/components/block-switcher/preview-block-popover.js +20 -17
- package/build/components/block-switcher/preview-block-popover.js.map +1 -1
- package/build/components/block-toolbar/shuffle.js +6 -2
- package/build/components/block-toolbar/shuffle.js.map +1 -1
- package/build/components/block-tools/block-selection-button.js +7 -58
- package/build/components/block-tools/block-selection-button.js.map +1 -1
- package/build/components/block-tools/block-toolbar-breadcrumb.js +9 -2
- package/build/components/block-tools/block-toolbar-breadcrumb.js.map +1 -1
- package/build/components/block-tools/index.js +14 -1
- package/build/components/block-tools/index.js.map +1 -1
- package/build/components/block-tools/use-show-block-tools.js +9 -8
- package/build/components/block-tools/use-show-block-tools.js.map +1 -1
- package/build/components/block-tools/zoom-out-mode-inserter-button.js +45 -0
- package/build/components/block-tools/zoom-out-mode-inserter-button.js.map +1 -0
- package/build/components/block-tools/zoom-out-mode-inserters.js +29 -28
- package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
- package/build/components/block-tools/zoom-out-popover.js +58 -0
- package/build/components/block-tools/zoom-out-popover.js.map +1 -0
- package/build/components/block-tools/zoom-out-toolbar.js +138 -0
- package/build/components/block-tools/zoom-out-toolbar.js.map +1 -0
- package/build/components/button-block-appender/index.js +3 -1
- package/build/components/button-block-appender/index.js.map +1 -1
- package/build/components/child-layout-control/index.js +26 -18
- package/build/components/child-layout-control/index.js.map +1 -1
- package/build/components/date-format-picker/index.js +1 -1
- package/build/components/date-format-picker/index.js.map +1 -1
- package/build/components/default-block-appender/index.js +7 -4
- package/build/components/default-block-appender/index.js.map +1 -1
- package/build/components/dimensions-tool/index.js +6 -4
- package/build/components/dimensions-tool/index.js.map +1 -1
- package/build/components/font-appearance-control/index.js +22 -62
- package/build/components/font-appearance-control/index.js.map +1 -1
- package/build/components/global-styles/background-panel.js +185 -116
- package/build/components/global-styles/background-panel.js.map +1 -1
- package/build/components/global-styles/border-panel.js +2 -1
- package/build/components/global-styles/border-panel.js.map +1 -1
- package/build/components/global-styles/color-panel.js +2 -1
- package/build/components/global-styles/color-panel.js.map +1 -1
- package/build/components/global-styles/dimensions-panel.js +2 -1
- package/build/components/global-styles/dimensions-panel.js.map +1 -1
- package/build/components/global-styles/filters-panel.js +2 -1
- package/build/components/global-styles/filters-panel.js.map +1 -1
- package/build/components/global-styles/hooks.js +13 -1
- package/build/components/global-styles/hooks.js.map +1 -1
- package/build/components/global-styles/image-settings-panel.js +2 -1
- package/build/components/global-styles/image-settings-panel.js.map +1 -1
- package/build/components/global-styles/typography-panel.js +45 -24
- package/build/components/global-styles/typography-panel.js.map +1 -1
- package/build/components/global-styles/typography-utils.js +121 -0
- package/build/components/global-styles/typography-utils.js.map +1 -1
- package/build/components/global-styles/use-global-styles-output.js +47 -13
- package/build/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build/components/global-styles/utils.js +17 -7
- package/build/components/global-styles/utils.js.map +1 -1
- package/build/components/grid/grid-item-movers.js +90 -48
- package/build/components/grid/grid-item-movers.js.map +1 -1
- package/build/components/grid/grid-item-resizer.js +2 -2
- package/build/components/grid/grid-item-resizer.js.map +1 -1
- package/build/components/grid/grid-visualizer.js +117 -37
- package/build/components/grid/grid-visualizer.js.map +1 -1
- package/build/components/grid/use-grid-layout-sync.js +60 -41
- package/build/components/grid/use-grid-layout-sync.js.map +1 -1
- package/build/components/index.js +1 -9
- package/build/components/index.js.map +1 -1
- package/build/components/inner-blocks/index.js +2 -2
- package/build/components/inner-blocks/index.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +1 -19
- package/build/components/inserter/block-patterns-tab/pattern-category-preview-panel.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/patterns-filter.js +20 -23
- package/build/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
- package/build/components/inserter/media-tab/media-panel.js +1 -0
- package/build/components/inserter/media-tab/media-panel.js.map +1 -1
- package/build/components/inserter/menu.js +26 -4
- package/build/components/inserter/menu.js.map +1 -1
- package/build/components/inserter/preview-panel.js +20 -3
- package/build/components/inserter/preview-panel.js.map +1 -1
- package/build/components/inserter/quick-inserter.js +2 -1
- package/build/components/inserter/quick-inserter.js.map +1 -1
- package/build/components/inserter-draggable-blocks/index.js +10 -3
- package/build/components/inserter-draggable-blocks/index.js.map +1 -1
- package/build/components/inspector-controls/block-support-tools-panel.js +2 -1
- package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
- package/build/components/inspector-controls-tabs/settings-tab.js +1 -2
- package/build/components/inspector-controls-tabs/settings-tab.js.map +1 -1
- package/build/components/link-control/link-preview.js +1 -1
- package/build/components/link-control/link-preview.js.map +1 -1
- package/build/components/list-view/block-select-button.js +2 -6
- package/build/components/list-view/block-select-button.js.map +1 -1
- package/build/components/list-view/block.js +2 -2
- package/build/components/list-view/block.js.map +1 -1
- package/build/components/list-view/utils.js +3 -1
- package/build/components/list-view/utils.js.map +1 -1
- package/build/components/media-placeholder/index.js +19 -23
- package/build/components/media-placeholder/index.js.map +1 -1
- package/build/components/navigable-toolbar/index.js +3 -1
- package/build/components/navigable-toolbar/index.js.map +1 -1
- package/build/components/rich-text/format-toolbar/index.js +1 -1
- package/build/components/rich-text/format-toolbar/index.js.map +1 -1
- package/build/components/rich-text/index.js +1 -1
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +9 -3
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
- package/build/components/tabbed-sidebar/index.js +66 -0
- package/build/components/tabbed-sidebar/index.js.map +1 -0
- package/build/components/url-popover/image-url-input-ui.js +3 -3
- package/build/components/url-popover/image-url-input-ui.js.map +1 -1
- package/build/components/url-popover/index.js +3 -0
- package/build/components/url-popover/index.js.map +1 -1
- package/build/hooks/background.js +26 -4
- package/build/hooks/background.js.map +1 -1
- package/build/hooks/block-hooks.js +11 -17
- package/build/hooks/block-hooks.js.map +1 -1
- package/build/hooks/block-style-variation.js +169 -4
- package/build/hooks/block-style-variation.js.map +1 -1
- package/build/hooks/duotone.js +16 -11
- package/build/hooks/duotone.js.map +1 -1
- package/build/hooks/grid-visualizer.js +62 -0
- package/build/hooks/grid-visualizer.js.map +1 -0
- package/build/hooks/index.js +15 -2
- package/build/hooks/index.js.map +1 -1
- package/build/hooks/layout-child.js +47 -23
- package/build/hooks/layout-child.js.map +1 -1
- package/build/hooks/position.js +4 -15
- package/build/hooks/position.js.map +1 -1
- package/build/hooks/use-bindings-attributes.js +96 -55
- package/build/hooks/use-bindings-attributes.js.map +1 -1
- package/build/hooks/utils.js +2 -0
- package/build/hooks/utils.js.map +1 -1
- package/build/layouts/constrained.js +50 -4
- package/build/layouts/constrained.js.map +1 -1
- package/build/layouts/grid.js +92 -51
- package/build/layouts/grid.js.map +1 -1
- package/build/private-apis.js +6 -4
- package/build/private-apis.js.map +1 -1
- package/build/store/actions.js +18 -1
- package/build/store/actions.js.map +1 -1
- package/build/store/defaults.js +0 -2
- package/build/store/defaults.js.map +1 -1
- package/build/store/defaults.native.js +0 -3
- package/build/store/defaults.native.js.map +1 -1
- package/build/store/private-keys.js +2 -1
- package/build/store/private-keys.js.map +1 -1
- package/build/store/reducer.js +19 -1
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +13 -1
- package/build/store/selectors.js.map +1 -1
- package/build/utils/format-font-style.js +45 -0
- package/build/utils/format-font-style.js.map +1 -0
- package/build/utils/format-font-weight.js +68 -0
- package/build/utils/format-font-weight.js.map +1 -0
- package/build/utils/get-editor-region.js +34 -0
- package/build/utils/get-editor-region.js.map +1 -0
- package/build/utils/get-font-styles-and-weights.js +167 -0
- package/build/utils/get-font-styles-and-weights.js.map +1 -0
- package/build/utils/pasting.js +5 -13
- package/build/utils/pasting.js.map +1 -1
- package/build-module/components/alignment-control/ui.js +2 -2
- package/build-module/components/alignment-control/ui.js.map +1 -1
- package/build-module/components/block-alignment-control/ui.js +1 -1
- package/build-module/components/block-alignment-control/ui.js.map +1 -1
- package/build-module/components/block-alignment-control/ui.native.js +1 -1
- package/build-module/components/block-alignment-control/ui.native.js.map +1 -1
- package/build-module/components/block-breadcrumb/index.js +12 -1
- package/build-module/components/block-breadcrumb/index.js.map +1 -1
- package/build-module/components/block-inspector/index.js +6 -3
- package/build-module/components/block-inspector/index.js.map +1 -1
- package/build-module/components/block-list/use-block-props/index.js +3 -1
- package/build-module/components/block-list/use-block-props/index.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-block-refs.js +11 -4
- package/build-module/components/block-list/use-block-props/use-block-refs.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-is-hovered.js +26 -9
- package/build-module/components/block-list/use-block-props/use-is-hovered.js.map +1 -1
- package/build-module/components/block-list/use-in-between-inserter.js +3 -2
- package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build-module/components/block-lock/modal.js +2 -0
- package/build-module/components/block-lock/modal.js.map +1 -1
- package/build-module/components/block-lock/toolbar.js +0 -1
- package/build-module/components/block-lock/toolbar.js.map +1 -1
- package/build-module/components/block-mover/button.js +1 -1
- package/build-module/components/block-mover/button.js.map +1 -1
- package/build-module/components/block-mover/index.js +1 -1
- package/build-module/components/block-mover/index.js.map +1 -1
- package/build-module/components/block-pattern-setup/setup-toolbar.js +2 -2
- package/build-module/components/block-pattern-setup/setup-toolbar.js.map +1 -1
- package/build-module/components/block-patterns-paging/index.js +5 -7
- package/build-module/components/block-patterns-paging/index.js.map +1 -1
- package/build-module/components/block-quick-navigation/index.js +20 -17
- package/build-module/components/block-quick-navigation/index.js.map +1 -1
- package/build-module/components/block-removal-warning-modal/index.js +2 -0
- package/build-module/components/block-removal-warning-modal/index.js.map +1 -1
- package/build-module/components/block-rename/modal.js +5 -13
- package/build-module/components/block-rename/modal.js.map +1 -1
- package/build-module/components/block-switcher/index.js +1 -1
- package/build-module/components/block-switcher/index.js.map +1 -1
- package/build-module/components/block-switcher/pattern-transformations-menu.js +12 -13
- package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
- package/build-module/components/block-switcher/preview-block-popover.js +20 -17
- package/build-module/components/block-switcher/preview-block-popover.js.map +1 -1
- package/build-module/components/block-toolbar/shuffle.js +6 -2
- package/build-module/components/block-toolbar/shuffle.js.map +1 -1
- package/build-module/components/block-tools/block-selection-button.js +10 -61
- package/build-module/components/block-tools/block-selection-button.js.map +1 -1
- package/build-module/components/block-tools/block-toolbar-breadcrumb.js +9 -2
- package/build-module/components/block-tools/block-toolbar-breadcrumb.js.map +1 -1
- package/build-module/components/block-tools/index.js +14 -1
- package/build-module/components/block-tools/index.js.map +1 -1
- package/build-module/components/block-tools/use-show-block-tools.js +9 -8
- package/build-module/components/block-tools/use-show-block-tools.js.map +1 -1
- package/build-module/components/block-tools/zoom-out-mode-inserter-button.js +37 -0
- package/build-module/components/block-tools/zoom-out-mode-inserter-button.js.map +1 -0
- package/build-module/components/block-tools/zoom-out-mode-inserters.js +30 -29
- package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
- package/build-module/components/block-tools/zoom-out-popover.js +49 -0
- package/build-module/components/block-tools/zoom-out-popover.js.map +1 -0
- package/build-module/components/block-tools/zoom-out-toolbar.js +131 -0
- package/build-module/components/block-tools/zoom-out-toolbar.js.map +1 -0
- package/build-module/components/button-block-appender/index.js +3 -1
- package/build-module/components/button-block-appender/index.js.map +1 -1
- package/build-module/components/child-layout-control/index.js +27 -19
- package/build-module/components/child-layout-control/index.js.map +1 -1
- package/build-module/components/date-format-picker/index.js +2 -2
- package/build-module/components/date-format-picker/index.js.map +1 -1
- package/build-module/components/default-block-appender/index.js +7 -4
- package/build-module/components/default-block-appender/index.js.map +1 -1
- package/build-module/components/dimensions-tool/index.js +6 -4
- package/build-module/components/dimensions-tool/index.js.map +1 -1
- package/build-module/components/font-appearance-control/index.js +24 -62
- package/build-module/components/font-appearance-control/index.js.map +1 -1
- package/build-module/components/global-styles/background-panel.js +188 -119
- package/build-module/components/global-styles/background-panel.js.map +1 -1
- package/build-module/components/global-styles/border-panel.js +3 -2
- package/build-module/components/global-styles/border-panel.js.map +1 -1
- package/build-module/components/global-styles/color-panel.js +3 -2
- package/build-module/components/global-styles/color-panel.js.map +1 -1
- package/build-module/components/global-styles/dimensions-panel.js +3 -2
- package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
- package/build-module/components/global-styles/filters-panel.js +3 -2
- package/build-module/components/global-styles/filters-panel.js.map +1 -1
- package/build-module/components/global-styles/hooks.js +13 -1
- package/build-module/components/global-styles/hooks.js.map +1 -1
- package/build-module/components/global-styles/image-settings-panel.js +3 -2
- package/build-module/components/global-styles/image-settings-panel.js.map +1 -1
- package/build-module/components/global-styles/typography-panel.js +47 -26
- package/build-module/components/global-styles/typography-panel.js.map +1 -1
- package/build-module/components/global-styles/typography-utils.js +117 -0
- package/build-module/components/global-styles/typography-utils.js.map +1 -1
- package/build-module/components/global-styles/use-global-styles-output.js +47 -13
- package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build-module/components/global-styles/utils.js +15 -6
- package/build-module/components/global-styles/utils.js.map +1 -1
- package/build-module/components/grid/grid-item-movers.js +93 -50
- package/build-module/components/grid/grid-item-movers.js.map +1 -1
- package/build-module/components/grid/grid-item-resizer.js +2 -2
- package/build-module/components/grid/grid-item-resizer.js.map +1 -1
- package/build-module/components/grid/grid-visualizer.js +118 -38
- package/build-module/components/grid/grid-visualizer.js.map +1 -1
- package/build-module/components/grid/use-grid-layout-sync.js +61 -42
- package/build-module/components/grid/use-grid-layout-sync.js.map +1 -1
- package/build-module/components/index.js +0 -5
- package/build-module/components/index.js.map +1 -1
- package/build-module/components/inner-blocks/index.js +2 -2
- package/build-module/components/inner-blocks/index.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +1 -19
- package/build-module/components/inserter/block-patterns-tab/pattern-category-preview-panel.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/patterns-filter.js +20 -23
- package/build-module/components/inserter/block-patterns-tab/patterns-filter.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-panel.js +1 -0
- package/build-module/components/inserter/media-tab/media-panel.js.map +1 -1
- package/build-module/components/inserter/menu.js +26 -4
- package/build-module/components/inserter/menu.js.map +1 -1
- package/build-module/components/inserter/preview-panel.js +20 -3
- package/build-module/components/inserter/preview-panel.js.map +1 -1
- package/build-module/components/inserter/quick-inserter.js +2 -1
- package/build-module/components/inserter/quick-inserter.js.map +1 -1
- package/build-module/components/inserter-draggable-blocks/index.js +10 -3
- package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
- package/build-module/components/inspector-controls/block-support-tools-panel.js +3 -2
- package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/settings-tab.js +1 -2
- package/build-module/components/inspector-controls-tabs/settings-tab.js.map +1 -1
- package/build-module/components/link-control/link-preview.js +1 -1
- package/build-module/components/link-control/link-preview.js.map +1 -1
- package/build-module/components/list-view/block-select-button.js +3 -7
- package/build-module/components/list-view/block-select-button.js.map +1 -1
- package/build-module/components/list-view/block.js +2 -2
- package/build-module/components/list-view/block.js.map +1 -1
- package/build-module/components/list-view/utils.js +3 -1
- package/build-module/components/list-view/utils.js.map +1 -1
- package/build-module/components/media-placeholder/index.js +19 -23
- package/build-module/components/media-placeholder/index.js.map +1 -1
- package/build-module/components/navigable-toolbar/index.js +3 -1
- package/build-module/components/navigable-toolbar/index.js.map +1 -1
- package/build-module/components/rich-text/format-toolbar/index.js +1 -1
- package/build-module/components/rich-text/format-toolbar/index.js.map +1 -1
- package/build-module/components/rich-text/index.js +1 -1
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +9 -3
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
- package/build-module/components/tabbed-sidebar/index.js +60 -0
- package/build-module/components/tabbed-sidebar/index.js.map +1 -0
- package/build-module/components/url-popover/image-url-input-ui.js +3 -3
- package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
- package/build-module/components/url-popover/index.js +3 -0
- package/build-module/components/url-popover/index.js.map +1 -1
- package/build-module/hooks/background.js +26 -4
- package/build-module/hooks/background.js.map +1 -1
- package/build-module/hooks/block-hooks.js +11 -17
- package/build-module/hooks/block-hooks.js.map +1 -1
- package/build-module/hooks/block-style-variation.js +168 -4
- package/build-module/hooks/block-style-variation.js.map +1 -1
- package/build-module/hooks/duotone.js +16 -11
- package/build-module/hooks/duotone.js.map +1 -1
- package/build-module/hooks/grid-visualizer.js +61 -0
- package/build-module/hooks/grid-visualizer.js.map +1 -0
- package/build-module/hooks/index.js +3 -0
- package/build-module/hooks/index.js.map +1 -1
- package/build-module/hooks/layout-child.js +47 -23
- package/build-module/hooks/layout-child.js.map +1 -1
- package/build-module/hooks/position.js +4 -15
- package/build-module/hooks/position.js.map +1 -1
- package/build-module/hooks/use-bindings-attributes.js +96 -56
- package/build-module/hooks/use-bindings-attributes.js.map +1 -1
- package/build-module/hooks/utils.js +2 -0
- package/build-module/hooks/utils.js.map +1 -1
- package/build-module/layouts/constrained.js +50 -4
- package/build-module/layouts/constrained.js.map +1 -1
- package/build-module/layouts/grid.js +92 -51
- package/build-module/layouts/grid.js.map +1 -1
- package/build-module/private-apis.js +8 -6
- package/build-module/private-apis.js.map +1 -1
- package/build-module/store/actions.js +15 -0
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/defaults.js +0 -2
- package/build-module/store/defaults.js.map +1 -1
- package/build-module/store/defaults.native.js +0 -3
- package/build-module/store/defaults.native.js.map +1 -1
- package/build-module/store/private-keys.js +1 -0
- package/build-module/store/private-keys.js.map +1 -1
- package/build-module/store/reducer.js +18 -1
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +10 -0
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/format-font-style.js +39 -0
- package/build-module/utils/format-font-style.js.map +1 -0
- package/build-module/utils/format-font-weight.js +62 -0
- package/build-module/utils/format-font-weight.js.map +1 -0
- package/build-module/utils/get-editor-region.js +28 -0
- package/build-module/utils/get-editor-region.js.map +1 -0
- package/build-module/utils/get-font-styles-and-weights.js +160 -0
- package/build-module/utils/get-font-styles-and-weights.js.map +1 -0
- package/build-module/utils/pasting.js +5 -13
- package/build-module/utils/pasting.js.map +1 -1
- package/build-style/content-rtl.css +7 -6
- package/build-style/content.css +7 -6
- package/build-style/style-rtl.css +356 -181
- package/build-style/style.css +356 -181
- package/build-types/components/block-context/index.d.ts +2 -2
- package/build-types/components/block-context/index.d.ts.map +1 -1
- package/build-types/utils/dom.d.ts.map +1 -1
- package/package.json +32 -32
- package/src/components/alignment-control/ui.js +2 -2
- package/src/components/block-alignment-control/ui.js +1 -1
- package/src/components/block-alignment-control/ui.native.js +1 -1
- package/src/components/block-breadcrumb/index.js +16 -1
- package/src/components/block-context/README.md +4 -4
- package/src/components/block-inspector/index.js +8 -4
- package/src/components/block-list/content.scss +2 -16
- package/src/components/block-list/use-block-props/index.js +1 -1
- package/src/components/block-list/use-block-props/use-block-refs.js +19 -3
- package/src/components/block-list/use-block-props/use-is-hovered.js +26 -11
- package/src/components/block-list/use-in-between-inserter.js +5 -1
- package/src/components/block-lock/modal.js +10 -2
- package/src/components/block-lock/style.scss +4 -8
- package/src/components/block-lock/toolbar.js +0 -1
- package/src/components/block-mover/button.js +1 -1
- package/src/components/block-mover/index.js +1 -1
- package/src/components/block-pattern-setup/setup-toolbar.js +2 -2
- package/src/components/block-patterns-paging/index.js +8 -11
- package/src/components/block-patterns-paging/style.scss +0 -5
- package/src/components/block-quick-navigation/index.js +21 -28
- package/src/components/block-removal-warning-modal/index.js +10 -2
- package/src/components/block-rename/modal.js +2 -8
- package/src/components/block-switcher/index.js +1 -1
- package/src/components/block-switcher/pattern-transformations-menu.js +17 -15
- package/src/components/block-switcher/preview-block-popover.js +20 -14
- package/src/components/block-switcher/style.scss +8 -17
- package/src/components/block-switcher/test/index.js +6 -6
- package/src/components/block-toolbar/shuffle.js +9 -1
- package/src/components/block-toolbar/style.scss +1 -11
- package/src/components/block-tools/block-selection-button.js +11 -83
- package/src/components/block-tools/block-toolbar-breadcrumb.js +9 -4
- package/src/components/block-tools/index.js +21 -1
- package/src/components/block-tools/style.scss +23 -0
- package/src/components/block-tools/use-show-block-tools.js +21 -10
- package/src/components/block-tools/zoom-out-mode-inserter-button.js +47 -0
- package/src/components/block-tools/zoom-out-mode-inserters.js +44 -33
- package/src/components/block-tools/zoom-out-popover.js +50 -0
- package/src/components/block-tools/zoom-out-toolbar.js +140 -0
- package/src/components/button-block-appender/index.js +2 -1
- package/src/components/child-layout-control/index.js +41 -23
- package/src/components/date-format-picker/index.js +2 -2
- package/src/components/date-format-picker/style.scss +0 -9
- package/src/components/default-block-appender/index.js +11 -4
- package/src/components/dimensions-tool/index.js +97 -89
- package/src/components/font-appearance-control/index.js +24 -82
- package/src/components/font-appearance-control/style.scss +3 -5
- package/src/components/global-styles/background-panel.js +266 -167
- package/src/components/global-styles/border-panel.js +3 -2
- package/src/components/global-styles/color-panel.js +3 -2
- package/src/components/global-styles/dimensions-panel.js +3 -2
- package/src/components/global-styles/filters-panel.js +3 -2
- package/src/components/global-styles/hooks.js +14 -1
- package/src/components/global-styles/image-settings-panel.js +3 -2
- package/src/components/global-styles/style.scss +116 -19
- package/src/components/global-styles/test/typography-utils.js +594 -0
- package/src/components/global-styles/test/use-global-styles-output.js +3 -1
- package/src/components/global-styles/typography-panel.js +56 -27
- package/src/components/global-styles/typography-utils.js +159 -0
- package/src/components/global-styles/use-global-styles-output.js +45 -10
- package/src/components/global-styles/utils.js +17 -6
- package/src/components/grid/grid-item-movers.js +140 -86
- package/src/components/grid/grid-item-resizer.js +3 -2
- package/src/components/grid/grid-visualizer.js +172 -55
- package/src/components/grid/style.scss +157 -8
- package/src/components/grid/use-grid-layout-sync.js +88 -46
- package/src/components/iframe/content.scss +2 -1
- package/src/components/index.js +0 -5
- package/src/components/inner-blocks/index.js +6 -2
- package/src/components/inserter/block-patterns-tab/pattern-category-preview-panel.js +1 -16
- package/src/components/inserter/block-patterns-tab/patterns-filter.js +40 -44
- package/src/components/inserter/media-tab/media-panel.js +1 -0
- package/src/components/inserter/menu.js +47 -13
- package/src/components/inserter/preview-panel.js +27 -4
- package/src/components/inserter/quick-inserter.js +6 -1
- package/src/components/inserter/style.scss +58 -92
- package/src/components/inserter-draggable-blocks/index.js +11 -3
- package/src/components/inspector-controls/block-support-tools-panel.js +3 -3
- package/src/components/inspector-controls-tabs/settings-tab.js +0 -2
- package/src/components/inspector-controls-tabs/style.scss +0 -21
- package/src/components/link-control/link-preview.js +1 -1
- package/src/components/list-view/block-select-button.js +3 -13
- package/src/components/list-view/block.js +10 -3
- package/src/components/list-view/style.scss +2 -1
- package/src/components/list-view/utils.js +13 -2
- package/src/components/media-placeholder/index.js +22 -32
- package/src/components/navigable-toolbar/index.js +3 -1
- package/src/components/rich-text/format-toolbar/index.js +1 -1
- package/src/components/rich-text/index.js +1 -1
- package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +9 -2
- package/src/components/tabbed-sidebar/README.md +76 -0
- package/src/components/tabbed-sidebar/index.js +70 -0
- package/src/components/tabbed-sidebar/style.scss +53 -0
- package/src/components/url-popover/image-url-input-ui.js +3 -3
- package/src/components/url-popover/index.js +3 -0
- package/src/components/url-popover/style.scss +1 -0
- package/src/hooks/background.js +25 -10
- package/src/hooks/block-hooks.js +9 -16
- package/src/hooks/block-style-variation.js +202 -3
- package/src/hooks/duotone.js +16 -12
- package/src/hooks/grid-visualizer.js +62 -0
- package/src/hooks/index.js +3 -0
- package/src/hooks/layout-child.js +64 -39
- package/src/hooks/position.js +3 -20
- package/src/hooks/test/get-variation-styles-with-ref-values.js +91 -0
- package/src/hooks/use-bindings-attributes.js +107 -63
- package/src/hooks/utils.js +2 -0
- package/src/layouts/constrained.js +53 -4
- package/src/layouts/grid.js +148 -51
- package/src/private-apis.js +12 -7
- package/src/store/actions.js +15 -0
- package/src/store/defaults.js +0 -2
- package/src/store/defaults.native.js +0 -3
- package/src/store/private-keys.js +1 -0
- package/src/store/reducer.js +18 -0
- package/src/store/selectors.js +10 -0
- package/src/style.scss +1 -1
- package/src/utils/format-font-style.js +40 -0
- package/src/utils/format-font-weight.js +63 -0
- package/src/utils/get-editor-region.js +31 -0
- package/src/utils/get-font-styles-and-weights.js +191 -0
- package/src/utils/pasting.js +5 -12
- package/src/utils/test/format-font-style.js +34 -0
- package/src/utils/test/format-font-weight.js +66 -0
- package/src/utils/test/get-font-styles-and-weights.js +513 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/build/components/inserter/reusable-block-rename-hint.js +0 -71
- package/build/components/inserter/reusable-block-rename-hint.js.map +0 -1
- package/build/components/inspector-controls-tabs/settings-tab-hint.js +0 -53
- package/build/components/inspector-controls-tabs/settings-tab-hint.js.map +0 -1
- package/build-module/components/inserter/reusable-block-rename-hint.js +0 -64
- package/build-module/components/inserter/reusable-block-rename-hint.js.map +0 -1
- package/build-module/components/inspector-controls-tabs/settings-tab-hint.js +0 -47
- package/build-module/components/inspector-controls-tabs/settings-tab-hint.js.map +0 -1
- package/src/components/inserter/reusable-block-rename-hint.js +0 -69
- package/src/components/inspector-controls-tabs/settings-tab-hint.js +0 -52
- package/src/hooks/position.scss +0 -18
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_clsx","_interopRequireDefault","require","_i18n","_htmlEntities","_data","_keycodes","_inserter","_store","_jsxRuntime","ZWNBSP","exports","DefaultBlockAppender","rootClientId","showPrompt","isLocked","placeholder","useSelect","select","getBlockCount","getSettings","getTemplateLock","blockEditorStore","isEmpty","bodyPlaceholder","insertDefaultBlock","startTyping","useDispatch","value","decodeEntities","__","onAppend","undefined","jsxs","className","clsx","children","jsx","tabIndex","role","onKeyDown","event","ENTER","keyCode","SPACE","onClick","onFocus","default","position","isAppender","__experimentalIsQuick"],"sources":["@wordpress/block-editor/src/components/default-block-appender/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useSelect, useDispatch } 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 default function DefaultBlockAppender( { rootClientId } ) {\n\tconst { showPrompt, isLocked, placeholder } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {
|
|
1
|
+
{"version":3,"names":["_clsx","_interopRequireDefault","require","_i18n","_htmlEntities","_data","_keycodes","_inserter","_store","_jsxRuntime","ZWNBSP","exports","DefaultBlockAppender","rootClientId","showPrompt","isLocked","placeholder","isManualGrid","useSelect","select","getBlockCount","getSettings","getTemplateLock","getBlockAttributes","blockEditorStore","isEmpty","bodyPlaceholder","layout","isManualPlacement","insertDefaultBlock","startTyping","useDispatch","value","decodeEntities","__","onAppend","undefined","jsxs","className","clsx","children","jsx","tabIndex","role","onKeyDown","event","ENTER","keyCode","SPACE","onClick","onFocus","default","position","isAppender","__experimentalIsQuick"],"sources":["@wordpress/block-editor/src/components/default-block-appender/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useSelect, useDispatch } 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 default function DefaultBlockAppender( { rootClientId } ) {\n\tconst { showPrompt, isLocked, placeholder, isManualGrid } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockCount,\n\t\t\t\tgetSettings,\n\t\t\t\tgetTemplateLock,\n\t\t\t\tgetBlockAttributes,\n\t\t\t} = select( blockEditorStore );\n\n\t\t\tconst isEmpty = ! getBlockCount( rootClientId );\n\t\t\tconst { bodyPlaceholder } = getSettings();\n\n\t\t\treturn {\n\t\t\t\tshowPrompt: isEmpty,\n\t\t\t\tisLocked: !! getTemplateLock( rootClientId ),\n\t\t\t\tplaceholder: bodyPlaceholder,\n\t\t\t\tisManualGrid:\n\t\t\t\t\tgetBlockAttributes( rootClientId )?.layout\n\t\t\t\t\t\t?.isManualPlacement,\n\t\t\t};\n\t\t},\n\t\t[ rootClientId ]\n\t);\n\n\tconst { insertDefaultBlock, startTyping } = useDispatch( blockEditorStore );\n\n\tif ( isLocked || isManualGrid ) {\n\t\treturn null;\n\t}\n\n\tconst value =\n\t\tdecodeEntities( placeholder ) || __( 'Type / to choose a block' );\n\n\tconst onAppend = () => {\n\t\tinsertDefaultBlock( undefined, rootClientId );\n\t\tstartTyping();\n\t};\n\n\treturn (\n\t\t<div\n\t\t\tdata-root-client-id={ rootClientId || '' }\n\t\t\tclassName={ clsx( '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"],"mappings":"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","ignoreList":[]}
|
|
@@ -68,7 +68,9 @@ var _jsxRuntime = require("react/jsx-runtime");
|
|
|
68
68
|
// Default options handled by ScaleTool.
|
|
69
69
|
defaultScale = 'fill',
|
|
70
70
|
// Match CSS default value for object-fit.
|
|
71
|
-
unitsOptions
|
|
71
|
+
unitsOptions,
|
|
72
|
+
// Default options handled by UnitControl.
|
|
73
|
+
tools = ['aspectRatio', 'widthHeight', 'scale']
|
|
72
74
|
}) {
|
|
73
75
|
// Coerce undefined and CSS default values to be null.
|
|
74
76
|
const width = value.width === undefined || value.width === 'auto' ? null : value.width;
|
|
@@ -88,7 +90,7 @@ var _jsxRuntime = require("react/jsx-runtime");
|
|
|
88
90
|
const aspectRatioValue = width && height ? 'custom' : lastAspectRatio;
|
|
89
91
|
const showScaleControl = aspectRatio || width && height;
|
|
90
92
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
91
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_aspectRatioTool.default, {
|
|
93
|
+
children: [tools.includes('aspectRatio') && /*#__PURE__*/(0, _jsxRuntime.jsx)(_aspectRatioTool.default, {
|
|
92
94
|
panelId: panelId,
|
|
93
95
|
options: aspectRatioOptions,
|
|
94
96
|
defaultValue: defaultAspectRatio,
|
|
@@ -125,7 +127,7 @@ var _jsxRuntime = require("react/jsx-runtime");
|
|
|
125
127
|
}
|
|
126
128
|
onChange(nextValue);
|
|
127
129
|
}
|
|
128
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_widthHeightTool.default, {
|
|
130
|
+
}), tools.includes('widthHeight') && /*#__PURE__*/(0, _jsxRuntime.jsx)(_widthHeightTool.default, {
|
|
129
131
|
panelId: panelId,
|
|
130
132
|
units: unitsOptions,
|
|
131
133
|
value: {
|
|
@@ -180,7 +182,7 @@ var _jsxRuntime = require("react/jsx-runtime");
|
|
|
180
182
|
}
|
|
181
183
|
onChange(nextValue);
|
|
182
184
|
}
|
|
183
|
-
}), showScaleControl && /*#__PURE__*/(0, _jsxRuntime.jsx)(_scaleTool.default, {
|
|
185
|
+
}), tools.includes('scale') && showScaleControl && /*#__PURE__*/(0, _jsxRuntime.jsx)(_scaleTool.default, {
|
|
184
186
|
panelId: panelId,
|
|
185
187
|
options: scaleOptions,
|
|
186
188
|
defaultValue: defaultScale,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_element","require","_aspectRatioTool","_interopRequireDefault","_scaleTool","_widthHeightTool","_jsxRuntime","DimensionsTool","panelId","value","onChange","aspectRatioOptions","defaultAspectRatio","scaleOptions","defaultScale","unitsOptions","width","undefined","height","aspectRatio","scale","lastScale","setLastScale","useState","lastAspectRatio","setLastAspectRatio","aspectRatioValue","showScaleControl","jsxs","Fragment","children","jsx","default","options","defaultValue","nextAspectRatio","nextValue","units","nextWidth","nextHeight","nextScale","_default","exports"],"sources":["@wordpress/block-editor/src/components/dimensions-tool/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport AspectRatioTool from './aspect-ratio-tool';\nimport ScaleTool from './scale-tool';\nimport WidthHeightTool from './width-height-tool';\n\n/**\n * @typedef {import('@wordpress/components/build-types/select-control/types').SelectControlProps} SelectControlProps\n */\n\n/**\n * @typedef {import('@wordpress/components/build-types/unit-control/types').WPUnitControlUnit} WPUnitControlUnit\n */\n\n/**\n * @typedef {Object} Dimensions\n * @property {string} [width] CSS width property.\n * @property {string} [height] CSS height property.\n * @property {string} [scale] CSS object-fit property.\n * @property {string} [aspectRatio] CSS aspect-ratio property.\n */\n\n/**\n * @callback DimensionsControlsOnChange\n * @param {Dimensions} nextValue\n * @return {void}\n */\n\n/**\n * @typedef {Object} DimensionsControlsProps\n * @property {string} [panelId] ID of the panel that contains the controls.\n * @property {Dimensions} [value] Current dimensions values.\n * @property {DimensionsControlsOnChange} [onChange] Callback to update the dimensions values.\n * @property {SelectControlProps[]} [aspectRatioOptions] Aspect ratio options.\n * @property {SelectControlProps[]} [scaleOptions] Scale options.\n * @property {WPUnitControlUnit[]} [unitsOptions] Units options.\n */\n\n/**\n * Component that renders controls to edit the dimensions of an image or container.\n *\n * @param {DimensionsControlsProps} props The component props.\n *\n * @return {Element} The dimensions controls.\n */\nfunction DimensionsTool( {\n\tpanelId,\n\tvalue = {},\n\tonChange = () => {},\n\taspectRatioOptions, // Default options handled by AspectRatioTool.\n\tdefaultAspectRatio = 'auto', // Match CSS default value for aspect-ratio.\n\tscaleOptions, // Default options handled by ScaleTool.\n\tdefaultScale = 'fill', // Match CSS default value for object-fit.\n\tunitsOptions, // Default options handled by UnitControl.\n} ) {\n\t// Coerce undefined and CSS default values to be null.\n\tconst width =\n\t\tvalue.width === undefined || value.width === 'auto'\n\t\t\t? null\n\t\t\t: value.width;\n\tconst height =\n\t\tvalue.height === undefined || value.height === 'auto'\n\t\t\t? null\n\t\t\t: value.height;\n\tconst aspectRatio =\n\t\tvalue.aspectRatio === undefined || value.aspectRatio === 'auto'\n\t\t\t? null\n\t\t\t: value.aspectRatio;\n\tconst scale =\n\t\tvalue.scale === undefined || value.scale === 'fill'\n\t\t\t? null\n\t\t\t: value.scale;\n\n\t// Keep track of state internally, so when the value is cleared by means\n\t// other than directly editing that field, it's easier to restore the\n\t// previous value.\n\tconst [ lastScale, setLastScale ] = useState( scale );\n\tconst [ lastAspectRatio, setLastAspectRatio ] = useState( aspectRatio );\n\n\t// 'custom' is not a valid value for CSS aspect-ratio, but it is used in the\n\t// dropdown to indicate that setting both the width and height is the same\n\t// as a custom aspect ratio.\n\tconst aspectRatioValue = width && height ? 'custom' : lastAspectRatio;\n\n\tconst showScaleControl = aspectRatio || ( width && height );\n\n\treturn (\n\t\t<>\n\t\t\t<AspectRatioTool\n\t\t\t\tpanelId={ panelId }\n\t\t\t\toptions={ aspectRatioOptions }\n\t\t\t\tdefaultValue={ defaultAspectRatio }\n\t\t\t\tvalue={ aspectRatioValue }\n\t\t\t\tonChange={ ( nextAspectRatio ) => {\n\t\t\t\t\tconst nextValue = { ...value };\n\n\t\t\t\t\t// 'auto' is CSS default, so it gets treated as null.\n\t\t\t\t\tnextAspectRatio =\n\t\t\t\t\t\tnextAspectRatio === 'auto' ? null : nextAspectRatio;\n\n\t\t\t\t\tsetLastAspectRatio( nextAspectRatio );\n\n\t\t\t\t\t// Update aspectRatio.\n\t\t\t\t\tif ( ! nextAspectRatio ) {\n\t\t\t\t\t\tdelete nextValue.aspectRatio;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnextValue.aspectRatio = nextAspectRatio;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Auto-update scale.\n\t\t\t\t\tif ( ! nextAspectRatio ) {\n\t\t\t\t\t\tdelete nextValue.scale;\n\t\t\t\t\t} else if ( lastScale ) {\n\t\t\t\t\t\tnextValue.scale = lastScale;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnextValue.scale = defaultScale;\n\t\t\t\t\t\tsetLastScale( defaultScale );\n\t\t\t\t\t}\n\n\t\t\t\t\t// Auto-update width and height.\n\t\t\t\t\tif ( 'custom' !== nextAspectRatio && width && height ) {\n\t\t\t\t\t\tdelete nextValue.height;\n\t\t\t\t\t}\n\n\t\t\t\t\tonChange( nextValue );\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t<WidthHeightTool\n\t\t\t\tpanelId={ panelId }\n\t\t\t\tunits={ unitsOptions }\n\t\t\t\tvalue={ { width, height } }\n\t\t\t\tonChange={ ( { width: nextWidth, height: nextHeight } ) => {\n\t\t\t\t\tconst nextValue = { ...value };\n\n\t\t\t\t\t// 'auto' is CSS default, so it gets treated as null.\n\t\t\t\t\tnextWidth = nextWidth === 'auto' ? null : nextWidth;\n\t\t\t\t\tnextHeight = nextHeight === 'auto' ? null : nextHeight;\n\n\t\t\t\t\t// Update width.\n\t\t\t\t\tif ( ! nextWidth ) {\n\t\t\t\t\t\tdelete nextValue.width;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnextValue.width = nextWidth;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Update height.\n\t\t\t\t\tif ( ! nextHeight ) {\n\t\t\t\t\t\tdelete nextValue.height;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnextValue.height = nextHeight;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Auto-update aspectRatio.\n\t\t\t\t\tif ( nextWidth && nextHeight ) {\n\t\t\t\t\t\tdelete nextValue.aspectRatio;\n\t\t\t\t\t} else if ( lastAspectRatio ) {\n\t\t\t\t\t\tnextValue.aspectRatio = lastAspectRatio;\n\t\t\t\t\t} else {\n\t\t\t\t\t\t// No setting defaultAspectRatio here, because\n\t\t\t\t\t\t// aspectRatio is optional in this scenario,\n\t\t\t\t\t\t// unlike scale.\n\t\t\t\t\t}\n\n\t\t\t\t\t// Auto-update scale.\n\t\t\t\t\tif ( ! lastAspectRatio && !! nextWidth !== !! nextHeight ) {\n\t\t\t\t\t\tdelete nextValue.scale;\n\t\t\t\t\t} else if ( lastScale ) {\n\t\t\t\t\t\tnextValue.scale = lastScale;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tnextValue.scale = defaultScale;\n\t\t\t\t\t\tsetLastScale( defaultScale );\n\t\t\t\t\t}\n\n\t\t\t\t\tonChange( nextValue );\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t{ showScaleControl && (\n\t\t\t\t<ScaleTool\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t\toptions={ scaleOptions }\n\t\t\t\t\tdefaultValue={ defaultScale }\n\t\t\t\t\tvalue={ lastScale }\n\t\t\t\t\tonChange={ ( nextScale ) => {\n\t\t\t\t\t\tconst nextValue = { ...value };\n\n\t\t\t\t\t\t// 'fill' is CSS default, so it gets treated as null.\n\t\t\t\t\t\tnextScale = nextScale === 'fill' ? null : nextScale;\n\n\t\t\t\t\t\tsetLastScale( nextScale );\n\n\t\t\t\t\t\t// Update scale.\n\t\t\t\t\t\tif ( ! nextScale ) {\n\t\t\t\t\t\t\tdelete nextValue.scale;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tnextValue.scale = nextScale;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tonChange( nextValue );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default DimensionsTool;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_element","require","_aspectRatioTool","_interopRequireDefault","_scaleTool","_widthHeightTool","_jsxRuntime","DimensionsTool","panelId","value","onChange","aspectRatioOptions","defaultAspectRatio","scaleOptions","defaultScale","unitsOptions","tools","width","undefined","height","aspectRatio","scale","lastScale","setLastScale","useState","lastAspectRatio","setLastAspectRatio","aspectRatioValue","showScaleControl","jsxs","Fragment","children","includes","jsx","default","options","defaultValue","nextAspectRatio","nextValue","units","nextWidth","nextHeight","nextScale","_default","exports"],"sources":["@wordpress/block-editor/src/components/dimensions-tool/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport AspectRatioTool from './aspect-ratio-tool';\nimport ScaleTool from './scale-tool';\nimport WidthHeightTool from './width-height-tool';\n\n/**\n * @typedef {import('@wordpress/components/build-types/select-control/types').SelectControlProps} SelectControlProps\n */\n\n/**\n * @typedef {import('@wordpress/components/build-types/unit-control/types').WPUnitControlUnit} WPUnitControlUnit\n */\n\n/**\n * @typedef {Object} Dimensions\n * @property {string} [width] CSS width property.\n * @property {string} [height] CSS height property.\n * @property {string} [scale] CSS object-fit property.\n * @property {string} [aspectRatio] CSS aspect-ratio property.\n */\n\n/**\n * @callback DimensionsControlsOnChange\n * @param {Dimensions} nextValue\n * @return {void}\n */\n\n/**\n * @typedef {Object} DimensionsControlsProps\n * @property {string} [panelId] ID of the panel that contains the controls.\n * @property {Dimensions} [value] Current dimensions values.\n * @property {DimensionsControlsOnChange} [onChange] Callback to update the dimensions values.\n * @property {SelectControlProps[]} [aspectRatioOptions] Aspect ratio options.\n * @property {SelectControlProps[]} [scaleOptions] Scale options.\n * @property {WPUnitControlUnit[]} [unitsOptions] Units options.\n */\n\n/**\n * Component that renders controls to edit the dimensions of an image or container.\n *\n * @param {DimensionsControlsProps} props The component props.\n *\n * @return {Element} The dimensions controls.\n */\nfunction DimensionsTool( {\n\tpanelId,\n\tvalue = {},\n\tonChange = () => {},\n\taspectRatioOptions, // Default options handled by AspectRatioTool.\n\tdefaultAspectRatio = 'auto', // Match CSS default value for aspect-ratio.\n\tscaleOptions, // Default options handled by ScaleTool.\n\tdefaultScale = 'fill', // Match CSS default value for object-fit.\n\tunitsOptions, // Default options handled by UnitControl.\n\ttools = [ 'aspectRatio', 'widthHeight', 'scale' ],\n} ) {\n\t// Coerce undefined and CSS default values to be null.\n\tconst width =\n\t\tvalue.width === undefined || value.width === 'auto'\n\t\t\t? null\n\t\t\t: value.width;\n\tconst height =\n\t\tvalue.height === undefined || value.height === 'auto'\n\t\t\t? null\n\t\t\t: value.height;\n\tconst aspectRatio =\n\t\tvalue.aspectRatio === undefined || value.aspectRatio === 'auto'\n\t\t\t? null\n\t\t\t: value.aspectRatio;\n\tconst scale =\n\t\tvalue.scale === undefined || value.scale === 'fill'\n\t\t\t? null\n\t\t\t: value.scale;\n\n\t// Keep track of state internally, so when the value is cleared by means\n\t// other than directly editing that field, it's easier to restore the\n\t// previous value.\n\tconst [ lastScale, setLastScale ] = useState( scale );\n\tconst [ lastAspectRatio, setLastAspectRatio ] = useState( aspectRatio );\n\n\t// 'custom' is not a valid value for CSS aspect-ratio, but it is used in the\n\t// dropdown to indicate that setting both the width and height is the same\n\t// as a custom aspect ratio.\n\tconst aspectRatioValue = width && height ? 'custom' : lastAspectRatio;\n\n\tconst showScaleControl = aspectRatio || ( width && height );\n\n\treturn (\n\t\t<>\n\t\t\t{ tools.includes( 'aspectRatio' ) && (\n\t\t\t\t<AspectRatioTool\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t\toptions={ aspectRatioOptions }\n\t\t\t\t\tdefaultValue={ defaultAspectRatio }\n\t\t\t\t\tvalue={ aspectRatioValue }\n\t\t\t\t\tonChange={ ( nextAspectRatio ) => {\n\t\t\t\t\t\tconst nextValue = { ...value };\n\n\t\t\t\t\t\t// 'auto' is CSS default, so it gets treated as null.\n\t\t\t\t\t\tnextAspectRatio =\n\t\t\t\t\t\t\tnextAspectRatio === 'auto' ? null : nextAspectRatio;\n\n\t\t\t\t\t\tsetLastAspectRatio( nextAspectRatio );\n\n\t\t\t\t\t\t// Update aspectRatio.\n\t\t\t\t\t\tif ( ! nextAspectRatio ) {\n\t\t\t\t\t\t\tdelete nextValue.aspectRatio;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tnextValue.aspectRatio = nextAspectRatio;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Auto-update scale.\n\t\t\t\t\t\tif ( ! nextAspectRatio ) {\n\t\t\t\t\t\t\tdelete nextValue.scale;\n\t\t\t\t\t\t} else if ( lastScale ) {\n\t\t\t\t\t\t\tnextValue.scale = lastScale;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tnextValue.scale = defaultScale;\n\t\t\t\t\t\t\tsetLastScale( defaultScale );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Auto-update width and height.\n\t\t\t\t\t\tif ( 'custom' !== nextAspectRatio && width && height ) {\n\t\t\t\t\t\t\tdelete nextValue.height;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tonChange( nextValue );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ tools.includes( 'widthHeight' ) && (\n\t\t\t\t<WidthHeightTool\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t\tunits={ unitsOptions }\n\t\t\t\t\tvalue={ { width, height } }\n\t\t\t\t\tonChange={ ( { width: nextWidth, height: nextHeight } ) => {\n\t\t\t\t\t\tconst nextValue = { ...value };\n\n\t\t\t\t\t\t// 'auto' is CSS default, so it gets treated as null.\n\t\t\t\t\t\tnextWidth = nextWidth === 'auto' ? null : nextWidth;\n\t\t\t\t\t\tnextHeight = nextHeight === 'auto' ? null : nextHeight;\n\n\t\t\t\t\t\t// Update width.\n\t\t\t\t\t\tif ( ! nextWidth ) {\n\t\t\t\t\t\t\tdelete nextValue.width;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tnextValue.width = nextWidth;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Update height.\n\t\t\t\t\t\tif ( ! nextHeight ) {\n\t\t\t\t\t\t\tdelete nextValue.height;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tnextValue.height = nextHeight;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Auto-update aspectRatio.\n\t\t\t\t\t\tif ( nextWidth && nextHeight ) {\n\t\t\t\t\t\t\tdelete nextValue.aspectRatio;\n\t\t\t\t\t\t} else if ( lastAspectRatio ) {\n\t\t\t\t\t\t\tnextValue.aspectRatio = lastAspectRatio;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// No setting defaultAspectRatio here, because\n\t\t\t\t\t\t\t// aspectRatio is optional in this scenario,\n\t\t\t\t\t\t\t// unlike scale.\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Auto-update scale.\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t! lastAspectRatio &&\n\t\t\t\t\t\t\t!! nextWidth !== !! nextHeight\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tdelete nextValue.scale;\n\t\t\t\t\t\t} else if ( lastScale ) {\n\t\t\t\t\t\t\tnextValue.scale = lastScale;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tnextValue.scale = defaultScale;\n\t\t\t\t\t\t\tsetLastScale( defaultScale );\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tonChange( nextValue );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ tools.includes( 'scale' ) && showScaleControl && (\n\t\t\t\t<ScaleTool\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t\toptions={ scaleOptions }\n\t\t\t\t\tdefaultValue={ defaultScale }\n\t\t\t\t\tvalue={ lastScale }\n\t\t\t\t\tonChange={ ( nextScale ) => {\n\t\t\t\t\t\tconst nextValue = { ...value };\n\n\t\t\t\t\t\t// 'fill' is CSS default, so it gets treated as null.\n\t\t\t\t\t\tnextScale = nextScale === 'fill' ? null : nextScale;\n\n\t\t\t\t\t\tsetLastScale( nextScale );\n\n\t\t\t\t\t\t// Update scale.\n\t\t\t\t\t\tif ( ! nextScale ) {\n\t\t\t\t\t\t\tdelete nextValue.scale;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tnextValue.scale = nextScale;\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tonChange( nextValue );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default DimensionsTool;\n"],"mappings":";;;;;;;AAGA,IAAAA,QAAA,GAAAC,OAAA;AAKA,IAAAC,gBAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,UAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,gBAAA,GAAAF,sBAAA,CAAAF,OAAA;AAAkD,IAAAK,WAAA,GAAAL,OAAA;AAVlD;AACA;AACA;;AAGA;AACA;AACA;;AAKA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,GACA,SAASM,cAAcA,CAAE;EACxBC,OAAO;EACPC,KAAK,GAAG,CAAC,CAAC;EACVC,QAAQ,GAAGA,CAAA,KAAM,CAAC,CAAC;EACnBC,kBAAkB;EAAE;EACpBC,kBAAkB,GAAG,MAAM;EAAE;EAC7BC,YAAY;EAAE;EACdC,YAAY,GAAG,MAAM;EAAE;EACvBC,YAAY;EAAE;EACdC,KAAK,GAAG,CAAE,aAAa,EAAE,aAAa,EAAE,OAAO;AAChD,CAAC,EAAG;EACH;EACA,MAAMC,KAAK,GACVR,KAAK,CAACQ,KAAK,KAAKC,SAAS,IAAIT,KAAK,CAACQ,KAAK,KAAK,MAAM,GAChD,IAAI,GACJR,KAAK,CAACQ,KAAK;EACf,MAAME,MAAM,GACXV,KAAK,CAACU,MAAM,KAAKD,SAAS,IAAIT,KAAK,CAACU,MAAM,KAAK,MAAM,GAClD,IAAI,GACJV,KAAK,CAACU,MAAM;EAChB,MAAMC,WAAW,GAChBX,KAAK,CAACW,WAAW,KAAKF,SAAS,IAAIT,KAAK,CAACW,WAAW,KAAK,MAAM,GAC5D,IAAI,GACJX,KAAK,CAACW,WAAW;EACrB,MAAMC,KAAK,GACVZ,KAAK,CAACY,KAAK,KAAKH,SAAS,IAAIT,KAAK,CAACY,KAAK,KAAK,MAAM,GAChD,IAAI,GACJZ,KAAK,CAACY,KAAK;;EAEf;EACA;EACA;EACA,MAAM,CAAEC,SAAS,EAAEC,YAAY,CAAE,GAAG,IAAAC,iBAAQ,EAAEH,KAAM,CAAC;EACrD,MAAM,CAAEI,eAAe,EAAEC,kBAAkB,CAAE,GAAG,IAAAF,iBAAQ,EAAEJ,WAAY,CAAC;;EAEvE;EACA;EACA;EACA,MAAMO,gBAAgB,GAAGV,KAAK,IAAIE,MAAM,GAAG,QAAQ,GAAGM,eAAe;EAErE,MAAMG,gBAAgB,GAAGR,WAAW,IAAMH,KAAK,IAAIE,MAAQ;EAE3D,oBACC,IAAAb,WAAA,CAAAuB,IAAA,EAAAvB,WAAA,CAAAwB,QAAA;IAAAC,QAAA,GACGf,KAAK,CAACgB,QAAQ,CAAE,aAAc,CAAC,iBAChC,IAAA1B,WAAA,CAAA2B,GAAA,EAAC/B,gBAAA,CAAAgC,OAAe;MACf1B,OAAO,EAAGA,OAAS;MACnB2B,OAAO,EAAGxB,kBAAoB;MAC9ByB,YAAY,EAAGxB,kBAAoB;MACnCH,KAAK,EAAGkB,gBAAkB;MAC1BjB,QAAQ,EAAK2B,eAAe,IAAM;QACjC,MAAMC,SAAS,GAAG;UAAE,GAAG7B;QAAM,CAAC;;QAE9B;QACA4B,eAAe,GACdA,eAAe,KAAK,MAAM,GAAG,IAAI,GAAGA,eAAe;QAEpDX,kBAAkB,CAAEW,eAAgB,CAAC;;QAErC;QACA,IAAK,CAAEA,eAAe,EAAG;UACxB,OAAOC,SAAS,CAAClB,WAAW;QAC7B,CAAC,MAAM;UACNkB,SAAS,CAAClB,WAAW,GAAGiB,eAAe;QACxC;;QAEA;QACA,IAAK,CAAEA,eAAe,EAAG;UACxB,OAAOC,SAAS,CAACjB,KAAK;QACvB,CAAC,MAAM,IAAKC,SAAS,EAAG;UACvBgB,SAAS,CAACjB,KAAK,GAAGC,SAAS;QAC5B,CAAC,MAAM;UACNgB,SAAS,CAACjB,KAAK,GAAGP,YAAY;UAC9BS,YAAY,CAAET,YAAa,CAAC;QAC7B;;QAEA;QACA,IAAK,QAAQ,KAAKuB,eAAe,IAAIpB,KAAK,IAAIE,MAAM,EAAG;UACtD,OAAOmB,SAAS,CAACnB,MAAM;QACxB;QAEAT,QAAQ,CAAE4B,SAAU,CAAC;MACtB;IAAG,CACH,CACD,EACCtB,KAAK,CAACgB,QAAQ,CAAE,aAAc,CAAC,iBAChC,IAAA1B,WAAA,CAAA2B,GAAA,EAAC5B,gBAAA,CAAA6B,OAAe;MACf1B,OAAO,EAAGA,OAAS;MACnB+B,KAAK,EAAGxB,YAAc;MACtBN,KAAK,EAAG;QAAEQ,KAAK;QAAEE;MAAO,CAAG;MAC3BT,QAAQ,EAAGA,CAAE;QAAEO,KAAK,EAAEuB,SAAS;QAAErB,MAAM,EAAEsB;MAAW,CAAC,KAAM;QAC1D,MAAMH,SAAS,GAAG;UAAE,GAAG7B;QAAM,CAAC;;QAE9B;QACA+B,SAAS,GAAGA,SAAS,KAAK,MAAM,GAAG,IAAI,GAAGA,SAAS;QACnDC,UAAU,GAAGA,UAAU,KAAK,MAAM,GAAG,IAAI,GAAGA,UAAU;;QAEtD;QACA,IAAK,CAAED,SAAS,EAAG;UAClB,OAAOF,SAAS,CAACrB,KAAK;QACvB,CAAC,MAAM;UACNqB,SAAS,CAACrB,KAAK,GAAGuB,SAAS;QAC5B;;QAEA;QACA,IAAK,CAAEC,UAAU,EAAG;UACnB,OAAOH,SAAS,CAACnB,MAAM;QACxB,CAAC,MAAM;UACNmB,SAAS,CAACnB,MAAM,GAAGsB,UAAU;QAC9B;;QAEA;QACA,IAAKD,SAAS,IAAIC,UAAU,EAAG;UAC9B,OAAOH,SAAS,CAAClB,WAAW;QAC7B,CAAC,MAAM,IAAKK,eAAe,EAAG;UAC7Ba,SAAS,CAAClB,WAAW,GAAGK,eAAe;QACxC,CAAC,MAAM;UACN;UACA;UACA;QAAA;;QAGD;QACA,IACC,CAAEA,eAAe,IACjB,CAAC,CAAEe,SAAS,KAAK,CAAC,CAAEC,UAAU,EAC7B;UACD,OAAOH,SAAS,CAACjB,KAAK;QACvB,CAAC,MAAM,IAAKC,SAAS,EAAG;UACvBgB,SAAS,CAACjB,KAAK,GAAGC,SAAS;QAC5B,CAAC,MAAM;UACNgB,SAAS,CAACjB,KAAK,GAAGP,YAAY;UAC9BS,YAAY,CAAET,YAAa,CAAC;QAC7B;QAEAJ,QAAQ,CAAE4B,SAAU,CAAC;MACtB;IAAG,CACH,CACD,EACCtB,KAAK,CAACgB,QAAQ,CAAE,OAAQ,CAAC,IAAIJ,gBAAgB,iBAC9C,IAAAtB,WAAA,CAAA2B,GAAA,EAAC7B,UAAA,CAAA8B,OAAS;MACT1B,OAAO,EAAGA,OAAS;MACnB2B,OAAO,EAAGtB,YAAc;MACxBuB,YAAY,EAAGtB,YAAc;MAC7BL,KAAK,EAAGa,SAAW;MACnBZ,QAAQ,EAAKgC,SAAS,IAAM;QAC3B,MAAMJ,SAAS,GAAG;UAAE,GAAG7B;QAAM,CAAC;;QAE9B;QACAiC,SAAS,GAAGA,SAAS,KAAK,MAAM,GAAG,IAAI,GAAGA,SAAS;QAEnDnB,YAAY,CAAEmB,SAAU,CAAC;;QAEzB;QACA,IAAK,CAAEA,SAAS,EAAG;UAClB,OAAOJ,SAAS,CAACjB,KAAK;QACvB,CAAC,MAAM;UACNiB,SAAS,CAACjB,KAAK,GAAGqB,SAAS;QAC5B;QAEAhC,QAAQ,CAAE4B,SAAU,CAAC;MACtB;IAAG,CACH,CACD;EAAA,CACA,CAAC;AAEL;AAAC,IAAAK,QAAA,GAAAC,OAAA,CAAAV,OAAA,GAEc3B,cAAc","ignoreList":[]}
|
|
@@ -7,46 +7,15 @@ exports.default = FontAppearanceControl;
|
|
|
7
7
|
var _components = require("@wordpress/components");
|
|
8
8
|
var _element = require("@wordpress/element");
|
|
9
9
|
var _i18n = require("@wordpress/i18n");
|
|
10
|
+
var _getFontStylesAndWeights = require("../../utils/get-font-styles-and-weights");
|
|
10
11
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
11
12
|
/**
|
|
12
13
|
* WordPress dependencies
|
|
13
14
|
*/
|
|
14
15
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
}, {
|
|
19
|
-
name: (0, _i18n._x)('Italic', 'font style'),
|
|
20
|
-
value: 'italic'
|
|
21
|
-
}];
|
|
22
|
-
const FONT_WEIGHTS = [{
|
|
23
|
-
name: (0, _i18n._x)('Thin', 'font weight'),
|
|
24
|
-
value: '100'
|
|
25
|
-
}, {
|
|
26
|
-
name: (0, _i18n._x)('Extra Light', 'font weight'),
|
|
27
|
-
value: '200'
|
|
28
|
-
}, {
|
|
29
|
-
name: (0, _i18n._x)('Light', 'font weight'),
|
|
30
|
-
value: '300'
|
|
31
|
-
}, {
|
|
32
|
-
name: (0, _i18n._x)('Regular', 'font weight'),
|
|
33
|
-
value: '400'
|
|
34
|
-
}, {
|
|
35
|
-
name: (0, _i18n._x)('Medium', 'font weight'),
|
|
36
|
-
value: '500'
|
|
37
|
-
}, {
|
|
38
|
-
name: (0, _i18n._x)('Semi Bold', 'font weight'),
|
|
39
|
-
value: '600'
|
|
40
|
-
}, {
|
|
41
|
-
name: (0, _i18n._x)('Bold', 'font weight'),
|
|
42
|
-
value: '700'
|
|
43
|
-
}, {
|
|
44
|
-
name: (0, _i18n._x)('Extra Bold', 'font weight'),
|
|
45
|
-
value: '800'
|
|
46
|
-
}, {
|
|
47
|
-
name: (0, _i18n._x)('Black', 'font weight'),
|
|
48
|
-
value: '900'
|
|
49
|
-
}];
|
|
16
|
+
/**
|
|
17
|
+
* Internal dependencies
|
|
18
|
+
*/
|
|
50
19
|
|
|
51
20
|
/**
|
|
52
21
|
* Adjusts font appearance field label in case either font styles or weights
|
|
@@ -55,8 +24,7 @@ const FONT_WEIGHTS = [{
|
|
|
55
24
|
* @param {boolean} hasFontStyles Whether font styles are enabled and present.
|
|
56
25
|
* @param {boolean} hasFontWeights Whether font weights are enabled and present.
|
|
57
26
|
* @return {string} A label representing what font appearance is being edited.
|
|
58
|
-
*/
|
|
59
|
-
const getFontAppearanceLabel = (hasFontStyles, hasFontWeights) => {
|
|
27
|
+
*/const getFontAppearanceLabel = (hasFontStyles, hasFontWeights) => {
|
|
60
28
|
if (!hasFontStyles) {
|
|
61
29
|
return (0, _i18n.__)('Font weight');
|
|
62
30
|
}
|
|
@@ -67,7 +35,7 @@ const getFontAppearanceLabel = (hasFontStyles, hasFontWeights) => {
|
|
|
67
35
|
};
|
|
68
36
|
|
|
69
37
|
/**
|
|
70
|
-
* Control to display
|
|
38
|
+
* Control to display font style and weight options of the active font.
|
|
71
39
|
*
|
|
72
40
|
* @param {Object} props Component props.
|
|
73
41
|
*
|
|
@@ -78,6 +46,7 @@ function FontAppearanceControl(props) {
|
|
|
78
46
|
onChange,
|
|
79
47
|
hasFontStyles = true,
|
|
80
48
|
hasFontWeights = true,
|
|
49
|
+
fontFamilyFaces,
|
|
81
50
|
value: {
|
|
82
51
|
fontStyle,
|
|
83
52
|
fontWeight
|
|
@@ -94,37 +63,25 @@ function FontAppearanceControl(props) {
|
|
|
94
63
|
fontWeight: undefined
|
|
95
64
|
}
|
|
96
65
|
};
|
|
66
|
+
const {
|
|
67
|
+
fontStyles,
|
|
68
|
+
fontWeights,
|
|
69
|
+
combinedStyleAndWeightOptions
|
|
70
|
+
} = (0, _getFontStylesAndWeights.getFontStylesAndWeights)(fontFamilyFaces);
|
|
97
71
|
|
|
98
|
-
//
|
|
72
|
+
// Generates select options for combined font styles and weights.
|
|
99
73
|
const combineOptions = () => {
|
|
100
74
|
const combinedOptions = [defaultOption];
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
}) => {
|
|
105
|
-
FONT_WEIGHTS.forEach(({
|
|
106
|
-
name: weightName,
|
|
107
|
-
value: weightValue
|
|
108
|
-
}) => {
|
|
109
|
-
const optionName = styleValue === 'normal' ? weightName : (0, _i18n.sprintf)( /* translators: 1: Font weight name. 2: Font style name. */
|
|
110
|
-
(0, _i18n.__)('%1$s %2$s'), weightName, styleName);
|
|
111
|
-
combinedOptions.push({
|
|
112
|
-
key: `${styleValue}-${weightValue}`,
|
|
113
|
-
name: optionName,
|
|
114
|
-
style: {
|
|
115
|
-
fontStyle: styleValue,
|
|
116
|
-
fontWeight: weightValue
|
|
117
|
-
}
|
|
118
|
-
});
|
|
119
|
-
});
|
|
120
|
-
});
|
|
75
|
+
if (combinedStyleAndWeightOptions) {
|
|
76
|
+
combinedOptions.push(...combinedStyleAndWeightOptions);
|
|
77
|
+
}
|
|
121
78
|
return combinedOptions;
|
|
122
79
|
};
|
|
123
80
|
|
|
124
81
|
// Generates select options for font styles only.
|
|
125
82
|
const styleOptions = () => {
|
|
126
83
|
const combinedOptions = [defaultOption];
|
|
127
|
-
|
|
84
|
+
fontStyles.forEach(({
|
|
128
85
|
name,
|
|
129
86
|
value
|
|
130
87
|
}) => {
|
|
@@ -143,7 +100,7 @@ function FontAppearanceControl(props) {
|
|
|
143
100
|
// Generates select options for font weights only.
|
|
144
101
|
const weightOptions = () => {
|
|
145
102
|
const combinedOptions = [defaultOption];
|
|
146
|
-
|
|
103
|
+
fontWeights.forEach(({
|
|
147
104
|
name,
|
|
148
105
|
value
|
|
149
106
|
}) => {
|
|
@@ -161,11 +118,14 @@ function FontAppearanceControl(props) {
|
|
|
161
118
|
|
|
162
119
|
// Map font styles and weights to select options.
|
|
163
120
|
const selectOptions = (0, _element.useMemo)(() => {
|
|
121
|
+
// Display combined available font style and weight options.
|
|
164
122
|
if (hasFontStyles && hasFontWeights) {
|
|
165
123
|
return combineOptions();
|
|
166
124
|
}
|
|
125
|
+
|
|
126
|
+
// Display only font style options or font weight options.
|
|
167
127
|
return hasFontStyles ? styleOptions() : weightOptions();
|
|
168
|
-
}, [props.options]);
|
|
128
|
+
}, [props.options, fontStyles, fontWeights, combinedStyleAndWeightOptions]);
|
|
169
129
|
|
|
170
130
|
// Find current selection by comparing font style & weight against options,
|
|
171
131
|
// and fall back to the Default option if there is no matching option.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","_element","_i18n","_jsxRuntime","FONT_STYLES","name","_x","value","FONT_WEIGHTS","getFontAppearanceLabel","hasFontStyles","hasFontWeights","__","FontAppearanceControl","props","onChange","fontStyle","fontWeight","otherProps","hasStylesOrWeights","label","defaultOption","key","style","undefined","combineOptions","combinedOptions","forEach","styleName","styleValue","weightName","weightValue","optionName","sprintf","push","styleOptions","weightOptions","selectOptions","useMemo","options","currentSelection","find","option","getDescribedBy","jsx","CustomSelectControl","className","describedBy","selectedItem"],"sources":["@wordpress/block-editor/src/components/font-appearance-control/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { CustomSelectControl } from '@wordpress/components';\nimport { useMemo } from '@wordpress/element';\nimport { __, _x, sprintf } from '@wordpress/i18n';\n\nconst FONT_STYLES = [\n\t{\n\t\tname: _x( 'Regular', 'font style' ),\n\t\tvalue: 'normal',\n\t},\n\t{\n\t\tname: _x( 'Italic', 'font style' ),\n\t\tvalue: 'italic',\n\t},\n];\n\nconst FONT_WEIGHTS = [\n\t{\n\t\tname: _x( 'Thin', 'font weight' ),\n\t\tvalue: '100',\n\t},\n\t{\n\t\tname: _x( 'Extra Light', 'font weight' ),\n\t\tvalue: '200',\n\t},\n\t{\n\t\tname: _x( 'Light', 'font weight' ),\n\t\tvalue: '300',\n\t},\n\t{\n\t\tname: _x( 'Regular', 'font weight' ),\n\t\tvalue: '400',\n\t},\n\t{\n\t\tname: _x( 'Medium', 'font weight' ),\n\t\tvalue: '500',\n\t},\n\t{\n\t\tname: _x( 'Semi Bold', 'font weight' ),\n\t\tvalue: '600',\n\t},\n\t{\n\t\tname: _x( 'Bold', 'font weight' ),\n\t\tvalue: '700',\n\t},\n\t{\n\t\tname: _x( 'Extra Bold', 'font weight' ),\n\t\tvalue: '800',\n\t},\n\t{\n\t\tname: _x( 'Black', 'font weight' ),\n\t\tvalue: '900',\n\t},\n];\n\n/**\n * Adjusts font appearance field label in case either font styles or weights\n * are disabled.\n *\n * @param {boolean} hasFontStyles Whether font styles are enabled and present.\n * @param {boolean} hasFontWeights Whether font weights are enabled and present.\n * @return {string} A label representing what font appearance is being edited.\n */\nconst getFontAppearanceLabel = ( hasFontStyles, hasFontWeights ) => {\n\tif ( ! hasFontStyles ) {\n\t\treturn __( 'Font weight' );\n\t}\n\n\tif ( ! hasFontWeights ) {\n\t\treturn __( 'Font style' );\n\t}\n\n\treturn __( 'Appearance' );\n};\n\n/**\n * Control to display unified font style and weight options.\n *\n * @param {Object} props Component props.\n *\n * @return {Element} Font appearance control.\n */\nexport default function FontAppearanceControl( props ) {\n\tconst {\n\t\tonChange,\n\t\thasFontStyles = true,\n\t\thasFontWeights = true,\n\t\tvalue: { fontStyle, fontWeight },\n\t\t...otherProps\n\t} = props;\n\tconst hasStylesOrWeights = hasFontStyles || hasFontWeights;\n\tconst label = getFontAppearanceLabel( hasFontStyles, hasFontWeights );\n\tconst defaultOption = {\n\t\tkey: 'default',\n\t\tname: __( 'Default' ),\n\t\tstyle: { fontStyle: undefined, fontWeight: undefined },\n\t};\n\n\t// Combines both font style and weight options into a single dropdown.\n\tconst combineOptions = () => {\n\t\tconst combinedOptions = [ defaultOption ];\n\n\t\tFONT_STYLES.forEach( ( { name: styleName, value: styleValue } ) => {\n\t\t\tFONT_WEIGHTS.forEach(\n\t\t\t\t( { name: weightName, value: weightValue } ) => {\n\t\t\t\t\tconst optionName =\n\t\t\t\t\t\tstyleValue === 'normal'\n\t\t\t\t\t\t\t? weightName\n\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: 1: Font weight name. 2: Font style name. */\n\t\t\t\t\t\t\t\t\t__( '%1$s %2$s' ),\n\t\t\t\t\t\t\t\t\tweightName,\n\t\t\t\t\t\t\t\t\tstyleName\n\t\t\t\t\t\t\t );\n\n\t\t\t\t\tcombinedOptions.push( {\n\t\t\t\t\t\tkey: `${ styleValue }-${ weightValue }`,\n\t\t\t\t\t\tname: optionName,\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\tfontStyle: styleValue,\n\t\t\t\t\t\t\tfontWeight: weightValue,\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t);\n\t\t} );\n\n\t\treturn combinedOptions;\n\t};\n\n\t// Generates select options for font styles only.\n\tconst styleOptions = () => {\n\t\tconst combinedOptions = [ defaultOption ];\n\t\tFONT_STYLES.forEach( ( { name, value } ) => {\n\t\t\tcombinedOptions.push( {\n\t\t\t\tkey: value,\n\t\t\t\tname,\n\t\t\t\tstyle: { fontStyle: value, fontWeight: undefined },\n\t\t\t} );\n\t\t} );\n\t\treturn combinedOptions;\n\t};\n\n\t// Generates select options for font weights only.\n\tconst weightOptions = () => {\n\t\tconst combinedOptions = [ defaultOption ];\n\t\tFONT_WEIGHTS.forEach( ( { name, value } ) => {\n\t\t\tcombinedOptions.push( {\n\t\t\t\tkey: value,\n\t\t\t\tname,\n\t\t\t\tstyle: { fontStyle: undefined, fontWeight: value },\n\t\t\t} );\n\t\t} );\n\t\treturn combinedOptions;\n\t};\n\n\t// Map font styles and weights to select options.\n\tconst selectOptions = useMemo( () => {\n\t\tif ( hasFontStyles && hasFontWeights ) {\n\t\t\treturn combineOptions();\n\t\t}\n\n\t\treturn hasFontStyles ? styleOptions() : weightOptions();\n\t}, [ props.options ] );\n\n\t// Find current selection by comparing font style & weight against options,\n\t// and fall back to the Default option if there is no matching option.\n\tconst currentSelection =\n\t\tselectOptions.find(\n\t\t\t( option ) =>\n\t\t\t\toption.style.fontStyle === fontStyle &&\n\t\t\t\toption.style.fontWeight === fontWeight\n\t\t) || selectOptions[ 0 ];\n\n\t// Adjusts screen reader description based on styles or weights.\n\tconst getDescribedBy = () => {\n\t\tif ( ! currentSelection ) {\n\t\t\treturn __( 'No selected font appearance' );\n\t\t}\n\n\t\tif ( ! hasFontStyles ) {\n\t\t\treturn sprintf(\n\t\t\t\t// translators: %s: Currently selected font weight.\n\t\t\t\t__( 'Currently selected font weight: %s' ),\n\t\t\t\tcurrentSelection.name\n\t\t\t);\n\t\t}\n\n\t\tif ( ! hasFontWeights ) {\n\t\t\treturn sprintf(\n\t\t\t\t// translators: %s: Currently selected font style.\n\t\t\t\t__( 'Currently selected font style: %s' ),\n\t\t\t\tcurrentSelection.name\n\t\t\t);\n\t\t}\n\n\t\treturn sprintf(\n\t\t\t// translators: %s: Currently selected font appearance.\n\t\t\t__( 'Currently selected font appearance: %s' ),\n\t\t\tcurrentSelection.name\n\t\t);\n\t};\n\n\treturn (\n\t\thasStylesOrWeights && (\n\t\t\t<CustomSelectControl\n\t\t\t\t{ ...otherProps }\n\t\t\t\tclassName=\"components-font-appearance-control\"\n\t\t\t\tlabel={ label }\n\t\t\t\tdescribedBy={ getDescribedBy() }\n\t\t\t\toptions={ selectOptions }\n\t\t\t\tvalue={ currentSelection }\n\t\t\t\tonChange={ ( { selectedItem } ) =>\n\t\t\t\t\tonChange( selectedItem.style )\n\t\t\t\t}\n\t\t\t/>\n\t\t)\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_components","require","_element","_i18n","_getFontStylesAndWeights","_jsxRuntime","getFontAppearanceLabel","hasFontStyles","hasFontWeights","__","FontAppearanceControl","props","onChange","fontFamilyFaces","value","fontStyle","fontWeight","otherProps","hasStylesOrWeights","label","defaultOption","key","name","style","undefined","fontStyles","fontWeights","combinedStyleAndWeightOptions","getFontStylesAndWeights","combineOptions","combinedOptions","push","styleOptions","forEach","weightOptions","selectOptions","useMemo","options","currentSelection","find","option","getDescribedBy","sprintf","jsx","CustomSelectControl","className","describedBy","selectedItem"],"sources":["@wordpress/block-editor/src/components/font-appearance-control/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { CustomSelectControl } from '@wordpress/components';\nimport { useMemo } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { getFontStylesAndWeights } from '../../utils/get-font-styles-and-weights';\n\n/**\n * Adjusts font appearance field label in case either font styles or weights\n * are disabled.\n *\n * @param {boolean} hasFontStyles Whether font styles are enabled and present.\n * @param {boolean} hasFontWeights Whether font weights are enabled and present.\n * @return {string} A label representing what font appearance is being edited.\n */\nconst getFontAppearanceLabel = ( hasFontStyles, hasFontWeights ) => {\n\tif ( ! hasFontStyles ) {\n\t\treturn __( 'Font weight' );\n\t}\n\n\tif ( ! hasFontWeights ) {\n\t\treturn __( 'Font style' );\n\t}\n\n\treturn __( 'Appearance' );\n};\n\n/**\n * Control to display font style and weight options of the active font.\n *\n * @param {Object} props Component props.\n *\n * @return {Element} Font appearance control.\n */\nexport default function FontAppearanceControl( props ) {\n\tconst {\n\t\tonChange,\n\t\thasFontStyles = true,\n\t\thasFontWeights = true,\n\t\tfontFamilyFaces,\n\t\tvalue: { fontStyle, fontWeight },\n\t\t...otherProps\n\t} = props;\n\tconst hasStylesOrWeights = hasFontStyles || hasFontWeights;\n\tconst label = getFontAppearanceLabel( hasFontStyles, hasFontWeights );\n\tconst defaultOption = {\n\t\tkey: 'default',\n\t\tname: __( 'Default' ),\n\t\tstyle: { fontStyle: undefined, fontWeight: undefined },\n\t};\n\tconst { fontStyles, fontWeights, combinedStyleAndWeightOptions } =\n\t\tgetFontStylesAndWeights( fontFamilyFaces );\n\n\t// Generates select options for combined font styles and weights.\n\tconst combineOptions = () => {\n\t\tconst combinedOptions = [ defaultOption ];\n\t\tif ( combinedStyleAndWeightOptions ) {\n\t\t\tcombinedOptions.push( ...combinedStyleAndWeightOptions );\n\t\t}\n\t\treturn combinedOptions;\n\t};\n\n\t// Generates select options for font styles only.\n\tconst styleOptions = () => {\n\t\tconst combinedOptions = [ defaultOption ];\n\t\tfontStyles.forEach( ( { name, value } ) => {\n\t\t\tcombinedOptions.push( {\n\t\t\t\tkey: value,\n\t\t\t\tname,\n\t\t\t\tstyle: { fontStyle: value, fontWeight: undefined },\n\t\t\t} );\n\t\t} );\n\t\treturn combinedOptions;\n\t};\n\n\t// Generates select options for font weights only.\n\tconst weightOptions = () => {\n\t\tconst combinedOptions = [ defaultOption ];\n\t\tfontWeights.forEach( ( { name, value } ) => {\n\t\t\tcombinedOptions.push( {\n\t\t\t\tkey: value,\n\t\t\t\tname,\n\t\t\t\tstyle: { fontStyle: undefined, fontWeight: value },\n\t\t\t} );\n\t\t} );\n\t\treturn combinedOptions;\n\t};\n\n\t// Map font styles and weights to select options.\n\tconst selectOptions = useMemo( () => {\n\t\t// Display combined available font style and weight options.\n\t\tif ( hasFontStyles && hasFontWeights ) {\n\t\t\treturn combineOptions();\n\t\t}\n\n\t\t// Display only font style options or font weight options.\n\t\treturn hasFontStyles ? styleOptions() : weightOptions();\n\t}, [\n\t\tprops.options,\n\t\tfontStyles,\n\t\tfontWeights,\n\t\tcombinedStyleAndWeightOptions,\n\t] );\n\n\t// Find current selection by comparing font style & weight against options,\n\t// and fall back to the Default option if there is no matching option.\n\tconst currentSelection =\n\t\tselectOptions.find(\n\t\t\t( option ) =>\n\t\t\t\toption.style.fontStyle === fontStyle &&\n\t\t\t\toption.style.fontWeight === fontWeight\n\t\t) || selectOptions[ 0 ];\n\n\t// Adjusts screen reader description based on styles or weights.\n\tconst getDescribedBy = () => {\n\t\tif ( ! currentSelection ) {\n\t\t\treturn __( 'No selected font appearance' );\n\t\t}\n\n\t\tif ( ! hasFontStyles ) {\n\t\t\treturn sprintf(\n\t\t\t\t// translators: %s: Currently selected font weight.\n\t\t\t\t__( 'Currently selected font weight: %s' ),\n\t\t\t\tcurrentSelection.name\n\t\t\t);\n\t\t}\n\n\t\tif ( ! hasFontWeights ) {\n\t\t\treturn sprintf(\n\t\t\t\t// translators: %s: Currently selected font style.\n\t\t\t\t__( 'Currently selected font style: %s' ),\n\t\t\t\tcurrentSelection.name\n\t\t\t);\n\t\t}\n\n\t\treturn sprintf(\n\t\t\t// translators: %s: Currently selected font appearance.\n\t\t\t__( 'Currently selected font appearance: %s' ),\n\t\t\tcurrentSelection.name\n\t\t);\n\t};\n\n\treturn (\n\t\thasStylesOrWeights && (\n\t\t\t<CustomSelectControl\n\t\t\t\t{ ...otherProps }\n\t\t\t\tclassName=\"components-font-appearance-control\"\n\t\t\t\tlabel={ label }\n\t\t\t\tdescribedBy={ getDescribedBy() }\n\t\t\t\toptions={ selectOptions }\n\t\t\t\tvalue={ currentSelection }\n\t\t\t\tonChange={ ( { selectedItem } ) =>\n\t\t\t\t\tonChange( selectedItem.style )\n\t\t\t\t}\n\t\t\t/>\n\t\t)\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|