@wordpress/block-editor 14.8.1-next.cd6172eb0.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/index.js +2 -3
- package/build/components/block-list/use-block-props/index.js.map +1 -1
- package/build/components/block-list/use-block-props/use-firefox-draggable-compatibility.js +61 -8
- package/build/components/block-list/use-block-props/use-firefox-draggable-compatibility.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 +5 -4
- 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-parent-selector/index.js +2 -15
- package/build/components/block-parent-selector/index.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 +2 -1
- 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/slot.js +2 -13
- package/build/components/inspector-controls/slot.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/multi-selection-inspector/index.js +9 -25
- package/build/components/multi-selection-inspector/index.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 +3 -3
- 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/use-zoom-out.js +47 -14
- package/build/hooks/use-zoom-out.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/index.js +2 -3
- package/build-module/components/block-list/use-block-props/index.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-firefox-draggable-compatibility.js +60 -8
- package/build-module/components/block-list/use-block-props/use-firefox-draggable-compatibility.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 +5 -4
- 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-parent-selector/index.js +2 -15
- package/build-module/components/block-parent-selector/index.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 +2 -1
- 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/slot.js +3 -14
- package/build-module/components/inspector-controls/slot.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/multi-selection-inspector/index.js +9 -25
- package/build-module/components/multi-selection-inspector/index.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 +3 -3
- 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/use-zoom-out.js +48 -15
- package/build-module/hooks/use-zoom-out.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/content-rtl.css +1 -1
- package/build-style/content.css +1 -1
- package/build-style/style-rtl.css +26 -48
- package/build-style/style.css +26 -48
- package/package.json +32 -32
- package/src/components/alignment-control/stories/aliginment-toolbar.story.js +2 -2
- package/src/components/alignment-control/stories/index.story.js +2 -2
- package/src/components/block-heading-level-dropdown/stories/index.story.js +61 -0
- package/src/components/block-list/use-block-props/index.js +2 -4
- package/src/components/block-list/use-block-props/use-firefox-draggable-compatibility.js +64 -6
- package/src/components/block-lock/modal.js +4 -6
- package/src/components/block-parent-selector/index.js +1 -19
- package/src/components/block-patterns-list/stories/fixtures.js +1 -0
- package/src/components/block-toolbar/index.js +1 -0
- package/src/components/colors-gradients/style.scss +21 -0
- package/src/components/dimensions-tool/stories/aspect-ratio-tool.story.js +1 -1
- package/src/components/dimensions-tool/stories/index.story.js +1 -1
- package/src/components/dimensions-tool/stories/scale-tool.story.js +1 -1
- package/src/components/dimensions-tool/stories/width-height-tool.story.js +1 -1
- 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/inspector-controls/slot.js +3 -22
- 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/multi-selection-inspector/index.js +17 -27
- package/src/components/multi-selection-inspector/style.scss +0 -12
- package/src/components/resolution-tool/stories/index.story.js +1 -1
- package/src/components/spacing-sizes-control/style.scss +0 -29
- package/src/components/text-alignment-control/stories/index.story.js +1 -1
- package/src/components/warning/index.js +3 -4
- package/src/components/warning/test/index.js +3 -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/hooks/use-zoom-out.js +48 -16
- package/src/store/selectors.js +26 -24
- package/src/store/test/selectors.js +1 -1
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","__","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","BoxControl","__experimentalUnitControl","UnitControl","__experimentalUseCustomUnits","useCustomUnits","__experimentalInputControlPrefixWrapper","InputControlPrefixWrapper","Icon","alignNone","stretchWide","useCallback","useState","Platform","getValueFromVariable","useToolsPanelDropdownMenuProps","SpacingSizesControl","HeightControl","ChildLayoutControl","AspectRatioTool","cleanEmptyObject","setImmutably","jsx","_jsx","jsxs","_jsxs","AXIAL_SIDES","useHasDimensionsPanel","settings","hasContentSize","useHasContentSize","hasWideSize","useHasWideSize","hasPadding","useHasPadding","hasMargin","useHasMargin","hasGap","useHasGap","hasMinHeight","useHasMinHeight","hasAspectRatio","useHasAspectRatio","hasChildLayout","useHasChildLayout","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","resetAll","updatedValue","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","showSpacingPresetsControl","units","availableUnits","minimumMargin","Infinity","minMarginValue","setMinMarginValue","showContentSizeControl","contentSizeValue","setContentSizeValue","newValue","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","previousValue","selfStretch","flexSize","columnStart","rowStart","columnSpan","rowSpan","onMouseLeaveControls","className","hasValue","onDeselect","isShownByDefault","__next40pxDefaultSize","labelPosition","nextContentSize","prefix","variant","icon","nextWideSize","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","__","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","BoxControl","__experimentalUnitControl","UnitControl","__experimentalUseCustomUnits","useCustomUnits","__experimentalInputControlPrefixWrapper","InputControlPrefixWrapper","Icon","alignNone","stretchWide","useCallback","useState","Platform","getValueFromVariable","useToolsPanelDropdownMenuProps","SpacingSizesControl","HeightControl","ChildLayoutControl","AspectRatioTool","cleanEmptyObject","setImmutably","jsx","_jsx","jsxs","_jsxs","AXIAL_SIDES","useHasDimensionsPanel","settings","hasContentSize","useHasContentSize","hasWideSize","useHasWideSize","hasPadding","useHasPadding","hasMargin","useHasMargin","hasGap","useHasGap","hasMinHeight","useHasMinHeight","hasAspectRatio","useHasAspectRatio","hasChildLayout","useHasChildLayout","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","resetAll","updatedValue","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","showSpacingPresetsControl","units","availableUnits","minimumMargin","Infinity","minMarginValue","setMinMarginValue","showContentSizeControl","contentSizeValue","setContentSizeValue","newValue","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","previousValue","selfStretch","flexSize","columnStart","rowStart","columnSpan","rowSpan","onMouseLeaveControls","className","hasValue","onDeselect","isShownByDefault","__next40pxDefaultSize","labelPosition","nextContentSize","prefix","variant","icon","nextWideSize","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":";AAAA;AACA;AACA;AACA,OAAOA,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA;AACA,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SACCC,wBAAwB,IAAIC,UAAU,EACtCC,4BAA4B,IAAIC,cAAc,EAC9CC,UAAU,EACVC,yBAAyB,IAAIC,WAAW,EACxCC,4BAA4B,IAAIC,cAAc,EAC9CC,uCAAuC,IAAIC,yBAAyB,QAC9D,uBAAuB;AAC9B,SAASC,IAAI,EAAEC,SAAS,EAAEC,WAAW,QAAQ,kBAAkB;AAC/D,SAASC,WAAW,EAAEC,QAAQ,EAAEC,QAAQ,QAAQ,oBAAoB;;AAEpE;AACA;AACA;AACA,SAASC,oBAAoB,EAAEC,8BAA8B,QAAQ,SAAS;AAC9E,OAAOC,mBAAmB,MAAM,0BAA0B;AAC1D,OAAOC,aAAa,MAAM,mBAAmB;AAC7C,OAAOC,kBAAkB,MAAM,yBAAyB;AACxD,OAAOC,eAAe,MAAM,sCAAsC;AAClE,SAASC,gBAAgB,QAAQ,mBAAmB;AACpD,SAASC,YAAY,QAAQ,oBAAoB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAElD,MAAMC,WAAW,GAAG,CAAE,YAAY,EAAE,UAAU,CAAE;AAEhD,OAAO,SAASC,qBAAqBA,CAAEC,QAAQ,EAAG;EACjD,MAAMC,cAAc,GAAGC,iBAAiB,CAAEF,QAAS,CAAC;EACpD,MAAMG,WAAW,GAAGC,cAAc,CAAEJ,QAAS,CAAC;EAC9C,MAAMK,UAAU,GAAGC,aAAa,CAAEN,QAAS,CAAC;EAC5C,MAAMO,SAAS,GAAGC,YAAY,CAAER,QAAS,CAAC;EAC1C,MAAMS,MAAM,GAAGC,SAAS,CAAEV,QAAS,CAAC;EACpC,MAAMW,YAAY,GAAGC,eAAe,CAAEZ,QAAS,CAAC;EAChD,MAAMa,cAAc,GAAGC,iBAAiB,CAAEd,QAAS,CAAC;EACpD,MAAMe,cAAc,GAAGC,iBAAiB,CAAEhB,QAAS,CAAC;EAEpD,OACCf,QAAQ,CAACgC,EAAE,KAAK,KAAK,KACnBhB,cAAc,IACfE,WAAW,IACXE,UAAU,IACVE,SAAS,IACTE,MAAM,IACNE,YAAY,IACZE,cAAc,IACdE,cAAc,CAAE;AAEnB;AAEA,SAASb,iBAAiBA,CAAEF,QAAQ,EAAG;EACtC,OAAOA,QAAQ,EAAEkB,MAAM,EAAEC,WAAW;AACrC;AAEA,SAASf,cAAcA,CAAEJ,QAAQ,EAAG;EACnC,OAAOA,QAAQ,EAAEkB,MAAM,EAAEE,QAAQ;AAClC;AAEA,SAASd,aAAaA,CAAEN,QAAQ,EAAG;EAClC,OAAOA,QAAQ,EAAEqB,OAAO,EAAEC,OAAO;AAClC;AAEA,SAASd,YAAYA,CAAER,QAAQ,EAAG;EACjC,OAAOA,QAAQ,EAAEqB,OAAO,EAAEE,MAAM;AACjC;AAEA,SAASb,SAASA,CAAEV,QAAQ,EAAG;EAC9B,OAAOA,QAAQ,EAAEqB,OAAO,EAAEG,QAAQ;AACnC;AAEA,SAASZ,eAAeA,CAAEZ,QAAQ,EAAG;EACpC,OAAOA,QAAQ,EAAEyB,UAAU,EAAEC,SAAS;AACvC;AAEA,SAASZ,iBAAiBA,CAAEd,QAAQ,EAAG;EACtC,OAAOA,QAAQ,EAAEyB,UAAU,EAAEE,WAAW;AACzC;AAEA,SAASX,iBAAiBA,CAAEhB,QAAQ,EAAG;EAAA,IAAA4B,qBAAA;EACtC,MAAM;IACLC,IAAI,EAAEC,gBAAgB,GAAG,SAAS;IAClCC,OAAO,EAAE;MAAEF,IAAI,EAAEG,uBAAuB,GAAG;IAAU,CAAC,GAAG,CAAC,CAAC;IAC3DC,qBAAqB,GAAG;EACzB,CAAC,IAAAL,qBAAA,GAAG5B,QAAQ,EAAEkC,YAAY,cAAAN,qBAAA,cAAAA,qBAAA,GAAI,CAAC,CAAC;EAEhC,MAAMO,OAAO,GACZ,CAAEH,uBAAuB,KAAK,MAAM,IACnCF,gBAAgB,KAAK,MAAM,IAC3BE,uBAAuB,KAAK,MAAM,IAClCF,gBAAgB,KAAK,MAAM,KAC5BG,qBAAqB;EACtB,OAAO,CAAC,CAAEjC,QAAQ,EAAEkB,MAAM,IAAIiB,OAAO;AACtC;AAEA,SAASC,oBAAoBA,CAAEpC,QAAQ,EAAG;EACzC,MAAM;IAAEqC,mBAAmB;IAAEC;EAAa,CAAC,GAAGtC,QAAQ,EAAEqB,OAAO,IAAI,CAAC,CAAC;EACrE,OACGgB,mBAAmB,KAAK,KAAK,IAC9BC,YAAY,EAAEP,OAAO,EAAEQ,MAAM,GAAG,CAAC,IAClCD,YAAY,EAAEE,KAAK,EAAED,MAAM,GAAG,CAAC,IAC/BD,YAAY,EAAEG,MAAM,EAAEF,MAAM,GAAG,CAAC;AAElC;AAEA,SAASG,mBAAmBA,CAAEC,MAAM,EAAEC,KAAK,EAAG;EAC7C;EACA;EACA,IAAK,CAAEA,KAAK,IAAI,CAAED,MAAM,EAAG;IAC1B,OAAOA,MAAM;EACd;;EAEA;EACA,MAAME,cAAc,GAAG,CAAC,CAAC;EACzBD,KAAK,CAACE,OAAO,CAAIC,IAAI,IAAM;IAC1B,IAAKA,IAAI,KAAK,UAAU,EAAG;MAC1BF,cAAc,CAACG,GAAG,GAAGL,MAAM,CAACK,GAAG;MAC/BH,cAAc,CAACI,MAAM,GAAGN,MAAM,CAACM,MAAM;IACtC;IACA,IAAKF,IAAI,KAAK,YAAY,EAAG;MAC5BF,cAAc,CAACK,IAAI,GAAGP,MAAM,CAACO,IAAI;MACjCL,cAAc,CAACM,KAAK,GAAGR,MAAM,CAACQ,KAAK;IACpC;IACAN,cAAc,CAAEE,IAAI,CAAE,GAAGJ,MAAM,GAAII,IAAI,CAAE;EAC1C,CAAE,CAAC;EAEH,OAAOF,cAAc;AACtB;AAEA,SAASO,eAAeA,CAAEC,KAAK,EAAG;EACjC;EACA,IAAKA,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAG;IACzC;IACA,OAAO;MACNL,GAAG,EAAEK,KAAK;MACVF,KAAK,EAAEE,KAAK;MACZJ,MAAM,EAAEI,KAAK;MACbH,IAAI,EAAEG;IACP,CAAC;EACF;EAEA,OAAOA,KAAK;AACb;AAEA,SAASC,aAAaA,CAAED,KAAK,EAAEE,UAAU,EAAG;EAC3C,IAAK,CAAEF,KAAK,EAAG;IACd,OAAOA,KAAK;EACb;;EAEA;EACA,IAAK,OAAOA,KAAK,KAAK,QAAQ,EAAG;IAChC;AACF;AACA;AACA;AACA;AACA;AACA;IACE,OAAOE,UAAU,GACd;MAAEP,GAAG,EAAEK,KAAK;MAAEF,KAAK,EAAEE,KAAK;MAAEJ,MAAM,EAAEI,KAAK;MAAEH,IAAI,EAAEG;IAAM,CAAC,GACxD;MAAEL,GAAG,EAAEK;IAAM,CAAC;EAClB;EAEA,OAAO;IACN,GAAGA,KAAK;IACRF,KAAK,EAAEE,KAAK,EAAEH,IAAI;IAClBD,MAAM,EAAEI,KAAK,EAAEL;EAChB,CAAC;AACF;AAEA,SAASQ,oBAAoBA,CAAE;EAC9BC,cAAc;EACdC,QAAQ;EACRL,KAAK;EACLM,OAAO;EACPC;AACD,CAAC,EAAG;EACH,MAAMC,iBAAiB,GAAG1E,8BAA8B,CAAC,CAAC;EAC1D,MAAM2E,QAAQ,GAAGA,CAAA,KAAM;IACtB,MAAMC,YAAY,GAAGN,cAAc,CAAEJ,KAAM,CAAC;IAC5CK,QAAQ,CAAEK,YAAa,CAAC;EACzB,CAAC;EAED,oBACCpE,IAAA,CAACzB,UAAU;IACV8F,KAAK,EAAGhG,EAAE,CAAE,YAAa,CAAG;IAC5B8F,QAAQ,EAAGA,QAAU;IACrBH,OAAO,EAAGA,OAAS;IACnBE,iBAAiB,EAAGA,iBAAmB;IAAAD,QAAA,EAErCA;EAAQ,CACC,CAAC;AAEf;AAEA,MAAMK,gBAAgB,GAAG;EACxB9C,WAAW,EAAE,IAAI;EACjBC,QAAQ,EAAE,IAAI;EACdE,OAAO,EAAE,IAAI;EACbC,MAAM,EAAE,IAAI;EACZC,QAAQ,EAAE,IAAI;EACdE,SAAS,EAAE,IAAI;EACfC,WAAW,EAAE,IAAI;EACjBuC,WAAW,EAAE;AACd,CAAC;AAED,eAAe,SAASC,eAAeA,CAAE;EACxCC,EAAE,EAAEC,OAAO,GAAGb,oBAAoB;EAClCH,KAAK;EACLK,QAAQ;EACRY,cAAc,GAAGjB,KAAK;EACtBrD,QAAQ;EACR2D,OAAO;EACPY,eAAe,GAAGN,gBAAgB;EAClCO,WAAW,GAAGA,CAAA,KAAM,CAAC,CAAC;EACtB;EACA;EACAC,qBAAqB,GAAG;AACzB,CAAC,EAAG;EAAA,IAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA;EACH,MAAM;IAAExD,UAAU;IAAEJ;EAAQ,CAAC,GAAGrB,QAAQ;EAExC,MAAMkF,WAAW,GAAKC,QAAQ,IAAM;IACnC,IAAKA,QAAQ,IAAI,OAAOA,QAAQ,KAAK,QAAQ,EAAG;MAC/C,OAAOC,MAAM,CAACC,IAAI,CAAEF,QAAS,CAAC,CAACG,MAAM,CAAE,CAAEC,GAAG,EAAEC,GAAG,KAAM;QACtDD,GAAG,CAAEC,GAAG,CAAE,GAAGtG,oBAAoB,CAChC;UAAEc,QAAQ,EAAE;YAAEyB,UAAU;YAAEJ;UAAQ;QAAE,CAAC,EACrC,EAAE,EACF8D,QAAQ,CAAEK,GAAG,CACd,CAAC;QACD,OAAOD,GAAG;MACX,CAAC,EAAE,CAAC,CAAE,CAAC;IACR;IACA,OAAOrG,oBAAoB,CAC1B;MAAEc,QAAQ,EAAE;QAAEyB,UAAU;QAAEJ;MAAQ;IAAE,CAAC,EACrC,EAAE,EACF8D,QACD,CAAC;EACF,CAAC;EAED,MAAMM,yBAAyB,GAAGrD,oBAAoB,CAAEpC,QAAS,CAAC;EAClE,MAAM0F,KAAK,GAAGjH,cAAc,CAAE;IAC7BkH,cAAc,EAAE3F,QAAQ,EAAEqB,OAAO,EAAEqE,KAAK,IAAI,CAC3C,GAAG,EACH,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,IAAI;EAEN,CAAE,CAAC;;EAEH;EACA,MAAME,aAAa,GAAG,CAACC,QAAQ;EAC/B,MAAM,CAAEC,cAAc,EAAEC,iBAAiB,CAAE,GAAG/G,QAAQ,CAAE4G,aAAc,CAAC;;EAEvE;EACA,MAAMI,sBAAsB,GAC3B9F,iBAAiB,CAAEF,QAAS,CAAC,IAAIyE,qBAAqB;EACvD,MAAMwB,gBAAgB,GAAGf,WAAW,CAAEZ,cAAc,EAAEpD,MAAM,EAAEC,WAAY,CAAC;EAC3E,MAAM+E,mBAAmB,GAAKC,QAAQ,IAAM;IAC3CzC,QAAQ,CACPjE,YAAY,CACX4D,KAAK,EACL,CAAE,QAAQ,EAAE,aAAa,CAAE,EAC3B8C,QAAQ,IAAIC,SACb,CACD,CAAC;EACF,CAAC;EACD,MAAMC,0BAA0B,GAAGA,CAAA,KAAM,CAAC,CAAEhD,KAAK,EAAEnC,MAAM,EAAEC,WAAW;EACtE,MAAMmF,qBAAqB,GAAGA,CAAA,KAAMJ,mBAAmB,CAAEE,SAAU,CAAC;;EAEpE;EACA,MAAMG,mBAAmB,GACxBnG,cAAc,CAAEJ,QAAS,CAAC,IAAIyE,qBAAqB;EACpD,MAAM+B,aAAa,GAAGtB,WAAW,CAAEZ,cAAc,EAAEpD,MAAM,EAAEE,QAAS,CAAC;EACrE,MAAMqF,gBAAgB,GAAKN,QAAQ,IAAM;IACxCzC,QAAQ,CACPjE,YAAY,CACX4D,KAAK,EACL,CAAE,QAAQ,EAAE,UAAU,CAAE,EACxB8C,QAAQ,IAAIC,SACb,CACD,CAAC;EACF,CAAC;EACD,MAAMM,uBAAuB,GAAGA,CAAA,KAAM,CAAC,CAAErD,KAAK,EAAEnC,MAAM,EAAEE,QAAQ;EAChE,MAAMuF,kBAAkB,GAAGA,CAAA,KAAMF,gBAAgB,CAAEL,SAAU,CAAC;;EAE9D;EACA,MAAMQ,kBAAkB,GAAGtG,aAAa,CAAEN,QAAS,CAAC;EACpD,MAAM6G,UAAU,GAAG3B,WAAW,CAAEZ,cAAc,EAAEjD,OAAO,EAAEC,OAAQ,CAAC;EAClE,MAAMwF,aAAa,GAAG1D,eAAe,CAAEyD,UAAW,CAAC;EACnD,MAAME,YAAY,GAAGC,KAAK,CAACC,OAAO,CAAEjH,QAAQ,EAAEqB,OAAO,EAAEC,OAAQ,CAAC,GAC7DtB,QAAQ,EAAEqB,OAAO,EAAEC,OAAO,GAC1BtB,QAAQ,EAAEqB,OAAO,EAAEC,OAAO,EAAEsB,KAAK;EACpC,MAAMsE,cAAc,GACnBH,YAAY,IACZA,YAAY,CAACI,IAAI,CAAIpE,IAAI,IAAMjD,WAAW,CAACsH,QAAQ,CAAErE,IAAK,CAAE,CAAC;EAC9D,MAAMsE,gBAAgB,GAAKC,gBAAgB,IAAM;IAChD,MAAMhG,OAAO,GAAGoB,mBAAmB,CAAE4E,gBAAgB,EAAEP,YAAa,CAAC;IACrErD,QAAQ,CAAEjE,YAAY,CAAE4D,KAAK,EAAE,CAAE,SAAS,EAAE,SAAS,CAAE,EAAE/B,OAAQ,CAAE,CAAC;EACrE,CAAC;EACD,MAAMiG,eAAe,GAAGA,CAAA,KACvB,CAAC,CAAElE,KAAK,EAAEhC,OAAO,EAAEC,OAAO,IAC1B8D,MAAM,CAACC,IAAI,CAAEhC,KAAK,EAAEhC,OAAO,EAAEC,OAAQ,CAAC,CAACiB,MAAM;EAC9C,MAAMiF,iBAAiB,GAAGA,CAAA,KAAMH,gBAAgB,CAAEjB,SAAU,CAAC;EAC7D,MAAMqB,kBAAkB,GAAGA,CAAA,KAAMjD,WAAW,CAAE,SAAU,CAAC;;EAEzD;EACA,MAAMkD,iBAAiB,GAAGlH,YAAY,CAAER,QAAS,CAAC;EAClD,MAAM2H,SAAS,GAAGzC,WAAW,CAAEZ,cAAc,EAAEjD,OAAO,EAAEE,MAAO,CAAC;EAChE,MAAMqG,YAAY,GAAGxE,eAAe,CAAEuE,SAAU,CAAC;EACjD,MAAME,WAAW,GAAGb,KAAK,CAACC,OAAO,CAAEjH,QAAQ,EAAEqB,OAAO,EAAEE,MAAO,CAAC,GAC3DvB,QAAQ,EAAEqB,OAAO,EAAEE,MAAM,GACzBvB,QAAQ,EAAEqB,OAAO,EAAEE,MAAM,EAAEqB,KAAK;EACnC,MAAMkF,aAAa,GAClBD,WAAW,IACXA,WAAW,CAACV,IAAI,CAAIpE,IAAI,IAAMjD,WAAW,CAACsH,QAAQ,CAAErE,IAAK,CAAE,CAAC;EAC7D,MAAMgF,eAAe,GAAKC,eAAe,IAAM;IAC9C,MAAMzG,MAAM,GAAGmB,mBAAmB,CAAEsF,eAAe,EAAEH,WAAY,CAAC;IAClEnE,QAAQ,CAAEjE,YAAY,CAAE4D,KAAK,EAAE,CAAE,SAAS,EAAE,QAAQ,CAAE,EAAE9B,MAAO,CAAE,CAAC;EACnE,CAAC;EACD,MAAM0G,cAAc,GAAGA,CAAA,KACtB,CAAC,CAAE5E,KAAK,EAAEhC,OAAO,EAAEE,MAAM,IACzB6D,MAAM,CAACC,IAAI,CAAEhC,KAAK,EAAEhC,OAAO,EAAEE,MAAO,CAAC,CAACgB,MAAM;EAC7C,MAAM2F,gBAAgB,GAAGA,CAAA,KAAMH,eAAe,CAAE3B,SAAU,CAAC;EAC3D,MAAM+B,iBAAiB,GAAGA,CAAA,KAAM3D,WAAW,CAAE,QAAS,CAAC;;EAEvD;EACA,MAAM4D,cAAc,GAAG1H,SAAS,CAAEV,QAAS,CAAC;EAC5C,MAAMqI,QAAQ,GAAGrB,KAAK,CAACC,OAAO,CAAEjH,QAAQ,EAAEqB,OAAO,EAAEG,QAAS,CAAC,GAC1DxB,QAAQ,EAAEqB,OAAO,EAAEG,QAAQ,GAC3BxB,QAAQ,EAAEqB,OAAO,EAAEG,QAAQ,EAAEoB,KAAK;EACrC,MAAMW,UAAU,GACf8E,QAAQ,IAAIA,QAAQ,CAAClB,IAAI,CAAIpE,IAAI,IAAMjD,WAAW,CAACsH,QAAQ,CAAErE,IAAK,CAAE,CAAC;EACtE,MAAMuF,QAAQ,GAAGpD,WAAW,CAAEZ,cAAc,EAAEjD,OAAO,EAAEG,QAAS,CAAC;EACjE,MAAM+G,SAAS,GAAGjF,aAAa,CAAEgF,QAAQ,EAAE/E,UAAW,CAAC;EACvD,MAAMiF,WAAW,GAAKC,WAAW,IAAM;IACtC/E,QAAQ,CACPjE,YAAY,CAAE4D,KAAK,EAAE,CAAE,SAAS,EAAE,UAAU,CAAE,EAAEoF,WAAY,CAC7D,CAAC;EACF,CAAC;EACD,MAAMC,YAAY,GAAKC,eAAe,IAAM;IAC3C,IAAK,CAAEA,eAAe,EAAG;MACxBH,WAAW,CAAE,IAAK,CAAC;IACpB;IACA;IACA,IAAK,CAAEjF,UAAU,IAAIoF,eAAe,EAAEC,cAAc,CAAE,KAAM,CAAC,EAAG;MAC/DJ,WAAW,CAAEG,eAAe,CAAC3F,GAAI,CAAC;IACnC,CAAC,MAAM;MACNwF,WAAW,CAAE;QACZxF,GAAG,EAAE2F,eAAe,EAAE3F,GAAG;QACzBE,IAAI,EAAEyF,eAAe,EAAEzF;MACxB,CAAE,CAAC;IACJ;EACD,CAAC;EACD,MAAM2F,aAAa,GAAGA,CAAA,KAAML,WAAW,CAAEpC,SAAU,CAAC;EACpD,MAAM0C,WAAW,GAAGA,CAAA,KAAM,CAAC,CAAEzF,KAAK,EAAEhC,OAAO,EAAEG,QAAQ;;EAErD;EACA,MAAMuH,oBAAoB,GAAGnI,eAAe,CAAEZ,QAAS,CAAC;EACxD,MAAMgJ,cAAc,GAAG9D,WAAW,CAAEZ,cAAc,EAAE7C,UAAU,EAAEC,SAAU,CAAC;EAC3E,MAAMuH,iBAAiB,GAAK9C,QAAQ,IAAM;IACzC,MAAM+C,SAAS,GAAGzJ,YAAY,CAC7B4D,KAAK,EACL,CAAE,YAAY,EAAE,WAAW,CAAE,EAC7B8C,QACD,CAAC;IACD;IACAzC,QAAQ,CACPjE,YAAY,CACXyJ,SAAS,EACT,CAAE,YAAY,EAAE,aAAa,CAAE,EAC/B9C,SACD,CACD,CAAC;EACF,CAAC;EACD,MAAM+C,mBAAmB,GAAGA,CAAA,KAAM;IACjCF,iBAAiB,CAAE7C,SAAU,CAAC;EAC/B,CAAC;EACD,MAAMgD,iBAAiB,GAAGA,CAAA,KAAM,CAAC,CAAE/F,KAAK,EAAE5B,UAAU,EAAEC,SAAS;;EAE/D;EACA,MAAM2H,sBAAsB,GAAGvI,iBAAiB,CAAEd,QAAS,CAAC;EAC5D,MAAMsJ,gBAAgB,GAAGpE,WAAW,CACnCZ,cAAc,EAAE7C,UAAU,EAAEE,WAC7B,CAAC;EACD,MAAM4H,mBAAmB,GAAKpD,QAAQ,IAAM;IAC3C,MAAM+C,SAAS,GAAGzJ,YAAY,CAC7B4D,KAAK,EACL,CAAE,YAAY,EAAE,aAAa,CAAE,EAC/B8C,QACD,CAAC;IACD;IACAzC,QAAQ,CACPjE,YAAY,CAAEyJ,SAAS,EAAE,CAAE,YAAY,EAAE,WAAW,CAAE,EAAE9C,SAAU,CACnE,CAAC;EACF,CAAC;EACD,MAAMoD,mBAAmB,GAAGA,CAAA,KAAM,CAAC,CAAEnG,KAAK,EAAE5B,UAAU,EAAEE,WAAW;;EAEnE;EACA,MAAM8H,sBAAsB,GAAGzI,iBAAiB,CAAEhB,QAAS,CAAC;EAC5D,MAAMkE,WAAW,GAAGI,cAAc,EAAEpD,MAAM;EAE1C,MAAMwI,cAAc,GAAKC,cAAc,IAAM;IAC5CjG,QAAQ,CAAE;MACT,GAAGL,KAAK;MACRnC,MAAM,EAAE;QACP,GAAGyI;MACJ;IACD,CAAE,CAAC;EACJ,CAAC;EAED,MAAMlG,cAAc,GAAG1E,WAAW,CAAI6K,aAAa,IAAM;IACxD,OAAO;MACN,GAAGA,aAAa;MAChB1I,MAAM,EAAE1B,gBAAgB,CAAE;QACzB,GAAGoK,aAAa,EAAE1I,MAAM;QACxBC,WAAW,EAAEiF,SAAS;QACtBhF,QAAQ,EAAEgF,SAAS;QACnByD,WAAW,EAAEzD,SAAS;QACtB0D,QAAQ,EAAE1D,SAAS;QACnB2D,WAAW,EAAE3D,SAAS;QACtB4D,QAAQ,EAAE5D,SAAS;QACnB6D,UAAU,EAAE7D,SAAS;QACrB8D,OAAO,EAAE9D;MACV,CAAE,CAAC;MACH/E,OAAO,EAAE;QACR,GAAGuI,aAAa,EAAEvI,OAAO;QACzBC,OAAO,EAAE8E,SAAS;QAClB7E,MAAM,EAAE6E,SAAS;QACjB5E,QAAQ,EAAE4E;MACX,CAAC;MACD3E,UAAU,EAAE;QACX,GAAGmI,aAAa,EAAEnI,UAAU;QAC5BC,SAAS,EAAE0E,SAAS;QACpBzE,WAAW,EAAEyE;MACd;IACD,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAM+D,oBAAoB,GAAGA,CAAA,KAAM3F,WAAW,CAAE,KAAM,CAAC;EAEvD,oBACC3E,KAAA,CAACwE,OAAO;IACPZ,cAAc,EAAGA,cAAgB;IACjCJ,KAAK,EAAGA,KAAO;IACfK,QAAQ,EAAGA,QAAU;IACrBC,OAAO,EAAGA,OAAS;IAAAC,QAAA,GAEjB,CAAEoC,sBAAsB,IAAIO,mBAAmB,kBAChD5G,IAAA;MAAMyK,SAAS,EAAC,cAAc;MAAAxG,QAAA,EAC3B5F,EAAE,CAAE,yCAA0C;IAAC,CAC5C,CACN,EACCgI,sBAAsB,iBACvBrG,IAAA,CAACvB,cAAc;MACd4F,KAAK,EAAGhG,EAAE,CAAE,eAAgB,CAAG;MAC/BqM,QAAQ,EAAGhE,0BAA4B;MACvCiE,UAAU,EAAGhE,qBAAuB;MACpCiE,gBAAgB,GAAA7F,qBAAA,GACfH,eAAe,CAACpD,WAAW,cAAAuD,qBAAA,cAAAA,qBAAA,GAC3BT,gBAAgB,CAAC9C,WACjB;MACDwC,OAAO,EAAGA,OAAS;MAAAC,QAAA,eAEnBjE,IAAA,CAACpB,WAAW;QACXiM,qBAAqB;QACrBxG,KAAK,EAAGhG,EAAE,CAAE,eAAgB,CAAG;QAC/ByM,aAAa,EAAC,KAAK;QACnBpH,KAAK,EAAG4C,gBAAgB,IAAI,EAAI;QAChCvC,QAAQ,EAAKgH,eAAe,IAAM;UACjCxE,mBAAmB,CAAEwE,eAAgB,CAAC;QACvC,CAAG;QACHhF,KAAK,EAAGA,KAAO;QACfiF,MAAM,eACLhL,IAAA,CAAChB,yBAAyB;UAACiM,OAAO,EAAC,MAAM;UAAAhH,QAAA,eACxCjE,IAAA,CAACf,IAAI;YAACiM,IAAI,EAAGhM;UAAW,CAAE;QAAC,CACD;MAC3B,CACD;IAAC,CACa,CAChB,EACC0H,mBAAmB,iBACpB5G,IAAA,CAACvB,cAAc;MACd4F,KAAK,EAAGhG,EAAE,CAAE,YAAa,CAAG;MAC5BqM,QAAQ,EAAG3D,uBAAyB;MACpC4D,UAAU,EAAG3D,kBAAoB;MACjC4D,gBAAgB,GAAA5F,qBAAA,GACfJ,eAAe,CAACnD,QAAQ,cAAAuD,qBAAA,cAAAA,qBAAA,GAAIV,gBAAgB,CAAC7C,QAC7C;MACDuC,OAAO,EAAGA,OAAS;MAAAC,QAAA,eAEnBjE,IAAA,CAACpB,WAAW;QACXiM,qBAAqB;QACrBxG,KAAK,EAAGhG,EAAE,CAAE,YAAa,CAAG;QAC5ByM,aAAa,EAAC,KAAK;QACnBpH,KAAK,EAAGmD,aAAa,IAAI,EAAI;QAC7B9C,QAAQ,EAAKoH,YAAY,IAAM;UAC9BrE,gBAAgB,CAAEqE,YAAa,CAAC;QACjC,CAAG;QACHpF,KAAK,EAAGA,KAAO;QACfiF,MAAM,eACLhL,IAAA,CAAChB,yBAAyB;UAACiM,OAAO,EAAC,MAAM;UAAAhH,QAAA,eACxCjE,IAAA,CAACf,IAAI;YAACiM,IAAI,EAAG/L;UAAa,CAAE;QAAC,CACH;MAC3B,CACD;IAAC,CACa,CAChB,EACC8H,kBAAkB,iBACnB/G,KAAA,CAACzB,cAAc;MACdiM,QAAQ,EAAG9C,eAAiB;MAC5BvD,KAAK,EAAGhG,EAAE,CAAE,SAAU,CAAG;MACzBsM,UAAU,EAAG9C,iBAAmB;MAChC+C,gBAAgB,GAAA3F,qBAAA,GACfL,eAAe,CAACjD,OAAO,cAAAsD,qBAAA,cAAAA,qBAAA,GAAIX,gBAAgB,CAAC3C,OAC5C;MACD8I,SAAS,EAAGrM,IAAI,CAAE;QACjB,0BAA0B,EAAE0H;MAC7B,CAAE,CAAG;MACL9B,OAAO,EAAGA,OAAS;MAAAC,QAAA,GAEjB,CAAE6B,yBAAyB,iBAC5B9F,IAAA,CAACtB,UAAU;QACVmM,qBAAqB;QACrB7H,MAAM,EAAGmE,aAAe;QACxBpD,QAAQ,EAAG2D,gBAAkB;QAC7BrD,KAAK,EAAGhG,EAAE,CAAE,SAAU,CAAG;QACzB4E,KAAK,EAAGmE,YAAc;QACtBrB,KAAK,EAAGA,KAAO;QACfqF,UAAU,EAAG,KAAO;QACpBC,WAAW,EAAG9D,cAAgB;QAC9B+D,UAAU,EAAG;UACZC,WAAW,EAAEzD,kBAAkB;UAC/B0D,UAAU,EAAEhB;QACb;MAAG,CACH,CACD,EACC1E,yBAAyB,iBAC1B9F,IAAA,CAACP,mBAAmB;QACnBuD,MAAM,EAAGmE,aAAe;QACxBpD,QAAQ,EAAG2D,gBAAkB;QAC7BrD,KAAK,EAAGhG,EAAE,CAAE,SAAU,CAAG;QACzB4E,KAAK,EAAGmE,YAAc;QACtBrB,KAAK,EAAGA,KAAO;QACfqF,UAAU,EAAG,KAAO;QACpBG,WAAW,EAAGzD,kBAAoB;QAClC0D,UAAU,EAAGhB;MAAsB,CACnC,CACD;IAAA,CACc,CAChB,EACCzC,iBAAiB,iBAClB7H,KAAA,CAACzB,cAAc;MACdiM,QAAQ,EAAGpC,cAAgB;MAC3BjE,KAAK,EAAGhG,EAAE,CAAE,QAAS,CAAG;MACxBsM,UAAU,EAAGpC,gBAAkB;MAC/BqC,gBAAgB,GAAA1F,qBAAA,GACfN,eAAe,CAAChD,MAAM,cAAAsD,qBAAA,cAAAA,qBAAA,GAAIZ,gBAAgB,CAAC1C,MAC3C;MACD6I,SAAS,EAAGrM,IAAI,CAAE;QACjB,0BAA0B,EAAE0H;MAC7B,CAAE,CAAG;MACL9B,OAAO,EAAGA,OAAS;MAAAC,QAAA,GAEjB,CAAE6B,yBAAyB,iBAC5B9F,IAAA,CAACtB,UAAU;QACVmM,qBAAqB;QACrB7H,MAAM,EAAGiF,YAAc;QACvBlE,QAAQ,EAAGqE,eAAiB;QAC5BkD,UAAU,EAAG;UACZG,GAAG,EAAEtF,cAAc;UACnBuF,WAAW,EAAEA,CAAA,KAAM;YAClB;YACAtF,iBAAiB,CAAE,CAAE,CAAC;UACvB,CAAC;UACDuF,SAAS,EAAEA,CAAA,KAAM;YAChBvF,iBAAiB,CAAEH,aAAc,CAAC;UACnC,CAAC;UACDsF,WAAW,EAAE/C,iBAAiB;UAC9BgD,UAAU,EAAEhB;QACb,CAAG;QACHnG,KAAK,EAAGhG,EAAE,CAAE,QAAS,CAAG;QACxB4E,KAAK,EAAGiF,WAAa;QACrBnC,KAAK,EAAGA,KAAO;QACfqF,UAAU,EAAG,KAAO;QACpBC,WAAW,EAAGlD;MAAe,CAC7B,CACD,EACCrC,yBAAyB,iBAC1B9F,IAAA,CAACP,mBAAmB;QACnBuD,MAAM,EAAGiF,YAAc;QACvBlE,QAAQ,EAAGqE,eAAiB;QAC5BwD,kBAAkB,EAAG,CAAC1F,QAAU;QAChC7B,KAAK,EAAGhG,EAAE,CAAE,QAAS,CAAG;QACxB4E,KAAK,EAAGiF,WAAa;QACrBnC,KAAK,EAAGA,KAAO;QACfqF,UAAU,EAAG,KAAO;QACpBG,WAAW,EAAG/C,iBAAmB;QACjCgD,UAAU,EAAGhB;MAAsB,CACnC,CACD;IAAA,CACc,CAChB,EACC/B,cAAc,iBACfvI,KAAA,CAACzB,cAAc;MACdiM,QAAQ,EAAGvB,WAAa;MACxB9E,KAAK,EAAGhG,EAAE,CAAE,eAAgB,CAAG;MAC/BsM,UAAU,EAAGzB,aAAe;MAC5B0B,gBAAgB,GAAAzF,qBAAA,GACfP,eAAe,CAAC/C,QAAQ,cAAAsD,qBAAA,cAAAA,qBAAA,GAAIb,gBAAgB,CAACzC,QAC7C;MACD4I,SAAS,EAAGrM,IAAI,CAAE;QACjB,0BAA0B,EAAE0H,yBAAyB;QACrD,eAAe;QACd;QACA,CAAEA,yBAAyB,IAAI,CAAElC;MACnC,CAAE,CAAG;MACLI,OAAO,EAAGA,OAAS;MAAAC,QAAA,GAEjB,CAAE6B,yBAAyB,KAC1BlC,UAAU,gBACX5D,IAAA,CAACtB,UAAU;QACVmM,qBAAqB;QACrBxG,KAAK,EAAGhG,EAAE,CAAE,eAAgB,CAAG;QAC/BoN,GAAG,EAAG,CAAG;QACT1H,QAAQ,EAAGgF,YAAc;QACzBhD,KAAK,EAAGA,KAAO;QACf9C,KAAK,EAAGyF,QAAU;QAClB1F,MAAM,EAAG4F,SAAW;QACpBwC,UAAU,EAAG,KAAO;QACpBC,WAAW,EAAGzH;MAAY,CAC1B,CAAC,gBAEF5D,IAAA,CAACpB,WAAW;QACXiM,qBAAqB;QACrBxG,KAAK,EAAGhG,EAAE,CAAE,eAAgB,CAAG;QAC/BoN,GAAG,EAAG,CAAG;QACT1H,QAAQ,EAAG8E,WAAa;QACxB9C,KAAK,EAAGA,KAAO;QACfrC,KAAK,EAAGiF;MAAU,CAClB,CACD,CAAE,EACF7C,yBAAyB,iBAC1B9F,IAAA,CAACP,mBAAmB;QACnB4E,KAAK,EAAGhG,EAAE,CAAE,eAAgB,CAAG;QAC/BoN,GAAG,EAAG,CAAG;QACT1H,QAAQ,EAAGgF,YAAc;QACzB8C,eAAe,EAAG,KAAO;QACzB5I,KAAK,EAAGW,UAAU,GAAG8E,QAAQ,GAAG,CAAE,KAAK,CAAI,CAAC;QAAA;QAC5C1F,MAAM,EAAG4F,SAAW;QACpBwC,UAAU,EAAG;MAAO,CACpB,CACD;IAAA,CACc,CAChB,EACCtB,sBAAsB,iBACvB9J,IAAA,CAACL,kBAAkB;MAClB+D,KAAK,EAAGa,WAAa;MACrBR,QAAQ,EAAGgG,cAAgB;MAC3BxH,YAAY,EAAGlC,QAAQ,EAAEkC,YAAc;MACvCyB,OAAO,EAAGA,OAAS;MACnB4G,gBAAgB,GAAAxF,qBAAA,GACfR,eAAe,CAACL,WAAW,cAAAa,qBAAA,cAAAA,qBAAA,GAC3Bd,gBAAgB,CAACC;IACjB,CACD,CACD,EACC6E,oBAAoB,iBACrBpJ,IAAA,CAACvB,cAAc;MACdiM,QAAQ,EAAGjB,iBAAmB;MAC9BpF,KAAK,EAAGhG,EAAE,CAAE,gBAAiB,CAAG;MAChCsM,UAAU,EAAGnB,mBAAqB;MAClCoB,gBAAgB,GAAAvF,qBAAA,GACfT,eAAe,CAAC7C,SAAS,cAAAsD,qBAAA,cAAAA,qBAAA,GAAIf,gBAAgB,CAACvC,SAC9C;MACDiC,OAAO,EAAGA,OAAS;MAAAC,QAAA,eAEnBjE,IAAA,CAACN,aAAa;QACb2E,KAAK,EAAGhG,EAAE,CAAE,gBAAiB,CAAG;QAChCqF,KAAK,EAAG2F,cAAgB;QACxBtF,QAAQ,EAAGuF;MAAmB,CAC9B;IAAC,CACa,CAChB,EACCI,sBAAsB,iBACvB1J,IAAA,CAACJ,eAAe;MACf8K,QAAQ,EAAGb,mBAAqB;MAChCnG,KAAK,EAAGiG,gBAAkB;MAC1B5F,QAAQ,EAAG6F,mBAAqB;MAChC5F,OAAO,EAAGA,OAAS;MACnB4G,gBAAgB,GAAAtF,qBAAA,GACfV,eAAe,CAAC5C,WAAW,cAAAsD,qBAAA,cAAAA,qBAAA,GAC3BhB,gBAAgB,CAACtC;IACjB,CACD,CACD;EAAA,CACO,CAAC;AAEZ","ignoreList":[]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* wp:polyfill */
|
|
1
2
|
/**
|
|
2
3
|
* External dependencies
|
|
3
4
|
*/
|
|
@@ -6,7 +7,7 @@ import clsx from 'clsx';
|
|
|
6
7
|
/**
|
|
7
8
|
* WordPress dependencies
|
|
8
9
|
*/
|
|
9
|
-
import { __experimentalToolsPanel as ToolsPanel, __experimentalToolsPanelItem as ToolsPanelItem, __experimentalItemGroup as ItemGroup, __experimentalHStack as HStack, __experimentalZStack as ZStack, __experimentalDropdownContentWrapper as DropdownContentWrapper,
|
|
10
|
+
import { __experimentalToolsPanel as ToolsPanel, __experimentalToolsPanelItem as ToolsPanelItem, __experimentalItemGroup as ItemGroup, __experimentalItem as Item, __experimentalHStack as HStack, __experimentalZStack as ZStack, __experimentalDropdownContentWrapper as DropdownContentWrapper, MenuGroup, ColorIndicator, DuotonePicker, DuotoneSwatch, Dropdown, Flex, FlexItem } from '@wordpress/components';
|
|
10
11
|
import { __, _x } from '@wordpress/i18n';
|
|
11
12
|
import { useCallback, useMemo } from '@wordpress/element';
|
|
12
13
|
|
|
@@ -156,8 +157,8 @@ export default function FiltersPanel({
|
|
|
156
157
|
return /*#__PURE__*/_jsx(ItemGroup, {
|
|
157
158
|
isBordered: true,
|
|
158
159
|
isSeparated: true,
|
|
159
|
-
children: /*#__PURE__*/_jsx(
|
|
160
|
-
|
|
160
|
+
children: /*#__PURE__*/_jsx(Item, {
|
|
161
|
+
as: "button",
|
|
161
162
|
...toggleProps,
|
|
162
163
|
children: /*#__PURE__*/_jsx(LabeledColorIndicator, {
|
|
163
164
|
indicator: duotone,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__experimentalItemGroup","ItemGroup","__experimentalHStack","HStack","__experimentalZStack","ZStack","__experimentalDropdownContentWrapper","DropdownContentWrapper","Button","MenuGroup","ColorIndicator","DuotonePicker","DuotoneSwatch","Dropdown","Flex","FlexItem","__","_x","useCallback","useMemo","getValueFromVariable","useToolsPanelDropdownMenuProps","setImmutably","jsx","_jsx","jsxs","_jsxs","EMPTY_ARRAY","useMultiOriginColorPresets","settings","presetSetting","defaultSetting","disableDefault","color","userPresets","custom","themePresets","theme","defaultPresets","default","useHasFiltersPanel","useHasDuotoneControl","customDuotone","defaultDuotone","duotone","length","FiltersToolsPanel","resetAllFilter","onChange","value","panelId","children","dropdownMenuProps","resetAll","updatedValue","label","DEFAULT_CONTROLS","popoverProps","placement","offset","shift","className","headerTitle","LabeledColorIndicator","indicator","justify","isLayered","expanded","values","title","FiltersPanel","as","Wrapper","inheritedValue","defaultControls","decodeValue","rawValue","hasDuotoneEnabled","duotonePalette","colorPalette","filter","setDuotone","newValue","duotonePreset","find","colors","settedValue","slug","hasDuotone","resetDuotone","undefined","previousValue","hasValue","onDeselect","isShownByDefault","renderToggle","onToggle","isOpen","toggleProps","onClick","isBordered","isSeparated","__next40pxDefaultSize","renderContent","paddingSize","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","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__experimentalItemGroup","ItemGroup","__experimentalItem","Item","__experimentalHStack","HStack","__experimentalZStack","ZStack","__experimentalDropdownContentWrapper","DropdownContentWrapper","MenuGroup","ColorIndicator","DuotonePicker","DuotoneSwatch","Dropdown","Flex","FlexItem","__","_x","useCallback","useMemo","getValueFromVariable","useToolsPanelDropdownMenuProps","setImmutably","jsx","_jsx","jsxs","_jsxs","EMPTY_ARRAY","useMultiOriginColorPresets","settings","presetSetting","defaultSetting","disableDefault","color","userPresets","custom","themePresets","theme","defaultPresets","default","useHasFiltersPanel","useHasDuotoneControl","customDuotone","defaultDuotone","duotone","length","FiltersToolsPanel","resetAllFilter","onChange","value","panelId","children","dropdownMenuProps","resetAll","updatedValue","label","DEFAULT_CONTROLS","popoverProps","placement","offset","shift","className","headerTitle","LabeledColorIndicator","indicator","justify","isLayered","expanded","values","title","FiltersPanel","as","Wrapper","inheritedValue","defaultControls","decodeValue","rawValue","hasDuotoneEnabled","duotonePalette","colorPalette","filter","setDuotone","newValue","duotonePreset","find","colors","settedValue","slug","hasDuotone","resetDuotone","undefined","previousValue","hasValue","onDeselect","isShownByDefault","renderToggle","onToggle","isOpen","toggleProps","onClick","isBordered","isSeparated","renderContent","paddingSize","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":["memoize","__","_n","sprintf","getBlockTypes","globalStylesChangesCache","Map","EMPTY_ARRAY","translationMap","caption","link","button","heading","h1","h2","h3","h4","h5","h6","getBlockNames","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"],"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":["memoize","__","_n","sprintf","getBlockTypes","globalStylesChangesCache","Map","EMPTY_ARRAY","translationMap","caption","link","button","heading","h1","h2","h3","h4","h5","h6","getBlockNames","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"],"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":["__","__experimentalVStack","VStack","__experimentalHeading","Heading","__experimentalHStack","HStack","__experimentalDropdownContentWrapper","DropdownContentWrapper","Button","FlexItem","Dropdown","Composite","Tooltip","useMemo","shadow","shadowIcon","Icon","check","clsx","jsx","_jsx","jsxs","_jsxs","EMPTY_ARRAY","ShadowPopoverContainer","onShadowChange","settings","shadows","useShadowPresets","className","children","spacing","level","ShadowPresets","presets","activeShadow","onSelect","__next40pxDefaultSize","variant","onClick","undefined","role","map","name","slug","ShadowIndicator","label","isActive","type","text","Item","render","unset","style","boxShadow","icon","ShadowPopover","popoverProps","placement","offset","shift","renderToggle","renderShadowToggle","renderContent","paddingSize","onToggle","isOpen","toggleProps","justify","size","_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":["__","__experimentalVStack","VStack","__experimentalHeading","Heading","__experimentalHStack","HStack","__experimentalDropdownContentWrapper","DropdownContentWrapper","Button","FlexItem","Dropdown","Composite","Tooltip","useMemo","shadow","shadowIcon","Icon","check","clsx","jsx","_jsx","jsxs","_jsxs","EMPTY_ARRAY","ShadowPopoverContainer","onShadowChange","settings","shadows","useShadowPresets","className","children","spacing","level","ShadowPresets","presets","activeShadow","onSelect","__next40pxDefaultSize","variant","onClick","undefined","role","map","name","slug","ShadowIndicator","label","isActive","type","text","Item","render","unset","style","boxShadow","icon","ShadowPopover","popoverProps","placement","offset","shift","renderToggle","renderShadowToggle","renderContent","paddingSize","onToggle","isOpen","toggleProps","justify","size","_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 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getComputedFluidTypographyValue","getTypographyValueAndUnit","getFontStylesAndWeights","getTypographyFontSizeValue","preset","settings","size","defaultSize","fluid","isFluidTypographyEnabled","typography","fluidTypographySettings","getFluidTypographyOptionsFromSettings","fluidFontSizeValue","minimumFontSize","min","maximumFontSize","max","fontSize","minimumFontSizeLimit","minFontSize","maximumViewportWidth","maxViewportWidth","minimumViewportWidth","minViewportWidth","typographySettings","fluidSettings","Object","keys","length","layoutSettings","layout","defaultMaxViewportWidth","wideSize","getMergedFontFamiliesAndFontFamilyFaces","selectedFontFamily","_fontFamilies$find$fo","fontFamiliesFromSettings","fontFamilies","flatMap","key","_fontFamiliesFromSett","fontFamilyFaces","find","family","fontFamily","fontFace","findNearestFontWeight","availableFontWeights","newFontWeightValue","toString","nearestFontWeight","reduce","nearest","value","fw","currentDiff","Math","abs","parseInt","nearestDiff","findNearestFontStyle","availableFontStyles","newFontStyleValue","validStyles","includes","style","findNearestStyleAndWeight","fontStyle","fontWeight","nearestFontStyle","fontStyles","fontWeights","combinedStyleAndWeightOptions","hasFontStyle","some","fs","hasFontWeight","option"],"sources":["@wordpress/block-editor/src/components/global-styles/typography-utils.js"],"sourcesContent":["/**\n * The fluid utilities must match the backend equivalent.\n * See: gutenberg_get_typography_font_size_value() in lib/block-supports/typography.php\n * ---------------------------------------------------------------\n */\n\n/**\n * Internal dependencies\n */\nimport {\n\tgetComputedFluidTypographyValue,\n\tgetTypographyValueAndUnit,\n} from '../font-sizes/fluid-utils';\nimport { getFontStylesAndWeights } from '../../utils/get-font-styles-and-weights';\n\n/**\n * @typedef {Object} FluidPreset\n * @property {string|undefined} max A maximum font size value.\n * @property {?string|undefined} min A minimum font size value.\n */\n\n/**\n * @typedef {Object} Preset\n * @property {?string|?number} size A default font size.\n * @property {string} name A font size name, displayed in the UI.\n * @property {string} slug A font size slug\n * @property {boolean|FluidPreset|undefined} fluid Specifies the minimum and maximum font size value of a fluid font size.\n */\n\n/**\n * @typedef {Object} TypographySettings\n * @property {?string} minViewportWidth Minimum viewport size from which type will have fluidity. Optional if size is specified.\n * @property {?string} maxViewportWidth Maximum size up to which type will have fluidity. Optional if size is specified.\n * @property {?number} scaleFactor A scale factor to determine how fast a font scales within boundaries. Optional.\n * @property {?number} minFontSizeFactor How much to scale defaultFontSize by to derive minimumFontSize. Optional.\n * @property {?string} minFontSize The smallest a calculated font size may be. Optional.\n */\n\n/**\n * Returns a font-size value based on a given font-size preset.\n * Takes into account fluid typography parameters and attempts to return a css formula depending on available, valid values.\n *\n * The Core PHP equivalent is wp_get_typography_font_size_value().\n *\n * @param {Preset} preset\n * @param {Object} settings\n * @param {boolean|TypographySettings} settings.typography.fluid Whether fluid typography is enabled, and, optionally, fluid font size options.\n * @param {Object?} settings.typography.layout Layout options.\n *\n * @return {string|*} A font-size value or the value of preset.size.\n */\nexport function getTypographyFontSizeValue( preset, settings ) {\n\tconst { size: defaultSize } = preset;\n\n\t/*\n\t * Catch falsy values and 0/'0'. Fluid calculations cannot be performed on `0`.\n\t * Also return early when a preset font size explicitly disables fluid typography with `false`.\n\t */\n\tif ( ! defaultSize || '0' === defaultSize || false === preset?.fluid ) {\n\t\treturn defaultSize;\n\t}\n\n\t/*\n\t * Return early when fluid typography is disabled in the settings, and there\n\t * are no local settings to enable it for the individual preset.\n\t *\n\t * If this condition isn't met, either the settings or individual preset settings\n\t * have enabled fluid typography.\n\t */\n\tif (\n\t\t! isFluidTypographyEnabled( settings?.typography ) &&\n\t\t! isFluidTypographyEnabled( preset )\n\t) {\n\t\treturn defaultSize;\n\t}\n\n\tlet fluidTypographySettings =\n\t\tgetFluidTypographyOptionsFromSettings( settings );\n\tfluidTypographySettings =\n\t\ttypeof fluidTypographySettings?.fluid === 'object'\n\t\t\t? fluidTypographySettings?.fluid\n\t\t\t: {};\n\n\tconst fluidFontSizeValue = getComputedFluidTypographyValue( {\n\t\tminimumFontSize: preset?.fluid?.min,\n\t\tmaximumFontSize: preset?.fluid?.max,\n\t\tfontSize: defaultSize,\n\t\tminimumFontSizeLimit: fluidTypographySettings?.minFontSize,\n\t\tmaximumViewportWidth: fluidTypographySettings?.maxViewportWidth,\n\t\tminimumViewportWidth: fluidTypographySettings?.minViewportWidth,\n\t} );\n\n\tif ( !! fluidFontSizeValue ) {\n\t\treturn fluidFontSizeValue;\n\t}\n\n\treturn defaultSize;\n}\n\nfunction isFluidTypographyEnabled( typographySettings ) {\n\tconst fluidSettings = typographySettings?.fluid;\n\treturn (\n\t\ttrue === fluidSettings ||\n\t\t( fluidSettings &&\n\t\t\ttypeof fluidSettings === 'object' &&\n\t\t\tObject.keys( fluidSettings ).length > 0 )\n\t);\n}\n\n/**\n * Returns fluid typography settings from theme.json setting object.\n *\n * @param {Object} settings Theme.json settings\n * @param {Object} settings.typography Theme.json typography settings\n * @param {Object} settings.layout Theme.json layout settings\n * @return {TypographySettings} Fluid typography settings\n */\nexport function getFluidTypographyOptionsFromSettings( settings ) {\n\tconst typographySettings = settings?.typography;\n\tconst layoutSettings = settings?.layout;\n\tconst defaultMaxViewportWidth = getTypographyValueAndUnit(\n\t\tlayoutSettings?.wideSize\n\t)\n\t\t? layoutSettings?.wideSize\n\t\t: null;\n\treturn isFluidTypographyEnabled( typographySettings ) &&\n\t\tdefaultMaxViewportWidth\n\t\t? {\n\t\t\t\tfluid: {\n\t\t\t\t\tmaxViewportWidth: defaultMaxViewportWidth,\n\t\t\t\t\t...typographySettings.fluid,\n\t\t\t\t},\n\t\t }\n\t\t: {\n\t\t\t\tfluid: typographySettings?.fluid,\n\t\t };\n}\n\n/**\n * Returns an object of merged font families and the font faces from the selected font family\n * based on the theme.json settings object and the currently selected font family.\n *\n * @param {Object} settings Theme.json settings.\n * @param {string} selectedFontFamily Decoded font family string.\n * @return {Object} Merged font families and font faces from the selected font family.\n */\nexport function getMergedFontFamiliesAndFontFamilyFaces(\n\tsettings,\n\tselectedFontFamily\n) {\n\tconst fontFamiliesFromSettings = settings?.typography?.fontFamilies;\n\n\tconst fontFamilies = [ 'default', 'theme', 'custom' ].flatMap(\n\t\t( key ) => fontFamiliesFromSettings?.[ key ] ?? []\n\t);\n\n\tconst fontFamilyFaces =\n\t\tfontFamilies.find(\n\t\t\t( family ) => family.fontFamily === selectedFontFamily\n\t\t)?.fontFace ?? [];\n\n\treturn { fontFamilies, fontFamilyFaces };\n}\n\n/**\n * Returns the nearest font weight value from the available font weight list based on the new font weight.\n * The nearest font weight is the one with the smallest difference from the new font weight.\n *\n * @param {Array} availableFontWeights Array of available font weights.\n * @param {string} newFontWeightValue New font weight value.\n * @return {string} Nearest font weight.\n */\nexport function findNearestFontWeight(\n\tavailableFontWeights,\n\tnewFontWeightValue\n) {\n\tnewFontWeightValue =\n\t\t'number' === typeof newFontWeightValue\n\t\t\t? newFontWeightValue.toString()\n\t\t\t: newFontWeightValue;\n\tif ( ! newFontWeightValue || typeof newFontWeightValue !== 'string' ) {\n\t\treturn '';\n\t}\n\n\tif ( ! availableFontWeights || availableFontWeights.length === 0 ) {\n\t\treturn newFontWeightValue;\n\t}\n\n\tconst nearestFontWeight = availableFontWeights?.reduce(\n\t\t( nearest, { value: fw } ) => {\n\t\t\tconst currentDiff = Math.abs(\n\t\t\t\tparseInt( fw ) - parseInt( newFontWeightValue )\n\t\t\t);\n\t\t\tconst nearestDiff = Math.abs(\n\t\t\t\tparseInt( nearest ) - parseInt( newFontWeightValue )\n\t\t\t);\n\t\t\treturn currentDiff < nearestDiff ? fw : nearest;\n\t\t},\n\t\tavailableFontWeights[ 0 ]?.value\n\t);\n\n\treturn nearestFontWeight;\n}\n\n/**\n * Returns the nearest font style based on the new font style.\n * Defaults to an empty string if the new font style is not valid or available.\n *\n * @param {Array} availableFontStyles Array of available font weights.\n * @param {string} newFontStyleValue New font style value.\n * @return {string} Nearest font style or an empty string.\n */\nexport function findNearestFontStyle( availableFontStyles, newFontStyleValue ) {\n\tif ( typeof newFontStyleValue !== 'string' || ! newFontStyleValue ) {\n\t\treturn '';\n\t}\n\n\tconst validStyles = [ 'normal', 'italic', 'oblique' ];\n\tif ( ! validStyles.includes( newFontStyleValue ) ) {\n\t\treturn '';\n\t}\n\n\tif (\n\t\t! availableFontStyles ||\n\t\tavailableFontStyles.length === 0 ||\n\t\tavailableFontStyles.find(\n\t\t\t( style ) => style.value === newFontStyleValue\n\t\t)\n\t) {\n\t\treturn newFontStyleValue;\n\t}\n\n\tif (\n\t\tnewFontStyleValue === 'oblique' &&\n\t\t! availableFontStyles.find( ( style ) => style.value === 'oblique' )\n\t) {\n\t\treturn 'italic';\n\t}\n\n\treturn '';\n}\n\n/**\n * Returns the nearest font style and weight based on the available font family faces and the new font style and weight.\n *\n * @param {Array} fontFamilyFaces Array of available font family faces.\n * @param {string} fontStyle New font style. Defaults to previous value.\n * @param {string} fontWeight New font weight. Defaults to previous value.\n * @return {Object} Nearest font style and font weight.\n */\nexport function findNearestStyleAndWeight(\n\tfontFamilyFaces,\n\tfontStyle,\n\tfontWeight\n) {\n\tlet nearestFontStyle = fontStyle;\n\tlet nearestFontWeight = fontWeight;\n\n\tconst { fontStyles, fontWeights, combinedStyleAndWeightOptions } =\n\t\tgetFontStylesAndWeights( fontFamilyFaces );\n\n\t// Check if the new font style and weight are available in the font family faces.\n\tconst hasFontStyle = fontStyles?.some(\n\t\t( { value: fs } ) => fs === fontStyle\n\t);\n\tconst hasFontWeight = fontWeights?.some(\n\t\t( { value: fw } ) => fw?.toString() === fontWeight?.toString()\n\t);\n\n\tif ( ! hasFontStyle ) {\n\t\t/*\n\t\t * Default to italic if oblique is not available.\n\t\t * Or find the nearest font style based on the nearest font weight.\n\t\t */\n\t\tnearestFontStyle = fontStyle\n\t\t\t? findNearestFontStyle( fontStyles, fontStyle )\n\t\t\t: combinedStyleAndWeightOptions?.find(\n\t\t\t\t\t( option ) =>\n\t\t\t\t\t\toption.style.fontWeight ===\n\t\t\t\t\t\tfindNearestFontWeight( fontWeights, fontWeight )\n\t\t\t )?.style?.fontStyle;\n\t}\n\n\tif ( ! hasFontWeight ) {\n\t\t/*\n\t\t * Find the nearest font weight based on available weights.\n\t\t * Or find the nearest font weight based on the nearest font style.\n\t\t */\n\t\tnearestFontWeight = fontWeight\n\t\t\t? findNearestFontWeight( fontWeights, fontWeight )\n\t\t\t: combinedStyleAndWeightOptions?.find(\n\t\t\t\t\t( option ) =>\n\t\t\t\t\t\toption.style.fontStyle ===\n\t\t\t\t\t\t( nearestFontStyle || fontStyle )\n\t\t\t )?.style?.fontWeight;\n\t}\n\n\treturn { nearestFontStyle, nearestFontWeight };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["getComputedFluidTypographyValue","getTypographyValueAndUnit","getFontStylesAndWeights","getTypographyFontSizeValue","preset","settings","size","defaultSize","fluid","isFluidTypographyEnabled","typography","fluidTypographySettings","getFluidTypographyOptionsFromSettings","fluidFontSizeValue","minimumFontSize","min","maximumFontSize","max","fontSize","minimumFontSizeLimit","minFontSize","maximumViewportWidth","maxViewportWidth","minimumViewportWidth","minViewportWidth","typographySettings","fluidSettings","Object","keys","length","layoutSettings","layout","defaultMaxViewportWidth","wideSize","getMergedFontFamiliesAndFontFamilyFaces","selectedFontFamily","_fontFamilies$find$fo","fontFamiliesFromSettings","fontFamilies","flatMap","key","_fontFamiliesFromSett","fontFamilyFaces","find","family","fontFamily","fontFace","findNearestFontWeight","availableFontWeights","newFontWeightValue","toString","nearestFontWeight","reduce","nearest","value","fw","currentDiff","Math","abs","parseInt","nearestDiff","findNearestFontStyle","availableFontStyles","newFontStyleValue","validStyles","includes","style","findNearestStyleAndWeight","fontStyle","fontWeight","nearestFontStyle","fontStyles","fontWeights","combinedStyleAndWeightOptions","hasFontStyle","some","fs","hasFontWeight","option"],"sources":["@wordpress/block-editor/src/components/global-styles/typography-utils.js"],"sourcesContent":["/**\n * The fluid utilities must match the backend equivalent.\n * See: gutenberg_get_typography_font_size_value() in lib/block-supports/typography.php\n * ---------------------------------------------------------------\n */\n\n/**\n * Internal dependencies\n */\nimport {\n\tgetComputedFluidTypographyValue,\n\tgetTypographyValueAndUnit,\n} from '../font-sizes/fluid-utils';\nimport { getFontStylesAndWeights } from '../../utils/get-font-styles-and-weights';\n\n/**\n * @typedef {Object} FluidPreset\n * @property {string|undefined} max A maximum font size value.\n * @property {?string|undefined} min A minimum font size value.\n */\n\n/**\n * @typedef {Object} Preset\n * @property {?string|?number} size A default font size.\n * @property {string} name A font size name, displayed in the UI.\n * @property {string} slug A font size slug\n * @property {boolean|FluidPreset|undefined} fluid Specifies the minimum and maximum font size value of a fluid font size.\n */\n\n/**\n * @typedef {Object} TypographySettings\n * @property {?string} minViewportWidth Minimum viewport size from which type will have fluidity. Optional if size is specified.\n * @property {?string} maxViewportWidth Maximum size up to which type will have fluidity. Optional if size is specified.\n * @property {?number} scaleFactor A scale factor to determine how fast a font scales within boundaries. Optional.\n * @property {?number} minFontSizeFactor How much to scale defaultFontSize by to derive minimumFontSize. Optional.\n * @property {?string} minFontSize The smallest a calculated font size may be. Optional.\n */\n\n/**\n * Returns a font-size value based on a given font-size preset.\n * Takes into account fluid typography parameters and attempts to return a css formula depending on available, valid values.\n *\n * The Core PHP equivalent is wp_get_typography_font_size_value().\n *\n * @param {Preset} preset\n * @param {Object} settings\n * @param {boolean|TypographySettings} settings.typography.fluid Whether fluid typography is enabled, and, optionally, fluid font size options.\n * @param {Object?} settings.typography.layout Layout options.\n *\n * @return {string|*} A font-size value or the value of preset.size.\n */\nexport function getTypographyFontSizeValue( preset, settings ) {\n\tconst { size: defaultSize } = preset;\n\n\t/*\n\t * Catch falsy values and 0/'0'. Fluid calculations cannot be performed on `0`.\n\t * Also return early when a preset font size explicitly disables fluid typography with `false`.\n\t */\n\tif ( ! defaultSize || '0' === defaultSize || false === preset?.fluid ) {\n\t\treturn defaultSize;\n\t}\n\n\t/*\n\t * Return early when fluid typography is disabled in the settings, and there\n\t * are no local settings to enable it for the individual preset.\n\t *\n\t * If this condition isn't met, either the settings or individual preset settings\n\t * have enabled fluid typography.\n\t */\n\tif (\n\t\t! isFluidTypographyEnabled( settings?.typography ) &&\n\t\t! isFluidTypographyEnabled( preset )\n\t) {\n\t\treturn defaultSize;\n\t}\n\n\tlet fluidTypographySettings =\n\t\tgetFluidTypographyOptionsFromSettings( settings );\n\tfluidTypographySettings =\n\t\ttypeof fluidTypographySettings?.fluid === 'object'\n\t\t\t? fluidTypographySettings?.fluid\n\t\t\t: {};\n\n\tconst fluidFontSizeValue = getComputedFluidTypographyValue( {\n\t\tminimumFontSize: preset?.fluid?.min,\n\t\tmaximumFontSize: preset?.fluid?.max,\n\t\tfontSize: defaultSize,\n\t\tminimumFontSizeLimit: fluidTypographySettings?.minFontSize,\n\t\tmaximumViewportWidth: fluidTypographySettings?.maxViewportWidth,\n\t\tminimumViewportWidth: fluidTypographySettings?.minViewportWidth,\n\t} );\n\n\tif ( !! fluidFontSizeValue ) {\n\t\treturn fluidFontSizeValue;\n\t}\n\n\treturn defaultSize;\n}\n\nfunction isFluidTypographyEnabled( typographySettings ) {\n\tconst fluidSettings = typographySettings?.fluid;\n\treturn (\n\t\ttrue === fluidSettings ||\n\t\t( fluidSettings &&\n\t\t\ttypeof fluidSettings === 'object' &&\n\t\t\tObject.keys( fluidSettings ).length > 0 )\n\t);\n}\n\n/**\n * Returns fluid typography settings from theme.json setting object.\n *\n * @param {Object} settings Theme.json settings\n * @param {Object} settings.typography Theme.json typography settings\n * @param {Object} settings.layout Theme.json layout settings\n * @return {TypographySettings} Fluid typography settings\n */\nexport function getFluidTypographyOptionsFromSettings( settings ) {\n\tconst typographySettings = settings?.typography;\n\tconst layoutSettings = settings?.layout;\n\tconst defaultMaxViewportWidth = getTypographyValueAndUnit(\n\t\tlayoutSettings?.wideSize\n\t)\n\t\t? layoutSettings?.wideSize\n\t\t: null;\n\treturn isFluidTypographyEnabled( typographySettings ) &&\n\t\tdefaultMaxViewportWidth\n\t\t? {\n\t\t\t\tfluid: {\n\t\t\t\t\tmaxViewportWidth: defaultMaxViewportWidth,\n\t\t\t\t\t...typographySettings.fluid,\n\t\t\t\t},\n\t\t }\n\t\t: {\n\t\t\t\tfluid: typographySettings?.fluid,\n\t\t };\n}\n\n/**\n * Returns an object of merged font families and the font faces from the selected font family\n * based on the theme.json settings object and the currently selected font family.\n *\n * @param {Object} settings Theme.json settings.\n * @param {string} selectedFontFamily Decoded font family string.\n * @return {Object} Merged font families and font faces from the selected font family.\n */\nexport function getMergedFontFamiliesAndFontFamilyFaces(\n\tsettings,\n\tselectedFontFamily\n) {\n\tconst fontFamiliesFromSettings = settings?.typography?.fontFamilies;\n\n\tconst fontFamilies = [ 'default', 'theme', 'custom' ].flatMap(\n\t\t( key ) => fontFamiliesFromSettings?.[ key ] ?? []\n\t);\n\n\tconst fontFamilyFaces =\n\t\tfontFamilies.find(\n\t\t\t( family ) => family.fontFamily === selectedFontFamily\n\t\t)?.fontFace ?? [];\n\n\treturn { fontFamilies, fontFamilyFaces };\n}\n\n/**\n * Returns the nearest font weight value from the available font weight list based on the new font weight.\n * The nearest font weight is the one with the smallest difference from the new font weight.\n *\n * @param {Array} availableFontWeights Array of available font weights.\n * @param {string} newFontWeightValue New font weight value.\n * @return {string} Nearest font weight.\n */\nexport function findNearestFontWeight(\n\tavailableFontWeights,\n\tnewFontWeightValue\n) {\n\tnewFontWeightValue =\n\t\t'number' === typeof newFontWeightValue\n\t\t\t? newFontWeightValue.toString()\n\t\t\t: newFontWeightValue;\n\tif ( ! newFontWeightValue || typeof newFontWeightValue !== 'string' ) {\n\t\treturn '';\n\t}\n\n\tif ( ! availableFontWeights || availableFontWeights.length === 0 ) {\n\t\treturn newFontWeightValue;\n\t}\n\n\tconst nearestFontWeight = availableFontWeights?.reduce(\n\t\t( nearest, { value: fw } ) => {\n\t\t\tconst currentDiff = Math.abs(\n\t\t\t\tparseInt( fw ) - parseInt( newFontWeightValue )\n\t\t\t);\n\t\t\tconst nearestDiff = Math.abs(\n\t\t\t\tparseInt( nearest ) - parseInt( newFontWeightValue )\n\t\t\t);\n\t\t\treturn currentDiff < nearestDiff ? fw : nearest;\n\t\t},\n\t\tavailableFontWeights[ 0 ]?.value\n\t);\n\n\treturn nearestFontWeight;\n}\n\n/**\n * Returns the nearest font style based on the new font style.\n * Defaults to an empty string if the new font style is not valid or available.\n *\n * @param {Array} availableFontStyles Array of available font weights.\n * @param {string} newFontStyleValue New font style value.\n * @return {string} Nearest font style or an empty string.\n */\nexport function findNearestFontStyle( availableFontStyles, newFontStyleValue ) {\n\tif ( typeof newFontStyleValue !== 'string' || ! newFontStyleValue ) {\n\t\treturn '';\n\t}\n\n\tconst validStyles = [ 'normal', 'italic', 'oblique' ];\n\tif ( ! validStyles.includes( newFontStyleValue ) ) {\n\t\treturn '';\n\t}\n\n\tif (\n\t\t! availableFontStyles ||\n\t\tavailableFontStyles.length === 0 ||\n\t\tavailableFontStyles.find(\n\t\t\t( style ) => style.value === newFontStyleValue\n\t\t)\n\t) {\n\t\treturn newFontStyleValue;\n\t}\n\n\tif (\n\t\tnewFontStyleValue === 'oblique' &&\n\t\t! availableFontStyles.find( ( style ) => style.value === 'oblique' )\n\t) {\n\t\treturn 'italic';\n\t}\n\n\treturn '';\n}\n\n/**\n * Returns the nearest font style and weight based on the available font family faces and the new font style and weight.\n *\n * @param {Array} fontFamilyFaces Array of available font family faces.\n * @param {string} fontStyle New font style. Defaults to previous value.\n * @param {string} fontWeight New font weight. Defaults to previous value.\n * @return {Object} Nearest font style and font weight.\n */\nexport function findNearestStyleAndWeight(\n\tfontFamilyFaces,\n\tfontStyle,\n\tfontWeight\n) {\n\tlet nearestFontStyle = fontStyle;\n\tlet nearestFontWeight = fontWeight;\n\n\tconst { fontStyles, fontWeights, combinedStyleAndWeightOptions } =\n\t\tgetFontStylesAndWeights( fontFamilyFaces );\n\n\t// Check if the new font style and weight are available in the font family faces.\n\tconst hasFontStyle = fontStyles?.some(\n\t\t( { value: fs } ) => fs === fontStyle\n\t);\n\tconst hasFontWeight = fontWeights?.some(\n\t\t( { value: fw } ) => fw?.toString() === fontWeight?.toString()\n\t);\n\n\tif ( ! hasFontStyle ) {\n\t\t/*\n\t\t * Default to italic if oblique is not available.\n\t\t * Or find the nearest font style based on the nearest font weight.\n\t\t */\n\t\tnearestFontStyle = fontStyle\n\t\t\t? findNearestFontStyle( fontStyles, fontStyle )\n\t\t\t: combinedStyleAndWeightOptions?.find(\n\t\t\t\t\t( option ) =>\n\t\t\t\t\t\toption.style.fontWeight ===\n\t\t\t\t\t\tfindNearestFontWeight( fontWeights, fontWeight )\n\t\t\t )?.style?.fontStyle;\n\t}\n\n\tif ( ! hasFontWeight ) {\n\t\t/*\n\t\t * Find the nearest font weight based on available weights.\n\t\t * Or find the nearest font weight based on the nearest font style.\n\t\t */\n\t\tnearestFontWeight = fontWeight\n\t\t\t? findNearestFontWeight( fontWeights, fontWeight )\n\t\t\t: combinedStyleAndWeightOptions?.find(\n\t\t\t\t\t( option ) =>\n\t\t\t\t\t\toption.style.fontStyle ===\n\t\t\t\t\t\t( nearestFontStyle || fontStyle )\n\t\t\t )?.style?.fontWeight;\n\t}\n\n\treturn { nearestFontStyle, nearestFontWeight };\n}\n"],"mappings":"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","ignoreList":[]}
|