@wordpress/block-editor 14.0.0 → 14.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2 -0
- package/README.md +9 -14
- package/build/autocompleters/block.js +1 -1
- package/build/autocompleters/block.js.map +1 -1
- package/build/components/block-list/use-block-props/index.js +2 -2
- package/build/components/block-list/use-block-props/index.js.map +1 -1
- package/build/components/block-list/use-in-between-inserter.js +11 -4
- package/build/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build/components/block-settings-menu/block-mode-toggle.js +28 -34
- package/build/components/block-settings-menu/block-mode-toggle.js.map +1 -1
- package/build/components/block-tools/insertion-point.js +14 -3
- package/build/components/block-tools/insertion-point.js.map +1 -1
- package/build/components/block-tools/use-show-block-tools.js +2 -1
- package/build/components/block-tools/use-show-block-tools.js.map +1 -1
- package/build/components/block-tools/zoom-out-mode-inserters.js +8 -4
- package/build/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
- package/build/components/border-radius-control/index.js +1 -0
- package/build/components/border-radius-control/index.js.map +1 -1
- package/build/components/convert-to-group-buttons/index.js +1 -1
- package/build/components/convert-to-group-buttons/index.js.map +1 -1
- package/build/components/date-format-picker/index.js +2 -0
- package/build/components/date-format-picker/index.js.map +1 -1
- package/build/components/font-appearance-control/index.js +3 -0
- package/build/components/font-appearance-control/index.js.map +1 -1
- package/build/components/font-family/index.js +3 -0
- package/build/components/font-family/index.js.map +1 -1
- package/build/components/global-styles/background-panel.js +114 -42
- package/build/components/global-styles/background-panel.js.map +1 -1
- package/build/components/global-styles/get-global-styles-changes.js +3 -1
- package/build/components/global-styles/get-global-styles-changes.js.map +1 -1
- package/build/components/global-styles/hooks.js +0 -7
- package/build/components/global-styles/hooks.js.map +1 -1
- package/build/components/global-styles/index.js +0 -6
- package/build/components/global-styles/index.js.map +1 -1
- package/build/components/global-styles/use-global-styles-output.js +3 -3
- package/build/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build/components/global-styles/utils.js +8 -24
- package/build/components/global-styles/utils.js.map +1 -1
- package/build/components/grid/grid-visualizer.js +20 -5
- package/build/components/grid/grid-visualizer.js.map +1 -1
- package/build/components/height-control/index.js +1 -0
- package/build/components/height-control/index.js.map +1 -1
- package/build/components/iframe/index.js +4 -2
- package/build/components/iframe/index.js.map +1 -1
- package/build/components/image-editor/zoom-dropdown.js +11 -7
- package/build/components/image-editor/zoom-dropdown.js.map +1 -1
- package/build/components/inner-blocks/button-block-appender.js +8 -8
- package/build/components/inner-blocks/button-block-appender.js.map +1 -1
- package/build/components/inner-blocks/default-block-appender.js +7 -25
- package/build/components/inner-blocks/default-block-appender.js.map +1 -1
- package/build/components/inner-blocks/index.js +9 -11
- package/build/components/inner-blocks/index.js.map +1 -1
- package/build/components/inserter/library.js +4 -2
- package/build/components/inserter/library.js.map +1 -1
- package/build/components/inserter/menu.js +30 -12
- package/build/components/inserter/menu.js.map +1 -1
- package/build/components/inserter/quick-inserter.js +4 -0
- package/build/components/inserter/quick-inserter.js.map +1 -1
- package/build/components/line-height-control/index.js +3 -0
- package/build/components/line-height-control/index.js.map +1 -1
- package/build/components/media-placeholder/index.js +9 -4
- package/build/components/media-placeholder/index.js.map +1 -1
- package/build/components/media-upload/index.native.js +4 -1
- package/build/components/media-upload/index.native.js.map +1 -1
- package/build/components/multi-selection-inspector/index.js +12 -12
- package/build/components/multi-selection-inspector/index.js.map +1 -1
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js +4 -2
- package/build/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
- package/build/components/text-alignment-control/index.js +13 -8
- package/build/components/text-alignment-control/index.js.map +1 -1
- package/build/components/text-decoration-control/index.js +13 -8
- package/build/components/text-decoration-control/index.js.map +1 -1
- package/build/components/text-transform-control/index.js +13 -8
- package/build/components/text-transform-control/index.js.map +1 -1
- package/build/components/url-popover/image-url-input-ui.js +2 -0
- package/build/components/url-popover/image-url-input-ui.js.map +1 -1
- package/build/components/use-block-drop-zone/index.js +14 -2
- package/build/components/use-block-drop-zone/index.js.map +1 -1
- package/build/components/writing-mode-control/index.js +13 -8
- package/build/components/writing-mode-control/index.js.map +1 -1
- package/build/hooks/background.js +19 -23
- package/build/hooks/background.js.map +1 -1
- package/build/hooks/block-bindings.js +37 -79
- package/build/hooks/block-bindings.js.map +1 -1
- package/build/layouts/constrained.js +1 -0
- package/build/layouts/constrained.js.map +1 -1
- package/build/layouts/flex.js +2 -0
- package/build/layouts/flex.js.map +1 -1
- package/build/layouts/grid.js +3 -0
- 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/private-selectors.js +30 -0
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js +10 -1
- package/build/store/reducer.js.map +1 -1
- package/build/utils/block-bindings.js +112 -0
- package/build/utils/block-bindings.js.map +1 -0
- package/build-module/autocompleters/block.js +1 -1
- package/build-module/autocompleters/block.js.map +1 -1
- package/build-module/components/block-list/use-block-props/index.js +2 -2
- package/build-module/components/block-list/use-block-props/index.js.map +1 -1
- package/build-module/components/block-list/use-in-between-inserter.js +11 -4
- package/build-module/components/block-list/use-in-between-inserter.js.map +1 -1
- package/build-module/components/block-settings-menu/block-mode-toggle.js +29 -34
- package/build-module/components/block-settings-menu/block-mode-toggle.js.map +1 -1
- package/build-module/components/block-tools/insertion-point.js +14 -3
- package/build-module/components/block-tools/insertion-point.js.map +1 -1
- package/build-module/components/block-tools/use-show-block-tools.js +2 -1
- package/build-module/components/block-tools/use-show-block-tools.js.map +1 -1
- package/build-module/components/block-tools/zoom-out-mode-inserters.js +8 -4
- package/build-module/components/block-tools/zoom-out-mode-inserters.js.map +1 -1
- package/build-module/components/border-radius-control/index.js +1 -0
- package/build-module/components/border-radius-control/index.js.map +1 -1
- package/build-module/components/convert-to-group-buttons/index.js +1 -1
- package/build-module/components/convert-to-group-buttons/index.js.map +1 -1
- package/build-module/components/date-format-picker/index.js +2 -0
- package/build-module/components/date-format-picker/index.js.map +1 -1
- package/build-module/components/font-appearance-control/index.js +3 -0
- package/build-module/components/font-appearance-control/index.js.map +1 -1
- package/build-module/components/font-family/index.js +3 -0
- package/build-module/components/font-family/index.js.map +1 -1
- package/build-module/components/global-styles/background-panel.js +117 -45
- package/build-module/components/global-styles/background-panel.js.map +1 -1
- package/build-module/components/global-styles/get-global-styles-changes.js +3 -1
- package/build-module/components/global-styles/get-global-styles-changes.js.map +1 -1
- package/build-module/components/global-styles/hooks.js +0 -6
- package/build-module/components/global-styles/hooks.js.map +1 -1
- package/build-module/components/global-styles/index.js +1 -1
- package/build-module/components/global-styles/index.js.map +1 -1
- package/build-module/components/global-styles/use-global-styles-output.js +5 -5
- package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
- package/build-module/components/global-styles/utils.js +8 -23
- package/build-module/components/global-styles/utils.js.map +1 -1
- package/build-module/components/grid/grid-visualizer.js +20 -5
- package/build-module/components/grid/grid-visualizer.js.map +1 -1
- package/build-module/components/height-control/index.js +1 -0
- package/build-module/components/height-control/index.js.map +1 -1
- package/build-module/components/iframe/index.js +4 -2
- package/build-module/components/iframe/index.js.map +1 -1
- package/build-module/components/image-editor/zoom-dropdown.js +12 -8
- package/build-module/components/image-editor/zoom-dropdown.js.map +1 -1
- package/build-module/components/inner-blocks/button-block-appender.js +7 -6
- package/build-module/components/inner-blocks/button-block-appender.js.map +1 -1
- package/build-module/components/inner-blocks/default-block-appender.js +6 -23
- package/build-module/components/inner-blocks/default-block-appender.js.map +1 -1
- package/build-module/components/inner-blocks/index.js +9 -11
- package/build-module/components/inner-blocks/index.js.map +1 -1
- package/build-module/components/inserter/library.js +4 -2
- package/build-module/components/inserter/library.js.map +1 -1
- package/build-module/components/inserter/menu.js +30 -12
- package/build-module/components/inserter/menu.js.map +1 -1
- package/build-module/components/inserter/quick-inserter.js +5 -1
- package/build-module/components/inserter/quick-inserter.js.map +1 -1
- package/build-module/components/line-height-control/index.js +3 -0
- package/build-module/components/line-height-control/index.js.map +1 -1
- package/build-module/components/media-placeholder/index.js +9 -4
- package/build-module/components/media-placeholder/index.js.map +1 -1
- package/build-module/components/media-upload/index.native.js +4 -1
- package/build-module/components/media-upload/index.native.js.map +1 -1
- package/build-module/components/multi-selection-inspector/index.js +12 -12
- package/build-module/components/multi-selection-inspector/index.js.map +1 -1
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js +4 -2
- package/build-module/components/spacing-sizes-control/input-controls/spacing-input-control.js.map +1 -1
- package/build-module/components/text-alignment-control/index.js +13 -8
- package/build-module/components/text-alignment-control/index.js.map +1 -1
- package/build-module/components/text-decoration-control/index.js +13 -8
- package/build-module/components/text-decoration-control/index.js.map +1 -1
- package/build-module/components/text-transform-control/index.js +13 -8
- package/build-module/components/text-transform-control/index.js.map +1 -1
- package/build-module/components/url-popover/image-url-input-ui.js +2 -0
- package/build-module/components/url-popover/image-url-input-ui.js.map +1 -1
- package/build-module/components/use-block-drop-zone/index.js +14 -2
- package/build-module/components/use-block-drop-zone/index.js.map +1 -1
- package/build-module/components/writing-mode-control/index.js +13 -8
- package/build-module/components/writing-mode-control/index.js.map +1 -1
- package/build-module/hooks/background.js +19 -23
- package/build-module/hooks/background.js.map +1 -1
- package/build-module/hooks/block-bindings.js +38 -80
- package/build-module/hooks/block-bindings.js.map +1 -1
- package/build-module/layouts/constrained.js +1 -0
- package/build-module/layouts/constrained.js.map +1 -1
- package/build-module/layouts/flex.js +2 -0
- package/build-module/layouts/flex.js.map +1 -1
- package/build-module/layouts/grid.js +3 -0
- 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/private-selectors.js +27 -0
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/reducer.js +9 -1
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/utils/block-bindings.js +105 -0
- package/build-module/utils/block-bindings.js.map +1 -0
- package/build-style/content-rtl.css +7 -14
- package/build-style/content.css +7 -14
- package/build-style/default-editor-styles-rtl.css +2 -2
- package/build-style/default-editor-styles.css +2 -2
- package/build-style/style-rtl.css +36 -38
- package/build-style/style.css +36 -38
- package/package.json +32 -32
- package/src/autocompleters/block.js +2 -1
- package/src/components/block-list/content.scss +5 -13
- package/src/components/block-list/use-block-props/index.js +2 -2
- package/src/components/block-list/use-in-between-inserter.js +17 -5
- package/src/components/block-settings-menu/block-mode-toggle.js +28 -31
- package/src/components/block-settings-menu/test/block-mode-toggle.js +26 -23
- package/src/components/block-tools/insertion-point.js +11 -0
- package/src/components/block-tools/style.scss +1 -1
- package/src/components/block-tools/use-show-block-tools.js +4 -1
- package/src/components/block-tools/zoom-out-mode-inserters.js +7 -1
- package/src/components/block-variation-transforms/style.scss +1 -1
- package/src/components/border-radius-control/index.js +1 -0
- package/src/components/border-radius-control/style.scss +0 -10
- package/src/components/convert-to-group-buttons/index.js +1 -1
- package/src/components/date-format-picker/index.js +2 -0
- package/src/components/font-appearance-control/index.js +3 -0
- package/src/components/font-family/README.md +11 -2
- package/src/components/font-family/index.js +3 -0
- package/src/components/global-styles/background-panel.js +132 -53
- package/src/components/global-styles/get-global-styles-changes.js +4 -1
- package/src/components/global-styles/hooks.js +0 -5
- package/src/components/global-styles/index.js +0 -1
- package/src/components/global-styles/style.scss +13 -2
- package/src/components/global-styles/test/use-global-styles-output.js +20 -4
- package/src/components/global-styles/use-global-styles-output.js +5 -6
- package/src/components/global-styles/utils.js +7 -29
- package/src/components/grid/grid-visualizer.js +22 -7
- package/src/components/height-control/index.js +1 -0
- package/src/components/iframe/index.js +4 -2
- package/src/components/image-editor/zoom-dropdown.js +17 -9
- package/src/components/inner-blocks/button-block-appender.js +5 -7
- package/src/components/inner-blocks/default-block-appender.js +4 -23
- package/src/components/inner-blocks/index.js +10 -9
- package/src/components/inserter/library.js +2 -0
- package/src/components/inserter/menu.js +32 -27
- package/src/components/inserter/quick-inserter.js +4 -1
- package/src/components/inserter/style.scss +1 -1
- package/src/components/inserter-list-item/style.scss +1 -0
- package/src/components/line-height-control/README.md +7 -0
- package/src/components/line-height-control/index.js +3 -0
- package/src/components/link-control/style.scss +1 -1
- package/src/components/media-placeholder/index.js +12 -7
- package/src/components/media-upload/README.md +2 -0
- package/src/components/media-upload/index.native.js +2 -0
- package/src/components/multi-selection-inspector/index.js +8 -9
- package/src/components/responsive-block-control/README.md +1 -0
- package/src/components/responsive-block-control/test/index.js +1 -0
- package/src/components/spacing-sizes-control/input-controls/spacing-input-control.js +8 -4
- package/src/components/spacing-sizes-control/style.scss +16 -16
- package/src/components/text-alignment-control/index.js +20 -8
- package/src/components/text-decoration-control/index.js +20 -8
- package/src/components/text-decoration-control/stories/index.story.js +0 -4
- package/src/components/text-transform-control/index.js +20 -8
- package/src/components/text-transform-control/stories/index.story.js +0 -4
- package/src/components/url-input/style.scss +2 -2
- package/src/components/url-popover/image-url-input-ui.js +2 -0
- package/src/components/use-block-drop-zone/index.js +21 -3
- package/src/components/writing-mode-control/index.js +20 -8
- package/src/hooks/background.js +21 -27
- package/src/hooks/block-bindings.js +27 -84
- package/src/hooks/block-bindings.scss +1 -1
- package/src/hooks/test/background.js +60 -0
- package/src/layouts/constrained.js +1 -0
- package/src/layouts/flex.js +2 -0
- package/src/layouts/grid.js +3 -0
- package/src/private-apis.js +2 -0
- package/src/store/private-selectors.js +36 -0
- package/src/store/reducer.js +7 -0
- package/src/store/test/private-selectors.js +89 -0
- package/src/style.scss +0 -1
- package/src/utils/block-bindings.js +98 -0
- package/src/utils/test/transform-styles.js +49 -0
- package/build/components/global-styles/theme-file-uri-utils.js +0 -21
- package/build/components/global-styles/theme-file-uri-utils.js.map +0 -1
- package/build/components/inner-blocks/with-client-id.js +0 -28
- package/build/components/inner-blocks/with-client-id.js.map +0 -1
- package/build/components/segmented-text-control/index.js +0 -63
- package/build/components/segmented-text-control/index.js.map +0 -1
- package/build-module/components/global-styles/theme-file-uri-utils.js +0 -15
- package/build-module/components/global-styles/theme-file-uri-utils.js.map +0 -1
- package/build-module/components/inner-blocks/with-client-id.js +0 -21
- package/build-module/components/inner-blocks/with-client-id.js.map +0 -1
- package/build-module/components/segmented-text-control/index.js +0 -58
- package/build-module/components/segmented-text-control/index.js.map +0 -1
- package/src/components/global-styles/test/theme-file-uri-utils.js +0 -41
- package/src/components/global-styles/theme-file-uri-utils.js +0 -18
- package/src/components/inner-blocks/with-client-id.js +0 -19
- package/src/components/segmented-text-control/index.js +0 -63
- package/src/components/segmented-text-control/style.scss +0 -15
|
@@ -17,6 +17,8 @@ var _jsxRuntime = require("react/jsx-runtime");
|
|
|
17
17
|
*/
|
|
18
18
|
|
|
19
19
|
const LineHeightControl = ({
|
|
20
|
+
/** Start opting into the larger default height that will become the default size in a future version. */
|
|
21
|
+
__next40pxDefaultSize = false,
|
|
20
22
|
value: lineHeight,
|
|
21
23
|
onChange,
|
|
22
24
|
__unstableInputWidth = '60px',
|
|
@@ -89,6 +91,7 @@ const LineHeightControl = ({
|
|
|
89
91
|
className: "block-editor-line-height-control",
|
|
90
92
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalNumberControl, {
|
|
91
93
|
...otherProps,
|
|
94
|
+
__next40pxDefaultSize: __next40pxDefaultSize,
|
|
92
95
|
__unstableInputWidth: __unstableInputWidth,
|
|
93
96
|
__unstableStateReducer: stateReducer,
|
|
94
97
|
onChange: handleOnChange,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_i18n","require","_components","_utils","_jsxRuntime","LineHeightControl","value","lineHeight","onChange","__unstableInputWidth","otherProps","isDefined","isLineHeightDefined","adjustNextValue","nextValue","wasTypedOrPasted","spin","STEP","SPIN_FACTOR","BASE_DEFAULT_VALUE","stateReducer","state","action","includes","payload","event","nativeEvent","inputType","RESET_VALUE","handleOnChange","type","jsx","className","children","__experimentalNumberControl","__unstableStateReducer","label","__","placeholder","step","spinFactor","min","spinControls","_default","exports","default"],"sources":["@wordpress/block-editor/src/components/line-height-control/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { __experimentalNumberControl as NumberControl } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport {\n\tBASE_DEFAULT_VALUE,\n\tRESET_VALUE,\n\tSTEP,\n\tSPIN_FACTOR,\n\tisLineHeightDefined,\n} from './utils';\n\nconst LineHeightControl = ( {\n\tvalue: lineHeight,\n\tonChange,\n\t__unstableInputWidth = '60px',\n\t...otherProps\n} ) => {\n\tconst isDefined = isLineHeightDefined( lineHeight );\n\n\tconst adjustNextValue = ( nextValue, wasTypedOrPasted ) => {\n\t\t// Set the next value without modification if lineHeight has been defined.\n\t\tif ( isDefined ) {\n\t\t\treturn nextValue;\n\t\t}\n\n\t\t/**\n\t\t * The following logic handles the initial spin up/down action\n\t\t * (from an undefined value state) so that the next values are better suited for\n\t\t * line-height rendering. For example, the first spin up should immediately\n\t\t * go to 1.6, rather than the normally expected 0.1.\n\t\t *\n\t\t * Spin up/down actions can be triggered by keydowns of the up/down arrow keys,\n\t\t * dragging the input or by clicking the spin buttons.\n\t\t */\n\t\tconst spin = STEP * SPIN_FACTOR;\n\t\tswitch ( `${ nextValue }` ) {\n\t\t\tcase `${ spin }`:\n\t\t\t\t// Increment by spin value.\n\t\t\t\treturn BASE_DEFAULT_VALUE + spin;\n\t\t\tcase '0': {\n\t\t\t\t// This means the user explicitly input '0', rather than using the\n\t\t\t\t// spin down action from an undefined value state.\n\t\t\t\tif ( wasTypedOrPasted ) {\n\t\t\t\t\treturn nextValue;\n\t\t\t\t}\n\t\t\t\t// Decrement by spin value.\n\t\t\t\treturn BASE_DEFAULT_VALUE - spin;\n\t\t\t}\n\t\t\tcase '':\n\t\t\t\treturn BASE_DEFAULT_VALUE;\n\t\t\tdefault:\n\t\t\t\treturn nextValue;\n\t\t}\n\t};\n\n\tconst stateReducer = ( state, action ) => {\n\t\t// Be careful when changing this — cross-browser behavior of the\n\t\t// `inputType` field in `input` events are inconsistent.\n\t\t// For example, Firefox emits an input event with inputType=\"insertReplacementText\"\n\t\t// on spin button clicks, while other browsers do not even emit an input event.\n\t\tconst wasTypedOrPasted = [ 'insertText', 'insertFromPaste' ].includes(\n\t\t\taction.payload.event.nativeEvent?.inputType\n\t\t);\n\t\tconst value = adjustNextValue( state.value, wasTypedOrPasted );\n\t\treturn { ...state, value };\n\t};\n\n\tconst value = isDefined ? lineHeight : RESET_VALUE;\n\n\tconst handleOnChange = ( nextValue, { event } ) => {\n\t\tif ( nextValue === '' ) {\n\t\t\tonChange();\n\t\t\treturn;\n\t\t}\n\n\t\tif ( event.type === 'click' ) {\n\t\t\tonChange( adjustNextValue( `${ nextValue }`, false ) );\n\t\t\treturn;\n\t\t}\n\n\t\tonChange( `${ nextValue }` );\n\t};\n\n\treturn (\n\t\t<div className=\"block-editor-line-height-control\">\n\t\t\t<NumberControl\n\t\t\t\t{ ...otherProps }\n\t\t\t\t__unstableInputWidth={ __unstableInputWidth }\n\t\t\t\t__unstableStateReducer={ stateReducer }\n\t\t\t\tonChange={ handleOnChange }\n\t\t\t\tlabel={ __( 'Line height' ) }\n\t\t\t\tplaceholder={ BASE_DEFAULT_VALUE }\n\t\t\t\tstep={ STEP }\n\t\t\t\tspinFactor={ SPIN_FACTOR }\n\t\t\t\tvalue={ value }\n\t\t\t\tmin={ 0 }\n\t\t\t\tspinControls=\"custom\"\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/line-height-control/README.md\n */\nexport default LineHeightControl;\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAKA,IAAAE,MAAA,GAAAF,OAAA;AAMiB,IAAAG,WAAA,GAAAH,OAAA;AAfjB;AACA;AACA;;AAIA;AACA;AACA;;AASA,MAAMI,iBAAiB,GAAGA,CAAE;
|
|
1
|
+
{"version":3,"names":["_i18n","require","_components","_utils","_jsxRuntime","LineHeightControl","__next40pxDefaultSize","value","lineHeight","onChange","__unstableInputWidth","otherProps","isDefined","isLineHeightDefined","adjustNextValue","nextValue","wasTypedOrPasted","spin","STEP","SPIN_FACTOR","BASE_DEFAULT_VALUE","stateReducer","state","action","includes","payload","event","nativeEvent","inputType","RESET_VALUE","handleOnChange","type","jsx","className","children","__experimentalNumberControl","__unstableStateReducer","label","__","placeholder","step","spinFactor","min","spinControls","_default","exports","default"],"sources":["@wordpress/block-editor/src/components/line-height-control/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { __experimentalNumberControl as NumberControl } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport {\n\tBASE_DEFAULT_VALUE,\n\tRESET_VALUE,\n\tSTEP,\n\tSPIN_FACTOR,\n\tisLineHeightDefined,\n} from './utils';\n\nconst LineHeightControl = ( {\n\t/** Start opting into the larger default height that will become the default size in a future version. */\n\t__next40pxDefaultSize = false,\n\tvalue: lineHeight,\n\tonChange,\n\t__unstableInputWidth = '60px',\n\t...otherProps\n} ) => {\n\tconst isDefined = isLineHeightDefined( lineHeight );\n\n\tconst adjustNextValue = ( nextValue, wasTypedOrPasted ) => {\n\t\t// Set the next value without modification if lineHeight has been defined.\n\t\tif ( isDefined ) {\n\t\t\treturn nextValue;\n\t\t}\n\n\t\t/**\n\t\t * The following logic handles the initial spin up/down action\n\t\t * (from an undefined value state) so that the next values are better suited for\n\t\t * line-height rendering. For example, the first spin up should immediately\n\t\t * go to 1.6, rather than the normally expected 0.1.\n\t\t *\n\t\t * Spin up/down actions can be triggered by keydowns of the up/down arrow keys,\n\t\t * dragging the input or by clicking the spin buttons.\n\t\t */\n\t\tconst spin = STEP * SPIN_FACTOR;\n\t\tswitch ( `${ nextValue }` ) {\n\t\t\tcase `${ spin }`:\n\t\t\t\t// Increment by spin value.\n\t\t\t\treturn BASE_DEFAULT_VALUE + spin;\n\t\t\tcase '0': {\n\t\t\t\t// This means the user explicitly input '0', rather than using the\n\t\t\t\t// spin down action from an undefined value state.\n\t\t\t\tif ( wasTypedOrPasted ) {\n\t\t\t\t\treturn nextValue;\n\t\t\t\t}\n\t\t\t\t// Decrement by spin value.\n\t\t\t\treturn BASE_DEFAULT_VALUE - spin;\n\t\t\t}\n\t\t\tcase '':\n\t\t\t\treturn BASE_DEFAULT_VALUE;\n\t\t\tdefault:\n\t\t\t\treturn nextValue;\n\t\t}\n\t};\n\n\tconst stateReducer = ( state, action ) => {\n\t\t// Be careful when changing this — cross-browser behavior of the\n\t\t// `inputType` field in `input` events are inconsistent.\n\t\t// For example, Firefox emits an input event with inputType=\"insertReplacementText\"\n\t\t// on spin button clicks, while other browsers do not even emit an input event.\n\t\tconst wasTypedOrPasted = [ 'insertText', 'insertFromPaste' ].includes(\n\t\t\taction.payload.event.nativeEvent?.inputType\n\t\t);\n\t\tconst value = adjustNextValue( state.value, wasTypedOrPasted );\n\t\treturn { ...state, value };\n\t};\n\n\tconst value = isDefined ? lineHeight : RESET_VALUE;\n\n\tconst handleOnChange = ( nextValue, { event } ) => {\n\t\tif ( nextValue === '' ) {\n\t\t\tonChange();\n\t\t\treturn;\n\t\t}\n\n\t\tif ( event.type === 'click' ) {\n\t\t\tonChange( adjustNextValue( `${ nextValue }`, false ) );\n\t\t\treturn;\n\t\t}\n\n\t\tonChange( `${ nextValue }` );\n\t};\n\n\treturn (\n\t\t<div className=\"block-editor-line-height-control\">\n\t\t\t<NumberControl\n\t\t\t\t{ ...otherProps }\n\t\t\t\t__next40pxDefaultSize={ __next40pxDefaultSize }\n\t\t\t\t__unstableInputWidth={ __unstableInputWidth }\n\t\t\t\t__unstableStateReducer={ stateReducer }\n\t\t\t\tonChange={ handleOnChange }\n\t\t\t\tlabel={ __( 'Line height' ) }\n\t\t\t\tplaceholder={ BASE_DEFAULT_VALUE }\n\t\t\t\tstep={ STEP }\n\t\t\t\tspinFactor={ SPIN_FACTOR }\n\t\t\t\tvalue={ value }\n\t\t\t\tmin={ 0 }\n\t\t\t\tspinControls=\"custom\"\n\t\t\t/>\n\t\t</div>\n\t);\n};\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/line-height-control/README.md\n */\nexport default LineHeightControl;\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AAKA,IAAAE,MAAA,GAAAF,OAAA;AAMiB,IAAAG,WAAA,GAAAH,OAAA;AAfjB;AACA;AACA;;AAIA;AACA;AACA;;AASA,MAAMI,iBAAiB,GAAGA,CAAE;EAC3B;EACAC,qBAAqB,GAAG,KAAK;EAC7BC,KAAK,EAAEC,UAAU;EACjBC,QAAQ;EACRC,oBAAoB,GAAG,MAAM;EAC7B,GAAGC;AACJ,CAAC,KAAM;EACN,MAAMC,SAAS,GAAG,IAAAC,0BAAmB,EAAEL,UAAW,CAAC;EAEnD,MAAMM,eAAe,GAAGA,CAAEC,SAAS,EAAEC,gBAAgB,KAAM;IAC1D;IACA,IAAKJ,SAAS,EAAG;MAChB,OAAOG,SAAS;IACjB;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACE,MAAME,IAAI,GAAGC,WAAI,GAAGC,kBAAW;IAC/B,QAAU,GAAGJ,SAAW,EAAC;MACxB,KAAM,GAAGE,IAAM,EAAC;QACf;QACA,OAAOG,yBAAkB,GAAGH,IAAI;MACjC,KAAK,GAAG;QAAE;UACT;UACA;UACA,IAAKD,gBAAgB,EAAG;YACvB,OAAOD,SAAS;UACjB;UACA;UACA,OAAOK,yBAAkB,GAAGH,IAAI;QACjC;MACA,KAAK,EAAE;QACN,OAAOG,yBAAkB;MAC1B;QACC,OAAOL,SAAS;IAClB;EACD,CAAC;EAED,MAAMM,YAAY,GAAGA,CAAEC,KAAK,EAAEC,MAAM,KAAM;IACzC;IACA;IACA;IACA;IACA,MAAMP,gBAAgB,GAAG,CAAE,YAAY,EAAE,iBAAiB,CAAE,CAACQ,QAAQ,CACpED,MAAM,CAACE,OAAO,CAACC,KAAK,CAACC,WAAW,EAAEC,SACnC,CAAC;IACD,MAAMrB,KAAK,GAAGO,eAAe,CAAEQ,KAAK,CAACf,KAAK,EAAES,gBAAiB,CAAC;IAC9D,OAAO;MAAE,GAAGM,KAAK;MAAEf;IAAM,CAAC;EAC3B,CAAC;EAED,MAAMA,KAAK,GAAGK,SAAS,GAAGJ,UAAU,GAAGqB,kBAAW;EAElD,MAAMC,cAAc,GAAGA,CAAEf,SAAS,EAAE;IAAEW;EAAM,CAAC,KAAM;IAClD,IAAKX,SAAS,KAAK,EAAE,EAAG;MACvBN,QAAQ,CAAC,CAAC;MACV;IACD;IAEA,IAAKiB,KAAK,CAACK,IAAI,KAAK,OAAO,EAAG;MAC7BtB,QAAQ,CAAEK,eAAe,CAAG,GAAGC,SAAW,EAAC,EAAE,KAAM,CAAE,CAAC;MACtD;IACD;IAEAN,QAAQ,CAAG,GAAGM,SAAW,EAAE,CAAC;EAC7B,CAAC;EAED,oBACC,IAAAX,WAAA,CAAA4B,GAAA;IAAKC,SAAS,EAAC,kCAAkC;IAAAC,QAAA,eAChD,IAAA9B,WAAA,CAAA4B,GAAA,EAAC9B,WAAA,CAAAiC,2BAAa;MAAA,GACRxB,UAAU;MACfL,qBAAqB,EAAGA,qBAAuB;MAC/CI,oBAAoB,EAAGA,oBAAsB;MAC7C0B,sBAAsB,EAAGf,YAAc;MACvCZ,QAAQ,EAAGqB,cAAgB;MAC3BO,KAAK,EAAG,IAAAC,QAAE,EAAE,aAAc,CAAG;MAC7BC,WAAW,EAAGnB,yBAAoB;MAClCoB,IAAI,EAAGtB,WAAM;MACbuB,UAAU,EAAGtB,kBAAa;MAC1BZ,KAAK,EAAGA,KAAO;MACfmC,GAAG,EAAG,CAAG;MACTC,YAAY,EAAC;IAAQ,CACrB;EAAC,CACE,CAAC;AAER,CAAC;;AAED;AACA;AACA;AAFA,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAGezC,iBAAiB","ignoreList":[]}
|
|
@@ -395,12 +395,17 @@ function MediaPlaceholder({
|
|
|
395
395
|
if (mediaUpload) {
|
|
396
396
|
const content = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
397
397
|
children: [renderDropZone(), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.FormFileUpload, {
|
|
398
|
-
|
|
399
|
-
|
|
398
|
+
render: ({
|
|
399
|
+
openFileDialog
|
|
400
|
+
}) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
|
|
401
|
+
onClick: openFileDialog,
|
|
402
|
+
variant: "primary",
|
|
403
|
+
className: (0, _clsx.default)('block-editor-media-placeholder__button', 'block-editor-media-placeholder__upload-button'),
|
|
404
|
+
children: (0, _i18n.__)('Upload')
|
|
405
|
+
}),
|
|
400
406
|
onChange: onUpload,
|
|
401
407
|
accept: accept,
|
|
402
|
-
multiple: !!multiple
|
|
403
|
-
children: (0, _i18n.__)('Upload')
|
|
408
|
+
multiple: !!multiple
|
|
404
409
|
}), uploadMediaLibraryButton, renderUrlSelectionUI(), renderFeaturedImageToggle(), renderCancelLink()]
|
|
405
410
|
});
|
|
406
411
|
return renderPlaceholder(content);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_i18n","_element","_data","_icons","_blocks2","_deprecated","_mediaUpload","_check","_urlPopover","_store","_jsxRuntime","noop","InsertFromURLPopover","src","onChange","onSubmit","onClose","popoverAnchor","jsx","default","anchor","children","jsxs","className","type","__","placeholder","value","Button","icon","keyboardReturn","label","URLSelectionUI","onChangeSrc","onSelectURL","setPopoverAnchor","useState","isURLInputVisible","setIsURLInputVisible","openURLInput","closeURLInput","focus","onSubmitSrc","event","preventDefault","onClick","isPressed","variant","ref","MediaPlaceholder","allowedTypes","labels","mediaPreview","notices","isAppender","accept","addToGallery","multiple","handleUpload","disableDropZone","disableMediaButtons","onError","onSelect","onCancel","onToggleFeaturedImage","onDoubleClick","onFilesPreUpload","onHTMLDrop","deprecatedOnHTMLDrop","mediaLibraryButton","style","deprecated","since","version","mediaUpload","useSelect","select","getSettings","blockEditorStore","setSrc","useEffect","_value$src","onlyAllowsImages","length","every","allowedType","startsWith","target","onFilesUpload","files","setMedia","lastMediaPassed","newMedia","filteredMedia","filter","item","id","some","Number","urlSlug","url","includes","concat","map","media","cutOffIndex","lastIndexOf","slice","filesList","onFileChange","handleBlocksDrop","blocks","Array","isArray","recursivelyFindMediaFromBlocks","_blocks","flatMap","block","name","attributes","innerBlocks","mediaBlocks","uploadedMediaList","Promise","all","resolve","reject","window","fetch","then","response","blob","additionalData","title","alt_text","alt","caption","catch","err","HTML","pasteHandler","onUpload","defaultRenderPlaceholder","content","instructions","undefined","typesAllowed","firstAllowedType","isOneType","isAudio","isImage","isVideo","placeholderClassName","clsx","Placeholder","preview","renderPlaceholder","renderDropZone","DropZone","onFilesDrop","renderCancelLink","renderUrlSelectionUI","renderFeaturedImageToggle","renderMediaUploadChecked","defaultButton","open","libraryButton","uploadMediaLibraryButton","gallery","mode","render","Fragment","FormFileUpload","openFileDialog","fallback","_default","exports","withFilters"],"sources":["@wordpress/block-editor/src/components/media-placeholder/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tFormFileUpload,\n\tPlaceholder,\n\tDropZone,\n\twithFilters,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useEffect } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { keyboardReturn } from '@wordpress/icons';\nimport { pasteHandler } from '@wordpress/blocks';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport MediaUpload from '../media-upload';\nimport MediaUploadCheck from '../media-upload/check';\nimport URLPopover from '../url-popover';\nimport { store as blockEditorStore } from '../../store';\n\nconst noop = () => {};\n\nconst InsertFromURLPopover = ( {\n\tsrc,\n\tonChange,\n\tonSubmit,\n\tonClose,\n\tpopoverAnchor,\n} ) => (\n\t<URLPopover anchor={ popoverAnchor } onClose={ onClose }>\n\t\t<form\n\t\t\tclassName=\"block-editor-media-placeholder__url-input-form\"\n\t\t\tonSubmit={ onSubmit }\n\t\t>\n\t\t\t<input\n\t\t\t\tclassName=\"block-editor-media-placeholder__url-input-field\"\n\t\t\t\ttype=\"text\"\n\t\t\t\taria-label={ __( 'URL' ) }\n\t\t\t\tplaceholder={ __( 'Paste or type URL' ) }\n\t\t\t\tonChange={ onChange }\n\t\t\t\tvalue={ src }\n\t\t\t/>\n\t\t\t<Button\n\t\t\t\tclassName=\"block-editor-media-placeholder__url-input-submit-button\"\n\t\t\t\ticon={ keyboardReturn }\n\t\t\t\tlabel={ __( 'Apply' ) }\n\t\t\t\ttype=\"submit\"\n\t\t\t/>\n\t\t</form>\n\t</URLPopover>\n);\n\nconst URLSelectionUI = ( { src, onChangeSrc, onSelectURL } ) => {\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\tconst [ isURLInputVisible, setIsURLInputVisible ] = useState( false );\n\n\tconst openURLInput = () => {\n\t\tsetIsURLInputVisible( true );\n\t};\n\tconst closeURLInput = () => {\n\t\tsetIsURLInputVisible( false );\n\t\tpopoverAnchor?.focus();\n\t};\n\n\tconst onSubmitSrc = ( event ) => {\n\t\tevent.preventDefault();\n\t\tif ( src && onSelectURL ) {\n\t\t\tonSelectURL( src );\n\t\t\tcloseURLInput();\n\t\t}\n\t};\n\n\treturn (\n\t\t<div className=\"block-editor-media-placeholder__url-input-container\">\n\t\t\t<Button\n\t\t\t\tclassName=\"block-editor-media-placeholder__button\"\n\t\t\t\tonClick={ openURLInput }\n\t\t\t\tisPressed={ isURLInputVisible }\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\taria-haspopup=\"dialog\"\n\t\t\t\tref={ setPopoverAnchor }\n\t\t\t>\n\t\t\t\t{ __( 'Insert from URL' ) }\n\t\t\t</Button>\n\t\t\t{ isURLInputVisible && (\n\t\t\t\t<InsertFromURLPopover\n\t\t\t\t\tsrc={ src }\n\t\t\t\t\tonChange={ onChangeSrc }\n\t\t\t\t\tonSubmit={ onSubmitSrc }\n\t\t\t\t\tonClose={ closeURLInput }\n\t\t\t\t\tpopoverAnchor={ popoverAnchor }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n};\n\nexport function MediaPlaceholder( {\n\tvalue = {},\n\tallowedTypes,\n\tclassName,\n\ticon,\n\tlabels = {},\n\tmediaPreview,\n\tnotices,\n\tisAppender,\n\taccept,\n\taddToGallery,\n\tmultiple = false,\n\thandleUpload = true,\n\tdisableDropZone,\n\tdisableMediaButtons,\n\tonError,\n\tonSelect,\n\tonCancel,\n\tonSelectURL,\n\tonToggleFeaturedImage,\n\tonDoubleClick,\n\tonFilesPreUpload = noop,\n\tonHTMLDrop: deprecatedOnHTMLDrop,\n\tchildren,\n\tmediaLibraryButton,\n\tplaceholder,\n\tstyle,\n} ) {\n\tif ( deprecatedOnHTMLDrop ) {\n\t\tdeprecated( 'wp.blockEditor.MediaPlaceholder onHTMLDrop prop', {\n\t\t\tsince: '6.2',\n\t\t\tversion: '6.4',\n\t\t} );\n\t}\n\n\tconst mediaUpload = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn getSettings().mediaUpload;\n\t}, [] );\n\tconst [ src, setSrc ] = useState( '' );\n\n\tuseEffect( () => {\n\t\tsetSrc( value?.src ?? '' );\n\t}, [ value?.src ] );\n\n\tconst onlyAllowsImages = () => {\n\t\tif ( ! allowedTypes || allowedTypes.length === 0 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn allowedTypes.every(\n\t\t\t( allowedType ) =>\n\t\t\t\tallowedType === 'image' || allowedType.startsWith( 'image/' )\n\t\t);\n\t};\n\n\tconst onChangeSrc = ( event ) => {\n\t\tsetSrc( event.target.value );\n\t};\n\n\tconst onFilesUpload = ( files ) => {\n\t\tif ( ! handleUpload ) {\n\t\t\treturn onSelect( files );\n\t\t}\n\t\tonFilesPreUpload( files );\n\t\tlet setMedia;\n\t\tif ( multiple ) {\n\t\t\tif ( addToGallery ) {\n\t\t\t\t// Since the setMedia function runs multiple times per upload group\n\t\t\t\t// and is passed newMedia containing every item in its group each time, we must\n\t\t\t\t// filter out whatever this upload group had previously returned to the\n\t\t\t\t// gallery before adding and returning the image array with replacement newMedia\n\t\t\t\t// values.\n\n\t\t\t\t// Define an array to store urls from newMedia between subsequent function calls.\n\t\t\t\tlet lastMediaPassed = [];\n\t\t\t\tsetMedia = ( newMedia ) => {\n\t\t\t\t\t// Remove any images this upload group is responsible for (lastMediaPassed).\n\t\t\t\t\t// Their replacements are contained in newMedia.\n\t\t\t\t\tconst filteredMedia = ( value ?? [] ).filter( ( item ) => {\n\t\t\t\t\t\t// If Item has id, only remove it if lastMediaPassed has an item with that id.\n\t\t\t\t\t\tif ( item.id ) {\n\t\t\t\t\t\t\treturn ! lastMediaPassed.some(\n\t\t\t\t\t\t\t\t// Be sure to convert to number for comparison.\n\t\t\t\t\t\t\t\t( { id } ) => Number( id ) === Number( item.id )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// Compare transient images via .includes since gallery may append extra info onto the url.\n\t\t\t\t\t\treturn ! lastMediaPassed.some( ( { urlSlug } ) =>\n\t\t\t\t\t\t\titem.url.includes( urlSlug )\n\t\t\t\t\t\t);\n\t\t\t\t\t} );\n\t\t\t\t\t// Return the filtered media array along with newMedia.\n\t\t\t\t\tonSelect( filteredMedia.concat( newMedia ) );\n\t\t\t\t\t// Reset lastMediaPassed and set it with ids and urls from newMedia.\n\t\t\t\t\tlastMediaPassed = newMedia.map( ( media ) => {\n\t\t\t\t\t\t// Add everything up to '.fileType' to compare via .includes.\n\t\t\t\t\t\tconst cutOffIndex = media.url.lastIndexOf( '.' );\n\t\t\t\t\t\tconst urlSlug = media.url.slice( 0, cutOffIndex );\n\t\t\t\t\t\treturn { id: media.id, urlSlug };\n\t\t\t\t\t} );\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tsetMedia = onSelect;\n\t\t\t}\n\t\t} else {\n\t\t\tsetMedia = ( [ media ] ) => onSelect( media );\n\t\t}\n\t\tmediaUpload( {\n\t\t\tallowedTypes,\n\t\t\tfilesList: files,\n\t\t\tonFileChange: setMedia,\n\t\t\tonError,\n\t\t} );\n\t};\n\n\tasync function handleBlocksDrop( blocks ) {\n\t\tif ( ! blocks || ! Array.isArray( blocks ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfunction recursivelyFindMediaFromBlocks( _blocks ) {\n\t\t\treturn _blocks.flatMap( ( block ) =>\n\t\t\t\t( block.name === 'core/image' ||\n\t\t\t\t\tblock.name === 'core/audio' ||\n\t\t\t\t\tblock.name === 'core/video' ) &&\n\t\t\t\tblock.attributes.url\n\t\t\t\t\t? [ block ]\n\t\t\t\t\t: recursivelyFindMediaFromBlocks( block.innerBlocks )\n\t\t\t);\n\t\t}\n\n\t\tconst mediaBlocks = recursivelyFindMediaFromBlocks( blocks );\n\n\t\tif ( ! mediaBlocks.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst uploadedMediaList = await Promise.all(\n\t\t\tmediaBlocks.map( ( block ) =>\n\t\t\t\tblock.attributes.id\n\t\t\t\t\t? block.attributes\n\t\t\t\t\t: new Promise( ( resolve, reject ) => {\n\t\t\t\t\t\t\twindow\n\t\t\t\t\t\t\t\t.fetch( block.attributes.url )\n\t\t\t\t\t\t\t\t.then( ( response ) => response.blob() )\n\t\t\t\t\t\t\t\t.then( ( blob ) =>\n\t\t\t\t\t\t\t\t\tmediaUpload( {\n\t\t\t\t\t\t\t\t\t\tfilesList: [ blob ],\n\t\t\t\t\t\t\t\t\t\tadditionalData: {\n\t\t\t\t\t\t\t\t\t\t\ttitle: block.attributes.title,\n\t\t\t\t\t\t\t\t\t\t\talt_text: block.attributes.alt,\n\t\t\t\t\t\t\t\t\t\t\tcaption: block.attributes.caption,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tonFileChange: ( [ media ] ) => {\n\t\t\t\t\t\t\t\t\t\t\tif ( media.id ) {\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( media );\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tallowedTypes,\n\t\t\t\t\t\t\t\t\t\tonError: reject,\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t.catch( () => resolve( block.attributes.url ) );\n\t\t\t\t\t } )\n\t\t\t)\n\t\t).catch( ( err ) => onError( err ) );\n\n\t\tif ( multiple ) {\n\t\t\tonSelect( uploadedMediaList );\n\t\t} else {\n\t\t\tonSelect( uploadedMediaList[ 0 ] );\n\t\t}\n\t}\n\n\tasync function onHTMLDrop( HTML ) {\n\t\tconst blocks = pasteHandler( { HTML } );\n\t\treturn await handleBlocksDrop( blocks );\n\t}\n\n\tconst onUpload = ( event ) => {\n\t\tonFilesUpload( event.target.files );\n\t};\n\n\tconst defaultRenderPlaceholder = ( content ) => {\n\t\tlet { instructions, title } = labels;\n\n\t\tif ( ! mediaUpload && ! onSelectURL ) {\n\t\t\tinstructions = __(\n\t\t\t\t'To edit this block, you need permission to upload media.'\n\t\t\t);\n\t\t}\n\n\t\tif ( instructions === undefined || title === undefined ) {\n\t\t\tconst typesAllowed = allowedTypes ?? [];\n\n\t\t\tconst [ firstAllowedType ] = typesAllowed;\n\t\t\tconst isOneType = 1 === typesAllowed.length;\n\t\t\tconst isAudio = isOneType && 'audio' === firstAllowedType;\n\t\t\tconst isImage = isOneType && 'image' === firstAllowedType;\n\t\t\tconst isVideo = isOneType && 'video' === firstAllowedType;\n\n\t\t\tif ( instructions === undefined && mediaUpload ) {\n\t\t\t\tinstructions = __(\n\t\t\t\t\t'Upload a media file or pick one from your media library.'\n\t\t\t\t);\n\n\t\t\t\tif ( isAudio ) {\n\t\t\t\t\tinstructions = __(\n\t\t\t\t\t\t'Upload an audio file, pick one from your media library, or add one with a URL.'\n\t\t\t\t\t);\n\t\t\t\t} else if ( isImage ) {\n\t\t\t\t\tinstructions = __(\n\t\t\t\t\t\t'Upload an image file, pick one from your media library, or add one with a URL.'\n\t\t\t\t\t);\n\t\t\t\t} else if ( isVideo ) {\n\t\t\t\t\tinstructions = __(\n\t\t\t\t\t\t'Upload a video file, pick one from your media library, or add one with a URL.'\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( title === undefined ) {\n\t\t\t\ttitle = __( 'Media' );\n\n\t\t\t\tif ( isAudio ) {\n\t\t\t\t\ttitle = __( 'Audio' );\n\t\t\t\t} else if ( isImage ) {\n\t\t\t\t\ttitle = __( 'Image' );\n\t\t\t\t} else if ( isVideo ) {\n\t\t\t\t\ttitle = __( 'Video' );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tconst placeholderClassName = clsx(\n\t\t\t'block-editor-media-placeholder',\n\t\t\tclassName,\n\t\t\t{\n\t\t\t\t'is-appender': isAppender,\n\t\t\t}\n\t\t);\n\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\ticon={ icon }\n\t\t\t\tlabel={ title }\n\t\t\t\tinstructions={ instructions }\n\t\t\t\tclassName={ placeholderClassName }\n\t\t\t\tnotices={ notices }\n\t\t\t\tonDoubleClick={ onDoubleClick }\n\t\t\t\tpreview={ mediaPreview }\n\t\t\t\tstyle={ style }\n\t\t\t>\n\t\t\t\t{ content }\n\t\t\t\t{ children }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\tconst renderPlaceholder = placeholder ?? defaultRenderPlaceholder;\n\n\tconst renderDropZone = () => {\n\t\tif ( disableDropZone ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<DropZone onFilesDrop={ onFilesUpload } onHTMLDrop={ onHTMLDrop } />\n\t\t);\n\t};\n\n\tconst renderCancelLink = () => {\n\t\treturn (\n\t\t\tonCancel && (\n\t\t\t\t<Button\n\t\t\t\t\tclassName=\"block-editor-media-placeholder__cancel-button\"\n\t\t\t\t\ttitle={ __( 'Cancel' ) }\n\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\tonClick={ onCancel }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t</Button>\n\t\t\t)\n\t\t);\n\t};\n\n\tconst renderUrlSelectionUI = () => {\n\t\treturn (\n\t\t\tonSelectURL && (\n\t\t\t\t<URLSelectionUI\n\t\t\t\t\tsrc={ src }\n\t\t\t\t\tonChangeSrc={ onChangeSrc }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t/>\n\t\t\t)\n\t\t);\n\t};\n\n\tconst renderFeaturedImageToggle = () => {\n\t\treturn (\n\t\t\tonToggleFeaturedImage && (\n\t\t\t\t<div className=\"block-editor-media-placeholder__url-input-container\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"block-editor-media-placeholder__button\"\n\t\t\t\t\t\tonClick={ onToggleFeaturedImage }\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Use featured image' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t)\n\t\t);\n\t};\n\n\tconst renderMediaUploadChecked = () => {\n\t\tconst defaultButton = ( { open } ) => {\n\t\t\treturn (\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\topen();\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Media Library' ) }\n\t\t\t\t</Button>\n\t\t\t);\n\t\t};\n\t\tconst libraryButton = mediaLibraryButton ?? defaultButton;\n\t\tconst uploadMediaLibraryButton = (\n\t\t\t<MediaUpload\n\t\t\t\taddToGallery={ addToGallery }\n\t\t\t\tgallery={ multiple && onlyAllowsImages() }\n\t\t\t\tmultiple={ multiple }\n\t\t\t\tonSelect={ onSelect }\n\t\t\t\tallowedTypes={ allowedTypes }\n\t\t\t\tmode=\"browse\"\n\t\t\t\tvalue={\n\t\t\t\t\tArray.isArray( value )\n\t\t\t\t\t\t? value.map( ( { id } ) => id )\n\t\t\t\t\t\t: value.id\n\t\t\t\t}\n\t\t\t\trender={ libraryButton }\n\t\t\t/>\n\t\t);\n\n\t\tif ( mediaUpload && isAppender ) {\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t{ renderDropZone() }\n\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\tonChange={ onUpload }\n\t\t\t\t\t\taccept={ accept }\n\t\t\t\t\t\tmultiple={ !! multiple }\n\t\t\t\t\t\trender={ ( { openFileDialog } ) => {\n\t\t\t\t\t\t\tconst content = (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t\t\t'block-editor-media-placeholder__button',\n\t\t\t\t\t\t\t\t\t\t\t'block-editor-media-placeholder__upload-button'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tonClick={ openFileDialog }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Upload' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t{ uploadMediaLibraryButton }\n\t\t\t\t\t\t\t\t\t{ renderUrlSelectionUI() }\n\t\t\t\t\t\t\t\t\t{ renderFeaturedImageToggle() }\n\t\t\t\t\t\t\t\t\t{ renderCancelLink() }\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\treturn renderPlaceholder( content );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t);\n\t\t}\n\n\t\tif ( mediaUpload ) {\n\t\t\tconst content = (\n\t\t\t\t<>\n\t\t\t\t\t{ renderDropZone() }\n\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'block-editor-media-placeholder__button',\n\t\t\t\t\t\t\t'block-editor-media-placeholder__upload-button'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tonChange={ onUpload }\n\t\t\t\t\t\taccept={ accept }\n\t\t\t\t\t\tmultiple={ !! multiple }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Upload' ) }\n\t\t\t\t\t</FormFileUpload>\n\t\t\t\t\t{ uploadMediaLibraryButton }\n\t\t\t\t\t{ renderUrlSelectionUI() }\n\t\t\t\t\t{ renderFeaturedImageToggle() }\n\t\t\t\t\t{ renderCancelLink() }\n\t\t\t\t</>\n\t\t\t);\n\t\t\treturn renderPlaceholder( content );\n\t\t}\n\n\t\treturn renderPlaceholder( uploadMediaLibraryButton );\n\t};\n\n\tif ( disableMediaButtons ) {\n\t\treturn <MediaUploadCheck>{ renderDropZone() }</MediaUploadCheck>;\n\t}\n\n\treturn (\n\t\t<MediaUploadCheck\n\t\t\tfallback={ renderPlaceholder( renderUrlSelectionUI() ) }\n\t\t>\n\t\t\t{ renderMediaUploadChecked() }\n\t\t</MediaUploadCheck>\n\t);\n}\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/media-placeholder/README.md\n */\nexport default withFilters( 'editor.MediaPlaceholder' )( MediaPlaceholder );\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_clsx","_interopRequireDefault","require","_components","_i18n","_element","_data","_icons","_blocks2","_deprecated","_mediaUpload","_check","_urlPopover","_store","_jsxRuntime","noop","InsertFromURLPopover","src","onChange","onSubmit","onClose","popoverAnchor","jsx","default","anchor","children","jsxs","className","type","__","placeholder","value","Button","icon","keyboardReturn","label","URLSelectionUI","onChangeSrc","onSelectURL","setPopoverAnchor","useState","isURLInputVisible","setIsURLInputVisible","openURLInput","closeURLInput","focus","onSubmitSrc","event","preventDefault","onClick","isPressed","variant","ref","MediaPlaceholder","allowedTypes","labels","mediaPreview","notices","isAppender","accept","addToGallery","multiple","handleUpload","disableDropZone","disableMediaButtons","onError","onSelect","onCancel","onToggleFeaturedImage","onDoubleClick","onFilesPreUpload","onHTMLDrop","deprecatedOnHTMLDrop","mediaLibraryButton","style","deprecated","since","version","mediaUpload","useSelect","select","getSettings","blockEditorStore","setSrc","useEffect","_value$src","onlyAllowsImages","length","every","allowedType","startsWith","target","onFilesUpload","files","setMedia","lastMediaPassed","newMedia","filteredMedia","filter","item","id","some","Number","urlSlug","url","includes","concat","map","media","cutOffIndex","lastIndexOf","slice","filesList","onFileChange","handleBlocksDrop","blocks","Array","isArray","recursivelyFindMediaFromBlocks","_blocks","flatMap","block","name","attributes","innerBlocks","mediaBlocks","uploadedMediaList","Promise","all","resolve","reject","window","fetch","then","response","blob","additionalData","title","alt_text","alt","caption","catch","err","HTML","pasteHandler","onUpload","defaultRenderPlaceholder","content","instructions","undefined","typesAllowed","firstAllowedType","isOneType","isAudio","isImage","isVideo","placeholderClassName","clsx","Placeholder","preview","renderPlaceholder","renderDropZone","DropZone","onFilesDrop","renderCancelLink","renderUrlSelectionUI","renderFeaturedImageToggle","renderMediaUploadChecked","defaultButton","open","libraryButton","uploadMediaLibraryButton","gallery","mode","render","Fragment","FormFileUpload","openFileDialog","fallback","_default","exports","withFilters"],"sources":["@wordpress/block-editor/src/components/media-placeholder/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tFormFileUpload,\n\tPlaceholder,\n\tDropZone,\n\twithFilters,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState, useEffect } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { keyboardReturn } from '@wordpress/icons';\nimport { pasteHandler } from '@wordpress/blocks';\nimport deprecated from '@wordpress/deprecated';\n\n/**\n * Internal dependencies\n */\nimport MediaUpload from '../media-upload';\nimport MediaUploadCheck from '../media-upload/check';\nimport URLPopover from '../url-popover';\nimport { store as blockEditorStore } from '../../store';\n\nconst noop = () => {};\n\nconst InsertFromURLPopover = ( {\n\tsrc,\n\tonChange,\n\tonSubmit,\n\tonClose,\n\tpopoverAnchor,\n} ) => (\n\t<URLPopover anchor={ popoverAnchor } onClose={ onClose }>\n\t\t<form\n\t\t\tclassName=\"block-editor-media-placeholder__url-input-form\"\n\t\t\tonSubmit={ onSubmit }\n\t\t>\n\t\t\t<input\n\t\t\t\tclassName=\"block-editor-media-placeholder__url-input-field\"\n\t\t\t\ttype=\"text\"\n\t\t\t\taria-label={ __( 'URL' ) }\n\t\t\t\tplaceholder={ __( 'Paste or type URL' ) }\n\t\t\t\tonChange={ onChange }\n\t\t\t\tvalue={ src }\n\t\t\t/>\n\t\t\t<Button\n\t\t\t\tclassName=\"block-editor-media-placeholder__url-input-submit-button\"\n\t\t\t\ticon={ keyboardReturn }\n\t\t\t\tlabel={ __( 'Apply' ) }\n\t\t\t\ttype=\"submit\"\n\t\t\t/>\n\t\t</form>\n\t</URLPopover>\n);\n\nconst URLSelectionUI = ( { src, onChangeSrc, onSelectURL } ) => {\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\tconst [ isURLInputVisible, setIsURLInputVisible ] = useState( false );\n\n\tconst openURLInput = () => {\n\t\tsetIsURLInputVisible( true );\n\t};\n\tconst closeURLInput = () => {\n\t\tsetIsURLInputVisible( false );\n\t\tpopoverAnchor?.focus();\n\t};\n\n\tconst onSubmitSrc = ( event ) => {\n\t\tevent.preventDefault();\n\t\tif ( src && onSelectURL ) {\n\t\t\tonSelectURL( src );\n\t\t\tcloseURLInput();\n\t\t}\n\t};\n\n\treturn (\n\t\t<div className=\"block-editor-media-placeholder__url-input-container\">\n\t\t\t<Button\n\t\t\t\tclassName=\"block-editor-media-placeholder__button\"\n\t\t\t\tonClick={ openURLInput }\n\t\t\t\tisPressed={ isURLInputVisible }\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\taria-haspopup=\"dialog\"\n\t\t\t\tref={ setPopoverAnchor }\n\t\t\t>\n\t\t\t\t{ __( 'Insert from URL' ) }\n\t\t\t</Button>\n\t\t\t{ isURLInputVisible && (\n\t\t\t\t<InsertFromURLPopover\n\t\t\t\t\tsrc={ src }\n\t\t\t\t\tonChange={ onChangeSrc }\n\t\t\t\t\tonSubmit={ onSubmitSrc }\n\t\t\t\t\tonClose={ closeURLInput }\n\t\t\t\t\tpopoverAnchor={ popoverAnchor }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</div>\n\t);\n};\n\nexport function MediaPlaceholder( {\n\tvalue = {},\n\tallowedTypes,\n\tclassName,\n\ticon,\n\tlabels = {},\n\tmediaPreview,\n\tnotices,\n\tisAppender,\n\taccept,\n\taddToGallery,\n\tmultiple = false,\n\thandleUpload = true,\n\tdisableDropZone,\n\tdisableMediaButtons,\n\tonError,\n\tonSelect,\n\tonCancel,\n\tonSelectURL,\n\tonToggleFeaturedImage,\n\tonDoubleClick,\n\tonFilesPreUpload = noop,\n\tonHTMLDrop: deprecatedOnHTMLDrop,\n\tchildren,\n\tmediaLibraryButton,\n\tplaceholder,\n\tstyle,\n} ) {\n\tif ( deprecatedOnHTMLDrop ) {\n\t\tdeprecated( 'wp.blockEditor.MediaPlaceholder onHTMLDrop prop', {\n\t\t\tsince: '6.2',\n\t\t\tversion: '6.4',\n\t\t} );\n\t}\n\n\tconst mediaUpload = useSelect( ( select ) => {\n\t\tconst { getSettings } = select( blockEditorStore );\n\t\treturn getSettings().mediaUpload;\n\t}, [] );\n\tconst [ src, setSrc ] = useState( '' );\n\n\tuseEffect( () => {\n\t\tsetSrc( value?.src ?? '' );\n\t}, [ value?.src ] );\n\n\tconst onlyAllowsImages = () => {\n\t\tif ( ! allowedTypes || allowedTypes.length === 0 ) {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn allowedTypes.every(\n\t\t\t( allowedType ) =>\n\t\t\t\tallowedType === 'image' || allowedType.startsWith( 'image/' )\n\t\t);\n\t};\n\n\tconst onChangeSrc = ( event ) => {\n\t\tsetSrc( event.target.value );\n\t};\n\n\tconst onFilesUpload = ( files ) => {\n\t\tif ( ! handleUpload ) {\n\t\t\treturn onSelect( files );\n\t\t}\n\t\tonFilesPreUpload( files );\n\t\tlet setMedia;\n\t\tif ( multiple ) {\n\t\t\tif ( addToGallery ) {\n\t\t\t\t// Since the setMedia function runs multiple times per upload group\n\t\t\t\t// and is passed newMedia containing every item in its group each time, we must\n\t\t\t\t// filter out whatever this upload group had previously returned to the\n\t\t\t\t// gallery before adding and returning the image array with replacement newMedia\n\t\t\t\t// values.\n\n\t\t\t\t// Define an array to store urls from newMedia between subsequent function calls.\n\t\t\t\tlet lastMediaPassed = [];\n\t\t\t\tsetMedia = ( newMedia ) => {\n\t\t\t\t\t// Remove any images this upload group is responsible for (lastMediaPassed).\n\t\t\t\t\t// Their replacements are contained in newMedia.\n\t\t\t\t\tconst filteredMedia = ( value ?? [] ).filter( ( item ) => {\n\t\t\t\t\t\t// If Item has id, only remove it if lastMediaPassed has an item with that id.\n\t\t\t\t\t\tif ( item.id ) {\n\t\t\t\t\t\t\treturn ! lastMediaPassed.some(\n\t\t\t\t\t\t\t\t// Be sure to convert to number for comparison.\n\t\t\t\t\t\t\t\t( { id } ) => Number( id ) === Number( item.id )\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\t\t\t\t\t\t// Compare transient images via .includes since gallery may append extra info onto the url.\n\t\t\t\t\t\treturn ! lastMediaPassed.some( ( { urlSlug } ) =>\n\t\t\t\t\t\t\titem.url.includes( urlSlug )\n\t\t\t\t\t\t);\n\t\t\t\t\t} );\n\t\t\t\t\t// Return the filtered media array along with newMedia.\n\t\t\t\t\tonSelect( filteredMedia.concat( newMedia ) );\n\t\t\t\t\t// Reset lastMediaPassed and set it with ids and urls from newMedia.\n\t\t\t\t\tlastMediaPassed = newMedia.map( ( media ) => {\n\t\t\t\t\t\t// Add everything up to '.fileType' to compare via .includes.\n\t\t\t\t\t\tconst cutOffIndex = media.url.lastIndexOf( '.' );\n\t\t\t\t\t\tconst urlSlug = media.url.slice( 0, cutOffIndex );\n\t\t\t\t\t\treturn { id: media.id, urlSlug };\n\t\t\t\t\t} );\n\t\t\t\t};\n\t\t\t} else {\n\t\t\t\tsetMedia = onSelect;\n\t\t\t}\n\t\t} else {\n\t\t\tsetMedia = ( [ media ] ) => onSelect( media );\n\t\t}\n\t\tmediaUpload( {\n\t\t\tallowedTypes,\n\t\t\tfilesList: files,\n\t\t\tonFileChange: setMedia,\n\t\t\tonError,\n\t\t} );\n\t};\n\n\tasync function handleBlocksDrop( blocks ) {\n\t\tif ( ! blocks || ! Array.isArray( blocks ) ) {\n\t\t\treturn;\n\t\t}\n\n\t\tfunction recursivelyFindMediaFromBlocks( _blocks ) {\n\t\t\treturn _blocks.flatMap( ( block ) =>\n\t\t\t\t( block.name === 'core/image' ||\n\t\t\t\t\tblock.name === 'core/audio' ||\n\t\t\t\t\tblock.name === 'core/video' ) &&\n\t\t\t\tblock.attributes.url\n\t\t\t\t\t? [ block ]\n\t\t\t\t\t: recursivelyFindMediaFromBlocks( block.innerBlocks )\n\t\t\t);\n\t\t}\n\n\t\tconst mediaBlocks = recursivelyFindMediaFromBlocks( blocks );\n\n\t\tif ( ! mediaBlocks.length ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst uploadedMediaList = await Promise.all(\n\t\t\tmediaBlocks.map( ( block ) =>\n\t\t\t\tblock.attributes.id\n\t\t\t\t\t? block.attributes\n\t\t\t\t\t: new Promise( ( resolve, reject ) => {\n\t\t\t\t\t\t\twindow\n\t\t\t\t\t\t\t\t.fetch( block.attributes.url )\n\t\t\t\t\t\t\t\t.then( ( response ) => response.blob() )\n\t\t\t\t\t\t\t\t.then( ( blob ) =>\n\t\t\t\t\t\t\t\t\tmediaUpload( {\n\t\t\t\t\t\t\t\t\t\tfilesList: [ blob ],\n\t\t\t\t\t\t\t\t\t\tadditionalData: {\n\t\t\t\t\t\t\t\t\t\t\ttitle: block.attributes.title,\n\t\t\t\t\t\t\t\t\t\t\talt_text: block.attributes.alt,\n\t\t\t\t\t\t\t\t\t\t\tcaption: block.attributes.caption,\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tonFileChange: ( [ media ] ) => {\n\t\t\t\t\t\t\t\t\t\t\tif ( media.id ) {\n\t\t\t\t\t\t\t\t\t\t\t\tresolve( media );\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tallowedTypes,\n\t\t\t\t\t\t\t\t\t\tonError: reject,\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t.catch( () => resolve( block.attributes.url ) );\n\t\t\t\t\t } )\n\t\t\t)\n\t\t).catch( ( err ) => onError( err ) );\n\n\t\tif ( multiple ) {\n\t\t\tonSelect( uploadedMediaList );\n\t\t} else {\n\t\t\tonSelect( uploadedMediaList[ 0 ] );\n\t\t}\n\t}\n\n\tasync function onHTMLDrop( HTML ) {\n\t\tconst blocks = pasteHandler( { HTML } );\n\t\treturn await handleBlocksDrop( blocks );\n\t}\n\n\tconst onUpload = ( event ) => {\n\t\tonFilesUpload( event.target.files );\n\t};\n\n\tconst defaultRenderPlaceholder = ( content ) => {\n\t\tlet { instructions, title } = labels;\n\n\t\tif ( ! mediaUpload && ! onSelectURL ) {\n\t\t\tinstructions = __(\n\t\t\t\t'To edit this block, you need permission to upload media.'\n\t\t\t);\n\t\t}\n\n\t\tif ( instructions === undefined || title === undefined ) {\n\t\t\tconst typesAllowed = allowedTypes ?? [];\n\n\t\t\tconst [ firstAllowedType ] = typesAllowed;\n\t\t\tconst isOneType = 1 === typesAllowed.length;\n\t\t\tconst isAudio = isOneType && 'audio' === firstAllowedType;\n\t\t\tconst isImage = isOneType && 'image' === firstAllowedType;\n\t\t\tconst isVideo = isOneType && 'video' === firstAllowedType;\n\n\t\t\tif ( instructions === undefined && mediaUpload ) {\n\t\t\t\tinstructions = __(\n\t\t\t\t\t'Upload a media file or pick one from your media library.'\n\t\t\t\t);\n\n\t\t\t\tif ( isAudio ) {\n\t\t\t\t\tinstructions = __(\n\t\t\t\t\t\t'Upload an audio file, pick one from your media library, or add one with a URL.'\n\t\t\t\t\t);\n\t\t\t\t} else if ( isImage ) {\n\t\t\t\t\tinstructions = __(\n\t\t\t\t\t\t'Upload an image file, pick one from your media library, or add one with a URL.'\n\t\t\t\t\t);\n\t\t\t\t} else if ( isVideo ) {\n\t\t\t\t\tinstructions = __(\n\t\t\t\t\t\t'Upload a video file, pick one from your media library, or add one with a URL.'\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif ( title === undefined ) {\n\t\t\t\ttitle = __( 'Media' );\n\n\t\t\t\tif ( isAudio ) {\n\t\t\t\t\ttitle = __( 'Audio' );\n\t\t\t\t} else if ( isImage ) {\n\t\t\t\t\ttitle = __( 'Image' );\n\t\t\t\t} else if ( isVideo ) {\n\t\t\t\t\ttitle = __( 'Video' );\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tconst placeholderClassName = clsx(\n\t\t\t'block-editor-media-placeholder',\n\t\t\tclassName,\n\t\t\t{\n\t\t\t\t'is-appender': isAppender,\n\t\t\t}\n\t\t);\n\n\t\treturn (\n\t\t\t<Placeholder\n\t\t\t\ticon={ icon }\n\t\t\t\tlabel={ title }\n\t\t\t\tinstructions={ instructions }\n\t\t\t\tclassName={ placeholderClassName }\n\t\t\t\tnotices={ notices }\n\t\t\t\tonDoubleClick={ onDoubleClick }\n\t\t\t\tpreview={ mediaPreview }\n\t\t\t\tstyle={ style }\n\t\t\t>\n\t\t\t\t{ content }\n\t\t\t\t{ children }\n\t\t\t</Placeholder>\n\t\t);\n\t};\n\tconst renderPlaceholder = placeholder ?? defaultRenderPlaceholder;\n\n\tconst renderDropZone = () => {\n\t\tif ( disableDropZone ) {\n\t\t\treturn null;\n\t\t}\n\n\t\treturn (\n\t\t\t<DropZone onFilesDrop={ onFilesUpload } onHTMLDrop={ onHTMLDrop } />\n\t\t);\n\t};\n\n\tconst renderCancelLink = () => {\n\t\treturn (\n\t\t\tonCancel && (\n\t\t\t\t<Button\n\t\t\t\t\tclassName=\"block-editor-media-placeholder__cancel-button\"\n\t\t\t\t\ttitle={ __( 'Cancel' ) }\n\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\tonClick={ onCancel }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t</Button>\n\t\t\t)\n\t\t);\n\t};\n\n\tconst renderUrlSelectionUI = () => {\n\t\treturn (\n\t\t\tonSelectURL && (\n\t\t\t\t<URLSelectionUI\n\t\t\t\t\tsrc={ src }\n\t\t\t\t\tonChangeSrc={ onChangeSrc }\n\t\t\t\t\tonSelectURL={ onSelectURL }\n\t\t\t\t/>\n\t\t\t)\n\t\t);\n\t};\n\n\tconst renderFeaturedImageToggle = () => {\n\t\treturn (\n\t\t\tonToggleFeaturedImage && (\n\t\t\t\t<div className=\"block-editor-media-placeholder__url-input-container\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tclassName=\"block-editor-media-placeholder__button\"\n\t\t\t\t\t\tonClick={ onToggleFeaturedImage }\n\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Use featured image' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t)\n\t\t);\n\t};\n\n\tconst renderMediaUploadChecked = () => {\n\t\tconst defaultButton = ( { open } ) => {\n\t\t\treturn (\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\topen();\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Media Library' ) }\n\t\t\t\t</Button>\n\t\t\t);\n\t\t};\n\t\tconst libraryButton = mediaLibraryButton ?? defaultButton;\n\t\tconst uploadMediaLibraryButton = (\n\t\t\t<MediaUpload\n\t\t\t\taddToGallery={ addToGallery }\n\t\t\t\tgallery={ multiple && onlyAllowsImages() }\n\t\t\t\tmultiple={ multiple }\n\t\t\t\tonSelect={ onSelect }\n\t\t\t\tallowedTypes={ allowedTypes }\n\t\t\t\tmode=\"browse\"\n\t\t\t\tvalue={\n\t\t\t\t\tArray.isArray( value )\n\t\t\t\t\t\t? value.map( ( { id } ) => id )\n\t\t\t\t\t\t: value.id\n\t\t\t\t}\n\t\t\t\trender={ libraryButton }\n\t\t\t/>\n\t\t);\n\n\t\tif ( mediaUpload && isAppender ) {\n\t\t\treturn (\n\t\t\t\t<>\n\t\t\t\t\t{ renderDropZone() }\n\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\tonChange={ onUpload }\n\t\t\t\t\t\taccept={ accept }\n\t\t\t\t\t\tmultiple={ !! multiple }\n\t\t\t\t\t\trender={ ( { openFileDialog } ) => {\n\t\t\t\t\t\t\tconst content = (\n\t\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t\t\t'block-editor-media-placeholder__button',\n\t\t\t\t\t\t\t\t\t\t\t'block-editor-media-placeholder__upload-button'\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\tonClick={ openFileDialog }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t{ __( 'Upload' ) }\n\t\t\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t\t\t{ uploadMediaLibraryButton }\n\t\t\t\t\t\t\t\t\t{ renderUrlSelectionUI() }\n\t\t\t\t\t\t\t\t\t{ renderFeaturedImageToggle() }\n\t\t\t\t\t\t\t\t\t{ renderCancelLink() }\n\t\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\treturn renderPlaceholder( content );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t);\n\t\t}\n\n\t\tif ( mediaUpload ) {\n\t\t\tconst content = (\n\t\t\t\t<>\n\t\t\t\t\t{ renderDropZone() }\n\t\t\t\t\t<FormFileUpload\n\t\t\t\t\t\trender={ ( { openFileDialog } ) => (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tonClick={ openFileDialog }\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t\t\t'block-editor-media-placeholder__button',\n\t\t\t\t\t\t\t\t\t'block-editor-media-placeholder__upload-button'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Upload' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tonChange={ onUpload }\n\t\t\t\t\t\taccept={ accept }\n\t\t\t\t\t\tmultiple={ !! multiple }\n\t\t\t\t\t/>\n\t\t\t\t\t{ uploadMediaLibraryButton }\n\t\t\t\t\t{ renderUrlSelectionUI() }\n\t\t\t\t\t{ renderFeaturedImageToggle() }\n\t\t\t\t\t{ renderCancelLink() }\n\t\t\t\t</>\n\t\t\t);\n\t\t\treturn renderPlaceholder( content );\n\t\t}\n\n\t\treturn renderPlaceholder( uploadMediaLibraryButton );\n\t};\n\n\tif ( disableMediaButtons ) {\n\t\treturn <MediaUploadCheck>{ renderDropZone() }</MediaUploadCheck>;\n\t}\n\n\treturn (\n\t\t<MediaUploadCheck\n\t\t\tfallback={ renderPlaceholder( renderUrlSelectionUI() ) }\n\t\t>\n\t\t\t{ renderMediaUploadChecked() }\n\t\t</MediaUploadCheck>\n\t);\n}\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/media-placeholder/README.md\n */\nexport default withFilters( 'editor.MediaPlaceholder' )( MediaPlaceholder );\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -265,8 +265,11 @@ function URLInput(props) {
|
|
|
265
265
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.PanelBody, {
|
|
266
266
|
style: _style.default['media-upload__link-input'],
|
|
267
267
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.TextControl
|
|
268
|
-
//
|
|
268
|
+
// TODO: Switch to `true` (40px size) if possible
|
|
269
269
|
, {
|
|
270
|
+
__next40pxDefaultSize: false
|
|
271
|
+
// eslint-disable-next-line jsx-a11y/no-autofocus
|
|
272
|
+
,
|
|
270
273
|
autoFocus: true,
|
|
271
274
|
autoCapitalize: "none",
|
|
272
275
|
autoCorrect: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_reactNative","require","_element","_i18n","_components","_reactNativeBridge","_icons","_blockEditor","_compose","_data","_constants","_style","_interopRequireDefault","_jsxRuntime","URL_MEDIA_SOURCE","PICKER_OPENING_DELAY","MediaUpload","Component","pickerTimeout","constructor","props","onPickerPresent","bind","onPickerSelect","getAllSources","state","url","showURLInput","otherMediaOptions","componentDidMount","allowedTypes","autoOpen","getOtherMediaOptions","otherMediaOptionsWithIcons","map","option","requiresModal","types","id","value","setState","componentWillUnmount","clearTimeout","onSelectURL","cameraImageSource","mediaSources","deviceCamera","label","OPTION_TAKE_PHOTO","MEDIA_TYPE_IMAGE","icon","capturePhoto","cameraVideoSource","OPTION_TAKE_VIDEO","MEDIA_TYPE_VIDEO","captureVideo","deviceLibrarySource","deviceLibrary","__","image","siteLibrarySource","siteMediaLibrary","OPTION_WORDPRESS_MEDIA_LIBRARY","MEDIA_TYPE_AUDIO","MEDIA_TYPE_ANY","wordpress","mediaLibrary","urlSource","OPTION_INSERT_FROM_URL","globe","internalSources","concat","getMediaOptionsItems","__experimentalOnlyMediaLibrary","isAudioBlockMediaUploadEnabled","filter","source","every","allowedType","includes","some","getChooseFromDeviceIcon","mobile","isIOS","Platform","OS","picker","setTimeout","presentPicker","onSelect","multiple","mediaSource","shift","type","requestMediaPicker","media","render","isReplacingMedia","isOneType","length","isImage","isVideo","isAudio","isAnyType","isImageOrVideo","pickerTitle","getMediaOptions","jsx","Picker","title","hideCancelButton","ref","instance","options","onChange","testID","jsxs","Fragment","children","URLInput","isVisible","onClose","open","exports","BottomSheet","hideHeader","PanelBody","style","styles","TextControl","autoFocus","autoCapitalize","autoCorrect","autoComplete","keyboardType","placeholder","_default","default","compose","withSelect","select","capabilities","blockEditorStore","getSettings"],"sources":["@wordpress/block-editor/src/components/media-upload/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { Platform } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { Component, React } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBottomSheet,\n\tPanelBody,\n\tPicker,\n\tTextControl,\n} from '@wordpress/components';\nimport {\n\tgetOtherMediaOptions,\n\trequestMediaPicker,\n\tmediaSources,\n} from '@wordpress/react-native-bridge';\nimport {\n\tcapturePhoto,\n\tcaptureVideo,\n\timage,\n\twordpress,\n\tmobile,\n\tglobe,\n} from '@wordpress/icons';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { compose } from '@wordpress/compose';\nimport { withSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tMEDIA_TYPE_IMAGE,\n\tMEDIA_TYPE_VIDEO,\n\tMEDIA_TYPE_AUDIO,\n\tMEDIA_TYPE_ANY,\n\tOPTION_TAKE_VIDEO,\n\tOPTION_TAKE_PHOTO,\n\tOPTION_INSERT_FROM_URL,\n\tOPTION_WORDPRESS_MEDIA_LIBRARY,\n} from './constants';\nimport styles from './style.scss';\n\nconst URL_MEDIA_SOURCE = 'URL';\n\nconst PICKER_OPENING_DELAY = 200;\n\nexport class MediaUpload extends Component {\n\tpickerTimeout;\n\n\tconstructor( props ) {\n\t\tsuper( props );\n\t\tthis.onPickerPresent = this.onPickerPresent.bind( this );\n\t\tthis.onPickerSelect = this.onPickerSelect.bind( this );\n\t\tthis.getAllSources = this.getAllSources.bind( this );\n\t\tthis.state = {\n\t\t\turl: '',\n\t\t\tshowURLInput: false,\n\t\t\totherMediaOptions: [],\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { allowedTypes = [], autoOpen } = this.props;\n\t\tgetOtherMediaOptions( allowedTypes, ( otherMediaOptions ) => {\n\t\t\tconst otherMediaOptionsWithIcons = otherMediaOptions.map(\n\t\t\t\t( option ) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...option,\n\t\t\t\t\t\trequiresModal: true,\n\t\t\t\t\t\ttypes: allowedTypes,\n\t\t\t\t\t\tid: option.value,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tthis.setState( { otherMediaOptions: otherMediaOptionsWithIcons } );\n\t\t} );\n\n\t\tif ( autoOpen ) {\n\t\t\tthis.onPickerPresent();\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tclearTimeout( this.pickerTimeout );\n\t}\n\n\tgetAllSources() {\n\t\tconst { onSelectURL } = this.props;\n\n\t\tconst cameraImageSource = {\n\t\t\tid: mediaSources.deviceCamera, // ID is the value sent to native.\n\t\t\tvalue: mediaSources.deviceCamera + '-IMAGE', // This is needed to diferenciate image-camera from video-camera sources.\n\t\t\tlabel: OPTION_TAKE_PHOTO,\n\t\t\trequiresModal: true,\n\t\t\ttypes: [ MEDIA_TYPE_IMAGE ],\n\t\t\ticon: capturePhoto,\n\t\t};\n\n\t\tconst cameraVideoSource = {\n\t\t\tid: mediaSources.deviceCamera,\n\t\t\tvalue: mediaSources.deviceCamera,\n\t\t\tlabel: OPTION_TAKE_VIDEO,\n\t\t\trequiresModal: true,\n\t\t\ttypes: [ MEDIA_TYPE_VIDEO ],\n\t\t\ticon: captureVideo,\n\t\t};\n\n\t\tconst deviceLibrarySource = {\n\t\t\tid: mediaSources.deviceLibrary,\n\t\t\tvalue: mediaSources.deviceLibrary,\n\t\t\tlabel: __( 'Choose from device' ),\n\t\t\trequiresModal: true,\n\t\t\ttypes: [ MEDIA_TYPE_IMAGE, MEDIA_TYPE_VIDEO ],\n\t\t\ticon: image,\n\t\t};\n\n\t\tconst siteLibrarySource = {\n\t\t\tid: mediaSources.siteMediaLibrary,\n\t\t\tvalue: mediaSources.siteMediaLibrary,\n\t\t\tlabel: OPTION_WORDPRESS_MEDIA_LIBRARY,\n\t\t\trequiresModal: true,\n\t\t\ttypes: [\n\t\t\t\tMEDIA_TYPE_IMAGE,\n\t\t\t\tMEDIA_TYPE_VIDEO,\n\t\t\t\tMEDIA_TYPE_AUDIO,\n\t\t\t\tMEDIA_TYPE_ANY,\n\t\t\t],\n\t\t\ticon: wordpress,\n\t\t\tmediaLibrary: true,\n\t\t};\n\n\t\tconst urlSource = {\n\t\t\tid: URL_MEDIA_SOURCE,\n\t\t\tvalue: URL_MEDIA_SOURCE,\n\t\t\tlabel: OPTION_INSERT_FROM_URL,\n\t\t\ttypes: [ MEDIA_TYPE_AUDIO, MEDIA_TYPE_IMAGE, MEDIA_TYPE_VIDEO ],\n\t\t\ticon: globe,\n\t\t};\n\n\t\t// Only include `urlSource` option if `onSelectURL` prop is present, in order to match the web behavior.\n\t\tconst internalSources = [\n\t\t\tdeviceLibrarySource,\n\t\t\tcameraImageSource,\n\t\t\tcameraVideoSource,\n\t\t\tsiteLibrarySource,\n\t\t\t...( onSelectURL ? [ urlSource ] : [] ),\n\t\t];\n\n\t\treturn internalSources.concat( this.state.otherMediaOptions );\n\t}\n\n\tgetMediaOptionsItems() {\n\t\tconst {\n\t\t\tallowedTypes = [],\n\t\t\t__experimentalOnlyMediaLibrary,\n\t\t\tisAudioBlockMediaUploadEnabled,\n\t\t} = this.props;\n\n\t\treturn this.getAllSources()\n\t\t\t.filter( ( source ) => {\n\t\t\t\tif ( __experimentalOnlyMediaLibrary ) {\n\t\t\t\t\treturn source.mediaLibrary;\n\t\t\t\t} else if (\n\t\t\t\t\tallowedTypes.every(\n\t\t\t\t\t\t( allowedType ) =>\n\t\t\t\t\t\t\tallowedType === MEDIA_TYPE_AUDIO &&\n\t\t\t\t\t\t\tsource.types.includes( allowedType )\n\t\t\t\t\t) &&\n\t\t\t\t\tsource.id !== URL_MEDIA_SOURCE\n\t\t\t\t) {\n\t\t\t\t\treturn isAudioBlockMediaUploadEnabled === true;\n\t\t\t\t}\n\n\t\t\t\treturn allowedTypes.some( ( allowedType ) =>\n\t\t\t\t\tsource.types.includes( allowedType )\n\t\t\t\t);\n\t\t\t} )\n\t\t\t.map( ( source ) => {\n\t\t\t\treturn {\n\t\t\t\t\t...source,\n\t\t\t\t\ticon: source.icon || this.getChooseFromDeviceIcon(),\n\t\t\t\t};\n\t\t\t} );\n\t}\n\n\tgetChooseFromDeviceIcon() {\n\t\treturn mobile;\n\t}\n\n\tonPickerPresent() {\n\t\tconst { autoOpen } = this.props;\n\t\tconst isIOS = Platform.OS === 'ios';\n\n\t\tif ( this.picker ) {\n\t\t\t// the delay below is required because on iOS this action sheet gets dismissed by the close event of the Inserter\n\t\t\t// so this delay allows the Inserter to be closed fully before presenting action sheet.\n\t\t\tif ( autoOpen && isIOS ) {\n\t\t\t\tthis.pickerTimeout = setTimeout(\n\t\t\t\t\t() => this.picker.presentPicker(),\n\t\t\t\t\tPICKER_OPENING_DELAY\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tthis.picker.presentPicker();\n\t\t\t}\n\t\t}\n\t}\n\n\tonPickerSelect( value ) {\n\t\tconst { allowedTypes = [], onSelect, multiple = false } = this.props;\n\n\t\tif ( value === URL_MEDIA_SOURCE ) {\n\t\t\tthis.setState( { showURLInput: true } );\n\t\t\treturn;\n\t\t}\n\n\t\tconst mediaSource = this.getAllSources()\n\t\t\t.filter( ( source ) => source.value === value )\n\t\t\t.shift();\n\t\tconst types = allowedTypes.filter( ( type ) =>\n\t\t\tmediaSource.types.includes( type )\n\t\t);\n\n\t\trequestMediaPicker( mediaSource.id, types, multiple, ( media ) => {\n\t\t\tif ( ( multiple && media ) || ( media && media.id ) ) {\n\t\t\t\tonSelect( media );\n\t\t\t}\n\t\t} );\n\t}\n\n\trender() {\n\t\tconst { allowedTypes = [], isReplacingMedia, multiple } = this.props;\n\t\tconst isOneType = allowedTypes.length === 1;\n\t\tconst isImage = isOneType && allowedTypes.includes( MEDIA_TYPE_IMAGE );\n\t\tconst isVideo = isOneType && allowedTypes.includes( MEDIA_TYPE_VIDEO );\n\t\tconst isAudio = isOneType && allowedTypes.includes( MEDIA_TYPE_AUDIO );\n\t\tconst isAnyType = isOneType && allowedTypes.includes( MEDIA_TYPE_ANY );\n\n\t\tconst isImageOrVideo =\n\t\t\tallowedTypes.length === 2 &&\n\t\t\tallowedTypes.includes( MEDIA_TYPE_IMAGE ) &&\n\t\t\tallowedTypes.includes( MEDIA_TYPE_VIDEO );\n\n\t\tlet pickerTitle;\n\t\tif ( isImage ) {\n\t\t\tif ( isReplacingMedia ) {\n\t\t\t\tpickerTitle = __( 'Replace image' );\n\t\t\t} else {\n\t\t\t\tpickerTitle = multiple\n\t\t\t\t\t? __( 'Choose images' )\n\t\t\t\t\t: __( 'Choose image' );\n\t\t\t}\n\t\t} else if ( isVideo ) {\n\t\t\tif ( isReplacingMedia ) {\n\t\t\t\tpickerTitle = __( 'Replace video' );\n\t\t\t} else {\n\t\t\t\tpickerTitle = __( 'Choose video' );\n\t\t\t}\n\t\t} else if ( isImageOrVideo ) {\n\t\t\tif ( isReplacingMedia ) {\n\t\t\t\tpickerTitle = __( 'Replace image or video' );\n\t\t\t} else {\n\t\t\t\tpickerTitle = __( 'Choose image or video' );\n\t\t\t}\n\t\t} else if ( isAudio ) {\n\t\t\tif ( isReplacingMedia ) {\n\t\t\t\tpickerTitle = __( 'Replace audio' );\n\t\t\t} else {\n\t\t\t\tpickerTitle = __( 'Choose audio' );\n\t\t\t}\n\t\t} else if ( isAnyType ) {\n\t\t\tpickerTitle = __( 'Choose file' );\n\t\t\tif ( isReplacingMedia ) {\n\t\t\t\tpickerTitle = __( 'Replace file' );\n\t\t\t} else {\n\t\t\t\tpickerTitle = __( 'Choose file' );\n\t\t\t}\n\t\t}\n\n\t\tconst getMediaOptions = () => (\n\t\t\t<Picker\n\t\t\t\ttitle={ pickerTitle }\n\t\t\t\thideCancelButton\n\t\t\t\tref={ ( instance ) => ( this.picker = instance ) }\n\t\t\t\toptions={ this.getMediaOptionsItems() }\n\t\t\t\tonChange={ this.onPickerSelect }\n\t\t\t\ttestID=\"media-options-picker\"\n\t\t\t/>\n\t\t);\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<URLInput\n\t\t\t\t\tisVisible={ this.state.showURLInput }\n\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\tif ( this.state.url !== '' ) {\n\t\t\t\t\t\t\tthis.props.onSelectURL( this.state.url );\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthis.setState( { showURLInput: false, url: '' } );\n\t\t\t\t\t} }\n\t\t\t\t\tonChange={ ( url ) => {\n\t\t\t\t\t\tthis.setState( { url } );\n\t\t\t\t\t} }\n\t\t\t\t\tvalue={ this.state.url }\n\t\t\t\t/>\n\t\t\t\t{ this.props.render( {\n\t\t\t\t\topen: this.onPickerPresent,\n\t\t\t\t\tgetMediaOptions,\n\t\t\t\t} ) }\n\t\t\t</>\n\t\t);\n\t}\n}\n\nfunction URLInput( props ) {\n\treturn (\n\t\t<BottomSheet\n\t\t\thideHeader\n\t\t\tisVisible={ props.isVisible }\n\t\t\tonClose={ props.onClose }\n\t\t>\n\t\t\t<PanelBody style={ styles[ 'media-upload__link-input' ] }>\n\t\t\t\t<TextControl\n\t\t\t\t\t// eslint-disable-next-line jsx-a11y/no-autofocus\n\t\t\t\t\tautoFocus\n\t\t\t\t\tautoCapitalize=\"none\"\n\t\t\t\t\tautoCorrect={ false }\n\t\t\t\t\tautoComplete={ Platform.isIOS ? 'url' : 'off' }\n\t\t\t\t\tkeyboardType=\"url\"\n\t\t\t\t\tlabel={ OPTION_INSERT_FROM_URL }\n\t\t\t\t\tonChange={ props.onChange }\n\t\t\t\t\tplaceholder={ __( 'Type a URL' ) }\n\t\t\t\t\tvalue={ props.value }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\t\t</BottomSheet>\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst { capabilities } = select( blockEditorStore ).getSettings();\n\t\treturn {\n\t\t\tisAudioBlockMediaUploadEnabled:\n\t\t\t\tcapabilities?.isAudioBlockMediaUploadEnabled === true,\n\t\t};\n\t} ),\n] )( MediaUpload );\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_reactNative","require","_element","_i18n","_components","_reactNativeBridge","_icons","_blockEditor","_compose","_data","_constants","_style","_interopRequireDefault","_jsxRuntime","URL_MEDIA_SOURCE","PICKER_OPENING_DELAY","MediaUpload","Component","pickerTimeout","constructor","props","onPickerPresent","bind","onPickerSelect","getAllSources","state","url","showURLInput","otherMediaOptions","componentDidMount","allowedTypes","autoOpen","getOtherMediaOptions","otherMediaOptionsWithIcons","map","option","requiresModal","types","id","value","setState","componentWillUnmount","clearTimeout","onSelectURL","cameraImageSource","mediaSources","deviceCamera","label","OPTION_TAKE_PHOTO","MEDIA_TYPE_IMAGE","icon","capturePhoto","cameraVideoSource","OPTION_TAKE_VIDEO","MEDIA_TYPE_VIDEO","captureVideo","deviceLibrarySource","deviceLibrary","__","image","siteLibrarySource","siteMediaLibrary","OPTION_WORDPRESS_MEDIA_LIBRARY","MEDIA_TYPE_AUDIO","MEDIA_TYPE_ANY","wordpress","mediaLibrary","urlSource","OPTION_INSERT_FROM_URL","globe","internalSources","concat","getMediaOptionsItems","__experimentalOnlyMediaLibrary","isAudioBlockMediaUploadEnabled","filter","source","every","allowedType","includes","some","getChooseFromDeviceIcon","mobile","isIOS","Platform","OS","picker","setTimeout","presentPicker","onSelect","multiple","mediaSource","shift","type","requestMediaPicker","media","render","isReplacingMedia","isOneType","length","isImage","isVideo","isAudio","isAnyType","isImageOrVideo","pickerTitle","getMediaOptions","jsx","Picker","title","hideCancelButton","ref","instance","options","onChange","testID","jsxs","Fragment","children","URLInput","isVisible","onClose","open","exports","BottomSheet","hideHeader","PanelBody","style","styles","TextControl","__next40pxDefaultSize","autoFocus","autoCapitalize","autoCorrect","autoComplete","keyboardType","placeholder","_default","default","compose","withSelect","select","capabilities","blockEditorStore","getSettings"],"sources":["@wordpress/block-editor/src/components/media-upload/index.native.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport { Platform } from 'react-native';\n\n/**\n * WordPress dependencies\n */\nimport { Component, React } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tBottomSheet,\n\tPanelBody,\n\tPicker,\n\tTextControl,\n} from '@wordpress/components';\nimport {\n\tgetOtherMediaOptions,\n\trequestMediaPicker,\n\tmediaSources,\n} from '@wordpress/react-native-bridge';\nimport {\n\tcapturePhoto,\n\tcaptureVideo,\n\timage,\n\twordpress,\n\tmobile,\n\tglobe,\n} from '@wordpress/icons';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { compose } from '@wordpress/compose';\nimport { withSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport {\n\tMEDIA_TYPE_IMAGE,\n\tMEDIA_TYPE_VIDEO,\n\tMEDIA_TYPE_AUDIO,\n\tMEDIA_TYPE_ANY,\n\tOPTION_TAKE_VIDEO,\n\tOPTION_TAKE_PHOTO,\n\tOPTION_INSERT_FROM_URL,\n\tOPTION_WORDPRESS_MEDIA_LIBRARY,\n} from './constants';\nimport styles from './style.scss';\n\nconst URL_MEDIA_SOURCE = 'URL';\n\nconst PICKER_OPENING_DELAY = 200;\n\nexport class MediaUpload extends Component {\n\tpickerTimeout;\n\n\tconstructor( props ) {\n\t\tsuper( props );\n\t\tthis.onPickerPresent = this.onPickerPresent.bind( this );\n\t\tthis.onPickerSelect = this.onPickerSelect.bind( this );\n\t\tthis.getAllSources = this.getAllSources.bind( this );\n\t\tthis.state = {\n\t\t\turl: '',\n\t\t\tshowURLInput: false,\n\t\t\totherMediaOptions: [],\n\t\t};\n\t}\n\n\tcomponentDidMount() {\n\t\tconst { allowedTypes = [], autoOpen } = this.props;\n\t\tgetOtherMediaOptions( allowedTypes, ( otherMediaOptions ) => {\n\t\t\tconst otherMediaOptionsWithIcons = otherMediaOptions.map(\n\t\t\t\t( option ) => {\n\t\t\t\t\treturn {\n\t\t\t\t\t\t...option,\n\t\t\t\t\t\trequiresModal: true,\n\t\t\t\t\t\ttypes: allowedTypes,\n\t\t\t\t\t\tid: option.value,\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tthis.setState( { otherMediaOptions: otherMediaOptionsWithIcons } );\n\t\t} );\n\n\t\tif ( autoOpen ) {\n\t\t\tthis.onPickerPresent();\n\t\t}\n\t}\n\n\tcomponentWillUnmount() {\n\t\tclearTimeout( this.pickerTimeout );\n\t}\n\n\tgetAllSources() {\n\t\tconst { onSelectURL } = this.props;\n\n\t\tconst cameraImageSource = {\n\t\t\tid: mediaSources.deviceCamera, // ID is the value sent to native.\n\t\t\tvalue: mediaSources.deviceCamera + '-IMAGE', // This is needed to diferenciate image-camera from video-camera sources.\n\t\t\tlabel: OPTION_TAKE_PHOTO,\n\t\t\trequiresModal: true,\n\t\t\ttypes: [ MEDIA_TYPE_IMAGE ],\n\t\t\ticon: capturePhoto,\n\t\t};\n\n\t\tconst cameraVideoSource = {\n\t\t\tid: mediaSources.deviceCamera,\n\t\t\tvalue: mediaSources.deviceCamera,\n\t\t\tlabel: OPTION_TAKE_VIDEO,\n\t\t\trequiresModal: true,\n\t\t\ttypes: [ MEDIA_TYPE_VIDEO ],\n\t\t\ticon: captureVideo,\n\t\t};\n\n\t\tconst deviceLibrarySource = {\n\t\t\tid: mediaSources.deviceLibrary,\n\t\t\tvalue: mediaSources.deviceLibrary,\n\t\t\tlabel: __( 'Choose from device' ),\n\t\t\trequiresModal: true,\n\t\t\ttypes: [ MEDIA_TYPE_IMAGE, MEDIA_TYPE_VIDEO ],\n\t\t\ticon: image,\n\t\t};\n\n\t\tconst siteLibrarySource = {\n\t\t\tid: mediaSources.siteMediaLibrary,\n\t\t\tvalue: mediaSources.siteMediaLibrary,\n\t\t\tlabel: OPTION_WORDPRESS_MEDIA_LIBRARY,\n\t\t\trequiresModal: true,\n\t\t\ttypes: [\n\t\t\t\tMEDIA_TYPE_IMAGE,\n\t\t\t\tMEDIA_TYPE_VIDEO,\n\t\t\t\tMEDIA_TYPE_AUDIO,\n\t\t\t\tMEDIA_TYPE_ANY,\n\t\t\t],\n\t\t\ticon: wordpress,\n\t\t\tmediaLibrary: true,\n\t\t};\n\n\t\tconst urlSource = {\n\t\t\tid: URL_MEDIA_SOURCE,\n\t\t\tvalue: URL_MEDIA_SOURCE,\n\t\t\tlabel: OPTION_INSERT_FROM_URL,\n\t\t\ttypes: [ MEDIA_TYPE_AUDIO, MEDIA_TYPE_IMAGE, MEDIA_TYPE_VIDEO ],\n\t\t\ticon: globe,\n\t\t};\n\n\t\t// Only include `urlSource` option if `onSelectURL` prop is present, in order to match the web behavior.\n\t\tconst internalSources = [\n\t\t\tdeviceLibrarySource,\n\t\t\tcameraImageSource,\n\t\t\tcameraVideoSource,\n\t\t\tsiteLibrarySource,\n\t\t\t...( onSelectURL ? [ urlSource ] : [] ),\n\t\t];\n\n\t\treturn internalSources.concat( this.state.otherMediaOptions );\n\t}\n\n\tgetMediaOptionsItems() {\n\t\tconst {\n\t\t\tallowedTypes = [],\n\t\t\t__experimentalOnlyMediaLibrary,\n\t\t\tisAudioBlockMediaUploadEnabled,\n\t\t} = this.props;\n\n\t\treturn this.getAllSources()\n\t\t\t.filter( ( source ) => {\n\t\t\t\tif ( __experimentalOnlyMediaLibrary ) {\n\t\t\t\t\treturn source.mediaLibrary;\n\t\t\t\t} else if (\n\t\t\t\t\tallowedTypes.every(\n\t\t\t\t\t\t( allowedType ) =>\n\t\t\t\t\t\t\tallowedType === MEDIA_TYPE_AUDIO &&\n\t\t\t\t\t\t\tsource.types.includes( allowedType )\n\t\t\t\t\t) &&\n\t\t\t\t\tsource.id !== URL_MEDIA_SOURCE\n\t\t\t\t) {\n\t\t\t\t\treturn isAudioBlockMediaUploadEnabled === true;\n\t\t\t\t}\n\n\t\t\t\treturn allowedTypes.some( ( allowedType ) =>\n\t\t\t\t\tsource.types.includes( allowedType )\n\t\t\t\t);\n\t\t\t} )\n\t\t\t.map( ( source ) => {\n\t\t\t\treturn {\n\t\t\t\t\t...source,\n\t\t\t\t\ticon: source.icon || this.getChooseFromDeviceIcon(),\n\t\t\t\t};\n\t\t\t} );\n\t}\n\n\tgetChooseFromDeviceIcon() {\n\t\treturn mobile;\n\t}\n\n\tonPickerPresent() {\n\t\tconst { autoOpen } = this.props;\n\t\tconst isIOS = Platform.OS === 'ios';\n\n\t\tif ( this.picker ) {\n\t\t\t// the delay below is required because on iOS this action sheet gets dismissed by the close event of the Inserter\n\t\t\t// so this delay allows the Inserter to be closed fully before presenting action sheet.\n\t\t\tif ( autoOpen && isIOS ) {\n\t\t\t\tthis.pickerTimeout = setTimeout(\n\t\t\t\t\t() => this.picker.presentPicker(),\n\t\t\t\t\tPICKER_OPENING_DELAY\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tthis.picker.presentPicker();\n\t\t\t}\n\t\t}\n\t}\n\n\tonPickerSelect( value ) {\n\t\tconst { allowedTypes = [], onSelect, multiple = false } = this.props;\n\n\t\tif ( value === URL_MEDIA_SOURCE ) {\n\t\t\tthis.setState( { showURLInput: true } );\n\t\t\treturn;\n\t\t}\n\n\t\tconst mediaSource = this.getAllSources()\n\t\t\t.filter( ( source ) => source.value === value )\n\t\t\t.shift();\n\t\tconst types = allowedTypes.filter( ( type ) =>\n\t\t\tmediaSource.types.includes( type )\n\t\t);\n\n\t\trequestMediaPicker( mediaSource.id, types, multiple, ( media ) => {\n\t\t\tif ( ( multiple && media ) || ( media && media.id ) ) {\n\t\t\t\tonSelect( media );\n\t\t\t}\n\t\t} );\n\t}\n\n\trender() {\n\t\tconst { allowedTypes = [], isReplacingMedia, multiple } = this.props;\n\t\tconst isOneType = allowedTypes.length === 1;\n\t\tconst isImage = isOneType && allowedTypes.includes( MEDIA_TYPE_IMAGE );\n\t\tconst isVideo = isOneType && allowedTypes.includes( MEDIA_TYPE_VIDEO );\n\t\tconst isAudio = isOneType && allowedTypes.includes( MEDIA_TYPE_AUDIO );\n\t\tconst isAnyType = isOneType && allowedTypes.includes( MEDIA_TYPE_ANY );\n\n\t\tconst isImageOrVideo =\n\t\t\tallowedTypes.length === 2 &&\n\t\t\tallowedTypes.includes( MEDIA_TYPE_IMAGE ) &&\n\t\t\tallowedTypes.includes( MEDIA_TYPE_VIDEO );\n\n\t\tlet pickerTitle;\n\t\tif ( isImage ) {\n\t\t\tif ( isReplacingMedia ) {\n\t\t\t\tpickerTitle = __( 'Replace image' );\n\t\t\t} else {\n\t\t\t\tpickerTitle = multiple\n\t\t\t\t\t? __( 'Choose images' )\n\t\t\t\t\t: __( 'Choose image' );\n\t\t\t}\n\t\t} else if ( isVideo ) {\n\t\t\tif ( isReplacingMedia ) {\n\t\t\t\tpickerTitle = __( 'Replace video' );\n\t\t\t} else {\n\t\t\t\tpickerTitle = __( 'Choose video' );\n\t\t\t}\n\t\t} else if ( isImageOrVideo ) {\n\t\t\tif ( isReplacingMedia ) {\n\t\t\t\tpickerTitle = __( 'Replace image or video' );\n\t\t\t} else {\n\t\t\t\tpickerTitle = __( 'Choose image or video' );\n\t\t\t}\n\t\t} else if ( isAudio ) {\n\t\t\tif ( isReplacingMedia ) {\n\t\t\t\tpickerTitle = __( 'Replace audio' );\n\t\t\t} else {\n\t\t\t\tpickerTitle = __( 'Choose audio' );\n\t\t\t}\n\t\t} else if ( isAnyType ) {\n\t\t\tpickerTitle = __( 'Choose file' );\n\t\t\tif ( isReplacingMedia ) {\n\t\t\t\tpickerTitle = __( 'Replace file' );\n\t\t\t} else {\n\t\t\t\tpickerTitle = __( 'Choose file' );\n\t\t\t}\n\t\t}\n\n\t\tconst getMediaOptions = () => (\n\t\t\t<Picker\n\t\t\t\ttitle={ pickerTitle }\n\t\t\t\thideCancelButton\n\t\t\t\tref={ ( instance ) => ( this.picker = instance ) }\n\t\t\t\toptions={ this.getMediaOptionsItems() }\n\t\t\t\tonChange={ this.onPickerSelect }\n\t\t\t\ttestID=\"media-options-picker\"\n\t\t\t/>\n\t\t);\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<URLInput\n\t\t\t\t\tisVisible={ this.state.showURLInput }\n\t\t\t\t\tonClose={ () => {\n\t\t\t\t\t\tif ( this.state.url !== '' ) {\n\t\t\t\t\t\t\tthis.props.onSelectURL( this.state.url );\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthis.setState( { showURLInput: false, url: '' } );\n\t\t\t\t\t} }\n\t\t\t\t\tonChange={ ( url ) => {\n\t\t\t\t\t\tthis.setState( { url } );\n\t\t\t\t\t} }\n\t\t\t\t\tvalue={ this.state.url }\n\t\t\t\t/>\n\t\t\t\t{ this.props.render( {\n\t\t\t\t\topen: this.onPickerPresent,\n\t\t\t\t\tgetMediaOptions,\n\t\t\t\t} ) }\n\t\t\t</>\n\t\t);\n\t}\n}\n\nfunction URLInput( props ) {\n\treturn (\n\t\t<BottomSheet\n\t\t\thideHeader\n\t\t\tisVisible={ props.isVisible }\n\t\t\tonClose={ props.onClose }\n\t\t>\n\t\t\t<PanelBody style={ styles[ 'media-upload__link-input' ] }>\n\t\t\t\t<TextControl\n\t\t\t\t\t// TODO: Switch to `true` (40px size) if possible\n\t\t\t\t\t__next40pxDefaultSize={ false }\n\t\t\t\t\t// eslint-disable-next-line jsx-a11y/no-autofocus\n\t\t\t\t\tautoFocus\n\t\t\t\t\tautoCapitalize=\"none\"\n\t\t\t\t\tautoCorrect={ false }\n\t\t\t\t\tautoComplete={ Platform.isIOS ? 'url' : 'off' }\n\t\t\t\t\tkeyboardType=\"url\"\n\t\t\t\t\tlabel={ OPTION_INSERT_FROM_URL }\n\t\t\t\t\tonChange={ props.onChange }\n\t\t\t\t\tplaceholder={ __( 'Type a URL' ) }\n\t\t\t\t\tvalue={ props.value }\n\t\t\t\t/>\n\t\t\t</PanelBody>\n\t\t</BottomSheet>\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\tconst { capabilities } = select( blockEditorStore ).getSettings();\n\t\treturn {\n\t\t\tisAudioBlockMediaUploadEnabled:\n\t\t\t\tcapabilities?.isAudioBlockMediaUploadEnabled === true,\n\t\t};\n\t} ),\n] )( MediaUpload );\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.default =
|
|
7
|
+
exports.default = MultiSelectionInspector;
|
|
8
8
|
var _i18n = require("@wordpress/i18n");
|
|
9
9
|
var _data = require("@wordpress/data");
|
|
10
10
|
var _blocks = require("@wordpress/blocks");
|
|
@@ -21,9 +21,17 @@ var _jsxRuntime = require("react/jsx-runtime");
|
|
|
21
21
|
* Internal dependencies
|
|
22
22
|
*/
|
|
23
23
|
|
|
24
|
-
function MultiSelectionInspector({
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
function MultiSelectionInspector() {
|
|
25
|
+
const {
|
|
26
|
+
blocks
|
|
27
|
+
} = (0, _data.useSelect)(select => {
|
|
28
|
+
const {
|
|
29
|
+
getMultiSelectedBlocks
|
|
30
|
+
} = select(_store.store);
|
|
31
|
+
return {
|
|
32
|
+
blocks: getMultiSelectedBlocks()
|
|
33
|
+
};
|
|
34
|
+
}, []);
|
|
27
35
|
const words = (0, _wordcount.count)((0, _blocks.serialize)(blocks), 'words');
|
|
28
36
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)("div", {
|
|
29
37
|
className: "block-editor-multi-selection-inspector__card",
|
|
@@ -44,12 +52,4 @@ function MultiSelectionInspector({
|
|
|
44
52
|
})]
|
|
45
53
|
});
|
|
46
54
|
}
|
|
47
|
-
var _default = exports.default = (0, _data.withSelect)(select => {
|
|
48
|
-
const {
|
|
49
|
-
getMultiSelectedBlocks
|
|
50
|
-
} = select(_store.store);
|
|
51
|
-
return {
|
|
52
|
-
blocks: getMultiSelectedBlocks()
|
|
53
|
-
};
|
|
54
|
-
})(MultiSelectionInspector);
|
|
55
55
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_i18n","require","_data","_blocks","_wordcount","_icons","_blockIcon","_interopRequireDefault","_store","_jsxRuntime","MultiSelectionInspector","blocks","words","wordCount","serialize","jsxs","className","children","jsx","default","icon","copy","showColors","sprintf","_n","length"
|
|
1
|
+
{"version":3,"names":["_i18n","require","_data","_blocks","_wordcount","_icons","_blockIcon","_interopRequireDefault","_store","_jsxRuntime","MultiSelectionInspector","blocks","useSelect","select","getMultiSelectedBlocks","blockEditorStore","words","wordCount","serialize","jsxs","className","children","jsx","default","icon","copy","showColors","sprintf","_n","length"],"sources":["@wordpress/block-editor/src/components/multi-selection-inspector/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { sprintf, _n } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { serialize } from '@wordpress/blocks';\nimport { count as wordCount } from '@wordpress/wordcount';\nimport { copy } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport BlockIcon from '../block-icon';\nimport { store as blockEditorStore } from '../../store';\n\nexport default function MultiSelectionInspector() {\n\tconst { blocks } = useSelect( ( select ) => {\n\t\tconst { getMultiSelectedBlocks } = select( blockEditorStore );\n\t\treturn {\n\t\t\tblocks: getMultiSelectedBlocks(),\n\t\t};\n\t}, [] );\n\tconst words = wordCount( serialize( blocks ), 'words' );\n\n\treturn (\n\t\t<div className=\"block-editor-multi-selection-inspector__card\">\n\t\t\t<BlockIcon icon={ copy } showColors />\n\t\t\t<div className=\"block-editor-multi-selection-inspector__card-content\">\n\t\t\t\t<div className=\"block-editor-multi-selection-inspector__card-title\">\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t/* translators: %d: number of blocks */\n\t\t\t\t\t\t_n( '%d Block', '%d Blocks', blocks.length ),\n\t\t\t\t\t\tblocks.length\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t\t<div className=\"block-editor-multi-selection-inspector__card-description\">\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t/* translators: %d: number of words */\n\t\t\t\t\t\t_n( '%d word selected.', '%d words selected.', words ),\n\t\t\t\t\t\twords\n\t\t\t\t\t) }\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"],"mappings":";;;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AAKA,IAAAK,UAAA,GAAAC,sBAAA,CAAAN,OAAA;AACA,IAAAO,MAAA,GAAAP,OAAA;AAAwD,IAAAQ,WAAA,GAAAR,OAAA;AAbxD;AACA;AACA;;AAOA;AACA;AACA;;AAIe,SAASS,uBAAuBA,CAAA,EAAG;EACjD,MAAM;IAAEC;EAAO,CAAC,GAAG,IAAAC,eAAS,EAAIC,MAAM,IAAM;IAC3C,MAAM;MAAEC;IAAuB,CAAC,GAAGD,MAAM,CAAEE,YAAiB,CAAC;IAC7D,OAAO;MACNJ,MAAM,EAAEG,sBAAsB,CAAC;IAChC,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,MAAME,KAAK,GAAG,IAAAC,gBAAS,EAAE,IAAAC,iBAAS,EAAEP,MAAO,CAAC,EAAE,OAAQ,CAAC;EAEvD,oBACC,IAAAF,WAAA,CAAAU,IAAA;IAAKC,SAAS,EAAC,8CAA8C;IAAAC,QAAA,gBAC5D,IAAAZ,WAAA,CAAAa,GAAA,EAAChB,UAAA,CAAAiB,OAAS;MAACC,IAAI,EAAGC,WAAM;MAACC,UAAU;IAAA,CAAE,CAAC,eACtC,IAAAjB,WAAA,CAAAU,IAAA;MAAKC,SAAS,EAAC,sDAAsD;MAAAC,QAAA,gBACpE,IAAAZ,WAAA,CAAAa,GAAA;QAAKF,SAAS,EAAC,oDAAoD;QAAAC,QAAA,EAChE,IAAAM,aAAO,GACR;QACA,IAAAC,QAAE,EAAE,UAAU,EAAE,WAAW,EAAEjB,MAAM,CAACkB,MAAO,CAAC,EAC5ClB,MAAM,CAACkB,MACR;MAAC,CACG,CAAC,eACN,IAAApB,WAAA,CAAAa,GAAA;QAAKF,SAAS,EAAC,0DAA0D;QAAAC,QAAA,EACtE,IAAAM,aAAO,GACR;QACA,IAAAC,QAAE,EAAE,mBAAmB,EAAE,oBAAoB,EAAEZ,KAAM,CAAC,EACtDA,KACD;MAAC,CACG,CAAC;IAAA,CACF,CAAC;EAAA,CACF,CAAC;AAER","ignoreList":[]}
|
|
@@ -217,8 +217,8 @@ function SpacingInputControl({
|
|
|
217
217
|
key: index,
|
|
218
218
|
name: size.name
|
|
219
219
|
}));
|
|
220
|
-
const marks = spacingSizes.map((_newValue, index) => ({
|
|
221
|
-
value: index,
|
|
220
|
+
const marks = spacingSizes.slice(1, spacingSizes.length - 1).map((_newValue, index) => ({
|
|
221
|
+
value: index + 1,
|
|
222
222
|
label: undefined
|
|
223
223
|
}));
|
|
224
224
|
const sideLabel = _utils.ALL_SIDES.includes(side) && showSideInLabel ? _utils.LABELS[side] : '';
|
|
@@ -262,6 +262,7 @@ function SpacingInputControl({
|
|
|
262
262
|
setMinValue(minimumCustomValue);
|
|
263
263
|
}
|
|
264
264
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.RangeControl, {
|
|
265
|
+
__next40pxDefaultSize: true,
|
|
265
266
|
onMouseOver: onMouseOver,
|
|
266
267
|
onMouseOut: onMouseOut,
|
|
267
268
|
onFocus: onMouseOver,
|
|
@@ -278,6 +279,7 @@ function SpacingInputControl({
|
|
|
278
279
|
hideLabelFromVision: true
|
|
279
280
|
})]
|
|
280
281
|
}), showRangeControl && !showCustomValueControl && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.RangeControl, {
|
|
282
|
+
__next40pxDefaultSize: true,
|
|
281
283
|
onMouseOver: onMouseOver,
|
|
282
284
|
onMouseOut: onMouseOut,
|
|
283
285
|
className: "spacing-sizes-control__range-control",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","_data","_element","_compose","_i18n","_icons","_useSettings","_store","_utils","_jsxRuntime","CUSTOM_VALUE_SETTINGS","px","max","steps","vw","vh","em","rm","svw","lvw","dvw","svh","lvh","dvh","vi","svi","lvi","dvi","vb","svb","lvb","dvb","vmin","svmin","lvmin","dvmin","vmax","svmax","lvmax","dvmax","SpacingInputControl","icon","isMixed","minimumCustomValue","onChange","onMouseOut","onMouseOver","showSideInLabel","side","spacingSizes","type","value","_CUSTOM_VALUE_SETTING","_CUSTOM_VALUE_SETTING2","getPresetValueFromCustomValue","selectListSizes","showRangeControl","length","RANGE_CONTROL_MAX_SIZE","disableCustomSpacingSizes","useSelect","select","editorSettings","blockEditorStore","getSettings","showCustomValueControl","setShowCustomValueControl","useState","undefined","isValueSpacingPreset","minValue","setMinValue","previousValue","usePrevious","availableUnits","useSettings","units","useCustomUnits","currentValue","showCustomValueInSelectList","name","sprintf","__","slug","size","getSliderValueFromPreset","getCustomValueFromPreset","selectedUnit","useMemo","parseQuantityAndUnitFromRawValue","setInitialValue","customTooltipContent","newValue","customRangeValue","parseFloat","getNewCustomValue","newSize","isNumeric","isNaN","nextValue","getNewPresetValue","controlType","parseInt","handleCustomValueSliderChange","next","join","allPlaceholder","options","map","index","key","marks","_newValue","label","sideLabel","ALL_SIDES","includes","LABELS","typeLabel","toLowerCase","ariaLabel","trim","jsxs","__experimentalHStack","className","children","jsx","Icon","Fragment","__experimentalUnitControl","onFocus","onBlur","min","placeholder","disableUnits","hideLabelFromVision","onDragStart","charAt","onDrag","onDragEnd","RangeControl","step","withInputField","__nextHasNoMarginBottom","onMouseDown","event","nativeEvent","offsetX","renderTooltipContent","CustomSelectControl","find","option","selection","selectedItem","Button","settings","onClick","isPressed","iconSize"],"sources":["@wordpress/block-editor/src/components/spacing-sizes-control/input-controls/spacing-input-control.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tIcon,\n\tRangeControl,\n\t__experimentalHStack as HStack,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue,\n\tCustomSelectControl,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { useState, useMemo } from '@wordpress/element';\nimport { usePrevious } from '@wordpress/compose';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { settings } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { useSettings } from '../../use-settings';\nimport { store as blockEditorStore } from '../../../store';\nimport {\n\tRANGE_CONTROL_MAX_SIZE,\n\tALL_SIDES,\n\tLABELS,\n\tgetSliderValueFromPreset,\n\tgetCustomValueFromPreset,\n\tgetPresetValueFromCustomValue,\n\tisValueSpacingPreset,\n} from '../utils';\n\nconst CUSTOM_VALUE_SETTINGS = {\n\tpx: { max: 300, steps: 1 },\n\t'%': { max: 100, steps: 1 },\n\tvw: { max: 100, steps: 1 },\n\tvh: { max: 100, steps: 1 },\n\tem: { max: 10, steps: 0.1 },\n\trm: { max: 10, steps: 0.1 },\n\tsvw: { max: 100, steps: 1 },\n\tlvw: { max: 100, steps: 1 },\n\tdvw: { max: 100, steps: 1 },\n\tsvh: { max: 100, steps: 1 },\n\tlvh: { max: 100, steps: 1 },\n\tdvh: { max: 100, steps: 1 },\n\tvi: { max: 100, steps: 1 },\n\tsvi: { max: 100, steps: 1 },\n\tlvi: { max: 100, steps: 1 },\n\tdvi: { max: 100, steps: 1 },\n\tvb: { max: 100, steps: 1 },\n\tsvb: { max: 100, steps: 1 },\n\tlvb: { max: 100, steps: 1 },\n\tdvb: { max: 100, steps: 1 },\n\tvmin: { max: 100, steps: 1 },\n\tsvmin: { max: 100, steps: 1 },\n\tlvmin: { max: 100, steps: 1 },\n\tdvmin: { max: 100, steps: 1 },\n\tvmax: { max: 100, steps: 1 },\n\tsvmax: { max: 100, steps: 1 },\n\tlvmax: { max: 100, steps: 1 },\n\tdvmax: { max: 100, steps: 1 },\n};\n\nexport default function SpacingInputControl( {\n\ticon,\n\tisMixed = false,\n\tminimumCustomValue,\n\tonChange,\n\tonMouseOut,\n\tonMouseOver,\n\tshowSideInLabel = true,\n\tside,\n\tspacingSizes,\n\ttype,\n\tvalue,\n} ) {\n\t// Treat value as a preset value if the passed in value matches the value of one of the spacingSizes.\n\tvalue = getPresetValueFromCustomValue( value, spacingSizes );\n\n\tlet selectListSizes = spacingSizes;\n\tconst showRangeControl = spacingSizes.length <= RANGE_CONTROL_MAX_SIZE;\n\n\tconst disableCustomSpacingSizes = useSelect( ( select ) => {\n\t\tconst editorSettings = select( blockEditorStore ).getSettings();\n\t\treturn editorSettings?.disableCustomSpacingSizes;\n\t} );\n\n\tconst [ showCustomValueControl, setShowCustomValueControl ] = useState(\n\t\t! disableCustomSpacingSizes &&\n\t\t\tvalue !== undefined &&\n\t\t\t! isValueSpacingPreset( value )\n\t);\n\n\tconst [ minValue, setMinValue ] = useState( minimumCustomValue );\n\n\tconst previousValue = usePrevious( value );\n\tif (\n\t\t!! value &&\n\t\tpreviousValue !== value &&\n\t\t! isValueSpacingPreset( value ) &&\n\t\tshowCustomValueControl !== true\n\t) {\n\t\tsetShowCustomValueControl( true );\n\t}\n\n\tconst [ availableUnits ] = useSettings( 'spacing.units' );\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: availableUnits || [ 'px', 'em', 'rem' ],\n\t} );\n\n\tlet currentValue = null;\n\n\tconst showCustomValueInSelectList =\n\t\t! showRangeControl &&\n\t\t! showCustomValueControl &&\n\t\tvalue !== undefined &&\n\t\t( ! isValueSpacingPreset( value ) ||\n\t\t\t( isValueSpacingPreset( value ) && isMixed ) );\n\n\tif ( showCustomValueInSelectList ) {\n\t\tselectListSizes = [\n\t\t\t...spacingSizes,\n\t\t\t{\n\t\t\t\tname: ! isMixed\n\t\t\t\t\t? // translators: A custom measurement, eg. a number followed by a unit like 12px.\n\t\t\t\t\t sprintf( __( 'Custom (%s)' ), value )\n\t\t\t\t\t: __( 'Mixed' ),\n\t\t\t\tslug: 'custom',\n\t\t\t\tsize: value,\n\t\t\t},\n\t\t];\n\t\tcurrentValue = selectListSizes.length - 1;\n\t} else if ( ! isMixed ) {\n\t\tcurrentValue = ! showCustomValueControl\n\t\t\t? getSliderValueFromPreset( value, spacingSizes )\n\t\t\t: getCustomValueFromPreset( value, spacingSizes );\n\t}\n\n\tconst selectedUnit =\n\t\tuseMemo(\n\t\t\t() => parseQuantityAndUnitFromRawValue( currentValue ),\n\t\t\t[ currentValue ]\n\t\t)[ 1 ] || units[ 0 ]?.value;\n\n\tconst setInitialValue = () => {\n\t\tif ( value === undefined ) {\n\t\t\tonChange( '0' );\n\t\t}\n\t};\n\n\tconst customTooltipContent = ( newValue ) =>\n\t\tvalue === undefined ? undefined : spacingSizes[ newValue ]?.name;\n\n\tconst customRangeValue = parseFloat( currentValue, 10 );\n\n\tconst getNewCustomValue = ( newSize ) => {\n\t\tconst isNumeric = ! isNaN( parseFloat( newSize ) );\n\t\tconst nextValue = isNumeric ? newSize : undefined;\n\t\treturn nextValue;\n\t};\n\n\tconst getNewPresetValue = ( newSize, controlType ) => {\n\t\tconst size = parseInt( newSize, 10 );\n\n\t\tif ( controlType === 'selectList' ) {\n\t\t\tif ( size === 0 ) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t\tif ( size === 1 ) {\n\t\t\t\treturn '0';\n\t\t\t}\n\t\t} else if ( size === 0 ) {\n\t\t\treturn '0';\n\t\t}\n\t\treturn `var:preset|spacing|${ spacingSizes[ newSize ]?.slug }`;\n\t};\n\n\tconst handleCustomValueSliderChange = ( next ) => {\n\t\tonChange( [ next, selectedUnit ].join( '' ) );\n\t};\n\n\tconst allPlaceholder = isMixed ? __( 'Mixed' ) : null;\n\n\tconst options = selectListSizes.map( ( size, index ) => ( {\n\t\tkey: index,\n\t\tname: size.name,\n\t} ) );\n\n\tconst marks = spacingSizes.map( ( _newValue, index ) => ( {\n\t\tvalue: index,\n\t\tlabel: undefined,\n\t} ) );\n\n\tconst sideLabel =\n\t\tALL_SIDES.includes( side ) && showSideInLabel ? LABELS[ side ] : '';\n\tconst typeLabel = showSideInLabel ? type?.toLowerCase() : type;\n\n\tconst ariaLabel = sprintf(\n\t\t// translators: 1: The side of the block being modified (top, bottom, left, All sides etc.). 2. Type of spacing being modified (Padding, margin, etc)\n\t\t__( '%1$s %2$s' ),\n\t\tsideLabel,\n\t\ttypeLabel\n\t).trim();\n\n\treturn (\n\t\t<HStack className=\"spacing-sizes-control__wrapper\">\n\t\t\t{ icon && (\n\t\t\t\t<Icon\n\t\t\t\t\tclassName=\"spacing-sizes-control__icon\"\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tsize={ 24 }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ showCustomValueControl && (\n\t\t\t\t<>\n\t\t\t\t\t<UnitControl\n\t\t\t\t\t\tonMouseOver={ onMouseOver }\n\t\t\t\t\t\tonMouseOut={ onMouseOut }\n\t\t\t\t\t\tonFocus={ onMouseOver }\n\t\t\t\t\t\tonBlur={ onMouseOut }\n\t\t\t\t\t\tonChange={ ( newSize ) =>\n\t\t\t\t\t\t\tonChange( getNewCustomValue( newSize ) )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tvalue={ currentValue }\n\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\tmin={ minValue }\n\t\t\t\t\t\tplaceholder={ allPlaceholder }\n\t\t\t\t\t\tdisableUnits={ isMixed }\n\t\t\t\t\t\tlabel={ ariaLabel }\n\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\tclassName=\"spacing-sizes-control__custom-value-input\"\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\tonDragStart={ () => {\n\t\t\t\t\t\t\tif ( value?.charAt( 0 ) === '-' ) {\n\t\t\t\t\t\t\t\tsetMinValue( 0 );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonDrag={ () => {\n\t\t\t\t\t\t\tif ( value?.charAt( 0 ) === '-' ) {\n\t\t\t\t\t\t\t\tsetMinValue( 0 );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonDragEnd={ () => {\n\t\t\t\t\t\t\tsetMinValue( minimumCustomValue );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\tonMouseOver={ onMouseOver }\n\t\t\t\t\t\tonMouseOut={ onMouseOut }\n\t\t\t\t\t\tonFocus={ onMouseOver }\n\t\t\t\t\t\tonBlur={ onMouseOut }\n\t\t\t\t\t\tvalue={ customRangeValue }\n\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\tmax={ CUSTOM_VALUE_SETTINGS[ selectedUnit ]?.max ?? 10 }\n\t\t\t\t\t\tstep={\n\t\t\t\t\t\t\tCUSTOM_VALUE_SETTINGS[ selectedUnit ]?.steps ?? 0.1\n\t\t\t\t\t\t}\n\t\t\t\t\t\twithInputField={ false }\n\t\t\t\t\t\tonChange={ handleCustomValueSliderChange }\n\t\t\t\t\t\tclassName=\"spacing-sizes-control__custom-value-range\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ ariaLabel }\n\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t{ showRangeControl && ! showCustomValueControl && (\n\t\t\t\t<RangeControl\n\t\t\t\t\tonMouseOver={ onMouseOver }\n\t\t\t\t\tonMouseOut={ onMouseOut }\n\t\t\t\t\tclassName=\"spacing-sizes-control__range-control\"\n\t\t\t\t\tvalue={ currentValue }\n\t\t\t\t\tonChange={ ( newSize ) =>\n\t\t\t\t\t\tonChange( getNewPresetValue( newSize ) )\n\t\t\t\t\t}\n\t\t\t\t\tonMouseDown={ ( event ) => {\n\t\t\t\t\t\t// If mouse down is near start of range set initial value to 0, which\n\t\t\t\t\t\t// prevents the user have to drag right then left to get 0 setting.\n\t\t\t\t\t\tif ( event?.nativeEvent?.offsetX < 35 ) {\n\t\t\t\t\t\t\tsetInitialValue();\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t\twithInputField={ false }\n\t\t\t\t\taria-valuenow={ currentValue }\n\t\t\t\t\taria-valuetext={ spacingSizes[ currentValue ]?.name }\n\t\t\t\t\trenderTooltipContent={ customTooltipContent }\n\t\t\t\t\tmin={ 0 }\n\t\t\t\t\tmax={ spacingSizes.length - 1 }\n\t\t\t\t\tmarks={ marks }\n\t\t\t\t\tlabel={ ariaLabel }\n\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tonFocus={ onMouseOver }\n\t\t\t\t\tonBlur={ onMouseOut }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ! showRangeControl && ! showCustomValueControl && (\n\t\t\t\t<CustomSelectControl\n\t\t\t\t\tclassName=\"spacing-sizes-control__custom-select-control\"\n\t\t\t\t\tvalue={\n\t\t\t\t\t\t// passing empty string as a fallback to continue using the\n\t\t\t\t\t\t// component in controlled mode\n\t\t\t\t\t\toptions.find(\n\t\t\t\t\t\t\t( option ) => option.key === currentValue\n\t\t\t\t\t\t) || ''\n\t\t\t\t\t}\n\t\t\t\t\tonChange={ ( selection ) => {\n\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\tgetNewPresetValue(\n\t\t\t\t\t\t\t\tselection.selectedItem.key,\n\t\t\t\t\t\t\t\t'selectList'\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\t} }\n\t\t\t\t\toptions={ options }\n\t\t\t\t\tlabel={ ariaLabel }\n\t\t\t\t\thideLabelFromVision\n\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\tonMouseOver={ onMouseOver }\n\t\t\t\t\tonMouseOut={ onMouseOut }\n\t\t\t\t\tonFocus={ onMouseOver }\n\t\t\t\t\tonBlur={ onMouseOut }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ! disableCustomSpacingSizes && (\n\t\t\t\t<Button\n\t\t\t\t\tlabel={\n\t\t\t\t\t\tshowCustomValueControl\n\t\t\t\t\t\t\t? __( 'Use size preset' )\n\t\t\t\t\t\t\t: __( 'Set custom size' )\n\t\t\t\t\t}\n\t\t\t\t\ticon={ settings }\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tsetShowCustomValueControl( ! showCustomValueControl );\n\t\t\t\t\t} }\n\t\t\t\t\tisPressed={ showCustomValueControl }\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t\tclassName=\"spacing-sizes-control__custom-toggle\"\n\t\t\t\t\ticonSize={ 24 }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</HStack>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_components","require","_data","_element","_compose","_i18n","_icons","_useSettings","_store","_utils","_jsxRuntime","CUSTOM_VALUE_SETTINGS","px","max","steps","vw","vh","em","rm","svw","lvw","dvw","svh","lvh","dvh","vi","svi","lvi","dvi","vb","svb","lvb","dvb","vmin","svmin","lvmin","dvmin","vmax","svmax","lvmax","dvmax","SpacingInputControl","icon","isMixed","minimumCustomValue","onChange","onMouseOut","onMouseOver","showSideInLabel","side","spacingSizes","type","value","_CUSTOM_VALUE_SETTING","_CUSTOM_VALUE_SETTING2","getPresetValueFromCustomValue","selectListSizes","showRangeControl","length","RANGE_CONTROL_MAX_SIZE","disableCustomSpacingSizes","useSelect","select","editorSettings","blockEditorStore","getSettings","showCustomValueControl","setShowCustomValueControl","useState","undefined","isValueSpacingPreset","minValue","setMinValue","previousValue","usePrevious","availableUnits","useSettings","units","useCustomUnits","currentValue","showCustomValueInSelectList","name","sprintf","__","slug","size","getSliderValueFromPreset","getCustomValueFromPreset","selectedUnit","useMemo","parseQuantityAndUnitFromRawValue","setInitialValue","customTooltipContent","newValue","customRangeValue","parseFloat","getNewCustomValue","newSize","isNumeric","isNaN","nextValue","getNewPresetValue","controlType","parseInt","handleCustomValueSliderChange","next","join","allPlaceholder","options","map","index","key","marks","slice","_newValue","label","sideLabel","ALL_SIDES","includes","LABELS","typeLabel","toLowerCase","ariaLabel","trim","jsxs","__experimentalHStack","className","children","jsx","Icon","Fragment","__experimentalUnitControl","onFocus","onBlur","min","placeholder","disableUnits","hideLabelFromVision","onDragStart","charAt","onDrag","onDragEnd","RangeControl","__next40pxDefaultSize","step","withInputField","__nextHasNoMarginBottom","onMouseDown","event","nativeEvent","offsetX","renderTooltipContent","CustomSelectControl","find","option","selection","selectedItem","Button","settings","onClick","isPressed","iconSize"],"sources":["@wordpress/block-editor/src/components/spacing-sizes-control/input-controls/spacing-input-control.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tIcon,\n\tRangeControl,\n\t__experimentalHStack as HStack,\n\t__experimentalUnitControl as UnitControl,\n\t__experimentalUseCustomUnits as useCustomUnits,\n\t__experimentalParseQuantityAndUnitFromRawValue as parseQuantityAndUnitFromRawValue,\n\tCustomSelectControl,\n} from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\nimport { useState, useMemo } from '@wordpress/element';\nimport { usePrevious } from '@wordpress/compose';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { settings } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { useSettings } from '../../use-settings';\nimport { store as blockEditorStore } from '../../../store';\nimport {\n\tRANGE_CONTROL_MAX_SIZE,\n\tALL_SIDES,\n\tLABELS,\n\tgetSliderValueFromPreset,\n\tgetCustomValueFromPreset,\n\tgetPresetValueFromCustomValue,\n\tisValueSpacingPreset,\n} from '../utils';\n\nconst CUSTOM_VALUE_SETTINGS = {\n\tpx: { max: 300, steps: 1 },\n\t'%': { max: 100, steps: 1 },\n\tvw: { max: 100, steps: 1 },\n\tvh: { max: 100, steps: 1 },\n\tem: { max: 10, steps: 0.1 },\n\trm: { max: 10, steps: 0.1 },\n\tsvw: { max: 100, steps: 1 },\n\tlvw: { max: 100, steps: 1 },\n\tdvw: { max: 100, steps: 1 },\n\tsvh: { max: 100, steps: 1 },\n\tlvh: { max: 100, steps: 1 },\n\tdvh: { max: 100, steps: 1 },\n\tvi: { max: 100, steps: 1 },\n\tsvi: { max: 100, steps: 1 },\n\tlvi: { max: 100, steps: 1 },\n\tdvi: { max: 100, steps: 1 },\n\tvb: { max: 100, steps: 1 },\n\tsvb: { max: 100, steps: 1 },\n\tlvb: { max: 100, steps: 1 },\n\tdvb: { max: 100, steps: 1 },\n\tvmin: { max: 100, steps: 1 },\n\tsvmin: { max: 100, steps: 1 },\n\tlvmin: { max: 100, steps: 1 },\n\tdvmin: { max: 100, steps: 1 },\n\tvmax: { max: 100, steps: 1 },\n\tsvmax: { max: 100, steps: 1 },\n\tlvmax: { max: 100, steps: 1 },\n\tdvmax: { max: 100, steps: 1 },\n};\n\nexport default function SpacingInputControl( {\n\ticon,\n\tisMixed = false,\n\tminimumCustomValue,\n\tonChange,\n\tonMouseOut,\n\tonMouseOver,\n\tshowSideInLabel = true,\n\tside,\n\tspacingSizes,\n\ttype,\n\tvalue,\n} ) {\n\t// Treat value as a preset value if the passed in value matches the value of one of the spacingSizes.\n\tvalue = getPresetValueFromCustomValue( value, spacingSizes );\n\n\tlet selectListSizes = spacingSizes;\n\tconst showRangeControl = spacingSizes.length <= RANGE_CONTROL_MAX_SIZE;\n\n\tconst disableCustomSpacingSizes = useSelect( ( select ) => {\n\t\tconst editorSettings = select( blockEditorStore ).getSettings();\n\t\treturn editorSettings?.disableCustomSpacingSizes;\n\t} );\n\n\tconst [ showCustomValueControl, setShowCustomValueControl ] = useState(\n\t\t! disableCustomSpacingSizes &&\n\t\t\tvalue !== undefined &&\n\t\t\t! isValueSpacingPreset( value )\n\t);\n\n\tconst [ minValue, setMinValue ] = useState( minimumCustomValue );\n\n\tconst previousValue = usePrevious( value );\n\tif (\n\t\t!! value &&\n\t\tpreviousValue !== value &&\n\t\t! isValueSpacingPreset( value ) &&\n\t\tshowCustomValueControl !== true\n\t) {\n\t\tsetShowCustomValueControl( true );\n\t}\n\n\tconst [ availableUnits ] = useSettings( 'spacing.units' );\n\tconst units = useCustomUnits( {\n\t\tavailableUnits: availableUnits || [ 'px', 'em', 'rem' ],\n\t} );\n\n\tlet currentValue = null;\n\n\tconst showCustomValueInSelectList =\n\t\t! showRangeControl &&\n\t\t! showCustomValueControl &&\n\t\tvalue !== undefined &&\n\t\t( ! isValueSpacingPreset( value ) ||\n\t\t\t( isValueSpacingPreset( value ) && isMixed ) );\n\n\tif ( showCustomValueInSelectList ) {\n\t\tselectListSizes = [\n\t\t\t...spacingSizes,\n\t\t\t{\n\t\t\t\tname: ! isMixed\n\t\t\t\t\t? // translators: A custom measurement, eg. a number followed by a unit like 12px.\n\t\t\t\t\t sprintf( __( 'Custom (%s)' ), value )\n\t\t\t\t\t: __( 'Mixed' ),\n\t\t\t\tslug: 'custom',\n\t\t\t\tsize: value,\n\t\t\t},\n\t\t];\n\t\tcurrentValue = selectListSizes.length - 1;\n\t} else if ( ! isMixed ) {\n\t\tcurrentValue = ! showCustomValueControl\n\t\t\t? getSliderValueFromPreset( value, spacingSizes )\n\t\t\t: getCustomValueFromPreset( value, spacingSizes );\n\t}\n\n\tconst selectedUnit =\n\t\tuseMemo(\n\t\t\t() => parseQuantityAndUnitFromRawValue( currentValue ),\n\t\t\t[ currentValue ]\n\t\t)[ 1 ] || units[ 0 ]?.value;\n\n\tconst setInitialValue = () => {\n\t\tif ( value === undefined ) {\n\t\t\tonChange( '0' );\n\t\t}\n\t};\n\n\tconst customTooltipContent = ( newValue ) =>\n\t\tvalue === undefined ? undefined : spacingSizes[ newValue ]?.name;\n\n\tconst customRangeValue = parseFloat( currentValue, 10 );\n\n\tconst getNewCustomValue = ( newSize ) => {\n\t\tconst isNumeric = ! isNaN( parseFloat( newSize ) );\n\t\tconst nextValue = isNumeric ? newSize : undefined;\n\t\treturn nextValue;\n\t};\n\n\tconst getNewPresetValue = ( newSize, controlType ) => {\n\t\tconst size = parseInt( newSize, 10 );\n\n\t\tif ( controlType === 'selectList' ) {\n\t\t\tif ( size === 0 ) {\n\t\t\t\treturn undefined;\n\t\t\t}\n\t\t\tif ( size === 1 ) {\n\t\t\t\treturn '0';\n\t\t\t}\n\t\t} else if ( size === 0 ) {\n\t\t\treturn '0';\n\t\t}\n\t\treturn `var:preset|spacing|${ spacingSizes[ newSize ]?.slug }`;\n\t};\n\n\tconst handleCustomValueSliderChange = ( next ) => {\n\t\tonChange( [ next, selectedUnit ].join( '' ) );\n\t};\n\n\tconst allPlaceholder = isMixed ? __( 'Mixed' ) : null;\n\n\tconst options = selectListSizes.map( ( size, index ) => ( {\n\t\tkey: index,\n\t\tname: size.name,\n\t} ) );\n\n\tconst marks = spacingSizes\n\t\t.slice( 1, spacingSizes.length - 1 )\n\t\t.map( ( _newValue, index ) => ( {\n\t\t\tvalue: index + 1,\n\t\t\tlabel: undefined,\n\t\t} ) );\n\n\tconst sideLabel =\n\t\tALL_SIDES.includes( side ) && showSideInLabel ? LABELS[ side ] : '';\n\tconst typeLabel = showSideInLabel ? type?.toLowerCase() : type;\n\n\tconst ariaLabel = sprintf(\n\t\t// translators: 1: The side of the block being modified (top, bottom, left, All sides etc.). 2. Type of spacing being modified (Padding, margin, etc)\n\t\t__( '%1$s %2$s' ),\n\t\tsideLabel,\n\t\ttypeLabel\n\t).trim();\n\n\treturn (\n\t\t<HStack className=\"spacing-sizes-control__wrapper\">\n\t\t\t{ icon && (\n\t\t\t\t<Icon\n\t\t\t\t\tclassName=\"spacing-sizes-control__icon\"\n\t\t\t\t\ticon={ icon }\n\t\t\t\t\tsize={ 24 }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ showCustomValueControl && (\n\t\t\t\t<>\n\t\t\t\t\t<UnitControl\n\t\t\t\t\t\tonMouseOver={ onMouseOver }\n\t\t\t\t\t\tonMouseOut={ onMouseOut }\n\t\t\t\t\t\tonFocus={ onMouseOver }\n\t\t\t\t\t\tonBlur={ onMouseOut }\n\t\t\t\t\t\tonChange={ ( newSize ) =>\n\t\t\t\t\t\t\tonChange( getNewCustomValue( newSize ) )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tvalue={ currentValue }\n\t\t\t\t\t\tunits={ units }\n\t\t\t\t\t\tmin={ minValue }\n\t\t\t\t\t\tplaceholder={ allPlaceholder }\n\t\t\t\t\t\tdisableUnits={ isMixed }\n\t\t\t\t\t\tlabel={ ariaLabel }\n\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t\tclassName=\"spacing-sizes-control__custom-value-input\"\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\tonDragStart={ () => {\n\t\t\t\t\t\t\tif ( value?.charAt( 0 ) === '-' ) {\n\t\t\t\t\t\t\t\tsetMinValue( 0 );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonDrag={ () => {\n\t\t\t\t\t\t\tif ( value?.charAt( 0 ) === '-' ) {\n\t\t\t\t\t\t\t\tsetMinValue( 0 );\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonDragEnd={ () => {\n\t\t\t\t\t\t\tsetMinValue( minimumCustomValue );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t<RangeControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tonMouseOver={ onMouseOver }\n\t\t\t\t\t\tonMouseOut={ onMouseOut }\n\t\t\t\t\t\tonFocus={ onMouseOver }\n\t\t\t\t\t\tonBlur={ onMouseOut }\n\t\t\t\t\t\tvalue={ customRangeValue }\n\t\t\t\t\t\tmin={ 0 }\n\t\t\t\t\t\tmax={ CUSTOM_VALUE_SETTINGS[ selectedUnit ]?.max ?? 10 }\n\t\t\t\t\t\tstep={\n\t\t\t\t\t\t\tCUSTOM_VALUE_SETTINGS[ selectedUnit ]?.steps ?? 0.1\n\t\t\t\t\t\t}\n\t\t\t\t\t\twithInputField={ false }\n\t\t\t\t\t\tonChange={ handleCustomValueSliderChange }\n\t\t\t\t\t\tclassName=\"spacing-sizes-control__custom-value-range\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ ariaLabel }\n\t\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t/>\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t{ showRangeControl && ! showCustomValueControl && (\n\t\t\t\t<RangeControl\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\tonMouseOver={ onMouseOver }\n\t\t\t\t\tonMouseOut={ onMouseOut }\n\t\t\t\t\tclassName=\"spacing-sizes-control__range-control\"\n\t\t\t\t\tvalue={ currentValue }\n\t\t\t\t\tonChange={ ( newSize ) =>\n\t\t\t\t\t\tonChange( getNewPresetValue( newSize ) )\n\t\t\t\t\t}\n\t\t\t\t\tonMouseDown={ ( event ) => {\n\t\t\t\t\t\t// If mouse down is near start of range set initial value to 0, which\n\t\t\t\t\t\t// prevents the user have to drag right then left to get 0 setting.\n\t\t\t\t\t\tif ( event?.nativeEvent?.offsetX < 35 ) {\n\t\t\t\t\t\t\tsetInitialValue();\n\t\t\t\t\t\t}\n\t\t\t\t\t} }\n\t\t\t\t\twithInputField={ false }\n\t\t\t\t\taria-valuenow={ currentValue }\n\t\t\t\t\taria-valuetext={ spacingSizes[ currentValue ]?.name }\n\t\t\t\t\trenderTooltipContent={ customTooltipContent }\n\t\t\t\t\tmin={ 0 }\n\t\t\t\t\tmax={ spacingSizes.length - 1 }\n\t\t\t\t\tmarks={ marks }\n\t\t\t\t\tlabel={ ariaLabel }\n\t\t\t\t\thideLabelFromVision\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tonFocus={ onMouseOver }\n\t\t\t\t\tonBlur={ onMouseOut }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ! showRangeControl && ! showCustomValueControl && (\n\t\t\t\t<CustomSelectControl\n\t\t\t\t\tclassName=\"spacing-sizes-control__custom-select-control\"\n\t\t\t\t\tvalue={\n\t\t\t\t\t\t// passing empty string as a fallback to continue using the\n\t\t\t\t\t\t// component in controlled mode\n\t\t\t\t\t\toptions.find(\n\t\t\t\t\t\t\t( option ) => option.key === currentValue\n\t\t\t\t\t\t) || ''\n\t\t\t\t\t}\n\t\t\t\t\tonChange={ ( selection ) => {\n\t\t\t\t\t\tonChange(\n\t\t\t\t\t\t\tgetNewPresetValue(\n\t\t\t\t\t\t\t\tselection.selectedItem.key,\n\t\t\t\t\t\t\t\t'selectList'\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t);\n\t\t\t\t\t} }\n\t\t\t\t\toptions={ options }\n\t\t\t\t\tlabel={ ariaLabel }\n\t\t\t\t\thideLabelFromVision\n\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\tonMouseOver={ onMouseOver }\n\t\t\t\t\tonMouseOut={ onMouseOut }\n\t\t\t\t\tonFocus={ onMouseOver }\n\t\t\t\t\tonBlur={ onMouseOut }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ ! disableCustomSpacingSizes && (\n\t\t\t\t<Button\n\t\t\t\t\tlabel={\n\t\t\t\t\t\tshowCustomValueControl\n\t\t\t\t\t\t\t? __( 'Use size preset' )\n\t\t\t\t\t\t\t: __( 'Set custom size' )\n\t\t\t\t\t}\n\t\t\t\t\ticon={ settings }\n\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\tsetShowCustomValueControl( ! showCustomValueControl );\n\t\t\t\t\t} }\n\t\t\t\t\tisPressed={ showCustomValueControl }\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t\tclassName=\"spacing-sizes-control__custom-toggle\"\n\t\t\t\t\ticonSize={ 24 }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</HStack>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -9,7 +9,7 @@ var _clsx = _interopRequireDefault(require("clsx"));
|
|
|
9
9
|
var _i18n = require("@wordpress/i18n");
|
|
10
10
|
var _icons = require("@wordpress/icons");
|
|
11
11
|
var _element = require("@wordpress/element");
|
|
12
|
-
var
|
|
12
|
+
var _components = require("@wordpress/components");
|
|
13
13
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
14
14
|
/**
|
|
15
15
|
* External dependencies
|
|
@@ -19,10 +19,6 @@ var _jsxRuntime = require("react/jsx-runtime");
|
|
|
19
19
|
* WordPress dependencies
|
|
20
20
|
*/
|
|
21
21
|
|
|
22
|
-
/**
|
|
23
|
-
* Internal dependencies
|
|
24
|
-
*/
|
|
25
|
-
|
|
26
22
|
const TEXT_ALIGNMENT_OPTIONS = [{
|
|
27
23
|
label: (0, _i18n.__)('Align text left'),
|
|
28
24
|
value: 'left',
|
|
@@ -63,14 +59,23 @@ function TextAlignmentControl({
|
|
|
63
59
|
if (!validOptions.length) {
|
|
64
60
|
return null;
|
|
65
61
|
}
|
|
66
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
62
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToggleGroupControl, {
|
|
63
|
+
isDeselectable: true,
|
|
64
|
+
__nextHasNoMarginBottom: true,
|
|
65
|
+
__next40pxDefaultSize: true,
|
|
67
66
|
label: (0, _i18n.__)('Text alignment'),
|
|
68
|
-
options: validOptions,
|
|
69
67
|
className: (0, _clsx.default)('block-editor-text-alignment-control', className),
|
|
70
68
|
value: value,
|
|
71
69
|
onChange: newValue => {
|
|
72
70
|
onChange(newValue === value ? undefined : newValue);
|
|
73
|
-
}
|
|
71
|
+
},
|
|
72
|
+
children: validOptions.map(option => {
|
|
73
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalToggleGroupControlOptionIcon, {
|
|
74
|
+
value: option.value,
|
|
75
|
+
icon: option.icon,
|
|
76
|
+
label: option.label
|
|
77
|
+
}, option.value);
|
|
78
|
+
})
|
|
74
79
|
});
|
|
75
80
|
}
|
|
76
81
|
//# sourceMappingURL=index.js.map
|