@akbarsafari00/bonyan-content-type-builder 5.52.1-fa.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 (1148) hide show
  1. package/LICENSE +37 -0
  2. package/README.md +9 -0
  3. package/dist/admin/components/AIChat/Chat.js +437 -0
  4. package/dist/admin/components/AIChat/Chat.js.map +1 -0
  5. package/dist/admin/components/AIChat/Chat.mjs +435 -0
  6. package/dist/admin/components/AIChat/Chat.mjs.map +1 -0
  7. package/dist/admin/components/AIChat/FeedbackModal.js +238 -0
  8. package/dist/admin/components/AIChat/FeedbackModal.js.map +1 -0
  9. package/dist/admin/components/AIChat/FeedbackModal.mjs +234 -0
  10. package/dist/admin/components/AIChat/FeedbackModal.mjs.map +1 -0
  11. package/dist/admin/components/AIChat/UploadCodeModal.js +427 -0
  12. package/dist/admin/components/AIChat/UploadCodeModal.js.map +1 -0
  13. package/dist/admin/components/AIChat/UploadCodeModal.mjs +423 -0
  14. package/dist/admin/components/AIChat/UploadCodeModal.mjs.map +1 -0
  15. package/dist/admin/components/AIChat/UploadFigmaModal.js +379 -0
  16. package/dist/admin/components/AIChat/UploadFigmaModal.js.map +1 -0
  17. package/dist/admin/components/AIChat/UploadFigmaModal.mjs +375 -0
  18. package/dist/admin/components/AIChat/UploadFigmaModal.mjs.map +1 -0
  19. package/dist/admin/components/AIChat/components/Alert.js +46 -0
  20. package/dist/admin/components/AIChat/components/Alert.js.map +1 -0
  21. package/dist/admin/components/AIChat/components/Alert.mjs +44 -0
  22. package/dist/admin/components/AIChat/components/Alert.mjs.map +1 -0
  23. package/dist/admin/components/AIChat/components/AnimatedBox.js +34 -0
  24. package/dist/admin/components/AIChat/components/AnimatedBox.js.map +1 -0
  25. package/dist/admin/components/AIChat/components/AnimatedBox.mjs +32 -0
  26. package/dist/admin/components/AIChat/components/AnimatedBox.mjs.map +1 -0
  27. package/dist/admin/components/AIChat/components/Attachments/AttachmentPreview.js +92 -0
  28. package/dist/admin/components/AIChat/components/Attachments/AttachmentPreview.js.map +1 -0
  29. package/dist/admin/components/AIChat/components/Attachments/AttachmentPreview.mjs +90 -0
  30. package/dist/admin/components/AIChat/components/Attachments/AttachmentPreview.mjs.map +1 -0
  31. package/dist/admin/components/AIChat/components/Attachments/components/Attachment.js +100 -0
  32. package/dist/admin/components/AIChat/components/Attachments/components/Attachment.js.map +1 -0
  33. package/dist/admin/components/AIChat/components/Attachments/components/Attachment.mjs +97 -0
  34. package/dist/admin/components/AIChat/components/Attachments/components/Attachment.mjs.map +1 -0
  35. package/dist/admin/components/AIChat/components/Base64Image.js +127 -0
  36. package/dist/admin/components/AIChat/components/Base64Image.js.map +1 -0
  37. package/dist/admin/components/AIChat/components/Base64Image.mjs +125 -0
  38. package/dist/admin/components/AIChat/components/Base64Image.mjs.map +1 -0
  39. package/dist/admin/components/AIChat/components/Collapsible.js +71 -0
  40. package/dist/admin/components/AIChat/components/Collapsible.js.map +1 -0
  41. package/dist/admin/components/AIChat/components/Collapsible.mjs +66 -0
  42. package/dist/admin/components/AIChat/components/Collapsible.mjs.map +1 -0
  43. package/dist/admin/components/AIChat/components/Dropzone.js +168 -0
  44. package/dist/admin/components/AIChat/components/Dropzone.js.map +1 -0
  45. package/dist/admin/components/AIChat/components/Dropzone.mjs +163 -0
  46. package/dist/admin/components/AIChat/components/Dropzone.mjs.map +1 -0
  47. package/dist/admin/components/AIChat/components/FloatingPanel.js +166 -0
  48. package/dist/admin/components/AIChat/components/FloatingPanel.js.map +1 -0
  49. package/dist/admin/components/AIChat/components/FloatingPanel.mjs +163 -0
  50. package/dist/admin/components/AIChat/components/FloatingPanel.mjs.map +1 -0
  51. package/dist/admin/components/AIChat/components/FullScreenImage.js +190 -0
  52. package/dist/admin/components/AIChat/components/FullScreenImage.js.map +1 -0
  53. package/dist/admin/components/AIChat/components/FullScreenImage.mjs +187 -0
  54. package/dist/admin/components/AIChat/components/FullScreenImage.mjs.map +1 -0
  55. package/dist/admin/components/AIChat/components/ImagePreview.js +87 -0
  56. package/dist/admin/components/AIChat/components/ImagePreview.js.map +1 -0
  57. package/dist/admin/components/AIChat/components/ImagePreview.mjs +85 -0
  58. package/dist/admin/components/AIChat/components/ImagePreview.mjs.map +1 -0
  59. package/dist/admin/components/AIChat/components/Input.js +122 -0
  60. package/dist/admin/components/AIChat/components/Input.js.map +1 -0
  61. package/dist/admin/components/AIChat/components/Input.mjs +118 -0
  62. package/dist/admin/components/AIChat/components/Input.mjs.map +1 -0
  63. package/dist/admin/components/AIChat/components/Messages/Marker.js +138 -0
  64. package/dist/admin/components/AIChat/components/Messages/Marker.js.map +1 -0
  65. package/dist/admin/components/AIChat/components/Messages/Marker.mjs +136 -0
  66. package/dist/admin/components/AIChat/components/Messages/Marker.mjs.map +1 -0
  67. package/dist/admin/components/AIChat/components/Messages/Message.js +229 -0
  68. package/dist/admin/components/AIChat/components/Messages/Message.js.map +1 -0
  69. package/dist/admin/components/AIChat/components/Messages/Message.mjs +223 -0
  70. package/dist/admin/components/AIChat/components/Messages/Message.mjs.map +1 -0
  71. package/dist/admin/components/AIChat/components/ResizableTextArea.js +78 -0
  72. package/dist/admin/components/AIChat/components/ResizableTextArea.js.map +1 -0
  73. package/dist/admin/components/AIChat/components/ResizableTextArea.mjs +76 -0
  74. package/dist/admin/components/AIChat/components/ResizableTextArea.mjs.map +1 -0
  75. package/dist/admin/components/AIChat/components/SimpleMenu.js +61 -0
  76. package/dist/admin/components/AIChat/components/SimpleMenu.js.map +1 -0
  77. package/dist/admin/components/AIChat/components/SimpleMenu.mjs +35 -0
  78. package/dist/admin/components/AIChat/components/SimpleMenu.mjs.map +1 -0
  79. package/dist/admin/components/AIChat/components/StepModal.js +175 -0
  80. package/dist/admin/components/AIChat/components/StepModal.js.map +1 -0
  81. package/dist/admin/components/AIChat/components/StepModal.mjs +171 -0
  82. package/dist/admin/components/AIChat/components/StepModal.mjs.map +1 -0
  83. package/dist/admin/components/AIChat/components/animations.js +67 -0
  84. package/dist/admin/components/AIChat/components/animations.js.map +1 -0
  85. package/dist/admin/components/AIChat/components/animations.mjs +65 -0
  86. package/dist/admin/components/AIChat/components/animations.mjs.map +1 -0
  87. package/dist/admin/components/AIChat/components/icons/FigmaIcon.js +50 -0
  88. package/dist/admin/components/AIChat/components/icons/FigmaIcon.js.map +1 -0
  89. package/dist/admin/components/AIChat/components/icons/FigmaIcon.mjs +48 -0
  90. package/dist/admin/components/AIChat/components/icons/FigmaIcon.mjs.map +1 -0
  91. package/dist/admin/components/AIChat/components/icons/StopIcon.js +25 -0
  92. package/dist/admin/components/AIChat/components/icons/StopIcon.js.map +1 -0
  93. package/dist/admin/components/AIChat/components/icons/StopIcon.mjs +23 -0
  94. package/dist/admin/components/AIChat/components/icons/StopIcon.mjs.map +1 -0
  95. package/dist/admin/components/AIChat/hooks/useAIFetch.js +107 -0
  96. package/dist/admin/components/AIChat/hooks/useAIFetch.js.map +1 -0
  97. package/dist/admin/components/AIChat/hooks/useAIFetch.mjs +96 -0
  98. package/dist/admin/components/AIChat/hooks/useAIFetch.mjs.map +1 -0
  99. package/dist/admin/components/AIChat/hooks/useAttachments.js +152 -0
  100. package/dist/admin/components/AIChat/hooks/useAttachments.js.map +1 -0
  101. package/dist/admin/components/AIChat/hooks/useAttachments.mjs +150 -0
  102. package/dist/admin/components/AIChat/hooks/useAttachments.mjs.map +1 -0
  103. package/dist/admin/components/AIChat/hooks/useChatTitle.js +47 -0
  104. package/dist/admin/components/AIChat/hooks/useChatTitle.js.map +1 -0
  105. package/dist/admin/components/AIChat/hooks/useChatTitle.mjs +45 -0
  106. package/dist/admin/components/AIChat/hooks/useChatTitle.mjs.map +1 -0
  107. package/dist/admin/components/AIChat/hooks/useCodeUpload.js +217 -0
  108. package/dist/admin/components/AIChat/hooks/useCodeUpload.js.map +1 -0
  109. package/dist/admin/components/AIChat/hooks/useCodeUpload.mjs +207 -0
  110. package/dist/admin/components/AIChat/hooks/useCodeUpload.mjs.map +1 -0
  111. package/dist/admin/components/AIChat/hooks/useFeedback.js +79 -0
  112. package/dist/admin/components/AIChat/hooks/useFeedback.js.map +1 -0
  113. package/dist/admin/components/AIChat/hooks/useFeedback.mjs +77 -0
  114. package/dist/admin/components/AIChat/hooks/useFeedback.mjs.map +1 -0
  115. package/dist/admin/components/AIChat/hooks/useFigmaUpload.js +206 -0
  116. package/dist/admin/components/AIChat/hooks/useFigmaUpload.js.map +1 -0
  117. package/dist/admin/components/AIChat/hooks/useFigmaUpload.mjs +200 -0
  118. package/dist/admin/components/AIChat/hooks/useFigmaUpload.mjs.map +1 -0
  119. package/dist/admin/components/AIChat/hooks/useLastSeenSchemas.js +115 -0
  120. package/dist/admin/components/AIChat/hooks/useLastSeenSchemas.js.map +1 -0
  121. package/dist/admin/components/AIChat/hooks/useLastSeenSchemas.mjs +113 -0
  122. package/dist/admin/components/AIChat/hooks/useLastSeenSchemas.mjs.map +1 -0
  123. package/dist/admin/components/AIChat/hooks/useTranslations.js +19 -0
  124. package/dist/admin/components/AIChat/hooks/useTranslations.js.map +1 -0
  125. package/dist/admin/components/AIChat/hooks/useTranslations.mjs +17 -0
  126. package/dist/admin/components/AIChat/hooks/useTranslations.mjs.map +1 -0
  127. package/dist/admin/components/AIChat/lib/aiClient.js +174 -0
  128. package/dist/admin/components/AIChat/lib/aiClient.js.map +1 -0
  129. package/dist/admin/components/AIChat/lib/aiClient.mjs +167 -0
  130. package/dist/admin/components/AIChat/lib/aiClient.mjs.map +1 -0
  131. package/dist/admin/components/AIChat/lib/constants.js +16 -0
  132. package/dist/admin/components/AIChat/lib/constants.js.map +1 -0
  133. package/dist/admin/components/AIChat/lib/constants.mjs +10 -0
  134. package/dist/admin/components/AIChat/lib/constants.mjs.map +1 -0
  135. package/dist/admin/components/AIChat/lib/misc.js +8 -0
  136. package/dist/admin/components/AIChat/lib/misc.js.map +1 -0
  137. package/dist/admin/components/AIChat/lib/misc.mjs +6 -0
  138. package/dist/admin/components/AIChat/lib/misc.mjs.map +1 -0
  139. package/dist/admin/components/AIChat/lib/transforms/schemas/fromCTB.js +46 -0
  140. package/dist/admin/components/AIChat/lib/transforms/schemas/fromCTB.js.map +1 -0
  141. package/dist/admin/components/AIChat/lib/transforms/schemas/fromCTB.mjs +44 -0
  142. package/dist/admin/components/AIChat/lib/transforms/schemas/fromCTB.mjs.map +1 -0
  143. package/dist/admin/components/AIChat/lib/transforms/schemas/toCTB.js +211 -0
  144. package/dist/admin/components/AIChat/lib/transforms/schemas/toCTB.js.map +1 -0
  145. package/dist/admin/components/AIChat/lib/transforms/schemas/toCTB.mjs +202 -0
  146. package/dist/admin/components/AIChat/lib/transforms/schemas/toCTB.mjs.map +1 -0
  147. package/dist/admin/components/AIChat/providers/ChatProvider.js +192 -0
  148. package/dist/admin/components/AIChat/providers/ChatProvider.js.map +1 -0
  149. package/dist/admin/components/AIChat/providers/ChatProvider.mjs +188 -0
  150. package/dist/admin/components/AIChat/providers/ChatProvider.mjs.map +1 -0
  151. package/dist/admin/components/AIChat/providers/SchemaProvider.js +90 -0
  152. package/dist/admin/components/AIChat/providers/SchemaProvider.js.map +1 -0
  153. package/dist/admin/components/AIChat/providers/SchemaProvider.mjs +88 -0
  154. package/dist/admin/components/AIChat/providers/SchemaProvider.mjs.map +1 -0
  155. package/dist/admin/components/AllowedTypesSelect.js +82 -0
  156. package/dist/admin/components/AllowedTypesSelect.js.map +1 -0
  157. package/dist/admin/components/AllowedTypesSelect.mjs +76 -0
  158. package/dist/admin/components/AllowedTypesSelect.mjs.map +1 -0
  159. package/dist/admin/components/ApplyConditionButton.js +34 -0
  160. package/dist/admin/components/ApplyConditionButton.js.map +1 -0
  161. package/dist/admin/components/ApplyConditionButton.mjs +32 -0
  162. package/dist/admin/components/ApplyConditionButton.mjs.map +1 -0
  163. package/dist/admin/components/AttributeIcon.js +73 -0
  164. package/dist/admin/components/AttributeIcon.js.map +1 -0
  165. package/dist/admin/components/AttributeIcon.mjs +71 -0
  166. package/dist/admin/components/AttributeIcon.mjs.map +1 -0
  167. package/dist/admin/components/AttributeOptions/AttributeList.js +32 -0
  168. package/dist/admin/components/AttributeOptions/AttributeList.js.map +1 -0
  169. package/dist/admin/components/AttributeOptions/AttributeList.mjs +30 -0
  170. package/dist/admin/components/AttributeOptions/AttributeList.mjs.map +1 -0
  171. package/dist/admin/components/AttributeOptions/AttributeOption.js +92 -0
  172. package/dist/admin/components/AttributeOptions/AttributeOption.js.map +1 -0
  173. package/dist/admin/components/AttributeOptions/AttributeOption.mjs +90 -0
  174. package/dist/admin/components/AttributeOptions/AttributeOption.mjs.map +1 -0
  175. package/dist/admin/components/AttributeOptions/AttributeOptions.js +71 -0
  176. package/dist/admin/components/AttributeOptions/AttributeOptions.js.map +1 -0
  177. package/dist/admin/components/AttributeOptions/AttributeOptions.mjs +69 -0
  178. package/dist/admin/components/AttributeOptions/AttributeOptions.mjs.map +1 -0
  179. package/dist/admin/components/AttributeOptions/CustomFieldOption.js +58 -0
  180. package/dist/admin/components/AttributeOptions/CustomFieldOption.js.map +1 -0
  181. package/dist/admin/components/AttributeOptions/CustomFieldOption.mjs +56 -0
  182. package/dist/admin/components/AttributeOptions/CustomFieldOption.mjs.map +1 -0
  183. package/dist/admin/components/AttributeOptions/CustomFieldsList.js +55 -0
  184. package/dist/admin/components/AttributeOptions/CustomFieldsList.js.map +1 -0
  185. package/dist/admin/components/AttributeOptions/CustomFieldsList.mjs +53 -0
  186. package/dist/admin/components/AttributeOptions/CustomFieldsList.mjs.map +1 -0
  187. package/dist/admin/components/AttributeOptions/EmptyAttributes.js +123 -0
  188. package/dist/admin/components/AttributeOptions/EmptyAttributes.js.map +1 -0
  189. package/dist/admin/components/AttributeOptions/EmptyAttributes.mjs +100 -0
  190. package/dist/admin/components/AttributeOptions/EmptyAttributes.mjs.map +1 -0
  191. package/dist/admin/components/AttributeOptions/OptionBoxWrapper.js +19 -0
  192. package/dist/admin/components/AttributeOptions/OptionBoxWrapper.js.map +1 -0
  193. package/dist/admin/components/AttributeOptions/OptionBoxWrapper.mjs +17 -0
  194. package/dist/admin/components/AttributeOptions/OptionBoxWrapper.mjs.map +1 -0
  195. package/dist/admin/components/AttributeRow.js +403 -0
  196. package/dist/admin/components/AttributeRow.js.map +1 -0
  197. package/dist/admin/components/AttributeRow.mjs +395 -0
  198. package/dist/admin/components/AttributeRow.mjs.map +1 -0
  199. package/dist/admin/components/AutoReloadOverlayBlocker.js +216 -0
  200. package/dist/admin/components/AutoReloadOverlayBlocker.js.map +1 -0
  201. package/dist/admin/components/AutoReloadOverlayBlocker.mjs +193 -0
  202. package/dist/admin/components/AutoReloadOverlayBlocker.mjs.map +1 -0
  203. package/dist/admin/components/BooleanDefaultValueSelect.js +55 -0
  204. package/dist/admin/components/BooleanDefaultValueSelect.js.map +1 -0
  205. package/dist/admin/components/BooleanDefaultValueSelect.mjs +53 -0
  206. package/dist/admin/components/BooleanDefaultValueSelect.mjs.map +1 -0
  207. package/dist/admin/components/BooleanRadioGroup.js +27 -0
  208. package/dist/admin/components/BooleanRadioGroup.js.map +1 -0
  209. package/dist/admin/components/BooleanRadioGroup.mjs +25 -0
  210. package/dist/admin/components/BooleanRadioGroup.mjs.map +1 -0
  211. package/dist/admin/components/CTBSession/CTBSessionProvider.js +49 -0
  212. package/dist/admin/components/CTBSession/CTBSessionProvider.js.map +1 -0
  213. package/dist/admin/components/CTBSession/CTBSessionProvider.mjs +46 -0
  214. package/dist/admin/components/CTBSession/CTBSessionProvider.mjs.map +1 -0
  215. package/dist/admin/components/CTBSession/sessionContext.js +8 -0
  216. package/dist/admin/components/CTBSession/sessionContext.js.map +1 -0
  217. package/dist/admin/components/CTBSession/sessionContext.mjs +6 -0
  218. package/dist/admin/components/CTBSession/sessionContext.mjs.map +1 -0
  219. package/dist/admin/components/CTBSession/useCTBSession.js +25 -0
  220. package/dist/admin/components/CTBSession/useCTBSession.js.map +1 -0
  221. package/dist/admin/components/CTBSession/useCTBSession.mjs +23 -0
  222. package/dist/admin/components/CTBSession/useCTBSession.mjs.map +1 -0
  223. package/dist/admin/components/CTBSession/useCTBTracking.js +37 -0
  224. package/dist/admin/components/CTBSession/useCTBTracking.js.map +1 -0
  225. package/dist/admin/components/CTBSession/useCTBTracking.mjs +35 -0
  226. package/dist/admin/components/CTBSession/useCTBTracking.mjs.map +1 -0
  227. package/dist/admin/components/CheckboxWithNumberField.js +88 -0
  228. package/dist/admin/components/CheckboxWithNumberField.js.map +1 -0
  229. package/dist/admin/components/CheckboxWithNumberField.mjs +86 -0
  230. package/dist/admin/components/CheckboxWithNumberField.mjs.map +1 -0
  231. package/dist/admin/components/ComponentCard/ComponentCard.js +118 -0
  232. package/dist/admin/components/ComponentCard/ComponentCard.js.map +1 -0
  233. package/dist/admin/components/ComponentCard/ComponentCard.mjs +112 -0
  234. package/dist/admin/components/ComponentCard/ComponentCard.mjs.map +1 -0
  235. package/dist/admin/components/ComponentCard/ComponentIcon/ComponentIcon.js +24 -0
  236. package/dist/admin/components/ComponentCard/ComponentIcon/ComponentIcon.js.map +1 -0
  237. package/dist/admin/components/ComponentCard/ComponentIcon/ComponentIcon.mjs +22 -0
  238. package/dist/admin/components/ComponentCard/ComponentIcon/ComponentIcon.mjs.map +1 -0
  239. package/dist/admin/components/ComponentList.js +31 -0
  240. package/dist/admin/components/ComponentList.js.map +1 -0
  241. package/dist/admin/components/ComponentList.mjs +25 -0
  242. package/dist/admin/components/ComponentList.mjs.map +1 -0
  243. package/dist/admin/components/ComponentRow.js +42 -0
  244. package/dist/admin/components/ComponentRow.js.map +1 -0
  245. package/dist/admin/components/ComponentRow.mjs +40 -0
  246. package/dist/admin/components/ComponentRow.mjs.map +1 -0
  247. package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.js +279 -0
  248. package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.js.map +1 -0
  249. package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.mjs +277 -0
  250. package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.mjs.map +1 -0
  251. package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.js +157 -0
  252. package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.js.map +1 -0
  253. package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.mjs +151 -0
  254. package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.mjs.map +1 -0
  255. package/dist/admin/components/ContentTypeRadioGroup.js +29 -0
  256. package/dist/admin/components/ContentTypeRadioGroup.js.map +1 -0
  257. package/dist/admin/components/ContentTypeRadioGroup.mjs +27 -0
  258. package/dist/admin/components/ContentTypeRadioGroup.mjs.map +1 -0
  259. package/dist/admin/components/CustomRadioGroup/CustomRadioGroup.js +80 -0
  260. package/dist/admin/components/CustomRadioGroup/CustomRadioGroup.js.map +1 -0
  261. package/dist/admin/components/CustomRadioGroup/CustomRadioGroup.mjs +78 -0
  262. package/dist/admin/components/CustomRadioGroup/CustomRadioGroup.mjs.map +1 -0
  263. package/dist/admin/components/CustomRadioGroup/Styles.js +75 -0
  264. package/dist/admin/components/CustomRadioGroup/Styles.js.map +1 -0
  265. package/dist/admin/components/CustomRadioGroup/Styles.mjs +73 -0
  266. package/dist/admin/components/CustomRadioGroup/Styles.mjs.map +1 -0
  267. package/dist/admin/components/DataManager/DataManagerContext.js +9 -0
  268. package/dist/admin/components/DataManager/DataManagerContext.js.map +1 -0
  269. package/dist/admin/components/DataManager/DataManagerContext.mjs +7 -0
  270. package/dist/admin/components/DataManager/DataManagerContext.mjs.map +1 -0
  271. package/dist/admin/components/DataManager/DataManagerProvider.js +411 -0
  272. package/dist/admin/components/DataManager/DataManagerProvider.js.map +1 -0
  273. package/dist/admin/components/DataManager/DataManagerProvider.mjs +384 -0
  274. package/dist/admin/components/DataManager/DataManagerProvider.mjs.map +1 -0
  275. package/dist/admin/components/DataManager/reducer.js +597 -0
  276. package/dist/admin/components/DataManager/reducer.js.map +1 -0
  277. package/dist/admin/components/DataManager/reducer.mjs +588 -0
  278. package/dist/admin/components/DataManager/reducer.mjs.map +1 -0
  279. package/dist/admin/components/DataManager/undoRedo.js +102 -0
  280. package/dist/admin/components/DataManager/undoRedo.js.map +1 -0
  281. package/dist/admin/components/DataManager/undoRedo.mjs +100 -0
  282. package/dist/admin/components/DataManager/undoRedo.mjs.map +1 -0
  283. package/dist/admin/components/DataManager/useDataManager.js +9 -0
  284. package/dist/admin/components/DataManager/useDataManager.js.map +1 -0
  285. package/dist/admin/components/DataManager/useDataManager.mjs +7 -0
  286. package/dist/admin/components/DataManager/useDataManager.mjs.map +1 -0
  287. package/dist/admin/components/DataManager/useServerRestartWatcher.js +35 -0
  288. package/dist/admin/components/DataManager/useServerRestartWatcher.js.map +1 -0
  289. package/dist/admin/components/DataManager/useServerRestartWatcher.mjs +33 -0
  290. package/dist/admin/components/DataManager/useServerRestartWatcher.mjs.map +1 -0
  291. package/dist/admin/components/DataManager/utils/cleanData.js +220 -0
  292. package/dist/admin/components/DataManager/utils/cleanData.js.map +1 -0
  293. package/dist/admin/components/DataManager/utils/cleanData.mjs +211 -0
  294. package/dist/admin/components/DataManager/utils/cleanData.mjs.map +1 -0
  295. package/dist/admin/components/DataManager/utils/retrieveComponentsThatHaveComponents.js +38 -0
  296. package/dist/admin/components/DataManager/utils/retrieveComponentsThatHaveComponents.js.map +1 -0
  297. package/dist/admin/components/DataManager/utils/retrieveComponentsThatHaveComponents.mjs +31 -0
  298. package/dist/admin/components/DataManager/utils/retrieveComponentsThatHaveComponents.mjs.map +1 -0
  299. package/dist/admin/components/DataManager/utils/retrieveNestedComponents.js +45 -0
  300. package/dist/admin/components/DataManager/utils/retrieveNestedComponents.js.map +1 -0
  301. package/dist/admin/components/DataManager/utils/retrieveNestedComponents.mjs +43 -0
  302. package/dist/admin/components/DataManager/utils/retrieveNestedComponents.mjs.map +1 -0
  303. package/dist/admin/components/DataManager/utils/retrieveSpecificInfoFromComponents.js +21 -0
  304. package/dist/admin/components/DataManager/utils/retrieveSpecificInfoFromComponents.js.map +1 -0
  305. package/dist/admin/components/DataManager/utils/retrieveSpecificInfoFromComponents.mjs +15 -0
  306. package/dist/admin/components/DataManager/utils/retrieveSpecificInfoFromComponents.mjs.map +1 -0
  307. package/dist/admin/components/DisplayedType.js +48 -0
  308. package/dist/admin/components/DisplayedType.js.map +1 -0
  309. package/dist/admin/components/DisplayedType.mjs +46 -0
  310. package/dist/admin/components/DisplayedType.mjs.map +1 -0
  311. package/dist/admin/components/DraftAndPublishToggle.js +86 -0
  312. package/dist/admin/components/DraftAndPublishToggle.js.map +1 -0
  313. package/dist/admin/components/DraftAndPublishToggle.mjs +84 -0
  314. package/dist/admin/components/DraftAndPublishToggle.mjs.map +1 -0
  315. package/dist/admin/components/DynamicZoneList.js +122 -0
  316. package/dist/admin/components/DynamicZoneList.js.map +1 -0
  317. package/dist/admin/components/DynamicZoneList.mjs +120 -0
  318. package/dist/admin/components/DynamicZoneList.mjs.map +1 -0
  319. package/dist/admin/components/ExitPrompt.js +50 -0
  320. package/dist/admin/components/ExitPrompt.js.map +1 -0
  321. package/dist/admin/components/ExitPrompt.mjs +48 -0
  322. package/dist/admin/components/ExitPrompt.mjs.map +1 -0
  323. package/dist/admin/components/Footers.js +95 -0
  324. package/dist/admin/components/Footers.js.map +1 -0
  325. package/dist/admin/components/Footers.mjs +92 -0
  326. package/dist/admin/components/Footers.mjs.map +1 -0
  327. package/dist/admin/components/FormModal/FormModal.js +1148 -0
  328. package/dist/admin/components/FormModal/FormModal.js.map +1 -0
  329. package/dist/admin/components/FormModal/FormModal.mjs +1120 -0
  330. package/dist/admin/components/FormModal/FormModal.mjs.map +1 -0
  331. package/dist/admin/components/FormModal/attributes/ConditionForm.js +454 -0
  332. package/dist/admin/components/FormModal/attributes/ConditionForm.js.map +1 -0
  333. package/dist/admin/components/FormModal/attributes/ConditionForm.mjs +433 -0
  334. package/dist/admin/components/FormModal/attributes/ConditionForm.mjs.map +1 -0
  335. package/dist/admin/components/FormModal/attributes/advancedForm.js +526 -0
  336. package/dist/admin/components/FormModal/attributes/advancedForm.js.map +1 -0
  337. package/dist/admin/components/FormModal/attributes/advancedForm.mjs +524 -0
  338. package/dist/admin/components/FormModal/attributes/advancedForm.mjs.map +1 -0
  339. package/dist/admin/components/FormModal/attributes/attributeOptions.js +97 -0
  340. package/dist/admin/components/FormModal/attributes/attributeOptions.js.map +1 -0
  341. package/dist/admin/components/FormModal/attributes/attributeOptions.mjs +95 -0
  342. package/dist/admin/components/FormModal/attributes/attributeOptions.mjs.map +1 -0
  343. package/dist/admin/components/FormModal/attributes/baseForm.js +482 -0
  344. package/dist/admin/components/FormModal/attributes/baseForm.js.map +1 -0
  345. package/dist/admin/components/FormModal/attributes/baseForm.mjs +480 -0
  346. package/dist/admin/components/FormModal/attributes/baseForm.mjs.map +1 -0
  347. package/dist/admin/components/FormModal/attributes/commonBaseForm.js +17 -0
  348. package/dist/admin/components/FormModal/attributes/commonBaseForm.js.map +1 -0
  349. package/dist/admin/components/FormModal/attributes/commonBaseForm.mjs +15 -0
  350. package/dist/admin/components/FormModal/attributes/commonBaseForm.mjs.map +1 -0
  351. package/dist/admin/components/FormModal/attributes/form.js +12 -0
  352. package/dist/admin/components/FormModal/attributes/form.js.map +1 -0
  353. package/dist/admin/components/FormModal/attributes/form.mjs +10 -0
  354. package/dist/admin/components/FormModal/attributes/form.mjs.map +1 -0
  355. package/dist/admin/components/FormModal/attributes/nameField.js +19 -0
  356. package/dist/admin/components/FormModal/attributes/nameField.js.map +1 -0
  357. package/dist/admin/components/FormModal/attributes/nameField.mjs +17 -0
  358. package/dist/admin/components/FormModal/attributes/nameField.mjs.map +1 -0
  359. package/dist/admin/components/FormModal/attributes/types.js +314 -0
  360. package/dist/admin/components/FormModal/attributes/types.js.map +1 -0
  361. package/dist/admin/components/FormModal/attributes/types.mjs +289 -0
  362. package/dist/admin/components/FormModal/attributes/types.mjs.map +1 -0
  363. package/dist/admin/components/FormModal/attributes/validation/common.js +160 -0
  364. package/dist/admin/components/FormModal/attributes/validation/common.js.map +1 -0
  365. package/dist/admin/components/FormModal/attributes/validation/common.mjs +129 -0
  366. package/dist/admin/components/FormModal/attributes/validation/common.mjs.map +1 -0
  367. package/dist/admin/components/FormModal/component/componentField.js +40 -0
  368. package/dist/admin/components/FormModal/component/componentField.js.map +1 -0
  369. package/dist/admin/components/FormModal/component/componentField.mjs +38 -0
  370. package/dist/admin/components/FormModal/component/componentField.mjs.map +1 -0
  371. package/dist/admin/components/FormModal/component/componentForm.js +53 -0
  372. package/dist/admin/components/FormModal/component/componentForm.js.map +1 -0
  373. package/dist/admin/components/FormModal/component/componentForm.mjs +51 -0
  374. package/dist/admin/components/FormModal/component/componentForm.mjs.map +1 -0
  375. package/dist/admin/components/FormModal/component/createComponentSchema.js +66 -0
  376. package/dist/admin/components/FormModal/component/createComponentSchema.js.map +1 -0
  377. package/dist/admin/components/FormModal/component/createComponentSchema.mjs +44 -0
  378. package/dist/admin/components/FormModal/component/createComponentSchema.mjs.map +1 -0
  379. package/dist/admin/components/FormModal/contentType/contentTypeForm.js +169 -0
  380. package/dist/admin/components/FormModal/contentType/contentTypeForm.js.map +1 -0
  381. package/dist/admin/components/FormModal/contentType/contentTypeForm.mjs +167 -0
  382. package/dist/admin/components/FormModal/contentType/contentTypeForm.mjs.map +1 -0
  383. package/dist/admin/components/FormModal/contentType/createContentTypeSchema.js +171 -0
  384. package/dist/admin/components/FormModal/contentType/createContentTypeSchema.js.map +1 -0
  385. package/dist/admin/components/FormModal/contentType/createContentTypeSchema.mjs +149 -0
  386. package/dist/admin/components/FormModal/contentType/createContentTypeSchema.mjs.map +1 -0
  387. package/dist/admin/components/FormModal/dynamiczoneForm.js +68 -0
  388. package/dist/admin/components/FormModal/dynamiczoneForm.js.map +1 -0
  389. package/dist/admin/components/FormModal/dynamiczoneForm.mjs +66 -0
  390. package/dist/admin/components/FormModal/dynamiczoneForm.mjs.map +1 -0
  391. package/dist/admin/components/FormModal/forms/forms.js +280 -0
  392. package/dist/admin/components/FormModal/forms/forms.js.map +1 -0
  393. package/dist/admin/components/FormModal/forms/forms.mjs +278 -0
  394. package/dist/admin/components/FormModal/forms/forms.mjs.map +1 -0
  395. package/dist/admin/components/FormModal/forms/utils/addItemsToFormSection.js +21 -0
  396. package/dist/admin/components/FormModal/forms/utils/addItemsToFormSection.js.map +1 -0
  397. package/dist/admin/components/FormModal/forms/utils/addItemsToFormSection.mjs +19 -0
  398. package/dist/admin/components/FormModal/forms/utils/addItemsToFormSection.mjs.map +1 -0
  399. package/dist/admin/components/FormModal/forms/utils/createCollectionName.js +17 -0
  400. package/dist/admin/components/FormModal/forms/utils/createCollectionName.js.map +1 -0
  401. package/dist/admin/components/FormModal/forms/utils/createCollectionName.mjs +11 -0
  402. package/dist/admin/components/FormModal/forms/utils/createCollectionName.mjs.map +1 -0
  403. package/dist/admin/components/FormModal/forms/utils/getUsedAttributeNames.js +10 -0
  404. package/dist/admin/components/FormModal/forms/utils/getUsedAttributeNames.js.map +1 -0
  405. package/dist/admin/components/FormModal/forms/utils/getUsedAttributeNames.mjs +8 -0
  406. package/dist/admin/components/FormModal/forms/utils/getUsedAttributeNames.mjs.map +1 -0
  407. package/dist/admin/components/FormModal/reducer.js +343 -0
  408. package/dist/admin/components/FormModal/reducer.js.map +1 -0
  409. package/dist/admin/components/FormModal/reducer.mjs +333 -0
  410. package/dist/admin/components/FormModal/reducer.mjs.map +1 -0
  411. package/dist/admin/components/FormModal/utils/canEditContentType.js +27 -0
  412. package/dist/admin/components/FormModal/utils/canEditContentType.js.map +1 -0
  413. package/dist/admin/components/FormModal/utils/canEditContentType.mjs +25 -0
  414. package/dist/admin/components/FormModal/utils/canEditContentType.mjs.map +1 -0
  415. package/dist/admin/components/FormModal/utils/createUid.js +16 -0
  416. package/dist/admin/components/FormModal/utils/createUid.js.map +1 -0
  417. package/dist/admin/components/FormModal/utils/createUid.mjs +13 -0
  418. package/dist/admin/components/FormModal/utils/createUid.mjs.map +1 -0
  419. package/dist/admin/components/FormModal/utils/customFieldDefaultOptionsReducer.js +18 -0
  420. package/dist/admin/components/FormModal/utils/customFieldDefaultOptionsReducer.js.map +1 -0
  421. package/dist/admin/components/FormModal/utils/customFieldDefaultOptionsReducer.mjs +16 -0
  422. package/dist/admin/components/FormModal/utils/customFieldDefaultOptionsReducer.mjs.map +1 -0
  423. package/dist/admin/components/FormModal/utils/getAttributesToDisplay.js +56 -0
  424. package/dist/admin/components/FormModal/utils/getAttributesToDisplay.js.map +1 -0
  425. package/dist/admin/components/FormModal/utils/getAttributesToDisplay.mjs +54 -0
  426. package/dist/admin/components/FormModal/utils/getAttributesToDisplay.mjs.map +1 -0
  427. package/dist/admin/components/FormModal/utils/getFormInputNames.js +17 -0
  428. package/dist/admin/components/FormModal/utils/getFormInputNames.js.map +1 -0
  429. package/dist/admin/components/FormModal/utils/getFormInputNames.mjs +15 -0
  430. package/dist/admin/components/FormModal/utils/getFormInputNames.mjs.map +1 -0
  431. package/dist/admin/components/FormModal/utils/relations.js +15 -0
  432. package/dist/admin/components/FormModal/utils/relations.js.map +1 -0
  433. package/dist/admin/components/FormModal/utils/relations.mjs +12 -0
  434. package/dist/admin/components/FormModal/utils/relations.mjs.map +1 -0
  435. package/dist/admin/components/FormModalEndActions.js +289 -0
  436. package/dist/admin/components/FormModalEndActions.js.map +1 -0
  437. package/dist/admin/components/FormModalEndActions.mjs +287 -0
  438. package/dist/admin/components/FormModalEndActions.mjs.map +1 -0
  439. package/dist/admin/components/FormModalHeader.js +138 -0
  440. package/dist/admin/components/FormModalHeader.js.map +1 -0
  441. package/dist/admin/components/FormModalHeader.mjs +132 -0
  442. package/dist/admin/components/FormModalHeader.mjs.map +1 -0
  443. package/dist/admin/components/FormModalNavigation/FormModalNavigationContext.js +29 -0
  444. package/dist/admin/components/FormModalNavigation/FormModalNavigationContext.js.map +1 -0
  445. package/dist/admin/components/FormModalNavigation/FormModalNavigationContext.mjs +7 -0
  446. package/dist/admin/components/FormModalNavigation/FormModalNavigationContext.mjs.map +1 -0
  447. package/dist/admin/components/FormModalNavigation/FormModalNavigationProvider.js +218 -0
  448. package/dist/admin/components/FormModalNavigation/FormModalNavigationProvider.js.map +1 -0
  449. package/dist/admin/components/FormModalNavigation/FormModalNavigationProvider.mjs +215 -0
  450. package/dist/admin/components/FormModalNavigation/FormModalNavigationProvider.mjs.map +1 -0
  451. package/dist/admin/components/FormModalNavigation/useFormModalNavigation.js +9 -0
  452. package/dist/admin/components/FormModalNavigation/useFormModalNavigation.js.map +1 -0
  453. package/dist/admin/components/FormModalNavigation/useFormModalNavigation.mjs +7 -0
  454. package/dist/admin/components/FormModalNavigation/useFormModalNavigation.mjs.map +1 -0
  455. package/dist/admin/components/FormModalSubHeader.js +74 -0
  456. package/dist/admin/components/FormModalSubHeader.js.map +1 -0
  457. package/dist/admin/components/FormModalSubHeader.mjs +67 -0
  458. package/dist/admin/components/FormModalSubHeader.mjs.map +1 -0
  459. package/dist/admin/components/GenericInputs.js +552 -0
  460. package/dist/admin/components/GenericInputs.js.map +1 -0
  461. package/dist/admin/components/GenericInputs.mjs +526 -0
  462. package/dist/admin/components/GenericInputs.mjs.map +1 -0
  463. package/dist/admin/components/IconPicker/IconPicker.js +201 -0
  464. package/dist/admin/components/IconPicker/IconPicker.js.map +1 -0
  465. package/dist/admin/components/IconPicker/IconPicker.mjs +199 -0
  466. package/dist/admin/components/IconPicker/IconPicker.mjs.map +1 -0
  467. package/dist/admin/components/IconPicker/constants.js +159 -0
  468. package/dist/admin/components/IconPicker/constants.js.map +1 -0
  469. package/dist/admin/components/IconPicker/constants.mjs +136 -0
  470. package/dist/admin/components/IconPicker/constants.mjs.map +1 -0
  471. package/dist/admin/components/List.js +199 -0
  472. package/dist/admin/components/List.js.map +1 -0
  473. package/dist/admin/components/List.mjs +196 -0
  474. package/dist/admin/components/List.mjs.map +1 -0
  475. package/dist/admin/components/PluralName.js +82 -0
  476. package/dist/admin/components/PluralName.js.map +1 -0
  477. package/dist/admin/components/PluralName.mjs +76 -0
  478. package/dist/admin/components/PluralName.mjs.map +1 -0
  479. package/dist/admin/components/Relation/Relation.js +48 -0
  480. package/dist/admin/components/Relation/Relation.js.map +1 -0
  481. package/dist/admin/components/Relation/Relation.mjs +46 -0
  482. package/dist/admin/components/Relation/Relation.mjs.map +1 -0
  483. package/dist/admin/components/Relation/RelationField/RelationField.js +52 -0
  484. package/dist/admin/components/Relation/RelationField/RelationField.js.map +1 -0
  485. package/dist/admin/components/Relation/RelationField/RelationField.mjs +50 -0
  486. package/dist/admin/components/Relation/RelationField/RelationField.mjs.map +1 -0
  487. package/dist/admin/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.js +75 -0
  488. package/dist/admin/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.js.map +1 -0
  489. package/dist/admin/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.mjs +73 -0
  490. package/dist/admin/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.mjs.map +1 -0
  491. package/dist/admin/components/Relation/RelationNaturePicker/Components.js +59 -0
  492. package/dist/admin/components/Relation/RelationNaturePicker/Components.js.map +1 -0
  493. package/dist/admin/components/Relation/RelationNaturePicker/Components.mjs +55 -0
  494. package/dist/admin/components/Relation/RelationNaturePicker/Components.mjs.map +1 -0
  495. package/dist/admin/components/Relation/RelationNaturePicker/RelationNaturePicker.js +153 -0
  496. package/dist/admin/components/Relation/RelationNaturePicker/RelationNaturePicker.js.map +1 -0
  497. package/dist/admin/components/Relation/RelationNaturePicker/RelationNaturePicker.mjs +145 -0
  498. package/dist/admin/components/Relation/RelationNaturePicker/RelationNaturePicker.mjs.map +1 -0
  499. package/dist/admin/components/SelectCategory.js +66 -0
  500. package/dist/admin/components/SelectCategory.js.map +1 -0
  501. package/dist/admin/components/SelectCategory.mjs +64 -0
  502. package/dist/admin/components/SelectCategory.mjs.map +1 -0
  503. package/dist/admin/components/SelectComponent.js +87 -0
  504. package/dist/admin/components/SelectComponent.js.map +1 -0
  505. package/dist/admin/components/SelectComponent.mjs +85 -0
  506. package/dist/admin/components/SelectComponent.mjs.map +1 -0
  507. package/dist/admin/components/SelectComponents.js +73 -0
  508. package/dist/admin/components/SelectComponents.js.map +1 -0
  509. package/dist/admin/components/SelectComponents.mjs +71 -0
  510. package/dist/admin/components/SelectComponents.mjs.map +1 -0
  511. package/dist/admin/components/SelectDateType.js +62 -0
  512. package/dist/admin/components/SelectDateType.js.map +1 -0
  513. package/dist/admin/components/SelectDateType.mjs +60 -0
  514. package/dist/admin/components/SelectDateType.mjs.map +1 -0
  515. package/dist/admin/components/SelectNumber.js +107 -0
  516. package/dist/admin/components/SelectNumber.js.map +1 -0
  517. package/dist/admin/components/SelectNumber.mjs +105 -0
  518. package/dist/admin/components/SelectNumber.mjs.map +1 -0
  519. package/dist/admin/components/SingularName.js +72 -0
  520. package/dist/admin/components/SingularName.js.map +1 -0
  521. package/dist/admin/components/SingularName.mjs +70 -0
  522. package/dist/admin/components/SingularName.mjs.map +1 -0
  523. package/dist/admin/components/Status.js +73 -0
  524. package/dist/admin/components/Status.js.map +1 -0
  525. package/dist/admin/components/Status.mjs +70 -0
  526. package/dist/admin/components/Status.mjs.map +1 -0
  527. package/dist/admin/components/TabForm.js +176 -0
  528. package/dist/admin/components/TabForm.js.map +1 -0
  529. package/dist/admin/components/TabForm.mjs +170 -0
  530. package/dist/admin/components/TabForm.mjs.map +1 -0
  531. package/dist/admin/components/TextareaEnum.js +58 -0
  532. package/dist/admin/components/TextareaEnum.js.map +1 -0
  533. package/dist/admin/components/TextareaEnum.mjs +56 -0
  534. package/dist/admin/components/TextareaEnum.mjs.map +1 -0
  535. package/dist/admin/constants.js +19 -0
  536. package/dist/admin/constants.js.map +1 -0
  537. package/dist/admin/constants.mjs +16 -0
  538. package/dist/admin/constants.mjs.map +1 -0
  539. package/dist/admin/icons/Curve.js +47 -0
  540. package/dist/admin/icons/Curve.js.map +1 -0
  541. package/dist/admin/icons/Curve.mjs +45 -0
  542. package/dist/admin/icons/Curve.mjs.map +1 -0
  543. package/dist/admin/index.js +95 -0
  544. package/dist/admin/index.js.map +1 -0
  545. package/dist/admin/index.mjs +87 -0
  546. package/dist/admin/index.mjs.map +1 -0
  547. package/dist/admin/pages/App/index.js +114 -0
  548. package/dist/admin/pages/App/index.js.map +1 -0
  549. package/dist/admin/pages/App/index.mjs +110 -0
  550. package/dist/admin/pages/App/index.mjs.map +1 -0
  551. package/dist/admin/pages/ListView/EmptyState.js +110 -0
  552. package/dist/admin/pages/ListView/EmptyState.js.map +1 -0
  553. package/dist/admin/pages/ListView/EmptyState.mjs +108 -0
  554. package/dist/admin/pages/ListView/EmptyState.mjs.map +1 -0
  555. package/dist/admin/pages/ListView/LinkToCMSettingsView.js +90 -0
  556. package/dist/admin/pages/ListView/LinkToCMSettingsView.js.map +1 -0
  557. package/dist/admin/pages/ListView/LinkToCMSettingsView.mjs +88 -0
  558. package/dist/admin/pages/ListView/LinkToCMSettingsView.mjs.map +1 -0
  559. package/dist/admin/pages/ListView/ListView.js +181 -0
  560. package/dist/admin/pages/ListView/ListView.js.map +1 -0
  561. package/dist/admin/pages/ListView/ListView.mjs +175 -0
  562. package/dist/admin/pages/ListView/ListView.mjs.map +1 -0
  563. package/dist/admin/pluginId.js +6 -0
  564. package/dist/admin/pluginId.js.map +1 -0
  565. package/dist/admin/pluginId.mjs +4 -0
  566. package/dist/admin/pluginId.mjs.map +1 -0
  567. package/dist/admin/reducers.js +12 -0
  568. package/dist/admin/reducers.js.map +1 -0
  569. package/dist/admin/reducers.mjs +10 -0
  570. package/dist/admin/reducers.mjs.map +1 -0
  571. package/dist/admin/src/components/AIChat/Chat.d.ts +2 -0
  572. package/dist/admin/src/components/AIChat/FeedbackModal.d.ts +13 -0
  573. package/dist/admin/src/components/AIChat/UploadCodeModal.d.ts +12 -0
  574. package/dist/admin/src/components/AIChat/UploadFigmaModal.d.ts +12 -0
  575. package/dist/admin/src/components/AIChat/components/Alert.d.ts +6 -0
  576. package/dist/admin/src/components/AIChat/components/AnimatedBox.d.ts +20 -0
  577. package/dist/admin/src/components/AIChat/components/Attachments/AttachmentPreview.d.ts +9 -0
  578. package/dist/admin/src/components/AIChat/components/Attachments/components/Attachment.d.ts +27 -0
  579. package/dist/admin/src/components/AIChat/components/Base64Image.d.ts +9 -0
  580. package/dist/admin/src/components/AIChat/components/Collapsible.d.ts +18 -0
  581. package/dist/admin/src/components/AIChat/components/Dropzone.d.ts +34 -0
  582. package/dist/admin/src/components/AIChat/components/FloatingPanel.d.ts +33 -0
  583. package/dist/admin/src/components/AIChat/components/FullScreenImage.d.ts +20 -0
  584. package/dist/admin/src/components/AIChat/components/ImagePreview.d.ts +8 -0
  585. package/dist/admin/src/components/AIChat/components/ImagePreviewGroup.d.ts +7 -0
  586. package/dist/admin/src/components/AIChat/components/Input.d.ts +48 -0
  587. package/dist/admin/src/components/AIChat/components/Messages/Marker.d.ts +2 -0
  588. package/dist/admin/src/components/AIChat/components/Messages/Message.d.ts +4 -0
  589. package/dist/admin/src/components/AIChat/components/ResizableTextArea.d.ts +8 -0
  590. package/dist/admin/src/components/AIChat/components/SimpleMenu.d.ts +32 -0
  591. package/dist/admin/src/components/AIChat/components/StepModal.d.ts +37 -0
  592. package/dist/admin/src/components/AIChat/components/animations.d.ts +8 -0
  593. package/dist/admin/src/components/AIChat/components/icons/FigmaIcon.d.ts +4 -0
  594. package/dist/admin/src/components/AIChat/components/icons/StopIcon.d.ts +4 -0
  595. package/dist/admin/src/components/AIChat/hooks/useAIFetch.d.ts +147 -0
  596. package/dist/admin/src/components/AIChat/hooks/useAttachments.d.ts +8 -0
  597. package/dist/admin/src/components/AIChat/hooks/useChatTitle.d.ts +13 -0
  598. package/dist/admin/src/components/AIChat/hooks/useCodeUpload.d.ts +31 -0
  599. package/dist/admin/src/components/AIChat/hooks/useFeedback.d.ts +7 -0
  600. package/dist/admin/src/components/AIChat/hooks/useFigmaUpload.d.ts +61 -0
  601. package/dist/admin/src/components/AIChat/hooks/useLastSeenSchemas.d.ts +10 -0
  602. package/dist/admin/src/components/AIChat/hooks/useTranslations.d.ts +3 -0
  603. package/dist/admin/src/components/AIChat/lib/aiClient.d.ts +32 -0
  604. package/dist/admin/src/components/AIChat/lib/constants.d.ts +12 -0
  605. package/dist/admin/src/components/AIChat/lib/fileToAttachment.d.ts +2 -0
  606. package/dist/admin/src/components/AIChat/lib/misc.d.ts +1 -0
  607. package/dist/admin/src/components/AIChat/lib/transforms/schemas/fromCTB.d.ts +7 -0
  608. package/dist/admin/src/components/AIChat/lib/transforms/schemas/toCTB.d.ts +16 -0
  609. package/dist/admin/src/components/AIChat/lib/types/annotations.d.ts +19 -0
  610. package/dist/admin/src/components/AIChat/lib/types/attachments.d.ts +15 -0
  611. package/dist/admin/src/components/AIChat/lib/types/feedback.d.ts +1 -0
  612. package/dist/admin/src/components/AIChat/lib/types/messages.d.ts +26 -0
  613. package/dist/admin/src/components/AIChat/lib/types/schema.d.ts +22 -0
  614. package/dist/admin/src/components/AIChat/providers/ChatProvider.d.ts +30 -0
  615. package/dist/admin/src/components/AIChat/providers/SchemaProvider.d.ts +10 -0
  616. package/dist/admin/src/components/AllowedTypesSelect.d.ts +9 -0
  617. package/dist/admin/src/components/ApplyConditionButton.d.ts +8 -0
  618. package/dist/admin/src/components/AttributeIcon.d.ts +9 -0
  619. package/dist/admin/src/components/AttributeOptions/AttributeList.d.ts +6 -0
  620. package/dist/admin/src/components/AttributeOptions/AttributeOption.d.ts +11 -0
  621. package/dist/admin/src/components/AttributeOptions/AttributeOptions.d.ts +13 -0
  622. package/dist/admin/src/components/AttributeOptions/CustomFieldOption.d.ts +22 -0
  623. package/dist/admin/src/components/AttributeOptions/CustomFieldsList.d.ts +1 -0
  624. package/dist/admin/src/components/AttributeOptions/EmptyAttributes.d.ts +2 -0
  625. package/dist/admin/src/components/AttributeOptions/OptionBoxWrapper.d.ts +13 -0
  626. package/dist/admin/src/components/AttributeRow.d.ts +32 -0
  627. package/dist/admin/src/components/AutoReloadOverlayBlocker.d.ts +25 -0
  628. package/dist/admin/src/components/BooleanDefaultValueSelect.d.ts +20 -0
  629. package/dist/admin/src/components/BooleanRadioGroup.d.ts +8 -0
  630. package/dist/admin/src/components/CTBSession/CTBSessionProvider.d.ts +26 -0
  631. package/dist/admin/src/components/CTBSession/ctbSession.d.ts +5 -0
  632. package/dist/admin/src/components/CTBSession/sessionContext.d.ts +24 -0
  633. package/dist/admin/src/components/CTBSession/useCTBSession.d.ts +12 -0
  634. package/dist/admin/src/components/CTBSession/useCTBTracking.d.ts +13 -0
  635. package/dist/admin/src/components/CheckboxWithNumberField.d.ts +13 -0
  636. package/dist/admin/src/components/ComponentCard/ComponentCard.d.ts +14 -0
  637. package/dist/admin/src/components/ComponentCard/ComponentIcon/ComponentIcon.d.ts +7 -0
  638. package/dist/admin/src/components/ComponentCard/ComponentIcon/index.d.ts +1 -0
  639. package/dist/admin/src/components/ComponentCard/index.d.ts +1 -0
  640. package/dist/admin/src/components/ComponentList.d.ts +8 -0
  641. package/dist/admin/src/components/ComponentRow.d.ts +19 -0
  642. package/dist/admin/src/components/ContentTypeBuilderNav/ContentTypeBuilderNav.d.ts +1 -0
  643. package/dist/admin/src/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.d.ts +36 -0
  644. package/dist/admin/src/components/ContentTypeRadioGroup.d.ts +16 -0
  645. package/dist/admin/src/components/CustomRadioGroup/CustomRadioGroup.d.ts +16 -0
  646. package/dist/admin/src/components/CustomRadioGroup/Styles.d.ts +6 -0
  647. package/dist/admin/src/components/CustomRadioGroup/index.d.ts +1 -0
  648. package/dist/admin/src/components/DataManager/DataManagerContext.d.ts +139 -0
  649. package/dist/admin/src/components/DataManager/DataManagerProvider.d.ts +6 -0
  650. package/dist/admin/src/components/DataManager/reducer.d.ts +282 -0
  651. package/dist/admin/src/components/DataManager/undoRedo.d.ts +23 -0
  652. package/dist/admin/src/components/DataManager/useDataManager.d.ts +1 -0
  653. package/dist/admin/src/components/DataManager/useServerRestartWatcher.d.ts +1 -0
  654. package/dist/admin/src/components/DataManager/utils/cleanData.d.ts +333 -0
  655. package/dist/admin/src/components/DataManager/utils/formatSchemas.d.ts +9 -0
  656. package/dist/admin/src/components/DataManager/utils/retrieveComponentsThatHaveComponents.d.ts +12 -0
  657. package/dist/admin/src/components/DataManager/utils/retrieveNestedComponents.d.ts +8 -0
  658. package/dist/admin/src/components/DataManager/utils/retrieveSpecificInfoFromComponents.d.ts +2 -0
  659. package/dist/admin/src/components/DisplayedType.d.ts +8 -0
  660. package/dist/admin/src/components/DraftAndPublishToggle.d.ts +22 -0
  661. package/dist/admin/src/components/DynamicZoneList.d.ts +13 -0
  662. package/dist/admin/src/components/ExitPrompt.d.ts +1 -0
  663. package/dist/admin/src/components/Footers.d.ts +13 -0
  664. package/dist/admin/src/components/FormModal/FormModal.d.ts +1 -0
  665. package/dist/admin/src/components/FormModal/attributes/ConditionForm.d.ts +24 -0
  666. package/dist/admin/src/components/FormModal/attributes/advancedForm.d.ts +696 -0
  667. package/dist/admin/src/components/FormModal/attributes/attributeOptions.d.ts +90 -0
  668. package/dist/admin/src/components/FormModal/attributes/baseForm.d.ts +376 -0
  669. package/dist/admin/src/components/FormModal/attributes/commonBaseForm.d.ts +17 -0
  670. package/dist/admin/src/components/FormModal/attributes/form.d.ts +1072 -0
  671. package/dist/admin/src/components/FormModal/attributes/nameField.d.ts +12 -0
  672. package/dist/admin/src/components/FormModal/attributes/types.d.ts +327 -0
  673. package/dist/admin/src/components/FormModal/attributes/validation/common.d.ts +42 -0
  674. package/dist/admin/src/components/FormModal/component/componentField.d.ts +20 -0
  675. package/dist/admin/src/components/FormModal/component/componentForm.d.ts +25 -0
  676. package/dist/admin/src/components/FormModal/component/createComponentSchema.d.ts +10 -0
  677. package/dist/admin/src/components/FormModal/contentType/contentTypeForm.d.ts +116 -0
  678. package/dist/admin/src/components/FormModal/contentType/createContentTypeSchema.d.ts +22 -0
  679. package/dist/admin/src/components/FormModal/dynamiczoneForm.d.ts +68 -0
  680. package/dist/admin/src/components/FormModal/forms/forms.d.ts +204 -0
  681. package/dist/admin/src/components/FormModal/forms/utils/addItemsToFormSection.d.ts +38 -0
  682. package/dist/admin/src/components/FormModal/forms/utils/createCollectionName.d.ts +2 -0
  683. package/dist/admin/src/components/FormModal/forms/utils/getUsedAttributeNames.d.ts +22 -0
  684. package/dist/admin/src/components/FormModal/reducer.d.ts +188 -0
  685. package/dist/admin/src/components/FormModal/utils/canEditContentType.d.ts +18 -0
  686. package/dist/admin/src/components/FormModal/utils/createUid.d.ts +4 -0
  687. package/dist/admin/src/components/FormModal/utils/customFieldDefaultOptionsReducer.d.ts +11 -0
  688. package/dist/admin/src/components/FormModal/utils/getAttributesToDisplay.d.ts +4 -0
  689. package/dist/admin/src/components/FormModal/utils/getFormInputNames.d.ts +8 -0
  690. package/dist/admin/src/components/FormModal/utils/relations.d.ts +4 -0
  691. package/dist/admin/src/components/FormModalEndActions.d.ts +38 -0
  692. package/dist/admin/src/components/FormModalHeader.d.ts +18 -0
  693. package/dist/admin/src/components/FormModalNavigation/FormModalNavigationContext.d.ts +19 -0
  694. package/dist/admin/src/components/FormModalNavigation/FormModalNavigationProvider.d.ts +69 -0
  695. package/dist/admin/src/components/FormModalNavigation/useFormModalNavigation.d.ts +1 -0
  696. package/dist/admin/src/components/FormModalSubHeader.d.ts +22 -0
  697. package/dist/admin/src/components/GenericInputs.d.ts +90 -0
  698. package/dist/admin/src/components/IconPicker/IconPicker.d.ts +8 -0
  699. package/dist/admin/src/components/IconPicker/constants.d.ts +5 -0
  700. package/dist/admin/src/components/IconPicker/index.d.ts +1 -0
  701. package/dist/admin/src/components/List.d.ts +26 -0
  702. package/dist/admin/src/components/PluralName.d.ts +14 -0
  703. package/dist/admin/src/components/Relation/Relation.d.ts +19 -0
  704. package/dist/admin/src/components/Relation/RelationField/RelationField.d.ts +15 -0
  705. package/dist/admin/src/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.d.ts +7 -0
  706. package/dist/admin/src/components/Relation/RelationNaturePicker/Components.d.ts +37 -0
  707. package/dist/admin/src/components/Relation/RelationNaturePicker/RelationNaturePicker.d.ts +9 -0
  708. package/dist/admin/src/components/SelectCategory.d.ts +12 -0
  709. package/dist/admin/src/components/SelectComponent.d.ts +21 -0
  710. package/dist/admin/src/components/SelectComponents.d.ts +21 -0
  711. package/dist/admin/src/components/SelectDateType.d.ts +38 -0
  712. package/dist/admin/src/components/SelectNumber.d.ts +36 -0
  713. package/dist/admin/src/components/SingularName.d.ts +14 -0
  714. package/dist/admin/src/components/Status.d.ts +6 -0
  715. package/dist/admin/src/components/TabForm.d.ts +40 -0
  716. package/dist/admin/src/components/TextareaEnum.d.ts +20 -0
  717. package/dist/admin/src/constants.d.ts +7 -0
  718. package/dist/admin/src/exports.d.ts +15 -0
  719. package/dist/admin/src/icons/Curve.d.ts +6 -0
  720. package/dist/admin/src/index.d.ts +18 -0
  721. package/dist/admin/src/pages/App/index.d.ts +2 -0
  722. package/dist/admin/src/pages/ListView/EmptyState.d.ts +1 -0
  723. package/dist/admin/src/pages/ListView/LinkToCMSettingsView.d.ts +7 -0
  724. package/dist/admin/src/pages/ListView/ListView.d.ts +2 -0
  725. package/dist/admin/src/pluginId.d.ts +1 -0
  726. package/dist/admin/src/reducers.d.ts +4 -0
  727. package/dist/admin/src/types.d.ts +63 -0
  728. package/dist/admin/src/utils/conditions.d.ts +26 -0
  729. package/dist/admin/src/utils/findAttribute.d.ts +2 -0
  730. package/dist/admin/src/utils/formAPI.d.ts +48 -0
  731. package/dist/admin/src/utils/getAttributeDisplayedType.d.ts +1 -0
  732. package/dist/admin/src/utils/getMaxDepth.d.ts +23 -0
  733. package/dist/admin/src/utils/getRelationType.d.ts +6 -0
  734. package/dist/admin/src/utils/getTrad.d.ts +1 -0
  735. package/dist/admin/src/utils/getYupInnerErrors.d.ts +7 -0
  736. package/dist/admin/src/utils/index.d.ts +2 -0
  737. package/dist/admin/src/utils/isAllowedContentTypesForRelations.d.ts +2 -0
  738. package/dist/admin/src/utils/makeUnique.d.ts +2 -0
  739. package/dist/admin/src/utils/nameToSlug.d.ts +1 -0
  740. package/dist/admin/src/utils/parseDateValue.d.ts +1 -0
  741. package/dist/admin/src/utils/parseNumberInputValue.d.ts +1 -0
  742. package/dist/admin/src/utils/prefixPluginTranslations.d.ts +3 -0
  743. package/dist/admin/src/utils/startsWithANumber.d.ts +1 -0
  744. package/dist/admin/src/utils/timeFormat.d.ts +16 -0
  745. package/dist/admin/src/utils/toRegressedEnumValue.d.ts +1 -0
  746. package/dist/admin/translations/ar.json.js +239 -0
  747. package/dist/admin/translations/ar.json.js.map +1 -0
  748. package/dist/admin/translations/ar.json.mjs +233 -0
  749. package/dist/admin/translations/ar.json.mjs.map +1 -0
  750. package/dist/admin/translations/cs.json.js +298 -0
  751. package/dist/admin/translations/cs.json.js.map +1 -0
  752. package/dist/admin/translations/cs.json.mjs +292 -0
  753. package/dist/admin/translations/cs.json.mjs.map +1 -0
  754. package/dist/admin/translations/da.json.js +185 -0
  755. package/dist/admin/translations/da.json.js.map +1 -0
  756. package/dist/admin/translations/da.json.mjs +179 -0
  757. package/dist/admin/translations/da.json.mjs.map +1 -0
  758. package/dist/admin/translations/de.json.js +298 -0
  759. package/dist/admin/translations/de.json.js.map +1 -0
  760. package/dist/admin/translations/de.json.mjs +292 -0
  761. package/dist/admin/translations/de.json.mjs.map +1 -0
  762. package/dist/admin/translations/en.json.js +300 -0
  763. package/dist/admin/translations/en.json.js.map +1 -0
  764. package/dist/admin/translations/en.json.mjs +294 -0
  765. package/dist/admin/translations/en.json.mjs.map +1 -0
  766. package/dist/admin/translations/es.json.js +240 -0
  767. package/dist/admin/translations/es.json.js.map +1 -0
  768. package/dist/admin/translations/es.json.mjs +234 -0
  769. package/dist/admin/translations/es.json.mjs.map +1 -0
  770. package/dist/admin/translations/fa.json.js +300 -0
  771. package/dist/admin/translations/fa.json.js.map +1 -0
  772. package/dist/admin/translations/fa.json.mjs +294 -0
  773. package/dist/admin/translations/fa.json.mjs.map +1 -0
  774. package/dist/admin/translations/fr.json.js +244 -0
  775. package/dist/admin/translations/fr.json.js.map +1 -0
  776. package/dist/admin/translations/fr.json.mjs +238 -0
  777. package/dist/admin/translations/fr.json.mjs.map +1 -0
  778. package/dist/admin/translations/id.json.js +239 -0
  779. package/dist/admin/translations/id.json.js.map +1 -0
  780. package/dist/admin/translations/id.json.mjs +233 -0
  781. package/dist/admin/translations/id.json.mjs.map +1 -0
  782. package/dist/admin/translations/it.json.js +239 -0
  783. package/dist/admin/translations/it.json.js.map +1 -0
  784. package/dist/admin/translations/it.json.mjs +233 -0
  785. package/dist/admin/translations/it.json.mjs.map +1 -0
  786. package/dist/admin/translations/ja.json.js +298 -0
  787. package/dist/admin/translations/ja.json.js.map +1 -0
  788. package/dist/admin/translations/ja.json.mjs +292 -0
  789. package/dist/admin/translations/ja.json.mjs.map +1 -0
  790. package/dist/admin/translations/ko.json.js +302 -0
  791. package/dist/admin/translations/ko.json.js.map +1 -0
  792. package/dist/admin/translations/ko.json.mjs +296 -0
  793. package/dist/admin/translations/ko.json.mjs.map +1 -0
  794. package/dist/admin/translations/ms.json.js +239 -0
  795. package/dist/admin/translations/ms.json.js.map +1 -0
  796. package/dist/admin/translations/ms.json.mjs +233 -0
  797. package/dist/admin/translations/ms.json.mjs.map +1 -0
  798. package/dist/admin/translations/nl.json.js +301 -0
  799. package/dist/admin/translations/nl.json.js.map +1 -0
  800. package/dist/admin/translations/nl.json.mjs +295 -0
  801. package/dist/admin/translations/nl.json.mjs.map +1 -0
  802. package/dist/admin/translations/pl.json.js +298 -0
  803. package/dist/admin/translations/pl.json.js.map +1 -0
  804. package/dist/admin/translations/pl.json.mjs +292 -0
  805. package/dist/admin/translations/pl.json.mjs.map +1 -0
  806. package/dist/admin/translations/pt-BR.json.js +239 -0
  807. package/dist/admin/translations/pt-BR.json.js.map +1 -0
  808. package/dist/admin/translations/pt-BR.json.mjs +233 -0
  809. package/dist/admin/translations/pt-BR.json.mjs.map +1 -0
  810. package/dist/admin/translations/pt.json.js +239 -0
  811. package/dist/admin/translations/pt.json.js.map +1 -0
  812. package/dist/admin/translations/pt.json.mjs +233 -0
  813. package/dist/admin/translations/pt.json.mjs.map +1 -0
  814. package/dist/admin/translations/ru.json.js +240 -0
  815. package/dist/admin/translations/ru.json.js.map +1 -0
  816. package/dist/admin/translations/ru.json.mjs +234 -0
  817. package/dist/admin/translations/ru.json.mjs.map +1 -0
  818. package/dist/admin/translations/sk.json.js +298 -0
  819. package/dist/admin/translations/sk.json.js.map +1 -0
  820. package/dist/admin/translations/sk.json.mjs +292 -0
  821. package/dist/admin/translations/sk.json.mjs.map +1 -0
  822. package/dist/admin/translations/sv.json.js +224 -0
  823. package/dist/admin/translations/sv.json.js.map +1 -0
  824. package/dist/admin/translations/sv.json.mjs +218 -0
  825. package/dist/admin/translations/sv.json.mjs.map +1 -0
  826. package/dist/admin/translations/th.json.js +187 -0
  827. package/dist/admin/translations/th.json.js.map +1 -0
  828. package/dist/admin/translations/th.json.mjs +181 -0
  829. package/dist/admin/translations/th.json.mjs.map +1 -0
  830. package/dist/admin/translations/tr.json.js +201 -0
  831. package/dist/admin/translations/tr.json.js.map +1 -0
  832. package/dist/admin/translations/tr.json.mjs +195 -0
  833. package/dist/admin/translations/tr.json.mjs.map +1 -0
  834. package/dist/admin/translations/uk.json.js +238 -0
  835. package/dist/admin/translations/uk.json.js.map +1 -0
  836. package/dist/admin/translations/uk.json.mjs +232 -0
  837. package/dist/admin/translations/uk.json.mjs.map +1 -0
  838. package/dist/admin/translations/zh-Hans.json.js +239 -0
  839. package/dist/admin/translations/zh-Hans.json.js.map +1 -0
  840. package/dist/admin/translations/zh-Hans.json.mjs +233 -0
  841. package/dist/admin/translations/zh-Hans.json.mjs.map +1 -0
  842. package/dist/admin/translations/zh.json.js +224 -0
  843. package/dist/admin/translations/zh.json.js.map +1 -0
  844. package/dist/admin/translations/zh.json.mjs +218 -0
  845. package/dist/admin/translations/zh.json.mjs.map +1 -0
  846. package/dist/admin/utils/conditions.js +71 -0
  847. package/dist/admin/utils/conditions.js.map +1 -0
  848. package/dist/admin/utils/conditions.mjs +66 -0
  849. package/dist/admin/utils/conditions.mjs.map +1 -0
  850. package/dist/admin/utils/findAttribute.js +8 -0
  851. package/dist/admin/utils/findAttribute.js.map +1 -0
  852. package/dist/admin/utils/findAttribute.mjs +6 -0
  853. package/dist/admin/utils/findAttribute.mjs.map +1 -0
  854. package/dist/admin/utils/formAPI.js +141 -0
  855. package/dist/admin/utils/formAPI.js.map +1 -0
  856. package/dist/admin/utils/formAPI.mjs +115 -0
  857. package/dist/admin/utils/formAPI.mjs.map +1 -0
  858. package/dist/admin/utils/getAttributeDisplayedType.js +32 -0
  859. package/dist/admin/utils/getAttributeDisplayedType.js.map +1 -0
  860. package/dist/admin/utils/getAttributeDisplayedType.mjs +30 -0
  861. package/dist/admin/utils/getAttributeDisplayedType.mjs.map +1 -0
  862. package/dist/admin/utils/getMaxDepth.js +74 -0
  863. package/dist/admin/utils/getMaxDepth.js.map +1 -0
  864. package/dist/admin/utils/getMaxDepth.mjs +71 -0
  865. package/dist/admin/utils/getMaxDepth.mjs.map +1 -0
  866. package/dist/admin/utils/getRelationType.js +21 -0
  867. package/dist/admin/utils/getRelationType.js.map +1 -0
  868. package/dist/admin/utils/getRelationType.mjs +19 -0
  869. package/dist/admin/utils/getRelationType.mjs.map +1 -0
  870. package/dist/admin/utils/getTrad.js +8 -0
  871. package/dist/admin/utils/getTrad.js.map +1 -0
  872. package/dist/admin/utils/getTrad.mjs +6 -0
  873. package/dist/admin/utils/getTrad.mjs.map +1 -0
  874. package/dist/admin/utils/getYupInnerErrors.js +25 -0
  875. package/dist/admin/utils/getYupInnerErrors.js.map +1 -0
  876. package/dist/admin/utils/getYupInnerErrors.mjs +23 -0
  877. package/dist/admin/utils/getYupInnerErrors.mjs.map +1 -0
  878. package/dist/admin/utils/isAllowedContentTypesForRelations.js +8 -0
  879. package/dist/admin/utils/isAllowedContentTypesForRelations.js.map +1 -0
  880. package/dist/admin/utils/isAllowedContentTypesForRelations.mjs +6 -0
  881. package/dist/admin/utils/isAllowedContentTypesForRelations.mjs.map +1 -0
  882. package/dist/admin/utils/makeUnique.js +8 -0
  883. package/dist/admin/utils/makeUnique.js.map +1 -0
  884. package/dist/admin/utils/makeUnique.mjs +6 -0
  885. package/dist/admin/utils/makeUnique.mjs.map +1 -0
  886. package/dist/admin/utils/nameToSlug.js +14 -0
  887. package/dist/admin/utils/nameToSlug.js.map +1 -0
  888. package/dist/admin/utils/nameToSlug.mjs +8 -0
  889. package/dist/admin/utils/nameToSlug.mjs.map +1 -0
  890. package/dist/admin/utils/parseDateValue.js +17 -0
  891. package/dist/admin/utils/parseDateValue.js.map +1 -0
  892. package/dist/admin/utils/parseDateValue.mjs +15 -0
  893. package/dist/admin/utils/parseDateValue.mjs.map +1 -0
  894. package/dist/admin/utils/parseNumberInputValue.js +15 -0
  895. package/dist/admin/utils/parseNumberInputValue.js.map +1 -0
  896. package/dist/admin/utils/parseNumberInputValue.mjs +13 -0
  897. package/dist/admin/utils/parseNumberInputValue.mjs.map +1 -0
  898. package/dist/admin/utils/prefixPluginTranslations.js +11 -0
  899. package/dist/admin/utils/prefixPluginTranslations.js.map +1 -0
  900. package/dist/admin/utils/prefixPluginTranslations.mjs +9 -0
  901. package/dist/admin/utils/prefixPluginTranslations.mjs.map +1 -0
  902. package/dist/admin/utils/timeFormat.js +38 -0
  903. package/dist/admin/utils/timeFormat.js.map +1 -0
  904. package/dist/admin/utils/timeFormat.mjs +35 -0
  905. package/dist/admin/utils/timeFormat.mjs.map +1 -0
  906. package/dist/admin/utils/toRegressedEnumValue.js +21 -0
  907. package/dist/admin/utils/toRegressedEnumValue.js.map +1 -0
  908. package/dist/admin/utils/toRegressedEnumValue.mjs +15 -0
  909. package/dist/admin/utils/toRegressedEnumValue.mjs.map +1 -0
  910. package/dist/server/bootstrap.js +16 -0
  911. package/dist/server/bootstrap.js.map +1 -0
  912. package/dist/server/bootstrap.mjs +14 -0
  913. package/dist/server/bootstrap.mjs.map +1 -0
  914. package/dist/server/config.js +9 -0
  915. package/dist/server/config.js.map +1 -0
  916. package/dist/server/config.mjs +7 -0
  917. package/dist/server/config.mjs.map +1 -0
  918. package/dist/server/controllers/builder.js +12 -0
  919. package/dist/server/controllers/builder.js.map +1 -0
  920. package/dist/server/controllers/builder.mjs +10 -0
  921. package/dist/server/controllers/builder.mjs.map +1 -0
  922. package/dist/server/controllers/component-categories.js +38 -0
  923. package/dist/server/controllers/component-categories.js.map +1 -0
  924. package/dist/server/controllers/component-categories.mjs +36 -0
  925. package/dist/server/controllers/component-categories.mjs.map +1 -0
  926. package/dist/server/controllers/components.js +148 -0
  927. package/dist/server/controllers/components.js.map +1 -0
  928. package/dist/server/controllers/components.mjs +142 -0
  929. package/dist/server/controllers/components.mjs.map +1 -0
  930. package/dist/server/controllers/content-types.js +165 -0
  931. package/dist/server/controllers/content-types.js.map +1 -0
  932. package/dist/server/controllers/content-types.mjs +159 -0
  933. package/dist/server/controllers/content-types.mjs.map +1 -0
  934. package/dist/server/controllers/index.js +18 -0
  935. package/dist/server/controllers/index.js.map +1 -0
  936. package/dist/server/controllers/index.mjs +16 -0
  937. package/dist/server/controllers/index.mjs.map +1 -0
  938. package/dist/server/controllers/schema.js +56 -0
  939. package/dist/server/controllers/schema.js.map +1 -0
  940. package/dist/server/controllers/schema.mjs +54 -0
  941. package/dist/server/controllers/schema.mjs.map +1 -0
  942. package/dist/server/controllers/validation/common.js +102 -0
  943. package/dist/server/controllers/validation/common.js.map +1 -0
  944. package/dist/server/controllers/validation/common.mjs +81 -0
  945. package/dist/server/controllers/validation/common.mjs.map +1 -0
  946. package/dist/server/controllers/validation/component-category.js +12 -0
  947. package/dist/server/controllers/validation/component-category.js.map +1 -0
  948. package/dist/server/controllers/validation/component-category.mjs +10 -0
  949. package/dist/server/controllers/validation/component-category.mjs.map +1 -0
  950. package/dist/server/controllers/validation/component.js +72 -0
  951. package/dist/server/controllers/validation/component.js.map +1 -0
  952. package/dist/server/controllers/validation/component.mjs +60 -0
  953. package/dist/server/controllers/validation/component.mjs.map +1 -0
  954. package/dist/server/controllers/validation/content-type.js +153 -0
  955. package/dist/server/controllers/validation/content-type.js.map +1 -0
  956. package/dist/server/controllers/validation/content-type.mjs +149 -0
  957. package/dist/server/controllers/validation/content-type.mjs.map +1 -0
  958. package/dist/server/controllers/validation/data-transform.js +31 -0
  959. package/dist/server/controllers/validation/data-transform.js.map +1 -0
  960. package/dist/server/controllers/validation/data-transform.mjs +24 -0
  961. package/dist/server/controllers/validation/data-transform.mjs.map +1 -0
  962. package/dist/server/controllers/validation/model-schema.js +94 -0
  963. package/dist/server/controllers/validation/model-schema.js.map +1 -0
  964. package/dist/server/controllers/validation/model-schema.mjs +88 -0
  965. package/dist/server/controllers/validation/model-schema.mjs.map +1 -0
  966. package/dist/server/controllers/validation/relations.js +71 -0
  967. package/dist/server/controllers/validation/relations.js.map +1 -0
  968. package/dist/server/controllers/validation/relations.mjs +69 -0
  969. package/dist/server/controllers/validation/relations.mjs.map +1 -0
  970. package/dist/server/controllers/validation/schema.js +666 -0
  971. package/dist/server/controllers/validation/schema.js.map +1 -0
  972. package/dist/server/controllers/validation/schema.mjs +661 -0
  973. package/dist/server/controllers/validation/schema.mjs.map +1 -0
  974. package/dist/server/controllers/validation/types.js +236 -0
  975. package/dist/server/controllers/validation/types.js.map +1 -0
  976. package/dist/server/controllers/validation/types.mjs +230 -0
  977. package/dist/server/controllers/validation/types.mjs.map +1 -0
  978. package/dist/server/index.js +24 -0
  979. package/dist/server/index.js.map +1 -0
  980. package/dist/server/index.mjs +22 -0
  981. package/dist/server/index.mjs.map +1 -0
  982. package/dist/server/middlewares/index.js +8 -0
  983. package/dist/server/middlewares/index.js.map +1 -0
  984. package/dist/server/middlewares/index.mjs +2 -0
  985. package/dist/server/middlewares/index.mjs.map +1 -0
  986. package/dist/server/middlewares/is-development-mode.js +19 -0
  987. package/dist/server/middlewares/is-development-mode.js.map +1 -0
  988. package/dist/server/middlewares/is-development-mode.mjs +17 -0
  989. package/dist/server/middlewares/is-development-mode.mjs.map +1 -0
  990. package/dist/server/register.js +38 -0
  991. package/dist/server/register.js.map +1 -0
  992. package/dist/server/register.mjs +36 -0
  993. package/dist/server/register.mjs.map +1 -0
  994. package/dist/server/routes/admin.js +311 -0
  995. package/dist/server/routes/admin.js.map +1 -0
  996. package/dist/server/routes/admin.mjs +309 -0
  997. package/dist/server/routes/admin.mjs.map +1 -0
  998. package/dist/server/routes/content-api.js +195 -0
  999. package/dist/server/routes/content-api.js.map +1 -0
  1000. package/dist/server/routes/content-api.mjs +173 -0
  1001. package/dist/server/routes/content-api.mjs.map +1 -0
  1002. package/dist/server/routes/index.js +12 -0
  1003. package/dist/server/routes/index.js.map +1 -0
  1004. package/dist/server/routes/index.mjs +10 -0
  1005. package/dist/server/routes/index.mjs.map +1 -0
  1006. package/dist/server/services/api-handler.js +118 -0
  1007. package/dist/server/services/api-handler.js.map +1 -0
  1008. package/dist/server/services/api-handler.mjs +93 -0
  1009. package/dist/server/services/api-handler.mjs.map +1 -0
  1010. package/dist/server/services/builder.js +27 -0
  1011. package/dist/server/services/builder.js.map +1 -0
  1012. package/dist/server/services/builder.mjs +21 -0
  1013. package/dist/server/services/builder.mjs.map +1 -0
  1014. package/dist/server/services/component-categories.js +59 -0
  1015. package/dist/server/services/component-categories.js.map +1 -0
  1016. package/dist/server/services/component-categories.mjs +56 -0
  1017. package/dist/server/services/component-categories.mjs.map +1 -0
  1018. package/dist/server/services/components.js +79 -0
  1019. package/dist/server/services/components.js.map +1 -0
  1020. package/dist/server/services/components.mjs +74 -0
  1021. package/dist/server/services/components.mjs.map +1 -0
  1022. package/dist/server/services/constants.js +52 -0
  1023. package/dist/server/services/constants.js.map +1 -0
  1024. package/dist/server/services/constants.mjs +45 -0
  1025. package/dist/server/services/constants.mjs.map +1 -0
  1026. package/dist/server/services/content-types.js +227 -0
  1027. package/dist/server/services/content-types.js.map +1 -0
  1028. package/dist/server/services/content-types.mjs +213 -0
  1029. package/dist/server/services/content-types.mjs.map +1 -0
  1030. package/dist/server/services/index.js +20 -0
  1031. package/dist/server/services/index.js.map +1 -0
  1032. package/dist/server/services/index.mjs +18 -0
  1033. package/dist/server/services/index.mjs.map +1 -0
  1034. package/dist/server/services/schema-builder/component-builder.js +130 -0
  1035. package/dist/server/services/schema-builder/component-builder.js.map +1 -0
  1036. package/dist/server/services/schema-builder/component-builder.mjs +122 -0
  1037. package/dist/server/services/schema-builder/component-builder.mjs.map +1 -0
  1038. package/dist/server/services/schema-builder/content-type-builder.js +332 -0
  1039. package/dist/server/services/schema-builder/content-type-builder.js.map +1 -0
  1040. package/dist/server/services/schema-builder/content-type-builder.mjs +325 -0
  1041. package/dist/server/services/schema-builder/content-type-builder.mjs.map +1 -0
  1042. package/dist/server/services/schema-builder/index.js +155 -0
  1043. package/dist/server/services/schema-builder/index.js.map +1 -0
  1044. package/dist/server/services/schema-builder/index.mjs +149 -0
  1045. package/dist/server/services/schema-builder/index.mjs.map +1 -0
  1046. package/dist/server/services/schema-builder/schema-handler.js +256 -0
  1047. package/dist/server/services/schema-builder/schema-handler.js.map +1 -0
  1048. package/dist/server/services/schema-builder/schema-handler.mjs +248 -0
  1049. package/dist/server/services/schema-builder/schema-handler.mjs.map +1 -0
  1050. package/dist/server/services/schema.js +252 -0
  1051. package/dist/server/services/schema.js.map +1 -0
  1052. package/dist/server/services/schema.mjs +248 -0
  1053. package/dist/server/services/schema.mjs.map +1 -0
  1054. package/dist/server/src/bootstrap.d.ts +6 -0
  1055. package/dist/server/src/bootstrap.d.ts.map +1 -0
  1056. package/dist/server/src/config.d.ts +6 -0
  1057. package/dist/server/src/config.d.ts.map +1 -0
  1058. package/dist/server/src/controllers/builder.d.ts +6 -0
  1059. package/dist/server/src/controllers/builder.d.ts.map +1 -0
  1060. package/dist/server/src/controllers/component-categories.d.ts +7 -0
  1061. package/dist/server/src/controllers/component-categories.d.ts.map +1 -0
  1062. package/dist/server/src/controllers/components.d.ts +38 -0
  1063. package/dist/server/src/controllers/components.d.ts.map +1 -0
  1064. package/dist/server/src/controllers/content-types.d.ts +10 -0
  1065. package/dist/server/src/controllers/content-types.d.ts.map +1 -0
  1066. package/dist/server/src/controllers/index.d.ts +30 -0
  1067. package/dist/server/src/controllers/index.d.ts.map +1 -0
  1068. package/dist/server/src/controllers/schema.d.ts +8 -0
  1069. package/dist/server/src/controllers/schema.d.ts.map +1 -0
  1070. package/dist/server/src/controllers/validation/common.d.ts +26 -0
  1071. package/dist/server/src/controllers/validation/common.d.ts.map +1 -0
  1072. package/dist/server/src/controllers/validation/component-category.d.ts +5 -0
  1073. package/dist/server/src/controllers/validation/component-category.d.ts.map +1 -0
  1074. package/dist/server/src/controllers/validation/component.d.ts +25 -0
  1075. package/dist/server/src/controllers/validation/component.d.ts.map +1 -0
  1076. package/dist/server/src/controllers/validation/content-type.d.ts +38 -0
  1077. package/dist/server/src/controllers/validation/content-type.d.ts.map +1 -0
  1078. package/dist/server/src/controllers/validation/data-transform.d.ts +4 -0
  1079. package/dist/server/src/controllers/validation/data-transform.d.ts.map +1 -0
  1080. package/dist/server/src/controllers/validation/model-schema.d.ts +12 -0
  1081. package/dist/server/src/controllers/validation/model-schema.d.ts.map +1 -0
  1082. package/dist/server/src/controllers/validation/relations.d.ts +18 -0
  1083. package/dist/server/src/controllers/validation/relations.d.ts.map +1 -0
  1084. package/dist/server/src/controllers/validation/schema.d.ts +109632 -0
  1085. package/dist/server/src/controllers/validation/schema.d.ts.map +1 -0
  1086. package/dist/server/src/controllers/validation/types.d.ts +9 -0
  1087. package/dist/server/src/controllers/validation/types.d.ts.map +1 -0
  1088. package/dist/server/src/index.d.ts +89 -0
  1089. package/dist/server/src/index.d.ts.map +1 -0
  1090. package/dist/server/src/middlewares/index.d.ts +3 -0
  1091. package/dist/server/src/middlewares/index.d.ts.map +1 -0
  1092. package/dist/server/src/middlewares/is-development-mode.d.ts +9 -0
  1093. package/dist/server/src/middlewares/is-development-mode.d.ts.map +1 -0
  1094. package/dist/server/src/register.d.ts +6 -0
  1095. package/dist/server/src/register.d.ts.map +1 -0
  1096. package/dist/server/src/routes/admin.d.ts +32 -0
  1097. package/dist/server/src/routes/admin.d.ts.map +1 -0
  1098. package/dist/server/src/routes/content-api.d.ts +7 -0
  1099. package/dist/server/src/routes/content-api.d.ts.map +1 -0
  1100. package/dist/server/src/routes/index.d.ts +38 -0
  1101. package/dist/server/src/routes/index.d.ts.map +1 -0
  1102. package/dist/server/src/services/api-handler.d.ts +15 -0
  1103. package/dist/server/src/services/api-handler.d.ts.map +1 -0
  1104. package/dist/server/src/services/builder.d.ts +16 -0
  1105. package/dist/server/src/services/builder.d.ts.map +1 -0
  1106. package/dist/server/src/services/component-categories.d.ts +13 -0
  1107. package/dist/server/src/services/component-categories.d.ts.map +1 -0
  1108. package/dist/server/src/services/components.d.ts +31 -0
  1109. package/dist/server/src/services/components.d.ts.map +1 -0
  1110. package/dist/server/src/services/constants.d.ts +18 -0
  1111. package/dist/server/src/services/constants.d.ts.map +1 -0
  1112. package/dist/server/src/services/content-types.d.ts +60 -0
  1113. package/dist/server/src/services/content-types.d.ts.map +1 -0
  1114. package/dist/server/src/services/index.d.ts +16 -0
  1115. package/dist/server/src/services/index.d.ts.map +1 -0
  1116. package/dist/server/src/services/schema-builder/component-builder.d.ts +40 -0
  1117. package/dist/server/src/services/schema-builder/component-builder.d.ts.map +1 -0
  1118. package/dist/server/src/services/schema-builder/content-type-builder.d.ts +43 -0
  1119. package/dist/server/src/services/schema-builder/content-type-builder.d.ts.map +1 -0
  1120. package/dist/server/src/services/schema-builder/index.d.ts +85 -0
  1121. package/dist/server/src/services/schema-builder/index.d.ts.map +1 -0
  1122. package/dist/server/src/services/schema-builder/schema-handler.d.ts +37 -0
  1123. package/dist/server/src/services/schema-builder/schema-handler.d.ts.map +1 -0
  1124. package/dist/server/src/services/schema-builder/types.d.ts +24 -0
  1125. package/dist/server/src/services/schema-builder/types.d.ts.map +1 -0
  1126. package/dist/server/src/services/schema.d.ts +4064 -0
  1127. package/dist/server/src/services/schema.d.ts.map +1 -0
  1128. package/dist/server/src/utils/attributes.d.ts +672 -0
  1129. package/dist/server/src/utils/attributes.d.ts.map +1 -0
  1130. package/dist/server/src/utils/helpers.d.ts +3 -0
  1131. package/dist/server/src/utils/helpers.d.ts.map +1 -0
  1132. package/dist/server/src/utils/index.d.ts +17 -0
  1133. package/dist/server/src/utils/index.d.ts.map +1 -0
  1134. package/dist/server/src/utils/typeguards.d.ts +3 -0
  1135. package/dist/server/src/utils/typeguards.d.ts.map +1 -0
  1136. package/dist/server/utils/attributes.js +96 -0
  1137. package/dist/server/utils/attributes.js.map +1 -0
  1138. package/dist/server/utils/attributes.mjs +86 -0
  1139. package/dist/server/utils/attributes.mjs.map +1 -0
  1140. package/dist/server/utils/index.js +8 -0
  1141. package/dist/server/utils/index.js.map +1 -0
  1142. package/dist/server/utils/index.mjs +6 -0
  1143. package/dist/server/utils/index.mjs.map +1 -0
  1144. package/dist/server/utils/typeguards.js +8 -0
  1145. package/dist/server/utils/typeguards.js.map +1 -0
  1146. package/dist/server/utils/typeguards.mjs +6 -0
  1147. package/dist/server/utils/typeguards.mjs.map +1 -0
  1148. package/package.json +101 -0
