@wordpress/block-editor 12.19.1 → 12.19.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/components/block-tools/insertion-point.js +4 -1
- package/build/components/block-tools/insertion-point.js.map +1 -1
- package/build/components/global-styles/advanced-panel.js +5 -10
- package/build/components/global-styles/advanced-panel.js.map +1 -1
- package/build/components/global-styles/border-panel.js +4 -3
- package/build/components/global-styles/border-panel.js.map +1 -1
- package/build/components/global-styles/get-global-styles-changes.js +61 -24
- package/build/components/global-styles/get-global-styles-changes.js.map +1 -1
- package/build/components/global-styles/shadow-panel-components.js +3 -3
- package/build/components/global-styles/shadow-panel-components.js.map +1 -1
- package/build/components/global-styles/typography-panel.js +8 -6
- package/build/components/global-styles/typography-panel.js.map +1 -1
- package/build/components/iframe/index.js +4 -1
- package/build/components/iframe/index.js.map +1 -1
- package/build/components/inserter/media-tab/media-preview.js +1 -1
- package/build/components/inserter/media-tab/media-preview.js.map +1 -1
- package/build/components/rich-text/index.js +7 -3
- package/build/components/rich-text/index.js.map +1 -1
- package/build/components/rich-text/index.native.js +1 -0
- package/build/components/rich-text/index.native.js.map +1 -1
- package/build/components/rich-text/use-enter.js +1 -0
- package/build/components/rich-text/use-enter.js.map +1 -1
- package/build/components/rich-text/use-paste-handler.js +25 -26
- package/build/components/rich-text/use-paste-handler.js.map +1 -1
- package/build/hooks/background.js +4 -2
- package/build/hooks/background.js.map +1 -1
- package/build/hooks/use-bindings-attributes.js +0 -17
- package/build/hooks/use-bindings-attributes.js.map +1 -1
- package/build/hooks/utils.js +8 -4
- package/build/hooks/utils.js.map +1 -1
- package/build/private-apis.js +3 -1
- package/build/private-apis.js.map +1 -1
- package/build/store/get-block-settings.js +17 -4
- package/build/store/get-block-settings.js.map +1 -1
- package/build/store/index.js +0 -2
- package/build/store/index.js.map +1 -1
- package/build/store/private-actions.js +5 -0
- package/build/store/private-actions.js.map +1 -1
- package/build/store/private-keys.js +8 -0
- package/build/store/private-keys.js.map +1 -0
- package/build/store/private-selectors.js +6 -9
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/reducer.js +1 -9
- package/build/store/reducer.js.map +1 -1
- package/build/store/selectors.js +7 -12
- package/build/store/selectors.js.map +1 -1
- package/build/store/utils.js +7 -2
- package/build/store/utils.js.map +1 -1
- package/build-module/components/block-tools/insertion-point.js +4 -1
- package/build-module/components/block-tools/insertion-point.js.map +1 -1
- package/build-module/components/global-styles/advanced-panel.js +6 -11
- package/build-module/components/global-styles/advanced-panel.js.map +1 -1
- package/build-module/components/global-styles/border-panel.js +5 -4
- package/build-module/components/global-styles/border-panel.js.map +1 -1
- package/build-module/components/global-styles/get-global-styles-changes.js +61 -25
- package/build-module/components/global-styles/get-global-styles-changes.js.map +1 -1
- package/build-module/components/global-styles/shadow-panel-components.js +3 -3
- package/build-module/components/global-styles/shadow-panel-components.js.map +1 -1
- package/build-module/components/global-styles/typography-panel.js +9 -7
- package/build-module/components/global-styles/typography-panel.js.map +1 -1
- package/build-module/components/iframe/index.js +4 -1
- package/build-module/components/iframe/index.js.map +1 -1
- package/build-module/components/inserter/media-tab/media-preview.js +1 -1
- package/build-module/components/inserter/media-tab/media-preview.js.map +1 -1
- package/build-module/components/rich-text/index.js +7 -3
- package/build-module/components/rich-text/index.js.map +1 -1
- package/build-module/components/rich-text/index.native.js +1 -0
- package/build-module/components/rich-text/index.native.js.map +1 -1
- package/build-module/components/rich-text/use-enter.js +1 -0
- package/build-module/components/rich-text/use-enter.js.map +1 -1
- package/build-module/components/rich-text/use-paste-handler.js +25 -26
- package/build-module/components/rich-text/use-paste-handler.js.map +1 -1
- package/build-module/hooks/background.js +4 -2
- package/build-module/hooks/background.js.map +1 -1
- package/build-module/hooks/use-bindings-attributes.js +0 -17
- package/build-module/hooks/use-bindings-attributes.js.map +1 -1
- package/build-module/hooks/utils.js +8 -4
- package/build-module/hooks/utils.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/get-block-settings.js +16 -4
- package/build-module/store/get-block-settings.js.map +1 -1
- package/build-module/store/index.js +0 -2
- package/build-module/store/index.js.map +1 -1
- package/build-module/store/private-actions.js +5 -0
- package/build-module/store/private-actions.js.map +1 -1
- package/build-module/store/private-keys.js +2 -0
- package/build-module/store/private-keys.js.map +1 -0
- package/build-module/store/private-selectors.js +5 -6
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/reducer.js +1 -9
- package/build-module/store/reducer.js.map +1 -1
- package/build-module/store/selectors.js +8 -13
- package/build-module/store/selectors.js.map +1 -1
- package/build-module/store/utils.js +6 -2
- package/build-module/store/utils.js.map +1 -1
- package/build-style/style-rtl.css +0 -10
- package/build-style/style.css +0 -10
- package/package.json +31 -31
- package/src/components/block-tools/insertion-point.js +6 -1
- package/src/components/global-styles/advanced-panel.js +6 -12
- package/src/components/global-styles/border-panel.js +4 -6
- package/src/components/global-styles/get-global-styles-changes.js +68 -28
- package/src/components/global-styles/shadow-panel-components.js +3 -3
- package/src/components/global-styles/style.scss +0 -10
- package/src/components/global-styles/test/get-global-styles-changes.js +114 -75
- package/src/components/global-styles/typography-panel.js +11 -7
- package/src/components/iframe/index.js +4 -1
- package/src/components/inserter/media-tab/media-preview.js +6 -1
- package/src/components/rich-text/index.js +12 -5
- package/src/components/rich-text/index.native.js +1 -0
- package/src/components/rich-text/use-enter.js +1 -0
- package/src/components/rich-text/use-paste-handler.js +26 -25
- package/src/hooks/background.js +5 -2
- package/src/hooks/use-bindings-attributes.js +0 -21
- package/src/hooks/utils.js +24 -8
- package/src/private-apis.js +2 -0
- package/src/store/get-block-settings.js +15 -4
- package/src/store/index.js +0 -2
- package/src/store/private-actions.js +9 -0
- package/src/store/private-keys.js +1 -0
- package/src/store/private-selectors.js +4 -7
- package/src/store/reducer.js +0 -10
- package/src/store/selectors.js +7 -15
- package/src/store/utils.js +7 -2
- package/build/store/resolvers.js +0 -27
- package/build/store/resolvers.js.map +0 -1
- package/build-module/store/resolvers.js +0 -20
- package/build-module/store/resolvers.js.map +0 -1
- package/src/store/resolvers.js +0 -17
|
@@ -9,7 +9,7 @@ import { useCallback } from '@wordpress/element';
|
|
|
9
9
|
/**
|
|
10
10
|
* Internal dependencies
|
|
11
11
|
*/
|
|
12
|
-
import { mergeOrigins,
|
|
12
|
+
import { mergeOrigins, overrideOrigins, hasOriginValue } from '../../store/get-block-settings';
|
|
13
13
|
import FontFamilyControl from '../font-family';
|
|
14
14
|
import FontAppearanceControl from '../font-appearance-control';
|
|
15
15
|
import LineHeightControl from '../line-height-control';
|
|
@@ -34,10 +34,10 @@ export function useHasTypographyPanel(settings) {
|
|
|
34
34
|
return hasFontFamily || hasLineHeight || hasFontAppearance || hasLetterSpacing || hasTextTransform || hasFontSize || hasTextDecoration || hasWritingMode || hasTextColumns;
|
|
35
35
|
}
|
|
36
36
|
function useHasFontSizeControl(settings) {
|
|
37
|
-
return
|
|
37
|
+
return hasOriginValue(settings?.typography?.fontSizes) || settings?.typography?.customFontSize;
|
|
38
38
|
}
|
|
39
39
|
function useHasFontFamilyControl(settings) {
|
|
40
|
-
return
|
|
40
|
+
return hasOriginValue(settings?.typography?.fontFamilies);
|
|
41
41
|
}
|
|
42
42
|
function useHasLineHeightControl(settings) {
|
|
43
43
|
return settings?.typography?.lineHeight;
|
|
@@ -70,10 +70,11 @@ function useHasTextColumnsControl(settings) {
|
|
|
70
70
|
return settings?.typography?.textColumns;
|
|
71
71
|
}
|
|
72
72
|
function getUniqueFontSizesBySlug(settings) {
|
|
73
|
-
|
|
74
|
-
const
|
|
73
|
+
var _settings$typography$, _overrideOrigins;
|
|
74
|
+
const fontSizes = (_settings$typography$ = settings?.typography?.fontSizes) !== null && _settings$typography$ !== void 0 ? _settings$typography$ : {};
|
|
75
|
+
const overriddenFontSizes = (_overrideOrigins = overrideOrigins(fontSizes)) !== null && _overrideOrigins !== void 0 ? _overrideOrigins : [];
|
|
75
76
|
const uniqueSizes = [];
|
|
76
|
-
for (const currentSize of
|
|
77
|
+
for (const currentSize of overriddenFontSizes) {
|
|
77
78
|
if (!uniqueSizes.some(({
|
|
78
79
|
slug
|
|
79
80
|
}) => slug === currentSize.slug)) {
|
|
@@ -120,13 +121,14 @@ export default function TypographyPanel({
|
|
|
120
121
|
panelId,
|
|
121
122
|
defaultControls = DEFAULT_CONTROLS
|
|
122
123
|
}) {
|
|
124
|
+
var _settings$typography$2;
|
|
123
125
|
const decodeValue = rawValue => getValueFromVariable({
|
|
124
126
|
settings
|
|
125
127
|
}, '', rawValue);
|
|
126
128
|
|
|
127
129
|
// Font Family
|
|
128
130
|
const hasFontFamilyEnabled = useHasFontFamilyControl(settings);
|
|
129
|
-
const fontFamilies = settings?.typography?.fontFamilies;
|
|
131
|
+
const fontFamilies = (_settings$typography$2 = settings?.typography?.fontFamilies) !== null && _settings$typography$2 !== void 0 ? _settings$typography$2 : {};
|
|
130
132
|
const mergedFontFamilies = fontFamilies ? mergeOrigins(fontFamilies) : [];
|
|
131
133
|
const fontFamily = decodeValue(inheritedValue?.typography?.fontFamily);
|
|
132
134
|
const setFontFamily = newValue => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["FontSizePicker","__experimentalNumberControl","NumberControl","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__","useCallback","mergeOrigins","hasMergedOrigins","FontFamilyControl","FontAppearanceControl","LineHeightControl","LetterSpacingControl","TextTransformControl","TextDecorationControl","WritingModeControl","getValueFromVariable","TOOLSPANEL_DROPDOWNMENU_PROPS","setImmutably","MIN_TEXT_COLUMNS","MAX_TEXT_COLUMNS","useHasTypographyPanel","settings","hasFontFamily","useHasFontFamilyControl","hasLineHeight","useHasLineHeightControl","hasFontAppearance","useHasAppearanceControl","hasLetterSpacing","useHasLetterSpacingControl","hasTextTransform","useHasTextTransformControl","hasTextDecoration","useHasTextDecorationControl","hasWritingMode","useHasWritingModeControl","hasTextColumns","useHasTextColumnsControl","hasFontSize","useHasFontSizeControl","typography","fontSizes","customFontSize","fontFamilies","lineHeight","fontStyle","fontWeight","useAppearanceControlLabel","letterSpacing","textTransform","textDecoration","writingMode","textColumns","getUniqueFontSizesBySlug","mergedFontSizes","uniqueSizes","currentSize","some","slug","push","TypographyToolsPanel","resetAllFilter","onChange","value","panelId","children","resetAll","updatedValue","createElement","label","dropdownMenuProps","DEFAULT_CONTROLS","fontFamily","fontSize","fontAppearance","TypographyPanel","as","Wrapper","inheritedValue","defaultControls","decodeValue","rawValue","hasFontFamilyEnabled","mergedFontFamilies","setFontFamily","newValue","find","f","undefined","resetFontFamily","hasFontSizeEnabled","disableCustomFontSizes","setFontSize","metadata","actualValue","resetFontSize","hasAppearanceControl","appearanceControlLabel","hasFontStyles","hasFontWeights","setFontAppearance","newFontStyle","newFontWeight","resetFontAppearance","hasLineHeightEnabled","setLineHeight","resetLineHeight","hasLetterSpacingControl","setLetterSpacing","resetLetterSpacing","hasTextColumnsControl","setTextColumns","resetTextColumns","hasTextTransformControl","setTextTransform","resetTextTransform","hasTextDecorationControl","setTextDecoration","resetTextDecoration","hasWritingModeControl","setWritingMode","resetWritingMode","previousValue","hasValue","onDeselect","isShownByDefault","size","__nextHasNoMarginBottom","withReset","withSlider","className","__unstableInputWidth","max","min","spinControls","initialPosition","showNone","isBlock"],"sources":["@wordpress/block-editor/src/components/global-styles/typography-panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tFontSizePicker,\n\t__experimentalNumberControl as NumberControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport { mergeOrigins, hasMergedOrigins } from '../../store/get-block-settings';\nimport FontFamilyControl from '../font-family';\nimport FontAppearanceControl from '../font-appearance-control';\nimport LineHeightControl from '../line-height-control';\nimport LetterSpacingControl from '../letter-spacing-control';\nimport TextTransformControl from '../text-transform-control';\nimport TextDecorationControl from '../text-decoration-control';\nimport WritingModeControl from '../writing-mode-control';\nimport { getValueFromVariable, TOOLSPANEL_DROPDOWNMENU_PROPS } from './utils';\nimport { setImmutably } from '../../utils/object';\n\nconst MIN_TEXT_COLUMNS = 1;\nconst MAX_TEXT_COLUMNS = 6;\n\nexport function useHasTypographyPanel( settings ) {\n\tconst hasFontFamily = useHasFontFamilyControl( settings );\n\tconst hasLineHeight = useHasLineHeightControl( settings );\n\tconst hasFontAppearance = useHasAppearanceControl( settings );\n\tconst hasLetterSpacing = useHasLetterSpacingControl( settings );\n\tconst hasTextTransform = useHasTextTransformControl( settings );\n\tconst hasTextDecoration = useHasTextDecorationControl( settings );\n\tconst hasWritingMode = useHasWritingModeControl( settings );\n\tconst hasTextColumns = useHasTextColumnsControl( settings );\n\tconst hasFontSize = useHasFontSizeControl( settings );\n\n\treturn (\n\t\thasFontFamily ||\n\t\thasLineHeight ||\n\t\thasFontAppearance ||\n\t\thasLetterSpacing ||\n\t\thasTextTransform ||\n\t\thasFontSize ||\n\t\thasTextDecoration ||\n\t\thasWritingMode ||\n\t\thasTextColumns\n\t);\n}\n\nfunction useHasFontSizeControl( settings ) {\n\treturn (\n\t\thasMergedOrigins( settings?.typography?.fontSizes ) ||\n\t\tsettings?.typography?.customFontSize\n\t);\n}\n\nfunction useHasFontFamilyControl( settings ) {\n\treturn hasMergedOrigins( settings?.typography?.fontFamilies );\n}\n\nfunction useHasLineHeightControl( settings ) {\n\treturn settings?.typography?.lineHeight;\n}\n\nfunction useHasAppearanceControl( settings ) {\n\treturn settings?.typography?.fontStyle || settings?.typography?.fontWeight;\n}\n\nfunction useAppearanceControlLabel( settings ) {\n\tif ( ! settings?.typography?.fontStyle ) {\n\t\treturn __( 'Font weight' );\n\t}\n\tif ( ! settings?.typography?.fontWeight ) {\n\t\treturn __( 'Font style' );\n\t}\n\treturn __( 'Appearance' );\n}\n\nfunction useHasLetterSpacingControl( settings ) {\n\treturn settings?.typography?.letterSpacing;\n}\n\nfunction useHasTextTransformControl( settings ) {\n\treturn settings?.typography?.textTransform;\n}\n\nfunction useHasTextDecorationControl( settings ) {\n\treturn settings?.typography?.textDecoration;\n}\n\nfunction useHasWritingModeControl( settings ) {\n\treturn settings?.typography?.writingMode;\n}\n\nfunction useHasTextColumnsControl( settings ) {\n\treturn settings?.typography?.textColumns;\n}\n\nfunction getUniqueFontSizesBySlug( settings ) {\n\tconst fontSizes = settings?.typography?.fontSizes;\n\tconst mergedFontSizes = fontSizes ? mergeOrigins( fontSizes ) : [];\n\tconst uniqueSizes = [];\n\tfor ( const currentSize of mergedFontSizes ) {\n\t\tif ( ! uniqueSizes.some( ( { slug } ) => slug === currentSize.slug ) ) {\n\t\t\tuniqueSizes.push( currentSize );\n\t\t}\n\t}\n\treturn uniqueSizes;\n}\n\nfunction TypographyToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n} ) {\n\tconst resetAll = () => {\n\t\tconst updatedValue = resetAllFilter( value );\n\t\tonChange( updatedValue );\n\t};\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ __( 'Typography' ) }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t\tdropdownMenuProps={ TOOLSPANEL_DROPDOWNMENU_PROPS }\n\t\t>\n\t\t\t{ children }\n\t\t</ToolsPanel>\n\t);\n}\n\nconst DEFAULT_CONTROLS = {\n\tfontFamily: true,\n\tfontSize: true,\n\tfontAppearance: true,\n\tlineHeight: true,\n\tletterSpacing: true,\n\ttextTransform: true,\n\ttextDecoration: true,\n\twritingMode: true,\n\ttextColumns: true,\n};\n\nexport default function TypographyPanel( {\n\tas: Wrapper = TypographyToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tdefaultControls = DEFAULT_CONTROLS,\n} ) {\n\tconst decodeValue = ( rawValue ) =>\n\t\tgetValueFromVariable( { settings }, '', rawValue );\n\n\t// Font Family\n\tconst hasFontFamilyEnabled = useHasFontFamilyControl( settings );\n\tconst fontFamilies = settings?.typography?.fontFamilies;\n\tconst mergedFontFamilies = fontFamilies ? mergeOrigins( fontFamilies ) : [];\n\tconst fontFamily = decodeValue( inheritedValue?.typography?.fontFamily );\n\tconst setFontFamily = ( newValue ) => {\n\t\tconst slug = mergedFontFamilies?.find(\n\t\t\t( { fontFamily: f } ) => f === newValue\n\t\t)?.slug;\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'fontFamily' ],\n\t\t\t\tslug\n\t\t\t\t\t? `var:preset|font-family|${ slug }`\n\t\t\t\t\t: newValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasFontFamily = () => !! value?.typography?.fontFamily;\n\tconst resetFontFamily = () => setFontFamily( undefined );\n\n\t// Font Size\n\tconst hasFontSizeEnabled = useHasFontSizeControl( settings );\n\tconst disableCustomFontSizes = ! settings?.typography?.customFontSize;\n\tconst mergedFontSizes = getUniqueFontSizesBySlug( settings );\n\n\tconst fontSize = decodeValue( inheritedValue?.typography?.fontSize );\n\tconst setFontSize = ( newValue, metadata ) => {\n\t\tconst actualValue = !! metadata?.slug\n\t\t\t? `var:preset|font-size|${ metadata?.slug }`\n\t\t\t: newValue;\n\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'fontSize' ],\n\t\t\t\tactualValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasFontSize = () => !! value?.typography?.fontSize;\n\tconst resetFontSize = () => setFontSize( undefined );\n\n\t// Appearance\n\tconst hasAppearanceControl = useHasAppearanceControl( settings );\n\tconst appearanceControlLabel = useAppearanceControlLabel( settings );\n\tconst hasFontStyles = settings?.typography?.fontStyle;\n\tconst hasFontWeights = settings?.typography?.fontWeight;\n\tconst fontStyle = decodeValue( inheritedValue?.typography?.fontStyle );\n\tconst fontWeight = decodeValue( inheritedValue?.typography?.fontWeight );\n\tconst setFontAppearance = ( {\n\t\tfontStyle: newFontStyle,\n\t\tfontWeight: newFontWeight,\n\t} ) => {\n\t\tonChange( {\n\t\t\t...value,\n\t\t\ttypography: {\n\t\t\t\t...value?.typography,\n\t\t\t\tfontStyle: newFontStyle || undefined,\n\t\t\t\tfontWeight: newFontWeight || undefined,\n\t\t\t},\n\t\t} );\n\t};\n\tconst hasFontAppearance = () =>\n\t\t!! value?.typography?.fontStyle || !! value?.typography?.fontWeight;\n\tconst resetFontAppearance = () => {\n\t\tsetFontAppearance( {} );\n\t};\n\n\t// Line Height\n\tconst hasLineHeightEnabled = useHasLineHeightControl( settings );\n\tconst lineHeight = decodeValue( inheritedValue?.typography?.lineHeight );\n\tconst setLineHeight = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'lineHeight' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasLineHeight = () => value?.typography?.lineHeight !== undefined;\n\tconst resetLineHeight = () => setLineHeight( undefined );\n\n\t// Letter Spacing\n\tconst hasLetterSpacingControl = useHasLetterSpacingControl( settings );\n\tconst letterSpacing = decodeValue(\n\t\tinheritedValue?.typography?.letterSpacing\n\t);\n\tconst setLetterSpacing = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'letterSpacing' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasLetterSpacing = () => !! value?.typography?.letterSpacing;\n\tconst resetLetterSpacing = () => setLetterSpacing( undefined );\n\n\t// Text Columns\n\tconst hasTextColumnsControl = useHasTextColumnsControl( settings );\n\tconst textColumns = decodeValue( inheritedValue?.typography?.textColumns );\n\tconst setTextColumns = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'textColumns' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasTextColumns = () => !! value?.typography?.textColumns;\n\tconst resetTextColumns = () => setTextColumns( undefined );\n\n\t// Text Transform\n\tconst hasTextTransformControl = useHasTextTransformControl( settings );\n\tconst textTransform = decodeValue(\n\t\tinheritedValue?.typography?.textTransform\n\t);\n\tconst setTextTransform = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'textTransform' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasTextTransform = () => !! value?.typography?.textTransform;\n\tconst resetTextTransform = () => setTextTransform( undefined );\n\n\t// Text Decoration\n\tconst hasTextDecorationControl = useHasTextDecorationControl( settings );\n\tconst textDecoration = decodeValue(\n\t\tinheritedValue?.typography?.textDecoration\n\t);\n\tconst setTextDecoration = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'textDecoration' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasTextDecoration = () => !! value?.typography?.textDecoration;\n\tconst resetTextDecoration = () => setTextDecoration( undefined );\n\n\t// Text Orientation\n\tconst hasWritingModeControl = useHasWritingModeControl( settings );\n\tconst writingMode = decodeValue( inheritedValue?.typography?.writingMode );\n\tconst setWritingMode = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'writingMode' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasWritingMode = () => !! value?.typography?.writingMode;\n\tconst resetWritingMode = () => setWritingMode( undefined );\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\ttypography: {},\n\t\t};\n\t}, [] );\n\n\treturn (\n\t\t<Wrapper\n\t\t\tresetAllFilter={ resetAllFilter }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t{ hasFontFamilyEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Font family' ) }\n\t\t\t\t\thasValue={ hasFontFamily }\n\t\t\t\t\tonDeselect={ resetFontFamily }\n\t\t\t\t\tisShownByDefault={ defaultControls.fontFamily }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<FontFamilyControl\n\t\t\t\t\t\tfontFamilies={ mergedFontFamilies }\n\t\t\t\t\t\tvalue={ fontFamily }\n\t\t\t\t\t\tonChange={ setFontFamily }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasFontSizeEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Font size' ) }\n\t\t\t\t\thasValue={ hasFontSize }\n\t\t\t\t\tonDeselect={ resetFontSize }\n\t\t\t\t\tisShownByDefault={ defaultControls.fontSize }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<FontSizePicker\n\t\t\t\t\t\tvalue={ fontSize }\n\t\t\t\t\t\tonChange={ setFontSize }\n\t\t\t\t\t\tfontSizes={ mergedFontSizes }\n\t\t\t\t\t\tdisableCustomFontSizes={ disableCustomFontSizes }\n\t\t\t\t\t\twithReset={ false }\n\t\t\t\t\t\twithSlider\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasAppearanceControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ appearanceControlLabel }\n\t\t\t\t\thasValue={ hasFontAppearance }\n\t\t\t\t\tonDeselect={ resetFontAppearance }\n\t\t\t\t\tisShownByDefault={ defaultControls.fontAppearance }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<FontAppearanceControl\n\t\t\t\t\t\tvalue={ {\n\t\t\t\t\t\t\tfontStyle,\n\t\t\t\t\t\t\tfontWeight,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonChange={ setFontAppearance }\n\t\t\t\t\t\thasFontStyles={ hasFontStyles }\n\t\t\t\t\t\thasFontWeights={ hasFontWeights }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasLineHeightEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Line height' ) }\n\t\t\t\t\thasValue={ hasLineHeight }\n\t\t\t\t\tonDeselect={ resetLineHeight }\n\t\t\t\t\tisShownByDefault={ defaultControls.lineHeight }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<LineHeightControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t\tvalue={ lineHeight }\n\t\t\t\t\t\tonChange={ setLineHeight }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasLetterSpacingControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Letter spacing' ) }\n\t\t\t\t\thasValue={ hasLetterSpacing }\n\t\t\t\t\tonDeselect={ resetLetterSpacing }\n\t\t\t\t\tisShownByDefault={ defaultControls.letterSpacing }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<LetterSpacingControl\n\t\t\t\t\t\tvalue={ letterSpacing }\n\t\t\t\t\t\tonChange={ setLetterSpacing }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextColumnsControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Text columns' ) }\n\t\t\t\t\thasValue={ hasTextColumns }\n\t\t\t\t\tonDeselect={ resetTextColumns }\n\t\t\t\t\tisShownByDefault={ defaultControls.textColumns }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<NumberControl\n\t\t\t\t\t\tlabel={ __( 'Text columns' ) }\n\t\t\t\t\t\tmax={ MAX_TEXT_COLUMNS }\n\t\t\t\t\t\tmin={ MIN_TEXT_COLUMNS }\n\t\t\t\t\t\tonChange={ setTextColumns }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\tspinControls=\"custom\"\n\t\t\t\t\t\tvalue={ textColumns }\n\t\t\t\t\t\tinitialPosition={ 1 }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextDecorationControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Text decoration' ) }\n\t\t\t\t\thasValue={ hasTextDecoration }\n\t\t\t\t\tonDeselect={ resetTextDecoration }\n\t\t\t\t\tisShownByDefault={ defaultControls.textDecoration }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<TextDecorationControl\n\t\t\t\t\t\tvalue={ textDecoration }\n\t\t\t\t\t\tonChange={ setTextDecoration }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasWritingModeControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Text orientation' ) }\n\t\t\t\t\thasValue={ hasWritingMode }\n\t\t\t\t\tonDeselect={ resetWritingMode }\n\t\t\t\t\tisShownByDefault={ defaultControls.writingMode }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<WritingModeControl\n\t\t\t\t\t\tvalue={ writingMode }\n\t\t\t\t\t\tonChange={ setWritingMode }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextTransformControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Letter case' ) }\n\t\t\t\t\thasValue={ hasTextTransform }\n\t\t\t\t\tonDeselect={ resetTextTransform }\n\t\t\t\t\tisShownByDefault={ defaultControls.textTransform }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<TextTransformControl\n\t\t\t\t\t\tvalue={ textTransform }\n\t\t\t\t\t\tonChange={ setTextTransform }\n\t\t\t\t\t\tshowNone\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</Wrapper>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["FontSizePicker","__experimentalNumberControl","NumberControl","__experimentalToolsPanel","ToolsPanel","__experimentalToolsPanelItem","ToolsPanelItem","__","useCallback","mergeOrigins","overrideOrigins","hasOriginValue","FontFamilyControl","FontAppearanceControl","LineHeightControl","LetterSpacingControl","TextTransformControl","TextDecorationControl","WritingModeControl","getValueFromVariable","TOOLSPANEL_DROPDOWNMENU_PROPS","setImmutably","MIN_TEXT_COLUMNS","MAX_TEXT_COLUMNS","useHasTypographyPanel","settings","hasFontFamily","useHasFontFamilyControl","hasLineHeight","useHasLineHeightControl","hasFontAppearance","useHasAppearanceControl","hasLetterSpacing","useHasLetterSpacingControl","hasTextTransform","useHasTextTransformControl","hasTextDecoration","useHasTextDecorationControl","hasWritingMode","useHasWritingModeControl","hasTextColumns","useHasTextColumnsControl","hasFontSize","useHasFontSizeControl","typography","fontSizes","customFontSize","fontFamilies","lineHeight","fontStyle","fontWeight","useAppearanceControlLabel","letterSpacing","textTransform","textDecoration","writingMode","textColumns","getUniqueFontSizesBySlug","_settings$typography$","_overrideOrigins","overriddenFontSizes","uniqueSizes","currentSize","some","slug","push","TypographyToolsPanel","resetAllFilter","onChange","value","panelId","children","resetAll","updatedValue","createElement","label","dropdownMenuProps","DEFAULT_CONTROLS","fontFamily","fontSize","fontAppearance","TypographyPanel","as","Wrapper","inheritedValue","defaultControls","_settings$typography$2","decodeValue","rawValue","hasFontFamilyEnabled","mergedFontFamilies","setFontFamily","newValue","find","f","undefined","resetFontFamily","hasFontSizeEnabled","disableCustomFontSizes","mergedFontSizes","setFontSize","metadata","actualValue","resetFontSize","hasAppearanceControl","appearanceControlLabel","hasFontStyles","hasFontWeights","setFontAppearance","newFontStyle","newFontWeight","resetFontAppearance","hasLineHeightEnabled","setLineHeight","resetLineHeight","hasLetterSpacingControl","setLetterSpacing","resetLetterSpacing","hasTextColumnsControl","setTextColumns","resetTextColumns","hasTextTransformControl","setTextTransform","resetTextTransform","hasTextDecorationControl","setTextDecoration","resetTextDecoration","hasWritingModeControl","setWritingMode","resetWritingMode","previousValue","hasValue","onDeselect","isShownByDefault","size","__nextHasNoMarginBottom","withReset","withSlider","className","__unstableInputWidth","max","min","spinControls","initialPosition","showNone","isBlock"],"sources":["@wordpress/block-editor/src/components/global-styles/typography-panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tFontSizePicker,\n\t__experimentalNumberControl as NumberControl,\n\t__experimentalToolsPanel as ToolsPanel,\n\t__experimentalToolsPanelItem as ToolsPanelItem,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useCallback } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport {\n\tmergeOrigins,\n\toverrideOrigins,\n\thasOriginValue,\n} from '../../store/get-block-settings';\nimport FontFamilyControl from '../font-family';\nimport FontAppearanceControl from '../font-appearance-control';\nimport LineHeightControl from '../line-height-control';\nimport LetterSpacingControl from '../letter-spacing-control';\nimport TextTransformControl from '../text-transform-control';\nimport TextDecorationControl from '../text-decoration-control';\nimport WritingModeControl from '../writing-mode-control';\nimport { getValueFromVariable, TOOLSPANEL_DROPDOWNMENU_PROPS } from './utils';\nimport { setImmutably } from '../../utils/object';\n\nconst MIN_TEXT_COLUMNS = 1;\nconst MAX_TEXT_COLUMNS = 6;\n\nexport function useHasTypographyPanel( settings ) {\n\tconst hasFontFamily = useHasFontFamilyControl( settings );\n\tconst hasLineHeight = useHasLineHeightControl( settings );\n\tconst hasFontAppearance = useHasAppearanceControl( settings );\n\tconst hasLetterSpacing = useHasLetterSpacingControl( settings );\n\tconst hasTextTransform = useHasTextTransformControl( settings );\n\tconst hasTextDecoration = useHasTextDecorationControl( settings );\n\tconst hasWritingMode = useHasWritingModeControl( settings );\n\tconst hasTextColumns = useHasTextColumnsControl( settings );\n\tconst hasFontSize = useHasFontSizeControl( settings );\n\n\treturn (\n\t\thasFontFamily ||\n\t\thasLineHeight ||\n\t\thasFontAppearance ||\n\t\thasLetterSpacing ||\n\t\thasTextTransform ||\n\t\thasFontSize ||\n\t\thasTextDecoration ||\n\t\thasWritingMode ||\n\t\thasTextColumns\n\t);\n}\n\nfunction useHasFontSizeControl( settings ) {\n\treturn (\n\t\thasOriginValue( settings?.typography?.fontSizes ) ||\n\t\tsettings?.typography?.customFontSize\n\t);\n}\n\nfunction useHasFontFamilyControl( settings ) {\n\treturn hasOriginValue( settings?.typography?.fontFamilies );\n}\n\nfunction useHasLineHeightControl( settings ) {\n\treturn settings?.typography?.lineHeight;\n}\n\nfunction useHasAppearanceControl( settings ) {\n\treturn settings?.typography?.fontStyle || settings?.typography?.fontWeight;\n}\n\nfunction useAppearanceControlLabel( settings ) {\n\tif ( ! settings?.typography?.fontStyle ) {\n\t\treturn __( 'Font weight' );\n\t}\n\tif ( ! settings?.typography?.fontWeight ) {\n\t\treturn __( 'Font style' );\n\t}\n\treturn __( 'Appearance' );\n}\n\nfunction useHasLetterSpacingControl( settings ) {\n\treturn settings?.typography?.letterSpacing;\n}\n\nfunction useHasTextTransformControl( settings ) {\n\treturn settings?.typography?.textTransform;\n}\n\nfunction useHasTextDecorationControl( settings ) {\n\treturn settings?.typography?.textDecoration;\n}\n\nfunction useHasWritingModeControl( settings ) {\n\treturn settings?.typography?.writingMode;\n}\n\nfunction useHasTextColumnsControl( settings ) {\n\treturn settings?.typography?.textColumns;\n}\n\nfunction getUniqueFontSizesBySlug( settings ) {\n\tconst fontSizes = settings?.typography?.fontSizes ?? {};\n\tconst overriddenFontSizes = overrideOrigins( fontSizes ) ?? [];\n\tconst uniqueSizes = [];\n\tfor ( const currentSize of overriddenFontSizes ) {\n\t\tif ( ! uniqueSizes.some( ( { slug } ) => slug === currentSize.slug ) ) {\n\t\t\tuniqueSizes.push( currentSize );\n\t\t}\n\t}\n\treturn uniqueSizes;\n}\n\nfunction TypographyToolsPanel( {\n\tresetAllFilter,\n\tonChange,\n\tvalue,\n\tpanelId,\n\tchildren,\n} ) {\n\tconst resetAll = () => {\n\t\tconst updatedValue = resetAllFilter( value );\n\t\tonChange( updatedValue );\n\t};\n\n\treturn (\n\t\t<ToolsPanel\n\t\t\tlabel={ __( 'Typography' ) }\n\t\t\tresetAll={ resetAll }\n\t\t\tpanelId={ panelId }\n\t\t\tdropdownMenuProps={ TOOLSPANEL_DROPDOWNMENU_PROPS }\n\t\t>\n\t\t\t{ children }\n\t\t</ToolsPanel>\n\t);\n}\n\nconst DEFAULT_CONTROLS = {\n\tfontFamily: true,\n\tfontSize: true,\n\tfontAppearance: true,\n\tlineHeight: true,\n\tletterSpacing: true,\n\ttextTransform: true,\n\ttextDecoration: true,\n\twritingMode: true,\n\ttextColumns: true,\n};\n\nexport default function TypographyPanel( {\n\tas: Wrapper = TypographyToolsPanel,\n\tvalue,\n\tonChange,\n\tinheritedValue = value,\n\tsettings,\n\tpanelId,\n\tdefaultControls = DEFAULT_CONTROLS,\n} ) {\n\tconst decodeValue = ( rawValue ) =>\n\t\tgetValueFromVariable( { settings }, '', rawValue );\n\n\t// Font Family\n\tconst hasFontFamilyEnabled = useHasFontFamilyControl( settings );\n\tconst fontFamilies = settings?.typography?.fontFamilies ?? {};\n\tconst mergedFontFamilies = fontFamilies ? mergeOrigins( fontFamilies ) : [];\n\tconst fontFamily = decodeValue( inheritedValue?.typography?.fontFamily );\n\tconst setFontFamily = ( newValue ) => {\n\t\tconst slug = mergedFontFamilies?.find(\n\t\t\t( { fontFamily: f } ) => f === newValue\n\t\t)?.slug;\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'fontFamily' ],\n\t\t\t\tslug\n\t\t\t\t\t? `var:preset|font-family|${ slug }`\n\t\t\t\t\t: newValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasFontFamily = () => !! value?.typography?.fontFamily;\n\tconst resetFontFamily = () => setFontFamily( undefined );\n\n\t// Font Size\n\tconst hasFontSizeEnabled = useHasFontSizeControl( settings );\n\tconst disableCustomFontSizes = ! settings?.typography?.customFontSize;\n\tconst mergedFontSizes = getUniqueFontSizesBySlug( settings );\n\n\tconst fontSize = decodeValue( inheritedValue?.typography?.fontSize );\n\tconst setFontSize = ( newValue, metadata ) => {\n\t\tconst actualValue = !! metadata?.slug\n\t\t\t? `var:preset|font-size|${ metadata?.slug }`\n\t\t\t: newValue;\n\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'fontSize' ],\n\t\t\t\tactualValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasFontSize = () => !! value?.typography?.fontSize;\n\tconst resetFontSize = () => setFontSize( undefined );\n\n\t// Appearance\n\tconst hasAppearanceControl = useHasAppearanceControl( settings );\n\tconst appearanceControlLabel = useAppearanceControlLabel( settings );\n\tconst hasFontStyles = settings?.typography?.fontStyle;\n\tconst hasFontWeights = settings?.typography?.fontWeight;\n\tconst fontStyle = decodeValue( inheritedValue?.typography?.fontStyle );\n\tconst fontWeight = decodeValue( inheritedValue?.typography?.fontWeight );\n\tconst setFontAppearance = ( {\n\t\tfontStyle: newFontStyle,\n\t\tfontWeight: newFontWeight,\n\t} ) => {\n\t\tonChange( {\n\t\t\t...value,\n\t\t\ttypography: {\n\t\t\t\t...value?.typography,\n\t\t\t\tfontStyle: newFontStyle || undefined,\n\t\t\t\tfontWeight: newFontWeight || undefined,\n\t\t\t},\n\t\t} );\n\t};\n\tconst hasFontAppearance = () =>\n\t\t!! value?.typography?.fontStyle || !! value?.typography?.fontWeight;\n\tconst resetFontAppearance = () => {\n\t\tsetFontAppearance( {} );\n\t};\n\n\t// Line Height\n\tconst hasLineHeightEnabled = useHasLineHeightControl( settings );\n\tconst lineHeight = decodeValue( inheritedValue?.typography?.lineHeight );\n\tconst setLineHeight = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'lineHeight' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasLineHeight = () => value?.typography?.lineHeight !== undefined;\n\tconst resetLineHeight = () => setLineHeight( undefined );\n\n\t// Letter Spacing\n\tconst hasLetterSpacingControl = useHasLetterSpacingControl( settings );\n\tconst letterSpacing = decodeValue(\n\t\tinheritedValue?.typography?.letterSpacing\n\t);\n\tconst setLetterSpacing = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'letterSpacing' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasLetterSpacing = () => !! value?.typography?.letterSpacing;\n\tconst resetLetterSpacing = () => setLetterSpacing( undefined );\n\n\t// Text Columns\n\tconst hasTextColumnsControl = useHasTextColumnsControl( settings );\n\tconst textColumns = decodeValue( inheritedValue?.typography?.textColumns );\n\tconst setTextColumns = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'textColumns' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasTextColumns = () => !! value?.typography?.textColumns;\n\tconst resetTextColumns = () => setTextColumns( undefined );\n\n\t// Text Transform\n\tconst hasTextTransformControl = useHasTextTransformControl( settings );\n\tconst textTransform = decodeValue(\n\t\tinheritedValue?.typography?.textTransform\n\t);\n\tconst setTextTransform = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'textTransform' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasTextTransform = () => !! value?.typography?.textTransform;\n\tconst resetTextTransform = () => setTextTransform( undefined );\n\n\t// Text Decoration\n\tconst hasTextDecorationControl = useHasTextDecorationControl( settings );\n\tconst textDecoration = decodeValue(\n\t\tinheritedValue?.typography?.textDecoration\n\t);\n\tconst setTextDecoration = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'textDecoration' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasTextDecoration = () => !! value?.typography?.textDecoration;\n\tconst resetTextDecoration = () => setTextDecoration( undefined );\n\n\t// Text Orientation\n\tconst hasWritingModeControl = useHasWritingModeControl( settings );\n\tconst writingMode = decodeValue( inheritedValue?.typography?.writingMode );\n\tconst setWritingMode = ( newValue ) => {\n\t\tonChange(\n\t\t\tsetImmutably(\n\t\t\t\tvalue,\n\t\t\t\t[ 'typography', 'writingMode' ],\n\t\t\t\tnewValue || undefined\n\t\t\t)\n\t\t);\n\t};\n\tconst hasWritingMode = () => !! value?.typography?.writingMode;\n\tconst resetWritingMode = () => setWritingMode( undefined );\n\n\tconst resetAllFilter = useCallback( ( previousValue ) => {\n\t\treturn {\n\t\t\t...previousValue,\n\t\t\ttypography: {},\n\t\t};\n\t}, [] );\n\n\treturn (\n\t\t<Wrapper\n\t\t\tresetAllFilter={ resetAllFilter }\n\t\t\tvalue={ value }\n\t\t\tonChange={ onChange }\n\t\t\tpanelId={ panelId }\n\t\t>\n\t\t\t{ hasFontFamilyEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Font family' ) }\n\t\t\t\t\thasValue={ hasFontFamily }\n\t\t\t\t\tonDeselect={ resetFontFamily }\n\t\t\t\t\tisShownByDefault={ defaultControls.fontFamily }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<FontFamilyControl\n\t\t\t\t\t\tfontFamilies={ mergedFontFamilies }\n\t\t\t\t\t\tvalue={ fontFamily }\n\t\t\t\t\t\tonChange={ setFontFamily }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasFontSizeEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Font size' ) }\n\t\t\t\t\thasValue={ hasFontSize }\n\t\t\t\t\tonDeselect={ resetFontSize }\n\t\t\t\t\tisShownByDefault={ defaultControls.fontSize }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<FontSizePicker\n\t\t\t\t\t\tvalue={ fontSize }\n\t\t\t\t\t\tonChange={ setFontSize }\n\t\t\t\t\t\tfontSizes={ mergedFontSizes }\n\t\t\t\t\t\tdisableCustomFontSizes={ disableCustomFontSizes }\n\t\t\t\t\t\twithReset={ false }\n\t\t\t\t\t\twithSlider\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasAppearanceControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ appearanceControlLabel }\n\t\t\t\t\thasValue={ hasFontAppearance }\n\t\t\t\t\tonDeselect={ resetFontAppearance }\n\t\t\t\t\tisShownByDefault={ defaultControls.fontAppearance }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<FontAppearanceControl\n\t\t\t\t\t\tvalue={ {\n\t\t\t\t\t\t\tfontStyle,\n\t\t\t\t\t\t\tfontWeight,\n\t\t\t\t\t\t} }\n\t\t\t\t\t\tonChange={ setFontAppearance }\n\t\t\t\t\t\thasFontStyles={ hasFontStyles }\n\t\t\t\t\t\thasFontWeights={ hasFontWeights }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasLineHeightEnabled && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Line height' ) }\n\t\t\t\t\thasValue={ hasLineHeight }\n\t\t\t\t\tonDeselect={ resetLineHeight }\n\t\t\t\t\tisShownByDefault={ defaultControls.lineHeight }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<LineHeightControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t\tvalue={ lineHeight }\n\t\t\t\t\t\tonChange={ setLineHeight }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasLetterSpacingControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Letter spacing' ) }\n\t\t\t\t\thasValue={ hasLetterSpacing }\n\t\t\t\t\tonDeselect={ resetLetterSpacing }\n\t\t\t\t\tisShownByDefault={ defaultControls.letterSpacing }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<LetterSpacingControl\n\t\t\t\t\t\tvalue={ letterSpacing }\n\t\t\t\t\t\tonChange={ setLetterSpacing }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextColumnsControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Text columns' ) }\n\t\t\t\t\thasValue={ hasTextColumns }\n\t\t\t\t\tonDeselect={ resetTextColumns }\n\t\t\t\t\tisShownByDefault={ defaultControls.textColumns }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<NumberControl\n\t\t\t\t\t\tlabel={ __( 'Text columns' ) }\n\t\t\t\t\t\tmax={ MAX_TEXT_COLUMNS }\n\t\t\t\t\t\tmin={ MIN_TEXT_COLUMNS }\n\t\t\t\t\t\tonChange={ setTextColumns }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\tspinControls=\"custom\"\n\t\t\t\t\t\tvalue={ textColumns }\n\t\t\t\t\t\tinitialPosition={ 1 }\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextDecorationControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Text decoration' ) }\n\t\t\t\t\thasValue={ hasTextDecoration }\n\t\t\t\t\tonDeselect={ resetTextDecoration }\n\t\t\t\t\tisShownByDefault={ defaultControls.textDecoration }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<TextDecorationControl\n\t\t\t\t\t\tvalue={ textDecoration }\n\t\t\t\t\t\tonChange={ setTextDecoration }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__unstableInputWidth=\"auto\"\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasWritingModeControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tclassName=\"single-column\"\n\t\t\t\t\tlabel={ __( 'Text orientation' ) }\n\t\t\t\t\thasValue={ hasWritingMode }\n\t\t\t\t\tonDeselect={ resetWritingMode }\n\t\t\t\t\tisShownByDefault={ defaultControls.writingMode }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<WritingModeControl\n\t\t\t\t\t\tvalue={ writingMode }\n\t\t\t\t\t\tonChange={ setWritingMode }\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t\t{ hasTextTransformControl && (\n\t\t\t\t<ToolsPanelItem\n\t\t\t\t\tlabel={ __( 'Letter case' ) }\n\t\t\t\t\thasValue={ hasTextTransform }\n\t\t\t\t\tonDeselect={ resetTextTransform }\n\t\t\t\t\tisShownByDefault={ defaultControls.textTransform }\n\t\t\t\t\tpanelId={ panelId }\n\t\t\t\t>\n\t\t\t\t\t<TextTransformControl\n\t\t\t\t\t\tvalue={ textTransform }\n\t\t\t\t\t\tonChange={ setTextTransform }\n\t\t\t\t\t\tshowNone\n\t\t\t\t\t\tisBlock\n\t\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t/>\n\t\t\t\t</ToolsPanelItem>\n\t\t\t) }\n\t\t</Wrapper>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -219,13 +219,16 @@ function Iframe({
|
|
|
219
219
|
src: src,
|
|
220
220
|
title: __('Editor canvas'),
|
|
221
221
|
onKeyDown: event => {
|
|
222
|
+
if (props.onKeyDown) {
|
|
223
|
+
props.onKeyDown(event);
|
|
224
|
+
}
|
|
222
225
|
// If the event originates from inside the iframe, it means
|
|
223
226
|
// it bubbled through the portal, but only with React
|
|
224
227
|
// events. We need to to bubble native events as well,
|
|
225
228
|
// though by doing so we also trigger another React event,
|
|
226
229
|
// so we need to stop the propagation of this event to avoid
|
|
227
230
|
// duplication.
|
|
228
|
-
if (event.currentTarget.ownerDocument !== event.target.ownerDocument) {
|
|
231
|
+
else if (event.currentTarget.ownerDocument !== event.target.ownerDocument) {
|
|
229
232
|
event.stopPropagation();
|
|
230
233
|
bubbleEvent(event, window.KeyboardEvent, event.currentTarget);
|
|
231
234
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","useState","createPortal","forwardRef","useMemo","useEffect","__","useResizeObserver","useMergeRefs","useRefEffect","useDisabled","__experimentalStyleProvider","StyleProvider","useSelect","useBlockSelectionClearer","useWritingFlow","getCompatibilityStyles","store","blockEditorStore","bubbleEvent","event","Constructor","frame","init","key","contentDocument","defaultView","MouseEvent","rect","getBoundingClientRect","clientX","left","clientY","top","newEvent","type","defaultPrevented","preventDefault","cancelled","dispatchEvent","useBubbleEvents","iframeDocument","frameElement","html","documentElement","eventTypes","handlers","name","prototype","Object","getPrototypeOf","constructorName","constructor","window","addEventListener","removeEventListener","Iframe","contentRef","children","tabIndex","scale","frameSize","expand","readonly","forwardedRef","ref","props","resolvedAssets","isPreviewMode","select","settings","getSettings","__unstableResolvedAssets","__unstableIsPreviewMode","styles","scripts","setIframeDocument","bodyClasses","setBodyClasses","clearerRef","before","writingFlowRef","after","contentResizeListener","height","contentHeight","setRef","node","_load","iFrameDocument","preventFileDropDefault","onLoad","ownerDocument","Array","from","body","classList","filter","startsWith","dir","compatStyle","getElementById","id","head","appendChild","cloneNode","console","warn","disabledRef","isDisabled","bodyRef","src","cleanup","_src","URL","createObjectURL","Blob","revokeObjectURL","marginFromScaling","createElement","Fragment","style","border","marginTop","marginBottom","transform","transition","title","onKeyDown","currentTarget","target","stopPropagation","KeyboardEvent","className","document","IframeIfReady","isInitialised","__internalIsInitialized"],"sources":["@wordpress/block-editor/src/components/iframe/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseState,\n\tcreatePortal,\n\tforwardRef,\n\tuseMemo,\n\tuseEffect,\n} from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tuseResizeObserver,\n\tuseMergeRefs,\n\tuseRefEffect,\n\tuseDisabled,\n} from '@wordpress/compose';\nimport { __experimentalStyleProvider as StyleProvider } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useBlockSelectionClearer } from '../block-selection-clearer';\nimport { useWritingFlow } from '../writing-flow';\nimport { getCompatibilityStyles } from './get-compatibility-styles';\nimport { store as blockEditorStore } from '../../store';\n\nfunction bubbleEvent( event, Constructor, frame ) {\n\tconst init = {};\n\n\tfor ( const key in event ) {\n\t\tinit[ key ] = event[ key ];\n\t}\n\n\t// Check if the event is a MouseEvent generated within the iframe.\n\t// If so, adjust the coordinates to be relative to the position of\n\t// the iframe. This ensures that components such as Draggable\n\t// receive coordinates relative to the window, instead of relative\n\t// to the iframe. Without this, the Draggable event handler would\n\t// result in components \"jumping\" position as soon as the user\n\t// drags over the iframe.\n\tif ( event instanceof frame.contentDocument.defaultView.MouseEvent ) {\n\t\tconst rect = frame.getBoundingClientRect();\n\t\tinit.clientX += rect.left;\n\t\tinit.clientY += rect.top;\n\t}\n\n\tconst newEvent = new Constructor( event.type, init );\n\tif ( init.defaultPrevented ) {\n\t\tnewEvent.preventDefault();\n\t}\n\tconst cancelled = ! frame.dispatchEvent( newEvent );\n\n\tif ( cancelled ) {\n\t\tevent.preventDefault();\n\t}\n}\n\n/**\n * Bubbles some event types (keydown, keypress, and dragover) to parent document\n * document to ensure that the keyboard shortcuts and drag and drop work.\n *\n * Ideally, we should remove event bubbling in the future. Keyboard shortcuts\n * should be context dependent, e.g. actions on blocks like Cmd+A should not\n * work globally outside the block editor.\n *\n * @param {Document} iframeDocument Document to attach listeners to.\n */\nfunction useBubbleEvents( iframeDocument ) {\n\treturn useRefEffect( () => {\n\t\tconst { defaultView } = iframeDocument;\n\t\tif ( ! defaultView ) {\n\t\t\treturn;\n\t\t}\n\t\tconst { frameElement } = defaultView;\n\t\tconst html = iframeDocument.documentElement;\n\t\tconst eventTypes = [ 'dragover', 'mousemove' ];\n\t\tconst handlers = {};\n\t\tfor ( const name of eventTypes ) {\n\t\t\thandlers[ name ] = ( event ) => {\n\t\t\t\tconst prototype = Object.getPrototypeOf( event );\n\t\t\t\tconst constructorName = prototype.constructor.name;\n\t\t\t\tconst Constructor = window[ constructorName ];\n\t\t\t\tbubbleEvent( event, Constructor, frameElement );\n\t\t\t};\n\t\t\thtml.addEventListener( name, handlers[ name ] );\n\t\t}\n\n\t\treturn () => {\n\t\t\tfor ( const name of eventTypes ) {\n\t\t\t\thtml.removeEventListener( name, handlers[ name ] );\n\t\t\t}\n\t\t};\n\t} );\n}\n\nfunction Iframe( {\n\tcontentRef,\n\tchildren,\n\ttabIndex = 0,\n\tscale = 1,\n\tframeSize = 0,\n\texpand = false,\n\treadonly,\n\tforwardedRef: ref,\n\t...props\n} ) {\n\tconst { resolvedAssets, isPreviewMode } = useSelect( ( select ) => {\n\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\treturn {\n\t\t\tresolvedAssets: settings.__unstableResolvedAssets,\n\t\t\tisPreviewMode: settings.__unstableIsPreviewMode,\n\t\t};\n\t}, [] );\n\tconst { styles = '', scripts = '' } = resolvedAssets;\n\tconst [ iframeDocument, setIframeDocument ] = useState();\n\tconst [ bodyClasses, setBodyClasses ] = useState( [] );\n\tconst clearerRef = useBlockSelectionClearer();\n\tconst [ before, writingFlowRef, after ] = useWritingFlow();\n\tconst [ contentResizeListener, { height: contentHeight } ] =\n\t\tuseResizeObserver();\n\tconst setRef = useRefEffect( ( node ) => {\n\t\tnode._load = () => {\n\t\t\tsetIframeDocument( node.contentDocument );\n\t\t};\n\t\tlet iFrameDocument;\n\t\t// Prevent the default browser action for files dropped outside of dropzones.\n\t\tfunction preventFileDropDefault( event ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t\tfunction onLoad() {\n\t\t\tconst { contentDocument, ownerDocument } = node;\n\t\t\tconst { documentElement } = contentDocument;\n\t\t\tiFrameDocument = contentDocument;\n\n\t\t\tclearerRef( documentElement );\n\n\t\t\t// Ideally ALL classes that are added through get_body_class should\n\t\t\t// be added in the editor too, which we'll somehow have to get from\n\t\t\t// the server in the future (which will run the PHP filters).\n\t\t\tsetBodyClasses(\n\t\t\t\tArray.from( ownerDocument.body.classList ).filter(\n\t\t\t\t\t( name ) =>\n\t\t\t\t\t\tname.startsWith( 'admin-color-' ) ||\n\t\t\t\t\t\tname.startsWith( 'post-type-' ) ||\n\t\t\t\t\t\tname === 'wp-embed-responsive'\n\t\t\t\t)\n\t\t\t);\n\n\t\t\tcontentDocument.dir = ownerDocument.dir;\n\n\t\t\tfor ( const compatStyle of getCompatibilityStyles() ) {\n\t\t\t\tif ( contentDocument.getElementById( compatStyle.id ) ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tcontentDocument.head.appendChild(\n\t\t\t\t\tcompatStyle.cloneNode( true )\n\t\t\t\t);\n\n\t\t\t\tif ( ! isPreviewMode ) {\n\t\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\t\tconsole.warn(\n\t\t\t\t\t\t`${ compatStyle.id } was added to the iframe incorrectly. Please use block.json or enqueue_block_assets to add styles to the iframe.`,\n\t\t\t\t\t\tcompatStyle\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tiFrameDocument.addEventListener(\n\t\t\t\t'dragover',\n\t\t\t\tpreventFileDropDefault,\n\t\t\t\tfalse\n\t\t\t);\n\t\t\tiFrameDocument.addEventListener(\n\t\t\t\t'drop',\n\t\t\t\tpreventFileDropDefault,\n\t\t\t\tfalse\n\t\t\t);\n\t\t}\n\n\t\tnode.addEventListener( 'load', onLoad );\n\n\t\treturn () => {\n\t\t\tdelete node._load;\n\t\t\tnode.removeEventListener( 'load', onLoad );\n\t\t\tiFrameDocument?.removeEventListener(\n\t\t\t\t'dragover',\n\t\t\t\tpreventFileDropDefault\n\t\t\t);\n\t\t\tiFrameDocument?.removeEventListener(\n\t\t\t\t'drop',\n\t\t\t\tpreventFileDropDefault\n\t\t\t);\n\t\t};\n\t}, [] );\n\n\tconst disabledRef = useDisabled( { isDisabled: ! readonly } );\n\tconst bodyRef = useMergeRefs( [\n\t\tuseBubbleEvents( iframeDocument ),\n\t\tcontentRef,\n\t\tclearerRef,\n\t\twritingFlowRef,\n\t\tdisabledRef,\n\t] );\n\n\t// Correct doctype is required to enable rendering in standards\n\t// mode. Also preload the styles to avoid a flash of unstyled\n\t// content.\n\tconst html = `<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<script>window.frameElement._load()</script>\n\t\t<style>html{height:auto!important;min-height:100%;}body{margin:0}</style>\n\t\t${ styles }\n\t\t${ scripts }\n\t</head>\n\t<body>\n\t\t<script>document.currentScript.parentElement.remove()</script>\n\t</body>\n</html>`;\n\n\tconst [ src, cleanup ] = useMemo( () => {\n\t\tconst _src = URL.createObjectURL(\n\t\t\tnew window.Blob( [ html ], { type: 'text/html' } )\n\t\t);\n\t\treturn [ _src, () => URL.revokeObjectURL( _src ) ];\n\t}, [ html ] );\n\n\tuseEffect( () => cleanup, [ cleanup ] );\n\n\t// We need to counter the margin created by scaling the iframe. If the scale\n\t// is e.g. 0.45, then the top + bottom margin is 0.55 (1 - scale). Just the\n\t// top or bottom margin is 0.55 / 2 ((1 - scale) / 2).\n\tconst marginFromScaling = ( contentHeight * ( 1 - scale ) ) / 2;\n\n\treturn (\n\t\t<>\n\t\t\t{ tabIndex >= 0 && before }\n\t\t\t{ /* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */ }\n\t\t\t<iframe\n\t\t\t\t{ ...props }\n\t\t\t\tstyle={ {\n\t\t\t\t\tborder: 0,\n\t\t\t\t\t...props.style,\n\t\t\t\t\theight: expand ? contentHeight : props.style?.height,\n\t\t\t\t\tmarginTop:\n\t\t\t\t\t\tscale !== 1\n\t\t\t\t\t\t\t? -marginFromScaling + frameSize\n\t\t\t\t\t\t\t: props.style?.marginTop,\n\t\t\t\t\tmarginBottom:\n\t\t\t\t\t\tscale !== 1\n\t\t\t\t\t\t\t? -marginFromScaling + frameSize\n\t\t\t\t\t\t\t: props.style?.marginBottom,\n\t\t\t\t\ttransform:\n\t\t\t\t\t\tscale !== 1\n\t\t\t\t\t\t\t? `scale( ${ scale } )`\n\t\t\t\t\t\t\t: props.style?.transform,\n\t\t\t\t\ttransition: 'all .3s',\n\t\t\t\t} }\n\t\t\t\tref={ useMergeRefs( [ ref, setRef ] ) }\n\t\t\t\ttabIndex={ tabIndex }\n\t\t\t\t// Correct doctype is required to enable rendering in standards\n\t\t\t\t// mode. Also preload the styles to avoid a flash of unstyled\n\t\t\t\t// content.\n\t\t\t\tsrc={ src }\n\t\t\t\ttitle={ __( 'Editor canvas' ) }\n\t\t\t\tonKeyDown={ ( event ) => {\n\t\t\t\t\t// If the event originates from inside the iframe, it means\n\t\t\t\t\t// it bubbled through the portal, but only with React\n\t\t\t\t\t// events. We need to to bubble native events as well,\n\t\t\t\t\t// though by doing so we also trigger another React event,\n\t\t\t\t\t// so we need to stop the propagation of this event to avoid\n\t\t\t\t\t// duplication.\n\t\t\t\t\tif (\n\t\t\t\t\t\tevent.currentTarget.ownerDocument !==\n\t\t\t\t\t\tevent.target.ownerDocument\n\t\t\t\t\t) {\n\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\tbubbleEvent(\n\t\t\t\t\t\t\tevent,\n\t\t\t\t\t\t\twindow.KeyboardEvent,\n\t\t\t\t\t\t\tevent.currentTarget\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ iframeDocument &&\n\t\t\t\t\tcreatePortal(\n\t\t\t\t\t\t// We want to prevent React events from bubbling throught the iframe\n\t\t\t\t\t\t// we bubble these manually.\n\t\t\t\t\t\t/* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */\n\t\t\t\t\t\t<body\n\t\t\t\t\t\t\tref={ bodyRef }\n\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t'block-editor-iframe__body',\n\t\t\t\t\t\t\t\t'editor-styles-wrapper',\n\t\t\t\t\t\t\t\t...bodyClasses\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ contentResizeListener }\n\t\t\t\t\t\t\t<StyleProvider document={ iframeDocument }>\n\t\t\t\t\t\t\t\t{ children }\n\t\t\t\t\t\t\t</StyleProvider>\n\t\t\t\t\t\t</body>,\n\t\t\t\t\t\tiframeDocument.documentElement\n\t\t\t\t\t) }\n\t\t\t</iframe>\n\t\t\t{ tabIndex >= 0 && after }\n\t\t</>\n\t);\n}\n\nfunction IframeIfReady( props, ref ) {\n\tconst isInitialised = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getSettings().__internalIsInitialized,\n\t\t[]\n\t);\n\n\t// We shouldn't render the iframe until the editor settings are initialised.\n\t// The initial settings are needed to get the styles for the srcDoc, which\n\t// cannot be changed after the iframe is mounted. srcDoc is used to to set\n\t// the initial iframe HTML, which is required to avoid a flash of unstyled\n\t// content.\n\tif ( ! isInitialised ) {\n\t\treturn null;\n\t}\n\n\treturn <Iframe { ...props } forwardedRef={ ref } />;\n}\n\nexport default forwardRef( IframeIfReady );\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["classnames","useState","createPortal","forwardRef","useMemo","useEffect","__","useResizeObserver","useMergeRefs","useRefEffect","useDisabled","__experimentalStyleProvider","StyleProvider","useSelect","useBlockSelectionClearer","useWritingFlow","getCompatibilityStyles","store","blockEditorStore","bubbleEvent","event","Constructor","frame","init","key","contentDocument","defaultView","MouseEvent","rect","getBoundingClientRect","clientX","left","clientY","top","newEvent","type","defaultPrevented","preventDefault","cancelled","dispatchEvent","useBubbleEvents","iframeDocument","frameElement","html","documentElement","eventTypes","handlers","name","prototype","Object","getPrototypeOf","constructorName","constructor","window","addEventListener","removeEventListener","Iframe","contentRef","children","tabIndex","scale","frameSize","expand","readonly","forwardedRef","ref","props","resolvedAssets","isPreviewMode","select","settings","getSettings","__unstableResolvedAssets","__unstableIsPreviewMode","styles","scripts","setIframeDocument","bodyClasses","setBodyClasses","clearerRef","before","writingFlowRef","after","contentResizeListener","height","contentHeight","setRef","node","_load","iFrameDocument","preventFileDropDefault","onLoad","ownerDocument","Array","from","body","classList","filter","startsWith","dir","compatStyle","getElementById","id","head","appendChild","cloneNode","console","warn","disabledRef","isDisabled","bodyRef","src","cleanup","_src","URL","createObjectURL","Blob","revokeObjectURL","marginFromScaling","createElement","Fragment","style","border","marginTop","marginBottom","transform","transition","title","onKeyDown","currentTarget","target","stopPropagation","KeyboardEvent","className","document","IframeIfReady","isInitialised","__internalIsInitialized"],"sources":["@wordpress/block-editor/src/components/iframe/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseState,\n\tcreatePortal,\n\tforwardRef,\n\tuseMemo,\n\tuseEffect,\n} from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tuseResizeObserver,\n\tuseMergeRefs,\n\tuseRefEffect,\n\tuseDisabled,\n} from '@wordpress/compose';\nimport { __experimentalStyleProvider as StyleProvider } from '@wordpress/components';\nimport { useSelect } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { useBlockSelectionClearer } from '../block-selection-clearer';\nimport { useWritingFlow } from '../writing-flow';\nimport { getCompatibilityStyles } from './get-compatibility-styles';\nimport { store as blockEditorStore } from '../../store';\n\nfunction bubbleEvent( event, Constructor, frame ) {\n\tconst init = {};\n\n\tfor ( const key in event ) {\n\t\tinit[ key ] = event[ key ];\n\t}\n\n\t// Check if the event is a MouseEvent generated within the iframe.\n\t// If so, adjust the coordinates to be relative to the position of\n\t// the iframe. This ensures that components such as Draggable\n\t// receive coordinates relative to the window, instead of relative\n\t// to the iframe. Without this, the Draggable event handler would\n\t// result in components \"jumping\" position as soon as the user\n\t// drags over the iframe.\n\tif ( event instanceof frame.contentDocument.defaultView.MouseEvent ) {\n\t\tconst rect = frame.getBoundingClientRect();\n\t\tinit.clientX += rect.left;\n\t\tinit.clientY += rect.top;\n\t}\n\n\tconst newEvent = new Constructor( event.type, init );\n\tif ( init.defaultPrevented ) {\n\t\tnewEvent.preventDefault();\n\t}\n\tconst cancelled = ! frame.dispatchEvent( newEvent );\n\n\tif ( cancelled ) {\n\t\tevent.preventDefault();\n\t}\n}\n\n/**\n * Bubbles some event types (keydown, keypress, and dragover) to parent document\n * document to ensure that the keyboard shortcuts and drag and drop work.\n *\n * Ideally, we should remove event bubbling in the future. Keyboard shortcuts\n * should be context dependent, e.g. actions on blocks like Cmd+A should not\n * work globally outside the block editor.\n *\n * @param {Document} iframeDocument Document to attach listeners to.\n */\nfunction useBubbleEvents( iframeDocument ) {\n\treturn useRefEffect( () => {\n\t\tconst { defaultView } = iframeDocument;\n\t\tif ( ! defaultView ) {\n\t\t\treturn;\n\t\t}\n\t\tconst { frameElement } = defaultView;\n\t\tconst html = iframeDocument.documentElement;\n\t\tconst eventTypes = [ 'dragover', 'mousemove' ];\n\t\tconst handlers = {};\n\t\tfor ( const name of eventTypes ) {\n\t\t\thandlers[ name ] = ( event ) => {\n\t\t\t\tconst prototype = Object.getPrototypeOf( event );\n\t\t\t\tconst constructorName = prototype.constructor.name;\n\t\t\t\tconst Constructor = window[ constructorName ];\n\t\t\t\tbubbleEvent( event, Constructor, frameElement );\n\t\t\t};\n\t\t\thtml.addEventListener( name, handlers[ name ] );\n\t\t}\n\n\t\treturn () => {\n\t\t\tfor ( const name of eventTypes ) {\n\t\t\t\thtml.removeEventListener( name, handlers[ name ] );\n\t\t\t}\n\t\t};\n\t} );\n}\n\nfunction Iframe( {\n\tcontentRef,\n\tchildren,\n\ttabIndex = 0,\n\tscale = 1,\n\tframeSize = 0,\n\texpand = false,\n\treadonly,\n\tforwardedRef: ref,\n\t...props\n} ) {\n\tconst { resolvedAssets, isPreviewMode } = useSelect( ( select ) => {\n\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\treturn {\n\t\t\tresolvedAssets: settings.__unstableResolvedAssets,\n\t\t\tisPreviewMode: settings.__unstableIsPreviewMode,\n\t\t};\n\t}, [] );\n\tconst { styles = '', scripts = '' } = resolvedAssets;\n\tconst [ iframeDocument, setIframeDocument ] = useState();\n\tconst [ bodyClasses, setBodyClasses ] = useState( [] );\n\tconst clearerRef = useBlockSelectionClearer();\n\tconst [ before, writingFlowRef, after ] = useWritingFlow();\n\tconst [ contentResizeListener, { height: contentHeight } ] =\n\t\tuseResizeObserver();\n\tconst setRef = useRefEffect( ( node ) => {\n\t\tnode._load = () => {\n\t\t\tsetIframeDocument( node.contentDocument );\n\t\t};\n\t\tlet iFrameDocument;\n\t\t// Prevent the default browser action for files dropped outside of dropzones.\n\t\tfunction preventFileDropDefault( event ) {\n\t\t\tevent.preventDefault();\n\t\t}\n\t\tfunction onLoad() {\n\t\t\tconst { contentDocument, ownerDocument } = node;\n\t\t\tconst { documentElement } = contentDocument;\n\t\t\tiFrameDocument = contentDocument;\n\n\t\t\tclearerRef( documentElement );\n\n\t\t\t// Ideally ALL classes that are added through get_body_class should\n\t\t\t// be added in the editor too, which we'll somehow have to get from\n\t\t\t// the server in the future (which will run the PHP filters).\n\t\t\tsetBodyClasses(\n\t\t\t\tArray.from( ownerDocument.body.classList ).filter(\n\t\t\t\t\t( name ) =>\n\t\t\t\t\t\tname.startsWith( 'admin-color-' ) ||\n\t\t\t\t\t\tname.startsWith( 'post-type-' ) ||\n\t\t\t\t\t\tname === 'wp-embed-responsive'\n\t\t\t\t)\n\t\t\t);\n\n\t\t\tcontentDocument.dir = ownerDocument.dir;\n\n\t\t\tfor ( const compatStyle of getCompatibilityStyles() ) {\n\t\t\t\tif ( contentDocument.getElementById( compatStyle.id ) ) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tcontentDocument.head.appendChild(\n\t\t\t\t\tcompatStyle.cloneNode( true )\n\t\t\t\t);\n\n\t\t\t\tif ( ! isPreviewMode ) {\n\t\t\t\t\t// eslint-disable-next-line no-console\n\t\t\t\t\tconsole.warn(\n\t\t\t\t\t\t`${ compatStyle.id } was added to the iframe incorrectly. Please use block.json or enqueue_block_assets to add styles to the iframe.`,\n\t\t\t\t\t\tcompatStyle\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tiFrameDocument.addEventListener(\n\t\t\t\t'dragover',\n\t\t\t\tpreventFileDropDefault,\n\t\t\t\tfalse\n\t\t\t);\n\t\t\tiFrameDocument.addEventListener(\n\t\t\t\t'drop',\n\t\t\t\tpreventFileDropDefault,\n\t\t\t\tfalse\n\t\t\t);\n\t\t}\n\n\t\tnode.addEventListener( 'load', onLoad );\n\n\t\treturn () => {\n\t\t\tdelete node._load;\n\t\t\tnode.removeEventListener( 'load', onLoad );\n\t\t\tiFrameDocument?.removeEventListener(\n\t\t\t\t'dragover',\n\t\t\t\tpreventFileDropDefault\n\t\t\t);\n\t\t\tiFrameDocument?.removeEventListener(\n\t\t\t\t'drop',\n\t\t\t\tpreventFileDropDefault\n\t\t\t);\n\t\t};\n\t}, [] );\n\n\tconst disabledRef = useDisabled( { isDisabled: ! readonly } );\n\tconst bodyRef = useMergeRefs( [\n\t\tuseBubbleEvents( iframeDocument ),\n\t\tcontentRef,\n\t\tclearerRef,\n\t\twritingFlowRef,\n\t\tdisabledRef,\n\t] );\n\n\t// Correct doctype is required to enable rendering in standards\n\t// mode. Also preload the styles to avoid a flash of unstyled\n\t// content.\n\tconst html = `<!doctype html>\n<html>\n\t<head>\n\t\t<meta charset=\"utf-8\">\n\t\t<script>window.frameElement._load()</script>\n\t\t<style>html{height:auto!important;min-height:100%;}body{margin:0}</style>\n\t\t${ styles }\n\t\t${ scripts }\n\t</head>\n\t<body>\n\t\t<script>document.currentScript.parentElement.remove()</script>\n\t</body>\n</html>`;\n\n\tconst [ src, cleanup ] = useMemo( () => {\n\t\tconst _src = URL.createObjectURL(\n\t\t\tnew window.Blob( [ html ], { type: 'text/html' } )\n\t\t);\n\t\treturn [ _src, () => URL.revokeObjectURL( _src ) ];\n\t}, [ html ] );\n\n\tuseEffect( () => cleanup, [ cleanup ] );\n\n\t// We need to counter the margin created by scaling the iframe. If the scale\n\t// is e.g. 0.45, then the top + bottom margin is 0.55 (1 - scale). Just the\n\t// top or bottom margin is 0.55 / 2 ((1 - scale) / 2).\n\tconst marginFromScaling = ( contentHeight * ( 1 - scale ) ) / 2;\n\n\treturn (\n\t\t<>\n\t\t\t{ tabIndex >= 0 && before }\n\t\t\t{ /* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */ }\n\t\t\t<iframe\n\t\t\t\t{ ...props }\n\t\t\t\tstyle={ {\n\t\t\t\t\tborder: 0,\n\t\t\t\t\t...props.style,\n\t\t\t\t\theight: expand ? contentHeight : props.style?.height,\n\t\t\t\t\tmarginTop:\n\t\t\t\t\t\tscale !== 1\n\t\t\t\t\t\t\t? -marginFromScaling + frameSize\n\t\t\t\t\t\t\t: props.style?.marginTop,\n\t\t\t\t\tmarginBottom:\n\t\t\t\t\t\tscale !== 1\n\t\t\t\t\t\t\t? -marginFromScaling + frameSize\n\t\t\t\t\t\t\t: props.style?.marginBottom,\n\t\t\t\t\ttransform:\n\t\t\t\t\t\tscale !== 1\n\t\t\t\t\t\t\t? `scale( ${ scale } )`\n\t\t\t\t\t\t\t: props.style?.transform,\n\t\t\t\t\ttransition: 'all .3s',\n\t\t\t\t} }\n\t\t\t\tref={ useMergeRefs( [ ref, setRef ] ) }\n\t\t\t\ttabIndex={ tabIndex }\n\t\t\t\t// Correct doctype is required to enable rendering in standards\n\t\t\t\t// mode. Also preload the styles to avoid a flash of unstyled\n\t\t\t\t// content.\n\t\t\t\tsrc={ src }\n\t\t\t\ttitle={ __( 'Editor canvas' ) }\n\t\t\t\tonKeyDown={ ( event ) => {\n\t\t\t\t\tif ( props.onKeyDown ) {\n\t\t\t\t\t\tprops.onKeyDown( event );\n\t\t\t\t\t}\n\t\t\t\t\t// If the event originates from inside the iframe, it means\n\t\t\t\t\t// it bubbled through the portal, but only with React\n\t\t\t\t\t// events. We need to to bubble native events as well,\n\t\t\t\t\t// though by doing so we also trigger another React event,\n\t\t\t\t\t// so we need to stop the propagation of this event to avoid\n\t\t\t\t\t// duplication.\n\t\t\t\t\telse if (\n\t\t\t\t\t\tevent.currentTarget.ownerDocument !==\n\t\t\t\t\t\tevent.target.ownerDocument\n\t\t\t\t\t) {\n\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\tbubbleEvent(\n\t\t\t\t\t\t\tevent,\n\t\t\t\t\t\t\twindow.KeyboardEvent,\n\t\t\t\t\t\t\tevent.currentTarget\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ iframeDocument &&\n\t\t\t\t\tcreatePortal(\n\t\t\t\t\t\t// We want to prevent React events from bubbling throught the iframe\n\t\t\t\t\t\t// we bubble these manually.\n\t\t\t\t\t\t/* eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions */\n\t\t\t\t\t\t<body\n\t\t\t\t\t\t\tref={ bodyRef }\n\t\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t\t'block-editor-iframe__body',\n\t\t\t\t\t\t\t\t'editor-styles-wrapper',\n\t\t\t\t\t\t\t\t...bodyClasses\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ contentResizeListener }\n\t\t\t\t\t\t\t<StyleProvider document={ iframeDocument }>\n\t\t\t\t\t\t\t\t{ children }\n\t\t\t\t\t\t\t</StyleProvider>\n\t\t\t\t\t\t</body>,\n\t\t\t\t\t\tiframeDocument.documentElement\n\t\t\t\t\t) }\n\t\t\t</iframe>\n\t\t\t{ tabIndex >= 0 && after }\n\t\t</>\n\t);\n}\n\nfunction IframeIfReady( props, ref ) {\n\tconst isInitialised = useSelect(\n\t\t( select ) =>\n\t\t\tselect( blockEditorStore ).getSettings().__internalIsInitialized,\n\t\t[]\n\t);\n\n\t// We shouldn't render the iframe until the editor settings are initialised.\n\t// The initial settings are needed to get the styles for the srcDoc, which\n\t// cannot be changed after the iframe is mounted. srcDoc is used to to set\n\t// the initial iframe HTML, which is required to avoid a flash of unstyled\n\t// content.\n\tif ( ! isInitialised ) {\n\t\treturn null;\n\t}\n\n\treturn <Iframe { ...props } forwardedRef={ ref } />;\n}\n\nexport default forwardRef( IframeIfReady );\n"],"mappings":"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"}
|
|
@@ -145,7 +145,7 @@ export function MediaPreview({
|
|
|
145
145
|
setIsInserting(false);
|
|
146
146
|
});
|
|
147
147
|
}, [isInserting, onClick, mediaUpload, createErrorNotice, createSuccessNotice]);
|
|
148
|
-
const title = media.title?.rendered ||
|
|
148
|
+
const title = typeof media.title === 'string' ? media.title : media.title?.rendered || __('no title');
|
|
149
149
|
let truncatedTitle;
|
|
150
150
|
if (title.length > MAXIMUM_TITLE_LENGTH) {
|
|
151
151
|
const omission = '...';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","Tooltip","DropdownMenu","MenuGroup","MenuItem","Spinner","Modal","Flex","FlexItem","Button","privateApis","componentsPrivateApis","__experimentalVStack","VStack","__","sprintf","useMemo","useCallback","useState","cloneBlock","moreVertical","external","useSelect","useDispatch","store","noticesStore","isBlobURL","InserterDraggableBlocks","getBlockAndPreviewFromMedia","blockEditorStore","unlock","ALLOWED_MEDIA_TYPES","MAXIMUM_TITLE_LENGTH","MEDIA_OPTIONS_POPOVER_PROPS","position","className","CompositeItemV2","CompositeItem","MediaPreviewOptions","category","media","getReportUrl","reportUrl","createElement","label","popoverProps","icon","onClick","window","open","focus","mediaType","InsertExternalImageModal","onClose","onSubmit","title","onRequestClose","spacing","justify","expanded","variant","MediaPreview","showExternalUploadModal","setShowExternalUploadModal","isHovered","setIsHovered","isInserting","setIsInserting","block","preview","createErrorNotice","createSuccessNotice","mediaUpload","select","getSettings","onMediaInsert","previewBlock","clonedBlock","id","url","caption","attributes","fetch","then","response","blob","filesList","additionalData","onFileChange","img","type","allowedTypes","onError","message","catch","rendered","truncatedTitle","length","omission","slice","onMouseEnter","onMouseLeave","Fragment","isEnabled","blocks","draggable","onDragStart","onDragEnd","text","render","role"],"sources":["@wordpress/block-editor/src/components/inserter/media-tab/media-preview.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tTooltip,\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItem,\n\tSpinner,\n\tModal,\n\tFlex,\n\tFlexItem,\n\tButton,\n\tprivateApis as componentsPrivateApis,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useMemo, useCallback, useState } from '@wordpress/element';\nimport { cloneBlock } from '@wordpress/blocks';\nimport { moreVertical, external } from '@wordpress/icons';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { isBlobURL } from '@wordpress/blob';\n\n/**\n * Internal dependencies\n */\nimport InserterDraggableBlocks from '../../inserter-draggable-blocks';\nimport { getBlockAndPreviewFromMedia } from './utils';\nimport { store as blockEditorStore } from '../../../store';\nimport { unlock } from '../../../lock-unlock';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\nconst MAXIMUM_TITLE_LENGTH = 25;\nconst MEDIA_OPTIONS_POPOVER_PROPS = {\n\tposition: 'bottom left',\n\tclassName:\n\t\t'block-editor-inserter__media-list__item-preview-options__popover',\n};\n\nconst { CompositeItemV2: CompositeItem } = unlock( componentsPrivateApis );\n\nfunction MediaPreviewOptions( { category, media } ) {\n\tif ( ! category.getReportUrl ) {\n\t\treturn null;\n\t}\n\tconst reportUrl = category.getReportUrl( media );\n\treturn (\n\t\t<DropdownMenu\n\t\t\tclassName=\"block-editor-inserter__media-list__item-preview-options\"\n\t\t\tlabel={ __( 'Options' ) }\n\t\t\tpopoverProps={ MEDIA_OPTIONS_POPOVER_PROPS }\n\t\t\ticon={ moreVertical }\n\t\t>\n\t\t\t{ () => (\n\t\t\t\t<MenuGroup>\n\t\t\t\t\t<MenuItem\n\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\twindow.open( reportUrl, '_blank' ).focus()\n\t\t\t\t\t\t}\n\t\t\t\t\t\ticon={ external }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t/* translators: %s: The media type to report e.g: \"image\", \"video\", \"audio\" */\n\t\t\t\t\t\t\t__( 'Report %s' ),\n\t\t\t\t\t\t\tcategory.mediaType\n\t\t\t\t\t\t) }\n\t\t\t\t\t</MenuItem>\n\t\t\t\t</MenuGroup>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n}\n\nfunction InsertExternalImageModal( { onClose, onSubmit } ) {\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ __( 'Insert external image' ) }\n\t\t\tonRequestClose={ onClose }\n\t\t\tclassName=\"block-editor-inserter-media-tab-media-preview-inserter-external-image-modal\"\n\t\t>\n\t\t\t<VStack spacing={ 3 }>\n\t\t\t\t<p>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'This image cannot be uploaded to your Media Library, but it can still be inserted as an external image.'\n\t\t\t\t\t) }\n\t\t\t\t</p>\n\t\t\t\t<p>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'External images can be removed by the external provider without warning and could even have legal compliance issues related to privacy legislation.'\n\t\t\t\t\t) }\n\t\t\t\t</p>\n\t\t\t</VStack>\n\t\t\t<Flex\n\t\t\t\tclassName=\"block-editor-block-lock-modal__actions\"\n\t\t\t\tjustify=\"flex-end\"\n\t\t\t\texpanded={ false }\n\t\t\t>\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<Button variant=\"tertiary\" onClick={ onClose }>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</FlexItem>\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<Button variant=\"primary\" onClick={ onSubmit }>\n\t\t\t\t\t\t{ __( 'Insert' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</FlexItem>\n\t\t\t</Flex>\n\t\t</Modal>\n\t);\n}\n\nexport function MediaPreview( { media, onClick, category } ) {\n\tconst [ showExternalUploadModal, setShowExternalUploadModal ] =\n\t\tuseState( false );\n\tconst [ isHovered, setIsHovered ] = useState( false );\n\tconst [ isInserting, setIsInserting ] = useState( false );\n\tconst [ block, preview ] = useMemo(\n\t\t() => getBlockAndPreviewFromMedia( media, category.mediaType ),\n\t\t[ media, category.mediaType ]\n\t);\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst mediaUpload = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings().mediaUpload,\n\t\t[]\n\t);\n\tconst onMediaInsert = useCallback(\n\t\t( previewBlock ) => {\n\t\t\t// Prevent multiple uploads when we're in the process of inserting.\n\t\t\tif ( isInserting ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst clonedBlock = cloneBlock( previewBlock );\n\t\t\tconst { id, url, caption } = clonedBlock.attributes;\n\t\t\t// Media item already exists in library, so just insert it.\n\t\t\tif ( !! id ) {\n\t\t\t\tonClick( clonedBlock );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetIsInserting( true );\n\t\t\t// Media item does not exist in library, so try to upload it.\n\t\t\t// Fist fetch the image data. This may fail if the image host\n\t\t\t// doesn't allow CORS with the domain.\n\t\t\t// If this happens, we insert the image block using the external\n\t\t\t// URL and let the user know about the possible implications.\n\t\t\twindow\n\t\t\t\t.fetch( url )\n\t\t\t\t.then( ( response ) => response.blob() )\n\t\t\t\t.then( ( blob ) => {\n\t\t\t\t\tmediaUpload( {\n\t\t\t\t\t\tfilesList: [ blob ],\n\t\t\t\t\t\tadditionalData: { caption },\n\t\t\t\t\t\tonFileChange( [ img ] ) {\n\t\t\t\t\t\t\tif ( isBlobURL( img.url ) ) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick( {\n\t\t\t\t\t\t\t\t...clonedBlock,\n\t\t\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t\t\t...clonedBlock.attributes,\n\t\t\t\t\t\t\t\t\tid: img.id,\n\t\t\t\t\t\t\t\t\turl: img.url,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\t\t\t__( 'Image uploaded and inserted.' ),\n\t\t\t\t\t\t\t\t{ type: 'snackbar' }\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tsetIsInserting( false );\n\t\t\t\t\t\t},\n\t\t\t\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\t\t\t\tonError( message ) {\n\t\t\t\t\t\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t\t\t\t\t\t\tsetIsInserting( false );\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\t\t\t\t} )\n\t\t\t\t.catch( () => {\n\t\t\t\t\tsetShowExternalUploadModal( true );\n\t\t\t\t\tsetIsInserting( false );\n\t\t\t\t} );\n\t\t},\n\t\t[\n\t\t\tisInserting,\n\t\t\tonClick,\n\t\t\tmediaUpload,\n\t\t\tcreateErrorNotice,\n\t\t\tcreateSuccessNotice,\n\t\t]\n\t);\n\tconst title = media.title?.rendered || media.title;\n\tlet truncatedTitle;\n\tif ( title.length > MAXIMUM_TITLE_LENGTH ) {\n\t\tconst omission = '...';\n\t\ttruncatedTitle =\n\t\t\ttitle.slice( 0, MAXIMUM_TITLE_LENGTH - omission.length ) + omission;\n\t}\n\tconst onMouseEnter = useCallback( () => setIsHovered( true ), [] );\n\tconst onMouseLeave = useCallback( () => setIsHovered( false ), [] );\n\treturn (\n\t\t<>\n\t\t\t<InserterDraggableBlocks isEnabled={ true } blocks={ [ block ] }>\n\t\t\t\t{ ( { draggable, onDragStart, onDragEnd } ) => (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'block-editor-inserter__media-list__list-item',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'is-hovered': isHovered,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tdraggable={ draggable }\n\t\t\t\t\t\tonDragStart={ onDragStart }\n\t\t\t\t\t\tonDragEnd={ onDragEnd }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ /* Adding `is-hovered` class to the wrapper element is needed\n\t\t\t\t\t\tbecause the options Popover is rendered outside of this node. */ }\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tonMouseEnter={ onMouseEnter }\n\t\t\t\t\t\t\tonMouseLeave={ onMouseLeave }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Tooltip text={ truncatedTitle || title }>\n\t\t\t\t\t\t\t\t<CompositeItem\n\t\t\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\taria-label={ title }\n\t\t\t\t\t\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"block-editor-inserter__media-list__item\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonClick={ () => onMediaInsert( block ) }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div className=\"block-editor-inserter__media-list__item-preview\">\n\t\t\t\t\t\t\t\t\t\t{ preview }\n\t\t\t\t\t\t\t\t\t\t{ isInserting && (\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"block-editor-inserter__media-list__item-preview-spinner\">\n\t\t\t\t\t\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</CompositeItem>\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t{ ! isInserting && (\n\t\t\t\t\t\t\t\t<MediaPreviewOptions\n\t\t\t\t\t\t\t\t\tcategory={ category }\n\t\t\t\t\t\t\t\t\tmedia={ media }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t</InserterDraggableBlocks>\n\t\t\t{ showExternalUploadModal && (\n\t\t\t\t<InsertExternalImageModal\n\t\t\t\t\tonClose={ () => setShowExternalUploadModal( false ) }\n\t\t\t\t\tonSubmit={ () => {\n\t\t\t\t\t\tonClick( cloneBlock( block ) );\n\t\t\t\t\t\tcreateSuccessNotice( __( 'Image inserted.' ), {\n\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tsetShowExternalUploadModal( false );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["classnames","Tooltip","DropdownMenu","MenuGroup","MenuItem","Spinner","Modal","Flex","FlexItem","Button","privateApis","componentsPrivateApis","__experimentalVStack","VStack","__","sprintf","useMemo","useCallback","useState","cloneBlock","moreVertical","external","useSelect","useDispatch","store","noticesStore","isBlobURL","InserterDraggableBlocks","getBlockAndPreviewFromMedia","blockEditorStore","unlock","ALLOWED_MEDIA_TYPES","MAXIMUM_TITLE_LENGTH","MEDIA_OPTIONS_POPOVER_PROPS","position","className","CompositeItemV2","CompositeItem","MediaPreviewOptions","category","media","getReportUrl","reportUrl","createElement","label","popoverProps","icon","onClick","window","open","focus","mediaType","InsertExternalImageModal","onClose","onSubmit","title","onRequestClose","spacing","justify","expanded","variant","MediaPreview","showExternalUploadModal","setShowExternalUploadModal","isHovered","setIsHovered","isInserting","setIsInserting","block","preview","createErrorNotice","createSuccessNotice","mediaUpload","select","getSettings","onMediaInsert","previewBlock","clonedBlock","id","url","caption","attributes","fetch","then","response","blob","filesList","additionalData","onFileChange","img","type","allowedTypes","onError","message","catch","rendered","truncatedTitle","length","omission","slice","onMouseEnter","onMouseLeave","Fragment","isEnabled","blocks","draggable","onDragStart","onDragEnd","text","render","role"],"sources":["@wordpress/block-editor/src/components/inserter/media-tab/media-preview.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tTooltip,\n\tDropdownMenu,\n\tMenuGroup,\n\tMenuItem,\n\tSpinner,\n\tModal,\n\tFlex,\n\tFlexItem,\n\tButton,\n\tprivateApis as componentsPrivateApis,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useMemo, useCallback, useState } from '@wordpress/element';\nimport { cloneBlock } from '@wordpress/blocks';\nimport { moreVertical, external } from '@wordpress/icons';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { isBlobURL } from '@wordpress/blob';\n\n/**\n * Internal dependencies\n */\nimport InserterDraggableBlocks from '../../inserter-draggable-blocks';\nimport { getBlockAndPreviewFromMedia } from './utils';\nimport { store as blockEditorStore } from '../../../store';\nimport { unlock } from '../../../lock-unlock';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\nconst MAXIMUM_TITLE_LENGTH = 25;\nconst MEDIA_OPTIONS_POPOVER_PROPS = {\n\tposition: 'bottom left',\n\tclassName:\n\t\t'block-editor-inserter__media-list__item-preview-options__popover',\n};\n\nconst { CompositeItemV2: CompositeItem } = unlock( componentsPrivateApis );\n\nfunction MediaPreviewOptions( { category, media } ) {\n\tif ( ! category.getReportUrl ) {\n\t\treturn null;\n\t}\n\tconst reportUrl = category.getReportUrl( media );\n\treturn (\n\t\t<DropdownMenu\n\t\t\tclassName=\"block-editor-inserter__media-list__item-preview-options\"\n\t\t\tlabel={ __( 'Options' ) }\n\t\t\tpopoverProps={ MEDIA_OPTIONS_POPOVER_PROPS }\n\t\t\ticon={ moreVertical }\n\t\t>\n\t\t\t{ () => (\n\t\t\t\t<MenuGroup>\n\t\t\t\t\t<MenuItem\n\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\twindow.open( reportUrl, '_blank' ).focus()\n\t\t\t\t\t\t}\n\t\t\t\t\t\ticon={ external }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t/* translators: %s: The media type to report e.g: \"image\", \"video\", \"audio\" */\n\t\t\t\t\t\t\t__( 'Report %s' ),\n\t\t\t\t\t\t\tcategory.mediaType\n\t\t\t\t\t\t) }\n\t\t\t\t\t</MenuItem>\n\t\t\t\t</MenuGroup>\n\t\t\t) }\n\t\t</DropdownMenu>\n\t);\n}\n\nfunction InsertExternalImageModal( { onClose, onSubmit } ) {\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ __( 'Insert external image' ) }\n\t\t\tonRequestClose={ onClose }\n\t\t\tclassName=\"block-editor-inserter-media-tab-media-preview-inserter-external-image-modal\"\n\t\t>\n\t\t\t<VStack spacing={ 3 }>\n\t\t\t\t<p>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'This image cannot be uploaded to your Media Library, but it can still be inserted as an external image.'\n\t\t\t\t\t) }\n\t\t\t\t</p>\n\t\t\t\t<p>\n\t\t\t\t\t{ __(\n\t\t\t\t\t\t'External images can be removed by the external provider without warning and could even have legal compliance issues related to privacy legislation.'\n\t\t\t\t\t) }\n\t\t\t\t</p>\n\t\t\t</VStack>\n\t\t\t<Flex\n\t\t\t\tclassName=\"block-editor-block-lock-modal__actions\"\n\t\t\t\tjustify=\"flex-end\"\n\t\t\t\texpanded={ false }\n\t\t\t>\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<Button variant=\"tertiary\" onClick={ onClose }>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</FlexItem>\n\t\t\t\t<FlexItem>\n\t\t\t\t\t<Button variant=\"primary\" onClick={ onSubmit }>\n\t\t\t\t\t\t{ __( 'Insert' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</FlexItem>\n\t\t\t</Flex>\n\t\t</Modal>\n\t);\n}\n\nexport function MediaPreview( { media, onClick, category } ) {\n\tconst [ showExternalUploadModal, setShowExternalUploadModal ] =\n\t\tuseState( false );\n\tconst [ isHovered, setIsHovered ] = useState( false );\n\tconst [ isInserting, setIsInserting ] = useState( false );\n\tconst [ block, preview ] = useMemo(\n\t\t() => getBlockAndPreviewFromMedia( media, category.mediaType ),\n\t\t[ media, category.mediaType ]\n\t);\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst mediaUpload = useSelect(\n\t\t( select ) => select( blockEditorStore ).getSettings().mediaUpload,\n\t\t[]\n\t);\n\tconst onMediaInsert = useCallback(\n\t\t( previewBlock ) => {\n\t\t\t// Prevent multiple uploads when we're in the process of inserting.\n\t\t\tif ( isInserting ) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst clonedBlock = cloneBlock( previewBlock );\n\t\t\tconst { id, url, caption } = clonedBlock.attributes;\n\t\t\t// Media item already exists in library, so just insert it.\n\t\t\tif ( !! id ) {\n\t\t\t\tonClick( clonedBlock );\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tsetIsInserting( true );\n\t\t\t// Media item does not exist in library, so try to upload it.\n\t\t\t// Fist fetch the image data. This may fail if the image host\n\t\t\t// doesn't allow CORS with the domain.\n\t\t\t// If this happens, we insert the image block using the external\n\t\t\t// URL and let the user know about the possible implications.\n\t\t\twindow\n\t\t\t\t.fetch( url )\n\t\t\t\t.then( ( response ) => response.blob() )\n\t\t\t\t.then( ( blob ) => {\n\t\t\t\t\tmediaUpload( {\n\t\t\t\t\t\tfilesList: [ blob ],\n\t\t\t\t\t\tadditionalData: { caption },\n\t\t\t\t\t\tonFileChange( [ img ] ) {\n\t\t\t\t\t\t\tif ( isBlobURL( img.url ) ) {\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonClick( {\n\t\t\t\t\t\t\t\t...clonedBlock,\n\t\t\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t\t\t...clonedBlock.attributes,\n\t\t\t\t\t\t\t\t\tid: img.id,\n\t\t\t\t\t\t\t\t\turl: img.url,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\t\t\t__( 'Image uploaded and inserted.' ),\n\t\t\t\t\t\t\t\t{ type: 'snackbar' }\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\tsetIsInserting( false );\n\t\t\t\t\t\t},\n\t\t\t\t\t\tallowedTypes: ALLOWED_MEDIA_TYPES,\n\t\t\t\t\t\tonError( message ) {\n\t\t\t\t\t\t\tcreateErrorNotice( message, { type: 'snackbar' } );\n\t\t\t\t\t\t\tsetIsInserting( false );\n\t\t\t\t\t\t},\n\t\t\t\t\t} );\n\t\t\t\t} )\n\t\t\t\t.catch( () => {\n\t\t\t\t\tsetShowExternalUploadModal( true );\n\t\t\t\t\tsetIsInserting( false );\n\t\t\t\t} );\n\t\t},\n\t\t[\n\t\t\tisInserting,\n\t\t\tonClick,\n\t\t\tmediaUpload,\n\t\t\tcreateErrorNotice,\n\t\t\tcreateSuccessNotice,\n\t\t]\n\t);\n\n\tconst title =\n\t\ttypeof media.title === 'string'\n\t\t\t? media.title\n\t\t\t: media.title?.rendered || __( 'no title' );\n\n\tlet truncatedTitle;\n\tif ( title.length > MAXIMUM_TITLE_LENGTH ) {\n\t\tconst omission = '...';\n\t\ttruncatedTitle =\n\t\t\ttitle.slice( 0, MAXIMUM_TITLE_LENGTH - omission.length ) + omission;\n\t}\n\tconst onMouseEnter = useCallback( () => setIsHovered( true ), [] );\n\tconst onMouseLeave = useCallback( () => setIsHovered( false ), [] );\n\treturn (\n\t\t<>\n\t\t\t<InserterDraggableBlocks isEnabled={ true } blocks={ [ block ] }>\n\t\t\t\t{ ( { draggable, onDragStart, onDragEnd } ) => (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'block-editor-inserter__media-list__list-item',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'is-hovered': isHovered,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tdraggable={ draggable }\n\t\t\t\t\t\tonDragStart={ onDragStart }\n\t\t\t\t\t\tonDragEnd={ onDragEnd }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ /* Adding `is-hovered` class to the wrapper element is needed\n\t\t\t\t\t\tbecause the options Popover is rendered outside of this node. */ }\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tonMouseEnter={ onMouseEnter }\n\t\t\t\t\t\t\tonMouseLeave={ onMouseLeave }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Tooltip text={ truncatedTitle || title }>\n\t\t\t\t\t\t\t\t<CompositeItem\n\t\t\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\t\t\t\taria-label={ title }\n\t\t\t\t\t\t\t\t\t\t\trole=\"option\"\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"block-editor-inserter__media-list__item\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonClick={ () => onMediaInsert( block ) }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<div className=\"block-editor-inserter__media-list__item-preview\">\n\t\t\t\t\t\t\t\t\t\t{ preview }\n\t\t\t\t\t\t\t\t\t\t{ isInserting && (\n\t\t\t\t\t\t\t\t\t\t\t<div className=\"block-editor-inserter__media-list__item-preview-spinner\">\n\t\t\t\t\t\t\t\t\t\t\t\t<Spinner />\n\t\t\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t\t</CompositeItem>\n\t\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t\t\t{ ! isInserting && (\n\t\t\t\t\t\t\t\t<MediaPreviewOptions\n\t\t\t\t\t\t\t\t\tcategory={ category }\n\t\t\t\t\t\t\t\t\tmedia={ media }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</div>\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t</InserterDraggableBlocks>\n\t\t\t{ showExternalUploadModal && (\n\t\t\t\t<InsertExternalImageModal\n\t\t\t\t\tonClose={ () => setShowExternalUploadModal( false ) }\n\t\t\t\t\tonSubmit={ () => {\n\t\t\t\t\t\tonClick( cloneBlock( block ) );\n\t\t\t\t\t\tcreateSuccessNotice( __( 'Image inserted.' ), {\n\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tsetShowExternalUploadModal( false );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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"}
|
|
@@ -139,9 +139,13 @@ export function RichTextWrapper({
|
|
|
139
139
|
getBlockBindingsSource
|
|
140
140
|
} = unlock(select(blockEditorStore));
|
|
141
141
|
for (const [attribute, args] of Object.entries(blockBindings)) {
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
142
|
+
if (blockTypeAttributes?.[attribute]?.source !== 'rich-text') {
|
|
143
|
+
break;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
// If the source is not defined, or if its value of `lockAttributesEditing` is `true`, disable it.
|
|
147
|
+
const blockBindingsSource = getBlockBindingsSource(args.source);
|
|
148
|
+
if (!blockBindingsSource || blockBindingsSource.lockAttributesEditing) {
|
|
145
149
|
shouldDisableEditing = true;
|
|
146
150
|
break;
|
|
147
151
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","useRef","useCallback","forwardRef","createContext","useDispatch","useSelect","useMergeRefs","__unstableUseRichText","useRichText","removeFormat","Popover","getBlockType","useBlockEditorAutocompleteProps","useBlockEditContext","FormatToolbarContainer","store","blockEditorStore","useUndoAutomaticChange","useMarkPersistent","usePasteHandler","useBeforeInputRules","useInputRules","useDelete","useEnter","useFormatTypes","useRemoveBrowserShortcuts","useShortcuts","useInputEvents","useInsertReplacementText","useFirefoxCompat","FormatEdit","getAllowedFormats","Content","withDeprecations","unlock","BLOCK_BINDINGS_ALLOWED_BLOCKS","keyboardShortcutContext","inputEventContext","removeNativeProps","props","__unstableMobileNoFocusOnMount","deleteEnter","placeholderTextColor","textAlign","selectionColor","tagsToEliminate","disableEditingMenu","fontSize","fontFamily","fontWeight","fontStyle","minWidth","maxWidth","setRef","disableSuggestions","disableAutocorrection","restProps","RichTextWrapper","children","tagName","value","adjustedValue","onChange","adjustedOnChange","isSelected","originalIsSelected","multiline","inlineToolbar","wrapperClassName","autocompleters","onReplace","placeholder","allowedFormats","withoutInteractiveFormatting","onRemove","onMerge","onSplit","__unstableOnSplitAtEnd","onSplitAtEnd","__unstableOnSplitAtDoubleLineEnd","onSplitAtDoubleLineEnd","identifier","preserveWhiteSpace","__unstablePastePlainText","pastePlainText","__unstableEmbedURLOnPaste","__unstableDisableFormats","disableFormats","disableLineBreaks","__unstableAllowPrefixTransformations","forwardedRef","anchorRef","clientId","isBlockSelected","name","blockName","selector","select","getSelectionStart","getSelectionEnd","getBlockAttributes","selectionStart","selectionEnd","blockBindings","metadata","bindings","undefined","attributeKey","shouldDisableEditing","blockTypeAttributes","attributes","getBlockBindingsSource","attribute","args","Object","entries","source","lockAttributesEditing","offset","getBlockRootClientId","selectionChange","adjustedAllowedFormats","hasFormats","length","onSelectionChange","start","end","selection","unset","formatTypes","prepareHandlers","valueHandlers","changeHandlers","dependencies","addEditorOnlyFormats","reduce","accumulator","fn","text","formats","removeEditorOnlyFormats","forEach","formatType","__experimentalCreatePrepareEditableTree","addInvisibleFormats","getValue","ref","richTextRef","html","__unstableFormats","__unstableText","values","changeHandler","__unstableIsSelected","__unstableDependencies","__unstableAfterParse","__unstableBeforeSerialize","__unstableAddInvisibleFormats","autocompleteProps","completers","record","keyboardShortcuts","Set","inputEvents","onFocus","current","focus","TagName","createElement","Fragment","Provider","__unstableSlotNameProvider","inline","editableContentElement","role","contentEditable","suppressContentEditableWarning","className","tabIndex","ForwardedRichTextContainer","isEmpty","RichTextShortcut","RichTextToolbarButton","__unstableRichTextInputEvent"],"sources":["@wordpress/block-editor/src/components/rich-text/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseRef,\n\tuseCallback,\n\tforwardRef,\n\tcreateContext,\n} from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useMergeRefs } from '@wordpress/compose';\nimport {\n\t__unstableUseRichText as useRichText,\n\tremoveFormat,\n} from '@wordpress/rich-text';\nimport { Popover } from '@wordpress/components';\nimport { getBlockType } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { useBlockEditorAutocompleteProps } from '../autocomplete';\nimport { useBlockEditContext } from '../block-edit';\nimport FormatToolbarContainer from './format-toolbar-container';\nimport { store as blockEditorStore } from '../../store';\nimport { useUndoAutomaticChange } from './use-undo-automatic-change';\nimport { useMarkPersistent } from './use-mark-persistent';\nimport { usePasteHandler } from './use-paste-handler';\nimport { useBeforeInputRules } from './use-before-input-rules';\nimport { useInputRules } from './use-input-rules';\nimport { useDelete } from './use-delete';\nimport { useEnter } from './use-enter';\nimport { useFormatTypes } from './use-format-types';\nimport { useRemoveBrowserShortcuts } from './use-remove-browser-shortcuts';\nimport { useShortcuts } from './use-shortcuts';\nimport { useInputEvents } from './use-input-events';\nimport { useInsertReplacementText } from './use-insert-replacement-text';\nimport { useFirefoxCompat } from './use-firefox-compat';\nimport FormatEdit from './format-edit';\nimport { getAllowedFormats } from './utils';\nimport { Content } from './content';\nimport { withDeprecations } from './with-deprecations';\nimport { unlock } from '../../lock-unlock';\nimport { BLOCK_BINDINGS_ALLOWED_BLOCKS } from '../../hooks/use-bindings-attributes';\n\nexport const keyboardShortcutContext = createContext();\nexport const inputEventContext = createContext();\n\n/**\n * Removes props used for the native version of RichText so that they are not\n * passed to the DOM element and log warnings.\n *\n * @param {Object} props Props to filter.\n *\n * @return {Object} Filtered props.\n */\nfunction removeNativeProps( props ) {\n\tconst {\n\t\t__unstableMobileNoFocusOnMount,\n\t\tdeleteEnter,\n\t\tplaceholderTextColor,\n\t\ttextAlign,\n\t\tselectionColor,\n\t\ttagsToEliminate,\n\t\tdisableEditingMenu,\n\t\tfontSize,\n\t\tfontFamily,\n\t\tfontWeight,\n\t\tfontStyle,\n\t\tminWidth,\n\t\tmaxWidth,\n\t\tsetRef,\n\t\tdisableSuggestions,\n\t\tdisableAutocorrection,\n\t\t...restProps\n\t} = props;\n\treturn restProps;\n}\n\nexport function RichTextWrapper(\n\t{\n\t\tchildren,\n\t\ttagName = 'div',\n\t\tvalue: adjustedValue = '',\n\t\tonChange: adjustedOnChange,\n\t\tisSelected: originalIsSelected,\n\t\tmultiline,\n\t\tinlineToolbar,\n\t\twrapperClassName,\n\t\tautocompleters,\n\t\tonReplace,\n\t\tplaceholder,\n\t\tallowedFormats,\n\t\twithoutInteractiveFormatting,\n\t\tonRemove,\n\t\tonMerge,\n\t\tonSplit,\n\t\t__unstableOnSplitAtEnd: onSplitAtEnd,\n\t\t__unstableOnSplitAtDoubleLineEnd: onSplitAtDoubleLineEnd,\n\t\tidentifier,\n\t\tpreserveWhiteSpace,\n\t\t__unstablePastePlainText: pastePlainText,\n\t\t__unstableEmbedURLOnPaste,\n\t\t__unstableDisableFormats: disableFormats,\n\t\tdisableLineBreaks,\n\t\t__unstableAllowPrefixTransformations,\n\t\t...props\n\t},\n\tforwardedRef\n) {\n\tprops = removeNativeProps( props );\n\n\tconst anchorRef = useRef();\n\tconst {\n\t\tclientId,\n\t\tisSelected: isBlockSelected,\n\t\tname: blockName,\n\t} = useBlockEditContext();\n\tconst selector = ( select ) => {\n\t\t// Avoid subscribing to the block editor store if the block is not\n\t\t// selected.\n\t\tif ( ! isBlockSelected ) {\n\t\t\treturn { isSelected: false };\n\t\t}\n\n\t\tconst { getSelectionStart, getSelectionEnd, getBlockAttributes } =\n\t\t\tselect( blockEditorStore );\n\t\tconst selectionStart = getSelectionStart();\n\t\tconst selectionEnd = getSelectionEnd();\n\t\tconst blockBindings =\n\t\t\tgetBlockAttributes( clientId )?.metadata?.bindings;\n\n\t\tlet isSelected;\n\n\t\tif ( originalIsSelected === undefined ) {\n\t\t\tisSelected =\n\t\t\t\tselectionStart.clientId === clientId &&\n\t\t\t\tselectionEnd.clientId === clientId &&\n\t\t\t\tselectionStart.attributeKey === identifier;\n\t\t} else if ( originalIsSelected ) {\n\t\t\tisSelected = selectionStart.clientId === clientId;\n\t\t}\n\n\t\t// Disable Rich Text editing if block bindings specify that.\n\t\tlet shouldDisableEditing = false;\n\t\tif ( blockBindings && blockName in BLOCK_BINDINGS_ALLOWED_BLOCKS ) {\n\t\t\tconst blockTypeAttributes = getBlockType( blockName ).attributes;\n\t\t\tconst { getBlockBindingsSource } = unlock(\n\t\t\t\tselect( blockEditorStore )\n\t\t\t);\n\t\t\tfor ( const [ attribute, args ] of Object.entries(\n\t\t\t\tblockBindings\n\t\t\t) ) {\n\t\t\t\t// If any of the attributes with source \"rich-text\" is part of the bindings,\n\t\t\t\t// has a source with `lockAttributesEditing`, disable it.\n\t\t\t\tif (\n\t\t\t\t\tblockTypeAttributes?.[ attribute ]?.source ===\n\t\t\t\t\t\t'rich-text' &&\n\t\t\t\t\tgetBlockBindingsSource( args.source )?.lockAttributesEditing\n\t\t\t\t) {\n\t\t\t\t\tshouldDisableEditing = true;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\tselectionStart: isSelected ? selectionStart.offset : undefined,\n\t\t\tselectionEnd: isSelected ? selectionEnd.offset : undefined,\n\t\t\tisSelected,\n\t\t\tshouldDisableEditing,\n\t\t};\n\t};\n\tconst { selectionStart, selectionEnd, isSelected, shouldDisableEditing } =\n\t\tuseSelect( selector, [\n\t\t\tclientId,\n\t\t\tidentifier,\n\t\t\toriginalIsSelected,\n\t\t\tisBlockSelected,\n\t\t] );\n\tconst { getSelectionStart, getSelectionEnd, getBlockRootClientId } =\n\t\tuseSelect( blockEditorStore );\n\tconst { selectionChange } = useDispatch( blockEditorStore );\n\tconst adjustedAllowedFormats = getAllowedFormats( {\n\t\tallowedFormats,\n\t\tdisableFormats,\n\t} );\n\tconst hasFormats =\n\t\t! adjustedAllowedFormats || adjustedAllowedFormats.length > 0;\n\n\tconst onSelectionChange = useCallback(\n\t\t( start, end ) => {\n\t\t\tconst selection = {};\n\t\t\tconst unset = start === undefined && end === undefined;\n\n\t\t\tif ( typeof start === 'number' || unset ) {\n\t\t\t\t// If we are only setting the start (or the end below), which\n\t\t\t\t// means a partial selection, and we're not updating a selection\n\t\t\t\t// with the same client ID, abort. This means the selected block\n\t\t\t\t// is a parent block.\n\t\t\t\tif (\n\t\t\t\t\tend === undefined &&\n\t\t\t\t\tgetBlockRootClientId( clientId ) !==\n\t\t\t\t\t\tgetBlockRootClientId( getSelectionEnd().clientId )\n\t\t\t\t) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tselection.start = {\n\t\t\t\t\tclientId,\n\t\t\t\t\tattributeKey: identifier,\n\t\t\t\t\toffset: start,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif ( typeof end === 'number' || unset ) {\n\t\t\t\tif (\n\t\t\t\t\tstart === undefined &&\n\t\t\t\t\tgetBlockRootClientId( clientId ) !==\n\t\t\t\t\t\tgetBlockRootClientId( getSelectionStart().clientId )\n\t\t\t\t) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tselection.end = {\n\t\t\t\t\tclientId,\n\t\t\t\t\tattributeKey: identifier,\n\t\t\t\t\toffset: end,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tselectionChange( selection );\n\t\t},\n\t\t[ clientId, identifier ]\n\t);\n\n\tconst {\n\t\tformatTypes,\n\t\tprepareHandlers,\n\t\tvalueHandlers,\n\t\tchangeHandlers,\n\t\tdependencies,\n\t} = useFormatTypes( {\n\t\tclientId,\n\t\tidentifier,\n\t\twithoutInteractiveFormatting,\n\t\tallowedFormats: adjustedAllowedFormats,\n\t} );\n\n\tfunction addEditorOnlyFormats( value ) {\n\t\treturn valueHandlers.reduce(\n\t\t\t( accumulator, fn ) => fn( accumulator, value.text ),\n\t\t\tvalue.formats\n\t\t);\n\t}\n\n\tfunction removeEditorOnlyFormats( value ) {\n\t\tformatTypes.forEach( ( formatType ) => {\n\t\t\t// Remove formats created by prepareEditableTree, because they are editor only.\n\t\t\tif ( formatType.__experimentalCreatePrepareEditableTree ) {\n\t\t\t\tvalue = removeFormat(\n\t\t\t\t\tvalue,\n\t\t\t\t\tformatType.name,\n\t\t\t\t\t0,\n\t\t\t\t\tvalue.text.length\n\t\t\t\t);\n\t\t\t}\n\t\t} );\n\n\t\treturn value.formats;\n\t}\n\n\tfunction addInvisibleFormats( value ) {\n\t\treturn prepareHandlers.reduce(\n\t\t\t( accumulator, fn ) => fn( accumulator, value.text ),\n\t\t\tvalue.formats\n\t\t);\n\t}\n\n\tconst {\n\t\tvalue,\n\t\tgetValue,\n\t\tonChange,\n\t\tref: richTextRef,\n\t} = useRichText( {\n\t\tvalue: adjustedValue,\n\t\tonChange( html, { __unstableFormats, __unstableText } ) {\n\t\t\tadjustedOnChange( html );\n\t\t\tObject.values( changeHandlers ).forEach( ( changeHandler ) => {\n\t\t\t\tchangeHandler( __unstableFormats, __unstableText );\n\t\t\t} );\n\t\t},\n\t\tselectionStart,\n\t\tselectionEnd,\n\t\tonSelectionChange,\n\t\tplaceholder,\n\t\t__unstableIsSelected: isSelected,\n\t\t__unstableDisableFormats: disableFormats,\n\t\tpreserveWhiteSpace,\n\t\t__unstableDependencies: [ ...dependencies, tagName ],\n\t\t__unstableAfterParse: addEditorOnlyFormats,\n\t\t__unstableBeforeSerialize: removeEditorOnlyFormats,\n\t\t__unstableAddInvisibleFormats: addInvisibleFormats,\n\t} );\n\tconst autocompleteProps = useBlockEditorAutocompleteProps( {\n\t\tonReplace,\n\t\tcompleters: autocompleters,\n\t\trecord: value,\n\t\tonChange,\n\t} );\n\n\tuseMarkPersistent( { html: adjustedValue, value } );\n\n\tconst keyboardShortcuts = useRef( new Set() );\n\tconst inputEvents = useRef( new Set() );\n\n\tfunction onFocus() {\n\t\tanchorRef.current?.focus();\n\t}\n\n\tconst TagName = tagName;\n\treturn (\n\t\t<>\n\t\t\t{ isSelected && (\n\t\t\t\t<keyboardShortcutContext.Provider value={ keyboardShortcuts }>\n\t\t\t\t\t<inputEventContext.Provider value={ inputEvents }>\n\t\t\t\t\t\t<Popover.__unstableSlotNameProvider value=\"__unstable-block-tools-after\">\n\t\t\t\t\t\t\t{ children &&\n\t\t\t\t\t\t\t\tchildren( { value, onChange, onFocus } ) }\n\n\t\t\t\t\t\t\t<FormatEdit\n\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\t\t\tformatTypes={ formatTypes }\n\t\t\t\t\t\t\t\tforwardedRef={ anchorRef }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Popover.__unstableSlotNameProvider>\n\t\t\t\t\t</inputEventContext.Provider>\n\t\t\t\t</keyboardShortcutContext.Provider>\n\t\t\t) }\n\t\t\t{ isSelected && hasFormats && (\n\t\t\t\t<FormatToolbarContainer\n\t\t\t\t\tinline={ inlineToolbar }\n\t\t\t\t\teditableContentElement={ anchorRef.current }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<TagName\n\t\t\t\t// Overridable props.\n\t\t\t\trole=\"textbox\"\n\t\t\t\taria-multiline={ ! disableLineBreaks }\n\t\t\t\taria-label={ placeholder }\n\t\t\t\taria-readonly={ shouldDisableEditing }\n\t\t\t\t{ ...props }\n\t\t\t\t{ ...autocompleteProps }\n\t\t\t\tref={ useMergeRefs( [\n\t\t\t\t\t// Rich text ref must be first because its focus listener\n\t\t\t\t\t// must be set up before any other ref calls .focus() on\n\t\t\t\t\t// mount.\n\t\t\t\t\trichTextRef,\n\t\t\t\t\tforwardedRef,\n\t\t\t\t\tautocompleteProps.ref,\n\t\t\t\t\tprops.ref,\n\t\t\t\t\tuseBeforeInputRules( { value, onChange } ),\n\t\t\t\t\tuseInputRules( {\n\t\t\t\t\t\tgetValue,\n\t\t\t\t\t\tonChange,\n\t\t\t\t\t\t__unstableAllowPrefixTransformations,\n\t\t\t\t\t\tformatTypes,\n\t\t\t\t\t\tonReplace,\n\t\t\t\t\t\tselectionChange,\n\t\t\t\t\t} ),\n\t\t\t\t\tuseInsertReplacementText(),\n\t\t\t\t\tuseRemoveBrowserShortcuts(),\n\t\t\t\t\tuseShortcuts( keyboardShortcuts ),\n\t\t\t\t\tuseInputEvents( inputEvents ),\n\t\t\t\t\tuseUndoAutomaticChange(),\n\t\t\t\t\tusePasteHandler( {\n\t\t\t\t\t\tisSelected,\n\t\t\t\t\t\tdisableFormats,\n\t\t\t\t\t\tonChange,\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tformatTypes,\n\t\t\t\t\t\ttagName,\n\t\t\t\t\t\tonReplace,\n\t\t\t\t\t\tonSplit,\n\t\t\t\t\t\t__unstableEmbedURLOnPaste,\n\t\t\t\t\t\tpastePlainText,\n\t\t\t\t\t} ),\n\t\t\t\t\tuseDelete( {\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tonMerge,\n\t\t\t\t\t\tonRemove,\n\t\t\t\t\t} ),\n\t\t\t\t\tuseEnter( {\n\t\t\t\t\t\tremoveEditorOnlyFormats,\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tonReplace,\n\t\t\t\t\t\tonSplit,\n\t\t\t\t\t\tonChange,\n\t\t\t\t\t\tdisableLineBreaks,\n\t\t\t\t\t\tonSplitAtEnd,\n\t\t\t\t\t\tonSplitAtDoubleLineEnd,\n\t\t\t\t\t} ),\n\t\t\t\t\tuseFirefoxCompat(),\n\t\t\t\t\tanchorRef,\n\t\t\t\t] ) }\n\t\t\t\tcontentEditable={ ! shouldDisableEditing }\n\t\t\t\tsuppressContentEditableWarning={ true }\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'block-editor-rich-text__editable',\n\t\t\t\t\tprops.className,\n\t\t\t\t\t'rich-text'\n\t\t\t\t) }\n\t\t\t\t// Setting tabIndex to 0 is unnecessary, the element is already\n\t\t\t\t// focusable because it's contentEditable. This also fixes a\n\t\t\t\t// Safari bug where it's not possible to Shift+Click multi\n\t\t\t\t// select blocks when Shift Clicking into an element with\n\t\t\t\t// tabIndex because Safari will focus the element. However,\n\t\t\t\t// Safari will correctly ignore nested contentEditable elements.\n\t\t\t\ttabIndex={\n\t\t\t\t\tprops.tabIndex === 0 && ! shouldDisableEditing\n\t\t\t\t\t\t? null\n\t\t\t\t\t\t: props.tabIndex\n\t\t\t\t}\n\t\t\t\tdata-wp-block-attribute-key={ identifier }\n\t\t\t/>\n\t\t</>\n\t);\n}\n\nconst ForwardedRichTextContainer = withDeprecations(\n\tforwardRef( RichTextWrapper )\n);\n\nForwardedRichTextContainer.Content = Content;\nForwardedRichTextContainer.isEmpty = ( value ) => {\n\treturn ! value || value.length === 0;\n};\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/rich-text/README.md\n */\nexport default ForwardedRichTextContainer;\nexport { RichTextShortcut } from './shortcut';\nexport { RichTextToolbarButton } from './toolbar-button';\nexport { __unstableRichTextInputEvent } from './input-event';\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["classnames","useRef","useCallback","forwardRef","createContext","useDispatch","useSelect","useMergeRefs","__unstableUseRichText","useRichText","removeFormat","Popover","getBlockType","useBlockEditorAutocompleteProps","useBlockEditContext","FormatToolbarContainer","store","blockEditorStore","useUndoAutomaticChange","useMarkPersistent","usePasteHandler","useBeforeInputRules","useInputRules","useDelete","useEnter","useFormatTypes","useRemoveBrowserShortcuts","useShortcuts","useInputEvents","useInsertReplacementText","useFirefoxCompat","FormatEdit","getAllowedFormats","Content","withDeprecations","unlock","BLOCK_BINDINGS_ALLOWED_BLOCKS","keyboardShortcutContext","inputEventContext","removeNativeProps","props","__unstableMobileNoFocusOnMount","deleteEnter","placeholderTextColor","textAlign","selectionColor","tagsToEliminate","disableEditingMenu","fontSize","fontFamily","fontWeight","fontStyle","minWidth","maxWidth","setRef","disableSuggestions","disableAutocorrection","restProps","RichTextWrapper","children","tagName","value","adjustedValue","onChange","adjustedOnChange","isSelected","originalIsSelected","multiline","inlineToolbar","wrapperClassName","autocompleters","onReplace","placeholder","allowedFormats","withoutInteractiveFormatting","onRemove","onMerge","onSplit","__unstableOnSplitAtEnd","onSplitAtEnd","__unstableOnSplitAtDoubleLineEnd","onSplitAtDoubleLineEnd","identifier","preserveWhiteSpace","__unstablePastePlainText","pastePlainText","__unstableEmbedURLOnPaste","__unstableDisableFormats","disableFormats","disableLineBreaks","__unstableAllowPrefixTransformations","forwardedRef","anchorRef","clientId","isBlockSelected","name","blockName","selector","select","getSelectionStart","getSelectionEnd","getBlockAttributes","selectionStart","selectionEnd","blockBindings","metadata","bindings","undefined","attributeKey","shouldDisableEditing","blockTypeAttributes","attributes","getBlockBindingsSource","attribute","args","Object","entries","source","blockBindingsSource","lockAttributesEditing","offset","getBlockRootClientId","selectionChange","adjustedAllowedFormats","hasFormats","length","onSelectionChange","start","end","selection","unset","formatTypes","prepareHandlers","valueHandlers","changeHandlers","dependencies","addEditorOnlyFormats","reduce","accumulator","fn","text","formats","removeEditorOnlyFormats","forEach","formatType","__experimentalCreatePrepareEditableTree","addInvisibleFormats","getValue","ref","richTextRef","html","__unstableFormats","__unstableText","values","changeHandler","__unstableIsSelected","__unstableDependencies","__unstableAfterParse","__unstableBeforeSerialize","__unstableAddInvisibleFormats","autocompleteProps","completers","record","keyboardShortcuts","Set","inputEvents","onFocus","current","focus","TagName","createElement","Fragment","Provider","__unstableSlotNameProvider","inline","editableContentElement","role","contentEditable","suppressContentEditableWarning","className","tabIndex","ForwardedRichTextContainer","isEmpty","RichTextShortcut","RichTextToolbarButton","__unstableRichTextInputEvent"],"sources":["@wordpress/block-editor/src/components/rich-text/index.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tuseRef,\n\tuseCallback,\n\tforwardRef,\n\tcreateContext,\n} from '@wordpress/element';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useMergeRefs } from '@wordpress/compose';\nimport {\n\t__unstableUseRichText as useRichText,\n\tremoveFormat,\n} from '@wordpress/rich-text';\nimport { Popover } from '@wordpress/components';\nimport { getBlockType } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { useBlockEditorAutocompleteProps } from '../autocomplete';\nimport { useBlockEditContext } from '../block-edit';\nimport FormatToolbarContainer from './format-toolbar-container';\nimport { store as blockEditorStore } from '../../store';\nimport { useUndoAutomaticChange } from './use-undo-automatic-change';\nimport { useMarkPersistent } from './use-mark-persistent';\nimport { usePasteHandler } from './use-paste-handler';\nimport { useBeforeInputRules } from './use-before-input-rules';\nimport { useInputRules } from './use-input-rules';\nimport { useDelete } from './use-delete';\nimport { useEnter } from './use-enter';\nimport { useFormatTypes } from './use-format-types';\nimport { useRemoveBrowserShortcuts } from './use-remove-browser-shortcuts';\nimport { useShortcuts } from './use-shortcuts';\nimport { useInputEvents } from './use-input-events';\nimport { useInsertReplacementText } from './use-insert-replacement-text';\nimport { useFirefoxCompat } from './use-firefox-compat';\nimport FormatEdit from './format-edit';\nimport { getAllowedFormats } from './utils';\nimport { Content } from './content';\nimport { withDeprecations } from './with-deprecations';\nimport { unlock } from '../../lock-unlock';\nimport { BLOCK_BINDINGS_ALLOWED_BLOCKS } from '../../hooks/use-bindings-attributes';\n\nexport const keyboardShortcutContext = createContext();\nexport const inputEventContext = createContext();\n\n/**\n * Removes props used for the native version of RichText so that they are not\n * passed to the DOM element and log warnings.\n *\n * @param {Object} props Props to filter.\n *\n * @return {Object} Filtered props.\n */\nfunction removeNativeProps( props ) {\n\tconst {\n\t\t__unstableMobileNoFocusOnMount,\n\t\tdeleteEnter,\n\t\tplaceholderTextColor,\n\t\ttextAlign,\n\t\tselectionColor,\n\t\ttagsToEliminate,\n\t\tdisableEditingMenu,\n\t\tfontSize,\n\t\tfontFamily,\n\t\tfontWeight,\n\t\tfontStyle,\n\t\tminWidth,\n\t\tmaxWidth,\n\t\tsetRef,\n\t\tdisableSuggestions,\n\t\tdisableAutocorrection,\n\t\t...restProps\n\t} = props;\n\treturn restProps;\n}\n\nexport function RichTextWrapper(\n\t{\n\t\tchildren,\n\t\ttagName = 'div',\n\t\tvalue: adjustedValue = '',\n\t\tonChange: adjustedOnChange,\n\t\tisSelected: originalIsSelected,\n\t\tmultiline,\n\t\tinlineToolbar,\n\t\twrapperClassName,\n\t\tautocompleters,\n\t\tonReplace,\n\t\tplaceholder,\n\t\tallowedFormats,\n\t\twithoutInteractiveFormatting,\n\t\tonRemove,\n\t\tonMerge,\n\t\tonSplit,\n\t\t__unstableOnSplitAtEnd: onSplitAtEnd,\n\t\t__unstableOnSplitAtDoubleLineEnd: onSplitAtDoubleLineEnd,\n\t\tidentifier,\n\t\tpreserveWhiteSpace,\n\t\t__unstablePastePlainText: pastePlainText,\n\t\t__unstableEmbedURLOnPaste,\n\t\t__unstableDisableFormats: disableFormats,\n\t\tdisableLineBreaks,\n\t\t__unstableAllowPrefixTransformations,\n\t\t...props\n\t},\n\tforwardedRef\n) {\n\tprops = removeNativeProps( props );\n\n\tconst anchorRef = useRef();\n\tconst {\n\t\tclientId,\n\t\tisSelected: isBlockSelected,\n\t\tname: blockName,\n\t} = useBlockEditContext();\n\tconst selector = ( select ) => {\n\t\t// Avoid subscribing to the block editor store if the block is not\n\t\t// selected.\n\t\tif ( ! isBlockSelected ) {\n\t\t\treturn { isSelected: false };\n\t\t}\n\n\t\tconst { getSelectionStart, getSelectionEnd, getBlockAttributes } =\n\t\t\tselect( blockEditorStore );\n\t\tconst selectionStart = getSelectionStart();\n\t\tconst selectionEnd = getSelectionEnd();\n\t\tconst blockBindings =\n\t\t\tgetBlockAttributes( clientId )?.metadata?.bindings;\n\n\t\tlet isSelected;\n\n\t\tif ( originalIsSelected === undefined ) {\n\t\t\tisSelected =\n\t\t\t\tselectionStart.clientId === clientId &&\n\t\t\t\tselectionEnd.clientId === clientId &&\n\t\t\t\tselectionStart.attributeKey === identifier;\n\t\t} else if ( originalIsSelected ) {\n\t\t\tisSelected = selectionStart.clientId === clientId;\n\t\t}\n\n\t\t// Disable Rich Text editing if block bindings specify that.\n\t\tlet shouldDisableEditing = false;\n\t\tif ( blockBindings && blockName in BLOCK_BINDINGS_ALLOWED_BLOCKS ) {\n\t\t\tconst blockTypeAttributes = getBlockType( blockName ).attributes;\n\t\t\tconst { getBlockBindingsSource } = unlock(\n\t\t\t\tselect( blockEditorStore )\n\t\t\t);\n\t\t\tfor ( const [ attribute, args ] of Object.entries(\n\t\t\t\tblockBindings\n\t\t\t) ) {\n\t\t\t\tif (\n\t\t\t\t\tblockTypeAttributes?.[ attribute ]?.source !== 'rich-text'\n\t\t\t\t) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\t// If the source is not defined, or if its value of `lockAttributesEditing` is `true`, disable it.\n\t\t\t\tconst blockBindingsSource = getBlockBindingsSource(\n\t\t\t\t\targs.source\n\t\t\t\t);\n\t\t\t\tif (\n\t\t\t\t\t! blockBindingsSource ||\n\t\t\t\t\tblockBindingsSource.lockAttributesEditing\n\t\t\t\t) {\n\t\t\t\t\tshouldDisableEditing = true;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn {\n\t\t\tselectionStart: isSelected ? selectionStart.offset : undefined,\n\t\t\tselectionEnd: isSelected ? selectionEnd.offset : undefined,\n\t\t\tisSelected,\n\t\t\tshouldDisableEditing,\n\t\t};\n\t};\n\tconst { selectionStart, selectionEnd, isSelected, shouldDisableEditing } =\n\t\tuseSelect( selector, [\n\t\t\tclientId,\n\t\t\tidentifier,\n\t\t\toriginalIsSelected,\n\t\t\tisBlockSelected,\n\t\t] );\n\tconst { getSelectionStart, getSelectionEnd, getBlockRootClientId } =\n\t\tuseSelect( blockEditorStore );\n\tconst { selectionChange } = useDispatch( blockEditorStore );\n\tconst adjustedAllowedFormats = getAllowedFormats( {\n\t\tallowedFormats,\n\t\tdisableFormats,\n\t} );\n\tconst hasFormats =\n\t\t! adjustedAllowedFormats || adjustedAllowedFormats.length > 0;\n\n\tconst onSelectionChange = useCallback(\n\t\t( start, end ) => {\n\t\t\tconst selection = {};\n\t\t\tconst unset = start === undefined && end === undefined;\n\n\t\t\tif ( typeof start === 'number' || unset ) {\n\t\t\t\t// If we are only setting the start (or the end below), which\n\t\t\t\t// means a partial selection, and we're not updating a selection\n\t\t\t\t// with the same client ID, abort. This means the selected block\n\t\t\t\t// is a parent block.\n\t\t\t\tif (\n\t\t\t\t\tend === undefined &&\n\t\t\t\t\tgetBlockRootClientId( clientId ) !==\n\t\t\t\t\t\tgetBlockRootClientId( getSelectionEnd().clientId )\n\t\t\t\t) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tselection.start = {\n\t\t\t\t\tclientId,\n\t\t\t\t\tattributeKey: identifier,\n\t\t\t\t\toffset: start,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tif ( typeof end === 'number' || unset ) {\n\t\t\t\tif (\n\t\t\t\t\tstart === undefined &&\n\t\t\t\t\tgetBlockRootClientId( clientId ) !==\n\t\t\t\t\t\tgetBlockRootClientId( getSelectionStart().clientId )\n\t\t\t\t) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tselection.end = {\n\t\t\t\t\tclientId,\n\t\t\t\t\tattributeKey: identifier,\n\t\t\t\t\toffset: end,\n\t\t\t\t};\n\t\t\t}\n\n\t\t\tselectionChange( selection );\n\t\t},\n\t\t[ clientId, identifier ]\n\t);\n\n\tconst {\n\t\tformatTypes,\n\t\tprepareHandlers,\n\t\tvalueHandlers,\n\t\tchangeHandlers,\n\t\tdependencies,\n\t} = useFormatTypes( {\n\t\tclientId,\n\t\tidentifier,\n\t\twithoutInteractiveFormatting,\n\t\tallowedFormats: adjustedAllowedFormats,\n\t} );\n\n\tfunction addEditorOnlyFormats( value ) {\n\t\treturn valueHandlers.reduce(\n\t\t\t( accumulator, fn ) => fn( accumulator, value.text ),\n\t\t\tvalue.formats\n\t\t);\n\t}\n\n\tfunction removeEditorOnlyFormats( value ) {\n\t\tformatTypes.forEach( ( formatType ) => {\n\t\t\t// Remove formats created by prepareEditableTree, because they are editor only.\n\t\t\tif ( formatType.__experimentalCreatePrepareEditableTree ) {\n\t\t\t\tvalue = removeFormat(\n\t\t\t\t\tvalue,\n\t\t\t\t\tformatType.name,\n\t\t\t\t\t0,\n\t\t\t\t\tvalue.text.length\n\t\t\t\t);\n\t\t\t}\n\t\t} );\n\n\t\treturn value.formats;\n\t}\n\n\tfunction addInvisibleFormats( value ) {\n\t\treturn prepareHandlers.reduce(\n\t\t\t( accumulator, fn ) => fn( accumulator, value.text ),\n\t\t\tvalue.formats\n\t\t);\n\t}\n\n\tconst {\n\t\tvalue,\n\t\tgetValue,\n\t\tonChange,\n\t\tref: richTextRef,\n\t} = useRichText( {\n\t\tvalue: adjustedValue,\n\t\tonChange( html, { __unstableFormats, __unstableText } ) {\n\t\t\tadjustedOnChange( html );\n\t\t\tObject.values( changeHandlers ).forEach( ( changeHandler ) => {\n\t\t\t\tchangeHandler( __unstableFormats, __unstableText );\n\t\t\t} );\n\t\t},\n\t\tselectionStart,\n\t\tselectionEnd,\n\t\tonSelectionChange,\n\t\tplaceholder,\n\t\t__unstableIsSelected: isSelected,\n\t\t__unstableDisableFormats: disableFormats,\n\t\tpreserveWhiteSpace,\n\t\t__unstableDependencies: [ ...dependencies, tagName ],\n\t\t__unstableAfterParse: addEditorOnlyFormats,\n\t\t__unstableBeforeSerialize: removeEditorOnlyFormats,\n\t\t__unstableAddInvisibleFormats: addInvisibleFormats,\n\t} );\n\tconst autocompleteProps = useBlockEditorAutocompleteProps( {\n\t\tonReplace,\n\t\tcompleters: autocompleters,\n\t\trecord: value,\n\t\tonChange,\n\t} );\n\n\tuseMarkPersistent( { html: adjustedValue, value } );\n\n\tconst keyboardShortcuts = useRef( new Set() );\n\tconst inputEvents = useRef( new Set() );\n\n\tfunction onFocus() {\n\t\tanchorRef.current?.focus();\n\t}\n\n\tconst TagName = tagName;\n\treturn (\n\t\t<>\n\t\t\t{ isSelected && (\n\t\t\t\t<keyboardShortcutContext.Provider value={ keyboardShortcuts }>\n\t\t\t\t\t<inputEventContext.Provider value={ inputEvents }>\n\t\t\t\t\t\t<Popover.__unstableSlotNameProvider value=\"__unstable-block-tools-after\">\n\t\t\t\t\t\t\t{ children &&\n\t\t\t\t\t\t\t\tchildren( { value, onChange, onFocus } ) }\n\n\t\t\t\t\t\t\t<FormatEdit\n\t\t\t\t\t\t\t\tvalue={ value }\n\t\t\t\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\t\t\t\tonFocus={ onFocus }\n\t\t\t\t\t\t\t\tformatTypes={ formatTypes }\n\t\t\t\t\t\t\t\tforwardedRef={ anchorRef }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t</Popover.__unstableSlotNameProvider>\n\t\t\t\t\t</inputEventContext.Provider>\n\t\t\t\t</keyboardShortcutContext.Provider>\n\t\t\t) }\n\t\t\t{ isSelected && hasFormats && (\n\t\t\t\t<FormatToolbarContainer\n\t\t\t\t\tinline={ inlineToolbar }\n\t\t\t\t\teditableContentElement={ anchorRef.current }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t<TagName\n\t\t\t\t// Overridable props.\n\t\t\t\trole=\"textbox\"\n\t\t\t\taria-multiline={ ! disableLineBreaks }\n\t\t\t\taria-label={ placeholder }\n\t\t\t\taria-readonly={ shouldDisableEditing }\n\t\t\t\t{ ...props }\n\t\t\t\t{ ...autocompleteProps }\n\t\t\t\tref={ useMergeRefs( [\n\t\t\t\t\t// Rich text ref must be first because its focus listener\n\t\t\t\t\t// must be set up before any other ref calls .focus() on\n\t\t\t\t\t// mount.\n\t\t\t\t\trichTextRef,\n\t\t\t\t\tforwardedRef,\n\t\t\t\t\tautocompleteProps.ref,\n\t\t\t\t\tprops.ref,\n\t\t\t\t\tuseBeforeInputRules( { value, onChange } ),\n\t\t\t\t\tuseInputRules( {\n\t\t\t\t\t\tgetValue,\n\t\t\t\t\t\tonChange,\n\t\t\t\t\t\t__unstableAllowPrefixTransformations,\n\t\t\t\t\t\tformatTypes,\n\t\t\t\t\t\tonReplace,\n\t\t\t\t\t\tselectionChange,\n\t\t\t\t\t} ),\n\t\t\t\t\tuseInsertReplacementText(),\n\t\t\t\t\tuseRemoveBrowserShortcuts(),\n\t\t\t\t\tuseShortcuts( keyboardShortcuts ),\n\t\t\t\t\tuseInputEvents( inputEvents ),\n\t\t\t\t\tuseUndoAutomaticChange(),\n\t\t\t\t\tusePasteHandler( {\n\t\t\t\t\t\tisSelected,\n\t\t\t\t\t\tdisableFormats,\n\t\t\t\t\t\tonChange,\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tformatTypes,\n\t\t\t\t\t\ttagName,\n\t\t\t\t\t\tonReplace,\n\t\t\t\t\t\tonSplit,\n\t\t\t\t\t\t__unstableEmbedURLOnPaste,\n\t\t\t\t\t\tpastePlainText,\n\t\t\t\t\t} ),\n\t\t\t\t\tuseDelete( {\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tonMerge,\n\t\t\t\t\t\tonRemove,\n\t\t\t\t\t} ),\n\t\t\t\t\tuseEnter( {\n\t\t\t\t\t\tremoveEditorOnlyFormats,\n\t\t\t\t\t\tvalue,\n\t\t\t\t\t\tonReplace,\n\t\t\t\t\t\tonSplit,\n\t\t\t\t\t\tonChange,\n\t\t\t\t\t\tdisableLineBreaks,\n\t\t\t\t\t\tonSplitAtEnd,\n\t\t\t\t\t\tonSplitAtDoubleLineEnd,\n\t\t\t\t\t} ),\n\t\t\t\t\tuseFirefoxCompat(),\n\t\t\t\t\tanchorRef,\n\t\t\t\t] ) }\n\t\t\t\tcontentEditable={ ! shouldDisableEditing }\n\t\t\t\tsuppressContentEditableWarning={ true }\n\t\t\t\tclassName={ classnames(\n\t\t\t\t\t'block-editor-rich-text__editable',\n\t\t\t\t\tprops.className,\n\t\t\t\t\t'rich-text'\n\t\t\t\t) }\n\t\t\t\t// Setting tabIndex to 0 is unnecessary, the element is already\n\t\t\t\t// focusable because it's contentEditable. This also fixes a\n\t\t\t\t// Safari bug where it's not possible to Shift+Click multi\n\t\t\t\t// select blocks when Shift Clicking into an element with\n\t\t\t\t// tabIndex because Safari will focus the element. However,\n\t\t\t\t// Safari will correctly ignore nested contentEditable elements.\n\t\t\t\ttabIndex={\n\t\t\t\t\tprops.tabIndex === 0 && ! shouldDisableEditing\n\t\t\t\t\t\t? null\n\t\t\t\t\t\t: props.tabIndex\n\t\t\t\t}\n\t\t\t\tdata-wp-block-attribute-key={ identifier }\n\t\t\t/>\n\t\t</>\n\t);\n}\n\nconst ForwardedRichTextContainer = withDeprecations(\n\tforwardRef( RichTextWrapper )\n);\n\nForwardedRichTextContainer.Content = Content;\nForwardedRichTextContainer.isEmpty = ( value ) => {\n\treturn ! value || value.length === 0;\n};\n\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/rich-text/README.md\n */\nexport default ForwardedRichTextContainer;\nexport { RichTextShortcut } from './shortcut';\nexport { RichTextToolbarButton } from './toolbar-button';\nexport { __unstableRichTextInputEvent } from './input-event';\n"],"mappings":";AAAA;AACA;AACA;AACA,OAAOA,UAAU,MAAM,YAAY;;AAEnC;AACA;AACA;AACA,SACCC,MAAM,EACNC,WAAW,EACXC,UAAU,EACVC,aAAa,QACP,oBAAoB;AAC3B,SAASC,WAAW,EAAEC,SAAS,QAAQ,iBAAiB;AACxD,SAASC,YAAY,QAAQ,oBAAoB;AACjD,SACCC,qBAAqB,IAAIC,WAAW,EACpCC,YAAY,QACN,sBAAsB;AAC7B,SAASC,OAAO,QAAQ,uBAAuB;AAC/C,SAASC,YAAY,QAAQ,mBAAmB;;AAEhD;AACA;AACA;AACA,SAASC,+BAA+B,QAAQ,iBAAiB;AACjE,SAASC,mBAAmB,QAAQ,eAAe;AACnD,OAAOC,sBAAsB,MAAM,4BAA4B;AAC/D,SAASC,KAAK,IAAIC,gBAAgB,QAAQ,aAAa;AACvD,SAASC,sBAAsB,QAAQ,6BAA6B;AACpE,SAASC,iBAAiB,QAAQ,uBAAuB;AACzD,SAASC,eAAe,QAAQ,qBAAqB;AACrD,SAASC,mBAAmB,QAAQ,0BAA0B;AAC9D,SAASC,aAAa,QAAQ,mBAAmB;AACjD,SAASC,SAAS,QAAQ,cAAc;AACxC,SAASC,QAAQ,QAAQ,aAAa;AACtC,SAASC,cAAc,QAAQ,oBAAoB;AACnD,SAASC,yBAAyB,QAAQ,gCAAgC;AAC1E,SAASC,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,cAAc,QAAQ,oBAAoB;AACnD,SAASC,wBAAwB,QAAQ,+BAA+B;AACxE,SAASC,gBAAgB,QAAQ,sBAAsB;AACvD,OAAOC,UAAU,MAAM,eAAe;AACtC,SAASC,iBAAiB,QAAQ,SAAS;AAC3C,SAASC,OAAO,QAAQ,WAAW;AACnC,SAASC,gBAAgB,QAAQ,qBAAqB;AACtD,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,SAASC,6BAA6B,QAAQ,qCAAqC;AAEnF,OAAO,MAAMC,uBAAuB,GAAGjC,aAAa,CAAC,CAAC;AACtD,OAAO,MAAMkC,iBAAiB,GAAGlC,aAAa,CAAC,CAAC;;AAEhD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASmC,iBAAiBA,CAAEC,KAAK,EAAG;EACnC,MAAM;IACLC,8BAA8B;IAC9BC,WAAW;IACXC,oBAAoB;IACpBC,SAAS;IACTC,cAAc;IACdC,eAAe;IACfC,kBAAkB;IAClBC,QAAQ;IACRC,UAAU;IACVC,UAAU;IACVC,SAAS;IACTC,QAAQ;IACRC,QAAQ;IACRC,MAAM;IACNC,kBAAkB;IAClBC,qBAAqB;IACrB,GAAGC;EACJ,CAAC,GAAGjB,KAAK;EACT,OAAOiB,SAAS;AACjB;AAEA,OAAO,SAASC,eAAeA,CAC9B;EACCC,QAAQ;EACRC,OAAO,GAAG,KAAK;EACfC,KAAK,EAAEC,aAAa,GAAG,EAAE;EACzBC,QAAQ,EAAEC,gBAAgB;EAC1BC,UAAU,EAAEC,kBAAkB;EAC9BC,SAAS;EACTC,aAAa;EACbC,gBAAgB;EAChBC,cAAc;EACdC,SAAS;EACTC,WAAW;EACXC,cAAc;EACdC,4BAA4B;EAC5BC,QAAQ;EACRC,OAAO;EACPC,OAAO;EACPC,sBAAsB,EAAEC,YAAY;EACpCC,gCAAgC,EAAEC,sBAAsB;EACxDC,UAAU;EACVC,kBAAkB;EAClBC,wBAAwB,EAAEC,cAAc;EACxCC,yBAAyB;EACzBC,wBAAwB,EAAEC,cAAc;EACxCC,iBAAiB;EACjBC,oCAAoC;EACpC,GAAGlD;AACJ,CAAC,EACDmD,YAAY,EACX;EACDnD,KAAK,GAAGD,iBAAiB,CAAEC,KAAM,CAAC;EAElC,MAAMoD,SAAS,GAAG3F,MAAM,CAAC,CAAC;EAC1B,MAAM;IACL4F,QAAQ;IACR5B,UAAU,EAAE6B,eAAe;IAC3BC,IAAI,EAAEC;EACP,CAAC,GAAGlF,mBAAmB,CAAC,CAAC;EACzB,MAAMmF,QAAQ,GAAKC,MAAM,IAAM;IAC9B;IACA;IACA,IAAK,CAAEJ,eAAe,EAAG;MACxB,OAAO;QAAE7B,UAAU,EAAE;MAAM,CAAC;IAC7B;IAEA,MAAM;MAAEkC,iBAAiB;MAAEC,eAAe;MAAEC;IAAmB,CAAC,GAC/DH,MAAM,CAAEjF,gBAAiB,CAAC;IAC3B,MAAMqF,cAAc,GAAGH,iBAAiB,CAAC,CAAC;IAC1C,MAAMI,YAAY,GAAGH,eAAe,CAAC,CAAC;IACtC,MAAMI,aAAa,GAClBH,kBAAkB,CAAER,QAAS,CAAC,EAAEY,QAAQ,EAAEC,QAAQ;IAEnD,IAAIzC,UAAU;IAEd,IAAKC,kBAAkB,KAAKyC,SAAS,EAAG;MACvC1C,UAAU,GACTqC,cAAc,CAACT,QAAQ,KAAKA,QAAQ,IACpCU,YAAY,CAACV,QAAQ,KAAKA,QAAQ,IAClCS,cAAc,CAACM,YAAY,KAAK1B,UAAU;IAC5C,CAAC,MAAM,IAAKhB,kBAAkB,EAAG;MAChCD,UAAU,GAAGqC,cAAc,CAACT,QAAQ,KAAKA,QAAQ;IAClD;;IAEA;IACA,IAAIgB,oBAAoB,GAAG,KAAK;IAChC,IAAKL,aAAa,IAAIR,SAAS,IAAI5D,6BAA6B,EAAG;MAClE,MAAM0E,mBAAmB,GAAGlG,YAAY,CAAEoF,SAAU,CAAC,CAACe,UAAU;MAChE,MAAM;QAAEC;MAAuB,CAAC,GAAG7E,MAAM,CACxC+D,MAAM,CAAEjF,gBAAiB,CAC1B,CAAC;MACD,KAAM,MAAM,CAAEgG,SAAS,EAAEC,IAAI,CAAE,IAAIC,MAAM,CAACC,OAAO,CAChDZ,aACD,CAAC,EAAG;QACH,IACCM,mBAAmB,GAAIG,SAAS,CAAE,EAAEI,MAAM,KAAK,WAAW,EACzD;UACD;QACD;;QAEA;QACA,MAAMC,mBAAmB,GAAGN,sBAAsB,CACjDE,IAAI,CAACG,MACN,CAAC;QACD,IACC,CAAEC,mBAAmB,IACrBA,mBAAmB,CAACC,qBAAqB,EACxC;UACDV,oBAAoB,GAAG,IAAI;UAC3B;QACD;MACD;IACD;IAEA,OAAO;MACNP,cAAc,EAAErC,UAAU,GAAGqC,cAAc,CAACkB,MAAM,GAAGb,SAAS;MAC9DJ,YAAY,EAAEtC,UAAU,GAAGsC,YAAY,CAACiB,MAAM,GAAGb,SAAS;MAC1D1C,UAAU;MACV4C;IACD,CAAC;EACF,CAAC;EACD,MAAM;IAAEP,cAAc;IAAEC,YAAY;IAAEtC,UAAU;IAAE4C;EAAqB,CAAC,GACvEvG,SAAS,CAAE2F,QAAQ,EAAE,CACpBJ,QAAQ,EACRX,UAAU,EACVhB,kBAAkB,EAClB4B,eAAe,CACd,CAAC;EACJ,MAAM;IAAEK,iBAAiB;IAAEC,eAAe;IAAEqB;EAAqB,CAAC,GACjEnH,SAAS,CAAEW,gBAAiB,CAAC;EAC9B,MAAM;IAAEyG;EAAgB,CAAC,GAAGrH,WAAW,CAAEY,gBAAiB,CAAC;EAC3D,MAAM0G,sBAAsB,GAAG3F,iBAAiB,CAAE;IACjDyC,cAAc;IACde;EACD,CAAE,CAAC;EACH,MAAMoC,UAAU,GACf,CAAED,sBAAsB,IAAIA,sBAAsB,CAACE,MAAM,GAAG,CAAC;EAE9D,MAAMC,iBAAiB,GAAG5H,WAAW,CACpC,CAAE6H,KAAK,EAAEC,GAAG,KAAM;IACjB,MAAMC,SAAS,GAAG,CAAC,CAAC;IACpB,MAAMC,KAAK,GAAGH,KAAK,KAAKpB,SAAS,IAAIqB,GAAG,KAAKrB,SAAS;IAEtD,IAAK,OAAOoB,KAAK,KAAK,QAAQ,IAAIG,KAAK,EAAG;MACzC;MACA;MACA;MACA;MACA,IACCF,GAAG,KAAKrB,SAAS,IACjBc,oBAAoB,CAAE5B,QAAS,CAAC,KAC/B4B,oBAAoB,CAAErB,eAAe,CAAC,CAAC,CAACP,QAAS,CAAC,EAClD;QACD;MACD;MAEAoC,SAAS,CAACF,KAAK,GAAG;QACjBlC,QAAQ;QACRe,YAAY,EAAE1B,UAAU;QACxBsC,MAAM,EAAEO;MACT,CAAC;IACF;IAEA,IAAK,OAAOC,GAAG,KAAK,QAAQ,IAAIE,KAAK,EAAG;MACvC,IACCH,KAAK,KAAKpB,SAAS,IACnBc,oBAAoB,CAAE5B,QAAS,CAAC,KAC/B4B,oBAAoB,CAAEtB,iBAAiB,CAAC,CAAC,CAACN,QAAS,CAAC,EACpD;QACD;MACD;MAEAoC,SAAS,CAACD,GAAG,GAAG;QACfnC,QAAQ;QACRe,YAAY,EAAE1B,UAAU;QACxBsC,MAAM,EAAEQ;MACT,CAAC;IACF;IAEAN,eAAe,CAAEO,SAAU,CAAC;EAC7B,CAAC,EACD,CAAEpC,QAAQ,EAAEX,UAAU,CACvB,CAAC;EAED,MAAM;IACLiD,WAAW;IACXC,eAAe;IACfC,aAAa;IACbC,cAAc;IACdC;EACD,CAAC,GAAG9G,cAAc,CAAE;IACnBoE,QAAQ;IACRX,UAAU;IACVR,4BAA4B;IAC5BD,cAAc,EAAEkD;EACjB,CAAE,CAAC;EAEH,SAASa,oBAAoBA,CAAE3E,KAAK,EAAG;IACtC,OAAOwE,aAAa,CAACI,MAAM,CAC1B,CAAEC,WAAW,EAAEC,EAAE,KAAMA,EAAE,CAAED,WAAW,EAAE7E,KAAK,CAAC+E,IAAK,CAAC,EACpD/E,KAAK,CAACgF,OACP,CAAC;EACF;EAEA,SAASC,uBAAuBA,CAAEjF,KAAK,EAAG;IACzCsE,WAAW,CAACY,OAAO,CAAIC,UAAU,IAAM;MACtC;MACA,IAAKA,UAAU,CAACC,uCAAuC,EAAG;QACzDpF,KAAK,GAAGnD,YAAY,CACnBmD,KAAK,EACLmF,UAAU,CAACjD,IAAI,EACf,CAAC,EACDlC,KAAK,CAAC+E,IAAI,CAACf,MACZ,CAAC;MACF;IACD,CAAE,CAAC;IAEH,OAAOhE,KAAK,CAACgF,OAAO;EACrB;EAEA,SAASK,mBAAmBA,CAAErF,KAAK,EAAG;IACrC,OAAOuE,eAAe,CAACK,MAAM,CAC5B,CAAEC,WAAW,EAAEC,EAAE,KAAMA,EAAE,CAAED,WAAW,EAAE7E,KAAK,CAAC+E,IAAK,CAAC,EACpD/E,KAAK,CAACgF,OACP,CAAC;EACF;EAEA,MAAM;IACLhF,KAAK;IACLsF,QAAQ;IACRpF,QAAQ;IACRqF,GAAG,EAAEC;EACN,CAAC,GAAG5I,WAAW,CAAE;IAChBoD,KAAK,EAAEC,aAAa;IACpBC,QAAQA,CAAEuF,IAAI,EAAE;MAAEC,iBAAiB;MAAEC;IAAe,CAAC,EAAG;MACvDxF,gBAAgB,CAAEsF,IAAK,CAAC;MACxBnC,MAAM,CAACsC,MAAM,CAAEnB,cAAe,CAAC,CAACS,OAAO,CAAIW,aAAa,IAAM;QAC7DA,aAAa,CAAEH,iBAAiB,EAAEC,cAAe,CAAC;MACnD,CAAE,CAAC;IACJ,CAAC;IACDlD,cAAc;IACdC,YAAY;IACZuB,iBAAiB;IACjBtD,WAAW;IACXmF,oBAAoB,EAAE1F,UAAU;IAChCsB,wBAAwB,EAAEC,cAAc;IACxCL,kBAAkB;IAClByE,sBAAsB,EAAE,CAAE,GAAGrB,YAAY,EAAE3E,OAAO,CAAE;IACpDiG,oBAAoB,EAAErB,oBAAoB;IAC1CsB,yBAAyB,EAAEhB,uBAAuB;IAClDiB,6BAA6B,EAAEb;EAChC,CAAE,CAAC;EACH,MAAMc,iBAAiB,GAAGnJ,+BAA+B,CAAE;IAC1D0D,SAAS;IACT0F,UAAU,EAAE3F,cAAc;IAC1B4F,MAAM,EAAErG,KAAK;IACbE;EACD,CAAE,CAAC;EAEH5C,iBAAiB,CAAE;IAAEmI,IAAI,EAAExF,aAAa;IAAED;EAAM,CAAE,CAAC;EAEnD,MAAMsG,iBAAiB,GAAGlK,MAAM,CAAE,IAAImK,GAAG,CAAC,CAAE,CAAC;EAC7C,MAAMC,WAAW,GAAGpK,MAAM,CAAE,IAAImK,GAAG,CAAC,CAAE,CAAC;EAEvC,SAASE,OAAOA,CAAA,EAAG;IAClB1E,SAAS,CAAC2E,OAAO,EAAEC,KAAK,CAAC,CAAC;EAC3B;EAEA,MAAMC,OAAO,GAAG7G,OAAO;EACvB,OACC8G,aAAA,CAAAC,QAAA,QACG1G,UAAU,IACXyG,aAAA,CAACrI,uBAAuB,CAACuI,QAAQ;IAAC/G,KAAK,EAAGsG;EAAmB,GAC5DO,aAAA,CAACpI,iBAAiB,CAACsI,QAAQ;IAAC/G,KAAK,EAAGwG;EAAa,GAChDK,aAAA,CAAC/J,OAAO,CAACkK,0BAA0B;IAAChH,KAAK,EAAC;EAA8B,GACrEF,QAAQ,IACTA,QAAQ,CAAE;IAAEE,KAAK;IAAEE,QAAQ;IAAEuG;EAAQ,CAAE,CAAC,EAEzCI,aAAA,CAAC3I,UAAU;IACV8B,KAAK,EAAGA,KAAO;IACfE,QAAQ,EAAGA,QAAU;IACrBuG,OAAO,EAAGA,OAAS;IACnBnC,WAAW,EAAGA,WAAa;IAC3BxC,YAAY,EAAGC;EAAW,CAC1B,CACkC,CACT,CACK,CAClC,EACC3B,UAAU,IAAI2D,UAAU,IACzB8C,aAAA,CAAC3J,sBAAsB;IACtB+J,MAAM,EAAG1G,aAAe;IACxB2G,sBAAsB,EAAGnF,SAAS,CAAC2E,OAAS;IAC5C1G,KAAK,EAAGA;EAAO,CACf,CACD,EACD6G,aAAA,CAACD;EACA;EAAA;IACAO,IAAI,EAAC,SAAS;IACd,kBAAiB,CAAEvF,iBAAmB;IACtC,cAAajB,WAAa;IAC1B,iBAAgBqC,oBAAsB;IAAA,GACjCrE,KAAK;IAAA,GACLwH,iBAAiB;IACtBZ,GAAG,EAAG7I,YAAY,CAAE;IACnB;IACA;IACA;IACA8I,WAAW,EACX1D,YAAY,EACZqE,iBAAiB,CAACZ,GAAG,EACrB5G,KAAK,CAAC4G,GAAG,EACT/H,mBAAmB,CAAE;MAAEwC,KAAK;MAAEE;IAAS,CAAE,CAAC,EAC1CzC,aAAa,CAAE;MACd6H,QAAQ;MACRpF,QAAQ;MACR2B,oCAAoC;MACpCyC,WAAW;MACX5D,SAAS;MACTmD;IACD,CAAE,CAAC,EACH7F,wBAAwB,CAAC,CAAC,EAC1BH,yBAAyB,CAAC,CAAC,EAC3BC,YAAY,CAAEwI,iBAAkB,CAAC,EACjCvI,cAAc,CAAEyI,WAAY,CAAC,EAC7BnJ,sBAAsB,CAAC,CAAC,EACxBE,eAAe,CAAE;MAChB6C,UAAU;MACVuB,cAAc;MACdzB,QAAQ;MACRF,KAAK;MACLsE,WAAW;MACXvE,OAAO;MACPW,SAAS;MACTM,OAAO;MACPS,yBAAyB;MACzBD;IACD,CAAE,CAAC,EACH9D,SAAS,CAAE;MACVsC,KAAK;MACLe,OAAO;MACPD;IACD,CAAE,CAAC,EACHnD,QAAQ,CAAE;MACTsH,uBAAuB;MACvBjF,KAAK;MACLU,SAAS;MACTM,OAAO;MACPd,QAAQ;MACR0B,iBAAiB;MACjBV,YAAY;MACZE;IACD,CAAE,CAAC,EACHnD,gBAAgB,CAAC,CAAC,EAClB8D,SAAS,CACR,CAAG;IACLqF,eAAe,EAAG,CAAEpE,oBAAsB;IAC1CqE,8BAA8B,EAAG,IAAM;IACvCC,SAAS,EAAGnL,UAAU,CACrB,kCAAkC,EAClCwC,KAAK,CAAC2I,SAAS,EACf,WACD;IACA;IACA;IACA;IACA;IACA;IACA;IAAA;IACAC,QAAQ,EACP5I,KAAK,CAAC4I,QAAQ,KAAK,CAAC,IAAI,CAAEvE,oBAAoB,GAC3C,IAAI,GACJrE,KAAK,CAAC4I,QACT;IACD,+BAA8BlG;EAAY,CAC1C,CACA,CAAC;AAEL;AAEA,MAAMmG,0BAA0B,GAAGnJ,gBAAgB,CAClD/B,UAAU,CAAEuD,eAAgB,CAC7B,CAAC;AAED2H,0BAA0B,CAACpJ,OAAO,GAAGA,OAAO;AAC5CoJ,0BAA0B,CAACC,OAAO,GAAKzH,KAAK,IAAM;EACjD,OAAO,CAAEA,KAAK,IAAIA,KAAK,CAACgE,MAAM,KAAK,CAAC;AACrC,CAAC;;AAED;AACA;AACA;AACA,eAAewD,0BAA0B;AACzC,SAASE,gBAAgB,QAAQ,YAAY;AAC7C,SAASC,qBAAqB,QAAQ,kBAAkB;AACxD,SAASC,4BAA4B,QAAQ,eAAe"}
|