@ruya.sa/plugin-import-export 3.71.3

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 (410) hide show
  1. package/README.md +7 -0
  2. package/dist/components/CollectionField/index.d.ts +3 -0
  3. package/dist/components/CollectionField/index.d.ts.map +1 -0
  4. package/dist/components/CollectionField/index.js +29 -0
  5. package/dist/components/CollectionField/index.js.map +1 -0
  6. package/dist/components/ExportListMenuItem/index.d.ts +6 -0
  7. package/dist/components/ExportListMenuItem/index.d.ts.map +1 -0
  8. package/dist/components/ExportListMenuItem/index.js +44 -0
  9. package/dist/components/ExportListMenuItem/index.js.map +1 -0
  10. package/dist/components/ExportPreview/index.d.ts +4 -0
  11. package/dist/components/ExportPreview/index.d.ts.map +1 -0
  12. package/dist/components/ExportPreview/index.js +252 -0
  13. package/dist/components/ExportPreview/index.js.map +1 -0
  14. package/dist/components/ExportPreview/index.scss +36 -0
  15. package/dist/components/ExportSaveButton/index.d.ts +3 -0
  16. package/dist/components/ExportSaveButton/index.d.ts.map +1 -0
  17. package/dist/components/ExportSaveButton/index.js +110 -0
  18. package/dist/components/ExportSaveButton/index.js.map +1 -0
  19. package/dist/components/FieldsToExport/index.d.ts +3 -0
  20. package/dist/components/FieldsToExport/index.d.ts.map +1 -0
  21. package/dist/components/FieldsToExport/index.js +87 -0
  22. package/dist/components/FieldsToExport/index.js.map +1 -0
  23. package/dist/components/FieldsToExport/index.scss +0 -0
  24. package/dist/components/FieldsToExport/reduceFields.d.ts +13 -0
  25. package/dist/components/FieldsToExport/reduceFields.d.ts.map +1 -0
  26. package/dist/components/FieldsToExport/reduceFields.js +109 -0
  27. package/dist/components/FieldsToExport/reduceFields.js.map +1 -0
  28. package/dist/components/ImportCollectionField/index.d.ts +3 -0
  29. package/dist/components/ImportCollectionField/index.d.ts.map +1 -0
  30. package/dist/components/ImportCollectionField/index.js +17 -0
  31. package/dist/components/ImportCollectionField/index.js.map +1 -0
  32. package/dist/components/ImportExportProvider/index.d.ts +12 -0
  33. package/dist/components/ImportExportProvider/index.d.ts.map +1 -0
  34. package/dist/components/ImportExportProvider/index.js +20 -0
  35. package/dist/components/ImportExportProvider/index.js.map +1 -0
  36. package/dist/components/ImportListMenuItem/index.d.ts +6 -0
  37. package/dist/components/ImportListMenuItem/index.d.ts.map +1 -0
  38. package/dist/components/ImportListMenuItem/index.js +48 -0
  39. package/dist/components/ImportListMenuItem/index.js.map +1 -0
  40. package/dist/components/ImportPreview/index.d.ts +4 -0
  41. package/dist/components/ImportPreview/index.d.ts.map +1 -0
  42. package/dist/components/ImportPreview/index.js +624 -0
  43. package/dist/components/ImportPreview/index.js.map +1 -0
  44. package/dist/components/ImportPreview/index.scss +41 -0
  45. package/dist/components/ImportSaveButton/index.d.ts +2 -0
  46. package/dist/components/ImportSaveButton/index.d.ts.map +1 -0
  47. package/dist/components/ImportSaveButton/index.js +18 -0
  48. package/dist/components/ImportSaveButton/index.js.map +1 -0
  49. package/dist/components/Page/index.d.ts +4 -0
  50. package/dist/components/Page/index.d.ts.map +1 -0
  51. package/dist/components/Page/index.js +40 -0
  52. package/dist/components/Page/index.js.map +1 -0
  53. package/dist/components/Page/index.scss +5 -0
  54. package/dist/components/SelectionToUseField/index.d.ts +3 -0
  55. package/dist/components/SelectionToUseField/index.d.ts.map +1 -0
  56. package/dist/components/SelectionToUseField/index.js +128 -0
  57. package/dist/components/SelectionToUseField/index.js.map +1 -0
  58. package/dist/components/SortBy/index.d.ts +4 -0
  59. package/dist/components/SortBy/index.d.ts.map +1 -0
  60. package/dist/components/SortBy/index.js +133 -0
  61. package/dist/components/SortBy/index.js.map +1 -0
  62. package/dist/components/SortBy/index.scss +3 -0
  63. package/dist/components/SortOrder/index.d.ts +4 -0
  64. package/dist/components/SortOrder/index.d.ts.map +1 -0
  65. package/dist/components/SortOrder/index.js +121 -0
  66. package/dist/components/SortOrder/index.js.map +1 -0
  67. package/dist/components/SortOrder/index.scss +3 -0
  68. package/dist/constants.d.ts +21 -0
  69. package/dist/constants.d.ts.map +1 -0
  70. package/dist/constants.js +21 -0
  71. package/dist/constants.js.map +1 -0
  72. package/dist/export/batchProcessor.d.ts +107 -0
  73. package/dist/export/batchProcessor.d.ts.map +1 -0
  74. package/dist/export/batchProcessor.js +187 -0
  75. package/dist/export/batchProcessor.js.map +1 -0
  76. package/dist/export/createExport.d.ts +37 -0
  77. package/dist/export/createExport.d.ts.map +1 -0
  78. package/dist/export/createExport.js +385 -0
  79. package/dist/export/createExport.js.map +1 -0
  80. package/dist/export/getCreateExportCollectionTask.d.ts +16 -0
  81. package/dist/export/getCreateExportCollectionTask.d.ts.map +1 -0
  82. package/dist/export/getCreateExportCollectionTask.js +35 -0
  83. package/dist/export/getCreateExportCollectionTask.js.map +1 -0
  84. package/dist/export/getExportCollection.d.ts +8 -0
  85. package/dist/export/getExportCollection.d.ts.map +1 -0
  86. package/dist/export/getExportCollection.js +100 -0
  87. package/dist/export/getExportCollection.js.map +1 -0
  88. package/dist/export/getFields.d.ts +10 -0
  89. package/dist/export/getFields.d.ts.map +1 -0
  90. package/dist/export/getFields.js +244 -0
  91. package/dist/export/getFields.js.map +1 -0
  92. package/dist/export/handleDownload.d.ts +3 -0
  93. package/dist/export/handleDownload.d.ts.map +1 -0
  94. package/dist/export/handleDownload.js +42 -0
  95. package/dist/export/handleDownload.js.map +1 -0
  96. package/dist/export/handlePreview.d.ts +3 -0
  97. package/dist/export/handlePreview.d.ts.map +1 -0
  98. package/dist/export/handlePreview.js +163 -0
  99. package/dist/export/handlePreview.js.map +1 -0
  100. package/dist/exports/rsc.d.ts +15 -0
  101. package/dist/exports/rsc.d.ts.map +1 -0
  102. package/dist/exports/rsc.js +16 -0
  103. package/dist/exports/rsc.js.map +1 -0
  104. package/dist/exports/types.d.ts +2 -0
  105. package/dist/exports/types.d.ts.map +1 -0
  106. package/dist/exports/types.js +3 -0
  107. package/dist/exports/types.js.map +1 -0
  108. package/dist/import/batchProcessor.d.ts +46 -0
  109. package/dist/import/batchProcessor.d.ts.map +1 -0
  110. package/dist/import/batchProcessor.js +529 -0
  111. package/dist/import/batchProcessor.js.map +1 -0
  112. package/dist/import/createImport.d.ts +45 -0
  113. package/dist/import/createImport.d.ts.map +1 -0
  114. package/dist/import/createImport.js +175 -0
  115. package/dist/import/createImport.js.map +1 -0
  116. package/dist/import/getCreateImportCollectionTask.d.ts +13 -0
  117. package/dist/import/getCreateImportCollectionTask.d.ts.map +1 -0
  118. package/dist/import/getCreateImportCollectionTask.js +81 -0
  119. package/dist/import/getCreateImportCollectionTask.js.map +1 -0
  120. package/dist/import/getFields.d.ts +7 -0
  121. package/dist/import/getFields.d.ts.map +1 -0
  122. package/dist/import/getFields.js +150 -0
  123. package/dist/import/getFields.js.map +1 -0
  124. package/dist/import/getImportCollection.d.ts +8 -0
  125. package/dist/import/getImportCollection.d.ts.map +1 -0
  126. package/dist/import/getImportCollection.js +258 -0
  127. package/dist/import/getImportCollection.js.map +1 -0
  128. package/dist/import/handlePreview.d.ts +3 -0
  129. package/dist/import/handlePreview.d.ts.map +1 -0
  130. package/dist/import/handlePreview.js +94 -0
  131. package/dist/import/handlePreview.js.map +1 -0
  132. package/dist/index.d.ts +32 -0
  133. package/dist/index.d.ts.map +1 -0
  134. package/dist/index.js +120 -0
  135. package/dist/index.js.map +1 -0
  136. package/dist/translations/index.d.ts +6 -0
  137. package/dist/translations/index.d.ts.map +1 -0
  138. package/dist/translations/index.js +84 -0
  139. package/dist/translations/index.js.map +1 -0
  140. package/dist/translations/languages/ar.d.ts +4 -0
  141. package/dist/translations/languages/ar.d.ts.map +1 -0
  142. package/dist/translations/languages/ar.js +48 -0
  143. package/dist/translations/languages/ar.js.map +1 -0
  144. package/dist/translations/languages/az.d.ts +4 -0
  145. package/dist/translations/languages/az.d.ts.map +1 -0
  146. package/dist/translations/languages/az.js +48 -0
  147. package/dist/translations/languages/az.js.map +1 -0
  148. package/dist/translations/languages/bg.d.ts +4 -0
  149. package/dist/translations/languages/bg.d.ts.map +1 -0
  150. package/dist/translations/languages/bg.js +48 -0
  151. package/dist/translations/languages/bg.js.map +1 -0
  152. package/dist/translations/languages/bnBd.d.ts +4 -0
  153. package/dist/translations/languages/bnBd.d.ts.map +1 -0
  154. package/dist/translations/languages/bnBd.js +48 -0
  155. package/dist/translations/languages/bnBd.js.map +1 -0
  156. package/dist/translations/languages/bnIn.d.ts +4 -0
  157. package/dist/translations/languages/bnIn.d.ts.map +1 -0
  158. package/dist/translations/languages/bnIn.js +48 -0
  159. package/dist/translations/languages/bnIn.js.map +1 -0
  160. package/dist/translations/languages/ca.d.ts +4 -0
  161. package/dist/translations/languages/ca.d.ts.map +1 -0
  162. package/dist/translations/languages/ca.js +48 -0
  163. package/dist/translations/languages/ca.js.map +1 -0
  164. package/dist/translations/languages/cs.d.ts +4 -0
  165. package/dist/translations/languages/cs.d.ts.map +1 -0
  166. package/dist/translations/languages/cs.js +48 -0
  167. package/dist/translations/languages/cs.js.map +1 -0
  168. package/dist/translations/languages/da.d.ts +4 -0
  169. package/dist/translations/languages/da.d.ts.map +1 -0
  170. package/dist/translations/languages/da.js +48 -0
  171. package/dist/translations/languages/da.js.map +1 -0
  172. package/dist/translations/languages/de.d.ts +4 -0
  173. package/dist/translations/languages/de.d.ts.map +1 -0
  174. package/dist/translations/languages/de.js +48 -0
  175. package/dist/translations/languages/de.js.map +1 -0
  176. package/dist/translations/languages/en.d.ts +45 -0
  177. package/dist/translations/languages/en.d.ts.map +1 -0
  178. package/dist/translations/languages/en.js +48 -0
  179. package/dist/translations/languages/en.js.map +1 -0
  180. package/dist/translations/languages/es.d.ts +4 -0
  181. package/dist/translations/languages/es.d.ts.map +1 -0
  182. package/dist/translations/languages/es.js +48 -0
  183. package/dist/translations/languages/es.js.map +1 -0
  184. package/dist/translations/languages/et.d.ts +4 -0
  185. package/dist/translations/languages/et.d.ts.map +1 -0
  186. package/dist/translations/languages/et.js +48 -0
  187. package/dist/translations/languages/et.js.map +1 -0
  188. package/dist/translations/languages/fa.d.ts +4 -0
  189. package/dist/translations/languages/fa.d.ts.map +1 -0
  190. package/dist/translations/languages/fa.js +48 -0
  191. package/dist/translations/languages/fa.js.map +1 -0
  192. package/dist/translations/languages/fr.d.ts +4 -0
  193. package/dist/translations/languages/fr.d.ts.map +1 -0
  194. package/dist/translations/languages/fr.js +48 -0
  195. package/dist/translations/languages/fr.js.map +1 -0
  196. package/dist/translations/languages/he.d.ts +4 -0
  197. package/dist/translations/languages/he.d.ts.map +1 -0
  198. package/dist/translations/languages/he.js +48 -0
  199. package/dist/translations/languages/he.js.map +1 -0
  200. package/dist/translations/languages/hr.d.ts +4 -0
  201. package/dist/translations/languages/hr.d.ts.map +1 -0
  202. package/dist/translations/languages/hr.js +48 -0
  203. package/dist/translations/languages/hr.js.map +1 -0
  204. package/dist/translations/languages/hu.d.ts +4 -0
  205. package/dist/translations/languages/hu.d.ts.map +1 -0
  206. package/dist/translations/languages/hu.js +48 -0
  207. package/dist/translations/languages/hu.js.map +1 -0
  208. package/dist/translations/languages/hy.d.ts +4 -0
  209. package/dist/translations/languages/hy.d.ts.map +1 -0
  210. package/dist/translations/languages/hy.js +48 -0
  211. package/dist/translations/languages/hy.js.map +1 -0
  212. package/dist/translations/languages/id.d.ts +4 -0
  213. package/dist/translations/languages/id.d.ts.map +1 -0
  214. package/dist/translations/languages/id.js +48 -0
  215. package/dist/translations/languages/id.js.map +1 -0
  216. package/dist/translations/languages/is.d.ts +4 -0
  217. package/dist/translations/languages/is.d.ts.map +1 -0
  218. package/dist/translations/languages/is.js +48 -0
  219. package/dist/translations/languages/is.js.map +1 -0
  220. package/dist/translations/languages/it.d.ts +4 -0
  221. package/dist/translations/languages/it.d.ts.map +1 -0
  222. package/dist/translations/languages/it.js +48 -0
  223. package/dist/translations/languages/it.js.map +1 -0
  224. package/dist/translations/languages/ja.d.ts +4 -0
  225. package/dist/translations/languages/ja.d.ts.map +1 -0
  226. package/dist/translations/languages/ja.js +48 -0
  227. package/dist/translations/languages/ja.js.map +1 -0
  228. package/dist/translations/languages/ko.d.ts +4 -0
  229. package/dist/translations/languages/ko.d.ts.map +1 -0
  230. package/dist/translations/languages/ko.js +48 -0
  231. package/dist/translations/languages/ko.js.map +1 -0
  232. package/dist/translations/languages/lt.d.ts +4 -0
  233. package/dist/translations/languages/lt.d.ts.map +1 -0
  234. package/dist/translations/languages/lt.js +48 -0
  235. package/dist/translations/languages/lt.js.map +1 -0
  236. package/dist/translations/languages/lv.d.ts +4 -0
  237. package/dist/translations/languages/lv.d.ts.map +1 -0
  238. package/dist/translations/languages/lv.js +48 -0
  239. package/dist/translations/languages/lv.js.map +1 -0
  240. package/dist/translations/languages/my.d.ts +4 -0
  241. package/dist/translations/languages/my.d.ts.map +1 -0
  242. package/dist/translations/languages/my.js +48 -0
  243. package/dist/translations/languages/my.js.map +1 -0
  244. package/dist/translations/languages/nb.d.ts +4 -0
  245. package/dist/translations/languages/nb.d.ts.map +1 -0
  246. package/dist/translations/languages/nb.js +48 -0
  247. package/dist/translations/languages/nb.js.map +1 -0
  248. package/dist/translations/languages/nl.d.ts +4 -0
  249. package/dist/translations/languages/nl.d.ts.map +1 -0
  250. package/dist/translations/languages/nl.js +48 -0
  251. package/dist/translations/languages/nl.js.map +1 -0
  252. package/dist/translations/languages/pl.d.ts +4 -0
  253. package/dist/translations/languages/pl.d.ts.map +1 -0
  254. package/dist/translations/languages/pl.js +48 -0
  255. package/dist/translations/languages/pl.js.map +1 -0
  256. package/dist/translations/languages/pt.d.ts +4 -0
  257. package/dist/translations/languages/pt.d.ts.map +1 -0
  258. package/dist/translations/languages/pt.js +48 -0
  259. package/dist/translations/languages/pt.js.map +1 -0
  260. package/dist/translations/languages/ro.d.ts +4 -0
  261. package/dist/translations/languages/ro.d.ts.map +1 -0
  262. package/dist/translations/languages/ro.js +48 -0
  263. package/dist/translations/languages/ro.js.map +1 -0
  264. package/dist/translations/languages/rs.d.ts +4 -0
  265. package/dist/translations/languages/rs.d.ts.map +1 -0
  266. package/dist/translations/languages/rs.js +48 -0
  267. package/dist/translations/languages/rs.js.map +1 -0
  268. package/dist/translations/languages/rsLatin.d.ts +4 -0
  269. package/dist/translations/languages/rsLatin.d.ts.map +1 -0
  270. package/dist/translations/languages/rsLatin.js +48 -0
  271. package/dist/translations/languages/rsLatin.js.map +1 -0
  272. package/dist/translations/languages/ru.d.ts +4 -0
  273. package/dist/translations/languages/ru.d.ts.map +1 -0
  274. package/dist/translations/languages/ru.js +48 -0
  275. package/dist/translations/languages/ru.js.map +1 -0
  276. package/dist/translations/languages/sk.d.ts +4 -0
  277. package/dist/translations/languages/sk.d.ts.map +1 -0
  278. package/dist/translations/languages/sk.js +48 -0
  279. package/dist/translations/languages/sk.js.map +1 -0
  280. package/dist/translations/languages/sl.d.ts +4 -0
  281. package/dist/translations/languages/sl.d.ts.map +1 -0
  282. package/dist/translations/languages/sl.js +48 -0
  283. package/dist/translations/languages/sl.js.map +1 -0
  284. package/dist/translations/languages/sv.d.ts +4 -0
  285. package/dist/translations/languages/sv.d.ts.map +1 -0
  286. package/dist/translations/languages/sv.js +48 -0
  287. package/dist/translations/languages/sv.js.map +1 -0
  288. package/dist/translations/languages/ta.d.ts +4 -0
  289. package/dist/translations/languages/ta.d.ts.map +1 -0
  290. package/dist/translations/languages/ta.js +48 -0
  291. package/dist/translations/languages/ta.js.map +1 -0
  292. package/dist/translations/languages/th.d.ts +4 -0
  293. package/dist/translations/languages/th.d.ts.map +1 -0
  294. package/dist/translations/languages/th.js +48 -0
  295. package/dist/translations/languages/th.js.map +1 -0
  296. package/dist/translations/languages/tr.d.ts +4 -0
  297. package/dist/translations/languages/tr.d.ts.map +1 -0
  298. package/dist/translations/languages/tr.js +48 -0
  299. package/dist/translations/languages/tr.js.map +1 -0
  300. package/dist/translations/languages/translation-schema.json +114 -0
  301. package/dist/translations/languages/uk.d.ts +4 -0
  302. package/dist/translations/languages/uk.d.ts.map +1 -0
  303. package/dist/translations/languages/uk.js +48 -0
  304. package/dist/translations/languages/uk.js.map +1 -0
  305. package/dist/translations/languages/vi.d.ts +4 -0
  306. package/dist/translations/languages/vi.d.ts.map +1 -0
  307. package/dist/translations/languages/vi.js +48 -0
  308. package/dist/translations/languages/vi.js.map +1 -0
  309. package/dist/translations/languages/zh.d.ts +4 -0
  310. package/dist/translations/languages/zh.d.ts.map +1 -0
  311. package/dist/translations/languages/zh.js +48 -0
  312. package/dist/translations/languages/zh.js.map +1 -0
  313. package/dist/translations/languages/zhTw.d.ts +4 -0
  314. package/dist/translations/languages/zhTw.d.ts.map +1 -0
  315. package/dist/translations/languages/zhTw.js +48 -0
  316. package/dist/translations/languages/zhTw.js.map +1 -0
  317. package/dist/translations/types.d.ts +38 -0
  318. package/dist/translations/types.d.ts.map +1 -0
  319. package/dist/translations/types.js +3 -0
  320. package/dist/translations/types.js.map +1 -0
  321. package/dist/types.d.ts +221 -0
  322. package/dist/types.d.ts.map +1 -0
  323. package/dist/types.js +5 -0
  324. package/dist/types.js.map +1 -0
  325. package/dist/utilities/buildDisabledFieldRegex.d.ts +5 -0
  326. package/dist/utilities/buildDisabledFieldRegex.d.ts.map +1 -0
  327. package/dist/utilities/buildDisabledFieldRegex.js +12 -0
  328. package/dist/utilities/buildDisabledFieldRegex.js.map +1 -0
  329. package/dist/utilities/collectDisabledFieldPaths.d.ts +15 -0
  330. package/dist/utilities/collectDisabledFieldPaths.d.ts.map +1 -0
  331. package/dist/utilities/collectDisabledFieldPaths.js +61 -0
  332. package/dist/utilities/collectDisabledFieldPaths.js.map +1 -0
  333. package/dist/utilities/flattenObject.d.ts +11 -0
  334. package/dist/utilities/flattenObject.d.ts.map +1 -0
  335. package/dist/utilities/flattenObject.js +129 -0
  336. package/dist/utilities/flattenObject.js.map +1 -0
  337. package/dist/utilities/getExportFieldFunctions.d.ts +12 -0
  338. package/dist/utilities/getExportFieldFunctions.d.ts.map +1 -0
  339. package/dist/utilities/getExportFieldFunctions.js +102 -0
  340. package/dist/utilities/getExportFieldFunctions.js.map +1 -0
  341. package/dist/utilities/getFilename.d.ts +6 -0
  342. package/dist/utilities/getFilename.d.ts.map +1 -0
  343. package/dist/utilities/getFilename.js +13 -0
  344. package/dist/utilities/getFilename.js.map +1 -0
  345. package/dist/utilities/getFlattenedFieldKeys.d.ts +24 -0
  346. package/dist/utilities/getFlattenedFieldKeys.d.ts.map +1 -0
  347. package/dist/utilities/getFlattenedFieldKeys.js +95 -0
  348. package/dist/utilities/getFlattenedFieldKeys.js.map +1 -0
  349. package/dist/utilities/getImportFieldFunctions.d.ts +12 -0
  350. package/dist/utilities/getImportFieldFunctions.d.ts.map +1 -0
  351. package/dist/utilities/getImportFieldFunctions.js +130 -0
  352. package/dist/utilities/getImportFieldFunctions.js.map +1 -0
  353. package/dist/utilities/getPluginCollections.d.ts +39 -0
  354. package/dist/utilities/getPluginCollections.d.ts.map +1 -0
  355. package/dist/utilities/getPluginCollections.js +102 -0
  356. package/dist/utilities/getPluginCollections.js.map +1 -0
  357. package/dist/utilities/getSchemaColumns.d.ts +43 -0
  358. package/dist/utilities/getSchemaColumns.d.ts.map +1 -0
  359. package/dist/utilities/getSchemaColumns.js +163 -0
  360. package/dist/utilities/getSchemaColumns.js.map +1 -0
  361. package/dist/utilities/getSelect.d.ts +11 -0
  362. package/dist/utilities/getSelect.d.ts.map +1 -0
  363. package/dist/utilities/getSelect.js +27 -0
  364. package/dist/utilities/getSelect.js.map +1 -0
  365. package/dist/utilities/getvalueAtPath.d.ts +15 -0
  366. package/dist/utilities/getvalueAtPath.d.ts.map +1 -0
  367. package/dist/utilities/getvalueAtPath.js +49 -0
  368. package/dist/utilities/getvalueAtPath.js.map +1 -0
  369. package/dist/utilities/parseCSV.d.ts +11 -0
  370. package/dist/utilities/parseCSV.d.ts.map +1 -0
  371. package/dist/utilities/parseCSV.js +67 -0
  372. package/dist/utilities/parseCSV.js.map +1 -0
  373. package/dist/utilities/parseCSV.spec.js +169 -0
  374. package/dist/utilities/parseCSV.spec.js.map +1 -0
  375. package/dist/utilities/parseJSON.d.ts +11 -0
  376. package/dist/utilities/parseJSON.d.ts.map +1 -0
  377. package/dist/utilities/parseJSON.js +25 -0
  378. package/dist/utilities/parseJSON.js.map +1 -0
  379. package/dist/utilities/processRichTextField.d.ts +6 -0
  380. package/dist/utilities/processRichTextField.d.ts.map +1 -0
  381. package/dist/utilities/processRichTextField.js +45 -0
  382. package/dist/utilities/processRichTextField.js.map +1 -0
  383. package/dist/utilities/removeDisabledFields.d.ts +15 -0
  384. package/dist/utilities/removeDisabledFields.d.ts.map +1 -0
  385. package/dist/utilities/removeDisabledFields.js +66 -0
  386. package/dist/utilities/removeDisabledFields.js.map +1 -0
  387. package/dist/utilities/setNestedValue.d.ts +19 -0
  388. package/dist/utilities/setNestedValue.d.ts.map +1 -0
  389. package/dist/utilities/setNestedValue.js +55 -0
  390. package/dist/utilities/setNestedValue.js.map +1 -0
  391. package/dist/utilities/sortHelpers.d.ts +6 -0
  392. package/dist/utilities/sortHelpers.d.ts.map +1 -0
  393. package/dist/utilities/sortHelpers.js +14 -0
  394. package/dist/utilities/sortHelpers.js.map +1 -0
  395. package/dist/utilities/unflattenObject.d.ts +11 -0
  396. package/dist/utilities/unflattenObject.d.ts.map +1 -0
  397. package/dist/utilities/unflattenObject.js +431 -0
  398. package/dist/utilities/unflattenObject.js.map +1 -0
  399. package/dist/utilities/unflattenObject.spec.js +680 -0
  400. package/dist/utilities/unflattenObject.spec.js.map +1 -0
  401. package/dist/utilities/useBatchProcessor.d.ts +103 -0
  402. package/dist/utilities/useBatchProcessor.d.ts.map +1 -0
  403. package/dist/utilities/useBatchProcessor.js +88 -0
  404. package/dist/utilities/useBatchProcessor.js.map +1 -0
  405. package/dist/utilities/validateLimitValue.d.ts +3 -0
  406. package/dist/utilities/validateLimitValue.d.ts.map +1 -0
  407. package/dist/utilities/validateLimitValue.js +12 -0
  408. package/dist/utilities/validateLimitValue.js.map +1 -0
  409. package/license.md +22 -0
  410. package/package.json +90 -0
