@strapi/content-manager 0.0.0-next.e3eb36dde0d936dc941df54e440e2c50a0582eeb → 0.0.0-next.e3eb76a86aff89979cc9098aec129d2ffa600c56

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 (150) hide show
  1. package/dist/admin/components/ConfigurationForm/Fields.js +300 -204
  2. package/dist/admin/components/ConfigurationForm/Fields.js.map +1 -1
  3. package/dist/admin/components/ConfigurationForm/Fields.mjs +304 -209
  4. package/dist/admin/components/ConfigurationForm/Fields.mjs.map +1 -1
  5. package/dist/admin/components/LeftMenu.js +34 -30
  6. package/dist/admin/components/LeftMenu.js.map +1 -1
  7. package/dist/admin/components/LeftMenu.mjs +36 -32
  8. package/dist/admin/components/LeftMenu.mjs.map +1 -1
  9. package/dist/admin/history/components/VersionHeader.js +6 -0
  10. package/dist/admin/history/components/VersionHeader.js.map +1 -1
  11. package/dist/admin/history/components/VersionHeader.mjs +7 -1
  12. package/dist/admin/history/components/VersionHeader.mjs.map +1 -1
  13. package/dist/admin/hooks/useDocumentActions.js +7 -3
  14. package/dist/admin/hooks/useDocumentActions.js.map +1 -1
  15. package/dist/admin/hooks/useDocumentActions.mjs +7 -3
  16. package/dist/admin/hooks/useDocumentActions.mjs.map +1 -1
  17. package/dist/admin/pages/EditView/EditViewPage.js +81 -74
  18. package/dist/admin/pages/EditView/EditViewPage.js.map +1 -1
  19. package/dist/admin/pages/EditView/EditViewPage.mjs +82 -75
  20. package/dist/admin/pages/EditView/EditViewPage.mjs.map +1 -1
  21. package/dist/admin/pages/EditView/components/DocumentActions.js +29 -50
  22. package/dist/admin/pages/EditView/components/DocumentActions.js.map +1 -1
  23. package/dist/admin/pages/EditView/components/DocumentActions.mjs +30 -51
  24. package/dist/admin/pages/EditView/components/DocumentActions.mjs.map +1 -1
  25. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.js +12 -15
  26. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.js.map +1 -1
  27. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.mjs +12 -15
  28. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksContent.mjs.map +1 -1
  29. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.js +54 -14
  30. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.js.map +1 -1
  31. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.mjs +55 -15
  32. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksEditor.mjs.map +1 -1
  33. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.js +21 -35
  34. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.js.map +1 -1
  35. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.mjs +21 -35
  36. package/dist/admin/pages/EditView/components/FormInputs/BlocksInput/BlocksToolbar.mjs.map +1 -1
  37. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js +2 -2
  38. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.js.map +1 -1
  39. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs +3 -3
  40. package/dist/admin/pages/EditView/components/FormInputs/DynamicZone/DynamicComponent.mjs.map +1 -1
  41. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js +155 -106
  42. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.js.map +1 -1
  43. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs +158 -109
  44. package/dist/admin/pages/EditView/components/FormInputs/Relations/Relations.mjs.map +1 -1
  45. package/dist/admin/pages/EditView/components/FormInputs/UID.js +4 -2
  46. package/dist/admin/pages/EditView/components/FormInputs/UID.js.map +1 -1
  47. package/dist/admin/pages/EditView/components/FormInputs/UID.mjs +4 -2
  48. package/dist/admin/pages/EditView/components/FormInputs/UID.mjs.map +1 -1
  49. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.js +1 -1
  50. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.js.map +1 -1
  51. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.mjs +1 -1
  52. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/Editor.mjs.map +1 -1
  53. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.js +86 -118
  54. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.js.map +1 -1
  55. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.mjs +86 -118
  56. package/dist/admin/pages/EditView/components/FormInputs/Wysiwyg/WysiwygNav.mjs.map +1 -1
  57. package/dist/admin/pages/EditView/components/FormLayout.js +19 -23
  58. package/dist/admin/pages/EditView/components/FormLayout.js.map +1 -1
  59. package/dist/admin/pages/EditView/components/FormLayout.mjs +19 -23
  60. package/dist/admin/pages/EditView/components/FormLayout.mjs.map +1 -1
  61. package/dist/admin/pages/ListView/ListViewPage.js +77 -0
  62. package/dist/admin/pages/ListView/ListViewPage.js.map +1 -1
  63. package/dist/admin/pages/ListView/ListViewPage.mjs +78 -1
  64. package/dist/admin/pages/ListView/ListViewPage.mjs.map +1 -1
  65. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.js +2 -1
  66. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.js.map +1 -1
  67. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.mjs +2 -1
  68. package/dist/admin/pages/ListView/components/BulkActions/ConfirmBulkActionDialog.mjs.map +1 -1
  69. package/dist/admin/pages/ListView/components/Filters.js +1 -0
  70. package/dist/admin/pages/ListView/components/Filters.js.map +1 -1
  71. package/dist/admin/pages/ListView/components/Filters.mjs +1 -0
  72. package/dist/admin/pages/ListView/components/Filters.mjs.map +1 -1
  73. package/dist/admin/pages/ListView/components/TableActions.js +13 -3
  74. package/dist/admin/pages/ListView/components/TableActions.js.map +1 -1
  75. package/dist/admin/pages/ListView/components/TableActions.mjs +13 -3
  76. package/dist/admin/pages/ListView/components/TableActions.mjs.map +1 -1
  77. package/dist/admin/services/documents.js +2 -2
  78. package/dist/admin/services/documents.js.map +1 -1
  79. package/dist/admin/services/documents.mjs +2 -2
  80. package/dist/admin/services/documents.mjs.map +1 -1
  81. package/dist/admin/src/components/ConfigurationForm/Fields.d.ts +6 -4
  82. package/dist/admin/src/hooks/useDocumentActions.d.ts +1 -0
  83. package/dist/admin/src/pages/EditView/components/FormInputs/UID.d.ts +1 -0
  84. package/dist/admin/src/pages/EditView/components/FormLayout.d.ts +7 -7
  85. package/dist/admin/src/services/documents.d.ts +7 -1
  86. package/dist/admin/translations/en.json.js +1 -0
  87. package/dist/admin/translations/en.json.js.map +1 -1
  88. package/dist/admin/translations/en.json.mjs +1 -0
  89. package/dist/admin/translations/en.json.mjs.map +1 -1
  90. package/dist/admin/utils/validation.js +1 -1
  91. package/dist/admin/utils/validation.js.map +1 -1
  92. package/dist/admin/utils/validation.mjs +1 -1
  93. package/dist/admin/utils/validation.mjs.map +1 -1
  94. package/dist/server/controllers/content-types.js +11 -1
  95. package/dist/server/controllers/content-types.js.map +1 -1
  96. package/dist/server/controllers/content-types.mjs +11 -1
  97. package/dist/server/controllers/content-types.mjs.map +1 -1
  98. package/dist/server/controllers/validation/index.js +14 -2
  99. package/dist/server/controllers/validation/index.js.map +1 -1
  100. package/dist/server/controllers/validation/index.mjs +14 -2
  101. package/dist/server/controllers/validation/index.mjs.map +1 -1
  102. package/dist/server/history/services/lifecycles.js +3 -0
  103. package/dist/server/history/services/lifecycles.js.map +1 -1
  104. package/dist/server/history/services/lifecycles.mjs +3 -0
  105. package/dist/server/history/services/lifecycles.mjs.map +1 -1
  106. package/dist/server/services/data-mapper.js +4 -1
  107. package/dist/server/services/data-mapper.js.map +1 -1
  108. package/dist/server/services/data-mapper.mjs +4 -1
  109. package/dist/server/services/data-mapper.mjs.map +1 -1
  110. package/dist/server/services/document-manager.js +8 -1
  111. package/dist/server/services/document-manager.js.map +1 -1
  112. package/dist/server/services/document-manager.mjs +8 -1
  113. package/dist/server/services/document-manager.mjs.map +1 -1
  114. package/dist/server/services/document-metadata.js +3 -1
  115. package/dist/server/services/document-metadata.js.map +1 -1
  116. package/dist/server/services/document-metadata.mjs +3 -1
  117. package/dist/server/services/document-metadata.mjs.map +1 -1
  118. package/dist/server/services/utils/configuration/attributes.js +1 -1
  119. package/dist/server/services/utils/configuration/attributes.js.map +1 -1
  120. package/dist/server/services/utils/configuration/attributes.mjs +1 -1
  121. package/dist/server/services/utils/configuration/attributes.mjs.map +1 -1
  122. package/dist/server/services/utils/configuration/layouts.js +1 -1
  123. package/dist/server/services/utils/configuration/layouts.js.map +1 -1
  124. package/dist/server/services/utils/configuration/layouts.mjs +1 -1
  125. package/dist/server/services/utils/configuration/layouts.mjs.map +1 -1
  126. package/dist/server/services/utils/configuration/metadatas.js +8 -0
  127. package/dist/server/services/utils/configuration/metadatas.js.map +1 -1
  128. package/dist/server/services/utils/configuration/metadatas.mjs +8 -0
  129. package/dist/server/services/utils/configuration/metadatas.mjs.map +1 -1
  130. package/dist/server/services/utils/populate.js +11 -0
  131. package/dist/server/services/utils/populate.js.map +1 -1
  132. package/dist/server/services/utils/populate.mjs +11 -0
  133. package/dist/server/services/utils/populate.mjs.map +1 -1
  134. package/dist/server/src/controllers/content-types.d.ts.map +1 -1
  135. package/dist/server/src/controllers/validation/index.d.ts +6 -1
  136. package/dist/server/src/controllers/validation/index.d.ts.map +1 -1
  137. package/dist/server/src/history/services/lifecycles.d.ts.map +1 -1
  138. package/dist/server/src/index.d.ts +1 -0
  139. package/dist/server/src/index.d.ts.map +1 -1
  140. package/dist/server/src/services/data-mapper.d.ts +1 -0
  141. package/dist/server/src/services/data-mapper.d.ts.map +1 -1
  142. package/dist/server/src/services/document-manager.d.ts.map +1 -1
  143. package/dist/server/src/services/document-metadata.d.ts.map +1 -1
  144. package/dist/server/src/services/index.d.ts +1 -0
  145. package/dist/server/src/services/index.d.ts.map +1 -1
  146. package/dist/server/src/services/utils/configuration/metadatas.d.ts.map +1 -1
  147. package/dist/server/src/services/utils/populate.d.ts.map +1 -1
  148. package/dist/shared/contracts/collection-types.d.ts +0 -1
  149. package/dist/shared/contracts/collection-types.d.ts.map +1 -1
  150. package/package.json +11 -8
