@strapi/content-manager 5.15.1 → 5.16.1

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 (106) hide show
  1. package/dist/admin/hooks/useDocumentActions.js +7 -3
  2. package/dist/admin/hooks/useDocumentActions.js.map +1 -1
  3. package/dist/admin/hooks/useDocumentActions.mjs +7 -3
  4. package/dist/admin/hooks/useDocumentActions.mjs.map +1 -1
  5. package/dist/admin/pages/EditView/components/DocumentActions.js +5 -43
  6. package/dist/admin/pages/EditView/components/DocumentActions.js.map +1 -1
  7. package/dist/admin/pages/EditView/components/DocumentActions.mjs +6 -44
  8. package/dist/admin/pages/EditView/components/DocumentActions.mjs.map +1 -1
  9. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.js +12 -15
  10. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.js.map +1 -1
  11. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.mjs +12 -15
  12. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.mjs.map +1 -1
  13. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.js +54 -14
  14. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.js.map +1 -1
  15. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.mjs +55 -15
  16. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.mjs.map +1 -1
  17. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.js +2 -2
  18. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.js.map +1 -1
  19. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.mjs +2 -2
  20. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.mjs.map +1 -1
  21. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js +2 -2
  22. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js.map +1 -1
  23. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs +3 -3
  24. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs.map +1 -1
  25. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js +153 -105
  26. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js.map +1 -1
  27. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs +156 -108
  28. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs.map +1 -1
  29. package/dist/admin/pages/EditView/components/FormInputs/UID.js +4 -2
  30. package/dist/admin/pages/EditView/components/FormInputs/UID.js.map +1 -1
  31. package/dist/admin/pages/EditView/components/FormInputs/UID.mjs +4 -2
  32. package/dist/admin/pages/EditView/components/FormInputs/UID.mjs.map +1 -1
  33. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.js +1 -1
  34. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.js.map +1 -1
  35. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.mjs +1 -1
  36. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.mjs.map +1 -1
  37. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.js +86 -118
  38. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.js.map +1 -1
  39. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.mjs +86 -118
  40. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.mjs.map +1 -1
  41. package/dist/admin/pages/ListView/components/Filters.js +1 -0
  42. package/dist/admin/pages/ListView/components/Filters.js.map +1 -1
  43. package/dist/admin/pages/ListView/components/Filters.mjs +1 -0
  44. package/dist/admin/pages/ListView/components/Filters.mjs.map +1 -1
  45. package/dist/admin/pages/ListView/components/TableActions.js +13 -3
  46. package/dist/admin/pages/ListView/components/TableActions.js.map +1 -1
  47. package/dist/admin/pages/ListView/components/TableActions.mjs +13 -3
  48. package/dist/admin/pages/ListView/components/TableActions.mjs.map +1 -1
  49. package/dist/admin/services/documents.js +2 -2
  50. package/dist/admin/services/documents.js.map +1 -1
  51. package/dist/admin/services/documents.mjs +2 -2
  52. package/dist/admin/services/documents.mjs.map +1 -1
  53. package/dist/admin/src/hooks/useDocumentActions.d.ts +1 -0
  54. package/dist/admin/src/pages/EditView/components/FormInputs/UID.d.ts +1 -0
  55. package/dist/admin/src/services/documents.d.ts +7 -1
  56. package/dist/admin/utils/validation.js +1 -1
  57. package/dist/admin/utils/validation.js.map +1 -1
  58. package/dist/admin/utils/validation.mjs +1 -1
  59. package/dist/admin/utils/validation.mjs.map +1 -1
  60. package/dist/server/controllers/content-types.js +11 -1
  61. package/dist/server/controllers/content-types.js.map +1 -1
  62. package/dist/server/controllers/content-types.mjs +11 -1
  63. package/dist/server/controllers/content-types.mjs.map +1 -1
  64. package/dist/server/controllers/validation/index.js +14 -2
  65. package/dist/server/controllers/validation/index.js.map +1 -1
  66. package/dist/server/controllers/validation/index.mjs +14 -2
  67. package/dist/server/controllers/validation/index.mjs.map +1 -1
  68. package/dist/server/services/data-mapper.js +4 -1
  69. package/dist/server/services/data-mapper.js.map +1 -1
  70. package/dist/server/services/data-mapper.mjs +4 -1
  71. package/dist/server/services/data-mapper.mjs.map +1 -1
  72. package/dist/server/services/document-manager.js +8 -1
  73. package/dist/server/services/document-manager.js.map +1 -1
  74. package/dist/server/services/document-manager.mjs +8 -1
  75. package/dist/server/services/document-manager.mjs.map +1 -1
  76. package/dist/server/services/document-metadata.js +2 -0
  77. package/dist/server/services/document-metadata.js.map +1 -1
  78. package/dist/server/services/document-metadata.mjs +2 -0
  79. package/dist/server/services/document-metadata.mjs.map +1 -1
  80. package/dist/server/services/utils/configuration/attributes.js +1 -1
  81. package/dist/server/services/utils/configuration/attributes.js.map +1 -1
  82. package/dist/server/services/utils/configuration/attributes.mjs +1 -1
  83. package/dist/server/services/utils/configuration/attributes.mjs.map +1 -1
  84. package/dist/server/services/utils/configuration/layouts.js +1 -1
  85. package/dist/server/services/utils/configuration/layouts.js.map +1 -1
  86. package/dist/server/services/utils/configuration/layouts.mjs +1 -1
  87. package/dist/server/services/utils/configuration/layouts.mjs.map +1 -1
  88. package/dist/server/services/utils/configuration/metadatas.js +8 -0
  89. package/dist/server/services/utils/configuration/metadatas.js.map +1 -1
  90. package/dist/server/services/utils/configuration/metadatas.mjs +8 -0
  91. package/dist/server/services/utils/configuration/metadatas.mjs.map +1 -1
  92. package/dist/server/services/utils/populate.js +11 -0
  93. package/dist/server/services/utils/populate.js.map +1 -1
  94. package/dist/server/services/utils/populate.mjs +11 -0
  95. package/dist/server/services/utils/populate.mjs.map +1 -1
  96. package/dist/server/src/controllers/content-types.d.ts.map +1 -1
  97. package/dist/server/src/controllers/validation/index.d.ts +6 -1
  98. package/dist/server/src/controllers/validation/index.d.ts.map +1 -1
  99. package/dist/server/src/services/data-mapper.d.ts.map +1 -1
  100. package/dist/server/src/services/document-manager.d.ts.map +1 -1
  101. package/dist/server/src/services/document-metadata.d.ts.map +1 -1
  102. package/dist/server/src/services/utils/configuration/metadatas.d.ts.map +1 -1
  103. package/dist/server/src/services/utils/populate.d.ts.map +1 -1
  104. package/dist/shared/contracts/collection-types.d.ts +0 -1
  105. package/dist/shared/contracts/collection-types.d.ts.map +1 -1
  106. package/package.json +7 -7
