@wordpress/block-library 9.35.1-next.16d95556a.0 → 9.35.1-next.dc3f6d3c1.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 (161) hide show
  1. package/build/audio/index.js +26 -0
  2. package/build/audio/index.js.map +2 -2
  3. package/build/breadcrumbs/edit.js +1 -1
  4. package/build/breadcrumbs/edit.js.map +2 -2
  5. package/build/button/index.js +22 -0
  6. package/build/button/index.js.map +2 -2
  7. package/build/code/index.js +12 -0
  8. package/build/code/index.js.map +2 -2
  9. package/build/cover/index.js +22 -0
  10. package/build/cover/index.js.map +2 -2
  11. package/build/details/index.js +12 -0
  12. package/build/details/index.js.map +2 -2
  13. package/build/file/index.js +33 -0
  14. package/build/file/index.js.map +2 -2
  15. package/build/heading/index.js +12 -0
  16. package/build/heading/index.js.map +2 -2
  17. package/build/html/modal.js +126 -144
  18. package/build/html/modal.js.map +2 -2
  19. package/build/image/index.js +46 -0
  20. package/build/image/index.js.map +2 -2
  21. package/build/list-item/index.js +13 -0
  22. package/build/list-item/index.js.map +2 -2
  23. package/build/media-text/index.js +28 -0
  24. package/build/media-text/index.js.map +2 -2
  25. package/build/more/index.js +13 -0
  26. package/build/more/index.js.map +2 -2
  27. package/build/navigation/block.json +2 -2
  28. package/build/navigation-link/block.json +2 -1
  29. package/build/navigation-link/edit.js +6 -0
  30. package/build/navigation-link/edit.js.map +2 -2
  31. package/build/navigation-link/index.js +22 -0
  32. package/build/navigation-link/index.js.map +2 -2
  33. package/build/navigation-link/shared/controls.js +15 -19
  34. package/build/navigation-link/shared/controls.js.map +2 -2
  35. package/build/navigation-link/shared/index.js +4 -0
  36. package/build/navigation-link/shared/index.js.map +2 -2
  37. package/build/navigation-link/shared/use-entity-binding.js +3 -2
  38. package/build/navigation-link/shared/use-entity-binding.js.map +2 -2
  39. package/build/navigation-submenu/block.json +2 -1
  40. package/build/navigation-submenu/index.js +22 -0
  41. package/build/navigation-submenu/index.js.map +2 -2
  42. package/build/paragraph/index.js +12 -0
  43. package/build/paragraph/index.js.map +2 -2
  44. package/build/post-comments-count/edit.js +1 -2
  45. package/build/post-comments-count/edit.js.map +2 -2
  46. package/build/post-comments-link/edit.js +10 -7
  47. package/build/post-comments-link/edit.js.map +2 -2
  48. package/build/preformatted/index.js +12 -0
  49. package/build/preformatted/index.js.map +2 -2
  50. package/build/pullquote/index.js +20 -0
  51. package/build/pullquote/index.js.map +2 -2
  52. package/build/search/index.js +28 -0
  53. package/build/search/index.js.map +2 -2
  54. package/build/social-link/index.js +22 -0
  55. package/build/social-link/index.js.map +2 -2
  56. package/build/social-links/edit.js +1 -1
  57. package/build/social-links/edit.js.map +1 -1
  58. package/build/tabs/view.js +17 -4
  59. package/build/tabs/view.js.map +2 -2
  60. package/build/verse/index.js +12 -0
  61. package/build/verse/index.js.map +2 -2
  62. package/build/video/index.js +27 -0
  63. package/build/video/index.js.map +2 -2
  64. package/build-module/audio/index.js +26 -0
  65. package/build-module/audio/index.js.map +2 -2
  66. package/build-module/breadcrumbs/edit.js +1 -1
  67. package/build-module/breadcrumbs/edit.js.map +2 -2
  68. package/build-module/button/index.js +22 -0
  69. package/build-module/button/index.js.map +2 -2
  70. package/build-module/code/index.js +12 -0
  71. package/build-module/code/index.js.map +2 -2
  72. package/build-module/cover/index.js +22 -0
  73. package/build-module/cover/index.js.map +2 -2
  74. package/build-module/details/index.js +12 -0
  75. package/build-module/details/index.js.map +2 -2
  76. package/build-module/file/index.js +34 -1
  77. package/build-module/file/index.js.map +2 -2
  78. package/build-module/heading/index.js +12 -0
  79. package/build-module/heading/index.js.map +2 -2
  80. package/build-module/html/modal.js +127 -145
  81. package/build-module/html/modal.js.map +2 -2
  82. package/build-module/image/index.js +46 -0
  83. package/build-module/image/index.js.map +2 -2
  84. package/build-module/list-item/index.js +13 -0
  85. package/build-module/list-item/index.js.map +2 -2
  86. package/build-module/media-text/index.js +28 -0
  87. package/build-module/media-text/index.js.map +2 -2
  88. package/build-module/more/index.js +13 -0
  89. package/build-module/more/index.js.map +2 -2
  90. package/build-module/navigation/block.json +2 -2
  91. package/build-module/navigation-link/block.json +2 -1
  92. package/build-module/navigation-link/edit.js +20 -4
  93. package/build-module/navigation-link/edit.js.map +2 -2
  94. package/build-module/navigation-link/index.js +23 -1
  95. package/build-module/navigation-link/index.js.map +2 -2
  96. package/build-module/navigation-link/shared/controls.js +12 -18
  97. package/build-module/navigation-link/shared/controls.js.map +2 -2
  98. package/build-module/navigation-link/shared/index.js +3 -1
  99. package/build-module/navigation-link/shared/index.js.map +2 -2
  100. package/build-module/navigation-link/shared/use-entity-binding.js +3 -2
  101. package/build-module/navigation-link/shared/use-entity-binding.js.map +2 -2
  102. package/build-module/navigation-submenu/block.json +2 -1
  103. package/build-module/navigation-submenu/index.js +23 -1
  104. package/build-module/navigation-submenu/index.js.map +2 -2
  105. package/build-module/paragraph/index.js +12 -0
  106. package/build-module/paragraph/index.js.map +2 -2
  107. package/build-module/post-comments-count/edit.js +1 -3
  108. package/build-module/post-comments-count/edit.js.map +2 -2
  109. package/build-module/post-comments-link/edit.js +10 -8
  110. package/build-module/post-comments-link/edit.js.map +2 -2
  111. package/build-module/preformatted/index.js +12 -0
  112. package/build-module/preformatted/index.js.map +2 -2
  113. package/build-module/pullquote/index.js +20 -0
  114. package/build-module/pullquote/index.js.map +2 -2
  115. package/build-module/search/index.js +28 -0
  116. package/build-module/search/index.js.map +2 -2
  117. package/build-module/social-link/index.js +22 -0
  118. package/build-module/social-link/index.js.map +2 -2
  119. package/build-module/social-links/edit.js +1 -1
  120. package/build-module/social-links/edit.js.map +1 -1
  121. package/build-module/tabs/view.js +17 -4
  122. package/build-module/tabs/view.js.map +2 -2
  123. package/build-module/verse/index.js +12 -0
  124. package/build-module/verse/index.js.map +2 -2
  125. package/build-module/video/index.js +27 -0
  126. package/build-module/video/index.js.map +2 -2
  127. package/package.json +37 -37
  128. package/src/audio/index.js +27 -0
  129. package/src/breadcrumbs/edit.js +4 -2
  130. package/src/breadcrumbs/index.php +112 -30
  131. package/src/button/index.js +23 -0
  132. package/src/code/index.js +13 -0
  133. package/src/cover/index.js +23 -0
  134. package/src/details/index.js +13 -0
  135. package/src/file/index.js +35 -1
  136. package/src/heading/index.js +13 -0
  137. package/src/html/modal.js +8 -28
  138. package/src/image/index.js +47 -0
  139. package/src/list-item/index.js +14 -0
  140. package/src/media-text/index.js +29 -0
  141. package/src/more/index.js +14 -0
  142. package/src/navigation/block.json +2 -2
  143. package/src/navigation-link/block.json +2 -1
  144. package/src/navigation-link/edit.js +27 -4
  145. package/src/navigation-link/index.js +24 -1
  146. package/src/navigation-link/shared/controls.js +13 -17
  147. package/src/navigation-link/shared/index.js +1 -1
  148. package/src/navigation-link/shared/use-entity-binding.js +5 -2
  149. package/src/navigation-submenu/block.json +2 -1
  150. package/src/navigation-submenu/index.js +24 -1
  151. package/src/paragraph/index.js +13 -0
  152. package/src/post-comments-count/edit.js +1 -9
  153. package/src/post-comments-link/edit.js +8 -18
  154. package/src/preformatted/index.js +13 -0
  155. package/src/pullquote/index.js +21 -0
  156. package/src/search/index.js +29 -0
  157. package/src/social-link/index.js +23 -0
  158. package/src/social-links/edit.js +1 -1
  159. package/src/tabs/view.js +19 -4
  160. package/src/verse/index.js +13 -0
  161. package/src/video/index.js +28 -0
