@strapi/content-manager 0.0.0-experimental.60f3ded53a22a24d208ebf6df9b84c118aa97abf → 0.0.0-experimental.745741d19e90275ca6f7c928ca19f9bb0fd9d933

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 (82) hide show
  1. package/LICENSE +18 -3
  2. package/dist/_chunks/{ComponentConfigurationPage-Cl7eB3s4.js → ComponentConfigurationPage-BvHtG7uH.js} +3 -3
  3. package/dist/_chunks/{ComponentConfigurationPage-Cl7eB3s4.js.map → ComponentConfigurationPage-BvHtG7uH.js.map} +1 -1
  4. package/dist/_chunks/{ComponentConfigurationPage-DErJQEVW.mjs → ComponentConfigurationPage-DHNM3YBz.mjs} +3 -3
  5. package/dist/_chunks/{ComponentConfigurationPage-DErJQEVW.mjs.map → ComponentConfigurationPage-DHNM3YBz.mjs.map} +1 -1
  6. package/dist/_chunks/{EditConfigurationPage-CBosWqQ7.mjs → EditConfigurationPage-Cp6HAEzN.mjs} +3 -3
  7. package/dist/_chunks/{EditConfigurationPage-CBosWqQ7.mjs.map → EditConfigurationPage-Cp6HAEzN.mjs.map} +1 -1
  8. package/dist/_chunks/{EditConfigurationPage-CyfFvH6-.js → EditConfigurationPage-DOmfCEMo.js} +3 -3
  9. package/dist/_chunks/{EditConfigurationPage-CyfFvH6-.js.map → EditConfigurationPage-DOmfCEMo.js.map} +1 -1
  10. package/dist/_chunks/{EditViewPage-DxyAOItK.js → EditViewPage-BqNpC6hO.js} +3 -3
  11. package/dist/_chunks/{EditViewPage-DxyAOItK.js.map → EditViewPage-BqNpC6hO.js.map} +1 -1
  12. package/dist/_chunks/{EditViewPage-ClIueJnM.mjs → EditViewPage-BtkEx339.mjs} +3 -3
  13. package/dist/_chunks/{EditViewPage-ClIueJnM.mjs.map → EditViewPage-BtkEx339.mjs.map} +1 -1
  14. package/dist/_chunks/{Field-BZBYmvaf.mjs → Field-R5NbffTB.mjs} +273 -6
  15. package/dist/_chunks/Field-R5NbffTB.mjs.map +1 -0
  16. package/dist/_chunks/{Field-C0Y_SR9e.js → Field-lsPFnAmH.js} +272 -5
  17. package/dist/_chunks/Field-lsPFnAmH.js.map +1 -0
  18. package/dist/_chunks/{Form-jwRSC2kV.mjs → Form-BHmXSfyy.mjs} +2 -2
  19. package/dist/_chunks/{Form-jwRSC2kV.mjs.map → Form-BHmXSfyy.mjs.map} +1 -1
  20. package/dist/_chunks/{Form-DwvGnISS.js → Form-CcGboku8.js} +2 -2
  21. package/dist/_chunks/{Form-DwvGnISS.js.map → Form-CcGboku8.js.map} +1 -1
  22. package/dist/_chunks/{History-Cda0Yjzz.js → History-Bsud8jwh.js} +20 -5
  23. package/dist/_chunks/{History-Cda0Yjzz.js.map → History-Bsud8jwh.js.map} +1 -1
  24. package/dist/_chunks/{History-BgzAIj0G.mjs → History-ByUPL3T3.mjs} +20 -5
  25. package/dist/_chunks/{History-BgzAIj0G.mjs.map → History-ByUPL3T3.mjs.map} +1 -1
  26. package/dist/_chunks/{ListConfigurationPage-GH55qfoT.mjs → ListConfigurationPage-Bm5HACXf.mjs} +2 -2
  27. package/dist/_chunks/{ListConfigurationPage-GH55qfoT.mjs.map → ListConfigurationPage-Bm5HACXf.mjs.map} +1 -1
  28. package/dist/_chunks/{ListConfigurationPage-C29EF97r.js → ListConfigurationPage-DiT463qx.js} +2 -2
  29. package/dist/_chunks/{ListConfigurationPage-C29EF97r.js.map → ListConfigurationPage-DiT463qx.js.map} +1 -1
  30. package/dist/_chunks/{ListViewPage-CnRt0UT7.js → ListViewPage-CsrC9L_d.js} +15 -6
  31. package/dist/_chunks/ListViewPage-CsrC9L_d.js.map +1 -0
  32. package/dist/_chunks/{ListViewPage-QU03PFj1.mjs → ListViewPage-JSyNAAYu.mjs} +15 -6
  33. package/dist/_chunks/ListViewPage-JSyNAAYu.mjs.map +1 -0
  34. package/dist/_chunks/{NoContentTypePage-DFDjxByI.js → NoContentTypePage-Bsvng4II.js} +2 -2
  35. package/dist/_chunks/{NoContentTypePage-DFDjxByI.js.map → NoContentTypePage-Bsvng4II.js.map} +1 -1
  36. package/dist/_chunks/{NoContentTypePage-CPs2CnzH.mjs → NoContentTypePage-CsrQUpBE.mjs} +2 -2
  37. package/dist/_chunks/{NoContentTypePage-CPs2CnzH.mjs.map → NoContentTypePage-CsrQUpBE.mjs.map} +1 -1
  38. package/dist/_chunks/{NoPermissionsPage-BVHI-jv5.js → NoPermissionsPage-CdHNJtEf.js} +2 -2
  39. package/dist/_chunks/{NoPermissionsPage-BVHI-jv5.js.map → NoPermissionsPage-CdHNJtEf.js.map} +1 -1
  40. package/dist/_chunks/{NoPermissionsPage-ct58lcY0.mjs → NoPermissionsPage-DNmf_pj0.mjs} +2 -2
  41. package/dist/_chunks/{NoPermissionsPage-ct58lcY0.mjs.map → NoPermissionsPage-DNmf_pj0.mjs.map} +1 -1
  42. package/dist/_chunks/{Relations-BjpPPCKp.js → Relations-CghaPv2D.js} +3 -3
  43. package/dist/_chunks/{Relations-BjpPPCKp.js.map → Relations-CghaPv2D.js.map} +1 -1
  44. package/dist/_chunks/{Relations-KMf5qEN0.mjs → Relations-u8-37jK0.mjs} +3 -3
  45. package/dist/_chunks/{Relations-KMf5qEN0.mjs.map → Relations-u8-37jK0.mjs.map} +1 -1
  46. package/dist/_chunks/{index-D9ZwczCV.js → index-BOZx6IMg.js} +46 -37
  47. package/dist/_chunks/index-BOZx6IMg.js.map +1 -0
  48. package/dist/_chunks/{index-6kKXK7y8.mjs → index-CaE6NG4a.mjs} +58 -49
  49. package/dist/_chunks/index-CaE6NG4a.mjs.map +1 -0
  50. package/dist/_chunks/{layout-B1Z-9koY.mjs → layout-Bx7svTbY.mjs} +7 -7
  51. package/dist/_chunks/layout-Bx7svTbY.mjs.map +1 -0
  52. package/dist/_chunks/{layout-BJfBoBiF.js → layout-Ciz224q5.js} +6 -6
  53. package/dist/_chunks/layout-Ciz224q5.js.map +1 -0
  54. package/dist/_chunks/{relations-CMvjzyU3.js → relations-CP8sB2YZ.js} +2 -2
  55. package/dist/_chunks/{relations-CMvjzyU3.js.map → relations-CP8sB2YZ.js.map} +1 -1
  56. package/dist/_chunks/{relations-CgZg7Pyx.mjs → relations-Cxc1cEv3.mjs} +2 -2
  57. package/dist/_chunks/{relations-CgZg7Pyx.mjs.map → relations-Cxc1cEv3.mjs.map} +1 -1
  58. package/dist/admin/index.js +1 -1
  59. package/dist/admin/index.mjs +4 -4
  60. package/dist/admin/src/history/services/historyVersion.d.ts +1 -1
  61. package/dist/admin/src/pages/EditView/components/FormInputs/BlocksInput/utils/constants.d.ts +4 -0
  62. package/dist/admin/src/services/api.d.ts +1 -1
  63. package/dist/admin/src/services/components.d.ts +2 -2
  64. package/dist/admin/src/services/contentTypes.d.ts +3 -3
  65. package/dist/admin/src/services/documents.d.ts +16 -16
  66. package/dist/admin/src/services/init.d.ts +1 -1
  67. package/dist/admin/src/services/relations.d.ts +2 -2
  68. package/dist/admin/src/services/uid.d.ts +3 -3
  69. package/dist/server/index.js +4 -0
  70. package/dist/server/index.js.map +1 -1
  71. package/dist/server/index.mjs +4 -0
  72. package/dist/server/index.mjs.map +1 -1
  73. package/dist/server/src/history/services/utils.d.ts.map +1 -1
  74. package/package.json +6 -6
  75. package/dist/_chunks/Field-BZBYmvaf.mjs.map +0 -1
  76. package/dist/_chunks/Field-C0Y_SR9e.js.map +0 -1
  77. package/dist/_chunks/ListViewPage-CnRt0UT7.js.map +0 -1
  78. package/dist/_chunks/ListViewPage-QU03PFj1.mjs.map +0 -1
  79. package/dist/_chunks/index-6kKXK7y8.mjs.map +0 -1
  80. package/dist/_chunks/index-D9ZwczCV.js.map +0 -1
  81. package/dist/_chunks/layout-B1Z-9koY.mjs.map +0 -1
  82. package/dist/_chunks/layout-BJfBoBiF.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, Box, BaseLink, Button, Popover, Field, Tooltip, SingleSelect, SingleSelectOption, IconButton, useComposedRefs, Portal, FocusTrap, Divider, VisuallyHidden, Grid as Grid$1, Accordion, TextButton, BaseButton, TextInput, IconButtonGroup, Menu, MenuItem } from "@strapi/design-system";
5
+ import { Box, SingleSelect, SingleSelectOption, Typography, Flex, BaseLink, Button, Popover, Field, Tooltip, IconButton, useComposedRefs, Portal, FocusTrap, Divider, VisuallyHidden, Grid as Grid$1, Accordion, TextButton, BaseButton, 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 { 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-6kKXK7y8.mjs";
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-CaE6NG4a.mjs";
9
9
  import { generateNKeysBetween } from "fractional-indexing";
10
- import { u as useComponent, C as ComponentProvider, M as MemoizedRelationsField } from "./Relations-KMf5qEN0.mjs";
10
+ import { u as useComponent, C as ComponentProvider, M as MemoizedRelationsField } from "./Relations-u8-37jK0.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(CodeBlock, { ...props.attributes, children: /* @__PURE__ */ jsx("code", { children: props.children }) }),
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);
@@ -5196,4 +5463,4 @@ export {
5196
5463
  transformDocument as t,
5197
5464
  useLazyComponents as u
5198
5465
  };
5199
- //# sourceMappingURL=Field-BZBYmvaf.mjs.map
5466
+ //# sourceMappingURL=Field-R5NbffTB.mjs.map