nuxt-ui-tools 1.11.2 → 1.13.0

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 (332) hide show
  1. package/README.md +11 -5
  2. package/dist/module.json +1 -1
  3. package/dist/module.mjs +46 -0
  4. package/dist/runtime/dashboard/components/dashboard-stat.d.vue.ts +1 -1
  5. package/dist/runtime/dashboard/components/dashboard-stat.vue.d.ts +1 -1
  6. package/dist/runtime/file-preview/components/shell/file-preview-stage.d.vue.ts +2 -2
  7. package/dist/runtime/file-preview/components/shell/file-preview-stage.vue.d.ts +2 -2
  8. package/dist/runtime/form/fields/array-collapse/component.vue +2 -1
  9. package/dist/runtime/form/fields/array-list/component.vue +72 -63
  10. package/dist/runtime/form/fields/array-list/use-array-items.d.ts +1 -0
  11. package/dist/runtime/form/fields/array-list/use-array-items.js +4 -0
  12. package/dist/runtime/form/fields/array-table/component.vue +2 -1
  13. package/dist/runtime/form/types/api.d.ts +10 -2
  14. package/dist/runtime/i18n/locales/en.js +252 -130
  15. package/dist/runtime/i18n/locales/fr.js +252 -130
  16. package/dist/runtime/i18n/types.d.ts +242 -119
  17. package/dist/runtime/shared/types/query.d.ts +14 -4
  18. package/dist/runtime/shared/types/remote-options.d.ts +11 -0
  19. package/dist/runtime/shared/utils/define-remote-options.js +6 -0
  20. package/dist/runtime/shared/utils/file.d.ts +1 -1
  21. package/dist/runtime/spreadsheet/components/{steps/review/spreadsheet-review-overflow-alert.d.vue.ts → internal/spreadsheet-import-cell-editor.d.vue.ts} +8 -5
  22. package/dist/runtime/spreadsheet/components/internal/spreadsheet-import-cell-editor.vue +73 -0
  23. package/dist/runtime/spreadsheet/components/{steps/review/spreadsheet-review-overflow-alert.vue.d.ts → internal/spreadsheet-import-cell-editor.vue.d.ts} +8 -5
  24. package/dist/runtime/spreadsheet/components/internal/spreadsheet-import-column-row.d.vue.ts +17 -0
  25. package/dist/runtime/spreadsheet/components/internal/spreadsheet-import-column-row.vue +98 -0
  26. package/dist/runtime/spreadsheet/components/internal/spreadsheet-import-column-row.vue.d.ts +17 -0
  27. package/dist/runtime/spreadsheet/components/internal/spreadsheet-import-heading.d.vue.ts +17 -0
  28. package/dist/runtime/spreadsheet/components/internal/spreadsheet-import-heading.vue +20 -0
  29. package/dist/runtime/spreadsheet/components/internal/spreadsheet-import-heading.vue.d.ts +17 -0
  30. package/dist/runtime/spreadsheet/components/internal/spreadsheet-import-status-badge.d.vue.ts +10 -0
  31. package/dist/runtime/spreadsheet/components/internal/spreadsheet-import-status-badge.vue +34 -0
  32. package/dist/runtime/spreadsheet/components/internal/spreadsheet-import-status-badge.vue.d.ts +10 -0
  33. package/dist/runtime/spreadsheet/components/internal/spreadsheet-import-value-row.d.vue.ts +13 -0
  34. package/dist/runtime/spreadsheet/components/internal/spreadsheet-import-value-row.vue +113 -0
  35. package/dist/runtime/spreadsheet/components/internal/spreadsheet-import-value-row.vue.d.ts +13 -0
  36. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-column-mapping.d.vue.ts +35 -0
  37. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-column-mapping.vue +154 -0
  38. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-column-mapping.vue.d.ts +35 -0
  39. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-dropzone.d.vue.ts +23 -0
  40. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-dropzone.vue +83 -0
  41. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-dropzone.vue.d.ts +23 -0
  42. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-expected-columns.d.vue.ts +19 -0
  43. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-expected-columns.vue +45 -0
  44. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-expected-columns.vue.d.ts +19 -0
  45. package/dist/runtime/spreadsheet/components/{shared/spreadsheet-object-preview-table.d.vue.ts → parts/spreadsheet-import-export-button.d.vue.ts} +3 -2
  46. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-export-button.vue +34 -0
  47. package/dist/runtime/spreadsheet/components/{layout/spreadsheet-import-file-bar.vue.d.ts → parts/spreadsheet-import-export-button.vue.d.ts} +3 -4
  48. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-file-card.d.vue.ts +17 -0
  49. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-file-card.vue +49 -0
  50. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-file-card.vue.d.ts +17 -0
  51. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-progress.d.vue.ts +18 -0
  52. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-progress.vue +101 -0
  53. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-progress.vue.d.ts +18 -0
  54. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-row-inspector.d.vue.ts +22 -0
  55. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-row-inspector.vue +276 -0
  56. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-row-inspector.vue.d.ts +22 -0
  57. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-source-settings.d.vue.ts +11 -0
  58. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-source-settings.vue +164 -0
  59. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-source-settings.vue.d.ts +11 -0
  60. package/dist/runtime/spreadsheet/components/{shared/spreadsheet-value-preview.d.vue.ts → parts/spreadsheet-import-stat.d.vue.ts} +7 -4
  61. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-stat.vue +30 -0
  62. package/dist/runtime/spreadsheet/components/{shared/spreadsheet-value-preview.vue.d.ts → parts/spreadsheet-import-stat.vue.d.ts} +7 -4
  63. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-stats.d.vue.ts +26 -0
  64. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-stats.vue +55 -0
  65. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-stats.vue.d.ts +26 -0
  66. package/dist/runtime/spreadsheet/components/{shared/spreadsheet-object-preview-table.vue.d.ts → parts/spreadsheet-import-submit-button.d.vue.ts} +3 -2
  67. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-submit-button.vue +27 -0
  68. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-submit-button.vue.d.ts +8 -0
  69. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-summary.d.vue.ts +16 -0
  70. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-summary.vue +51 -0
  71. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-summary.vue.d.ts +16 -0
  72. package/dist/runtime/spreadsheet/components/{layout/spreadsheet-import-file-bar.d.vue.ts → parts/spreadsheet-import-table-toolbar.d.vue.ts} +2 -4
  73. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-table-toolbar.vue +217 -0
  74. package/dist/runtime/spreadsheet/components/{shared/spreadsheet-raw-preview-table.d.vue.ts → parts/spreadsheet-import-table-toolbar.vue.d.ts} +2 -2
  75. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-table.d.vue.ts +33 -0
  76. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-table.vue +302 -0
  77. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-table.vue.d.ts +33 -0
  78. package/dist/runtime/spreadsheet/components/{layout/spreadsheet-import-sidebar.d.vue.ts → parts/spreadsheet-import-template-button.d.vue.ts} +5 -4
  79. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-template-button.vue +31 -0
  80. package/dist/runtime/spreadsheet/components/{layout/spreadsheet-import-sidebar.vue.d.ts → parts/spreadsheet-import-template-button.vue.d.ts} +5 -4
  81. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-value-mapping.d.vue.ts +27 -0
  82. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-value-mapping.vue +162 -0
  83. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-value-mapping.vue.d.ts +27 -0
  84. package/dist/runtime/spreadsheet/components/spreadsheet-import-root.d.vue.ts +24 -0
  85. package/dist/runtime/spreadsheet/components/spreadsheet-import-root.vue +23 -0
  86. package/dist/runtime/spreadsheet/components/spreadsheet-import-root.vue.d.ts +24 -0
  87. package/dist/runtime/spreadsheet/components/spreadsheet-import.d.vue.ts +21 -6
  88. package/dist/runtime/spreadsheet/components/spreadsheet-import.vue +46 -262
  89. package/dist/runtime/spreadsheet/components/spreadsheet-import.vue.d.ts +21 -6
  90. package/dist/runtime/spreadsheet/components/{layout/spreadsheet-import-header.d.vue.ts → steps/spreadsheet-import-step-nav.d.vue.ts} +6 -2
  91. package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-step-nav.vue +116 -0
  92. package/dist/runtime/spreadsheet/components/{layout/spreadsheet-import-header.vue.d.ts → steps/spreadsheet-import-step-nav.vue.d.ts} +6 -2
  93. package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-step.d.vue.ts +26 -0
  94. package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-step.vue +106 -0
  95. package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-step.vue.d.ts +26 -0
  96. package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-stepper.d.vue.ts +15 -0
  97. package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-stepper.vue +131 -0
  98. package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-stepper.vue.d.ts +15 -0
  99. package/dist/runtime/spreadsheet/composables/index.d.ts +2 -0
  100. package/dist/runtime/spreadsheet/composables/index.js +2 -0
  101. package/dist/runtime/spreadsheet/composables/use-spreadsheet-answers.d.ts +8 -0
  102. package/dist/runtime/spreadsheet/composables/use-spreadsheet-answers.js +19 -0
  103. package/dist/runtime/spreadsheet/composables/use-spreadsheet-columns.d.ts +23 -0
  104. package/dist/runtime/spreadsheet/composables/use-spreadsheet-columns.js +75 -0
  105. package/dist/runtime/spreadsheet/composables/use-spreadsheet-context.d.ts +8 -45
  106. package/dist/runtime/spreadsheet/composables/use-spreadsheet-context.js +28 -32
  107. package/dist/runtime/spreadsheet/composables/use-spreadsheet-edits.d.ts +11 -0
  108. package/dist/runtime/spreadsheet/composables/use-spreadsheet-edits.js +25 -0
  109. package/dist/runtime/spreadsheet/composables/use-spreadsheet-fields.d.ts +16 -0
  110. package/dist/runtime/spreadsheet/composables/use-spreadsheet-fields.js +20 -0
  111. package/dist/runtime/spreadsheet/composables/use-spreadsheet-file.d.ts +14 -0
  112. package/dist/runtime/spreadsheet/composables/use-spreadsheet-file.js +44 -0
  113. package/dist/runtime/spreadsheet/composables/use-spreadsheet-import-context.d.ts +12 -0
  114. package/dist/runtime/spreadsheet/composables/use-spreadsheet-import-context.js +22 -0
  115. package/dist/runtime/spreadsheet/composables/use-spreadsheet-import.d.ts +18 -7
  116. package/dist/runtime/spreadsheet/composables/use-spreadsheet-import.js +340 -109
  117. package/dist/runtime/spreadsheet/composables/use-spreadsheet-layout.d.ts +36 -0
  118. package/dist/runtime/spreadsheet/composables/use-spreadsheet-layout.js +95 -0
  119. package/dist/runtime/spreadsheet/composables/use-spreadsheet-options.d.ts +24 -0
  120. package/dist/runtime/spreadsheet/composables/use-spreadsheet-options.js +159 -0
  121. package/dist/runtime/spreadsheet/composables/use-spreadsheet-queries.d.ts +14 -0
  122. package/dist/runtime/spreadsheet/composables/use-spreadsheet-queries.js +11 -0
  123. package/dist/runtime/spreadsheet/composables/use-spreadsheet-review.d.ts +37 -169
  124. package/dist/runtime/spreadsheet/composables/use-spreadsheet-review.js +148 -408
  125. package/dist/runtime/spreadsheet/composables/use-spreadsheet-rows.d.ts +48 -26
  126. package/dist/runtime/spreadsheet/composables/use-spreadsheet-rows.js +334 -21
  127. package/dist/runtime/spreadsheet/composables/use-spreadsheet-steps.d.ts +33 -0
  128. package/dist/runtime/spreadsheet/composables/use-spreadsheet-steps.js +126 -0
  129. package/dist/runtime/spreadsheet/composables/use-spreadsheet-submit.d.ts +37 -0
  130. package/dist/runtime/spreadsheet/composables/use-spreadsheet-submit.js +136 -0
  131. package/dist/runtime/spreadsheet/composables/use-spreadsheet-values.d.ts +27 -0
  132. package/dist/runtime/spreadsheet/composables/use-spreadsheet-values.js +121 -0
  133. package/dist/runtime/spreadsheet/index.d.ts +0 -1
  134. package/dist/runtime/spreadsheet/index.js +0 -1
  135. package/dist/runtime/spreadsheet/schema/builder.d.ts +8 -0
  136. package/dist/runtime/spreadsheet/schema/builder.js +31 -0
  137. package/dist/runtime/spreadsheet/schema/index.d.ts +24 -32
  138. package/dist/runtime/spreadsheet/schema/index.js +4 -21
  139. package/dist/runtime/spreadsheet/types/columns.d.ts +252 -273
  140. package/dist/runtime/spreadsheet/types/fields.d.ts +64 -0
  141. package/dist/runtime/spreadsheet/types/importer.d.ts +308 -0
  142. package/dist/runtime/spreadsheet/types/index.d.ts +6 -10
  143. package/dist/runtime/spreadsheet/types/options.d.ts +47 -9
  144. package/dist/runtime/spreadsheet/types/rows.d.ts +57 -48
  145. package/dist/runtime/spreadsheet/types/schema.d.ts +162 -76
  146. package/dist/runtime/spreadsheet/types/shared.d.ts +19 -21
  147. package/dist/runtime/spreadsheet/types/source.d.ts +39 -15
  148. package/dist/runtime/spreadsheet/types/steps.d.ts +76 -0
  149. package/dist/runtime/spreadsheet/types/validation.d.ts +49 -69
  150. package/dist/runtime/spreadsheet/types/values.d.ts +77 -0
  151. package/dist/runtime/spreadsheet/utils/download.d.ts +2 -0
  152. package/dist/runtime/spreadsheet/utils/download.js +8 -0
  153. package/dist/runtime/spreadsheet/utils/export.d.ts +26 -0
  154. package/dist/runtime/spreadsheet/utils/export.js +50 -0
  155. package/dist/runtime/spreadsheet/utils/fields.d.ts +26 -0
  156. package/dist/runtime/spreadsheet/utils/fields.js +169 -0
  157. package/dist/runtime/spreadsheet/utils/guards.d.ts +18 -0
  158. package/dist/runtime/spreadsheet/utils/guards.js +27 -0
  159. package/dist/runtime/spreadsheet/utils/headers.d.ts +15 -0
  160. package/dist/runtime/spreadsheet/utils/headers.js +36 -0
  161. package/dist/runtime/spreadsheet/utils/identity.d.ts +24 -0
  162. package/dist/runtime/spreadsheet/utils/identity.js +57 -0
  163. package/dist/runtime/spreadsheet/utils/index.d.ts +15 -6
  164. package/dist/runtime/spreadsheet/utils/index.js +15 -6
  165. package/dist/runtime/spreadsheet/utils/layout.d.ts +12 -0
  166. package/dist/runtime/spreadsheet/utils/layout.js +37 -0
  167. package/dist/runtime/spreadsheet/utils/options.d.ts +31 -10
  168. package/dist/runtime/spreadsheet/utils/options.js +58 -30
  169. package/dist/runtime/spreadsheet/utils/parse.d.ts +6 -0
  170. package/dist/runtime/spreadsheet/utils/parse.js +147 -0
  171. package/dist/runtime/spreadsheet/utils/paths.d.ts +4 -0
  172. package/dist/runtime/spreadsheet/utils/paths.js +29 -0
  173. package/dist/runtime/spreadsheet/utils/rows.d.ts +69 -0
  174. package/dist/runtime/spreadsheet/utils/rows.js +168 -0
  175. package/dist/runtime/spreadsheet/utils/rules.d.ts +4 -0
  176. package/dist/runtime/spreadsheet/utils/rules.js +95 -0
  177. package/dist/runtime/spreadsheet/utils/suggestions.d.ts +20 -0
  178. package/dist/runtime/spreadsheet/utils/suggestions.js +43 -0
  179. package/dist/runtime/spreadsheet/utils/text.d.ts +9 -0
  180. package/dist/runtime/spreadsheet/utils/text.js +11 -0
  181. package/dist/runtime/spreadsheet/utils/workbook.d.ts +13 -0
  182. package/dist/runtime/spreadsheet/utils/workbook.js +121 -0
  183. package/dist/runtime/table/components/filters/tags/boolean-filter-tag.d.vue.ts +2 -2
  184. package/dist/runtime/table/components/filters/tags/boolean-filter-tag.vue.d.ts +2 -2
  185. package/dist/runtime/table/components/filters/tags/date-filter-tag.d.vue.ts +2 -2
  186. package/dist/runtime/table/components/filters/tags/date-filter-tag.vue.d.ts +2 -2
  187. package/dist/runtime/table/components/filters/tags/number-filter-tag.d.vue.ts +2 -2
  188. package/dist/runtime/table/components/filters/tags/number-filter-tag.vue.d.ts +2 -2
  189. package/dist/runtime/table/components/filters/tags/option-filter-tag.d.vue.ts +2 -2
  190. package/dist/runtime/table/components/filters/tags/option-filter-tag.vue.d.ts +2 -2
  191. package/dist/runtime/table/components/filters/tags/text-filter-tag.d.vue.ts +2 -2
  192. package/dist/runtime/table/components/filters/tags/text-filter-tag.vue.d.ts +2 -2
  193. package/dist/runtime/table/components/table/table-cell-ellipsis.d.ts +1 -1
  194. package/dist/runtime/table/composables/use-table-actions.d.ts +1 -1
  195. package/dist/runtime/table/composables/use-table-actions.js +11 -3
  196. package/dist/runtime/table/composables/use-table-internals.d.ts +3 -3
  197. package/dist/runtime/table/types/actions.d.ts +8 -1
  198. package/dist/runtime/table/utils/data-list-ui.d.ts +1 -1
  199. package/package.json +18 -3
  200. package/dist/runtime/spreadsheet/components/layout/spreadsheet-import-file-bar.vue +0 -31
  201. package/dist/runtime/spreadsheet/components/layout/spreadsheet-import-footer.d.vue.ts +0 -24
  202. package/dist/runtime/spreadsheet/components/layout/spreadsheet-import-footer.vue +0 -69
  203. package/dist/runtime/spreadsheet/components/layout/spreadsheet-import-footer.vue.d.ts +0 -24
  204. package/dist/runtime/spreadsheet/components/layout/spreadsheet-import-header.vue +0 -36
  205. package/dist/runtime/spreadsheet/components/layout/spreadsheet-import-sidebar.vue +0 -63
  206. package/dist/runtime/spreadsheet/components/shared/spreadsheet-object-preview-table.vue +0 -67
  207. package/dist/runtime/spreadsheet/components/shared/spreadsheet-raw-preview-table.vue +0 -41
  208. package/dist/runtime/spreadsheet/components/shared/spreadsheet-raw-preview-table.vue.d.ts +0 -7
  209. package/dist/runtime/spreadsheet/components/shared/spreadsheet-summary-stats.d.vue.ts +0 -10
  210. package/dist/runtime/spreadsheet/components/shared/spreadsheet-summary-stats.vue +0 -25
  211. package/dist/runtime/spreadsheet/components/shared/spreadsheet-summary-stats.vue.d.ts +0 -10
  212. package/dist/runtime/spreadsheet/components/shared/spreadsheet-value-preview.vue +0 -201
  213. package/dist/runtime/spreadsheet/components/steps/matching/spreadsheet-matching-summary.d.vue.ts +0 -11
  214. package/dist/runtime/spreadsheet/components/steps/matching/spreadsheet-matching-summary.vue +0 -38
  215. package/dist/runtime/spreadsheet/components/steps/matching/spreadsheet-matching-summary.vue.d.ts +0 -11
  216. package/dist/runtime/spreadsheet/components/steps/matching/spreadsheet-matching-table.d.vue.ts +0 -45
  217. package/dist/runtime/spreadsheet/components/steps/matching/spreadsheet-matching-table.vue +0 -219
  218. package/dist/runtime/spreadsheet/components/steps/matching/spreadsheet-matching-table.vue.d.ts +0 -45
  219. package/dist/runtime/spreadsheet/components/steps/references/spreadsheet-references-accordion.d.vue.ts +0 -51
  220. package/dist/runtime/spreadsheet/components/steps/references/spreadsheet-references-accordion.vue +0 -166
  221. package/dist/runtime/spreadsheet/components/steps/references/spreadsheet-references-accordion.vue.d.ts +0 -51
  222. package/dist/runtime/spreadsheet/components/steps/references/spreadsheet-references-summary.d.vue.ts +0 -11
  223. package/dist/runtime/spreadsheet/components/steps/references/spreadsheet-references-summary.vue +0 -26
  224. package/dist/runtime/spreadsheet/components/steps/references/spreadsheet-references-summary.vue.d.ts +0 -11
  225. package/dist/runtime/spreadsheet/components/steps/review/spreadsheet-review-inspection.d.vue.ts +0 -41
  226. package/dist/runtime/spreadsheet/components/steps/review/spreadsheet-review-inspection.vue +0 -392
  227. package/dist/runtime/spreadsheet/components/steps/review/spreadsheet-review-inspection.vue.d.ts +0 -41
  228. package/dist/runtime/spreadsheet/components/steps/review/spreadsheet-review-overflow-alert.vue +0 -43
  229. package/dist/runtime/spreadsheet/components/steps/review/spreadsheet-review-stats.d.vue.ts +0 -15
  230. package/dist/runtime/spreadsheet/components/steps/review/spreadsheet-review-stats.vue +0 -40
  231. package/dist/runtime/spreadsheet/components/steps/review/spreadsheet-review-stats.vue.d.ts +0 -15
  232. package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-matching-step.d.vue.ts +0 -7
  233. package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-matching-step.vue +0 -137
  234. package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-matching-step.vue.d.ts +0 -7
  235. package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-references-step.d.vue.ts +0 -7
  236. package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-references-step.vue +0 -222
  237. package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-references-step.vue.d.ts +0 -7
  238. package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-review-step.d.vue.ts +0 -7
  239. package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-review-step.vue +0 -191
  240. package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-review-step.vue.d.ts +0 -7
  241. package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-structure-step.d.vue.ts +0 -7
  242. package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-structure-step.vue +0 -62
  243. package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-structure-step.vue.d.ts +0 -7
  244. package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-upload-step.d.vue.ts +0 -8
  245. package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-upload-step.vue +0 -81
  246. package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-upload-step.vue.d.ts +0 -8
  247. package/dist/runtime/spreadsheet/components/steps/structure/spreadsheet-structure-preview-table.d.vue.ts +0 -15
  248. package/dist/runtime/spreadsheet/components/steps/structure/spreadsheet-structure-preview-table.vue +0 -95
  249. package/dist/runtime/spreadsheet/components/steps/structure/spreadsheet-structure-preview-table.vue.d.ts +0 -15
  250. package/dist/runtime/spreadsheet/components/steps/structure/spreadsheet-structure-sheet-list.d.vue.ts +0 -15
  251. package/dist/runtime/spreadsheet/components/steps/structure/spreadsheet-structure-sheet-list.vue +0 -56
  252. package/dist/runtime/spreadsheet/components/steps/structure/spreadsheet-structure-sheet-list.vue.d.ts +0 -15
  253. package/dist/runtime/spreadsheet/components/types.d.ts +0 -41
  254. package/dist/runtime/spreadsheet/composables/use-spreadsheet-column-matching.d.ts +0 -18
  255. package/dist/runtime/spreadsheet/composables/use-spreadsheet-column-matching.js +0 -62
  256. package/dist/runtime/spreadsheet/composables/use-spreadsheet-internals.d.ts +0 -629
  257. package/dist/runtime/spreadsheet/composables/use-spreadsheet-internals.js +0 -68
  258. package/dist/runtime/spreadsheet/composables/use-spreadsheet-references.d.ts +0 -1
  259. package/dist/runtime/spreadsheet/composables/use-spreadsheet-references.js +0 -3
  260. package/dist/runtime/spreadsheet/composables/use-spreadsheet-resolutions.d.ts +0 -40
  261. package/dist/runtime/spreadsheet/composables/use-spreadsheet-resolutions.js +0 -97
  262. package/dist/runtime/spreadsheet/composables/use-spreadsheet-row-state.d.ts +0 -24
  263. package/dist/runtime/spreadsheet/composables/use-spreadsheet-row-state.js +0 -74
  264. package/dist/runtime/spreadsheet/composables/use-spreadsheet-source.d.ts +0 -27
  265. package/dist/runtime/spreadsheet/composables/use-spreadsheet-source.js +0 -109
  266. package/dist/runtime/spreadsheet/composables/use-spreadsheet-view.d.ts +0 -15
  267. package/dist/runtime/spreadsheet/composables/use-spreadsheet-view.js +0 -109
  268. package/dist/runtime/spreadsheet/schema/normalize.d.ts +0 -73
  269. package/dist/runtime/spreadsheet/schema/normalize.js +0 -136
  270. package/dist/runtime/spreadsheet/types/context.d.ts +0 -9
  271. package/dist/runtime/spreadsheet/types/import.d.ts +0 -55
  272. package/dist/runtime/spreadsheet/types/inference.d.ts +0 -83
  273. package/dist/runtime/spreadsheet/types/normalized.d.ts +0 -50
  274. package/dist/runtime/spreadsheet/types/normalized.js +0 -0
  275. package/dist/runtime/spreadsheet/types/pipeline.d.ts +0 -7
  276. package/dist/runtime/spreadsheet/types/pipeline.js +0 -0
  277. package/dist/runtime/spreadsheet/types/reference-session.d.ts +0 -43
  278. package/dist/runtime/spreadsheet/types/reference-session.js +0 -0
  279. package/dist/runtime/spreadsheet/types/references.d.ts +0 -32
  280. package/dist/runtime/spreadsheet/types/references.js +0 -0
  281. package/dist/runtime/spreadsheet/types/resolution.d.ts +0 -43
  282. package/dist/runtime/spreadsheet/types/resolution.js +0 -0
  283. package/dist/runtime/spreadsheet/utils/builders/core.d.ts +0 -17
  284. package/dist/runtime/spreadsheet/utils/builders/core.js +0 -262
  285. package/dist/runtime/spreadsheet/utils/builders/index.d.ts +0 -1
  286. package/dist/runtime/spreadsheet/utils/builders/index.js +0 -1
  287. package/dist/runtime/spreadsheet/utils/context.d.ts +0 -20
  288. package/dist/runtime/spreadsheet/utils/context.js +0 -25
  289. package/dist/runtime/spreadsheet/utils/display.d.ts +0 -6
  290. package/dist/runtime/spreadsheet/utils/display.js +0 -26
  291. package/dist/runtime/spreadsheet/utils/object.d.ts +0 -9
  292. package/dist/runtime/spreadsheet/utils/object.js +0 -78
  293. package/dist/runtime/spreadsheet/utils/references/candidates.d.ts +0 -6
  294. package/dist/runtime/spreadsheet/utils/references/candidates.js +0 -28
  295. package/dist/runtime/spreadsheet/utils/references/core.d.ts +0 -3
  296. package/dist/runtime/spreadsheet/utils/references/core.js +0 -3
  297. package/dist/runtime/spreadsheet/utils/references/guards.d.ts +0 -4
  298. package/dist/runtime/spreadsheet/utils/references/guards.js +0 -28
  299. package/dist/runtime/spreadsheet/utils/references/index.d.ts +0 -1
  300. package/dist/runtime/spreadsheet/utils/references/index.js +0 -1
  301. package/dist/runtime/spreadsheet/utils/references/resolutions.d.ts +0 -17
  302. package/dist/runtime/spreadsheet/utils/references/resolutions.js +0 -172
  303. package/dist/runtime/spreadsheet/utils/references/shared.d.ts +0 -3
  304. package/dist/runtime/spreadsheet/utils/references/shared.js +0 -26
  305. package/dist/runtime/spreadsheet/utils/references/sources.d.ts +0 -9
  306. package/dist/runtime/spreadsheet/utils/references/sources.js +0 -38
  307. package/dist/runtime/spreadsheet/utils/rows/core.d.ts +0 -4
  308. package/dist/runtime/spreadsheet/utils/rows/core.js +0 -4
  309. package/dist/runtime/spreadsheet/utils/rows/headers.d.ts +0 -2
  310. package/dist/runtime/spreadsheet/utils/rows/headers.js +0 -9
  311. package/dist/runtime/spreadsheet/utils/rows/index.d.ts +0 -1
  312. package/dist/runtime/spreadsheet/utils/rows/index.js +0 -1
  313. package/dist/runtime/spreadsheet/utils/rows/matching.d.ts +0 -5
  314. package/dist/runtime/spreadsheet/utils/rows/matching.js +0 -209
  315. package/dist/runtime/spreadsheet/utils/rows/parsing.d.ts +0 -7
  316. package/dist/runtime/spreadsheet/utils/rows/parsing.js +0 -209
  317. package/dist/runtime/spreadsheet/utils/rows/shared.d.ts +0 -17
  318. package/dist/runtime/spreadsheet/utils/rows/shared.js +0 -309
  319. package/dist/runtime/spreadsheet/utils/rows/summary.d.ts +0 -2
  320. package/dist/runtime/spreadsheet/utils/rows/summary.js +0 -10
  321. package/dist/runtime/spreadsheet/utils/source/core.d.ts +0 -9
  322. package/dist/runtime/spreadsheet/utils/source/core.js +0 -65
  323. package/dist/runtime/spreadsheet/utils/source/index.d.ts +0 -1
  324. package/dist/runtime/spreadsheet/utils/source/index.js +0 -1
  325. package/dist/runtime/spreadsheet/utils/validation/core.d.ts +0 -16
  326. package/dist/runtime/spreadsheet/utils/validation/core.js +0 -211
  327. package/dist/runtime/spreadsheet/utils/validation/index.d.ts +0 -1
  328. package/dist/runtime/spreadsheet/utils/validation/index.js +0 -1
  329. /package/dist/runtime/spreadsheet/{components/types.js → types/fields.js} +0 -0
  330. /package/dist/runtime/spreadsheet/types/{context.js → importer.js} +0 -0
  331. /package/dist/runtime/spreadsheet/types/{import.js → steps.js} +0 -0
  332. /package/dist/runtime/spreadsheet/types/{inference.js → values.js} +0 -0