@@ -112,75 +112,63 @@ import { titleHandler, listHandler, markdownHandler, quoteAndCodeHandler } from
112
112
  children: [
113
113
  /*#__PURE__*/ jsx(Menu.Separator, {}),
114
114
  /*#__PURE__*/ jsx(Menu.Item, {
115
+ startIcon: /*#__PURE__*/ jsx(Bold, {
116
+ fill: "neutral500"
117
+ }),
115
118
  onSelect: ()=>handleActionClick('Bold', editorRef),
116
119
  disabled: isDisabled,
117
- children: /*#__PURE__*/ jsxs(Flex, {
120
+ children: /*#__PURE__*/ jsx(Flex, {
118
121
  tag: "span",
119
122
  gap: 2,
120
- children: [
121
- /*#__PURE__*/ jsx(Bold, {
122
- "aria-hidden": true,
123
- fill: "neutral600"
124
- }),
125
- formatMessage({
126
- id: 'components.Blocks.modifiers.bold',
127
- defaultMessage: 'Bold'
128
- })
129
- ]
123
+ children: formatMessage({
124
+ id: 'components.Blocks.modifiers.bold',
125
+ defaultMessage: 'Bold'
126
+ })
130
127
  })
131
128
  }),
132
129
  /*#__PURE__*/ jsx(Menu.Item, {
130
+ startIcon: /*#__PURE__*/ jsx(Italic, {
131
+ fill: "neutral500"
132
+ }),
133
133
  onSelect: ()=>handleActionClick('Italic', editorRef),
134
134
  disabled: isDisabled,
135
- children: /*#__PURE__*/ jsxs(Flex, {
135
+ children: /*#__PURE__*/ jsx(Flex, {
136
136
  tag: "span",
137
137
  gap: 2,
138
- children: [
139
- /*#__PURE__*/ jsx(Italic, {
140
- "aria-hidden": true,
141
- fill: "neutral600"
142
- }),
143
- formatMessage({
144
- id: 'components.Blocks.modifiers.italic',
145
- defaultMessage: 'Italic'
146
- })
147
- ]
138
+ children: formatMessage({
139
+ id: 'components.Blocks.modifiers.italic',
140
+ defaultMessage: 'Italic'
141
+ })
148
142
  })
149
143
  }),
150
144
  /*#__PURE__*/ jsx(Menu.Item, {
145
+ startIcon: /*#__PURE__*/ jsx(Underline, {
146
+ fill: "neutral500"
147
+ }),
151
148
  onSelect: ()=>handleActionClick('Underline', editorRef),
152
149
  disabled: isDisabled,
153
- children: /*#__PURE__*/ jsxs(Flex, {
150
+ children: /*#__PURE__*/ jsx(Flex, {
154
151
  tag: "span",
155
152
  gap: 2,
156
- children: [
157
- /*#__PURE__*/ jsx(Underline, {
158
- "aria-hidden": true,
159
- fill: "neutral600"
160
- }),
161
- formatMessage({
162
- id: 'components.Blocks.modifiers.underline',
163
- defaultMessage: 'Underline'
164
- })
165
- ]
153
+ children: formatMessage({
154
+ id: 'components.Blocks.modifiers.underline',
155
+ defaultMessage: 'Underline'
156
+ })
166
157
  })
167
158
  }),
168
159
  /*#__PURE__*/ jsx(Menu.Item, {
160
+ startIcon: /*#__PURE__*/ jsx(StrikeThrough, {
161
+ fill: "neutral500"
162
+ }),
169
163
  onSelect: ()=>handleActionClick('Strikethrough', editorRef),
170
164
  disabled: isDisabled,
171
- children: /*#__PURE__*/ jsxs(Flex, {
165
+ children: /*#__PURE__*/ jsx(Flex, {
172
166
  tag: "span",
173
167
  gap: 2,
174
- children: [
175
- /*#__PURE__*/ jsx(StrikeThrough, {
176
- "aria-hidden": true,
177
- fill: "neutral600"
178
- }),
179
- formatMessage({
180
- id: 'components.Blocks.modifiers.strikethrough',
181
- defaultMessage: 'Strikethrough'
182
- })
183
- ]
168
+ children: formatMessage({
169
+ id: 'components.Blocks.modifiers.strikethrough',
170
+ defaultMessage: 'Strikethrough'
171
+ })
184
172
  })
185
173
  })
186
174
  ]
@@ -222,39 +210,33 @@ import { titleHandler, listHandler, markdownHandler, quoteAndCodeHandler } from
222
210
  children: [
223
211
  /*#__PURE__*/ jsx(Menu.Separator, {}),
224
212
  /*#__PURE__*/ jsx(Menu.Item, {
213
+ startIcon: /*#__PURE__*/ jsx(BulletList, {
214
+ fill: "neutral500"
215
+ }),
225
216
  onSelect: ()=>handleActionClick('BulletList', editorRef),
226
217
  disabled: isDisabled,
227
- children: /*#__PURE__*/ jsxs(Flex, {
218
+ children: /*#__PURE__*/ jsx(Flex, {
228
219
  tag: "span",
229
220
  gap: 2,
230
- children: [
231
- /*#__PURE__*/ jsx(BulletList, {
232
- "aria-hidden": true,
233
- fill: "neutral600"
234
- }),
235
- formatMessage({
236
- id: 'components.Blocks.blocks.unorderedList',
237
- defaultMessage: 'Bulleted list'
238
- })
239
- ]
221
+ children: formatMessage({
222
+ id: 'components.Blocks.blocks.unorderedList',
223
+ defaultMessage: 'Bulleted list'
224
+ })
240
225
  })
241
226
  }),
242
227
  /*#__PURE__*/ jsx(Menu.Item, {
228
+ startIcon: /*#__PURE__*/ jsx(NumberList, {
229
+ fill: "neutral500"
230
+ }),
243
231
  onSelect: ()=>handleActionClick('NumberList', editorRef),
244
232
  disabled: isDisabled,
245
- children: /*#__PURE__*/ jsxs(Flex, {
233
+ children: /*#__PURE__*/ jsx(Flex, {
246
234
  tag: "span",
247
235
  gap: 2,
248
- children: [
249
- /*#__PURE__*/ jsx(NumberList, {
250
- "aria-hidden": true,
251
- fill: "neutral600"
252
- }),
253
- formatMessage({
254
- id: 'components.Blocks.blocks.orderedList',
255
- defaultMessage: 'Numbered list'
256
- })
257
- ]
236
+ children: formatMessage({
237
+ id: 'components.Blocks.blocks.orderedList',
238
+ defaultMessage: 'Numbered list'
239
+ })
258
240
  })
259
241
  })
260
242
  ]
@@ -324,79 +306,65 @@ import { titleHandler, listHandler, markdownHandler, quoteAndCodeHandler } from
324
306
  children: [
325
307
  /*#__PURE__*/ jsx(Menu.Separator, {}),
326
308
  /*#__PURE__*/ jsx(Menu.Item, {
309
+ startIcon: /*#__PURE__*/ jsx(Code, {
310
+ fill: "neutral500"
311
+ }),
327
312
  onSelect: ()=>handleActionClick('Code', editorRef),
328
313
  disabled: isDisabled,
329
- children: /*#__PURE__*/ jsxs(Flex, {
314
+ children: /*#__PURE__*/ jsx(Flex, {
330
315
  tag: "span",
331
316
  gap: 2,
332
- children: [
333
- /*#__PURE__*/ jsx(Code, {
334
- "aria-hidden": true,
335
- fill: "neutral600"
336
- }),
337
- formatMessage({
338
- id: 'components.Wysiwyg.blocks.code',
339
- defaultMessage: 'Code'
340
- })
341
- ]
317
+ children: formatMessage({
318
+ id: 'components.Wysiwyg.blocks.code',
319
+ defaultMessage: 'Code'
320
+ })
342
321
  })
343
322
  }),
344
323
  /*#__PURE__*/ jsx(Menu.Item, {
345
- startIcon: /*#__PURE__*/ jsx(Image, {}),
324
+ startIcon: /*#__PURE__*/ jsx(Image, {
325
+ fill: "neutral500"
326
+ }),
346
327
  onSelect: ()=>{
347
328
  onToggleMediaLib();
348
329
  },
349
330
  disabled: isDisabled,
350
- children: /*#__PURE__*/ jsxs(Flex, {
331
+ children: /*#__PURE__*/ jsx(Flex, {
351
332
  tag: "span",
352
333
  gap: 2,
353
- children: [
354
- /*#__PURE__*/ jsx(Image, {
355
- "aria-hidden": true,
356
- fill: "neutral600"
357
- }),
358
- formatMessage({
359
- id: 'components.Blocks.blocks.image',
360
- defaultMessage: 'Image'
361
- })
362
- ]
334
+ children: formatMessage({
335
+ id: 'components.Blocks.blocks.image',
336
+ defaultMessage: 'Image'
337
+ })
363
338
  })
364
339
  }),
365
340
  /*#__PURE__*/ jsx(Menu.Item, {
366
- startIcon: /*#__PURE__*/ jsx(Link, {}),
341
+ startIcon: /*#__PURE__*/ jsx(Link, {
342
+ fill: "neutral500"
343
+ }),
367
344
  onSelect: ()=>handleActionClick('Link', editorRef),
368
345
  disabled: isDisabled,
369
- children: /*#__PURE__*/ jsxs(Flex, {
346
+ children: /*#__PURE__*/ jsx(Flex, {
370
347
  tag: "span",
371
348
  gap: 2,
372
- children: [
373
- /*#__PURE__*/ jsx(Link, {
374
- "aria-hidden": true,
375
- fill: "neutral600"
376
- }),
377
- formatMessage({
378
- id: 'components.Blocks.popover.link',
379
- defaultMessage: 'Link'
380
- })
381
- ]
349
+ children: formatMessage({
350
+ id: 'components.Blocks.popover.link',
351
+ defaultMessage: 'Link'
352
+ })
382
353
  })
383
354
  }),
384
355
  /*#__PURE__*/ jsx(Menu.Item, {
356
+ startIcon: /*#__PURE__*/ jsx(Quotes, {
357
+ fill: "neutral500"
358
+ }),
385
359
  onSelect: ()=>handleActionClick('Quote', editorRef),
386
360
  disabled: isDisabled,
387
- children: /*#__PURE__*/ jsxs(Flex, {
361
+ children: /*#__PURE__*/ jsx(Flex, {
388
362
  tag: "span",
389
363
  gap: 2,
390
- children: [
391
- /*#__PURE__*/ jsx(Quotes, {
392
- "aria-hidden": true,
393
- fill: "neutral600"
394
- }),
395
- formatMessage({
396
- id: 'components.Blocks.blocks.quote',
397
- defaultMessage: 'Quote'
398
- })
399
- ]
364
+ children: formatMessage({
365
+ id: 'components.Blocks.blocks.quote',
366
+ defaultMessage: 'Quote'
367
+ })
400
368
  })
401
369
  })
402
370
  ]
@@ -430,7 +398,7 @@ import { titleHandler, listHandler, markdownHandler, quoteAndCodeHandler } from
430
398
  /*#__PURE__*/ jsx(SingleSelectOption, {
431
399
  value: "h1",
432
400
  startIcon: /*#__PURE__*/ jsx(HeadingOne, {
433
- fill: "neutral600"
401
+ fill: "neutral500"
434
402
  }),
435
403
  children: formatMessage({
436
404
  id: 'components.Wysiwyg.selectOptions.H1',
@@ -440,7 +408,7 @@ import { titleHandler, listHandler, markdownHandler, quoteAndCodeHandler } from
440
408
  /*#__PURE__*/ jsx(SingleSelectOption, {
441
409
  value: "h2",
442
410
  startIcon: /*#__PURE__*/ jsx(HeadingTwo, {
443
- fill: "neutral600"
411
+ fill: "neutral500"
444
412
  }),
445
413
  children: formatMessage({
446
414
  id: 'components.Wysiwyg.selectOptions.H2',
@@ -450,7 +418,7 @@ import { titleHandler, listHandler, markdownHandler, quoteAndCodeHandler } from
450
418
  /*#__PURE__*/ jsx(SingleSelectOption, {
451
419
  value: "h3",
452
420
  startIcon: /*#__PURE__*/ jsx(HeadingThree, {
453
- fill: "neutral600"
421
+ fill: "neutral500"
454
422
  }),
455
423
  children: formatMessage({
456
424
  id: 'components.Wysiwyg.selectOptions.H3',
@@ -460,7 +428,7 @@ import { titleHandler, listHandler, markdownHandler, quoteAndCodeHandler } from
460
428
  /*#__PURE__*/ jsx(SingleSelectOption, {
461
429
  value: "h4",
462
430
  startIcon: /*#__PURE__*/ jsx(HeadingFour, {
463
- fill: "neutral600"
431
+ fill: "neutral500"
464
432
  }),
465
433
  children: formatMessage({
466
434
  id: 'components.Wysiwyg.selectOptions.H4',
@@ -470,7 +438,7 @@ import { titleHandler, listHandler, markdownHandler, quoteAndCodeHandler } from
470
438
  /*#__PURE__*/ jsx(SingleSelectOption, {
471
439
  value: "h5",
472
440
  startIcon: /*#__PURE__*/ jsx(HeadingFive, {
473
- fill: "neutral600"
441
+ fill: "neutral500"
474
442
  }),
475
443
  children: formatMessage({
476
444
  id: 'components.Wysiwyg.selectOptions.H5',
@@ -480,7 +448,7 @@ import { titleHandler, listHandler, markdownHandler, quoteAndCodeHandler } from
480
448
  /*#__PURE__*/ jsx(SingleSelectOption, {
481
449
  value: "h6",
482
450
  startIcon: /*#__PURE__*/ jsx(HeadingSix, {
483
- fill: "neutral600"
451
+ fill: "neutral500"
484
452
  }),
485
453
  children: formatMessage({
486
454
  id: 'components.Wysiwyg.selectOptions.H6',
@@ -1 +1 @@
1
- {"version":3,"file":"WysiwygNav.mjs","sources":["../../../../../../../admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Button,\n Flex,\n IconButton,\n IconButtonGroup,\n SingleSelectOption,\n SingleSelect,\n Field,\n Menu,\n} from '@strapi/design-system';\nimport {\n Bold,\n BulletList,\n Code,\n Italic,\n Link,\n NumberList,\n Image,\n Quotes,\n StrikeThrough,\n Underline,\n HeadingOne,\n HeadingTwo,\n HeadingThree,\n HeadingFour,\n HeadingFive,\n HeadingSix,\n} from '@strapi/icons';\nimport { EditorFromTextArea } from 'codemirror5';\nimport { useIntl } from 'react-intl';\n\nimport { EditorToolbarObserver, type ObservedComponent } from '../../EditorToolbarObserver';\n\nimport { listHandler, markdownHandler, quoteAndCodeHandler, titleHandler } from './utils/utils';\n\ninterface WysiwygNavProps {\n disabled?: boolean;\n editorRef: React.MutableRefObject<EditorFromTextArea>;\n isExpandMode?: boolean;\n isPreviewMode?: boolean;\n onToggleMediaLib: () => void;\n onTogglePreviewMode?: () => void;\n}\n\n/**\n * TODO: refactor this mess.\n */\nconst WysiwygNav = ({\n disabled,\n editorRef,\n isPreviewMode,\n onToggleMediaLib,\n onTogglePreviewMode,\n}: WysiwygNavProps) => {\n const { formatMessage } = useIntl();\n const isDisabled = disabled || isPreviewMode;\n\n const handleActionClick = (\n value: string,\n currentEditorRef: React.MutableRefObject<EditorFromTextArea>\n ) => {\n switch (value) {\n case 'Link': {\n markdownHandler(currentEditorRef, value);\n break;\n }\n case 'Code':\n case 'Quote': {\n quoteAndCodeHandler(currentEditorRef, value);\n break;\n }\n case 'Bold':\n case 'Italic':\n case 'Underline':\n case 'Strikethrough': {\n markdownHandler(currentEditorRef, value);\n break;\n }\n case 'BulletList':\n case 'NumberList': {\n listHandler(currentEditorRef, value);\n break;\n }\n case 'h1':\n case 'h2':\n case 'h3':\n case 'h4':\n case 'h5':\n case 'h6': {\n titleHandler(currentEditorRef, value);\n break;\n }\n default: {\n // Nothing\n }\n }\n };\n\n const observedComponents: ObservedComponent[] = [\n {\n toolbar: (\n <IconButtonGroup>\n <IconButton\n disabled={isDisabled}\n onClick={() => handleActionClick('Bold', editorRef)}\n label={formatMessage({\n id: 'components.Blocks.modifiers.bold',\n defaultMessage: 'Bold',\n })}\n name={formatMessage({\n id: 'components.Blocks.modifiers.bold',\n defaultMessage: 'Bold',\n })}\n >\n <Bold />\n </IconButton>\n <IconButton\n disabled={isDisabled}\n onClick={() => handleActionClick('Italic', editorRef)}\n label={formatMessage({\n id: 'components.Blocks.modifiers.italic',\n defaultMessage: 'Italic',\n })}\n name={formatMessage({\n id: 'components.Blocks.modifiers.italic',\n defaultMessage: 'Italic',\n })}\n >\n <Italic />\n </IconButton>\n <IconButton\n disabled={isDisabled}\n onClick={() => handleActionClick('Underline', editorRef)}\n label={formatMessage({\n id: 'components.Blocks.modifiers.underline',\n defaultMessage: 'Underline',\n })}\n name={formatMessage({\n id: 'components.Blocks.modifiers.underline',\n defaultMessage: 'Underline',\n })}\n >\n <Underline />\n </IconButton>\n <IconButton\n disabled={isDisabled}\n onClick={() => handleActionClick('Strikethrough', editorRef)}\n label={formatMessage({\n id: 'components.Blocks.modifiers.strikethrough',\n defaultMessage: 'Strikethrough',\n })}\n name={formatMessage({\n id: 'components.Blocks.modifiers.strikethrough',\n defaultMessage: 'Strikethrough',\n })}\n >\n <StrikeThrough />\n </IconButton>\n </IconButtonGroup>\n ),\n menu: (\n <>\n <Menu.Separator />\n <Menu.Item onSelect={() => handleActionClick('Bold', editorRef)} disabled={isDisabled}>\n <Flex tag=\"span\" gap={2}>\n <Bold aria-hidden fill=\"neutral600\" />\n {formatMessage({\n id: 'components.Blocks.modifiers.bold',\n defaultMessage: 'Bold',\n })}\n </Flex>\n </Menu.Item>\n <Menu.Item onSelect={() => handleActionClick('Italic', editorRef)} disabled={isDisabled}>\n <Flex tag=\"span\" gap={2}>\n <Italic aria-hidden fill=\"neutral600\" />\n {formatMessage({\n id: 'components.Blocks.modifiers.italic',\n defaultMessage: 'Italic',\n })}\n </Flex>\n </Menu.Item>\n <Menu.Item\n onSelect={() => handleActionClick('Underline', editorRef)}\n disabled={isDisabled}\n >\n <Flex tag=\"span\" gap={2}>\n <Underline aria-hidden fill=\"neutral600\" />\n {formatMessage({\n id: 'components.Blocks.modifiers.underline',\n defaultMessage: 'Underline',\n })}\n </Flex>\n </Menu.Item>\n <Menu.Item\n onSelect={() => handleActionClick('Strikethrough', editorRef)}\n disabled={isDisabled}\n >\n <Flex tag=\"span\" gap={2}>\n <StrikeThrough aria-hidden fill=\"neutral600\" />\n {formatMessage({\n id: 'components.Blocks.modifiers.strikethrough',\n defaultMessage: 'Strikethrough',\n })}\n </Flex>\n </Menu.Item>\n </>\n ),\n key: 'formatting-group-1',\n },\n {\n toolbar: (\n <IconButtonGroup>\n <IconButton\n disabled={isDisabled}\n onClick={() => handleActionClick('BulletList', editorRef)}\n label={formatMessage({\n id: 'components.Blocks.blocks.bulletList',\n defaultMessage: 'Bulleted list',\n })}\n name={formatMessage({\n id: 'components.Blocks.blocks.bulletList',\n defaultMessage: 'Bulleted list',\n })}\n >\n <BulletList />\n </IconButton>\n <IconButton\n disabled={isDisabled}\n onClick={() => handleActionClick('NumberList', editorRef)}\n label={formatMessage({\n id: 'components.Blocks.blocks.numberList',\n defaultMessage: 'Numbered list',\n })}\n name={formatMessage({\n id: 'components.Blocks.blocks.numberList',\n defaultMessage: 'Numbered list',\n })}\n >\n <NumberList />\n </IconButton>\n </IconButtonGroup>\n ),\n menu: (\n <>\n <Menu.Separator />\n <Menu.Item\n onSelect={() => handleActionClick('BulletList', editorRef)}\n disabled={isDisabled}\n >\n <Flex tag=\"span\" gap={2}>\n <BulletList aria-hidden fill=\"neutral600\" />\n {formatMessage({\n id: 'components.Blocks.blocks.unorderedList',\n defaultMessage: 'Bulleted list',\n })}\n </Flex>\n </Menu.Item>\n <Menu.Item\n onSelect={() => handleActionClick('NumberList', editorRef)}\n disabled={isDisabled}\n >\n <Flex tag=\"span\" gap={2}>\n <NumberList aria-hidden fill=\"neutral600\" />\n {formatMessage({\n id: 'components.Blocks.blocks.orderedList',\n defaultMessage: 'Numbered list',\n })}\n </Flex>\n </Menu.Item>\n </>\n ),\n key: 'formatting-group-2',\n },\n {\n toolbar: (\n <IconButtonGroup>\n <IconButton\n disabled={isDisabled}\n onClick={() => handleActionClick('Code', editorRef)}\n label={formatMessage({\n id: 'components.Wysiwyg.blocks.code',\n defaultMessage: 'Code',\n })}\n name={formatMessage({\n id: 'components.Wysiwyg.blocks.code',\n defaultMessage: 'Code',\n })}\n >\n <Code />\n </IconButton>\n <IconButton\n disabled={isDisabled}\n onClick={() => {\n onToggleMediaLib();\n }}\n label={formatMessage({\n id: 'components.Blocks.blocks.image',\n defaultMessage: 'Image',\n })}\n name={formatMessage({\n id: 'components.Blocks.blocks.image',\n defaultMessage: 'Image',\n })}\n >\n <Image />\n </IconButton>\n <IconButton\n disabled={isDisabled}\n onClick={() => handleActionClick('Link', editorRef)}\n label={formatMessage({\n id: 'components.Blocks.popover.link',\n defaultMessage: 'Link',\n })}\n name={formatMessage({\n id: 'components.Blocks.popover.link',\n defaultMessage: 'Link',\n })}\n >\n <Link />\n </IconButton>\n <IconButton\n disabled={isDisabled}\n onClick={() => handleActionClick('Quote', editorRef)}\n label={formatMessage({\n id: 'components.Blocks.blocks.quote',\n defaultMessage: 'Quote',\n })}\n name={formatMessage({\n id: 'components.Blocks.blocks.quote',\n defaultMessage: 'Quote',\n })}\n >\n <Quotes />\n </IconButton>\n </IconButtonGroup>\n ),\n menu: (\n <>\n <Menu.Separator />\n <Menu.Item onSelect={() => handleActionClick('Code', editorRef)} disabled={isDisabled}>\n <Flex tag=\"span\" gap={2}>\n <Code aria-hidden fill=\"neutral600\" />\n {formatMessage({\n id: 'components.Wysiwyg.blocks.code',\n defaultMessage: 'Code',\n })}\n </Flex>\n </Menu.Item>\n <Menu.Item\n startIcon={<Image />}\n onSelect={() => {\n onToggleMediaLib();\n }}\n disabled={isDisabled}\n >\n <Flex tag=\"span\" gap={2}>\n <Image aria-hidden fill=\"neutral600\" />\n {formatMessage({\n id: 'components.Blocks.blocks.image',\n defaultMessage: 'Image',\n })}\n </Flex>\n </Menu.Item>\n <Menu.Item\n startIcon={<Link />}\n onSelect={() => handleActionClick('Link', editorRef)}\n disabled={isDisabled}\n >\n <Flex tag=\"span\" gap={2}>\n <Link aria-hidden fill=\"neutral600\" />\n {formatMessage({\n id: 'components.Blocks.popover.link',\n defaultMessage: 'Link',\n })}\n </Flex>\n </Menu.Item>\n <Menu.Item onSelect={() => handleActionClick('Quote', editorRef)} disabled={isDisabled}>\n <Flex tag=\"span\" gap={2}>\n <Quotes aria-hidden fill=\"neutral600\" />\n {formatMessage({\n id: 'components.Blocks.blocks.quote',\n defaultMessage: 'Quote',\n })}\n </Flex>\n </Menu.Item>\n </>\n ),\n key: 'formatting-group-3',\n },\n ];\n\n return (\n <Flex\n padding={2}\n background=\"neutral100\"\n justifyContent=\"space-between\"\n borderRadius=\"0.4rem 0.4rem 0 0\"\n width=\"100%\"\n gap={4}\n >\n <Field.Root>\n <SingleSelect\n disabled={isDisabled}\n placeholder={formatMessage({\n id: 'components.Wysiwyg.selectOptions.title',\n defaultMessage: 'Headings',\n })}\n aria-label={formatMessage({\n id: 'components.Wysiwyg.selectOptions.title',\n defaultMessage: 'Headings',\n })}\n // @ts-expect-error – DS v2 will only allow strings.\n onChange={(value) => handleActionClick(value, editorRef)}\n size=\"S\"\n >\n <SingleSelectOption value=\"h1\" startIcon={<HeadingOne fill=\"neutral600\" />}>\n {formatMessage({\n id: 'components.Wysiwyg.selectOptions.H1',\n defaultMessage: 'Heading 1',\n })}\n </SingleSelectOption>\n <SingleSelectOption value=\"h2\" startIcon={<HeadingTwo fill=\"neutral600\" />}>\n {formatMessage({\n id: 'components.Wysiwyg.selectOptions.H2',\n defaultMessage: 'Heading 2',\n })}\n </SingleSelectOption>\n <SingleSelectOption value=\"h3\" startIcon={<HeadingThree fill=\"neutral600\" />}>\n {formatMessage({\n id: 'components.Wysiwyg.selectOptions.H3',\n defaultMessage: 'Heading 3',\n })}\n </SingleSelectOption>\n <SingleSelectOption value=\"h4\" startIcon={<HeadingFour fill=\"neutral600\" />}>\n {formatMessage({\n id: 'components.Wysiwyg.selectOptions.H4',\n defaultMessage: 'Heading 4',\n })}\n </SingleSelectOption>\n <SingleSelectOption value=\"h5\" startIcon={<HeadingFive fill=\"neutral600\" />}>\n {formatMessage({\n id: 'components.Wysiwyg.selectOptions.H5',\n defaultMessage: 'Heading 5',\n })}\n </SingleSelectOption>\n <SingleSelectOption value=\"h6\" startIcon={<HeadingSix fill=\"neutral600\" />}>\n {formatMessage({\n id: 'components.Wysiwyg.selectOptions.H6',\n defaultMessage: 'Heading 6',\n })}\n </SingleSelectOption>\n </SingleSelect>\n </Field.Root>\n <Flex width=\"100%\" justifyContent=\"space-between\" overflow=\"hidden\">\n <Flex gap={2} overflow=\"hidden\" width=\"100%\">\n <EditorToolbarObserver\n menuTriggerVariant=\"tertiary\"\n observedComponents={observedComponents}\n />\n </Flex>\n\n {onTogglePreviewMode && (\n <Button onClick={onTogglePreviewMode} variant=\"tertiary\" minWidth=\"132px\">\n {isPreviewMode\n ? formatMessage({\n id: 'components.Wysiwyg.ToggleMode.markdown-mode',\n defaultMessage: 'Markdown mode',\n })\n : formatMessage({\n id: 'components.Wysiwyg.ToggleMode.preview-mode',\n defaultMessage: 'Preview mode',\n })}\n </Button>\n )}\n </Flex>\n </Flex>\n );\n};\n\nexport { WysiwygNav };\nexport type { WysiwygNavProps };\n"],"names":["WysiwygNav","disabled","editorRef","isPreviewMode","onToggleMediaLib","onTogglePreviewMode","formatMessage","useIntl","isDisabled","handleActionClick","value","currentEditorRef","markdownHandler","quoteAndCodeHandler","listHandler","titleHandler","observedComponents","toolbar","_jsxs","IconButtonGroup","_jsx","IconButton","onClick","label","id","defaultMessage","name","Bold","Italic","Underline","StrikeThrough","menu","_Fragment","Menu","Separator","Item","onSelect","Flex","tag","gap","aria-hidden","fill","key","BulletList","NumberList","Code","Image","Link","Quotes","startIcon","padding","background","justifyContent","borderRadius","width","Field","Root","SingleSelect","placeholder","aria-label","onChange","size","SingleSelectOption","HeadingOne","HeadingTwo","HeadingThree","HeadingFour","HeadingFive","HeadingSix","overflow","EditorToolbarObserver","menuTriggerVariant","Button","variant","minWidth"],"mappings":"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"}
1
+ {"version":3,"file":"WysiwygNav.mjs","sources":["../../../../../../../admin/src/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Button,\n Flex,\n IconButton,\n IconButtonGroup,\n SingleSelectOption,\n SingleSelect,\n Field,\n Menu,\n} from '@strapi/design-system';\nimport {\n Bold,\n BulletList,\n Code,\n Italic,\n Link,\n NumberList,\n Image,\n Quotes,\n StrikeThrough,\n Underline,\n HeadingOne,\n HeadingTwo,\n HeadingThree,\n HeadingFour,\n HeadingFive,\n HeadingSix,\n} from '@strapi/icons';\nimport { EditorFromTextArea } from 'codemirror5';\nimport { useIntl } from 'react-intl';\n\nimport { EditorToolbarObserver, type ObservedComponent } from '../../EditorToolbarObserver';\n\nimport { listHandler, markdownHandler, quoteAndCodeHandler, titleHandler } from './utils/utils';\n\ninterface WysiwygNavProps {\n disabled?: boolean;\n editorRef: React.MutableRefObject<EditorFromTextArea>;\n isExpandMode?: boolean;\n isPreviewMode?: boolean;\n onToggleMediaLib: () => void;\n onTogglePreviewMode?: () => void;\n}\n\n/**\n * TODO: refactor this mess.\n */\nconst WysiwygNav = ({\n disabled,\n editorRef,\n isPreviewMode,\n onToggleMediaLib,\n onTogglePreviewMode,\n}: WysiwygNavProps) => {\n const { formatMessage } = useIntl();\n const isDisabled = disabled || isPreviewMode;\n\n const handleActionClick = (\n value: string,\n currentEditorRef: React.MutableRefObject<EditorFromTextArea>\n ) => {\n switch (value) {\n case 'Link': {\n markdownHandler(currentEditorRef, value);\n break;\n }\n case 'Code':\n case 'Quote': {\n quoteAndCodeHandler(currentEditorRef, value);\n break;\n }\n case 'Bold':\n case 'Italic':\n case 'Underline':\n case 'Strikethrough': {\n markdownHandler(currentEditorRef, value);\n break;\n }\n case 'BulletList':\n case 'NumberList': {\n listHandler(currentEditorRef, value);\n break;\n }\n case 'h1':\n case 'h2':\n case 'h3':\n case 'h4':\n case 'h5':\n case 'h6': {\n titleHandler(currentEditorRef, value);\n break;\n }\n default: {\n // Nothing\n }\n }\n };\n\n const observedComponents: ObservedComponent[] = [\n {\n toolbar: (\n <IconButtonGroup>\n <IconButton\n disabled={isDisabled}\n onClick={() => handleActionClick('Bold', editorRef)}\n label={formatMessage({\n id: 'components.Blocks.modifiers.bold',\n defaultMessage: 'Bold',\n })}\n name={formatMessage({\n id: 'components.Blocks.modifiers.bold',\n defaultMessage: 'Bold',\n })}\n >\n <Bold />\n </IconButton>\n <IconButton\n disabled={isDisabled}\n onClick={() => handleActionClick('Italic', editorRef)}\n label={formatMessage({\n id: 'components.Blocks.modifiers.italic',\n defaultMessage: 'Italic',\n })}\n name={formatMessage({\n id: 'components.Blocks.modifiers.italic',\n defaultMessage: 'Italic',\n })}\n >\n <Italic />\n </IconButton>\n <IconButton\n disabled={isDisabled}\n onClick={() => handleActionClick('Underline', editorRef)}\n label={formatMessage({\n id: 'components.Blocks.modifiers.underline',\n defaultMessage: 'Underline',\n })}\n name={formatMessage({\n id: 'components.Blocks.modifiers.underline',\n defaultMessage: 'Underline',\n })}\n >\n <Underline />\n </IconButton>\n <IconButton\n disabled={isDisabled}\n onClick={() => handleActionClick('Strikethrough', editorRef)}\n label={formatMessage({\n id: 'components.Blocks.modifiers.strikethrough',\n defaultMessage: 'Strikethrough',\n })}\n name={formatMessage({\n id: 'components.Blocks.modifiers.strikethrough',\n defaultMessage: 'Strikethrough',\n })}\n >\n <StrikeThrough />\n </IconButton>\n </IconButtonGroup>\n ),\n menu: (\n <>\n <Menu.Separator />\n <Menu.Item\n startIcon={<Bold fill=\"neutral500\" />}\n onSelect={() => handleActionClick('Bold', editorRef)}\n disabled={isDisabled}\n >\n <Flex tag=\"span\" gap={2}>\n {formatMessage({\n id: 'components.Blocks.modifiers.bold',\n defaultMessage: 'Bold',\n })}\n </Flex>\n </Menu.Item>\n <Menu.Item\n startIcon={<Italic fill=\"neutral500\" />}\n onSelect={() => handleActionClick('Italic', editorRef)}\n disabled={isDisabled}\n >\n <Flex tag=\"span\" gap={2}>\n {formatMessage({\n id: 'components.Blocks.modifiers.italic',\n defaultMessage: 'Italic',\n })}\n </Flex>\n </Menu.Item>\n <Menu.Item\n startIcon={<Underline fill=\"neutral500\" />}\n onSelect={() => handleActionClick('Underline', editorRef)}\n disabled={isDisabled}\n >\n <Flex tag=\"span\" gap={2}>\n {formatMessage({\n id: 'components.Blocks.modifiers.underline',\n defaultMessage: 'Underline',\n })}\n </Flex>\n </Menu.Item>\n <Menu.Item\n startIcon={<StrikeThrough fill=\"neutral500\" />}\n onSelect={() => handleActionClick('Strikethrough', editorRef)}\n disabled={isDisabled}\n >\n <Flex tag=\"span\" gap={2}>\n {formatMessage({\n id: 'components.Blocks.modifiers.strikethrough',\n defaultMessage: 'Strikethrough',\n })}\n </Flex>\n </Menu.Item>\n </>\n ),\n key: 'formatting-group-1',\n },\n {\n toolbar: (\n <IconButtonGroup>\n <IconButton\n disabled={isDisabled}\n onClick={() => handleActionClick('BulletList', editorRef)}\n label={formatMessage({\n id: 'components.Blocks.blocks.bulletList',\n defaultMessage: 'Bulleted list',\n })}\n name={formatMessage({\n id: 'components.Blocks.blocks.bulletList',\n defaultMessage: 'Bulleted list',\n })}\n >\n <BulletList />\n </IconButton>\n <IconButton\n disabled={isDisabled}\n onClick={() => handleActionClick('NumberList', editorRef)}\n label={formatMessage({\n id: 'components.Blocks.blocks.numberList',\n defaultMessage: 'Numbered list',\n })}\n name={formatMessage({\n id: 'components.Blocks.blocks.numberList',\n defaultMessage: 'Numbered list',\n })}\n >\n <NumberList />\n </IconButton>\n </IconButtonGroup>\n ),\n menu: (\n <>\n <Menu.Separator />\n <Menu.Item\n startIcon={<BulletList fill=\"neutral500\" />}\n onSelect={() => handleActionClick('BulletList', editorRef)}\n disabled={isDisabled}\n >\n <Flex tag=\"span\" gap={2}>\n {formatMessage({\n id: 'components.Blocks.blocks.unorderedList',\n defaultMessage: 'Bulleted list',\n })}\n </Flex>\n </Menu.Item>\n <Menu.Item\n startIcon={<NumberList fill=\"neutral500\" />}\n onSelect={() => handleActionClick('NumberList', editorRef)}\n disabled={isDisabled}\n >\n <Flex tag=\"span\" gap={2}>\n {formatMessage({\n id: 'components.Blocks.blocks.orderedList',\n defaultMessage: 'Numbered list',\n })}\n </Flex>\n </Menu.Item>\n </>\n ),\n key: 'formatting-group-2',\n },\n {\n toolbar: (\n <IconButtonGroup>\n <IconButton\n disabled={isDisabled}\n onClick={() => handleActionClick('Code', editorRef)}\n label={formatMessage({\n id: 'components.Wysiwyg.blocks.code',\n defaultMessage: 'Code',\n })}\n name={formatMessage({\n id: 'components.Wysiwyg.blocks.code',\n defaultMessage: 'Code',\n })}\n >\n <Code />\n </IconButton>\n <IconButton\n disabled={isDisabled}\n onClick={() => {\n onToggleMediaLib();\n }}\n label={formatMessage({\n id: 'components.Blocks.blocks.image',\n defaultMessage: 'Image',\n })}\n name={formatMessage({\n id: 'components.Blocks.blocks.image',\n defaultMessage: 'Image',\n })}\n >\n <Image />\n </IconButton>\n <IconButton\n disabled={isDisabled}\n onClick={() => handleActionClick('Link', editorRef)}\n label={formatMessage({\n id: 'components.Blocks.popover.link',\n defaultMessage: 'Link',\n })}\n name={formatMessage({\n id: 'components.Blocks.popover.link',\n defaultMessage: 'Link',\n })}\n >\n <Link />\n </IconButton>\n <IconButton\n disabled={isDisabled}\n onClick={() => handleActionClick('Quote', editorRef)}\n label={formatMessage({\n id: 'components.Blocks.blocks.quote',\n defaultMessage: 'Quote',\n })}\n name={formatMessage({\n id: 'components.Blocks.blocks.quote',\n defaultMessage: 'Quote',\n })}\n >\n <Quotes />\n </IconButton>\n </IconButtonGroup>\n ),\n menu: (\n <>\n <Menu.Separator />\n <Menu.Item\n startIcon={<Code fill=\"neutral500\" />}\n onSelect={() => handleActionClick('Code', editorRef)}\n disabled={isDisabled}\n >\n <Flex tag=\"span\" gap={2}>\n {formatMessage({\n id: 'components.Wysiwyg.blocks.code',\n defaultMessage: 'Code',\n })}\n </Flex>\n </Menu.Item>\n <Menu.Item\n startIcon={<Image fill=\"neutral500\" />}\n onSelect={() => {\n onToggleMediaLib();\n }}\n disabled={isDisabled}\n >\n <Flex tag=\"span\" gap={2}>\n {formatMessage({\n id: 'components.Blocks.blocks.image',\n defaultMessage: 'Image',\n })}\n </Flex>\n </Menu.Item>\n <Menu.Item\n startIcon={<Link fill=\"neutral500\" />}\n onSelect={() => handleActionClick('Link', editorRef)}\n disabled={isDisabled}\n >\n <Flex tag=\"span\" gap={2}>\n {formatMessage({\n id: 'components.Blocks.popover.link',\n defaultMessage: 'Link',\n })}\n </Flex>\n </Menu.Item>\n <Menu.Item\n startIcon={<Quotes fill=\"neutral500\" />}\n onSelect={() => handleActionClick('Quote', editorRef)}\n disabled={isDisabled}\n >\n <Flex tag=\"span\" gap={2}>\n {formatMessage({\n id: 'components.Blocks.blocks.quote',\n defaultMessage: 'Quote',\n })}\n </Flex>\n </Menu.Item>\n </>\n ),\n key: 'formatting-group-3',\n },\n ];\n\n return (\n <Flex\n padding={2}\n background=\"neutral100\"\n justifyContent=\"space-between\"\n borderRadius=\"0.4rem 0.4rem 0 0\"\n width=\"100%\"\n gap={4}\n >\n <Field.Root>\n <SingleSelect\n disabled={isDisabled}\n placeholder={formatMessage({\n id: 'components.Wysiwyg.selectOptions.title',\n defaultMessage: 'Headings',\n })}\n aria-label={formatMessage({\n id: 'components.Wysiwyg.selectOptions.title',\n defaultMessage: 'Headings',\n })}\n // @ts-expect-error – DS v2 will only allow strings.\n onChange={(value) => handleActionClick(value, editorRef)}\n size=\"S\"\n >\n <SingleSelectOption value=\"h1\" startIcon={<HeadingOne fill=\"neutral500\" />}>\n {formatMessage({\n id: 'components.Wysiwyg.selectOptions.H1',\n defaultMessage: 'Heading 1',\n })}\n </SingleSelectOption>\n <SingleSelectOption value=\"h2\" startIcon={<HeadingTwo fill=\"neutral500\" />}>\n {formatMessage({\n id: 'components.Wysiwyg.selectOptions.H2',\n defaultMessage: 'Heading 2',\n })}\n </SingleSelectOption>\n <SingleSelectOption value=\"h3\" startIcon={<HeadingThree fill=\"neutral500\" />}>\n {formatMessage({\n id: 'components.Wysiwyg.selectOptions.H3',\n defaultMessage: 'Heading 3',\n })}\n </SingleSelectOption>\n <SingleSelectOption value=\"h4\" startIcon={<HeadingFour fill=\"neutral500\" />}>\n {formatMessage({\n id: 'components.Wysiwyg.selectOptions.H4',\n defaultMessage: 'Heading 4',\n })}\n </SingleSelectOption>\n <SingleSelectOption value=\"h5\" startIcon={<HeadingFive fill=\"neutral500\" />}>\n {formatMessage({\n id: 'components.Wysiwyg.selectOptions.H5',\n defaultMessage: 'Heading 5',\n })}\n </SingleSelectOption>\n <SingleSelectOption value=\"h6\" startIcon={<HeadingSix fill=\"neutral500\" />}>\n {formatMessage({\n id: 'components.Wysiwyg.selectOptions.H6',\n defaultMessage: 'Heading 6',\n })}\n </SingleSelectOption>\n </SingleSelect>\n </Field.Root>\n <Flex width=\"100%\" justifyContent=\"space-between\" overflow=\"hidden\">\n <Flex gap={2} overflow=\"hidden\" width=\"100%\">\n <EditorToolbarObserver\n menuTriggerVariant=\"tertiary\"\n observedComponents={observedComponents}\n />\n </Flex>\n\n {onTogglePreviewMode && (\n <Button onClick={onTogglePreviewMode} variant=\"tertiary\" minWidth=\"132px\">\n {isPreviewMode\n ? formatMessage({\n id: 'components.Wysiwyg.ToggleMode.markdown-mode',\n defaultMessage: 'Markdown mode',\n })\n : formatMessage({\n id: 'components.Wysiwyg.ToggleMode.preview-mode',\n defaultMessage: 'Preview mode',\n })}\n </Button>\n )}\n </Flex>\n </Flex>\n );\n};\n\nexport { WysiwygNav };\nexport type { WysiwygNavProps };\n"],"names":["WysiwygNav","disabled","editorRef","isPreviewMode","onToggleMediaLib","onTogglePreviewMode","formatMessage","useIntl","isDisabled","handleActionClick","value","currentEditorRef","markdownHandler","quoteAndCodeHandler","listHandler","titleHandler","observedComponents","toolbar","_jsxs","IconButtonGroup","_jsx","IconButton","onClick","label","id","defaultMessage","name","Bold","Italic","Underline","StrikeThrough","menu","_Fragment","Menu","Separator","Item","startIcon","fill","onSelect","Flex","tag","gap","key","BulletList","NumberList","Code","Image","Link","Quotes","padding","background","justifyContent","borderRadius","width","Field","Root","SingleSelect","placeholder","aria-label","onChange","size","SingleSelectOption","HeadingOne","HeadingTwo","HeadingThree","HeadingFour","HeadingFive","HeadingSix","overflow","EditorToolbarObserver","menuTriggerVariant","Button","variant","minWidth"],"mappings":"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"}
@@ -101,6 +101,7 @@ const FiltersImpl = ({ disabled, schema })=>{
101
101
  });
102
102
  return [
103
103
  'id',
104
+ 'documentId',
104
105
  ...allowedFields,
105
106
  ...DEFAULT_ALLOWED_FILTERS,
106
107
  ...canReadAdminUsers ? attributes.CREATOR_FIELDS : []
@@ -1 +1 @@
1
- {"version":3,"file":"Filters.js","sources":["../../../../../admin/src/pages/ListView/components/Filters.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Filters,\n useField,\n useAuth,\n useTracking,\n useQueryParams,\n useAdminUsers,\n} from '@strapi/admin/strapi-admin';\nimport { Combobox, ComboboxOption, useCollator } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { CREATOR_FIELDS } from '../../../constants/attributes';\nimport { useContentTypeSchema } from '../../../hooks/useContentTypeSchema';\nimport { useDebounce } from '../../../hooks/useDebounce';\nimport { Schema } from '../../../hooks/useDocument';\nimport { useGetContentTypeConfigurationQuery } from '../../../services/contentTypes';\nimport { getMainField } from '../../../utils/attributes';\nimport { getDisplayName } from '../../../utils/users';\n\n/**\n * If new attributes are added, this list needs to be updated.\n */\nconst NOT_ALLOWED_FILTERS = [\n 'json',\n 'component',\n 'media',\n 'richtext',\n 'dynamiczone',\n 'password',\n 'blocks',\n];\nconst DEFAULT_ALLOWED_FILTERS = ['createdAt', 'updatedAt'];\nconst USER_FILTER_ATTRIBUTES = [...CREATOR_FIELDS, 'strapi_assignee'];\n\n/* -------------------------------------------------------------------------------------------------\n * Filters\n * -----------------------------------------------------------------------------------------------*/\ninterface FiltersProps {\n disabled?: boolean;\n schema: Schema;\n}\n\nconst FiltersImpl = ({ disabled, schema }: FiltersProps) => {\n const { attributes, uid: model, options } = schema;\n const { formatMessage, locale } = useIntl();\n const { trackUsage } = useTracking();\n const allPermissions = useAuth('FiltersImpl', (state) => state.permissions);\n const [{ query }] = useQueryParams<Filters.Query>();\n const { schemas } = useContentTypeSchema();\n\n const canReadAdminUsers = React.useMemo(\n () =>\n allPermissions.filter(\n (permission) => permission.action === 'admin::users.read' && permission.subject === null\n ).length > 0,\n [allPermissions]\n );\n\n const selectedUserIds = (query?.filters?.$and ?? []).reduce<string[]>((acc, filter) => {\n const [key, value] = Object.entries(filter)[0];\n if (typeof value.id !== 'object') {\n return acc;\n }\n\n const id = value.id.$eq || value.id.$ne;\n\n if (id && USER_FILTER_ATTRIBUTES.includes(key) && !acc.includes(id)) {\n acc.push(id);\n }\n\n return acc;\n }, []);\n\n const { data: userData, isLoading: isLoadingAdminUsers } = useAdminUsers(\n { filters: { id: { $in: selectedUserIds } } },\n {\n // fetch the list of admin users only if the filter contains users and the\n // current user has permissions to display users\n skip: selectedUserIds.length === 0 || !canReadAdminUsers,\n }\n );\n\n const { users = [] } = userData ?? {};\n\n const { metadata } = useGetContentTypeConfigurationQuery(model, {\n selectFromResult: ({ data }) => ({ metadata: data?.contentType.metadatas ?? {} }),\n });\n\n const formatter = useCollator(locale, {\n sensitivity: 'base',\n });\n\n const displayedFilters = React.useMemo(() => {\n const [{ properties: { fields = [] } = { fields: [] } }] = allPermissions.filter(\n (permission) =>\n permission.action === 'plugin::content-manager.explorer.read' &&\n permission.subject === model\n );\n\n const allowedFields = fields.filter((field) => {\n const attribute = attributes[field] ?? {};\n\n return attribute.type && !NOT_ALLOWED_FILTERS.includes(attribute.type);\n });\n\n return (\n [\n 'id',\n ...allowedFields,\n ...DEFAULT_ALLOWED_FILTERS,\n ...(canReadAdminUsers ? CREATOR_FIELDS : []),\n ]\n .map((name) => {\n const attribute = attributes[name];\n\n if (NOT_ALLOWED_FILTERS.includes(attribute.type)) {\n return null;\n }\n\n const { mainField: mainFieldName = '', label } = metadata[name].list;\n\n let filter: Filters.Filter = {\n name,\n label: label ?? '',\n mainField: getMainField(attribute, mainFieldName, { schemas, components: {} }),\n // @ts-expect-error – TODO: this is filtered out above in the `allowedFields` call but TS complains, is there a better way to solve this?\n type: attribute.type,\n };\n\n if (\n attribute.type === 'relation' &&\n 'target' in attribute &&\n attribute.target === 'admin::user'\n ) {\n filter = {\n ...filter,\n input: AdminUsersFilter,\n options: users.map((user) => ({\n label: getDisplayName(user),\n value: user.id.toString(),\n })),\n operators: [\n {\n label: formatMessage({\n id: 'components.FilterOptions.FILTER_TYPES.$eq',\n defaultMessage: 'is',\n }),\n value: '$eq',\n },\n {\n label: formatMessage({\n id: 'components.FilterOptions.FILTER_TYPES.$ne',\n defaultMessage: 'is not',\n }),\n value: '$ne',\n },\n ],\n mainField: {\n name: 'id',\n type: 'integer',\n },\n };\n }\n\n if (attribute.type === 'enumeration') {\n filter = {\n ...filter,\n options: attribute.enum.map((value) => ({\n label: value,\n value,\n })),\n };\n }\n\n return filter;\n })\n .filter(Boolean) as Filters.Filter[]\n ).toSorted((a, b) => formatter.compare(a.label, b.label));\n }, [\n allPermissions,\n canReadAdminUsers,\n model,\n attributes,\n metadata,\n schemas,\n users,\n formatMessage,\n formatter,\n ]);\n\n const onOpenChange = (isOpen: boolean) => {\n if (isOpen) {\n trackUsage('willFilterEntries');\n }\n };\n\n const handleFilterChange: Filters.Props['onChange'] = (data) => {\n const attribute = attributes[data.name];\n\n if (attribute) {\n trackUsage('didFilterEntries', {\n useRelation: attribute.type === 'relation',\n });\n }\n };\n\n return (\n <Filters.Root\n disabled={disabled}\n options={displayedFilters}\n onOpenChange={onOpenChange}\n onChange={handleFilterChange}\n >\n <Filters.Trigger />\n <Filters.Popover />\n <Filters.List />\n </Filters.Root>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * AdminUsersFilter\n * -----------------------------------------------------------------------------------------------*/\n\nconst AdminUsersFilter = ({ name }: Filters.ValueInputProps) => {\n const [pageSize, setPageSize] = React.useState(10);\n const [search, setSearch] = React.useState('');\n const { formatMessage } = useIntl();\n\n const debouncedSearch = useDebounce(search, 300);\n\n const { data, isLoading } = useAdminUsers({\n pageSize,\n _q: debouncedSearch,\n });\n const field = useField(name);\n\n const handleOpenChange = (isOpen?: boolean) => {\n if (!isOpen) {\n setPageSize(10);\n }\n };\n\n const { users = [], pagination } = data ?? {};\n const { pageCount = 1, page = 1 } = pagination ?? {};\n\n return (\n <Combobox\n value={field.value}\n aria-label={formatMessage({\n id: 'content-manager.components.Filters.usersSelect.label',\n defaultMessage: 'Search and select a user to filter',\n })}\n onOpenChange={handleOpenChange}\n onChange={(value) => field.onChange(name, value)}\n loading={isLoading}\n onLoadMore={() => setPageSize(pageSize + 10)}\n hasMoreItems={page < pageCount}\n onInputChange={(e: React.ChangeEvent<HTMLInputElement>) => {\n setSearch(e.currentTarget.value);\n }}\n >\n {users.map((user) => {\n return (\n <ComboboxOption key={user.id} value={user.id.toString()}>\n {getDisplayName(user)}\n </ComboboxOption>\n );\n })}\n </Combobox>\n );\n};\n\nexport { FiltersImpl as Filters };\nexport type { FiltersProps };\n"],"names":["NOT_ALLOWED_FILTERS","DEFAULT_ALLOWED_FILTERS","USER_FILTER_ATTRIBUTES","CREATOR_FIELDS","FiltersImpl","disabled","schema","attributes","uid","model","options","formatMessage","locale","useIntl","trackUsage","useTracking","allPermissions","useAuth","state","permissions","query","useQueryParams","schemas","useContentTypeSchema","canReadAdminUsers","React","useMemo","filter","permission","action","subject","length","selectedUserIds","filters","$and","reduce","acc","key","value","Object","entries","id","$eq","$ne","includes","push","data","userData","isLoading","isLoadingAdminUsers","useAdminUsers","$in","skip","users","metadata","useGetContentTypeConfigurationQuery","selectFromResult","contentType","metadatas","formatter","useCollator","sensitivity","displayedFilters","properties","fields","allowedFields","field","attribute","type","map","name","mainField","mainFieldName","label","list","getMainField","components","target","input","AdminUsersFilter","user","getDisplayName","toString","operators","defaultMessage","enum","Boolean","toSorted","a","b","compare","onOpenChange","isOpen","handleFilterChange","useRelation","_jsxs","Filters","Root","onChange","_jsx","Trigger","Popover","List","pageSize","setPageSize","useState","search","setSearch","debouncedSearch","useDebounce","_q","useField","handleOpenChange","pagination","pageCount","page","Combobox","aria-label","loading","onLoadMore","hasMoreItems","onInputChange","e","currentTarget","ComboboxOption"],"mappings":"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"}
1
+ {"version":3,"file":"Filters.js","sources":["../../../../../admin/src/pages/ListView/components/Filters.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport {\n Filters,\n useField,\n useAuth,\n useTracking,\n useQueryParams,\n useAdminUsers,\n} from '@strapi/admin/strapi-admin';\nimport { Combobox, ComboboxOption, useCollator } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { CREATOR_FIELDS } from '../../../constants/attributes';\nimport { useContentTypeSchema } from '../../../hooks/useContentTypeSchema';\nimport { useDebounce } from '../../../hooks/useDebounce';\nimport { Schema } from '../../../hooks/useDocument';\nimport { useGetContentTypeConfigurationQuery } from '../../../services/contentTypes';\nimport { getMainField } from '../../../utils/attributes';\nimport { getDisplayName } from '../../../utils/users';\n\n/**\n * If new attributes are added, this list needs to be updated.\n */\nconst NOT_ALLOWED_FILTERS = [\n 'json',\n 'component',\n 'media',\n 'richtext',\n 'dynamiczone',\n 'password',\n 'blocks',\n];\nconst DEFAULT_ALLOWED_FILTERS = ['createdAt', 'updatedAt'];\nconst USER_FILTER_ATTRIBUTES = [...CREATOR_FIELDS, 'strapi_assignee'];\n\n/* -------------------------------------------------------------------------------------------------\n * Filters\n * -----------------------------------------------------------------------------------------------*/\ninterface FiltersProps {\n disabled?: boolean;\n schema: Schema;\n}\n\nconst FiltersImpl = ({ disabled, schema }: FiltersProps) => {\n const { attributes, uid: model, options } = schema;\n const { formatMessage, locale } = useIntl();\n const { trackUsage } = useTracking();\n const allPermissions = useAuth('FiltersImpl', (state) => state.permissions);\n const [{ query }] = useQueryParams<Filters.Query>();\n const { schemas } = useContentTypeSchema();\n\n const canReadAdminUsers = React.useMemo(\n () =>\n allPermissions.filter(\n (permission) => permission.action === 'admin::users.read' && permission.subject === null\n ).length > 0,\n [allPermissions]\n );\n\n const selectedUserIds = (query?.filters?.$and ?? []).reduce<string[]>((acc, filter) => {\n const [key, value] = Object.entries(filter)[0];\n if (typeof value.id !== 'object') {\n return acc;\n }\n\n const id = value.id.$eq || value.id.$ne;\n\n if (id && USER_FILTER_ATTRIBUTES.includes(key) && !acc.includes(id)) {\n acc.push(id);\n }\n\n return acc;\n }, []);\n\n const { data: userData, isLoading: isLoadingAdminUsers } = useAdminUsers(\n { filters: { id: { $in: selectedUserIds } } },\n {\n // fetch the list of admin users only if the filter contains users and the\n // current user has permissions to display users\n skip: selectedUserIds.length === 0 || !canReadAdminUsers,\n }\n );\n\n const { users = [] } = userData ?? {};\n\n const { metadata } = useGetContentTypeConfigurationQuery(model, {\n selectFromResult: ({ data }) => ({ metadata: data?.contentType.metadatas ?? {} }),\n });\n\n const formatter = useCollator(locale, {\n sensitivity: 'base',\n });\n\n const displayedFilters = React.useMemo(() => {\n const [{ properties: { fields = [] } = { fields: [] } }] = allPermissions.filter(\n (permission) =>\n permission.action === 'plugin::content-manager.explorer.read' &&\n permission.subject === model\n );\n\n const allowedFields = fields.filter((field) => {\n const attribute = attributes[field] ?? {};\n\n return attribute.type && !NOT_ALLOWED_FILTERS.includes(attribute.type);\n });\n\n return (\n [\n 'id',\n 'documentId',\n ...allowedFields,\n ...DEFAULT_ALLOWED_FILTERS,\n ...(canReadAdminUsers ? CREATOR_FIELDS : []),\n ]\n .map((name) => {\n const attribute = attributes[name];\n\n if (NOT_ALLOWED_FILTERS.includes(attribute.type)) {\n return null;\n }\n\n const { mainField: mainFieldName = '', label } = metadata[name].list;\n\n let filter: Filters.Filter = {\n name,\n label: label ?? '',\n mainField: getMainField(attribute, mainFieldName, { schemas, components: {} }),\n // @ts-expect-error – TODO: this is filtered out above in the `allowedFields` call but TS complains, is there a better way to solve this?\n type: attribute.type,\n };\n\n if (\n attribute.type === 'relation' &&\n 'target' in attribute &&\n attribute.target === 'admin::user'\n ) {\n filter = {\n ...filter,\n input: AdminUsersFilter,\n options: users.map((user) => ({\n label: getDisplayName(user),\n value: user.id.toString(),\n })),\n operators: [\n {\n label: formatMessage({\n id: 'components.FilterOptions.FILTER_TYPES.$eq',\n defaultMessage: 'is',\n }),\n value: '$eq',\n },\n {\n label: formatMessage({\n id: 'components.FilterOptions.FILTER_TYPES.$ne',\n defaultMessage: 'is not',\n }),\n value: '$ne',\n },\n ],\n mainField: {\n name: 'id',\n type: 'integer',\n },\n };\n }\n\n if (attribute.type === 'enumeration') {\n filter = {\n ...filter,\n options: attribute.enum.map((value) => ({\n label: value,\n value,\n })),\n };\n }\n\n return filter;\n })\n .filter(Boolean) as Filters.Filter[]\n ).toSorted((a, b) => formatter.compare(a.label, b.label));\n }, [\n allPermissions,\n canReadAdminUsers,\n model,\n attributes,\n metadata,\n schemas,\n users,\n formatMessage,\n formatter,\n ]);\n\n const onOpenChange = (isOpen: boolean) => {\n if (isOpen) {\n trackUsage('willFilterEntries');\n }\n };\n\n const handleFilterChange: Filters.Props['onChange'] = (data) => {\n const attribute = attributes[data.name];\n\n if (attribute) {\n trackUsage('didFilterEntries', {\n useRelation: attribute.type === 'relation',\n });\n }\n };\n\n return (\n <Filters.Root\n disabled={disabled}\n options={displayedFilters}\n onOpenChange={onOpenChange}\n onChange={handleFilterChange}\n >\n <Filters.Trigger />\n <Filters.Popover />\n <Filters.List />\n </Filters.Root>\n );\n};\n\n/* -------------------------------------------------------------------------------------------------\n * AdminUsersFilter\n * -----------------------------------------------------------------------------------------------*/\n\nconst AdminUsersFilter = ({ name }: Filters.ValueInputProps) => {\n const [pageSize, setPageSize] = React.useState(10);\n const [search, setSearch] = React.useState('');\n const { formatMessage } = useIntl();\n\n const debouncedSearch = useDebounce(search, 300);\n\n const { data, isLoading } = useAdminUsers({\n pageSize,\n _q: debouncedSearch,\n });\n const field = useField(name);\n\n const handleOpenChange = (isOpen?: boolean) => {\n if (!isOpen) {\n setPageSize(10);\n }\n };\n\n const { users = [], pagination } = data ?? {};\n const { pageCount = 1, page = 1 } = pagination ?? {};\n\n return (\n <Combobox\n value={field.value}\n aria-label={formatMessage({\n id: 'content-manager.components.Filters.usersSelect.label',\n defaultMessage: 'Search and select a user to filter',\n })}\n onOpenChange={handleOpenChange}\n onChange={(value) => field.onChange(name, value)}\n loading={isLoading}\n onLoadMore={() => setPageSize(pageSize + 10)}\n hasMoreItems={page < pageCount}\n onInputChange={(e: React.ChangeEvent<HTMLInputElement>) => {\n setSearch(e.currentTarget.value);\n }}\n >\n {users.map((user) => {\n return (\n <ComboboxOption key={user.id} value={user.id.toString()}>\n {getDisplayName(user)}\n </ComboboxOption>\n );\n })}\n </Combobox>\n );\n};\n\nexport { FiltersImpl as Filters };\nexport type { FiltersProps };\n"],"names":["NOT_ALLOWED_FILTERS","DEFAULT_ALLOWED_FILTERS","USER_FILTER_ATTRIBUTES","CREATOR_FIELDS","FiltersImpl","disabled","schema","attributes","uid","model","options","formatMessage","locale","useIntl","trackUsage","useTracking","allPermissions","useAuth","state","permissions","query","useQueryParams","schemas","useContentTypeSchema","canReadAdminUsers","React","useMemo","filter","permission","action","subject","length","selectedUserIds","filters","$and","reduce","acc","key","value","Object","entries","id","$eq","$ne","includes","push","data","userData","isLoading","isLoadingAdminUsers","useAdminUsers","$in","skip","users","metadata","useGetContentTypeConfigurationQuery","selectFromResult","contentType","metadatas","formatter","useCollator","sensitivity","displayedFilters","properties","fields","allowedFields","field","attribute","type","map","name","mainField","mainFieldName","label","list","getMainField","components","target","input","AdminUsersFilter","user","getDisplayName","toString","operators","defaultMessage","enum","Boolean","toSorted","a","b","compare","onOpenChange","isOpen","handleFilterChange","useRelation","_jsxs","Filters","Root","onChange","_jsx","Trigger","Popover","List","pageSize","setPageSize","useState","search","setSearch","debouncedSearch","useDebounce","_q","useField","handleOpenChange","pagination","pageCount","page","Combobox","aria-label","loading","onLoadMore","hasMoreItems","onInputChange","e","currentTarget","ComboboxOption"],"mappings":"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"}
@@ -80,6 +80,7 @@ const FiltersImpl = ({ disabled, schema })=>{
80
80
  });
81
81
  return [
82
82
  'id',
83
+ 'documentId',
83
84
  ...allowedFields,
84
85
  ...DEFAULT_ALLOWED_FILTERS,
85
86
  ...canReadAdminUsers ? CREATOR_FIELDS : []