@@ -57,23 +57,13 @@ function HTMLEditModal({
57
57
  const [isDirty, setIsDirty] = (0, import_element.useState)(false);
58
58
  const [showUnsavedWarning, setShowUnsavedWarning] = (0, import_element.useState)(false);
59
59
  const [isFullscreen, setIsFullscreen] = (0, import_element.useState)(false);
60
- const { canUserUseUnfilteredHTML, editorStyles } = (0, import_data.useSelect)(
61
- (select) => {
62
- const settings = select(import_block_editor.store).getSettings();
63
- return {
64
- canUserUseUnfilteredHTML: settings.__experimentalCanUserUseUnfilteredHTML,
65
- editorStyles: settings.styles
66
- };
67
- },
68
- []
69
- );
60
+ const { canUserUseUnfilteredHTML } = (0, import_data.useSelect)((select) => {
61
+ const settings = select(import_block_editor.store).getSettings();
62
+ return {
63
+ canUserUseUnfilteredHTML: settings.__experimentalCanUserUseUnfilteredHTML
64
+ };
65
+ }, []);
70
66
  const shouldShowJsTab = canUserUseUnfilteredHTML || js.trim() !== "";
71
- const styleContent = (0, import_element.useMemo)(() => {
72
- if (!editorStyles) {
73
- return "";
74
- }
75
- return editorStyles.filter((style) => style.css).map((style) => style.css).join("\n");
76
- }, [editorStyles]);
77
67
  if (!isOpen) {
78
68
  return null;
79
69
  }
@@ -125,7 +115,7 @@ function HTMLEditModal({
125
115
  setIsFullscreen((prevState) => !prevState);
126
116
  };
127
117
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
128
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
118
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
129
119
  import_components.Modal,
130
120
  {
131
121
  title: (0, import_i18n.__)("Edit HTML"),
@@ -137,148 +127,140 @@ function HTMLEditModal({
137
127
  shouldCloseOnEsc: !isDirty,
138
128
  isFullScreen: isFullscreen,
139
129
  __experimentalHideHeader: true,
140
- children: [
141
- styleContent && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
142
- "style",
143
- {
144
- dangerouslySetInnerHTML: { __html: styleContent }
145
- }
146
- ),
147
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Tabs, { orientation: "horizontal", defaultTabId: "html", children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_components.__experimentalVStack, { spacing: 4, style: { height: "100%" }, children: [
148
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_components.__experimentalHStack, { justify: "space-between", children: [
149
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Tabs.TabList, { children: [
150
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Tabs.Tab, { tabId: "html", children: "HTML" }),
151
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Tabs.Tab, { tabId: "css", children: "CSS" }),
152
- shouldShowJsTab && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Tabs.Tab, { tabId: "js", children: (0, import_i18n.__)("JavaScript") })
153
- ] }) }),
154
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
155
- import_components.Button,
156
- {
157
- __next40pxDefaultSize: true,
158
- icon: isFullscreen ? import_icons.square : import_icons.fullscreen,
159
- label: (0, import_i18n.__)("Enable/disable fullscreen"),
160
- onClick: toggleFullscreen,
161
- variant: "tertiary"
162
- }
163
- ) })
164
- ] }),
165
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
166
- import_components.__experimentalHStack,
130
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Tabs, { orientation: "horizontal", defaultTabId: "html", children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_components.__experimentalVStack, { spacing: 4, style: { height: "100%" }, children: [
131
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_components.__experimentalHStack, { justify: "space-between", children: [
132
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Tabs.TabList, { children: [
133
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Tabs.Tab, { tabId: "html", children: "HTML" }),
134
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Tabs.Tab, { tabId: "css", children: "CSS" }),
135
+ shouldShowJsTab && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Tabs.Tab, { tabId: "js", children: (0, import_i18n.__)("JavaScript") })
136
+ ] }) }),
137
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
138
+ import_components.Button,
167
139
  {
168
- alignment: "stretch",
169
- justify: "flex-start",
170
- spacing: 4,
171
- className: "block-library-html__modal-tabs",
172
- style: { flexGrow: 1 },
173
- children: [
174
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { style: { flexGrow: 1 }, children: [
175
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
176
- Tabs.TabPanel,
177
- {
178
- tabId: "html",
179
- focusable: false,
180
- className: "block-library-html__modal-tab",
181
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
182
- import_block_editor.PlainText,
183
- {
184
- value: editedHtml,
185
- onChange: handleHtmlChange,
186
- placeholder: (0, import_i18n.__)("Write HTML\u2026"),
187
- "aria-label": (0, import_i18n.__)("HTML"),
188
- className: "block-library-html__modal-editor"
189
- }
190
- )
191
- }
192
- ),
193
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
194
- Tabs.TabPanel,
195
- {
196
- tabId: "css",
197
- focusable: false,
198
- className: "block-library-html__modal-tab",
199
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
200
- import_block_editor.PlainText,
201
- {
202
- value: editedCss,
203
- onChange: handleCssChange,
204
- placeholder: (0, import_i18n.__)("Write CSS\u2026"),
205
- "aria-label": (0, import_i18n.__)("CSS"),
206
- className: "block-library-html__modal-editor"
207
- }
208
- )
209
- }
210
- ),
211
- shouldShowJsTab && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
212
- Tabs.TabPanel,
213
- {
214
- tabId: "js",
215
- focusable: false,
216
- className: "block-library-html__modal-tab",
217
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
218
- import_block_editor.PlainText,
219
- {
220
- value: editedJs,
221
- onChange: handleJsChange,
222
- placeholder: (0, import_i18n.__)(
223
- "Write JavaScript\u2026"
224
- ),
225
- "aria-label": (0, import_i18n.__)("JavaScript"),
226
- className: "block-library-html__modal-editor"
227
- }
228
- )
229
- }
230
- )
231
- ] }),
140
+ __next40pxDefaultSize: true,
141
+ icon: isFullscreen ? import_icons.square : import_icons.fullscreen,
142
+ label: (0, import_i18n.__)("Enable/disable fullscreen"),
143
+ onClick: toggleFullscreen,
144
+ variant: "tertiary"
145
+ }
146
+ ) })
147
+ ] }),
148
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
149
+ import_components.__experimentalHStack,
150
+ {
151
+ alignment: "stretch",
152
+ justify: "flex-start",
153
+ spacing: 4,
154
+ className: "block-library-html__modal-tabs",
155
+ style: { flexGrow: 1 },
156
+ children: [
157
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { style: { flexGrow: 1 }, children: [
232
158
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
233
- "div",
159
+ Tabs.TabPanel,
234
160
  {
235
- className: "block-library-html__preview",
236
- style: { width: "50%" },
161
+ tabId: "html",
162
+ focusable: false,
163
+ className: "block-library-html__modal-tab",
237
164
  children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
238
- import_preview.default,
165
+ import_block_editor.PlainText,
239
166
  {
240
- content: (0, import_utils.serializeContent)({
241
- html: editedHtml,
242
- css: editedCss,
243
- js: editedJs
244
- })
167
+ value: editedHtml,
168
+ onChange: handleHtmlChange,
169
+ placeholder: (0, import_i18n.__)("Write HTML\u2026"),
170
+ "aria-label": (0, import_i18n.__)("HTML"),
171
+ className: "block-library-html__modal-editor"
245
172
  }
246
173
  )
247
174
  }
248
- )
249
- ]
250
- }
251
- ),
252
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
253
- import_components.__experimentalHStack,
254
- {
255
- alignment: "center",
256
- justify: "flex-end",
257
- spacing: 4,
258
- children: [
175
+ ),
259
176
  /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
260
- import_components.Button,
177
+ Tabs.TabPanel,
261
178
  {
262
- __next40pxDefaultSize: true,
263
- variant: "tertiary",
264
- onClick: handleCancel,
265
- children: (0, import_i18n.__)("Cancel")
179
+ tabId: "css",
180
+ focusable: false,
181
+ className: "block-library-html__modal-tab",
182
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
183
+ import_block_editor.PlainText,
184
+ {
185
+ value: editedCss,
186
+ onChange: handleCssChange,
187
+ placeholder: (0, import_i18n.__)("Write CSS\u2026"),
188
+ "aria-label": (0, import_i18n.__)("CSS"),
189
+ className: "block-library-html__modal-editor"
190
+ }
191
+ )
266
192
  }
267
193
  ),
