@wordpress/block-editor 14.2.0 → 14.2.1-next.1f6eadc42.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/components/block-breadcrumb/index.js +4 -10
- package/build/components/block-breadcrumb/index.js.map +1 -1
- package/build/components/block-compare/block-view.js +2 -4
- package/build/components/block-compare/block-view.js.map +1 -1
- package/build/components/block-edit/multiple-usage-warning.js +4 -8
- package/build/components/block-edit/multiple-usage-warning.js.map +1 -1
- package/build/components/block-inspector/index.js +0 -2
- package/build/components/block-inspector/index.js.map +1 -1
- package/build/components/block-list/block-invalid-warning.js +2 -4
- package/build/components/block-list/block-invalid-warning.js.map +1 -1
- package/build/components/block-list/index.js +14 -3
- package/build/components/block-list/index.js.map +1 -1
- package/build/components/block-list/use-block-props/use-zoom-out-mode-exit.js +7 -0
- package/build/components/block-list/use-block-props/use-zoom-out-mode-exit.js.map +1 -1
- package/build/components/block-list/zoom-out-separator.js +98 -0
- package/build/components/block-list/zoom-out-separator.js.map +1 -0
- package/build/components/block-mover/button.js +2 -4
- package/build/components/block-mover/button.js.map +1 -1
- package/build/components/block-mover/index.js +2 -4
- package/build/components/block-mover/index.js.map +1 -1
- package/build/components/block-pattern-setup/index.js +2 -7
- package/build/components/block-pattern-setup/index.js.map +1 -1
- package/build/components/block-patterns-list/index.js +2 -7
- package/build/components/block-patterns-list/index.js.map +1 -1
- package/build/components/block-switcher/index.js +8 -2
- package/build/components/block-switcher/index.js.map +1 -1
- package/build/components/block-switcher/pattern-transformations-menu.js +2 -7
- package/build/components/block-switcher/pattern-transformations-menu.js.map +1 -1
- package/build/components/block-toolbar/index.js +10 -4
- package/build/components/block-toolbar/index.js.map +1 -1
- package/build/components/block-tools/index.js +1 -1
- package/build/components/block-tools/index.js.map +1 -1
- package/build/components/block-tools/zoom-out-mode-inserters.js +3 -12
- package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
- package/build/components/block-tools/zoom-out-toolbar.js +13 -3
- package/build/components/block-tools/zoom-out-toolbar.js.map +1 -1
- package/build/components/button-block-appender/index.js +7 -21
- package/build/components/button-block-appender/index.js.map +1 -1
- package/build/components/global-styles/shadow-panel-components.js +2 -11
- package/build/components/global-styles/shadow-panel-components.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/get-compatibility-styles.js +1 -1
- package/build/components/iframe/get-compatibility-styles.js.map +1 -1
- package/build/components/inserter/block-patterns-tab/pattern-category-previews.js +23 -13
- package/build/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
- package/build/components/inserter/index.js +4 -11
- package/build/components/inserter/index.js.map +1 -1
- package/build/components/inserter/media-tab/media-list.js +1 -5
- package/build/components/inserter/media-tab/media-list.js.map +1 -1
- package/build/components/inserter/media-tab/media-preview.js +1 -5
- package/build/components/inserter/media-tab/media-preview.js.map +1 -1
- package/build/components/inserter/quick-inserter.js +0 -4
- package/build/components/inserter/quick-inserter.js.map +1 -1
- package/build/components/inserter-listbox/index.js +2 -8
- package/build/components/inserter-listbox/index.js.map +1 -1
- package/build/components/inserter-listbox/item.js +2 -10
- package/build/components/inserter-listbox/item.js.map +1 -1
- package/build/components/inserter-listbox/row.js +1 -9
- package/build/components/inserter-listbox/row.js.map +1 -1
- package/build/components/list-view/index.js +3 -7
- package/build/components/list-view/index.js.map +1 -1
- package/build/components/media-placeholder/index.js +4 -4
- package/build/components/media-placeholder/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 +4 -15
- package/build/components/spacing-sizes-control/utils.js.map +1 -1
- package/build/components/use-block-drop-zone/index.js +27 -1
- package/build/components/use-block-drop-zone/index.js.map +1 -1
- package/build/hooks/block-bindings.js +1 -0
- package/build/hooks/block-bindings.js.map +1 -1
- package/build/hooks/layout.js +0 -1
- package/build/hooks/layout.js.map +1 -1
- package/build/layouts/constrained.js +5 -6
- package/build/layouts/constrained.js.map +1 -1
- package/build/layouts/grid.js +19 -16
- package/build/layouts/grid.js.map +1 -1
- package/build/private-apis.js +0 -2
- package/build/private-apis.js.map +1 -1
- package/build/store/private-selectors.js +3 -3
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js +0 -2
- package/build/store/reducer.js.map +1 -1
- package/build-module/components/block-breadcrumb/index.js +4 -10
- package/build-module/components/block-breadcrumb/index.js.map +1 -1
- package/build-module/components/block-compare/block-view.js +2 -4
- package/build-module/components/block-compare/block-view.js.map +1 -1
- package/build-module/components/block-edit/multiple-usage-warning.js +4 -8
- package/build-module/components/block-edit/multiple-usage-warning.js.map +1 -1
- package/build-module/components/block-inspector/index.js +0 -2
- package/build-module/components/block-inspector/index.js.map +1 -1
- package/build-module/components/block-list/block-invalid-warning.js +2 -4
- package/build-module/components/block-list/block-invalid-warning.js.map +1 -1
- package/build-module/components/block-list/index.js +14 -3
- package/build-module/components/block-list/index.js.map +1 -1
- package/build-module/components/block-list/use-block-props/use-zoom-out-mode-exit.js +8 -1
- package/build-module/components/block-list/use-block-props/use-zoom-out-mode-exit.js.map +1 -1
- package/build-module/components/block-list/zoom-out-separator.js +90 -0
- package/build-module/components/block-list/zoom-out-separator.js.map +1 -0
- package/build-module/components/block-mover/button.js +2 -4
- package/build-module/components/block-mover/button.js.map +1 -1
- package/build-module/components/block-mover/index.js +2 -4
- package/build-module/components/block-mover/index.js.map +1 -1
- package/build-module/components/block-pattern-setup/index.js +2 -7
- package/build-module/components/block-pattern-setup/index.js.map +1 -1
- package/build-module/components/block-patterns-list/index.js +2 -7
- package/build-module/components/block-patterns-list/index.js.map +1 -1
- package/build-module/components/block-switcher/index.js +8 -2
- package/build-module/components/block-switcher/index.js.map +1 -1
- package/build-module/components/block-switcher/pattern-transformations-menu.js +2 -7
- package/build-module/components/block-switcher/pattern-transformations-menu.js.map +1 -1
- package/build-module/components/block-toolbar/index.js +10 -4
- package/build-module/components/block-toolbar/index.js.map +1 -1
- package/build-module/components/block-tools/index.js +1 -1
- package/build-module/components/block-tools/index.js.map +1 -1
- package/build-module/components/block-tools/zoom-out-mode-inserters.js +3 -13
- package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
- package/build-module/components/block-tools/zoom-out-toolbar.js +13 -3
- package/build-module/components/block-tools/zoom-out-toolbar.js.map +1 -1
- package/build-module/components/button-block-appender/index.js +8 -23
- package/build-module/components/button-block-appender/index.js.map +1 -1
- package/build-module/components/global-styles/shadow-panel-components.js +2 -11
- package/build-module/components/global-styles/shadow-panel-components.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/get-compatibility-styles.js +1 -1
- package/build-module/components/iframe/get-compatibility-styles.js.map +1 -1
- package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js +23 -13
- package/build-module/components/inserter/block-patterns-tab/pattern-category-previews.js.map +1 -1
- package/build-module/components/inserter/index.js +4 -11
- package/build-module/components/inserter/index.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-list.js +1 -5
- package/build-module/components/inserter/media-tab/media-list.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-preview.js +2 -6
- package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
- package/build-module/components/inserter/quick-inserter.js +1 -5
- package/build-module/components/inserter/quick-inserter.js.map +1 -1
- package/build-module/components/inserter-listbox/index.js +1 -5
- package/build-module/components/inserter-listbox/index.js.map +1 -1
- package/build-module/components/inserter-listbox/item.js +3 -11
- package/build-module/components/inserter-listbox/item.js.map +1 -1
- package/build-module/components/inserter-listbox/row.js +2 -10
- package/build-module/components/inserter-listbox/row.js.map +1 -1
- package/build-module/components/list-view/index.js +3 -7
- package/build-module/components/list-view/index.js.map +1 -1
- package/build-module/components/media-placeholder/index.js +4 -4
- package/build-module/components/media-placeholder/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 +4 -15
- package/build-module/components/spacing-sizes-control/utils.js.map +1 -1
- package/build-module/components/use-block-drop-zone/index.js +27 -1
- package/build-module/components/use-block-drop-zone/index.js.map +1 -1
- package/build-module/hooks/block-bindings.js +1 -0
- package/build-module/hooks/block-bindings.js.map +1 -1
- package/build-module/hooks/layout.js +0 -1
- package/build-module/hooks/layout.js.map +1 -1
- package/build-module/layouts/constrained.js +7 -8
- package/build-module/layouts/constrained.js.map +1 -1
- package/build-module/layouts/grid.js +21 -18
- package/build-module/layouts/grid.js.map +1 -1
- package/build-module/private-apis.js +0 -2
- package/build-module/private-apis.js.map +1 -1
- package/build-module/store/private-selectors.js +3 -3
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/reducer.js +0 -2
- package/build-module/store/reducer.js.map +1 -1
- package/build-style/content-rtl.css +17 -0
- package/build-style/content.css +17 -0
- package/build-style/style-rtl.css +13 -82
- package/build-style/style.css +13 -82
- package/package.json +32 -32
- package/src/components/block-breadcrumb/index.js +2 -6
- package/src/components/block-breadcrumb/style.scss +1 -30
- package/src/components/block-compare/block-view.js +1 -2
- package/src/components/block-compare/test/__snapshots__/block-view.js.snap +1 -1
- package/src/components/block-edit/multiple-usage-warning.js +2 -4
- package/src/components/block-inspector/index.js +0 -1
- package/src/components/block-inspector/style.scss +2 -4
- package/src/components/block-list/block-invalid-warning.js +1 -2
- package/src/components/block-list/content.scss +21 -0
- package/src/components/block-list/index.js +59 -38
- package/src/components/block-list/use-block-props/use-zoom-out-mode-exit.js +13 -1
- package/src/components/block-list/zoom-out-separator.js +110 -0
- package/src/components/block-mover/button.js +1 -2
- package/src/components/block-mover/index.js +1 -2
- package/src/components/block-pattern-setup/index.js +3 -11
- package/src/components/block-patterns-list/index.js +3 -8
- package/src/components/block-switcher/index.js +19 -3
- package/src/components/block-switcher/pattern-transformations-menu.js +3 -8
- package/src/components/block-switcher/style.scss +0 -24
- package/src/components/block-toolbar/index.js +10 -3
- package/src/components/block-toolbar/style.scss +4 -1
- package/src/components/block-tools/index.js +1 -1
- package/src/components/block-tools/zoom-out-mode-inserters.js +0 -12
- package/src/components/block-tools/zoom-out-toolbar.js +11 -0
- package/src/components/button-block-appender/index.js +16 -25
- package/src/components/global-styles/shadow-panel-components.js +2 -10
- package/src/components/grid/grid-item-resizer.js +2 -2
- package/src/components/iframe/get-compatibility-styles.js +6 -1
- package/src/components/inserter/block-patterns-tab/pattern-category-previews.js +32 -15
- package/src/components/inserter/index.js +4 -10
- package/src/components/inserter/media-tab/media-list.js +1 -4
- package/src/components/inserter/media-tab/media-preview.js +3 -6
- package/src/components/inserter/quick-inserter.js +1 -4
- package/src/components/inserter/style.scss +4 -9
- package/src/components/inserter-listbox/index.js +1 -4
- package/src/components/inserter-listbox/item.js +3 -13
- package/src/components/inserter-listbox/row.js +2 -9
- package/src/components/list-view/index.js +3 -8
- package/src/components/media-placeholder/README.md +2 -2
- package/src/components/media-placeholder/index.js +7 -4
- 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 +14 -15
- package/src/components/spacing-sizes-control/utils.js +5 -18
- package/src/components/use-block-drop-zone/index.js +33 -1
- package/src/hooks/block-bindings.js +1 -1
- package/src/hooks/layout.js +0 -1
- package/src/hooks/layout.scss +6 -20
- package/src/layouts/constrained.js +9 -7
- package/src/layouts/grid.js +29 -22
- package/src/private-apis.js +0 -2
- package/src/store/private-selectors.js +6 -3
- package/src/store/reducer.js +0 -2
- 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","createHigherOrderComponent","useInstanceId","addFilter","getBlockSupport","hasBlockSupport","useSelect","Button","ButtonGroup","ToggleControl","PanelBody","privateApis","componentsPrivateApis","__","store","blockEditorStore","InspectorControls","useSettings","getLayoutType","getLayoutTypes","useBlockEditingMode","LAYOUT_DEFINITIONS","useBlockSettings","useStyleOverride","unlock","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","layoutBlockSupportKey","kebabCase","hasLayoutBlockSupport","blockName","useLayoutClasses","blockAttributes","layout","default","defaultBlockLayout","usedLayout","inherit","contentSize","wideSize","type","layoutClassnames","className","baseClassName","splitBlockName","split","fullBlockName","pop","join","compoundClassName","push","hasGlobalPadding","select","getSettings","__experimentalFeatures","useRootPaddingAwareAlignments","orientation","justifyContent","flexWrap","useLayoutStyles","selector","style","fullLayoutType","blockGapSupport","hasBlockGapSupport","getLayoutStyle","LayoutPanelPure","setAttributes","name","clientId","settings","layoutSettings","themeSupportsLayout","supportsLayout","blockEditingMode","layoutBlockSupport","blockSupportAndThemeSettings","allowSwitching","allowEditing","allowInheriting","blockSupportAndLayout","defaultType","blockLayoutType","showInheritToggle","layoutType","constrainedType","displayControlsForLegacyLayouts","hasContentSizeOrLegacySettings","onChangeType","newType","onChangeLayout","newLayout","children","title","__nextHasNoMarginBottom","label","checked","onChange","help","LayoutTypeSwitcher","inspectorControls","toolBarControls","shareWithChildBlocks","edit","attributeKeys","hasSupport","map","__next40pxDefaultSize","isPressed","onClick","addAttribute","_settings$attributes$","attributes","BlockWithLayoutStyles","block","BlockListBlock","props","layoutClasses","id","selectorPrefix","css","layoutClassNames","__unstableLayoutClassNames","withLayoutStyles","blockSupportsLayout","extraProps","getBlockSettings","disableLayoutStyles","undefined"],"sources":["@wordpress/block-editor/src/hooks/layout.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { createHigherOrderComponent, useInstanceId } from '@wordpress/compose';\nimport { addFilter } from '@wordpress/hooks';\nimport { getBlockSupport, hasBlockSupport } from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\nimport {\n\tButton,\n\tButtonGroup,\n\tToggleControl,\n\tPanelBody,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../store';\nimport { InspectorControls } from '../components';\nimport { useSettings } from '../components/use-settings';\nimport { getLayoutType, getLayoutTypes } from '../layouts';\nimport { useBlockEditingMode } from '../components/block-editing-mode';\nimport { LAYOUT_DEFINITIONS } from '../layouts/definitions';\nimport { useBlockSettings, useStyleOverride } from './utils';\nimport { unlock } from '../lock-unlock';\n\nconst layoutBlockSupportKey = 'layout';\nconst { kebabCase } = unlock( componentsPrivateApis );\n\nfunction hasLayoutBlockSupport( blockName ) {\n\treturn (\n\t\thasBlockSupport( blockName, 'layout' ) ||\n\t\thasBlockSupport( blockName, '__experimentalLayout' )\n\t);\n}\n\n/**\n * Generates the utility classnames for the given block's layout attributes.\n *\n * @param { Object } blockAttributes Block attributes.\n * @param { string } blockName Block name.\n *\n * @return { Array } Array of CSS classname strings.\n */\nexport function useLayoutClasses( blockAttributes = {}, blockName = '' ) {\n\tconst { layout } = blockAttributes;\n\tconst { default: defaultBlockLayout } =\n\t\tgetBlockSupport( blockName, layoutBlockSupportKey ) || {};\n\tconst usedLayout =\n\t\tlayout?.inherit || layout?.contentSize || layout?.wideSize\n\t\t\t? { ...layout, type: 'constrained' }\n\t\t\t: layout || defaultBlockLayout || {};\n\n\tconst layoutClassnames = [];\n\n\tif ( LAYOUT_DEFINITIONS[ usedLayout?.type || 'default' ]?.className ) {\n\t\tconst baseClassName =\n\t\t\tLAYOUT_DEFINITIONS[ usedLayout?.type || 'default' ]?.className;\n\t\tconst splitBlockName = blockName.split( '/' );\n\t\tconst fullBlockName =\n\t\t\tsplitBlockName[ 0 ] === 'core'\n\t\t\t\t? splitBlockName.pop()\n\t\t\t\t: splitBlockName.join( '-' );\n\t\tconst compoundClassName = `wp-block-${ fullBlockName }-${ baseClassName }`;\n\t\tlayoutClassnames.push( baseClassName, compoundClassName );\n\t}\n\n\tconst hasGlobalPadding = useSelect(\n\t\t( select ) => {\n\t\t\treturn (\n\t\t\t\t( usedLayout?.inherit ||\n\t\t\t\t\tusedLayout?.contentSize ||\n\t\t\t\t\tusedLayout?.type === 'constrained' ) &&\n\t\t\t\tselect( blockEditorStore ).getSettings().__experimentalFeatures\n\t\t\t\t\t?.useRootPaddingAwareAlignments\n\t\t\t);\n\t\t},\n\t\t[ usedLayout?.contentSize, usedLayout?.inherit, usedLayout?.type ]\n\t);\n\n\tif ( hasGlobalPadding ) {\n\t\tlayoutClassnames.push( 'has-global-padding' );\n\t}\n\n\tif ( usedLayout?.orientation ) {\n\t\tlayoutClassnames.push( `is-${ kebabCase( usedLayout.orientation ) }` );\n\t}\n\n\tif ( usedLayout?.justifyContent ) {\n\t\tlayoutClassnames.push(\n\t\t\t`is-content-justification-${ kebabCase(\n\t\t\t\tusedLayout.justifyContent\n\t\t\t) }`\n\t\t);\n\t}\n\n\tif ( usedLayout?.flexWrap && usedLayout.flexWrap === 'nowrap' ) {\n\t\tlayoutClassnames.push( 'is-nowrap' );\n\t}\n\n\treturn layoutClassnames;\n}\n\n/**\n * Generates a CSS rule with the given block's layout styles.\n *\n * @param { Object } blockAttributes Block attributes.\n * @param { string } blockName Block name.\n * @param { string } selector A selector to use in generating the CSS rule.\n *\n * @return { string } CSS rule.\n */\nexport function useLayoutStyles( blockAttributes = {}, blockName, selector ) {\n\tconst { layout = {}, style = {} } = blockAttributes;\n\t// Update type for blocks using legacy layouts.\n\tconst usedLayout =\n\t\tlayout?.inherit || layout?.contentSize || layout?.wideSize\n\t\t\t? { ...layout, type: 'constrained' }\n\t\t\t: layout || {};\n\tconst fullLayoutType = getLayoutType( usedLayout?.type || 'default' );\n\tconst [ blockGapSupport ] = useSettings( 'spacing.blockGap' );\n\tconst hasBlockGapSupport = blockGapSupport !== null;\n\treturn fullLayoutType?.getLayoutStyle?.( {\n\t\tblockName,\n\t\tselector,\n\t\tlayout,\n\t\tstyle,\n\t\thasBlockGapSupport,\n\t} );\n}\n\nfunction LayoutPanelPure( {\n\tlayout,\n\tsetAttributes,\n\tname: blockName,\n\tclientId,\n} ) {\n\tconst settings = useBlockSettings( blockName );\n\t// Block settings come from theme.json under settings.[blockName].\n\tconst { layout: layoutSettings } = settings;\n\tconst { themeSupportsLayout } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn {\n\t\t\tthemeSupportsLayout: getSettings().supportsLayout,\n\t\t};\n\t}, [] );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tif ( blockEditingMode !== 'default' ) {\n\t\treturn null;\n\t}\n\n\t// Layout block support comes from the block's block.json.\n\tconst layoutBlockSupport = getBlockSupport(\n\t\tblockName,\n\t\tlayoutBlockSupportKey,\n\t\t{}\n\t);\n\tconst blockSupportAndThemeSettings = {\n\t\t...layoutSettings,\n\t\t...layoutBlockSupport,\n\t};\n\tconst {\n\t\tallowSwitching,\n\t\tallowEditing = true,\n\t\tallowInheriting = true,\n\t\tdefault: defaultBlockLayout,\n\t} = blockSupportAndThemeSettings;\n\n\tif ( ! allowEditing ) {\n\t\treturn null;\n\t}\n\n\t/*\n\t * Try to find the layout type from either the\n\t * block's layout settings or any saved layout config.\n\t */\n\tconst blockSupportAndLayout = {\n\t\t...layoutBlockSupport,\n\t\t...layout,\n\t};\n\tconst { type, default: { type: defaultType = 'default' } = {} } =\n\t\tblockSupportAndLayout;\n\tconst blockLayoutType = type || defaultType;\n\n\t// Only show the inherit toggle if it's supported,\n\t// and either the default / flow or the constrained layout type is in use, as the toggle switches from one to the other.\n\tconst showInheritToggle = !! (\n\t\tallowInheriting &&\n\t\t( ! blockLayoutType ||\n\t\t\tblockLayoutType === 'default' ||\n\t\t\tblockLayoutType === 'constrained' ||\n\t\t\tblockSupportAndLayout.inherit )\n\t);\n\n\tconst usedLayout = layout || defaultBlockLayout || {};\n\tconst { inherit = false, contentSize = null } = usedLayout;\n\t/**\n\t * `themeSupportsLayout` is only relevant to the `default/flow` or\n\t * `constrained` layouts and it should not be taken into account when other\n\t * `layout` types are used.\n\t */\n\tif (\n\t\t( blockLayoutType === 'default' ||\n\t\t\tblockLayoutType === 'constrained' ) &&\n\t\t! themeSupportsLayout\n\t) {\n\t\treturn null;\n\t}\n\tconst layoutType = getLayoutType( blockLayoutType );\n\tconst constrainedType = getLayoutType( 'constrained' );\n\tconst displayControlsForLegacyLayouts =\n\t\t! usedLayout.type && ( contentSize || inherit );\n\tconst hasContentSizeOrLegacySettings = !! inherit || !! contentSize;\n\n\tconst onChangeType = ( newType ) =>\n\t\tsetAttributes( { layout: { type: newType } } );\n\tconst onChangeLayout = ( newLayout ) =>\n\t\tsetAttributes( { layout: newLayout } );\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Layout' ) }>\n\t\t\t\t\t{ showInheritToggle && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tclassName=\"block-editor-hooks__toggle-control\"\n\t\t\t\t\t\t\t\tlabel={ __( 'Inner blocks use content width' ) }\n\t\t\t\t\t\t\t\tchecked={\n\t\t\t\t\t\t\t\t\tlayoutType?.name === 'constrained' ||\n\t\t\t\t\t\t\t\t\thasContentSizeOrLegacySettings\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tlayout: {\n\t\t\t\t\t\t\t\t\t\t\ttype:\n\t\t\t\t\t\t\t\t\t\t\t\tlayoutType?.name ===\n\t\t\t\t\t\t\t\t\t\t\t\t\t'constrained' ||\n\t\t\t\t\t\t\t\t\t\t\t\thasContentSizeOrLegacySettings\n\t\t\t\t\t\t\t\t\t\t\t\t\t? 'default'\n\t\t\t\t\t\t\t\t\t\t\t\t\t: 'constrained',\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\t\tlayoutType?.name === 'constrained' ||\n\t\t\t\t\t\t\t\t\thasContentSizeOrLegacySettings\n\t\t\t\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Nested blocks use content width with options for full and wide widths.'\n\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Nested blocks will fill the width of this container. Toggle to constrain.'\n\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ ! inherit && allowSwitching && (\n\t\t\t\t\t\t<LayoutTypeSwitcher\n\t\t\t\t\t\t\ttype={ blockLayoutType }\n\t\t\t\t\t\t\tonChange={ onChangeType }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ layoutType && layoutType.name !== 'default' && (\n\t\t\t\t\t\t<layoutType.inspectorControls\n\t\t\t\t\t\t\tlayout={ usedLayout }\n\t\t\t\t\t\t\tonChange={ onChangeLayout }\n\t\t\t\t\t\t\tlayoutBlockSupport={ blockSupportAndThemeSettings }\n\t\t\t\t\t\t\tname={ blockName }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ constrainedType && displayControlsForLegacyLayouts && (\n\t\t\t\t\t\t<constrainedType.inspectorControls\n\t\t\t\t\t\t\tlayout={ usedLayout }\n\t\t\t\t\t\t\tonChange={ onChangeLayout }\n\t\t\t\t\t\t\tlayoutBlockSupport={ blockSupportAndThemeSettings }\n\t\t\t\t\t\t\tname={ blockName }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t{ ! inherit && layoutType && (\n\t\t\t\t<layoutType.toolBarControls\n\t\t\t\t\tlayout={ usedLayout }\n\t\t\t\t\tonChange={ onChangeLayout }\n\t\t\t\t\tlayoutBlockSupport={ layoutBlockSupport }\n\t\t\t\t\tname={ blockName }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default {\n\tshareWithChildBlocks: true,\n\tedit: LayoutPanelPure,\n\tattributeKeys: [ 'layout' ],\n\thasSupport( name ) {\n\t\treturn hasLayoutBlockSupport( name );\n\t},\n};\n\nfunction LayoutTypeSwitcher( { type, onChange } ) {\n\treturn (\n\t\t<ButtonGroup>\n\t\t\t{ getLayoutTypes().map( ( { name, label } ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<Button\n\t\t\t\t\t\t// TODO: Switch to `true` (40px size) if possible\n\t\t\t\t\t\t__next40pxDefaultSize={ false }\n\t\t\t\t\t\tkey={ name }\n\t\t\t\t\t\tisPressed={ type === name }\n\t\t\t\t\t\tonClick={ () => onChange( name ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ label }\n\t\t\t\t\t</Button>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</ButtonGroup>\n\t);\n}\n\n/**\n * Filters registered block settings, extending attributes to include `layout`.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Filtered block settings.\n */\nexport function addAttribute( settings ) {\n\tif ( 'type' in ( settings.attributes?.layout ?? {} ) ) {\n\t\treturn settings;\n\t}\n\tif ( hasLayoutBlockSupport( settings ) ) {\n\t\tsettings.attributes = {\n\t\t\t...settings.attributes,\n\t\t\tlayout: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t};\n\t}\n\n\treturn settings;\n}\n\nfunction BlockWithLayoutStyles( {\n\tblock: BlockListBlock,\n\tprops,\n\tblockGapSupport,\n\tlayoutClasses,\n} ) {\n\tconst { name, attributes } = props;\n\tconst id = useInstanceId( BlockListBlock );\n\tconst { layout } = attributes;\n\tconst { default: defaultBlockLayout } =\n\t\tgetBlockSupport( name, layoutBlockSupportKey ) || {};\n\tconst usedLayout =\n\t\tlayout?.inherit || layout?.contentSize || layout?.wideSize\n\t\t\t? { ...layout, type: 'constrained' }\n\t\t\t: layout || defaultBlockLayout || {};\n\n\tconst selectorPrefix = `wp-container-${ kebabCase( name ) }-is-layout-`;\n\t// Higher specificity to override defaults from theme.json.\n\tconst selector = `.${ selectorPrefix }${ id }`;\n\tconst hasBlockGapSupport = blockGapSupport !== null;\n\n\t// Get CSS string for the current layout type.\n\t// The CSS and `style` element is only output if it is not empty.\n\tconst fullLayoutType = getLayoutType( usedLayout?.type || 'default' );\n\tconst css = fullLayoutType?.getLayoutStyle?.( {\n\t\tblockName: name,\n\t\tselector,\n\t\tlayout: usedLayout,\n\t\tstyle: attributes?.style,\n\t\thasBlockGapSupport,\n\t} );\n\n\t// Attach a `wp-container-` id-based class name as well as a layout class name such as `is-layout-flex`.\n\tconst layoutClassNames = clsx(\n\t\t{\n\t\t\t[ `${ selectorPrefix }${ id }` ]: !! css, // Only attach a container class if there is generated CSS to be attached.\n\t\t},\n\t\tlayoutClasses\n\t);\n\n\tuseStyleOverride( { css } );\n\n\treturn (\n\t\t<BlockListBlock\n\t\t\t{ ...props }\n\t\t\t__unstableLayoutClassNames={ layoutClassNames }\n\t\t/>\n\t);\n}\n\n/**\n * Override the default block element to add the layout styles.\n *\n * @param {Function} BlockListBlock Original component.\n *\n * @return {Function} Wrapped component.\n */\nexport const withLayoutStyles = createHigherOrderComponent(\n\t( BlockListBlock ) => ( props ) => {\n\t\tconst { clientId, name, attributes } = props;\n\t\tconst blockSupportsLayout = hasLayoutBlockSupport( name );\n\t\tconst layoutClasses = useLayoutClasses( attributes, name );\n\t\tconst extraProps = useSelect(\n\t\t\t( select ) => {\n\t\t\t\t// The callback returns early to avoid block editor subscription.\n\t\t\t\tif ( ! blockSupportsLayout ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst { getSettings, getBlockSettings } = unlock(\n\t\t\t\t\tselect( blockEditorStore )\n\t\t\t\t);\n\t\t\t\tconst { disableLayoutStyles } = getSettings();\n\n\t\t\t\tif ( disableLayoutStyles ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst [ blockGapSupport ] = getBlockSettings(\n\t\t\t\t\tclientId,\n\t\t\t\t\t'spacing.blockGap'\n\t\t\t\t);\n\n\t\t\t\treturn { blockGapSupport };\n\t\t\t},\n\t\t\t[ blockSupportsLayout, clientId ]\n\t\t);\n\n\t\tif ( ! extraProps ) {\n\t\t\treturn (\n\t\t\t\t<BlockListBlock\n\t\t\t\t\t{ ...props }\n\t\t\t\t\t__unstableLayoutClassNames={\n\t\t\t\t\t\tblockSupportsLayout ? layoutClasses : undefined\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<BlockWithLayoutStyles\n\t\t\t\tblock={ BlockListBlock }\n\t\t\t\tprops={ props }\n\t\t\t\tlayoutClasses={ layoutClasses }\n\t\t\t\t{ ...extraProps }\n\t\t\t/>\n\t\t);\n\t},\n\t'withLayoutStyles'\n);\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/layout/addAttribute',\n\taddAttribute\n);\naddFilter(\n\t'editor.BlockListBlock',\n\t'core/editor/layout/with-layout-styles',\n\twithLayoutStyles\n);\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,IAAI,MAAM,MAAM;;AAEvB;AACA;AACA;AACA,SAASC,0BAA0B,EAAEC,aAAa,QAAQ,oBAAoB;AAC9E,SAASC,SAAS,QAAQ,kBAAkB;AAC5C,SAASC,eAAe,EAAEC,eAAe,QAAQ,mBAAmB;AACpE,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SACCC,MAAM,EACNC,WAAW,EACXC,aAAa,EACbC,SAAS,EACTC,WAAW,IAAIC,qBAAqB,QAC9B,uBAAuB;AAC9B,SAASC,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,SAASC,KAAK,IAAIC,gBAAgB,QAAQ,UAAU;AACpD,SAASC,iBAAiB,QAAQ,eAAe;AACjD,SAASC,WAAW,QAAQ,4BAA4B;AACxD,SAASC,aAAa,EAAEC,cAAc,QAAQ,YAAY;AAC1D,SAASC,mBAAmB,QAAQ,kCAAkC;AACtE,SAASC,kBAAkB,QAAQ,wBAAwB;AAC3D,SAASC,gBAAgB,EAAEC,gBAAgB,QAAQ,SAAS;AAC5D,SAASC,MAAM,QAAQ,gBAAgB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,QAAA,IAAAC,SAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAExC,MAAMC,qBAAqB,GAAG,QAAQ;AACtC,MAAM;EAAEC;AAAU,CAAC,GAAGR,MAAM,CAAEZ,qBAAsB,CAAC;AAErD,SAASqB,qBAAqBA,CAAEC,SAAS,EAAG;EAC3C,OACC7B,eAAe,CAAE6B,SAAS,EAAE,QAAS,CAAC,IACtC7B,eAAe,CAAE6B,SAAS,EAAE,sBAAuB,CAAC;AAEtD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,gBAAgBA,CAAEC,eAAe,GAAG,CAAC,CAAC,EAAEF,SAAS,GAAG,EAAE,EAAG;EACxE,MAAM;IAAEG;EAAO,CAAC,GAAGD,eAAe;EAClC,MAAM;IAAEE,OAAO,EAAEC;EAAmB,CAAC,GACpCnC,eAAe,CAAE8B,SAAS,EAAEH,qBAAsB,CAAC,IAAI,CAAC,CAAC;EAC1D,MAAMS,UAAU,GACfH,MAAM,EAAEI,OAAO,IAAIJ,MAAM,EAAEK,WAAW,IAAIL,MAAM,EAAEM,QAAQ,GACvD;IAAE,GAAGN,MAAM;IAAEO,IAAI,EAAE;EAAc,CAAC,GAClCP,MAAM,IAAIE,kBAAkB,IAAI,CAAC,CAAC;EAEtC,MAAMM,gBAAgB,GAAG,EAAE;EAE3B,IAAKxB,kBAAkB,CAAEmB,UAAU,EAAEI,IAAI,IAAI,SAAS,CAAE,EAAEE,SAAS,EAAG;IACrE,MAAMC,aAAa,GAClB1B,kBAAkB,CAAEmB,UAAU,EAAEI,IAAI,IAAI,SAAS,CAAE,EAAEE,SAAS;IAC/D,MAAME,cAAc,GAAGd,SAAS,CAACe,KAAK,CAAE,GAAI,CAAC;IAC7C,MAAMC,aAAa,GAClBF,cAAc,CAAE,CAAC,CAAE,KAAK,MAAM,GAC3BA,cAAc,CAACG,GAAG,CAAC,CAAC,GACpBH,cAAc,CAACI,IAAI,CAAE,GAAI,CAAC;IAC9B,MAAMC,iBAAiB,GAAI,YAAYH,aAAe,IAAIH,aAAe,EAAC;IAC1EF,gBAAgB,CAACS,IAAI,CAAEP,aAAa,EAAEM,iBAAkB,CAAC;EAC1D;EAEA,MAAME,gBAAgB,GAAGjD,SAAS,CAC/BkD,MAAM,IAAM;IACb,OACC,CAAEhB,UAAU,EAAEC,OAAO,IACpBD,UAAU,EAAEE,WAAW,IACvBF,UAAU,EAAEI,IAAI,KAAK,aAAa,KACnCY,MAAM,CAAEzC,gBAAiB,CAAC,CAAC0C,WAAW,CAAC,CAAC,CAACC,sBAAsB,EAC5DC,6BAA6B;EAElC,CAAC,EACD,CAAEnB,UAAU,EAAEE,WAAW,EAAEF,UAAU,EAAEC,OAAO,EAAED,UAAU,EAAEI,IAAI,CACjE,CAAC;EAED,IAAKW,gBAAgB,EAAG;IACvBV,gBAAgB,CAACS,IAAI,CAAE,oBAAqB,CAAC;EAC9C;EAEA,IAAKd,UAAU,EAAEoB,WAAW,EAAG;IAC9Bf,gBAAgB,CAACS,IAAI,CAAG,MAAMtB,SAAS,CAAEQ,UAAU,CAACoB,WAAY,CAAG,EAAE,CAAC;EACvE;EAEA,IAAKpB,UAAU,EAAEqB,cAAc,EAAG;IACjChB,gBAAgB,CAACS,IAAI,CACnB,4BAA4BtB,SAAS,CACrCQ,UAAU,CAACqB,cACZ,CAAG,EACJ,CAAC;EACF;EAEA,IAAKrB,UAAU,EAAEsB,QAAQ,IAAItB,UAAU,CAACsB,QAAQ,KAAK,QAAQ,EAAG;IAC/DjB,gBAAgB,CAACS,IAAI,CAAE,WAAY,CAAC;EACrC;EAEA,OAAOT,gBAAgB;AACxB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASkB,eAAeA,CAAE3B,eAAe,GAAG,CAAC,CAAC,EAAEF,SAAS,EAAE8B,QAAQ,EAAG;EAC5E,MAAM;IAAE3B,MAAM,GAAG,CAAC,CAAC;IAAE4B,KAAK,GAAG,CAAC;EAAE,CAAC,GAAG7B,eAAe;EACnD;EACA,MAAMI,UAAU,GACfH,MAAM,EAAEI,OAAO,IAAIJ,MAAM,EAAEK,WAAW,IAAIL,MAAM,EAAEM,QAAQ,GACvD;IAAE,GAAGN,MAAM;IAAEO,IAAI,EAAE;EAAc,CAAC,GAClCP,MAAM,IAAI,CAAC,CAAC;EAChB,MAAM6B,cAAc,GAAGhD,aAAa,CAAEsB,UAAU,EAAEI,IAAI,IAAI,SAAU,CAAC;EACrE,MAAM,CAAEuB,eAAe,CAAE,GAAGlD,WAAW,CAAE,kBAAmB,CAAC;EAC7D,MAAMmD,kBAAkB,GAAGD,eAAe,KAAK,IAAI;EACnD,OAAOD,cAAc,EAAEG,cAAc,GAAI;IACxCnC,SAAS;IACT8B,QAAQ;IACR3B,MAAM;IACN4B,KAAK;IACLG;EACD,CAAE,CAAC;AACJ;AAEA,SAASE,eAAeA,CAAE;EACzBjC,MAAM;EACNkC,aAAa;EACbC,IAAI,EAAEtC,SAAS;EACfuC;AACD,CAAC,EAAG;EACH,MAAMC,QAAQ,GAAGpD,gBAAgB,CAAEY,SAAU,CAAC;EAC9C;EACA,MAAM;IAAEG,MAAM,EAAEsC;EAAe,CAAC,GAAGD,QAAQ;EAC3C,MAAM;IAAEE;EAAoB,CAAC,GAAGtE,SAAS,CAAIkD,MAAM,IAAM;IACxD,MAAM;MAAEC;IAAY,CAAC,GAAGD,MAAM,CAAEzC,gBAAiB,CAAC;IAClD,OAAO;MACN6D,mBAAmB,EAAEnB,WAAW,CAAC,CAAC,CAACoB;IACpC,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,MAAMC,gBAAgB,GAAG1D,mBAAmB,CAAC,CAAC;EAE9C,IAAK0D,gBAAgB,KAAK,SAAS,EAAG;IACrC,OAAO,IAAI;EACZ;;EAEA;EACA,MAAMC,kBAAkB,GAAG3E,eAAe,CACzC8B,SAAS,EACTH,qBAAqB,EACrB,CAAC,CACF,CAAC;EACD,MAAMiD,4BAA4B,GAAG;IACpC,GAAGL,cAAc;IACjB,GAAGI;EACJ,CAAC;EACD,MAAM;IACLE,cAAc;IACdC,YAAY,GAAG,IAAI;IACnBC,eAAe,GAAG,IAAI;IACtB7C,OAAO,EAAEC;EACV,CAAC,GAAGyC,4BAA4B;EAEhC,IAAK,CAAEE,YAAY,EAAG;IACrB,OAAO,IAAI;EACZ;;EAEA;AACD;AACA;AACA;EACC,MAAME,qBAAqB,GAAG;IAC7B,GAAGL,kBAAkB;IACrB,GAAG1C;EACJ,CAAC;EACD,MAAM;IAAEO,IAAI;IAAEN,OAAO,EAAE;MAAEM,IAAI,EAAEyC,WAAW,GAAG;IAAU,CAAC,GAAG,CAAC;EAAE,CAAC,GAC9DD,qBAAqB;EACtB,MAAME,eAAe,GAAG1C,IAAI,IAAIyC,WAAW;;EAE3C;EACA;EACA,MAAME,iBAAiB,GAAG,CAAC,EAC1BJ,eAAe,KACb,CAAEG,eAAe,IAClBA,eAAe,KAAK,SAAS,IAC7BA,eAAe,KAAK,aAAa,IACjCF,qBAAqB,CAAC3C,OAAO,CAAE,CAChC;EAED,MAAMD,UAAU,GAAGH,MAAM,IAAIE,kBAAkB,IAAI,CAAC,CAAC;EACrD,MAAM;IAAEE,OAAO,GAAG,KAAK;IAAEC,WAAW,GAAG;EAAK,CAAC,GAAGF,UAAU;EAC1D;AACD;AACA;AACA;AACA;EACC,IACC,CAAE8C,eAAe,KAAK,SAAS,IAC9BA,eAAe,KAAK,aAAa,KAClC,CAAEV,mBAAmB,EACpB;IACD,OAAO,IAAI;EACZ;EACA,MAAMY,UAAU,GAAGtE,aAAa,CAAEoE,eAAgB,CAAC;EACnD,MAAMG,eAAe,GAAGvE,aAAa,CAAE,aAAc,CAAC;EACtD,MAAMwE,+BAA+B,GACpC,CAAElD,UAAU,CAACI,IAAI,KAAMF,WAAW,IAAID,OAAO,CAAE;EAChD,MAAMkD,8BAA8B,GAAG,CAAC,CAAElD,OAAO,IAAI,CAAC,CAAEC,WAAW;EAEnE,MAAMkD,YAAY,GAAKC,OAAO,IAC7BtB,aAAa,CAAE;IAAElC,MAAM,EAAE;MAAEO,IAAI,EAAEiD;IAAQ;EAAE,CAAE,CAAC;EAC/C,MAAMC,cAAc,GAAKC,SAAS,IACjCxB,aAAa,CAAE;IAAElC,MAAM,EAAE0D;EAAU,CAAE,CAAC;EAEvC,oBACCjE,KAAA,CAAAF,SAAA;IAAAoE,QAAA,gBACCtE,IAAA,CAACV,iBAAiB;MAAAgF,QAAA,eACjBlE,KAAA,CAACpB,SAAS;QAACuF,KAAK,EAAGpF,EAAE,CAAE,QAAS,CAAG;QAAAmF,QAAA,GAChCT,iBAAiB,iBAClB7D,IAAA,CAAAE,SAAA;UAAAoE,QAAA,eACCtE,IAAA,CAACjB,aAAa;YACbyF,uBAAuB;YACvBpD,SAAS,EAAC,oCAAoC;YAC9CqD,KAAK,EAAGtF,EAAE,CAAE,gCAAiC,CAAG;YAChDuF,OAAO,EACNZ,UAAU,EAAEhB,IAAI,KAAK,aAAa,IAClCmB,8BACA;YACDU,QAAQ,EAAGA,CAAA,KACV9B,aAAa,CAAE;cACdlC,MAAM,EAAE;gBACPO,IAAI,EACH4C,UAAU,EAAEhB,IAAI,KACf,aAAa,IACdmB,8BAA8B,GAC3B,SAAS,GACT;cACL;YACD,CAAE,CACF;YACDW,IAAI,EACHd,UAAU,EAAEhB,IAAI,KAAK,aAAa,IAClCmB,8BAA8B,GAC3B9E,EAAE,CACF,wEACA,CAAC,GACDA,EAAE,CACF,2EACA;UACH,CACD;QAAC,CACD,CACF,EAEC,CAAE4B,OAAO,IAAIwC,cAAc,iBAC5BvD,IAAA,CAAC6E,kBAAkB;UAClB3D,IAAI,EAAG0C,eAAiB;UACxBe,QAAQ,EAAGT;QAAc,CACzB,CACD,EAECJ,UAAU,IAAIA,UAAU,CAAChB,IAAI,KAAK,SAAS,iBAC5C9C,IAAA,CAAC8D,UAAU,CAACgB,iBAAiB;UAC5BnE,MAAM,EAAGG,UAAY;UACrB6D,QAAQ,EAAGP,cAAgB;UAC3Bf,kBAAkB,EAAGC,4BAA8B;UACnDR,IAAI,EAAGtC,SAAW;UAClBuC,QAAQ,EAAGA;QAAU,CACrB,CACD,EACCgB,eAAe,IAAIC,+BAA+B,iBACnDhE,IAAA,CAAC+D,eAAe,CAACe,iBAAiB;UACjCnE,MAAM,EAAGG,UAAY;UACrB6D,QAAQ,EAAGP,cAAgB;UAC3Bf,kBAAkB,EAAGC,4BAA8B;UACnDR,IAAI,EAAGtC,SAAW;UAClBuC,QAAQ,EAAGA;QAAU,CACrB,CACD;MAAA,CACS;IAAC,CACM,CAAC,EAClB,CAAEhC,OAAO,IAAI+C,UAAU,iBACxB9D,IAAA,CAAC8D,UAAU,CAACiB,eAAe;MAC1BpE,MAAM,EAAGG,UAAY;MACrB6D,QAAQ,EAAGP,cAAgB;MAC3Bf,kBAAkB,EAAGA,kBAAoB;MACzCP,IAAI,EAAGtC,SAAW;MAClBuC,QAAQ,EAAGA;IAAU,CACrB,CACD;EAAA,CACA,CAAC;AAEL;AAEA,eAAe;EACdiC,oBAAoB,EAAE,IAAI;EAC1BC,IAAI,EAAErC,eAAe;EACrBsC,aAAa,EAAE,CAAE,QAAQ,CAAE;EAC3BC,UAAUA,CAAErC,IAAI,EAAG;IAClB,OAAOvC,qBAAqB,CAAEuC,IAAK,CAAC;EACrC;AACD,CAAC;AAED,SAAS+B,kBAAkBA,CAAE;EAAE3D,IAAI;EAAEyD;AAAS,CAAC,EAAG;EACjD,oBACC3E,IAAA,CAAClB,WAAW;IAAAwF,QAAA,EACT7E,cAAc,CAAC,CAAC,CAAC2F,GAAG,CAAE,CAAE;MAAEtC,IAAI;MAAE2B;IAAM,CAAC,KAAM;MAC9C,oBACCzE,IAAA,CAACnB;MACA;MAAA;QACAwG,qBAAqB,EAAG,KAAO;QAE/BC,SAAS,EAAGpE,IAAI,KAAK4B,IAAM;QAC3ByC,OAAO,EAAGA,CAAA,KAAMZ,QAAQ,CAAE7B,IAAK,CAAG;QAAAwB,QAAA,EAEhCG;MAAK,GAJD3B,IAKC,CAAC;IAEX,CAAE;EAAC,CACS,CAAC;AAEhB;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAAS0C,YAAYA,CAAExC,QAAQ,EAAG;EAAA,IAAAyC,qBAAA;EACxC,IAAK,MAAM,MAAAA,qBAAA,GAAMzC,QAAQ,CAAC0C,UAAU,EAAE/E,MAAM,cAAA8E,qBAAA,cAAAA,qBAAA,GAAI,CAAC,CAAC,CAAE,EAAG;IACtD,OAAOzC,QAAQ;EAChB;EACA,IAAKzC,qBAAqB,CAAEyC,QAAS,CAAC,EAAG;IACxCA,QAAQ,CAAC0C,UAAU,GAAG;MACrB,GAAG1C,QAAQ,CAAC0C,UAAU;MACtB/E,MAAM,EAAE;QACPO,IAAI,EAAE;MACP;IACD,CAAC;EACF;EAEA,OAAO8B,QAAQ;AAChB;AAEA,SAAS2C,qBAAqBA,CAAE;EAC/BC,KAAK,EAAEC,cAAc;EACrBC,KAAK;EACLrD,eAAe;EACfsD;AACD,CAAC,EAAG;EACH,MAAM;IAAEjD,IAAI;IAAE4C;EAAW,CAAC,GAAGI,KAAK;EAClC,MAAME,EAAE,GAAGxH,aAAa,CAAEqH,cAAe,CAAC;EAC1C,MAAM;IAAElF;EAAO,CAAC,GAAG+E,UAAU;EAC7B,MAAM;IAAE9E,OAAO,EAAEC;EAAmB,CAAC,GACpCnC,eAAe,CAAEoE,IAAI,EAAEzC,qBAAsB,CAAC,IAAI,CAAC,CAAC;EACrD,MAAMS,UAAU,GACfH,MAAM,EAAEI,OAAO,IAAIJ,MAAM,EAAEK,WAAW,IAAIL,MAAM,EAAEM,QAAQ,GACvD;IAAE,GAAGN,MAAM;IAAEO,IAAI,EAAE;EAAc,CAAC,GAClCP,MAAM,IAAIE,kBAAkB,IAAI,CAAC,CAAC;EAEtC,MAAMoF,cAAc,GAAI,gBAAgB3F,SAAS,CAAEwC,IAAK,CAAG,aAAY;EACvE;EACA,MAAMR,QAAQ,GAAI,IAAI2D,cAAgB,GAAGD,EAAI,EAAC;EAC9C,MAAMtD,kBAAkB,GAAGD,eAAe,KAAK,IAAI;;EAEnD;EACA;EACA,MAAMD,cAAc,GAAGhD,aAAa,CAAEsB,UAAU,EAAEI,IAAI,IAAI,SAAU,CAAC;EACrE,MAAMgF,GAAG,GAAG1D,cAAc,EAAEG,cAAc,GAAI;IAC7CnC,SAAS,EAAEsC,IAAI;IACfR,QAAQ;IACR3B,MAAM,EAAEG,UAAU;IAClByB,KAAK,EAAEmD,UAAU,EAAEnD,KAAK;IACxBG;EACD,CAAE,CAAC;;EAEH;EACA,MAAMyD,gBAAgB,GAAG7H,IAAI,CAC5B;IACC,CAAG,GAAG2H,cAAgB,GAAGD,EAAI,EAAC,GAAI,CAAC,CAAEE,GAAG,CAAE;EAC3C,CAAC,EACDH,aACD,CAAC;EAEDlG,gBAAgB,CAAE;IAAEqG;EAAI,CAAE,CAAC;EAE3B,oBACClG,IAAA,CAAC6F,cAAc;IAAA,GACTC,KAAK;IACVM,0BAA0B,EAAGD;EAAkB,CAC/C,CAAC;AAEJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAME,gBAAgB,GAAG9H,0BAA0B,CACvDsH,cAAc,IAAQC,KAAK,IAAM;EAClC,MAAM;IAAE/C,QAAQ;IAAED,IAAI;IAAE4C;EAAW,CAAC,GAAGI,KAAK;EAC5C,MAAMQ,mBAAmB,GAAG/F,qBAAqB,CAAEuC,IAAK,CAAC;EACzD,MAAMiD,aAAa,GAAGtF,gBAAgB,CAAEiF,UAAU,EAAE5C,IAAK,CAAC;EAC1D,MAAMyD,UAAU,GAAG3H,SAAS,CACzBkD,MAAM,IAAM;IACb;IACA,IAAK,CAAEwE,mBAAmB,EAAG;MAC5B;IACD;IAEA,MAAM;MAAEvE,WAAW;MAAEyE;IAAiB,CAAC,GAAG1G,MAAM,CAC/CgC,MAAM,CAAEzC,gBAAiB,CAC1B,CAAC;IACD,MAAM;MAAEoH;IAAoB,CAAC,GAAG1E,WAAW,CAAC,CAAC;IAE7C,IAAK0E,mBAAmB,EAAG;MAC1B;IACD;IAEA,MAAM,CAAEhE,eAAe,CAAE,GAAG+D,gBAAgB,CAC3CzD,QAAQ,EACR,kBACD,CAAC;IAED,OAAO;MAAEN;IAAgB,CAAC;EAC3B,CAAC,EACD,CAAE6D,mBAAmB,EAAEvD,QAAQ,CAChC,CAAC;EAED,IAAK,CAAEwD,UAAU,EAAG;IACnB,oBACCvG,IAAA,CAAC6F,cAAc;MAAA,GACTC,KAAK;MACVM,0BAA0B,EACzBE,mBAAmB,GAAGP,aAAa,GAAGW;IACtC,CACD,CAAC;EAEJ;EAEA,oBACC1G,IAAA,CAAC2F,qBAAqB;IACrBC,KAAK,EAAGC,cAAgB;IACxBC,KAAK,EAAGA,KAAO;IACfC,aAAa,EAAGA,aAAe;IAAA,GAC1BQ;EAAU,CACf,CAAC;AAEJ,CAAC,EACD,kBACD,CAAC;AAED9H,SAAS,CACR,0BAA0B,EAC1B,0BAA0B,EAC1B+G,YACD,CAAC;AACD/G,SAAS,CACR,uBAAuB,EACvB,uCAAuC,EACvC4H,gBACD,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["clsx","createHigherOrderComponent","useInstanceId","addFilter","getBlockSupport","hasBlockSupport","useSelect","Button","ButtonGroup","ToggleControl","PanelBody","privateApis","componentsPrivateApis","__","store","blockEditorStore","InspectorControls","useSettings","getLayoutType","getLayoutTypes","useBlockEditingMode","LAYOUT_DEFINITIONS","useBlockSettings","useStyleOverride","unlock","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","layoutBlockSupportKey","kebabCase","hasLayoutBlockSupport","blockName","useLayoutClasses","blockAttributes","layout","default","defaultBlockLayout","usedLayout","inherit","contentSize","wideSize","type","layoutClassnames","className","baseClassName","splitBlockName","split","fullBlockName","pop","join","compoundClassName","push","hasGlobalPadding","select","getSettings","__experimentalFeatures","useRootPaddingAwareAlignments","orientation","justifyContent","flexWrap","useLayoutStyles","selector","style","fullLayoutType","blockGapSupport","hasBlockGapSupport","getLayoutStyle","LayoutPanelPure","setAttributes","name","clientId","settings","layoutSettings","themeSupportsLayout","supportsLayout","blockEditingMode","layoutBlockSupport","blockSupportAndThemeSettings","allowSwitching","allowEditing","allowInheriting","blockSupportAndLayout","defaultType","blockLayoutType","showInheritToggle","layoutType","constrainedType","displayControlsForLegacyLayouts","hasContentSizeOrLegacySettings","onChangeType","newType","onChangeLayout","newLayout","children","title","__nextHasNoMarginBottom","label","checked","onChange","help","LayoutTypeSwitcher","inspectorControls","toolBarControls","shareWithChildBlocks","edit","attributeKeys","hasSupport","map","__next40pxDefaultSize","isPressed","onClick","addAttribute","_settings$attributes$","attributes","BlockWithLayoutStyles","block","BlockListBlock","props","layoutClasses","id","selectorPrefix","css","layoutClassNames","__unstableLayoutClassNames","withLayoutStyles","blockSupportsLayout","extraProps","getBlockSettings","disableLayoutStyles","undefined"],"sources":["@wordpress/block-editor/src/hooks/layout.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { createHigherOrderComponent, useInstanceId } from '@wordpress/compose';\nimport { addFilter } from '@wordpress/hooks';\nimport { getBlockSupport, hasBlockSupport } from '@wordpress/blocks';\nimport { useSelect } from '@wordpress/data';\nimport {\n\tButton,\n\tButtonGroup,\n\tToggleControl,\n\tPanelBody,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { store as blockEditorStore } from '../store';\nimport { InspectorControls } from '../components';\nimport { useSettings } from '../components/use-settings';\nimport { getLayoutType, getLayoutTypes } from '../layouts';\nimport { useBlockEditingMode } from '../components/block-editing-mode';\nimport { LAYOUT_DEFINITIONS } from '../layouts/definitions';\nimport { useBlockSettings, useStyleOverride } from './utils';\nimport { unlock } from '../lock-unlock';\n\nconst layoutBlockSupportKey = 'layout';\nconst { kebabCase } = unlock( componentsPrivateApis );\n\nfunction hasLayoutBlockSupport( blockName ) {\n\treturn (\n\t\thasBlockSupport( blockName, 'layout' ) ||\n\t\thasBlockSupport( blockName, '__experimentalLayout' )\n\t);\n}\n\n/**\n * Generates the utility classnames for the given block's layout attributes.\n *\n * @param { Object } blockAttributes Block attributes.\n * @param { string } blockName Block name.\n *\n * @return { Array } Array of CSS classname strings.\n */\nexport function useLayoutClasses( blockAttributes = {}, blockName = '' ) {\n\tconst { layout } = blockAttributes;\n\tconst { default: defaultBlockLayout } =\n\t\tgetBlockSupport( blockName, layoutBlockSupportKey ) || {};\n\tconst usedLayout =\n\t\tlayout?.inherit || layout?.contentSize || layout?.wideSize\n\t\t\t? { ...layout, type: 'constrained' }\n\t\t\t: layout || defaultBlockLayout || {};\n\n\tconst layoutClassnames = [];\n\n\tif ( LAYOUT_DEFINITIONS[ usedLayout?.type || 'default' ]?.className ) {\n\t\tconst baseClassName =\n\t\t\tLAYOUT_DEFINITIONS[ usedLayout?.type || 'default' ]?.className;\n\t\tconst splitBlockName = blockName.split( '/' );\n\t\tconst fullBlockName =\n\t\t\tsplitBlockName[ 0 ] === 'core'\n\t\t\t\t? splitBlockName.pop()\n\t\t\t\t: splitBlockName.join( '-' );\n\t\tconst compoundClassName = `wp-block-${ fullBlockName }-${ baseClassName }`;\n\t\tlayoutClassnames.push( baseClassName, compoundClassName );\n\t}\n\n\tconst hasGlobalPadding = useSelect(\n\t\t( select ) => {\n\t\t\treturn (\n\t\t\t\t( usedLayout?.inherit ||\n\t\t\t\t\tusedLayout?.contentSize ||\n\t\t\t\t\tusedLayout?.type === 'constrained' ) &&\n\t\t\t\tselect( blockEditorStore ).getSettings().__experimentalFeatures\n\t\t\t\t\t?.useRootPaddingAwareAlignments\n\t\t\t);\n\t\t},\n\t\t[ usedLayout?.contentSize, usedLayout?.inherit, usedLayout?.type ]\n\t);\n\n\tif ( hasGlobalPadding ) {\n\t\tlayoutClassnames.push( 'has-global-padding' );\n\t}\n\n\tif ( usedLayout?.orientation ) {\n\t\tlayoutClassnames.push( `is-${ kebabCase( usedLayout.orientation ) }` );\n\t}\n\n\tif ( usedLayout?.justifyContent ) {\n\t\tlayoutClassnames.push(\n\t\t\t`is-content-justification-${ kebabCase(\n\t\t\t\tusedLayout.justifyContent\n\t\t\t) }`\n\t\t);\n\t}\n\n\tif ( usedLayout?.flexWrap && usedLayout.flexWrap === 'nowrap' ) {\n\t\tlayoutClassnames.push( 'is-nowrap' );\n\t}\n\n\treturn layoutClassnames;\n}\n\n/**\n * Generates a CSS rule with the given block's layout styles.\n *\n * @param { Object } blockAttributes Block attributes.\n * @param { string } blockName Block name.\n * @param { string } selector A selector to use in generating the CSS rule.\n *\n * @return { string } CSS rule.\n */\nexport function useLayoutStyles( blockAttributes = {}, blockName, selector ) {\n\tconst { layout = {}, style = {} } = blockAttributes;\n\t// Update type for blocks using legacy layouts.\n\tconst usedLayout =\n\t\tlayout?.inherit || layout?.contentSize || layout?.wideSize\n\t\t\t? { ...layout, type: 'constrained' }\n\t\t\t: layout || {};\n\tconst fullLayoutType = getLayoutType( usedLayout?.type || 'default' );\n\tconst [ blockGapSupport ] = useSettings( 'spacing.blockGap' );\n\tconst hasBlockGapSupport = blockGapSupport !== null;\n\treturn fullLayoutType?.getLayoutStyle?.( {\n\t\tblockName,\n\t\tselector,\n\t\tlayout,\n\t\tstyle,\n\t\thasBlockGapSupport,\n\t} );\n}\n\nfunction LayoutPanelPure( {\n\tlayout,\n\tsetAttributes,\n\tname: blockName,\n\tclientId,\n} ) {\n\tconst settings = useBlockSettings( blockName );\n\t// Block settings come from theme.json under settings.[blockName].\n\tconst { layout: layoutSettings } = settings;\n\tconst { themeSupportsLayout } = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn {\n\t\t\tthemeSupportsLayout: getSettings().supportsLayout,\n\t\t};\n\t}, [] );\n\tconst blockEditingMode = useBlockEditingMode();\n\n\tif ( blockEditingMode !== 'default' ) {\n\t\treturn null;\n\t}\n\n\t// Layout block support comes from the block's block.json.\n\tconst layoutBlockSupport = getBlockSupport(\n\t\tblockName,\n\t\tlayoutBlockSupportKey,\n\t\t{}\n\t);\n\tconst blockSupportAndThemeSettings = {\n\t\t...layoutSettings,\n\t\t...layoutBlockSupport,\n\t};\n\tconst {\n\t\tallowSwitching,\n\t\tallowEditing = true,\n\t\tallowInheriting = true,\n\t\tdefault: defaultBlockLayout,\n\t} = blockSupportAndThemeSettings;\n\n\tif ( ! allowEditing ) {\n\t\treturn null;\n\t}\n\n\t/*\n\t * Try to find the layout type from either the\n\t * block's layout settings or any saved layout config.\n\t */\n\tconst blockSupportAndLayout = {\n\t\t...layoutBlockSupport,\n\t\t...layout,\n\t};\n\tconst { type, default: { type: defaultType = 'default' } = {} } =\n\t\tblockSupportAndLayout;\n\tconst blockLayoutType = type || defaultType;\n\n\t// Only show the inherit toggle if it's supported,\n\t// and either the default / flow or the constrained layout type is in use, as the toggle switches from one to the other.\n\tconst showInheritToggle = !! (\n\t\tallowInheriting &&\n\t\t( ! blockLayoutType ||\n\t\t\tblockLayoutType === 'default' ||\n\t\t\tblockLayoutType === 'constrained' ||\n\t\t\tblockSupportAndLayout.inherit )\n\t);\n\n\tconst usedLayout = layout || defaultBlockLayout || {};\n\tconst { inherit = false, contentSize = null } = usedLayout;\n\t/**\n\t * `themeSupportsLayout` is only relevant to the `default/flow` or\n\t * `constrained` layouts and it should not be taken into account when other\n\t * `layout` types are used.\n\t */\n\tif (\n\t\t( blockLayoutType === 'default' ||\n\t\t\tblockLayoutType === 'constrained' ) &&\n\t\t! themeSupportsLayout\n\t) {\n\t\treturn null;\n\t}\n\tconst layoutType = getLayoutType( blockLayoutType );\n\tconst constrainedType = getLayoutType( 'constrained' );\n\tconst displayControlsForLegacyLayouts =\n\t\t! usedLayout.type && ( contentSize || inherit );\n\tconst hasContentSizeOrLegacySettings = !! inherit || !! contentSize;\n\n\tconst onChangeType = ( newType ) =>\n\t\tsetAttributes( { layout: { type: newType } } );\n\tconst onChangeLayout = ( newLayout ) =>\n\t\tsetAttributes( { layout: newLayout } );\n\n\treturn (\n\t\t<>\n\t\t\t<InspectorControls>\n\t\t\t\t<PanelBody title={ __( 'Layout' ) }>\n\t\t\t\t\t{ showInheritToggle && (\n\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t<ToggleControl\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tlabel={ __( 'Inner blocks use content width' ) }\n\t\t\t\t\t\t\t\tchecked={\n\t\t\t\t\t\t\t\t\tlayoutType?.name === 'constrained' ||\n\t\t\t\t\t\t\t\t\thasContentSizeOrLegacySettings\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tonChange={ () =>\n\t\t\t\t\t\t\t\t\tsetAttributes( {\n\t\t\t\t\t\t\t\t\t\tlayout: {\n\t\t\t\t\t\t\t\t\t\t\ttype:\n\t\t\t\t\t\t\t\t\t\t\t\tlayoutType?.name ===\n\t\t\t\t\t\t\t\t\t\t\t\t\t'constrained' ||\n\t\t\t\t\t\t\t\t\t\t\t\thasContentSizeOrLegacySettings\n\t\t\t\t\t\t\t\t\t\t\t\t\t? 'default'\n\t\t\t\t\t\t\t\t\t\t\t\t\t: 'constrained',\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\thelp={\n\t\t\t\t\t\t\t\t\tlayoutType?.name === 'constrained' ||\n\t\t\t\t\t\t\t\t\thasContentSizeOrLegacySettings\n\t\t\t\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Nested blocks use content width with options for full and wide widths.'\n\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Nested blocks will fill the width of this container. Toggle to constrain.'\n\t\t\t\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ ! inherit && allowSwitching && (\n\t\t\t\t\t\t<LayoutTypeSwitcher\n\t\t\t\t\t\t\ttype={ blockLayoutType }\n\t\t\t\t\t\t\tonChange={ onChangeType }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ layoutType && layoutType.name !== 'default' && (\n\t\t\t\t\t\t<layoutType.inspectorControls\n\t\t\t\t\t\t\tlayout={ usedLayout }\n\t\t\t\t\t\t\tonChange={ onChangeLayout }\n\t\t\t\t\t\t\tlayoutBlockSupport={ blockSupportAndThemeSettings }\n\t\t\t\t\t\t\tname={ blockName }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ constrainedType && displayControlsForLegacyLayouts && (\n\t\t\t\t\t\t<constrainedType.inspectorControls\n\t\t\t\t\t\t\tlayout={ usedLayout }\n\t\t\t\t\t\t\tonChange={ onChangeLayout }\n\t\t\t\t\t\t\tlayoutBlockSupport={ blockSupportAndThemeSettings }\n\t\t\t\t\t\t\tname={ blockName }\n\t\t\t\t\t\t\tclientId={ clientId }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</PanelBody>\n\t\t\t</InspectorControls>\n\t\t\t{ ! inherit && layoutType && (\n\t\t\t\t<layoutType.toolBarControls\n\t\t\t\t\tlayout={ usedLayout }\n\t\t\t\t\tonChange={ onChangeLayout }\n\t\t\t\t\tlayoutBlockSupport={ layoutBlockSupport }\n\t\t\t\t\tname={ blockName }\n\t\t\t\t\tclientId={ clientId }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport default {\n\tshareWithChildBlocks: true,\n\tedit: LayoutPanelPure,\n\tattributeKeys: [ 'layout' ],\n\thasSupport( name ) {\n\t\treturn hasLayoutBlockSupport( name );\n\t},\n};\n\nfunction LayoutTypeSwitcher( { type, onChange } ) {\n\treturn (\n\t\t<ButtonGroup>\n\t\t\t{ getLayoutTypes().map( ( { name, label } ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<Button\n\t\t\t\t\t\t// TODO: Switch to `true` (40px size) if possible\n\t\t\t\t\t\t__next40pxDefaultSize={ false }\n\t\t\t\t\t\tkey={ name }\n\t\t\t\t\t\tisPressed={ type === name }\n\t\t\t\t\t\tonClick={ () => onChange( name ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ label }\n\t\t\t\t\t</Button>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</ButtonGroup>\n\t);\n}\n\n/**\n * Filters registered block settings, extending attributes to include `layout`.\n *\n * @param {Object} settings Original block settings.\n *\n * @return {Object} Filtered block settings.\n */\nexport function addAttribute( settings ) {\n\tif ( 'type' in ( settings.attributes?.layout ?? {} ) ) {\n\t\treturn settings;\n\t}\n\tif ( hasLayoutBlockSupport( settings ) ) {\n\t\tsettings.attributes = {\n\t\t\t...settings.attributes,\n\t\t\tlayout: {\n\t\t\t\ttype: 'object',\n\t\t\t},\n\t\t};\n\t}\n\n\treturn settings;\n}\n\nfunction BlockWithLayoutStyles( {\n\tblock: BlockListBlock,\n\tprops,\n\tblockGapSupport,\n\tlayoutClasses,\n} ) {\n\tconst { name, attributes } = props;\n\tconst id = useInstanceId( BlockListBlock );\n\tconst { layout } = attributes;\n\tconst { default: defaultBlockLayout } =\n\t\tgetBlockSupport( name, layoutBlockSupportKey ) || {};\n\tconst usedLayout =\n\t\tlayout?.inherit || layout?.contentSize || layout?.wideSize\n\t\t\t? { ...layout, type: 'constrained' }\n\t\t\t: layout || defaultBlockLayout || {};\n\n\tconst selectorPrefix = `wp-container-${ kebabCase( name ) }-is-layout-`;\n\t// Higher specificity to override defaults from theme.json.\n\tconst selector = `.${ selectorPrefix }${ id }`;\n\tconst hasBlockGapSupport = blockGapSupport !== null;\n\n\t// Get CSS string for the current layout type.\n\t// The CSS and `style` element is only output if it is not empty.\n\tconst fullLayoutType = getLayoutType( usedLayout?.type || 'default' );\n\tconst css = fullLayoutType?.getLayoutStyle?.( {\n\t\tblockName: name,\n\t\tselector,\n\t\tlayout: usedLayout,\n\t\tstyle: attributes?.style,\n\t\thasBlockGapSupport,\n\t} );\n\n\t// Attach a `wp-container-` id-based class name as well as a layout class name such as `is-layout-flex`.\n\tconst layoutClassNames = clsx(\n\t\t{\n\t\t\t[ `${ selectorPrefix }${ id }` ]: !! css, // Only attach a container class if there is generated CSS to be attached.\n\t\t},\n\t\tlayoutClasses\n\t);\n\n\tuseStyleOverride( { css } );\n\n\treturn (\n\t\t<BlockListBlock\n\t\t\t{ ...props }\n\t\t\t__unstableLayoutClassNames={ layoutClassNames }\n\t\t/>\n\t);\n}\n\n/**\n * Override the default block element to add the layout styles.\n *\n * @param {Function} BlockListBlock Original component.\n *\n * @return {Function} Wrapped component.\n */\nexport const withLayoutStyles = createHigherOrderComponent(\n\t( BlockListBlock ) => ( props ) => {\n\t\tconst { clientId, name, attributes } = props;\n\t\tconst blockSupportsLayout = hasLayoutBlockSupport( name );\n\t\tconst layoutClasses = useLayoutClasses( attributes, name );\n\t\tconst extraProps = useSelect(\n\t\t\t( select ) => {\n\t\t\t\t// The callback returns early to avoid block editor subscription.\n\t\t\t\tif ( ! blockSupportsLayout ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst { getSettings, getBlockSettings } = unlock(\n\t\t\t\t\tselect( blockEditorStore )\n\t\t\t\t);\n\t\t\t\tconst { disableLayoutStyles } = getSettings();\n\n\t\t\t\tif ( disableLayoutStyles ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tconst [ blockGapSupport ] = getBlockSettings(\n\t\t\t\t\tclientId,\n\t\t\t\t\t'spacing.blockGap'\n\t\t\t\t);\n\n\t\t\t\treturn { blockGapSupport };\n\t\t\t},\n\t\t\t[ blockSupportsLayout, clientId ]\n\t\t);\n\n\t\tif ( ! extraProps ) {\n\t\t\treturn (\n\t\t\t\t<BlockListBlock\n\t\t\t\t\t{ ...props }\n\t\t\t\t\t__unstableLayoutClassNames={\n\t\t\t\t\t\tblockSupportsLayout ? layoutClasses : undefined\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t);\n\t\t}\n\n\t\treturn (\n\t\t\t<BlockWithLayoutStyles\n\t\t\t\tblock={ BlockListBlock }\n\t\t\t\tprops={ props }\n\t\t\t\tlayoutClasses={ layoutClasses }\n\t\t\t\t{ ...extraProps }\n\t\t\t/>\n\t\t);\n\t},\n\t'withLayoutStyles'\n);\n\naddFilter(\n\t'blocks.registerBlockType',\n\t'core/layout/addAttribute',\n\taddAttribute\n);\naddFilter(\n\t'editor.BlockListBlock',\n\t'core/editor/layout/with-layout-styles',\n\twithLayoutStyles\n);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
|
-
import { __experimentalUseCustomUnits as useCustomUnits, __experimentalUnitControl as UnitControl, __experimentalToggleGroupControl as ToggleGroupControl, __experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon, __experimentalInputControlPrefixWrapper as InputControlPrefixWrapper } from '@wordpress/components';
|
|
4
|
+
import { __experimentalUseCustomUnits as useCustomUnits, __experimentalUnitControl as UnitControl, __experimentalToggleGroupControl as ToggleGroupControl, __experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon, __experimentalInputControlPrefixWrapper as InputControlPrefixWrapper, __experimentalVStack as VStack } from '@wordpress/components';
|
|
5
5
|
import { __ } from '@wordpress/i18n';
|
|
6
6
|
import { Icon, alignNone, stretchWide, justifyLeft, justifyCenter, justifyRight } from '@wordpress/icons';
|
|
7
7
|
import { getCSSRules } from '@wordpress/style-engine';
|
|
@@ -16,8 +16,8 @@ import { BlockControls, JustifyContentControl } from '../components';
|
|
|
16
16
|
import { shouldSkipSerialization } from '../hooks/utils';
|
|
17
17
|
import { LAYOUT_DEFINITIONS } from './definitions';
|
|
18
18
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
19
|
-
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
20
19
|
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
20
|
+
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
21
21
|
export default {
|
|
22
22
|
name: 'constrained',
|
|
23
23
|
label: __('Constrained'),
|
|
@@ -58,12 +58,12 @@ export default {
|
|
|
58
58
|
const units = useCustomUnits({
|
|
59
59
|
availableUnits: availableUnits || ['%', 'px', 'em', 'rem', 'vw']
|
|
60
60
|
});
|
|
61
|
-
return /*#__PURE__*/_jsxs(
|
|
62
|
-
|
|
63
|
-
|
|
61
|
+
return /*#__PURE__*/_jsxs(VStack, {
|
|
62
|
+
spacing: 4,
|
|
63
|
+
className: "block-editor-hooks__layout-constrained",
|
|
64
|
+
children: [allowCustomContentAndWideSize && /*#__PURE__*/_jsxs(_Fragment, {
|
|
64
65
|
children: [/*#__PURE__*/_jsx(UnitControl, {
|
|
65
66
|
__next40pxDefaultSize: true,
|
|
66
|
-
className: "block-editor-hooks__layout-controls-unit-input",
|
|
67
67
|
label: __('Content width'),
|
|
68
68
|
labelPosition: "top",
|
|
69
69
|
value: contentSize || wideSize || '',
|
|
@@ -83,7 +83,6 @@ export default {
|
|
|
83
83
|
})
|
|
84
84
|
}), /*#__PURE__*/_jsx(UnitControl, {
|
|
85
85
|
__next40pxDefaultSize: true,
|
|
86
|
-
className: "block-editor-hooks__layout-controls-unit-input",
|
|
87
86
|
label: __('Wide width'),
|
|
88
87
|
labelPosition: "top",
|
|
89
88
|
value: wideSize || contentSize || '',
|
|
@@ -102,7 +101,7 @@ export default {
|
|
|
102
101
|
})
|
|
103
102
|
})
|
|
104
103
|
}), /*#__PURE__*/_jsx("p", {
|
|
105
|
-
className: "block-editor-hooks__layout-
|
|
104
|
+
className: "block-editor-hooks__layout-constrained-helptext",
|
|
106
105
|
children: __('Customize the width for all elements that are assigned to the center or wide columns.')
|
|
107
106
|
})]
|
|
108
107
|
}), allowJustification && /*#__PURE__*/_jsx(ToggleGroupControl, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__experimentalUseCustomUnits","useCustomUnits","__experimentalUnitControl","UnitControl","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOptionIcon","ToggleGroupControlOptionIcon","__experimentalInputControlPrefixWrapper","InputControlPrefixWrapper","__","Icon","alignNone","stretchWide","justifyLeft","justifyCenter","justifyRight","getCSSRules","useSettings","appendSelectors","getBlockGapCSS","getAlignmentsInfo","getGapCSSValue","BlockControls","JustifyContentControl","shouldSkipSerialization","LAYOUT_DEFINITIONS","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","name","label","inspectorControls","DefaultLayoutInspectorControls","layout","onChange","layoutBlockSupport","wideSize","contentSize","justifyContent","allowJustification","allowCustomContentAndWideSize","onJustificationChange","value","justificationOptions","icon","availableUnits","units","children","className","__next40pxDefaultSize","labelPosition","nextWidth","parseFloat","prefix","variant","__nextHasNoMarginBottom","map","toolBarControls","DefaultLayoutToolbarControls","group","__experimentalShareWithChildBlocks","DefaultLayoutJustifyContentControl","getLayoutStyle","selector","style","blockName","hasBlockGapSupport","layoutDefinitions","blockGapStyleValue","spacing","blockGap","blockGapValue","top","marginLeft","marginRight","output","padding","paddingValues","forEach","rule","key","paddingRightValue","paddingLeftValue","getOrientation","getAlignments","alignmentInfo","alignments","undefined","includes","unshift","alignment","info","wide","none","POPOVER_PROPS","placement","allowedControls","popoverProps"],"sources":["@wordpress/block-editor/src/layouts/constrained.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon,\n\t__experimentalInputControlPrefixWrapper as InputControlPrefixWrapper,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tIcon,\n\talignNone,\n\tstretchWide,\n\tjustifyLeft,\n\tjustifyCenter,\n\tjustifyRight,\n} from '@wordpress/icons';\nimport { getCSSRules } from '@wordpress/style-engine';\n\n/**\n * Internal dependencies\n */\nimport { useSettings } from '../components/use-settings';\nimport { appendSelectors, getBlockGapCSS, getAlignmentsInfo } from './utils';\nimport { getGapCSSValue } from '../hooks/gap';\nimport { BlockControls, JustifyContentControl } from '../components';\nimport { shouldSkipSerialization } from '../hooks/utils';\nimport { LAYOUT_DEFINITIONS } from './definitions';\n\nexport default {\n\tname: 'constrained',\n\tlabel: __( 'Constrained' ),\n\tinspectorControls: function DefaultLayoutInspectorControls( {\n\t\tlayout,\n\t\tonChange,\n\t\tlayoutBlockSupport = {},\n\t} ) {\n\t\tconst { wideSize, contentSize, justifyContent = 'center' } = layout;\n\t\tconst {\n\t\t\tallowJustification = true,\n\t\t\tallowCustomContentAndWideSize = true,\n\t\t} = layoutBlockSupport;\n\t\tconst onJustificationChange = ( value ) => {\n\t\t\tonChange( {\n\t\t\t\t...layout,\n\t\t\t\tjustifyContent: value,\n\t\t\t} );\n\t\t};\n\t\tconst justificationOptions = [\n\t\t\t{\n\t\t\t\tvalue: 'left',\n\t\t\t\ticon: justifyLeft,\n\t\t\t\tlabel: __( 'Justify items left' ),\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: 'center',\n\t\t\t\ticon: justifyCenter,\n\t\t\t\tlabel: __( 'Justify items center' ),\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: 'right',\n\t\t\t\ticon: justifyRight,\n\t\t\t\tlabel: __( 'Justify items right' ),\n\t\t\t},\n\t\t];\n\t\tconst [ availableUnits ] = useSettings( 'spacing.units' );\n\t\tconst units = useCustomUnits( {\n\t\t\tavailableUnits: availableUnits || [ '%', 'px', 'em', 'rem', 'vw' ],\n\t\t} );\n\t\treturn (\n\t\t\t<>\n\t\t\t\t{ allowCustomContentAndWideSize && (\n\t\t\t\t\t<div className=\"block-editor-hooks__layout-controls-units\">\n\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tclassName=\"block-editor-hooks__layout-controls-unit-input\"\n\t\t\t\t\t\t\tlabel={ __( 'Content width' ) }\n\t\t\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\t\t\tvalue={ contentSize || wideSize || '' }\n\t\t\t\t\t\t\tonChange={ ( nextWidth ) => {\n\t\t\t\t\t\t\t\tnextWidth =\n\t\t\t\t\t\t\t\t\t0 > parseFloat( nextWidth )\n\t\t\t\t\t\t\t\t\t\t? '0'\n\t\t\t\t\t\t\t\t\t\t: nextWidth;\n\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t...layout,\n\t\t\t\t\t\t\t\t\tcontentSize: nextWidth,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\tprefix={\n\t\t\t\t\t\t\t\t<InputControlPrefixWrapper variant=\"icon\">\n\t\t\t\t\t\t\t\t\t<Icon icon={ alignNone } />\n\t\t\t\t\t\t\t\t</InputControlPrefixWrapper>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tclassName=\"block-editor-hooks__layout-controls-unit-input\"\n\t\t\t\t\t\t\tlabel={ __( 'Wide width' ) }\n\t\t\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\t\t\tvalue={ wideSize || contentSize || '' }\n\t\t\t\t\t\t\tonChange={ ( nextWidth ) => {\n\t\t\t\t\t\t\t\tnextWidth =\n\t\t\t\t\t\t\t\t\t0 > parseFloat( nextWidth )\n\t\t\t\t\t\t\t\t\t\t? '0'\n\t\t\t\t\t\t\t\t\t\t: nextWidth;\n\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t...layout,\n\t\t\t\t\t\t\t\t\twideSize: nextWidth,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\tprefix={\n\t\t\t\t\t\t\t\t<InputControlPrefixWrapper variant=\"icon\">\n\t\t\t\t\t\t\t\t\t<Icon icon={ stretchWide } />\n\t\t\t\t\t\t\t\t</InputControlPrefixWrapper>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<p className=\"block-editor-hooks__layout-controls-helptext\">\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Customize the width for all elements that are assigned to the center or wide columns.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t\t{ allowJustification && (\n\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Justification' ) }\n\t\t\t\t\t\tvalue={ justifyContent }\n\t\t\t\t\t\tonChange={ onJustificationChange }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ justificationOptions.map(\n\t\t\t\t\t\t\t( { value, icon, label } ) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\t\t\t\t\t\t\tkey={ value }\n\t\t\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t},\n\ttoolBarControls: function DefaultLayoutToolbarControls( {\n\t\tlayout = {},\n\t\tonChange,\n\t\tlayoutBlockSupport,\n\t} ) {\n\t\tconst { allowJustification = true } = layoutBlockSupport;\n\n\t\tif ( ! allowJustification ) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<BlockControls group=\"block\" __experimentalShareWithChildBlocks>\n\t\t\t\t<DefaultLayoutJustifyContentControl\n\t\t\t\t\tlayout={ layout }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t);\n\t},\n\tgetLayoutStyle: function getLayoutStyle( {\n\t\tselector,\n\t\tlayout = {},\n\t\tstyle,\n\t\tblockName,\n\t\thasBlockGapSupport,\n\t\tlayoutDefinitions = LAYOUT_DEFINITIONS,\n\t} ) {\n\t\tconst { contentSize, wideSize, justifyContent } = layout;\n\t\tconst blockGapStyleValue = getGapCSSValue( style?.spacing?.blockGap );\n\n\t\t// If a block's block.json skips serialization for spacing or\n\t\t// spacing.blockGap, don't apply the user-defined value to the styles.\n\t\tlet blockGapValue = '';\n\t\tif ( ! shouldSkipSerialization( blockName, 'spacing', 'blockGap' ) ) {\n\t\t\t// If an object is provided only use the 'top' value for this kind of gap.\n\t\t\tif ( blockGapStyleValue?.top ) {\n\t\t\t\tblockGapValue = getGapCSSValue( blockGapStyleValue?.top );\n\t\t\t} else if ( typeof blockGapStyleValue === 'string' ) {\n\t\t\t\tblockGapValue = getGapCSSValue( blockGapStyleValue );\n\t\t\t}\n\t\t}\n\n\t\tconst marginLeft =\n\t\t\tjustifyContent === 'left' ? '0 !important' : 'auto !important';\n\t\tconst marginRight =\n\t\t\tjustifyContent === 'right' ? '0 !important' : 'auto !important';\n\n\t\tlet output =\n\t\t\t!! contentSize || !! wideSize\n\t\t\t\t? `\n\t\t\t\t\t${ appendSelectors(\n\t\t\t\t\t\tselector,\n\t\t\t\t\t\t'> :where(:not(.alignleft):not(.alignright):not(.alignfull))'\n\t\t\t\t\t) } {\n\t\t\t\t\t\tmax-width: ${ contentSize ?? wideSize };\n\t\t\t\t\t\tmargin-left: ${ marginLeft };\n\t\t\t\t\t\tmargin-right: ${ marginRight };\n\t\t\t\t\t}\n\t\t\t\t\t${ appendSelectors( selector, '> .alignwide' ) } {\n\t\t\t\t\t\tmax-width: ${ wideSize ?? contentSize };\n\t\t\t\t\t}\n\t\t\t\t\t${ appendSelectors( selector, '> .alignfull' ) } {\n\t\t\t\t\t\tmax-width: none;\n\t\t\t\t\t}\n\t\t\t\t`\n\t\t\t\t: '';\n\n\t\tif ( justifyContent === 'left' ) {\n\t\t\toutput += `${ appendSelectors(\n\t\t\t\tselector,\n\t\t\t\t'> :where(:not(.alignleft):not(.alignright):not(.alignfull))'\n\t\t\t) }\n\t\t\t{ margin-left: ${ marginLeft }; }`;\n\t\t} else if ( justifyContent === 'right' ) {\n\t\t\toutput += `${ appendSelectors(\n\t\t\t\tselector,\n\t\t\t\t'> :where(:not(.alignleft):not(.alignright):not(.alignfull))'\n\t\t\t) }\n\t\t\t{ margin-right: ${ marginRight }; }`;\n\t\t}\n\n\t\t// If there is custom padding, add negative margins for alignfull blocks.\n\t\tif ( style?.spacing?.padding ) {\n\t\t\t// The style object might be storing a preset so we need to make sure we get a usable value.\n\t\t\tconst paddingValues = getCSSRules( style );\n\t\t\tpaddingValues.forEach( ( rule ) => {\n\t\t\t\tif ( rule.key === 'paddingRight' ) {\n\t\t\t\t\t// Add unit if 0, to avoid calc(0 * -1) which is invalid.\n\t\t\t\t\tconst paddingRightValue =\n\t\t\t\t\t\trule.value === '0' ? '0px' : rule.value;\n\n\t\t\t\t\toutput += `\n\t\t\t\t\t${ appendSelectors( selector, '> .alignfull' ) } {\n\t\t\t\t\t\tmargin-right: calc(${ paddingRightValue } * -1);\n\t\t\t\t\t}\n\t\t\t\t\t`;\n\t\t\t\t} else if ( rule.key === 'paddingLeft' ) {\n\t\t\t\t\t// Add unit if 0, to avoid calc(0 * -1) which is invalid.\n\t\t\t\t\tconst paddingLeftValue =\n\t\t\t\t\t\trule.value === '0' ? '0px' : rule.value;\n\n\t\t\t\t\toutput += `\n\t\t\t\t\t${ appendSelectors( selector, '> .alignfull' ) } {\n\t\t\t\t\t\tmargin-left: calc(${ paddingLeftValue } * -1);\n\t\t\t\t\t}\n\t\t\t\t\t`;\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\t// Output blockGap styles based on rules contained in layout definitions in theme.json.\n\t\tif ( hasBlockGapSupport && blockGapValue ) {\n\t\t\toutput += getBlockGapCSS(\n\t\t\t\tselector,\n\t\t\t\tlayoutDefinitions,\n\t\t\t\t'constrained',\n\t\t\t\tblockGapValue\n\t\t\t);\n\t\t}\n\t\treturn output;\n\t},\n\tgetOrientation() {\n\t\treturn 'vertical';\n\t},\n\tgetAlignments( layout ) {\n\t\tconst alignmentInfo = getAlignmentsInfo( layout );\n\t\tif ( layout.alignments !== undefined ) {\n\t\t\tif ( ! layout.alignments.includes( 'none' ) ) {\n\t\t\t\tlayout.alignments.unshift( 'none' );\n\t\t\t}\n\t\t\treturn layout.alignments.map( ( alignment ) => ( {\n\t\t\t\tname: alignment,\n\t\t\t\tinfo: alignmentInfo[ alignment ],\n\t\t\t} ) );\n\t\t}\n\t\tconst { contentSize, wideSize } = layout;\n\n\t\tconst alignments = [\n\t\t\t{ name: 'left' },\n\t\t\t{ name: 'center' },\n\t\t\t{ name: 'right' },\n\t\t];\n\n\t\tif ( contentSize ) {\n\t\t\talignments.unshift( { name: 'full' } );\n\t\t}\n\n\t\tif ( wideSize ) {\n\t\t\talignments.unshift( { name: 'wide', info: alignmentInfo.wide } );\n\t\t}\n\n\t\talignments.unshift( { name: 'none', info: alignmentInfo.none } );\n\n\t\treturn alignments;\n\t},\n};\n\nconst POPOVER_PROPS = {\n\tplacement: 'bottom-start',\n};\n\nfunction DefaultLayoutJustifyContentControl( { layout, onChange } ) {\n\tconst { justifyContent = 'center' } = layout;\n\tconst onJustificationChange = ( value ) => {\n\t\tonChange( {\n\t\t\t...layout,\n\t\t\tjustifyContent: value,\n\t\t} );\n\t};\n\tconst allowedControls = [ 'left', 'center', 'right' ];\n\n\treturn (\n\t\t<JustifyContentControl\n\t\t\tallowedControls={ allowedControls }\n\t\t\tvalue={ justifyContent }\n\t\t\tonChange={ onJustificationChange }\n\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t/>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["__experimentalUseCustomUnits","useCustomUnits","__experimentalUnitControl","UnitControl","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOptionIcon","ToggleGroupControlOptionIcon","__experimentalInputControlPrefixWrapper","InputControlPrefixWrapper","__experimentalVStack","VStack","__","Icon","alignNone","stretchWide","justifyLeft","justifyCenter","justifyRight","getCSSRules","useSettings","appendSelectors","getBlockGapCSS","getAlignmentsInfo","getGapCSSValue","BlockControls","JustifyContentControl","shouldSkipSerialization","LAYOUT_DEFINITIONS","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","name","label","inspectorControls","DefaultLayoutInspectorControls","layout","onChange","layoutBlockSupport","wideSize","contentSize","justifyContent","allowJustification","allowCustomContentAndWideSize","onJustificationChange","value","justificationOptions","icon","availableUnits","units","spacing","className","children","__next40pxDefaultSize","labelPosition","nextWidth","parseFloat","prefix","variant","__nextHasNoMarginBottom","map","toolBarControls","DefaultLayoutToolbarControls","group","__experimentalShareWithChildBlocks","DefaultLayoutJustifyContentControl","getLayoutStyle","selector","style","blockName","hasBlockGapSupport","layoutDefinitions","blockGapStyleValue","blockGap","blockGapValue","top","marginLeft","marginRight","output","padding","paddingValues","forEach","rule","key","paddingRightValue","paddingLeftValue","getOrientation","getAlignments","alignmentInfo","alignments","undefined","includes","unshift","alignment","info","wide","none","POPOVER_PROPS","placement","allowedControls","popoverProps"],"sources":["@wordpress/block-editor/src/layouts/constrained.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOptionIcon as ToggleGroupControlOptionIcon,\n\t__experimentalInputControlPrefixWrapper as InputControlPrefixWrapper,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tIcon,\n\talignNone,\n\tstretchWide,\n\tjustifyLeft,\n\tjustifyCenter,\n\tjustifyRight,\n} from '@wordpress/icons';\nimport { getCSSRules } from '@wordpress/style-engine';\n\n/**\n * Internal dependencies\n */\nimport { useSettings } from '../components/use-settings';\nimport { appendSelectors, getBlockGapCSS, getAlignmentsInfo } from './utils';\nimport { getGapCSSValue } from '../hooks/gap';\nimport { BlockControls, JustifyContentControl } from '../components';\nimport { shouldSkipSerialization } from '../hooks/utils';\nimport { LAYOUT_DEFINITIONS } from './definitions';\n\nexport default {\n\tname: 'constrained',\n\tlabel: __( 'Constrained' ),\n\tinspectorControls: function DefaultLayoutInspectorControls( {\n\t\tlayout,\n\t\tonChange,\n\t\tlayoutBlockSupport = {},\n\t} ) {\n\t\tconst { wideSize, contentSize, justifyContent = 'center' } = layout;\n\t\tconst {\n\t\t\tallowJustification = true,\n\t\t\tallowCustomContentAndWideSize = true,\n\t\t} = layoutBlockSupport;\n\t\tconst onJustificationChange = ( value ) => {\n\t\t\tonChange( {\n\t\t\t\t...layout,\n\t\t\t\tjustifyContent: value,\n\t\t\t} );\n\t\t};\n\t\tconst justificationOptions = [\n\t\t\t{\n\t\t\t\tvalue: 'left',\n\t\t\t\ticon: justifyLeft,\n\t\t\t\tlabel: __( 'Justify items left' ),\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: 'center',\n\t\t\t\ticon: justifyCenter,\n\t\t\t\tlabel: __( 'Justify items center' ),\n\t\t\t},\n\t\t\t{\n\t\t\t\tvalue: 'right',\n\t\t\t\ticon: justifyRight,\n\t\t\t\tlabel: __( 'Justify items right' ),\n\t\t\t},\n\t\t];\n\t\tconst [ availableUnits ] = useSettings( 'spacing.units' );\n\t\tconst units = useCustomUnits( {\n\t\t\tavailableUnits: availableUnits || [ '%', 'px', 'em', 'rem', 'vw' ],\n\t\t} );\n\t\treturn (\n\t\t\t<VStack\n\t\t\t\tspacing={ 4 }\n\t\t\t\tclassName=\"block-editor-hooks__layout-constrained\"\n\t\t\t>\n\t\t\t\t{ allowCustomContentAndWideSize && (\n\t\t\t\t\t<>\n\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tlabel={ __( 'Content width' ) }\n\t\t\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\t\t\tvalue={ contentSize || wideSize || '' }\n\t\t\t\t\t\t\tonChange={ ( nextWidth ) => {\n\t\t\t\t\t\t\t\tnextWidth =\n\t\t\t\t\t\t\t\t\t0 > parseFloat( nextWidth )\n\t\t\t\t\t\t\t\t\t\t? '0'\n\t\t\t\t\t\t\t\t\t\t: nextWidth;\n\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t...layout,\n\t\t\t\t\t\t\t\t\tcontentSize: nextWidth,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\tprefix={\n\t\t\t\t\t\t\t\t<InputControlPrefixWrapper variant=\"icon\">\n\t\t\t\t\t\t\t\t\t<Icon icon={ alignNone } />\n\t\t\t\t\t\t\t\t</InputControlPrefixWrapper>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tlabel={ __( 'Wide width' ) }\n\t\t\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\t\t\tvalue={ wideSize || contentSize || '' }\n\t\t\t\t\t\t\tonChange={ ( nextWidth ) => {\n\t\t\t\t\t\t\t\tnextWidth =\n\t\t\t\t\t\t\t\t\t0 > parseFloat( nextWidth )\n\t\t\t\t\t\t\t\t\t\t? '0'\n\t\t\t\t\t\t\t\t\t\t: nextWidth;\n\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t...layout,\n\t\t\t\t\t\t\t\t\twideSize: nextWidth,\n\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\tprefix={\n\t\t\t\t\t\t\t\t<InputControlPrefixWrapper variant=\"icon\">\n\t\t\t\t\t\t\t\t\t<Icon icon={ stretchWide } />\n\t\t\t\t\t\t\t\t</InputControlPrefixWrapper>\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<p className=\"block-editor-hooks__layout-constrained-helptext\">\n\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t'Customize the width for all elements that are assigned to the center or wide columns.'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</p>\n\t\t\t\t\t</>\n\t\t\t\t) }\n\t\t\t\t{ allowJustification && (\n\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Justification' ) }\n\t\t\t\t\t\tvalue={ justifyContent }\n\t\t\t\t\t\tonChange={ onJustificationChange }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ justificationOptions.map(\n\t\t\t\t\t\t\t( { value, icon, label } ) => {\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<ToggleGroupControlOptionIcon\n\t\t\t\t\t\t\t\t\t\tkey={ value }\n\t\t\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\t\t\ticon={ icon }\n\t\t\t\t\t\t\t\t\t\tlabel={ label }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t) }\n\t\t\t</VStack>\n\t\t);\n\t},\n\ttoolBarControls: function DefaultLayoutToolbarControls( {\n\t\tlayout = {},\n\t\tonChange,\n\t\tlayoutBlockSupport,\n\t} ) {\n\t\tconst { allowJustification = true } = layoutBlockSupport;\n\n\t\tif ( ! allowJustification ) {\n\t\t\treturn null;\n\t\t}\n\t\treturn (\n\t\t\t<BlockControls group=\"block\" __experimentalShareWithChildBlocks>\n\t\t\t\t<DefaultLayoutJustifyContentControl\n\t\t\t\t\tlayout={ layout }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t/>\n\t\t\t</BlockControls>\n\t\t);\n\t},\n\tgetLayoutStyle: function getLayoutStyle( {\n\t\tselector,\n\t\tlayout = {},\n\t\tstyle,\n\t\tblockName,\n\t\thasBlockGapSupport,\n\t\tlayoutDefinitions = LAYOUT_DEFINITIONS,\n\t} ) {\n\t\tconst { contentSize, wideSize, justifyContent } = layout;\n\t\tconst blockGapStyleValue = getGapCSSValue( style?.spacing?.blockGap );\n\n\t\t// If a block's block.json skips serialization for spacing or\n\t\t// spacing.blockGap, don't apply the user-defined value to the styles.\n\t\tlet blockGapValue = '';\n\t\tif ( ! shouldSkipSerialization( blockName, 'spacing', 'blockGap' ) ) {\n\t\t\t// If an object is provided only use the 'top' value for this kind of gap.\n\t\t\tif ( blockGapStyleValue?.top ) {\n\t\t\t\tblockGapValue = getGapCSSValue( blockGapStyleValue?.top );\n\t\t\t} else if ( typeof blockGapStyleValue === 'string' ) {\n\t\t\t\tblockGapValue = getGapCSSValue( blockGapStyleValue );\n\t\t\t}\n\t\t}\n\n\t\tconst marginLeft =\n\t\t\tjustifyContent === 'left' ? '0 !important' : 'auto !important';\n\t\tconst marginRight =\n\t\t\tjustifyContent === 'right' ? '0 !important' : 'auto !important';\n\n\t\tlet output =\n\t\t\t!! contentSize || !! wideSize\n\t\t\t\t? `\n\t\t\t\t\t${ appendSelectors(\n\t\t\t\t\t\tselector,\n\t\t\t\t\t\t'> :where(:not(.alignleft):not(.alignright):not(.alignfull))'\n\t\t\t\t\t) } {\n\t\t\t\t\t\tmax-width: ${ contentSize ?? wideSize };\n\t\t\t\t\t\tmargin-left: ${ marginLeft };\n\t\t\t\t\t\tmargin-right: ${ marginRight };\n\t\t\t\t\t}\n\t\t\t\t\t${ appendSelectors( selector, '> .alignwide' ) } {\n\t\t\t\t\t\tmax-width: ${ wideSize ?? contentSize };\n\t\t\t\t\t}\n\t\t\t\t\t${ appendSelectors( selector, '> .alignfull' ) } {\n\t\t\t\t\t\tmax-width: none;\n\t\t\t\t\t}\n\t\t\t\t`\n\t\t\t\t: '';\n\n\t\tif ( justifyContent === 'left' ) {\n\t\t\toutput += `${ appendSelectors(\n\t\t\t\tselector,\n\t\t\t\t'> :where(:not(.alignleft):not(.alignright):not(.alignfull))'\n\t\t\t) }\n\t\t\t{ margin-left: ${ marginLeft }; }`;\n\t\t} else if ( justifyContent === 'right' ) {\n\t\t\toutput += `${ appendSelectors(\n\t\t\t\tselector,\n\t\t\t\t'> :where(:not(.alignleft):not(.alignright):not(.alignfull))'\n\t\t\t) }\n\t\t\t{ margin-right: ${ marginRight }; }`;\n\t\t}\n\n\t\t// If there is custom padding, add negative margins for alignfull blocks.\n\t\tif ( style?.spacing?.padding ) {\n\t\t\t// The style object might be storing a preset so we need to make sure we get a usable value.\n\t\t\tconst paddingValues = getCSSRules( style );\n\t\t\tpaddingValues.forEach( ( rule ) => {\n\t\t\t\tif ( rule.key === 'paddingRight' ) {\n\t\t\t\t\t// Add unit if 0, to avoid calc(0 * -1) which is invalid.\n\t\t\t\t\tconst paddingRightValue =\n\t\t\t\t\t\trule.value === '0' ? '0px' : rule.value;\n\n\t\t\t\t\toutput += `\n\t\t\t\t\t${ appendSelectors( selector, '> .alignfull' ) } {\n\t\t\t\t\t\tmargin-right: calc(${ paddingRightValue } * -1);\n\t\t\t\t\t}\n\t\t\t\t\t`;\n\t\t\t\t} else if ( rule.key === 'paddingLeft' ) {\n\t\t\t\t\t// Add unit if 0, to avoid calc(0 * -1) which is invalid.\n\t\t\t\t\tconst paddingLeftValue =\n\t\t\t\t\t\trule.value === '0' ? '0px' : rule.value;\n\n\t\t\t\t\toutput += `\n\t\t\t\t\t${ appendSelectors( selector, '> .alignfull' ) } {\n\t\t\t\t\t\tmargin-left: calc(${ paddingLeftValue } * -1);\n\t\t\t\t\t}\n\t\t\t\t\t`;\n\t\t\t\t}\n\t\t\t} );\n\t\t}\n\n\t\t// Output blockGap styles based on rules contained in layout definitions in theme.json.\n\t\tif ( hasBlockGapSupport && blockGapValue ) {\n\t\t\toutput += getBlockGapCSS(\n\t\t\t\tselector,\n\t\t\t\tlayoutDefinitions,\n\t\t\t\t'constrained',\n\t\t\t\tblockGapValue\n\t\t\t);\n\t\t}\n\t\treturn output;\n\t},\n\tgetOrientation() {\n\t\treturn 'vertical';\n\t},\n\tgetAlignments( layout ) {\n\t\tconst alignmentInfo = getAlignmentsInfo( layout );\n\t\tif ( layout.alignments !== undefined ) {\n\t\t\tif ( ! layout.alignments.includes( 'none' ) ) {\n\t\t\t\tlayout.alignments.unshift( 'none' );\n\t\t\t}\n\t\t\treturn layout.alignments.map( ( alignment ) => ( {\n\t\t\t\tname: alignment,\n\t\t\t\tinfo: alignmentInfo[ alignment ],\n\t\t\t} ) );\n\t\t}\n\t\tconst { contentSize, wideSize } = layout;\n\n\t\tconst alignments = [\n\t\t\t{ name: 'left' },\n\t\t\t{ name: 'center' },\n\t\t\t{ name: 'right' },\n\t\t];\n\n\t\tif ( contentSize ) {\n\t\t\talignments.unshift( { name: 'full' } );\n\t\t}\n\n\t\tif ( wideSize ) {\n\t\t\talignments.unshift( { name: 'wide', info: alignmentInfo.wide } );\n\t\t}\n\n\t\talignments.unshift( { name: 'none', info: alignmentInfo.none } );\n\n\t\treturn alignments;\n\t},\n};\n\nconst POPOVER_PROPS = {\n\tplacement: 'bottom-start',\n};\n\nfunction DefaultLayoutJustifyContentControl( { layout, onChange } ) {\n\tconst { justifyContent = 'center' } = layout;\n\tconst onJustificationChange = ( value ) => {\n\t\tonChange( {\n\t\t\t...layout,\n\t\t\tjustifyContent: value,\n\t\t} );\n\t};\n\tconst allowedControls = [ 'left', 'center', 'right' ];\n\n\treturn (\n\t\t<JustifyContentControl\n\t\t\tallowedControls={ allowedControls }\n\t\t\tvalue={ justifyContent }\n\t\t\tonChange={ onJustificationChange }\n\t\t\tpopoverProps={ POPOVER_PROPS }\n\t\t/>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* WordPress dependencies
|
|
3
3
|
*/
|
|
4
4
|
import { __ } from '@wordpress/i18n';
|
|
5
|
-
import { BaseControl, Flex, FlexItem, RangeControl, __experimentalNumberControl as NumberControl, __experimentalToggleGroupControl as ToggleGroupControl, __experimentalToggleGroupControlOption as ToggleGroupControlOption, __experimentalUnitControl as UnitControl, __experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue } from '@wordpress/components';
|
|
5
|
+
import { BaseControl, Flex, FlexItem, RangeControl, __experimentalNumberControl as NumberControl, __experimentalToggleGroupControl as ToggleGroupControl, __experimentalToggleGroupControlOption as ToggleGroupControlOption, __experimentalUnitControl as UnitControl, __experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue, __experimentalVStack as VStack } from '@wordpress/components';
|
|
6
6
|
import { useState } from '@wordpress/element';
|
|
7
7
|
|
|
8
8
|
/**
|
|
@@ -13,8 +13,8 @@ import { getGapCSSValue } from '../hooks/gap';
|
|
|
13
13
|
import { shouldSkipSerialization } from '../hooks/utils';
|
|
14
14
|
import { LAYOUT_DEFINITIONS } from './definitions';
|
|
15
15
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
16
|
-
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
17
16
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
17
|
+
import { Fragment as _Fragment } from "react/jsx-runtime";
|
|
18
18
|
const RANGE_CONTROL_MAX_VALUES = {
|
|
19
19
|
px: 600,
|
|
20
20
|
'%': 100,
|
|
@@ -72,19 +72,22 @@ export default {
|
|
|
72
72
|
|
|
73
73
|
// In the experiment we want to also show column control in Auto mode, and
|
|
74
74
|
// the minimum width control in Manual mode.
|
|
75
|
-
const showColumnsControl = window.__experimentalEnableGridInteractivity || layout?.columnCount;
|
|
75
|
+
const showColumnsControl = window.__experimentalEnableGridInteractivity || !!layout?.columnCount;
|
|
76
76
|
const showMinWidthControl = window.__experimentalEnableGridInteractivity || !layout?.columnCount;
|
|
77
77
|
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
78
78
|
children: [/*#__PURE__*/_jsx(GridLayoutTypeControl, {
|
|
79
79
|
layout: layout,
|
|
80
80
|
onChange: onChange
|
|
81
|
-
}),
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
81
|
+
}), /*#__PURE__*/_jsxs(VStack, {
|
|
82
|
+
spacing: 4,
|
|
83
|
+
children: [showColumnsControl && /*#__PURE__*/_jsx(GridLayoutColumnsAndRowsControl, {
|
|
84
|
+
layout: layout,
|
|
85
|
+
onChange: onChange,
|
|
86
|
+
allowSizingOnChildren: allowSizingOnChildren
|
|
87
|
+
}), showMinWidthControl && /*#__PURE__*/_jsx(GridLayoutMinimumWidthControl, {
|
|
88
|
+
layout: layout,
|
|
89
|
+
onChange: onChange
|
|
90
|
+
})]
|
|
88
91
|
})]
|
|
89
92
|
});
|
|
90
93
|
},
|
|
@@ -264,14 +267,14 @@ function GridLayoutColumnsAndRowsControl({
|
|
|
264
267
|
if (window.__experimentalEnableGridInteractivity) {
|
|
265
268
|
// Allow unsetting the column count when in auto mode.
|
|
266
269
|
const defaultNewColumnCount = isManualPlacement ? 1 : undefined;
|
|
267
|
-
const newColumnCount = value === '' ? defaultNewColumnCount : parseInt(value, 10);
|
|
270
|
+
const newColumnCount = value === '' || value === '0' ? defaultNewColumnCount : parseInt(value, 10);
|
|
268
271
|
onChange({
|
|
269
272
|
...layout,
|
|
270
273
|
columnCount: newColumnCount
|
|
271
274
|
});
|
|
272
275
|
} else {
|
|
273
276
|
// Don't allow unsetting the column count.
|
|
274
|
-
const newColumnCount = value === '' ? 1 : parseInt(value, 10);
|
|
277
|
+
const newColumnCount = value === '' || value === '0' ? 1 : parseInt(value, 10);
|
|
275
278
|
onChange({
|
|
276
279
|
...layout,
|
|
277
280
|
columnCount: newColumnCount
|
|
@@ -279,7 +282,7 @@ function GridLayoutColumnsAndRowsControl({
|
|
|
279
282
|
}
|
|
280
283
|
},
|
|
281
284
|
value: columnCount,
|
|
282
|
-
min:
|
|
285
|
+
min: 1,
|
|
283
286
|
label: __('Columns'),
|
|
284
287
|
hideLabelFromVision: !window.__experimentalEnableGridInteractivity || !isManualPlacement
|
|
285
288
|
})
|
|
@@ -289,24 +292,24 @@ function GridLayoutColumnsAndRowsControl({
|
|
|
289
292
|
size: "__unstable-large",
|
|
290
293
|
onChange: value => {
|
|
291
294
|
// Don't allow unsetting the row count.
|
|
292
|
-
const newRowCount = value === '' ? 1 : parseInt(value, 10);
|
|
295
|
+
const newRowCount = value === '' || value === '0' ? 1 : parseInt(value, 10);
|
|
293
296
|
onChange({
|
|
294
297
|
...layout,
|
|
295
298
|
rowCount: newRowCount
|
|
296
299
|
});
|
|
297
300
|
},
|
|
298
301
|
value: rowCount,
|
|
299
|
-
min:
|
|
302
|
+
min: 1,
|
|
300
303
|
label: __('Rows')
|
|
301
304
|
}) : /*#__PURE__*/_jsx(RangeControl, {
|
|
302
305
|
__next40pxDefaultSize: true,
|
|
303
306
|
__nextHasNoMarginBottom: true,
|
|
304
|
-
value: columnCount !== null && columnCount !== void 0 ? columnCount :
|
|
307
|
+
value: columnCount !== null && columnCount !== void 0 ? columnCount : 1,
|
|
305
308
|
onChange: value => onChange({
|
|
306
309
|
...layout,
|
|
307
|
-
columnCount: value
|
|
310
|
+
columnCount: value === '' || value === '0' ? 1 : value
|
|
308
311
|
}),
|
|
309
|
-
min:
|
|
312
|
+
min: 1,
|
|
310
313
|
max: 16,
|
|
311
314
|
withInputField: false,
|
|
312
315
|
label: __('Columns'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__","BaseControl","Flex","FlexItem","RangeControl","__experimentalNumberControl","NumberControl","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","__experimentalUnitControl","UnitControl","__experimentalParseQuantityAndUnitFromRawValue","parseQuantityAndUnitFromRawValue","useState","appendSelectors","getBlockGapCSS","getGapCSSValue","shouldSkipSerialization","LAYOUT_DEFINITIONS","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","RANGE_CONTROL_MAX_VALUES","px","vw","vh","em","rem","svw","lvw","dvw","svh","lvh","dvh","vi","svi","lvi","dvi","vb","svb","lvb","dvb","vmin","svmin","lvmin","dvmin","vmax","svmax","lvmax","dvmax","units","value","label","default","name","inspectorControls","GridLayoutInspectorControls","layout","onChange","layoutBlockSupport","allowSizingOnChildren","showColumnsControl","window","__experimentalEnableGridInteractivity","columnCount","showMinWidthControl","children","GridLayoutTypeControl","GridLayoutColumnsAndRowsControl","GridLayoutMinimumWidthControl","toolBarControls","GridLayoutToolbarControls","getLayoutStyle","selector","style","blockName","hasBlockGapSupport","layoutDefinitions","minimumColumnWidth","rowCount","process","env","NODE_ENV","Error","blockGapValue","spacing","blockGap","undefined","output","rules","maxValue","push","length","join","getOrientation","getAlignments","isManualPlacement","defaultValue","quantity","unit","handleSliderChange","next","handleUnitChange","newUnit","newValue","includes","toFixed","Math","round","VisualLabel","as","gap","isBlock","size","onUnitChange","min","hideLabelFromVision","__next40pxDefaultSize","__nextHasNoMarginBottom","max","withInputField","defaultColumnCount","defaultNewColumnCount","newColumnCount","parseInt","newRowCount","tempColumnCount","setTempColumnCount","tempRowCount","setTempRowCount","tempMinimumColumnWidth","setTempMinimumColumnWidth","gridPlacement","onChangeType","helpText","help"],"sources":["@wordpress/block-editor/src/layouts/grid.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\nimport {\n\tBaseControl,\n\tFlex,\n\tFlexItem,\n\tRangeControl,\n\t__experimentalNumberControl as NumberControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue,\n} from '@wordpress/components';\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { appendSelectors, getBlockGapCSS } from './utils';\nimport { getGapCSSValue } from '../hooks/gap';\nimport { shouldSkipSerialization } from '../hooks/utils';\nimport { LAYOUT_DEFINITIONS } from './definitions';\n\nconst RANGE_CONTROL_MAX_VALUES = {\n\tpx: 600,\n\t'%': 100,\n\tvw: 100,\n\tvh: 100,\n\tem: 38,\n\trem: 38,\n\tsvw: 100,\n\tlvw: 100,\n\tdvw: 100,\n\tsvh: 100,\n\tlvh: 100,\n\tdvh: 100,\n\tvi: 100,\n\tsvi: 100,\n\tlvi: 100,\n\tdvi: 100,\n\tvb: 100,\n\tsvb: 100,\n\tlvb: 100,\n\tdvb: 100,\n\tvmin: 100,\n\tsvmin: 100,\n\tlvmin: 100,\n\tdvmin: 100,\n\tvmax: 100,\n\tsvmax: 100,\n\tlvmax: 100,\n\tdvmax: 100,\n};\n\nconst units = [\n\t{ value: 'px', label: 'px', default: 0 },\n\t{ value: 'rem', label: 'rem', default: 0 },\n\t{ value: 'em', label: 'em', default: 0 },\n];\n\nexport default {\n\tname: 'grid',\n\tlabel: __( 'Grid' ),\n\tinspectorControls: function GridLayoutInspectorControls( {\n\t\tlayout = {},\n\t\tonChange,\n\t\tlayoutBlockSupport = {},\n\t} ) {\n\t\tconst { allowSizingOnChildren = false } = layoutBlockSupport;\n\n\t\t// In the experiment we want to also show column control in Auto mode, and\n\t\t// the minimum width control in Manual mode.\n\t\tconst showColumnsControl =\n\t\t\twindow.__experimentalEnableGridInteractivity || layout?.columnCount;\n\t\tconst showMinWidthControl =\n\t\t\twindow.__experimentalEnableGridInteractivity ||\n\t\t\t! layout?.columnCount;\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<GridLayoutTypeControl\n\t\t\t\t\tlayout={ layout }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t/>\n\t\t\t\t{ showColumnsControl && (\n\t\t\t\t\t<GridLayoutColumnsAndRowsControl\n\t\t\t\t\t\tlayout={ layout }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\tallowSizingOnChildren={ allowSizingOnChildren }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t{ showMinWidthControl && (\n\t\t\t\t\t<GridLayoutMinimumWidthControl\n\t\t\t\t\t\tlayout={ layout }\n\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t},\n\ttoolBarControls: function GridLayoutToolbarControls() {\n\t\treturn null;\n\t},\n\tgetLayoutStyle: function getLayoutStyle( {\n\t\tselector,\n\t\tlayout,\n\t\tstyle,\n\t\tblockName,\n\t\thasBlockGapSupport,\n\t\tlayoutDefinitions = LAYOUT_DEFINITIONS,\n\t} ) {\n\t\tconst {\n\t\t\tminimumColumnWidth = null,\n\t\t\tcolumnCount = null,\n\t\t\trowCount = null,\n\t\t} = layout;\n\n\t\t// Check that the grid layout attributes are of the correct type, so that we don't accidentally\n\t\t// write code that stores a string attribute instead of a number.\n\t\tif ( process.env.NODE_ENV === 'development' ) {\n\t\t\tif (\n\t\t\t\tminimumColumnWidth &&\n\t\t\t\ttypeof minimumColumnWidth !== 'string'\n\t\t\t) {\n\t\t\t\tthrow new Error( 'minimumColumnWidth must be a string' );\n\t\t\t}\n\t\t\tif ( columnCount && typeof columnCount !== 'number' ) {\n\t\t\t\tthrow new Error( 'columnCount must be a number' );\n\t\t\t}\n\t\t\tif ( rowCount && typeof rowCount !== 'number' ) {\n\t\t\t\tthrow new Error( 'rowCount must be a number' );\n\t\t\t}\n\t\t}\n\n\t\t// If a block's block.json skips serialization for spacing or spacing.blockGap,\n\t\t// don't apply the user-defined value to the styles.\n\t\tconst blockGapValue =\n\t\t\tstyle?.spacing?.blockGap &&\n\t\t\t! shouldSkipSerialization( blockName, 'spacing', 'blockGap' )\n\t\t\t\t? getGapCSSValue( style?.spacing?.blockGap, '0.5em' )\n\t\t\t\t: undefined;\n\n\t\tlet output = '';\n\t\tconst rules = [];\n\n\t\tif ( minimumColumnWidth && columnCount > 0 ) {\n\t\t\tconst maxValue = `max(${ minimumColumnWidth }, ( 100% - (${\n\t\t\t\tblockGapValue || '1.2rem'\n\t\t\t}*${ columnCount - 1 }) ) / ${ columnCount })`;\n\t\t\trules.push(\n\t\t\t\t`grid-template-columns: repeat(auto-fill, minmax(${ maxValue }, 1fr))`,\n\t\t\t\t`container-type: inline-size`\n\t\t\t);\n\t\t\tif ( rowCount ) {\n\t\t\t\trules.push(\n\t\t\t\t\t`grid-template-rows: repeat(${ rowCount }, minmax(1rem, auto))`\n\t\t\t\t);\n\t\t\t}\n\t\t} else if ( columnCount ) {\n\t\t\trules.push(\n\t\t\t\t`grid-template-columns: repeat(${ columnCount }, minmax(0, 1fr))`\n\t\t\t);\n\t\t\tif ( rowCount ) {\n\t\t\t\trules.push(\n\t\t\t\t\t`grid-template-rows: repeat(${ rowCount }, minmax(1rem, auto))`\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\trules.push(\n\t\t\t\t`grid-template-columns: repeat(auto-fill, minmax(min(${\n\t\t\t\t\tminimumColumnWidth || '12rem'\n\t\t\t\t}, 100%), 1fr))`,\n\t\t\t\t'container-type: inline-size'\n\t\t\t);\n\t\t}\n\n\t\tif ( rules.length ) {\n\t\t\t// Reason to disable: the extra line breaks added by prettier mess with the unit tests.\n\t\t\t// eslint-disable-next-line prettier/prettier\n\t\t\toutput = `${ appendSelectors( selector ) } { ${ rules.join(\n\t\t\t\t'; '\n\t\t\t) }; }`;\n\t\t}\n\n\t\t// Output blockGap styles based on rules contained in layout definitions in theme.json.\n\t\tif ( hasBlockGapSupport && blockGapValue ) {\n\t\t\toutput += getBlockGapCSS(\n\t\t\t\tselector,\n\t\t\t\tlayoutDefinitions,\n\t\t\t\t'grid',\n\t\t\t\tblockGapValue\n\t\t\t);\n\t\t}\n\t\treturn output;\n\t},\n\tgetOrientation() {\n\t\treturn 'horizontal';\n\t},\n\tgetAlignments() {\n\t\treturn [];\n\t},\n};\n\n// Enables setting minimum width of grid items.\nfunction GridLayoutMinimumWidthControl( { layout, onChange } ) {\n\tconst { minimumColumnWidth, columnCount, isManualPlacement } = layout;\n\tconst defaultValue = isManualPlacement || columnCount ? null : '12rem';\n\tconst value = minimumColumnWidth || defaultValue;\n\tconst [ quantity, unit = 'rem' ] =\n\t\tparseQuantityAndUnitFromRawValue( value );\n\n\tconst handleSliderChange = ( next ) => {\n\t\tonChange( {\n\t\t\t...layout,\n\t\t\tminimumColumnWidth: [ next, unit ].join( '' ),\n\t\t} );\n\t};\n\n\t// Mostly copied from HeightControl.\n\tconst handleUnitChange = ( newUnit ) => {\n\t\t// Attempt to smooth over differences between currentUnit and newUnit.\n\t\t// This should slightly improve the experience of switching between unit types.\n\t\tlet newValue;\n\n\t\tif ( [ 'em', 'rem' ].includes( newUnit ) && unit === 'px' ) {\n\t\t\t// Convert pixel value to an approximate of the new unit, assuming a root size of 16px.\n\t\t\tnewValue = ( quantity / 16 ).toFixed( 2 ) + newUnit;\n\t\t} else if ( [ 'em', 'rem' ].includes( unit ) && newUnit === 'px' ) {\n\t\t\t// Convert to pixel value assuming a root size of 16px.\n\t\t\tnewValue = Math.round( quantity * 16 ) + newUnit;\n\t\t}\n\n\t\tonChange( {\n\t\t\t...layout,\n\t\t\tminimumColumnWidth: newValue,\n\t\t} );\n\t};\n\n\treturn (\n\t\t<fieldset>\n\t\t\t<BaseControl.VisualLabel as=\"legend\">\n\t\t\t\t{ __( 'Minimum column width' ) }\n\t\t\t</BaseControl.VisualLabel>\n\t\t\t<Flex gap={ 4 }>\n\t\t\t\t<FlexItem isBlock>\n\t\t\t\t\t<UnitControl\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t...layout,\n\t\t\t\t\t\t\t\tminimumColumnWidth:\n\t\t\t\t\t\t\t\t\tnewValue === '' ? undefined : newValue,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonUnitChange={ handleUnitChange }\n\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\tlabel={ __( 'Minimum column width' ) }\n\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t/>\n\t\t\t\t</FlexItem>\n\t\t\t\t<FlexItem isBlock>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tonChange={ handleSliderChange }\n\t\t\t\t\t\tvalue={ quantity || 0 }\n\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\tmax={ RANGE_CONTROL_MAX_VALUES[ unit ] || 600 }\n\t\t\t\t\t\twithInputField={ false }\n\t\t\t\t\t\tlabel={ __( 'Minimum column width' ) }\n\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t/>\n\t\t\t\t</FlexItem>\n\t\t\t</Flex>\n\t\t</fieldset>\n\t);\n}\n\n// Enables setting number of grid columns\nfunction GridLayoutColumnsAndRowsControl( {\n\tlayout,\n\tonChange,\n\tallowSizingOnChildren,\n} ) {\n\t// If the grid interactivity experiment is enabled, allow unsetting the column count.\n\tconst defaultColumnCount = window.__experimentalEnableGridInteractivity\n\t\t? undefined\n\t\t: 3;\n\tconst {\n\t\tcolumnCount = defaultColumnCount,\n\t\trowCount,\n\t\tisManualPlacement,\n\t} = layout;\n\n\treturn (\n\t\t<>\n\t\t\t<fieldset>\n\t\t\t\t{ ( ! window.__experimentalEnableGridInteractivity ||\n\t\t\t\t\t! isManualPlacement ) && (\n\t\t\t\t\t<BaseControl.VisualLabel as=\"legend\">\n\t\t\t\t\t\t{ __( 'Columns' ) }\n\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t) }\n\t\t\t\t<Flex gap={ 4 }>\n\t\t\t\t\t<FlexItem isBlock>\n\t\t\t\t\t\t<NumberControl\n\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\twindow.__experimentalEnableGridInteractivity\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t// Allow unsetting the column count when in auto mode.\n\t\t\t\t\t\t\t\t\tconst defaultNewColumnCount =\n\t\t\t\t\t\t\t\t\t\tisManualPlacement ? 1 : undefined;\n\t\t\t\t\t\t\t\t\tconst newColumnCount =\n\t\t\t\t\t\t\t\t\t\tvalue === ''\n\t\t\t\t\t\t\t\t\t\t\t? defaultNewColumnCount\n\t\t\t\t\t\t\t\t\t\t\t: parseInt( value, 10 );\n\t\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t\t...layout,\n\t\t\t\t\t\t\t\t\t\tcolumnCount: newColumnCount,\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t// Don't allow unsetting the column count.\n\t\t\t\t\t\t\t\t\tconst newColumnCount =\n\t\t\t\t\t\t\t\t\t\tvalue === ''\n\t\t\t\t\t\t\t\t\t\t\t? 1\n\t\t\t\t\t\t\t\t\t\t\t: parseInt( value, 10 );\n\t\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t\t...layout,\n\t\t\t\t\t\t\t\t\t\tcolumnCount: newColumnCount,\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tvalue={ columnCount }\n\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\thideLabelFromVision={\n\t\t\t\t\t\t\t\t! window.__experimentalEnableGridInteractivity ||\n\t\t\t\t\t\t\t\t! isManualPlacement\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexItem>\n\n\t\t\t\t\t<FlexItem isBlock>\n\t\t\t\t\t\t{ window.__experimentalEnableGridInteractivity &&\n\t\t\t\t\t\tallowSizingOnChildren &&\n\t\t\t\t\t\tisManualPlacement ? (\n\t\t\t\t\t\t\t<NumberControl\n\t\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t// Don't allow unsetting the row count.\n\t\t\t\t\t\t\t\t\tconst newRowCount =\n\t\t\t\t\t\t\t\t\t\tvalue === ''\n\t\t\t\t\t\t\t\t\t\t\t? 1\n\t\t\t\t\t\t\t\t\t\t\t: parseInt( value, 10 );\n\t\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t\t...layout,\n\t\t\t\t\t\t\t\t\t\trowCount: newRowCount,\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tvalue={ rowCount }\n\t\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\t\tlabel={ __( 'Rows' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tvalue={ columnCount ?? 0 }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t\t...layout,\n\t\t\t\t\t\t\t\t\t\tcolumnCount: value,\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\t\tmax={ 16 }\n\t\t\t\t\t\t\t\twithInputField={ false }\n\t\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</FlexItem>\n\t\t\t\t</Flex>\n\t\t\t</fieldset>\n\t\t</>\n\t);\n}\n\n// Enables switching between grid types\nfunction GridLayoutTypeControl( { layout, onChange } ) {\n\tconst { columnCount, rowCount, minimumColumnWidth, isManualPlacement } =\n\t\tlayout;\n\n\t/**\n\t * When switching, temporarily save any custom values set on the\n\t * previous type so we can switch back without loss.\n\t */\n\tconst [ tempColumnCount, setTempColumnCount ] = useState(\n\t\tcolumnCount || 3\n\t);\n\tconst [ tempRowCount, setTempRowCount ] = useState( rowCount );\n\tconst [ tempMinimumColumnWidth, setTempMinimumColumnWidth ] = useState(\n\t\tminimumColumnWidth || '12rem'\n\t);\n\n\tconst gridPlacement =\n\t\tisManualPlacement ||\n\t\t( !! columnCount && ! window.__experimentalEnableGridInteractivity )\n\t\t\t? 'manual'\n\t\t\t: 'auto';\n\n\tconst onChangeType = ( value ) => {\n\t\tif ( value === 'manual' ) {\n\t\t\tsetTempMinimumColumnWidth( minimumColumnWidth || '12rem' );\n\t\t} else {\n\t\t\tsetTempColumnCount( columnCount || 3 );\n\t\t\tsetTempRowCount( rowCount );\n\t\t}\n\t\tonChange( {\n\t\t\t...layout,\n\t\t\tcolumnCount: value === 'manual' ? tempColumnCount : null,\n\t\t\trowCount:\n\t\t\t\tvalue === 'manual' &&\n\t\t\t\twindow.__experimentalEnableGridInteractivity\n\t\t\t\t\t? tempRowCount\n\t\t\t\t\t: undefined,\n\t\t\tisManualPlacement:\n\t\t\t\tvalue === 'manual' &&\n\t\t\t\twindow.__experimentalEnableGridInteractivity\n\t\t\t\t\t? true\n\t\t\t\t\t: undefined,\n\t\t\tminimumColumnWidth:\n\t\t\t\tvalue === 'auto' ? tempMinimumColumnWidth : null,\n\t\t} );\n\t};\n\n\tconst helpText =\n\t\tgridPlacement === 'manual'\n\t\t\t? __(\n\t\t\t\t\t'Grid items can be manually placed in any position on the grid.'\n\t\t\t )\n\t\t\t: __(\n\t\t\t\t\t'Grid items are placed automatically depending on their order.'\n\t\t\t );\n\n\treturn (\n\t\t<ToggleGroupControl\n\t\t\t__next40pxDefaultSize\n\t\t\t__nextHasNoMarginBottom\n\t\t\tlabel={ __( 'Grid item position' ) }\n\t\t\tvalue={ gridPlacement }\n\t\t\tonChange={ onChangeType }\n\t\t\tisBlock\n\t\t\thelp={\n\t\t\t\twindow.__experimentalEnableGridInteractivity\n\t\t\t\t\t? helpText\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t>\n\t\t\t<ToggleGroupControlOption\n\t\t\t\tkey=\"auto\"\n\t\t\t\tvalue=\"auto\"\n\t\t\t\tlabel={ __( 'Auto' ) }\n\t\t\t/>\n\t\t\t<ToggleGroupControlOption\n\t\t\t\tkey=\"manual\"\n\t\t\t\tvalue=\"manual\"\n\t\t\t\tlabel={ __( 'Manual' ) }\n\t\t\t/>\n\t\t</ToggleGroupControl>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AAEpC,SACCC,WAAW,EACXC,IAAI,EACJC,QAAQ,EACRC,YAAY,EACZC,2BAA2B,IAAIC,aAAa,EAC5CC,gCAAgC,IAAIC,kBAAkB,EACtDC,sCAAsC,IAAIC,wBAAwB,EAClEC,yBAAyB,IAAIC,WAAW,EACxCC,8CAA8C,IAAIC,gCAAgC,QAC5E,uBAAuB;AAC9B,SAASC,QAAQ,QAAQ,oBAAoB;;AAE7C;AACA;AACA;AACA,SAASC,eAAe,EAAEC,cAAc,QAAQ,SAAS;AACzD,SAASC,cAAc,QAAQ,cAAc;AAC7C,SAASC,uBAAuB,QAAQ,gBAAgB;AACxD,SAASC,kBAAkB,QAAQ,eAAe;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAAA,SAAAC,QAAA,IAAAC,SAAA;AAAA,SAAAC,IAAA,IAAAC,KAAA;AAEnD,MAAMC,wBAAwB,GAAG;EAChCC,EAAE,EAAE,GAAG;EACP,GAAG,EAAE,GAAG;EACRC,EAAE,EAAE,GAAG;EACPC,EAAE,EAAE,GAAG;EACPC,EAAE,EAAE,EAAE;EACNC,GAAG,EAAE,EAAE;EACPC,GAAG,EAAE,GAAG;EACRC,GAAG,EAAE,GAAG;EACRC,GAAG,EAAE,GAAG;EACRC,GAAG,EAAE,GAAG;EACRC,GAAG,EAAE,GAAG;EACRC,GAAG,EAAE,GAAG;EACRC,EAAE,EAAE,GAAG;EACPC,GAAG,EAAE,GAAG;EACRC,GAAG,EAAE,GAAG;EACRC,GAAG,EAAE,GAAG;EACRC,EAAE,EAAE,GAAG;EACPC,GAAG,EAAE,GAAG;EACRC,GAAG,EAAE,GAAG;EACRC,GAAG,EAAE,GAAG;EACRC,IAAI,EAAE,GAAG;EACTC,KAAK,EAAE,GAAG;EACVC,KAAK,EAAE,GAAG;EACVC,KAAK,EAAE,GAAG;EACVC,IAAI,EAAE,GAAG;EACTC,KAAK,EAAE,GAAG;EACVC,KAAK,EAAE,GAAG;EACVC,KAAK,EAAE;AACR,CAAC;AAED,MAAMC,KAAK,GAAG,CACb;EAAEC,KAAK,EAAE,IAAI;EAAEC,KAAK,EAAE,IAAI;EAAEC,OAAO,EAAE;AAAE,CAAC,EACxC;EAAEF,KAAK,EAAE,KAAK;EAAEC,KAAK,EAAE,KAAK;EAAEC,OAAO,EAAE;AAAE,CAAC,EAC1C;EAAEF,KAAK,EAAE,IAAI;EAAEC,KAAK,EAAE,IAAI;EAAEC,OAAO,EAAE;AAAE,CAAC,CACxC;AAED,eAAe;EACdC,IAAI,EAAE,MAAM;EACZF,KAAK,EAAEzD,EAAE,CAAE,MAAO,CAAC;EACnB4D,iBAAiB,EAAE,SAASC,2BAA2BA,CAAE;IACxDC,MAAM,GAAG,CAAC,CAAC;IACXC,QAAQ;IACRC,kBAAkB,GAAG,CAAC;EACvB,CAAC,EAAG;IACH,MAAM;MAAEC,qBAAqB,GAAG;IAAM,CAAC,GAAGD,kBAAkB;;IAE5D;IACA;IACA,MAAME,kBAAkB,GACvBC,MAAM,CAACC,qCAAqC,IAAIN,MAAM,EAAEO,WAAW;IACpE,MAAMC,mBAAmB,GACxBH,MAAM,CAACC,qCAAqC,IAC5C,CAAEN,MAAM,EAAEO,WAAW;IACtB,oBACC3C,KAAA,CAAAF,SAAA;MAAA+C,QAAA,gBACCjD,IAAA,CAACkD,qBAAqB;QACrBV,MAAM,EAAGA,MAAQ;QACjBC,QAAQ,EAAGA;MAAU,CACrB,CAAC,EACAG,kBAAkB,iBACnB5C,IAAA,CAACmD,+BAA+B;QAC/BX,MAAM,EAAGA,MAAQ;QACjBC,QAAQ,EAAGA,QAAU;QACrBE,qBAAqB,EAAGA;MAAuB,CAC/C,CACD,EACCK,mBAAmB,iBACpBhD,IAAA,CAACoD,6BAA6B;QAC7BZ,MAAM,EAAGA,MAAQ;QACjBC,QAAQ,EAAGA;MAAU,CACrB,CACD;IAAA,CACA,CAAC;EAEL,CAAC;EACDY,eAAe,EAAE,SAASC,yBAAyBA,CAAA,EAAG;IACrD,OAAO,IAAI;EACZ,CAAC;EACDC,cAAc,EAAE,SAASA,cAAcA,CAAE;IACxCC,QAAQ;IACRhB,MAAM;IACNiB,KAAK;IACLC,SAAS;IACTC,kBAAkB;IAClBC,iBAAiB,GAAG9D;EACrB,CAAC,EAAG;IACH,MAAM;MACL+D,kBAAkB,GAAG,IAAI;MACzBd,WAAW,GAAG,IAAI;MAClBe,QAAQ,GAAG;IACZ,CAAC,GAAGtB,MAAM;;IAEV;IACA;IACA,IAAKuB,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,aAAa,EAAG;MAC7C,IACCJ,kBAAkB,IAClB,OAAOA,kBAAkB,KAAK,QAAQ,EACrC;QACD,MAAM,IAAIK,KAAK,CAAE,qCAAsC,CAAC;MACzD;MACA,IAAKnB,WAAW,IAAI,OAAOA,WAAW,KAAK,QAAQ,EAAG;QACrD,MAAM,IAAImB,KAAK,CAAE,8BAA+B,CAAC;MAClD;MACA,IAAKJ,QAAQ,IAAI,OAAOA,QAAQ,KAAK,QAAQ,EAAG;QAC/C,MAAM,IAAII,KAAK,CAAE,2BAA4B,CAAC;MAC/C;IACD;;IAEA;IACA;IACA,MAAMC,aAAa,GAClBV,KAAK,EAAEW,OAAO,EAAEC,QAAQ,IACxB,CAAExE,uBAAuB,CAAE6D,SAAS,EAAE,SAAS,EAAE,UAAW,CAAC,GAC1D9D,cAAc,CAAE6D,KAAK,EAAEW,OAAO,EAAEC,QAAQ,EAAE,OAAQ,CAAC,GACnDC,SAAS;IAEb,IAAIC,MAAM,GAAG,EAAE;IACf,MAAMC,KAAK,GAAG,EAAE;IAEhB,IAAKX,kBAAkB,IAAId,WAAW,GAAG,CAAC,EAAG;MAC5C,MAAM0B,QAAQ,GAAI,OAAOZ,kBAAoB,eAC5CM,aAAa,IAAI,QACjB,IAAIpB,WAAW,GAAG,CAAG,SAASA,WAAa,GAAE;MAC9CyB,KAAK,CAACE,IAAI,CACR,mDAAmDD,QAAU,SAAQ,EACrE,6BACF,CAAC;MACD,IAAKX,QAAQ,EAAG;QACfU,KAAK,CAACE,IAAI,CACR,8BAA8BZ,QAAU,uBAC1C,CAAC;MACF;IACD,CAAC,MAAM,IAAKf,WAAW,EAAG;MACzByB,KAAK,CAACE,IAAI,CACR,iCAAiC3B,WAAa,mBAChD,CAAC;MACD,IAAKe,QAAQ,EAAG;QACfU,KAAK,CAACE,IAAI,CACR,8BAA8BZ,QAAU,uBAC1C,CAAC;MACF;IACD,CAAC,MAAM;MACNU,KAAK,CAACE,IAAI,CACR,uDACAb,kBAAkB,IAAI,OACtB,gBAAe,EAChB,6BACD,CAAC;IACF;IAEA,IAAKW,KAAK,CAACG,MAAM,EAAG;MACnB;MACA;MACAJ,MAAM,GAAI,GAAG7E,eAAe,CAAE8D,QAAS,CAAG,MAAMgB,KAAK,CAACI,IAAI,CACzD,IACD,CAAG,KAAI;IACR;;IAEA;IACA,IAAKjB,kBAAkB,IAAIQ,aAAa,EAAG;MAC1CI,MAAM,IAAI5E,cAAc,CACvB6D,QAAQ,EACRI,iBAAiB,EACjB,MAAM,EACNO,aACD,CAAC;IACF;IACA,OAAOI,MAAM;EACd,CAAC;EACDM,cAAcA,CAAA,EAAG;IAChB,OAAO,YAAY;EACpB,CAAC;EACDC,aAAaA,CAAA,EAAG;IACf,OAAO,EAAE;EACV;AACD,CAAC;;AAED;AACA,SAAS1B,6BAA6BA,CAAE;EAAEZ,MAAM;EAAEC;AAAS,CAAC,EAAG;EAC9D,MAAM;IAAEoB,kBAAkB;IAAEd,WAAW;IAAEgC;EAAkB,CAAC,GAAGvC,MAAM;EACrE,MAAMwC,YAAY,GAAGD,iBAAiB,IAAIhC,WAAW,GAAG,IAAI,GAAG,OAAO;EACtE,MAAMb,KAAK,GAAG2B,kBAAkB,IAAImB,YAAY;EAChD,MAAM,CAAEC,QAAQ,EAAEC,IAAI,GAAG,KAAK,CAAE,GAC/B1F,gCAAgC,CAAE0C,KAAM,CAAC;EAE1C,MAAMiD,kBAAkB,GAAKC,IAAI,IAAM;IACtC3C,QAAQ,CAAE;MACT,GAAGD,MAAM;MACTqB,kBAAkB,EAAE,CAAEuB,IAAI,EAAEF,IAAI,CAAE,CAACN,IAAI,CAAE,EAAG;IAC7C,CAAE,CAAC;EACJ,CAAC;;EAED;EACA,MAAMS,gBAAgB,GAAKC,OAAO,IAAM;IACvC;IACA;IACA,IAAIC,QAAQ;IAEZ,IAAK,CAAE,IAAI,EAAE,KAAK,CAAE,CAACC,QAAQ,CAAEF,OAAQ,CAAC,IAAIJ,IAAI,KAAK,IAAI,EAAG;MAC3D;MACAK,QAAQ,GAAG,CAAEN,QAAQ,GAAG,EAAE,EAAGQ,OAAO,CAAE,CAAE,CAAC,GAAGH,OAAO;IACpD,CAAC,MAAM,IAAK,CAAE,IAAI,EAAE,KAAK,CAAE,CAACE,QAAQ,CAAEN,IAAK,CAAC,IAAII,OAAO,KAAK,IAAI,EAAG;MAClE;MACAC,QAAQ,GAAGG,IAAI,CAACC,KAAK,CAAEV,QAAQ,GAAG,EAAG,CAAC,GAAGK,OAAO;IACjD;IAEA7C,QAAQ,CAAE;MACT,GAAGD,MAAM;MACTqB,kBAAkB,EAAE0B;IACrB,CAAE,CAAC;EACJ,CAAC;EAED,oBACCnF,KAAA;IAAA6C,QAAA,gBACCjD,IAAA,CAACrB,WAAW,CAACiH,WAAW;MAACC,EAAE,EAAC,QAAQ;MAAA5C,QAAA,EACjCvE,EAAE,CAAE,sBAAuB;IAAC,CACN,CAAC,eAC1B0B,KAAA,CAACxB,IAAI;MAACkH,GAAG,EAAG,CAAG;MAAA7C,QAAA,gBACdjD,IAAA,CAACnB,QAAQ;QAACkH,OAAO;QAAA9C,QAAA,eAChBjD,IAAA,CAACV,WAAW;UACX0G,IAAI,EAAC,kBAAkB;UACvBvD,QAAQ,EAAK8C,QAAQ,IAAM;YAC1B9C,QAAQ,CAAE;cACT,GAAGD,MAAM;cACTqB,kBAAkB,EACjB0B,QAAQ,KAAK,EAAE,GAAGjB,SAAS,GAAGiB;YAChC,CAAE,CAAC;UACJ,CAAG;UACHU,YAAY,EAAGZ,gBAAkB;UACjCnD,KAAK,EAAGA,KAAO;UACfD,KAAK,EAAGA,KAAO;UACfiE,GAAG,EAAG,CAAG;UACT/D,KAAK,EAAGzD,EAAE,CAAE,sBAAuB,CAAG;UACtCyH,mBAAmB;QAAA,CACnB;MAAC,CACO,CAAC,eACXnG,IAAA,CAACnB,QAAQ;QAACkH,OAAO;QAAA9C,QAAA,eAChBjD,IAAA,CAAClB,YAAY;UACZsH,qBAAqB;UACrBC,uBAAuB;UACvB5D,QAAQ,EAAG0C,kBAAoB;UAC/BjD,KAAK,EAAG+C,QAAQ,IAAI,CAAG;UACvBiB,GAAG,EAAG,CAAG;UACTI,GAAG,EAAGjG,wBAAwB,CAAE6E,IAAI,CAAE,IAAI,GAAK;UAC/CqB,cAAc,EAAG,KAAO;UACxBpE,KAAK,EAAGzD,EAAE,CAAE,sBAAuB,CAAG;UACtCyH,mBAAmB;QAAA,CACnB;MAAC,CACO,CAAC;IAAA,CACN,CAAC;EAAA,CACE,CAAC;AAEb;;AAEA;AACA,SAAShD,+BAA+BA,CAAE;EACzCX,MAAM;EACNC,QAAQ;EACRE;AACD,CAAC,EAAG;EACH;EACA,MAAM6D,kBAAkB,GAAG3D,MAAM,CAACC,qCAAqC,GACpEwB,SAAS,GACT,CAAC;EACJ,MAAM;IACLvB,WAAW,GAAGyD,kBAAkB;IAChC1C,QAAQ;IACRiB;EACD,CAAC,GAAGvC,MAAM;EAEV,oBACCxC,IAAA,CAAAE,SAAA;IAAA+C,QAAA,eACC7C,KAAA;MAAA6C,QAAA,GACG,CAAE,CAAEJ,MAAM,CAACC,qCAAqC,IACjD,CAAEiC,iBAAiB,kBACnB/E,IAAA,CAACrB,WAAW,CAACiH,WAAW;QAACC,EAAE,EAAC,QAAQ;QAAA5C,QAAA,EACjCvE,EAAE,CAAE,SAAU;MAAC,CACO,CACzB,eACD0B,KAAA,CAACxB,IAAI;QAACkH,GAAG,EAAG,CAAG;QAAA7C,QAAA,gBACdjD,IAAA,CAACnB,QAAQ;UAACkH,OAAO;UAAA9C,QAAA,eAChBjD,IAAA,CAAChB,aAAa;YACbgH,IAAI,EAAC,kBAAkB;YACvBvD,QAAQ,EAAKP,KAAK,IAAM;cACvB,IACCW,MAAM,CAACC,qCAAqC,EAC3C;gBACD;gBACA,MAAM2D,qBAAqB,GAC1B1B,iBAAiB,GAAG,CAAC,GAAGT,SAAS;gBAClC,MAAMoC,cAAc,GACnBxE,KAAK,KAAK,EAAE,GACTuE,qBAAqB,GACrBE,QAAQ,CAAEzE,KAAK,EAAE,EAAG,CAAC;gBACzBO,QAAQ,CAAE;kBACT,GAAGD,MAAM;kBACTO,WAAW,EAAE2D;gBACd,CAAE,CAAC;cACJ,CAAC,MAAM;gBACN;gBACA,MAAMA,cAAc,GACnBxE,KAAK,KAAK,EAAE,GACT,CAAC,GACDyE,QAAQ,CAAEzE,KAAK,EAAE,EAAG,CAAC;gBACzBO,QAAQ,CAAE;kBACT,GAAGD,MAAM;kBACTO,WAAW,EAAE2D;gBACd,CAAE,CAAC;cACJ;YACD,CAAG;YACHxE,KAAK,EAAGa,WAAa;YACrBmD,GAAG,EAAG,CAAG;YACT/D,KAAK,EAAGzD,EAAE,CAAE,SAAU,CAAG;YACzByH,mBAAmB,EAClB,CAAEtD,MAAM,CAACC,qCAAqC,IAC9C,CAAEiC;UACF,CACD;QAAC,CACO,CAAC,eAEX/E,IAAA,CAACnB,QAAQ;UAACkH,OAAO;UAAA9C,QAAA,EACdJ,MAAM,CAACC,qCAAqC,IAC9CH,qBAAqB,IACrBoC,iBAAiB,gBAChB/E,IAAA,CAAChB,aAAa;YACbgH,IAAI,EAAC,kBAAkB;YACvBvD,QAAQ,EAAKP,KAAK,IAAM;cACvB;cACA,MAAM0E,WAAW,GAChB1E,KAAK,KAAK,EAAE,GACT,CAAC,GACDyE,QAAQ,CAAEzE,KAAK,EAAE,EAAG,CAAC;cACzBO,QAAQ,CAAE;gBACT,GAAGD,MAAM;gBACTsB,QAAQ,EAAE8C;cACX,CAAE,CAAC;YACJ,CAAG;YACH1E,KAAK,EAAG4B,QAAU;YAClBoC,GAAG,EAAG,CAAG;YACT/D,KAAK,EAAGzD,EAAE,CAAE,MAAO;UAAG,CACtB,CAAC,gBAEFsB,IAAA,CAAClB,YAAY;YACZsH,qBAAqB;YACrBC,uBAAuB;YACvBnE,KAAK,EAAGa,WAAW,aAAXA,WAAW,cAAXA,WAAW,GAAI,CAAG;YAC1BN,QAAQ,EAAKP,KAAK,IACjBO,QAAQ,CAAE;cACT,GAAGD,MAAM;cACTO,WAAW,EAAEb;YACd,CAAE,CACF;YACDgE,GAAG,EAAG,CAAG;YACTI,GAAG,EAAG,EAAI;YACVC,cAAc,EAAG,KAAO;YACxBpE,KAAK,EAAGzD,EAAE,CAAE,SAAU,CAAG;YACzByH,mBAAmB;UAAA,CACnB;QACD,CACQ,CAAC;MAAA,CACN,CAAC;IAAA,CACE;EAAC,CACV,CAAC;AAEL;;AAEA;AACA,SAASjD,qBAAqBA,CAAE;EAAEV,MAAM;EAAEC;AAAS,CAAC,EAAG;EACtD,MAAM;IAAEM,WAAW;IAAEe,QAAQ;IAAED,kBAAkB;IAAEkB;EAAkB,CAAC,GACrEvC,MAAM;;EAEP;AACD;AACA;AACA;EACC,MAAM,CAAEqE,eAAe,EAAEC,kBAAkB,CAAE,GAAGrH,QAAQ,CACvDsD,WAAW,IAAI,CAChB,CAAC;EACD,MAAM,CAAEgE,YAAY,EAAEC,eAAe,CAAE,GAAGvH,QAAQ,CAAEqE,QAAS,CAAC;EAC9D,MAAM,CAAEmD,sBAAsB,EAAEC,yBAAyB,CAAE,GAAGzH,QAAQ,CACrEoE,kBAAkB,IAAI,OACvB,CAAC;EAED,MAAMsD,aAAa,GAClBpC,iBAAiB,IACf,CAAC,CAAEhC,WAAW,IAAI,CAAEF,MAAM,CAACC,qCAAuC,GACjE,QAAQ,GACR,MAAM;EAEV,MAAMsE,YAAY,GAAKlF,KAAK,IAAM;IACjC,IAAKA,KAAK,KAAK,QAAQ,EAAG;MACzBgF,yBAAyB,CAAErD,kBAAkB,IAAI,OAAQ,CAAC;IAC3D,CAAC,MAAM;MACNiD,kBAAkB,CAAE/D,WAAW,IAAI,CAAE,CAAC;MACtCiE,eAAe,CAAElD,QAAS,CAAC;IAC5B;IACArB,QAAQ,CAAE;MACT,GAAGD,MAAM;MACTO,WAAW,EAAEb,KAAK,KAAK,QAAQ,GAAG2E,eAAe,GAAG,IAAI;MACxD/C,QAAQ,EACP5B,KAAK,KAAK,QAAQ,IAClBW,MAAM,CAACC,qCAAqC,GACzCiE,YAAY,GACZzC,SAAS;MACbS,iBAAiB,EAChB7C,KAAK,KAAK,QAAQ,IAClBW,MAAM,CAACC,qCAAqC,GACzC,IAAI,GACJwB,SAAS;MACbT,kBAAkB,EACjB3B,KAAK,KAAK,MAAM,GAAG+E,sBAAsB,GAAG;IAC9C,CAAE,CAAC;EACJ,CAAC;EAED,MAAMI,QAAQ,GACbF,aAAa,KAAK,QAAQ,GACvBzI,EAAE,CACF,gEACA,CAAC,GACDA,EAAE,CACF,+DACA,CAAC;EAEL,oBACC0B,KAAA,CAAClB,kBAAkB;IAClBkH,qBAAqB;IACrBC,uBAAuB;IACvBlE,KAAK,EAAGzD,EAAE,CAAE,oBAAqB,CAAG;IACpCwD,KAAK,EAAGiF,aAAe;IACvB1E,QAAQ,EAAG2E,YAAc;IACzBrB,OAAO;IACPuB,IAAI,EACHzE,MAAM,CAACC,qCAAqC,GACzCuE,QAAQ,GACR/C,SACH;IAAArB,QAAA,gBAEDjD,IAAA,CAACZ,wBAAwB;MAExB8C,KAAK,EAAC,MAAM;MACZC,KAAK,EAAGzD,EAAE,CAAE,MAAO;IAAG,GAFlB,MAGJ,CAAC,eACFsB,IAAA,CAACZ,wBAAwB;MAExB8C,KAAK,EAAC,QAAQ;MACdC,KAAK,EAAGzD,EAAE,CAAE,QAAS;IAAG,GAFpB,QAGJ,CAAC;EAAA,CACiB,CAAC;AAEvB","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["__","BaseControl","Flex","FlexItem","RangeControl","__experimentalNumberControl","NumberControl","__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","__experimentalUnitControl","UnitControl","__experimentalParseQuantityAndUnitFromRawValue","parseQuantityAndUnitFromRawValue","__experimentalVStack","VStack","useState","appendSelectors","getBlockGapCSS","getGapCSSValue","shouldSkipSerialization","LAYOUT_DEFINITIONS","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","RANGE_CONTROL_MAX_VALUES","px","vw","vh","em","rem","svw","lvw","dvw","svh","lvh","dvh","vi","svi","lvi","dvi","vb","svb","lvb","dvb","vmin","svmin","lvmin","dvmin","vmax","svmax","lvmax","dvmax","units","value","label","default","name","inspectorControls","GridLayoutInspectorControls","layout","onChange","layoutBlockSupport","allowSizingOnChildren","showColumnsControl","window","__experimentalEnableGridInteractivity","columnCount","showMinWidthControl","children","GridLayoutTypeControl","spacing","GridLayoutColumnsAndRowsControl","GridLayoutMinimumWidthControl","toolBarControls","GridLayoutToolbarControls","getLayoutStyle","selector","style","blockName","hasBlockGapSupport","layoutDefinitions","minimumColumnWidth","rowCount","process","env","NODE_ENV","Error","blockGapValue","blockGap","undefined","output","rules","maxValue","push","length","join","getOrientation","getAlignments","isManualPlacement","defaultValue","quantity","unit","handleSliderChange","next","handleUnitChange","newUnit","newValue","includes","toFixed","Math","round","VisualLabel","as","gap","isBlock","size","onUnitChange","min","hideLabelFromVision","__next40pxDefaultSize","__nextHasNoMarginBottom","max","withInputField","defaultColumnCount","defaultNewColumnCount","newColumnCount","parseInt","newRowCount","tempColumnCount","setTempColumnCount","tempRowCount","setTempRowCount","tempMinimumColumnWidth","setTempMinimumColumnWidth","gridPlacement","onChangeType","helpText","help"],"sources":["@wordpress/block-editor/src/layouts/grid.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\nimport {\n\tBaseControl,\n\tFlex,\n\tFlexItem,\n\tRangeControl,\n\t__experimentalNumberControl as NumberControl,\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { appendSelectors, getBlockGapCSS } from './utils';\nimport { getGapCSSValue } from '../hooks/gap';\nimport { shouldSkipSerialization } from '../hooks/utils';\nimport { LAYOUT_DEFINITIONS } from './definitions';\n\nconst RANGE_CONTROL_MAX_VALUES = {\n\tpx: 600,\n\t'%': 100,\n\tvw: 100,\n\tvh: 100,\n\tem: 38,\n\trem: 38,\n\tsvw: 100,\n\tlvw: 100,\n\tdvw: 100,\n\tsvh: 100,\n\tlvh: 100,\n\tdvh: 100,\n\tvi: 100,\n\tsvi: 100,\n\tlvi: 100,\n\tdvi: 100,\n\tvb: 100,\n\tsvb: 100,\n\tlvb: 100,\n\tdvb: 100,\n\tvmin: 100,\n\tsvmin: 100,\n\tlvmin: 100,\n\tdvmin: 100,\n\tvmax: 100,\n\tsvmax: 100,\n\tlvmax: 100,\n\tdvmax: 100,\n};\n\nconst units = [\n\t{ value: 'px', label: 'px', default: 0 },\n\t{ value: 'rem', label: 'rem', default: 0 },\n\t{ value: 'em', label: 'em', default: 0 },\n];\n\nexport default {\n\tname: 'grid',\n\tlabel: __( 'Grid' ),\n\tinspectorControls: function GridLayoutInspectorControls( {\n\t\tlayout = {},\n\t\tonChange,\n\t\tlayoutBlockSupport = {},\n\t} ) {\n\t\tconst { allowSizingOnChildren = false } = layoutBlockSupport;\n\n\t\t// In the experiment we want to also show column control in Auto mode, and\n\t\t// the minimum width control in Manual mode.\n\t\tconst showColumnsControl =\n\t\t\twindow.__experimentalEnableGridInteractivity ||\n\t\t\t!! layout?.columnCount;\n\t\tconst showMinWidthControl =\n\t\t\twindow.__experimentalEnableGridInteractivity ||\n\t\t\t! layout?.columnCount;\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<GridLayoutTypeControl\n\t\t\t\t\tlayout={ layout }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t/>\n\t\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t\t{ showColumnsControl && (\n\t\t\t\t\t\t<GridLayoutColumnsAndRowsControl\n\t\t\t\t\t\t\tlayout={ layout }\n\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\tallowSizingOnChildren={ allowSizingOnChildren }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ showMinWidthControl && (\n\t\t\t\t\t\t<GridLayoutMinimumWidthControl\n\t\t\t\t\t\t\tlayout={ layout }\n\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</VStack>\n\t\t\t</>\n\t\t);\n\t},\n\ttoolBarControls: function GridLayoutToolbarControls() {\n\t\treturn null;\n\t},\n\tgetLayoutStyle: function getLayoutStyle( {\n\t\tselector,\n\t\tlayout,\n\t\tstyle,\n\t\tblockName,\n\t\thasBlockGapSupport,\n\t\tlayoutDefinitions = LAYOUT_DEFINITIONS,\n\t} ) {\n\t\tconst {\n\t\t\tminimumColumnWidth = null,\n\t\t\tcolumnCount = null,\n\t\t\trowCount = null,\n\t\t} = layout;\n\n\t\t// Check that the grid layout attributes are of the correct type, so that we don't accidentally\n\t\t// write code that stores a string attribute instead of a number.\n\t\tif ( process.env.NODE_ENV === 'development' ) {\n\t\t\tif (\n\t\t\t\tminimumColumnWidth &&\n\t\t\t\ttypeof minimumColumnWidth !== 'string'\n\t\t\t) {\n\t\t\t\tthrow new Error( 'minimumColumnWidth must be a string' );\n\t\t\t}\n\t\t\tif ( columnCount && typeof columnCount !== 'number' ) {\n\t\t\t\tthrow new Error( 'columnCount must be a number' );\n\t\t\t}\n\t\t\tif ( rowCount && typeof rowCount !== 'number' ) {\n\t\t\t\tthrow new Error( 'rowCount must be a number' );\n\t\t\t}\n\t\t}\n\n\t\t// If a block's block.json skips serialization for spacing or spacing.blockGap,\n\t\t// don't apply the user-defined value to the styles.\n\t\tconst blockGapValue =\n\t\t\tstyle?.spacing?.blockGap &&\n\t\t\t! shouldSkipSerialization( blockName, 'spacing', 'blockGap' )\n\t\t\t\t? getGapCSSValue( style?.spacing?.blockGap, '0.5em' )\n\t\t\t\t: undefined;\n\n\t\tlet output = '';\n\t\tconst rules = [];\n\n\t\tif ( minimumColumnWidth && columnCount > 0 ) {\n\t\t\tconst maxValue = `max(${ minimumColumnWidth }, ( 100% - (${\n\t\t\t\tblockGapValue || '1.2rem'\n\t\t\t}*${ columnCount - 1 }) ) / ${ columnCount })`;\n\t\t\trules.push(\n\t\t\t\t`grid-template-columns: repeat(auto-fill, minmax(${ maxValue }, 1fr))`,\n\t\t\t\t`container-type: inline-size`\n\t\t\t);\n\t\t\tif ( rowCount ) {\n\t\t\t\trules.push(\n\t\t\t\t\t`grid-template-rows: repeat(${ rowCount }, minmax(1rem, auto))`\n\t\t\t\t);\n\t\t\t}\n\t\t} else if ( columnCount ) {\n\t\t\trules.push(\n\t\t\t\t`grid-template-columns: repeat(${ columnCount }, minmax(0, 1fr))`\n\t\t\t);\n\t\t\tif ( rowCount ) {\n\t\t\t\trules.push(\n\t\t\t\t\t`grid-template-rows: repeat(${ rowCount }, minmax(1rem, auto))`\n\t\t\t\t);\n\t\t\t}\n\t\t} else {\n\t\t\trules.push(\n\t\t\t\t`grid-template-columns: repeat(auto-fill, minmax(min(${\n\t\t\t\t\tminimumColumnWidth || '12rem'\n\t\t\t\t}, 100%), 1fr))`,\n\t\t\t\t'container-type: inline-size'\n\t\t\t);\n\t\t}\n\n\t\tif ( rules.length ) {\n\t\t\t// Reason to disable: the extra line breaks added by prettier mess with the unit tests.\n\t\t\t// eslint-disable-next-line prettier/prettier\n\t\t\toutput = `${ appendSelectors( selector ) } { ${ rules.join(\n\t\t\t\t'; '\n\t\t\t) }; }`;\n\t\t}\n\n\t\t// Output blockGap styles based on rules contained in layout definitions in theme.json.\n\t\tif ( hasBlockGapSupport && blockGapValue ) {\n\t\t\toutput += getBlockGapCSS(\n\t\t\t\tselector,\n\t\t\t\tlayoutDefinitions,\n\t\t\t\t'grid',\n\t\t\t\tblockGapValue\n\t\t\t);\n\t\t}\n\t\treturn output;\n\t},\n\tgetOrientation() {\n\t\treturn 'horizontal';\n\t},\n\tgetAlignments() {\n\t\treturn [];\n\t},\n};\n\n// Enables setting minimum width of grid items.\nfunction GridLayoutMinimumWidthControl( { layout, onChange } ) {\n\tconst { minimumColumnWidth, columnCount, isManualPlacement } = layout;\n\tconst defaultValue = isManualPlacement || columnCount ? null : '12rem';\n\tconst value = minimumColumnWidth || defaultValue;\n\tconst [ quantity, unit = 'rem' ] =\n\t\tparseQuantityAndUnitFromRawValue( value );\n\n\tconst handleSliderChange = ( next ) => {\n\t\tonChange( {\n\t\t\t...layout,\n\t\t\tminimumColumnWidth: [ next, unit ].join( '' ),\n\t\t} );\n\t};\n\n\t// Mostly copied from HeightControl.\n\tconst handleUnitChange = ( newUnit ) => {\n\t\t// Attempt to smooth over differences between currentUnit and newUnit.\n\t\t// This should slightly improve the experience of switching between unit types.\n\t\tlet newValue;\n\n\t\tif ( [ 'em', 'rem' ].includes( newUnit ) && unit === 'px' ) {\n\t\t\t// Convert pixel value to an approximate of the new unit, assuming a root size of 16px.\n\t\t\tnewValue = ( quantity / 16 ).toFixed( 2 ) + newUnit;\n\t\t} else if ( [ 'em', 'rem' ].includes( unit ) && newUnit === 'px' ) {\n\t\t\t// Convert to pixel value assuming a root size of 16px.\n\t\t\tnewValue = Math.round( quantity * 16 ) + newUnit;\n\t\t}\n\n\t\tonChange( {\n\t\t\t...layout,\n\t\t\tminimumColumnWidth: newValue,\n\t\t} );\n\t};\n\n\treturn (\n\t\t<fieldset>\n\t\t\t<BaseControl.VisualLabel as=\"legend\">\n\t\t\t\t{ __( 'Minimum column width' ) }\n\t\t\t</BaseControl.VisualLabel>\n\t\t\t<Flex gap={ 4 }>\n\t\t\t\t<FlexItem isBlock>\n\t\t\t\t\t<UnitControl\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\tonChange={ ( newValue ) => {\n\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t...layout,\n\t\t\t\t\t\t\t\tminimumColumnWidth:\n\t\t\t\t\t\t\t\t\tnewValue === '' ? undefined : newValue,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonUnitChange={ handleUnitChange }\n\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\tlabel={ __( 'Minimum column width' ) }\n\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t/>\n\t\t\t\t</FlexItem>\n\t\t\t\t<FlexItem isBlock>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tonChange={ handleSliderChange }\n\t\t\t\t\t\tvalue={ quantity || 0 }\n\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\tmax={ RANGE_CONTROL_MAX_VALUES[ unit ] || 600 }\n\t\t\t\t\t\twithInputField={ false }\n\t\t\t\t\t\tlabel={ __( 'Minimum column width' ) }\n\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t/>\n\t\t\t\t</FlexItem>\n\t\t\t</Flex>\n\t\t</fieldset>\n\t);\n}\n\n// Enables setting number of grid columns\nfunction GridLayoutColumnsAndRowsControl( {\n\tlayout,\n\tonChange,\n\tallowSizingOnChildren,\n} ) {\n\t// If the grid interactivity experiment is enabled, allow unsetting the column count.\n\tconst defaultColumnCount = window.__experimentalEnableGridInteractivity\n\t\t? undefined\n\t\t: 3;\n\tconst {\n\t\tcolumnCount = defaultColumnCount,\n\t\trowCount,\n\t\tisManualPlacement,\n\t} = layout;\n\n\treturn (\n\t\t<>\n\t\t\t<fieldset>\n\t\t\t\t{ ( ! window.__experimentalEnableGridInteractivity ||\n\t\t\t\t\t! isManualPlacement ) && (\n\t\t\t\t\t<BaseControl.VisualLabel as=\"legend\">\n\t\t\t\t\t\t{ __( 'Columns' ) }\n\t\t\t\t\t</BaseControl.VisualLabel>\n\t\t\t\t) }\n\t\t\t\t<Flex gap={ 4 }>\n\t\t\t\t\t<FlexItem isBlock>\n\t\t\t\t\t\t<NumberControl\n\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\twindow.__experimentalEnableGridInteractivity\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\t// Allow unsetting the column count when in auto mode.\n\t\t\t\t\t\t\t\t\tconst defaultNewColumnCount =\n\t\t\t\t\t\t\t\t\t\tisManualPlacement ? 1 : undefined;\n\t\t\t\t\t\t\t\t\tconst newColumnCount =\n\t\t\t\t\t\t\t\t\t\tvalue === '' || value === '0'\n\t\t\t\t\t\t\t\t\t\t\t? defaultNewColumnCount\n\t\t\t\t\t\t\t\t\t\t\t: parseInt( value, 10 );\n\t\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t\t...layout,\n\t\t\t\t\t\t\t\t\t\tcolumnCount: newColumnCount,\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t// Don't allow unsetting the column count.\n\t\t\t\t\t\t\t\t\tconst newColumnCount =\n\t\t\t\t\t\t\t\t\t\tvalue === '' || value === '0'\n\t\t\t\t\t\t\t\t\t\t\t? 1\n\t\t\t\t\t\t\t\t\t\t\t: parseInt( value, 10 );\n\t\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t\t...layout,\n\t\t\t\t\t\t\t\t\t\tcolumnCount: newColumnCount,\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tvalue={ columnCount }\n\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\thideLabelFromVision={\n\t\t\t\t\t\t\t\t! window.__experimentalEnableGridInteractivity ||\n\t\t\t\t\t\t\t\t! isManualPlacement\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t/>\n\t\t\t\t\t</FlexItem>\n\n\t\t\t\t\t<FlexItem isBlock>\n\t\t\t\t\t\t{ window.__experimentalEnableGridInteractivity &&\n\t\t\t\t\t\tallowSizingOnChildren &&\n\t\t\t\t\t\tisManualPlacement ? (\n\t\t\t\t\t\t\t<NumberControl\n\t\t\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\t\t\t// Don't allow unsetting the row count.\n\t\t\t\t\t\t\t\t\tconst newRowCount =\n\t\t\t\t\t\t\t\t\t\tvalue === '' || value === '0'\n\t\t\t\t\t\t\t\t\t\t\t? 1\n\t\t\t\t\t\t\t\t\t\t\t: parseInt( value, 10 );\n\t\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t\t...layout,\n\t\t\t\t\t\t\t\t\t\trowCount: newRowCount,\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\tvalue={ rowCount }\n\t\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\t\tlabel={ __( 'Rows' ) }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t\t\tvalue={ columnCount ?? 1 }\n\t\t\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\t\t\t...layout,\n\t\t\t\t\t\t\t\t\t\tcolumnCount:\n\t\t\t\t\t\t\t\t\t\t\tvalue === '' || value === '0'\n\t\t\t\t\t\t\t\t\t\t\t\t? 1\n\t\t\t\t\t\t\t\t\t\t\t\t: value,\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\t\t\tmax={ 16 }\n\t\t\t\t\t\t\t\twithInputField={ false }\n\t\t\t\t\t\t\t\tlabel={ __( 'Columns' ) }\n\t\t\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</FlexItem>\n\t\t\t\t</Flex>\n\t\t\t</fieldset>\n\t\t</>\n\t);\n}\n\n// Enables switching between grid types\nfunction GridLayoutTypeControl( { layout, onChange } ) {\n\tconst { columnCount, rowCount, minimumColumnWidth, isManualPlacement } =\n\t\tlayout;\n\n\t/**\n\t * When switching, temporarily save any custom values set on the\n\t * previous type so we can switch back without loss.\n\t */\n\tconst [ tempColumnCount, setTempColumnCount ] = useState(\n\t\tcolumnCount || 3\n\t);\n\tconst [ tempRowCount, setTempRowCount ] = useState( rowCount );\n\tconst [ tempMinimumColumnWidth, setTempMinimumColumnWidth ] = useState(\n\t\tminimumColumnWidth || '12rem'\n\t);\n\n\tconst gridPlacement =\n\t\tisManualPlacement ||\n\t\t( !! columnCount && ! window.__experimentalEnableGridInteractivity )\n\t\t\t? 'manual'\n\t\t\t: 'auto';\n\n\tconst onChangeType = ( value ) => {\n\t\tif ( value === 'manual' ) {\n\t\t\tsetTempMinimumColumnWidth( minimumColumnWidth || '12rem' );\n\t\t} else {\n\t\t\tsetTempColumnCount( columnCount || 3 );\n\t\t\tsetTempRowCount( rowCount );\n\t\t}\n\t\tonChange( {\n\t\t\t...layout,\n\t\t\tcolumnCount: value === 'manual' ? tempColumnCount : null,\n\t\t\trowCount:\n\t\t\t\tvalue === 'manual' &&\n\t\t\t\twindow.__experimentalEnableGridInteractivity\n\t\t\t\t\t? tempRowCount\n\t\t\t\t\t: undefined,\n\t\t\tisManualPlacement:\n\t\t\t\tvalue === 'manual' &&\n\t\t\t\twindow.__experimentalEnableGridInteractivity\n\t\t\t\t\t? true\n\t\t\t\t\t: undefined,\n\t\t\tminimumColumnWidth:\n\t\t\t\tvalue === 'auto' ? tempMinimumColumnWidth : null,\n\t\t} );\n\t};\n\n\tconst helpText =\n\t\tgridPlacement === 'manual'\n\t\t\t? __(\n\t\t\t\t\t'Grid items can be manually placed in any position on the grid.'\n\t\t\t )\n\t\t\t: __(\n\t\t\t\t\t'Grid items are placed automatically depending on their order.'\n\t\t\t );\n\n\treturn (\n\t\t<ToggleGroupControl\n\t\t\t__next40pxDefaultSize\n\t\t\t__nextHasNoMarginBottom\n\t\t\tlabel={ __( 'Grid item position' ) }\n\t\t\tvalue={ gridPlacement }\n\t\t\tonChange={ onChangeType }\n\t\t\tisBlock\n\t\t\thelp={\n\t\t\t\twindow.__experimentalEnableGridInteractivity\n\t\t\t\t\t? helpText\n\t\t\t\t\t: undefined\n\t\t\t}\n\t\t>\n\t\t\t<ToggleGroupControlOption\n\t\t\t\tkey=\"auto\"\n\t\t\t\tvalue=\"auto\"\n\t\t\t\tlabel={ __( 'Auto' ) }\n\t\t\t/>\n\t\t\t<ToggleGroupControlOption\n\t\t\t\tkey=\"manual\"\n\t\t\t\tvalue=\"manual\"\n\t\t\t\tlabel={ __( 'Manual' ) }\n\t\t\t/>\n\t\t</ToggleGroupControl>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -6,7 +6,6 @@ import { ExperimentalBlockEditorProvider } from './components/provider';
|
|
|
6
6
|
import { lock } from './lock-unlock';
|
|
7
7
|
import { getRichTextValues } from './components/rich-text/get-rich-text-values';
|
|
8
8
|
import ResizableBoxPopover from './components/resizable-box-popover';
|
|
9
|
-
import { ComposedPrivateInserter as PrivateInserter } from './components/inserter';
|
|
10
9
|
import { default as PrivateQuickInserter } from './components/inserter/quick-inserter';
|
|
11
10
|
import { extractWords, getNormalizedSearchTerms, normalizeString } from './components/inserter/search-items';
|
|
12
11
|
import { PrivateListView } from './components/list-view';
|
|
@@ -45,7 +44,6 @@ lock(privateApis, {
|
|
|
45
44
|
ExperimentalBlockEditorProvider,
|
|
46
45
|
getDuotoneFilter,
|
|
47
46
|
getRichTextValues,
|
|
48
|
-
PrivateInserter,
|
|
49
47
|
PrivateQuickInserter,
|
|
50
48
|
extractWords,
|
|
51
49
|
getNormalizedSearchTerms,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["globalStyles","ExperimentalBlockEditorProvider","lock","getRichTextValues","ResizableBoxPopover","
|
|
1
|
+
{"version":3,"names":["globalStyles","ExperimentalBlockEditorProvider","lock","getRichTextValues","ResizableBoxPopover","default","PrivateQuickInserter","extractWords","getNormalizedSearchTerms","normalizeString","PrivateListView","BlockInfo","useHasBlockToolbar","cleanEmptyObject","BlockQuickNavigation","LayoutStyle","BlockRemovalWarningModal","setBackgroundStyleDefaults","useLayoutClasses","useLayoutStyles","__unstableBlockStyleVariationOverridesWithConfig","DimensionsTool","ResolutionTool","TextAlignmentControl","usesContextKey","ExperimentalBlockCanvas","getDuotoneFilter","useFlashEditableBlocks","selectBlockPatternsKey","reusableBlocksSelectKey","globalStylesDataKey","globalStylesLinksDataKey","sectionRootClientIdKey","requiresWrapperOnCopy","PrivateRichText","PrivateBlockPopover","PrivateInserterLibrary","PrivatePublishDateTimePicker","useSpacingSizes","useBlockDisplayTitle","TabbedSidebar","useBlockBindingsUtils","privateApis"],"sources":["@wordpress/block-editor/src/private-apis.js"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport * as globalStyles from './components/global-styles';\nimport { ExperimentalBlockEditorProvider } from './components/provider';\nimport { lock } from './lock-unlock';\nimport { getRichTextValues } from './components/rich-text/get-rich-text-values';\nimport ResizableBoxPopover from './components/resizable-box-popover';\nimport { default as PrivateQuickInserter } from './components/inserter/quick-inserter';\nimport {\n\textractWords,\n\tgetNormalizedSearchTerms,\n\tnormalizeString,\n} from './components/inserter/search-items';\nimport { PrivateListView } from './components/list-view';\nimport BlockInfo from './components/block-info-slot-fill';\nimport { useHasBlockToolbar } from './components/block-toolbar/use-has-block-toolbar';\nimport { cleanEmptyObject } from './hooks/utils';\nimport BlockQuickNavigation from './components/block-quick-navigation';\nimport { LayoutStyle } from './components/block-list/layout';\nimport { BlockRemovalWarningModal } from './components/block-removal-warning-modal';\nimport {\n\tsetBackgroundStyleDefaults,\n\tuseLayoutClasses,\n\tuseLayoutStyles,\n\t__unstableBlockStyleVariationOverridesWithConfig,\n} from './hooks';\nimport DimensionsTool from './components/dimensions-tool';\nimport ResolutionTool from './components/resolution-tool';\nimport TextAlignmentControl from './components/text-alignment-control';\nimport { usesContextKey } from './components/rich-text/format-edit';\nimport { ExperimentalBlockCanvas } from './components/block-canvas';\nimport { getDuotoneFilter } from './components/duotone/utils';\nimport { useFlashEditableBlocks } from './components/use-flash-editable-blocks';\nimport {\n\tselectBlockPatternsKey,\n\treusableBlocksSelectKey,\n\tglobalStylesDataKey,\n\tglobalStylesLinksDataKey,\n\tsectionRootClientIdKey,\n} from './store/private-keys';\nimport { requiresWrapperOnCopy } from './components/writing-flow/utils';\nimport { PrivateRichText } from './components/rich-text/';\nimport { PrivateBlockPopover } from './components/block-popover';\nimport { PrivateInserterLibrary } from './components/inserter/library';\nimport { PrivatePublishDateTimePicker } from './components/publish-date-time-picker';\nimport useSpacingSizes from './components/spacing-sizes-control/hooks/use-spacing-sizes';\nimport useBlockDisplayTitle from './components/block-title/use-block-display-title';\nimport TabbedSidebar from './components/tabbed-sidebar';\nimport { useBlockBindingsUtils } from './utils/block-bindings';\n\n/**\n * Private @wordpress/block-editor APIs.\n */\nexport const privateApis = {};\nlock( privateApis, {\n\t...globalStyles,\n\tExperimentalBlockCanvas,\n\tExperimentalBlockEditorProvider,\n\tgetDuotoneFilter,\n\tgetRichTextValues,\n\tPrivateQuickInserter,\n\textractWords,\n\tgetNormalizedSearchTerms,\n\tnormalizeString,\n\tPrivateListView,\n\tResizableBoxPopover,\n\tBlockInfo,\n\tuseHasBlockToolbar,\n\tcleanEmptyObject,\n\tBlockQuickNavigation,\n\tLayoutStyle,\n\tBlockRemovalWarningModal,\n\tuseLayoutClasses,\n\tuseLayoutStyles,\n\tDimensionsTool,\n\tResolutionTool,\n\tTabbedSidebar,\n\tTextAlignmentControl,\n\tusesContextKey,\n\tuseFlashEditableBlocks,\n\tglobalStylesDataKey,\n\tglobalStylesLinksDataKey,\n\tselectBlockPatternsKey,\n\trequiresWrapperOnCopy,\n\tPrivateRichText,\n\tPrivateInserterLibrary,\n\treusableBlocksSelectKey,\n\tPrivateBlockPopover,\n\tPrivatePublishDateTimePicker,\n\tuseSpacingSizes,\n\tuseBlockDisplayTitle,\n\t__unstableBlockStyleVariationOverridesWithConfig,\n\tsetBackgroundStyleDefaults,\n\tuseBlockBindingsUtils,\n\tsectionRootClientIdKey,\n} );\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAO,KAAKA,YAAY,MAAM,4BAA4B;AAC1D,SAASC,+BAA+B,QAAQ,uBAAuB;AACvE,SAASC,IAAI,QAAQ,eAAe;AACpC,SAASC,iBAAiB,QAAQ,6CAA6C;AAC/E,OAAOC,mBAAmB,MAAM,oCAAoC;AACpE,SAASC,OAAO,IAAIC,oBAAoB,QAAQ,sCAAsC;AACtF,SACCC,YAAY,EACZC,wBAAwB,EACxBC,eAAe,QACT,oCAAoC;AAC3C,SAASC,eAAe,QAAQ,wBAAwB;AACxD,OAAOC,SAAS,MAAM,mCAAmC;AACzD,SAASC,kBAAkB,QAAQ,kDAAkD;AACrF,SAASC,gBAAgB,QAAQ,eAAe;AAChD,OAAOC,oBAAoB,MAAM,qCAAqC;AACtE,SAASC,WAAW,QAAQ,gCAAgC;AAC5D,SAASC,wBAAwB,QAAQ,0CAA0C;AACnF,SACCC,0BAA0B,EAC1BC,gBAAgB,EAChBC,eAAe,EACfC,gDAAgD,QAC1C,SAAS;AAChB,OAAOC,cAAc,MAAM,8BAA8B;AACzD,OAAOC,cAAc,MAAM,8BAA8B;AACzD,OAAOC,oBAAoB,MAAM,qCAAqC;AACtE,SAASC,cAAc,QAAQ,oCAAoC;AACnE,SAASC,uBAAuB,QAAQ,2BAA2B;AACnE,SAASC,gBAAgB,QAAQ,4BAA4B;AAC7D,SAASC,sBAAsB,QAAQ,wCAAwC;AAC/E,SACCC,sBAAsB,EACtBC,uBAAuB,EACvBC,mBAAmB,EACnBC,wBAAwB,EACxBC,sBAAsB,QAChB,sBAAsB;AAC7B,SAASC,qBAAqB,QAAQ,iCAAiC;AACvE,SAASC,eAAe,QAAQ,yBAAyB;AACzD,SAASC,mBAAmB,QAAQ,4BAA4B;AAChE,SAASC,sBAAsB,QAAQ,+BAA+B;AACtE,SAASC,4BAA4B,QAAQ,uCAAuC;AACpF,OAAOC,eAAe,MAAM,4DAA4D;AACxF,OAAOC,oBAAoB,MAAM,kDAAkD;AACnF,OAAOC,aAAa,MAAM,6BAA6B;AACvD,SAASC,qBAAqB,QAAQ,wBAAwB;;AAE9D;AACA;AACA;AACA,OAAO,MAAMC,WAAW,GAAG,CAAC,CAAC;AAC7BxC,IAAI,CAAEwC,WAAW,EAAE;EAClB,GAAG1C,YAAY;EACfyB,uBAAuB;EACvBxB,+BAA+B;EAC/ByB,gBAAgB;EAChBvB,iBAAiB;EACjBG,oBAAoB;EACpBC,YAAY;EACZC,wBAAwB;EACxBC,eAAe;EACfC,eAAe;EACfN,mBAAmB;EACnBO,SAAS;EACTC,kBAAkB;EAClBC,gBAAgB;EAChBC,oBAAoB;EACpBC,WAAW;EACXC,wBAAwB;EACxBE,gBAAgB;EAChBC,eAAe;EACfE,cAAc;EACdC,cAAc;EACdkB,aAAa;EACbjB,oBAAoB;EACpBC,cAAc;EACdG,sBAAsB;EACtBG,mBAAmB;EACnBC,wBAAwB;EACxBH,sBAAsB;EACtBK,qBAAqB;EACrBC,eAAe;EACfE,sBAAsB;EACtBP,uBAAuB;EACvBM,mBAAmB;EACnBE,4BAA4B;EAC5BC,eAAe;EACfC,oBAAoB;EACpBnB,gDAAgD;EAChDH,0BAA0B;EAC1BwB,qBAAqB;EACrBT;AACD,CAAE,CAAC","ignoreList":[]}
|