@focus-reactive/payload-plugin-translator 0.1.4 → 0.1.5

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 (279) hide show
  1. package/README.md +6 -3
  2. package/dist/client/app/cache/CacheProvider.d.ts +1 -2
  3. package/dist/client/app/cache/CacheProvider.export.d.ts +0 -1
  4. package/dist/client/app/config/TranslateKitConfigContext.d.ts +1 -2
  5. package/dist/client/app/config/index.d.ts +0 -1
  6. package/dist/client/entities/translation/api/mutations/useCancelCollectionTranslations.d.ts +0 -1
  7. package/dist/client/entities/translation/api/mutations/useCancelDocumentTranslation.d.ts +0 -1
  8. package/dist/client/entities/translation/api/mutations/useQueueDocumentTranslation.d.ts +0 -1
  9. package/dist/client/entities/translation/api/mutations/useQueueDocumentTranslations.d.ts +0 -1
  10. package/dist/client/entities/translation/api/mutations/useRunDocumentTranslation.d.ts +0 -1
  11. package/dist/client/entities/translation/api/queries/useCollectionTranslationStatus.d.ts +7 -72
  12. package/dist/client/entities/translation/api/queries/useDocumentTranslation.d.ts +7 -72
  13. package/dist/client/entities/translation/index.d.ts +0 -1
  14. package/dist/client/entities/translation/model/enums.d.ts +0 -1
  15. package/dist/client/entities/translation/model/enums.js +3 -3
  16. package/dist/client/entities/translation/model/types.d.ts +0 -1
  17. package/dist/client/entities/translation/ui/CompletedTranslationStatus/CompletedTranslationStatus.d.ts +1 -2
  18. package/dist/client/entities/translation/ui/CompletedTranslationStatus/index.d.ts +0 -1
  19. package/dist/client/entities/translation/ui/FailedTranslationStatus/FailedTranslationStatus.d.ts +1 -2
  20. package/dist/client/entities/translation/ui/FailedTranslationStatus/index.d.ts +0 -1
  21. package/dist/client/entities/translation/ui/PendingTranslationStatus/PendingTranslationStatus.d.ts +1 -2
  22. package/dist/client/entities/translation/ui/PendingTranslationStatus/index.d.ts +0 -1
  23. package/dist/client/entities/translation/ui/RunningTranslationStatus/RunningTranslationStatus.d.ts +1 -2
  24. package/dist/client/entities/translation/ui/RunningTranslationStatus/index.d.ts +0 -1
  25. package/dist/client/entities/translation/ui/TranslationDirection/TranslationDirection.d.ts +1 -2
  26. package/dist/client/entities/translation/ui/TranslationDirection/index.d.ts +0 -1
  27. package/dist/client/features/collection-translation-form/index.client.d.ts +0 -1
  28. package/dist/client/features/collection-translation-form/index.d.ts +0 -1
  29. package/dist/client/features/collection-translation-form/model/constants.d.ts +0 -1
  30. package/dist/client/features/collection-translation-form/model/form-model.d.ts +0 -1
  31. package/dist/client/features/collection-translation-form/model/index.d.ts +0 -1
  32. package/dist/client/features/collection-translation-form/model/schema.d.ts +0 -1
  33. package/dist/client/features/collection-translation-form/ui/CollectionTranslationForm.d.ts +1 -2
  34. package/dist/client/features/collection-translation-form/ui/index.d.ts +0 -1
  35. package/dist/client/features/collection-translation-popup/index.d.ts +0 -1
  36. package/dist/client/features/collection-translation-popup/ui/CollectionTranslationPopup.d.ts +1 -2
  37. package/dist/client/features/collection-translation-progress/index.d.ts +0 -1
  38. package/dist/client/features/collection-translation-progress/ui/CollectionTranslationProgress.d.ts +1 -2
  39. package/dist/client/features/document-translation-progress-failed/index.d.ts +0 -1
  40. package/dist/client/features/document-translation-progress-failed/ui/DocumentTranslationProgressFailed.d.ts +1 -2
  41. package/dist/client/features/document-translation-progress-pending/index.d.ts +0 -1
  42. package/dist/client/features/document-translation-progress-pending/ui/DocumentTranslationProgressPending.d.ts +1 -2
  43. package/dist/client/features/document-translation-progress-running/index.d.ts +0 -1
  44. package/dist/client/features/document-translation-progress-running/ui/DocumentTranslationProgressRunning.d.ts +1 -2
  45. package/dist/client/features/open-document-translation-popup/index.d.ts +0 -1
  46. package/dist/client/features/open-document-translation-popup/ui/OpenDocumentTranslationPopup.d.ts +1 -2
  47. package/dist/client/features/translate-document-form/index.client.d.ts +0 -1
  48. package/dist/client/features/translate-document-form/index.d.ts +0 -1
  49. package/dist/client/features/translate-document-form/model/constants.d.ts +0 -1
  50. package/dist/client/features/translate-document-form/model/form-model.d.ts +0 -1
  51. package/dist/client/features/translate-document-form/model/index.d.ts +0 -1
  52. package/dist/client/features/translate-document-form/model/schema.d.ts +0 -1
  53. package/dist/client/features/translate-document-form/ui/DocumentTranslationForm.d.ts +1 -2
  54. package/dist/client/features/translate-document-form/ui/index.d.ts +0 -1
  55. package/dist/client/shared/lib/assets/icons/LanguageTranslateIcon.d.ts +1 -2
  56. package/dist/client/shared/lib/assets/icons/QuestionCircleIcon.d.ts +1 -2
  57. package/dist/client/shared/lib/assets/icons/ReloadIcon.d.ts +1 -2
  58. package/dist/client/shared/lib/errors/handleApiError.d.ts +0 -1
  59. package/dist/client/shared/lib/errors/handleApiError.js +3 -1
  60. package/dist/client/shared/lib/forms/handle-form-error.d.ts +0 -1
  61. package/dist/client/shared/lib/payload/hooks/useCollectionDashboardUrlParams.d.ts +0 -1
  62. package/dist/client/shared/lib/payload/hooks/useCollectionDocumentUrlParams.d.ts +0 -1
  63. package/dist/client/shared/lib/payload/hooks/useLocaleOptions.d.ts +0 -1
  64. package/dist/client/shared/lib/utils/errors/handleApiError.d.ts +0 -1
  65. package/dist/client/shared/lib/utils/errors/handleApiError.js +3 -1
  66. package/dist/client/shared/lib/utils/react/useToggle.d.ts +0 -1
  67. package/dist/client/shared/providers/CacheClientProvider/CacheClientProvider.factory.d.ts +0 -1
  68. package/dist/client/shared/providers/CacheClientProvider/index.d.ts +0 -1
  69. package/dist/client/shared/types/AccessGuard.d.ts +0 -1
  70. package/dist/client/shared/types/PayloadComponentExport.d.ts +0 -1
  71. package/dist/client/shared/ui/Alert/Alert.d.ts +0 -1
  72. package/dist/client/shared/ui/Alert/index.d.ts +0 -1
  73. package/dist/client/shared/ui/Button/Button.d.ts +0 -1
  74. package/dist/client/shared/ui/Button/index.d.ts +0 -1
  75. package/dist/client/shared/ui/Checkbox/Checkbox.d.ts +0 -1
  76. package/dist/client/shared/ui/Checkbox/index.d.ts +0 -1
  77. package/dist/client/shared/ui/ColorIndicator/ColorIndicator.d.ts +1 -2
  78. package/dist/client/shared/ui/ColorIndicator/index.d.ts +0 -1
  79. package/dist/client/shared/ui/Description/Description.d.ts +1 -2
  80. package/dist/client/shared/ui/Description/index.d.ts +0 -1
  81. package/dist/client/shared/ui/Divider/Divider.d.ts +0 -1
  82. package/dist/client/shared/ui/Divider/index.d.ts +0 -1
  83. package/dist/client/shared/ui/Label/Label.d.ts +0 -1
  84. package/dist/client/shared/ui/Label/index.d.ts +0 -1
  85. package/dist/client/shared/ui/Loading/Loading.d.ts +1 -2
  86. package/dist/client/shared/ui/Loading/index.d.ts +0 -1
  87. package/dist/client/shared/ui/Popup/Popup.d.ts +1 -2
  88. package/dist/client/shared/ui/Popup/index.d.ts +0 -1
  89. package/dist/client/shared/ui/ProgressBar/ProgressBar.d.ts +1 -2
  90. package/dist/client/shared/ui/ProgressBar/index.d.ts +0 -1
  91. package/dist/client/shared/ui/Select/Select.d.ts +2 -3
  92. package/dist/client/shared/ui/Select/index.d.ts +0 -1
  93. package/dist/client/shared/ui/StatusCounter/StatusCounter.d.ts +1 -2
  94. package/dist/client/shared/ui/StatusCounter/index.d.ts +0 -1
  95. package/dist/client/shared/ui/StatusIndicator/StatusIndicator.d.ts +1 -2
  96. package/dist/client/shared/ui/StatusIndicator/index.d.ts +0 -1
  97. package/dist/client/shared/ui/Tooltip/Tooltip.d.ts +1 -2
  98. package/dist/client/shared/ui/Tooltip/index.d.ts +0 -1
  99. package/dist/client/shared/ui/form/FormCheckbox/FormCheckbox.d.ts +1 -2
  100. package/dist/client/shared/ui/form/FormCheckbox/index.d.ts +0 -1
  101. package/dist/client/shared/ui/form/FormCheckboxPublish/FormCheckboxPublish.d.ts +1 -2
  102. package/dist/client/shared/ui/form/FormCheckboxPublish/index.d.ts +0 -1
  103. package/dist/client/shared/ui/form/FormSelect/FormSelect.d.ts +1 -2
  104. package/dist/client/shared/ui/form/FormSelect/index.d.ts +0 -1
  105. package/dist/client/shared/ui/form/FormSelectLocale/FormSelectLocale.d.ts +1 -2
  106. package/dist/client/shared/ui/form/FormSelectLocale/index.d.ts +0 -1
  107. package/dist/client/shared/ui/form/FormSelectStrategy/FormSelectStrategy.d.ts +1 -2
  108. package/dist/client/shared/ui/form/FormSelectStrategy/index.d.ts +0 -1
  109. package/dist/client/shared/utils/componentPath.d.ts +0 -1
  110. package/dist/client/widgets/bulk-translation-dashboard/index.d.ts +0 -1
  111. package/dist/client/widgets/bulk-translation-dashboard/ui/BulkTranslationDashboard.d.ts +1 -2
  112. package/dist/client/widgets/bulk-translation-dashboard/ui/BulkTranslationDashboard.export.d.ts +0 -1
  113. package/dist/client/widgets/bulk-translation-dashboard/ui/BulkTranslationDashboard.export.js +2 -1
  114. package/dist/client/widgets/bulk-translation-dashboard/ui/BulkTranslationDashboard.server.d.ts +1 -2
  115. package/dist/client/widgets/bulk-translation-dashboard/ui/index.d.ts +0 -1
  116. package/dist/client/widgets/translate-document/index.d.ts +0 -1
  117. package/dist/client/widgets/translate-document/ui/TranslateDocument.d.ts +1 -2
  118. package/dist/client/widgets/translate-document/ui/TranslateDocument.export.d.ts +0 -1
  119. package/dist/client/widgets/translate-document/ui/TranslateDocument.export.js +2 -1
  120. package/dist/client/widgets/translate-document/ui/TranslateDocument.server.d.ts +1 -2
  121. package/dist/client/widgets/translate-document/ui/index.d.ts +0 -1
  122. package/dist/field-config.d.ts +0 -1
  123. package/dist/index.d.ts +0 -1
  124. package/dist/plugin.d.ts +0 -1
  125. package/dist/server/features/_lib/collection-utils.d.ts +0 -1
  126. package/dist/server/features/_lib/index.d.ts +0 -1
  127. package/dist/server/features/cancel/handler.d.ts +0 -1
  128. package/dist/server/features/cancel/index.d.ts +0 -1
  129. package/dist/server/features/cancel/model.d.ts +0 -1
  130. package/dist/server/features/cancel/route.d.ts +0 -1
  131. package/dist/server/features/cancel-by-collection/handler.d.ts +0 -1
  132. package/dist/server/features/cancel-by-collection/index.d.ts +0 -1
  133. package/dist/server/features/cancel-by-collection/model.d.ts +0 -1
  134. package/dist/server/features/cancel-by-collection/route.d.ts +0 -1
  135. package/dist/server/features/enqueue-translation/handler.d.ts +0 -1
  136. package/dist/server/features/enqueue-translation/index.d.ts +0 -1
  137. package/dist/server/features/enqueue-translation/model.d.ts +0 -1
  138. package/dist/server/features/enqueue-translation/route.d.ts +0 -1
  139. package/dist/server/features/get-collection-status/handler.d.ts +0 -1
  140. package/dist/server/features/get-collection-status/index.d.ts +0 -1
  141. package/dist/server/features/get-collection-status/model.d.ts +0 -1
  142. package/dist/server/features/get-collection-status/route.d.ts +0 -1
  143. package/dist/server/features/get-document-status/handler.d.ts +0 -1
  144. package/dist/server/features/get-document-status/index.d.ts +0 -1
  145. package/dist/server/features/get-document-status/model.d.ts +0 -1
  146. package/dist/server/features/get-document-status/route.d.ts +0 -1
  147. package/dist/server/features/index.d.ts +0 -1
  148. package/dist/server/features/run-translation/handler.d.ts +0 -1
  149. package/dist/server/features/run-translation/index.d.ts +0 -1
  150. package/dist/server/features/run-translation/model.d.ts +0 -1
  151. package/dist/server/features/run-translation/route.d.ts +0 -1
  152. package/dist/server/features/translate-document/handler.d.ts +0 -1
  153. package/dist/server/features/translate-document/index.d.ts +0 -1
  154. package/dist/server/features/translate-document/model.d.ts +0 -1
  155. package/dist/server/features/translate-document/task.d.ts +0 -1
  156. package/dist/server/index.d.ts +0 -1
  157. package/dist/server/modules/index.d.ts +0 -1
  158. package/dist/server/modules/task-runner/TaskRunner.interface.d.ts +0 -1
  159. package/dist/server/modules/task-runner/TaskRunnerProvider.interface.d.ts +3 -4
  160. package/dist/server/modules/task-runner/index.d.ts +0 -1
  161. package/dist/server/modules/task-runner/payload-jobs-runner/PayloadJobsRunnerProvider.d.ts +1 -2
  162. package/dist/server/modules/task-runner/payload-jobs-runner/PayloadJobsTaskRunner.d.ts +0 -1
  163. package/dist/server/modules/task-runner/payload-jobs-runner/index.d.ts +0 -1
  164. package/dist/server/modules/task-runner/payload-jobs-runner/normalizeJob.d.ts +0 -1
  165. package/dist/server/modules/task-runner/payload-jobs-runner/types.d.ts +0 -1
  166. package/dist/server/modules/task-runner/sync-runner/SyncRunnerProvider.d.ts +0 -1
  167. package/dist/server/modules/task-runner/sync-runner/SyncTaskRunner.d.ts +0 -1
  168. package/dist/server/modules/task-runner/sync-runner/index.d.ts +0 -1
  169. package/dist/server/modules/task-runner/sync-runner/types.d.ts +0 -1
  170. package/dist/server/modules/task-runner/types.d.ts +0 -1
  171. package/dist/server/modules/translation-pipeline/TranslationPipeline.d.ts +0 -1
  172. package/dist/server/modules/translation-pipeline/index.d.ts +0 -1
  173. package/dist/server/modules/translation-pipeline/stages/data-reconciler/DataReconciler.d.ts +0 -1
  174. package/dist/server/modules/translation-pipeline/stages/data-reconciler/DataReconciler.stage.d.ts +0 -1
  175. package/dist/server/modules/translation-pipeline/stages/data-reconciler/index.d.ts +0 -1
  176. package/dist/server/modules/translation-pipeline/stages/field-collector/FieldChunkCollector.d.ts +0 -1
  177. package/dist/server/modules/translation-pipeline/stages/field-collector/FieldChunkCollector.js +2 -1
  178. package/dist/server/modules/translation-pipeline/stages/field-collector/FieldChunkCollector.stage.d.ts +0 -1
  179. package/dist/server/modules/translation-pipeline/stages/field-collector/index.d.ts +0 -1
  180. package/dist/server/modules/translation-pipeline/stages/index.d.ts +0 -1
  181. package/dist/server/modules/translation-pipeline/stages/text-expander/PlainTextExpander.d.ts +0 -1
  182. package/dist/server/modules/translation-pipeline/stages/text-expander/RichTextExpander.d.ts +0 -1
  183. package/dist/server/modules/translation-pipeline/stages/text-expander/TextChunkExpander.d.ts +0 -1
  184. package/dist/server/modules/translation-pipeline/stages/text-expander/TextChunkExpander.stage.d.ts +0 -1
  185. package/dist/server/modules/translation-pipeline/stages/text-expander/TextExpander.interface.d.ts +0 -1
  186. package/dist/server/modules/translation-pipeline/stages/text-expander/index.d.ts +0 -1
  187. package/dist/server/modules/translation-pipeline/stages/translation/Translation.stage.d.ts +0 -1
  188. package/dist/server/modules/translation-pipeline/stages/translation/index.d.ts +0 -1
  189. package/dist/server/modules/translation-pipeline/stages/translation-applicator/TranslationMutator.d.ts +0 -1
  190. package/dist/server/modules/translation-pipeline/stages/translation-applicator/TranslationMutator.stage.d.ts +0 -1
  191. package/dist/server/modules/translation-pipeline/stages/translation-applicator/index.d.ts +0 -1
  192. package/dist/server/modules/translation-pipeline/strategies/Overwrite.strategy.d.ts +0 -1
  193. package/dist/server/modules/translation-pipeline/strategies/SkipExisting.strategy.d.ts +0 -1
  194. package/dist/server/modules/translation-pipeline/strategies/TranslationStrategy.interface.d.ts +0 -1
  195. package/dist/server/modules/translation-pipeline/strategies/index.d.ts +0 -1
  196. package/dist/server/modules/translation-pipeline/types/FieldChunk.d.ts +0 -1
  197. package/dist/server/modules/translation-pipeline/types/Pipeline.d.ts +0 -1
  198. package/dist/server/modules/translation-pipeline/types/PipelineContext.d.ts +0 -1
  199. package/dist/server/modules/translation-pipeline/types/TextChunk.d.ts +0 -1
  200. package/dist/server/modules/translation-pipeline/types/index.d.ts +0 -1
  201. package/dist/server/modules/translation-providers/OpenAITranslation.provider.d.ts +1 -2
  202. package/dist/server/modules/translation-providers/TranslationProvider.interface.d.ts +0 -1
  203. package/dist/server/modules/translation-providers/index.d.ts +0 -1
  204. package/dist/server/shared/access/AnyAccessGuard.d.ts +0 -1
  205. package/dist/server/shared/access/handler.d.ts +1 -2
  206. package/dist/server/shared/access/index.d.ts +0 -1
  207. package/dist/server/shared/access/types.d.ts +0 -1
  208. package/dist/server/shared/field-config/getFieldConfig.d.ts +0 -1
  209. package/dist/server/shared/field-config/index.d.ts +0 -1
  210. package/dist/server/shared/field-config/types.d.ts +0 -1
  211. package/dist/server/shared/guards/collection-guards.d.ts +0 -1
  212. package/dist/server/shared/guards/field-guards.d.ts +0 -1
  213. package/dist/server/shared/guards/index.d.ts +0 -1
  214. package/dist/server/shared/http/ServerResponse.d.ts +0 -1
  215. package/dist/server/shared/http/index.d.ts +0 -1
  216. package/dist/server/shared/http/withAccessCheck.d.ts +0 -1
  217. package/dist/server/shared/http/withErrorHandler.d.ts +0 -1
  218. package/dist/server/shared/index.d.ts +0 -1
  219. package/dist/server/shared/lexical/collectTextNodes.d.ts +0 -1
  220. package/dist/server/shared/lexical/guards.d.ts +0 -1
  221. package/dist/server/shared/lexical/index.d.ts +0 -1
  222. package/dist/server/shared/lexical/isEmptyRichText.d.ts +0 -1
  223. package/dist/server/shared/lexical/traverseLexicalTree.d.ts +0 -1
  224. package/dist/server/shared/lexical/types.d.ts +0 -1
  225. package/dist/server/shared/utils/LazyMap.d.ts +0 -1
  226. package/dist/server/shared/utils/filterLocalizedFields.d.ts +0 -1
  227. package/dist/server/shared/utils/getByPath.d.ts +0 -1
  228. package/dist/server/shared/utils/index.d.ts +0 -1
  229. package/dist/server/shared/utils/isEmpty.d.ts +0 -1
  230. package/dist/server/shared/utils/isObject.d.ts +0 -1
  231. package/dist/server/shared/utils/normalizePath.d.ts +0 -1
  232. package/dist/server/shared/utils/pipe.d.ts +0 -1
  233. package/dist/server/shared/utils/setByPath.d.ts +0 -1
  234. package/dist/types/AccessGuard.d.ts +0 -1
  235. package/dist/types/index.d.ts +0 -1
  236. package/package.json +33 -32
  237. package/dist/client/app/cache/CacheProvider.jsx +0 -11
  238. package/dist/client/app/config/TranslateKitConfigContext.jsx +0 -13
  239. package/dist/client/entities/translation/ui/CompletedTranslationStatus/CompletedTranslationStatus.jsx +0 -25
  240. package/dist/client/entities/translation/ui/FailedTranslationStatus/FailedTranslationStatus.jsx +0 -24
  241. package/dist/client/entities/translation/ui/PendingTranslationStatus/PendingTranslationStatus.jsx +0 -38
  242. package/dist/client/entities/translation/ui/RunningTranslationStatus/RunningTranslationStatus.jsx +0 -32
  243. package/dist/client/entities/translation/ui/TranslationDirection/TranslationDirection.jsx +0 -16
  244. package/dist/client/features/collection-translation-form/ui/CollectionTranslationForm.jsx +0 -25
  245. package/dist/client/features/collection-translation-popup/ui/CollectionTranslationPopup.jsx +0 -23
  246. package/dist/client/features/collection-translation-progress/ui/CollectionTranslationProgress.jsx +0 -47
  247. package/dist/client/features/document-translation-progress-failed/ui/DocumentTranslationProgressFailed.jsx +0 -19
  248. package/dist/client/features/document-translation-progress-pending/ui/DocumentTranslationProgressPending.jsx +0 -34
  249. package/dist/client/features/document-translation-progress-running/ui/DocumentTranslationProgressRunning.jsx +0 -19
  250. package/dist/client/features/open-document-translation-popup/ui/OpenDocumentTranslationPopup.jsx +0 -15
  251. package/dist/client/features/translate-document-form/ui/DocumentTranslationForm.jsx +0 -24
  252. package/dist/client/shared/lib/assets/icons/LanguageTranslateIcon.jsx +0 -4
  253. package/dist/client/shared/lib/assets/icons/QuestionCircleIcon.jsx +0 -3
  254. package/dist/client/shared/lib/assets/icons/ReloadIcon.jsx +0 -3
  255. package/dist/client/shared/ui/Alert/Alert.jsx +0 -33
  256. package/dist/client/shared/ui/Button/Button.jsx +0 -35
  257. package/dist/client/shared/ui/Checkbox/Checkbox.jsx +0 -6
  258. package/dist/client/shared/ui/ColorIndicator/ColorIndicator.jsx +0 -7
  259. package/dist/client/shared/ui/Description/Description.jsx +0 -7
  260. package/dist/client/shared/ui/Divider/Divider.jsx +0 -7
  261. package/dist/client/shared/ui/Label/Label.jsx +0 -9
  262. package/dist/client/shared/ui/Loading/Loading.jsx +0 -11
  263. package/dist/client/shared/ui/Popup/Popup.jsx +0 -13
  264. package/dist/client/shared/ui/ProgressBar/ProgressBar.jsx +0 -11
  265. package/dist/client/shared/ui/Select/Select.jsx +0 -41
  266. package/dist/client/shared/ui/StatusCounter/StatusCounter.jsx +0 -26
  267. package/dist/client/shared/ui/StatusIndicator/StatusIndicator.jsx +0 -10
  268. package/dist/client/shared/ui/Tooltip/Tooltip.jsx +0 -16
  269. package/dist/client/shared/ui/form/FormCheckbox/FormCheckbox.jsx +0 -24
  270. package/dist/client/shared/ui/form/FormCheckboxPublish/FormCheckboxPublish.jsx +0 -21
  271. package/dist/client/shared/ui/form/FormSelect/FormSelect.jsx +0 -44
  272. package/dist/client/shared/ui/form/FormSelectLocale/FormSelectLocale.jsx +0 -6
  273. package/dist/client/shared/ui/form/FormSelectStrategy/FormSelectStrategy.jsx +0 -25
  274. package/dist/client/widgets/bulk-translation-dashboard/ui/BulkTranslationDashboard.export.jsx +0 -11
  275. package/dist/client/widgets/bulk-translation-dashboard/ui/BulkTranslationDashboard.jsx +0 -55
  276. package/dist/client/widgets/bulk-translation-dashboard/ui/BulkTranslationDashboard.server.jsx +0 -17
  277. package/dist/client/widgets/translate-document/ui/TranslateDocument.jsx +0 -55
  278. package/dist/client/widgets/translate-document/ui/TranslateDocument.server.jsx +0 -16
  279. package/dist/vitest-env.d.js +0 -3