268
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
269
- import_components.Button,
194
+ shouldShowJsTab && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
195
+ Tabs.TabPanel,
270
196
  {
271
- __next40pxDefaultSize: true,
272
- variant: "primary",
273
- onClick: handleUpdateAndClose,
274
- children: (0, import_i18n.__)("Update")
197
+ tabId: "js",
198
+ focusable: false,
199
+ className: "block-library-html__modal-tab",
200
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
201
+ import_block_editor.PlainText,
202
+ {
203
+ value: editedJs,
204
+ onChange: handleJsChange,
205
+ placeholder: (0, import_i18n.__)(
206
+ "Write JavaScript\u2026"
207
+ ),
208
+ "aria-label": (0, import_i18n.__)("JavaScript"),
209
+ className: "block-library-html__modal-editor"
210
+ }
211
+ )
275
212
  }
276
213
  )
277
- ]
278
- }
279
- )
280
- ] }) })
281
- ]
214
+ ] }),
215
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
216
+ "div",
217
+ {
218
+ className: "block-library-html__preview",
219
+ style: { width: "50%" },
220
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
221
+ import_preview.default,
222
+ {
223
+ content: (0, import_utils.serializeContent)({
224
+ html: editedHtml,
225
+ css: editedCss,
226
+ js: editedJs
227
+ })
228
+ }
229
+ )
230
+ }
231
+ )
232
+ ]
233
+ }
234
+ ),
235
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
236
+ import_components.__experimentalHStack,
237
+ {
238
+ alignment: "center",
239
+ justify: "flex-end",
240
+ spacing: 4,
241
+ children: [
242
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
243
+ import_components.Button,
244
+ {
245
+ __next40pxDefaultSize: true,
246
+ variant: "tertiary",
247
+ onClick: handleCancel,
248
+ children: (0, import_i18n.__)("Cancel")
249
+ }
250
+ ),
251
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
252
+ import_components.Button,
253
+ {
254
+ __next40pxDefaultSize: true,
255
+ variant: "primary",
256
+ onClick: handleUpdateAndClose,
257
+ children: (0, import_i18n.__)("Update")
258
+ }
259
+ )
260
+ ]
261
+ }
262
+ )
263
+ ] }) })
282
264
  }
283
265
  ),
