@strapi/content-type-builder 5.49.0 → 5.50.1

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 (298) hide show
  1. package/dist/admin/components/AIChat/Chat.js +2 -4
  2. package/dist/admin/components/AIChat/Chat.js.map +1 -1
  3. package/dist/admin/components/AIChat/Chat.mjs +2 -4
  4. package/dist/admin/components/AIChat/Chat.mjs.map +1 -1
  5. package/dist/admin/components/AIChat/UploadFigmaModal.js +1 -1
  6. package/dist/admin/components/AIChat/UploadFigmaModal.js.map +1 -1
  7. package/dist/admin/components/AIChat/UploadFigmaModal.mjs +1 -1
  8. package/dist/admin/components/AIChat/UploadFigmaModal.mjs.map +1 -1
  9. package/dist/admin/components/AIChat/components/Messages/Message.js +8 -3
  10. package/dist/admin/components/AIChat/components/Messages/Message.js.map +1 -1
  11. package/dist/admin/components/AIChat/components/Messages/Message.mjs +8 -3
  12. package/dist/admin/components/AIChat/components/Messages/Message.mjs.map +1 -1
  13. package/dist/admin/components/AIChat/lib/aiClient.js +8 -2
  14. package/dist/admin/components/AIChat/lib/aiClient.js.map +1 -1
  15. package/dist/admin/components/AIChat/lib/aiClient.mjs +8 -2
  16. package/dist/admin/components/AIChat/lib/aiClient.mjs.map +1 -1
  17. package/dist/admin/components/AIChat/lib/transforms/schemas/fromCTB.js +0 -3
  18. package/dist/admin/components/AIChat/lib/transforms/schemas/fromCTB.js.map +1 -1
  19. package/dist/admin/components/AIChat/lib/transforms/schemas/fromCTB.mjs +0 -3
  20. package/dist/admin/components/AIChat/lib/transforms/schemas/fromCTB.mjs.map +1 -1
  21. package/dist/admin/components/AIChat/lib/transforms/schemas/toCTB.js +9 -7
  22. package/dist/admin/components/AIChat/lib/transforms/schemas/toCTB.js.map +1 -1
  23. package/dist/admin/components/AIChat/lib/transforms/schemas/toCTB.mjs +9 -7
  24. package/dist/admin/components/AIChat/lib/transforms/schemas/toCTB.mjs.map +1 -1
  25. package/dist/admin/components/AIChat/providers/SchemaProvider.js +1 -1
  26. package/dist/admin/components/AIChat/providers/SchemaProvider.js.map +1 -1
  27. package/dist/admin/components/AIChat/providers/SchemaProvider.mjs +1 -1
  28. package/dist/admin/components/AIChat/providers/SchemaProvider.mjs.map +1 -1
  29. package/dist/admin/components/AllowedTypesSelect.js.map +1 -1
  30. package/dist/admin/components/AllowedTypesSelect.mjs.map +1 -1
  31. package/dist/admin/components/AttributeIcon.js +1 -1
  32. package/dist/admin/components/AttributeIcon.js.map +1 -1
  33. package/dist/admin/components/AttributeIcon.mjs +1 -1
  34. package/dist/admin/components/AttributeIcon.mjs.map +1 -1
  35. package/dist/admin/components/BooleanDefaultValueSelect.js +3 -2
  36. package/dist/admin/components/BooleanDefaultValueSelect.js.map +1 -1
  37. package/dist/admin/components/BooleanDefaultValueSelect.mjs +3 -2
  38. package/dist/admin/components/BooleanDefaultValueSelect.mjs.map +1 -1
  39. package/dist/admin/components/BooleanRadioGroup.js.map +1 -1
  40. package/dist/admin/components/BooleanRadioGroup.mjs.map +1 -1
  41. package/dist/admin/components/CTBSession/useCTBTracking.js +3 -3
  42. package/dist/admin/components/CTBSession/useCTBTracking.js.map +1 -1
  43. package/dist/admin/components/CTBSession/useCTBTracking.mjs +3 -3
  44. package/dist/admin/components/CTBSession/useCTBTracking.mjs.map +1 -1
  45. package/dist/admin/components/CheckboxWithNumberField.js +3 -2
  46. package/dist/admin/components/CheckboxWithNumberField.js.map +1 -1
  47. package/dist/admin/components/CheckboxWithNumberField.mjs +3 -2
  48. package/dist/admin/components/CheckboxWithNumberField.mjs.map +1 -1
  49. package/dist/admin/components/ComponentCard/ComponentCard.js.map +1 -1
  50. package/dist/admin/components/ComponentCard/ComponentCard.mjs.map +1 -1
  51. package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.js +160 -162
  52. package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.js.map +1 -1
  53. package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.mjs +160 -162
  54. package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.mjs.map +1 -1
  55. package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.js +1 -1
  56. package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.js.map +1 -1
  57. package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.mjs +1 -1
  58. package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.mjs.map +1 -1
  59. package/dist/admin/components/ContentTypeRadioGroup.js.map +1 -1
  60. package/dist/admin/components/ContentTypeRadioGroup.mjs.map +1 -1
  61. package/dist/admin/components/CustomRadioGroup/CustomRadioGroup.js +6 -5
  62. package/dist/admin/components/CustomRadioGroup/CustomRadioGroup.js.map +1 -1
  63. package/dist/admin/components/CustomRadioGroup/CustomRadioGroup.mjs +6 -5
  64. package/dist/admin/components/CustomRadioGroup/CustomRadioGroup.mjs.map +1 -1
  65. package/dist/admin/components/CustomRadioGroup/Styles.js.map +1 -1
  66. package/dist/admin/components/CustomRadioGroup/Styles.mjs.map +1 -1
  67. package/dist/admin/components/DataManager/DataManagerContext.js.map +1 -1
  68. package/dist/admin/components/DataManager/DataManagerContext.mjs.map +1 -1
  69. package/dist/admin/components/DataManager/DataManagerProvider.js +16 -4
  70. package/dist/admin/components/DataManager/DataManagerProvider.js.map +1 -1
  71. package/dist/admin/components/DataManager/DataManagerProvider.mjs +16 -4
  72. package/dist/admin/components/DataManager/DataManagerProvider.mjs.map +1 -1
  73. package/dist/admin/components/DataManager/reducer.js +2 -2
  74. package/dist/admin/components/DataManager/reducer.js.map +1 -1
  75. package/dist/admin/components/DataManager/reducer.mjs +2 -2
  76. package/dist/admin/components/DataManager/reducer.mjs.map +1 -1
  77. package/dist/admin/components/DataManager/useServerRestartWatcher.js.map +1 -1
  78. package/dist/admin/components/DataManager/useServerRestartWatcher.mjs.map +1 -1
  79. package/dist/admin/components/DataManager/utils/retrieveSpecificInfoFromComponents.js.map +1 -1
  80. package/dist/admin/components/DataManager/utils/retrieveSpecificInfoFromComponents.mjs.map +1 -1
  81. package/dist/admin/components/DraftAndPublishToggle.js.map +1 -1
  82. package/dist/admin/components/DraftAndPublishToggle.mjs.map +1 -1
  83. package/dist/admin/components/DynamicZoneList.js.map +1 -1
  84. package/dist/admin/components/DynamicZoneList.mjs.map +1 -1
  85. package/dist/admin/components/FormModal/FormModal.js +91 -71
  86. package/dist/admin/components/FormModal/FormModal.js.map +1 -1
  87. package/dist/admin/components/FormModal/FormModal.mjs +91 -70
  88. package/dist/admin/components/FormModal/FormModal.mjs.map +1 -1
  89. package/dist/admin/components/FormModal/attributes/ConditionForm.js +20 -17
  90. package/dist/admin/components/FormModal/attributes/ConditionForm.js.map +1 -1
  91. package/dist/admin/components/FormModal/attributes/ConditionForm.mjs +20 -17
  92. package/dist/admin/components/FormModal/attributes/ConditionForm.mjs.map +1 -1
  93. package/dist/admin/components/FormModal/attributes/validation/common.js.map +1 -1
  94. package/dist/admin/components/FormModal/attributes/validation/common.mjs.map +1 -1
  95. package/dist/admin/components/FormModal/component/createComponentSchema.js +1 -1
  96. package/dist/admin/components/FormModal/component/createComponentSchema.js.map +1 -1
  97. package/dist/admin/components/FormModal/component/createComponentSchema.mjs +1 -1
  98. package/dist/admin/components/FormModal/component/createComponentSchema.mjs.map +1 -1
  99. package/dist/admin/components/FormModal/forms/forms.js +4 -6
  100. package/dist/admin/components/FormModal/forms/forms.js.map +1 -1
  101. package/dist/admin/components/FormModal/forms/forms.mjs +4 -6
  102. package/dist/admin/components/FormModal/forms/forms.mjs.map +1 -1
  103. package/dist/admin/components/FormModal/forms/utils/getUsedAttributeNames.js.map +1 -1
  104. package/dist/admin/components/FormModal/forms/utils/getUsedAttributeNames.mjs.map +1 -1
  105. package/dist/admin/components/FormModal/reducer.js +9 -6
  106. package/dist/admin/components/FormModal/reducer.js.map +1 -1
  107. package/dist/admin/components/FormModal/reducer.mjs +9 -6
  108. package/dist/admin/components/FormModal/reducer.mjs.map +1 -1
  109. package/dist/admin/components/FormModal/utils/customFieldDefaultOptionsReducer.js +3 -3
  110. package/dist/admin/components/FormModal/utils/customFieldDefaultOptionsReducer.js.map +1 -1
  111. package/dist/admin/components/FormModal/utils/customFieldDefaultOptionsReducer.mjs +3 -3
  112. package/dist/admin/components/FormModal/utils/customFieldDefaultOptionsReducer.mjs.map +1 -1
  113. package/dist/admin/components/FormModal/utils/getFormInputNames.js +1 -1
  114. package/dist/admin/components/FormModal/utils/getFormInputNames.js.map +1 -1
  115. package/dist/admin/components/FormModal/utils/getFormInputNames.mjs +1 -1
  116. package/dist/admin/components/FormModal/utils/getFormInputNames.mjs.map +1 -1
  117. package/dist/admin/components/FormModal/utils/relations.js +2 -2
  118. package/dist/admin/components/FormModal/utils/relations.js.map +1 -1
  119. package/dist/admin/components/FormModal/utils/relations.mjs +2 -2
  120. package/dist/admin/components/FormModal/utils/relations.mjs.map +1 -1
  121. package/dist/admin/components/FormModalHeader.js.map +1 -1
  122. package/dist/admin/components/FormModalHeader.mjs.map +1 -1
  123. package/dist/admin/components/FormModalNavigation/FormModalNavigationContext.js.map +1 -1
  124. package/dist/admin/components/FormModalNavigation/FormModalNavigationContext.mjs.map +1 -1
  125. package/dist/admin/components/FormModalNavigation/FormModalNavigationProvider.js +13 -13
  126. package/dist/admin/components/FormModalNavigation/FormModalNavigationProvider.js.map +1 -1
  127. package/dist/admin/components/FormModalNavigation/FormModalNavigationProvider.mjs +13 -13
  128. package/dist/admin/components/FormModalNavigation/FormModalNavigationProvider.mjs.map +1 -1
  129. package/dist/admin/components/GenericInputs.js +24 -12
  130. package/dist/admin/components/GenericInputs.js.map +1 -1
  131. package/dist/admin/components/GenericInputs.mjs +24 -12
  132. package/dist/admin/components/GenericInputs.mjs.map +1 -1
  133. package/dist/admin/components/IconPicker/IconPicker.js.map +1 -1
  134. package/dist/admin/components/IconPicker/IconPicker.mjs.map +1 -1
  135. package/dist/admin/components/PluralName.js.map +1 -1
  136. package/dist/admin/components/PluralName.mjs.map +1 -1
  137. package/dist/admin/components/Relation/Relation.js +3 -3
  138. package/dist/admin/components/Relation/Relation.js.map +1 -1
  139. package/dist/admin/components/Relation/Relation.mjs +3 -3
  140. package/dist/admin/components/Relation/Relation.mjs.map +1 -1
  141. package/dist/admin/components/Relation/RelationField/RelationField.js +1 -1
  142. package/dist/admin/components/Relation/RelationField/RelationField.js.map +1 -1
  143. package/dist/admin/components/Relation/RelationField/RelationField.mjs +1 -1
  144. package/dist/admin/components/Relation/RelationField/RelationField.mjs.map +1 -1
  145. package/dist/admin/components/SelectCategory.js +6 -0
  146. package/dist/admin/components/SelectCategory.js.map +1 -1
  147. package/dist/admin/components/SelectCategory.mjs +6 -0
  148. package/dist/admin/components/SelectCategory.mjs.map +1 -1
  149. package/dist/admin/components/SelectComponent.js +1 -1
  150. package/dist/admin/components/SelectComponent.js.map +1 -1
  151. package/dist/admin/components/SelectComponent.mjs +1 -1
  152. package/dist/admin/components/SelectComponent.mjs.map +1 -1
  153. package/dist/admin/components/SingularName.js.map +1 -1
  154. package/dist/admin/components/SingularName.mjs.map +1 -1
  155. package/dist/admin/components/TabForm.js +50 -51
  156. package/dist/admin/components/TabForm.js.map +1 -1
  157. package/dist/admin/components/TabForm.mjs +51 -52
  158. package/dist/admin/components/TabForm.mjs.map +1 -1
  159. package/dist/admin/src/components/AIChat/components/AnimatedBox.d.ts +4 -5
  160. package/dist/admin/src/components/AIChat/components/Attachments/AttachmentPreview.d.ts +1 -1
  161. package/dist/admin/src/components/AIChat/components/Dropzone.d.ts +0 -1
  162. package/dist/admin/src/components/AIChat/components/FloatingPanel.d.ts +0 -1
  163. package/dist/admin/src/components/AIChat/components/Input.d.ts +2 -3
  164. package/dist/admin/src/components/AIChat/components/Messages/Message.d.ts +1 -2
  165. package/dist/admin/src/components/AIChat/components/ResizableTextArea.d.ts +0 -1
  166. package/dist/admin/src/components/AIChat/components/SimpleMenu.d.ts +9 -9
  167. package/dist/admin/src/components/AIChat/components/icons/FigmaIcon.d.ts +0 -1
  168. package/dist/admin/src/components/AIChat/components/icons/StopIcon.d.ts +0 -1
  169. package/dist/admin/src/components/AIChat/hooks/useAIFetch.d.ts +5 -5
  170. package/dist/admin/src/components/AIChat/lib/aiClient.d.ts +1 -1
  171. package/dist/admin/src/components/AIChat/lib/transforms/schemas/fromCTB.d.ts +6 -2
  172. package/dist/admin/src/components/AIChat/lib/transforms/schemas/toCTB.d.ts +1 -1
  173. package/dist/admin/src/components/AIChat/lib/types/schema.d.ts +5 -5
  174. package/dist/admin/src/components/AllowedTypesSelect.d.ts +3 -3
  175. package/dist/admin/src/components/AttributeOptions/OptionBoxWrapper.d.ts +2 -3
  176. package/dist/admin/src/components/AttributeRow.d.ts +7 -8
  177. package/dist/admin/src/components/BooleanDefaultValueSelect.d.ts +3 -3
  178. package/dist/admin/src/components/BooleanRadioGroup.d.ts +2 -2
  179. package/dist/admin/src/components/CTBSession/sessionContext.d.ts +0 -1
  180. package/dist/admin/src/components/CTBSession/useCTBTracking.d.ts +1 -1
  181. package/dist/admin/src/components/CheckboxWithNumberField.d.ts +6 -4
  182. package/dist/admin/src/components/ComponentRow.d.ts +6 -7
  183. package/dist/admin/src/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.d.ts +0 -1
  184. package/dist/admin/src/components/ContentTypeRadioGroup.d.ts +3 -2
  185. package/dist/admin/src/components/CustomRadioGroup/CustomRadioGroup.d.ts +3 -2
  186. package/dist/admin/src/components/CustomRadioGroup/Styles.d.ts +3 -4
  187. package/dist/admin/src/components/DataManager/DataManagerContext.d.ts +13 -12
  188. package/dist/admin/src/components/DataManager/reducer.d.ts +16 -12
  189. package/dist/admin/src/components/DataManager/utils/cleanData.d.ts +64 -64
  190. package/dist/admin/src/components/DataManager/utils/formatSchemas.d.ts +9 -3
  191. package/dist/admin/src/components/DataManager/utils/retrieveSpecificInfoFromComponents.d.ts +2 -1
  192. package/dist/admin/src/components/DraftAndPublishToggle.d.ts +1 -6
  193. package/dist/admin/src/components/DynamicZoneList.d.ts +2 -2
  194. package/dist/admin/src/components/FormModal/attributes/ConditionForm.d.ts +3 -2
  195. package/dist/admin/src/components/FormModal/attributes/form.d.ts +3 -3
  196. package/dist/admin/src/components/FormModal/attributes/validation/common.d.ts +4 -2
  197. package/dist/admin/src/components/FormModal/forms/forms.d.ts +61 -28
  198. package/dist/admin/src/components/FormModal/forms/utils/getUsedAttributeNames.d.ts +12 -2
  199. package/dist/admin/src/components/FormModal/reducer.d.ts +104 -32
  200. package/dist/admin/src/components/FormModal/utils/customFieldDefaultOptionsReducer.d.ts +11 -1
  201. package/dist/admin/src/components/FormModal/utils/getFormInputNames.d.ts +8 -1
  202. package/dist/admin/src/components/FormModal/utils/relations.d.ts +2 -2
  203. package/dist/admin/src/components/FormModalHeader.d.ts +5 -8
  204. package/dist/admin/src/components/FormModalNavigation/FormModalNavigationContext.d.ts +2 -2
  205. package/dist/admin/src/components/FormModalNavigation/FormModalNavigationProvider.d.ts +17 -2
  206. package/dist/admin/src/components/GenericInputs.d.ts +12 -7
  207. package/dist/admin/src/components/IconPicker/IconPicker.d.ts +2 -7
  208. package/dist/admin/src/components/List.d.ts +2 -3
  209. package/dist/admin/src/components/PluralName.d.ts +6 -14
  210. package/dist/admin/src/components/Relation/Relation.d.ts +12 -3
  211. package/dist/admin/src/components/Relation/RelationField/RelationField.d.ts +3 -2
  212. package/dist/admin/src/components/Relation/RelationNaturePicker/Components.d.ts +6 -7
  213. package/dist/admin/src/components/SelectCategory.d.ts +3 -12
  214. package/dist/admin/src/components/SelectComponent.d.ts +8 -7
  215. package/dist/admin/src/components/SingularName.d.ts +5 -8
  216. package/dist/admin/src/components/TabForm.d.ts +38 -7
  217. package/dist/admin/src/pages/ListView/LinkToCMSettingsView.d.ts +0 -1
  218. package/dist/admin/src/types.d.ts +20 -12
  219. package/dist/admin/src/utils/conditions.d.ts +13 -4
  220. package/dist/admin/src/utils/formAPI.d.ts +38 -33
  221. package/dist/admin/src/utils/getRelationType.d.ts +1 -1
  222. package/dist/admin/src/utils/isAllowedContentTypesForRelations.d.ts +1 -1
  223. package/dist/admin/src/utils/parseNumberInputValue.d.ts +1 -0
  224. package/dist/admin/translations/en.json.js +1 -0
  225. package/dist/admin/translations/en.json.js.map +1 -1
  226. package/dist/admin/translations/en.json.mjs +1 -0
  227. package/dist/admin/translations/en.json.mjs.map +1 -1
  228. package/dist/admin/translations/ja.json.js +109 -50
  229. package/dist/admin/translations/ja.json.js.map +1 -1
  230. package/dist/admin/translations/ja.json.mjs +109 -50
  231. package/dist/admin/translations/ja.json.mjs.map +1 -1
  232. package/dist/admin/utils/conditions.js +38 -28
  233. package/dist/admin/utils/conditions.js.map +1 -1
  234. package/dist/admin/utils/conditions.mjs +37 -28
  235. package/dist/admin/utils/conditions.mjs.map +1 -1
  236. package/dist/admin/utils/formAPI.js +9 -6
  237. package/dist/admin/utils/formAPI.js.map +1 -1
  238. package/dist/admin/utils/formAPI.mjs +9 -6
  239. package/dist/admin/utils/formAPI.mjs.map +1 -1
  240. package/dist/admin/utils/getRelationType.js +3 -0
  241. package/dist/admin/utils/getRelationType.js.map +1 -1
  242. package/dist/admin/utils/getRelationType.mjs +3 -0
  243. package/dist/admin/utils/getRelationType.mjs.map +1 -1
  244. package/dist/admin/utils/getYupInnerErrors.js +6 -4
  245. package/dist/admin/utils/getYupInnerErrors.js.map +1 -1
  246. package/dist/admin/utils/getYupInnerErrors.mjs +6 -4
  247. package/dist/admin/utils/getYupInnerErrors.mjs.map +1 -1
  248. package/dist/admin/utils/parseNumberInputValue.js +15 -0
  249. package/dist/admin/utils/parseNumberInputValue.js.map +1 -0
  250. package/dist/admin/utils/parseNumberInputValue.mjs +13 -0
  251. package/dist/admin/utils/parseNumberInputValue.mjs.map +1 -0
  252. package/dist/server/controllers/validation/common.js +1 -1
  253. package/dist/server/controllers/validation/common.js.map +1 -1
  254. package/dist/server/controllers/validation/common.mjs +1 -1
  255. package/dist/server/controllers/validation/common.mjs.map +1 -1
  256. package/dist/server/controllers/validation/relations.js +1 -1
  257. package/dist/server/controllers/validation/relations.js.map +1 -1
  258. package/dist/server/controllers/validation/relations.mjs +1 -1
  259. package/dist/server/controllers/validation/relations.mjs.map +1 -1
  260. package/dist/server/controllers/validation/types.js +4 -3
  261. package/dist/server/controllers/validation/types.js.map +1 -1
  262. package/dist/server/controllers/validation/types.mjs +4 -3
  263. package/dist/server/controllers/validation/types.mjs.map +1 -1
  264. package/dist/server/src/bootstrap.d.ts.map +1 -1
  265. package/dist/server/src/controllers/validation/common.d.ts.map +1 -1
  266. package/dist/server/src/controllers/validation/component-category.d.ts +1 -1
  267. package/dist/server/src/controllers/validation/component.d.ts +1 -1
  268. package/dist/server/src/controllers/validation/component.d.ts.map +1 -1
  269. package/dist/server/src/controllers/validation/content-type.d.ts +1 -1
  270. package/dist/server/src/controllers/validation/content-type.d.ts.map +1 -1
  271. package/dist/server/src/controllers/validation/data-transform.d.ts.map +1 -1
  272. package/dist/server/src/controllers/validation/model-schema.d.ts +1 -1
  273. package/dist/server/src/controllers/validation/model-schema.d.ts.map +1 -1
  274. package/dist/server/src/controllers/validation/relations.d.ts.map +1 -1
  275. package/dist/server/src/controllers/validation/schema.d.ts +1 -1
  276. package/dist/server/src/controllers/validation/types.d.ts.map +1 -1
  277. package/dist/server/src/middlewares/is-development-mode.d.ts.map +1 -1
  278. package/dist/server/src/register.d.ts.map +1 -1
  279. package/dist/server/src/services/builder.d.ts.map +1 -1
  280. package/dist/server/src/services/component-categories.d.ts.map +1 -1
  281. package/dist/server/src/services/components.d.ts.map +1 -1
  282. package/dist/server/src/services/content-types.d.ts +1 -1
  283. package/dist/server/src/services/content-types.d.ts.map +1 -1
  284. package/dist/server/src/services/schema-builder/component-builder.d.ts +12 -12
  285. package/dist/server/src/services/schema-builder/component-builder.d.ts.map +1 -1
  286. package/dist/server/src/services/schema-builder/content-type-builder.d.ts +14 -14
  287. package/dist/server/src/services/schema-builder/content-type-builder.d.ts.map +1 -1
  288. package/dist/server/src/services/schema-builder/index.d.ts +27 -27
  289. package/dist/server/src/services/schema-builder/index.d.ts.map +1 -1
  290. package/dist/server/src/services/schema-builder/schema-handler.d.ts +12 -12
  291. package/dist/server/src/services/schema-builder/schema-handler.d.ts.map +1 -1
  292. package/dist/server/src/services/schema.d.ts +66 -66
  293. package/dist/server/src/services/schema.d.ts.map +1 -1
  294. package/dist/server/src/utils/attributes.d.ts +2 -2
  295. package/dist/server/src/utils/attributes.d.ts.map +1 -1
  296. package/dist/server/src/utils/helpers.d.ts.map +1 -1
  297. package/dist/server/src/utils/typeguards.d.ts.map +1 -1
  298. package/package.json +13 -9
