@strapi/content-type-builder 5.12.1 → 5.12.2

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