@wordpress/format-library 5.32.0 → 5.32.1-next.ff1cebbba.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (132) hide show
  1. package/build/bold/index.js +69 -58
  2. package/build/bold/index.js.map +7 -1
  3. package/build/code/index.js +62 -54
  4. package/build/code/index.js.map +7 -1
  5. package/build/default-formats.js +52 -24
  6. package/build/default-formats.js.map +7 -1
  7. package/build/image/index.js +185 -153
  8. package/build/image/index.js.map +7 -1
  9. package/build/index.js +28 -18
  10. package/build/index.js.map +7 -1
  11. package/build/italic/index.js +69 -58
  12. package/build/italic/index.js.map +7 -1
  13. package/build/keyboard/index.js +47 -36
  14. package/build/keyboard/index.js.map +7 -1
  15. package/build/language/index.js +145 -113
  16. package/build/language/index.js.map +7 -1
  17. package/build/link/css-classes-setting.js +81 -0
  18. package/build/link/css-classes-setting.js.map +7 -0
  19. package/build/link/index.js +162 -167
  20. package/build/link/index.js.map +7 -1
  21. package/build/link/inline.js +186 -174
  22. package/build/link/inline.js.map +7 -1
  23. package/build/link/use-link-instance-key.js +25 -19
  24. package/build/link/use-link-instance-key.js.map +7 -1
  25. package/build/link/utils.js +66 -115
  26. package/build/link/utils.js.map +7 -1
  27. package/build/lock-unlock.js +31 -15
  28. package/build/lock-unlock.js.map +7 -1
  29. package/build/non-breaking-space/index.js +44 -28
  30. package/build/non-breaking-space/index.js.map +7 -1
  31. package/build/strikethrough/index.js +57 -42
  32. package/build/strikethrough/index.js.map +7 -1
  33. package/build/subscript/index.js +47 -36
  34. package/build/subscript/index.js.map +7 -1
  35. package/build/superscript/index.js +47 -36
  36. package/build/superscript/index.js.map +7 -1
  37. package/build/text-color/index.js +102 -70
  38. package/build/text-color/index.js.map +7 -1
  39. package/build/text-color/inline.js +118 -116
  40. package/build/text-color/inline.js.map +7 -1
  41. package/build/underline/index.js +62 -40
  42. package/build/underline/index.js.map +7 -1
  43. package/build/unknown/index.js +51 -37
  44. package/build/unknown/index.js.map +7 -1
  45. package/build-module/bold/index.js +52 -52
  46. package/build-module/bold/index.js.map +7 -1
  47. package/build-module/code/index.js +41 -46
  48. package/build-module/code/index.js.map +7 -1
  49. package/build-module/default-formats.js +34 -19
  50. package/build-module/default-formats.js.map +7 -1
  51. package/build-module/image/index.js +174 -144
  52. package/build-module/image/index.js.map +7 -1
  53. package/build-module/index.js +6 -14
  54. package/build-module/index.js.map +7 -1
  55. package/build-module/italic/index.js +52 -52
  56. package/build-module/italic/index.js.map +7 -1
  57. package/build-module/keyboard/index.js +25 -30
  58. package/build-module/keyboard/index.js.map +7 -1
  59. package/build-module/language/index.js +128 -105
  60. package/build-module/language/index.js.map +7 -1
  61. package/build-module/link/css-classes-setting.js +67 -0
  62. package/build-module/link/css-classes-setting.js.map +7 -0
  63. package/build-module/link/index.js +128 -146
  64. package/build-module/link/index.js.map +7 -1
  65. package/build-module/link/inline.js +158 -154
  66. package/build-module/link/inline.js.map +7 -1
  67. package/build-module/link/use-link-instance-key.js +7 -14
  68. package/build-module/link/use-link-instance-key.js.map +7 -1
  69. package/build-module/link/utils.js +46 -101
  70. package/build-module/link/utils.js.map +7 -1
  71. package/build-module/lock-unlock.js +8 -7
  72. package/build-module/lock-unlock.js.map +7 -1
  73. package/build-module/non-breaking-space/index.js +22 -22
  74. package/build-module/non-breaking-space/index.js.map +7 -1
  75. package/build-module/strikethrough/index.js +38 -36
  76. package/build-module/strikethrough/index.js.map +7 -1
  77. package/build-module/subscript/index.js +25 -30
  78. package/build-module/subscript/index.js.map +7 -1
  79. package/build-module/superscript/index.js +25 -30
  80. package/build-module/superscript/index.js.map +7 -1
  81. package/build-module/text-color/index.js +72 -61
  82. package/build-module/text-color/index.js.map +7 -1
  83. package/build-module/text-color/inline.js +107 -106
  84. package/build-module/text-color/inline.js.map +7 -1
  85. package/build-module/underline/index.js +43 -34
  86. package/build-module/underline/index.js.map +7 -1
  87. package/build-module/unknown/index.js +26 -28
  88. package/build-module/unknown/index.js.map +7 -1
  89. package/build-style/style-rtl.css +0 -194
  90. package/build-style/style.css +0 -194
  91. package/package.json +21 -15
  92. package/src/image/style.scss +3 -0
  93. package/src/link/css-classes-setting.js +89 -0
  94. package/src/link/index.js +1 -0
  95. package/src/link/inline.js +19 -0
  96. package/src/link/style.scss +3 -0
  97. package/src/link/test/css-classes-setting.js +144 -0
  98. package/src/link/utils.js +8 -0
  99. package/src/style.scss +4 -4
  100. package/src/text-color/style.scss +2 -0
  101. package/build/default-formats.native.js +0 -16
  102. package/build/default-formats.native.js.map +0 -1
  103. package/build/link/index.native.js +0 -174
  104. package/build/link/index.native.js.map +0 -1
  105. package/build/link/modal-screens/link-picker-screen.native.js +0 -67
  106. package/build/link/modal-screens/link-picker-screen.native.js.map +0 -1
  107. package/build/link/modal-screens/link-settings-screen.native.js +0 -226
  108. package/build/link/modal-screens/link-settings-screen.native.js.map +0 -1
  109. package/build/link/modal-screens/screens.native.js +0 -11
  110. package/build/link/modal-screens/screens.native.js.map +0 -1
  111. package/build/link/modal.native.js +0 -53
  112. package/build/link/modal.native.js.map +0 -1
  113. package/build/text-color/index.native.js +0 -134
  114. package/build/text-color/index.native.js.map +0 -1
  115. package/build/text-color/inline.native.js +0 -150
  116. package/build/text-color/inline.native.js.map +0 -1
  117. package/build-module/default-formats.native.js +0 -10
  118. package/build-module/default-formats.native.js.map +0 -1
  119. package/build-module/link/index.native.js +0 -166
  120. package/build-module/link/index.native.js.map +0 -1
  121. package/build-module/link/modal-screens/link-picker-screen.native.js +0 -59
  122. package/build-module/link/modal-screens/link-picker-screen.native.js.map +0 -1
  123. package/build-module/link/modal-screens/link-settings-screen.native.js +0 -218
  124. package/build-module/link/modal-screens/link-settings-screen.native.js.map +0 -1
  125. package/build-module/link/modal-screens/screens.native.js +0 -5
  126. package/build-module/link/modal-screens/screens.native.js.map +0 -1
  127. package/build-module/link/modal.native.js +0 -45
  128. package/build-module/link/modal.native.js.map +0 -1
  129. package/build-module/text-color/index.native.js +0 -126
  130. package/build-module/text-color/index.native.js.map +0 -1
  131. package/build-module/text-color/inline.native.js +0 -142
  132. package/build-module/text-color/inline.native.js.map +0 -1