@@ -7,4 +7,3 @@ export { pipe } from './pipe';
7
7
  export { filterLocalizedFields } from './filterLocalizedFields';
8
8
  export { LazyMap } from './LazyMap';
9
9
  export type { LazyMapOptions } from './LazyMap';
10
- //# sourceMappingURL=index.d.ts.map
@@ -6,4 +6,3 @@
6
6
  * Use composition with type-specific checks (e.g., isEmptyRichText) for those.
7
7
  */
8
8
  export declare function isEmpty(value: unknown): boolean;
9
- //# sourceMappingURL=isEmpty.d.ts.map
@@ -2,4 +2,3 @@
2
2
  * Type guard: Checks if value is a non-null object.
3
3
  */
4
4
  export declare function isObject(value: unknown): value is Record<string, unknown>;
5
- //# sourceMappingURL=isObject.d.ts.map
@@ -13,4 +13,3 @@
13
13
  * normalizePath(' ') // ''
14
14
  */
15
15
  export declare function normalizePath(path: string): string;
16
- //# sourceMappingURL=normalizePath.d.ts.map
@@ -2,4 +2,3 @@
2
2
  * Composes functions left-to-right, passing the result of each to the next.
3
3
  */
4
4
  export declare const pipe: <T>(...fns: Array<(x: T) => T>) => (x: T) => T;
