@focus-reactive/payload-plugin-translator 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (636) hide show
  1. package/README.md +27 -14
  2. package/dist/client/app/cache/CacheProvider.export.js +1 -1
  3. package/dist/client/entities/translation/ui/CompletedTranslationStatus/styles.module.scss +3 -0
  4. package/dist/client/entities/translation/ui/FailedTranslationStatus/styles.module.scss +3 -0
  5. package/dist/client/entities/translation/ui/TranslationDirection/styles.module.scss +16 -0
  6. package/dist/client/features/collection-translation-form/ui/styles.module.scss +31 -0
  7. package/dist/client/features/collection-translation-popup/ui/styles.module.scss +18 -0
  8. package/dist/client/features/collection-translation-progress/ui/styles.module.scss +8 -0
  9. package/dist/client/features/open-document-translation-popup/ui/styles.module.scss +11 -0
  10. package/dist/client/features/translate-document-form/ui/styles.module.scss +18 -0
  11. package/dist/client/shared/ui/Alert/styles.module.scss +31 -0
  12. package/dist/client/shared/ui/Button/styles.module.scss +103 -0
  13. package/dist/client/shared/ui/Checkbox/styles.module.scss +17 -0
  14. package/dist/client/shared/ui/ColorIndicator/styles.module.scss +37 -0
  15. package/dist/client/shared/ui/Description/styles.module.scss +14 -0
  16. package/dist/client/shared/ui/Divider/styles.module.scss +56 -0
  17. package/dist/client/shared/ui/Label/styles.module.scss +12 -0
  18. package/dist/client/shared/ui/Loading/styles.module.scss +141 -0
  19. package/dist/client/shared/ui/Popup/styles.module.scss +7 -0
  20. package/dist/client/shared/ui/ProgressBar/styles.module.scss +64 -0
  21. package/dist/client/shared/ui/Select/styles.module.scss +55 -0
  22. package/dist/client/shared/ui/StatusCounter/styles.module.scss +46 -0
  23. package/dist/client/shared/ui/StatusIndicator/styles.module.scss +12 -0
  24. package/dist/client/shared/ui/Tooltip/styles.module.scss +84 -0
  25. package/dist/client/shared/ui/form/FormCheckbox/styles.module.scss +23 -0
  26. package/dist/client/shared/ui/form/FormCheckboxPublish/styles.module.scss +16 -0
  27. package/dist/client/shared/ui/form/FormSelectStrategy/styles.module.scss +16 -0
  28. package/dist/client/shared/utils/componentPath.d.ts +1 -1
  29. package/dist/client/shared/utils/componentPath.js +1 -1
  30. package/dist/client/widgets/bulk-translation-dashboard/ui/BulkTranslationDashboard.export.js +1 -1
  31. package/dist/client/widgets/translate-document/ui/TranslateDocument.export.js +1 -1
  32. package/package.json +32 -17
  33. package/dist/client/app/cache/CacheProvider.d.ts.map +0 -1
  34. package/dist/client/app/cache/CacheProvider.export.d.ts.map +0 -1
  35. package/dist/client/app/cache/CacheProvider.export.js.map +0 -1
  36. package/dist/client/app/cache/CacheProvider.js.map +0 -1
  37. package/dist/client/app/cache/CacheProvider.jsx +0 -11
  38. package/dist/client/app/config/TranslateKitConfigContext.d.ts.map +0 -1
  39. package/dist/client/app/config/TranslateKitConfigContext.js.map +0 -1
  40. package/dist/client/app/config/TranslateKitConfigContext.jsx +0 -13
  41. package/dist/client/app/config/index.d.ts.map +0 -1
  42. package/dist/client/app/config/index.js.map +0 -1
  43. package/dist/client/entities/translation/api/mutations/useCancelCollectionTranslations.d.ts.map +0 -1
  44. package/dist/client/entities/translation/api/mutations/useCancelCollectionTranslations.js.map +0 -1
  45. package/dist/client/entities/translation/api/mutations/useCancelDocumentTranslation.d.ts.map +0 -1
  46. package/dist/client/entities/translation/api/mutations/useCancelDocumentTranslation.js.map +0 -1
  47. package/dist/client/entities/translation/api/mutations/useQueueDocumentTranslation.d.ts.map +0 -1
  48. package/dist/client/entities/translation/api/mutations/useQueueDocumentTranslation.js.map +0 -1
  49. package/dist/client/entities/translation/api/mutations/useQueueDocumentTranslations.d.ts.map +0 -1
  50. package/dist/client/entities/translation/api/mutations/useQueueDocumentTranslations.js.map +0 -1
  51. package/dist/client/entities/translation/api/mutations/useRunDocumentTranslation.d.ts.map +0 -1
  52. package/dist/client/entities/translation/api/mutations/useRunDocumentTranslation.js.map +0 -1
  53. package/dist/client/entities/translation/api/queries/useCollectionTranslationStatus.d.ts.map +0 -1
  54. package/dist/client/entities/translation/api/queries/useCollectionTranslationStatus.js.map +0 -1
  55. package/dist/client/entities/translation/api/queries/useDocumentTranslation.d.ts.map +0 -1
  56. package/dist/client/entities/translation/api/queries/useDocumentTranslation.js.map +0 -1
  57. package/dist/client/entities/translation/index.d.ts.map +0 -1
  58. package/dist/client/entities/translation/index.js.map +0 -1
  59. package/dist/client/entities/translation/model/enums.d.ts.map +0 -1
  60. package/dist/client/entities/translation/model/enums.js.map +0 -1
  61. package/dist/client/entities/translation/model/types.d.ts.map +0 -1
  62. package/dist/client/entities/translation/model/types.js.map +0 -1
  63. package/dist/client/entities/translation/ui/CompletedTranslationStatus/CompletedTranslationStatus.d.ts.map +0 -1
  64. package/dist/client/entities/translation/ui/CompletedTranslationStatus/CompletedTranslationStatus.js.map +0 -1
  65. package/dist/client/entities/translation/ui/CompletedTranslationStatus/CompletedTranslationStatus.jsx +0 -25
  66. package/dist/client/entities/translation/ui/CompletedTranslationStatus/index.d.ts.map +0 -1
  67. package/dist/client/entities/translation/ui/CompletedTranslationStatus/index.js.map +0 -1
  68. package/dist/client/entities/translation/ui/FailedTranslationStatus/FailedTranslationStatus.d.ts.map +0 -1
  69. package/dist/client/entities/translation/ui/FailedTranslationStatus/FailedTranslationStatus.js.map +0 -1
  70. package/dist/client/entities/translation/ui/FailedTranslationStatus/FailedTranslationStatus.jsx +0 -24
  71. package/dist/client/entities/translation/ui/FailedTranslationStatus/index.d.ts.map +0 -1
  72. package/dist/client/entities/translation/ui/FailedTranslationStatus/index.js.map +0 -1
  73. package/dist/client/entities/translation/ui/PendingTranslationStatus/PendingTranslationStatus.d.ts.map +0 -1
  74. package/dist/client/entities/translation/ui/PendingTranslationStatus/PendingTranslationStatus.js.map +0 -1
  75. package/dist/client/entities/translation/ui/PendingTranslationStatus/PendingTranslationStatus.jsx +0 -38
  76. package/dist/client/entities/translation/ui/PendingTranslationStatus/index.d.ts.map +0 -1
  77. package/dist/client/entities/translation/ui/PendingTranslationStatus/index.js.map +0 -1
  78. package/dist/client/entities/translation/ui/RunningTranslationStatus/RunningTranslationStatus.d.ts.map +0 -1
  79. package/dist/client/entities/translation/ui/RunningTranslationStatus/RunningTranslationStatus.js.map +0 -1
  80. package/dist/client/entities/translation/ui/RunningTranslationStatus/RunningTranslationStatus.jsx +0 -32
  81. package/dist/client/entities/translation/ui/RunningTranslationStatus/index.d.ts.map +0 -1
  82. package/dist/client/entities/translation/ui/RunningTranslationStatus/index.js.map +0 -1
  83. package/dist/client/entities/translation/ui/TranslationDirection/TranslationDirection.d.ts.map +0 -1
  84. package/dist/client/entities/translation/ui/TranslationDirection/TranslationDirection.js.map +0 -1
  85. package/dist/client/entities/translation/ui/TranslationDirection/TranslationDirection.jsx +0 -16
  86. package/dist/client/entities/translation/ui/TranslationDirection/index.d.ts.map +0 -1
  87. package/dist/client/entities/translation/ui/TranslationDirection/index.js.map +0 -1
  88. package/dist/client/features/collection-translation-form/index.client.d.ts.map +0 -1
  89. package/dist/client/features/collection-translation-form/index.client.js.map +0 -1
  90. package/dist/client/features/collection-translation-form/index.d.ts.map +0 -1
  91. package/dist/client/features/collection-translation-form/index.js.map +0 -1
  92. package/dist/client/features/collection-translation-form/model/constants.d.ts.map +0 -1
  93. package/dist/client/features/collection-translation-form/model/constants.js.map +0 -1
  94. package/dist/client/features/collection-translation-form/model/form-model.d.ts.map +0 -1
  95. package/dist/client/features/collection-translation-form/model/form-model.js.map +0 -1
  96. package/dist/client/features/collection-translation-form/model/index.d.ts.map +0 -1
  97. package/dist/client/features/collection-translation-form/model/index.js.map +0 -1
  98. package/dist/client/features/collection-translation-form/model/schema.d.ts.map +0 -1
  99. package/dist/client/features/collection-translation-form/model/schema.js.map +0 -1
  100. package/dist/client/features/collection-translation-form/ui/CollectionTranslationForm.d.ts.map +0 -1
  101. package/dist/client/features/collection-translation-form/ui/CollectionTranslationForm.js.map +0 -1
  102. package/dist/client/features/collection-translation-form/ui/CollectionTranslationForm.jsx +0 -25
  103. package/dist/client/features/collection-translation-form/ui/index.d.ts.map +0 -1
  104. package/dist/client/features/collection-translation-form/ui/index.js.map +0 -1
  105. package/dist/client/features/collection-translation-popup/index.d.ts.map +0 -1
  106. package/dist/client/features/collection-translation-popup/index.js.map +0 -1
  107. package/dist/client/features/collection-translation-popup/ui/CollectionTranslationPopup.d.ts.map +0 -1
  108. package/dist/client/features/collection-translation-popup/ui/CollectionTranslationPopup.js.map +0 -1
  109. package/dist/client/features/collection-translation-popup/ui/CollectionTranslationPopup.jsx +0 -23
  110. package/dist/client/features/collection-translation-progress/index.d.ts.map +0 -1
  111. package/dist/client/features/collection-translation-progress/index.js.map +0 -1
  112. package/dist/client/features/collection-translation-progress/ui/CollectionTranslationProgress.d.ts.map +0 -1
  113. package/dist/client/features/collection-translation-progress/ui/CollectionTranslationProgress.js.map +0 -1
  114. package/dist/client/features/collection-translation-progress/ui/CollectionTranslationProgress.jsx +0 -47
  115. package/dist/client/features/document-translation-progress-failed/index.d.ts.map +0 -1
  116. package/dist/client/features/document-translation-progress-failed/index.js.map +0 -1
  117. package/dist/client/features/document-translation-progress-failed/ui/DocumentTranslationProgressFailed.d.ts.map +0 -1
  118. package/dist/client/features/document-translation-progress-failed/ui/DocumentTranslationProgressFailed.js.map +0 -1
  119. package/dist/client/features/document-translation-progress-failed/ui/DocumentTranslationProgressFailed.jsx +0 -19
  120. package/dist/client/features/document-translation-progress-pending/index.d.ts.map +0 -1
  121. package/dist/client/features/document-translation-progress-pending/index.js.map +0 -1
  122. package/dist/client/features/document-translation-progress-pending/ui/DocumentTranslationProgressPending.d.ts.map +0 -1
  123. package/dist/client/features/document-translation-progress-pending/ui/DocumentTranslationProgressPending.js.map +0 -1
  124. package/dist/client/features/document-translation-progress-pending/ui/DocumentTranslationProgressPending.jsx +0 -34
  125. package/dist/client/features/document-translation-progress-running/index.d.ts.map +0 -1
  126. package/dist/client/features/document-translation-progress-running/index.js.map +0 -1
  127. package/dist/client/features/document-translation-progress-running/ui/DocumentTranslationProgressRunning.d.ts.map +0 -1
  128. package/dist/client/features/document-translation-progress-running/ui/DocumentTranslationProgressRunning.js.map +0 -1
  129. package/dist/client/features/document-translation-progress-running/ui/DocumentTranslationProgressRunning.jsx +0 -19
  130. package/dist/client/features/open-document-translation-popup/index.d.ts.map +0 -1
  131. package/dist/client/features/open-document-translation-popup/index.js.map +0 -1
  132. package/dist/client/features/open-document-translation-popup/ui/OpenDocumentTranslationPopup.d.ts.map +0 -1
  133. package/dist/client/features/open-document-translation-popup/ui/OpenDocumentTranslationPopup.js.map +0 -1
  134. package/dist/client/features/open-document-translation-popup/ui/OpenDocumentTranslationPopup.jsx +0 -15
  135. package/dist/client/features/translate-document-form/index.client.d.ts.map +0 -1
  136. package/dist/client/features/translate-document-form/index.client.js.map +0 -1
  137. package/dist/client/features/translate-document-form/index.d.ts.map +0 -1
  138. package/dist/client/features/translate-document-form/index.js.map +0 -1
  139. package/dist/client/features/translate-document-form/model/constants.d.ts.map +0 -1
  140. package/dist/client/features/translate-document-form/model/constants.js.map +0 -1
  141. package/dist/client/features/translate-document-form/model/form-model.d.ts.map +0 -1
  142. package/dist/client/features/translate-document-form/model/form-model.js.map +0 -1
  143. package/dist/client/features/translate-document-form/model/index.d.ts.map +0 -1
  144. package/dist/client/features/translate-document-form/model/index.js.map +0 -1
  145. package/dist/client/features/translate-document-form/model/schema.d.ts.map +0 -1
  146. package/dist/client/features/translate-document-form/model/schema.js.map +0 -1
  147. package/dist/client/features/translate-document-form/ui/DocumentTranslationForm.d.ts.map +0 -1
  148. package/dist/client/features/translate-document-form/ui/DocumentTranslationForm.js.map +0 -1
  149. package/dist/client/features/translate-document-form/ui/DocumentTranslationForm.jsx +0 -24
  150. package/dist/client/features/translate-document-form/ui/index.d.ts.map +0 -1
  151. package/dist/client/features/translate-document-form/ui/index.js.map +0 -1
  152. package/dist/client/shared/lib/assets/icons/LanguageTranslateIcon.d.ts.map +0 -1
  153. package/dist/client/shared/lib/assets/icons/LanguageTranslateIcon.js.map +0 -1
  154. package/dist/client/shared/lib/assets/icons/LanguageTranslateIcon.jsx +0 -4
  155. package/dist/client/shared/lib/assets/icons/QuestionCircleIcon.d.ts.map +0 -1
  156. package/dist/client/shared/lib/assets/icons/QuestionCircleIcon.js.map +0 -1
  157. package/dist/client/shared/lib/assets/icons/QuestionCircleIcon.jsx +0 -3
  158. package/dist/client/shared/lib/assets/icons/ReloadIcon.d.ts.map +0 -1
  159. package/dist/client/shared/lib/assets/icons/ReloadIcon.js.map +0 -1
  160. package/dist/client/shared/lib/assets/icons/ReloadIcon.jsx +0 -3
  161. package/dist/client/shared/lib/errors/handleApiError.d.ts.map +0 -1
  162. package/dist/client/shared/lib/errors/handleApiError.js.map +0 -1
  163. package/dist/client/shared/lib/forms/handle-form-error.d.ts.map +0 -1
  164. package/dist/client/shared/lib/forms/handle-form-error.js.map +0 -1
  165. package/dist/client/shared/lib/payload/hooks/useCollectionDashboardUrlParams.d.ts.map +0 -1
  166. package/dist/client/shared/lib/payload/hooks/useCollectionDashboardUrlParams.js.map +0 -1
  167. package/dist/client/shared/lib/payload/hooks/useCollectionDocumentUrlParams.d.ts.map +0 -1
  168. package/dist/client/shared/lib/payload/hooks/useCollectionDocumentUrlParams.js.map +0 -1
  169. package/dist/client/shared/lib/payload/hooks/useLocaleOptions.d.ts.map +0 -1
  170. package/dist/client/shared/lib/payload/hooks/useLocaleOptions.js.map +0 -1
  171. package/dist/client/shared/lib/utils/errors/handleApiError.d.ts.map +0 -1
  172. package/dist/client/shared/lib/utils/errors/handleApiError.js.map +0 -1
  173. package/dist/client/shared/lib/utils/react/useToggle.d.ts.map +0 -1
  174. package/dist/client/shared/lib/utils/react/useToggle.js.map +0 -1
  175. package/dist/client/shared/providers/CacheClientProvider/CacheClientProvider.factory.d.ts.map +0 -1
  176. package/dist/client/shared/providers/CacheClientProvider/CacheClientProvider.factory.js.map +0 -1
  177. package/dist/client/shared/providers/CacheClientProvider/index.d.ts.map +0 -1
  178. package/dist/client/shared/providers/CacheClientProvider/index.js.map +0 -1
  179. package/dist/client/shared/types/AccessGuard.d.ts.map +0 -1
  180. package/dist/client/shared/types/AccessGuard.js.map +0 -1
  181. package/dist/client/shared/types/PayloadComponentExport.d.ts.map +0 -1
  182. package/dist/client/shared/types/PayloadComponentExport.js.map +0 -1
  183. package/dist/client/shared/ui/Alert/Alert.d.ts.map +0 -1
  184. package/dist/client/shared/ui/Alert/Alert.js.map +0 -1
  185. package/dist/client/shared/ui/Alert/Alert.jsx +0 -33
  186. package/dist/client/shared/ui/Alert/index.d.ts.map +0 -1
  187. package/dist/client/shared/ui/Alert/index.js.map +0 -1
  188. package/dist/client/shared/ui/Button/Button.d.ts.map +0 -1
  189. package/dist/client/shared/ui/Button/Button.js.map +0 -1
  190. package/dist/client/shared/ui/Button/Button.jsx +0 -35
  191. package/dist/client/shared/ui/Button/index.d.ts.map +0 -1
  192. package/dist/client/shared/ui/Button/index.js.map +0 -1
  193. package/dist/client/shared/ui/Checkbox/Checkbox.d.ts.map +0 -1
  194. package/dist/client/shared/ui/Checkbox/Checkbox.js.map +0 -1
  195. package/dist/client/shared/ui/Checkbox/Checkbox.jsx +0 -6
  196. package/dist/client/shared/ui/Checkbox/index.d.ts.map +0 -1
  197. package/dist/client/shared/ui/Checkbox/index.js.map +0 -1
  198. package/dist/client/shared/ui/ColorIndicator/ColorIndicator.d.ts.map +0 -1
  199. package/dist/client/shared/ui/ColorIndicator/ColorIndicator.js.map +0 -1
  200. package/dist/client/shared/ui/ColorIndicator/ColorIndicator.jsx +0 -7
  201. package/dist/client/shared/ui/ColorIndicator/index.d.ts.map +0 -1
  202. package/dist/client/shared/ui/ColorIndicator/index.js.map +0 -1
  203. package/dist/client/shared/ui/Description/Description.d.ts.map +0 -1
  204. package/dist/client/shared/ui/Description/Description.js.map +0 -1
  205. package/dist/client/shared/ui/Description/Description.jsx +0 -7
  206. package/dist/client/shared/ui/Description/index.d.ts.map +0 -1
  207. package/dist/client/shared/ui/Description/index.js.map +0 -1
  208. package/dist/client/shared/ui/Divider/Divider.d.ts.map +0 -1
  209. package/dist/client/shared/ui/Divider/Divider.js.map +0 -1
  210. package/dist/client/shared/ui/Divider/Divider.jsx +0 -7
  211. package/dist/client/shared/ui/Divider/index.d.ts.map +0 -1
  212. package/dist/client/shared/ui/Divider/index.js.map +0 -1
  213. package/dist/client/shared/ui/Label/Label.d.ts.map +0 -1
  214. package/dist/client/shared/ui/Label/Label.js.map +0 -1
  215. package/dist/client/shared/ui/Label/Label.jsx +0 -9
  216. package/dist/client/shared/ui/Label/index.d.ts.map +0 -1
  217. package/dist/client/shared/ui/Label/index.js.map +0 -1
  218. package/dist/client/shared/ui/Loading/Loading.d.ts.map +0 -1
  219. package/dist/client/shared/ui/Loading/Loading.js.map +0 -1
  220. package/dist/client/shared/ui/Loading/Loading.jsx +0 -11
  221. package/dist/client/shared/ui/Loading/index.d.ts.map +0 -1
  222. package/dist/client/shared/ui/Loading/index.js.map +0 -1
  223. package/dist/client/shared/ui/Popup/Popup.d.ts.map +0 -1
  224. package/dist/client/shared/ui/Popup/Popup.js.map +0 -1
  225. package/dist/client/shared/ui/Popup/Popup.jsx +0 -13
  226. package/dist/client/shared/ui/Popup/index.d.ts.map +0 -1
  227. package/dist/client/shared/ui/Popup/index.js.map +0 -1
  228. package/dist/client/shared/ui/ProgressBar/ProgressBar.d.ts.map +0 -1
  229. package/dist/client/shared/ui/ProgressBar/ProgressBar.js.map +0 -1
  230. package/dist/client/shared/ui/ProgressBar/ProgressBar.jsx +0 -11
  231. package/dist/client/shared/ui/ProgressBar/index.d.ts.map +0 -1
  232. package/dist/client/shared/ui/ProgressBar/index.js.map +0 -1
  233. package/dist/client/shared/ui/Select/Select.d.ts.map +0 -1
  234. package/dist/client/shared/ui/Select/Select.js.map +0 -1
  235. package/dist/client/shared/ui/Select/Select.jsx +0 -41
  236. package/dist/client/shared/ui/Select/index.d.ts.map +0 -1
  237. package/dist/client/shared/ui/Select/index.js.map +0 -1
  238. package/dist/client/shared/ui/StatusCounter/StatusCounter.d.ts.map +0 -1
  239. package/dist/client/shared/ui/StatusCounter/StatusCounter.js.map +0 -1
  240. package/dist/client/shared/ui/StatusCounter/StatusCounter.jsx +0 -26
  241. package/dist/client/shared/ui/StatusCounter/index.d.ts.map +0 -1
  242. package/dist/client/shared/ui/StatusCounter/index.js.map +0 -1
  243. package/dist/client/shared/ui/StatusIndicator/StatusIndicator.d.ts.map +0 -1
  244. package/dist/client/shared/ui/StatusIndicator/StatusIndicator.js.map +0 -1
  245. package/dist/client/shared/ui/StatusIndicator/StatusIndicator.jsx +0 -10
  246. package/dist/client/shared/ui/StatusIndicator/index.d.ts.map +0 -1
  247. package/dist/client/shared/ui/StatusIndicator/index.js.map +0 -1
  248. package/dist/client/shared/ui/Tooltip/Tooltip.d.ts.map +0 -1
  249. package/dist/client/shared/ui/Tooltip/Tooltip.js.map +0 -1
  250. package/dist/client/shared/ui/Tooltip/Tooltip.jsx +0 -16
  251. package/dist/client/shared/ui/Tooltip/index.d.ts.map +0 -1
  252. package/dist/client/shared/ui/Tooltip/index.js.map +0 -1
  253. package/dist/client/shared/ui/form/FormCheckbox/FormCheckbox.d.ts.map +0 -1
  254. package/dist/client/shared/ui/form/FormCheckbox/FormCheckbox.js.map +0 -1
  255. package/dist/client/shared/ui/form/FormCheckbox/FormCheckbox.jsx +0 -24
  256. package/dist/client/shared/ui/form/FormCheckbox/index.d.ts.map +0 -1
  257. package/dist/client/shared/ui/form/FormCheckbox/index.js.map +0 -1
  258. package/dist/client/shared/ui/form/FormCheckboxPublish/FormCheckboxPublish.d.ts.map +0 -1
  259. package/dist/client/shared/ui/form/FormCheckboxPublish/FormCheckboxPublish.js.map +0 -1
  260. package/dist/client/shared/ui/form/FormCheckboxPublish/FormCheckboxPublish.jsx +0 -21
  261. package/dist/client/shared/ui/form/FormCheckboxPublish/index.d.ts.map +0 -1
  262. package/dist/client/shared/ui/form/FormCheckboxPublish/index.js.map +0 -1
  263. package/dist/client/shared/ui/form/FormSelect/FormSelect.d.ts.map +0 -1
  264. package/dist/client/shared/ui/form/FormSelect/FormSelect.js.map +0 -1
  265. package/dist/client/shared/ui/form/FormSelect/FormSelect.jsx +0 -44
  266. package/dist/client/shared/ui/form/FormSelect/index.d.ts.map +0 -1
  267. package/dist/client/shared/ui/form/FormSelect/index.js.map +0 -1
  268. package/dist/client/shared/ui/form/FormSelectLocale/FormSelectLocale.d.ts.map +0 -1
  269. package/dist/client/shared/ui/form/FormSelectLocale/FormSelectLocale.js.map +0 -1
  270. package/dist/client/shared/ui/form/FormSelectLocale/FormSelectLocale.jsx +0 -6
  271. package/dist/client/shared/ui/form/FormSelectLocale/index.d.ts.map +0 -1
  272. package/dist/client/shared/ui/form/FormSelectLocale/index.js.map +0 -1
  273. package/dist/client/shared/ui/form/FormSelectStrategy/FormSelectStrategy.d.ts.map +0 -1
  274. package/dist/client/shared/ui/form/FormSelectStrategy/FormSelectStrategy.js.map +0 -1
  275. package/dist/client/shared/ui/form/FormSelectStrategy/FormSelectStrategy.jsx +0 -25
  276. package/dist/client/shared/ui/form/FormSelectStrategy/index.d.ts.map +0 -1
  277. package/dist/client/shared/ui/form/FormSelectStrategy/index.js.map +0 -1
  278. package/dist/client/shared/utils/componentPath.d.ts.map +0 -1
  279. package/dist/client/shared/utils/componentPath.js.map +0 -1
  280. package/dist/client/widgets/bulk-translation-dashboard/index.d.ts.map +0 -1
  281. package/dist/client/widgets/bulk-translation-dashboard/index.js.map +0 -1
  282. package/dist/client/widgets/bulk-translation-dashboard/ui/BulkTranslationDashboard.d.ts.map +0 -1
  283. package/dist/client/widgets/bulk-translation-dashboard/ui/BulkTranslationDashboard.export.d.ts.map +0 -1
  284. package/dist/client/widgets/bulk-translation-dashboard/ui/BulkTranslationDashboard.export.js.map +0 -1
  285. package/dist/client/widgets/bulk-translation-dashboard/ui/BulkTranslationDashboard.export.jsx +0 -11
  286. package/dist/client/widgets/bulk-translation-dashboard/ui/BulkTranslationDashboard.js.map +0 -1
  287. package/dist/client/widgets/bulk-translation-dashboard/ui/BulkTranslationDashboard.jsx +0 -55
  288. package/dist/client/widgets/bulk-translation-dashboard/ui/BulkTranslationDashboard.server.d.ts.map +0 -1
  289. package/dist/client/widgets/bulk-translation-dashboard/ui/BulkTranslationDashboard.server.js.map +0 -1
  290. package/dist/client/widgets/bulk-translation-dashboard/ui/BulkTranslationDashboard.server.jsx +0 -17
  291. package/dist/client/widgets/bulk-translation-dashboard/ui/index.d.ts.map +0 -1
  292. package/dist/client/widgets/bulk-translation-dashboard/ui/index.js.map +0 -1
  293. package/dist/client/widgets/translate-document/index.d.ts.map +0 -1
  294. package/dist/client/widgets/translate-document/index.js.map +0 -1
  295. package/dist/client/widgets/translate-document/ui/TranslateDocument.d.ts.map +0 -1
  296. package/dist/client/widgets/translate-document/ui/TranslateDocument.export.d.ts.map +0 -1
  297. package/dist/client/widgets/translate-document/ui/TranslateDocument.export.js.map +0 -1
  298. package/dist/client/widgets/translate-document/ui/TranslateDocument.js.map +0 -1
  299. package/dist/client/widgets/translate-document/ui/TranslateDocument.jsx +0 -55
  300. package/dist/client/widgets/translate-document/ui/TranslateDocument.server.d.ts.map +0 -1
  301. package/dist/client/widgets/translate-document/ui/TranslateDocument.server.js.map +0 -1
  302. package/dist/client/widgets/translate-document/ui/TranslateDocument.server.jsx +0 -16
  303. package/dist/client/widgets/translate-document/ui/index.d.ts.map +0 -1
  304. package/dist/client/widgets/translate-document/ui/index.js.map +0 -1
  305. package/dist/field-config.d.ts.map +0 -1
  306. package/dist/field-config.js.map +0 -1
  307. package/dist/index.d.ts.map +0 -1
  308. package/dist/index.js.map +0 -1
  309. package/dist/plugin.d.ts.map +0 -1
  310. package/dist/plugin.js.map +0 -1
  311. package/dist/server/features/_lib/collection-utils.d.ts.map +0 -1
  312. package/dist/server/features/_lib/collection-utils.js.map +0 -1
  313. package/dist/server/features/_lib/index.d.ts.map +0 -1
  314. package/dist/server/features/_lib/index.js.map +0 -1
  315. package/dist/server/features/cancel/handler.d.ts.map +0 -1
  316. package/dist/server/features/cancel/handler.js.map +0 -1
  317. package/dist/server/features/cancel/handler.test.d.ts +0 -2
  318. package/dist/server/features/cancel/handler.test.d.ts.map +0 -1
  319. package/dist/server/features/cancel/handler.test.js +0 -63
  320. package/dist/server/features/cancel/index.d.ts.map +0 -1
  321. package/dist/server/features/cancel/index.js.map +0 -1
  322. package/dist/server/features/cancel/model.d.ts.map +0 -1
  323. package/dist/server/features/cancel/model.js.map +0 -1
  324. package/dist/server/features/cancel/route.d.ts.map +0 -1
  325. package/dist/server/features/cancel/route.js.map +0 -1
  326. package/dist/server/features/cancel-by-collection/handler.d.ts.map +0 -1
  327. package/dist/server/features/cancel-by-collection/handler.js.map +0 -1
  328. package/dist/server/features/cancel-by-collection/handler.test.d.ts +0 -2
  329. package/dist/server/features/cancel-by-collection/handler.test.d.ts.map +0 -1
  330. package/dist/server/features/cancel-by-collection/handler.test.js +0 -126
  331. package/dist/server/features/cancel-by-collection/index.d.ts.map +0 -1
  332. package/dist/server/features/cancel-by-collection/index.js.map +0 -1
  333. package/dist/server/features/cancel-by-collection/model.d.ts.map +0 -1
  334. package/dist/server/features/cancel-by-collection/model.js.map +0 -1
  335. package/dist/server/features/cancel-by-collection/route.d.ts.map +0 -1
  336. package/dist/server/features/cancel-by-collection/route.js.map +0 -1
  337. package/dist/server/features/enqueue-translation/handler.d.ts.map +0 -1
  338. package/dist/server/features/enqueue-translation/handler.js.map +0 -1
  339. package/dist/server/features/enqueue-translation/handler.test.d.ts +0 -2
  340. package/dist/server/features/enqueue-translation/handler.test.d.ts.map +0 -1
  341. package/dist/server/features/enqueue-translation/handler.test.js +0 -115
  342. package/dist/server/features/enqueue-translation/index.d.ts.map +0 -1
  343. package/dist/server/features/enqueue-translation/index.js.map +0 -1
  344. package/dist/server/features/enqueue-translation/model.d.ts.map +0 -1
  345. package/dist/server/features/enqueue-translation/model.js.map +0 -1
  346. package/dist/server/features/enqueue-translation/route.d.ts.map +0 -1
  347. package/dist/server/features/enqueue-translation/route.js.map +0 -1
  348. package/dist/server/features/get-collection-status/handler.d.ts.map +0 -1
  349. package/dist/server/features/get-collection-status/handler.js.map +0 -1
  350. package/dist/server/features/get-collection-status/handler.test.d.ts +0 -2
  351. package/dist/server/features/get-collection-status/handler.test.d.ts.map +0 -1
  352. package/dist/server/features/get-collection-status/handler.test.js +0 -108
  353. package/dist/server/features/get-collection-status/index.d.ts.map +0 -1
  354. package/dist/server/features/get-collection-status/index.js.map +0 -1
  355. package/dist/server/features/get-collection-status/model.d.ts.map +0 -1
  356. package/dist/server/features/get-collection-status/model.js.map +0 -1
  357. package/dist/server/features/get-collection-status/route.d.ts.map +0 -1
  358. package/dist/server/features/get-collection-status/route.js.map +0 -1
  359. package/dist/server/features/get-document-status/handler.d.ts.map +0 -1
  360. package/dist/server/features/get-document-status/handler.js.map +0 -1
  361. package/dist/server/features/get-document-status/handler.test.d.ts +0 -2
  362. package/dist/server/features/get-document-status/handler.test.d.ts.map +0 -1
  363. package/dist/server/features/get-document-status/handler.test.js +0 -138
  364. package/dist/server/features/get-document-status/index.d.ts.map +0 -1
  365. package/dist/server/features/get-document-status/index.js.map +0 -1
  366. package/dist/server/features/get-document-status/model.d.ts.map +0 -1
  367. package/dist/server/features/get-document-status/model.js.map +0 -1
  368. package/dist/server/features/get-document-status/route.d.ts.map +0 -1
  369. package/dist/server/features/get-document-status/route.js.map +0 -1
  370. package/dist/server/features/index.d.ts.map +0 -1
  371. package/dist/server/features/index.js.map +0 -1
  372. package/dist/server/features/run-translation/handler.d.ts.map +0 -1
  373. package/dist/server/features/run-translation/handler.js.map +0 -1
  374. package/dist/server/features/run-translation/handler.test.d.ts +0 -2
  375. package/dist/server/features/run-translation/handler.test.d.ts.map +0 -1
  376. package/dist/server/features/run-translation/handler.test.js +0 -98
  377. package/dist/server/features/run-translation/index.d.ts.map +0 -1
  378. package/dist/server/features/run-translation/index.js.map +0 -1
  379. package/dist/server/features/run-translation/model.d.ts.map +0 -1
  380. package/dist/server/features/run-translation/model.js.map +0 -1
  381. package/dist/server/features/run-translation/route.d.ts.map +0 -1
  382. package/dist/server/features/run-translation/route.js.map +0 -1
  383. package/dist/server/features/translate-document/handler.d.ts.map +0 -1
  384. package/dist/server/features/translate-document/handler.js.map +0 -1
  385. package/dist/server/features/translate-document/handler.test.d.ts +0 -2
  386. package/dist/server/features/translate-document/handler.test.d.ts.map +0 -1
  387. package/dist/server/features/translate-document/handler.test.js +0 -171
  388. package/dist/server/features/translate-document/index.d.ts.map +0 -1
  389. package/dist/server/features/translate-document/index.js.map +0 -1
  390. package/dist/server/features/translate-document/model.d.ts.map +0 -1
  391. package/dist/server/features/translate-document/model.js.map +0 -1
  392. package/dist/server/features/translate-document/task.d.ts.map +0 -1
  393. package/dist/server/features/translate-document/task.js.map +0 -1
  394. package/dist/server/index.d.ts.map +0 -1
  395. package/dist/server/index.js.map +0 -1
  396. package/dist/server/modules/index.d.ts.map +0 -1
  397. package/dist/server/modules/index.js.map +0 -1
  398. package/dist/server/modules/task-runner/TaskRunner.interface.d.ts.map +0 -1
  399. package/dist/server/modules/task-runner/TaskRunner.interface.js.map +0 -1
  400. package/dist/server/modules/task-runner/TaskRunnerProvider.interface.d.ts.map +0 -1
  401. package/dist/server/modules/task-runner/TaskRunnerProvider.interface.js.map +0 -1
  402. package/dist/server/modules/task-runner/index.d.ts.map +0 -1
  403. package/dist/server/modules/task-runner/index.js.map +0 -1
  404. package/dist/server/modules/task-runner/payload-jobs-runner/PayloadJobsRunnerProvider.d.ts.map +0 -1
  405. package/dist/server/modules/task-runner/payload-jobs-runner/PayloadJobsRunnerProvider.js.map +0 -1
  406. package/dist/server/modules/task-runner/payload-jobs-runner/PayloadJobsTaskRunner.d.ts.map +0 -1
  407. package/dist/server/modules/task-runner/payload-jobs-runner/PayloadJobsTaskRunner.js.map +0 -1
  408. package/dist/server/modules/task-runner/payload-jobs-runner/PayloadJobsTaskRunner.test.d.ts +0 -2
  409. package/dist/server/modules/task-runner/payload-jobs-runner/PayloadJobsTaskRunner.test.d.ts.map +0 -1
  410. package/dist/server/modules/task-runner/payload-jobs-runner/PayloadJobsTaskRunner.test.js +0 -188
  411. package/dist/server/modules/task-runner/payload-jobs-runner/index.d.ts.map +0 -1
  412. package/dist/server/modules/task-runner/payload-jobs-runner/index.js.map +0 -1
  413. package/dist/server/modules/task-runner/payload-jobs-runner/normalizeJob.d.ts.map +0 -1
  414. package/dist/server/modules/task-runner/payload-jobs-runner/normalizeJob.js.map +0 -1
  415. package/dist/server/modules/task-runner/payload-jobs-runner/normalizeJob.test.d.ts +0 -2
  416. package/dist/server/modules/task-runner/payload-jobs-runner/normalizeJob.test.d.ts.map +0 -1
  417. package/dist/server/modules/task-runner/payload-jobs-runner/normalizeJob.test.js +0 -169
  418. package/dist/server/modules/task-runner/payload-jobs-runner/types.d.ts.map +0 -1
  419. package/dist/server/modules/task-runner/payload-jobs-runner/types.js.map +0 -1
  420. package/dist/server/modules/task-runner/sync-runner/SyncRunnerProvider.d.ts.map +0 -1
  421. package/dist/server/modules/task-runner/sync-runner/SyncRunnerProvider.js.map +0 -1
  422. package/dist/server/modules/task-runner/sync-runner/SyncTaskRunner.d.ts.map +0 -1
  423. package/dist/server/modules/task-runner/sync-runner/SyncTaskRunner.js.map +0 -1
  424. package/dist/server/modules/task-runner/sync-runner/SyncTaskRunner.test.d.ts +0 -2
  425. package/dist/server/modules/task-runner/sync-runner/SyncTaskRunner.test.d.ts.map +0 -1
  426. package/dist/server/modules/task-runner/sync-runner/SyncTaskRunner.test.js +0 -148
  427. package/dist/server/modules/task-runner/sync-runner/index.d.ts.map +0 -1
  428. package/dist/server/modules/task-runner/sync-runner/index.js.map +0 -1
  429. package/dist/server/modules/task-runner/sync-runner/types.d.ts.map +0 -1
  430. package/dist/server/modules/task-runner/sync-runner/types.js.map +0 -1
  431. package/dist/server/modules/task-runner/types.d.ts.map +0 -1
  432. package/dist/server/modules/task-runner/types.js.map +0 -1
  433. package/dist/server/modules/translation-pipeline/TranslationPipeline.d.ts.map +0 -1
  434. package/dist/server/modules/translation-pipeline/TranslationPipeline.js.map +0 -1
  435. package/dist/server/modules/translation-pipeline/TranslationPipeline.test.d.ts +0 -2
  436. package/dist/server/modules/translation-pipeline/TranslationPipeline.test.d.ts.map +0 -1
  437. package/dist/server/modules/translation-pipeline/TranslationPipeline.test.js +0 -552
  438. package/dist/server/modules/translation-pipeline/index.d.ts.map +0 -1
  439. package/dist/server/modules/translation-pipeline/index.js.map +0 -1
  440. package/dist/server/modules/translation-pipeline/stages/data-reconciler/DataReconciler.d.ts.map +0 -1
  441. package/dist/server/modules/translation-pipeline/stages/data-reconciler/DataReconciler.js.map +0 -1
  442. package/dist/server/modules/translation-pipeline/stages/data-reconciler/DataReconciler.stage.d.ts.map +0 -1
  443. package/dist/server/modules/translation-pipeline/stages/data-reconciler/DataReconciler.stage.js.map +0 -1
  444. package/dist/server/modules/translation-pipeline/stages/data-reconciler/DataReconciler.test.d.ts +0 -2
  445. package/dist/server/modules/translation-pipeline/stages/data-reconciler/DataReconciler.test.d.ts.map +0 -1
  446. package/dist/server/modules/translation-pipeline/stages/data-reconciler/DataReconciler.test.js +0 -294
  447. package/dist/server/modules/translation-pipeline/stages/data-reconciler/index.d.ts.map +0 -1
  448. package/dist/server/modules/translation-pipeline/stages/data-reconciler/index.js.map +0 -1
  449. package/dist/server/modules/translation-pipeline/stages/field-collector/FieldChunkCollector.d.ts.map +0 -1
  450. package/dist/server/modules/translation-pipeline/stages/field-collector/FieldChunkCollector.js.map +0 -1
  451. package/dist/server/modules/translation-pipeline/stages/field-collector/FieldChunkCollector.stage.d.ts.map +0 -1
  452. package/dist/server/modules/translation-pipeline/stages/field-collector/FieldChunkCollector.stage.js.map +0 -1
  453. package/dist/server/modules/translation-pipeline/stages/field-collector/FieldChunkCollector.test.d.ts +0 -2
  454. package/dist/server/modules/translation-pipeline/stages/field-collector/FieldChunkCollector.test.d.ts.map +0 -1
  455. package/dist/server/modules/translation-pipeline/stages/field-collector/FieldChunkCollector.test.js +0 -737
  456. package/dist/server/modules/translation-pipeline/stages/field-collector/index.d.ts.map +0 -1
  457. package/dist/server/modules/translation-pipeline/stages/field-collector/index.js.map +0 -1
  458. package/dist/server/modules/translation-pipeline/stages/index.d.ts.map +0 -1
  459. package/dist/server/modules/translation-pipeline/stages/index.js.map +0 -1
  460. package/dist/server/modules/translation-pipeline/stages/text-expander/PlainTextExpander.d.ts.map +0 -1
  461. package/dist/server/modules/translation-pipeline/stages/text-expander/PlainTextExpander.js.map +0 -1
  462. package/dist/server/modules/translation-pipeline/stages/text-expander/RichTextExpander.d.ts.map +0 -1
  463. package/dist/server/modules/translation-pipeline/stages/text-expander/RichTextExpander.js.map +0 -1
  464. package/dist/server/modules/translation-pipeline/stages/text-expander/TextChunkExpander.d.ts.map +0 -1
  465. package/dist/server/modules/translation-pipeline/stages/text-expander/TextChunkExpander.js.map +0 -1
  466. package/dist/server/modules/translation-pipeline/stages/text-expander/TextChunkExpander.stage.d.ts.map +0 -1
  467. package/dist/server/modules/translation-pipeline/stages/text-expander/TextChunkExpander.stage.js.map +0 -1
  468. package/dist/server/modules/translation-pipeline/stages/text-expander/TextChunkExpander.test.d.ts +0 -2
  469. package/dist/server/modules/translation-pipeline/stages/text-expander/TextChunkExpander.test.d.ts.map +0 -1
  470. package/dist/server/modules/translation-pipeline/stages/text-expander/TextChunkExpander.test.js +0 -396
  471. package/dist/server/modules/translation-pipeline/stages/text-expander/TextExpander.interface.d.ts.map +0 -1
  472. package/dist/server/modules/translation-pipeline/stages/text-expander/TextExpander.interface.js.map +0 -1
  473. package/dist/server/modules/translation-pipeline/stages/text-expander/index.d.ts.map +0 -1
  474. package/dist/server/modules/translation-pipeline/stages/text-expander/index.js.map +0 -1
  475. package/dist/server/modules/translation-pipeline/stages/translation/Translation.stage.d.ts.map +0 -1
  476. package/dist/server/modules/translation-pipeline/stages/translation/Translation.stage.js.map +0 -1
  477. package/dist/server/modules/translation-pipeline/stages/translation/index.d.ts.map +0 -1
  478. package/dist/server/modules/translation-pipeline/stages/translation/index.js.map +0 -1
  479. package/dist/server/modules/translation-pipeline/stages/translation-applicator/TranslationMutator.d.ts.map +0 -1
  480. package/dist/server/modules/translation-pipeline/stages/translation-applicator/TranslationMutator.js.map +0 -1
  481. package/dist/server/modules/translation-pipeline/stages/translation-applicator/TranslationMutator.stage.d.ts.map +0 -1
  482. package/dist/server/modules/translation-pipeline/stages/translation-applicator/TranslationMutator.stage.js.map +0 -1
  483. package/dist/server/modules/translation-pipeline/stages/translation-applicator/TranslationMutator.test.d.ts +0 -2
  484. package/dist/server/modules/translation-pipeline/stages/translation-applicator/TranslationMutator.test.d.ts.map +0 -1
  485. package/dist/server/modules/translation-pipeline/stages/translation-applicator/TranslationMutator.test.js +0 -110
  486. package/dist/server/modules/translation-pipeline/stages/translation-applicator/index.d.ts.map +0 -1
  487. package/dist/server/modules/translation-pipeline/stages/translation-applicator/index.js.map +0 -1
  488. package/dist/server/modules/translation-pipeline/strategies/Overwrite.strategy.d.ts.map +0 -1
  489. package/dist/server/modules/translation-pipeline/strategies/Overwrite.strategy.js.map +0 -1
  490. package/dist/server/modules/translation-pipeline/strategies/Overwrite.strategy.test.d.ts +0 -2
  491. package/dist/server/modules/translation-pipeline/strategies/Overwrite.strategy.test.d.ts.map +0 -1
  492. package/dist/server/modules/translation-pipeline/strategies/Overwrite.strategy.test.js +0 -36
  493. package/dist/server/modules/translation-pipeline/strategies/SkipExisting.strategy.d.ts.map +0 -1
  494. package/dist/server/modules/translation-pipeline/strategies/SkipExisting.strategy.js.map +0 -1
  495. package/dist/server/modules/translation-pipeline/strategies/SkipExisting.strategy.test.d.ts +0 -2
  496. package/dist/server/modules/translation-pipeline/strategies/SkipExisting.strategy.test.d.ts.map +0 -1
  497. package/dist/server/modules/translation-pipeline/strategies/SkipExisting.strategy.test.js +0 -77
  498. package/dist/server/modules/translation-pipeline/strategies/TranslationStrategy.interface.d.ts.map +0 -1
  499. package/dist/server/modules/translation-pipeline/strategies/TranslationStrategy.interface.js.map +0 -1
  500. package/dist/server/modules/translation-pipeline/strategies/index.d.ts.map +0 -1
  501. package/dist/server/modules/translation-pipeline/strategies/index.js.map +0 -1
  502. package/dist/server/modules/translation-pipeline/types/FieldChunk.d.ts.map +0 -1
  503. package/dist/server/modules/translation-pipeline/types/FieldChunk.js.map +0 -1
  504. package/dist/server/modules/translation-pipeline/types/Pipeline.d.ts.map +0 -1
  505. package/dist/server/modules/translation-pipeline/types/Pipeline.js.map +0 -1
  506. package/dist/server/modules/translation-pipeline/types/PipelineContext.d.ts.map +0 -1
  507. package/dist/server/modules/translation-pipeline/types/PipelineContext.js.map +0 -1
  508. package/dist/server/modules/translation-pipeline/types/TextChunk.d.ts.map +0 -1
  509. package/dist/server/modules/translation-pipeline/types/TextChunk.js.map +0 -1
  510. package/dist/server/modules/translation-pipeline/types/index.d.ts.map +0 -1
  511. package/dist/server/modules/translation-pipeline/types/index.js.map +0 -1
  512. package/dist/server/modules/translation-providers/OpenAITranslation.provider.d.ts.map +0 -1
  513. package/dist/server/modules/translation-providers/OpenAITranslation.provider.js.map +0 -1
  514. package/dist/server/modules/translation-providers/OpenAITranslation.provider.test.d.ts +0 -2
  515. package/dist/server/modules/translation-providers/OpenAITranslation.provider.test.d.ts.map +0 -1
  516. package/dist/server/modules/translation-providers/OpenAITranslation.provider.test.js +0 -214
  517. package/dist/server/modules/translation-providers/TranslationProvider.interface.d.ts.map +0 -1
  518. package/dist/server/modules/translation-providers/TranslationProvider.interface.js.map +0 -1
  519. package/dist/server/modules/translation-providers/index.d.ts.map +0 -1
  520. package/dist/server/modules/translation-providers/index.js.map +0 -1
  521. package/dist/server/shared/access/AnyAccessGuard.d.ts.map +0 -1
  522. package/dist/server/shared/access/AnyAccessGuard.js.map +0 -1
  523. package/dist/server/shared/access/handler.d.ts.map +0 -1
  524. package/dist/server/shared/access/handler.js.map +0 -1
  525. package/dist/server/shared/access/index.d.ts.map +0 -1
  526. package/dist/server/shared/access/index.js.map +0 -1
  527. package/dist/server/shared/access/types.d.ts.map +0 -1
  528. package/dist/server/shared/access/types.js.map +0 -1
  529. package/dist/server/shared/field-config/getFieldConfig.d.ts.map +0 -1
  530. package/dist/server/shared/field-config/getFieldConfig.js.map +0 -1
  531. package/dist/server/shared/field-config/getFieldConfig.test.d.ts +0 -2
  532. package/dist/server/shared/field-config/getFieldConfig.test.d.ts.map +0 -1
  533. package/dist/server/shared/field-config/getFieldConfig.test.js +0 -74
  534. package/dist/server/shared/field-config/index.d.ts.map +0 -1
  535. package/dist/server/shared/field-config/index.js.map +0 -1
  536. package/dist/server/shared/field-config/types.d.ts.map +0 -1
  537. package/dist/server/shared/field-config/types.js.map +0 -1
  538. package/dist/server/shared/guards/collection-guards.d.ts.map +0 -1
  539. package/dist/server/shared/guards/collection-guards.js.map +0 -1
  540. package/dist/server/shared/guards/field-guards.d.ts.map +0 -1
  541. package/dist/server/shared/guards/field-guards.js.map +0 -1
  542. package/dist/server/shared/guards/field-guards.test.d.ts +0 -2
  543. package/dist/server/shared/guards/field-guards.test.d.ts.map +0 -1
  544. package/dist/server/shared/guards/field-guards.test.js +0 -166
  545. package/dist/server/shared/guards/index.d.ts.map +0 -1
  546. package/dist/server/shared/guards/index.js.map +0 -1
  547. package/dist/server/shared/http/ServerResponse.d.ts.map +0 -1
  548. package/dist/server/shared/http/ServerResponse.js.map +0 -1
  549. package/dist/server/shared/http/ServerResponse.test.d.ts +0 -2
  550. package/dist/server/shared/http/ServerResponse.test.d.ts.map +0 -1
  551. package/dist/server/shared/http/ServerResponse.test.js +0 -161
  552. package/dist/server/shared/http/index.d.ts.map +0 -1
  553. package/dist/server/shared/http/index.js.map +0 -1
  554. package/dist/server/shared/http/withAccessCheck.d.ts.map +0 -1
  555. package/dist/server/shared/http/withAccessCheck.js.map +0 -1
  556. package/dist/server/shared/http/withAccessCheck.test.d.ts +0 -2
  557. package/dist/server/shared/http/withAccessCheck.test.d.ts.map +0 -1
  558. package/dist/server/shared/http/withAccessCheck.test.js +0 -46
  559. package/dist/server/shared/http/withErrorHandler.d.ts.map +0 -1
  560. package/dist/server/shared/http/withErrorHandler.js.map +0 -1
  561. package/dist/server/shared/http/withErrorHandler.test.d.ts +0 -2
  562. package/dist/server/shared/http/withErrorHandler.test.d.ts.map +0 -1
  563. package/dist/server/shared/http/withErrorHandler.test.js +0 -69
  564. package/dist/server/shared/index.d.ts.map +0 -1
  565. package/dist/server/shared/index.js.map +0 -1
  566. package/dist/server/shared/lexical/collectTextNodes.d.ts.map +0 -1
  567. package/dist/server/shared/lexical/collectTextNodes.js.map +0 -1
  568. package/dist/server/shared/lexical/collectTextNodes.test.d.ts +0 -2
  569. package/dist/server/shared/lexical/collectTextNodes.test.d.ts.map +0 -1
  570. package/dist/server/shared/lexical/collectTextNodes.test.js +0 -120
  571. package/dist/server/shared/lexical/guards.d.ts.map +0 -1
  572. package/dist/server/shared/lexical/guards.js.map +0 -1
  573. package/dist/server/shared/lexical/guards.test.d.ts +0 -2
  574. package/dist/server/shared/lexical/guards.test.d.ts.map +0 -1
  575. package/dist/server/shared/lexical/guards.test.js +0 -160
  576. package/dist/server/shared/lexical/index.d.ts.map +0 -1
  577. package/dist/server/shared/lexical/index.js.map +0 -1
  578. package/dist/server/shared/lexical/isEmptyRichText.d.ts.map +0 -1
  579. package/dist/server/shared/lexical/isEmptyRichText.js.map +0 -1
  580. package/dist/server/shared/lexical/isEmptyRichText.test.d.ts +0 -2
  581. package/dist/server/shared/lexical/isEmptyRichText.test.d.ts.map +0 -1
  582. package/dist/server/shared/lexical/isEmptyRichText.test.js +0 -251
  583. package/dist/server/shared/lexical/traverseLexicalTree.d.ts.map +0 -1
  584. package/dist/server/shared/lexical/traverseLexicalTree.js.map +0 -1
  585. package/dist/server/shared/lexical/traverseLexicalTree.test.d.ts +0 -2
  586. package/dist/server/shared/lexical/traverseLexicalTree.test.d.ts.map +0 -1
  587. package/dist/server/shared/lexical/traverseLexicalTree.test.js +0 -112
  588. package/dist/server/shared/lexical/types.d.ts.map +0 -1
  589. package/dist/server/shared/lexical/types.js.map +0 -1
  590. package/dist/server/shared/utils/LazyMap.d.ts.map +0 -1
  591. package/dist/server/shared/utils/LazyMap.js.map +0 -1
  592. package/dist/server/shared/utils/LazyMap.test.d.ts +0 -2
  593. package/dist/server/shared/utils/LazyMap.test.d.ts.map +0 -1
  594. package/dist/server/shared/utils/LazyMap.test.js +0 -262
  595. package/dist/server/shared/utils/filterLocalizedFields.d.ts.map +0 -1
  596. package/dist/server/shared/utils/filterLocalizedFields.js.map +0 -1
  597. package/dist/server/shared/utils/filterLocalizedFields.test.d.ts +0 -2
  598. package/dist/server/shared/utils/filterLocalizedFields.test.d.ts.map +0 -1
  599. package/dist/server/shared/utils/filterLocalizedFields.test.js +0 -338
  600. package/dist/server/shared/utils/getByPath.d.ts.map +0 -1
  601. package/dist/server/shared/utils/getByPath.js.map +0 -1
  602. package/dist/server/shared/utils/getByPath.test.d.ts +0 -2
  603. package/dist/server/shared/utils/getByPath.test.d.ts.map +0 -1
  604. package/dist/server/shared/utils/getByPath.test.js +0 -33
  605. package/dist/server/shared/utils/index.d.ts.map +0 -1
  606. package/dist/server/shared/utils/index.js.map +0 -1
  607. package/dist/server/shared/utils/isEmpty.d.ts.map +0 -1
  608. package/dist/server/shared/utils/isEmpty.js.map +0 -1
  609. package/dist/server/shared/utils/isEmpty.test.d.ts +0 -2
  610. package/dist/server/shared/utils/isEmpty.test.d.ts.map +0 -1
  611. package/dist/server/shared/utils/isEmpty.test.js +0 -60
  612. package/dist/server/shared/utils/isObject.d.ts.map +0 -1
  613. package/dist/server/shared/utils/isObject.js.map +0 -1
  614. package/dist/server/shared/utils/isObject.test.d.ts +0 -2
  615. package/dist/server/shared/utils/isObject.test.d.ts.map +0 -1
  616. package/dist/server/shared/utils/isObject.test.js +0 -57
  617. package/dist/server/shared/utils/normalizePath.d.ts.map +0 -1
  618. package/dist/server/shared/utils/normalizePath.js.map +0 -1
  619. package/dist/server/shared/utils/normalizePath.test.d.ts +0 -2
  620. package/dist/server/shared/utils/normalizePath.test.d.ts.map +0 -1
  621. package/dist/server/shared/utils/normalizePath.test.js +0 -33
  622. package/dist/server/shared/utils/pipe.d.ts.map +0 -1
  623. package/dist/server/shared/utils/pipe.js.map +0 -1
  624. package/dist/server/shared/utils/pipe.test.d.ts +0 -2
  625. package/dist/server/shared/utils/pipe.test.d.ts.map +0 -1
  626. package/dist/server/shared/utils/pipe.test.js +0 -55
  627. package/dist/server/shared/utils/setByPath.d.ts.map +0 -1
  628. package/dist/server/shared/utils/setByPath.js.map +0 -1
  629. package/dist/server/shared/utils/setByPath.test.d.ts +0 -2
  630. package/dist/server/shared/utils/setByPath.test.d.ts.map +0 -1
  631. package/dist/server/shared/utils/setByPath.test.js +0 -46
  632. package/dist/types/AccessGuard.d.ts.map +0 -1
  633. package/dist/types/AccessGuard.js.map +0 -1
  634. package/dist/types/index.d.ts.map +0 -1
  635. package/dist/types/index.js.map +0 -1
  636. package/dist/vitest-env.d.js.map +0 -1