@@ -1,132 +1,151 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name2 in all)
7
+ __defProp(target, name2, { get: all[name2], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var image_exports = {};
19
+ __export(image_exports, {
20
+ image: () => image
5
21
  });
6
- exports.image = void 0;
7
- var _components = require("@wordpress/components");
8
- var _i18n = require("@wordpress/i18n");
9
- var _element = require("@wordpress/element");
10
- var _richText = require("@wordpress/rich-text");
11
- var _blockEditor = require("@wordpress/block-editor");
12
- var _jsxRuntime = require("react/jsx-runtime");
13
- /**
14
- * WordPress dependencies
15
- */
16
-
17
- const ALLOWED_MEDIA_TYPES = ['image'];
18
- const name = 'core/image';
19
- const title = (0, _i18n.__)('Inline image');
20
-
21
- /**
22
- * Extracts the image ID from the className attribute.
23
- *
24
- * @param {Object} activeObjectAttributes The attributes of the active object.
25
- * @return {number|undefined} The extracted image ID or undefined if not found.
26
- */
22
+ module.exports = __toCommonJS(image_exports);
23
+ var import_jsx_runtime = require("react/jsx-runtime");
24
+ var import_components = require("@wordpress/components");
25
+ var import_i18n = require("@wordpress/i18n");
26
+ var import_element = require("@wordpress/element");
27
+ var import_rich_text = require("@wordpress/rich-text");
28
+ var import_block_editor = require("@wordpress/block-editor");
29
+ const ALLOWED_MEDIA_TYPES = ["image"];
30
+ const name = "core/image";
31
+ const title = (0, import_i18n.__)("Inline image");
27
32
  function getCurrentImageId(activeObjectAttributes) {
28
- var _activeObjectAttribut;
29
33
  if (!activeObjectAttributes?.className) {
30
- return undefined;
34
+ return void 0;
31
35
  }
32
- const [, id] = (_activeObjectAttribut = activeObjectAttributes.className.match(/wp-image-(\d+)/)) !== null && _activeObjectAttribut !== void 0 ? _activeObjectAttribut : [];
33
- return id ? parseInt(id, 10) : undefined;
36
+ const [, id] = activeObjectAttributes.className.match(/wp-image-(\d+)/) ?? [];
37
+ return id ? parseInt(id, 10) : void 0;
34
38
  }
35
- const image = exports.image = {
39
+ const image = {
36
40
  name,
37
41
  title,
38
- keywords: [(0, _i18n.__)('photo'), (0, _i18n.__)('media')],
42
+ keywords: [(0, import_i18n.__)("photo"), (0, import_i18n.__)("media")],
39
43
  object: true,
40
- tagName: 'img',
44
+ tagName: "img",
41
45
  className: null,
42
46
  attributes: {
43
- className: 'class',
44
- style: 'style',
45
- url: 'src',
46
- alt: 'alt'
47
+ className: "class",
48
+ style: "style",
49
+ url: "src",
50
+ alt: "alt"
47
51
  },
48
52
  edit: Edit
49
53
  };
50
- function InlineUI({
51
- value,
52
- onChange,
53
- activeObjectAttributes,
54
- contentRef
55
- }) {
56
- const {
57
- style,
58
- alt
59
- } = activeObjectAttributes;
60
- const width = style?.replace(/\D/g, '');
61
- const [editedWidth, setEditedWidth] = (0, _element.useState)(width);
62
- const [editedAlt, setEditedAlt] = (0, _element.useState)(alt);
54
+ function InlineUI({ value, onChange, activeObjectAttributes, contentRef }) {
55
+ const { style, alt } = activeObjectAttributes;
56
+ const width = style?.replace(/\D/g, "");
57
+ const [editedWidth, setEditedWidth] = (0, import_element.useState)(width);
58
+ const [editedAlt, setEditedAlt] = (0, import_element.useState)(alt);
63
59
  const hasChanged = editedWidth !== width || editedAlt !== alt;
64
- const popoverAnchor = (0, _richText.useAnchor)({
60
+ const popoverAnchor = (0, import_rich_text.useAnchor)({
65
61
  editableContentElement: contentRef.current,
66
62
  settings: image
67
63
  });
68
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Popover, {
69
- placement: "bottom",
70
- focusOnMount: false,
71
- anchor: popoverAnchor,
72
- className: "block-editor-format-toolbar__image-popover",
73
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)("form", {
74
- className: "block-editor-format-toolbar__image-container-content",
75
- onSubmit: event => {
76
- const newReplacements = value.replacements.slice();
77
- newReplacements[value.start] = {
78
- type: name,
79
- attributes: {
80
- ...activeObjectAttributes,
81
- style: editedWidth ? `width: ${editedWidth}px;` : '',
82
- alt: editedAlt
83
- }
84
- };
85
- onChange({
86
- ...value,
87
- replacements: newReplacements
88
- });
89
- event.preventDefault();
90
- },
91
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
92
- spacing: 4,
93
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalNumberControl, {
94
- __next40pxDefaultSize: true,
95
- label: (0, _i18n.__)('Width'),
96
- value: editedWidth,
97
- min: 1,
98
- onChange: newWidth => {
99
- setEditedWidth(newWidth);
100
- }
101
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.TextareaControl, {
102
- label: (0, _i18n.__)('Alternative text'),
103
- __nextHasNoMarginBottom: true,
104
- value: editedAlt,
105
- onChange: newAlt => {
106
- setEditedAlt(newAlt);
64
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
65
+ import_components.Popover,
66
+ {
67
+ placement: "bottom",
68
+ focusOnMount: false,
69
+ anchor: popoverAnchor,
70
+ className: "block-editor-format-toolbar__image-popover",
71
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
72
+ "form",
73
+ {
74
+ className: "block-editor-format-toolbar__image-container-content",
75
+ onSubmit: (event) => {
76
+ const newReplacements = value.replacements.slice();
77
+ newReplacements[value.start] = {
78
+ type: name,
79
+ attributes: {
80
+ ...activeObjectAttributes,
81
+ style: editedWidth ? `width: ${editedWidth}px;` : "",
82
+ alt: editedAlt
83
+ }
84
+ };
85
+ onChange({
86
+ ...value,
87
+ replacements: newReplacements
88
+ });
89
+ event.preventDefault();
107
90
  },
108
- help: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
109
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.ExternalLink, {
110
- href:
111
- // translators: Localized tutorial, if one exists. W3C Web Accessibility Initiative link has list of existing translations.
112
- (0, _i18n.__)('https://www.w3.org/WAI/tutorials/images/decision-tree/'),
113
- children: (0, _i18n.__)('Describe the purpose of the image.')
114
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)("br", {}), (0, _i18n.__)('Leave empty if decorative.')]
115
- })
116
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalHStack, {
117
- justify: "right",
118
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
119
- disabled: !hasChanged,
120
- accessibleWhenDisabled: true,
121
- variant: "primary",
122
- type: "submit",
123
- size: "compact",
124
- children: (0, _i18n.__)('Apply')
125
- })
126
- })]
127
- })
128
- })
129
- });
91
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_components.__experimentalVStack, { spacing: 4, children: [
92
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
93
+ import_components.__experimentalNumberControl,
94
+ {
95
+ __next40pxDefaultSize: true,
96
+ label: (0, import_i18n.__)("Width"),
97
+ value: editedWidth,
98
+ min: 1,
99
+ onChange: (newWidth) => {
100
+ setEditedWidth(newWidth);
101
+ }
102
+ }
103
+ ),
104
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
105
+ import_components.TextareaControl,
106
+ {
107
+ label: (0, import_i18n.__)("Alternative text"),
108
+ __nextHasNoMarginBottom: true,
109
+ value: editedAlt,
110
+ onChange: (newAlt) => {
111
+ setEditedAlt(newAlt);
112
+ },
113
+ help: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
114
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
115
+ import_components.ExternalLink,
116
+ {
117
+ href: (
118
+ // translators: Localized tutorial, if one exists. W3C Web Accessibility Initiative link has list of existing translations.
119
+ (0, import_i18n.__)(
120
+ "https://www.w3.org/WAI/tutorials/images/decision-tree/"
121
+ )
122
+ ),
123
+ children: (0, import_i18n.__)(
124
+ "Describe the purpose of the image."
125
+ )
126
+ }
127
+ ),
128
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("br", {}),
129
+ (0, import_i18n.__)("Leave empty if decorative.")
130
+ ] })
131
+ }
132
+ ),
133
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.__experimentalHStack, { justify: "right", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
134
+ import_components.Button,
135
+ {
136
+ disabled: !hasChanged,
137
+ accessibleWhenDisabled: true,
138
+ variant: "primary",
139
+ type: "submit",
140
+ size: "compact",
141
+ children: (0, import_i18n.__)("Apply")
142
+ }
143
+ ) })
144
+ ] })
145
+ }
146
+ )
147
+ }
148
+ );
130
149
  }
