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.
- package/README.md +11 -5
- package/dist/module.json +1 -1
- package/dist/module.mjs +46 -0
- package/dist/runtime/dashboard/components/dashboard-stat.d.vue.ts +1 -1
- package/dist/runtime/dashboard/components/dashboard-stat.vue.d.ts +1 -1
- package/dist/runtime/file-preview/components/shell/file-preview-stage.d.vue.ts +2 -2
- package/dist/runtime/file-preview/components/shell/file-preview-stage.vue.d.ts +2 -2
- package/dist/runtime/form/fields/array-collapse/component.vue +2 -1
- package/dist/runtime/form/fields/array-list/component.vue +72 -63
- package/dist/runtime/form/fields/array-list/use-array-items.d.ts +1 -0
- package/dist/runtime/form/fields/array-list/use-array-items.js +4 -0
- package/dist/runtime/form/fields/array-table/component.vue +2 -1
- package/dist/runtime/form/types/api.d.ts +10 -2
- package/dist/runtime/i18n/locales/en.js +252 -130
- package/dist/runtime/i18n/locales/fr.js +252 -130
- package/dist/runtime/i18n/types.d.ts +242 -119
- package/dist/runtime/shared/types/query.d.ts +14 -4
- package/dist/runtime/shared/types/remote-options.d.ts +11 -0
- package/dist/runtime/shared/utils/define-remote-options.js +6 -0
- package/dist/runtime/shared/utils/file.d.ts +1 -1
- package/dist/runtime/spreadsheet/components/{steps/review/spreadsheet-review-overflow-alert.d.vue.ts → internal/spreadsheet-import-cell-editor.d.vue.ts} +8 -5
- package/dist/runtime/spreadsheet/components/internal/spreadsheet-import-cell-editor.vue +73 -0
- package/dist/runtime/spreadsheet/components/{steps/review/spreadsheet-review-overflow-alert.vue.d.ts → internal/spreadsheet-import-cell-editor.vue.d.ts} +8 -5
- package/dist/runtime/spreadsheet/components/internal/spreadsheet-import-column-row.d.vue.ts +17 -0
- package/dist/runtime/spreadsheet/components/internal/spreadsheet-import-column-row.vue +98 -0
- package/dist/runtime/spreadsheet/components/internal/spreadsheet-import-column-row.vue.d.ts +17 -0
- package/dist/runtime/spreadsheet/components/internal/spreadsheet-import-heading.d.vue.ts +17 -0
- package/dist/runtime/spreadsheet/components/internal/spreadsheet-import-heading.vue +20 -0
- package/dist/runtime/spreadsheet/components/internal/spreadsheet-import-heading.vue.d.ts +17 -0
- package/dist/runtime/spreadsheet/components/internal/spreadsheet-import-status-badge.d.vue.ts +10 -0
- package/dist/runtime/spreadsheet/components/internal/spreadsheet-import-status-badge.vue +34 -0
- package/dist/runtime/spreadsheet/components/internal/spreadsheet-import-status-badge.vue.d.ts +10 -0
- package/dist/runtime/spreadsheet/components/internal/spreadsheet-import-value-row.d.vue.ts +13 -0
- package/dist/runtime/spreadsheet/components/internal/spreadsheet-import-value-row.vue +113 -0
- package/dist/runtime/spreadsheet/components/internal/spreadsheet-import-value-row.vue.d.ts +13 -0
- package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-column-mapping.d.vue.ts +35 -0
- package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-column-mapping.vue +154 -0
- package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-column-mapping.vue.d.ts +35 -0
- package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-dropzone.d.vue.ts +23 -0
- package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-dropzone.vue +83 -0
- package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-dropzone.vue.d.ts +23 -0
- package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-expected-columns.d.vue.ts +19 -0
- package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-expected-columns.vue +45 -0
- package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-expected-columns.vue.d.ts +19 -0
- package/dist/runtime/spreadsheet/components/{shared/spreadsheet-object-preview-table.d.vue.ts → parts/spreadsheet-import-export-button.d.vue.ts} +3 -2
- package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-export-button.vue +34 -0
- package/dist/runtime/spreadsheet/components/{layout/spreadsheet-import-file-bar.vue.d.ts → parts/spreadsheet-import-export-button.vue.d.ts} +3 -4
- package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-file-card.d.vue.ts +17 -0
- package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-file-card.vue +49 -0
- package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-file-card.vue.d.ts +17 -0
- package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-progress.d.vue.ts +18 -0
- package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-progress.vue +101 -0
- package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-progress.vue.d.ts +18 -0
- package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-row-inspector.d.vue.ts +22 -0
- package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-row-inspector.vue +276 -0
- package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-row-inspector.vue.d.ts +22 -0
- package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-source-settings.d.vue.ts +11 -0
- package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-source-settings.vue +164 -0
- package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-source-settings.vue.d.ts +11 -0
- package/dist/runtime/spreadsheet/components/{shared/spreadsheet-value-preview.d.vue.ts → parts/spreadsheet-import-stat.d.vue.ts} +7 -4
- package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-stat.vue +30 -0
- package/dist/runtime/spreadsheet/components/{shared/spreadsheet-value-preview.vue.d.ts → parts/spreadsheet-import-stat.vue.d.ts} +7 -4
- package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-stats.d.vue.ts +26 -0
- package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-stats.vue +55 -0
- package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-stats.vue.d.ts +26 -0
- package/dist/runtime/spreadsheet/components/{shared/spreadsheet-object-preview-table.vue.d.ts → parts/spreadsheet-import-submit-button.d.vue.ts} +3 -2
- package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-submit-button.vue +27 -0
- package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-submit-button.vue.d.ts +8 -0
- package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-summary.d.vue.ts +16 -0
- package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-summary.vue +51 -0
- package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-summary.vue.d.ts +16 -0
- package/dist/runtime/spreadsheet/components/{layout/spreadsheet-import-file-bar.d.vue.ts → parts/spreadsheet-import-table-toolbar.d.vue.ts} +2 -4
- package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-table-toolbar.vue +217 -0
- package/dist/runtime/spreadsheet/components/{shared/spreadsheet-raw-preview-table.d.vue.ts → parts/spreadsheet-import-table-toolbar.vue.d.ts} +2 -2
- package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-table.d.vue.ts +33 -0
- package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-table.vue +302 -0
- package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-table.vue.d.ts +33 -0
- package/dist/runtime/spreadsheet/components/{layout/spreadsheet-import-sidebar.d.vue.ts → parts/spreadsheet-import-template-button.d.vue.ts} +5 -4
- package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-template-button.vue +31 -0
- package/dist/runtime/spreadsheet/components/{layout/spreadsheet-import-sidebar.vue.d.ts → parts/spreadsheet-import-template-button.vue.d.ts} +5 -4
- package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-value-mapping.d.vue.ts +27 -0
- package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-value-mapping.vue +162 -0
- package/dist/runtime/spreadsheet/components/parts/spreadsheet-import-value-mapping.vue.d.ts +27 -0
- package/dist/runtime/spreadsheet/components/spreadsheet-import-root.d.vue.ts +24 -0
- package/dist/runtime/spreadsheet/components/spreadsheet-import-root.vue +23 -0
- package/dist/runtime/spreadsheet/components/spreadsheet-import-root.vue.d.ts +24 -0
- package/dist/runtime/spreadsheet/components/spreadsheet-import.d.vue.ts +21 -6
- package/dist/runtime/spreadsheet/components/spreadsheet-import.vue +46 -262
- package/dist/runtime/spreadsheet/components/spreadsheet-import.vue.d.ts +21 -6
- package/dist/runtime/spreadsheet/components/{layout/spreadsheet-import-header.d.vue.ts → steps/spreadsheet-import-step-nav.d.vue.ts} +6 -2
- package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-step-nav.vue +116 -0
- package/dist/runtime/spreadsheet/components/{layout/spreadsheet-import-header.vue.d.ts → steps/spreadsheet-import-step-nav.vue.d.ts} +6 -2
- package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-step.d.vue.ts +26 -0
- package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-step.vue +106 -0
- package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-step.vue.d.ts +26 -0
- package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-stepper.d.vue.ts +15 -0
- package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-stepper.vue +131 -0
- package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-stepper.vue.d.ts +15 -0
- package/dist/runtime/spreadsheet/composables/index.d.ts +2 -0
- package/dist/runtime/spreadsheet/composables/index.js +2 -0
- package/dist/runtime/spreadsheet/composables/use-spreadsheet-answers.d.ts +8 -0
- package/dist/runtime/spreadsheet/composables/use-spreadsheet-answers.js +19 -0
- package/dist/runtime/spreadsheet/composables/use-spreadsheet-columns.d.ts +23 -0
- package/dist/runtime/spreadsheet/composables/use-spreadsheet-columns.js +75 -0
- package/dist/runtime/spreadsheet/composables/use-spreadsheet-context.d.ts +8 -45
- package/dist/runtime/spreadsheet/composables/use-spreadsheet-context.js +28 -32
- package/dist/runtime/spreadsheet/composables/use-spreadsheet-edits.d.ts +11 -0
- package/dist/runtime/spreadsheet/composables/use-spreadsheet-edits.js +25 -0
- package/dist/runtime/spreadsheet/composables/use-spreadsheet-fields.d.ts +16 -0
- package/dist/runtime/spreadsheet/composables/use-spreadsheet-fields.js +20 -0
- package/dist/runtime/spreadsheet/composables/use-spreadsheet-file.d.ts +14 -0
- package/dist/runtime/spreadsheet/composables/use-spreadsheet-file.js +44 -0
- package/dist/runtime/spreadsheet/composables/use-spreadsheet-import-context.d.ts +12 -0
- package/dist/runtime/spreadsheet/composables/use-spreadsheet-import-context.js +22 -0
- package/dist/runtime/spreadsheet/composables/use-spreadsheet-import.d.ts +18 -7
- package/dist/runtime/spreadsheet/composables/use-spreadsheet-import.js +340 -109
- package/dist/runtime/spreadsheet/composables/use-spreadsheet-layout.d.ts +36 -0
- package/dist/runtime/spreadsheet/composables/use-spreadsheet-layout.js +95 -0
- package/dist/runtime/spreadsheet/composables/use-spreadsheet-options.d.ts +24 -0
- package/dist/runtime/spreadsheet/composables/use-spreadsheet-options.js +159 -0
- package/dist/runtime/spreadsheet/composables/use-spreadsheet-queries.d.ts +14 -0
- package/dist/runtime/spreadsheet/composables/use-spreadsheet-queries.js +11 -0
- package/dist/runtime/spreadsheet/composables/use-spreadsheet-review.d.ts +37 -169
- package/dist/runtime/spreadsheet/composables/use-spreadsheet-review.js +148 -408
- package/dist/runtime/spreadsheet/composables/use-spreadsheet-rows.d.ts +48 -26
- package/dist/runtime/spreadsheet/composables/use-spreadsheet-rows.js +334 -21
- package/dist/runtime/spreadsheet/composables/use-spreadsheet-steps.d.ts +33 -0
- package/dist/runtime/spreadsheet/composables/use-spreadsheet-steps.js +126 -0
- package/dist/runtime/spreadsheet/composables/use-spreadsheet-submit.d.ts +37 -0
- package/dist/runtime/spreadsheet/composables/use-spreadsheet-submit.js +136 -0
- package/dist/runtime/spreadsheet/composables/use-spreadsheet-values.d.ts +27 -0
- package/dist/runtime/spreadsheet/composables/use-spreadsheet-values.js +121 -0
- package/dist/runtime/spreadsheet/index.d.ts +0 -1
- package/dist/runtime/spreadsheet/index.js +0 -1
- package/dist/runtime/spreadsheet/schema/builder.d.ts +8 -0
- package/dist/runtime/spreadsheet/schema/builder.js +31 -0
- package/dist/runtime/spreadsheet/schema/index.d.ts +24 -32
- package/dist/runtime/spreadsheet/schema/index.js +4 -21
- package/dist/runtime/spreadsheet/types/columns.d.ts +252 -273
- package/dist/runtime/spreadsheet/types/fields.d.ts +64 -0
- package/dist/runtime/spreadsheet/types/importer.d.ts +308 -0
- package/dist/runtime/spreadsheet/types/index.d.ts +6 -10
- package/dist/runtime/spreadsheet/types/options.d.ts +47 -9
- package/dist/runtime/spreadsheet/types/rows.d.ts +57 -48
- package/dist/runtime/spreadsheet/types/schema.d.ts +162 -76
- package/dist/runtime/spreadsheet/types/shared.d.ts +19 -21
- package/dist/runtime/spreadsheet/types/source.d.ts +39 -15
- package/dist/runtime/spreadsheet/types/steps.d.ts +76 -0
- package/dist/runtime/spreadsheet/types/validation.d.ts +49 -69
- package/dist/runtime/spreadsheet/types/values.d.ts +77 -0
- package/dist/runtime/spreadsheet/utils/download.d.ts +2 -0
- package/dist/runtime/spreadsheet/utils/download.js +8 -0
- package/dist/runtime/spreadsheet/utils/export.d.ts +26 -0
- package/dist/runtime/spreadsheet/utils/export.js +50 -0
- package/dist/runtime/spreadsheet/utils/fields.d.ts +26 -0
- package/dist/runtime/spreadsheet/utils/fields.js +169 -0
- package/dist/runtime/spreadsheet/utils/guards.d.ts +18 -0
- package/dist/runtime/spreadsheet/utils/guards.js +27 -0
- package/dist/runtime/spreadsheet/utils/headers.d.ts +15 -0
- package/dist/runtime/spreadsheet/utils/headers.js +36 -0
- package/dist/runtime/spreadsheet/utils/identity.d.ts +24 -0
- package/dist/runtime/spreadsheet/utils/identity.js +57 -0
- package/dist/runtime/spreadsheet/utils/index.d.ts +15 -6
- package/dist/runtime/spreadsheet/utils/index.js +15 -6
- package/dist/runtime/spreadsheet/utils/layout.d.ts +12 -0
- package/dist/runtime/spreadsheet/utils/layout.js +37 -0
- package/dist/runtime/spreadsheet/utils/options.d.ts +31 -10
- package/dist/runtime/spreadsheet/utils/options.js +58 -30
- package/dist/runtime/spreadsheet/utils/parse.d.ts +6 -0
- package/dist/runtime/spreadsheet/utils/parse.js +147 -0
- package/dist/runtime/spreadsheet/utils/paths.d.ts +4 -0
- package/dist/runtime/spreadsheet/utils/paths.js +29 -0
- package/dist/runtime/spreadsheet/utils/rows.d.ts +69 -0
- package/dist/runtime/spreadsheet/utils/rows.js +168 -0
- package/dist/runtime/spreadsheet/utils/rules.d.ts +4 -0
- package/dist/runtime/spreadsheet/utils/rules.js +95 -0
- package/dist/runtime/spreadsheet/utils/suggestions.d.ts +20 -0
- package/dist/runtime/spreadsheet/utils/suggestions.js +43 -0
- package/dist/runtime/spreadsheet/utils/text.d.ts +9 -0
- package/dist/runtime/spreadsheet/utils/text.js +11 -0
- package/dist/runtime/spreadsheet/utils/workbook.d.ts +13 -0
- package/dist/runtime/spreadsheet/utils/workbook.js +121 -0
- package/dist/runtime/table/components/filters/tags/boolean-filter-tag.d.vue.ts +2 -2
- package/dist/runtime/table/components/filters/tags/boolean-filter-tag.vue.d.ts +2 -2
- package/dist/runtime/table/components/filters/tags/date-filter-tag.d.vue.ts +2 -2
- package/dist/runtime/table/components/filters/tags/date-filter-tag.vue.d.ts +2 -2
- package/dist/runtime/table/components/filters/tags/number-filter-tag.d.vue.ts +2 -2
- package/dist/runtime/table/components/filters/tags/number-filter-tag.vue.d.ts +2 -2
- package/dist/runtime/table/components/filters/tags/option-filter-tag.d.vue.ts +2 -2
- package/dist/runtime/table/components/filters/tags/option-filter-tag.vue.d.ts +2 -2
- package/dist/runtime/table/components/filters/tags/text-filter-tag.d.vue.ts +2 -2
- package/dist/runtime/table/components/filters/tags/text-filter-tag.vue.d.ts +2 -2
- package/dist/runtime/table/components/table/table-cell-ellipsis.d.ts +1 -1
- package/dist/runtime/table/composables/use-table-actions.d.ts +1 -1
- package/dist/runtime/table/composables/use-table-actions.js +11 -3
- package/dist/runtime/table/composables/use-table-internals.d.ts +3 -3
- package/dist/runtime/table/types/actions.d.ts +8 -1
- package/dist/runtime/table/utils/data-list-ui.d.ts +1 -1
- package/package.json +18 -3
- package/dist/runtime/spreadsheet/components/layout/spreadsheet-import-file-bar.vue +0 -31
- package/dist/runtime/spreadsheet/components/layout/spreadsheet-import-footer.d.vue.ts +0 -24
- package/dist/runtime/spreadsheet/components/layout/spreadsheet-import-footer.vue +0 -69
- package/dist/runtime/spreadsheet/components/layout/spreadsheet-import-footer.vue.d.ts +0 -24
- package/dist/runtime/spreadsheet/components/layout/spreadsheet-import-header.vue +0 -36
- package/dist/runtime/spreadsheet/components/layout/spreadsheet-import-sidebar.vue +0 -63
- package/dist/runtime/spreadsheet/components/shared/spreadsheet-object-preview-table.vue +0 -67
- package/dist/runtime/spreadsheet/components/shared/spreadsheet-raw-preview-table.vue +0 -41
- package/dist/runtime/spreadsheet/components/shared/spreadsheet-raw-preview-table.vue.d.ts +0 -7
- package/dist/runtime/spreadsheet/components/shared/spreadsheet-summary-stats.d.vue.ts +0 -10
- package/dist/runtime/spreadsheet/components/shared/spreadsheet-summary-stats.vue +0 -25
- package/dist/runtime/spreadsheet/components/shared/spreadsheet-summary-stats.vue.d.ts +0 -10
- package/dist/runtime/spreadsheet/components/shared/spreadsheet-value-preview.vue +0 -201
- package/dist/runtime/spreadsheet/components/steps/matching/spreadsheet-matching-summary.d.vue.ts +0 -11
- package/dist/runtime/spreadsheet/components/steps/matching/spreadsheet-matching-summary.vue +0 -38
- package/dist/runtime/spreadsheet/components/steps/matching/spreadsheet-matching-summary.vue.d.ts +0 -11
- package/dist/runtime/spreadsheet/components/steps/matching/spreadsheet-matching-table.d.vue.ts +0 -45
- package/dist/runtime/spreadsheet/components/steps/matching/spreadsheet-matching-table.vue +0 -219
- package/dist/runtime/spreadsheet/components/steps/matching/spreadsheet-matching-table.vue.d.ts +0 -45
- package/dist/runtime/spreadsheet/components/steps/references/spreadsheet-references-accordion.d.vue.ts +0 -51
- package/dist/runtime/spreadsheet/components/steps/references/spreadsheet-references-accordion.vue +0 -166
- package/dist/runtime/spreadsheet/components/steps/references/spreadsheet-references-accordion.vue.d.ts +0 -51
- package/dist/runtime/spreadsheet/components/steps/references/spreadsheet-references-summary.d.vue.ts +0 -11
- package/dist/runtime/spreadsheet/components/steps/references/spreadsheet-references-summary.vue +0 -26
- package/dist/runtime/spreadsheet/components/steps/references/spreadsheet-references-summary.vue.d.ts +0 -11
- package/dist/runtime/spreadsheet/components/steps/review/spreadsheet-review-inspection.d.vue.ts +0 -41
- package/dist/runtime/spreadsheet/components/steps/review/spreadsheet-review-inspection.vue +0 -392
- package/dist/runtime/spreadsheet/components/steps/review/spreadsheet-review-inspection.vue.d.ts +0 -41
- package/dist/runtime/spreadsheet/components/steps/review/spreadsheet-review-overflow-alert.vue +0 -43
- package/dist/runtime/spreadsheet/components/steps/review/spreadsheet-review-stats.d.vue.ts +0 -15
- package/dist/runtime/spreadsheet/components/steps/review/spreadsheet-review-stats.vue +0 -40
- package/dist/runtime/spreadsheet/components/steps/review/spreadsheet-review-stats.vue.d.ts +0 -15
- package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-matching-step.d.vue.ts +0 -7
- package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-matching-step.vue +0 -137
- package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-matching-step.vue.d.ts +0 -7
- package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-references-step.d.vue.ts +0 -7
- package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-references-step.vue +0 -222
- package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-references-step.vue.d.ts +0 -7
- package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-review-step.d.vue.ts +0 -7
- package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-review-step.vue +0 -191
- package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-review-step.vue.d.ts +0 -7
- package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-structure-step.d.vue.ts +0 -7
- package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-structure-step.vue +0 -62
- package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-structure-step.vue.d.ts +0 -7
- package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-upload-step.d.vue.ts +0 -8
- package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-upload-step.vue +0 -81
- package/dist/runtime/spreadsheet/components/steps/spreadsheet-import-upload-step.vue.d.ts +0 -8
- package/dist/runtime/spreadsheet/components/steps/structure/spreadsheet-structure-preview-table.d.vue.ts +0 -15
- package/dist/runtime/spreadsheet/components/steps/structure/spreadsheet-structure-preview-table.vue +0 -95
- package/dist/runtime/spreadsheet/components/steps/structure/spreadsheet-structure-preview-table.vue.d.ts +0 -15
- package/dist/runtime/spreadsheet/components/steps/structure/spreadsheet-structure-sheet-list.d.vue.ts +0 -15
- package/dist/runtime/spreadsheet/components/steps/structure/spreadsheet-structure-sheet-list.vue +0 -56
- package/dist/runtime/spreadsheet/components/steps/structure/spreadsheet-structure-sheet-list.vue.d.ts +0 -15
- package/dist/runtime/spreadsheet/components/types.d.ts +0 -41
- package/dist/runtime/spreadsheet/composables/use-spreadsheet-column-matching.d.ts +0 -18
- package/dist/runtime/spreadsheet/composables/use-spreadsheet-column-matching.js +0 -62
- package/dist/runtime/spreadsheet/composables/use-spreadsheet-internals.d.ts +0 -629
- package/dist/runtime/spreadsheet/composables/use-spreadsheet-internals.js +0 -68
- package/dist/runtime/spreadsheet/composables/use-spreadsheet-references.d.ts +0 -1
- package/dist/runtime/spreadsheet/composables/use-spreadsheet-references.js +0 -3
- package/dist/runtime/spreadsheet/composables/use-spreadsheet-resolutions.d.ts +0 -40
- package/dist/runtime/spreadsheet/composables/use-spreadsheet-resolutions.js +0 -97
- package/dist/runtime/spreadsheet/composables/use-spreadsheet-row-state.d.ts +0 -24
- package/dist/runtime/spreadsheet/composables/use-spreadsheet-row-state.js +0 -74
- package/dist/runtime/spreadsheet/composables/use-spreadsheet-source.d.ts +0 -27
- package/dist/runtime/spreadsheet/composables/use-spreadsheet-source.js +0 -109
- package/dist/runtime/spreadsheet/composables/use-spreadsheet-view.d.ts +0 -15
- package/dist/runtime/spreadsheet/composables/use-spreadsheet-view.js +0 -109
- package/dist/runtime/spreadsheet/schema/normalize.d.ts +0 -73
- package/dist/runtime/spreadsheet/schema/normalize.js +0 -136
- package/dist/runtime/spreadsheet/types/context.d.ts +0 -9
- package/dist/runtime/spreadsheet/types/import.d.ts +0 -55
- package/dist/runtime/spreadsheet/types/inference.d.ts +0 -83
- package/dist/runtime/spreadsheet/types/normalized.d.ts +0 -50
- package/dist/runtime/spreadsheet/types/normalized.js +0 -0
- package/dist/runtime/spreadsheet/types/pipeline.d.ts +0 -7
- package/dist/runtime/spreadsheet/types/pipeline.js +0 -0
- package/dist/runtime/spreadsheet/types/reference-session.d.ts +0 -43
- package/dist/runtime/spreadsheet/types/reference-session.js +0 -0
- package/dist/runtime/spreadsheet/types/references.d.ts +0 -32
- package/dist/runtime/spreadsheet/types/references.js +0 -0
- package/dist/runtime/spreadsheet/types/resolution.d.ts +0 -43
- package/dist/runtime/spreadsheet/types/resolution.js +0 -0
- package/dist/runtime/spreadsheet/utils/builders/core.d.ts +0 -17
- package/dist/runtime/spreadsheet/utils/builders/core.js +0 -262
- package/dist/runtime/spreadsheet/utils/builders/index.d.ts +0 -1
- package/dist/runtime/spreadsheet/utils/builders/index.js +0 -1
- package/dist/runtime/spreadsheet/utils/context.d.ts +0 -20
- package/dist/runtime/spreadsheet/utils/context.js +0 -25
- package/dist/runtime/spreadsheet/utils/display.d.ts +0 -6
- package/dist/runtime/spreadsheet/utils/display.js +0 -26
- package/dist/runtime/spreadsheet/utils/object.d.ts +0 -9
- package/dist/runtime/spreadsheet/utils/object.js +0 -78
- package/dist/runtime/spreadsheet/utils/references/candidates.d.ts +0 -6
- package/dist/runtime/spreadsheet/utils/references/candidates.js +0 -28
- package/dist/runtime/spreadsheet/utils/references/core.d.ts +0 -3
- package/dist/runtime/spreadsheet/utils/references/core.js +0 -3
- package/dist/runtime/spreadsheet/utils/references/guards.d.ts +0 -4
- package/dist/runtime/spreadsheet/utils/references/guards.js +0 -28
- package/dist/runtime/spreadsheet/utils/references/index.d.ts +0 -1
- package/dist/runtime/spreadsheet/utils/references/index.js +0 -1
- package/dist/runtime/spreadsheet/utils/references/resolutions.d.ts +0 -17
- package/dist/runtime/spreadsheet/utils/references/resolutions.js +0 -172
- package/dist/runtime/spreadsheet/utils/references/shared.d.ts +0 -3
- package/dist/runtime/spreadsheet/utils/references/shared.js +0 -26
- package/dist/runtime/spreadsheet/utils/references/sources.d.ts +0 -9
- package/dist/runtime/spreadsheet/utils/references/sources.js +0 -38
- package/dist/runtime/spreadsheet/utils/rows/core.d.ts +0 -4
- package/dist/runtime/spreadsheet/utils/rows/core.js +0 -4
- package/dist/runtime/spreadsheet/utils/rows/headers.d.ts +0 -2
- package/dist/runtime/spreadsheet/utils/rows/headers.js +0 -9
- package/dist/runtime/spreadsheet/utils/rows/index.d.ts +0 -1
- package/dist/runtime/spreadsheet/utils/rows/index.js +0 -1
- package/dist/runtime/spreadsheet/utils/rows/matching.d.ts +0 -5
- package/dist/runtime/spreadsheet/utils/rows/matching.js +0 -209
- package/dist/runtime/spreadsheet/utils/rows/parsing.d.ts +0 -7
- package/dist/runtime/spreadsheet/utils/rows/parsing.js +0 -209
- package/dist/runtime/spreadsheet/utils/rows/shared.d.ts +0 -17
- package/dist/runtime/spreadsheet/utils/rows/shared.js +0 -309
- package/dist/runtime/spreadsheet/utils/rows/summary.d.ts +0 -2
- package/dist/runtime/spreadsheet/utils/rows/summary.js +0 -10
- package/dist/runtime/spreadsheet/utils/source/core.d.ts +0 -9
- package/dist/runtime/spreadsheet/utils/source/core.js +0 -65
- package/dist/runtime/spreadsheet/utils/source/index.d.ts +0 -1
- package/dist/runtime/spreadsheet/utils/source/index.js +0 -1
- package/dist/runtime/spreadsheet/utils/validation/core.d.ts +0 -16
- package/dist/runtime/spreadsheet/utils/validation/core.js +0 -211
- package/dist/runtime/spreadsheet/utils/validation/index.d.ts +0 -1
- package/dist/runtime/spreadsheet/utils/validation/index.js +0 -1
- /package/dist/runtime/spreadsheet/{components/types.js → types/fields.js} +0 -0
- /package/dist/runtime/spreadsheet/types/{context.js → importer.js} +0 -0
- /package/dist/runtime/spreadsheet/types/{import.js → steps.js} +0 -0
- /package/dist/runtime/spreadsheet/types/{inference.js → values.js} +0 -0
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { computed, shallowRef, watch } from "vue";
|
|
2
|
+
import { createSpreadsheetHeaderCells, detectSpreadsheetLayout } from "../utils/index.js";
|
|
3
|
+
export function useSpreadsheetLayout(params) {
|
|
4
|
+
const selection = shallowRef({
|
|
5
|
+
headerRow: 0,
|
|
6
|
+
sheet: null
|
|
7
|
+
});
|
|
8
|
+
const detection = computed(() => {
|
|
9
|
+
const workbook = params.file.workbook.value;
|
|
10
|
+
if (!workbook || !params.fields.columnFields.value.length) return null;
|
|
11
|
+
return detectSpreadsheetLayout({
|
|
12
|
+
ctx: params.context.ctx.value,
|
|
13
|
+
fields: params.fields.columnFields.value,
|
|
14
|
+
workbook
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
function detectedSelection() {
|
|
18
|
+
const workbook = params.file.workbook.value;
|
|
19
|
+
const definition = params.schema.value.file ?? {};
|
|
20
|
+
const best = detection.value?.best;
|
|
21
|
+
const sheetName = definition.sheet && definition.sheet !== "auto" ? definition.sheet : best?.sheet ?? workbook?.sheets[0]?.name ?? null;
|
|
22
|
+
const sheet2 = workbook?.sheets.find((entry) => entry.name === sheetName);
|
|
23
|
+
const layout = detection.value?.sheets.find((entry) => entry.name === sheetName);
|
|
24
|
+
const headerRow = typeof definition.headerRow === "number" ? Math.max(sheet2?.rowNumbers.indexOf(definition.headerRow) ?? -1, 0) : layout?.headerRow ?? 0;
|
|
25
|
+
return { headerRow, sheet: sheetName };
|
|
26
|
+
}
|
|
27
|
+
function redetect() {
|
|
28
|
+
selection.value = detectedSelection();
|
|
29
|
+
}
|
|
30
|
+
watch(
|
|
31
|
+
() => [params.file.workbook.value, detection.value !== null],
|
|
32
|
+
([workbook], previous) => {
|
|
33
|
+
if (!workbook) {
|
|
34
|
+
selection.value = { headerRow: 0, sheet: null };
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
if (previous?.[0] !== workbook || !previous[1]) redetect();
|
|
38
|
+
},
|
|
39
|
+
{ immediate: true }
|
|
40
|
+
);
|
|
41
|
+
const sheet = computed(
|
|
42
|
+
() => params.file.workbook.value?.sheets.find((entry) => entry.name === selection.value.sheet) ?? null
|
|
43
|
+
);
|
|
44
|
+
const headers = computed(
|
|
45
|
+
() => createSpreadsheetHeaderCells(sheet.value?.rows[selection.value.headerRow] ?? [])
|
|
46
|
+
);
|
|
47
|
+
const dataRows = computed(() => sheet.value?.rows.slice(selection.value.headerRow + 1) ?? []);
|
|
48
|
+
const dataRaws = computed(() => sheet.value?.raws.slice(selection.value.headerRow + 1) ?? []);
|
|
49
|
+
const dataRowNumbers = computed(
|
|
50
|
+
() => sheet.value?.rowNumbers.slice(selection.value.headerRow + 1) ?? []
|
|
51
|
+
);
|
|
52
|
+
const candidates = computed(
|
|
53
|
+
() => detection.value?.sheets.find((entry) => entry.name === selection.value.sheet)?.candidates ?? []
|
|
54
|
+
);
|
|
55
|
+
const detected = computed(() => {
|
|
56
|
+
const expected = detectedSelection();
|
|
57
|
+
return Boolean(detection.value?.best) && expected.sheet === selection.value.sheet && expected.headerRow === selection.value.headerRow;
|
|
58
|
+
});
|
|
59
|
+
const preview = computed(() => {
|
|
60
|
+
const rows = sheet.value?.rows ?? [];
|
|
61
|
+
const numbers = sheet.value?.rowNumbers ?? [];
|
|
62
|
+
const header = selection.value.headerRow;
|
|
63
|
+
const start = Math.max(0, header - 2);
|
|
64
|
+
return rows.slice(start, header + 4).map((cells, offset) => {
|
|
65
|
+
const index = start + offset;
|
|
66
|
+
return {
|
|
67
|
+
cells,
|
|
68
|
+
kind: index < header ? "title" : index === header ? "header" : "data",
|
|
69
|
+
rowNumber: numbers[index] ?? index + 1
|
|
70
|
+
};
|
|
71
|
+
});
|
|
72
|
+
});
|
|
73
|
+
function setSheet(name) {
|
|
74
|
+
const layout = detection.value?.sheets.find((entry) => entry.name === name);
|
|
75
|
+
selection.value = { headerRow: layout?.headerRow ?? 0, sheet: name };
|
|
76
|
+
}
|
|
77
|
+
function setHeaderRow(index) {
|
|
78
|
+
selection.value = { ...selection.value, headerRow: index };
|
|
79
|
+
}
|
|
80
|
+
return {
|
|
81
|
+
candidates,
|
|
82
|
+
dataRaws,
|
|
83
|
+
dataRowNumbers,
|
|
84
|
+
dataRows,
|
|
85
|
+
detected,
|
|
86
|
+
detection,
|
|
87
|
+
headers,
|
|
88
|
+
preview,
|
|
89
|
+
redetect,
|
|
90
|
+
selection,
|
|
91
|
+
setHeaderRow,
|
|
92
|
+
setSheet,
|
|
93
|
+
sheet
|
|
94
|
+
};
|
|
95
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { SpreadsheetField, SpreadsheetFieldOptions, SpreadsheetRecord, SpreadsheetResolvedOption } from '../types/index.js';
|
|
2
|
+
import type { SpreadsheetRowOptions } from '../utils/index.js';
|
|
3
|
+
import type { useSpreadsheetColumns } from './use-spreadsheet-columns.js';
|
|
4
|
+
import type { useSpreadsheetContext } from './use-spreadsheet-context.js';
|
|
5
|
+
import type { useSpreadsheetEdits } from './use-spreadsheet-edits.js';
|
|
6
|
+
import type { useSpreadsheetFields } from './use-spreadsheet-fields.js';
|
|
7
|
+
import type { useSpreadsheetLayout } from './use-spreadsheet-layout.js';
|
|
8
|
+
export interface UseSpreadsheetOptionsParams {
|
|
9
|
+
fields: ReturnType<typeof useSpreadsheetFields>;
|
|
10
|
+
columns: ReturnType<typeof useSpreadsheetColumns>;
|
|
11
|
+
layout: ReturnType<typeof useSpreadsheetLayout>;
|
|
12
|
+
edits: ReturnType<typeof useSpreadsheetEdits>;
|
|
13
|
+
context: ReturnType<typeof useSpreadsheetContext>;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Options of every select field: lists as they are, queries once loaded, and remote loaders
|
|
17
|
+
* resolved for the values the file holds, exactly.
|
|
18
|
+
*/
|
|
19
|
+
export declare function useSpreadsheetOptions(params: UseSpreadsheetOptionsParams): {
|
|
20
|
+
loading: import("vue").ComputedRef<boolean>;
|
|
21
|
+
options: import("vue").ComputedRef<Map<string, SpreadsheetFieldOptions>>;
|
|
22
|
+
optionsOf: (field: SpreadsheetField, row: SpreadsheetRecord) => SpreadsheetRowOptions;
|
|
23
|
+
search: (path: string, text: string) => Promise<readonly SpreadsheetResolvedOption[]>;
|
|
24
|
+
};
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import { useQueryClient } from "@tanstack/vue-query";
|
|
2
|
+
import { computed } from "vue";
|
|
3
|
+
import { REMOTE_OPTIONS_FIRST_PAGE } from "#ui-tools/shared/utils/remote-options";
|
|
4
|
+
import {
|
|
5
|
+
createSpreadsheetFieldOptions,
|
|
6
|
+
hashSpreadsheetText,
|
|
7
|
+
indexSpreadsheetOptions,
|
|
8
|
+
normalizeSpreadsheetText,
|
|
9
|
+
resolveSpreadsheetOptionsSource,
|
|
10
|
+
splitSpreadsheetItems,
|
|
11
|
+
toSpreadsheetOption,
|
|
12
|
+
toSpreadsheetText
|
|
13
|
+
} from "../utils/index.js";
|
|
14
|
+
import { useSpreadsheetQueries } from "./use-spreadsheet-queries.js";
|
|
15
|
+
const MAX_SEARCHED_VALUES = 100;
|
|
16
|
+
function isOptionList(value) {
|
|
17
|
+
return Array.isArray(value);
|
|
18
|
+
}
|
|
19
|
+
export function useSpreadsheetOptions(params) {
|
|
20
|
+
const queryClient = useQueryClient();
|
|
21
|
+
const sources = computed(
|
|
22
|
+
() => params.fields.fields.value.flatMap(
|
|
23
|
+
(field) => field.select && !field.select.rowOptions ? [
|
|
24
|
+
{
|
|
25
|
+
field,
|
|
26
|
+
source: resolveSpreadsheetOptionsSource(
|
|
27
|
+
field.select.source,
|
|
28
|
+
params.context.ctx.value
|
|
29
|
+
)
|
|
30
|
+
}
|
|
31
|
+
] : []
|
|
32
|
+
)
|
|
33
|
+
);
|
|
34
|
+
function distinctTexts(field) {
|
|
35
|
+
const from = field.select?.from ?? null;
|
|
36
|
+
const column = params.columns.matches.value.get(from ?? field.path);
|
|
37
|
+
const values = /* @__PURE__ */ new Set();
|
|
38
|
+
for (const [index, row] of params.layout.dataRows.value.entries()) {
|
|
39
|
+
const edits = params.edits.edits.value.get(index);
|
|
40
|
+
const text = edits?.[field.path] ?? (from ? edits?.[from] : void 0) ?? (column === void 0 ? "" : toSpreadsheetText(row[column]));
|
|
41
|
+
for (const item of field.separator ? splitSpreadsheetItems(text, field.separator) : [text])
|
|
42
|
+
if (item) values.add(item);
|
|
43
|
+
}
|
|
44
|
+
return [...values];
|
|
45
|
+
}
|
|
46
|
+
const plan = computed(
|
|
47
|
+
() => sources.value.map((entry) => {
|
|
48
|
+
const { source, field } = entry;
|
|
49
|
+
if (source.kind === "list")
|
|
50
|
+
return { field, kind: "list", queries: [], items: source.items };
|
|
51
|
+
if (source.kind === "query")
|
|
52
|
+
return { field, kind: "query", queries: [source.query], items: [] };
|
|
53
|
+
const texts = distinctTexts(field);
|
|
54
|
+
const resolveLabels = source.loader.resolveLabels;
|
|
55
|
+
const queries = !texts.length ? [] : resolveLabels ? [resolveLabels({ labels: texts })] : texts.slice(0, MAX_SEARCHED_VALUES).map(
|
|
56
|
+
(text) => source.loader.load({
|
|
57
|
+
page: { ...REMOTE_OPTIONS_FIRST_PAGE, size: source.loader.pagination.size },
|
|
58
|
+
search: text
|
|
59
|
+
})
|
|
60
|
+
);
|
|
61
|
+
return { field, kind: "remote", queries, items: [] };
|
|
62
|
+
})
|
|
63
|
+
);
|
|
64
|
+
const results = useSpreadsheetQueries(() => plan.value.flatMap((entry) => entry.queries));
|
|
65
|
+
const options = computed(() => {
|
|
66
|
+
const map = /* @__PURE__ */ new Map();
|
|
67
|
+
let cursor = 0;
|
|
68
|
+
for (const entry of plan.value) {
|
|
69
|
+
if (entry.kind === "list") {
|
|
70
|
+
const list2 = entry.items.map(toSpreadsheetOption);
|
|
71
|
+
map.set(entry.field.path, {
|
|
72
|
+
error: null,
|
|
73
|
+
index: indexSpreadsheetOptions(list2),
|
|
74
|
+
options: list2,
|
|
75
|
+
remote: false,
|
|
76
|
+
status: "ready"
|
|
77
|
+
});
|
|
78
|
+
continue;
|
|
79
|
+
}
|
|
80
|
+
const slice = results.value.slice(cursor, cursor + entry.queries.length);
|
|
81
|
+
cursor += entry.queries.length;
|
|
82
|
+
const pending = slice.some((result) => result.pending);
|
|
83
|
+
const error = slice.find((result) => result.error)?.error ?? null;
|
|
84
|
+
const items = [];
|
|
85
|
+
for (const result of slice) {
|
|
86
|
+
const data = result.data;
|
|
87
|
+
if (isOptionList(data)) items.push(...data);
|
|
88
|
+
else if (data && typeof data === "object" && "options" in data && isOptionList(data.options))
|
|
89
|
+
items.push(...data.options);
|
|
90
|
+
}
|
|
91
|
+
const list = dedupe(items.map(toSpreadsheetOption));
|
|
92
|
+
map.set(entry.field.path, {
|
|
93
|
+
error,
|
|
94
|
+
index: indexSpreadsheetOptions(list),
|
|
95
|
+
options: list,
|
|
96
|
+
remote: entry.kind === "remote",
|
|
97
|
+
status: error ? "error" : pending ? "loading" : "ready"
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
return map;
|
|
101
|
+
});
|
|
102
|
+
const loading = computed(
|
|
103
|
+
() => [...options.value.values()].some((entry) => entry.status === "loading")
|
|
104
|
+
);
|
|
105
|
+
const rowCache = computed(() => {
|
|
106
|
+
void params.fields.fields.value;
|
|
107
|
+
return {
|
|
108
|
+
byList: /* @__PURE__ */ new WeakMap(),
|
|
109
|
+
bySignature: /* @__PURE__ */ new Map()
|
|
110
|
+
};
|
|
111
|
+
});
|
|
112
|
+
function optionsOf(field, row) {
|
|
113
|
+
const rowOptions = field.select?.rowOptions;
|
|
114
|
+
if (!rowOptions) return { options: options.value.get(field.path), scope: null };
|
|
115
|
+
const cache = rowCache.value;
|
|
116
|
+
const items = rowOptions.resolve(row);
|
|
117
|
+
const known = cache.byList.get(items);
|
|
118
|
+
if (known) return known;
|
|
119
|
+
const fieldOptions = createSpreadsheetFieldOptions(items);
|
|
120
|
+
const signature = `${field.path}\0${JSON.stringify(
|
|
121
|
+
fieldOptions.options.map((option) => [String(option.value), option.label, option.aliases])
|
|
122
|
+
)}`;
|
|
123
|
+
const shared = cache.bySignature.get(signature) ?? {
|
|
124
|
+
options: fieldOptions,
|
|
125
|
+
scope: hashSpreadsheetText(signature)
|
|
126
|
+
};
|
|
127
|
+
cache.bySignature.set(signature, shared);
|
|
128
|
+
cache.byList.set(items, shared);
|
|
129
|
+
return shared;
|
|
130
|
+
}
|
|
131
|
+
async function search(path, text) {
|
|
132
|
+
const entry = sources.value.find((candidate) => candidate.field.path === path);
|
|
133
|
+
if (!entry) return [];
|
|
134
|
+
if (entry.source.kind !== "remote") {
|
|
135
|
+
const query = normalizeSpreadsheetText(text);
|
|
136
|
+
return (options.value.get(path)?.options ?? []).filter(
|
|
137
|
+
(option) => normalizeSpreadsheetText(option.label).includes(query)
|
|
138
|
+
);
|
|
139
|
+
}
|
|
140
|
+
const loader = entry.source.loader;
|
|
141
|
+
const page = await queryClient.fetchQuery(
|
|
142
|
+
loader.load({
|
|
143
|
+
page: { ...REMOTE_OPTIONS_FIRST_PAGE, size: loader.pagination.size },
|
|
144
|
+
search: text
|
|
145
|
+
})
|
|
146
|
+
);
|
|
147
|
+
return page.options.map(toSpreadsheetOption);
|
|
148
|
+
}
|
|
149
|
+
return { loading, options, optionsOf, search };
|
|
150
|
+
}
|
|
151
|
+
function dedupe(options) {
|
|
152
|
+
const seen = /* @__PURE__ */ new Set();
|
|
153
|
+
return options.filter((option) => {
|
|
154
|
+
const key = String(option.value);
|
|
155
|
+
if (seen.has(key)) return false;
|
|
156
|
+
seen.add(key);
|
|
157
|
+
return true;
|
|
158
|
+
});
|
|
159
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { QueryFnDefinition } from '#ui-tools/shared/types/query';
|
|
2
|
+
/**
|
|
3
|
+
* Runs a reactive list of TanStack queries and reduces each result to what the import needs.
|
|
4
|
+
* Used for context entries, option lists, remote label lookups, and stored records.
|
|
5
|
+
*/
|
|
6
|
+
export declare function useSpreadsheetQueries(queries: () => readonly QueryFnDefinition<unknown>[]): Readonly<import("vue").Ref<{
|
|
7
|
+
data: unknown;
|
|
8
|
+
error: Error | null;
|
|
9
|
+
pending: boolean;
|
|
10
|
+
}[], {
|
|
11
|
+
data: unknown;
|
|
12
|
+
error: Error | null;
|
|
13
|
+
pending: boolean;
|
|
14
|
+
}[]>>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { useQueries } from "@tanstack/vue-query";
|
|
2
|
+
export function useSpreadsheetQueries(queries) {
|
|
3
|
+
return useQueries({
|
|
4
|
+
combine: (results) => results.map((result) => ({
|
|
5
|
+
data: result.data,
|
|
6
|
+
error: result.error,
|
|
7
|
+
pending: result.isPending
|
|
8
|
+
})),
|
|
9
|
+
queries: () => queries().map((query) => ({ ...query, retry: false }))
|
|
10
|
+
});
|
|
11
|
+
}
|
|
@@ -1,173 +1,41 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import type {
|
|
3
|
-
import {
|
|
4
|
-
import { getSpreadsheetObjectEntries } from '../utils/object.js';
|
|
5
|
-
export type SpreadsheetReviewTab = 'all' | 'valid' | 'invalid' | 'discarded';
|
|
6
|
-
export type SpreadsheetReviewIssueFilter = 'all' | 'blocking' | 'warning';
|
|
7
|
-
interface SpreadsheetReviewRow extends SpreadsheetResolvedReferenceRow<SpreadsheetRecord> {
|
|
8
|
-
rowObject: SpreadsheetRecord;
|
|
9
|
-
}
|
|
1
|
+
import type { SpreadsheetIssueLevel, SpreadsheetIssueType, SpreadsheetRecord, SpreadsheetReviewLevel, SpreadsheetReviewMode, SpreadsheetReviewTab, SpreadsheetRow } from '../types/index.js';
|
|
2
|
+
import type { useSpreadsheetLayout } from './use-spreadsheet-layout.js';
|
|
3
|
+
import type { useSpreadsheetRows } from './use-spreadsheet-rows.js';
|
|
10
4
|
export interface UseSpreadsheetReviewParams {
|
|
11
|
-
|
|
12
|
-
|
|
5
|
+
rows: ReturnType<typeof useSpreadsheetRows>;
|
|
6
|
+
layout: ReturnType<typeof useSpreadsheetLayout>;
|
|
13
7
|
}
|
|
8
|
+
/**
|
|
9
|
+
* What the review shows: tab, filters, search, selection, and the inspected row. Shared by the
|
|
10
|
+
* table, its toolbar, and the row inspector wherever they are placed.
|
|
11
|
+
*/
|
|
14
12
|
export declare function useSpreadsheetReview(params: UseSpreadsheetReviewParams): {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
icon: string;
|
|
44
|
-
label: string;
|
|
45
|
-
} | {
|
|
46
|
-
color: "success";
|
|
47
|
-
icon: string;
|
|
48
|
-
label: string;
|
|
49
|
-
};
|
|
50
|
-
getRowToneClass: (row: {
|
|
51
|
-
index: number;
|
|
52
|
-
issues: readonly SpreadsheetRowIssue[];
|
|
53
|
-
}) => "" | "opacity-45" | "bg-error/5" | "bg-warning/5";
|
|
54
|
-
getSpreadsheetObjectEntries: typeof getSpreadsheetObjectEntries;
|
|
55
|
-
hasOverflow: ComputedRef<boolean>;
|
|
56
|
-
humanizeSpreadsheetKey: typeof humanizeSpreadsheetKey;
|
|
57
|
-
inspectNextIssueRow: () => void;
|
|
58
|
-
inspectPrevIssueRow: () => void;
|
|
59
|
-
inspectRow: (index: number) => void;
|
|
60
|
-
inspectedIssueRowPosition: ComputedRef<number>;
|
|
61
|
-
inspectedRow: ComputedRef<SpreadsheetReviewRow | null>;
|
|
62
|
-
isDiscarded: (index: number) => boolean;
|
|
63
|
-
isManuallyDiscarded: (index: number) => boolean;
|
|
64
|
-
issueFilter: import("vue").Ref<SpreadsheetReviewIssueFilter, SpreadsheetReviewIssueFilter>;
|
|
65
|
-
issueFilterItems: ComputedRef<({
|
|
66
|
-
key: "all";
|
|
67
|
-
label: string;
|
|
68
|
-
} | {
|
|
69
|
-
key: "blocking";
|
|
70
|
-
label: string;
|
|
71
|
-
} | {
|
|
72
|
-
key: "warning";
|
|
73
|
-
label: string;
|
|
74
|
-
})[]>;
|
|
75
|
-
issueRows: ComputedRef<SpreadsheetReviewRow[]>;
|
|
76
|
-
overflowCount: ComputedRef<number>;
|
|
77
|
-
restoreRow: (index: number) => void;
|
|
78
|
-
restoreSelectedRows: () => void;
|
|
79
|
-
reviewTableColumns: ComputedRef<({
|
|
80
|
-
accessorFn: (row: {
|
|
81
|
-
data: SpreadsheetRecord;
|
|
82
|
-
}) => string;
|
|
83
|
-
cell: ({ row }: {
|
|
84
|
-
row: {
|
|
85
|
-
original: {
|
|
86
|
-
data: SpreadsheetRecord;
|
|
87
|
-
};
|
|
88
|
-
};
|
|
89
|
-
}) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
90
|
-
[key: string]: any;
|
|
91
|
-
}>;
|
|
92
|
-
header: string;
|
|
93
|
-
id: string;
|
|
94
|
-
meta: {
|
|
95
|
-
class: {
|
|
96
|
-
td: string;
|
|
97
|
-
th: string;
|
|
98
|
-
};
|
|
99
|
-
};
|
|
100
|
-
} | {
|
|
101
|
-
cell: ({ row }: {
|
|
102
|
-
row: {
|
|
103
|
-
original: {
|
|
104
|
-
index: number;
|
|
105
|
-
};
|
|
106
|
-
};
|
|
107
|
-
}) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
108
|
-
[key: string]: any;
|
|
109
|
-
}>;
|
|
110
|
-
header: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
111
|
-
[key: string]: any;
|
|
112
|
-
}>;
|
|
113
|
-
id: string;
|
|
114
|
-
meta: {
|
|
115
|
-
class: {
|
|
116
|
-
td: string;
|
|
117
|
-
th: string;
|
|
118
|
-
};
|
|
119
|
-
};
|
|
120
|
-
accessorFn?: undefined;
|
|
121
|
-
} | {
|
|
122
|
-
accessorFn: (row: {
|
|
123
|
-
index: number;
|
|
124
|
-
}) => number;
|
|
125
|
-
cell: ({ row, }: {
|
|
126
|
-
row: {
|
|
127
|
-
original: {
|
|
128
|
-
index: number;
|
|
129
|
-
issues: readonly SpreadsheetRowIssue[];
|
|
130
|
-
};
|
|
131
|
-
};
|
|
132
|
-
}) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
|
|
133
|
-
[key: string]: any;
|
|
134
|
-
}>;
|
|
135
|
-
header: string;
|
|
136
|
-
id: string;
|
|
137
|
-
meta: {
|
|
138
|
-
class: {
|
|
139
|
-
td: string;
|
|
140
|
-
th: string;
|
|
141
|
-
};
|
|
142
|
-
};
|
|
143
|
-
})[]>;
|
|
144
|
-
rowSelection: import("vue").Ref<Record<string, boolean>, Record<string, boolean>>;
|
|
145
|
-
selectedRowIndexes: ComputedRef<number[]>;
|
|
146
|
-
setActiveTab: (value: SpreadsheetReviewTab) => void;
|
|
147
|
-
setIssueFilter: (value: SpreadsheetReviewIssueFilter) => void;
|
|
148
|
-
stats: ComputedRef<{
|
|
149
|
-
accentClass: string;
|
|
150
|
-
cardClass: string;
|
|
151
|
-
hint: string;
|
|
152
|
-
key: string;
|
|
153
|
-
label: string;
|
|
154
|
-
value: number;
|
|
155
|
-
valueClass: string;
|
|
156
|
-
}[]>;
|
|
157
|
-
tabItems: ComputedRef<({
|
|
158
|
-
key: "all";
|
|
159
|
-
label: string;
|
|
160
|
-
} | {
|
|
161
|
-
key: "valid";
|
|
162
|
-
label: string;
|
|
163
|
-
} | {
|
|
164
|
-
key: "invalid";
|
|
165
|
-
label: string;
|
|
166
|
-
} | {
|
|
167
|
-
key: "discarded";
|
|
168
|
-
label: string;
|
|
169
|
-
})[]>;
|
|
170
|
-
tableColumns: ComputedRef<string[]>;
|
|
171
|
-
visibleRows: ComputedRef<SpreadsheetReviewRow[]>;
|
|
13
|
+
clearSelection: () => void;
|
|
14
|
+
fieldIssues: import("vue").ComputedRef<Map<string, {
|
|
15
|
+
rowCount: number;
|
|
16
|
+
level: SpreadsheetIssueLevel;
|
|
17
|
+
}>>;
|
|
18
|
+
inspect: (index: number | null) => void;
|
|
19
|
+
inspected: import("vue").ComputedRef<SpreadsheetRow<SpreadsheetRecord, unknown> | null>;
|
|
20
|
+
issue: import("vue").ShallowRef<string, string>;
|
|
21
|
+
issueTypes: import("vue").ComputedRef<SpreadsheetIssueType[]>;
|
|
22
|
+
level: import("vue").ShallowRef<SpreadsheetReviewLevel, SpreadsheetReviewLevel>;
|
|
23
|
+
mode: import("vue").ShallowRef<SpreadsheetReviewMode, SpreadsheetReviewMode>;
|
|
24
|
+
next: () => void;
|
|
25
|
+
position: import("vue").ComputedRef<{
|
|
26
|
+
current: number;
|
|
27
|
+
total: number;
|
|
28
|
+
}>;
|
|
29
|
+
previous: () => void;
|
|
30
|
+
reset: () => void;
|
|
31
|
+
search: import("vue").ShallowRef<string, string>;
|
|
32
|
+
select: (indexes: readonly number[], selected: boolean) => void;
|
|
33
|
+
selection: import("vue").ShallowRef<ReadonlySet<number>, ReadonlySet<number>>;
|
|
34
|
+
setIssue: (value: string) => void;
|
|
35
|
+
setLevel: (value: SpreadsheetReviewLevel) => void;
|
|
36
|
+
setMode: (value: SpreadsheetReviewMode) => void;
|
|
37
|
+
setSearch: (value: string) => void;
|
|
38
|
+
setTab: (value: SpreadsheetReviewTab) => void;
|
|
39
|
+
tab: import("vue").ShallowRef<SpreadsheetReviewTab, SpreadsheetReviewTab>;
|
|
40
|
+
visible: import("vue").ComputedRef<readonly SpreadsheetRow<SpreadsheetRecord, unknown>[]>;
|
|
172
41
|
};
|
|
173
|
-
export {};
|