nuxt-ui-tools 1.12.0 → 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 (321) 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/i18n/locales/en.js +251 -130
  9. package/dist/runtime/i18n/locales/fr.js +251 -130
  10. package/dist/runtime/i18n/types.d.ts +241 -119
  11. package/dist/runtime/shared/types/remote-options.d.ts +11 -0
  12. package/dist/runtime/shared/utils/define-remote-options.js +6 -0
  13. package/dist/runtime/shared/utils/file.d.ts +1 -1
  14. package/dist/runtime/spreadsheet/components/{steps/review/spreadsheet-review-overflow-alert.d.vue.ts → internal/spreadsheet-import-cell-editor.d.vue.ts} +8 -5
  15. package/dist/runtime/spreadsheet/components/internal/spreadsheet-import-cell-editor.vue +73 -0
  16. package/dist/runtime/spreadsheet/components/{steps/review/spreadsheet-review-overflow-alert.vue.d.ts → internal/spreadsheet-import-cell-editor.vue.d.ts} +8 -5
  17. package/dist/runtime/spreadsheet/components/internal/spreadsheet-import-column-row.d.vue.ts +17 -0
  18. package/dist/runtime/spreadsheet/components/internal/spreadsheet-import-column-row.vue +98 -0
  19. package/dist/runtime/spreadsheet/components/internal/spreadsheet-import-column-row.vue.d.ts +17 -0
  20. package/dist/runtime/spreadsheet/components/internal/spreadsheet-import-heading.d.vue.ts +17 -0
  21. package/dist/runtime/spreadsheet/components/internal/spreadsheet-import-heading.vue +20 -0
  22. package/dist/runtime/spreadsheet/components/internal/spreadsheet-import-heading.vue.d.ts +17 -0
  23. package/dist/runtime/spreadsheet/components/internal/spreadsheet-import-status-badge.d.vue.ts +10 -0
  24. package/dist/runtime/spreadsheet/components/internal/spreadsheet-import-status-badge.vue +34 -0
  25. package/dist/runtime/spreadsheet/components/internal/spreadsheet-import-status-badge.vue.d.ts +10 -0
  26. package/dist/runtime/spreadsheet/components/internal/spreadsheet-import-value-row.d.vue.ts +13 -0
  27. package/dist/runtime/spreadsheet/components/internal/spreadsheet-import-value-row.vue +113 -0
  28. package/dist/runtime/spreadsheet/components/internal/spreadsheet-import-value-row.vue.d.ts +13 -0
  29. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-column-mapping.d.vue.ts +35 -0
  30. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-column-mapping.vue +154 -0
  31. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-column-mapping.vue.d.ts +35 -0
  32. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-dropzone.d.vue.ts +23 -0
  33. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-dropzone.vue +83 -0
  34. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-dropzone.vue.d.ts +23 -0
  35. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-expected-columns.d.vue.ts +19 -0
  36. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-expected-columns.vue +45 -0
  37. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-expected-columns.vue.d.ts +19 -0
  38. package/dist/runtime/spreadsheet/components/{shared/spreadsheet-object-preview-table.d.vue.ts → parts/spreadsheet-import-export-button.d.vue.ts} +3 -2
  39. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-export-button.vue +34 -0
  40. package/dist/runtime/spreadsheet/components/{layout/spreadsheet-import-file-bar.vue.d.ts → parts/spreadsheet-import-export-button.vue.d.ts} +3 -4
  41. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-file-card.d.vue.ts +17 -0
  42. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-file-card.vue +49 -0
  43. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-file-card.vue.d.ts +17 -0
  44. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-progress.d.vue.ts +18 -0
  45. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-progress.vue +101 -0
  46. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-progress.vue.d.ts +18 -0
  47. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-row-inspector.d.vue.ts +22 -0
  48. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-row-inspector.vue +276 -0
  49. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-row-inspector.vue.d.ts +22 -0
  50. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-source-settings.d.vue.ts +11 -0
  51. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-source-settings.vue +164 -0
  52. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-source-settings.vue.d.ts +11 -0
  53. package/dist/runtime/spreadsheet/components/{shared/spreadsheet-value-preview.d.vue.ts → parts/spreadsheet-import-stat.d.vue.ts} +7 -4
  54. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-stat.vue +30 -0
  55. package/dist/runtime/spreadsheet/components/{shared/spreadsheet-value-preview.vue.d.ts → parts/spreadsheet-import-stat.vue.d.ts} +7 -4
  56. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-stats.d.vue.ts +26 -0
  57. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-stats.vue +55 -0
  58. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-stats.vue.d.ts +26 -0
  59. package/dist/runtime/spreadsheet/components/{shared/spreadsheet-object-preview-table.vue.d.ts → parts/spreadsheet-import-submit-button.d.vue.ts} +3 -2
  60. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-submit-button.vue +27 -0
  61. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-submit-button.vue.d.ts +8 -0
  62. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-summary.d.vue.ts +16 -0
  63. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-summary.vue +51 -0
  64. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-summary.vue.d.ts +16 -0
  65. package/dist/runtime/spreadsheet/components/{layout/spreadsheet-import-file-bar.d.vue.ts → parts/spreadsheet-import-table-toolbar.d.vue.ts} +2 -4
  66. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-table-toolbar.vue +217 -0
  67. package/dist/runtime/spreadsheet/components/{shared/spreadsheet-raw-preview-table.d.vue.ts → parts/spreadsheet-import-table-toolbar.vue.d.ts} +2 -2
  68. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-table.d.vue.ts +33 -0
  69. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-table.vue +302 -0
  70. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-table.vue.d.ts +33 -0
  71. package/dist/runtime/spreadsheet/components/{layout/spreadsheet-import-sidebar.d.vue.ts → parts/spreadsheet-import-template-button.d.vue.ts} +5 -4
  72. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-template-button.vue +31 -0
  73. package/dist/runtime/spreadsheet/components/{layout/spreadsheet-import-sidebar.vue.d.ts → parts/spreadsheet-import-template-button.vue.d.ts} +5 -4
  74. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-value-mapping.d.vue.ts +27 -0
  75. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-value-mapping.vue +162 -0
  76. package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-value-mapping.vue.d.ts +27 -0
  77. package/dist/runtime/spreadsheet/components/spreadsheet-import-root.d.vue.ts +24 -0
  78. package/dist/runtime/spreadsheet/components/spreadsheet-import-root.vue +23 -0
  79. package/dist/runtime/spreadsheet/components/spreadsheet-import-root.vue.d.ts +24 -0
  80. package/dist/runtime/spreadsheet/components/spreadsheet-import.d.vue.ts +21 -6
  81. package/dist/runtime/spreadsheet/components/spreadsheet-import.vue +46 -262
  82. package/dist/runtime/spreadsheet/components/spreadsheet-import.vue.d.ts +21 -6
  83. package/dist/runtime/spreadsheet/components/{layout/spreadsheet-import-header.d.vue.ts → steps/spreadsheet-import-step-nav.d.vue.ts} +6 -2
  84. package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-step-nav.vue +116 -0
  85. package/dist/runtime/spreadsheet/components/{layout/spreadsheet-import-header.vue.d.ts → steps/spreadsheet-import-step-nav.vue.d.ts} +6 -2
  86. package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-step.d.vue.ts +26 -0
  87. package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-step.vue +106 -0
  88. package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-step.vue.d.ts +26 -0
  89. package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-stepper.d.vue.ts +15 -0
  90. package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-stepper.vue +131 -0
  91. package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-stepper.vue.d.ts +15 -0
  92. package/dist/runtime/spreadsheet/composables/index.d.ts +2 -0
  93. package/dist/runtime/spreadsheet/composables/index.js +2 -0
  94. package/dist/runtime/spreadsheet/composables/use-spreadsheet-answers.d.ts +8 -0
  95. package/dist/runtime/spreadsheet/composables/use-spreadsheet-answers.js +19 -0
  96. package/dist/runtime/spreadsheet/composables/use-spreadsheet-columns.d.ts +23 -0
  97. package/dist/runtime/spreadsheet/composables/use-spreadsheet-columns.js +75 -0
  98. package/dist/runtime/spreadsheet/composables/use-spreadsheet-context.d.ts +8 -45
  99. package/dist/runtime/spreadsheet/composables/use-spreadsheet-context.js +28 -32
  100. package/dist/runtime/spreadsheet/composables/use-spreadsheet-edits.d.ts +11 -0
  101. package/dist/runtime/spreadsheet/composables/use-spreadsheet-edits.js +25 -0
  102. package/dist/runtime/spreadsheet/composables/use-spreadsheet-fields.d.ts +16 -0
  103. package/dist/runtime/spreadsheet/composables/use-spreadsheet-fields.js +20 -0
  104. package/dist/runtime/spreadsheet/composables/use-spreadsheet-file.d.ts +14 -0
  105. package/dist/runtime/spreadsheet/composables/use-spreadsheet-file.js +44 -0
  106. package/dist/runtime/spreadsheet/composables/use-spreadsheet-import-context.d.ts +12 -0
  107. package/dist/runtime/spreadsheet/composables/use-spreadsheet-import-context.js +22 -0
  108. package/dist/runtime/spreadsheet/composables/use-spreadsheet-import.d.ts +18 -7
  109. package/dist/runtime/spreadsheet/composables/use-spreadsheet-import.js +340 -109
  110. package/dist/runtime/spreadsheet/composables/use-spreadsheet-layout.d.ts +36 -0
  111. package/dist/runtime/spreadsheet/composables/use-spreadsheet-layout.js +95 -0
  112. package/dist/runtime/spreadsheet/composables/use-spreadsheet-options.d.ts +24 -0
  113. package/dist/runtime/spreadsheet/composables/use-spreadsheet-options.js +159 -0
  114. package/dist/runtime/spreadsheet/composables/use-spreadsheet-queries.d.ts +14 -0
  115. package/dist/runtime/spreadsheet/composables/use-spreadsheet-queries.js +11 -0
  116. package/dist/runtime/spreadsheet/composables/use-spreadsheet-review.d.ts +37 -169
  117. package/dist/runtime/spreadsheet/composables/use-spreadsheet-review.js +148 -408
  118. package/dist/runtime/spreadsheet/composables/use-spreadsheet-rows.d.ts +48 -26
  119. package/dist/runtime/spreadsheet/composables/use-spreadsheet-rows.js +334 -21
  120. package/dist/runtime/spreadsheet/composables/use-spreadsheet-steps.d.ts +33 -0
  121. package/dist/runtime/spreadsheet/composables/use-spreadsheet-steps.js +126 -0
  122. package/dist/runtime/spreadsheet/composables/use-spreadsheet-submit.d.ts +37 -0
  123. package/dist/runtime/spreadsheet/composables/use-spreadsheet-submit.js +136 -0
  124. package/dist/runtime/spreadsheet/composables/use-spreadsheet-values.d.ts +27 -0
  125. package/dist/runtime/spreadsheet/composables/use-spreadsheet-values.js +121 -0
  126. package/dist/runtime/spreadsheet/index.d.ts +0 -1
  127. package/dist/runtime/spreadsheet/index.js +0 -1
  128. package/dist/runtime/spreadsheet/schema/builder.d.ts +8 -0
  129. package/dist/runtime/spreadsheet/schema/builder.js +31 -0
  130. package/dist/runtime/spreadsheet/schema/index.d.ts +24 -32
  131. package/dist/runtime/spreadsheet/schema/index.js +4 -21
  132. package/dist/runtime/spreadsheet/types/columns.d.ts +252 -273
  133. package/dist/runtime/spreadsheet/types/fields.d.ts +64 -0
  134. package/dist/runtime/spreadsheet/types/importer.d.ts +308 -0
  135. package/dist/runtime/spreadsheet/types/index.d.ts +6 -10
  136. package/dist/runtime/spreadsheet/types/options.d.ts +47 -9
  137. package/dist/runtime/spreadsheet/types/rows.d.ts +57 -48
  138. package/dist/runtime/spreadsheet/types/schema.d.ts +162 -76
  139. package/dist/runtime/spreadsheet/types/shared.d.ts +19 -21
  140. package/dist/runtime/spreadsheet/types/source.d.ts +39 -15
  141. package/dist/runtime/spreadsheet/types/steps.d.ts +76 -0
  142. package/dist/runtime/spreadsheet/types/validation.d.ts +49 -69
  143. package/dist/runtime/spreadsheet/types/values.d.ts +77 -0
  144. package/dist/runtime/spreadsheet/utils/download.d.ts +2 -0
  145. package/dist/runtime/spreadsheet/utils/download.js +8 -0
  146. package/dist/runtime/spreadsheet/utils/export.d.ts +26 -0
  147. package/dist/runtime/spreadsheet/utils/export.js +50 -0
  148. package/dist/runtime/spreadsheet/utils/fields.d.ts +26 -0
  149. package/dist/runtime/spreadsheet/utils/fields.js +169 -0
  150. package/dist/runtime/spreadsheet/utils/guards.d.ts +18 -0
  151. package/dist/runtime/spreadsheet/utils/guards.js +27 -0
  152. package/dist/runtime/spreadsheet/utils/headers.d.ts +15 -0
  153. package/dist/runtime/spreadsheet/utils/headers.js +36 -0
  154. package/dist/runtime/spreadsheet/utils/identity.d.ts +24 -0
  155. package/dist/runtime/spreadsheet/utils/identity.js +57 -0
  156. package/dist/runtime/spreadsheet/utils/index.d.ts +15 -6
  157. package/dist/runtime/spreadsheet/utils/index.js +15 -6
  158. package/dist/runtime/spreadsheet/utils/layout.d.ts +12 -0
  159. package/dist/runtime/spreadsheet/utils/layout.js +37 -0
  160. package/dist/runtime/spreadsheet/utils/options.d.ts +31 -10
  161. package/dist/runtime/spreadsheet/utils/options.js +58 -30
  162. package/dist/runtime/spreadsheet/utils/parse.d.ts +6 -0
  163. package/dist/runtime/spreadsheet/utils/parse.js +147 -0
  164. package/dist/runtime/spreadsheet/utils/paths.d.ts +4 -0
  165. package/dist/runtime/spreadsheet/utils/paths.js +29 -0
  166. package/dist/runtime/spreadsheet/utils/rows.d.ts +69 -0
  167. package/dist/runtime/spreadsheet/utils/rows.js +168 -0
  168. package/dist/runtime/spreadsheet/utils/rules.d.ts +4 -0
  169. package/dist/runtime/spreadsheet/utils/rules.js +95 -0
  170. package/dist/runtime/spreadsheet/utils/suggestions.d.ts +20 -0
  171. package/dist/runtime/spreadsheet/utils/suggestions.js +43 -0
  172. package/dist/runtime/spreadsheet/utils/text.d.ts +9 -0
  173. package/dist/runtime/spreadsheet/utils/text.js +11 -0
  174. package/dist/runtime/spreadsheet/utils/workbook.d.ts +13 -0
  175. package/dist/runtime/spreadsheet/utils/workbook.js +121 -0
  176. package/dist/runtime/table/components/filters/tags/boolean-filter-tag.d.vue.ts +2 -2
  177. package/dist/runtime/table/components/filters/tags/boolean-filter-tag.vue.d.ts +2 -2
  178. package/dist/runtime/table/components/filters/tags/date-filter-tag.d.vue.ts +2 -2
  179. package/dist/runtime/table/components/filters/tags/date-filter-tag.vue.d.ts +2 -2
  180. package/dist/runtime/table/components/filters/tags/number-filter-tag.d.vue.ts +2 -2
  181. package/dist/runtime/table/components/filters/tags/number-filter-tag.vue.d.ts +2 -2
  182. package/dist/runtime/table/components/filters/tags/option-filter-tag.d.vue.ts +2 -2
  183. package/dist/runtime/table/components/filters/tags/option-filter-tag.vue.d.ts +2 -2
  184. package/dist/runtime/table/components/filters/tags/text-filter-tag.d.vue.ts +2 -2
  185. package/dist/runtime/table/components/filters/tags/text-filter-tag.vue.d.ts +2 -2
  186. package/dist/runtime/table/components/table/table-cell-ellipsis.d.ts +1 -1
  187. package/dist/runtime/table/utils/data-list-ui.d.ts +1 -1
  188. package/package.json +18 -3
  189. package/dist/runtime/spreadsheet/components/layout/spreadsheet-import-file-bar.vue +0 -31
  190. package/dist/runtime/spreadsheet/components/layout/spreadsheet-import-footer.d.vue.ts +0 -24
  191. package/dist/runtime/spreadsheet/components/layout/spreadsheet-import-footer.vue +0 -69
  192. package/dist/runtime/spreadsheet/components/layout/spreadsheet-import-footer.vue.d.ts +0 -24
  193. package/dist/runtime/spreadsheet/components/layout/spreadsheet-import-header.vue +0 -36
  194. package/dist/runtime/spreadsheet/components/layout/spreadsheet-import-sidebar.vue +0 -63
  195. package/dist/runtime/spreadsheet/components/shared/spreadsheet-object-preview-table.vue +0 -67
  196. package/dist/runtime/spreadsheet/components/shared/spreadsheet-raw-preview-table.vue +0 -41
  197. package/dist/runtime/spreadsheet/components/shared/spreadsheet-raw-preview-table.vue.d.ts +0 -7
  198. package/dist/runtime/spreadsheet/components/shared/spreadsheet-summary-stats.d.vue.ts +0 -10
  199. package/dist/runtime/spreadsheet/components/shared/spreadsheet-summary-stats.vue +0 -25
  200. package/dist/runtime/spreadsheet/components/shared/spreadsheet-summary-stats.vue.d.ts +0 -10
  201. package/dist/runtime/spreadsheet/components/shared/spreadsheet-value-preview.vue +0 -201
  202. package/dist/runtime/spreadsheet/components/steps/matching/spreadsheet-matching-summary.d.vue.ts +0 -11
  203. package/dist/runtime/spreadsheet/components/steps/matching/spreadsheet-matching-summary.vue +0 -38
  204. package/dist/runtime/spreadsheet/components/steps/matching/spreadsheet-matching-summary.vue.d.ts +0 -11
  205. package/dist/runtime/spreadsheet/components/steps/matching/spreadsheet-matching-table.d.vue.ts +0 -45
  206. package/dist/runtime/spreadsheet/components/steps/matching/spreadsheet-matching-table.vue +0 -219
  207. package/dist/runtime/spreadsheet/components/steps/matching/spreadsheet-matching-table.vue.d.ts +0 -45
  208. package/dist/runtime/spreadsheet/components/steps/references/spreadsheet-references-accordion.d.vue.ts +0 -51
  209. package/dist/runtime/spreadsheet/components/steps/references/spreadsheet-references-accordion.vue +0 -166
  210. package/dist/runtime/spreadsheet/components/steps/references/spreadsheet-references-accordion.vue.d.ts +0 -51
  211. package/dist/runtime/spreadsheet/components/steps/references/spreadsheet-references-summary.d.vue.ts +0 -11
  212. package/dist/runtime/spreadsheet/components/steps/references/spreadsheet-references-summary.vue +0 -26
  213. package/dist/runtime/spreadsheet/components/steps/references/spreadsheet-references-summary.vue.d.ts +0 -11
  214. package/dist/runtime/spreadsheet/components/steps/review/spreadsheet-review-inspection.d.vue.ts +0 -41
  215. package/dist/runtime/spreadsheet/components/steps/review/spreadsheet-review-inspection.vue +0 -392
  216. package/dist/runtime/spreadsheet/components/steps/review/spreadsheet-review-inspection.vue.d.ts +0 -41
  217. package/dist/runtime/spreadsheet/components/steps/review/spreadsheet-review-overflow-alert.vue +0 -43
  218. package/dist/runtime/spreadsheet/components/steps/review/spreadsheet-review-stats.d.vue.ts +0 -15
  219. package/dist/runtime/spreadsheet/components/steps/review/spreadsheet-review-stats.vue +0 -40
  220. package/dist/runtime/spreadsheet/components/steps/review/spreadsheet-review-stats.vue.d.ts +0 -15
  221. package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-matching-step.d.vue.ts +0 -7
  222. package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-matching-step.vue +0 -137
  223. package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-matching-step.vue.d.ts +0 -7
  224. package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-references-step.d.vue.ts +0 -7
  225. package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-references-step.vue +0 -222
  226. package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-references-step.vue.d.ts +0 -7
  227. package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-review-step.d.vue.ts +0 -7
  228. package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-review-step.vue +0 -191
  229. package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-review-step.vue.d.ts +0 -7
  230. package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-structure-step.d.vue.ts +0 -7
  231. package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-structure-step.vue +0 -62
  232. package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-structure-step.vue.d.ts +0 -7
  233. package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-upload-step.d.vue.ts +0 -8
  234. package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-upload-step.vue +0 -81
  235. package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-upload-step.vue.d.ts +0 -8
  236. package/dist/runtime/spreadsheet/components/steps/structure/spreadsheet-structure-preview-table.d.vue.ts +0 -15
  237. package/dist/runtime/spreadsheet/components/steps/structure/spreadsheet-structure-preview-table.vue +0 -95
  238. package/dist/runtime/spreadsheet/components/steps/structure/spreadsheet-structure-preview-table.vue.d.ts +0 -15
  239. package/dist/runtime/spreadsheet/components/steps/structure/spreadsheet-structure-sheet-list.d.vue.ts +0 -15
  240. package/dist/runtime/spreadsheet/components/steps/structure/spreadsheet-structure-sheet-list.vue +0 -56
  241. package/dist/runtime/spreadsheet/components/steps/structure/spreadsheet-structure-sheet-list.vue.d.ts +0 -15
  242. package/dist/runtime/spreadsheet/components/types.d.ts +0 -41
  243. package/dist/runtime/spreadsheet/composables/use-spreadsheet-column-matching.d.ts +0 -18
  244. package/dist/runtime/spreadsheet/composables/use-spreadsheet-column-matching.js +0 -62
  245. package/dist/runtime/spreadsheet/composables/use-spreadsheet-internals.d.ts +0 -629
  246. package/dist/runtime/spreadsheet/composables/use-spreadsheet-internals.js +0 -68
  247. package/dist/runtime/spreadsheet/composables/use-spreadsheet-references.d.ts +0 -1
  248. package/dist/runtime/spreadsheet/composables/use-spreadsheet-references.js +0 -3
  249. package/dist/runtime/spreadsheet/composables/use-spreadsheet-resolutions.d.ts +0 -40
  250. package/dist/runtime/spreadsheet/composables/use-spreadsheet-resolutions.js +0 -97
  251. package/dist/runtime/spreadsheet/composables/use-spreadsheet-row-state.d.ts +0 -24
  252. package/dist/runtime/spreadsheet/composables/use-spreadsheet-row-state.js +0 -74
  253. package/dist/runtime/spreadsheet/composables/use-spreadsheet-source.d.ts +0 -27
  254. package/dist/runtime/spreadsheet/composables/use-spreadsheet-source.js +0 -109
  255. package/dist/runtime/spreadsheet/composables/use-spreadsheet-view.d.ts +0 -15
  256. package/dist/runtime/spreadsheet/composables/use-spreadsheet-view.js +0 -109
  257. package/dist/runtime/spreadsheet/schema/normalize.d.ts +0 -73
  258. package/dist/runtime/spreadsheet/schema/normalize.js +0 -136
  259. package/dist/runtime/spreadsheet/types/context.d.ts +0 -9
  260. package/dist/runtime/spreadsheet/types/import.d.ts +0 -55
  261. package/dist/runtime/spreadsheet/types/inference.d.ts +0 -83
  262. package/dist/runtime/spreadsheet/types/normalized.d.ts +0 -50
  263. package/dist/runtime/spreadsheet/types/normalized.js +0 -0
  264. package/dist/runtime/spreadsheet/types/pipeline.d.ts +0 -7
  265. package/dist/runtime/spreadsheet/types/pipeline.js +0 -0
  266. package/dist/runtime/spreadsheet/types/reference-session.d.ts +0 -43
  267. package/dist/runtime/spreadsheet/types/reference-session.js +0 -0
  268. package/dist/runtime/spreadsheet/types/references.d.ts +0 -32
  269. package/dist/runtime/spreadsheet/types/references.js +0 -0
  270. package/dist/runtime/spreadsheet/types/resolution.d.ts +0 -43
  271. package/dist/runtime/spreadsheet/types/resolution.js +0 -0
  272. package/dist/runtime/spreadsheet/utils/builders/core.d.ts +0 -17
  273. package/dist/runtime/spreadsheet/utils/builders/core.js +0 -262
  274. package/dist/runtime/spreadsheet/utils/builders/index.d.ts +0 -1
  275. package/dist/runtime/spreadsheet/utils/builders/index.js +0 -1
  276. package/dist/runtime/spreadsheet/utils/context.d.ts +0 -20
  277. package/dist/runtime/spreadsheet/utils/context.js +0 -25
  278. package/dist/runtime/spreadsheet/utils/display.d.ts +0 -6
  279. package/dist/runtime/spreadsheet/utils/display.js +0 -26
  280. package/dist/runtime/spreadsheet/utils/object.d.ts +0 -9
  281. package/dist/runtime/spreadsheet/utils/object.js +0 -78
  282. package/dist/runtime/spreadsheet/utils/references/candidates.d.ts +0 -6
  283. package/dist/runtime/spreadsheet/utils/references/candidates.js +0 -28
  284. package/dist/runtime/spreadsheet/utils/references/core.d.ts +0 -3
  285. package/dist/runtime/spreadsheet/utils/references/core.js +0 -3
  286. package/dist/runtime/spreadsheet/utils/references/guards.d.ts +0 -4
  287. package/dist/runtime/spreadsheet/utils/references/guards.js +0 -28
  288. package/dist/runtime/spreadsheet/utils/references/index.d.ts +0 -1
  289. package/dist/runtime/spreadsheet/utils/references/index.js +0 -1
  290. package/dist/runtime/spreadsheet/utils/references/resolutions.d.ts +0 -17
  291. package/dist/runtime/spreadsheet/utils/references/resolutions.js +0 -172
  292. package/dist/runtime/spreadsheet/utils/references/shared.d.ts +0 -3
  293. package/dist/runtime/spreadsheet/utils/references/shared.js +0 -26
  294. package/dist/runtime/spreadsheet/utils/references/sources.d.ts +0 -9
  295. package/dist/runtime/spreadsheet/utils/references/sources.js +0 -38
  296. package/dist/runtime/spreadsheet/utils/rows/core.d.ts +0 -4
  297. package/dist/runtime/spreadsheet/utils/rows/core.js +0 -4
  298. package/dist/runtime/spreadsheet/utils/rows/headers.d.ts +0 -2
  299. package/dist/runtime/spreadsheet/utils/rows/headers.js +0 -9
  300. package/dist/runtime/spreadsheet/utils/rows/index.d.ts +0 -1
  301. package/dist/runtime/spreadsheet/utils/rows/index.js +0 -1
  302. package/dist/runtime/spreadsheet/utils/rows/matching.d.ts +0 -5
  303. package/dist/runtime/spreadsheet/utils/rows/matching.js +0 -209
  304. package/dist/runtime/spreadsheet/utils/rows/parsing.d.ts +0 -7
  305. package/dist/runtime/spreadsheet/utils/rows/parsing.js +0 -209
  306. package/dist/runtime/spreadsheet/utils/rows/shared.d.ts +0 -17
  307. package/dist/runtime/spreadsheet/utils/rows/shared.js +0 -309
  308. package/dist/runtime/spreadsheet/utils/rows/summary.d.ts +0 -2
  309. package/dist/runtime/spreadsheet/utils/rows/summary.js +0 -10
  310. package/dist/runtime/spreadsheet/utils/source/core.d.ts +0 -9
  311. package/dist/runtime/spreadsheet/utils/source/core.js +0 -65
  312. package/dist/runtime/spreadsheet/utils/source/index.d.ts +0 -1
  313. package/dist/runtime/spreadsheet/utils/source/index.js +0 -1
  314. package/dist/runtime/spreadsheet/utils/validation/core.d.ts +0 -16
  315. package/dist/runtime/spreadsheet/utils/validation/core.js +0 -211
  316. package/dist/runtime/spreadsheet/utils/validation/index.d.ts +0 -1
  317. package/dist/runtime/spreadsheet/utils/validation/index.js +0 -1
  318. /package/dist/runtime/spreadsheet/{components/types.js → types/fields.js} +0 -0
  319. /package/dist/runtime/spreadsheet/types/{context.js → importer.js} +0 -0
  320. /package/dist/runtime/spreadsheet/types/{import.js → steps.js} +0 -0
  321. /package/dist/runtime/spreadsheet/types/{inference.js → values.js} +0 -0
