@wordpress/edit-site 5.4.0 → 5.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/build/components/add-new-template/add-custom-template-modal.js +12 -3
- package/build/components/add-new-template/add-custom-template-modal.js.map +1 -1
- package/build/components/add-new-template/new-template-part.js +8 -7
- package/build/components/add-new-template/new-template-part.js.map +1 -1
- package/build/components/add-new-template/new-template.js +19 -16
- package/build/components/add-new-template/new-template.js.map +1 -1
- package/build/components/app/index.js +4 -2
- package/build/components/app/index.js.map +1 -1
- package/build/components/block-editor/editor-canvas.js +2 -1
- package/build/components/block-editor/editor-canvas.js.map +1 -1
- package/build/components/editor/index.js +5 -7
- package/build/components/editor/index.js.map +1 -1
- package/build/components/global-styles/border-panel.js +20 -159
- package/build/components/global-styles/border-panel.js.map +1 -1
- package/build/components/global-styles/context-menu.js +13 -11
- package/build/components/global-styles/context-menu.js.map +1 -1
- package/build/components/global-styles/dimensions-panel.js +41 -487
- package/build/components/global-styles/dimensions-panel.js.map +1 -1
- package/build/components/global-styles/duotone-panel.js +78 -0
- package/build/components/global-styles/duotone-panel.js.map +1 -0
- package/build/components/global-styles/filter-utils.js +17 -0
- package/build/components/global-styles/filter-utils.js.map +1 -0
- package/build/components/global-styles/hooks.js +11 -26
- package/build/components/global-styles/hooks.js.map +1 -1
- package/build/components/global-styles/preview.js +9 -5
- package/build/components/global-styles/preview.js.map +1 -1
- package/build/components/global-styles/screen-block-list.js +6 -11
- package/build/components/global-styles/screen-block-list.js.map +1 -1
- package/build/components/global-styles/screen-border.js +14 -6
- package/build/components/global-styles/screen-border.js.map +1 -1
- package/build/components/global-styles/screen-filters.js +46 -0
- package/build/components/global-styles/screen-filters.js.map +1 -0
- package/build/components/global-styles/screen-layout.js +13 -5
- package/build/components/global-styles/screen-layout.js.map +1 -1
- package/build/components/global-styles/screen-root.js +2 -1
- package/build/components/global-styles/screen-root.js.map +1 -1
- package/build/components/global-styles/screen-style-variations.js +2 -1
- package/build/components/global-styles/screen-style-variations.js.map +1 -1
- package/build/components/global-styles/screen-variations.js +1 -1
- package/build/components/global-styles/screen-variations.js.map +1 -1
- package/build/components/global-styles/shadow-panel.js +6 -4
- package/build/components/global-styles/shadow-panel.js.map +1 -1
- package/build/components/global-styles/typography-panel.js +2 -5
- package/build/components/global-styles/typography-panel.js.map +1 -1
- package/build/components/global-styles/ui.js +7 -1
- package/build/components/global-styles/ui.js.map +1 -1
- package/build/components/keyboard-shortcut-help-modal/config.js +12 -0
- package/build/components/keyboard-shortcut-help-modal/config.js.map +1 -1
- package/build/components/keyboard-shortcuts/edit-mode.js +124 -0
- package/build/components/keyboard-shortcuts/edit-mode.js.map +1 -0
- package/build/components/keyboard-shortcuts/global.js +48 -0
- package/build/components/keyboard-shortcuts/global.js.map +1 -0
- package/build/components/keyboard-shortcuts/index.js +67 -0
- package/build/components/keyboard-shortcuts/index.js.map +1 -1
- package/build/components/keyboard-shortcuts/register.js +153 -0
- package/build/components/keyboard-shortcuts/register.js.map +1 -0
- package/build/components/layout/index.js +12 -1
- package/build/components/layout/index.js.map +1 -1
- package/build/components/list/added-by.js +127 -136
- package/build/components/list/added-by.js.map +1 -1
- package/build/components/list/index.js +2 -1
- package/build/components/list/index.js.map +1 -1
- package/build/components/list/table.js +9 -7
- package/build/components/list/table.js.map +1 -1
- package/build/components/routes/link.js +4 -1
- package/build/components/routes/link.js.map +1 -1
- package/build/components/save-hub/index.js +82 -0
- package/build/components/save-hub/index.js.map +1 -0
- package/build/components/save-panel/index.js +11 -1
- package/build/components/save-panel/index.js.map +1 -1
- package/build/components/sidebar/index.js +27 -17
- package/build/components/sidebar/index.js.map +1 -1
- package/build/components/sidebar-button/index.js +30 -0
- package/build/components/sidebar-button/index.js.map +1 -0
- package/build/components/sidebar-edit-mode/global-styles-sidebar.js +8 -2
- package/build/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
- package/build/components/sidebar-navigation-screen/index.js +14 -11
- package/build/components/sidebar-navigation-screen/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-main/index.js +16 -16
- package/build/components/sidebar-navigation-screen-main/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-item/index.js +22 -26
- package/build/components/sidebar-navigation-screen-navigation-item/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menus/index.js +97 -14
- package/build/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-navigation-menus/loader.js +19 -0
- package/build/components/sidebar-navigation-screen-navigation-menus/loader.js.map +1 -0
- package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +77 -0
- package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js.map +1 -0
- package/build/components/sidebar-navigation-screen-template/index.js +66 -27
- package/build/components/sidebar-navigation-screen-template/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-templates/index.js +30 -17
- package/build/components/sidebar-navigation-screen-templates/index.js.map +1 -1
- package/build/components/sidebar-navigation-screen-templates-browse/index.js +14 -10
- package/build/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
- package/build/components/site-hub/index.js +3 -1
- package/build/components/site-hub/index.js.map +1 -1
- package/build/components/style-book/index.js +151 -21
- package/build/components/style-book/index.js.map +1 -1
- package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +36 -34
- package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
- package/build/components/sync-state-with-url/use-sync-canvas-mode-with-url.js +24 -8
- package/build/components/sync-state-with-url/use-sync-canvas-mode-with-url.js.map +1 -1
- package/build/components/sync-state-with-url/use-sync-path-with-url.js +67 -18
- package/build/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
- package/build/components/template-details/index.js +5 -10
- package/build/components/template-details/index.js.map +1 -1
- package/build/components/template-part-converter/convert-to-regular.js +8 -12
- package/build/components/template-part-converter/convert-to-regular.js.map +1 -1
- package/build/components/template-part-converter/convert-to-template-part.js +2 -2
- package/build/components/template-part-converter/convert-to-template-part.js.map +1 -1
- package/build/components/template-part-converter/index.js +19 -14
- package/build/components/template-part-converter/index.js.map +1 -1
- package/build/components/use-edited-entity-record/index.js +6 -6
- package/build/components/use-edited-entity-record/index.js.map +1 -1
- package/build/index.js +13 -22
- package/build/index.js.map +1 -1
- package/build/store/actions.js +2 -2
- package/build/store/actions.js.map +1 -1
- package/build/utils/get-is-list-page.js +1 -1
- package/build/utils/get-is-list-page.js.map +1 -1
- package/build/utils/history.js +8 -2
- package/build/utils/history.js.map +1 -1
- package/build-module/components/add-new-template/add-custom-template-modal.js +13 -4
- package/build-module/components/add-new-template/add-custom-template-modal.js.map +1 -1
- package/build-module/components/add-new-template/new-template-part.js +8 -7
- package/build-module/components/add-new-template/new-template-part.js.map +1 -1
- package/build-module/components/add-new-template/new-template.js +21 -17
- package/build-module/components/add-new-template/new-template.js.map +1 -1
- package/build-module/components/app/index.js +3 -2
- package/build-module/components/app/index.js.map +1 -1
- package/build-module/components/block-editor/editor-canvas.js +2 -1
- package/build-module/components/block-editor/editor-canvas.js.map +1 -1
- package/build-module/components/editor/index.js +5 -6
- package/build-module/components/editor/index.js.map +1 -1
- package/build-module/components/global-styles/border-panel.js +21 -157
- package/build-module/components/global-styles/border-panel.js.map +1 -1
- package/build-module/components/global-styles/context-menu.js +14 -11
- package/build-module/components/global-styles/context-menu.js.map +1 -1
- package/build-module/components/global-styles/dimensions-panel.js +43 -480
- package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
- package/build-module/components/global-styles/duotone-panel.js +67 -0
- package/build-module/components/global-styles/duotone-panel.js.map +1 -0
- package/build-module/components/global-styles/filter-utils.js +9 -0
- package/build-module/components/global-styles/filter-utils.js.map +1 -0
- package/build-module/components/global-styles/hooks.js +11 -26
- package/build-module/components/global-styles/hooks.js.map +1 -1
- package/build-module/components/global-styles/preview.js +10 -6
- package/build-module/components/global-styles/preview.js.map +1 -1
- package/build-module/components/global-styles/screen-block-list.js +6 -8
- package/build-module/components/global-styles/screen-block-list.js.map +1 -1
- package/build-module/components/global-styles/screen-border.js +12 -3
- package/build-module/components/global-styles/screen-border.js.map +1 -1
- package/build-module/components/global-styles/screen-filters.js +33 -0
- package/build-module/components/global-styles/screen-filters.js.map +1 -0
- package/build-module/components/global-styles/screen-layout.js +11 -2
- package/build-module/components/global-styles/screen-layout.js.map +1 -1
- package/build-module/components/global-styles/screen-root.js +2 -1
- package/build-module/components/global-styles/screen-root.js.map +1 -1
- package/build-module/components/global-styles/screen-style-variations.js +2 -1
- package/build-module/components/global-styles/screen-style-variations.js.map +1 -1
- package/build-module/components/global-styles/screen-variations.js +1 -1
- package/build-module/components/global-styles/screen-variations.js.map +1 -1
- package/build-module/components/global-styles/shadow-panel.js +6 -4
- package/build-module/components/global-styles/shadow-panel.js.map +1 -1
- package/build-module/components/global-styles/typography-panel.js +2 -5
- package/build-module/components/global-styles/typography-panel.js.map +1 -1
- package/build-module/components/global-styles/ui.js +6 -1
- package/build-module/components/global-styles/ui.js.map +1 -1
- package/build-module/components/keyboard-shortcut-help-modal/config.js +12 -0
- package/build-module/components/keyboard-shortcut-help-modal/config.js.map +1 -1
- package/build-module/components/keyboard-shortcuts/edit-mode.js +108 -0
- package/build-module/components/keyboard-shortcuts/edit-mode.js.map +1 -0
- package/build-module/components/keyboard-shortcuts/global.js +37 -0
- package/build-module/components/keyboard-shortcuts/global.js.map +1 -0
- package/build-module/components/keyboard-shortcuts/index.js +65 -0
- package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
- package/build-module/components/keyboard-shortcuts/register.js +141 -0
- package/build-module/components/keyboard-shortcuts/register.js.map +1 -0
- package/build-module/components/layout/index.js +10 -1
- package/build-module/components/layout/index.js.map +1 -1
- package/build-module/components/list/added-by.js +126 -138
- package/build-module/components/list/added-by.js.map +1 -1
- package/build-module/components/list/index.js +2 -1
- package/build-module/components/list/index.js.map +1 -1
- package/build-module/components/list/table.js +9 -7
- package/build-module/components/list/table.js.map +1 -1
- package/build-module/components/routes/link.js +5 -2
- package/build-module/components/routes/link.js.map +1 -1
- package/build-module/components/save-hub/index.js +68 -0
- package/build-module/components/save-hub/index.js.map +1 -0
- package/build-module/components/save-panel/index.js +8 -1
- package/build-module/components/save-panel/index.js.map +1 -1
- package/build-module/components/sidebar/index.js +24 -19
- package/build-module/components/sidebar/index.js.map +1 -1
- package/build-module/components/sidebar-button/index.js +18 -0
- package/build-module/components/sidebar-button/index.js.map +1 -0
- package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js +8 -2
- package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen/index.js +12 -12
- package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-main/index.js +16 -16
- package/build-module/components/sidebar-navigation-screen-main/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-item/index.js +24 -30
- package/build-module/components/sidebar-navigation-screen-navigation-item/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js +91 -14
- package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-navigation-menus/loader.js +11 -0
- package/build-module/components/sidebar-navigation-screen-navigation-menus/loader.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +66 -0
- package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js.map +1 -0
- package/build-module/components/sidebar-navigation-screen-template/index.js +67 -30
- package/build-module/components/sidebar-navigation-screen-template/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-templates/index.js +28 -18
- package/build-module/components/sidebar-navigation-screen-templates/index.js.map +1 -1
- package/build-module/components/sidebar-navigation-screen-templates-browse/index.js +13 -10
- package/build-module/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
- package/build-module/components/site-hub/index.js +3 -1
- package/build-module/components/site-hub/index.js.map +1 -1
- package/build-module/components/style-book/index.js +152 -25
- package/build-module/components/style-book/index.js.map +1 -1
- package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +36 -34
- package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
- package/build-module/components/sync-state-with-url/use-sync-canvas-mode-with-url.js +24 -8
- package/build-module/components/sync-state-with-url/use-sync-canvas-mode-with-url.js.map +1 -1
- package/build-module/components/sync-state-with-url/use-sync-path-with-url.js +65 -18
- package/build-module/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
- package/build-module/components/template-details/index.js +5 -9
- package/build-module/components/template-details/index.js.map +1 -1
- package/build-module/components/template-part-converter/convert-to-regular.js +9 -13
- package/build-module/components/template-part-converter/convert-to-regular.js.map +1 -1
- package/build-module/components/template-part-converter/convert-to-template-part.js +3 -3
- package/build-module/components/template-part-converter/convert-to-template-part.js.map +1 -1
- package/build-module/components/template-part-converter/index.js +20 -15
- package/build-module/components/template-part-converter/index.js.map +1 -1
- package/build-module/components/use-edited-entity-record/index.js +6 -6
- package/build-module/components/use-edited-entity-record/index.js.map +1 -1
- package/build-module/index.js +16 -23
- package/build-module/index.js.map +1 -1
- package/build-module/store/actions.js +2 -2
- package/build-module/store/actions.js.map +1 -1
- package/build-module/utils/get-is-list-page.js +1 -1
- package/build-module/utils/get-is-list-page.js.map +1 -1
- package/build-module/utils/history.js +9 -3
- package/build-module/utils/history.js.map +1 -1
- package/build-style/style-rtl.css +203 -143
- package/build-style/style.css +203 -143
- package/package.json +31 -31
- package/src/components/add-new-template/add-custom-template-modal.js +14 -10
- package/src/components/add-new-template/new-template-part.js +7 -9
- package/src/components/add-new-template/new-template.js +60 -38
- package/src/components/add-new-template/style.scss +12 -6
- package/src/components/app/index.js +9 -6
- package/src/components/block-editor/editor-canvas.js +2 -1
- package/src/components/block-editor/style.scss +1 -1
- package/src/components/editor/index.js +62 -65
- package/src/components/editor/style.scss +0 -6
- package/src/components/global-styles/border-panel.js +24 -199
- package/src/components/global-styles/context-menu.js +18 -12
- package/src/components/global-styles/dimensions-panel.js +43 -577
- package/src/components/global-styles/duotone-panel.js +82 -0
- package/src/components/global-styles/filter-utils.js +9 -0
- package/src/components/global-styles/hooks.js +12 -36
- package/src/components/global-styles/preview.js +155 -140
- package/src/components/global-styles/screen-block-list.js +6 -11
- package/src/components/global-styles/screen-border.js +10 -3
- package/src/components/global-styles/screen-filters.js +27 -0
- package/src/components/global-styles/screen-layout.js +9 -2
- package/src/components/global-styles/screen-root.js +1 -1
- package/src/components/global-styles/screen-style-variations.js +5 -1
- package/src/components/global-styles/screen-variations.js +0 -1
- package/src/components/global-styles/shadow-panel.js +4 -3
- package/src/components/global-styles/style.scss +10 -0
- package/src/components/global-styles/typography-panel.js +5 -7
- package/src/components/global-styles/ui.js +6 -1
- package/src/components/keyboard-shortcut-help-modal/config.js +10 -0
- package/src/components/keyboard-shortcuts/edit-mode.js +116 -0
- package/src/components/keyboard-shortcuts/global.js +35 -0
- package/src/components/keyboard-shortcuts/index.js +70 -0
- package/src/components/keyboard-shortcuts/register.js +157 -0
- package/src/components/layout/index.js +19 -0
- package/src/components/layout/style.scss +9 -4
- package/src/components/list/added-by.js +152 -155
- package/src/components/list/index.js +3 -1
- package/src/components/list/style.scss +5 -13
- package/src/components/list/table.js +11 -9
- package/src/components/routes/link.js +9 -2
- package/src/components/save-hub/index.js +78 -0
- package/src/components/save-hub/style.scss +15 -0
- package/src/components/save-panel/index.js +8 -1
- package/src/components/sidebar/index.js +33 -16
- package/src/components/sidebar/style.scss +4 -3
- package/src/components/sidebar-button/index.js +21 -0
- package/src/components/sidebar-button/style.scss +24 -0
- package/src/components/sidebar-edit-mode/global-styles-sidebar.js +3 -7
- package/src/components/sidebar-edit-mode/style.scss +16 -0
- package/src/components/sidebar-navigation-item/style.scss +1 -23
- package/src/components/sidebar-navigation-screen/index.js +37 -38
- package/src/components/sidebar-navigation-screen/style.scss +16 -9
- package/src/components/sidebar-navigation-screen-main/index.js +24 -11
- package/src/components/sidebar-navigation-screen-navigation-item/index.js +39 -26
- package/src/components/sidebar-navigation-screen-navigation-menus/index.js +99 -12
- package/src/components/sidebar-navigation-screen-navigation-menus/loader.js +9 -0
- package/src/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +78 -0
- package/src/components/sidebar-navigation-screen-navigation-menus/style.scss +108 -1
- package/src/components/sidebar-navigation-screen-template/index.js +89 -30
- package/src/components/sidebar-navigation-screen-template/style.scss +25 -0
- package/src/components/sidebar-navigation-screen-templates/index.js +29 -14
- package/src/components/sidebar-navigation-screen-templates/style.scss +0 -5
- package/src/components/sidebar-navigation-screen-templates-browse/index.js +12 -6
- package/src/components/site-hub/index.js +5 -1
- package/src/components/site-hub/style.scss +5 -1
- package/src/components/style-book/index.js +234 -55
- package/src/components/style-book/style.scss +1 -45
- package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +28 -23
- package/src/components/sync-state-with-url/use-sync-canvas-mode-with-url.js +38 -8
- package/src/components/sync-state-with-url/use-sync-path-with-url.js +77 -17
- package/src/components/template-details/index.js +4 -8
- package/src/components/template-part-converter/convert-to-regular.js +10 -17
- package/src/components/template-part-converter/convert-to-template-part.js +9 -16
- package/src/components/template-part-converter/index.js +28 -12
- package/src/components/use-edited-entity-record/index.js +26 -18
- package/src/index.js +11 -22
- package/src/store/actions.js +2 -2
- package/src/store/test/actions.js +0 -2
- package/src/style.scss +3 -1
- package/src/utils/get-is-list-page.js +1 -1
- package/src/utils/history.js +13 -9
- package/build/components/navigation-inspector/index.js +0 -161
- package/build/components/navigation-inspector/index.js.map +0 -1
- package/build/components/navigation-inspector/navigation-menu.js +0 -62
- package/build/components/navigation-inspector/navigation-menu.js.map +0 -1
- package/build-module/components/navigation-inspector/index.js +0 -146
- package/build-module/components/navigation-inspector/index.js.map +0 -1
- package/build-module/components/navigation-inspector/navigation-menu.js +0 -52
- package/build-module/components/navigation-inspector/navigation-menu.js.map +0 -1
- package/src/components/navigation-inspector/index.js +0 -191
- package/src/components/navigation-inspector/navigation-menu.js +0 -66
- package/src/components/navigation-inspector/style.scss +0 -46
|
@@ -1,33 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
3
|
Object.defineProperty(exports, "__esModule", {
|
|
6
4
|
value: true
|
|
7
5
|
});
|
|
8
6
|
exports.default = DimensionsPanel;
|
|
9
|
-
exports.useHasDimensionsPanel = useHasDimensionsPanel;
|
|
10
7
|
|
|
11
8
|
var _element = require("@wordpress/element");
|
|
12
9
|
|
|
13
|
-
var _classnames = _interopRequireDefault(require("classnames"));
|
|
14
|
-
|
|
15
|
-
var _i18n = require("@wordpress/i18n");
|
|
16
|
-
|
|
17
|
-
var _components = require("@wordpress/components");
|
|
18
|
-
|
|
19
10
|
var _blockEditor = require("@wordpress/block-editor");
|
|
20
11
|
|
|
21
|
-
var _icons = require("@wordpress/icons");
|
|
22
|
-
|
|
23
|
-
var _hooks = require("./hooks");
|
|
24
|
-
|
|
25
12
|
var _privateApis = require("../../private-apis");
|
|
26
13
|
|
|
27
|
-
/**
|
|
28
|
-
* External dependencies
|
|
29
|
-
*/
|
|
30
|
-
|
|
31
14
|
/**
|
|
32
15
|
* WordPress dependencies
|
|
33
16
|
*/
|
|
@@ -36,491 +19,62 @@ var _privateApis = require("../../private-apis");
|
|
|
36
19
|
* Internal dependencies
|
|
37
20
|
*/
|
|
38
21
|
const {
|
|
22
|
+
useGlobalStyle,
|
|
39
23
|
useGlobalSetting,
|
|
40
|
-
|
|
24
|
+
useSettingsForBlockElement,
|
|
25
|
+
DimensionsPanel: StylesDimensionsPanel
|
|
41
26
|
} = (0, _privateApis.unlock)(_blockEditor.privateApis);
|
|
42
|
-
const AXIAL_SIDES = ['horizontal', 'vertical'];
|
|
43
|
-
|
|
44
|
-
function useHasDimensionsPanel(name) {
|
|
45
|
-
const hasContentSize = useHasContentSize(name);
|
|
46
|
-
const hasWideSize = useHasWideSize(name);
|
|
47
|
-
const hasPadding = useHasPadding(name);
|
|
48
|
-
const hasMargin = useHasMargin(name);
|
|
49
|
-
const hasGap = useHasGap(name);
|
|
50
|
-
const hasMinHeight = useHasMinHeight(name);
|
|
51
|
-
return hasContentSize || hasWideSize || hasPadding || hasMargin || hasGap || hasMinHeight;
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
function useHasContentSize(name) {
|
|
55
|
-
const supports = (0, _hooks.useSupportedStyles)(name);
|
|
56
|
-
const [settings] = useGlobalSetting('layout.contentSize', name);
|
|
57
|
-
return settings && supports.includes('contentSize');
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
function useHasWideSize(name) {
|
|
61
|
-
const supports = (0, _hooks.useSupportedStyles)(name);
|
|
62
|
-
const [settings] = useGlobalSetting('layout.wideSize', name);
|
|
63
|
-
return settings && supports.includes('wideSize');
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
function useHasPadding(name) {
|
|
67
|
-
const supports = (0, _hooks.useSupportedStyles)(name);
|
|
68
|
-
const [settings] = useGlobalSetting('spacing.padding', name);
|
|
69
|
-
return settings && supports.includes('padding');
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
function useHasMargin(name) {
|
|
73
|
-
const supports = (0, _hooks.useSupportedStyles)(name);
|
|
74
|
-
const [settings] = useGlobalSetting('spacing.margin', name);
|
|
75
|
-
return settings && supports.includes('margin');
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
function useHasGap(name) {
|
|
79
|
-
const supports = (0, _hooks.useSupportedStyles)(name);
|
|
80
|
-
const [settings] = useGlobalSetting('spacing.blockGap', name);
|
|
81
|
-
return settings && supports.includes('blockGap');
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
function useHasMinHeight(name) {
|
|
85
|
-
const supports = (0, _hooks.useSupportedStyles)(name);
|
|
86
|
-
const [settings] = useGlobalSetting('dimensions.minHeight', name);
|
|
87
|
-
return settings && supports.includes('minHeight');
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
function useHasSpacingPresets() {
|
|
91
|
-
var _ref, _ref2;
|
|
92
|
-
|
|
93
|
-
const [settings] = useGlobalSetting('spacing.spacingSizes');
|
|
94
|
-
const {
|
|
95
|
-
custom,
|
|
96
|
-
theme,
|
|
97
|
-
default: defaultPresets
|
|
98
|
-
} = settings || {};
|
|
99
|
-
const presets = (_ref = (_ref2 = custom !== null && custom !== void 0 ? custom : theme) !== null && _ref2 !== void 0 ? _ref2 : defaultPresets) !== null && _ref !== void 0 ? _ref : [];
|
|
100
|
-
return settings && presets.length > 0;
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
function filterValuesBySides(values, sides) {
|
|
104
|
-
if (!sides) {
|
|
105
|
-
// If no custom side configuration all sides are opted into by default.
|
|
106
|
-
return values;
|
|
107
|
-
} // Only include sides opted into within filtered values.
|
|
108
27
|
|
|
28
|
+
function DimensionsPanel(_ref) {
|
|
29
|
+
let {
|
|
30
|
+
name,
|
|
31
|
+
variation = ''
|
|
32
|
+
} = _ref;
|
|
33
|
+
let prefixParts = [];
|
|
109
34
|
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
filteredValues.top = values.top;
|
|
114
|
-
filteredValues.bottom = values.bottom;
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
if (side === 'horizontal') {
|
|
118
|
-
filteredValues.left = values.left;
|
|
119
|
-
filteredValues.right = values.right;
|
|
120
|
-
}
|
|
35
|
+
if (variation) {
|
|
36
|
+
prefixParts = ['variations', variation].concat(prefixParts);
|
|
37
|
+
}
|
|
121
38
|
|
|
122
|
-
|
|
39
|
+
const prefix = prefixParts.join('.');
|
|
40
|
+
const [style] = useGlobalStyle(prefix, name, 'user', false);
|
|
41
|
+
const [inheritedStyle, setStyle] = useGlobalStyle(prefix, name, 'all', {
|
|
42
|
+
shouldDecodeEncode: false
|
|
123
43
|
});
|
|
124
|
-
|
|
125
|
-
|
|
44
|
+
const [rawSettings, setSettings] = useGlobalSetting('', name);
|
|
45
|
+
const settings = useSettingsForBlockElement(rawSettings, name); // These intermediary objects are needed because the "layout" property is stored
|
|
46
|
+
// in settings rather than styles.
|
|
126
47
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
// Convert to value for individual sides for BoxControl.
|
|
131
|
-
return {
|
|
132
|
-
top: value,
|
|
133
|
-
right: value,
|
|
134
|
-
bottom: value,
|
|
135
|
-
left: value
|
|
48
|
+
const inheritedStyleWithLayout = (0, _element.useMemo)(() => {
|
|
49
|
+
return { ...inheritedStyle,
|
|
50
|
+
layout: settings.layout
|
|
136
51
|
};
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
function splitGapValue(value) {
|
|
143
|
-
// Check for shorthand value (a string value).
|
|
144
|
-
if (value && typeof value === 'string') {
|
|
145
|
-
// If the value is a string, treat it as a single side (top) for the spacing controls.
|
|
146
|
-
return {
|
|
147
|
-
top: value
|
|
52
|
+
}, [inheritedStyle, settings.layout]);
|
|
53
|
+
const styleWithLayout = (0, _element.useMemo)(() => {
|
|
54
|
+
return { ...style,
|
|
55
|
+
layout: settings.layout
|
|
148
56
|
};
|
|
149
|
-
}
|
|
57
|
+
}, [style, settings.layout]);
|
|
150
58
|
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
right: value === null || value === void 0 ? void 0 : value.left,
|
|
154
|
-
bottom: value === null || value === void 0 ? void 0 : value.top
|
|
59
|
+
const onChange = newStyle => {
|
|
60
|
+
const updatedStyle = { ...newStyle
|
|
155
61
|
};
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
return value;
|
|
159
|
-
} // Props for managing `layout.contentSize`.
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
function useContentSizeProps(name) {
|
|
163
|
-
const [contentSizeValue, setContentSizeValue] = useGlobalSetting('layout.contentSize', name);
|
|
164
|
-
const [userSetContentSizeValue] = useGlobalSetting('layout.contentSize', name, 'user');
|
|
165
|
-
|
|
166
|
-
const hasUserSetContentSizeValue = () => !!userSetContentSizeValue;
|
|
167
|
-
|
|
168
|
-
const resetContentSizeValue = () => setContentSizeValue('');
|
|
169
|
-
|
|
170
|
-
return {
|
|
171
|
-
contentSizeValue,
|
|
172
|
-
setContentSizeValue,
|
|
173
|
-
hasUserSetContentSizeValue,
|
|
174
|
-
resetContentSizeValue
|
|
175
|
-
};
|
|
176
|
-
} // Props for managing `layout.wideSize`.
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
function useWideSizeProps(name) {
|
|
180
|
-
const [wideSizeValue, setWideSizeValue] = useGlobalSetting('layout.wideSize', name);
|
|
181
|
-
const [userSetWideSizeValue] = useGlobalSetting('layout.wideSize', name, 'user');
|
|
62
|
+
delete updatedStyle.layout;
|
|
63
|
+
setStyle(updatedStyle);
|
|
182
64
|
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
return {
|
|
188
|
-
wideSizeValue,
|
|
189
|
-
setWideSizeValue,
|
|
190
|
-
hasUserSetWideSizeValue,
|
|
191
|
-
resetWideSizeValue
|
|
192
|
-
};
|
|
193
|
-
} // Props for managing `spacing.padding`.
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
function usePaddingProps(name) {
|
|
197
|
-
let variation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
198
|
-
const prefix = variation ? `variations.${variation}.` : '';
|
|
199
|
-
const [rawPadding, setRawPadding] = useGlobalStyle(prefix + 'spacing.padding', name);
|
|
200
|
-
const paddingValues = splitStyleValue(rawPadding);
|
|
201
|
-
const paddingSides = (0, _blockEditor.__experimentalUseCustomSides)(name, 'padding');
|
|
202
|
-
const isAxialPadding = paddingSides && paddingSides.some(side => AXIAL_SIDES.includes(side));
|
|
203
|
-
|
|
204
|
-
const setPaddingValues = newPaddingValues => {
|
|
205
|
-
const padding = filterValuesBySides(newPaddingValues, paddingSides);
|
|
206
|
-
setRawPadding(padding);
|
|
207
|
-
};
|
|
208
|
-
|
|
209
|
-
const resetPaddingValue = () => setPaddingValues({});
|
|
210
|
-
|
|
211
|
-
const [userSetPaddingValue] = useGlobalStyle(prefix + 'spacing.padding', name, 'user'); // The `hasPaddingValue` check does not need a parsed value, as `userSetPaddingValue` will be `undefined` if not set.
|
|
212
|
-
|
|
213
|
-
const hasPaddingValue = () => !!userSetPaddingValue;
|
|
214
|
-
|
|
215
|
-
return {
|
|
216
|
-
paddingValues,
|
|
217
|
-
paddingSides,
|
|
218
|
-
isAxialPadding,
|
|
219
|
-
setPaddingValues,
|
|
220
|
-
resetPaddingValue,
|
|
221
|
-
hasPaddingValue
|
|
222
|
-
};
|
|
223
|
-
} // Props for managing `spacing.margin`.
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
function useMarginProps(name) {
|
|
227
|
-
let variation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
228
|
-
const prefix = variation ? `variations.${variation}.` : '';
|
|
229
|
-
const [rawMargin, setRawMargin] = useGlobalStyle(prefix + 'spacing.margin', name);
|
|
230
|
-
const marginValues = splitStyleValue(rawMargin);
|
|
231
|
-
const marginSides = (0, _blockEditor.__experimentalUseCustomSides)(name, 'margin');
|
|
232
|
-
const isAxialMargin = marginSides && marginSides.some(side => AXIAL_SIDES.includes(side));
|
|
233
|
-
|
|
234
|
-
const setMarginValues = newMarginValues => {
|
|
235
|
-
const margin = filterValuesBySides(newMarginValues, marginSides);
|
|
236
|
-
setRawMargin(margin);
|
|
237
|
-
};
|
|
238
|
-
|
|
239
|
-
const resetMarginValue = () => setMarginValues({});
|
|
240
|
-
|
|
241
|
-
const hasMarginValue = () => !!marginValues && Object.keys(marginValues).length;
|
|
242
|
-
|
|
243
|
-
return {
|
|
244
|
-
marginValues,
|
|
245
|
-
marginSides,
|
|
246
|
-
isAxialMargin,
|
|
247
|
-
setMarginValues,
|
|
248
|
-
resetMarginValue,
|
|
249
|
-
hasMarginValue
|
|
250
|
-
};
|
|
251
|
-
} // Props for managing `spacing.blockGap`.
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
function useBlockGapProps(name) {
|
|
255
|
-
let variation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
256
|
-
const prefix = variation ? `variations.${variation}.` : '';
|
|
257
|
-
const [gapValue, setGapValue] = useGlobalStyle(prefix + 'spacing.blockGap', name);
|
|
258
|
-
const gapValues = splitGapValue(gapValue);
|
|
259
|
-
const gapSides = (0, _blockEditor.__experimentalUseCustomSides)(name, 'blockGap');
|
|
260
|
-
const isAxialGap = gapSides && gapSides.some(side => AXIAL_SIDES.includes(side));
|
|
261
|
-
|
|
262
|
-
const resetGapValue = () => setGapValue(undefined);
|
|
263
|
-
|
|
264
|
-
const [userSetGapValue] = useGlobalStyle(prefix + 'spacing.blockGap', name, 'user');
|
|
265
|
-
|
|
266
|
-
const hasGapValue = () => !!userSetGapValue;
|
|
267
|
-
|
|
268
|
-
const setGapValues = nextBoxGapValue => {
|
|
269
|
-
if (!nextBoxGapValue) {
|
|
270
|
-
setGapValue(null);
|
|
271
|
-
} // If axial gap is not enabled, treat the 'top' value as the shorthand gap value.
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
if (!isAxialGap && nextBoxGapValue !== null && nextBoxGapValue !== void 0 && nextBoxGapValue.hasOwnProperty('top')) {
|
|
275
|
-
setGapValue(nextBoxGapValue.top);
|
|
276
|
-
} else {
|
|
277
|
-
setGapValue({
|
|
278
|
-
top: nextBoxGapValue === null || nextBoxGapValue === void 0 ? void 0 : nextBoxGapValue.top,
|
|
279
|
-
left: nextBoxGapValue === null || nextBoxGapValue === void 0 ? void 0 : nextBoxGapValue.left
|
|
65
|
+
if (newStyle.layout !== settings.layout) {
|
|
66
|
+
setSettings({ ...rawSettings,
|
|
67
|
+
layout: newStyle.layout
|
|
280
68
|
});
|
|
281
69
|
}
|
|
282
70
|
};
|
|
283
71
|
|
|
284
|
-
return {
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
resetGapValue,
|
|
292
|
-
hasGapValue
|
|
293
|
-
};
|
|
294
|
-
} // Props for managing `dimensions.minHeight`.
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
function useMinHeightProps(name) {
|
|
298
|
-
let variation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
|
|
299
|
-
const prefix = variation ? `variations.${variation}.` : '';
|
|
300
|
-
const [minHeightValue, setMinHeightValue] = useGlobalStyle(prefix + 'dimensions.minHeight', name);
|
|
301
|
-
|
|
302
|
-
const resetMinHeightValue = () => setMinHeightValue(undefined);
|
|
303
|
-
|
|
304
|
-
const hasMinHeightValue = () => !!minHeightValue;
|
|
305
|
-
|
|
306
|
-
return {
|
|
307
|
-
minHeightValue,
|
|
308
|
-
setMinHeightValue,
|
|
309
|
-
resetMinHeightValue,
|
|
310
|
-
hasMinHeightValue
|
|
311
|
-
};
|
|
312
|
-
}
|
|
313
|
-
|
|
314
|
-
function DimensionsPanel(_ref3) {
|
|
315
|
-
let {
|
|
316
|
-
name,
|
|
317
|
-
variation = ''
|
|
318
|
-
} = _ref3;
|
|
319
|
-
const showContentSizeControl = useHasContentSize(name);
|
|
320
|
-
const showWideSizeControl = useHasWideSize(name);
|
|
321
|
-
const showPaddingControl = useHasPadding(name);
|
|
322
|
-
const showMarginControl = useHasMargin(name);
|
|
323
|
-
const showGapControl = useHasGap(name);
|
|
324
|
-
const showMinHeightControl = useHasMinHeight(name);
|
|
325
|
-
const showSpacingPresetsControl = useHasSpacingPresets();
|
|
326
|
-
const units = (0, _components.__experimentalUseCustomUnits)({
|
|
327
|
-
availableUnits: useGlobalSetting('spacing.units', name)[0] || ['%', 'px', 'em', 'rem', 'vw']
|
|
328
|
-
}); // Props for managing `layout.contentSize`.
|
|
329
|
-
|
|
330
|
-
const {
|
|
331
|
-
contentSizeValue,
|
|
332
|
-
setContentSizeValue,
|
|
333
|
-
hasUserSetContentSizeValue,
|
|
334
|
-
resetContentSizeValue
|
|
335
|
-
} = useContentSizeProps(name); // Props for managing `layout.wideSize`.
|
|
336
|
-
|
|
337
|
-
const {
|
|
338
|
-
wideSizeValue,
|
|
339
|
-
setWideSizeValue,
|
|
340
|
-
hasUserSetWideSizeValue,
|
|
341
|
-
resetWideSizeValue
|
|
342
|
-
} = useWideSizeProps(name); // Props for managing `spacing.padding`.
|
|
343
|
-
|
|
344
|
-
const {
|
|
345
|
-
paddingValues,
|
|
346
|
-
paddingSides,
|
|
347
|
-
isAxialPadding,
|
|
348
|
-
setPaddingValues,
|
|
349
|
-
resetPaddingValue,
|
|
350
|
-
hasPaddingValue
|
|
351
|
-
} = usePaddingProps(name, variation); // Props for managing `spacing.margin`.
|
|
352
|
-
|
|
353
|
-
const {
|
|
354
|
-
marginValues,
|
|
355
|
-
marginSides,
|
|
356
|
-
isAxialMargin,
|
|
357
|
-
setMarginValues,
|
|
358
|
-
resetMarginValue,
|
|
359
|
-
hasMarginValue
|
|
360
|
-
} = useMarginProps(name, variation); // Props for managing `spacing.blockGap`.
|
|
361
|
-
|
|
362
|
-
const {
|
|
363
|
-
gapValue,
|
|
364
|
-
gapValues,
|
|
365
|
-
gapSides,
|
|
366
|
-
isAxialGap,
|
|
367
|
-
setGapValue,
|
|
368
|
-
setGapValues,
|
|
369
|
-
resetGapValue,
|
|
370
|
-
hasGapValue
|
|
371
|
-
} = useBlockGapProps(name, variation); // Props for managing `dimensions.minHeight`.
|
|
372
|
-
|
|
373
|
-
const {
|
|
374
|
-
minHeightValue,
|
|
375
|
-
setMinHeightValue,
|
|
376
|
-
resetMinHeightValue,
|
|
377
|
-
hasMinHeightValue
|
|
378
|
-
} = useMinHeightProps(name, variation);
|
|
379
|
-
|
|
380
|
-
const resetAll = () => {
|
|
381
|
-
resetPaddingValue();
|
|
382
|
-
resetMarginValue();
|
|
383
|
-
resetGapValue();
|
|
384
|
-
resetContentSizeValue();
|
|
385
|
-
resetWideSizeValue();
|
|
386
|
-
};
|
|
387
|
-
|
|
388
|
-
return (0, _element.createElement)(_components.__experimentalToolsPanel, {
|
|
389
|
-
label: (0, _i18n.__)('Dimensions'),
|
|
390
|
-
resetAll: resetAll,
|
|
391
|
-
headingLevel: 3
|
|
392
|
-
}, (showContentSizeControl || showWideSizeControl) && (0, _element.createElement)("span", {
|
|
393
|
-
className: "span-columns"
|
|
394
|
-
}, (0, _i18n.__)('Set the width of the main content area.')), showContentSizeControl && (0, _element.createElement)(_components.__experimentalToolsPanelItem, {
|
|
395
|
-
className: "single-column",
|
|
396
|
-
label: (0, _i18n.__)('Content size'),
|
|
397
|
-
hasValue: hasUserSetContentSizeValue,
|
|
398
|
-
onDeselect: resetContentSizeValue,
|
|
399
|
-
isShownByDefault: true
|
|
400
|
-
}, (0, _element.createElement)(_components.__experimentalHStack, {
|
|
401
|
-
alignment: "flex-end",
|
|
402
|
-
justify: "flex-start"
|
|
403
|
-
}, (0, _element.createElement)(_components.__experimentalUnitControl, {
|
|
404
|
-
label: (0, _i18n.__)('Content'),
|
|
405
|
-
labelPosition: "top",
|
|
406
|
-
__unstableInputWidth: "80px",
|
|
407
|
-
value: contentSizeValue || '',
|
|
408
|
-
onChange: nextContentSize => {
|
|
409
|
-
setContentSizeValue(nextContentSize);
|
|
410
|
-
},
|
|
411
|
-
units: units
|
|
412
|
-
}), (0, _element.createElement)(_components.__experimentalView, null, (0, _element.createElement)(_icons.Icon, {
|
|
413
|
-
icon: _icons.positionCenter
|
|
414
|
-
})))), showWideSizeControl && (0, _element.createElement)(_components.__experimentalToolsPanelItem, {
|
|
415
|
-
className: "single-column",
|
|
416
|
-
label: (0, _i18n.__)('Wide size'),
|
|
417
|
-
hasValue: hasUserSetWideSizeValue,
|
|
418
|
-
onDeselect: resetWideSizeValue,
|
|
419
|
-
isShownByDefault: true
|
|
420
|
-
}, (0, _element.createElement)(_components.__experimentalHStack, {
|
|
421
|
-
alignment: "flex-end",
|
|
422
|
-
justify: "flex-start"
|
|
423
|
-
}, (0, _element.createElement)(_components.__experimentalUnitControl, {
|
|
424
|
-
label: (0, _i18n.__)('Wide'),
|
|
425
|
-
labelPosition: "top",
|
|
426
|
-
__unstableInputWidth: "80px",
|
|
427
|
-
value: wideSizeValue || '',
|
|
428
|
-
onChange: nextWideSize => {
|
|
429
|
-
setWideSizeValue(nextWideSize);
|
|
430
|
-
},
|
|
431
|
-
units: units
|
|
432
|
-
}), (0, _element.createElement)(_components.__experimentalView, null, (0, _element.createElement)(_icons.Icon, {
|
|
433
|
-
icon: _icons.stretchWide
|
|
434
|
-
})))), showPaddingControl && (0, _element.createElement)(_components.__experimentalToolsPanelItem, {
|
|
435
|
-
hasValue: hasPaddingValue,
|
|
436
|
-
label: (0, _i18n.__)('Padding'),
|
|
437
|
-
onDeselect: resetPaddingValue,
|
|
438
|
-
isShownByDefault: true,
|
|
439
|
-
className: (0, _classnames.default)({
|
|
440
|
-
'tools-panel-item-spacing': showSpacingPresetsControl
|
|
441
|
-
})
|
|
442
|
-
}, !showSpacingPresetsControl && (0, _element.createElement)(_components.__experimentalBoxControl, {
|
|
443
|
-
values: paddingValues,
|
|
444
|
-
onChange: setPaddingValues,
|
|
445
|
-
label: (0, _i18n.__)('Padding'),
|
|
446
|
-
sides: paddingSides,
|
|
447
|
-
units: units,
|
|
448
|
-
allowReset: false,
|
|
449
|
-
splitOnAxis: isAxialPadding
|
|
450
|
-
}), showSpacingPresetsControl && (0, _element.createElement)(_blockEditor.__experimentalSpacingSizesControl, {
|
|
451
|
-
values: paddingValues,
|
|
452
|
-
onChange: setPaddingValues,
|
|
453
|
-
label: (0, _i18n.__)('Padding'),
|
|
454
|
-
sides: paddingSides,
|
|
455
|
-
units: units,
|
|
456
|
-
allowReset: false,
|
|
457
|
-
splitOnAxis: isAxialPadding
|
|
458
|
-
})), showMarginControl && (0, _element.createElement)(_components.__experimentalToolsPanelItem, {
|
|
459
|
-
hasValue: hasMarginValue,
|
|
460
|
-
label: (0, _i18n.__)('Margin'),
|
|
461
|
-
onDeselect: resetMarginValue,
|
|
462
|
-
isShownByDefault: true,
|
|
463
|
-
className: (0, _classnames.default)({
|
|
464
|
-
'tools-panel-item-spacing': showSpacingPresetsControl
|
|
465
|
-
})
|
|
466
|
-
}, !showSpacingPresetsControl && (0, _element.createElement)(_components.__experimentalBoxControl, {
|
|
467
|
-
values: marginValues,
|
|
468
|
-
onChange: setMarginValues,
|
|
469
|
-
label: (0, _i18n.__)('Margin'),
|
|
470
|
-
sides: marginSides,
|
|
471
|
-
units: units,
|
|
472
|
-
allowReset: false,
|
|
473
|
-
splitOnAxis: isAxialMargin
|
|
474
|
-
}), showSpacingPresetsControl && (0, _element.createElement)(_blockEditor.__experimentalSpacingSizesControl, {
|
|
475
|
-
values: marginValues,
|
|
476
|
-
onChange: setMarginValues,
|
|
477
|
-
label: (0, _i18n.__)('Margin'),
|
|
478
|
-
sides: marginSides,
|
|
479
|
-
units: units,
|
|
480
|
-
allowReset: false,
|
|
481
|
-
splitOnAxis: isAxialMargin
|
|
482
|
-
})), showGapControl && (0, _element.createElement)(_components.__experimentalToolsPanelItem, {
|
|
483
|
-
hasValue: hasGapValue,
|
|
484
|
-
label: (0, _i18n.__)('Block spacing'),
|
|
485
|
-
onDeselect: resetGapValue,
|
|
486
|
-
isShownByDefault: true,
|
|
487
|
-
className: (0, _classnames.default)({
|
|
488
|
-
'tools-panel-item-spacing': showSpacingPresetsControl
|
|
489
|
-
})
|
|
490
|
-
}, !showSpacingPresetsControl && (isAxialGap ? (0, _element.createElement)(_components.__experimentalBoxControl, {
|
|
491
|
-
label: (0, _i18n.__)('Block spacing'),
|
|
492
|
-
min: 0,
|
|
493
|
-
onChange: setGapValues,
|
|
494
|
-
units: units,
|
|
495
|
-
sides: gapSides,
|
|
496
|
-
values: gapValues,
|
|
497
|
-
allowReset: false,
|
|
498
|
-
splitOnAxis: isAxialGap
|
|
499
|
-
}) : (0, _element.createElement)(_components.__experimentalUnitControl, {
|
|
500
|
-
label: (0, _i18n.__)('Block spacing'),
|
|
501
|
-
__unstableInputWidth: "80px",
|
|
502
|
-
min: 0,
|
|
503
|
-
onChange: setGapValue,
|
|
504
|
-
units: units,
|
|
505
|
-
value: gapValue
|
|
506
|
-
})), showSpacingPresetsControl && (0, _element.createElement)(_blockEditor.__experimentalSpacingSizesControl, {
|
|
507
|
-
label: (0, _i18n.__)('Block spacing'),
|
|
508
|
-
min: 0,
|
|
509
|
-
onChange: setGapValues,
|
|
510
|
-
sides: isAxialGap ? gapSides : ['top'] // Use 'top' as the shorthand property in non-axial configurations.
|
|
511
|
-
,
|
|
512
|
-
values: gapValues,
|
|
513
|
-
allowReset: false,
|
|
514
|
-
splitOnAxis: isAxialGap
|
|
515
|
-
})), showMinHeightControl && (0, _element.createElement)(_components.__experimentalToolsPanelItem, {
|
|
516
|
-
hasValue: hasMinHeightValue,
|
|
517
|
-
label: (0, _i18n.__)('Min. height'),
|
|
518
|
-
onDeselect: resetMinHeightValue,
|
|
519
|
-
isShownByDefault: true
|
|
520
|
-
}, (0, _element.createElement)(_blockEditor.HeightControl, {
|
|
521
|
-
label: (0, _i18n.__)('Min. height'),
|
|
522
|
-
value: minHeightValue,
|
|
523
|
-
onChange: setMinHeightValue
|
|
524
|
-
})));
|
|
72
|
+
return (0, _element.createElement)(StylesDimensionsPanel, {
|
|
73
|
+
inheritedValue: inheritedStyleWithLayout,
|
|
74
|
+
value: styleWithLayout,
|
|
75
|
+
onChange: onChange,
|
|
76
|
+
settings: settings,
|
|
77
|
+
includeLayoutControls: true
|
|
78
|
+
});
|
|
525
79
|
}
|
|
526
80
|
//# sourceMappingURL=dimensions-panel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/dimensions-panel.js"],"names":["useGlobalSetting","useGlobalStyle","blockEditorPrivateApis","AXIAL_SIDES","useHasDimensionsPanel","name","hasContentSize","useHasContentSize","hasWideSize","useHasWideSize","hasPadding","useHasPadding","hasMargin","useHasMargin","hasGap","useHasGap","hasMinHeight","useHasMinHeight","supports","settings","includes","useHasSpacingPresets","custom","theme","default","defaultPresets","presets","length","filterValuesBySides","values","sides","filteredValues","forEach","side","top","bottom","left","right","splitStyleValue","value","splitGapValue","useContentSizeProps","contentSizeValue","setContentSizeValue","userSetContentSizeValue","hasUserSetContentSizeValue","resetContentSizeValue","useWideSizeProps","wideSizeValue","setWideSizeValue","userSetWideSizeValue","hasUserSetWideSizeValue","resetWideSizeValue","usePaddingProps","variation","prefix","rawPadding","setRawPadding","paddingValues","paddingSides","isAxialPadding","some","setPaddingValues","newPaddingValues","padding","resetPaddingValue","userSetPaddingValue","hasPaddingValue","useMarginProps","rawMargin","setRawMargin","marginValues","marginSides","isAxialMargin","setMarginValues","newMarginValues","margin","resetMarginValue","hasMarginValue","Object","keys","useBlockGapProps","gapValue","setGapValue","gapValues","gapSides","isAxialGap","resetGapValue","undefined","userSetGapValue","hasGapValue","setGapValues","nextBoxGapValue","hasOwnProperty","useMinHeightProps","minHeightValue","setMinHeightValue","resetMinHeightValue","hasMinHeightValue","DimensionsPanel","showContentSizeControl","showWideSizeControl","showPaddingControl","showMarginControl","showGapControl","showMinHeightControl","showSpacingPresetsControl","units","availableUnits","resetAll","nextContentSize","positionCenter","nextWideSize","stretchWide"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalBoxControl as BoxControl,\n\t__experimentalHStack as HStack,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalView as View,\n} from '@wordpress/components';\nimport {\n\t__experimentalUseCustomSides as useCustomSides,\n\tHeightControl,\n\t__experimentalSpacingSizesControl as SpacingSizesControl,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { Icon, positionCenter, stretchWide } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { useSupportedStyles } from './hooks';\nimport { unlock } from '../../private-apis';\n\nconst { useGlobalSetting, useGlobalStyle } = unlock( blockEditorPrivateApis );\n\nconst AXIAL_SIDES = [ 'horizontal', 'vertical' ];\n\nexport function useHasDimensionsPanel( name ) {\n\tconst hasContentSize = useHasContentSize( name );\n\tconst hasWideSize = useHasWideSize( name );\n\tconst hasPadding = useHasPadding( name );\n\tconst hasMargin = useHasMargin( name );\n\tconst hasGap = useHasGap( name );\n\tconst hasMinHeight = useHasMinHeight( name );\n\n\treturn (\n\t\thasContentSize ||\n\t\thasWideSize ||\n\t\thasPadding ||\n\t\thasMargin ||\n\t\thasGap ||\n\t\thasMinHeight\n\t);\n}\n\nfunction useHasContentSize( name ) {\n\tconst supports = useSupportedStyles( name );\n\tconst [ settings ] = useGlobalSetting( 'layout.contentSize', name );\n\n\treturn settings && supports.includes( 'contentSize' );\n}\n\nfunction useHasWideSize( name ) {\n\tconst supports = useSupportedStyles( name );\n\tconst [ settings ] = useGlobalSetting( 'layout.wideSize', name );\n\n\treturn settings && supports.includes( 'wideSize' );\n}\n\nfunction useHasPadding( name ) {\n\tconst supports = useSupportedStyles( name );\n\tconst [ settings ] = useGlobalSetting( 'spacing.padding', name );\n\n\treturn settings && supports.includes( 'padding' );\n}\n\nfunction useHasMargin( name ) {\n\tconst supports = useSupportedStyles( name );\n\tconst [ settings ] = useGlobalSetting( 'spacing.margin', name );\n\n\treturn settings && supports.includes( 'margin' );\n}\n\nfunction useHasGap( name ) {\n\tconst supports = useSupportedStyles( name );\n\tconst [ settings ] = useGlobalSetting( 'spacing.blockGap', name );\n\n\treturn settings && supports.includes( 'blockGap' );\n}\n\nfunction useHasMinHeight( name ) {\n\tconst supports = useSupportedStyles( name );\n\tconst [ settings ] = useGlobalSetting( 'dimensions.minHeight', name );\n\n\treturn settings && supports.includes( 'minHeight' );\n}\n\nfunction useHasSpacingPresets() {\n\tconst [ settings ] = useGlobalSetting( 'spacing.spacingSizes' );\n\tconst { custom, theme, default: defaultPresets } = settings || {};\n\tconst presets = custom ?? theme ?? defaultPresets ?? [];\n\n\treturn settings && presets.length > 0;\n}\n\nfunction filterValuesBySides( values, sides ) {\n\tif ( ! sides ) {\n\t\t// If no custom side configuration all sides are opted into by default.\n\t\treturn values;\n\t}\n\n\t// Only include sides opted into within filtered values.\n\tconst filteredValues = {};\n\tsides.forEach( ( side ) => {\n\t\tif ( side === 'vertical' ) {\n\t\t\tfilteredValues.top = values.top;\n\t\t\tfilteredValues.bottom = values.bottom;\n\t\t}\n\t\tif ( side === 'horizontal' ) {\n\t\t\tfilteredValues.left = values.left;\n\t\t\tfilteredValues.right = values.right;\n\t\t}\n\t\tfilteredValues[ side ] = values[ side ];\n\t} );\n\n\treturn filteredValues;\n}\n\nfunction splitStyleValue( value ) {\n\t// Check for shorthand value (a string value).\n\tif ( value && typeof value === 'string' ) {\n\t\t// Convert to value for individual sides for BoxControl.\n\t\treturn {\n\t\t\ttop: value,\n\t\t\tright: value,\n\t\t\tbottom: value,\n\t\t\tleft: value,\n\t\t};\n\t}\n\n\treturn value;\n}\n\nfunction splitGapValue( value ) {\n\t// Check for shorthand value (a string value).\n\tif ( value && typeof value === 'string' ) {\n\t\t// If the value is a string, treat it as a single side (top) for the spacing controls.\n\t\treturn {\n\t\t\ttop: value,\n\t\t};\n\t}\n\n\tif ( value ) {\n\t\treturn {\n\t\t\t...value,\n\t\t\tright: value?.left,\n\t\t\tbottom: value?.top,\n\t\t};\n\t}\n\n\treturn value;\n}\n\n// Props for managing `layout.contentSize`.\nfunction useContentSizeProps( name ) {\n\tconst [ contentSizeValue, setContentSizeValue ] = useGlobalSetting(\n\t\t'layout.contentSize',\n\t\tname\n\t);\n\tconst [ userSetContentSizeValue ] = useGlobalSetting(\n\t\t'layout.contentSize',\n\t\tname,\n\t\t'user'\n\t);\n\tconst hasUserSetContentSizeValue = () => !! userSetContentSizeValue;\n\tconst resetContentSizeValue = () => setContentSizeValue( '' );\n\treturn {\n\t\tcontentSizeValue,\n\t\tsetContentSizeValue,\n\t\thasUserSetContentSizeValue,\n\t\tresetContentSizeValue,\n\t};\n}\n\n// Props for managing `layout.wideSize`.\nfunction useWideSizeProps( name ) {\n\tconst [ wideSizeValue, setWideSizeValue ] = useGlobalSetting(\n\t\t'layout.wideSize',\n\t\tname\n\t);\n\tconst [ userSetWideSizeValue ] = useGlobalSetting(\n\t\t'layout.wideSize',\n\t\tname,\n\t\t'user'\n\t);\n\tconst hasUserSetWideSizeValue = () => !! userSetWideSizeValue;\n\tconst resetWideSizeValue = () => setWideSizeValue( '' );\n\treturn {\n\t\twideSizeValue,\n\t\tsetWideSizeValue,\n\t\thasUserSetWideSizeValue,\n\t\tresetWideSizeValue,\n\t};\n}\n\n// Props for managing `spacing.padding`.\nfunction usePaddingProps( name, variation = '' ) {\n\tconst prefix = variation ? `variations.${ variation }.` : '';\n\tconst [ rawPadding, setRawPadding ] = useGlobalStyle(\n\t\tprefix + 'spacing.padding',\n\t\tname\n\t);\n\tconst paddingValues = splitStyleValue( rawPadding );\n\tconst paddingSides = useCustomSides( name, 'padding' );\n\tconst isAxialPadding =\n\t\tpaddingSides &&\n\t\tpaddingSides.some( ( side ) => AXIAL_SIDES.includes( side ) );\n\n\tconst setPaddingValues = ( newPaddingValues ) => {\n\t\tconst padding = filterValuesBySides( newPaddingValues, paddingSides );\n\t\tsetRawPadding( padding );\n\t};\n\tconst resetPaddingValue = () => setPaddingValues( {} );\n\tconst [ userSetPaddingValue ] = useGlobalStyle(\n\t\tprefix + 'spacing.padding',\n\t\tname,\n\t\t'user'\n\t);\n\t// The `hasPaddingValue` check does not need a parsed value, as `userSetPaddingValue` will be `undefined` if not set.\n\tconst hasPaddingValue = () => !! userSetPaddingValue;\n\n\treturn {\n\t\tpaddingValues,\n\t\tpaddingSides,\n\t\tisAxialPadding,\n\t\tsetPaddingValues,\n\t\tresetPaddingValue,\n\t\thasPaddingValue,\n\t};\n}\n\n// Props for managing `spacing.margin`.\nfunction useMarginProps( name, variation = '' ) {\n\tconst prefix = variation ? `variations.${ variation }.` : '';\n\tconst [ rawMargin, setRawMargin ] = useGlobalStyle(\n\t\tprefix + 'spacing.margin',\n\t\tname\n\t);\n\tconst marginValues = splitStyleValue( rawMargin );\n\tconst marginSides = useCustomSides( name, 'margin' );\n\tconst isAxialMargin =\n\t\tmarginSides &&\n\t\tmarginSides.some( ( side ) => AXIAL_SIDES.includes( side ) );\n\n\tconst setMarginValues = ( newMarginValues ) => {\n\t\tconst margin = filterValuesBySides( newMarginValues, marginSides );\n\t\tsetRawMargin( margin );\n\t};\n\tconst resetMarginValue = () => setMarginValues( {} );\n\tconst hasMarginValue = () =>\n\t\t!! marginValues && Object.keys( marginValues ).length;\n\n\treturn {\n\t\tmarginValues,\n\t\tmarginSides,\n\t\tisAxialMargin,\n\t\tsetMarginValues,\n\t\tresetMarginValue,\n\t\thasMarginValue,\n\t};\n}\n\n// Props for managing `spacing.blockGap`.\nfunction useBlockGapProps( name, variation = '' ) {\n\tconst prefix = variation ? `variations.${ variation }.` : '';\n\tconst [ gapValue, setGapValue ] = useGlobalStyle(\n\t\tprefix + 'spacing.blockGap',\n\t\tname\n\t);\n\tconst gapValues = splitGapValue( gapValue );\n\tconst gapSides = useCustomSides( name, 'blockGap' );\n\tconst isAxialGap =\n\t\tgapSides && gapSides.some( ( side ) => AXIAL_SIDES.includes( side ) );\n\tconst resetGapValue = () => setGapValue( undefined );\n\tconst [ userSetGapValue ] = useGlobalStyle(\n\t\tprefix + 'spacing.blockGap',\n\t\tname,\n\t\t'user'\n\t);\n\tconst hasGapValue = () => !! userSetGapValue;\n\tconst setGapValues = ( nextBoxGapValue ) => {\n\t\tif ( ! nextBoxGapValue ) {\n\t\t\tsetGapValue( null );\n\t\t}\n\t\t// If axial gap is not enabled, treat the 'top' value as the shorthand gap value.\n\t\tif ( ! isAxialGap && nextBoxGapValue?.hasOwnProperty( 'top' ) ) {\n\t\t\tsetGapValue( nextBoxGapValue.top );\n\t\t} else {\n\t\t\tsetGapValue( {\n\t\t\t\ttop: nextBoxGapValue?.top,\n\t\t\t\tleft: nextBoxGapValue?.left,\n\t\t\t} );\n\t\t}\n\t};\n\treturn {\n\t\tgapValue,\n\t\tgapValues,\n\t\tgapSides,\n\t\tisAxialGap,\n\t\tsetGapValue,\n\t\tsetGapValues,\n\t\tresetGapValue,\n\t\thasGapValue,\n\t};\n}\n\n// Props for managing `dimensions.minHeight`.\nfunction useMinHeightProps( name, variation = '' ) {\n\tconst prefix = variation ? `variations.${ variation }.` : '';\n\tconst [ minHeightValue, setMinHeightValue ] = useGlobalStyle(\n\t\tprefix + 'dimensions.minHeight',\n\t\tname\n\t);\n\tconst resetMinHeightValue = () => setMinHeightValue( undefined );\n\tconst hasMinHeightValue = () => !! minHeightValue;\n\treturn {\n\t\tminHeightValue,\n\t\tsetMinHeightValue,\n\t\tresetMinHeightValue,\n\t\thasMinHeightValue,\n\t};\n}\n\nexport default function DimensionsPanel( { name, variation = '' } ) {\n\tconst showContentSizeControl = useHasContentSize( name );\n\tconst showWideSizeControl = useHasWideSize( name );\n\tconst showPaddingControl = useHasPadding( name );\n\tconst showMarginControl = useHasMargin( name );\n\tconst showGapControl = useHasGap( name );\n\tconst showMinHeightControl = useHasMinHeight( name );\n\tconst showSpacingPresetsControl = useHasSpacingPresets();\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: useGlobalSetting( 'spacing.units', name )[ 0 ] || [\n\t\t\t'%',\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vw',\n\t\t],\n\t} );\n\n\t// Props for managing `layout.contentSize`.\n\tconst {\n\t\tcontentSizeValue,\n\t\tsetContentSizeValue,\n\t\thasUserSetContentSizeValue,\n\t\tresetContentSizeValue,\n\t} = useContentSizeProps( name );\n\n\t// Props for managing `layout.wideSize`.\n\tconst {\n\t\twideSizeValue,\n\t\tsetWideSizeValue,\n\t\thasUserSetWideSizeValue,\n\t\tresetWideSizeValue,\n\t} = useWideSizeProps( name );\n\n\t// Props for managing `spacing.padding`.\n\tconst {\n\t\tpaddingValues,\n\t\tpaddingSides,\n\t\tisAxialPadding,\n\t\tsetPaddingValues,\n\t\tresetPaddingValue,\n\t\thasPaddingValue,\n\t} = usePaddingProps( name, variation );\n\n\t// Props for managing `spacing.margin`.\n\tconst {\n\t\tmarginValues,\n\t\tmarginSides,\n\t\tisAxialMargin,\n\t\tsetMarginValues,\n\t\tresetMarginValue,\n\t\thasMarginValue,\n\t} = useMarginProps( name, variation );\n\n\t// Props for managing `spacing.blockGap`.\n\tconst {\n\t\tgapValue,\n\t\tgapValues,\n\t\tgapSides,\n\t\tisAxialGap,\n\t\tsetGapValue,\n\t\tsetGapValues,\n\t\tresetGapValue,\n\t\thasGapValue,\n\t} = useBlockGapProps( name, variation );\n\n\t// Props for managing `dimensions.minHeight`.\n\tconst {\n\t\tminHeightValue,\n\t\tsetMinHeightValue,\n\t\tresetMinHeightValue,\n\t\thasMinHeightValue,\n\t} = useMinHeightProps( name, variation );\n\n\tconst resetAll = () => {\n\t\tresetPaddingValue();\n\t\tresetMarginValue();\n\t\tresetGapValue();\n\t\tresetContentSizeValue();\n\t\tresetWideSizeValue();\n\t};\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ __( 'Dimensions' ) }\n\t\t\tresetAll={ resetAll }\n\t\t\theadingLevel={ 3 }\n\t\t>\n\t\t\t{ ( showContentSizeControl || showWideSizeControl ) && (\n\t\t\t\t<span className=\"span-columns\">\n\t\t\t\t\t{ __( 'Set the width of the main content area.' ) }\n\t\t\t\t</span>\n\t\t\t) }\n\t\t\t{ showContentSizeControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Content size' ) }\n\t\t\t\t\thasValue={ hasUserSetContentSizeValue }\n\t\t\t\t\tonDeselect={ resetContentSizeValue }\n\t\t\t\t\tisShownByDefault={ true }\n\t\t\t\t>\n\t\t\t\t\t<HStack alignment=\"flex-end\" justify=\"flex-start\">\n\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\tlabel={ __( 'Content' ) }\n\t\t\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\t\t\t__unstableInputWidth=\"80px\"\n\t\t\t\t\t\t\tvalue={ contentSizeValue || '' }\n\t\t\t\t\t\t\tonChange={ ( nextContentSize ) => {\n\t\t\t\t\t\t\t\tsetContentSizeValue( nextContentSize );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<View>\n\t\t\t\t\t\t\t<Icon icon={ positionCenter } />\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</HStack>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ showWideSizeControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Wide size' ) }\n\t\t\t\t\thasValue={ hasUserSetWideSizeValue }\n\t\t\t\t\tonDeselect={ resetWideSizeValue }\n\t\t\t\t\tisShownByDefault={ true }\n\t\t\t\t>\n\t\t\t\t\t<HStack alignment=\"flex-end\" justify=\"flex-start\">\n\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\tlabel={ __( 'Wide' ) }\n\t\t\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\t\t\t__unstableInputWidth=\"80px\"\n\t\t\t\t\t\t\tvalue={ wideSizeValue || '' }\n\t\t\t\t\t\t\tonChange={ ( nextWideSize ) => {\n\t\t\t\t\t\t\t\tsetWideSizeValue( nextWideSize );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<View>\n\t\t\t\t\t\t\t<Icon icon={ stretchWide } />\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</HStack>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ showPaddingControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ hasPaddingValue }\n\t\t\t\t\tlabel={ __( 'Padding' ) }\n\t\t\t\t\tonDeselect={ resetPaddingValue }\n\t\t\t\t\tisShownByDefault={ true }\n\t\t\t\t\tclassName={ classnames( {\n\t\t\t\t\t\t'tools-panel-item-spacing': showSpacingPresetsControl,\n\t\t\t\t\t} ) }\n\t\t\t\t>\n\t\t\t\t\t{ ! showSpacingPresetsControl && (\n\t\t\t\t\t\t<BoxControl\n\t\t\t\t\t\t\tvalues={ paddingValues }\n\t\t\t\t\t\t\tonChange={ setPaddingValues }\n\t\t\t\t\t\t\tlabel={ __( 'Padding' ) }\n\t\t\t\t\t\t\tsides={ paddingSides }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\tallowReset={ false }\n\t\t\t\t\t\t\tsplitOnAxis={ isAxialPadding }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ showSpacingPresetsControl && (\n\t\t\t\t\t\t<SpacingSizesControl\n\t\t\t\t\t\t\tvalues={ paddingValues }\n\t\t\t\t\t\t\tonChange={ setPaddingValues }\n\t\t\t\t\t\t\tlabel={ __( 'Padding' ) }\n\t\t\t\t\t\t\tsides={ paddingSides }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\tallowReset={ false }\n\t\t\t\t\t\t\tsplitOnAxis={ isAxialPadding }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ showMarginControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ hasMarginValue }\n\t\t\t\t\tlabel={ __( 'Margin' ) }\n\t\t\t\t\tonDeselect={ resetMarginValue }\n\t\t\t\t\tisShownByDefault={ true }\n\t\t\t\t\tclassName={ classnames( {\n\t\t\t\t\t\t'tools-panel-item-spacing': showSpacingPresetsControl,\n\t\t\t\t\t} ) }\n\t\t\t\t>\n\t\t\t\t\t{ ! showSpacingPresetsControl && (\n\t\t\t\t\t\t<BoxControl\n\t\t\t\t\t\t\tvalues={ marginValues }\n\t\t\t\t\t\t\tonChange={ setMarginValues }\n\t\t\t\t\t\t\tlabel={ __( 'Margin' ) }\n\t\t\t\t\t\t\tsides={ marginSides }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\tallowReset={ false }\n\t\t\t\t\t\t\tsplitOnAxis={ isAxialMargin }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ showSpacingPresetsControl && (\n\t\t\t\t\t\t<SpacingSizesControl\n\t\t\t\t\t\t\tvalues={ marginValues }\n\t\t\t\t\t\t\tonChange={ setMarginValues }\n\t\t\t\t\t\t\tlabel={ __( 'Margin' ) }\n\t\t\t\t\t\t\tsides={ marginSides }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\tallowReset={ false }\n\t\t\t\t\t\t\tsplitOnAxis={ isAxialMargin }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ showGapControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ hasGapValue }\n\t\t\t\t\tlabel={ __( 'Block spacing' ) }\n\t\t\t\t\tonDeselect={ resetGapValue }\n\t\t\t\t\tisShownByDefault={ true }\n\t\t\t\t\tclassName={ classnames( {\n\t\t\t\t\t\t'tools-panel-item-spacing': showSpacingPresetsControl,\n\t\t\t\t\t} ) }\n\t\t\t\t>\n\t\t\t\t\t{ ! showSpacingPresetsControl &&\n\t\t\t\t\t\t( isAxialGap ? (\n\t\t\t\t\t\t\t<BoxControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Block spacing' ) }\n\t\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\t\tonChange={ setGapValues }\n\t\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\t\tsides={ gapSides }\n\t\t\t\t\t\t\t\tvalues={ gapValues }\n\t\t\t\t\t\t\t\tallowReset={ false }\n\t\t\t\t\t\t\t\tsplitOnAxis={ isAxialGap }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Block spacing' ) }\n\t\t\t\t\t\t\t\t__unstableInputWidth=\"80px\"\n\t\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\t\tonChange={ setGapValue }\n\t\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\t\tvalue={ gapValue }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t{ showSpacingPresetsControl && (\n\t\t\t\t\t\t<SpacingSizesControl\n\t\t\t\t\t\t\tlabel={ __( 'Block spacing' ) }\n\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\tonChange={ setGapValues }\n\t\t\t\t\t\t\tsides={ isAxialGap ? gapSides : [ 'top' ] } // Use 'top' as the shorthand property in non-axial configurations.\n\t\t\t\t\t\t\tvalues={ gapValues }\n\t\t\t\t\t\t\tallowReset={ false }\n\t\t\t\t\t\t\tsplitOnAxis={ isAxialGap }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ showMinHeightControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ hasMinHeightValue }\n\t\t\t\t\tlabel={ __( 'Min. height' ) }\n\t\t\t\t\tonDeselect={ resetMinHeightValue }\n\t\t\t\t\tisShownByDefault={ true }\n\t\t\t\t>\n\t\t\t\t\t<HeightControl\n\t\t\t\t\t\tlabel={ __( 'Min. height' ) }\n\t\t\t\t\t\tvalue={ minHeightValue }\n\t\t\t\t\t\tonChange={ setMinHeightValue }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</ToolsPanel>\n\t);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/edit-site/src/components/global-styles/dimensions-panel.js"],"names":["useGlobalStyle","useGlobalSetting","useSettingsForBlockElement","DimensionsPanel","StylesDimensionsPanel","blockEditorPrivateApis","name","variation","prefixParts","concat","prefix","join","style","inheritedStyle","setStyle","shouldDecodeEncode","rawSettings","setSettings","settings","inheritedStyleWithLayout","layout","styleWithLayout","onChange","newStyle","updatedStyle"],"mappings":";;;;;;;AAIA;;AADA;;AAMA;;AATA;AACA;AACA;;AAIA;AACA;AACA;AAGA,MAAM;AACLA,EAAAA,cADK;AAELC,EAAAA,gBAFK;AAGLC,EAAAA,0BAHK;AAILC,EAAAA,eAAe,EAAEC;AAJZ,IAKF,yBAAQC,wBAAR,CALJ;;AAOe,SAASF,eAAT,OAAqD;AAAA,MAA3B;AAAEG,IAAAA,IAAF;AAAQC,IAAAA,SAAS,GAAG;AAApB,GAA2B;AACnE,MAAIC,WAAW,GAAG,EAAlB;;AACA,MAAKD,SAAL,EAAiB;AAChBC,IAAAA,WAAW,GAAG,CAAE,YAAF,EAAgBD,SAAhB,EAA4BE,MAA5B,CAAoCD,WAApC,CAAd;AACA;;AACD,QAAME,MAAM,GAAGF,WAAW,CAACG,IAAZ,CAAkB,GAAlB,CAAf;AAEA,QAAM,CAAEC,KAAF,IAAYZ,cAAc,CAAEU,MAAF,EAAUJ,IAAV,EAAgB,MAAhB,EAAwB,KAAxB,CAAhC;AACA,QAAM,CAAEO,cAAF,EAAkBC,QAAlB,IAA+Bd,cAAc,CAAEU,MAAF,EAAUJ,IAAV,EAAgB,KAAhB,EAAuB;AACzES,IAAAA,kBAAkB,EAAE;AADqD,GAAvB,CAAnD;AAGA,QAAM,CAAEC,WAAF,EAAeC,WAAf,IAA+BhB,gBAAgB,CAAE,EAAF,EAAMK,IAAN,CAArD;AACA,QAAMY,QAAQ,GAAGhB,0BAA0B,CAAEc,WAAF,EAAeV,IAAf,CAA3C,CAZmE,CAcnE;AACA;;AACA,QAAMa,wBAAwB,GAAG,sBAAS,MAAM;AAC/C,WAAO,EACN,GAAGN,cADG;AAENO,MAAAA,MAAM,EAAEF,QAAQ,CAACE;AAFX,KAAP;AAIA,GALgC,EAK9B,CAAEP,cAAF,EAAkBK,QAAQ,CAACE,MAA3B,CAL8B,CAAjC;AAOA,QAAMC,eAAe,GAAG,sBAAS,MAAM;AACtC,WAAO,EACN,GAAGT,KADG;AAENQ,MAAAA,MAAM,EAAEF,QAAQ,CAACE;AAFX,KAAP;AAIA,GALuB,EAKrB,CAAER,KAAF,EAASM,QAAQ,CAACE,MAAlB,CALqB,CAAxB;;AAOA,QAAME,QAAQ,GAAKC,QAAF,IAAgB;AAChC,UAAMC,YAAY,GAAG,EAAE,GAAGD;AAAL,KAArB;AACA,WAAOC,YAAY,CAACJ,MAApB;AACAN,IAAAA,QAAQ,CAAEU,YAAF,CAAR;;AAEA,QAAKD,QAAQ,CAACH,MAAT,KAAoBF,QAAQ,CAACE,MAAlC,EAA2C;AAC1CH,MAAAA,WAAW,CAAE,EACZ,GAAGD,WADS;AAEZI,QAAAA,MAAM,EAAEG,QAAQ,CAACH;AAFL,OAAF,CAAX;AAIA;AACD,GAXD;;AAaA,SACC,4BAAC,qBAAD;AACC,IAAA,cAAc,EAAGD,wBADlB;AAEC,IAAA,KAAK,EAAGE,eAFT;AAGC,IAAA,QAAQ,EAAGC,QAHZ;AAIC,IAAA,QAAQ,EAAGJ,QAJZ;AAKC,IAAA,qBAAqB;AALtB,IADD;AASA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';\nimport { useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../private-apis';\n\nconst {\n\tuseGlobalStyle,\n\tuseGlobalSetting,\n\tuseSettingsForBlockElement,\n\tDimensionsPanel: StylesDimensionsPanel,\n} = unlock( blockEditorPrivateApis );\n\nexport default function DimensionsPanel( { name, variation = '' } ) {\n\tlet prefixParts = [];\n\tif ( variation ) {\n\t\tprefixParts = [ 'variations', variation ].concat( prefixParts );\n\t}\n\tconst prefix = prefixParts.join( '.' );\n\n\tconst [ style ] = useGlobalStyle( prefix, name, 'user', false );\n\tconst [ inheritedStyle, setStyle ] = useGlobalStyle( prefix, name, 'all', {\n\t\tshouldDecodeEncode: false,\n\t} );\n\tconst [ rawSettings, setSettings ] = useGlobalSetting( '', name );\n\tconst settings = useSettingsForBlockElement( rawSettings, name );\n\n\t// These intermediary objects are needed because the \"layout\" property is stored\n\t// in settings rather than styles.\n\tconst inheritedStyleWithLayout = useMemo( () => {\n\t\treturn {\n\t\t\t...inheritedStyle,\n\t\t\tlayout: settings.layout,\n\t\t};\n\t}, [ inheritedStyle, settings.layout ] );\n\n\tconst styleWithLayout = useMemo( () => {\n\t\treturn {\n\t\t\t...style,\n\t\t\tlayout: settings.layout,\n\t\t};\n\t}, [ style, settings.layout ] );\n\n\tconst onChange = ( newStyle ) => {\n\t\tconst updatedStyle = { ...newStyle };\n\t\tdelete updatedStyle.layout;\n\t\tsetStyle( updatedStyle );\n\n\t\tif ( newStyle.layout !== settings.layout ) {\n\t\t\tsetSettings( {\n\t\t\t\t...rawSettings,\n\t\t\t\tlayout: newStyle.layout,\n\t\t\t} );\n\t\t}\n\t};\n\n\treturn (\n\t\t<StylesDimensionsPanel\n\t\t\tinheritedValue={ inheritedStyleWithLayout }\n\t\t\tvalue={ styleWithLayout }\n\t\t\tonChange={ onChange }\n\t\t\tsettings={ settings }\n\t\t\tincludeLayoutControls\n\t\t/>\n\t);\n}\n"]}
|