@webiny/app-headless-cms 5.34.8 → 5.35.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (693) hide show
  1. package/HeadlessCMS.js +8 -21
  2. package/HeadlessCMS.js.map +1 -1
  3. package/admin/components/ContentEntryForm/ContentEntryForm.js +11 -51
  4. package/admin/components/ContentEntryForm/ContentEntryForm.js.map +1 -1
  5. package/admin/components/ContentEntryForm/ContentEntryFormPreview.js +0 -16
  6. package/admin/components/ContentEntryForm/ContentEntryFormPreview.js.map +1 -1
  7. package/admin/components/ContentEntryForm/Fields.js +4 -11
  8. package/admin/components/ContentEntryForm/Fields.js.map +1 -1
  9. package/admin/components/ContentEntryForm/Label.js +0 -8
  10. package/admin/components/ContentEntryForm/Label.js.map +1 -1
  11. package/admin/components/ContentEntryForm/RenderFieldElement.js +2 -17
  12. package/admin/components/ContentEntryForm/RenderFieldElement.js.map +1 -1
  13. package/admin/components/ContentEntryForm/functions/getValue.js +2 -8
  14. package/admin/components/ContentEntryForm/functions/getValue.js.map +1 -1
  15. package/admin/components/ContentEntryForm/functions/setValue.js +3 -9
  16. package/admin/components/ContentEntryForm/functions/setValue.js.map +1 -1
  17. package/admin/components/ContentEntryForm/useBind.js +9 -29
  18. package/admin/components/ContentEntryForm/useBind.js.map +1 -1
  19. package/admin/components/ContentEntryForm/useContentEntryForm.js +209 -330
  20. package/admin/components/ContentEntryForm/useContentEntryForm.js.map +1 -1
  21. package/admin/components/ContentEntryForm/useRenderPlugins.d.ts +1 -2
  22. package/admin/components/ContentEntryForm/useRenderPlugins.js +0 -3
  23. package/admin/components/ContentEntryForm/useRenderPlugins.js.map +1 -1
  24. package/admin/components/ContentModelEditor/ContentModelEditorProvider.js +103 -166
  25. package/admin/components/ContentModelEditor/ContentModelEditorProvider.js.map +1 -1
  26. package/admin/components/ContentModelEditor/Editor.d.ts +4 -1
  27. package/admin/components/ContentModelEditor/Editor.js +7 -40
  28. package/admin/components/ContentModelEditor/Editor.js.map +1 -1
  29. package/admin/components/ContentModelEditor/FieldsSidebar.js +5 -17
  30. package/admin/components/ContentModelEditor/FieldsSidebar.js.map +1 -1
  31. package/admin/components/ContentModelEditor/Header.js +0 -8
  32. package/admin/components/ContentModelEditor/Header.js.map +1 -1
  33. package/admin/components/ContentModelEditor/PreviewTab.js +1 -16
  34. package/admin/components/ContentModelEditor/PreviewTab.js.map +1 -1
  35. package/admin/components/ContentModelEditor/index.js +0 -4
  36. package/admin/components/ContentModelEditor/index.js.map +1 -1
  37. package/admin/components/ContentModelEditor/useModelEditor.js +0 -6
  38. package/admin/components/ContentModelEditor/useModelEditor.js.map +1 -1
  39. package/admin/components/DelayedOnChange.js +6 -31
  40. package/admin/components/DelayedOnChange.js.map +1 -1
  41. package/admin/components/Dialog.d.ts +5 -1
  42. package/admin/components/Dialog.js +1 -5
  43. package/admin/components/Dialog.js.map +1 -1
  44. package/admin/components/DragPreview.js +21 -39
  45. package/admin/components/DragPreview.js.map +1 -1
  46. package/admin/components/Draggable.js +28 -40
  47. package/admin/components/Draggable.js.map +1 -1
  48. package/admin/components/DropZone/Center.js +6 -19
  49. package/admin/components/DropZone/Center.js.map +1 -1
  50. package/admin/components/DropZone/Horizontal.js +5 -16
  51. package/admin/components/DropZone/Horizontal.js.map +1 -1
  52. package/admin/components/DropZone/Vertical.js +5 -15
  53. package/admin/components/DropZone/Vertical.js.map +1 -1
  54. package/admin/components/DropZone/index.js +0 -4
  55. package/admin/components/DropZone/index.js.map +1 -1
  56. package/admin/components/Droppable.js +27 -40
  57. package/admin/components/Droppable.js.map +1 -1
  58. package/admin/components/FieldEditor/EditFieldDialog/AppearanceTab.js +3 -30
  59. package/admin/components/FieldEditor/EditFieldDialog/AppearanceTab.js.map +1 -1
  60. package/admin/components/FieldEditor/EditFieldDialog/GeneralTab.js +8 -36
  61. package/admin/components/FieldEditor/EditFieldDialog/GeneralTab.js.map +1 -1
  62. package/admin/components/FieldEditor/EditFieldDialog/PredefinedValues.js +15 -40
  63. package/admin/components/FieldEditor/EditFieldDialog/PredefinedValues.js.map +1 -1
  64. package/admin/components/FieldEditor/EditFieldDialog/ValidationsSection.js +3 -11
  65. package/admin/components/FieldEditor/EditFieldDialog/ValidationsSection.js.map +1 -1
  66. package/admin/components/FieldEditor/EditFieldDialog/ValidatorsList.js +10 -48
  67. package/admin/components/FieldEditor/EditFieldDialog/ValidatorsList.js.map +1 -1
  68. package/admin/components/FieldEditor/EditFieldDialog/functions/getValue.js +2 -8
  69. package/admin/components/FieldEditor/EditFieldDialog/functions/getValue.js.map +1 -1
  70. package/admin/components/FieldEditor/EditFieldDialog/functions/setValue.js +3 -10
  71. package/admin/components/FieldEditor/EditFieldDialog/functions/setValue.js.map +1 -1
  72. package/admin/components/FieldEditor/EditFieldDialog/getValidators.js +4 -28
  73. package/admin/components/FieldEditor/EditFieldDialog/getValidators.js.map +1 -1
  74. package/admin/components/FieldEditor/EditFieldDialog.js +16 -54
  75. package/admin/components/FieldEditor/EditFieldDialog.js.map +1 -1
  76. package/admin/components/FieldEditor/Field.js +251 -105
  77. package/admin/components/FieldEditor/Field.js.map +1 -1
  78. package/admin/components/FieldEditor/FieldEditor.js +15 -53
  79. package/admin/components/FieldEditor/FieldEditor.js.map +1 -1
  80. package/admin/components/FieldEditor/FieldEditorContext.js +42 -102
  81. package/admin/components/FieldEditor/FieldEditorContext.js.map +1 -1
  82. package/admin/components/FieldEditor/Styled.d.ts +9 -3
  83. package/admin/components/FieldEditor/Styled.js +1 -5
  84. package/admin/components/FieldEditor/Styled.js.map +1 -1
  85. package/admin/components/FieldEditor/index.js +0 -2
  86. package/admin/components/FieldEditor/index.js.map +1 -1
  87. package/admin/components/FieldEditor/useModelFieldEditor.js +0 -5
  88. package/admin/components/FieldEditor/useModelFieldEditor.js.map +1 -1
  89. package/admin/components/FieldEditor/utils/deleteField.js +4 -13
  90. package/admin/components/FieldEditor/utils/deleteField.js.map +1 -1
  91. package/admin/components/FieldEditor/utils/getFieldPosition.js +1 -6
  92. package/admin/components/FieldEditor/utils/getFieldPosition.js.map +1 -1
  93. package/admin/components/FieldEditor/utils/index.js +0 -5
  94. package/admin/components/FieldEditor/utils/index.js.map +1 -1
  95. package/admin/components/FieldEditor/utils/moveField.js +7 -17
  96. package/admin/components/FieldEditor/utils/moveField.js.map +1 -1
  97. package/admin/components/FieldEditor/utils/moveRow.js +2 -7
  98. package/admin/components/FieldEditor/utils/moveRow.js.map +1 -1
  99. package/admin/components/IconPicker.js +18 -43
  100. package/admin/components/IconPicker.js.map +1 -1
  101. package/admin/components/ModelFieldProvider/ModelFieldContext.d.ts +1 -1
  102. package/admin/components/ModelFieldProvider/ModelFieldContext.js +1 -7
  103. package/admin/components/ModelFieldProvider/ModelFieldContext.js.map +1 -1
  104. package/admin/components/ModelFieldProvider/index.js +0 -4
  105. package/admin/components/ModelFieldProvider/index.js.map +1 -1
  106. package/admin/components/ModelFieldProvider/useModelField.d.ts +1 -1
  107. package/admin/components/ModelFieldProvider/useModelField.js +1 -10
  108. package/admin/components/ModelFieldProvider/useModelField.js.map +1 -1
  109. package/admin/components/ModelProvider/ModelContext.js +1 -7
  110. package/admin/components/ModelProvider/ModelContext.js.map +1 -1
  111. package/admin/components/ModelProvider/index.js +0 -4
  112. package/admin/components/ModelProvider/index.js.map +1 -1
  113. package/admin/components/ModelProvider/useModel.js +0 -5
  114. package/admin/components/ModelProvider/useModel.js.map +1 -1
  115. package/admin/constants/statusLabels.js +0 -6
  116. package/admin/constants/statusLabels.js.map +1 -1
  117. package/admin/contexts/Cms/NetworkError.js +0 -5
  118. package/admin/contexts/Cms/NetworkError.js.map +1 -1
  119. package/admin/contexts/Cms/index.js +29 -70
  120. package/admin/contexts/Cms/index.js.map +1 -1
  121. package/admin/elements/ContentGroupMenuElement.js +0 -11
  122. package/admin/elements/ContentGroupMenuElement.js.map +1 -1
  123. package/admin/elements/ContentModelMenuElement.js +0 -11
  124. package/admin/elements/ContentModelMenuElement.js.map +1 -1
  125. package/admin/elements/NothingToShowElement.js +0 -24
  126. package/admin/elements/NothingToShowElement.js.map +1 -1
  127. package/admin/graphql/contentEntries.js +24 -65
  128. package/admin/graphql/contentEntries.js.map +1 -1
  129. package/admin/graphql/contentModels.js +2 -8
  130. package/admin/graphql/contentModels.js.map +1 -1
  131. package/admin/graphql/createFieldsList.js +7 -10
  132. package/admin/graphql/createFieldsList.js.map +1 -1
  133. package/admin/hooks/index.d.ts +2 -0
  134. package/admin/hooks/index.js +25 -14
  135. package/admin/hooks/index.js.map +1 -1
  136. package/admin/hooks/useApolloClient.js +1 -6
  137. package/admin/hooks/useApolloClient.js.map +1 -1
  138. package/admin/hooks/useCms.js +0 -6
  139. package/admin/hooks/useCms.js.map +1 -1
  140. package/admin/hooks/useContentModels.d.ts +14 -0
  141. package/admin/hooks/useContentModels.js +40 -0
  142. package/admin/hooks/useContentModels.js.map +1 -0
  143. package/admin/hooks/useLazyQuery.js +1 -9
  144. package/admin/hooks/useLazyQuery.js.map +1 -1
  145. package/admin/hooks/useMutation.js +1 -9
  146. package/admin/hooks/useMutation.js.map +1 -1
  147. package/admin/hooks/usePermission.d.ts +2 -2
  148. package/admin/hooks/usePermission.js +9 -51
  149. package/admin/hooks/usePermission.js.map +1 -1
  150. package/admin/hooks/useQuery.js +1 -9
  151. package/admin/hooks/useQuery.js.map +1 -1
  152. package/admin/hooks/useQueryLocale.js +1 -9
  153. package/admin/hooks/useQueryLocale.js.map +1 -1
  154. package/admin/menus/CmsMenuLoader.js +5 -19
  155. package/admin/menus/CmsMenuLoader.js.map +1 -1
  156. package/admin/menus/ContentGroupsMenuItems.js +4 -25
  157. package/admin/menus/ContentGroupsMenuItems.js.map +1 -1
  158. package/admin/menus/GlobalSearchPlugins.js +5 -15
  159. package/admin/menus/GlobalSearchPlugins.js.map +1 -1
  160. package/admin/menus/NothingToShowElement.js +1 -8
  161. package/admin/menus/NothingToShowElement.js.map +1 -1
  162. package/admin/plugins/apiInformation/index.js +3 -14
  163. package/admin/plugins/apiInformation/index.js.map +1 -1
  164. package/admin/plugins/arrayUtils.js +2 -10
  165. package/admin/plugins/arrayUtils.js.map +1 -1
  166. package/admin/plugins/definitions/CmsEditorFieldValidatorFileTypePlugin.js +0 -14
  167. package/admin/plugins/definitions/CmsEditorFieldValidatorFileTypePlugin.js.map +1 -1
  168. package/admin/plugins/definitions/CmsFieldValidatorFileTypePlugin.js +0 -14
  169. package/admin/plugins/definitions/CmsFieldValidatorFileTypePlugin.js.map +1 -1
  170. package/admin/plugins/editor/defaultBar/BackButton.js +1 -11
  171. package/admin/plugins/editor/defaultBar/BackButton.js.map +1 -1
  172. package/admin/plugins/editor/defaultBar/CreateContentButton.js +2 -19
  173. package/admin/plugins/editor/defaultBar/CreateContentButton.js.map +1 -1
  174. package/admin/plugins/editor/defaultBar/Divider.d.ts +5 -2
  175. package/admin/plugins/editor/defaultBar/Divider.js +0 -3
  176. package/admin/plugins/editor/defaultBar/Divider.js.map +1 -1
  177. package/admin/plugins/editor/defaultBar/FormSettings/FormSettings.js +9 -36
  178. package/admin/plugins/editor/defaultBar/FormSettings/FormSettings.js.map +1 -1
  179. package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsButton.js +3 -13
  180. package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsButton.js.map +1 -1
  181. package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsStyled.d.ts +8 -2
  182. package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsStyled.js +0 -7
  183. package/admin/plugins/editor/defaultBar/FormSettings/FormSettingsStyled.js.map +1 -1
  184. package/admin/plugins/editor/defaultBar/FormSettings/index.js +0 -2
  185. package/admin/plugins/editor/defaultBar/FormSettings/index.js.map +1 -1
  186. package/admin/plugins/editor/defaultBar/Name/Name.js +11 -30
  187. package/admin/plugins/editor/defaultBar/Name/Name.js.map +1 -1
  188. package/admin/plugins/editor/defaultBar/Name/NameStyled.d.ts +13 -4
  189. package/admin/plugins/editor/defaultBar/Name/NameStyled.js +0 -4
  190. package/admin/plugins/editor/defaultBar/Name/NameStyled.js.map +1 -1
  191. package/admin/plugins/editor/defaultBar/Name/index.js +0 -1
  192. package/admin/plugins/editor/defaultBar/Name/index.js.map +1 -1
  193. package/admin/plugins/editor/defaultBar/SaveContentModelButton.js +24 -50
  194. package/admin/plugins/editor/defaultBar/SaveContentModelButton.js.map +1 -1
  195. package/admin/plugins/editor/defaultBar/index.js +0 -9
  196. package/admin/plugins/editor/defaultBar/index.js.map +1 -1
  197. package/admin/plugins/editor/formSettings/components/GeneralSettings.d.ts +2 -2
  198. package/admin/plugins/editor/formSettings/components/GeneralSettings.js +22 -9
  199. package/admin/plugins/editor/formSettings/components/GeneralSettings.js.map +1 -1
  200. package/admin/plugins/editor/formSettings/components/GroupSelect.js +3 -14
  201. package/admin/plugins/editor/formSettings/components/GroupSelect.js.map +1 -1
  202. package/admin/plugins/editor/formSettings/index.js +0 -6
  203. package/admin/plugins/editor/formSettings/index.js.map +1 -1
  204. package/admin/plugins/entry/DefaultOnEntryDelete.js +93 -140
  205. package/admin/plugins/entry/DefaultOnEntryDelete.js.map +1 -1
  206. package/admin/plugins/entry/DefaultOnEntryPublish.js +70 -112
  207. package/admin/plugins/entry/DefaultOnEntryPublish.js.map +1 -1
  208. package/admin/plugins/fieldRenderers/Accordion.js +8 -21
  209. package/admin/plugins/fieldRenderers/Accordion.js.map +1 -1
  210. package/admin/plugins/fieldRenderers/DynamicSection.js +11 -28
  211. package/admin/plugins/fieldRenderers/DynamicSection.js.map +1 -1
  212. package/admin/plugins/fieldRenderers/boolean/booleanSwitch.js +1 -10
  213. package/admin/plugins/fieldRenderers/boolean/booleanSwitch.js.map +1 -1
  214. package/admin/plugins/fieldRenderers/boolean/index.d.ts +1 -1
  215. package/admin/plugins/fieldRenderers/boolean/index.js +0 -3
  216. package/admin/plugins/fieldRenderers/boolean/index.js.map +1 -1
  217. package/admin/plugins/fieldRenderers/checkboxes.js +6 -17
  218. package/admin/plugins/fieldRenderers/checkboxes.js.map +1 -1
  219. package/admin/plugins/fieldRenderers/dateTime/DateOnly.js +20 -41
  220. package/admin/plugins/fieldRenderers/dateTime/DateOnly.js.map +1 -1
  221. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithTimezone.js +51 -97
  222. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithTimezone.js.map +1 -1
  223. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithoutTimezone.js +46 -85
  224. package/admin/plugins/fieldRenderers/dateTime/DateTimeWithoutTimezone.js.map +1 -1
  225. package/admin/plugins/fieldRenderers/dateTime/Input.js +1 -10
  226. package/admin/plugins/fieldRenderers/dateTime/Input.js.map +1 -1
  227. package/admin/plugins/fieldRenderers/dateTime/Select.js +0 -5
  228. package/admin/plugins/fieldRenderers/dateTime/Select.js.map +1 -1
  229. package/admin/plugins/fieldRenderers/dateTime/Time.js +19 -39
  230. package/admin/plugins/fieldRenderers/dateTime/Time.js.map +1 -1
  231. package/admin/plugins/fieldRenderers/dateTime/dateTimeField.js +1 -14
  232. package/admin/plugins/fieldRenderers/dateTime/dateTimeField.js.map +1 -1
  233. package/admin/plugins/fieldRenderers/dateTime/dateTimeFields.js +1 -21
  234. package/admin/plugins/fieldRenderers/dateTime/dateTimeFields.js.map +1 -1
  235. package/admin/plugins/fieldRenderers/dateTime/index.d.ts +1 -1
  236. package/admin/plugins/fieldRenderers/dateTime/index.js +0 -4
  237. package/admin/plugins/fieldRenderers/dateTime/index.js.map +1 -1
  238. package/admin/plugins/fieldRenderers/dateTime/utils.js +2 -31
  239. package/admin/plugins/fieldRenderers/dateTime/utils.js.map +1 -1
  240. package/admin/plugins/fieldRenderers/dynamicZone/AddTemplate.d.ts +3 -3
  241. package/admin/plugins/fieldRenderers/dynamicZone/AddTemplate.js +15 -37
  242. package/admin/plugins/fieldRenderers/dynamicZone/AddTemplate.js.map +1 -1
  243. package/admin/plugins/fieldRenderers/dynamicZone/MultiValueDynamicZone.d.ts +4 -4
  244. package/admin/plugins/fieldRenderers/dynamicZone/MultiValueDynamicZone.js +11 -36
  245. package/admin/plugins/fieldRenderers/dynamicZone/MultiValueDynamicZone.js.map +1 -1
  246. package/admin/plugins/fieldRenderers/dynamicZone/SingleValueDynamicZone.d.ts +4 -4
  247. package/admin/plugins/fieldRenderers/dynamicZone/SingleValueDynamicZone.js +3 -17
  248. package/admin/plugins/fieldRenderers/dynamicZone/SingleValueDynamicZone.js.map +1 -1
  249. package/admin/plugins/fieldRenderers/dynamicZone/TemplateCard.d.ts +2 -2
  250. package/admin/plugins/fieldRenderers/dynamicZone/TemplateCard.js +1 -10
  251. package/admin/plugins/fieldRenderers/dynamicZone/TemplateCard.js.map +1 -1
  252. package/admin/plugins/fieldRenderers/dynamicZone/TemplateGallery.d.ts +2 -2
  253. package/admin/plugins/fieldRenderers/dynamicZone/TemplateGallery.js +2 -15
  254. package/admin/plugins/fieldRenderers/dynamicZone/TemplateGallery.js.map +1 -1
  255. package/admin/plugins/fieldRenderers/dynamicZone/TemplateIcon.d.ts +2 -2
  256. package/admin/plugins/fieldRenderers/dynamicZone/TemplateIcon.js +0 -5
  257. package/admin/plugins/fieldRenderers/dynamicZone/TemplateIcon.js.map +1 -1
  258. package/admin/plugins/fieldRenderers/dynamicZone/dynamicZoneRenderer.js +4 -14
  259. package/admin/plugins/fieldRenderers/dynamicZone/dynamicZoneRenderer.js.map +1 -1
  260. package/admin/plugins/fieldRenderers/file/File.js +6 -21
  261. package/admin/plugins/fieldRenderers/file/File.js.map +1 -1
  262. package/admin/plugins/fieldRenderers/file/fileField.js +3 -15
  263. package/admin/plugins/fieldRenderers/file/fileField.js.map +1 -1
  264. package/admin/plugins/fieldRenderers/file/fileFields.js +6 -25
  265. package/admin/plugins/fieldRenderers/file/fileFields.js.map +1 -1
  266. package/admin/plugins/fieldRenderers/file/index.d.ts +1 -1
  267. package/admin/plugins/fieldRenderers/file/index.js +0 -4
  268. package/admin/plugins/fieldRenderers/file/index.js.map +1 -1
  269. package/admin/plugins/fieldRenderers/file/utils.js +1 -12
  270. package/admin/plugins/fieldRenderers/file/utils.js.map +1 -1
  271. package/admin/plugins/fieldRenderers/longText/index.d.ts +1 -1
  272. package/admin/plugins/fieldRenderers/longText/index.js +0 -4
  273. package/admin/plugins/fieldRenderers/longText/index.js.map +1 -1
  274. package/admin/plugins/fieldRenderers/longText/longText.js +1 -10
  275. package/admin/plugins/fieldRenderers/longText/longText.js.map +1 -1
  276. package/admin/plugins/fieldRenderers/longText/longTexts.js +1 -12
  277. package/admin/plugins/fieldRenderers/longText/longTexts.js.map +1 -1
  278. package/admin/plugins/fieldRenderers/number/index.d.ts +1 -1
  279. package/admin/plugins/fieldRenderers/number/index.js +0 -4
  280. package/admin/plugins/fieldRenderers/number/index.js.map +1 -1
  281. package/admin/plugins/fieldRenderers/number/numberInput.js +1 -10
  282. package/admin/plugins/fieldRenderers/number/numberInput.js.map +1 -1
  283. package/admin/plugins/fieldRenderers/number/numberInputs.js +1 -12
  284. package/admin/plugins/fieldRenderers/number/numberInputs.js.map +1 -1
  285. package/admin/plugins/fieldRenderers/object/StyledComponents.d.ts +9 -3
  286. package/admin/plugins/fieldRenderers/object/StyledComponents.js +0 -4
  287. package/admin/plugins/fieldRenderers/object/StyledComponents.js.map +1 -1
  288. package/admin/plugins/fieldRenderers/object/index.d.ts +1 -1
  289. package/admin/plugins/fieldRenderers/object/index.js +0 -6
  290. package/admin/plugins/fieldRenderers/object/index.js.map +1 -1
  291. package/admin/plugins/fieldRenderers/object/multipleObjects.js +12 -37
  292. package/admin/plugins/fieldRenderers/object/multipleObjects.js.map +1 -1
  293. package/admin/plugins/fieldRenderers/object/multipleObjectsAccordion.js +12 -36
  294. package/admin/plugins/fieldRenderers/object/multipleObjectsAccordion.js.map +1 -1
  295. package/admin/plugins/fieldRenderers/object/singleObjectAccordion.js +2 -11
  296. package/admin/plugins/fieldRenderers/object/singleObjectAccordion.js.map +1 -1
  297. package/admin/plugins/fieldRenderers/object/singleObjectInline.js +2 -14
  298. package/admin/plugins/fieldRenderers/object/singleObjectInline.js.map +1 -1
  299. package/admin/plugins/fieldRenderers/radioButtons.js +6 -17
  300. package/admin/plugins/fieldRenderers/radioButtons.js.map +1 -1
  301. package/admin/plugins/fieldRenderers/ref/advanced/components/AdvancedMultipleReferenceField.d.ts +8 -0
  302. package/admin/plugins/fieldRenderers/ref/advanced/components/AdvancedMultipleReferenceField.js +277 -0
  303. package/admin/plugins/fieldRenderers/ref/advanced/components/AdvancedMultipleReferenceField.js.map +1 -0
  304. package/admin/plugins/fieldRenderers/ref/advanced/components/AdvancedSingleReferenceField.d.ts +8 -0
  305. package/admin/plugins/fieldRenderers/ref/advanced/components/AdvancedSingleReferenceField.js +181 -0
  306. package/admin/plugins/fieldRenderers/ref/advanced/components/AdvancedSingleReferenceField.js.map +1 -0
  307. package/admin/plugins/fieldRenderers/ref/advanced/components/Entries.d.ts +9 -0
  308. package/admin/plugins/fieldRenderers/ref/advanced/components/Entries.js +62 -0
  309. package/admin/plugins/fieldRenderers/ref/advanced/components/Entries.js.map +1 -0
  310. package/admin/plugins/fieldRenderers/ref/advanced/components/Entry.d.ts +27 -0
  311. package/admin/plugins/fieldRenderers/ref/advanced/components/Entry.js +153 -0
  312. package/admin/plugins/fieldRenderers/ref/advanced/components/Entry.js.map +1 -0
  313. package/admin/plugins/fieldRenderers/ref/advanced/components/Loader.d.ts +3 -0
  314. package/admin/plugins/fieldRenderers/ref/advanced/components/Loader.js +37 -0
  315. package/admin/plugins/fieldRenderers/ref/advanced/components/Loader.js.map +1 -0
  316. package/admin/plugins/fieldRenderers/ref/advanced/components/NewReferencedEntryDialog.d.ts +9 -0
  317. package/admin/plugins/fieldRenderers/ref/advanced/components/NewReferencedEntryDialog.js +142 -0
  318. package/admin/plugins/fieldRenderers/ref/advanced/components/NewReferencedEntryDialog.js.map +1 -0
  319. package/admin/plugins/fieldRenderers/ref/advanced/components/Options.d.ts +9 -0
  320. package/admin/plugins/fieldRenderers/ref/advanced/components/Options.js +118 -0
  321. package/admin/plugins/fieldRenderers/ref/advanced/components/Options.js.map +1 -0
  322. package/admin/plugins/fieldRenderers/ref/advanced/components/ReferencesDialog.d.ts +11 -0
  323. package/admin/plugins/fieldRenderers/ref/advanced/components/ReferencesDialog.js +183 -0
  324. package/admin/plugins/fieldRenderers/ref/advanced/components/ReferencesDialog.js.map +1 -0
  325. package/admin/plugins/fieldRenderers/ref/advanced/components/Search.d.ts +7 -0
  326. package/admin/plugins/fieldRenderers/ref/advanced/components/Search.js +60 -0
  327. package/admin/plugins/fieldRenderers/ref/advanced/components/Search.js.map +1 -0
  328. package/admin/plugins/fieldRenderers/ref/advanced/components/assets/add-circle.svg +1 -0
  329. package/admin/plugins/fieldRenderers/ref/advanced/components/assets/down-arrow.svg +1 -0
  330. package/admin/plugins/fieldRenderers/ref/advanced/components/assets/link.svg +1 -0
  331. package/admin/plugins/fieldRenderers/ref/advanced/components/assets/search.svg +1 -0
  332. package/admin/plugins/fieldRenderers/ref/advanced/components/dialog/Dialog.d.ts +19 -0
  333. package/admin/plugins/fieldRenderers/ref/advanced/components/dialog/Dialog.js +35 -0
  334. package/admin/plugins/fieldRenderers/ref/advanced/components/dialog/Dialog.js.map +1 -0
  335. package/admin/plugins/fieldRenderers/ref/advanced/components/dialog/DialogHeader.d.ts +8 -0
  336. package/admin/plugins/fieldRenderers/ref/advanced/components/dialog/DialogHeader.js +90 -0
  337. package/admin/plugins/fieldRenderers/ref/advanced/components/dialog/DialogHeader.js.map +1 -0
  338. package/admin/plugins/fieldRenderers/ref/advanced/components/dialog/assets/close.svg +3 -0
  339. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Box.d.ts +8 -0
  340. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Box.js +64 -0
  341. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Box.js.map +1 -0
  342. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/CreatedBy.d.ts +8 -0
  343. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/CreatedBy.js +26 -0
  344. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/CreatedBy.js.map +1 -0
  345. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Description.d.ts +6 -0
  346. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Description.js +31 -0
  347. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Description.js.map +1 -0
  348. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Image.d.ts +9 -0
  349. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Image.js +65 -0
  350. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Image.js.map +1 -0
  351. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/ModelName.d.ts +6 -0
  352. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/ModelName.js +25 -0
  353. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/ModelName.js.map +1 -0
  354. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/ModifiedBy.d.ts +8 -0
  355. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/ModifiedBy.js +30 -0
  356. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/ModifiedBy.js.map +1 -0
  357. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/MoveDown.d.ts +7 -0
  358. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/MoveDown.js +24 -0
  359. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/MoveDown.js.map +1 -0
  360. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/MoveUp.d.ts +7 -0
  361. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/MoveUp.js +24 -0
  362. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/MoveUp.js.map +1 -0
  363. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Remove.d.ts +8 -0
  364. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Remove.js +44 -0
  365. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Remove.js.map +1 -0
  366. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Select.d.ts +9 -0
  367. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Select.js +82 -0
  368. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Select.js.map +1 -0
  369. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Status.d.ts +7 -0
  370. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Status.js +32 -0
  371. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Status.js.map +1 -0
  372. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Title.d.ts +6 -0
  373. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Title.js +24 -0
  374. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/Title.js.map +1 -0
  375. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/View.d.ts +7 -0
  376. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/View.js +22 -0
  377. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/View.js.map +1 -0
  378. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/assets/move-down.svg +3 -0
  379. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/assets/move-up.svg +3 -0
  380. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/assets/remove.svg +3 -0
  381. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/assets/selected.svg +3 -0
  382. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/assets/status-draft.svg +3 -0
  383. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/assets/status-published.svg +3 -0
  384. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/assets/status-unpublished.svg +3 -0
  385. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/assets/view.svg +3 -0
  386. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/elements/ButtonLink.d.ts +18 -0
  387. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/elements/ButtonLink.js +84 -0
  388. package/admin/plugins/fieldRenderers/ref/advanced/components/entry/elements/ButtonLink.js.map +1 -0
  389. package/admin/plugins/fieldRenderers/ref/advanced/components/options/OptionsModelList.d.ts +8 -0
  390. package/admin/plugins/fieldRenderers/ref/advanced/components/options/OptionsModelList.js +55 -0
  391. package/admin/plugins/fieldRenderers/ref/advanced/components/options/OptionsModelList.js.map +1 -0
  392. package/admin/plugins/fieldRenderers/ref/advanced/components/options/OptionsModelListItem.d.ts +8 -0
  393. package/admin/plugins/fieldRenderers/ref/advanced/components/options/OptionsModelListItem.js +98 -0
  394. package/admin/plugins/fieldRenderers/ref/advanced/components/options/OptionsModelListItem.js.map +1 -0
  395. package/admin/plugins/fieldRenderers/ref/advanced/detailedReferenceRenderer.d.ts +2 -0
  396. package/admin/plugins/fieldRenderers/ref/advanced/detailedReferenceRenderer.js +46 -0
  397. package/admin/plugins/fieldRenderers/ref/advanced/detailedReferenceRenderer.js.map +1 -0
  398. package/admin/plugins/fieldRenderers/ref/advanced/detailedReferencesRenderer.d.ts +2 -0
  399. package/admin/plugins/fieldRenderers/ref/advanced/detailedReferencesRenderer.js +45 -0
  400. package/admin/plugins/fieldRenderers/ref/advanced/detailedReferencesRenderer.js.map +1 -0
  401. package/admin/plugins/fieldRenderers/ref/advanced/hooks/graphql.d.ts +44 -0
  402. package/admin/plugins/fieldRenderers/ref/advanced/hooks/graphql.js +17 -0
  403. package/admin/plugins/fieldRenderers/ref/advanced/hooks/graphql.js.map +1 -0
  404. package/admin/plugins/fieldRenderers/ref/advanced/hooks/useEntries.d.ts +15 -0
  405. package/admin/plugins/fieldRenderers/ref/advanced/hooks/useEntries.js +187 -0
  406. package/admin/plugins/fieldRenderers/ref/advanced/hooks/useEntries.js.map +1 -0
  407. package/admin/plugins/fieldRenderers/ref/advanced/hooks/useReferences.d.ts +12 -0
  408. package/admin/plugins/fieldRenderers/ref/advanced/hooks/useReferences.js +214 -0
  409. package/admin/plugins/fieldRenderers/ref/advanced/hooks/useReferences.js.map +1 -0
  410. package/admin/plugins/fieldRenderers/ref/advanced/index.d.ts +1 -0
  411. package/admin/plugins/fieldRenderers/ref/advanced/index.js +12 -0
  412. package/admin/plugins/fieldRenderers/ref/advanced/index.js.map +1 -0
  413. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesAutocomplete.js +15 -46
  414. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesAutocomplete.js.map +1 -1
  415. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesMultiAutoComplete.js +19 -46
  416. package/admin/plugins/fieldRenderers/ref/components/ContentEntriesMultiAutoComplete.js.map +1 -1
  417. package/admin/plugins/fieldRenderers/ref/components/EntryStatus.js +4 -17
  418. package/admin/plugins/fieldRenderers/ref/components/EntryStatus.js.map +1 -1
  419. package/admin/plugins/fieldRenderers/ref/components/MissingEntryHelpText.js +0 -15
  420. package/admin/plugins/fieldRenderers/ref/components/MissingEntryHelpText.js.map +1 -1
  421. package/admin/plugins/fieldRenderers/ref/components/NewRefEntryFormDialog.d.ts +2 -2
  422. package/admin/plugins/fieldRenderers/ref/components/NewRefEntryFormDialog.js +15 -61
  423. package/admin/plugins/fieldRenderers/ref/components/NewRefEntryFormDialog.js.map +1 -1
  424. package/admin/plugins/fieldRenderers/ref/components/createEntryUrl.js +1 -5
  425. package/admin/plugins/fieldRenderers/ref/components/createEntryUrl.js.map +1 -1
  426. package/admin/plugins/fieldRenderers/ref/components/graphql.js +2 -7
  427. package/admin/plugins/fieldRenderers/ref/components/graphql.js.map +1 -1
  428. package/admin/plugins/fieldRenderers/ref/components/helpers.js +0 -12
  429. package/admin/plugins/fieldRenderers/ref/components/helpers.js.map +1 -1
  430. package/admin/plugins/fieldRenderers/ref/components/renderItem.js +0 -14
  431. package/admin/plugins/fieldRenderers/ref/components/renderItem.js.map +1 -1
  432. package/admin/plugins/fieldRenderers/ref/components/types.d.ts +11 -1
  433. package/admin/plugins/fieldRenderers/ref/components/types.js.map +1 -1
  434. package/admin/plugins/fieldRenderers/ref/components/useReference.js +51 -99
  435. package/admin/plugins/fieldRenderers/ref/components/useReference.js.map +1 -1
  436. package/admin/plugins/fieldRenderers/ref/components/useReferences.js +53 -83
  437. package/admin/plugins/fieldRenderers/ref/components/useReferences.js.map +1 -1
  438. package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntry.js +4 -20
  439. package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntry.js.map +1 -1
  440. package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntryDialog.js +5 -17
  441. package/admin/plugins/fieldRenderers/ref/hooks/useNewRefEntryDialog.js.map +1 -1
  442. package/admin/plugins/fieldRenderers/ref/index.d.ts +1 -1
  443. package/admin/plugins/fieldRenderers/ref/index.js +3 -5
  444. package/admin/plugins/fieldRenderers/ref/index.js.map +1 -1
  445. package/admin/plugins/fieldRenderers/ref/refInput.js +0 -9
  446. package/admin/plugins/fieldRenderers/ref/refInput.js.map +1 -1
  447. package/admin/plugins/fieldRenderers/ref/refInputs.js +0 -10
  448. package/admin/plugins/fieldRenderers/ref/refInputs.js.map +1 -1
  449. package/admin/plugins/fieldRenderers/richText/index.d.ts +1 -1
  450. package/admin/plugins/fieldRenderers/richText/index.js +0 -4
  451. package/admin/plugins/fieldRenderers/richText/index.js.map +1 -1
  452. package/admin/plugins/fieldRenderers/richText/richTextInput.js +1 -13
  453. package/admin/plugins/fieldRenderers/richText/richTextInput.js.map +1 -1
  454. package/admin/plugins/fieldRenderers/richText/richTextInputs.js +1 -18
  455. package/admin/plugins/fieldRenderers/richText/richTextInputs.js.map +1 -1
  456. package/admin/plugins/fieldRenderers/select.js +2 -15
  457. package/admin/plugins/fieldRenderers/select.js.map +1 -1
  458. package/admin/plugins/fieldRenderers/text/index.d.ts +1 -1
  459. package/admin/plugins/fieldRenderers/text/index.js +0 -4
  460. package/admin/plugins/fieldRenderers/text/index.js.map +1 -1
  461. package/admin/plugins/fieldRenderers/text/textInput.js +1 -10
  462. package/admin/plugins/fieldRenderers/text/textInput.js.map +1 -1
  463. package/admin/plugins/fieldRenderers/text/textInputs.js +1 -12
  464. package/admin/plugins/fieldRenderers/text/textInputs.js.map +1 -1
  465. package/admin/plugins/fieldValidators/date/availableValidators.js +0 -4
  466. package/admin/plugins/fieldValidators/date/availableValidators.js.map +1 -1
  467. package/admin/plugins/fieldValidators/date/createDateInputField.js +0 -10
  468. package/admin/plugins/fieldValidators/date/createDateInputField.js.map +1 -1
  469. package/admin/plugins/fieldValidators/dateGte.js +21 -48
  470. package/admin/plugins/fieldValidators/dateGte.js.map +1 -1
  471. package/admin/plugins/fieldValidators/dateLte.js +21 -48
  472. package/admin/plugins/fieldValidators/dateLte.js.map +1 -1
  473. package/admin/plugins/fieldValidators/dynamicZone.js +81 -133
  474. package/admin/plugins/fieldValidators/dynamicZone.js.map +1 -1
  475. package/admin/plugins/fieldValidators/gte.js +14 -31
  476. package/admin/plugins/fieldValidators/gte.js.map +1 -1
  477. package/admin/plugins/fieldValidators/in.js +14 -31
  478. package/admin/plugins/fieldValidators/in.js.map +1 -1
  479. package/admin/plugins/fieldValidators/lte.js +14 -31
  480. package/admin/plugins/fieldValidators/lte.js.map +1 -1
  481. package/admin/plugins/fieldValidators/maxLength.js +14 -31
  482. package/admin/plugins/fieldValidators/maxLength.js.map +1 -1
  483. package/admin/plugins/fieldValidators/minLength.js +14 -31
  484. package/admin/plugins/fieldValidators/minLength.js.map +1 -1
  485. package/admin/plugins/fieldValidators/pattern.js +31 -63
  486. package/admin/plugins/fieldValidators/pattern.js.map +1 -1
  487. package/admin/plugins/fieldValidators/patternPlugins/email.js.map +1 -1
  488. package/admin/plugins/fieldValidators/patternPlugins/lowerCase.js.map +1 -1
  489. package/admin/plugins/fieldValidators/patternPlugins/lowerCaseSpace.js.map +1 -1
  490. package/admin/plugins/fieldValidators/patternPlugins/upperCase.js.map +1 -1
  491. package/admin/plugins/fieldValidators/patternPlugins/upperCaseSpace.js.map +1 -1
  492. package/admin/plugins/fieldValidators/patternPlugins/url.js.map +1 -1
  493. package/admin/plugins/fieldValidators/required.js +0 -2
  494. package/admin/plugins/fieldValidators/required.js.map +1 -1
  495. package/admin/plugins/fieldValidators/unique.js +6 -16
  496. package/admin/plugins/fieldValidators/unique.js.map +1 -1
  497. package/admin/plugins/fields/PredefinedValuesDynamicFieldset.js +9 -31
  498. package/admin/plugins/fields/PredefinedValuesDynamicFieldset.js.map +1 -1
  499. package/admin/plugins/fields/boolean.js +0 -11
  500. package/admin/plugins/fields/boolean.js.map +1 -1
  501. package/admin/plugins/fields/dateTime.js +2 -19
  502. package/admin/plugins/fields/dateTime.js.map +1 -1
  503. package/admin/plugins/fields/dynamicZone/AddTemplate.d.ts +3 -3
  504. package/admin/plugins/fields/dynamicZone/AddTemplate.js +16 -39
  505. package/admin/plugins/fields/dynamicZone/AddTemplate.js.map +1 -1
  506. package/admin/plugins/fields/dynamicZone/DynamicZone.d.ts +2 -2
  507. package/admin/plugins/fields/dynamicZone/DynamicZone.js +2 -22
  508. package/admin/plugins/fields/dynamicZone/DynamicZone.js.map +1 -1
  509. package/admin/plugins/fields/dynamicZone/DynamicZoneTemplate.d.ts +2 -2
  510. package/admin/plugins/fields/dynamicZone/DynamicZoneTemplate.js +12 -35
  511. package/admin/plugins/fields/dynamicZone/DynamicZoneTemplate.js.map +1 -1
  512. package/admin/plugins/fields/dynamicZone/TemplateDialog.d.ts +2 -2
  513. package/admin/plugins/fields/dynamicZone/TemplateDialog.js +5 -38
  514. package/admin/plugins/fields/dynamicZone/TemplateDialog.js.map +1 -1
  515. package/admin/plugins/fields/dynamicZone/commonValidators.js.map +1 -1
  516. package/admin/plugins/fields/dynamicZone.d.ts +2 -2
  517. package/admin/plugins/fields/dynamicZone.js +4 -18
  518. package/admin/plugins/fields/dynamicZone.js.map +1 -1
  519. package/admin/plugins/fields/file.js +0 -11
  520. package/admin/plugins/fields/file.js.map +1 -1
  521. package/admin/plugins/fields/longText.js +0 -11
  522. package/admin/plugins/fields/longText.js.map +1 -1
  523. package/admin/plugins/fields/number.js +0 -12
  524. package/admin/plugins/fields/number.js.map +1 -1
  525. package/admin/plugins/fields/object/ObjectFields.js +3 -13
  526. package/admin/plugins/fields/object/ObjectFields.js.map +1 -1
  527. package/admin/plugins/fields/object.js +4 -11
  528. package/admin/plugins/fields/object.js.map +1 -1
  529. package/admin/plugins/fields/ref/graphql.d.ts +8 -0
  530. package/admin/plugins/fields/ref/graphql.js +12 -0
  531. package/admin/plugins/fields/ref/graphql.js.map +1 -0
  532. package/admin/plugins/fields/ref/renderInfo.d.ts +9 -0
  533. package/admin/plugins/fields/ref/renderInfo.js +116 -0
  534. package/admin/plugins/fields/ref/renderInfo.js.map +1 -0
  535. package/admin/plugins/fields/ref.js +27 -59
  536. package/admin/plugins/fields/ref.js.map +1 -1
  537. package/admin/plugins/fields/richText.js +0 -11
  538. package/admin/plugins/fields/richText.js.map +1 -1
  539. package/admin/plugins/fields/text.js +0 -12
  540. package/admin/plugins/fields/text.js.map +1 -1
  541. package/admin/plugins/getObjectId.js +0 -4
  542. package/admin/plugins/getObjectId.js.map +1 -1
  543. package/admin/plugins/icons.js +2 -12
  544. package/admin/plugins/icons.js.map +1 -1
  545. package/admin/plugins/index.d.ts +3 -3
  546. package/admin/plugins/index.js +0 -12
  547. package/admin/plugins/index.js.map +1 -1
  548. package/admin/plugins/install.js +22 -87
  549. package/admin/plugins/install.js.map +1 -1
  550. package/admin/plugins/permissionRenderer/CmsPermissions.js +18 -72
  551. package/admin/plugins/permissionRenderer/CmsPermissions.js.map +1 -1
  552. package/admin/plugins/permissionRenderer/components/ContentEntryPermission.js +6 -24
  553. package/admin/plugins/permissionRenderer/components/ContentEntryPermission.js.map +1 -1
  554. package/admin/plugins/permissionRenderer/components/ContentModelGroupPermission.js +4 -19
  555. package/admin/plugins/permissionRenderer/components/ContentModelGroupPermission.js.map +1 -1
  556. package/admin/plugins/permissionRenderer/components/ContentModelList.js +5 -18
  557. package/admin/plugins/permissionRenderer/components/ContentModelList.js.map +1 -1
  558. package/admin/plugins/permissionRenderer/components/ContentModelPermission.js +9 -29
  559. package/admin/plugins/permissionRenderer/components/ContentModelPermission.js.map +1 -1
  560. package/admin/plugins/permissionRenderer/components/PermissionRendererWrapper.js +2 -8
  561. package/admin/plugins/permissionRenderer/components/PermissionRendererWrapper.js.map +1 -1
  562. package/admin/plugins/permissionRenderer/components/PermissionSelector.js +11 -27
  563. package/admin/plugins/permissionRenderer/components/PermissionSelector.js.map +1 -1
  564. package/admin/plugins/permissionRenderer/components/StyledComponents.d.ts +5 -2
  565. package/admin/plugins/permissionRenderer/components/StyledComponents.js +0 -3
  566. package/admin/plugins/permissionRenderer/components/StyledComponents.js.map +1 -1
  567. package/admin/plugins/permissionRenderer/components/useCmsData.d.ts +1 -0
  568. package/admin/plugins/permissionRenderer/components/useCmsData.js +60 -65
  569. package/admin/plugins/permissionRenderer/components/useCmsData.js.map +1 -1
  570. package/admin/plugins/permissionRenderer/index.js +0 -6
  571. package/admin/plugins/permissionRenderer/index.js.map +1 -1
  572. package/admin/plugins/routes.js +3 -20
  573. package/admin/plugins/routes.js.map +1 -1
  574. package/admin/plugins/transformers/dateTransformer.js +5 -36
  575. package/admin/plugins/transformers/dateTransformer.js.map +1 -1
  576. package/admin/plugins/transformers/dynamicZoneTransformer.js +3 -12
  577. package/admin/plugins/transformers/dynamicZoneTransformer.js.map +1 -1
  578. package/admin/plugins/transformers/index.js +0 -5
  579. package/admin/plugins/transformers/index.js.map +1 -1
  580. package/admin/plugins/transformers/numberTransformer.js +0 -3
  581. package/admin/plugins/transformers/numberTransformer.js.map +1 -1
  582. package/admin/plugins/welcomeScreenWidget.js +0 -6
  583. package/admin/plugins/welcomeScreenWidget.js.map +1 -1
  584. package/admin/views/contentEntries/ContentEntries.js +8 -88
  585. package/admin/views/contentEntries/ContentEntries.js.map +1 -1
  586. package/admin/views/contentEntries/ContentEntriesContainer.d.ts +4 -0
  587. package/admin/views/contentEntries/ContentEntriesContainer.js +65 -0
  588. package/admin/views/contentEntries/ContentEntriesContainer.js.map +1 -0
  589. package/admin/views/contentEntries/ContentEntriesContext.d.ts +1 -1
  590. package/admin/views/contentEntries/ContentEntriesContext.js +14 -39
  591. package/admin/views/contentEntries/ContentEntriesContext.js.map +1 -1
  592. package/admin/views/contentEntries/ContentEntriesList.js +19 -54
  593. package/admin/views/contentEntries/ContentEntriesList.js.map +1 -1
  594. package/admin/views/contentEntries/ContentEntry/ContentEntryContext.d.ts +1 -1
  595. package/admin/views/contentEntries/ContentEntry/ContentEntryContext.js +33 -79
  596. package/admin/views/contentEntries/ContentEntry/ContentEntryContext.js.map +1 -1
  597. package/admin/views/contentEntries/ContentEntry/PublishEntryRevisionListItem.js +0 -12
  598. package/admin/views/contentEntries/ContentEntry/PublishEntryRevisionListItem.js.map +1 -1
  599. package/admin/views/contentEntries/ContentEntry/RevisionListItem.js +21 -61
  600. package/admin/views/contentEntries/ContentEntry/RevisionListItem.js.map +1 -1
  601. package/admin/views/contentEntries/ContentEntry/RevisionsList.js +3 -19
  602. package/admin/views/contentEntries/ContentEntry/RevisionsList.js.map +1 -1
  603. package/admin/views/contentEntries/ContentEntry/cache.js +10 -64
  604. package/admin/views/contentEntries/ContentEntry/cache.js.map +1 -1
  605. package/admin/views/contentEntries/ContentEntry/header/Header.js +0 -9
  606. package/admin/views/contentEntries/ContentEntry/header/Header.js.map +1 -1
  607. package/admin/views/contentEntries/ContentEntry/header/contentFormOptionsMenu/ContentFormOptionsMenu.js +48 -94
  608. package/admin/views/contentEntries/ContentEntry/header/contentFormOptionsMenu/ContentFormOptionsMenu.js.map +1 -1
  609. package/admin/views/contentEntries/ContentEntry/header/index.js +0 -8
  610. package/admin/views/contentEntries/ContentEntry/header/index.js.map +1 -1
  611. package/admin/views/contentEntries/ContentEntry/header/revisionSelector/RevisionSelector.js +5 -22
  612. package/admin/views/contentEntries/ContentEntry/header/revisionSelector/RevisionSelector.js.map +1 -1
  613. package/admin/views/contentEntries/ContentEntry/header/saveAndPublishContent/SaveAndPublishContent.js +30 -62
  614. package/admin/views/contentEntries/ContentEntry/header/saveAndPublishContent/SaveAndPublishContent.js.map +1 -1
  615. package/admin/views/contentEntries/ContentEntry/header/saveContent/SaveContent.js +3 -17
  616. package/admin/views/contentEntries/ContentEntry/header/saveContent/SaveContent.js.map +1 -1
  617. package/admin/views/contentEntries/ContentEntry/prepareFormData.js +2 -35
  618. package/admin/views/contentEntries/ContentEntry/prepareFormData.js.map +1 -1
  619. package/admin/views/contentEntries/ContentEntry/useRevision.js +81 -146
  620. package/admin/views/contentEntries/ContentEntry/useRevision.js.map +1 -1
  621. package/admin/views/contentEntries/ContentEntry.js +9 -32
  622. package/admin/views/contentEntries/ContentEntry.js.map +1 -1
  623. package/admin/views/contentEntries/experiment/ContentEntriesModule.js +1 -13
  624. package/admin/views/contentEntries/experiment/ContentEntriesModule.js.map +1 -1
  625. package/admin/views/contentEntries/experiment/ContentEntriesRenderer.js +0 -8
  626. package/admin/views/contentEntries/experiment/ContentEntriesRenderer.js.map +1 -1
  627. package/admin/views/contentEntries/experiment/ContentEntriesViewConfig.d.ts +2 -0
  628. package/admin/views/contentEntries/experiment/ContentEntriesViewConfig.js +50 -74
  629. package/admin/views/contentEntries/experiment/ContentEntriesViewConfig.js.map +1 -1
  630. package/admin/views/contentEntries/hooks/index.d.ts +3 -0
  631. package/admin/views/contentEntries/hooks/index.js +38 -0
  632. package/admin/views/contentEntries/hooks/index.js.map +1 -0
  633. package/admin/views/contentEntries/hooks/useContentEntries.js +0 -5
  634. package/admin/views/contentEntries/hooks/useContentEntries.js.map +1 -1
  635. package/admin/views/contentEntries/hooks/useContentEntriesList.d.ts +1 -1
  636. package/admin/views/contentEntries/hooks/useContentEntriesList.js +31 -54
  637. package/admin/views/contentEntries/hooks/useContentEntriesList.js.map +1 -1
  638. package/admin/views/contentEntries/hooks/useContentEntry.js +0 -5
  639. package/admin/views/contentEntries/hooks/useContentEntry.js.map +1 -1
  640. package/admin/views/contentModelGroups/ContentModelGroups.js +2 -15
  641. package/admin/views/contentModelGroups/ContentModelGroups.js.map +1 -1
  642. package/admin/views/contentModelGroups/ContentModelGroupsDataList.js +66 -120
  643. package/admin/views/contentModelGroups/ContentModelGroupsDataList.js.map +1 -1
  644. package/admin/views/contentModelGroups/ContentModelGroupsForm.js +72 -129
  645. package/admin/views/contentModelGroups/ContentModelGroupsForm.js.map +1 -1
  646. package/admin/views/contentModelGroups/graphql.js +1 -9
  647. package/admin/views/contentModelGroups/graphql.js.map +1 -1
  648. package/admin/views/contentModels/CloneContentModelDialog.d.ts +5 -6
  649. package/admin/views/contentModels/CloneContentModelDialog.js +120 -164
  650. package/admin/views/contentModels/CloneContentModelDialog.js.map +1 -1
  651. package/admin/views/contentModels/ContentModelEditor.js +3 -17
  652. package/admin/views/contentModels/ContentModelEditor.js.map +1 -1
  653. package/admin/views/contentModels/ContentModels.js +10 -30
  654. package/admin/views/contentModels/ContentModels.js.map +1 -1
  655. package/admin/views/contentModels/ContentModelsDataList.js +105 -139
  656. package/admin/views/contentModels/ContentModelsDataList.js.map +1 -1
  657. package/admin/views/contentModels/NewContentModelDialog.js +118 -221
  658. package/admin/views/contentModels/NewContentModelDialog.js.map +1 -1
  659. package/admin/views/contentModels/cache.js +5 -28
  660. package/admin/views/contentModels/cache.js.map +1 -1
  661. package/admin/views/contentModels/helpers/apiNameValidator.d.ts +8 -0
  662. package/admin/views/contentModels/helpers/apiNameValidator.js +116 -0
  663. package/admin/views/contentModels/helpers/apiNameValidator.js.map +1 -0
  664. package/admin/views/contentModels/helpers/nameValidator.d.ts +6 -0
  665. package/admin/views/contentModels/helpers/nameValidator.js +63 -0
  666. package/admin/views/contentModels/helpers/nameValidator.js.map +1 -0
  667. package/admin/views/utils.js +3 -9
  668. package/admin/views/utils.js.map +1 -1
  669. package/admin/viewsGraphql.js +7 -11
  670. package/admin/viewsGraphql.js.map +1 -1
  671. package/allPlugins.d.ts +3 -3
  672. package/allPlugins.js +0 -44
  673. package/allPlugins.js.map +1 -1
  674. package/index.js +0 -5
  675. package/index.js.map +1 -1
  676. package/package.json +27 -28
  677. package/types/index.d.ts +40 -18
  678. package/types/index.js +0 -6
  679. package/types/index.js.map +1 -1
  680. package/types/model.d.ts +10 -5
  681. package/types/model.js.map +1 -1
  682. package/types/shared.d.ts +1 -1
  683. package/types/shared.js.map +1 -1
  684. package/utils/CmsModelFieldValidatorConfigAdapter.js +0 -12
  685. package/utils/CmsModelFieldValidatorConfigAdapter.js.map +1 -1
  686. package/utils/createTypeName.js +0 -5
  687. package/utils/createTypeName.js.map +1 -1
  688. package/utils/createValidators.js +40 -61
  689. package/utils/createValidators.js.map +1 -1
  690. package/utils/getFetchPolicy.js +0 -2
  691. package/utils/getFetchPolicy.js.map +1 -1
  692. package/utils/getModelTitleFieldId.js +0 -3
  693. package/utils/getModelTitleFieldId.js.map +1 -1