@@ -1,209 +0,0 @@
1
- import { setSpreadsheetValueAtPath } from "../object.js";
2
- import {
3
- getSpreadsheetOptionLabel,
4
- getSpreadsheetOptionValue,
5
- resolveSpreadsheetOptionEntries
6
- } from "../options.js";
7
- import {
8
- applySpreadsheetModifiers,
9
- applySpreadsheetNormalization,
10
- getSpreadsheetIssueText,
11
- isSpreadsheetDynamicCollectionColumn,
12
- parseSpreadsheetCellValue
13
- } from "./shared.js";
14
- function resolveOptionValue(params) {
15
- const issueText = getSpreadsheetIssueText();
16
- const text = String(params.raw ?? "").trim();
17
- if (!text) {
18
- return params.definition.mode === "multiple" ? [] : void 0;
19
- }
20
- const tokens = params.definition.mode === "multiple" ? text.split(params.definition.separator ?? ",").map((entry) => entry.trim()).filter(Boolean) : [text];
21
- const resolvedValues = [];
22
- for (const token of tokens) {
23
- const normalizedToken = applySpreadsheetNormalization(token, params.definition.itemModifiers);
24
- const match = params.definition.from.find((option) => {
25
- const candidate = params.definition.matchBy === "value" ? String(getSpreadsheetOptionValue(option) ?? "") : getSpreadsheetOptionLabel(option);
26
- return applySpreadsheetNormalization(candidate, params.definition.itemModifiers) === normalizedToken;
27
- });
28
- if (!match) {
29
- params.issues.push({
30
- code: "option.not_found",
31
- columnIndex: params.columnIndex,
32
- columnKey: params.columnKey,
33
- header: params.header,
34
- level: "error",
35
- message: issueText.unrecognizedValue(token),
36
- rowIndex: params.rowIndex
37
- });
38
- continue;
39
- }
40
- const value = getSpreadsheetOptionValue(match);
41
- if (value === void 0) {
42
- continue;
43
- }
44
- resolvedValues.push(value);
45
- }
46
- if (params.definition.mode === "multiple") {
47
- return resolvedValues;
48
- }
49
- return resolvedValues[0];
50
- }
51
- function resolveCollectionCellValue(params) {
52
- const { item } = params.match;
53
- if (!item) {
54
- return;
55
- }
56
- const valueDefinition = item.value;
57
- const text = String(params.raw ?? "").trim();
58
- if (!text) {
59
- return;
60
- }
61
- if (valueDefinition.kind === "text") {
62
- return applySpreadsheetModifiers(text, valueDefinition.modifiers);
63
- }
64
- if (valueDefinition.kind === "number") {
65
- return Number(text);
66
- }
67
- if (valueDefinition.kind === "date") {
68
- return text;
69
- }
70
- if (valueDefinition.kind === "boolean") {
71
- return ["true", "1", "yes"].includes(text.toLowerCase());
72
- }
73
- return resolveOptionValue({
74
- columnIndex: params.match.columnIndex,
75
- columnKey: item.id,
76
- definition: valueDefinition,
77
- header: params.match.header.text,
78
- issues: params.issues,
79
- raw: params.raw,
80
- rowIndex: params.rowIndex
81
- });
82
- }
83
- function applyCollectionValue(params) {
84
- const { item } = params.match;
85
- if (!item) {
86
- return;
87
- }
88
- if (params.resolvedValue === void 0) {
89
- return;
90
- }
91
- const builtValue = item.build ? item.build(
92
- Array.isArray(params.resolvedValue) ? {
93
- id: item.id,
94
- source: params.match.source,
95
- values: params.resolvedValue
96
- } : {
97
- id: item.id,
98
- source: params.match.source,
99
- value: params.resolvedValue
100
- }
101
- ) : params.resolvedValue;
102
- if (params.column.as === "array") {
103
- const existing = params.data[params.column.rootKey];
104
- const nextItems = Array.isArray(existing) ? existing : [];
105
- const nextValue = item.build ? builtValue : Array.isArray(params.resolvedValue) ? { id: item.id, values: params.resolvedValue } : { id: item.id, value: params.resolvedValue };
106
- params.data[params.column.rootKey] = [...nextItems, nextValue];
107
- return;
108
- }
109
- setSpreadsheetValueAtPath(params.data, `${params.column.rootKey}.${item.id}`, builtValue);
110
- }
111
- function resolveSpreadsheetDynamicCellValues(column, source, raw, issues, rowIndex, columnIndex, header) {
112
- const issueText = getSpreadsheetIssueText();
113
- const text = String(raw ?? "").trim();
114
- if (!text) {
115
- return [];
116
- }
117
- const valuesConfig = column.values;
118
- const optionsConfig = column.options;
119
- if (!valuesConfig || !optionsConfig) {
120
- return [];
121
- }
122
- const tokens = valuesConfig.mode === "csv" ? text.split(valuesConfig.separator ?? ",").map((entry) => entry.trim()).filter(Boolean) : [text];
123
- const options = resolveSpreadsheetOptionEntries(optionsConfig, source);
124
- const resolvedValues = [];
125
- for (const token of tokens) {
126
- const normalizedToken = applySpreadsheetNormalization(token, valuesConfig.itemModifiers);
127
- const match = options.find((option) => {
128
- const candidate = valuesConfig.resolve === "label" ? getSpreadsheetOptionLabel(option) : String(getSpreadsheetOptionValue(option) ?? "");
129
- return applySpreadsheetNormalization(candidate, valuesConfig.itemModifiers) === normalizedToken;
130
- });
131
- if (!match) {
132
- issues.push({
133
- code: "option.not_found",
134
- columnIndex,
135
- columnKey: column.key,
136
- header,
137
- level: "error",
138
- message: issueText.unrecognizedValue(token),
139
- rowIndex
140
- });
141
- continue;
142
- }
143
- resolvedValues.push(getSpreadsheetOptionValue(match));
144
- }
145
- return resolvedValues;
146
- }
147
- export async function parseSpreadsheetRows(params) {
148
- const parsedRows = [];
149
- for (const [rowIndex, source] of params.rows.entries()) {
150
- const issues = [];
151
- const data = {};
152
- for (const match of params.matches) {
153
- const raw = source[match.columnIndex];
154
- const cell = {
155
- columnIndex: match.columnIndex,
156
- header: match.header.text,
157
- raw,
158
- rowIndex,
159
- text: String(raw ?? "").trim()
160
- };
161
- const value = await parseSpreadsheetCellValue(match.column, cell, params.context, issues);
162
- if (value !== void 0) {
163
- setSpreadsheetValueAtPath(data, match.key, value);
164
- }
165
- }
166
- for (const entry of params.dynamicMatches ?? []) {
167
- const raw = source[entry.columnIndex];
168
- if (entry.column.kind === "option-groups") {
169
- const values = resolveSpreadsheetDynamicCellValues(
170
- entry.column,
171
- entry.source,
172
- raw,
173
- issues,
174
- rowIndex,
175
- entry.columnIndex,
176
- entry.header.text
177
- );
178
- if (values.length) {
179
- setSpreadsheetValueAtPath(data, `${entry.key}.${entry.targetKey}`, values);
180
- }
181
- continue;
182
- }
183
- if (!isSpreadsheetDynamicCollectionColumn(entry.column)) {
184
- continue;
185
- }
186
- const resolvedValue = resolveCollectionCellValue({
187
- column: entry.column,
188
- issues,
189
- match: entry,
190
- raw,
191
- rowIndex
192
- });
193
- applyCollectionValue({
194
- column: entry.column,
195
- data,
196
- match: entry,
197
- resolvedValue
198
- });
199
- }
200
- parsedRows.push({
201
- data,
202
- index: rowIndex,
203
- isValid: issues.every((issue) => issue.level !== "error"),
204
- issues,
205
- source
206
- });
207
- }
208
- return parsedRows;
209
- }
@@ -1,17 +0,0 @@
1
- import type { SpreadsheetColumnDefinition, SpreadsheetDynamicCollectionItemDefinition, SpreadsheetDynamicCollectionDefinition, SpreadsheetDynamicOptionGroupsDefinition, SpreadsheetCellValue, SpreadsheetModifier, SpreadsheetRowIssue, SpreadsheetStaticColumn, SpreadsheetStaticColumnGroup, SpreadsheetValue } from '../../types/index.js';
2
- export declare function normalizeSpreadsheetText(value: SpreadsheetValue): string;
3
- export declare function applySpreadsheetNormalization(value: SpreadsheetValue, normalize: readonly SpreadsheetModifier[] | undefined): string;
4
- export declare function applySpreadsheetModifiers(value: SpreadsheetValue, modifiers: readonly string[] | undefined): string;
5
- export declare function isSpreadsheetStaticColumn(value: SpreadsheetValue): value is SpreadsheetStaticColumn;
6
- export declare function isSpreadsheetColumnGroup(value: SpreadsheetValue): value is SpreadsheetStaticColumnGroup;
7
- export declare function isSpreadsheetDynamicOptionGroupsColumn(value: SpreadsheetValue): value is SpreadsheetDynamicOptionGroupsDefinition<string, string, unknown>;
8
- export declare function isSpreadsheetDynamicCollectionColumn(value: SpreadsheetValue): value is SpreadsheetDynamicCollectionDefinition<string, 'array' | 'record'>;
9
- export declare function isSpreadsheetDynamicCollectionItem(value: SpreadsheetValue): value is SpreadsheetDynamicCollectionItemDefinition;
10
- export declare function getSpreadsheetIssueText(): {
11
- invalidBooleanInput: (value: string) => string;
12
- invalidNumberInput: (value: string) => string;
13
- missingValue: (field: string) => string;
14
- parseFailed: (field: string) => string;
15
- unrecognizedValue: (value: string) => string;
16
- };
17
- export declare function parseSpreadsheetCellValue<TContext>(column: SpreadsheetColumnDefinition<string, unknown, boolean, TContext>, cell: SpreadsheetCellValue, context: TContext, issues: SpreadsheetRowIssue[]): Promise<unknown>;
@@ -1,309 +0,0 @@
1
- import { useUiToolsLocale } from "#ui-tools/i18n";
2
- import { isSpreadsheetRecord } from "../object.js";
3
- import {
4
- getSpreadsheetOptionLabel,
5
- getSpreadsheetOptionValue,
6
- resolveSpreadsheetOptionEntries
7
- } from "../options.js";
8
- import { executeSpreadsheetRules } from "../validation/index.js";
9
- export function normalizeSpreadsheetText(value) {
10
- return String(value ?? "").normalize("NFD").replaceAll(/[\u0300-\u036F]/gu, "").replaceAll(/\s*\*\s*$/gu, "").replaceAll(/\s*\(required\)\s*$/giu, "").trim().replaceAll(/\s+/gu, " ").toLowerCase();
11
- }
12
- export function applySpreadsheetNormalization(value, normalize) {
13
- const nextValue = String(value ?? "").trim();
14
- if (!normalize?.length) {
15
- return nextValue;
16
- }
17
- return normalize.reduce((result, token) => {
18
- if (token === "trim") {
19
- return result.trim();
20
- }
21
- if (token === "case-insensitive") {
22
- return result.toLowerCase();
23
- }
24
- if (token === "accent-insensitive") {
25
- return result.normalize("NFD").replaceAll(/[\u0300-\u036F]/gu, "");
26
- }
27
- return result;
28
- }, nextValue).replaceAll(/\s*\*\s*$/gu, "").replaceAll(/\s*\(required\)\s*$/giu, "");
29
- }
30
- export function applySpreadsheetModifiers(value, modifiers) {
31
- const nextValue = String(value ?? "");
32
- if (!modifiers?.length) {
33
- return nextValue;
34
- }
35
- return modifiers.reduce((result, modifier) => {
36
- if (modifier === "trim") {
37
- return result.trim();
38
- }
39
- if (modifier === "lowercase" || modifier === "case-insensitive") {
40
- return result.toLowerCase();
41
- }
42
- if (modifier === "uppercase") {
43
- return result.toUpperCase();
44
- }
45
- if (modifier === "normalizeSpaces") {
46
- return result.replaceAll(/\s+/gu, " ");
47
- }
48
- if (modifier === "accent-insensitive") {
49
- return result.normalize("NFD").replaceAll(/[\u0300-\u036F]/gu, "");
50
- }
51
- return result;
52
- }, nextValue);
53
- }
54
- export function isSpreadsheetStaticColumn(value) {
55
- return isSpreadsheetRecord(value) && "kind" in value && value.kind !== "group" && "key" in value;
56
- }
57
- export function isSpreadsheetColumnGroup(value) {
58
- return isSpreadsheetRecord(value) && "kind" in value && value.kind === "group" && "columns" in value;
59
- }
60
- export function isSpreadsheetDynamicOptionGroupsColumn(value) {
61
- return isSpreadsheetRecord(value) && "kind" in value && value.kind === "option-groups";
62
- }
63
- export function isSpreadsheetDynamicCollectionColumn(value) {
64
- return isSpreadsheetRecord(value) && "kind" in value && value.kind === "collection";
65
- }
66
- export function isSpreadsheetDynamicCollectionItem(value) {
67
- return isSpreadsheetRecord(value) && "id" in value && "match" in value && "value" in value;
68
- }
69
- function hasSpreadsheetColumnResolve(column) {
70
- return "resolve" in column && Boolean(column.resolve);
71
- }
72
- function resolveSpreadsheetColumnOptionEntries(options, context) {
73
- return resolveSpreadsheetOptionEntries(options, { context });
74
- }
75
- function resolveSpreadsheetMultipleConfig(multiple) {
76
- if (!multiple) {
77
- return void 0;
78
- }
79
- if (multiple === true) {
80
- return {};
81
- }
82
- return multiple;
83
- }
84
- function splitSpreadsheetMultipleTokens(value, separator) {
85
- return value.split(separator ?? ",").map((entry) => entry.trim()).filter(Boolean);
86
- }
87
- function parseSpreadsheetNumberValue(value) {
88
- const nextValue = Number(value);
89
- if (Number.isNaN(nextValue) || !Number.isFinite(nextValue)) {
90
- return;
91
- }
92
- return nextValue;
93
- }
94
- function parseSpreadsheetBooleanValue(value) {
95
- const normalized = value.toLowerCase();
96
- if (["true", "1", "yes"].includes(normalized)) {
97
- return true;
98
- }
99
- if (["false", "0", "no"].includes(normalized)) {
100
- return false;
101
- }
102
- }
103
- function pushSpreadsheetParseIssue(params) {
104
- params.issues.push({
105
- code: params.code,
106
- columnIndex: params.columnIndex,
107
- columnKey: params.columnKey,
108
- header: params.header,
109
- level: "error",
110
- message: params.message,
111
- rowIndex: params.rowIndex
112
- });
113
- }
114
- export function getSpreadsheetIssueText() {
115
- const { t } = useUiToolsLocale();
116
- return {
117
- invalidBooleanInput: (value) => t("spreadsheet.validation.invalidBooleanInput", { value }),
118
- invalidNumberInput: (value) => t("spreadsheet.validation.invalidNumberInput", { value }),
119
- missingValue: (field) => t("spreadsheet.validation.missingValue", { field }),
120
- parseFailed: (field) => t("spreadsheet.validation.parseFailed", { field }),
121
- unrecognizedValue: (value) => t("spreadsheet.validation.unrecognizedValue", { value })
122
- };
123
- }
124
- function parseSpreadsheetEnumColumnValue(column, token, cell, issues) {
125
- const issueText = getSpreadsheetIssueText();
126
- if (!token) {
127
- return;
128
- }
129
- const multipleConfig = resolveSpreadsheetMultipleConfig(column.multiple);
130
- const normalizedToken = multipleConfig?.itemModifiers ? applySpreadsheetNormalization(token, multipleConfig.itemModifiers) : token;
131
- const match = column.options.find((option) => {
132
- const candidate = String(option);
133
- if (!multipleConfig?.itemModifiers) {
134
- return candidate === token;
135
- }
136
- return applySpreadsheetNormalization(candidate, multipleConfig.itemModifiers) === normalizedToken;
137
- });
138
- if (match !== void 0) {
139
- return match;
140
- }
141
- pushSpreadsheetParseIssue({
142
- code: "enum.not_found",
143
- columnIndex: cell.columnIndex,
144
- columnKey: column.key,
145
- header: cell.header,
146
- issues,
147
- message: issueText.unrecognizedValue(token),
148
- rowIndex: cell.rowIndex
149
- });
150
- }
151
- function parseSpreadsheetOptionColumnValue(column, token, cell, context, issues) {
152
- const issueText = getSpreadsheetIssueText();
153
- if (!token) {
154
- return;
155
- }
156
- const options = resolveSpreadsheetColumnOptionEntries(column.options, context);
157
- const multipleConfig = resolveSpreadsheetMultipleConfig(column.multiple);
158
- const normalizedToken = multipleConfig?.itemModifiers ? applySpreadsheetNormalization(token, multipleConfig.itemModifiers) : token;
159
- const match = options.find((option) => {
160
- const label = getSpreadsheetOptionLabel(option);
161
- const value = getSpreadsheetOptionValue(option);
162
- const by = multipleConfig?.matchBy;
163
- if (by === "label") {
164
- return (multipleConfig?.itemModifiers ? applySpreadsheetNormalization(label, multipleConfig.itemModifiers) : label) === normalizedToken;
165
- }
166
- if (by === "value") {
167
- return (multipleConfig?.itemModifiers ? applySpreadsheetNormalization(String(value ?? ""), multipleConfig.itemModifiers) : String(value ?? "")) === normalizedToken;
168
- }
169
- return token === label || token === String(value ?? "");
170
- });
171
- if (match === void 0) {
172
- pushSpreadsheetParseIssue({
173
- code: "option.not_found",
174
- columnIndex: cell.columnIndex,
175
- columnKey: column.key,
176
- header: cell.header,
177
- issues,
178
- message: issueText.unrecognizedValue(token),
179
- rowIndex: cell.rowIndex
180
- });
181
- return;
182
- }
183
- return getSpreadsheetOptionValue(match);
184
- }
185
- function isSpreadsheetEnumColumn(column) {
186
- return column.kind === "enum" && "options" in column && Array.isArray(column.options);
187
- }
188
- function isSpreadsheetOptionColumn(column) {
189
- return column.kind === "option" && "options" in column;
190
- }
191
- function parseSpreadsheetSingleBuiltInValue(column, token, cell, context, issues) {
192
- const issueText = getSpreadsheetIssueText();
193
- if (column.kind === "text" || column.kind === "email" || column.kind === "date") {
194
- return token;
195
- }
196
- if (column.kind === "number") {
197
- const value = parseSpreadsheetNumberValue(token);
198
- if (value !== void 0) {
199
- return value;
200
- }
201
- pushSpreadsheetParseIssue({
202
- code: "number.invalid",
203
- columnIndex: cell.columnIndex,
204
- columnKey: column.key,
205
- header: cell.header,
206
- issues,
207
- message: issueText.invalidNumberInput(token),
208
- rowIndex: cell.rowIndex
209
- });
210
- return;
211
- }
212
- if (column.kind === "boolean") {
213
- const value = parseSpreadsheetBooleanValue(token);
214
- if (value !== void 0) {
215
- return value;
216
- }
217
- pushSpreadsheetParseIssue({
218
- code: "boolean.invalid",
219
- columnIndex: cell.columnIndex,
220
- columnKey: column.key,
221
- header: cell.header,
222
- issues,
223
- message: issueText.invalidBooleanInput(token),
224
- rowIndex: cell.rowIndex
225
- });
226
- return;
227
- }
228
- if (isSpreadsheetEnumColumn(column)) {
229
- return parseSpreadsheetEnumColumnValue(column, token, cell, issues);
230
- }
231
- if (isSpreadsheetOptionColumn(column)) {
232
- return parseSpreadsheetOptionColumnValue(column, token, cell, context, issues);
233
- }
234
- return token;
235
- }
236
- function createSpreadsheetCellWithModifiers(cell, modifiers) {
237
- if (!modifiers?.length) {
238
- return cell;
239
- }
240
- return {
241
- ...cell,
242
- text: applySpreadsheetModifiers(cell.text, modifiers)
243
- };
244
- }
245
- function parseSpreadsheetBuiltInCellValue(column, cell, context, issues) {
246
- const nextCell = createSpreadsheetCellWithModifiers(cell, column.modifiers);
247
- const multipleConfig = resolveSpreadsheetMultipleConfig(column.multiple);
248
- if (!multipleConfig) {
249
- return parseSpreadsheetSingleBuiltInValue(column, nextCell.text, nextCell, context, issues);
250
- }
251
- if (!nextCell.text) {
252
- return [];
253
- }
254
- return splitSpreadsheetMultipleTokens(nextCell.text, multipleConfig.separator).flatMap(
255
- (token) => {
256
- const nextToken = applySpreadsheetModifiers(token, multipleConfig.itemModifiers);
257
- const value = parseSpreadsheetSingleBuiltInValue(column, nextToken, nextCell, context, issues);
258
- return value === void 0 ? [] : [value];
259
- }
260
- );
261
- }
262
- export async function parseSpreadsheetCellValue(column, cell, context, issues) {
263
- const issueText = getSpreadsheetIssueText();
264
- const nextCell = createSpreadsheetCellWithModifiers(cell, column.modifiers);
265
- const isEmpty = nextCell.text.trim() === "";
266
- if (column.required && !hasSpreadsheetColumnResolve(column) && isEmpty) {
267
- issues.push({
268
- code: "cell.required",
269
- columnIndex: cell.columnIndex,
270
- columnKey: column.key,
271
- header: cell.header,
272
- level: "error",
273
- message: issueText.missingValue(cell.header),
274
- rowIndex: cell.rowIndex
275
- });
276
- }
277
- try {
278
- const value = column.parse ? await column.parse({ cell: nextCell, context }) : parseSpreadsheetBuiltInCellValue(column, cell, context, issues);
279
- const validationIssues = hasSpreadsheetColumnResolve(column) ? [] : executeSpreadsheetRules({
280
- rules: column.rules,
281
- value
282
- });
283
- issues.push(
284
- ...validationIssues.map(
285
- (issue) => ({
286
- ...issue,
287
- columnIndex: cell.columnIndex,
288
- columnKey: column.key,
289
- header: cell.header,
290
- rowIndex: cell.rowIndex
291
- })
292
- )
293
- );
294
- if (isEmpty && !column.parse) {
295
- return;
296
- }
297
- return value;
298
- } catch (error) {
299
- issues.push({
300
- code: "cell.parse_failed",
301
- columnIndex: cell.columnIndex,
302
- columnKey: column.key,
303
- header: cell.header,
304
- level: "error",
305
- message: error instanceof Error ? error.message : issueText.parseFailed(cell.header),
306
- rowIndex: cell.rowIndex
307
- });
308
- }
309
- }
@@ -1,2 +0,0 @@
1
- import type { SpreadsheetParsedRow, SpreadsheetRowSummary } from '../../types/index.js';
2
- export declare function createSpreadsheetRowSummary(rows: readonly SpreadsheetParsedRow[]): SpreadsheetRowSummary;
@@ -1,10 +0,0 @@
1
- export function createSpreadsheetRowSummary(rows) {
2
- const invalidRows = rows.filter((row) => !row.isValid).length;
3
- const issueCount = rows.reduce((total, row) => total + row.issues.length, 0);
4
- return {
5
- invalidRows,
6
- issueCount,
7
- totalRows: rows.length,
8
- validRows: rows.length - invalidRows
9
- };
10
- }
@@ -1,9 +0,0 @@
1
- import type { SpreadsheetBinarySource, SpreadsheetWorkbookData, SpreadsheetWorkbookSheet } from '../../types/index.js';
2
- export declare function parseSpreadsheetWorkbook(params: {
3
- source: SpreadsheetBinarySource;
4
- fileName?: string;
5
- }): Promise<SpreadsheetWorkbookData>;
6
- export declare function getDefaultSpreadsheetSheetName(workbook: SpreadsheetWorkbookData | null): string | undefined;
7
- export declare function getSpreadsheetSheet(workbook: SpreadsheetWorkbookData | null, sheetName: string | undefined): SpreadsheetWorkbookSheet | null;
8
- export declare function getSpreadsheetHeaders(sheet: SpreadsheetWorkbookSheet | null, headerRowIndex: number): readonly unknown[];
9
- export declare function getSpreadsheetDataRows(sheet: SpreadsheetWorkbookSheet | null, headerRowIndex: number): (readonly unknown[])[];
@@ -1,65 +0,0 @@
1
- import { read, utils } from "xlsx";
2
- async function resolveSpreadsheetBinarySource(source) {
3
- if (source instanceof Uint8Array) {
4
- return source;
5
- }
6
- if (source instanceof ArrayBuffer) {
7
- return new Uint8Array(source);
8
- }
9
- return new Uint8Array(await source.arrayBuffer());
10
- }
11
- function normalizeSheetRows(rows) {
12
- return rows.map((row) => row.map((cell) => cell ?? ""));
13
- }
14
- export async function parseSpreadsheetWorkbook(params) {
15
- const data = await resolveSpreadsheetBinarySource(params.source);
16
- const workbook = read(data, {
17
- cellDates: true,
18
- type: "array"
19
- });
20
- const sheets = workbook.SheetNames.map((sheetName) => {
21
- const sheet = workbook.Sheets[sheetName];
22
- if (!sheet) {
23
- return {
24
- name: sheetName,
25
- rows: []
26
- };
27
- }
28
- return {
29
- name: sheetName,
30
- rows: normalizeSheetRows(
31
- utils.sheet_to_json(sheet, {
32
- blankrows: false,
33
- defval: "",
34
- header: 1,
35
- raw: false
36
- })
37
- )
38
- };
39
- });
40
- return {
41
- fileName: params.fileName,
42
- sheets
43
- };
44
- }
45
- export function getDefaultSpreadsheetSheetName(workbook) {
46
- return workbook?.sheets[0]?.name;
47
- }
48
- export function getSpreadsheetSheet(workbook, sheetName) {
49
- if (!workbook) {
50
- return null;
51
- }
52
- if (!sheetName) {
53
- return workbook.sheets[0] ?? null;
54
- }
55
- return workbook.sheets.find((sheet) => sheet.name === sheetName) ?? workbook.sheets[0] ?? null;
56
- }
57
- export function getSpreadsheetHeaders(sheet, headerRowIndex) {
58
- return sheet?.rows[headerRowIndex] ?? [];
59
- }
60
- export function getSpreadsheetDataRows(sheet, headerRowIndex) {
61
- if (!sheet) {
62
- return [];
63
- }
64
- return sheet.rows.slice(headerRowIndex + 1);
65
- }
@@ -1 +0,0 @@
1
- export * from './core.js';
@@ -1 +0,0 @@
1
- export * from "./core.js";
@@ -1,16 +0,0 @@
1
- import type { CreateSpreadsheetRule, SpreadsheetFieldRules, SpreadsheetFieldRulesInput, SpreadsheetRuleBuilder } from '../../types/validation.js';
2
- export declare const createSheetRule: CreateSpreadsheetRule;
3
- export declare function resolveSpreadsheetRules<TValue>(rules: SpreadsheetFieldRulesInput<TValue> | undefined): SpreadsheetFieldRules<TValue>;
4
- export declare function resolveSpreadsheetRelationRules<TRow, TValue>(params: {
5
- row: TRow;
6
- rules: (rules: SpreadsheetRuleBuilder, row: TRow) => SpreadsheetFieldRules<TValue>;
7
- }): SpreadsheetFieldRules<TValue>;
8
- export declare function executeSpreadsheetRules<TValue>(params: {
9
- value: TValue;
10
- rules: SpreadsheetFieldRulesInput<TValue> | undefined;
11
- }): {
12
- code: string;
13
- level: import("../../types/index.js").SpreadsheetIssueLevel;
14
- message: string;
15
- ruleKey: string | undefined;
16
- }[];