fuse-importer 0.0.1-staging

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 (304) hide show
  1. package/README.md +270 -0
  2. package/lib/esm/Importer/ImporterWithContext.d.ts +6 -0
  3. package/lib/esm/Importer/ImporterWithContext.js +62 -0
  4. package/lib/esm/Importer/Matcher/EnumFieldsMatchers/EnumFieldMatcher/index.d.ts +3 -0
  5. package/lib/esm/Importer/Matcher/EnumFieldsMatchers/EnumFieldMatcher/index.js +68 -0
  6. package/lib/esm/Importer/Matcher/EnumFieldsMatchers/EnumFieldMatcher/tableColumns.d.ts +13 -0
  7. package/lib/esm/Importer/Matcher/EnumFieldsMatchers/EnumFieldMatcher/tableColumns.js +58 -0
  8. package/lib/esm/Importer/Matcher/EnumFieldsMatchers/EnumFieldMatcherContext.d.ts +10 -0
  9. package/lib/esm/Importer/Matcher/EnumFieldsMatchers/EnumFieldMatcherContext.js +21 -0
  10. package/lib/esm/Importer/Matcher/EnumFieldsMatchers/index.d.ts +1 -0
  11. package/lib/esm/Importer/Matcher/EnumFieldsMatchers/index.js +23 -0
  12. package/lib/esm/Importer/Matcher/HeaderMatcher/index.d.ts +2 -0
  13. package/lib/esm/Importer/Matcher/HeaderMatcher/index.js +61 -0
  14. package/lib/esm/Importer/Matcher/HeaderMatcher/tableColumns.d.ts +14 -0
  15. package/lib/esm/Importer/Matcher/HeaderMatcher/tableColumns.js +55 -0
  16. package/lib/esm/Importer/Matcher/common/icons/index.d.ts +2 -0
  17. package/lib/esm/Importer/Matcher/common/icons/index.js +14 -0
  18. package/lib/esm/Importer/Matcher/common/index.d.ts +3 -0
  19. package/lib/esm/Importer/Matcher/common/index.js +39 -0
  20. package/lib/esm/Importer/Matcher/common/types.d.ts +7 -0
  21. package/lib/esm/Importer/Matcher/common/types.js +9 -0
  22. package/lib/esm/Importer/Matcher/index.d.ts +3 -0
  23. package/lib/esm/Importer/Matcher/index.js +22 -0
  24. package/lib/esm/Importer/PreviewFirstTime.d.ts +1 -0
  25. package/lib/esm/Importer/PreviewFirstTime.js +81 -0
  26. package/lib/esm/Importer/PreviewModeBanner.d.ts +1 -0
  27. package/lib/esm/Importer/PreviewModeBanner.js +19 -0
  28. package/lib/esm/Importer/Review/AppResponseModal.d.ts +1 -0
  29. package/lib/esm/Importer/Review/AppResponseModal.js +35 -0
  30. package/lib/esm/Importer/Review/ReviewContextProvider.d.ts +29 -0
  31. package/lib/esm/Importer/Review/ReviewContextProvider.js +290 -0
  32. package/lib/esm/Importer/Review/ReviewWithContext.d.ts +2 -0
  33. package/lib/esm/Importer/Review/ReviewWithContext.js +33 -0
  34. package/lib/esm/Importer/Review/index.d.ts +3 -0
  35. package/lib/esm/Importer/Review/index.js +4 -0
  36. package/lib/esm/Importer/Stepper/ConfirmCloseModal.d.ts +7 -0
  37. package/lib/esm/Importer/Stepper/ConfirmCloseModal.js +24 -0
  38. package/lib/esm/Importer/Stepper/Step.d.ts +6 -0
  39. package/lib/esm/Importer/Stepper/Step.js +19 -0
  40. package/lib/esm/Importer/Stepper/StepIndex.d.ts +5 -0
  41. package/lib/esm/Importer/Stepper/StepIndex.js +27 -0
  42. package/lib/esm/Importer/Stepper/StepperSubmitModal.d.ts +7 -0
  43. package/lib/esm/Importer/Stepper/StepperSubmitModal.js +24 -0
  44. package/lib/esm/Importer/Stepper/UnmatchedHeadersModal.d.ts +8 -0
  45. package/lib/esm/Importer/Stepper/UnmatchedHeadersModal.js +31 -0
  46. package/lib/esm/Importer/Stepper/common/getEnumFieldValueMatchingsInitialValue.d.ts +8 -0
  47. package/lib/esm/Importer/Stepper/common/getEnumFieldValueMatchingsInitialValue.js +33 -0
  48. package/lib/esm/Importer/Stepper/common/icons.d.ts +2 -0
  49. package/lib/esm/Importer/Stepper/common/icons.js +18 -0
  50. package/lib/esm/Importer/Stepper/index.d.ts +6 -0
  51. package/lib/esm/Importer/Stepper/index.js +118 -0
  52. package/lib/esm/Importer/TrialModeBanner.d.ts +1 -0
  53. package/lib/esm/Importer/TrialModeBanner.js +22 -0
  54. package/lib/esm/Importer/Uploader/DragAndDropImporter/DragAndDropImporter.styles.d.ts +3 -0
  55. package/lib/esm/Importer/Uploader/DragAndDropImporter/DragAndDropImporter.styles.js +11 -0
  56. package/lib/esm/Importer/Uploader/DragAndDropImporter/ImporterDropzone.d.ts +2 -0
  57. package/lib/esm/Importer/Uploader/DragAndDropImporter/ImporterDropzone.js +111 -0
  58. package/lib/esm/Importer/Uploader/DragAndDropImporter/ImporterSectionHeader/ImporterSectionHeader.styles.d.ts +7 -0
  59. package/lib/esm/Importer/Uploader/DragAndDropImporter/ImporterSectionHeader/ImporterSectionHeader.styles.js +11 -0
  60. package/lib/esm/Importer/Uploader/DragAndDropImporter/ImporterSectionHeader/index.d.ts +7 -0
  61. package/lib/esm/Importer/Uploader/DragAndDropImporter/ImporterSectionHeader/index.js +44 -0
  62. package/lib/esm/Importer/Uploader/DragAndDropImporter/backgrounds.d.ts +2 -0
  63. package/lib/esm/Importer/Uploader/DragAndDropImporter/backgrounds.js +14 -0
  64. package/lib/esm/Importer/Uploader/DragAndDropImporter/index.d.ts +3 -0
  65. package/lib/esm/Importer/Uploader/DragAndDropImporter/index.js +45 -0
  66. package/lib/esm/Importer/Uploader/HeaderButtons.d.ts +1 -0
  67. package/lib/esm/Importer/Uploader/HeaderButtons.js +28 -0
  68. package/lib/esm/Importer/Uploader/HeadersPreview.d.ts +2 -0
  69. package/lib/esm/Importer/Uploader/HeadersPreview.js +36 -0
  70. package/lib/esm/Importer/Uploader/UploaderContextProvider.d.ts +13 -0
  71. package/lib/esm/Importer/Uploader/UploaderContextProvider.js +27 -0
  72. package/lib/esm/Importer/Uploader/index.d.ts +3 -0
  73. package/lib/esm/Importer/Uploader/index.js +13 -0
  74. package/lib/esm/Importer/common/AppLoading.d.ts +1 -0
  75. package/lib/esm/Importer/common/AppLoading.js +24 -0
  76. package/lib/esm/Importer/common/Footer.d.ts +2 -0
  77. package/lib/esm/Importer/common/Footer.js +17 -0
  78. package/lib/esm/Importer/common/FuseApi.d.ts +12 -0
  79. package/lib/esm/Importer/common/FuseApi.js +48 -0
  80. package/lib/esm/Importer/common/GlobalStyle.d.ts +1 -0
  81. package/lib/esm/Importer/common/GlobalStyle.js +7 -0
  82. package/lib/esm/Importer/common/ImporterFonts.d.ts +1 -0
  83. package/lib/esm/Importer/common/ImporterFonts.js +5 -0
  84. package/lib/esm/Importer/common/Spreadsheet/SpreadsheetContextProvider/filterMethods.d.ts +5 -0
  85. package/lib/esm/Importer/common/Spreadsheet/SpreadsheetContextProvider/filterMethods.js +67 -0
  86. package/lib/esm/Importer/common/Spreadsheet/SpreadsheetContextProvider/index.d.ts +47 -0
  87. package/lib/esm/Importer/common/Spreadsheet/SpreadsheetContextProvider/index.js +167 -0
  88. package/lib/esm/Importer/common/Spreadsheet/SpreadsheetContextProvider/useSpreadsheetFilter.d.ts +14 -0
  89. package/lib/esm/Importer/common/Spreadsheet/SpreadsheetContextProvider/useSpreadsheetFilter.js +45 -0
  90. package/lib/esm/Importer/common/Spreadsheet/SpreadsheetContextProvider/utils.d.ts +2 -0
  91. package/lib/esm/Importer/common/Spreadsheet/SpreadsheetContextProvider/utils.js +14 -0
  92. package/lib/esm/Importer/common/Spreadsheet/common/index.d.ts +16 -0
  93. package/lib/esm/Importer/common/Spreadsheet/common/index.js +63 -0
  94. package/lib/esm/Importer/common/Spreadsheet/common/types.d.ts +24 -0
  95. package/lib/esm/Importer/common/Spreadsheet/common/types.js +5 -0
  96. package/lib/esm/Importer/common/Spreadsheet/components/FieldHeader.d.ts +15 -0
  97. package/lib/esm/Importer/common/Spreadsheet/components/FieldHeader.js +66 -0
  98. package/lib/esm/Importer/common/Spreadsheet/components/GlobalStyle.d.ts +2 -0
  99. package/lib/esm/Importer/common/Spreadsheet/components/GlobalStyle.js +9 -0
  100. package/lib/esm/Importer/common/Spreadsheet/components/SpreadsheetData.d.ts +3 -0
  101. package/lib/esm/Importer/common/Spreadsheet/components/SpreadsheetData.js +105 -0
  102. package/lib/esm/Importer/common/Spreadsheet/components/SpreadsheetRowCheckboxes.d.ts +10 -0
  103. package/lib/esm/Importer/common/Spreadsheet/components/SpreadsheetRowCheckboxes.js +181 -0
  104. package/lib/esm/Importer/common/Spreadsheet/components/SpreadsheetRowNumbers.d.ts +9 -0
  105. package/lib/esm/Importer/common/Spreadsheet/components/SpreadsheetRowNumbers.js +55 -0
  106. package/lib/esm/Importer/common/Spreadsheet/components/ValidationProgress.d.ts +5 -0
  107. package/lib/esm/Importer/common/Spreadsheet/components/ValidationProgress.js +19 -0
  108. package/lib/esm/Importer/common/Spreadsheet/components/fields/SpeadsheetAutocomplete.d.ts +13 -0
  109. package/lib/esm/Importer/common/Spreadsheet/components/fields/SpeadsheetAutocomplete.js +38 -0
  110. package/lib/esm/Importer/common/Spreadsheet/components/fields/SpreadsheetInput.d.ts +12 -0
  111. package/lib/esm/Importer/common/Spreadsheet/components/fields/SpreadsheetInput.js +43 -0
  112. package/lib/esm/Importer/common/Spreadsheet/components/fields/index.d.ts +12 -0
  113. package/lib/esm/Importer/common/Spreadsheet/components/fields/index.js +96 -0
  114. package/lib/esm/Importer/common/Spreadsheet/components/inputs/Boolean.d.ts +3 -0
  115. package/lib/esm/Importer/common/Spreadsheet/components/inputs/Boolean.js +18 -0
  116. package/lib/esm/Importer/common/Spreadsheet/components/inputs/EmailInput.d.ts +3 -0
  117. package/lib/esm/Importer/common/Spreadsheet/components/inputs/EmailInput.js +14 -0
  118. package/lib/esm/Importer/common/Spreadsheet/components/inputs/EnumInput.d.ts +6 -0
  119. package/lib/esm/Importer/common/Spreadsheet/components/inputs/EnumInput.js +30 -0
  120. package/lib/esm/Importer/common/Spreadsheet/components/inputs/FloatInput.d.ts +3 -0
  121. package/lib/esm/Importer/common/Spreadsheet/components/inputs/FloatInput.js +16 -0
  122. package/lib/esm/Importer/common/Spreadsheet/components/inputs/IntegerInput.d.ts +3 -0
  123. package/lib/esm/Importer/common/Spreadsheet/components/inputs/IntegerInput.js +16 -0
  124. package/lib/esm/Importer/common/Spreadsheet/components/inputs/StringInput.d.ts +3 -0
  125. package/lib/esm/Importer/common/Spreadsheet/components/inputs/StringInput.js +14 -0
  126. package/lib/esm/Importer/common/Spreadsheet/components/inputs/index.d.ts +13 -0
  127. package/lib/esm/Importer/common/Spreadsheet/components/inputs/index.js +20 -0
  128. package/lib/esm/Importer/common/Spreadsheet/hooks.d.ts +34 -0
  129. package/lib/esm/Importer/common/Spreadsheet/hooks.js +234 -0
  130. package/lib/esm/Importer/common/Spreadsheet/index.d.ts +6 -0
  131. package/lib/esm/Importer/common/Spreadsheet/index.js +125 -0
  132. package/lib/esm/Importer/common/Spreadsheet/styles.d.ts +10 -0
  133. package/lib/esm/Importer/common/Spreadsheet/styles.js +16 -0
  134. package/lib/esm/Importer/common/Spreadsheet/transformation/index.d.ts +7 -0
  135. package/lib/esm/Importer/common/Spreadsheet/transformation/index.js +25 -0
  136. package/lib/esm/Importer/common/Spreadsheet/transformation/transformators.d.ts +8 -0
  137. package/lib/esm/Importer/common/Spreadsheet/transformation/transformators.js +106 -0
  138. package/lib/esm/Importer/common/Spreadsheet/validation/index.d.ts +23 -0
  139. package/lib/esm/Importer/common/Spreadsheet/validation/index.js +196 -0
  140. package/lib/esm/Importer/common/Spreadsheet/validation/validators.d.ts +6 -0
  141. package/lib/esm/Importer/common/Spreadsheet/validation/validators.js +176 -0
  142. package/lib/esm/Importer/common/icons/index.d.ts +6 -0
  143. package/lib/esm/Importer/common/icons/index.js +18 -0
  144. package/lib/esm/Importer/common/index.d.ts +15 -0
  145. package/lib/esm/Importer/common/index.js +13 -0
  146. package/lib/esm/Importer/common/theme.d.ts +238 -0
  147. package/lib/esm/Importer/common/theme.js +19 -0
  148. package/lib/esm/Importer/common/utils.d.ts +12 -0
  149. package/lib/esm/Importer/common/utils.js +100 -0
  150. package/lib/esm/Importer/contexts/ImporterContextProvider.d.ts +71 -0
  151. package/lib/esm/Importer/contexts/ImporterContextProvider.js +244 -0
  152. package/lib/esm/Importer/data/index.d.ts +52 -0
  153. package/lib/esm/Importer/data/index.js +155 -0
  154. package/lib/esm/Importer/index.d.ts +22 -0
  155. package/lib/esm/Importer/index.js +28 -0
  156. package/lib/esm/api/index.d.ts +16 -0
  157. package/lib/esm/api/index.js +93 -0
  158. package/lib/esm/api/responseHandlers.d.ts +4 -0
  159. package/lib/esm/api/responseHandlers.js +49 -0
  160. package/lib/esm/common/ConfirmationModal.d.ts +10 -0
  161. package/lib/esm/common/ConfirmationModal.js +19 -0
  162. package/lib/esm/common/Modal.d.ts +16 -0
  163. package/lib/esm/common/Modal.js +31 -0
  164. package/lib/esm/common/Spinner.d.ts +5 -0
  165. package/lib/esm/common/Spinner.js +41 -0
  166. package/lib/esm/common/Table/Pagination/icons.d.ts +11 -0
  167. package/lib/esm/common/Table/Pagination/icons.js +42 -0
  168. package/lib/esm/common/Table/Pagination/index.d.ts +2 -0
  169. package/lib/esm/common/Table/Pagination/index.js +32 -0
  170. package/lib/esm/common/Table/TableActions/DeleteSelectedRows.d.ts +5 -0
  171. package/lib/esm/common/Table/TableActions/DeleteSelectedRows.js +50 -0
  172. package/lib/esm/common/Table/TableActions/ExportData.d.ts +3 -0
  173. package/lib/esm/common/Table/TableActions/ExportData.js +23 -0
  174. package/lib/esm/common/Table/TableActions/FilterByErrors/FilterByErrors.d.ts +1 -0
  175. package/lib/esm/common/Table/TableActions/FilterByErrors/FilterByErrors.js +46 -0
  176. package/lib/esm/common/Table/TableActions/FilterByErrors/FilterByErrors.styles.d.ts +6 -0
  177. package/lib/esm/common/Table/TableActions/FilterByErrors/FilterByErrors.styles.js +24 -0
  178. package/lib/esm/common/Table/TableActions/FilterByErrors/functions.d.ts +11 -0
  179. package/lib/esm/common/Table/TableActions/FilterByErrors/functions.js +35 -0
  180. package/lib/esm/common/Table/TableActions/FilterByErrors/index.d.ts +1 -0
  181. package/lib/esm/common/Table/TableActions/FilterByErrors/index.js +1 -0
  182. package/lib/esm/common/Table/TableActions/RowFilters.d.ts +1 -0
  183. package/lib/esm/common/Table/TableActions/RowFilters.js +39 -0
  184. package/lib/esm/common/Table/TableActions/SearchRows.d.ts +3 -0
  185. package/lib/esm/common/Table/TableActions/SearchRows.js +72 -0
  186. package/lib/esm/common/Table/TableActions/TableActions.d.ts +8 -0
  187. package/lib/esm/common/Table/TableActions/TableActions.js +34 -0
  188. package/lib/esm/common/Table/TableActions/TableActions.styles.d.ts +5 -0
  189. package/lib/esm/common/Table/TableActions/TableActions.styles.js +17 -0
  190. package/lib/esm/common/Table/TableActions/common.d.ts +1 -0
  191. package/lib/esm/common/Table/TableActions/common.js +1 -0
  192. package/lib/esm/common/Table/TableActions/hooks.d.ts +18 -0
  193. package/lib/esm/common/Table/TableActions/hooks.js +41 -0
  194. package/lib/esm/common/Table/TableActions/icons.d.ts +4 -0
  195. package/lib/esm/common/Table/TableActions/icons.js +16 -0
  196. package/lib/esm/common/Table/TableActions/index.d.ts +1 -0
  197. package/lib/esm/common/Table/TableActions/index.js +1 -0
  198. package/lib/esm/common/Table/TableDataProvider.d.ts +35 -0
  199. package/lib/esm/common/Table/TableDataProvider.js +127 -0
  200. package/lib/esm/common/Table/TableView/CustomScrollbar.d.ts +2 -0
  201. package/lib/esm/common/Table/TableView/CustomScrollbar.js +34 -0
  202. package/lib/esm/common/Table/TableView/TableHeaders.d.ts +23 -0
  203. package/lib/esm/common/Table/TableView/TableHeaders.js +69 -0
  204. package/lib/esm/common/Table/TableView/TableRows/TableRow.d.ts +19 -0
  205. package/lib/esm/common/Table/TableView/TableRows/TableRow.js +57 -0
  206. package/lib/esm/common/Table/TableView/TableRows/index.d.ts +4 -0
  207. package/lib/esm/common/Table/TableView/TableRows/index.js +45 -0
  208. package/lib/esm/common/Table/TableView/common/index.d.ts +5 -0
  209. package/lib/esm/common/Table/TableView/common/index.js +37 -0
  210. package/lib/esm/common/Table/TableView/index.d.ts +11 -0
  211. package/lib/esm/common/Table/TableView/index.js +133 -0
  212. package/lib/esm/common/Table/TableView/types.d.ts +37 -0
  213. package/lib/esm/common/Table/TableView/types.js +1 -0
  214. package/lib/esm/common/Table/icons.d.ts +3 -0
  215. package/lib/esm/common/Table/icons.js +15 -0
  216. package/lib/esm/common/Table/index.d.ts +11 -0
  217. package/lib/esm/common/Table/index.js +140 -0
  218. package/lib/esm/common/Table/useReorderRows.d.ts +4 -0
  219. package/lib/esm/common/Table/useReorderRows.js +83 -0
  220. package/lib/esm/common/Toast.d.ts +4 -0
  221. package/lib/esm/common/Toast.js +69 -0
  222. package/lib/esm/common/TooltipProvider.d.ts +19 -0
  223. package/lib/esm/common/TooltipProvider.js +57 -0
  224. package/lib/esm/common/buttons.d.ts +50 -0
  225. package/lib/esm/common/buttons.js +97 -0
  226. package/lib/esm/common/columnsTransformations.d.ts +15 -0
  227. package/lib/esm/common/columnsTransformations.js +92 -0
  228. package/lib/esm/common/columnsValidations.d.ts +45 -0
  229. package/lib/esm/common/columnsValidations.js +431 -0
  230. package/lib/esm/common/icons/index.d.ts +11 -0
  231. package/lib/esm/common/icons/index.js +30 -0
  232. package/lib/esm/common/index.d.ts +27 -0
  233. package/lib/esm/common/index.js +45 -0
  234. package/lib/esm/common/inputs/Autocomplete.d.ts +22 -0
  235. package/lib/esm/common/inputs/Autocomplete.js +110 -0
  236. package/lib/esm/common/inputs/Checkbox.d.ts +11 -0
  237. package/lib/esm/common/inputs/Checkbox.js +53 -0
  238. package/lib/esm/common/inputs/SelectMenu.d.ts +14 -0
  239. package/lib/esm/common/inputs/SelectMenu.js +67 -0
  240. package/lib/esm/common/inputs/TextInput.d.ts +29 -0
  241. package/lib/esm/common/inputs/TextInput.js +89 -0
  242. package/lib/esm/common/inputs/index.d.ts +5 -0
  243. package/lib/esm/common/inputs/index.js +5 -0
  244. package/lib/esm/common/inputs/tooltip.d.ts +4 -0
  245. package/lib/esm/common/inputs/tooltip.js +38 -0
  246. package/lib/esm/common/logo.d.ts +1 -0
  247. package/lib/esm/common/logo.js +13 -0
  248. package/lib/esm/hooks/index.d.ts +5 -0
  249. package/lib/esm/hooks/index.js +16 -0
  250. package/lib/esm/index.d.ts +34 -0
  251. package/lib/esm/index.js +230 -0
  252. package/lib/esm/locales/de.d.ts +121 -0
  253. package/lib/esm/locales/de.js +121 -0
  254. package/lib/esm/locales/en.d.ts +121 -0
  255. package/lib/esm/locales/en.js +121 -0
  256. package/lib/esm/locales/es.d.ts +121 -0
  257. package/lib/esm/locales/es.js +121 -0
  258. package/lib/esm/locales/fr.d.ts +121 -0
  259. package/lib/esm/locales/fr.js +121 -0
  260. package/lib/esm/locales/index.d.ts +4 -0
  261. package/lib/esm/locales/index.js +4 -0
  262. package/lib/esm/styled/fontsURL.d.ts +9 -0
  263. package/lib/esm/styled/fontsURL.js +27 -0
  264. package/lib/esm/styled/index.d.ts +3 -0
  265. package/lib/esm/styled/index.js +3 -0
  266. package/lib/esm/styled/theme/animations.d.ts +3 -0
  267. package/lib/esm/styled/theme/animations.js +9 -0
  268. package/lib/esm/styled/theme/colorPalette.d.ts +171 -0
  269. package/lib/esm/styled/theme/colorPalette.js +109 -0
  270. package/lib/esm/styled/theme/debugCss.d.ts +10 -0
  271. package/lib/esm/styled/theme/debugCss.js +16 -0
  272. package/lib/esm/styled/theme/dimensionsCss.d.ts +17 -0
  273. package/lib/esm/styled/theme/dimensionsCss.js +20 -0
  274. package/lib/esm/styled/theme/fontCss.d.ts +11 -0
  275. package/lib/esm/styled/theme/fontCss.js +17 -0
  276. package/lib/esm/styled/theme/globalCss.d.ts +18 -0
  277. package/lib/esm/styled/theme/globalCss.js +26 -0
  278. package/lib/esm/styled/theme/index.d.ts +345 -0
  279. package/lib/esm/styled/theme/index.js +33 -0
  280. package/lib/esm/styled/theme/layoutCss.d.ts +20 -0
  281. package/lib/esm/styled/theme/layoutCss.js +26 -0
  282. package/lib/esm/styled/theme/mediaQueries.d.ts +4 -0
  283. package/lib/esm/styled/theme/mediaQueries.js +4 -0
  284. package/lib/esm/styled/theme/positionCss.d.ts +20 -0
  285. package/lib/esm/styled/theme/positionCss.js +27 -0
  286. package/lib/esm/styled/theme/textCss.d.ts +12 -0
  287. package/lib/esm/styled/theme/textCss.js +18 -0
  288. package/lib/esm/styled/theme/textStyles.d.ts +21 -0
  289. package/lib/esm/styled/theme/textStyles.js +27 -0
  290. package/lib/esm/styled/themeType.d.ts +2 -0
  291. package/lib/esm/styled/themeType.js +6 -0
  292. package/lib/esm/styled/utils.d.ts +22 -0
  293. package/lib/esm/styled/utils.js +17 -0
  294. package/lib/esm/types.d.ts +209 -0
  295. package/lib/esm/types.js +65 -0
  296. package/lib/esm/utils/hooks/useWindowSize.d.ts +11 -0
  297. package/lib/esm/utils/hooks/useWindowSize.js +23 -0
  298. package/lib/esm/utils/hooks.d.ts +1 -0
  299. package/lib/esm/utils/hooks.js +1 -0
  300. package/lib/esm/utils/index.d.ts +12 -0
  301. package/lib/esm/utils/index.js +37 -0
  302. package/lib/main.js +172 -0
  303. package/lib/main.js.LICENSE.txt +61 -0
  304. package/package.json +96 -0
