@wordpress/block-editor 14.8.1-next.a9f418477.0 → 14.9.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 +2 -0
- package/README.md +8 -0
- package/build/autocompleters/block.js +1 -0
- package/build/autocompleters/block.js.map +1 -1
- package/build/autocompleters/link.js +1 -0
- package/build/autocompleters/link.js.map +1 -1
- package/build/components/alignment-control/ui.js +1 -0
- package/build/components/alignment-control/ui.js.map +1 -1
- package/build/components/autocomplete/index.js +1 -0
- package/build/components/autocomplete/index.js.map +1 -1
- package/build/components/background-image-control/index.js +1 -0
- package/build/components/background-image-control/index.js.map +1 -1
- package/build/components/block-actions/index.js +1 -0
- package/build/components/block-actions/index.js.map +1 -1
- package/build/components/block-alignment-control/ui.js +1 -0
- package/build/components/block-alignment-control/ui.js.map +1 -1
- package/build/components/block-alignment-control/ui.native.js +1 -0
- package/build/components/block-alignment-control/ui.native.js.map +1 -1
- package/build/components/block-alignment-control/use-available-alignments.js +1 -0
- package/build/components/block-alignment-control/use-available-alignments.js.map +1 -1
- package/build/components/block-breadcrumb/index.js +1 -0
- package/build/components/block-breadcrumb/index.js.map +1 -1
- package/build/components/block-compare/index.js +1 -0
- package/build/components/block-compare/index.js.map +1 -1
- package/build/components/block-controls/fill.js +1 -0
- package/build/components/block-controls/fill.js.map +1 -1
- package/build/components/block-edit/edit.js +1 -0
- package/build/components/block-edit/edit.js.map +1 -1
- package/build/components/block-edit/edit.native.js +1 -0
- package/build/components/block-edit/edit.native.js.map +1 -1
- package/build/components/block-heading-level-dropdown/index.js +1 -0
- package/build/components/block-heading-level-dropdown/index.js.map +1 -1
- package/build/components/block-heading-level-dropdown/index.native.js +1 -0
- package/build/components/block-heading-level-dropdown/index.native.js.map +1 -1
- package/build/components/block-inspector/index.js +1 -0
- package/build/components/block-inspector/index.js.map +1 -1
- package/build/components/block-list/block-invalid-warning.js +1 -0
- package/build/components/block-list/block-invalid-warning.js.map +1 -1
- package/build/components/block-list/block-list-context.native.js +1 -0
- package/build/components/block-list/block-list-context.native.js.map +1 -1
- package/build/components/block-list/block.js +1 -0
- package/build/components/block-list/block.js.map +1 -1
- package/build/components/block-list/block.native.js +1 -0
- package/build/components/block-list/block.native.js.map +1 -1
- package/build/components/block-list/index.js +1 -0
- package/build/components/block-list/index.js.map +1 -1
- package/build/components/block-list/index.native.js +1 -0
- package/build/components/block-list/index.native.js.map +1 -1
- package/build/components/block-list/use-block-props/use-focus-first-element.js +1 -0
- package/build/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
- package/build/components/block-list/use-in-between-inserter.js +1 -0
- package/build/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build/components/block-lock/modal.js +1 -0
- package/build/components/block-lock/modal.js.map +1 -1
- package/build/components/block-manager/category.js +1 -0
- package/build/components/block-manager/category.js.map +1 -1
- package/build/components/block-manager/checklist.js +1 -0
- package/build/components/block-manager/checklist.js.map +1 -1
- package/build/components/block-manager/index.js +1 -0
- package/build/components/block-manager/index.js.map +1 -1
- package/build/components/block-media-update-progress/index.native.js +1 -0
- package/build/components/block-media-update-progress/index.native.js.map +1 -1
- package/build/components/block-mover/index.native.js +1 -0
- package/build/components/block-mover/index.native.js.map +1 -1
- package/build/components/block-mover/mover-description.native.js +1 -0
- package/build/components/block-mover/mover-description.native.js.map +1 -1
- package/build/components/block-pattern-setup/index.js +1 -0
- package/build/components/block-pattern-setup/index.js.map +1 -1
- package/build/components/block-pattern-setup/use-patterns-setup.js +1 -0
- package/build/components/block-pattern-setup/use-patterns-setup.js.map +1 -1
- package/build/components/block-patterns-list/index.js +1 -0
- package/build/components/block-patterns-list/index.js.map +1 -1
- package/build/components/block-quick-navigation/index.js +1 -0
- package/build/components/block-quick-navigation/index.js.map +1 -1
- package/build/components/block-rename/rename-control.js +1 -0
- package/build/components/block-rename/rename-control.js.map +1 -1
- package/build/components/block-settings-menu/block-settings-dropdown.js +1 -0
- package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build/components/block-styles/index.js +1 -0
- package/build/components/block-styles/index.js.map +1 -1
- package/build/components/block-styles/index.native.js +1 -0
- package/build/components/block-styles/index.native.js.map +1 -1
- package/build/components/block-styles/menu-items.js +1 -0
- package/build/components/block-styles/menu-items.js.map +1 -1
- package/build/components/block-styles/preview.native.js +1 -0
- package/build/components/block-styles/preview.native.js.map +1 -1
- package/build/components/block-switcher/block-transformations-menu.js +1 -0
- package/build/components/block-switcher/block-transformations-menu.js.map +1 -1
- package/build/components/block-switcher/block-transformations-menu.native.js +1 -0
- package/build/components/block-switcher/block-transformations-menu.native.js.map +1 -1
- package/build/components/block-switcher/block-variation-transformations.js +1 -0
- package/build/components/block-switcher/block-variation-transformations.js.map +1 -1
- package/build/components/block-switcher/index.js +1 -0
- package/build/components/block-switcher/index.js.map +1 -1
- package/build/components/block-switcher/pattern-transformations-menu.js +1 -0
- package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
- package/build/components/block-switcher/use-transformed-patterns.js +1 -0
- package/build/components/block-switcher/use-transformed-patterns.js.map +1 -1
- package/build/components/block-switcher/utils.js +1 -0
- package/build/components/block-switcher/utils.js.map +1 -1
- package/build/components/block-toolbar/block-toolbar-menu.native.js +1 -0
- package/build/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
- package/build/components/block-toolbar/change-design.js +1 -0
- package/build/components/block-toolbar/change-design.js.map +1 -1
- package/build/components/block-toolbar/index.js +1 -0
- package/build/components/block-toolbar/index.js.map +1 -1
- package/build/components/block-tools/use-selected-block-tool-props.js +1 -0
- package/build/components/block-tools/use-selected-block-tool-props.js.map +1 -1
- package/build/components/block-types-list/index.js +1 -0
- package/build/components/block-types-list/index.js.map +1 -1
- package/build/components/block-variation-picker/index.js +1 -0
- package/build/components/block-variation-picker/index.js.map +1 -1
- package/build/components/block-variation-picker/index.native.js +1 -0
- package/build/components/block-variation-picker/index.native.js.map +1 -1
- package/build/components/block-variation-transforms/index.js +1 -0
- package/build/components/block-variation-transforms/index.js.map +1 -1
- package/build/components/block-vertical-alignment-control/ui.js +1 -0
- package/build/components/block-vertical-alignment-control/ui.js.map +1 -1
- package/build/components/border-radius-control/index.js +1 -0
- package/build/components/border-radius-control/index.js.map +1 -1
- package/build/components/border-radius-control/input-controls.js +1 -0
- package/build/components/border-radius-control/input-controls.js.map +1 -1
- package/build/components/border-radius-control/utils.js +1 -0
- package/build/components/border-radius-control/utils.js.map +1 -1
- package/build/components/colors/utils.js +1 -0
- package/build/components/colors/utils.js.map +1 -1
- package/build/components/colors/with-colors.js +1 -0
- package/build/components/colors/with-colors.js.map +1 -1
- package/build/components/colors-gradients/dropdown.js +1 -0
- package/build/components/colors-gradients/dropdown.js.map +1 -1
- package/build/components/colors-gradients/panel-color-gradient-settings.js +1 -0
- package/build/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
- package/build/components/colors-gradients/panel-color-gradient-settings.native.js +1 -0
- package/build/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
- package/build/components/convert-to-group-buttons/toolbar.js +1 -0
- package/build/components/convert-to-group-buttons/toolbar.js.map +1 -1
- package/build/components/date-format-picker/index.js +1 -0
- package/build/components/date-format-picker/index.js.map +1 -1
- package/build/components/dimensions-tool/scale-tool.js +1 -0
- package/build/components/dimensions-tool/scale-tool.js.map +1 -1
- package/build/components/duotone/utils.js +1 -0
- package/build/components/duotone/utils.js.map +1 -1
- package/build/components/editor-styles/index.js +1 -0
- package/build/components/editor-styles/index.js.map +1 -1
- package/build/components/font-appearance-control/index.js +1 -0
- package/build/components/font-appearance-control/index.js.map +1 -1
- package/build/components/font-family/index.js +1 -0
- package/build/components/font-family/index.js.map +1 -1
- package/build/components/font-sizes/with-font-sizes.js +1 -0
- package/build/components/font-sizes/with-font-sizes.js.map +1 -1
- package/build/components/global-styles/border-panel.js +1 -0
- package/build/components/global-styles/border-panel.js.map +1 -1
- package/build/components/global-styles/color-panel.js +25 -8
- package/build/components/global-styles/color-panel.js.map +1 -1
- package/build/components/global-styles/color-panel.native.js +1 -0
- package/build/components/global-styles/color-panel.native.js.map +1 -1
- package/build/components/global-styles/dimensions-panel.js +1 -0
- package/build/components/global-styles/dimensions-panel.js.map +1 -1
- package/build/components/global-styles/filters-panel.js +3 -2
- package/build/components/global-styles/filters-panel.js.map +1 -1
- package/build/components/global-styles/get-global-styles-changes.js +1 -0
- package/build/components/global-styles/get-global-styles-changes.js.map +1 -1
- package/build/components/global-styles/shadow-panel-components.js +1 -0
- package/build/components/global-styles/shadow-panel-components.js.map +1 -1
- package/build/components/global-styles/typography-utils.js +1 -0
- package/build/components/global-styles/typography-utils.js.map +1 -1
- package/build/components/global-styles/use-global-styles-context.native.js +1 -0
- package/build/components/global-styles/use-global-styles-context.native.js.map +1 -1
- package/build/components/global-styles/use-global-styles-output.js +2 -1
- package/build/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build/components/global-styles/utils.js +1 -0
- package/build/components/global-styles/utils.js.map +1 -1
- package/build/components/grid/grid-visualizer.js +1 -0
- package/build/components/grid/grid-visualizer.js.map +1 -1
- package/build/components/grid/use-grid-layout-sync.js +1 -0
- package/build/components/grid/use-grid-layout-sync.js.map +1 -1
- package/build/components/grid/utils.js +1 -0
- package/build/components/grid/utils.js.map +1 -1
- package/build/components/iframe/get-compatibility-styles.js +1 -0
- package/build/components/iframe/get-compatibility-styles.js.map +1 -1
- package/build/components/image-editor/aspect-ratio-dropdown.js +1 -0
- package/build/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
- package/build/components/index.js +15 -8
- package/build/components/index.js.map +1 -1
- package/build/components/inner-blocks/use-block-context.js +1 -0
- package/build/components/inner-blocks/use-block-context.js.map +1 -1
- package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +1 -0
- package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
- package/build/components/inserter/block-patterns-explorer/pattern-list.js +1 -0
- package/build/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/pattern-category-previews.js +1 -0
- package/build/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/use-pattern-categories.js +1 -0
- package/build/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -1
- package/build/components/inserter/block-types-tab.js +2 -1
- package/build/components/inserter/block-types-tab.js.map +1 -1
- package/build/components/inserter/block-types-tab.native.js +1 -0
- package/build/components/inserter/block-types-tab.native.js.map +1 -1
- package/build/components/inserter/category-tabs/index.js +1 -0
- package/build/components/inserter/category-tabs/index.js.map +1 -1
- package/build/components/inserter/hooks/use-block-type-impressions.native.js +1 -0
- package/build/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
- package/build/components/inserter/hooks/use-patterns-state.js +1 -0
- package/build/components/inserter/hooks/use-patterns-state.js.map +1 -1
- package/build/components/inserter/index.js +1 -0
- package/build/components/inserter/index.js.map +1 -1
- package/build/components/inserter/index.native.js +1 -0
- package/build/components/inserter/index.native.js.map +1 -1
- package/build/components/inserter/media-tab/hooks.js +1 -0
- package/build/components/inserter/media-tab/hooks.js.map +1 -1
- package/build/components/inserter/media-tab/media-list.js +1 -0
- package/build/components/inserter/media-tab/media-list.js.map +1 -1
- package/build/components/inserter/media-tab/media-tab.js +1 -0
- package/build/components/inserter/media-tab/media-tab.js.map +1 -1
- package/build/components/inserter/menu.js +1 -0
- package/build/components/inserter/menu.js.map +1 -1
- package/build/components/inserter/mobile-tab-navigation.js +1 -0
- package/build/components/inserter/mobile-tab-navigation.js.map +1 -1
- package/build/components/inserter/search-items.js +1 -0
- package/build/components/inserter/search-items.js.map +1 -1
- package/build/components/inserter/search-results.js +1 -0
- package/build/components/inserter/search-results.js.map +1 -1
- package/build/components/inserter/tabs.native.js +1 -0
- package/build/components/inserter/tabs.native.js.map +1 -1
- package/build/components/inserter/utils.native.js +1 -0
- package/build/components/inserter/utils.native.js.map +1 -1
- package/build/components/inspector-controls/block-support-tools-panel.js +1 -0
- package/build/components/inspector-controls/block-support-tools-panel.js.map +1 -1
- package/build/components/inspector-controls/fill.js +1 -0
- package/build/components/inspector-controls/fill.js.map +1 -1
- package/build/components/inspector-controls-tabs/index.js +1 -0
- package/build/components/inspector-controls-tabs/index.js.map +1 -1
- package/build/components/inspector-controls-tabs/position-controls-panel.js +1 -0
- package/build/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
- package/build/components/inspector-popover-header/index.js +1 -0
- package/build/components/inspector-popover-header/index.js.map +1 -1
- package/build/components/justify-content-control/ui.js +1 -0
- package/build/components/justify-content-control/ui.js.map +1 -1
- package/build/components/link-control/index.js +13 -1
- package/build/components/link-control/index.js.map +1 -1
- package/build/components/link-control/search-input.js +11 -1
- package/build/components/link-control/search-input.js.map +1 -1
- package/build/components/link-control/search-item.js +12 -1
- package/build/components/link-control/search-item.js.map +1 -1
- package/build/components/link-control/search-results.js +13 -1
- package/build/components/link-control/search-results.js.map +1 -1
- package/build/components/link-control/settings.js +1 -0
- package/build/components/link-control/settings.js.map +1 -1
- package/build/components/link-control/use-internal-value.js +1 -0
- package/build/components/link-control/use-internal-value.js.map +1 -1
- package/build/components/link-control/use-search-handler.js +1 -0
- package/build/components/link-control/use-search-handler.js.map +1 -1
- package/build/components/list-view/block-select-button.js +1 -0
- package/build/components/list-view/block-select-button.js.map +1 -1
- package/build/components/list-view/block.js +1 -0
- package/build/components/list-view/block.js.map +1 -1
- package/build/components/list-view/branch.js +1 -0
- package/build/components/list-view/branch.js.map +1 -1
- package/build/components/list-view/index.js +1 -0
- package/build/components/list-view/index.js.map +1 -1
- package/build/components/list-view/use-block-selection.js +1 -0
- package/build/components/list-view/use-block-selection.js.map +1 -1
- package/build/components/list-view/use-clipboard-handler.js +1 -0
- package/build/components/list-view/use-clipboard-handler.js.map +1 -1
- package/build/components/list-view/use-list-view-block-indexes.js +1 -0
- package/build/components/list-view/use-list-view-block-indexes.js.map +1 -1
- package/build/components/list-view/use-list-view-drop-zone.js +1 -0
- package/build/components/list-view/use-list-view-drop-zone.js.map +1 -1
- package/build/components/list-view/utils.js +1 -0
- package/build/components/list-view/utils.js.map +1 -1
- package/build/components/media-placeholder/index.js +1 -0
- package/build/components/media-placeholder/index.js.map +1 -1
- package/build/components/media-placeholder/index.native.js +1 -0
- package/build/components/media-placeholder/index.native.js.map +1 -1
- package/build/components/media-replace-flow/index.js +1 -0
- package/build/components/media-replace-flow/index.js.map +1 -1
- package/build/components/media-upload/index.native.js +1 -0
- package/build/components/media-upload/index.native.js.map +1 -1
- package/build/components/navigable-toolbar/index.js +1 -0
- package/build/components/navigable-toolbar/index.js.map +1 -1
- package/build/components/panel-color-settings/index.js +1 -0
- package/build/components/panel-color-settings/index.js.map +1 -1
- package/build/components/provider/use-block-sync.js +1 -0
- package/build/components/provider/use-block-sync.js.map +1 -1
- package/build/components/responsive-block-control/index.js +1 -0
- package/build/components/responsive-block-control/index.js.map +1 -1
- package/build/components/rich-text/embed-handler-picker.native.js +1 -0
- package/build/components/rich-text/embed-handler-picker.native.js.map +1 -1
- package/build/components/rich-text/event-listeners/before-input-rules.js +1 -0
- package/build/components/rich-text/event-listeners/before-input-rules.js.map +1 -1
- package/build/components/rich-text/event-listeners/index.js +1 -0
- package/build/components/rich-text/event-listeners/index.js.map +1 -1
- package/build/components/rich-text/event-listeners/input-rules.js +1 -0
- package/build/components/rich-text/event-listeners/input-rules.js.map +1 -1
- package/build/components/rich-text/event-listeners/paste-handler.js +1 -0
- package/build/components/rich-text/event-listeners/paste-handler.js.map +1 -1
- package/build/components/rich-text/file-paste-handler.native.js +1 -0
- package/build/components/rich-text/file-paste-handler.native.js.map +1 -1
- package/build/components/rich-text/format-edit.js +1 -0
- package/build/components/rich-text/format-edit.js.map +1 -1
- package/build/components/rich-text/format-toolbar/index.js +1 -0
- package/build/components/rich-text/format-toolbar/index.js.map +1 -1
- package/build/components/rich-text/index.js +1 -0
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/rich-text/index.native.js +1 -0
- package/build/components/rich-text/index.native.js.map +1 -1
- package/build/components/rich-text/multiline.js +1 -0
- package/build/components/rich-text/multiline.js.map +1 -1
- package/build/components/rich-text/native/format-edit.js +1 -0
- package/build/components/rich-text/native/format-edit.js.map +1 -1
- package/build/components/rich-text/native/get-format-colors.native.js +1 -0
- package/build/components/rich-text/native/get-format-colors.native.js.map +1 -1
- package/build/components/rich-text/native/index.native.js +1 -0
- package/build/components/rich-text/native/index.native.js.map +1 -1
- package/build/components/rich-text/native/toolbar-button-with-options.native.js +1 -0
- package/build/components/rich-text/native/toolbar-button-with-options.native.js.map +1 -1
- package/build/components/rich-text/native/use-format-types.js +1 -0
- package/build/components/rich-text/native/use-format-types.js.map +1 -1
- package/build/components/rich-text/use-format-types.js +1 -0
- package/build/components/rich-text/use-format-types.js.map +1 -1
- package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.js +1 -0
- package/build/components/spacing-sizes-control/hooks/use-spacing-sizes.js.map +1 -1
- package/build/components/spacing-sizes-control/input-controls/axial.js +1 -0
- package/build/components/spacing-sizes-control/input-controls/axial.js.map +1 -1
- package/build/components/spacing-sizes-control/input-controls/separated.js +1 -0
- package/build/components/spacing-sizes-control/input-controls/separated.js.map +1 -1
- package/build/components/spacing-sizes-control/input-controls/single.js +1 -0
- package/build/components/spacing-sizes-control/input-controls/single.js.map +1 -1
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +1 -0
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
- package/build/components/spacing-sizes-control/utils.js +1 -0
- package/build/components/spacing-sizes-control/utils.js.map +1 -1
- package/build/components/tabbed-sidebar/index.js +1 -0
- package/build/components/tabbed-sidebar/index.js.map +1 -1
- package/build/components/text-alignment-control/index.js +1 -0
- package/build/components/text-alignment-control/index.js.map +1 -1
- package/build/components/text-decoration-control/index.js +1 -0
- package/build/components/text-decoration-control/index.js.map +1 -1
- package/build/components/text-transform-control/index.js +1 -0
- package/build/components/text-transform-control/index.js.map +1 -1
- package/build/components/unsupported-block-details/index.native.js +1 -0
- package/build/components/unsupported-block-details/index.native.js.map +1 -1
- package/build/components/url-input/index.js +1 -0
- package/build/components/url-input/index.js.map +1 -1
- package/build/components/url-popover/image-url-input-ui.js +1 -0
- package/build/components/url-popover/image-url-input-ui.js.map +1 -1
- package/build/components/use-block-commands/index.js +1 -0
- package/build/components/use-block-commands/index.js.map +1 -1
- package/build/components/use-block-drop-zone/index.js +1 -0
- package/build/components/use-block-drop-zone/index.js.map +1 -1
- package/build/components/use-block-drop-zone/index.native.js +1 -0
- package/build/components/use-block-drop-zone/index.native.js.map +1 -1
- package/build/components/use-flash-editable-blocks/index.js +1 -0
- package/build/components/use-flash-editable-blocks/index.js.map +1 -1
- package/build/components/use-on-block-drop/index.js +1 -0
- package/build/components/use-on-block-drop/index.js.map +1 -1
- package/build/components/use-on-block-drop/index.native.js +1 -0
- package/build/components/use-on-block-drop/index.native.js.map +1 -1
- package/build/components/use-paste-styles/index.js +1 -0
- package/build/components/use-paste-styles/index.js.map +1 -1
- package/build/components/warning/index.js +1 -0
- package/build/components/warning/index.js.map +1 -1
- package/build/components/writing-flow/use-arrow-nav.js +1 -0
- package/build/components/writing-flow/use-arrow-nav.js.map +1 -1
- package/build/components/writing-flow/use-clipboard-handler.js +1 -0
- package/build/components/writing-flow/use-clipboard-handler.js.map +1 -1
- package/build/components/writing-flow/use-input.js +1 -0
- package/build/components/writing-flow/use-input.js.map +1 -1
- package/build/components/writing-flow/use-tab-nav.js +1 -0
- package/build/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build/components/writing-flow/utils.js +1 -0
- package/build/components/writing-flow/utils.js.map +1 -1
- package/build/components/writing-mode-control/index.js +1 -0
- package/build/components/writing-mode-control/index.js.map +1 -1
- package/build/hooks/align.js +1 -0
- package/build/hooks/align.js.map +1 -1
- package/build/hooks/align.native.js +1 -0
- package/build/hooks/align.native.js.map +1 -1
- package/build/hooks/block-bindings.js +1 -0
- package/build/hooks/block-bindings.js.map +1 -1
- package/build/hooks/block-hooks.js +1 -0
- package/build/hooks/block-hooks.js.map +1 -1
- package/build/hooks/block-style-variation.js +1 -0
- package/build/hooks/block-style-variation.js.map +1 -1
- package/build/hooks/border.js +1 -0
- package/build/hooks/border.js.map +1 -1
- package/build/hooks/duotone.js +1 -0
- package/build/hooks/duotone.js.map +1 -1
- package/build/hooks/index.js +1 -0
- package/build/hooks/index.js.map +1 -1
- package/build/hooks/layout.js +1 -0
- package/build/hooks/layout.js.map +1 -1
- package/build/hooks/position.js +1 -0
- package/build/hooks/position.js.map +1 -1
- package/build/hooks/style.js +2 -1
- package/build/hooks/style.js.map +1 -1
- package/build/hooks/supports.js +1 -0
- package/build/hooks/supports.js.map +1 -1
- package/build/hooks/text-align.js +1 -0
- package/build/hooks/text-align.js.map +1 -1
- package/build/hooks/typography.js +1 -0
- package/build/hooks/typography.js.map +1 -1
- package/build/hooks/use-bindings-attributes.js +1 -0
- package/build/hooks/use-bindings-attributes.js.map +1 -1
- package/build/hooks/utils.js +1 -0
- package/build/hooks/utils.js.map +1 -1
- package/build/layouts/constrained.js +1 -0
- package/build/layouts/constrained.js.map +1 -1
- package/build/layouts/flex.js +1 -0
- package/build/layouts/flex.js.map +1 -1
- package/build/layouts/flow.js +1 -0
- package/build/layouts/flow.js.map +1 -1
- package/build/layouts/index.js +1 -0
- package/build/layouts/index.js.map +1 -1
- package/build/layouts/utils.js +1 -0
- package/build/layouts/utils.js.map +1 -1
- package/build/store/actions.js +1 -0
- package/build/store/actions.js.map +1 -1
- package/build/store/get-block-settings.js +1 -0
- package/build/store/get-block-settings.js.map +1 -1
- package/build/store/private-actions.js +1 -0
- package/build/store/private-actions.js.map +1 -1
- package/build/store/private-selectors.js +1 -0
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js +1 -0
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +13 -15
- package/build/store/selectors.js.map +1 -1
- package/build/store/utils.js +1 -0
- package/build/store/utils.js.map +1 -1
- package/build/utils/block-bindings.js +1 -0
- package/build/utils/block-bindings.js.map +1 -1
- package/build/utils/get-editor-region.js +1 -0
- package/build/utils/get-editor-region.js.map +1 -1
- package/build/utils/get-font-styles-and-weights.js +1 -0
- package/build/utils/get-font-styles-and-weights.js.map +1 -1
- package/build/utils/math.js +1 -0
- package/build/utils/math.js.map +1 -1
- package/build/utils/object.js +1 -0
- package/build/utils/object.js.map +1 -1
- package/build/utils/selection.js +1 -0
- package/build/utils/selection.js.map +1 -1
- package/build/utils/transform-styles/index.js +1 -0
- package/build/utils/transform-styles/index.js.map +1 -1
- package/build-module/autocompleters/block.js +1 -0
- package/build-module/autocompleters/block.js.map +1 -1
- package/build-module/autocompleters/link.js +1 -0
- package/build-module/autocompleters/link.js.map +1 -1
- package/build-module/components/alignment-control/ui.js +1 -0
- package/build-module/components/alignment-control/ui.js.map +1 -1
- package/build-module/components/autocomplete/index.js +1 -0
- package/build-module/components/autocomplete/index.js.map +1 -1
- package/build-module/components/background-image-control/index.js +1 -0
- package/build-module/components/background-image-control/index.js.map +1 -1
- package/build-module/components/block-actions/index.js +1 -0
- package/build-module/components/block-actions/index.js.map +1 -1
- package/build-module/components/block-alignment-control/ui.js +1 -0
- package/build-module/components/block-alignment-control/ui.js.map +1 -1
- package/build-module/components/block-alignment-control/ui.native.js +1 -0
- package/build-module/components/block-alignment-control/ui.native.js.map +1 -1
- package/build-module/components/block-alignment-control/use-available-alignments.js +1 -0
- package/build-module/components/block-alignment-control/use-available-alignments.js.map +1 -1
- package/build-module/components/block-breadcrumb/index.js +1 -0
- package/build-module/components/block-breadcrumb/index.js.map +1 -1
- package/build-module/components/block-compare/index.js +1 -0
- package/build-module/components/block-compare/index.js.map +1 -1
- package/build-module/components/block-controls/fill.js +1 -0
- package/build-module/components/block-controls/fill.js.map +1 -1
- package/build-module/components/block-edit/edit.js +1 -0
- package/build-module/components/block-edit/edit.js.map +1 -1
- package/build-module/components/block-edit/edit.native.js +1 -0
- package/build-module/components/block-edit/edit.native.js.map +1 -1
- package/build-module/components/block-heading-level-dropdown/index.js +1 -0
- package/build-module/components/block-heading-level-dropdown/index.js.map +1 -1
- package/build-module/components/block-heading-level-dropdown/index.native.js +1 -0
- package/build-module/components/block-heading-level-dropdown/index.native.js.map +1 -1
- package/build-module/components/block-inspector/index.js +1 -0
- package/build-module/components/block-inspector/index.js.map +1 -1
- package/build-module/components/block-list/block-invalid-warning.js +1 -0
- package/build-module/components/block-list/block-invalid-warning.js.map +1 -1
- package/build-module/components/block-list/block-list-context.native.js +1 -0
- package/build-module/components/block-list/block-list-context.native.js.map +1 -1
- package/build-module/components/block-list/block.js +1 -0
- package/build-module/components/block-list/block.js.map +1 -1
- package/build-module/components/block-list/block.native.js +1 -0
- package/build-module/components/block-list/block.native.js.map +1 -1
- package/build-module/components/block-list/index.js +1 -0
- package/build-module/components/block-list/index.js.map +1 -1
- package/build-module/components/block-list/index.native.js +1 -0
- package/build-module/components/block-list/index.native.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-focus-first-element.js +1 -0
- package/build-module/components/block-list/use-block-props/use-focus-first-element.js.map +1 -1
- package/build-module/components/block-list/use-in-between-inserter.js +1 -0
- package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build-module/components/block-lock/modal.js +1 -0
- package/build-module/components/block-lock/modal.js.map +1 -1
- package/build-module/components/block-manager/category.js +1 -0
- package/build-module/components/block-manager/category.js.map +1 -1
- package/build-module/components/block-manager/checklist.js +1 -0
- package/build-module/components/block-manager/checklist.js.map +1 -1
- package/build-module/components/block-manager/index.js +1 -0
- package/build-module/components/block-manager/index.js.map +1 -1
- package/build-module/components/block-media-update-progress/index.native.js +1 -0
- package/build-module/components/block-media-update-progress/index.native.js.map +1 -1
- package/build-module/components/block-mover/index.native.js +1 -0
- package/build-module/components/block-mover/index.native.js.map +1 -1
- package/build-module/components/block-mover/mover-description.native.js +1 -0
- package/build-module/components/block-mover/mover-description.native.js.map +1 -1
- package/build-module/components/block-pattern-setup/index.js +1 -0
- package/build-module/components/block-pattern-setup/index.js.map +1 -1
- package/build-module/components/block-pattern-setup/use-patterns-setup.js +1 -0
- package/build-module/components/block-pattern-setup/use-patterns-setup.js.map +1 -1
- package/build-module/components/block-patterns-list/index.js +1 -0
- package/build-module/components/block-patterns-list/index.js.map +1 -1
- package/build-module/components/block-quick-navigation/index.js +1 -0
- package/build-module/components/block-quick-navigation/index.js.map +1 -1
- package/build-module/components/block-rename/rename-control.js +1 -0
- package/build-module/components/block-rename/rename-control.js.map +1 -1
- package/build-module/components/block-settings-menu/block-settings-dropdown.js +1 -0
- package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build-module/components/block-styles/index.js +1 -0
- package/build-module/components/block-styles/index.js.map +1 -1
- package/build-module/components/block-styles/index.native.js +1 -0
- package/build-module/components/block-styles/index.native.js.map +1 -1
- package/build-module/components/block-styles/menu-items.js +1 -0
- package/build-module/components/block-styles/menu-items.js.map +1 -1
- package/build-module/components/block-styles/preview.native.js +1 -0
- package/build-module/components/block-styles/preview.native.js.map +1 -1
- package/build-module/components/block-switcher/block-transformations-menu.js +1 -0
- package/build-module/components/block-switcher/block-transformations-menu.js.map +1 -1
- package/build-module/components/block-switcher/block-transformations-menu.native.js +1 -0
- package/build-module/components/block-switcher/block-transformations-menu.native.js.map +1 -1
- package/build-module/components/block-switcher/block-variation-transformations.js +1 -0
- package/build-module/components/block-switcher/block-variation-transformations.js.map +1 -1
- package/build-module/components/block-switcher/index.js +1 -0
- package/build-module/components/block-switcher/index.js.map +1 -1
- package/build-module/components/block-switcher/pattern-transformations-menu.js +1 -0
- package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
- package/build-module/components/block-switcher/use-transformed-patterns.js +1 -0
- package/build-module/components/block-switcher/use-transformed-patterns.js.map +1 -1
- package/build-module/components/block-switcher/utils.js +1 -0
- package/build-module/components/block-switcher/utils.js.map +1 -1
- package/build-module/components/block-toolbar/block-toolbar-menu.native.js +1 -0
- package/build-module/components/block-toolbar/block-toolbar-menu.native.js.map +1 -1
- package/build-module/components/block-toolbar/change-design.js +1 -0
- package/build-module/components/block-toolbar/change-design.js.map +1 -1
- package/build-module/components/block-toolbar/index.js +1 -0
- package/build-module/components/block-toolbar/index.js.map +1 -1
- package/build-module/components/block-tools/use-selected-block-tool-props.js +1 -0
- package/build-module/components/block-tools/use-selected-block-tool-props.js.map +1 -1
- package/build-module/components/block-types-list/index.js +1 -0
- package/build-module/components/block-types-list/index.js.map +1 -1
- package/build-module/components/block-variation-picker/index.js +1 -0
- package/build-module/components/block-variation-picker/index.js.map +1 -1
- package/build-module/components/block-variation-picker/index.native.js +1 -0
- package/build-module/components/block-variation-picker/index.native.js.map +1 -1
- package/build-module/components/block-variation-transforms/index.js +1 -0
- package/build-module/components/block-variation-transforms/index.js.map +1 -1
- package/build-module/components/block-vertical-alignment-control/ui.js +1 -0
- package/build-module/components/block-vertical-alignment-control/ui.js.map +1 -1
- package/build-module/components/border-radius-control/index.js +1 -0
- package/build-module/components/border-radius-control/index.js.map +1 -1
- package/build-module/components/border-radius-control/input-controls.js +1 -0
- package/build-module/components/border-radius-control/input-controls.js.map +1 -1
- package/build-module/components/border-radius-control/utils.js +1 -0
- package/build-module/components/border-radius-control/utils.js.map +1 -1
- package/build-module/components/colors/utils.js +1 -0
- package/build-module/components/colors/utils.js.map +1 -1
- package/build-module/components/colors/with-colors.js +1 -0
- package/build-module/components/colors/with-colors.js.map +1 -1
- package/build-module/components/colors-gradients/dropdown.js +1 -0
- package/build-module/components/colors-gradients/dropdown.js.map +1 -1
- package/build-module/components/colors-gradients/panel-color-gradient-settings.js +1 -0
- package/build-module/components/colors-gradients/panel-color-gradient-settings.js.map +1 -1
- package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js +1 -0
- package/build-module/components/colors-gradients/panel-color-gradient-settings.native.js.map +1 -1
- package/build-module/components/convert-to-group-buttons/toolbar.js +1 -0
- package/build-module/components/convert-to-group-buttons/toolbar.js.map +1 -1
- package/build-module/components/date-format-picker/index.js +1 -0
- package/build-module/components/date-format-picker/index.js.map +1 -1
- package/build-module/components/dimensions-tool/scale-tool.js +1 -0
- package/build-module/components/dimensions-tool/scale-tool.js.map +1 -1
- package/build-module/components/duotone/utils.js +1 -0
- package/build-module/components/duotone/utils.js.map +1 -1
- package/build-module/components/editor-styles/index.js +1 -0
- package/build-module/components/editor-styles/index.js.map +1 -1
- package/build-module/components/font-appearance-control/index.js +1 -0
- package/build-module/components/font-appearance-control/index.js.map +1 -1
- package/build-module/components/font-family/index.js +1 -0
- package/build-module/components/font-family/index.js.map +1 -1
- package/build-module/components/font-sizes/with-font-sizes.js +1 -0
- package/build-module/components/font-sizes/with-font-sizes.js.map +1 -1
- package/build-module/components/global-styles/border-panel.js +1 -0
- package/build-module/components/global-styles/border-panel.js.map +1 -1
- package/build-module/components/global-styles/color-panel.js +27 -10
- package/build-module/components/global-styles/color-panel.js.map +1 -1
- package/build-module/components/global-styles/color-panel.native.js +1 -0
- package/build-module/components/global-styles/color-panel.native.js.map +1 -1
- package/build-module/components/global-styles/dimensions-panel.js +1 -0
- package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
- package/build-module/components/global-styles/filters-panel.js +4 -3
- package/build-module/components/global-styles/filters-panel.js.map +1 -1
- package/build-module/components/global-styles/get-global-styles-changes.js +1 -0
- package/build-module/components/global-styles/get-global-styles-changes.js.map +1 -1
- package/build-module/components/global-styles/shadow-panel-components.js +1 -0
- package/build-module/components/global-styles/shadow-panel-components.js.map +1 -1
- package/build-module/components/global-styles/typography-utils.js +1 -0
- package/build-module/components/global-styles/typography-utils.js.map +1 -1
- package/build-module/components/global-styles/use-global-styles-context.native.js +1 -0
- package/build-module/components/global-styles/use-global-styles-context.native.js.map +1 -1
- package/build-module/components/global-styles/use-global-styles-output.js +2 -1
- package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build-module/components/global-styles/utils.js +1 -0
- package/build-module/components/global-styles/utils.js.map +1 -1
- package/build-module/components/grid/grid-visualizer.js +1 -0
- package/build-module/components/grid/grid-visualizer.js.map +1 -1
- package/build-module/components/grid/use-grid-layout-sync.js +1 -0
- package/build-module/components/grid/use-grid-layout-sync.js.map +1 -1
- package/build-module/components/grid/utils.js +1 -0
- package/build-module/components/grid/utils.js.map +1 -1
- package/build-module/components/iframe/get-compatibility-styles.js +1 -0
- package/build-module/components/iframe/get-compatibility-styles.js.map +1 -1
- package/build-module/components/image-editor/aspect-ratio-dropdown.js +1 -0
- package/build-module/components/image-editor/aspect-ratio-dropdown.js.map +1 -1
- package/build-module/components/index.js +4 -4
- package/build-module/components/index.js.map +1 -1
- package/build-module/components/inner-blocks/use-block-context.js +1 -0
- package/build-module/components/inner-blocks/use-block-context.js.map +1 -1
- package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +1 -0
- package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
- package/build-module/components/inserter/block-patterns-explorer/pattern-list.js +1 -0
- package/build-module/components/inserter/block-patterns-explorer/pattern-list.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js +1 -0
- package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js +1 -0
- package/build-module/components/inserter/block-patterns-tab/use-pattern-categories.js.map +1 -1
- package/build-module/components/inserter/block-types-tab.js +2 -1
- package/build-module/components/inserter/block-types-tab.js.map +1 -1
- package/build-module/components/inserter/block-types-tab.native.js +1 -0
- package/build-module/components/inserter/block-types-tab.native.js.map +1 -1
- package/build-module/components/inserter/category-tabs/index.js +1 -0
- package/build-module/components/inserter/category-tabs/index.js.map +1 -1
- package/build-module/components/inserter/hooks/use-block-type-impressions.native.js +1 -0
- package/build-module/components/inserter/hooks/use-block-type-impressions.native.js.map +1 -1
- package/build-module/components/inserter/hooks/use-patterns-state.js +1 -0
- package/build-module/components/inserter/hooks/use-patterns-state.js.map +1 -1
- package/build-module/components/inserter/index.js +1 -0
- package/build-module/components/inserter/index.js.map +1 -1
- package/build-module/components/inserter/index.native.js +1 -0
- package/build-module/components/inserter/index.native.js.map +1 -1
- package/build-module/components/inserter/media-tab/hooks.js +1 -0
- package/build-module/components/inserter/media-tab/hooks.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-list.js +1 -0
- package/build-module/components/inserter/media-tab/media-list.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-tab.js +1 -0
- package/build-module/components/inserter/media-tab/media-tab.js.map +1 -1
- package/build-module/components/inserter/menu.js +1 -0
- package/build-module/components/inserter/menu.js.map +1 -1
- package/build-module/components/inserter/mobile-tab-navigation.js +1 -0
- package/build-module/components/inserter/mobile-tab-navigation.js.map +1 -1
- package/build-module/components/inserter/search-items.js +1 -0
- package/build-module/components/inserter/search-items.js.map +1 -1
- package/build-module/components/inserter/search-results.js +1 -0
- package/build-module/components/inserter/search-results.js.map +1 -1
- package/build-module/components/inserter/tabs.native.js +1 -0
- package/build-module/components/inserter/tabs.native.js.map +1 -1
- package/build-module/components/inserter/utils.native.js +1 -0
- package/build-module/components/inserter/utils.native.js.map +1 -1
- package/build-module/components/inspector-controls/block-support-tools-panel.js +1 -0
- package/build-module/components/inspector-controls/block-support-tools-panel.js.map +1 -1
- package/build-module/components/inspector-controls/fill.js +1 -0
- package/build-module/components/inspector-controls/fill.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/index.js +1 -0
- package/build-module/components/inspector-controls-tabs/index.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/position-controls-panel.js +1 -0
- package/build-module/components/inspector-controls-tabs/position-controls-panel.js.map +1 -1
- package/build-module/components/inspector-popover-header/index.js +1 -0
- package/build-module/components/inspector-popover-header/index.js.map +1 -1
- package/build-module/components/justify-content-control/ui.js +1 -0
- package/build-module/components/justify-content-control/ui.js.map +1 -1
- package/build-module/components/link-control/index.js +11 -0
- package/build-module/components/link-control/index.js.map +1 -1
- package/build-module/components/link-control/search-input.js +9 -0
- package/build-module/components/link-control/search-input.js.map +1 -1
- package/build-module/components/link-control/search-item.js +9 -0
- package/build-module/components/link-control/search-item.js.map +1 -1
- package/build-module/components/link-control/search-results.js +12 -1
- package/build-module/components/link-control/search-results.js.map +1 -1
- package/build-module/components/link-control/settings.js +1 -0
- package/build-module/components/link-control/settings.js.map +1 -1
- package/build-module/components/link-control/use-internal-value.js +1 -0
- package/build-module/components/link-control/use-internal-value.js.map +1 -1
- package/build-module/components/link-control/use-search-handler.js +1 -0
- package/build-module/components/link-control/use-search-handler.js.map +1 -1
- package/build-module/components/list-view/block-select-button.js +1 -0
- package/build-module/components/list-view/block-select-button.js.map +1 -1
- package/build-module/components/list-view/block.js +1 -0
- package/build-module/components/list-view/block.js.map +1 -1
- package/build-module/components/list-view/branch.js +1 -0
- package/build-module/components/list-view/branch.js.map +1 -1
- package/build-module/components/list-view/index.js +1 -0
- package/build-module/components/list-view/index.js.map +1 -1
- package/build-module/components/list-view/use-block-selection.js +1 -0
- package/build-module/components/list-view/use-block-selection.js.map +1 -1
- package/build-module/components/list-view/use-clipboard-handler.js +1 -0
- package/build-module/components/list-view/use-clipboard-handler.js.map +1 -1
- package/build-module/components/list-view/use-list-view-block-indexes.js +1 -0
- package/build-module/components/list-view/use-list-view-block-indexes.js.map +1 -1
- package/build-module/components/list-view/use-list-view-drop-zone.js +1 -0
- package/build-module/components/list-view/use-list-view-drop-zone.js.map +1 -1
- package/build-module/components/list-view/utils.js +1 -0
- package/build-module/components/list-view/utils.js.map +1 -1
- package/build-module/components/media-placeholder/index.js +1 -0
- package/build-module/components/media-placeholder/index.js.map +1 -1
- package/build-module/components/media-placeholder/index.native.js +1 -0
- package/build-module/components/media-placeholder/index.native.js.map +1 -1
- package/build-module/components/media-replace-flow/index.js +1 -0
- package/build-module/components/media-replace-flow/index.js.map +1 -1
- package/build-module/components/media-upload/index.native.js +1 -0
- package/build-module/components/media-upload/index.native.js.map +1 -1
- package/build-module/components/navigable-toolbar/index.js +1 -0
- package/build-module/components/navigable-toolbar/index.js.map +1 -1
- package/build-module/components/panel-color-settings/index.js +1 -0
- package/build-module/components/panel-color-settings/index.js.map +1 -1
- package/build-module/components/provider/use-block-sync.js +1 -0
- package/build-module/components/provider/use-block-sync.js.map +1 -1
- package/build-module/components/responsive-block-control/index.js +1 -0
- package/build-module/components/responsive-block-control/index.js.map +1 -1
- package/build-module/components/rich-text/embed-handler-picker.native.js +1 -0
- package/build-module/components/rich-text/embed-handler-picker.native.js.map +1 -1
- package/build-module/components/rich-text/event-listeners/before-input-rules.js +1 -0
- package/build-module/components/rich-text/event-listeners/before-input-rules.js.map +1 -1
- package/build-module/components/rich-text/event-listeners/index.js +1 -0
- package/build-module/components/rich-text/event-listeners/index.js.map +1 -1
- package/build-module/components/rich-text/event-listeners/input-rules.js +1 -0
- package/build-module/components/rich-text/event-listeners/input-rules.js.map +1 -1
- package/build-module/components/rich-text/event-listeners/paste-handler.js +1 -0
- package/build-module/components/rich-text/event-listeners/paste-handler.js.map +1 -1
- package/build-module/components/rich-text/file-paste-handler.native.js +1 -0
- package/build-module/components/rich-text/file-paste-handler.native.js.map +1 -1
- package/build-module/components/rich-text/format-edit.js +1 -0
- package/build-module/components/rich-text/format-edit.js.map +1 -1
- package/build-module/components/rich-text/format-toolbar/index.js +1 -0
- package/build-module/components/rich-text/format-toolbar/index.js.map +1 -1
- package/build-module/components/rich-text/index.js +1 -0
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/rich-text/index.native.js +1 -0
- package/build-module/components/rich-text/index.native.js.map +1 -1
- package/build-module/components/rich-text/multiline.js +1 -0
- package/build-module/components/rich-text/multiline.js.map +1 -1
- package/build-module/components/rich-text/native/format-edit.js +1 -0
- package/build-module/components/rich-text/native/format-edit.js.map +1 -1
- package/build-module/components/rich-text/native/get-format-colors.native.js +1 -0
- package/build-module/components/rich-text/native/get-format-colors.native.js.map +1 -1
- package/build-module/components/rich-text/native/index.native.js +1 -0
- package/build-module/components/rich-text/native/index.native.js.map +1 -1
- package/build-module/components/rich-text/native/toolbar-button-with-options.native.js +1 -0
- package/build-module/components/rich-text/native/toolbar-button-with-options.native.js.map +1 -1
- package/build-module/components/rich-text/native/use-format-types.js +1 -0
- package/build-module/components/rich-text/native/use-format-types.js.map +1 -1
- package/build-module/components/rich-text/use-format-types.js +1 -0
- package/build-module/components/rich-text/use-format-types.js.map +1 -1
- package/build-module/components/spacing-sizes-control/hooks/use-spacing-sizes.js +1 -0
- 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 +1 -0
- 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 +1 -0
- 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 +1 -0
- package/build-module/components/spacing-sizes-control/input-controls/single.js.map +1 -1
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +1 -0
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
- package/build-module/components/spacing-sizes-control/utils.js +1 -0
- package/build-module/components/spacing-sizes-control/utils.js.map +1 -1
- package/build-module/components/tabbed-sidebar/index.js +1 -0
- package/build-module/components/tabbed-sidebar/index.js.map +1 -1
- package/build-module/components/text-alignment-control/index.js +1 -0
- package/build-module/components/text-alignment-control/index.js.map +1 -1
- package/build-module/components/text-decoration-control/index.js +1 -0
- package/build-module/components/text-decoration-control/index.js.map +1 -1
- package/build-module/components/text-transform-control/index.js +1 -0
- package/build-module/components/text-transform-control/index.js.map +1 -1
- package/build-module/components/unsupported-block-details/index.native.js +1 -0
- package/build-module/components/unsupported-block-details/index.native.js.map +1 -1
- package/build-module/components/url-input/index.js +1 -0
- package/build-module/components/url-input/index.js.map +1 -1
- package/build-module/components/url-popover/image-url-input-ui.js +1 -0
- package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
- package/build-module/components/use-block-commands/index.js +1 -0
- package/build-module/components/use-block-commands/index.js.map +1 -1
- package/build-module/components/use-block-drop-zone/index.js +1 -0
- package/build-module/components/use-block-drop-zone/index.js.map +1 -1
- package/build-module/components/use-block-drop-zone/index.native.js +1 -0
- package/build-module/components/use-block-drop-zone/index.native.js.map +1 -1
- package/build-module/components/use-flash-editable-blocks/index.js +1 -0
- package/build-module/components/use-flash-editable-blocks/index.js.map +1 -1
- package/build-module/components/use-on-block-drop/index.js +1 -0
- package/build-module/components/use-on-block-drop/index.js.map +1 -1
- package/build-module/components/use-on-block-drop/index.native.js +1 -0
- package/build-module/components/use-on-block-drop/index.native.js.map +1 -1
- package/build-module/components/use-paste-styles/index.js +1 -0
- package/build-module/components/use-paste-styles/index.js.map +1 -1
- package/build-module/components/warning/index.js +1 -0
- package/build-module/components/warning/index.js.map +1 -1
- package/build-module/components/writing-flow/use-arrow-nav.js +1 -0
- package/build-module/components/writing-flow/use-arrow-nav.js.map +1 -1
- package/build-module/components/writing-flow/use-clipboard-handler.js +1 -0
- package/build-module/components/writing-flow/use-clipboard-handler.js.map +1 -1
- package/build-module/components/writing-flow/use-input.js +1 -0
- package/build-module/components/writing-flow/use-input.js.map +1 -1
- package/build-module/components/writing-flow/use-tab-nav.js +1 -0
- package/build-module/components/writing-flow/use-tab-nav.js.map +1 -1
- package/build-module/components/writing-flow/utils.js +1 -0
- package/build-module/components/writing-flow/utils.js.map +1 -1
- package/build-module/components/writing-mode-control/index.js +1 -0
- package/build-module/components/writing-mode-control/index.js.map +1 -1
- package/build-module/hooks/align.js +1 -0
- package/build-module/hooks/align.js.map +1 -1
- package/build-module/hooks/align.native.js +1 -0
- package/build-module/hooks/align.native.js.map +1 -1
- package/build-module/hooks/block-bindings.js +1 -0
- package/build-module/hooks/block-bindings.js.map +1 -1
- package/build-module/hooks/block-hooks.js +1 -0
- package/build-module/hooks/block-hooks.js.map +1 -1
- package/build-module/hooks/block-style-variation.js +1 -0
- package/build-module/hooks/block-style-variation.js.map +1 -1
- package/build-module/hooks/border.js +1 -0
- package/build-module/hooks/border.js.map +1 -1
- package/build-module/hooks/duotone.js +1 -0
- package/build-module/hooks/duotone.js.map +1 -1
- package/build-module/hooks/index.js +1 -0
- package/build-module/hooks/index.js.map +1 -1
- package/build-module/hooks/layout.js +1 -0
- package/build-module/hooks/layout.js.map +1 -1
- package/build-module/hooks/position.js +1 -0
- package/build-module/hooks/position.js.map +1 -1
- package/build-module/hooks/style.js +2 -1
- package/build-module/hooks/style.js.map +1 -1
- package/build-module/hooks/supports.js +1 -0
- package/build-module/hooks/supports.js.map +1 -1
- package/build-module/hooks/text-align.js +1 -0
- package/build-module/hooks/text-align.js.map +1 -1
- package/build-module/hooks/typography.js +1 -0
- package/build-module/hooks/typography.js.map +1 -1
- package/build-module/hooks/use-bindings-attributes.js +1 -0
- package/build-module/hooks/use-bindings-attributes.js.map +1 -1
- package/build-module/hooks/utils.js +1 -0
- package/build-module/hooks/utils.js.map +1 -1
- package/build-module/layouts/constrained.js +1 -0
- package/build-module/layouts/constrained.js.map +1 -1
- package/build-module/layouts/flex.js +1 -0
- package/build-module/layouts/flex.js.map +1 -1
- package/build-module/layouts/flow.js +1 -0
- package/build-module/layouts/flow.js.map +1 -1
- package/build-module/layouts/index.js +1 -0
- package/build-module/layouts/index.js.map +1 -1
- package/build-module/layouts/utils.js +1 -0
- package/build-module/layouts/utils.js.map +1 -1
- package/build-module/store/actions.js +1 -0
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/get-block-settings.js +1 -0
- package/build-module/store/get-block-settings.js.map +1 -1
- package/build-module/store/private-actions.js +1 -0
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/store/private-selectors.js +1 -0
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/reducer.js +1 -0
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +13 -15
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/store/utils.js +1 -0
- package/build-module/store/utils.js.map +1 -1
- package/build-module/utils/block-bindings.js +1 -0
- package/build-module/utils/block-bindings.js.map +1 -1
- package/build-module/utils/get-editor-region.js +1 -0
- package/build-module/utils/get-editor-region.js.map +1 -1
- package/build-module/utils/get-font-styles-and-weights.js +1 -0
- package/build-module/utils/get-font-styles-and-weights.js.map +1 -1
- package/build-module/utils/math.js +1 -0
- package/build-module/utils/math.js.map +1 -1
- package/build-module/utils/object.js +1 -0
- package/build-module/utils/object.js.map +1 -1
- package/build-module/utils/selection.js +1 -0
- package/build-module/utils/selection.js.map +1 -1
- package/build-module/utils/transform-styles/index.js +1 -0
- package/build-module/utils/transform-styles/index.js.map +1 -1
- package/build-style/style-rtl.css +22 -0
- package/build-style/style.css +22 -0
- package/package.json +32 -32
- package/src/components/block-heading-level-dropdown/stories/index.story.js +61 -0
- package/src/components/colors-gradients/style.scss +21 -0
- package/src/components/global-styles/color-panel.js +26 -7
- package/src/components/global-styles/filters-panel.js +3 -6
- package/src/components/global-styles/use-global-styles-output.js +1 -1
- package/src/components/index.js +7 -4
- package/src/components/inserter/block-types-tab.js +1 -1
- package/src/components/inserter/menu.js +2 -0
- package/src/components/link-control/index.js +10 -0
- package/src/components/link-control/search-input.js +9 -0
- package/src/components/link-control/search-item.js +9 -0
- package/src/components/link-control/search-results.js +12 -1
- package/src/components/writing-mode-control/stories/index.story.js +56 -0
- package/src/hooks/style.js +1 -1
- package/src/hooks/test/font-size.js +15 -12
- package/src/store/selectors.js +26 -24
- package/src/store/test/selectors.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_data","require","_element","_i18n","_blockEditor","_panelColorGradientSettings","_interopRequireDefault","_hooks","_utils","_object","_contrastChecker","_inspectorControls","_colorPanel","_useGlobalStylesContext","_jsxRuntime","ColorPanel","value","inheritedValue","onChange","settings","colors","useColorsPerOrigin","gradients","useGradientsPerOrigin","globalStyles","useGlobalStyles","detectedBackgroundColor","setDetectedBackgroundColor","useState","detectedTextColor","setDetectedTextColor","baseGlobalStyles","useSelect","select","getSettings","blockEditorStore","__experimentalGlobalStylesBaseStyles","color","decodeValue","rawValue","getValueFromVariable","encodeColorValue","useCallback","colorValue","allColors","flatMap","originColors","colorObject","find","slug","encodeGradientValue","gradientValue","allGradients","originGradients","gradientObject","gradient","showTextPanel","useHasTextPanel","textColor","text","setTextColor","newColor","setImmutably","resetTextColor","undefined","showBackgroundPanel","useHasBackgroundColorPanel","backgroundColor","background","setBackgroundColor","newValue","setGradient","newGradient","resetBackground","currentGradients","withoutGradientsSupport","Array","isArray","length","items","useMemo","label","__","onColorChange","onColorCleared","onGradientChange","filter","Boolean","useEffect","currentDetectedTextColor","currentDetectedBackgroundColor","jsx","default","children","title","initialOpen","_default","exports"],"sources":["@wordpress/block-editor/src/components/global-styles/color-panel.native.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { useEffect, useState, useMemo, useCallback } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport PanelColorGradientSettings from '../colors-gradients/panel-color-gradient-settings';\nimport { useColorsPerOrigin, useGradientsPerOrigin } from './hooks';\nimport { getValueFromVariable } from './utils';\nimport { setImmutably } from '../../utils/object';\nimport ContrastChecker from '../contrast-checker';\nimport InspectorControls from '../inspector-controls';\nimport {\n\tuseHasColorPanel,\n\tuseHasTextPanel,\n\tuseHasBackgroundColorPanel,\n} from './color-panel.js';\nimport { useGlobalStyles } from './use-global-styles-context';\n\nconst ColorPanel = ( {\n\tvalue,\n\tinheritedValue = value,\n\tonChange,\n\tsettings,\n} ) => {\n\tconst colors = useColorsPerOrigin( settings );\n\tconst gradients = useGradientsPerOrigin( settings );\n\tconst globalStyles = useGlobalStyles();\n\n\tconst [ detectedBackgroundColor, setDetectedBackgroundColor ] = useState();\n\tconst [ detectedTextColor, setDetectedTextColor ] = useState();\n\n\tconst { baseGlobalStyles } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn {\n\t\t\tbaseGlobalStyles:\n\t\t\t\tgetSettings()?.__experimentalGlobalStylesBaseStyles?.color,\n\t\t};\n\t} );\n\n\tconst decodeValue = ( rawValue ) =>\n\t\tgetValueFromVariable( { settings }, '', rawValue );\n\tconst encodeColorValue = useCallback(\n\t\t( colorValue ) => {\n\t\t\tconst allColors = colors.flatMap(\n\t\t\t\t( { colors: originColors } ) => originColors\n\t\t\t);\n\t\t\tconst colorObject = allColors.find(\n\t\t\t\t( { color } ) => color === colorValue\n\t\t\t);\n\t\t\treturn colorObject\n\t\t\t\t? 'var:preset|color|' + colorObject.slug\n\t\t\t\t: colorValue;\n\t\t},\n\t\t[ colors ]\n\t);\n\tconst encodeGradientValue = useCallback(\n\t\t( gradientValue ) => {\n\t\t\tconst allGradients = gradients.flatMap(\n\t\t\t\t( { gradients: originGradients } ) => originGradients\n\t\t\t);\n\t\t\tconst gradientObject = allGradients.find(\n\t\t\t\t( { gradient } ) => gradient === gradientValue\n\t\t\t);\n\t\t\treturn gradientObject\n\t\t\t\t? 'var:preset|gradient|' + gradientObject.slug\n\t\t\t\t: gradientValue;\n\t\t},\n\t\t[ gradients ]\n\t);\n\n\t// Text Color\n\tconst showTextPanel = useHasTextPanel( settings );\n\tconst textColor = decodeValue( inheritedValue?.color?.text );\n\tconst setTextColor = useCallback(\n\t\t( newColor ) => {\n\t\t\tonChange(\n\t\t\t\tsetImmutably(\n\t\t\t\t\tvalue,\n\t\t\t\t\t[ 'color', 'text' ],\n\t\t\t\t\tencodeColorValue( newColor )\n\t\t\t\t)\n\t\t\t);\n\t\t},\n\t\t[ encodeColorValue, onChange, value ]\n\t);\n\tconst resetTextColor = useCallback(\n\t\t() => setTextColor( undefined ),\n\t\t[ setTextColor ]\n\t);\n\n\t// BackgroundColor\n\tconst showBackgroundPanel = useHasBackgroundColorPanel( settings );\n\tconst backgroundColor = decodeValue( inheritedValue?.color?.background );\n\tconst gradient = decodeValue( inheritedValue?.color?.gradient );\n\tconst setBackgroundColor = useCallback(\n\t\t( newColor ) => {\n\t\t\tconst newValue = setImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'color', 'background' ],\n\t\t\t\tencodeColorValue( newColor )\n\t\t\t);\n\t\t\tnewValue.color.gradient = undefined;\n\t\t\tonChange( newValue );\n\t\t},\n\t\t[ encodeColorValue, onChange, value ]\n\t);\n\tconst setGradient = useCallback(\n\t\t( newGradient ) => {\n\t\t\tconst newValue = setImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'color', 'gradient' ],\n\t\t\t\tencodeGradientValue( newGradient )\n\t\t\t);\n\t\t\tnewValue.color.background = undefined;\n\t\t\tonChange( newValue );\n\t\t},\n\t\t[ encodeGradientValue, onChange, value ]\n\t);\n\tconst resetBackground = useCallback( () => {\n\t\tconst newValue = setImmutably(\n\t\t\tvalue,\n\t\t\t[ 'color', 'background' ],\n\t\t\tundefined\n\t\t);\n\t\tnewValue.color.gradient = undefined;\n\t\tonChange( newValue );\n\t}, [ onChange, value ] );\n\tconst currentGradients = settings?.color?.gradients;\n\tconst withoutGradientsSupport =\n\t\tArray.isArray( currentGradients ) && currentGradients.length === 0;\n\n\tconst items = useMemo(\n\t\t() =>\n\t\t\t[\n\t\t\t\tshowTextPanel && {\n\t\t\t\t\tlabel: __( 'Text' ),\n\t\t\t\t\tcolorValue: textColor,\n\t\t\t\t\tonColorChange: setTextColor,\n\t\t\t\t\tonColorCleared: resetTextColor,\n\t\t\t\t},\n\t\t\t\tshowBackgroundPanel && {\n\t\t\t\t\tlabel: __( 'Background' ),\n\t\t\t\t\tcolorValue: backgroundColor,\n\t\t\t\t\tonColorChange: setBackgroundColor,\n\t\t\t\t\tonColorCleared: resetBackground,\n\t\t\t\t\tonGradientChange: ! withoutGradientsSupport\n\t\t\t\t\t\t? setGradient\n\t\t\t\t\t\t: undefined,\n\t\t\t\t\tgradientValue: gradient,\n\t\t\t\t},\n\t\t\t].filter( Boolean ),\n\t\t[\n\t\t\tbackgroundColor,\n\t\t\tgradient,\n\t\t\tresetBackground,\n\t\t\tresetTextColor,\n\t\t\tsetBackgroundColor,\n\t\t\tsetGradient,\n\t\t\tsetTextColor,\n\t\t\tshowBackgroundPanel,\n\t\t\tshowTextPanel,\n\t\t\ttextColor,\n\t\t\twithoutGradientsSupport,\n\t\t]\n\t);\n\n\tuseEffect( () => {\n\t\t// The following logic is used to determine current text/background colors:\n\t\t// 1. The globalStyles object is queried to determine whether a color has been\n\t\t// set via a block's settings.\n\t\t// 2. If a block-based theme is in use and no globalStyles exist, the theme's\n\t\t// default/base colors are used.\n\t\t// 3. If no globalStyles exist and a theme isn't block-based, there is no way\n\t\t// to determine the default text/background color and the checker won't run.\n\t\tconst currentDetectedTextColor =\n\t\t\tglobalStyles?.color || baseGlobalStyles?.text;\n\t\tconst currentDetectedBackgroundColor =\n\t\t\tglobalStyles?.backgroundColor || baseGlobalStyles?.background;\n\n\t\tsetDetectedTextColor( currentDetectedTextColor );\n\t\tsetDetectedBackgroundColor( currentDetectedBackgroundColor );\n\t}, [ globalStyles, baseGlobalStyles ] );\n\n\treturn (\n\t\t<InspectorControls>\n\t\t\t<PanelColorGradientSettings\n\t\t\t\ttitle={ __( 'Color' ) }\n\t\t\t\tinitialOpen={ false }\n\t\t\t\tsettings={ items }\n\t\t\t>\n\t\t\t\t<ContrastChecker\n\t\t\t\t\tbackgroundColor={ detectedBackgroundColor }\n\t\t\t\t\ttextColor={ detectedTextColor }\n\t\t\t\t/>\n\t\t\t</PanelColorGradientSettings>\n\t\t</InspectorControls>\n\t);\n};\n\nexport { useHasColorPanel };\nexport default ColorPanel;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_data","require","_element","_i18n","_blockEditor","_panelColorGradientSettings","_interopRequireDefault","_hooks","_utils","_object","_contrastChecker","_inspectorControls","_colorPanel","_useGlobalStylesContext","_jsxRuntime","ColorPanel","value","inheritedValue","onChange","settings","colors","useColorsPerOrigin","gradients","useGradientsPerOrigin","globalStyles","useGlobalStyles","detectedBackgroundColor","setDetectedBackgroundColor","useState","detectedTextColor","setDetectedTextColor","baseGlobalStyles","useSelect","select","getSettings","blockEditorStore","__experimentalGlobalStylesBaseStyles","color","decodeValue","rawValue","getValueFromVariable","encodeColorValue","useCallback","colorValue","allColors","flatMap","originColors","colorObject","find","slug","encodeGradientValue","gradientValue","allGradients","originGradients","gradientObject","gradient","showTextPanel","useHasTextPanel","textColor","text","setTextColor","newColor","setImmutably","resetTextColor","undefined","showBackgroundPanel","useHasBackgroundColorPanel","backgroundColor","background","setBackgroundColor","newValue","setGradient","newGradient","resetBackground","currentGradients","withoutGradientsSupport","Array","isArray","length","items","useMemo","label","__","onColorChange","onColorCleared","onGradientChange","filter","Boolean","useEffect","currentDetectedTextColor","currentDetectedBackgroundColor","jsx","default","children","title","initialOpen","_default","exports"],"sources":["@wordpress/block-editor/src/components/global-styles/color-panel.native.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { useEffect, useState, useMemo, useCallback } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport PanelColorGradientSettings from '../colors-gradients/panel-color-gradient-settings';\nimport { useColorsPerOrigin, useGradientsPerOrigin } from './hooks';\nimport { getValueFromVariable } from './utils';\nimport { setImmutably } from '../../utils/object';\nimport ContrastChecker from '../contrast-checker';\nimport InspectorControls from '../inspector-controls';\nimport {\n\tuseHasColorPanel,\n\tuseHasTextPanel,\n\tuseHasBackgroundColorPanel,\n} from './color-panel.js';\nimport { useGlobalStyles } from './use-global-styles-context';\n\nconst ColorPanel = ( {\n\tvalue,\n\tinheritedValue = value,\n\tonChange,\n\tsettings,\n} ) => {\n\tconst colors = useColorsPerOrigin( settings );\n\tconst gradients = useGradientsPerOrigin( settings );\n\tconst globalStyles = useGlobalStyles();\n\n\tconst [ detectedBackgroundColor, setDetectedBackgroundColor ] = useState();\n\tconst [ detectedTextColor, setDetectedTextColor ] = useState();\n\n\tconst { baseGlobalStyles } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn {\n\t\t\tbaseGlobalStyles:\n\t\t\t\tgetSettings()?.__experimentalGlobalStylesBaseStyles?.color,\n\t\t};\n\t} );\n\n\tconst decodeValue = ( rawValue ) =>\n\t\tgetValueFromVariable( { settings }, '', rawValue );\n\tconst encodeColorValue = useCallback(\n\t\t( colorValue ) => {\n\t\t\tconst allColors = colors.flatMap(\n\t\t\t\t( { colors: originColors } ) => originColors\n\t\t\t);\n\t\t\tconst colorObject = allColors.find(\n\t\t\t\t( { color } ) => color === colorValue\n\t\t\t);\n\t\t\treturn colorObject\n\t\t\t\t? 'var:preset|color|' + colorObject.slug\n\t\t\t\t: colorValue;\n\t\t},\n\t\t[ colors ]\n\t);\n\tconst encodeGradientValue = useCallback(\n\t\t( gradientValue ) => {\n\t\t\tconst allGradients = gradients.flatMap(\n\t\t\t\t( { gradients: originGradients } ) => originGradients\n\t\t\t);\n\t\t\tconst gradientObject = allGradients.find(\n\t\t\t\t( { gradient } ) => gradient === gradientValue\n\t\t\t);\n\t\t\treturn gradientObject\n\t\t\t\t? 'var:preset|gradient|' + gradientObject.slug\n\t\t\t\t: gradientValue;\n\t\t},\n\t\t[ gradients ]\n\t);\n\n\t// Text Color\n\tconst showTextPanel = useHasTextPanel( settings );\n\tconst textColor = decodeValue( inheritedValue?.color?.text );\n\tconst setTextColor = useCallback(\n\t\t( newColor ) => {\n\t\t\tonChange(\n\t\t\t\tsetImmutably(\n\t\t\t\t\tvalue,\n\t\t\t\t\t[ 'color', 'text' ],\n\t\t\t\t\tencodeColorValue( newColor )\n\t\t\t\t)\n\t\t\t);\n\t\t},\n\t\t[ encodeColorValue, onChange, value ]\n\t);\n\tconst resetTextColor = useCallback(\n\t\t() => setTextColor( undefined ),\n\t\t[ setTextColor ]\n\t);\n\n\t// BackgroundColor\n\tconst showBackgroundPanel = useHasBackgroundColorPanel( settings );\n\tconst backgroundColor = decodeValue( inheritedValue?.color?.background );\n\tconst gradient = decodeValue( inheritedValue?.color?.gradient );\n\tconst setBackgroundColor = useCallback(\n\t\t( newColor ) => {\n\t\t\tconst newValue = setImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'color', 'background' ],\n\t\t\t\tencodeColorValue( newColor )\n\t\t\t);\n\t\t\tnewValue.color.gradient = undefined;\n\t\t\tonChange( newValue );\n\t\t},\n\t\t[ encodeColorValue, onChange, value ]\n\t);\n\tconst setGradient = useCallback(\n\t\t( newGradient ) => {\n\t\t\tconst newValue = setImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'color', 'gradient' ],\n\t\t\t\tencodeGradientValue( newGradient )\n\t\t\t);\n\t\t\tnewValue.color.background = undefined;\n\t\t\tonChange( newValue );\n\t\t},\n\t\t[ encodeGradientValue, onChange, value ]\n\t);\n\tconst resetBackground = useCallback( () => {\n\t\tconst newValue = setImmutably(\n\t\t\tvalue,\n\t\t\t[ 'color', 'background' ],\n\t\t\tundefined\n\t\t);\n\t\tnewValue.color.gradient = undefined;\n\t\tonChange( newValue );\n\t}, [ onChange, value ] );\n\tconst currentGradients = settings?.color?.gradients;\n\tconst withoutGradientsSupport =\n\t\tArray.isArray( currentGradients ) && currentGradients.length === 0;\n\n\tconst items = useMemo(\n\t\t() =>\n\t\t\t[\n\t\t\t\tshowTextPanel && {\n\t\t\t\t\tlabel: __( 'Text' ),\n\t\t\t\t\tcolorValue: textColor,\n\t\t\t\t\tonColorChange: setTextColor,\n\t\t\t\t\tonColorCleared: resetTextColor,\n\t\t\t\t},\n\t\t\t\tshowBackgroundPanel && {\n\t\t\t\t\tlabel: __( 'Background' ),\n\t\t\t\t\tcolorValue: backgroundColor,\n\t\t\t\t\tonColorChange: setBackgroundColor,\n\t\t\t\t\tonColorCleared: resetBackground,\n\t\t\t\t\tonGradientChange: ! withoutGradientsSupport\n\t\t\t\t\t\t? setGradient\n\t\t\t\t\t\t: undefined,\n\t\t\t\t\tgradientValue: gradient,\n\t\t\t\t},\n\t\t\t].filter( Boolean ),\n\t\t[\n\t\t\tbackgroundColor,\n\t\t\tgradient,\n\t\t\tresetBackground,\n\t\t\tresetTextColor,\n\t\t\tsetBackgroundColor,\n\t\t\tsetGradient,\n\t\t\tsetTextColor,\n\t\t\tshowBackgroundPanel,\n\t\t\tshowTextPanel,\n\t\t\ttextColor,\n\t\t\twithoutGradientsSupport,\n\t\t]\n\t);\n\n\tuseEffect( () => {\n\t\t// The following logic is used to determine current text/background colors:\n\t\t// 1. The globalStyles object is queried to determine whether a color has been\n\t\t// set via a block's settings.\n\t\t// 2. If a block-based theme is in use and no globalStyles exist, the theme's\n\t\t// default/base colors are used.\n\t\t// 3. If no globalStyles exist and a theme isn't block-based, there is no way\n\t\t// to determine the default text/background color and the checker won't run.\n\t\tconst currentDetectedTextColor =\n\t\t\tglobalStyles?.color || baseGlobalStyles?.text;\n\t\tconst currentDetectedBackgroundColor =\n\t\t\tglobalStyles?.backgroundColor || baseGlobalStyles?.background;\n\n\t\tsetDetectedTextColor( currentDetectedTextColor );\n\t\tsetDetectedBackgroundColor( currentDetectedBackgroundColor );\n\t}, [ globalStyles, baseGlobalStyles ] );\n\n\treturn (\n\t\t<InspectorControls>\n\t\t\t<PanelColorGradientSettings\n\t\t\t\ttitle={ __( 'Color' ) }\n\t\t\t\tinitialOpen={ false }\n\t\t\t\tsettings={ items }\n\t\t\t>\n\t\t\t\t<ContrastChecker\n\t\t\t\t\tbackgroundColor={ detectedBackgroundColor }\n\t\t\t\t\ttextColor={ detectedTextColor }\n\t\t\t\t/>\n\t\t\t</PanelColorGradientSettings>\n\t\t</InspectorControls>\n\t);\n};\n\nexport { useHasColorPanel };\nexport default ColorPanel;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_clsx","_interopRequireDefault","require","_i18n","_components","_icons","_element","_utils","_spacingSizesControl","_heightControl","_childLayoutControl","_aspectRatioTool","_utils2","_object","_jsxRuntime","AXIAL_SIDES","useHasDimensionsPanel","settings","hasContentSize","useHasContentSize","hasWideSize","useHasWideSize","hasPadding","useHasPadding","hasMargin","useHasMargin","hasGap","useHasGap","hasMinHeight","useHasMinHeight","hasAspectRatio","useHasAspectRatio","hasChildLayout","useHasChildLayout","Platform","OS","layout","contentSize","wideSize","spacing","padding","margin","blockGap","dimensions","minHeight","aspectRatio","_settings$parentLayou","type","parentLayoutType","default","defaultParentLayoutType","allowSizingOnChildren","parentLayout","support","useHasSpacingPresets","defaultSpacingSizes","spacingSizes","length","theme","custom","filterValuesBySides","values","sides","filteredValues","forEach","side","top","bottom","left","right","splitStyleValue","value","splitGapValue","isAxialGap","DimensionsToolsPanel","resetAllFilter","onChange","panelId","children","dropdownMenuProps","useToolsPanelDropdownMenuProps","resetAll","updatedValue","jsx","__experimentalToolsPanel","label","__","DEFAULT_CONTROLS","childLayout","DimensionsPanel","as","Wrapper","inheritedValue","defaultControls","onVisualize","includeLayoutControls","_defaultControls$cont","_defaultControls$wide","_defaultControls$padd","_defaultControls$marg","_defaultControls$bloc","_defaultControls$chil","_defaultControls$minH","_defaultControls$aspe","decodeValue","rawValue","Object","keys","reduce","acc","key","getValueFromVariable","showSpacingPresetsControl","units","useCustomUnits","availableUnits","minimumMargin","Infinity","minMarginValue","setMinMarginValue","useState","showContentSizeControl","contentSizeValue","setContentSizeValue","newValue","setImmutably","undefined","hasUserSetContentSizeValue","resetContentSizeValue","showWideSizeControl","wideSizeValue","setWideSizeValue","hasUserSetWideSizeValue","resetWideSizeValue","showPaddingControl","rawPadding","paddingValues","paddingSides","Array","isArray","isAxialPadding","some","includes","setPaddingValues","newPaddingValues","hasPaddingValue","resetPaddingValue","onMouseOverPadding","showMarginControl","rawMargin","marginValues","marginSides","isAxialMargin","setMarginValues","newMarginValues","hasMarginValue","resetMarginValue","onMouseOverMargin","showGapControl","gapSides","gapValue","gapValues","setGapValue","newGapValue","setGapValues","nextBoxGapValue","hasOwnProperty","resetGapValue","hasGapValue","showMinHeightControl","minHeightValue","setMinHeightValue","tempValue","resetMinHeightValue","hasMinHeightValue","showAspectRatioControl","aspectRatioValue","setAspectRatioValue","hasAspectRatioValue","showChildLayoutControl","setChildLayout","newChildLayout","useCallback","previousValue","cleanEmptyObject","selfStretch","flexSize","columnStart","rowStart","columnSpan","rowSpan","onMouseLeaveControls","jsxs","className","__experimentalToolsPanelItem","hasValue","onDeselect","isShownByDefault","__experimentalUnitControl","__next40pxDefaultSize","labelPosition","nextContentSize","prefix","__experimentalInputControlPrefixWrapper","variant","Icon","icon","alignNone","nextWideSize","stretchWide","clsx","BoxControl","allowReset","splitOnAxis","inputProps","onMouseOver","onMouseOut","min","onDragStart","onDragEnd","minimumCustomValue","showSideInLabel"],"sources":["@wordpress/block-editor/src/components/global-styles/dimensions-panel.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\tBoxControl,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalInputControlPrefixWrapper as InputControlPrefixWrapper,\n} from '@wordpress/components';\nimport { Icon, alignNone, stretchWide } from '@wordpress/icons';\nimport { useCallback, useState, Platform } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { getValueFromVariable, useToolsPanelDropdownMenuProps } from './utils';\nimport SpacingSizesControl from '../spacing-sizes-control';\nimport HeightControl from '../height-control';\nimport ChildLayoutControl from '../child-layout-control';\nimport AspectRatioTool from '../dimensions-tool/aspect-ratio-tool';\nimport { cleanEmptyObject } from '../../hooks/utils';\nimport { setImmutably } from '../../utils/object';\n\nconst AXIAL_SIDES = [ 'horizontal', 'vertical' ];\n\nexport function useHasDimensionsPanel( settings ) {\n\tconst hasContentSize = useHasContentSize( settings );\n\tconst hasWideSize = useHasWideSize( settings );\n\tconst hasPadding = useHasPadding( settings );\n\tconst hasMargin = useHasMargin( settings );\n\tconst hasGap = useHasGap( settings );\n\tconst hasMinHeight = useHasMinHeight( settings );\n\tconst hasAspectRatio = useHasAspectRatio( settings );\n\tconst hasChildLayout = useHasChildLayout( settings );\n\n\treturn (\n\t\tPlatform.OS === 'web' &&\n\t\t( hasContentSize ||\n\t\t\thasWideSize ||\n\t\t\thasPadding ||\n\t\t\thasMargin ||\n\t\t\thasGap ||\n\t\t\thasMinHeight ||\n\t\t\thasAspectRatio ||\n\t\t\thasChildLayout )\n\t);\n}\n\nfunction useHasContentSize( settings ) {\n\treturn settings?.layout?.contentSize;\n}\n\nfunction useHasWideSize( settings ) {\n\treturn settings?.layout?.wideSize;\n}\n\nfunction useHasPadding( settings ) {\n\treturn settings?.spacing?.padding;\n}\n\nfunction useHasMargin( settings ) {\n\treturn settings?.spacing?.margin;\n}\n\nfunction useHasGap( settings ) {\n\treturn settings?.spacing?.blockGap;\n}\n\nfunction useHasMinHeight( settings ) {\n\treturn settings?.dimensions?.minHeight;\n}\n\nfunction useHasAspectRatio( settings ) {\n\treturn settings?.dimensions?.aspectRatio;\n}\n\nfunction useHasChildLayout( settings ) {\n\tconst {\n\t\ttype: parentLayoutType = 'default',\n\t\tdefault: { type: defaultParentLayoutType = 'default' } = {},\n\t\tallowSizingOnChildren = false,\n\t} = settings?.parentLayout ?? {};\n\n\tconst support =\n\t\t( defaultParentLayoutType === 'flex' ||\n\t\t\tparentLayoutType === 'flex' ||\n\t\t\tdefaultParentLayoutType === 'grid' ||\n\t\t\tparentLayoutType === 'grid' ) &&\n\t\tallowSizingOnChildren;\n\treturn !! settings?.layout && support;\n}\n\nfunction useHasSpacingPresets( settings ) {\n\tconst { defaultSpacingSizes, spacingSizes } = settings?.spacing || {};\n\treturn (\n\t\t( defaultSpacingSizes !== false &&\n\t\t\tspacingSizes?.default?.length > 0 ) ||\n\t\tspacingSizes?.theme?.length > 0 ||\n\t\tspacingSizes?.custom?.length > 0\n\t);\n}\n\nfunction filterValuesBySides( values, sides ) {\n\t// If no custom side configuration, all sides are opted into by default.\n\t// Without any values, we have nothing to filter either.\n\tif ( ! sides || ! values ) {\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, isAxialGap ) {\n\tif ( ! value ) {\n\t\treturn value;\n\t}\n\n\t// Check for shorthand value (a string value).\n\tif ( typeof value === 'string' ) {\n\t\t/*\n\t\t * Map the string value to appropriate sides for the spacing control depending\n\t\t * on whether the current block has axial gap support or not.\n\t\t *\n\t\t * Note: The axial value pairs must match for the spacing control to display\n\t\t * the appropriate horizontal/vertical sliders.\n\t\t */\n\t\treturn isAxialGap\n\t\t\t? { top: value, right: value, bottom: value, left: value }\n\t\t\t: { top: value };\n\t}\n\n\treturn {\n\t\t...value,\n\t\tright: value?.left,\n\t\tbottom: value?.top,\n\t};\n}\n\nfunction DimensionsToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n} ) {\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\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={ __( 'Dimensions' ) }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t>\n\t\t\t{ children }\n\t\t</ToolsPanel>\n\t);\n}\n\nconst DEFAULT_CONTROLS = {\n\tcontentSize: true,\n\twideSize: true,\n\tpadding: true,\n\tmargin: true,\n\tblockGap: true,\n\tminHeight: true,\n\taspectRatio: true,\n\tchildLayout: true,\n};\n\nexport default function DimensionsPanel( {\n\tas: Wrapper = DimensionsToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tdefaultControls = DEFAULT_CONTROLS,\n\tonVisualize = () => {},\n\t// Special case because the layout controls are not part of the dimensions panel\n\t// in global styles but not in block inspector.\n\tincludeLayoutControls = false,\n} ) {\n\tconst { dimensions, spacing } = settings;\n\n\tconst decodeValue = ( rawValue ) => {\n\t\tif ( rawValue && typeof rawValue === 'object' ) {\n\t\t\treturn Object.keys( rawValue ).reduce( ( acc, key ) => {\n\t\t\t\tacc[ key ] = getValueFromVariable(\n\t\t\t\t\t{ settings: { dimensions, spacing } },\n\t\t\t\t\t'',\n\t\t\t\t\trawValue[ key ]\n\t\t\t\t);\n\t\t\t\treturn acc;\n\t\t\t}, {} );\n\t\t}\n\t\treturn getValueFromVariable(\n\t\t\t{ settings: { dimensions, spacing } },\n\t\t\t'',\n\t\t\trawValue\n\t\t);\n\t};\n\n\tconst showSpacingPresetsControl = useHasSpacingPresets( settings );\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: settings?.spacing?.units || [\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//Minimum Margin Value\n\tconst minimumMargin = -Infinity;\n\tconst [ minMarginValue, setMinMarginValue ] = useState( minimumMargin );\n\n\t// Content Width\n\tconst showContentSizeControl =\n\t\tuseHasContentSize( settings ) && includeLayoutControls;\n\tconst contentSizeValue = decodeValue( inheritedValue?.layout?.contentSize );\n\tconst setContentSizeValue = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'layout', 'contentSize' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasUserSetContentSizeValue = () => !! value?.layout?.contentSize;\n\tconst resetContentSizeValue = () => setContentSizeValue( undefined );\n\n\t// Wide Width\n\tconst showWideSizeControl =\n\t\tuseHasWideSize( settings ) && includeLayoutControls;\n\tconst wideSizeValue = decodeValue( inheritedValue?.layout?.wideSize );\n\tconst setWideSizeValue = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'layout', 'wideSize' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasUserSetWideSizeValue = () => !! value?.layout?.wideSize;\n\tconst resetWideSizeValue = () => setWideSizeValue( undefined );\n\n\t// Padding\n\tconst showPaddingControl = useHasPadding( settings );\n\tconst rawPadding = decodeValue( inheritedValue?.spacing?.padding );\n\tconst paddingValues = splitStyleValue( rawPadding );\n\tconst paddingSides = Array.isArray( settings?.spacing?.padding )\n\t\t? settings?.spacing?.padding\n\t\t: settings?.spacing?.padding?.sides;\n\tconst isAxialPadding =\n\t\tpaddingSides &&\n\t\tpaddingSides.some( ( side ) => AXIAL_SIDES.includes( side ) );\n\tconst setPaddingValues = ( newPaddingValues ) => {\n\t\tconst padding = filterValuesBySides( newPaddingValues, paddingSides );\n\t\tonChange( setImmutably( value, [ 'spacing', 'padding' ], padding ) );\n\t};\n\tconst hasPaddingValue = () =>\n\t\t!! value?.spacing?.padding &&\n\t\tObject.keys( value?.spacing?.padding ).length;\n\tconst resetPaddingValue = () => setPaddingValues( undefined );\n\tconst onMouseOverPadding = () => onVisualize( 'padding' );\n\n\t// Margin\n\tconst showMarginControl = useHasMargin( settings );\n\tconst rawMargin = decodeValue( inheritedValue?.spacing?.margin );\n\tconst marginValues = splitStyleValue( rawMargin );\n\tconst marginSides = Array.isArray( settings?.spacing?.margin )\n\t\t? settings?.spacing?.margin\n\t\t: settings?.spacing?.margin?.sides;\n\tconst isAxialMargin =\n\t\tmarginSides &&\n\t\tmarginSides.some( ( side ) => AXIAL_SIDES.includes( side ) );\n\tconst setMarginValues = ( newMarginValues ) => {\n\t\tconst margin = filterValuesBySides( newMarginValues, marginSides );\n\t\tonChange( setImmutably( value, [ 'spacing', 'margin' ], margin ) );\n\t};\n\tconst hasMarginValue = () =>\n\t\t!! value?.spacing?.margin &&\n\t\tObject.keys( value?.spacing?.margin ).length;\n\tconst resetMarginValue = () => setMarginValues( undefined );\n\tconst onMouseOverMargin = () => onVisualize( 'margin' );\n\n\t// Block Gap\n\tconst showGapControl = useHasGap( settings );\n\tconst gapSides = Array.isArray( settings?.spacing?.blockGap )\n\t\t? settings?.spacing?.blockGap\n\t\t: settings?.spacing?.blockGap?.sides;\n\tconst isAxialGap =\n\t\tgapSides && gapSides.some( ( side ) => AXIAL_SIDES.includes( side ) );\n\tconst gapValue = decodeValue( inheritedValue?.spacing?.blockGap );\n\tconst gapValues = splitGapValue( gapValue, isAxialGap );\n\tconst setGapValue = ( newGapValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably( value, [ 'spacing', 'blockGap' ], newGapValue )\n\t\t);\n\t};\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\tconst resetGapValue = () => setGapValue( undefined );\n\tconst hasGapValue = () => !! value?.spacing?.blockGap;\n\n\t// Min Height\n\tconst showMinHeightControl = useHasMinHeight( settings );\n\tconst minHeightValue = decodeValue( inheritedValue?.dimensions?.minHeight );\n\tconst setMinHeightValue = ( newValue ) => {\n\t\tconst tempValue = setImmutably(\n\t\t\tvalue,\n\t\t\t[ 'dimensions', 'minHeight' ],\n\t\t\tnewValue\n\t\t);\n\t\t// Apply min-height, while removing any applied aspect ratio.\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\ttempValue,\n\t\t\t\t[ 'dimensions', 'aspectRatio' ],\n\t\t\t\tundefined\n\t\t\t)\n\t\t);\n\t};\n\tconst resetMinHeightValue = () => {\n\t\tsetMinHeightValue( undefined );\n\t};\n\tconst hasMinHeightValue = () => !! value?.dimensions?.minHeight;\n\n\t// Aspect Ratio\n\tconst showAspectRatioControl = useHasAspectRatio( settings );\n\tconst aspectRatioValue = decodeValue(\n\t\tinheritedValue?.dimensions?.aspectRatio\n\t);\n\tconst setAspectRatioValue = ( newValue ) => {\n\t\tconst tempValue = setImmutably(\n\t\t\tvalue,\n\t\t\t[ 'dimensions', 'aspectRatio' ],\n\t\t\tnewValue\n\t\t);\n\t\t// Apply aspect-ratio, while removing any applied min-height.\n\t\tonChange(\n\t\t\tsetImmutably( tempValue, [ 'dimensions', 'minHeight' ], undefined )\n\t\t);\n\t};\n\tconst hasAspectRatioValue = () => !! value?.dimensions?.aspectRatio;\n\n\t// Child Layout\n\tconst showChildLayoutControl = useHasChildLayout( settings );\n\tconst childLayout = inheritedValue?.layout;\n\n\tconst setChildLayout = ( newChildLayout ) => {\n\t\tonChange( {\n\t\t\t...value,\n\t\t\tlayout: {\n\t\t\t\t...newChildLayout,\n\t\t\t},\n\t\t} );\n\t};\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\tlayout: cleanEmptyObject( {\n\t\t\t\t...previousValue?.layout,\n\t\t\t\tcontentSize: undefined,\n\t\t\t\twideSize: undefined,\n\t\t\t\tselfStretch: undefined,\n\t\t\t\tflexSize: undefined,\n\t\t\t\tcolumnStart: undefined,\n\t\t\t\trowStart: undefined,\n\t\t\t\tcolumnSpan: undefined,\n\t\t\t\trowSpan: undefined,\n\t\t\t} ),\n\t\t\tspacing: {\n\t\t\t\t...previousValue?.spacing,\n\t\t\t\tpadding: undefined,\n\t\t\t\tmargin: undefined,\n\t\t\t\tblockGap: undefined,\n\t\t\t},\n\t\t\tdimensions: {\n\t\t\t\t...previousValue?.dimensions,\n\t\t\t\tminHeight: undefined,\n\t\t\t\taspectRatio: undefined,\n\t\t\t},\n\t\t};\n\t}, [] );\n\n\tconst onMouseLeaveControls = () => onVisualize( false );\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{ ( 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\tlabel={ __( 'Content width' ) }\n\t\t\t\t\thasValue={ hasUserSetContentSizeValue }\n\t\t\t\t\tonDeselect={ resetContentSizeValue }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.contentSize ??\n\t\t\t\t\t\tDEFAULT_CONTROLS.contentSize\n\t\t\t\t\t}\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Content width' ) }\n\t\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\t\tvalue={ contentSizeValue || '' }\n\t\t\t\t\t\tonChange={ ( nextContentSize ) => {\n\t\t\t\t\t\t\tsetContentSizeValue( nextContentSize );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\tprefix={\n\t\t\t\t\t\t\t<InputControlPrefixWrapper variant=\"icon\">\n\t\t\t\t\t\t\t\t<Icon icon={ alignNone } />\n\t\t\t\t\t\t\t</InputControlPrefixWrapper>\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{ showWideSizeControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Wide width' ) }\n\t\t\t\t\thasValue={ hasUserSetWideSizeValue }\n\t\t\t\t\tonDeselect={ resetWideSizeValue }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.wideSize ?? DEFAULT_CONTROLS.wideSize\n\t\t\t\t\t}\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Wide width' ) }\n\t\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\t\tvalue={ wideSizeValue || '' }\n\t\t\t\t\t\tonChange={ ( nextWideSize ) => {\n\t\t\t\t\t\t\tsetWideSizeValue( nextWideSize );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\tprefix={\n\t\t\t\t\t\t\t<InputControlPrefixWrapper variant=\"icon\">\n\t\t\t\t\t\t\t\t<Icon icon={ stretchWide } />\n\t\t\t\t\t\t\t</InputControlPrefixWrapper>\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{ 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={\n\t\t\t\t\t\tdefaultControls.padding ?? DEFAULT_CONTROLS.padding\n\t\t\t\t\t}\n\t\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t\t'tools-panel-item-spacing': showSpacingPresetsControl,\n\t\t\t\t\t} ) }\n\t\t\t\t\tpanelId={ panelId }\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\t__next40pxDefaultSize\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\tinputProps={ {\n\t\t\t\t\t\t\t\tonMouseOver: onMouseOverPadding,\n\t\t\t\t\t\t\t\tonMouseOut: onMouseLeaveControls,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\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\tonMouseOver={ onMouseOverPadding }\n\t\t\t\t\t\t\tonMouseOut={ onMouseLeaveControls }\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={\n\t\t\t\t\t\tdefaultControls.margin ?? DEFAULT_CONTROLS.margin\n\t\t\t\t\t}\n\t\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t\t'tools-panel-item-spacing': showSpacingPresetsControl,\n\t\t\t\t\t} ) }\n\t\t\t\t\tpanelId={ panelId }\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\t__next40pxDefaultSize\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\tinputProps={ {\n\t\t\t\t\t\t\t\tmin: minMarginValue,\n\t\t\t\t\t\t\t\tonDragStart: () => {\n\t\t\t\t\t\t\t\t\t// Reset to 0 in case the value was negative.\n\t\t\t\t\t\t\t\t\tsetMinMarginValue( 0 );\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tonDragEnd: () => {\n\t\t\t\t\t\t\t\t\tsetMinMarginValue( minimumMargin );\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tonMouseOver: onMouseOverMargin,\n\t\t\t\t\t\t\t\tonMouseOut: onMouseLeaveControls,\n\t\t\t\t\t\t\t} }\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\tminimumCustomValue={ -Infinity }\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\tonMouseOver={ onMouseOverMargin }\n\t\t\t\t\t\t\tonMouseOut={ onMouseLeaveControls }\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={\n\t\t\t\t\t\tdefaultControls.blockGap ?? DEFAULT_CONTROLS.blockGap\n\t\t\t\t\t}\n\t\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t\t'tools-panel-item-spacing': showSpacingPresetsControl,\n\t\t\t\t\t\t'single-column':\n\t\t\t\t\t\t\t// If UnitControl is used, should be single-column.\n\t\t\t\t\t\t\t! showSpacingPresetsControl && ! isAxialGap,\n\t\t\t\t\t} ) }\n\t\t\t\t\tpanelId={ panelId }\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\t__next40pxDefaultSize\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\t__next40pxDefaultSize\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={ 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\tshowSideInLabel={ false }\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/>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ showChildLayoutControl && (\n\t\t\t\t<ChildLayoutControl\n\t\t\t\t\tvalue={ childLayout }\n\t\t\t\t\tonChange={ setChildLayout }\n\t\t\t\t\tparentLayout={ settings?.parentLayout }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.childLayout ??\n\t\t\t\t\t\tDEFAULT_CONTROLS.childLayout\n\t\t\t\t\t}\n\t\t\t\t/>\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={ __( 'Minimum height' ) }\n\t\t\t\t\tonDeselect={ resetMinHeightValue }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.minHeight ?? DEFAULT_CONTROLS.minHeight\n\t\t\t\t\t}\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<HeightControl\n\t\t\t\t\t\tlabel={ __( 'Minimum 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\t{ showAspectRatioControl && (\n\t\t\t\t<AspectRatioTool\n\t\t\t\t\thasValue={ hasAspectRatioValue }\n\t\t\t\t\tvalue={ aspectRatioValue }\n\t\t\t\t\tonChange={ setAspectRatioValue }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.aspectRatio ??\n\t\t\t\t\t\tDEFAULT_CONTROLS.aspectRatio\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t</Wrapper>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_clsx","_interopRequireDefault","require","_i18n","_components","_icons","_element","_utils","_spacingSizesControl","_heightControl","_childLayoutControl","_aspectRatioTool","_utils2","_object","_jsxRuntime","AXIAL_SIDES","useHasDimensionsPanel","settings","hasContentSize","useHasContentSize","hasWideSize","useHasWideSize","hasPadding","useHasPadding","hasMargin","useHasMargin","hasGap","useHasGap","hasMinHeight","useHasMinHeight","hasAspectRatio","useHasAspectRatio","hasChildLayout","useHasChildLayout","Platform","OS","layout","contentSize","wideSize","spacing","padding","margin","blockGap","dimensions","minHeight","aspectRatio","_settings$parentLayou","type","parentLayoutType","default","defaultParentLayoutType","allowSizingOnChildren","parentLayout","support","useHasSpacingPresets","defaultSpacingSizes","spacingSizes","length","theme","custom","filterValuesBySides","values","sides","filteredValues","forEach","side","top","bottom","left","right","splitStyleValue","value","splitGapValue","isAxialGap","DimensionsToolsPanel","resetAllFilter","onChange","panelId","children","dropdownMenuProps","useToolsPanelDropdownMenuProps","resetAll","updatedValue","jsx","__experimentalToolsPanel","label","__","DEFAULT_CONTROLS","childLayout","DimensionsPanel","as","Wrapper","inheritedValue","defaultControls","onVisualize","includeLayoutControls","_defaultControls$cont","_defaultControls$wide","_defaultControls$padd","_defaultControls$marg","_defaultControls$bloc","_defaultControls$chil","_defaultControls$minH","_defaultControls$aspe","decodeValue","rawValue","Object","keys","reduce","acc","key","getValueFromVariable","showSpacingPresetsControl","units","useCustomUnits","availableUnits","minimumMargin","Infinity","minMarginValue","setMinMarginValue","useState","showContentSizeControl","contentSizeValue","setContentSizeValue","newValue","setImmutably","undefined","hasUserSetContentSizeValue","resetContentSizeValue","showWideSizeControl","wideSizeValue","setWideSizeValue","hasUserSetWideSizeValue","resetWideSizeValue","showPaddingControl","rawPadding","paddingValues","paddingSides","Array","isArray","isAxialPadding","some","includes","setPaddingValues","newPaddingValues","hasPaddingValue","resetPaddingValue","onMouseOverPadding","showMarginControl","rawMargin","marginValues","marginSides","isAxialMargin","setMarginValues","newMarginValues","hasMarginValue","resetMarginValue","onMouseOverMargin","showGapControl","gapSides","gapValue","gapValues","setGapValue","newGapValue","setGapValues","nextBoxGapValue","hasOwnProperty","resetGapValue","hasGapValue","showMinHeightControl","minHeightValue","setMinHeightValue","tempValue","resetMinHeightValue","hasMinHeightValue","showAspectRatioControl","aspectRatioValue","setAspectRatioValue","hasAspectRatioValue","showChildLayoutControl","setChildLayout","newChildLayout","useCallback","previousValue","cleanEmptyObject","selfStretch","flexSize","columnStart","rowStart","columnSpan","rowSpan","onMouseLeaveControls","jsxs","className","__experimentalToolsPanelItem","hasValue","onDeselect","isShownByDefault","__experimentalUnitControl","__next40pxDefaultSize","labelPosition","nextContentSize","prefix","__experimentalInputControlPrefixWrapper","variant","Icon","icon","alignNone","nextWideSize","stretchWide","clsx","BoxControl","allowReset","splitOnAxis","inputProps","onMouseOver","onMouseOut","min","onDragStart","onDragEnd","minimumCustomValue","showSideInLabel"],"sources":["@wordpress/block-editor/src/components/global-styles/dimensions-panel.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\tBoxControl,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalInputControlPrefixWrapper as InputControlPrefixWrapper,\n} from '@wordpress/components';\nimport { Icon, alignNone, stretchWide } from '@wordpress/icons';\nimport { useCallback, useState, Platform } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { getValueFromVariable, useToolsPanelDropdownMenuProps } from './utils';\nimport SpacingSizesControl from '../spacing-sizes-control';\nimport HeightControl from '../height-control';\nimport ChildLayoutControl from '../child-layout-control';\nimport AspectRatioTool from '../dimensions-tool/aspect-ratio-tool';\nimport { cleanEmptyObject } from '../../hooks/utils';\nimport { setImmutably } from '../../utils/object';\n\nconst AXIAL_SIDES = [ 'horizontal', 'vertical' ];\n\nexport function useHasDimensionsPanel( settings ) {\n\tconst hasContentSize = useHasContentSize( settings );\n\tconst hasWideSize = useHasWideSize( settings );\n\tconst hasPadding = useHasPadding( settings );\n\tconst hasMargin = useHasMargin( settings );\n\tconst hasGap = useHasGap( settings );\n\tconst hasMinHeight = useHasMinHeight( settings );\n\tconst hasAspectRatio = useHasAspectRatio( settings );\n\tconst hasChildLayout = useHasChildLayout( settings );\n\n\treturn (\n\t\tPlatform.OS === 'web' &&\n\t\t( hasContentSize ||\n\t\t\thasWideSize ||\n\t\t\thasPadding ||\n\t\t\thasMargin ||\n\t\t\thasGap ||\n\t\t\thasMinHeight ||\n\t\t\thasAspectRatio ||\n\t\t\thasChildLayout )\n\t);\n}\n\nfunction useHasContentSize( settings ) {\n\treturn settings?.layout?.contentSize;\n}\n\nfunction useHasWideSize( settings ) {\n\treturn settings?.layout?.wideSize;\n}\n\nfunction useHasPadding( settings ) {\n\treturn settings?.spacing?.padding;\n}\n\nfunction useHasMargin( settings ) {\n\treturn settings?.spacing?.margin;\n}\n\nfunction useHasGap( settings ) {\n\treturn settings?.spacing?.blockGap;\n}\n\nfunction useHasMinHeight( settings ) {\n\treturn settings?.dimensions?.minHeight;\n}\n\nfunction useHasAspectRatio( settings ) {\n\treturn settings?.dimensions?.aspectRatio;\n}\n\nfunction useHasChildLayout( settings ) {\n\tconst {\n\t\ttype: parentLayoutType = 'default',\n\t\tdefault: { type: defaultParentLayoutType = 'default' } = {},\n\t\tallowSizingOnChildren = false,\n\t} = settings?.parentLayout ?? {};\n\n\tconst support =\n\t\t( defaultParentLayoutType === 'flex' ||\n\t\t\tparentLayoutType === 'flex' ||\n\t\t\tdefaultParentLayoutType === 'grid' ||\n\t\t\tparentLayoutType === 'grid' ) &&\n\t\tallowSizingOnChildren;\n\treturn !! settings?.layout && support;\n}\n\nfunction useHasSpacingPresets( settings ) {\n\tconst { defaultSpacingSizes, spacingSizes } = settings?.spacing || {};\n\treturn (\n\t\t( defaultSpacingSizes !== false &&\n\t\t\tspacingSizes?.default?.length > 0 ) ||\n\t\tspacingSizes?.theme?.length > 0 ||\n\t\tspacingSizes?.custom?.length > 0\n\t);\n}\n\nfunction filterValuesBySides( values, sides ) {\n\t// If no custom side configuration, all sides are opted into by default.\n\t// Without any values, we have nothing to filter either.\n\tif ( ! sides || ! values ) {\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, isAxialGap ) {\n\tif ( ! value ) {\n\t\treturn value;\n\t}\n\n\t// Check for shorthand value (a string value).\n\tif ( typeof value === 'string' ) {\n\t\t/*\n\t\t * Map the string value to appropriate sides for the spacing control depending\n\t\t * on whether the current block has axial gap support or not.\n\t\t *\n\t\t * Note: The axial value pairs must match for the spacing control to display\n\t\t * the appropriate horizontal/vertical sliders.\n\t\t */\n\t\treturn isAxialGap\n\t\t\t? { top: value, right: value, bottom: value, left: value }\n\t\t\t: { top: value };\n\t}\n\n\treturn {\n\t\t...value,\n\t\tright: value?.left,\n\t\tbottom: value?.top,\n\t};\n}\n\nfunction DimensionsToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n} ) {\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\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={ __( 'Dimensions' ) }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t>\n\t\t\t{ children }\n\t\t</ToolsPanel>\n\t);\n}\n\nconst DEFAULT_CONTROLS = {\n\tcontentSize: true,\n\twideSize: true,\n\tpadding: true,\n\tmargin: true,\n\tblockGap: true,\n\tminHeight: true,\n\taspectRatio: true,\n\tchildLayout: true,\n};\n\nexport default function DimensionsPanel( {\n\tas: Wrapper = DimensionsToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tdefaultControls = DEFAULT_CONTROLS,\n\tonVisualize = () => {},\n\t// Special case because the layout controls are not part of the dimensions panel\n\t// in global styles but not in block inspector.\n\tincludeLayoutControls = false,\n} ) {\n\tconst { dimensions, spacing } = settings;\n\n\tconst decodeValue = ( rawValue ) => {\n\t\tif ( rawValue && typeof rawValue === 'object' ) {\n\t\t\treturn Object.keys( rawValue ).reduce( ( acc, key ) => {\n\t\t\t\tacc[ key ] = getValueFromVariable(\n\t\t\t\t\t{ settings: { dimensions, spacing } },\n\t\t\t\t\t'',\n\t\t\t\t\trawValue[ key ]\n\t\t\t\t);\n\t\t\t\treturn acc;\n\t\t\t}, {} );\n\t\t}\n\t\treturn getValueFromVariable(\n\t\t\t{ settings: { dimensions, spacing } },\n\t\t\t'',\n\t\t\trawValue\n\t\t);\n\t};\n\n\tconst showSpacingPresetsControl = useHasSpacingPresets( settings );\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: settings?.spacing?.units || [\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//Minimum Margin Value\n\tconst minimumMargin = -Infinity;\n\tconst [ minMarginValue, setMinMarginValue ] = useState( minimumMargin );\n\n\t// Content Width\n\tconst showContentSizeControl =\n\t\tuseHasContentSize( settings ) && includeLayoutControls;\n\tconst contentSizeValue = decodeValue( inheritedValue?.layout?.contentSize );\n\tconst setContentSizeValue = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'layout', 'contentSize' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasUserSetContentSizeValue = () => !! value?.layout?.contentSize;\n\tconst resetContentSizeValue = () => setContentSizeValue( undefined );\n\n\t// Wide Width\n\tconst showWideSizeControl =\n\t\tuseHasWideSize( settings ) && includeLayoutControls;\n\tconst wideSizeValue = decodeValue( inheritedValue?.layout?.wideSize );\n\tconst setWideSizeValue = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'layout', 'wideSize' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasUserSetWideSizeValue = () => !! value?.layout?.wideSize;\n\tconst resetWideSizeValue = () => setWideSizeValue( undefined );\n\n\t// Padding\n\tconst showPaddingControl = useHasPadding( settings );\n\tconst rawPadding = decodeValue( inheritedValue?.spacing?.padding );\n\tconst paddingValues = splitStyleValue( rawPadding );\n\tconst paddingSides = Array.isArray( settings?.spacing?.padding )\n\t\t? settings?.spacing?.padding\n\t\t: settings?.spacing?.padding?.sides;\n\tconst isAxialPadding =\n\t\tpaddingSides &&\n\t\tpaddingSides.some( ( side ) => AXIAL_SIDES.includes( side ) );\n\tconst setPaddingValues = ( newPaddingValues ) => {\n\t\tconst padding = filterValuesBySides( newPaddingValues, paddingSides );\n\t\tonChange( setImmutably( value, [ 'spacing', 'padding' ], padding ) );\n\t};\n\tconst hasPaddingValue = () =>\n\t\t!! value?.spacing?.padding &&\n\t\tObject.keys( value?.spacing?.padding ).length;\n\tconst resetPaddingValue = () => setPaddingValues( undefined );\n\tconst onMouseOverPadding = () => onVisualize( 'padding' );\n\n\t// Margin\n\tconst showMarginControl = useHasMargin( settings );\n\tconst rawMargin = decodeValue( inheritedValue?.spacing?.margin );\n\tconst marginValues = splitStyleValue( rawMargin );\n\tconst marginSides = Array.isArray( settings?.spacing?.margin )\n\t\t? settings?.spacing?.margin\n\t\t: settings?.spacing?.margin?.sides;\n\tconst isAxialMargin =\n\t\tmarginSides &&\n\t\tmarginSides.some( ( side ) => AXIAL_SIDES.includes( side ) );\n\tconst setMarginValues = ( newMarginValues ) => {\n\t\tconst margin = filterValuesBySides( newMarginValues, marginSides );\n\t\tonChange( setImmutably( value, [ 'spacing', 'margin' ], margin ) );\n\t};\n\tconst hasMarginValue = () =>\n\t\t!! value?.spacing?.margin &&\n\t\tObject.keys( value?.spacing?.margin ).length;\n\tconst resetMarginValue = () => setMarginValues( undefined );\n\tconst onMouseOverMargin = () => onVisualize( 'margin' );\n\n\t// Block Gap\n\tconst showGapControl = useHasGap( settings );\n\tconst gapSides = Array.isArray( settings?.spacing?.blockGap )\n\t\t? settings?.spacing?.blockGap\n\t\t: settings?.spacing?.blockGap?.sides;\n\tconst isAxialGap =\n\t\tgapSides && gapSides.some( ( side ) => AXIAL_SIDES.includes( side ) );\n\tconst gapValue = decodeValue( inheritedValue?.spacing?.blockGap );\n\tconst gapValues = splitGapValue( gapValue, isAxialGap );\n\tconst setGapValue = ( newGapValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably( value, [ 'spacing', 'blockGap' ], newGapValue )\n\t\t);\n\t};\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\tconst resetGapValue = () => setGapValue( undefined );\n\tconst hasGapValue = () => !! value?.spacing?.blockGap;\n\n\t// Min Height\n\tconst showMinHeightControl = useHasMinHeight( settings );\n\tconst minHeightValue = decodeValue( inheritedValue?.dimensions?.minHeight );\n\tconst setMinHeightValue = ( newValue ) => {\n\t\tconst tempValue = setImmutably(\n\t\t\tvalue,\n\t\t\t[ 'dimensions', 'minHeight' ],\n\t\t\tnewValue\n\t\t);\n\t\t// Apply min-height, while removing any applied aspect ratio.\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\ttempValue,\n\t\t\t\t[ 'dimensions', 'aspectRatio' ],\n\t\t\t\tundefined\n\t\t\t)\n\t\t);\n\t};\n\tconst resetMinHeightValue = () => {\n\t\tsetMinHeightValue( undefined );\n\t};\n\tconst hasMinHeightValue = () => !! value?.dimensions?.minHeight;\n\n\t// Aspect Ratio\n\tconst showAspectRatioControl = useHasAspectRatio( settings );\n\tconst aspectRatioValue = decodeValue(\n\t\tinheritedValue?.dimensions?.aspectRatio\n\t);\n\tconst setAspectRatioValue = ( newValue ) => {\n\t\tconst tempValue = setImmutably(\n\t\t\tvalue,\n\t\t\t[ 'dimensions', 'aspectRatio' ],\n\t\t\tnewValue\n\t\t);\n\t\t// Apply aspect-ratio, while removing any applied min-height.\n\t\tonChange(\n\t\t\tsetImmutably( tempValue, [ 'dimensions', 'minHeight' ], undefined )\n\t\t);\n\t};\n\tconst hasAspectRatioValue = () => !! value?.dimensions?.aspectRatio;\n\n\t// Child Layout\n\tconst showChildLayoutControl = useHasChildLayout( settings );\n\tconst childLayout = inheritedValue?.layout;\n\n\tconst setChildLayout = ( newChildLayout ) => {\n\t\tonChange( {\n\t\t\t...value,\n\t\t\tlayout: {\n\t\t\t\t...newChildLayout,\n\t\t\t},\n\t\t} );\n\t};\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\tlayout: cleanEmptyObject( {\n\t\t\t\t...previousValue?.layout,\n\t\t\t\tcontentSize: undefined,\n\t\t\t\twideSize: undefined,\n\t\t\t\tselfStretch: undefined,\n\t\t\t\tflexSize: undefined,\n\t\t\t\tcolumnStart: undefined,\n\t\t\t\trowStart: undefined,\n\t\t\t\tcolumnSpan: undefined,\n\t\t\t\trowSpan: undefined,\n\t\t\t} ),\n\t\t\tspacing: {\n\t\t\t\t...previousValue?.spacing,\n\t\t\t\tpadding: undefined,\n\t\t\t\tmargin: undefined,\n\t\t\t\tblockGap: undefined,\n\t\t\t},\n\t\t\tdimensions: {\n\t\t\t\t...previousValue?.dimensions,\n\t\t\t\tminHeight: undefined,\n\t\t\t\taspectRatio: undefined,\n\t\t\t},\n\t\t};\n\t}, [] );\n\n\tconst onMouseLeaveControls = () => onVisualize( false );\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{ ( 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\tlabel={ __( 'Content width' ) }\n\t\t\t\t\thasValue={ hasUserSetContentSizeValue }\n\t\t\t\t\tonDeselect={ resetContentSizeValue }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.contentSize ??\n\t\t\t\t\t\tDEFAULT_CONTROLS.contentSize\n\t\t\t\t\t}\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Content width' ) }\n\t\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\t\tvalue={ contentSizeValue || '' }\n\t\t\t\t\t\tonChange={ ( nextContentSize ) => {\n\t\t\t\t\t\t\tsetContentSizeValue( nextContentSize );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\tprefix={\n\t\t\t\t\t\t\t<InputControlPrefixWrapper variant=\"icon\">\n\t\t\t\t\t\t\t\t<Icon icon={ alignNone } />\n\t\t\t\t\t\t\t</InputControlPrefixWrapper>\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{ showWideSizeControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Wide width' ) }\n\t\t\t\t\thasValue={ hasUserSetWideSizeValue }\n\t\t\t\t\tonDeselect={ resetWideSizeValue }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.wideSize ?? DEFAULT_CONTROLS.wideSize\n\t\t\t\t\t}\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Wide width' ) }\n\t\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\t\tvalue={ wideSizeValue || '' }\n\t\t\t\t\t\tonChange={ ( nextWideSize ) => {\n\t\t\t\t\t\t\tsetWideSizeValue( nextWideSize );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\tprefix={\n\t\t\t\t\t\t\t<InputControlPrefixWrapper variant=\"icon\">\n\t\t\t\t\t\t\t\t<Icon icon={ stretchWide } />\n\t\t\t\t\t\t\t</InputControlPrefixWrapper>\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{ 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={\n\t\t\t\t\t\tdefaultControls.padding ?? DEFAULT_CONTROLS.padding\n\t\t\t\t\t}\n\t\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t\t'tools-panel-item-spacing': showSpacingPresetsControl,\n\t\t\t\t\t} ) }\n\t\t\t\t\tpanelId={ panelId }\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\t__next40pxDefaultSize\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\tinputProps={ {\n\t\t\t\t\t\t\t\tonMouseOver: onMouseOverPadding,\n\t\t\t\t\t\t\t\tonMouseOut: onMouseLeaveControls,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\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\tonMouseOver={ onMouseOverPadding }\n\t\t\t\t\t\t\tonMouseOut={ onMouseLeaveControls }\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={\n\t\t\t\t\t\tdefaultControls.margin ?? DEFAULT_CONTROLS.margin\n\t\t\t\t\t}\n\t\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t\t'tools-panel-item-spacing': showSpacingPresetsControl,\n\t\t\t\t\t} ) }\n\t\t\t\t\tpanelId={ panelId }\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\t__next40pxDefaultSize\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\tinputProps={ {\n\t\t\t\t\t\t\t\tmin: minMarginValue,\n\t\t\t\t\t\t\t\tonDragStart: () => {\n\t\t\t\t\t\t\t\t\t// Reset to 0 in case the value was negative.\n\t\t\t\t\t\t\t\t\tsetMinMarginValue( 0 );\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tonDragEnd: () => {\n\t\t\t\t\t\t\t\t\tsetMinMarginValue( minimumMargin );\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tonMouseOver: onMouseOverMargin,\n\t\t\t\t\t\t\t\tonMouseOut: onMouseLeaveControls,\n\t\t\t\t\t\t\t} }\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\tminimumCustomValue={ -Infinity }\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\tonMouseOver={ onMouseOverMargin }\n\t\t\t\t\t\t\tonMouseOut={ onMouseLeaveControls }\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={\n\t\t\t\t\t\tdefaultControls.blockGap ?? DEFAULT_CONTROLS.blockGap\n\t\t\t\t\t}\n\t\t\t\t\tclassName={ clsx( {\n\t\t\t\t\t\t'tools-panel-item-spacing': showSpacingPresetsControl,\n\t\t\t\t\t\t'single-column':\n\t\t\t\t\t\t\t// If UnitControl is used, should be single-column.\n\t\t\t\t\t\t\t! showSpacingPresetsControl && ! isAxialGap,\n\t\t\t\t\t} ) }\n\t\t\t\t\tpanelId={ panelId }\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\t__next40pxDefaultSize\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\t__next40pxDefaultSize\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={ 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\tshowSideInLabel={ false }\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/>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ showChildLayoutControl && (\n\t\t\t\t<ChildLayoutControl\n\t\t\t\t\tvalue={ childLayout }\n\t\t\t\t\tonChange={ setChildLayout }\n\t\t\t\t\tparentLayout={ settings?.parentLayout }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.childLayout ??\n\t\t\t\t\t\tDEFAULT_CONTROLS.childLayout\n\t\t\t\t\t}\n\t\t\t\t/>\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={ __( 'Minimum height' ) }\n\t\t\t\t\tonDeselect={ resetMinHeightValue }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.minHeight ?? DEFAULT_CONTROLS.minHeight\n\t\t\t\t\t}\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<HeightControl\n\t\t\t\t\t\tlabel={ __( 'Minimum 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\t{ showAspectRatioControl && (\n\t\t\t\t<AspectRatioTool\n\t\t\t\t\thasValue={ hasAspectRatioValue }\n\t\t\t\t\tvalue={ aspectRatioValue }\n\t\t\t\t\tonChange={ setAspectRatioValue }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.aspectRatio ??\n\t\t\t\t\t\tDEFAULT_CONTROLS.aspectRatio\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t</Wrapper>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* wp:polyfill */
|
|
1
2
|
"use strict";
|
|
2
3
|
|
|
3
4
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
@@ -165,8 +166,8 @@ function FiltersPanel({
|
|
|
165
166
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalItemGroup, {
|
|
166
167
|
isBordered: true,
|
|
167
168
|
isSeparated: true,
|
|
168
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.
|
|
169
|
-
|
|
169
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalItem, {
|
|
170
|
+
as: "button",
|
|
170
171
|
...toggleProps,
|
|
171
172
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(LabeledColorIndicator, {
|
|
172
173
|
indicator: duotone,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_i18n","_element","_utils","_object","_jsxRuntime","EMPTY_ARRAY","useMultiOriginColorPresets","settings","presetSetting","defaultSetting","disableDefault","color","userPresets","custom","themePresets","theme","defaultPresets","default","useMemo","useHasFiltersPanel","useHasDuotoneControl","customDuotone","defaultDuotone","duotone","length","FiltersToolsPanel","resetAllFilter","onChange","value","panelId","children","dropdownMenuProps","useToolsPanelDropdownMenuProps","resetAll","updatedValue","jsx","__experimentalToolsPanel","label","_x","DEFAULT_CONTROLS","popoverProps","placement","offset","shift","className","headerTitle","__","LabeledColorIndicator","indicator","jsxs","__experimentalHStack","justify","__experimentalZStack","isLayered","Flex","expanded","ColorIndicator","DuotoneSwatch","values","FlexItem","title","FiltersPanel","as","Wrapper","inheritedValue","defaultControls","decodeValue","rawValue","getValueFromVariable","hasDuotoneEnabled","duotonePalette","colorPalette","filter","setDuotone","newValue","duotonePreset","find","colors","settedValue","slug","setImmutably","hasDuotone","resetDuotone","undefined","useCallback","previousValue","__experimentalToolsPanelItem","hasValue","onDeselect","isShownByDefault","Dropdown","renderToggle","onToggle","isOpen","toggleProps","onClick","clsx","__experimentalItemGroup","isBordered","isSeparated","Button","__next40pxDefaultSize","renderContent","__experimentalDropdownContentWrapper","paddingSize","MenuGroup","DuotonePicker","disableCustomColors","disableCustomDuotone"],"sources":["@wordpress/block-editor/src/components/global-styles/filters-panel.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalHStack as HStack,\n\t__experimentalZStack as ZStack,\n\t__experimentalDropdownContentWrapper as DropdownContentWrapper,\n\tButton,\n\tMenuGroup,\n\tColorIndicator,\n\tDuotonePicker,\n\tDuotoneSwatch,\n\tDropdown,\n\tFlex,\n\tFlexItem,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useCallback, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { getValueFromVariable, useToolsPanelDropdownMenuProps } from './utils';\nimport { setImmutably } from '../../utils/object';\n\nconst EMPTY_ARRAY = [];\nfunction useMultiOriginColorPresets(\n\tsettings,\n\t{ presetSetting, defaultSetting }\n) {\n\tconst disableDefault = ! settings?.color?.[ defaultSetting ];\n\tconst userPresets =\n\t\tsettings?.color?.[ presetSetting ]?.custom || EMPTY_ARRAY;\n\tconst themePresets =\n\t\tsettings?.color?.[ presetSetting ]?.theme || EMPTY_ARRAY;\n\tconst defaultPresets =\n\t\tsettings?.color?.[ presetSetting ]?.default || EMPTY_ARRAY;\n\treturn useMemo(\n\t\t() => [\n\t\t\t...userPresets,\n\t\t\t...themePresets,\n\t\t\t...( disableDefault ? EMPTY_ARRAY : defaultPresets ),\n\t\t],\n\t\t[ disableDefault, userPresets, themePresets, defaultPresets ]\n\t);\n}\n\nexport function useHasFiltersPanel( settings ) {\n\treturn useHasDuotoneControl( settings );\n}\n\nfunction useHasDuotoneControl( settings ) {\n\treturn (\n\t\tsettings.color.customDuotone ||\n\t\tsettings.color.defaultDuotone ||\n\t\tsettings.color.duotone.length > 0\n\t);\n}\n\nfunction FiltersToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n} ) {\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\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={ _x( 'Filters', 'Name for applying graphical effects' ) }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t>\n\t\t\t{ children }\n\t\t</ToolsPanel>\n\t);\n}\n\nconst DEFAULT_CONTROLS = {\n\tduotone: true,\n};\n\nconst popoverProps = {\n\tplacement: 'left-start',\n\toffset: 36,\n\tshift: true,\n\tclassName: 'block-editor-duotone-control__popover',\n\theaderTitle: __( 'Duotone' ),\n};\n\nconst LabeledColorIndicator = ( { indicator, label } ) => (\n\t<HStack justify=\"flex-start\">\n\t\t<ZStack isLayered={ false } offset={ -8 }>\n\t\t\t<Flex expanded={ false }>\n\t\t\t\t{ indicator === 'unset' || ! indicator ? (\n\t\t\t\t\t<ColorIndicator className=\"block-editor-duotone-control__unset-indicator\" />\n\t\t\t\t) : (\n\t\t\t\t\t<DuotoneSwatch values={ indicator } />\n\t\t\t\t) }\n\t\t\t</Flex>\n\t\t</ZStack>\n\t\t<FlexItem title={ label }>{ label }</FlexItem>\n\t</HStack>\n);\n\nexport default function FiltersPanel( {\n\tas: Wrapper = FiltersToolsPanel,\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// Duotone\n\tconst hasDuotoneEnabled = useHasDuotoneControl( settings );\n\tconst duotonePalette = useMultiOriginColorPresets( settings, {\n\t\tpresetSetting: 'duotone',\n\t\tdefaultSetting: 'defaultDuotone',\n\t} );\n\tconst colorPalette = useMultiOriginColorPresets( settings, {\n\t\tpresetSetting: 'palette',\n\t\tdefaultSetting: 'defaultPalette',\n\t} );\n\tconst duotone = decodeValue( inheritedValue?.filter?.duotone );\n\tconst setDuotone = ( newValue ) => {\n\t\tconst duotonePreset = duotonePalette.find( ( { colors } ) => {\n\t\t\treturn colors === newValue;\n\t\t} );\n\t\tconst settedValue = duotonePreset\n\t\t\t? `var:preset|duotone|${ duotonePreset.slug }`\n\t\t\t: newValue;\n\t\tonChange( setImmutably( value, [ 'filter', 'duotone' ], settedValue ) );\n\t};\n\tconst hasDuotone = () => !! value?.filter?.duotone;\n\tconst resetDuotone = () => setDuotone( undefined );\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\tfilter: {\n\t\t\t\t...previousValue.filter,\n\t\t\t\tduotone: undefined,\n\t\t\t},\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{ hasDuotoneEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Duotone' ) }\n\t\t\t\t\thasValue={ hasDuotone }\n\t\t\t\t\tonDeselect={ resetDuotone }\n\t\t\t\t\tisShownByDefault={ defaultControls.duotone }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<Dropdown\n\t\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\t\tclassName=\"block-editor-global-styles-filters-panel__dropdown\"\n\t\t\t\t\t\trenderToggle={ ( { onToggle, isOpen } ) => {\n\t\t\t\t\t\t\tconst toggleProps = {\n\t\t\t\t\t\t\t\tonClick: onToggle,\n\t\t\t\t\t\t\t\tclassName: clsx( { 'is-open': isOpen } ),\n\t\t\t\t\t\t\t\t'aria-expanded': isOpen,\n\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\t\t{ ...toggleProps }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<LabeledColorIndicator\n\t\t\t\t\t\t\t\t\t\t\tindicator={ duotone }\n\t\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Duotone' ) }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t</ItemGroup>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t\trenderContent={ () => (\n\t\t\t\t\t\t\t<DropdownContentWrapper paddingSize=\"small\">\n\t\t\t\t\t\t\t\t<MenuGroup label={ __( 'Duotone' ) }>\n\t\t\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t'Create a two-tone color effect without losing your original image.'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t<DuotonePicker\n\t\t\t\t\t\t\t\t\t\tcolorPalette={ colorPalette }\n\t\t\t\t\t\t\t\t\t\tduotonePalette={ duotonePalette }\n\t\t\t\t\t\t\t\t\t\t// TODO: Re-enable both when custom colors are supported for block-level styles.\n\t\t\t\t\t\t\t\t\t\tdisableCustomColors\n\t\t\t\t\t\t\t\t\t\tdisableCustomDuotone\n\t\t\t\t\t\t\t\t\t\tvalue={ duotone }\n\t\t\t\t\t\t\t\t\t\tonChange={ setDuotone }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t\t</DropdownContentWrapper>\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</Wrapper>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_i18n","_element","_utils","_object","_jsxRuntime","EMPTY_ARRAY","useMultiOriginColorPresets","settings","presetSetting","defaultSetting","disableDefault","color","userPresets","custom","themePresets","theme","defaultPresets","default","useMemo","useHasFiltersPanel","useHasDuotoneControl","customDuotone","defaultDuotone","duotone","length","FiltersToolsPanel","resetAllFilter","onChange","value","panelId","children","dropdownMenuProps","useToolsPanelDropdownMenuProps","resetAll","updatedValue","jsx","__experimentalToolsPanel","label","_x","DEFAULT_CONTROLS","popoverProps","placement","offset","shift","className","headerTitle","__","LabeledColorIndicator","indicator","jsxs","__experimentalHStack","justify","__experimentalZStack","isLayered","Flex","expanded","ColorIndicator","DuotoneSwatch","values","FlexItem","title","FiltersPanel","as","Wrapper","inheritedValue","defaultControls","decodeValue","rawValue","getValueFromVariable","hasDuotoneEnabled","duotonePalette","colorPalette","filter","setDuotone","newValue","duotonePreset","find","colors","settedValue","slug","setImmutably","hasDuotone","resetDuotone","undefined","useCallback","previousValue","__experimentalToolsPanelItem","hasValue","onDeselect","isShownByDefault","Dropdown","renderToggle","onToggle","isOpen","toggleProps","onClick","clsx","__experimentalItemGroup","isBordered","isSeparated","__experimentalItem","renderContent","__experimentalDropdownContentWrapper","paddingSize","MenuGroup","DuotonePicker","disableCustomColors","disableCustomDuotone"],"sources":["@wordpress/block-editor/src/components/global-styles/filters-panel.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalItem as Item,\n\t__experimentalHStack as HStack,\n\t__experimentalZStack as ZStack,\n\t__experimentalDropdownContentWrapper as DropdownContentWrapper,\n\tMenuGroup,\n\tColorIndicator,\n\tDuotonePicker,\n\tDuotoneSwatch,\n\tDropdown,\n\tFlex,\n\tFlexItem,\n} from '@wordpress/components';\nimport { __, _x } from '@wordpress/i18n';\nimport { useCallback, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { getValueFromVariable, useToolsPanelDropdownMenuProps } from './utils';\nimport { setImmutably } from '../../utils/object';\n\nconst EMPTY_ARRAY = [];\nfunction useMultiOriginColorPresets(\n\tsettings,\n\t{ presetSetting, defaultSetting }\n) {\n\tconst disableDefault = ! settings?.color?.[ defaultSetting ];\n\tconst userPresets =\n\t\tsettings?.color?.[ presetSetting ]?.custom || EMPTY_ARRAY;\n\tconst themePresets =\n\t\tsettings?.color?.[ presetSetting ]?.theme || EMPTY_ARRAY;\n\tconst defaultPresets =\n\t\tsettings?.color?.[ presetSetting ]?.default || EMPTY_ARRAY;\n\treturn useMemo(\n\t\t() => [\n\t\t\t...userPresets,\n\t\t\t...themePresets,\n\t\t\t...( disableDefault ? EMPTY_ARRAY : defaultPresets ),\n\t\t],\n\t\t[ disableDefault, userPresets, themePresets, defaultPresets ]\n\t);\n}\n\nexport function useHasFiltersPanel( settings ) {\n\treturn useHasDuotoneControl( settings );\n}\n\nfunction useHasDuotoneControl( settings ) {\n\treturn (\n\t\tsettings.color.customDuotone ||\n\t\tsettings.color.defaultDuotone ||\n\t\tsettings.color.duotone.length > 0\n\t);\n}\n\nfunction FiltersToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n} ) {\n\tconst dropdownMenuProps = useToolsPanelDropdownMenuProps();\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={ _x( 'Filters', 'Name for applying graphical effects' ) }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t\tdropdownMenuProps={ dropdownMenuProps }\n\t\t>\n\t\t\t{ children }\n\t\t</ToolsPanel>\n\t);\n}\n\nconst DEFAULT_CONTROLS = {\n\tduotone: true,\n};\n\nconst popoverProps = {\n\tplacement: 'left-start',\n\toffset: 36,\n\tshift: true,\n\tclassName: 'block-editor-duotone-control__popover',\n\theaderTitle: __( 'Duotone' ),\n};\n\nconst LabeledColorIndicator = ( { indicator, label } ) => (\n\t<HStack justify=\"flex-start\">\n\t\t<ZStack isLayered={ false } offset={ -8 }>\n\t\t\t<Flex expanded={ false }>\n\t\t\t\t{ indicator === 'unset' || ! indicator ? (\n\t\t\t\t\t<ColorIndicator className=\"block-editor-duotone-control__unset-indicator\" />\n\t\t\t\t) : (\n\t\t\t\t\t<DuotoneSwatch values={ indicator } />\n\t\t\t\t) }\n\t\t\t</Flex>\n\t\t</ZStack>\n\t\t<FlexItem title={ label }>{ label }</FlexItem>\n\t</HStack>\n);\n\nexport default function FiltersPanel( {\n\tas: Wrapper = FiltersToolsPanel,\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// Duotone\n\tconst hasDuotoneEnabled = useHasDuotoneControl( settings );\n\tconst duotonePalette = useMultiOriginColorPresets( settings, {\n\t\tpresetSetting: 'duotone',\n\t\tdefaultSetting: 'defaultDuotone',\n\t} );\n\tconst colorPalette = useMultiOriginColorPresets( settings, {\n\t\tpresetSetting: 'palette',\n\t\tdefaultSetting: 'defaultPalette',\n\t} );\n\tconst duotone = decodeValue( inheritedValue?.filter?.duotone );\n\tconst setDuotone = ( newValue ) => {\n\t\tconst duotonePreset = duotonePalette.find( ( { colors } ) => {\n\t\t\treturn colors === newValue;\n\t\t} );\n\t\tconst settedValue = duotonePreset\n\t\t\t? `var:preset|duotone|${ duotonePreset.slug }`\n\t\t\t: newValue;\n\t\tonChange( setImmutably( value, [ 'filter', 'duotone' ], settedValue ) );\n\t};\n\tconst hasDuotone = () => !! value?.filter?.duotone;\n\tconst resetDuotone = () => setDuotone( undefined );\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\tfilter: {\n\t\t\t\t...previousValue.filter,\n\t\t\t\tduotone: undefined,\n\t\t\t},\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{ hasDuotoneEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Duotone' ) }\n\t\t\t\t\thasValue={ hasDuotone }\n\t\t\t\t\tonDeselect={ resetDuotone }\n\t\t\t\t\tisShownByDefault={ defaultControls.duotone }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<Dropdown\n\t\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\t\tclassName=\"block-editor-global-styles-filters-panel__dropdown\"\n\t\t\t\t\t\trenderToggle={ ( { onToggle, isOpen } ) => {\n\t\t\t\t\t\t\tconst toggleProps = {\n\t\t\t\t\t\t\t\tonClick: onToggle,\n\t\t\t\t\t\t\t\tclassName: clsx( { 'is-open': isOpen } ),\n\t\t\t\t\t\t\t\t'aria-expanded': isOpen,\n\t\t\t\t\t\t\t};\n\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<ItemGroup isBordered isSeparated>\n\t\t\t\t\t\t\t\t\t<Item as=\"button\" { ...toggleProps }>\n\t\t\t\t\t\t\t\t\t\t<LabeledColorIndicator\n\t\t\t\t\t\t\t\t\t\t\tindicator={ duotone }\n\t\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Duotone' ) }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</Item>\n\t\t\t\t\t\t\t\t</ItemGroup>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t\trenderContent={ () => (\n\t\t\t\t\t\t\t<DropdownContentWrapper paddingSize=\"small\">\n\t\t\t\t\t\t\t\t<MenuGroup label={ __( 'Duotone' ) }>\n\t\t\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t\t'Create a two-tone color effect without losing your original image.'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t\t\t\t<DuotonePicker\n\t\t\t\t\t\t\t\t\t\tcolorPalette={ colorPalette }\n\t\t\t\t\t\t\t\t\t\tduotonePalette={ duotonePalette }\n\t\t\t\t\t\t\t\t\t\t// TODO: Re-enable both when custom colors are supported for block-level styles.\n\t\t\t\t\t\t\t\t\t\tdisableCustomColors\n\t\t\t\t\t\t\t\t\t\tdisableCustomDuotone\n\t\t\t\t\t\t\t\t\t\tvalue={ duotone }\n\t\t\t\t\t\t\t\t\t\tonChange={ setDuotone }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</MenuGroup>\n\t\t\t\t\t\t\t</DropdownContentWrapper>\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</Wrapper>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_memize","_interopRequireDefault","require","_i18n","_blocks","globalStylesChangesCache","Map","EMPTY_ARRAY","translationMap","caption","__","link","button","heading","h1","h2","h3","h4","h5","h6","getBlockNames","memoize","getBlockTypes","reduce","accumulator","name","title","isObject","obj","getTranslation","key","keyArray","split","blockName","undefined","deepCompare","changedObject","originalObject","parentPath","slice","join","allKeys","Set","Object","keys","diffs","path","changedPath","concat","getGlobalStylesChangelist","next","previous","cacheKey","JSON","stringify","has","get","changedValueTree","styles","background","color","typography","spacing","blocks","elements","settings","length","set","result","acc","curr","translation","push","getGlobalStylesChanges","options","changeList","changesLength","maxResults","entries","group","includes","map","changeValues","changeValuesLength","joinedChangesValue","sprintf","_n"],"sources":["@wordpress/block-editor/src/components/global-styles/get-global-styles-changes.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport memoize from 'memize';\n\n/**\n * WordPress dependencies\n */\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { getBlockTypes } from '@wordpress/blocks';\n\nconst globalStylesChangesCache = new Map();\nconst EMPTY_ARRAY = [];\nconst translationMap = {\n\tcaption: __( 'Caption' ),\n\tlink: __( 'Link' ),\n\tbutton: __( 'Button' ),\n\theading: __( 'Heading' ),\n\th1: __( 'H1' ),\n\th2: __( 'H2' ),\n\th3: __( 'H3' ),\n\th4: __( 'H4' ),\n\th5: __( 'H5' ),\n\th6: __( 'H6' ),\n\t'settings.color': __( 'Color' ),\n\t'settings.typography': __( 'Typography' ),\n\t'styles.color': __( 'Colors' ),\n\t'styles.spacing': __( 'Spacing' ),\n\t'styles.background': __( 'Background' ),\n\t'styles.typography': __( 'Typography' ),\n};\nconst getBlockNames = memoize( () =>\n\tgetBlockTypes().reduce( ( accumulator, { name, title } ) => {\n\t\taccumulator[ name ] = title;\n\t\treturn accumulator;\n\t}, {} )\n);\nconst isObject = ( obj ) => obj !== null && typeof obj === 'object';\n\n/**\n * Get the translation for a given global styles key.\n * @param {string} key A key representing a path to a global style property or setting.\n * @return {string|undefined} A translated key or undefined if no translation exists.\n */\nfunction getTranslation( key ) {\n\tif ( translationMap[ key ] ) {\n\t\treturn translationMap[ key ];\n\t}\n\n\tconst keyArray = key.split( '.' );\n\n\tif ( keyArray?.[ 0 ] === 'blocks' ) {\n\t\tconst blockName = getBlockNames()?.[ keyArray[ 1 ] ];\n\t\treturn blockName || keyArray[ 1 ];\n\t}\n\n\tif ( keyArray?.[ 0 ] === 'elements' ) {\n\t\treturn translationMap[ keyArray[ 1 ] ] || keyArray[ 1 ];\n\t}\n\n\treturn undefined;\n}\n\n/**\n * A deep comparison of two objects, optimized for comparing global styles.\n * @param {Object} changedObject The changed object to compare.\n * @param {Object} originalObject The original object to compare against.\n * @param {string} parentPath A key/value pair object of block names and their rendered titles.\n * @return {string[]} An array of paths whose values have changed.\n */\nfunction deepCompare( changedObject, originalObject, parentPath = '' ) {\n\t// We have two non-object values to compare.\n\tif ( ! isObject( changedObject ) && ! isObject( originalObject ) ) {\n\t\t/*\n\t\t * Only return a path if the value has changed.\n\t\t * And then only the path name up to 2 levels deep.\n\t\t */\n\t\treturn changedObject !== originalObject\n\t\t\t? parentPath.split( '.' ).slice( 0, 2 ).join( '.' )\n\t\t\t: undefined;\n\t}\n\n\t// Enable comparison when an object doesn't have a corresponding property to compare.\n\tchangedObject = isObject( changedObject ) ? changedObject : {};\n\toriginalObject = isObject( originalObject ) ? originalObject : {};\n\n\tconst allKeys = new Set( [\n\t\t...Object.keys( changedObject ),\n\t\t...Object.keys( originalObject ),\n\t] );\n\n\tlet diffs = [];\n\tfor ( const key of allKeys ) {\n\t\tconst path = parentPath ? parentPath + '.' + key : key;\n\t\tconst changedPath = deepCompare(\n\t\t\tchangedObject[ key ],\n\t\t\toriginalObject[ key ],\n\t\t\tpath\n\t\t);\n\t\tif ( changedPath ) {\n\t\t\tdiffs = diffs.concat( changedPath );\n\t\t}\n\t}\n\treturn diffs;\n}\n\n/**\n * Returns an array of translated summarized global styles changes.\n * Results are cached using a Map() key of `JSON.stringify( { next, previous } )`.\n *\n * @param {Object} next The changed object to compare.\n * @param {Object} previous The original object to compare against.\n * @return {Array[]} A 2-dimensional array of tuples: [ \"group\", \"translated change\" ].\n */\nexport function getGlobalStylesChangelist( next, previous ) {\n\tconst cacheKey = JSON.stringify( { next, previous } );\n\n\tif ( globalStylesChangesCache.has( cacheKey ) ) {\n\t\treturn globalStylesChangesCache.get( cacheKey );\n\t}\n\n\t/*\n\t * Compare the two changesets with normalized keys.\n\t * The order of these keys determines the order in which\n\t * they'll appear in the results.\n\t */\n\tconst changedValueTree = deepCompare(\n\t\t{\n\t\t\tstyles: {\n\t\t\t\tbackground: next?.styles?.background,\n\t\t\t\tcolor: next?.styles?.color,\n\t\t\t\ttypography: next?.styles?.typography,\n\t\t\t\tspacing: next?.styles?.spacing,\n\t\t\t},\n\t\t\tblocks: next?.styles?.blocks,\n\t\t\telements: next?.styles?.elements,\n\t\t\tsettings: next?.settings,\n\t\t},\n\t\t{\n\t\t\tstyles: {\n\t\t\t\tbackground: previous?.styles?.background,\n\t\t\t\tcolor: previous?.styles?.color,\n\t\t\t\ttypography: previous?.styles?.typography,\n\t\t\t\tspacing: previous?.styles?.spacing,\n\t\t\t},\n\t\t\tblocks: previous?.styles?.blocks,\n\t\t\telements: previous?.styles?.elements,\n\t\t\tsettings: previous?.settings,\n\t\t}\n\t);\n\n\tif ( ! changedValueTree.length ) {\n\t\tglobalStylesChangesCache.set( cacheKey, EMPTY_ARRAY );\n\t\treturn EMPTY_ARRAY;\n\t}\n\n\t// Remove duplicate results.\n\tconst result = [ ...new Set( changedValueTree ) ]\n\t\t/*\n\t\t * Translate the keys.\n\t\t * Remove empty translations.\n\t\t */\n\t\t.reduce( ( acc, curr ) => {\n\t\t\tconst translation = getTranslation( curr );\n\t\t\tif ( translation ) {\n\t\t\t\tacc.push( [ curr.split( '.' )[ 0 ], translation ] );\n\t\t\t}\n\t\t\treturn acc;\n\t\t}, [] );\n\n\tglobalStylesChangesCache.set( cacheKey, result );\n\n\treturn result;\n}\n\n/**\n * From a getGlobalStylesChangelist() result, returns an array of translated global styles changes, grouped by type.\n * The types are 'blocks', 'elements', 'settings', and 'styles'.\n *\n * @param {Object} next The changed object to compare.\n * @param {Object} previous The original object to compare against.\n * @param {{maxResults:number}} options Options. maxResults: results to return before truncating.\n * @return {string[]} An array of translated changes.\n */\nexport default function getGlobalStylesChanges( next, previous, options = {} ) {\n\tlet changeList = getGlobalStylesChangelist( next, previous );\n\tconst changesLength = changeList.length;\n\tconst { maxResults } = options;\n\n\tif ( changesLength ) {\n\t\t// Truncate to `n` results if necessary.\n\t\tif ( !! maxResults && changesLength > maxResults ) {\n\t\t\tchangeList = changeList.slice( 0, maxResults );\n\t\t}\n\t\treturn Object.entries(\n\t\t\tchangeList.reduce( ( acc, curr ) => {\n\t\t\t\tconst group = acc[ curr[ 0 ] ] || [];\n\t\t\t\tif ( ! group.includes( curr[ 1 ] ) ) {\n\t\t\t\t\tacc[ curr[ 0 ] ] = [ ...group, curr[ 1 ] ];\n\t\t\t\t}\n\t\t\t\treturn acc;\n\t\t\t}, {} )\n\t\t).map( ( [ key, changeValues ] ) => {\n\t\t\tconst changeValuesLength = changeValues.length;\n\t\t\tconst joinedChangesValue = changeValues.join(\n\t\t\t\t/* translators: Used between list items, there is a space after the comma. */\n\t\t\t\t__( ', ' ) // eslint-disable-line @wordpress/i18n-no-flanking-whitespace\n\t\t\t);\n\t\t\tswitch ( key ) {\n\t\t\t\tcase 'blocks': {\n\t\t\t\t\treturn sprintf(\n\t\t\t\t\t\t// translators: %s: a list of block names separated by a comma.\n\t\t\t\t\t\t_n( '%s block.', '%s blocks.', changeValuesLength ),\n\t\t\t\t\t\tjoinedChangesValue\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tcase 'elements': {\n\t\t\t\t\treturn sprintf(\n\t\t\t\t\t\t// translators: %s: a list of element names separated by a comma.\n\t\t\t\t\t\t_n( '%s element.', '%s elements.', changeValuesLength ),\n\t\t\t\t\t\tjoinedChangesValue\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tcase 'settings': {\n\t\t\t\t\treturn sprintf(\n\t\t\t\t\t\t// translators: %s: a list of theme.json setting labels separated by a comma.\n\t\t\t\t\t\t__( '%s settings.' ),\n\t\t\t\t\t\tjoinedChangesValue\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tcase 'styles': {\n\t\t\t\t\treturn sprintf(\n\t\t\t\t\t\t// translators: %s: a list of theme.json top-level styles labels separated by a comma.\n\t\t\t\t\t\t__( '%s styles.' ),\n\t\t\t\t\t\tjoinedChangesValue\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tdefault: {\n\t\t\t\t\treturn sprintf(\n\t\t\t\t\t\t// translators: %s: a list of global styles changes separated by a comma.\n\t\t\t\t\t\t__( '%s.' ),\n\t\t\t\t\t\tjoinedChangesValue\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\treturn EMPTY_ARRAY;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_memize","_interopRequireDefault","require","_i18n","_blocks","globalStylesChangesCache","Map","EMPTY_ARRAY","translationMap","caption","__","link","button","heading","h1","h2","h3","h4","h5","h6","getBlockNames","memoize","getBlockTypes","reduce","accumulator","name","title","isObject","obj","getTranslation","key","keyArray","split","blockName","undefined","deepCompare","changedObject","originalObject","parentPath","slice","join","allKeys","Set","Object","keys","diffs","path","changedPath","concat","getGlobalStylesChangelist","next","previous","cacheKey","JSON","stringify","has","get","changedValueTree","styles","background","color","typography","spacing","blocks","elements","settings","length","set","result","acc","curr","translation","push","getGlobalStylesChanges","options","changeList","changesLength","maxResults","entries","group","includes","map","changeValues","changeValuesLength","joinedChangesValue","sprintf","_n"],"sources":["@wordpress/block-editor/src/components/global-styles/get-global-styles-changes.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport memoize from 'memize';\n\n/**\n * WordPress dependencies\n */\nimport { __, _n, sprintf } from '@wordpress/i18n';\nimport { getBlockTypes } from '@wordpress/blocks';\n\nconst globalStylesChangesCache = new Map();\nconst EMPTY_ARRAY = [];\nconst translationMap = {\n\tcaption: __( 'Caption' ),\n\tlink: __( 'Link' ),\n\tbutton: __( 'Button' ),\n\theading: __( 'Heading' ),\n\th1: __( 'H1' ),\n\th2: __( 'H2' ),\n\th3: __( 'H3' ),\n\th4: __( 'H4' ),\n\th5: __( 'H5' ),\n\th6: __( 'H6' ),\n\t'settings.color': __( 'Color' ),\n\t'settings.typography': __( 'Typography' ),\n\t'styles.color': __( 'Colors' ),\n\t'styles.spacing': __( 'Spacing' ),\n\t'styles.background': __( 'Background' ),\n\t'styles.typography': __( 'Typography' ),\n};\nconst getBlockNames = memoize( () =>\n\tgetBlockTypes().reduce( ( accumulator, { name, title } ) => {\n\t\taccumulator[ name ] = title;\n\t\treturn accumulator;\n\t}, {} )\n);\nconst isObject = ( obj ) => obj !== null && typeof obj === 'object';\n\n/**\n * Get the translation for a given global styles key.\n * @param {string} key A key representing a path to a global style property or setting.\n * @return {string|undefined} A translated key or undefined if no translation exists.\n */\nfunction getTranslation( key ) {\n\tif ( translationMap[ key ] ) {\n\t\treturn translationMap[ key ];\n\t}\n\n\tconst keyArray = key.split( '.' );\n\n\tif ( keyArray?.[ 0 ] === 'blocks' ) {\n\t\tconst blockName = getBlockNames()?.[ keyArray[ 1 ] ];\n\t\treturn blockName || keyArray[ 1 ];\n\t}\n\n\tif ( keyArray?.[ 0 ] === 'elements' ) {\n\t\treturn translationMap[ keyArray[ 1 ] ] || keyArray[ 1 ];\n\t}\n\n\treturn undefined;\n}\n\n/**\n * A deep comparison of two objects, optimized for comparing global styles.\n * @param {Object} changedObject The changed object to compare.\n * @param {Object} originalObject The original object to compare against.\n * @param {string} parentPath A key/value pair object of block names and their rendered titles.\n * @return {string[]} An array of paths whose values have changed.\n */\nfunction deepCompare( changedObject, originalObject, parentPath = '' ) {\n\t// We have two non-object values to compare.\n\tif ( ! isObject( changedObject ) && ! isObject( originalObject ) ) {\n\t\t/*\n\t\t * Only return a path if the value has changed.\n\t\t * And then only the path name up to 2 levels deep.\n\t\t */\n\t\treturn changedObject !== originalObject\n\t\t\t? parentPath.split( '.' ).slice( 0, 2 ).join( '.' )\n\t\t\t: undefined;\n\t}\n\n\t// Enable comparison when an object doesn't have a corresponding property to compare.\n\tchangedObject = isObject( changedObject ) ? changedObject : {};\n\toriginalObject = isObject( originalObject ) ? originalObject : {};\n\n\tconst allKeys = new Set( [\n\t\t...Object.keys( changedObject ),\n\t\t...Object.keys( originalObject ),\n\t] );\n\n\tlet diffs = [];\n\tfor ( const key of allKeys ) {\n\t\tconst path = parentPath ? parentPath + '.' + key : key;\n\t\tconst changedPath = deepCompare(\n\t\t\tchangedObject[ key ],\n\t\t\toriginalObject[ key ],\n\t\t\tpath\n\t\t);\n\t\tif ( changedPath ) {\n\t\t\tdiffs = diffs.concat( changedPath );\n\t\t}\n\t}\n\treturn diffs;\n}\n\n/**\n * Returns an array of translated summarized global styles changes.\n * Results are cached using a Map() key of `JSON.stringify( { next, previous } )`.\n *\n * @param {Object} next The changed object to compare.\n * @param {Object} previous The original object to compare against.\n * @return {Array[]} A 2-dimensional array of tuples: [ \"group\", \"translated change\" ].\n */\nexport function getGlobalStylesChangelist( next, previous ) {\n\tconst cacheKey = JSON.stringify( { next, previous } );\n\n\tif ( globalStylesChangesCache.has( cacheKey ) ) {\n\t\treturn globalStylesChangesCache.get( cacheKey );\n\t}\n\n\t/*\n\t * Compare the two changesets with normalized keys.\n\t * The order of these keys determines the order in which\n\t * they'll appear in the results.\n\t */\n\tconst changedValueTree = deepCompare(\n\t\t{\n\t\t\tstyles: {\n\t\t\t\tbackground: next?.styles?.background,\n\t\t\t\tcolor: next?.styles?.color,\n\t\t\t\ttypography: next?.styles?.typography,\n\t\t\t\tspacing: next?.styles?.spacing,\n\t\t\t},\n\t\t\tblocks: next?.styles?.blocks,\n\t\t\telements: next?.styles?.elements,\n\t\t\tsettings: next?.settings,\n\t\t},\n\t\t{\n\t\t\tstyles: {\n\t\t\t\tbackground: previous?.styles?.background,\n\t\t\t\tcolor: previous?.styles?.color,\n\t\t\t\ttypography: previous?.styles?.typography,\n\t\t\t\tspacing: previous?.styles?.spacing,\n\t\t\t},\n\t\t\tblocks: previous?.styles?.blocks,\n\t\t\telements: previous?.styles?.elements,\n\t\t\tsettings: previous?.settings,\n\t\t}\n\t);\n\n\tif ( ! changedValueTree.length ) {\n\t\tglobalStylesChangesCache.set( cacheKey, EMPTY_ARRAY );\n\t\treturn EMPTY_ARRAY;\n\t}\n\n\t// Remove duplicate results.\n\tconst result = [ ...new Set( changedValueTree ) ]\n\t\t/*\n\t\t * Translate the keys.\n\t\t * Remove empty translations.\n\t\t */\n\t\t.reduce( ( acc, curr ) => {\n\t\t\tconst translation = getTranslation( curr );\n\t\t\tif ( translation ) {\n\t\t\t\tacc.push( [ curr.split( '.' )[ 0 ], translation ] );\n\t\t\t}\n\t\t\treturn acc;\n\t\t}, [] );\n\n\tglobalStylesChangesCache.set( cacheKey, result );\n\n\treturn result;\n}\n\n/**\n * From a getGlobalStylesChangelist() result, returns an array of translated global styles changes, grouped by type.\n * The types are 'blocks', 'elements', 'settings', and 'styles'.\n *\n * @param {Object} next The changed object to compare.\n * @param {Object} previous The original object to compare against.\n * @param {{maxResults:number}} options Options. maxResults: results to return before truncating.\n * @return {string[]} An array of translated changes.\n */\nexport default function getGlobalStylesChanges( next, previous, options = {} ) {\n\tlet changeList = getGlobalStylesChangelist( next, previous );\n\tconst changesLength = changeList.length;\n\tconst { maxResults } = options;\n\n\tif ( changesLength ) {\n\t\t// Truncate to `n` results if necessary.\n\t\tif ( !! maxResults && changesLength > maxResults ) {\n\t\t\tchangeList = changeList.slice( 0, maxResults );\n\t\t}\n\t\treturn Object.entries(\n\t\t\tchangeList.reduce( ( acc, curr ) => {\n\t\t\t\tconst group = acc[ curr[ 0 ] ] || [];\n\t\t\t\tif ( ! group.includes( curr[ 1 ] ) ) {\n\t\t\t\t\tacc[ curr[ 0 ] ] = [ ...group, curr[ 1 ] ];\n\t\t\t\t}\n\t\t\t\treturn acc;\n\t\t\t}, {} )\n\t\t).map( ( [ key, changeValues ] ) => {\n\t\t\tconst changeValuesLength = changeValues.length;\n\t\t\tconst joinedChangesValue = changeValues.join(\n\t\t\t\t/* translators: Used between list items, there is a space after the comma. */\n\t\t\t\t__( ', ' ) // eslint-disable-line @wordpress/i18n-no-flanking-whitespace\n\t\t\t);\n\t\t\tswitch ( key ) {\n\t\t\t\tcase 'blocks': {\n\t\t\t\t\treturn sprintf(\n\t\t\t\t\t\t// translators: %s: a list of block names separated by a comma.\n\t\t\t\t\t\t_n( '%s block.', '%s blocks.', changeValuesLength ),\n\t\t\t\t\t\tjoinedChangesValue\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tcase 'elements': {\n\t\t\t\t\treturn sprintf(\n\t\t\t\t\t\t// translators: %s: a list of element names separated by a comma.\n\t\t\t\t\t\t_n( '%s element.', '%s elements.', changeValuesLength ),\n\t\t\t\t\t\tjoinedChangesValue\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tcase 'settings': {\n\t\t\t\t\treturn sprintf(\n\t\t\t\t\t\t// translators: %s: a list of theme.json setting labels separated by a comma.\n\t\t\t\t\t\t__( '%s settings.' ),\n\t\t\t\t\t\tjoinedChangesValue\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tcase 'styles': {\n\t\t\t\t\treturn sprintf(\n\t\t\t\t\t\t// translators: %s: a list of theme.json top-level styles labels separated by a comma.\n\t\t\t\t\t\t__( '%s styles.' ),\n\t\t\t\t\t\tjoinedChangesValue\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\tdefault: {\n\t\t\t\t\treturn sprintf(\n\t\t\t\t\t\t// translators: %s: a list of global styles changes separated by a comma.\n\t\t\t\t\t\t__( '%s.' ),\n\t\t\t\t\t\tjoinedChangesValue\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\t\t} );\n\t}\n\n\treturn EMPTY_ARRAY;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_i18n","require","_components","_element","_icons","_clsx","_interopRequireDefault","_jsxRuntime","EMPTY_ARRAY","ShadowPopoverContainer","shadow","onShadowChange","settings","shadows","useShadowPresets","jsx","className","children","jsxs","__experimentalVStack","spacing","__experimentalHeading","level","__","ShadowPresets","presets","activeShadow","onSelect","Button","__next40pxDefaultSize","variant","onClick","undefined","Composite","role","map","name","slug","ShadowIndicator","label","isActive","type","Tooltip","text","Item","clsx","render","unset","style","boxShadow","Icon","icon","check","ShadowPopover","popoverProps","placement","offset","shift","Dropdown","renderToggle","renderShadowToggle","renderContent","__experimentalDropdownContentWrapper","paddingSize","onToggle","isOpen","toggleProps","__experimentalHStack","justify","shadowIcon","size","FlexItem","useMemo","_settings$shadow$pres","defaultPresetsEnabled","defaultPresets","default","defaultShadows","theme","themeShadows","custom","customShadows","unsetShadow","shadowPresets","length","unshift"],"sources":["@wordpress/block-editor/src/components/global-styles/shadow-panel-components.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\t__experimentalVStack as VStack,\n\t__experimentalHeading as Heading,\n\t__experimentalHStack as HStack,\n\t__experimentalDropdownContentWrapper as DropdownContentWrapper,\n\tButton,\n\tFlexItem,\n\tDropdown,\n\tComposite,\n\tTooltip,\n} from '@wordpress/components';\nimport { useMemo } from '@wordpress/element';\nimport { shadow as shadowIcon, Icon, check } from '@wordpress/icons';\n\n/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * Shared reference to an empty array for cases where it is important to avoid\n * returning a new array reference on every invocation.\n *\n * @type {Array}\n */\nconst EMPTY_ARRAY = [];\n\nexport function ShadowPopoverContainer( { shadow, onShadowChange, settings } ) {\n\tconst shadows = useShadowPresets( settings );\n\n\treturn (\n\t\t<div className=\"block-editor-global-styles__shadow-popover-container\">\n\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t<Heading level={ 5 }>{ __( 'Drop shadow' ) }</Heading>\n\t\t\t\t<ShadowPresets\n\t\t\t\t\tpresets={ shadows }\n\t\t\t\t\tactiveShadow={ shadow }\n\t\t\t\t\tonSelect={ onShadowChange }\n\t\t\t\t/>\n\t\t\t\t<div className=\"block-editor-global-styles__clear-shadow\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ () => onShadowChange( undefined ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Clear' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t</VStack>\n\t\t</div>\n\t);\n}\n\nexport function ShadowPresets( { presets, activeShadow, onSelect } ) {\n\treturn ! presets ? null : (\n\t\t<Composite\n\t\t\trole=\"listbox\"\n\t\t\tclassName=\"block-editor-global-styles__shadow__list\"\n\t\t\taria-label={ __( 'Drop shadows' ) }\n\t\t>\n\t\t\t{ presets.map( ( { name, slug, shadow } ) => (\n\t\t\t\t<ShadowIndicator\n\t\t\t\t\tkey={ slug }\n\t\t\t\t\tlabel={ name }\n\t\t\t\t\tisActive={ shadow === activeShadow }\n\t\t\t\t\ttype={ slug === 'unset' ? 'unset' : 'preset' }\n\t\t\t\t\tonSelect={ () =>\n\t\t\t\t\t\tonSelect( shadow === activeShadow ? undefined : shadow )\n\t\t\t\t\t}\n\t\t\t\t\tshadow={ shadow }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</Composite>\n\t);\n}\n\nexport function ShadowIndicator( { type, label, isActive, onSelect, shadow } ) {\n\treturn (\n\t\t<Tooltip text={ label }>\n\t\t\t<Composite.Item\n\t\t\t\trole=\"option\"\n\t\t\t\taria-label={ label }\n\t\t\t\taria-selected={ isActive }\n\t\t\t\tclassName={ clsx( 'block-editor-global-styles__shadow__item', {\n\t\t\t\t\t'is-active': isActive,\n\t\t\t\t} ) }\n\t\t\t\trender={\n\t\t\t\t\t<button\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'block-editor-global-styles__shadow-indicator',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tunset: type === 'unset',\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tonClick={ onSelect }\n\t\t\t\t\t\tstyle={ { boxShadow: shadow } }\n\t\t\t\t\t\taria-label={ label }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ isActive && <Icon icon={ check } /> }\n\t\t\t\t\t</button>\n\t\t\t\t}\n\t\t\t/>\n\t\t</Tooltip>\n\t);\n}\n\nexport function ShadowPopover( { shadow, onShadowChange, settings } ) {\n\tconst popoverProps = {\n\t\tplacement: 'left-start',\n\t\toffset: 36,\n\t\tshift: true,\n\t};\n\n\treturn (\n\t\t<Dropdown\n\t\t\tpopoverProps={ popoverProps }\n\t\t\tclassName=\"block-editor-global-styles__shadow-dropdown\"\n\t\t\trenderToggle={ renderShadowToggle() }\n\t\t\trenderContent={ () => (\n\t\t\t\t<DropdownContentWrapper paddingSize=\"medium\">\n\t\t\t\t\t<ShadowPopoverContainer\n\t\t\t\t\t\tshadow={ shadow }\n\t\t\t\t\t\tonShadowChange={ onShadowChange }\n\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t/>\n\t\t\t\t</DropdownContentWrapper>\n\t\t\t) }\n\t\t/>\n\t);\n}\n\nfunction renderShadowToggle() {\n\treturn ( { onToggle, isOpen } ) => {\n\t\tconst toggleProps = {\n\t\t\tonClick: onToggle,\n\t\t\tclassName: clsx( { 'is-open': isOpen } ),\n\t\t\t'aria-expanded': isOpen,\n\t\t};\n\n\t\treturn (\n\t\t\t<Button __next40pxDefaultSize { ...toggleProps }>\n\t\t\t\t<HStack justify=\"flex-start\">\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tclassName=\"block-editor-global-styles__toggle-icon\"\n\t\t\t\t\t\ticon={ shadowIcon }\n\t\t\t\t\t\tsize={ 24 }\n\t\t\t\t\t/>\n\t\t\t\t\t<FlexItem>{ __( 'Drop shadow' ) }</FlexItem>\n\t\t\t\t</HStack>\n\t\t\t</Button>\n\t\t);\n\t};\n}\n\nexport function useShadowPresets( settings ) {\n\treturn useMemo( () => {\n\t\tif ( ! settings?.shadow ) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\n\t\tconst defaultPresetsEnabled = settings?.shadow?.defaultPresets;\n\t\tconst {\n\t\t\tdefault: defaultShadows,\n\t\t\ttheme: themeShadows,\n\t\t\tcustom: customShadows,\n\t\t} = settings?.shadow?.presets ?? {};\n\t\tconst unsetShadow = {\n\t\t\tname: __( 'Unset' ),\n\t\t\tslug: 'unset',\n\t\t\tshadow: 'none',\n\t\t};\n\n\t\tconst shadowPresets = [\n\t\t\t...( ( defaultPresetsEnabled && defaultShadows ) || EMPTY_ARRAY ),\n\t\t\t...( themeShadows || EMPTY_ARRAY ),\n\t\t\t...( customShadows || EMPTY_ARRAY ),\n\t\t];\n\t\tif ( shadowPresets.length ) {\n\t\t\tshadowPresets.unshift( unsetShadow );\n\t\t}\n\n\t\treturn shadowPresets;\n\t}, [ settings ] );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_i18n","require","_components","_element","_icons","_clsx","_interopRequireDefault","_jsxRuntime","EMPTY_ARRAY","ShadowPopoverContainer","shadow","onShadowChange","settings","shadows","useShadowPresets","jsx","className","children","jsxs","__experimentalVStack","spacing","__experimentalHeading","level","__","ShadowPresets","presets","activeShadow","onSelect","Button","__next40pxDefaultSize","variant","onClick","undefined","Composite","role","map","name","slug","ShadowIndicator","label","isActive","type","Tooltip","text","Item","clsx","render","unset","style","boxShadow","Icon","icon","check","ShadowPopover","popoverProps","placement","offset","shift","Dropdown","renderToggle","renderShadowToggle","renderContent","__experimentalDropdownContentWrapper","paddingSize","onToggle","isOpen","toggleProps","__experimentalHStack","justify","shadowIcon","size","FlexItem","useMemo","_settings$shadow$pres","defaultPresetsEnabled","defaultPresets","default","defaultShadows","theme","themeShadows","custom","customShadows","unsetShadow","shadowPresets","length","unshift"],"sources":["@wordpress/block-editor/src/components/global-styles/shadow-panel-components.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\t__experimentalVStack as VStack,\n\t__experimentalHeading as Heading,\n\t__experimentalHStack as HStack,\n\t__experimentalDropdownContentWrapper as DropdownContentWrapper,\n\tButton,\n\tFlexItem,\n\tDropdown,\n\tComposite,\n\tTooltip,\n} from '@wordpress/components';\nimport { useMemo } from '@wordpress/element';\nimport { shadow as shadowIcon, Icon, check } from '@wordpress/icons';\n\n/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * Shared reference to an empty array for cases where it is important to avoid\n * returning a new array reference on every invocation.\n *\n * @type {Array}\n */\nconst EMPTY_ARRAY = [];\n\nexport function ShadowPopoverContainer( { shadow, onShadowChange, settings } ) {\n\tconst shadows = useShadowPresets( settings );\n\n\treturn (\n\t\t<div className=\"block-editor-global-styles__shadow-popover-container\">\n\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t<Heading level={ 5 }>{ __( 'Drop shadow' ) }</Heading>\n\t\t\t\t<ShadowPresets\n\t\t\t\t\tpresets={ shadows }\n\t\t\t\t\tactiveShadow={ shadow }\n\t\t\t\t\tonSelect={ onShadowChange }\n\t\t\t\t/>\n\t\t\t\t<div className=\"block-editor-global-styles__clear-shadow\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ () => onShadowChange( undefined ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Clear' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t</VStack>\n\t\t</div>\n\t);\n}\n\nexport function ShadowPresets( { presets, activeShadow, onSelect } ) {\n\treturn ! presets ? null : (\n\t\t<Composite\n\t\t\trole=\"listbox\"\n\t\t\tclassName=\"block-editor-global-styles__shadow__list\"\n\t\t\taria-label={ __( 'Drop shadows' ) }\n\t\t>\n\t\t\t{ presets.map( ( { name, slug, shadow } ) => (\n\t\t\t\t<ShadowIndicator\n\t\t\t\t\tkey={ slug }\n\t\t\t\t\tlabel={ name }\n\t\t\t\t\tisActive={ shadow === activeShadow }\n\t\t\t\t\ttype={ slug === 'unset' ? 'unset' : 'preset' }\n\t\t\t\t\tonSelect={ () =>\n\t\t\t\t\t\tonSelect( shadow === activeShadow ? undefined : shadow )\n\t\t\t\t\t}\n\t\t\t\t\tshadow={ shadow }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</Composite>\n\t);\n}\n\nexport function ShadowIndicator( { type, label, isActive, onSelect, shadow } ) {\n\treturn (\n\t\t<Tooltip text={ label }>\n\t\t\t<Composite.Item\n\t\t\t\trole=\"option\"\n\t\t\t\taria-label={ label }\n\t\t\t\taria-selected={ isActive }\n\t\t\t\tclassName={ clsx( 'block-editor-global-styles__shadow__item', {\n\t\t\t\t\t'is-active': isActive,\n\t\t\t\t} ) }\n\t\t\t\trender={\n\t\t\t\t\t<button\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'block-editor-global-styles__shadow-indicator',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\tunset: type === 'unset',\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tonClick={ onSelect }\n\t\t\t\t\t\tstyle={ { boxShadow: shadow } }\n\t\t\t\t\t\taria-label={ label }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ isActive && <Icon icon={ check } /> }\n\t\t\t\t\t</button>\n\t\t\t\t}\n\t\t\t/>\n\t\t</Tooltip>\n\t);\n}\n\nexport function ShadowPopover( { shadow, onShadowChange, settings } ) {\n\tconst popoverProps = {\n\t\tplacement: 'left-start',\n\t\toffset: 36,\n\t\tshift: true,\n\t};\n\n\treturn (\n\t\t<Dropdown\n\t\t\tpopoverProps={ popoverProps }\n\t\t\tclassName=\"block-editor-global-styles__shadow-dropdown\"\n\t\t\trenderToggle={ renderShadowToggle() }\n\t\t\trenderContent={ () => (\n\t\t\t\t<DropdownContentWrapper paddingSize=\"medium\">\n\t\t\t\t\t<ShadowPopoverContainer\n\t\t\t\t\t\tshadow={ shadow }\n\t\t\t\t\t\tonShadowChange={ onShadowChange }\n\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t/>\n\t\t\t\t</DropdownContentWrapper>\n\t\t\t) }\n\t\t/>\n\t);\n}\n\nfunction renderShadowToggle() {\n\treturn ( { onToggle, isOpen } ) => {\n\t\tconst toggleProps = {\n\t\t\tonClick: onToggle,\n\t\t\tclassName: clsx( { 'is-open': isOpen } ),\n\t\t\t'aria-expanded': isOpen,\n\t\t};\n\n\t\treturn (\n\t\t\t<Button __next40pxDefaultSize { ...toggleProps }>\n\t\t\t\t<HStack justify=\"flex-start\">\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tclassName=\"block-editor-global-styles__toggle-icon\"\n\t\t\t\t\t\ticon={ shadowIcon }\n\t\t\t\t\t\tsize={ 24 }\n\t\t\t\t\t/>\n\t\t\t\t\t<FlexItem>{ __( 'Drop shadow' ) }</FlexItem>\n\t\t\t\t</HStack>\n\t\t\t</Button>\n\t\t);\n\t};\n}\n\nexport function useShadowPresets( settings ) {\n\treturn useMemo( () => {\n\t\tif ( ! settings?.shadow ) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\n\t\tconst defaultPresetsEnabled = settings?.shadow?.defaultPresets;\n\t\tconst {\n\t\t\tdefault: defaultShadows,\n\t\t\ttheme: themeShadows,\n\t\t\tcustom: customShadows,\n\t\t} = settings?.shadow?.presets ?? {};\n\t\tconst unsetShadow = {\n\t\t\tname: __( 'Unset' ),\n\t\t\tslug: 'unset',\n\t\t\tshadow: 'none',\n\t\t};\n\n\t\tconst shadowPresets = [\n\t\t\t...( ( defaultPresetsEnabled && defaultShadows ) || EMPTY_ARRAY ),\n\t\t\t...( themeShadows || EMPTY_ARRAY ),\n\t\t\t...( customShadows || EMPTY_ARRAY ),\n\t\t];\n\t\tif ( shadowPresets.length ) {\n\t\t\tshadowPresets.unshift( unsetShadow );\n\t\t}\n\n\t\treturn shadowPresets;\n\t}, [ settings ] );\n}\n"],"mappings":"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","ignoreList":[]}
|