@@ -1,8 +1,8 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import * as React from 'react';
3
- import { useForm, useField, useNotification, useFocusInputField } from '@strapi/admin/strapi-admin';
4
- import { Flex, Box, Link, TextButton, Field, Combobox, ComboboxOption, Typography, VisuallyHidden, useComposedRefs, IconButton } from '@strapi/design-system';
5
- import { ArrowClockwise, Plus, Link as Link$1, Drag, Cross } from '@strapi/icons';
3
+ import { useForm, useField, useNotification, useRBAC, useFocusInputField } from '@strapi/admin/strapi-admin';
4
+ import { Flex, Box, Link, TextButton, EmptyStateLayout, Field, Combobox, ComboboxOption, Typography, VisuallyHidden, useComposedRefs, IconButton } from '@strapi/design-system';
5
+ import { ArrowClockwise, WarningCircle, Plus, Link as Link$1, Drag, Cross } from '@strapi/icons';
6
6
  import { generateNKeysBetween } from 'fractional-indexing';
7
7
  import pipe from 'lodash/fp/pipe';
8
8
  import { getEmptyImage } from 'react-dnd-html5-backend';
@@ -11,6 +11,8 @@ import { FixedSizeList } from 'react-window';
11
11
  import { styled } from 'styled-components';
12
12
  import { COLLECTION_TYPES } from '../../../../../constants/collections.mjs';
