@wordpress/block-editor 14.2.1-next.5368f64a9.0 → 14.3.1
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/build/components/background-image-control/index.js +566 -0
- package/build/components/background-image-control/index.js.map +1 -0
- package/build/components/block-card/index.js +5 -2
- package/build/components/block-card/index.js.map +1 -1
- package/build/components/block-list/use-block-props/use-zoom-out-mode-exit.js +4 -2
- package/build/components/block-list/use-block-props/use-zoom-out-mode-exit.js.map +1 -1
- package/build/components/global-styles/background-panel.js +20 -545
- package/build/components/global-styles/background-panel.js.map +1 -1
- package/build/components/global-styles/dimensions-panel.js +3 -0
- package/build/components/global-styles/dimensions-panel.js.map +1 -1
- package/build/components/grid/grid-item-resizer.js +2 -2
- package/build/components/grid/grid-item-resizer.js.map +1 -1
- package/build/components/iframe/index.js +1 -0
- package/build/components/iframe/index.js.map +1 -1
- package/build/components/image-editor/use-save-image.js +6 -0
- package/build/components/image-editor/use-save-image.js.map +1 -1
- package/build/components/image-editor/use-transform-image.js +1 -0
- package/build/components/image-editor/use-transform-image.js.map +1 -1
- package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +2 -4
- package/build/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/index.js +2 -4
- package/build/components/inserter/block-patterns-tab/index.js.map +1 -1
- package/build/components/inserter/media-tab/media-preview.js +4 -8
- package/build/components/inserter/media-tab/media-preview.js.map +1 -1
- package/build/components/inserter/media-tab/media-tab.js +2 -4
- package/build/components/inserter/media-tab/media-tab.js.map +1 -1
- package/build/components/inserter/quick-inserter.js +2 -4
- package/build/components/inserter/quick-inserter.js.map +1 -1
- package/build/components/inserter-listbox/item.js +2 -4
- package/build/components/inserter-listbox/item.js.map +1 -1
- package/build/components/link-control/index.js +14 -14
- package/build/components/link-control/index.js.map +1 -1
- package/build/components/link-control/search-input.js +4 -2
- package/build/components/link-control/search-input.js.map +1 -1
- package/build/components/rich-text/index.js +10 -4
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/spacing-sizes-control/index.js +8 -9
- package/build/components/spacing-sizes-control/index.js.map +1 -1
- package/build/components/spacing-sizes-control/linked-button.js +35 -0
- package/build/components/spacing-sizes-control/linked-button.js.map +1 -0
- package/build/components/spacing-sizes-control/utils.js +3 -2
- package/build/components/spacing-sizes-control/utils.js.map +1 -1
- package/build/components/url-input/index.js +7 -6
- package/build/components/url-input/index.js.map +1 -1
- package/build/hooks/block-bindings.js +65 -53
- package/build/hooks/block-bindings.js.map +1 -1
- package/build/hooks/block-hooks.js +1 -8
- package/build/hooks/block-hooks.js.map +1 -1
- package/build/store/private-selectors.js +10 -0
- package/build/store/private-selectors.js.map +1 -1
- package/build-module/components/background-image-control/index.js +556 -0
- package/build-module/components/background-image-control/index.js.map +1 -0
- package/build-module/components/block-card/index.js +6 -3
- package/build-module/components/block-card/index.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-zoom-out-mode-exit.js +4 -2
- package/build-module/components/block-list/use-block-props/use-zoom-out-mode-exit.js.map +1 -1
- package/build-module/components/global-styles/background-panel.js +22 -546
- package/build-module/components/global-styles/background-panel.js.map +1 -1
- package/build-module/components/global-styles/dimensions-panel.js +3 -0
- package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
- package/build-module/components/grid/grid-item-resizer.js +2 -2
- package/build-module/components/grid/grid-item-resizer.js.map +1 -1
- package/build-module/components/iframe/index.js +1 -0
- package/build-module/components/iframe/index.js.map +1 -1
- package/build-module/components/image-editor/use-save-image.js +6 -0
- package/build-module/components/image-editor/use-save-image.js.map +1 -1
- package/build-module/components/image-editor/use-transform-image.js +1 -0
- package/build-module/components/image-editor/use-transform-image.js.map +1 -1
- package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +2 -4
- package/build-module/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/index.js +2 -4
- package/build-module/components/inserter/block-patterns-tab/index.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-preview.js +4 -8
- package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-tab.js +2 -4
- package/build-module/components/inserter/media-tab/media-tab.js.map +1 -1
- package/build-module/components/inserter/quick-inserter.js +2 -4
- package/build-module/components/inserter/quick-inserter.js.map +1 -1
- package/build-module/components/inserter-listbox/item.js +2 -4
- package/build-module/components/inserter-listbox/item.js.map +1 -1
- package/build-module/components/link-control/index.js +15 -15
- package/build-module/components/link-control/index.js.map +1 -1
- package/build-module/components/link-control/search-input.js +4 -2
- package/build-module/components/link-control/search-input.js.map +1 -1
- package/build-module/components/rich-text/index.js +10 -4
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/spacing-sizes-control/index.js +9 -10
- package/build-module/components/spacing-sizes-control/index.js.map +1 -1
- package/build-module/components/spacing-sizes-control/linked-button.js +28 -0
- package/build-module/components/spacing-sizes-control/linked-button.js.map +1 -0
- package/build-module/components/spacing-sizes-control/utils.js +3 -2
- package/build-module/components/spacing-sizes-control/utils.js.map +1 -1
- package/build-module/components/url-input/index.js +8 -7
- package/build-module/components/url-input/index.js.map +1 -1
- package/build-module/hooks/block-bindings.js +65 -53
- package/build-module/hooks/block-bindings.js.map +1 -1
- package/build-module/hooks/block-hooks.js +3 -10
- package/build-module/hooks/block-hooks.js.map +1 -1
- package/build-module/store/private-selectors.js +10 -0
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-style/style-rtl.css +152 -285
- package/build-style/style.css +152 -285
- package/package.json +32 -32
- package/src/components/background-image-control/index.js +741 -0
- package/src/components/background-image-control/style.scss +170 -0
- package/src/components/background-image-control/test/index.js +47 -0
- package/src/components/block-card/index.js +12 -3
- package/src/components/block-list/use-block-props/use-zoom-out-mode-exit.js +2 -5
- package/src/components/global-styles/background-panel.js +19 -730
- package/src/components/global-styles/dimensions-panel.js +3 -0
- package/src/components/global-styles/style.scss +0 -168
- package/src/components/global-styles/test/background-panel.js +1 -47
- package/src/components/grid/grid-item-resizer.js +2 -2
- package/src/components/image-editor/use-save-image.js +7 -0
- package/src/components/inserter/block-patterns-explorer/pattern-explorer-sidebar.js +1 -2
- package/src/components/inserter/block-patterns-tab/index.js +1 -2
- package/src/components/inserter/media-tab/media-preview.js +2 -4
- package/src/components/inserter/media-tab/media-tab.js +1 -2
- package/src/components/inserter/quick-inserter.js +1 -2
- package/src/components/inserter/style.scss +0 -10
- package/src/components/inserter-listbox/item.js +1 -5
- package/src/components/link-control/index.js +19 -14
- package/src/components/link-control/search-input.js +2 -0
- package/src/components/link-control/style.scss +0 -22
- package/src/components/list-view/style.scss +1 -1
- package/src/components/rich-text/index.js +20 -5
- package/src/components/spacing-sizes-control/index.js +10 -13
- package/src/components/spacing-sizes-control/linked-button.js +32 -0
- package/src/components/spacing-sizes-control/test/utils.js +22 -30
- package/src/components/spacing-sizes-control/utils.js +6 -2
- package/src/components/url-input/index.js +5 -4
- package/src/components/url-input/style.scss +3 -26
- package/src/hooks/block-bindings.js +64 -50
- package/src/hooks/block-hooks.js +3 -14
- package/src/hooks/block-hooks.scss +0 -9
- package/src/store/private-selectors.js +9 -0
- package/src/style.scss +1 -0
- package/src/utils/test/transform-styles.js +1 -1
- package/build/components/spacing-sizes-control/sides-dropdown/index.js +0 -86
- package/build/components/spacing-sizes-control/sides-dropdown/index.js.map +0 -1
- package/build-module/components/spacing-sizes-control/sides-dropdown/index.js +0 -81
- package/build-module/components/spacing-sizes-control/sides-dropdown/index.js.map +0 -1
- package/src/components/spacing-sizes-control/sides-dropdown/index.js +0 -91
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","ToggleControl","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","__experimentalUnitControl","UnitControl","__experimentalVStack","VStack","DropZone","FlexItem","FocalPointPicker","MenuItem","VisuallyHidden","__experimentalItemGroup","ItemGroup","__experimentalHStack","HStack","__experimentalTruncate","Truncate","Dropdown","Placeholder","Spinner","__experimentalDropdownContentWrapper","DropdownContentWrapper","__","_x","sprintf","store","noticesStore","getFilename","useCallback","Platform","useRef","useState","useEffect","useMemo","useDispatch","useSelect","focus","isBlobURL","useToolsPanelDropdownMenuProps","getResolvedValue","setImmutably","MediaReplaceFlow","blockEditorStore","globalStylesDataKey","globalStylesLinksDataKey","jsx","_jsx","jsxs","_jsxs","IMAGE_BACKGROUND_TYPE","DEFAULT_CONTROLS","backgroundImage","BACKGROUND_POPOVER_PROPS","placement","offset","shift","className","noop","useHasBackgroundPanel","settings","OS","background","hasBackgroundSizeValue","style","backgroundPosition","undefined","backgroundSize","hasBackgroundImageValue","id","url","backgroundSizeHelpText","value","coordsToBackgroundPosition","isNaN","x","y","backgroundPositionToCoords","split","map","v","parseFloat","InspectorImagePreviewItem","as","imgUrl","toggleProps","filename","label","onToggleCallback","isOpen","children","justify","flexGrow","numberOfLines","BackgroundControlsPanel","onToggle","hasImageValue","imgLabel","popoverProps","renderToggle","onClick","renderContent","paddingSize","LoadingSpinner","BackgroundImageControls","onChange","inheritedValue","onRemoveImage","onResetImage","displayInPanel","defaultValues","isUploading","setIsUploading","getSettings","title","replaceContainerRef","createErrorNotice","onUploadError","message","type","resetBackgroundImage","onSelectMedia","media","media_type","sizeValue","positionValue","source","onFilesDrop","filesList","length","mediaUpload","allowedTypes","onFileChange","image","onError","hasValue","closeAndFocus","toggleButton","tabbable","find","current","click","onRemove","canRemove","ref","mediaId","mediaURL","accept","onSelect","name","variant","onReset","BackgroundSizeControls","repeatValue","backgroundRepeat","imageValue","isUploadedImage","attachmentValue","backgroundAttachment","currentValueForToggle","includes","repeatCheckedValue","updateBackgroundSize","next","nextRepeat","nextPosition","updateBackgroundPosition","toggleIsRepeated","toggleScrollWithPage","backgroundPositionValue","spacing","__nextHasNoMarginBottom","checked","size","isBlock","help","__unstableInputWidth","min","placeholder","disabled","BackgroundToolsPanel","resetAllFilter","panelId","headerLabel","dropdownMenuProps","resetAll","updatedValue","BackgroundPanel","Wrapper","defaultControls","globalStyles","_links","select","_settings","resolvedInheritedValue","resolvedValues","Object","entries","forEach","key","backgroundValue","styles","previousValue","resetBackground","shouldShowBackgroundImageControls","isDropDownOpen","setIsDropDownOpen","onDeselect","isShownByDefault"],"sources":["@wordpress/block-editor/src/components/global-styles/background-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\tToggleControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalVStack as VStack,\n\tDropZone,\n\tFlexItem,\n\tFocalPointPicker,\n\tMenuItem,\n\tVisuallyHidden,\n\t__experimentalItemGroup as ItemGroup,\n\t__experimentalHStack as HStack,\n\t__experimentalTruncate as Truncate,\n\tDropdown,\n\tPlaceholder,\n\tSpinner,\n\t__experimentalDropdownContentWrapper as DropdownContentWrapper,\n} from '@wordpress/components';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { getFilename } from '@wordpress/url';\nimport {\n\tuseCallback,\n\tPlatform,\n\tuseRef,\n\tuseState,\n\tuseEffect,\n\tuseMemo,\n} from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { focus } from '@wordpress/dom';\nimport { isBlobURL } from '@wordpress/blob';\n\n/**\n * Internal dependencies\n */\nimport { useToolsPanelDropdownMenuProps, getResolvedValue } from './utils';\nimport { setImmutably } from '../../utils/object';\nimport MediaReplaceFlow from '../media-replace-flow';\nimport { store as blockEditorStore } from '../../store';\n\nimport {\n\tglobalStylesDataKey,\n\tglobalStylesLinksDataKey,\n} from '../../store/private-keys';\n\nconst IMAGE_BACKGROUND_TYPE = 'image';\nconst DEFAULT_CONTROLS = {\n\tbackgroundImage: true,\n};\nconst BACKGROUND_POPOVER_PROPS = {\n\tplacement: 'left-start',\n\toffset: 36,\n\tshift: true,\n\tclassName: 'block-editor-global-styles-background-panel__popover',\n};\nconst noop = () => {};\n\n/**\n * Checks site settings to see if the background panel may be used.\n * `settings.background.backgroundSize` exists also,\n * but can only be used if settings?.background?.backgroundImage is `true`.\n *\n * @param {Object} settings Site settings\n * @return {boolean} Whether site settings has activated background panel.\n */\nexport function useHasBackgroundPanel( settings ) {\n\treturn Platform.OS === 'web' && settings?.background?.backgroundImage;\n}\n\n/**\n * Checks if there is a current value in the background size block support\n * attributes. Background size values include background size as well\n * as background position.\n *\n * @param {Object} style Style attribute.\n * @return {boolean} Whether the block has a background size value set.\n */\nexport function hasBackgroundSizeValue( style ) {\n\treturn (\n\t\tstyle?.background?.backgroundPosition !== undefined ||\n\t\tstyle?.background?.backgroundSize !== undefined\n\t);\n}\n\n/**\n * Checks if there is a current value in the background image block support\n * attributes.\n *\n * @param {Object} style Style attribute.\n * @return {boolean} Whether the block has a background image value set.\n */\nexport function hasBackgroundImageValue( style ) {\n\treturn (\n\t\t!! style?.background?.backgroundImage?.id ||\n\t\t// Supports url() string values in theme.json.\n\t\t'string' === typeof style?.background?.backgroundImage ||\n\t\t!! style?.background?.backgroundImage?.url\n\t);\n}\n\n/**\n * Get the help text for the background size control.\n *\n * @param {string} value backgroundSize value.\n * @return {string} Translated help text.\n */\nfunction backgroundSizeHelpText( value ) {\n\tif ( value === 'cover' || value === undefined ) {\n\t\treturn __( 'Image covers the space evenly.' );\n\t}\n\tif ( value === 'contain' ) {\n\t\treturn __( 'Image is contained without distortion.' );\n\t}\n\treturn __( 'Image has a fixed width.' );\n}\n\n/**\n * Converts decimal x and y coords from FocalPointPicker to percentage-based values\n * to use as backgroundPosition value.\n *\n * @param {{x?:number, y?:number}} value FocalPointPicker coords.\n * @return {string} \t\t\t\t backgroundPosition value.\n */\nexport const coordsToBackgroundPosition = ( value ) => {\n\tif ( ! value || ( isNaN( value.x ) && isNaN( value.y ) ) ) {\n\t\treturn undefined;\n\t}\n\n\tconst x = isNaN( value.x ) ? 0.5 : value.x;\n\tconst y = isNaN( value.y ) ? 0.5 : value.y;\n\n\treturn `${ x * 100 }% ${ y * 100 }%`;\n};\n\n/**\n * Converts backgroundPosition value to x and y coords for FocalPointPicker.\n *\n * @param {string} value backgroundPosition value.\n * @return {{x?:number, y?:number}} FocalPointPicker coords.\n */\nexport const backgroundPositionToCoords = ( value ) => {\n\tif ( ! value ) {\n\t\treturn { x: undefined, y: undefined };\n\t}\n\n\tlet [ x, y ] = value.split( ' ' ).map( ( v ) => parseFloat( v ) / 100 );\n\tx = isNaN( x ) ? undefined : x;\n\ty = isNaN( y ) ? x : y;\n\n\treturn { x, y };\n};\n\nfunction InspectorImagePreviewItem( {\n\tas = 'span',\n\timgUrl,\n\ttoggleProps = {},\n\tfilename,\n\tlabel,\n\tclassName,\n\tonToggleCallback = noop,\n} ) {\n\tuseEffect( () => {\n\t\tif ( typeof toggleProps?.isOpen !== 'undefined' ) {\n\t\t\tonToggleCallback( toggleProps?.isOpen );\n\t\t}\n\t}, [ toggleProps?.isOpen, onToggleCallback ] );\n\treturn (\n\t\t<ItemGroup as={ as } className={ className } { ...toggleProps }>\n\t\t\t<HStack\n\t\t\t\tjustify=\"flex-start\"\n\t\t\t\tas=\"span\"\n\t\t\t\tclassName=\"block-editor-global-styles-background-panel__inspector-preview-inner\"\n\t\t\t>\n\t\t\t\t{ imgUrl && (\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName=\"block-editor-global-styles-background-panel__inspector-image-indicator-wrapper\"\n\t\t\t\t\t\taria-hidden\n\t\t\t\t\t>\n\t\t\t\t\t\t<span\n\t\t\t\t\t\t\tclassName=\"block-editor-global-styles-background-panel__inspector-image-indicator\"\n\t\t\t\t\t\t\tstyle={ {\n\t\t\t\t\t\t\t\tbackgroundImage: `url(${ imgUrl })`,\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</span>\n\t\t\t\t) }\n\t\t\t\t<FlexItem as=\"span\" style={ imgUrl ? {} : { flexGrow: 1 } }>\n\t\t\t\t\t<Truncate\n\t\t\t\t\t\tnumberOfLines={ 1 }\n\t\t\t\t\t\tclassName=\"block-editor-global-styles-background-panel__inspector-media-replace-title\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ label }\n\t\t\t\t\t</Truncate>\n\t\t\t\t\t<VisuallyHidden as=\"span\">\n\t\t\t\t\t\t{ imgUrl\n\t\t\t\t\t\t\t? sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: %s: file name */\n\t\t\t\t\t\t\t\t\t__( 'Background image: %s' ),\n\t\t\t\t\t\t\t\t\tfilename || label\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: __( 'No background image selected' ) }\n\t\t\t\t\t</VisuallyHidden>\n\t\t\t\t</FlexItem>\n\t\t\t</HStack>\n\t\t</ItemGroup>\n\t);\n}\n\nfunction BackgroundControlsPanel( {\n\tlabel,\n\tfilename,\n\turl: imgUrl,\n\tchildren,\n\tonToggle: onToggleCallback = noop,\n\thasImageValue,\n} ) {\n\tif ( ! hasImageValue ) {\n\t\treturn;\n\t}\n\n\tconst imgLabel =\n\t\tlabel || getFilename( imgUrl ) || __( 'Add background image' );\n\n\treturn (\n\t\t<Dropdown\n\t\t\tpopoverProps={ BACKGROUND_POPOVER_PROPS }\n\t\t\trenderToggle={ ( { onToggle, isOpen } ) => {\n\t\t\t\tconst toggleProps = {\n\t\t\t\t\tonClick: onToggle,\n\t\t\t\t\tclassName:\n\t\t\t\t\t\t'block-editor-global-styles-background-panel__dropdown-toggle',\n\t\t\t\t\t'aria-expanded': isOpen,\n\t\t\t\t\t'aria-label': __(\n\t\t\t\t\t\t'Background size, position and repeat options.'\n\t\t\t\t\t),\n\t\t\t\t\tisOpen,\n\t\t\t\t};\n\t\t\t\treturn (\n\t\t\t\t\t<InspectorImagePreviewItem\n\t\t\t\t\t\timgUrl={ imgUrl }\n\t\t\t\t\t\tfilename={ filename }\n\t\t\t\t\t\tlabel={ imgLabel }\n\t\t\t\t\t\ttoggleProps={ toggleProps }\n\t\t\t\t\t\tas=\"button\"\n\t\t\t\t\t\tonToggleCallback={ onToggleCallback }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} }\n\t\t\trenderContent={ () => (\n\t\t\t\t<DropdownContentWrapper\n\t\t\t\t\tclassName=\"block-editor-global-styles-background-panel__dropdown-content-wrapper\"\n\t\t\t\t\tpaddingSize=\"medium\"\n\t\t\t\t>\n\t\t\t\t\t{ children }\n\t\t\t\t</DropdownContentWrapper>\n\t\t\t) }\n\t\t/>\n\t);\n}\n\nfunction LoadingSpinner() {\n\treturn (\n\t\t<Placeholder className=\"block-editor-global-styles-background-panel__loading\">\n\t\t\t<Spinner />\n\t\t</Placeholder>\n\t);\n}\n\nfunction BackgroundImageControls( {\n\tonChange,\n\tstyle,\n\tinheritedValue,\n\tonRemoveImage = noop,\n\tonResetImage = noop,\n\tdisplayInPanel,\n\tdefaultValues,\n} ) {\n\tconst [ isUploading, setIsUploading ] = useState( false );\n\tconst { getSettings } = useSelect( blockEditorStore );\n\n\tconst { id, title, url } = style?.background?.backgroundImage || {\n\t\t...inheritedValue?.background?.backgroundImage,\n\t};\n\tconst replaceContainerRef = useRef();\n\tconst { createErrorNotice } = useDispatch( noticesStore );\n\tconst onUploadError = ( message ) => {\n\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t\tsetIsUploading( false );\n\t};\n\n\tconst resetBackgroundImage = () =>\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tstyle,\n\t\t\t\t[ 'background', 'backgroundImage' ],\n\t\t\t\tundefined\n\t\t\t)\n\t\t);\n\n\tconst onSelectMedia = ( media ) => {\n\t\tif ( ! media || ! media.url ) {\n\t\t\tresetBackgroundImage();\n\t\t\tsetIsUploading( false );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isBlobURL( media.url ) ) {\n\t\t\tsetIsUploading( true );\n\t\t\treturn;\n\t\t}\n\n\t\t// For media selections originated from a file upload.\n\t\tif (\n\t\t\t( media.media_type &&\n\t\t\t\tmedia.media_type !== IMAGE_BACKGROUND_TYPE ) ||\n\t\t\t( ! media.media_type &&\n\t\t\t\tmedia.type &&\n\t\t\t\tmedia.type !== IMAGE_BACKGROUND_TYPE )\n\t\t) {\n\t\t\tonUploadError(\n\t\t\t\t__( 'Only images can be used as a background image.' )\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\n\t\tconst sizeValue =\n\t\t\tstyle?.background?.backgroundSize || defaultValues?.backgroundSize;\n\t\tconst positionValue = style?.background?.backgroundPosition;\n\t\tonChange(\n\t\t\tsetImmutably( style, [ 'background' ], {\n\t\t\t\t...style?.background,\n\t\t\t\tbackgroundImage: {\n\t\t\t\t\turl: media.url,\n\t\t\t\t\tid: media.id,\n\t\t\t\t\tsource: 'file',\n\t\t\t\t\ttitle: media.title || undefined,\n\t\t\t\t},\n\t\t\t\tbackgroundPosition:\n\t\t\t\t\t/*\n\t\t\t\t\t * A background image uploaded and set in the editor receives a default background position of '50% 0',\n\t\t\t\t\t * when the background image size is the equivalent of \"Tile\".\n\t\t\t\t\t * This is to increase the chance that the image's focus point is visible.\n\t\t\t\t\t * This is in-editor only to assist with the user experience.\n\t\t\t\t\t */\n\t\t\t\t\t! positionValue && ( 'auto' === sizeValue || ! sizeValue )\n\t\t\t\t\t\t? '50% 0'\n\t\t\t\t\t\t: positionValue,\n\t\t\t\tbackgroundSize: sizeValue,\n\t\t\t} )\n\t\t);\n\t\tsetIsUploading( false );\n\t};\n\n\t// Drag and drop callback, restricting image to one.\n\tconst onFilesDrop = ( filesList ) => {\n\t\tif ( filesList?.length > 1 ) {\n\t\t\tonUploadError(\n\t\t\t\t__( 'Only one image can be used as a background image.' )\n\t\t\t);\n\t\t\treturn;\n\t\t}\n\t\tgetSettings().mediaUpload( {\n\t\t\tallowedTypes: [ IMAGE_BACKGROUND_TYPE ],\n\t\t\tfilesList,\n\t\t\tonFileChange( [ image ] ) {\n\t\t\t\tonSelectMedia( image );\n\t\t\t},\n\t\t\tonError: onUploadError,\n\t\t} );\n\t};\n\n\tconst hasValue = hasBackgroundImageValue( style );\n\n\tconst closeAndFocus = () => {\n\t\tconst [ toggleButton ] = focus.tabbable.find(\n\t\t\treplaceContainerRef.current\n\t\t);\n\t\t// Focus the toggle button and close the dropdown menu.\n\t\t// This ensures similar behaviour as to selecting an image, where the dropdown is\n\t\t// closed and focus is redirected to the dropdown toggle button.\n\t\ttoggleButton?.focus();\n\t\ttoggleButton?.click();\n\t};\n\n\tconst onRemove = () =>\n\t\tonChange(\n\t\t\tsetImmutably( style, [ 'background' ], {\n\t\t\t\tbackgroundImage: 'none',\n\t\t\t} )\n\t\t);\n\tconst canRemove = ! hasValue && hasBackgroundImageValue( inheritedValue );\n\tconst imgLabel =\n\t\ttitle || getFilename( url ) || __( 'Add background image' );\n\n\treturn (\n\t\t<div\n\t\t\tref={ replaceContainerRef }\n\t\t\tclassName=\"block-editor-global-styles-background-panel__image-tools-panel-item\"\n\t\t>\n\t\t\t{ isUploading && <LoadingSpinner /> }\n\t\t\t<MediaReplaceFlow\n\t\t\t\tmediaId={ id }\n\t\t\t\tmediaURL={ url }\n\t\t\t\tallowedTypes={ [ IMAGE_BACKGROUND_TYPE ] }\n\t\t\t\taccept=\"image/*\"\n\t\t\t\tonSelect={ onSelectMedia }\n\t\t\t\tpopoverProps={ {\n\t\t\t\t\tclassName: clsx( {\n\t\t\t\t\t\t'block-editor-global-styles-background-panel__media-replace-popover':\n\t\t\t\t\t\t\tdisplayInPanel,\n\t\t\t\t\t} ),\n\t\t\t\t} }\n\t\t\t\tname={\n\t\t\t\t\t<InspectorImagePreviewItem\n\t\t\t\t\t\tclassName=\"block-editor-global-styles-background-panel__image-preview\"\n\t\t\t\t\t\timgUrl={ url }\n\t\t\t\t\t\tfilename={ title }\n\t\t\t\t\t\tlabel={ imgLabel }\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\tonError={ onUploadError }\n\t\t\t\tonReset={ () => {\n\t\t\t\t\tcloseAndFocus();\n\t\t\t\t\tonResetImage();\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ canRemove && (\n\t\t\t\t\t<MenuItem\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tcloseAndFocus();\n\t\t\t\t\t\t\tonRemove();\n\t\t\t\t\t\t\tonRemoveImage();\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Remove' ) }\n\t\t\t\t\t</MenuItem>\n\t\t\t\t) }\n\t\t\t</MediaReplaceFlow>\n\t\t\t<DropZone\n\t\t\t\tonFilesDrop={ onFilesDrop }\n\t\t\t\tlabel={ __( 'Drop to upload' ) }\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nfunction BackgroundSizeControls( {\n\tonChange,\n\tstyle,\n\tinheritedValue,\n\tdefaultValues,\n} ) {\n\tconst sizeValue =\n\t\tstyle?.background?.backgroundSize ||\n\t\tinheritedValue?.background?.backgroundSize;\n\tconst repeatValue =\n\t\tstyle?.background?.backgroundRepeat ||\n\t\tinheritedValue?.background?.backgroundRepeat;\n\tconst imageValue =\n\t\tstyle?.background?.backgroundImage?.url ||\n\t\tinheritedValue?.background?.backgroundImage?.url;\n\tconst isUploadedImage = style?.background?.backgroundImage?.id;\n\tconst positionValue =\n\t\tstyle?.background?.backgroundPosition ||\n\t\tinheritedValue?.background?.backgroundPosition;\n\tconst attachmentValue =\n\t\tstyle?.background?.backgroundAttachment ||\n\t\tinheritedValue?.background?.backgroundAttachment;\n\n\t/*\n\t * Set default values for uploaded images.\n\t * The default values are passed by the consumer.\n\t * Block-level controls may have different defaults to root-level controls.\n\t * A falsy value is treated by default as `auto` (Tile).\n\t */\n\tlet currentValueForToggle =\n\t\t! sizeValue && isUploadedImage\n\t\t\t? defaultValues?.backgroundSize\n\t\t\t: sizeValue || 'auto';\n\t/*\n\t * The incoming value could be a value + unit, e.g. '20px'.\n\t * In this case set the value to 'tile'.\n\t */\n\tcurrentValueForToggle = ! [ 'cover', 'contain', 'auto' ].includes(\n\t\tcurrentValueForToggle\n\t)\n\t\t? 'auto'\n\t\t: currentValueForToggle;\n\t/*\n\t * If the current value is `cover` and the repeat value is `undefined`, then\n\t * the toggle should be unchecked as the default state. Otherwise, the toggle\n\t * should reflect the current repeat value.\n\t */\n\tconst repeatCheckedValue = ! (\n\t\trepeatValue === 'no-repeat' ||\n\t\t( currentValueForToggle === 'cover' && repeatValue === undefined )\n\t);\n\n\tconst updateBackgroundSize = ( next ) => {\n\t\t// When switching to 'contain' toggle the repeat off.\n\t\tlet nextRepeat = repeatValue;\n\t\tlet nextPosition = positionValue;\n\n\t\tif ( next === 'contain' ) {\n\t\t\tnextRepeat = 'no-repeat';\n\t\t\tnextPosition = undefined;\n\t\t}\n\n\t\tif ( next === 'cover' ) {\n\t\t\tnextRepeat = undefined;\n\t\t\tnextPosition = undefined;\n\t\t}\n\n\t\tif (\n\t\t\t( currentValueForToggle === 'cover' ||\n\t\t\t\tcurrentValueForToggle === 'contain' ) &&\n\t\t\tnext === 'auto'\n\t\t) {\n\t\t\tnextRepeat = undefined;\n\t\t\t/*\n\t\t\t * A background image uploaded and set in the editor (an image with a record id),\n\t\t\t * receives a default background position of '50% 0',\n\t\t\t * when the toggle switches to \"Tile\". This is to increase the chance that\n\t\t\t * the image's focus point is visible.\n\t\t\t * This is in-editor only to assist with the user experience.\n\t\t\t */\n\t\t\tif ( !! style?.background?.backgroundImage?.id ) {\n\t\t\t\tnextPosition = '50% 0';\n\t\t\t}\n\t\t}\n\n\t\t/*\n\t\t * Next will be null when the input is cleared,\n\t\t * in which case the value should be 'auto'.\n\t\t */\n\t\tif ( ! next && currentValueForToggle === 'auto' ) {\n\t\t\tnext = 'auto';\n\t\t}\n\n\t\tonChange(\n\t\t\tsetImmutably( style, [ 'background' ], {\n\t\t\t\t...style?.background,\n\t\t\t\tbackgroundPosition: nextPosition,\n\t\t\t\tbackgroundRepeat: nextRepeat,\n\t\t\t\tbackgroundSize: next,\n\t\t\t} )\n\t\t);\n\t};\n\n\tconst updateBackgroundPosition = ( next ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tstyle,\n\t\t\t\t[ 'background', 'backgroundPosition' ],\n\t\t\t\tcoordsToBackgroundPosition( next )\n\t\t\t)\n\t\t);\n\t};\n\n\tconst toggleIsRepeated = () =>\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tstyle,\n\t\t\t\t[ 'background', 'backgroundRepeat' ],\n\t\t\t\trepeatCheckedValue === true ? 'no-repeat' : 'repeat'\n\t\t\t)\n\t\t);\n\n\tconst toggleScrollWithPage = () =>\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tstyle,\n\t\t\t\t[ 'background', 'backgroundAttachment' ],\n\t\t\t\tattachmentValue === 'fixed' ? 'scroll' : 'fixed'\n\t\t\t)\n\t\t);\n\n\t// Set a default background position for non-site-wide, uploaded images with a size of 'contain'.\n\tconst backgroundPositionValue =\n\t\t! positionValue && isUploadedImage && 'contain' === sizeValue\n\t\t\t? defaultValues?.backgroundPosition\n\t\t\t: positionValue;\n\n\treturn (\n\t\t<VStack spacing={ 3 } className=\"single-column\">\n\t\t\t<FocalPointPicker\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Focal point' ) }\n\t\t\t\turl={ imageValue }\n\t\t\t\tvalue={ backgroundPositionToCoords( backgroundPositionValue ) }\n\t\t\t\tonChange={ updateBackgroundPosition }\n\t\t\t/>\n\t\t\t<ToggleControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Fixed background' ) }\n\t\t\t\tchecked={ attachmentValue === 'fixed' }\n\t\t\t\tonChange={ toggleScrollWithPage }\n\t\t\t/>\n\t\t\t<ToggleGroupControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\tlabel={ __( 'Size' ) }\n\t\t\t\tvalue={ currentValueForToggle }\n\t\t\t\tonChange={ updateBackgroundSize }\n\t\t\t\tisBlock\n\t\t\t\thelp={ backgroundSizeHelpText(\n\t\t\t\t\tsizeValue || defaultValues?.backgroundSize\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\tkey=\"cover\"\n\t\t\t\t\tvalue=\"cover\"\n\t\t\t\t\tlabel={ _x(\n\t\t\t\t\t\t'Cover',\n\t\t\t\t\t\t'Size option for background image control'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\tkey=\"contain\"\n\t\t\t\t\tvalue=\"contain\"\n\t\t\t\t\tlabel={ _x(\n\t\t\t\t\t\t'Contain',\n\t\t\t\t\t\t'Size option for background image control'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\tkey=\"tile\"\n\t\t\t\t\tvalue=\"auto\"\n\t\t\t\t\tlabel={ _x(\n\t\t\t\t\t\t'Tile',\n\t\t\t\t\t\t'Size option for background image control'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</ToggleGroupControl>\n\t\t\t<HStack justify=\"flex-start\" spacing={ 2 } as=\"span\">\n\t\t\t\t<UnitControl\n\t\t\t\t\taria-label={ __( 'Background image width' ) }\n\t\t\t\t\tonChange={ updateBackgroundSize }\n\t\t\t\t\tvalue={ sizeValue }\n\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t__unstableInputWidth=\"100px\"\n\t\t\t\t\tmin={ 0 }\n\t\t\t\t\tplaceholder={ __( 'Auto' ) }\n\t\t\t\t\tdisabled={\n\t\t\t\t\t\tcurrentValueForToggle !== 'auto' ||\n\t\t\t\t\t\tcurrentValueForToggle === undefined\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<ToggleControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Repeat' ) }\n\t\t\t\t\tchecked={ repeatCheckedValue }\n\t\t\t\t\tonChange={ toggleIsRepeated }\n\t\t\t\t\tdisabled={ currentValueForToggle === 'cover' }\n\t\t\t\t/>\n\t\t\t</HStack>\n\t\t</VStack>\n\t);\n}\n\nfunction BackgroundToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n\theaderLabel,\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={ headerLabel }\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\nexport default function BackgroundPanel( {\n\tas: Wrapper = BackgroundToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tdefaultControls = DEFAULT_CONTROLS,\n\tdefaultValues = {},\n\theaderLabel = __( 'Background image' ),\n} ) {\n\t/*\n\t * Resolve any inherited \"ref\" pointers.\n\t * Should the block editor need resolved, inherited values\n\t * across all controls, this could be abstracted into a hook,\n\t * e.g., useResolveGlobalStyle\n\t */\n\tconst { globalStyles, _links } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\tconst _settings = getSettings();\n\t\treturn {\n\t\t\tglobalStyles: _settings[ globalStylesDataKey ],\n\t\t\t_links: _settings[ globalStylesLinksDataKey ],\n\t\t};\n\t}, [] );\n\tconst resolvedInheritedValue = useMemo( () => {\n\t\tconst resolvedValues = {\n\t\t\tbackground: {},\n\t\t};\n\n\t\tif ( ! inheritedValue?.background ) {\n\t\t\treturn inheritedValue;\n\t\t}\n\n\t\tObject.entries( inheritedValue?.background ).forEach(\n\t\t\t( [ key, backgroundValue ] ) => {\n\t\t\t\tresolvedValues.background[ key ] = getResolvedValue(\n\t\t\t\t\tbackgroundValue,\n\t\t\t\t\t{\n\t\t\t\t\t\tstyles: globalStyles,\n\t\t\t\t\t\t_links,\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\t\treturn resolvedValues;\n\t}, [ globalStyles, _links, inheritedValue ] );\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\tbackground: {},\n\t\t};\n\t}, [] );\n\n\tconst resetBackground = () =>\n\t\tonChange( setImmutably( value, [ 'background' ], {} ) );\n\n\tconst { title, url } = value?.background?.backgroundImage || {\n\t\t...resolvedInheritedValue?.background?.backgroundImage,\n\t};\n\tconst hasImageValue =\n\t\thasBackgroundImageValue( value ) ||\n\t\thasBackgroundImageValue( resolvedInheritedValue );\n\n\tconst imageValue =\n\t\tvalue?.background?.backgroundImage ||\n\t\tinheritedValue?.background?.backgroundImage;\n\n\tconst shouldShowBackgroundImageControls =\n\t\thasImageValue &&\n\t\t'none' !== imageValue &&\n\t\t( settings?.background?.backgroundSize ||\n\t\t\tsettings?.background?.backgroundPosition ||\n\t\t\tsettings?.background?.backgroundRepeat );\n\n\tconst [ isDropDownOpen, setIsDropDownOpen ] = useState( 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\theaderLabel={ headerLabel }\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName={ clsx(\n\t\t\t\t\t'block-editor-global-styles-background-panel__inspector-media-replace-container',\n\t\t\t\t\t{\n\t\t\t\t\t\t'is-open': isDropDownOpen,\n\t\t\t\t\t}\n\t\t\t\t) }\n\t\t\t>\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! value?.background }\n\t\t\t\t\tlabel={ __( 'Image' ) }\n\t\t\t\t\tonDeselect={ resetBackground }\n\t\t\t\t\tisShownByDefault={ defaultControls.backgroundImage }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t{ shouldShowBackgroundImageControls ? (\n\t\t\t\t\t\t<BackgroundControlsPanel\n\t\t\t\t\t\t\tlabel={ title }\n\t\t\t\t\t\t\tfilename={ title }\n\t\t\t\t\t\t\turl={ url }\n\t\t\t\t\t\t\tonToggle={ setIsDropDownOpen }\n\t\t\t\t\t\t\thasImageValue={ hasImageValue }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<VStack spacing={ 3 } className=\"single-column\">\n\t\t\t\t\t\t\t\t<BackgroundImageControls\n\t\t\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\t\t\tstyle={ value }\n\t\t\t\t\t\t\t\t\tinheritedValue={ resolvedInheritedValue }\n\t\t\t\t\t\t\t\t\tdisplayInPanel\n\t\t\t\t\t\t\t\t\tonResetImage={ () => {\n\t\t\t\t\t\t\t\t\t\tsetIsDropDownOpen( false );\n\t\t\t\t\t\t\t\t\t\tresetBackground();\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tonRemoveImage={ () =>\n\t\t\t\t\t\t\t\t\t\tsetIsDropDownOpen( false )\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tdefaultValues={ defaultValues }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t<BackgroundSizeControls\n\t\t\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t\t\t\t\t\tstyle={ value }\n\t\t\t\t\t\t\t\t\tdefaultValues={ defaultValues }\n\t\t\t\t\t\t\t\t\tinheritedValue={ resolvedInheritedValue }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t</BackgroundControlsPanel>\n\t\t\t\t\t) : (\n\t\t\t\t\t\t<BackgroundImageControls\n\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\tstyle={ value }\n\t\t\t\t\t\t\tinheritedValue={ resolvedInheritedValue }\n\t\t\t\t\t\t\tdefaultValues={ defaultValues }\n\t\t\t\t\t\t\tonResetImage={ () => {\n\t\t\t\t\t\t\t\tsetIsDropDownOpen( false );\n\t\t\t\t\t\t\t\tresetBackground();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonRemoveImage={ () => setIsDropDownOpen( false ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsPanelItem>\n\t\t\t</div>\n\t\t</Wrapper>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","useCallback","Platform","BackgroundImageControl","useToolsPanelDropdownMenuProps","setImmutably","__","jsx","_jsx","DEFAULT_CONTROLS","backgroundImage","useHasBackgroundPanel","settings","OS","background","hasBackgroundSizeValue","style","backgroundPosition","undefined","backgroundSize","hasBackgroundImageValue","id","url","BackgroundToolsPanel","resetAllFilter","onChange","value","panelId","children","headerLabel","dropdownMenuProps","resetAll","updatedValue","label","BackgroundImagePanel","as","Wrapper","inheritedValue","defaultControls","defaultValues","showBackgroundImageControl","resetBackground","previousValue","hasValue","onDeselect","isShownByDefault"],"sources":["@wordpress/block-editor/src/components/global-styles/background-panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { useCallback, Platform } from '@wordpress/element';\n/**\n * Internal dependencies\n */\nimport BackgroundImageControl from '../background-image-control';\nimport { useToolsPanelDropdownMenuProps } from './utils';\nimport { setImmutably } from '../../utils/object';\nimport { __ } from '@wordpress/i18n';\n\nconst DEFAULT_CONTROLS = {\n\tbackgroundImage: true,\n};\n\n/**\n * Checks site settings to see if the background panel may be used.\n * `settings.background.backgroundSize` exists also,\n * but can only be used if settings?.background?.backgroundImage is `true`.\n *\n * @param {Object} settings Site settings\n * @return {boolean} Whether site settings has activated background panel.\n */\nexport function useHasBackgroundPanel( settings ) {\n\treturn Platform.OS === 'web' && settings?.background?.backgroundImage;\n}\n\n/**\n * Checks if there is a current value in the background size block support\n * attributes. Background size values include background size as well\n * as background position.\n *\n * @param {Object} style Style attribute.\n * @return {boolean} Whether the block has a background size value set.\n */\nexport function hasBackgroundSizeValue( style ) {\n\treturn (\n\t\tstyle?.background?.backgroundPosition !== undefined ||\n\t\tstyle?.background?.backgroundSize !== undefined\n\t);\n}\n\n/**\n * Checks if there is a current value in the background image block support\n * attributes.\n *\n * @param {Object} style Style attribute.\n * @return {boolean} Whether the block has a background image value set.\n */\nexport function hasBackgroundImageValue( style ) {\n\treturn (\n\t\t!! style?.background?.backgroundImage?.id ||\n\t\t// Supports url() string values in theme.json.\n\t\t'string' === typeof style?.background?.backgroundImage ||\n\t\t!! style?.background?.backgroundImage?.url\n\t);\n}\n\nfunction BackgroundToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n\theaderLabel,\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={ headerLabel }\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\nexport default function BackgroundImagePanel( {\n\tas: Wrapper = BackgroundToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue,\n\tsettings,\n\tpanelId,\n\tdefaultControls = DEFAULT_CONTROLS,\n\tdefaultValues = {},\n\theaderLabel = __( 'Background image' ),\n} ) {\n\tconst showBackgroundImageControl = useHasBackgroundPanel( settings );\n\tconst resetBackground = () =>\n\t\tonChange( setImmutably( value, [ 'background' ], {} ) );\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\tbackground: {},\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\theaderLabel={ headerLabel }\n\t\t>\n\t\t\t{ showBackgroundImageControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ () => !! value?.background }\n\t\t\t\t\tlabel={ __( 'Image' ) }\n\t\t\t\t\tonDeselect={ resetBackground }\n\t\t\t\t\tisShownByDefault={ defaultControls.backgroundImage }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<BackgroundImageControl\n\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t\tinheritedValue={ inheritedValue }\n\t\t\t\t\t\tdefaultControls={ defaultControls }\n\t\t\t\t\t\tdefaultValues={ defaultValues }\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":[]}
|
|
@@ -409,6 +409,7 @@ export default function DimensionsPanel({
|
|
|
409
409
|
}),
|
|
410
410
|
panelId: panelId,
|
|
411
411
|
children: [!showSpacingPresetsControl && /*#__PURE__*/_jsx(BoxControl, {
|
|
412
|
+
__next40pxDefaultSize: true,
|
|
412
413
|
values: paddingValues,
|
|
413
414
|
onChange: setPaddingValues,
|
|
414
415
|
label: __('Padding'),
|
|
@@ -438,6 +439,7 @@ export default function DimensionsPanel({
|
|
|
438
439
|
}),
|
|
439
440
|
panelId: panelId,
|
|
440
441
|
children: [!showSpacingPresetsControl && /*#__PURE__*/_jsx(BoxControl, {
|
|
442
|
+
__next40pxDefaultSize: true,
|
|
441
443
|
values: marginValues,
|
|
442
444
|
onChange: setMarginValues,
|
|
443
445
|
inputProps: inputProps,
|
|
@@ -472,6 +474,7 @@ export default function DimensionsPanel({
|
|
|
472
474
|
}),
|
|
473
475
|
panelId: panelId,
|
|
474
476
|
children: [!showSpacingPresetsControl && (isAxialGap ? /*#__PURE__*/_jsx(BoxControl, {
|
|
477
|
+
__next40pxDefaultSize: true,
|
|
475
478
|
label: __('Block spacing'),
|
|
476
479
|
min: 0,
|
|
477
480
|
onChange: setGapValues,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["clsx","__","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__experimentalBoxControl","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","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","gapValue","gapValues","gapSides","isAxialGap","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","inputProps","min","onDragStart","onDragEnd","className","hasValue","onDeselect","isShownByDefault","__next40pxDefaultSize","labelPosition","nextContentSize","prefix","variant","icon","nextWideSize","allowReset","splitOnAxis","onMouseOver","onMouseOut","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\t__experimentalBoxControl as BoxControl,\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 ) {\n\t// Check for shorthand value (a string value).\n\tif ( value && typeof value === 'string' ) {\n\t\t// If the value is a string, treat it as a single side (top) for the spacing controls.\n\t\treturn {\n\t\t\ttop: value,\n\t\t};\n\t}\n\n\tif ( value ) {\n\t\treturn {\n\t\t\t...value,\n\t\t\tright: value?.left,\n\t\t\tbottom: value?.top,\n\t\t};\n\t}\n\n\treturn value;\n}\n\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 gapValue = decodeValue( inheritedValue?.spacing?.blockGap );\n\tconst gapValues = splitGapValue( gapValue );\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 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\tconst inputProps = {\n\t\tmin: minMarginValue,\n\t\tonDragStart: () => {\n\t\t\t//Reset to 0 in case the value was negative.\n\t\t\tsetMinMarginValue( 0 );\n\t\t},\n\t\tonDragEnd: () => {\n\t\t\tsetMinMarginValue( minimumMargin );\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{ ( 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\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\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\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\tvalues={ marginValues }\n\t\t\t\t\t\t\tonChange={ setMarginValues }\n\t\t\t\t\t\t\tinputProps={ inputProps }\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\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\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\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,wBAAwB,IAAIC,UAAU,EACtCC,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;AAAA,SAAAC,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,EAAG;EAC/B;EACA,IAAKA,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAG;IACzC;IACA,OAAO;MACNL,GAAG,EAAEK;IACN,CAAC;EACF;EAEA,IAAKA,KAAK,EAAG;IACZ,OAAO;MACN,GAAGA,KAAK;MACRF,KAAK,EAAEE,KAAK,EAAEH,IAAI;MAClBD,MAAM,EAAEI,KAAK,EAAEL;IAChB,CAAC;EACF;EAEA,OAAOK,KAAK;AACb;AAEA,SAASE,oBAAoBA,CAAE;EAC9BC,cAAc;EACdC,QAAQ;EACRJ,KAAK;EACLK,OAAO;EACPC;AACD,CAAC,EAAG;EACH,MAAMC,iBAAiB,GAAGzE,8BAA8B,CAAC,CAAC;EAC1D,MAAM0E,QAAQ,GAAGA,CAAA,KAAM;IACtB,MAAMC,YAAY,GAAGN,cAAc,CAAEH,KAAM,CAAC;IAC5CI,QAAQ,CAAEK,YAAa,CAAC;EACzB,CAAC;EAED,oBACCnE,IAAA,CAAC1B,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;EACxB7C,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;EACjBsC,WAAW,EAAE;AACd,CAAC;AAED,eAAe,SAASC,eAAeA,CAAE;EACxCC,EAAE,EAAEC,OAAO,GAAGb,oBAAoB;EAClCF,KAAK;EACLI,QAAQ;EACRY,cAAc,GAAGhB,KAAK;EACtBrD,QAAQ;EACR0D,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;IAAEvD,UAAU;IAAEJ;EAAQ,CAAC,GAAGrB,QAAQ;EAExC,MAAMiF,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,GAAGrG,oBAAoB,CAChC;UAAEc,QAAQ,EAAE;YAAEyB,UAAU;YAAEJ;UAAQ;QAAE,CAAC,EACrC,EAAE,EACF6D,QAAQ,CAAEK,GAAG,CACd,CAAC;QACD,OAAOD,GAAG;MACX,CAAC,EAAE,CAAC,CAAE,CAAC;IACR;IACA,OAAOpG,oBAAoB,CAC1B;MAAEc,QAAQ,EAAE;QAAEyB,UAAU;QAAEJ;MAAQ;IAAE,CAAC,EACrC,EAAE,EACF6D,QACD,CAAC;EACF,CAAC;EAED,MAAMM,yBAAyB,GAAGpD,oBAAoB,CAAEpC,QAAS,CAAC;EAClE,MAAMyF,KAAK,GAAGhH,cAAc,CAAE;IAC7BiH,cAAc,EAAE1F,QAAQ,EAAEqB,OAAO,EAAEoE,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,GAAG9G,QAAQ,CAAE2G,aAAc,CAAC;;EAEvE;EACA,MAAMI,sBAAsB,GAC3B7F,iBAAiB,CAAEF,QAAS,CAAC,IAAIwE,qBAAqB;EACvD,MAAMwB,gBAAgB,GAAGf,WAAW,CAAEZ,cAAc,EAAEnD,MAAM,EAAEC,WAAY,CAAC;EAC3E,MAAM8E,mBAAmB,GAAKC,QAAQ,IAAM;IAC3CzC,QAAQ,CACPhE,YAAY,CACX4D,KAAK,EACL,CAAE,QAAQ,EAAE,aAAa,CAAE,EAC3B6C,QAAQ,IAAIC,SACb,CACD,CAAC;EACF,CAAC;EACD,MAAMC,0BAA0B,GAAGA,CAAA,KAAM,CAAC,CAAE/C,KAAK,EAAEnC,MAAM,EAAEC,WAAW;EACtE,MAAMkF,qBAAqB,GAAGA,CAAA,KAAMJ,mBAAmB,CAAEE,SAAU,CAAC;;EAEpE;EACA,MAAMG,mBAAmB,GACxBlG,cAAc,CAAEJ,QAAS,CAAC,IAAIwE,qBAAqB;EACpD,MAAM+B,aAAa,GAAGtB,WAAW,CAAEZ,cAAc,EAAEnD,MAAM,EAAEE,QAAS,CAAC;EACrE,MAAMoF,gBAAgB,GAAKN,QAAQ,IAAM;IACxCzC,QAAQ,CACPhE,YAAY,CACX4D,KAAK,EACL,CAAE,QAAQ,EAAE,UAAU,CAAE,EACxB6C,QAAQ,IAAIC,SACb,CACD,CAAC;EACF,CAAC;EACD,MAAMM,uBAAuB,GAAGA,CAAA,KAAM,CAAC,CAAEpD,KAAK,EAAEnC,MAAM,EAAEE,QAAQ;EAChE,MAAMsF,kBAAkB,GAAGA,CAAA,KAAMF,gBAAgB,CAAEL,SAAU,CAAC;;EAE9D;EACA,MAAMQ,kBAAkB,GAAGrG,aAAa,CAAEN,QAAS,CAAC;EACpD,MAAM4G,UAAU,GAAG3B,WAAW,CAAEZ,cAAc,EAAEhD,OAAO,EAAEC,OAAQ,CAAC;EAClE,MAAMuF,aAAa,GAAGzD,eAAe,CAAEwD,UAAW,CAAC;EACnD,MAAME,YAAY,GAAGC,KAAK,CAACC,OAAO,CAAEhH,QAAQ,EAAEqB,OAAO,EAAEC,OAAQ,CAAC,GAC7DtB,QAAQ,EAAEqB,OAAO,EAAEC,OAAO,GAC1BtB,QAAQ,EAAEqB,OAAO,EAAEC,OAAO,EAAEsB,KAAK;EACpC,MAAMqE,cAAc,GACnBH,YAAY,IACZA,YAAY,CAACI,IAAI,CAAInE,IAAI,IAAMjD,WAAW,CAACqH,QAAQ,CAAEpE,IAAK,CAAE,CAAC;EAC9D,MAAMqE,gBAAgB,GAAKC,gBAAgB,IAAM;IAChD,MAAM/F,OAAO,GAAGoB,mBAAmB,CAAE2E,gBAAgB,EAAEP,YAAa,CAAC;IACrErD,QAAQ,CAAEhE,YAAY,CAAE4D,KAAK,EAAE,CAAE,SAAS,EAAE,SAAS,CAAE,EAAE/B,OAAQ,CAAE,CAAC;EACrE,CAAC;EACD,MAAMgG,eAAe,GAAGA,CAAA,KACvB,CAAC,CAAEjE,KAAK,EAAEhC,OAAO,EAAEC,OAAO,IAC1B6D,MAAM,CAACC,IAAI,CAAE/B,KAAK,EAAEhC,OAAO,EAAEC,OAAQ,CAAC,CAACiB,MAAM;EAC9C,MAAMgF,iBAAiB,GAAGA,CAAA,KAAMH,gBAAgB,CAAEjB,SAAU,CAAC;EAC7D,MAAMqB,kBAAkB,GAAGA,CAAA,KAAMjD,WAAW,CAAE,SAAU,CAAC;;EAEzD;EACA,MAAMkD,iBAAiB,GAAGjH,YAAY,CAAER,QAAS,CAAC;EAClD,MAAM0H,SAAS,GAAGzC,WAAW,CAAEZ,cAAc,EAAEhD,OAAO,EAAEE,MAAO,CAAC;EAChE,MAAMoG,YAAY,GAAGvE,eAAe,CAAEsE,SAAU,CAAC;EACjD,MAAME,WAAW,GAAGb,KAAK,CAACC,OAAO,CAAEhH,QAAQ,EAAEqB,OAAO,EAAEE,MAAO,CAAC,GAC3DvB,QAAQ,EAAEqB,OAAO,EAAEE,MAAM,GACzBvB,QAAQ,EAAEqB,OAAO,EAAEE,MAAM,EAAEqB,KAAK;EACnC,MAAMiF,aAAa,GAClBD,WAAW,IACXA,WAAW,CAACV,IAAI,CAAInE,IAAI,IAAMjD,WAAW,CAACqH,QAAQ,CAAEpE,IAAK,CAAE,CAAC;EAC7D,MAAM+E,eAAe,GAAKC,eAAe,IAAM;IAC9C,MAAMxG,MAAM,GAAGmB,mBAAmB,CAAEqF,eAAe,EAAEH,WAAY,CAAC;IAClEnE,QAAQ,CAAEhE,YAAY,CAAE4D,KAAK,EAAE,CAAE,SAAS,EAAE,QAAQ,CAAE,EAAE9B,MAAO,CAAE,CAAC;EACnE,CAAC;EACD,MAAMyG,cAAc,GAAGA,CAAA,KACtB,CAAC,CAAE3E,KAAK,EAAEhC,OAAO,EAAEE,MAAM,IACzB4D,MAAM,CAACC,IAAI,CAAE/B,KAAK,EAAEhC,OAAO,EAAEE,MAAO,CAAC,CAACgB,MAAM;EAC7C,MAAM0F,gBAAgB,GAAGA,CAAA,KAAMH,eAAe,CAAE3B,SAAU,CAAC;EAC3D,MAAM+B,iBAAiB,GAAGA,CAAA,KAAM3D,WAAW,CAAE,QAAS,CAAC;;EAEvD;EACA,MAAM4D,cAAc,GAAGzH,SAAS,CAAEV,QAAS,CAAC;EAC5C,MAAMoI,QAAQ,GAAGnD,WAAW,CAAEZ,cAAc,EAAEhD,OAAO,EAAEG,QAAS,CAAC;EACjE,MAAM6G,SAAS,GAAG/E,aAAa,CAAE8E,QAAS,CAAC;EAC3C,MAAME,QAAQ,GAAGvB,KAAK,CAACC,OAAO,CAAEhH,QAAQ,EAAEqB,OAAO,EAAEG,QAAS,CAAC,GAC1DxB,QAAQ,EAAEqB,OAAO,EAAEG,QAAQ,GAC3BxB,QAAQ,EAAEqB,OAAO,EAAEG,QAAQ,EAAEoB,KAAK;EACrC,MAAM2F,UAAU,GACfD,QAAQ,IAAIA,QAAQ,CAACpB,IAAI,CAAInE,IAAI,IAAMjD,WAAW,CAACqH,QAAQ,CAAEpE,IAAK,CAAE,CAAC;EACtE,MAAMyF,WAAW,GAAKC,WAAW,IAAM;IACtChF,QAAQ,CACPhE,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,CAAED,UAAU,IAAII,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,CAAErC,SAAU,CAAC;EACpD,MAAM2C,WAAW,GAAGA,CAAA,KAAM,CAAC,CAAEzF,KAAK,EAAEhC,OAAO,EAAEG,QAAQ;;EAErD;EACA,MAAMuH,oBAAoB,GAAGnI,eAAe,CAAEZ,QAAS,CAAC;EACxD,MAAMgJ,cAAc,GAAG/D,WAAW,CAAEZ,cAAc,EAAE5C,UAAU,EAAEC,SAAU,CAAC;EAC3E,MAAMuH,iBAAiB,GAAK/C,QAAQ,IAAM;IACzC,MAAMgD,SAAS,GAAGzJ,YAAY,CAC7B4D,KAAK,EACL,CAAE,YAAY,EAAE,WAAW,CAAE,EAC7B6C,QACD,CAAC;IACD;IACAzC,QAAQ,CACPhE,YAAY,CACXyJ,SAAS,EACT,CAAE,YAAY,EAAE,aAAa,CAAE,EAC/B/C,SACD,CACD,CAAC;EACF,CAAC;EACD,MAAMgD,mBAAmB,GAAGA,CAAA,KAAM;IACjCF,iBAAiB,CAAE9C,SAAU,CAAC;EAC/B,CAAC;EACD,MAAMiD,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,GAAGrE,WAAW,CACnCZ,cAAc,EAAE5C,UAAU,EAAEE,WAC7B,CAAC;EACD,MAAM4H,mBAAmB,GAAKrD,QAAQ,IAAM;IAC3C,MAAMgD,SAAS,GAAGzJ,YAAY,CAC7B4D,KAAK,EACL,CAAE,YAAY,EAAE,aAAa,CAAE,EAC/B6C,QACD,CAAC;IACD;IACAzC,QAAQ,CACPhE,YAAY,CAAEyJ,SAAS,EAAE,CAAE,YAAY,EAAE,WAAW,CAAE,EAAE/C,SAAU,CACnE,CAAC;EACF,CAAC;EACD,MAAMqD,mBAAmB,GAAGA,CAAA,KAAM,CAAC,CAAEnG,KAAK,EAAE5B,UAAU,EAAEE,WAAW;;EAEnE;EACA,MAAM8H,sBAAsB,GAAGzI,iBAAiB,CAAEhB,QAAS,CAAC;EAC5D,MAAMiE,WAAW,GAAGI,cAAc,EAAEnD,MAAM;EAE1C,MAAMwI,cAAc,GAAKC,cAAc,IAAM;IAC5ClG,QAAQ,CAAE;MACT,GAAGJ,KAAK;MACRnC,MAAM,EAAE;QACP,GAAGyI;MACJ;IACD,CAAE,CAAC;EACJ,CAAC;EAED,MAAMnG,cAAc,GAAGzE,WAAW,CAAI6K,aAAa,IAAM;IACxD,OAAO;MACN,GAAGA,aAAa;MAChB1I,MAAM,EAAE1B,gBAAgB,CAAE;QACzB,GAAGoK,aAAa,EAAE1I,MAAM;QACxBC,WAAW,EAAEgF,SAAS;QACtB/E,QAAQ,EAAE+E,SAAS;QACnB0D,WAAW,EAAE1D,SAAS;QACtB2D,QAAQ,EAAE3D,SAAS;QACnB4D,WAAW,EAAE5D,SAAS;QACtB6D,QAAQ,EAAE7D,SAAS;QACnB8D,UAAU,EAAE9D,SAAS;QACrB+D,OAAO,EAAE/D;MACV,CAAE,CAAC;MACH9E,OAAO,EAAE;QACR,GAAGuI,aAAa,EAAEvI,OAAO;QACzBC,OAAO,EAAE6E,SAAS;QAClB5E,MAAM,EAAE4E,SAAS;QACjB3E,QAAQ,EAAE2E;MACX,CAAC;MACD1E,UAAU,EAAE;QACX,GAAGmI,aAAa,EAAEnI,UAAU;QAC5BC,SAAS,EAAEyE,SAAS;QACpBxE,WAAW,EAAEwE;MACd;IACD,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,MAAMgE,oBAAoB,GAAGA,CAAA,KAAM5F,WAAW,CAAE,KAAM,CAAC;EAEvD,MAAM6F,UAAU,GAAG;IAClBC,GAAG,EAAExE,cAAc;IACnByE,WAAW,EAAEA,CAAA,KAAM;MAClB;MACAxE,iBAAiB,CAAE,CAAE,CAAC;IACvB,CAAC;IACDyE,SAAS,EAAEA,CAAA,KAAM;MAChBzE,iBAAiB,CAAEH,aAAc,CAAC;IACnC;EACD,CAAC;EAED,oBACC9F,KAAA,CAACuE,OAAO;IACPZ,cAAc,EAAGA,cAAgB;IACjCH,KAAK,EAAGA,KAAO;IACfI,QAAQ,EAAGA,QAAU;IACrBC,OAAO,EAAGA,OAAS;IAAAC,QAAA,GAEjB,CAAEoC,sBAAsB,IAAIO,mBAAmB,kBAChD3G,IAAA;MAAM6K,SAAS,EAAC,cAAc;MAAA7G,QAAA,EAC3B5F,EAAE,CAAE,yCAA0C;IAAC,CAC5C,CACN,EACCgI,sBAAsB,iBACvBpG,IAAA,CAACxB,cAAc;MACd4F,KAAK,EAAGhG,EAAE,CAAE,eAAgB,CAAG;MAC/B0M,QAAQ,EAAGrE,0BAA4B;MACvCsE,UAAU,EAAGrE,qBAAuB;MACpCsE,gBAAgB,GAAAlG,qBAAA,GACfH,eAAe,CAACnD,WAAW,cAAAsD,qBAAA,cAAAA,qBAAA,GAC3BT,gBAAgB,CAAC7C,WACjB;MACDuC,OAAO,EAAGA,OAAS;MAAAC,QAAA,eAEnBhE,IAAA,CAACpB,WAAW;QACXqM,qBAAqB;QACrB7G,KAAK,EAAGhG,EAAE,CAAE,eAAgB,CAAG;QAC/B8M,aAAa,EAAC,KAAK;QACnBxH,KAAK,EAAG2C,gBAAgB,IAAI,EAAI;QAChCvC,QAAQ,EAAKqH,eAAe,IAAM;UACjC7E,mBAAmB,CAAE6E,eAAgB,CAAC;QACvC,CAAG;QACHrF,KAAK,EAAGA,KAAO;QACfsF,MAAM,eACLpL,IAAA,CAAChB,yBAAyB;UAACqM,OAAO,EAAC,MAAM;UAAArH,QAAA,eACxChE,IAAA,CAACf,IAAI;YAACqM,IAAI,EAAGpM;UAAW,CAAE;QAAC,CACD;MAC3B,CACD;IAAC,CACa,CAChB,EACCyH,mBAAmB,iBACpB3G,IAAA,CAACxB,cAAc;MACd4F,KAAK,EAAGhG,EAAE,CAAE,YAAa,CAAG;MAC5B0M,QAAQ,EAAGhE,uBAAyB;MACpCiE,UAAU,EAAGhE,kBAAoB;MACjCiE,gBAAgB,GAAAjG,qBAAA,GACfJ,eAAe,CAAClD,QAAQ,cAAAsD,qBAAA,cAAAA,qBAAA,GAAIV,gBAAgB,CAAC5C,QAC7C;MACDsC,OAAO,EAAGA,OAAS;MAAAC,QAAA,eAEnBhE,IAAA,CAACpB,WAAW;QACXqM,qBAAqB;QACrB7G,KAAK,EAAGhG,EAAE,CAAE,YAAa,CAAG;QAC5B8M,aAAa,EAAC,KAAK;QACnBxH,KAAK,EAAGkD,aAAa,IAAI,EAAI;QAC7B9C,QAAQ,EAAKyH,YAAY,IAAM;UAC9B1E,gBAAgB,CAAE0E,YAAa,CAAC;QACjC,CAAG;QACHzF,KAAK,EAAGA,KAAO;QACfsF,MAAM,eACLpL,IAAA,CAAChB,yBAAyB;UAACqM,OAAO,EAAC,MAAM;UAAArH,QAAA,eACxChE,IAAA,CAACf,IAAI;YAACqM,IAAI,EAAGnM;UAAa,CAAE;QAAC,CACH;MAC3B,CACD;IAAC,CACa,CAChB,EACC6H,kBAAkB,iBACnB9G,KAAA,CAAC1B,cAAc;MACdsM,QAAQ,EAAGnD,eAAiB;MAC5BvD,KAAK,EAAGhG,EAAE,CAAE,SAAU,CAAG;MACzB2M,UAAU,EAAGnD,iBAAmB;MAChCoD,gBAAgB,GAAAhG,qBAAA,GACfL,eAAe,CAAChD,OAAO,cAAAqD,qBAAA,cAAAA,qBAAA,GAAIX,gBAAgB,CAAC1C,OAC5C;MACDkJ,SAAS,EAAG1M,IAAI,CAAE;QACjB,0BAA0B,EAAE0H;MAC7B,CAAE,CAAG;MACL9B,OAAO,EAAGA,OAAS;MAAAC,QAAA,GAEjB,CAAE6B,yBAAyB,iBAC5B7F,IAAA,CAACtB,UAAU;QACVsE,MAAM,EAAGkE,aAAe;QACxBpD,QAAQ,EAAG2D,gBAAkB;QAC7BrD,KAAK,EAAGhG,EAAE,CAAE,SAAU,CAAG;QACzB6E,KAAK,EAAGkE,YAAc;QACtBrB,KAAK,EAAGA,KAAO;QACf0F,UAAU,EAAG,KAAO;QACpBC,WAAW,EAAGnE,cAAgB;QAC9BoE,WAAW,EAAG7D,kBAAoB;QAClC8D,UAAU,EAAGnB;MAAsB,CACnC,CACD,EACC3E,yBAAyB,iBAC1B7F,IAAA,CAACP,mBAAmB;QACnBuD,MAAM,EAAGkE,aAAe;QACxBpD,QAAQ,EAAG2D,gBAAkB;QAC7BrD,KAAK,EAAGhG,EAAE,CAAE,SAAU,CAAG;QACzB6E,KAAK,EAAGkE,YAAc;QACtBrB,KAAK,EAAGA,KAAO;QACf0F,UAAU,EAAG,KAAO;QACpBE,WAAW,EAAG7D,kBAAoB;QAClC8D,UAAU,EAAGnB;MAAsB,CACnC,CACD;IAAA,CACc,CAChB,EACC1C,iBAAiB,iBAClB5H,KAAA,CAAC1B,cAAc;MACdsM,QAAQ,EAAGzC,cAAgB;MAC3BjE,KAAK,EAAGhG,EAAE,CAAE,QAAS,CAAG;MACxB2M,UAAU,EAAGzC,gBAAkB;MAC/B0C,gBAAgB,GAAA/F,qBAAA,GACfN,eAAe,CAAC/C,MAAM,cAAAqD,qBAAA,cAAAA,qBAAA,GAAIZ,gBAAgB,CAACzC,MAC3C;MACDiJ,SAAS,EAAG1M,IAAI,CAAE;QACjB,0BAA0B,EAAE0H;MAC7B,CAAE,CAAG;MACL9B,OAAO,EAAGA,OAAS;MAAAC,QAAA,GAEjB,CAAE6B,yBAAyB,iBAC5B7F,IAAA,CAACtB,UAAU;QACVsE,MAAM,EAAGgF,YAAc;QACvBlE,QAAQ,EAAGqE,eAAiB;QAC5BsC,UAAU,EAAGA,UAAY;QACzBrG,KAAK,EAAGhG,EAAE,CAAE,QAAS,CAAG;QACxB6E,KAAK,EAAGgF,WAAa;QACrBnC,KAAK,EAAGA,KAAO;QACf0F,UAAU,EAAG,KAAO;QACpBC,WAAW,EAAGvD,aAAe;QAC7BwD,WAAW,EAAGnD,iBAAmB;QACjCoD,UAAU,EAAGnB;MAAsB,CACnC,CACD,EACC3E,yBAAyB,iBAC1B7F,IAAA,CAACP,mBAAmB;QACnBuD,MAAM,EAAGgF,YAAc;QACvBlE,QAAQ,EAAGqE,eAAiB;QAC5ByD,kBAAkB,EAAG,CAAC3F,QAAU;QAChC7B,KAAK,EAAGhG,EAAE,CAAE,QAAS,CAAG;QACxB6E,KAAK,EAAGgF,WAAa;QACrBnC,KAAK,EAAGA,KAAO;QACf0F,UAAU,EAAG,KAAO;QACpBE,WAAW,EAAGnD,iBAAmB;QACjCoD,UAAU,EAAGnB;MAAsB,CACnC,CACD;IAAA,CACc,CAChB,EACChC,cAAc,iBACftI,KAAA,CAAC1B,cAAc;MACdsM,QAAQ,EAAG3B,WAAa;MACxB/E,KAAK,EAAGhG,EAAE,CAAE,eAAgB,CAAG;MAC/B2M,UAAU,EAAG7B,aAAe;MAC5B8B,gBAAgB,GAAA9F,qBAAA,GACfP,eAAe,CAAC9C,QAAQ,cAAAqD,qBAAA,cAAAA,qBAAA,GAAIb,gBAAgB,CAACxC,QAC7C;MACDgJ,SAAS,EAAG1M,IAAI,CAAE;QACjB,0BAA0B,EAAE0H,yBAAyB;QACrD,eAAe;QACd;QACA,CAAEA,yBAAyB,IAAI,CAAE+C;MACnC,CAAE,CAAG;MACL7E,OAAO,EAAGA,OAAS;MAAAC,QAAA,GAEjB,CAAE6B,yBAAyB,KAC1B+C,UAAU,gBACX5I,IAAA,CAACtB,UAAU;QACV0F,KAAK,EAAGhG,EAAE,CAAE,eAAgB,CAAG;QAC/BsM,GAAG,EAAG,CAAG;QACT5G,QAAQ,EAAGiF,YAAc;QACzBjD,KAAK,EAAGA,KAAO;QACf7C,KAAK,EAAG0F,QAAU;QAClB3F,MAAM,EAAG0F,SAAW;QACpB8C,UAAU,EAAG,KAAO;QACpBC,WAAW,EAAG7C;MAAY,CAC1B,CAAC,gBAEF5I,IAAA,CAACpB,WAAW;QACXqM,qBAAqB;QACrB7G,KAAK,EAAGhG,EAAE,CAAE,eAAgB,CAAG;QAC/BsM,GAAG,EAAG,CAAG;QACT5G,QAAQ,EAAG+E,WAAa;QACxB/C,KAAK,EAAGA,KAAO;QACfpC,KAAK,EAAG+E;MAAU,CAClB,CACD,CAAE,EACF5C,yBAAyB,iBAC1B7F,IAAA,CAACP,mBAAmB;QACnB2E,KAAK,EAAGhG,EAAE,CAAE,eAAgB,CAAG;QAC/BsM,GAAG,EAAG,CAAG;QACT5G,QAAQ,EAAGiF,YAAc;QACzB8C,eAAe,EAAG,KAAO;QACzB5I,KAAK,EAAG2F,UAAU,GAAGD,QAAQ,GAAG,CAAE,KAAK,CAAI,CAAC;QAAA;QAC5C3F,MAAM,EAAG0F,SAAW;QACpB8C,UAAU,EAAG;MAAO,CACpB,CACD;IAAA,CACc,CAChB,EACC1B,sBAAsB,iBACvB9J,IAAA,CAACL,kBAAkB;MAClB+D,KAAK,EAAGY,WAAa;MACrBR,QAAQ,EAAGiG,cAAgB;MAC3BxH,YAAY,EAAGlC,QAAQ,EAAEkC,YAAc;MACvCwB,OAAO,EAAGA,OAAS;MACnBiH,gBAAgB,GAAA7F,qBAAA,GACfR,eAAe,CAACL,WAAW,cAAAa,qBAAA,cAAAA,qBAAA,GAC3Bd,gBAAgB,CAACC;IACjB,CACD,CACD,EACC8E,oBAAoB,iBACrBpJ,IAAA,CAACxB,cAAc;MACdsM,QAAQ,EAAGrB,iBAAmB;MAC9BrF,KAAK,EAAGhG,EAAE,CAAE,gBAAiB,CAAG;MAChC2M,UAAU,EAAGvB,mBAAqB;MAClCwB,gBAAgB,GAAA5F,qBAAA,GACfT,eAAe,CAAC5C,SAAS,cAAAqD,qBAAA,cAAAA,qBAAA,GAAIf,gBAAgB,CAACtC,SAC9C;MACDgC,OAAO,EAAGA,OAAS;MAAAC,QAAA,eAEnBhE,IAAA,CAACN,aAAa;QACb0E,KAAK,EAAGhG,EAAE,CAAE,gBAAiB,CAAG;QAChCsF,KAAK,EAAG2F,cAAgB;QACxBvF,QAAQ,EAAGwF;MAAmB,CAC9B;IAAC,CACa,CAChB,EACCI,sBAAsB,iBACvB1J,IAAA,CAACJ,eAAe;MACfkL,QAAQ,EAAGjB,mBAAqB;MAChCnG,KAAK,EAAGiG,gBAAkB;MAC1B7F,QAAQ,EAAG8F,mBAAqB;MAChC7F,OAAO,EAAGA,OAAS;MACnBiH,gBAAgB,GAAA3F,qBAAA,GACfV,eAAe,CAAC3C,WAAW,cAAAqD,qBAAA,cAAAA,qBAAA,GAC3BhB,gBAAgB,CAACrC;IACjB,CACD,CACD;EAAA,CACO,CAAC;AAEZ","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["clsx","__","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__experimentalBoxControl","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","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","gapValue","gapValues","gapSides","isAxialGap","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","inputProps","min","onDragStart","onDragEnd","className","hasValue","onDeselect","isShownByDefault","__next40pxDefaultSize","labelPosition","nextContentSize","prefix","variant","icon","nextWideSize","allowReset","splitOnAxis","onMouseOver","onMouseOut","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\t__experimentalBoxControl as BoxControl,\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 ) {\n\t// Check for shorthand value (a string value).\n\tif ( value && typeof value === 'string' ) {\n\t\t// If the value is a string, treat it as a single side (top) for the spacing controls.\n\t\treturn {\n\t\t\ttop: value,\n\t\t};\n\t}\n\n\tif ( value ) {\n\t\treturn {\n\t\t\t...value,\n\t\t\tright: value?.left,\n\t\t\tbottom: value?.top,\n\t\t};\n\t}\n\n\treturn value;\n}\n\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 gapValue = decodeValue( inheritedValue?.spacing?.blockGap );\n\tconst gapValues = splitGapValue( gapValue );\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 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\tconst inputProps = {\n\t\tmin: minMarginValue,\n\t\tonDragStart: () => {\n\t\t\t//Reset to 0 in case the value was negative.\n\t\t\tsetMinMarginValue( 0 );\n\t\t},\n\t\tonDragEnd: () => {\n\t\t\tsetMinMarginValue( minimumMargin );\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{ ( 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\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\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={ inputProps }\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\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\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":[]}
|
|
@@ -64,8 +64,8 @@ function GridItemResizerInner({
|
|
|
64
64
|
return () => observer.disconnect();
|
|
65
65
|
}, [blockElement, rootBlockElement]);
|
|
66
66
|
const justification = {
|
|
67
|
-
right: '
|
|
68
|
-
left: '
|
|
67
|
+
right: 'left',
|
|
68
|
+
left: 'right'
|
|
69
69
|
};
|
|
70
70
|
const alignment = {
|
|
71
71
|
top: 'flex-end',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["ResizableBox","useState","useEffect","useBlockElement","BlockPopoverCover","getComputedCSS","getGridTracks","getClosestTrack","jsx","_jsx","GridItemResizer","clientId","bounds","onChange","parentLayout","blockElement","rootBlockElement","parentElement","isManualPlacement","GridItemResizerInner","isManualGrid","window","__experimentalEnableGridInteractivity","resizeDirection","setResizeDirection","enableSide","setEnableSide","top","bottom","left","right","observer","ResizeObserver","blockClientRect","getBoundingClientRect","rootBlockClientRect","observe","disconnect","justification","alignment","styles","display","justifyContent","alignItems","className","__unstablePopoverSlot","additionalStyles","children","size","width","height","enable","bottomLeft","bottomRight","topLeft","topRight","boundsByDirection","onPointerDown","target","pointerId","setPointerCapture","onResizeStart","event","direction","onResizeStop","boxElement","columnGap","parseFloat","rowGap","gridColumnTracks","gridRowTracks","rect","DOMRect","offsetLeft","offsetTop","offsetWidth","offsetHeight","columnStart","rowStart","columnEnd","rowEnd","columnSpan","rowSpan","undefined"],"sources":["@wordpress/block-editor/src/components/grid/grid-item-resizer.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { ResizableBox } from '@wordpress/components';\nimport { useState, useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { useBlockElement } from '../block-list/use-block-props/use-block-refs';\nimport BlockPopoverCover from '../block-popover/cover';\nimport { getComputedCSS, getGridTracks, getClosestTrack } from './utils';\n\nexport function GridItemResizer( {\n\tclientId,\n\tbounds,\n\tonChange,\n\tparentLayout,\n} ) {\n\tconst blockElement = useBlockElement( clientId );\n\tconst rootBlockElement = blockElement?.parentElement;\n\tconst { isManualPlacement } = parentLayout;\n\n\tif ( ! blockElement || ! rootBlockElement ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<GridItemResizerInner\n\t\t\tclientId={ clientId }\n\t\t\tbounds={ bounds }\n\t\t\tblockElement={ blockElement }\n\t\t\trootBlockElement={ rootBlockElement }\n\t\t\tonChange={ onChange }\n\t\t\tisManualGrid={\n\t\t\t\tisManualPlacement &&\n\t\t\t\twindow.__experimentalEnableGridInteractivity\n\t\t\t}\n\t\t/>\n\t);\n}\n\nfunction GridItemResizerInner( {\n\tclientId,\n\tbounds,\n\tblockElement,\n\trootBlockElement,\n\tonChange,\n\tisManualGrid,\n} ) {\n\tconst [ resizeDirection, setResizeDirection ] = useState( null );\n\tconst [ enableSide, setEnableSide ] = useState( {\n\t\ttop: false,\n\t\tbottom: false,\n\t\tleft: false,\n\t\tright: false,\n\t} );\n\n\tuseEffect( () => {\n\t\tconst observer = new window.ResizeObserver( () => {\n\t\t\tconst blockClientRect = blockElement.getBoundingClientRect();\n\t\t\tconst rootBlockClientRect =\n\t\t\t\trootBlockElement.getBoundingClientRect();\n\t\t\tsetEnableSide( {\n\t\t\t\ttop: blockClientRect.top > rootBlockClientRect.top,\n\t\t\t\tbottom: blockClientRect.bottom < rootBlockClientRect.bottom,\n\t\t\t\tleft: blockClientRect.left > rootBlockClientRect.left,\n\t\t\t\tright: blockClientRect.right < rootBlockClientRect.right,\n\t\t\t} );\n\t\t} );\n\t\tobserver.observe( blockElement );\n\t\treturn () => observer.disconnect();\n\t}, [ blockElement, rootBlockElement ] );\n\n\tconst justification = {\n\t\tright: 'flex-start',\n\t\tleft: 'flex-end',\n\t};\n\n\tconst alignment = {\n\t\ttop: 'flex-end',\n\t\tbottom: 'flex-start',\n\t};\n\n\tconst styles = {\n\t\tdisplay: 'flex',\n\t\tjustifyContent: 'center',\n\t\talignItems: 'center',\n\t\t...( justification[ resizeDirection ] && {\n\t\t\tjustifyContent: justification[ resizeDirection ],\n\t\t} ),\n\t\t...( alignment[ resizeDirection ] && {\n\t\t\talignItems: alignment[ resizeDirection ],\n\t\t} ),\n\t};\n\n\treturn (\n\t\t<BlockPopoverCover\n\t\t\tclassName=\"block-editor-grid-item-resizer\"\n\t\t\tclientId={ clientId }\n\t\t\t__unstablePopoverSlot=\"__unstable-block-tools-after\"\n\t\t\tadditionalStyles={ styles }\n\t\t>\n\t\t\t<ResizableBox\n\t\t\t\tclassName=\"block-editor-grid-item-resizer__box\"\n\t\t\t\tsize={ {\n\t\t\t\t\twidth: '100%',\n\t\t\t\t\theight: '100%',\n\t\t\t\t} }\n\t\t\t\tenable={ {\n\t\t\t\t\tbottom: enableSide.bottom,\n\t\t\t\t\tbottomLeft: false,\n\t\t\t\t\tbottomRight: false,\n\t\t\t\t\tleft: enableSide.left,\n\t\t\t\t\tright: enableSide.right,\n\t\t\t\t\ttop: enableSide.top,\n\t\t\t\t\ttopLeft: false,\n\t\t\t\t\ttopRight: false,\n\t\t\t\t} }\n\t\t\t\tbounds={ bounds }\n\t\t\t\tboundsByDirection\n\t\t\t\tonPointerDown={ ( { target, pointerId } ) => {\n\t\t\t\t\t/*\n\t\t\t\t\t * Captures the pointer to avoid hiccups while dragging over objects\n\t\t\t\t\t * like iframes and ensures that the event to end the drag is\n\t\t\t\t\t * captured by the target (resize handle) whether or not it’s under\n\t\t\t\t\t * the pointer.\n\t\t\t\t\t */\n\t\t\t\t\ttarget.setPointerCapture( pointerId );\n\t\t\t\t} }\n\t\t\t\tonResizeStart={ ( event, direction ) => {\n\t\t\t\t\t/*\n\t\t\t\t\t * The container justification and alignment need to be set\n\t\t\t\t\t * according to the direction the resizer is being dragged in,\n\t\t\t\t\t * so that it resizes in the right direction.\n\t\t\t\t\t */\n\t\t\t\t\tsetResizeDirection( direction );\n\t\t\t\t} }\n\t\t\t\tonResizeStop={ ( event, direction, boxElement ) => {\n\t\t\t\t\tconst columnGap = parseFloat(\n\t\t\t\t\t\tgetComputedCSS( rootBlockElement, 'column-gap' )\n\t\t\t\t\t);\n\t\t\t\t\tconst rowGap = parseFloat(\n\t\t\t\t\t\tgetComputedCSS( rootBlockElement, 'row-gap' )\n\t\t\t\t\t);\n\t\t\t\t\tconst gridColumnTracks = getGridTracks(\n\t\t\t\t\t\tgetComputedCSS(\n\t\t\t\t\t\t\trootBlockElement,\n\t\t\t\t\t\t\t'grid-template-columns'\n\t\t\t\t\t\t),\n\t\t\t\t\t\tcolumnGap\n\t\t\t\t\t);\n\t\t\t\t\tconst gridRowTracks = getGridTracks(\n\t\t\t\t\t\tgetComputedCSS(\n\t\t\t\t\t\t\trootBlockElement,\n\t\t\t\t\t\t\t'grid-template-rows'\n\t\t\t\t\t\t),\n\t\t\t\t\t\trowGap\n\t\t\t\t\t);\n\t\t\t\t\tconst rect = new window.DOMRect(\n\t\t\t\t\t\tblockElement.offsetLeft + boxElement.offsetLeft,\n\t\t\t\t\t\tblockElement.offsetTop + boxElement.offsetTop,\n\t\t\t\t\t\tboxElement.offsetWidth,\n\t\t\t\t\t\tboxElement.offsetHeight\n\t\t\t\t\t);\n\t\t\t\t\tconst columnStart =\n\t\t\t\t\t\tgetClosestTrack( gridColumnTracks, rect.left ) + 1;\n\t\t\t\t\tconst rowStart =\n\t\t\t\t\t\tgetClosestTrack( gridRowTracks, rect.top ) + 1;\n\t\t\t\t\tconst columnEnd =\n\t\t\t\t\t\tgetClosestTrack( gridColumnTracks, rect.right, 'end' ) +\n\t\t\t\t\t\t1;\n\t\t\t\t\tconst rowEnd =\n\t\t\t\t\t\tgetClosestTrack( gridRowTracks, rect.bottom, 'end' ) +\n\t\t\t\t\t\t1;\n\t\t\t\t\tonChange( {\n\t\t\t\t\t\tcolumnSpan: columnEnd - columnStart + 1,\n\t\t\t\t\t\trowSpan: rowEnd - rowStart + 1,\n\t\t\t\t\t\tcolumnStart: isManualGrid ? columnStart : undefined,\n\t\t\t\t\t\trowStart: isManualGrid ? rowStart : undefined,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t/>\n\t\t</BlockPopoverCover>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["ResizableBox","useState","useEffect","useBlockElement","BlockPopoverCover","getComputedCSS","getGridTracks","getClosestTrack","jsx","_jsx","GridItemResizer","clientId","bounds","onChange","parentLayout","blockElement","rootBlockElement","parentElement","isManualPlacement","GridItemResizerInner","isManualGrid","window","__experimentalEnableGridInteractivity","resizeDirection","setResizeDirection","enableSide","setEnableSide","top","bottom","left","right","observer","ResizeObserver","blockClientRect","getBoundingClientRect","rootBlockClientRect","observe","disconnect","justification","alignment","styles","display","justifyContent","alignItems","className","__unstablePopoverSlot","additionalStyles","children","size","width","height","enable","bottomLeft","bottomRight","topLeft","topRight","boundsByDirection","onPointerDown","target","pointerId","setPointerCapture","onResizeStart","event","direction","onResizeStop","boxElement","columnGap","parseFloat","rowGap","gridColumnTracks","gridRowTracks","rect","DOMRect","offsetLeft","offsetTop","offsetWidth","offsetHeight","columnStart","rowStart","columnEnd","rowEnd","columnSpan","rowSpan","undefined"],"sources":["@wordpress/block-editor/src/components/grid/grid-item-resizer.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { ResizableBox } from '@wordpress/components';\nimport { useState, useEffect } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { useBlockElement } from '../block-list/use-block-props/use-block-refs';\nimport BlockPopoverCover from '../block-popover/cover';\nimport { getComputedCSS, getGridTracks, getClosestTrack } from './utils';\n\nexport function GridItemResizer( {\n\tclientId,\n\tbounds,\n\tonChange,\n\tparentLayout,\n} ) {\n\tconst blockElement = useBlockElement( clientId );\n\tconst rootBlockElement = blockElement?.parentElement;\n\tconst { isManualPlacement } = parentLayout;\n\n\tif ( ! blockElement || ! rootBlockElement ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<GridItemResizerInner\n\t\t\tclientId={ clientId }\n\t\t\tbounds={ bounds }\n\t\t\tblockElement={ blockElement }\n\t\t\trootBlockElement={ rootBlockElement }\n\t\t\tonChange={ onChange }\n\t\t\tisManualGrid={\n\t\t\t\tisManualPlacement &&\n\t\t\t\twindow.__experimentalEnableGridInteractivity\n\t\t\t}\n\t\t/>\n\t);\n}\n\nfunction GridItemResizerInner( {\n\tclientId,\n\tbounds,\n\tblockElement,\n\trootBlockElement,\n\tonChange,\n\tisManualGrid,\n} ) {\n\tconst [ resizeDirection, setResizeDirection ] = useState( null );\n\tconst [ enableSide, setEnableSide ] = useState( {\n\t\ttop: false,\n\t\tbottom: false,\n\t\tleft: false,\n\t\tright: false,\n\t} );\n\n\tuseEffect( () => {\n\t\tconst observer = new window.ResizeObserver( () => {\n\t\t\tconst blockClientRect = blockElement.getBoundingClientRect();\n\t\t\tconst rootBlockClientRect =\n\t\t\t\trootBlockElement.getBoundingClientRect();\n\t\t\tsetEnableSide( {\n\t\t\t\ttop: blockClientRect.top > rootBlockClientRect.top,\n\t\t\t\tbottom: blockClientRect.bottom < rootBlockClientRect.bottom,\n\t\t\t\tleft: blockClientRect.left > rootBlockClientRect.left,\n\t\t\t\tright: blockClientRect.right < rootBlockClientRect.right,\n\t\t\t} );\n\t\t} );\n\t\tobserver.observe( blockElement );\n\t\treturn () => observer.disconnect();\n\t}, [ blockElement, rootBlockElement ] );\n\n\tconst justification = {\n\t\tright: 'left',\n\t\tleft: 'right',\n\t};\n\n\tconst alignment = {\n\t\ttop: 'flex-end',\n\t\tbottom: 'flex-start',\n\t};\n\n\tconst styles = {\n\t\tdisplay: 'flex',\n\t\tjustifyContent: 'center',\n\t\talignItems: 'center',\n\t\t...( justification[ resizeDirection ] && {\n\t\t\tjustifyContent: justification[ resizeDirection ],\n\t\t} ),\n\t\t...( alignment[ resizeDirection ] && {\n\t\t\talignItems: alignment[ resizeDirection ],\n\t\t} ),\n\t};\n\n\treturn (\n\t\t<BlockPopoverCover\n\t\t\tclassName=\"block-editor-grid-item-resizer\"\n\t\t\tclientId={ clientId }\n\t\t\t__unstablePopoverSlot=\"__unstable-block-tools-after\"\n\t\t\tadditionalStyles={ styles }\n\t\t>\n\t\t\t<ResizableBox\n\t\t\t\tclassName=\"block-editor-grid-item-resizer__box\"\n\t\t\t\tsize={ {\n\t\t\t\t\twidth: '100%',\n\t\t\t\t\theight: '100%',\n\t\t\t\t} }\n\t\t\t\tenable={ {\n\t\t\t\t\tbottom: enableSide.bottom,\n\t\t\t\t\tbottomLeft: false,\n\t\t\t\t\tbottomRight: false,\n\t\t\t\t\tleft: enableSide.left,\n\t\t\t\t\tright: enableSide.right,\n\t\t\t\t\ttop: enableSide.top,\n\t\t\t\t\ttopLeft: false,\n\t\t\t\t\ttopRight: false,\n\t\t\t\t} }\n\t\t\t\tbounds={ bounds }\n\t\t\t\tboundsByDirection\n\t\t\t\tonPointerDown={ ( { target, pointerId } ) => {\n\t\t\t\t\t/*\n\t\t\t\t\t * Captures the pointer to avoid hiccups while dragging over objects\n\t\t\t\t\t * like iframes and ensures that the event to end the drag is\n\t\t\t\t\t * captured by the target (resize handle) whether or not it’s under\n\t\t\t\t\t * the pointer.\n\t\t\t\t\t */\n\t\t\t\t\ttarget.setPointerCapture( pointerId );\n\t\t\t\t} }\n\t\t\t\tonResizeStart={ ( event, direction ) => {\n\t\t\t\t\t/*\n\t\t\t\t\t * The container justification and alignment need to be set\n\t\t\t\t\t * according to the direction the resizer is being dragged in,\n\t\t\t\t\t * so that it resizes in the right direction.\n\t\t\t\t\t */\n\t\t\t\t\tsetResizeDirection( direction );\n\t\t\t\t} }\n\t\t\t\tonResizeStop={ ( event, direction, boxElement ) => {\n\t\t\t\t\tconst columnGap = parseFloat(\n\t\t\t\t\t\tgetComputedCSS( rootBlockElement, 'column-gap' )\n\t\t\t\t\t);\n\t\t\t\t\tconst rowGap = parseFloat(\n\t\t\t\t\t\tgetComputedCSS( rootBlockElement, 'row-gap' )\n\t\t\t\t\t);\n\t\t\t\t\tconst gridColumnTracks = getGridTracks(\n\t\t\t\t\t\tgetComputedCSS(\n\t\t\t\t\t\t\trootBlockElement,\n\t\t\t\t\t\t\t'grid-template-columns'\n\t\t\t\t\t\t),\n\t\t\t\t\t\tcolumnGap\n\t\t\t\t\t);\n\t\t\t\t\tconst gridRowTracks = getGridTracks(\n\t\t\t\t\t\tgetComputedCSS(\n\t\t\t\t\t\t\trootBlockElement,\n\t\t\t\t\t\t\t'grid-template-rows'\n\t\t\t\t\t\t),\n\t\t\t\t\t\trowGap\n\t\t\t\t\t);\n\t\t\t\t\tconst rect = new window.DOMRect(\n\t\t\t\t\t\tblockElement.offsetLeft + boxElement.offsetLeft,\n\t\t\t\t\t\tblockElement.offsetTop + boxElement.offsetTop,\n\t\t\t\t\t\tboxElement.offsetWidth,\n\t\t\t\t\t\tboxElement.offsetHeight\n\t\t\t\t\t);\n\t\t\t\t\tconst columnStart =\n\t\t\t\t\t\tgetClosestTrack( gridColumnTracks, rect.left ) + 1;\n\t\t\t\t\tconst rowStart =\n\t\t\t\t\t\tgetClosestTrack( gridRowTracks, rect.top ) + 1;\n\t\t\t\t\tconst columnEnd =\n\t\t\t\t\t\tgetClosestTrack( gridColumnTracks, rect.right, 'end' ) +\n\t\t\t\t\t\t1;\n\t\t\t\t\tconst rowEnd =\n\t\t\t\t\t\tgetClosestTrack( gridRowTracks, rect.bottom, 'end' ) +\n\t\t\t\t\t\t1;\n\t\t\t\t\tonChange( {\n\t\t\t\t\t\tcolumnSpan: columnEnd - columnStart + 1,\n\t\t\t\t\t\trowSpan: rowEnd - rowStart + 1,\n\t\t\t\t\t\tcolumnStart: isManualGrid ? columnStart : undefined,\n\t\t\t\t\t\trowStart: isManualGrid ? rowStart : undefined,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t/>\n\t\t</BlockPopoverCover>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|