@wordpress/block-editor 12.4.0 → 12.6.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 +1 -0
- package/build/components/block-draggable/index.js +6 -3
- package/build/components/block-draggable/index.js.map +1 -1
- package/build/components/block-draggable/index.native.js +2 -2
- package/build/components/block-draggable/index.native.js.map +1 -1
- package/build/components/block-edit/edit.js +25 -13
- package/build/components/block-edit/edit.js.map +1 -1
- package/build/components/block-heading-level-dropdown/heading-level-icon.js +10 -2
- package/build/components/block-heading-level-dropdown/heading-level-icon.js.map +1 -1
- package/build/components/block-heading-level-dropdown/index.native.js +4 -3
- package/build/components/block-heading-level-dropdown/index.native.js.map +1 -1
- package/build/components/block-list/block-outline.native.js +14 -18
- package/build/components/block-list/block-outline.native.js.map +1 -1
- package/build/components/block-list/block.native.js +21 -42
- package/build/components/block-list/block.native.js.map +1 -1
- package/build/components/block-lock/toolbar.js +25 -6
- package/build/components/block-lock/toolbar.js.map +1 -1
- package/build/components/block-mover/index.native.js +1 -1
- package/build/components/block-mover/index.native.js.map +1 -1
- package/build/components/block-parent-selector/index.js +8 -5
- package/build/components/block-parent-selector/index.js.map +1 -1
- package/build/components/block-removal-warning-modal/index.js +15 -25
- package/build/components/block-removal-warning-modal/index.js.map +1 -1
- package/build/components/block-settings/button.native.js +2 -2
- package/build/components/block-settings/button.native.js.map +1 -1
- package/build/components/{block-mobile-toolbar/block-actions-menu.native.js → block-toolbar/block-toolbar-menu.native.js} +10 -11
- package/build/components/block-toolbar/block-toolbar-menu.native.js.map +1 -0
- package/build/components/block-toolbar/index.js +12 -8
- package/build/components/block-toolbar/index.js.map +1 -1
- package/build/components/block-toolbar/index.native.js +62 -3
- package/build/components/block-toolbar/index.native.js.map +1 -1
- package/build/components/block-tools/block-contextual-toolbar.js +7 -11
- package/build/components/block-tools/block-contextual-toolbar.js.map +1 -1
- package/build/components/colors-gradients/control.js +4 -2
- package/build/components/colors-gradients/control.js.map +1 -1
- package/build/components/dimensions-tool/aspect-ratio-tool.js +99 -0
- package/build/components/dimensions-tool/aspect-ratio-tool.js.map +1 -0
- package/build/components/dimensions-tool/index.js +207 -0
- package/build/components/dimensions-tool/index.js.map +1 -0
- package/build/components/dimensions-tool/scale-tool.js +111 -0
- package/build/components/dimensions-tool/scale-tool.js.map +1 -0
- package/build/components/dimensions-tool/width-height-tool.js +125 -0
- package/build/components/dimensions-tool/width-height-tool.js.map +1 -0
- package/build/components/global-styles/color-panel.js +22 -16
- package/build/components/global-styles/color-panel.js.map +1 -1
- package/build/components/global-styles/dimensions-panel.js +13 -2
- package/build/components/global-styles/dimensions-panel.js.map +1 -1
- package/build/components/global-styles/filters-panel.js +1 -1
- package/build/components/global-styles/filters-panel.js.map +1 -1
- package/build/components/global-styles/get-block-css-selector.js +4 -8
- package/build/components/global-styles/get-block-css-selector.js.map +1 -1
- package/build/components/global-styles/hooks.js +15 -25
- package/build/components/global-styles/hooks.js.map +1 -1
- package/build/components/global-styles/typography-panel.js +52 -5
- package/build/components/global-styles/typography-panel.js.map +1 -1
- package/build/components/global-styles/use-global-styles-output.js +12 -18
- package/build/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build/components/global-styles/utils.js +6 -6
- package/build/components/global-styles/utils.js.map +1 -1
- package/build/components/iframe/index.js +36 -48
- package/build/components/iframe/index.js.map +1 -1
- package/build/components/iframe/use-compatibility-styles.js +5 -0
- package/build/components/iframe/use-compatibility-styles.js.map +1 -1
- package/build/components/image-editor/aspect-ratio-dropdown.js +1 -1
- package/build/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
- package/build/components/image-editor/use-save-image.js +1 -2
- package/build/components/image-editor/use-save-image.js.map +1 -1
- package/build/components/image-size-control/index.js +6 -0
- package/build/components/image-size-control/index.js.map +1 -1
- package/build/components/index.js +9 -0
- package/build/components/index.js.map +1 -1
- package/build/components/inner-blocks/index.js +3 -1
- package/build/components/inner-blocks/index.js.map +1 -1
- package/build/components/inner-blocks/index.native.js +3 -1
- package/build/components/inner-blocks/index.native.js.map +1 -1
- package/build/components/inner-blocks/use-nested-settings-update.js +33 -7
- package/build/components/inner-blocks/use-nested-settings-update.js.map +1 -1
- package/build/components/inserter/block-patterns-explorer/patterns-list.js +2 -2
- package/build/components/inserter/block-patterns-explorer/patterns-list.js.map +1 -1
- package/build/components/inserter/block-patterns-tab.js +7 -35
- package/build/components/inserter/block-patterns-tab.js.map +1 -1
- package/build/components/inserter/hooks/use-block-types-state.js +3 -4
- package/build/components/inserter/hooks/use-block-types-state.js.map +1 -1
- package/build/components/inserter/hooks/use-patterns-state.js +9 -3
- package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
- package/build/components/inserter/index.js +2 -4
- package/build/components/inserter/index.js.map +1 -1
- package/build/components/inserter/index.native.js +21 -32
- package/build/components/inserter/index.native.js.map +1 -1
- package/build/components/inserter/media-tab/hooks.js +2 -21
- package/build/components/inserter/media-tab/hooks.js.map +1 -1
- package/build/components/inserter/reusable-block-rename-hint.js +82 -0
- package/build/components/inserter/reusable-block-rename-hint.js.map +1 -0
- package/build/components/inserter/reusable-blocks-tab.js +6 -2
- package/build/components/inserter/reusable-blocks-tab.js.map +1 -1
- package/build/components/inserter/reusable-blocks-tab.native.js +2 -2
- package/build/components/inserter/reusable-blocks-tab.native.js.map +1 -1
- package/build/components/inserter/tabs.native.js +1 -1
- package/build/components/inserter/tabs.native.js.map +1 -1
- package/build/components/inserter-draggable-blocks/index.js +9 -1
- package/build/components/inserter-draggable-blocks/index.js.map +1 -1
- package/build/components/link-control/constants.js +1 -1
- package/build/components/link-control/constants.js.map +1 -1
- package/build/components/link-control/index.js +21 -16
- package/build/components/link-control/index.js.map +1 -1
- package/build/components/link-control/search-create-button.js +5 -21
- package/build/components/link-control/search-create-button.js.map +1 -1
- package/build/components/link-control/search-input.js +4 -4
- package/build/components/link-control/search-input.js.map +1 -1
- package/build/components/link-control/search-item.js +13 -30
- package/build/components/link-control/search-item.js.map +1 -1
- package/build/components/link-control/search-results.js +2 -2
- package/build/components/link-control/search-results.js.map +1 -1
- package/build/components/link-control/settings-drawer.js +2 -3
- package/build/components/link-control/settings-drawer.js.map +1 -1
- package/build/components/list-view/appender.js +2 -6
- package/build/components/list-view/appender.js.map +1 -1
- package/build/components/list-view/use-list-view-client-ids.js +2 -2
- package/build/components/list-view/use-list-view-client-ids.js.map +1 -1
- package/build/components/media-placeholder/index.native.js +65 -31
- package/build/components/media-placeholder/index.native.js.map +1 -1
- package/build/components/preview-options/index.js +2 -2
- package/build/components/preview-options/index.js.map +1 -1
- package/build/components/provider/index.js +5 -2
- package/build/components/provider/index.js.map +1 -1
- package/build/components/provider/use-block-sync.js +21 -0
- package/build/components/provider/use-block-sync.js.map +1 -1
- package/build/components/resolution-tool/index.js +55 -0
- package/build/components/resolution-tool/index.js.map +1 -0
- package/build/components/rich-text/content.js +0 -36
- package/build/components/rich-text/content.js.map +1 -1
- package/build/components/rich-text/get-rich-text-values.js +118 -0
- package/build/components/rich-text/get-rich-text-values.js.map +1 -0
- package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.js +1 -1
- package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +1 -1
- package/build/components/spacing-sizes-control/input-controls/axial.js +6 -2
- package/build/components/spacing-sizes-control/input-controls/axial.js.map +1 -1
- package/build/components/spacing-sizes-control/input-controls/separated.js +5 -1
- package/build/components/spacing-sizes-control/input-controls/separated.js.map +1 -1
- package/build/components/spacing-sizes-control/input-controls/single.js +5 -1
- package/build/components/spacing-sizes-control/input-controls/single.js.map +1 -1
- package/build/components/spacing-sizes-control/utils.js +1 -1
- package/build/components/spacing-sizes-control/utils.js.map +1 -1
- package/build/components/url-input/index.js +4 -2
- package/build/components/url-input/index.js.map +1 -1
- package/build/components/use-block-display-information/index.js +7 -3
- package/build/components/use-block-display-information/index.js.map +1 -1
- package/build/components/use-block-drop-zone/index.native.js +49 -8
- package/build/components/use-block-drop-zone/index.native.js.map +1 -1
- package/build/components/use-setting/index.js +5 -9
- package/build/components/use-setting/index.js.map +1 -1
- package/build/components/writing-flow/use-tab-nav.js +10 -27
- package/build/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build/components/writing-mode-control/index.js +70 -0
- package/build/components/writing-mode-control/index.js.map +1 -0
- package/build/hooks/behaviors.js +25 -20
- package/build/hooks/behaviors.js.map +1 -1
- package/build/hooks/margin.js +1 -1
- package/build/hooks/margin.js.map +1 -1
- package/build/hooks/padding.js +1 -1
- package/build/hooks/padding.js.map +1 -1
- package/build/hooks/supports.js +7 -1
- package/build/hooks/supports.js.map +1 -1
- package/build/hooks/typography.js +2 -1
- package/build/hooks/typography.js.map +1 -1
- package/build/hooks/utils.js +5 -9
- package/build/hooks/utils.js.map +1 -1
- package/build/private-apis.js +16 -3
- package/build/private-apis.js.map +1 -1
- package/build/private-apis.native.js +3 -0
- package/build/private-apis.native.js.map +1 -1
- package/build/store/actions.js +196 -2
- package/build/store/actions.js.map +1 -1
- package/build/store/defaults.js +1 -0
- package/build/store/defaults.js.map +1 -1
- package/build/store/index.js +10 -1
- package/build/store/index.js.map +1 -1
- package/build/store/private-actions.js +46 -40
- package/build/store/private-actions.js.map +1 -1
- package/build/store/private-selectors.js +8 -9
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js +22 -9
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +52 -23
- package/build/store/selectors.js.map +1 -1
- package/build/utils/object.js +38 -2
- package/build/utils/object.js.map +1 -1
- package/build-module/components/block-draggable/index.js +6 -3
- package/build-module/components/block-draggable/index.js.map +1 -1
- package/build-module/components/block-draggable/index.native.js +2 -2
- package/build-module/components/block-draggable/index.native.js.map +1 -1
- package/build-module/components/block-edit/edit.js +27 -10
- package/build-module/components/block-edit/edit.js.map +1 -1
- package/build-module/components/block-heading-level-dropdown/heading-level-icon.js +9 -2
- package/build-module/components/block-heading-level-dropdown/heading-level-icon.js.map +1 -1
- package/build-module/components/block-heading-level-dropdown/index.native.js +4 -3
- package/build-module/components/block-heading-level-dropdown/index.native.js.map +1 -1
- package/build-module/components/block-list/block-outline.native.js +14 -18
- package/build-module/components/block-list/block-outline.native.js.map +1 -1
- package/build-module/components/block-list/block.native.js +24 -43
- package/build-module/components/block-list/block.native.js.map +1 -1
- package/build-module/components/block-lock/toolbar.js +25 -7
- package/build-module/components/block-lock/toolbar.js.map +1 -1
- package/build-module/components/block-mover/index.native.js +3 -3
- package/build-module/components/block-mover/index.native.js.map +1 -1
- package/build-module/components/block-parent-selector/index.js +7 -5
- package/build-module/components/block-parent-selector/index.js.map +1 -1
- package/build-module/components/block-removal-warning-modal/index.js +17 -24
- package/build-module/components/block-removal-warning-modal/index.js.map +1 -1
- package/build-module/components/block-settings/button.native.js +3 -3
- package/build-module/components/block-settings/button.native.js.map +1 -1
- package/build-module/components/{block-mobile-toolbar/block-actions-menu.native.js → block-toolbar/block-toolbar-menu.native.js} +13 -13
- package/build-module/components/block-toolbar/block-toolbar-menu.native.js.map +1 -0
- package/build-module/components/block-toolbar/index.js +12 -8
- package/build-module/components/block-toolbar/index.js.map +1 -1
- package/build-module/components/block-toolbar/index.native.js +60 -4
- package/build-module/components/block-toolbar/index.native.js.map +1 -1
- package/build-module/components/block-tools/block-contextual-toolbar.js +8 -11
- package/build-module/components/block-tools/block-contextual-toolbar.js.map +1 -1
- package/build-module/components/colors-gradients/control.js +3 -2
- package/build-module/components/colors-gradients/control.js.map +1 -1
- package/build-module/components/dimensions-tool/aspect-ratio-tool.js +87 -0
- package/build-module/components/dimensions-tool/aspect-ratio-tool.js.map +1 -0
- package/build-module/components/dimensions-tool/index.js +195 -0
- package/build-module/components/dimensions-tool/index.js.map +1 -0
- package/build-module/components/dimensions-tool/scale-tool.js +103 -0
- package/build-module/components/dimensions-tool/scale-tool.js.map +1 -0
- package/build-module/components/dimensions-tool/width-height-tool.js +122 -0
- package/build-module/components/dimensions-tool/width-height-tool.js.map +1 -0
- package/build-module/components/global-styles/color-panel.js +22 -16
- package/build-module/components/global-styles/color-panel.js.map +1 -1
- package/build-module/components/global-styles/dimensions-panel.js +13 -2
- package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
- package/build-module/components/global-styles/filters-panel.js +2 -2
- package/build-module/components/global-styles/filters-panel.js.map +1 -1
- package/build-module/components/global-styles/get-block-css-selector.js +4 -8
- package/build-module/components/global-styles/get-block-css-selector.js.map +1 -1
- package/build-module/components/global-styles/hooks.js +14 -24
- package/build-module/components/global-styles/hooks.js.map +1 -1
- package/build-module/components/global-styles/typography-panel.js +51 -5
- package/build-module/components/global-styles/typography-panel.js.map +1 -1
- package/build-module/components/global-styles/use-global-styles-output.js +13 -18
- package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build-module/components/global-styles/utils.js +5 -5
- package/build-module/components/global-styles/utils.js.map +1 -1
- package/build-module/components/iframe/index.js +37 -49
- package/build-module/components/iframe/index.js.map +1 -1
- package/build-module/components/iframe/use-compatibility-styles.js +5 -0
- package/build-module/components/iframe/use-compatibility-styles.js.map +1 -1
- package/build-module/components/image-editor/aspect-ratio-dropdown.js +1 -1
- package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
- package/build-module/components/image-editor/use-save-image.js +1 -2
- package/build-module/components/image-editor/use-save-image.js.map +1 -1
- package/build-module/components/image-size-control/index.js +5 -0
- package/build-module/components/image-size-control/index.js.map +1 -1
- package/build-module/components/index.js +1 -0
- package/build-module/components/index.js.map +1 -1
- package/build-module/components/inner-blocks/index.js +3 -1
- package/build-module/components/inner-blocks/index.js.map +1 -1
- package/build-module/components/inner-blocks/index.native.js +3 -1
- package/build-module/components/inner-blocks/index.native.js.map +1 -1
- package/build-module/components/inner-blocks/use-nested-settings-update.js +30 -7
- package/build-module/components/inner-blocks/use-nested-settings-update.js.map +1 -1
- package/build-module/components/inserter/block-patterns-explorer/patterns-list.js +2 -2
- package/build-module/components/inserter/block-patterns-explorer/patterns-list.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab.js +7 -33
- package/build-module/components/inserter/block-patterns-tab.js.map +1 -1
- package/build-module/components/inserter/hooks/use-block-types-state.js +3 -4
- package/build-module/components/inserter/hooks/use-block-types-state.js.map +1 -1
- package/build-module/components/inserter/hooks/use-patterns-state.js +9 -3
- package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
- package/build-module/components/inserter/index.js +2 -4
- package/build-module/components/inserter/index.js.map +1 -1
- package/build-module/components/inserter/index.native.js +22 -33
- package/build-module/components/inserter/index.native.js.map +1 -1
- package/build-module/components/inserter/media-tab/hooks.js +2 -21
- package/build-module/components/inserter/media-tab/hooks.js.map +1 -1
- package/build-module/components/inserter/reusable-block-rename-hint.js +67 -0
- package/build-module/components/inserter/reusable-block-rename-hint.js.map +1 -0
- package/build-module/components/inserter/reusable-blocks-tab.js +5 -2
- package/build-module/components/inserter/reusable-blocks-tab.js.map +1 -1
- package/build-module/components/inserter/reusable-blocks-tab.native.js +2 -2
- package/build-module/components/inserter/reusable-blocks-tab.native.js.map +1 -1
- package/build-module/components/inserter/tabs.native.js +1 -1
- package/build-module/components/inserter/tabs.native.js.map +1 -1
- package/build-module/components/inserter-draggable-blocks/index.js +9 -2
- package/build-module/components/inserter-draggable-blocks/index.js.map +1 -1
- package/build-module/components/link-control/constants.js +1 -1
- package/build-module/components/link-control/constants.js.map +1 -1
- package/build-module/components/link-control/index.js +21 -16
- package/build-module/components/link-control/index.js.map +1 -1
- package/build-module/components/link-control/search-create-button.js +7 -20
- package/build-module/components/link-control/search-create-button.js.map +1 -1
- package/build-module/components/link-control/search-input.js +4 -4
- package/build-module/components/link-control/search-input.js.map +1 -1
- package/build-module/components/link-control/search-item.js +14 -28
- package/build-module/components/link-control/search-item.js.map +1 -1
- package/build-module/components/link-control/search-results.js +3 -3
- package/build-module/components/link-control/search-results.js.map +1 -1
- package/build-module/components/link-control/settings-drawer.js +4 -5
- package/build-module/components/link-control/settings-drawer.js.map +1 -1
- package/build-module/components/list-view/appender.js +2 -6
- package/build-module/components/list-view/appender.js.map +1 -1
- package/build-module/components/list-view/use-list-view-client-ids.js +2 -2
- package/build-module/components/list-view/use-list-view-client-ids.js.map +1 -1
- package/build-module/components/media-placeholder/index.native.js +66 -33
- package/build-module/components/media-placeholder/index.native.js.map +1 -1
- package/build-module/components/preview-options/index.js +2 -2
- package/build-module/components/preview-options/index.js.map +1 -1
- package/build-module/components/provider/index.js +5 -2
- package/build-module/components/provider/index.js.map +1 -1
- package/build-module/components/provider/use-block-sync.js +21 -0
- package/build-module/components/provider/use-block-sync.js.map +1 -1
- package/build-module/components/resolution-tool/index.js +45 -0
- package/build-module/components/resolution-tool/index.js.map +1 -0
- package/build-module/components/rich-text/content.js +1 -36
- package/build-module/components/rich-text/content.js.map +1 -1
- package/build-module/components/rich-text/get-rich-text-values.js +105 -0
- package/build-module/components/rich-text/get-rich-text-values.js.map +1 -0
- package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.js +1 -1
- package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +1 -1
- package/build-module/components/spacing-sizes-control/input-controls/axial.js +7 -3
- package/build-module/components/spacing-sizes-control/input-controls/axial.js.map +1 -1
- package/build-module/components/spacing-sizes-control/input-controls/separated.js +6 -2
- package/build-module/components/spacing-sizes-control/input-controls/separated.js.map +1 -1
- package/build-module/components/spacing-sizes-control/input-controls/single.js +6 -2
- package/build-module/components/spacing-sizes-control/input-controls/single.js.map +1 -1
- package/build-module/components/spacing-sizes-control/utils.js +1 -1
- package/build-module/components/spacing-sizes-control/utils.js.map +1 -1
- package/build-module/components/url-input/index.js +4 -2
- package/build-module/components/url-input/index.js.map +1 -1
- package/build-module/components/use-block-display-information/index.js +7 -3
- package/build-module/components/use-block-display-information/index.js.map +1 -1
- package/build-module/components/use-block-drop-zone/index.native.js +50 -8
- package/build-module/components/use-block-drop-zone/index.native.js.map +1 -1
- package/build-module/components/use-setting/index.js +5 -9
- package/build-module/components/use-setting/index.js.map +1 -1
- package/build-module/components/writing-flow/use-tab-nav.js +8 -26
- package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build-module/components/writing-mode-control/index.js +57 -0
- package/build-module/components/writing-mode-control/index.js.map +1 -0
- package/build-module/hooks/behaviors.js +26 -20
- package/build-module/hooks/behaviors.js.map +1 -1
- package/build-module/hooks/margin.js +1 -1
- package/build-module/hooks/margin.js.map +1 -1
- package/build-module/hooks/padding.js +1 -1
- package/build-module/hooks/padding.js.map +1 -1
- package/build-module/hooks/supports.js +7 -1
- package/build-module/hooks/supports.js.map +1 -1
- package/build-module/hooks/typography.js +2 -1
- package/build-module/hooks/typography.js.map +1 -1
- package/build-module/hooks/utils.js +6 -9
- package/build-module/hooks/utils.js.map +1 -1
- package/build-module/private-apis.js +11 -2
- package/build-module/private-apis.js.map +1 -1
- package/build-module/private-apis.native.js +2 -0
- package/build-module/private-apis.native.js.map +1 -1
- package/build-module/store/actions.js +193 -3
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/defaults.js +1 -0
- package/build-module/store/defaults.js.map +1 -1
- package/build-module/store/index.js +10 -1
- package/build-module/store/index.js.map +1 -1
- package/build-module/store/private-actions.js +45 -36
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/store/private-selectors.js +5 -5
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/reducer.js +22 -9
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +49 -21
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/utils/object.js +34 -2
- package/build-module/utils/object.js.map +1 -1
- package/build-style/content-rtl.css +4 -0
- package/build-style/content.css +4 -0
- package/build-style/style-rtl.css +137 -129
- package/build-style/style.css +137 -129
- package/package.json +33 -32
- package/src/components/alignment-control/test/__snapshots__/index.js.snap +6 -6
- package/src/components/block-alignment-control/test/__snapshots__/index.js.snap +5 -5
- package/src/components/block-controls/README.md +89 -0
- package/src/components/block-draggable/index.js +13 -4
- package/src/components/block-draggable/index.native.js +7 -3
- package/src/components/block-draggable/style.scss +1 -0
- package/src/components/block-draggable/test/index.native.js +0 -54
- package/src/components/block-edit/edit.js +26 -9
- package/src/components/block-edit/test/edit.js +1 -1
- package/src/components/block-heading-level-dropdown/heading-level-icon.js +6 -1
- package/src/components/block-heading-level-dropdown/index.native.js +8 -4
- package/src/components/block-inspector/style.scss +2 -1
- package/src/components/block-list/block-outline.native.js +26 -25
- package/src/components/block-list/block.native.js +24 -38
- package/src/components/block-list/block.native.scss +18 -40
- package/src/components/block-list/style.native.scss +3 -3
- package/src/components/block-lock/toolbar.js +34 -6
- package/src/components/block-mover/index.native.js +3 -3
- package/src/components/block-mover/test/__snapshots__/index.native.js.snap +16 -6
- package/src/components/block-parent-selector/index.js +13 -8
- package/src/components/block-removal-warning-modal/index.js +17 -33
- package/src/components/block-settings/button.native.js +12 -6
- package/src/components/{block-mobile-toolbar/block-actions-menu.native.js → block-toolbar/block-toolbar-menu.native.js} +19 -18
- package/src/components/block-toolbar/index.js +11 -9
- package/src/components/block-toolbar/index.native.js +86 -6
- package/src/components/{block-mobile-toolbar/test/block-actions-menu.native.js → block-toolbar/test/block-toolbar-menu.native.js} +20 -54
- package/src/components/block-toolbar/test/index.native.js +42 -0
- package/src/components/block-tools/block-contextual-toolbar.js +5 -11
- package/src/components/block-tools/style.scss +73 -26
- package/src/components/button-block-appender/styles.native.scss +2 -2
- package/src/components/caption/README.md +49 -0
- package/src/components/colors-gradients/control.js +3 -2
- package/src/components/default-block-appender/content.scss +11 -0
- package/src/components/dimensions-tool/aspect-ratio-tool.js +124 -0
- package/src/components/dimensions-tool/index.js +212 -0
- package/src/components/dimensions-tool/scale-tool.js +124 -0
- package/src/components/dimensions-tool/stories/aspect-ratio-tool.js +52 -0
- package/src/components/dimensions-tool/stories/index.js +54 -0
- package/src/components/dimensions-tool/stories/scale-tool.js +48 -0
- package/src/components/dimensions-tool/stories/width-height-tool.js +54 -0
- package/src/components/dimensions-tool/test/index.js +641 -0
- package/src/components/dimensions-tool/width-height-tool.js +113 -0
- package/src/components/font-family/README.md +71 -0
- package/src/components/global-styles/color-panel.js +24 -17
- package/src/components/global-styles/dimensions-panel.js +8 -2
- package/src/components/global-styles/filters-panel.js +2 -2
- package/src/components/global-styles/get-block-css-selector.js +5 -9
- package/src/components/global-styles/hooks.js +22 -26
- package/src/components/global-styles/typography-panel.js +57 -5
- package/src/components/global-styles/use-global-styles-output.js +36 -18
- package/src/components/global-styles/utils.js +15 -6
- package/src/components/iframe/index.js +30 -56
- package/src/components/iframe/use-compatibility-styles.js +5 -0
- package/src/components/image-editor/aspect-ratio-dropdown.js +1 -1
- package/src/components/image-editor/use-save-image.js +0 -1
- package/src/components/image-size-control/index.js +6 -0
- package/src/components/index.js +1 -0
- package/src/components/inner-blocks/README.md +10 -0
- package/src/components/inner-blocks/index.js +4 -0
- package/src/components/inner-blocks/index.native.js +4 -0
- package/src/components/inner-blocks/use-nested-settings-update.js +32 -5
- package/src/components/inserter/block-patterns-explorer/patterns-list.js +8 -2
- package/src/components/inserter/block-patterns-tab.js +8 -56
- package/src/components/inserter/hooks/use-block-types-state.js +3 -4
- package/src/components/inserter/hooks/use-patterns-state.js +35 -19
- package/src/components/inserter/index.js +2 -3
- package/src/components/inserter/index.native.js +17 -36
- package/src/components/inserter/media-tab/hooks.js +2 -22
- package/src/components/inserter/reusable-block-rename-hint.js +69 -0
- package/src/components/inserter/reusable-blocks-tab.js +5 -1
- package/src/components/inserter/reusable-blocks-tab.native.js +2 -2
- package/src/components/inserter/style.native.scss +10 -15
- package/src/components/inserter/style.scss +28 -0
- package/src/components/inserter/tabs.native.js +5 -1
- package/src/components/inserter-draggable-blocks/index.js +13 -2
- package/src/components/link-control/constants.js +1 -1
- package/src/components/link-control/index.js +36 -29
- package/src/components/link-control/search-create-button.js +8 -26
- package/src/components/link-control/search-input.js +4 -3
- package/src/components/link-control/search-item.js +21 -43
- package/src/components/link-control/search-results.js +48 -46
- package/src/components/link-control/settings-drawer.js +6 -5
- package/src/components/link-control/style.scss +58 -123
- package/src/components/link-control/test/index.js +161 -123
- package/src/components/list-view/appender.js +5 -6
- package/src/components/list-view/style.scss +1 -2
- package/src/components/list-view/use-list-view-client-ids.js +2 -2
- package/src/components/media-placeholder/index.native.js +108 -59
- package/src/components/media-placeholder/styles.native.scss +59 -24
- package/src/components/media-replace-flow/test/index.js +1 -1
- package/src/components/panel-color-settings/README.md +98 -0
- package/src/components/preview-options/README.md +18 -17
- package/src/components/preview-options/index.js +2 -2
- package/src/components/provider/index.js +9 -2
- package/src/components/provider/test/use-block-sync.js +21 -6
- package/src/components/provider/use-block-sync.js +19 -0
- package/src/components/recursion-provider/README.md +101 -0
- package/src/components/resolution-tool/index.js +56 -0
- package/src/components/resolution-tool/stories/index.js +48 -0
- package/src/components/rich-text/content.js +1 -46
- package/src/components/rich-text/get-rich-text-values.js +105 -0
- package/src/components/spacing-sizes-control/hooks/use-spacing-sizes.js +1 -1
- package/src/components/spacing-sizes-control/input-controls/axial.js +17 -2
- package/src/components/spacing-sizes-control/input-controls/separated.js +17 -2
- package/src/components/spacing-sizes-control/input-controls/single.js +12 -2
- package/src/components/spacing-sizes-control/utils.js +1 -1
- package/src/components/text-transform-control/README.md +44 -0
- package/src/components/url-input/index.js +2 -0
- package/src/components/use-block-display-information/index.js +12 -5
- package/src/components/use-block-drop-zone/index.native.js +65 -28
- package/src/components/use-setting/index.js +8 -8
- package/src/components/writing-flow/use-tab-nav.js +10 -33
- package/src/components/writing-mode-control/index.js +68 -0
- package/src/components/writing-mode-control/style.scss +18 -0
- package/src/hooks/behaviors.js +25 -16
- package/src/hooks/margin.js +4 -1
- package/src/hooks/padding.js +4 -1
- package/src/hooks/supports.js +7 -0
- package/src/hooks/typography.js +2 -0
- package/src/hooks/utils.js +8 -7
- package/src/private-apis.js +13 -1
- package/src/private-apis.native.js +2 -0
- package/src/store/actions.js +195 -3
- package/src/store/defaults.js +1 -0
- package/src/store/index.js +10 -0
- package/src/store/private-actions.js +39 -39
- package/src/store/private-selectors.js +5 -8
- package/src/store/reducer.js +22 -9
- package/src/store/selectors.js +87 -25
- package/src/store/test/actions.js +114 -0
- package/src/store/test/private-actions.js +56 -0
- package/src/store/test/private-selectors.js +5 -5
- package/src/store/test/reducer.js +14 -7
- package/src/store/test/selectors.js +1 -1
- package/src/utils/object.js +32 -2
- package/src/utils/test/object.js +36 -0
- package/build/components/block-mobile-toolbar/block-actions-menu.native.js.map +0 -1
- package/build/components/block-mobile-toolbar/index.native.js +0 -135
- package/build/components/block-mobile-toolbar/index.native.js.map +0 -1
- package/build-module/components/block-mobile-toolbar/block-actions-menu.native.js.map +0 -1
- package/build-module/components/block-mobile-toolbar/index.native.js +0 -116
- package/build-module/components/block-mobile-toolbar/index.native.js.map +0 -1
- package/src/components/block-mobile-toolbar/index.native.js +0 -127
- package/src/components/block-mobile-toolbar/style.native.scss +0 -16
- /package/src/components/{block-mobile-toolbar/test/__snapshots__/block-actions-menu.native.js.snap → block-toolbar/test/__snapshots__/block-toolbar-menu.native.js.snap} +0 -0
|
@@ -26,6 +26,8 @@ var _textTransformControl = _interopRequireDefault(require("../text-transform-co
|
|
|
26
26
|
|
|
27
27
|
var _textDecorationControl = _interopRequireDefault(require("../text-decoration-control"));
|
|
28
28
|
|
|
29
|
+
var _writingModeControl = _interopRequireDefault(require("../writing-mode-control"));
|
|
30
|
+
|
|
29
31
|
var _utils = require("./utils");
|
|
30
32
|
|
|
31
33
|
var _object = require("../../utils/object");
|
|
@@ -47,9 +49,10 @@ function useHasTypographyPanel(settings) {
|
|
|
47
49
|
const hasLetterSpacing = useHasLetterSpacingControl(settings);
|
|
48
50
|
const hasTextTransform = useHasTextTransformControl(settings);
|
|
49
51
|
const hasTextDecoration = useHasTextDecorationControl(settings);
|
|
52
|
+
const hasWritingMode = useHasWritingModeControl(settings);
|
|
50
53
|
const hasTextColumns = useHasTextColumnsControl(settings);
|
|
51
54
|
const hasFontSize = useHasFontSizeControl(settings);
|
|
52
|
-
return hasFontFamily || hasLineHeight || hasFontAppearance || hasLetterSpacing || hasTextTransform || hasFontSize || hasTextDecoration || hasTextColumns;
|
|
55
|
+
return hasFontFamily || hasLineHeight || hasFontAppearance || hasLetterSpacing || hasTextTransform || hasFontSize || hasTextDecoration || hasWritingMode || hasTextColumns;
|
|
53
56
|
}
|
|
54
57
|
|
|
55
58
|
function useHasFontSizeControl(settings) {
|
|
@@ -106,10 +109,30 @@ function useHasTextDecorationControl(settings) {
|
|
|
106
109
|
return settings?.typography?.textDecoration;
|
|
107
110
|
}
|
|
108
111
|
|
|
112
|
+
function useHasWritingModeControl(settings) {
|
|
113
|
+
return settings?.typography?.writingMode;
|
|
114
|
+
}
|
|
115
|
+
|
|
109
116
|
function useHasTextColumnsControl(settings) {
|
|
110
117
|
return settings?.typography?.textColumns;
|
|
111
118
|
}
|
|
112
119
|
|
|
120
|
+
function getUniqueFontSizesBySlug(settings) {
|
|
121
|
+
var _settings$typography$2, _fontSizesPerOrigin$c2, _fontSizesPerOrigin$t2, _fontSizesPerOrigin$d2;
|
|
122
|
+
|
|
123
|
+
const fontSizesPerOrigin = (_settings$typography$2 = settings?.typography?.fontSizes) !== null && _settings$typography$2 !== void 0 ? _settings$typography$2 : {};
|
|
124
|
+
const fontSizes = [].concat((_fontSizesPerOrigin$c2 = fontSizesPerOrigin?.custom) !== null && _fontSizesPerOrigin$c2 !== void 0 ? _fontSizesPerOrigin$c2 : []).concat((_fontSizesPerOrigin$t2 = fontSizesPerOrigin?.theme) !== null && _fontSizesPerOrigin$t2 !== void 0 ? _fontSizesPerOrigin$t2 : []).concat((_fontSizesPerOrigin$d2 = fontSizesPerOrigin.default) !== null && _fontSizesPerOrigin$d2 !== void 0 ? _fontSizesPerOrigin$d2 : []);
|
|
125
|
+
return fontSizes.reduce((acc, currentSize) => {
|
|
126
|
+
if (!acc.some(({
|
|
127
|
+
slug
|
|
128
|
+
}) => slug === currentSize.slug)) {
|
|
129
|
+
acc.push(currentSize);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
return acc;
|
|
133
|
+
}, []);
|
|
134
|
+
}
|
|
135
|
+
|
|
113
136
|
function TypographyToolsPanel({
|
|
114
137
|
resetAllFilter,
|
|
115
138
|
onChange,
|
|
@@ -137,6 +160,7 @@ const DEFAULT_CONTROLS = {
|
|
|
137
160
|
letterSpacing: true,
|
|
138
161
|
textTransform: true,
|
|
139
162
|
textDecoration: true,
|
|
163
|
+
writingMode: true,
|
|
140
164
|
textColumns: true
|
|
141
165
|
};
|
|
142
166
|
|
|
@@ -149,7 +173,7 @@ function TypographyPanel({
|
|
|
149
173
|
panelId,
|
|
150
174
|
defaultControls = DEFAULT_CONTROLS
|
|
151
175
|
}) {
|
|
152
|
-
var _fontFamiliesPerOrigi4, _fontFamiliesPerOrigi5, _fontFamiliesPerOrigi6
|
|
176
|
+
var _fontFamiliesPerOrigi4, _fontFamiliesPerOrigi5, _fontFamiliesPerOrigi6;
|
|
153
177
|
|
|
154
178
|
const decodeValue = rawValue => (0, _utils.getValueFromVariable)({
|
|
155
179
|
settings
|
|
@@ -175,8 +199,7 @@ function TypographyPanel({
|
|
|
175
199
|
|
|
176
200
|
const hasFontSizeEnabled = useHasFontSizeControl(settings);
|
|
177
201
|
const disableCustomFontSizes = !settings?.typography?.customFontSize;
|
|
178
|
-
const
|
|
179
|
-
const fontSizes = [].concat((_fontSizesPerOrigin$c2 = fontSizesPerOrigin?.custom) !== null && _fontSizesPerOrigin$c2 !== void 0 ? _fontSizesPerOrigin$c2 : []).concat((_fontSizesPerOrigin$t2 = fontSizesPerOrigin?.theme) !== null && _fontSizesPerOrigin$t2 !== void 0 ? _fontSizesPerOrigin$t2 : []).concat((_fontSizesPerOrigin$d2 = fontSizesPerOrigin.default) !== null && _fontSizesPerOrigin$d2 !== void 0 ? _fontSizesPerOrigin$d2 : []);
|
|
202
|
+
const fontSizes = getUniqueFontSizesBySlug(settings);
|
|
180
203
|
const fontSize = decodeValue(inheritedValue?.typography?.fontSize);
|
|
181
204
|
|
|
182
205
|
const setFontSize = (newValue, metadata) => {
|
|
@@ -272,7 +295,19 @@ function TypographyPanel({
|
|
|
272
295
|
|
|
273
296
|
const hasTextDecoration = () => !!value?.typography?.textDecoration;
|
|
274
297
|
|
|
275
|
-
const resetTextDecoration = () => setTextDecoration(undefined);
|
|
298
|
+
const resetTextDecoration = () => setTextDecoration(undefined); // Text Orientation
|
|
299
|
+
|
|
300
|
+
|
|
301
|
+
const hasWritingModeControl = useHasWritingModeControl(settings);
|
|
302
|
+
const writingMode = decodeValue(inheritedValue?.typography?.writingMode);
|
|
303
|
+
|
|
304
|
+
const setWritingMode = newValue => {
|
|
305
|
+
onChange((0, _object.setImmutably)(value, ['typography', 'writingMode'], newValue || undefined));
|
|
306
|
+
};
|
|
307
|
+
|
|
308
|
+
const hasWritingMode = () => !!value?.typography?.writingMode;
|
|
309
|
+
|
|
310
|
+
const resetWritingMode = () => setWritingMode(undefined);
|
|
276
311
|
|
|
277
312
|
const resetAllFilter = (0, _element.useCallback)(previousValue => {
|
|
278
313
|
return { ...previousValue,
|
|
@@ -381,6 +416,18 @@ function TypographyPanel({
|
|
|
381
416
|
onChange: setTextDecoration,
|
|
382
417
|
size: "__unstable-large",
|
|
383
418
|
__unstableInputWidth: "auto"
|
|
419
|
+
})), hasWritingModeControl && (0, _element.createElement)(_components.__experimentalToolsPanelItem, {
|
|
420
|
+
className: "single-column",
|
|
421
|
+
label: (0, _i18n.__)('Text orientation'),
|
|
422
|
+
hasValue: hasWritingMode,
|
|
423
|
+
onDeselect: resetWritingMode,
|
|
424
|
+
isShownByDefault: defaultControls.writingMode,
|
|
425
|
+
panelId: panelId
|
|
426
|
+
}, (0, _element.createElement)(_writingModeControl.default, {
|
|
427
|
+
value: writingMode,
|
|
428
|
+
onChange: setWritingMode,
|
|
429
|
+
size: "__unstable-large",
|
|
430
|
+
__nextHasNoMarginBottom: true
|
|
384
431
|
})), hasTextTransformControl && (0, _element.createElement)(_components.__experimentalToolsPanelItem, {
|
|
385
432
|
label: (0, _i18n.__)('Letter case'),
|
|
386
433
|
hasValue: hasTextTransform,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/block-editor/src/components/global-styles/typography-panel.js"],"names":["MIN_TEXT_COLUMNS","MAX_TEXT_COLUMNS","useHasTypographyPanel","settings","hasFontFamily","useHasFontFamilyControl","hasLineHeight","useHasLineHeightControl","hasFontAppearance","useHasAppearanceControl","hasLetterSpacing","useHasLetterSpacingControl","hasTextTransform","useHasTextTransformControl","hasTextDecoration","useHasTextDecorationControl","hasTextColumns","useHasTextColumnsControl","hasFontSize","useHasFontSizeControl","disableCustomFontSizes","typography","customFontSize","fontSizesPerOrigin","fontSizes","concat","custom","theme","default","length","fontFamiliesPerOrigin","fontFamilies","sort","a","b","name","slug","localeCompare","lineHeight","hasFontStyles","fontStyle","hasFontWeights","fontWeight","useAppearanceControlLabel","letterSpacing","textTransform","textDecoration","textColumns","TypographyToolsPanel","resetAllFilter","onChange","value","panelId","children","resetAll","updatedValue","DEFAULT_CONTROLS","fontFamily","fontSize","fontAppearance","TypographyPanel","as","Wrapper","inheritedValue","defaultControls","decodeValue","rawValue","hasFontFamilyEnabled","setFontFamily","newValue","find","f","undefined","resetFontFamily","hasFontSizeEnabled","setFontSize","metadata","actualValue","resetFontSize","hasAppearanceControl","appearanceControlLabel","setFontAppearance","newFontStyle","newFontWeight","resetFontAppearance","hasLineHeightEnabled","setLineHeight","resetLineHeight","hasLetterSpacingControl","setLetterSpacing","resetLetterSpacing","hasTextColumnsControl","setTextColumns","resetTextColumns","hasTextTransformControl","setTextTransform","resetTextTransform","hasTextDecorationControl","setTextDecoration","resetTextDecoration","previousValue"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tFontSizePicker,\n\t__experimentalNumberControl as NumberControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport FontFamilyControl from '../font-family';\nimport FontAppearanceControl from '../font-appearance-control';\nimport LineHeightControl from '../line-height-control';\nimport LetterSpacingControl from '../letter-spacing-control';\nimport TextTransformControl from '../text-transform-control';\nimport TextDecorationControl from '../text-decoration-control';\nimport { getValueFromVariable } from './utils';\nimport { setImmutably } from '../../utils/object';\n\nconst MIN_TEXT_COLUMNS = 1;\nconst MAX_TEXT_COLUMNS = 6;\n\nexport function useHasTypographyPanel( settings ) {\n\tconst hasFontFamily = useHasFontFamilyControl( settings );\n\tconst hasLineHeight = useHasLineHeightControl( settings );\n\tconst hasFontAppearance = useHasAppearanceControl( settings );\n\tconst hasLetterSpacing = useHasLetterSpacingControl( settings );\n\tconst hasTextTransform = useHasTextTransformControl( settings );\n\tconst hasTextDecoration = useHasTextDecorationControl( settings );\n\tconst hasTextColumns = useHasTextColumnsControl( settings );\n\tconst hasFontSize = useHasFontSizeControl( settings );\n\n\treturn (\n\t\thasFontFamily ||\n\t\thasLineHeight ||\n\t\thasFontAppearance ||\n\t\thasLetterSpacing ||\n\t\thasTextTransform ||\n\t\thasFontSize ||\n\t\thasTextDecoration ||\n\t\thasTextColumns\n\t);\n}\n\nfunction useHasFontSizeControl( settings ) {\n\tconst disableCustomFontSizes = ! settings?.typography?.customFontSize;\n\tconst fontSizesPerOrigin = settings?.typography?.fontSizes ?? {};\n\tconst fontSizes = []\n\t\t.concat( fontSizesPerOrigin?.custom ?? [] )\n\t\t.concat( fontSizesPerOrigin?.theme ?? [] )\n\t\t.concat( fontSizesPerOrigin.default ?? [] );\n\treturn !! fontSizes?.length || ! disableCustomFontSizes;\n}\n\nfunction useHasFontFamilyControl( settings ) {\n\tconst fontFamiliesPerOrigin = settings?.typography?.fontFamilies;\n\tconst fontFamilies = []\n\t\t.concat( fontFamiliesPerOrigin?.custom ?? [] )\n\t\t.concat( fontFamiliesPerOrigin?.theme ?? [] )\n\t\t.concat( fontFamiliesPerOrigin?.default ?? [] )\n\t\t.sort( ( a, b ) =>\n\t\t\t( a?.name || a?.slug ).localeCompare( b?.name || a?.slug )\n\t\t);\n\treturn !! fontFamilies?.length;\n}\n\nfunction useHasLineHeightControl( settings ) {\n\treturn settings?.typography?.lineHeight;\n}\n\nfunction useHasAppearanceControl( settings ) {\n\tconst hasFontStyles = settings?.typography?.fontStyle;\n\tconst hasFontWeights = settings?.typography?.fontWeight;\n\treturn hasFontStyles || hasFontWeights;\n}\n\nfunction useAppearanceControlLabel( settings ) {\n\tconst hasFontStyles = settings?.typography?.fontStyle;\n\tconst hasFontWeights = settings?.typography?.fontWeight;\n\tif ( ! hasFontStyles ) {\n\t\treturn __( 'Font weight' );\n\t}\n\tif ( ! hasFontWeights ) {\n\t\treturn __( 'Font style' );\n\t}\n\treturn __( 'Appearance' );\n}\n\nfunction useHasLetterSpacingControl( settings ) {\n\treturn settings?.typography?.letterSpacing;\n}\n\nfunction useHasTextTransformControl( settings ) {\n\treturn settings?.typography?.textTransform;\n}\n\nfunction useHasTextDecorationControl( settings ) {\n\treturn settings?.typography?.textDecoration;\n}\n\nfunction useHasTextColumnsControl( settings ) {\n\treturn settings?.typography?.textColumns;\n}\n\nfunction TypographyToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n} ) {\n\tconst resetAll = () => {\n\t\tconst updatedValue = resetAllFilter( value );\n\t\tonChange( updatedValue );\n\t};\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ __( 'Typography' ) }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t{ children }\n\t\t</ToolsPanel>\n\t);\n}\n\nconst DEFAULT_CONTROLS = {\n\tfontFamily: true,\n\tfontSize: true,\n\tfontAppearance: true,\n\tlineHeight: true,\n\tletterSpacing: true,\n\ttextTransform: true,\n\ttextDecoration: true,\n\ttextColumns: true,\n};\n\nexport default function TypographyPanel( {\n\tas: Wrapper = TypographyToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tdefaultControls = DEFAULT_CONTROLS,\n} ) {\n\tconst decodeValue = ( rawValue ) =>\n\t\tgetValueFromVariable( { settings }, '', rawValue );\n\n\t// Font Family\n\tconst hasFontFamilyEnabled = useHasFontFamilyControl( settings );\n\tconst fontFamiliesPerOrigin = settings?.typography?.fontFamilies;\n\tconst fontFamilies = []\n\t\t.concat( fontFamiliesPerOrigin?.custom ?? [] )\n\t\t.concat( fontFamiliesPerOrigin?.theme ?? [] )\n\t\t.concat( fontFamiliesPerOrigin?.default ?? [] );\n\tconst fontFamily = decodeValue( inheritedValue?.typography?.fontFamily );\n\tconst setFontFamily = ( newValue ) => {\n\t\tconst slug = fontFamilies?.find(\n\t\t\t( { fontFamily: f } ) => f === newValue\n\t\t)?.slug;\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'fontFamily' ],\n\t\t\t\tslug\n\t\t\t\t\t? `var:preset|font-family|${ slug }`\n\t\t\t\t\t: newValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasFontFamily = () => !! value?.typography?.fontFamily;\n\tconst resetFontFamily = () => setFontFamily( undefined );\n\n\t// Font Size\n\tconst hasFontSizeEnabled = useHasFontSizeControl( settings );\n\tconst disableCustomFontSizes = ! settings?.typography?.customFontSize;\n\tconst fontSizesPerOrigin = settings?.typography?.fontSizes ?? {};\n\tconst fontSizes = []\n\t\t.concat( fontSizesPerOrigin?.custom ?? [] )\n\t\t.concat( fontSizesPerOrigin?.theme ?? [] )\n\t\t.concat( fontSizesPerOrigin.default ?? [] );\n\tconst fontSize = decodeValue( inheritedValue?.typography?.fontSize );\n\tconst setFontSize = ( newValue, metadata ) => {\n\t\tconst actualValue = !! metadata?.slug\n\t\t\t? `var:preset|font-size|${ metadata?.slug }`\n\t\t\t: newValue;\n\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'fontSize' ],\n\t\t\t\tactualValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasFontSize = () => !! value?.typography?.fontSize;\n\tconst resetFontSize = () => setFontSize( undefined );\n\n\t// Appearance\n\tconst hasAppearanceControl = useHasAppearanceControl( settings );\n\tconst appearanceControlLabel = useAppearanceControlLabel( settings );\n\tconst hasFontStyles = settings?.typography?.fontStyle;\n\tconst hasFontWeights = settings?.typography?.fontWeight;\n\tconst fontStyle = decodeValue( inheritedValue?.typography?.fontStyle );\n\tconst fontWeight = decodeValue( inheritedValue?.typography?.fontWeight );\n\tconst setFontAppearance = ( {\n\t\tfontStyle: newFontStyle,\n\t\tfontWeight: newFontWeight,\n\t} ) => {\n\t\tonChange( {\n\t\t\t...value,\n\t\t\ttypography: {\n\t\t\t\t...value?.typography,\n\t\t\t\tfontStyle: newFontStyle || undefined,\n\t\t\t\tfontWeight: newFontWeight || undefined,\n\t\t\t},\n\t\t} );\n\t};\n\tconst hasFontAppearance = () =>\n\t\t!! value?.typography?.fontStyle || !! value?.typography?.fontWeight;\n\tconst resetFontAppearance = () => {\n\t\tsetFontAppearance( {} );\n\t};\n\n\t// Line Height\n\tconst hasLineHeightEnabled = useHasLineHeightControl( settings );\n\tconst lineHeight = decodeValue( inheritedValue?.typography?.lineHeight );\n\tconst setLineHeight = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'lineHeight' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasLineHeight = () => value?.typography?.lineHeight !== undefined;\n\tconst resetLineHeight = () => setLineHeight( undefined );\n\n\t// Letter Spacing\n\tconst hasLetterSpacingControl = useHasLetterSpacingControl( settings );\n\tconst letterSpacing = decodeValue(\n\t\tinheritedValue?.typography?.letterSpacing\n\t);\n\tconst setLetterSpacing = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'letterSpacing' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasLetterSpacing = () => !! value?.typography?.letterSpacing;\n\tconst resetLetterSpacing = () => setLetterSpacing( undefined );\n\n\t// Text Columns\n\tconst hasTextColumnsControl = useHasTextColumnsControl( settings );\n\tconst textColumns = decodeValue( inheritedValue?.typography?.textColumns );\n\tconst setTextColumns = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'textColumns' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasTextColumns = () => !! value?.typography?.textColumns;\n\tconst resetTextColumns = () => setTextColumns( undefined );\n\n\t// Text Transform\n\tconst hasTextTransformControl = useHasTextTransformControl( settings );\n\tconst textTransform = decodeValue(\n\t\tinheritedValue?.typography?.textTransform\n\t);\n\tconst setTextTransform = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'textTransform' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasTextTransform = () => !! value?.typography?.textTransform;\n\tconst resetTextTransform = () => setTextTransform( undefined );\n\n\t// Text Decoration\n\tconst hasTextDecorationControl = useHasTextDecorationControl( settings );\n\tconst textDecoration = decodeValue(\n\t\tinheritedValue?.typography?.textDecoration\n\t);\n\tconst setTextDecoration = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'textDecoration' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasTextDecoration = () => !! value?.typography?.textDecoration;\n\tconst resetTextDecoration = () => setTextDecoration( undefined );\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\ttypography: {},\n\t\t};\n\t}, [] );\n\n\treturn (\n\t\t<Wrapper\n\t\t\tresetAllFilter={ resetAllFilter }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t{ hasFontFamilyEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Font family' ) }\n\t\t\t\t\thasValue={ hasFontFamily }\n\t\t\t\t\tonDeselect={ resetFontFamily }\n\t\t\t\t\tisShownByDefault={ defaultControls.fontFamily }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<FontFamilyControl\n\t\t\t\t\t\tfontFamilies={ fontFamilies }\n\t\t\t\t\t\tvalue={ fontFamily }\n\t\t\t\t\t\tonChange={ setFontFamily }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasFontSizeEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Font size' ) }\n\t\t\t\t\thasValue={ hasFontSize }\n\t\t\t\t\tonDeselect={ resetFontSize }\n\t\t\t\t\tisShownByDefault={ defaultControls.fontSize }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<FontSizePicker\n\t\t\t\t\t\tvalue={ fontSize }\n\t\t\t\t\t\tonChange={ setFontSize }\n\t\t\t\t\t\tfontSizes={ fontSizes }\n\t\t\t\t\t\tdisableCustomFontSizes={ disableCustomFontSizes }\n\t\t\t\t\t\twithReset={ false }\n\t\t\t\t\t\twithSlider\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasAppearanceControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ appearanceControlLabel }\n\t\t\t\t\thasValue={ hasFontAppearance }\n\t\t\t\t\tonDeselect={ resetFontAppearance }\n\t\t\t\t\tisShownByDefault={ defaultControls.fontAppearance }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<FontAppearanceControl\n\t\t\t\t\t\tvalue={ {\n\t\t\t\t\t\t\tfontStyle,\n\t\t\t\t\t\t\tfontWeight,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonChange={ setFontAppearance }\n\t\t\t\t\t\thasFontStyles={ hasFontStyles }\n\t\t\t\t\t\thasFontWeights={ hasFontWeights }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasLineHeightEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Line height' ) }\n\t\t\t\t\thasValue={ hasLineHeight }\n\t\t\t\t\tonDeselect={ resetLineHeight }\n\t\t\t\t\tisShownByDefault={ defaultControls.lineHeight }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<LineHeightControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t\tvalue={ lineHeight }\n\t\t\t\t\t\tonChange={ setLineHeight }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasLetterSpacingControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Letter spacing' ) }\n\t\t\t\t\thasValue={ hasLetterSpacing }\n\t\t\t\t\tonDeselect={ resetLetterSpacing }\n\t\t\t\t\tisShownByDefault={ defaultControls.letterSpacing }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<LetterSpacingControl\n\t\t\t\t\t\tvalue={ letterSpacing }\n\t\t\t\t\t\tonChange={ setLetterSpacing }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextColumnsControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Text columns' ) }\n\t\t\t\t\thasValue={ hasTextColumns }\n\t\t\t\t\tonDeselect={ resetTextColumns }\n\t\t\t\t\tisShownByDefault={ defaultControls.textColumns }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<NumberControl\n\t\t\t\t\t\tlabel={ __( 'Text columns' ) }\n\t\t\t\t\t\tmax={ MAX_TEXT_COLUMNS }\n\t\t\t\t\t\tmin={ MIN_TEXT_COLUMNS }\n\t\t\t\t\t\tonChange={ setTextColumns }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\tspinControls=\"custom\"\n\t\t\t\t\t\tvalue={ textColumns }\n\t\t\t\t\t\tinitialPosition={ 1 }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextDecorationControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Text decoration' ) }\n\t\t\t\t\thasValue={ hasTextDecoration }\n\t\t\t\t\tonDeselect={ resetTextDecoration }\n\t\t\t\t\tisShownByDefault={ defaultControls.textDecoration }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<TextDecorationControl\n\t\t\t\t\t\tvalue={ textDecoration }\n\t\t\t\t\t\tonChange={ setTextDecoration }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextTransformControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Letter case' ) }\n\t\t\t\t\thasValue={ hasTextTransform }\n\t\t\t\t\tonDeselect={ resetTextTransform }\n\t\t\t\t\tisShownByDefault={ defaultControls.textTransform }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<TextTransformControl\n\t\t\t\t\t\tvalue={ textTransform }\n\t\t\t\t\t\tonChange={ setTextTransform }\n\t\t\t\t\t\tshowNone\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</Wrapper>\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/block-editor/src/components/global-styles/typography-panel.js"],"names":["MIN_TEXT_COLUMNS","MAX_TEXT_COLUMNS","useHasTypographyPanel","settings","hasFontFamily","useHasFontFamilyControl","hasLineHeight","useHasLineHeightControl","hasFontAppearance","useHasAppearanceControl","hasLetterSpacing","useHasLetterSpacingControl","hasTextTransform","useHasTextTransformControl","hasTextDecoration","useHasTextDecorationControl","hasWritingMode","useHasWritingModeControl","hasTextColumns","useHasTextColumnsControl","hasFontSize","useHasFontSizeControl","disableCustomFontSizes","typography","customFontSize","fontSizesPerOrigin","fontSizes","concat","custom","theme","default","length","fontFamiliesPerOrigin","fontFamilies","sort","a","b","name","slug","localeCompare","lineHeight","hasFontStyles","fontStyle","hasFontWeights","fontWeight","useAppearanceControlLabel","letterSpacing","textTransform","textDecoration","writingMode","textColumns","getUniqueFontSizesBySlug","reduce","acc","currentSize","some","push","TypographyToolsPanel","resetAllFilter","onChange","value","panelId","children","resetAll","updatedValue","DEFAULT_CONTROLS","fontFamily","fontSize","fontAppearance","TypographyPanel","as","Wrapper","inheritedValue","defaultControls","decodeValue","rawValue","hasFontFamilyEnabled","setFontFamily","newValue","find","f","undefined","resetFontFamily","hasFontSizeEnabled","setFontSize","metadata","actualValue","resetFontSize","hasAppearanceControl","appearanceControlLabel","setFontAppearance","newFontStyle","newFontWeight","resetFontAppearance","hasLineHeightEnabled","setLineHeight","resetLineHeight","hasLetterSpacingControl","setLetterSpacing","resetLetterSpacing","hasTextColumnsControl","setTextColumns","resetTextColumns","hasTextTransformControl","setTextTransform","resetTextTransform","hasTextDecorationControl","setTextDecoration","resetTextDecoration","hasWritingModeControl","setWritingMode","resetWritingMode","previousValue"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tFontSizePicker,\n\t__experimentalNumberControl as NumberControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport FontFamilyControl from '../font-family';\nimport FontAppearanceControl from '../font-appearance-control';\nimport LineHeightControl from '../line-height-control';\nimport LetterSpacingControl from '../letter-spacing-control';\nimport TextTransformControl from '../text-transform-control';\nimport TextDecorationControl from '../text-decoration-control';\nimport WritingModeControl from '../writing-mode-control';\nimport { getValueFromVariable } from './utils';\nimport { setImmutably } from '../../utils/object';\n\nconst MIN_TEXT_COLUMNS = 1;\nconst MAX_TEXT_COLUMNS = 6;\n\nexport function useHasTypographyPanel( settings ) {\n\tconst hasFontFamily = useHasFontFamilyControl( settings );\n\tconst hasLineHeight = useHasLineHeightControl( settings );\n\tconst hasFontAppearance = useHasAppearanceControl( settings );\n\tconst hasLetterSpacing = useHasLetterSpacingControl( settings );\n\tconst hasTextTransform = useHasTextTransformControl( settings );\n\tconst hasTextDecoration = useHasTextDecorationControl( settings );\n\tconst hasWritingMode = useHasWritingModeControl( settings );\n\tconst hasTextColumns = useHasTextColumnsControl( settings );\n\tconst hasFontSize = useHasFontSizeControl( settings );\n\n\treturn (\n\t\thasFontFamily ||\n\t\thasLineHeight ||\n\t\thasFontAppearance ||\n\t\thasLetterSpacing ||\n\t\thasTextTransform ||\n\t\thasFontSize ||\n\t\thasTextDecoration ||\n\t\thasWritingMode ||\n\t\thasTextColumns\n\t);\n}\n\nfunction useHasFontSizeControl( settings ) {\n\tconst disableCustomFontSizes = ! settings?.typography?.customFontSize;\n\tconst fontSizesPerOrigin = settings?.typography?.fontSizes ?? {};\n\tconst fontSizes = []\n\t\t.concat( fontSizesPerOrigin?.custom ?? [] )\n\t\t.concat( fontSizesPerOrigin?.theme ?? [] )\n\t\t.concat( fontSizesPerOrigin.default ?? [] );\n\treturn !! fontSizes?.length || ! disableCustomFontSizes;\n}\n\nfunction useHasFontFamilyControl( settings ) {\n\tconst fontFamiliesPerOrigin = settings?.typography?.fontFamilies;\n\tconst fontFamilies = []\n\t\t.concat( fontFamiliesPerOrigin?.custom ?? [] )\n\t\t.concat( fontFamiliesPerOrigin?.theme ?? [] )\n\t\t.concat( fontFamiliesPerOrigin?.default ?? [] )\n\t\t.sort( ( a, b ) =>\n\t\t\t( a?.name || a?.slug ).localeCompare( b?.name || a?.slug )\n\t\t);\n\treturn !! fontFamilies?.length;\n}\n\nfunction useHasLineHeightControl( settings ) {\n\treturn settings?.typography?.lineHeight;\n}\n\nfunction useHasAppearanceControl( settings ) {\n\tconst hasFontStyles = settings?.typography?.fontStyle;\n\tconst hasFontWeights = settings?.typography?.fontWeight;\n\treturn hasFontStyles || hasFontWeights;\n}\n\nfunction useAppearanceControlLabel( settings ) {\n\tconst hasFontStyles = settings?.typography?.fontStyle;\n\tconst hasFontWeights = settings?.typography?.fontWeight;\n\tif ( ! hasFontStyles ) {\n\t\treturn __( 'Font weight' );\n\t}\n\tif ( ! hasFontWeights ) {\n\t\treturn __( 'Font style' );\n\t}\n\treturn __( 'Appearance' );\n}\n\nfunction useHasLetterSpacingControl( settings ) {\n\treturn settings?.typography?.letterSpacing;\n}\n\nfunction useHasTextTransformControl( settings ) {\n\treturn settings?.typography?.textTransform;\n}\n\nfunction useHasTextDecorationControl( settings ) {\n\treturn settings?.typography?.textDecoration;\n}\n\nfunction useHasWritingModeControl( settings ) {\n\treturn settings?.typography?.writingMode;\n}\n\nfunction useHasTextColumnsControl( settings ) {\n\treturn settings?.typography?.textColumns;\n}\n\nfunction getUniqueFontSizesBySlug( settings ) {\n\tconst fontSizesPerOrigin = settings?.typography?.fontSizes ?? {};\n\tconst fontSizes = []\n\t\t.concat( fontSizesPerOrigin?.custom ?? [] )\n\t\t.concat( fontSizesPerOrigin?.theme ?? [] )\n\t\t.concat( fontSizesPerOrigin.default ?? [] );\n\n\treturn fontSizes.reduce( ( acc, currentSize ) => {\n\t\tif ( ! acc.some( ( { slug } ) => slug === currentSize.slug ) ) {\n\t\t\tacc.push( currentSize );\n\t\t}\n\t\treturn acc;\n\t}, [] );\n}\n\nfunction TypographyToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n} ) {\n\tconst resetAll = () => {\n\t\tconst updatedValue = resetAllFilter( value );\n\t\tonChange( updatedValue );\n\t};\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ __( 'Typography' ) }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t{ children }\n\t\t</ToolsPanel>\n\t);\n}\n\nconst DEFAULT_CONTROLS = {\n\tfontFamily: true,\n\tfontSize: true,\n\tfontAppearance: true,\n\tlineHeight: true,\n\tletterSpacing: true,\n\ttextTransform: true,\n\ttextDecoration: true,\n\twritingMode: true,\n\ttextColumns: true,\n};\n\nexport default function TypographyPanel( {\n\tas: Wrapper = TypographyToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tdefaultControls = DEFAULT_CONTROLS,\n} ) {\n\tconst decodeValue = ( rawValue ) =>\n\t\tgetValueFromVariable( { settings }, '', rawValue );\n\n\t// Font Family\n\tconst hasFontFamilyEnabled = useHasFontFamilyControl( settings );\n\tconst fontFamiliesPerOrigin = settings?.typography?.fontFamilies;\n\tconst fontFamilies = []\n\t\t.concat( fontFamiliesPerOrigin?.custom ?? [] )\n\t\t.concat( fontFamiliesPerOrigin?.theme ?? [] )\n\t\t.concat( fontFamiliesPerOrigin?.default ?? [] );\n\tconst fontFamily = decodeValue( inheritedValue?.typography?.fontFamily );\n\tconst setFontFamily = ( newValue ) => {\n\t\tconst slug = fontFamilies?.find(\n\t\t\t( { fontFamily: f } ) => f === newValue\n\t\t)?.slug;\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'fontFamily' ],\n\t\t\t\tslug\n\t\t\t\t\t? `var:preset|font-family|${ slug }`\n\t\t\t\t\t: newValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasFontFamily = () => !! value?.typography?.fontFamily;\n\tconst resetFontFamily = () => setFontFamily( undefined );\n\n\t// Font Size\n\tconst hasFontSizeEnabled = useHasFontSizeControl( settings );\n\tconst disableCustomFontSizes = ! settings?.typography?.customFontSize;\n\tconst fontSizes = getUniqueFontSizesBySlug( settings );\n\n\tconst fontSize = decodeValue( inheritedValue?.typography?.fontSize );\n\tconst setFontSize = ( newValue, metadata ) => {\n\t\tconst actualValue = !! metadata?.slug\n\t\t\t? `var:preset|font-size|${ metadata?.slug }`\n\t\t\t: newValue;\n\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'fontSize' ],\n\t\t\t\tactualValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasFontSize = () => !! value?.typography?.fontSize;\n\tconst resetFontSize = () => setFontSize( undefined );\n\n\t// Appearance\n\tconst hasAppearanceControl = useHasAppearanceControl( settings );\n\tconst appearanceControlLabel = useAppearanceControlLabel( settings );\n\tconst hasFontStyles = settings?.typography?.fontStyle;\n\tconst hasFontWeights = settings?.typography?.fontWeight;\n\tconst fontStyle = decodeValue( inheritedValue?.typography?.fontStyle );\n\tconst fontWeight = decodeValue( inheritedValue?.typography?.fontWeight );\n\tconst setFontAppearance = ( {\n\t\tfontStyle: newFontStyle,\n\t\tfontWeight: newFontWeight,\n\t} ) => {\n\t\tonChange( {\n\t\t\t...value,\n\t\t\ttypography: {\n\t\t\t\t...value?.typography,\n\t\t\t\tfontStyle: newFontStyle || undefined,\n\t\t\t\tfontWeight: newFontWeight || undefined,\n\t\t\t},\n\t\t} );\n\t};\n\tconst hasFontAppearance = () =>\n\t\t!! value?.typography?.fontStyle || !! value?.typography?.fontWeight;\n\tconst resetFontAppearance = () => {\n\t\tsetFontAppearance( {} );\n\t};\n\n\t// Line Height\n\tconst hasLineHeightEnabled = useHasLineHeightControl( settings );\n\tconst lineHeight = decodeValue( inheritedValue?.typography?.lineHeight );\n\tconst setLineHeight = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'lineHeight' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasLineHeight = () => value?.typography?.lineHeight !== undefined;\n\tconst resetLineHeight = () => setLineHeight( undefined );\n\n\t// Letter Spacing\n\tconst hasLetterSpacingControl = useHasLetterSpacingControl( settings );\n\tconst letterSpacing = decodeValue(\n\t\tinheritedValue?.typography?.letterSpacing\n\t);\n\tconst setLetterSpacing = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'letterSpacing' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasLetterSpacing = () => !! value?.typography?.letterSpacing;\n\tconst resetLetterSpacing = () => setLetterSpacing( undefined );\n\n\t// Text Columns\n\tconst hasTextColumnsControl = useHasTextColumnsControl( settings );\n\tconst textColumns = decodeValue( inheritedValue?.typography?.textColumns );\n\tconst setTextColumns = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'textColumns' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasTextColumns = () => !! value?.typography?.textColumns;\n\tconst resetTextColumns = () => setTextColumns( undefined );\n\n\t// Text Transform\n\tconst hasTextTransformControl = useHasTextTransformControl( settings );\n\tconst textTransform = decodeValue(\n\t\tinheritedValue?.typography?.textTransform\n\t);\n\tconst setTextTransform = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'textTransform' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasTextTransform = () => !! value?.typography?.textTransform;\n\tconst resetTextTransform = () => setTextTransform( undefined );\n\n\t// Text Decoration\n\tconst hasTextDecorationControl = useHasTextDecorationControl( settings );\n\tconst textDecoration = decodeValue(\n\t\tinheritedValue?.typography?.textDecoration\n\t);\n\tconst setTextDecoration = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'textDecoration' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasTextDecoration = () => !! value?.typography?.textDecoration;\n\tconst resetTextDecoration = () => setTextDecoration( undefined );\n\n\t// Text Orientation\n\tconst hasWritingModeControl = useHasWritingModeControl( settings );\n\tconst writingMode = decodeValue( inheritedValue?.typography?.writingMode );\n\tconst setWritingMode = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'writingMode' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasWritingMode = () => !! value?.typography?.writingMode;\n\tconst resetWritingMode = () => setWritingMode( undefined );\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\ttypography: {},\n\t\t};\n\t}, [] );\n\n\treturn (\n\t\t<Wrapper\n\t\t\tresetAllFilter={ resetAllFilter }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t{ hasFontFamilyEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Font family' ) }\n\t\t\t\t\thasValue={ hasFontFamily }\n\t\t\t\t\tonDeselect={ resetFontFamily }\n\t\t\t\t\tisShownByDefault={ defaultControls.fontFamily }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<FontFamilyControl\n\t\t\t\t\t\tfontFamilies={ fontFamilies }\n\t\t\t\t\t\tvalue={ fontFamily }\n\t\t\t\t\t\tonChange={ setFontFamily }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasFontSizeEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Font size' ) }\n\t\t\t\t\thasValue={ hasFontSize }\n\t\t\t\t\tonDeselect={ resetFontSize }\n\t\t\t\t\tisShownByDefault={ defaultControls.fontSize }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<FontSizePicker\n\t\t\t\t\t\tvalue={ fontSize }\n\t\t\t\t\t\tonChange={ setFontSize }\n\t\t\t\t\t\tfontSizes={ fontSizes }\n\t\t\t\t\t\tdisableCustomFontSizes={ disableCustomFontSizes }\n\t\t\t\t\t\twithReset={ false }\n\t\t\t\t\t\twithSlider\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasAppearanceControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ appearanceControlLabel }\n\t\t\t\t\thasValue={ hasFontAppearance }\n\t\t\t\t\tonDeselect={ resetFontAppearance }\n\t\t\t\t\tisShownByDefault={ defaultControls.fontAppearance }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<FontAppearanceControl\n\t\t\t\t\t\tvalue={ {\n\t\t\t\t\t\t\tfontStyle,\n\t\t\t\t\t\t\tfontWeight,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonChange={ setFontAppearance }\n\t\t\t\t\t\thasFontStyles={ hasFontStyles }\n\t\t\t\t\t\thasFontWeights={ hasFontWeights }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasLineHeightEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Line height' ) }\n\t\t\t\t\thasValue={ hasLineHeight }\n\t\t\t\t\tonDeselect={ resetLineHeight }\n\t\t\t\t\tisShownByDefault={ defaultControls.lineHeight }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<LineHeightControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t\tvalue={ lineHeight }\n\t\t\t\t\t\tonChange={ setLineHeight }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasLetterSpacingControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Letter spacing' ) }\n\t\t\t\t\thasValue={ hasLetterSpacing }\n\t\t\t\t\tonDeselect={ resetLetterSpacing }\n\t\t\t\t\tisShownByDefault={ defaultControls.letterSpacing }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<LetterSpacingControl\n\t\t\t\t\t\tvalue={ letterSpacing }\n\t\t\t\t\t\tonChange={ setLetterSpacing }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextColumnsControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Text columns' ) }\n\t\t\t\t\thasValue={ hasTextColumns }\n\t\t\t\t\tonDeselect={ resetTextColumns }\n\t\t\t\t\tisShownByDefault={ defaultControls.textColumns }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<NumberControl\n\t\t\t\t\t\tlabel={ __( 'Text columns' ) }\n\t\t\t\t\t\tmax={ MAX_TEXT_COLUMNS }\n\t\t\t\t\t\tmin={ MIN_TEXT_COLUMNS }\n\t\t\t\t\t\tonChange={ setTextColumns }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\tspinControls=\"custom\"\n\t\t\t\t\t\tvalue={ textColumns }\n\t\t\t\t\t\tinitialPosition={ 1 }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextDecorationControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Text decoration' ) }\n\t\t\t\t\thasValue={ hasTextDecoration }\n\t\t\t\t\tonDeselect={ resetTextDecoration }\n\t\t\t\t\tisShownByDefault={ defaultControls.textDecoration }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<TextDecorationControl\n\t\t\t\t\t\tvalue={ textDecoration }\n\t\t\t\t\t\tonChange={ setTextDecoration }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasWritingModeControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Text orientation' ) }\n\t\t\t\t\thasValue={ hasWritingMode }\n\t\t\t\t\tonDeselect={ resetWritingMode }\n\t\t\t\t\tisShownByDefault={ defaultControls.writingMode }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<WritingModeControl\n\t\t\t\t\t\tvalue={ writingMode }\n\t\t\t\t\t\tonChange={ setWritingMode }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextTransformControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Letter case' ) }\n\t\t\t\t\thasValue={ hasTextTransform }\n\t\t\t\t\tonDeselect={ resetTextTransform }\n\t\t\t\t\tisShownByDefault={ defaultControls.textTransform }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<TextTransformControl\n\t\t\t\t\t\tvalue={ textTransform }\n\t\t\t\t\t\tonChange={ setTextTransform }\n\t\t\t\t\t\tshowNone\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</Wrapper>\n\t);\n}\n"]}
|
|
@@ -14,8 +14,6 @@ exports.useGlobalStylesOutputWithConfig = useGlobalStylesOutputWithConfig;
|
|
|
14
14
|
|
|
15
15
|
var _element = require("@wordpress/element");
|
|
16
16
|
|
|
17
|
-
var _lodash = require("lodash");
|
|
18
|
-
|
|
19
17
|
var _blocks = require("@wordpress/blocks");
|
|
20
18
|
|
|
21
19
|
var _data = require("@wordpress/data");
|
|
@@ -42,10 +40,6 @@ var _definitions = require("../../layouts/definitions");
|
|
|
42
40
|
|
|
43
41
|
var _object = require("../../utils/object");
|
|
44
42
|
|
|
45
|
-
/**
|
|
46
|
-
* External dependencies
|
|
47
|
-
*/
|
|
48
|
-
|
|
49
43
|
/**
|
|
50
44
|
* WordPress dependencies
|
|
51
45
|
*/
|
|
@@ -91,7 +85,7 @@ function getPresetsDeclarations(blockPresets = {}, mergedSettings) {
|
|
|
91
85
|
valueFunc,
|
|
92
86
|
cssVarInfix
|
|
93
87
|
}) => {
|
|
94
|
-
const presetByOrigin = (0,
|
|
88
|
+
const presetByOrigin = (0, _object.getValueFromObjectPath)(blockPresets, path, []);
|
|
95
89
|
['default', 'theme', 'custom'].forEach(origin => {
|
|
96
90
|
if (presetByOrigin[origin]) {
|
|
97
91
|
presetByOrigin[origin].forEach(value => {
|
|
@@ -125,7 +119,7 @@ function getPresetsClasses(blockSelector = '*', blockPresets = {}) {
|
|
|
125
119
|
return declarations;
|
|
126
120
|
}
|
|
127
121
|
|
|
128
|
-
const presetByOrigin = (0,
|
|
122
|
+
const presetByOrigin = (0, _object.getValueFromObjectPath)(blockPresets, path, []);
|
|
129
123
|
['default', 'theme', 'custom'].forEach(origin => {
|
|
130
124
|
if (presetByOrigin[origin]) {
|
|
131
125
|
presetByOrigin[origin].forEach(({
|
|
@@ -151,7 +145,7 @@ function getPresetsClasses(blockSelector = '*', blockPresets = {}) {
|
|
|
151
145
|
function getPresetsSvgFilters(blockPresets = {}) {
|
|
152
146
|
return _utils.PRESET_METADATA.filter( // Duotone are the only type of filters for now.
|
|
153
147
|
metadata => metadata.path.at(-1) === 'duotone').flatMap(metadata => {
|
|
154
|
-
const presetByOrigin = (0,
|
|
148
|
+
const presetByOrigin = (0, _object.getValueFromObjectPath)(blockPresets, metadata.path, {});
|
|
155
149
|
return ['default', 'theme'].filter(origin => presetByOrigin[origin]).flatMap(origin => presetByOrigin[origin].map(preset => (0, _element.renderToString)((0, _element.createElement)(_components.PresetDuotoneFilter, {
|
|
156
150
|
preset: preset,
|
|
157
151
|
key: preset.slug
|
|
@@ -292,7 +286,7 @@ function getStylesDeclarations(blockStyles = {}, selector = '', useRootPaddingAl
|
|
|
292
286
|
return declarations;
|
|
293
287
|
}
|
|
294
288
|
|
|
295
|
-
const styleValue = (0,
|
|
289
|
+
const styleValue = (0, _object.getValueFromObjectPath)(blockStyles, pathToValue); // Root-level padding styles don't currently support strings with CSS shorthand values.
|
|
296
290
|
// This may change: https://github.com/WordPress/gutenberg/issues/40132.
|
|
297
291
|
|
|
298
292
|
if (key === '--wp--style--root--padding' && (typeof styleValue === 'string' || !useRootPaddingAlign)) {
|
|
@@ -303,18 +297,18 @@ function getStylesDeclarations(blockStyles = {}, selector = '', useRootPaddingAl
|
|
|
303
297
|
Object.entries(properties).forEach(entry => {
|
|
304
298
|
const [name, prop] = entry;
|
|
305
299
|
|
|
306
|
-
if (!(0,
|
|
300
|
+
if (!(0, _object.getValueFromObjectPath)(styleValue, [prop], false)) {
|
|
307
301
|
// Do not create a declaration
|
|
308
302
|
// for sub-properties that don't have any value.
|
|
309
303
|
return;
|
|
310
304
|
}
|
|
311
305
|
|
|
312
306
|
const cssProperty = name.startsWith('--') ? name : (0, _object.kebabCase)(name);
|
|
313
|
-
declarations.push(`${cssProperty}: ${compileStyleValue((0,
|
|
307
|
+
declarations.push(`${cssProperty}: ${compileStyleValue((0, _object.getValueFromObjectPath)(styleValue, [prop]))}`);
|
|
314
308
|
});
|
|
315
|
-
} else if ((0,
|
|
309
|
+
} else if ((0, _object.getValueFromObjectPath)(blockStyles, pathToValue, false)) {
|
|
316
310
|
const cssProperty = key.startsWith('--') ? key : (0, _object.kebabCase)(key);
|
|
317
|
-
declarations.push(`${cssProperty}: ${compileStyleValue((0,
|
|
311
|
+
declarations.push(`${cssProperty}: ${compileStyleValue((0, _object.getValueFromObjectPath)(blockStyles, pathToValue))}`);
|
|
318
312
|
}
|
|
319
313
|
|
|
320
314
|
return declarations;
|
|
@@ -333,7 +327,7 @@ function getStylesDeclarations(blockStyles = {}, selector = '', useRootPaddingAl
|
|
|
333
327
|
|
|
334
328
|
if (typeof ruleValue !== 'string' && ruleValue?.ref) {
|
|
335
329
|
const refPath = ruleValue.ref.split('.');
|
|
336
|
-
ruleValue = (0,
|
|
330
|
+
ruleValue = (0, _object.getValueFromObjectPath)(tree, refPath); // Presence of another ref indicates a reference to another dynamic value.
|
|
337
331
|
// Pointing to another dynamic value is not supported.
|
|
338
332
|
|
|
339
333
|
if (!ruleValue || ruleValue?.ref) {
|
|
@@ -565,15 +559,15 @@ const getNodesWithSettings = (tree, blockSelectors) => {
|
|
|
565
559
|
}
|
|
566
560
|
|
|
567
561
|
const pickPresets = treeToPickFrom => {
|
|
568
|
-
|
|
562
|
+
let presets = {};
|
|
569
563
|
|
|
570
564
|
_utils.PRESET_METADATA.forEach(({
|
|
571
565
|
path
|
|
572
566
|
}) => {
|
|
573
|
-
const value = (0,
|
|
567
|
+
const value = (0, _object.getValueFromObjectPath)(treeToPickFrom, path, false);
|
|
574
568
|
|
|
575
569
|
if (value !== false) {
|
|
576
|
-
(0,
|
|
570
|
+
presets = (0, _object.setImmutably)(presets, path, value);
|
|
577
571
|
}
|
|
578
572
|
});
|
|
579
573
|
|