@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
@@ -1 +1 @@
1
- {"version":3,"file":"BooleanDefaultValueSelect.mjs","sources":["../../../admin/src/components/BooleanDefaultValueSelect.tsx"],"sourcesContent":["import { Field, SingleSelect, SingleSelectOption } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { IntlLabel } from '../types';\n\ninterface Metadata {\n intlLabel: IntlLabel;\n disabled?: boolean;\n hidden?: boolean;\n}\n\ninterface Option {\n metadatas: Metadata;\n key: string | number;\n value: string | number;\n}\n\ninterface BooleanDefaultValueSelectProps {\n intlLabel: IntlLabel;\n name: string;\n onChange: (value: any) => void;\n options: Option[];\n value?: any;\n}\n\nexport const BooleanDefaultValueSelect = ({\n intlLabel,\n name,\n options,\n onChange,\n value = null,\n}: BooleanDefaultValueSelectProps) => {\n const { formatMessage } = useIntl();\n const label = intlLabel.id\n ? formatMessage(\n { id: intlLabel.id, defaultMessage: intlLabel.defaultMessage },\n { ...intlLabel.values }\n )\n : name;\n\n const handleChange = (value: any) => {\n let nextValue: boolean | string = '';\n\n if (value === 'true') {\n nextValue = true;\n }\n\n if (value === 'false') {\n nextValue = false;\n }\n\n onChange({ target: { name, value: nextValue, type: 'select-default-boolean' } });\n };\n\n return (\n <Field.Root name={name}>\n <Field.Label>{label}</Field.Label>\n <SingleSelect onChange={handleChange} value={(value === null ? '' : value).toString()}>\n {options.map(({ metadatas: { intlLabel, disabled, hidden }, key, value }) => {\n return (\n <SingleSelectOption key={key} value={value} disabled={disabled} hidden={hidden}>\n {/* No need to translate the options */}\n {intlLabel.defaultMessage}\n </SingleSelectOption>\n );\n })}\n </SingleSelect>\n </Field.Root>\n );\n};\n"],"names":["BooleanDefaultValueSelect","intlLabel","name","options","onChange","value","formatMessage","useIntl","label","id","defaultMessage","values","handleChange","nextValue","target","type","_jsxs","Field","Root","_jsx","Label","SingleSelect","toString","map","metadatas","disabled","hidden","key","SingleSelectOption"],"mappings":";;;;AAyBO,MAAMA,yBAAAA,GAA4B,CAAC,EACxCC,SAAS,EACTC,IAAI,EACJC,OAAO,EACPC,QAAQ,EACRC,KAAAA,GAAQ,IAAI,EACmB,GAAA;IAC/B,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAC1B,IAAA,MAAMC,KAAAA,GAAQP,SAAAA,CAAUQ,EAAE,GACtBH,aAAAA,CACE;AAAEG,QAAAA,EAAAA,EAAIR,UAAUQ,EAAE;AAAEC,QAAAA,cAAAA,EAAgBT,UAAUS;KAAe,EAC7D;AAAE,QAAA,GAAGT,UAAUU;KAAO,CAAA,GAExBT,IAAAA;AAEJ,IAAA,MAAMU,eAAe,CAACP,KAAAA,GAAAA;AACpB,QAAA,IAAIQ,SAAAA,GAA8B,EAAA;AAElC,QAAA,IAAIR,UAAU,MAAA,EAAQ;YACpBQ,SAAAA,GAAY,IAAA;AACd,QAAA;AAEA,QAAA,IAAIR,UAAU,OAAA,EAAS;YACrBQ,SAAAA,GAAY,KAAA;AACd,QAAA;QAEAT,QAAAA,CAAS;YAAEU,MAAAA,EAAQ;AAAEZ,gBAAAA,IAAAA;gBAAMG,KAAAA,EAAOQ,SAAAA;gBAAWE,IAAAA,EAAM;AAAyB;AAAE,SAAA,CAAA;AAChF,IAAA,CAAA;IAEA,qBACEC,IAAA,CAACC,MAAMC,IAAI,EAAA;QAAChB,IAAAA,EAAMA,IAAAA;;AAChB,0BAAAiB,GAAA,CAACF,MAAMG,KAAK,EAAA;AAAEZ,gBAAAA,QAAAA,EAAAA;;0BACdW,GAAA,CAACE,YAAAA,EAAAA;gBAAajB,QAAAA,EAAUQ,YAAAA;AAAcP,gBAAAA,KAAAA,EAAO,CAACA,KAAAA,KAAU,OAAO,EAAA,GAAKA,KAAI,EAAGiB,QAAQ,EAAA;AAChFnB,gBAAAA,QAAAA,EAAAA,OAAAA,CAAQoB,GAAG,CAAC,CAAC,EAAEC,SAAAA,EAAW,EAAEvB,SAAS,EAAEwB,QAAQ,EAAEC,MAAM,EAAE,EAAEC,GAAG,EAAEtB,KAAK,EAAE,GAAA;AACtE,oBAAA,qBACEc,GAAA,CAACS,kBAAAA,EAAAA;wBAA6BvB,KAAAA,EAAOA,KAAAA;wBAAOoB,QAAAA,EAAUA,QAAAA;wBAAUC,MAAAA,EAAQA,MAAAA;AAErEzB,wBAAAA,QAAAA,EAAAA,SAAAA,CAAUS;AAFYiB,qBAAAA,EAAAA,GAAAA,CAAAA;AAK7B,gBAAA,CAAA;;;;AAIR;;;;"}
1
+ {"version":3,"file":"BooleanDefaultValueSelect.mjs","sources":["../../../admin/src/components/BooleanDefaultValueSelect.tsx"],"sourcesContent":["import { Field, SingleSelect, SingleSelectOption } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport type { FormChangeHandler, IntlLabel } from '../types';\n\ninterface Metadata {\n intlLabel: IntlLabel;\n disabled?: boolean;\n hidden?: boolean;\n}\n\ninterface Option {\n metadatas: Metadata;\n key: string | number;\n value: string | number;\n}\n\ninterface BooleanDefaultValueSelectProps {\n intlLabel: IntlLabel;\n name: string;\n onChange: FormChangeHandler<boolean | string, 'select-default-boolean'>;\n options: Option[];\n value?: boolean | string | null;\n}\n\nexport const BooleanDefaultValueSelect = ({\n intlLabel,\n name,\n options,\n onChange,\n value = null,\n}: BooleanDefaultValueSelectProps) => {\n const { formatMessage } = useIntl();\n const label = intlLabel.id\n ? formatMessage(\n { id: intlLabel.id, defaultMessage: intlLabel.defaultMessage },\n { ...intlLabel.values }\n )\n : name;\n\n const handleChange = (value: string | number) => {\n const stringValue = value.toString();\n let nextValue: boolean | string = '';\n\n if (stringValue === 'true') {\n nextValue = true;\n }\n\n if (stringValue === 'false') {\n nextValue = false;\n }\n\n onChange({ target: { name, value: nextValue, type: 'select-default-boolean' } });\n };\n\n return (\n <Field.Root name={name}>\n <Field.Label>{label}</Field.Label>\n <SingleSelect onChange={handleChange} value={(value === null ? '' : value).toString()}>\n {options.map(({ metadatas: { intlLabel, disabled, hidden }, key, value }) => {\n return (\n <SingleSelectOption key={key} value={value} disabled={disabled} hidden={hidden}>\n {/* No need to translate the options */}\n {intlLabel.defaultMessage}\n </SingleSelectOption>\n );\n })}\n </SingleSelect>\n </Field.Root>\n );\n};\n"],"names":["BooleanDefaultValueSelect","intlLabel","name","options","onChange","value","formatMessage","useIntl","label","id","defaultMessage","values","handleChange","stringValue","toString","nextValue","target","type","_jsxs","Field","Root","_jsx","Label","SingleSelect","map","metadatas","disabled","hidden","key","SingleSelectOption"],"mappings":";;;;AAyBO,MAAMA,yBAAAA,GAA4B,CAAC,EACxCC,SAAS,EACTC,IAAI,EACJC,OAAO,EACPC,QAAQ,EACRC,KAAAA,GAAQ,IAAI,EACmB,GAAA;IAC/B,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAC1B,IAAA,MAAMC,KAAAA,GAAQP,SAAAA,CAAUQ,EAAE,GACtBH,aAAAA,CACE;AAAEG,QAAAA,EAAAA,EAAIR,UAAUQ,EAAE;AAAEC,QAAAA,cAAAA,EAAgBT,UAAUS;KAAe,EAC7D;AAAE,QAAA,GAAGT,UAAUU;KAAO,CAAA,GAExBT,IAAAA;AAEJ,IAAA,MAAMU,eAAe,CAACP,KAAAA,GAAAA;QACpB,MAAMQ,WAAAA,GAAcR,MAAMS,QAAQ,EAAA;AAClC,QAAA,IAAIC,SAAAA,GAA8B,EAAA;AAElC,QAAA,IAAIF,gBAAgB,MAAA,EAAQ;YAC1BE,SAAAA,GAAY,IAAA;AACd,QAAA;AAEA,QAAA,IAAIF,gBAAgB,OAAA,EAAS;YAC3BE,SAAAA,GAAY,KAAA;AACd,QAAA;QAEAX,QAAAA,CAAS;YAAEY,MAAAA,EAAQ;AAAEd,gBAAAA,IAAAA;gBAAMG,KAAAA,EAAOU,SAAAA;gBAAWE,IAAAA,EAAM;AAAyB;AAAE,SAAA,CAAA;AAChF,IAAA,CAAA;IAEA,qBACEC,IAAA,CAACC,MAAMC,IAAI,EAAA;QAAClB,IAAAA,EAAMA,IAAAA;;AAChB,0BAAAmB,GAAA,CAACF,MAAMG,KAAK,EAAA;AAAEd,gBAAAA,QAAAA,EAAAA;;0BACda,GAAA,CAACE,YAAAA,EAAAA;gBAAanB,QAAAA,EAAUQ,YAAAA;AAAcP,gBAAAA,KAAAA,EAAO,CAACA,KAAAA,KAAU,OAAO,EAAA,GAAKA,KAAI,EAAGS,QAAQ,EAAA;AAChFX,gBAAAA,QAAAA,EAAAA,OAAAA,CAAQqB,GAAG,CAAC,CAAC,EAAEC,SAAAA,EAAW,EAAExB,SAAS,EAAEyB,QAAQ,EAAEC,MAAM,EAAE,EAAEC,GAAG,EAAEvB,KAAK,EAAE,GAAA;AACtE,oBAAA,qBACEgB,GAAA,CAACQ,kBAAAA,EAAAA;wBAA6BxB,KAAAA,EAAOA,KAAAA;wBAAOqB,QAAAA,EAAUA,QAAAA;wBAAUC,MAAAA,EAAQA,MAAAA;AAErE1B,wBAAAA,QAAAA,EAAAA,SAAAA,CAAUS;AAFYkB,qBAAAA,EAAAA,GAAAA,CAAAA;AAK7B,gBAAA,CAAA;;;;AAIR;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"BooleanRadioGroup.js","sources":["../../../admin/src/components/BooleanRadioGroup.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { IntlLabel } from '../types';\n\nimport { CustomRadioGroup } from './CustomRadioGroup';\n\ninterface BooleanRadioGroupProps {\n intlLabel: IntlLabel;\n name: string;\n onChange: (value: any) => void;\n}\n\nexport const BooleanRadioGroup = ({\n onChange,\n name,\n intlLabel,\n ...rest\n}: BooleanRadioGroupProps) => {\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const checked = e.target.value !== 'false';\n\n onChange({ target: { name, value: checked, type: 'boolean-radio-group' } });\n };\n\n return <CustomRadioGroup {...rest} name={name} onChange={handleChange} intlLabel={intlLabel} />;\n};\n"],"names":["BooleanRadioGroup","onChange","name","intlLabel","rest","handleChange","e","checked","target","value","type","_jsx","CustomRadioGroup"],"mappings":";;;;;;AAYO,MAAMA,iBAAAA,GAAoB,CAAC,EAChCC,QAAQ,EACRC,IAAI,EACJC,SAAS,EACT,GAAGC,IAAAA,EACoB,GAAA;AACvB,IAAA,MAAMC,eAAe,CAACC,CAAAA,GAAAA;AACpB,QAAA,MAAMC,OAAAA,GAAUD,CAAAA,CAAEE,MAAM,CAACC,KAAK,KAAK,OAAA;QAEnCR,QAAAA,CAAS;YAAEO,MAAAA,EAAQ;AAAEN,gBAAAA,IAAAA;gBAAMO,KAAAA,EAAOF,OAAAA;gBAASG,IAAAA,EAAM;AAAsB;AAAE,SAAA,CAAA;AAC3E,IAAA,CAAA;AAEA,IAAA,qBAAOC,cAAA,CAACC,iCAAAA,EAAAA;AAAkB,QAAA,GAAGR,IAAI;QAAEF,IAAAA,EAAMA,IAAAA;QAAMD,QAAAA,EAAUI,YAAAA;QAAcF,SAAAA,EAAWA;;AACpF;;;;"}
1
+ {"version":3,"file":"BooleanRadioGroup.js","sources":["../../../admin/src/components/BooleanRadioGroup.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { CustomRadioGroup } from './CustomRadioGroup';\n\nimport type { FormChangeHandler, IntlLabel } from '../types';\n\ninterface BooleanRadioGroupProps {\n intlLabel: IntlLabel;\n name: string;\n onChange: FormChangeHandler<boolean, 'boolean-radio-group'>;\n}\n\nexport const BooleanRadioGroup = ({\n onChange,\n name,\n intlLabel,\n ...rest\n}: BooleanRadioGroupProps) => {\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const checked = e.target.value !== 'false';\n\n onChange({ target: { name, value: checked, type: 'boolean-radio-group' } });\n };\n\n return <CustomRadioGroup {...rest} name={name} onChange={handleChange} intlLabel={intlLabel} />;\n};\n"],"names":["BooleanRadioGroup","onChange","name","intlLabel","rest","handleChange","e","checked","target","value","type","_jsx","CustomRadioGroup"],"mappings":";;;;;;AAYO,MAAMA,iBAAAA,GAAoB,CAAC,EAChCC,QAAQ,EACRC,IAAI,EACJC,SAAS,EACT,GAAGC,IAAAA,EACoB,GAAA;AACvB,IAAA,MAAMC,eAAe,CAACC,CAAAA,GAAAA;AACpB,QAAA,MAAMC,OAAAA,GAAUD,CAAAA,CAAEE,MAAM,CAACC,KAAK,KAAK,OAAA;QAEnCR,QAAAA,CAAS;YAAEO,MAAAA,EAAQ;AAAEN,gBAAAA,IAAAA;gBAAMO,KAAAA,EAAOF,OAAAA;gBAASG,IAAAA,EAAM;AAAsB;AAAE,SAAA,CAAA;AAC3E,IAAA,CAAA;AAEA,IAAA,qBAAOC,cAAA,CAACC,iCAAAA,EAAAA;AAAkB,QAAA,GAAGR,IAAI;QAAEF,IAAAA,EAAMA,IAAAA;QAAMD,QAAAA,EAAUI,YAAAA;QAAcF,SAAAA,EAAWA;;AACpF;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"BooleanRadioGroup.mjs","sources":["../../../admin/src/components/BooleanRadioGroup.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { IntlLabel } from '../types';\n\nimport { CustomRadioGroup } from './CustomRadioGroup';\n\ninterface BooleanRadioGroupProps {\n intlLabel: IntlLabel;\n name: string;\n onChange: (value: any) => void;\n}\n\nexport const BooleanRadioGroup = ({\n onChange,\n name,\n intlLabel,\n ...rest\n}: BooleanRadioGroupProps) => {\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const checked = e.target.value !== 'false';\n\n onChange({ target: { name, value: checked, type: 'boolean-radio-group' } });\n };\n\n return <CustomRadioGroup {...rest} name={name} onChange={handleChange} intlLabel={intlLabel} />;\n};\n"],"names":["BooleanRadioGroup","onChange","name","intlLabel","rest","handleChange","e","checked","target","value","type","_jsx","CustomRadioGroup"],"mappings":";;;;AAYO,MAAMA,iBAAAA,GAAoB,CAAC,EAChCC,QAAQ,EACRC,IAAI,EACJC,SAAS,EACT,GAAGC,IAAAA,EACoB,GAAA;AACvB,IAAA,MAAMC,eAAe,CAACC,CAAAA,GAAAA;AACpB,QAAA,MAAMC,OAAAA,GAAUD,CAAAA,CAAEE,MAAM,CAACC,KAAK,KAAK,OAAA;QAEnCR,QAAAA,CAAS;YAAEO,MAAAA,EAAQ;AAAEN,gBAAAA,IAAAA;gBAAMO,KAAAA,EAAOF,OAAAA;gBAASG,IAAAA,EAAM;AAAsB;AAAE,SAAA,CAAA;AAC3E,IAAA,CAAA;AAEA,IAAA,qBAAOC,GAAA,CAACC,gBAAAA,EAAAA;AAAkB,QAAA,GAAGR,IAAI;QAAEF,IAAAA,EAAMA,IAAAA;QAAMD,QAAAA,EAAUI,YAAAA;QAAcF,SAAAA,EAAWA;;AACpF;;;;"}
1
+ {"version":3,"file":"BooleanRadioGroup.mjs","sources":["../../../admin/src/components/BooleanRadioGroup.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { CustomRadioGroup } from './CustomRadioGroup';\n\nimport type { FormChangeHandler, IntlLabel } from '../types';\n\ninterface BooleanRadioGroupProps {\n intlLabel: IntlLabel;\n name: string;\n onChange: FormChangeHandler<boolean, 'boolean-radio-group'>;\n}\n\nexport const BooleanRadioGroup = ({\n onChange,\n name,\n intlLabel,\n ...rest\n}: BooleanRadioGroupProps) => {\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const checked = e.target.value !== 'false';\n\n onChange({ target: { name, value: checked, type: 'boolean-radio-group' } });\n };\n\n return <CustomRadioGroup {...rest} name={name} onChange={handleChange} intlLabel={intlLabel} />;\n};\n"],"names":["BooleanRadioGroup","onChange","name","intlLabel","rest","handleChange","e","checked","target","value","type","_jsx","CustomRadioGroup"],"mappings":";;;;AAYO,MAAMA,iBAAAA,GAAoB,CAAC,EAChCC,QAAQ,EACRC,IAAI,EACJC,SAAS,EACT,GAAGC,IAAAA,EACoB,GAAA;AACvB,IAAA,MAAMC,eAAe,CAACC,CAAAA,GAAAA;AACpB,QAAA,MAAMC,OAAAA,GAAUD,CAAAA,CAAEE,MAAM,CAACC,KAAK,KAAK,OAAA;QAEnCR,QAAAA,CAAS;YAAEO,MAAAA,EAAQ;AAAEN,gBAAAA,IAAAA;gBAAMO,KAAAA,EAAOF,OAAAA;gBAASG,IAAAA,EAAM;AAAsB;AAAE,SAAA,CAAA;AAC3E,IAAA,CAAA;AAEA,IAAA,qBAAOC,GAAA,CAACC,gBAAAA,EAAAA;AAAkB,QAAA,GAAGR,IAAI;QAAEF,IAAAA,EAAMA,IAAAA;QAAMD,QAAAA,EAAUI,YAAAA;QAAcF,SAAAA,EAAWA;;AACpF;;;;"}
@@ -21,9 +21,9 @@ var useCTBSession = require('./useCTBSession.js');
21
21
  ...properties ?? {},
