@strapi/content-type-builder 5.12.1 → 5.12.3

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 (770) hide show
  1. package/dist/admin/components/AllowedTypesSelect.js +78 -0
  2. package/dist/admin/components/AllowedTypesSelect.js.map +1 -0
  3. package/dist/admin/components/AllowedTypesSelect.mjs +76 -0
  4. package/dist/admin/components/AllowedTypesSelect.mjs.map +1 -0
  5. package/dist/admin/components/AttributeIcon.js +72 -0
  6. package/dist/admin/components/AttributeIcon.js.map +1 -0
  7. package/dist/admin/components/AttributeIcon.mjs +70 -0
  8. package/dist/admin/components/AttributeIcon.mjs.map +1 -0
  9. package/dist/admin/components/AttributeOptions/AttributeList.js +31 -0
  10. package/dist/admin/components/AttributeOptions/AttributeList.js.map +1 -0
  11. package/dist/admin/components/AttributeOptions/AttributeList.mjs +29 -0
  12. package/dist/admin/components/AttributeOptions/AttributeList.mjs.map +1 -0
  13. package/dist/admin/components/AttributeOptions/AttributeOption.js +92 -0
  14. package/dist/admin/components/AttributeOptions/AttributeOption.js.map +1 -0
  15. package/dist/admin/components/AttributeOptions/AttributeOption.mjs +90 -0
  16. package/dist/admin/components/AttributeOptions/AttributeOption.mjs.map +1 -0
  17. package/dist/admin/components/AttributeOptions/AttributeOptions.js +71 -0
  18. package/dist/admin/components/AttributeOptions/AttributeOptions.js.map +1 -0
  19. package/dist/admin/components/AttributeOptions/AttributeOptions.mjs +69 -0
  20. package/dist/admin/components/AttributeOptions/AttributeOptions.mjs.map +1 -0
  21. package/dist/admin/components/AttributeOptions/CustomFieldOption.js +58 -0
  22. package/dist/admin/components/AttributeOptions/CustomFieldOption.js.map +1 -0
  23. package/dist/admin/components/AttributeOptions/CustomFieldOption.mjs +56 -0
  24. package/dist/admin/components/AttributeOptions/CustomFieldOption.mjs.map +1 -0
  25. package/dist/admin/components/AttributeOptions/CustomFieldsList.js +54 -0
  26. package/dist/admin/components/AttributeOptions/CustomFieldsList.js.map +1 -0
  27. package/dist/admin/components/AttributeOptions/CustomFieldsList.mjs +52 -0
  28. package/dist/admin/components/AttributeOptions/CustomFieldsList.mjs.map +1 -0
  29. package/dist/admin/components/AttributeOptions/EmptyAttributes.js +123 -0
  30. package/dist/admin/components/AttributeOptions/EmptyAttributes.js.map +1 -0
  31. package/dist/admin/components/AttributeOptions/EmptyAttributes.mjs +101 -0
  32. package/dist/admin/components/AttributeOptions/EmptyAttributes.mjs.map +1 -0
  33. package/dist/admin/components/AttributeOptions/OptionBoxWrapper.js +19 -0
  34. package/dist/admin/components/AttributeOptions/OptionBoxWrapper.js.map +1 -0
  35. package/dist/admin/components/AttributeOptions/OptionBoxWrapper.mjs +17 -0
  36. package/dist/admin/components/AttributeOptions/OptionBoxWrapper.mjs.map +1 -0
  37. package/dist/admin/components/AutoReloadOverlayBlocker.js +212 -0
  38. package/dist/admin/components/AutoReloadOverlayBlocker.js.map +1 -0
  39. package/dist/admin/components/AutoReloadOverlayBlocker.mjs +190 -0
  40. package/dist/admin/components/AutoReloadOverlayBlocker.mjs.map +1 -0
  41. package/dist/admin/components/BooleanDefaultValueSelect.js +54 -0
  42. package/dist/admin/components/BooleanDefaultValueSelect.js.map +1 -0
  43. package/dist/admin/components/BooleanDefaultValueSelect.mjs +52 -0
  44. package/dist/admin/components/BooleanDefaultValueSelect.mjs.map +1 -0
  45. package/dist/admin/components/BooleanRadioGroup.js +27 -0
  46. package/dist/admin/components/BooleanRadioGroup.js.map +1 -0
  47. package/dist/admin/components/BooleanRadioGroup.mjs +25 -0
  48. package/dist/admin/components/BooleanRadioGroup.mjs.map +1 -0
  49. package/dist/admin/components/BoxWrapper.js +44 -0
  50. package/dist/admin/components/BoxWrapper.js.map +1 -0
  51. package/dist/admin/components/BoxWrapper.mjs +42 -0
  52. package/dist/admin/components/BoxWrapper.mjs.map +1 -0
  53. package/dist/admin/components/CheckboxWithNumberField.js +86 -0
  54. package/dist/admin/components/CheckboxWithNumberField.js.map +1 -0
  55. package/dist/admin/components/CheckboxWithNumberField.mjs +84 -0
  56. package/dist/admin/components/CheckboxWithNumberField.mjs.map +1 -0
  57. package/dist/admin/components/ComponentCard/ComponentCard.js +112 -0
  58. package/dist/admin/components/ComponentCard/ComponentCard.js.map +1 -0
  59. package/dist/admin/components/ComponentCard/ComponentCard.mjs +110 -0
  60. package/dist/admin/components/ComponentCard/ComponentCard.mjs.map +1 -0
  61. package/dist/admin/components/ComponentCard/ComponentIcon/ComponentIcon.js +24 -0
  62. package/dist/admin/components/ComponentCard/ComponentIcon/ComponentIcon.js.map +1 -0
  63. package/dist/admin/components/ComponentCard/ComponentIcon/ComponentIcon.mjs +22 -0
  64. package/dist/admin/components/ComponentCard/ComponentIcon/ComponentIcon.mjs.map +1 -0
  65. package/dist/admin/components/ComponentList.js +40 -0
  66. package/dist/admin/components/ComponentList.js.map +1 -0
  67. package/dist/admin/components/ComponentList.mjs +38 -0
  68. package/dist/admin/components/ComponentList.mjs.map +1 -0
  69. package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.js +108 -0
  70. package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.js.map +1 -0
  71. package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.mjs +106 -0
  72. package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.mjs.map +1 -0
  73. package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.js +179 -0
  74. package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.js.map +1 -0
  75. package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.mjs +177 -0
  76. package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.mjs.map +1 -0
  77. package/dist/admin/components/ContentTypeRadioGroup.js +29 -0
  78. package/dist/admin/components/ContentTypeRadioGroup.js.map +1 -0
  79. package/dist/admin/components/ContentTypeRadioGroup.mjs +27 -0
  80. package/dist/admin/components/ContentTypeRadioGroup.mjs.map +1 -0
  81. package/dist/admin/components/CustomRadioGroup/CustomRadioGroup.js +79 -0
  82. package/dist/admin/components/CustomRadioGroup/CustomRadioGroup.js.map +1 -0
  83. package/dist/admin/components/CustomRadioGroup/CustomRadioGroup.mjs +77 -0
  84. package/dist/admin/components/CustomRadioGroup/CustomRadioGroup.mjs.map +1 -0
  85. package/dist/admin/components/CustomRadioGroup/Styles.js +77 -0
  86. package/dist/admin/components/CustomRadioGroup/Styles.js.map +1 -0
  87. package/dist/admin/components/CustomRadioGroup/Styles.mjs +75 -0
  88. package/dist/admin/components/CustomRadioGroup/Styles.mjs.map +1 -0
  89. package/dist/admin/components/DataManagerProvider/DataManagerProvider.js +520 -0
  90. package/dist/admin/components/DataManagerProvider/DataManagerProvider.js.map +1 -0
  91. package/dist/admin/components/DataManagerProvider/DataManagerProvider.mjs +518 -0
  92. package/dist/admin/components/DataManagerProvider/DataManagerProvider.mjs.map +1 -0
  93. package/dist/admin/components/DataManagerProvider/reducer.js +583 -0
  94. package/dist/admin/components/DataManagerProvider/reducer.js.map +1 -0
  95. package/dist/admin/components/DataManagerProvider/reducer.mjs +579 -0
  96. package/dist/admin/components/DataManagerProvider/reducer.mjs.map +1 -0
  97. package/dist/admin/components/DataManagerProvider/selectors.js +20 -0
  98. package/dist/admin/components/DataManagerProvider/selectors.js.map +1 -0
  99. package/dist/admin/components/DataManagerProvider/selectors.mjs +17 -0
  100. package/dist/admin/components/DataManagerProvider/selectors.mjs.map +1 -0
  101. package/dist/admin/components/DataManagerProvider/utils/cleanData.js +126 -0
  102. package/dist/admin/components/DataManagerProvider/utils/cleanData.js.map +1 -0
  103. package/dist/admin/components/DataManagerProvider/utils/cleanData.mjs +120 -0
  104. package/dist/admin/components/DataManagerProvider/utils/cleanData.mjs.map +1 -0
  105. package/dist/admin/components/DataManagerProvider/utils/createDataObject.js +9 -0
  106. package/dist/admin/components/DataManagerProvider/utils/createDataObject.js.map +1 -0
  107. package/dist/admin/components/DataManagerProvider/utils/createDataObject.mjs +7 -0
  108. package/dist/admin/components/DataManagerProvider/utils/createDataObject.mjs.map +1 -0
  109. package/dist/admin/components/DataManagerProvider/utils/createModifiedDataSchema.js +20 -0
  110. package/dist/admin/components/DataManagerProvider/utils/createModifiedDataSchema.js.map +1 -0
  111. package/dist/admin/components/DataManagerProvider/utils/createModifiedDataSchema.mjs +18 -0
  112. package/dist/admin/components/DataManagerProvider/utils/createModifiedDataSchema.mjs.map +1 -0
  113. package/dist/admin/components/DataManagerProvider/utils/formatSchemas.js +30 -0
  114. package/dist/admin/components/DataManagerProvider/utils/formatSchemas.js.map +1 -0
  115. package/dist/admin/components/DataManagerProvider/utils/formatSchemas.mjs +27 -0
  116. package/dist/admin/components/DataManagerProvider/utils/formatSchemas.mjs.map +1 -0
  117. package/dist/admin/components/DataManagerProvider/utils/retrieveComponentsFromSchema.js +46 -0
  118. package/dist/admin/components/DataManagerProvider/utils/retrieveComponentsFromSchema.js.map +1 -0
  119. package/dist/admin/components/DataManagerProvider/utils/retrieveComponentsFromSchema.mjs +44 -0
  120. package/dist/admin/components/DataManagerProvider/utils/retrieveComponentsFromSchema.mjs.map +1 -0
  121. package/dist/admin/components/DataManagerProvider/utils/retrieveComponentsThatHaveComponents.js +38 -0
  122. package/dist/admin/components/DataManagerProvider/utils/retrieveComponentsThatHaveComponents.js.map +1 -0
  123. package/dist/admin/components/DataManagerProvider/utils/retrieveComponentsThatHaveComponents.mjs +35 -0
  124. package/dist/admin/components/DataManagerProvider/utils/retrieveComponentsThatHaveComponents.mjs.map +1 -0
  125. package/dist/admin/components/DataManagerProvider/utils/retrieveNestedComponents.js +45 -0
  126. package/dist/admin/components/DataManagerProvider/utils/retrieveNestedComponents.js.map +1 -0
  127. package/dist/admin/components/DataManagerProvider/utils/retrieveNestedComponents.mjs +43 -0
  128. package/dist/admin/components/DataManagerProvider/utils/retrieveNestedComponents.mjs.map +1 -0
  129. package/dist/admin/components/DataManagerProvider/utils/retrieveSpecificInfoFromComponents.js +17 -0
  130. package/dist/admin/components/DataManagerProvider/utils/retrieveSpecificInfoFromComponents.js.map +1 -0
  131. package/dist/admin/components/DataManagerProvider/utils/retrieveSpecificInfoFromComponents.mjs +15 -0
  132. package/dist/admin/components/DataManagerProvider/utils/retrieveSpecificInfoFromComponents.mjs.map +1 -0
  133. package/dist/admin/components/DataManagerProvider/utils/serverRestartWatcher.js +37 -0
  134. package/dist/admin/components/DataManagerProvider/utils/serverRestartWatcher.js.map +1 -0
  135. package/dist/admin/components/DataManagerProvider/utils/serverRestartWatcher.mjs +35 -0
  136. package/dist/admin/components/DataManagerProvider/utils/serverRestartWatcher.mjs.map +1 -0
  137. package/dist/admin/components/DataManagerProvider/utils/validateSchema.js +9 -0
  138. package/dist/admin/components/DataManagerProvider/utils/validateSchema.js.map +1 -0
  139. package/dist/admin/components/DataManagerProvider/utils/validateSchema.mjs +7 -0
  140. package/dist/admin/components/DataManagerProvider/utils/validateSchema.mjs.map +1 -0
  141. package/dist/admin/components/DisplayedType.js +48 -0
  142. package/dist/admin/components/DisplayedType.js.map +1 -0
  143. package/dist/admin/components/DisplayedType.mjs +46 -0
  144. package/dist/admin/components/DisplayedType.mjs.map +1 -0
  145. package/dist/admin/components/DraftAndPublishToggle.js +86 -0
  146. package/dist/admin/components/DraftAndPublishToggle.js.map +1 -0
  147. package/dist/admin/components/DraftAndPublishToggle.mjs +84 -0
  148. package/dist/admin/components/DraftAndPublishToggle.mjs.map +1 -0
  149. package/dist/admin/components/DynamicZoneList.js +139 -0
  150. package/dist/admin/components/DynamicZoneList.js.map +1 -0
  151. package/dist/admin/components/DynamicZoneList.mjs +137 -0
  152. package/dist/admin/components/DynamicZoneList.mjs.map +1 -0
  153. package/dist/admin/components/FormModal/FormModal.js +931 -0
  154. package/dist/admin/components/FormModal/FormModal.js.map +1 -0
  155. package/dist/admin/components/FormModal/FormModal.mjs +910 -0
  156. package/dist/admin/components/FormModal/FormModal.mjs.map +1 -0
  157. package/dist/admin/components/FormModal/attributes/advancedForm.js +471 -0
  158. package/dist/admin/components/FormModal/attributes/advancedForm.js.map +1 -0
  159. package/dist/admin/components/FormModal/attributes/advancedForm.mjs +469 -0
  160. package/dist/admin/components/FormModal/attributes/advancedForm.mjs.map +1 -0
  161. package/dist/admin/components/FormModal/attributes/attributeOptions.js +97 -0
  162. package/dist/admin/components/FormModal/attributes/attributeOptions.js.map +1 -0
  163. package/dist/admin/components/FormModal/attributes/attributeOptions.mjs +95 -0
  164. package/dist/admin/components/FormModal/attributes/attributeOptions.mjs.map +1 -0
  165. package/dist/admin/components/FormModal/attributes/baseForm.js +482 -0
  166. package/dist/admin/components/FormModal/attributes/baseForm.js.map +1 -0
  167. package/dist/admin/components/FormModal/attributes/baseForm.mjs +480 -0
  168. package/dist/admin/components/FormModal/attributes/baseForm.mjs.map +1 -0
  169. package/dist/admin/components/FormModal/attributes/commonBaseForm.js +17 -0
  170. package/dist/admin/components/FormModal/attributes/commonBaseForm.js.map +1 -0
  171. package/dist/admin/components/FormModal/attributes/commonBaseForm.mjs +15 -0
  172. package/dist/admin/components/FormModal/attributes/commonBaseForm.mjs.map +1 -0
  173. package/dist/admin/components/FormModal/attributes/form.js +12 -0
  174. package/dist/admin/components/FormModal/attributes/form.js.map +1 -0
  175. package/dist/admin/components/FormModal/attributes/form.mjs +10 -0
  176. package/dist/admin/components/FormModal/attributes/form.mjs.map +1 -0
  177. package/dist/admin/components/FormModal/attributes/nameField.js +19 -0
  178. package/dist/admin/components/FormModal/attributes/nameField.js.map +1 -0
  179. package/dist/admin/components/FormModal/attributes/nameField.mjs +17 -0
  180. package/dist/admin/components/FormModal/attributes/nameField.mjs.map +1 -0
  181. package/dist/admin/components/FormModal/attributes/types.js +305 -0
  182. package/dist/admin/components/FormModal/attributes/types.js.map +1 -0
  183. package/dist/admin/components/FormModal/attributes/types.mjs +284 -0
  184. package/dist/admin/components/FormModal/attributes/types.mjs.map +1 -0
  185. package/dist/admin/components/FormModal/attributes/validation/common.js +129 -0
  186. package/dist/admin/components/FormModal/attributes/validation/common.js.map +1 -0
  187. package/dist/admin/components/FormModal/attributes/validation/common.mjs +103 -0
  188. package/dist/admin/components/FormModal/attributes/validation/common.mjs.map +1 -0
  189. package/dist/admin/components/FormModal/category/createCategorySchema.js +43 -0
  190. package/dist/admin/components/FormModal/category/createCategorySchema.js.map +1 -0
  191. package/dist/admin/components/FormModal/category/createCategorySchema.mjs +22 -0
  192. package/dist/admin/components/FormModal/category/createCategorySchema.mjs.map +1 -0
  193. package/dist/admin/components/FormModal/category/form.js +34 -0
  194. package/dist/admin/components/FormModal/category/form.js.map +1 -0
  195. package/dist/admin/components/FormModal/category/form.mjs +32 -0
  196. package/dist/admin/components/FormModal/category/form.mjs.map +1 -0
  197. package/dist/admin/components/FormModal/category/regex.js +6 -0
  198. package/dist/admin/components/FormModal/category/regex.js.map +1 -0
  199. package/dist/admin/components/FormModal/category/regex.mjs +4 -0
  200. package/dist/admin/components/FormModal/category/regex.mjs.map +1 -0
  201. package/dist/admin/components/FormModal/component/componentField.js +40 -0
  202. package/dist/admin/components/FormModal/component/componentField.js.map +1 -0
  203. package/dist/admin/components/FormModal/component/componentField.mjs +38 -0
  204. package/dist/admin/components/FormModal/component/componentField.mjs.map +1 -0
  205. package/dist/admin/components/FormModal/component/componentForm.js +53 -0
  206. package/dist/admin/components/FormModal/component/componentForm.js.map +1 -0
  207. package/dist/admin/components/FormModal/component/componentForm.mjs +51 -0
  208. package/dist/admin/components/FormModal/component/componentForm.mjs.map +1 -0
  209. package/dist/admin/components/FormModal/component/createComponentSchema.js +65 -0
  210. package/dist/admin/components/FormModal/component/createComponentSchema.js.map +1 -0
  211. package/dist/admin/components/FormModal/component/createComponentSchema.mjs +44 -0
  212. package/dist/admin/components/FormModal/component/createComponentSchema.mjs.map +1 -0
  213. package/dist/admin/components/FormModal/contentType/contentTypeForm.js +169 -0
  214. package/dist/admin/components/FormModal/contentType/contentTypeForm.js.map +1 -0
  215. package/dist/admin/components/FormModal/contentType/contentTypeForm.mjs +167 -0
  216. package/dist/admin/components/FormModal/contentType/contentTypeForm.mjs.map +1 -0
  217. package/dist/admin/components/FormModal/contentType/createContentTypeSchema.js +170 -0
  218. package/dist/admin/components/FormModal/contentType/createContentTypeSchema.js.map +1 -0
  219. package/dist/admin/components/FormModal/contentType/createContentTypeSchema.mjs +149 -0
  220. package/dist/admin/components/FormModal/contentType/createContentTypeSchema.mjs.map +1 -0
  221. package/dist/admin/components/FormModal/dynamiczoneForm.js +68 -0
  222. package/dist/admin/components/FormModal/dynamiczoneForm.js.map +1 -0
  223. package/dist/admin/components/FormModal/dynamiczoneForm.mjs +66 -0
  224. package/dist/admin/components/FormModal/dynamiczoneForm.mjs.map +1 -0
  225. package/dist/admin/components/FormModal/forms/forms.js +275 -0
  226. package/dist/admin/components/FormModal/forms/forms.js.map +1 -0
  227. package/dist/admin/components/FormModal/forms/forms.mjs +273 -0
  228. package/dist/admin/components/FormModal/forms/forms.mjs.map +1 -0
  229. package/dist/admin/components/FormModal/forms/utils/addItemsToFormSection.js +21 -0
  230. package/dist/admin/components/FormModal/forms/utils/addItemsToFormSection.js.map +1 -0
  231. package/dist/admin/components/FormModal/forms/utils/addItemsToFormSection.mjs +19 -0
  232. package/dist/admin/components/FormModal/forms/utils/addItemsToFormSection.mjs.map +1 -0
  233. package/dist/admin/components/FormModal/forms/utils/createCollectionName.js +13 -0
  234. package/dist/admin/components/FormModal/forms/utils/createCollectionName.js.map +1 -0
  235. package/dist/admin/components/FormModal/forms/utils/createCollectionName.mjs +11 -0
  236. package/dist/admin/components/FormModal/forms/utils/createCollectionName.mjs.map +1 -0
  237. package/dist/admin/components/FormModal/forms/utils/getUsedAttributeNames.js +10 -0
  238. package/dist/admin/components/FormModal/forms/utils/getUsedAttributeNames.js.map +1 -0
  239. package/dist/admin/components/FormModal/forms/utils/getUsedAttributeNames.mjs +8 -0
  240. package/dist/admin/components/FormModal/forms/utils/getUsedAttributeNames.mjs.map +1 -0
  241. package/dist/admin/components/FormModal/reducer.js +327 -0
  242. package/dist/admin/components/FormModal/reducer.js.map +1 -0
  243. package/dist/admin/components/FormModal/reducer.mjs +323 -0
  244. package/dist/admin/components/FormModal/reducer.mjs.map +1 -0
  245. package/dist/admin/components/FormModal/selectors.js +20 -0
  246. package/dist/admin/components/FormModal/selectors.js.map +1 -0
  247. package/dist/admin/components/FormModal/selectors.mjs +17 -0
  248. package/dist/admin/components/FormModal/selectors.mjs.map +1 -0
  249. package/dist/admin/components/FormModal/utils/canEditContentType.js +32 -0
  250. package/dist/admin/components/FormModal/utils/canEditContentType.js.map +1 -0
  251. package/dist/admin/components/FormModal/utils/canEditContentType.mjs +30 -0
  252. package/dist/admin/components/FormModal/utils/canEditContentType.mjs.map +1 -0
  253. package/dist/admin/components/FormModal/utils/createUid.js +16 -0
  254. package/dist/admin/components/FormModal/utils/createUid.js.map +1 -0
  255. package/dist/admin/components/FormModal/utils/createUid.mjs +13 -0
  256. package/dist/admin/components/FormModal/utils/createUid.mjs.map +1 -0
  257. package/dist/admin/components/FormModal/utils/customFieldDefaultOptionsReducer.js +18 -0
  258. package/dist/admin/components/FormModal/utils/customFieldDefaultOptionsReducer.js.map +1 -0
  259. package/dist/admin/components/FormModal/utils/customFieldDefaultOptionsReducer.mjs +16 -0
  260. package/dist/admin/components/FormModal/utils/customFieldDefaultOptionsReducer.mjs.map +1 -0
  261. package/dist/admin/components/FormModal/utils/getAttributesToDisplay.js +56 -0
  262. package/dist/admin/components/FormModal/utils/getAttributesToDisplay.js.map +1 -0
  263. package/dist/admin/components/FormModal/utils/getAttributesToDisplay.mjs +54 -0
  264. package/dist/admin/components/FormModal/utils/getAttributesToDisplay.mjs.map +1 -0
  265. package/dist/admin/components/FormModal/utils/getFormInputNames.js +17 -0
  266. package/dist/admin/components/FormModal/utils/getFormInputNames.js.map +1 -0
  267. package/dist/admin/components/FormModal/utils/getFormInputNames.mjs +15 -0
  268. package/dist/admin/components/FormModal/utils/getFormInputNames.mjs.map +1 -0
  269. package/dist/admin/components/FormModal/utils/relations.js +15 -0
  270. package/dist/admin/components/FormModal/utils/relations.js.map +1 -0
  271. package/dist/admin/components/FormModal/utils/relations.mjs +12 -0
  272. package/dist/admin/components/FormModal/utils/relations.mjs.map +1 -0
  273. package/dist/admin/components/FormModalEndActions.js +322 -0
  274. package/dist/admin/components/FormModalEndActions.js.map +1 -0
  275. package/dist/admin/components/FormModalEndActions.mjs +320 -0
  276. package/dist/admin/components/FormModalEndActions.mjs.map +1 -0
  277. package/dist/admin/components/FormModalHeader.js +150 -0
  278. package/dist/admin/components/FormModalHeader.js.map +1 -0
  279. package/dist/admin/components/FormModalHeader.mjs +148 -0
  280. package/dist/admin/components/FormModalHeader.mjs.map +1 -0
  281. package/dist/admin/components/FormModalNavigationProvider/FormModalNavigationProvider.js +228 -0
  282. package/dist/admin/components/FormModalNavigationProvider/FormModalNavigationProvider.js.map +1 -0
  283. package/dist/admin/components/FormModalNavigationProvider/FormModalNavigationProvider.mjs +207 -0
  284. package/dist/admin/components/FormModalNavigationProvider/FormModalNavigationProvider.mjs.map +1 -0
  285. package/dist/admin/components/FormModalNavigationProvider/constants.js +21 -0
  286. package/dist/admin/components/FormModalNavigationProvider/constants.js.map +1 -0
  287. package/dist/admin/components/FormModalNavigationProvider/constants.mjs +19 -0
  288. package/dist/admin/components/FormModalNavigationProvider/constants.mjs.map +1 -0
  289. package/dist/admin/components/FormModalSubHeader.js +70 -0
  290. package/dist/admin/components/FormModalSubHeader.js.map +1 -0
  291. package/dist/admin/components/FormModalSubHeader.mjs +67 -0
  292. package/dist/admin/components/FormModalSubHeader.mjs.map +1 -0
  293. package/dist/admin/components/GenericInputs.js +529 -0
  294. package/dist/admin/components/GenericInputs.js.map +1 -0
  295. package/dist/admin/components/GenericInputs.mjs +508 -0
  296. package/dist/admin/components/GenericInputs.mjs.map +1 -0
  297. package/dist/admin/components/IconPicker/IconPicker.js +196 -0
  298. package/dist/admin/components/IconPicker/IconPicker.js.map +1 -0
  299. package/dist/admin/components/IconPicker/IconPicker.mjs +194 -0
  300. package/dist/admin/components/IconPicker/IconPicker.mjs.map +1 -0
  301. package/dist/admin/components/IconPicker/constants.js +155 -0
  302. package/dist/admin/components/IconPicker/constants.js.map +1 -0
  303. package/dist/admin/components/IconPicker/constants.mjs +133 -0
  304. package/dist/admin/components/IconPicker/constants.mjs.map +1 -0
  305. package/dist/admin/components/List.js +243 -0
  306. package/dist/admin/components/List.js.map +1 -0
  307. package/dist/admin/components/List.mjs +241 -0
  308. package/dist/admin/components/List.mjs.map +1 -0
  309. package/dist/admin/components/ListRow.js +164 -0
  310. package/dist/admin/components/ListRow.js.map +1 -0
  311. package/dist/admin/components/ListRow.mjs +161 -0
  312. package/dist/admin/components/ListRow.mjs.map +1 -0
  313. package/dist/admin/components/NestedFooter.js +62 -0
  314. package/dist/admin/components/NestedFooter.js.map +1 -0
  315. package/dist/admin/components/NestedFooter.mjs +60 -0
  316. package/dist/admin/components/NestedFooter.mjs.map +1 -0
  317. package/dist/admin/components/PluralName.js +74 -0
  318. package/dist/admin/components/PluralName.js.map +1 -0
  319. package/dist/admin/components/PluralName.mjs +72 -0
  320. package/dist/admin/components/PluralName.mjs.map +1 -0
  321. package/dist/admin/components/Relation/Relation.js +47 -0
  322. package/dist/admin/components/Relation/Relation.js.map +1 -0
  323. package/dist/admin/components/Relation/Relation.mjs +45 -0
  324. package/dist/admin/components/Relation/Relation.mjs.map +1 -0
  325. package/dist/admin/components/Relation/RelationField/RelationField.js +52 -0
  326. package/dist/admin/components/Relation/RelationField/RelationField.js.map +1 -0
  327. package/dist/admin/components/Relation/RelationField/RelationField.mjs +50 -0
  328. package/dist/admin/components/Relation/RelationField/RelationField.mjs.map +1 -0
  329. package/dist/admin/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.js +74 -0
  330. package/dist/admin/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.js.map +1 -0
  331. package/dist/admin/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.mjs +72 -0
  332. package/dist/admin/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.mjs.map +1 -0
  333. package/dist/admin/components/Relation/RelationNaturePicker/Components.js +49 -0
  334. package/dist/admin/components/Relation/RelationNaturePicker/Components.js.map +1 -0
  335. package/dist/admin/components/Relation/RelationNaturePicker/Components.mjs +45 -0
  336. package/dist/admin/components/Relation/RelationNaturePicker/Components.mjs.map +1 -0
  337. package/dist/admin/components/Relation/RelationNaturePicker/RelationNaturePicker.js +149 -0
  338. package/dist/admin/components/Relation/RelationNaturePicker/RelationNaturePicker.js.map +1 -0
  339. package/dist/admin/components/Relation/RelationNaturePicker/RelationNaturePicker.mjs +147 -0
  340. package/dist/admin/components/Relation/RelationNaturePicker/RelationNaturePicker.mjs.map +1 -0
  341. package/dist/admin/components/SelectCategory.js +60 -0
  342. package/dist/admin/components/SelectCategory.js.map +1 -0
  343. package/dist/admin/components/SelectCategory.mjs +58 -0
  344. package/dist/admin/components/SelectCategory.mjs.map +1 -0
  345. package/dist/admin/components/SelectComponent.js +90 -0
  346. package/dist/admin/components/SelectComponent.js.map +1 -0
  347. package/dist/admin/components/SelectComponent.mjs +88 -0
  348. package/dist/admin/components/SelectComponent.mjs.map +1 -0
  349. package/dist/admin/components/SelectComponents.js +70 -0
  350. package/dist/admin/components/SelectComponents.js.map +1 -0
  351. package/dist/admin/components/SelectComponents.mjs +68 -0
  352. package/dist/admin/components/SelectComponents.mjs.map +1 -0
  353. package/dist/admin/components/SelectDateType.js +62 -0
  354. package/dist/admin/components/SelectDateType.js.map +1 -0
  355. package/dist/admin/components/SelectDateType.mjs +60 -0
  356. package/dist/admin/components/SelectDateType.mjs.map +1 -0
  357. package/dist/admin/components/SelectNumber.js +111 -0
  358. package/dist/admin/components/SelectNumber.js.map +1 -0
  359. package/dist/admin/components/SelectNumber.mjs +109 -0
  360. package/dist/admin/components/SelectNumber.mjs.map +1 -0
  361. package/dist/admin/components/SingularName.js +63 -0
  362. package/dist/admin/components/SingularName.js.map +1 -0
  363. package/dist/admin/components/SingularName.mjs +61 -0
  364. package/dist/admin/components/SingularName.mjs.map +1 -0
  365. package/dist/admin/components/TabForm.js +81 -0
  366. package/dist/admin/components/TabForm.js.map +1 -0
  367. package/dist/admin/components/TabForm.mjs +79 -0
  368. package/dist/admin/components/TabForm.mjs.map +1 -0
  369. package/dist/admin/components/TextareaEnum.js +58 -0
  370. package/dist/admin/components/TextareaEnum.js.map +1 -0
  371. package/dist/admin/components/TextareaEnum.mjs +56 -0
  372. package/dist/admin/components/TextareaEnum.mjs.map +1 -0
  373. package/dist/admin/components/Tr.js +48 -0
  374. package/dist/admin/components/Tr.js.map +1 -0
  375. package/dist/admin/components/Tr.mjs +46 -0
  376. package/dist/admin/components/Tr.mjs.map +1 -0
  377. package/dist/admin/components/UpperFirst.js +11 -0
  378. package/dist/admin/components/UpperFirst.js.map +1 -0
  379. package/dist/admin/components/UpperFirst.mjs +9 -0
  380. package/dist/admin/components/UpperFirst.mjs.map +1 -0
  381. package/dist/admin/constants.js +19 -0
  382. package/dist/admin/constants.js.map +1 -0
  383. package/dist/admin/constants.mjs +16 -0
  384. package/dist/admin/constants.mjs.map +1 -0
  385. package/dist/admin/contexts/DataManagerContext.js +9 -0
  386. package/dist/admin/contexts/DataManagerContext.js.map +1 -0
  387. package/dist/admin/contexts/DataManagerContext.mjs +7 -0
  388. package/dist/admin/contexts/DataManagerContext.mjs.map +1 -0
  389. package/dist/admin/contexts/FormModalNavigationContext.js +28 -0
  390. package/dist/admin/contexts/FormModalNavigationContext.js.map +1 -0
  391. package/dist/admin/contexts/FormModalNavigationContext.mjs +7 -0
  392. package/dist/admin/contexts/FormModalNavigationContext.mjs.map +1 -0
  393. package/dist/admin/hooks/useDataManager.js +9 -0
  394. package/dist/admin/hooks/useDataManager.js.map +1 -0
  395. package/dist/admin/hooks/useDataManager.mjs +7 -0
  396. package/dist/admin/hooks/useDataManager.mjs.map +1 -0
  397. package/dist/admin/hooks/useFormModalNavigation.js +9 -0
  398. package/dist/admin/hooks/useFormModalNavigation.js.map +1 -0
  399. package/dist/admin/hooks/useFormModalNavigation.mjs +7 -0
  400. package/dist/admin/hooks/useFormModalNavigation.mjs.map +1 -0
  401. package/dist/admin/icons/Curve.js +46 -0
  402. package/dist/admin/icons/Curve.js.map +1 -0
  403. package/dist/admin/icons/Curve.mjs +44 -0
  404. package/dist/admin/icons/Curve.mjs.map +1 -0
  405. package/dist/admin/index.js +86 -20
  406. package/dist/admin/index.js.map +1 -1
  407. package/dist/admin/index.mjs +85 -17
  408. package/dist/admin/index.mjs.map +1 -1
  409. package/dist/admin/pages/App/index.js +66 -0
  410. package/dist/admin/pages/App/index.js.map +1 -0
  411. package/dist/admin/pages/App/index.mjs +62 -0
  412. package/dist/admin/pages/App/index.mjs.map +1 -0
  413. package/dist/admin/pages/ListView/LinkToCMSettingsView.js +81 -0
  414. package/dist/admin/pages/ListView/LinkToCMSettingsView.js.map +1 -0
  415. package/dist/admin/pages/ListView/LinkToCMSettingsView.mjs +79 -0
  416. package/dist/admin/pages/ListView/LinkToCMSettingsView.mjs.map +1 -0
  417. package/dist/admin/pages/ListView/ListView.js +218 -0
  418. package/dist/admin/pages/ListView/ListView.js.map +1 -0
  419. package/dist/admin/pages/ListView/ListView.mjs +216 -0
  420. package/dist/admin/pages/ListView/ListView.mjs.map +1 -0
  421. package/dist/admin/pluginId.js +6 -0
  422. package/dist/admin/pluginId.js.map +1 -0
  423. package/dist/admin/pluginId.mjs +4 -0
  424. package/dist/admin/pluginId.mjs.map +1 -0
  425. package/dist/admin/reducers.js +13 -0
  426. package/dist/admin/reducers.js.map +1 -0
  427. package/dist/admin/reducers.mjs +11 -0
  428. package/dist/admin/reducers.mjs.map +1 -0
  429. package/dist/admin/{chunks/ar-Df0f0-PT.js → translations/ar.json.js} +3 -1
  430. package/dist/admin/translations/ar.json.js.map +1 -0
  431. package/dist/admin/{chunks/ar-sRW9VFC-.mjs → translations/ar.json.mjs} +1 -1
  432. package/dist/admin/translations/ar.json.mjs.map +1 -0
  433. package/dist/admin/{chunks/cs-DeTwqc7p.js → translations/cs.json.js} +3 -1
  434. package/dist/admin/translations/cs.json.js.map +1 -0
  435. package/dist/admin/{chunks/cs-BpQ26jiq.mjs → translations/cs.json.mjs} +1 -1
  436. package/dist/admin/translations/cs.json.mjs.map +1 -0
  437. package/dist/admin/{chunks/de-BJkS06jF.js → translations/de.json.js} +3 -1
  438. package/dist/admin/translations/de.json.js.map +1 -0
  439. package/dist/admin/{chunks/de-DSxx5_x-.mjs → translations/de.json.mjs} +1 -1
  440. package/dist/admin/translations/de.json.mjs.map +1 -0
  441. package/dist/admin/{chunks/dk-CGm-qVH7.js → translations/dk.json.js} +3 -1
  442. package/dist/admin/translations/dk.json.js.map +1 -0
  443. package/dist/admin/{chunks/dk-BnjVZ7A_.mjs → translations/dk.json.mjs} +1 -1
  444. package/dist/admin/translations/dk.json.mjs.map +1 -0
  445. package/dist/admin/{chunks/en-BJUu34b0.js → translations/en.json.js} +3 -1
  446. package/dist/admin/translations/en.json.js.map +1 -0
  447. package/dist/admin/{chunks/en-Bhut8Yay.mjs → translations/en.json.mjs} +1 -1
  448. package/dist/admin/translations/en.json.mjs.map +1 -0
  449. package/dist/admin/{chunks/es-J8kvHlNy.js → translations/es.json.js} +3 -1
  450. package/dist/admin/translations/es.json.js.map +1 -0
  451. package/dist/admin/{chunks/es-DG8g9igJ.mjs → translations/es.json.mjs} +1 -1
  452. package/dist/admin/translations/es.json.mjs.map +1 -0
  453. package/dist/admin/{chunks/fr-C6y35iY7.js → translations/fr.json.js} +3 -1
  454. package/dist/admin/translations/fr.json.js.map +1 -0
  455. package/dist/admin/{chunks/fr-UpV34MHY.mjs → translations/fr.json.mjs} +1 -1
  456. package/dist/admin/translations/fr.json.mjs.map +1 -0
  457. package/dist/admin/{chunks/id-BvxV6wLP.js → translations/id.json.js} +3 -1
  458. package/dist/admin/translations/id.json.js.map +1 -0
  459. package/dist/admin/{chunks/id-BWM18ljw.mjs → translations/id.json.mjs} +1 -1
  460. package/dist/admin/translations/id.json.mjs.map +1 -0
  461. package/dist/admin/{chunks/it-C_IgFU-G.js → translations/it.json.js} +3 -1
  462. package/dist/admin/translations/it.json.js.map +1 -0
  463. package/dist/admin/{chunks/it-1_vd9gV4.mjs → translations/it.json.mjs} +1 -1
  464. package/dist/admin/{chunks/ms-C3s4kxq6.mjs.map → translations/it.json.mjs.map} +1 -1
  465. package/dist/admin/{chunks/ja-CWo4Qqq6.js → translations/ja.json.js} +3 -1
  466. package/dist/admin/translations/ja.json.js.map +1 -0
  467. package/dist/admin/{chunks/ja-Cx23a2Ui.mjs → translations/ja.json.mjs} +1 -1
  468. package/dist/admin/translations/ja.json.mjs.map +1 -0
  469. package/dist/admin/{chunks/ko-BsByJNEl.js → translations/ko.json.js} +3 -1
  470. package/dist/admin/translations/ko.json.js.map +1 -0
  471. package/dist/admin/{chunks/ko-DC7paEx5.mjs → translations/ko.json.mjs} +1 -1
  472. package/dist/admin/translations/ko.json.mjs.map +1 -0
  473. package/dist/admin/{chunks/ms-DPTzS7SH.js → translations/ms.json.js} +3 -1
  474. package/dist/admin/translations/ms.json.js.map +1 -0
  475. package/dist/admin/{chunks/ms-C3s4kxq6.mjs → translations/ms.json.mjs} +1 -1
  476. package/dist/admin/translations/ms.json.mjs.map +1 -0
  477. package/dist/admin/{chunks/nl-db29QMOx.js → translations/nl.json.js} +3 -1
  478. package/dist/admin/translations/nl.json.js.map +1 -0
  479. package/dist/admin/{chunks/nl-TzvfktV_.mjs → translations/nl.json.mjs} +1 -1
  480. package/dist/admin/translations/nl.json.mjs.map +1 -0
  481. package/dist/admin/{chunks/pl-pYy1djj3.js → translations/pl.json.js} +3 -1
  482. package/dist/admin/translations/pl.json.js.map +1 -0
  483. package/dist/admin/{chunks/pl-BdvupIN_.mjs → translations/pl.json.mjs} +1 -1
  484. package/dist/admin/translations/pl.json.mjs.map +1 -0
  485. package/dist/admin/{chunks/pt-BR-CTPuXGWF.js → translations/pt-BR.json.js} +3 -1
  486. package/dist/admin/translations/pt-BR.json.js.map +1 -0
  487. package/dist/admin/{chunks/pt-BR-DPrVmKeZ.mjs → translations/pt-BR.json.mjs} +1 -1
  488. package/dist/admin/{chunks/dk-CGm-qVH7.js.map → translations/pt-BR.json.mjs.map} +1 -1
  489. package/dist/admin/{chunks/pt-BQmWcdeG.js → translations/pt.json.js} +3 -1
  490. package/dist/admin/translations/pt.json.js.map +1 -0
  491. package/dist/admin/{chunks/pt-BTLIwmCv.mjs → translations/pt.json.mjs} +1 -1
  492. package/dist/admin/translations/pt.json.mjs.map +1 -0
  493. package/dist/admin/{chunks/ru-DQiDXgUV.js → translations/ru.json.js} +3 -1
  494. package/dist/admin/translations/ru.json.js.map +1 -0
  495. package/dist/admin/{chunks/ru-D46no502.mjs → translations/ru.json.mjs} +1 -1
  496. package/dist/admin/translations/ru.json.mjs.map +1 -0
  497. package/dist/admin/{chunks/sk-DrnebmXb.js → translations/sk.json.js} +3 -1
  498. package/dist/admin/translations/sk.json.js.map +1 -0
  499. package/dist/admin/{chunks/sk-Byr_l4Jc.mjs → translations/sk.json.mjs} +1 -1
  500. package/dist/admin/translations/sk.json.mjs.map +1 -0
  501. package/dist/admin/{chunks/sv-CrWlNosi.js → translations/sv.json.js} +3 -1
  502. package/dist/admin/translations/sv.json.js.map +1 -0
  503. package/dist/admin/{chunks/sv-Bbam7IDm.mjs → translations/sv.json.mjs} +1 -1
  504. package/dist/admin/translations/sv.json.mjs.map +1 -0
  505. package/dist/admin/{chunks/th-BbrCkfgX.js → translations/th.json.js} +3 -1
  506. package/dist/admin/translations/th.json.js.map +1 -0
  507. package/dist/admin/{chunks/th-hfS0Wmk_.mjs → translations/th.json.mjs} +1 -1
  508. package/dist/admin/translations/th.json.mjs.map +1 -0
  509. package/dist/admin/{chunks/tr-CHdMj8m6.js → translations/tr.json.js} +3 -1
  510. package/dist/admin/translations/tr.json.js.map +1 -0
  511. package/dist/admin/{chunks/tr-DS7DBOhC.mjs → translations/tr.json.mjs} +1 -1
  512. package/dist/admin/translations/tr.json.mjs.map +1 -0
  513. package/dist/admin/{chunks/uk-felSA_eV.js → translations/uk.json.js} +3 -1
  514. package/dist/admin/translations/uk.json.js.map +1 -0
  515. package/dist/admin/{chunks/uk-CjzmJyt1.mjs → translations/uk.json.mjs} +1 -1
  516. package/dist/admin/translations/uk.json.mjs.map +1 -0
  517. package/dist/admin/{chunks/zh-Hans-lXbNiMp9.js → translations/zh-Hans.json.js} +3 -1
  518. package/dist/admin/{chunks/cs-BpQ26jiq.mjs.map → translations/zh-Hans.json.js.map} +1 -1
  519. package/dist/admin/{chunks/zh-Hans-BElOnuRb.mjs → translations/zh-Hans.json.mjs} +1 -1
  520. package/dist/admin/translations/zh-Hans.json.mjs.map +1 -0
  521. package/dist/admin/{chunks/zh-CWj4avQA.js → translations/zh.json.js} +3 -1
  522. package/dist/admin/translations/zh.json.js.map +1 -0
  523. package/dist/admin/{chunks/zh-BUVXH75-.mjs → translations/zh.json.mjs} +1 -1
  524. package/dist/admin/translations/zh.json.mjs.map +1 -0
  525. package/dist/admin/utils/findAttribute.js +8 -0
  526. package/dist/admin/utils/findAttribute.js.map +1 -0
  527. package/dist/admin/utils/findAttribute.mjs +6 -0
  528. package/dist/admin/utils/findAttribute.mjs.map +1 -0
  529. package/dist/admin/utils/formAPI.js +134 -0
  530. package/dist/admin/utils/formAPI.js.map +1 -0
  531. package/dist/admin/utils/formAPI.mjs +113 -0
  532. package/dist/admin/utils/formAPI.mjs.map +1 -0
  533. package/dist/admin/utils/getAttributeDisplayedType.js +32 -0
  534. package/dist/admin/utils/getAttributeDisplayedType.js.map +1 -0
  535. package/dist/admin/utils/getAttributeDisplayedType.mjs +30 -0
  536. package/dist/admin/utils/getAttributeDisplayedType.mjs.map +1 -0
  537. package/dist/admin/utils/getMaxDepth.js +74 -0
  538. package/dist/admin/utils/getMaxDepth.js.map +1 -0
  539. package/dist/admin/utils/getMaxDepth.mjs +71 -0
  540. package/dist/admin/utils/getMaxDepth.mjs.map +1 -0
  541. package/dist/admin/utils/getRelationType.js +18 -0
  542. package/dist/admin/utils/getRelationType.js.map +1 -0
  543. package/dist/admin/utils/getRelationType.mjs +16 -0
  544. package/dist/admin/utils/getRelationType.mjs.map +1 -0
  545. package/dist/admin/utils/getTrad.js +8 -0
  546. package/dist/admin/utils/getTrad.js.map +1 -0
  547. package/dist/admin/utils/getTrad.mjs +6 -0
  548. package/dist/admin/utils/getTrad.mjs.map +1 -0
  549. package/dist/admin/utils/getYupInnerErrors.js +23 -0
  550. package/dist/admin/utils/getYupInnerErrors.js.map +1 -0
  551. package/dist/admin/utils/getYupInnerErrors.mjs +21 -0
  552. package/dist/admin/utils/getYupInnerErrors.mjs.map +1 -0
  553. package/dist/admin/utils/isAllowedContentTypesForRelations.js +8 -0
  554. package/dist/admin/utils/isAllowedContentTypesForRelations.js.map +1 -0
  555. package/dist/admin/utils/isAllowedContentTypesForRelations.mjs +6 -0
  556. package/dist/admin/utils/isAllowedContentTypesForRelations.mjs.map +1 -0
  557. package/dist/admin/utils/makeUnique.js +8 -0
  558. package/dist/admin/utils/makeUnique.js.map +1 -0
  559. package/dist/admin/utils/makeUnique.mjs +6 -0
  560. package/dist/admin/utils/makeUnique.mjs.map +1 -0
  561. package/dist/admin/utils/nameToSlug.js +10 -0
  562. package/dist/admin/utils/nameToSlug.js.map +1 -0
  563. package/dist/admin/utils/nameToSlug.mjs +8 -0
  564. package/dist/admin/utils/nameToSlug.mjs.map +1 -0
  565. package/dist/admin/utils/parseDateValue.js +17 -0
  566. package/dist/admin/utils/parseDateValue.js.map +1 -0
  567. package/dist/admin/utils/parseDateValue.mjs +15 -0
  568. package/dist/admin/utils/parseDateValue.mjs.map +1 -0
  569. package/dist/admin/utils/prefixPluginTranslations.js +11 -0
  570. package/dist/admin/utils/prefixPluginTranslations.js.map +1 -0
  571. package/dist/admin/utils/prefixPluginTranslations.mjs +9 -0
  572. package/dist/admin/utils/prefixPluginTranslations.mjs.map +1 -0
  573. package/dist/admin/utils/timeFormat.js +38 -0
  574. package/dist/admin/utils/timeFormat.js.map +1 -0
  575. package/dist/admin/utils/timeFormat.mjs +35 -0
  576. package/dist/admin/utils/timeFormat.mjs.map +1 -0
  577. package/dist/admin/utils/toRegressedEnumValue.js +17 -0
  578. package/dist/admin/utils/toRegressedEnumValue.js.map +1 -0
  579. package/dist/admin/utils/toRegressedEnumValue.mjs +15 -0
  580. package/dist/admin/utils/toRegressedEnumValue.mjs.map +1 -0
  581. package/dist/server/bootstrap.js +16 -0
  582. package/dist/server/bootstrap.js.map +1 -0
  583. package/dist/server/bootstrap.mjs +14 -0
  584. package/dist/server/bootstrap.mjs.map +1 -0
  585. package/dist/server/config.js +9 -0
  586. package/dist/server/config.js.map +1 -0
  587. package/dist/server/config.mjs +7 -0
  588. package/dist/server/config.mjs.map +1 -0
  589. package/dist/server/controllers/builder.js +12 -0
  590. package/dist/server/controllers/builder.js.map +1 -0
  591. package/dist/server/controllers/builder.mjs +10 -0
  592. package/dist/server/controllers/builder.mjs.map +1 -0
  593. package/dist/server/controllers/component-categories.js +38 -0
  594. package/dist/server/controllers/component-categories.js.map +1 -0
  595. package/dist/server/controllers/component-categories.mjs +36 -0
  596. package/dist/server/controllers/component-categories.mjs.map +1 -0
  597. package/dist/server/controllers/components.js +144 -0
  598. package/dist/server/controllers/components.js.map +1 -0
  599. package/dist/server/controllers/components.mjs +142 -0
  600. package/dist/server/controllers/components.mjs.map +1 -0
  601. package/dist/server/controllers/content-types.js +142 -0
  602. package/dist/server/controllers/content-types.js.map +1 -0
  603. package/dist/server/controllers/content-types.mjs +140 -0
  604. package/dist/server/controllers/content-types.mjs.map +1 -0
  605. package/dist/server/controllers/index.js +16 -0
  606. package/dist/server/controllers/index.js.map +1 -0
  607. package/dist/server/controllers/index.mjs +14 -0
  608. package/dist/server/controllers/index.mjs.map +1 -0
  609. package/dist/server/controllers/validation/common.js +102 -0
  610. package/dist/server/controllers/validation/common.js.map +1 -0
  611. package/dist/server/controllers/validation/common.mjs +85 -0
  612. package/dist/server/controllers/validation/common.mjs.map +1 -0
  613. package/dist/server/controllers/validation/component-category.js +12 -0
  614. package/dist/server/controllers/validation/component-category.js.map +1 -0
  615. package/dist/server/controllers/validation/component-category.mjs +10 -0
  616. package/dist/server/controllers/validation/component-category.mjs.map +1 -0
  617. package/dist/server/controllers/validation/component.js +68 -0
  618. package/dist/server/controllers/validation/component.js.map +1 -0
  619. package/dist/server/controllers/validation/component.mjs +60 -0
  620. package/dist/server/controllers/validation/component.mjs.map +1 -0
  621. package/dist/server/controllers/validation/content-type.js +153 -0
  622. package/dist/server/controllers/validation/content-type.js.map +1 -0
  623. package/dist/server/controllers/validation/content-type.mjs +149 -0
  624. package/dist/server/controllers/validation/content-type.mjs.map +1 -0
  625. package/dist/server/controllers/validation/data-transform.js +27 -0
  626. package/dist/server/controllers/validation/data-transform.js.map +1 -0
  627. package/dist/server/controllers/validation/data-transform.mjs +24 -0
  628. package/dist/server/controllers/validation/data-transform.mjs.map +1 -0
  629. package/dist/server/controllers/validation/model-schema.js +90 -0
  630. package/dist/server/controllers/validation/model-schema.js.map +1 -0
  631. package/dist/server/controllers/validation/model-schema.mjs +88 -0
  632. package/dist/server/controllers/validation/model-schema.mjs.map +1 -0
  633. package/dist/server/controllers/validation/relations.js +70 -0
  634. package/dist/server/controllers/validation/relations.js.map +1 -0
  635. package/dist/server/controllers/validation/relations.mjs +68 -0
  636. package/dist/server/controllers/validation/relations.mjs.map +1 -0
  637. package/dist/server/controllers/validation/types.js +215 -0
  638. package/dist/server/controllers/validation/types.js.map +1 -0
  639. package/dist/server/controllers/validation/types.mjs +213 -0
  640. package/dist/server/controllers/validation/types.mjs.map +1 -0
  641. package/dist/server/index.js +8 -2654
  642. package/dist/server/index.js.map +1 -1
  643. package/dist/server/index.mjs +5 -2633
  644. package/dist/server/index.mjs.map +1 -1
  645. package/dist/server/routes/admin.js +231 -0
  646. package/dist/server/routes/admin.js.map +1 -0
  647. package/dist/server/routes/admin.mjs +229 -0
  648. package/dist/server/routes/admin.mjs.map +1 -0
  649. package/dist/server/routes/content-api.js +30 -0
  650. package/dist/server/routes/content-api.js.map +1 -0
  651. package/dist/server/routes/content-api.mjs +28 -0
  652. package/dist/server/routes/content-api.mjs.map +1 -0
  653. package/dist/server/routes/index.js +12 -0
  654. package/dist/server/routes/index.js.map +1 -0
  655. package/dist/server/routes/index.mjs +10 -0
  656. package/dist/server/routes/index.mjs.map +1 -0
  657. package/dist/server/services/api-handler.js +109 -0
  658. package/dist/server/services/api-handler.js.map +1 -0
  659. package/dist/server/services/api-handler.mjs +85 -0
  660. package/dist/server/services/api-handler.mjs.map +1 -0
  661. package/dist/server/services/builder.js +81 -0
  662. package/dist/server/services/builder.js.map +1 -0
  663. package/dist/server/services/builder.mjs +75 -0
  664. package/dist/server/services/builder.mjs.map +1 -0
  665. package/dist/server/services/component-categories.js +59 -0
  666. package/dist/server/services/component-categories.js.map +1 -0
  667. package/dist/server/services/component-categories.mjs +56 -0
  668. package/dist/server/services/component-categories.mjs.map +1 -0
  669. package/dist/server/services/components.js +79 -0
  670. package/dist/server/services/components.js.map +1 -0
  671. package/dist/server/services/components.mjs +74 -0
  672. package/dist/server/services/components.mjs.map +1 -0
  673. package/dist/server/services/constants.js +52 -0
  674. package/dist/server/services/constants.js.map +1 -0
  675. package/dist/server/services/constants.mjs +45 -0
  676. package/dist/server/services/constants.mjs.map +1 -0
  677. package/dist/server/services/content-types.js +223 -0
  678. package/dist/server/services/content-types.js.map +1 -0
  679. package/dist/server/services/content-types.mjs +213 -0
  680. package/dist/server/services/content-types.mjs.map +1 -0
  681. package/dist/server/services/index.js +18 -0
  682. package/dist/server/services/index.js.map +1 -0
  683. package/dist/server/services/index.mjs +16 -0
  684. package/dist/server/services/index.mjs.map +1 -0
  685. package/dist/server/services/schema-builder/component-builder.js +114 -0
  686. package/dist/server/services/schema-builder/component-builder.js.map +1 -0
  687. package/dist/server/services/schema-builder/component-builder.mjs +112 -0
  688. package/dist/server/services/schema-builder/component-builder.mjs.map +1 -0
  689. package/dist/server/services/schema-builder/content-type-builder.js +276 -0
  690. package/dist/server/services/schema-builder/content-type-builder.js.map +1 -0
  691. package/dist/server/services/schema-builder/content-type-builder.mjs +274 -0
  692. package/dist/server/services/schema-builder/content-type-builder.mjs.map +1 -0
  693. package/dist/server/services/schema-builder/index.js +145 -0
  694. package/dist/server/services/schema-builder/index.js.map +1 -0
  695. package/dist/server/services/schema-builder/index.mjs +143 -0
  696. package/dist/server/services/schema-builder/index.mjs.map +1 -0
  697. package/dist/server/services/schema-builder/schema-handler.js +250 -0
  698. package/dist/server/services/schema-builder/schema-handler.js.map +1 -0
  699. package/dist/server/services/schema-builder/schema-handler.mjs +248 -0
  700. package/dist/server/services/schema-builder/schema-handler.mjs.map +1 -0
  701. package/dist/server/utils/attributes.js +91 -0
  702. package/dist/server/utils/attributes.js.map +1 -0
  703. package/dist/server/utils/attributes.mjs +85 -0
  704. package/dist/server/utils/attributes.mjs.map +1 -0
  705. package/dist/server/utils/index.js +8 -0
  706. package/dist/server/utils/index.js.map +1 -0
  707. package/dist/server/utils/index.mjs +6 -0
  708. package/dist/server/utils/index.mjs.map +1 -0
  709. package/dist/server/utils/typeguards.js +8 -0
  710. package/dist/server/utils/typeguards.js.map +1 -0
  711. package/dist/server/utils/typeguards.mjs +6 -0
  712. package/dist/server/utils/typeguards.mjs.map +1 -0
  713. package/package.json +5 -5
  714. package/dist/admin/chunks/ListView-Cl-pbcxP.mjs +0 -1184
  715. package/dist/admin/chunks/ListView-Cl-pbcxP.mjs.map +0 -1
  716. package/dist/admin/chunks/ListView-DMZvleUI.js +0 -1186
  717. package/dist/admin/chunks/ListView-DMZvleUI.js.map +0 -1
  718. package/dist/admin/chunks/ar-Df0f0-PT.js.map +0 -1
  719. package/dist/admin/chunks/ar-sRW9VFC-.mjs.map +0 -1
  720. package/dist/admin/chunks/cs-DeTwqc7p.js.map +0 -1
  721. package/dist/admin/chunks/de-BJkS06jF.js.map +0 -1
  722. package/dist/admin/chunks/de-DSxx5_x-.mjs.map +0 -1
  723. package/dist/admin/chunks/dk-BnjVZ7A_.mjs.map +0 -1
  724. package/dist/admin/chunks/en-BJUu34b0.js.map +0 -1
  725. package/dist/admin/chunks/en-Bhut8Yay.mjs.map +0 -1
  726. package/dist/admin/chunks/es-DG8g9igJ.mjs.map +0 -1
  727. package/dist/admin/chunks/es-J8kvHlNy.js.map +0 -1
  728. package/dist/admin/chunks/fr-C6y35iY7.js.map +0 -1
  729. package/dist/admin/chunks/fr-UpV34MHY.mjs.map +0 -1
  730. package/dist/admin/chunks/id-BWM18ljw.mjs.map +0 -1
  731. package/dist/admin/chunks/id-BvxV6wLP.js.map +0 -1
  732. package/dist/admin/chunks/index-BG2mUcnk.js +0 -7788
  733. package/dist/admin/chunks/index-BG2mUcnk.js.map +0 -1
  734. package/dist/admin/chunks/index-DAXXa6S8.mjs +0 -1384
  735. package/dist/admin/chunks/index-DAXXa6S8.mjs.map +0 -1
  736. package/dist/admin/chunks/index-DWAINlnG.js +0 -1421
  737. package/dist/admin/chunks/index-DWAINlnG.js.map +0 -1
  738. package/dist/admin/chunks/index-Knq4Ti8R.mjs +0 -7761
  739. package/dist/admin/chunks/index-Knq4Ti8R.mjs.map +0 -1
  740. package/dist/admin/chunks/it-1_vd9gV4.mjs.map +0 -1
  741. package/dist/admin/chunks/it-C_IgFU-G.js.map +0 -1
  742. package/dist/admin/chunks/ja-CWo4Qqq6.js.map +0 -1
  743. package/dist/admin/chunks/ja-Cx23a2Ui.mjs.map +0 -1
  744. package/dist/admin/chunks/ko-BsByJNEl.js.map +0 -1
  745. package/dist/admin/chunks/ko-DC7paEx5.mjs.map +0 -1
  746. package/dist/admin/chunks/ms-DPTzS7SH.js.map +0 -1
  747. package/dist/admin/chunks/nl-TzvfktV_.mjs.map +0 -1
  748. package/dist/admin/chunks/nl-db29QMOx.js.map +0 -1
  749. package/dist/admin/chunks/pl-BdvupIN_.mjs.map +0 -1
  750. package/dist/admin/chunks/pl-pYy1djj3.js.map +0 -1
  751. package/dist/admin/chunks/pt-BQmWcdeG.js.map +0 -1
  752. package/dist/admin/chunks/pt-BR-CTPuXGWF.js.map +0 -1
  753. package/dist/admin/chunks/pt-BR-DPrVmKeZ.mjs.map +0 -1
  754. package/dist/admin/chunks/pt-BTLIwmCv.mjs.map +0 -1
  755. package/dist/admin/chunks/ru-D46no502.mjs.map +0 -1
  756. package/dist/admin/chunks/ru-DQiDXgUV.js.map +0 -1
  757. package/dist/admin/chunks/sk-Byr_l4Jc.mjs.map +0 -1
  758. package/dist/admin/chunks/sk-DrnebmXb.js.map +0 -1
  759. package/dist/admin/chunks/sv-Bbam7IDm.mjs.map +0 -1
  760. package/dist/admin/chunks/sv-CrWlNosi.js.map +0 -1
  761. package/dist/admin/chunks/th-BbrCkfgX.js.map +0 -1
  762. package/dist/admin/chunks/th-hfS0Wmk_.mjs.map +0 -1
  763. package/dist/admin/chunks/tr-CHdMj8m6.js.map +0 -1
  764. package/dist/admin/chunks/tr-DS7DBOhC.mjs.map +0 -1
  765. package/dist/admin/chunks/uk-CjzmJyt1.mjs.map +0 -1
  766. package/dist/admin/chunks/uk-felSA_eV.js.map +0 -1
  767. package/dist/admin/chunks/zh-BUVXH75-.mjs.map +0 -1
  768. package/dist/admin/chunks/zh-CWj4avQA.js.map +0 -1
  769. package/dist/admin/chunks/zh-Hans-BElOnuRb.mjs.map +0 -1
  770. package/dist/admin/chunks/zh-Hans-lXbNiMp9.js.map +0 -1