@@ -1,25 +0,0 @@
1
- import FormSelect from '../FormSelect';
2
- import Tooltip from '../../Tooltip';
3
- import { QuestionCircleIcon } from '../../../lib/assets/icons/QuestionCircleIcon';
4
- import styles from './styles.module.scss';
5
- const STRATEGY_OPTIONS = [
6
- { value: 'overwrite', label: 'Overwrite' },
7
- { value: 'skip_existing', label: 'Skip existing' },
8
- ];
9
- const STRATEGY_LABEL = 'Update mode';
10
- const STRATEGY_TOOLTIP = (<>
11
- <strong>Overwrite</strong> — translate all fields, replacing existing values
12
- <br />
13
- <strong>Skip existing</strong> — only translate empty fields, keep existing values
14
- </>);
15
- const StrategyLabel = (<span className={styles.label}>
16
- {STRATEGY_LABEL}
17
- <Tooltip content={STRATEGY_TOOLTIP} side="bottom">
18
- <span className={styles.label__icon}>
19
- <QuestionCircleIcon />
20
- </span>
21
- </Tooltip>
22
- </span>);
23
- export function FormSelectStrategy({ name, required, description, disabled, size, className, }) {
24
- return (<FormSelect size={size} className={className} description={description} label={StrategyLabel} required={required} name={name} options={[...STRATEGY_OPTIONS]} disabled={disabled}/>);
25
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/client/shared/ui/form/FormSelectStrategy/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,YAAY,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../../src/client/shared/ui/form/FormSelectStrategy/index.ts"],"sourcesContent":["export { FormSelectStrategy } from './FormSelectStrategy'\nexport type { TranslationStrategy } from './FormSelectStrategy'\n"],"names":["FormSelectStrategy"],"mappings":"AAAA,SAASA,kBAAkB,QAAQ,uBAAsB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"componentPath.d.ts","sourceRoot":"","sources":["../../../../src/client/shared/utils/componentPath.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAEhE"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/client/shared/utils/componentPath.ts"],"sourcesContent":["const PACKAGE_NAME = '@focus-reactive/payload-plugin-translator'\n\n/**\n * Creates a full path to a client component for Payload's import map.\n * @param relativePath - Path relative to the client folder (e.g., 'widgets/translate-document/ui/TranslateDocument.server.tsx')\n */\nexport function clientComponentPath(relativePath: string): string {\n return `${PACKAGE_NAME}/client/${relativePath}`\n}\n"],"names":["PACKAGE_NAME","clientComponentPath","relativePath"],"mappings":"AAAA,MAAMA,eAAe;AAErB;;;CAGC,GACD,OAAO,SAASC,oBAAoBC,YAAoB;IACtD,OAAO,GAAGF,aAAa,QAAQ,EAAEE,cAAc;AACjD"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/client/widgets/bulk-translation-dashboard/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gCAAgC,EAAE,MAAM,sCAAsC,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/client/widgets/bulk-translation-dashboard/index.ts"],"sourcesContent":["export { BulkDocumentTranslationDashboard } from './ui/BulkTranslationDashboard.export'\n"],"names":["BulkDocumentTranslationDashboard"],"mappings":"AAAA,SAASA,gCAAgC,QAAQ,uCAAsC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"BulkTranslationDashboard.d.ts","sourceRoot":"","sources":["../../../../../src/client/widgets/bulk-translation-dashboard/ui/BulkTranslationDashboard.tsx"],"names":[],"mappings":"AAcA,KAAK,6BAA6B,GAAG;IACnC,SAAS,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,MAAM,CAAC,OAAO,UAAU,wBAAwB,CAAC,EAAE,SAAS,EAAE,EAAE,6BAA6B,+BAkE5F"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"BulkTranslationDashboard.export.d.ts","sourceRoot":"","sources":["../../../../../src/client/widgets/bulk-translation-dashboard/ui/BulkTranslationDashboard.export.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAEhE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,8CAA8C,CAAA;AAG7F,qBAAa,gCAAiC,YAAW,yBAAyB;IAGpE,QAAQ,CAAC,MAAM,EAAE,WAAW;IAFxC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAAA;gBAEjC,MAAM,GAAE,WAAkC;IAG/D,IAAI,SAAmG;CACxG"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/client/widgets/bulk-translation-dashboard/ui/BulkTranslationDashboard.export.tsx"],"sourcesContent":["import type { AccessGuard } from '../../../../types/AccessGuard'\nimport { AnyAccessGuard } from '../../../../server/shared'\nimport type { RawPayloadComponentExport } from '../../../shared/types/PayloadComponentExport'\nimport { clientComponentPath } from '../../../shared/utils/componentPath'\n\nexport class BulkDocumentTranslationDashboard implements RawPayloadComponentExport {\n serverProps?: object | Record<string, any> | undefined\n\n constructor(readonly access: AccessGuard = new AnyAccessGuard()) {\n this.serverProps = { access }\n }\n path = clientComponentPath('widgets/bulk-translation-dashboard/ui/BulkTranslationDashboard.server.tsx')\n}\n"],"names":["AnyAccessGuard","clientComponentPath","BulkDocumentTranslationDashboard","serverProps","access","path"],"mappings":"AACA,SAASA,cAAc,QAAQ,4BAA2B;AAE1D,SAASC,mBAAmB,QAAQ,sCAAqC;AAEzE,OAAO,MAAMC;;IACXC,YAAsD;IAEtD,YAAY,AAASC,SAAsB,IAAIJ,gBAAgB,CAAE;aAA5CI,SAAAA;QACnB,IAAI,CAACD,WAAW,GAAG;YAAEC;QAAO;IAC9B;IACAC,OAAOJ,oBAAoB,6EAA4E;AACzG"}
@@ -1,11 +0,0 @@
1
- import { AnyAccessGuard } from '../../../../server/shared';
2
- import { clientComponentPath } from '../../../shared/utils/componentPath';
3
- export class BulkDocumentTranslationDashboard {
4
- access;
5
- serverProps;
6
- constructor(access = new AnyAccessGuard()) {
7
- this.access = access;
8
- this.serverProps = { access };
9
- }
10
- path = clientComponentPath('widgets/bulk-translation-dashboard/ui/BulkTranslationDashboard.server.tsx');
11
- }
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/client/widgets/bulk-translation-dashboard/ui/BulkTranslationDashboard.tsx"],"sourcesContent":["'use client'\n\nimport { toast, useLocale, useSelection } from '@payloadcms/ui'\nimport { SelectAllStatus } from '@payloadcms/ui/providers/Selection'\nimport { useEffect, useMemo } from 'react'\n\nimport { TranslationsApi } from '../../../entities/translation'\nimport { CollectionTranslationForm, FORM_FIELDS, type FormValues } from '../../../features/collection-translation-form'\nimport { CollectionTranslationFormModel } from '../../../features/collection-translation-form/index.client'\nimport CollectionTranslationPopup from '../../../features/collection-translation-popup'\nimport { CollectionTranslationProgress } from '../../../features/collection-translation-progress'\nimport { handleFormError } from '../../../shared/lib/forms/handle-form-error'\nimport { useCollectionDashboardUrlParams } from '../../../shared/lib/payload/hooks/useCollectionDashboardUrlParams'\n\ntype BulkTranslationDashboardProps = {\n hasDrafts: boolean\n}\n\nexport default function BulkTranslationDashboard({ hasDrafts }: BulkTranslationDashboardProps) {\n const locale = useLocale()\n const { collection } = useCollectionDashboardUrlParams()\n const documentsSelection = useSelection()\n\n const queueTranslationApi = TranslationsApi.useQueueDocumentTranslation()\n const collectionTranslationApi = TranslationsApi.useCollectionTranslationStatus({ collection })\n\n useEffect(() => {\n if (collectionTranslationApi.error) {\n toast.error(collectionTranslationApi.error.message)\n }\n }, [collectionTranslationApi.error])\n\n const initialValues = useMemo(\n () => ({\n [FORM_FIELDS.SOURCE_LNG]: locale.code,\n [FORM_FIELDS.HIDDEN_COLLECTION_SLUG]: collection,\n }),\n [locale.code, collection],\n )\n\n const { form } = CollectionTranslationFormModel.useForm({\n initialValues,\n disabled: collectionTranslationApi.isLoading,\n })\n\n const selectAll = documentsSelection.selectAll === SelectAllStatus.AllAvailable\n const selectedCount = selectAll ? documentsSelection.totalDocs : documentsSelection.count\n\n const translationInProgress = !!(\n collectionTranslationApi.data?.pending.length || collectionTranslationApi.data?.running.length\n )\n\n const handleSubmit = async (formData: FormValues) => {\n try {\n await queueTranslationApi.mutateAsync({\n ...formData,\n collection_id: documentsSelection.selectedIDs,\n select_all: selectAll,\n })\n } catch (e) {\n handleFormError(e, form)\n }\n }\n\n return (\n <CollectionTranslationPopup translationInProgress={translationInProgress} selectedCount={selectedCount}>\n <h3>Bulk Translation Dashboard</h3>\n <p>\n Translate multiple documents at once using AI. Select the records you want to translate on the collection\n dashboard, then configure your translation settings here.\n </p>\n <CollectionTranslationForm\n form={form}\n onSubmit={handleSubmit}\n selectedCount={selectedCount}\n hasDrafts={hasDrafts}\n />\n <CollectionTranslationProgress\n collection={collection}\n data={collectionTranslationApi.data}\n isPending={collectionTranslationApi.isPending}\n />\n </CollectionTranslationPopup>\n )\n}\n"],"names":["toast","useLocale","useSelection","SelectAllStatus","useEffect","useMemo","TranslationsApi","CollectionTranslationForm","FORM_FIELDS","CollectionTranslationFormModel","CollectionTranslationPopup","CollectionTranslationProgress","handleFormError","useCollectionDashboardUrlParams","BulkTranslationDashboard","hasDrafts","locale","collection","documentsSelection","queueTranslationApi","useQueueDocumentTranslation","collectionTranslationApi","useCollectionTranslationStatus","error","message","initialValues","SOURCE_LNG","code","HIDDEN_COLLECTION_SLUG","form","useForm","disabled","isLoading","selectAll","AllAvailable","selectedCount","totalDocs","count","translationInProgress","data","pending","length","running","handleSubmit","formData","mutateAsync","collection_id","selectedIDs","select_all","e","h3","p","onSubmit","isPending"],"mappings":"AAAA;;AAEA,SAASA,KAAK,EAAEC,SAAS,EAAEC,YAAY,QAAQ,iBAAgB;AAC/D,SAASC,eAAe,QAAQ,qCAAoC;AACpE,SAASC,SAAS,EAAEC,OAAO,QAAQ,QAAO;AAE1C,SAASC,eAAe,QAAQ,gCAA+B;AAC/D,SAASC,yBAAyB,EAAEC,WAAW,QAAyB,gDAA+C;AACvH,SAASC,8BAA8B,QAAQ,6DAA4D;AAC3G,OAAOC,gCAAgC,iDAAgD;AACvF,SAASC,6BAA6B,QAAQ,oDAAmD;AACjG,SAASC,eAAe,QAAQ,8CAA6C;AAC7E,SAASC,+BAA+B,QAAQ,oEAAmE;AAMnH,eAAe,SAASC,yBAAyB,EAAEC,SAAS,EAAiC;IAC3F,MAAMC,SAASf;IACf,MAAM,EAAEgB,UAAU,EAAE,GAAGJ;IACvB,MAAMK,qBAAqBhB;IAE3B,MAAMiB,sBAAsBb,gBAAgBc,2BAA2B;IACvE,MAAMC,2BAA2Bf,gBAAgBgB,8BAA8B,CAAC;QAAEL;IAAW;IAE7Fb,UAAU;QACR,IAAIiB,yBAAyBE,KAAK,EAAE;YAClCvB,MAAMuB,KAAK,CAACF,yBAAyBE,KAAK,CAACC,OAAO;QACpD;IACF,GAAG;QAACH,yBAAyBE,KAAK;KAAC;IAEnC,MAAME,gBAAgBpB,QACpB,IAAO,CAAA;YACL,CAACG,YAAYkB,UAAU,CAAC,EAAEV,OAAOW,IAAI;YACrC,CAACnB,YAAYoB,sBAAsB,CAAC,EAAEX;QACxC,CAAA,GACA;QAACD,OAAOW,IAAI;QAAEV;KAAW;IAG3B,MAAM,EAAEY,IAAI,EAAE,GAAGpB,+BAA+BqB,OAAO,CAAC;QACtDL;QACAM,UAAUV,yBAAyBW,SAAS;IAC9C;IAEA,MAAMC,YAAYf,mBAAmBe,SAAS,KAAK9B,gBAAgB+B,YAAY;IAC/E,MAAMC,gBAAgBF,YAAYf,mBAAmBkB,SAAS,GAAGlB,mBAAmBmB,KAAK;IAEzF,MAAMC,wBAAwB,CAAC,CAC7BjB,CAAAA,yBAAyBkB,IAAI,EAAEC,QAAQC,UAAUpB,yBAAyBkB,IAAI,EAAEG,QAAQD,MAAK;IAG/F,MAAME,eAAe,OAAOC;QAC1B,IAAI;YACF,MAAMzB,oBAAoB0B,WAAW,CAAC;gBACpC,GAAGD,QAAQ;gBACXE,eAAe5B,mBAAmB6B,WAAW;gBAC7CC,YAAYf;YACd;QACF,EAAE,OAAOgB,GAAG;YACVrC,gBAAgBqC,GAAGpB;QACrB;IACF;IAEA,qBACE,MAACnB;QAA2B4B,uBAAuBA;QAAuBH,eAAeA;;0BACvF,KAACe;0BAAG;;0BACJ,KAACC;0BAAE;;0BAIH,KAAC5C;gBACCsB,MAAMA;gBACNuB,UAAUT;gBACVR,eAAeA;gBACfpB,WAAWA;;0BAEb,KAACJ;gBACCM,YAAYA;gBACZsB,MAAMlB,yBAAyBkB,IAAI;gBACnCc,WAAWhC,yBAAyBgC,SAAS;;;;AAIrD"}
@@ -1,55 +0,0 @@
1
- 'use client';
2
- import { toast, useLocale, useSelection } from '@payloadcms/ui';
3
- import { SelectAllStatus } from '@payloadcms/ui/providers/Selection';
4
- import { useEffect, useMemo } from 'react';
5
- import { TranslationsApi } from '../../../entities/translation';
6
- import { CollectionTranslationForm, FORM_FIELDS } from '../../../features/collection-translation-form';
7
- import { CollectionTranslationFormModel } from '../../../features/collection-translation-form/index.client';
8
- import CollectionTranslationPopup from '../../../features/collection-translation-popup';
9
- import { CollectionTranslationProgress } from '../../../features/collection-translation-progress';
10
- import { handleFormError } from '../../../shared/lib/forms/handle-form-error';
11
- import { useCollectionDashboardUrlParams } from '../../../shared/lib/payload/hooks/useCollectionDashboardUrlParams';
12
- export default function BulkTranslationDashboard({ hasDrafts }) {
13
- const locale = useLocale();
14
- const { collection } = useCollectionDashboardUrlParams();
15
- const documentsSelection = useSelection();
16
- const queueTranslationApi = TranslationsApi.useQueueDocumentTranslation();
17
- const collectionTranslationApi = TranslationsApi.useCollectionTranslationStatus({ collection });
18
- useEffect(() => {
19
- if (collectionTranslationApi.error) {
20
- toast.error(collectionTranslationApi.error.message);
21
- }
22
- }, [collectionTranslationApi.error]);
23
- const initialValues = useMemo(() => ({
24
- [FORM_FIELDS.SOURCE_LNG]: locale.code,
25
- [FORM_FIELDS.HIDDEN_COLLECTION_SLUG]: collection,
26
- }), [locale.code, collection]);
27
- const { form } = CollectionTranslationFormModel.useForm({
28
- initialValues,
29
- disabled: collectionTranslationApi.isLoading,
30
- });
31
- const selectAll = documentsSelection.selectAll === SelectAllStatus.AllAvailable;
32
- const selectedCount = selectAll ? documentsSelection.totalDocs : documentsSelection.count;
33
- const translationInProgress = !!(collectionTranslationApi.data?.pending.length || collectionTranslationApi.data?.running.length);
34
- const handleSubmit = async (formData) => {
35
- try {
36
- await queueTranslationApi.mutateAsync({
37
- ...formData,
38
- collection_id: documentsSelection.selectedIDs,
39
- select_all: selectAll,
40
- });
41
- }
42
- catch (e) {
43
- handleFormError(e, form);
44
- }
45
- };
46
- return (<CollectionTranslationPopup translationInProgress={translationInProgress} selectedCount={selectedCount}>
47
- <h3>Bulk Translation Dashboard</h3>
48
- <p>
49
- Translate multiple documents at once using AI. Select the records you want to translate on the collection
50
- dashboard, then configure your translation settings here.
51
- </p>
52
- <CollectionTranslationForm form={form} onSubmit={handleSubmit} selectedCount={selectedCount} hasDrafts={hasDrafts}/>
53
- <CollectionTranslationProgress collection={collection} data={collectionTranslationApi.data} isPending={collectionTranslationApi.isPending}/>
54
- </CollectionTranslationPopup>);
55
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"BulkTranslationDashboard.server.d.ts","sourceRoot":"","sources":["../../../../../src/client/widgets/bulk-translation-dashboard/ui/BulkTranslationDashboard.server.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,SAAS,CAAA;AAEzD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAKhE,KAAK,mCAAmC,GAAG,0BAA0B,GAAG;IACtE,MAAM,EAAE,WAAW,CAAA;CACpB,CAAA;AAED,QAAA,MAAM,8BAA8B,GAAU,OAAO,mCAAmC,gDAavF,CAAA;AAED,eAAe,8BAA8B,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/client/widgets/bulk-translation-dashboard/ui/BulkTranslationDashboard.server.tsx"],"sourcesContent":["import { headers as getHeaders } from 'next/headers'\nimport type { BeforeListTableServerProps } from 'payload'\n\nimport type { AccessGuard } from '../../../../types/AccessGuard'\nimport { collectionHasDrafts } from '../../../../server/shared/guards'\n\nimport BulkTranslationDashboard from './BulkTranslationDashboard'\n\ntype BulkTranslationDashboardServerProps = BeforeListTableServerProps & {\n access: AccessGuard\n}\n\nconst BulkTranslationDashboardServer = async (props: BulkTranslationDashboardServerProps) => {\n const headers = await getHeaders()\n const hasAccess = await props.access.check({\n req: { user: props.user, headers, payload: props.payload },\n })\n\n if (!hasAccess) return null\n if (!props.collectionSlug) return null\n\n const collection = props.payload.collections[props.collectionSlug]?.config\n const hasDrafts = collection ? collectionHasDrafts(collection) : false\n\n return <BulkTranslationDashboard hasDrafts={hasDrafts} />\n}\n\nexport default BulkTranslationDashboardServer\n"],"names":["headers","getHeaders","collectionHasDrafts","BulkTranslationDashboard","BulkTranslationDashboardServer","props","hasAccess","access","check","req","user","payload","collectionSlug","collection","collections","config","hasDrafts"],"mappings":";AAAA,SAASA,WAAWC,UAAU,QAAQ,eAAc;AAIpD,SAASC,mBAAmB,QAAQ,mCAAkC;AAEtE,OAAOC,8BAA8B,6BAA4B;AAMjE,MAAMC,iCAAiC,OAAOC;IAC5C,MAAML,UAAU,MAAMC;IACtB,MAAMK,YAAY,MAAMD,MAAME,MAAM,CAACC,KAAK,CAAC;QACzCC,KAAK;YAAEC,MAAML,MAAMK,IAAI;YAAEV;YAASW,SAASN,MAAMM,OAAO;QAAC;IAC3D;IAEA,IAAI,CAACL,WAAW,OAAO;IACvB,IAAI,CAACD,MAAMO,cAAc,EAAE,OAAO;IAElC,MAAMC,aAAaR,MAAMM,OAAO,CAACG,WAAW,CAACT,MAAMO,cAAc,CAAC,EAAEG;IACpE,MAAMC,YAAYH,aAAaX,oBAAoBW,cAAc;IAEjE,qBAAO,KAACV;QAAyBa,WAAWA;;AAC9C;AAEA,eAAeZ,+BAA8B"}
@@ -1,17 +0,0 @@
1
- import { headers as getHeaders } from 'next/headers';
2
- import { collectionHasDrafts } from '../../../../server/shared/guards';
3
- import BulkTranslationDashboard from './BulkTranslationDashboard';
4
- const BulkTranslationDashboardServer = async (props) => {
5
- const headers = await getHeaders();
6
- const hasAccess = await props.access.check({
7
- req: { user: props.user, headers, payload: props.payload },
8
- });
9
- if (!hasAccess)
10
- return null;
11
- if (!props.collectionSlug)
12
- return null;
13
- const collection = props.payload.collections[props.collectionSlug]?.config;
14
- const hasDrafts = collection ? collectionHasDrafts(collection) : false;
15
- return <BulkTranslationDashboard hasDrafts={hasDrafts}/>;
16
- };
17
- export default BulkTranslationDashboardServer;
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/client/widgets/bulk-translation-dashboard/ui/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/client/widgets/bulk-translation-dashboard/ui/index.ts"],"sourcesContent":["export { default } from './BulkTranslationDashboard'\n"],"names":["default"],"mappings":"AAAA,SAASA,OAAO,QAAQ,6BAA4B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/client/widgets/translate-document/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/client/widgets/translate-document/index.ts"],"sourcesContent":["export { TranslateDocumentExport } from './ui/TranslateDocument.export'\n"],"names":["TranslateDocumentExport"],"mappings":"AAAA,SAASA,uBAAuB,QAAQ,gCAA+B"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"TranslateDocument.d.ts","sourceRoot":"","sources":["../../../../../src/client/widgets/translate-document/ui/TranslateDocument.tsx"],"names":[],"mappings":"AAeA,KAAK,sBAAsB,GAAG;IAC5B,SAAS,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,QAAA,MAAM,iBAAiB,GAAI,eAAe,sBAAsB,gCA2D/D,CAAA;AAED,eAAe,iBAAiB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"TranslateDocument.export.d.ts","sourceRoot":"","sources":["../../../../../src/client/widgets/translate-document/ui/TranslateDocument.export.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAE/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAEhE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,8CAA8C,CAAA;AAG7F,qBAAa,uBAAwB,YAAW,yBAAyB;IAIrE,QAAQ,CAAC,UAAU,EAAE,gBAAgB;IACrC,QAAQ,CAAC,MAAM,EAAE,WAAW;IAJ9B,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,CAAA;gBAG3C,UAAU,EAAE,gBAAgB,EAC5B,MAAM,GAAE,WAAkC;IAIrD,IAAI,SAAoF;CACzF"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/client/widgets/translate-document/ui/TranslateDocument.export.ts"],"sourcesContent":["import type { CollectionConfig } from 'payload'\n\nimport type { AccessGuard } from '../../../../types/AccessGuard'\nimport { AnyAccessGuard } from '../../../../server/shared'\nimport type { RawPayloadComponentExport } from '../../../shared/types/PayloadComponentExport'\nimport { clientComponentPath } from '../../../shared/utils/componentPath'\n\nexport class TranslateDocumentExport implements RawPayloadComponentExport {\n serverProps?: object | Record<string, any> | undefined\n\n constructor(\n readonly collection: CollectionConfig,\n readonly access: AccessGuard = new AnyAccessGuard(),\n ) {\n this.serverProps = { collection, access }\n }\n path = clientComponentPath('widgets/translate-document/ui/TranslateDocument.server.tsx')\n}\n"],"names":["AnyAccessGuard","clientComponentPath","TranslateDocumentExport","serverProps","collection","access","path"],"mappings":"AAGA,SAASA,cAAc,QAAQ,4BAA2B;AAE1D,SAASC,mBAAmB,QAAQ,sCAAqC;AAEzE,OAAO,MAAMC;;;IACXC,YAAsD;IAEtD,YACE,AAASC,UAA4B,EACrC,AAASC,SAAsB,IAAIL,gBAAgB,CACnD;aAFSI,aAAAA;aACAC,SAAAA;QAET,IAAI,CAACF,WAAW,GAAG;YAAEC;YAAYC;QAAO;IAC1C;IACAC,OAAOL,oBAAoB,8DAA6D;AAC1F"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/client/widgets/translate-document/ui/TranslateDocument.tsx"],"sourcesContent":["'use client'\n\nimport { toast, useLocale } from '@payloadcms/ui'\nimport { useEffect, useMemo } from 'react'\n\nimport { CompletedTranslationStatus, TranslationsApi } from '../../../entities/translation'\nimport { OpenDocumentTranslationPopup } from '../../../features/open-document-translation-popup'\nimport { DocumentTranslationForm, FORM_FIELDS, type FormValues } from '../../../features/translate-document-form'\nimport { DocumentTranslationFormModel } from '../../../features/translate-document-form/index.client'\nimport { handleFormError } from '../../../shared/lib/forms/handle-form-error'\nimport { useCollectionDocumentUrlParams } from '../../../shared/lib/payload/hooks/useCollectionDocumentUrlParams'\nimport { DocumentTranslationProgressFailed } from '../../../features/document-translation-progress-failed'\nimport { DocumentTranslationProgressRunning } from '../../../features/document-translation-progress-running'\nimport { DocumentTranslationProgressPending } from '../../../features/document-translation-progress-pending'\n\ntype TranslateDocumentProps = {\n hasDrafts: boolean\n}\n\nconst TranslateDocument = ({ hasDrafts }: TranslateDocumentProps) => {\n const locale = useLocale()\n const params = useCollectionDocumentUrlParams()\n\n const queueTranslationApi = TranslationsApi.useQueueDocumentTranslation()\n const { data, error, isLoading } = TranslationsApi.useDocumentTranslation(params)\n\n useEffect(() => {\n if (error) {\n toast.error(error.message)\n }\n }, [error])\n\n const initialValues = useMemo(\n () => ({\n [FORM_FIELDS.SOURCE_LNG]: locale.code,\n [FORM_FIELDS.HIDDEN_COLLECTION_SLUG]: params.collection,\n [FORM_FIELDS.HIDDEN_COLLECTION_ID]: params.id,\n }),\n [locale.code, params.collection, params.id],\n )\n\n const { form } = DocumentTranslationFormModel.useForm({ initialValues })\n\n const handleSubmit = async (formData: FormValues, onSuccess?: () => void) => {\n try {\n await queueTranslationApi.mutateAsync({\n ...formData,\n collection_id: [formData[FORM_FIELDS.HIDDEN_COLLECTION_ID]],\n })\n onSuccess?.()\n } catch (e) {\n handleFormError(e, form)\n }\n }\n\n return (\n <>\n <OpenDocumentTranslationPopup isLoading={isLoading}>\n {({ close }) => (\n <>\n <h4>Document Translation</h4>\n <DocumentTranslationForm form={form} onSubmit={(data) => handleSubmit(data, close)} hasDrafts={hasDrafts} />\n </>\n )}\n </OpenDocumentTranslationPopup>\n\n {data?.status === 'completed' && (\n <CompletedTranslationStatus\n sourceLocale={data.input.source_lng}\n targetLocale={data.input.target_lng}\n completed_at={data.completed_at}\n />\n )}\n {data?.status === 'failed' && <DocumentTranslationProgressFailed data={data} />}\n {data?.status === 'running' && <DocumentTranslationProgressRunning data={data} />}\n {data?.status === 'pending' && <DocumentTranslationProgressPending data={data} />}\n </>\n )\n}\n\nexport default TranslateDocument\n"],"names":["toast","useLocale","useEffect","useMemo","CompletedTranslationStatus","TranslationsApi","OpenDocumentTranslationPopup","DocumentTranslationForm","FORM_FIELDS","DocumentTranslationFormModel","handleFormError","useCollectionDocumentUrlParams","DocumentTranslationProgressFailed","DocumentTranslationProgressRunning","DocumentTranslationProgressPending","TranslateDocument","hasDrafts","locale","params","queueTranslationApi","useQueueDocumentTranslation","data","error","isLoading","useDocumentTranslation","message","initialValues","SOURCE_LNG","code","HIDDEN_COLLECTION_SLUG","collection","HIDDEN_COLLECTION_ID","id","form","useForm","handleSubmit","formData","onSuccess","mutateAsync","collection_id","e","close","h4","onSubmit","status","sourceLocale","input","source_lng","targetLocale","target_lng","completed_at"],"mappings":"AAAA;;AAEA,SAASA,KAAK,EAAEC,SAAS,QAAQ,iBAAgB;AACjD,SAASC,SAAS,EAAEC,OAAO,QAAQ,QAAO;AAE1C,SAASC,0BAA0B,EAAEC,eAAe,QAAQ,gCAA+B;AAC3F,SAASC,4BAA4B,QAAQ,oDAAmD;AAChG,SAASC,uBAAuB,EAAEC,WAAW,QAAyB,4CAA2C;AACjH,SAASC,4BAA4B,QAAQ,yDAAwD;AACrG,SAASC,eAAe,QAAQ,8CAA6C;AAC7E,SAASC,8BAA8B,QAAQ,mEAAkE;AACjH,SAASC,iCAAiC,QAAQ,yDAAwD;AAC1G,SAASC,kCAAkC,QAAQ,0DAAyD;AAC5G,SAASC,kCAAkC,QAAQ,0DAAyD;AAM5G,MAAMC,oBAAoB,CAAC,EAAEC,SAAS,EAA0B;IAC9D,MAAMC,SAAShB;IACf,MAAMiB,SAASP;IAEf,MAAMQ,sBAAsBd,gBAAgBe,2BAA2B;IACvE,MAAM,EAAEC,IAAI,EAAEC,KAAK,EAAEC,SAAS,EAAE,GAAGlB,gBAAgBmB,sBAAsB,CAACN;IAE1EhB,UAAU;QACR,IAAIoB,OAAO;YACTtB,MAAMsB,KAAK,CAACA,MAAMG,OAAO;QAC3B;IACF,GAAG;QAACH;KAAM;IAEV,MAAMI,gBAAgBvB,QACpB,IAAO,CAAA;YACL,CAACK,YAAYmB,UAAU,CAAC,EAAEV,OAAOW,IAAI;YACrC,CAACpB,YAAYqB,sBAAsB,CAAC,EAAEX,OAAOY,UAAU;YACvD,CAACtB,YAAYuB,oBAAoB,CAAC,EAAEb,OAAOc,EAAE;QAC/C,CAAA,GACA;QAACf,OAAOW,IAAI;QAAEV,OAAOY,UAAU;QAAEZ,OAAOc,EAAE;KAAC;IAG7C,MAAM,EAAEC,IAAI,EAAE,GAAGxB,6BAA6ByB,OAAO,CAAC;QAAER;IAAc;IAEtE,MAAMS,eAAe,OAAOC,UAAsBC;QAChD,IAAI;YACF,MAAMlB,oBAAoBmB,WAAW,CAAC;gBACpC,GAAGF,QAAQ;gBACXG,eAAe;oBAACH,QAAQ,CAAC5B,YAAYuB,oBAAoB,CAAC;iBAAC;YAC7D;YACAM;QACF,EAAE,OAAOG,GAAG;YACV9B,gBAAgB8B,GAAGP;QACrB;IACF;IAEA,qBACE;;0BACE,KAAC3B;gBAA6BiB,WAAWA;0BACtC,CAAC,EAAEkB,KAAK,EAAE,iBACT;;0CACE,KAACC;0CAAG;;0CACJ,KAACnC;gCAAwB0B,MAAMA;gCAAMU,UAAU,CAACtB,OAASc,aAAad,MAAMoB;gCAAQzB,WAAWA;;;;;YAKpGK,MAAMuB,WAAW,6BAChB,KAACxC;gBACCyC,cAAcxB,KAAKyB,KAAK,CAACC,UAAU;gBACnCC,cAAc3B,KAAKyB,KAAK,CAACG,UAAU;gBACnCC,cAAc7B,KAAK6B,YAAY;;YAGlC7B,MAAMuB,WAAW,0BAAY,KAAChC;gBAAkCS,MAAMA;;YACtEA,MAAMuB,WAAW,2BAAa,KAAC/B;gBAAmCQ,MAAMA;;YACxEA,MAAMuB,WAAW,2BAAa,KAAC9B;gBAAmCO,MAAMA;;;;AAG/E;AAEA,eAAeN,kBAAiB"}
@@ -1,55 +0,0 @@
1
- 'use client';
2
- import { toast, useLocale } from '@payloadcms/ui';
3
- import { useEffect, useMemo } from 'react';
4
- import { CompletedTranslationStatus, TranslationsApi } from '../../../entities/translation';
5
- import { OpenDocumentTranslationPopup } from '../../../features/open-document-translation-popup';
6
- import { DocumentTranslationForm, FORM_FIELDS } from '../../../features/translate-document-form';
7
- import { DocumentTranslationFormModel } from '../../../features/translate-document-form/index.client';
8
- import { handleFormError } from '../../../shared/lib/forms/handle-form-error';
9
- import { useCollectionDocumentUrlParams } from '../../../shared/lib/payload/hooks/useCollectionDocumentUrlParams';
10
- import { DocumentTranslationProgressFailed } from '../../../features/document-translation-progress-failed';
11
- import { DocumentTranslationProgressRunning } from '../../../features/document-translation-progress-running';
12
- import { DocumentTranslationProgressPending } from '../../../features/document-translation-progress-pending';
13
- const TranslateDocument = ({ hasDrafts }) => {
14
- const locale = useLocale();
15
- const params = useCollectionDocumentUrlParams();
16
- const queueTranslationApi = TranslationsApi.useQueueDocumentTranslation();
17
- const { data, error, isLoading } = TranslationsApi.useDocumentTranslation(params);
18
- useEffect(() => {
19
- if (error) {
20
- toast.error(error.message);
21
- }
22
- }, [error]);
23
- const initialValues = useMemo(() => ({
24
- [FORM_FIELDS.SOURCE_LNG]: locale.code,
25
- [FORM_FIELDS.HIDDEN_COLLECTION_SLUG]: params.collection,
26
- [FORM_FIELDS.HIDDEN_COLLECTION_ID]: params.id,
27
- }), [locale.code, params.collection, params.id]);
28
- const { form } = DocumentTranslationFormModel.useForm({ initialValues });
29
- const handleSubmit = async (formData, onSuccess) => {
30
- try {
31
- await queueTranslationApi.mutateAsync({
32
- ...formData,
33
- collection_id: [formData[FORM_FIELDS.HIDDEN_COLLECTION_ID]],
34
- });
35
- onSuccess?.();
36
- }
37
- catch (e) {
38
- handleFormError(e, form);
39
- }
40
- };
41
- return (<>
42
- <OpenDocumentTranslationPopup isLoading={isLoading}>
43
- {({ close }) => (<>
44
- <h4>Document Translation</h4>
45
- <DocumentTranslationForm form={form} onSubmit={(data) => handleSubmit(data, close)} hasDrafts={hasDrafts}/>
46
- </>)}
47
- </OpenDocumentTranslationPopup>
48
-
49
- {data?.status === 'completed' && (<CompletedTranslationStatus sourceLocale={data.input.source_lng} targetLocale={data.input.target_lng} completed_at={data.completed_at}/>)}
50
- {data?.status === 'failed' && <DocumentTranslationProgressFailed data={data}/>}
51
- {data?.status === 'running' && <DocumentTranslationProgressRunning data={data}/>}
52
- {data?.status === 'pending' && <DocumentTranslationProgressPending data={data}/>}
53
- </>);
54
- };
55
- export default TranslateDocument;
@@ -1 +0,0 @@
1
- {"version":3,"file":"TranslateDocument.server.d.ts","sourceRoot":"","sources":["../../../../../src/client/widgets/translate-document/ui/TranslateDocument.server.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iCAAiC,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAElF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAA;AAKhE,KAAK,4BAA4B,GAAG,iCAAiC,GAAG;IACtE,UAAU,EAAE,gBAAgB,CAAA;IAC5B,MAAM,EAAE,WAAW,CAAA;CACpB,CAAA;AAED,iBAAe,uBAAuB,CAAC,KAAK,EAAE,4BAA4B,+CAYzE;AAED,eAAe,uBAAuB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/client/widgets/translate-document/ui/TranslateDocument.server.tsx"],"sourcesContent":["import { headers as getHeaders } from 'next/headers'\nimport type { BeforeDocumentControlsServerProps, CollectionConfig } from 'payload'\n\nimport type { AccessGuard } from '../../../../types/AccessGuard'\nimport { collectionHasDrafts } from '../../../../server/shared/guards'\n\nimport TranslateDocument from './TranslateDocument'\n\ntype TranslateDocumentServerProps = BeforeDocumentControlsServerProps & {\n collection: CollectionConfig\n access: AccessGuard\n}\n\nasync function TranslateDocumentServer(props: TranslateDocumentServerProps) {\n const headers = await getHeaders()\n const hasAccess = await props.access.check({\n req: { user: props.user, headers, payload: props.payload },\n })\n\n if (!hasAccess) return null\n if (!props.id) return null\n\n const hasDrafts = collectionHasDrafts(props.collection)\n\n return <TranslateDocument hasDrafts={hasDrafts} />\n}\n\nexport default TranslateDocumentServer\n"],"names":["headers","getHeaders","collectionHasDrafts","TranslateDocument","TranslateDocumentServer","props","hasAccess","access","check","req","user","payload","id","hasDrafts","collection"],"mappings":";AAAA,SAASA,WAAWC,UAAU,QAAQ,eAAc;AAIpD,SAASC,mBAAmB,QAAQ,mCAAkC;AAEtE,OAAOC,uBAAuB,sBAAqB;AAOnD,eAAeC,wBAAwBC,KAAmC;IACxE,MAAML,UAAU,MAAMC;IACtB,MAAMK,YAAY,MAAMD,MAAME,MAAM,CAACC,KAAK,CAAC;QACzCC,KAAK;YAAEC,MAAML,MAAMK,IAAI;YAAEV;YAASW,SAASN,MAAMM,OAAO;QAAC;IAC3D;IAEA,IAAI,CAACL,WAAW,OAAO;IACvB,IAAI,CAACD,MAAMO,EAAE,EAAE,OAAO;IAEtB,MAAMC,YAAYX,oBAAoBG,MAAMS,UAAU;IAEtD,qBAAO,KAACX;QAAkBU,WAAWA;;AACvC;AAEA,eAAeT,wBAAuB"}
@@ -1,16 +0,0 @@
1
- import { headers as getHeaders } from 'next/headers';
2
- import { collectionHasDrafts } from '../../../../server/shared/guards';
3
- import TranslateDocument from './TranslateDocument';
4
- async function TranslateDocumentServer(props) {
5
- const headers = await getHeaders();
6
- const hasAccess = await props.access.check({
7
- req: { user: props.user, headers, payload: props.payload },
8
- });
9
- if (!hasAccess)
10
- return null;
11
- if (!props.id)
12
- return null;
13
- const hasDrafts = collectionHasDrafts(props.collection);
14
- return <TranslateDocument hasDrafts={hasDrafts}/>;
15
- }
16
- export default TranslateDocumentServer;
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/client/widgets/translate-document/ui/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../../src/client/widgets/translate-document/ui/index.ts"],"sourcesContent":["export { default } from './TranslateDocument'\n"],"names":["default"],"mappings":"AAAA,SAASA,OAAO,QAAQ,sBAAqB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"field-config.d.ts","sourceRoot":"","sources":["../src/field-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAEpC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAA;AAG1E,YAAY,EAAE,sBAAsB,EAAE,CAAA;AAEtC;;GAEG;AACH,YAAY,EAAE,sBAAsB,IAAI,uBAAuB,EAAE,CAAA;AAEjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,KAAK,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,sBAAsB,GAAG,CAAC,CAQjG;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,6BAAuB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/field-config.ts"],"sourcesContent":["import type { Field } from 'payload'\n\nimport type { FieldTranslationConfig } from './server/shared/field-config'\nimport { TRANSLATE_KIT_CUSTOM_KEY } from './server/shared/field-config'\n\nexport type { FieldTranslationConfig }\n\n/**\n * @deprecated Use `FieldTranslationConfig` instead\n */\nexport type { FieldTranslationConfig as TranslateKitFieldConfig }\n\n/**\n * Apply translation configuration to a Payload field.\n *\n * Use this helper to configure how fields should be handled during translation.\n *\n * @param field - The Payload field to configure\n * @param config - Translation configuration options\n * @returns The field with translation configuration applied\n *\n * @example\n * ```ts\n * import { withFieldTranslation } from '@focus-reactive/payload-plugin-translator'\n *\n * // Exclude a field from translation\n * withFieldTranslation(\n * { name: 'sku', type: 'text', localized: true },\n * { exclude: true }\n * )\n * ```\n *\n * @example\n * ```ts\n * // In a collection definition\n * const Products: CollectionConfig = {\n * slug: 'products',\n * fields: [\n * { name: 'title', type: 'text', localized: true },\n * withFieldTranslation(\n * { name: 'sku', type: 'text', localized: true },\n * { exclude: true }\n * ),\n * ],\n * }\n * ```\n */\nexport function withFieldTranslation<T extends Field>(field: T, config: FieldTranslationConfig): T {\n return {\n ...field,\n custom: {\n ...(field.custom ?? {}),\n [TRANSLATE_KIT_CUSTOM_KEY]: config,\n },\n }\n}\n\n/**\n * @deprecated Use `withFieldTranslation` instead\n */\nexport const translateKitField = withFieldTranslation\n"],"names":["TRANSLATE_KIT_CUSTOM_KEY","withFieldTranslation","field","config","custom","translateKitField"],"mappings":"AAGA,SAASA,wBAAwB,QAAQ,+BAA8B;AASvE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkCC,GACD,OAAO,SAASC,qBAAsCC,KAAQ,EAAEC,MAA8B;IAC5F,OAAO;QACL,GAAGD,KAAK;QACRE,QAAQ;YACN,GAAIF,MAAME,MAAM,IAAI,CAAC,CAAC;YACtB,CAACJ,yBAAyB,EAAEG;QAC9B;IACF;AACF;AAEA;;CAEC,GACD,OAAO,MAAME,oBAAoBJ,qBAAoB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAC3C,YAAY,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AAGtD,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAA;AAG1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAA;AAC7E,YAAY,EACV,mBAAmB,EACnB,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,YAAY,GACb,MAAM,wCAAwC,CAAA;AAG/C,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AACxF,YAAY,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAA;AAGhG,OAAO,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AACrD,YAAY,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AAG5D,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAA;AAC3E,YAAY,EAAE,+BAA+B,EAAE,MAAM,UAAU,CAAA;AAC/D,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAA;AAClF,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AAClD,YAAY,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAA"}
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["// Main plugin\nexport { translatorPlugin } from './plugin'\nexport type { TranslatorPluginConfig } from './plugin'\n\n// Access control\nexport type { AccessGuard, AccessGuardRequest } from './types/AccessGuard'\n\n// Translation providers\nexport { createOpenAIProvider } from './server/modules/translation-providers'\nexport type {\n TranslationProvider,\n TranslationInput,\n TranslationOutput,\n OpenAIProviderConfig,\n DryRunConfig,\n} from './server/modules/translation-providers'\n\n// Task runners\nexport { createPayloadJobsRunner, createSyncRunner } from './server/modules/task-runner'\nexport type { TaskRunnerProvider, PayloadJobsRunnerOptions } from './server/modules/task-runner'\n\n// Field config\nexport { withFieldTranslation } from './field-config'\nexport type { FieldTranslationConfig } from './field-config'\n\n// Deprecated exports (for backwards compatibility)\nexport { createTranslatePlugin, TranslateCollectionPlugin } from './plugin'\nexport type { TranslateCollectionPluginConfig } from './plugin'\nexport { OpenAITranslationProvider } from './server/modules/translation-providers'\nexport { translateKitField } from './field-config'\nexport type { TranslateKitFieldConfig } from './field-config'\n"],"names":["translatorPlugin","createOpenAIProvider","createPayloadJobsRunner","createSyncRunner","withFieldTranslation","createTranslatePlugin","TranslateCollectionPlugin","OpenAITranslationProvider","translateKitField"],"mappings":"AAAA,cAAc;AACd,SAASA,gBAAgB,QAAQ,WAAU;AAM3C,wBAAwB;AACxB,SAASC,oBAAoB,QAAQ,yCAAwC;AAS7E,eAAe;AACf,SAASC,uBAAuB,EAAEC,gBAAgB,QAAQ,+BAA8B;AAGxF,eAAe;AACf,SAASC,oBAAoB,QAAQ,iBAAgB;AAGrD,mDAAmD;AACnD,SAASC,qBAAqB,EAAEC,yBAAyB,QAAQ,WAAU;AAE3E,SAASC,yBAAyB,QAAQ,yCAAwC;AAClF,SAASC,iBAAiB,QAAQ,iBAAgB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAKvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wCAAwC,CAAA;AACjF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AAUtE,MAAM,MAAM,sBAAsB,GAAG;IACnC;;;;OAIG;IACH,WAAW,EAAE,gBAAgB,EAAE,CAAA;IAC/B;;;OAGG;IACH,mBAAmB,EAAE,mBAAmB,CAAA;IACxC;;;OAGG;IACH,MAAM,EAAE,kBAAkB,CAAA;IAC1B;;;;OAIG;IACH,MAAM,CAAC,EAAE,WAAW,CAAA;IACpB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,CAAA;AAED,uDAAuD;AACvD,MAAM,MAAM,+BAA+B,GAAG,sBAAsB,CAAA;AAEpE,0DAA0D;AAC1D,qBAAa,yBAAyB;IACxB,OAAO,CAAC,QAAQ,CAAC,YAAY;gBAAZ,YAAY,EAAE,sBAAsB;IAEjE,IAAI,IAAI,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC;CAqF5C;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,sBAAsB,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAEpG;AAED,iDAAiD;AACjD,eAAO,MAAM,qBAAqB,yBAAmB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/plugin.ts"],"sourcesContent":["import type { CollectionConfig, Config } from 'payload'\n\nimport { CacheProviderExport } from './client/app/cache/CacheProvider.export'\nimport { BulkDocumentTranslationDashboard } from './client/widgets/bulk-translation-dashboard/ui/BulkTranslationDashboard.export'\nimport { TranslateDocumentExport } from './client/widgets/translate-document'\nimport type { AccessGuard } from './types/AccessGuard'\nimport type { TranslationProvider } from './server/modules/translation-providers'\nimport type { TaskRunnerProvider } from './server/modules/task-runner'\nimport { TranslateDocumentHandler } from './server/features/translate-document'\nimport { createEnqueueRoute } from './server/features/enqueue-translation'\nimport { createRunRoute } from './server/features/run-translation'\nimport { createCancelRoute } from './server/features/cancel'\nimport { createCancelByCollectionRoute } from './server/features/cancel-by-collection'\nimport { createGetDocumentStatusRoute } from './server/features/get-document-status'\nimport { createGetCollectionStatusRoute } from './server/features/get-collection-status'\nimport { normalizePath, pipe } from './server/shared'\n\nexport type TranslatorPluginConfig = {\n /**\n * Original collection configs (same objects passed to buildConfig).\n * IMPORTANT: Must be the original collection objects, NOT sanitized configs from payload.collections.\n * Original schemas preserve `localized: true` on nested fields.\n */\n collections: CollectionConfig[]\n /**\n * Translation provider implementation (e.g., OpenAI, DeepL).\n * Handles the actual text translation.\n */\n translationProvider: TranslationProvider\n /**\n * Task runner backend for background task execution.\n * Use createPayloadJobsRunner() for Payload Jobs integration.\n */\n runner: TaskRunnerProvider\n /**\n * Access guard for translation endpoints.\n * Controls who can trigger translations via API.\n * @default undefined (no access restrictions)\n */\n access?: AccessGuard\n /**\n * Base path for all translation API endpoints.\n * Useful to avoid conflicts with existing routes.\n * @example '/my-translate' results in '/my-translate/enqueue', '/my-translate/run/:id', etc.\n * @default '/translate'\n */\n basePath?: string\n}\n\n/** @deprecated Use `TranslatorPluginConfig` instead */\nexport type TranslateCollectionPluginConfig = TranslatorPluginConfig\n\n/** @deprecated Use `translatorPlugin` function instead */\nexport class TranslateCollectionPlugin {\n constructor(private readonly pluginConfig: TranslatorPluginConfig) {}\n\n init(): (config: Config) => Promise<Config> {\n return async (config) => {\n const { access, translationProvider, basePath: rawBasePath = '/translate' } = this.pluginConfig\n\n // Build schema map from deep-cloned collections\n // Deep clone is required because Payload mutates the original collection objects,\n // removing `localized: true` from nested fields during sanitization\n const schemaMap = new Map(this.pluginConfig.collections.map((col) => [col.slug, structuredClone(col.fields)]))\n const collectionSlugs = new Set(schemaMap.keys())\n const basePath = normalizePath(rawBasePath)\n const translateHandler = new TranslateDocumentHandler(translationProvider, schemaMap)\n\n // Configure runner with handler callback\n const runnerConfigModifier = this.pluginConfig.runner.configure({\n handler: async (payload, input) => {\n await translateHandler.handle(payload, {\n collection: input.collection,\n collectionId: input.collectionId,\n sourceLng: input.sourceLng,\n targetLng: input.targetLng,\n strategy: input.strategy,\n publishOnTranslation: input.publishOnTranslation,\n })\n },\n collections: Array.from(collectionSlugs),\n })\n\n return pipe<Config>(\n // 1. Set up UI component provider import\n (cfg) => {\n if (!cfg.admin) cfg.admin = {}\n if (!cfg.admin.components) cfg.admin.components = {}\n if (!cfg.admin.components.providers) cfg.admin.components.providers = []\n\n cfg.admin.components.providers.push(new CacheProviderExport(basePath))\n return cfg\n },\n\n // 2. Set up UI component import\n (cfg) => {\n cfg.collections?.forEach((collection) => {\n if (!collectionSlugs.has(collection.slug)) {\n return\n }\n\n if (!collection.admin) collection.admin = {}\n if (!collection.admin.components) collection.admin.components = {}\n if (!collection.admin.components.edit) collection.admin.components.edit = {}\n if (!collection.admin.components.edit.beforeDocumentControls) {\n collection.admin.components.edit.beforeDocumentControls = []\n }\n if (!collection.admin.components.beforeListTable) {\n collection.admin.components.beforeListTable = []\n }\n\n collection.admin.components.edit.beforeDocumentControls.push(\n new TranslateDocumentExport(collection, access),\n )\n collection.admin.components.beforeListTable.push(new BulkDocumentTranslationDashboard(access))\n })\n return cfg\n },\n\n // 3. Runner configures jobs/tasks/autorun\n runnerConfigModifier,\n\n // 4. Add global endpoints\n (cfg) => {\n if (!cfg.endpoints) cfg.endpoints = []\n const collectionConfig = { availableCollections: collectionSlugs }\n cfg.endpoints.push(\n ...[\n createEnqueueRoute(this.pluginConfig.runner, collectionConfig, access, basePath),\n createRunRoute(this.pluginConfig.runner, access, basePath),\n createCancelRoute(this.pluginConfig.runner, access, basePath),\n createCancelByCollectionRoute(collectionConfig, this.pluginConfig.runner, access, basePath),\n createGetDocumentStatusRoute(collectionConfig, this.pluginConfig.runner, access, basePath),\n createGetCollectionStatusRoute(collectionConfig, this.pluginConfig.runner, access, basePath),\n ],\n )\n return cfg\n },\n )(config)\n }\n }\n}\n\n/**\n * Creates a translation plugin for Payload CMS collections.\n *\n * @example\n * ```ts\n * export default buildConfig({\n * plugins: [\n * translatorPlugin({\n * collections: [Posts, Pages],\n * translationProvider: createOpenAIProvider({ apiKey: process.env.OPENAI_API_KEY }),\n * runner: createPayloadJobsRunner(),\n * }),\n * ],\n * })\n * ```\n */\nexport function translatorPlugin(config: TranslatorPluginConfig): (config: Config) => Promise<Config> {\n return new TranslateCollectionPlugin(config).init()\n}\n\n/** @deprecated Use `translatorPlugin` instead */\nexport const createTranslatePlugin = translatorPlugin\n"],"names":["CacheProviderExport","BulkDocumentTranslationDashboard","TranslateDocumentExport","TranslateDocumentHandler","createEnqueueRoute","createRunRoute","createCancelRoute","createCancelByCollectionRoute","createGetDocumentStatusRoute","createGetCollectionStatusRoute","normalizePath","pipe","TranslateCollectionPlugin","pluginConfig","init","config","access","translationProvider","basePath","rawBasePath","schemaMap","Map","collections","map","col","slug","structuredClone","fields","collectionSlugs","Set","keys","translateHandler","runnerConfigModifier","runner","configure","handler","payload","input","handle","collection","collectionId","sourceLng","targetLng","strategy","publishOnTranslation","Array","from","cfg","admin","components","providers","push","forEach","has","edit","beforeDocumentControls","beforeListTable","endpoints","collectionConfig","availableCollections","translatorPlugin","createTranslatePlugin"],"mappings":"AAEA,SAASA,mBAAmB,QAAQ,0CAAyC;AAC7E,SAASC,gCAAgC,QAAQ,iFAAgF;AACjI,SAASC,uBAAuB,QAAQ,sCAAqC;AAI7E,SAASC,wBAAwB,QAAQ,uCAAsC;AAC/E,SAASC,kBAAkB,QAAQ,wCAAuC;AAC1E,SAASC,cAAc,QAAQ,oCAAmC;AAClE,SAASC,iBAAiB,QAAQ,2BAA0B;AAC5D,SAASC,6BAA6B,QAAQ,yCAAwC;AACtF,SAASC,4BAA4B,QAAQ,wCAAuC;AACpF,SAASC,8BAA8B,QAAQ,0CAAyC;AACxF,SAASC,aAAa,EAAEC,IAAI,QAAQ,kBAAiB;AAqCrD,wDAAwD,GACxD,OAAO,MAAMC;;IACX,YAAY,AAAiBC,YAAoC,CAAE;aAAtCA,eAAAA;IAAuC;IAEpEC,OAA4C;QAC1C,OAAO,OAAOC;YACZ,MAAM,EAAEC,MAAM,EAAEC,mBAAmB,EAAEC,UAAUC,cAAc,YAAY,EAAE,GAAG,IAAI,CAACN,YAAY;YAE/F,gDAAgD;YAChD,kFAAkF;YAClF,oEAAoE;YACpE,MAAMO,YAAY,IAAIC,IAAI,IAAI,CAACR,YAAY,CAACS,WAAW,CAACC,GAAG,CAAC,CAACC,MAAQ;oBAACA,IAAIC,IAAI;oBAAEC,gBAAgBF,IAAIG,MAAM;iBAAE;YAC5G,MAAMC,kBAAkB,IAAIC,IAAIT,UAAUU,IAAI;YAC9C,MAAMZ,WAAWR,cAAcS;YAC/B,MAAMY,mBAAmB,IAAI5B,yBAAyBc,qBAAqBG;YAE3E,yCAAyC;YACzC,MAAMY,uBAAuB,IAAI,CAACnB,YAAY,CAACoB,MAAM,CAACC,SAAS,CAAC;gBAC9DC,SAAS,OAAOC,SAASC;oBACvB,MAAMN,iBAAiBO,MAAM,CAACF,SAAS;wBACrCG,YAAYF,MAAME,UAAU;wBAC5BC,cAAcH,MAAMG,YAAY;wBAChCC,WAAWJ,MAAMI,SAAS;wBAC1BC,WAAWL,MAAMK,SAAS;wBAC1BC,UAAUN,MAAMM,QAAQ;wBACxBC,sBAAsBP,MAAMO,oBAAoB;oBAClD;gBACF;gBACAtB,aAAauB,MAAMC,IAAI,CAAClB;YAC1B;YAEA,OAAOjB,KACL,yCAAyC;YACzC,CAACoC;gBACC,IAAI,CAACA,IAAIC,KAAK,EAAED,IAAIC,KAAK,GAAG,CAAC;gBAC7B,IAAI,CAACD,IAAIC,KAAK,CAACC,UAAU,EAAEF,IAAIC,KAAK,CAACC,UAAU,GAAG,CAAC;gBACnD,IAAI,CAACF,IAAIC,KAAK,CAACC,UAAU,CAACC,SAAS,EAAEH,IAAIC,KAAK,CAACC,UAAU,CAACC,SAAS,GAAG,EAAE;gBAExEH,IAAIC,KAAK,CAACC,UAAU,CAACC,SAAS,CAACC,IAAI,CAAC,IAAInD,oBAAoBkB;gBAC5D,OAAO6B;YACT,GAEA,gCAAgC;YAChC,CAACA;gBACCA,IAAIzB,WAAW,EAAE8B,QAAQ,CAACb;oBACxB,IAAI,CAACX,gBAAgByB,GAAG,CAACd,WAAWd,IAAI,GAAG;wBACzC;oBACF;oBAEA,IAAI,CAACc,WAAWS,KAAK,EAAET,WAAWS,KAAK,GAAG,CAAC;oBAC3C,IAAI,CAACT,WAAWS,KAAK,CAACC,UAAU,EAAEV,WAAWS,KAAK,CAACC,UAAU,GAAG,CAAC;oBACjE,IAAI,CAACV,WAAWS,KAAK,CAACC,UAAU,CAACK,IAAI,EAAEf,WAAWS,KAAK,CAACC,UAAU,CAACK,IAAI,GAAG,CAAC;oBAC3E,IAAI,CAACf,WAAWS,KAAK,CAACC,UAAU,CAACK,IAAI,CAACC,sBAAsB,EAAE;wBAC5DhB,WAAWS,KAAK,CAACC,UAAU,CAACK,IAAI,CAACC,sBAAsB,GAAG,EAAE;oBAC9D;oBACA,IAAI,CAAChB,WAAWS,KAAK,CAACC,UAAU,CAACO,eAAe,EAAE;wBAChDjB,WAAWS,KAAK,CAACC,UAAU,CAACO,eAAe,GAAG,EAAE;oBAClD;oBAEAjB,WAAWS,KAAK,CAACC,UAAU,CAACK,IAAI,CAACC,sBAAsB,CAACJ,IAAI,CAC1D,IAAIjD,wBAAwBqC,YAAYvB;oBAE1CuB,WAAWS,KAAK,CAACC,UAAU,CAACO,eAAe,CAACL,IAAI,CAAC,IAAIlD,iCAAiCe;gBACxF;gBACA,OAAO+B;YACT,GAEA,0CAA0C;YAC1Cf,sBAEA,0BAA0B;YAC1B,CAACe;gBACC,IAAI,CAACA,IAAIU,SAAS,EAAEV,IAAIU,SAAS,GAAG,EAAE;gBACtC,MAAMC,mBAAmB;oBAAEC,sBAAsB/B;gBAAgB;gBACjEmB,IAAIU,SAAS,CAACN,IAAI,IACb;oBACD/C,mBAAmB,IAAI,CAACS,YAAY,CAACoB,MAAM,EAAEyB,kBAAkB1C,QAAQE;oBACvEb,eAAe,IAAI,CAACQ,YAAY,CAACoB,MAAM,EAAEjB,QAAQE;oBACjDZ,kBAAkB,IAAI,CAACO,YAAY,CAACoB,MAAM,EAAEjB,QAAQE;oBACpDX,8BAA8BmD,kBAAkB,IAAI,CAAC7C,YAAY,CAACoB,MAAM,EAAEjB,QAAQE;oBAClFV,6BAA6BkD,kBAAkB,IAAI,CAAC7C,YAAY,CAACoB,MAAM,EAAEjB,QAAQE;oBACjFT,+BAA+BiD,kBAAkB,IAAI,CAAC7C,YAAY,CAACoB,MAAM,EAAEjB,QAAQE;iBACpF;gBAEH,OAAO6B;YACT,GACAhC;QACJ;IACF;AACF;AAEA;;;;;;;;;;;;;;;CAeC,GACD,OAAO,SAAS6C,iBAAiB7C,MAA8B;IAC7D,OAAO,IAAIH,0BAA0BG,QAAQD,IAAI;AACnD;AAEA,+CAA+C,GAC/C,OAAO,MAAM+C,wBAAwBD,iBAAgB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"collection-utils.d.ts","sourceRoot":"","sources":["../../../../src/server/features/_lib/collection-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAEtD;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,cAAc,EAAE,MAAM,EACtB,oBAAoB,EAAE,GAAG,CAAC,cAAc,CAAC,GACxC,cAAc,GAAG,IAAI,CAEvB;AAED;;GAEG;AACH,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAQ7G"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/server/features/_lib/collection-utils.ts"],"sourcesContent":["import type { CollectionSlug, Payload } from 'payload'\n\n/**\n * Checks if collection is available for translation\n */\nexport function isCollectionAvailable(\n collectionSlug: string,\n availableCollections: Set<CollectionSlug>,\n): CollectionSlug | null {\n return availableCollections.has(collectionSlug) ? collectionSlug : null\n}\n\n/**\n * Gets all document IDs from a collection (for select_all option)\n */\nexport async function getAllCollectionIds(payload: Payload, collectionSlug: CollectionSlug): Promise<string[]> {\n const result = await payload.find({\n collection: collectionSlug,\n pagination: false,\n depth: 0,\n select: { id: true },\n })\n return result.docs.map((doc) => String(doc.id))\n}\n"],"names":["isCollectionAvailable","collectionSlug","availableCollections","has","getAllCollectionIds","payload","result","find","collection","pagination","depth","select","id","docs","map","doc","String"],"mappings":"AAEA;;CAEC,GACD,OAAO,SAASA,sBACdC,cAAsB,EACtBC,oBAAyC;IAEzC,OAAOA,qBAAqBC,GAAG,CAACF,kBAAkBA,iBAAiB;AACrE;AAEA;;CAEC,GACD,OAAO,eAAeG,oBAAoBC,OAAgB,EAAEJ,cAA8B;IACxF,MAAMK,SAAS,MAAMD,QAAQE,IAAI,CAAC;QAChCC,YAAYP;QACZQ,YAAY;QACZC,OAAO;QACPC,QAAQ;YAAEC,IAAI;QAAK;IACrB;IACA,OAAON,OAAOO,IAAI,CAACC,GAAG,CAAC,CAACC,MAAQC,OAAOD,IAAIH,EAAE;AAC/C"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/features/_lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/server/features/_lib/index.ts"],"sourcesContent":["export * from './collection-utils'\n"],"names":[],"mappings":"AAAA,cAAc,qBAAoB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../src/server/features/cancel/handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAG7C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAInE;;GAEG;AACH,qBAAa,aAAa;IACZ,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBAAjB,iBAAiB,EAAE,kBAAkB;IAE5D,MAAM,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC;CAUrD"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/server/features/cancel/handler.ts"],"sourcesContent":["import type { PayloadRequest } from 'payload'\n\nimport { ServerResponse } from '../../shared'\nimport type { TaskRunnerProvider } from '../../modules/task-runner'\n\nimport { CancelInputSchema } from './model'\n\n/**\n * Cancels and deletes translation tasks by IDs\n */\nexport class CancelHandler {\n constructor(private readonly taskRunnerFactory: TaskRunnerProvider) {}\n\n async handle(req: PayloadRequest): Promise<Response> {\n const validationResult = CancelInputSchema.safeParse(await req.json?.())\n if (validationResult.error) return ServerResponse.validationError(validationResult.error.errors)\n\n const { ids } = validationResult.data\n const runner = this.taskRunnerFactory.create(req.payload)\n await runner.cancel(ids)\n\n return ServerResponse.noContent()\n }\n}\n"],"names":["ServerResponse","CancelInputSchema","CancelHandler","taskRunnerFactory","handle","req","validationResult","safeParse","json","error","validationError","errors","ids","data","runner","create","payload","cancel","noContent"],"mappings":"AAEA,SAASA,cAAc,QAAQ,eAAc;AAG7C,SAASC,iBAAiB,QAAQ,UAAS;AAE3C;;CAEC,GACD,OAAO,MAAMC;;IACX,YAAY,AAAiBC,iBAAqC,CAAE;aAAvCA,oBAAAA;IAAwC;IAErE,MAAMC,OAAOC,GAAmB,EAAqB;QACnD,MAAMC,mBAAmBL,kBAAkBM,SAAS,CAAC,MAAMF,IAAIG,IAAI;QACnE,IAAIF,iBAAiBG,KAAK,EAAE,OAAOT,eAAeU,eAAe,CAACJ,iBAAiBG,KAAK,CAACE,MAAM;QAE/F,MAAM,EAAEC,GAAG,EAAE,GAAGN,iBAAiBO,IAAI;QACrC,MAAMC,SAAS,IAAI,CAACX,iBAAiB,CAACY,MAAM,CAACV,IAAIW,OAAO;QACxD,MAAMF,OAAOG,MAAM,CAACL;QAEpB,OAAOZ,eAAekB,SAAS;IACjC;AACF"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=handler.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handler.test.d.ts","sourceRoot":"","sources":["../../../../src/server/features/cancel/handler.test.ts"],"names":[],"mappings":""}
@@ -1,63 +0,0 @@
1
- import { describe, it, expect, vi, beforeEach } from 'vitest';
2
- import { CancelHandler } from './handler';
3
- describe('CancelHandler', () => {
4
- let handler;
5
- let mockTaskRunner;
6
- let mockTaskRunnerFactory;
7
- const createMockRequest = (body) => ({
8
- payload: {},
9
- json: vi.fn().mockResolvedValue(body),
10
- });
11
- beforeEach(() => {
12
- mockTaskRunner = {
13
- enqueue: vi.fn(),
14
- cancel: vi.fn().mockResolvedValue(undefined),
15
- run: vi.fn(),
16
- findByCollection: vi.fn(),
17
- };
18
- mockTaskRunnerFactory = {
19
- create: vi.fn().mockReturnValue(mockTaskRunner),
20
- configure: vi.fn(),
21
- };
22
- handler = new CancelHandler(mockTaskRunnerFactory);
23
- });
24
- describe('validation', () => {
25
- it('returns validation error for missing ids', async () => {
26
- const req = createMockRequest({});
27
- const response = await handler.handle(req);
28
- expect(response.status).toBe(400);
29
- const body = await response.json();
30
- expect(body.message).toBe('Validation error');
31
- });
32
- it('returns validation error for non-array ids', async () => {
33
- const req = createMockRequest({ ids: 'not-an-array' });
34
- const response = await handler.handle(req);
35
- expect(response.status).toBe(400);
36
- });
37
- it('returns validation error for empty ids array', async () => {
38
- const req = createMockRequest({ ids: [] });
39
- const response = await handler.handle(req);
40
- expect(response.status).toBe(400);
41
- });
42
- });
43
- describe('success responses', () => {
44
- it('cancels tasks and returns 204', async () => {
45
- const req = createMockRequest({ ids: ['task-1', 'task-2'] });
46
- const response = await handler.handle(req);
47
- expect(response.status).toBe(204);
48
- expect(response.body).toBeNull();
49
- });
50
- it('calls runner.cancel with provided ids', async () => {
51
- const req = createMockRequest({ ids: ['task-1', 'task-2', 'task-3'] });
52
- await handler.handle(req);
53
- expect(mockTaskRunner.cancel).toHaveBeenCalledWith(['task-1', 'task-2', 'task-3']);
54
- });
55
- it('creates task runner with request payload', async () => {
56
- const mockPayload = { collections: {} };
57
- const req = createMockRequest({ ids: ['task-1'] });
58
- req.payload = mockPayload;
59
- await handler.handle(req);
60
- expect(mockTaskRunnerFactory.create).toHaveBeenCalledWith(mockPayload);
61
- });
62
- });
63
- });
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/server/features/cancel/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/server/features/cancel/index.ts"],"sourcesContent":["export { createCancelRoute } from './route'\n"],"names":["createCancelRoute"],"mappings":"AAAA,SAASA,iBAAiB,QAAQ,UAAS"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"model.d.ts","sourceRoot":"","sources":["../../../../src/server/features/cancel/model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;EAE5B,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/server/features/cancel/model.ts"],"sourcesContent":["import { z } from 'zod'\n\n/**\n * Input validation schema for batch cancel\n */\nexport const CancelInputSchema = z.object({\n ids: z.array(z.string().nonempty()).min(1),\n})\n"],"names":["z","CancelInputSchema","object","ids","array","string","nonempty","min"],"mappings":"AAAA,SAASA,CAAC,QAAQ,MAAK;AAEvB;;CAEC,GACD,OAAO,MAAMC,oBAAoBD,EAAEE,MAAM,CAAC;IACxCC,KAAKH,EAAEI,KAAK,CAACJ,EAAEK,MAAM,GAAGC,QAAQ,IAAIC,GAAG,CAAC;AAC1C,GAAE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"route.d.ts","sourceRoot":"","sources":["../../../../src/server/features/cancel/route.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAGvC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAInE;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,iBAAiB,EAAE,kBAAkB,EACrC,MAAM,CAAC,EAAE,WAAW,EACpB,QAAQ,SAAe,GACtB,QAAQ,CAQV"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/server/features/cancel/route.ts"],"sourcesContent":["import type { Endpoint } from 'payload'\n\nimport { withErrorHandler, withAccessCheck } from '../../shared'\nimport type { AccessGuard } from '../../shared'\nimport type { TaskRunnerProvider } from '../../modules/task-runner'\n\nimport { CancelHandler } from './handler'\n\n/**\n * Creates the batch cancel endpoint\n */\nexport function createCancelRoute(\n taskRunnerFactory: TaskRunnerProvider,\n access?: AccessGuard,\n basePath = '/translate',\n): Endpoint {\n const handler = new CancelHandler(taskRunnerFactory)\n\n return {\n path: `${basePath}/cancel`,\n method: 'delete',\n handler: withAccessCheck(withErrorHandler(handler.handle.bind(handler)), access),\n }\n}\n"],"names":["withErrorHandler","withAccessCheck","CancelHandler","createCancelRoute","taskRunnerFactory","access","basePath","handler","path","method","handle","bind"],"mappings":"AAEA,SAASA,gBAAgB,EAAEC,eAAe,QAAQ,eAAc;AAIhE,SAASC,aAAa,QAAQ,YAAW;AAEzC;;CAEC,GACD,OAAO,SAASC,kBACdC,iBAAqC,EACrCC,MAAoB,EACpBC,WAAW,YAAY;IAEvB,MAAMC,UAAU,IAAIL,cAAcE;IAElC,OAAO;QACLI,MAAM,GAAGF,SAAS,OAAO,CAAC;QAC1BG,QAAQ;QACRF,SAASN,gBAAgBD,iBAAiBO,QAAQG,MAAM,CAACC,IAAI,CAACJ,WAAWF;IAC3E;AACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../../../src/server/features/cancel-by-collection/handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAG7C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAGnE,OAAO,EAAiC,KAAK,YAAY,EAAE,MAAM,SAAS,CAAA;AAE1E;;GAEG;AACH,qBAAa,yBAAyB;IAElC,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;gBADjB,MAAM,EAAE,YAAY,EACpB,iBAAiB,EAAE,kBAAkB;IAGlD,MAAM,CAAC,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC;CAqBrD"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/server/features/cancel-by-collection/handler.ts"],"sourcesContent":["import type { PayloadRequest } from 'payload'\n\nimport { ServerResponse } from '../../shared'\nimport type { TaskRunnerProvider } from '../../modules/task-runner'\nimport { isCollectionAvailable } from '../_lib/collection-utils'\n\nimport { CancelByCollectionInputSchema, type CancelConfig } from './model'\n\n/**\n * Cancels all pending translation tasks for a collection\n */\nexport class CancelByCollectionHandler {\n constructor(\n private readonly config: CancelConfig,\n private readonly taskRunnerFactory: TaskRunnerProvider,\n ) {}\n\n async handle(req: PayloadRequest): Promise<Response> {\n const validationResult = CancelByCollectionInputSchema.safeParse(req.routeParams)\n if (validationResult.error) return ServerResponse.validationError(validationResult.error.errors)\n\n const collectionSlug = isCollectionAvailable(\n validationResult.data.collection_slug,\n this.config.availableCollections,\n )\n if (!collectionSlug) return ServerResponse.badRequest('Collection not available for translation')\n\n const runner = this.taskRunnerFactory.create(req.payload)\n const tasks = await runner.findByCollection(collectionSlug)\n if (tasks.length === 0) return ServerResponse.noContent()\n\n const pendingTaskIds = tasks.filter((task) => task.status === 'pending').map((task) => task.id)\n if (pendingTaskIds.length === 0) return ServerResponse.noContent()\n\n await runner.cancel(pendingTaskIds)\n\n return ServerResponse.noContent()\n }\n}\n"],"names":["ServerResponse","isCollectionAvailable","CancelByCollectionInputSchema","CancelByCollectionHandler","config","taskRunnerFactory","handle","req","validationResult","safeParse","routeParams","error","validationError","errors","collectionSlug","data","collection_slug","availableCollections","badRequest","runner","create","payload","tasks","findByCollection","length","noContent","pendingTaskIds","filter","task","status","map","id","cancel"],"mappings":"AAEA,SAASA,cAAc,QAAQ,eAAc;AAE7C,SAASC,qBAAqB,QAAQ,2BAA0B;AAEhE,SAASC,6BAA6B,QAA2B,UAAS;AAE1E;;CAEC,GACD,OAAO,MAAMC;;;IACX,YACE,AAAiBC,MAAoB,EACrC,AAAiBC,iBAAqC,CACtD;aAFiBD,SAAAA;aACAC,oBAAAA;IAChB;IAEH,MAAMC,OAAOC,GAAmB,EAAqB;QACnD,MAAMC,mBAAmBN,8BAA8BO,SAAS,CAACF,IAAIG,WAAW;QAChF,IAAIF,iBAAiBG,KAAK,EAAE,OAAOX,eAAeY,eAAe,CAACJ,iBAAiBG,KAAK,CAACE,MAAM;QAE/F,MAAMC,iBAAiBb,sBACrBO,iBAAiBO,IAAI,CAACC,eAAe,EACrC,IAAI,CAACZ,MAAM,CAACa,oBAAoB;QAElC,IAAI,CAACH,gBAAgB,OAAOd,eAAekB,UAAU,CAAC;QAEtD,MAAMC,SAAS,IAAI,CAACd,iBAAiB,CAACe,MAAM,CAACb,IAAIc,OAAO;QACxD,MAAMC,QAAQ,MAAMH,OAAOI,gBAAgB,CAACT;QAC5C,IAAIQ,MAAME,MAAM,KAAK,GAAG,OAAOxB,eAAeyB,SAAS;QAEvD,MAAMC,iBAAiBJ,MAAMK,MAAM,CAAC,CAACC,OAASA,KAAKC,MAAM,KAAK,WAAWC,GAAG,CAAC,CAACF,OAASA,KAAKG,EAAE;QAC9F,IAAIL,eAAeF,MAAM,KAAK,GAAG,OAAOxB,eAAeyB,SAAS;QAEhE,MAAMN,OAAOa,MAAM,CAACN;QAEpB,OAAO1B,eAAeyB,SAAS;IACjC;AACF"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=handler.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handler.test.d.ts","sourceRoot":"","sources":["../../../../src/server/features/cancel-by-collection/handler.test.ts"],"names":[],"mappings":""}