284
266
  showUnsavedWarning && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/html/modal.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useState, useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport {\n\tModal,\n\tButton,\n\tFlex,\n\tprivateApis as componentsPrivateApis,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { PlainText, store as blockEditorStore } from '@wordpress/block-editor';\nimport { fullscreen, square } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\nimport Preview from './preview';\nimport { parseContent, serializeContent } from './utils';\n\nconst { Tabs } = unlock( componentsPrivateApis );\n\nexport default function HTMLEditModal( {\n\tisOpen,\n\tonRequestClose,\n\tcontent,\n\tsetAttributes,\n} ) {\n\t// Parse content into separate sections and use as initial state\n\tconst { html, css, js } = parseContent( content );\n\tconst [ editedHtml, setEditedHtml ] = useState( html );\n\tconst [ editedCss, setEditedCss ] = useState( css );\n\tconst [ editedJs, setEditedJs ] = useState( js );\n\tconst [ isDirty, setIsDirty ] = useState( false );\n\tconst [ showUnsavedWarning, setShowUnsavedWarning ] = useState( false );\n\tconst [ isFullscreen, setIsFullscreen ] = useState( false );\n\n\t// Check if user has permission to save scripts and get editor styles\n\tconst { canUserUseUnfilteredHTML, editorStyles } = useSelect(\n\t\t( select ) => {\n\t\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\t\treturn {\n\t\t\t\tcanUserUseUnfilteredHTML:\n\t\t\t\t\tsettings.__experimentalCanUserUseUnfilteredHTML,\n\t\t\t\teditorStyles: settings.styles,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\t// Show JS tab if user has permission OR if block contains JavaScript\n\tconst shouldShowJsTab = canUserUseUnfilteredHTML || js.trim() !== '';\n\n\t// Combine all editor styles to inject into modal\n\tconst styleContent = useMemo( () => {\n\t\tif ( ! editorStyles ) {\n\t\t\treturn '';\n\t\t}\n\t\treturn editorStyles\n\t\t\t.filter( ( style ) => style.css )\n\t\t\t.map( ( style ) => style.css )\n\t\t\t.join( '\\n' );\n\t}, [ editorStyles ] );\n\n\tif ( ! isOpen ) {\n\t\treturn null;\n\t}\n\n\tconst handleHtmlChange = ( value ) => {\n\t\tsetEditedHtml( value );\n\t\tsetIsDirty( true );\n\t};\n\tconst handleCssChange = ( value ) => {\n\t\tsetEditedCss( value );\n\t\tsetIsDirty( true );\n\t};\n\tconst handleJsChange = ( value ) => {\n\t\tsetEditedJs( value );\n\t\tsetIsDirty( true );\n\t};\n\tconst handleUpdate = () => {\n\t\tsetAttributes( {\n\t\t\tcontent: serializeContent( {\n\t\t\t\thtml: editedHtml,\n\t\t\t\tcss: editedCss,\n\t\t\t\tjs: editedJs,\n\t\t\t} ),\n\t\t} );\n\t\tsetIsDirty( false );\n\t};\n\tconst handleCancel = () => {\n\t\tsetIsDirty( false );\n\t\tonRequestClose();\n\t};\n\tconst handleRequestClose = () => {\n\t\tif ( isDirty ) {\n\t\t\tsetShowUnsavedWarning( true );\n\t\t} else {\n\t\t\tonRequestClose();\n\t\t}\n\t};\n\tconst handleDiscardChanges = () => {\n\t\tsetShowUnsavedWarning( false );\n\t\tonRequestClose();\n\t};\n\tconst handleContinueEditing = () => {\n\t\tsetShowUnsavedWarning( false );\n\t};\n\tconst handleUpdateAndClose = () => {\n\t\thandleUpdate();\n\t\tonRequestClose();\n\t};\n\tconst toggleFullscreen = () => {\n\t\tsetIsFullscreen( ( prevState ) => ! prevState );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<Modal\n\t\t\t\ttitle={ __( 'Edit HTML' ) }\n\t\t\t\tonRequestClose={ handleRequestClose }\n\t\t\t\tclassName=\"block-library-html__modal\"\n\t\t\t\tsize=\"large\"\n\t\t\t\tisDismissible={ false }\n\t\t\t\tshouldCloseOnClickOutside={ ! isDirty }\n\t\t\t\tshouldCloseOnEsc={ ! isDirty }\n\t\t\t\tisFullScreen={ isFullscreen }\n\t\t\t\t__experimentalHideHeader\n\t\t\t>\n\t\t\t\t{ styleContent && (\n\t\t\t\t\t<style\n\t\t\t\t\t\tdangerouslySetInnerHTML={ { __html: styleContent } }\n\t\t\t\t\t/>\n\t\t\t\t) }\n\t\t\t\t<Tabs orientation=\"horizontal\" defaultTabId=\"html\">\n\t\t\t\t\t<VStack spacing={ 4 } style={ { height: '100%' } }>\n\t\t\t\t\t\t<HStack justify=\"space-between\">\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t<Tabs.TabList>\n\t\t\t\t\t\t\t\t\t<Tabs.Tab tabId=\"html\">HTML</Tabs.Tab>\n\t\t\t\t\t\t\t\t\t<Tabs.Tab tabId=\"css\">CSS</Tabs.Tab>\n\t\t\t\t\t\t\t\t\t{ shouldShowJsTab && (\n\t\t\t\t\t\t\t\t\t\t<Tabs.Tab tabId=\"js\">\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'JavaScript' ) }\n\t\t\t\t\t\t\t\t\t\t</Tabs.Tab>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</Tabs.TabList>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\ticon={ isFullscreen ? square : fullscreen }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Enable/disable fullscreen' ) }\n\t\t\t\t\t\t\t\t\tonClick={ toggleFullscreen }\n\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t<HStack\n\t\t\t\t\t\t\talignment=\"stretch\"\n\t\t\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\t\t\tspacing={ 4 }\n\t\t\t\t\t\t\tclassName=\"block-library-html__modal-tabs\"\n\t\t\t\t\t\t\tstyle={ { flexGrow: 1 } }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div style={ { flexGrow: 1 } }>\n\t\t\t\t\t\t\t\t<Tabs.TabPanel\n\t\t\t\t\t\t\t\t\ttabId=\"html\"\n\t\t\t\t\t\t\t\t\tfocusable={ false }\n\t\t\t\t\t\t\t\t\tclassName=\"block-library-html__modal-tab\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<PlainText\n\t\t\t\t\t\t\t\t\t\tvalue={ editedHtml }\n\t\t\t\t\t\t\t\t\t\tonChange={ handleHtmlChange }\n\t\t\t\t\t\t\t\t\t\tplaceholder={ __( 'Write HTML\u2026' ) }\n\t\t\t\t\t\t\t\t\t\taria-label={ __( 'HTML' ) }\n\t\t\t\t\t\t\t\t\t\tclassName=\"block-library-html__modal-editor\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</Tabs.TabPanel>\n\t\t\t\t\t\t\t\t<Tabs.TabPanel\n\t\t\t\t\t\t\t\t\ttabId=\"css\"\n\t\t\t\t\t\t\t\t\tfocusable={ false }\n\t\t\t\t\t\t\t\t\tclassName=\"block-library-html__modal-tab\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<PlainText\n\t\t\t\t\t\t\t\t\t\tvalue={ editedCss }\n\t\t\t\t\t\t\t\t\t\tonChange={ handleCssChange }\n\t\t\t\t\t\t\t\t\t\tplaceholder={ __( 'Write CSS\u2026' ) }\n\t\t\t\t\t\t\t\t\t\taria-label={ __( 'CSS' ) }\n\t\t\t\t\t\t\t\t\t\tclassName=\"block-library-html__modal-editor\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</Tabs.TabPanel>\n\t\t\t\t\t\t\t\t{ shouldShowJsTab && (\n\t\t\t\t\t\t\t\t\t<Tabs.TabPanel\n\t\t\t\t\t\t\t\t\t\ttabId=\"js\"\n\t\t\t\t\t\t\t\t\t\tfocusable={ false }\n\t\t\t\t\t\t\t\t\t\tclassName=\"block-library-html__modal-tab\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<PlainText\n\t\t\t\t\t\t\t\t\t\t\tvalue={ editedJs }\n\t\t\t\t\t\t\t\t\t\t\tonChange={ handleJsChange }\n\t\t\t\t\t\t\t\t\t\t\tplaceholder={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Write JavaScript\u2026'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\taria-label={ __( 'JavaScript' ) }\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"block-library-html__modal-editor\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</Tabs.TabPanel>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"block-library-html__preview\"\n\t\t\t\t\t\t\t\tstyle={ { width: '50%' } }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Preview\n\t\t\t\t\t\t\t\t\tcontent={ serializeContent( {\n\t\t\t\t\t\t\t\t\t\thtml: editedHtml,\n\t\t\t\t\t\t\t\t\t\tcss: editedCss,\n\t\t\t\t\t\t\t\t\t\tjs: editedJs,\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</div>\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t<HStack\n\t\t\t\t\t\t\talignment=\"center\"\n\t\t\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t\t\t\tspacing={ 4 }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\tonClick={ handleCancel }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tonClick={ handleUpdateAndClose }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Update' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t</VStack>\n\t\t\t\t</Tabs>\n\t\t\t</Modal>\n\n\t\t\t{ showUnsavedWarning && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={ __( 'Unsaved changes' ) }\n\t\t\t\t\tonRequestClose={ handleContinueEditing }\n\t\t\t\t\tsize=\"medium\"\n\t\t\t\t>\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'You have unsaved changes. What would you like to do?'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\t\t\t\t\t<Flex direction=\"row\" justify=\"flex-end\" gap={ 2 }>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tonClick={ handleDiscardChanges }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Discard unsaved changes' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tonClick={ handleContinueEditing }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Continue editing' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tonClick={ handleUpdateAndClose }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Update and close' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</Flex>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useState } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport {\n\tModal,\n\tButton,\n\tFlex,\n\tprivateApis as componentsPrivateApis,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\nimport { PlainText, store as blockEditorStore } from '@wordpress/block-editor';\nimport { fullscreen, square } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\nimport Preview from './preview';\nimport { parseContent, serializeContent } from './utils';\n\nconst { Tabs } = unlock( componentsPrivateApis );\n\nexport default function HTMLEditModal( {\n\tisOpen,\n\tonRequestClose,\n\tcontent,\n\tsetAttributes,\n} ) {\n\t// Parse content into separate sections and use as initial state\n\tconst { html, css, js } = parseContent( content );\n\tconst [ editedHtml, setEditedHtml ] = useState( html );\n\tconst [ editedCss, setEditedCss ] = useState( css );\n\tconst [ editedJs, setEditedJs ] = useState( js );\n\tconst [ isDirty, setIsDirty ] = useState( false );\n\tconst [ showUnsavedWarning, setShowUnsavedWarning ] = useState( false );\n\tconst [ isFullscreen, setIsFullscreen ] = useState( false );\n\n\t// Check if user has permission to save scripts and get editor styles\n\tconst { canUserUseUnfilteredHTML } = useSelect( ( select ) => {\n\t\tconst settings = select( blockEditorStore ).getSettings();\n\t\treturn {\n\t\t\tcanUserUseUnfilteredHTML:\n\t\t\t\tsettings.__experimentalCanUserUseUnfilteredHTML,\n\t\t};\n\t}, [] );\n\n\t// Show JS tab if user has permission OR if block contains JavaScript\n\tconst shouldShowJsTab = canUserUseUnfilteredHTML || js.trim() !== '';\n\n\tif ( ! isOpen ) {\n\t\treturn null;\n\t}\n\n\tconst handleHtmlChange = ( value ) => {\n\t\tsetEditedHtml( value );\n\t\tsetIsDirty( true );\n\t};\n\tconst handleCssChange = ( value ) => {\n\t\tsetEditedCss( value );\n\t\tsetIsDirty( true );\n\t};\n\tconst handleJsChange = ( value ) => {\n\t\tsetEditedJs( value );\n\t\tsetIsDirty( true );\n\t};\n\tconst handleUpdate = () => {\n\t\tsetAttributes( {\n\t\t\tcontent: serializeContent( {\n\t\t\t\thtml: editedHtml,\n\t\t\t\tcss: editedCss,\n\t\t\t\tjs: editedJs,\n\t\t\t} ),\n\t\t} );\n\t\tsetIsDirty( false );\n\t};\n\tconst handleCancel = () => {\n\t\tsetIsDirty( false );\n\t\tonRequestClose();\n\t};\n\tconst handleRequestClose = () => {\n\t\tif ( isDirty ) {\n\t\t\tsetShowUnsavedWarning( true );\n\t\t} else {\n\t\t\tonRequestClose();\n\t\t}\n\t};\n\tconst handleDiscardChanges = () => {\n\t\tsetShowUnsavedWarning( false );\n\t\tonRequestClose();\n\t};\n\tconst handleContinueEditing = () => {\n\t\tsetShowUnsavedWarning( false );\n\t};\n\tconst handleUpdateAndClose = () => {\n\t\thandleUpdate();\n\t\tonRequestClose();\n\t};\n\tconst toggleFullscreen = () => {\n\t\tsetIsFullscreen( ( prevState ) => ! prevState );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t<Modal\n\t\t\t\ttitle={ __( 'Edit HTML' ) }\n\t\t\t\tonRequestClose={ handleRequestClose }\n\t\t\t\tclassName=\"block-library-html__modal\"\n\t\t\t\tsize=\"large\"\n\t\t\t\tisDismissible={ false }\n\t\t\t\tshouldCloseOnClickOutside={ ! isDirty }\n\t\t\t\tshouldCloseOnEsc={ ! isDirty }\n\t\t\t\tisFullScreen={ isFullscreen }\n\t\t\t\t__experimentalHideHeader\n\t\t\t>\n\t\t\t\t<Tabs orientation=\"horizontal\" defaultTabId=\"html\">\n\t\t\t\t\t<VStack spacing={ 4 } style={ { height: '100%' } }>\n\t\t\t\t\t\t<HStack justify=\"space-between\">\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t<Tabs.TabList>\n\t\t\t\t\t\t\t\t\t<Tabs.Tab tabId=\"html\">HTML</Tabs.Tab>\n\t\t\t\t\t\t\t\t\t<Tabs.Tab tabId=\"css\">CSS</Tabs.Tab>\n\t\t\t\t\t\t\t\t\t{ shouldShowJsTab && (\n\t\t\t\t\t\t\t\t\t\t<Tabs.Tab tabId=\"js\">\n\t\t\t\t\t\t\t\t\t\t\t{ __( 'JavaScript' ) }\n\t\t\t\t\t\t\t\t\t\t</Tabs.Tab>\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</Tabs.TabList>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\ticon={ isFullscreen ? square : fullscreen }\n\t\t\t\t\t\t\t\t\tlabel={ __( 'Enable/disable fullscreen' ) }\n\t\t\t\t\t\t\t\t\tonClick={ toggleFullscreen }\n\t\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t<HStack\n\t\t\t\t\t\t\talignment=\"stretch\"\n\t\t\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\t\t\tspacing={ 4 }\n\t\t\t\t\t\t\tclassName=\"block-library-html__modal-tabs\"\n\t\t\t\t\t\t\tstyle={ { flexGrow: 1 } }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<div style={ { flexGrow: 1 } }>\n\t\t\t\t\t\t\t\t<Tabs.TabPanel\n\t\t\t\t\t\t\t\t\ttabId=\"html\"\n\t\t\t\t\t\t\t\t\tfocusable={ false }\n\t\t\t\t\t\t\t\t\tclassName=\"block-library-html__modal-tab\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<PlainText\n\t\t\t\t\t\t\t\t\t\tvalue={ editedHtml }\n\t\t\t\t\t\t\t\t\t\tonChange={ handleHtmlChange }\n\t\t\t\t\t\t\t\t\t\tplaceholder={ __( 'Write HTML\u2026' ) }\n\t\t\t\t\t\t\t\t\t\taria-label={ __( 'HTML' ) }\n\t\t\t\t\t\t\t\t\t\tclassName=\"block-library-html__modal-editor\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</Tabs.TabPanel>\n\t\t\t\t\t\t\t\t<Tabs.TabPanel\n\t\t\t\t\t\t\t\t\ttabId=\"css\"\n\t\t\t\t\t\t\t\t\tfocusable={ false }\n\t\t\t\t\t\t\t\t\tclassName=\"block-library-html__modal-tab\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<PlainText\n\t\t\t\t\t\t\t\t\t\tvalue={ editedCss }\n\t\t\t\t\t\t\t\t\t\tonChange={ handleCssChange }\n\t\t\t\t\t\t\t\t\t\tplaceholder={ __( 'Write CSS\u2026' ) }\n\t\t\t\t\t\t\t\t\t\taria-label={ __( 'CSS' ) }\n\t\t\t\t\t\t\t\t\t\tclassName=\"block-library-html__modal-editor\"\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</Tabs.TabPanel>\n\t\t\t\t\t\t\t\t{ shouldShowJsTab && (\n\t\t\t\t\t\t\t\t\t<Tabs.TabPanel\n\t\t\t\t\t\t\t\t\t\ttabId=\"js\"\n\t\t\t\t\t\t\t\t\t\tfocusable={ false }\n\t\t\t\t\t\t\t\t\t\tclassName=\"block-library-html__modal-tab\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<PlainText\n\t\t\t\t\t\t\t\t\t\t\tvalue={ editedJs }\n\t\t\t\t\t\t\t\t\t\t\tonChange={ handleJsChange }\n\t\t\t\t\t\t\t\t\t\t\tplaceholder={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t'Write JavaScript\u2026'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\taria-label={ __( 'JavaScript' ) }\n\t\t\t\t\t\t\t\t\t\t\tclassName=\"block-library-html__modal-editor\"\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</Tabs.TabPanel>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</div>\n\t\t\t\t\t\t\t<div\n\t\t\t\t\t\t\t\tclassName=\"block-library-html__preview\"\n\t\t\t\t\t\t\t\tstyle={ { width: '50%' } }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Preview\n\t\t\t\t\t\t\t\t\tcontent={ serializeContent( {\n\t\t\t\t\t\t\t\t\t\thtml: editedHtml,\n\t\t\t\t\t\t\t\t\t\tcss: editedCss,\n\t\t\t\t\t\t\t\t\t\tjs: editedJs,\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</div>\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t<HStack\n\t\t\t\t\t\t\talignment=\"center\"\n\t\t\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t\t\t\tspacing={ 4 }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\t\tonClick={ handleCancel }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\t\tonClick={ handleUpdateAndClose }\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ __( 'Update' ) }\n\t\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t</VStack>\n\t\t\t\t</Tabs>\n\t\t\t</Modal>\n\n\t\t\t{ showUnsavedWarning && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={ __( 'Unsaved changes' ) }\n\t\t\t\t\tonRequestClose={ handleContinueEditing }\n\t\t\t\t\tsize=\"medium\"\n\t\t\t\t>\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'You have unsaved changes. What would you like to do?'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\t\t\t\t\t<Flex direction=\"row\" justify=\"flex-end\" gap={ 2 }>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tonClick={ handleDiscardChanges }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Discard unsaved changes' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\t\t\tonClick={ handleContinueEditing }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Continue editing' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\t\tonClick={ handleUpdateAndClose }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ __( 'Update and close' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</Flex>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["componentsPrivateApis", "blockEditorStore", "VStack", "HStack", "Preview"]
7
7
  }
@@ -81,6 +81,52 @@ var settings = {
81
81
  save: import_save.default,
82
82
  deprecated: import_deprecated.default
83
83
  };
84
+ if (window.__experimentalContentOnlyPatternInsertion) {
85
+ settings.fields = [
86
+ {
87
+ label: (0, import_i18n.__)("Image"),
88
+ type: "Media",
89
+ shownByDefault: true,
90
+ mapping: {
91
+ id: "id",
92
+ src: "url",
93
+ caption: "caption",
94
+ alt: "alt"
95
+ },
96
+ args: {
97
+ allowedTypes: ["image"],
98
+ multiple: false
99
+ }
100
+ },
101
+ {
102
+ label: (0, import_i18n.__)("Link"),
103
+ type: "Link",
104
+ shownByDefault: false,
105
+ mapping: {
106
+ href: "href",
107
+ rel: "rel",
108
+ target: "linkTarget",
109
+ destination: "linkDestination"
110
+ }
111
+ },
112
+ {
113
+ label: (0, import_i18n.__)("Caption"),
114
+ type: "RichText",
115
+ shownByDefault: false,
116
+ mapping: {
117
+ value: "caption"
118
+ }
119
+ },
120
+ {
121
+ label: (0, import_i18n.__)("Alt text"),
122
+ type: "PlainText",
123
+ shownByDefault: false,
124
+ mapping: {
125
+ value: "alt"
126
+ }
127
+ }
128
+ ];
129
+ }
84
130
  var init = () => (0, import_init_block.default)({ name, metadata: import_block.default, settings });
85
131
  // Annotate the CommonJS export names for ESM import in node:
86
132
  0 && (module.exports = {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/image/index.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { image as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tsizeSlug: 'large',\n\t\t\turl: 'https://s.w.org/images/core/5.3/MtBlanc1.jpg',\n\t\t\t// translators: Caption accompanying an image of the Mont Blanc, which serves as an example for the Image block.\n\t\t\tcaption: __( 'Mont Blanc appears\u2014still, snowy, and serene.' ),\n\t\t},\n\t},\n\t__experimentalLabel( attributes, { context } ) {\n\t\tconst customName = attributes?.metadata?.name;\n\n\t\tif ( context === 'list-view' && customName ) {\n\t\t\treturn customName;\n\t\t}\n\n\t\tif ( context === 'accessibility' ) {\n\t\t\tconst { caption, alt, url } = attributes;\n\n\t\t\tif ( ! url ) {\n\t\t\t\treturn __( 'Empty' );\n\t\t\t}\n\n\t\t\tif ( ! alt ) {\n\t\t\t\treturn caption || '';\n\t\t\t}\n\n\t\t\t// This is intended to be read by a screen reader.\n\t\t\t// A period simply means a pause, no need to translate it.\n\t\t\treturn alt + ( caption ? '. ' + caption : '' );\n\t\t}\n\t},\n\tgetEditWrapperProps( attributes ) {\n\t\treturn {\n\t\t\t'data-align': attributes.align,\n\t\t};\n\t},\n\ttransforms,\n\tedit,\n\tsave,\n\tdeprecated,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA,+BAAAA;AAAA,EAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AACnB,mBAA8B;AAK9B,wBAAsB;AACtB,wBAAuB;AACvB,kBAAiB;AACjB,mBAAqB;AACrB,kBAAiB;AACjB,wBAAuB;AAEvB,IAAM,EAAE,KAAK,IAAI,aAAAA;AAIV,IAAM,WAAW;AAAA,EACvB,mBAAAC;AAAA,EACA,SAAS;AAAA,IACR,YAAY;AAAA,MACX,UAAU;AAAA,MACV,KAAK;AAAA;AAAA,MAEL,aAAS,gBAAI,mDAA+C;AAAA,IAC7D;AAAA,EACD;AAAA,EACA,oBAAqB,YAAY,EAAE,QAAQ,GAAI;AAC9C,UAAM,aAAa,YAAY,UAAU;AAEzC,QAAK,YAAY,eAAe,YAAa;AAC5C,aAAO;AAAA,IACR;AAEA,QAAK,YAAY,iBAAkB;AAClC,YAAM,EAAE,SAAS,KAAK,IAAI,IAAI;AAE9B,UAAK,CAAE,KAAM;AACZ,mBAAO,gBAAI,OAAQ;AAAA,MACpB;AAEA,UAAK,CAAE,KAAM;AACZ,eAAO,WAAW;AAAA,MACnB;AAIA,aAAO,OAAQ,UAAU,OAAO,UAAU;AAAA,IAC3C;AAAA,EACD;AAAA,EACA,oBAAqB,YAAa;AACjC,WAAO;AAAA,MACN,cAAc,WAAW;AAAA,IAC1B;AAAA,EACD;AAAA,EACA,8BAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,8BAAAC;AACD;AAEO,IAAM,OAAO,UAAM,kBAAAC,SAAW,EAAE,MAAM,uBAAAC,SAAU,SAAS,CAAE;",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { image as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tattributes: {\n\t\t\tsizeSlug: 'large',\n\t\t\turl: 'https://s.w.org/images/core/5.3/MtBlanc1.jpg',\n\t\t\t// translators: Caption accompanying an image of the Mont Blanc, which serves as an example for the Image block.\n\t\t\tcaption: __( 'Mont Blanc appears\u2014still, snowy, and serene.' ),\n\t\t},\n\t},\n\t__experimentalLabel( attributes, { context } ) {\n\t\tconst customName = attributes?.metadata?.name;\n\n\t\tif ( context === 'list-view' && customName ) {\n\t\t\treturn customName;\n\t\t}\n\n\t\tif ( context === 'accessibility' ) {\n\t\t\tconst { caption, alt, url } = attributes;\n\n\t\t\tif ( ! url ) {\n\t\t\t\treturn __( 'Empty' );\n\t\t\t}\n\n\t\t\tif ( ! alt ) {\n\t\t\t\treturn caption || '';\n\t\t\t}\n\n\t\t\t// This is intended to be read by a screen reader.\n\t\t\t// A period simply means a pause, no need to translate it.\n\t\t\treturn alt + ( caption ? '. ' + caption : '' );\n\t\t}\n\t},\n\tgetEditWrapperProps( attributes ) {\n\t\treturn {\n\t\t\t'data-align': attributes.align,\n\t\t};\n\t},\n\ttransforms,\n\tedit,\n\tsave,\n\tdeprecated,\n};\n\nif ( window.__experimentalContentOnlyPatternInsertion ) {\n\tsettings.fields = [\n\t\t{\n\t\t\tlabel: __( 'Image' ),\n\t\t\ttype: 'Media',\n\t\t\tshownByDefault: true,\n\t\t\tmapping: {\n\t\t\t\tid: 'id',\n\t\t\t\tsrc: 'url',\n\t\t\t\tcaption: 'caption',\n\t\t\t\talt: 'alt',\n\t\t\t},\n\t\t\targs: {\n\t\t\t\tallowedTypes: [ 'image' ],\n\t\t\t\tmultiple: false,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tlabel: __( 'Link' ),\n\t\t\ttype: 'Link',\n\t\t\tshownByDefault: false,\n\t\t\tmapping: {\n\t\t\t\thref: 'href',\n\t\t\t\trel: 'rel',\n\t\t\t\ttarget: 'linkTarget',\n\t\t\t\tdestination: 'linkDestination',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tlabel: __( 'Caption' ),\n\t\t\ttype: 'RichText',\n\t\t\tshownByDefault: false,\n\t\t\tmapping: {\n\t\t\t\tvalue: 'caption',\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tlabel: __( 'Alt text' ),\n\t\t\ttype: 'PlainText',\n\t\t\tshownByDefault: false,\n\t\t\tmapping: {\n\t\t\t\tvalue: 'alt',\n\t\t\t},\n\t\t},\n\t];\n}\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA,+BAAAA;AAAA,EAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AACnB,mBAA8B;AAK9B,wBAAsB;AACtB,wBAAuB;AACvB,kBAAiB;AACjB,mBAAqB;AACrB,kBAAiB;AACjB,wBAAuB;AAEvB,IAAM,EAAE,KAAK,IAAI,aAAAA;AAIV,IAAM,WAAW;AAAA,EACvB,mBAAAC;AAAA,EACA,SAAS;AAAA,IACR,YAAY;AAAA,MACX,UAAU;AAAA,MACV,KAAK;AAAA;AAAA,MAEL,aAAS,gBAAI,mDAA+C;AAAA,IAC7D;AAAA,EACD;AAAA,EACA,oBAAqB,YAAY,EAAE,QAAQ,GAAI;AAC9C,UAAM,aAAa,YAAY,UAAU;AAEzC,QAAK,YAAY,eAAe,YAAa;AAC5C,aAAO;AAAA,IACR;AAEA,QAAK,YAAY,iBAAkB;AAClC,YAAM,EAAE,SAAS,KAAK,IAAI,IAAI;AAE9B,UAAK,CAAE,KAAM;AACZ,mBAAO,gBAAI,OAAQ;AAAA,MACpB;AAEA,UAAK,CAAE,KAAM;AACZ,eAAO,WAAW;AAAA,MACnB;AAIA,aAAO,OAAQ,UAAU,OAAO,UAAU;AAAA,IAC3C;AAAA,EACD;AAAA,EACA,oBAAqB,YAAa;AACjC,WAAO;AAAA,MACN,cAAc,WAAW;AAAA,IAC1B;AAAA,EACD;AAAA,EACA,8BAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,8BAAAC;AACD;AAEA,IAAK,OAAO,2CAA4C;AACvD,WAAS,SAAS;AAAA,IACjB;AAAA,MACC,WAAO,gBAAI,OAAQ;AAAA,MACnB,MAAM;AAAA,MACN,gBAAgB;AAAA,MAChB,SAAS;AAAA,QACR,IAAI;AAAA,QACJ,KAAK;AAAA,QACL,SAAS;AAAA,QACT,KAAK;AAAA,MACN;AAAA,MACA,MAAM;AAAA,QACL,cAAc,CAAE,OAAQ;AAAA,QACxB,UAAU;AAAA,MACX;AAAA,IACD;AAAA,IACA;AAAA,MACC,WAAO,gBAAI,MAAO;AAAA,MAClB,MAAM;AAAA,MACN,gBAAgB;AAAA,MAChB,SAAS;AAAA,QACR,MAAM;AAAA,QACN,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,aAAa;AAAA,MACd;AAAA,IACD;AAAA,IACA;AAAA,MACC,WAAO,gBAAI,SAAU;AAAA,MACrB,MAAM;AAAA,MACN,gBAAgB;AAAA,MAChB,SAAS;AAAA,QACR,OAAO;AAAA,MACR;AAAA,IACD;AAAA,IACA;AAAA,MACC,WAAO,gBAAI,UAAW;AAAA,MACtB,MAAM;AAAA,MACN,gBAAgB;AAAA,MAChB,SAAS;AAAA,QACR,OAAO;AAAA,MACR;AAAA,IACD;AAAA,EACD;AACD;AAEO,IAAM,OAAO,UAAM,kBAAAC,SAAW,EAAE,MAAM,uBAAAC,SAAU,SAAS,CAAE;",
6
6
  "names": ["metadata", "icon", "transforms", "edit", "save", "deprecated", "initBlock", "metadata"]
7
7
  }
@@ -36,6 +36,7 @@ __export(list_item_exports, {
36
36
  settings: () => settings
37
37
  });
38
38
  module.exports = __toCommonJS(list_item_exports);
39
+ var import_i18n = require("@wordpress/i18n");
39
40
  var import_icons = require("@wordpress/icons");
40
41
  var import_block_editor = require("@wordpress/block-editor");
41
42
  var import_init_block = __toESM(require("../utils/init-block"));
@@ -58,6 +59,18 @@ var settings = {
58
59
  transforms: import_transforms.default,
59
60
  [(0, import_lock_unlock.unlock)(import_block_editor.privateApis).requiresWrapperOnCopy]: true
60
61
  };
62
+ if (window.__experimentalContentOnlyPatternInsertion) {
63
+ settings.fields = [
64
+ {
65
+ label: (0, import_i18n.__)("Content"),
66
+ type: "RichText",
67
+ shownByDefault: true,
68
+ mapping: {
69
+ value: "content"
70
+ }
71
+ }
72
+ ];
73
+ }
61
74
  var init = () => (0, import_init_block.default)({ name, metadata: import_block.default, settings });
62
75
  // Annotate the CommonJS export names for ESM import in node:
63
76
  0 && (module.exports = {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/list-item/index.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { listItem as icon } from '@wordpress/icons';\nimport { privateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\nimport transforms from './transforms';\nimport { unlock } from '../lock-unlock';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n\tsave,\n\tmerge( attributes, attributesToMerge ) {\n\t\treturn {\n\t\t\t...attributes,\n\t\t\tcontent: attributes.content + attributesToMerge.content,\n\t\t};\n\t},\n\ttransforms,\n\t[ unlock( privateApis ).requiresWrapperOnCopy ]: true,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA,+BAAAA;AAAA,EAAA;AAAA;AAAA;AAAA;AAGA,mBAAiC;AACjC,0BAA4B;AAK5B,wBAAsB;AACtB,mBAAqB;AACrB,kBAAiB;AACjB,kBAAiB;AACjB,wBAAuB;AACvB,yBAAuB;AAEvB,IAAM,EAAE,KAAK,IAAI,aAAAA;AAIV,IAAM,WAAW;AAAA,EACvB,mBAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,MAAO,YAAY,mBAAoB;AACtC,WAAO;AAAA,MACN,GAAG;AAAA,MACH,SAAS,WAAW,UAAU,kBAAkB;AAAA,IACjD;AAAA,EACD;AAAA,EACA,8BAAAC;AAAA,EACA,KAAE,2BAAQ,+BAAY,EAAE,qBAAsB,GAAG;AAClD;AAEO,IAAM,OAAO,UAAM,kBAAAC,SAAW,EAAE,MAAM,uBAAAC,SAAU,SAAS,CAAE;",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { listItem as icon } from '@wordpress/icons';\nimport { privateApis } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport metadata from './block.json';\nimport edit from './edit';\nimport save from './save';\nimport transforms from './transforms';\nimport { unlock } from '../lock-unlock';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\tedit,\n\tsave,\n\tmerge( attributes, attributesToMerge ) {\n\t\treturn {\n\t\t\t...attributes,\n\t\t\tcontent: attributes.content + attributesToMerge.content,\n\t\t};\n\t},\n\ttransforms,\n\t[ unlock( privateApis ).requiresWrapperOnCopy ]: true,\n};\n\nif ( window.__experimentalContentOnlyPatternInsertion ) {\n\tsettings.fields = [\n\t\t{\n\t\t\tlabel: __( 'Content' ),\n\t\t\ttype: 'RichText',\n\t\t\tshownByDefault: true,\n\t\t\tmapping: {\n\t\t\t\tvalue: 'content',\n\t\t\t},\n\t\t},\n\t];\n}\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA,+BAAAA;AAAA,EAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AACnB,mBAAiC;AACjC,0BAA4B;AAK5B,wBAAsB;AACtB,mBAAqB;AACrB,kBAAiB;AACjB,kBAAiB;AACjB,wBAAuB;AACvB,yBAAuB;AAEvB,IAAM,EAAE,KAAK,IAAI,aAAAA;AAIV,IAAM,WAAW;AAAA,EACvB,mBAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,MAAO,YAAY,mBAAoB;AACtC,WAAO;AAAA,MACN,GAAG;AAAA,MACH,SAAS,WAAW,UAAU,kBAAkB;AAAA,IACjD;AAAA,EACD;AAAA,EACA,8BAAAC;AAAA,EACA,KAAE,2BAAQ,+BAAY,EAAE,qBAAsB,GAAG;AAClD;AAEA,IAAK,OAAO,2CAA4C;AACvD,WAAS,SAAS;AAAA,IACjB;AAAA,MACC,WAAO,gBAAI,SAAU;AAAA,MACrB,MAAM;AAAA,MACN,gBAAgB;AAAA,MAChB,SAAS;AAAA,QACR,OAAO;AAAA,MACR;AAAA,IACD;AAAA,EACD;AACD;AAEO,IAAM,OAAO,UAAM,kBAAAC,SAAW,EAAE,MAAM,uBAAAC,SAAU,SAAS,CAAE;",
6
6
  "names": ["metadata", "icon", "edit", "save", "transforms", "initBlock", "metadata"]
7
7
  }
@@ -76,6 +76,34 @@ var settings = {
76
76
  save: import_save.default,
77
77
  deprecated: import_deprecated.default
78
78
  };
79
+ if (window.__experimentalContentOnlyPatternInsertion) {
80
+ settings.fields = [
81
+ {
82
+ label: (0, import_i18n.__)("Media"),
83
+ type: "Media",
84
+ shownByDefault: true,
85
+ mapping: {
86
+ id: "mediaId",
87
+ type: "mediaType",
88
+ src: "mediaUrl"
89
+ },
90
+ args: {
91
+ allowedTypes: ["image", "video"],
92
+ multiple: false
93
+ }
94
+ },
95
+ {
96
+ label: (0, import_i18n.__)("Link"),
97
+ type: "Link",
98
+ shownByDefault: false,
99
+ mapping: {
100
+ href: "href",
101
+ rel: "rel",
102
+ target: "linkTarget"
103
+ }
104
+ }
105
+ ];
106
+ }
79
107
  var init = () => (0, import_init_block.default)({ name, metadata: import_block.default, settings });
80
108
  // Annotate the CommonJS export names for ESM import in node:
81
109
  0 && (module.exports = {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/media-text/index.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { mediaAndText as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tviewportWidth: 601, // Columns collapse \"@media (max-width: 600px)\".\n\t\tattributes: {\n\t\t\tmediaType: 'image',\n\t\t\tmediaUrl:\n\t\t\t\t'https://s.w.org/images/core/5.3/Biologia_Centrali-Americana_-_Cantorchilus_semibadius_1902.jpg',\n\t\t},\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcontent: __(\n\t\t\t\t\t\t'The wren<br>Earns his living<br>Noiselessly.'\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcontent: __( '\u2014 Kobayashi Issa (\u4E00\u8336)' ),\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\ttransforms,\n\tedit,\n\tsave,\n\tdeprecated,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA,+BAAAA;AAAA,EAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AACnB,mBAAqC;AAKrC,wBAAsB;AACtB,wBAAuB;AACvB,kBAAiB;AACjB,mBAAqB;AACrB,kBAAiB;AACjB,wBAAuB;AAEvB,IAAM,EAAE,KAAK,IAAI,aAAAA;AAIV,IAAM,WAAW;AAAA,EACvB,mBAAAC;AAAA,EACA,SAAS;AAAA,IACR,eAAe;AAAA;AAAA,IACf,YAAY;AAAA,MACX,WAAW;AAAA,MACX,UACC;AAAA,IACF;AAAA,IACA,aAAa;AAAA,MACZ;AAAA,QACC,MAAM;AAAA,QACN,YAAY;AAAA,UACX,aAAS;AAAA,YACR;AAAA,UACD;AAAA,QACD;AAAA,MACD;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,YAAY;AAAA,UACX,aAAS,gBAAI,sCAAwB;AAAA,QACtC;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAAA,EACA,8BAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,8BAAAC;AACD;AAEO,IAAM,OAAO,UAAM,kBAAAC,SAAW,EAAE,MAAM,uBAAAC,SAAU,SAAS,CAAE;",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { mediaAndText as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport deprecated from './deprecated';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {\n\t\tviewportWidth: 601, // Columns collapse \"@media (max-width: 600px)\".\n\t\tattributes: {\n\t\t\tmediaType: 'image',\n\t\t\tmediaUrl:\n\t\t\t\t'https://s.w.org/images/core/5.3/Biologia_Centrali-Americana_-_Cantorchilus_semibadius_1902.jpg',\n\t\t},\n\t\tinnerBlocks: [\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcontent: __(\n\t\t\t\t\t\t'The wren<br>Earns his living<br>Noiselessly.'\n\t\t\t\t\t),\n\t\t\t\t},\n\t\t\t},\n\t\t\t{\n\t\t\t\tname: 'core/paragraph',\n\t\t\t\tattributes: {\n\t\t\t\t\tcontent: __( '\u2014 Kobayashi Issa (\u4E00\u8336)' ),\n\t\t\t\t},\n\t\t\t},\n\t\t],\n\t},\n\ttransforms,\n\tedit,\n\tsave,\n\tdeprecated,\n};\n\nif ( window.__experimentalContentOnlyPatternInsertion ) {\n\tsettings.fields = [\n\t\t{\n\t\t\tlabel: __( 'Media' ),\n\t\t\ttype: 'Media',\n\t\t\tshownByDefault: true,\n\t\t\tmapping: {\n\t\t\t\tid: 'mediaId',\n\t\t\t\ttype: 'mediaType',\n\t\t\t\tsrc: 'mediaUrl',\n\t\t\t},\n\t\t\targs: {\n\t\t\t\tallowedTypes: [ 'image', 'video' ],\n\t\t\t\tmultiple: false,\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tlabel: __( 'Link' ),\n\t\t\ttype: 'Link',\n\t\t\tshownByDefault: false,\n\t\t\tmapping: {\n\t\t\t\thref: 'href',\n\t\t\t\trel: 'rel',\n\t\t\t\ttarget: 'linkTarget',\n\t\t\t},\n\t\t},\n\t];\n}\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA,+BAAAA;AAAA,EAAA;AAAA;AAAA;AAAA;AAGA,kBAAmB;AACnB,mBAAqC;AAKrC,wBAAsB;AACtB,wBAAuB;AACvB,kBAAiB;AACjB,mBAAqB;AACrB,kBAAiB;AACjB,wBAAuB;AAEvB,IAAM,EAAE,KAAK,IAAI,aAAAA;AAIV,IAAM,WAAW;AAAA,EACvB,mBAAAC;AAAA,EACA,SAAS;AAAA,IACR,eAAe;AAAA;AAAA,IACf,YAAY;AAAA,MACX,WAAW;AAAA,MACX,UACC;AAAA,IACF;AAAA,IACA,aAAa;AAAA,MACZ;AAAA,QACC,MAAM;AAAA,QACN,YAAY;AAAA,UACX,aAAS;AAAA,YACR;AAAA,UACD;AAAA,QACD;AAAA,MACD;AAAA,MACA;AAAA,QACC,MAAM;AAAA,QACN,YAAY;AAAA,UACX,aAAS,gBAAI,sCAAwB;AAAA,QACtC;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAAA,EACA,8BAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,8BAAAC;AACD;AAEA,IAAK,OAAO,2CAA4C;AACvD,WAAS,SAAS;AAAA,IACjB;AAAA,MACC,WAAO,gBAAI,OAAQ;AAAA,MACnB,MAAM;AAAA,MACN,gBAAgB;AAAA,MAChB,SAAS;AAAA,QACR,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,KAAK;AAAA,MACN;AAAA,MACA,MAAM;AAAA,QACL,cAAc,CAAE,SAAS,OAAQ;AAAA,QACjC,UAAU;AAAA,MACX;AAAA,IACD;AAAA,IACA;AAAA,MACC,WAAO,gBAAI,MAAO;AAAA,MAClB,MAAM;AAAA,MACN,gBAAgB;AAAA,MAChB,SAAS;AAAA,QACR,MAAM;AAAA,QACN,KAAK;AAAA,QACL,QAAQ;AAAA,MACT;AAAA,IACD;AAAA,EACD;AACD;AAEO,IAAM,OAAO,UAAM,kBAAAC,SAAW,EAAE,MAAM,uBAAAC,SAAU,SAAS,CAAE;",
6
6
  "names": ["metadata", "icon", "transforms", "edit", "save", "deprecated", "initBlock", "metadata"]
7
7
  }
@@ -37,6 +37,7 @@ __export(more_exports, {
37
37
  });
38
38
  module.exports = __toCommonJS(more_exports);
39
39
  var import_icons = require("@wordpress/icons");
40
+ var import_i18n = require("@wordpress/i18n");
40
41
  var import_init_block = __toESM(require("../utils/init-block"));
41
42
  var import_edit = __toESM(require("./edit"));
42
43
  var import_block = __toESM(require("./block.json"));
@@ -59,6 +60,18 @@ var settings = {
59
60
  edit: import_edit.default,
60
61
  save: import_save.default
61
62
  };
63
+ if (window.__experimentalContentOnlyPatternInsertion) {
64
+ settings.fields = [
65
+ {
66
+ label: (0, import_i18n.__)("Content"),
67
+ type: "RichText",
68
+ shownByDefault: true,
69
+ mapping: {
70
+ value: "customText"
71
+ }
72
+ }
73
+ ];
74
+ }
62
75
  var init = () => (0, import_init_block.default)({ name, metadata: import_block.default, settings });
63
76
  // Annotate the CommonJS export names for ESM import in node:
64
77
  0 && (module.exports = {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/more/index.js"],
4
- "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { more as icon } from '@wordpress/icons';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {},\n\t__experimentalLabel( attributes, { context } ) {\n\t\tconst customName = attributes?.metadata?.name;\n\n\t\tif ( context === 'list-view' && customName ) {\n\t\t\treturn customName;\n\t\t}\n\n\t\tif ( context === 'accessibility' ) {\n\t\t\treturn attributes.customText;\n\t\t}\n\t},\n\ttransforms,\n\tedit,\n\tsave,\n};\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA,+BAAAA;AAAA,EAAA;AAAA;AAAA;AAAA;AAGA,mBAA6B;AAK7B,wBAAsB;AACtB,kBAAiB;AACjB,mBAAqB;AACrB,kBAAiB;AACjB,wBAAuB;AAEvB,IAAM,EAAE,KAAK,IAAI,aAAAA;AAIV,IAAM,WAAW;AAAA,EACvB,mBAAAC;AAAA,EACA,SAAS,CAAC;AAAA,EACV,oBAAqB,YAAY,EAAE,QAAQ,GAAI;AAC9C,UAAM,aAAa,YAAY,UAAU;AAEzC,QAAK,YAAY,eAAe,YAAa;AAC5C,aAAO;AAAA,IACR;AAEA,QAAK,YAAY,iBAAkB;AAClC,aAAO,WAAW;AAAA,IACnB;AAAA,EACD;AAAA,EACA,8BAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,kBAAAC;AACD;AAEO,IAAM,OAAO,UAAM,kBAAAC,SAAW,EAAE,MAAM,uBAAAC,SAAU,SAAS,CAAE;",
4
+ "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { more as icon } from '@wordpress/icons';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport initBlock from '../utils/init-block';\nimport edit from './edit';\nimport metadata from './block.json';\nimport save from './save';\nimport transforms from './transforms';\n\nconst { name } = metadata;\n\nexport { metadata, name };\n\nexport const settings = {\n\ticon,\n\texample: {},\n\t__experimentalLabel( attributes, { context } ) {\n\t\tconst customName = attributes?.metadata?.name;\n\n\t\tif ( context === 'list-view' && customName ) {\n\t\t\treturn customName;\n\t\t}\n\n\t\tif ( context === 'accessibility' ) {\n\t\t\treturn attributes.customText;\n\t\t}\n\t},\n\ttransforms,\n\tedit,\n\tsave,\n};\n\nif ( window.__experimentalContentOnlyPatternInsertion ) {\n\tsettings.fields = [\n\t\t{\n\t\t\tlabel: __( 'Content' ),\n\t\t\ttype: 'RichText',\n\t\t\tshownByDefault: true,\n\t\t\tmapping: {\n\t\t\t\tvalue: 'customText',\n\t\t\t},\n\t\t},\n\t];\n}\n\nexport const init = () => initBlock( { name, metadata, settings } );\n"],
5
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA,+BAAAA;AAAA,EAAA;AAAA;AAAA;AAAA;AAGA,mBAA6B;AAC7B,kBAAmB;AAKnB,wBAAsB;AACtB,kBAAiB;AACjB,mBAAqB;AACrB,kBAAiB;AACjB,wBAAuB;AAEvB,IAAM,EAAE,KAAK,IAAI,aAAAA;AAIV,IAAM,WAAW;AAAA,EACvB,mBAAAC;AAAA,EACA,SAAS,CAAC;AAAA,EACV,oBAAqB,YAAY,EAAE,QAAQ,GAAI;AAC9C,UAAM,aAAa,YAAY,UAAU;AAEzC,QAAK,YAAY,eAAe,YAAa;AAC5C,aAAO;AAAA,IACR;AAEA,QAAK,YAAY,iBAAkB;AAClC,aAAO,WAAW;AAAA,IACnB;AAAA,EACD;AAAA,EACA,8BAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,kBAAAC;AACD;AAEA,IAAK,OAAO,2CAA4C;AACvD,WAAS,SAAS;AAAA,IACjB;AAAA,MACC,WAAO,gBAAI,SAAU;AAAA,MACrB,MAAM;AAAA,MACN,gBAAgB;AAAA,MAChB,SAAS;AAAA,QACR,OAAO;AAAA,MACR;AAAA,IACD;AAAA,EACD;AACD;AAEO,IAAM,OAAO,UAAM,kBAAAC,SAAW,EAAE,MAAM,uBAAAC,SAAU,SAAS,CAAE;",
6
6
  "names": ["metadata", "icon", "transforms", "edit", "save", "initBlock", "metadata"]
7
7
  }
@@ -105,6 +105,7 @@
105
105
  "supports": {
106
106
  "align": [ "wide", "full" ],
107
107
  "ariaLabel": true,
108
+ "contentRole": true,
108
109
  "html": false,
109
110
  "inserter": true,
110
111
  "typography": {
@@ -138,8 +139,7 @@
138
139
  }
139
140
  },
140
141
  "interactivity": true,
141
- "renaming": false,
142
- "contentRole": true
142
+ "renaming": false
143
143
  },
144
144
  "editorStyle": "wp-block-navigation-editor",
145
145
  "style": "wp-block-navigation"