5
- //# sourceMappingURL=pipe.d.ts.map
@@ -8,4 +8,3 @@
8
8
  * setByPath(obj, 'arr.0.x', 1) // { arr: [{ x: 1 }] }
9
9
  */
10
10
  export declare function setByPath(obj: Record<string, unknown>, path: string, value: unknown): void;
11
- //# sourceMappingURL=setByPath.d.ts.map
@@ -9,4 +9,3 @@ export interface AccessGuard {
9
9
  req: R;
10
10
  }): Promise<boolean> | boolean;
11
11
  }
12
- //# sourceMappingURL=AccessGuard.d.ts.map
@@ -1,2 +1 @@
1
1
  export type { AccessGuard, AccessGuardRequest } from './AccessGuard';
2
- //# sourceMappingURL=index.d.ts.map
package/package.json CHANGED
@@ -1,19 +1,19 @@
1
1
  {
2
2
  "name": "@focus-reactive/payload-plugin-translator",
3
- "version": "0.1.4",
3
+ "version": "0.1.5",
4
4
  "description": "Translation plugin for Payload CMS 3.x. Automatically translate your localized content using any translation provider.",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
- "author": "Siarhei Parkhamchuk <siarhei.parkhamchuk@focusreactive.com>",
7
+ "author": "FocusReactive <ship@focusreactive.com>",
8
8
  "repository": {
9
9
  "type": "git",
10
- "url": "git+https://github.com/focusreactive/payload-plugin-translator.git",
11
- "directory": "plugin"
10
+ "url": "https://github.com/focusreactive/payload-plugins",
11
+ "directory": "packages/payload-plugin-translator"
12
12
  },
13
13
  "bugs": {
14
- "url": "https://github.com/focusreactive/payload-plugin-translator/issues"
14
+ "url": "https://github.com/focusreactive/payload-plugins/issues"
15
15
  },
16
- "homepage": "https://github.com/focusreactive/payload-plugin-translator#readme",
16
+ "homepage": "https://github.com/focusreactive/payload-plugins/tree/main/packages/payload-plugin-translator",
17
17
  "keywords": [
18
18
  "payload",
19
19
  "payloadcms",
@@ -24,37 +24,38 @@
24
24
  "openai",
25
25
  "ai-translation"
26
26
  ],
27
+ "main": "./dist/index.js",
28
+ "types": "./dist/index.d.ts",
27
29
  "exports": {
28
30
  ".": {
29
31
  "import": "./dist/index.js",
30
32
  "types": "./dist/index.d.ts"
31
33
  },
32
34
  "./client/*": {
33
- "import": "./dist/client/*",
34
- "types": "./dist/client/*"
35
+ "import": "./dist/client/*.js",
36
+ "types": "./dist/client/*.d.ts"
35
37
  }
36
38
  },
37
39
  "files": [
38
40
  "dist",
39
41
  "!dist/**/*.test.*",
40
- "!dist/**/*.map",
41
- "README.md",
42
- "LICENSE"
42
+ "!dist/**/*.map"
43
43
  ],
44
44
  "publishConfig": {
45
45
  "access": "public"
46
46
  },
47
47
  "scripts": {
48
- "prepublishOnly": "pnpm build",
49
- "build": "pnpm build:types && pnpm build:swc && pnpm build:styles",
50
- "build:types": "tsc -p tsconfig.build.json --emitDeclarationOnly --outDir dist",
51
- "build:swc": "swc ./src -d ./dist --strip-leading-paths --ignore '**/*.test.ts' --ignore '**/__tests__/**' --ignore '**/__mocks__/**'",
52
- "build:styles": "copyfiles -u 1 \"src/**/*.scss\" dist",
48
+ "build": "bun run clean && bun run build:swc && bun run build:types && bun run copyfiles",
49
+ "build:swc": "swc ./src -d ./dist --config-file .swcrc --strip-leading-paths --ignore '**/*.test.ts' --ignore '**/*.d.ts' --ignore '**/__tests__/**' --ignore '**/__mocks__/**'",
50
+ "build:types": "tsc --emitDeclarationOnly --outDir dist",
51
+ "copyfiles": "copyfiles -u 1 \"src/**/*.scss\" dist",
52
+ "clean": "rm -rf dist",
53
+ "dev": "bun run build:swc -- --watch",
53
54
  "lint": "eslint src",
54
55
  "lint:fix": "eslint src --fix",
55
56
  "test": "vitest run",
56
57
  "test:watch": "vitest",
57
- "typecheck": "tsc --noEmit"
58
+ "check-types": "tsc --noEmit"
58
59
  },
59
60
  "peerDependencies": {
60
61
  "@payloadcms/richtext-lexical": "^3.76.0",
@@ -76,21 +77,21 @@
76
77
  "openai": "^4.50.0"
77
78
  },
78
79
  "devDependencies": {
79
- "@eslint/js": "^9",
80
- "@payloadcms/richtext-lexical": "^3.76.0",
81
- "@payloadcms/ui": "^3.76.0",
82
- "@swc/cli": "^0.5.2",
83
- "@swc/core": "^1.10.0",
84
- "@types/react": "^19.0.0",
85
- "@vitest/coverage-v8": "^3.2.4",
86
- "copyfiles": "^2.4.1",
87
- "eslint": "^9",
80
+ "@payloadcms/richtext-lexical": "3.79.0",
81
+ "@payloadcms/ui": "3.79.0",
82
+ "@swc/cli": "0.4.0",
83
+ "@swc/core": "1.7.0",
84
+ "@types/react": "19.2.9",
85
+ "@vitest/coverage-v8": "3.2.4",
86
+ "copyfiles": "2.4.1",
87
+ "eslint": "9.0.0",
88
+ "eslint-config-prettier": "9.0.0",
89
+ "next": "15.4.11",
90
+ "payload": "3.79.0",
91
+ "react": "19.0.0",
92
+ "typescript": "5.5.2",
88
93
  "eslint-plugin-react-hooks": "6.0.0-rc.2",
89
- "next": "^15.0.0",
90
- "payload": "^3.76.0",
91
- "react": "^19.0.0",
92
- "typescript": "^5.7.0",
93
- "typescript-eslint": "^8.56.0",
94
- "vitest": "^3.0.0"
94
+ "typescript-eslint": "8.0.0",
95
+ "vitest": "3.2.4"
95
96
  }
96
97
  }