13
13
  import { ItemTypes } from '../../../../../constants/dragAndDrop.mjs';
14
+ import { PERMISSIONS } from '../../../../../constants/plugin.mjs';
15
+ import { DocumentRBAC, useDocumentRBAC } from '../../../../../features/DocumentRBAC.mjs';
14
16
  import { useDebounce } from '../../../../../hooks/useDebounce.mjs';
15
17
  import { useDocument } from '../../../../../hooks/useDocument.mjs';
16
18
  import { useDocumentContext } from '../../../../../hooks/useDocumentContext.mjs';
@@ -96,8 +98,9 @@ const ONE_WAY_RELATIONS = [
96
98
  /**
97
99
  * We'll always have a documentId in a created entry, so we look for a componentId first.
98
100
  * Same with `uid` and `documentModel`.
101
+ * The componentId is empty when adding a new component in a repeatable. Let it be null to skip isRelatedToCurrentDocument
99
102
  */ const model = component ? component.uid : currentDocumentMeta.model;
100
- const id = component && componentId ? componentId.toString() : documentId;
103
+ const id = component ? componentId?.toString() : documentId;
101
104
  /**
102
105
  * The `name` prop is a complete path to the field, e.g. `field1.field2.field3`.
103
106
  * Where the above example would a nested field within two components, however
@@ -306,7 +309,6 @@ const ONE_WAY_RELATIONS = [
306
309
  * @description Contains all the logic for the combobox that can search
307
310
  * for relations and then add them to the field's connect array.
308
311
  */ const RelationsInput = ({ hint, id, model, label, labelAction, name, mainField, placeholder, required, unique: _unique, 'aria-label': _ariaLabel, onChange, isRelatedToCurrentDocument, ...props })=>{
309
- const [textValue, setTextValue] = React.useState('');
310
312
  const [searchParams, setSearchParams] = React.useState({
311
313
  _q: '',
312
314
  page: 1
@@ -314,7 +316,6 @@ const ONE_WAY_RELATIONS = [
314
316
  const { toggleNotification } = useNotification();
315
317
  const { currentDocumentMeta } = useDocumentContext('RelationsInput');
316
318
  const { formatMessage } = useIntl();
317
- const fieldRef = useFocusInputField(name);
318
319
  const field = useField(name);
319
320
  const searchParamsDebounced = useDebounce(searchParams, 300);
320
321
  const [searchForTrigger, { data, isLoading }] = useLazySearchRelationsQuery();
@@ -355,13 +356,6 @@ const ONE_WAY_RELATIONS = [
355
356
  isRelatedToCurrentDocument,
356
357
  currentDocumentMeta.params
357
358
  ]);
358
- const handleSearch = async (search)=>{
359
- setSearchParams((s)=>({
360
- ...s,
361
- _q: search,
362
- page: 1
363
- }));
364
- };
365
359
  const hasNextPage = data?.pagination ? data.pagination.page < data.pagination.pageCount : false;
366
360
  const options = data?.results ?? [];
367
361
  const handleChange = (relationId)=>{
@@ -389,21 +383,6 @@ const ONE_WAY_RELATIONS = [
389
383
  *
390
384
  */ onChange(relation);
391
385
  };
392
- const handleLoadMore = ()=>{
393
- if (!data || !data.pagination) {
394
- return;
395
- } else if (data.pagination.page < data.pagination.pageCount) {
396
- setSearchParams((s)=>({
397
- ...s,
398
- page: s.page + 1
399
- }));
400
- }
401
- };
402
- React.useLayoutEffect(()=>{
403
- setTextValue('');
404
- }, [
405
- field.value
406
- ]);
407
386
  const relation = {
408
387
  collectionType: COLLECTION_TYPES,
409
388
  // @ts-expect-error – targetModel does exist on the attribute. But it's not typed.
@@ -411,9 +390,26 @@ const ONE_WAY_RELATIONS = [
411
390
  documentId: '',
412
391
  params: currentDocumentMeta.params
413
392
  };
414
- const { componentUID } = useComponent('RelationsField', ({ uid })=>({
415
- componentUID: uid
416
- }));
393
+ const { permissions = [], isLoading: isLoadingPermissions, error } = useRBAC(PERMISSIONS.map((action)=>({
394
+ action,
395
+ subject: relation.model
396
+ })));
397
+ if (error) {
398
+ return /*#__PURE__*/ jsx(Flex, {
399
+ alignItems: "center",
400
+ height: "100%",
401
+ justifyContent: "center",
402
+ children: /*#__PURE__*/ jsx(EmptyStateLayout, {
403
+ icon: /*#__PURE__*/ jsx(WarningCircle, {
404
+ width: "16rem"
405
+ }),
406
+ content: formatMessage({
407
+ id: 'anErrorOccurred',
408
+ defaultMessage: 'Whoops! Something went wrong. Please, try again.'
409
+ })
410
+ })
411
+ });
412
+ }
417
413
  return /*#__PURE__*/ jsxs(Field.Root, {
418
414
  error: field.error,
419
415
  hint: hint,
@@ -424,90 +420,143 @@ const ONE_WAY_RELATIONS = [
424
420
  action: labelAction,
425
421
  children: label
426
422
  }),
427
- /*#__PURE__*/ jsx(RelationModalRenderer, {
428
- children: ({ dispatch })=>/*#__PURE__*/ jsx(Combobox, {
429
- ref: fieldRef,
430
- creatable: "visible",
431
- createMessage: ()=>formatMessage({
432
- id: getTranslation('relation.create'),
433
- defaultMessage: 'Create a relation'
434
- }),
435
- onCreateOption: ()=>{
436
- dispatch({
437
- type: 'GO_TO_RELATION',
438
- payload: {
439
- document: relation,
440
- shouldBypassConfirmation: false,
441
- fieldToConnect: name,
442
- fieldToConnectUID: componentUID
443
- }
444
- });
445
- },
446
- creatableStartIcon: /*#__PURE__*/ jsx(Plus, {
447
- fill: "neutral500"
448
- }),
449
- name: name,
450
- autocomplete: "list",
451
- placeholder: placeholder || formatMessage({
452
- id: getTranslation('relation.add'),
453
- defaultMessage: 'Add relation'
454
- }),
455
- hasMoreItems: hasNextPage,
456
- loading: isLoading,
457
- onOpenChange: ()=>{
458
- handleSearch(textValue ?? '');
459
- },
460
- noOptionsMessage: ()=>formatMessage({
461
- id: getTranslation('relation.notAvailable'),
462
- defaultMessage: 'No relations available'
463
- }),
464
- loadingMessage: formatMessage({
465
- id: getTranslation('relation.isLoading'),
466
- defaultMessage: 'Relations are loading'
467
- }),
468
- onLoadMore: handleLoadMore,
423
+ /*#__PURE__*/ jsx(DocumentRBAC, {
424
+ permissions: permissions,
425
+ model: relation.model,
426
+ children: /*#__PURE__*/ jsx(RelationModalWithContext, {
427
+ relation: relation,
428
+ name: name,
429
+ placeholder: placeholder,
430
+ hasNextPage: hasNextPage,
431
+ isLoadingPermissions: isLoadingPermissions,
432
+ isLoadingSearchRelations: isLoading,
433
+ handleChange: handleChange,
434
+ setSearchParams: setSearchParams,
435
+ data: data,
436
+ mainField: mainField,
437
+ fieldValue: field.value,
438
+ ...props
439
+ })
440
+ }),
441
+ /*#__PURE__*/ jsx(Field.Error, {}),
442
+ /*#__PURE__*/ jsx(Field.Hint, {})
443
+ ]
444
+ });
445
+ };
446
+ const RelationModalWithContext = ({ relation, name, placeholder, hasNextPage, isLoadingSearchRelations, isLoadingPermissions, handleChange, mainField, setSearchParams, fieldValue, data, ...props })=>{
447
+ const [textValue, setTextValue] = React.useState('');
448
+ const { formatMessage } = useIntl();
449
+ const canCreate = useDocumentRBAC('RelationModalWrapper', (state)=>state.canCreate);
450
+ const fieldRef = useFocusInputField(name);
451
+ const { componentUID } = useComponent('RelationsField', ({ uid })=>({
452
+ componentUID: uid
453
+ }));
454
+ const handleLoadMore = ()=>{
455
+ if (!data || !data.pagination) {
456
+ return;
457
+ } else if (data.pagination.page < data.pagination.pageCount) {
458
+ setSearchParams((s)=>({
459
+ ...s,
460
+ page: s.page + 1
461
+ }));
462
+ }
463
+ };
464
+ const options = data?.results ?? [];
465
+ React.useLayoutEffect(()=>{
466
+ setTextValue('');
467
+ }, [
468
+ fieldValue
469
+ ]);
470
+ const handleSearch = async (search)=>{
471
+ setSearchParams((s)=>({
472
+ ...s,
473
+ _q: search,
474
+ page: 1
475
+ }));
476
+ };
477
+ return /*#__PURE__*/ jsx(RelationModalRenderer, {
478
+ children: ({ dispatch })=>/*#__PURE__*/ jsx(Combobox, {
479
+ ref: fieldRef,
480
+ creatable: "visible",
481
+ creatableDisabled: !canCreate,
482
+ createMessage: ()=>formatMessage({
483
+ id: getTranslation('relation.create'),
484
+ defaultMessage: 'Create a relation'
485
+ }),
486
+ onCreateOption: ()=>{
487
+ if (canCreate) {
488
+ dispatch({
489
+ type: 'GO_TO_RELATION',
490
+ payload: {
491
+ document: relation,
492
+ shouldBypassConfirmation: false,
493
+ fieldToConnect: name,
494
+ fieldToConnectUID: componentUID
495
+ }
496
+ });
497
+ }
498
+ },
499
+ creatableStartIcon: /*#__PURE__*/ jsx(Plus, {
500
+ fill: "neutral500"
501
+ }),
502
+ name: name,
503
+ autocomplete: "list",
504
+ placeholder: placeholder || formatMessage({
505
+ id: getTranslation('relation.add'),
506
+ defaultMessage: 'Add relation'
507
+ }),
508
+ hasMoreItems: hasNextPage,
509
+ loading: isLoadingSearchRelations || isLoadingPermissions,
510
+ onOpenChange: ()=>{
511
+ handleSearch(textValue ?? '');
512
+ },
513
+ noOptionsMessage: ()=>formatMessage({
514
+ id: getTranslation('relation.notAvailable'),
515
+ defaultMessage: 'No relations available'
516
+ }),
517
+ loadingMessage: formatMessage({
518
+ id: getTranslation('relation.isLoading'),
519
+ defaultMessage: 'Relations are loading'
520
+ }),
521
+ onLoadMore: handleLoadMore,
522
+ textValue: textValue,
523
+ onChange: handleChange,
524
+ onTextValueChange: (text)=>{
525
+ setTextValue(text);
526
+ },
527
+ onInputChange: (event)=>{
528
+ handleSearch(event.currentTarget.value);
529
+ },
530
+ ...props,
531
+ children: options?.map((opt)=>{
532
+ const textValue = getRelationLabel(opt, mainField);
533
+ return /*#__PURE__*/ jsx(ComboboxOption, {
534
+ value: opt.id.toString(),
469
535
  textValue: textValue,
470
- onChange: handleChange,
471
- onTextValueChange: (text)=>{
472
- setTextValue(text);
473
- },
474
- onInputChange: (event)=>{
475
- handleSearch(event.currentTarget.value);
476
- },
477
- ...props,
478
- children: options.map((opt)=>{
479
- const textValue = getRelationLabel(opt, mainField);
480
- return /*#__PURE__*/ jsx(ComboboxOption, {
481
- value: opt.id.toString(),
482
- textValue: textValue,
483
- children: /*#__PURE__*/ jsxs(Flex, {
536
+ children: /*#__PURE__*/ jsxs(Flex, {
537
+ gap: 2,
538
+ justifyContent: "space-between",
539
+ children: [
540
+ /*#__PURE__*/ jsxs(Flex, {
484
541
  gap: 2,
485
- justifyContent: "space-between",
486
542
  children: [
487
- /*#__PURE__*/ jsxs(Flex, {
488
- gap: 2,
489
- children: [
490
- /*#__PURE__*/ jsx(Link$1, {
491
- fill: "neutral500"
492
- }),
493
- /*#__PURE__*/ jsx(Typography, {
494
- ellipsis: true,
495
- children: textValue
496
- })
497
- ]
543
+ /*#__PURE__*/ jsx(Link$1, {
544
+ fill: "neutral500"
498
545
  }),
499
- opt.status ? /*#__PURE__*/ jsx(DocumentStatus, {
500
- status: opt.status
501
- }) : null
546
+ /*#__PURE__*/ jsx(Typography, {
547
+ ellipsis: true,
548
+ children: textValue
549
+ })
502
550
  ]
503
- })
504
- }, opt.id);
551
+ }),
552
+ opt.status ? /*#__PURE__*/ jsx(DocumentStatus, {
553
+ status: opt.status
554
+ }) : null
555
+ ]
505
556
  })
506
- })
507
- }),
508
- /*#__PURE__*/ jsx(Field.Error, {}),
509
- /*#__PURE__*/ jsx(Field.Hint, {})
510
- ]
557
+ }, opt.id);
558
+ })
559
+ })
511
560
  });
512
561
  };
513
562
  /* -------------------------------------------------------------------------------------------------