@wordpress/block-editor 12.19.3 → 12.20.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.
Files changed (127) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/block-canvas/index.js +2 -0
  3. package/build/components/block-canvas/index.js.map +1 -1
  4. package/build/components/block-heading-level-dropdown/index.js +14 -17
  5. package/build/components/block-heading-level-dropdown/index.js.map +1 -1
  6. package/build/components/block-inspector/index.js +0 -3
  7. package/build/components/block-inspector/index.js.map +1 -1
  8. package/build/components/block-list/index.js +9 -9
  9. package/build/components/block-list/index.js.map +1 -1
  10. package/build/components/block-preview/index.js +4 -0
  11. package/build/components/block-preview/index.js.map +1 -1
  12. package/build/components/block-settings-menu/block-parent-selector-menu-item.js +54 -0
  13. package/build/components/block-settings-menu/block-parent-selector-menu-item.js.map +1 -0
  14. package/build/components/block-settings-menu/block-settings-dropdown.js +9 -37
  15. package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  16. package/build/components/child-layout-control/index.js +37 -5
  17. package/build/components/child-layout-control/index.js.map +1 -1
  18. package/build/components/date-format-picker/index.js +0 -1
  19. package/build/components/date-format-picker/index.js.map +1 -1
  20. package/build/components/font-appearance-control/index.js +1 -2
  21. package/build/components/font-appearance-control/index.js.map +1 -1
  22. package/build/components/global-styles/dimensions-panel.js +30 -19
  23. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  24. package/build/components/inspector-controls-tabs/styles-tab.js +0 -4
  25. package/build/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  26. package/build/components/observe-typing/index.js +5 -10
  27. package/build/components/observe-typing/index.js.map +1 -1
  28. package/build/components/rich-text/format-toolbar-container.js +1 -31
  29. package/build/components/rich-text/format-toolbar-container.js.map +1 -1
  30. package/build/components/rich-text/index.js +1 -2
  31. package/build/components/rich-text/index.js.map +1 -1
  32. package/build/components/skip-to-selected-block/index.js +7 -14
  33. package/build/components/skip-to-selected-block/index.js.map +1 -1
  34. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +0 -1
  35. package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  36. package/build/components/url-input/index.js +5 -8
  37. package/build/components/url-input/index.js.map +1 -1
  38. package/build/hooks/layout-child.js +50 -1
  39. package/build/hooks/layout-child.js.map +1 -1
  40. package/build/hooks/position.js +0 -1
  41. package/build/hooks/position.js.map +1 -1
  42. package/build/layouts/grid.js +105 -12
  43. package/build/layouts/grid.js.map +1 -1
  44. package/build/store/actions.js +2 -30
  45. package/build/store/actions.js.map +1 -1
  46. package/build-module/components/block-canvas/index.js +2 -0
  47. package/build-module/components/block-canvas/index.js.map +1 -1
  48. package/build-module/components/block-heading-level-dropdown/index.js +14 -17
  49. package/build-module/components/block-heading-level-dropdown/index.js.map +1 -1
  50. package/build-module/components/block-inspector/index.js +1 -4
  51. package/build-module/components/block-inspector/index.js.map +1 -1
  52. package/build-module/components/block-list/index.js +9 -9
  53. package/build-module/components/block-list/index.js.map +1 -1
  54. package/build-module/components/block-preview/index.js +4 -0
  55. package/build-module/components/block-preview/index.js.map +1 -1
  56. package/build-module/components/block-settings-menu/block-parent-selector-menu-item.js +46 -0
  57. package/build-module/components/block-settings-menu/block-parent-selector-menu-item.js.map +1 -0
  58. package/build-module/components/block-settings-menu/block-settings-dropdown.js +12 -40
  59. package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
  60. package/build-module/components/child-layout-control/index.js +38 -6
  61. package/build-module/components/child-layout-control/index.js.map +1 -1
  62. package/build-module/components/date-format-picker/index.js +0 -1
  63. package/build-module/components/date-format-picker/index.js.map +1 -1
  64. package/build-module/components/font-appearance-control/index.js +1 -2
  65. package/build-module/components/font-appearance-control/index.js.map +1 -1
  66. package/build-module/components/global-styles/dimensions-panel.js +30 -19
  67. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  68. package/build-module/components/inspector-controls-tabs/styles-tab.js +0 -4
  69. package/build-module/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  70. package/build-module/components/observe-typing/index.js +5 -10
  71. package/build-module/components/observe-typing/index.js.map +1 -1
  72. package/build-module/components/rich-text/format-toolbar-container.js +1 -31
  73. package/build-module/components/rich-text/format-toolbar-container.js.map +1 -1
  74. package/build-module/components/rich-text/index.js +1 -2
  75. package/build-module/components/rich-text/index.js.map +1 -1
  76. package/build-module/components/skip-to-selected-block/index.js +8 -14
  77. package/build-module/components/skip-to-selected-block/index.js.map +1 -1
  78. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +0 -1
  79. package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
  80. package/build-module/components/url-input/index.js +5 -8
  81. package/build-module/components/url-input/index.js.map +1 -1
  82. package/build-module/hooks/layout-child.js +50 -1
  83. package/build-module/hooks/layout-child.js.map +1 -1
  84. package/build-module/hooks/position.js +0 -1
  85. package/build-module/hooks/position.js.map +1 -1
  86. package/build-module/layouts/grid.js +107 -14
  87. package/build-module/layouts/grid.js.map +1 -1
  88. package/build-module/store/actions.js +2 -30
  89. package/build-module/store/actions.js.map +1 -1
  90. package/build-style/style-rtl.css +12 -17
  91. package/build-style/style.css +12 -17
  92. package/package.json +31 -32
  93. package/src/components/block-canvas/index.js +2 -0
  94. package/src/components/block-heading-level-dropdown/index.js +17 -25
  95. package/src/components/block-inspector/index.js +0 -11
  96. package/src/components/block-list/index.js +55 -55
  97. package/src/components/block-preview/index.js +6 -1
  98. package/src/components/block-settings-menu/block-parent-selector-menu-item.js +50 -0
  99. package/src/components/block-settings-menu/block-settings-dropdown.js +9 -50
  100. package/src/components/block-styles/style.scss +0 -4
  101. package/src/components/block-toolbar/style.scss +11 -6
  102. package/src/components/child-layout-control/index.js +85 -44
  103. package/src/components/date-format-picker/index.js +0 -1
  104. package/src/components/font-appearance-control/index.js +0 -1
  105. package/src/components/global-styles/dimensions-panel.js +36 -24
  106. package/src/components/global-styles/test/use-global-styles-output.js +3 -2
  107. package/src/components/inspector-controls-tabs/styles-tab.js +0 -7
  108. package/src/components/observe-typing/index.js +7 -10
  109. package/src/components/rich-text/format-toolbar-container.js +1 -48
  110. package/src/components/rich-text/index.js +0 -1
  111. package/src/components/skip-to-selected-block/index.js +10 -13
  112. package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +0 -1
  113. package/src/components/url-input/index.js +6 -15
  114. package/src/hooks/anchor.scss +1 -1
  115. package/src/hooks/layout-child.js +53 -1
  116. package/src/hooks/position.js +0 -1
  117. package/src/layouts/grid.js +131 -52
  118. package/src/layouts/test/grid.js +16 -2
  119. package/src/store/actions.js +2 -38
  120. package/src/store/test/actions.js +0 -101
  121. package/src/style.scss +0 -1
  122. package/build/components/default-style-picker/index.js +0 -70
  123. package/build/components/default-style-picker/index.js.map +0 -1
  124. package/build-module/components/default-style-picker/index.js +0 -63
  125. package/build-module/components/default-style-picker/index.js.map +0 -1
  126. package/src/components/block-settings-menu/style.scss +0 -3
  127. package/src/components/default-style-picker/index.js +0 -70
@@ -2,7 +2,7 @@ import { createElement, Fragment } from "react";
2
2
  /**
3
3
  * WordPress dependencies
4
4
  */
5
- import { __experimentalToggleGroupControl as ToggleGroupControl, __experimentalToggleGroupControlOption as ToggleGroupControlOption, __experimentalUnitControl as UnitControl } from '@wordpress/components';
5
+ import { __experimentalToggleGroupControl as ToggleGroupControl, __experimentalToggleGroupControlOption as ToggleGroupControlOption, __experimentalUnitControl as UnitControl, __experimentalInputControl as InputControl, __experimentalHStack as HStack } from '@wordpress/components';
6
6
  import { __ } from '@wordpress/i18n';
7
7
  import { useEffect } from '@wordpress/element';