131
150
  function Edit({
132
151
  value,
@@ -136,47 +155,60 @@ function Edit({
136
155
  activeObjectAttributes,
137
156
  contentRef
138
157
  }) {
139
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_blockEditor.MediaUploadCheck, {
140
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.MediaUpload, {
141
- allowedTypes: ALLOWED_MEDIA_TYPES,
142
- value: getCurrentImageId(activeObjectAttributes),
143
- onSelect: ({
144
- id,
145
- url,
146
- alt,
147
- width: imgWidth
148
- }) => {
149
- onChange((0, _richText.insertObject)(value, {
150
- type: name,
151
- attributes: {
152
- className: `wp-image-${id}`,
153
- style: `width: ${Math.min(imgWidth, 150)}px;`,
154
- url,
155
- alt
158
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_block_editor.MediaUploadCheck, { children: [
159
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
160
+ import_block_editor.MediaUpload,
161
+ {
162
+ allowedTypes: ALLOWED_MEDIA_TYPES,
163
+ value: getCurrentImageId(activeObjectAttributes),
164
+ onSelect: ({ id, url, alt, width: imgWidth }) => {
165
+ onChange(
166
+ (0, import_rich_text.insertObject)(value, {
167
+ type: name,
168
+ attributes: {
169
+ className: `wp-image-${id}`,
170
+ style: `width: ${Math.min(
171
+ imgWidth,
172
+ 150
173
+ )}px;`,
174
+ url,
175
+ alt
176
+ }
177
+ })
178
+ );
179
+ onFocus();
180
+ },
181
+ render: ({ open }) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
182
+ import_block_editor.RichTextToolbarButton,
183
+ {
184
+ icon: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
185
+ import_components.SVG,
186
+ {
187
+ xmlns: "http://www.w3.org/2000/svg",
188
+ viewBox: "0 0 24 24",
189
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.Path, { d: "M4 18.5h16V17H4v1.5zM16 13v1.5h4V13h-4zM5.1 15h7.8c.6 0 1.1-.5 1.1-1.1V6.1c0-.6-.5-1.1-1.1-1.1H5.1C4.5 5 4 5.5 4 6.1v7.8c0 .6.5 1.1 1.1 1.1zm.4-8.5h7V10l-1-1c-.3-.3-.8-.3-1 0l-1.6 1.5-1.2-.7c-.3-.2-.6-.2-.9 0l-1.3 1V6.5zm0 6.1l1.8-1.3 1.3.8c.3.2.7.2.9-.1l1.5-1.4 1.5 1.4v1.5h-7v-.9z" })
190
+ }
191
+ ),
192
+ title: isObjectActive ? (0, import_i18n.__)("Replace image") : title,
193
+ onClick: open,
194
+ isActive: isObjectActive
156
195
  }
157
- }));
158
- onFocus();
159
- },
160
- render: ({
161
- open
162
- }) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.RichTextToolbarButton, {
163
- icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.SVG, {
164
- xmlns: "http://www.w3.org/2000/svg",
165
- viewBox: "0 0 24 24",
166
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Path, {
167
- d: "M4 18.5h16V17H4v1.5zM16 13v1.5h4V13h-4zM5.1 15h7.8c.6 0 1.1-.5 1.1-1.1V6.1c0-.6-.5-1.1-1.1-1.1H5.1C4.5 5 4 5.5 4 6.1v7.8c0 .6.5 1.1 1.1 1.1zm.4-8.5h7V10l-1-1c-.3-.3-.8-.3-1 0l-1.6 1.5-1.2-.7c-.3-.2-.6-.2-.9 0l-1.3 1V6.5zm0 6.1l1.8-1.3 1.3.8c.3.2.7.2.9-.1l1.5-1.4 1.5 1.4v1.5h-7v-.9z"
168
- })
169
- }),
170
- title: isObjectActive ? (0, _i18n.__)('Replace image') : title,
171
- onClick: open,
172
- isActive: isObjectActive
173
- })
174
- }), isObjectActive && /*#__PURE__*/(0, _jsxRuntime.jsx)(InlineUI, {
175
- value: value,
176
- onChange: onChange,
177
- activeObjectAttributes: activeObjectAttributes,
178
- contentRef: contentRef
179
- })]
180
- });
196
+ )
197
+ }
198
+ ),
199
+ isObjectActive && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
200
+ InlineUI,
201
+ {
202
+ value,
203
+ onChange,
204
+ activeObjectAttributes,
205
+ contentRef
206
+ }
207
+ )
208
+ ] });
181
209
  }