@@ -1,172 +0,0 @@
1
- import { isFunction, isString } from "#ui-tools/shared/utils/predicate";
2
- import {
3
- cloneSpreadsheetRowData,
4
- deleteSpreadsheetValueAtPath,
5
- getSpreadsheetValueAtPath,
6
- setSpreadsheetValueAtPath,
7
- isSpreadsheetRecord
8
- } from "../object.js";
9
- import { resolveSpreadsheetOptionEntries } from "../options.js";
10
- import { executeSpreadsheetRules, resolveSpreadsheetRelationRules } from "../validation/core.js";
11
- import { createSpreadsheetReferenceCandidates } from "./candidates.js";
12
- import { isSpreadsheetResolutionDefinition, normalizeSpreadsheetRuntimeResolutions } from "./guards.js";
13
- import { collectSpreadsheetReferenceSources, collectSpreadsheetReferenceTokens } from "./sources.js";
14
- function isSpreadsheetRelationDefinition(value) {
15
- return isSpreadsheetRecord(value) && "column" in value && isString(value.column) && "rules" in value && isFunction(value.rules);
16
- }
17
- export function createSpreadsheetReferenceResolutions(params) {
18
- return collectSpreadsheetReferenceSources(params.references, params.rows).flatMap(
19
- ({ reference, entries }) => entries.map((entry) => {
20
- const candidates = createSpreadsheetReferenceCandidates({
21
- options: resolveSpreadsheetOptionEntries(reference.options, {
22
- context: params.context
23
- }),
24
- reference,
25
- sourceValue: entry.value
26
- });
27
- const bestCandidate = candidates[0];
28
- const isMatched = Boolean(bestCandidate && bestCandidate.score >= 0.9);
29
- return {
30
- candidates,
31
- outputField: reference.targetField,
32
- referenceField: reference.targetField,
33
- resolutionField: reference.targetField,
34
- rowIndexes: entry.rowIndexes,
35
- scope: reference.scope,
36
- selectedLabel: isMatched ? bestCandidate?.label : void 0,
37
- selectedValue: isMatched ? bestCandidate?.value : void 0,
38
- sourceField: reference.sourceField,
39
- sourceValue: entry.value,
40
- status: isMatched ? "matched" : "unresolved",
41
- targetField: reference.targetField
42
- };
43
- })
44
- );
45
- }
46
- export function applySpreadsheetReferenceResolutions(params) {
47
- const resolutionDefinitions = normalizeSpreadsheetRuntimeResolutions(params.references);
48
- const resolutionsBySourceField = params.resolutions.reduce((groups, resolution) => {
49
- const entries = groups.get(resolution.sourceField) ?? [];
50
- groups.set(resolution.sourceField, [...entries, resolution]);
51
- return groups;
52
- }, /* @__PURE__ */ new Map());
53
- return params.rows.map((row) => {
54
- const data = cloneSpreadsheetRowData(row.data);
55
- const issues = [...row.issues];
56
- const multiValueOutputs = /* @__PURE__ */ new Map();
57
- for (const definition of resolutionDefinitions) {
58
- if (definition.scope !== "column") {
59
- continue;
60
- }
61
- deleteSpreadsheetValueAtPath(data, definition.targetField);
62
- }
63
- for (const [sourceField, resolutions] of resolutionsBySourceField.entries()) {
64
- const rawValue = getSpreadsheetValueAtPath(row.data, sourceField);
65
- const sourceTokens = collectSpreadsheetReferenceTokens(rawValue);
66
- if (!sourceTokens.length) {
67
- continue;
68
- }
69
- for (const sourceValue of sourceTokens) {
70
- const resolution = resolutions.find((entry) => entry.sourceValue === sourceValue);
71
- if (!resolution) {
72
- continue;
73
- }
74
- if (resolution.selectedValue !== void 0) {
75
- if (Array.isArray(rawValue)) {
76
- const values = multiValueOutputs.get(resolution.outputField) ?? [];
77
- multiValueOutputs.set(resolution.outputField, [...values, resolution.selectedValue]);
78
- } else {
79
- setSpreadsheetValueAtPath(data, resolution.outputField, resolution.selectedValue);
80
- }
81
- continue;
82
- }
83
- }
84
- }
85
- for (const [outputField, values] of multiValueOutputs.entries()) {
86
- setSpreadsheetValueAtPath(data, outputField, values);
87
- }
88
- for (const reference of resolutionDefinitions) {
89
- const value = getSpreadsheetValueAtPath(data, reference.targetField);
90
- const referenceIssues = executeSpreadsheetRules({
91
- rules: reference.rules,
92
- value
93
- });
94
- issues.push(
95
- ...referenceIssues.map(
96
- (issue) => ({
97
- ...issue,
98
- columnKey: reference.targetField,
99
- rowIndex: row.index
100
- })
101
- )
102
- );
103
- }
104
- for (const relation of params.relations ?? []) {
105
- if (!isSpreadsheetRelationDefinition(relation)) {
106
- continue;
107
- }
108
- if (relation.condition && !relation.condition(data)) {
109
- continue;
110
- }
111
- const relationIssues = executeSpreadsheetRules({
112
- rules: resolveSpreadsheetRelationRules({
113
- row: data,
114
- rules: relation.rules
115
- }),
116
- value: getSpreadsheetValueAtPath(data, relation.column)
117
- });
118
- issues.push(
119
- ...relationIssues.map(
120
- (issue) => ({
121
- ...issue,
122
- columnKey: relation.column,
123
- rowIndex: row.index
124
- })
125
- )
126
- );
127
- }
128
- return {
129
- data,
130
- index: row.index,
131
- isValid: issues.every((issue) => issue.level !== "error"),
132
- issues,
133
- source: row.source
134
- };
135
- });
136
- }
137
- export function createSpreadsheetReferenceQueryRequests(params) {
138
- return createSpreadsheetReferenceResolutions({
139
- context: params.context,
140
- references: params.references,
141
- rows: params.rows
142
- }).flatMap((resolution) => {
143
- const referenceEntry = normalizeSpreadsheetRuntimeResolutions(params.references).find(
144
- (entry) => entry.targetField === (resolution.targetField ?? resolution.referenceField)
145
- );
146
- if (!isSpreadsheetResolutionDefinition(referenceEntry)) {
147
- return [];
148
- }
149
- const reference = referenceEntry;
150
- if (!reference.getOptions || resolution.status === "matched") {
151
- return [];
152
- }
153
- const sourceRow = params.rows.find((row) => row.index === resolution.rowIndexes[0]);
154
- if (!sourceRow) {
155
- return [];
156
- }
157
- return [
158
- {
159
- query: reference.getOptions({
160
- context: params.context,
161
- row: sourceRow.data,
162
- search: resolution.sourceValue
163
- }),
164
- referenceField: reference.targetField,
165
- resolutionField: reference.targetField,
166
- scope: reference.scope,
167
- sourceValue: resolution.sourceValue,
168
- targetField: reference.targetField
169
- }
170
- ];
171
- });
172
- }
@@ -1,3 +0,0 @@
1
- import type { SpreadsheetValue } from '../../types/index.js';
2
- export declare function normalizeSpreadsheetReferenceText(value: SpreadsheetValue): string;
3
- export declare function scoreSpreadsheetReferenceCandidate(sourceValue: string, label: string): number;
@@ -1,26 +0,0 @@
1
- export function normalizeSpreadsheetReferenceText(value) {
2
- return String(value ?? "").normalize("NFD").replaceAll(/[\u0300-\u036F]/gu, "").trim().replaceAll(/\s+/gu, " ").toLowerCase();
3
- }
4
- export function scoreSpreadsheetReferenceCandidate(sourceValue, label) {
5
- const normalizedSource = normalizeSpreadsheetReferenceText(sourceValue);
6
- const normalizedLabel = normalizeSpreadsheetReferenceText(label);
7
- if (!normalizedSource || !normalizedLabel) {
8
- return 0;
9
- }
10
- if (normalizedSource === normalizedLabel) {
11
- return 1;
12
- }
13
- if (normalizedLabel.includes(normalizedSource)) {
14
- return 0.9;
15
- }
16
- if (normalizedSource.includes(normalizedLabel)) {
17
- return 0.82;
18
- }
19
- const sourceTokens = normalizedSource.split(" ");
20
- const labelTokens = normalizedLabel.split(" ");
21
- const overlap = sourceTokens.filter((token) => labelTokens.includes(token)).length;
22
- if (!overlap) {
23
- return 0;
24
- }
25
- return overlap / Math.max(sourceTokens.length, labelTokens.length);
26
- }
@@ -1,9 +0,0 @@
1
- import type { SpreadsheetParsedRow, SpreadsheetRecord, SpreadsheetValue } from '../../types/index.js';
2
- export declare function collectSpreadsheetReferenceTokens(value: SpreadsheetValue): string[];
3
- export declare function collectSpreadsheetReferenceSources(references: readonly unknown[], rows: readonly SpreadsheetParsedRow<SpreadsheetRecord>[]): {
4
- entries: {
5
- rowIndexes: number[];
6
- value: string;
7
- }[];
8
- reference: import("../../types/index.js").SpreadsheetResolutionDefinition<"reference" | "column", string, string, unknown, unknown, import("../../types/index.js").SpreadsheetOptionItem, SpreadsheetRecord, SpreadsheetRecord, import("../../types/index.js").SpreadsheetFieldRulesInput<unknown> | undefined>;
9
- }[];
@@ -1,38 +0,0 @@
1
- import { getSpreadsheetValueAtPath } from "../object.js";
2
- import { normalizeSpreadsheetRuntimeResolutions } from "./guards.js";
3
- export function collectSpreadsheetReferenceTokens(value) {
4
- const items = Array.isArray(value) ? value : [value];
5
- const tokens = [];
6
- for (const item of items) {
7
- const token = String(item ?? "").trim();
8
- if (!token) {
9
- continue;
10
- }
11
- if (tokens.includes(token)) {
12
- continue;
13
- }
14
- tokens.push(token);
15
- }
16
- return tokens;
17
- }
18
- export function collectSpreadsheetReferenceSources(references, rows) {
19
- return normalizeSpreadsheetRuntimeResolutions(references).flatMap((entry) => {
20
- const entries = /* @__PURE__ */ new Map();
21
- for (const row of rows) {
22
- const rawValue = getSpreadsheetValueAtPath(row.data, entry.sourceField);
23
- for (const sourceValue of collectSpreadsheetReferenceTokens(rawValue)) {
24
- const rowIndexes = entries.get(sourceValue) ?? [];
25
- entries.set(sourceValue, [...rowIndexes, row.index]);
26
- }
27
- }
28
- return [
29
- {
30
- entries: [...entries.entries()].map(([value, rowIndexes]) => ({
31
- rowIndexes,
32
- value
33
- })),
34
- reference: entry
35
- }
36
- ];
37
- });
38
- }
@@ -1,4 +0,0 @@
1
- export * from './headers.js';
2
- export * from './matching.js';
3
- export * from './parsing.js';
4
- export * from './summary.js';
@@ -1,4 +0,0 @@
1
- export * from "./headers.js";
2
- export * from "./matching.js";
3
- export * from "./parsing.js";
4
- export * from "./summary.js";
@@ -1,2 +0,0 @@
1
- import type { SpreadsheetHeaderCell } from '../../types/index.js';
2
- export declare function createSpreadsheetHeaderCells(headers: readonly unknown[]): SpreadsheetHeaderCell[];
@@ -1,9 +0,0 @@
1
- import { normalizeSpreadsheetText } from "./shared.js";
2
- export function createSpreadsheetHeaderCells(headers) {
3
- return headers.map((header, index) => ({
4
- index,
5
- normalized: normalizeSpreadsheetText(header),
6
- raw: header,
7
- text: String(header ?? "").trim()
8
- }));
9
- }
@@ -1 +0,0 @@
1
- export * from './core.js';
@@ -1 +0,0 @@
1
- export * from "./core.js";
@@ -1,5 +0,0 @@
1
- import type { SpreadsheetHeaderCell, SpreadsheetStaticColumn, SpreadsheetColumnMatch, SpreadsheetDynamicColumnMatch, SpreadsheetUnmatchedColumn } from '../../types/index.js';
2
- export declare function flattenSpreadsheetStaticColumns(entries: readonly unknown[]): SpreadsheetStaticColumn[];
3
- export declare function matchSpreadsheetColumns(columns: readonly SpreadsheetStaticColumn[], headers: readonly SpreadsheetHeaderCell[], manualAssignments?: Readonly<Record<string, string>>): SpreadsheetColumnMatch[];
4
- export declare function matchSpreadsheetDynamicColumns(columns: readonly unknown[], headers: readonly SpreadsheetHeaderCell[], usedHeaderIndexes?: readonly number[]): SpreadsheetDynamicColumnMatch[];
5
- export declare function getSpreadsheetUnmatchedColumns(columns: readonly SpreadsheetStaticColumn[], matches: readonly SpreadsheetColumnMatch[]): SpreadsheetUnmatchedColumn[];
@@ -1,209 +0,0 @@
1
- import { isString } from "#ui-tools/shared/utils/predicate";
2
- import {
3
- applySpreadsheetNormalization,
4
- isSpreadsheetColumnGroup,
5
- isSpreadsheetDynamicCollectionItem,
6
- isSpreadsheetDynamicCollectionColumn,
7
- isSpreadsheetDynamicOptionGroupsColumn,
8
- isSpreadsheetStaticColumn,
9
- normalizeSpreadsheetText
10
- } from "./shared.js";
11
- const defaultHeaderModifiers = ["trim", "case-insensitive", "accent-insensitive"];
12
- function getDefaultMatchDefinition(column) {
13
- if (column.match) {
14
- return column.match;
15
- }
16
- const { from } = column;
17
- if (!from) {
18
- return {
19
- headers: [column.key],
20
- prefer: "first"
21
- };
22
- }
23
- return {
24
- headers: Array.isArray(from) ? from : [from],
25
- prefer: "first"
26
- };
27
- }
28
- function scoreHeaderMatcher(header, matcher) {
29
- if (isString(matcher)) {
30
- const left = applySpreadsheetNormalization(header.text, defaultHeaderModifiers);
31
- const right = applySpreadsheetNormalization(matcher, defaultHeaderModifiers);
32
- return left === right ? 1 : null;
33
- }
34
- if (matcher instanceof RegExp) {
35
- return matcher.test(header.text) ? 0.95 : null;
36
- }
37
- return matcher({
38
- header: {
39
- index: header.index,
40
- normalized: normalizeSpreadsheetText(header.text),
41
- text: header.text
42
- }
43
- });
44
- }
45
- function findHeaderMatch(headers, definition, usedHeaderIndexes) {
46
- const candidates = headers.flatMap((header) => {
47
- if (usedHeaderIndexes.has(header.index)) {
48
- return [];
49
- }
50
- const scores = definition.headers.map((matcher) => scoreHeaderMatcher(header, matcher)).filter((score) => score !== null);
51
- if (!scores.length) {
52
- return [];
53
- }
54
- const bestScore = Math.max(...scores);
55
- if (definition.minScore !== void 0 && bestScore < definition.minScore) {
56
- return [];
57
- }
58
- return [{ header, score: bestScore }];
59
- });
60
- if (!candidates.length) {
61
- return null;
62
- }
63
- if (definition.prefer !== "best-score") {
64
- return candidates[0];
65
- }
66
- return [...candidates].sort((left, right) => {
67
- if (left.score !== right.score) {
68
- return right.score - left.score;
69
- }
70
- return left.header.index - right.header.index;
71
- })[0];
72
- }
73
- function getDynamicHeaderPatterns(column, source) {
74
- const label = column.itemLabel?.(source) ?? column.itemKey?.(source) ?? column.key;
75
- const strategy = column.header?.strategy ?? "exact";
76
- if (strategy === "template" && column.header?.template) {
77
- return [column.header.template({ source })];
78
- }
79
- if (strategy === "patterns" && column.header?.patterns) {
80
- return column.header.patterns({ source });
81
- }
82
- return [label];
83
- }
84
- function createOptionGroupsMatchDefinition(column, source) {
85
- return {
86
- headers: getDynamicHeaderPatterns(column, source),
87
- prefer: "first"
88
- };
89
- }
90
- export function flattenSpreadsheetStaticColumns(entries) {
91
- return entries.flatMap((entry) => {
92
- if (isSpreadsheetColumnGroup(entry)) {
93
- return flattenSpreadsheetStaticColumns(entry.columns);
94
- }
95
- if (isSpreadsheetStaticColumn(entry)) {
96
- return [entry];
97
- }
98
- return [];
99
- });
100
- }
101
- export function matchSpreadsheetColumns(columns, headers, manualAssignments = {}) {
102
- const usedHeaderIndexes = /* @__PURE__ */ new Set();
103
- const matchedKeys = /* @__PURE__ */ new Set();
104
- const manualMatches = Object.entries(manualAssignments).map(([headerIndex, key]) => {
105
- const column = columns.find((entry) => entry.key === key);
106
- const header = headers.find((entry) => entry.index === Number(headerIndex));
107
- if (!column || !header) {
108
- return null;
109
- }
110
- if (usedHeaderIndexes.has(header.index) || matchedKeys.has(column.key)) {
111
- return null;
112
- }
113
- usedHeaderIndexes.add(header.index);
114
- matchedKeys.add(column.key);
115
- return {
116
- column,
117
- columnIndex: header.index,
118
- header,
119
- key: column.key
120
- };
121
- }).filter((match) => match !== null);
122
- const automaticMatches = columns.flatMap((column) => {
123
- if (matchedKeys.has(column.key)) {
124
- return [];
125
- }
126
- const match = findHeaderMatch(headers, getDefaultMatchDefinition(column), usedHeaderIndexes);
127
- if (!match) {
128
- return [];
129
- }
130
- usedHeaderIndexes.add(match.header.index);
131
- return [
132
- {
133
- column,
134
- columnIndex: match.header.index,
135
- header: match.header,
136
- key: column.key
137
- }
138
- ];
139
- });
140
- return [...manualMatches, ...automaticMatches];
141
- }
142
- function matchCollectionColumn(column, headers, reservedHeaderIndexes) {
143
- return column.items.flatMap((entry) => {
144
- if (!isSpreadsheetDynamicCollectionItem(entry)) {
145
- return [];
146
- }
147
- const item = entry;
148
- const match = findHeaderMatch(headers, item.match, reservedHeaderIndexes);
149
- if (!match) {
150
- return [];
151
- }
152
- reservedHeaderIndexes.add(match.header.index);
153
- return [
154
- {
155
- column,
156
- columnIndex: match.header.index,
157
- header: match.header,
158
- item,
159
- key: column.rootKey,
160
- source: item.source,
161
- targetKey: item.id
162
- }
163
- ];
164
- });
165
- }
166
- function matchOptionGroupsColumn(column, headers, reservedHeaderIndexes) {
167
- const sourceItems = column.source ?? [];
168
- return sourceItems.flatMap((source) => {
169
- const match = findHeaderMatch(
170
- headers,
171
- createOptionGroupsMatchDefinition(column, source),
172
- reservedHeaderIndexes
173
- );
174
- if (!match) {
175
- return [];
176
- }
177
- reservedHeaderIndexes.add(match.header.index);
178
- return [
179
- {
180
- column,
181
- columnIndex: match.header.index,
182
- header: match.header,
183
- key: column.output.into,
184
- source,
185
- targetKey: column.targetKey?.(source) ?? column.itemKey?.(source) ?? String(match.header.index)
186
- }
187
- ];
188
- });
189
- }
190
- export function matchSpreadsheetDynamicColumns(columns, headers, usedHeaderIndexes = []) {
191
- const reservedHeaderIndexes = new Set(usedHeaderIndexes);
192
- const matches = [];
193
- for (const entry of columns) {
194
- if (isSpreadsheetDynamicOptionGroupsColumn(entry)) {
195
- matches.push(...matchOptionGroupsColumn(entry, headers, reservedHeaderIndexes));
196
- continue;
197
- }
198
- if (isSpreadsheetDynamicCollectionColumn(entry)) {
199
- matches.push(...matchCollectionColumn(entry, headers, reservedHeaderIndexes));
200
- }
201
- }
202
- return matches;
203
- }
204
- export function getSpreadsheetUnmatchedColumns(columns, matches) {
205
- const matchedKeys = new Set(matches.map((match) => match.key));
206
- return columns.flatMap(
207
- (column) => matchedKeys.has(column.key) ? [] : [{ column, key: column.key }]
208
- );
209
- }
@@ -1,7 +0,0 @@
1
- import type { SpreadsheetColumnDefinition, SpreadsheetColumnMatch, SpreadsheetDynamicColumnMatch, SpreadsheetParsedRow, SpreadsheetRecord } from '../../types/index.js';
2
- export declare function parseSpreadsheetRows<TContext>(params: {
3
- rows: readonly (readonly unknown[])[];
4
- matches: readonly SpreadsheetColumnMatch<SpreadsheetColumnDefinition<string, unknown, boolean, TContext>>[];
5
- dynamicMatches?: readonly SpreadsheetDynamicColumnMatch[];
6
- context: TContext;
7
- }): Promise<SpreadsheetParsedRow<SpreadsheetRecord>[]>;