8
8
  function helpText(selfStretch, parentLayout) {
@@ -37,8 +37,17 @@ export default function ChildLayoutControl({
37
37
  }) {
38
38
  const {
39
39
  selfStretch,
40
- flexSize
40
+ flexSize,
41
+ columnSpan,
42
+ rowSpan
41
43
  } = childLayout;
44
+ const {
45
+ type: parentType,
46
+ default: {
47
+ type: defaultParentType = 'default'
48
+ } = {}
49
+ } = parentLayout !== null && parentLayout !== void 0 ? parentLayout : {};
50
+ const parentLayoutType = parentType || defaultParentType;
42
51
  useEffect(() => {
43
52
  if (selfStretch === 'fixed' && !flexSize) {
44
53
  onChange({
@@ -47,7 +56,7 @@ export default function ChildLayoutControl({
47
56
  });
48
57
  }
49
58
  }, []);
50
- return createElement(Fragment, null, createElement(ToggleGroupControl, {
59
+ return createElement(Fragment, null, parentLayoutType === 'flex' && createElement(Fragment, null, createElement(ToggleGroupControl, {
51
60
  __nextHasNoMarginBottom: true,
52
61
  size: '__unstable-large',
53
62
  label: childLayoutOrientation(parentLayout),
@@ -56,7 +65,6 @@ export default function ChildLayoutControl({
56
65
  onChange: value => {
57
66
  const newFlexSize = value !== 'fixed' ? null : flexSize;
58
67
  onChange({
59
- ...childLayout,
60
68
  selfStretch: value,
61
69
  flexSize: newFlexSize
62
70
  });
@@ -78,12 +86,36 @@ export default function ChildLayoutControl({
78
86
  size: '__unstable-large',
79
87
  onChange: value => {
80
88
  onChange({
81
- ...childLayout,
89
+ selfStretch,
82
90
  flexSize: value
83
91
  });
84
92
  },
85
93
  value: flexSize
86
- }));
94
+ })), parentLayoutType === 'grid' && createElement(HStack, null, createElement(InputControl, {
95
+ size: '__unstable-large',
96
+ label: __('Column Span'),
97
+ type: "number",
98
+ onChange: value => {
99
+ onChange({
100
+ rowSpan,
101
+ columnSpan: value
102
+ });
103
+ },
104
+ value: columnSpan,
105
+ min: 1
106
+ }), createElement(InputControl, {
107
+ size: '__unstable-large',
108
+ label: __('Row Span'),
109
+ type: "number",
110
+ onChange: value => {
111
+ onChange({
112
+ columnSpan,
113
+ rowSpan: value
114
+ });
115
+ },
116
+ value: rowSpan,
117
+ min: 1
118
+ })));
87
119
  }
88
120
  export function childLayoutOrientation(parentLayout) {
89
121
  const {
@@ -1 +1 @@
1
- {"version":3,"names":["__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","__experimentalUnitControl","UnitControl","__","useEffect","helpText","selfStretch","parentLayout","orientation","ChildLayoutControl","value","childLayout","onChange","flexSize","createElement","Fragment","__nextHasNoMarginBottom","size","label","childLayoutOrientation","help","newFlexSize","isBlock","key"],"sources":["@wordpress/block-editor/src/components/child-layout-control/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalUnitControl as UnitControl,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useEffect } from '@wordpress/element';\n\nfunction helpText( selfStretch, parentLayout ) {\n\tconst { orientation = 'horizontal' } = parentLayout;\n\n\tif ( selfStretch === 'fill' ) {\n\t\treturn __( 'Stretch to fill available space.' );\n\t}\n\tif ( selfStretch === 'fixed' && orientation === 'horizontal' ) {\n\t\treturn __( 'Specify a fixed width.' );\n\t} else if ( selfStretch === 'fixed' ) {\n\t\treturn __( 'Specify a fixed height.' );\n\t}\n\treturn __( 'Fit contents.' );\n}\n\n/**\n * Form to edit the child layout value.\n *\n * @param {Object} props Props.\n * @param {Object} props.value The child layout value.\n * @param {Function} props.onChange Function to update the child layout value.\n * @param {Object} props.parentLayout The parent layout value.\n *\n * @return {Element} child layout edit element.\n */\nexport default function ChildLayoutControl( {\n\tvalue: childLayout = {},\n\tonChange,\n\tparentLayout,\n} ) {\n\tconst { selfStretch, flexSize } = childLayout;\n\n\tuseEffect( () => {\n\t\tif ( selfStretch === 'fixed' && ! flexSize ) {\n\t\t\tonChange( {\n\t\t\t\t...childLayout,\n\t\t\t\tselfStretch: 'fit',\n\t\t\t} );\n\t\t}\n\t}, [] );\n\n\treturn (\n\t\t<>\n\t\t\t<ToggleGroupControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tsize={ '__unstable-large' }\n\t\t\t\tlabel={ childLayoutOrientation( parentLayout ) }\n\t\t\t\tvalue={ selfStretch || 'fit' }\n\t\t\t\thelp={ helpText( selfStretch, parentLayout ) }\n\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\tconst newFlexSize = value !== 'fixed' ? null : flexSize;\n\t\t\t\t\tonChange( {\n\t\t\t\t\t\t...childLayout,\n\t\t\t\t\t\tselfStretch: value,\n\t\t\t\t\t\tflexSize: newFlexSize,\n\t\t\t\t\t} );\n\t\t\t\t} }\n\t\t\t\tisBlock={ true }\n\t\t\t>\n\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\tkey={ 'fit' }\n\t\t\t\t\tvalue={ 'fit' }\n\t\t\t\t\tlabel={ __( 'Fit' ) }\n\t\t\t\t/>\n\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\tkey={ 'fill' }\n\t\t\t\t\tvalue={ 'fill' }\n\t\t\t\t\tlabel={ __( 'Fill' ) }\n\t\t\t\t/>\n\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\tkey={ 'fixed' }\n\t\t\t\t\tvalue={ 'fixed' }\n\t\t\t\t\tlabel={ __( 'Fixed' ) }\n\t\t\t\t/>\n\t\t\t</ToggleGroupControl>\n\t\t\t{ selfStretch === 'fixed' && (\n\t\t\t\t<UnitControl\n\t\t\t\t\tsize={ '__unstable-large' }\n\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t...childLayout,\n\t\t\t\t\t\t\tflexSize: value,\n\t\t\t\t\t\t} );\n\t\t\t\t\t} }\n\t\t\t\t\tvalue={ flexSize }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport function childLayoutOrientation( parentLayout ) {\n\tconst { orientation = 'horizontal' } = parentLayout;\n\n\treturn orientation === 'horizontal' ? __( 'Width' ) : __( 'Height' );\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SACCA,gCAAgC,IAAIC,kBAAkB,EACtDC,sCAAsC,IAAIC,wBAAwB,EAClEC,yBAAyB,IAAIC,WAAW,QAClC,uBAAuB;AAC9B,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,SAAS,QAAQ,oBAAoB;AAE9C,SAASC,QAAQA,CAAEC,WAAW,EAAEC,YAAY,EAAG;EAC9C,MAAM;IAAEC,WAAW,GAAG;EAAa,CAAC,GAAGD,YAAY;EAEnD,IAAKD,WAAW,KAAK,MAAM,EAAG;IAC7B,OAAOH,EAAE,CAAE,kCAAmC,CAAC;EAChD;EACA,IAAKG,WAAW,KAAK,OAAO,IAAIE,WAAW,KAAK,YAAY,EAAG;IAC9D,OAAOL,EAAE,CAAE,wBAAyB,CAAC;EACtC,CAAC,MAAM,IAAKG,WAAW,KAAK,OAAO,EAAG;IACrC,OAAOH,EAAE,CAAE,yBAA0B,CAAC;EACvC;EACA,OAAOA,EAAE,CAAE,eAAgB,CAAC;AAC7B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASM,kBAAkBA,CAAE;EAC3CC,KAAK,EAAEC,WAAW,GAAG,CAAC,CAAC;EACvBC,QAAQ;EACRL;AACD,CAAC,EAAG;EACH,MAAM;IAAED,WAAW;IAAEO;EAAS,CAAC,GAAGF,WAAW;EAE7CP,SAAS,CAAE,MAAM;IAChB,IAAKE,WAAW,KAAK,OAAO,IAAI,CAAEO,QAAQ,EAAG;MAC5CD,QAAQ,CAAE;QACT,GAAGD,WAAW;QACdL,WAAW,EAAE;MACd,CAAE,CAAC;IACJ;EACD,CAAC,EAAE,EAAG,CAAC;EAEP,OACCQ,aAAA,CAAAC,QAAA,QACCD,aAAA,CAAChB,kBAAkB;IAClBkB,uBAAuB;IACvBC,IAAI,EAAG,kBAAoB;IAC3BC,KAAK,EAAGC,sBAAsB,CAAEZ,YAAa,CAAG;IAChDG,KAAK,EAAGJ,WAAW,IAAI,KAAO;IAC9Bc,IAAI,EAAGf,QAAQ,CAAEC,WAAW,EAAEC,YAAa,CAAG;IAC9CK,QAAQ,EAAKF,KAAK,IAAM;MACvB,MAAMW,WAAW,GAAGX,KAAK,KAAK,OAAO,GAAG,IAAI,GAAGG,QAAQ;MACvDD,QAAQ,CAAE;QACT,GAAGD,WAAW;QACdL,WAAW,EAAEI,KAAK;QAClBG,QAAQ,EAAEQ;MACX,CAAE,CAAC;IACJ,CAAG;IACHC,OAAO,EAAG;EAAM,GAEhBR,aAAA,CAACd,wBAAwB;IACxBuB,GAAG,EAAG,KAAO;IACbb,KAAK,EAAG,KAAO;IACfQ,KAAK,EAAGf,EAAE,CAAE,KAAM;EAAG,CACrB,CAAC,EACFW,aAAA,CAACd,wBAAwB;IACxBuB,GAAG,EAAG,MAAQ;IACdb,KAAK,EAAG,MAAQ;IAChBQ,KAAK,EAAGf,EAAE,CAAE,MAAO;EAAG,CACtB,CAAC,EACFW,aAAA,CAACd,wBAAwB;IACxBuB,GAAG,EAAG,OAAS;IACfb,KAAK,EAAG,OAAS;IACjBQ,KAAK,EAAGf,EAAE,CAAE,OAAQ;EAAG,CACvB,CACkB,CAAC,EACnBG,WAAW,KAAK,OAAO,IACxBQ,aAAA,CAACZ,WAAW;IACXe,IAAI,EAAG,kBAAoB;IAC3BL,QAAQ,EAAKF,KAAK,IAAM;MACvBE,QAAQ,CAAE;QACT,GAAGD,WAAW;QACdE,QAAQ,EAAEH;MACX,CAAE,CAAC;IACJ,CAAG;IACHA,KAAK,EAAGG;EAAU,CAClB,CAED,CAAC;AAEL;AAEA,OAAO,SAASM,sBAAsBA,CAAEZ,YAAY,EAAG;EACtD,MAAM;IAAEC,WAAW,GAAG;EAAa,CAAC,GAAGD,YAAY;EAEnD,OAAOC,WAAW,KAAK,YAAY,GAAGL,EAAE,CAAE,OAAQ,CAAC,GAAGA,EAAE,CAAE,QAAS,CAAC;AACrE"}
1
+ {"version":3,"names":["__experimentalToggleGroupControl","ToggleGroupControl","__experimentalToggleGroupControlOption","ToggleGroupControlOption","__experimentalUnitControl","UnitControl","__experimentalInputControl","InputControl","__experimentalHStack","HStack","__","useEffect","helpText","selfStretch","parentLayout","orientation","ChildLayoutControl","value","childLayout","onChange","flexSize","columnSpan","rowSpan","type","parentType","default","defaultParentType","parentLayoutType","createElement","Fragment","__nextHasNoMarginBottom","size","label","childLayoutOrientation","help","newFlexSize","isBlock","key","min"],"sources":["@wordpress/block-editor/src/components/child-layout-control/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\t__experimentalToggleGroupControl as ToggleGroupControl,\n\t__experimentalToggleGroupControlOption as ToggleGroupControlOption,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalInputControl as InputControl,\n\t__experimentalHStack as HStack,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useEffect } from '@wordpress/element';\n\nfunction helpText( selfStretch, parentLayout ) {\n\tconst { orientation = 'horizontal' } = parentLayout;\n\n\tif ( selfStretch === 'fill' ) {\n\t\treturn __( 'Stretch to fill available space.' );\n\t}\n\tif ( selfStretch === 'fixed' && orientation === 'horizontal' ) {\n\t\treturn __( 'Specify a fixed width.' );\n\t} else if ( selfStretch === 'fixed' ) {\n\t\treturn __( 'Specify a fixed height.' );\n\t}\n\treturn __( 'Fit contents.' );\n}\n\n/**\n * Form to edit the child layout value.\n *\n * @param {Object} props Props.\n * @param {Object} props.value The child layout value.\n * @param {Function} props.onChange Function to update the child layout value.\n * @param {Object} props.parentLayout The parent layout value.\n *\n * @return {Element} child layout edit element.\n */\nexport default function ChildLayoutControl( {\n\tvalue: childLayout = {},\n\tonChange,\n\tparentLayout,\n} ) {\n\tconst { selfStretch, flexSize, columnSpan, rowSpan } = childLayout;\n\tconst {\n\t\ttype: parentType,\n\t\tdefault: { type: defaultParentType = 'default' } = {},\n\t} = parentLayout ?? {};\n\tconst parentLayoutType = parentType || defaultParentType;\n\n\tuseEffect( () => {\n\t\tif ( selfStretch === 'fixed' && ! flexSize ) {\n\t\t\tonChange( {\n\t\t\t\t...childLayout,\n\t\t\t\tselfStretch: 'fit',\n\t\t\t} );\n\t\t}\n\t}, [] );\n\n\treturn (\n\t\t<>\n\t\t\t{ parentLayoutType === 'flex' && (\n\t\t\t\t<>\n\t\t\t\t\t<ToggleGroupControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tsize={ '__unstable-large' }\n\t\t\t\t\t\tlabel={ childLayoutOrientation( parentLayout ) }\n\t\t\t\t\t\tvalue={ selfStretch || 'fit' }\n\t\t\t\t\t\thelp={ helpText( selfStretch, parentLayout ) }\n\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\tconst newFlexSize =\n\t\t\t\t\t\t\t\tvalue !== 'fixed' ? null : flexSize;\n\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\tselfStretch: value,\n\t\t\t\t\t\t\t\tflexSize: newFlexSize,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tisBlock={ true }\n\t\t\t\t\t>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tkey={ 'fit' }\n\t\t\t\t\t\t\tvalue={ 'fit' }\n\t\t\t\t\t\t\tlabel={ __( 'Fit' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tkey={ 'fill' }\n\t\t\t\t\t\t\tvalue={ 'fill' }\n\t\t\t\t\t\t\tlabel={ __( 'Fill' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<ToggleGroupControlOption\n\t\t\t\t\t\t\tkey={ 'fixed' }\n\t\t\t\t\t\t\tvalue={ 'fixed' }\n\t\t\t\t\t\t\tlabel={ __( 'Fixed' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</ToggleGroupControl>\n\t\t\t\t\t{ selfStretch === 'fixed' && (\n\t\t\t\t\t\t<UnitControl\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\tonChange( {\n\t\t\t\t\t\t\t\t\tselfStretch,\n\t\t\t\t\t\t\t\t\tflexSize: value,\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={ flexSize }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t{ parentLayoutType === 'grid' && (\n\t\t\t\t<HStack>\n\t\t\t\t\t<InputControl\n\t\t\t\t\t\tsize={ '__unstable-large' }\n\t\t\t\t\t\tlabel={ __( 'Column Span' ) }\n\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\trowSpan,\n\t\t\t\t\t\t\t\tcolumnSpan: value,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tvalue={ columnSpan }\n\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t/>\n\t\t\t\t\t<InputControl\n\t\t\t\t\t\tsize={ '__unstable-large' }\n\t\t\t\t\t\tlabel={ __( 'Row Span' ) }\n\t\t\t\t\t\ttype=\"number\"\n\t\t\t\t\t\tonChange={ ( value ) => {\n\t\t\t\t\t\t\tonChange( {\n\t\t\t\t\t\t\t\tcolumnSpan,\n\t\t\t\t\t\t\t\trowSpan: value,\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tvalue={ rowSpan }\n\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t/>\n\t\t\t\t</HStack>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nexport function childLayoutOrientation( parentLayout ) {\n\tconst { orientation = 'horizontal' } = parentLayout;\n\n\treturn orientation === 'horizontal' ? __( 'Width' ) : __( 'Height' );\n}\n"],"mappings":"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"}
@@ -88,7 +88,6 @@ function NonDefaultControls({
88
88
  };
89
89
  const [isCustom, setIsCustom] = useState(() => !!format && !suggestedFormats.includes(format));
90
90
  return createElement(VStack, null, createElement(CustomSelectControl, {
91
- __nextUnconstrainedWidth: true,
92
91
  label: __('Choose a format'),
93
92
  options: [...suggestedOptions, customOption],
94
93
  value: isCustom ? customOption : (_suggestedOptions$fin = suggestedOptions.find(option => option.format === format)) !== null && _suggestedOptions$fin !== void 0 ? _suggestedOptions$fin : customOption,
@@ -1 +1 @@
1
- {"version":3,"names":["_x","__","dateI18n","useState","createInterpolateElement","TextControl","ExternalLink","VisuallyHidden","CustomSelectControl","ToggleControl","__experimentalVStack","VStack","EXAMPLE_DATE","Date","DateFormatPicker","format","defaultFormat","onChange","createElement","className","as","__nextHasNoMarginBottom","label","help","checked","NonDefaultControls","_suggestedOptions$fin","suggestedFormats","Set","suggestedOptions","map","suggestedFormat","index","key","name","customOption","__experimentalHint","isCustom","setIsCustom","includes","__nextUnconstrainedWidth","options","value","find","option","selectedItem","hideLabelFromVision","Link","href"],"sources":["@wordpress/block-editor/src/components/date-format-picker/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { _x, __ } from '@wordpress/i18n';\nimport { dateI18n } from '@wordpress/date';\nimport { useState, createInterpolateElement } from '@wordpress/element';\nimport {\n\tTextControl,\n\tExternalLink,\n\tVisuallyHidden,\n\tCustomSelectControl,\n\tToggleControl,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\n\n// So that we can illustrate the different formats in the dropdown properly,\n// show a date that has a day greater than 12 and a month with more than three\n// letters. Here we're using 2022-01-25 which is when WordPress 5.9 was\n// released.\nconst EXAMPLE_DATE = new Date( 2022, 0, 25 );\n\n/**\n * The `DateFormatPicker` component renders controls that let the user choose a\n * _date format_. That is, how they want their dates to be formatted.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/date-format-picker/README.md\n *\n * @param {Object} props\n * @param {string|null} props.format The selected date\n * format. If\n * `null`,\n * _Default_ is\n * selected.\n * @param {string} props.defaultFormat The date format that\n * will be used if the\n * user selects\n * 'Default'.\n * @param {( format: string|null ) => void} props.onChange Called when a\n * selection is\n * made. If `null`,\n * _Default_ is\n * selected.\n */\nexport default function DateFormatPicker( {\n\tformat,\n\tdefaultFormat,\n\tonChange,\n} ) {\n\treturn (\n\t\t<fieldset className=\"block-editor-date-format-picker\">\n\t\t\t<VisuallyHidden as=\"legend\">{ __( 'Date format' ) }</VisuallyHidden>\n\t\t\t<ToggleControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Default format' ) }\n\t\t\t\thelp={ `${ __( 'Example:' ) } ${ dateI18n(\n\t\t\t\t\tdefaultFormat,\n\t\t\t\t\tEXAMPLE_DATE\n\t\t\t\t) }` }\n\t\t\t\tchecked={ ! format }\n\t\t\t\tonChange={ ( checked ) =>\n\t\t\t\t\tonChange( checked ? null : defaultFormat )\n\t\t\t\t}\n\t\t\t/>\n\t\t\t{ format && (\n\t\t\t\t<NonDefaultControls format={ format } onChange={ onChange } />\n\t\t\t) }\n\t\t</fieldset>\n\t);\n}\n\nfunction NonDefaultControls( { format, onChange } ) {\n\t// Suggest a short format, medium format, long format, and a standardised\n\t// (YYYY-MM-DD) format. The short, medium, and long formats are localised as\n\t// different languages have different ways of writing these. For example, 'F\n\t// j, Y' (April 20, 2022) in American English (en_US) is 'j. F Y' (20. April\n\t// 2022) in German (de). The resultant array is de-duplicated as some\n\t// languages will use the same format string for short, medium, and long\n\t// formats.\n\tconst suggestedFormats = [\n\t\t...new Set( [\n\t\t\t/* translators: See https://www.php.net/manual/datetime.format.php */\n\t\t\t'Y-m-d',\n\t\t\t/* translators: See https://www.php.net/manual/datetime.format.php */\n\t\t\t_x( 'n/j/Y', 'short date format' ),\n\t\t\t/* translators: See https://www.php.net/manual/datetime.format.php */\n\t\t\t_x( 'n/j/Y g:i A', 'short date format with time' ),\n\t\t\t/* translators: See https://www.php.net/manual/datetime.format.php */\n\t\t\t_x( 'M j, Y', 'medium date format' ),\n\t\t\t/* translators: See https://www.php.net/manual/datetime.format.php */\n\t\t\t_x( 'M j, Y g:i A', 'medium date format with time' ),\n\t\t\t/* translators: See https://www.php.net/manual/datetime.format.php */\n\t\t\t_x( 'F j, Y', 'long date format' ),\n\t\t\t/* translators: See https://www.php.net/manual/datetime.format.php */\n\t\t\t_x( 'M j', 'short date format without the year' ),\n\t\t] ),\n\t];\n\n\tconst suggestedOptions = suggestedFormats.map(\n\t\t( suggestedFormat, index ) => ( {\n\t\t\tkey: `suggested-${ index }`,\n\t\t\tname: dateI18n( suggestedFormat, EXAMPLE_DATE ),\n\t\t\tformat: suggestedFormat,\n\t\t} )\n\t);\n\tconst customOption = {\n\t\tkey: 'custom',\n\t\tname: __( 'Custom' ),\n\t\tclassName:\n\t\t\t'block-editor-date-format-picker__custom-format-select-control__custom-option',\n\t\t__experimentalHint: __( 'Enter your own date format' ),\n\t};\n\n\tconst [ isCustom, setIsCustom ] = useState(\n\t\t() => !! format && ! suggestedFormats.includes( format )\n\t);\n\n\treturn (\n\t\t<VStack>\n\t\t\t<CustomSelectControl\n\t\t\t\t__nextUnconstrainedWidth\n\t\t\t\tlabel={ __( 'Choose a format' ) }\n\t\t\t\toptions={ [ ...suggestedOptions, customOption ] }\n\t\t\t\tvalue={\n\t\t\t\t\tisCustom\n\t\t\t\t\t\t? customOption\n\t\t\t\t\t\t: suggestedOptions.find(\n\t\t\t\t\t\t\t\t( option ) => option.format === format\n\t\t\t\t\t\t ) ?? customOption\n\t\t\t\t}\n\t\t\t\tonChange={ ( { selectedItem } ) => {\n\t\t\t\t\tif ( selectedItem === customOption ) {\n\t\t\t\t\t\tsetIsCustom( true );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsetIsCustom( false );\n\t\t\t\t\t\tonChange( selectedItem.format );\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t{ isCustom && (\n\t\t\t\t<TextControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Custom format' ) }\n\t\t\t\t\thideLabelFromVision\n\t\t\t\t\thelp={ createInterpolateElement(\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Enter a date or time <Link>format string</Link>.'\n\t\t\t\t\t\t),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tLink: (\n\t\t\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\t\t\thref={ __(\n\t\t\t\t\t\t\t\t\t\t'https://wordpress.org/documentation/article/customize-date-and-time-format/'\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) }\n\t\t\t\t\tvalue={ format }\n\t\t\t\t\tonChange={ ( value ) => onChange( value ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_x","__","dateI18n","useState","createInterpolateElement","TextControl","ExternalLink","VisuallyHidden","CustomSelectControl","ToggleControl","__experimentalVStack","VStack","EXAMPLE_DATE","Date","DateFormatPicker","format","defaultFormat","onChange","createElement","className","as","__nextHasNoMarginBottom","label","help","checked","NonDefaultControls","_suggestedOptions$fin","suggestedFormats","Set","suggestedOptions","map","suggestedFormat","index","key","name","customOption","__experimentalHint","isCustom","setIsCustom","includes","options","value","find","option","selectedItem","hideLabelFromVision","Link","href"],"sources":["@wordpress/block-editor/src/components/date-format-picker/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { _x, __ } from '@wordpress/i18n';\nimport { dateI18n } from '@wordpress/date';\nimport { useState, createInterpolateElement } from '@wordpress/element';\nimport {\n\tTextControl,\n\tExternalLink,\n\tVisuallyHidden,\n\tCustomSelectControl,\n\tToggleControl,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\n\n// So that we can illustrate the different formats in the dropdown properly,\n// show a date that has a day greater than 12 and a month with more than three\n// letters. Here we're using 2022-01-25 which is when WordPress 5.9 was\n// released.\nconst EXAMPLE_DATE = new Date( 2022, 0, 25 );\n\n/**\n * The `DateFormatPicker` component renders controls that let the user choose a\n * _date format_. That is, how they want their dates to be formatted.\n *\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/date-format-picker/README.md\n *\n * @param {Object} props\n * @param {string|null} props.format The selected date\n * format. If\n * `null`,\n * _Default_ is\n * selected.\n * @param {string} props.defaultFormat The date format that\n * will be used if the\n * user selects\n * 'Default'.\n * @param {( format: string|null ) => void} props.onChange Called when a\n * selection is\n * made. If `null`,\n * _Default_ is\n * selected.\n */\nexport default function DateFormatPicker( {\n\tformat,\n\tdefaultFormat,\n\tonChange,\n} ) {\n\treturn (\n\t\t<fieldset className=\"block-editor-date-format-picker\">\n\t\t\t<VisuallyHidden as=\"legend\">{ __( 'Date format' ) }</VisuallyHidden>\n\t\t\t<ToggleControl\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tlabel={ __( 'Default format' ) }\n\t\t\t\thelp={ `${ __( 'Example:' ) } ${ dateI18n(\n\t\t\t\t\tdefaultFormat,\n\t\t\t\t\tEXAMPLE_DATE\n\t\t\t\t) }` }\n\t\t\t\tchecked={ ! format }\n\t\t\t\tonChange={ ( checked ) =>\n\t\t\t\t\tonChange( checked ? null : defaultFormat )\n\t\t\t\t}\n\t\t\t/>\n\t\t\t{ format && (\n\t\t\t\t<NonDefaultControls format={ format } onChange={ onChange } />\n\t\t\t) }\n\t\t</fieldset>\n\t);\n}\n\nfunction NonDefaultControls( { format, onChange } ) {\n\t// Suggest a short format, medium format, long format, and a standardised\n\t// (YYYY-MM-DD) format. The short, medium, and long formats are localised as\n\t// different languages have different ways of writing these. For example, 'F\n\t// j, Y' (April 20, 2022) in American English (en_US) is 'j. F Y' (20. April\n\t// 2022) in German (de). The resultant array is de-duplicated as some\n\t// languages will use the same format string for short, medium, and long\n\t// formats.\n\tconst suggestedFormats = [\n\t\t...new Set( [\n\t\t\t/* translators: See https://www.php.net/manual/datetime.format.php */\n\t\t\t'Y-m-d',\n\t\t\t/* translators: See https://www.php.net/manual/datetime.format.php */\n\t\t\t_x( 'n/j/Y', 'short date format' ),\n\t\t\t/* translators: See https://www.php.net/manual/datetime.format.php */\n\t\t\t_x( 'n/j/Y g:i A', 'short date format with time' ),\n\t\t\t/* translators: See https://www.php.net/manual/datetime.format.php */\n\t\t\t_x( 'M j, Y', 'medium date format' ),\n\t\t\t/* translators: See https://www.php.net/manual/datetime.format.php */\n\t\t\t_x( 'M j, Y g:i A', 'medium date format with time' ),\n\t\t\t/* translators: See https://www.php.net/manual/datetime.format.php */\n\t\t\t_x( 'F j, Y', 'long date format' ),\n\t\t\t/* translators: See https://www.php.net/manual/datetime.format.php */\n\t\t\t_x( 'M j', 'short date format without the year' ),\n\t\t] ),\n\t];\n\n\tconst suggestedOptions = suggestedFormats.map(\n\t\t( suggestedFormat, index ) => ( {\n\t\t\tkey: `suggested-${ index }`,\n\t\t\tname: dateI18n( suggestedFormat, EXAMPLE_DATE ),\n\t\t\tformat: suggestedFormat,\n\t\t} )\n\t);\n\tconst customOption = {\n\t\tkey: 'custom',\n\t\tname: __( 'Custom' ),\n\t\tclassName:\n\t\t\t'block-editor-date-format-picker__custom-format-select-control__custom-option',\n\t\t__experimentalHint: __( 'Enter your own date format' ),\n\t};\n\n\tconst [ isCustom, setIsCustom ] = useState(\n\t\t() => !! format && ! suggestedFormats.includes( format )\n\t);\n\n\treturn (\n\t\t<VStack>\n\t\t\t<CustomSelectControl\n\t\t\t\tlabel={ __( 'Choose a format' ) }\n\t\t\t\toptions={ [ ...suggestedOptions, customOption ] }\n\t\t\t\tvalue={\n\t\t\t\t\tisCustom\n\t\t\t\t\t\t? customOption\n\t\t\t\t\t\t: suggestedOptions.find(\n\t\t\t\t\t\t\t\t( option ) => option.format === format\n\t\t\t\t\t\t ) ?? customOption\n\t\t\t\t}\n\t\t\t\tonChange={ ( { selectedItem } ) => {\n\t\t\t\t\tif ( selectedItem === customOption ) {\n\t\t\t\t\t\tsetIsCustom( true );\n\t\t\t\t\t} else {\n\t\t\t\t\t\tsetIsCustom( false );\n\t\t\t\t\t\tonChange( selectedItem.format );\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t/>\n\t\t\t{ isCustom && (\n\t\t\t\t<TextControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Custom format' ) }\n\t\t\t\t\thideLabelFromVision\n\t\t\t\t\thelp={ createInterpolateElement(\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Enter a date or time <Link>format string</Link>.'\n\t\t\t\t\t\t),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tLink: (\n\t\t\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\t\t\thref={ __(\n\t\t\t\t\t\t\t\t\t\t'https://wordpress.org/documentation/article/customize-date-and-time-format/'\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) }\n\t\t\t\t\tvalue={ format }\n\t\t\t\t\tonChange={ ( value ) => onChange( value ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,EAAEC,EAAE,QAAQ,iBAAiB;AACxC,SAASC,QAAQ,QAAQ,iBAAiB;AAC1C,SAASC,QAAQ,EAAEC,wBAAwB,QAAQ,oBAAoB;AACvE,SACCC,WAAW,EACXC,YAAY,EACZC,cAAc,EACdC,mBAAmB,EACnBC,aAAa,EACbC,oBAAoB,IAAIC,MAAM,QACxB,uBAAuB;;AAE9B;AACA;AACA;AACA;AACA,MAAMC,YAAY,GAAG,IAAIC,IAAI,CAAE,IAAI,EAAE,CAAC,EAAE,EAAG,CAAC;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAe,SAASC,gBAAgBA,CAAE;EACzCC,MAAM;EACNC,aAAa;EACbC;AACD,CAAC,EAAG;EACH,OACCC,aAAA;IAAUC,SAAS,EAAC;EAAiC,GACpDD,aAAA,CAACX,cAAc;IAACa,EAAE,EAAC;EAAQ,GAAGnB,EAAE,CAAE,aAAc,CAAmB,CAAC,EACpEiB,aAAA,CAACT,aAAa;IACbY,uBAAuB;IACvBC,KAAK,EAAGrB,EAAE,CAAE,gBAAiB,CAAG;IAChCsB,IAAI,EAAI,GAAGtB,EAAE,CAAE,UAAW,CAAG,KAAKC,QAAQ,CACzCc,aAAa,EACbJ,YACD,CAAG,EAAG;IACNY,OAAO,EAAG,CAAET,MAAQ;IACpBE,QAAQ,EAAKO,OAAO,IACnBP,QAAQ,CAAEO,OAAO,GAAG,IAAI,GAAGR,aAAc;EACzC,CACD,CAAC,EACAD,MAAM,IACPG,aAAA,CAACO,kBAAkB;IAACV,MAAM,EAAGA,MAAQ;IAACE,QAAQ,EAAGA;EAAU,CAAE,CAErD,CAAC;AAEb;AAEA,SAASQ,kBAAkBA,CAAE;EAAEV,MAAM;EAAEE;AAAS,CAAC,EAAG;EAAA,IAAAS,qBAAA;EACnD;EACA;EACA;EACA;EACA;EACA;EACA;EACA,MAAMC,gBAAgB,GAAG,CACxB,GAAG,IAAIC,GAAG,CAAE,CACX;EACA,OAAO,EACP;EACA5B,EAAE,CAAE,OAAO,EAAE,mBAAoB,CAAC,EAClC;EACAA,EAAE,CAAE,aAAa,EAAE,6BAA8B,CAAC,EAClD;EACAA,EAAE,CAAE,QAAQ,EAAE,oBAAqB,CAAC,EACpC;EACAA,EAAE,CAAE,cAAc,EAAE,8BAA+B,CAAC,EACpD;EACAA,EAAE,CAAE,QAAQ,EAAE,kBAAmB,CAAC,EAClC;EACAA,EAAE,CAAE,KAAK,EAAE,oCAAqC,CAAC,CAChD,CAAC,CACH;EAED,MAAM6B,gBAAgB,GAAGF,gBAAgB,CAACG,GAAG,CAC5C,CAAEC,eAAe,EAAEC,KAAK,MAAQ;IAC/BC,GAAG,EAAG,aAAaD,KAAO,EAAC;IAC3BE,IAAI,EAAEhC,QAAQ,CAAE6B,eAAe,EAAEnB,YAAa,CAAC;IAC/CG,MAAM,EAAEgB;EACT,CAAC,CACF,CAAC;EACD,MAAMI,YAAY,GAAG;IACpBF,GAAG,EAAE,QAAQ;IACbC,IAAI,EAAEjC,EAAE,CAAE,QAAS,CAAC;IACpBkB,SAAS,EACR,8EAA8E;IAC/EiB,kBAAkB,EAAEnC,EAAE,CAAE,4BAA6B;EACtD,CAAC;EAED,MAAM,CAAEoC,QAAQ,EAAEC,WAAW,CAAE,GAAGnC,QAAQ,CACzC,MAAM,CAAC,CAAEY,MAAM,IAAI,CAAEY,gBAAgB,CAACY,QAAQ,CAAExB,MAAO,CACxD,CAAC;EAED,OACCG,aAAA,CAACP,MAAM,QACNO,aAAA,CAACV,mBAAmB;IACnBc,KAAK,EAAGrB,EAAE,CAAE,iBAAkB,CAAG;IACjCuC,OAAO,EAAG,CAAE,GAAGX,gBAAgB,EAAEM,YAAY,CAAI;IACjDM,KAAK,EACJJ,QAAQ,GACLF,YAAY,IAAAT,qBAAA,GACZG,gBAAgB,CAACa,IAAI,CACnBC,MAAM,IAAMA,MAAM,CAAC5B,MAAM,KAAKA,MAChC,CAAC,cAAAW,qBAAA,cAAAA,qBAAA,GAAIS,YACR;IACDlB,QAAQ,EAAGA,CAAE;MAAE2B;IAAa,CAAC,KAAM;MAClC,IAAKA,YAAY,KAAKT,YAAY,EAAG;QACpCG,WAAW,CAAE,IAAK,CAAC;MACpB,CAAC,MAAM;QACNA,WAAW,CAAE,KAAM,CAAC;QACpBrB,QAAQ,CAAE2B,YAAY,CAAC7B,MAAO,CAAC;MAChC;IACD;EAAG,CACH,CAAC,EACAsB,QAAQ,IACTnB,aAAA,CAACb,WAAW;IACXgB,uBAAuB;IACvBC,KAAK,EAAGrB,EAAE,CAAE,eAAgB,CAAG;IAC/B4C,mBAAmB;IACnBtB,IAAI,EAAGnB,wBAAwB,CAC9BH,EAAE,CACD,kDACD,CAAC,EACD;MACC6C,IAAI,EACH5B,aAAA,CAACZ,YAAY;QACZyC,IAAI,EAAG9C,EAAE,CACR,6EACD;MAAG,CACH;IAEH,CACD,CAAG;IACHwC,KAAK,EAAG1B,MAAQ;IAChBE,QAAQ,EAAKwB,KAAK,IAAMxB,QAAQ,CAAEwB,KAAM;EAAG,CAC3C,CAEK,CAAC;AAEX"}
@@ -192,8 +192,7 @@ export default function FontAppearanceControl(props) {
192
192
  value: currentSelection,
193
193
  onChange: ({
194
194
  selectedItem
195
- }) => onChange(selectedItem.style),
196
- __nextUnconstrainedWidth: true
195
+ }) => onChange(selectedItem.style)
197
196
  });
198
197
  }
199
198
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["CustomSelectControl","useMemo","__","_x","sprintf","FONT_STYLES","name","value","FONT_WEIGHTS","getFontAppearanceLabel","hasFontStyles","hasFontWeights","FontAppearanceControl","props","onChange","fontStyle","fontWeight","otherProps","hasStylesOrWeights","label","defaultOption","key","style","undefined","combineOptions","combinedOptions","forEach","styleName","styleValue","weightName","weightValue","optionName","push","styleOptions","weightOptions","selectOptions","options","currentSelection","find","option","getDescribedBy","createElement","className","describedBy","selectedItem","__nextUnconstrainedWidth"],"sources":["@wordpress/block-editor/src/components/font-appearance-control/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { CustomSelectControl } from '@wordpress/components';\nimport { useMemo } from '@wordpress/element';\nimport { __, _x, sprintf } from '@wordpress/i18n';\n\nconst FONT_STYLES = [\n\t{\n\t\tname: _x( 'Regular', 'font style' ),\n\t\tvalue: 'normal',\n\t},\n\t{\n\t\tname: _x( 'Italic', 'font style' ),\n\t\tvalue: 'italic',\n\t},\n];\n\nconst FONT_WEIGHTS = [\n\t{\n\t\tname: _x( 'Thin', 'font weight' ),\n\t\tvalue: '100',\n\t},\n\t{\n\t\tname: _x( 'Extra Light', 'font weight' ),\n\t\tvalue: '200',\n\t},\n\t{\n\t\tname: _x( 'Light', 'font weight' ),\n\t\tvalue: '300',\n\t},\n\t{\n\t\tname: _x( 'Regular', 'font weight' ),\n\t\tvalue: '400',\n\t},\n\t{\n\t\tname: _x( 'Medium', 'font weight' ),\n\t\tvalue: '500',\n\t},\n\t{\n\t\tname: _x( 'Semi Bold', 'font weight' ),\n\t\tvalue: '600',\n\t},\n\t{\n\t\tname: _x( 'Bold', 'font weight' ),\n\t\tvalue: '700',\n\t},\n\t{\n\t\tname: _x( 'Extra Bold', 'font weight' ),\n\t\tvalue: '800',\n\t},\n\t{\n\t\tname: _x( 'Black', 'font weight' ),\n\t\tvalue: '900',\n\t},\n];\n\n/**\n * Adjusts font appearance field label in case either font styles or weights\n * are disabled.\n *\n * @param {boolean} hasFontStyles Whether font styles are enabled and present.\n * @param {boolean} hasFontWeights Whether font weights are enabled and present.\n * @return {string} A label representing what font appearance is being edited.\n */\nconst getFontAppearanceLabel = ( hasFontStyles, hasFontWeights ) => {\n\tif ( ! hasFontStyles ) {\n\t\treturn __( 'Font weight' );\n\t}\n\n\tif ( ! hasFontWeights ) {\n\t\treturn __( 'Font style' );\n\t}\n\n\treturn __( 'Appearance' );\n};\n\n/**\n * Control to display unified font style and weight options.\n *\n * @param {Object} props Component props.\n *\n * @return {Element} Font appearance control.\n */\nexport default function FontAppearanceControl( props ) {\n\tconst {\n\t\tonChange,\n\t\thasFontStyles = true,\n\t\thasFontWeights = true,\n\t\tvalue: { fontStyle, fontWeight },\n\t\t...otherProps\n\t} = props;\n\tconst hasStylesOrWeights = hasFontStyles || hasFontWeights;\n\tconst label = getFontAppearanceLabel( hasFontStyles, hasFontWeights );\n\tconst defaultOption = {\n\t\tkey: 'default',\n\t\tname: __( 'Default' ),\n\t\tstyle: { fontStyle: undefined, fontWeight: undefined },\n\t};\n\n\t// Combines both font style and weight options into a single dropdown.\n\tconst combineOptions = () => {\n\t\tconst combinedOptions = [ defaultOption ];\n\n\t\tFONT_STYLES.forEach( ( { name: styleName, value: styleValue } ) => {\n\t\t\tFONT_WEIGHTS.forEach(\n\t\t\t\t( { name: weightName, value: weightValue } ) => {\n\t\t\t\t\tconst optionName =\n\t\t\t\t\t\tstyleValue === 'normal'\n\t\t\t\t\t\t\t? weightName\n\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: 1: Font weight name. 2: Font style name. */\n\t\t\t\t\t\t\t\t\t__( '%1$s %2$s' ),\n\t\t\t\t\t\t\t\t\tweightName,\n\t\t\t\t\t\t\t\t\tstyleName\n\t\t\t\t\t\t\t );\n\n\t\t\t\t\tcombinedOptions.push( {\n\t\t\t\t\t\tkey: `${ styleValue }-${ weightValue }`,\n\t\t\t\t\t\tname: optionName,\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\tfontStyle: styleValue,\n\t\t\t\t\t\t\tfontWeight: weightValue,\n\t\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\treturn combinedOptions;\n\t};\n\n\t// Generates select options for font styles only.\n\tconst styleOptions = () => {\n\t\tconst combinedOptions = [ defaultOption ];\n\t\tFONT_STYLES.forEach( ( { name, value } ) => {\n\t\t\tcombinedOptions.push( {\n\t\t\t\tkey: value,\n\t\t\t\tname,\n\t\t\t\tstyle: { fontStyle: value, fontWeight: undefined },\n\t\t\t} );\n\t\t} );\n\t\treturn combinedOptions;\n\t};\n\n\t// Generates select options for font weights only.\n\tconst weightOptions = () => {\n\t\tconst combinedOptions = [ defaultOption ];\n\t\tFONT_WEIGHTS.forEach( ( { name, value } ) => {\n\t\t\tcombinedOptions.push( {\n\t\t\t\tkey: value,\n\t\t\t\tname,\n\t\t\t\tstyle: { fontStyle: undefined, fontWeight: value },\n\t\t\t} );\n\t\t} );\n\t\treturn combinedOptions;\n\t};\n\n\t// Map font styles and weights to select options.\n\tconst selectOptions = useMemo( () => {\n\t\tif ( hasFontStyles && hasFontWeights ) {\n\t\t\treturn combineOptions();\n\t\t}\n\n\t\treturn hasFontStyles ? styleOptions() : weightOptions();\n\t}, [ props.options ] );\n\n\t// Find current selection by comparing font style & weight against options,\n\t// and fall back to the Default option if there is no matching option.\n\tconst currentSelection =\n\t\tselectOptions.find(\n\t\t\t( option ) =>\n\t\t\t\toption.style.fontStyle === fontStyle &&\n\t\t\t\toption.style.fontWeight === fontWeight\n\t\t) || selectOptions[ 0 ];\n\n\t// Adjusts screen reader description based on styles or weights.\n\tconst getDescribedBy = () => {\n\t\tif ( ! currentSelection ) {\n\t\t\treturn __( 'No selected font appearance' );\n\t\t}\n\n\t\tif ( ! hasFontStyles ) {\n\t\t\treturn sprintf(\n\t\t\t\t// translators: %s: Currently selected font weight.\n\t\t\t\t__( 'Currently selected font weight: %s' ),\n\t\t\t\tcurrentSelection.name\n\t\t\t);\n\t\t}\n\n\t\tif ( ! hasFontWeights ) {\n\t\t\treturn sprintf(\n\t\t\t\t// translators: %s: Currently selected font style.\n\t\t\t\t__( 'Currently selected font style: %s' ),\n\t\t\t\tcurrentSelection.name\n\t\t\t);\n\t\t}\n\n\t\treturn sprintf(\n\t\t\t// translators: %s: Currently selected font appearance.\n\t\t\t__( 'Currently selected font appearance: %s' ),\n\t\t\tcurrentSelection.name\n\t\t);\n\t};\n\n\treturn (\n\t\thasStylesOrWeights && (\n\t\t\t<CustomSelectControl\n\t\t\t\t{ ...otherProps }\n\t\t\t\tclassName=\"components-font-appearance-control\"\n\t\t\t\tlabel={ label }\n\t\t\t\tdescribedBy={ getDescribedBy() }\n\t\t\t\toptions={ selectOptions }\n\t\t\t\tvalue={ currentSelection }\n\t\t\t\tonChange={ ( { selectedItem } ) =>\n\t\t\t\t\tonChange( selectedItem.style )\n\t\t\t\t}\n\t\t\t\t__nextUnconstrainedWidth\n\t\t\t/>\n\t\t)\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["CustomSelectControl","useMemo","__","_x","sprintf","FONT_STYLES","name","value","FONT_WEIGHTS","getFontAppearanceLabel","hasFontStyles","hasFontWeights","FontAppearanceControl","props","onChange","fontStyle","fontWeight","otherProps","hasStylesOrWeights","label","defaultOption","key","style","undefined","combineOptions","combinedOptions","forEach","styleName","styleValue","weightName","weightValue","optionName","push","styleOptions","weightOptions","selectOptions","options","currentSelection","find","option","getDescribedBy","createElement","className","describedBy","selectedItem"],"sources":["@wordpress/block-editor/src/components/font-appearance-control/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { CustomSelectControl } from '@wordpress/components';\nimport { useMemo } from '@wordpress/element';\nimport { __, _x, sprintf } from '@wordpress/i18n';\n\nconst FONT_STYLES = [\n\t{\n\t\tname: _x( 'Regular', 'font style' ),\n\t\tvalue: 'normal',\n\t},\n\t{\n\t\tname: _x( 'Italic', 'font style' ),\n\t\tvalue: 'italic',\n\t},\n];\n\nconst FONT_WEIGHTS = [\n\t{\n\t\tname: _x( 'Thin', 'font weight' ),\n\t\tvalue: '100',\n\t},\n\t{\n\t\tname: _x( 'Extra Light', 'font weight' ),\n\t\tvalue: '200',\n\t},\n\t{\n\t\tname: _x( 'Light', 'font weight' ),\n\t\tvalue: '300',\n\t},\n\t{\n\t\tname: _x( 'Regular', 'font weight' ),\n\t\tvalue: '400',\n\t},\n\t{\n\t\tname: _x( 'Medium', 'font weight' ),\n\t\tvalue: '500',\n\t},\n\t{\n\t\tname: _x( 'Semi Bold', 'font weight' ),\n\t\tvalue: '600',\n\t},\n\t{\n\t\tname: _x( 'Bold', 'font weight' ),\n\t\tvalue: '700',\n\t},\n\t{\n\t\tname: _x( 'Extra Bold', 'font weight' ),\n\t\tvalue: '800',\n\t},\n\t{\n\t\tname: _x( 'Black', 'font weight' ),\n\t\tvalue: '900',\n\t},\n];\n\n/**\n * Adjusts font appearance field label in case either font styles or weights\n * are disabled.\n *\n * @param {boolean} hasFontStyles Whether font styles are enabled and present.\n * @param {boolean} hasFontWeights Whether font weights are enabled and present.\n * @return {string} A label representing what font appearance is being edited.\n */\nconst getFontAppearanceLabel = ( hasFontStyles, hasFontWeights ) => {\n\tif ( ! hasFontStyles ) {\n\t\treturn __( 'Font weight' );\n\t}\n\n\tif ( ! hasFontWeights ) {\n\t\treturn __( 'Font style' );\n\t}\n\n\treturn __( 'Appearance' );\n};\n\n/**\n * Control to display unified font style and weight options.\n *\n * @param {Object} props Component props.\n *\n * @return {Element} Font appearance control.\n */\nexport default function FontAppearanceControl( props ) {\n\tconst {\n\t\tonChange,\n\t\thasFontStyles = true,\n\t\thasFontWeights = true,\n\t\tvalue: { fontStyle, fontWeight },\n\t\t...otherProps\n\t} = props;\n\tconst hasStylesOrWeights = hasFontStyles || hasFontWeights;\n\tconst label = getFontAppearanceLabel( hasFontStyles, hasFontWeights );\n\tconst defaultOption = {\n\t\tkey: 'default',\n\t\tname: __( 'Default' ),\n\t\tstyle: { fontStyle: undefined, fontWeight: undefined },\n\t};\n\n\t// Combines both font style and weight options into a single dropdown.\n\tconst combineOptions = () => {\n\t\tconst combinedOptions = [ defaultOption ];\n\n\t\tFONT_STYLES.forEach( ( { name: styleName, value: styleValue } ) => {\n\t\t\tFONT_WEIGHTS.forEach(\n\t\t\t\t( { name: weightName, value: weightValue } ) => {\n\t\t\t\t\tconst optionName =\n\t\t\t\t\t\tstyleValue === 'normal'\n\t\t\t\t\t\t\t? weightName\n\t\t\t\t\t\t\t: sprintf(\n\t\t\t\t\t\t\t\t\t/* translators: 1: Font weight name. 2: Font style name. */\n\t\t\t\t\t\t\t\t\t__( '%1$s %2$s' ),\n\t\t\t\t\t\t\t\t\tweightName,\n\t\t\t\t\t\t\t\t\tstyleName\n\t\t\t\t\t\t\t );\n\n\t\t\t\t\tcombinedOptions.push( {\n\t\t\t\t\t\tkey: `${ styleValue }-${ weightValue }`,\n\t\t\t\t\t\tname: optionName,\n\t\t\t\t\t\tstyle: {\n\t\t\t\t\t\t\tfontStyle: styleValue,\n\t\t\t\t\t\t\tfontWeight: weightValue,\n\t\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\treturn combinedOptions;\n\t};\n\n\t// Generates select options for font styles only.\n\tconst styleOptions = () => {\n\t\tconst combinedOptions = [ defaultOption ];\n\t\tFONT_STYLES.forEach( ( { name, value } ) => {\n\t\t\tcombinedOptions.push( {\n\t\t\t\tkey: value,\n\t\t\t\tname,\n\t\t\t\tstyle: { fontStyle: value, fontWeight: undefined },\n\t\t\t} );\n\t\t} );\n\t\treturn combinedOptions;\n\t};\n\n\t// Generates select options for font weights only.\n\tconst weightOptions = () => {\n\t\tconst combinedOptions = [ defaultOption ];\n\t\tFONT_WEIGHTS.forEach( ( { name, value } ) => {\n\t\t\tcombinedOptions.push( {\n\t\t\t\tkey: value,\n\t\t\t\tname,\n\t\t\t\tstyle: { fontStyle: undefined, fontWeight: value },\n\t\t\t} );\n\t\t} );\n\t\treturn combinedOptions;\n\t};\n\n\t// Map font styles and weights to select options.\n\tconst selectOptions = useMemo( () => {\n\t\tif ( hasFontStyles && hasFontWeights ) {\n\t\t\treturn combineOptions();\n\t\t}\n\n\t\treturn hasFontStyles ? styleOptions() : weightOptions();\n\t}, [ props.options ] );\n\n\t// Find current selection by comparing font style & weight against options,\n\t// and fall back to the Default option if there is no matching option.\n\tconst currentSelection =\n\t\tselectOptions.find(\n\t\t\t( option ) =>\n\t\t\t\toption.style.fontStyle === fontStyle &&\n\t\t\t\toption.style.fontWeight === fontWeight\n\t\t) || selectOptions[ 0 ];\n\n\t// Adjusts screen reader description based on styles or weights.\n\tconst getDescribedBy = () => {\n\t\tif ( ! currentSelection ) {\n\t\t\treturn __( 'No selected font appearance' );\n\t\t}\n\n\t\tif ( ! hasFontStyles ) {\n\t\t\treturn sprintf(\n\t\t\t\t// translators: %s: Currently selected font weight.\n\t\t\t\t__( 'Currently selected font weight: %s' ),\n\t\t\t\tcurrentSelection.name\n\t\t\t);\n\t\t}\n\n\t\tif ( ! hasFontWeights ) {\n\t\t\treturn sprintf(\n\t\t\t\t// translators: %s: Currently selected font style.\n\t\t\t\t__( 'Currently selected font style: %s' ),\n\t\t\t\tcurrentSelection.name\n\t\t\t);\n\t\t}\n\n\t\treturn sprintf(\n\t\t\t// translators: %s: Currently selected font appearance.\n\t\t\t__( 'Currently selected font appearance: %s' ),\n\t\t\tcurrentSelection.name\n\t\t);\n\t};\n\n\treturn (\n\t\thasStylesOrWeights && (\n\t\t\t<CustomSelectControl\n\t\t\t\t{ ...otherProps }\n\t\t\t\tclassName=\"components-font-appearance-control\"\n\t\t\t\tlabel={ label }\n\t\t\t\tdescribedBy={ getDescribedBy() }\n\t\t\t\toptions={ selectOptions }\n\t\t\t\tvalue={ currentSelection }\n\t\t\t\tonChange={ ( { selectedItem } ) =>\n\t\t\t\t\tonChange( selectedItem.style )\n\t\t\t\t}\n\t\t\t/>\n\t\t)\n\t);\n}\n"],"mappings":"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"}
@@ -64,7 +64,7 @@ function useHasChildLayout(settings) {
64
64
  } = {},
65
65
  allowSizingOnChildren = false
66
66
  } = (_settings$parentLayou = settings?.parentLayout) !== null && _settings$parentLayou !== void 0 ? _settings$parentLayou : {};
67
- const support = (defaultParentLayoutType === 'flex' || parentLayoutType === 'flex') && allowSizingOnChildren;
67
+ const support = (defaultParentLayoutType === 'flex' || parentLayoutType === 'flex' || defaultParentLayoutType === 'grid' || parentLayoutType === 'grid') && allowSizingOnChildren;
68
68
  return !!settings?.layout && support;
69
69
  }
70
70
  function useHasSpacingPresets(settings) {
@@ -170,7 +170,7 @@ export default function DimensionsPanel({
170
170
  // in global styles but not in block inspector.
171
171
  includeLayoutControls = false
172
172
  }) {
173
- var _settings$parentLayou2, _defaultControls$cont, _defaultControls$wide, _defaultControls$padd, _defaultControls$marg, _defaultControls$bloc, _defaultControls$minH, _defaultControls$aspe, _defaultControls$chil;
173
+ var _settings$parentLayou2, _settings$parentLayou3, _defaultControls$cont, _defaultControls$wide, _defaultControls$padd, _defaultControls$marg, _defaultControls$bloc, _defaultControls$chil, _defaultControls$minH, _defaultControls$aspe;
174
174
  const {
175
175
  dimensions,
176
176
  spacing
@@ -300,12 +300,19 @@ export default function DimensionsPanel({
300
300
  const {
301
301
  orientation = 'horizontal'
302
302
  } = (_settings$parentLayou2 = settings?.parentLayout) !== null && _settings$parentLayou2 !== void 0 ? _settings$parentLayou2 : {};
303
- const childLayoutOrientationLabel = orientation === 'horizontal' ? __('Width') : __('Height');
303
+ const {
304
+ type: parentType,
305
+ default: {
306
+ type: defaultParentType = 'default'
307
+ } = {}
308
+ } = (_settings$parentLayou3 = settings?.parentLayout) !== null && _settings$parentLayou3 !== void 0 ? _settings$parentLayou3 : {};
309
+ const parentLayoutType = parentType || defaultParentType;
310
+ const flexResetLabel = orientation === 'horizontal' ? __('Width') : __('Height');
311
+ const childLayoutResetLabel = parentLayoutType === 'flex' ? flexResetLabel : __('Grid spans');
304
312
  const setChildLayout = newChildLayout => {
305
313
  onChange({
306
314
  ...value,
307
315
  layout: {
308
- ...value?.layout,
309
316
  ...newChildLayout
310
317
  }
311
318
  });
@@ -313,7 +320,9 @@ export default function DimensionsPanel({
313
320
  const resetChildLayoutValue = () => {
314
321
  setChildLayout({
315
322
  selfStretch: undefined,
316
- flexSize: undefined
323
+ flexSize: undefined,
324
+ columnSpan: undefined,
325
+ rowSpan: undefined
317
326
  });
318
327
  };
319
328
  const hasChildLayoutValue = () => !!value?.layout;
@@ -325,7 +334,9 @@ export default function DimensionsPanel({
325
334
  contentSize: undefined,
326
335
  wideSize: undefined,
327
336
  selfStretch: undefined,
328
- flexSize: undefined
337
+ flexSize: undefined,
338
+ columnSpan: undefined,
339
+ rowSpan: undefined
329
340
  }),
330
341
  spacing: {
331
342
  ...previousValue?.spacing,
@@ -480,6 +491,18 @@ export default function DimensionsPanel({
480
491
  ,
481
492
  values: gapValues,
482
493
  allowReset: false
494
+ })), showChildLayoutControl && createElement(VStack, {
495
+ as: ToolsPanelItem,
496
+ spacing: 2,
497
+ hasValue: hasChildLayoutValue,
498
+ label: childLayoutResetLabel,
499
+ onDeselect: resetChildLayoutValue,
500
+ isShownByDefault: (_defaultControls$chil = defaultControls.childLayout) !== null && _defaultControls$chil !== void 0 ? _defaultControls$chil : DEFAULT_CONTROLS.childLayout,
501
+ panelId: panelId
502
+ }, createElement(ChildLayoutControl, {
503
+ value: childLayout,
504
+ onChange: setChildLayout,
505
+ parentLayout: settings?.parentLayout
483
506
  })), showMinHeightControl && createElement(ToolsPanelItem, {
484
507
  hasValue: hasMinHeightValue,
485
508
  label: __('Minimum height'),
@@ -496,18 +519,6 @@ export default function DimensionsPanel({
496
519
  onChange: setAspectRatioValue,
497
520
  panelId: panelId,
498
521
  isShownByDefault: (_defaultControls$aspe = defaultControls.aspectRatio) !== null && _defaultControls$aspe !== void 0 ? _defaultControls$aspe : DEFAULT_CONTROLS.aspectRatio
499
- }), showChildLayoutControl && createElement(VStack, {
500
- as: ToolsPanelItem,
501
- spacing: 2,
502
- hasValue: hasChildLayoutValue,
503
- label: childLayoutOrientationLabel,
504
- onDeselect: resetChildLayoutValue,
505
- isShownByDefault: (_defaultControls$chil = defaultControls.childLayout) !== null && _defaultControls$chil !== void 0 ? _defaultControls$chil : DEFAULT_CONTROLS.childLayout,
506
- panelId: panelId
507
- }, createElement(ChildLayoutControl, {
508
- value: childLayout,
509
- onChange: setChildLayout,
510
- parentLayout: settings?.parentLayout
511
- })));
522
+ }));
512
523
  }
513
524
  //# sourceMappingURL=dimensions-panel.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","__","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__experimentalBoxControl","BoxControl","__experimentalHStack","HStack","__experimentalVStack","VStack","__experimentalUnitControl","UnitControl","__experimentalUseCustomUnits","useCustomUnits","__experimentalView","View","Icon","positionCenter","stretchWide","useCallback","Platform","getValueFromVariable","TOOLSPANEL_DROPDOWNMENU_PROPS","SpacingSizesControl","HeightControl","ChildLayoutControl","AspectRatioTool","cleanEmptyObject","setImmutably","AXIAL_SIDES","useHasDimensionsPanel","settings","hasContentSize","useHasContentSize","hasWideSize","useHasWideSize","hasPadding","useHasPadding","hasMargin","useHasMargin","hasGap","useHasGap","hasMinHeight","useHasMinHeight","hasAspectRatio","useHasAspectRatio","hasChildLayout","useHasChildLayout","OS","layout","contentSize","wideSize","spacing","padding","margin","blockGap","dimensions","minHeight","aspectRatio","_settings$parentLayou","type","parentLayoutType","default","defaultParentLayoutType","allowSizingOnChildren","parentLayout","support","useHasSpacingPresets","_ref","_ref2","custom","theme","defaultPresets","spacingSizes","presets","length","filterValuesBySides","values","sides","filteredValues","forEach","side","top","bottom","left","right","splitStyleValue","value","splitGapValue","DimensionsToolsPanel","resetAllFilter","onChange","panelId","children","resetAll","updatedValue","createElement","label","dropdownMenuProps","DEFAULT_CONTROLS","childLayout","DimensionsPanel","as","Wrapper","inheritedValue","defaultControls","onVisualize","includeLayoutControls","_settings$parentLayou2","_defaultControls$cont","_defaultControls$wide","_defaultControls$padd","_defaultControls$marg","_defaultControls$bloc","_defaultControls$minH","_defaultControls$aspe","_defaultControls$chil","decodeValue","rawValue","Object","keys","reduce","acc","key","showSpacingPresetsControl","units","availableUnits","showContentSizeControl","contentSizeValue","setContentSizeValue","newValue","undefined","hasUserSetContentSizeValue","resetContentSizeValue","showWideSizeControl","wideSizeValue","setWideSizeValue","hasUserSetWideSizeValue","resetWideSizeValue","showPaddingControl","rawPadding","paddingValues","paddingSides","Array","isArray","isAxialPadding","some","includes","setPaddingValues","newPaddingValues","hasPaddingValue","resetPaddingValue","onMouseOverPadding","showMarginControl","rawMargin","marginValues","marginSides","isAxialMargin","setMarginValues","newMarginValues","hasMarginValue","resetMarginValue","onMouseOverMargin","showGapControl","gapValue","gapValues","gapSides","isAxialGap","setGapValue","newGapValue","setGapValues","nextBoxGapValue","hasOwnProperty","resetGapValue","hasGapValue","showMinHeightControl","minHeightValue","setMinHeightValue","tempValue","resetMinHeightValue","hasMinHeightValue","showAspectRatioControl","aspectRatioValue","setAspectRatioValue","hasAspectRatioValue","showChildLayoutControl","orientation","childLayoutOrientationLabel","setChildLayout","newChildLayout","resetChildLayoutValue","selfStretch","flexSize","hasChildLayoutValue","previousValue","onMouseLeaveControls","className","hasValue","onDeselect","isShownByDefault","alignment","justify","labelPosition","__unstableInputWidth","nextContentSize","icon","nextWideSize","allowReset","splitOnAxis","onMouseOver","onMouseOut","min","showSideInLabel"],"sources":["@wordpress/block-editor/src/components/global-styles/dimensions-panel.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalBoxControl as BoxControl,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalView as View,\n} from '@wordpress/components';\nimport { Icon, positionCenter, stretchWide } from '@wordpress/icons';\nimport { useCallback, Platform } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { getValueFromVariable, TOOLSPANEL_DROPDOWNMENU_PROPS } from './utils';\nimport SpacingSizesControl from '../spacing-sizes-control';\nimport HeightControl from '../height-control';\nimport ChildLayoutControl from '../child-layout-control';\nimport AspectRatioTool from '../dimensions-tool/aspect-ratio-tool';\nimport { cleanEmptyObject } from '../../hooks/utils';\nimport { setImmutably } from '../../utils/object';\n\nconst AXIAL_SIDES = [ 'horizontal', 'vertical' ];\n\nexport function useHasDimensionsPanel( settings ) {\n\tconst hasContentSize = useHasContentSize( settings );\n\tconst hasWideSize = useHasWideSize( settings );\n\tconst hasPadding = useHasPadding( settings );\n\tconst hasMargin = useHasMargin( settings );\n\tconst hasGap = useHasGap( settings );\n\tconst hasMinHeight = useHasMinHeight( settings );\n\tconst hasAspectRatio = useHasAspectRatio( settings );\n\tconst hasChildLayout = useHasChildLayout( settings );\n\n\treturn (\n\t\tPlatform.OS === 'web' &&\n\t\t( hasContentSize ||\n\t\t\thasWideSize ||\n\t\t\thasPadding ||\n\t\t\thasMargin ||\n\t\t\thasGap ||\n\t\t\thasMinHeight ||\n\t\t\thasAspectRatio ||\n\t\t\thasChildLayout )\n\t);\n}\n\nfunction useHasContentSize( settings ) {\n\treturn settings?.layout?.contentSize;\n}\n\nfunction useHasWideSize( settings ) {\n\treturn settings?.layout?.wideSize;\n}\n\nfunction useHasPadding( settings ) {\n\treturn settings?.spacing?.padding;\n}\n\nfunction useHasMargin( settings ) {\n\treturn settings?.spacing?.margin;\n}\n\nfunction useHasGap( settings ) {\n\treturn settings?.spacing?.blockGap;\n}\n\nfunction useHasMinHeight( settings ) {\n\treturn settings?.dimensions?.minHeight;\n}\n\nfunction useHasAspectRatio( settings ) {\n\treturn settings?.dimensions?.aspectRatio;\n}\n\nfunction useHasChildLayout( settings ) {\n\tconst {\n\t\ttype: parentLayoutType = 'default',\n\t\tdefault: { type: defaultParentLayoutType = 'default' } = {},\n\t\tallowSizingOnChildren = false,\n\t} = settings?.parentLayout ?? {};\n\n\tconst support =\n\t\t( defaultParentLayoutType === 'flex' || parentLayoutType === 'flex' ) &&\n\t\tallowSizingOnChildren;\n\n\treturn !! settings?.layout && support;\n}\n\nfunction useHasSpacingPresets( settings ) {\n\tconst {\n\t\tcustom,\n\t\ttheme,\n\t\tdefault: defaultPresets,\n\t} = settings?.spacing?.spacingSizes || {};\n\tconst presets = custom ?? theme ?? defaultPresets ?? [];\n\n\treturn presets.length > 0;\n}\n\nfunction filterValuesBySides( values, sides ) {\n\t// If no custom side configuration, all sides are opted into by default.\n\t// Without any values, we have nothing to filter either.\n\tif ( ! sides || ! values ) {\n\t\treturn values;\n\t}\n\n\t// Only include sides opted into within filtered values.\n\tconst filteredValues = {};\n\tsides.forEach( ( side ) => {\n\t\tif ( side === 'vertical' ) {\n\t\t\tfilteredValues.top = values.top;\n\t\t\tfilteredValues.bottom = values.bottom;\n\t\t}\n\t\tif ( side === 'horizontal' ) {\n\t\t\tfilteredValues.left = values.left;\n\t\t\tfilteredValues.right = values.right;\n\t\t}\n\t\tfilteredValues[ side ] = values?.[ side ];\n\t} );\n\n\treturn filteredValues;\n}\n\nfunction splitStyleValue( value ) {\n\t// Check for shorthand value (a string value).\n\tif ( value && typeof value === 'string' ) {\n\t\t// Convert to value for individual sides for BoxControl.\n\t\treturn {\n\t\t\ttop: value,\n\t\t\tright: value,\n\t\t\tbottom: value,\n\t\t\tleft: value,\n\t\t};\n\t}\n\n\treturn value;\n}\n\nfunction splitGapValue( value ) {\n\t// Check for shorthand value (a string value).\n\tif ( value && typeof value === 'string' ) {\n\t\t// If the value is a string, treat it as a single side (top) for the spacing controls.\n\t\treturn {\n\t\t\ttop: value,\n\t\t};\n\t}\n\n\tif ( value ) {\n\t\treturn {\n\t\t\t...value,\n\t\t\tright: value?.left,\n\t\t\tbottom: value?.top,\n\t\t};\n\t}\n\n\treturn value;\n}\n\nfunction DimensionsToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n} ) {\n\tconst resetAll = () => {\n\t\tconst updatedValue = resetAllFilter( value );\n\t\tonChange( updatedValue );\n\t};\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ __( 'Dimensions' ) }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t\tdropdownMenuProps={ TOOLSPANEL_DROPDOWNMENU_PROPS }\n\t\t>\n\t\t\t{ children }\n\t\t</ToolsPanel>\n\t);\n}\n\nconst DEFAULT_CONTROLS = {\n\tcontentSize: true,\n\twideSize: true,\n\tpadding: true,\n\tmargin: true,\n\tblockGap: true,\n\tminHeight: true,\n\taspectRatio: true,\n\tchildLayout: true,\n};\n\nexport default function DimensionsPanel( {\n\tas: Wrapper = DimensionsToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tdefaultControls = DEFAULT_CONTROLS,\n\tonVisualize = () => {},\n\t// Special case because the layout controls are not part of the dimensions panel\n\t// in global styles but not in block inspector.\n\tincludeLayoutControls = false,\n} ) {\n\tconst { dimensions, spacing } = settings;\n\n\tconst decodeValue = ( rawValue ) => {\n\t\tif ( rawValue && typeof rawValue === 'object' ) {\n\t\t\treturn Object.keys( rawValue ).reduce( ( acc, key ) => {\n\t\t\t\tacc[ key ] = getValueFromVariable(\n\t\t\t\t\t{ settings: { dimensions, spacing } },\n\t\t\t\t\t'',\n\t\t\t\t\trawValue[ key ]\n\t\t\t\t);\n\t\t\t\treturn acc;\n\t\t\t}, {} );\n\t\t}\n\t\treturn getValueFromVariable(\n\t\t\t{ settings: { dimensions, spacing } },\n\t\t\t'',\n\t\t\trawValue\n\t\t);\n\t};\n\n\tconst showSpacingPresetsControl = useHasSpacingPresets( settings );\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: settings?.spacing?.units || [\n\t\t\t'%',\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vw',\n\t\t],\n\t} );\n\n\t// Content Size\n\tconst showContentSizeControl =\n\t\tuseHasContentSize( settings ) && includeLayoutControls;\n\tconst contentSizeValue = decodeValue( inheritedValue?.layout?.contentSize );\n\tconst setContentSizeValue = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'layout', 'contentSize' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasUserSetContentSizeValue = () => !! value?.layout?.contentSize;\n\tconst resetContentSizeValue = () => setContentSizeValue( undefined );\n\n\t// Wide Size\n\tconst showWideSizeControl =\n\t\tuseHasWideSize( settings ) && includeLayoutControls;\n\tconst wideSizeValue = decodeValue( inheritedValue?.layout?.wideSize );\n\tconst setWideSizeValue = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'layout', 'wideSize' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasUserSetWideSizeValue = () => !! value?.layout?.wideSize;\n\tconst resetWideSizeValue = () => setWideSizeValue( undefined );\n\n\t// Padding\n\tconst showPaddingControl = useHasPadding( settings );\n\tconst rawPadding = decodeValue( inheritedValue?.spacing?.padding );\n\tconst paddingValues = splitStyleValue( rawPadding );\n\tconst paddingSides = Array.isArray( settings?.spacing?.padding )\n\t\t? settings?.spacing?.padding\n\t\t: settings?.spacing?.padding?.sides;\n\tconst isAxialPadding =\n\t\tpaddingSides &&\n\t\tpaddingSides.some( ( side ) => AXIAL_SIDES.includes( side ) );\n\tconst setPaddingValues = ( newPaddingValues ) => {\n\t\tconst padding = filterValuesBySides( newPaddingValues, paddingSides );\n\t\tonChange( setImmutably( value, [ 'spacing', 'padding' ], padding ) );\n\t};\n\tconst hasPaddingValue = () =>\n\t\t!! value?.spacing?.padding &&\n\t\tObject.keys( value?.spacing?.padding ).length;\n\tconst resetPaddingValue = () => setPaddingValues( undefined );\n\tconst onMouseOverPadding = () => onVisualize( 'padding' );\n\n\t// Margin\n\tconst showMarginControl = useHasMargin( settings );\n\tconst rawMargin = decodeValue( inheritedValue?.spacing?.margin );\n\tconst marginValues = splitStyleValue( rawMargin );\n\tconst marginSides = Array.isArray( settings?.spacing?.margin )\n\t\t? settings?.spacing?.margin\n\t\t: settings?.spacing?.margin?.sides;\n\tconst isAxialMargin =\n\t\tmarginSides &&\n\t\tmarginSides.some( ( side ) => AXIAL_SIDES.includes( side ) );\n\tconst setMarginValues = ( newMarginValues ) => {\n\t\tconst margin = filterValuesBySides( newMarginValues, marginSides );\n\t\tonChange( setImmutably( value, [ 'spacing', 'margin' ], margin ) );\n\t};\n\tconst hasMarginValue = () =>\n\t\t!! value?.spacing?.margin &&\n\t\tObject.keys( value?.spacing?.margin ).length;\n\tconst resetMarginValue = () => setMarginValues( undefined );\n\tconst onMouseOverMargin = () => onVisualize( 'margin' );\n\n\t// Block Gap\n\tconst showGapControl = useHasGap( settings );\n\tconst gapValue = decodeValue( inheritedValue?.spacing?.blockGap );\n\tconst gapValues = splitGapValue( gapValue );\n\tconst gapSides = Array.isArray( settings?.spacing?.blockGap )\n\t\t? settings?.spacing?.blockGap\n\t\t: settings?.spacing?.blockGap?.sides;\n\tconst isAxialGap =\n\t\tgapSides && gapSides.some( ( side ) => AXIAL_SIDES.includes( side ) );\n\tconst setGapValue = ( newGapValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably( value, [ 'spacing', 'blockGap' ], newGapValue )\n\t\t);\n\t};\n\tconst setGapValues = ( nextBoxGapValue ) => {\n\t\tif ( ! nextBoxGapValue ) {\n\t\t\tsetGapValue( null );\n\t\t}\n\t\t// If axial gap is not enabled, treat the 'top' value as the shorthand gap value.\n\t\tif ( ! isAxialGap && nextBoxGapValue?.hasOwnProperty( 'top' ) ) {\n\t\t\tsetGapValue( nextBoxGapValue.top );\n\t\t} else {\n\t\t\tsetGapValue( {\n\t\t\t\ttop: nextBoxGapValue?.top,\n\t\t\t\tleft: nextBoxGapValue?.left,\n\t\t\t} );\n\t\t}\n\t};\n\tconst resetGapValue = () => setGapValue( undefined );\n\tconst hasGapValue = () => !! value?.spacing?.blockGap;\n\n\t// Min Height\n\tconst showMinHeightControl = useHasMinHeight( settings );\n\tconst minHeightValue = decodeValue( inheritedValue?.dimensions?.minHeight );\n\tconst setMinHeightValue = ( newValue ) => {\n\t\tconst tempValue = setImmutably(\n\t\t\tvalue,\n\t\t\t[ 'dimensions', 'minHeight' ],\n\t\t\tnewValue\n\t\t);\n\t\t// Apply min-height, while removing any applied aspect ratio.\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\ttempValue,\n\t\t\t\t[ 'dimensions', 'aspectRatio' ],\n\t\t\t\tundefined\n\t\t\t)\n\t\t);\n\t};\n\tconst resetMinHeightValue = () => {\n\t\tsetMinHeightValue( undefined );\n\t};\n\tconst hasMinHeightValue = () => !! value?.dimensions?.minHeight;\n\n\t// Aspect Ratio\n\tconst showAspectRatioControl = useHasAspectRatio( settings );\n\tconst aspectRatioValue = decodeValue(\n\t\tinheritedValue?.dimensions?.aspectRatio\n\t);\n\tconst setAspectRatioValue = ( newValue ) => {\n\t\tconst tempValue = setImmutably(\n\t\t\tvalue,\n\t\t\t[ 'dimensions', 'aspectRatio' ],\n\t\t\tnewValue\n\t\t);\n\t\t// Apply aspect-ratio, while removing any applied min-height.\n\t\tonChange(\n\t\t\tsetImmutably( tempValue, [ 'dimensions', 'minHeight' ], undefined )\n\t\t);\n\t};\n\tconst hasAspectRatioValue = () => !! value?.dimensions?.aspectRatio;\n\n\t// Child Layout\n\tconst showChildLayoutControl = useHasChildLayout( settings );\n\tconst childLayout = inheritedValue?.layout;\n\tconst { orientation = 'horizontal' } = settings?.parentLayout ?? {};\n\tconst childLayoutOrientationLabel =\n\t\torientation === 'horizontal' ? __( 'Width' ) : __( 'Height' );\n\tconst setChildLayout = ( newChildLayout ) => {\n\t\tonChange( {\n\t\t\t...value,\n\t\t\tlayout: {\n\t\t\t\t...value?.layout,\n\t\t\t\t...newChildLayout,\n\t\t\t},\n\t\t} );\n\t};\n\tconst resetChildLayoutValue = () => {\n\t\tsetChildLayout( {\n\t\t\tselfStretch: undefined,\n\t\t\tflexSize: undefined,\n\t\t} );\n\t};\n\tconst hasChildLayoutValue = () => !! value?.layout;\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\tlayout: cleanEmptyObject( {\n\t\t\t\t...previousValue?.layout,\n\t\t\t\tcontentSize: undefined,\n\t\t\t\twideSize: undefined,\n\t\t\t\tselfStretch: undefined,\n\t\t\t\tflexSize: undefined,\n\t\t\t} ),\n\t\t\tspacing: {\n\t\t\t\t...previousValue?.spacing,\n\t\t\t\tpadding: undefined,\n\t\t\t\tmargin: undefined,\n\t\t\t\tblockGap: undefined,\n\t\t\t},\n\t\t\tdimensions: {\n\t\t\t\t...previousValue?.dimensions,\n\t\t\t\tminHeight: undefined,\n\t\t\t\taspectRatio: undefined,\n\t\t\t},\n\t\t};\n\t}, [] );\n\n\tconst onMouseLeaveControls = () => onVisualize( false );\n\n\treturn (\n\t\t<Wrapper\n\t\t\tresetAllFilter={ resetAllFilter }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t{ ( showContentSizeControl || showWideSizeControl ) && (\n\t\t\t\t<span className=\"span-columns\">\n\t\t\t\t\t{ __( 'Set the width of the main content area.' ) }\n\t\t\t\t</span>\n\t\t\t) }\n\t\t\t{ showContentSizeControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Content size' ) }\n\t\t\t\t\thasValue={ hasUserSetContentSizeValue }\n\t\t\t\t\tonDeselect={ resetContentSizeValue }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.contentSize ??\n\t\t\t\t\t\tDEFAULT_CONTROLS.contentSize\n\t\t\t\t\t}\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<HStack alignment=\"flex-end\" justify=\"flex-start\">\n\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\tlabel={ __( 'Content' ) }\n\t\t\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\t\t\t__unstableInputWidth=\"80px\"\n\t\t\t\t\t\t\tvalue={ contentSizeValue || '' }\n\t\t\t\t\t\t\tonChange={ ( nextContentSize ) => {\n\t\t\t\t\t\t\t\tsetContentSizeValue( nextContentSize );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<View>\n\t\t\t\t\t\t\t<Icon icon={ positionCenter } />\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</HStack>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ showWideSizeControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Wide size' ) }\n\t\t\t\t\thasValue={ hasUserSetWideSizeValue }\n\t\t\t\t\tonDeselect={ resetWideSizeValue }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.wideSize ?? DEFAULT_CONTROLS.wideSize\n\t\t\t\t\t}\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<HStack alignment=\"flex-end\" justify=\"flex-start\">\n\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\tlabel={ __( 'Wide' ) }\n\t\t\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\t\t\t__unstableInputWidth=\"80px\"\n\t\t\t\t\t\t\tvalue={ wideSizeValue || '' }\n\t\t\t\t\t\t\tonChange={ ( nextWideSize ) => {\n\t\t\t\t\t\t\t\tsetWideSizeValue( nextWideSize );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<View>\n\t\t\t\t\t\t\t<Icon icon={ stretchWide } />\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</HStack>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ showPaddingControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ hasPaddingValue }\n\t\t\t\t\tlabel={ __( 'Padding' ) }\n\t\t\t\t\tonDeselect={ resetPaddingValue }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.padding ?? DEFAULT_CONTROLS.padding\n\t\t\t\t\t}\n\t\t\t\t\tclassName={ classnames( {\n\t\t\t\t\t\t'tools-panel-item-spacing': showSpacingPresetsControl,\n\t\t\t\t\t} ) }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t{ ! showSpacingPresetsControl && (\n\t\t\t\t\t\t<BoxControl\n\t\t\t\t\t\t\tvalues={ paddingValues }\n\t\t\t\t\t\t\tonChange={ setPaddingValues }\n\t\t\t\t\t\t\tlabel={ __( 'Padding' ) }\n\t\t\t\t\t\t\tsides={ paddingSides }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\tallowReset={ false }\n\t\t\t\t\t\t\tsplitOnAxis={ isAxialPadding }\n\t\t\t\t\t\t\tonMouseOver={ onMouseOverPadding }\n\t\t\t\t\t\t\tonMouseOut={ onMouseLeaveControls }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ showSpacingPresetsControl && (\n\t\t\t\t\t\t<SpacingSizesControl\n\t\t\t\t\t\t\tvalues={ paddingValues }\n\t\t\t\t\t\t\tonChange={ setPaddingValues }\n\t\t\t\t\t\t\tlabel={ __( 'Padding' ) }\n\t\t\t\t\t\t\tsides={ paddingSides }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\tallowReset={ false }\n\t\t\t\t\t\t\tonMouseOver={ onMouseOverPadding }\n\t\t\t\t\t\t\tonMouseOut={ onMouseLeaveControls }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ showMarginControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ hasMarginValue }\n\t\t\t\t\tlabel={ __( 'Margin' ) }\n\t\t\t\t\tonDeselect={ resetMarginValue }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.margin ?? DEFAULT_CONTROLS.margin\n\t\t\t\t\t}\n\t\t\t\t\tclassName={ classnames( {\n\t\t\t\t\t\t'tools-panel-item-spacing': showSpacingPresetsControl,\n\t\t\t\t\t} ) }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t{ ! showSpacingPresetsControl && (\n\t\t\t\t\t\t<BoxControl\n\t\t\t\t\t\t\tvalues={ marginValues }\n\t\t\t\t\t\t\tonChange={ setMarginValues }\n\t\t\t\t\t\t\tlabel={ __( 'Margin' ) }\n\t\t\t\t\t\t\tsides={ marginSides }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\tallowReset={ false }\n\t\t\t\t\t\t\tsplitOnAxis={ isAxialMargin }\n\t\t\t\t\t\t\tonMouseOver={ onMouseOverMargin }\n\t\t\t\t\t\t\tonMouseOut={ onMouseLeaveControls }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ showSpacingPresetsControl && (\n\t\t\t\t\t\t<SpacingSizesControl\n\t\t\t\t\t\t\tvalues={ marginValues }\n\t\t\t\t\t\t\tonChange={ setMarginValues }\n\t\t\t\t\t\t\tlabel={ __( 'Margin' ) }\n\t\t\t\t\t\t\tsides={ marginSides }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\tallowReset={ false }\n\t\t\t\t\t\t\tonMouseOver={ onMouseOverMargin }\n\t\t\t\t\t\t\tonMouseOut={ onMouseLeaveControls }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ showGapControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ hasGapValue }\n\t\t\t\t\tlabel={ __( 'Block spacing' ) }\n\t\t\t\t\tonDeselect={ resetGapValue }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.blockGap ?? DEFAULT_CONTROLS.blockGap\n\t\t\t\t\t}\n\t\t\t\t\tclassName={ classnames( {\n\t\t\t\t\t\t'tools-panel-item-spacing': showSpacingPresetsControl,\n\t\t\t\t\t} ) }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t{ ! showSpacingPresetsControl &&\n\t\t\t\t\t\t( isAxialGap ? (\n\t\t\t\t\t\t\t<BoxControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Block spacing' ) }\n\t\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\t\tonChange={ setGapValues }\n\t\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\t\tsides={ gapSides }\n\t\t\t\t\t\t\t\tvalues={ gapValues }\n\t\t\t\t\t\t\t\tallowReset={ false }\n\t\t\t\t\t\t\t\tsplitOnAxis={ isAxialGap }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Block spacing' ) }\n\t\t\t\t\t\t\t\t__unstableInputWidth=\"80px\"\n\t\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\t\tonChange={ setGapValue }\n\t\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\t\tvalue={ gapValue }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t{ showSpacingPresetsControl && (\n\t\t\t\t\t\t<SpacingSizesControl\n\t\t\t\t\t\t\tlabel={ __( 'Block spacing' ) }\n\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\tonChange={ setGapValues }\n\t\t\t\t\t\t\tshowSideInLabel={ false }\n\t\t\t\t\t\t\tsides={ isAxialGap ? gapSides : [ 'top' ] } // Use 'top' as the shorthand property in non-axial configurations.\n\t\t\t\t\t\t\tvalues={ gapValues }\n\t\t\t\t\t\t\tallowReset={ false }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ showMinHeightControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ hasMinHeightValue }\n\t\t\t\t\tlabel={ __( 'Minimum height' ) }\n\t\t\t\t\tonDeselect={ resetMinHeightValue }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.minHeight ?? DEFAULT_CONTROLS.minHeight\n\t\t\t\t\t}\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<HeightControl\n\t\t\t\t\t\tlabel={ __( 'Minimum height' ) }\n\t\t\t\t\t\tvalue={ minHeightValue }\n\t\t\t\t\t\tonChange={ setMinHeightValue }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ showAspectRatioControl && (\n\t\t\t\t<AspectRatioTool\n\t\t\t\t\thasValue={ hasAspectRatioValue }\n\t\t\t\t\tvalue={ aspectRatioValue }\n\t\t\t\t\tonChange={ setAspectRatioValue }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.aspectRatio ??\n\t\t\t\t\t\tDEFAULT_CONTROLS.aspectRatio\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ showChildLayoutControl && (\n\t\t\t\t<VStack\n\t\t\t\t\tas={ ToolsPanelItem }\n\t\t\t\t\tspacing={ 2 }\n\t\t\t\t\thasValue={ hasChildLayoutValue }\n\t\t\t\t\tlabel={ childLayoutOrientationLabel }\n\t\t\t\t\tonDeselect={ resetChildLayoutValue }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.childLayout ??\n\t\t\t\t\t\tDEFAULT_CONTROLS.childLayout\n\t\t\t\t\t}\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<ChildLayoutControl\n\t\t\t\t\t\tvalue={ childLayout }\n\t\t\t\t\t\tonChange={ setChildLayout }\n\t\t\t\t\t\tparentLayout={ settings?.parentLayout }\n\t\t\t\t\t/>\n\t\t\t\t</VStack>\n\t\t\t) }\n\t\t</Wrapper>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["classnames","__","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__experimentalBoxControl","BoxControl","__experimentalHStack","HStack","__experimentalVStack","VStack","__experimentalUnitControl","UnitControl","__experimentalUseCustomUnits","useCustomUnits","__experimentalView","View","Icon","positionCenter","stretchWide","useCallback","Platform","getValueFromVariable","TOOLSPANEL_DROPDOWNMENU_PROPS","SpacingSizesControl","HeightControl","ChildLayoutControl","AspectRatioTool","cleanEmptyObject","setImmutably","AXIAL_SIDES","useHasDimensionsPanel","settings","hasContentSize","useHasContentSize","hasWideSize","useHasWideSize","hasPadding","useHasPadding","hasMargin","useHasMargin","hasGap","useHasGap","hasMinHeight","useHasMinHeight","hasAspectRatio","useHasAspectRatio","hasChildLayout","useHasChildLayout","OS","layout","contentSize","wideSize","spacing","padding","margin","blockGap","dimensions","minHeight","aspectRatio","_settings$parentLayou","type","parentLayoutType","default","defaultParentLayoutType","allowSizingOnChildren","parentLayout","support","useHasSpacingPresets","_ref","_ref2","custom","theme","defaultPresets","spacingSizes","presets","length","filterValuesBySides","values","sides","filteredValues","forEach","side","top","bottom","left","right","splitStyleValue","value","splitGapValue","DimensionsToolsPanel","resetAllFilter","onChange","panelId","children","resetAll","updatedValue","createElement","label","dropdownMenuProps","DEFAULT_CONTROLS","childLayout","DimensionsPanel","as","Wrapper","inheritedValue","defaultControls","onVisualize","includeLayoutControls","_settings$parentLayou2","_settings$parentLayou3","_defaultControls$cont","_defaultControls$wide","_defaultControls$padd","_defaultControls$marg","_defaultControls$bloc","_defaultControls$chil","_defaultControls$minH","_defaultControls$aspe","decodeValue","rawValue","Object","keys","reduce","acc","key","showSpacingPresetsControl","units","availableUnits","showContentSizeControl","contentSizeValue","setContentSizeValue","newValue","undefined","hasUserSetContentSizeValue","resetContentSizeValue","showWideSizeControl","wideSizeValue","setWideSizeValue","hasUserSetWideSizeValue","resetWideSizeValue","showPaddingControl","rawPadding","paddingValues","paddingSides","Array","isArray","isAxialPadding","some","includes","setPaddingValues","newPaddingValues","hasPaddingValue","resetPaddingValue","onMouseOverPadding","showMarginControl","rawMargin","marginValues","marginSides","isAxialMargin","setMarginValues","newMarginValues","hasMarginValue","resetMarginValue","onMouseOverMargin","showGapControl","gapValue","gapValues","gapSides","isAxialGap","setGapValue","newGapValue","setGapValues","nextBoxGapValue","hasOwnProperty","resetGapValue","hasGapValue","showMinHeightControl","minHeightValue","setMinHeightValue","tempValue","resetMinHeightValue","hasMinHeightValue","showAspectRatioControl","aspectRatioValue","setAspectRatioValue","hasAspectRatioValue","showChildLayoutControl","orientation","parentType","defaultParentType","flexResetLabel","childLayoutResetLabel","setChildLayout","newChildLayout","resetChildLayoutValue","selfStretch","flexSize","columnSpan","rowSpan","hasChildLayoutValue","previousValue","onMouseLeaveControls","className","hasValue","onDeselect","isShownByDefault","alignment","justify","labelPosition","__unstableInputWidth","nextContentSize","icon","nextWideSize","allowReset","splitOnAxis","onMouseOver","onMouseOut","min","showSideInLabel"],"sources":["@wordpress/block-editor/src/components/global-styles/dimensions-panel.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n\t__experimentalBoxControl as BoxControl,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalView as View,\n} from '@wordpress/components';\nimport { Icon, positionCenter, stretchWide } from '@wordpress/icons';\nimport { useCallback, Platform } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { getValueFromVariable, TOOLSPANEL_DROPDOWNMENU_PROPS } from './utils';\nimport SpacingSizesControl from '../spacing-sizes-control';\nimport HeightControl from '../height-control';\nimport ChildLayoutControl from '../child-layout-control';\nimport AspectRatioTool from '../dimensions-tool/aspect-ratio-tool';\nimport { cleanEmptyObject } from '../../hooks/utils';\nimport { setImmutably } from '../../utils/object';\n\nconst AXIAL_SIDES = [ 'horizontal', 'vertical' ];\n\nexport function useHasDimensionsPanel( settings ) {\n\tconst hasContentSize = useHasContentSize( settings );\n\tconst hasWideSize = useHasWideSize( settings );\n\tconst hasPadding = useHasPadding( settings );\n\tconst hasMargin = useHasMargin( settings );\n\tconst hasGap = useHasGap( settings );\n\tconst hasMinHeight = useHasMinHeight( settings );\n\tconst hasAspectRatio = useHasAspectRatio( settings );\n\tconst hasChildLayout = useHasChildLayout( settings );\n\n\treturn (\n\t\tPlatform.OS === 'web' &&\n\t\t( hasContentSize ||\n\t\t\thasWideSize ||\n\t\t\thasPadding ||\n\t\t\thasMargin ||\n\t\t\thasGap ||\n\t\t\thasMinHeight ||\n\t\t\thasAspectRatio ||\n\t\t\thasChildLayout )\n\t);\n}\n\nfunction useHasContentSize( settings ) {\n\treturn settings?.layout?.contentSize;\n}\n\nfunction useHasWideSize( settings ) {\n\treturn settings?.layout?.wideSize;\n}\n\nfunction useHasPadding( settings ) {\n\treturn settings?.spacing?.padding;\n}\n\nfunction useHasMargin( settings ) {\n\treturn settings?.spacing?.margin;\n}\n\nfunction useHasGap( settings ) {\n\treturn settings?.spacing?.blockGap;\n}\n\nfunction useHasMinHeight( settings ) {\n\treturn settings?.dimensions?.minHeight;\n}\n\nfunction useHasAspectRatio( settings ) {\n\treturn settings?.dimensions?.aspectRatio;\n}\n\nfunction useHasChildLayout( settings ) {\n\tconst {\n\t\ttype: parentLayoutType = 'default',\n\t\tdefault: { type: defaultParentLayoutType = 'default' } = {},\n\t\tallowSizingOnChildren = false,\n\t} = settings?.parentLayout ?? {};\n\n\tconst support =\n\t\t( defaultParentLayoutType === 'flex' ||\n\t\t\tparentLayoutType === 'flex' ||\n\t\t\tdefaultParentLayoutType === 'grid' ||\n\t\t\tparentLayoutType === 'grid' ) &&\n\t\tallowSizingOnChildren;\n\treturn !! settings?.layout && support;\n}\n\nfunction useHasSpacingPresets( settings ) {\n\tconst {\n\t\tcustom,\n\t\ttheme,\n\t\tdefault: defaultPresets,\n\t} = settings?.spacing?.spacingSizes || {};\n\tconst presets = custom ?? theme ?? defaultPresets ?? [];\n\n\treturn presets.length > 0;\n}\n\nfunction filterValuesBySides( values, sides ) {\n\t// If no custom side configuration, all sides are opted into by default.\n\t// Without any values, we have nothing to filter either.\n\tif ( ! sides || ! values ) {\n\t\treturn values;\n\t}\n\n\t// Only include sides opted into within filtered values.\n\tconst filteredValues = {};\n\tsides.forEach( ( side ) => {\n\t\tif ( side === 'vertical' ) {\n\t\t\tfilteredValues.top = values.top;\n\t\t\tfilteredValues.bottom = values.bottom;\n\t\t}\n\t\tif ( side === 'horizontal' ) {\n\t\t\tfilteredValues.left = values.left;\n\t\t\tfilteredValues.right = values.right;\n\t\t}\n\t\tfilteredValues[ side ] = values?.[ side ];\n\t} );\n\n\treturn filteredValues;\n}\n\nfunction splitStyleValue( value ) {\n\t// Check for shorthand value (a string value).\n\tif ( value && typeof value === 'string' ) {\n\t\t// Convert to value for individual sides for BoxControl.\n\t\treturn {\n\t\t\ttop: value,\n\t\t\tright: value,\n\t\t\tbottom: value,\n\t\t\tleft: value,\n\t\t};\n\t}\n\n\treturn value;\n}\n\nfunction splitGapValue( value ) {\n\t// Check for shorthand value (a string value).\n\tif ( value && typeof value === 'string' ) {\n\t\t// If the value is a string, treat it as a single side (top) for the spacing controls.\n\t\treturn {\n\t\t\ttop: value,\n\t\t};\n\t}\n\n\tif ( value ) {\n\t\treturn {\n\t\t\t...value,\n\t\t\tright: value?.left,\n\t\t\tbottom: value?.top,\n\t\t};\n\t}\n\n\treturn value;\n}\n\nfunction DimensionsToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n} ) {\n\tconst resetAll = () => {\n\t\tconst updatedValue = resetAllFilter( value );\n\t\tonChange( updatedValue );\n\t};\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ __( 'Dimensions' ) }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t\tdropdownMenuProps={ TOOLSPANEL_DROPDOWNMENU_PROPS }\n\t\t>\n\t\t\t{ children }\n\t\t</ToolsPanel>\n\t);\n}\n\nconst DEFAULT_CONTROLS = {\n\tcontentSize: true,\n\twideSize: true,\n\tpadding: true,\n\tmargin: true,\n\tblockGap: true,\n\tminHeight: true,\n\taspectRatio: true,\n\tchildLayout: true,\n};\n\nexport default function DimensionsPanel( {\n\tas: Wrapper = DimensionsToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tdefaultControls = DEFAULT_CONTROLS,\n\tonVisualize = () => {},\n\t// Special case because the layout controls are not part of the dimensions panel\n\t// in global styles but not in block inspector.\n\tincludeLayoutControls = false,\n} ) {\n\tconst { dimensions, spacing } = settings;\n\n\tconst decodeValue = ( rawValue ) => {\n\t\tif ( rawValue && typeof rawValue === 'object' ) {\n\t\t\treturn Object.keys( rawValue ).reduce( ( acc, key ) => {\n\t\t\t\tacc[ key ] = getValueFromVariable(\n\t\t\t\t\t{ settings: { dimensions, spacing } },\n\t\t\t\t\t'',\n\t\t\t\t\trawValue[ key ]\n\t\t\t\t);\n\t\t\t\treturn acc;\n\t\t\t}, {} );\n\t\t}\n\t\treturn getValueFromVariable(\n\t\t\t{ settings: { dimensions, spacing } },\n\t\t\t'',\n\t\t\trawValue\n\t\t);\n\t};\n\n\tconst showSpacingPresetsControl = useHasSpacingPresets( settings );\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: settings?.spacing?.units || [\n\t\t\t'%',\n\t\t\t'px',\n\t\t\t'em',\n\t\t\t'rem',\n\t\t\t'vw',\n\t\t],\n\t} );\n\n\t// Content Size\n\tconst showContentSizeControl =\n\t\tuseHasContentSize( settings ) && includeLayoutControls;\n\tconst contentSizeValue = decodeValue( inheritedValue?.layout?.contentSize );\n\tconst setContentSizeValue = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'layout', 'contentSize' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasUserSetContentSizeValue = () => !! value?.layout?.contentSize;\n\tconst resetContentSizeValue = () => setContentSizeValue( undefined );\n\n\t// Wide Size\n\tconst showWideSizeControl =\n\t\tuseHasWideSize( settings ) && includeLayoutControls;\n\tconst wideSizeValue = decodeValue( inheritedValue?.layout?.wideSize );\n\tconst setWideSizeValue = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'layout', 'wideSize' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasUserSetWideSizeValue = () => !! value?.layout?.wideSize;\n\tconst resetWideSizeValue = () => setWideSizeValue( undefined );\n\n\t// Padding\n\tconst showPaddingControl = useHasPadding( settings );\n\tconst rawPadding = decodeValue( inheritedValue?.spacing?.padding );\n\tconst paddingValues = splitStyleValue( rawPadding );\n\tconst paddingSides = Array.isArray( settings?.spacing?.padding )\n\t\t? settings?.spacing?.padding\n\t\t: settings?.spacing?.padding?.sides;\n\tconst isAxialPadding =\n\t\tpaddingSides &&\n\t\tpaddingSides.some( ( side ) => AXIAL_SIDES.includes( side ) );\n\tconst setPaddingValues = ( newPaddingValues ) => {\n\t\tconst padding = filterValuesBySides( newPaddingValues, paddingSides );\n\t\tonChange( setImmutably( value, [ 'spacing', 'padding' ], padding ) );\n\t};\n\tconst hasPaddingValue = () =>\n\t\t!! value?.spacing?.padding &&\n\t\tObject.keys( value?.spacing?.padding ).length;\n\tconst resetPaddingValue = () => setPaddingValues( undefined );\n\tconst onMouseOverPadding = () => onVisualize( 'padding' );\n\n\t// Margin\n\tconst showMarginControl = useHasMargin( settings );\n\tconst rawMargin = decodeValue( inheritedValue?.spacing?.margin );\n\tconst marginValues = splitStyleValue( rawMargin );\n\tconst marginSides = Array.isArray( settings?.spacing?.margin )\n\t\t? settings?.spacing?.margin\n\t\t: settings?.spacing?.margin?.sides;\n\tconst isAxialMargin =\n\t\tmarginSides &&\n\t\tmarginSides.some( ( side ) => AXIAL_SIDES.includes( side ) );\n\tconst setMarginValues = ( newMarginValues ) => {\n\t\tconst margin = filterValuesBySides( newMarginValues, marginSides );\n\t\tonChange( setImmutably( value, [ 'spacing', 'margin' ], margin ) );\n\t};\n\tconst hasMarginValue = () =>\n\t\t!! value?.spacing?.margin &&\n\t\tObject.keys( value?.spacing?.margin ).length;\n\tconst resetMarginValue = () => setMarginValues( undefined );\n\tconst onMouseOverMargin = () => onVisualize( 'margin' );\n\n\t// Block Gap\n\tconst showGapControl = useHasGap( settings );\n\tconst gapValue = decodeValue( inheritedValue?.spacing?.blockGap );\n\tconst gapValues = splitGapValue( gapValue );\n\tconst gapSides = Array.isArray( settings?.spacing?.blockGap )\n\t\t? settings?.spacing?.blockGap\n\t\t: settings?.spacing?.blockGap?.sides;\n\tconst isAxialGap =\n\t\tgapSides && gapSides.some( ( side ) => AXIAL_SIDES.includes( side ) );\n\tconst setGapValue = ( newGapValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably( value, [ 'spacing', 'blockGap' ], newGapValue )\n\t\t);\n\t};\n\tconst setGapValues = ( nextBoxGapValue ) => {\n\t\tif ( ! nextBoxGapValue ) {\n\t\t\tsetGapValue( null );\n\t\t}\n\t\t// If axial gap is not enabled, treat the 'top' value as the shorthand gap value.\n\t\tif ( ! isAxialGap && nextBoxGapValue?.hasOwnProperty( 'top' ) ) {\n\t\t\tsetGapValue( nextBoxGapValue.top );\n\t\t} else {\n\t\t\tsetGapValue( {\n\t\t\t\ttop: nextBoxGapValue?.top,\n\t\t\t\tleft: nextBoxGapValue?.left,\n\t\t\t} );\n\t\t}\n\t};\n\tconst resetGapValue = () => setGapValue( undefined );\n\tconst hasGapValue = () => !! value?.spacing?.blockGap;\n\n\t// Min Height\n\tconst showMinHeightControl = useHasMinHeight( settings );\n\tconst minHeightValue = decodeValue( inheritedValue?.dimensions?.minHeight );\n\tconst setMinHeightValue = ( newValue ) => {\n\t\tconst tempValue = setImmutably(\n\t\t\tvalue,\n\t\t\t[ 'dimensions', 'minHeight' ],\n\t\t\tnewValue\n\t\t);\n\t\t// Apply min-height, while removing any applied aspect ratio.\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\ttempValue,\n\t\t\t\t[ 'dimensions', 'aspectRatio' ],\n\t\t\t\tundefined\n\t\t\t)\n\t\t);\n\t};\n\tconst resetMinHeightValue = () => {\n\t\tsetMinHeightValue( undefined );\n\t};\n\tconst hasMinHeightValue = () => !! value?.dimensions?.minHeight;\n\n\t// Aspect Ratio\n\tconst showAspectRatioControl = useHasAspectRatio( settings );\n\tconst aspectRatioValue = decodeValue(\n\t\tinheritedValue?.dimensions?.aspectRatio\n\t);\n\tconst setAspectRatioValue = ( newValue ) => {\n\t\tconst tempValue = setImmutably(\n\t\t\tvalue,\n\t\t\t[ 'dimensions', 'aspectRatio' ],\n\t\t\tnewValue\n\t\t);\n\t\t// Apply aspect-ratio, while removing any applied min-height.\n\t\tonChange(\n\t\t\tsetImmutably( tempValue, [ 'dimensions', 'minHeight' ], undefined )\n\t\t);\n\t};\n\tconst hasAspectRatioValue = () => !! value?.dimensions?.aspectRatio;\n\n\t// Child Layout\n\tconst showChildLayoutControl = useHasChildLayout( settings );\n\tconst childLayout = inheritedValue?.layout;\n\tconst { orientation = 'horizontal' } = settings?.parentLayout ?? {};\n\tconst {\n\t\ttype: parentType,\n\t\tdefault: { type: defaultParentType = 'default' } = {},\n\t} = settings?.parentLayout ?? {};\n\tconst parentLayoutType = parentType || defaultParentType;\n\tconst flexResetLabel =\n\t\torientation === 'horizontal' ? __( 'Width' ) : __( 'Height' );\n\tconst childLayoutResetLabel =\n\t\tparentLayoutType === 'flex' ? flexResetLabel : __( 'Grid spans' );\n\tconst setChildLayout = ( newChildLayout ) => {\n\t\tonChange( {\n\t\t\t...value,\n\t\t\tlayout: {\n\t\t\t\t...newChildLayout,\n\t\t\t},\n\t\t} );\n\t};\n\tconst resetChildLayoutValue = () => {\n\t\tsetChildLayout( {\n\t\t\tselfStretch: undefined,\n\t\t\tflexSize: undefined,\n\t\t\tcolumnSpan: undefined,\n\t\t\trowSpan: undefined,\n\t\t} );\n\t};\n\tconst hasChildLayoutValue = () => !! value?.layout;\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\tlayout: cleanEmptyObject( {\n\t\t\t\t...previousValue?.layout,\n\t\t\t\tcontentSize: undefined,\n\t\t\t\twideSize: undefined,\n\t\t\t\tselfStretch: undefined,\n\t\t\t\tflexSize: undefined,\n\t\t\t\tcolumnSpan: undefined,\n\t\t\t\trowSpan: undefined,\n\t\t\t} ),\n\t\t\tspacing: {\n\t\t\t\t...previousValue?.spacing,\n\t\t\t\tpadding: undefined,\n\t\t\t\tmargin: undefined,\n\t\t\t\tblockGap: undefined,\n\t\t\t},\n\t\t\tdimensions: {\n\t\t\t\t...previousValue?.dimensions,\n\t\t\t\tminHeight: undefined,\n\t\t\t\taspectRatio: undefined,\n\t\t\t},\n\t\t};\n\t}, [] );\n\n\tconst onMouseLeaveControls = () => onVisualize( false );\n\n\treturn (\n\t\t<Wrapper\n\t\t\tresetAllFilter={ resetAllFilter }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t{ ( showContentSizeControl || showWideSizeControl ) && (\n\t\t\t\t<span className=\"span-columns\">\n\t\t\t\t\t{ __( 'Set the width of the main content area.' ) }\n\t\t\t\t</span>\n\t\t\t) }\n\t\t\t{ showContentSizeControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Content size' ) }\n\t\t\t\t\thasValue={ hasUserSetContentSizeValue }\n\t\t\t\t\tonDeselect={ resetContentSizeValue }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.contentSize ??\n\t\t\t\t\t\tDEFAULT_CONTROLS.contentSize\n\t\t\t\t\t}\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<HStack alignment=\"flex-end\" justify=\"flex-start\">\n\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\tlabel={ __( 'Content' ) }\n\t\t\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\t\t\t__unstableInputWidth=\"80px\"\n\t\t\t\t\t\t\tvalue={ contentSizeValue || '' }\n\t\t\t\t\t\t\tonChange={ ( nextContentSize ) => {\n\t\t\t\t\t\t\t\tsetContentSizeValue( nextContentSize );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<View>\n\t\t\t\t\t\t\t<Icon icon={ positionCenter } />\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</HStack>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ showWideSizeControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Wide size' ) }\n\t\t\t\t\thasValue={ hasUserSetWideSizeValue }\n\t\t\t\t\tonDeselect={ resetWideSizeValue }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.wideSize ?? DEFAULT_CONTROLS.wideSize\n\t\t\t\t\t}\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<HStack alignment=\"flex-end\" justify=\"flex-start\">\n\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\tlabel={ __( 'Wide' ) }\n\t\t\t\t\t\t\tlabelPosition=\"top\"\n\t\t\t\t\t\t\t__unstableInputWidth=\"80px\"\n\t\t\t\t\t\t\tvalue={ wideSizeValue || '' }\n\t\t\t\t\t\t\tonChange={ ( nextWideSize ) => {\n\t\t\t\t\t\t\t\tsetWideSizeValue( nextWideSize );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<View>\n\t\t\t\t\t\t\t<Icon icon={ stretchWide } />\n\t\t\t\t\t\t</View>\n\t\t\t\t\t</HStack>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ showPaddingControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ hasPaddingValue }\n\t\t\t\t\tlabel={ __( 'Padding' ) }\n\t\t\t\t\tonDeselect={ resetPaddingValue }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.padding ?? DEFAULT_CONTROLS.padding\n\t\t\t\t\t}\n\t\t\t\t\tclassName={ classnames( {\n\t\t\t\t\t\t'tools-panel-item-spacing': showSpacingPresetsControl,\n\t\t\t\t\t} ) }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t{ ! showSpacingPresetsControl && (\n\t\t\t\t\t\t<BoxControl\n\t\t\t\t\t\t\tvalues={ paddingValues }\n\t\t\t\t\t\t\tonChange={ setPaddingValues }\n\t\t\t\t\t\t\tlabel={ __( 'Padding' ) }\n\t\t\t\t\t\t\tsides={ paddingSides }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\tallowReset={ false }\n\t\t\t\t\t\t\tsplitOnAxis={ isAxialPadding }\n\t\t\t\t\t\t\tonMouseOver={ onMouseOverPadding }\n\t\t\t\t\t\t\tonMouseOut={ onMouseLeaveControls }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ showSpacingPresetsControl && (\n\t\t\t\t\t\t<SpacingSizesControl\n\t\t\t\t\t\t\tvalues={ paddingValues }\n\t\t\t\t\t\t\tonChange={ setPaddingValues }\n\t\t\t\t\t\t\tlabel={ __( 'Padding' ) }\n\t\t\t\t\t\t\tsides={ paddingSides }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\tallowReset={ false }\n\t\t\t\t\t\t\tonMouseOver={ onMouseOverPadding }\n\t\t\t\t\t\t\tonMouseOut={ onMouseLeaveControls }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ showMarginControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ hasMarginValue }\n\t\t\t\t\tlabel={ __( 'Margin' ) }\n\t\t\t\t\tonDeselect={ resetMarginValue }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.margin ?? DEFAULT_CONTROLS.margin\n\t\t\t\t\t}\n\t\t\t\t\tclassName={ classnames( {\n\t\t\t\t\t\t'tools-panel-item-spacing': showSpacingPresetsControl,\n\t\t\t\t\t} ) }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t{ ! showSpacingPresetsControl && (\n\t\t\t\t\t\t<BoxControl\n\t\t\t\t\t\t\tvalues={ marginValues }\n\t\t\t\t\t\t\tonChange={ setMarginValues }\n\t\t\t\t\t\t\tlabel={ __( 'Margin' ) }\n\t\t\t\t\t\t\tsides={ marginSides }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\tallowReset={ false }\n\t\t\t\t\t\t\tsplitOnAxis={ isAxialMargin }\n\t\t\t\t\t\t\tonMouseOver={ onMouseOverMargin }\n\t\t\t\t\t\t\tonMouseOut={ onMouseLeaveControls }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ showSpacingPresetsControl && (\n\t\t\t\t\t\t<SpacingSizesControl\n\t\t\t\t\t\t\tvalues={ marginValues }\n\t\t\t\t\t\t\tonChange={ setMarginValues }\n\t\t\t\t\t\t\tlabel={ __( 'Margin' ) }\n\t\t\t\t\t\t\tsides={ marginSides }\n\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\tallowReset={ false }\n\t\t\t\t\t\t\tonMouseOver={ onMouseOverMargin }\n\t\t\t\t\t\t\tonMouseOut={ onMouseLeaveControls }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ showGapControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ hasGapValue }\n\t\t\t\t\tlabel={ __( 'Block spacing' ) }\n\t\t\t\t\tonDeselect={ resetGapValue }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.blockGap ?? DEFAULT_CONTROLS.blockGap\n\t\t\t\t\t}\n\t\t\t\t\tclassName={ classnames( {\n\t\t\t\t\t\t'tools-panel-item-spacing': showSpacingPresetsControl,\n\t\t\t\t\t} ) }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t{ ! showSpacingPresetsControl &&\n\t\t\t\t\t\t( isAxialGap ? (\n\t\t\t\t\t\t\t<BoxControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Block spacing' ) }\n\t\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\t\tonChange={ setGapValues }\n\t\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\t\tsides={ gapSides }\n\t\t\t\t\t\t\t\tvalues={ gapValues }\n\t\t\t\t\t\t\t\tallowReset={ false }\n\t\t\t\t\t\t\t\tsplitOnAxis={ isAxialGap }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<UnitControl\n\t\t\t\t\t\t\t\tlabel={ __( 'Block spacing' ) }\n\t\t\t\t\t\t\t\t__unstableInputWidth=\"80px\"\n\t\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\t\tonChange={ setGapValue }\n\t\t\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\t\t\tvalue={ gapValue }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) ) }\n\t\t\t\t\t{ showSpacingPresetsControl && (\n\t\t\t\t\t\t<SpacingSizesControl\n\t\t\t\t\t\t\tlabel={ __( 'Block spacing' ) }\n\t\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\t\tonChange={ setGapValues }\n\t\t\t\t\t\t\tshowSideInLabel={ false }\n\t\t\t\t\t\t\tsides={ isAxialGap ? gapSides : [ 'top' ] } // Use 'top' as the shorthand property in non-axial configurations.\n\t\t\t\t\t\t\tvalues={ gapValues }\n\t\t\t\t\t\t\tallowReset={ false }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ showChildLayoutControl && (\n\t\t\t\t<VStack\n\t\t\t\t\tas={ ToolsPanelItem }\n\t\t\t\t\tspacing={ 2 }\n\t\t\t\t\thasValue={ hasChildLayoutValue }\n\t\t\t\t\tlabel={ childLayoutResetLabel }\n\t\t\t\t\tonDeselect={ resetChildLayoutValue }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.childLayout ??\n\t\t\t\t\t\tDEFAULT_CONTROLS.childLayout\n\t\t\t\t\t}\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<ChildLayoutControl\n\t\t\t\t\t\tvalue={ childLayout }\n\t\t\t\t\t\tonChange={ setChildLayout }\n\t\t\t\t\t\tparentLayout={ settings?.parentLayout }\n\t\t\t\t\t/>\n\t\t\t\t</VStack>\n\t\t\t) }\n\t\t\t{ showMinHeightControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\thasValue={ hasMinHeightValue }\n\t\t\t\t\tlabel={ __( 'Minimum height' ) }\n\t\t\t\t\tonDeselect={ resetMinHeightValue }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.minHeight ?? DEFAULT_CONTROLS.minHeight\n\t\t\t\t\t}\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<HeightControl\n\t\t\t\t\t\tlabel={ __( 'Minimum height' ) }\n\t\t\t\t\t\tvalue={ minHeightValue }\n\t\t\t\t\t\tonChange={ setMinHeightValue }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ showAspectRatioControl && (\n\t\t\t\t<AspectRatioTool\n\t\t\t\t\thasValue={ hasAspectRatioValue }\n\t\t\t\t\tvalue={ aspectRatioValue }\n\t\t\t\t\tonChange={ setAspectRatioValue }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t\tisShownByDefault={\n\t\t\t\t\t\tdefaultControls.aspectRatio ??\n\t\t\t\t\t\tDEFAULT_CONTROLS.aspectRatio\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t</Wrapper>\n\t);\n}\n"],"mappings":"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"}
@@ -2,7 +2,6 @@ import { createElement, Fragment } from "react";
2
2
  /**
3
3
  * WordPress dependencies
4
4
  */
5
- import { hasBlockSupport } from '@wordpress/blocks';
6
5
  import { PanelBody } from '@wordpress/components';
7
6
  import { __ } from '@wordpress/i18n';
8
7
 
@@ -10,7 +9,6 @@ import { __ } from '@wordpress/i18n';
10
9
  * Internal dependencies
11
10
  */
12
11
  import BlockStyles from '../block-styles';
13
- import DefaultStylePicker from '../default-style-picker';
14
12
  import InspectorControls from '../inspector-controls';
15
13
  import { getBorderPanelLabel } from '../../hooks/border';
16
14
  const StylesTab = ({
@@ -25,8 +23,6 @@ const StylesTab = ({
25
23
  title: __('Styles')
26
24
  }, createElement(BlockStyles, {
27
25
  clientId: clientId
28
- }), hasBlockSupport(blockName, 'defaultStylePicker', true) && createElement(DefaultStylePicker, {
29
- blockName: blockName
30
26
  }))), createElement(InspectorControls.Slot, {
31
27
  group: "color",
32
28
  label: __('Color'),