@@ -0,0 +1,71 @@
1
+ import Fuse from "fuse.js";
2
+ import React from "react";
3
+ import { FormatRecord, ImporterOptions, Integration, OnSubmit, OnValidateRecord, Record, TemplateHeader } from "../../types";
4
+ import { FuseApi } from "../common/FuseApi";
5
+ export declare const fusejsOptions: Fuse.IFuseOptions<string>;
6
+ export type HeaderMatchings = {
7
+ [templateHeaderLabel: string]: string;
8
+ };
9
+ export type EnumFieldValueMatchings = {
10
+ [templateHeaderLabel: string]: {
11
+ [uploadedDataValue: string]: string;
12
+ };
13
+ };
14
+ export type UploadedDataEnumFieldValues = {
15
+ [templateHeaderLabel: string]: string[];
16
+ };
17
+ export type SelectedRow = {
18
+ tableRow: number;
19
+ dataRowIndex: number;
20
+ };
21
+ export type State = {
22
+ currentStepIndex: number;
23
+ templateError: string | null;
24
+ uploadedData: any[];
25
+ initialRecords: Record[];
26
+ enumFieldValueMatchings: EnumFieldValueMatchings;
27
+ templateHeaders: TemplateHeader[];
28
+ templateHeaderMatchings: HeaderMatchings;
29
+ uploadedDataHeaders: string[];
30
+ matcherSubstep: number;
31
+ uploadedDataEnumFieldValues: UploadedDataEnumFieldValues;
32
+ templateSlug: string;
33
+ apiToken: string;
34
+ inTrialMode: boolean;
35
+ previewFirstTime: boolean;
36
+ fuseApi: FuseApi;
37
+ importerOptions: ImporterOptions;
38
+ theme: any;
39
+ logoURL: string;
40
+ integrations: Integration[];
41
+ onSubmit: OnSubmit;
42
+ resetImport: () => void;
43
+ onClose: () => void;
44
+ setCurrentStepIndex: React.Dispatch<number>;
45
+ setEnumFieldValueMatchings: React.Dispatch<React.SetStateAction<EnumFieldValueMatchings>>;
46
+ setUploadedData: React.Dispatch<any[]>;
47
+ setTemplateHeaderMatchings: React.Dispatch<React.SetStateAction<HeaderMatchings>>;
48
+ setPreviewFirstTime: React.Dispatch<boolean>;
49
+ formatRecord: FormatRecord;
50
+ onValidateRecord?: OnValidateRecord;
51
+ setMatcherSubstep: React.Dispatch<number>;
52
+ selectedRows: string[];
53
+ setSelectedRows: React.Dispatch<React.SetStateAction<string[]>>;
54
+ isUsingManualImport: React.MutableRefObject<boolean>;
55
+ resetImporterWhenUsingManualImport: () => void;
56
+ manualDataImportSelected: () => void;
57
+ };
58
+ export type Props = {
59
+ templateSlug: string;
60
+ apiToken: string;
61
+ initialRecords?: Record[];
62
+ options: ImporterOptions;
63
+ children: JSX.Element;
64
+ onClose: () => void;
65
+ onSubmit: OnSubmit;
66
+ formatRecord: FormatRecord;
67
+ onValidateRecord?: OnValidateRecord;
68
+ dynamicColumns: TemplateHeader[] | null;
69
+ };
70
+ export declare const ImporterContextProvider: ({ templateSlug, initialRecords, apiToken, children, options, onSubmit, onClose, formatRecord, onValidateRecord, dynamicColumns, }: Props) => JSX.Element;
71
+ export declare const useImporterContext: () => State;
@@ -0,0 +1,244 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
13
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
14
+ return new (P || (P = Promise))(function (resolve, reject) {
15
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
16
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
17
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
18
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
19
+ });
20
+ };
21
+ var __generator = (this && this.__generator) || function (thisArg, body) {
22
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
23
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
24
+ function verb(n) { return function (v) { return step([n, v]); }; }
25
+ function step(op) {
26
+ if (f) throw new TypeError("Generator is already executing.");
27
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
28
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
29
+ if (y = 0, t) op = [op[0] & 2, t.value];
30
+ switch (op[0]) {
31
+ case 0: case 1: t = op; break;
32
+ case 4: _.label++; return { value: op[1], done: false };
33
+ case 5: _.label++; y = op[1]; op = [0]; continue;
34
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
35
+ default:
36
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
37
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
38
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
39
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
40
+ if (t[2]) _.ops.pop();
41
+ _.trys.pop(); continue;
42
+ }
43
+ op = body.call(thisArg, _);
44
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
45
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
+ }
47
+ };
48
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
49
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
50
+ if (ar || !(i in from)) {
51
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
52
+ ar[i] = from[i];
53
+ }
54
+ }
55
+ return to.concat(ar || Array.prototype.slice.call(from));
56
+ };
57
+ import { jsx as _jsx } from "react/jsx-runtime";
58
+ import Fuse from "fuse.js";
59
+ import { createContext, useContext, useEffect, useMemo, useRef, useState, } from "react";
60
+ import { FieldTypes, } from "../../types";
61
+ import { FuseApi } from "../common/FuseApi";
62
+ import { getCustomTheme, theme } from "../common/theme";
63
+ import { getColumnType, verifyDuplicateValue } from "../common/utils";
64
+ export var fusejsOptions = {
65
+ includeScore: true,
66
+ threshold: 0.35,
67
+ };
68
+ var ImporterContext = createContext({});
69
+ export var ImporterContextProvider = function (_a) {
70
+ var templateSlug = _a.templateSlug, initialRecords = _a.initialRecords, apiToken = _a.apiToken, children = _a.children, options = _a.options, onSubmit = _a.onSubmit, onClose = _a.onClose, formatRecord = _a.formatRecord, onValidateRecord = _a.onValidateRecord, dynamicColumns = _a.dynamicColumns;
71
+ var _b = useState(initialRecords ? 2 : 0), currentStepIndex = _b[0], setCurrentStepIndex = _b[1];
72
+ var _c = useState(0), matcherSubstep = _c[0], setMatcherSubstep = _c[1];
73
+ var _d = useState(null), templateError = _d[0], setTemplateError = _d[1];
74
+ var _e = useState(null), templateHeaders = _e[0], setTemplateHeaders = _e[1];
75
+ var _f = useState(null), integrations = _f[0], setIntegrations = _f[1];
76
+ var _g = useState(null), uploadedData = _g[0], setUploadedData = _g[1];
77
+ var _h = useState(null), organization = _h[0], setOrganization = _h[1];
78
+ var _j = useState(null), previewFirstTime = _j[0], setPreviewFirstTime = _j[1];
79
+ var _k = useState({
80
+ theme: theme,
81
+ logoURL: null,
82
+ }), style = _k[0], setStyle = _k[1];
83
+ var _l = useState(null), templateHeaderMatchings = _l[0], setTemplateHeaderMatchings = _l[1];
84
+ var _m = useState(null), enumFieldValueMatchings = _m[0], setEnumFieldValueMatchings = _m[1];
85
+ var _o = useState(null), uploadedDataEnumFieldValues = _o[0], setUploadedDataEnumFieldValues = _o[1];
86
+ var _p = useState([]), selectedRows = _p[0], setSelectedRows = _p[1];
87
+ var isUsingManualImport = useRef(false);
88
+ var fuseApi = useMemo(function () { return new FuseApi(options.env, apiToken); }, [
89
+ options.env,
90
+ apiToken,
91
+ ]);
92
+ var uploadedDataHeaders = useMemo(function () {
93
+ var _a;
94
+ if (!uploadedData)
95
+ return null;
96
+ if (isUsingManualImport.current) {
97
+ return templateHeaders.reduce(function (acc, curr) {
98
+ acc.push(curr.internal_key);
99
+ return acc;
100
+ }, []);
101
+ }
102
+ return (_a = uploadedData[0]) === null || _a === void 0 ? void 0 : _a.map(function (ud) {
103
+ return typeof ud === "number" ? ud.toString() : ud;
104
+ });
105
+ }, [uploadedData]);
106
+ useEffect(function () {
107
+ if (!templateHeaderMatchings)
108
+ return;
109
+ var _uploadedDataEnumFieldValues = {};
110
+ var templateLabels = Object.keys(templateHeaderMatchings);
111
+ var enumFieldsLabels = templateLabels.filter(function (templateLabel) {
112
+ return getColumnType({ templateLabel: templateLabel, templateHeaders: templateHeaders }) === FieldTypes.enum;
113
+ });
114
+ enumFieldsLabels.forEach(function (templateLabel) {
115
+ var uploadedDataHeader = templateHeaderMatchings[templateLabel];
116
+ var enumFieldValues = new Set();
117
+ var columnIndex = uploadedDataHeaders.indexOf(uploadedDataHeader);
118
+ if (columnIndex === -1)
119
+ return;
120
+ uploadedData.slice(1).forEach(function (row) {
121
+ var uploadedValue = row[columnIndex];
122
+ enumFieldValues.add(uploadedValue);
123
+ });
124
+ _uploadedDataEnumFieldValues[templateLabel] = Array.from(enumFieldValues.values()).filter(function (element) {
125
+ return element !== undefined;
126
+ });
127
+ });
128
+ setUploadedDataEnumFieldValues(_uploadedDataEnumFieldValues);
129
+ }, [templateHeaderMatchings]);
130
+ useEffect(function () {
131
+ if (uploadedData) {
132
+ setHeadersFromDataset();
133
+ }
134
+ }, [uploadedData]);
135
+ useEffect(function () {
136
+ (function () { return __awaiter(void 0, void 0, void 0, function () {
137
+ var _a, organization_1, columns_1, importer_style_preferences, integrations_1, preview_first_time, error_1, errorMsg;
138
+ var _b, _c;
139
+ return __generator(this, function (_d) {
140
+ switch (_d.label) {
141
+ case 0:
142
+ _d.trys.push([0, 2, , 3]);
143
+ return [4 /*yield*/, fuseApi.get("/api/v1/importer/templates/".concat(templateSlug))];
144
+ case 1:
145
+ _a = (_d.sent()).data, organization_1 = _a.organization, columns_1 = _a.columns, importer_style_preferences = _a.importer_style_preferences, integrations_1 = _a.integrations, preview_first_time = _a.preview_first_time;
146
+ setOrganization(organization_1);
147
+ setTemplateHeaders(function () {
148
+ // user has created dynamic columns
149
+ if (dynamicColumns && (dynamicColumns === null || dynamicColumns === void 0 ? void 0 : dynamicColumns.length) >= 0) {
150
+ var allColumns = __spreadArray(__spreadArray([], columns_1, true), dynamicColumns, true);
151
+ var columnsOrderedByPosition_1 = allColumns.sort(function (a, b) { return (a === null || a === void 0 ? void 0 : a.position) - (b === null || b === void 0 ? void 0 : b.position); });
152
+ verifyDuplicateValue(columnsOrderedByPosition_1, "internal_key", true, "There is a duplicated 'internal_key' between your columns.");
153
+ verifyDuplicateValue(columnsOrderedByPosition_1, "label", true, "There is a duplicated 'label' between your columns.");
154
+ return columnsOrderedByPosition_1;
155
+ }
156
+ // user has not created dynamic columns
157
+ var columnsOrderedByPosition = columns_1.sort(function (a, b) { return a.position - b.position; });
158
+ return columnsOrderedByPosition;
159
+ });
160
+ setIntegrations(integrations_1);
161
+ setPreviewFirstTime(preview_first_time);
162
+ if (organization_1.plan && organization_1.plan.allow_style_customization) {
163
+ setStyle(getCustomTheme(importer_style_preferences));
164
+ }
165
+ return [3 /*break*/, 3];
166
+ case 2:
167
+ error_1 = _d.sent();
168
+ errorMsg = ((_c = (_b = error_1.response) === null || _b === void 0 ? void 0 : _b.data) === null || _c === void 0 ? void 0 : _c.message) ||
169
+ "There was an error preventing the data importer from loading. Check your API Key and try again.";
170
+ setTemplateError(errorMsg);
171
+ return [3 /*break*/, 3];
172
+ case 3: return [2 /*return*/];
173
+ }
174
+ });
175
+ }); })();
176
+ }, [dynamicColumns]);
177
+ var resetImport = function () {
178
+ setUploadedData(null);
179
+ setTemplateHeaderMatchings(null);
180
+ };
181
+ var resetImporterWhenUsingManualImport = function () {
182
+ setCurrentStepIndex(0);
183
+ isUsingManualImport.current = false;
184
+ resetImport();
185
+ };
186
+ var manualDataImportSelected = function () {
187
+ if (templateHeaders) {
188
+ isUsingManualImport.current = true;
189
+ setUploadedData([]);
190
+ setTemplateHeaderMatchings({});
191
+ setCurrentStepIndex(2);
192
+ }
193
+ };
194
+ var setHeadersFromDataset = function () {
195
+ var _templateHeaderMatchings = {};
196
+ var fuse = new Fuse(uploadedDataHeaders, fusejsOptions);
197
+ templateHeaders.forEach(function (templateHeader, _index) {
198
+ var _a;
199
+ var fuseResults = fuse.search(templateHeader.label);
200
+ _templateHeaderMatchings[templateHeader.label] = (_a = fuseResults[0]) === null || _a === void 0 ? void 0 : _a.item;
201
+ });
202
+ setTemplateHeaderMatchings(_templateHeaderMatchings);
203
+ };
204
+ var inTrialMode = organization === null || organization === void 0 ? void 0 : organization.trial_mode;
205
+ var value = {
206
+ initialRecords: initialRecords,
207
+ currentStepIndex: currentStepIndex,
208
+ templateHeaders: templateHeaders,
209
+ enumFieldValueMatchings: enumFieldValueMatchings,
210
+ templateHeaderMatchings: templateHeaderMatchings,
211
+ uploadedDataEnumFieldValues: uploadedDataEnumFieldValues,
212
+ importerOptions: options,
213
+ uploadedData: uploadedData,
214
+ uploadedDataHeaders: uploadedDataHeaders,
215
+ templateError: templateError,
216
+ matcherSubstep: matcherSubstep,
217
+ apiToken: apiToken,
218
+ templateSlug: templateSlug,
219
+ inTrialMode: inTrialMode,
220
+ fuseApi: fuseApi,
221
+ theme: style.theme,
222
+ logoURL: style.logoURL,
223
+ integrations: integrations,
224
+ previewFirstTime: previewFirstTime,
225
+ setUploadedData: setUploadedData,
226
+ formatRecord: formatRecord,
227
+ setCurrentStepIndex: setCurrentStepIndex,
228
+ setEnumFieldValueMatchings: setEnumFieldValueMatchings,
229
+ setTemplateHeaderMatchings: setTemplateHeaderMatchings,
230
+ resetImport: resetImport,
231
+ onValidateRecord: onValidateRecord,
232
+ setMatcherSubstep: setMatcherSubstep,
233
+ onClose: onClose,
234
+ setPreviewFirstTime: setPreviewFirstTime,
235
+ onSubmit: onSubmit,
236
+ selectedRows: selectedRows,
237
+ setSelectedRows: setSelectedRows,
238
+ isUsingManualImport: isUsingManualImport,
239
+ resetImporterWhenUsingManualImport: resetImporterWhenUsingManualImport,
240
+ manualDataImportSelected: manualDataImportSelected,
241
+ };
242
+ return (_jsx(ImporterContext.Provider, __assign({ value: value }, { children: children })));
243
+ };
244
+ export var useImporterContext = function () { return useContext(ImporterContext); };
@@ -0,0 +1,52 @@
1
+ import { Field, FieldTypes, FormatRecord, Record, RecordDataSet, TemplateHeader } from "../../types";
2
+ import { EnumFieldValueMatchings, HeaderMatchings } from "../contexts/ImporterContextProvider";
3
+ export declare const addEmptyRows: (data: Record[], fields: Field[]) => (Record | {
4
+ _meta: {
5
+ id: string;
6
+ rowIndex: number;
7
+ };
8
+ })[];
9
+ export declare const addMeta: (record: any, index: number, uploadedRow?: any) => Record;
10
+ export declare const recordListToDataSet: (data: Record[], fields: Field[]) => RecordDataSet;
11
+ type transformToRecordsArgs = {
12
+ templateHeaderMatchings: HeaderMatchings;
13
+ enumFieldValueMatchings: EnumFieldValueMatchings;
14
+ uploadedDataHeaders: string[];
15
+ uploadedData: any[];
16
+ templateHeaders: TemplateHeader[];
17
+ formatRecord: FormatRecord;
18
+ };
19
+ export declare const transformToRecords: ({ templateHeaderMatchings, enumFieldValueMatchings, templateHeaders, uploadedDataHeaders, uploadedData, formatRecord, }: transformToRecordsArgs) => Record[];
20
+ export declare const getPreviewDataSet: ({ uploadedData, }: {
21
+ uploadedData: any[];
22
+ }) => {
23
+ fields: {
24
+ label: string;
25
+ name: string;
26
+ type: FieldTypes;
27
+ isRequired: boolean;
28
+ }[];
29
+ initialDataSet: RecordDataSet;
30
+ };
31
+ export declare const getTemplateFields: ({ templateHeaders, }: {
32
+ templateHeaders: TemplateHeader[];
33
+ }) => {
34
+ label: string;
35
+ name: string;
36
+ type: any;
37
+ isRequired: boolean;
38
+ options: string[];
39
+ pattern: string;
40
+ validations: import("../../types").FieldValidation[];
41
+ transformations: import("../../types").FieldTransformation[];
42
+ }[];
43
+ type GetReviewDataSetArgs = {
44
+ records: Record[];
45
+ fields: Field[];
46
+ };
47
+ export declare const getReviewDataSet: ({ records, fields }: GetReviewDataSetArgs) => {
48
+ initialDataSet: {
49
+ [x: string]: Record;
50
+ };
51
+ };
52
+ export {};
@@ -0,0 +1,155 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
13
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
14
+ if (ar || !(i in from)) {
15
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
16
+ ar[i] = from[i];
17
+ }
18
+ }
19
+ return to.concat(ar || Array.prototype.slice.call(from));
20
+ };
21
+ import { transformRecord } from "../../Importer/common/Spreadsheet/transformation";
22
+ import { FieldTypes, } from "../../types";
23
+ import { parseValue } from "../common/Spreadsheet/common";
24
+ var MINIMUM_ROW_COUNT = 20;
25
+ var getRowId = function (index) {
26
+ var uniqueTimestamp = new Date().getTime();
27
+ return "r".concat(index, "-").concat(uniqueTimestamp);
28
+ };
29
+ export var addEmptyRows = function (data, fields) {
30
+ var emptyRecord = fields.reduce(function (obj, f) {
31
+ var _a;
32
+ return (__assign(__assign({}, obj), (_a = {}, _a[f.name] = null, _a)));
33
+ }, {});
34
+ var newData = Array.from({ length: MINIMUM_ROW_COUNT - data.length }, function (_, index) { return (__assign(__assign({}, emptyRecord), { _meta: {
35
+ id: getRowId(data.length + index),
36
+ rowIndex: data.length + index,
37
+ } })); });
38
+ return __spreadArray(__spreadArray([], data, true), newData, true);
39
+ };
40
+ export var addMeta = function (record, index, uploadedRow) {
41
+ var _a;
42
+ if (uploadedRow === void 0) { uploadedRow = null; }
43
+ var rId = getRowId(index);
44
+ var meta = (_a = record._meta) !== null && _a !== void 0 ? _a : {};
45
+ return __assign(__assign({}, record), { _meta: __assign(__assign({}, meta), { id: rId, rowIndex: index, touched: false, uploadedRow: uploadedRow }) });
46
+ };
47
+ export var recordListToDataSet = function (data, fields) {
48
+ var initialData = data;
49
+ if (data.length < MINIMUM_ROW_COUNT) {
50
+ initialData = addEmptyRows(data, fields);
51
+ }
52
+ return initialData.reduce(function (dataSet, record, i) {
53
+ var recordWithMeta = addMeta(record, i);
54
+ dataSet[recordWithMeta._meta.id] = recordWithMeta;
55
+ return dataSet;
56
+ }, {});
57
+ };
58
+ export var transformToRecords = function (_a) {
59
+ var templateHeaderMatchings = _a.templateHeaderMatchings, enumFieldValueMatchings = _a.enumFieldValueMatchings, templateHeaders = _a.templateHeaders, uploadedDataHeaders = _a.uploadedDataHeaders, uploadedData = _a.uploadedData, formatRecord = _a.formatRecord;
60
+ var matchedColumnsLabels = Object.keys(templateHeaderMatchings)
61
+ .filter(function (label) { return !!templateHeaderMatchings[label]; })
62
+ .map(function (label) { return ({
63
+ label: label,
64
+ index: uploadedDataHeaders.indexOf(templateHeaderMatchings[label]),
65
+ }); });
66
+ var templateHeadersByLabel = templateHeaders.reduce(function (byLabel, header) {
67
+ var _a;
68
+ return (__assign(__assign({}, byLabel), (_a = {}, _a[header.label] = header, _a)));
69
+ }, {});
70
+ var getRecord = function (row, index) {
71
+ var record = addMeta({}, index, row);
72
+ matchedColumnsLabels.forEach(function (_a) {
73
+ var label = _a.label, index = _a.index;
74
+ var enumSet = enumFieldValueMatchings
75
+ ? enumFieldValueMatchings[label]
76
+ : null;
77
+ var header = templateHeadersByLabel[label];
78
+ if (!header)
79
+ return;
80
+ var key = header.internal_key;
81
+ var value = row[index];
82
+ if (value === undefined)
83
+ return;
84
+ record[key] = parseValue(FieldTypes[header.column_type], value, enumSet);
85
+ });
86
+ return formatRecord ? formatRecord(record) : record;
87
+ };
88
+ return uploadedData.slice(1).map(getRecord);
89
+ };
90
+ export var getPreviewDataSet = function (_a) {
91
+ var uploadedData = _a.uploadedData;
92
+ var getFirstRowLen = function () {
93
+ if (uploadedData.length > 0 && Array.isArray(uploadedData[0])) {
94
+ return uploadedData[0].length;
95
+ }
96
+ return 0;
97
+ };
98
+ var fields = new Array(getFirstRowLen()).fill(null).map(function (_, i) {
99
+ var key = String.fromCharCode(65 + i);
100
+ return {
101
+ label: key,
102
+ name: key,
103
+ type: FieldTypes.string,
104
+ isRequired: false,
105
+ };
106
+ });
107
+ var getInitialDataSet = function () {
108
+ //Showing only the first 100 rows to improve performance
109
+ //TODO: Check with Mike
110
+ var data = uploadedData.slice(0, 100).map(function (row, index) {
111
+ var entry = addMeta({}, index);
112
+ fields.forEach(function (field, index) {
113
+ entry[field.name] = row[index];
114
+ });
115
+ return entry;
116
+ });
117
+ return recordListToDataSet(data, fields);
118
+ };
119
+ return { fields: fields, initialDataSet: getInitialDataSet() };
120
+ };
121
+ export var getTemplateFields = function (_a) {
122
+ var templateHeaders = _a.templateHeaders;
123
+ return templateHeaders.map(function (templateHeader) { return ({
124
+ label: templateHeader.label,
125
+ name: templateHeader.internal_key,
126
+ type: FieldTypes[templateHeader.column_type] || FieldTypes.string,
127
+ isRequired: templateHeader.required,
128
+ options: templateHeader.values,
129
+ pattern: templateHeader.pattern,
130
+ validations: templateHeader.validations,
131
+ transformations: templateHeader.transformations,
132
+ }); });
133
+ };
134
+ export var getReviewDataSet = function (_a) {
135
+ var _b;
136
+ var records = _a.records, fields = _a.fields;
137
+ for (var _i = 0, records_1 = records; _i < records_1.length; _i++) {
138
+ var record = records_1[_i];
139
+ transformRecord({
140
+ record: record,
141
+ fields: fields,
142
+ });
143
+ }
144
+ var baseInitialDataSet = recordListToDataSet(addEmptyRows(records, fields), fields);
145
+ var highestRowIndex = 0;
146
+ Object.keys(baseInitialDataSet).forEach(function (key) {
147
+ var record = baseInitialDataSet[key];
148
+ if (record._meta.rowIndex > highestRowIndex) {
149
+ highestRowIndex = record._meta.rowIndex;
150
+ }
151
+ });
152
+ var emptyRowAtBottom = addMeta({}, highestRowIndex + 1);
153
+ var initialDataSet = __assign(__assign({}, baseInitialDataSet), (_b = {}, _b[emptyRowAtBottom._meta.id] = emptyRowAtBottom, _b));
154
+ return { initialDataSet: initialDataSet };
155
+ };
@@ -0,0 +1,22 @@
1
+ import { FormatRecord, ImporterOptions, OnSubmit, OnValidateRecord, TemplateHeader } from "../types";
2
+ export declare const ACCOUNT_ROUTES: {
3
+ TEMPLATES: string;
4
+ };
5
+ export declare const ACCOUNT_VIEW_PATH = "/account";
6
+ export declare const TEMPLATES_ROUTE: string;
7
+ type ImporterProps = {
8
+ templateSlug: string;
9
+ apiToken: string;
10
+ options: ImporterOptions;
11
+ previewMode?: boolean;
12
+ formatRecord: FormatRecord;
13
+ onValidateRecord?: OnValidateRecord;
14
+ onSubmit?: OnSubmit;
15
+ onClose: () => void;
16
+ dynamicColumns: TemplateHeader[];
17
+ };
18
+ declare const Importer: ({ templateSlug, apiToken, options, formatRecord, onValidateRecord, onSubmit, onClose, dynamicColumns, }: ImporterProps) => JSX.Element;
19
+ export * from "./common/Spreadsheet";
20
+ export * from "./common/utils";
21
+ export * from "./Review/ReviewContextProvider";
22
+ export { Importer };
@@ -0,0 +1,28 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ import { jsx as _jsx } from "react/jsx-runtime";
13
+ import { ImporterContextProvider } from "./contexts/ImporterContextProvider";
14
+ import { ImporterWithContext } from "./ImporterWithContext";
15
+ export var ACCOUNT_ROUTES = {
16
+ TEMPLATES: "/importers",
17
+ };
18
+ export var ACCOUNT_VIEW_PATH = "/account";
19
+ var p = function (path) { return "".concat(ACCOUNT_VIEW_PATH).concat(path); };
20
+ export var TEMPLATES_ROUTE = p(ACCOUNT_ROUTES.TEMPLATES);
21
+ var Importer = function (_a) {
22
+ var templateSlug = _a.templateSlug, apiToken = _a.apiToken, options = _a.options, formatRecord = _a.formatRecord, onValidateRecord = _a.onValidateRecord, onSubmit = _a.onSubmit, onClose = _a.onClose, dynamicColumns = _a.dynamicColumns;
23
+ return (_jsx(ImporterContextProvider, __assign({ initialRecords: options.records, options: options, templateSlug: templateSlug, apiToken: apiToken, formatRecord: formatRecord, onValidateRecord: onValidateRecord, onClose: onClose, onSubmit: onSubmit, dynamicColumns: dynamicColumns }, { children: _jsx(ImporterWithContext, {}) })));
24
+ };
25
+ export * from "./common/Spreadsheet";
26
+ export * from "./common/utils";
27
+ export * from "./Review/ReviewContextProvider";
28
+ export { Importer };
@@ -0,0 +1,16 @@
1
+ import { IStringifyOptions } from "qs";
2
+ type SuccessCallback = (data: any) => string;
3
+ declare module "axios" {
4
+ interface AxiosRequestConfig {
5
+ cache?: boolean;
6
+ ttl?: number;
7
+ arrayFormat?: IStringifyOptions["arrayFormat"];
8
+ toPublicApi?: boolean;
9
+ withReq?: boolean;
10
+ successMsg?: string | SuccessCallback;
11
+ errorMsg?: string;
12
+ authToken?: string;
13
+ }
14
+ }
15
+ declare const api: import("axios").AxiosInstance;
16
+ export { api };