22
22
  ctbSessionId: sessionId
23
23
  };
24
- // Forward to original implementation. Casts are necessary because
25
- // originalTrackUsage has strict overloads for known event names.
26
- return originalTrackUsage(event, enhancedProperties);
24
+ // The admin tracking API is typed for declared events, but CTB emits extension events too.
25
+ const trackDynamicEvent = originalTrackUsage;
26
+ return trackDynamicEvent(event, enhancedProperties);
27
27
  }, [
28
28
  originalTrackUsage,
29
29
  sessionId
@@ -1 +1 @@
1
- {"version":3,"file":"useCTBTracking.js","sources":["../../../../admin/src/components/CTBSession/useCTBTracking.ts"],"sourcesContent":["import { useCallback } from 'react';\n\nimport { useTracking } from '@strapi/admin/strapi-admin';\n\nimport { useCTBSession } from './useCTBSession';\n\n/**\n * Hook that provides tracking functionality with automatic CTB session ID inclusion.\n * This version accepts arbitrary event names (string) to allow feature-specific\n * events that are not yet declared in the central tracking typings.\n *\n * Note: this intentionally relaxes TypeScript restrictions so callers can\n * emit new tracking event names without needing to update the upstream\n * tracking type definitions. The session ID is merged into the properties\n * object before forwarding to the original tracking implementation.\n */\nexport const useCTBTracking = () => {\n const { trackUsage: originalTrackUsage } = useTracking();\n const { sessionId } = useCTBSession();\n\n const trackUsage = useCallback(\n (event: string, properties?: Record<string, unknown>) => {\n const enhancedProperties = {\n ...(properties ?? {}),\n ctbSessionId: sessionId,\n };\n\n // Forward to original implementation. Casts are necessary because\n // originalTrackUsage has strict overloads for known event names.\n return (originalTrackUsage as any)(event, enhancedProperties as any);\n },\n [originalTrackUsage, sessionId]\n );\n\n return { trackUsage };\n};\n"],"names":["useCTBTracking","trackUsage","originalTrackUsage","useTracking","sessionId","useCTBSession","useCallback","event","properties","enhancedProperties","ctbSessionId"],"mappings":";;;;;;AAMA;;;;;;;;;UAUaA,cAAAA,GAAiB,IAAA;AAC5B,IAAA,MAAM,EAAEC,UAAAA,EAAYC,kBAAkB,EAAE,GAAGC,uBAAAA,EAAAA;IAC3C,MAAM,EAAEC,SAAS,EAAE,GAAGC,2BAAAA,EAAAA;IAEtB,MAAMJ,UAAAA,GAAaK,iBAAAA,CACjB,CAACC,KAAAA,EAAeC,UAAAA,GAAAA;AACd,QAAA,MAAMC,kBAAAA,GAAqB;YACzB,GAAID,UAAAA,IAAc,EAAE;YACpBE,YAAAA,EAAcN;AAChB,SAAA;;;QAIA,OAAQF,mBAA2BK,KAAAA,EAAOE,kBAAAA,CAAAA;IAC5C,CAAA,EACA;AAACP,QAAAA,kBAAAA;AAAoBE,QAAAA;AAAU,KAAA,CAAA;IAGjC,OAAO;AAAEH,QAAAA;AAAW,KAAA;AACtB;;;;"}
1
+ {"version":3,"file":"useCTBTracking.js","sources":["../../../../admin/src/components/CTBSession/useCTBTracking.ts"],"sourcesContent":["import { useCallback } from 'react';\n\nimport { useTracking } from '@strapi/admin/strapi-admin';\n\nimport { useCTBSession } from './useCTBSession';\n\ntype TrackUsageWithDynamicEvent = (\n event: string,\n properties: Record<string, unknown>\n) => ReturnType<ReturnType<typeof useTracking>['trackUsage']>;\n\n/**\n * Hook that provides tracking functionality with automatic CTB session ID inclusion.\n * This version accepts arbitrary event names (string) to allow feature-specific\n * events that are not yet declared in the central tracking typings.\n *\n * Note: this intentionally relaxes TypeScript restrictions so callers can\n * emit new tracking event names without needing to update the upstream\n * tracking type definitions. The session ID is merged into the properties\n * object before forwarding to the original tracking implementation.\n */\nexport const useCTBTracking = () => {\n const { trackUsage: originalTrackUsage } = useTracking();\n const { sessionId } = useCTBSession();\n\n const trackUsage = useCallback(\n (event: string, properties?: Record<string, unknown>) => {\n const enhancedProperties = {\n ...(properties ?? {}),\n ctbSessionId: sessionId,\n };\n\n // The admin tracking API is typed for declared events, but CTB emits extension events too.\n const trackDynamicEvent = originalTrackUsage as unknown as TrackUsageWithDynamicEvent;\n\n return trackDynamicEvent(event, enhancedProperties);\n },\n [originalTrackUsage, sessionId]\n );\n\n return { trackUsage };\n};\n"],"names":["useCTBTracking","trackUsage","originalTrackUsage","useTracking","sessionId","useCTBSession","useCallback","event","properties","enhancedProperties","ctbSessionId","trackDynamicEvent"],"mappings":";;;;;;AAWA;;;;;;;;;UAUaA,cAAAA,GAAiB,IAAA;AAC5B,IAAA,MAAM,EAAEC,UAAAA,EAAYC,kBAAkB,EAAE,GAAGC,uBAAAA,EAAAA;IAC3C,MAAM,EAAEC,SAAS,EAAE,GAAGC,2BAAAA,EAAAA;IAEtB,MAAMJ,UAAAA,GAAaK,iBAAAA,CACjB,CAACC,KAAAA,EAAeC,UAAAA,GAAAA;AACd,QAAA,MAAMC,kBAAAA,GAAqB;YACzB,GAAID,UAAAA,IAAc,EAAE;YACpBE,YAAAA,EAAcN;AAChB,SAAA;;AAGA,QAAA,MAAMO,iBAAAA,GAAoBT,kBAAAA;AAE1B,QAAA,OAAOS,kBAAkBJ,KAAAA,EAAOE,kBAAAA,CAAAA;IAClC,CAAA,EACA;AAACP,QAAAA,kBAAAA;AAAoBE,QAAAA;AAAU,KAAA,CAAA;IAGjC,OAAO;AAAEH,QAAAA;AAAW,KAAA;AACtB;;;;"}
@@ -19,9 +19,9 @@ import { useCTBSession } from './useCTBSession.mjs';
19
19
  ...properties ?? {},
20
20
  ctbSessionId: sessionId
21
21
  };