@@ -0,0 +1,277 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.AdvancedMultipleReferenceField = void 0;
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+ var _react = _interopRequireWildcard(require("react"));
12
+ var _styled = _interopRequireDefault(require("@emotion/styled"));
13
+ var GQL = _interopRequireWildcard(require("../../../../../viewsGraphql"));
14
+ var _Options = require("./Options");
15
+ var _useReferences2 = require("../hooks/useReferences");
16
+ var _Entry = require("./Entry");
17
+ var _ReferencesDialog = require("./ReferencesDialog");
18
+ var _hooks = require("../../../../../hooks");
19
+ var _appAdmin = require("@webiny/app-admin");
20
+ var _Loader = require("./Loader");
21
+ var _NewReferencedEntryDialog = require("../components/NewReferencedEntryDialog");
22
+ var _utils = require("@webiny/utils");
23
+ var _Entries = require("./Entries");
24
+ var FieldLabel = /*#__PURE__*/(0, _styled.default)("h3", {
25
+ target: "e11vg9uk0",
26
+ label: "FieldLabel"
27
+ })({
28
+ fontSize: 24,
29
+ fontWeight: "normal",
30
+ borderBottom: "1px solid var(--mdc-theme-background)",
31
+ marginBottom: "20px",
32
+ paddingBottom: "5px",
33
+ display: "flex",
34
+ justifyContent: "space-between"
35
+ });
36
+ var OptionsContainer = /*#__PURE__*/(0, _styled.default)("div", {
37
+ target: "e11vg9uk1",
38
+ label: "OptionsContainer"
39
+ })({
40
+ borderTop: "1px solid var(--mdc-theme-on-background)",
41
+ borderRight: "1px solid var(--mdc-theme-surface)",
42
+ backgroundColor: "var(--mdc-theme-surface)",
43
+ marginLeft: "-21px",
44
+ marginBottom: "-21px",
45
+ marginRight: "-1px"
46
+ });
47
+ var Container = /*#__PURE__*/(0, _styled.default)("div", {
48
+ target: "e11vg9uk2",
49
+ label: "Container"
50
+ })({
51
+ border: "1px solid var(--mdc-theme-on-background)",
52
+ paddingLeft: "10px",
53
+ width: "100%",
54
+ boxSizing: "border-box",
55
+ position: "relative",
56
+ padding: "20px 0 20px 20px",
57
+ backgroundColor: "var(--mdc-theme-background)",
58
+ "&.no-entries": (0, _defineProperty2.default)({
59
+ backgroundColor: "var(--mdc-theme-surface)",
60
+ border: "none",
61
+ borderLeft: "3px solid var(--mdc-theme-background)",
62
+ padding: 0,
63
+ paddingLeft: 10
64
+ }, OptionsContainer, {
65
+ border: "none",
66
+ margin: 0
67
+ }),
68
+ "&.single-entry": {
69
+ "> .entries": {
70
+ height: "auto",
71
+ " > div > div": {
72
+ position: "relative !important"
73
+ }
74
+ }
75
+ }
76
+ });
77
+ var FieldName = /*#__PURE__*/(0, _styled.default)("span", {
78
+ target: "e11vg9uk3",
79
+ label: "FieldName"
80
+ })({});
81
+ var RecordCount = /*#__PURE__*/(0, _styled.default)("span", {
82
+ target: "e11vg9uk4",
83
+ label: "RecordCount"
84
+ })({
85
+ color: "var(--mdc-theme-text-secondary-on-background)",
86
+ fontSize: "0.6em",
87
+ lineHeight: "100%",
88
+ alignSelf: "center"
89
+ });
90
+ var getRecordCountMessage = function getRecordCountMessage(count) {
91
+ switch (count) {
92
+ case 0:
93
+ return "no records selected";
94
+ case 1:
95
+ return "1 record selected";
96
+ default:
97
+ return "".concat(count, " records selected");
98
+ }
99
+ };
100
+ var AdvancedMultipleReferenceField = function AdvancedMultipleReferenceField(props) {
101
+ var bind = props.bind,
102
+ field = props.field;
103
+ var _useSnackbar = (0, _appAdmin.useSnackbar)(),
104
+ showSnackbar = _useSnackbar.showSnackbar;
105
+ var values = (0, _react.useMemo)(function () {
106
+ return bind.value || [];
107
+ }, [bind.value]);
108
+ var _useState = (0, _react.useState)(null),
109
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
110
+ linkEntryDialogModel = _useState2[0],
111
+ setLinkEntryDialogModel = _useState2[1];
112
+ var _useState3 = (0, _react.useState)(null),
113
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
114
+ newEntryDialogModel = _useState4[0],
115
+ setNewEntryDialogModel = _useState4[1];
116
+ var _useState5 = (0, _react.useState)([]),
117
+ _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
118
+ loadedModels = _useState6[0],
119
+ setLoadedModels = _useState6[1];
120
+ var _useQuery = (0, _hooks.useQuery)(GQL.LIST_CONTENT_MODELS),
121
+ data = _useQuery.data,
122
+ loadingModels = _useQuery.loading;
123
+ (0, _react.useEffect)(function () {
124
+ var _data$listContentMode;
125
+ if (loadingModels || !(data !== null && data !== void 0 && (_data$listContentMode = data.listContentModels) !== null && _data$listContentMode !== void 0 && _data$listContentMode.data)) {
126
+ return;
127
+ } else if (data.listContentModels.error) {
128
+ setLoadedModels([]);
129
+ showSnackbar(data.listContentModels.error.message);
130
+ return;
131
+ }
132
+ setLoadedModels(data.listContentModels.data);
133
+ }, [data]);
134
+ var onNewRecord = (0, _react.useCallback)(function (modelId) {
135
+ var model = loadedModels.find(function (model) {
136
+ return model.modelId === modelId;
137
+ });
138
+ if (!model) {
139
+ console.log("Cannot find model by modelId \"".concat(modelId, "\"."));
140
+ return;
141
+ }
142
+ setNewEntryDialogModel(model);
143
+ }, [loadedModels, linkEntryDialogModel]);
144
+ var onNewEntryDialogClose = (0, _react.useCallback)(function () {
145
+ setNewEntryDialogModel(null);
146
+ }, [linkEntryDialogModel]);
147
+ var onExistingRecord = (0, _react.useCallback)(function (modelId) {
148
+ var model = loadedModels.find(function (model) {
149
+ return model.modelId === modelId;
150
+ });
151
+ if (!model) {
152
+ console.log("Cannot find model by modelId \"".concat(modelId, "\"."));
153
+ return;
154
+ }
155
+ setLinkEntryDialogModel(model);
156
+ }, [loadedModels, linkEntryDialogModel]);
157
+ var onLinkEntryDialogClose = (0, _react.useCallback)(function () {
158
+ setLinkEntryDialogModel(null);
159
+ }, []);
160
+ var _useReferences = (0, _useReferences2.useReferences)({
161
+ values: values,
162
+ perPage: 10
163
+ }),
164
+ entries = _useReferences.entries,
165
+ loadingEntries = _useReferences.loading,
166
+ loadMore = _useReferences.loadMore;
167
+ var onRemove = (0, _react.useCallback)(function (id) {
168
+ if (!values || !Array.isArray(values)) {
169
+ return;
170
+ }
171
+ var _parseIdentifier = (0, _utils.parseIdentifier)(id),
172
+ entryId = _parseIdentifier.id;
173
+ bind.onChange(values.filter(function (value) {
174
+ var _parseIdentifier2 = (0, _utils.parseIdentifier)(value.id),
175
+ valueEntryId = _parseIdentifier2.id;
176
+ return valueEntryId !== entryId;
177
+ }));
178
+ }, [entries, values]);
179
+ var models = (0, _react.useMemo)(function () {
180
+ var _field$settings;
181
+ if (!loadedModels || !((_field$settings = field.settings) !== null && _field$settings !== void 0 && _field$settings.models) || !Array.isArray(field.settings.models)) {
182
+ return [];
183
+ }
184
+ return field.settings.models.reduce(function (collection, ref) {
185
+ var model = loadedModels.find(function (model) {
186
+ return model.modelId === ref.modelId;
187
+ });
188
+ if (!model) {
189
+ return collection;
190
+ }
191
+ collection.push(model);
192
+ return collection;
193
+ }, []);
194
+ }, [loadedModels, entries]);
195
+ var storeValues = (0, _react.useCallback)(function (values) {
196
+ bind.onChange(values);
197
+ return;
198
+ }, [values]);
199
+ var onNewEntryCreate = (0, _react.useCallback)(function (data) {
200
+ if (!data) {
201
+ console.log("Could not store new entry to the reference field. Missing whole entry.");
202
+ return;
203
+ } else if (!data.id) {
204
+ console.log("Could not store new entry to the reference field. Missing \"id\" value.");
205
+ return;
206
+ } else if (!data.modelId) {
207
+ console.log("Could not store new entry to the reference field. Missing \"modelId\" value.");
208
+ return;
209
+ }
210
+ storeValues(values.concat([{
211
+ id: data.id,
212
+ modelId: data.modelId
213
+ }]));
214
+ }, [storeValues]);
215
+ var onMoveUp = (0, _react.useCallback)(function (index, toTop) {
216
+ if (values.length === 0) {
217
+ return;
218
+ } else if (toTop) {
219
+ var arr = values.splice(index, 1);
220
+ bind.onChange(arr.concat(values));
221
+ return;
222
+ }
223
+ bind.moveValueUp(index);
224
+ }, [values]);
225
+ var onMoveDown = (0, _react.useCallback)(function (index, toBottom) {
226
+ if (values.length === 0) {
227
+ return;
228
+ } else if (toBottom === true) {
229
+ var arr = values.splice(index, 1);
230
+ bind.onChange(values.concat(arr));
231
+ return;
232
+ }
233
+ bind.moveValueDown(index);
234
+ }, [values]);
235
+ var loading = loadingEntries || loadingModels;
236
+ var message = getRecordCountMessage(values.length);
237
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(FieldLabel, null, /*#__PURE__*/_react.default.createElement(FieldName, null, field.label), /*#__PURE__*/_react.default.createElement(RecordCount, null, "(", message, ")")), /*#__PURE__*/_react.default.createElement(Container, {
238
+ className: (entries.length < 1 ? "no-entries" : "has-entries") + (entries.length == 1 ? " single-entry" : "")
239
+ }, loading && /*#__PURE__*/_react.default.createElement(_Loader.AbsoluteLoader, null), /*#__PURE__*/_react.default.createElement(_Entries.Entries, {
240
+ entries: entries,
241
+ loadMore: loadMore
242
+ }, function (entry, index) {
243
+ var isFirst = index === 0;
244
+ var isLast = index >= values.length - 1;
245
+ var model = loadedModels.find(function (model) {
246
+ return model.modelId === entry.model.modelId;
247
+ });
248
+ if (!model) {
249
+ return null;
250
+ }
251
+ return /*#__PURE__*/_react.default.createElement(_Entry.Entry, {
252
+ model: model,
253
+ placement: "multiRef",
254
+ key: "reference-entry-".concat(entry.id),
255
+ index: index,
256
+ entry: entry,
257
+ onRemove: onRemove,
258
+ onMoveUp: !isFirst ? onMoveUp : undefined,
259
+ onMoveDown: !isLast ? onMoveDown : undefined
260
+ });
261
+ }), /*#__PURE__*/_react.default.createElement(OptionsContainer, null, /*#__PURE__*/_react.default.createElement(_Options.Options, {
262
+ models: models,
263
+ onNewRecord: onNewRecord,
264
+ onLinkExistingRecord: onExistingRecord
265
+ }), newEntryDialogModel && /*#__PURE__*/_react.default.createElement(_NewReferencedEntryDialog.NewReferencedEntryDialog, {
266
+ model: newEntryDialogModel,
267
+ onClose: onNewEntryDialogClose,
268
+ onChange: onNewEntryCreate
269
+ }), linkEntryDialogModel && /*#__PURE__*/_react.default.createElement(_ReferencesDialog.ReferencesDialog, Object.assign({}, props, {
270
+ multiple: true,
271
+ values: values,
272
+ contentModel: linkEntryDialogModel,
273
+ storeValues: storeValues,
274
+ onDialogClose: onLinkEntryDialogClose
275
+ })))));
276
+ };
277
+ exports.AdvancedMultipleReferenceField = AdvancedMultipleReferenceField;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["FieldLabel","styled","fontSize","fontWeight","borderBottom","marginBottom","paddingBottom","display","justifyContent","OptionsContainer","borderTop","borderRight","backgroundColor","marginLeft","marginRight","Container","border","paddingLeft","width","boxSizing","position","padding","borderLeft","margin","height","FieldName","RecordCount","color","lineHeight","alignSelf","getRecordCountMessage","count","AdvancedMultipleReferenceField","props","bind","field","useSnackbar","showSnackbar","values","useMemo","value","useState","linkEntryDialogModel","setLinkEntryDialogModel","newEntryDialogModel","setNewEntryDialogModel","loadedModels","setLoadedModels","useQuery","GQL","LIST_CONTENT_MODELS","data","loadingModels","loading","useEffect","listContentModels","error","message","onNewRecord","useCallback","modelId","model","find","console","log","onNewEntryDialogClose","onExistingRecord","onLinkEntryDialogClose","useReferences","perPage","entries","loadingEntries","loadMore","onRemove","id","Array","isArray","parseIdentifier","entryId","onChange","filter","valueEntryId","models","settings","reduce","collection","ref","push","storeValues","onNewEntryCreate","concat","onMoveUp","index","toTop","length","arr","splice","moveValueUp","onMoveDown","toBottom","moveValueDown","label","entry","isFirst","isLast","undefined"],"sources":["AdvancedMultipleReferenceField.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport styled from \"@emotion/styled\";\nimport * as GQL from \"~/admin/viewsGraphql\";\nimport {\n BindComponentRenderProp,\n CmsEditorContentEntry,\n CmsModelFieldRendererProps,\n CmsModel\n} from \"~/types\";\nimport { Options } from \"./Options\";\nimport { useReferences } from \"../hooks/useReferences\";\nimport { Entry } from \"./Entry\";\nimport { ReferencesDialog } from \"./ReferencesDialog\";\nimport { useQuery } from \"~/admin/hooks\";\nimport { ListCmsModelsQueryResponse } from \"~/admin/viewsGraphql\";\nimport { useSnackbar } from \"@webiny/app-admin\";\nimport { CmsReferenceValue } from \"~/admin/plugins/fieldRenderers/ref/components/types\";\nimport { AbsoluteLoader as Loader } from \"./Loader\";\nimport { NewReferencedEntryDialog } from \"../components/NewReferencedEntryDialog\";\nimport { parseIdentifier } from \"@webiny/utils\";\nimport { Entries } from \"./Entries\";\n\nconst FieldLabel = styled(\"h3\")({\n fontSize: 24,\n fontWeight: \"normal\",\n borderBottom: \"1px solid var(--mdc-theme-background)\",\n marginBottom: \"20px\",\n paddingBottom: \"5px\",\n display: \"flex\",\n justifyContent: \"space-between\"\n});\n\nconst OptionsContainer: any = styled(\"div\")({\n borderTop: \"1px solid var(--mdc-theme-on-background)\",\n borderRight: \"1px solid var(--mdc-theme-surface)\",\n backgroundColor: \"var(--mdc-theme-surface)\",\n marginLeft: \"-21px\",\n marginBottom: \"-21px\",\n marginRight: \"-1px\"\n});\n\nconst Container = styled(\"div\")({\n border: \"1px solid var(--mdc-theme-on-background)\",\n paddingLeft: \"10px\",\n width: \"100%\",\n boxSizing: \"border-box\",\n position: \"relative\",\n padding: \"20px 0 20px 20px\",\n backgroundColor: \"var(--mdc-theme-background)\",\n \"&.no-entries\": {\n backgroundColor: \"var(--mdc-theme-surface)\",\n border: \"none\",\n borderLeft: \"3px solid var(--mdc-theme-background)\",\n padding: 0,\n paddingLeft: 10,\n [OptionsContainer]: {\n border: \"none\",\n margin: 0\n }\n },\n \"&.single-entry\": {\n \"> .entries\": {\n height: \"auto\",\n \" > div > div\": {\n position: \"relative !important\" as any\n }\n }\n }\n});\n\nconst FieldName = styled(\"span\")({});\nconst RecordCount = styled(\"span\")({\n color: \"var(--mdc-theme-text-secondary-on-background)\",\n fontSize: \"0.6em\",\n lineHeight: \"100%\",\n alignSelf: \"center\"\n});\n\nconst getRecordCountMessage = (count: number) => {\n switch (count) {\n case 0:\n return \"no records selected\";\n case 1:\n return \"1 record selected\";\n default:\n return `${count} records selected`;\n }\n};\n\ninterface Props extends CmsModelFieldRendererProps {\n bind: BindComponentRenderProp<CmsReferenceValue[] | undefined | null>;\n}\n\nexport const AdvancedMultipleReferenceField: React.VFC<Props> = props => {\n const { bind, field } = props;\n const { showSnackbar } = useSnackbar();\n\n const values = useMemo(() => {\n return bind.value || [];\n }, [bind.value]);\n\n const [linkEntryDialogModel, setLinkEntryDialogModel] = useState<CmsModel | null>(null);\n const [newEntryDialogModel, setNewEntryDialogModel] = useState<CmsModel | null>(null);\n\n const [loadedModels, setLoadedModels] = useState<CmsModel[]>([]);\n\n const { data, loading: loadingModels } = useQuery<ListCmsModelsQueryResponse>(\n GQL.LIST_CONTENT_MODELS\n );\n\n useEffect(() => {\n if (loadingModels || !data?.listContentModels?.data) {\n return;\n } else if (data.listContentModels.error) {\n setLoadedModels([]);\n showSnackbar(data.listContentModels.error.message);\n return;\n }\n setLoadedModels(data.listContentModels.data);\n }, [data]);\n\n const onNewRecord = useCallback(\n (modelId: string) => {\n const model = loadedModels.find(model => model.modelId === modelId);\n if (!model) {\n console.log(`Cannot find model by modelId \"${modelId}\".`);\n return;\n }\n setNewEntryDialogModel(model);\n },\n [loadedModels, linkEntryDialogModel]\n );\n\n const onNewEntryDialogClose = useCallback(() => {\n setNewEntryDialogModel(null);\n }, [linkEntryDialogModel]);\n\n const onExistingRecord = useCallback(\n (modelId: string) => {\n const model = loadedModels.find(model => model.modelId === modelId);\n if (!model) {\n console.log(`Cannot find model by modelId \"${modelId}\".`);\n return;\n }\n setLinkEntryDialogModel(model);\n },\n [loadedModels, linkEntryDialogModel]\n );\n\n const onLinkEntryDialogClose = useCallback(() => {\n setLinkEntryDialogModel(null);\n }, []);\n\n const {\n entries,\n loading: loadingEntries,\n loadMore\n } = useReferences({\n values,\n perPage: 10\n });\n\n const onRemove = useCallback(\n (id: string) => {\n if (!values || !Array.isArray(values)) {\n return;\n }\n const { id: entryId } = parseIdentifier(id);\n bind.onChange(\n values.filter(value => {\n const { id: valueEntryId } = parseIdentifier(value.id);\n return valueEntryId !== entryId;\n })\n );\n },\n [entries, values]\n );\n\n const models = useMemo(() => {\n if (!loadedModels || !field.settings?.models || !Array.isArray(field.settings.models)) {\n return [];\n }\n\n return field.settings.models.reduce<CmsModel[]>((collection, ref) => {\n const model = loadedModels.find(model => model.modelId === ref.modelId);\n if (!model) {\n return collection;\n }\n collection.push(model);\n\n return collection;\n }, []);\n }, [loadedModels, entries]);\n\n const storeValues = useCallback(\n (values: CmsReferenceValue[]) => {\n bind.onChange(values);\n return;\n },\n [values]\n );\n\n const onNewEntryCreate = useCallback(\n (data: Partial<CmsEditorContentEntry> | null) => {\n if (!data) {\n console.log(\n `Could not store new entry to the reference field. Missing whole entry.`\n );\n return;\n } else if (!data.id) {\n console.log(\n `Could not store new entry to the reference field. Missing \"id\" value.`\n );\n return;\n } else if (!data.modelId) {\n console.log(\n `Could not store new entry to the reference field. Missing \"modelId\" value.`\n );\n return;\n }\n storeValues(\n values.concat([\n {\n id: data.id,\n modelId: data.modelId\n }\n ])\n );\n },\n [storeValues]\n );\n\n const onMoveUp = useCallback(\n (index: number, toTop?: boolean) => {\n if (values.length === 0) {\n return;\n } else if (toTop) {\n const arr = values.splice(index, 1);\n bind.onChange(arr.concat(values));\n return;\n }\n bind.moveValueUp(index);\n },\n [values]\n );\n const onMoveDown = useCallback(\n (index: number, toBottom?: boolean) => {\n if (values.length === 0) {\n return;\n } else if (toBottom === true) {\n const arr = values.splice(index, 1);\n bind.onChange(values.concat(arr));\n return;\n }\n bind.moveValueDown(index);\n },\n [values]\n );\n\n const loading = loadingEntries || loadingModels;\n\n const message = getRecordCountMessage(values.length);\n\n return (\n <>\n <FieldLabel>\n <FieldName>{field.label}</FieldName>\n <RecordCount>({message})</RecordCount>\n </FieldLabel>\n <Container\n className={\n (entries.length < 1 ? \"no-entries\" : \"has-entries\") +\n (entries.length == 1 ? \" single-entry\" : \"\")\n }\n >\n {loading && <Loader />}\n <Entries entries={entries} loadMore={loadMore}>\n {(entry, index) => {\n const isFirst = index === 0;\n const isLast = index >= values.length - 1;\n const model = loadedModels.find(\n model => model.modelId === entry.model.modelId\n );\n if (!model) {\n return null;\n }\n return (\n <Entry\n model={model}\n placement=\"multiRef\"\n key={`reference-entry-${entry.id}`}\n index={index}\n entry={entry}\n onRemove={onRemove}\n onMoveUp={!isFirst ? onMoveUp : undefined}\n onMoveDown={!isLast ? onMoveDown : undefined}\n />\n );\n }}\n </Entries>\n\n <OptionsContainer>\n <Options\n models={models}\n onNewRecord={onNewRecord}\n onLinkExistingRecord={onExistingRecord}\n />\n\n {newEntryDialogModel && (\n <NewReferencedEntryDialog\n model={newEntryDialogModel}\n onClose={onNewEntryDialogClose}\n onChange={onNewEntryCreate}\n />\n )}\n\n {linkEntryDialogModel && (\n <ReferencesDialog\n {...props}\n multiple={true}\n values={values}\n contentModel={linkEntryDialogModel}\n storeValues={storeValues}\n onDialogClose={onLinkEntryDialogClose}\n />\n )}\n </OptionsContainer>\n </Container>\n </>\n );\n};\n"],"mappings":";;;;;;;;;;AAAA;AACA;AACA;AAOA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AAEA,IAAMA,UAAU,oBAAGC,eAAM,EAAC,IAAI;EAAA;EAAA;AAAA,GAAE;EAC5BC,QAAQ,EAAE,EAAE;EACZC,UAAU,EAAE,QAAQ;EACpBC,YAAY,EAAE,uCAAuC;EACrDC,YAAY,EAAE,MAAM;EACpBC,aAAa,EAAE,KAAK;EACpBC,OAAO,EAAE,MAAM;EACfC,cAAc,EAAE;AACpB,CAAC,CAAC;AAEF,IAAMC,gBAAqB,oBAAGR,eAAM,EAAC,KAAK;EAAA;EAAA;AAAA,GAAE;EACxCS,SAAS,EAAE,0CAA0C;EACrDC,WAAW,EAAE,oCAAoC;EACjDC,eAAe,EAAE,0BAA0B;EAC3CC,UAAU,EAAE,OAAO;EACnBR,YAAY,EAAE,OAAO;EACrBS,WAAW,EAAE;AACjB,CAAC,CAAC;AAEF,IAAMC,SAAS,oBAAGd,eAAM,EAAC,KAAK;EAAA;EAAA;AAAA,GAAE;EAC5Be,MAAM,EAAE,0CAA0C;EAClDC,WAAW,EAAE,MAAM;EACnBC,KAAK,EAAE,MAAM;EACbC,SAAS,EAAE,YAAY;EACvBC,QAAQ,EAAE,UAAU;EACpBC,OAAO,EAAE,kBAAkB;EAC3BT,eAAe,EAAE,6BAA6B;EAC9C,cAAc;IACVA,eAAe,EAAE,0BAA0B;IAC3CI,MAAM,EAAE,MAAM;IACdM,UAAU,EAAE,uCAAuC;IACnDD,OAAO,EAAE,CAAC;IACVJ,WAAW,EAAE;EAAE,GACdR,gBAAgB,EAAG;IAChBO,MAAM,EAAE,MAAM;IACdO,MAAM,EAAE;EACZ,CAAC,CACJ;EACD,gBAAgB,EAAE;IACd,YAAY,EAAE;MACVC,MAAM,EAAE,MAAM;MACd,cAAc,EAAE;QACZJ,QAAQ,EAAE;MACd;IACJ;EACJ;AACJ,CAAC,CAAC;AAEF,IAAMK,SAAS,oBAAGxB,eAAM,EAAC,MAAM;EAAA;EAAA;AAAA,GAAE,CAAC,CAAC,CAAC;AACpC,IAAMyB,WAAW,oBAAGzB,eAAM,EAAC,MAAM;EAAA;EAAA;AAAA,GAAE;EAC/B0B,KAAK,EAAE,+CAA+C;EACtDzB,QAAQ,EAAE,OAAO;EACjB0B,UAAU,EAAE,MAAM;EAClBC,SAAS,EAAE;AACf,CAAC,CAAC;AAEF,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAqB,CAAIC,KAAa,EAAK;EAC7C,QAAQA,KAAK;IACT,KAAK,CAAC;MACF,OAAO,qBAAqB;IAChC,KAAK,CAAC;MACF,OAAO,mBAAmB;IAC9B;MACI,iBAAUA,KAAK;EAAoB;AAE/C,CAAC;AAMM,IAAMC,8BAAgD,GAAG,SAAnDA,8BAAgD,CAAGC,KAAK,EAAI;EACrE,IAAQC,IAAI,GAAYD,KAAK,CAArBC,IAAI;IAAEC,KAAK,GAAKF,KAAK,CAAfE,KAAK;EACnB,mBAAyB,IAAAC,qBAAW,GAAE;IAA9BC,YAAY,gBAAZA,YAAY;EAEpB,IAAMC,MAAM,GAAG,IAAAC,cAAO,EAAC,YAAM;IACzB,OAAOL,IAAI,CAACM,KAAK,IAAI,EAAE;EAC3B,CAAC,EAAE,CAACN,IAAI,CAACM,KAAK,CAAC,CAAC;EAEhB,gBAAwD,IAAAC,eAAQ,EAAkB,IAAI,CAAC;IAAA;IAAhFC,oBAAoB;IAAEC,uBAAuB;EACpD,iBAAsD,IAAAF,eAAQ,EAAkB,IAAI,CAAC;IAAA;IAA9EG,mBAAmB;IAAEC,sBAAsB;EAElD,iBAAwC,IAAAJ,eAAQ,EAAa,EAAE,CAAC;IAAA;IAAzDK,YAAY;IAAEC,eAAe;EAEpC,gBAAyC,IAAAC,eAAQ,EAC7CC,GAAG,CAACC,mBAAmB,CAC1B;IAFOC,IAAI,aAAJA,IAAI;IAAWC,aAAa,aAAtBC,OAAO;EAIrB,IAAAC,gBAAS,EAAC,YAAM;IAAA;IACZ,IAAIF,aAAa,IAAI,EAACD,IAAI,aAAJA,IAAI,wCAAJA,IAAI,CAAEI,iBAAiB,kDAAvB,sBAAyBJ,IAAI,GAAE;MACjD;IACJ,CAAC,MAAM,IAAIA,IAAI,CAACI,iBAAiB,CAACC,KAAK,EAAE;MACrCT,eAAe,CAAC,EAAE,CAAC;MACnBV,YAAY,CAACc,IAAI,CAACI,iBAAiB,CAACC,KAAK,CAACC,OAAO,CAAC;MAClD;IACJ;IACAV,eAAe,CAACI,IAAI,CAACI,iBAAiB,CAACJ,IAAI,CAAC;EAChD,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAEV,IAAMO,WAAW,GAAG,IAAAC,kBAAW,EAC3B,UAACC,OAAe,EAAK;IACjB,IAAMC,KAAK,GAAGf,YAAY,CAACgB,IAAI,CAAC,UAAAD,KAAK;MAAA,OAAIA,KAAK,CAACD,OAAO,KAAKA,OAAO;IAAA,EAAC;IACnE,IAAI,CAACC,KAAK,EAAE;MACRE,OAAO,CAACC,GAAG,0CAAkCJ,OAAO,SAAK;MACzD;IACJ;IACAf,sBAAsB,CAACgB,KAAK,CAAC;EACjC,CAAC,EACD,CAACf,YAAY,EAAEJ,oBAAoB,CAAC,CACvC;EAED,IAAMuB,qBAAqB,GAAG,IAAAN,kBAAW,EAAC,YAAM;IAC5Cd,sBAAsB,CAAC,IAAI,CAAC;EAChC,CAAC,EAAE,CAACH,oBAAoB,CAAC,CAAC;EAE1B,IAAMwB,gBAAgB,GAAG,IAAAP,kBAAW,EAChC,UAACC,OAAe,EAAK;IACjB,IAAMC,KAAK,GAAGf,YAAY,CAACgB,IAAI,CAAC,UAAAD,KAAK;MAAA,OAAIA,KAAK,CAACD,OAAO,KAAKA,OAAO;IAAA,EAAC;IACnE,IAAI,CAACC,KAAK,EAAE;MACRE,OAAO,CAACC,GAAG,0CAAkCJ,OAAO,SAAK;MACzD;IACJ;IACAjB,uBAAuB,CAACkB,KAAK,CAAC;EAClC,CAAC,EACD,CAACf,YAAY,EAAEJ,oBAAoB,CAAC,CACvC;EAED,IAAMyB,sBAAsB,GAAG,IAAAR,kBAAW,EAAC,YAAM;IAC7ChB,uBAAuB,CAAC,IAAI,CAAC;EACjC,CAAC,EAAE,EAAE,CAAC;EAEN,qBAII,IAAAyB,6BAAa,EAAC;MACd9B,MAAM,EAANA,MAAM;MACN+B,OAAO,EAAE;IACb,CAAC,CAAC;IANEC,OAAO,kBAAPA,OAAO;IACEC,cAAc,kBAAvBlB,OAAO;IACPmB,QAAQ,kBAARA,QAAQ;EAMZ,IAAMC,QAAQ,GAAG,IAAAd,kBAAW,EACxB,UAACe,EAAU,EAAK;IACZ,IAAI,CAACpC,MAAM,IAAI,CAACqC,KAAK,CAACC,OAAO,CAACtC,MAAM,CAAC,EAAE;MACnC;IACJ;IACA,uBAAwB,IAAAuC,sBAAe,EAACH,EAAE,CAAC;MAA/BI,OAAO,oBAAXJ,EAAE;IACVxC,IAAI,CAAC6C,QAAQ,CACTzC,MAAM,CAAC0C,MAAM,CAAC,UAAAxC,KAAK,EAAI;MACnB,wBAA6B,IAAAqC,sBAAe,EAACrC,KAAK,CAACkC,EAAE,CAAC;QAA1CO,YAAY,qBAAhBP,EAAE;MACV,OAAOO,YAAY,KAAKH,OAAO;IACnC,CAAC,CAAC,CACL;EACL,CAAC,EACD,CAACR,OAAO,EAAEhC,MAAM,CAAC,CACpB;EAED,IAAM4C,MAAM,GAAG,IAAA3C,cAAO,EAAC,YAAM;IAAA;IACzB,IAAI,CAACO,YAAY,IAAI,qBAACX,KAAK,CAACgD,QAAQ,4CAAd,gBAAgBD,MAAM,KAAI,CAACP,KAAK,CAACC,OAAO,CAACzC,KAAK,CAACgD,QAAQ,CAACD,MAAM,CAAC,EAAE;MACnF,OAAO,EAAE;IACb;IAEA,OAAO/C,KAAK,CAACgD,QAAQ,CAACD,MAAM,CAACE,MAAM,CAAa,UAACC,UAAU,EAAEC,GAAG,EAAK;MACjE,IAAMzB,KAAK,GAAGf,YAAY,CAACgB,IAAI,CAAC,UAAAD,KAAK;QAAA,OAAIA,KAAK,CAACD,OAAO,KAAK0B,GAAG,CAAC1B,OAAO;MAAA,EAAC;MACvE,IAAI,CAACC,KAAK,EAAE;QACR,OAAOwB,UAAU;MACrB;MACAA,UAAU,CAACE,IAAI,CAAC1B,KAAK,CAAC;MAEtB,OAAOwB,UAAU;IACrB,CAAC,EAAE,EAAE,CAAC;EACV,CAAC,EAAE,CAACvC,YAAY,EAAEwB,OAAO,CAAC,CAAC;EAE3B,IAAMkB,WAAW,GAAG,IAAA7B,kBAAW,EAC3B,UAACrB,MAA2B,EAAK;IAC7BJ,IAAI,CAAC6C,QAAQ,CAACzC,MAAM,CAAC;IACrB;EACJ,CAAC,EACD,CAACA,MAAM,CAAC,CACX;EAED,IAAMmD,gBAAgB,GAAG,IAAA9B,kBAAW,EAChC,UAACR,IAA2C,EAAK;IAC7C,IAAI,CAACA,IAAI,EAAE;MACPY,OAAO,CAACC,GAAG,0EAEV;MACD;IACJ,CAAC,MAAM,IAAI,CAACb,IAAI,CAACuB,EAAE,EAAE;MACjBX,OAAO,CAACC,GAAG,2EAEV;MACD;IACJ,CAAC,MAAM,IAAI,CAACb,IAAI,CAACS,OAAO,EAAE;MACtBG,OAAO,CAACC,GAAG,gFAEV;MACD;IACJ;IACAwB,WAAW,CACPlD,MAAM,CAACoD,MAAM,CAAC,CACV;MACIhB,EAAE,EAAEvB,IAAI,CAACuB,EAAE;MACXd,OAAO,EAAET,IAAI,CAACS;IAClB,CAAC,CACJ,CAAC,CACL;EACL,CAAC,EACD,CAAC4B,WAAW,CAAC,CAChB;EAED,IAAMG,QAAQ,GAAG,IAAAhC,kBAAW,EACxB,UAACiC,KAAa,EAAEC,KAAe,EAAK;IAChC,IAAIvD,MAAM,CAACwD,MAAM,KAAK,CAAC,EAAE;MACrB;IACJ,CAAC,MAAM,IAAID,KAAK,EAAE;MACd,IAAME,GAAG,GAAGzD,MAAM,CAAC0D,MAAM,CAACJ,KAAK,EAAE,CAAC,CAAC;MACnC1D,IAAI,CAAC6C,QAAQ,CAACgB,GAAG,CAACL,MAAM,CAACpD,MAAM,CAAC,CAAC;MACjC;IACJ;IACAJ,IAAI,CAAC+D,WAAW,CAACL,KAAK,CAAC;EAC3B,CAAC,EACD,CAACtD,MAAM,CAAC,CACX;EACD,IAAM4D,UAAU,GAAG,IAAAvC,kBAAW,EAC1B,UAACiC,KAAa,EAAEO,QAAkB,EAAK;IACnC,IAAI7D,MAAM,CAACwD,MAAM,KAAK,CAAC,EAAE;MACrB;IACJ,CAAC,MAAM,IAAIK,QAAQ,KAAK,IAAI,EAAE;MAC1B,IAAMJ,GAAG,GAAGzD,MAAM,CAAC0D,MAAM,CAACJ,KAAK,EAAE,CAAC,CAAC;MACnC1D,IAAI,CAAC6C,QAAQ,CAACzC,MAAM,CAACoD,MAAM,CAACK,GAAG,CAAC,CAAC;MACjC;IACJ;IACA7D,IAAI,CAACkE,aAAa,CAACR,KAAK,CAAC;EAC7B,CAAC,EACD,CAACtD,MAAM,CAAC,CACX;EAED,IAAMe,OAAO,GAAGkB,cAAc,IAAInB,aAAa;EAE/C,IAAMK,OAAO,GAAG3B,qBAAqB,CAACQ,MAAM,CAACwD,MAAM,CAAC;EAEpD,oBACI,yEACI,6BAAC,UAAU,qBACP,6BAAC,SAAS,QAAE3D,KAAK,CAACkE,KAAK,CAAa,eACpC,6BAAC,WAAW,QAAC,GAAC,EAAC5C,OAAO,EAAC,GAAC,CAAc,CAC7B,eACb,6BAAC,SAAS;IACN,SAAS,EACL,CAACa,OAAO,CAACwB,MAAM,GAAG,CAAC,GAAG,YAAY,GAAG,aAAa,KACjDxB,OAAO,CAACwB,MAAM,IAAI,CAAC,GAAG,eAAe,GAAG,EAAE;EAC9C,GAEAzC,OAAO,iBAAI,6BAAC,sBAAM,OAAG,eACtB,6BAAC,gBAAO;IAAC,OAAO,EAAEiB,OAAQ;IAAC,QAAQ,EAAEE;EAAS,GACzC,UAAC8B,KAAK,EAAEV,KAAK,EAAK;IACf,IAAMW,OAAO,GAAGX,KAAK,KAAK,CAAC;IAC3B,IAAMY,MAAM,GAAGZ,KAAK,IAAItD,MAAM,CAACwD,MAAM,GAAG,CAAC;IACzC,IAAMjC,KAAK,GAAGf,YAAY,CAACgB,IAAI,CAC3B,UAAAD,KAAK;MAAA,OAAIA,KAAK,CAACD,OAAO,KAAK0C,KAAK,CAACzC,KAAK,CAACD,OAAO;IAAA,EACjD;IACD,IAAI,CAACC,KAAK,EAAE;MACR,OAAO,IAAI;IACf;IACA,oBACI,6BAAC,YAAK;MACF,KAAK,EAAEA,KAAM;MACb,SAAS,EAAC,UAAU;MACpB,GAAG,4BAAqByC,KAAK,CAAC5B,EAAE,CAAG;MACnC,KAAK,EAAEkB,KAAM;MACb,KAAK,EAAEU,KAAM;MACb,QAAQ,EAAE7B,QAAS;MACnB,QAAQ,EAAE,CAAC8B,OAAO,GAAGZ,QAAQ,GAAGc,SAAU;MAC1C,UAAU,EAAE,CAACD,MAAM,GAAGN,UAAU,GAAGO;IAAU,EAC/C;EAEV,CAAC,CACK,eAEV,6BAAC,gBAAgB,qBACb,6BAAC,gBAAO;IACJ,MAAM,EAAEvB,MAAO;IACf,WAAW,EAAExB,WAAY;IACzB,oBAAoB,EAAEQ;EAAiB,EACzC,EAEDtB,mBAAmB,iBAChB,6BAAC,kDAAwB;IACrB,KAAK,EAAEA,mBAAoB;IAC3B,OAAO,EAAEqB,qBAAsB;IAC/B,QAAQ,EAAEwB;EAAiB,EAElC,EAEA/C,oBAAoB,iBACjB,6BAAC,kCAAgB,oBACTT,KAAK;IACT,QAAQ,EAAE,IAAK;IACf,MAAM,EAAEK,MAAO;IACf,YAAY,EAAEI,oBAAqB;IACnC,WAAW,EAAE8C,WAAY;IACzB,aAAa,EAAErB;EAAuB,GAE7C,CACc,CACX,CACb;AAEX,CAAC;AAAC"}
@@ -0,0 +1,8 @@
1
+ import React from "react";
2
+ import { BindComponentRenderProp, CmsModelFieldRendererProps } from "../../../../../../types";
3
+ import { CmsReferenceValue } from "../../components/types";
4
+ interface Props extends CmsModelFieldRendererProps {
5
+ bind: BindComponentRenderProp<CmsReferenceValue | null>;
6
+ }
7
+ export declare const AdvancedSingleReferenceField: React.VFC<Props>;
8
+ export {};
@@ -0,0 +1,181 @@
1
+ "use strict";
2
+
3
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.AdvancedSingleReferenceField = void 0;
9
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
+ var _react = _interopRequireWildcard(require("react"));
11
+ var _Options = require("./Options");
12
+ var _useReferences2 = require("../hooks/useReferences");
13
+ var _Entry = require("./Entry");
14
+ var _ReferencesDialog = require("./ReferencesDialog");
15
+ var _styled = _interopRequireDefault(require("@emotion/styled"));
16
+ var _hooks = require("../../../../../hooks");
17
+ var GQL = _interopRequireWildcard(require("../../../../../viewsGraphql"));
18
+ var _appAdmin = require("@webiny/app-admin");
19
+ var _Loader = require("./Loader");
20
+ var _NewReferencedEntryDialog = require("./NewReferencedEntryDialog");
21
+ var Container = /*#__PURE__*/(0, _styled.default)("div", {
22
+ target: "e38futg0",
23
+ label: "Container"
24
+ })({});
25
+ var FieldLabel = /*#__PURE__*/(0, _styled.default)("h3", {
26
+ target: "e38futg1",
27
+ label: "FieldLabel"
28
+ })({
29
+ fontSize: 24,
30
+ fontWeight: "normal",
31
+ borderBottom: "1px solid var(--mdc-theme-background)",
32
+ marginBottom: "20px",
33
+ paddingBottom: "5px"
34
+ });
35
+ var AdvancedSingleReferenceField = function AdvancedSingleReferenceField(props) {
36
+ var bind = props.bind,
37
+ field = props.field;
38
+ var _useSnackbar = (0, _appAdmin.useSnackbar)(),
39
+ showSnackbar = _useSnackbar.showSnackbar;
40
+ var _useState = (0, _react.useState)(null),
41
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
42
+ linkEntryDialogModel = _useState2[0],
43
+ setLinkEntryDialogModel = _useState2[1];
44
+ var _useState3 = (0, _react.useState)(null),
45
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
46
+ newEntryDialogModel = _useState4[0],
47
+ setNewEntryDialogModel = _useState4[1];
48
+ var _useState5 = (0, _react.useState)([]),
49
+ _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
50
+ loadedModels = _useState6[0],
51
+ setLoadedModels = _useState6[1];
52
+ var _useQuery = (0, _hooks.useQuery)(GQL.LIST_CONTENT_MODELS),
53
+ data = _useQuery.data,
54
+ loadingModels = _useQuery.loading;
55
+ (0, _react.useEffect)(function () {
56
+ var _data$listContentMode;
57
+ if (loadingModels || !(data !== null && data !== void 0 && (_data$listContentMode = data.listContentModels) !== null && _data$listContentMode !== void 0 && _data$listContentMode.data)) {
58
+ return;
59
+ } else if (data.listContentModels.error) {
60
+ setLoadedModels([]);
61
+ showSnackbar(data.listContentModels.error.message);
62
+ return;
63
+ }
64
+ setLoadedModels(data.listContentModels.data);
65
+ }, [data]);
66
+ var onNewRecord = (0, _react.useCallback)(function (modelId) {
67
+ var model = loadedModels.find(function (model) {
68
+ return model.modelId === modelId;
69
+ });
70
+ if (!model) {
71
+ console.log("Cannot find model by modelId \"".concat(modelId, "\"."));
72
+ return;
73
+ }
74
+ setNewEntryDialogModel(model);
75
+ }, [loadedModels, linkEntryDialogModel]);
76
+ var onNewEntryDialogClose = (0, _react.useCallback)(function () {
77
+ setNewEntryDialogModel(null);
78
+ }, [linkEntryDialogModel]);
79
+ var onExistingRecord = (0, _react.useCallback)(function (modelId) {
80
+ var model = loadedModels.find(function (model) {
81
+ return model.modelId === modelId;
82
+ });
83
+ if (!model) {
84
+ console.log("Cannot find model by modelId \"".concat(modelId, "\"."));
85
+ return;
86
+ }
87
+ setLinkEntryDialogModel(model);
88
+ }, [loadedModels, linkEntryDialogModel]);
89
+ var onLinkEntryDialogClose = (0, _react.useCallback)(function () {
90
+ setLinkEntryDialogModel(null);
91
+ }, []);
92
+ var _useReferences = (0, _useReferences2.useReferences)({
93
+ values: bind.value
94
+ }),
95
+ entries = _useReferences.entries,
96
+ loadingEntries = _useReferences.loading;
97
+ var onRemove = (0, _react.useCallback)(function () {
98
+ bind.onChange(null);
99
+ }, [entries]);
100
+ var models = (0, _react.useMemo)(function () {
101
+ var _field$settings, _field$settings2;
102
+ if (!loadedModels || !((_field$settings = field.settings) !== null && _field$settings !== void 0 && _field$settings.models)) {
103
+ return [];
104
+ }
105
+ return (((_field$settings2 = field.settings) === null || _field$settings2 === void 0 ? void 0 : _field$settings2.models) || []).map(function (_ref) {
106
+ var modelId = _ref.modelId;
107
+ return loadedModels.find(function (model) {
108
+ return model.modelId === modelId;
109
+ });
110
+ }).filter(Boolean);
111
+ }, [loadedModels, entries]);
112
+ var loading = loadingEntries || loadingModels;
113
+ var storeValues = (0, _react.useCallback)(function (values) {
114
+ var _values$;
115
+ if (values.length > 1) {
116
+ console.log("More than one value selected. This should never happen.");
117
+ return;
118
+ } else if (values.length === 0 || !((_values$ = values[0]) !== null && _values$ !== void 0 && _values$.id)) {
119
+ bind.onChange(null);
120
+ return;
121
+ }
122
+ bind.onChange(values[0]);
123
+ }, [bind.value, bind.onChange, entries]);
124
+ var onNewEntryCreate = (0, _react.useCallback)(function (data) {
125
+ if (!data) {
126
+ console.log("Could not store new entry to the reference field. Missing whole entry.");
127
+ return;
128
+ } else if (!data.id) {
129
+ console.log("Could not store new entry to the reference field. Missing \"id\" value.");
130
+ return;
131
+ } else if (!data.modelId) {
132
+ console.log("Could not store new entry to the reference field. Missing \"modelId\" value.");
133
+ return;
134
+ }
135
+ storeValues([{
136
+ id: data.id,
137
+ modelId: data.modelId
138
+ }]);
139
+ }, [storeValues]);
140
+ var initialValue = (0, _react.useMemo)(function () {
141
+ if (entries.length === 0 || loadedModels.length === 0) {
142
+ return null;
143
+ }
144
+ var entry = entries[0];
145
+ if (!entry) {
146
+ return null;
147
+ }
148
+ var model = loadedModels.find(function (model) {
149
+ return model.modelId === entry.model.modelId;
150
+ });
151
+ if (!model) {
152
+ return null;
153
+ }
154
+ return {
155
+ entry: entry,
156
+ model: model
157
+ };
158
+ }, [entries, loadedModels]);
159
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(FieldLabel, null, field.label), /*#__PURE__*/_react.default.createElement(Container, null, loading && /*#__PURE__*/_react.default.createElement(_Loader.Loader, null), initialValue && /*#__PURE__*/_react.default.createElement(_Entry.Entry, {
160
+ model: initialValue.model,
161
+ placement: "singleRefField",
162
+ index: 0,
163
+ entry: initialValue.entry,
164
+ onRemove: onRemove
165
+ }), /*#__PURE__*/_react.default.createElement(_Options.Options, {
166
+ models: models,
167
+ onNewRecord: onNewRecord,
168
+ onLinkExistingRecord: onExistingRecord
169
+ }), newEntryDialogModel && /*#__PURE__*/_react.default.createElement(_NewReferencedEntryDialog.NewReferencedEntryDialog, {
170
+ model: newEntryDialogModel,
171
+ onClose: onNewEntryDialogClose,
172
+ onChange: onNewEntryCreate
173
+ }), linkEntryDialogModel && /*#__PURE__*/_react.default.createElement(_ReferencesDialog.ReferencesDialog, Object.assign({}, props, {
174
+ multiple: false,
175
+ values: bind.value ? [bind.value] : [],
176
+ contentModel: linkEntryDialogModel,
177
+ storeValues: storeValues,
178
+ onDialogClose: onLinkEntryDialogClose
179
+ }))));
180
+ };
181
+ exports.AdvancedSingleReferenceField = AdvancedSingleReferenceField;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Container","styled","FieldLabel","fontSize","fontWeight","borderBottom","marginBottom","paddingBottom","AdvancedSingleReferenceField","props","bind","field","useSnackbar","showSnackbar","useState","linkEntryDialogModel","setLinkEntryDialogModel","newEntryDialogModel","setNewEntryDialogModel","loadedModels","setLoadedModels","useQuery","GQL","LIST_CONTENT_MODELS","data","loadingModels","loading","useEffect","listContentModels","error","message","onNewRecord","useCallback","modelId","model","find","console","log","onNewEntryDialogClose","onExistingRecord","onLinkEntryDialogClose","useReferences","values","value","entries","loadingEntries","onRemove","onChange","models","useMemo","settings","map","filter","Boolean","storeValues","length","id","onNewEntryCreate","initialValue","entry","label"],"sources":["AdvancedSingleReferenceField.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport {\n BindComponentRenderProp,\n CmsEditorContentEntry,\n CmsModelFieldRendererProps,\n CmsModel\n} from \"~/types\";\nimport { Options } from \"./Options\";\nimport { useReferences } from \"../hooks/useReferences\";\nimport { Entry } from \"./Entry\";\nimport { ReferencesDialog } from \"./ReferencesDialog\";\nimport styled from \"@emotion/styled\";\nimport { useQuery } from \"~/admin/hooks\";\nimport { ListCmsModelsQueryResponse } from \"~/admin/viewsGraphql\";\nimport * as GQL from \"~/admin/viewsGraphql\";\nimport { useSnackbar } from \"@webiny/app-admin\";\nimport { CmsReferenceValue } from \"~/admin/plugins/fieldRenderers/ref/components/types\";\nimport { Loader } from \"./Loader\";\nimport { NewReferencedEntryDialog } from \"~/admin/plugins/fieldRenderers/ref/advanced/components/NewReferencedEntryDialog\";\n\nconst Container = styled(\"div\")({});\n\nconst FieldLabel = styled(\"h3\")({\n fontSize: 24,\n fontWeight: \"normal\",\n borderBottom: \"1px solid var(--mdc-theme-background)\",\n marginBottom: \"20px\",\n paddingBottom: \"5px\"\n});\n\ninterface Props extends CmsModelFieldRendererProps {\n bind: BindComponentRenderProp<CmsReferenceValue | null>;\n}\n\nexport const AdvancedSingleReferenceField: React.VFC<Props> = props => {\n const { bind, field } = props;\n const { showSnackbar } = useSnackbar();\n\n const [linkEntryDialogModel, setLinkEntryDialogModel] = useState<CmsModel | null>(null);\n const [newEntryDialogModel, setNewEntryDialogModel] = useState<CmsModel | null>(null);\n const [loadedModels, setLoadedModels] = useState<CmsModel[]>([]);\n\n const { data, loading: loadingModels } = useQuery<ListCmsModelsQueryResponse>(\n GQL.LIST_CONTENT_MODELS\n );\n\n useEffect(() => {\n if (loadingModels || !data?.listContentModels?.data) {\n return;\n } else if (data.listContentModels.error) {\n setLoadedModels([]);\n showSnackbar(data.listContentModels.error.message);\n return;\n }\n setLoadedModels(data.listContentModels.data);\n }, [data]);\n\n const onNewRecord = useCallback(\n (modelId: string) => {\n const model = loadedModels.find(model => model.modelId === modelId);\n if (!model) {\n console.log(`Cannot find model by modelId \"${modelId}\".`);\n return;\n }\n setNewEntryDialogModel(model);\n },\n [loadedModels, linkEntryDialogModel]\n );\n\n const onNewEntryDialogClose = useCallback(() => {\n setNewEntryDialogModel(null);\n }, [linkEntryDialogModel]);\n\n const onExistingRecord = useCallback(\n (modelId: string) => {\n const model = loadedModels.find(model => model.modelId === modelId);\n if (!model) {\n console.log(`Cannot find model by modelId \"${modelId}\".`);\n return;\n }\n setLinkEntryDialogModel(model);\n },\n [loadedModels, linkEntryDialogModel]\n );\n\n const onLinkEntryDialogClose = useCallback(() => {\n setLinkEntryDialogModel(null);\n }, []);\n\n const { entries, loading: loadingEntries } = useReferences({\n values: bind.value\n });\n\n const onRemove = useCallback(() => {\n bind.onChange(null);\n }, [entries]);\n\n const models = useMemo(() => {\n if (!loadedModels || !field.settings?.models) {\n return [];\n }\n\n return (field.settings?.models || [])\n .map(({ modelId }) => {\n return loadedModels.find(model => model.modelId === modelId);\n })\n .filter(Boolean) as CmsModel[];\n }, [loadedModels, entries]);\n\n const loading = loadingEntries || loadingModels;\n\n const storeValues = useCallback(\n (values: CmsReferenceValue[]) => {\n if (values.length > 1) {\n console.log(\"More than one value selected. This should never happen.\");\n return;\n } else if (values.length === 0 || !values[0]?.id) {\n bind.onChange(null);\n return;\n }\n bind.onChange(values[0]);\n },\n [bind.value, bind.onChange, entries]\n );\n\n const onNewEntryCreate = useCallback(\n (data: CmsEditorContentEntry | null) => {\n if (!data) {\n console.log(\n `Could not store new entry to the reference field. Missing whole entry.`\n );\n return;\n } else if (!data.id) {\n console.log(\n `Could not store new entry to the reference field. Missing \"id\" value.`\n );\n return;\n } else if (!data.modelId) {\n console.log(\n `Could not store new entry to the reference field. Missing \"modelId\" value.`\n );\n return;\n }\n storeValues([\n {\n id: data.id,\n modelId: data.modelId\n }\n ]);\n },\n [storeValues]\n );\n\n const initialValue = useMemo(() => {\n if (entries.length === 0 || loadedModels.length === 0) {\n return null;\n }\n const entry = entries[0];\n if (!entry) {\n return null;\n }\n const model = loadedModels.find(model => model.modelId === entry.model.modelId);\n if (!model) {\n return null;\n }\n return {\n entry,\n model\n };\n }, [entries, loadedModels]);\n\n return (\n <>\n <FieldLabel>{field.label}</FieldLabel>\n <Container>\n {loading && <Loader />}\n {initialValue && (\n <Entry\n model={initialValue.model}\n placement=\"singleRefField\"\n index={0}\n entry={initialValue.entry}\n onRemove={onRemove}\n />\n )}\n <Options\n models={models}\n onNewRecord={onNewRecord}\n onLinkExistingRecord={onExistingRecord}\n />\n\n {newEntryDialogModel && (\n <NewReferencedEntryDialog\n model={newEntryDialogModel}\n onClose={onNewEntryDialogClose}\n onChange={onNewEntryCreate}\n />\n )}\n\n {linkEntryDialogModel && (\n <ReferencesDialog\n {...props}\n multiple={false}\n values={bind.value ? [bind.value] : []}\n contentModel={linkEntryDialogModel}\n storeValues={storeValues}\n onDialogClose={onLinkEntryDialogClose}\n />\n )}\n </Container>\n </>\n );\n};\n"],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+ import { CmsReferenceContentEntry } from "../../components/types";
3
+ interface Props {
4
+ entries: CmsReferenceContentEntry[];
5
+ children: (entry: CmsReferenceContentEntry, index: number) => React.ReactNode;
6
+ loadMore: () => void;
7
+ }
8
+ export declare const Entries: React.VFC<Props>;
9
+ export {};
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
+ var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.Entries = void 0;
9
+ var _react = _interopRequireWildcard(require("react"));
10
+ var _debounce = _interopRequireDefault(require("lodash/debounce"));
11
+ var _styled = _interopRequireDefault(require("@emotion/styled"));
12
+ var _Scrollbar = require("@webiny/ui/Scrollbar");
13
+ var Container = /*#__PURE__*/(0, _styled.default)("div", {
14
+ target: "e1q07fnu0",
15
+ label: "Container"
16
+ })(function () {
17
+ return {
18
+ minWidth: "100%",
19
+ height: "460px",
20
+ backgroundColor: "var(--mdc-theme-background)",
21
+ boxSizing: "border-box",
22
+ display: "flex",
23
+ ">div>div": {
24
+ overflowX: "hidden !important",
25
+ overflowY: "scroll",
26
+ paddingRight: 20
27
+ }
28
+ };
29
+ });
30
+ var ContainerChild = /*#__PURE__*/(0, _styled.default)("div", {
31
+ target: "e1q07fnu1",
32
+ label: "ContainerChild"
33
+ })({
34
+ boxSizing: "border-box",
35
+ width: "100%",
36
+ margin: "0 2px 25px 2px"
37
+ });
38
+ var Entries = function Entries(props) {
39
+ var entries = props.entries,
40
+ children = props.children,
41
+ loadMore = props.loadMore;
42
+ var loadMoreOnScroll = (0, _react.useCallback)((0, _debounce.default)(function (position) {
43
+ if (position.top <= 0.9) {
44
+ return;
45
+ }
46
+ loadMore();
47
+ }, 500), [entries, loadMore]);
48
+ if (entries.length === 0) {
49
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, "No entries found.");
50
+ }
51
+ return /*#__PURE__*/_react.default.createElement(Container, {
52
+ className: "entries"
53
+ }, /*#__PURE__*/_react.default.createElement(_Scrollbar.Scrollbar, {
54
+ "data-testid": "advanced-ref-field-entries",
55
+ onScrollFrame: loadMoreOnScroll
56
+ }, entries.map(function (entry, index) {
57
+ return /*#__PURE__*/_react.default.createElement(ContainerChild, {
58
+ key: "entry-".concat(entry.id)
59
+ }, children(entry, index));
60
+ })));
61
+ };
62
+ exports.Entries = Entries;
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Container","styled","minWidth","height","backgroundColor","boxSizing","display","overflowX","overflowY","paddingRight","ContainerChild","width","margin","Entries","props","entries","children","loadMore","loadMoreOnScroll","useCallback","debounce","position","top","length","map","entry","index","id"],"sources":["Entries.tsx"],"sourcesContent":["import React, { useCallback } from \"react\";\nimport debounce from \"lodash/debounce\";\nimport styled from \"@emotion/styled\";\nimport { CmsReferenceContentEntry } from \"~/admin/plugins/fieldRenderers/ref/components/types\";\nimport { Scrollbar } from \"@webiny/ui/Scrollbar\";\nimport { positionValues as PositionValues } from \"react-custom-scrollbars\";\n\nconst Container = styled(\"div\")(() => ({\n minWidth: \"100%\",\n height: \"460px\",\n backgroundColor: \"var(--mdc-theme-background)\",\n boxSizing: \"border-box\",\n display: \"flex\",\n \">div>div\": {\n overflowX: \"hidden !important\" as any,\n overflowY: \"scroll\",\n paddingRight: 20\n }\n}));\nconst ContainerChild = styled(\"div\")({\n boxSizing: \"border-box\",\n width: \"100%\",\n margin: \"0 2px 25px 2px\"\n});\n\ninterface Props {\n entries: CmsReferenceContentEntry[];\n children: (entry: CmsReferenceContentEntry, index: number) => React.ReactNode;\n loadMore: () => void;\n}\n\nexport const Entries: React.VFC<Props> = props => {\n const { entries, children, loadMore } = props;\n\n const loadMoreOnScroll = useCallback(\n debounce((position: PositionValues) => {\n if (position.top <= 0.9) {\n return;\n }\n loadMore();\n }, 500),\n [entries, loadMore]\n );\n\n if (entries.length === 0) {\n return <>No entries found.</>;\n }\n return (\n <Container className={\"entries\"}>\n <Scrollbar data-testid=\"advanced-ref-field-entries\" onScrollFrame={loadMoreOnScroll}>\n {entries.map((entry, index) => {\n return (\n <ContainerChild key={`entry-${entry.id}`}>\n {children(entry, index)}\n </ContainerChild>\n );\n })}\n </Scrollbar>\n </Container>\n );\n};\n"],"mappings":";;;;;;;;AAAA;AACA;AACA;AAEA;AAGA,IAAMA,SAAS,oBAAGC,eAAM,EAAC,KAAK;EAAA;EAAA;AAAA,GAAE;EAAA,OAAO;IACnCC,QAAQ,EAAE,MAAM;IAChBC,MAAM,EAAE,OAAO;IACfC,eAAe,EAAE,6BAA6B;IAC9CC,SAAS,EAAE,YAAY;IACvBC,OAAO,EAAE,MAAM;IACf,UAAU,EAAE;MACRC,SAAS,EAAE,mBAA0B;MACrCC,SAAS,EAAE,QAAQ;MACnBC,YAAY,EAAE;IAClB;EACJ,CAAC;AAAA,CAAC,CAAC;AACH,IAAMC,cAAc,oBAAGT,eAAM,EAAC,KAAK;EAAA;EAAA;AAAA,GAAE;EACjCI,SAAS,EAAE,YAAY;EACvBM,KAAK,EAAE,MAAM;EACbC,MAAM,EAAE;AACZ,CAAC,CAAC;AAQK,IAAMC,OAAyB,GAAG,SAA5BA,OAAyB,CAAGC,KAAK,EAAI;EAC9C,IAAQC,OAAO,GAAyBD,KAAK,CAArCC,OAAO;IAAEC,QAAQ,GAAeF,KAAK,CAA5BE,QAAQ;IAAEC,QAAQ,GAAKH,KAAK,CAAlBG,QAAQ;EAEnC,IAAMC,gBAAgB,GAAG,IAAAC,kBAAW,EAChC,IAAAC,iBAAQ,EAAC,UAACC,QAAwB,EAAK;IACnC,IAAIA,QAAQ,CAACC,GAAG,IAAI,GAAG,EAAE;MACrB;IACJ;IACAL,QAAQ,EAAE;EACd,CAAC,EAAE,GAAG,CAAC,EACP,CAACF,OAAO,EAAEE,QAAQ,CAAC,CACtB;EAED,IAAIF,OAAO,CAACQ,MAAM,KAAK,CAAC,EAAE;IACtB,oBAAO,4DAAE,mBAAiB,CAAG;EACjC;EACA,oBACI,6BAAC,SAAS;IAAC,SAAS,EAAE;EAAU,gBAC5B,6BAAC,oBAAS;IAAC,eAAY,4BAA4B;IAAC,aAAa,EAAEL;EAAiB,GAC/EH,OAAO,CAACS,GAAG,CAAC,UAACC,KAAK,EAAEC,KAAK,EAAK;IAC3B,oBACI,6BAAC,cAAc;MAAC,GAAG,kBAAWD,KAAK,CAACE,EAAE;IAAG,GACpCX,QAAQ,CAACS,KAAK,EAAEC,KAAK,CAAC,CACV;EAEzB,CAAC,CAAC,CACM,CACJ;AAEpB,CAAC;AAAC"}
@@ -0,0 +1,27 @@
1
+ import React from "react";
2
+ import { CmsReferenceContentEntry, CmsReferenceValue } from "../../components/types";
3
+ import { CmsModel } from "../../../../../../types";
4
+ interface Props {
5
+ model: CmsModel;
6
+ entry: CmsReferenceContentEntry;
7
+ onChange: (value: CmsReferenceValue) => void;
8
+ index?: never;
9
+ selected: boolean;
10
+ onMoveUp?: never;
11
+ onMoveDown?: never;
12
+ onRemove?: never;
13
+ placement?: string;
14
+ }
15
+ interface PropsWithRemove {
16
+ onRemove: (entryId: string) => void;
17
+ model: CmsModel;
18
+ entry: CmsReferenceContentEntry;
19
+ index: number;
20
+ onMoveUp?: (index: number, toTop: boolean) => void;
21
+ onMoveDown?: (index: number, toBottom: boolean) => void;
22
+ onChange?: never;
23
+ selected?: never;
24
+ placement?: string;
25
+ }
26
+ export declare const Entry: React.VFC<PropsWithRemove | Props>;
27
+ export {};