@@ -1,1421 +0,0 @@
1
- 'use strict';
2
-
3
- var Icons = require('@strapi/icons');
4
- var toolkit = require('@reduxjs/toolkit');
5
- var immer = require('immer');
6
- var get = require('lodash/get');
7
- var set = require('lodash/set');
8
- var snakeCase = require('lodash/snakeCase');
9
- var pluralize = require('pluralize');
10
- var slugify = require('@sindresorhus/slugify');
11
- var cloneDeep = require('lodash/cloneDeep');
12
- var yup = require('yup');
13
- var jsxRuntime = require('react/jsx-runtime');
14
- var React = require('react');
15
- var designSystem = require('@strapi/design-system');
16
- var reactDom = require('react-dom');
17
- var reactIntl = require('react-intl');
18
- var styledComponents = require('styled-components');
19
-
20
- function _interopNamespaceDefault(e) {
21
- var n = Object.create(null);
22
- if (e) {
23
- Object.keys(e).forEach(function (k) {
24
- if (k !== 'default') {
25
- var d = Object.getOwnPropertyDescriptor(e, k);
26
- Object.defineProperty(n, k, d.get ? d : {
27
- enumerable: true,
28
- get: function () { return e[k]; }
29
- });
30
- }
31
- });
32
- }
33
- n.default = e;
34
- return Object.freeze(n);
35
- }
36
-
37
- var yup__namespace = /*#__PURE__*/_interopNamespaceDefault(yup);
38
- var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
39
-
40
- const PERMISSIONS = {
41
- // This permission regards the main component (App) and is used to tell
42
- // If the plugin link should be displayed in the menu
43
- // And also if the plugin is accessible. This use case is found when a user types the url of the
44
- // plugin directly in the browser
45
- main: [
46
- {
47
- action: 'plugin::content-type-builder.read',
48
- subject: null
49
- }
50
- ]
51
- };
52
- const MAX_COMPONENT_DEPTH = 6;
53
-
54
- const pluginId = 'content-type-builder';
55
-
56
- /**
57
- *
58
- * Retrieves the relation type
59
- */ const getRelationType = (relation, targetAttribute)=>{
60
- const hasNotTargetAttribute = targetAttribute === undefined || targetAttribute === null;
61
- if (relation === 'oneToOne' && hasNotTargetAttribute) {
62
- return 'oneWay';
63
- }
64
- if (relation === 'oneToMany' && hasNotTargetAttribute) {
65
- return 'manyWay';
66
- }
67
- return relation;
68
- };
69
-
70
- const makeUnique = (array)=>[
71
- ...new Set(array)
72
- ];
73
-
74
- const retrieveComponentsFromSchema = (attributes, allComponentsData)=>{
75
- const allComponents = attributes.reduce((acc, current)=>{
76
- const type = current.type;
77
- if (type === 'component') {
78
- const currentComponentName = current.component;
79
- // Push the existing compo
80
- acc.push(currentComponentName);
81
- const currentComponentAttributes = get(allComponentsData, [
82
- currentComponentName,
83
- 'schema',
84
- 'attributes'
85
- ], []);
86
- // Retrieve the nested ones
87
- acc.push(...retrieveComponentsFromSchema(currentComponentAttributes, allComponentsData));
88
- }
89
- if (type === 'dynamiczone') {
90
- const dynamicZoneComponents = current.components;
91
- const componentsFromDZComponents = dynamicZoneComponents.reduce((acc2, currentUid)=>{
92
- const compoAttrs = get(allComponentsData, [
93
- currentUid,
94
- 'schema',
95
- 'attributes'
96
- ], []);
97
- return [
98
- ...acc2,
99
- ...retrieveComponentsFromSchema(compoAttrs, allComponentsData)
100
- ];
101
- }, []);
102
- return [
103
- ...acc,
104
- ...dynamicZoneComponents,
105
- ...componentsFromDZComponents
106
- ];
107
- }
108
- return acc;
109
- }, []);
110
- return makeUnique(allComponents);
111
- };
112
-
113
- const DEFAULT_MODIFIED_DATA = {
114
- components: {},
115
- contentTypes: {}
116
- };
117
- const initialState$1 = {
118
- components: {},
119
- contentTypes: {},
120
- initialComponents: {},
121
- initialContentTypes: {},
122
- initialData: {},
123
- modifiedData: {
124
- ...DEFAULT_MODIFIED_DATA
125
- },
126
- reservedNames: {},
127
- isLoading: true
128
- };
129
- const ONE_SIDE_RELATIONS = [
130
- 'oneWay',
131
- 'manyWay'
132
- ];
133
- const getOppositeRelation = (originalRelation)=>{
134
- if (originalRelation === 'manyToOne') {
135
- return 'oneToMany';
136
- }
137
- if (originalRelation === 'oneToMany') {
138
- return 'manyToOne';
139
- }
140
- return originalRelation;
141
- };
142
- const findAttributeIndex = (schema, attributeToFind)=>{
143
- return schema.schema.attributes.findIndex(({ name })=>name === attributeToFind);
144
- };
145
- const slice$1 = toolkit.createSlice({
146
- name: 'data-manager',
147
- initialState: initialState$1,
148
- reducers: {
149
- init: (state, action)=>{
150
- const { components, contentTypes, reservedNames } = action.payload;
151
- state.components = components;
152
- state.initialComponents = components;
153
- state.initialContentTypes = contentTypes;
154
- state.contentTypes = contentTypes;
155
- state.reservedNames = reservedNames;
156
- state.isLoading = false;
157
- state.modifiedData = {
158
- ...DEFAULT_MODIFIED_DATA,
159
- component: state.modifiedData.component ? components[state.modifiedData.component.uid] : undefined,
160
- contentType: state.modifiedData.contentType ? contentTypes[state.modifiedData.contentType.uid] : undefined,
161
- components: state.modifiedData.components ? Object.keys(state.modifiedData.components).reduce((acc, key)=>{
162
- acc[key] = components[key];
163
- return acc;
164
- }, {}) : {},
165
- contentTypes: state.modifiedData.contentTypes ? Object.keys(state.modifiedData.contentTypes).reduce((acc, key)=>{
166
- acc[key] = contentTypes[key];
167
- return acc;
168
- }, {}) : {}
169
- };
170
- state.initialData = state.modifiedData;
171
- },
172
- addAttribute: (state, action)=>{
173
- const { attributeToSet, forTarget, targetUid, shouldAddComponentToData } = action.payload;
174
- const { name, ...rest } = attributeToSet;
175
- delete rest.createComponent;
176
- const pathToDataToEdit = [
177
- 'component',
178
- 'contentType'
179
- ].includes(forTarget) ? [
180
- forTarget
181
- ] : [
182
- forTarget,
183
- targetUid
184
- ];
185
- const currentAttributes = get(state, [
186
- 'modifiedData',
187
- ...pathToDataToEdit,
188
- 'schema',
189
- 'attributes'
190
- ], []).slice();
191
- // Add the createdAttribute
192
- const updatedAttributes = [
193
- ...currentAttributes,
194
- {
195
- ...rest,
196
- name
197
- }
198
- ];
199
- set(state, [
200
- 'modifiedData',
201
- ...pathToDataToEdit,
202
- 'schema',
203
- 'attributes'
204
- ], updatedAttributes);
205
- if (shouldAddComponentToData) {
206
- const componentToAddUID = rest.component;
207
- const componentToAdd = state.components[componentToAddUID];
208
- const isTemporaryComponent = componentToAdd?.isTemporary;
209
- const hasComponentAlreadyBeenAdded = state.modifiedData.components?.[componentToAddUID] !== undefined;
210
- if (isTemporaryComponent || hasComponentAlreadyBeenAdded) {
211
- return;
212
- }
213
- // Initialize modifiedData.components if it is undefined
214
- if (!state.modifiedData.components) {
215
- state.modifiedData.components = {};
216
- }
217
- // Add the added component to the modifiedData.components
218
- state.modifiedData.components[componentToAddUID] = componentToAdd;
219
- const nestedComponents = retrieveComponentsFromSchema(componentToAdd.schema.attributes, state.components);
220
- // We dont' need to set the already added components otherwise all modifications will be lost so we need to only add the not modified ones
221
- const nestedComponentsToAddInModifiedData = nestedComponents.filter((compoUID)=>{
222
- return get(state, [
223
- 'modifiedData',
224
- 'components',
225
- compoUID
226
- ]) === undefined;
227
- });
228
- nestedComponentsToAddInModifiedData.forEach((compoUID)=>{
229
- const compoSchema = get(state, [
230
- 'components',
231
- compoUID
232
- ], {});
233
- const isTemporary = compoSchema.isTemporary || false;
234
- // If the nested component has not been saved we don't need to add them as they are already in the state
235
- if (!isTemporary) {
236
- if (!state.modifiedData.components) {
237
- state.modifiedData.components = {};
238
- }
239
- state.modifiedData.components[compoUID] = compoSchema;
240
- }
241
- });
242
- return;
243
- }
244
- const isCreatingRelationAttribute = rest.type === 'relation';
245
- if (isCreatingRelationAttribute) {
246
- const target = rest.target;
247
- const targetAttribute = rest.targetAttribute || null;
248
- const relation = rest.relation;
249
- const relationType = getRelationType(relation, targetAttribute);
250
- const currentUid = get(state, [
251
- 'modifiedData',
252
- ...pathToDataToEdit,
253
- 'uid'
254
- ]);
255
- // When the user in creating a relation with the same content type we need to create another attribute
256
- // that is the opposite of the created one
257
- if (rest.type === 'relation' && relationType !== 'oneWay' && relationType !== 'manyWay' && target === currentUid) {
258
- const oppositeAttribute = {
259
- name: targetAttribute,
260
- relation: getOppositeRelation(relationType),
261
- target,
262
- targetAttribute: name,
263
- type: 'relation'
264
- };
265
- if (rest.private) {
266
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
267
- oppositeAttribute.private = rest.private;
268
- }
269
- const attributesToSet = [
270
- ...updatedAttributes,
271
- oppositeAttribute
272
- ];
273
- set(state, [
274
- 'modifiedData',
275
- ...pathToDataToEdit,
276
- 'schema',
277
- 'attributes'
278
- ], attributesToSet);
279
- }
280
- }
281
- },
282
- addCreatedComponentToDynamicZone: (state, action)=>{
283
- const { dynamicZoneTarget, componentsToAdd } = action.payload;
284
- const dzAttributeIndex = findAttributeIndex(state.modifiedData.contentType, dynamicZoneTarget);
285
- componentsToAdd.forEach((componentUid)=>{
286
- if (!state.modifiedData.contentType) {
287
- return;
288
- }
289
- if (!state.modifiedData.contentType.schema.attributes[dzAttributeIndex].components) {
290
- state.modifiedData.contentType.schema.attributes[dzAttributeIndex].components = [];
291
- }
292
- state.modifiedData.contentType.schema.attributes[dzAttributeIndex].components.push(componentUid);
293
- });
294
- },
295
- addCustomFieldAttribute: (state, action)=>{
296
- const { attributeToSet, forTarget, targetUid } = action.payload;
297
- const { name, ...rest } = attributeToSet;
298
- const pathToDataToEdit = [
299
- 'component',
300
- 'contentType'
301
- ].includes(forTarget) ? [
302
- forTarget
303
- ] : [
304
- forTarget,
305
- targetUid
306
- ];
307
- const currentAttributes = get(state, [
308
- 'modifiedData',
309
- ...pathToDataToEdit,
310
- 'schema',
311
- 'attributes'
312
- ], []).slice();
313
- // Add the createdAttribute
314
- const updatedAttributes = [
315
- ...currentAttributes,
316
- {
317
- ...rest,
318
- name
319
- }
320
- ];
321
- set(state, [
322
- 'modifiedData',
323
- ...pathToDataToEdit,
324
- 'schema',
325
- 'attributes'
326
- ], updatedAttributes);
327
- },
328
- changeDynamicZoneComponents: (state, action)=>{
329
- const { dynamicZoneTarget, newComponents } = action.payload;
330
- const dzAttributeIndex = findAttributeIndex(state.modifiedData.contentType, dynamicZoneTarget);
331
- const currentDZComponents = (state.modifiedData.contentType?.schema.attributes[dzAttributeIndex]).components;
332
- const updatedComponents = makeUnique([
333
- ...currentDZComponents,
334
- ...newComponents
335
- ]);
336
- (state.modifiedData.contentType?.schema.attributes[dzAttributeIndex]).components = updatedComponents;
337
- // Retrieve all the components that needs to be added to the modifiedData.components
338
- const nestedComponents = retrieveComponentsFromSchema(immer.current(state.modifiedData.contentType?.schema.attributes), state.components);
339
- // We dont' need to set the already added components otherwise all modifications will be lost so we need to only add the not modified ones
340
- const nestedComponentsToAddInModifiedData = nestedComponents.filter((compoUID)=>{
341
- return get(state, [
342
- 'modifiedData',
343
- 'components',
344
- compoUID
345
- ]) === undefined;
346
- });
347
- nestedComponentsToAddInModifiedData.forEach((compoUID)=>{
348
- const compoSchema = get(state, [
349
- 'components',
350
- compoUID
351
- ], {});
352
- const isTemporary = compoSchema.isTemporary || false;
353
- // If the nested component has not been saved we don't need to add them as they are already in the state
354
- if (!isTemporary) {
355
- if (!state.modifiedData.components) {
356
- state.modifiedData.components = {};
357
- }
358
- state.modifiedData.components[compoUID] = compoSchema;
359
- }
360
- });
361
- },
362
- createComponentSchema: (state, action)=>{
363
- const { uid, data, componentCategory, shouldAddComponentToData } = action.payload;
364
- const newSchema = {
365
- uid: uid,
366
- isTemporary: true,
367
- category: componentCategory,
368
- schema: {
369
- ...data,
370
- attributes: []
371
- }
372
- };
373
- state.components[uid] = newSchema;
374
- if (shouldAddComponentToData) {
375
- state.modifiedData.components[uid] = newSchema;
376
- }
377
- },
378
- createSchema: (state, action)=>{
379
- const { uid, data } = action.payload;
380
- const newSchema = {
381
- uid: uid,
382
- isTemporary: true,
383
- schema: {
384
- ...data,
385
- attributes: []
386
- }
387
- };
388
- state.contentTypes[uid] = newSchema;
389
- },
390
- editAttribute: (state, action)=>{
391
- const { attributeToSet, forTarget, targetUid, initialAttribute } = action.payload;
392
- const { name, ...rest } = attributeToSet;
393
- const initialAttributeName = initialAttribute.name;
394
- const pathToDataToEdit = [
395
- 'component',
396
- 'contentType'
397
- ].includes(forTarget) ? [
398
- forTarget
399
- ] : [
400
- forTarget,
401
- targetUid
402
- ];
403
- const initialAttributeIndex = findAttributeIndex(get(state, [
404
- 'modifiedData',
405
- ...pathToDataToEdit
406
- ]), initialAttributeName);
407
- const isEditingRelation = rest.type === 'relation';
408
- if (!isEditingRelation) {
409
- set(state, [
410
- 'modifiedData',
411
- ...pathToDataToEdit,
412
- 'schema',
413
- 'attributes',
414
- initialAttributeIndex
415
- ], attributeToSet);
416
- return;
417
- }
418
- const updatedAttributes = get(state, [
419
- 'modifiedData',
420
- ...pathToDataToEdit,
421
- 'schema',
422
- 'attributes'
423
- ]).slice();
424
- // First create the current relation attribute updated
425
- const toSet = {
426
- name,
427
- relation: rest.relation,
428
- target: rest.target,
429
- targetAttribute: rest.targetAttribute,
430
- type: 'relation'
431
- };
432
- if (rest.private) {
433
- toSet.private = rest.private;
434
- }
435
- if (rest.pluginOptions) {
436
- toSet.pluginOptions = rest.pluginOptions;
437
- }
438
- const currentAttributeIndex = updatedAttributes.findIndex((value)=>{
439
- return value.name !== undefined && value.name === initialAttribute.name;
440
- });
441
- // First set it in the updatedAttributes
442
- if (currentAttributeIndex !== -1) {
443
- updatedAttributes.splice(currentAttributeIndex, 1, toSet);
444
- }
445
- let oppositeAttributeNameToRemove = null;
446
- let oppositeAttributeNameToUpdate = null;
447
- let oppositeAttributeToCreate = null;
448
- let initialOppositeAttribute = null;
449
- const currentUid = get(state, [
450
- 'modifiedData',
451
- ...pathToDataToEdit,
452
- 'uid'
453
- ]);
454
- const didChangeTargetRelation = initialAttribute.target !== rest.target;
455
- const didCreateInternalRelation = rest.target === currentUid;
456
- const relationType = getRelationType(rest.relation, rest.targetAttribute);
457
- const initialRelationType = getRelationType(initialAttribute.relation, initialAttribute.targetAttribute);
458
- const hadInternalRelation = initialAttribute.target === currentUid;
459
- const didChangeRelationType = initialRelationType !== relationType;
460
- const shouldRemoveOppositeAttributeBecauseOfTargetChange = didChangeTargetRelation && !didCreateInternalRelation && hadInternalRelation && isEditingRelation;
461
- const shouldRemoveOppositeAttributeBecauseOfRelationTypeChange = didChangeRelationType && hadInternalRelation && [
462
- 'oneWay',
463
- 'manyWay'
464
- ].includes(relationType) && isEditingRelation;
465
- const shouldUpdateOppositeAttributeBecauseOfRelationTypeChange = !ONE_SIDE_RELATIONS.includes(initialRelationType) && !ONE_SIDE_RELATIONS.includes(relationType) && hadInternalRelation && didCreateInternalRelation && isEditingRelation;
466
- const shouldCreateOppositeAttributeBecauseOfRelationTypeChange = ONE_SIDE_RELATIONS.includes(initialRelationType) && !ONE_SIDE_RELATIONS.includes(relationType) && hadInternalRelation && didCreateInternalRelation && isEditingRelation;
467
- const shouldCreateOppositeAttributeBecauseOfTargetChange = didChangeTargetRelation && didCreateInternalRelation && !ONE_SIDE_RELATIONS.includes(relationType);
468
- // Store opposite attribute name to remove at the end of the loop
469
- if (shouldRemoveOppositeAttributeBecauseOfTargetChange || shouldRemoveOppositeAttributeBecauseOfRelationTypeChange) {
470
- oppositeAttributeNameToRemove = initialAttribute.targetAttribute;
471
- }
472
- // In case of oneWay or manyWay relation there isn't an opposite attribute
473
- if (oppositeAttributeNameToRemove) {
474
- const indexToRemove = updatedAttributes.findIndex((value)=>value.name === oppositeAttributeNameToRemove);
475
- updatedAttributes.splice(indexToRemove, 1);
476
- }
477
- // In order to preserve plugin options need to get the initial opposite attribute settings
478
- if (!shouldRemoveOppositeAttributeBecauseOfTargetChange) {
479
- const initialTargetContentType = get(state, [
480
- 'initialContentTypes',
481
- initialAttribute.target
482
- ]);
483
- if (initialTargetContentType) {
484
- const oppositeAttributeIndex = findAttributeIndex(initialTargetContentType, initialAttribute.targetAttribute);
485
- initialOppositeAttribute = get(state, [
486
- 'initialContentTypes',
487
- initialAttribute.target,
488
- 'schema',
489
- 'attributes',
490
- oppositeAttributeIndex
491
- ]);
492
- }
493
- }
494
- // Create the opposite attribute
495
- if (shouldCreateOppositeAttributeBecauseOfRelationTypeChange || shouldCreateOppositeAttributeBecauseOfTargetChange) {
496
- oppositeAttributeToCreate = {
497
- name: rest.targetAttribute,
498
- relation: getOppositeRelation(relationType),
499
- target: rest.target,
500
- targetAttribute: name,
501
- type: 'relation'
502
- };
503
- if (rest.private) {
504
- oppositeAttributeToCreate.private = rest.private;
505
- }
506
- if (initialOppositeAttribute && initialOppositeAttribute.pluginOptions) {
507
- oppositeAttributeToCreate.pluginOptions = initialOppositeAttribute.pluginOptions;
508
- }
509
- const indexOfInitialAttribute = updatedAttributes.findIndex(({ name })=>name === initialAttribute.name);
510
- const indexOfUpdatedAttribute = updatedAttributes.findIndex(({ name: attrName })=>name === attrName);
511
- const indexToInsert = (indexOfInitialAttribute === -1 ? indexOfUpdatedAttribute : indexOfInitialAttribute) + 1;
512
- updatedAttributes.splice(indexToInsert, 0, oppositeAttributeToCreate);
513
- }
514
- if (shouldUpdateOppositeAttributeBecauseOfRelationTypeChange) {
515
- oppositeAttributeNameToUpdate = initialAttribute.targetAttribute;
516
- oppositeAttributeToCreate = {
517
- name: rest.targetAttribute,
518
- relation: getOppositeRelation(relationType),
519
- target: rest.target,
520
- targetAttribute: name,
521
- type: 'relation'
522
- };
523
- if (rest.private) {
524
- oppositeAttributeToCreate.private = rest.private;
525
- }
526
- if (initialOppositeAttribute && initialOppositeAttribute.pluginOptions) {
527
- oppositeAttributeToCreate.pluginOptions = initialOppositeAttribute.pluginOptions;
528
- }
529
- if (oppositeAttributeNameToUpdate) {
530
- const indexToUpdate = updatedAttributes.findIndex(({ name })=>name === oppositeAttributeNameToUpdate);
531
- updatedAttributes.splice(indexToUpdate, 1, oppositeAttributeToCreate);
532
- }
533
- }
534
- set(state, [
535
- 'modifiedData',
536
- ...pathToDataToEdit,
537
- 'schema',
538
- 'attributes'
539
- ], updatedAttributes);
540
- },
541
- editCustomFieldAttribute: (state, action)=>{
542
- const { forTarget, targetUid, initialAttribute, attributeToSet } = action.payload;
543
- const initialAttributeName = initialAttribute.name;
544
- const pathToDataToEdit = [
545
- 'component',
546
- 'contentType'
547
- ].includes(forTarget) ? [
548
- forTarget
549
- ] : [
550
- forTarget,
551
- targetUid
552
- ];
553
- const initialAttributeIndex = findAttributeIndex(get(state, [
554
- 'modifiedData',
555
- ...pathToDataToEdit
556
- ]), initialAttributeName);
557
- set(state, [
558
- 'modifiedData',
559
- ...pathToDataToEdit,
560
- 'schema',
561
- 'attributes',
562
- initialAttributeIndex
563
- ], attributeToSet);
564
- },
565
- updateInitialState: (state)=>{
566
- state.initialData = state.modifiedData;
567
- },
568
- deleteNotSavedType: (state)=>{
569
- // Doing so will also reset the modified and the initial data
570
- state.contentTypes = state.initialContentTypes;
571
- state.components = state.initialComponents;
572
- },
573
- reloadPlugin: ()=>{
574
- return initialState$1;
575
- },
576
- removeComponentFromDynamicZone: (state, action)=>{
577
- const { dzName, componentToRemoveIndex } = action.payload;
578
- const dzAttributeIndex = findAttributeIndex(state.modifiedData.contentType, dzName);
579
- if (state.modifiedData.contentType) {
580
- state.modifiedData.contentType.schema.attributes[dzAttributeIndex].components.splice(componentToRemoveIndex, 1);
581
- }
582
- },
583
- removeField: (state, action)=>{
584
- const { mainDataKey, attributeToRemoveName } = action.payload;
585
- const pathToAttributes = [
586
- 'modifiedData',
587
- mainDataKey,
588
- 'schema',
589
- 'attributes'
590
- ];
591
- const attributeToRemoveIndex = findAttributeIndex(state.modifiedData[mainDataKey], attributeToRemoveName);
592
- const pathToAttributeToRemove = [
593
- ...pathToAttributes,
594
- attributeToRemoveIndex
595
- ];
596
- const attributeToRemoveData = get(state, pathToAttributeToRemove);
597
- const isRemovingRelationAttribute = attributeToRemoveData.type === 'relation';
598
- // Only content types can have relations with themselves since
599
- // components can only have oneWay or manyWay relations
600
- const canTheAttributeToRemoveHaveARelationWithItself = mainDataKey === 'contentType';
601
- if (isRemovingRelationAttribute && canTheAttributeToRemoveHaveARelationWithItself) {
602
- const { target, relation, targetAttribute } = attributeToRemoveData;
603
- const relationType = getRelationType(relation, targetAttribute);
604
- const uid = state.modifiedData.contentType?.uid;
605
- const shouldRemoveOppositeAttribute = target === uid && !ONE_SIDE_RELATIONS.includes(relationType);
606
- if (shouldRemoveOppositeAttribute) {
607
- const attributes = state.modifiedData[mainDataKey]?.schema.attributes.slice();
608
- const nextAttributes = attributes.filter((attribute)=>{
609
- if (attribute.name === attributeToRemoveName) {
610
- return false;
611
- }
612
- if (attribute.target === uid && attribute.targetAttribute === attributeToRemoveName) {
613
- return false;
614
- }
615
- return true;
616
- });
617
- const schema = state.modifiedData[mainDataKey];
618
- if (schema) {
619
- schema.schema.attributes = nextAttributes;
620
- }
621
- return;
622
- }
623
- }
624
- // Find all uid fields that have the targetField set to the field we are removing
625
- const uidFieldsToUpdate = state.modifiedData[mainDataKey].schema.attributes.slice().reduce((acc, current)=>{
626
- if (current.type !== 'uid') {
627
- return acc;
628
- }
629
- if (current.targetField !== attributeToRemoveName) {
630
- return acc;
631
- }
632
- acc.push(current.name);
633
- return acc;
634
- }, []);
635
- uidFieldsToUpdate.forEach((fieldName)=>{
636
- const fieldIndex = findAttributeIndex(state.modifiedData[mainDataKey], fieldName);
637
- delete state.modifiedData[mainDataKey]?.schema.attributes[fieldIndex].targetField;
638
- });
639
- state.modifiedData[mainDataKey]?.schema.attributes.splice(attributeToRemoveIndex, 1);
640
- },
641
- removeFieldFromDisplayedComponent: (state, action)=>{
642
- const { attributeToRemoveName, componentUid } = action.payload;
643
- const attributeToRemoveIndex = findAttributeIndex(state.modifiedData.components?.[componentUid], attributeToRemoveName);
644
- state.modifiedData.components?.[componentUid]?.schema?.attributes?.splice(attributeToRemoveIndex, 1);
645
- },
646
- setModifiedData: (state, action)=>{
647
- const { schemaToSet, hasJustCreatedSchema } = action.payload;
648
- const schema = {
649
- ...DEFAULT_MODIFIED_DATA,
650
- ...schemaToSet
651
- };
652
- state.initialData = schema;
653
- state.modifiedData = schema;
654
- // Reset the state with the initial data
655
- // All created components and content types will be lost
656
- if (!hasJustCreatedSchema) {
657
- state.components = state.initialComponents;
658
- state.contentTypes = state.initialContentTypes;
659
- }
660
- },
661
- updateSchema: (state, action)=>{
662
- const { data, schemaType } = action.payload;
663
- const schema = state.modifiedData[schemaType];
664
- if (!schema) {
665
- return;
666
- }
667
- schema.schema.displayName = data.displayName;
668
- if (schemaType === 'component') {
669
- const { uid } = action.payload;
670
- schema.category = data.category;
671
- schema.schema.icon = data.icon;
672
- const addedComponent = immer.current(schema);
673
- state.components[uid] = addedComponent;
674
- } else {
675
- schema.schema.kind = data.kind;
676
- }
677
- }
678
- }
679
- });
680
- const { reducer: reducer$1, actions: actions$1 } = slice$1;
681
-
682
- const nameToSlug = (name)=>slugify(name, {
683
- separator: '-'
684
- });
685
-
686
- const createUid = (name)=>{
687
- const modelName = nameToSlug(name);
688
- return `api::${modelName}.${modelName}`;
689
- };
690
- // From `content-type-builder/services/Components/createComponentUid`
691
- const createComponentUid = (name, category)=>{
692
- return `${nameToSlug(category)}.${nameToSlug(name)}`;
693
- };
694
-
695
- const customFieldDefaultOptionsReducer = (acc, option)=>{
696
- if (option.items) {
697
- return option.items.reduce(customFieldDefaultOptionsReducer, acc);
698
- }
699
- if ('defaultValue' in option) {
700
- const { name, defaultValue } = option;
701
- acc.push({
702
- name,
703
- defaultValue
704
- });
705
- }
706
- return acc;
707
- };
708
-
709
- /* eslint-disable no-confusing-arrow */ const shouldPluralizeName = (nature)=>[
710
- 'manyToMany',
711
- 'oneToMany',
712
- 'manyWay'
713
- ].includes(nature) ? 2 : 1;
714
- const shouldPluralizeTargetAttribute = (nature)=>[
715
- 'manyToMany',
716
- 'manyToOne'
717
- ].includes(nature) ? 2 : 1;
718
-
719
- const initialState = {
720
- formErrors: {},
721
- modifiedData: {},
722
- initialData: {},
723
- componentToCreate: {},
724
- isCreatingComponentWhileAddingAField: false
725
- };
726
- const slice = toolkit.createSlice({
727
- name: 'formModal',
728
- initialState,
729
- reducers: {
730
- onChange: (state, action)=>{
731
- const { keys, value } = action.payload;
732
- const obj = state.modifiedData;
733
- const hasDefaultValue = Boolean(obj.default);
734
- // There is no need to remove the default key if the default value isn't defined
735
- if (hasDefaultValue && keys.length === 1 && keys.includes('type')) {
736
- const previousType = obj.type;
737
- if (previousType && [
738
- 'date',
739
- 'datetime',
740
- 'time'
741
- ].includes(previousType)) {
742
- // return obj.updateIn(keys, () => value).remove('default');
743
- delete state.modifiedData.default;
744
- }
745
- }
746
- set(state, [
747
- 'modifiedData',
748
- ...keys
749
- ], value);
750
- },
751
- onChangeRelationTarget: (state, action)=>{
752
- const { target: { oneThatIsCreatingARelationWithAnother, selectedContentTypeFriendlyName, targetContentTypeAllowedRelations, value } } = action.payload;
753
- // Special case for the admin user...
754
- let didChangeRelationTypeBecauseOfRestrictedRelation = false;
755
- let changedRelationType = null;
756
- set(state, [
757
- 'modifiedData',
758
- 'target'
759
- ], value);
760
- const modifiedData = state.modifiedData;
761
- // Don't change the relation type if the allowed relations are not restricted
762
- // TODO: replace with an obj { relation: 'x', bidirctional: true|false } when BE ready
763
- if (Array.isArray(targetContentTypeAllowedRelations)) {
764
- const currentRelationType = getRelationType(modifiedData.relation, modifiedData.targetAttribute);
765
- if (currentRelationType && !targetContentTypeAllowedRelations.includes(currentRelationType)) {
766
- const relationToSet = targetContentTypeAllowedRelations[0];
767
- didChangeRelationTypeBecauseOfRestrictedRelation = true;
768
- changedRelationType = relationToSet;
769
- if (relationToSet === 'oneWay') {
770
- set(state, [
771
- 'modifiedData',
772
- 'relation'
773
- ], 'oneToOne');
774
- } else if (relationToSet === 'manyWay') {
775
- set(state, [
776
- 'modifiedData',
777
- 'relation'
778
- ], 'oneToMany');
779
- } else {
780
- set(state, [
781
- 'modifiedData',
782
- 'relation'
783
- ], relationToSet);
784
- }
785
- }
786
- }
787
- let nameToSet;
788
- if (didChangeRelationTypeBecauseOfRestrictedRelation && changedRelationType) {
789
- nameToSet = pluralize(snakeCase(nameToSlug(selectedContentTypeFriendlyName)), shouldPluralizeName(changedRelationType));
790
- } else {
791
- nameToSet = pluralize(snakeCase(nameToSlug(selectedContentTypeFriendlyName)), shouldPluralizeName(modifiedData.relation));
792
- }
793
- set(state, [
794
- 'modifiedData',
795
- 'name'
796
- ], nameToSet);
797
- const currentTargetAttribute = state.modifiedData.targetAttribute;
798
- if (currentTargetAttribute === null) {
799
- return;
800
- }
801
- // Changing the target and the relation is either oneWay or manyWay
802
- // Case when we need to change the relation to oneWay (ex: admin user)
803
- if (didChangeRelationTypeBecauseOfRestrictedRelation && changedRelationType && [
804
- 'oneWay',
805
- 'manyWay'
806
- ].includes(changedRelationType)) {
807
- set(state, [
808
- 'modifiedData',
809
- 'targetAttribute'
810
- ], null);
811
- return;
812
- }
813
- const targetAttributeToSet = pluralize(snakeCase(nameToSlug(oneThatIsCreatingARelationWithAnother)), shouldPluralizeTargetAttribute(modifiedData.relation));
814
- set(state, [
815
- 'modifiedData',
816
- 'targetAttribute'
817
- ], targetAttributeToSet);
818
- },
819
- onChangeRelationType: (state, action)=>{
820
- const { target: { oneThatIsCreatingARelationWithAnother, value } } = action.payload;
821
- const currentName = state.modifiedData.name;
822
- // Switching from oneWay
823
- if (![
824
- 'oneWay',
825
- 'manyWay'
826
- ].includes(value)) {
827
- set(state, [
828
- 'modifiedData',
829
- 'relation'
830
- ], value);
831
- const currentTargetAttribute = state.modifiedData.targetAttribute;
832
- set(state, [
833
- 'modifiedData',
834
- 'name'
835
- ], pluralize(snakeCase(nameToSlug(currentName)), shouldPluralizeName(value)));
836
- set(state, [
837
- 'modifiedData',
838
- 'targetAttribute'
839
- ], pluralize(currentTargetAttribute || snakeCase(nameToSlug(oneThatIsCreatingARelationWithAnother)), shouldPluralizeTargetAttribute(value)));
840
- return;
841
- }
842
- if (value === 'oneWay') {
843
- set(state, [
844
- 'modifiedData',
845
- 'relation'
846
- ], 'oneToOne');
847
- set(state, [
848
- 'modifiedData',
849
- 'targetAttribute'
850
- ], null);
851
- set(state, [
852
- 'modifiedData',
853
- 'name'
854
- ], pluralize(snakeCase(currentName), 1));
855
- return;
856
- }
857
- // manyWay
858
- set(state, [
859
- 'modifiedData',
860
- 'relation'
861
- ], 'oneToMany');
862
- set(state, [
863
- 'modifiedData',
864
- 'targetAttribute'
865
- ], null);
866
- set(state, [
867
- 'modifiedData',
868
- 'name'
869
- ], pluralize(snakeCase(currentName), 2));
870
- },
871
- resetProps: ()=>{
872
- return initialState;
873
- },
874
- resetPropsAndSetFormForAddingAnExistingCompo: (state, action)=>{
875
- const { options = {} } = action.payload;
876
- return {
877
- ...initialState,
878
- modifiedData: {
879
- type: 'component',
880
- repeatable: true,
881
- ...options
882
- }
883
- };
884
- },
885
- resetPropsAndSaveCurrentData: (state, action)=>{
886
- const { options = {} } = action.payload;
887
- // This is run when the user has created a new component
888
- const componentToCreate = state.modifiedData.componentToCreate;
889
- const modifiedData = {
890
- displayName: componentToCreate.displayName,
891
- type: 'component',
892
- repeatable: false,
893
- ...options,
894
- component: createComponentUid(componentToCreate.displayName, componentToCreate.category)
895
- };
896
- return {
897
- ...initialState,
898
- componentToCreate,
899
- modifiedData,
900
- isCreatingComponentWhileAddingAField: state.modifiedData.createComponent
901
- };
902
- },
903
- resetPropsAndSetTheFormForAddingACompoToADz: (state)=>{
904
- const createdDZ = state.modifiedData;
905
- const dataToSet = {
906
- ...createdDZ,
907
- createComponent: true,
908
- componentToCreate: {
909
- type: 'component'
910
- }
911
- };
912
- return {
913
- ...initialState,
914
- modifiedData: dataToSet
915
- };
916
- },
917
- setDataToEdit: (state, action)=>{
918
- const { data } = action.payload;
919
- state.modifiedData = data;
920
- state.initialData = data;
921
- },
922
- setAttributeDataSchema: (state, action)=>{
923
- const { isEditing } = action.payload;
924
- if (isEditing) {
925
- const { modifiedDataToSetForEditing } = action.payload;
926
- state.modifiedData = modifiedDataToSetForEditing;
927
- state.initialData = modifiedDataToSetForEditing;
928
- return;
929
- }
930
- const { attributeType, nameToSetForRelation, targetUid, step, options = {} } = action.payload;
931
- let dataToSet;
932
- if (attributeType === 'component') {
933
- if (step === '1') {
934
- dataToSet = {
935
- type: 'component',
936
- createComponent: true,
937
- componentToCreate: {
938
- type: 'component'
939
- }
940
- };
941
- } else {
942
- dataToSet = {
943
- ...options,
944
- type: 'component',
945
- repeatable: true
946
- };
947
- }
948
- } else if (attributeType === 'dynamiczone') {
949
- dataToSet = {
950
- ...options,
951
- type: 'dynamiczone',
952
- components: []
953
- };
954
- } else if (attributeType === 'text') {
955
- dataToSet = {
956
- ...options,
957
- type: 'string'
958
- };
959
- } else if (attributeType === 'number' || attributeType === 'date') {
960
- dataToSet = options;
961
- } else if (attributeType === 'media') {
962
- dataToSet = {
963
- allowedTypes: [
964
- 'images',
965
- 'files',
966
- 'videos',
967
- 'audios'
968
- ],
969
- type: 'media',
970
- multiple: true,
971
- ...options
972
- };
973
- } else if (attributeType === 'enumeration') {
974
- dataToSet = {
975
- ...options,
976
- type: 'enumeration',
977
- enum: []
978
- };
979
- } else if (attributeType === 'relation') {
980
- dataToSet = {
981
- name: snakeCase(nameToSetForRelation),
982
- relation: 'oneToOne',
983
- targetAttribute: null,
984
- target: targetUid,
985
- type: 'relation'
986
- };
987
- } else {
988
- dataToSet = {
989
- ...options,
990
- type: attributeType,
991
- default: null
992
- };
993
- }
994
- state.modifiedData = dataToSet;
995
- },
996
- setCustomFieldDataSchema: (state, action)=>{
997
- const { isEditing } = action.payload;
998
- if (isEditing) {
999
- const { modifiedDataToSetForEditing } = action.payload;
1000
- state.modifiedData = modifiedDataToSetForEditing;
1001
- state.initialData = modifiedDataToSetForEditing;
1002
- return;
1003
- }
1004
- const { customField, options = {} } = action.payload;
1005
- state.modifiedData = {
1006
- ...options,
1007
- type: customField.type
1008
- };
1009
- const allOptions = [
1010
- ...customField?.options?.base || [],
1011
- ...customField?.options?.advanced || []
1012
- ];
1013
- const optionDefaults = allOptions.reduce(customFieldDefaultOptionsReducer, []);
1014
- if (optionDefaults.length) {
1015
- optionDefaults.forEach(({ name, defaultValue })=>set(state.modifiedData, name, defaultValue));
1016
- }
1017
- },
1018
- setDynamicZoneDataSchema: (state, action)=>{
1019
- const { attributeToEdit } = action.payload;
1020
- state.modifiedData = attributeToEdit;
1021
- state.initialData = attributeToEdit;
1022
- },
1023
- setErrors: (state, action)=>{
1024
- state.formErrors = action.payload.errors;
1025
- }
1026
- }
1027
- });
1028
- const { actions, reducer } = slice;
1029
-
1030
- const reducers = {
1031
- [`${pluginId}_formModal`]: reducer,
1032
- [`${pluginId}_dataManagerProvider`]: reducer$1
1033
- };
1034
-
1035
- // TODO V5 Convert any into real types
1036
- const formsAPI = {
1037
- components: {
1038
- inputs: {},
1039
- add ({ id, component }) {
1040
- if (!this.inputs[id]) {
1041
- this.inputs[id] = component;
1042
- }
1043
- }
1044
- },
1045
- types: {
1046
- attribute: {
1047
- },
1048
- contentType: {
1049
- validators: [],
1050
- form: {
1051
- advanced: [],
1052
- base: []
1053
- }
1054
- },
1055
- component: {
1056
- validators: [],
1057
- form: {
1058
- advanced: [],
1059
- base: []
1060
- }
1061
- }
1062
- },
1063
- contentTypeSchemaMutations: [],
1064
- addContentTypeSchemaMutation (cb) {
1065
- this.contentTypeSchemaMutations.push(cb);
1066
- },
1067
- extendContentType ({ validator, form: { advanced, base } }) {
1068
- const { contentType } = this.types;
1069
- if (validator) {
1070
- contentType.validators.push(validator);
1071
- }
1072
- contentType.form.advanced.push(advanced);
1073
- contentType.form.base.push(base);
1074
- },
1075
- extendFields (fields, { validator, form: { advanced, base } }) {
1076
- const formType = this.types.attribute;
1077
- fields.forEach((field)=>{
1078
- if (!formType[field]) {
1079
- formType[field] = {
1080
- validators: [],
1081
- form: {
1082
- advanced: [],
1083
- base: []
1084
- }
1085
- };
1086
- }
1087
- if (validator) {
1088
- formType[field].validators.push(validator);
1089
- }
1090
- formType[field].form.advanced.push(advanced);
1091
- formType[field].form.base.push(base);
1092
- });
1093
- },
1094
- getAdvancedForm (target, props = null) {
1095
- const sectionsToAdd = get(this.types, [
1096
- ...target,
1097
- 'form',
1098
- 'advanced'
1099
- ], []).reduce((acc, current)=>{
1100
- const sections = current(props);
1101
- return [
1102
- ...acc,
1103
- ...sections
1104
- ];
1105
- }, []);
1106
- return sectionsToAdd;
1107
- },
1108
- makeCustomFieldValidator (attributeShape, validator, ...validatorArgs) {
1109
- // When no validator, return the attribute shape
1110
- if (!validator) return attributeShape;
1111
- // Otherwise extend the shape with the provided validator
1112
- return attributeShape.shape({
1113
- options: yup__namespace.object().shape(validator(validatorArgs))
1114
- });
1115
- },
1116
- makeValidator (target, initShape, ...args) {
1117
- const validators = get(this.types, [
1118
- ...target,
1119
- 'validators'
1120
- ], []);
1121
- const pluginOptionsShape = validators.reduce((acc, current)=>{
1122
- const pluginOptionShape = current(args);
1123
- return {
1124
- ...acc,
1125
- ...pluginOptionShape
1126
- };
1127
- }, {});
1128
- return initShape.shape({
1129
- pluginOptions: yup__namespace.object().shape(pluginOptionsShape)
1130
- });
1131
- },
1132
- mutateContentTypeSchema (data, initialData) {
1133
- let enhancedData = cloneDeep(data);
1134
- const refData = cloneDeep(initialData);
1135
- this.contentTypeSchemaMutations.forEach((cb)=>{
1136
- enhancedData = cb(enhancedData, refData);
1137
- });
1138
- return enhancedData;
1139
- }
1140
- };
1141
-
1142
- const prefixPluginTranslations = (trad, pluginId)=>{
1143
- return Object.keys(trad).reduce((acc, current)=>{
1144
- acc[`${pluginId}.${current}`] = trad[current];
1145
- return acc;
1146
- }, {});
1147
- };
1148
-
1149
- const AutoReloadOverlayBlockerContext = /*#__PURE__*/ React__namespace.createContext({});
1150
- const MAX_ELAPSED_TIME = 30 * 1000;
1151
- const AutoReloadOverlayBlockerProvider = ({ children })=>{
1152
- const [isOpen, setIsOpen] = React__namespace.useState(false);
1153
- const [config, setConfig] = React__namespace.useState({});
1154
- const [failed, setFailed] = React__namespace.useState(false);
1155
- const lockAppWithAutoreload = React__namespace.useCallback((config = {})=>{
1156
- setIsOpen(true);
1157
- setConfig(config);
1158
- }, []);
1159
- const unlockAppWithAutoreload = React__namespace.useCallback(()=>{
1160
- setIsOpen(false);
1161
- setConfig({});
1162
- }, []);
1163
- // eslint-disable-next-line consistent-return
1164
- React__namespace.useEffect(()=>{
1165
- if (isOpen) {
1166
- const timeout = setTimeout(()=>{
1167
- setFailed(true);
1168
- }, MAX_ELAPSED_TIME);
1169
- return ()=>{
1170
- clearTimeout(timeout);
1171
- };
1172
- }
1173
- }, [
1174
- isOpen
1175
- ]);
1176
- let displayedIcon = config?.icon || 'reload';
1177
- let description = {
1178
- id: config?.description || 'components.OverlayBlocker.description',
1179
- defaultMessage: "You're using a feature that needs the server to restart. The page will reload automatically."
1180
- };
1181
- let title = {
1182
- id: config?.title || 'components.OverlayBlocker.title',
1183
- defaultMessage: 'Waiting for restart'
1184
- };
1185
- if (failed) {
1186
- displayedIcon = 'time';
1187
- description = {
1188
- id: 'components.OverlayBlocker.description.serverError',
1189
- defaultMessage: 'The server should have restarted, please check your logs in the terminal.'
1190
- };
1191
- title = {
1192
- id: 'components.OverlayBlocker.title.serverError',
1193
- defaultMessage: 'The restart is taking longer than expected'
1194
- };
1195
- }
1196
- const autoReloadValue = React__namespace.useMemo(()=>({
1197
- lockAppWithAutoreload,
1198
- unlockAppWithAutoreload
1199
- }), [
1200
- lockAppWithAutoreload,
1201
- unlockAppWithAutoreload
1202
- ]);
1203
- return /*#__PURE__*/ jsxRuntime.jsxs(AutoReloadOverlayBlockerContext.Provider, {
1204
- value: autoReloadValue,
1205
- children: [
1206
- /*#__PURE__*/ jsxRuntime.jsx(Blocker, {
1207
- displayedIcon: displayedIcon,
1208
- isOpen: isOpen,
1209
- description: description,
1210
- title: title
1211
- }),
1212
- children
1213
- ]
1214
- });
1215
- };
1216
- const Blocker = ({ displayedIcon, description, title, isOpen })=>{
1217
- const { formatMessage } = reactIntl.useIntl();
1218
- // eslint-disable-next-line no-undef
1219
- return isOpen && globalThis?.document?.body ? /*#__PURE__*/ reactDom.createPortal(/*#__PURE__*/ jsxRuntime.jsxs(Overlay, {
1220
- id: "autoReloadOverlayBlocker",
1221
- direction: "column",
1222
- alignItems: "center",
1223
- gap: 6,
1224
- children: [
1225
- /*#__PURE__*/ jsxRuntime.jsxs(designSystem.Flex, {
1226
- direction: "column",
1227
- alignItems: "center",
1228
- gap: 2,
1229
- children: [
1230
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
1231
- tag: "h1",
1232
- variant: "alpha",
1233
- children: formatMessage(title)
1234
- }),
1235
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Typography, {
1236
- tag: "h2",
1237
- textColor: "neutral600",
1238
- fontSize: 4,
1239
- fontWeight: "regular",
1240
- children: formatMessage(description)
1241
- })
1242
- ]
1243
- }),
1244
- displayedIcon === 'reload' && /*#__PURE__*/ jsxRuntime.jsx(IconBox, {
1245
- padding: 6,
1246
- background: "primary100",
1247
- borderColor: "primary200",
1248
- children: /*#__PURE__*/ jsxRuntime.jsx(LoaderReload, {
1249
- width: "4rem",
1250
- height: "4rem"
1251
- })
1252
- }),
1253
- displayedIcon === 'time' && /*#__PURE__*/ jsxRuntime.jsx(IconBox, {
1254
- padding: 6,
1255
- background: "primary100",
1256
- borderColor: "primary200",
1257
- children: /*#__PURE__*/ jsxRuntime.jsx(Icons.Clock, {
1258
- width: "4rem",
1259
- height: "4rem"
1260
- })
1261
- }),
1262
- /*#__PURE__*/ jsxRuntime.jsx(designSystem.Box, {
1263
- marginTop: 2,
1264
- children: /*#__PURE__*/ jsxRuntime.jsx(designSystem.Link, {
1265
- href: "https://docs.strapi.io",
1266
- isExternal: true,
1267
- children: formatMessage({
1268
- id: 'global.documentation',
1269
- defaultMessage: 'Read the documentation'
1270
- })
1271
- })
1272
- })
1273
- ]
1274
- }), // eslint-disable-next-line no-undef
1275
- globalThis.document.body) : null;
1276
- };
1277
- const rotation = styledComponents.keyframes`
1278
- from {
1279
- transform: rotate(0deg);
1280
- }
1281
- to {
1282
- transform: rotate(359deg);
1283
- }
1284
- `;
1285
- const LoaderReload = styledComponents.styled(Icons.ArrowClockwise)`
1286
- animation: ${rotation} 1s infinite linear;
1287
- `;
1288
- const Overlay = styledComponents.styled(designSystem.Flex)`
1289
- position: fixed;
1290
- top: 0;
1291
- right: 0;
1292
- bottom: 0;
1293
- left: 0;
1294
- /* TODO: set this up in the theme for consistence z-index values */
1295
- z-index: 1140;
1296
- padding-top: 16rem;
1297
-
1298
- & > * {
1299
- position: relative;
1300
- z-index: 1;
1301
- }
1302
-
1303
- &:before {
1304
- content: '';
1305
- position: fixed;
1306
- top: 0;
1307
- right: 0;
1308
- bottom: 0;
1309
- left: 0;
1310
- background: ${({ theme })=>theme.colors.neutral0};
1311
- opacity: 0.9;
1312
- }
1313
- `;
1314
- const IconBox = styledComponents.styled(designSystem.Box)`
1315
- border-radius: 50%;
1316
- display: flex;
1317
- align-items: center;
1318
- justify-content: center;
1319
- svg {
1320
- > path {
1321
- fill: ${({ theme })=>theme.colors.primary600} !important;
1322
- }
1323
- }
1324
- `;
1325
- /* -------------------------------------------------------------------------------------------------
1326
- * Hook
1327
- * -----------------------------------------------------------------------------------------------*/ const useAutoReloadOverlayBlocker = ()=>React__namespace.useContext(AutoReloadOverlayBlockerContext);
1328
-
1329
- function __variableDynamicImportRuntime1__(path) {
1330
- switch (path) {
1331
- case './translations/ar.json': return Promise.resolve().then(function () { return require('./ar-Df0f0-PT.js'); });
1332
- case './translations/cs.json': return Promise.resolve().then(function () { return require('./cs-DeTwqc7p.js'); });
1333
- case './translations/de.json': return Promise.resolve().then(function () { return require('./de-BJkS06jF.js'); });
1334
- case './translations/dk.json': return Promise.resolve().then(function () { return require('./dk-CGm-qVH7.js'); });
1335
- case './translations/en.json': return Promise.resolve().then(function () { return require('./en-BJUu34b0.js'); });
1336
- case './translations/es.json': return Promise.resolve().then(function () { return require('./es-J8kvHlNy.js'); });
1337
- case './translations/fr.json': return Promise.resolve().then(function () { return require('./fr-C6y35iY7.js'); });
1338
- case './translations/id.json': return Promise.resolve().then(function () { return require('./id-BvxV6wLP.js'); });
1339
- case './translations/it.json': return Promise.resolve().then(function () { return require('./it-C_IgFU-G.js'); });
1340
- case './translations/ja.json': return Promise.resolve().then(function () { return require('./ja-CWo4Qqq6.js'); });
1341
- case './translations/ko.json': return Promise.resolve().then(function () { return require('./ko-BsByJNEl.js'); });
1342
- case './translations/ms.json': return Promise.resolve().then(function () { return require('./ms-DPTzS7SH.js'); });
1343
- case './translations/nl.json': return Promise.resolve().then(function () { return require('./nl-db29QMOx.js'); });
1344
- case './translations/pl.json': return Promise.resolve().then(function () { return require('./pl-pYy1djj3.js'); });
1345
- case './translations/pt-BR.json': return Promise.resolve().then(function () { return require('./pt-BR-CTPuXGWF.js'); });
1346
- case './translations/pt.json': return Promise.resolve().then(function () { return require('./pt-BQmWcdeG.js'); });
1347
- case './translations/ru.json': return Promise.resolve().then(function () { return require('./ru-DQiDXgUV.js'); });
1348
- case './translations/sk.json': return Promise.resolve().then(function () { return require('./sk-DrnebmXb.js'); });
1349
- case './translations/sv.json': return Promise.resolve().then(function () { return require('./sv-CrWlNosi.js'); });
1350
- case './translations/th.json': return Promise.resolve().then(function () { return require('./th-BbrCkfgX.js'); });
1351
- case './translations/tr.json': return Promise.resolve().then(function () { return require('./tr-CHdMj8m6.js'); });
1352
- case './translations/uk.json': return Promise.resolve().then(function () { return require('./uk-felSA_eV.js'); });
1353
- case './translations/zh-Hans.json': return Promise.resolve().then(function () { return require('./zh-Hans-lXbNiMp9.js'); });
1354
- case './translations/zh.json': return Promise.resolve().then(function () { return require('./zh-CWj4avQA.js'); });
1355
- default: return new Promise(function(resolve, reject) {
1356
- (typeof queueMicrotask === 'function' ? queueMicrotask : setTimeout)(
1357
- reject.bind(null, new Error("Unknown variable dynamic import: " + path))
1358
- );
1359
- })
1360
- }
1361
- }
1362
- // eslint-disable-next-line import/no-default-export
1363
- var index = {
1364
- register (app) {
1365
- app.addReducers(reducers);
1366
- app.addMenuLink({
1367
- to: `plugins/${pluginId}`,
1368
- icon: Icons.Layout,
1369
- intlLabel: {
1370
- id: `${pluginId}.plugin.name`,
1371
- defaultMessage: 'Content-Type Builder'
1372
- },
1373
- permissions: PERMISSIONS.main,
1374
- Component: ()=>Promise.resolve().then(function () { return require('./index-BG2mUcnk.js'); }).then(function (n) { return n.index; }),
1375
- position: 5
1376
- });
1377
- app.registerPlugin({
1378
- id: pluginId,
1379
- name: pluginId,
1380
- // Internal APIs exposed by the CTB for the other plugins to use
1381
- apis: {
1382
- forms: formsAPI
1383
- }
1384
- });
1385
- },
1386
- bootstrap () {},
1387
- async registerTrads ({ locales }) {
1388
- const importedTrads = await Promise.all(locales.map((locale)=>{
1389
- return __variableDynamicImportRuntime1__(`./translations/${locale}.json`).then(({ default: data })=>{
1390
- return {
1391
- data: prefixPluginTranslations(data, pluginId),
1392
- locale
1393
- };
1394
- }).catch(()=>{
1395
- return {
1396
- data: {},
1397
- locale
1398
- };
1399
- });
1400
- }));
1401
- return Promise.resolve(importedTrads);
1402
- }
1403
- };
1404
-
1405
- exports.AutoReloadOverlayBlockerProvider = AutoReloadOverlayBlockerProvider;
1406
- exports.MAX_COMPONENT_DEPTH = MAX_COMPONENT_DEPTH;
1407
- exports.PERMISSIONS = PERMISSIONS;
1408
- exports.actions = actions;
1409
- exports.actions$1 = actions$1;
1410
- exports.createComponentUid = createComponentUid;
1411
- exports.createUid = createUid;
1412
- exports.getRelationType = getRelationType;
1413
- exports.index = index;
1414
- exports.initialState = initialState;
1415
- exports.initialState$1 = initialState$1;
1416
- exports.makeUnique = makeUnique;
1417
- exports.nameToSlug = nameToSlug;
1418
- exports.pluginId = pluginId;
1419
- exports.retrieveComponentsFromSchema = retrieveComponentsFromSchema;
1420
- exports.useAutoReloadOverlayBlocker = useAutoReloadOverlayBlocker;
1421
- //# sourceMappingURL=index-DWAINlnG.js.map