@wordpress/block-editor 12.19.3 → 12.19.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/build/components/block-edit/context.js +2 -1
  2. package/build/components/block-edit/context.js.map +1 -1
  3. package/build/components/block-edit/index.js +8 -3
  4. package/build/components/block-edit/index.js.map +1 -1
  5. package/build/components/block-inspector/index.js +5 -4
  6. package/build/components/block-inspector/index.js.map +1 -1
  7. package/build/components/block-preview/index.js +4 -0
  8. package/build/components/block-preview/index.js.map +1 -1
  9. package/build/components/global-styles/border-panel.js +21 -8
  10. package/build/components/global-styles/border-panel.js.map +1 -1
  11. package/build/components/global-styles/index.js +6 -0
  12. package/build/components/global-styles/index.js.map +1 -1
  13. package/build/components/global-styles/shadow-panel-components.js +80 -23
  14. package/build/components/global-styles/shadow-panel-components.js.map +1 -1
  15. package/build/components/inspector-controls-tabs/styles-tab.js +1 -1
  16. package/build/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  17. package/build/components/link-control/link-preview.js +4 -1
  18. package/build/components/link-control/link-preview.js.map +1 -1
  19. package/build/components/rich-text/index.js +45 -25
  20. package/build/components/rich-text/index.js.map +1 -1
  21. package/build/components/rich-text/use-enter.js +3 -0
  22. package/build/components/rich-text/use-enter.js.map +1 -1
  23. package/build/hooks/block-hooks.js +8 -6
  24. package/build/hooks/block-hooks.js.map +1 -1
  25. package/build/hooks/border.js +6 -4
  26. package/build/hooks/border.js.map +1 -1
  27. package/build/hooks/use-bindings-attributes.js +2 -4
  28. package/build/hooks/use-bindings-attributes.js.map +1 -1
  29. package/build/private-apis.js +3 -1
  30. package/build/private-apis.js.map +1 -1
  31. package/build/store/private-actions.js +0 -10
  32. package/build/store/private-actions.js.map +1 -1
  33. package/build/store/private-selectors.js +0 -8
  34. package/build/store/private-selectors.js.map +1 -1
  35. package/build/store/reducer.js +1 -16
  36. package/build/store/reducer.js.map +1 -1
  37. package/build-module/components/block-edit/context.js +1 -0
  38. package/build-module/components/block-edit/context.js.map +1 -1
  39. package/build-module/components/block-edit/index.js +9 -4
  40. package/build-module/components/block-edit/index.js.map +1 -1
  41. package/build-module/components/block-inspector/index.js +6 -5
  42. package/build-module/components/block-inspector/index.js.map +1 -1
  43. package/build-module/components/block-preview/index.js +4 -0
  44. package/build-module/components/block-preview/index.js.map +1 -1
  45. package/build-module/components/global-styles/border-panel.js +22 -10
  46. package/build-module/components/global-styles/border-panel.js.map +1 -1
  47. package/build-module/components/global-styles/index.js +1 -1
  48. package/build-module/components/global-styles/index.js.map +1 -1
  49. package/build-module/components/global-styles/shadow-panel-components.js +82 -24
  50. package/build-module/components/global-styles/shadow-panel-components.js.map +1 -1
  51. package/build-module/components/inspector-controls-tabs/styles-tab.js +2 -2
  52. package/build-module/components/inspector-controls-tabs/styles-tab.js.map +1 -1
  53. package/build-module/components/link-control/link-preview.js +5 -2
  54. package/build-module/components/link-control/link-preview.js.map +1 -1
  55. package/build-module/components/rich-text/index.js +45 -26
  56. package/build-module/components/rich-text/index.js.map +1 -1
  57. package/build-module/components/rich-text/use-enter.js +3 -0
  58. package/build-module/components/rich-text/use-enter.js.map +1 -1
  59. package/build-module/hooks/block-hooks.js +8 -6
  60. package/build-module/hooks/block-hooks.js.map +1 -1
  61. package/build-module/hooks/border.js +7 -5
  62. package/build-module/hooks/border.js.map +1 -1
  63. package/build-module/hooks/use-bindings-attributes.js +3 -5
  64. package/build-module/hooks/use-bindings-attributes.js.map +1 -1
  65. package/build-module/private-apis.js +3 -1
  66. package/build-module/private-apis.js.map +1 -1
  67. package/build-module/store/private-actions.js +0 -9
  68. package/build-module/store/private-actions.js.map +1 -1
  69. package/build-module/store/private-selectors.js +0 -6
  70. package/build-module/store/private-selectors.js.map +1 -1
  71. package/build-module/store/reducer.js +1 -16
  72. package/build-module/store/reducer.js.map +1 -1
  73. package/build-style/style-rtl.css +47 -14
  74. package/build-style/style.css +47 -14
  75. package/package.json +7 -7
  76. package/src/components/block-edit/context.js +1 -0
  77. package/src/components/block-edit/index.js +5 -1
  78. package/src/components/block-inspector/index.js +7 -5
  79. package/src/components/block-preview/index.js +6 -1
  80. package/src/components/block-toolbar/style.scss +11 -6
  81. package/src/components/global-styles/border-panel.js +33 -22
  82. package/src/components/global-styles/index.js +5 -1
  83. package/src/components/global-styles/shadow-panel-components.js +92 -23
  84. package/src/components/global-styles/style.scss +33 -10
  85. package/src/components/inspector-controls-tabs/styles-tab.js +2 -2
  86. package/src/components/link-control/link-preview.js +9 -2
  87. package/src/components/link-control/style.scss +9 -0
  88. package/src/components/rich-text/index.js +74 -51
  89. package/src/components/rich-text/use-enter.js +4 -0
  90. package/src/components/url-popover/style.scss +1 -0
  91. package/src/hooks/block-hooks.js +10 -5
  92. package/src/hooks/block-hooks.scss +6 -0
  93. package/src/hooks/border.js +16 -4
  94. package/src/hooks/use-bindings-attributes.js +5 -7
  95. package/src/private-apis.js +2 -0
  96. package/src/store/private-actions.js +0 -10
  97. package/src/store/private-selectors.js +0 -8
  98. package/src/store/reducer.js +0 -15
@@ -8,11 +8,14 @@ exports.ShadowIndicator = ShadowIndicator;
8
8
  exports.ShadowPopover = ShadowPopover;
9
9
  exports.ShadowPopoverContainer = ShadowPopoverContainer;
10
10
  exports.ShadowPresets = ShadowPresets;
11
+ exports.useShadowPresets = useShadowPresets;
11
12
  var _react = require("react");
12
13
  var _i18n = require("@wordpress/i18n");
13
14
  var _components = require("@wordpress/components");
15
+ var _element = require("@wordpress/element");
14
16
  var _icons = require("@wordpress/icons");
15
17
  var _classnames = _interopRequireDefault(require("classnames"));
18
+ var _lockUnlock = require("../../lock-unlock");
16
19
  /**
17
20
  * WordPress dependencies
18
21
  */
@@ -21,15 +24,23 @@ var _classnames = _interopRequireDefault(require("classnames"));
21
24
  * External dependencies
22
25
  */
23
26
 
27
+ /**
28
+ * Internal dependencies
29
+ */
30
+
31
+ /**
32
+ * Shared reference to an empty array for cases where it is important to avoid
33
+ * returning a new array reference on every invocation.
34
+ *
35
+ * @type {Array}
36
+ */
37
+ const EMPTY_ARRAY = [];
24
38
  function ShadowPopoverContainer({
25
39
  shadow,
26
40
  onShadowChange,
27
41
  settings
28
42
  }) {
29
- const defaultShadows = settings?.shadow?.presets?.default || [];
30
- const themeShadows = settings?.shadow?.presets?.theme || [];
31
- const defaultPresetsEnabled = settings?.shadow?.defaultPresets;
32
- const shadows = [...(defaultPresetsEnabled ? defaultShadows : []), ...themeShadows];
43
+ const shadows = useShadowPresets(settings);
33
44
  return (0, _react.createElement)("div", {
34
45
  className: "block-editor-global-styles__shadow-popover-container"
35
46
  }, (0, _react.createElement)(_components.__experimentalVStack, {
@@ -40,18 +51,28 @@ function ShadowPopoverContainer({
40
51
  presets: shadows,
41
52
  activeShadow: shadow,
42
53
  onSelect: onShadowChange
43
- })));
54
+ }), (0, _react.createElement)("div", {
55
+ className: "block-editor-global-styles__clear-shadow"
56
+ }, (0, _react.createElement)(_components.Button, {
57
+ variant: "tertiary",
58
+ onClick: () => onShadowChange(undefined)
59
+ }, (0, _i18n.__)('Clear')))));
44
60
  }