182
- //# sourceMappingURL=index.js.map
210
+ // Annotate the CommonJS export names for ESM import in node:
211
+ 0 && (module.exports = {
212
+ image
213
+ });
214
+ //# sourceMappingURL=index.js.map
@@ -1 +1,7 @@
1
- {"version":3,"names":["_components","require","_i18n","_element","_richText","_blockEditor","_jsxRuntime","ALLOWED_MEDIA_TYPES","name","title","__","getCurrentImageId","activeObjectAttributes","_activeObjectAttribut","className","undefined","id","match","parseInt","image","exports","keywords","object","tagName","attributes","style","url","alt","edit","Edit","InlineUI","value","onChange","contentRef","width","replace","editedWidth","setEditedWidth","useState","editedAlt","setEditedAlt","hasChanged","popoverAnchor","useAnchor","editableContentElement","current","settings","jsx","Popover","placement","focusOnMount","anchor","children","onSubmit","event","newReplacements","replacements","slice","start","type","preventDefault","jsxs","__experimentalVStack","spacing","__experimentalNumberControl","__next40pxDefaultSize","label","min","newWidth","TextareaControl","__nextHasNoMarginBottom","newAlt","help","Fragment","ExternalLink","href","__experimentalHStack","justify","Button","disabled","accessibleWhenDisabled","variant","size","onFocus","isObjectActive","MediaUploadCheck","MediaUpload","allowedTypes","onSelect","imgWidth","insertObject","Math","render","open","RichTextToolbarButton","icon","SVG","xmlns","viewBox","Path","d","onClick","isActive"],"sources":["@wordpress/format-library/src/image/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tPath,\n\tSVG,\n\tPopover,\n\tButton,\n\tExternalLink,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\t__experimentalNumberControl as NumberControl,\n\tTextareaControl,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { insertObject, useAnchor } from '@wordpress/rich-text';\nimport {\n\tMediaUpload,\n\tRichTextToolbarButton,\n\tMediaUploadCheck,\n} from '@wordpress/block-editor';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nconst name = 'core/image';\nconst title = __( 'Inline image' );\n\n/**\n * Extracts the image ID from the className attribute.\n *\n * @param {Object} activeObjectAttributes The attributes of the active object.\n * @return {number|undefined} The extracted image ID or undefined if not found.\n */\nfunction getCurrentImageId( activeObjectAttributes ) {\n\tif ( ! activeObjectAttributes?.className ) {\n\t\treturn undefined;\n\t}\n\n\tconst [ , id ] =\n\t\tactiveObjectAttributes.className.match( /wp-image-(\\d+)/ ) ?? [];\n\n\treturn id ? parseInt( id, 10 ) : undefined;\n}\n\nexport const image = {\n\tname,\n\ttitle,\n\tkeywords: [ __( 'photo' ), __( 'media' ) ],\n\tobject: true,\n\ttagName: 'img',\n\tclassName: null,\n\tattributes: {\n\t\tclassName: 'class',\n\t\tstyle: 'style',\n\t\turl: 'src',\n\t\talt: 'alt',\n\t},\n\tedit: Edit,\n};\n\nfunction InlineUI( { value, onChange, activeObjectAttributes, contentRef } ) {\n\tconst { style, alt } = activeObjectAttributes;\n\tconst width = style?.replace( /\\D/g, '' );\n\tconst [ editedWidth, setEditedWidth ] = useState( width );\n\tconst [ editedAlt, setEditedAlt ] = useState( alt );\n\tconst hasChanged = editedWidth !== width || editedAlt !== alt;\n\tconst popoverAnchor = useAnchor( {\n\t\teditableContentElement: contentRef.current,\n\t\tsettings: image,\n\t} );\n\n\treturn (\n\t\t<Popover\n\t\t\tplacement=\"bottom\"\n\t\t\tfocusOnMount={ false }\n\t\t\tanchor={ popoverAnchor }\n\t\t\tclassName=\"block-editor-format-toolbar__image-popover\"\n\t\t>\n\t\t\t<form\n\t\t\t\tclassName=\"block-editor-format-toolbar__image-container-content\"\n\t\t\t\tonSubmit={ ( event ) => {\n\t\t\t\t\tconst newReplacements = value.replacements.slice();\n\n\t\t\t\t\tnewReplacements[ value.start ] = {\n\t\t\t\t\t\ttype: name,\n\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t...activeObjectAttributes,\n\t\t\t\t\t\t\tstyle: editedWidth\n\t\t\t\t\t\t\t\t? `width: ${ editedWidth }px;`\n\t\t\t\t\t\t\t\t: '',\n\t\t\t\t\t\t\talt: editedAlt,\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\n\t\t\t\t\tonChange( {\n\t\t\t\t\t\t...value,\n\t\t\t\t\t\treplacements: newReplacements,\n\t\t\t\t\t} );\n\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t\t<NumberControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\tvalue={ editedWidth }\n\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\tonChange={ ( newWidth ) => {\n\t\t\t\t\t\t\tsetEditedWidth( newWidth );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tvalue={ editedAlt }\n\t\t\t\t\t\tonChange={ ( newAlt ) => {\n\t\t\t\t\t\t\tsetEditedAlt( newAlt );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\thelp={\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\thref={\n\t\t\t\t\t\t\t\t\t\t// translators: Localized tutorial, if one exists. W3C Web Accessibility Initiative link has list of existing translations.\n\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t'https://www.w3.org/WAI/tutorials/images/decision-tree/'\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>\n\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t'Describe the purpose of the image.'\n\t\t\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<br />\n\t\t\t\t\t\t\t\t{ __( 'Leave empty if decorative.' ) }\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<HStack justify=\"right\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tdisabled={ ! hasChanged }\n\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Apply' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t</form>\n\t\t</Popover>\n\t);\n}\n\nfunction Edit( {\n\tvalue,\n\tonChange,\n\tonFocus,\n\tisObjectActive,\n\tactiveObjectAttributes,\n\tcontentRef,\n} ) {\n\treturn (\n\t\t<MediaUploadCheck>\n\t\t\t<MediaUpload\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\tvalue={ getCurrentImageId( activeObjectAttributes ) }\n\t\t\t\tonSelect={ ( { id, url, alt, width: imgWidth } ) => {\n\t\t\t\t\tonChange(\n\t\t\t\t\t\tinsertObject( value, {\n\t\t\t\t\t\t\ttype: name,\n\t\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t\tclassName: `wp-image-${ id }`,\n\t\t\t\t\t\t\t\tstyle: `width: ${ Math.min(\n\t\t\t\t\t\t\t\t\timgWidth,\n\t\t\t\t\t\t\t\t\t150\n\t\t\t\t\t\t\t\t) }px;`,\n\t\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\t\talt,\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\tonFocus();\n\t\t\t\t} }\n\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t<RichTextToolbarButton\n\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t<SVG\n\t\t\t\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Path d=\"M4 18.5h16V17H4v1.5zM16 13v1.5h4V13h-4zM5.1 15h7.8c.6 0 1.1-.5 1.1-1.1V6.1c0-.6-.5-1.1-1.1-1.1H5.1C4.5 5 4 5.5 4 6.1v7.8c0 .6.5 1.1 1.1 1.1zm.4-8.5h7V10l-1-1c-.3-.3-.8-.3-1 0l-1.6 1.5-1.2-.7c-.3-.2-.6-.2-.9 0l-1.3 1V6.5zm0 6.1l1.8-1.3 1.3.8c.3.2.7.2.9-.1l1.5-1.4 1.5 1.4v1.5h-7v-.9z\" />\n\t\t\t\t\t\t\t</SVG>\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttitle={ isObjectActive ? __( 'Replace image' ) : title }\n\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\tisActive={ isObjectActive }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t/>\n\t\t\t{ isObjectActive && (\n\t\t\t\t<InlineUI\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\tactiveObjectAttributes={ activeObjectAttributes }\n\t\t\t\t\tcontentRef={ contentRef }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</MediaUploadCheck>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../src/image/index.js"],
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport {\n\tPath,\n\tSVG,\n\tPopover,\n\tButton,\n\tExternalLink,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\t__experimentalNumberControl as NumberControl,\n\tTextareaControl,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { insertObject, useAnchor } from '@wordpress/rich-text';\nimport {\n\tMediaUpload,\n\tRichTextToolbarButton,\n\tMediaUploadCheck,\n} from '@wordpress/block-editor';\n\nconst ALLOWED_MEDIA_TYPES = [ 'image' ];\n\nconst name = 'core/image';\nconst title = __( 'Inline image' );\n\n/**\n * Extracts the image ID from the className attribute.\n *\n * @param {Object} activeObjectAttributes The attributes of the active object.\n * @return {number|undefined} The extracted image ID or undefined if not found.\n */\nfunction getCurrentImageId( activeObjectAttributes ) {\n\tif ( ! activeObjectAttributes?.className ) {\n\t\treturn undefined;\n\t}\n\n\tconst [ , id ] =\n\t\tactiveObjectAttributes.className.match( /wp-image-(\\d+)/ ) ?? [];\n\n\treturn id ? parseInt( id, 10 ) : undefined;\n}\n\nexport const image = {\n\tname,\n\ttitle,\n\tkeywords: [ __( 'photo' ), __( 'media' ) ],\n\tobject: true,\n\ttagName: 'img',\n\tclassName: null,\n\tattributes: {\n\t\tclassName: 'class',\n\t\tstyle: 'style',\n\t\turl: 'src',\n\t\talt: 'alt',\n\t},\n\tedit: Edit,\n};\n\nfunction InlineUI( { value, onChange, activeObjectAttributes, contentRef } ) {\n\tconst { style, alt } = activeObjectAttributes;\n\tconst width = style?.replace( /\\D/g, '' );\n\tconst [ editedWidth, setEditedWidth ] = useState( width );\n\tconst [ editedAlt, setEditedAlt ] = useState( alt );\n\tconst hasChanged = editedWidth !== width || editedAlt !== alt;\n\tconst popoverAnchor = useAnchor( {\n\t\teditableContentElement: contentRef.current,\n\t\tsettings: image,\n\t} );\n\n\treturn (\n\t\t<Popover\n\t\t\tplacement=\"bottom\"\n\t\t\tfocusOnMount={ false }\n\t\t\tanchor={ popoverAnchor }\n\t\t\tclassName=\"block-editor-format-toolbar__image-popover\"\n\t\t>\n\t\t\t<form\n\t\t\t\tclassName=\"block-editor-format-toolbar__image-container-content\"\n\t\t\t\tonSubmit={ ( event ) => {\n\t\t\t\t\tconst newReplacements = value.replacements.slice();\n\n\t\t\t\t\tnewReplacements[ value.start ] = {\n\t\t\t\t\t\ttype: name,\n\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t...activeObjectAttributes,\n\t\t\t\t\t\t\tstyle: editedWidth\n\t\t\t\t\t\t\t\t? `width: ${ editedWidth }px;`\n\t\t\t\t\t\t\t\t: '',\n\t\t\t\t\t\t\talt: editedAlt,\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\n\t\t\t\t\tonChange( {\n\t\t\t\t\t\t...value,\n\t\t\t\t\t\treplacements: newReplacements,\n\t\t\t\t\t} );\n\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t<VStack spacing={ 4 }>\n\t\t\t\t\t<NumberControl\n\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\tlabel={ __( 'Width' ) }\n\t\t\t\t\t\tvalue={ editedWidth }\n\t\t\t\t\t\tmin={ 1 }\n\t\t\t\t\t\tonChange={ ( newWidth ) => {\n\t\t\t\t\t\t\tsetEditedWidth( newWidth );\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t\t<TextareaControl\n\t\t\t\t\t\tlabel={ __( 'Alternative text' ) }\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tvalue={ editedAlt }\n\t\t\t\t\t\tonChange={ ( newAlt ) => {\n\t\t\t\t\t\t\tsetEditedAlt( newAlt );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\thelp={\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\thref={\n\t\t\t\t\t\t\t\t\t\t// translators: Localized tutorial, if one exists. W3C Web Accessibility Initiative link has list of existing translations.\n\t\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t\t'https://www.w3.org/WAI/tutorials/images/decision-tree/'\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>\n\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t'Describe the purpose of the image.'\n\t\t\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<br />\n\t\t\t\t\t\t\t\t{ __( 'Leave empty if decorative.' ) }\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<HStack justify=\"right\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tdisabled={ ! hasChanged }\n\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Apply' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t</form>\n\t\t</Popover>\n\t);\n}\n\nfunction Edit( {\n\tvalue,\n\tonChange,\n\tonFocus,\n\tisObjectActive,\n\tactiveObjectAttributes,\n\tcontentRef,\n} ) {\n\treturn (\n\t\t<MediaUploadCheck>\n\t\t\t<MediaUpload\n\t\t\t\tallowedTypes={ ALLOWED_MEDIA_TYPES }\n\t\t\t\tvalue={ getCurrentImageId( activeObjectAttributes ) }\n\t\t\t\tonSelect={ ( { id, url, alt, width: imgWidth } ) => {\n\t\t\t\t\tonChange(\n\t\t\t\t\t\tinsertObject( value, {\n\t\t\t\t\t\t\ttype: name,\n\t\t\t\t\t\t\tattributes: {\n\t\t\t\t\t\t\t\tclassName: `wp-image-${ id }`,\n\t\t\t\t\t\t\t\tstyle: `width: ${ Math.min(\n\t\t\t\t\t\t\t\t\timgWidth,\n\t\t\t\t\t\t\t\t\t150\n\t\t\t\t\t\t\t\t) }px;`,\n\t\t\t\t\t\t\t\turl,\n\t\t\t\t\t\t\t\talt,\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\tonFocus();\n\t\t\t\t} }\n\t\t\t\trender={ ( { open } ) => (\n\t\t\t\t\t<RichTextToolbarButton\n\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t<SVG\n\t\t\t\t\t\t\t\txmlns=\"http://www.w3.org/2000/svg\"\n\t\t\t\t\t\t\t\tviewBox=\"0 0 24 24\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Path d=\"M4 18.5h16V17H4v1.5zM16 13v1.5h4V13h-4zM5.1 15h7.8c.6 0 1.1-.5 1.1-1.1V6.1c0-.6-.5-1.1-1.1-1.1H5.1C4.5 5 4 5.5 4 6.1v7.8c0 .6.5 1.1 1.1 1.1zm.4-8.5h7V10l-1-1c-.3-.3-.8-.3-1 0l-1.6 1.5-1.2-.7c-.3-.2-.6-.2-.9 0l-1.3 1V6.5zm0 6.1l1.8-1.3 1.3.8c.3.2.7.2.9-.1l1.5-1.4 1.5 1.4v1.5h-7v-.9z\" />\n\t\t\t\t\t\t\t</SVG>\n\t\t\t\t\t\t}\n\t\t\t\t\t\ttitle={ isObjectActive ? __( 'Replace image' ) : title }\n\t\t\t\t\t\tonClick={ open }\n\t\t\t\t\t\tisActive={ isObjectActive }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t/>\n\t\t\t{ isObjectActive && (\n\t\t\t\t<InlineUI\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t\tactiveObjectAttributes={ activeObjectAttributes }\n\t\t\t\t\tcontentRef={ contentRef }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</MediaUploadCheck>\n\t);\n}\n"],
5
+ "mappings": "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",
6
+ "names": ["VStack", "NumberControl", "HStack"]
7
+ }
package/build/index.js CHANGED
@@ -1,18 +1,28 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _richText = require("@wordpress/rich-text");
5
- var _defaultFormats = _interopRequireDefault(require("./default-formats"));
6
- /**
7
- * WordPress dependencies
8
- */
9
-
10
- /**
11
- * Internal dependencies
12
- */
13
-
14
- _defaultFormats.default.forEach(({
15
- name,
16
- ...settings
17
- }) => (0, _richText.registerFormatType)(name, settings));
18
- //# sourceMappingURL=index.js.map
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __copyProps = (to, from, except, desc) => {
8
+ if (from && typeof from === "object" || typeof from === "function") {
9
+ for (let key of __getOwnPropNames(from))
10
+ if (!__hasOwnProp.call(to, key) && key !== except)
11
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
12
+ }
13
+ return to;
14
+ };
15
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
16
+ // If the importer is in node compatibility mode or this is not an ESM
17
+ // file that has been converted to a CommonJS file using a Babel-
18
+ // compatible transform (i.e. "__esModule" has not been set), then set
19
+ // "default" to the CommonJS "module.exports" for node compatibility.
20
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
21
+ mod
22
+ ));
23
+ var import_rich_text = require("@wordpress/rich-text");
24
+ var import_default_formats = __toESM(require("./default-formats"));
25
+ import_default_formats.default.forEach(
26
+ ({ name, ...settings }) => (0, import_rich_text.registerFormatType)(name, settings)
27
+ );
28
+ //# sourceMappingURL=index.js.map
@@ -1 +1,7 @@
1
- {"version":3,"names":["_richText","require","_defaultFormats","_interopRequireDefault","formats","forEach","name","settings","registerFormatType"],"sources":["@wordpress/format-library/src/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { registerFormatType } from '@wordpress/rich-text';\n\n/**\n * Internal dependencies\n */\nimport formats from './default-formats';\n\nformats.forEach( ( { name, ...settings } ) =>\n\tregisterFormatType( name, settings )\n);\n"],"mappings":";;;AAGA,IAAAA,SAAA,GAAAC,OAAA;AAKA,IAAAC,eAAA,GAAAC,sBAAA,CAAAF,OAAA;AARA;AACA;AACA;;AAGA;AACA;AACA;;AAGAG,uBAAO,CAACC,OAAO,CAAE,CAAE;EAAEC,IAAI;EAAE,GAAGC;AAAS,CAAC,KACvC,IAAAC,4BAAkB,EAAEF,IAAI,EAAEC,QAAS,CACpC,CAAC","ignoreList":[]}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/index.js"],
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { registerFormatType } from '@wordpress/rich-text';\n\n/**\n * Internal dependencies\n */\nimport formats from './default-formats';\n\nformats.forEach( ( { name, ...settings } ) =>\n\tregisterFormatType( name, settings )\n);\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;AAGA,uBAAmC;AAKnC,6BAAoB;AAEpB,uBAAAA,QAAQ;AAAA,EAAS,CAAE,EAAE,MAAM,GAAG,SAAS,UACtC,qCAAoB,MAAM,QAAS;AACpC;",
6
+ "names": ["formats"]
7
+ }
@@ -1,70 +1,81 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
1
+ var __defProp = Object.defineProperty;
2
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3
+ var __getOwnPropNames = Object.getOwnPropertyNames;
4
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
+ var __export = (target, all) => {
6
+ for (var name2 in all)
7
+ __defProp(target, name2, { get: all[name2], enumerable: true });
8
+ };
9
+ var __copyProps = (to, from, except, desc) => {
10
+ if (from && typeof from === "object" || typeof from === "function") {
11
+ for (let key of __getOwnPropNames(from))
12
+ if (!__hasOwnProp.call(to, key) && key !== except)
13
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
14
+ }
15
+ return to;
16
+ };
17
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
18
+ var italic_exports = {};
19
+ __export(italic_exports, {
20
+ italic: () => italic
5
21
  });
