@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.
- package/build/bold/index.js +69 -58
- package/build/bold/index.js.map +7 -1
- package/build/code/index.js +62 -54
- package/build/code/index.js.map +7 -1
- package/build/default-formats.js +52 -24
- package/build/default-formats.js.map +7 -1
- package/build/image/index.js +185 -153
- package/build/image/index.js.map +7 -1
- package/build/index.js +28 -18
- package/build/index.js.map +7 -1
- package/build/italic/index.js +69 -58
- package/build/italic/index.js.map +7 -1
- package/build/keyboard/index.js +47 -36
- package/build/keyboard/index.js.map +7 -1
- package/build/language/index.js +145 -113
- package/build/language/index.js.map +7 -1
- package/build/link/css-classes-setting.js +81 -0
- package/build/link/css-classes-setting.js.map +7 -0
- package/build/link/index.js +162 -167
- package/build/link/index.js.map +7 -1
- package/build/link/inline.js +186 -174
- package/build/link/inline.js.map +7 -1
- package/build/link/use-link-instance-key.js +25 -19
- package/build/link/use-link-instance-key.js.map +7 -1
- package/build/link/utils.js +66 -115
- package/build/link/utils.js.map +7 -1
- package/build/lock-unlock.js +31 -15
- package/build/lock-unlock.js.map +7 -1
- package/build/non-breaking-space/index.js +44 -28
- package/build/non-breaking-space/index.js.map +7 -1
- package/build/strikethrough/index.js +57 -42
- package/build/strikethrough/index.js.map +7 -1
- package/build/subscript/index.js +47 -36
- package/build/subscript/index.js.map +7 -1
- package/build/superscript/index.js +47 -36
- package/build/superscript/index.js.map +7 -1
- package/build/text-color/index.js +102 -70
- package/build/text-color/index.js.map +7 -1
- package/build/text-color/inline.js +118 -116
- package/build/text-color/inline.js.map +7 -1
- package/build/underline/index.js +62 -40
- package/build/underline/index.js.map +7 -1
- package/build/unknown/index.js +51 -37
- package/build/unknown/index.js.map +7 -1
- package/build-module/bold/index.js +52 -52
- package/build-module/bold/index.js.map +7 -1
- package/build-module/code/index.js +41 -46
- package/build-module/code/index.js.map +7 -1
- package/build-module/default-formats.js +34 -19
- package/build-module/default-formats.js.map +7 -1
- package/build-module/image/index.js +174 -144
- package/build-module/image/index.js.map +7 -1
- package/build-module/index.js +6 -14
- package/build-module/index.js.map +7 -1
- package/build-module/italic/index.js +52 -52
- package/build-module/italic/index.js.map +7 -1
- package/build-module/keyboard/index.js +25 -30
- package/build-module/keyboard/index.js.map +7 -1
- package/build-module/language/index.js +128 -105
- package/build-module/language/index.js.map +7 -1
- package/build-module/link/css-classes-setting.js +67 -0
- package/build-module/link/css-classes-setting.js.map +7 -0
- package/build-module/link/index.js +128 -146
- package/build-module/link/index.js.map +7 -1
- package/build-module/link/inline.js +158 -154
- package/build-module/link/inline.js.map +7 -1
- package/build-module/link/use-link-instance-key.js +7 -14
- package/build-module/link/use-link-instance-key.js.map +7 -1
- package/build-module/link/utils.js +46 -101
- package/build-module/link/utils.js.map +7 -1
- package/build-module/lock-unlock.js +8 -7
- package/build-module/lock-unlock.js.map +7 -1
- package/build-module/non-breaking-space/index.js +22 -22
- package/build-module/non-breaking-space/index.js.map +7 -1
- package/build-module/strikethrough/index.js +38 -36
- package/build-module/strikethrough/index.js.map +7 -1
- package/build-module/subscript/index.js +25 -30
- package/build-module/subscript/index.js.map +7 -1
- package/build-module/superscript/index.js +25 -30
- package/build-module/superscript/index.js.map +7 -1
- package/build-module/text-color/index.js +72 -61
- package/build-module/text-color/index.js.map +7 -1
- package/build-module/text-color/inline.js +107 -106
- package/build-module/text-color/inline.js.map +7 -1
- package/build-module/underline/index.js +43 -34
- package/build-module/underline/index.js.map +7 -1
- package/build-module/unknown/index.js +26 -28
- package/build-module/unknown/index.js.map +7 -1
- package/build-style/style-rtl.css +0 -194
- package/build-style/style.css +0 -194
- package/package.json +21 -15
- package/src/image/style.scss +3 -0
- package/src/link/css-classes-setting.js +89 -0
- package/src/link/index.js +1 -0
- package/src/link/inline.js +19 -0
- package/src/link/style.scss +3 -0
- package/src/link/test/css-classes-setting.js +144 -0
- package/src/link/utils.js +8 -0
- package/src/style.scss +4 -4
- package/src/text-color/style.scss +2 -0
- package/build/default-formats.native.js +0 -16
- package/build/default-formats.native.js.map +0 -1
- package/build/link/index.native.js +0 -174
- package/build/link/index.native.js.map +0 -1
- package/build/link/modal-screens/link-picker-screen.native.js +0 -67
- package/build/link/modal-screens/link-picker-screen.native.js.map +0 -1
- package/build/link/modal-screens/link-settings-screen.native.js +0 -226
- package/build/link/modal-screens/link-settings-screen.native.js.map +0 -1
- package/build/link/modal-screens/screens.native.js +0 -11
- package/build/link/modal-screens/screens.native.js.map +0 -1
- package/build/link/modal.native.js +0 -53
- package/build/link/modal.native.js.map +0 -1
- package/build/text-color/index.native.js +0 -134
- package/build/text-color/index.native.js.map +0 -1
- package/build/text-color/inline.native.js +0 -150
- package/build/text-color/inline.native.js.map +0 -1
- package/build-module/default-formats.native.js +0 -10
- package/build-module/default-formats.native.js.map +0 -1
- package/build-module/link/index.native.js +0 -166
- package/build-module/link/index.native.js.map +0 -1
- package/build-module/link/modal-screens/link-picker-screen.native.js +0 -59
- package/build-module/link/modal-screens/link-picker-screen.native.js.map +0 -1
- package/build-module/link/modal-screens/link-settings-screen.native.js +0 -218
- package/build-module/link/modal-screens/link-settings-screen.native.js.map +0 -1
- package/build-module/link/modal-screens/screens.native.js +0 -5
- package/build-module/link/modal-screens/screens.native.js.map +0 -1
- package/build-module/link/modal.native.js +0 -45
- package/build-module/link/modal.native.js.map +0 -1
- package/build-module/text-color/index.native.js +0 -126
- package/build-module/text-color/index.native.js.map +0 -1
- package/build-module/text-color/inline.native.js +0 -142
- package/build-module/text-color/inline.native.js.map +0 -1
|
@@ -1,56 +1,51 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
1
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import {
|
|
3
|
+
Path,
|
|
4
|
+
SVG,
|
|
5
|
+
Popover,
|
|
6
|
+
Button,
|
|
7
|
+
ExternalLink,
|
|
8
|
+
__experimentalHStack as HStack,
|
|
9
|
+
__experimentalVStack as VStack,
|
|
10
|
+
__experimentalNumberControl as NumberControl,
|
|
11
|
+
TextareaControl
|
|
12
|
+
} from "@wordpress/components";
|
|
13
|
+
import { __ } from "@wordpress/i18n";
|
|
14
|
+
import { useState } from "@wordpress/element";
|
|
15
|
+
import { insertObject, useAnchor } from "@wordpress/rich-text";
|
|
16
|
+
import {
|
|
17
|
+
MediaUpload,
|
|
18
|
+
RichTextToolbarButton,
|
|
19
|
+
MediaUploadCheck
|
|
20
|
+
} from "@wordpress/block-editor";
|
|
21
|
+
const ALLOWED_MEDIA_TYPES = ["image"];
|
|
22
|
+
const name = "core/image";
|
|
23
|
+
const title = __("Inline image");
|
|
20
24
|
function getCurrentImageId(activeObjectAttributes) {
|
|
21
|
-
var _activeObjectAttribut;
|
|
22
25
|
if (!activeObjectAttributes?.className) {
|
|
23
|
-
return
|
|
26
|
+
return void 0;
|
|
24
27
|
}
|
|
25
|
-
const [, id] =
|
|
26
|
-
return id ? parseInt(id, 10) :
|
|
28
|
+
const [, id] = activeObjectAttributes.className.match(/wp-image-(\d+)/) ?? [];
|
|
29
|
+
return id ? parseInt(id, 10) : void 0;
|
|
27
30
|
}
|
|
28
|
-
|
|
31
|
+
const image = {
|
|
29
32
|
name,
|
|
30
33
|
title,
|
|
31
|
-
keywords: [__(
|
|
34
|
+
keywords: [__("photo"), __("media")],
|
|
32
35
|
object: true,
|
|
33
|
-
tagName:
|
|
36
|
+
tagName: "img",
|
|
34
37
|
className: null,
|
|
35
38
|
attributes: {
|
|
36
|
-
className:
|
|
37
|
-
style:
|
|
38
|
-
url:
|
|
39
|
-
alt:
|
|
39
|
+
className: "class",
|
|
40
|
+
style: "style",
|
|
41
|
+
url: "src",
|
|
42
|
+
alt: "alt"
|
|
40
43
|
},
|
|
41
44
|
edit: Edit
|
|
42
45
|
};
|
|
43
|
-
function InlineUI({
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
activeObjectAttributes,
|
|
47
|
-
contentRef
|
|
48
|
-
}) {
|
|
49
|
-
const {
|
|
50
|
-
style,
|
|
51
|
-
alt
|
|
52
|
-
} = activeObjectAttributes;
|
|
53
|
-
const width = style?.replace(/\D/g, '');
|
|
46
|
+
function InlineUI({ value, onChange, activeObjectAttributes, contentRef }) {
|
|
47
|
+
const { style, alt } = activeObjectAttributes;
|
|
48
|
+
const width = style?.replace(/\D/g, "");
|
|
54
49
|
const [editedWidth, setEditedWidth] = useState(width);
|
|
55
50
|
const [editedAlt, setEditedAlt] = useState(alt);
|
|
56
51
|
const hasChanged = editedWidth !== width || editedAlt !== alt;
|
|
@@ -58,68 +53,91 @@ function InlineUI({
|
|
|
58
53
|
editableContentElement: contentRef.current,
|
|
59
54
|
settings: image
|
|
60
55
|
});
|
|
61
|
-
return
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
className: "block-editor-format-toolbar__image-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
__next40pxDefaultSize: true,
|
|
88
|
-
label: __('Width'),
|
|
89
|
-
value: editedWidth,
|
|
90
|
-
min: 1,
|
|
91
|
-
onChange: newWidth => {
|
|
92
|
-
setEditedWidth(newWidth);
|
|
93
|
-
}
|
|
94
|
-
}), /*#__PURE__*/_jsx(TextareaControl, {
|
|
95
|
-
label: __('Alternative text'),
|
|
96
|
-
__nextHasNoMarginBottom: true,
|
|
97
|
-
value: editedAlt,
|
|
98
|
-
onChange: newAlt => {
|
|
99
|
-
setEditedAlt(newAlt);
|
|
56
|
+
return /* @__PURE__ */ jsx(
|
|
57
|
+
Popover,
|
|
58
|
+
{
|
|
59
|
+
placement: "bottom",
|
|
60
|
+
focusOnMount: false,
|
|
61
|
+
anchor: popoverAnchor,
|
|
62
|
+
className: "block-editor-format-toolbar__image-popover",
|
|
63
|
+
children: /* @__PURE__ */ jsx(
|
|
64
|
+
"form",
|
|
65
|
+
{
|
|
66
|
+
className: "block-editor-format-toolbar__image-container-content",
|
|
67
|
+
onSubmit: (event) => {
|
|
68
|
+
const newReplacements = value.replacements.slice();
|
|
69
|
+
newReplacements[value.start] = {
|
|
70
|
+
type: name,
|
|
71
|
+
attributes: {
|
|
72
|
+
...activeObjectAttributes,
|
|
73
|
+
style: editedWidth ? `width: ${editedWidth}px;` : "",
|
|
74
|
+
alt: editedAlt
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
onChange({
|
|
78
|
+
...value,
|
|
79
|
+
replacements: newReplacements
|
|
80
|
+
});
|
|
81
|
+
event.preventDefault();
|
|
100
82
|
},
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
83
|
+
children: /* @__PURE__ */ jsxs(VStack, { spacing: 4, children: [
|
|
84
|
+
/* @__PURE__ */ jsx(
|
|
85
|
+
NumberControl,
|
|
86
|
+
{
|
|
87
|
+
__next40pxDefaultSize: true,
|
|
88
|
+
label: __("Width"),
|
|
89
|
+
value: editedWidth,
|
|
90
|
+
min: 1,
|
|
91
|
+
onChange: (newWidth) => {
|
|
92
|
+
setEditedWidth(newWidth);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
),
|
|
96
|
+
/* @__PURE__ */ jsx(
|
|
97
|
+
TextareaControl,
|
|
98
|
+
{
|
|
99
|
+
label: __("Alternative text"),
|
|
100
|
+
__nextHasNoMarginBottom: true,
|
|
101
|
+
value: editedAlt,
|
|
102
|
+
onChange: (newAlt) => {
|
|
103
|
+
setEditedAlt(newAlt);
|
|
104
|
+
},
|
|
105
|
+
help: /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
106
|
+
/* @__PURE__ */ jsx(
|
|
107
|
+
ExternalLink,
|
|
108
|
+
{
|
|
109
|
+
href: (
|
|
110
|
+
// translators: Localized tutorial, if one exists. W3C Web Accessibility Initiative link has list of existing translations.
|
|
111
|
+
__(
|
|
112
|
+
"https://www.w3.org/WAI/tutorials/images/decision-tree/"
|
|
113
|
+
)
|
|
114
|
+
),
|
|
115
|
+
children: __(
|
|
116
|
+
"Describe the purpose of the image."
|
|
117
|
+
)
|
|
118
|
+
}
|
|
119
|
+
),
|
|
120
|
+
/* @__PURE__ */ jsx("br", {}),
|
|
121
|
+
__("Leave empty if decorative.")
|
|
122
|
+
] })
|
|
123
|
+
}
|
|
124
|
+
),
|
|
125
|
+
/* @__PURE__ */ jsx(HStack, { justify: "right", children: /* @__PURE__ */ jsx(
|
|
126
|
+
Button,
|
|
127
|
+
{
|
|
128
|
+
disabled: !hasChanged,
|
|
129
|
+
accessibleWhenDisabled: true,
|
|
130
|
+
variant: "primary",
|
|
131
|
+
type: "submit",
|
|
132
|
+
size: "compact",
|
|
133
|
+
children: __("Apply")
|
|
134
|
+
}
|
|
135
|
+
) })
|
|
136
|
+
] })
|
|
137
|
+
}
|
|
138
|
+
)
|
|
139
|
+
}
|
|
140
|
+
);
|
|
123
141
|
}
|
|
124
142
|
function Edit({
|
|
125
143
|
value,
|
|
@@ -129,47 +147,59 @@ function Edit({
|
|
|
129
147
|
activeObjectAttributes,
|
|
130
148
|
contentRef
|
|
131
149
|
}) {
|
|
132
|
-
return
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
url,
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
150
|
+
return /* @__PURE__ */ jsxs(MediaUploadCheck, { children: [
|
|
151
|
+
/* @__PURE__ */ jsx(
|
|
152
|
+
MediaUpload,
|
|
153
|
+
{
|
|
154
|
+
allowedTypes: ALLOWED_MEDIA_TYPES,
|
|
155
|
+
value: getCurrentImageId(activeObjectAttributes),
|
|
156
|
+
onSelect: ({ id, url, alt, width: imgWidth }) => {
|
|
157
|
+
onChange(
|
|
158
|
+
insertObject(value, {
|
|
159
|
+
type: name,
|
|
160
|
+
attributes: {
|
|
161
|
+
className: `wp-image-${id}`,
|
|
162
|
+
style: `width: ${Math.min(
|
|
163
|
+
imgWidth,
|
|
164
|
+
150
|
|
165
|
+
)}px;`,
|
|
166
|
+
url,
|
|
167
|
+
alt
|
|
168
|
+
}
|
|
169
|
+
})
|
|
170
|
+
);
|
|
171
|
+
onFocus();
|
|
172
|
+
},
|
|
173
|
+
render: ({ open }) => /* @__PURE__ */ jsx(
|
|
174
|
+
RichTextToolbarButton,
|
|
175
|
+
{
|
|
176
|
+
icon: /* @__PURE__ */ jsx(
|
|
177
|
+
SVG,
|
|
178
|
+
{
|
|
179
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
180
|
+
viewBox: "0 0 24 24",
|
|
181
|
+
children: /* @__PURE__ */ jsx(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" })
|
|
182
|
+
}
|
|
183
|
+
),
|
|
184
|
+
title: isObjectActive ? __("Replace image") : title,
|
|
185
|
+
onClick: open,
|
|
186
|
+
isActive: isObjectActive
|
|
149
187
|
}
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
title: isObjectActive ? __('Replace image') : title,
|
|
164
|
-
onClick: open,
|
|
165
|
-
isActive: isObjectActive
|
|
166
|
-
})
|
|
167
|
-
}), isObjectActive && /*#__PURE__*/_jsx(InlineUI, {
|
|
168
|
-
value: value,
|
|
169
|
-
onChange: onChange,
|
|
170
|
-
activeObjectAttributes: activeObjectAttributes,
|
|
171
|
-
contentRef: contentRef
|
|
172
|
-
})]
|
|
173
|
-
});
|
|
188
|
+
)
|
|
189
|
+
}
|
|
190
|
+
),
|
|
191
|
+
isObjectActive && /* @__PURE__ */ jsx(
|
|
192
|
+
InlineUI,
|
|
193
|
+
{
|
|
194
|
+
value,
|
|
195
|
+
onChange,
|
|
196
|
+
activeObjectAttributes,
|
|
197
|
+
contentRef
|
|
198
|
+
}
|
|
199
|
+
)
|
|
200
|
+
] });
|
|
174
201
|
}
|
|
175
|
-
|
|
202
|
+
export {
|
|
203
|
+
image
|
|
204
|
+
};
|
|
205
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1,7 @@
|
|
|
1
|
-
{"version":3,"names":["Path","SVG","Popover","Button","ExternalLink","__experimentalHStack","HStack","__experimentalVStack","VStack","__experimentalNumberControl","NumberControl","TextareaControl","__","useState","insertObject","useAnchor","MediaUpload","RichTextToolbarButton","MediaUploadCheck","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ALLOWED_MEDIA_TYPES","name","title","getCurrentImageId","activeObjectAttributes","_activeObjectAttribut","className","undefined","id","match","parseInt","image","keywords","object","tagName","attributes","style","url","alt","edit","Edit","InlineUI","value","onChange","contentRef","width","replace","editedWidth","setEditedWidth","editedAlt","setEditedAlt","hasChanged","popoverAnchor","editableContentElement","current","settings","placement","focusOnMount","anchor","children","onSubmit","event","newReplacements","replacements","slice","start","type","preventDefault","spacing","__next40pxDefaultSize","label","min","newWidth","__nextHasNoMarginBottom","newAlt","help","href","justify","disabled","accessibleWhenDisabled","variant","size","onFocus","isObjectActive","allowedTypes","onSelect","imgWidth","Math","render","open","icon","xmlns","viewBox","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": []
|
|
7
|
+
}
|
package/build-module/index.js
CHANGED
|
@@ -1,14 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
* Internal dependencies
|
|
8
|
-
*/
|
|
9
|
-
import formats from './default-formats';
|
|
10
|
-
formats.forEach(({
|
|
11
|
-
name,
|
|
12
|
-
...settings
|
|
13
|
-
}) => registerFormatType(name, settings));
|
|
14
|
-
//# sourceMappingURL=index.js.map
|
|
1
|
+
import { registerFormatType } from "@wordpress/rich-text";
|
|
2
|
+
import formats from "./default-formats";
|
|
3
|
+
formats.forEach(
|
|
4
|
+
({ name, ...settings }) => registerFormatType(name, settings)
|
|
5
|
+
);
|
|
6
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1,7 @@
|
|
|
1
|
-
{
|
|
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,SAAS,0BAA0B;AAKnC,OAAO,aAAa;AAEpB,QAAQ;AAAA,EAAS,CAAE,EAAE,MAAM,GAAG,SAAS,MACtC,mBAAoB,MAAM,QAAS;AACpC;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,63 +1,63 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
} = unlock(blockEditorPrivateApis);
|
|
17
|
-
const name = 'core/italic';
|
|
18
|
-
const title = __('Italic');
|
|
19
|
-
export const italic = {
|
|
1
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { __ } from "@wordpress/i18n";
|
|
3
|
+
import { toggleFormat } from "@wordpress/rich-text";
|
|
4
|
+
import {
|
|
5
|
+
RichTextToolbarButton,
|
|
6
|
+
RichTextShortcut,
|
|
7
|
+
__unstableRichTextInputEvent,
|
|
8
|
+
privateApis as blockEditorPrivateApis
|
|
9
|
+
} from "@wordpress/block-editor";
|
|
10
|
+
import { formatItalic } from "@wordpress/icons";
|
|
11
|
+
import { unlock } from "../lock-unlock";
|
|
12
|
+
const { essentialFormatKey } = unlock(blockEditorPrivateApis);
|
|
13
|
+
const name = "core/italic";
|
|
14
|
+
const title = __("Italic");
|
|
15
|
+
const italic = {
|
|
20
16
|
name,
|
|
21
17
|
title,
|
|
22
|
-
tagName:
|
|
18
|
+
tagName: "em",
|
|
23
19
|
className: null,
|
|
24
20
|
[essentialFormatKey]: true,
|
|
25
|
-
edit({
|
|
26
|
-
isActive,
|
|
27
|
-
value,
|
|
28
|
-
onChange,
|
|
29
|
-
onFocus
|
|
30
|
-
}) {
|
|
21
|
+
edit({ isActive, value, onChange, onFocus }) {
|
|
31
22
|
function onToggle() {
|
|
32
|
-
onChange(toggleFormat(value, {
|
|
33
|
-
type: name,
|
|
34
|
-
title
|
|
35
|
-
}));
|
|
23
|
+
onChange(toggleFormat(value, { type: name, title }));
|
|
36
24
|
}
|
|
37
25
|
function onClick() {
|
|
38
|
-
onChange(toggleFormat(value, {
|
|
39
|
-
type: name
|
|
40
|
-
}));
|
|
26
|
+
onChange(toggleFormat(value, { type: name }));
|
|
41
27
|
onFocus();
|
|
42
28
|
}
|
|
43
|
-
return
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
29
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
30
|
+
/* @__PURE__ */ jsx(
|
|
31
|
+
RichTextShortcut,
|
|
32
|
+
{
|
|
33
|
+
type: "primary",
|
|
34
|
+
character: "i",
|
|
35
|
+
onUse: onToggle
|
|
36
|
+
}
|
|
37
|
+
),
|
|
38
|
+
/* @__PURE__ */ jsx(
|
|
39
|
+
RichTextToolbarButton,
|
|
40
|
+
{
|
|
41
|
+
name: "italic",
|
|
42
|
+
icon: formatItalic,
|
|
43
|
+
title,
|
|
44
|
+
onClick,
|
|
45
|
+
isActive,
|
|
46
|
+
shortcutType: "primary",
|
|
47
|
+
shortcutCharacter: "i"
|
|
48
|
+
}
|
|
49
|
+
),
|
|
50
|
+
/* @__PURE__ */ jsx(
|
|
51
|
+
__unstableRichTextInputEvent,
|
|
52
|
+
{
|
|
53
|
+
inputType: "formatItalic",
|
|
54
|
+
onInput: onToggle
|
|
55
|
+
}
|
|
56
|
+
)
|
|
57
|
+
] });
|
|
61
58
|
}
|
|
62
59
|
};
|
|
63
|
-
|
|
60
|
+
export {
|
|
61
|
+
italic
|
|
62
|
+
};
|
|
63
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1,7 @@
|
|
|
1
|
-
{
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../../src/italic/index.js"],
|
|
4
|
+
"sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { toggleFormat } from '@wordpress/rich-text';\nimport {\n\tRichTextToolbarButton,\n\tRichTextShortcut,\n\t__unstableRichTextInputEvent,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { formatItalic } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\n\nconst { essentialFormatKey } = unlock( blockEditorPrivateApis );\n\nconst name = 'core/italic';\nconst title = __( 'Italic' );\n\nexport const italic = {\n\tname,\n\ttitle,\n\ttagName: 'em',\n\tclassName: null,\n\t[ essentialFormatKey ]: true,\n\tedit( { isActive, value, onChange, onFocus } ) {\n\t\tfunction onToggle() {\n\t\t\tonChange( toggleFormat( value, { type: name, title } ) );\n\t\t}\n\n\t\tfunction onClick() {\n\t\t\tonChange( toggleFormat( value, { type: name } ) );\n\t\t\tonFocus();\n\t\t}\n\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<RichTextShortcut\n\t\t\t\t\ttype=\"primary\"\n\t\t\t\t\tcharacter=\"i\"\n\t\t\t\t\tonUse={ onToggle }\n\t\t\t\t/>\n\t\t\t\t<RichTextToolbarButton\n\t\t\t\t\tname=\"italic\"\n\t\t\t\t\ticon={ formatItalic }\n\t\t\t\t\ttitle={ title }\n\t\t\t\t\tonClick={ onClick }\n\t\t\t\t\tisActive={ isActive }\n\t\t\t\t\tshortcutType=\"primary\"\n\t\t\t\t\tshortcutCharacter=\"i\"\n\t\t\t\t/>\n\t\t\t\t<__unstableRichTextInputEvent\n\t\t\t\t\tinputType=\"formatItalic\"\n\t\t\t\t\tonInput={ onToggle }\n\t\t\t\t/>\n\t\t\t</>\n\t\t);\n\t},\n};\n"],
|
|
5
|
+
"mappings": "AAwCG,mBACC,KADD;AArCH,SAAS,UAAU;AACnB,SAAS,oBAAoB;AAC7B;AAAA,EACC;AAAA,EACA;AAAA,EACA;AAAA,EACA,eAAe;AAAA,OACT;AACP,SAAS,oBAAoB;AAK7B,SAAS,cAAc;AAEvB,MAAM,EAAE,mBAAmB,IAAI,OAAQ,sBAAuB;AAE9D,MAAM,OAAO;AACb,MAAM,QAAQ,GAAI,QAAS;AAEpB,MAAM,SAAS;AAAA,EACrB;AAAA,EACA;AAAA,EACA,SAAS;AAAA,EACT,WAAW;AAAA,EACX,CAAE,kBAAmB,GAAG;AAAA,EACxB,KAAM,EAAE,UAAU,OAAO,UAAU,QAAQ,GAAI;AAC9C,aAAS,WAAW;AACnB,eAAU,aAAc,OAAO,EAAE,MAAM,MAAM,MAAM,CAAE,CAAE;AAAA,IACxD;AAEA,aAAS,UAAU;AAClB,eAAU,aAAc,OAAO,EAAE,MAAM,KAAK,CAAE,CAAE;AAChD,cAAQ;AAAA,IACT;AAEA,WACC,iCACC;AAAA;AAAA,QAAC;AAAA;AAAA,UACA,MAAK;AAAA,UACL,WAAU;AAAA,UACV,OAAQ;AAAA;AAAA,MACT;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACA,MAAK;AAAA,UACL,MAAO;AAAA,UACP;AAAA,UACA;AAAA,UACA;AAAA,UACA,cAAa;AAAA,UACb,mBAAkB;AAAA;AAAA,MACnB;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACA,WAAU;AAAA,UACV,SAAU;AAAA;AAAA,MACX;AAAA,OACD;AAAA,EAEF;AACD;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
|
@@ -1,41 +1,36 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
const name = 'core/keyboard';
|
|
10
|
-
const title = __('Keyboard input');
|
|
11
|
-
export const keyboard = {
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { __ } from "@wordpress/i18n";
|
|
3
|
+
import { toggleFormat } from "@wordpress/rich-text";
|
|
4
|
+
import { RichTextToolbarButton } from "@wordpress/block-editor";
|
|
5
|
+
import { button } from "@wordpress/icons";
|
|
6
|
+
const name = "core/keyboard";
|
|
7
|
+
const title = __("Keyboard input");
|
|
8
|
+
const keyboard = {
|
|
12
9
|
name,
|
|
13
10
|
title,
|
|
14
|
-
tagName:
|
|
11
|
+
tagName: "kbd",
|
|
15
12
|
className: null,
|
|
16
|
-
edit({
|
|
17
|
-
isActive,
|
|
18
|
-
value,
|
|
19
|
-
onChange,
|
|
20
|
-
onFocus
|
|
21
|
-
}) {
|
|
13
|
+
edit({ isActive, value, onChange, onFocus }) {
|
|
22
14
|
function onToggle() {
|
|
23
|
-
onChange(toggleFormat(value, {
|
|
24
|
-
type: name,
|
|
25
|
-
title
|
|
26
|
-
}));
|
|
15
|
+
onChange(toggleFormat(value, { type: name, title }));
|
|
27
16
|
}
|
|
28
17
|
function onClick() {
|
|
29
18
|
onToggle();
|
|
30
19
|
onFocus();
|
|
31
20
|
}
|
|
32
|
-
return
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
21
|
+
return /* @__PURE__ */ jsx(
|
|
22
|
+
RichTextToolbarButton,
|
|
23
|
+
{
|
|
24
|
+
icon: button,
|
|
25
|
+
title,
|
|
26
|
+
onClick,
|
|
27
|
+
isActive,
|
|
28
|
+
role: "menuitemcheckbox"
|
|
29
|
+
}
|
|
30
|
+
);
|
|
39
31
|
}
|
|
40
32
|
};
|
|
41
|
-
|
|
33
|
+
export {
|
|
34
|
+
keyboard
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=index.js.map
|