@@ -0,0 +1,325 @@
1
+ import path__default from 'path';
2
+ import _ from 'lodash';
3
+ import { errors, strings } from '@strapi/utils';
4
+ import { isConfigurable, isRelation } from '../../utils/attributes.mjs';
5
+ import { typeKinds } from '../constants.mjs';
6
+ import createSchemaHandler from './schema-handler.mjs';
7
+
8
+ const { ApplicationError } = errors;
9
+ const reuseUnsetPreviousProperties = (newAttribute, oldAttribute)=>{
10
+ _.defaults(newAttribute, _.omit(oldAttribute, [
11
+ 'configurable',
12
+ 'required',
13
+ 'private',
14
+ 'unique',
15
+ 'pluginOptions',
16
+ 'inversedBy',
17
+ 'mappedBy',
18
+ 'conditions'
19
+ ]));
20
+ };
21
+ function createComponentBuilder() {
22
+ return {
23
+ setRelation ({ key, uid, attribute }) {
24
+ if (!_.has(attribute, 'target')) {
25
+ return;
26
+ }
27
+ const targetCT = this.contentTypes.get(attribute.target);
28
+ if (!targetCT) {
29
+ throw new ApplicationError(`Content type ${attribute.target} not found`);
30
+ }
31
+ const targetAttribute = targetCT.getAttribute(attribute.targetAttribute);
32
+ if (!attribute.targetAttribute) {
33
+ return;
34
+ }
35
+ // When generating the inverse relation, preserve existing conditions if they exist
36
+ // If the target attribute already exists and has conditions, preserve them
37
+ const targetAttributeData = targetAttribute || {};
38
+ // If the source doesn't have conditions but the target does, preserve target's conditions
39
+ targetCT.setAttribute(attribute.targetAttribute, generateRelation({
40
+ key,
41
+ attribute,
42
+ uid,
43
+ targetAttribute: targetAttributeData
44
+ }));
45
+ },
46
+ unsetRelation (attribute) {
47
+ if (!('target' in attribute) || !attribute.target) {
48
+ return;
49
+ }
50
+ const targetCT = this.contentTypes.get(attribute.target);
51
+ const relationAttribute = attribute;
52
+ const targetAttributeName = relationAttribute.inversedBy || relationAttribute.mappedBy;
53
+ const targetAttribute = targetCT.getAttribute(targetAttributeName);
54
+ if (!targetAttribute) return;
55
+ return targetCT.deleteAttribute(targetAttributeName);
56
+ },
57
+ createContentTypeAttributes (uid, attributes) {
58
+ if (!this.contentTypes.has(uid)) {
59
+ throw new ApplicationError('contentType.notFound');
60
+ }
61
+ const contentType = this.contentTypes.get(uid);
62
+ // support self referencing content type relation
63
+ Object.keys(attributes).forEach((key)=>{
64
+ const { target } = attributes[key];
65
+ if (target === '__self__') {
66
+ attributes[key].target = uid;
67
+ }
68
+ });
69
+ contentType.setAttributes(this.convertAttributes(attributes));
70
+ Object.keys(attributes).forEach((key)=>{
71
+ const attribute = attributes[key];
72
+ if (isRelation(attribute)) {
73
+ const relationAttribute = attribute;
74
+ if ([
75
+ 'manyToMany',
76
+ 'oneToOne'
77
+ ].includes(relationAttribute.relation)) {
78
+ if (relationAttribute.target === uid && relationAttribute.targetAttribute !== undefined) {
79
+ // self referencing relation
80
+ const targetAttribute = attributes[relationAttribute.targetAttribute];
81
+ if (targetAttribute.dominant === undefined) {
82
+ relationAttribute.dominant = true;
83
+ } else {
84
+ relationAttribute.dominant = false;
85
+ }
86
+ } else {
87
+ relationAttribute.dominant = true;
88
+ }
89
+ }
90
+ this.setRelation({
91
+ key,
92
+ uid,
93
+ attribute: relationAttribute
94
+ });
95
+ }
96
+ });
97
+ return contentType;
98
+ },
99
+ /**
100
+ * Creates a content type in memory to be written to files later on
101
+ */ createContentType (infos) {
102
+ // TODO:: check for unique uid / singularName & pluralName & collectionName
103
+ if (infos.uid && infos.uid !== createContentTypeUID(infos)) {
104
+ throw new ApplicationError('contentType.invalidUID');
105
+ }
106
+ const uid = infos.uid ?? createContentTypeUID(infos);
107
+ if (this.contentTypes.has(uid)) {
108
+ throw new ApplicationError('contentType.alreadyExists');
109
+ }
110
+ const dir = infos.plugin ? path__default.join(strapi.dirs.app.extensions, infos.plugin, 'content-types', infos.singularName) : path__default.join(strapi.dirs.app.api, infos.singularName, 'content-types', infos.singularName);
111
+ const contentType = createSchemaHandler({
112
+ modelName: infos.singularName,
113
+ dir,
114
+ filename: `schema.json`
115
+ });
116
+ this.contentTypes.set(uid, contentType);
117
+ contentType.setUID(uid).set('kind', infos.kind || typeKinds.COLLECTION_TYPE).set('collectionName', infos.collectionName || strings.nameToCollectionName(infos.pluralName)).set('info', {
118
+ singularName: infos.singularName,
119
+ pluralName: infos.pluralName,
120
+ displayName: infos.displayName,
121
+ description: infos.description
122
+ }).set('options', {
123
+ ...infos.options,
124
+ draftAndPublish: infos.draftAndPublish
125
+ }).set('pluginOptions', infos.pluginOptions).set('config', infos.config);
126
+ this.createContentTypeAttributes(uid, infos.attributes);
127
+ return contentType;
128
+ },
129
+ editContentType (infos) {
130
+ const { uid } = infos;
131
+ if (!this.contentTypes.has(uid)) {
132
+ throw new ApplicationError('contentType.notFound');
133
+ }
134
+ const contentType = this.contentTypes.get(uid);
135
+ const oldAttributes = contentType.schema.attributes;
136
+ const newAttributes = _.omitBy(infos.attributes, (attr, key)=>{
137
+ return _.has(oldAttributes, key) && !isConfigurable(oldAttributes[key]);
138
+ });
139
+ const newKeys = _.difference(Object.keys(newAttributes), Object.keys(oldAttributes));
140
+ const deletedKeys = _.difference(Object.keys(oldAttributes), Object.keys(newAttributes));
141
+ const remainingKeys = _.intersection(Object.keys(oldAttributes), Object.keys(newAttributes));
142
+ // remove old relations
143
+ deletedKeys.forEach((key)=>{
144
+ const attribute = oldAttributes[key];
145
+ // if the old relation has a target attribute. we need to remove it in the target type
146
+ if (isConfigurable(attribute) && isRelation(attribute)) {
147
+ const relationAttribute = attribute;
148
+ const targetAttributeName = relationAttribute.inversedBy || relationAttribute.mappedBy;
149
+ if (targetAttributeName !== null && targetAttributeName !== undefined) {
150
+ this.unsetRelation(attribute);
151
+ }
152
+ }
153
+ });
154
+ remainingKeys.forEach((key)=>{
155
+ const oldAttribute = oldAttributes[key];
156
+ const newAttribute = newAttributes[key];
157
+ if (!isRelation(oldAttribute) && isRelation(newAttribute)) {
158
+ return this.setRelation({
159
+ key,
160
+ uid,
161
+ attribute: newAttribute
162
+ });
163
+ }
164
+ if (isRelation(oldAttribute) && !isRelation(newAttribute)) {
165
+ return this.unsetRelation(oldAttribute);
166
+ }
167
+ if (isRelation(oldAttribute) && isRelation(newAttribute)) {
168
+ const relationAttribute = newAttribute;
169
+ const oldRelationAttribute = oldAttribute;
170
+ const oldTargetAttributeName = oldRelationAttribute.inversedBy || oldRelationAttribute.mappedBy;
171
+ const sameRelation = oldAttribute.relation === relationAttribute.relation;
172
+ const targetAttributeHasChanged = oldTargetAttributeName !== relationAttribute.targetAttribute;
173
+ if (!sameRelation || targetAttributeHasChanged) {
174
+ this.unsetRelation(oldAttribute);
175
+ }
176
+ // keep extra options that were set manually on oldAttribute
177
+ reuseUnsetPreviousProperties(relationAttribute, oldAttribute);
178
+ // Handle conditions explicitly - only preserve if present and not undefined in new attribute
179
+ const newAttributeFromInfos = newAttributes[key];
180
+ const hasNewConditions = newAttributeFromInfos.conditions !== undefined && newAttributeFromInfos.conditions !== null;
181
+ if (oldAttribute.conditions) {
182
+ if (hasNewConditions) {
183
+ // Conditions are still present, keep them
184
+ relationAttribute.conditions = newAttributeFromInfos.conditions;
185
+ } else {
186
+ // Conditions were removed (undefined or null), ensure they're not preserved
187
+ delete relationAttribute.conditions;
188
+ }
189
+ } else if (hasNewConditions) {
190
+ // New conditions added
191
+ relationAttribute.conditions = newAttributeFromInfos.conditions;
192
+ }
193
+ if (oldRelationAttribute.inversedBy) {
194
+ relationAttribute.dominant = true;
195
+ } else if (oldRelationAttribute.mappedBy) {
196
+ relationAttribute.dominant = false;
197
+ }
198
+ return this.setRelation({
199
+ key,
200
+ uid,
201
+ attribute: relationAttribute
202
+ });
203
+ }
204
+ });
205
+ // add new relations
206
+ newKeys.forEach((key)=>{
207
+ const attribute = newAttributes[key];
208
+ if (isRelation(attribute)) {
209
+ const relationAttribute = attribute;
210
+ if ([
211
+ 'manyToMany',
212
+ 'oneToOne'
213
+ ].includes(relationAttribute.relation)) {
214
+ if (relationAttribute.target === uid && relationAttribute.targetAttribute !== undefined) {
215
+ // self referencing relation
216
+ const targetAttribute = newAttributes[relationAttribute.targetAttribute];
217
+ if (targetAttribute.dominant === undefined) {
218
+ relationAttribute.dominant = true;
219
+ } else {
220
+ relationAttribute.dominant = false;
221
+ }
222
+ } else {
223
+ relationAttribute.dominant = true;
224
+ }
225
+ }
226
+ this.setRelation({
227
+ key,
228
+ uid,
229
+ attribute: relationAttribute
230
+ });
231
+ }
232
+ });
233
+ contentType.set('kind', infos.kind || contentType.schema.kind).set([
234
+ 'info',
235
+ 'displayName'
236
+ ], infos.displayName).set([
237
+ 'info',
238
+ 'description'
239
+ ], infos.description).set('options', {
240
+ ...infos.options,
241
+ draftAndPublish: infos.draftAndPublish
242
+ }).set('pluginOptions', infos.pluginOptions).setAttributes(this.convertAttributes(newAttributes));
243
+ return contentType;
244
+ },
245
+ deleteContentType (uid) {
246
+ if (!this.contentTypes.has(uid)) {
247
+ throw new ApplicationError('contentType.notFound');
248
+ }
249
+ this.components.forEach((compo)=>{
250
+ compo.removeContentType(uid);
251
+ });
252
+ this.contentTypes.forEach((ct)=>{
253
+ ct.removeContentType(uid);
254
+ });
255
+ return this.contentTypes.get(uid).delete();
256
+ }
257
+ };
258
+ }
259
+ /**
260
+ * Returns a uid from a content type infos
261
+ *
262
+ * @param {object} options options
263
+ * @param {string} options.singularName content-type singularName
264
+ * @returns {string} uid
265
+ */ const createContentTypeUID = ({ plugin, singularName })=>`${plugin ? `plugin` : `api`}::${plugin || singularName}.${singularName}`;
266
+ const generateRelation = ({ key, attribute, uid, targetAttribute = {} })=>{
267
+ const opts = {
268
+ type: 'relation',
269
+ target: uid,
270
+ required: targetAttribute.required || undefined,
271
+ private: targetAttribute.private || undefined,
272
+ pluginOptions: targetAttribute.pluginOptions || undefined,
273
+ // Preserve conditions from targetAttribute if they exist
274
+ // This allows each side of the relation to maintain its own conditions
275
+ ...targetAttribute.conditions && {
276
+ conditions: targetAttribute.conditions
277
+ }
278
+ };
279
+ switch(attribute.relation){
280
+ case 'oneToOne':
281
+ {
282
+ opts.relation = 'oneToOne';
283
+ if (attribute.dominant) {
284
+ opts.mappedBy = key;
285
+ } else {
286
+ opts.inversedBy = key;
287
+ }
288
+ break;
289
+ }
290
+ case 'oneToMany':
291
+ {
292
+ opts.relation = 'manyToOne';
293
+ opts.inversedBy = key;
294
+ break;
295
+ }
296
+ case 'manyToOne':
297
+ {
298
+ opts.relation = 'oneToMany';
299
+ opts.mappedBy = key;
300
+ break;
301
+ }
302
+ case 'manyToMany':
303
+ {
304
+ opts.relation = 'manyToMany';
305
+ if (attribute.dominant) {
306
+ opts.mappedBy = key;
307
+ } else {
308
+ opts.inversedBy = key;
309
+ }
310
+ break;
311
+ }
312
+ }
313
+ // we do this just to make sure we have the same key order when writing to files
314
+ const { type, relation, target, ...restOptions } = opts;
315
+ const result = {
316
+ type,
317
+ relation,
318
+ target,
319
+ ...restOptions
320
+ };
321
+ return result;
322
+ };
323
+
324
+ export { createComponentBuilder as default };
325
+ //# sourceMappingURL=content-type-builder.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-type-builder.mjs","sources":["../../../../server/src/services/schema-builder/content-type-builder.ts"],"sourcesContent":["import path from 'path';\r\nimport _ from 'lodash';\r\n\r\nimport { strings, errors } from '@strapi/utils';\r\nimport type { Schema, Internal } from '@strapi/types';\r\nimport { isRelation, isConfigurable } from '../../utils/attributes';\r\nimport { typeKinds } from '../constants';\r\nimport createSchemaHandler from './schema-handler';\r\nimport { CreateContentTypeInput } from '../../controllers/validation/content-type';\r\nimport type { InternalRelationAttribute, InternalAttribute } from './types';\r\n\r\nconst { ApplicationError } = errors;\r\n\r\nconst reuseUnsetPreviousProperties = (\r\n newAttribute: Schema.Attribute.AnyAttribute,\r\n oldAttribute: Schema.Attribute.AnyAttribute\r\n) => {\r\n _.defaults(\r\n newAttribute,\r\n _.omit(oldAttribute, [\r\n 'configurable',\r\n 'required',\r\n 'private',\r\n 'unique',\r\n 'pluginOptions',\r\n 'inversedBy',\r\n 'mappedBy',\r\n 'conditions', // Don't automatically preserve conditions\r\n ])\r\n );\r\n};\r\n\r\nexport default function createComponentBuilder() {\r\n return {\r\n setRelation(\r\n this: any,\r\n { key, uid, attribute }: { key: string; uid: string; attribute: InternalRelationAttribute }\r\n ) {\r\n if (!_.has(attribute, 'target')) {\r\n return;\r\n }\r\n\r\n const targetCT = this.contentTypes.get(attribute.target);\r\n\r\n if (!targetCT) {\r\n throw new ApplicationError(`Content type ${attribute.target} not found`);\r\n }\r\n\r\n const targetAttribute = targetCT.getAttribute(attribute.targetAttribute);\r\n\r\n if (!attribute.targetAttribute) {\r\n return;\r\n }\r\n\r\n // When generating the inverse relation, preserve existing conditions if they exist\r\n // If the target attribute already exists and has conditions, preserve them\r\n const targetAttributeData = targetAttribute || {};\r\n\r\n // If the source doesn't have conditions but the target does, preserve target's conditions\r\n\r\n targetCT.setAttribute(\r\n attribute.targetAttribute,\r\n generateRelation({ key, attribute, uid, targetAttribute: targetAttributeData })\r\n );\r\n },\r\n\r\n unsetRelation(\r\n this: any,\r\n attribute: Schema.Attribute.Relation<Schema.Attribute.RelationKind.Any>\r\n ) {\r\n if (!('target' in attribute) || !attribute.target) {\r\n return;\r\n }\r\n\r\n const targetCT = this.contentTypes.get(attribute.target);\r\n\r\n const relationAttribute = attribute as InternalRelationAttribute;\r\n const targetAttributeName = relationAttribute.inversedBy || relationAttribute.mappedBy;\r\n const targetAttribute = targetCT.getAttribute(targetAttributeName);\r\n\r\n if (!targetAttribute) return;\r\n\r\n return targetCT.deleteAttribute(targetAttributeName);\r\n },\r\n\r\n createContentTypeAttributes(\r\n this: any,\r\n uid: string,\r\n attributes: CreateContentTypeInput['attributes']\r\n ) {\r\n if (!this.contentTypes.has(uid)) {\r\n throw new ApplicationError('contentType.notFound');\r\n }\r\n\r\n const contentType = this.contentTypes.get(uid);\r\n\r\n // support self referencing content type relation\r\n Object.keys(attributes).forEach((key) => {\r\n const { target } = attributes[key];\r\n if (target === '__self__') {\r\n attributes[key].target = uid;\r\n }\r\n });\r\n\r\n contentType.setAttributes(this.convertAttributes(attributes));\r\n\r\n Object.keys(attributes).forEach((key) => {\r\n const attribute = attributes[key] as InternalAttribute;\r\n\r\n if (isRelation(attribute)) {\r\n const relationAttribute = attribute as InternalRelationAttribute;\r\n if (['manyToMany', 'oneToOne'].includes(relationAttribute.relation)) {\r\n if (\r\n relationAttribute.target === uid &&\r\n relationAttribute.targetAttribute !== undefined\r\n ) {\r\n // self referencing relation\r\n const targetAttribute = attributes[\r\n relationAttribute.targetAttribute\r\n ] as InternalRelationAttribute;\r\n\r\n if (targetAttribute.dominant === undefined) {\r\n relationAttribute.dominant = true;\r\n } else {\r\n relationAttribute.dominant = false;\r\n }\r\n } else {\r\n relationAttribute.dominant = true;\r\n }\r\n }\r\n\r\n this.setRelation({\r\n key,\r\n uid,\r\n attribute: relationAttribute,\r\n });\r\n }\r\n });\r\n\r\n return contentType;\r\n },\r\n\r\n /**\r\n * Creates a content type in memory to be written to files later on\r\n */\r\n createContentType(this: any, infos: CreateContentTypeInput) {\r\n // TODO:: check for unique uid / singularName & pluralName & collectionName\r\n\r\n if (infos.uid && infos.uid !== createContentTypeUID(infos)) {\r\n throw new ApplicationError('contentType.invalidUID');\r\n }\r\n\r\n const uid = infos.uid ?? createContentTypeUID(infos);\r\n\r\n if (this.contentTypes.has(uid)) {\r\n throw new ApplicationError('contentType.alreadyExists');\r\n }\r\n\r\n const dir = infos.plugin\r\n ? path.join(strapi.dirs.app.extensions, infos.plugin, 'content-types', infos.singularName)\r\n : path.join(strapi.dirs.app.api, infos.singularName, 'content-types', infos.singularName);\r\n\r\n const contentType = createSchemaHandler({\r\n modelName: infos.singularName,\r\n dir,\r\n filename: `schema.json`,\r\n });\r\n\r\n this.contentTypes.set(uid, contentType);\r\n\r\n contentType\r\n .setUID(uid)\r\n .set('kind', infos.kind || typeKinds.COLLECTION_TYPE)\r\n .set(\r\n 'collectionName',\r\n infos.collectionName || strings.nameToCollectionName(infos.pluralName)\r\n )\r\n .set('info', {\r\n singularName: infos.singularName,\r\n pluralName: infos.pluralName,\r\n displayName: infos.displayName,\r\n description: infos.description,\r\n })\r\n .set('options', {\r\n ...infos.options,\r\n draftAndPublish: infos.draftAndPublish,\r\n })\r\n .set('pluginOptions', infos.pluginOptions)\r\n .set('config', infos.config);\r\n\r\n this.createContentTypeAttributes(uid, infos.attributes);\r\n\r\n return contentType;\r\n },\r\n\r\n editContentType(this: any, infos: any) {\r\n const { uid } = infos;\r\n\r\n if (!this.contentTypes.has(uid)) {\r\n throw new ApplicationError('contentType.notFound');\r\n }\r\n\r\n const contentType = this.contentTypes.get(uid);\r\n\r\n const oldAttributes = contentType.schema.attributes;\r\n\r\n const newAttributes = _.omitBy(infos.attributes, (attr, key) => {\r\n return _.has(oldAttributes, key) && !isConfigurable(oldAttributes[key]);\r\n });\r\n\r\n const newKeys = _.difference(Object.keys(newAttributes), Object.keys(oldAttributes));\r\n const deletedKeys = _.difference(Object.keys(oldAttributes), Object.keys(newAttributes));\r\n const remainingKeys = _.intersection(Object.keys(oldAttributes), Object.keys(newAttributes));\r\n\r\n // remove old relations\r\n deletedKeys.forEach((key) => {\r\n const attribute = oldAttributes[key];\r\n\r\n // if the old relation has a target attribute. we need to remove it in the target type\r\n if (isConfigurable(attribute) && isRelation(attribute)) {\r\n const relationAttribute = attribute as InternalRelationAttribute;\r\n const targetAttributeName = relationAttribute.inversedBy || relationAttribute.mappedBy;\r\n\r\n if (targetAttributeName !== null && targetAttributeName !== undefined) {\r\n this.unsetRelation(attribute);\r\n }\r\n }\r\n });\r\n\r\n remainingKeys.forEach((key) => {\r\n const oldAttribute = oldAttributes[key];\r\n const newAttribute = newAttributes[key] as InternalAttribute;\r\n\r\n if (!isRelation(oldAttribute) && isRelation(newAttribute)) {\r\n return this.setRelation({\r\n key,\r\n uid,\r\n attribute: newAttribute as InternalRelationAttribute,\r\n });\r\n }\r\n\r\n if (isRelation(oldAttribute) && !isRelation(newAttribute)) {\r\n return this.unsetRelation(oldAttribute);\r\n }\r\n\r\n if (isRelation(oldAttribute) && isRelation(newAttribute)) {\r\n const relationAttribute = newAttribute as InternalRelationAttribute;\r\n const oldRelationAttribute = oldAttribute as InternalRelationAttribute;\r\n const oldTargetAttributeName =\r\n oldRelationAttribute.inversedBy || oldRelationAttribute.mappedBy;\r\n\r\n const sameRelation = oldAttribute.relation === relationAttribute.relation;\r\n const targetAttributeHasChanged =\r\n oldTargetAttributeName !== relationAttribute.targetAttribute;\r\n\r\n if (!sameRelation || targetAttributeHasChanged) {\r\n this.unsetRelation(oldAttribute);\r\n }\r\n\r\n // keep extra options that were set manually on oldAttribute\r\n reuseUnsetPreviousProperties(relationAttribute, oldAttribute);\r\n\r\n // Handle conditions explicitly - only preserve if present and not undefined in new attribute\r\n const newAttributeFromInfos = newAttributes[key];\r\n const hasNewConditions =\r\n newAttributeFromInfos.conditions !== undefined &&\r\n newAttributeFromInfos.conditions !== null;\r\n\r\n if (oldAttribute.conditions) {\r\n if (hasNewConditions) {\r\n // Conditions are still present, keep them\r\n relationAttribute.conditions = newAttributeFromInfos.conditions;\r\n } else {\r\n // Conditions were removed (undefined or null), ensure they're not preserved\r\n delete relationAttribute.conditions;\r\n }\r\n } else if (hasNewConditions) {\r\n // New conditions added\r\n relationAttribute.conditions = newAttributeFromInfos.conditions;\r\n }\r\n\r\n if (oldRelationAttribute.inversedBy) {\r\n relationAttribute.dominant = true;\r\n } else if (oldRelationAttribute.mappedBy) {\r\n relationAttribute.dominant = false;\r\n }\r\n\r\n return this.setRelation({\r\n key,\r\n uid,\r\n attribute: relationAttribute,\r\n });\r\n }\r\n });\r\n\r\n // add new relations\r\n newKeys.forEach((key) => {\r\n const attribute = newAttributes[key] as InternalAttribute;\r\n\r\n if (isRelation(attribute)) {\r\n const relationAttribute = attribute as InternalRelationAttribute;\r\n if (['manyToMany', 'oneToOne'].includes(relationAttribute.relation)) {\r\n if (\r\n relationAttribute.target === uid &&\r\n relationAttribute.targetAttribute !== undefined\r\n ) {\r\n // self referencing relation\r\n const targetAttribute = newAttributes[\r\n relationAttribute.targetAttribute\r\n ] as InternalRelationAttribute;\r\n\r\n if (targetAttribute.dominant === undefined) {\r\n relationAttribute.dominant = true;\r\n } else {\r\n relationAttribute.dominant = false;\r\n }\r\n } else {\r\n relationAttribute.dominant = true;\r\n }\r\n }\r\n\r\n this.setRelation({\r\n key,\r\n uid,\r\n attribute: relationAttribute,\r\n });\r\n }\r\n });\r\n\r\n contentType\r\n .set('kind', infos.kind || contentType.schema.kind)\r\n .set(['info', 'displayName'], infos.displayName)\r\n .set(['info', 'description'], infos.description)\r\n .set('options', {\r\n ...infos.options,\r\n draftAndPublish: infos.draftAndPublish,\r\n })\r\n .set('pluginOptions', infos.pluginOptions)\r\n .setAttributes(this.convertAttributes(newAttributes));\r\n\r\n return contentType;\r\n },\r\n\r\n deleteContentType(this: any, uid: string) {\r\n if (!this.contentTypes.has(uid)) {\r\n throw new ApplicationError('contentType.notFound');\r\n }\r\n\r\n this.components.forEach((compo: any) => {\r\n compo.removeContentType(uid);\r\n });\r\n\r\n this.contentTypes.forEach((ct: any) => {\r\n ct.removeContentType(uid);\r\n });\r\n\r\n return this.contentTypes.get(uid).delete();\r\n },\r\n };\r\n}\r\n\r\n/**\r\n * Returns a uid from a content type infos\r\n *\r\n * @param {object} options options\r\n * @param {string} options.singularName content-type singularName\r\n * @returns {string} uid\r\n */\r\nconst createContentTypeUID = ({\r\n plugin,\r\n singularName,\r\n}: {\r\n plugin?: string;\r\n singularName: string;\r\n}): Internal.UID.ContentType =>\r\n `${plugin ? `plugin` : `api`}::${plugin || singularName}.${singularName}`;\r\n\r\nconst generateRelation = ({\r\n key,\r\n attribute,\r\n uid,\r\n targetAttribute = {},\r\n}: {\r\n key: string;\r\n attribute: InternalRelationAttribute;\r\n uid: string;\r\n targetAttribute?: Partial<InternalRelationAttribute>;\r\n}) => {\r\n const opts: any = {\r\n type: 'relation',\r\n target: uid,\r\n required: targetAttribute.required || undefined,\r\n private: targetAttribute.private || undefined,\r\n pluginOptions: targetAttribute.pluginOptions || undefined,\r\n // Preserve conditions from targetAttribute if they exist\r\n // This allows each side of the relation to maintain its own conditions\r\n ...(targetAttribute.conditions && { conditions: targetAttribute.conditions }),\r\n };\r\n\r\n switch (attribute.relation) {\r\n case 'oneToOne': {\r\n opts.relation = 'oneToOne';\r\n\r\n if (attribute.dominant) {\r\n opts.mappedBy = key;\r\n } else {\r\n opts.inversedBy = key;\r\n }\r\n break;\r\n }\r\n case 'oneToMany': {\r\n opts.relation = 'manyToOne';\r\n opts.inversedBy = key;\r\n break;\r\n }\r\n case 'manyToOne': {\r\n opts.relation = 'oneToMany';\r\n opts.mappedBy = key;\r\n break;\r\n }\r\n case 'manyToMany': {\r\n opts.relation = 'manyToMany';\r\n\r\n if (attribute.dominant) {\r\n opts.mappedBy = key;\r\n } else {\r\n opts.inversedBy = key;\r\n }\r\n\r\n break;\r\n }\r\n default:\r\n }\r\n\r\n // we do this just to make sure we have the same key order when writing to files\r\n const { type, relation, target, ...restOptions } = opts;\r\n\r\n const result = {\r\n type,\r\n relation,\r\n target,\r\n ...restOptions,\r\n };\r\n\r\n return result;\r\n};\r\n"],"names":["ApplicationError","errors","reuseUnsetPreviousProperties","newAttribute","oldAttribute","_","defaults","omit","createComponentBuilder","setRelation","key","uid","attribute","has","targetCT","contentTypes","get","target","targetAttribute","getAttribute","targetAttributeData","setAttribute","generateRelation","unsetRelation","relationAttribute","targetAttributeName","inversedBy","mappedBy","deleteAttribute","createContentTypeAttributes","attributes","contentType","Object","keys","forEach","setAttributes","convertAttributes","isRelation","includes","relation","undefined","dominant","createContentType","infos","createContentTypeUID","dir","plugin","path","join","strapi","dirs","app","extensions","singularName","api","createSchemaHandler","modelName","filename","set","setUID","kind","typeKinds","COLLECTION_TYPE","collectionName","strings","nameToCollectionName","pluralName","displayName","description","options","draftAndPublish","pluginOptions","config","editContentType","oldAttributes","schema","newAttributes","omitBy","attr","isConfigurable","newKeys","difference","deletedKeys","remainingKeys","intersection","oldRelationAttribute","oldTargetAttributeName","sameRelation","targetAttributeHasChanged","newAttributeFromInfos","hasNewConditions","conditions","deleteContentType","components","compo","removeContentType","ct","delete","opts","type","required","private","restOptions","result"],"mappings":"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"}
@@ -0,0 +1,155 @@
1
+ 'use strict';
2
+
3
+ var path = require('path');
4
+ var _ = require('lodash');
5
+ var utils = require('@strapi/utils');
6
+ var schemaHandler = require('./schema-handler.js');
7
+ var componentBuilder = require('./component-builder.js');
8
+ var contentTypeBuilder = require('./content-type-builder.js');
9
+
10
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
11
+
12
+ var ___default = /*#__PURE__*/_interopDefault(_);
13
+
14
+ /**
15
+ * Creates a content type schema builder instance
16
+ */ function createBuilder() {
17
+ const components = Object.values(strapi.components).map((componentInput)=>({
18
+ category: componentInput.category,
19
+ modelName: componentInput.modelName,
20
+ plugin: componentInput.modelName,
21
+ uid: componentInput.uid,
22
+ filename: componentInput.__filename__,
23
+ dir: path.join(strapi.dirs.app.components, componentInput.category),
24
+ schema: componentInput.__schema__,
25
+ config: componentInput.config
26
+ }));
27
+ const contentTypes = Object.values(strapi.contentTypes).map((contentTypeInput)=>{
28
+ const dir = contentTypeInput.plugin ? path.join(strapi.dirs.app.extensions, contentTypeInput.plugin, 'content-types', contentTypeInput.info.singularName) : path.join(strapi.dirs.app.api, contentTypeInput.apiName, 'content-types', contentTypeInput.info.singularName);
29
+ return {
30
+ modelName: contentTypeInput.modelName,
31
+ plugin: contentTypeInput.plugin,
32
+ uid: contentTypeInput.uid,
33
+ filename: 'schema.json',
34
+ dir,
35
+ schema: contentTypeInput.__schema__,
36
+ config: contentTypeInput.config
37
+ };
38
+ });
39
+ return createSchemaBuilder({
40
+ components,
41
+ contentTypes
42
+ });
43
+ }
44
+ function createSchemaBuilder({ components, contentTypes }) {
45
+ const tmpComponents = new Map();
46
+ const tmpContentTypes = new Map();
47
+ // init temporary ContentTypes
48
+ Object.keys(contentTypes).forEach((key)=>{
49
+ tmpContentTypes.set(contentTypes[key].uid, schemaHandler(contentTypes[key]));
50
+ });
51
+ // init temporary components
52
+ Object.keys(components).forEach((key)=>{
53
+ tmpComponents.set(components[key].uid, schemaHandler(components[key]));
54
+ });
55
+ return {
56
+ get components () {
57
+ return tmpComponents;
58
+ },
59
+ get contentTypes () {
60
+ return tmpContentTypes;
61
+ },
62
+ /**
63
+ * Convert Attributes received from the API to the right syntax
64
+ */ convertAttributes (attributes) {
65
+ return Object.keys(attributes).reduce((acc, key)=>{
66
+ acc[key] = this.convertAttribute(attributes[key]);
67
+ return acc;
68
+ }, {});
69
+ },
70
+ convertAttribute (attribute) {
71
+ const { configurable, private: isPrivate, conditions } = attribute;
72
+ const baseProperties = {
73
+ private: isPrivate === true ? true : undefined,
74
+ configurable: configurable === false ? false : undefined,
75
+ // IMPORTANT: Preserve conditions only if they exist and are not undefined/null
76
+ ...conditions !== undefined && conditions !== null && {
77
+ conditions
78
+ }
79
+ };
80
+ if (attribute.type === 'relation') {
81
+ const { target, relation, targetAttribute, dominant, ...restOfProperties } = attribute;
82
+ const attr = {
83
+ type: 'relation',
84
+ relation,
85
+ target,
86
+ ...restOfProperties,
87
+ ...baseProperties
88
+ };
89
+ // TODO: uncomment this when we pre-create empty types and targets exists if we create multiple types at once
90
+ // if (target && !this.contentTypes.has(target)) {
91
+ // throw new errors.ApplicationError(`target: ${target} does not exist`);
92
+ // }
93
+ if (___default.default.isNil(targetAttribute)) {
94
+ return attr;
95
+ }
96
+ if ([
97
+ 'oneToOne',
98
+ 'manyToMany'
99
+ ].includes(relation) && dominant === true) {
100
+ attr.inversedBy = targetAttribute;
101
+ } else if ([
102
+ 'oneToOne',
103
+ 'manyToMany'
104
+ ].includes(relation) && dominant === false) {
105
+ attr.mappedBy = targetAttribute;
106
+ } else if ([
107
+ 'oneToOne',
108
+ 'manyToOne',
109
+ 'manyToMany'
110
+ ].includes(relation)) {
111
+ attr.inversedBy = targetAttribute;
112
+ } else if ([
113
+ 'oneToMany'
114
+ ].includes(relation)) {
115
+ attr.mappedBy = targetAttribute;
116
+ }
117
+ return attr;
118
+ }
119
+ return {
120
+ ...attribute,
121
+ ...baseProperties
122
+ };
123
+ },
124
+ ...componentBuilder(),
125
+ ...contentTypeBuilder(),
126
+ /**
127
+ * Write all type to files
128
+ */ writeFiles () {
129
+ const schemas = [
130
+ ...Array.from(tmpComponents.values()),
131
+ ...Array.from(tmpContentTypes.values())
132
+ ];
133
+ return Promise.all(schemas.map((schema)=>schema.flush())).catch((error)=>{
134
+ strapi.log.error('Error writing schema files');
135
+ strapi.log.error(error);
136
+ return this.rollback();
137
+ }).catch((error)=>{
138
+ strapi.log.error('Error rolling back schema files. You might need to fix your files manually');
139
+ strapi.log.error(error);
140
+ throw new utils.errors.ApplicationError('Invalid schema edition');
141
+ });
142
+ },
143
+ /**
144
+ * rollback all files
145
+ */ rollback () {
146
+ return Promise.all([
147
+ ...Array.from(tmpComponents.values()),
148
+ ...Array.from(tmpContentTypes.values())
149
+ ].map((schema)=>schema.rollback()));
150
+ }
151
+ };
152
+ }
153
+
154
+ module.exports = createBuilder;
155
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../server/src/services/schema-builder/index.ts"],"sourcesContent":["import { join } from 'path';\r\nimport _ from 'lodash';\r\n\r\nimport { errors } from '@strapi/utils';\r\nimport createSchemaHandler from './schema-handler';\r\nimport createComponentBuilder from './component-builder';\r\nimport createContentTypeBuilder from './content-type-builder';\r\n\r\n/**\r\n * Creates a content type schema builder instance\r\n */\r\nexport default function createBuilder() {\r\n const components = Object.values(strapi.components).map((componentInput) => ({\r\n category: componentInput.category,\r\n modelName: componentInput.modelName,\r\n plugin: componentInput.modelName,\r\n uid: componentInput.uid,\r\n filename: componentInput.__filename__,\r\n dir: join(strapi.dirs.app.components, componentInput.category),\r\n schema: componentInput.__schema__,\r\n config: componentInput.config,\r\n }));\r\n\r\n const contentTypes = Object.values<any>(strapi.contentTypes).map((contentTypeInput) => {\r\n const dir = contentTypeInput.plugin\r\n ? join(\r\n strapi.dirs.app.extensions,\r\n contentTypeInput.plugin,\r\n 'content-types',\r\n contentTypeInput.info.singularName\r\n )\r\n : join(\r\n strapi.dirs.app.api,\r\n contentTypeInput.apiName,\r\n 'content-types',\r\n contentTypeInput.info.singularName\r\n );\r\n\r\n return {\r\n modelName: contentTypeInput.modelName,\r\n plugin: contentTypeInput.plugin,\r\n uid: contentTypeInput.uid,\r\n filename: 'schema.json',\r\n dir,\r\n schema: contentTypeInput.__schema__,\r\n config: contentTypeInput.config,\r\n };\r\n });\r\n\r\n return createSchemaBuilder({\r\n components,\r\n contentTypes,\r\n });\r\n}\r\n\r\ntype SchemaBuilderOptions = {\r\n components: any;\r\n contentTypes: any;\r\n};\r\n\r\nfunction createSchemaBuilder({ components, contentTypes }: SchemaBuilderOptions) {\r\n const tmpComponents = new Map();\r\n const tmpContentTypes = new Map();\r\n\r\n // init temporary ContentTypes\r\n Object.keys(contentTypes).forEach((key) => {\r\n tmpContentTypes.set(contentTypes[key].uid, createSchemaHandler(contentTypes[key]));\r\n });\r\n\r\n // init temporary components\r\n Object.keys(components).forEach((key) => {\r\n tmpComponents.set(components[key].uid, createSchemaHandler(components[key]));\r\n });\r\n\r\n return {\r\n get components() {\r\n return tmpComponents;\r\n },\r\n get contentTypes() {\r\n return tmpContentTypes;\r\n },\r\n\r\n /**\r\n * Convert Attributes received from the API to the right syntax\r\n */\r\n convertAttributes(attributes: any) {\r\n return Object.keys(attributes).reduce(\r\n (acc, key) => {\r\n acc[key] = this.convertAttribute(attributes[key]);\r\n return acc;\r\n },\r\n {} as Record<string, unknown>\r\n );\r\n },\r\n\r\n convertAttribute(attribute: any) {\r\n const { configurable, private: isPrivate, conditions } = attribute;\r\n\r\n const baseProperties = {\r\n private: isPrivate === true ? true : undefined,\r\n configurable: configurable === false ? false : undefined,\r\n // IMPORTANT: Preserve conditions only if they exist and are not undefined/null\r\n ...(conditions !== undefined && conditions !== null && { conditions }),\r\n };\r\n\r\n if (attribute.type === 'relation') {\r\n const { target, relation, targetAttribute, dominant, ...restOfProperties } = attribute;\r\n\r\n const attr = {\r\n type: 'relation',\r\n relation,\r\n target,\r\n ...restOfProperties,\r\n ...baseProperties,\r\n };\r\n\r\n // TODO: uncomment this when we pre-create empty types and targets exists if we create multiple types at once\r\n // if (target && !this.contentTypes.has(target)) {\r\n // throw new errors.ApplicationError(`target: ${target} does not exist`);\r\n // }\r\n\r\n if (_.isNil(targetAttribute)) {\r\n return attr;\r\n }\r\n\r\n if (['oneToOne', 'manyToMany'].includes(relation) && dominant === true) {\r\n attr.inversedBy = targetAttribute;\r\n } else if (['oneToOne', 'manyToMany'].includes(relation) && dominant === false) {\r\n attr.mappedBy = targetAttribute;\r\n } else if (['oneToOne', 'manyToOne', 'manyToMany'].includes(relation)) {\r\n attr.inversedBy = targetAttribute;\r\n } else if (['oneToMany'].includes(relation)) {\r\n attr.mappedBy = targetAttribute;\r\n }\r\n\r\n return attr;\r\n }\r\n\r\n return {\r\n ...attribute,\r\n ...baseProperties,\r\n };\r\n },\r\n\r\n ...createComponentBuilder(),\r\n ...createContentTypeBuilder(),\r\n\r\n /**\r\n * Write all type to files\r\n */\r\n writeFiles() {\r\n const schemas = [\r\n ...Array.from(tmpComponents.values()),\r\n ...Array.from(tmpContentTypes.values()),\r\n ];\r\n\r\n return Promise.all(schemas.map((schema) => schema.flush()))\r\n .catch((error) => {\r\n strapi.log.error('Error writing schema files');\r\n strapi.log.error(error);\r\n return this.rollback();\r\n })\r\n .catch((error) => {\r\n strapi.log.error(\r\n 'Error rolling back schema files. You might need to fix your files manually'\r\n );\r\n strapi.log.error(error);\r\n\r\n throw new errors.ApplicationError('Invalid schema edition');\r\n });\r\n },\r\n\r\n /**\r\n * rollback all files\r\n */\r\n rollback() {\r\n return Promise.all(\r\n [...Array.from(tmpComponents.values()), ...Array.from(tmpContentTypes.values())].map(\r\n (schema) => schema.rollback()\r\n )\r\n );\r\n },\r\n };\r\n}\r\n"],"names":["createBuilder","components","Object","values","strapi","map","componentInput","category","modelName","plugin","uid","filename","__filename__","dir","join","dirs","app","schema","__schema__","config","contentTypes","contentTypeInput","extensions","info","singularName","api","apiName","createSchemaBuilder","tmpComponents","Map","tmpContentTypes","keys","forEach","key","set","createSchemaHandler","convertAttributes","attributes","reduce","acc","convertAttribute","attribute","configurable","private","isPrivate","conditions","baseProperties","undefined","type","target","relation","targetAttribute","dominant","restOfProperties","attr","_","isNil","includes","inversedBy","mappedBy","createComponentBuilder","createContentTypeBuilder","writeFiles","schemas","Array","from","Promise","all","flush","catch","error","log","rollback","errors","ApplicationError"],"mappings":"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"}