@strapi/content-type-builder 5.37.1 → 5.38.0

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 (433) hide show
  1. package/dist/admin/components/AIChat/Chat.js.map +1 -1
  2. package/dist/admin/components/AIChat/Chat.mjs +2 -2
  3. package/dist/admin/components/AIChat/Chat.mjs.map +1 -1
  4. package/dist/admin/components/AIChat/FeedbackModal.js.map +1 -1
  5. package/dist/admin/components/AIChat/FeedbackModal.mjs +1 -1
  6. package/dist/admin/components/AIChat/FeedbackModal.mjs.map +1 -1
  7. package/dist/admin/components/AIChat/UploadCodeModal.js.map +1 -1
  8. package/dist/admin/components/AIChat/UploadCodeModal.mjs +1 -1
  9. package/dist/admin/components/AIChat/UploadCodeModal.mjs.map +1 -1
  10. package/dist/admin/components/AIChat/UploadFigmaModal.js.map +1 -1
  11. package/dist/admin/components/AIChat/UploadFigmaModal.mjs +1 -1
  12. package/dist/admin/components/AIChat/UploadFigmaModal.mjs.map +1 -1
  13. package/dist/admin/components/AIChat/components/Alert.js.map +1 -1
  14. package/dist/admin/components/AIChat/components/Alert.mjs.map +1 -1
  15. package/dist/admin/components/AIChat/components/AnimatedBox.js.map +1 -1
  16. package/dist/admin/components/AIChat/components/AnimatedBox.mjs.map +1 -1
  17. package/dist/admin/components/AIChat/components/Attachments/AttachmentPreview.js.map +1 -1
  18. package/dist/admin/components/AIChat/components/Attachments/AttachmentPreview.mjs.map +1 -1
  19. package/dist/admin/components/AIChat/components/Attachments/components/Attachment.js.map +1 -1
  20. package/dist/admin/components/AIChat/components/Attachments/components/Attachment.mjs +1 -1
  21. package/dist/admin/components/AIChat/components/Attachments/components/Attachment.mjs.map +1 -1
  22. package/dist/admin/components/AIChat/components/Base64Image.js.map +1 -1
  23. package/dist/admin/components/AIChat/components/Base64Image.mjs.map +1 -1
  24. package/dist/admin/components/AIChat/components/Collapsible.js.map +1 -1
  25. package/dist/admin/components/AIChat/components/Collapsible.mjs.map +1 -1
  26. package/dist/admin/components/AIChat/components/Dropzone.js +2 -6
  27. package/dist/admin/components/AIChat/components/Dropzone.js.map +1 -1
  28. package/dist/admin/components/AIChat/components/Dropzone.mjs +3 -7
  29. package/dist/admin/components/AIChat/components/Dropzone.mjs.map +1 -1
  30. package/dist/admin/components/AIChat/components/FloatingPanel.js.map +1 -1
  31. package/dist/admin/components/AIChat/components/FloatingPanel.mjs +1 -1
  32. package/dist/admin/components/AIChat/components/FloatingPanel.mjs.map +1 -1
  33. package/dist/admin/components/AIChat/components/FullScreenImage.js.map +1 -1
  34. package/dist/admin/components/AIChat/components/FullScreenImage.mjs.map +1 -1
  35. package/dist/admin/components/AIChat/components/ImagePreview.js.map +1 -1
  36. package/dist/admin/components/AIChat/components/ImagePreview.mjs +1 -1
  37. package/dist/admin/components/AIChat/components/ImagePreview.mjs.map +1 -1
  38. package/dist/admin/components/AIChat/components/Input.js +1 -5
  39. package/dist/admin/components/AIChat/components/Input.js.map +1 -1
  40. package/dist/admin/components/AIChat/components/Input.mjs +4 -7
  41. package/dist/admin/components/AIChat/components/Input.mjs.map +1 -1
  42. package/dist/admin/components/AIChat/components/Messages/Marker.js.map +1 -1
  43. package/dist/admin/components/AIChat/components/Messages/Marker.mjs +2 -2
  44. package/dist/admin/components/AIChat/components/Messages/Marker.mjs.map +1 -1
  45. package/dist/admin/components/AIChat/components/Messages/Message.js.map +1 -1
  46. package/dist/admin/components/AIChat/components/Messages/Message.mjs +1 -1
  47. package/dist/admin/components/AIChat/components/Messages/Message.mjs.map +1 -1
  48. package/dist/admin/components/AIChat/components/ResizableTextArea.js.map +1 -1
  49. package/dist/admin/components/AIChat/components/ResizableTextArea.mjs.map +1 -1
  50. package/dist/admin/components/AIChat/components/SimpleMenu.js.map +1 -1
  51. package/dist/admin/components/AIChat/components/SimpleMenu.mjs.map +1 -1
  52. package/dist/admin/components/AIChat/components/StepModal.js.map +1 -1
  53. package/dist/admin/components/AIChat/components/StepModal.mjs.map +1 -1
  54. package/dist/admin/components/AIChat/components/animations.js.map +1 -1
  55. package/dist/admin/components/AIChat/components/animations.mjs.map +1 -1
  56. package/dist/admin/components/AIChat/components/icons/FigmaIcon.js.map +1 -1
  57. package/dist/admin/components/AIChat/components/icons/FigmaIcon.mjs.map +1 -1
  58. package/dist/admin/components/AIChat/components/icons/StopIcon.js.map +1 -1
  59. package/dist/admin/components/AIChat/components/icons/StopIcon.mjs.map +1 -1
  60. package/dist/admin/components/AIChat/hooks/useAIFetch.js.map +1 -1
  61. package/dist/admin/components/AIChat/hooks/useAIFetch.mjs.map +1 -1
  62. package/dist/admin/components/AIChat/hooks/useAttachments.js.map +1 -1
  63. package/dist/admin/components/AIChat/hooks/useAttachments.mjs.map +1 -1
  64. package/dist/admin/components/AIChat/hooks/useChatTitle.js.map +1 -1
  65. package/dist/admin/components/AIChat/hooks/useChatTitle.mjs.map +1 -1
  66. package/dist/admin/components/AIChat/hooks/useCodeUpload.js.map +1 -1
  67. package/dist/admin/components/AIChat/hooks/useCodeUpload.mjs.map +1 -1
  68. package/dist/admin/components/AIChat/hooks/useFeedback.js.map +1 -1
  69. package/dist/admin/components/AIChat/hooks/useFeedback.mjs.map +1 -1
  70. package/dist/admin/components/AIChat/hooks/useFigmaUpload.js.map +1 -1
  71. package/dist/admin/components/AIChat/hooks/useFigmaUpload.mjs.map +1 -1
  72. package/dist/admin/components/AIChat/hooks/useLastSeenSchemas.js.map +1 -1
  73. package/dist/admin/components/AIChat/hooks/useLastSeenSchemas.mjs.map +1 -1
  74. package/dist/admin/components/AIChat/hooks/useTranslations.js.map +1 -1
  75. package/dist/admin/components/AIChat/hooks/useTranslations.mjs.map +1 -1
  76. package/dist/admin/components/AIChat/lib/aiClient.js.map +1 -1
  77. package/dist/admin/components/AIChat/lib/aiClient.mjs.map +1 -1
  78. package/dist/admin/components/AIChat/lib/constants.js.map +1 -1
  79. package/dist/admin/components/AIChat/lib/constants.mjs.map +1 -1
  80. package/dist/admin/components/AIChat/lib/misc.js.map +1 -1
  81. package/dist/admin/components/AIChat/lib/misc.mjs.map +1 -1
  82. package/dist/admin/components/AIChat/lib/transforms/schemas/fromCTB.js.map +1 -1
  83. package/dist/admin/components/AIChat/lib/transforms/schemas/fromCTB.mjs.map +1 -1
  84. package/dist/admin/components/AIChat/lib/transforms/schemas/toCTB.js.map +1 -1
  85. package/dist/admin/components/AIChat/lib/transforms/schemas/toCTB.mjs.map +1 -1
  86. package/dist/admin/components/AIChat/providers/ChatProvider.js.map +1 -1
  87. package/dist/admin/components/AIChat/providers/ChatProvider.mjs.map +1 -1
  88. package/dist/admin/components/AIChat/providers/SchemaProvider.js.map +1 -1
  89. package/dist/admin/components/AIChat/providers/SchemaProvider.mjs.map +1 -1
  90. package/dist/admin/components/AllowedTypesSelect.js.map +1 -1
  91. package/dist/admin/components/AllowedTypesSelect.mjs.map +1 -1
  92. package/dist/admin/components/ApplyConditionButton.js.map +1 -1
  93. package/dist/admin/components/ApplyConditionButton.mjs.map +1 -1
  94. package/dist/admin/components/AttributeIcon.js.map +1 -1
  95. package/dist/admin/components/AttributeIcon.mjs +1 -1
  96. package/dist/admin/components/AttributeIcon.mjs.map +1 -1
  97. package/dist/admin/components/AttributeOptions/AttributeList.js.map +1 -1
  98. package/dist/admin/components/AttributeOptions/AttributeList.mjs.map +1 -1
  99. package/dist/admin/components/AttributeOptions/AttributeOption.js.map +1 -1
  100. package/dist/admin/components/AttributeOptions/AttributeOption.mjs.map +1 -1
  101. package/dist/admin/components/AttributeOptions/AttributeOptions.js.map +1 -1
  102. package/dist/admin/components/AttributeOptions/AttributeOptions.mjs.map +1 -1
  103. package/dist/admin/components/AttributeOptions/CustomFieldOption.js.map +1 -1
  104. package/dist/admin/components/AttributeOptions/CustomFieldOption.mjs.map +1 -1
  105. package/dist/admin/components/AttributeOptions/CustomFieldsList.js.map +1 -1
  106. package/dist/admin/components/AttributeOptions/CustomFieldsList.mjs.map +1 -1
  107. package/dist/admin/components/AttributeOptions/EmptyAttributes.js.map +1 -1
  108. package/dist/admin/components/AttributeOptions/EmptyAttributes.mjs.map +1 -1
  109. package/dist/admin/components/AttributeOptions/OptionBoxWrapper.js.map +1 -1
  110. package/dist/admin/components/AttributeOptions/OptionBoxWrapper.mjs.map +1 -1
  111. package/dist/admin/components/AttributeRow.js.map +1 -1
  112. package/dist/admin/components/AttributeRow.mjs +1 -1
  113. package/dist/admin/components/AttributeRow.mjs.map +1 -1
  114. package/dist/admin/components/AutoReloadOverlayBlocker.js.map +1 -1
  115. package/dist/admin/components/AutoReloadOverlayBlocker.mjs.map +1 -1
  116. package/dist/admin/components/BooleanDefaultValueSelect.js.map +1 -1
  117. package/dist/admin/components/BooleanDefaultValueSelect.mjs.map +1 -1
  118. package/dist/admin/components/BooleanRadioGroup.js.map +1 -1
  119. package/dist/admin/components/BooleanRadioGroup.mjs.map +1 -1
  120. package/dist/admin/components/CTBSession/CTBSessionProvider.js.map +1 -1
  121. package/dist/admin/components/CTBSession/CTBSessionProvider.mjs.map +1 -1
  122. package/dist/admin/components/CTBSession/sessionContext.js.map +1 -1
  123. package/dist/admin/components/CTBSession/sessionContext.mjs.map +1 -1
  124. package/dist/admin/components/CTBSession/useCTBSession.js.map +1 -1
  125. package/dist/admin/components/CTBSession/useCTBSession.mjs.map +1 -1
  126. package/dist/admin/components/CTBSession/useCTBTracking.js.map +1 -1
  127. package/dist/admin/components/CTBSession/useCTBTracking.mjs.map +1 -1
  128. package/dist/admin/components/CheckboxWithNumberField.js.map +1 -1
  129. package/dist/admin/components/CheckboxWithNumberField.mjs.map +1 -1
  130. package/dist/admin/components/ComponentCard/ComponentCard.js.map +1 -1
  131. package/dist/admin/components/ComponentCard/ComponentCard.mjs +1 -1
  132. package/dist/admin/components/ComponentCard/ComponentCard.mjs.map +1 -1
  133. package/dist/admin/components/ComponentCard/ComponentIcon/ComponentIcon.js.map +1 -1
  134. package/dist/admin/components/ComponentCard/ComponentIcon/ComponentIcon.mjs.map +1 -1
  135. package/dist/admin/components/ComponentList.js.map +1 -1
  136. package/dist/admin/components/ComponentList.mjs.map +1 -1
  137. package/dist/admin/components/ComponentRow.js.map +1 -1
  138. package/dist/admin/components/ComponentRow.mjs.map +1 -1
  139. package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.js.map +1 -1
  140. package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.mjs +2 -2
  141. package/dist/admin/components/ContentTypeBuilderNav/ContentTypeBuilderNav.mjs.map +1 -1
  142. package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.js.map +1 -1
  143. package/dist/admin/components/ContentTypeBuilderNav/useContentTypeBuilderMenu.mjs.map +1 -1
  144. package/dist/admin/components/ContentTypeRadioGroup.js.map +1 -1
  145. package/dist/admin/components/ContentTypeRadioGroup.mjs.map +1 -1
  146. package/dist/admin/components/CustomRadioGroup/CustomRadioGroup.js.map +1 -1
  147. package/dist/admin/components/CustomRadioGroup/CustomRadioGroup.mjs.map +1 -1
  148. package/dist/admin/components/CustomRadioGroup/Styles.js.map +1 -1
  149. package/dist/admin/components/CustomRadioGroup/Styles.mjs +1 -1
  150. package/dist/admin/components/CustomRadioGroup/Styles.mjs.map +1 -1
  151. package/dist/admin/components/DataManager/DataManagerContext.js.map +1 -1
  152. package/dist/admin/components/DataManager/DataManagerContext.mjs.map +1 -1
  153. package/dist/admin/components/DataManager/DataManagerProvider.js.map +1 -1
  154. package/dist/admin/components/DataManager/DataManagerProvider.mjs +1 -1
  155. package/dist/admin/components/DataManager/DataManagerProvider.mjs.map +1 -1
  156. package/dist/admin/components/DataManager/reducer.js.map +1 -1
  157. package/dist/admin/components/DataManager/reducer.mjs.map +1 -1
  158. package/dist/admin/components/DataManager/undoRedo.js.map +1 -1
  159. package/dist/admin/components/DataManager/undoRedo.mjs.map +1 -1
  160. package/dist/admin/components/DataManager/useDataManager.js.map +1 -1
  161. package/dist/admin/components/DataManager/useDataManager.mjs.map +1 -1
  162. package/dist/admin/components/DataManager/useServerRestartWatcher.js.map +1 -1
  163. package/dist/admin/components/DataManager/useServerRestartWatcher.mjs.map +1 -1
  164. package/dist/admin/components/DataManager/utils/cleanData.js.map +1 -1
  165. package/dist/admin/components/DataManager/utils/cleanData.mjs.map +1 -1
  166. package/dist/admin/components/DataManager/utils/retrieveComponentsThatHaveComponents.js.map +1 -1
  167. package/dist/admin/components/DataManager/utils/retrieveComponentsThatHaveComponents.mjs.map +1 -1
  168. package/dist/admin/components/DataManager/utils/retrieveNestedComponents.js.map +1 -1
  169. package/dist/admin/components/DataManager/utils/retrieveNestedComponents.mjs.map +1 -1
  170. package/dist/admin/components/DataManager/utils/retrieveSpecificInfoFromComponents.js.map +1 -1
  171. package/dist/admin/components/DataManager/utils/retrieveSpecificInfoFromComponents.mjs.map +1 -1
  172. package/dist/admin/components/DisplayedType.js.map +1 -1
  173. package/dist/admin/components/DisplayedType.mjs.map +1 -1
  174. package/dist/admin/components/DraftAndPublishToggle.js.map +1 -1
  175. package/dist/admin/components/DraftAndPublishToggle.mjs.map +1 -1
  176. package/dist/admin/components/DynamicZoneList.js.map +1 -1
  177. package/dist/admin/components/DynamicZoneList.mjs +1 -1
  178. package/dist/admin/components/DynamicZoneList.mjs.map +1 -1
  179. package/dist/admin/components/ExitPrompt.js.map +1 -1
  180. package/dist/admin/components/ExitPrompt.mjs.map +1 -1
  181. package/dist/admin/components/Footers.js.map +1 -1
  182. package/dist/admin/components/Footers.mjs +2 -2
  183. package/dist/admin/components/Footers.mjs.map +1 -1
  184. package/dist/admin/components/FormModal/FormModal.js.map +1 -1
  185. package/dist/admin/components/FormModal/FormModal.mjs +1 -1
  186. package/dist/admin/components/FormModal/FormModal.mjs.map +1 -1
  187. package/dist/admin/components/FormModal/attributes/ConditionForm.js.map +1 -1
  188. package/dist/admin/components/FormModal/attributes/ConditionForm.mjs.map +1 -1
  189. package/dist/admin/components/FormModal/attributes/advancedForm.js.map +1 -1
  190. package/dist/admin/components/FormModal/attributes/advancedForm.mjs.map +1 -1
  191. package/dist/admin/components/FormModal/attributes/attributeOptions.js.map +1 -1
  192. package/dist/admin/components/FormModal/attributes/attributeOptions.mjs.map +1 -1
  193. package/dist/admin/components/FormModal/attributes/baseForm.js.map +1 -1
  194. package/dist/admin/components/FormModal/attributes/baseForm.mjs.map +1 -1
  195. package/dist/admin/components/FormModal/attributes/commonBaseForm.js.map +1 -1
  196. package/dist/admin/components/FormModal/attributes/commonBaseForm.mjs.map +1 -1
  197. package/dist/admin/components/FormModal/attributes/form.js.map +1 -1
  198. package/dist/admin/components/FormModal/attributes/form.mjs.map +1 -1
  199. package/dist/admin/components/FormModal/attributes/nameField.js.map +1 -1
  200. package/dist/admin/components/FormModal/attributes/nameField.mjs.map +1 -1
  201. package/dist/admin/components/FormModal/attributes/types.js.map +1 -1
  202. package/dist/admin/components/FormModal/attributes/types.mjs +1 -1
  203. package/dist/admin/components/FormModal/attributes/types.mjs.map +1 -1
  204. package/dist/admin/components/FormModal/attributes/validation/common.js.map +1 -1
  205. package/dist/admin/components/FormModal/attributes/validation/common.mjs.map +1 -1
  206. package/dist/admin/components/FormModal/component/componentField.js.map +1 -1
  207. package/dist/admin/components/FormModal/component/componentField.mjs.map +1 -1
  208. package/dist/admin/components/FormModal/component/componentForm.js.map +1 -1
  209. package/dist/admin/components/FormModal/component/componentForm.mjs.map +1 -1
  210. package/dist/admin/components/FormModal/component/createComponentSchema.js.map +1 -1
  211. package/dist/admin/components/FormModal/component/createComponentSchema.mjs.map +1 -1
  212. package/dist/admin/components/FormModal/contentType/contentTypeForm.js.map +1 -1
  213. package/dist/admin/components/FormModal/contentType/contentTypeForm.mjs.map +1 -1
  214. package/dist/admin/components/FormModal/contentType/createContentTypeSchema.js.map +1 -1
  215. package/dist/admin/components/FormModal/contentType/createContentTypeSchema.mjs.map +1 -1
  216. package/dist/admin/components/FormModal/dynamiczoneForm.js.map +1 -1
  217. package/dist/admin/components/FormModal/dynamiczoneForm.mjs.map +1 -1
  218. package/dist/admin/components/FormModal/forms/forms.js.map +1 -1
  219. package/dist/admin/components/FormModal/forms/forms.mjs.map +1 -1
  220. package/dist/admin/components/FormModal/forms/utils/addItemsToFormSection.js.map +1 -1
  221. package/dist/admin/components/FormModal/forms/utils/addItemsToFormSection.mjs.map +1 -1
  222. package/dist/admin/components/FormModal/forms/utils/createCollectionName.js.map +1 -1
  223. package/dist/admin/components/FormModal/forms/utils/createCollectionName.mjs.map +1 -1
  224. package/dist/admin/components/FormModal/forms/utils/getUsedAttributeNames.js.map +1 -1
  225. package/dist/admin/components/FormModal/forms/utils/getUsedAttributeNames.mjs.map +1 -1
  226. package/dist/admin/components/FormModal/reducer.js.map +1 -1
  227. package/dist/admin/components/FormModal/reducer.mjs.map +1 -1
  228. package/dist/admin/components/FormModal/utils/canEditContentType.js.map +1 -1
  229. package/dist/admin/components/FormModal/utils/canEditContentType.mjs.map +1 -1
  230. package/dist/admin/components/FormModal/utils/createUid.js.map +1 -1
  231. package/dist/admin/components/FormModal/utils/createUid.mjs.map +1 -1
  232. package/dist/admin/components/FormModal/utils/customFieldDefaultOptionsReducer.js.map +1 -1
  233. package/dist/admin/components/FormModal/utils/customFieldDefaultOptionsReducer.mjs.map +1 -1
  234. package/dist/admin/components/FormModal/utils/getAttributesToDisplay.js.map +1 -1
  235. package/dist/admin/components/FormModal/utils/getAttributesToDisplay.mjs.map +1 -1
  236. package/dist/admin/components/FormModal/utils/getFormInputNames.js.map +1 -1
  237. package/dist/admin/components/FormModal/utils/getFormInputNames.mjs.map +1 -1
  238. package/dist/admin/components/FormModal/utils/relations.js.map +1 -1
  239. package/dist/admin/components/FormModal/utils/relations.mjs.map +1 -1
  240. package/dist/admin/components/FormModalEndActions.js.map +1 -1
  241. package/dist/admin/components/FormModalEndActions.mjs.map +1 -1
  242. package/dist/admin/components/FormModalHeader.js.map +1 -1
  243. package/dist/admin/components/FormModalHeader.mjs.map +1 -1
  244. package/dist/admin/components/FormModalNavigation/FormModalNavigationContext.js.map +1 -1
  245. package/dist/admin/components/FormModalNavigation/FormModalNavigationContext.mjs.map +1 -1
  246. package/dist/admin/components/FormModalNavigation/FormModalNavigationProvider.js.map +1 -1
  247. package/dist/admin/components/FormModalNavigation/FormModalNavigationProvider.mjs.map +1 -1
  248. package/dist/admin/components/FormModalNavigation/useFormModalNavigation.js.map +1 -1
  249. package/dist/admin/components/FormModalNavigation/useFormModalNavigation.mjs.map +1 -1
  250. package/dist/admin/components/FormModalSubHeader.js.map +1 -1
  251. package/dist/admin/components/FormModalSubHeader.mjs.map +1 -1
  252. package/dist/admin/components/GenericInputs.js +1 -5
  253. package/dist/admin/components/GenericInputs.js.map +1 -1
  254. package/dist/admin/components/GenericInputs.mjs +1 -5
  255. package/dist/admin/components/GenericInputs.mjs.map +1 -1
  256. package/dist/admin/components/IconPicker/IconPicker.js.map +1 -1
  257. package/dist/admin/components/IconPicker/IconPicker.mjs +1 -1
  258. package/dist/admin/components/IconPicker/IconPicker.mjs.map +1 -1
  259. package/dist/admin/components/IconPicker/constants.js.map +1 -1
  260. package/dist/admin/components/IconPicker/constants.mjs.map +1 -1
  261. package/dist/admin/components/List.js.map +1 -1
  262. package/dist/admin/components/List.mjs +1 -1
  263. package/dist/admin/components/List.mjs.map +1 -1
  264. package/dist/admin/components/PluralName.js.map +1 -1
  265. package/dist/admin/components/PluralName.mjs.map +1 -1
  266. package/dist/admin/components/Relation/Relation.js.map +1 -1
  267. package/dist/admin/components/Relation/Relation.mjs.map +1 -1
  268. package/dist/admin/components/Relation/RelationField/RelationField.js.map +1 -1
  269. package/dist/admin/components/Relation/RelationField/RelationField.mjs.map +1 -1
  270. package/dist/admin/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.js.map +1 -1
  271. package/dist/admin/components/Relation/RelationField/RelationTargetPicker/RelationTargetPicker.mjs.map +1 -1
  272. package/dist/admin/components/Relation/RelationNaturePicker/Components.js.map +1 -1
  273. package/dist/admin/components/Relation/RelationNaturePicker/Components.mjs.map +1 -1
  274. package/dist/admin/components/Relation/RelationNaturePicker/RelationNaturePicker.js.map +1 -1
  275. package/dist/admin/components/Relation/RelationNaturePicker/RelationNaturePicker.mjs +1 -1
  276. package/dist/admin/components/Relation/RelationNaturePicker/RelationNaturePicker.mjs.map +1 -1
  277. package/dist/admin/components/SelectCategory.js.map +1 -1
  278. package/dist/admin/components/SelectCategory.mjs.map +1 -1
  279. package/dist/admin/components/SelectComponent.js.map +1 -1
  280. package/dist/admin/components/SelectComponent.mjs.map +1 -1
  281. package/dist/admin/components/SelectComponents.js.map +1 -1
  282. package/dist/admin/components/SelectComponents.mjs.map +1 -1
  283. package/dist/admin/components/SelectDateType.js.map +1 -1
  284. package/dist/admin/components/SelectDateType.mjs.map +1 -1
  285. package/dist/admin/components/SelectNumber.js.map +1 -1
  286. package/dist/admin/components/SelectNumber.mjs.map +1 -1
  287. package/dist/admin/components/SingularName.js.map +1 -1
  288. package/dist/admin/components/SingularName.mjs.map +1 -1
  289. package/dist/admin/components/Status.js.map +1 -1
  290. package/dist/admin/components/Status.mjs.map +1 -1
  291. package/dist/admin/components/TabForm.js.map +1 -1
  292. package/dist/admin/components/TabForm.mjs.map +1 -1
  293. package/dist/admin/components/TextareaEnum.js.map +1 -1
  294. package/dist/admin/components/TextareaEnum.mjs.map +1 -1
  295. package/dist/admin/constants.js.map +1 -1
  296. package/dist/admin/constants.mjs.map +1 -1
  297. package/dist/admin/icons/Curve.js.map +1 -1
  298. package/dist/admin/icons/Curve.mjs.map +1 -1
  299. package/dist/admin/index.js.map +1 -1
  300. package/dist/admin/index.mjs.map +1 -1
  301. package/dist/admin/pages/App/index.js.map +1 -1
  302. package/dist/admin/pages/App/index.mjs.map +1 -1
  303. package/dist/admin/pages/ListView/EmptyState.js.map +1 -1
  304. package/dist/admin/pages/ListView/EmptyState.mjs +1 -1
  305. package/dist/admin/pages/ListView/EmptyState.mjs.map +1 -1
  306. package/dist/admin/pages/ListView/LinkToCMSettingsView.js.map +1 -1
  307. package/dist/admin/pages/ListView/LinkToCMSettingsView.mjs.map +1 -1
  308. package/dist/admin/pages/ListView/ListView.js.map +1 -1
  309. package/dist/admin/pages/ListView/ListView.mjs +1 -1
  310. package/dist/admin/pages/ListView/ListView.mjs.map +1 -1
  311. package/dist/admin/reducers.js +4 -4
  312. package/dist/admin/reducers.js.map +1 -1
  313. package/dist/admin/reducers.mjs +4 -4
  314. package/dist/admin/reducers.mjs.map +1 -1
  315. package/dist/admin/utils/conditions.js.map +1 -1
  316. package/dist/admin/utils/conditions.mjs.map +1 -1
  317. package/dist/admin/utils/findAttribute.js.map +1 -1
  318. package/dist/admin/utils/findAttribute.mjs.map +1 -1
  319. package/dist/admin/utils/formAPI.js.map +1 -1
  320. package/dist/admin/utils/formAPI.mjs.map +1 -1
  321. package/dist/admin/utils/getAttributeDisplayedType.js.map +1 -1
  322. package/dist/admin/utils/getAttributeDisplayedType.mjs.map +1 -1
  323. package/dist/admin/utils/getMaxDepth.js.map +1 -1
  324. package/dist/admin/utils/getMaxDepth.mjs.map +1 -1
  325. package/dist/admin/utils/getRelationType.js.map +1 -1
  326. package/dist/admin/utils/getRelationType.mjs.map +1 -1
  327. package/dist/admin/utils/getTrad.js.map +1 -1
  328. package/dist/admin/utils/getTrad.mjs.map +1 -1
  329. package/dist/admin/utils/getYupInnerErrors.js.map +1 -1
  330. package/dist/admin/utils/getYupInnerErrors.mjs.map +1 -1
  331. package/dist/admin/utils/isAllowedContentTypesForRelations.js.map +1 -1
  332. package/dist/admin/utils/isAllowedContentTypesForRelations.mjs.map +1 -1
  333. package/dist/admin/utils/makeUnique.js.map +1 -1
  334. package/dist/admin/utils/makeUnique.mjs.map +1 -1
  335. package/dist/admin/utils/nameToSlug.js.map +1 -1
  336. package/dist/admin/utils/nameToSlug.mjs.map +1 -1
  337. package/dist/admin/utils/parseDateValue.js.map +1 -1
  338. package/dist/admin/utils/parseDateValue.mjs.map +1 -1
  339. package/dist/admin/utils/prefixPluginTranslations.js.map +1 -1
  340. package/dist/admin/utils/prefixPluginTranslations.mjs.map +1 -1
  341. package/dist/admin/utils/timeFormat.js.map +1 -1
  342. package/dist/admin/utils/timeFormat.mjs.map +1 -1
  343. package/dist/admin/utils/toRegressedEnumValue.js.map +1 -1
  344. package/dist/admin/utils/toRegressedEnumValue.mjs.map +1 -1
  345. package/dist/server/bootstrap.js.map +1 -1
  346. package/dist/server/bootstrap.mjs.map +1 -1
  347. package/dist/server/config.js.map +1 -1
  348. package/dist/server/config.mjs.map +1 -1
  349. package/dist/server/controllers/builder.js.map +1 -1
  350. package/dist/server/controllers/builder.mjs.map +1 -1
  351. package/dist/server/controllers/component-categories.js.map +1 -1
  352. package/dist/server/controllers/component-categories.mjs.map +1 -1
  353. package/dist/server/controllers/components.js.map +1 -1
  354. package/dist/server/controllers/components.mjs +1 -1
  355. package/dist/server/controllers/components.mjs.map +1 -1
  356. package/dist/server/controllers/content-types.js.map +1 -1
  357. package/dist/server/controllers/content-types.mjs +1 -1
  358. package/dist/server/controllers/content-types.mjs.map +1 -1
  359. package/dist/server/controllers/index.js.map +1 -1
  360. package/dist/server/controllers/index.mjs.map +1 -1
  361. package/dist/server/controllers/schema.js.map +1 -1
  362. package/dist/server/controllers/schema.mjs.map +1 -1
  363. package/dist/server/controllers/validation/common.js.map +1 -1
  364. package/dist/server/controllers/validation/common.mjs.map +1 -1
  365. package/dist/server/controllers/validation/component-category.js.map +1 -1
  366. package/dist/server/controllers/validation/component-category.mjs.map +1 -1
  367. package/dist/server/controllers/validation/component.js.map +1 -1
  368. package/dist/server/controllers/validation/component.mjs +1 -1
  369. package/dist/server/controllers/validation/component.mjs.map +1 -1
  370. package/dist/server/controllers/validation/content-type.js.map +1 -1
  371. package/dist/server/controllers/validation/content-type.mjs.map +1 -1
  372. package/dist/server/controllers/validation/data-transform.js.map +1 -1
  373. package/dist/server/controllers/validation/data-transform.mjs.map +1 -1
  374. package/dist/server/controllers/validation/model-schema.js.map +1 -1
  375. package/dist/server/controllers/validation/model-schema.mjs.map +1 -1
  376. package/dist/server/controllers/validation/relations.js.map +1 -1
  377. package/dist/server/controllers/validation/relations.mjs.map +1 -1
  378. package/dist/server/controllers/validation/schema.js.map +1 -1
  379. package/dist/server/controllers/validation/schema.mjs +1 -1
  380. package/dist/server/controllers/validation/schema.mjs.map +1 -1
  381. package/dist/server/controllers/validation/types.js +0 -1
  382. package/dist/server/controllers/validation/types.js.map +1 -1
  383. package/dist/server/controllers/validation/types.mjs +1 -2
  384. package/dist/server/controllers/validation/types.mjs.map +1 -1
  385. package/dist/server/index.js +8 -8
  386. package/dist/server/middlewares/is-development-mode.js.map +1 -1
  387. package/dist/server/middlewares/is-development-mode.mjs.map +1 -1
  388. package/dist/server/register.js.map +1 -1
  389. package/dist/server/register.mjs.map +1 -1
  390. package/dist/server/routes/admin.js.map +1 -1
  391. package/dist/server/routes/admin.mjs.map +1 -1
  392. package/dist/server/routes/content-api.js.map +1 -1
  393. package/dist/server/routes/content-api.mjs.map +1 -1
  394. package/dist/server/routes/index.js.map +1 -1
  395. package/dist/server/routes/index.mjs.map +1 -1
  396. package/dist/server/services/api-handler.js.map +1 -1
  397. package/dist/server/services/api-handler.mjs.map +1 -1
  398. package/dist/server/services/builder.js.map +1 -1
  399. package/dist/server/services/builder.mjs.map +1 -1
  400. package/dist/server/services/component-categories.js.map +1 -1
  401. package/dist/server/services/component-categories.mjs +1 -1
  402. package/dist/server/services/component-categories.mjs.map +1 -1
  403. package/dist/server/services/components.js.map +1 -1
  404. package/dist/server/services/components.mjs +1 -1
  405. package/dist/server/services/components.mjs.map +1 -1
  406. package/dist/server/services/constants.js.map +1 -1
  407. package/dist/server/services/constants.mjs.map +1 -1
  408. package/dist/server/services/content-types.js.map +1 -1
  409. package/dist/server/services/content-types.mjs +1 -1
  410. package/dist/server/services/content-types.mjs.map +1 -1
  411. package/dist/server/services/index.js.map +1 -1
  412. package/dist/server/services/index.mjs.map +1 -1
  413. package/dist/server/services/schema-builder/component-builder.js.map +1 -1
  414. package/dist/server/services/schema-builder/component-builder.mjs +1 -1
  415. package/dist/server/services/schema-builder/component-builder.mjs.map +1 -1
  416. package/dist/server/services/schema-builder/content-type-builder.js.map +1 -1
  417. package/dist/server/services/schema-builder/content-type-builder.mjs +2 -2
  418. package/dist/server/services/schema-builder/content-type-builder.mjs.map +1 -1
  419. package/dist/server/services/schema-builder/index.js.map +1 -1
  420. package/dist/server/services/schema-builder/index.mjs +3 -3
  421. package/dist/server/services/schema-builder/index.mjs.map +1 -1
  422. package/dist/server/services/schema-builder/schema-handler.js.map +1 -1
  423. package/dist/server/services/schema-builder/schema-handler.mjs.map +1 -1
  424. package/dist/server/services/schema.js.map +1 -1
  425. package/dist/server/services/schema.mjs +1 -1
  426. package/dist/server/services/schema.mjs.map +1 -1
  427. package/dist/server/utils/attributes.js.map +1 -1
  428. package/dist/server/utils/attributes.mjs.map +1 -1
  429. package/dist/server/utils/index.js.map +1 -1
  430. package/dist/server/utils/index.mjs.map +1 -1
  431. package/dist/server/utils/typeguards.js.map +1 -1
  432. package/dist/server/utils/typeguards.mjs.map +1 -1
  433. package/package.json +7 -7
