@wordpress/block-editor 12.19.2 → 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.
- package/CHANGELOG.md +2 -0
- package/build/components/block-canvas/index.js +2 -0
- package/build/components/block-canvas/index.js.map +1 -1
- package/build/components/block-heading-level-dropdown/index.js +14 -17
- package/build/components/block-heading-level-dropdown/index.js.map +1 -1
- package/build/components/block-inspector/index.js +0 -3
- package/build/components/block-inspector/index.js.map +1 -1
- package/build/components/block-list/index.js +9 -9
- package/build/components/block-list/index.js.map +1 -1
- package/build/components/block-preview/index.js +4 -0
- package/build/components/block-preview/index.js.map +1 -1
- package/build/components/block-settings-menu/block-parent-selector-menu-item.js +54 -0
- package/build/components/block-settings-menu/block-parent-selector-menu-item.js.map +1 -0
- package/build/components/block-settings-menu/block-settings-dropdown.js +9 -37
- package/build/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build/components/block-tools/insertion-point.js +4 -1
- package/build/components/block-tools/insertion-point.js.map +1 -1
- package/build/components/child-layout-control/index.js +37 -5
- package/build/components/child-layout-control/index.js.map +1 -1
- package/build/components/date-format-picker/index.js +0 -1
- package/build/components/date-format-picker/index.js.map +1 -1
- package/build/components/font-appearance-control/index.js +1 -2
- package/build/components/font-appearance-control/index.js.map +1 -1
- package/build/components/global-styles/advanced-panel.js +5 -10
- package/build/components/global-styles/advanced-panel.js.map +1 -1
- package/build/components/global-styles/dimensions-panel.js +30 -19
- package/build/components/global-styles/dimensions-panel.js.map +1 -1
- package/build/components/global-styles/shadow-panel-components.js +3 -3
- package/build/components/global-styles/shadow-panel-components.js.map +1 -1
- package/build/components/inserter/media-tab/media-preview.js +1 -1
- package/build/components/inserter/media-tab/media-preview.js.map +1 -1
- package/build/components/inspector-controls-tabs/styles-tab.js +0 -4
- package/build/components/inspector-controls-tabs/styles-tab.js.map +1 -1
- package/build/components/observe-typing/index.js +5 -10
- package/build/components/observe-typing/index.js.map +1 -1
- package/build/components/rich-text/format-toolbar-container.js +1 -31
- package/build/components/rich-text/format-toolbar-container.js.map +1 -1
- package/build/components/rich-text/index.js +8 -5
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/rich-text/use-paste-handler.js +25 -26
- package/build/components/rich-text/use-paste-handler.js.map +1 -1
- package/build/components/skip-to-selected-block/index.js +7 -14
- package/build/components/skip-to-selected-block/index.js.map +1 -1
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +0 -1
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
- package/build/components/url-input/index.js +5 -8
- package/build/components/url-input/index.js.map +1 -1
- package/build/hooks/background.js +4 -2
- package/build/hooks/background.js.map +1 -1
- package/build/hooks/layout-child.js +50 -1
- package/build/hooks/layout-child.js.map +1 -1
- package/build/hooks/position.js +0 -1
- package/build/hooks/position.js.map +1 -1
- package/build/layouts/grid.js +105 -12
- package/build/layouts/grid.js.map +1 -1
- package/build/private-apis.js +3 -1
- package/build/private-apis.js.map +1 -1
- package/build/store/actions.js +2 -30
- package/build/store/actions.js.map +1 -1
- package/build/store/index.js +0 -2
- package/build/store/index.js.map +1 -1
- package/build/store/private-keys.js +8 -0
- package/build/store/private-keys.js.map +1 -0
- package/build/store/private-selectors.js +6 -9
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js +1 -9
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +7 -12
- package/build/store/selectors.js.map +1 -1
- package/build/store/utils.js +7 -2
- package/build/store/utils.js.map +1 -1
- package/build-module/components/block-canvas/index.js +2 -0
- package/build-module/components/block-canvas/index.js.map +1 -1
- package/build-module/components/block-heading-level-dropdown/index.js +14 -17
- package/build-module/components/block-heading-level-dropdown/index.js.map +1 -1
- package/build-module/components/block-inspector/index.js +1 -4
- package/build-module/components/block-inspector/index.js.map +1 -1
- package/build-module/components/block-list/index.js +9 -9
- package/build-module/components/block-list/index.js.map +1 -1
- package/build-module/components/block-preview/index.js +4 -0
- package/build-module/components/block-preview/index.js.map +1 -1
- package/build-module/components/block-settings-menu/block-parent-selector-menu-item.js +46 -0
- package/build-module/components/block-settings-menu/block-parent-selector-menu-item.js.map +1 -0
- package/build-module/components/block-settings-menu/block-settings-dropdown.js +12 -40
- package/build-module/components/block-settings-menu/block-settings-dropdown.js.map +1 -1
- package/build-module/components/block-tools/insertion-point.js +4 -1
- package/build-module/components/block-tools/insertion-point.js.map +1 -1
- package/build-module/components/child-layout-control/index.js +38 -6
- package/build-module/components/child-layout-control/index.js.map +1 -1
- package/build-module/components/date-format-picker/index.js +0 -1
- package/build-module/components/date-format-picker/index.js.map +1 -1
- package/build-module/components/font-appearance-control/index.js +1 -2
- package/build-module/components/font-appearance-control/index.js.map +1 -1
- package/build-module/components/global-styles/advanced-panel.js +6 -11
- package/build-module/components/global-styles/advanced-panel.js.map +1 -1
- package/build-module/components/global-styles/dimensions-panel.js +30 -19
- package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
- package/build-module/components/global-styles/shadow-panel-components.js +3 -3
- package/build-module/components/global-styles/shadow-panel-components.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-preview.js +1 -1
- package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
- package/build-module/components/inspector-controls-tabs/styles-tab.js +0 -4
- package/build-module/components/inspector-controls-tabs/styles-tab.js.map +1 -1
- package/build-module/components/observe-typing/index.js +5 -10
- package/build-module/components/observe-typing/index.js.map +1 -1
- package/build-module/components/rich-text/format-toolbar-container.js +1 -31
- package/build-module/components/rich-text/format-toolbar-container.js.map +1 -1
- package/build-module/components/rich-text/index.js +8 -5
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/rich-text/use-paste-handler.js +25 -26
- package/build-module/components/rich-text/use-paste-handler.js.map +1 -1
- package/build-module/components/skip-to-selected-block/index.js +8 -14
- package/build-module/components/skip-to-selected-block/index.js.map +1 -1
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +0 -1
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
- package/build-module/components/url-input/index.js +5 -8
- package/build-module/components/url-input/index.js.map +1 -1
- package/build-module/hooks/background.js +4 -2
- package/build-module/hooks/background.js.map +1 -1
- package/build-module/hooks/layout-child.js +50 -1
- package/build-module/hooks/layout-child.js.map +1 -1
- package/build-module/hooks/position.js +0 -1
- package/build-module/hooks/position.js.map +1 -1
- package/build-module/layouts/grid.js +107 -14
- package/build-module/layouts/grid.js.map +1 -1
- package/build-module/private-apis.js +3 -1
- package/build-module/private-apis.js.map +1 -1
- package/build-module/store/actions.js +2 -30
- package/build-module/store/actions.js.map +1 -1
- package/build-module/store/index.js +0 -2
- package/build-module/store/index.js.map +1 -1
- package/build-module/store/private-keys.js +2 -0
- package/build-module/store/private-keys.js.map +1 -0
- package/build-module/store/private-selectors.js +5 -6
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/reducer.js +1 -9
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +8 -13
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/store/utils.js +6 -2
- package/build-module/store/utils.js.map +1 -1
- package/build-style/style-rtl.css +12 -27
- package/build-style/style.css +12 -27
- package/package.json +31 -32
- package/src/components/block-canvas/index.js +2 -0
- package/src/components/block-heading-level-dropdown/index.js +17 -25
- package/src/components/block-inspector/index.js +0 -11
- package/src/components/block-list/index.js +55 -55
- package/src/components/block-preview/index.js +6 -1
- package/src/components/block-settings-menu/block-parent-selector-menu-item.js +50 -0
- package/src/components/block-settings-menu/block-settings-dropdown.js +9 -50
- package/src/components/block-styles/style.scss +0 -4
- package/src/components/block-toolbar/style.scss +11 -6
- package/src/components/block-tools/insertion-point.js +6 -1
- package/src/components/child-layout-control/index.js +85 -44
- package/src/components/date-format-picker/index.js +0 -1
- package/src/components/font-appearance-control/index.js +0 -1
- package/src/components/global-styles/advanced-panel.js +6 -12
- package/src/components/global-styles/dimensions-panel.js +36 -24
- package/src/components/global-styles/shadow-panel-components.js +3 -3
- package/src/components/global-styles/style.scss +0 -10
- package/src/components/global-styles/test/use-global-styles-output.js +3 -2
- package/src/components/inserter/media-tab/media-preview.js +6 -1
- package/src/components/inspector-controls-tabs/styles-tab.js +0 -7
- package/src/components/observe-typing/index.js +7 -10
- package/src/components/rich-text/format-toolbar-container.js +1 -48
- package/src/components/rich-text/index.js +12 -6
- package/src/components/rich-text/use-paste-handler.js +26 -25
- package/src/components/skip-to-selected-block/index.js +10 -13
- package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +0 -1
- package/src/components/url-input/index.js +6 -15
- package/src/hooks/anchor.scss +1 -1
- package/src/hooks/background.js +5 -2
- package/src/hooks/layout-child.js +53 -1
- package/src/hooks/position.js +0 -1
- package/src/layouts/grid.js +131 -52
- package/src/layouts/test/grid.js +16 -2
- package/src/private-apis.js +2 -0
- package/src/store/actions.js +2 -38
- package/src/store/index.js +0 -2
- package/src/store/private-keys.js +1 -0
- package/src/store/private-selectors.js +4 -7
- package/src/store/reducer.js +0 -10
- package/src/store/selectors.js +7 -15
- package/src/store/test/actions.js +0 -101
- package/src/store/utils.js +7 -2
- package/src/style.scss +0 -1
- package/build/components/default-style-picker/index.js +0 -70
- package/build/components/default-style-picker/index.js.map +0 -1
- package/build/store/resolvers.js +0 -27
- package/build/store/resolvers.js.map +0 -1
- package/build-module/components/default-style-picker/index.js +0 -63
- package/build-module/components/default-style-picker/index.js.map +0 -1
- package/build-module/store/resolvers.js +0 -20
- package/build-module/store/resolvers.js.map +0 -1
- package/src/components/block-settings-menu/style.scss +0 -3
- package/src/components/default-style-picker/index.js +0 -70
- package/src/store/resolvers.js +0 -17
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["TextareaControl","
|
|
1
|
+
{"version":3,"names":["TextareaControl","Notice","__experimentalVStack","VStack","useState","__","default","transformStyles","AdvancedPanel","value","onChange","inheritedValue","cssError","setCSSError","customCSS","css","handleOnChange","newValue","transformed","handleOnBlur","event","target","createElement","spacing","status","onRemove","label","__nextHasNoMarginBottom","onBlur","className","spellCheck"],"sources":["@wordpress/block-editor/src/components/global-styles/advanced-panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tTextareaControl,\n\tNotice,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { default as transformStyles } from '../../utils/transform-styles';\n\nexport default function AdvancedPanel( {\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n} ) {\n\t// Custom CSS\n\tconst [ cssError, setCSSError ] = useState( null );\n\tconst customCSS = inheritedValue?.css;\n\tfunction handleOnChange( newValue ) {\n\t\tonChange( {\n\t\t\t...value,\n\t\t\tcss: newValue,\n\t\t} );\n\t\tif ( cssError ) {\n\t\t\tconst [ transformed ] = transformStyles(\n\t\t\t\t[ { css: newValue } ],\n\t\t\t\t'.editor-styles-wrapper'\n\t\t\t);\n\t\t\tif ( transformed ) {\n\t\t\t\tsetCSSError( null );\n\t\t\t}\n\t\t}\n\t}\n\tfunction handleOnBlur( event ) {\n\t\tif ( ! event?.target?.value ) {\n\t\t\tsetCSSError( null );\n\t\t\treturn;\n\t\t}\n\n\t\tconst [ transformed ] = transformStyles(\n\t\t\t[ { css: event.target.value } ],\n\t\t\t'.editor-styles-wrapper'\n\t\t);\n\n\t\tsetCSSError(\n\t\t\ttransformed === null\n\t\t\t\t? __( 'There is an error with your CSS structure.' )\n\t\t\t\t: null\n\t\t);\n\t}\n\n\treturn (\n\t\t<VStack spacing={ 3 }>\n\t\t\t{ cssError && (\n\t\t\t\t<Notice status=\"error\" onRemove={ () => setCSSError( null ) }>\n\t\t\t\t\t{ cssError }\n\t\t\t\t</Notice>\n\t\t\t) }\n\t\t\t<TextareaControl\n\t\t\t\tlabel={ __( 'Additional CSS' ) }\n\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\tvalue={ customCSS }\n\t\t\t\tonChange={ ( newValue ) => handleOnChange( newValue ) }\n\t\t\t\tonBlur={ handleOnBlur }\n\t\t\t\tclassName=\"block-editor-global-styles-advanced-panel__custom-css-input\"\n\t\t\t\tspellCheck={ false }\n\t\t\t/>\n\t\t</VStack>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SACCA,eAAe,EACfC,MAAM,EACNC,oBAAoB,IAAIC,MAAM,QACxB,uBAAuB;AAC9B,SAASC,QAAQ,QAAQ,oBAAoB;AAC7C,SAASC,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,SAASC,OAAO,IAAIC,eAAe,QAAQ,8BAA8B;AAEzE,eAAe,SAASC,aAAaA,CAAE;EACtCC,KAAK;EACLC,QAAQ;EACRC,cAAc,GAAGF;AAClB,CAAC,EAAG;EACH;EACA,MAAM,CAAEG,QAAQ,EAAEC,WAAW,CAAE,GAAGT,QAAQ,CAAE,IAAK,CAAC;EAClD,MAAMU,SAAS,GAAGH,cAAc,EAAEI,GAAG;EACrC,SAASC,cAAcA,CAAEC,QAAQ,EAAG;IACnCP,QAAQ,CAAE;MACT,GAAGD,KAAK;MACRM,GAAG,EAAEE;IACN,CAAE,CAAC;IACH,IAAKL,QAAQ,EAAG;MACf,MAAM,CAAEM,WAAW,CAAE,GAAGX,eAAe,CACtC,CAAE;QAAEQ,GAAG,EAAEE;MAAS,CAAC,CAAE,EACrB,wBACD,CAAC;MACD,IAAKC,WAAW,EAAG;QAClBL,WAAW,CAAE,IAAK,CAAC;MACpB;IACD;EACD;EACA,SAASM,YAAYA,CAAEC,KAAK,EAAG;IAC9B,IAAK,CAAEA,KAAK,EAAEC,MAAM,EAAEZ,KAAK,EAAG;MAC7BI,WAAW,CAAE,IAAK,CAAC;MACnB;IACD;IAEA,MAAM,CAAEK,WAAW,CAAE,GAAGX,eAAe,CACtC,CAAE;MAAEQ,GAAG,EAAEK,KAAK,CAACC,MAAM,CAACZ;IAAM,CAAC,CAAE,EAC/B,wBACD,CAAC;IAEDI,WAAW,CACVK,WAAW,KAAK,IAAI,GACjBb,EAAE,CAAE,4CAA6C,CAAC,GAClD,IACJ,CAAC;EACF;EAEA,OACCiB,aAAA,CAACnB,MAAM;IAACoB,OAAO,EAAG;EAAG,GAClBX,QAAQ,IACTU,aAAA,CAACrB,MAAM;IAACuB,MAAM,EAAC,OAAO;IAACC,QAAQ,EAAGA,CAAA,KAAMZ,WAAW,CAAE,IAAK;EAAG,GAC1DD,QACK,CACR,EACDU,aAAA,CAACtB,eAAe;IACf0B,KAAK,EAAGrB,EAAE,CAAE,gBAAiB,CAAG;IAChCsB,uBAAuB;IACvBlB,KAAK,EAAGK,SAAW;IACnBJ,QAAQ,EAAKO,QAAQ,IAAMD,cAAc,CAAEC,QAAS,CAAG;IACvDW,MAAM,EAAGT,YAAc;IACvBU,SAAS,EAAC,6DAA6D;IACvEC,UAAU,EAAG;EAAO,CACpB,CACM,CAAC;AAEX"}
|
|
@@ -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$
|
|
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
|
|
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
|
-
})
|
|
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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"}
|
|
@@ -14,10 +14,10 @@ export function ShadowPopoverContainer({
|
|
|
14
14
|
onShadowChange,
|
|
15
15
|
settings
|
|
16
16
|
}) {
|
|
17
|
-
const defaultShadows = settings?.shadow?.presets?.default;
|
|
18
|
-
const themeShadows = settings?.shadow?.presets?.theme;
|
|
17
|
+
const defaultShadows = settings?.shadow?.presets?.default || [];
|
|
18
|
+
const themeShadows = settings?.shadow?.presets?.theme || [];
|
|
19
19
|
const defaultPresetsEnabled = settings?.shadow?.defaultPresets;
|
|
20
|
-
const shadows = [...(defaultPresetsEnabled ? defaultShadows : []), ...
|
|
20
|
+
const shadows = [...(defaultPresetsEnabled ? defaultShadows : []), ...themeShadows];
|
|
21
21
|
return createElement("div", {
|
|
22
22
|
className: "block-editor-global-styles__shadow-popover-container"
|
|
23
23
|
}, createElement(VStack, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__","__experimentalVStack","VStack","__experimentalHeading","Heading","__experimentalGrid","Grid","__experimentalHStack","HStack","__experimentalDropdownContentWrapper","DropdownContentWrapper","Button","FlexItem","Dropdown","shadow","shadowIcon","Icon","check","classNames","ShadowPopoverContainer","onShadowChange","settings","defaultShadows","presets","default","themeShadows","theme","defaultPresetsEnabled","defaultPresets","shadows","createElement","className","spacing","level","ShadowPresets","activeShadow","onSelect","columns","gap","align","justify","map","name","slug","ShadowIndicator","key","label","isActive","undefined","onClick","style","boxShadow","showTooltip","icon","ShadowPopover","popoverProps","placement","offset","shift","renderToggle","renderShadowToggle","renderContent","paddingSize","onToggle","isOpen","toggleProps","size"],"sources":["@wordpress/block-editor/src/components/global-styles/shadow-panel-components.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\t__experimentalVStack as VStack,\n\t__experimentalHeading as Heading,\n\t__experimentalGrid as Grid,\n\t__experimentalHStack as HStack,\n\t__experimentalDropdownContentWrapper as DropdownContentWrapper,\n\tButton,\n\tFlexItem,\n\tDropdown,\n} from '@wordpress/components';\nimport { shadow as shadowIcon, Icon, check } from '@wordpress/icons';\n/**\n * External dependencies\n */\nimport classNames from 'classnames';\n\nexport function ShadowPopoverContainer( { shadow, onShadowChange, settings } ) {\n\tconst defaultShadows = settings?.shadow?.presets?.default;\n\tconst themeShadows = settings?.shadow?.presets?.theme;\n\tconst defaultPresetsEnabled = settings?.shadow?.defaultPresets;\n\n\tconst shadows = [\n\t\t...( defaultPresetsEnabled ? defaultShadows : [] ),\n\t\t...
|
|
1
|
+
{"version":3,"names":["__","__experimentalVStack","VStack","__experimentalHeading","Heading","__experimentalGrid","Grid","__experimentalHStack","HStack","__experimentalDropdownContentWrapper","DropdownContentWrapper","Button","FlexItem","Dropdown","shadow","shadowIcon","Icon","check","classNames","ShadowPopoverContainer","onShadowChange","settings","defaultShadows","presets","default","themeShadows","theme","defaultPresetsEnabled","defaultPresets","shadows","createElement","className","spacing","level","ShadowPresets","activeShadow","onSelect","columns","gap","align","justify","map","name","slug","ShadowIndicator","key","label","isActive","undefined","onClick","style","boxShadow","showTooltip","icon","ShadowPopover","popoverProps","placement","offset","shift","renderToggle","renderShadowToggle","renderContent","paddingSize","onToggle","isOpen","toggleProps","size"],"sources":["@wordpress/block-editor/src/components/global-styles/shadow-panel-components.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\t__experimentalVStack as VStack,\n\t__experimentalHeading as Heading,\n\t__experimentalGrid as Grid,\n\t__experimentalHStack as HStack,\n\t__experimentalDropdownContentWrapper as DropdownContentWrapper,\n\tButton,\n\tFlexItem,\n\tDropdown,\n} from '@wordpress/components';\nimport { shadow as shadowIcon, Icon, check } from '@wordpress/icons';\n/**\n * External dependencies\n */\nimport classNames from 'classnames';\n\nexport function ShadowPopoverContainer( { shadow, onShadowChange, settings } ) {\n\tconst defaultShadows = settings?.shadow?.presets?.default || [];\n\tconst themeShadows = settings?.shadow?.presets?.theme || [];\n\tconst defaultPresetsEnabled = settings?.shadow?.defaultPresets;\n\n\tconst shadows = [\n\t\t...( defaultPresetsEnabled ? defaultShadows : [] ),\n\t\t...themeShadows,\n\t];\n\n\treturn (\n\t\t<div className=\"block-editor-global-styles__shadow-popover-container\">\n\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t<Heading level={ 5 }>{ __( 'Drop shadow' ) }</Heading>\n\t\t\t\t<ShadowPresets\n\t\t\t\t\tpresets={ shadows }\n\t\t\t\t\tactiveShadow={ shadow }\n\t\t\t\t\tonSelect={ onShadowChange }\n\t\t\t\t/>\n\t\t\t</VStack>\n\t\t</div>\n\t);\n}\n\nexport function ShadowPresets( { presets, activeShadow, onSelect } ) {\n\treturn ! presets ? null : (\n\t\t<Grid columns={ 6 } gap={ 0 } align=\"center\" justify=\"center\">\n\t\t\t{ presets.map( ( { name, slug, shadow } ) => (\n\t\t\t\t<ShadowIndicator\n\t\t\t\t\tkey={ slug }\n\t\t\t\t\tlabel={ name }\n\t\t\t\t\tisActive={ shadow === activeShadow }\n\t\t\t\t\tonSelect={ () =>\n\t\t\t\t\t\tonSelect( shadow === activeShadow ? undefined : shadow )\n\t\t\t\t\t}\n\t\t\t\t\tshadow={ shadow }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</Grid>\n\t);\n}\n\nexport function ShadowIndicator( { label, isActive, onSelect, shadow } ) {\n\treturn (\n\t\t<div className=\"block-editor-global-styles__shadow-indicator-wrapper\">\n\t\t\t<Button\n\t\t\t\tclassName=\"block-editor-global-styles__shadow-indicator\"\n\t\t\t\tonClick={ onSelect }\n\t\t\t\tlabel={ label }\n\t\t\t\tstyle={ { boxShadow: shadow } }\n\t\t\t\tshowTooltip\n\t\t\t>\n\t\t\t\t{ isActive && <Icon icon={ check } /> }\n\t\t\t</Button>\n\t\t</div>\n\t);\n}\n\nexport function ShadowPopover( { shadow, onShadowChange, settings } ) {\n\tconst popoverProps = {\n\t\tplacement: 'left-start',\n\t\toffset: 36,\n\t\tshift: true,\n\t};\n\n\treturn (\n\t\t<Dropdown\n\t\t\tpopoverProps={ popoverProps }\n\t\t\tclassName=\"block-editor-global-styles__shadow-dropdown\"\n\t\t\trenderToggle={ renderShadowToggle() }\n\t\t\trenderContent={ () => (\n\t\t\t\t<DropdownContentWrapper paddingSize=\"medium\">\n\t\t\t\t\t<ShadowPopoverContainer\n\t\t\t\t\t\tshadow={ shadow }\n\t\t\t\t\t\tonShadowChange={ onShadowChange }\n\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t/>\n\t\t\t\t</DropdownContentWrapper>\n\t\t\t) }\n\t\t/>\n\t);\n}\n\nfunction renderShadowToggle() {\n\treturn ( { onToggle, isOpen } ) => {\n\t\tconst toggleProps = {\n\t\t\tonClick: onToggle,\n\t\t\tclassName: classNames( { 'is-open': isOpen } ),\n\t\t\t'aria-expanded': isOpen,\n\t\t};\n\n\t\treturn (\n\t\t\t<Button { ...toggleProps }>\n\t\t\t\t<HStack justify=\"flex-start\">\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tclassName=\"block-editor-global-styles__toggle-icon\"\n\t\t\t\t\t\ticon={ shadowIcon }\n\t\t\t\t\t\tsize={ 24 }\n\t\t\t\t\t/>\n\t\t\t\t\t<FlexItem>{ __( 'Drop shadow' ) }</FlexItem>\n\t\t\t\t</HStack>\n\t\t\t</Button>\n\t\t);\n\t};\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SACCC,oBAAoB,IAAIC,MAAM,EAC9BC,qBAAqB,IAAIC,OAAO,EAChCC,kBAAkB,IAAIC,IAAI,EAC1BC,oBAAoB,IAAIC,MAAM,EAC9BC,oCAAoC,IAAIC,sBAAsB,EAC9DC,MAAM,EACNC,QAAQ,EACRC,QAAQ,QACF,uBAAuB;AAC9B,SAASC,MAAM,IAAIC,UAAU,EAAEC,IAAI,EAAEC,KAAK,QAAQ,kBAAkB;AACpE;AACA;AACA;AACA,OAAOC,UAAU,MAAM,YAAY;AAEnC,OAAO,SAASC,sBAAsBA,CAAE;EAAEL,MAAM;EAAEM,cAAc;EAAEC;AAAS,CAAC,EAAG;EAC9E,MAAMC,cAAc,GAAGD,QAAQ,EAAEP,MAAM,EAAES,OAAO,EAAEC,OAAO,IAAI,EAAE;EAC/D,MAAMC,YAAY,GAAGJ,QAAQ,EAAEP,MAAM,EAAES,OAAO,EAAEG,KAAK,IAAI,EAAE;EAC3D,MAAMC,qBAAqB,GAAGN,QAAQ,EAAEP,MAAM,EAAEc,cAAc;EAE9D,MAAMC,OAAO,GAAG,CACf,IAAKF,qBAAqB,GAAGL,cAAc,GAAG,EAAE,CAAE,EAClD,GAAGG,YAAY,CACf;EAED,OACCK,aAAA;IAAKC,SAAS,EAAC;EAAsD,GACpED,aAAA,CAAC5B,MAAM;IAAC8B,OAAO,EAAG;EAAG,GACpBF,aAAA,CAAC1B,OAAO;IAAC6B,KAAK,EAAG;EAAG,GAAGjC,EAAE,CAAE,aAAc,CAAY,CAAC,EACtD8B,aAAA,CAACI,aAAa;IACbX,OAAO,EAAGM,OAAS;IACnBM,YAAY,EAAGrB,MAAQ;IACvBsB,QAAQ,EAAGhB;EAAgB,CAC3B,CACM,CACJ,CAAC;AAER;AAEA,OAAO,SAASc,aAAaA,CAAE;EAAEX,OAAO;EAAEY,YAAY;EAAEC;AAAS,CAAC,EAAG;EACpE,OAAO,CAAEb,OAAO,GAAG,IAAI,GACtBO,aAAA,CAACxB,IAAI;IAAC+B,OAAO,EAAG,CAAG;IAACC,GAAG,EAAG,CAAG;IAACC,KAAK,EAAC,QAAQ;IAACC,OAAO,EAAC;EAAQ,GAC1DjB,OAAO,CAACkB,GAAG,CAAE,CAAE;IAAEC,IAAI;IAAEC,IAAI;IAAE7B;EAAO,CAAC,KACtCgB,aAAA,CAACc,eAAe;IACfC,GAAG,EAAGF,IAAM;IACZG,KAAK,EAAGJ,IAAM;IACdK,QAAQ,EAAGjC,MAAM,KAAKqB,YAAc;IACpCC,QAAQ,EAAGA,CAAA,KACVA,QAAQ,CAAEtB,MAAM,KAAKqB,YAAY,GAAGa,SAAS,GAAGlC,MAAO,CACvD;IACDA,MAAM,EAAGA;EAAQ,CACjB,CACA,CACG,CACN;AACF;AAEA,OAAO,SAAS8B,eAAeA,CAAE;EAAEE,KAAK;EAAEC,QAAQ;EAAEX,QAAQ;EAAEtB;AAAO,CAAC,EAAG;EACxE,OACCgB,aAAA;IAAKC,SAAS,EAAC;EAAsD,GACpED,aAAA,CAACnB,MAAM;IACNoB,SAAS,EAAC,8CAA8C;IACxDkB,OAAO,EAAGb,QAAU;IACpBU,KAAK,EAAGA,KAAO;IACfI,KAAK,EAAG;MAAEC,SAAS,EAAErC;IAAO,CAAG;IAC/BsC,WAAW;EAAA,GAETL,QAAQ,IAAIjB,aAAA,CAACd,IAAI;IAACqC,IAAI,EAAGpC;EAAO,CAAE,CAC7B,CACJ,CAAC;AAER;AAEA,OAAO,SAASqC,aAAaA,CAAE;EAAExC,MAAM;EAAEM,cAAc;EAAEC;AAAS,CAAC,EAAG;EACrE,MAAMkC,YAAY,GAAG;IACpBC,SAAS,EAAE,YAAY;IACvBC,MAAM,EAAE,EAAE;IACVC,KAAK,EAAE;EACR,CAAC;EAED,OACC5B,aAAA,CAACjB,QAAQ;IACR0C,YAAY,EAAGA,YAAc;IAC7BxB,SAAS,EAAC,6CAA6C;IACvD4B,YAAY,EAAGC,kBAAkB,CAAC,CAAG;IACrCC,aAAa,EAAGA,CAAA,KACf/B,aAAA,CAACpB,sBAAsB;MAACoD,WAAW,EAAC;IAAQ,GAC3ChC,aAAA,CAACX,sBAAsB;MACtBL,MAAM,EAAGA,MAAQ;MACjBM,cAAc,EAAGA,cAAgB;MACjCC,QAAQ,EAAGA;IAAU,CACrB,CACsB;EACtB,CACH,CAAC;AAEJ;AAEA,SAASuC,kBAAkBA,CAAA,EAAG;EAC7B,OAAO,CAAE;IAAEG,QAAQ;IAAEC;EAAO,CAAC,KAAM;IAClC,MAAMC,WAAW,GAAG;MACnBhB,OAAO,EAAEc,QAAQ;MACjBhC,SAAS,EAAEb,UAAU,CAAE;QAAE,SAAS,EAAE8C;MAAO,CAAE,CAAC;MAC9C,eAAe,EAAEA;IAClB,CAAC;IAED,OACClC,aAAA,CAACnB,MAAM;MAAA,GAAMsD;IAAW,GACvBnC,aAAA,CAACtB,MAAM;MAACgC,OAAO,EAAC;IAAY,GAC3BV,aAAA,CAACd,IAAI;MACJe,SAAS,EAAC,yCAAyC;MACnDsB,IAAI,EAAGtC,UAAY;MACnBmD,IAAI,EAAG;IAAI,CACX,CAAC,EACFpC,aAAA,CAAClB,QAAQ,QAAGZ,EAAE,CAAE,aAAc,CAAa,CACpC,CACD,CAAC;EAEX,CAAC;AACF"}
|
|
@@ -145,7 +145,7 @@ export function MediaPreview({
|
|
|
145
145
|
setIsInserting(false);
|
|
146
146
|
});
|
|
147
147
|
}, [isInserting, onClick, mediaUpload, createErrorNotice, createSuccessNotice]);
|
|
148
|
-
const title = media.title?.rendered ||
|
|
148
|
+
const title = typeof media.title === 'string' ? media.title : media.title?.rendered || __('no title');
|
|
149
149
|
let truncatedTitle;
|
|
150
150
|
if (title.length > MAXIMUM_TITLE_LENGTH) {
|
|
151
151
|
const omission = '...';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","Tooltip","DropdownMenu","MenuGroup","MenuItem","Spinner","Modal","Flex","FlexItem","Button","privateApis","componentsPrivateApis","__experimentalVStack","VStack","__","sprintf","useMemo","useCallback","useState","cloneBlock","moreVertical","external","useSelect","useDispatch","store","noticesStore","isBlobURL","InserterDraggableBlocks","getBlockAndPreviewFromMedia","blockEditorStore","unlock","ALLOWED_MEDIA_TYPES","MAXIMUM_TITLE_LENGTH","MEDIA_OPTIONS_POPOVER_PROPS","position","className","CompositeItemV2","CompositeItem","MediaPreviewOptions","category","media","getReportUrl","reportUrl","createElement","label","popoverProps","icon","onClick","window","open","focus","mediaType","InsertExternalImageModal","onClose","onSubmit","title","onRequestClose","spacing","justify","expanded","variant","MediaPreview","showExternalUploadModal","setShowExternalUploadModal","isHovered","setIsHovered","isInserting","setIsInserting","block","preview","createErrorNotice","createSuccessNotice","mediaUpload","select","getSettings","onMediaInsert","previewBlock","clonedBlock","id","url","caption","attributes","fetch","then","response","blob","filesList","additionalData","onFileChange","img","type","allowedTypes","onError","message","catch","rendered","truncatedTitle","length","omission","slice","onMouseEnter","onMouseLeave","Fragment","isEnabled","blocks","draggable","onDragStart","onDragEnd","text","render","role"],"sources":["@wordpress/block-editor/src/components/inserter/media-tab/media-preview.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tTooltip,\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItem,\n\tSpinner,\n\tModal,\n\tFlex,\n\tFlexItem,\n\tButton,\n\tprivateApis as componentsPrivateApis,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useMemo, useCallback, useState } from '@wordpress/element';\nimport { cloneBlock } from '@wordpress/blocks';\nimport { moreVertical, external } from '@wordpress/icons';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { isBlobURL } from '@wordpress/blob';\n\n/**\n * Internal dependencies\n */\nimport InserterDraggableBlocks from '../../inserter-draggable-blocks';\nimport { getBlockAndPreviewFromMedia } from './utils';\nimport { store as blockEditorStore } from '../../../store';\nimport { unlock } from '../../../lock-unlock';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\nconst MAXIMUM_TITLE_LENGTH = 25;\nconst MEDIA_OPTIONS_POPOVER_PROPS = {\n\tposition: 'bottom left',\n\tclassName:\n\t\t'block-editor-inserter__media-list__item-preview-options__popover',\n};\n\nconst { CompositeItemV2: CompositeItem } = unlock( componentsPrivateApis );\n\nfunction MediaPreviewOptions( { category, media } ) {\n\tif ( ! category.getReportUrl ) {\n\t\treturn null;\n\t}\n\tconst reportUrl = category.getReportUrl( media );\n\treturn (\n\t\t<DropdownMenu\n\t\t\tclassName=\"block-editor-inserter__media-list__item-preview-options\"\n\t\t\tlabel={ __( 'Options' ) }\n\t\t\tpopoverProps={ MEDIA_OPTIONS_POPOVER_PROPS }\n\t\t\ticon={ moreVertical }\n\t\t>\n\t\t\t{ () => (\n\t\t\t\t<MenuGroup>\n\t\t\t\t\t<MenuItem\n\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\twindow.open( reportUrl, '_blank' ).focus()\n\t\t\t\t\t\t}\n\t\t\t\t\t\ticon={ external }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t/* translators: %s: The media type to report e.g: \"image\", \"video\", \"audio\" */\n\t\t\t\t\t\t\t__( 'Report %s' ),\n\t\t\t\t\t\t\tcategory.mediaType\n\t\t\t\t\t\t) }\n\t\t\t\t\t</MenuItem>\n\t\t\t\t</MenuGroup>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n}\n\nfunction InsertExternalImageModal( { onClose, onSubmit } ) {\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ __( 'Insert external image' ) }\n\t\t\tonRequestClose={ onClose }\n\t\t\tclassName=\"block-editor-inserter-media-tab-media-preview-inserter-external-image-modal\"\n\t\t>\n\t\t\t<VStack spacing={ 3 }>\n\t\t\t\t<p>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'This image cannot be uploaded to your Media Library, but it can still be inserted as an external image.'\n\t\t\t\t\t) }\n\t\t\t\t</p>\n\t\t\t\t<p>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'External images can be removed by the external provider without warning and could even have legal compliance issues related to privacy legislation.'\n\t\t\t\t\t) }\n\t\t\t\t</p>\n\t\t\t</VStack>\n\t\t\t<Flex\n\t\t\t\tclassName=\"block-editor-block-lock-modal__actions\"\n\t\t\t\tjustify=\"flex-end\"\n\t\t\t\texpanded={ false }\n\t\t\t>\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<Button variant=\"tertiary\" onClick={ onClose }>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</FlexItem>\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<Button variant=\"primary\" onClick={ onSubmit }>\n\t\t\t\t\t\t{ __( 'Insert' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</FlexItem>\n\t\t\t</Flex>\n\t\t</Modal>\n\t);\n}\n\nexport function MediaPreview( { media, onClick, category } ) {\n\tconst [ showExternalUploadModal, setShowExternalUploadModal ] =\n\t\tuseState( false );\n\tconst [ isHovered, setIsHovered ] = useState( false );\n\tconst [ isInserting, setIsInserting ] = useState( false );\n\tconst [ block, preview ] = useMemo(\n\t\t() => getBlockAndPreviewFromMedia( media, category.mediaType ),\n\t\t[ media, category.mediaType ]\n\t);\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst mediaUpload = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings().mediaUpload,\n\t\t[]\n\t);\n\tconst onMediaInsert = useCallback(\n\t\t( previewBlock ) => {\n\t\t\t// Prevent multiple uploads when we're in the process of inserting.\n\t\t\tif ( isInserting ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst clonedBlock = cloneBlock( previewBlock );\n\t\t\tconst { id, url, caption } = clonedBlock.attributes;\n\t\t\t// Media item already exists in library, so just insert it.\n\t\t\tif ( !! id ) {\n\t\t\t\tonClick( clonedBlock );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetIsInserting( true );\n\t\t\t// Media item does not exist in library, so try to upload it.\n\t\t\t// Fist fetch the image data. This may fail if the image host\n\t\t\t// doesn't allow CORS with the domain.\n\t\t\t// If this happens, we insert the image block using the external\n\t\t\t// URL and let the user know about the possible implications.\n\t\t\twindow\n\t\t\t\t.fetch( url )\n\t\t\t\t.then( ( response ) => response.blob() )\n\t\t\t\t.then( ( blob ) => {\n\t\t\t\t\tmediaUpload( {\n\t\t\t\t\t\tfilesList: [ blob ],\n\t\t\t\t\t\tadditionalData: { caption },\n\t\t\t\t\t\tonFileChange( [ img ] ) {\n\t\t\t\t\t\t\tif ( isBlobURL( img.url ) ) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick( {\n\t\t\t\t\t\t\t\t...clonedBlock,\n\t\t\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t\t\t...clonedBlock.attributes,\n\t\t\t\t\t\t\t\t\tid: img.id,\n\t\t\t\t\t\t\t\t\turl: img.url,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\t\t\t__( 'Image uploaded and inserted.' ),\n\t\t\t\t\t\t\t\t{ type: 'snackbar' }\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tsetIsInserting( false );\n\t\t\t\t\t\t},\n\t\t\t\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\t\t\t\tonError( message ) {\n\t\t\t\t\t\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t\t\t\t\t\t\tsetIsInserting( false );\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\t\t\t\t} )\n\t\t\t\t.catch( () => {\n\t\t\t\t\tsetShowExternalUploadModal( true );\n\t\t\t\t\tsetIsInserting( false );\n\t\t\t\t} );\n\t\t},\n\t\t[\n\t\t\tisInserting,\n\t\t\tonClick,\n\t\t\tmediaUpload,\n\t\t\tcreateErrorNotice,\n\t\t\tcreateSuccessNotice,\n\t\t]\n\t);\n\tconst title = media.title?.rendered || media.title;\n\tlet truncatedTitle;\n\tif ( title.length > MAXIMUM_TITLE_LENGTH ) {\n\t\tconst omission = '...';\n\t\ttruncatedTitle =\n\t\t\ttitle.slice( 0, MAXIMUM_TITLE_LENGTH - omission.length ) + omission;\n\t}\n\tconst onMouseEnter = useCallback( () => setIsHovered( true ), [] );\n\tconst onMouseLeave = useCallback( () => setIsHovered( false ), [] );\n\treturn (\n\t\t<>\n\t\t\t<InserterDraggableBlocks isEnabled={ true } blocks={ [ block ] }>\n\t\t\t\t{ ( { draggable, onDragStart, onDragEnd } ) => (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'block-editor-inserter__media-list__list-item',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'is-hovered': isHovered,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tdraggable={ draggable }\n\t\t\t\t\t\tonDragStart={ onDragStart }\n\t\t\t\t\t\tonDragEnd={ onDragEnd }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ /* Adding `is-hovered` class to the wrapper element is needed\n\t\t\t\t\t\tbecause the options Popover is rendered outside of this node. */ }\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tonMouseEnter={ onMouseEnter }\n\t\t\t\t\t\t\tonMouseLeave={ onMouseLeave }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Tooltip text={ truncatedTitle || title }>\n\t\t\t\t\t\t\t\t<CompositeItem\n\t\t\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\taria-label={ title }\n\t\t\t\t\t\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"block-editor-inserter__media-list__item\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonClick={ () => onMediaInsert( block ) }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div className=\"block-editor-inserter__media-list__item-preview\">\n\t\t\t\t\t\t\t\t\t\t{ preview }\n\t\t\t\t\t\t\t\t\t\t{ isInserting && (\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"block-editor-inserter__media-list__item-preview-spinner\">\n\t\t\t\t\t\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</CompositeItem>\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t{ ! isInserting && (\n\t\t\t\t\t\t\t\t<MediaPreviewOptions\n\t\t\t\t\t\t\t\t\tcategory={ category }\n\t\t\t\t\t\t\t\t\tmedia={ media }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t</InserterDraggableBlocks>\n\t\t\t{ showExternalUploadModal && (\n\t\t\t\t<InsertExternalImageModal\n\t\t\t\t\tonClose={ () => setShowExternalUploadModal( false ) }\n\t\t\t\t\tonSubmit={ () => {\n\t\t\t\t\t\tonClick( cloneBlock( block ) );\n\t\t\t\t\t\tcreateSuccessNotice( __( 'Image inserted.' ), {\n\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tsetShowExternalUploadModal( false );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["classnames","Tooltip","DropdownMenu","MenuGroup","MenuItem","Spinner","Modal","Flex","FlexItem","Button","privateApis","componentsPrivateApis","__experimentalVStack","VStack","__","sprintf","useMemo","useCallback","useState","cloneBlock","moreVertical","external","useSelect","useDispatch","store","noticesStore","isBlobURL","InserterDraggableBlocks","getBlockAndPreviewFromMedia","blockEditorStore","unlock","ALLOWED_MEDIA_TYPES","MAXIMUM_TITLE_LENGTH","MEDIA_OPTIONS_POPOVER_PROPS","position","className","CompositeItemV2","CompositeItem","MediaPreviewOptions","category","media","getReportUrl","reportUrl","createElement","label","popoverProps","icon","onClick","window","open","focus","mediaType","InsertExternalImageModal","onClose","onSubmit","title","onRequestClose","spacing","justify","expanded","variant","MediaPreview","showExternalUploadModal","setShowExternalUploadModal","isHovered","setIsHovered","isInserting","setIsInserting","block","preview","createErrorNotice","createSuccessNotice","mediaUpload","select","getSettings","onMediaInsert","previewBlock","clonedBlock","id","url","caption","attributes","fetch","then","response","blob","filesList","additionalData","onFileChange","img","type","allowedTypes","onError","message","catch","rendered","truncatedTitle","length","omission","slice","onMouseEnter","onMouseLeave","Fragment","isEnabled","blocks","draggable","onDragStart","onDragEnd","text","render","role"],"sources":["@wordpress/block-editor/src/components/inserter/media-tab/media-preview.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tTooltip,\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItem,\n\tSpinner,\n\tModal,\n\tFlex,\n\tFlexItem,\n\tButton,\n\tprivateApis as componentsPrivateApis,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useMemo, useCallback, useState } from '@wordpress/element';\nimport { cloneBlock } from '@wordpress/blocks';\nimport { moreVertical, external } from '@wordpress/icons';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { isBlobURL } from '@wordpress/blob';\n\n/**\n * Internal dependencies\n */\nimport InserterDraggableBlocks from '../../inserter-draggable-blocks';\nimport { getBlockAndPreviewFromMedia } from './utils';\nimport { store as blockEditorStore } from '../../../store';\nimport { unlock } from '../../../lock-unlock';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\nconst MAXIMUM_TITLE_LENGTH = 25;\nconst MEDIA_OPTIONS_POPOVER_PROPS = {\n\tposition: 'bottom left',\n\tclassName:\n\t\t'block-editor-inserter__media-list__item-preview-options__popover',\n};\n\nconst { CompositeItemV2: CompositeItem } = unlock( componentsPrivateApis );\n\nfunction MediaPreviewOptions( { category, media } ) {\n\tif ( ! category.getReportUrl ) {\n\t\treturn null;\n\t}\n\tconst reportUrl = category.getReportUrl( media );\n\treturn (\n\t\t<DropdownMenu\n\t\t\tclassName=\"block-editor-inserter__media-list__item-preview-options\"\n\t\t\tlabel={ __( 'Options' ) }\n\t\t\tpopoverProps={ MEDIA_OPTIONS_POPOVER_PROPS }\n\t\t\ticon={ moreVertical }\n\t\t>\n\t\t\t{ () => (\n\t\t\t\t<MenuGroup>\n\t\t\t\t\t<MenuItem\n\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\twindow.open( reportUrl, '_blank' ).focus()\n\t\t\t\t\t\t}\n\t\t\t\t\t\ticon={ external }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t/* translators: %s: The media type to report e.g: \"image\", \"video\", \"audio\" */\n\t\t\t\t\t\t\t__( 'Report %s' ),\n\t\t\t\t\t\t\tcategory.mediaType\n\t\t\t\t\t\t) }\n\t\t\t\t\t</MenuItem>\n\t\t\t\t</MenuGroup>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n}\n\nfunction InsertExternalImageModal( { onClose, onSubmit } ) {\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ __( 'Insert external image' ) }\n\t\t\tonRequestClose={ onClose }\n\t\t\tclassName=\"block-editor-inserter-media-tab-media-preview-inserter-external-image-modal\"\n\t\t>\n\t\t\t<VStack spacing={ 3 }>\n\t\t\t\t<p>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'This image cannot be uploaded to your Media Library, but it can still be inserted as an external image.'\n\t\t\t\t\t) }\n\t\t\t\t</p>\n\t\t\t\t<p>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'External images can be removed by the external provider without warning and could even have legal compliance issues related to privacy legislation.'\n\t\t\t\t\t) }\n\t\t\t\t</p>\n\t\t\t</VStack>\n\t\t\t<Flex\n\t\t\t\tclassName=\"block-editor-block-lock-modal__actions\"\n\t\t\t\tjustify=\"flex-end\"\n\t\t\t\texpanded={ false }\n\t\t\t>\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<Button variant=\"tertiary\" onClick={ onClose }>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</FlexItem>\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<Button variant=\"primary\" onClick={ onSubmit }>\n\t\t\t\t\t\t{ __( 'Insert' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</FlexItem>\n\t\t\t</Flex>\n\t\t</Modal>\n\t);\n}\n\nexport function MediaPreview( { media, onClick, category } ) {\n\tconst [ showExternalUploadModal, setShowExternalUploadModal ] =\n\t\tuseState( false );\n\tconst [ isHovered, setIsHovered ] = useState( false );\n\tconst [ isInserting, setIsInserting ] = useState( false );\n\tconst [ block, preview ] = useMemo(\n\t\t() => getBlockAndPreviewFromMedia( media, category.mediaType ),\n\t\t[ media, category.mediaType ]\n\t);\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst mediaUpload = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings().mediaUpload,\n\t\t[]\n\t);\n\tconst onMediaInsert = useCallback(\n\t\t( previewBlock ) => {\n\t\t\t// Prevent multiple uploads when we're in the process of inserting.\n\t\t\tif ( isInserting ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst clonedBlock = cloneBlock( previewBlock );\n\t\t\tconst { id, url, caption } = clonedBlock.attributes;\n\t\t\t// Media item already exists in library, so just insert it.\n\t\t\tif ( !! id ) {\n\t\t\t\tonClick( clonedBlock );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetIsInserting( true );\n\t\t\t// Media item does not exist in library, so try to upload it.\n\t\t\t// Fist fetch the image data. This may fail if the image host\n\t\t\t// doesn't allow CORS with the domain.\n\t\t\t// If this happens, we insert the image block using the external\n\t\t\t// URL and let the user know about the possible implications.\n\t\t\twindow\n\t\t\t\t.fetch( url )\n\t\t\t\t.then( ( response ) => response.blob() )\n\t\t\t\t.then( ( blob ) => {\n\t\t\t\t\tmediaUpload( {\n\t\t\t\t\t\tfilesList: [ blob ],\n\t\t\t\t\t\tadditionalData: { caption },\n\t\t\t\t\t\tonFileChange( [ img ] ) {\n\t\t\t\t\t\t\tif ( isBlobURL( img.url ) ) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick( {\n\t\t\t\t\t\t\t\t...clonedBlock,\n\t\t\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t\t\t...clonedBlock.attributes,\n\t\t\t\t\t\t\t\t\tid: img.id,\n\t\t\t\t\t\t\t\t\turl: img.url,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\t\t\t__( 'Image uploaded and inserted.' ),\n\t\t\t\t\t\t\t\t{ type: 'snackbar' }\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tsetIsInserting( false );\n\t\t\t\t\t\t},\n\t\t\t\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\t\t\t\tonError( message ) {\n\t\t\t\t\t\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t\t\t\t\t\t\tsetIsInserting( false );\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\t\t\t\t} )\n\t\t\t\t.catch( () => {\n\t\t\t\t\tsetShowExternalUploadModal( true );\n\t\t\t\t\tsetIsInserting( false );\n\t\t\t\t} );\n\t\t},\n\t\t[\n\t\t\tisInserting,\n\t\t\tonClick,\n\t\t\tmediaUpload,\n\t\t\tcreateErrorNotice,\n\t\t\tcreateSuccessNotice,\n\t\t]\n\t);\n\n\tconst title =\n\t\ttypeof media.title === 'string'\n\t\t\t? media.title\n\t\t\t: media.title?.rendered || __( 'no title' );\n\n\tlet truncatedTitle;\n\tif ( title.length > MAXIMUM_TITLE_LENGTH ) {\n\t\tconst omission = '...';\n\t\ttruncatedTitle =\n\t\t\ttitle.slice( 0, MAXIMUM_TITLE_LENGTH - omission.length ) + omission;\n\t}\n\tconst onMouseEnter = useCallback( () => setIsHovered( true ), [] );\n\tconst onMouseLeave = useCallback( () => setIsHovered( false ), [] );\n\treturn (\n\t\t<>\n\t\t\t<InserterDraggableBlocks isEnabled={ true } blocks={ [ block ] }>\n\t\t\t\t{ ( { draggable, onDragStart, onDragEnd } ) => (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'block-editor-inserter__media-list__list-item',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'is-hovered': isHovered,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tdraggable={ draggable }\n\t\t\t\t\t\tonDragStart={ onDragStart }\n\t\t\t\t\t\tonDragEnd={ onDragEnd }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ /* Adding `is-hovered` class to the wrapper element is needed\n\t\t\t\t\t\tbecause the options Popover is rendered outside of this node. */ }\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tonMouseEnter={ onMouseEnter }\n\t\t\t\t\t\t\tonMouseLeave={ onMouseLeave }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Tooltip text={ truncatedTitle || title }>\n\t\t\t\t\t\t\t\t<CompositeItem\n\t\t\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\taria-label={ title }\n\t\t\t\t\t\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"block-editor-inserter__media-list__item\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonClick={ () => onMediaInsert( block ) }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div className=\"block-editor-inserter__media-list__item-preview\">\n\t\t\t\t\t\t\t\t\t\t{ preview }\n\t\t\t\t\t\t\t\t\t\t{ isInserting && (\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"block-editor-inserter__media-list__item-preview-spinner\">\n\t\t\t\t\t\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</CompositeItem>\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t{ ! isInserting && (\n\t\t\t\t\t\t\t\t<MediaPreviewOptions\n\t\t\t\t\t\t\t\t\tcategory={ category }\n\t\t\t\t\t\t\t\t\tmedia={ media }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t</InserterDraggableBlocks>\n\t\t\t{ showExternalUploadModal && (\n\t\t\t\t<InsertExternalImageModal\n\t\t\t\t\tonClose={ () => setShowExternalUploadModal( false ) }\n\t\t\t\t\tonSubmit={ () => {\n\t\t\t\t\t\tonClick( cloneBlock( block ) );\n\t\t\t\t\t\tcreateSuccessNotice( __( 'Image inserted.' ), {\n\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tsetShowExternalUploadModal( false );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\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'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["PanelBody","__","BlockStyles","InspectorControls","getBorderPanelLabel","StylesTab","blockName","clientId","hasBlockStyles","borderPanelLabel","createElement","Fragment","title","Slot","group","label","className"],"sources":["@wordpress/block-editor/src/components/inspector-controls-tabs/styles-tab.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { PanelBody } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport BlockStyles from '../block-styles';\nimport InspectorControls from '../inspector-controls';\nimport { getBorderPanelLabel } from '../../hooks/border';\n\nconst StylesTab = ( { blockName, clientId, hasBlockStyles } ) => {\n\tconst borderPanelLabel = getBorderPanelLabel( { blockName } );\n\n\treturn (\n\t\t<>\n\t\t\t{ hasBlockStyles && (\n\t\t\t\t<div>\n\t\t\t\t\t<PanelBody title={ __( 'Styles' ) }>\n\t\t\t\t\t\t<BlockStyles clientId={ clientId } />\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<InspectorControls.Slot\n\t\t\t\tgroup=\"color\"\n\t\t\t\tlabel={ __( 'Color' ) }\n\t\t\t\tclassName=\"color-block-support-panel__inner-wrapper\"\n\t\t\t/>\n\t\t\t<InspectorControls.Slot\n\t\t\t\tgroup=\"background\"\n\t\t\t\tlabel={ __( 'Background' ) }\n\t\t\t/>\n\t\t\t<InspectorControls.Slot group=\"filter\" />\n\t\t\t<InspectorControls.Slot\n\t\t\t\tgroup=\"typography\"\n\t\t\t\tlabel={ __( 'Typography' ) }\n\t\t\t/>\n\t\t\t<InspectorControls.Slot\n\t\t\t\tgroup=\"dimensions\"\n\t\t\t\tlabel={ __( 'Dimensions' ) }\n\t\t\t/>\n\t\t\t<InspectorControls.Slot group=\"border\" label={ borderPanelLabel } />\n\t\t\t<InspectorControls.Slot group=\"styles\" />\n\t\t</>\n\t);\n};\n\nexport default StylesTab;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,uBAAuB;AACjD,SAASC,EAAE,QAAQ,iBAAiB;;AAEpC;AACA;AACA;AACA,OAAOC,WAAW,MAAM,iBAAiB;AACzC,OAAOC,iBAAiB,MAAM,uBAAuB;AACrD,SAASC,mBAAmB,QAAQ,oBAAoB;AAExD,MAAMC,SAAS,GAAGA,CAAE;EAAEC,SAAS;EAAEC,QAAQ;EAAEC;AAAe,CAAC,KAAM;EAChE,MAAMC,gBAAgB,GAAGL,mBAAmB,CAAE;IAAEE;EAAU,CAAE,CAAC;EAE7D,OACCI,aAAA,CAAAC,QAAA,QACGH,cAAc,IACfE,aAAA,cACCA,aAAA,CAACV,SAAS;IAACY,KAAK,EAAGX,EAAE,CAAE,QAAS;EAAG,GAClCS,aAAA,CAACR,WAAW;IAACK,QAAQ,EAAGA;EAAU,CAAE,CAC1B,CACP,CACL,EACDG,aAAA,CAACP,iBAAiB,CAACU,IAAI;IACtBC,KAAK,EAAC,OAAO;IACbC,KAAK,EAAGd,EAAE,CAAE,OAAQ,CAAG;IACvBe,SAAS,EAAC;EAA0C,CACpD,CAAC,EACFN,aAAA,CAACP,iBAAiB,CAACU,IAAI;IACtBC,KAAK,EAAC,YAAY;IAClBC,KAAK,EAAGd,EAAE,CAAE,YAAa;EAAG,CAC5B,CAAC,EACFS,aAAA,CAACP,iBAAiB,CAACU,IAAI;IAACC,KAAK,EAAC;EAAQ,CAAE,CAAC,EACzCJ,aAAA,CAACP,iBAAiB,CAACU,IAAI;IACtBC,KAAK,EAAC,YAAY;IAClBC,KAAK,EAAGd,EAAE,CAAE,YAAa;EAAG,CAC5B,CAAC,EACFS,aAAA,CAACP,iBAAiB,CAACU,IAAI;IACtBC,KAAK,EAAC,YAAY;IAClBC,KAAK,EAAGd,EAAE,CAAE,YAAa;EAAG,CAC5B,CAAC,EACFS,aAAA,CAACP,iBAAiB,CAACU,IAAI;IAACC,KAAK,EAAC,QAAQ;IAACC,KAAK,EAAGN;EAAkB,CAAE,CAAC,EACpEC,aAAA,CAACP,iBAAiB,CAACU,IAAI;IAACC,KAAK,EAAC;EAAQ,CAAE,CACvC,CAAC;AAEL,CAAC;AAED,eAAeT,SAAS"}
|
|
@@ -90,16 +90,13 @@ export function useMouseMoveTypingReset() {
|
|
|
90
90
|
*/
|
|
91
91
|
export function useTypingObserver() {
|
|
92
92
|
const {
|
|
93
|
-
isTyping
|
|
94
|
-
hasInlineToolbar
|
|
93
|
+
isTyping
|
|
95
94
|
} = useSelect(select => {
|
|
96
95
|
const {
|
|
97
|
-
isTyping: _isTyping
|
|
98
|
-
getSettings
|
|
96
|
+
isTyping: _isTyping
|
|
99
97
|
} = select(blockEditorStore);
|
|
100
98
|
return {
|
|
101
|
-
isTyping: _isTyping()
|
|
102
|
-
hasInlineToolbar: getSettings().hasInlineToolbar
|
|
99
|
+
isTyping: _isTyping()
|
|
103
100
|
};
|
|
104
101
|
}, []);
|
|
105
102
|
const {
|
|
@@ -169,9 +166,7 @@ export function useTypingObserver() {
|
|
|
169
166
|
}
|
|
170
167
|
node.addEventListener('focus', stopTypingOnNonTextField);
|
|
171
168
|
node.addEventListener('keydown', stopTypingOnEscapeKey);
|
|
172
|
-
|
|
173
|
-
ownerDocument.addEventListener('selectionchange', stopTypingOnSelectionUncollapse);
|
|
174
|
-
}
|
|
169
|
+
ownerDocument.addEventListener('selectionchange', stopTypingOnSelectionUncollapse);
|
|
175
170
|
return () => {
|
|
176
171
|
defaultView.clearTimeout(timerId);
|
|
177
172
|
node.removeEventListener('focus', stopTypingOnNonTextField);
|
|
@@ -214,7 +209,7 @@ export function useTypingObserver() {
|
|
|
214
209
|
node.removeEventListener('keypress', startTypingInTextField);
|
|
215
210
|
node.removeEventListener('keydown', startTypingInTextField);
|
|
216
211
|
};
|
|
217
|
-
}, [isTyping,
|
|
212
|
+
}, [isTyping, startTyping, stopTyping]);
|
|
218
213
|
return useMergeRefs([ref1, ref2]);
|
|
219
214
|
}
|
|
220
215
|
function ObserveTyping({
|