45
61
  function ShadowPresets({
46
62
  presets,
47
63
  activeShadow,
48
64
  onSelect
49
65
  }) {
50
- return !presets ? null : (0, _react.createElement)(_components.__experimentalGrid, {
51
- columns: 6,
52
- gap: 0,
53
- align: "center",
54
- justify: "center"
66
+ const {
67
+ CompositeV2: Composite,
68
+ useCompositeStoreV2: useCompositeStore
69
+ } = (0, _lockUnlock.unlock)(_components.privateApis);
70
+ const compositeStore = useCompositeStore();
71
+ return !presets ? null : (0, _react.createElement)(Composite, {
72
+ store: compositeStore,
73
+ role: "listbox",
74
+ className: "block-editor-global-styles__shadow__list",
75
+ "aria-label": (0, _i18n.__)('Drop shadows')
55
76
  }, presets.map(({
56
77
  name,
57
78
  slug,
@@ -60,29 +81,42 @@ function ShadowPresets({
60
81
  key: slug,
61
82
  label: name,
62
83
  isActive: shadow === activeShadow,
84
+ type: slug === 'unset' ? 'unset' : 'preset',
63
85
  onSelect: () => onSelect(shadow === activeShadow ? undefined : shadow),
64
86
  shadow: shadow
65
87
  })));
66
88
  }
67
89
  function ShadowIndicator({
90
+ type,
68
91
  label,
69
92
  isActive,
70
93
  onSelect,
71
94
  shadow
72
95
  }) {
73
- return (0, _react.createElement)("div", {
74
- className: "block-editor-global-styles__shadow-indicator-wrapper"
75
- }, (0, _react.createElement)(_components.Button, {
76
- className: "block-editor-global-styles__shadow-indicator",
77
- onClick: onSelect,
78
- label: label,
79
- style: {
80
- boxShadow: shadow
81
- },
82
- showTooltip: true
83
- }, isActive && (0, _react.createElement)(_icons.Icon, {
84
- icon: _icons.check
85
- })));
96
+ const {
97
+ CompositeItemV2: CompositeItem
98
+ } = (0, _lockUnlock.unlock)(_components.privateApis);
99
+ return (0, _react.createElement)(CompositeItem, {
100
+ role: "option",
101
+ "aria-label": label,
102
+ "aria-selected": isActive,
103
+ className: (0, _classnames.default)('block-editor-global-styles__shadow__item', {
104
+ 'is-active': isActive
105
+ }),
106
+ render: (0, _react.createElement)(_components.Button, {
107
+ className: (0, _classnames.default)('block-editor-global-styles__shadow-indicator', {
108
+ unset: type === 'unset'
109
+ }),
110
+ onClick: onSelect,
111
+ label: label,
112
+ style: {
113
+ boxShadow: shadow
114
+ },
115
+ showTooltip: true
116
+ }, isActive && (0, _react.createElement)(_icons.Icon, {
117
+ icon: _icons.check
118
+ }))
119
+ });
86
120
  }
87
121
  function ShadowPopover({
88
122
  shadow,
@@ -130,4 +164,27 @@ function renderShadowToggle() {
130
164
  }), (0, _react.createElement)(_components.FlexItem, null, (0, _i18n.__)('Drop shadow'))));
131
165
  };
132
166
  }
167
+ function useShadowPresets(settings) {
168
+ return (0, _element.useMemo)(() => {
169
+ var _settings$shadow$pres;
170
+ if (!settings?.shadow) {
171
+ return EMPTY_ARRAY;
172
+ }
173
+ const defaultPresetsEnabled = settings?.shadow?.defaultPresets;
174
+ const {
175
+ default: defaultShadows,
176
+ theme: themeShadows
177
+ } = (_settings$shadow$pres = settings?.shadow?.presets) !== null && _settings$shadow$pres !== void 0 ? _settings$shadow$pres : {};
178
+ const unsetShadow = {
179
+ name: (0, _i18n.__)('Unset'),
180
+ slug: 'unset',
181
+ shadow: 'none'
182
+ };
183
+ const shadowPresets = [...(defaultPresetsEnabled && defaultShadows || EMPTY_ARRAY), ...(themeShadows || EMPTY_ARRAY)];
184
+ if (shadowPresets.length) {
185
+ shadowPresets.unshift(unsetShadow);
186
+ }
187
+ return shadowPresets;
188
+ }, [settings]);
189
+ }
133
190
  //# sourceMappingURL=shadow-panel-components.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_components","_icons","_classnames","_interopRequireDefault","ShadowPopoverContainer","shadow","onShadowChange","settings","defaultShadows","presets","default","themeShadows","theme","defaultPresetsEnabled","defaultPresets","shadows","_react","createElement","className","__experimentalVStack","spacing","__experimentalHeading","level","__","ShadowPresets","activeShadow","onSelect","__experimentalGrid","columns","gap","align","justify","map","name","slug","ShadowIndicator","key","label","isActive","undefined","Button","onClick","style","boxShadow","showTooltip","Icon","icon","check","ShadowPopover","popoverProps","placement","offset","shift","Dropdown","renderToggle","renderShadowToggle","renderContent","__experimentalDropdownContentWrapper","paddingSize","onToggle","isOpen","toggleProps","classNames","__experimentalHStack","shadowIcon","size","FlexItem"],"sources":["@wordpress/block-editor/src/components/global-styles/shadow-panel-components.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\t__experimentalVStack as VStack,\n\t__experimentalHeading as Heading,\n\t__experimentalGrid as Grid,\n\t__experimentalHStack as HStack,\n\t__experimentalDropdownContentWrapper as DropdownContentWrapper,\n\tButton,\n\tFlexItem,\n\tDropdown,\n} from '@wordpress/components';\nimport { shadow as shadowIcon, Icon, check } from '@wordpress/icons';\n/**\n * External dependencies\n */\nimport classNames from 'classnames';\n\nexport function ShadowPopoverContainer( { shadow, onShadowChange, settings } ) {\n\tconst defaultShadows = settings?.shadow?.presets?.default || [];\n\tconst themeShadows = settings?.shadow?.presets?.theme || [];\n\tconst defaultPresetsEnabled = settings?.shadow?.defaultPresets;\n\n\tconst shadows = [\n\t\t...( defaultPresetsEnabled ? defaultShadows : [] ),\n\t\t...themeShadows,\n\t];\n\n\treturn (\n\t\t<div className=\"block-editor-global-styles__shadow-popover-container\">\n\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t<Heading level={ 5 }>{ __( 'Drop shadow' ) }</Heading>\n\t\t\t\t<ShadowPresets\n\t\t\t\t\tpresets={ shadows }\n\t\t\t\t\tactiveShadow={ shadow }\n\t\t\t\t\tonSelect={ onShadowChange }\n\t\t\t\t/>\n\t\t\t</VStack>\n\t\t</div>\n\t);\n}\n\nexport function ShadowPresets( { presets, activeShadow, onSelect } ) {\n\treturn ! presets ? null : (\n\t\t<Grid columns={ 6 } gap={ 0 } align=\"center\" justify=\"center\">\n\t\t\t{ presets.map( ( { name, slug, shadow } ) => (\n\t\t\t\t<ShadowIndicator\n\t\t\t\t\tkey={ slug }\n\t\t\t\t\tlabel={ name }\n\t\t\t\t\tisActive={ shadow === activeShadow }\n\t\t\t\t\tonSelect={ () =>\n\t\t\t\t\t\tonSelect( shadow === activeShadow ? undefined : shadow )\n\t\t\t\t\t}\n\t\t\t\t\tshadow={ shadow }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</Grid>\n\t);\n}\n\nexport function ShadowIndicator( { label, isActive, onSelect, shadow } ) {\n\treturn (\n\t\t<div className=\"block-editor-global-styles__shadow-indicator-wrapper\">\n\t\t\t<Button\n\t\t\t\tclassName=\"block-editor-global-styles__shadow-indicator\"\n\t\t\t\tonClick={ onSelect }\n\t\t\t\tlabel={ label }\n\t\t\t\tstyle={ { boxShadow: shadow } }\n\t\t\t\tshowTooltip\n\t\t\t>\n\t\t\t\t{ isActive && <Icon icon={ check } /> }\n\t\t\t</Button>\n\t\t</div>\n\t);\n}\n\nexport function ShadowPopover( { shadow, onShadowChange, settings } ) {\n\tconst popoverProps = {\n\t\tplacement: 'left-start',\n\t\toffset: 36,\n\t\tshift: true,\n\t};\n\n\treturn (\n\t\t<Dropdown\n\t\t\tpopoverProps={ popoverProps }\n\t\t\tclassName=\"block-editor-global-styles__shadow-dropdown\"\n\t\t\trenderToggle={ renderShadowToggle() }\n\t\t\trenderContent={ () => (\n\t\t\t\t<DropdownContentWrapper paddingSize=\"medium\">\n\t\t\t\t\t<ShadowPopoverContainer\n\t\t\t\t\t\tshadow={ shadow }\n\t\t\t\t\t\tonShadowChange={ onShadowChange }\n\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t/>\n\t\t\t\t</DropdownContentWrapper>\n\t\t\t) }\n\t\t/>\n\t);\n}\n\nfunction renderShadowToggle() {\n\treturn ( { onToggle, isOpen } ) => {\n\t\tconst toggleProps = {\n\t\t\tonClick: onToggle,\n\t\t\tclassName: classNames( { 'is-open': isOpen } ),\n\t\t\t'aria-expanded': isOpen,\n\t\t};\n\n\t\treturn (\n\t\t\t<Button { ...toggleProps }>\n\t\t\t\t<HStack justify=\"flex-start\">\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tclassName=\"block-editor-global-styles__toggle-icon\"\n\t\t\t\t\t\ticon={ shadowIcon }\n\t\t\t\t\t\tsize={ 24 }\n\t\t\t\t\t/>\n\t\t\t\t\t<FlexItem>{ __( 'Drop shadow' ) }</FlexItem>\n\t\t\t\t</HStack>\n\t\t\t</Button>\n\t\t);\n\t};\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_i18n","require","_components","_element","_icons","_classnames","_interopRequireDefault","_lockUnlock","EMPTY_ARRAY","ShadowPopoverContainer","shadow","onShadowChange","settings","shadows","useShadowPresets","_react","createElement","className","__experimentalVStack","spacing","__experimentalHeading","level","__","ShadowPresets","presets","activeShadow","onSelect","Button","variant","onClick","undefined","CompositeV2","Composite","useCompositeStoreV2","useCompositeStore","unlock","componentsPrivateApis","compositeStore","store","role","map","name","slug","ShadowIndicator","key","label","isActive","type","CompositeItemV2","CompositeItem","classNames","render","unset","style","boxShadow","showTooltip","Icon","icon","check","ShadowPopover","popoverProps","placement","offset","shift","Dropdown","renderToggle","renderShadowToggle","renderContent","__experimentalDropdownContentWrapper","paddingSize","onToggle","isOpen","toggleProps","__experimentalHStack","justify","shadowIcon","size","FlexItem","useMemo","_settings$shadow$pres","defaultPresetsEnabled","defaultPresets","default","defaultShadows","theme","themeShadows","unsetShadow","shadowPresets","length","unshift"],"sources":["@wordpress/block-editor/src/components/global-styles/shadow-panel-components.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\t__experimentalVStack as VStack,\n\t__experimentalHeading as Heading,\n\t__experimentalHStack as HStack,\n\t__experimentalDropdownContentWrapper as DropdownContentWrapper,\n\tButton,\n\tFlexItem,\n\tDropdown,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { useMemo } from '@wordpress/element';\nimport { shadow as shadowIcon, Icon, check } from '@wordpress/icons';\n\n/**\n * External dependencies\n */\nimport classNames from 'classnames';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\n/**\n * Shared reference to an empty array for cases where it is important to avoid\n * returning a new array reference on every invocation.\n *\n * @type {Array}\n */\nconst EMPTY_ARRAY = [];\n\nexport function ShadowPopoverContainer( { shadow, onShadowChange, settings } ) {\n\tconst shadows = useShadowPresets( settings );\n\n\treturn (\n\t\t<div className=\"block-editor-global-styles__shadow-popover-container\">\n\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t<Heading level={ 5 }>{ __( 'Drop shadow' ) }</Heading>\n\t\t\t\t<ShadowPresets\n\t\t\t\t\tpresets={ shadows }\n\t\t\t\t\tactiveShadow={ shadow }\n\t\t\t\t\tonSelect={ onShadowChange }\n\t\t\t\t/>\n\t\t\t\t<div className=\"block-editor-global-styles__clear-shadow\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ () => onShadowChange( undefined ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Clear' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</div>\n\t\t\t</VStack>\n\t\t</div>\n\t);\n}\n\nexport function ShadowPresets( { presets, activeShadow, onSelect } ) {\n\tconst { CompositeV2: Composite, useCompositeStoreV2: useCompositeStore } =\n\t\tunlock( componentsPrivateApis );\n\tconst compositeStore = useCompositeStore();\n\treturn ! presets ? null : (\n\t\t<Composite\n\t\t\tstore={ compositeStore }\n\t\t\trole=\"listbox\"\n\t\t\tclassName=\"block-editor-global-styles__shadow__list\"\n\t\t\taria-label={ __( 'Drop shadows' ) }\n\t\t>\n\t\t\t{ presets.map( ( { name, slug, shadow } ) => (\n\t\t\t\t<ShadowIndicator\n\t\t\t\t\tkey={ slug }\n\t\t\t\t\tlabel={ name }\n\t\t\t\t\tisActive={ shadow === activeShadow }\n\t\t\t\t\ttype={ slug === 'unset' ? 'unset' : 'preset' }\n\t\t\t\t\tonSelect={ () =>\n\t\t\t\t\t\tonSelect( shadow === activeShadow ? undefined : shadow )\n\t\t\t\t\t}\n\t\t\t\t\tshadow={ shadow }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</Composite>\n\t);\n}\n\nexport function ShadowIndicator( { type, label, isActive, onSelect, shadow } ) {\n\tconst { CompositeItemV2: CompositeItem } = unlock( componentsPrivateApis );\n\treturn (\n\t\t<CompositeItem\n\t\t\trole=\"option\"\n\t\t\taria-label={ label }\n\t\t\taria-selected={ isActive }\n\t\t\tclassName={ classNames(\n\t\t\t\t'block-editor-global-styles__shadow__item',\n\t\t\t\t{\n\t\t\t\t\t'is-active': isActive,\n\t\t\t\t}\n\t\t\t) }\n\t\t\trender={\n\t\t\t\t<Button\n\t\t\t\t\tclassName={ classNames(\n\t\t\t\t\t\t'block-editor-global-styles__shadow-indicator',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tunset: type === 'unset',\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\tonClick={ onSelect }\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tstyle={ { boxShadow: shadow } }\n\t\t\t\t\tshowTooltip\n\t\t\t\t>\n\t\t\t\t\t{ isActive && <Icon icon={ check } /> }\n\t\t\t\t</Button>\n\t\t\t}\n\t\t/>\n\t);\n}\n\nexport function ShadowPopover( { shadow, onShadowChange, settings } ) {\n\tconst popoverProps = {\n\t\tplacement: 'left-start',\n\t\toffset: 36,\n\t\tshift: true,\n\t};\n\n\treturn (\n\t\t<Dropdown\n\t\t\tpopoverProps={ popoverProps }\n\t\t\tclassName=\"block-editor-global-styles__shadow-dropdown\"\n\t\t\trenderToggle={ renderShadowToggle() }\n\t\t\trenderContent={ () => (\n\t\t\t\t<DropdownContentWrapper paddingSize=\"medium\">\n\t\t\t\t\t<ShadowPopoverContainer\n\t\t\t\t\t\tshadow={ shadow }\n\t\t\t\t\t\tonShadowChange={ onShadowChange }\n\t\t\t\t\t\tsettings={ settings }\n\t\t\t\t\t/>\n\t\t\t\t</DropdownContentWrapper>\n\t\t\t) }\n\t\t/>\n\t);\n}\n\nfunction renderShadowToggle() {\n\treturn ( { onToggle, isOpen } ) => {\n\t\tconst toggleProps = {\n\t\t\tonClick: onToggle,\n\t\t\tclassName: classNames( { 'is-open': isOpen } ),\n\t\t\t'aria-expanded': isOpen,\n\t\t};\n\n\t\treturn (\n\t\t\t<Button { ...toggleProps }>\n\t\t\t\t<HStack justify=\"flex-start\">\n\t\t\t\t\t<Icon\n\t\t\t\t\t\tclassName=\"block-editor-global-styles__toggle-icon\"\n\t\t\t\t\t\ticon={ shadowIcon }\n\t\t\t\t\t\tsize={ 24 }\n\t\t\t\t\t/>\n\t\t\t\t\t<FlexItem>{ __( 'Drop shadow' ) }</FlexItem>\n\t\t\t\t</HStack>\n\t\t\t</Button>\n\t\t);\n\t};\n}\n\nexport function useShadowPresets( settings ) {\n\treturn useMemo( () => {\n\t\tif ( ! settings?.shadow ) {\n\t\t\treturn EMPTY_ARRAY;\n\t\t}\n\n\t\tconst defaultPresetsEnabled = settings?.shadow?.defaultPresets;\n\t\tconst { default: defaultShadows, theme: themeShadows } =\n\t\t\tsettings?.shadow?.presets ?? {};\n\t\tconst unsetShadow = {\n\t\t\tname: __( 'Unset' ),\n\t\t\tslug: 'unset',\n\t\t\tshadow: 'none',\n\t\t};\n\n\t\tconst shadowPresets = [\n\t\t\t...( ( defaultPresetsEnabled && defaultShadows ) || EMPTY_ARRAY ),\n\t\t\t...( themeShadows || EMPTY_ARRAY ),\n\t\t];\n\t\tif ( shadowPresets.length ) {\n\t\t\tshadowPresets.unshift( unsetShadow );\n\t\t}\n\n\t\treturn shadowPresets;\n\t}, [ settings ] );\n}\n"],"mappings":"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"}
@@ -26,7 +26,7 @@ const StylesTab = ({
26
26
  clientId,
27
27
  hasBlockStyles
28
28
  }) => {
29
- const borderPanelLabel = (0, _border.getBorderPanelLabel)({
29
+ const borderPanelLabel = (0, _border.useBorderPanelLabel)({
30
30
  blockName
31
31
  });
32
32
  return (0, _react.createElement)(_react.Fragment, null, hasBlockStyles && (0, _react.createElement)("div", null, (0, _react.createElement)(_components.PanelBody, {
@@ -1 +1 @@
1
- {"version":3,"names":["_blocks","require","_components","_i18n","_blockStyles","_interopRequireDefault","_defaultStylePicker","_inspectorControls","_border","StylesTab","blockName","clientId","hasBlockStyles","borderPanelLabel","getBorderPanelLabel","_react","createElement","Fragment","PanelBody","title","__","default","hasBlockSupport","Slot","group","label","className","_default","exports"],"sources":["@wordpress/block-editor/src/components/inspector-controls-tabs/styles-tab.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { hasBlockSupport } from '@wordpress/blocks';\nimport { PanelBody } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport BlockStyles from '../block-styles';\nimport DefaultStylePicker from '../default-style-picker';\nimport InspectorControls from '../inspector-controls';\nimport { getBorderPanelLabel } from '../../hooks/border';\n\nconst StylesTab = ( { blockName, clientId, hasBlockStyles } ) => {\n\tconst borderPanelLabel = getBorderPanelLabel( { blockName } );\n\n\treturn (\n\t\t<>\n\t\t\t{ hasBlockStyles && (\n\t\t\t\t<div>\n\t\t\t\t\t<PanelBody title={ __( 'Styles' ) }>\n\t\t\t\t\t\t<BlockStyles clientId={ clientId } />\n\t\t\t\t\t\t{ hasBlockSupport(\n\t\t\t\t\t\t\tblockName,\n\t\t\t\t\t\t\t'defaultStylePicker',\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t) && <DefaultStylePicker blockName={ blockName } /> }\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<InspectorControls.Slot\n\t\t\t\tgroup=\"color\"\n\t\t\t\tlabel={ __( 'Color' ) }\n\t\t\t\tclassName=\"color-block-support-panel__inner-wrapper\"\n\t\t\t/>\n\t\t\t<InspectorControls.Slot\n\t\t\t\tgroup=\"background\"\n\t\t\t\tlabel={ __( 'Background' ) }\n\t\t\t/>\n\t\t\t<InspectorControls.Slot group=\"filter\" />\n\t\t\t<InspectorControls.Slot\n\t\t\t\tgroup=\"typography\"\n\t\t\t\tlabel={ __( 'Typography' ) }\n\t\t\t/>\n\t\t\t<InspectorControls.Slot\n\t\t\t\tgroup=\"dimensions\"\n\t\t\t\tlabel={ __( 'Dimensions' ) }\n\t\t\t/>\n\t\t\t<InspectorControls.Slot group=\"border\" label={ borderPanelLabel } />\n\t\t\t<InspectorControls.Slot group=\"styles\" />\n\t\t</>\n\t);\n};\n\nexport default StylesTab;\n"],"mappings":";;;;;;;;AAGA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AAKA,IAAAG,YAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,mBAAA,GAAAD,sBAAA,CAAAJ,OAAA;AACA,IAAAM,kBAAA,GAAAF,sBAAA,CAAAJ,OAAA;AACA,IAAAO,OAAA,GAAAP,OAAA;AAbA;AACA;AACA;;AAKA;AACA;AACA;;AAMA,MAAMQ,SAAS,GAAGA,CAAE;EAAEC,SAAS;EAAEC,QAAQ;EAAEC;AAAe,CAAC,KAAM;EAChE,MAAMC,gBAAgB,GAAG,IAAAC,2BAAmB,EAAE;IAAEJ;EAAU,CAAE,CAAC;EAE7D,OACC,IAAAK,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAE,QAAA,QACGL,cAAc,IACf,IAAAG,MAAA,CAAAC,aAAA,eACC,IAAAD,MAAA,CAAAC,aAAA,EAACd,WAAA,CAAAgB,SAAS;IAACC,KAAK,EAAG,IAAAC,QAAE,EAAE,QAAS;EAAG,GAClC,IAAAL,MAAA,CAAAC,aAAA,EAACZ,YAAA,CAAAiB,OAAW;IAACV,QAAQ,EAAGA;EAAU,CAAE,CAAC,EACnC,IAAAW,uBAAe,EAChBZ,SAAS,EACT,oBAAoB,EACpB,IACD,CAAC,IAAI,IAAAK,MAAA,CAAAC,aAAA,EAACV,mBAAA,CAAAe,OAAkB;IAACX,SAAS,EAAGA;EAAW,CAAE,CACxC,CACP,CACL,EACD,IAAAK,MAAA,CAAAC,aAAA,EAACT,kBAAA,CAAAc,OAAiB,CAACE,IAAI;IACtBC,KAAK,EAAC,OAAO;IACbC,KAAK,EAAG,IAAAL,QAAE,EAAE,OAAQ,CAAG;IACvBM,SAAS,EAAC;EAA0C,CACpD,CAAC,EACF,IAAAX,MAAA,CAAAC,aAAA,EAACT,kBAAA,CAAAc,OAAiB,CAACE,IAAI;IACtBC,KAAK,EAAC,YAAY;IAClBC,KAAK,EAAG,IAAAL,QAAE,EAAE,YAAa;EAAG,CAC5B,CAAC,EACF,IAAAL,MAAA,CAAAC,aAAA,EAACT,kBAAA,CAAAc,OAAiB,CAACE,IAAI;IAACC,KAAK,EAAC;EAAQ,CAAE,CAAC,EACzC,IAAAT,MAAA,CAAAC,aAAA,EAACT,kBAAA,CAAAc,OAAiB,CAACE,IAAI;IACtBC,KAAK,EAAC,YAAY;IAClBC,KAAK,EAAG,IAAAL,QAAE,EAAE,YAAa;EAAG,CAC5B,CAAC,EACF,IAAAL,MAAA,CAAAC,aAAA,EAACT,kBAAA,CAAAc,OAAiB,CAACE,IAAI;IACtBC,KAAK,EAAC,YAAY;IAClBC,KAAK,EAAG,IAAAL,QAAE,EAAE,YAAa;EAAG,CAC5B,CAAC,EACF,IAAAL,MAAA,CAAAC,aAAA,EAACT,kBAAA,CAAAc,OAAiB,CAACE,IAAI;IAACC,KAAK,EAAC,QAAQ;IAACC,KAAK,EAAGZ;EAAkB,CAAE,CAAC,EACpE,IAAAE,MAAA,CAAAC,aAAA,EAACT,kBAAA,CAAAc,OAAiB,CAACE,IAAI;IAACC,KAAK,EAAC;EAAQ,CAAE,CACvC,CAAC;AAEL,CAAC;AAAC,IAAAG,QAAA,GAAAC,OAAA,CAAAP,OAAA,GAEaZ,SAAS"}
1
+ {"version":3,"names":["_blocks","require","_components","_i18n","_blockStyles","_interopRequireDefault","_defaultStylePicker","_inspectorControls","_border","StylesTab","blockName","clientId","hasBlockStyles","borderPanelLabel","useBorderPanelLabel","_react","createElement","Fragment","PanelBody","title","__","default","hasBlockSupport","Slot","group","label","className","_default","exports"],"sources":["@wordpress/block-editor/src/components/inspector-controls-tabs/styles-tab.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { hasBlockSupport } from '@wordpress/blocks';\nimport { PanelBody } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport BlockStyles from '../block-styles';\nimport DefaultStylePicker from '../default-style-picker';\nimport InspectorControls from '../inspector-controls';\nimport { useBorderPanelLabel } from '../../hooks/border';\n\nconst StylesTab = ( { blockName, clientId, hasBlockStyles } ) => {\n\tconst borderPanelLabel = useBorderPanelLabel( { blockName } );\n\n\treturn (\n\t\t<>\n\t\t\t{ hasBlockStyles && (\n\t\t\t\t<div>\n\t\t\t\t\t<PanelBody title={ __( 'Styles' ) }>\n\t\t\t\t\t\t<BlockStyles clientId={ clientId } />\n\t\t\t\t\t\t{ hasBlockSupport(\n\t\t\t\t\t\t\tblockName,\n\t\t\t\t\t\t\t'defaultStylePicker',\n\t\t\t\t\t\t\ttrue\n\t\t\t\t\t\t) && <DefaultStylePicker blockName={ blockName } /> }\n\t\t\t\t\t</PanelBody>\n\t\t\t\t</div>\n\t\t\t) }\n\t\t\t<InspectorControls.Slot\n\t\t\t\tgroup=\"color\"\n\t\t\t\tlabel={ __( 'Color' ) }\n\t\t\t\tclassName=\"color-block-support-panel__inner-wrapper\"\n\t\t\t/>\n\t\t\t<InspectorControls.Slot\n\t\t\t\tgroup=\"background\"\n\t\t\t\tlabel={ __( 'Background' ) }\n\t\t\t/>\n\t\t\t<InspectorControls.Slot group=\"filter\" />\n\t\t\t<InspectorControls.Slot\n\t\t\t\tgroup=\"typography\"\n\t\t\t\tlabel={ __( 'Typography' ) }\n\t\t\t/>\n\t\t\t<InspectorControls.Slot\n\t\t\t\tgroup=\"dimensions\"\n\t\t\t\tlabel={ __( 'Dimensions' ) }\n\t\t\t/>\n\t\t\t<InspectorControls.Slot group=\"border\" label={ borderPanelLabel } />\n\t\t\t<InspectorControls.Slot group=\"styles\" />\n\t\t</>\n\t);\n};\n\nexport default StylesTab;\n"],"mappings":";;;;;;;;AAGA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AAKA,IAAAG,YAAA,GAAAC,sBAAA,CAAAJ,OAAA;AACA,IAAAK,mBAAA,GAAAD,sBAAA,CAAAJ,OAAA;AACA,IAAAM,kBAAA,GAAAF,sBAAA,CAAAJ,OAAA;AACA,IAAAO,OAAA,GAAAP,OAAA;AAbA;AACA;AACA;;AAKA;AACA;AACA;;AAMA,MAAMQ,SAAS,GAAGA,CAAE;EAAEC,SAAS;EAAEC,QAAQ;EAAEC;AAAe,CAAC,KAAM;EAChE,MAAMC,gBAAgB,GAAG,IAAAC,2BAAmB,EAAE;IAAEJ;EAAU,CAAE,CAAC;EAE7D,OACC,IAAAK,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAE,QAAA,QACGL,cAAc,IACf,IAAAG,MAAA,CAAAC,aAAA,eACC,IAAAD,MAAA,CAAAC,aAAA,EAACd,WAAA,CAAAgB,SAAS;IAACC,KAAK,EAAG,IAAAC,QAAE,EAAE,QAAS;EAAG,GAClC,IAAAL,MAAA,CAAAC,aAAA,EAACZ,YAAA,CAAAiB,OAAW;IAACV,QAAQ,EAAGA;EAAU,CAAE,CAAC,EACnC,IAAAW,uBAAe,EAChBZ,SAAS,EACT,oBAAoB,EACpB,IACD,CAAC,IAAI,IAAAK,MAAA,CAAAC,aAAA,EAACV,mBAAA,CAAAe,OAAkB;IAACX,SAAS,EAAGA;EAAW,CAAE,CACxC,CACP,CACL,EACD,IAAAK,MAAA,CAAAC,aAAA,EAACT,kBAAA,CAAAc,OAAiB,CAACE,IAAI;IACtBC,KAAK,EAAC,OAAO;IACbC,KAAK,EAAG,IAAAL,QAAE,EAAE,OAAQ,CAAG;IACvBM,SAAS,EAAC;EAA0C,CACpD,CAAC,EACF,IAAAX,MAAA,CAAAC,aAAA,EAACT,kBAAA,CAAAc,OAAiB,CAACE,IAAI;IACtBC,KAAK,EAAC,YAAY;IAClBC,KAAK,EAAG,IAAAL,QAAE,EAAE,YAAa;EAAG,CAC5B,CAAC,EACF,IAAAL,MAAA,CAAAC,aAAA,EAACT,kBAAA,CAAAc,OAAiB,CAACE,IAAI;IAACC,KAAK,EAAC;EAAQ,CAAE,CAAC,EACzC,IAAAT,MAAA,CAAAC,aAAA,EAACT,kBAAA,CAAAc,OAAiB,CAACE,IAAI;IACtBC,KAAK,EAAC,YAAY;IAClBC,KAAK,EAAG,IAAAL,QAAE,EAAE,YAAa;EAAG,CAC5B,CAAC,EACF,IAAAL,MAAA,CAAAC,aAAA,EAACT,kBAAA,CAAAc,OAAiB,CAACE,IAAI;IACtBC,KAAK,EAAC,YAAY;IAClBC,KAAK,EAAG,IAAAL,QAAE,EAAE,YAAa;EAAG,CAC5B,CAAC,EACF,IAAAL,MAAA,CAAAC,aAAA,EAACT,kBAAA,CAAAc,OAAiB,CAACE,IAAI;IAACC,KAAK,EAAC,QAAQ;IAACC,KAAK,EAAGZ;EAAkB,CAAE,CAAC,EACpE,IAAAE,MAAA,CAAAC,aAAA,EAACT,kBAAA,CAAAc,OAAiB,CAACE,IAAI;IAACC,KAAK,EAAC;EAAQ,CAAE,CACvC,CAAC;AAEL,CAAC;AAAC,IAAAG,QAAA,GAAAC,OAAA,CAAAP,OAAA,GAEaZ,SAAS"}
@@ -15,6 +15,7 @@ var _icons = require("@wordpress/icons");
15
15
  var _dom = require("@wordpress/dom");
16
16
  var _data = require("@wordpress/data");
17
17
  var _notices = require("@wordpress/notices");
18
+ var _preferences = require("@wordpress/preferences");
18
19
  var _viewerSlot = require("./viewer-slot");
19
20
  var _useRichUrlData = _interopRequireDefault(require("./use-rich-url-data"));
20
21
  /**
@@ -36,6 +37,8 @@ function LinkPreview({
36
37
  hasUnlinkControl = false,
37
38
  onRemove
38
39
  }) {
40
+ const showIconLabels = (0, _data.useSelect)(select => select(_preferences.store).get('core', 'showIconLabels'), []);
41
+
39
42
  // Avoid fetching if rich previews are not desired.
40
43
  const showRichPreviews = hasRichPreviews ? value?.url : null;
41
44
  const {
@@ -122,7 +125,7 @@ function LinkPreview({
122
125
  // Translators: %s is a placeholder for the link URL and an optional colon, (if a Link URL is present).
123
126
  (0, _i18n.__)('Copy link%s'),
124
127
  // Ends up looking like "Copy link: https://example.com".
125
- isEmptyURL ? '' : ': ' + value.url),
128
+ isEmptyURL || showIconLabels ? '' : ': ' + value.url),
126
129
  ref: ref,
127
130
  disabled: isEmptyURL,
128
131
  size: "compact"
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_i18n","_components","_compose","_url","_icons","_dom","_data","_notices","_viewerSlot","_useRichUrlData","LinkPreview","value","onEditClick","hasRichPreviews","hasUnlinkControl","onRemove","showRichPreviews","url","richData","isFetching","useRichUrlData","hasRichData","Object","keys","length","displayURL","filterURLForDisplay","safeDecodeURI","isEmptyURL","displayTitle","stripHTML","title","icon","_react","createElement","src","alt","Icon","info","size","globe","createNotice","useDispatch","noticesStore","ref","useCopyToClipboard","__","isDismissible","type","className","classnames","Fragment","ExternalLink","href","__experimentalTruncate","numberOfLines","Button","edit","label","onClick","linkOff","copySmall","sprintf","disabled","ViewerSlot","fillProps"],"sources":["@wordpress/block-editor/src/components/link-control/link-preview.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tButton,\n\tExternalLink,\n\t__experimentalTruncate as Truncate,\n} from '@wordpress/components';\nimport { useCopyToClipboard } from '@wordpress/compose';\nimport { filterURLForDisplay, safeDecodeURI } from '@wordpress/url';\nimport { Icon, globe, info, linkOff, edit, copySmall } from '@wordpress/icons';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\nimport { useDispatch } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport { ViewerSlot } from './viewer-slot';\n\nimport useRichUrlData from './use-rich-url-data';\n\nexport default function LinkPreview( {\n\tvalue,\n\tonEditClick,\n\thasRichPreviews = false,\n\thasUnlinkControl = false,\n\tonRemove,\n} ) {\n\t// Avoid fetching if rich previews are not desired.\n\tconst showRichPreviews = hasRichPreviews ? value?.url : null;\n\n\tconst { richData, isFetching } = useRichUrlData( showRichPreviews );\n\n\t// Rich data may be an empty object so test for that.\n\tconst hasRichData = richData && Object.keys( richData ).length;\n\n\tconst displayURL =\n\t\t( value && filterURLForDisplay( safeDecodeURI( value.url ), 24 ) ) ||\n\t\t'';\n\n\t// url can be undefined if the href attribute is unset\n\tconst isEmptyURL = ! value?.url?.length;\n\n\tconst displayTitle =\n\t\t! isEmptyURL &&\n\t\tstripHTML( richData?.title || value?.title || displayURL );\n\n\tlet icon;\n\n\tif ( richData?.icon ) {\n\t\ticon = <img src={ richData?.icon } alt=\"\" />;\n\t} else if ( isEmptyURL ) {\n\t\ticon = <Icon icon={ info } size={ 32 } />;\n\t} else {\n\t\ticon = <Icon icon={ globe } />;\n\t}\n\n\tconst { createNotice } = useDispatch( noticesStore );\n\tconst ref = useCopyToClipboard( value.url, () => {\n\t\tcreateNotice( 'info', __( 'Link copied to clipboard.' ), {\n\t\t\tisDismissible: true,\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t} );\n\n\treturn (\n\t\t<div\n\t\t\taria-label={ __( 'Currently selected' ) }\n\t\t\tclassName={ classnames( 'block-editor-link-control__search-item', {\n\t\t\t\t'is-current': true,\n\t\t\t\t'is-rich': hasRichData,\n\t\t\t\t'is-fetching': !! isFetching,\n\t\t\t\t'is-preview': true,\n\t\t\t\t'is-error': isEmptyURL,\n\t\t\t\t'is-url-title': displayTitle === displayURL,\n\t\t\t} ) }\n\t\t>\n\t\t\t<div className=\"block-editor-link-control__search-item-top\">\n\t\t\t\t<span className=\"block-editor-link-control__search-item-header\">\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'block-editor-link-control__search-item-icon',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'is-image': richData?.icon,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ icon }\n\t\t\t\t\t</span>\n\t\t\t\t\t<span className=\"block-editor-link-control__search-item-details\">\n\t\t\t\t\t\t{ ! isEmptyURL ? (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\t\t\tclassName=\"block-editor-link-control__search-item-title\"\n\t\t\t\t\t\t\t\t\thref={ value.url }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<Truncate numberOfLines={ 1 }>\n\t\t\t\t\t\t\t\t\t\t{ displayTitle }\n\t\t\t\t\t\t\t\t\t</Truncate>\n\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t\t{ value?.url && displayTitle !== displayURL && (\n\t\t\t\t\t\t\t\t\t<span className=\"block-editor-link-control__search-item-info\">\n\t\t\t\t\t\t\t\t\t\t<Truncate numberOfLines={ 1 }>\n\t\t\t\t\t\t\t\t\t\t\t{ displayURL }\n\t\t\t\t\t\t\t\t\t\t</Truncate>\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<span className=\"block-editor-link-control__search-item-error-notice\">\n\t\t\t\t\t\t\t\t{ __( 'Link is empty' ) }\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</span>\n\t\t\t\t</span>\n\t\t\t\t<Button\n\t\t\t\t\ticon={ edit }\n\t\t\t\t\tlabel={ __( 'Edit link' ) }\n\t\t\t\t\tonClick={ onEditClick }\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t/>\n\t\t\t\t{ hasUnlinkControl && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\ticon={ linkOff }\n\t\t\t\t\t\tlabel={ __( 'Remove link' ) }\n\t\t\t\t\t\tonClick={ onRemove }\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<Button\n\t\t\t\t\ticon={ copySmall }\n\t\t\t\t\tlabel={ sprintf(\n\t\t\t\t\t\t// Translators: %s is a placeholder for the link URL and an optional colon, (if a Link URL is present).\n\t\t\t\t\t\t__( 'Copy link%s' ), // Ends up looking like \"Copy link: https://example.com\".\n\t\t\t\t\t\tisEmptyURL ? '' : ': ' + value.url\n\t\t\t\t\t) }\n\t\t\t\t\tref={ ref }\n\t\t\t\t\tdisabled={ isEmptyURL }\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t/>\n\t\t\t\t<ViewerSlot fillProps={ value } />\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["_classnames","_interopRequireDefault","require","_i18n","_components","_compose","_url","_icons","_dom","_data","_notices","_preferences","_viewerSlot","_useRichUrlData","LinkPreview","value","onEditClick","hasRichPreviews","hasUnlinkControl","onRemove","showIconLabels","useSelect","select","preferencesStore","get","showRichPreviews","url","richData","isFetching","useRichUrlData","hasRichData","Object","keys","length","displayURL","filterURLForDisplay","safeDecodeURI","isEmptyURL","displayTitle","stripHTML","title","icon","_react","createElement","src","alt","Icon","info","size","globe","createNotice","useDispatch","noticesStore","ref","useCopyToClipboard","__","isDismissible","type","className","classnames","Fragment","ExternalLink","href","__experimentalTruncate","numberOfLines","Button","edit","label","onClick","linkOff","copySmall","sprintf","disabled","ViewerSlot","fillProps"],"sources":["@wordpress/block-editor/src/components/link-control/link-preview.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tButton,\n\tExternalLink,\n\t__experimentalTruncate as Truncate,\n} from '@wordpress/components';\nimport { useCopyToClipboard } from '@wordpress/compose';\nimport { filterURLForDisplay, safeDecodeURI } from '@wordpress/url';\nimport { Icon, globe, info, linkOff, edit, copySmall } from '@wordpress/icons';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport { ViewerSlot } from './viewer-slot';\n\nimport useRichUrlData from './use-rich-url-data';\n\nexport default function LinkPreview( {\n\tvalue,\n\tonEditClick,\n\thasRichPreviews = false,\n\thasUnlinkControl = false,\n\tonRemove,\n} ) {\n\tconst showIconLabels = useSelect(\n\t\t( select ) =>\n\t\t\tselect( preferencesStore ).get( 'core', 'showIconLabels' ),\n\t\t[]\n\t);\n\n\t// Avoid fetching if rich previews are not desired.\n\tconst showRichPreviews = hasRichPreviews ? value?.url : null;\n\n\tconst { richData, isFetching } = useRichUrlData( showRichPreviews );\n\n\t// Rich data may be an empty object so test for that.\n\tconst hasRichData = richData && Object.keys( richData ).length;\n\n\tconst displayURL =\n\t\t( value && filterURLForDisplay( safeDecodeURI( value.url ), 24 ) ) ||\n\t\t'';\n\n\t// url can be undefined if the href attribute is unset\n\tconst isEmptyURL = ! value?.url?.length;\n\n\tconst displayTitle =\n\t\t! isEmptyURL &&\n\t\tstripHTML( richData?.title || value?.title || displayURL );\n\n\tlet icon;\n\n\tif ( richData?.icon ) {\n\t\ticon = <img src={ richData?.icon } alt=\"\" />;\n\t} else if ( isEmptyURL ) {\n\t\ticon = <Icon icon={ info } size={ 32 } />;\n\t} else {\n\t\ticon = <Icon icon={ globe } />;\n\t}\n\n\tconst { createNotice } = useDispatch( noticesStore );\n\tconst ref = useCopyToClipboard( value.url, () => {\n\t\tcreateNotice( 'info', __( 'Link copied to clipboard.' ), {\n\t\t\tisDismissible: true,\n\t\t\ttype: 'snackbar',\n\t\t} );\n\t} );\n\n\treturn (\n\t\t<div\n\t\t\taria-label={ __( 'Currently selected' ) }\n\t\t\tclassName={ classnames( 'block-editor-link-control__search-item', {\n\t\t\t\t'is-current': true,\n\t\t\t\t'is-rich': hasRichData,\n\t\t\t\t'is-fetching': !! isFetching,\n\t\t\t\t'is-preview': true,\n\t\t\t\t'is-error': isEmptyURL,\n\t\t\t\t'is-url-title': displayTitle === displayURL,\n\t\t\t} ) }\n\t\t>\n\t\t\t<div className=\"block-editor-link-control__search-item-top\">\n\t\t\t\t<span className=\"block-editor-link-control__search-item-header\">\n\t\t\t\t\t<span\n\t\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t\t'block-editor-link-control__search-item-icon',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'is-image': richData?.icon,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ icon }\n\t\t\t\t\t</span>\n\t\t\t\t\t<span className=\"block-editor-link-control__search-item-details\">\n\t\t\t\t\t\t{ ! isEmptyURL ? (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\t\t\tclassName=\"block-editor-link-control__search-item-title\"\n\t\t\t\t\t\t\t\t\thref={ value.url }\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<Truncate numberOfLines={ 1 }>\n\t\t\t\t\t\t\t\t\t\t{ displayTitle }\n\t\t\t\t\t\t\t\t\t</Truncate>\n\t\t\t\t\t\t\t\t</ExternalLink>\n\t\t\t\t\t\t\t\t{ value?.url && displayTitle !== displayURL && (\n\t\t\t\t\t\t\t\t\t<span className=\"block-editor-link-control__search-item-info\">\n\t\t\t\t\t\t\t\t\t\t<Truncate numberOfLines={ 1 }>\n\t\t\t\t\t\t\t\t\t\t\t{ displayURL }\n\t\t\t\t\t\t\t\t\t\t</Truncate>\n\t\t\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t) : (\n\t\t\t\t\t\t\t<span className=\"block-editor-link-control__search-item-error-notice\">\n\t\t\t\t\t\t\t\t{ __( 'Link is empty' ) }\n\t\t\t\t\t\t\t</span>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</span>\n\t\t\t\t</span>\n\t\t\t\t<Button\n\t\t\t\t\ticon={ edit }\n\t\t\t\t\tlabel={ __( 'Edit link' ) }\n\t\t\t\t\tonClick={ onEditClick }\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t/>\n\t\t\t\t{ hasUnlinkControl && (\n\t\t\t\t\t<Button\n\t\t\t\t\t\ticon={ linkOff }\n\t\t\t\t\t\tlabel={ __( 'Remove link' ) }\n\t\t\t\t\t\tonClick={ onRemove }\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<Button\n\t\t\t\t\ticon={ copySmall }\n\t\t\t\t\tlabel={ sprintf(\n\t\t\t\t\t\t// Translators: %s is a placeholder for the link URL and an optional colon, (if a Link URL is present).\n\t\t\t\t\t\t__( 'Copy link%s' ), // Ends up looking like \"Copy link: https://example.com\".\n\t\t\t\t\t\tisEmptyURL || showIconLabels ? '' : ': ' + value.url\n\t\t\t\t\t) }\n\t\t\t\t\tref={ ref }\n\t\t\t\t\tdisabled={ isEmptyURL }\n\t\t\t\t\tsize=\"compact\"\n\t\t\t\t/>\n\t\t\t\t<ViewerSlot fillProps={ value } />\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n"],"mappings":";;;;;;;;AAGA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAKA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AAKA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,IAAA,GAAAJ,OAAA;AACA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,IAAA,GAAAN,OAAA;AACA,IAAAO,KAAA,GAAAP,OAAA;AACA,IAAAQ,QAAA,GAAAR,OAAA;AACA,IAAAS,YAAA,GAAAT,OAAA;AAKA,IAAAU,WAAA,GAAAV,OAAA;AAEA,IAAAW,eAAA,GAAAZ,sBAAA,CAAAC,OAAA;AA3BA;AACA;AACA;;AAGA;AACA;AACA;;AAeA;AACA;AACA;;AAKe,SAASY,WAAWA,CAAE;EACpCC,KAAK;EACLC,WAAW;EACXC,eAAe,GAAG,KAAK;EACvBC,gBAAgB,GAAG,KAAK;EACxBC;AACD,CAAC,EAAG;EACH,MAAMC,cAAc,GAAG,IAAAC,eAAS,EAC7BC,MAAM,IACPA,MAAM,CAAEC,kBAAiB,CAAC,CAACC,GAAG,CAAE,MAAM,EAAE,gBAAiB,CAAC,EAC3D,EACD,CAAC;;EAED;EACA,MAAMC,gBAAgB,GAAGR,eAAe,GAAGF,KAAK,EAAEW,GAAG,GAAG,IAAI;EAE5D,MAAM;IAAEC,QAAQ;IAAEC;EAAW,CAAC,GAAG,IAAAC,uBAAc,EAAEJ,gBAAiB,CAAC;;EAEnE;EACA,MAAMK,WAAW,GAAGH,QAAQ,IAAII,MAAM,CAACC,IAAI,CAAEL,QAAS,CAAC,CAACM,MAAM;EAE9D,MAAMC,UAAU,GACbnB,KAAK,IAAI,IAAAoB,wBAAmB,EAAE,IAAAC,kBAAa,EAAErB,KAAK,CAACW,GAAI,CAAC,EAAE,EAAG,CAAC,IAChE,EAAE;;EAEH;EACA,MAAMW,UAAU,GAAG,CAAEtB,KAAK,EAAEW,GAAG,EAAEO,MAAM;EAEvC,MAAMK,YAAY,GACjB,CAAED,UAAU,IACZ,IAAAE,wBAAS,EAAEZ,QAAQ,EAAEa,KAAK,IAAIzB,KAAK,EAAEyB,KAAK,IAAIN,UAAW,CAAC;EAE3D,IAAIO,IAAI;EAER,IAAKd,QAAQ,EAAEc,IAAI,EAAG;IACrBA,IAAI,GAAG,IAAAC,MAAA,CAAAC,aAAA;MAAKC,GAAG,EAAGjB,QAAQ,EAAEc,IAAM;MAACI,GAAG,EAAC;IAAE,CAAE,CAAC;EAC7C,CAAC,MAAM,IAAKR,UAAU,EAAG;IACxBI,IAAI,GAAG,IAAAC,MAAA,CAAAC,aAAA,EAACpC,MAAA,CAAAuC,IAAI;MAACL,IAAI,EAAGM,WAAM;MAACC,IAAI,EAAG;IAAI,CAAE,CAAC;EAC1C,CAAC,MAAM;IACNP,IAAI,GAAG,IAAAC,MAAA,CAAAC,aAAA,EAACpC,MAAA,CAAAuC,IAAI;MAACL,IAAI,EAAGQ;IAAO,CAAE,CAAC;EAC/B;EAEA,MAAM;IAAEC;EAAa,CAAC,GAAG,IAAAC,iBAAW,EAAEC,cAAa,CAAC;EACpD,MAAMC,GAAG,GAAG,IAAAC,2BAAkB,EAAEvC,KAAK,CAACW,GAAG,EAAE,MAAM;IAChDwB,YAAY,CAAE,MAAM,EAAE,IAAAK,QAAE,EAAE,2BAA4B,CAAC,EAAE;MACxDC,aAAa,EAAE,IAAI;MACnBC,IAAI,EAAE;IACP,CAAE,CAAC;EACJ,CAAE,CAAC;EAEH,OACC,IAAAf,MAAA,CAAAC,aAAA;IACC,cAAa,IAAAY,QAAE,EAAE,oBAAqB,CAAG;IACzCG,SAAS,EAAG,IAAAC,mBAAU,EAAE,wCAAwC,EAAE;MACjE,YAAY,EAAE,IAAI;MAClB,SAAS,EAAE7B,WAAW;MACtB,aAAa,EAAE,CAAC,CAAEF,UAAU;MAC5B,YAAY,EAAE,IAAI;MAClB,UAAU,EAAES,UAAU;MACtB,cAAc,EAAEC,YAAY,KAAKJ;IAClC,CAAE;EAAG,GAEL,IAAAQ,MAAA,CAAAC,aAAA;IAAKe,SAAS,EAAC;EAA4C,GAC1D,IAAAhB,MAAA,CAAAC,aAAA;IAAMe,SAAS,EAAC;EAA+C,GAC9D,IAAAhB,MAAA,CAAAC,aAAA;IACCe,SAAS,EAAG,IAAAC,mBAAU,EACrB,6CAA6C,EAC7C;MACC,UAAU,EAAEhC,QAAQ,EAAEc;IACvB,CACD;EAAG,GAEDA,IACG,CAAC,EACP,IAAAC,MAAA,CAAAC,aAAA;IAAMe,SAAS,EAAC;EAAgD,GAC7D,CAAErB,UAAU,GACb,IAAAK,MAAA,CAAAC,aAAA,EAAAD,MAAA,CAAAkB,QAAA,QACC,IAAAlB,MAAA,CAAAC,aAAA,EAACvC,WAAA,CAAAyD,YAAY;IACZH,SAAS,EAAC,8CAA8C;IACxDI,IAAI,EAAG/C,KAAK,CAACW;EAAK,GAElB,IAAAgB,MAAA,CAAAC,aAAA,EAACvC,WAAA,CAAA2D,sBAAQ;IAACC,aAAa,EAAG;EAAG,GAC1B1B,YACO,CACG,CAAC,EACbvB,KAAK,EAAEW,GAAG,IAAIY,YAAY,KAAKJ,UAAU,IAC1C,IAAAQ,MAAA,CAAAC,aAAA;IAAMe,SAAS,EAAC;EAA6C,GAC5D,IAAAhB,MAAA,CAAAC,aAAA,EAACvC,WAAA,CAAA2D,sBAAQ;IAACC,aAAa,EAAG;EAAG,GAC1B9B,UACO,CACL,CAEN,CAAC,GAEH,IAAAQ,MAAA,CAAAC,aAAA;IAAMe,SAAS,EAAC;EAAqD,GAClE,IAAAH,QAAE,EAAE,eAAgB,CACjB,CAEF,CACD,CAAC,EACP,IAAAb,MAAA,CAAAC,aAAA,EAACvC,WAAA,CAAA6D,MAAM;IACNxB,IAAI,EAAGyB,WAAM;IACbC,KAAK,EAAG,IAAAZ,QAAE,EAAE,WAAY,CAAG;IAC3Ba,OAAO,EAAGpD,WAAa;IACvBgC,IAAI,EAAC;EAAS,CACd,CAAC,EACA9B,gBAAgB,IACjB,IAAAwB,MAAA,CAAAC,aAAA,EAACvC,WAAA,CAAA6D,MAAM;IACNxB,IAAI,EAAG4B,cAAS;IAChBF,KAAK,EAAG,IAAAZ,QAAE,EAAE,aAAc,CAAG;IAC7Ba,OAAO,EAAGjD,QAAU;IACpB6B,IAAI,EAAC;EAAS,CACd,CACD,EACD,IAAAN,MAAA,CAAAC,aAAA,EAACvC,WAAA,CAAA6D,MAAM;IACNxB,IAAI,EAAG6B,gBAAW;IAClBH,KAAK,EAAG,IAAAI,aAAO;IACd;IACA,IAAAhB,QAAE,EAAE,aAAc,CAAC;IAAE;IACrBlB,UAAU,IAAIjB,cAAc,GAAG,EAAE,GAAG,IAAI,GAAGL,KAAK,CAACW,GAClD,CAAG;IACH2B,GAAG,EAAGA,GAAK;IACXmB,QAAQ,EAAGnC,UAAY;IACvBW,IAAI,EAAC;EAAS,CACd,CAAC,EACF,IAAAN,MAAA,CAAAC,aAAA,EAAC/B,WAAA,CAAA6D,UAAU;IAACC,SAAS,EAAG3D;EAAO,CAAE,CAC7B,CACD,CAAC;AAER"}
@@ -4,6 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
+ exports.PrivateRichText = void 0;
7
8
  Object.defineProperty(exports, "RichTextShortcut", {
8
9
  enumerable: true,
9
10
  get: function () {
@@ -34,6 +35,7 @@ var _components = require("@wordpress/components");
34
35
  var _blocks = require("@wordpress/blocks");
35
36
  var _autocomplete = require("../autocomplete");
36
37
  var _blockEdit = require("../block-edit");
38
+ var _context = require("../block-edit/context");
37
39
  var _formatToolbarContainer = _interopRequireDefault(require("./format-toolbar-container"));
38
40
  var _store = require("../../store");
39
41
  var _useUndoAutomaticChange = require("./use-undo-automatic-change");
@@ -129,15 +131,18 @@ function RichTextWrapper({
129
131
  __unstableDisableFormats: disableFormats,
130
132
  disableLineBreaks,
131
133
  __unstableAllowPrefixTransformations,
134
+ disableEditing,
132
135
  ...props
133
136
  }, forwardedRef) {
134
137
  props = removeNativeProps(props);
135
138
  const anchorRef = (0, _element.useRef)();
139
+ const context = (0, _blockEdit.useBlockEditContext)();
136
140
  const {
137
141
  clientId,
138
142
  isSelected: isBlockSelected,
139
143
  name: blockName
140
- } = (0, _blockEdit.useBlockEditContext)();
144
+ } = context;
145
+ const blockBindings = context[_context.blockBindingsKey];
141
146
  const selector = select => {
142
147
  // Avoid subscribing to the block editor store if the block is not
143
148
  // selected.
@@ -148,26 +153,35 @@ function RichTextWrapper({
148
153
  }
149
154
  const {
150
155
  getSelectionStart,
151
- getSelectionEnd,
152
- getBlockAttributes
156
+ getSelectionEnd
153
157
  } = select(_store.store);
154
158
  const selectionStart = getSelectionStart();
155
159
  const selectionEnd = getSelectionEnd();
156
- const blockBindings = getBlockAttributes(clientId)?.metadata?.bindings;
157
160
  let isSelected;
158
161
  if (originalIsSelected === undefined) {
159
162
  isSelected = selectionStart.clientId === clientId && selectionEnd.clientId === clientId && selectionStart.attributeKey === identifier;
160
163
  } else if (originalIsSelected) {
161
164
  isSelected = selectionStart.clientId === clientId;
162
165
  }
163
-
166
+ return {
167
+ selectionStart: isSelected ? selectionStart.offset : undefined,
168
+ selectionEnd: isSelected ? selectionEnd.offset : undefined,
169
+ isSelected
170
+ };
171
+ };
172
+ const {
173
+ selectionStart,
174
+ selectionEnd,
175
+ isSelected
176
+ } = (0, _data.useSelect)(selector, [clientId, identifier, originalIsSelected, isBlockSelected]);
177
+ const disableBoundBlocks = (0, _data.useSelect)(select => {
164
178
  // Disable Rich Text editing if block bindings specify that.
165
- let shouldDisableEditing = false;
179
+ let _disableBoundBlocks = false;
166
180
  if (blockBindings && blockName in _useBindingsAttributes.BLOCK_BINDINGS_ALLOWED_BLOCKS) {
167
181
  const blockTypeAttributes = (0, _blocks.getBlockType)(blockName).attributes;
168
182
  const {
169
183
  getBlockBindingsSource
170
- } = (0, _lockUnlock.unlock)(select(_store.store));
184
+ } = (0, _lockUnlock.unlock)(select(_blocks.store));
171
185
  for (const [attribute, args] of Object.entries(blockBindings)) {
172
186
  if (blockTypeAttributes?.[attribute]?.source !== 'rich-text') {
173
187
  break;
@@ -176,24 +190,14 @@ function RichTextWrapper({
176
190
  // If the source is not defined, or if its value of `lockAttributesEditing` is `true`, disable it.
177
191
  const blockBindingsSource = getBlockBindingsSource(args.source);
178
192
  if (!blockBindingsSource || blockBindingsSource.lockAttributesEditing) {
179
- shouldDisableEditing = true;
193
+ _disableBoundBlocks = true;
180
194
  break;
181
195
  }
182
196
  }
183
197
  }
184
- return {
185
- selectionStart: isSelected ? selectionStart.offset : undefined,
186
- selectionEnd: isSelected ? selectionEnd.offset : undefined,
187
- isSelected,
188
- shouldDisableEditing
189
- };
190
- };
191
- const {
192
- selectionStart,
193
- selectionEnd,
194
- isSelected,
195
- shouldDisableEditing
196
- } = (0, _data.useSelect)(selector, [clientId, identifier, originalIsSelected, isBlockSelected]);
198
+ return _disableBoundBlocks;
199
+ }, [blockBindings, blockName]);
200
+ const shouldDisableEditing = disableEditing || disableBoundBlocks;
197
201
  const {
198
202
  getSelectionStart,
199
203
  getSelectionEnd,
@@ -389,14 +393,30 @@ function RichTextWrapper({
389
393
  "data-wp-block-attribute-key": identifier
390
394
  }));
391
395
  }
392
- const ForwardedRichTextContainer = (0, _withDeprecations.withDeprecations)((0, _element.forwardRef)(RichTextWrapper));
393
- ForwardedRichTextContainer.Content = _content.Content;
394
- ForwardedRichTextContainer.isEmpty = value => {
396
+
397
+ // This is the private API for the RichText component.
398
+ // It allows access to all props, not just the public ones.
399
+ const PrivateRichText = exports.PrivateRichText = (0, _withDeprecations.withDeprecations)((0, _element.forwardRef)(RichTextWrapper));
400
+ PrivateRichText.Content = _content.Content;
401
+ PrivateRichText.isEmpty = value => {
395
402
  return !value || value.length === 0;
396
403
  };
397
404
 
405
+ // This is the public API for the RichText component.
406
+ // We wrap the PrivateRichText component to hide some props from the public API.
398
407
  /**
399
408
  * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/rich-text/README.md
400
409
  */
401
- var _default = exports.default = ForwardedRichTextContainer;
410
+ const PublicForwardedRichTextContainer = (0, _element.forwardRef)((props, ref) => {
411
+ return (0, _react.createElement)(PrivateRichText, {
412
+ ref: ref,
413
+ ...props,
414
+ disableEditing: false
415
+ });
416
+ });
417
+ PublicForwardedRichTextContainer.Content = _content.Content;
418
+ PublicForwardedRichTextContainer.isEmpty = value => {
419
+ return !value || value.length === 0;
420
+ };
421
+ var _default = exports.default = PublicForwardedRichTextContainer;
402
422
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_classnames","_interopRequireDefault","require","_element","_data","_compose","_richText","_components","_blocks","_autocomplete","_blockEdit","_formatToolbarContainer","_store","_useUndoAutomaticChange","_useMarkPersistent","_usePasteHandler","_useBeforeInputRules","_useInputRules","_useDelete","_useEnter","_useFormatTypes","_useRemoveBrowserShortcuts","_useShortcuts","_useInputEvents","_useInsertReplacementText","_useFirefoxCompat","_formatEdit","_utils","_content","_withDeprecations","_lockUnlock","_useBindingsAttributes","_shortcut","_toolbarButton","_inputEvent","keyboardShortcutContext","exports","createContext","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","useRef","clientId","isBlockSelected","name","blockName","useBlockEditContext","selector","select","getSelectionStart","getSelectionEnd","getBlockAttributes","blockEditorStore","selectionStart","selectionEnd","blockBindings","metadata","bindings","undefined","attributeKey","shouldDisableEditing","BLOCK_BINDINGS_ALLOWED_BLOCKS","blockTypeAttributes","getBlockType","attributes","getBlockBindingsSource","unlock","attribute","args","Object","entries","source","blockBindingsSource","lockAttributesEditing","offset","useSelect","getBlockRootClientId","selectionChange","useDispatch","adjustedAllowedFormats","getAllowedFormats","hasFormats","length","onSelectionChange","useCallback","start","end","selection","unset","formatTypes","prepareHandlers","valueHandlers","changeHandlers","dependencies","useFormatTypes","addEditorOnlyFormats","reduce","accumulator","fn","text","formats","removeEditorOnlyFormats","forEach","formatType","__experimentalCreatePrepareEditableTree","removeFormat","addInvisibleFormats","getValue","ref","richTextRef","useRichText","html","__unstableFormats","__unstableText","values","changeHandler","__unstableIsSelected","__unstableDependencies","__unstableAfterParse","__unstableBeforeSerialize","__unstableAddInvisibleFormats","autocompleteProps","useBlockEditorAutocompleteProps","completers","record","useMarkPersistent","keyboardShortcuts","Set","inputEvents","onFocus","current","focus","TagName","_react","createElement","Fragment","Provider","Popover","__unstableSlotNameProvider","default","inline","editableContentElement","role","useMergeRefs","useBeforeInputRules","useInputRules","useInsertReplacementText","useRemoveBrowserShortcuts","useShortcuts","useInputEvents","useUndoAutomaticChange","usePasteHandler","useDelete","useEnter","useFirefoxCompat","contentEditable","suppressContentEditableWarning","className","classnames","tabIndex","ForwardedRichTextContainer","withDeprecations","forwardRef","Content","isEmpty","_default"],"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":"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"}
1
+ {"version":3,"names":["_classnames","_interopRequireDefault","require","_element","_data","_compose","_richText","_components","_blocks","_autocomplete","_blockEdit","_context","_formatToolbarContainer","_store","_useUndoAutomaticChange","_useMarkPersistent","_usePasteHandler","_useBeforeInputRules","_useInputRules","_useDelete","_useEnter","_useFormatTypes","_useRemoveBrowserShortcuts","_useShortcuts","_useInputEvents","_useInsertReplacementText","_useFirefoxCompat","_formatEdit","_utils","_content","_withDeprecations","_lockUnlock","_useBindingsAttributes","_shortcut","_toolbarButton","_inputEvent","keyboardShortcutContext","exports","createContext","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","disableEditing","forwardedRef","anchorRef","useRef","context","useBlockEditContext","clientId","isBlockSelected","name","blockName","blockBindings","blockBindingsKey","selector","select","getSelectionStart","getSelectionEnd","blockEditorStore","selectionStart","selectionEnd","undefined","attributeKey","offset","useSelect","disableBoundBlocks","_disableBoundBlocks","BLOCK_BINDINGS_ALLOWED_BLOCKS","blockTypeAttributes","getBlockType","attributes","getBlockBindingsSource","unlock","blocksStore","attribute","args","Object","entries","source","blockBindingsSource","lockAttributesEditing","shouldDisableEditing","getBlockRootClientId","selectionChange","useDispatch","adjustedAllowedFormats","getAllowedFormats","hasFormats","length","onSelectionChange","useCallback","start","end","selection","unset","formatTypes","prepareHandlers","valueHandlers","changeHandlers","dependencies","useFormatTypes","addEditorOnlyFormats","reduce","accumulator","fn","text","formats","removeEditorOnlyFormats","forEach","formatType","__experimentalCreatePrepareEditableTree","removeFormat","addInvisibleFormats","getValue","ref","richTextRef","useRichText","html","__unstableFormats","__unstableText","values","changeHandler","__unstableIsSelected","__unstableDependencies","__unstableAfterParse","__unstableBeforeSerialize","__unstableAddInvisibleFormats","autocompleteProps","useBlockEditorAutocompleteProps","completers","record","useMarkPersistent","keyboardShortcuts","Set","inputEvents","onFocus","current","focus","TagName","_react","createElement","Fragment","Provider","Popover","__unstableSlotNameProvider","default","inline","editableContentElement","role","useMergeRefs","useBeforeInputRules","useInputRules","useInsertReplacementText","useRemoveBrowserShortcuts","useShortcuts","useInputEvents","useUndoAutomaticChange","usePasteHandler","useDelete","useEnter","useFirefoxCompat","contentEditable","suppressContentEditableWarning","className","classnames","tabIndex","PrivateRichText","withDeprecations","forwardRef","Content","isEmpty","PublicForwardedRichTextContainer","_default"],"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, store as blocksStore } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { useBlockEditorAutocompleteProps } from '../autocomplete';\nimport { useBlockEditContext } from '../block-edit';\nimport { blockBindingsKey } from '../block-edit/context';\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\tdisableEditing,\n\t\t...props\n\t},\n\tforwardedRef\n) {\n\tprops = removeNativeProps( props );\n\n\tconst anchorRef = useRef();\n\tconst context = useBlockEditContext();\n\tconst { clientId, isSelected: isBlockSelected, name: blockName } = context;\n\tconst blockBindings = context[ blockBindingsKey ];\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 } =\n\t\t\tselect( blockEditorStore );\n\t\tconst selectionStart = getSelectionStart();\n\t\tconst selectionEnd = getSelectionEnd();\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\treturn {\n\t\t\tselectionStart: isSelected ? selectionStart.offset : undefined,\n\t\t\tselectionEnd: isSelected ? selectionEnd.offset : undefined,\n\t\t\tisSelected,\n\t\t};\n\t};\n\tconst { selectionStart, selectionEnd, isSelected } = useSelect( selector, [\n\t\tclientId,\n\t\tidentifier,\n\t\toriginalIsSelected,\n\t\tisBlockSelected,\n\t] );\n\n\tconst disableBoundBlocks = useSelect(\n\t\t( select ) => {\n\t\t\t// Disable Rich Text editing if block bindings specify that.\n\t\t\tlet _disableBoundBlocks = false;\n\t\t\tif ( blockBindings && blockName in BLOCK_BINDINGS_ALLOWED_BLOCKS ) {\n\t\t\t\tconst blockTypeAttributes =\n\t\t\t\t\tgetBlockType( blockName ).attributes;\n\t\t\t\tconst { getBlockBindingsSource } = unlock(\n\t\t\t\t\tselect( blocksStore )\n\t\t\t\t);\n\t\t\t\tfor ( const [ attribute, args ] of Object.entries(\n\t\t\t\t\tblockBindings\n\t\t\t\t) ) {\n\t\t\t\t\tif (\n\t\t\t\t\t\tblockTypeAttributes?.[ attribute ]?.source !==\n\t\t\t\t\t\t'rich-text'\n\t\t\t\t\t) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\t// If the source is not defined, or if its value of `lockAttributesEditing` is `true`, disable it.\n\t\t\t\t\tconst blockBindingsSource = getBlockBindingsSource(\n\t\t\t\t\t\targs.source\n\t\t\t\t\t);\n\t\t\t\t\tif (\n\t\t\t\t\t\t! blockBindingsSource ||\n\t\t\t\t\t\tblockBindingsSource.lockAttributesEditing\n\t\t\t\t\t) {\n\t\t\t\t\t\t_disableBoundBlocks = true;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn _disableBoundBlocks;\n\t\t},\n\t\t[ blockBindings, blockName ]\n\t);\n\n\tconst shouldDisableEditing = disableEditing || disableBoundBlocks;\n\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\n// This is the private API for the RichText component.\n// It allows access to all props, not just the public ones.\nexport const PrivateRichText = withDeprecations(\n\tforwardRef( RichTextWrapper )\n);\n\nPrivateRichText.Content = Content;\nPrivateRichText.isEmpty = ( value ) => {\n\treturn ! value || value.length === 0;\n};\n\n// This is the public API for the RichText component.\n// We wrap the PrivateRichText component to hide some props from the public API.\n/**\n * @see https://github.com/WordPress/gutenberg/blob/HEAD/packages/block-editor/src/components/rich-text/README.md\n */\nconst PublicForwardedRichTextContainer = forwardRef( ( props, ref ) => {\n\treturn (\n\t\t<PrivateRichText ref={ ref } { ...props } disableEditing={ false } />\n\t);\n} );\n\nPublicForwardedRichTextContainer.Content = Content;\nPublicForwardedRichTextContainer.isEmpty = ( value ) => {\n\treturn ! value || value.length === 0;\n};\n\nexport default PublicForwardedRichTextContainer;\nexport { RichTextShortcut } from './shortcut';\nexport { RichTextToolbarButton } from './toolbar-button';\nexport { __unstableRichTextInputEvent } from './input-event';\n"],"mappings":"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"}
@@ -29,6 +29,9 @@ function useEnter(props) {
29
29
  propsRef.current = props;
30
30
  return (0, _compose.useRefEffect)(element => {
31
31
  function onKeyDown(event) {
32
+ if (event.target.contentEditable !== 'true') {
33
+ return;
34
+ }
32
35
  if (event.defaultPrevented) {
33
36
  return;
34
37
  }