@@ -2,11 +2,12 @@ import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
2
2
  import { Box, Typography, Grid, Tooltip, Button } from '@strapi/design-system';
3
3
  import get from 'lodash/get';
4
4
  import { useIntl } from 'react-intl';
5
- import { getAvailableConditionFields, formatCondition } from '../utils/conditions.mjs';
5
+ import { getAvailableConditionFields } from '../utils/conditions.mjs';
6
6
  import { GenericInput as MemoizedGenericInput } from './GenericInputs.mjs';
7
7
 
8
8
  /* eslint-disable react/no-array-index-key */ const TabForm = ({ form, formErrors, genericInputProps, modifiedData, onChange })=>{
9
9
  const { formatMessage } = useIntl();
10
+ const sharedInputProps = genericInputProps;
10
11
  return /*#__PURE__*/ jsx(Fragment, {
11
12
  children: form.map((section, sectionIndex)=>{
12
13
  // Don't display an empty section
@@ -32,6 +33,10 @@ import { GenericInput as MemoizedGenericInput } from './GenericInputs.mjs';
32
33
  gap: 4,
33
34
  children: section.items.map((input, i)=>{
34
35
  const key = `${sectionIndex}.${i}`;
36
+ const intlLabel = input.intlLabel ?? {
37
+ id: input.name,
38
+ defaultMessage: input.name
39
+ };
35
40
  /**
36
41
  * Use undefined as the default value because not every input wants a string e.g. Date pickers
37
42
  */ const value = get(modifiedData, input.name, undefined);
@@ -44,7 +49,7 @@ import { GenericInput as MemoizedGenericInput } from './GenericInputs.mjs';
44
49
  // NOTE: this is a hack
45
50
  const pluginOptionError = Object.keys(formErrors).find((key)=>key === input.name);
46
51
  // Retrieve the error for a specific input
47
- const errorId = pluginOptionError ? formErrors[pluginOptionError].id : get(formErrors, [
52
+ const errorId = pluginOptionError ? formErrors[pluginOptionError]?.id : get(formErrors, [
48
53
  ...input.name.split('.')// The filter here is used when creating a component
49
54
  // in the component step 1 modal
50
55
  // Since the component info is stored in the
@@ -55,80 +60,73 @@ import { GenericInput as MemoizedGenericInput } from './GenericInputs.mjs';
55
60
  ], null);
56
61
  if (input.type === 'pushRight') {
57
62
  return /*#__PURE__*/ jsx(Grid.Item, {
58
- col: input.size || 6,
63
+ col: input.size ?? 6,
59
64
  xs: 12,
60
65
  direction: "column",
61
66
  alignItems: "stretch",
62
67
  children: /*#__PURE__*/ jsx("div", {})
63
- }, input.name || key);
68
+ }, input.name ?? key);
64
69
  }
65
70
  // Special handling for 'condition-form'
66
71
  if (input.type === 'condition-form') {
67
72
  const currentCondition = get(modifiedData, input.name);
68
73
  // Get all attributes from the content type schema
69
- const contentTypeAttributes = genericInputProps.contentTypeSchema?.attributes || [];
70
- if (!genericInputProps.contentTypeSchema) {
74
+ const contentTypeAttributes = sharedInputProps.contentTypeSchema?.attributes ?? [];
75
+ if (!sharedInputProps.contentTypeSchema) {
71
76
  console.warn('contentTypeSchema is undefined, skipping condition form');
72
77
  return null;
73
78
  }
74
79
  // Filter for boolean and enumeration fields only, excluding the current field
75
- const availableFields = getAvailableConditionFields(contentTypeAttributes, modifiedData.name);
80
+ const availableFields = getAvailableConditionFields(contentTypeAttributes, modifiedData.name ?? '');
76
81
  const noFieldsMessage = formatMessage({
77
82
  id: 'form.attribute.condition.no-fields',
78
83
  defaultMessage: 'No boolean or enumeration fields available to set conditions on.'
79
84
  });
80
85
  return /*#__PURE__*/ jsx(Grid.Item, {
81
- col: input.size || 12,
86
+ col: input.size ?? 12,
82
87
  xs: 12,
83
88
  direction: "column",
84
89
  alignItems: "stretch",
85
- children: !currentCondition || Object.keys(currentCondition).length === 0 ? /*#__PURE__*/ jsxs(Box, {
86
- children: [
87
- currentCondition && Object.keys(currentCondition).length > 0 && /*#__PURE__*/ jsx(Typography, {
88
- variant: "sigma",
89
- textColor: "neutral800",
90
- marginBottom: 2,
91
- children: formatCondition(currentCondition, availableFields, genericInputProps.attributeName || modifiedData.name)
92
- }),
93
- /*#__PURE__*/ jsx(Tooltip, {
94
- label: noFieldsMessage,
95
- children: /*#__PURE__*/ jsx(Button, {
96
- marginTop: currentCondition && Object.keys(currentCondition).length > 0 ? 0 : 4,
97
- fullWidth: true,
98
- variant: "secondary",
99
- onClick: ()=>{
100
- onChange({
101
- target: {
102
- name: input.name,
103
- value: {
104
- visible: {
105
- '==': [
106
- {
107
- var: ''
108
- },
109
- ''
110
- ]
111
- }
90
+ children: currentCondition === null || currentCondition === undefined || Object.keys(currentCondition).length === 0 ? /*#__PURE__*/ jsx(Box, {
91
+ children: /*#__PURE__*/ jsx(Tooltip, {
92
+ label: noFieldsMessage,
93
+ children: /*#__PURE__*/ jsx(Button, {
94
+ marginTop: 4,
95
+ fullWidth: true,
96
+ variant: "secondary",
97
+ onClick: ()=>{
98
+ onChange({
99
+ target: {
100
+ name: input.name,
101
+ value: {
102
+ visible: {
103
+ '==': [
104
+ {
105
+ var: ''
106
+ },
107
+ ''
108
+ ]
112
109
  }
113
110
  }
114
- });
115
- },
116
- startIcon: /*#__PURE__*/ jsx("span", {
117
- "aria-hidden": true,
118
- children: "+"
119
- }),
120
- disabled: availableFields.length === 0,
121
- children: formatMessage({
122
- id: 'form.attribute.condition.apply',
123
- defaultMessage: 'Apply condition'
124
- })
111
+ }
112
+ });
113
+ },
114
+ startIcon: /*#__PURE__*/ jsx("span", {
115
+ "aria-hidden": true,
116
+ children: "+"
117
+ }),
118
+ disabled: availableFields.length === 0,
119
+ children: formatMessage({
120
+ id: 'form.attribute.condition.apply',
121
+ defaultMessage: 'Apply condition'
125
122
  })
126
123
  })
127
- ]
124
+ })
128
125
  }) : /*#__PURE__*/ jsx(MemoizedGenericInput, {
129
126
  ...input,
130
- ...genericInputProps,
127
+ ...sharedInputProps,
131
128
  error: errorId,
129
+ intlLabel: intlLabel,
132
130
  onChange: onChange,
133
131
  value: value,
134
132
  autoFocus: i === 0,
@@ -142,23 +140,24 @@ import { GenericInput as MemoizedGenericInput } from './GenericInputs.mjs';
142
140
  });
143
141
  }
144
142
  })
145
- }, input.name || key);
143
+ }, input.name ?? key);
146
144
  }
147
145
  // Default rendering for all other input types
148
146
  return /*#__PURE__*/ jsx(Grid.Item, {
149
- col: input.size || 6,
147
+ col: input.size ?? 6,
150
148
  xs: 12,
151
149
  direction: "column",
152
150
  alignItems: "stretch",
153
151
  children: /*#__PURE__*/ jsx(MemoizedGenericInput, {
154
152
  ...input,
155
- ...genericInputProps,
153
+ ...sharedInputProps,
156
154
  error: errorId,
155
+ intlLabel: intlLabel,
157
156
  onChange: onChange,
158
157
  value: value,
159
158
  autoFocus: i === 0
160
159
  })
161
- }, input.name || key);
160
+ }, input.name ?? key);
162
161
  })
163
162
  })
164
163
  ]
@@ -1 +1 @@
1
- {"version":3,"file":"TabForm.mjs","sources":["../../../admin/src/components/TabForm.tsx"],"sourcesContent":["import { Box, Grid, Typography, Button, Tooltip } from '@strapi/design-system';\nimport get from 'lodash/get';\nimport { useIntl } from 'react-intl';\n\nimport { formatCondition, getAvailableConditionFields } from '../utils/conditions';\n\nimport { GenericInput } from './GenericInputs';\n\ninterface TabFormProps {\n form: Array<Record<string, any>>;\n formErrors: Record<string, any>;\n genericInputProps: Record<string, any>;\n modifiedData: Record<string, any>;\n onChange: (value: any) => void;\n}\n\n/* eslint-disable react/no-array-index-key */\nexport const TabForm = ({\n form,\n formErrors,\n genericInputProps,\n modifiedData,\n onChange,\n}: TabFormProps) => {\n const { formatMessage } = useIntl();\n\n return (\n <>\n {form.map((section, sectionIndex) => {\n // Don't display an empty section\n if (section.items.length === 0) {\n return null;\n }\n return (\n <Box key={sectionIndex}>\n {section.sectionTitle && (\n <Box paddingBottom={4}>\n <Typography variant=\"delta\" tag=\"h3\">\n {formatMessage(section.sectionTitle)}\n </Typography>\n </Box>\n )}\n {section.intlLabel && (\n <Typography variant=\"pi\" textColor=\"neutral600\">\n {formatMessage(section.intlLabel)}\n </Typography>\n )}\n\n <Grid.Root gap={4}>\n {section.items.map((input: any, i: number) => {\n const key = `${sectionIndex}.${i}`;\n\n /**\n * Use undefined as the default value because not every input wants a string e.g. Date pickers\n */\n const value = get(modifiedData, input.name, undefined);\n\n // When extending the yup schema of an existing field (like in https://github.com/strapi/strapi/blob/293ff3b8f9559236609d123a2774e3be05ce8274/packages/strapi-plugin-i18n/admin/src/index.js#L52)\n // and triggering a yup validation error in the UI (missing a required field for example)\n // We got an object that looks like: formErrors = { \"pluginOptions.i18n.localized\": {...} }\n // In order to deal with this error, we can't rely on lodash.get to resolve this key\n // - lodash will try to access {pluginOptions: {i18n: {localized: true}}})\n // - and we just want to access { \"pluginOptions.i18n.localized\": {...} }\n // NOTE: this is a hack\n const pluginOptionError = Object.keys(formErrors).find((key) => key === input.name);\n\n // Retrieve the error for a specific input\n const errorId = pluginOptionError\n ? formErrors[pluginOptionError].id\n : get(\n formErrors,\n [\n ...input.name\n .split('.')\n // The filter here is used when creating a component\n // in the component step 1 modal\n // Since the component info is stored in the\n // componentToCreate object we can access the error\n // By removing the key\n .filter((key: string) => key !== 'componentToCreate'),\n 'id',\n ],\n null\n );\n\n if (input.type === 'pushRight') {\n return (\n <Grid.Item\n col={input.size || 6}\n xs={12}\n key={input.name || key}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <div />\n </Grid.Item>\n );\n }\n\n // Special handling for 'condition-form'\n if (input.type === 'condition-form') {\n const currentCondition = get(modifiedData, input.name);\n\n // Get all attributes from the content type schema\n const contentTypeAttributes =\n genericInputProps.contentTypeSchema?.attributes || [];\n\n if (!genericInputProps.contentTypeSchema) {\n console.warn('contentTypeSchema is undefined, skipping condition form');\n return null;\n }\n\n // Filter for boolean and enumeration fields only, excluding the current field\n const availableFields = getAvailableConditionFields(\n contentTypeAttributes,\n modifiedData.name\n );\n\n const noFieldsMessage = formatMessage({\n id: 'form.attribute.condition.no-fields',\n defaultMessage:\n 'No boolean or enumeration fields available to set conditions on.',\n });\n\n return (\n <Grid.Item\n col={input.size || 12}\n xs={12}\n key={input.name || key}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n {!currentCondition || Object.keys(currentCondition).length === 0 ? (\n <Box>\n {currentCondition && Object.keys(currentCondition).length > 0 && (\n <Typography variant=\"sigma\" textColor=\"neutral800\" marginBottom={2}>\n {formatCondition(\n currentCondition,\n availableFields,\n genericInputProps.attributeName || modifiedData.name\n )}\n </Typography>\n )}\n <Tooltip label={noFieldsMessage}>\n <Button\n marginTop={\n currentCondition && Object.keys(currentCondition).length > 0 ? 0 : 4\n }\n fullWidth={true}\n variant=\"secondary\"\n onClick={() => {\n onChange({\n target: {\n name: input.name,\n value: { visible: { '==': [{ var: '' }, ''] } },\n },\n });\n }}\n startIcon={<span aria-hidden>+</span>}\n disabled={availableFields.length === 0}\n >\n {formatMessage({\n id: 'form.attribute.condition.apply',\n defaultMessage: 'Apply condition',\n })}\n </Button>\n </Tooltip>\n </Box>\n ) : (\n <GenericInput\n {...input}\n {...genericInputProps}\n error={errorId}\n onChange={onChange}\n value={value}\n autoFocus={i === 0}\n attributeName={modifiedData.name}\n conditionFields={availableFields}\n onDelete={() => {\n onChange({\n target: {\n name: input.name,\n },\n });\n }}\n />\n )}\n </Grid.Item>\n );\n }\n\n // Default rendering for all other input types\n return (\n <Grid.Item\n col={input.size || 6}\n xs={12}\n key={input.name || key}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <GenericInput\n {...input}\n {...genericInputProps}\n error={errorId}\n onChange={onChange}\n value={value}\n autoFocus={i === 0}\n />\n </Grid.Item>\n );\n })}\n </Grid.Root>\n </Box>\n );\n })}\n </>\n );\n};\n"],"names":["TabForm","form","formErrors","genericInputProps","modifiedData","onChange","formatMessage","useIntl","_jsx","_Fragment","map","section","sectionIndex","items","length","_jsxs","Box","sectionTitle","paddingBottom","Typography","variant","tag","intlLabel","textColor","Grid","Root","gap","input","i","key","value","get","name","undefined","pluginOptionError","Object","keys","find","errorId","id","split","filter","type","Item","col","size","xs","direction","alignItems","div","currentCondition","contentTypeAttributes","contentTypeSchema","attributes","console","warn","availableFields","getAvailableConditionFields","noFieldsMessage","defaultMessage","marginBottom","formatCondition","attributeName","Tooltip","label","Button","marginTop","fullWidth","onClick","target","visible","var","startIcon","span","aria-hidden","disabled","GenericInput","error","autoFocus","conditionFields","onDelete"],"mappings":"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"}
1
+ {"version":3,"file":"TabForm.mjs","sources":["../../../admin/src/components/TabForm.tsx"],"sourcesContent":["import { Box, Grid, Typography, Button, Tooltip } from '@strapi/design-system';\nimport get from 'lodash/get';\nimport { useIntl } from 'react-intl';\n\nimport { getAvailableConditionFields } from '../utils/conditions';\n\nimport { GenericInput } from './GenericInputs';\n\nimport type { AnyAttribute, AttributeConditions, IntlLabel } from '../types';\n\ntype FormInput = Partial<React.ComponentProps<typeof GenericInput>> & {\n name: string;\n type: string;\n size?: number;\n};\n\ntype FormSection = {\n sectionTitle?: IntlLabel | null;\n intlLabel?: IntlLabel;\n items: FormInput[];\n};\n\ntype FormError = {\n id?: string;\n};\n\ntype GenericInputProps = Record<string, unknown> & {\n attributeName?: string;\n contentTypeSchema?: {\n attributes?: AnyAttribute[];\n };\n};\n\ntype ModifiedData = Record<string, unknown> & {\n name?: string;\n};\n\ntype TabFormChangeHandler = (value: {\n target: {\n name: string;\n value?: unknown;\n type?: string;\n };\n}) => void;\n\ntype TabFormProps = {\n form: FormSection[];\n formErrors: Record<string, FormError>;\n genericInputProps: GenericInputProps;\n modifiedData: ModifiedData;\n onChange: TabFormChangeHandler;\n};\n\n/* eslint-disable react/no-array-index-key */\nexport const TabForm = ({\n form,\n formErrors,\n genericInputProps,\n modifiedData,\n onChange,\n}: TabFormProps) => {\n const { formatMessage } = useIntl();\n const sharedInputProps = genericInputProps as Partial<React.ComponentProps<typeof GenericInput>> &\n GenericInputProps;\n\n return (\n <>\n {form.map((section, sectionIndex) => {\n // Don't display an empty section\n if (section.items.length === 0) {\n return null;\n }\n return (\n <Box key={sectionIndex}>\n {section.sectionTitle && (\n <Box paddingBottom={4}>\n <Typography variant=\"delta\" tag=\"h3\">\n {formatMessage(section.sectionTitle)}\n </Typography>\n </Box>\n )}\n {section.intlLabel && (\n <Typography variant=\"pi\" textColor=\"neutral600\">\n {formatMessage(section.intlLabel)}\n </Typography>\n )}\n\n <Grid.Root gap={4}>\n {section.items.map((input, i) => {\n const key = `${sectionIndex}.${i}`;\n const intlLabel = input.intlLabel ?? {\n id: input.name,\n defaultMessage: input.name,\n };\n\n /**\n * Use undefined as the default value because not every input wants a string e.g. Date pickers\n */\n const value = get(modifiedData, input.name, undefined);\n\n // When extending the yup schema of an existing field (like in https://github.com/strapi/strapi/blob/293ff3b8f9559236609d123a2774e3be05ce8274/packages/strapi-plugin-i18n/admin/src/index.js#L52)\n // and triggering a yup validation error in the UI (missing a required field for example)\n // We got an object that looks like: formErrors = { \"pluginOptions.i18n.localized\": {...} }\n // In order to deal with this error, we can't rely on lodash.get to resolve this key\n // - lodash will try to access {pluginOptions: {i18n: {localized: true}}})\n // - and we just want to access { \"pluginOptions.i18n.localized\": {...} }\n // NOTE: this is a hack\n const pluginOptionError = Object.keys(formErrors).find((key) => key === input.name);\n\n // Retrieve the error for a specific input\n const errorId = pluginOptionError\n ? formErrors[pluginOptionError]?.id\n : get(\n formErrors,\n [\n ...input.name\n .split('.')\n // The filter here is used when creating a component\n // in the component step 1 modal\n // Since the component info is stored in the\n // componentToCreate object we can access the error\n // By removing the key\n .filter((key: string) => key !== 'componentToCreate'),\n 'id',\n ],\n null\n );\n\n if (input.type === 'pushRight') {\n return (\n <Grid.Item\n col={input.size ?? 6}\n xs={12}\n key={input.name ?? key}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <div />\n </Grid.Item>\n );\n }\n\n // Special handling for 'condition-form'\n if (input.type === 'condition-form') {\n const currentCondition = get(modifiedData, input.name) as\n | AttributeConditions\n | null\n | undefined;\n\n // Get all attributes from the content type schema\n const contentTypeAttributes =\n sharedInputProps.contentTypeSchema?.attributes ?? [];\n\n if (!sharedInputProps.contentTypeSchema) {\n console.warn('contentTypeSchema is undefined, skipping condition form');\n return null;\n }\n\n // Filter for boolean and enumeration fields only, excluding the current field\n const availableFields = getAvailableConditionFields(\n contentTypeAttributes,\n modifiedData.name ?? ''\n );\n\n const noFieldsMessage = formatMessage({\n id: 'form.attribute.condition.no-fields',\n defaultMessage:\n 'No boolean or enumeration fields available to set conditions on.',\n });\n\n return (\n <Grid.Item\n col={input.size ?? 12}\n xs={12}\n key={input.name ?? key}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n {currentCondition === null ||\n currentCondition === undefined ||\n Object.keys(currentCondition).length === 0 ? (\n <Box>\n <Tooltip label={noFieldsMessage}>\n <Button\n marginTop={4}\n fullWidth={true}\n variant=\"secondary\"\n onClick={() => {\n onChange({\n target: {\n name: input.name,\n value: { visible: { '==': [{ var: '' }, ''] } },\n },\n });\n }}\n startIcon={<span aria-hidden>+</span>}\n disabled={availableFields.length === 0}\n >\n {formatMessage({\n id: 'form.attribute.condition.apply',\n defaultMessage: 'Apply condition',\n })}\n </Button>\n </Tooltip>\n </Box>\n ) : (\n <GenericInput\n {...input}\n {...sharedInputProps}\n error={errorId}\n intlLabel={intlLabel}\n onChange={onChange}\n value={value}\n autoFocus={i === 0}\n attributeName={modifiedData.name}\n conditionFields={availableFields}\n onDelete={() => {\n onChange({\n target: {\n name: input.name,\n },\n });\n }}\n />\n )}\n </Grid.Item>\n );\n }\n\n // Default rendering for all other input types\n return (\n <Grid.Item\n col={input.size ?? 6}\n xs={12}\n key={input.name ?? key}\n direction=\"column\"\n alignItems=\"stretch\"\n >\n <GenericInput\n {...input}\n {...sharedInputProps}\n error={errorId}\n intlLabel={intlLabel}\n onChange={onChange}\n value={value}\n autoFocus={i === 0}\n />\n </Grid.Item>\n );\n })}\n </Grid.Root>\n </Box>\n );\n })}\n </>\n );\n};\n"],"names":["TabForm","form","formErrors","genericInputProps","modifiedData","onChange","formatMessage","useIntl","sharedInputProps","_jsx","_Fragment","map","section","sectionIndex","items","length","_jsxs","Box","sectionTitle","paddingBottom","Typography","variant","tag","intlLabel","textColor","Grid","Root","gap","input","i","key","id","name","defaultMessage","value","get","undefined","pluginOptionError","Object","keys","find","errorId","split","filter","type","Item","col","size","xs","direction","alignItems","div","currentCondition","contentTypeAttributes","contentTypeSchema","attributes","console","warn","availableFields","getAvailableConditionFields","noFieldsMessage","Tooltip","label","Button","marginTop","fullWidth","onClick","target","visible","var","startIcon","span","aria-hidden","disabled","GenericInput","error","autoFocus","attributeName","conditionFields","onDelete"],"mappings":"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"}
@@ -1,21 +1,20 @@
1
- /// <reference types="react" />
2
1
  /**
3
2
  * Translates and fades in from a specified direction.
4
3
  */
5
4
  export declare const AnimatedBox: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<Omit<import("@strapi/design-system").TransientBoxProps & {
6
- children?: import("react").ReactNode;
5
+ children?: React.ReactNode;
7
6
  } & import("@strapi/design-system/dist/types").AsProp<import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements>> & Omit<Omit<any, "ref">, "children" | keyof import("@strapi/design-system/dist/types").AsProp<C> | keyof import("@strapi/design-system").TransientBoxProps> & {
8
7
  ref?: any;
9
8
  }, "ref"> & {
10
9
  ref?: any;
11
10
  }, "$direction"> & {
12
- $direction?: "left" | "up" | undefined;
11
+ $direction?: "up" | "left";
13
12
  }, never> & Partial<Pick<import("styled-components").FastOmit<Omit<import("@strapi/design-system").TransientBoxProps & {
14
- children?: import("react").ReactNode;
13
+ children?: React.ReactNode;
15
14
  } & import("@strapi/design-system/dist/types").AsProp<import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements>> & Omit<Omit<any, "ref">, "children" | keyof import("@strapi/design-system/dist/types").AsProp<C> | keyof import("@strapi/design-system").TransientBoxProps> & {
16
15
  ref?: any;
17
16
  }, "ref"> & {
18
17
  ref?: any;
19
18
  }, "$direction"> & {
20
- $direction?: "left" | "up" | undefined;
19
+ $direction?: "up" | "left";
21
20
  }, never>>> & string & Omit<import("@strapi/design-system").BoxComponent<"div">, keyof import("react").Component<any, {}, any>>;
@@ -5,5 +5,5 @@ interface AttachmentPreviewProps {
5
5
  loading?: boolean;
6
6
  onRemove?: () => void;
7
7
  }
8
- export declare const AttachmentPreview: ({ attachment, onRemove, ...props }: AttachmentPreviewProps & Omit<AttachmentRootProps, 'children'>) => import("react/jsx-runtime").JSX.Element | null;
8
+ export declare const AttachmentPreview: ({ attachment, onRemove, ...props }: AttachmentPreviewProps & Omit<AttachmentRootProps, "children">) => import("react/jsx-runtime").JSX.Element | null;
9
9
  export {};
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { Flex } from '@strapi/design-system';
3
2
  interface UseClipboardPasteProps {
4
3
  onAddFiles: (files: File[]) => void;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  type PanelSize = 'sm' | 'md' | 'lg';
3
2
  type PanelPosition = 'bottom-right' | 'bottom-left' | 'top-right' | 'top-left';
4
3
  interface PanelContextValue {
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { Box, Flex } from '@strapi/design-system';
3
2
  export interface InputContextValue {
4
3
  isLoading?: boolean;
@@ -27,13 +26,13 @@ export declare const Input: {
27
26
  Root: ({ children, isLoading, ...props }: InputRootProps) => import("react/jsx-runtime").JSX.Element;
28
27
  Header: ({ children, ...props }: HeaderProps) => import("react/jsx-runtime").JSX.Element;
29
28
  HeaderItem: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<Omit<import("@strapi/design-system").TransientBoxProps & {
30
- children?: import("react").ReactNode;
29
+ children?: React.ReactNode;
31
30
  } & import("@strapi/design-system/dist/types").AsProp<import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements>> & Omit<Omit<any, "ref">, "children" | keyof import("@strapi/design-system/dist/types").AsProp<C> | keyof import("@strapi/design-system").TransientBoxProps> & {
32
31
  ref?: any;
33
32
  }, "ref"> & {
34
33
  ref?: any;
35
34
  }, never> & Partial<Pick<Omit<import("@strapi/design-system").TransientBoxProps & {
36
- children?: import("react").ReactNode;
35
+ children?: React.ReactNode;
37
36
  } & import("@strapi/design-system/dist/types").AsProp<import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements>> & Omit<Omit<any, "ref">, "children" | keyof import("@strapi/design-system/dist/types").AsProp<C> | keyof import("@strapi/design-system").TransientBoxProps> & {
38
37
  ref?: any;
39
38
  }, "ref"> & {
@@ -1,5 +1,4 @@
1
1
  import { AIMessage } from '../../lib/types/messages';
2
- export declare const ChatMessage: ({ message, isLoading, }: {
2
+ export declare const ChatMessage: ({ message }: {
3
3
  message: AIMessage;
4
- isLoading?: boolean;
5
4
  }) => import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  interface TextAreaProps {
3
2
  value: string;
4
3
  onChange: (e: React.ChangeEvent<HTMLTextAreaElement>) => void;
@@ -7,26 +7,26 @@ type SimpleMenuProps = Menu.TriggerProps & Pick<Menu.ContentProps, 'popoverPlace
7
7
  };
8
8
  declare const SimpleMenu: React.ForwardRefExoticComponent<(Omit<Omit<import("@strapi/design-system").ButtonProps, "tag"> & {
9
9
  endIcon?: React.ReactNode;
10
- label?: React.ReactNode;
10
+ label?: React.ReactNode | string;
11
11
  } & {
12
- tag?: (<C extends React.ElementType<any, keyof React.JSX.IntrinsicElements> = "button">(props: React.PropsWithoutRef<import("@strapi/design-system").ButtonProps<C>> & React.RefAttributes<unknown>) => React.ReactNode) | undefined;
12
+ tag?: <C extends React.ElementType<any, keyof React.JSX.IntrinsicElements> = "button">(props: React.PropsWithoutRef<import("@strapi/design-system").ButtonProps<C>> & React.RefAttributes<unknown>) => React.ReactNode;
13
13
  icon?: React.ReactNode;
14
14
  } & Pick<Menu.ContentProps, "popoverPlacement" | "intersectionId"> & {
15
15
  children?: React.ReactNode;
16
- onOpen?: (() => void) | undefined;
17
- onClose?: (() => void) | undefined;
16
+ onOpen?: () => void;
17
+ onClose?: () => void;
18
18
  }, "ref"> | Omit<Omit<import("@strapi/design-system").ButtonProps, "tag"> & {
19
19
  endIcon?: React.ReactNode;
20
- label?: React.ReactNode;
20
+ label?: React.ReactNode | string;
21
21
  } & {
22
- tag: <C_1 extends React.ElementType<any, keyof React.JSX.IntrinsicElements> = "button">(props: React.PropsWithoutRef<import("@strapi/design-system").IconButtonProps<C_1>> & React.RefAttributes<unknown>) => React.ReactNode;
22
+ tag: <C extends React.ElementType<any, keyof React.JSX.IntrinsicElements> = "button">(props: React.PropsWithoutRef<import("@strapi/design-system").IconButtonProps<C>> & React.RefAttributes<unknown>) => React.ReactNode;
23
23
  icon: React.ReactNode;
24
24
  } & Pick<Menu.ContentProps, "popoverPlacement" | "intersectionId"> & {
25
25
  children?: React.ReactNode;
26
- onOpen?: (() => void) | undefined;
27
- onClose?: (() => void) | undefined;
26
+ onOpen?: () => void;
27
+ onClose?: () => void;
28
28
  }, "ref">) & React.RefAttributes<HTMLButtonElement>>;
29
- declare const MenuItem: ({ onSelect, disabled, isLink, startIcon, endIcon, isExternal, variant, ...props }: Menu.ItemProps<(props: Omit<import("@strapi/design-system").BaseLinkProps<"a">, "ref"> & React.RefAttributes<HTMLAnchorElement>) => React.ReactNode>) => import("react/jsx-runtime").JSX.Element;
29
+ declare const MenuItem: ({ onSelect, disabled, isLink, startIcon, endIcon, isExternal, variant, ...props }: Menu.ItemProps) => import("react/jsx-runtime").JSX.Element;
30
30
  type MenuItemProps = Menu.ItemProps;
31
31
  export { SimpleMenu, MenuItem, Menu };
32
32
  export type { SimpleMenuProps, MenuItemProps };
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  interface FigmaIconProps extends React.SVGProps<SVGSVGElement> {
3
2
  }
4
3
  export declare const FigmaIcon: (props: FigmaIconProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  interface StopIconProps extends React.SVGProps<SVGSVGElement> {
3
2
  }
4
3
  export declare const StopIcon: (props: StopIconProps) => import("react/jsx-runtime").JSX.Element;
@@ -108,7 +108,7 @@ export declare const INVALID_REQUEST_ERROR = "Invalid request";
108
108
  export declare const createAIFetchHook: <T extends keyof AIEndpoints>(endpoint: T) => () => {
109
109
  isPending: boolean;
110
110
  error: string | null;
111
- fetch: (options?: Omit<RequestInit, 'body'> & Partial<RequestType<T>> & {
111
+ fetch: (options?: Omit<RequestInit, "body"> & Partial<RequestType<T>> & {
112
112
  formData?: FormData;
113
113
  }) => Promise<ResponseType<T> | null>;
114
114
  };
@@ -116,28 +116,28 @@ export declare const useFetchGenerateTitle: () => {
116
116
  isPending: boolean;
117
117
  error: string | null;
118
118
  fetch: (options?: Omit<RequestInit, "body"> & Partial<GenerateTitle.Request> & {
119
- formData?: FormData | undefined;
119
+ formData?: FormData;
120
120
  }) => Promise<GenerateTitle.Response | null>;
121
121
  };
122
122
  export declare const useFetchUploadProject: () => {
123
123
  isPending: boolean;
124
124
  error: string | null;
125
125
  fetch: (options?: Omit<RequestInit, "body"> & Partial<UploadProject.Request> & {
126
- formData?: FormData | undefined;
126
+ formData?: FormData;
127
127
  }) => Promise<UploadProject.Response | null>;
128
128
  };
129
129
  export declare const useFetchSendFeedback: () => {
130
130
  isPending: boolean;
131
131
  error: string | null;
132
132
  fetch: (options?: Omit<RequestInit, "body"> & Partial<SendFeedback.Request> & {
133
- formData?: FormData | undefined;
133
+ formData?: FormData;
134
134
  }) => Promise<void | null>;
135
135
  };
136
136
  export declare const useFetchUploadMedia: () => {
137
137
  isPending: boolean;
138
138
  error: string | null;
139
139
  fetch: (options?: Omit<RequestInit, "body"> & Partial<UploadMedia.Request> & {
140
- formData?: FormData | undefined;
140
+ formData?: FormData;
141
141
  }) => Promise<UploadMedia.Response | null>;
142
142
  };
143
143
  /**
@@ -12,7 +12,7 @@ export interface AITokenData {
12
12
  export declare const clearAIJwt: () => void;
13
13
  export declare const getAIJwt: () => Promise<AITokenData | null>;
14
14
  export declare const prefetchAIToken: () => Promise<void>;
15
- export declare const safeParseJson: (response: Response) => Promise<any>;
15
+ export declare const safeParseJson: (response: Response) => Promise<unknown>;
16
16
  export interface StrapiContextHeaders {
17
17
  strapiVersion?: string | null;
18
18
  projectId?: string | null;
@@ -1,3 +1,7 @@
1
- import { Schema } from '../../types/schema';
2
1
  import type { ContentType, Component } from '../../../../../types';
3
- export declare const transformCTBToChat: (schema: ContentType | Component) => Schema;
2
+ import type { Schema } from '../../types/schema';
3
+ type SchemaWithSources = (ContentType | Component) & {
4
+ sources?: unknown;
5
+ };
6
+ export declare const transformCTBToChat: (schema: SchemaWithSources) => Schema;
7
+ export {};
@@ -1,5 +1,5 @@
1
- import { Schema } from '../../types/schema';
2
1
  import type { ContentType, Component, AnyAttribute } from '../../../../../types';
2
+ import type { Schema } from '../../types/schema';
3
3
  /**
4
4
  * Transform attributes from Chat format to CTB format
5
5
  * Also performs a diff to determine the status of each attribute
@@ -1,9 +1,11 @@
1
+ import type { AnyAttribute } from '../../../../types';
2
+ export type SchemaAttribute = Omit<AnyAttribute, 'name' | 'status'> & Record<string, unknown>;
1
3
  /**
2
4
  * Strapi schema, this is a simplification to make it easier to work with
3
5
  */
4
6
  export type Schema = {
5
7
  action: 'create' | 'update' | 'remove';
6
- kind?: 'singleType' | 'collectionType';
8
+ kind?: 'singleType' | 'collectionType' | 'component';
7
9
  uid: string;
8
10
  /** Set for plugin content-types (`plugin::…`) */
9
11
  plugin?: string;
@@ -15,8 +17,6 @@ export type Schema = {
15
17
  draftAndPublish?: boolean;
16
18
  localized?: boolean;
17
19
  };
18
- attributes: Record<string, {
19
- type: string;
20
- [key: string]: any;
21
- }>;
20
+ attributes: Record<string, SchemaAttribute>;
21
+ sources?: unknown;
22
22
  };
@@ -1,9 +1,9 @@
1
- import { IntlLabel } from '../types';
1
+ import type { FormChangeHandler, IntlLabel } from '../types';
2
2
  interface AllowedTypesSelectProps {
3
3
  intlLabel: IntlLabel;
4
4
  name: string;
5
- onChange: (value: any) => void;
6
- value?: any;
5
+ onChange: FormChangeHandler<string[] | null, 'allowed-types-select'>;
6
+ value?: string[] | null;
7
7
  }
8
8
  export declare const AllowedTypesSelect: ({ intlLabel, name, onChange, value, }: AllowedTypesSelectProps) => import("react/jsx-runtime").JSX.Element;
9
9
  export {};
@@ -1,12 +1,11 @@
1
- /// <reference types="react" />
2
1
  export declare const OptionBoxWrapper: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<Omit<import("@strapi/design-system").TransientBoxProps & {
3
- children?: import("react").ReactNode;
2
+ children?: React.ReactNode;
4
3
  } & import("@strapi/design-system/dist/types").AsProp<import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements>> & Omit<Omit<any, "ref">, "children" | keyof import("@strapi/design-system/dist/types").AsProp<C> | keyof import("@strapi/design-system").TransientBoxProps> & {
5
4
  ref?: any;
6
5
  }, "ref"> & {
7
6
  ref?: any;
8
7
  }, never> & Partial<Pick<Omit<import("@strapi/design-system").TransientBoxProps & {
9
- children?: import("react").ReactNode;
8
+ children?: React.ReactNode;
10
9
  } & import("@strapi/design-system/dist/types").AsProp<import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements>> & Omit<Omit<any, "ref">, "children" | keyof import("@strapi/design-system/dist/types").AsProp<C> | keyof import("@strapi/design-system").TransientBoxProps> & {
11
10
  ref?: any;
12
11
  }, "ref"> & {
@@ -1,18 +1,17 @@
1
- /// <reference types="react" />
2
1
  import type { AnyAttribute, Component, ContentType } from '../types';
3
2
  import type { DraggableAttributes, DraggableSyntheticListeners } from '@dnd-kit/core';
4
3
  import type { UID } from '@strapi/types';
5
4
  export declare const GridWrapper: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("styled-components").FastOmit<Omit<Omit<import("@strapi/design-system").FlexProps<import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements>>, "ref"> & import("react").RefAttributes<unknown>, "ref"> & {
6
- ref?: ((instance: unknown) => void) | import("react").RefObject<unknown> | null | undefined;
5
+ ref?: ((instance: unknown) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<unknown> | null | undefined;
7
6
  }, "$isOverlay" | "$isDragging"> & {
8
- $isOverlay?: boolean | undefined;
9
- $isDragging?: boolean | undefined;
7
+ $isOverlay?: boolean;
8
+ $isDragging?: boolean;
10
9
  }, never> & Partial<Pick<import("styled-components").FastOmit<Omit<Omit<import("@strapi/design-system").FlexProps<import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements>>, "ref"> & import("react").RefAttributes<unknown>, "ref"> & {
11
- ref?: ((instance: unknown) => void) | import("react").RefObject<unknown> | null | undefined;
10
+ ref?: ((instance: unknown) => void | import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES[keyof import("react").DO_NOT_USE_OR_YOU_WILL_BE_FIRED_CALLBACK_REF_RETURN_VALUES]) | import("react").RefObject<unknown> | null | undefined;
12
11
  }, "$isOverlay" | "$isDragging"> & {
13
- $isOverlay?: boolean | undefined;
14
- $isDragging?: boolean | undefined;
15
- }, never>>> & string & Omit<(<C extends import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> = "div">(props: import("react").PropsWithoutRef<import("@strapi/design-system").FlexProps<C>> & import("react").RefAttributes<unknown>) => import("react").ReactNode), keyof import("react").Component<any, {}, any>>;
12
+ $isOverlay?: boolean;
13
+ $isDragging?: boolean;
14
+ }, never>>> & string & Omit<(<C extends React.ElementType<any, keyof React.JSX.IntrinsicElements> = "div">(props: React.PropsWithoutRef<import("@strapi/design-system").FlexProps<C>> & React.RefAttributes<unknown>) => React.ReactNode), keyof import("react").Component<any, {}, any>>;
16
15
  export type AttributeRowProps = {
17
16
  item: {
18
17
  id: string;
@@ -1,4 +1,4 @@
1
- import { IntlLabel } from '../types';
1
+ import type { FormChangeHandler, IntlLabel } from '../types';
2
2
  interface Metadata {
3
3
  intlLabel: IntlLabel;
4
4
  disabled?: boolean;
@@ -12,9 +12,9 @@ interface Option {
12
12
  interface BooleanDefaultValueSelectProps {
13
13
  intlLabel: IntlLabel;
14
14
  name: string;
15
- onChange: (value: any) => void;
15
+ onChange: FormChangeHandler<boolean | string, 'select-default-boolean'>;
16
16
  options: Option[];
17
- value?: any;
17
+ value?: boolean | string | null;
18
18
  }
19
19
  export declare const BooleanDefaultValueSelect: ({ intlLabel, name, options, onChange, value, }: BooleanDefaultValueSelectProps) => import("react/jsx-runtime").JSX.Element;
20
20
  export {};
@@ -1,8 +1,8 @@
1
- import { IntlLabel } from '../types';
1
+ import type { FormChangeHandler, IntlLabel } from '../types';
2
2
  interface BooleanRadioGroupProps {
3
3
  intlLabel: IntlLabel;
4
4
  name: string;
5
- onChange: (value: any) => void;
5
+ onChange: FormChangeHandler<boolean, 'boolean-radio-group'>;
6
6
  }
7
7
  export declare const BooleanRadioGroup: ({ onChange, name, intlLabel, ...rest }: BooleanRadioGroupProps) => import("react/jsx-runtime").JSX.Element;
8
8
  export {};
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  /**
3
2
  * Context for managing CTB (Content Type Builder) session tracking.
4
3
  *
@@ -9,5 +9,5 @@
9
9
  * object before forwarding to the original tracking implementation.
10
10
  */
11
11
  export declare const useCTBTracking: () => {
12
- trackUsage: (event: string, properties?: Record<string, unknown>) => any;
12
+ trackUsage: (event: string, properties?: Record<string, unknown>) => Promise<import("axios").AxiosResponse<string, any, {}> | null>;
13
13
  };