22
- // Forward to original implementation. Casts are necessary because
23
- // originalTrackUsage has strict overloads for known event names.
24
- return originalTrackUsage(event, enhancedProperties);
22
+ // The admin tracking API is typed for declared events, but CTB emits extension events too.
23
+ const trackDynamicEvent = originalTrackUsage;
24
+ return trackDynamicEvent(event, enhancedProperties);
25
25
  }, [
26
26
  originalTrackUsage,
27
27
  sessionId
@@ -1 +1 @@
1
- {"version":3,"file":"useCTBTracking.mjs","sources":["../../../../admin/src/components/CTBSession/useCTBTracking.ts"],"sourcesContent":["import { useCallback } from 'react';\n\nimport { useTracking } from '@strapi/admin/strapi-admin';\n\nimport { useCTBSession } from './useCTBSession';\n\n/**\n * Hook that provides tracking functionality with automatic CTB session ID inclusion.\n * This version accepts arbitrary event names (string) to allow feature-specific\n * events that are not yet declared in the central tracking typings.\n *\n * Note: this intentionally relaxes TypeScript restrictions so callers can\n * emit new tracking event names without needing to update the upstream\n * tracking type definitions. The session ID is merged into the properties\n * object before forwarding to the original tracking implementation.\n */\nexport const useCTBTracking = () => {\n const { trackUsage: originalTrackUsage } = useTracking();\n const { sessionId } = useCTBSession();\n\n const trackUsage = useCallback(\n (event: string, properties?: Record<string, unknown>) => {\n const enhancedProperties = {\n ...(properties ?? {}),\n ctbSessionId: sessionId,\n };\n\n // Forward to original implementation. Casts are necessary because\n // originalTrackUsage has strict overloads for known event names.\n return (originalTrackUsage as any)(event, enhancedProperties as any);\n },\n [originalTrackUsage, sessionId]\n );\n\n return { trackUsage };\n};\n"],"names":["useCTBTracking","trackUsage","originalTrackUsage","useTracking","sessionId","useCTBSession","useCallback","event","properties","enhancedProperties","ctbSessionId"],"mappings":";;;;AAMA;;;;;;;;;UAUaA,cAAAA,GAAiB,IAAA;AAC5B,IAAA,MAAM,EAAEC,UAAAA,EAAYC,kBAAkB,EAAE,GAAGC,WAAAA,EAAAA;IAC3C,MAAM,EAAEC,SAAS,EAAE,GAAGC,aAAAA,EAAAA;IAEtB,MAAMJ,UAAAA,GAAaK,WAAAA,CACjB,CAACC,KAAAA,EAAeC,UAAAA,GAAAA;AACd,QAAA,MAAMC,kBAAAA,GAAqB;YACzB,GAAID,UAAAA,IAAc,EAAE;YACpBE,YAAAA,EAAcN;AAChB,SAAA;;;QAIA,OAAQF,mBAA2BK,KAAAA,EAAOE,kBAAAA,CAAAA;IAC5C,CAAA,EACA;AAACP,QAAAA,kBAAAA;AAAoBE,QAAAA;AAAU,KAAA,CAAA;IAGjC,OAAO;AAAEH,QAAAA;AAAW,KAAA;AACtB;;;;"}
1
+ {"version":3,"file":"useCTBTracking.mjs","sources":["../../../../admin/src/components/CTBSession/useCTBTracking.ts"],"sourcesContent":["import { useCallback } from 'react';\n\nimport { useTracking } from '@strapi/admin/strapi-admin';\n\nimport { useCTBSession } from './useCTBSession';\n\ntype TrackUsageWithDynamicEvent = (\n event: string,\n properties: Record<string, unknown>\n) => ReturnType<ReturnType<typeof useTracking>['trackUsage']>;\n\n/**\n * Hook that provides tracking functionality with automatic CTB session ID inclusion.\n * This version accepts arbitrary event names (string) to allow feature-specific\n * events that are not yet declared in the central tracking typings.\n *\n * Note: this intentionally relaxes TypeScript restrictions so callers can\n * emit new tracking event names without needing to update the upstream\n * tracking type definitions. The session ID is merged into the properties\n * object before forwarding to the original tracking implementation.\n */\nexport const useCTBTracking = () => {\n const { trackUsage: originalTrackUsage } = useTracking();\n const { sessionId } = useCTBSession();\n\n const trackUsage = useCallback(\n (event: string, properties?: Record<string, unknown>) => {\n const enhancedProperties = {\n ...(properties ?? {}),\n ctbSessionId: sessionId,\n };\n\n // The admin tracking API is typed for declared events, but CTB emits extension events too.\n const trackDynamicEvent = originalTrackUsage as unknown as TrackUsageWithDynamicEvent;\n\n return trackDynamicEvent(event, enhancedProperties);\n },\n [originalTrackUsage, sessionId]\n );\n\n return { trackUsage };\n};\n"],"names":["useCTBTracking","trackUsage","originalTrackUsage","useTracking","sessionId","useCTBSession","useCallback","event","properties","enhancedProperties","ctbSessionId","trackDynamicEvent"],"mappings":";;;;AAWA;;;;;;;;;UAUaA,cAAAA,GAAiB,IAAA;AAC5B,IAAA,MAAM,EAAEC,UAAAA,EAAYC,kBAAkB,EAAE,GAAGC,WAAAA,EAAAA;IAC3C,MAAM,EAAEC,SAAS,EAAE,GAAGC,aAAAA,EAAAA;IAEtB,MAAMJ,UAAAA,GAAaK,WAAAA,CACjB,CAACC,KAAAA,EAAeC,UAAAA,GAAAA;AACd,QAAA,MAAMC,kBAAAA,GAAqB;YACzB,GAAID,UAAAA,IAAc,EAAE;YACpBE,YAAAA,EAAcN;AAChB,SAAA;;AAGA,QAAA,MAAMO,iBAAAA,GAAoBT,kBAAAA;AAE1B,QAAA,OAAOS,kBAAkBJ,KAAAA,EAAOE,kBAAAA,CAAAA;IAClC,CAAA,EACA;AAACP,QAAAA,kBAAAA;AAAoBE,QAAAA;AAAU,KAAA,CAAA;IAGjC,OAAO;AAAEH,QAAAA;AAAW,KAAA;AACtB;;;;"}
@@ -3,6 +3,7 @@
3
3
  var jsxRuntime = require('react/jsx-runtime');
4
4
  var designSystem = require('@strapi/design-system');
5
5
  var reactIntl = require('react-intl');
6
+ var parseNumberInputValue = require('../utils/parseNumberInputValue.js');
6
7
 
7
8
  const CheckboxWithNumberField = ({ error, intlLabel, modifiedData, name, onChange, value = null })=>{
8
9
  const { formatMessage } = reactIntl.useIntl();
@@ -68,12 +69,12 @@ const CheckboxWithNumberField = ({ error, intlLabel, modifiedData, name, onChang
68
69
  onChange({
69
70
  target: {
70
71
  name,
71
- value: value ?? 0,
72
+ value: parseNumberInputValue.parseNumberInputValue(value),
72
73
  type
73
74
  }
74
75
  });
75
76
  },
76
- value: value || 0
77
+ value: parseNumberInputValue.parseNumberInputValue(value)
77
78
  }),
78
79
  /*#__PURE__*/ jsxRuntime.jsx(designSystem.Field.Error, {})
79
80
  ]
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxWithNumberField.js","sources":["../../../admin/src/components/CheckboxWithNumberField.tsx"],"sourcesContent":["import { Box, Checkbox, Field, Flex, NumberInput, TextInput } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { IntlLabel } from '../types';\n\ninterface CheckboxWithNumberFieldProps {\n error?: string;\n intlLabel: IntlLabel;\n modifiedData: Record<string, any>;\n name: string;\n onChange: (value: any) => void;\n value?: any;\n}\n\nexport const CheckboxWithNumberField = ({\n error,\n intlLabel,\n modifiedData,\n name,\n onChange,\n value = null,\n}: CheckboxWithNumberFieldProps) => {\n const { formatMessage } = useIntl();\n const label = intlLabel.id\n ? formatMessage(\n { id: intlLabel.id, defaultMessage: intlLabel.defaultMessage },\n { ...intlLabel.values }\n )\n : name;\n\n const type = modifiedData.type === 'biginteger' ? 'text' : 'number';\n\n const disabled = !modifiedData.type;\n const errorMessage = error ? formatMessage({ id: error, defaultMessage: error }) : '';\n\n return (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n <Checkbox\n id={name}\n name={name}\n onCheckedChange={(value) => {\n const initValue = type === 'text' ? '0' : 0;\n const nextValue = value ? initValue : null;\n\n onChange({ target: { name, value: nextValue } });\n }}\n checked={value !== null}\n >\n {label}\n </Checkbox>\n {value !== null && (\n <Box paddingLeft={6} style={{ maxWidth: '200px' }}>\n {type === 'text' ? (\n <Field.Root error={errorMessage} name={name}>\n <TextInput\n aria-label={label}\n disabled={disabled}\n onChange={onChange}\n value={value === null ? '' : value}\n type=\"text\"\n />\n <Field.Error />\n </Field.Root>\n ) : (\n <Field.Root error={errorMessage} name={name}>\n <NumberInput\n aria-label={label}\n disabled={disabled}\n onValueChange={(value: any) => {\n onChange({ target: { name, value: value ?? 0, type } });\n }}\n value={value || 0}\n />\n <Field.Error />\n </Field.Root>\n )}\n </Box>\n )}\n </Flex>\n );\n};\n"],"names":["CheckboxWithNumberField","error","intlLabel","modifiedData","name","onChange","value","formatMessage","useIntl","label","id","defaultMessage","values","type","disabled","errorMessage","_jsxs","Flex","direction","alignItems","gap","_jsx","Checkbox","onCheckedChange","initValue","nextValue","target","checked","Box","paddingLeft","style","maxWidth","Field","Root","TextInput","aria-label","Error","NumberInput","onValueChange"],"mappings":"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"}
1
+ {"version":3,"file":"CheckboxWithNumberField.js","sources":["../../../admin/src/components/CheckboxWithNumberField.tsx"],"sourcesContent":["import { Box, Checkbox, Field, Flex, NumberInput, TextInput } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { parseNumberInputValue } from '../utils/parseNumberInputValue';\n\nimport type { FormChangeHandler, IntlLabel } from '../types';\n\ninterface CheckboxWithNumberFieldProps {\n error?: string;\n intlLabel: IntlLabel;\n modifiedData: { type?: string };\n name: string;\n onChange: FormChangeHandler<string | number | null>;\n value?: string | number | null;\n}\n\nexport const CheckboxWithNumberField = ({\n error,\n intlLabel,\n modifiedData,\n name,\n onChange,\n value = null,\n}: CheckboxWithNumberFieldProps) => {\n const { formatMessage } = useIntl();\n const label = intlLabel.id\n ? formatMessage(\n { id: intlLabel.id, defaultMessage: intlLabel.defaultMessage },\n { ...intlLabel.values }\n )\n : name;\n\n const type = modifiedData.type === 'biginteger' ? 'text' : 'number';\n\n const disabled = !modifiedData.type;\n const errorMessage = error ? formatMessage({ id: error, defaultMessage: error }) : '';\n\n return (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n <Checkbox\n id={name}\n name={name}\n onCheckedChange={(value) => {\n const initValue = type === 'text' ? '0' : 0;\n const nextValue = value ? initValue : null;\n\n onChange({ target: { name, value: nextValue } });\n }}\n checked={value !== null}\n >\n {label}\n </Checkbox>\n {value !== null && (\n <Box paddingLeft={6} style={{ maxWidth: '200px' }}>\n {type === 'text' ? (\n <Field.Root error={errorMessage} name={name}>\n <TextInput\n aria-label={label}\n disabled={disabled}\n onChange={onChange}\n value={value === null ? '' : value}\n type=\"text\"\n />\n <Field.Error />\n </Field.Root>\n ) : (\n <Field.Root error={errorMessage} name={name}>\n <NumberInput\n aria-label={label}\n disabled={disabled}\n onValueChange={(value: string | number | undefined) => {\n onChange({\n target: { name, value: parseNumberInputValue(value), type },\n });\n }}\n value={parseNumberInputValue(value)}\n />\n <Field.Error />\n </Field.Root>\n )}\n </Box>\n )}\n </Flex>\n );\n};\n"],"names":["CheckboxWithNumberField","error","intlLabel","modifiedData","name","onChange","value","formatMessage","useIntl","label","id","defaultMessage","values","type","disabled","errorMessage","_jsxs","Flex","direction","alignItems","gap","_jsx","Checkbox","onCheckedChange","initValue","nextValue","target","checked","Box","paddingLeft","style","maxWidth","Field","Root","TextInput","aria-label","Error","NumberInput","onValueChange","parseNumberInputValue"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { Flex, Checkbox, Box, Field, TextInput, NumberInput } from '@strapi/design-system';
3
3
  import { useIntl } from 'react-intl';
4
+ import { parseNumberInputValue } from '../utils/parseNumberInputValue.mjs';
4
5
 
5
6
  const CheckboxWithNumberField = ({ error, intlLabel, modifiedData, name, onChange, value = null })=>{
6
7
  const { formatMessage } = useIntl();
@@ -66,12 +67,12 @@ const CheckboxWithNumberField = ({ error, intlLabel, modifiedData, name, onChang
66
67
  onChange({
67
68
  target: {
68
69
  name,
69
- value: value ?? 0,
70
+ value: parseNumberInputValue(value),
70
71
  type
71
72
  }
72
73
  });
73
74
  },
74
- value: value || 0
75
+ value: parseNumberInputValue(value)
75
76
  }),
76
77
  /*#__PURE__*/ jsx(Field.Error, {})
77
78
  ]
@@ -1 +1 @@
1
- {"version":3,"file":"CheckboxWithNumberField.mjs","sources":["../../../admin/src/components/CheckboxWithNumberField.tsx"],"sourcesContent":["import { Box, Checkbox, Field, Flex, NumberInput, TextInput } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { IntlLabel } from '../types';\n\ninterface CheckboxWithNumberFieldProps {\n error?: string;\n intlLabel: IntlLabel;\n modifiedData: Record<string, any>;\n name: string;\n onChange: (value: any) => void;\n value?: any;\n}\n\nexport const CheckboxWithNumberField = ({\n error,\n intlLabel,\n modifiedData,\n name,\n onChange,\n value = null,\n}: CheckboxWithNumberFieldProps) => {\n const { formatMessage } = useIntl();\n const label = intlLabel.id\n ? formatMessage(\n { id: intlLabel.id, defaultMessage: intlLabel.defaultMessage },\n { ...intlLabel.values }\n )\n : name;\n\n const type = modifiedData.type === 'biginteger' ? 'text' : 'number';\n\n const disabled = !modifiedData.type;\n const errorMessage = error ? formatMessage({ id: error, defaultMessage: error }) : '';\n\n return (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n <Checkbox\n id={name}\n name={name}\n onCheckedChange={(value) => {\n const initValue = type === 'text' ? '0' : 0;\n const nextValue = value ? initValue : null;\n\n onChange({ target: { name, value: nextValue } });\n }}\n checked={value !== null}\n >\n {label}\n </Checkbox>\n {value !== null && (\n <Box paddingLeft={6} style={{ maxWidth: '200px' }}>\n {type === 'text' ? (\n <Field.Root error={errorMessage} name={name}>\n <TextInput\n aria-label={label}\n disabled={disabled}\n onChange={onChange}\n value={value === null ? '' : value}\n type=\"text\"\n />\n <Field.Error />\n </Field.Root>\n ) : (\n <Field.Root error={errorMessage} name={name}>\n <NumberInput\n aria-label={label}\n disabled={disabled}\n onValueChange={(value: any) => {\n onChange({ target: { name, value: value ?? 0, type } });\n }}\n value={value || 0}\n />\n <Field.Error />\n </Field.Root>\n )}\n </Box>\n )}\n </Flex>\n );\n};\n"],"names":["CheckboxWithNumberField","error","intlLabel","modifiedData","name","onChange","value","formatMessage","useIntl","label","id","defaultMessage","values","type","disabled","errorMessage","_jsxs","Flex","direction","alignItems","gap","_jsx","Checkbox","onCheckedChange","initValue","nextValue","target","checked","Box","paddingLeft","style","maxWidth","Field","Root","TextInput","aria-label","Error","NumberInput","onValueChange"],"mappings":"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"}
1
+ {"version":3,"file":"CheckboxWithNumberField.mjs","sources":["../../../admin/src/components/CheckboxWithNumberField.tsx"],"sourcesContent":["import { Box, Checkbox, Field, Flex, NumberInput, TextInput } from '@strapi/design-system';\nimport { useIntl } from 'react-intl';\n\nimport { parseNumberInputValue } from '../utils/parseNumberInputValue';\n\nimport type { FormChangeHandler, IntlLabel } from '../types';\n\ninterface CheckboxWithNumberFieldProps {\n error?: string;\n intlLabel: IntlLabel;\n modifiedData: { type?: string };\n name: string;\n onChange: FormChangeHandler<string | number | null>;\n value?: string | number | null;\n}\n\nexport const CheckboxWithNumberField = ({\n error,\n intlLabel,\n modifiedData,\n name,\n onChange,\n value = null,\n}: CheckboxWithNumberFieldProps) => {\n const { formatMessage } = useIntl();\n const label = intlLabel.id\n ? formatMessage(\n { id: intlLabel.id, defaultMessage: intlLabel.defaultMessage },\n { ...intlLabel.values }\n )\n : name;\n\n const type = modifiedData.type === 'biginteger' ? 'text' : 'number';\n\n const disabled = !modifiedData.type;\n const errorMessage = error ? formatMessage({ id: error, defaultMessage: error }) : '';\n\n return (\n <Flex direction=\"column\" alignItems=\"stretch\" gap={2}>\n <Checkbox\n id={name}\n name={name}\n onCheckedChange={(value) => {\n const initValue = type === 'text' ? '0' : 0;\n const nextValue = value ? initValue : null;\n\n onChange({ target: { name, value: nextValue } });\n }}\n checked={value !== null}\n >\n {label}\n </Checkbox>\n {value !== null && (\n <Box paddingLeft={6} style={{ maxWidth: '200px' }}>\n {type === 'text' ? (\n <Field.Root error={errorMessage} name={name}>\n <TextInput\n aria-label={label}\n disabled={disabled}\n onChange={onChange}\n value={value === null ? '' : value}\n type=\"text\"\n />\n <Field.Error />\n </Field.Root>\n ) : (\n <Field.Root error={errorMessage} name={name}>\n <NumberInput\n aria-label={label}\n disabled={disabled}\n onValueChange={(value: string | number | undefined) => {\n onChange({\n target: { name, value: parseNumberInputValue(value), type },\n });\n }}\n value={parseNumberInputValue(value)}\n />\n <Field.Error />\n </Field.Root>\n )}\n </Box>\n )}\n </Flex>\n );\n};\n"],"names":["CheckboxWithNumberField","error","intlLabel","modifiedData","name","onChange","value","formatMessage","useIntl","label","id","defaultMessage","values","type","disabled","errorMessage","_jsxs","Flex","direction","alignItems","gap","_jsx","Checkbox","onCheckedChange","initValue","nextValue","target","checked","Box","paddingLeft","style","maxWidth","Field","Root","TextInput","aria-label","Error","NumberInput","onValueChange","parseNumberInputValue"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ComponentCard.js","sources":["../../../../admin/src/components/ComponentCard/ComponentCard.tsx"],"sourcesContent":["import { Box, Flex, Typography } from '@strapi/design-system';\nimport { Cross } from '@strapi/icons';\nimport get from 'lodash/get';\nimport { styled } from 'styled-components';\n\nimport { useDataManager } from '../DataManager/useDataManager';\n\nimport { ComponentIcon } from './ComponentIcon';\n\nimport type { Internal, Struct } from '@strapi/types';\n\ninterface ComponentCardProps {\n component: string;\n dzName: string;\n index: number;\n isActive?: boolean;\n isInDevelopmentMode?: boolean;\n onClick?: () => void;\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n disabled?: boolean;\n}\n\nconst CloseButton = styled(Box)`\n position: absolute;\n display: none;\n top: 5px;\n right: 0.8rem;\n\n svg {\n width: 1rem;\n height: 1rem;\n\n path {\n fill: ${({ theme }) => theme.colors.primary600};\n }\n }\n`;\n\nconst ComponentBox = styled(Flex)`\n width: 14rem;\n height: 8rem;\n position: relative;\n border: 1px solid ${({ theme }) => theme.colors.neutral200};\n background: ${({ theme }) => theme.colors.neutral100};\n border-radius: ${({ theme }) => theme.borderRadius};\n max-width: 100%;\n\n &.active,\n &:focus,\n &:hover {\n border: 1px solid ${({ theme }) => theme.colors.primary200};\n background: ${({ theme }) => theme.colors.primary100};\n color: ${({ theme }) => theme.colors.primary600};\n\n ${CloseButton} {\n display: block;\n }\n\n /* > ComponentIcon */\n > div:first-child {\n background: ${({ theme }) => theme.colors.primary200};\n color: ${({ theme }) => theme.colors.primary600};\n\n svg {\n path {\n fill: ${({ theme }) => theme.colors.primary600};\n }\n }\n }\n }\n`;\n\nexport const ComponentCard = ({\n component,\n dzName,\n index,\n isActive = false,\n isInDevelopmentMode = false,\n onClick,\n forTarget,\n targetUid,\n disabled,\n}: ComponentCardProps) => {\n const { components, removeComponentFromDynamicZone } = useDataManager();\n const type = get(components, component);\n const { icon, displayName } = type?.info || {};\n\n const onClose = (e: any) => {\n e.stopPropagation();\n removeComponentFromDynamicZone({\n forTarget,\n targetUid,\n dzName,\n componentToRemoveIndex: index,\n });\n };\n\n return (\n <ComponentBox\n alignItems=\"center\"\n direction=\"column\"\n className={isActive ? 'active' : ''}\n borderRadius=\"borderRadius\"\n justifyContent=\"center\"\n paddingLeft={4}\n paddingRight={4}\n shrink={0}\n onClick={onClick}\n role=\"tab\"\n tabIndex={isActive ? 0 : -1}\n cursor=\"pointer\"\n aria-selected={isActive}\n aria-controls={`dz-${dzName}-panel-${index}`}\n id={`dz-${dzName}-tab-${index}`}\n >\n <ComponentIcon icon={icon} isActive={isActive} />\n\n <Box marginTop={1} maxWidth=\"100%\">\n <Typography variant=\"pi\" fontWeight=\"bold\" ellipsis>\n {displayName}\n </Typography>\n </Box>\n\n {isInDevelopmentMode && !disabled && (\n <CloseButton cursor=\"pointer\" tag=\"button\" onClick={onClose}>\n <Cross />\n </CloseButton>\n )}\n </ComponentBox>\n );\n};\n"],"names":["CloseButton","styled","Box","theme","colors","primary600","ComponentBox","Flex","neutral200","neutral100","borderRadius","primary200","primary100","ComponentCard","component","dzName","index","isActive","isInDevelopmentMode","onClick","forTarget","targetUid","disabled","components","removeComponentFromDynamicZone","useDataManager","type","get","icon","displayName","info","onClose","e","stopPropagation","componentToRemoveIndex","_jsxs","alignItems","direction","className","justifyContent","paddingLeft","paddingRight","shrink","role","tabIndex","cursor","aria-selected","aria-controls","id","_jsx","ComponentIcon","marginTop","maxWidth","Typography","variant","fontWeight","ellipsis","tag","Cross"],"mappings":"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"}
1
+ {"version":3,"file":"ComponentCard.js","sources":["../../../../admin/src/components/ComponentCard/ComponentCard.tsx"],"sourcesContent":["import type { MouseEvent } from 'react';\n\nimport { Box, Flex, Typography } from '@strapi/design-system';\nimport { Cross } from '@strapi/icons';\nimport get from 'lodash/get';\nimport { styled } from 'styled-components';\n\nimport { useDataManager } from '../DataManager/useDataManager';\n\nimport { ComponentIcon } from './ComponentIcon';\n\nimport type { Internal, Struct } from '@strapi/types';\n\ninterface ComponentCardProps {\n component: string;\n dzName: string;\n index: number;\n isActive?: boolean;\n isInDevelopmentMode?: boolean;\n onClick?: () => void;\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n disabled?: boolean;\n}\n\nconst CloseButton = styled(Box)`\n position: absolute;\n display: none;\n top: 5px;\n right: 0.8rem;\n\n svg {\n width: 1rem;\n height: 1rem;\n\n path {\n fill: ${({ theme }) => theme.colors.primary600};\n }\n }\n`;\n\nconst ComponentBox = styled(Flex)`\n width: 14rem;\n height: 8rem;\n position: relative;\n border: 1px solid ${({ theme }) => theme.colors.neutral200};\n background: ${({ theme }) => theme.colors.neutral100};\n border-radius: ${({ theme }) => theme.borderRadius};\n max-width: 100%;\n\n &.active,\n &:focus,\n &:hover {\n border: 1px solid ${({ theme }) => theme.colors.primary200};\n background: ${({ theme }) => theme.colors.primary100};\n color: ${({ theme }) => theme.colors.primary600};\n\n ${CloseButton} {\n display: block;\n }\n\n /* > ComponentIcon */\n > div:first-child {\n background: ${({ theme }) => theme.colors.primary200};\n color: ${({ theme }) => theme.colors.primary600};\n\n svg {\n path {\n fill: ${({ theme }) => theme.colors.primary600};\n }\n }\n }\n }\n`;\n\nexport const ComponentCard = ({\n component,\n dzName,\n index,\n isActive = false,\n isInDevelopmentMode = false,\n onClick,\n forTarget,\n targetUid,\n disabled,\n}: ComponentCardProps) => {\n const { components, removeComponentFromDynamicZone } = useDataManager();\n const type = get(components, component);\n const { icon, displayName } = type?.info || {};\n\n const onClose = (e: MouseEvent<HTMLButtonElement>) => {\n e.stopPropagation();\n removeComponentFromDynamicZone({\n forTarget,\n targetUid,\n dzName,\n componentToRemoveIndex: index,\n });\n };\n\n return (\n <ComponentBox\n alignItems=\"center\"\n direction=\"column\"\n className={isActive ? 'active' : ''}\n borderRadius=\"borderRadius\"\n justifyContent=\"center\"\n paddingLeft={4}\n paddingRight={4}\n shrink={0}\n onClick={onClick}\n role=\"tab\"\n tabIndex={isActive ? 0 : -1}\n cursor=\"pointer\"\n aria-selected={isActive}\n aria-controls={`dz-${dzName}-panel-${index}`}\n id={`dz-${dzName}-tab-${index}`}\n >\n <ComponentIcon icon={icon} isActive={isActive} />\n\n <Box marginTop={1} maxWidth=\"100%\">\n <Typography variant=\"pi\" fontWeight=\"bold\" ellipsis>\n {displayName}\n </Typography>\n </Box>\n\n {isInDevelopmentMode && !disabled && (\n <CloseButton cursor=\"pointer\" tag=\"button\" onClick={onClose}>\n <Cross />\n </CloseButton>\n )}\n </ComponentBox>\n );\n};\n"],"names":["CloseButton","styled","Box","theme","colors","primary600","ComponentBox","Flex","neutral200","neutral100","borderRadius","primary200","primary100","ComponentCard","component","dzName","index","isActive","isInDevelopmentMode","onClick","forTarget","targetUid","disabled","components","removeComponentFromDynamicZone","useDataManager","type","get","icon","displayName","info","onClose","e","stopPropagation","componentToRemoveIndex","_jsxs","alignItems","direction","className","justifyContent","paddingLeft","paddingRight","shrink","role","tabIndex","cursor","aria-selected","aria-controls","id","_jsx","ComponentIcon","marginTop","maxWidth","Typography","variant","fontWeight","ellipsis","tag","Cross"],"mappings":";;;;;;;;;;;;;;AAyBA,MAAMA,WAAAA,GAAcC,uBAAAA,CAAOC,gBAAAA,CAAI;;;;;;;;;;;YAWnB,EAAE,CAAC,EAAEC,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACC,UAAU,CAAC;;;AAGrD,CAAC;AAED,MAAMC,YAAAA,GAAeL,uBAAAA,CAAOM,iBAAAA,CAAK;;;;oBAIb,EAAE,CAAC,EAAEJ,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACI,UAAU,CAAC;cAC/C,EAAE,CAAC,EAAEL,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACK,UAAU,CAAC;AACtC,iBAAA,EAAE,CAAC,EAAEN,KAAK,EAAE,GAAKA,KAAAA,CAAMO,YAAY,CAAC;;;;;;sBAM/B,EAAE,CAAC,EAAEP,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACO,UAAU,CAAC;gBAC/C,EAAE,CAAC,EAAER,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACQ,UAAU,CAAC;WAC9C,EAAE,CAAC,EAAET,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACC,UAAU,CAAC;;AAEhD,IAAA,EAAEL,WAAAA,CAAY;;;;;;kBAMA,EAAE,CAAC,EAAEG,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACO,UAAU,CAAC;aAC9C,EAAE,CAAC,EAAER,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACC,UAAU,CAAC;;;;gBAItC,EAAE,CAAC,EAAEF,KAAK,EAAE,GAAKA,KAAAA,CAAMC,MAAM,CAACC,UAAU,CAAC;;;;;AAKzD,CAAC;AAEM,MAAMQ,gBAAgB,CAAC,EAC5BC,SAAS,EACTC,MAAM,EACNC,KAAK,EACLC,QAAAA,GAAW,KAAK,EAChBC,mBAAAA,GAAsB,KAAK,EAC3BC,OAAO,EACPC,SAAS,EACTC,SAAS,EACTC,QAAQ,EACW,GAAA;AACnB,IAAA,MAAM,EAAEC,UAAU,EAAEC,8BAA8B,EAAE,GAAGC,6BAAAA,EAAAA;IACvD,MAAMC,IAAAA,GAAOC,qBAAIJ,UAAAA,EAAYT,SAAAA,CAAAA;IAC7B,MAAM,EAAEc,IAAI,EAAEC,WAAW,EAAE,GAAGH,IAAAA,EAAMI,QAAQ,EAAC;AAE7C,IAAA,MAAMC,UAAU,CAACC,CAAAA,GAAAA;AACfA,QAAAA,CAAAA,CAAEC,eAAe,EAAA;QACjBT,8BAAAA,CAA+B;AAC7BJ,YAAAA,SAAAA;AACAC,YAAAA,SAAAA;AACAN,YAAAA,MAAAA;YACAmB,sBAAAA,EAAwBlB;AAC1B,SAAA,CAAA;AACF,IAAA,CAAA;AAEA,IAAA,qBACEmB,eAAA,CAAC7B,YAAAA,EAAAA;QACC8B,UAAAA,EAAW,QAAA;QACXC,SAAAA,EAAU,QAAA;AACVC,QAAAA,SAAAA,EAAWrB,WAAW,QAAA,GAAW,EAAA;QACjCP,YAAAA,EAAa,cAAA;QACb6B,cAAAA,EAAe,QAAA;QACfC,WAAAA,EAAa,CAAA;QACbC,YAAAA,EAAc,CAAA;QACdC,MAAAA,EAAQ,CAAA;QACRvB,OAAAA,EAASA,OAAAA;QACTwB,IAAAA,EAAK,KAAA;QACLC,QAAAA,EAAU3B,QAAAA,GAAW,IAAI,EAAC;QAC1B4B,MAAAA,EAAO,SAAA;QACPC,eAAAA,EAAe7B,QAAAA;AACf8B,QAAAA,eAAAA,EAAe,CAAC,GAAG,EAAEhC,MAAAA,CAAO,OAAO,EAAEC,KAAAA,CAAAA,CAAO;AAC5CgC,QAAAA,EAAAA,EAAI,CAAC,GAAG,EAAEjC,MAAAA,CAAO,KAAK,EAAEC,KAAAA,CAAAA,CAAO;;0BAE/BiC,cAAA,CAACC,2BAAAA,EAAAA;gBAActB,IAAAA,EAAMA,IAAAA;gBAAMX,QAAAA,EAAUA;;0BAErCgC,cAAA,CAAC/C,gBAAAA,EAAAA;gBAAIiD,SAAAA,EAAW,CAAA;gBAAGC,QAAAA,EAAS,MAAA;AAC1B,gBAAA,QAAA,gBAAAH,cAAA,CAACI,uBAAAA,EAAAA;oBAAWC,OAAAA,EAAQ,IAAA;oBAAKC,UAAAA,EAAW,MAAA;oBAAOC,QAAQ,EAAA,IAAA;AAChD3B,oBAAAA,QAAAA,EAAAA;;;YAIJX,mBAAAA,IAAuB,CAACI,0BACvB2B,cAAA,CAACjD,WAAAA,EAAAA;gBAAY6C,MAAAA,EAAO,SAAA;gBAAUY,GAAAA,EAAI,QAAA;gBAAStC,OAAAA,EAASY,OAAAA;AAClD,gBAAA,QAAA,gBAAAkB,cAAA,CAACS,WAAAA,EAAAA,EAAAA;;;;AAKX;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ComponentCard.mjs","sources":["../../../../admin/src/components/ComponentCard/ComponentCard.tsx"],"sourcesContent":["import { Box, Flex, Typography } from '@strapi/design-system';\nimport { Cross } from '@strapi/icons';\nimport get from 'lodash/get';\nimport { styled } from 'styled-components';\n\nimport { useDataManager } from '../DataManager/useDataManager';\n\nimport { ComponentIcon } from './ComponentIcon';\n\nimport type { Internal, Struct } from '@strapi/types';\n\ninterface ComponentCardProps {\n component: string;\n dzName: string;\n index: number;\n isActive?: boolean;\n isInDevelopmentMode?: boolean;\n onClick?: () => void;\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n disabled?: boolean;\n}\n\nconst CloseButton = styled(Box)`\n position: absolute;\n display: none;\n top: 5px;\n right: 0.8rem;\n\n svg {\n width: 1rem;\n height: 1rem;\n\n path {\n fill: ${({ theme }) => theme.colors.primary600};\n }\n }\n`;\n\nconst ComponentBox = styled(Flex)`\n width: 14rem;\n height: 8rem;\n position: relative;\n border: 1px solid ${({ theme }) => theme.colors.neutral200};\n background: ${({ theme }) => theme.colors.neutral100};\n border-radius: ${({ theme }) => theme.borderRadius};\n max-width: 100%;\n\n &.active,\n &:focus,\n &:hover {\n border: 1px solid ${({ theme }) => theme.colors.primary200};\n background: ${({ theme }) => theme.colors.primary100};\n color: ${({ theme }) => theme.colors.primary600};\n\n ${CloseButton} {\n display: block;\n }\n\n /* > ComponentIcon */\n > div:first-child {\n background: ${({ theme }) => theme.colors.primary200};\n color: ${({ theme }) => theme.colors.primary600};\n\n svg {\n path {\n fill: ${({ theme }) => theme.colors.primary600};\n }\n }\n }\n }\n`;\n\nexport const ComponentCard = ({\n component,\n dzName,\n index,\n isActive = false,\n isInDevelopmentMode = false,\n onClick,\n forTarget,\n targetUid,\n disabled,\n}: ComponentCardProps) => {\n const { components, removeComponentFromDynamicZone } = useDataManager();\n const type = get(components, component);\n const { icon, displayName } = type?.info || {};\n\n const onClose = (e: any) => {\n e.stopPropagation();\n removeComponentFromDynamicZone({\n forTarget,\n targetUid,\n dzName,\n componentToRemoveIndex: index,\n });\n };\n\n return (\n <ComponentBox\n alignItems=\"center\"\n direction=\"column\"\n className={isActive ? 'active' : ''}\n borderRadius=\"borderRadius\"\n justifyContent=\"center\"\n paddingLeft={4}\n paddingRight={4}\n shrink={0}\n onClick={onClick}\n role=\"tab\"\n tabIndex={isActive ? 0 : -1}\n cursor=\"pointer\"\n aria-selected={isActive}\n aria-controls={`dz-${dzName}-panel-${index}`}\n id={`dz-${dzName}-tab-${index}`}\n >\n <ComponentIcon icon={icon} isActive={isActive} />\n\n <Box marginTop={1} maxWidth=\"100%\">\n <Typography variant=\"pi\" fontWeight=\"bold\" ellipsis>\n {displayName}\n </Typography>\n </Box>\n\n {isInDevelopmentMode && !disabled && (\n <CloseButton cursor=\"pointer\" tag=\"button\" onClick={onClose}>\n <Cross />\n </CloseButton>\n )}\n </ComponentBox>\n );\n};\n"],"names":["CloseButton","styled","Box","theme","colors","primary600","ComponentBox","Flex","neutral200","neutral100","borderRadius","primary200","primary100","ComponentCard","component","dzName","index","isActive","isInDevelopmentMode","onClick","forTarget","targetUid","disabled","components","removeComponentFromDynamicZone","useDataManager","type","get","icon","displayName","info","onClose","e","stopPropagation","componentToRemoveIndex","_jsxs","alignItems","direction","className","justifyContent","paddingLeft","paddingRight","shrink","role","tabIndex","cursor","aria-selected","aria-controls","id","_jsx","ComponentIcon","marginTop","maxWidth","Typography","variant","fontWeight","ellipsis","tag","Cross"],"mappings":"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"}
1
+ {"version":3,"file":"ComponentCard.mjs","sources":["../../../../admin/src/components/ComponentCard/ComponentCard.tsx"],"sourcesContent":["import type { MouseEvent } from 'react';\n\nimport { Box, Flex, Typography } from '@strapi/design-system';\nimport { Cross } from '@strapi/icons';\nimport get from 'lodash/get';\nimport { styled } from 'styled-components';\n\nimport { useDataManager } from '../DataManager/useDataManager';\n\nimport { ComponentIcon } from './ComponentIcon';\n\nimport type { Internal, Struct } from '@strapi/types';\n\ninterface ComponentCardProps {\n component: string;\n dzName: string;\n index: number;\n isActive?: boolean;\n isInDevelopmentMode?: boolean;\n onClick?: () => void;\n forTarget: Struct.ModelType;\n targetUid: Internal.UID.Schema;\n disabled?: boolean;\n}\n\nconst CloseButton = styled(Box)`\n position: absolute;\n display: none;\n top: 5px;\n right: 0.8rem;\n\n svg {\n width: 1rem;\n height: 1rem;\n\n path {\n fill: ${({ theme }) => theme.colors.primary600};\n }\n }\n`;\n\nconst ComponentBox = styled(Flex)`\n width: 14rem;\n height: 8rem;\n position: relative;\n border: 1px solid ${({ theme }) => theme.colors.neutral200};\n background: ${({ theme }) => theme.colors.neutral100};\n border-radius: ${({ theme }) => theme.borderRadius};\n max-width: 100%;\n\n &.active,\n &:focus,\n &:hover {\n border: 1px solid ${({ theme }) => theme.colors.primary200};\n background: ${({ theme }) => theme.colors.primary100};\n color: ${({ theme }) => theme.colors.primary600};\n\n ${CloseButton} {\n display: block;\n }\n\n /* > ComponentIcon */\n > div:first-child {\n background: ${({ theme }) => theme.colors.primary200};\n color: ${({ theme }) => theme.colors.primary600};\n\n svg {\n path {\n fill: ${({ theme }) => theme.colors.primary600};\n }\n }\n }\n }\n`;\n\nexport const ComponentCard = ({\n component,\n dzName,\n index,\n isActive = false,\n isInDevelopmentMode = false,\n onClick,\n forTarget,\n targetUid,\n disabled,\n}: ComponentCardProps) => {\n const { components, removeComponentFromDynamicZone } = useDataManager();\n const type = get(components, component);\n const { icon, displayName } = type?.info || {};\n\n const onClose = (e: MouseEvent<HTMLButtonElement>) => {\n e.stopPropagation();\n removeComponentFromDynamicZone({\n forTarget,\n targetUid,\n dzName,\n componentToRemoveIndex: index,\n });\n };\n\n return (\n <ComponentBox\n alignItems=\"center\"\n direction=\"column\"\n className={isActive ? 'active' : ''}\n borderRadius=\"borderRadius\"\n justifyContent=\"center\"\n paddingLeft={4}\n paddingRight={4}\n shrink={0}\n onClick={onClick}\n role=\"tab\"\n tabIndex={isActive ? 0 : -1}\n cursor=\"pointer\"\n aria-selected={isActive}\n aria-controls={`dz-${dzName}-panel-${index}`}\n id={`dz-${dzName}-tab-${index}`}\n >\n <ComponentIcon icon={icon} isActive={isActive} />\n\n <Box marginTop={1} maxWidth=\"100%\">\n <Typography variant=\"pi\" fontWeight=\"bold\" ellipsis>\n {displayName}\n </Typography>\n </Box>\n\n {isInDevelopmentMode && !disabled && (\n <CloseButton cursor=\"pointer\" tag=\"button\" onClick={onClose}>\n <Cross />\n </CloseButton>\n )}\n </ComponentBox>\n );\n};\n"],"names":["CloseButton","styled","Box","theme","colors","primary600","ComponentBox","Flex","neutral200","neutral100","borderRadius","primary200","primary100","ComponentCard","component","dzName","index","isActive","isInDevelopmentMode","onClick","forTarget","targetUid","disabled","components","removeComponentFromDynamicZone","useDataManager","type","get","icon","displayName","info","onClose","e","stopPropagation","componentToRemoveIndex","_jsxs","alignItems","direction","className","justifyContent","paddingLeft","paddingRight","shrink","role","tabIndex","cursor","aria-selected","aria-controls","id","_jsx","ComponentIcon","marginTop","maxWidth","Typography","variant","fontWeight","ellipsis","tag","Cross"],"mappings":"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"}