@@ -1,11 +0,0 @@
1
- 'use client';
2
- import { QueryClientProvider } from '@tanstack/react-query';
3
- import { CacheClientProviderFactory } from '../../shared/providers/CacheClientProvider';
4
- import { TranslateKitConfigProvider } from '../config';
5
- const queryClient = new CacheClientProviderFactory().create('client');
6
- export function CacheProvider({ basePath, children }) {
7
- return (<TranslateKitConfigProvider basePath={basePath}>
8
- <QueryClientProvider client={queryClient}>{children}</QueryClientProvider>
9
- </TranslateKitConfigProvider>);
10
- }
11
- export default CacheProvider;
@@ -1,13 +0,0 @@
1
- 'use client';
2
- import { createContext, useContext, useMemo } from 'react';
3
- const defaultConfig = {
4
- basePath: '/translate',
5
- };
6
- const TranslateKitConfigContext = createContext(defaultConfig);
7
- export function TranslateKitConfigProvider({ basePath = defaultConfig.basePath, children, }) {
8
- const value = useMemo(() => ({ basePath }), [basePath]);
9
- return <TranslateKitConfigContext.Provider value={value}>{children}</TranslateKitConfigContext.Provider>;
10
- }
11
- export function useTranslateKitConfig() {
12
- return useContext(TranslateKitConfigContext);
13
- }
@@ -1,25 +0,0 @@
1
- import { LanguageTranslateIcon } from '../../../../shared/lib/assets/icons/LanguageTranslateIcon';
2
- import Button from '../../../../shared/ui/Button';
3
- import StatusIndicator from '../../../../shared/ui/StatusIndicator';
4
- import Tooltip from '../../../../shared/ui/Tooltip';
5
- import { TranslationDirection } from '../TranslationDirection';
6
- import styles from './styles.module.scss';
7
- export function CompletedTranslationStatus({ completed_at, sourceLocale, targetLocale, }) {
8
- return (<StatusIndicator className={styles.indicator} $color="green" title="Completed">
9
- <Tooltip sideOffset={12} side="bottom" content={<time dateTime={completed_at}>
10
- Completed at:{' '}
11
- {new Date(completed_at).toLocaleString(undefined, {
12
- year: 'numeric',
13
- month: 'short',
14
- day: 'numeric',
15
- hour: '2-digit',
16
- minute: '2-digit',
17
- })}
18
- </time>}>
19
- <Button type="button" $variant="unstyled">
20
- <LanguageTranslateIcon />
21
- </Button>
22
- </Tooltip>
23
- <TranslationDirection sourceLocale={sourceLocale} targetLocale={targetLocale}/>
24
- </StatusIndicator>);
25
- }
@@ -1,24 +0,0 @@
1
- import { LanguageTranslateIcon } from '../../../../shared/lib/assets/icons/LanguageTranslateIcon';
2
- import { ReloadIcon } from '../../../../shared/lib/assets/icons/ReloadIcon';
3
- import Button from '../../../../shared/ui/Button';
4
- import Divider from '../../../../shared/ui/Divider';
5
- import StatusIndicator from '../../../../shared/ui/StatusIndicator';
6
- import Tooltip from '../../../../shared/ui/Tooltip';
7
- import { TranslationDirection } from '../TranslationDirection';
8
- import styles from './styles.module.scss';
9
- export function FailedTranslationStatus({ onRetry, message, isLoading, sourceLocale, targetLocale, }) {
10
- return (<StatusIndicator $color="red" title="Failed">
11
- <Tooltip sideOffset={12} side="bottom" content={message}>
12
- <Button type="button" $variant="unstyled">
13
- <LanguageTranslateIcon />
14
- </Button>
15
- </Tooltip>
16
- <TranslationDirection sourceLocale={sourceLocale} targetLocale={targetLocale}/>
17
- <Divider className={styles.divider} $orientation="vertical" $size="sm"/>
18
- <Tooltip side="bottom" sideOffset={12} content="Retry">
19
- <Button $variant="light" $size="sm" $isIconButton aria-label="Retry failed translation" type="button" onClick={onRetry} disabled={isLoading} $isLoading={isLoading}>
20
- <ReloadIcon />
21
- </Button>
22
- </Tooltip>
23
- </StatusIndicator>);
24
- }
@@ -1,38 +0,0 @@
1
- import { TrashIcon } from '@payloadcms/ui/icons/Trash';
2
- import { LanguageTranslateIcon } from '../../../../shared/lib/assets/icons/LanguageTranslateIcon';
3
- import { ReloadIcon } from '../../../../shared/lib/assets/icons/ReloadIcon';
4
- import Button from '../../../../shared/ui/Button';
5
- import Divider from '../../../../shared/ui/Divider';
6
- import StatusIndicator from '../../../../shared/ui/StatusIndicator';
7
- import Tooltip from '../../../../shared/ui/Tooltip';
8
- import { TranslationDirection } from '../TranslationDirection';
9
- export function PendingTranslationStatus({ onCancel, onRun, isLoading, disabled, sourceLocale, targetLocale, createdAt, }) {
10
- return (<StatusIndicator $color="gray" $animated title="Pending">
11
- <Tooltip side="bottom" sideOffset={12} content={<time dateTime={createdAt}>
12
- Created at:{' '}
13
- {new Date(createdAt).toLocaleString(undefined, {
14
- year: 'numeric',
15
- month: 'short',
16
- day: 'numeric',
17
- hour: '2-digit',
18
- minute: '2-digit',
19
- })}
20
- </time>}>
21
- <Button type="button" $variant="unstyled">
22
- <LanguageTranslateIcon />
23
- </Button>
24
- </Tooltip>
25
- <TranslationDirection sourceLocale={sourceLocale} targetLocale={targetLocale}/>
26
- <Divider $size="sm" $orientation="vertical"/>
27
- <Tooltip sideOffset={12} side="bottom" content="Cancel">
28
- <Button $variant="light" $size="sm" $isIconButton aria-label="Cancel" type="button" onClick={onCancel} disabled={isLoading || disabled} $isLoading={isLoading}>
29
- <TrashIcon />
30
- </Button>
31
- </Tooltip>
32
- <Tooltip sideOffset={12} side="bottom" content="Run queued translation">
33
- <Button $variant="light" $size="sm" $isIconButton aria-label="Run queued translation" type="button" onClick={onRun} disabled={isLoading || disabled} $isLoading={isLoading}>
34
- <ReloadIcon />
35
- </Button>
36
- </Tooltip>
37
- </StatusIndicator>);
38
- }
@@ -1,32 +0,0 @@
1
- import { TrashIcon } from '@payloadcms/ui/icons/Trash';
2
- import { LanguageTranslateIcon } from '../../../../shared/lib/assets/icons/LanguageTranslateIcon';
3
- import Button from '../../../../shared/ui/Button';
4
- import Divider from '../../../../shared/ui/Divider';
5
- import StatusIndicator from '../../../../shared/ui/StatusIndicator';
6
- import Tooltip from '../../../../shared/ui/Tooltip';
7
- import { TranslationDirection } from '../TranslationDirection';
8
- export function RunningTranslationStatus({ onCancel, isLoading, disabled, sourceLocale, targetLocale, createdAt, }) {
9
- return (<StatusIndicator $animated $color="blue" title="In Progress">
10
- <Tooltip side="bottom" sideOffset={12} content={<time dateTime={createdAt}>
11
- Created at:{' '}
12
- {new Date(createdAt).toLocaleString(undefined, {
13
- year: 'numeric',
14
- month: 'short',
15
- day: 'numeric',
16
- hour: '2-digit',
17
- minute: '2-digit',
18
- })}
19
- </time>}>
20
- <Button type="button" $variant="unstyled">
21
- <LanguageTranslateIcon />
22
- </Button>
23
- </Tooltip>
24
- <TranslationDirection sourceLocale={sourceLocale} targetLocale={targetLocale}/>
25
- <Divider $size="sm" $orientation="vertical"/>
26
- <Tooltip sideOffset={12} side="bottom" content="Cancel">
27
- <Button $variant="light" $size="sm" $isIconButton aria-label="Cancel" type="button" onClick={onCancel} disabled={isLoading || disabled} $isLoading={isLoading}>
28
- <TrashIcon />
29
- </Button>
30
- </Tooltip>
31
- </StatusIndicator>);
32
- }
@@ -1,16 +0,0 @@
1
- import styles from './styles.module.scss';
2
- export const TranslationDirection = ({ sourceLocale, targetLocale, className }) => {
3
- return (<div className={`${styles.container} ${className || ''}`} role="group" aria-label={`Translation from ${sourceLocale} to ${targetLocale}`}>
4
- <span className={styles.locale} aria-label={`Source language: ${sourceLocale}`}>
5
- {sourceLocale.toLowerCase()}
6
- </span>
7
-
8
- <div className={styles.arrow} aria-hidden="true">
9
-
10
- </div>
11
-
12
- <span className={styles.locale} aria-label={`Target language: ${targetLocale}`}>
13
- {targetLocale.toLowerCase()}
14
- </span>
15
- </div>);
16
- };
@@ -1,25 +0,0 @@
1
- import { FormProvider } from 'react-hook-form';
2
- import Button from '../../../shared/ui/Button';
3
- import FormSelectLocale from '../../../shared/ui/form/FormSelectLocale';
4
- import { FormSelectStrategy } from '../../../shared/ui/form/FormSelectStrategy';
5
- import { FormCheckboxPublish } from '../../../shared/ui/form/FormCheckboxPublish';
6
- import { FORM_FIELDS } from '../model/constants';
7
- import styles from './styles.module.scss';
8
- export function CollectionTranslationForm({ form, onSubmit, selectedCount, hasDrafts, }) {
9
- return (<FormProvider {...form}>
10
- <fieldset className={styles.fieldset}>
11
- <div className={styles.row}>
12
- <div className={styles['locale-group']}>
13
- <FormSelectLocale label="From" className={styles['select-locale-field']} size="md" name={FORM_FIELDS.SOURCE_LNG}/>
14
- <FormSelectLocale label="To" className={styles['select-locale-field']} size="md" name={FORM_FIELDS.TARGET_LNG}/>
15
- </div>
16
- <FormSelectStrategy className={styles['strategy-field']} name={FORM_FIELDS.STRATEGY} size="md"/>
17
- </div>
18
- {hasDrafts && <FormCheckboxPublish name={FORM_FIELDS.PUBLISH_ON_TRANSLATION}/>}
19
- <input {...form.register(FORM_FIELDS.HIDDEN_COLLECTION_SLUG)} type="hidden"/>
20
- <Button $variant="filled" disabled={form.formState.isSubmitting || selectedCount === 0} className={styles['submit-button']} onClick={form.handleSubmit(onSubmit)} type="submit" $size="md" $isLoading={form.formState.isSubmitting}>
21
- {selectedCount ? `Queue ${selectedCount} translations` : 'Queue translations'}
22
- </Button>
23
- </fieldset>
24
- </FormProvider>);
25
- }
@@ -1,23 +0,0 @@
1
- 'use client';
2
- import { LanguageTranslateIcon } from '../../../shared/lib/assets/icons/LanguageTranslateIcon';
3
- import { useToggle } from '../../../shared/lib/utils/react/useToggle';
4
- import Button from '../../../shared/ui/Button';
5
- import ColorIndicator from '../../../shared/ui/ColorIndicator';
6
- import Popup from '../../../shared/ui/Popup';
7
- import styles from './styles.module.scss';
8
- function CollectionTranslationPopup({ children, translationInProgress, selectedCount, }) {
9
- const [isPopupOpen, popupOpen] = useToggle();
10
- return (<Popup $align="start" onOpenChange={popupOpen.setValue} $trigger={<Button $size="md" $variant="filled" className={styles['popup-trigger-button']} aria-label="Open translation options" onClick={popupOpen.setTrue}>
11
- {translationInProgress && <ColorIndicator title="Translations In Progress" $animated $color="blue"/>}
12
- <LanguageTranslateIcon />
13
- {selectedCount > 0 && !translationInProgress && (<>
14
- <span className={styles.arrow} aria-hidden="true">
15
-
16
- </span>
17
- {selectedCount}
18
- </>)}
19
- </Button>} open={isPopupOpen}>
20
- <div className={styles['popup-content']}>{children}</div>
21
- </Popup>);
22
- }
23
- export default CollectionTranslationPopup;
@@ -1,47 +0,0 @@
1
- 'use client';
2
- import { ShimmerEffect } from '@payloadcms/ui';
3
- import { TrashIcon } from '@payloadcms/ui/icons/Trash';
4
- import { TranslationsApi } from '../../../entities/translation';
5
- import { LanguageTranslateIcon } from '../../../shared/lib/assets/icons/LanguageTranslateIcon';
6
- import Button from '../../../shared/ui/Button';
7
- import StatusIndicator from '../../../shared/ui/StatusIndicator';
8
- import Tooltip from '../../../shared/ui/Tooltip';
9
- import styles from './styles.module.scss';
10
- export function CollectionTranslationProgress({ collection, data, isPending }) {
11
- const cancelPendingTranslations = TranslationsApi.useCancelCollectionTranslations();
12
- return (<div className={styles.container}>
13
- {isPending && (<>
14
- <ShimmerEffect width="100%" height={32}></ShimmerEffect>
15
- <ShimmerEffect width="100%" height={32}></ShimmerEffect>
16
- <ShimmerEffect width="100%" height={32}></ShimmerEffect>
17
- <ShimmerEffect width="100%" height={32}></ShimmerEffect>
18
- </>)}
19
-
20
- {data && (<>
21
- <StatusIndicator className={styles['status-indicator']} title="Completed" key="completed" $color="green">
22
- <LanguageTranslateIcon />
23
- <b>{data.completed.length}</b>
24
- </StatusIndicator>
25
-
26
- <StatusIndicator className={styles['status-indicator']} title="Failed" key="failed" $color="red">
27
- <LanguageTranslateIcon />
28
- <b>{data.failed.length}</b>
29
- </StatusIndicator>
30
-
31
- <StatusIndicator className={styles['status-indicator']} title="In progress" $animated={data.running.length > 0} key="running" $color="blue">
32
- <LanguageTranslateIcon />
33
- <b>{data.running.length}</b>
34
- </StatusIndicator>
35
-
36
- <StatusIndicator className={styles['status-indicator']} title="Pending" $animated={data.pending.length > 0} key="pending" $color="gray">
37
- <LanguageTranslateIcon />
38
- <b>{data.pending.length}</b>
39
- <Tooltip sideOffset={12} side="bottom" content="Cancel translations">
40
- <Button $variant="light" $size="sm" $isIconButton aria-label="Cancel all queued translation" type="button" onClick={() => cancelPendingTranslations.mutateAsync({ collection })} disabled={cancelPendingTranslations.isPending || !data.pending.length} $isLoading={cancelPendingTranslations.isPending}>
41
- <TrashIcon />
42
- </Button>
43
- </Tooltip>
44
- </StatusIndicator>
45
- </>)}
46
- </div>);
47
- }
@@ -1,19 +0,0 @@
1
- import { toast } from '@payloadcms/ui';
2
- import { FailedTranslationStatus, TranslationsApi } from '../../../entities/translation';
3
- export function DocumentTranslationProgressFailed({ data }) {
4
- const runQueuedTranslationApi = TranslationsApi.useRunDocumentTranslation();
5
- const handleRunDocumentTranslation = async () => {
6
- try {
7
- await runQueuedTranslationApi.mutateAsync({ id: data.id });
8
- }
9
- catch (e) {
10
- if (e instanceof Error) {
11
- toast.error(e.message);
12
- }
13
- else {
14
- toast.error('Error running document translation');
15
- }
16
- }
17
- };
18
- return (<FailedTranslationStatus onRetry={handleRunDocumentTranslation} isLoading={runQueuedTranslationApi.isPending} sourceLocale={data.input.source_lng} targetLocale={data.input.target_lng} message={data.error.message}/>);
19
- }
@@ -1,34 +0,0 @@
1
- import { toast } from '@payloadcms/ui';
2
- import { TranslationsApi } from '../../../entities/translation';
3
- import { PendingTranslationStatus } from '../../../entities/translation';
4
- export function DocumentTranslationProgressPending({ data }) {
5
- const cancelDocumentTranslationApi = TranslationsApi.useCancelDocumentTranslation();
6
- const runQueuedTranslationApi = TranslationsApi.useRunDocumentTranslation();
7
- const handleCancelDocumentTranslation = async () => {
8
- try {
9
- await cancelDocumentTranslationApi.mutateAsync({ id: data.id });
10
- }
11
- catch (e) {
12
- if (e instanceof Error) {
13
- toast.error(e.message);
14
- }
15
- else {
16
- toast.error('Error canceling document translation');
17
- }
18
- }
19
- };
20
- const handleRunDocumentTranslation = async () => {
21
- try {
22
- await runQueuedTranslationApi.mutateAsync({ id: data.id });
23
- }
24
- catch (e) {
25
- if (e instanceof Error) {
26
- toast.error(e.message);
27
- }
28
- else {
29
- toast.error('Error running document translation');
30
- }
31
- }
32
- };
33
- return (<PendingTranslationStatus onRun={handleRunDocumentTranslation} createdAt={data.created_at} sourceLocale={data.input.source_lng} targetLocale={data.input.target_lng} isLoading={cancelDocumentTranslationApi.isPending || runQueuedTranslationApi.isPending} onCancel={handleCancelDocumentTranslation}/>);
34
- }
@@ -1,19 +0,0 @@
1
- import { toast } from '@payloadcms/ui';
2
- import { RunningTranslationStatus, TranslationsApi } from '../../../entities/translation';
3
- export function DocumentTranslationProgressRunning({ data }) {
4
- const cancelDocumentTranslationApi = TranslationsApi.useCancelDocumentTranslation();
5
- const handleCancelDocumentTranslation = async () => {
6
- try {
7
- await cancelDocumentTranslationApi.mutateAsync({ id: data.id });
8
- }
9
- catch (e) {
10
- if (e instanceof Error) {
11
- toast.error(e.message);
12
- }
13
- else {
14
- toast.error('Error canceling document translation');
15
- }
16
- }
17
- };
18
- return (<RunningTranslationStatus createdAt={data.created_at} sourceLocale={data.input.source_lng} targetLocale={data.input.target_lng} isLoading={cancelDocumentTranslationApi.isPending} onCancel={handleCancelDocumentTranslation}/>);
19
- }
@@ -1,15 +0,0 @@
1
- 'use client';
2
- import { LanguageTranslateIcon } from '../../../shared/lib/assets/icons/LanguageTranslateIcon';
3
- import { useToggle } from '../../../shared/lib/utils/react/useToggle';
4
- import Button from '../../../shared/ui/Button';
5
- import Popup from '../../../shared/ui/Popup';
6
- import styles from './styles.module.scss';
7
- function OpenDocumentTranslationPopup({ children, isLoading }) {
8
- const [isPopupOpen, popupOpen] = useToggle();
9
- return (<Popup $align="start" onOpenChange={popupOpen.setValue} $trigger={<Button $size="md" $variant="filled" $isIconButton className={styles['popup-trigger-button']} aria-label="Open translation options" onClick={popupOpen.setTrue} disabled={isLoading} $isLoading={isLoading}>
10
- <LanguageTranslateIcon />
11
- </Button>} open={isPopupOpen}>
12
- <div className={styles['popup-content']}>{children({ close: popupOpen.setFalse })}</div>
13
- </Popup>);
14
- }
15
- export default OpenDocumentTranslationPopup;
@@ -1,24 +0,0 @@
1
- import { FormProvider } from 'react-hook-form';
2
- import Button from '../../../shared/ui/Button';
3
- import FormSelectLocale from '../../../shared/ui/form/FormSelectLocale';
4
- import { FormSelectStrategy } from '../../../shared/ui/form/FormSelectStrategy';
5
- import { FormCheckboxPublish } from '../../../shared/ui/form/FormCheckboxPublish';
6
- import { FORM_FIELDS } from '../model/constants';
7
- import styles from './styles.module.scss';
8
- export function DocumentTranslationForm({ form, onSubmit, hasDrafts }) {
9
- return (<FormProvider {...form}>
10
- <fieldset className={styles.fieldset}>
11
- <div className={styles.row}>
12
- <FormSelectLocale label="From" name={FORM_FIELDS.SOURCE_LNG}/>
13
- <FormSelectLocale label="To" name={FORM_FIELDS.TARGET_LNG}/>
14
- </div>
15
- <FormSelectStrategy name={FORM_FIELDS.STRATEGY}/>
16
- {hasDrafts && <FormCheckboxPublish name={FORM_FIELDS.PUBLISH_ON_TRANSLATION}/>}
17
- <input {...form.register(FORM_FIELDS.HIDDEN_COLLECTION_SLUG)} type="hidden"/>
18
- <input {...form.register(FORM_FIELDS.HIDDEN_COLLECTION_ID)} type="hidden"/>
19
- <Button $variant="filled" disabled={form.formState.isSubmitting} className={styles['submit-button']} onClick={form.handleSubmit(onSubmit)} type="submit" $size="lg" $isLoading={form.formState.isSubmitting}>
20
- Queue Translation
21
- </Button>
22
- </fieldset>
23
- </FormProvider>);
24
- }
@@ -1,4 +0,0 @@
1
- export const LanguageTranslateIcon = () => (<svg fill="currentColor" width="1em" height="1em" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg">
2
- <path d="M478.33,433.6l-90-218a22,22,0,0,0-40.67,0l-90,218a22,22,0,1,0,40.67,16.79L316.66,406H419.33l18.33,44.39A22,22,0,0,0,458,464a22,22,0,0,0,20.32-30.4ZM334.83,362,368,281.65,401.17,362Z"/>
3
- <path d="M267.84,342.92a22,22,0,0,0-4.89-30.7c-.2-.15-15-11.13-36.49-34.73,39.65-53.68,62.11-114.75,71.27-143.49H330a22,22,0,0,0,0-44H214V70a22,22,0,0,0-44,0V90H54a22,22,0,0,0,0,44H251.25c-9.52,26.95-27.05,69.5-53.79,108.36-31.41-41.68-43.08-68.65-43.17-68.87a22,22,0,0,0-40.58,17c.58,1.38,14.55,34.23,52.86,83.93.92,1.19,1.83,2.35,2.74,3.51-39.24,44.35-77.74,71.86-93.85,80.74a22,22,0,1,0,21.07,38.63c2.16-1.18,48.6-26.89,101.63-85.59,22.52,24.08,38,35.44,38.93,36.1a22,22,0,0,0,30.75-4.9Z"/>
4
- </svg>);
@@ -1,3 +0,0 @@
1
- export const QuestionCircleIcon = () => (<svg width="1em" height="1em" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" fill="none">
2
- <path fill="currentColor" fillRule="evenodd" clipRule="evenodd" d="M8 1.5a6.5 6.5 0 100 13 6.5 6.5 0 000-13zM0 8a8 8 0 1116 0A8 8 0 010 8zm9 3a1 1 0 11-2 0 1 1 0 012 0zM6.92 6.085c.081-.16.19-.299.34-.398.145-.097.371-.187.74-.187.28 0 .553.087.738.225.167.127.262.285.262.478 0 .39-.152.586-.293.732a2.138 2.138 0 01-.508.39l-.024.014c-.178.107-.357.214-.504.395-.15.185-.25.427-.25.75a.75.75 0 001.5 0c0-.088.024-.137.054-.175.035-.045.1-.098.195-.15l.029-.018c.152-.09.381-.226.594-.424.213-.197.523-.534.523-1.114 0-.57-.282-1.023-.656-1.306-.356-.27-.816-.392-1.26-.392-.6 0-1.068.167-1.418.39-.345.218-.583.498-.748.793a.75.75 0 001.326.704z"/>
3
- </svg>);
@@ -1,3 +0,0 @@
1
- export const ReloadIcon = () => (<svg width="1em" height="1em" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" fill="none">
2
- <path fill="currentColor" d="M7.248 1.307A.75.75 0 118.252.193l2.5 2.25a.75.75 0 010 1.114l-2.5 2.25a.75.75 0 01-1.004-1.114l1.29-1.161a4.5 4.5 0 103.655 2.832.75.75 0 111.398-.546A6 6 0 118.018 2l-.77-.693z"/>
3
- </svg>);
@@ -1,33 +0,0 @@
1
- import classNames from 'classnames';
2
- import React from 'react';
3
- import styles from './styles.module.scss';
4
- const getRole = (variant) => {
5
- switch (variant) {
6
- case 'error':
7
- return 'alert';
8
- case 'warning':
9
- return 'alert';
10
- case 'info':
11
- return 'status';
12
- default:
13
- return 'status';
14
- }
15
- };
16
- const getAriaLive = (variant) => {
17
- switch (variant) {
18
- case 'error':
19
- return 'assertive';
20
- case 'warning':
21
- return 'polite';
22
- case 'info':
23
- return 'polite';
24
- default:
25
- return 'polite';
26
- }
27
- };
28
- const Alert = ({ variant = 'transparent', children, className }) => {
29
- return (<div className={classNames(styles.alert, styles[`alert--${variant}`], className)} role={getRole(variant)} aria-live={getAriaLive(variant)} aria-atomic="true">
30
- {children}
31
- </div>);
32
- };
33
- export default Alert;