6
- exports.italic = void 0;
7
- var _i18n = require("@wordpress/i18n");
8
- var _richText = require("@wordpress/rich-text");
9
- var _blockEditor = require("@wordpress/block-editor");
10
- var _icons = require("@wordpress/icons");
11
- var _lockUnlock = require("../lock-unlock");
12
- var _jsxRuntime = require("react/jsx-runtime");
13
- /**
14
- * WordPress dependencies
15
- */
16
-
17
- /**
18
- * Internal dependencies
19
- */
20
-
21
- const {
22
- essentialFormatKey
23
- } = (0, _lockUnlock.unlock)(_blockEditor.privateApis);
24
- const name = 'core/italic';
25
- const title = (0, _i18n.__)('Italic');
26
- const italic = exports.italic = {
22
+ module.exports = __toCommonJS(italic_exports);
23
+ var import_jsx_runtime = require("react/jsx-runtime");
24
+ var import_i18n = require("@wordpress/i18n");
25
+ var import_rich_text = require("@wordpress/rich-text");
26
+ var import_block_editor = require("@wordpress/block-editor");
27
+ var import_icons = require("@wordpress/icons");
28
+ var import_lock_unlock = require("../lock-unlock");
29
+ const { essentialFormatKey } = (0, import_lock_unlock.unlock)(import_block_editor.privateApis);
30
+ const name = "core/italic";
31
+ const title = (0, import_i18n.__)("Italic");
32
+ const italic = {
27
33
  name,
28
34
  title,
29
- tagName: 'em',
35
+ tagName: "em",
30
36
  className: null,
31
37
  [essentialFormatKey]: true,
32
- edit({
33
- isActive,
34
- value,
35
- onChange,
36
- onFocus
37
- }) {
38
+ edit({ isActive, value, onChange, onFocus }) {
38
39
  function onToggle() {
39
- onChange((0, _richText.toggleFormat)(value, {
40
- type: name,
41
- title
42
- }));
40
+ onChange((0, import_rich_text.toggleFormat)(value, { type: name, title }));
43
41
  }
44
42
  function onClick() {
45
- onChange((0, _richText.toggleFormat)(value, {
46
- type: name
47
- }));
43
+ onChange((0, import_rich_text.toggleFormat)(value, { type: name }));
48
44
  onFocus();
49
45
  }
50
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
51
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.RichTextShortcut, {
52
- type: "primary",
53
- character: "i",
54
- onUse: onToggle
55
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.RichTextToolbarButton, {
56
- name: "italic",
57
- icon: _icons.formatItalic,
58
- title: title,
59
- onClick: onClick,
60
- isActive: isActive,
61
- shortcutType: "primary",
62
- shortcutCharacter: "i"
63
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_blockEditor.__unstableRichTextInputEvent, {
64
- inputType: "formatItalic",
65
- onInput: onToggle
66
- })]
67
- });
46
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
47
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
48
+ import_block_editor.RichTextShortcut,
49
+ {
50
+ type: "primary",
51
+ character: "i",
52
+ onUse: onToggle
53
+ }
54
+ ),
55
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
56
+ import_block_editor.RichTextToolbarButton,
57
+ {
58
+ name: "italic",
59
+ icon: import_icons.formatItalic,
60
+ title,
61
+ onClick,
62
+ isActive,
63
+ shortcutType: "primary",
64
+ shortcutCharacter: "i"
65
+ }
66
+ ),
67
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
68
+ import_block_editor.__unstableRichTextInputEvent,
69
+ {
70
+ inputType: "formatItalic",
71
+ onInput: onToggle
72
+ }
73
+ )
74
+ ] });
68
75
  }
69
76
  };
70
- //# sourceMappingURL=index.js.map
77
+ // Annotate the CommonJS export names for ESM import in node:
78
+ 0 && (module.exports = {
79
+ italic
80
+ });
81
+ //# sourceMappingURL=index.js.map