@@ -1 +1 @@
1
- {"version":3,"file":"AutoReloadOverlayBlocker.js","sources":["../../../admin/src/components/AutoReloadOverlayBlocker.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Flex, Typography, Link } from '@strapi/design-system';\nimport { Clock, ArrowClockwise } from '@strapi/icons';\nimport { createPortal } from 'react-dom';\nimport { MessageDescriptor, useIntl } from 'react-intl';\nimport { styled, keyframes } from 'styled-components';\n\n/**\n * TODO: realistically a lot of this logic is isolated to the `core/admin` package.\n * However, we want to expose the `useAutoReloadOverlayBlocker` hook to the plugins.\n *\n * Therefore, in V5 we should move this logic back to the `core/admin` package & export\n * the hook from that package and re-export here. For now, let's keep it all together\n * because it's easier to diagnose and we're not using a million refs because we don't\n * understand what's going on.\n */\nexport interface AutoReloadOverlayBlockerConfig {\n title?: string;\n description?: string;\n icon?: 'reload' | 'time';\n}\n\n/* -------------------------------------------------------------------------------------------------\n * Context\n * -----------------------------------------------------------------------------------------------*/\n\nexport interface AutoReloadOverlayBlockerContextValue {\n lockAppWithAutoreload: (config?: AutoReloadOverlayBlockerConfig) => void;\n unlockAppWithAutoreload: () => void;\n}\n\nconst AutoReloadOverlayBlockerContext = React.createContext<AutoReloadOverlayBlockerContextValue>({\n lockAppWithAutoreload: () => {},\n unlockAppWithAutoreload: () => {},\n});\n\n/* -------------------------------------------------------------------------------------------------\n * Provider\n * -----------------------------------------------------------------------------------------------*/\n\nexport interface AutoReloadOverlayBlockerProviderProps {\n children: React.ReactNode;\n}\n\nconst MAX_ELAPSED_TIME = 300 * 1000;\n\nconst AutoReloadOverlayBlockerProvider = ({ children }: AutoReloadOverlayBlockerProviderProps) => {\n const [isOpen, setIsOpen] = React.useState(false);\n const [config, setConfig] = React.useState<AutoReloadOverlayBlockerConfig>({});\n const [failed, setFailed] = React.useState(false);\n\n const lockAppWithAutoreload = React.useCallback((config: AutoReloadOverlayBlockerConfig = {}) => {\n setIsOpen(true);\n setConfig(config);\n }, []);\n\n const unlockAppWithAutoreload = React.useCallback(() => {\n setIsOpen(false);\n setConfig({});\n }, []);\n\n // eslint-disable-next-line consistent-return\n React.useEffect(() => {\n if (isOpen) {\n const timeout = setTimeout(() => {\n setFailed(true);\n }, MAX_ELAPSED_TIME);\n\n return () => {\n clearTimeout(timeout);\n };\n }\n }, [isOpen]);\n\n let displayedIcon = config?.icon || 'reload';\n\n let description = {\n id: config?.description || 'components.OverlayBlocker.description',\n defaultMessage:\n \"You're using a feature that needs the server to restart. The page will reload automatically.\",\n };\n\n let title = {\n id: config?.title || 'components.OverlayBlocker.title',\n defaultMessage: 'Waiting for restart',\n };\n\n if (failed) {\n displayedIcon = 'time';\n\n description = {\n id: 'components.OverlayBlocker.description.serverError',\n defaultMessage: 'The server should have restarted, please check your logs in the terminal.',\n };\n\n title = {\n id: 'components.OverlayBlocker.title.serverError',\n defaultMessage: 'The restart is taking longer than expected',\n };\n }\n\n const autoReloadValue = React.useMemo(\n () => ({\n lockAppWithAutoreload,\n unlockAppWithAutoreload,\n }),\n [lockAppWithAutoreload, unlockAppWithAutoreload]\n );\n\n return (\n <AutoReloadOverlayBlockerContext.Provider value={autoReloadValue}>\n <Blocker\n displayedIcon={displayedIcon}\n isOpen={isOpen}\n description={description}\n title={title}\n />\n {children}\n </AutoReloadOverlayBlockerContext.Provider>\n );\n};\n\ninterface BlockerProps {\n displayedIcon: string;\n description: MessageDescriptor;\n isOpen: boolean;\n title: MessageDescriptor;\n}\n\nconst Blocker = ({ displayedIcon, description, title, isOpen }: BlockerProps) => {\n const { formatMessage } = useIntl();\n\n // eslint-disable-next-line no-undef\n return isOpen && globalThis?.document?.body\n ? createPortal(\n <Overlay id=\"autoReloadOverlayBlocker\" direction=\"column\" alignItems=\"center\" gap={6}>\n <Flex direction=\"column\" alignItems=\"center\" gap={2}>\n <Typography tag=\"h1\" variant=\"alpha\">\n {formatMessage(title)}\n </Typography>\n <Typography tag=\"h2\" textColor=\"neutral600\" fontSize={4} fontWeight=\"regular\">\n {formatMessage(description)}\n </Typography>\n </Flex>\n {displayedIcon === 'reload' && (\n <IconBox padding={6} background=\"primary100\" borderColor=\"primary200\">\n <LoaderReload width=\"4rem\" height=\"4rem\" />\n </IconBox>\n )}\n {displayedIcon === 'time' && (\n <IconBox padding={6} background=\"primary100\" borderColor=\"primary200\">\n <Clock width=\"4rem\" height=\"4rem\" />\n </IconBox>\n )}\n <Box marginTop={2}>\n <Link href=\"https://docs.strapi.io\" isExternal>\n {formatMessage({\n id: 'global.documentation',\n defaultMessage: 'Read the documentation',\n })}\n </Link>\n </Box>\n </Overlay>,\n // eslint-disable-next-line no-undef\n globalThis.document.body\n )\n : null;\n};\n\nconst rotation = keyframes`\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(359deg);\n }\n `;\n\nconst LoaderReload = styled(ArrowClockwise)`\n animation: ${rotation} 1s infinite linear;\n`;\n\nconst Overlay = styled(Flex)`\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n /* TODO: set this up in the theme for consistence z-index values */\n z-index: 1140;\n padding-top: 16rem;\n\n & > * {\n position: relative;\n z-index: 1;\n }\n\n &:before {\n content: '';\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: ${({ theme }) => theme.colors.neutral0};\n opacity: 0.9;\n }\n`;\n\nconst IconBox = styled(Box)`\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n svg {\n > path {\n fill: ${({ theme }) => theme.colors.primary600} !important;\n }\n }\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * Hook\n * -----------------------------------------------------------------------------------------------*/\n\nconst useAutoReloadOverlayBlocker = () => React.useContext(AutoReloadOverlayBlockerContext);\n\nexport { AutoReloadOverlayBlockerProvider, useAutoReloadOverlayBlocker };\n"],"names":["AutoReloadOverlayBlockerContext","React","createContext","lockAppWithAutoreload","unlockAppWithAutoreload","MAX_ELAPSED_TIME","AutoReloadOverlayBlockerProvider","children","isOpen","setIsOpen","useState","config","setConfig","failed","setFailed","useCallback","useEffect","timeout","setTimeout","clearTimeout","displayedIcon","icon","description","id","defaultMessage","title","autoReloadValue","useMemo","_jsxs","Provider","value","_jsx","Blocker","formatMessage","useIntl","globalThis","document","body","createPortal","Overlay","direction","alignItems","gap","Flex","Typography","tag","variant","textColor","fontSize","fontWeight","IconBox","padding","background","borderColor","LoaderReload","width","height","Clock","Box","marginTop","Link","href","isExternal","rotation","keyframes","styled","ArrowClockwise","theme","colors","neutral0","primary600","useAutoReloadOverlayBlocker","useContext"],"mappings":"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"}
1
+ {"version":3,"file":"AutoReloadOverlayBlocker.js","sources":["../../../admin/src/components/AutoReloadOverlayBlocker.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Flex, Typography, Link } from '@strapi/design-system';\nimport { Clock, ArrowClockwise } from '@strapi/icons';\nimport { createPortal } from 'react-dom';\nimport { MessageDescriptor, useIntl } from 'react-intl';\nimport { styled, keyframes } from 'styled-components';\n\n/**\n * TODO: realistically a lot of this logic is isolated to the `core/admin` package.\n * However, we want to expose the `useAutoReloadOverlayBlocker` hook to the plugins.\n *\n * Therefore, in V5 we should move this logic back to the `core/admin` package & export\n * the hook from that package and re-export here. For now, let's keep it all together\n * because it's easier to diagnose and we're not using a million refs because we don't\n * understand what's going on.\n */\nexport interface AutoReloadOverlayBlockerConfig {\n title?: string;\n description?: string;\n icon?: 'reload' | 'time';\n}\n\n/* -------------------------------------------------------------------------------------------------\n * Context\n * -----------------------------------------------------------------------------------------------*/\n\nexport interface AutoReloadOverlayBlockerContextValue {\n lockAppWithAutoreload: (config?: AutoReloadOverlayBlockerConfig) => void;\n unlockAppWithAutoreload: () => void;\n}\n\nconst AutoReloadOverlayBlockerContext = React.createContext<AutoReloadOverlayBlockerContextValue>({\n lockAppWithAutoreload: () => {},\n unlockAppWithAutoreload: () => {},\n});\n\n/* -------------------------------------------------------------------------------------------------\n * Provider\n * -----------------------------------------------------------------------------------------------*/\n\nexport interface AutoReloadOverlayBlockerProviderProps {\n children: React.ReactNode;\n}\n\nconst MAX_ELAPSED_TIME = 300 * 1000;\n\nconst AutoReloadOverlayBlockerProvider = ({ children }: AutoReloadOverlayBlockerProviderProps) => {\n const [isOpen, setIsOpen] = React.useState(false);\n const [config, setConfig] = React.useState<AutoReloadOverlayBlockerConfig>({});\n const [failed, setFailed] = React.useState(false);\n\n const lockAppWithAutoreload = React.useCallback((config: AutoReloadOverlayBlockerConfig = {}) => {\n setIsOpen(true);\n setConfig(config);\n }, []);\n\n const unlockAppWithAutoreload = React.useCallback(() => {\n setIsOpen(false);\n setConfig({});\n }, []);\n\n // eslint-disable-next-line consistent-return\n React.useEffect(() => {\n if (isOpen) {\n const timeout = setTimeout(() => {\n setFailed(true);\n }, MAX_ELAPSED_TIME);\n\n return () => {\n clearTimeout(timeout);\n };\n }\n }, [isOpen]);\n\n let displayedIcon = config?.icon || 'reload';\n\n let description = {\n id: config?.description || 'components.OverlayBlocker.description',\n defaultMessage:\n \"You're using a feature that needs the server to restart. The page will reload automatically.\",\n };\n\n let title = {\n id: config?.title || 'components.OverlayBlocker.title',\n defaultMessage: 'Waiting for restart',\n };\n\n if (failed) {\n displayedIcon = 'time';\n\n description = {\n id: 'components.OverlayBlocker.description.serverError',\n defaultMessage: 'The server should have restarted, please check your logs in the terminal.',\n };\n\n title = {\n id: 'components.OverlayBlocker.title.serverError',\n defaultMessage: 'The restart is taking longer than expected',\n };\n }\n\n const autoReloadValue = React.useMemo(\n () => ({\n lockAppWithAutoreload,\n unlockAppWithAutoreload,\n }),\n [lockAppWithAutoreload, unlockAppWithAutoreload]\n );\n\n return (\n <AutoReloadOverlayBlockerContext.Provider value={autoReloadValue}>\n <Blocker\n displayedIcon={displayedIcon}\n isOpen={isOpen}\n description={description}\n title={title}\n />\n {children}\n </AutoReloadOverlayBlockerContext.Provider>\n );\n};\n\ninterface BlockerProps {\n displayedIcon: string;\n description: MessageDescriptor;\n isOpen: boolean;\n title: MessageDescriptor;\n}\n\nconst Blocker = ({ displayedIcon, description, title, isOpen }: BlockerProps) => {\n const { formatMessage } = useIntl();\n\n // eslint-disable-next-line no-undef\n return isOpen && globalThis?.document?.body\n ? createPortal(\n <Overlay id=\"autoReloadOverlayBlocker\" direction=\"column\" alignItems=\"center\" gap={6}>\n <Flex direction=\"column\" alignItems=\"center\" gap={2}>\n <Typography tag=\"h1\" variant=\"alpha\">\n {formatMessage(title)}\n </Typography>\n <Typography tag=\"h2\" textColor=\"neutral600\" fontSize={4} fontWeight=\"regular\">\n {formatMessage(description)}\n </Typography>\n </Flex>\n {displayedIcon === 'reload' && (\n <IconBox padding={6} background=\"primary100\" borderColor=\"primary200\">\n <LoaderReload width=\"4rem\" height=\"4rem\" />\n </IconBox>\n )}\n {displayedIcon === 'time' && (\n <IconBox padding={6} background=\"primary100\" borderColor=\"primary200\">\n <Clock width=\"4rem\" height=\"4rem\" />\n </IconBox>\n )}\n <Box marginTop={2}>\n <Link href=\"https://docs.strapi.io\" isExternal>\n {formatMessage({\n id: 'global.documentation',\n defaultMessage: 'Read the documentation',\n })}\n </Link>\n </Box>\n </Overlay>,\n // eslint-disable-next-line no-undef\n globalThis.document.body\n )\n : null;\n};\n\nconst rotation = keyframes`\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(359deg);\n }\n `;\n\nconst LoaderReload = styled(ArrowClockwise)`\n animation: ${rotation} 1s infinite linear;\n`;\n\nconst Overlay = styled(Flex)`\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n /* TODO: set this up in the theme for consistence z-index values */\n z-index: 1140;\n padding-top: 16rem;\n\n & > * {\n position: relative;\n z-index: 1;\n }\n\n &:before {\n content: '';\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: ${({ theme }) => theme.colors.neutral0};\n opacity: 0.9;\n }\n`;\n\nconst IconBox = styled(Box)`\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n svg {\n > path {\n fill: ${({ theme }) => theme.colors.primary600} !important;\n }\n }\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * Hook\n * -----------------------------------------------------------------------------------------------*/\n\nconst useAutoReloadOverlayBlocker = () => React.useContext(AutoReloadOverlayBlockerContext);\n\nexport { AutoReloadOverlayBlockerProvider, useAutoReloadOverlayBlocker };\n"],"names":["AutoReloadOverlayBlockerContext","React","createContext","lockAppWithAutoreload","unlockAppWithAutoreload","MAX_ELAPSED_TIME","AutoReloadOverlayBlockerProvider","children","isOpen","setIsOpen","useState","config","setConfig","failed","setFailed","useCallback","useEffect","timeout","setTimeout","clearTimeout","displayedIcon","icon","description","id","defaultMessage","title","autoReloadValue","useMemo","_jsxs","Provider","value","_jsx","Blocker","formatMessage","useIntl","globalThis","document","body","createPortal","Overlay","direction","alignItems","gap","Flex","Typography","tag","variant","textColor","fontSize","fontWeight","IconBox","padding","background","borderColor","LoaderReload","width","height","Clock","Box","marginTop","Link","href","isExternal","rotation","keyframes","styled","ArrowClockwise","theme","colors","neutral0","primary600","useAutoReloadOverlayBlocker","useContext"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AutoReloadOverlayBlocker.mjs","sources":["../../../admin/src/components/AutoReloadOverlayBlocker.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Flex, Typography, Link } from '@strapi/design-system';\nimport { Clock, ArrowClockwise } from '@strapi/icons';\nimport { createPortal } from 'react-dom';\nimport { MessageDescriptor, useIntl } from 'react-intl';\nimport { styled, keyframes } from 'styled-components';\n\n/**\n * TODO: realistically a lot of this logic is isolated to the `core/admin` package.\n * However, we want to expose the `useAutoReloadOverlayBlocker` hook to the plugins.\n *\n * Therefore, in V5 we should move this logic back to the `core/admin` package & export\n * the hook from that package and re-export here. For now, let's keep it all together\n * because it's easier to diagnose and we're not using a million refs because we don't\n * understand what's going on.\n */\nexport interface AutoReloadOverlayBlockerConfig {\n title?: string;\n description?: string;\n icon?: 'reload' | 'time';\n}\n\n/* -------------------------------------------------------------------------------------------------\n * Context\n * -----------------------------------------------------------------------------------------------*/\n\nexport interface AutoReloadOverlayBlockerContextValue {\n lockAppWithAutoreload: (config?: AutoReloadOverlayBlockerConfig) => void;\n unlockAppWithAutoreload: () => void;\n}\n\nconst AutoReloadOverlayBlockerContext = React.createContext<AutoReloadOverlayBlockerContextValue>({\n lockAppWithAutoreload: () => {},\n unlockAppWithAutoreload: () => {},\n});\n\n/* -------------------------------------------------------------------------------------------------\n * Provider\n * -----------------------------------------------------------------------------------------------*/\n\nexport interface AutoReloadOverlayBlockerProviderProps {\n children: React.ReactNode;\n}\n\nconst MAX_ELAPSED_TIME = 300 * 1000;\n\nconst AutoReloadOverlayBlockerProvider = ({ children }: AutoReloadOverlayBlockerProviderProps) => {\n const [isOpen, setIsOpen] = React.useState(false);\n const [config, setConfig] = React.useState<AutoReloadOverlayBlockerConfig>({});\n const [failed, setFailed] = React.useState(false);\n\n const lockAppWithAutoreload = React.useCallback((config: AutoReloadOverlayBlockerConfig = {}) => {\n setIsOpen(true);\n setConfig(config);\n }, []);\n\n const unlockAppWithAutoreload = React.useCallback(() => {\n setIsOpen(false);\n setConfig({});\n }, []);\n\n // eslint-disable-next-line consistent-return\n React.useEffect(() => {\n if (isOpen) {\n const timeout = setTimeout(() => {\n setFailed(true);\n }, MAX_ELAPSED_TIME);\n\n return () => {\n clearTimeout(timeout);\n };\n }\n }, [isOpen]);\n\n let displayedIcon = config?.icon || 'reload';\n\n let description = {\n id: config?.description || 'components.OverlayBlocker.description',\n defaultMessage:\n \"You're using a feature that needs the server to restart. The page will reload automatically.\",\n };\n\n let title = {\n id: config?.title || 'components.OverlayBlocker.title',\n defaultMessage: 'Waiting for restart',\n };\n\n if (failed) {\n displayedIcon = 'time';\n\n description = {\n id: 'components.OverlayBlocker.description.serverError',\n defaultMessage: 'The server should have restarted, please check your logs in the terminal.',\n };\n\n title = {\n id: 'components.OverlayBlocker.title.serverError',\n defaultMessage: 'The restart is taking longer than expected',\n };\n }\n\n const autoReloadValue = React.useMemo(\n () => ({\n lockAppWithAutoreload,\n unlockAppWithAutoreload,\n }),\n [lockAppWithAutoreload, unlockAppWithAutoreload]\n );\n\n return (\n <AutoReloadOverlayBlockerContext.Provider value={autoReloadValue}>\n <Blocker\n displayedIcon={displayedIcon}\n isOpen={isOpen}\n description={description}\n title={title}\n />\n {children}\n </AutoReloadOverlayBlockerContext.Provider>\n );\n};\n\ninterface BlockerProps {\n displayedIcon: string;\n description: MessageDescriptor;\n isOpen: boolean;\n title: MessageDescriptor;\n}\n\nconst Blocker = ({ displayedIcon, description, title, isOpen }: BlockerProps) => {\n const { formatMessage } = useIntl();\n\n // eslint-disable-next-line no-undef\n return isOpen && globalThis?.document?.body\n ? createPortal(\n <Overlay id=\"autoReloadOverlayBlocker\" direction=\"column\" alignItems=\"center\" gap={6}>\n <Flex direction=\"column\" alignItems=\"center\" gap={2}>\n <Typography tag=\"h1\" variant=\"alpha\">\n {formatMessage(title)}\n </Typography>\n <Typography tag=\"h2\" textColor=\"neutral600\" fontSize={4} fontWeight=\"regular\">\n {formatMessage(description)}\n </Typography>\n </Flex>\n {displayedIcon === 'reload' && (\n <IconBox padding={6} background=\"primary100\" borderColor=\"primary200\">\n <LoaderReload width=\"4rem\" height=\"4rem\" />\n </IconBox>\n )}\n {displayedIcon === 'time' && (\n <IconBox padding={6} background=\"primary100\" borderColor=\"primary200\">\n <Clock width=\"4rem\" height=\"4rem\" />\n </IconBox>\n )}\n <Box marginTop={2}>\n <Link href=\"https://docs.strapi.io\" isExternal>\n {formatMessage({\n id: 'global.documentation',\n defaultMessage: 'Read the documentation',\n })}\n </Link>\n </Box>\n </Overlay>,\n // eslint-disable-next-line no-undef\n globalThis.document.body\n )\n : null;\n};\n\nconst rotation = keyframes`\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(359deg);\n }\n `;\n\nconst LoaderReload = styled(ArrowClockwise)`\n animation: ${rotation} 1s infinite linear;\n`;\n\nconst Overlay = styled(Flex)`\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n /* TODO: set this up in the theme for consistence z-index values */\n z-index: 1140;\n padding-top: 16rem;\n\n & > * {\n position: relative;\n z-index: 1;\n }\n\n &:before {\n content: '';\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: ${({ theme }) => theme.colors.neutral0};\n opacity: 0.9;\n }\n`;\n\nconst IconBox = styled(Box)`\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n svg {\n > path {\n fill: ${({ theme }) => theme.colors.primary600} !important;\n }\n }\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * Hook\n * -----------------------------------------------------------------------------------------------*/\n\nconst useAutoReloadOverlayBlocker = () => React.useContext(AutoReloadOverlayBlockerContext);\n\nexport { AutoReloadOverlayBlockerProvider, useAutoReloadOverlayBlocker };\n"],"names":["AutoReloadOverlayBlockerContext","React","createContext","lockAppWithAutoreload","unlockAppWithAutoreload","MAX_ELAPSED_TIME","AutoReloadOverlayBlockerProvider","children","isOpen","setIsOpen","useState","config","setConfig","failed","setFailed","useCallback","useEffect","timeout","setTimeout","clearTimeout","displayedIcon","icon","description","id","defaultMessage","title","autoReloadValue","useMemo","_jsxs","Provider","value","_jsx","Blocker","formatMessage","useIntl","globalThis","document","body","createPortal","Overlay","direction","alignItems","gap","Flex","Typography","tag","variant","textColor","fontSize","fontWeight","IconBox","padding","background","borderColor","LoaderReload","width","height","Clock","Box","marginTop","Link","href","isExternal","rotation","keyframes","styled","ArrowClockwise","theme","colors","neutral0","primary600","useAutoReloadOverlayBlocker","useContext"],"mappings":"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"}
1
+ {"version":3,"file":"AutoReloadOverlayBlocker.mjs","sources":["../../../admin/src/components/AutoReloadOverlayBlocker.tsx"],"sourcesContent":["import * as React from 'react';\n\nimport { Box, Flex, Typography, Link } from '@strapi/design-system';\nimport { Clock, ArrowClockwise } from '@strapi/icons';\nimport { createPortal } from 'react-dom';\nimport { MessageDescriptor, useIntl } from 'react-intl';\nimport { styled, keyframes } from 'styled-components';\n\n/**\n * TODO: realistically a lot of this logic is isolated to the `core/admin` package.\n * However, we want to expose the `useAutoReloadOverlayBlocker` hook to the plugins.\n *\n * Therefore, in V5 we should move this logic back to the `core/admin` package & export\n * the hook from that package and re-export here. For now, let's keep it all together\n * because it's easier to diagnose and we're not using a million refs because we don't\n * understand what's going on.\n */\nexport interface AutoReloadOverlayBlockerConfig {\n title?: string;\n description?: string;\n icon?: 'reload' | 'time';\n}\n\n/* -------------------------------------------------------------------------------------------------\n * Context\n * -----------------------------------------------------------------------------------------------*/\n\nexport interface AutoReloadOverlayBlockerContextValue {\n lockAppWithAutoreload: (config?: AutoReloadOverlayBlockerConfig) => void;\n unlockAppWithAutoreload: () => void;\n}\n\nconst AutoReloadOverlayBlockerContext = React.createContext<AutoReloadOverlayBlockerContextValue>({\n lockAppWithAutoreload: () => {},\n unlockAppWithAutoreload: () => {},\n});\n\n/* -------------------------------------------------------------------------------------------------\n * Provider\n * -----------------------------------------------------------------------------------------------*/\n\nexport interface AutoReloadOverlayBlockerProviderProps {\n children: React.ReactNode;\n}\n\nconst MAX_ELAPSED_TIME = 300 * 1000;\n\nconst AutoReloadOverlayBlockerProvider = ({ children }: AutoReloadOverlayBlockerProviderProps) => {\n const [isOpen, setIsOpen] = React.useState(false);\n const [config, setConfig] = React.useState<AutoReloadOverlayBlockerConfig>({});\n const [failed, setFailed] = React.useState(false);\n\n const lockAppWithAutoreload = React.useCallback((config: AutoReloadOverlayBlockerConfig = {}) => {\n setIsOpen(true);\n setConfig(config);\n }, []);\n\n const unlockAppWithAutoreload = React.useCallback(() => {\n setIsOpen(false);\n setConfig({});\n }, []);\n\n // eslint-disable-next-line consistent-return\n React.useEffect(() => {\n if (isOpen) {\n const timeout = setTimeout(() => {\n setFailed(true);\n }, MAX_ELAPSED_TIME);\n\n return () => {\n clearTimeout(timeout);\n };\n }\n }, [isOpen]);\n\n let displayedIcon = config?.icon || 'reload';\n\n let description = {\n id: config?.description || 'components.OverlayBlocker.description',\n defaultMessage:\n \"You're using a feature that needs the server to restart. The page will reload automatically.\",\n };\n\n let title = {\n id: config?.title || 'components.OverlayBlocker.title',\n defaultMessage: 'Waiting for restart',\n };\n\n if (failed) {\n displayedIcon = 'time';\n\n description = {\n id: 'components.OverlayBlocker.description.serverError',\n defaultMessage: 'The server should have restarted, please check your logs in the terminal.',\n };\n\n title = {\n id: 'components.OverlayBlocker.title.serverError',\n defaultMessage: 'The restart is taking longer than expected',\n };\n }\n\n const autoReloadValue = React.useMemo(\n () => ({\n lockAppWithAutoreload,\n unlockAppWithAutoreload,\n }),\n [lockAppWithAutoreload, unlockAppWithAutoreload]\n );\n\n return (\n <AutoReloadOverlayBlockerContext.Provider value={autoReloadValue}>\n <Blocker\n displayedIcon={displayedIcon}\n isOpen={isOpen}\n description={description}\n title={title}\n />\n {children}\n </AutoReloadOverlayBlockerContext.Provider>\n );\n};\n\ninterface BlockerProps {\n displayedIcon: string;\n description: MessageDescriptor;\n isOpen: boolean;\n title: MessageDescriptor;\n}\n\nconst Blocker = ({ displayedIcon, description, title, isOpen }: BlockerProps) => {\n const { formatMessage } = useIntl();\n\n // eslint-disable-next-line no-undef\n return isOpen && globalThis?.document?.body\n ? createPortal(\n <Overlay id=\"autoReloadOverlayBlocker\" direction=\"column\" alignItems=\"center\" gap={6}>\n <Flex direction=\"column\" alignItems=\"center\" gap={2}>\n <Typography tag=\"h1\" variant=\"alpha\">\n {formatMessage(title)}\n </Typography>\n <Typography tag=\"h2\" textColor=\"neutral600\" fontSize={4} fontWeight=\"regular\">\n {formatMessage(description)}\n </Typography>\n </Flex>\n {displayedIcon === 'reload' && (\n <IconBox padding={6} background=\"primary100\" borderColor=\"primary200\">\n <LoaderReload width=\"4rem\" height=\"4rem\" />\n </IconBox>\n )}\n {displayedIcon === 'time' && (\n <IconBox padding={6} background=\"primary100\" borderColor=\"primary200\">\n <Clock width=\"4rem\" height=\"4rem\" />\n </IconBox>\n )}\n <Box marginTop={2}>\n <Link href=\"https://docs.strapi.io\" isExternal>\n {formatMessage({\n id: 'global.documentation',\n defaultMessage: 'Read the documentation',\n })}\n </Link>\n </Box>\n </Overlay>,\n // eslint-disable-next-line no-undef\n globalThis.document.body\n )\n : null;\n};\n\nconst rotation = keyframes`\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(359deg);\n }\n `;\n\nconst LoaderReload = styled(ArrowClockwise)`\n animation: ${rotation} 1s infinite linear;\n`;\n\nconst Overlay = styled(Flex)`\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n /* TODO: set this up in the theme for consistence z-index values */\n z-index: 1140;\n padding-top: 16rem;\n\n & > * {\n position: relative;\n z-index: 1;\n }\n\n &:before {\n content: '';\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background: ${({ theme }) => theme.colors.neutral0};\n opacity: 0.9;\n }\n`;\n\nconst IconBox = styled(Box)`\n border-radius: 50%;\n display: flex;\n align-items: center;\n justify-content: center;\n svg {\n > path {\n fill: ${({ theme }) => theme.colors.primary600} !important;\n }\n }\n`;\n\n/* -------------------------------------------------------------------------------------------------\n * Hook\n * -----------------------------------------------------------------------------------------------*/\n\nconst useAutoReloadOverlayBlocker = () => React.useContext(AutoReloadOverlayBlockerContext);\n\nexport { AutoReloadOverlayBlockerProvider, useAutoReloadOverlayBlocker };\n"],"names":["AutoReloadOverlayBlockerContext","React","createContext","lockAppWithAutoreload","unlockAppWithAutoreload","MAX_ELAPSED_TIME","AutoReloadOverlayBlockerProvider","children","isOpen","setIsOpen","useState","config","setConfig","failed","setFailed","useCallback","useEffect","timeout","setTimeout","clearTimeout","displayedIcon","icon","description","id","defaultMessage","title","autoReloadValue","useMemo","_jsxs","Provider","value","_jsx","Blocker","formatMessage","useIntl","globalThis","document","body","createPortal","Overlay","direction","alignItems","gap","Flex","Typography","tag","variant","textColor","fontSize","fontWeight","IconBox","padding","background","borderColor","LoaderReload","width","height","Clock","Box","marginTop","Link","href","isExternal","rotation","keyframes","styled","ArrowClockwise","theme","colors","neutral0","primary600","useAutoReloadOverlayBlocker","useContext"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"BooleanDefaultValueSelect.js","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":";;;;;;AAyBaA,MAAAA,yBAAAA,GAA4B,CAAC,EACxCC,SAAS,EACTC,IAAI,EACJC,OAAO,EACPC,QAAQ,EACRC,KAAAA,GAAQ,IAAI,EACmB,GAAA;IAC/B,MAAM,EAAEC,aAAa,EAAE,GAAGC,iBAAAA,EAAAA;AAC1B,IAAA,MAAMC,KAAQP,GAAAA,SAAAA,CAAUQ,EAAE,GACtBH,aACE,CAAA;AAAEG,QAAAA,EAAAA,EAAIR,UAAUQ,EAAE;AAAEC,QAAAA,cAAAA,EAAgBT,UAAUS;KAC9C,EAAA;AAAE,QAAA,GAAGT,UAAUU;KAEjBT,CAAAA,GAAAA,IAAAA;AAEJ,IAAA,MAAMU,eAAe,CAACP,KAAAA,GAAAA;AACpB,QAAA,IAAIQ,SAA8B,GAAA,EAAA;AAElC,QAAA,IAAIR,UAAU,MAAQ,EAAA;YACpBQ,SAAY,GAAA,IAAA;AACd;AAEA,QAAA,IAAIR,UAAU,OAAS,EAAA;YACrBQ,SAAY,GAAA,KAAA;AACd;QAEAT,QAAS,CAAA;YAAEU,MAAQ,EAAA;AAAEZ,gBAAAA,IAAAA;gBAAMG,KAAOQ,EAAAA,SAAAA;gBAAWE,IAAM,EAAA;AAAyB;AAAE,SAAA,CAAA;AAChF,KAAA;IAEA,qBACEC,eAAA,CAACC,mBAAMC,IAAI,EAAA;QAAChB,IAAMA,EAAAA,IAAAA;;AAChB,0BAAAiB,cAAA,CAACF,mBAAMG,KAAK,EAAA;AAAEZ,gBAAAA,QAAAA,EAAAA;;0BACdW,cAACE,CAAAA,yBAAAA,EAAAA;gBAAajB,QAAUQ,EAAAA,YAAAA;AAAcP,gBAAAA,KAAAA,EAAO,CAACA,KAAAA,KAAU,OAAO,EAAKA,GAAAA,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,cAACS,CAAAA,+BAAAA,EAAAA;wBAA6BvB,KAAOA,EAAAA,KAAAA;wBAAOoB,QAAUA,EAAAA,QAAAA;wBAAUC,MAAQA,EAAAA,MAAAA;AAErEzB,wBAAAA,QAAAA,EAAAA,SAAAA,CAAUS;AAFYiB,qBAAAA,EAAAA,GAAAA,CAAAA;AAK7B,iBAAA;;;;AAIR;;;;"}
1
+ {"version":3,"file":"BooleanDefaultValueSelect.js","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,iBAAAA,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,eAAA,CAACC,mBAAMC,IAAI,EAAA;QAAChB,IAAAA,EAAMA,IAAAA;;AAChB,0BAAAiB,cAAA,CAACF,mBAAMG,KAAK,EAAA;AAAEZ,gBAAAA,QAAAA,EAAAA;;0BACdW,cAAA,CAACE,yBAAAA,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,cAAA,CAACS,+BAAAA,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 +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":";;;;AAyBaA,MAAAA,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,KAAQP,GAAAA,SAAAA,CAAUQ,EAAE,GACtBH,aACE,CAAA;AAAEG,QAAAA,EAAAA,EAAIR,UAAUQ,EAAE;AAAEC,QAAAA,cAAAA,EAAgBT,UAAUS;KAC9C,EAAA;AAAE,QAAA,GAAGT,UAAUU;KAEjBT,CAAAA,GAAAA,IAAAA;AAEJ,IAAA,MAAMU,eAAe,CAACP,KAAAA,GAAAA;AACpB,QAAA,IAAIQ,SAA8B,GAAA,EAAA;AAElC,QAAA,IAAIR,UAAU,MAAQ,EAAA;YACpBQ,SAAY,GAAA,IAAA;AACd;AAEA,QAAA,IAAIR,UAAU,OAAS,EAAA;YACrBQ,SAAY,GAAA,KAAA;AACd;QAEAT,QAAS,CAAA;YAAEU,MAAQ,EAAA;AAAEZ,gBAAAA,IAAAA;gBAAMG,KAAOQ,EAAAA,SAAAA;gBAAWE,IAAM,EAAA;AAAyB;AAAE,SAAA,CAAA;AAChF,KAAA;IAEA,qBACEC,IAAA,CAACC,MAAMC,IAAI,EAAA;QAAChB,IAAMA,EAAAA,IAAAA;;AAChB,0BAAAiB,GAAA,CAACF,MAAMG,KAAK,EAAA;AAAEZ,gBAAAA,QAAAA,EAAAA;;0BACdW,GAACE,CAAAA,YAAAA,EAAAA;gBAAajB,QAAUQ,EAAAA,YAAAA;AAAcP,gBAAAA,KAAAA,EAAO,CAACA,KAAAA,KAAU,OAAO,EAAKA,GAAAA,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,GAACS,CAAAA,kBAAAA,EAAAA;wBAA6BvB,KAAOA,EAAAA,KAAAA;wBAAOoB,QAAUA,EAAAA,QAAAA;wBAAUC,MAAQA,EAAAA,MAAAA;AAErEzB,wBAAAA,QAAAA,EAAAA,SAAAA,CAAUS;AAFYiB,qBAAAA,EAAAA,GAAAA,CAAAA;AAK7B,iBAAA;;;;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 { 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 +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,iBAAoB,GAAA,CAAC,EAChCC,QAAQ,EACRC,IAAI,EACJC,SAAS,EACT,GAAGC,IACoB,EAAA,GAAA;AACvB,IAAA,MAAMC,eAAe,CAACC,CAAAA,GAAAA;AACpB,QAAA,MAAMC,OAAUD,GAAAA,CAAAA,CAAEE,MAAM,CAACC,KAAK,KAAK,OAAA;QAEnCR,QAAS,CAAA;YAAEO,MAAQ,EAAA;AAAEN,gBAAAA,IAAAA;gBAAMO,KAAOF,EAAAA,OAAAA;gBAASG,IAAM,EAAA;AAAsB;AAAE,SAAA,CAAA;AAC3E,KAAA;AAEA,IAAA,qBAAOC,cAACC,CAAAA,iCAAAA,EAAAA;AAAkB,QAAA,GAAGR,IAAI;QAAEF,IAAMA,EAAAA,IAAAA;QAAMD,QAAUI,EAAAA,YAAAA;QAAcF,SAAWA,EAAAA;;AACpF;;;;"}
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 +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,iBAAoB,GAAA,CAAC,EAChCC,QAAQ,EACRC,IAAI,EACJC,SAAS,EACT,GAAGC,IACoB,EAAA,GAAA;AACvB,IAAA,MAAMC,eAAe,CAACC,CAAAA,GAAAA;AACpB,QAAA,MAAMC,OAAUD,GAAAA,CAAAA,CAAEE,MAAM,CAACC,KAAK,KAAK,OAAA;QAEnCR,QAAS,CAAA;YAAEO,MAAQ,EAAA;AAAEN,gBAAAA,IAAAA;gBAAMO,KAAOF,EAAAA,OAAAA;gBAASG,IAAM,EAAA;AAAsB;AAAE,SAAA,CAAA;AAC3E,KAAA;AAEA,IAAA,qBAAOC,GAACC,CAAAA,gBAAAA,EAAAA;AAAkB,QAAA,GAAGR,IAAI;QAAEF,IAAMA,EAAAA,IAAAA;QAAMD,QAAUI,EAAAA,YAAAA;QAAcF,SAAWA,EAAAA;;AACpF;;;;"}
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 +1 @@
1
- {"version":3,"file":"CTBSessionProvider.js","sources":["../../../../admin/src/components/CTBSession/CTBSessionProvider.tsx"],"sourcesContent":["import { useState, useCallback, useMemo, type ReactNode } from 'react';\n\nimport { CTBSessionContext } from './sessionContext';\n\ninterface CTBSessionProviderProps {\n children: ReactNode;\n}\n\n/**\n * Generates a unique session identifier for CTB tracking\n * Uses crypto.randomUUID() for guaranteed uniqueness and readability\n *\n * @returns Session ID in format: ctb-{uuid}\n */\nexport const generateSessionId = (): string | undefined => {\n if (crypto.randomUUID) {\n return `ctb-${crypto.randomUUID()}`;\n }\n};\n\n/**\n * Provider for CTB session tracking context.\n *\n * This provider should wrap components that need to track CTB events with session IDs.\n * It manages the session ID lifecycle and provides methods to regenerate it when needed.\n *\n * Usage:\n * ```tsx\n * <CTBSessionProvider>\n * {children}\n * </CTBSessionProvider>\n * ```\n */\nexport const CTBSessionProvider = ({ children }: CTBSessionProviderProps) => {\n const [sessionId, setSessionId] = useState(() => generateSessionId());\n\n const regenerateSessionId = useCallback(() => {\n setSessionId(generateSessionId());\n }, []);\n\n const value = useMemo(\n () => ({\n sessionId,\n regenerateSessionId,\n }),\n [sessionId, regenerateSessionId]\n );\n\n return <CTBSessionContext.Provider value={value}>{children}</CTBSessionContext.Provider>;\n};\n"],"names":["generateSessionId","crypto","randomUUID","CTBSessionProvider","children","sessionId","setSessionId","useState","regenerateSessionId","useCallback","value","useMemo","_jsx","CTBSessionContext","Provider"],"mappings":";;;;;;AAQA;;;;;UAMaA,iBAAoB,GAAA,IAAA;IAC/B,IAAIC,MAAAA,CAAOC,UAAU,EAAE;AACrB,QAAA,OAAO,CAAC,IAAI,EAAED,MAAAA,CAAOC,UAAU,EAAI,CAAA,CAAA;AACrC;AACF;AAEA;;;;;;;;;;;;AAYC,IACYC,MAAAA,kBAAAA,GAAqB,CAAC,EAAEC,QAAQ,EAA2B,GAAA;AACtE,IAAA,MAAM,CAACC,SAAAA,EAAWC,YAAa,CAAA,GAAGC,eAAS,IAAMP,iBAAAA,EAAAA,CAAAA;AAEjD,IAAA,MAAMQ,sBAAsBC,iBAAY,CAAA,IAAA;QACtCH,YAAaN,CAAAA,iBAAAA,EAAAA,CAAAA;AACf,KAAA,EAAG,EAAE,CAAA;IAEL,MAAMU,KAAAA,GAAQC,aACZ,CAAA,KAAO;AACLN,YAAAA,SAAAA;AACAG,YAAAA;AACF,SAAA,CACA,EAAA;AAACH,QAAAA,SAAAA;AAAWG,QAAAA;AAAoB,KAAA,CAAA;IAGlC,qBAAOI,cAAA,CAACC,iCAAkBC,QAAQ,EAAA;QAACJ,KAAOA,EAAAA,KAAAA;AAAQN,QAAAA,QAAAA,EAAAA;;AACpD;;;;;"}
1
+ {"version":3,"file":"CTBSessionProvider.js","sources":["../../../../admin/src/components/CTBSession/CTBSessionProvider.tsx"],"sourcesContent":["import { useState, useCallback, useMemo, type ReactNode } from 'react';\n\nimport { CTBSessionContext } from './sessionContext';\n\ninterface CTBSessionProviderProps {\n children: ReactNode;\n}\n\n/**\n * Generates a unique session identifier for CTB tracking\n * Uses crypto.randomUUID() for guaranteed uniqueness and readability\n *\n * @returns Session ID in format: ctb-{uuid}\n */\nexport const generateSessionId = (): string | undefined => {\n if (crypto.randomUUID) {\n return `ctb-${crypto.randomUUID()}`;\n }\n};\n\n/**\n * Provider for CTB session tracking context.\n *\n * This provider should wrap components that need to track CTB events with session IDs.\n * It manages the session ID lifecycle and provides methods to regenerate it when needed.\n *\n * Usage:\n * ```tsx\n * <CTBSessionProvider>\n * {children}\n * </CTBSessionProvider>\n * ```\n */\nexport const CTBSessionProvider = ({ children }: CTBSessionProviderProps) => {\n const [sessionId, setSessionId] = useState(() => generateSessionId());\n\n const regenerateSessionId = useCallback(() => {\n setSessionId(generateSessionId());\n }, []);\n\n const value = useMemo(\n () => ({\n sessionId,\n regenerateSessionId,\n }),\n [sessionId, regenerateSessionId]\n );\n\n return <CTBSessionContext.Provider value={value}>{children}</CTBSessionContext.Provider>;\n};\n"],"names":["generateSessionId","crypto","randomUUID","CTBSessionProvider","children","sessionId","setSessionId","useState","regenerateSessionId","useCallback","value","useMemo","_jsx","CTBSessionContext","Provider"],"mappings":";;;;;;AAQA;;;;;UAMaA,iBAAAA,GAAoB,IAAA;IAC/B,IAAIC,MAAAA,CAAOC,UAAU,EAAE;AACrB,QAAA,OAAO,CAAC,IAAI,EAAED,MAAAA,CAAOC,UAAU,EAAA,CAAA,CAAI;AACrC,IAAA;AACF;AAEA;;;;;;;;;;;;AAYC,IACM,MAAMC,kBAAAA,GAAqB,CAAC,EAAEC,QAAQ,EAA2B,GAAA;AACtE,IAAA,MAAM,CAACC,SAAAA,EAAWC,YAAAA,CAAa,GAAGC,eAAS,IAAMP,iBAAAA,EAAAA,CAAAA;AAEjD,IAAA,MAAMQ,sBAAsBC,iBAAAA,CAAY,IAAA;QACtCH,YAAAA,CAAaN,iBAAAA,EAAAA,CAAAA;AACf,IAAA,CAAA,EAAG,EAAE,CAAA;IAEL,MAAMU,KAAAA,GAAQC,aAAAA,CACZ,KAAO;AACLN,YAAAA,SAAAA;AACAG,YAAAA;AACF,SAAA,CAAA,EACA;AAACH,QAAAA,SAAAA;AAAWG,QAAAA;AAAoB,KAAA,CAAA;IAGlC,qBAAOI,cAAA,CAACC,iCAAkBC,QAAQ,EAAA;QAACJ,KAAAA,EAAOA,KAAAA;AAAQN,QAAAA,QAAAA,EAAAA;;AACpD;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"CTBSessionProvider.mjs","sources":["../../../../admin/src/components/CTBSession/CTBSessionProvider.tsx"],"sourcesContent":["import { useState, useCallback, useMemo, type ReactNode } from 'react';\n\nimport { CTBSessionContext } from './sessionContext';\n\ninterface CTBSessionProviderProps {\n children: ReactNode;\n}\n\n/**\n * Generates a unique session identifier for CTB tracking\n * Uses crypto.randomUUID() for guaranteed uniqueness and readability\n *\n * @returns Session ID in format: ctb-{uuid}\n */\nexport const generateSessionId = (): string | undefined => {\n if (crypto.randomUUID) {\n return `ctb-${crypto.randomUUID()}`;\n }\n};\n\n/**\n * Provider for CTB session tracking context.\n *\n * This provider should wrap components that need to track CTB events with session IDs.\n * It manages the session ID lifecycle and provides methods to regenerate it when needed.\n *\n * Usage:\n * ```tsx\n * <CTBSessionProvider>\n * {children}\n * </CTBSessionProvider>\n * ```\n */\nexport const CTBSessionProvider = ({ children }: CTBSessionProviderProps) => {\n const [sessionId, setSessionId] = useState(() => generateSessionId());\n\n const regenerateSessionId = useCallback(() => {\n setSessionId(generateSessionId());\n }, []);\n\n const value = useMemo(\n () => ({\n sessionId,\n regenerateSessionId,\n }),\n [sessionId, regenerateSessionId]\n );\n\n return <CTBSessionContext.Provider value={value}>{children}</CTBSessionContext.Provider>;\n};\n"],"names":["generateSessionId","crypto","randomUUID","CTBSessionProvider","children","sessionId","setSessionId","useState","regenerateSessionId","useCallback","value","useMemo","_jsx","CTBSessionContext","Provider"],"mappings":";;;;AAQA;;;;;UAMaA,iBAAoB,GAAA,IAAA;IAC/B,IAAIC,MAAAA,CAAOC,UAAU,EAAE;AACrB,QAAA,OAAO,CAAC,IAAI,EAAED,MAAAA,CAAOC,UAAU,EAAI,CAAA,CAAA;AACrC;AACF;AAEA;;;;;;;;;;;;AAYC,IACYC,MAAAA,kBAAAA,GAAqB,CAAC,EAAEC,QAAQ,EAA2B,GAAA;AACtE,IAAA,MAAM,CAACC,SAAAA,EAAWC,YAAa,CAAA,GAAGC,SAAS,IAAMP,iBAAAA,EAAAA,CAAAA;AAEjD,IAAA,MAAMQ,sBAAsBC,WAAY,CAAA,IAAA;QACtCH,YAAaN,CAAAA,iBAAAA,EAAAA,CAAAA;AACf,KAAA,EAAG,EAAE,CAAA;IAEL,MAAMU,KAAAA,GAAQC,OACZ,CAAA,KAAO;AACLN,YAAAA,SAAAA;AACAG,YAAAA;AACF,SAAA,CACA,EAAA;AAACH,QAAAA,SAAAA;AAAWG,QAAAA;AAAoB,KAAA,CAAA;IAGlC,qBAAOI,GAAA,CAACC,kBAAkBC,QAAQ,EAAA;QAACJ,KAAOA,EAAAA,KAAAA;AAAQN,QAAAA,QAAAA,EAAAA;;AACpD;;;;"}
1
+ {"version":3,"file":"CTBSessionProvider.mjs","sources":["../../../../admin/src/components/CTBSession/CTBSessionProvider.tsx"],"sourcesContent":["import { useState, useCallback, useMemo, type ReactNode } from 'react';\n\nimport { CTBSessionContext } from './sessionContext';\n\ninterface CTBSessionProviderProps {\n children: ReactNode;\n}\n\n/**\n * Generates a unique session identifier for CTB tracking\n * Uses crypto.randomUUID() for guaranteed uniqueness and readability\n *\n * @returns Session ID in format: ctb-{uuid}\n */\nexport const generateSessionId = (): string | undefined => {\n if (crypto.randomUUID) {\n return `ctb-${crypto.randomUUID()}`;\n }\n};\n\n/**\n * Provider for CTB session tracking context.\n *\n * This provider should wrap components that need to track CTB events with session IDs.\n * It manages the session ID lifecycle and provides methods to regenerate it when needed.\n *\n * Usage:\n * ```tsx\n * <CTBSessionProvider>\n * {children}\n * </CTBSessionProvider>\n * ```\n */\nexport const CTBSessionProvider = ({ children }: CTBSessionProviderProps) => {\n const [sessionId, setSessionId] = useState(() => generateSessionId());\n\n const regenerateSessionId = useCallback(() => {\n setSessionId(generateSessionId());\n }, []);\n\n const value = useMemo(\n () => ({\n sessionId,\n regenerateSessionId,\n }),\n [sessionId, regenerateSessionId]\n );\n\n return <CTBSessionContext.Provider value={value}>{children}</CTBSessionContext.Provider>;\n};\n"],"names":["generateSessionId","crypto","randomUUID","CTBSessionProvider","children","sessionId","setSessionId","useState","regenerateSessionId","useCallback","value","useMemo","_jsx","CTBSessionContext","Provider"],"mappings":";;;;AAQA;;;;;UAMaA,iBAAAA,GAAoB,IAAA;IAC/B,IAAIC,MAAAA,CAAOC,UAAU,EAAE;AACrB,QAAA,OAAO,CAAC,IAAI,EAAED,MAAAA,CAAOC,UAAU,EAAA,CAAA,CAAI;AACrC,IAAA;AACF;AAEA;;;;;;;;;;;;AAYC,IACM,MAAMC,kBAAAA,GAAqB,CAAC,EAAEC,QAAQ,EAA2B,GAAA;AACtE,IAAA,MAAM,CAACC,SAAAA,EAAWC,YAAAA,CAAa,GAAGC,SAAS,IAAMP,iBAAAA,EAAAA,CAAAA;AAEjD,IAAA,MAAMQ,sBAAsBC,WAAAA,CAAY,IAAA;QACtCH,YAAAA,CAAaN,iBAAAA,EAAAA,CAAAA;AACf,IAAA,CAAA,EAAG,EAAE,CAAA;IAEL,MAAMU,KAAAA,GAAQC,OAAAA,CACZ,KAAO;AACLN,YAAAA,SAAAA;AACAG,YAAAA;AACF,SAAA,CAAA,EACA;AAACH,QAAAA,SAAAA;AAAWG,QAAAA;AAAoB,KAAA,CAAA;IAGlC,qBAAOI,GAAA,CAACC,kBAAkBC,QAAQ,EAAA;QAACJ,KAAAA,EAAOA,KAAAA;AAAQN,QAAAA,QAAAA,EAAAA;;AACpD;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"sessionContext.js","sources":["../../../../admin/src/components/CTBSession/sessionContext.ts"],"sourcesContent":["import { createContext } from 'react';\n\n/**\n * Context for managing CTB (Content Type Builder) session tracking.\n *\n * Session Lifecycle:\n * - Created: When CTBSessionProvider mounts\n * - Regenerated: After server restart, when navigating back to CTB from another page\n * - Used: Automatically attached to all CTB tracking events\n *\n * The session ID groups related tracking events together to understand user workflows\n * within a single CTB session.\n */\nexport interface CTBSessionContextValue {\n /**\n * Unique identifier for the current CTB session\n * Format: ctb-{uuid}\n */\n sessionId: string | undefined;\n\n /**\n * Generates and sets a new session ID\n * Called when starting a new CTB session (e.g., after navigation or server restart)\n */\n regenerateSessionId: () => void;\n}\n\nexport const CTBSessionContext = createContext<CTBSessionContextValue | null>(null);\n"],"names":["CTBSessionContext","createContext"],"mappings":";;;;AA2BO,MAAMA,iBAAoBC,GAAAA,mBAAAA,CAA6C,IAAM;;;;"}
1
+ {"version":3,"file":"sessionContext.js","sources":["../../../../admin/src/components/CTBSession/sessionContext.ts"],"sourcesContent":["import { createContext } from 'react';\n\n/**\n * Context for managing CTB (Content Type Builder) session tracking.\n *\n * Session Lifecycle:\n * - Created: When CTBSessionProvider mounts\n * - Regenerated: After server restart, when navigating back to CTB from another page\n * - Used: Automatically attached to all CTB tracking events\n *\n * The session ID groups related tracking events together to understand user workflows\n * within a single CTB session.\n */\nexport interface CTBSessionContextValue {\n /**\n * Unique identifier for the current CTB session\n * Format: ctb-{uuid}\n */\n sessionId: string | undefined;\n\n /**\n * Generates and sets a new session ID\n * Called when starting a new CTB session (e.g., after navigation or server restart)\n */\n regenerateSessionId: () => void;\n}\n\nexport const CTBSessionContext = createContext<CTBSessionContextValue | null>(null);\n"],"names":["CTBSessionContext","createContext"],"mappings":";;;;AA2BO,MAAMA,iBAAAA,GAAoBC,mBAAAA,CAA6C,IAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"sessionContext.mjs","sources":["../../../../admin/src/components/CTBSession/sessionContext.ts"],"sourcesContent":["import { createContext } from 'react';\n\n/**\n * Context for managing CTB (Content Type Builder) session tracking.\n *\n * Session Lifecycle:\n * - Created: When CTBSessionProvider mounts\n * - Regenerated: After server restart, when navigating back to CTB from another page\n * - Used: Automatically attached to all CTB tracking events\n *\n * The session ID groups related tracking events together to understand user workflows\n * within a single CTB session.\n */\nexport interface CTBSessionContextValue {\n /**\n * Unique identifier for the current CTB session\n * Format: ctb-{uuid}\n */\n sessionId: string | undefined;\n\n /**\n * Generates and sets a new session ID\n * Called when starting a new CTB session (e.g., after navigation or server restart)\n */\n regenerateSessionId: () => void;\n}\n\nexport const CTBSessionContext = createContext<CTBSessionContextValue | null>(null);\n"],"names":["CTBSessionContext","createContext"],"mappings":";;AA2BO,MAAMA,iBAAoBC,GAAAA,aAAAA,CAA6C,IAAM;;;;"}
1
+ {"version":3,"file":"sessionContext.mjs","sources":["../../../../admin/src/components/CTBSession/sessionContext.ts"],"sourcesContent":["import { createContext } from 'react';\n\n/**\n * Context for managing CTB (Content Type Builder) session tracking.\n *\n * Session Lifecycle:\n * - Created: When CTBSessionProvider mounts\n * - Regenerated: After server restart, when navigating back to CTB from another page\n * - Used: Automatically attached to all CTB tracking events\n *\n * The session ID groups related tracking events together to understand user workflows\n * within a single CTB session.\n */\nexport interface CTBSessionContextValue {\n /**\n * Unique identifier for the current CTB session\n * Format: ctb-{uuid}\n */\n sessionId: string | undefined;\n\n /**\n * Generates and sets a new session ID\n * Called when starting a new CTB session (e.g., after navigation or server restart)\n */\n regenerateSessionId: () => void;\n}\n\nexport const CTBSessionContext = createContext<CTBSessionContextValue | null>(null);\n"],"names":["CTBSessionContext","createContext"],"mappings":";;AA2BO,MAAMA,iBAAAA,GAAoBC,aAAAA,CAA6C,IAAA;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useCTBSession.js","sources":["../../../../admin/src/components/CTBSession/useCTBSession.ts"],"sourcesContent":["import { useContext } from 'react';\n\nimport { CTBSessionContext } from './sessionContext';\n\n/**\n * Hook to access the current CTB session context.\n *\n * @throws Error if used outside of CTBSessionProvider\n * @returns The CTB session context containing sessionId and regenerateSessionId\n *\n * @example\n * ```tsx\n * const { sessionId, regenerateSessionId } = useCTBSession();\n * ```\n */\nexport const useCTBSession = () => {\n const context = useContext(CTBSessionContext);\n\n if (!context) {\n throw new Error('useCTBSession must be used within a CTBSessionProvider');\n }\n\n return context;\n};\n"],"names":["useCTBSession","context","useContext","CTBSessionContext","Error"],"mappings":";;;;;AAIA;;;;;;;;;;UAWaA,aAAgB,GAAA,IAAA;AAC3B,IAAA,MAAMC,UAAUC,gBAAWC,CAAAA,gCAAAA,CAAAA;AAE3B,IAAA,IAAI,CAACF,OAAS,EAAA;AACZ,QAAA,MAAM,IAAIG,KAAM,CAAA,wDAAA,CAAA;AAClB;IAEA,OAAOH,OAAAA;AACT;;;;"}
1
+ {"version":3,"file":"useCTBSession.js","sources":["../../../../admin/src/components/CTBSession/useCTBSession.ts"],"sourcesContent":["import { useContext } from 'react';\n\nimport { CTBSessionContext } from './sessionContext';\n\n/**\n * Hook to access the current CTB session context.\n *\n * @throws Error if used outside of CTBSessionProvider\n * @returns The CTB session context containing sessionId and regenerateSessionId\n *\n * @example\n * ```tsx\n * const { sessionId, regenerateSessionId } = useCTBSession();\n * ```\n */\nexport const useCTBSession = () => {\n const context = useContext(CTBSessionContext);\n\n if (!context) {\n throw new Error('useCTBSession must be used within a CTBSessionProvider');\n }\n\n return context;\n};\n"],"names":["useCTBSession","context","useContext","CTBSessionContext","Error"],"mappings":";;;;;AAIA;;;;;;;;;;UAWaA,aAAAA,GAAgB,IAAA;AAC3B,IAAA,MAAMC,UAAUC,gBAAAA,CAAWC,gCAAAA,CAAAA;AAE3B,IAAA,IAAI,CAACF,OAAAA,EAAS;AACZ,QAAA,MAAM,IAAIG,KAAAA,CAAM,wDAAA,CAAA;AAClB,IAAA;IAEA,OAAOH,OAAAA;AACT;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"useCTBSession.mjs","sources":["../../../../admin/src/components/CTBSession/useCTBSession.ts"],"sourcesContent":["import { useContext } from 'react';\n\nimport { CTBSessionContext } from './sessionContext';\n\n/**\n * Hook to access the current CTB session context.\n *\n * @throws Error if used outside of CTBSessionProvider\n * @returns The CTB session context containing sessionId and regenerateSessionId\n *\n * @example\n * ```tsx\n * const { sessionId, regenerateSessionId } = useCTBSession();\n * ```\n */\nexport const useCTBSession = () => {\n const context = useContext(CTBSessionContext);\n\n if (!context) {\n throw new Error('useCTBSession must be used within a CTBSessionProvider');\n }\n\n return context;\n};\n"],"names":["useCTBSession","context","useContext","CTBSessionContext","Error"],"mappings":";;;AAIA;;;;;;;;;;UAWaA,aAAgB,GAAA,IAAA;AAC3B,IAAA,MAAMC,UAAUC,UAAWC,CAAAA,iBAAAA,CAAAA;AAE3B,IAAA,IAAI,CAACF,OAAS,EAAA;AACZ,QAAA,MAAM,IAAIG,KAAM,CAAA,wDAAA,CAAA;AAClB;IAEA,OAAOH,OAAAA;AACT;;;;"}
1
+ {"version":3,"file":"useCTBSession.mjs","sources":["../../../../admin/src/components/CTBSession/useCTBSession.ts"],"sourcesContent":["import { useContext } from 'react';\n\nimport { CTBSessionContext } from './sessionContext';\n\n/**\n * Hook to access the current CTB session context.\n *\n * @throws Error if used outside of CTBSessionProvider\n * @returns The CTB session context containing sessionId and regenerateSessionId\n *\n * @example\n * ```tsx\n * const { sessionId, regenerateSessionId } = useCTBSession();\n * ```\n */\nexport const useCTBSession = () => {\n const context = useContext(CTBSessionContext);\n\n if (!context) {\n throw new Error('useCTBSession must be used within a CTBSessionProvider');\n }\n\n return context;\n};\n"],"names":["useCTBSession","context","useContext","CTBSessionContext","Error"],"mappings":";;;AAIA;;;;;;;;;;UAWaA,aAAAA,GAAgB,IAAA;AAC3B,IAAA,MAAMC,UAAUC,UAAAA,CAAWC,iBAAAA,CAAAA;AAE3B,IAAA,IAAI,CAACF,OAAAA,EAAS;AACZ,QAAA,MAAM,IAAIG,KAAAA,CAAM,wDAAA,CAAA;AAClB,IAAA;IAEA,OAAOH,OAAAA;AACT;;;;"}
@@ -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,cAAiB,GAAA,IAAA;AAC5B,IAAA,MAAM,EAAEC,UAAAA,EAAYC,kBAAkB,EAAE,GAAGC,uBAAAA,EAAAA;IAC3C,MAAM,EAAEC,SAAS,EAAE,GAAGC,2BAAAA,EAAAA;IAEtB,MAAMJ,UAAAA,GAAaK,iBACjB,CAAA,CAACC,KAAeC,EAAAA,UAAAA,GAAAA;AACd,QAAA,MAAMC,kBAAqB,GAAA;YACzB,GAAID,UAAAA,IAAc,EAAE;YACpBE,YAAcN,EAAAA;AAChB,SAAA;;;QAIA,OAAQF,mBAA2BK,KAAOE,EAAAA,kBAAAA,CAAAA;KAE5C,EAAA;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\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 +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,cAAiB,GAAA,IAAA;AAC5B,IAAA,MAAM,EAAEC,UAAAA,EAAYC,kBAAkB,EAAE,GAAGC,WAAAA,EAAAA;IAC3C,MAAM,EAAEC,SAAS,EAAE,GAAGC,aAAAA,EAAAA;IAEtB,MAAMJ,UAAAA,GAAaK,WACjB,CAAA,CAACC,KAAeC,EAAAA,UAAAA,GAAAA;AACd,QAAA,MAAMC,kBAAqB,GAAA;YACzB,GAAID,UAAAA,IAAc,EAAE;YACpBE,YAAcN,EAAAA;AAChB,SAAA;;;QAIA,OAAQF,mBAA2BK,KAAOE,EAAAA,kBAAAA,CAAAA;KAE5C,EAAA;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\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 +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 { 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 +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":";;;;MAcaA,uBAA0B,GAAA,CAAC,EACtCC,KAAK,EACLC,SAAS,EACTC,YAAY,EACZC,IAAI,EACJC,QAAQ,EACRC,KAAAA,GAAQ,IAAI,EACiB,GAAA;IAC7B,MAAM,EAAEC,aAAa,EAAE,GAAGC,OAAAA,EAAAA;AAC1B,IAAA,MAAMC,KAAQP,GAAAA,SAAAA,CAAUQ,EAAE,GACtBH,aACE,CAAA;AAAEG,QAAAA,EAAAA,EAAIR,UAAUQ,EAAE;AAAEC,QAAAA,cAAAA,EAAgBT,UAAUS;KAC9C,EAAA;AAAE,QAAA,GAAGT,UAAUU;KAEjBR,CAAAA,GAAAA,IAAAA;AAEJ,IAAA,MAAMS,IAAOV,GAAAA,YAAAA,CAAaU,IAAI,KAAK,eAAe,MAAS,GAAA,QAAA;IAE3D,MAAMC,QAAAA,GAAW,CAACX,YAAAA,CAAaU,IAAI;IACnC,MAAME,YAAAA,GAAed,QAAQM,aAAc,CAAA;QAAEG,EAAIT,EAAAA,KAAAA;QAAOU,cAAgBV,EAAAA;KAAW,CAAA,GAAA,EAAA;AAEnF,IAAA,qBACEe,IAACC,CAAAA,IAAAA,EAAAA;QAAKC,SAAU,EAAA,QAAA;QAASC,UAAW,EAAA,SAAA;QAAUC,GAAK,EAAA,CAAA;;0BACjDC,GAACC,CAAAA,QAAAA,EAAAA;gBACCZ,EAAIN,EAAAA,IAAAA;gBACJA,IAAMA,EAAAA,IAAAA;AACNmB,gBAAAA,eAAAA,EAAiB,CAACjB,KAAAA,GAAAA;oBAChB,MAAMkB,SAAAA,GAAYX,IAAS,KAAA,MAAA,GAAS,GAAM,GAAA,CAAA;oBAC1C,MAAMY,SAAAA,GAAYnB,QAAQkB,SAAY,GAAA,IAAA;oBAEtCnB,QAAS,CAAA;wBAAEqB,MAAQ,EAAA;AAAEtB,4BAAAA,IAAAA;4BAAME,KAAOmB,EAAAA;AAAU;AAAE,qBAAA,CAAA;AAChD,iBAAA;AACAE,gBAAAA,OAAAA,EAASrB,KAAU,KAAA,IAAA;AAElBG,gBAAAA,QAAAA,EAAAA;;AAEFH,YAAAA,KAAAA,KAAU,sBACTe,GAACO,CAAAA,GAAAA,EAAAA;gBAAIC,WAAa,EAAA,CAAA;gBAAGC,KAAO,EAAA;oBAAEC,QAAU,EAAA;AAAQ,iBAAA;0BAC7ClB,IAAS,KAAA,MAAA,iBACRG,IAACgB,CAAAA,KAAAA,CAAMC,IAAI,EAAA;oBAAChC,KAAOc,EAAAA,YAAAA;oBAAcX,IAAMA,EAAAA,IAAAA;;sCACrCiB,GAACa,CAAAA,SAAAA,EAAAA;4BACCC,YAAY1B,EAAAA,KAAAA;4BACZK,QAAUA,EAAAA,QAAAA;4BACVT,QAAUA,EAAAA,QAAAA;4BACVC,KAAOA,EAAAA,KAAAA,KAAU,OAAO,EAAKA,GAAAA,KAAAA;4BAC7BO,IAAK,EAAA;;AAEP,sCAAAQ,GAAA,CAACW,MAAMI,KAAK,EAAA,EAAA;;AAGd,iBAAA,CAAA,iBAAApB,IAAA,CAACgB,MAAMC,IAAI,EAAA;oBAAChC,KAAOc,EAAAA,YAAAA;oBAAcX,IAAMA,EAAAA,IAAAA;;sCACrCiB,GAACgB,CAAAA,WAAAA,EAAAA;4BACCF,YAAY1B,EAAAA,KAAAA;4BACZK,QAAUA,EAAAA,QAAAA;AACVwB,4BAAAA,aAAAA,EAAe,CAAChC,KAAAA,GAAAA;gCACdD,QAAS,CAAA;oCAAEqB,MAAQ,EAAA;AAAEtB,wCAAAA,IAAAA;AAAME,wCAAAA,KAAAA,EAAOA,KAAS,IAAA,CAAA;AAAGO,wCAAAA;AAAK;AAAE,iCAAA,CAAA;AACvD,6BAAA;AACAP,4BAAAA,KAAAA,EAAOA,KAAS,IAAA;;AAElB,sCAAAe,GAAA,CAACW,MAAMI,KAAK,EAAA,EAAA;;;;;;AAO1B;;;;"}
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 +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 { 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,5 +1,5 @@
1
1
  import { jsxs, jsx } from 'react/jsx-runtime';
2
- import { Box, Flex, Typography } from '@strapi/design-system';
2
+ import { Box, Typography, Flex } from '@strapi/design-system';
3
3
  import { Cross } from '@strapi/icons';
4
4
  import get from 'lodash/get';
5
5
  import { styled } from 'styled-components';
@@ -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 { 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 +1 @@
1
- {"version":3,"file":"ComponentIcon.js","sources":["../../../../../admin/src/components/ComponentCard/ComponentIcon/ComponentIcon.tsx"],"sourcesContent":["import { Flex } from '@strapi/design-system';\n\nimport { COMPONENT_ICONS } from '../../IconPicker/constants';\n\ninterface ComponentIconProps {\n isActive?: boolean;\n icon?: keyof typeof COMPONENT_ICONS;\n}\n\nexport const ComponentIcon = ({ isActive = false, icon = 'dashboard' }: ComponentIconProps) => {\n const Icon = COMPONENT_ICONS[icon] || COMPONENT_ICONS.dashboard;\n\n return (\n <Flex\n alignItems=\"center\"\n background={isActive ? 'primary200' : 'neutral200'}\n justifyContent=\"center\"\n height={8}\n width={8}\n borderRadius=\"50%\"\n >\n <Icon height=\"2rem\" width=\"2rem\" />\n </Flex>\n );\n};\n"],"names":["ComponentIcon","isActive","icon","Icon","COMPONENT_ICONS","dashboard","_jsx","Flex","alignItems","background","justifyContent","height","width","borderRadius"],"mappings":";;;;;;AASO,MAAMA,gBAAgB,CAAC,EAAEC,WAAW,KAAK,EAAEC,IAAO,GAAA,WAAW,EAAsB,GAAA;AACxF,IAAA,MAAMC,OAAOC,yBAAe,CAACF,IAAK,CAAA,IAAIE,0BAAgBC,SAAS;AAE/D,IAAA,qBACEC,cAACC,CAAAA,iBAAAA,EAAAA;QACCC,UAAW,EAAA,QAAA;AACXC,QAAAA,UAAAA,EAAYR,WAAW,YAAe,GAAA,YAAA;QACtCS,cAAe,EAAA,QAAA;QACfC,MAAQ,EAAA,CAAA;QACRC,KAAO,EAAA,CAAA;QACPC,YAAa,EAAA,KAAA;AAEb,QAAA,QAAA,gBAAAP,cAACH,CAAAA,IAAAA,EAAAA;YAAKQ,MAAO,EAAA,MAAA;YAAOC,KAAM,EAAA;;;AAGhC;;;;"}
1
+ {"version":3,"file":"ComponentIcon.js","sources":["../../../../../admin/src/components/ComponentCard/ComponentIcon/ComponentIcon.tsx"],"sourcesContent":["import { Flex } from '@strapi/design-system';\n\nimport { COMPONENT_ICONS } from '../../IconPicker/constants';\n\ninterface ComponentIconProps {\n isActive?: boolean;\n icon?: keyof typeof COMPONENT_ICONS;\n}\n\nexport const ComponentIcon = ({ isActive = false, icon = 'dashboard' }: ComponentIconProps) => {\n const Icon = COMPONENT_ICONS[icon] || COMPONENT_ICONS.dashboard;\n\n return (\n <Flex\n alignItems=\"center\"\n background={isActive ? 'primary200' : 'neutral200'}\n justifyContent=\"center\"\n height={8}\n width={8}\n borderRadius=\"50%\"\n >\n <Icon height=\"2rem\" width=\"2rem\" />\n </Flex>\n );\n};\n"],"names":["ComponentIcon","isActive","icon","Icon","COMPONENT_ICONS","dashboard","_jsx","Flex","alignItems","background","justifyContent","height","width","borderRadius"],"mappings":";;;;;;AASO,MAAMA,gBAAgB,CAAC,EAAEC,WAAW,KAAK,EAAEC,IAAAA,GAAO,WAAW,EAAsB,GAAA;AACxF,IAAA,MAAMC,OAAOC,yBAAe,CAACF,IAAAA,CAAK,IAAIE,0BAAgBC,SAAS;AAE/D,IAAA,qBACEC,cAAA,CAACC,iBAAAA,EAAAA;QACCC,UAAAA,EAAW,QAAA;AACXC,QAAAA,UAAAA,EAAYR,WAAW,YAAA,GAAe,YAAA;QACtCS,cAAAA,EAAe,QAAA;QACfC,MAAAA,EAAQ,CAAA;QACRC,KAAAA,EAAO,CAAA;QACPC,YAAAA,EAAa,KAAA;AAEb,QAAA,QAAA,gBAAAP,cAAA,CAACH,IAAAA,EAAAA;YAAKQ,MAAAA,EAAO,MAAA;YAAOC,KAAAA,EAAM;;;AAGhC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ComponentIcon.mjs","sources":["../../../../../admin/src/components/ComponentCard/ComponentIcon/ComponentIcon.tsx"],"sourcesContent":["import { Flex } from '@strapi/design-system';\n\nimport { COMPONENT_ICONS } from '../../IconPicker/constants';\n\ninterface ComponentIconProps {\n isActive?: boolean;\n icon?: keyof typeof COMPONENT_ICONS;\n}\n\nexport const ComponentIcon = ({ isActive = false, icon = 'dashboard' }: ComponentIconProps) => {\n const Icon = COMPONENT_ICONS[icon] || COMPONENT_ICONS.dashboard;\n\n return (\n <Flex\n alignItems=\"center\"\n background={isActive ? 'primary200' : 'neutral200'}\n justifyContent=\"center\"\n height={8}\n width={8}\n borderRadius=\"50%\"\n >\n <Icon height=\"2rem\" width=\"2rem\" />\n </Flex>\n );\n};\n"],"names":["ComponentIcon","isActive","icon","Icon","COMPONENT_ICONS","dashboard","_jsx","Flex","alignItems","background","justifyContent","height","width","borderRadius"],"mappings":";;;;AASO,MAAMA,gBAAgB,CAAC,EAAEC,WAAW,KAAK,EAAEC,IAAO,GAAA,WAAW,EAAsB,GAAA;AACxF,IAAA,MAAMC,OAAOC,eAAe,CAACF,IAAK,CAAA,IAAIE,gBAAgBC,SAAS;AAE/D,IAAA,qBACEC,GAACC,CAAAA,IAAAA,EAAAA;QACCC,UAAW,EAAA,QAAA;AACXC,QAAAA,UAAAA,EAAYR,WAAW,YAAe,GAAA,YAAA;QACtCS,cAAe,EAAA,QAAA;QACfC,MAAQ,EAAA,CAAA;QACRC,KAAO,EAAA,CAAA;QACPC,YAAa,EAAA,KAAA;AAEb,QAAA,QAAA,gBAAAP,GAACH,CAAAA,IAAAA,EAAAA;YAAKQ,MAAO,EAAA,MAAA;YAAOC,KAAM,EAAA;;;AAGhC;;;;"}
1
+ {"version":3,"file":"ComponentIcon.mjs","sources":["../../../../../admin/src/components/ComponentCard/ComponentIcon/ComponentIcon.tsx"],"sourcesContent":["import { Flex } from '@strapi/design-system';\n\nimport { COMPONENT_ICONS } from '../../IconPicker/constants';\n\ninterface ComponentIconProps {\n isActive?: boolean;\n icon?: keyof typeof COMPONENT_ICONS;\n}\n\nexport const ComponentIcon = ({ isActive = false, icon = 'dashboard' }: ComponentIconProps) => {\n const Icon = COMPONENT_ICONS[icon] || COMPONENT_ICONS.dashboard;\n\n return (\n <Flex\n alignItems=\"center\"\n background={isActive ? 'primary200' : 'neutral200'}\n justifyContent=\"center\"\n height={8}\n width={8}\n borderRadius=\"50%\"\n >\n <Icon height=\"2rem\" width=\"2rem\" />\n </Flex>\n );\n};\n"],"names":["ComponentIcon","isActive","icon","Icon","COMPONENT_ICONS","dashboard","_jsx","Flex","alignItems","background","justifyContent","height","width","borderRadius"],"mappings":";;;;AASO,MAAMA,gBAAgB,CAAC,EAAEC,WAAW,KAAK,EAAEC,IAAAA,GAAO,WAAW,EAAsB,GAAA;AACxF,IAAA,MAAMC,OAAOC,eAAe,CAACF,IAAAA,CAAK,IAAIE,gBAAgBC,SAAS;AAE/D,IAAA,qBACEC,GAAA,CAACC,IAAAA,EAAAA;QACCC,UAAAA,EAAW,QAAA;AACXC,QAAAA,UAAAA,EAAYR,WAAW,YAAA,GAAe,YAAA;QACtCS,cAAAA,EAAe,QAAA;QACfC,MAAAA,EAAQ,CAAA;QACRC,KAAAA,EAAO,CAAA;QACPC,YAAAA,EAAa,KAAA;AAEb,QAAA,QAAA,gBAAAP,GAAA,CAACH,IAAAA,EAAAA;YAAKQ,MAAAA,EAAO,MAAA;YAAOC,KAAAA,EAAM;;;AAGhC;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ComponentList.js","sources":["../../../admin/src/components/ComponentList.tsx"],"sourcesContent":["import get from 'lodash/get';\n\nimport { ComponentRow } from './ComponentRow';\nimport { useDataManager } from './DataManager/useDataManager';\nimport { List } from './List';\n\nimport type { UID } from '@strapi/types';\n\ninterface ComponentListProps {\n component: UID.Component;\n firstLoopComponentUid?: UID.Component | null;\n isFromDynamicZone?: boolean;\n}\n\nexport const ComponentList = ({\n component,\n isFromDynamicZone = false,\n firstLoopComponentUid,\n}: ComponentListProps) => {\n const { components } = useDataManager();\n const type = get(components, component);\n\n if (!type) return;\n\n return (\n <ComponentRow $isChildOfDynamicZone={isFromDynamicZone} className=\"component-row\">\n <List\n type={type}\n firstLoopComponentUid={firstLoopComponentUid || component}\n isFromDynamicZone={isFromDynamicZone}\n isSub\n secondLoopComponentUid={firstLoopComponentUid ? component : null}\n />\n </ComponentRow>\n );\n};\n"],"names":["ComponentList","component","isFromDynamicZone","firstLoopComponentUid","components","useDataManager","type","get","_jsx","ComponentRow","$isChildOfDynamicZone","className","List","isSub","secondLoopComponentUid"],"mappings":";;;;;;;;AAcO,MAAMA,aAAgB,GAAA,CAAC,EAC5BC,SAAS,EACTC,iBAAoB,GAAA,KAAK,EACzBC,qBAAqB,EACF,GAAA;IACnB,MAAM,EAAEC,UAAU,EAAE,GAAGC,6BAAAA,EAAAA;IACvB,MAAMC,IAAAA,GAAOC,IAAIH,UAAYH,EAAAA,SAAAA,CAAAA;AAE7B,IAAA,IAAI,CAACK,IAAM,EAAA;AAEX,IAAA,qBACEE,cAACC,CAAAA,yBAAAA,EAAAA;QAAaC,qBAAuBR,EAAAA,iBAAAA;QAAmBS,SAAU,EAAA,eAAA;AAChE,QAAA,QAAA,gBAAAH,cAACI,CAAAA,SAAAA,EAAAA;YACCN,IAAMA,EAAAA,IAAAA;AACNH,YAAAA,qBAAAA,EAAuBA,qBAAyBF,IAAAA,SAAAA;YAChDC,iBAAmBA,EAAAA,iBAAAA;YACnBW,KAAK,EAAA,IAAA;AACLC,YAAAA,sBAAAA,EAAwBX,wBAAwBF,SAAY,GAAA;;;AAIpE;;;;"}
1
+ {"version":3,"file":"ComponentList.js","sources":["../../../admin/src/components/ComponentList.tsx"],"sourcesContent":["import get from 'lodash/get';\n\nimport { ComponentRow } from './ComponentRow';\nimport { useDataManager } from './DataManager/useDataManager';\nimport { List } from './List';\n\nimport type { UID } from '@strapi/types';\n\ninterface ComponentListProps {\n component: UID.Component;\n firstLoopComponentUid?: UID.Component | null;\n isFromDynamicZone?: boolean;\n}\n\nexport const ComponentList = ({\n component,\n isFromDynamicZone = false,\n firstLoopComponentUid,\n}: ComponentListProps) => {\n const { components } = useDataManager();\n const type = get(components, component);\n\n if (!type) return;\n\n return (\n <ComponentRow $isChildOfDynamicZone={isFromDynamicZone} className=\"component-row\">\n <List\n type={type}\n firstLoopComponentUid={firstLoopComponentUid || component}\n isFromDynamicZone={isFromDynamicZone}\n isSub\n secondLoopComponentUid={firstLoopComponentUid ? component : null}\n />\n </ComponentRow>\n );\n};\n"],"names":["ComponentList","component","isFromDynamicZone","firstLoopComponentUid","components","useDataManager","type","get","_jsx","ComponentRow","$isChildOfDynamicZone","className","List","isSub","secondLoopComponentUid"],"mappings":";;;;;;;;AAcO,MAAMA,aAAAA,GAAgB,CAAC,EAC5BC,SAAS,EACTC,iBAAAA,GAAoB,KAAK,EACzBC,qBAAqB,EACF,GAAA;IACnB,MAAM,EAAEC,UAAU,EAAE,GAAGC,6BAAAA,EAAAA;IACvB,MAAMC,IAAAA,GAAOC,IAAIH,UAAAA,EAAYH,SAAAA,CAAAA;AAE7B,IAAA,IAAI,CAACK,IAAAA,EAAM;AAEX,IAAA,qBACEE,cAAA,CAACC,yBAAAA,EAAAA;QAAaC,qBAAAA,EAAuBR,iBAAAA;QAAmBS,SAAAA,EAAU,eAAA;AAChE,QAAA,QAAA,gBAAAH,cAAA,CAACI,SAAAA,EAAAA;YACCN,IAAAA,EAAMA,IAAAA;AACNH,YAAAA,qBAAAA,EAAuBA,qBAAAA,IAAyBF,SAAAA;YAChDC,iBAAAA,EAAmBA,iBAAAA;YACnBW,KAAK,EAAA,IAAA;AACLC,YAAAA,sBAAAA,EAAwBX,wBAAwBF,SAAAA,GAAY;;;AAIpE;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ComponentList.mjs","sources":["../../../admin/src/components/ComponentList.tsx"],"sourcesContent":["import get from 'lodash/get';\n\nimport { ComponentRow } from './ComponentRow';\nimport { useDataManager } from './DataManager/useDataManager';\nimport { List } from './List';\n\nimport type { UID } from '@strapi/types';\n\ninterface ComponentListProps {\n component: UID.Component;\n firstLoopComponentUid?: UID.Component | null;\n isFromDynamicZone?: boolean;\n}\n\nexport const ComponentList = ({\n component,\n isFromDynamicZone = false,\n firstLoopComponentUid,\n}: ComponentListProps) => {\n const { components } = useDataManager();\n const type = get(components, component);\n\n if (!type) return;\n\n return (\n <ComponentRow $isChildOfDynamicZone={isFromDynamicZone} className=\"component-row\">\n <List\n type={type}\n firstLoopComponentUid={firstLoopComponentUid || component}\n isFromDynamicZone={isFromDynamicZone}\n isSub\n secondLoopComponentUid={firstLoopComponentUid ? component : null}\n />\n </ComponentRow>\n );\n};\n"],"names":["ComponentList","component","isFromDynamicZone","firstLoopComponentUid","components","useDataManager","type","get","_jsx","ComponentRow","$isChildOfDynamicZone","className","List","isSub","secondLoopComponentUid"],"mappings":";;;;;;AAcO,MAAMA,aAAgB,GAAA,CAAC,EAC5BC,SAAS,EACTC,iBAAoB,GAAA,KAAK,EACzBC,qBAAqB,EACF,GAAA;IACnB,MAAM,EAAEC,UAAU,EAAE,GAAGC,cAAAA,EAAAA;IACvB,MAAMC,IAAAA,GAAOC,IAAIH,UAAYH,EAAAA,SAAAA,CAAAA;AAE7B,IAAA,IAAI,CAACK,IAAM,EAAA;AAEX,IAAA,qBACEE,GAACC,CAAAA,YAAAA,EAAAA;QAAaC,qBAAuBR,EAAAA,iBAAAA;QAAmBS,SAAU,EAAA,eAAA;AAChE,QAAA,QAAA,gBAAAH,GAACI,CAAAA,IAAAA,EAAAA;YACCN,IAAMA,EAAAA,IAAAA;AACNH,YAAAA,qBAAAA,EAAuBA,qBAAyBF,IAAAA,SAAAA;YAChDC,iBAAmBA,EAAAA,iBAAAA;YACnBW,KAAK,EAAA,IAAA;AACLC,YAAAA,sBAAAA,EAAwBX,wBAAwBF,SAAY,GAAA;;;AAIpE;;;;"}
1
+ {"version":3,"file":"ComponentList.mjs","sources":["../../../admin/src/components/ComponentList.tsx"],"sourcesContent":["import get from 'lodash/get';\n\nimport { ComponentRow } from './ComponentRow';\nimport { useDataManager } from './DataManager/useDataManager';\nimport { List } from './List';\n\nimport type { UID } from '@strapi/types';\n\ninterface ComponentListProps {\n component: UID.Component;\n firstLoopComponentUid?: UID.Component | null;\n isFromDynamicZone?: boolean;\n}\n\nexport const ComponentList = ({\n component,\n isFromDynamicZone = false,\n firstLoopComponentUid,\n}: ComponentListProps) => {\n const { components } = useDataManager();\n const type = get(components, component);\n\n if (!type) return;\n\n return (\n <ComponentRow $isChildOfDynamicZone={isFromDynamicZone} className=\"component-row\">\n <List\n type={type}\n firstLoopComponentUid={firstLoopComponentUid || component}\n isFromDynamicZone={isFromDynamicZone}\n isSub\n secondLoopComponentUid={firstLoopComponentUid ? component : null}\n />\n </ComponentRow>\n );\n};\n"],"names":["ComponentList","component","isFromDynamicZone","firstLoopComponentUid","components","useDataManager","type","get","_jsx","ComponentRow","$isChildOfDynamicZone","className","List","isSub","secondLoopComponentUid"],"mappings":";;;;;;AAcO,MAAMA,aAAAA,GAAgB,CAAC,EAC5BC,SAAS,EACTC,iBAAAA,GAAoB,KAAK,EACzBC,qBAAqB,EACF,GAAA;IACnB,MAAM,EAAEC,UAAU,EAAE,GAAGC,cAAAA,EAAAA;IACvB,MAAMC,IAAAA,GAAOC,IAAIH,UAAAA,EAAYH,SAAAA,CAAAA;AAE7B,IAAA,IAAI,CAACK,IAAAA,EAAM;AAEX,IAAA,qBACEE,GAAA,CAACC,YAAAA,EAAAA;QAAaC,qBAAAA,EAAuBR,iBAAAA;QAAmBS,SAAAA,EAAU,eAAA;AAChE,QAAA,QAAA,gBAAAH,GAAA,CAACI,IAAAA,EAAAA;YACCN,IAAAA,EAAMA,IAAAA;AACNH,YAAAA,qBAAAA,EAAuBA,qBAAAA,IAAyBF,SAAAA;YAChDC,iBAAAA,EAAmBA,iBAAAA;YACnBW,KAAK,EAAA,IAAA;AACLC,YAAAA,sBAAAA,EAAwBX,wBAAwBF,SAAAA,GAAY;;;AAIpE;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ComponentRow.js","sources":["../../../admin/src/components/ComponentRow.tsx"],"sourcesContent":["import { Box } from '@strapi/design-system';\nimport { styled } from 'styled-components';\n\nexport const ComponentRow = styled(Box)<{\n $isFromDynamicZone?: boolean;\n $isChildOfDynamicZone?: boolean;\n}>`\n &.component-row,\n &.dynamiczone-row {\n position: relative;\n\n > ul:first-of-type {\n padding: 0 0 0 104px;\n position: relative;\n\n &::before {\n content: '';\n width: 0.4rem;\n height: ${({ $isFromDynamicZone }) =>\n $isFromDynamicZone ? 'calc(100% - 65px)' : 'calc(100%)'};\n position: absolute;\n left: 7rem;\n border-radius: 4px;\n\n ${({ $isFromDynamicZone, $isChildOfDynamicZone, theme }) => {\n if ($isChildOfDynamicZone) {\n return `background-color: ${theme.colors.primary200};`;\n }\n\n if ($isFromDynamicZone) {\n return `background-color: ${theme.colors.primary200};`;\n }\n\n return `background: ${theme.colors.neutral150};`;\n }}\n }\n }\n }\n\n &.dynamiczone-row > ul:first-of-type {\n padding: 0;\n }\n`;\n"],"names":["ComponentRow","styled","Box","$isFromDynamicZone","$isChildOfDynamicZone","theme","colors","primary200","neutral150"],"mappings":";;;;;AAGaA,MAAAA,YAAAA,GAAeC,uBAAOC,CAAAA,gBAAAA,CAGjC;;;;;;;;;;;;AAYc,gBAAA,EAAE,CAAC,EAAEC,kBAAkB,EAAE,GAC/BA,kBAAAA,GAAqB,sBAAsB,YAAa,CAAA;;;;;AAK1D,QAAA,EAAE,CAAC,EAAEA,kBAAkB,EAAEC,qBAAqB,EAAEC,KAAK,EAAE,GAAA;AACrD,IAAA,IAAID,qBAAuB,EAAA;QACzB,OAAO,CAAC,kBAAkB,EAAEC,KAAAA,CAAMC,MAAM,CAACC,UAAU,CAAC,CAAC,CAAC;AACxD;AAEA,IAAA,IAAIJ,kBAAoB,EAAA;QACtB,OAAO,CAAC,kBAAkB,EAAEE,KAAAA,CAAMC,MAAM,CAACC,UAAU,CAAC,CAAC,CAAC;AACxD;IAEA,OAAO,CAAC,YAAY,EAAEF,KAAAA,CAAMC,MAAM,CAACE,UAAU,CAAC,CAAC,CAAC;AAClD,CAAE;;;;;;;;AAQV;;;;"}
1
+ {"version":3,"file":"ComponentRow.js","sources":["../../../admin/src/components/ComponentRow.tsx"],"sourcesContent":["import { Box } from '@strapi/design-system';\nimport { styled } from 'styled-components';\n\nexport const ComponentRow = styled(Box)<{\n $isFromDynamicZone?: boolean;\n $isChildOfDynamicZone?: boolean;\n}>`\n &.component-row,\n &.dynamiczone-row {\n position: relative;\n\n > ul:first-of-type {\n padding: 0 0 0 104px;\n position: relative;\n\n &::before {\n content: '';\n width: 0.4rem;\n height: ${({ $isFromDynamicZone }) =>\n $isFromDynamicZone ? 'calc(100% - 65px)' : 'calc(100%)'};\n position: absolute;\n left: 7rem;\n border-radius: 4px;\n\n ${({ $isFromDynamicZone, $isChildOfDynamicZone, theme }) => {\n if ($isChildOfDynamicZone) {\n return `background-color: ${theme.colors.primary200};`;\n }\n\n if ($isFromDynamicZone) {\n return `background-color: ${theme.colors.primary200};`;\n }\n\n return `background: ${theme.colors.neutral150};`;\n }}\n }\n }\n }\n\n &.dynamiczone-row > ul:first-of-type {\n padding: 0;\n }\n`;\n"],"names":["ComponentRow","styled","Box","$isFromDynamicZone","$isChildOfDynamicZone","theme","colors","primary200","neutral150"],"mappings":";;;;;AAGO,MAAMA,YAAAA,GAAeC,uBAAAA,CAAOC,gBAAAA,CAGjC;;;;;;;;;;;;AAYc,gBAAA,EAAE,CAAC,EAAEC,kBAAkB,EAAE,GAC/BA,kBAAAA,GAAqB,sBAAsB,YAAA,CAAa;;;;;AAK1D,QAAA,EAAE,CAAC,EAAEA,kBAAkB,EAAEC,qBAAqB,EAAEC,KAAK,EAAE,GAAA;AACrD,IAAA,IAAID,qBAAAA,EAAuB;QACzB,OAAO,CAAC,kBAAkB,EAAEC,KAAAA,CAAMC,MAAM,CAACC,UAAU,CAAC,CAAC,CAAC;AACxD,IAAA;AAEA,IAAA,IAAIJ,kBAAAA,EAAoB;QACtB,OAAO,CAAC,kBAAkB,EAAEE,KAAAA,CAAMC,MAAM,CAACC,UAAU,CAAC,CAAC,CAAC;AACxD,IAAA;IAEA,OAAO,CAAC,YAAY,EAAEF,KAAAA,CAAMC,MAAM,CAACE,UAAU,CAAC,CAAC,CAAC;AAClD,CAAA;;;;;;;;AAQR;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"ComponentRow.mjs","sources":["../../../admin/src/components/ComponentRow.tsx"],"sourcesContent":["import { Box } from '@strapi/design-system';\nimport { styled } from 'styled-components';\n\nexport const ComponentRow = styled(Box)<{\n $isFromDynamicZone?: boolean;\n $isChildOfDynamicZone?: boolean;\n}>`\n &.component-row,\n &.dynamiczone-row {\n position: relative;\n\n > ul:first-of-type {\n padding: 0 0 0 104px;\n position: relative;\n\n &::before {\n content: '';\n width: 0.4rem;\n height: ${({ $isFromDynamicZone }) =>\n $isFromDynamicZone ? 'calc(100% - 65px)' : 'calc(100%)'};\n position: absolute;\n left: 7rem;\n border-radius: 4px;\n\n ${({ $isFromDynamicZone, $isChildOfDynamicZone, theme }) => {\n if ($isChildOfDynamicZone) {\n return `background-color: ${theme.colors.primary200};`;\n }\n\n if ($isFromDynamicZone) {\n return `background-color: ${theme.colors.primary200};`;\n }\n\n return `background: ${theme.colors.neutral150};`;\n }}\n }\n }\n }\n\n &.dynamiczone-row > ul:first-of-type {\n padding: 0;\n }\n`;\n"],"names":["ComponentRow","styled","Box","$isFromDynamicZone","$isChildOfDynamicZone","theme","colors","primary200","neutral150"],"mappings":";;;AAGaA,MAAAA,YAAAA,GAAeC,MAAOC,CAAAA,GAAAA,CAGjC;;;;;;;;;;;;AAYc,gBAAA,EAAE,CAAC,EAAEC,kBAAkB,EAAE,GAC/BA,kBAAAA,GAAqB,sBAAsB,YAAa,CAAA;;;;;AAK1D,QAAA,EAAE,CAAC,EAAEA,kBAAkB,EAAEC,qBAAqB,EAAEC,KAAK,EAAE,GAAA;AACrD,IAAA,IAAID,qBAAuB,EAAA;QACzB,OAAO,CAAC,kBAAkB,EAAEC,KAAAA,CAAMC,MAAM,CAACC,UAAU,CAAC,CAAC,CAAC;AACxD;AAEA,IAAA,IAAIJ,kBAAoB,EAAA;QACtB,OAAO,CAAC,kBAAkB,EAAEE,KAAAA,CAAMC,MAAM,CAACC,UAAU,CAAC,CAAC,CAAC;AACxD;IAEA,OAAO,CAAC,YAAY,EAAEF,KAAAA,CAAMC,MAAM,CAACE,UAAU,CAAC,CAAC,CAAC;AAClD,CAAE;;;;;;;;AAQV;;;;"}
1
+ {"version":3,"file":"ComponentRow.mjs","sources":["../../../admin/src/components/ComponentRow.tsx"],"sourcesContent":["import { Box } from '@strapi/design-system';\nimport { styled } from 'styled-components';\n\nexport const ComponentRow = styled(Box)<{\n $isFromDynamicZone?: boolean;\n $isChildOfDynamicZone?: boolean;\n}>`\n &.component-row,\n &.dynamiczone-row {\n position: relative;\n\n > ul:first-of-type {\n padding: 0 0 0 104px;\n position: relative;\n\n &::before {\n content: '';\n width: 0.4rem;\n height: ${({ $isFromDynamicZone }) =>\n $isFromDynamicZone ? 'calc(100% - 65px)' : 'calc(100%)'};\n position: absolute;\n left: 7rem;\n border-radius: 4px;\n\n ${({ $isFromDynamicZone, $isChildOfDynamicZone, theme }) => {\n if ($isChildOfDynamicZone) {\n return `background-color: ${theme.colors.primary200};`;\n }\n\n if ($isFromDynamicZone) {\n return `background-color: ${theme.colors.primary200};`;\n }\n\n return `background: ${theme.colors.neutral150};`;\n }}\n }\n }\n }\n\n &.dynamiczone-row > ul:first-of-type {\n padding: 0;\n }\n`;\n"],"names":["ComponentRow","styled","Box","$isFromDynamicZone","$isChildOfDynamicZone","theme","colors","primary200","neutral150"],"mappings":";;;AAGO,MAAMA,YAAAA,GAAeC,MAAAA,CAAOC,GAAAA,CAGjC;;;;;;;;;;;;AAYc,gBAAA,EAAE,CAAC,EAAEC,kBAAkB,EAAE,GAC/BA,kBAAAA,GAAqB,sBAAsB,YAAA,CAAa;;;;;AAK1D,QAAA,EAAE,CAAC,EAAEA,kBAAkB,EAAEC,qBAAqB,EAAEC,KAAK,EAAE,GAAA;AACrD,IAAA,IAAID,qBAAAA,EAAuB;QACzB,OAAO,CAAC,kBAAkB,EAAEC,KAAAA,CAAMC,MAAM,CAACC,UAAU,CAAC,CAAC,CAAC;AACxD,IAAA;AAEA,IAAA,IAAIJ,kBAAAA,EAAoB;QACtB,OAAO,CAAC,kBAAkB,EAAEE,KAAAA,CAAMC,MAAM,CAACC,UAAU,CAAC,CAAC,CAAC;AACxD,IAAA;IAEA,OAAO,CAAC,YAAY,EAAEF,KAAAA,CAAMC,MAAM,CAACE,UAAU,CAAC,CAAC,CAAC;AAClD,CAAA;;;;;;;;AAQR;;;;"}