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,17 @@
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 { colors } from "../../styled/theme/colorPalette";
14
+ import { Div } from "../../styled/utils";
15
+ import { logoIcon } from "./icons";
16
+ var Footer = function () { return (_jsx(Div, __assign({ centered: true, c: colors.gray600, pt: 65, pb: 50 }, { children: logoIcon }))); };
17
+ export { Footer };
@@ -0,0 +1,12 @@
1
+ import { EnvironmentType } from "../../types";
2
+ import { AxiosRequestConfig, AxiosResponse } from "axios";
3
+ export declare class FuseApi {
4
+ environment: EnvironmentType;
5
+ apiToken: string;
6
+ constructor(environment: any, apiToken: any);
7
+ get<T = any, R = AxiosResponse<T>>(url: string, config?: AxiosRequestConfig): Promise<R>;
8
+ post<T = any, R = AxiosResponse<T>>(url: string, data?: any, config?: AxiosRequestConfig): Promise<R>;
9
+ patch<T = any, R = AxiosResponse<T>>(url: string, data?: any, config?: AxiosRequestConfig): Promise<R>;
10
+ put<T = any, R = AxiosResponse<T>>(url: string, data?: any, config?: AxiosRequestConfig): Promise<R>;
11
+ delete<T = any, R = AxiosResponse<T>>(url: string, config?: AxiosRequestConfig): Promise<R>;
12
+ }
@@ -0,0 +1,48 @@
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 { api } from "../../api";
13
+ import { baseUrls } from "./index";
14
+ // copies the axios request config from axios.AxiosInstance type and adds
15
+ // baseUrl based on environment and api key
16
+ var FuseApi = /** @class */ (function () {
17
+ function FuseApi(environment, apiToken) {
18
+ this.environment = environment;
19
+ this.apiToken = apiToken;
20
+ }
21
+ FuseApi.prototype.get = function (url, config) {
22
+ return api.get(url, __assign(__assign({}, config), { toPublicApi: true, baseURL: baseUrls[this.environment], params: {
23
+ api_token: this.apiToken,
24
+ } }));
25
+ };
26
+ FuseApi.prototype.post = function (url, data, config) {
27
+ return api.post(url, data, __assign(__assign({}, config), { toPublicApi: true, baseURL: baseUrls[this.environment], params: {
28
+ api_token: this.apiToken,
29
+ } }));
30
+ };
31
+ FuseApi.prototype.patch = function (url, data, config) {
32
+ return api.patch(url, data, __assign(__assign({}, config), { toPublicApi: true, baseURL: baseUrls[this.environment], params: {
33
+ api_token: this.apiToken,
34
+ } }));
35
+ };
36
+ FuseApi.prototype.put = function (url, data, config) {
37
+ return api.put(url, data, __assign(__assign({}, config), { toPublicApi: true, baseURL: baseUrls[this.environment], params: {
38
+ api_token: this.apiToken,
39
+ } }));
40
+ };
41
+ FuseApi.prototype.delete = function (url, config) {
42
+ return api.delete(url, __assign(__assign({}, config), { toPublicApi: true, baseURL: baseUrls[this.environment], params: {
43
+ api_token: this.apiToken,
44
+ } }));
45
+ };
46
+ return FuseApi;
47
+ }());
48
+ export { FuseApi };
@@ -0,0 +1 @@
1
+ export declare const GlobalStyle: import("styled-components").GlobalStyleComponent<{}, import("styled-components").DefaultTheme>;
@@ -0,0 +1,7 @@
1
+ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
2
+ if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
3
+ return cooked;
4
+ };
5
+ import { createGlobalStyle } from "styled-components";
6
+ export var GlobalStyle = createGlobalStyle(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n #fuse-importer-root > *,\n body > * {\n font-size: 17px;\n margin: 0;\n padding: 0;\n top: 0;\n left: 0;\n font-family: DM Sans;\n color-scheme: normal;\n color: black;\n }\n"], ["\n #fuse-importer-root > *,\n body > * {\n font-size: 17px;\n margin: 0;\n padding: 0;\n top: 0;\n left: 0;\n font-family: DM Sans;\n color-scheme: normal;\n color: black;\n }\n"])));
7
+ var templateObject_1;
@@ -0,0 +1 @@
1
+ export declare const ImporterFonts: () => JSX.Element;
@@ -0,0 +1,5 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Helmet } from "react-helmet";
3
+ export var ImporterFonts = function () {
4
+ return (_jsxs(Helmet, { children: [_jsx("link", { rel: "preconnect", href: "https://fonts.googleapis.com" }), _jsx("link", { rel: "preconnect", href: "https://fonts.gstatic.com", crossOrigin: "" }), _jsx("link", { href: "https://fonts.googleapis.com/css?family=Montserrat:300,400,500,600&display=swap", rel: "stylesheet" }), _jsx("link", { href: "https://fonts.googleapis.com/css?family=DM+Serif+Text:300,400,500,600&display=swap", rel: "stylesheet" }), _jsx("link", { href: "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&family=DM+Serif+Display&family=DM+Serif+Text&display=swap", rel: "stylesheet" }), _jsx("link", { href: "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&family=DM+Serif+Text&display=swap", rel: "stylesheet" })] }));
5
+ };
@@ -0,0 +1,5 @@
1
+ import { BatchValidationErrors, RecordDataSet } from "../../../../types";
2
+ import { SpreadsheetFilter } from "./useSpreadsheetFilter";
3
+ export declare const filterRecordsBySearchValue: (obj: RecordDataSet, value: string) => RecordDataSet;
4
+ export declare const filterRecordsByType: (obj: RecordDataSet, filterType: SpreadsheetFilter["byRow"]) => RecordDataSet;
5
+ export declare const filterRecordsByError: (obj: RecordDataSet, keyToFilter: string, errors: BatchValidationErrors) => RecordDataSet;
@@ -0,0 +1,67 @@
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
+ //Filter records by search value
13
+ export var filterRecordsBySearchValue = function (obj, value) {
14
+ var isObject = function (value) {
15
+ return typeof value === "object" && value !== null && !Array.isArray(value);
16
+ };
17
+ var includesSearchValue = function (value, searchValue) {
18
+ if (typeof value === "string" || typeof value === "number") {
19
+ var stringValue = String(value).toLowerCase();
20
+ var searchValueLower = searchValue.toLowerCase();
21
+ return stringValue.includes(searchValueLower);
22
+ }
23
+ return false;
24
+ };
25
+ var filteredObj = {};
26
+ for (var _i = 0, _a = Object.entries(obj); _i < _a.length; _i++) {
27
+ var _b = _a[_i], key = _b[0], currentObj = _b[1];
28
+ if (!isObject(currentObj)) {
29
+ continue;
30
+ }
31
+ var matches = Object.values(currentObj).some(function (propertyValue) {
32
+ return includesSearchValue(propertyValue, value);
33
+ });
34
+ if (matches) {
35
+ filteredObj[key] = currentObj;
36
+ }
37
+ }
38
+ return filteredObj;
39
+ };
40
+ export var filterRecordsByType = function (obj, filterType) {
41
+ var rowIsEmpty = function (row) {
42
+ return Object.keys(row).every(function (key) {
43
+ if (key === "_meta")
44
+ return true;
45
+ return !row[key];
46
+ });
47
+ };
48
+ var filteredKeys = Object.keys(obj).filter(function (key) {
49
+ var _a, _b;
50
+ return filterType === "all" ||
51
+ (((_b = (_a = obj[key]) === null || _a === void 0 ? void 0 : _a._meta) === null || _b === void 0 ? void 0 : _b.isInvalid) !== (filterType === "valid") &&
52
+ !rowIsEmpty(obj[key]));
53
+ });
54
+ return filteredKeys.reduce(function (acc, key) {
55
+ var _a;
56
+ return (__assign(__assign({}, acc), (_a = {}, _a[key] = obj[key], _a)));
57
+ }, {});
58
+ };
59
+ //Filter records by selected column error
60
+ export var filterRecordsByError = function (obj, keyToFilter, errors) {
61
+ var filteredObj = {};
62
+ var filteredKeys = Object.keys(errors).filter(function (key) { var _a, _b; return ((_b = (_a = obj[key]) === null || _a === void 0 ? void 0 : _a._meta) === null || _b === void 0 ? void 0 : _b.isInvalid) && errors[key][keyToFilter]; });
63
+ for (var i = 0; i < filteredKeys.length; i++) {
64
+ filteredObj[filteredKeys[i]] = obj[filteredKeys[i]];
65
+ }
66
+ return filteredObj;
67
+ };
@@ -0,0 +1,47 @@
1
+ import React from "react";
2
+ import { SpreadsheetOptions } from "../../../..";
3
+ import { BatchValidationErrors, Field, Record, RecordDataSet } from "../../../../types";
4
+ import { SortBy, SpreadsheetProps } from "../common/types";
5
+ import { ValidationState } from "../hooks";
6
+ import { SpreadsheetFilter } from "./useSpreadsheetFilter";
7
+ export type OnDataSetChanged = (dataSet: RecordDataSet) => void;
8
+ export type OnValidationStateChanged = (state: ValidationState) => void;
9
+ type State = {
10
+ data: Record[];
11
+ fields: Field[];
12
+ isLoading: boolean;
13
+ isReadOnly?: boolean;
14
+ errors: BatchValidationErrors;
15
+ warnings: BatchValidationErrors;
16
+ highlightFirstRow: boolean;
17
+ options: SpreadsheetOptions;
18
+ sortByFieldErrors: string;
19
+ sortByFieldWarnings: string;
20
+ updateRecord: (record: Record) => void;
21
+ setIsLoading: React.Dispatch<React.SetStateAction<boolean>>;
22
+ setSortByFieldErrors: React.Dispatch<React.SetStateAction<string>>;
23
+ selectedRows: string[];
24
+ setSelectedRows: React.Dispatch<React.SetStateAction<string[]>>;
25
+ setSortByFieldWarnings: React.Dispatch<React.SetStateAction<string>>;
26
+ deleteRecords: (selectedRecords: string[]) => void;
27
+ lastClickedIndexRef: React.MutableRefObject<number | null>;
28
+ filteredInputValue: string;
29
+ setFilteredInputValue: React.Dispatch<React.SetStateAction<string>>;
30
+ addNewRowsToSpreadsheet: () => void;
31
+ spreadsheetFilter: SpreadsheetFilter;
32
+ filterRecordsByRowType: (filterByRow: SpreadsheetFilter["byRow"]) => void;
33
+ filterRecordsByFieldErrors: (filterByColumn: string) => void;
34
+ resetSpreadsheetFilter: () => void;
35
+ recordsWithValuesCount: number;
36
+ filteredDataCount: number;
37
+ checkboxColumnWidth: number;
38
+ isFiltering: boolean;
39
+ sortBy: SortBy | null;
40
+ setSortBy: React.Dispatch<React.SetStateAction<SortBy>>;
41
+ } & ValidationState;
42
+ type Props = SpreadsheetProps & {
43
+ children: JSX.Element;
44
+ };
45
+ export declare const SpreadsheetContextProvider: ({ initialDataSet, fields, options, isReadOnly, highlightFirstRow, children, onValidateRecord, onDataSetChanged, onValidationStateChanged, selectedRows, setSelectedRows, getSortCompareFn, }: Props) => JSX.Element;
46
+ export declare const useSpreadsheetContext: () => State;
47
+ export {};
@@ -0,0 +1,167 @@
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 __rest = (this && this.__rest) || function (s, e) {
13
+ var t = {};
14
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
+ t[p] = s[p];
16
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
+ t[p[i]] = s[p[i]];
20
+ }
21
+ return t;
22
+ };
23
+ import { jsx as _jsx } from "react/jsx-runtime";
24
+ import { get } from "lodash";
25
+ import { createContext, useCallback, useContext, useEffect, useMemo, useRef, useState, } from "react";
26
+ import { addMeta } from "../../../data";
27
+ import { useValidationState } from "../hooks";
28
+ import { useSpreadsheetFilter, } from "./useSpreadsheetFilter";
29
+ import { filterRecordsByType, filterRecordsByError, filterRecordsBySearchValue, } from "./filterMethods";
30
+ import { hasValueInAnyField } from "./utils";
31
+ var getDefaultSortCompareFn = function (sortBy) {
32
+ return function (a, b) {
33
+ var aField = get(a, sortBy.field);
34
+ var bField = get(b, sortBy.field);
35
+ if (aField === bField)
36
+ return a._meta.rowIndex > b._meta.rowIndex ? 1 : -1;
37
+ if (!aField)
38
+ return 1;
39
+ if (!bField)
40
+ return -1;
41
+ if (sortBy.direction === "asc")
42
+ return aField > bField ? 1 : -1;
43
+ return aField < bField ? 1 : -1;
44
+ };
45
+ };
46
+ var SpreadsheetContext = createContext({});
47
+ export var SpreadsheetContextProvider = function (_a) {
48
+ var initialDataSet = _a.initialDataSet, fields = _a.fields, options = _a.options, isReadOnly = _a.isReadOnly, highlightFirstRow = _a.highlightFirstRow, children = _a.children, onValidateRecord = _a.onValidateRecord, onDataSetChanged = _a.onDataSetChanged, onValidationStateChanged = _a.onValidationStateChanged, selectedRows = _a.selectedRows, setSelectedRows = _a.setSelectedRows, _b = _a.getSortCompareFn, getSortCompareFn = _b === void 0 ? getDefaultSortCompareFn : _b;
49
+ var _c = useState(initialDataSet), dataSet = _c[0], setDataSet = _c[1];
50
+ var _d = useState(false), isLoading = _d[0], setIsLoading = _d[1];
51
+ var _e = useState(null), sortByFieldErrors = _e[0], setSortByFieldErrors = _e[1];
52
+ var _f = useState(null), sortByFieldWarnings = _f[0], setSortByFieldWarnings = _f[1];
53
+ var _g = useState(""), filteredInputValue = _g[0], setFilteredInputValue = _g[1];
54
+ var _h = useState(null), sortBy = _h[0], setSortBy = _h[1];
55
+ var addRowTimeoutRef = useRef(null);
56
+ var _j = useSpreadsheetFilter(), spreadsheetFilter = _j.spreadsheetFilter, filterRecordsByRowType = _j.filterRecordsByRowType, filterRecordsByFieldErrors = _j.filterRecordsByFieldErrors, resetSpreadsheetFilter = _j.resetSpreadsheetFilter;
57
+ var _k = useValidationState({
58
+ dataSet: dataSet,
59
+ initialDataSet: initialDataSet,
60
+ fields: fields,
61
+ options: options,
62
+ isReadOnly: isReadOnly,
63
+ setDataSet: setDataSet,
64
+ setIsLoading: setIsLoading,
65
+ onValidateRecord: onValidateRecord,
66
+ }), updateRecordAndRevalidate = _k.updateRecordAndRevalidate, deleteRecords = _k.deleteRecords, warnings = _k.warnings, errors = _k.errors, validationState = __rest(_k, ["updateRecordAndRevalidate", "deleteRecords", "warnings", "errors"]);
67
+ var addNewRowsToSpreadsheet = function () {
68
+ addRowTimeoutRef.current = setTimeout(function () {
69
+ var highestRowIndex = Math.max.apply(Math, Object.values(dataSet).map(function (obj) { return obj._meta.rowIndex; }));
70
+ var newRow = addMeta({}, highestRowIndex + 1);
71
+ setDataSet(function (oldValues) {
72
+ var _a;
73
+ return (__assign(__assign({}, oldValues), (_a = {}, _a[newRow._meta.id] = newRow, _a)));
74
+ });
75
+ addRowTimeoutRef.current = null;
76
+ }, 300);
77
+ };
78
+ var handleDeleteErrors = function (selectedRows) {
79
+ deleteRecords(selectedRows, errors, warnings);
80
+ };
81
+ var dataSnapshot = useMemo(function () {
82
+ var filteredData = spreadsheetFilter.type === "rowBased"
83
+ ? filterRecordsByType(dataSet, spreadsheetFilter.byRow)
84
+ : filterRecordsByError(dataSet, spreadsheetFilter.byColumn.field, errors);
85
+ var filteredDatasetByString = filteredInputValue
86
+ ? filterRecordsBySearchValue(filteredData, filteredInputValue)
87
+ : filteredData;
88
+ var dataSetValues = Object.values(filteredDatasetByString);
89
+ if (sortBy) {
90
+ return dataSetValues.sort(getSortCompareFn(sortBy));
91
+ }
92
+ else if (!!sortByFieldErrors || !!sortByFieldWarnings)
93
+ return dataSetValues.sort(function (a, b) {
94
+ var aHasErrors = !!get(sortByFieldErrors ? errors : warnings, "".concat(get(a, "_meta.id"), ".").concat(sortByFieldErrors || sortByFieldWarnings), false);
95
+ var bHasErrors = !!get(sortByFieldErrors ? errors : warnings, "".concat(get(b, "_meta.id"), ".").concat(sortByFieldErrors || sortByFieldWarnings), false);
96
+ if (aHasErrors === bHasErrors) {
97
+ return a._meta.rowIndex > b._meta.rowIndex ? 1 : -1;
98
+ }
99
+ return bHasErrors ? 1 : -1;
100
+ });
101
+ return dataSetValues;
102
+ }, [
103
+ filteredInputValue,
104
+ spreadsheetFilter,
105
+ sortBy,
106
+ Object.keys(dataSet).length,
107
+ sortByFieldErrors,
108
+ sortByFieldWarnings,
109
+ ]);
110
+ var recordsWithValuesCount = useMemo(function () {
111
+ return Object.values(dataSet).filter(hasValueInAnyField).length;
112
+ }, [dataSet]);
113
+ var filteredDataCount = useMemo(function () {
114
+ return Object.values(dataSnapshot).filter(hasValueInAnyField).length;
115
+ }, [dataSnapshot]);
116
+ var isFiltering = useMemo(function () { return !!filteredInputValue; }, [filteredInputValue]);
117
+ useEffect(function () {
118
+ onDataSetChanged && onDataSetChanged(dataSet);
119
+ if (addRowTimeoutRef.current) {
120
+ // avoid adding new rows when the user is typing
121
+ clearTimeout(addRowTimeoutRef.current);
122
+ }
123
+ var dataSetKeys = Object.keys(dataSet);
124
+ var latestDataSet = dataSet[dataSetKeys[dataSetKeys.length - 1]];
125
+ var latestDataSetValuesWithoutMeta = Object.values(latestDataSet).filter(function (key) { return key !== "_meta"; });
126
+ var hasValueInTheLastObject = latestDataSetValuesWithoutMeta
127
+ .filter(function (value) {
128
+ return value !== null && value !== undefined && typeof value !== "object";
129
+ })
130
+ .some(function (value) { return value !== "null" && value !== "undefined"; });
131
+ if (hasValueInTheLastObject) {
132
+ addNewRowsToSpreadsheet();
133
+ }
134
+ }, [dataSet]);
135
+ useEffect(function () {
136
+ onValidationStateChanged &&
137
+ onValidationStateChanged(__assign(__assign({}, validationState), { errors: errors, warnings: warnings }));
138
+ }, [validationState, onValidationStateChanged]);
139
+ var handleSortByFieldErrors = useCallback(function (field) {
140
+ setSortByFieldErrors(field === sortByFieldErrors ? null : field);
141
+ setSortByFieldWarnings(null);
142
+ setSortBy(null);
143
+ }, [sortByFieldErrors]);
144
+ var handleSortByFieldWarnings = useCallback(function (field) {
145
+ setSortByFieldWarnings(field === sortByFieldWarnings ? null : field);
146
+ setSortByFieldErrors(null);
147
+ setSortBy(null);
148
+ }, [sortByFieldWarnings]);
149
+ var lastClickedIndexRef = useRef(null);
150
+ var checkboxColumnWidth = useMemo(function () {
151
+ var lastRowIndexLength = dataSnapshot.length.toString().length;
152
+ var singleLetterWidth = 15;
153
+ var horizontalSpacing = 8;
154
+ var baseCheckboxColumnWidth = lastRowIndexLength * singleLetterWidth + horizontalSpacing;
155
+ return baseCheckboxColumnWidth < 40 ? 40 : baseCheckboxColumnWidth;
156
+ }, [dataSnapshot]);
157
+ var updatedDataSnapshot = useMemo(function () {
158
+ return dataSnapshot.map(function (data) {
159
+ var _a;
160
+ var updatedData = dataSet[(_a = data._meta) === null || _a === void 0 ? void 0 : _a.id];
161
+ return updatedData;
162
+ });
163
+ }, [dataSet, dataSnapshot]);
164
+ var value = __assign(__assign({ data: updatedDataSnapshot, fields: fields, isLoading: isLoading }, validationState), { isReadOnly: isReadOnly, sortByFieldErrors: sortByFieldErrors, sortByFieldWarnings: sortByFieldWarnings, highlightFirstRow: highlightFirstRow, options: options, recordsWithValuesCount: recordsWithValuesCount, filteredDataCount: filteredDataCount, sortBy: sortBy, warnings: warnings, errors: errors, setIsLoading: setIsLoading, setSortByFieldErrors: handleSortByFieldErrors, setSortByFieldWarnings: handleSortByFieldWarnings, onValidateRecord: onValidateRecord, updateRecord: updateRecordAndRevalidate, selectedRows: selectedRows, setSelectedRows: setSelectedRows, deleteRecords: handleDeleteErrors, filteredInputValue: filteredInputValue, setFilteredInputValue: setFilteredInputValue, lastClickedIndexRef: lastClickedIndexRef, addNewRowsToSpreadsheet: addNewRowsToSpreadsheet, spreadsheetFilter: spreadsheetFilter, resetSpreadsheetFilter: resetSpreadsheetFilter, filterRecordsByRowType: filterRecordsByRowType, filterRecordsByFieldErrors: filterRecordsByFieldErrors, checkboxColumnWidth: checkboxColumnWidth, setSortBy: setSortBy, isFiltering: isFiltering });
165
+ return (_jsx(SpreadsheetContext.Provider, __assign({ value: value }, { children: children })));
166
+ };
167
+ export var useSpreadsheetContext = function () { return useContext(SpreadsheetContext); };
@@ -0,0 +1,14 @@
1
+ export type SpreadsheetFilter = {
2
+ type: "rowBased" | "columnBased";
3
+ byRow?: "all" | "invalid" | "valid";
4
+ byColumn?: {
5
+ type: "fieldWithErrors";
6
+ field: string;
7
+ };
8
+ };
9
+ export declare const useSpreadsheetFilter: () => {
10
+ spreadsheetFilter: SpreadsheetFilter;
11
+ filterRecordsByRowType: (filterByRow: SpreadsheetFilter["byRow"]) => void;
12
+ filterRecordsByFieldErrors: (filterByColumn: string) => void;
13
+ resetSpreadsheetFilter: () => void;
14
+ };
@@ -0,0 +1,45 @@
1
+ import { useReducer } from "react";
2
+ export var useSpreadsheetFilter = function () {
3
+ var filtersInitialState = {
4
+ type: "rowBased",
5
+ byRow: "all",
6
+ };
7
+ function reducer(state, action) {
8
+ switch (action.type) {
9
+ case "FILTER_BY_ROW_TYPE":
10
+ return { type: "rowBased", byRow: action.payload, byColumn: null };
11
+ case "FILTER_BY_FIELD_ERRORS":
12
+ return {
13
+ type: "columnBased",
14
+ byColumn: {
15
+ type: "fieldWithErrors",
16
+ field: action.payload,
17
+ },
18
+ byRow: null,
19
+ };
20
+ case "RESTORE_FILTERS":
21
+ return filtersInitialState;
22
+ default:
23
+ return state;
24
+ }
25
+ }
26
+ var _a = useReducer(reducer, filtersInitialState), spreadsheetFilter = _a[0], filtersDispatch = _a[1];
27
+ var resetSpreadsheetFilter = function () {
28
+ filtersDispatch({ type: "RESTORE_FILTERS" });
29
+ };
30
+ var filterRecordsByRowType = function (filterByRow) {
31
+ filtersDispatch({ type: "FILTER_BY_ROW_TYPE", payload: filterByRow });
32
+ };
33
+ var filterRecordsByFieldErrors = function (filterByColumn) {
34
+ filtersDispatch({
35
+ type: "FILTER_BY_FIELD_ERRORS",
36
+ payload: filterByColumn,
37
+ });
38
+ };
39
+ return {
40
+ spreadsheetFilter: spreadsheetFilter,
41
+ filterRecordsByRowType: filterRecordsByRowType,
42
+ filterRecordsByFieldErrors: filterRecordsByFieldErrors,
43
+ resetSpreadsheetFilter: resetSpreadsheetFilter,
44
+ };
45
+ };
@@ -0,0 +1,2 @@
1
+ import { Record } from "../../../../types";
2
+ export declare const hasValueInAnyField: (record: Record) => boolean;
@@ -0,0 +1,14 @@
1
+ export var hasValueInAnyField = function (record) {
2
+ return Object.entries(record)
3
+ .filter(function (_a) {
4
+ var key = _a[0];
5
+ return key !== "_meta";
6
+ })
7
+ .some(function (_a) {
8
+ var key = _a[0], value = _a[1];
9
+ if (typeof value === "string") {
10
+ return value.trim() !== "";
11
+ }
12
+ return value !== null && value !== undefined;
13
+ });
14
+ };
@@ -0,0 +1,16 @@
1
+ import { Record, Field, FieldTypes } from "../../../../types";
2
+ export declare const spreadsheetRowHeightPx = 40;
3
+ export declare const spreadsheetHeaderHeightPx = 40;
4
+ export declare const isNullOrUndefined: (value: any) => boolean;
5
+ export declare const isEmpty: (value: string) => boolean;
6
+ export declare const isEmail: (value: string) => boolean;
7
+ export declare const isUrl: (value: string) => boolean;
8
+ export declare const isTrue: (value: string) => boolean;
9
+ export declare const isFalse: (value: string) => boolean;
10
+ export declare const isBoolean: (value: string) => boolean;
11
+ export declare const isInteger: (value: string) => boolean;
12
+ export declare const isFloat: (value: string) => boolean;
13
+ export declare const isEven: (value: number) => boolean;
14
+ export declare const ignoreNullOrUndefinedKeyValues: (obj: any) => {};
15
+ export declare const isRecordEmpty: (record: Record, fields: Field[]) => boolean;
16
+ export declare const parseValue: (fieldType: FieldTypes, value: any, enumSet?: any) => any;
@@ -0,0 +1,63 @@
1
+ import { FieldTypes } from "../../../../types";
2
+ export var spreadsheetRowHeightPx = 40;
3
+ export var spreadsheetHeaderHeightPx = 40;
4
+ export var isNullOrUndefined = function (value) {
5
+ return value === null || value === undefined;
6
+ };
7
+ export var isEmpty = function (value) {
8
+ return (value === undefined ||
9
+ value === null ||
10
+ (typeof value === "object" && Object.keys(value).length === 0) ||
11
+ (typeof value === "string" && value.trim().length === 0));
12
+ };
13
+ export var isEmail = function (value) {
14
+ var emailRegex = /^[\w+.-]+@([\w-]+\.)+[\w-]{2,4}$/;
15
+ return emailRegex.test(value);
16
+ };
17
+ export var isUrl = function (value) {
18
+ var urlRegex = /^(http:\/\/www\.|https:\/\/www\.|http:\/\/|https:\/\/)?[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$/g;
19
+ return urlRegex.test(value);
20
+ };
21
+ export var isTrue = function (value) {
22
+ var _a;
23
+ var _value = (_a = value === null || value === void 0 ? void 0 : value.toString()) === null || _a === void 0 ? void 0 : _a.toLowerCase();
24
+ return ["true", "yes", "1", "y", "on", "t"].includes(_value);
25
+ };
26
+ export var isFalse = function (value) {
27
+ var _a;
28
+ var _value = (_a = value === null || value === void 0 ? void 0 : value.toString()) === null || _a === void 0 ? void 0 : _a.toLowerCase();
29
+ return ["false", "no", "0", "n", "off", "f"].includes(_value);
30
+ };
31
+ export var isBoolean = function (value) {
32
+ return isTrue(value) || isFalse(value);
33
+ };
34
+ export var isInteger = function (value) { return /^-?[0-9]+$/.test(value + ""); };
35
+ export var isFloat = function (value) {
36
+ return /^-?[0-9]+(?:\.[0-9]+)?$/.test(value + "");
37
+ };
38
+ export var isEven = function (value) { return value % 2 === 0; };
39
+ export var ignoreNullOrUndefinedKeyValues = function (obj) {
40
+ var result = {};
41
+ Object.keys(obj || {})
42
+ .filter(function (key) { return obj[key] !== null && obj[key] !== undefined; })
43
+ .forEach(function (key) {
44
+ result[key] = obj[key];
45
+ });
46
+ return result;
47
+ };
48
+ export var isRecordEmpty = function (record, fields) {
49
+ return fields.reduce(function (isEmptyRecord, f) { return isEmptyRecord && isEmpty(record[f.name]); }, true);
50
+ };
51
+ export var parseValue = function (fieldType, value, enumSet) {
52
+ if (isEmpty(value))
53
+ return value;
54
+ if (fieldType === FieldTypes.float)
55
+ return isFloat(value) ? parseFloat(value) : value;
56
+ if (fieldType === FieldTypes.integer)
57
+ return isInteger(value) ? parseInt(value) : value;
58
+ if (fieldType === FieldTypes.boolean)
59
+ return isTrue(value) ? true : false;
60
+ if (fieldType === FieldTypes.enum && enumSet)
61
+ return enumSet[value];
62
+ return value;
63
+ };
@@ -0,0 +1,24 @@
1
+ /// <reference types="react" />
2
+ import { RecordDataSet, Field, SpreadsheetOptions, OnValidateRecord, Record } from "../../../../types";
3
+ import { OnDataSetChanged, OnValidationStateChanged } from "../SpreadsheetContextProvider";
4
+ export declare enum SortOrder {
5
+ ASC = "asc",
6
+ DESC = "desc"
7
+ }
8
+ export type SortBy = {
9
+ field: string;
10
+ direction: SortOrder;
11
+ };
12
+ export type SpreadsheetProps = {
13
+ initialDataSet: RecordDataSet;
14
+ isReadOnly?: boolean;
15
+ fields?: Field[];
16
+ highlightFirstRow?: boolean;
17
+ options?: SpreadsheetOptions;
18
+ onValidateRecord?: OnValidateRecord;
19
+ onDataSetChanged?: OnDataSetChanged;
20
+ onValidationStateChanged?: OnValidationStateChanged;
21
+ selectedRows?: string[];
22
+ setSelectedRows?: React.Dispatch<React.SetStateAction<string[]>>;
23
+ getSortCompareFn?: (sortBy: SortBy) => (a: Record, b: Record) => number;
24
+ };
@@ -0,0 +1,5 @@
1
+ export var SortOrder;
2
+ (function (SortOrder) {
3
+ SortOrder["ASC"] = "asc";
4
+ SortOrder["DESC"] = "desc";
5
+ })(SortOrder || (SortOrder = {}));
@@ -0,0 +1,15 @@
1
+ import React from "react";
2
+ import { Field } from "../../../../types";
3
+ import { SortOrder } from "../common/types";
4
+ type SortIndicatorProps = {
5
+ direction: SortOrder;
6
+ };
7
+ export declare const SortIndicator: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, import("../../../../styled/utils").CSSProps & SortIndicatorProps, never>;
8
+ export type FieldHeaderProps = {
9
+ field: Field;
10
+ sortByFieldErrors: (name: string) => void;
11
+ sortByFieldWarnings: (name: string) => void;
12
+ };
13
+ export declare const FieldHeader: React.FC<FieldHeaderProps>;
14
+ export declare const chevronDown: JSX.Element;
15
+ export {};