@strapi/content-manager 0.0.0-experimental.f75e3c6d67cc47c64ab37479efdbb7b43be50b78 → 0.0.0-experimental.fb442e5e12dd3f611303691bf85a249520ba348b
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/LICENSE +18 -3
- package/dist/_chunks/{ComponentConfigurationPage-CuWgXugY.mjs → ComponentConfigurationPage-B3yDbeU1.mjs} +3 -3
- package/dist/_chunks/{ComponentConfigurationPage-CuWgXugY.mjs.map → ComponentConfigurationPage-B3yDbeU1.mjs.map} +1 -1
- package/dist/_chunks/{ComponentConfigurationPage-by0e_kNd.js → ComponentConfigurationPage-KXSuLnQD.js} +3 -3
- package/dist/_chunks/{ComponentConfigurationPage-by0e_kNd.js.map → ComponentConfigurationPage-KXSuLnQD.js.map} +1 -1
- package/dist/_chunks/{EditConfigurationPage-CqBeCPGH.js → EditConfigurationPage-BQ17--5R.js} +3 -3
- package/dist/_chunks/{EditConfigurationPage-CqBeCPGH.js.map → EditConfigurationPage-BQ17--5R.js.map} +1 -1
- package/dist/_chunks/{EditConfigurationPage-DbI4KMyz.mjs → EditConfigurationPage-D7PrLO8j.mjs} +3 -3
- package/dist/_chunks/{EditConfigurationPage-DbI4KMyz.mjs.map → EditConfigurationPage-D7PrLO8j.mjs.map} +1 -1
- package/dist/_chunks/{EditViewPage-dFPBya9U.mjs → EditViewPage-B7VgwJaG.mjs} +57 -46
- package/dist/_chunks/EditViewPage-B7VgwJaG.mjs.map +1 -0
- package/dist/_chunks/{EditViewPage-ChgloMyO.js → EditViewPage-BgjdnGz2.js} +56 -45
- package/dist/_chunks/EditViewPage-BgjdnGz2.js.map +1 -0
- package/dist/_chunks/{Field-dLk-vgLL.js → Field-CdK7ZLmv.js} +504 -165
- package/dist/_chunks/Field-CdK7ZLmv.js.map +1 -0
- package/dist/_chunks/{Field-C1nUKcdS.mjs → Field-tHCw4lGA.mjs} +505 -166
- package/dist/_chunks/Field-tHCw4lGA.mjs.map +1 -0
- package/dist/_chunks/{Form-DOlpi7Js.mjs → Form-BJxdTv3Q.mjs} +40 -30
- package/dist/_chunks/Form-BJxdTv3Q.mjs.map +1 -0
- package/dist/_chunks/{Form-CbXtmHC_.js → Form-C_0KTVvV.js} +38 -28
- package/dist/_chunks/Form-C_0KTVvV.js.map +1 -0
- package/dist/_chunks/{History-BFNUAiGc.mjs → History-DR2txJLE.mjs} +142 -37
- package/dist/_chunks/History-DR2txJLE.mjs.map +1 -0
- package/dist/_chunks/{History-BjDfohBr.js → History-nuEzM5qm.js} +141 -36
- package/dist/_chunks/History-nuEzM5qm.js.map +1 -0
- package/dist/_chunks/{ListConfigurationPage-IQBgWTaa.js → ListConfigurationPage-CnB86Psm.js} +57 -46
- package/dist/_chunks/ListConfigurationPage-CnB86Psm.js.map +1 -0
- package/dist/_chunks/{ListConfigurationPage-DDi0KqFm.mjs → ListConfigurationPage-voFVtXu6.mjs} +58 -48
- package/dist/_chunks/ListConfigurationPage-voFVtXu6.mjs.map +1 -0
- package/dist/_chunks/{ListViewPage-BPjljUsH.mjs → ListViewPage-B_GaWgRH.mjs} +80 -71
- package/dist/_chunks/ListViewPage-B_GaWgRH.mjs.map +1 -0
- package/dist/_chunks/{ListViewPage-CZYGqlvF.js → ListViewPage-SXIXm-RM.js} +78 -69
- package/dist/_chunks/ListViewPage-SXIXm-RM.js.map +1 -0
- package/dist/_chunks/{NoContentTypePage-BOAI6VZ1.js → NoContentTypePage-BzsQ3hLZ.js} +2 -2
- package/dist/_chunks/{NoContentTypePage-BOAI6VZ1.js.map → NoContentTypePage-BzsQ3hLZ.js.map} +1 -1
- package/dist/_chunks/{NoContentTypePage-DaWw67K-.mjs → NoContentTypePage-CYiGpsbj.mjs} +2 -2
- package/dist/_chunks/{NoContentTypePage-DaWw67K-.mjs.map → NoContentTypePage-CYiGpsbj.mjs.map} +1 -1
- package/dist/_chunks/{NoPermissionsPage-CZrJH00p.mjs → NoPermissionsPage-B5baIHal.mjs} +2 -2
- package/dist/_chunks/{NoPermissionsPage-CZrJH00p.mjs.map → NoPermissionsPage-B5baIHal.mjs.map} +1 -1
- package/dist/_chunks/{NoPermissionsPage-cYEtLc_e.js → NoPermissionsPage-IGkId4C5.js} +2 -2
- package/dist/_chunks/{NoPermissionsPage-cYEtLc_e.js.map → NoPermissionsPage-IGkId4C5.js.map} +1 -1
- package/dist/_chunks/{Relations-DTowyge2.mjs → Relations-CIYDdKU-.mjs} +5 -5
- package/dist/_chunks/Relations-CIYDdKU-.mjs.map +1 -0
- package/dist/_chunks/{Relations-DU6B7irU.js → Relations-Dhuurpx2.js} +5 -5
- package/dist/_chunks/Relations-Dhuurpx2.js.map +1 -0
- package/dist/_chunks/{en-GCOTL6jR.mjs → en-BrCTWlZv.mjs} +9 -4
- package/dist/_chunks/{en-GCOTL6jR.mjs.map → en-BrCTWlZv.mjs.map} +1 -1
- package/dist/_chunks/{en-DTULi5-d.js → en-uOUIxfcQ.js} +9 -4
- package/dist/_chunks/{en-DTULi5-d.js.map → en-uOUIxfcQ.js.map} +1 -1
- package/dist/_chunks/{index-BaGHmIir.mjs → index-C9TJPyni.mjs} +1542 -1063
- package/dist/_chunks/index-C9TJPyni.mjs.map +1 -0
- package/dist/_chunks/{index-CCJeB7Rw.js → index-CdT0kHZ8.js} +1510 -1031
- package/dist/_chunks/index-CdT0kHZ8.js.map +1 -0
- package/dist/_chunks/{layout-BinjszSQ.mjs → layout-BNqvLR_b.mjs} +39 -22
- package/dist/_chunks/layout-BNqvLR_b.mjs.map +1 -0
- package/dist/_chunks/{layout-ni_L9kT1.js → layout-C6dxWYT7.js} +37 -20
- package/dist/_chunks/layout-C6dxWYT7.js.map +1 -0
- package/dist/_chunks/{relations-c91ji5eR.mjs → relations-CkKqKw65.mjs} +2 -2
- package/dist/_chunks/{relations-c91ji5eR.mjs.map → relations-CkKqKw65.mjs.map} +1 -1
- package/dist/_chunks/{relations-CeJAJc5I.js → relations-DtFaDnP1.js} +2 -2
- package/dist/_chunks/{relations-CeJAJc5I.js.map → relations-DtFaDnP1.js.map} +1 -1
- package/dist/admin/index.js +1 -1
- package/dist/admin/index.mjs +8 -8
- package/dist/admin/src/history/components/VersionInputRenderer.d.ts +1 -1
- package/dist/admin/src/history/index.d.ts +3 -0
- package/dist/admin/src/hooks/useDocumentActions.d.ts +1 -1
- package/dist/admin/src/index.d.ts +1 -0
- package/dist/admin/src/pages/EditView/components/DocumentActions.d.ts +8 -3
- package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/utils/constants.d.ts +4 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Relations.d.ts +20 -0
- package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/EditorLayout.d.ts +2 -2
- package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygFooter.d.ts +2 -2
- package/dist/admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygStyles.d.ts +12 -32
- package/dist/admin/src/pages/ListView/components/BulkActions/Actions.d.ts +3 -30
- package/dist/admin/src/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.d.ts +2 -2
- package/dist/admin/src/pages/ListView/components/BulkActions/PublishAction.d.ts +14 -0
- package/dist/server/index.js +147 -93
- package/dist/server/index.js.map +1 -1
- package/dist/server/index.mjs +148 -94
- package/dist/server/index.mjs.map +1 -1
- package/dist/server/src/controllers/collection-types.d.ts.map +1 -1
- package/dist/server/src/controllers/single-types.d.ts.map +1 -1
- package/dist/server/src/controllers/uid.d.ts.map +1 -1
- package/dist/server/src/controllers/validation/dimensions.d.ts +4 -2
- package/dist/server/src/controllers/validation/dimensions.d.ts.map +1 -1
- package/dist/server/src/history/services/lifecycles.d.ts.map +1 -1
- package/dist/server/src/history/services/utils.d.ts +1 -1
- package/dist/server/src/history/services/utils.d.ts.map +1 -1
- package/dist/server/src/services/document-manager.d.ts.map +1 -1
- package/dist/server/src/services/document-metadata.d.ts.map +1 -1
- package/dist/server/src/services/utils/populate.d.ts.map +1 -1
- package/package.json +8 -8
- package/dist/_chunks/EditViewPage-ChgloMyO.js.map +0 -1
- package/dist/_chunks/EditViewPage-dFPBya9U.mjs.map +0 -1
- package/dist/_chunks/Field-C1nUKcdS.mjs.map +0 -1
- package/dist/_chunks/Field-dLk-vgLL.js.map +0 -1
- package/dist/_chunks/Form-CbXtmHC_.js.map +0 -1
- package/dist/_chunks/Form-DOlpi7Js.mjs.map +0 -1
- package/dist/_chunks/History-BFNUAiGc.mjs.map +0 -1
- package/dist/_chunks/History-BjDfohBr.js.map +0 -1
- package/dist/_chunks/ListConfigurationPage-DDi0KqFm.mjs.map +0 -1
- package/dist/_chunks/ListConfigurationPage-IQBgWTaa.js.map +0 -1
- package/dist/_chunks/ListViewPage-BPjljUsH.mjs.map +0 -1
- package/dist/_chunks/ListViewPage-CZYGqlvF.js.map +0 -1
- package/dist/_chunks/Relations-DTowyge2.mjs.map +0 -1
- package/dist/_chunks/Relations-DU6B7irU.js.map +0 -1
- package/dist/_chunks/index-BaGHmIir.mjs.map +0 -1
- package/dist/_chunks/index-CCJeB7Rw.js.map +0 -1
- package/dist/_chunks/layout-BinjszSQ.mjs.map +0 -1
- package/dist/_chunks/layout-ni_L9kT1.js.map +0 -1
@@ -2,12 +2,12 @@ import { jsx, jsxs, Fragment } from "react/jsx-runtime";
|
|
2
2
|
import * as React from "react";
|
3
3
|
import { useState, useEffect, useCallback, memo } from "react";
|
4
4
|
import { useStrapiApp, createContext, useField, useNotification, useForm, useAPIErrorHandler, useQueryParams, useFocusInputField, InputRenderer as InputRenderer$1 } from "@strapi/admin/strapi-admin";
|
5
|
-
import { Typography, Flex,
|
5
|
+
import { Box, SingleSelect, SingleSelectOption, Typography, Flex, BaseLink, Button, Popover, Field, Tooltip, IconButton, useComposedRefs, Portal, FocusTrap, Divider, VisuallyHidden, Grid as Grid$1, Accordion, TextButton, TextInput, IconButtonGroup, Menu, MenuItem } from "@strapi/design-system";
|
6
6
|
import pipe$1 from "lodash/fp/pipe";
|
7
7
|
import { useIntl } from "react-intl";
|
8
|
-
import {
|
8
|
+
import { m as DOCUMENT_META_FIELDS, g as getTranslation, c as useDoc, e as contentManagerApi, d as buildValidParams, f as useDocumentRBAC, n as useDocLayout } from "./index-C9TJPyni.mjs";
|
9
9
|
import { generateNKeysBetween } from "fractional-indexing";
|
10
|
-
import { u as useComponent, C as ComponentProvider, M as MemoizedRelationsField } from "./Relations-
|
10
|
+
import { u as useComponent, C as ComponentProvider, M as MemoizedRelationsField } from "./Relations-CIYDdKU-.mjs";
|
11
11
|
import { Code, HeadingOne, HeadingTwo, HeadingThree, HeadingFour, HeadingFive, HeadingSix, Image as Image$1, NumberList, BulletList, Paragraph, Quotes, Link as Link$1, Drag, Collapse, Bold, Italic, Underline, StrikeThrough, Expand, PlusCircle, Plus, Trash, EyeStriked, CheckCircle, WarningCircle, Loader, ArrowClockwise, More } from "@strapi/icons";
|
12
12
|
import { styled, css, keyframes } from "styled-components";
|
13
13
|
import { C as ComponentIcon, a as COMPONENT_ICONS } from "./ComponentIcon-u4bIXTFY.mjs";
|
@@ -160,6 +160,220 @@ const useLazyComponents = (componentUids = []) => {
|
|
160
160
|
}, []);
|
161
161
|
return { isLazyLoading: loading, lazyComponentStore, cleanup };
|
162
162
|
};
|
163
|
+
const codeLanguages = [
|
164
|
+
{
|
165
|
+
value: "asm",
|
166
|
+
label: "Assembly"
|
167
|
+
},
|
168
|
+
{
|
169
|
+
value: "bash",
|
170
|
+
label: "Bash"
|
171
|
+
},
|
172
|
+
{
|
173
|
+
value: "c",
|
174
|
+
label: "C"
|
175
|
+
},
|
176
|
+
{
|
177
|
+
value: "clojure",
|
178
|
+
label: "Clojure"
|
179
|
+
},
|
180
|
+
{
|
181
|
+
value: "cobol",
|
182
|
+
label: "COBOL"
|
183
|
+
},
|
184
|
+
{
|
185
|
+
value: "cpp",
|
186
|
+
label: "C++"
|
187
|
+
},
|
188
|
+
{
|
189
|
+
value: "csharp",
|
190
|
+
label: "C#"
|
191
|
+
},
|
192
|
+
{
|
193
|
+
value: "css",
|
194
|
+
label: "CSS"
|
195
|
+
},
|
196
|
+
{
|
197
|
+
value: "dart",
|
198
|
+
label: "Dart"
|
199
|
+
},
|
200
|
+
{
|
201
|
+
value: "dockerfile",
|
202
|
+
label: "Dockerfile"
|
203
|
+
},
|
204
|
+
{
|
205
|
+
value: "elixir",
|
206
|
+
label: "Elixir"
|
207
|
+
},
|
208
|
+
{
|
209
|
+
value: "erlang",
|
210
|
+
label: "Erlang"
|
211
|
+
},
|
212
|
+
{
|
213
|
+
value: "fortran",
|
214
|
+
label: "Fortran"
|
215
|
+
},
|
216
|
+
{
|
217
|
+
value: "fsharp",
|
218
|
+
label: "F#"
|
219
|
+
},
|
220
|
+
{
|
221
|
+
value: "go",
|
222
|
+
label: "Go"
|
223
|
+
},
|
224
|
+
{
|
225
|
+
value: "graphql",
|
226
|
+
label: "GraphQL"
|
227
|
+
},
|
228
|
+
{
|
229
|
+
value: "groovy",
|
230
|
+
label: "Groovy"
|
231
|
+
},
|
232
|
+
{
|
233
|
+
value: "haskell",
|
234
|
+
label: "Haskell"
|
235
|
+
},
|
236
|
+
{
|
237
|
+
value: "haxe",
|
238
|
+
label: "Haxe"
|
239
|
+
},
|
240
|
+
{
|
241
|
+
value: "html",
|
242
|
+
label: "HTML"
|
243
|
+
},
|
244
|
+
{
|
245
|
+
value: "ini",
|
246
|
+
label: "INI"
|
247
|
+
},
|
248
|
+
{
|
249
|
+
value: "java",
|
250
|
+
label: "Java"
|
251
|
+
},
|
252
|
+
{
|
253
|
+
value: "javascript",
|
254
|
+
label: "JavaScript"
|
255
|
+
},
|
256
|
+
{
|
257
|
+
value: "jsx",
|
258
|
+
label: "JavaScript (React)"
|
259
|
+
},
|
260
|
+
{
|
261
|
+
value: "json",
|
262
|
+
label: "JSON"
|
263
|
+
},
|
264
|
+
{
|
265
|
+
value: "julia",
|
266
|
+
label: "Julia"
|
267
|
+
},
|
268
|
+
{
|
269
|
+
value: "kotlin",
|
270
|
+
label: "Kotlin"
|
271
|
+
},
|
272
|
+
{
|
273
|
+
value: "latex",
|
274
|
+
label: "LaTeX"
|
275
|
+
},
|
276
|
+
{
|
277
|
+
value: "lua",
|
278
|
+
label: "Lua"
|
279
|
+
},
|
280
|
+
{
|
281
|
+
value: "markdown",
|
282
|
+
label: "Markdown"
|
283
|
+
},
|
284
|
+
{
|
285
|
+
value: "matlab",
|
286
|
+
label: "MATLAB"
|
287
|
+
},
|
288
|
+
{
|
289
|
+
value: "makefile",
|
290
|
+
label: "Makefile"
|
291
|
+
},
|
292
|
+
{
|
293
|
+
value: "objectivec",
|
294
|
+
label: "Objective-C"
|
295
|
+
},
|
296
|
+
{
|
297
|
+
value: "perl",
|
298
|
+
label: "Perl"
|
299
|
+
},
|
300
|
+
{
|
301
|
+
value: "php",
|
302
|
+
label: "PHP"
|
303
|
+
},
|
304
|
+
{
|
305
|
+
value: "plaintext",
|
306
|
+
label: "Plain text"
|
307
|
+
},
|
308
|
+
{
|
309
|
+
value: "powershell",
|
310
|
+
label: "PowerShell"
|
311
|
+
},
|
312
|
+
{
|
313
|
+
value: "python",
|
314
|
+
label: "Python"
|
315
|
+
},
|
316
|
+
{
|
317
|
+
value: "r",
|
318
|
+
label: "R"
|
319
|
+
},
|
320
|
+
{
|
321
|
+
value: "ruby",
|
322
|
+
label: "Ruby"
|
323
|
+
},
|
324
|
+
{
|
325
|
+
value: "rust",
|
326
|
+
label: "Rust"
|
327
|
+
},
|
328
|
+
{
|
329
|
+
value: "sas",
|
330
|
+
label: "SAS"
|
331
|
+
},
|
332
|
+
{
|
333
|
+
value: "scala",
|
334
|
+
label: "Scala"
|
335
|
+
},
|
336
|
+
{
|
337
|
+
value: "scheme",
|
338
|
+
label: "Scheme"
|
339
|
+
},
|
340
|
+
{
|
341
|
+
value: "shell",
|
342
|
+
label: "Shell"
|
343
|
+
},
|
344
|
+
{
|
345
|
+
value: "sql",
|
346
|
+
label: "SQL"
|
347
|
+
},
|
348
|
+
{
|
349
|
+
value: "stata",
|
350
|
+
label: "Stata"
|
351
|
+
},
|
352
|
+
{
|
353
|
+
value: "swift",
|
354
|
+
label: "Swift"
|
355
|
+
},
|
356
|
+
{
|
357
|
+
value: "typescript",
|
358
|
+
label: "TypeScript"
|
359
|
+
},
|
360
|
+
{
|
361
|
+
value: "tsx",
|
362
|
+
label: "TypeScript (React)"
|
363
|
+
},
|
364
|
+
{
|
365
|
+
value: "vbnet",
|
366
|
+
label: "VB.NET"
|
367
|
+
},
|
368
|
+
{
|
369
|
+
value: "xml",
|
370
|
+
label: "XML"
|
371
|
+
},
|
372
|
+
{
|
373
|
+
value: "yaml",
|
374
|
+
label: "YAML"
|
375
|
+
}
|
376
|
+
];
|
163
377
|
const baseHandleConvert = (editor, attributesToSet) => {
|
164
378
|
const [_, lastNodePath] = Editor$1.last(editor, []);
|
165
379
|
Transforms.unwrapNodes(editor, {
|
@@ -230,6 +444,7 @@ const CodeBlock = styled.pre`
|
|
230
444
|
overflow: auto;
|
231
445
|
padding: ${({ theme }) => `${theme.spaces[3]} ${theme.spaces[4]}`};
|
232
446
|
flex-shrink: 1;
|
447
|
+
|
233
448
|
& > code {
|
234
449
|
font-family: 'SF Mono', SFMono-Regular, ui-monospace, 'DejaVu Sans Mono', Menlo, Consolas,
|
235
450
|
monospace;
|
@@ -238,9 +453,61 @@ const CodeBlock = styled.pre`
|
|
238
453
|
max-width: 100%;
|
239
454
|
}
|
240
455
|
`;
|
456
|
+
const CodeEditor = (props) => {
|
457
|
+
const { editor } = useBlocksEditorContext("ImageDialog");
|
458
|
+
const editorIsFocused = useFocused();
|
459
|
+
const imageIsSelected = useSelected();
|
460
|
+
const { formatMessage } = useIntl();
|
461
|
+
const [isSelectOpen, setIsSelectOpen] = React.useState(false);
|
462
|
+
const shouldDisplayLanguageSelect = editorIsFocused && imageIsSelected || isSelectOpen;
|
463
|
+
return /* @__PURE__ */ jsxs(Box, { position: "relative", width: "100%", children: [
|
464
|
+
/* @__PURE__ */ jsx(CodeBlock, { ...props.attributes, children: /* @__PURE__ */ jsx("code", { children: props.children }) }),
|
465
|
+
shouldDisplayLanguageSelect && /* @__PURE__ */ jsx(
|
466
|
+
Box,
|
467
|
+
{
|
468
|
+
position: "absolute",
|
469
|
+
background: "neutral0",
|
470
|
+
borderColor: "neutral150",
|
471
|
+
borderStyle: "solid",
|
472
|
+
borderWidth: "0.5px",
|
473
|
+
shadow: "tableShadow",
|
474
|
+
top: "100%",
|
475
|
+
marginTop: 1,
|
476
|
+
right: 0,
|
477
|
+
padding: 1,
|
478
|
+
hasRadius: true,
|
479
|
+
children: /* @__PURE__ */ jsx(
|
480
|
+
SingleSelect,
|
481
|
+
{
|
482
|
+
onChange: (open) => {
|
483
|
+
Transforms.setNodes(
|
484
|
+
editor,
|
485
|
+
{ language: open.toString() },
|
486
|
+
{ match: (node) => !Editor$1.isEditor(node) && node.type === "code" }
|
487
|
+
);
|
488
|
+
},
|
489
|
+
value: props.element.type === "code" && props.element.language || "plaintext",
|
490
|
+
onOpenChange: (open) => {
|
491
|
+
setIsSelectOpen(open);
|
492
|
+
if (!open) {
|
493
|
+
ReactEditor.focus(editor);
|
494
|
+
}
|
495
|
+
},
|
496
|
+
onCloseAutoFocus: (e) => e.preventDefault(),
|
497
|
+
"aria-label": formatMessage({
|
498
|
+
id: "components.Blocks.blocks.code.languageLabel",
|
499
|
+
defaultMessage: "Select a language"
|
500
|
+
}),
|
501
|
+
children: codeLanguages.map(({ value, label }) => /* @__PURE__ */ jsx(SingleSelectOption, { value, children: label }, value))
|
502
|
+
}
|
503
|
+
)
|
504
|
+
}
|
505
|
+
)
|
506
|
+
] });
|
507
|
+
};
|
241
508
|
const codeBlocks = {
|
242
509
|
code: {
|
243
|
-
renderElement: (props) => /* @__PURE__ */ jsx(
|
510
|
+
renderElement: (props) => /* @__PURE__ */ jsx(CodeEditor, { ...props }),
|
244
511
|
icon: Code,
|
245
512
|
label: {
|
246
513
|
id: "components.Blocks.blocks.code",
|
@@ -249,7 +516,7 @@ const codeBlocks = {
|
|
249
516
|
matchNode: (node) => node.type === "code",
|
250
517
|
isInBlocksSelector: true,
|
251
518
|
handleConvert(editor) {
|
252
|
-
baseHandleConvert(editor, { type: "code" });
|
519
|
+
baseHandleConvert(editor, { type: "code", language: "plaintext" });
|
253
520
|
},
|
254
521
|
handleEnterKey(editor) {
|
255
522
|
pressEnterTwiceToExit(editor);
|
@@ -589,18 +856,12 @@ const LinkContent = React.forwardRef(
|
|
589
856
|
const [popoverOpen, setPopoverOpen] = React.useState(
|
590
857
|
editor.lastInsertedLinkPath ? Path.equals(path, editor.lastInsertedLinkPath) : false
|
591
858
|
);
|
592
|
-
const linkRef = React.useRef(null);
|
593
859
|
const elementText = link.children.map((child) => child.text).join("");
|
594
860
|
const [linkText, setLinkText] = React.useState(elementText);
|
595
861
|
const [linkUrl, setLinkUrl] = React.useState(link.url);
|
596
862
|
const linkInputRef = React.useRef(null);
|
597
|
-
const
|
863
|
+
const isLastInsertedLink = editor.lastInsertedLinkPath ? !Path.equals(path, editor.lastInsertedLinkPath) : true;
|
598
864
|
const [isSaveDisabled, setIsSaveDisabled] = React.useState(false);
|
599
|
-
const handleOpenEditPopover = (e) => {
|
600
|
-
e.preventDefault();
|
601
|
-
setPopoverOpen(true);
|
602
|
-
setShowRemoveButton(true);
|
603
|
-
};
|
604
865
|
const onLinkChange = (e) => {
|
605
866
|
setIsSaveDisabled(false);
|
606
867
|
setLinkUrl(e.target.value);
|
@@ -621,33 +882,33 @@ const LinkContent = React.forwardRef(
|
|
621
882
|
editLink(editor, { url: linkUrl, text: linkText });
|
622
883
|
setPopoverOpen(false);
|
623
884
|
editor.lastInsertedLinkPath = null;
|
885
|
+
ReactEditor.focus(editor);
|
624
886
|
};
|
625
|
-
const
|
626
|
-
setPopoverOpen(false);
|
887
|
+
const handleClose = () => {
|
627
888
|
if (link.url === "") {
|
628
889
|
removeLink(editor);
|
629
890
|
}
|
891
|
+
setPopoverOpen(false);
|
630
892
|
ReactEditor.focus(editor);
|
631
893
|
};
|
632
|
-
const inputNotDirty = !linkText || !linkUrl || link.url && link.url === linkUrl && elementText && elementText === linkText;
|
633
|
-
const composedRefs = useComposedRefs(linkRef, forwardedRef);
|
634
894
|
React.useEffect(() => {
|
635
895
|
if (popoverOpen)
|
636
896
|
linkInputRef.current?.focus();
|
637
897
|
}, [popoverOpen]);
|
638
|
-
|
639
|
-
|
898
|
+
const inputNotDirty = !linkText || !linkUrl || link.url && link.url === linkUrl && elementText && elementText === linkText;
|
899
|
+
return /* @__PURE__ */ jsxs(Popover.Root, { open: popoverOpen, children: [
|
900
|
+
/* @__PURE__ */ jsx(Popover.Trigger, { children: /* @__PURE__ */ jsx(
|
640
901
|
StyledBaseLink,
|
641
902
|
{
|
642
903
|
...attributes,
|
643
|
-
ref:
|
904
|
+
ref: forwardedRef,
|
644
905
|
href: link.url,
|
645
|
-
onClick:
|
906
|
+
onClick: () => setPopoverOpen(true),
|
646
907
|
color: "primary600",
|
647
908
|
children
|
648
909
|
}
|
649
|
-
),
|
650
|
-
|
910
|
+
) }),
|
911
|
+
/* @__PURE__ */ jsx(Popover.Content, { onPointerDownOutside: handleClose, children: /* @__PURE__ */ jsxs(Flex, { padding: 4, direction: "column", gap: 4, children: [
|
651
912
|
/* @__PURE__ */ jsx(Field.Root, { width: "368px", children: /* @__PURE__ */ jsxs(Flex, { direction: "column", gap: 1, alignItems: "stretch", children: [
|
652
913
|
/* @__PURE__ */ jsx(Field.Label, { children: formatMessage({
|
653
914
|
id: "components.Blocks.popover.text",
|
@@ -693,7 +954,7 @@ const LinkContent = React.forwardRef(
|
|
693
954
|
{
|
694
955
|
variant: "danger-light",
|
695
956
|
onClick: () => removeLink(editor),
|
696
|
-
$visible:
|
957
|
+
$visible: isLastInsertedLink,
|
697
958
|
children: formatMessage({
|
698
959
|
id: "components.Blocks.popover.remove",
|
699
960
|
defaultMessage: "Remove"
|
@@ -701,11 +962,11 @@ const LinkContent = React.forwardRef(
|
|
701
962
|
}
|
702
963
|
),
|
703
964
|
/* @__PURE__ */ jsxs(Flex, { gap: 2, children: [
|
704
|
-
/* @__PURE__ */ jsx(Button, { variant: "tertiary", onClick:
|
965
|
+
/* @__PURE__ */ jsx(Button, { variant: "tertiary", onClick: handleClose, children: formatMessage({
|
705
966
|
id: "components.Blocks.popover.cancel",
|
706
967
|
defaultMessage: "Cancel"
|
707
968
|
}) }),
|
708
|
-
/* @__PURE__ */ jsx(Button, {
|
969
|
+
/* @__PURE__ */ jsx(Button, { disabled: Boolean(inputNotDirty) || isSaveDisabled, onClick: handleSave, children: formatMessage({
|
709
970
|
id: "components.Blocks.popover.save",
|
710
971
|
defaultMessage: "Save"
|
711
972
|
}) })
|
@@ -1291,6 +1552,26 @@ const ListButton = ({ block, format }) => {
|
|
1291
1552
|
}
|
1292
1553
|
return false;
|
1293
1554
|
};
|
1555
|
+
const isListDisabled = () => {
|
1556
|
+
if (disabled) {
|
1557
|
+
return true;
|
1558
|
+
}
|
1559
|
+
if (!editor.selection) {
|
1560
|
+
return false;
|
1561
|
+
}
|
1562
|
+
const anchorNodeEntry = Editor$1.above(editor, {
|
1563
|
+
at: editor.selection.anchor,
|
1564
|
+
match: (node) => !Editor$1.isEditor(node) && node.type !== "text"
|
1565
|
+
});
|
1566
|
+
const focusNodeEntry = Editor$1.above(editor, {
|
1567
|
+
at: editor.selection.focus,
|
1568
|
+
match: (node) => !Editor$1.isEditor(node) && node.type !== "text"
|
1569
|
+
});
|
1570
|
+
if (!anchorNodeEntry || !focusNodeEntry) {
|
1571
|
+
return false;
|
1572
|
+
}
|
1573
|
+
return anchorNodeEntry[0] !== focusNodeEntry[0];
|
1574
|
+
};
|
1294
1575
|
const toggleList = (format2) => {
|
1295
1576
|
let currentListEntry;
|
1296
1577
|
if (editor.selection) {
|
@@ -1324,7 +1605,7 @@ const ListButton = ({ block, format }) => {
|
|
1324
1605
|
name: format,
|
1325
1606
|
label: block.label,
|
1326
1607
|
isActive: isListActive(),
|
1327
|
-
disabled,
|
1608
|
+
disabled: isListDisabled(),
|
1328
1609
|
handleClick: () => toggleList(format)
|
1329
1610
|
}
|
1330
1611
|
);
|
@@ -1491,7 +1772,7 @@ const DragIconButton = styled(IconButton)`
|
|
1491
1772
|
}
|
1492
1773
|
svg {
|
1493
1774
|
height: auto;
|
1494
|
-
width: ${({ theme }) => theme.spaces[3]};
|
1775
|
+
min-width: ${({ theme }) => theme.spaces[3]};
|
1495
1776
|
|
1496
1777
|
path {
|
1497
1778
|
fill: ${({ theme }) => theme.colors.neutral700};
|
@@ -1608,7 +1889,7 @@ const DragAndDropElement = ({
|
|
1608
1889
|
disabled,
|
1609
1890
|
draggable: true,
|
1610
1891
|
$dragHandleTopMargin: dragHandleTopMargin,
|
1611
|
-
children: /* @__PURE__ */ jsx(Drag, { color: "
|
1892
|
+
children: /* @__PURE__ */ jsx(Drag, { color: "primary500" })
|
1612
1893
|
}
|
1613
1894
|
),
|
1614
1895
|
children
|
@@ -1932,7 +2213,7 @@ const EditorLayout$1 = ({
|
|
1932
2213
|
/* @__PURE__ */ jsx(
|
1933
2214
|
CollapseIconButton,
|
1934
2215
|
{
|
1935
|
-
|
2216
|
+
label: formatMessage({
|
1936
2217
|
id: getTranslation("components.Blocks.collapse"),
|
1937
2218
|
defaultMessage: "Collapse"
|
1938
2219
|
}),
|
@@ -2271,7 +2552,7 @@ const BlocksEditor = React.forwardRef(
|
|
2271
2552
|
!isExpandedMode && /* @__PURE__ */ jsx(
|
2272
2553
|
ExpandIconButton,
|
2273
2554
|
{
|
2274
|
-
|
2555
|
+
label: formatMessage({
|
2275
2556
|
id: getTranslation("components.Blocks.expand"),
|
2276
2557
|
defaultMessage: "Expand"
|
2277
2558
|
}),
|
@@ -2337,30 +2618,27 @@ const createDefaultForm = (contentType, components = {}) => {
|
|
2337
2618
|
const Initializer = ({ disabled, name: name2, onClick }) => {
|
2338
2619
|
const { formatMessage } = useIntl();
|
2339
2620
|
const field = useField(name2);
|
2340
|
-
return /* @__PURE__ */
|
2341
|
-
|
2342
|
-
|
2343
|
-
|
2344
|
-
|
2345
|
-
|
2346
|
-
|
2347
|
-
|
2348
|
-
|
2349
|
-
|
2350
|
-
|
2351
|
-
|
2352
|
-
|
2353
|
-
|
2354
|
-
|
2355
|
-
|
2356
|
-
|
2357
|
-
|
2358
|
-
|
2359
|
-
|
2360
|
-
|
2361
|
-
),
|
2362
|
-
field.error && /* @__PURE__ */ jsx(Typography, { textColor: "danger600", variant: "pi", children: field.error })
|
2363
|
-
] });
|
2621
|
+
return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsx(
|
2622
|
+
Box,
|
2623
|
+
{
|
2624
|
+
tag: "button",
|
2625
|
+
background: "neutral100",
|
2626
|
+
borderColor: field.error ? "danger600" : "neutral200",
|
2627
|
+
hasRadius: true,
|
2628
|
+
disabled,
|
2629
|
+
onClick,
|
2630
|
+
paddingTop: 9,
|
2631
|
+
paddingBottom: 9,
|
2632
|
+
type: "button",
|
2633
|
+
children: /* @__PURE__ */ jsxs(Flex, { direction: "column", gap: 2, children: [
|
2634
|
+
/* @__PURE__ */ jsx(Flex, { justifyContent: "center", children: /* @__PURE__ */ jsx(CircleIcon, {}) }),
|
2635
|
+
/* @__PURE__ */ jsx(Flex, { justifyContent: "center", children: /* @__PURE__ */ jsx(Typography, { textColor: "primary600", variant: "pi", fontWeight: "bold", children: formatMessage({
|
2636
|
+
id: getTranslation("components.empty-repeatable"),
|
2637
|
+
defaultMessage: "No entry yet. Click on the button below to add one."
|
2638
|
+
}) }) })
|
2639
|
+
] })
|
2640
|
+
}
|
2641
|
+
) });
|
2364
2642
|
};
|
2365
2643
|
const CircleIcon = styled(PlusCircle)`
|
2366
2644
|
width: 2.4rem;
|
@@ -2392,9 +2670,20 @@ const NonRepeatableComponent = ({
|
|
2392
2670
|
hasRadius: isNested,
|
2393
2671
|
borderColor: isNested ? "neutral200" : void 0,
|
2394
2672
|
children: /* @__PURE__ */ jsx(Flex, { direction: "column", alignItems: "stretch", gap: 6, children: layout.map((row, index) => {
|
2395
|
-
return /* @__PURE__ */ jsx(Grid$1, { gap: 4, children: row.map(({ size, ...field }) => {
|
2673
|
+
return /* @__PURE__ */ jsx(Grid$1.Root, { gap: 4, children: row.map(({ size, ...field }) => {
|
2396
2674
|
const completeFieldName = `${name2}.${field.name}`;
|
2397
|
-
return /* @__PURE__ */ jsx(
|
2675
|
+
return /* @__PURE__ */ jsx(
|
2676
|
+
Grid$1.Item,
|
2677
|
+
{
|
2678
|
+
col: size,
|
2679
|
+
s: 12,
|
2680
|
+
xs: 12,
|
2681
|
+
direction: "column",
|
2682
|
+
alignItems: "stretch",
|
2683
|
+
children: children({ ...field, name: completeFieldName })
|
2684
|
+
},
|
2685
|
+
completeFieldName
|
2686
|
+
);
|
2398
2687
|
}) }, index);
|
2399
2688
|
}) })
|
2400
2689
|
}
|
@@ -2570,9 +2859,20 @@ const RepeatableComponent = ({
|
|
2570
2859
|
onGrabItem: handleGrabItem,
|
2571
2860
|
__temp_key__: key,
|
2572
2861
|
children: layout.map((row, index2) => {
|
2573
|
-
return /* @__PURE__ */ jsx(Grid$1, { gap: 4, children: row.map(({ size, ...field }) => {
|
2862
|
+
return /* @__PURE__ */ jsx(Grid$1.Root, { gap: 4, children: row.map(({ size, ...field }) => {
|
2574
2863
|
const completeFieldName = `${nameWithIndex}.${field.name}`;
|
2575
|
-
return /* @__PURE__ */ jsx(
|
2864
|
+
return /* @__PURE__ */ jsx(
|
2865
|
+
Grid$1.Item,
|
2866
|
+
{
|
2867
|
+
col: size,
|
2868
|
+
s: 12,
|
2869
|
+
xs: 12,
|
2870
|
+
direction: "column",
|
2871
|
+
alignItems: "stretch",
|
2872
|
+
children: children({ ...field, name: completeFieldName })
|
2873
|
+
},
|
2874
|
+
completeFieldName
|
2875
|
+
);
|
2576
2876
|
}) }, index2);
|
2577
2877
|
})
|
2578
2878
|
}
|
@@ -2617,7 +2917,7 @@ const TextButtonCustom = styled(TextButton)`
|
|
2617
2917
|
}
|
2618
2918
|
|
2619
2919
|
@media (prefers-reduced-motion: no-preference) {
|
2620
|
-
transition: background-color 120ms ${(props) => props.theme.easings.easeOutQuad};
|
2920
|
+
transition: background-color 120ms ${(props) => props.theme.motion.easings.easeOutQuad};
|
2621
2921
|
}
|
2622
2922
|
`;
|
2623
2923
|
const Component = ({
|
@@ -2667,7 +2967,7 @@ const Component = ({
|
|
2667
2967
|
/* @__PURE__ */ jsx(
|
2668
2968
|
IconButton,
|
2669
2969
|
{
|
2670
|
-
|
2970
|
+
variant: "ghost",
|
2671
2971
|
onClick: onDeleteComponent,
|
2672
2972
|
label: formatMessage({
|
2673
2973
|
id: getTranslation("containers.Edit.delete"),
|
@@ -2680,7 +2980,7 @@ const Component = ({
|
|
2680
2980
|
IconButton,
|
2681
2981
|
{
|
2682
2982
|
ref: composedAccordionRefs,
|
2683
|
-
|
2983
|
+
variant: "ghost",
|
2684
2984
|
onClick: (e) => e.stopPropagation(),
|
2685
2985
|
"data-handler-id": handlerId,
|
2686
2986
|
label: formatMessage({
|
@@ -2750,7 +3050,7 @@ const ComponentInput = ({
|
|
2750
3050
|
id: getTranslation("components.reset-entry"),
|
2751
3051
|
defaultMessage: "Reset Entry"
|
2752
3052
|
}),
|
2753
|
-
|
3053
|
+
variant: "ghost",
|
2754
3054
|
onClick: () => {
|
2755
3055
|
field.onChange(name2, null);
|
2756
3056
|
},
|
@@ -2779,11 +3079,8 @@ const AddComponentButton = ({
|
|
2779
3079
|
onClick,
|
2780
3080
|
disabled: isDisabled,
|
2781
3081
|
background: "neutral0",
|
2782
|
-
paddingTop: 3,
|
2783
|
-
paddingBottom: 3,
|
2784
|
-
paddingLeft: 4,
|
2785
|
-
paddingRight: 4,
|
2786
3082
|
style: { cursor: isDisabled ? "not-allowed" : "pointer" },
|
3083
|
+
variant: "tertiary",
|
2787
3084
|
children: /* @__PURE__ */ jsxs(Flex, { tag: "span", gap: 2, children: [
|
2788
3085
|
/* @__PURE__ */ jsx(StyledAddIcon, { "aria-hidden": true, $isOpen: isOpen, $hasError: hasError && !isOpen }),
|
2789
3086
|
/* @__PURE__ */ jsx(
|
@@ -2812,10 +3109,11 @@ const StyledAddIcon = styled(PlusCircle)`
|
|
2812
3109
|
}
|
2813
3110
|
`;
|
2814
3111
|
const AddComponentTitle = styled(Typography)``;
|
2815
|
-
const StyledButton = styled(
|
3112
|
+
const StyledButton = styled(Button)`
|
2816
3113
|
border-radius: 26px;
|
2817
3114
|
border-color: ${({ theme }) => theme.colors.neutral150};
|
2818
3115
|
box-shadow: ${({ theme }) => theme.shadows.filterShadow};
|
3116
|
+
height: 5rem;
|
2819
3117
|
|
2820
3118
|
&:hover {
|
2821
3119
|
${AddComponentTitle} {
|
@@ -2827,7 +3125,7 @@ const StyledButton = styled(BaseButton)`
|
|
2827
3125
|
fill: ${({ theme }) => theme.colors.primary600};
|
2828
3126
|
}
|
2829
3127
|
> path {
|
2830
|
-
fill: ${({ theme }) => theme.colors.
|
3128
|
+
fill: ${({ theme }) => theme.colors.primary600};
|
2831
3129
|
}
|
2832
3130
|
}
|
2833
3131
|
}
|
@@ -2885,7 +3183,7 @@ const ComponentBox = styled(Flex)`
|
|
2885
3183
|
cursor: pointer;
|
2886
3184
|
|
2887
3185
|
@media (prefers-reduced-motion: no-preference) {
|
2888
|
-
transition: color 120ms ${(props) => props.theme.easings.easeOutQuad};
|
3186
|
+
transition: color 120ms ${(props) => props.theme.motion.easings.easeOutQuad};
|
2889
3187
|
}
|
2890
3188
|
|
2891
3189
|
&:focus,
|
@@ -3965,7 +4263,7 @@ const EditorLayout = ({
|
|
3965
4263
|
justifyContent: "flex-end",
|
3966
4264
|
shrink: 0,
|
3967
4265
|
width: "100%",
|
3968
|
-
children: /* @__PURE__ */ jsxs(ExpandButton$1, { onClick: onCollapse, children: [
|
4266
|
+
children: /* @__PURE__ */ jsxs(ExpandButton$1, { onClick: onCollapse, variant: "tertiary", size: "M", children: [
|
3969
4267
|
/* @__PURE__ */ jsx(Typography, { children: formatMessage({
|
3970
4268
|
id: "components.Wysiwyg.collapse",
|
3971
4269
|
defaultMessage: "Collapse"
|
@@ -3983,12 +4281,14 @@ const EditorLayout = ({
|
|
3983
4281
|
) }) });
|
3984
4282
|
}
|
3985
4283
|
return /* @__PURE__ */ jsx(
|
3986
|
-
|
4284
|
+
Flex,
|
3987
4285
|
{
|
3988
4286
|
borderColor: error ? "danger600" : "neutral200",
|
3989
4287
|
borderStyle: "solid",
|
3990
4288
|
borderWidth: "1px",
|
3991
4289
|
hasRadius: true,
|
4290
|
+
direction: "column",
|
4291
|
+
alignItems: "stretch",
|
3992
4292
|
children
|
3993
4293
|
}
|
3994
4294
|
);
|
@@ -3999,11 +4299,19 @@ const ExpandWrapper = styled(Flex)`
|
|
3999
4299
|
const BoxWithBorder = styled(Box)`
|
4000
4300
|
border-right: 1px solid ${({ theme }) => theme.colors.neutral200};
|
4001
4301
|
`;
|
4002
|
-
const ExpandButton$1 = styled(
|
4302
|
+
const ExpandButton$1 = styled(Button)`
|
4003
4303
|
background-color: transparent;
|
4004
4304
|
border: none;
|
4005
4305
|
align-items: center;
|
4006
4306
|
|
4307
|
+
& > span {
|
4308
|
+
display: flex;
|
4309
|
+
justify-content: space-between;
|
4310
|
+
align-items: center;
|
4311
|
+
width: 100%;
|
4312
|
+
font-weight: ${({ theme }) => theme.fontWeights.regular};
|
4313
|
+
}
|
4314
|
+
|
4007
4315
|
svg {
|
4008
4316
|
margin-left: ${({ theme }) => `${theme.spaces[2]}`};
|
4009
4317
|
|
@@ -4272,8 +4580,6 @@ const quoteAndCodeHandler = (editor, markdownType) => {
|
|
4272
4580
|
};
|
4273
4581
|
const CustomIconButton = styled(IconButton)`
|
4274
4582
|
padding: ${({ theme }) => theme.spaces[2]};
|
4275
|
-
/* Trick to prevent the outline from overflowing because of the general outline-offset */
|
4276
|
-
outline-offset: -2px !important;
|
4277
4583
|
|
4278
4584
|
svg {
|
4279
4585
|
width: 1.8rem;
|
@@ -4301,11 +4607,19 @@ const MoreButton = styled(IconButton)`
|
|
4301
4607
|
const IconButtonGroupMargin = styled(IconButtonGroup)`
|
4302
4608
|
margin-right: ${({ theme }) => `${theme.spaces[2]}`};
|
4303
4609
|
`;
|
4304
|
-
const ExpandButton = styled(
|
4610
|
+
const ExpandButton = styled(Button)`
|
4305
4611
|
background-color: transparent;
|
4306
4612
|
border: none;
|
4307
4613
|
align-items: center;
|
4308
4614
|
|
4615
|
+
& > span {
|
4616
|
+
display: flex;
|
4617
|
+
justify-content: space-between;
|
4618
|
+
align-items: center;
|
4619
|
+
width: 100%;
|
4620
|
+
font-weight: ${({ theme }) => theme.fontWeights.regular};
|
4621
|
+
}
|
4622
|
+
|
4309
4623
|
svg {
|
4310
4624
|
margin-left: ${({ theme }) => `${theme.spaces[2]}`};
|
4311
4625
|
path {
|
@@ -4317,8 +4631,8 @@ const ExpandButton = styled(BaseButton)`
|
|
4317
4631
|
`;
|
4318
4632
|
const WysiwygFooter = ({ onToggleExpand }) => {
|
4319
4633
|
const { formatMessage } = useIntl();
|
4320
|
-
return /* @__PURE__ */ jsx(Box, { padding: 2, background: "neutral100", borderRadius: `0 0 0.4rem 0.4rem`, children: /* @__PURE__ */ jsx(Flex, { justifyContent: "flex-end", alignItems: "flex-end", children: /* @__PURE__ */ jsxs(ExpandButton, { id: "expand", onClick: onToggleExpand, children: [
|
4321
|
-
/* @__PURE__ */ jsx(Typography, { children: formatMessage({
|
4634
|
+
return /* @__PURE__ */ jsx(Box, { padding: 2, background: "neutral100", borderRadius: `0 0 0.4rem 0.4rem`, children: /* @__PURE__ */ jsx(Flex, { justifyContent: "flex-end", alignItems: "flex-end", children: /* @__PURE__ */ jsxs(ExpandButton, { id: "expand", onClick: onToggleExpand, variant: "tertiary", size: "M", children: [
|
4635
|
+
/* @__PURE__ */ jsx(Typography, { textColor: "neutral800", children: formatMessage({
|
4322
4636
|
id: "components.WysiwygBottomControls.fullscreen",
|
4323
4637
|
defaultMessage: "Expand"
|
4324
4638
|
}) }),
|
@@ -4340,7 +4654,7 @@ const WysiwygNav = ({
|
|
4340
4654
|
id: "components.Wysiwyg.selectOptions.title",
|
4341
4655
|
defaultMessage: "Add a title"
|
4342
4656
|
});
|
4343
|
-
|
4657
|
+
React.useRef(null);
|
4344
4658
|
const handleTogglePopover = () => {
|
4345
4659
|
setVisiblePopover((prev) => !prev);
|
4346
4660
|
};
|
@@ -4354,14 +4668,23 @@ const WysiwygNav = ({
|
|
4354
4668
|
borderRadius: `0.4rem 0.4rem 0 0`,
|
4355
4669
|
children: [
|
4356
4670
|
/* @__PURE__ */ jsxs(Flex, { children: [
|
4357
|
-
/* @__PURE__ */ jsx(Field.Root, { children: /* @__PURE__ */ jsxs(
|
4358
|
-
|
4359
|
-
|
4360
|
-
|
4361
|
-
|
4362
|
-
|
4363
|
-
|
4364
|
-
|
4671
|
+
/* @__PURE__ */ jsx(Field.Root, { children: /* @__PURE__ */ jsxs(
|
4672
|
+
SingleSelect,
|
4673
|
+
{
|
4674
|
+
disabled: true,
|
4675
|
+
placeholder: selectPlaceholder,
|
4676
|
+
"aria-label": selectPlaceholder,
|
4677
|
+
size: "S",
|
4678
|
+
children: [
|
4679
|
+
/* @__PURE__ */ jsx(SingleSelectOption, { value: "h1", children: "h1" }),
|
4680
|
+
/* @__PURE__ */ jsx(SingleSelectOption, { value: "h2", children: "h2" }),
|
4681
|
+
/* @__PURE__ */ jsx(SingleSelectOption, { value: "h3", children: "h3" }),
|
4682
|
+
/* @__PURE__ */ jsx(SingleSelectOption, { value: "h4", children: "h4" }),
|
4683
|
+
/* @__PURE__ */ jsx(SingleSelectOption, { value: "h5", children: "h5" }),
|
4684
|
+
/* @__PURE__ */ jsx(SingleSelectOption, { value: "h6", children: "h6" })
|
4685
|
+
]
|
4686
|
+
}
|
4687
|
+
) }),
|
4365
4688
|
/* @__PURE__ */ jsxs(MainButtons, { children: [
|
4366
4689
|
/* @__PURE__ */ jsx(CustomIconButton, { disabled: true, label: "Bold", name: "Bold", children: /* @__PURE__ */ jsx(Bold, {}) }),
|
4367
4690
|
/* @__PURE__ */ jsx(CustomIconButton, { disabled: true, label: "Italic", name: "Italic", children: /* @__PURE__ */ jsx(Italic, {}) }),
|
@@ -4392,6 +4715,7 @@ const WysiwygNav = ({
|
|
4392
4715
|
placeholder: selectPlaceholder,
|
4393
4716
|
"aria-label": selectPlaceholder,
|
4394
4717
|
onChange: (value) => onActionClick(value, editorRef),
|
4718
|
+
size: "S",
|
4395
4719
|
children: [
|
4396
4720
|
/* @__PURE__ */ jsx(SingleSelectOption, { value: "h1", children: "h1" }),
|
4397
4721
|
/* @__PURE__ */ jsx(SingleSelectOption, { value: "h2", children: "h2" }),
|
@@ -4431,79 +4755,81 @@ const WysiwygNav = ({
|
|
4431
4755
|
}
|
4432
4756
|
)
|
4433
4757
|
] }),
|
4434
|
-
/* @__PURE__ */
|
4435
|
-
|
4436
|
-
/* @__PURE__ */ jsxs(
|
4437
|
-
/* @__PURE__ */
|
4438
|
-
|
4439
|
-
|
4440
|
-
|
4441
|
-
|
4442
|
-
|
4443
|
-
|
4444
|
-
|
4445
|
-
|
4446
|
-
|
4447
|
-
|
4448
|
-
|
4449
|
-
|
4450
|
-
|
4451
|
-
|
4452
|
-
|
4453
|
-
|
4454
|
-
|
4455
|
-
|
4456
|
-
|
4457
|
-
|
4458
|
-
|
4459
|
-
|
4460
|
-
|
4461
|
-
|
4462
|
-
|
4463
|
-
|
4464
|
-
|
4465
|
-
|
4466
|
-
/* @__PURE__ */
|
4467
|
-
|
4468
|
-
|
4469
|
-
|
4470
|
-
|
4471
|
-
|
4472
|
-
|
4473
|
-
|
4474
|
-
|
4475
|
-
|
4476
|
-
|
4477
|
-
|
4478
|
-
|
4479
|
-
|
4480
|
-
|
4481
|
-
|
4482
|
-
|
4483
|
-
|
4484
|
-
|
4485
|
-
|
4486
|
-
|
4487
|
-
|
4488
|
-
|
4489
|
-
|
4490
|
-
|
4491
|
-
|
4492
|
-
|
4493
|
-
|
4494
|
-
|
4495
|
-
|
4496
|
-
|
4497
|
-
|
4498
|
-
|
4499
|
-
|
4500
|
-
|
4501
|
-
|
4502
|
-
|
4503
|
-
|
4504
|
-
|
4505
|
-
|
4506
|
-
|
4758
|
+
/* @__PURE__ */ jsxs(Popover.Root, { children: [
|
4759
|
+
/* @__PURE__ */ jsx(Popover.Trigger, { children: /* @__PURE__ */ jsx(MoreButton, { label: "More", children: /* @__PURE__ */ jsx(More, {}) }) }),
|
4760
|
+
/* @__PURE__ */ jsx(Popover.Content, { sideOffset: 12, children: /* @__PURE__ */ jsxs(Flex, { padding: 2, children: [
|
4761
|
+
/* @__PURE__ */ jsxs(IconButtonGroupMargin, { children: [
|
4762
|
+
/* @__PURE__ */ jsx(
|
4763
|
+
CustomIconButton,
|
4764
|
+
{
|
4765
|
+
onClick: () => onActionClick("Strikethrough", editorRef, handleTogglePopover),
|
4766
|
+
label: "Strikethrough",
|
4767
|
+
name: "Strikethrough",
|
4768
|
+
children: /* @__PURE__ */ jsx(StrikeThrough, {})
|
4769
|
+
}
|
4770
|
+
),
|
4771
|
+
/* @__PURE__ */ jsx(
|
4772
|
+
CustomIconButton,
|
4773
|
+
{
|
4774
|
+
onClick: () => onActionClick("BulletList", editorRef, handleTogglePopover),
|
4775
|
+
label: "BulletList",
|
4776
|
+
name: "BulletList",
|
4777
|
+
children: /* @__PURE__ */ jsx(BulletList, {})
|
4778
|
+
}
|
4779
|
+
),
|
4780
|
+
/* @__PURE__ */ jsx(
|
4781
|
+
CustomIconButton,
|
4782
|
+
{
|
4783
|
+
onClick: () => onActionClick("NumberList", editorRef, handleTogglePopover),
|
4784
|
+
label: "NumberList",
|
4785
|
+
name: "NumberList",
|
4786
|
+
children: /* @__PURE__ */ jsx(NumberList, {})
|
4787
|
+
}
|
4788
|
+
)
|
4789
|
+
] }),
|
4790
|
+
/* @__PURE__ */ jsxs(IconButtonGroup, { children: [
|
4791
|
+
/* @__PURE__ */ jsx(
|
4792
|
+
CustomIconButton,
|
4793
|
+
{
|
4794
|
+
onClick: () => onActionClick("Code", editorRef, handleTogglePopover),
|
4795
|
+
label: "Code",
|
4796
|
+
name: "Code",
|
4797
|
+
children: /* @__PURE__ */ jsx(Code, {})
|
4798
|
+
}
|
4799
|
+
),
|
4800
|
+
/* @__PURE__ */ jsx(
|
4801
|
+
CustomIconButton,
|
4802
|
+
{
|
4803
|
+
onClick: () => {
|
4804
|
+
handleTogglePopover();
|
4805
|
+
onToggleMediaLib();
|
4806
|
+
},
|
4807
|
+
label: "Image",
|
4808
|
+
name: "Image",
|
4809
|
+
children: /* @__PURE__ */ jsx(Image$1, {})
|
4810
|
+
}
|
4811
|
+
),
|
4812
|
+
/* @__PURE__ */ jsx(
|
4813
|
+
CustomLinkIconButton,
|
4814
|
+
{
|
4815
|
+
onClick: () => onActionClick("Link", editorRef, handleTogglePopover),
|
4816
|
+
label: "Link",
|
4817
|
+
name: "Link",
|
4818
|
+
children: /* @__PURE__ */ jsx(Link$1, {})
|
4819
|
+
}
|
4820
|
+
),
|
4821
|
+
/* @__PURE__ */ jsx(
|
4822
|
+
CustomIconButton,
|
4823
|
+
{
|
4824
|
+
onClick: () => onActionClick("Quote", editorRef, handleTogglePopover),
|
4825
|
+
label: "Quote",
|
4826
|
+
name: "Quote",
|
4827
|
+
children: /* @__PURE__ */ jsx(Quotes, {})
|
4828
|
+
}
|
4829
|
+
)
|
4830
|
+
] })
|
4831
|
+
] }) })
|
4832
|
+
] })
|
4507
4833
|
] }),
|
4508
4834
|
onTogglePreviewMode && /* @__PURE__ */ jsx(Button, { onClick: onTogglePreviewMode, variant: "tertiary", children: formatMessage({
|
4509
4835
|
id: "components.Wysiwyg.ToggleMode.preview-mode",
|
@@ -4729,7 +5055,9 @@ const useFieldHint = (hint = void 0, attribute) => {
|
|
4729
5055
|
if (!maximum && !minimum) {
|
4730
5056
|
return hint;
|
4731
5057
|
}
|
4732
|
-
const units = !["biginteger", "integer", "number"].includes(
|
5058
|
+
const units = !["biginteger", "integer", "number", "dynamiczone", "component"].includes(
|
5059
|
+
attribute.type
|
5060
|
+
) ? formatMessage(
|
4733
5061
|
{
|
4734
5062
|
id: "content-manager.form.Input.hint.character.unit",
|
4735
5063
|
defaultMessage: "{maxValue, plural, one { character} other { characters}}"
|
@@ -4823,7 +5151,7 @@ const DynamicComponent = ({
|
|
4823
5151
|
/* @__PURE__ */ jsx(
|
4824
5152
|
IconButton,
|
4825
5153
|
{
|
4826
|
-
|
5154
|
+
variant: "ghost",
|
4827
5155
|
label: formatMessage(
|
4828
5156
|
{
|
4829
5157
|
id: getTranslation("components.DynamicZone.delete-label"),
|
@@ -4838,7 +5166,7 @@ const DynamicComponent = ({
|
|
4838
5166
|
/* @__PURE__ */ jsx(
|
4839
5167
|
IconButton,
|
4840
5168
|
{
|
4841
|
-
|
5169
|
+
variant: "ghost",
|
4842
5170
|
onClick: (e) => e.stopPropagation(),
|
4843
5171
|
"data-handler-id": handlerId,
|
4844
5172
|
ref: dragRef,
|
@@ -4897,9 +5225,20 @@ const DynamicComponent = ({
|
|
4897
5225
|
),
|
4898
5226
|
/* @__PURE__ */ jsx(Accordion.Actions, { children: accordionActions })
|
4899
5227
|
] }),
|
4900
|
-
/* @__PURE__ */ jsx(Accordion.Content, { children: /* @__PURE__ */ jsx(AccordionContentRadius, { background: "neutral0", children: /* @__PURE__ */ jsx(Box, { paddingLeft: 6, paddingRight: 6, paddingTop: 6, paddingBottom: 6, children: components[componentUid]?.layout?.map((row, rowInd) => /* @__PURE__ */ jsx(Grid$1, { gap: 4, children: row.map(({ size, ...field }) => {
|
5228
|
+
/* @__PURE__ */ jsx(Accordion.Content, { children: /* @__PURE__ */ jsx(AccordionContentRadius, { background: "neutral0", children: /* @__PURE__ */ jsx(Box, { paddingLeft: 6, paddingRight: 6, paddingTop: 6, paddingBottom: 6, children: components[componentUid]?.layout?.map((row, rowInd) => /* @__PURE__ */ jsx(Grid$1.Root, { gap: 4, children: row.map(({ size, ...field }) => {
|
4901
5229
|
const fieldName = `${name2}.${index}.${field.name}`;
|
4902
|
-
return /* @__PURE__ */ jsx(
|
5230
|
+
return /* @__PURE__ */ jsx(
|
5231
|
+
Grid$1.Item,
|
5232
|
+
{
|
5233
|
+
col: size,
|
5234
|
+
s: 12,
|
5235
|
+
xs: 12,
|
5236
|
+
direction: "column",
|
5237
|
+
alignItems: "stretch",
|
5238
|
+
children: /* @__PURE__ */ jsx(MemoizedInputRenderer, { ...field, name: fieldName })
|
5239
|
+
},
|
5240
|
+
fieldName
|
5241
|
+
);
|
4903
5242
|
}) }, rowInd)) }) }) })
|
4904
5243
|
] }) }) })
|
4905
5244
|
] });
|
@@ -5092,7 +5431,7 @@ const DynamicZone = ({
|
|
5092
5431
|
const handleRemoveComponent = (name22, currentIndex) => () => {
|
5093
5432
|
removeFieldRow(name22, currentIndex);
|
5094
5433
|
};
|
5095
|
-
const hasError = error !== void 0
|
5434
|
+
const hasError = error !== void 0;
|
5096
5435
|
const renderButtonLabel = () => {
|
5097
5436
|
if (addComponentIsOpen) {
|
5098
5437
|
return formatMessage({ id: "app.utils.close-label", defaultMessage: "Close" });
|
@@ -5208,4 +5547,4 @@ export {
|
|
5208
5547
|
transformDocument as t,
|
5209
5548
|
useLazyComponents as u
|
5210
5549
|
};
|
5211
|
-
//# sourceMappingURL=Field-
|
5550
|
+
//# sourceMappingURL=Field-tHCw4lGA.mjs.map
|