@@ -0,0 +1,244 @@
1
+ import { getFilename } from '../utilities/getFilename.js';
2
+ import { validateLimitValue } from '../utilities/validateLimitValue.js';
3
+ export const getFields = (config, options)=>{
4
+ const format = options?.format;
5
+ let localeField;
6
+ if (config.localization) {
7
+ localeField = {
8
+ name: 'locale',
9
+ type: 'select',
10
+ admin: {
11
+ width: '25%'
12
+ },
13
+ defaultValue: 'all',
14
+ // @ts-expect-error - this is not correctly typed in plugins right now
15
+ label: ({ t })=>t('plugin-import-export:field-locale-label'),
16
+ options: [
17
+ {
18
+ label: ({ t })=>t('general:allLocales'),
19
+ value: 'all'
20
+ },
21
+ ...config.localization.locales.map((locale)=>({
22
+ label: typeof locale === 'string' ? locale : locale.label,
23
+ value: typeof locale === 'string' ? locale : locale.code
24
+ }))
25
+ ]
26
+ };
27
+ }
28
+ return [
29
+ {
30
+ type: 'collapsible',
31
+ fields: [
32
+ {
33
+ name: 'name',
34
+ type: 'text',
35
+ defaultValue: ()=>getFilename(),
36
+ // @ts-expect-error - this is not correctly typed in plugins right now
37
+ label: ({ t })=>t('plugin-import-export:field-name-label')
38
+ },
39
+ {
40
+ type: 'row',
41
+ fields: [
42
+ {
43
+ name: 'format',
44
+ type: 'select',
45
+ admin: {
46
+ // Hide if a forced format is set via config
47
+ condition: ()=>!format,
48
+ width: '33.3333%'
49
+ },
50
+ defaultValue: format ?? 'csv',
51
+ // @ts-expect-error - this is not correctly typed in plugins right now
52
+ label: ({ t })=>t('plugin-import-export:field-format-label'),
53
+ options: [
54
+ {
55
+ label: 'CSV',
56
+ value: 'csv'
57
+ },
58
+ {
59
+ label: 'JSON',
60
+ value: 'json'
61
+ }
62
+ ],
63
+ required: true
64
+ },
65
+ {
66
+ name: 'limit',
67
+ type: 'number',
68
+ admin: {
69
+ placeholder: 'No limit',
70
+ step: 100,
71
+ width: '33.3333%'
72
+ },
73
+ validate: (value, { req })=>{
74
+ return validateLimitValue(value, req.t) ?? true;
75
+ },
76
+ // @ts-expect-error - this is not correctly typed in plugins right now
77
+ label: ({ t })=>t('plugin-import-export:field-limit-label')
78
+ },
79
+ {
80
+ name: 'page',
81
+ type: 'number',
82
+ admin: {
83
+ components: {
84
+ Field: '@ruya.sa/plugin-import-export/rsc#Page'
85
+ },
86
+ condition: ({ limit })=>{
87
+ // Show the page field only if limit is set
88
+ return typeof limit === 'number' && limit !== 0;
89
+ },
90
+ width: '33.3333%'
91
+ },
92
+ defaultValue: 1,
93
+ // @ts-expect-error - this is not correctly typed in plugins right now
94
+ label: ({ t })=>t('plugin-import-export:field-page-label')
95
+ }
96
+ ]
97
+ },
98
+ {
99
+ type: 'row',
100
+ fields: [
101
+ {
102
+ name: 'sort',
103
+ type: 'text',
104
+ admin: {
105
+ components: {
106
+ Field: '@ruya.sa/plugin-import-export/rsc#SortBy'
107
+ }
108
+ },
109
+ // @ts-expect-error - this is not correctly typed in plugins right now
110
+ label: ({ t })=>t('plugin-import-export:field-sort-label')
111
+ },
112
+ {
113
+ name: 'sortOrder',
114
+ type: 'select',
115
+ admin: {
116
+ components: {
117
+ Field: '@ruya.sa/plugin-import-export/rsc#SortOrder'
118
+ },
119
+ // Only show when `sort` has a value
120
+ condition: ({ sort })=>typeof sort === 'string' && sort.trim().length > 0
121
+ },
122
+ // @ts-expect-error - this is not correctly typed in plugins right now
123
+ label: ({ t })=>t('plugin-import-export:field-sort-order-label'),
124
+ options: [
125
+ {
126
+ label: 'Ascending',
127
+ value: 'asc'
128
+ },
129
+ {
130
+ label: 'Descending',
131
+ value: 'desc'
132
+ }
133
+ ]
134
+ },
135
+ ...localeField ? [
136
+ localeField
137
+ ] : [],
138
+ {
139
+ name: 'drafts',
140
+ type: 'select',
141
+ admin: {
142
+ condition: (data)=>{
143
+ const collectionConfig = (config.collections ?? []).find((collection)=>collection.slug === data.collectionSlug);
144
+ return Boolean(typeof collectionConfig?.versions === 'object' && collectionConfig?.versions?.drafts);
145
+ },
146
+ width: '25%'
147
+ },
148
+ defaultValue: 'yes',
149
+ // @ts-expect-error - this is not correctly typed in plugins right now
150
+ label: ({ t })=>t('plugin-import-export:field-drafts-label'),
151
+ options: [
152
+ {
153
+ label: ({ t })=>t('general:yes'),
154
+ value: 'yes'
155
+ },
156
+ {
157
+ label: ({ t })=>t('general:no'),
158
+ value: 'no'
159
+ }
160
+ ]
161
+ }
162
+ ]
163
+ },
164
+ {
165
+ name: 'selectionToUse',
166
+ type: 'radio',
167
+ admin: {
168
+ components: {
169
+ Field: '@ruya.sa/plugin-import-export/rsc#SelectionToUseField'
170
+ }
171
+ },
172
+ options: [
173
+ {
174
+ // @ts-expect-error - this is not correctly typed in plugins right now
175
+ label: ({ t })=>t('plugin-import-export:selectionToUse-currentSelection'),
176
+ value: 'currentSelection'
177
+ },
178
+ {
179
+ // @ts-expect-error - this is not correctly typed in plugins right now
180
+ label: ({ t })=>t('plugin-import-export:selectionToUse-currentFilters'),
181
+ value: 'currentFilters'
182
+ },
183
+ {
184
+ // @ts-expect-error - this is not correctly typed in plugins right now
185
+ label: ({ t })=>t('plugin-import-export:selectionToUse-allDocuments'),
186
+ value: 'all'
187
+ }
188
+ ],
189
+ virtual: true
190
+ },
191
+ {
192
+ name: 'fields',
193
+ type: 'text',
194
+ admin: {
195
+ components: {
196
+ Field: '@ruya.sa/plugin-import-export/rsc#FieldsToExport'
197
+ }
198
+ },
199
+ hasMany: true,
200
+ // @ts-expect-error - this is not correctly typed in plugins right now
201
+ label: ({ t })=>t('plugin-import-export:field-fields-label')
202
+ },
203
+ {
204
+ name: 'collectionSlug',
205
+ type: 'text',
206
+ admin: {
207
+ components: {
208
+ Field: '@ruya.sa/plugin-import-export/rsc#CollectionField'
209
+ }
210
+ },
211
+ required: true
212
+ },
213
+ {
214
+ name: 'where',
215
+ type: 'json',
216
+ admin: {
217
+ hidden: true
218
+ },
219
+ defaultValue: {},
220
+ hooks: {
221
+ beforeValidate: [
222
+ ({ value })=>{
223
+ return value ?? {};
224
+ }
225
+ ]
226
+ }
227
+ }
228
+ ],
229
+ // @ts-expect-error - this is not correctly typed in plugins right now
230
+ label: ({ t })=>t('plugin-import-export:exportOptions')
231
+ },
232
+ {
233
+ name: 'preview',
234
+ type: 'ui',
235
+ admin: {
236
+ components: {
237
+ Field: '@ruya.sa/plugin-import-export/rsc#ExportPreview'
238
+ }
239
+ }
240
+ }
241
+ ];
242
+ };
243
+
244
+ //# sourceMappingURL=getFields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/export/getFields.ts"],"sourcesContent":["import type { TFunction } from '@ruya.sa/translations'\nimport type { Config, Field, SelectField } from '@ruya.sa/payload'\n\nimport { getFilename } from '../utilities/getFilename.js'\nimport { validateLimitValue } from '../utilities/validateLimitValue.js'\n\ntype GetFieldsOptions = {\n /**\n * Force a specific format, hiding the format dropdown\n */\n format?: 'csv' | 'json'\n}\n\nexport const getFields = (config: Config, options?: GetFieldsOptions): Field[] => {\n const format = options?.format\n let localeField: SelectField | undefined\n if (config.localization) {\n localeField = {\n name: 'locale',\n type: 'select',\n admin: {\n width: '25%',\n },\n defaultValue: 'all',\n // @ts-expect-error - this is not correctly typed in plugins right now\n label: ({ t }) => t('plugin-import-export:field-locale-label'),\n options: [\n {\n label: ({ t }) => t('general:allLocales'),\n value: 'all',\n },\n ...config.localization.locales.map((locale) => ({\n label: typeof locale === 'string' ? locale : locale.label,\n value: typeof locale === 'string' ? locale : locale.code,\n })),\n ],\n }\n }\n\n return [\n {\n type: 'collapsible',\n fields: [\n {\n name: 'name',\n type: 'text',\n defaultValue: () => getFilename(),\n // @ts-expect-error - this is not correctly typed in plugins right now\n label: ({ t }) => t('plugin-import-export:field-name-label'),\n },\n {\n type: 'row',\n fields: [\n {\n name: 'format',\n type: 'select',\n admin: {\n // Hide if a forced format is set via config\n condition: () => !format,\n width: '33.3333%',\n },\n defaultValue: format ?? 'csv',\n // @ts-expect-error - this is not correctly typed in plugins right now\n label: ({ t }) => t('plugin-import-export:field-format-label'),\n options: [\n {\n label: 'CSV',\n value: 'csv',\n },\n {\n label: 'JSON',\n value: 'json',\n },\n ],\n required: true,\n },\n {\n name: 'limit',\n type: 'number',\n admin: {\n placeholder: 'No limit',\n step: 100,\n width: '33.3333%',\n },\n validate: (value: null | number | undefined, { req }: { req: { t: TFunction } }) => {\n return validateLimitValue(value, req.t) ?? true\n },\n // @ts-expect-error - this is not correctly typed in plugins right now\n label: ({ t }) => t('plugin-import-export:field-limit-label'),\n },\n {\n name: 'page',\n type: 'number',\n admin: {\n components: {\n Field: '@ruya.sa/plugin-import-export/rsc#Page',\n },\n condition: ({ limit }) => {\n // Show the page field only if limit is set\n return typeof limit === 'number' && limit !== 0\n },\n width: '33.3333%',\n },\n defaultValue: 1,\n // @ts-expect-error - this is not correctly typed in plugins right now\n label: ({ t }) => t('plugin-import-export:field-page-label'),\n },\n ],\n },\n {\n type: 'row',\n fields: [\n {\n name: 'sort',\n type: 'text',\n admin: {\n components: {\n Field: '@ruya.sa/plugin-import-export/rsc#SortBy',\n },\n },\n // @ts-expect-error - this is not correctly typed in plugins right now\n label: ({ t }) => t('plugin-import-export:field-sort-label'),\n },\n {\n name: 'sortOrder',\n type: 'select',\n admin: {\n components: {\n Field: '@ruya.sa/plugin-import-export/rsc#SortOrder',\n },\n // Only show when `sort` has a value\n condition: ({ sort }) => typeof sort === 'string' && sort.trim().length > 0,\n },\n // @ts-expect-error - this is not correctly typed in plugins right now\n label: ({ t }) => t('plugin-import-export:field-sort-order-label'),\n options: [\n { label: 'Ascending', value: 'asc' },\n { label: 'Descending', value: 'desc' },\n ],\n },\n ...(localeField ? [localeField] : []),\n {\n name: 'drafts',\n type: 'select',\n admin: {\n condition: (data) => {\n const collectionConfig = (config.collections ?? []).find(\n (collection) => collection.slug === data.collectionSlug,\n )\n return Boolean(\n typeof collectionConfig?.versions === 'object' &&\n collectionConfig?.versions?.drafts,\n )\n },\n width: '25%',\n },\n defaultValue: 'yes',\n // @ts-expect-error - this is not correctly typed in plugins right now\n label: ({ t }) => t('plugin-import-export:field-drafts-label'),\n options: [\n {\n label: ({ t }) => t('general:yes'),\n value: 'yes',\n },\n {\n label: ({ t }) => t('general:no'),\n value: 'no',\n },\n ],\n },\n // {\n // name: 'depth',\n // type: 'number',\n // // @ts-expect-error - this is not correctly typed in plugins right now\n // label: ({ t }) => t('plugin-import-export:field-depth-label'),\n // admin: {\n // width: '33%',\n // },\n // defaultValue: 1,\n // required: true,\n // },\n ],\n },\n {\n name: 'selectionToUse',\n type: 'radio',\n admin: {\n components: {\n Field: '@ruya.sa/plugin-import-export/rsc#SelectionToUseField',\n },\n },\n options: [\n {\n // @ts-expect-error - this is not correctly typed in plugins right now\n label: ({ t }) => t('plugin-import-export:selectionToUse-currentSelection'),\n value: 'currentSelection',\n },\n {\n // @ts-expect-error - this is not correctly typed in plugins right now\n label: ({ t }) => t('plugin-import-export:selectionToUse-currentFilters'),\n value: 'currentFilters',\n },\n {\n // @ts-expect-error - this is not correctly typed in plugins right now\n label: ({ t }) => t('plugin-import-export:selectionToUse-allDocuments'),\n value: 'all',\n },\n ],\n virtual: true,\n },\n {\n name: 'fields',\n type: 'text',\n admin: {\n components: {\n Field: '@ruya.sa/plugin-import-export/rsc#FieldsToExport',\n },\n },\n hasMany: true,\n // @ts-expect-error - this is not correctly typed in plugins right now\n label: ({ t }) => t('plugin-import-export:field-fields-label'),\n },\n {\n name: 'collectionSlug',\n type: 'text',\n admin: {\n components: {\n Field: '@ruya.sa/plugin-import-export/rsc#CollectionField',\n },\n },\n required: true,\n },\n {\n name: 'where',\n type: 'json',\n admin: {\n hidden: true,\n },\n defaultValue: {},\n hooks: {\n beforeValidate: [\n ({ value }) => {\n return value ?? {}\n },\n ],\n },\n },\n ],\n // @ts-expect-error - this is not correctly typed in plugins right now\n label: ({ t }) => t('plugin-import-export:exportOptions'),\n },\n {\n name: 'preview',\n type: 'ui',\n admin: {\n components: {\n Field: '@ruya.sa/plugin-import-export/rsc#ExportPreview',\n },\n },\n },\n ]\n}\n"],"names":["getFilename","validateLimitValue","getFields","config","options","format","localeField","localization","name","type","admin","width","defaultValue","label","t","value","locales","map","locale","code","fields","condition","required","placeholder","step","validate","req","components","Field","limit","sort","trim","length","data","collectionConfig","collections","find","collection","slug","collectionSlug","Boolean","versions","drafts","virtual","hasMany","hidden","hooks","beforeValidate"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { PayloadRequest } from '@ruya.sa/payload';
2
+ export declare const handleDownload: (req: PayloadRequest, debug?: boolean) => Promise<Response>;
3
+ //# sourceMappingURL=handleDownload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handleDownload.d.ts","sourceRoot":"","sources":["../../src/export/handleDownload.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAMtD,eAAO,MAAM,cAAc,QAAe,cAAc,uCAqCvD,CAAA"}
@@ -0,0 +1,42 @@
1
+ import { APIError } from '@ruya.sa/payload';
2
+ import { createExport } from './createExport.js';
3
+ export const handleDownload = async (req, debug = false)=>{
4
+ try {
5
+ let body;
6
+ if (typeof req?.json === 'function') {
7
+ body = await req.json();
8
+ }
9
+ if (!body || !body.data) {
10
+ throw new APIError('Request data is required.');
11
+ }
12
+ const { collectionSlug } = body.data || {};
13
+ req.payload.logger.info(`Download request received ${collectionSlug}`);
14
+ const { user } = req;
15
+ body.data.userID = user?.id || user?.user?.id;
16
+ body.data.userCollection = user?.collection || user?.user?.collection;
17
+ const res = await createExport({
18
+ ...body.data,
19
+ debug,
20
+ download: true,
21
+ req,
22
+ user: req.user
23
+ });
24
+ return res;
25
+ } catch (err) {
26
+ // Return JSON for front-end toast
27
+ return new Response(JSON.stringify({
28
+ errors: [
29
+ {
30
+ message: err.message || 'Something went wrong'
31
+ }
32
+ ]
33
+ }), {
34
+ headers: {
35
+ 'Content-Type': 'application/json'
36
+ },
37
+ status: 400
38
+ });
39
+ }
40
+ };
41
+
42
+ //# sourceMappingURL=handleDownload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/export/handleDownload.ts"],"sourcesContent":["import type { PayloadRequest } from '@ruya.sa/payload'\n\nimport { APIError } from '@ruya.sa/payload'\n\nimport { createExport } from './createExport.js'\n\nexport const handleDownload = async (req: PayloadRequest, debug = false) => {\n try {\n let body\n\n if (typeof req?.json === 'function') {\n body = await req.json()\n }\n\n if (!body || !body.data) {\n throw new APIError('Request data is required.')\n }\n\n const { collectionSlug } = body.data || {}\n\n req.payload.logger.info(`Download request received ${collectionSlug}`)\n\n const { user } = req\n\n body.data.userID = user?.id || user?.user?.id\n body.data.userCollection = user?.collection || user?.user?.collection\n\n const res = await createExport({\n ...body.data,\n debug,\n download: true,\n req,\n user: req.user,\n })\n\n return res as Response\n } catch (err) {\n // Return JSON for front-end toast\n return new Response(\n JSON.stringify({ errors: [{ message: (err as Error).message || 'Something went wrong' }] }),\n { headers: { 'Content-Type': 'application/json' }, status: 400 },\n )\n }\n}\n"],"names":["APIError","createExport","handleDownload","req","debug","body","json","data","collectionSlug","payload","logger","info","user","userID","id","userCollection","collection","res","download","err","Response","JSON","stringify","errors","message","headers","status"],"mappings":"AAEA,SAASA,QAAQ,QAAQ,mBAAkB;AAE3C,SAASC,YAAY,QAAQ,oBAAmB;AAEhD,OAAO,MAAMC,iBAAiB,OAAOC,KAAqBC,QAAQ,KAAK;IACrE,IAAI;QACF,IAAIC;QAEJ,IAAI,OAAOF,KAAKG,SAAS,YAAY;YACnCD,OAAO,MAAMF,IAAIG,IAAI;QACvB;QAEA,IAAI,CAACD,QAAQ,CAACA,KAAKE,IAAI,EAAE;YACvB,MAAM,IAAIP,SAAS;QACrB;QAEA,MAAM,EAAEQ,cAAc,EAAE,GAAGH,KAAKE,IAAI,IAAI,CAAC;QAEzCJ,IAAIM,OAAO,CAACC,MAAM,CAACC,IAAI,CAAC,CAAC,0BAA0B,EAAEH,gBAAgB;QAErE,MAAM,EAAEI,IAAI,EAAE,GAAGT;QAEjBE,KAAKE,IAAI,CAACM,MAAM,GAAGD,MAAME,MAAMF,MAAMA,MAAME;QAC3CT,KAAKE,IAAI,CAACQ,cAAc,GAAGH,MAAMI,cAAcJ,MAAMA,MAAMI;QAE3D,MAAMC,MAAM,MAAMhB,aAAa;YAC7B,GAAGI,KAAKE,IAAI;YACZH;YACAc,UAAU;YACVf;YACAS,MAAMT,IAAIS,IAAI;QAChB;QAEA,OAAOK;IACT,EAAE,OAAOE,KAAK;QACZ,kCAAkC;QAClC,OAAO,IAAIC,SACTC,KAAKC,SAAS,CAAC;YAAEC,QAAQ;gBAAC;oBAAEC,SAAS,AAACL,IAAcK,OAAO,IAAI;gBAAuB;aAAE;QAAC,IACzF;YAAEC,SAAS;gBAAE,gBAAgB;YAAmB;YAAGC,QAAQ;QAAI;IAEnE;AACF,EAAC"}
@@ -0,0 +1,3 @@
1
+ import type { PayloadRequest } from '@ruya.sa/payload';
2
+ export declare const handlePreview: (req: PayloadRequest) => Promise<Response>;
3
+ //# sourceMappingURL=handlePreview.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handlePreview.d.ts","sourceRoot":"","sources":["../../src/export/handlePreview.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAkB,cAAc,EAAS,MAAM,kBAAkB,CAAA;AAqB7E,eAAO,MAAM,aAAa,QAAe,cAAc,KAAG,OAAO,CAAC,QAAQ,CA0MzE,CAAA"}
@@ -0,0 +1,163 @@
1
+ import { addDataAndFileToRequest } from '@ruya.sa/payload';
2
+ import { DEFAULT_PREVIEW_LIMIT, MAX_PREVIEW_LIMIT, MIN_PREVIEW_LIMIT, MIN_PREVIEW_PAGE } from '../constants.js';
3
+ import { flattenObject } from '../utilities/flattenObject.js';
4
+ import { getExportFieldFunctions } from '../utilities/getExportFieldFunctions.js';
5
+ import { getFlattenedFieldKeys } from '../utilities/getFlattenedFieldKeys.js';
6
+ import { getSchemaColumns } from '../utilities/getSchemaColumns.js';
7
+ import { getSelect } from '../utilities/getSelect.js';
8
+ import { getValueAtPath } from '../utilities/getvalueAtPath.js';
9
+ import { removeDisabledFields } from '../utilities/removeDisabledFields.js';
10
+ import { setNestedValue } from '../utilities/setNestedValue.js';
11
+ export const handlePreview = async (req)=>{
12
+ await addDataAndFileToRequest(req);
13
+ const { collectionSlug, draft: draftFromReq, fields, limit: exportLimit, locale, previewLimit: rawPreviewLimit = DEFAULT_PREVIEW_LIMIT, previewPage: rawPreviewPage = 1, sort, where: whereFromReq = {} } = req.data;
14
+ // Validate and clamp pagination values to safe bounds
15
+ const previewLimit = Math.max(MIN_PREVIEW_LIMIT, Math.min(rawPreviewLimit, MAX_PREVIEW_LIMIT));
16
+ const previewPage = Math.max(MIN_PREVIEW_PAGE, rawPreviewPage);
17
+ const targetCollection = req.payload.collections[collectionSlug];
18
+ if (!targetCollection) {
19
+ return Response.json({
20
+ error: `Collection with slug ${collectionSlug} not found`
21
+ }, {
22
+ status: 400
23
+ });
24
+ }
25
+ const select = Array.isArray(fields) && fields.length > 0 ? getSelect(fields) : undefined;
26
+ const draft = draftFromReq === 'yes';
27
+ const collectionHasVersions = Boolean(targetCollection.config.versions);
28
+ // Only filter by _status for versioned collections
29
+ const publishedWhere = collectionHasVersions ? {
30
+ _status: {
31
+ equals: 'published'
32
+ }
33
+ } : {};
34
+ const where = {
35
+ and: [
36
+ whereFromReq,
37
+ draft ? {} : publishedWhere
38
+ ]
39
+ };
40
+ // Count total docs matching export criteria
41
+ const countResult = await req.payload.count({
42
+ collection: collectionSlug,
43
+ overrideAccess: false,
44
+ req,
45
+ where
46
+ });
47
+ const totalMatchingDocs = countResult.totalDocs;
48
+ // Calculate actual export count (respecting export limit)
49
+ const exportTotalDocs = exportLimit && exportLimit > 0 ? Math.min(totalMatchingDocs, exportLimit) : totalMatchingDocs;
50
+ // Calculate preview pagination that respects export limit
51
+ // Preview should only show docs that will actually be exported
52
+ const previewStartIndex = (previewPage - 1) * previewLimit;
53
+ // Calculate pagination info based on export limit (not raw DB results)
54
+ const previewTotalPages = exportTotalDocs === 0 ? 0 : Math.ceil(exportTotalDocs / previewLimit);
55
+ const isCSV = req?.data?.format === 'csv';
56
+ // Get locale codes for locale expansion when locale='all'
57
+ const localeCodes = locale === 'all' && req.payload.config.localization ? req.payload.config.localization.localeCodes : undefined;
58
+ // Get disabled fields configuration
59
+ const disabledFields = targetCollection.config.admin?.custom?.['plugin-import-export']?.disabledFields ?? [];
60
+ // Always compute columns for CSV (even if no docs) for consistent schema
61
+ const columns = isCSV ? getSchemaColumns({
62
+ collectionConfig: targetCollection.config,
63
+ disabledFields,
64
+ fields,
65
+ locale: locale ?? undefined,
66
+ localeCodes
67
+ }) : undefined;
68
+ // If we're beyond the export limit, return empty docs with columns
69
+ if (exportLimit && exportLimit > 0 && previewStartIndex >= exportLimit) {
70
+ const response = {
71
+ columns,
72
+ docs: [],
73
+ exportTotalDocs,
74
+ hasNextPage: false,
75
+ hasPrevPage: previewPage > 1,
76
+ limit: previewLimit,
77
+ page: previewPage,
78
+ totalDocs: exportTotalDocs,
79
+ totalPages: previewTotalPages
80
+ };
81
+ return Response.json(response);
82
+ }
83
+ // Fetch preview page with full previewLimit to maintain consistent pagination offsets
84
+ // We'll trim the results afterwards if needed to respect export limit
85
+ const result = await req.payload.find({
86
+ collection: collectionSlug,
87
+ depth: 1,
88
+ draft,
89
+ limit: previewLimit,
90
+ locale,
91
+ overrideAccess: false,
92
+ page: previewPage,
93
+ req,
94
+ select,
95
+ sort,
96
+ where
97
+ });
98
+ // Trim docs to respect export limit boundary
99
+ let docs = result.docs;
100
+ if (exportLimit && exportLimit > 0) {
101
+ const remainingInExport = exportLimit - previewStartIndex;
102
+ if (remainingInExport < docs.length) {
103
+ docs = docs.slice(0, remainingInExport);
104
+ }
105
+ }
106
+ // Transform docs based on format
107
+ let transformed;
108
+ if (isCSV) {
109
+ const toCSVFunctions = getExportFieldFunctions({
110
+ fields: targetCollection.config.fields
111
+ });
112
+ const possibleKeys = getFlattenedFieldKeys(targetCollection.config.fields, '', {
113
+ localeCodes
114
+ });
115
+ transformed = docs.map((doc)=>{
116
+ const row = flattenObject({
117
+ doc,
118
+ fields,
119
+ toCSVFunctions
120
+ });
121
+ for (const key of possibleKeys){
122
+ if (!(key in row)) {
123
+ row[key] = null;
124
+ }
125
+ }
126
+ return row;
127
+ });
128
+ } else {
129
+ transformed = docs.map((doc)=>{
130
+ let output = {
131
+ ...doc
132
+ };
133
+ // Remove disabled fields first
134
+ output = removeDisabledFields(output, disabledFields);
135
+ // Then trim to selected fields only (if fields are provided)
136
+ if (Array.isArray(fields) && fields.length > 0) {
137
+ const trimmed = {};
138
+ for (const key of fields){
139
+ const value = getValueAtPath(output, key);
140
+ setNestedValue(trimmed, key, value ?? null);
141
+ }
142
+ output = trimmed;
143
+ }
144
+ return output;
145
+ });
146
+ }
147
+ const hasNextPage = previewPage < previewTotalPages;
148
+ const hasPrevPage = previewPage > 1;
149
+ const response = {
150
+ columns,
151
+ docs: transformed,
152
+ exportTotalDocs,
153
+ hasNextPage,
154
+ hasPrevPage,
155
+ limit: previewLimit,
156
+ page: previewPage,
157
+ totalDocs: exportTotalDocs,
158
+ totalPages: previewTotalPages
159
+ };
160
+ return Response.json(response);
161
+ };
162
+
163
+ //# sourceMappingURL=handlePreview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/export/handlePreview.ts"],"sourcesContent":["import type { FlattenedField, PayloadRequest, Where } from '@ruya.sa/payload'\n\nimport { addDataAndFileToRequest } from '@ruya.sa/payload'\n\nimport type { ExportPreviewResponse } from '../types.js'\n\nimport {\n DEFAULT_PREVIEW_LIMIT,\n MAX_PREVIEW_LIMIT,\n MIN_PREVIEW_LIMIT,\n MIN_PREVIEW_PAGE,\n} from '../constants.js'\nimport { flattenObject } from '../utilities/flattenObject.js'\nimport { getExportFieldFunctions } from '../utilities/getExportFieldFunctions.js'\nimport { getFlattenedFieldKeys } from '../utilities/getFlattenedFieldKeys.js'\nimport { getSchemaColumns } from '../utilities/getSchemaColumns.js'\nimport { getSelect } from '../utilities/getSelect.js'\nimport { getValueAtPath } from '../utilities/getvalueAtPath.js'\nimport { removeDisabledFields } from '../utilities/removeDisabledFields.js'\nimport { setNestedValue } from '../utilities/setNestedValue.js'\n\nexport const handlePreview = async (req: PayloadRequest): Promise<Response> => {\n await addDataAndFileToRequest(req)\n\n const {\n collectionSlug,\n draft: draftFromReq,\n fields,\n limit: exportLimit,\n locale,\n previewLimit: rawPreviewLimit = DEFAULT_PREVIEW_LIMIT,\n previewPage: rawPreviewPage = 1,\n sort,\n where: whereFromReq = {},\n } = req.data as {\n collectionSlug: string\n draft?: 'no' | 'yes'\n fields?: string[]\n format?: 'csv' | 'json'\n limit?: number\n locale?: string\n previewLimit?: number\n previewPage?: number\n sort?: any\n where?: any\n }\n\n // Validate and clamp pagination values to safe bounds\n const previewLimit = Math.max(MIN_PREVIEW_LIMIT, Math.min(rawPreviewLimit, MAX_PREVIEW_LIMIT))\n const previewPage = Math.max(MIN_PREVIEW_PAGE, rawPreviewPage)\n\n const targetCollection = req.payload.collections[collectionSlug]\n if (!targetCollection) {\n return Response.json(\n { error: `Collection with slug ${collectionSlug} not found` },\n { status: 400 },\n )\n }\n\n const select = Array.isArray(fields) && fields.length > 0 ? getSelect(fields) : undefined\n const draft = draftFromReq === 'yes'\n const collectionHasVersions = Boolean(targetCollection.config.versions)\n\n // Only filter by _status for versioned collections\n const publishedWhere: Where = collectionHasVersions ? { _status: { equals: 'published' } } : {}\n\n const where: Where = {\n and: [whereFromReq, draft ? {} : publishedWhere],\n }\n\n // Count total docs matching export criteria\n const countResult = await req.payload.count({\n collection: collectionSlug,\n overrideAccess: false,\n req,\n where,\n })\n\n const totalMatchingDocs = countResult.totalDocs\n\n // Calculate actual export count (respecting export limit)\n const exportTotalDocs =\n exportLimit && exportLimit > 0 ? Math.min(totalMatchingDocs, exportLimit) : totalMatchingDocs\n\n // Calculate preview pagination that respects export limit\n // Preview should only show docs that will actually be exported\n const previewStartIndex = (previewPage - 1) * previewLimit\n\n // Calculate pagination info based on export limit (not raw DB results)\n const previewTotalPages = exportTotalDocs === 0 ? 0 : Math.ceil(exportTotalDocs / previewLimit)\n\n const isCSV = req?.data?.format === 'csv'\n\n // Get locale codes for locale expansion when locale='all'\n const localeCodes =\n locale === 'all' && req.payload.config.localization\n ? req.payload.config.localization.localeCodes\n : undefined\n\n // Get disabled fields configuration\n const disabledFields =\n targetCollection.config.admin?.custom?.['plugin-import-export']?.disabledFields ?? []\n\n // Always compute columns for CSV (even if no docs) for consistent schema\n const columns = isCSV\n ? getSchemaColumns({\n collectionConfig: targetCollection.config,\n disabledFields,\n fields,\n locale: locale ?? undefined,\n localeCodes,\n })\n : undefined\n\n // If we're beyond the export limit, return empty docs with columns\n if (exportLimit && exportLimit > 0 && previewStartIndex >= exportLimit) {\n const response: ExportPreviewResponse = {\n columns,\n docs: [],\n exportTotalDocs,\n hasNextPage: false,\n hasPrevPage: previewPage > 1,\n limit: previewLimit,\n page: previewPage,\n totalDocs: exportTotalDocs,\n totalPages: previewTotalPages,\n }\n return Response.json(response)\n }\n\n // Fetch preview page with full previewLimit to maintain consistent pagination offsets\n // We'll trim the results afterwards if needed to respect export limit\n const result = await req.payload.find({\n collection: collectionSlug,\n depth: 1,\n draft,\n limit: previewLimit,\n locale,\n overrideAccess: false,\n page: previewPage,\n req,\n select,\n sort,\n where,\n })\n\n // Trim docs to respect export limit boundary\n let docs = result.docs\n if (exportLimit && exportLimit > 0) {\n const remainingInExport = exportLimit - previewStartIndex\n if (remainingInExport < docs.length) {\n docs = docs.slice(0, remainingInExport)\n }\n }\n\n // Transform docs based on format\n let transformed: Record<string, unknown>[]\n\n if (isCSV) {\n const toCSVFunctions = getExportFieldFunctions({\n fields: targetCollection.config.fields as FlattenedField[],\n })\n\n const possibleKeys = getFlattenedFieldKeys(\n targetCollection.config.fields as FlattenedField[],\n '',\n { localeCodes },\n )\n\n transformed = docs.map((doc) => {\n const row = flattenObject({\n doc,\n fields,\n toCSVFunctions,\n })\n\n for (const key of possibleKeys) {\n if (!(key in row)) {\n row[key] = null\n }\n }\n\n return row\n })\n } else {\n transformed = docs.map((doc) => {\n let output: Record<string, unknown> = { ...doc }\n\n // Remove disabled fields first\n output = removeDisabledFields(output, disabledFields)\n\n // Then trim to selected fields only (if fields are provided)\n if (Array.isArray(fields) && fields.length > 0) {\n const trimmed: Record<string, unknown> = {}\n\n for (const key of fields) {\n const value = getValueAtPath(output, key)\n setNestedValue(trimmed, key, value ?? null)\n }\n\n output = trimmed\n }\n\n return output\n })\n }\n\n const hasNextPage = previewPage < previewTotalPages\n const hasPrevPage = previewPage > 1\n\n const response: ExportPreviewResponse = {\n columns,\n docs: transformed,\n exportTotalDocs,\n hasNextPage,\n hasPrevPage,\n limit: previewLimit,\n page: previewPage,\n totalDocs: exportTotalDocs,\n totalPages: previewTotalPages,\n }\n\n return Response.json(response)\n}\n"],"names":["addDataAndFileToRequest","DEFAULT_PREVIEW_LIMIT","MAX_PREVIEW_LIMIT","MIN_PREVIEW_LIMIT","MIN_PREVIEW_PAGE","flattenObject","getExportFieldFunctions","getFlattenedFieldKeys","getSchemaColumns","getSelect","getValueAtPath","removeDisabledFields","setNestedValue","handlePreview","req","collectionSlug","draft","draftFromReq","fields","limit","exportLimit","locale","previewLimit","rawPreviewLimit","previewPage","rawPreviewPage","sort","where","whereFromReq","data","Math","max","min","targetCollection","payload","collections","Response","json","error","status","select","Array","isArray","length","undefined","collectionHasVersions","Boolean","config","versions","publishedWhere","_status","equals","and","countResult","count","collection","overrideAccess","totalMatchingDocs","totalDocs","exportTotalDocs","previewStartIndex","previewTotalPages","ceil","isCSV","format","localeCodes","localization","disabledFields","admin","custom","columns","collectionConfig","response","docs","hasNextPage","hasPrevPage","page","totalPages","result","find","depth","remainingInExport","slice","transformed","toCSVFunctions","possibleKeys","map","doc","row","key","output","trimmed","value"],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ export { CollectionField } from '../components/CollectionField/index.js';
2
+ export { ExportListMenuItem } from '../components/ExportListMenuItem/index.js';
3
+ export { ExportPreview } from '../components/ExportPreview/index.js';
4
+ export { ExportSaveButton } from '../components/ExportSaveButton/index.js';
5
+ export { FieldsToExport } from '../components/FieldsToExport/index.js';
6
+ export { ImportCollectionField } from '../components/ImportCollectionField/index.js';
7
+ export { ImportExportProvider } from '../components/ImportExportProvider/index.js';
8
+ export { ImportListMenuItem } from '../components/ImportListMenuItem/index.js';
9
+ export { ImportPreview } from '../components/ImportPreview/index.js';
10
+ export { ImportSaveButton } from '../components/ImportSaveButton/index.js';
11
+ export { Page } from '../components/Page/index.js';
12
+ export { SelectionToUseField } from '../components/SelectionToUseField/index.js';
13
+ export { SortBy } from '../components/SortBy/index.js';
14
+ export { SortOrder } from '../components/SortOrder/index.js';
15
+ //# sourceMappingURL=rsc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rsc.d.ts","sourceRoot":"","sources":["../../src/exports/rsc.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAA;AACxE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAA;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAA;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAA;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAA;AACtE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8CAA8C,CAAA;AACpF,OAAO,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAA;AAClF,OAAO,EAAE,kBAAkB,EAAE,MAAM,2CAA2C,CAAA;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAA;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAA;AAC1E,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAA;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAA;AAChF,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAA;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAA"}
@@ -0,0 +1,16 @@
1
+ export { CollectionField } from '../components/CollectionField/index.js';
2
+ export { ExportListMenuItem } from '../components/ExportListMenuItem/index.js';
3
+ export { ExportPreview } from '../components/ExportPreview/index.js';
4
+ export { ExportSaveButton } from '../components/ExportSaveButton/index.js';
5
+ export { FieldsToExport } from '../components/FieldsToExport/index.js';
6
+ export { ImportCollectionField } from '../components/ImportCollectionField/index.js';
7
+ export { ImportExportProvider } from '../components/ImportExportProvider/index.js';
8
+ export { ImportListMenuItem } from '../components/ImportListMenuItem/index.js';
9
+ export { ImportPreview } from '../components/ImportPreview/index.js';
10
+ export { ImportSaveButton } from '../components/ImportSaveButton/index.js';
11
+ export { Page } from '../components/Page/index.js';
12
+ export { SelectionToUseField } from '../components/SelectionToUseField/index.js';
13
+ export { SortBy } from '../components/SortBy/index.js';
14
+ export { SortOrder } from '../components/SortOrder/index.js';
15
+
16
+ //# sourceMappingURL=rsc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/exports/rsc.ts"],"sourcesContent":["export { CollectionField } from '../components/CollectionField/index.js'\nexport { ExportListMenuItem } from '../components/ExportListMenuItem/index.js'\nexport { ExportPreview } from '../components/ExportPreview/index.js'\nexport { ExportSaveButton } from '../components/ExportSaveButton/index.js'\nexport { FieldsToExport } from '../components/FieldsToExport/index.js'\nexport { ImportCollectionField } from '../components/ImportCollectionField/index.js'\nexport { ImportExportProvider } from '../components/ImportExportProvider/index.js'\nexport { ImportListMenuItem } from '../components/ImportListMenuItem/index.js'\nexport { ImportPreview } from '../components/ImportPreview/index.js'\nexport { ImportSaveButton } from '../components/ImportSaveButton/index.js'\nexport { Page } from '../components/Page/index.js'\nexport { SelectionToUseField } from '../components/SelectionToUseField/index.js'\nexport { SortBy } from '../components/SortBy/index.js'\nexport { SortOrder } from '../components/SortOrder/index.js'\n"],"names":["CollectionField","ExportListMenuItem","ExportPreview","ExportSaveButton","FieldsToExport","ImportCollectionField","ImportExportProvider","ImportListMenuItem","ImportPreview","ImportSaveButton","Page","SelectionToUseField","SortBy","SortOrder"],"mappings":"AAAA,SAASA,eAAe,QAAQ,yCAAwC;AACxE,SAASC,kBAAkB,QAAQ,4CAA2C;AAC9E,SAASC,aAAa,QAAQ,uCAAsC;AACpE,SAASC,gBAAgB,QAAQ,0CAAyC;AAC1E,SAASC,cAAc,QAAQ,wCAAuC;AACtE,SAASC,qBAAqB,QAAQ,+CAA8C;AACpF,SAASC,oBAAoB,QAAQ,8CAA6C;AAClF,SAASC,kBAAkB,QAAQ,4CAA2C;AAC9E,SAASC,aAAa,QAAQ,uCAAsC;AACpE,SAASC,gBAAgB,QAAQ,0CAAyC;AAC1E,SAASC,IAAI,QAAQ,8BAA6B;AAClD,SAASC,mBAAmB,QAAQ,6CAA4C;AAChF,SAASC,MAAM,QAAQ,gCAA+B;AACtD,SAASC,SAAS,QAAQ,mCAAkC"}
@@ -0,0 +1,2 @@
1
+ export type { ImportExportPluginConfig, ToCSVFunction } from '../types.js';
2
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/exports/types.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,wBAAwB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA"}
@@ -0,0 +1,3 @@
1
+ export { };
2
+
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/exports/types.ts"],"sourcesContent":["export type { ImportExportPluginConfig, ToCSVFunction } from '../types.js'\n"],"names":[],"mappings":"AAAA,WAA0E"}
@@ -0,0 +1,46 @@
1
+ import type { PayloadRequest, TypedUser } from '@ruya.sa/payload';
2
+ import type { ImportMode, ImportResult } from './createImport.js';
3
+ import { type BatchError } from '../utilities/useBatchProcessor.js';
4
+ /**
5
+ * Import-specific batch processor options
6
+ */
7
+ export interface ImportBatchProcessorOptions {
8
+ batchSize?: number;
9
+ defaultVersionStatus?: 'draft' | 'published';
10
+ }
11
+ /**
12
+ * Import-specific error type extending the generic BatchError
13
+ */
14
+ export interface ImportError extends BatchError<Record<string, unknown>> {
15
+ documentData: Record<string, unknown>;
16
+ field?: string;
17
+ fieldLabel?: string;
18
+ rowNumber: number;
19
+ }
20
+ /**
21
+ * Result from processing a single import batch
22
+ */
23
+ export interface ImportBatchResult {
24
+ failed: Array<ImportError>;
25
+ successful: Array<{
26
+ document: Record<string, unknown>;
27
+ index: number;
28
+ operation?: 'created' | 'updated';
29
+ result: Record<string, unknown>;
30
+ }>;
31
+ }
32
+ /**
33
+ * Options for processing an import operation
34
+ */
35
+ export interface ImportProcessOptions {
36
+ collectionSlug: string;
37
+ documents: Record<string, unknown>[];
38
+ importMode: ImportMode;
39
+ matchField?: string;
40
+ req: PayloadRequest;
41
+ user?: TypedUser;
42
+ }
43
+ export declare function createImportBatchProcessor(options?: ImportBatchProcessorOptions): {
44
+ processImport: (processOptions: ImportProcessOptions) => Promise<ImportResult>;
45
+ };
46
+ //# sourceMappingURL=batchProcessor.d.ts.map