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,137 +0,0 @@
1
- <script setup>
2
- import { computed } from "vue";
3
- import { useUiToolsLocale } from "#ui-tools/i18n";
4
- import { resolveTextValue } from "#ui-tools/shared/utils/render";
5
- import SpreadsheetMatchingSummary from "./matching/spreadsheet-matching-summary.vue";
6
- import SpreadsheetMatchingTable from "./matching/spreadsheet-matching-table.vue";
7
- const props = defineProps({
8
- spreadsheet: { type: Object, required: true }
9
- });
10
- const { t } = useUiToolsLocale();
11
- const internals = props.spreadsheet.__internals;
12
- function getStaticColumnLabel(columnKey) {
13
- const column = internals.rows.staticColumns.value.find((entry) => entry.key === columnKey);
14
- if (!column) {
15
- return columnKey;
16
- }
17
- return resolveTextValue(column.label, column.key);
18
- }
19
- const assignedStaticKeys = computed(
20
- () => new Set(internals.rows.columnMatches.value.map((match) => match.key))
21
- );
22
- const usedColumnIndexes = computed(
23
- () => /* @__PURE__ */ new Set([
24
- ...internals.rows.columnMatches.value.map((match) => match.columnIndex),
25
- ...internals.rows.dynamicColumnMatches.value.map((match) => match.columnIndex)
26
- ])
27
- );
28
- const ignoredHeaderRows = computed(
29
- () => props.spreadsheet.headerCells.value.filter((header) => !usedColumnIndexes.value.has(header.index)).map((header) => ({
30
- fileColumn: header.text || t("spreadsheet.steps.matching.columnFallback", { index: header.index + 1 }),
31
- key: `ignored:${header.index}`
32
- }))
33
- );
34
- const expectedFieldRows = computed(
35
- () => internals.rows.staticColumns.value.map((column) => {
36
- const match = internals.rows.columnMatches.value.find((entry) => entry.key === column.key);
37
- return {
38
- key: column.key,
39
- required: Boolean(column.required),
40
- selectedFileColumn: match?.header.text ?? "",
41
- selectedHeaderIndex: match?.columnIndex ?? null,
42
- status: match ? "matched" : "unmatched",
43
- systemFieldKey: column.key,
44
- systemFieldLabel: getStaticColumnLabel(column.key)
45
- };
46
- })
47
- );
48
- const autoMappedRows = computed(
49
- () => internals.rows.dynamicColumnMatches.value.map((match) => ({
50
- key: `dynamic:${match.columnIndex}:${match.targetKey}`,
51
- selectedFileColumn: match.header.text,
52
- systemFieldLabel: match.targetKey
53
- }))
54
- );
55
- const summaryItems = computed(() => [
56
- {
57
- key: "matched",
58
- label: t("spreadsheet.steps.matching.matched"),
59
- tone: "success",
60
- value: expectedFieldRows.value.filter((row) => row.status === "matched").length
61
- },
62
- {
63
- key: "unmatched",
64
- label: t("spreadsheet.steps.matching.missing"),
65
- tone: "error",
66
- value: internals.rows.unmatchedColumns.value.length
67
- },
68
- {
69
- key: "dynamic",
70
- label: t("spreadsheet.steps.matching.autoMapped"),
71
- tone: "warning",
72
- value: autoMappedRows.value.length
73
- },
74
- {
75
- key: "ignored",
76
- label: t("spreadsheet.steps.matching.ignored"),
77
- tone: "neutral",
78
- value: ignoredHeaderRows.value.length
79
- }
80
- ]);
81
- function getOptionsForRow(row) {
82
- return [
83
- ...props.spreadsheet.headerCells.value.map((header) => {
84
- const selectedMatch = internals.rows.columnMatches.value.find(
85
- (entry) => entry.key === row.systemFieldKey
86
- );
87
- const assignedMatch = internals.rows.columnMatches.value.find(
88
- (entry) => entry.columnIndex === header.index
89
- );
90
- const assignedToOtherField = Boolean(
91
- assignedMatch && assignedMatch.key !== row.systemFieldKey
92
- );
93
- return {
94
- assigned: assignedToOtherField,
95
- headerIndex: header.index,
96
- key: row.systemFieldKey,
97
- label: header.text || t("spreadsheet.steps.matching.columnFallback", { index: header.index + 1 }),
98
- selected: selectedMatch?.columnIndex === header.index
99
- };
100
- }),
101
- {
102
- assigned: false,
103
- headerIndex: -1,
104
- key: "__ignore__",
105
- label: t("spreadsheet.steps.matching.ignoreField"),
106
- selected: row.selectedHeaderIndex === null
107
- }
108
- ].sort((left, right) => {
109
- if ("selected" in left && "selected" in right && left.selected !== right.selected) {
110
- return Number(right.selected) - Number(left.selected);
111
- }
112
- if (left.assigned !== right.assigned) {
113
- return Number(left.assigned) - Number(right.assigned);
114
- }
115
- return left.label.localeCompare(right.label);
116
- });
117
- }
118
- </script>
119
-
120
- <template>
121
- <div class="grid min-h-0 grid-rows-[auto_minmax(0,1fr)] gap-3">
122
- <SpreadsheetMatchingSummary :items="summaryItems" />
123
-
124
- <SpreadsheetMatchingTable
125
- :expected-field-rows="expectedFieldRows"
126
- :auto-mapped-rows="autoMappedRows"
127
- :ignored-column-rows="ignoredHeaderRows"
128
- :get-options-for-row="getOptionsForRow"
129
- @assign="
130
- ({ headerIndex, columnKey }) => {
131
- if (!columnKey) spreadsheet.clearColumnAssignment(headerIndex);
132
- else spreadsheet.assignColumn({ headerIndex, columnKey });
133
- }
134
- "
135
- />
136
- </div>
137
- </template>
@@ -1,7 +0,0 @@
1
- import type { SpreadsheetComponentApi } from '../types.js';
2
- type __VLS_Props = {
3
- spreadsheet: SpreadsheetComponentApi;
4
- };
5
- declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
6
- declare const _default: typeof __VLS_export;
7
- export default _default;
@@ -1,7 +0,0 @@
1
- import type { SpreadsheetComponentApi } from '../types.js';
2
- type __VLS_Props = {
3
- spreadsheet: SpreadsheetComponentApi;
4
- };
5
- declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
6
- declare const _default: typeof __VLS_export;
7
- export default _default;
@@ -1,222 +0,0 @@
1
- <script setup>
2
- import { computed, ref, watch } from "vue";
3
- import {
4
- humanizeSpreadsheetKey,
5
- resolveSpreadsheetDisplayLabel,
6
- snakeCaseSpreadsheetKey
7
- } from "../../utils/display";
8
- import SpreadsheetReferencesAccordion from "./references/spreadsheet-references-accordion.vue";
9
- import SpreadsheetReferencesSummary from "./references/spreadsheet-references-summary.vue";
10
- const props = defineProps({
11
- spreadsheet: { type: Object, required: true }
12
- });
13
- const internals = props.spreadsheet.__internals;
14
- const expandedResolutionKey = ref(void 0);
15
- function getSourceLabel(sourceField) {
16
- const staticColumn = internals.rows.staticColumns.value.find(
17
- (column) => column.key === sourceField
18
- );
19
- if (staticColumn) {
20
- return resolveSpreadsheetDisplayLabel(
21
- staticColumn.label,
22
- humanizeSpreadsheetKey(staticColumn.key)
23
- );
24
- }
25
- return humanizeSpreadsheetKey(sourceField);
26
- }
27
- function getOutputLabel(outputField) {
28
- return snakeCaseSpreadsheetKey(outputField);
29
- }
30
- function getBestScore(candidates) {
31
- if (!candidates.length) {
32
- return null;
33
- }
34
- return Math.round(Math.max(...candidates.map((candidate) => candidate.score)) * 100);
35
- }
36
- function getRowCountLabel(count) {
37
- return `${count} row${count === 1 ? "" : "s"}`;
38
- }
39
- function getSelectItems(resolution) {
40
- const recommendedOptions = resolution.candidates.filter((candidate) => candidate.score > 0).map((candidate) => ({
41
- description: `${Math.round(candidate.score * 100)}% match`,
42
- kind: "option",
43
- label: candidate.label,
44
- value: candidate.value
45
- }));
46
- const remainingOptions = resolution.candidates.filter((candidate) => candidate.score <= 0).map((candidate) => ({
47
- kind: "option",
48
- label: candidate.label,
49
- value: candidate.value
50
- }));
51
- return [
52
- ...recommendedOptions,
53
- ...recommendedOptions.length && remainingOptions.length ? [
54
- {
55
- disabled: true,
56
- kind: "divider",
57
- label: "Other options"
58
- }
59
- ] : [],
60
- ...recommendedOptions.length ? remainingOptions : resolution.candidates.map((candidate) => ({
61
- description: candidate.score > 0 ? `${Math.round(candidate.score * 100)}% match` : void 0,
62
- kind: "option",
63
- label: candidate.label,
64
- value: candidate.value
65
- }))
66
- ];
67
- }
68
- const groupedColumns = computed(() => {
69
- const groups = /* @__PURE__ */ new Map();
70
- for (const resolution of props.spreadsheet.referenceResolutions.value) {
71
- const group = groups.get(resolution.referenceField) ?? [];
72
- groups.set(resolution.referenceField, [...group, resolution]);
73
- }
74
- return [...groups.entries()].map(([referenceField, items]) => {
75
- const sourceField = items[0]?.sourceField ?? referenceField;
76
- const outputField = items[0]?.outputField ?? referenceField;
77
- const resolvedCount = items.filter((item) => item.status === "matched").length;
78
- const unresolvedCount = items.length - resolvedCount;
79
- return {
80
- items,
81
- outputField,
82
- outputLabel: getOutputLabel(outputField),
83
- progressWidth: `${Math.max(0, Math.min(100, items.length ? resolvedCount / items.length * 100 : 0))}%`,
84
- resolutionKey: referenceField,
85
- resolvedCount,
86
- sourceField,
87
- sourceLabel: getSourceLabel(sourceField),
88
- unresolvedCount
89
- };
90
- });
91
- });
92
- const summaryItems = computed(() => [
93
- {
94
- barClass: "bg-muted",
95
- key: "groups",
96
- label: "Columns to reconcile",
97
- value: groupedColumns.value.length
98
- },
99
- {
100
- barClass: "bg-success",
101
- key: "resolved",
102
- label: "Values resolved",
103
- value: props.spreadsheet.referenceResolutions.value.filter(
104
- (resolution) => resolution.status === "matched"
105
- ).length
106
- },
107
- {
108
- barClass: "bg-warning",
109
- key: "unresolved",
110
- label: "Values to resolve",
111
- value: props.spreadsheet.unresolvedReferenceResolutions.value.length
112
- },
113
- {
114
- barClass: "bg-muted",
115
- key: "rows",
116
- label: "Total rows",
117
- value: props.spreadsheet.rowSummary.value.totalRows
118
- }
119
- ]);
120
- const unresolvedGroupKeys = computed(
121
- () => groupedColumns.value.filter((group) => group.unresolvedCount > 0).map((group) => group.resolutionKey)
122
- );
123
- function getNextExpandableKey(currentKey) {
124
- const currentIndex = groupedColumns.value.findIndex((group) => group.resolutionKey === currentKey);
125
- if (currentIndex === -1) {
126
- return unresolvedGroupKeys.value[0] ?? groupedColumns.value[0]?.resolutionKey;
127
- }
128
- for (let index = currentIndex + 1; index < groupedColumns.value.length; index += 1) {
129
- const nextGroup = groupedColumns.value[index];
130
- if (nextGroup?.unresolvedCount) {
131
- return nextGroup.resolutionKey;
132
- }
133
- }
134
- return unresolvedGroupKeys.value[0] ?? currentKey;
135
- }
136
- watch(
137
- groupedColumns,
138
- (nextGroups, previousGroups) => {
139
- if (!nextGroups.length) {
140
- expandedResolutionKey.value = void 0;
141
- return;
142
- }
143
- if (!expandedResolutionKey.value) {
144
- expandedResolutionKey.value = unresolvedGroupKeys.value[0] ?? nextGroups[0]?.resolutionKey;
145
- return;
146
- }
147
- const currentGroup = nextGroups.find(
148
- (group) => group.resolutionKey === expandedResolutionKey.value
149
- );
150
- if (!currentGroup) {
151
- expandedResolutionKey.value = unresolvedGroupKeys.value[0] ?? nextGroups[0]?.resolutionKey;
152
- return;
153
- }
154
- const previousGroup = previousGroups?.find(
155
- (group) => group.resolutionKey === expandedResolutionKey.value
156
- );
157
- if (!previousGroup) {
158
- return;
159
- }
160
- if (!previousGroup.unresolvedCount || currentGroup.unresolvedCount) {
161
- return;
162
- }
163
- expandedResolutionKey.value = getNextExpandableKey(currentGroup.resolutionKey);
164
- },
165
- {
166
- immediate: true
167
- }
168
- );
169
- function getMetaTone(resolution) {
170
- if (resolution.status === "matched") {
171
- return null;
172
- }
173
- const bestScore = getBestScore(resolution.candidates);
174
- if (bestScore === null) {
175
- return { class: "text-error", label: "No options available" };
176
- }
177
- if (bestScore === 0) {
178
- return null;
179
- }
180
- return { class: "text-warning", label: `Best match: ${bestScore}%` };
181
- }
182
- function getResolutionBadge(resolution) {
183
- if (resolution.status === "matched") {
184
- return { color: "success", label: "Resolved" };
185
- }
186
- const bestScore = getBestScore(resolution.candidates);
187
- if (bestScore === null) {
188
- return { color: "error", label: "No options" };
189
- }
190
- return { color: "warning", label: "Needs review" };
191
- }
192
- function handleSelect(resolution, value) {
193
- const candidate = resolution.candidates.find((entry) => entry.value === value);
194
- if (!candidate) {
195
- return;
196
- }
197
- props.spreadsheet.selectReference({
198
- referenceField: resolution.referenceField,
199
- selectedLabel: candidate.label,
200
- selectedValue: candidate.value,
201
- sourceValue: resolution.sourceValue
202
- });
203
- }
204
- </script>
205
-
206
- <template>
207
- <div class="grid min-h-0 grid-rows-[auto_minmax(0,1fr)] gap-6">
208
- <div class="grid gap-6">
209
- <SpreadsheetReferencesSummary :items="summaryItems" />
210
-
211
- <SpreadsheetReferencesAccordion
212
- v-model="expandedResolutionKey"
213
- :groups="groupedColumns"
214
- :get-select-items="getSelectItems"
215
- :get-resolution-badge="getResolutionBadge"
216
- :get-meta-tone="getMetaTone"
217
- :get-row-count-label="getRowCountLabel"
218
- @select="({ resolution, value }) => handleSelect(resolution, value)"
219
- />
220
- </div>
221
- </div>
222
- </template>
@@ -1,7 +0,0 @@
1
- import type { SpreadsheetComponentApi } from '../types.js';
2
- type __VLS_Props = {
3
- spreadsheet: SpreadsheetComponentApi;
4
- };
5
- declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
6
- declare const _default: typeof __VLS_export;
7
- export default _default;
@@ -1,7 +0,0 @@
1
- import type { SpreadsheetComponentApi } from '../types.js';
2
- type __VLS_Props = {
3
- spreadsheet: SpreadsheetComponentApi;
4
- };
5
- declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
6
- declare const _default: typeof __VLS_export;
7
- export default _default;
@@ -1,191 +0,0 @@
1
- <script setup>
2
- import UButton from "@nuxt/ui/components/Button.vue";
3
- import UTable from "@nuxt/ui/components/Table.vue";
4
- import { computed } from "vue";
5
- import { useUiToolsLocale } from "#ui-tools/i18n";
6
- import { isNumber, isObject } from "#ui-tools/shared";
7
- import TableEmptyState from "../../../table/components/table/table-empty-state.vue";
8
- import { useSpreadsheetReview } from "../../composables/use-spreadsheet-review";
9
- import SpreadsheetReviewInspection from "./review/spreadsheet-review-inspection.vue";
10
- import SpreadsheetReviewOverflowAlert from "./review/spreadsheet-review-overflow-alert.vue";
11
- import SpreadsheetReviewStats from "./review/spreadsheet-review-stats.vue";
12
- const props = defineProps({
13
- spreadsheet: { type: Object, required: true }
14
- });
15
- const { t } = useUiToolsLocale();
16
- function getSchemaMaxRecords(schema) {
17
- if ("file" in schema && schema.file && isObject(schema.file) && "maxRecords" in schema.file && isNumber(schema.file.maxRecords)) {
18
- return schema.file.maxRecords;
19
- }
20
- if ("source" in schema && schema.source && isObject(schema.source) && "maxRecords" in schema.source && isNumber(schema.source.maxRecords)) {
21
- return schema.source.maxRecords;
22
- }
23
- return void 0;
24
- }
25
- const maxRecords = computed(() => getSchemaMaxRecords(props.spreadsheet.schema.value) ?? Infinity);
26
- const review = useSpreadsheetReview({
27
- maxRecords,
28
- resolvedRows: computed(() => props.spreadsheet.resolvedRows.value)
29
- });
30
- const tableHasRows = computed(() => review.visibleRows.value.length > 0);
31
- const summaryLimitText = computed(() => {
32
- if (!Number.isFinite(maxRecords.value)) {
33
- return void 0;
34
- }
35
- return t("spreadsheet.steps.review.importLimit", {
36
- importable: Math.min(props.spreadsheet.resolvedRows.value.length, maxRecords.value),
37
- total: props.spreadsheet.resolvedRows.value.length
38
- });
39
- });
40
- function showIssueRows() {
41
- review.setActiveTab("invalid");
42
- review.closeInspection();
43
- }
44
- </script>
45
-
46
- <template>
47
- <div class="grid min-h-0 h-full gap-4">
48
- <SpreadsheetReviewOverflowAlert
49
- v-if="review.hasOverflow.value"
50
- :review-rows-length="props.spreadsheet.resolvedRows.value.length"
51
- :max-records="maxRecords"
52
- :overflow-count="review.overflowCount.value"
53
- @auto-trim="review.setActiveTab('discarded')"
54
- />
55
-
56
- <SpreadsheetReviewInspection
57
- v-if="review.inspectedRow.value"
58
- :inspected-row="review.inspectedRow.value"
59
- :table-columns="review.tableColumns.value"
60
- :issue-rows-length="review.issueRows.value.length"
61
- :inspected-issue-row-position="review.inspectedIssueRowPosition.value"
62
- :format-cell="review.formatSpreadsheetCell"
63
- :get-object-entries="review.getSpreadsheetObjectEntries"
64
- :humanize-key="review.humanizeSpreadsheetKey"
65
- :get-issue-badge="review.getIssueBadge"
66
- :get-issue-value-tone="review.getIssueValueTone"
67
- :get-issue-value="review.getIssueValue"
68
- :get-issue-raw-value="review.getIssueRawValue"
69
- :get-related-issue-count="review.getRelatedIssueCount"
70
- :is-discarded="review.isDiscarded"
71
- :is-manually-discarded="review.isManuallyDiscarded"
72
- @close="review.closeInspection"
73
- @prev="review.inspectPrevIssueRow"
74
- @next="review.inspectNextIssueRow"
75
- @discard-row="review.discardRow"
76
- @restore-row="review.restoreRow"
77
- @show-issue-rows="showIssueRows"
78
- />
79
-
80
- <div v-else class="grid min-h-0 h-full gap-4 grid-rows-[minmax(0,1fr)_auto]">
81
- <div
82
- class="grid min-h-0 h-full overflow-hidden rounded-[4px] border border-default/70 bg-default grid-rows-[auto_minmax(0,1fr)]"
83
- >
84
- <div class="grid gap-0">
85
- <div
86
- class="flex min-h-11 flex-wrap items-center justify-between gap-2 border-b border-default/70 px-4"
87
- >
88
- <div class="flex min-w-0 items-center gap-1">
89
- <button
90
- v-for="item in review.tabItems.value"
91
- :key="item.key"
92
- type="button"
93
- class="h-10 border-b-2 px-3 text-[12px] font-medium transition-colors"
94
- :class="
95
- review.activeTab.value === item.key ? 'border-highlighted text-highlighted' : 'border-transparent text-muted hover:text-toned'
96
- "
97
- @click="review.setActiveTab(item.key)"
98
- >
99
- {{ item.label }}
100
- </button>
101
- </div>
102
-
103
- <div class="flex flex-wrap items-center gap-1.5">
104
- <button
105
- v-for="item in review.issueFilterItems.value"
106
- :key="item.key"
107
- type="button"
108
- class="rounded-md px-2.5 py-1 text-[11px] font-medium transition-colors"
109
- :class="
110
- review.issueFilter.value === item.key ? 'bg-elevated text-highlighted' : 'text-muted hover:bg-elevated/60 hover:text-toned'
111
- "
112
- :disabled="
113
- review.activeTab.value === 'valid' || review.activeTab.value === 'discarded'
114
- "
115
- @click="review.setIssueFilter(item.key)"
116
- >
117
- {{ item.label }}
118
- </button>
119
- </div>
120
- </div>
121
-
122
- <div
123
- v-if="review.selectedRowIndexes.value.length"
124
- class="flex min-h-10 flex-wrap items-center gap-2 border-b border-default/70 bg-elevated/35 px-4 py-1.5"
125
- >
126
- <span class="font-mono text-[11px] text-muted">
127
- {{
128
- t("spreadsheet.steps.review.selected", {
129
- count: review.selectedRowIndexes.value.length
130
- })
131
- }}
132
- </span>
133
- <UButton
134
- color="error"
135
- variant="outline"
136
- size="xs"
137
- icon="i-lucide-trash-2"
138
- :label="t('spreadsheet.steps.review.discard')"
139
- :disabled="!review.canDiscardSelection.value"
140
- @click="review.discardSelectedRows"
141
- />
142
- <UButton
143
- color="neutral"
144
- variant="outline"
145
- size="xs"
146
- icon="i-lucide-undo-2"
147
- :label="t('spreadsheet.steps.review.restore')"
148
- :disabled="!review.canRestoreSelection.value"
149
- @click="review.restoreSelectedRows"
150
- />
151
- </div>
152
- </div>
153
-
154
- <div class="relative min-h-0 h-full overflow-hidden border-t border-default/70">
155
- <UTable
156
- :data="review.visibleRows.value"
157
- :columns="review.reviewTableColumns.value"
158
- :row-selection="review.rowSelection.value"
159
- :get-row-id="(row) => String(row.index)"
160
- sticky="header"
161
- class="h-full min-h-0"
162
- :on-select="(_event, row) => review.inspectRow(row.original.index)"
163
- :meta="{
164
- class: {
165
- tr: (row) => review.getRowToneClass(row.original)
166
- }
167
- }"
168
- :ui="{
169
- root: 'h-full overflow-auto',
170
- base: 'min-w-max',
171
- tr: 'cursor-pointer border-b border-default/40 text-[12px] transition-colors',
172
- td: 'px-3 py-2 align-middle',
173
- th: 'bg-elevated/45 px-3 py-2 text-[10px] uppercase tracking-[0.16em] text-muted'
174
- }"
175
- :virtualize="{ enabled: tableHasRows, overscan: 10, estimateSize: () => 41 }"
176
- />
177
-
178
- <div
179
- v-if="!tableHasRows"
180
- class="pointer-events-none absolute inset-x-0 bottom-0 z-10 flex items-center justify-center"
181
- style="top: 2.625rem"
182
- >
183
- <TableEmptyState min-height="20rem" />
184
- </div>
185
- </div>
186
- </div>
187
-
188
- <SpreadsheetReviewStats :items="review.stats.value" :limit-text="summaryLimitText" />
189
- </div>
190
- </div>
191
- </template>
@@ -1,7 +0,0 @@
1
- import type { SpreadsheetComponentApi } from '../types.js';
2
- type __VLS_Props = {
3
- spreadsheet: SpreadsheetComponentApi;
4
- };
5
- declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
6
- declare const _default: typeof __VLS_export;
7
- export default _default;
@@ -1,7 +0,0 @@
1
- import type { SpreadsheetComponentApi } from '../types.js';
2
- type __VLS_Props = {
3
- spreadsheet: SpreadsheetComponentApi;
4
- };
5
- declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
6
- declare const _default: typeof __VLS_export;
7
- export default _default;
@@ -1,62 +0,0 @@
1
- <script setup>
2
- import UAlert from "@nuxt/ui/components/Alert.vue";
3
- import { computed } from "vue";
4
- import { useUiToolsLocale } from "#ui-tools/i18n";
5
- import SpreadsheetStructurePreviewTable from "./structure/spreadsheet-structure-preview-table.vue";
6
- import SpreadsheetStructureSheetList from "./structure/spreadsheet-structure-sheet-list.vue";
7
- const props = defineProps({
8
- spreadsheet: { type: Object, required: true }
9
- });
10
- const { t } = useUiToolsLocale();
11
- const activeSheet = computed(() => props.spreadsheet.activeSheet.value);
12
- const sheetItems = computed(
13
- () => (props.spreadsheet.workbook.value?.sheets ?? []).map((sheet) => ({
14
- columnCount: Math.max(...sheet.rows.map((row) => row.length), 0),
15
- label: sheet.name,
16
- rowCount: Math.max(sheet.rows.length - 1, 0)
17
- }))
18
- );
19
- const previewRows = computed(
20
- () => (activeSheet.value?.rows ?? []).map((row, index) => ({
21
- absoluteIndex: index,
22
- cells: row
23
- }))
24
- );
25
- const previewColumnCount = computed(
26
- () => Math.max(
27
- ...previewRows.value.map((row) => row.cells.length),
28
- props.spreadsheet.headers.value.length,
29
- 0
30
- )
31
- );
32
- </script>
33
-
34
- <template>
35
- <div class="grid h-full min-h-0 gap-6">
36
- <UAlert
37
- v-if="!spreadsheet.workbook.value"
38
- color="warning"
39
- variant="soft"
40
- icon="i-lucide-triangle-alert"
41
- :title="t('spreadsheet.steps.structure.loadWorkbookFirstTitle')"
42
- :description="t('spreadsheet.steps.structure.loadWorkbookFirstDescription')"
43
- />
44
-
45
- <template v-else>
46
- <div class="grid min-h-0 gap-6 lg:grid-cols-[240px_minmax(0,1fr)]">
47
- <SpreadsheetStructureSheetList
48
- :items="sheetItems"
49
- :selected-sheet-name="spreadsheet.selection.value.sheetName"
50
- @select="spreadsheet.setSheetName"
51
- />
52
-
53
- <SpreadsheetStructurePreviewTable
54
- :rows="previewRows"
55
- :column-count="previewColumnCount"
56
- :selected-header-row-index="spreadsheet.selection.value.headerRowIndex"
57
- @select-header="spreadsheet.setHeaderRowIndex"
58
- />
59
- </div>
60
- </template>
61
- </div>
62
- </template>
@@ -1,7 +0,0 @@
1
- import type { SpreadsheetComponentApi } from '../types.js';
2
- type __VLS_Props = {
3
- spreadsheet: SpreadsheetComponentApi;
4
- };
5
- declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
6
- declare const _default: typeof __VLS_export;
7
- export default _default;