nuxt-ui-tools 1.0.1 → 1.2.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/dist/module.d.mts +3 -0
- package/dist/module.json +1 -1
- package/dist/module.mjs +37 -0
- package/dist/runtime/dashboard/components/block/dashboard-block-state.d.vue.ts +12 -0
- package/dist/runtime/dashboard/components/block/dashboard-block-state.vue +59 -0
- package/dist/runtime/dashboard/components/block/dashboard-block-state.vue.d.ts +12 -0
- package/dist/runtime/dashboard/components/block/dashboard-data-table.d.vue.ts +9 -0
- package/dist/runtime/dashboard/components/block/dashboard-data-table.vue +47 -0
- package/dist/runtime/dashboard/components/block/dashboard-data-table.vue.d.ts +9 -0
- package/dist/runtime/dashboard/components/block/dashboard-ring.d.vue.ts +34 -0
- package/dist/runtime/dashboard/components/block/dashboard-ring.vue +91 -0
- package/dist/runtime/dashboard/components/block/dashboard-ring.vue.d.ts +34 -0
- package/dist/runtime/dashboard/components/block/dashboard-row-actions.d.vue.ts +13 -0
- package/dist/runtime/dashboard/components/block/dashboard-row-actions.vue +49 -0
- package/dist/runtime/dashboard/components/block/dashboard-row-actions.vue.d.ts +13 -0
- package/dist/runtime/dashboard/components/block/dashboard-skeleton.d.vue.ts +34 -0
- package/dist/runtime/dashboard/components/block/dashboard-skeleton.vue +315 -0
- package/dist/runtime/dashboard/components/block/dashboard-skeleton.vue.d.ts +34 -0
- package/dist/runtime/dashboard/components/charts/renderer.d.ts +43 -0
- package/dist/runtime/dashboard/components/charts/renderer.js +34 -0
- package/dist/runtime/dashboard/components/charts/unovis/dashboard-donut-chart.d.vue.ts +18 -0
- package/dist/runtime/dashboard/components/charts/unovis/dashboard-donut-chart.vue +45 -0
- package/dist/runtime/dashboard/components/charts/unovis/dashboard-donut-chart.vue.d.ts +18 -0
- package/dist/runtime/dashboard/components/charts/unovis/dashboard-xy-chart.d.vue.ts +14 -0
- package/dist/runtime/dashboard/components/charts/unovis/dashboard-xy-chart.vue +190 -0
- package/dist/runtime/dashboard/components/charts/unovis/dashboard-xy-chart.vue.d.ts +14 -0
- package/dist/runtime/dashboard/components/charts/unovis/dashboard-xy-marks.d.vue.ts +13 -0
- package/dist/runtime/dashboard/components/charts/unovis/dashboard-xy-marks.vue +72 -0
- package/dist/runtime/dashboard/components/charts/unovis/dashboard-xy-marks.vue.d.ts +13 -0
- package/dist/runtime/dashboard/components/charts/unovis/xy-layers.d.ts +43 -0
- package/dist/runtime/dashboard/components/charts/unovis/xy-layers.js +60 -0
- package/dist/runtime/dashboard/components/dashboard-alerts.d.vue.ts +49 -0
- package/dist/runtime/dashboard/components/dashboard-alerts.vue +226 -0
- package/dist/runtime/dashboard/components/dashboard-alerts.vue.d.ts +49 -0
- package/dist/runtime/dashboard/components/dashboard-bar-chart.d.vue.ts +53 -0
- package/dist/runtime/dashboard/components/dashboard-bar-chart.vue +131 -0
- package/dist/runtime/dashboard/components/dashboard-bar-chart.vue.d.ts +53 -0
- package/dist/runtime/dashboard/components/dashboard-bars.d.vue.ts +49 -0
- package/dist/runtime/dashboard/components/dashboard-bars.vue +187 -0
- package/dist/runtime/dashboard/components/dashboard-bars.vue.d.ts +49 -0
- package/dist/runtime/dashboard/components/dashboard-card.d.vue.ts +47 -0
- package/dist/runtime/dashboard/components/dashboard-card.vue +316 -0
- package/dist/runtime/dashboard/components/dashboard-card.vue.d.ts +47 -0
- package/dist/runtime/dashboard/components/dashboard-combo-chart.d.vue.ts +52 -0
- package/dist/runtime/dashboard/components/dashboard-combo-chart.vue +128 -0
- package/dist/runtime/dashboard/components/dashboard-combo-chart.vue.d.ts +52 -0
- package/dist/runtime/dashboard/components/dashboard-donut-chart.d.vue.ts +48 -0
- package/dist/runtime/dashboard/components/dashboard-donut-chart.vue +216 -0
- package/dist/runtime/dashboard/components/dashboard-donut-chart.vue.d.ts +48 -0
- package/dist/runtime/dashboard/components/dashboard-feed.d.vue.ts +49 -0
- package/dist/runtime/dashboard/components/dashboard-feed.vue +239 -0
- package/dist/runtime/dashboard/components/dashboard-feed.vue.d.ts +49 -0
- package/dist/runtime/dashboard/components/dashboard-funnel.d.vue.ts +34 -0
- package/dist/runtime/dashboard/components/dashboard-funnel.vue +157 -0
- package/dist/runtime/dashboard/components/dashboard-funnel.vue.d.ts +34 -0
- package/dist/runtime/dashboard/components/dashboard-gauge.d.vue.ts +55 -0
- package/dist/runtime/dashboard/components/dashboard-gauge.vue +177 -0
- package/dist/runtime/dashboard/components/dashboard-gauge.vue.d.ts +55 -0
- package/dist/runtime/dashboard/components/dashboard-grid.d.vue.ts +38 -0
- package/dist/runtime/dashboard/components/dashboard-grid.vue +49 -0
- package/dist/runtime/dashboard/components/dashboard-grid.vue.d.ts +38 -0
- package/dist/runtime/dashboard/components/dashboard-legend.d.vue.ts +8 -0
- package/dist/runtime/dashboard/components/dashboard-legend.vue +37 -0
- package/dist/runtime/dashboard/components/dashboard-legend.vue.d.ts +8 -0
- package/dist/runtime/dashboard/components/dashboard-line-chart.d.vue.ts +46 -0
- package/dist/runtime/dashboard/components/dashboard-line-chart.vue +129 -0
- package/dist/runtime/dashboard/components/dashboard-line-chart.vue.d.ts +46 -0
- package/dist/runtime/dashboard/components/dashboard-list.d.vue.ts +63 -0
- package/dist/runtime/dashboard/components/dashboard-list.vue +239 -0
- package/dist/runtime/dashboard/components/dashboard-list.vue.d.ts +63 -0
- package/dist/runtime/dashboard/components/dashboard-paired-bars.d.vue.ts +43 -0
- package/dist/runtime/dashboard/components/dashboard-paired-bars.vue +194 -0
- package/dist/runtime/dashboard/components/dashboard-paired-bars.vue.d.ts +43 -0
- package/dist/runtime/dashboard/components/dashboard-refresh.d.vue.ts +29 -0
- package/dist/runtime/dashboard/components/dashboard-refresh.vue +86 -0
- package/dist/runtime/dashboard/components/dashboard-refresh.vue.d.ts +29 -0
- package/dist/runtime/dashboard/components/dashboard-relative-time.d.vue.ts +12 -0
- package/dist/runtime/dashboard/components/dashboard-relative-time.vue +23 -0
- package/dist/runtime/dashboard/components/dashboard-relative-time.vue.d.ts +12 -0
- package/dist/runtime/dashboard/components/dashboard-stack-bar.d.vue.ts +36 -0
- package/dist/runtime/dashboard/components/dashboard-stack-bar.vue +162 -0
- package/dist/runtime/dashboard/components/dashboard-stack-bar.vue.d.ts +36 -0
- package/dist/runtime/dashboard/components/dashboard-stat.d.vue.ts +69 -0
- package/dist/runtime/dashboard/components/dashboard-stat.vue +279 -0
- package/dist/runtime/dashboard/components/dashboard-stat.vue.d.ts +69 -0
- package/dist/runtime/dashboard/components/dashboard-stats.d.vue.ts +38 -0
- package/dist/runtime/dashboard/components/dashboard-stats.vue +202 -0
- package/dist/runtime/dashboard/components/dashboard-stats.vue.d.ts +38 -0
- package/dist/runtime/dashboard/components/dashboard-table.d.vue.ts +52 -0
- package/dist/runtime/dashboard/components/dashboard-table.vue +305 -0
- package/dist/runtime/dashboard/components/dashboard-table.vue.d.ts +52 -0
- package/dist/runtime/dashboard/components/dashboard-tabs.d.vue.ts +35 -0
- package/dist/runtime/dashboard/components/dashboard-tabs.vue +55 -0
- package/dist/runtime/dashboard/components/dashboard-tabs.vue.d.ts +35 -0
- package/dist/runtime/dashboard/components/dashboard-total.d.vue.ts +10 -0
- package/dist/runtime/dashboard/components/dashboard-total.vue +32 -0
- package/dist/runtime/dashboard/components/dashboard-total.vue.d.ts +10 -0
- package/dist/runtime/dashboard/components/dashboard-widget.d.vue.ts +46 -0
- package/dist/runtime/dashboard/components/dashboard-widget.vue +84 -0
- package/dist/runtime/dashboard/components/dashboard-widget.vue.d.ts +46 -0
- package/dist/runtime/dashboard/composables/use-dashboard-api.d.ts +15 -0
- package/dist/runtime/dashboard/composables/use-dashboard-api.js +91 -0
- package/dist/runtime/dashboard/composables/use-dashboard-block.d.ts +22 -0
- package/dist/runtime/dashboard/composables/use-dashboard-block.js +35 -0
- package/dist/runtime/dashboard/composables/use-dashboard-chart.d.ts +36 -0
- package/dist/runtime/dashboard/composables/use-dashboard-chart.js +118 -0
- package/dist/runtime/dashboard/composables/use-dashboard-derived.d.ts +12 -0
- package/dist/runtime/dashboard/composables/use-dashboard-derived.js +47 -0
- package/dist/runtime/dashboard/composables/use-dashboard-format.d.ts +6 -0
- package/dist/runtime/dashboard/composables/use-dashboard-format.js +12 -0
- package/dist/runtime/dashboard/composables/use-dashboard-options.d.ts +8 -0
- package/dist/runtime/dashboard/composables/use-dashboard-options.js +63 -0
- package/dist/runtime/dashboard/composables/use-dashboard-param-scope.d.ts +30 -0
- package/dist/runtime/dashboard/composables/use-dashboard-param-scope.js +71 -0
- package/dist/runtime/dashboard/composables/use-dashboard-remote-options.d.ts +12 -0
- package/dist/runtime/dashboard/composables/use-dashboard-remote-options.js +117 -0
- package/dist/runtime/dashboard/composables/use-dashboard-resource.d.ts +35 -0
- package/dist/runtime/dashboard/composables/use-dashboard-resource.js +80 -0
- package/dist/runtime/dashboard/composables/use-dashboard-scope.d.ts +46 -0
- package/dist/runtime/dashboard/composables/use-dashboard-scope.js +127 -0
- package/dist/runtime/dashboard/composables/use-dashboard-time.d.ts +13 -0
- package/dist/runtime/dashboard/composables/use-dashboard-time.js +40 -0
- package/dist/runtime/dashboard/composables/use-dashboard-ui.d.ts +22 -0
- package/dist/runtime/dashboard/composables/use-dashboard-ui.js +19 -0
- package/dist/runtime/dashboard/composables/use-dashboard-views.d.ts +46 -0
- package/dist/runtime/dashboard/composables/use-dashboard-views.js +49 -0
- package/dist/runtime/dashboard/composables/use-dashboard.d.ts +24 -0
- package/dist/runtime/dashboard/composables/use-dashboard.js +42 -0
- package/dist/runtime/dashboard/constants/query.d.ts +16 -0
- package/dist/runtime/dashboard/constants/query.js +15 -0
- package/dist/runtime/dashboard/index.d.ts +4 -0
- package/dist/runtime/dashboard/index.js +3 -0
- package/dist/runtime/dashboard/schema/index.d.ts +57 -0
- package/dist/runtime/dashboard/schema/index.js +3 -0
- package/dist/runtime/dashboard/types/blocks.d.ts +251 -0
- package/dist/runtime/dashboard/types/blocks.js +0 -0
- package/dist/runtime/dashboard/types/charts.d.ts +60 -0
- package/dist/runtime/dashboard/types/charts.js +0 -0
- package/dist/runtime/dashboard/types/index.d.ts +7 -0
- package/dist/runtime/dashboard/types/index.js +0 -0
- package/dist/runtime/dashboard/types/options.d.ts +46 -0
- package/dist/runtime/dashboard/types/options.js +0 -0
- package/dist/runtime/dashboard/types/params.d.ts +115 -0
- package/dist/runtime/dashboard/types/params.js +0 -0
- package/dist/runtime/dashboard/types/resource.d.ts +106 -0
- package/dist/runtime/dashboard/types/resource.js +0 -0
- package/dist/runtime/dashboard/types/runtime.d.ts +44 -0
- package/dist/runtime/dashboard/types/runtime.js +0 -0
- package/dist/runtime/dashboard/types/schema.d.ts +171 -0
- package/dist/runtime/dashboard/types/schema.js +0 -0
- package/dist/runtime/dashboard/types/ui.d.ts +201 -0
- package/dist/runtime/dashboard/types/ui.js +0 -0
- package/dist/runtime/dashboard/utils/builders/dashboard-params.d.ts +85 -0
- package/dist/runtime/dashboard/utils/builders/dashboard-params.js +87 -0
- package/dist/runtime/dashboard/utils/chart-frame.d.ts +5 -0
- package/dist/runtime/dashboard/utils/chart-frame.js +27 -0
- package/dist/runtime/dashboard/utils/charts.d.ts +61 -0
- package/dist/runtime/dashboard/utils/charts.js +142 -0
- package/dist/runtime/dashboard/utils/comparison.d.ts +15 -0
- package/dist/runtime/dashboard/utils/comparison.js +19 -0
- package/dist/runtime/dashboard/utils/export.d.ts +13 -0
- package/dist/runtime/dashboard/utils/export.js +45 -0
- package/dist/runtime/dashboard/utils/options.d.ts +5 -0
- package/dist/runtime/dashboard/utils/options.js +18 -0
- package/dist/runtime/dashboard/utils/params/codecs.d.ts +14 -0
- package/dist/runtime/dashboard/utils/params/codecs.js +69 -0
- package/dist/runtime/dashboard/utils/resource.d.ts +16 -0
- package/dist/runtime/dashboard/utils/resource.js +39 -0
- package/dist/runtime/dashboard/utils/schema.d.ts +9 -0
- package/dist/runtime/dashboard/utils/schema.js +31 -0
- package/dist/runtime/dashboard/utils/sparkline.d.ts +21 -0
- package/dist/runtime/dashboard/utils/sparkline.js +53 -0
- package/dist/runtime/dashboard/utils/state.d.ts +28 -0
- package/dist/runtime/dashboard/utils/state.js +32 -0
- package/dist/runtime/dashboard/utils/time.d.ts +17 -0
- package/dist/runtime/dashboard/utils/time.js +60 -0
- package/dist/runtime/dashboard/utils/tracker.d.ts +12 -0
- package/dist/runtime/dashboard/utils/tracker.js +31 -0
- package/dist/runtime/dashboard/utils/ui.d.ts +38 -0
- package/dist/runtime/dashboard/utils/ui.js +24 -0
- package/dist/runtime/dashboard/utils/visibility.d.ts +2 -0
- package/dist/runtime/dashboard/utils/visibility.js +25 -0
- package/dist/runtime/form/types/options.d.ts +15 -36
- package/dist/runtime/i18n/locales/en.js +65 -1
- package/dist/runtime/i18n/locales/fr.js +65 -1
- package/dist/runtime/i18n/types.d.ts +70 -0
- package/dist/runtime/shared/index.d.ts +2 -0
- package/dist/runtime/shared/styles/scrollbars.css +1 -1
- package/dist/runtime/shared/styles/tokens.css +1 -1
- package/dist/runtime/shared/types/query.d.ts +10 -0
- package/dist/runtime/shared/types/query.js +0 -0
- package/dist/runtime/shared/types/remote-options.d.ts +37 -0
- package/dist/runtime/shared/types/remote-options.js +0 -0
- package/dist/runtime/shared/utils/remote-options.d.ts +10 -0
- package/dist/runtime/shared/utils/remote-options.js +6 -0
- package/dist/runtime/spreadsheet/components/layout/spreadsheet-import-footer.d.vue.ts +2 -2
- package/dist/runtime/spreadsheet/components/layout/spreadsheet-import-footer.vue.d.ts +2 -2
- package/dist/runtime/spreadsheet/composables/use-spreadsheet-internals.d.ts +15 -15
- package/dist/runtime/spreadsheet/composables/use-spreadsheet-resolutions.d.ts +2 -2
- package/dist/runtime/spreadsheet/schema/normalize.d.ts +1 -1
- package/dist/runtime/spreadsheet/utils/references/sources.d.ts +1 -1
- package/dist/runtime/table/components/data-list/data-list-content.d.vue.ts +1 -1
- package/dist/runtime/table/components/data-list/data-list-content.vue.d.ts +1 -1
- package/dist/runtime/table/components/data-list/data-list-infinite-loader.d.vue.ts +1 -1
- package/dist/runtime/table/components/data-list/data-list-infinite-loader.vue.d.ts +1 -1
- package/dist/runtime/table/components/data-list/data-list-layout-switch.d.vue.ts +1 -1
- package/dist/runtime/table/components/data-list/data-list-layout-switch.vue.d.ts +1 -1
- package/dist/runtime/table/components/data-list/data-list-pagination.d.vue.ts +1 -1
- package/dist/runtime/table/components/data-list/data-list-pagination.vue.d.ts +1 -1
- package/dist/runtime/table/components/data-list/data-list-sort-menu.d.vue.ts +1 -1
- package/dist/runtime/table/components/data-list/data-list-sort-menu.vue.d.ts +1 -1
- package/dist/runtime/table/components/data-list/sort-menu-panel.d.vue.ts +2 -2
- package/dist/runtime/table/components/data-list/sort-menu-panel.vue.d.ts +2 -2
- package/dist/runtime/table/components/filters/shared/filter-match-mode-button.d.vue.ts +1 -1
- package/dist/runtime/table/components/filters/shared/filter-match-mode-button.vue.d.ts +1 -1
- package/dist/runtime/table/components/filters/shared/filter-option-list-end.d.vue.ts +11 -0
- package/dist/runtime/table/components/filters/shared/filter-option-list-end.vue +76 -0
- package/dist/runtime/table/components/filters/shared/filter-option-list-end.vue.d.ts +11 -0
- package/dist/runtime/table/components/filters/shared/filter-option-loading-list.d.vue.ts +3 -0
- package/dist/runtime/table/components/filters/shared/filter-option-loading-list.vue +2 -1
- package/dist/runtime/table/components/filters/shared/filter-option-loading-list.vue.d.ts +3 -0
- package/dist/runtime/table/components/filters/shared/filter-option-multiple-list.vue +1 -1
- package/dist/runtime/table/components/filters/shared/filter-option-picker-content.vue +13 -0
- package/dist/runtime/table/components/filters/shared/filter-option-single-list.d.vue.ts +2 -0
- package/dist/runtime/table/components/filters/shared/filter-option-single-list.vue +1 -1
- package/dist/runtime/table/components/filters/shared/filter-option-single-list.vue.d.ts +2 -0
- package/dist/runtime/table/components/filters/shared/filter-option-tree-content.d.vue.ts +3 -0
- package/dist/runtime/table/components/filters/shared/filter-option-tree-content.vue +2 -2
- package/dist/runtime/table/components/filters/shared/filter-option-tree-content.vue.d.ts +3 -0
- package/dist/runtime/table/components/filters/shared/filter-searchable-panel.vue +1 -0
- package/dist/runtime/table/components/layout/table-footer.d.vue.ts +1 -1
- package/dist/runtime/table/components/layout/table-footer.vue.d.ts +1 -1
- package/dist/runtime/table/components/table/table-cell-ellipsis.d.ts +1 -1
- package/dist/runtime/table/composables/use-option-filter-editor-state.d.ts +13 -1
- package/dist/runtime/table/composables/use-option-filter-editor-state.js +6 -2
- package/dist/runtime/table/composables/use-query-state.d.ts +3 -3
- package/dist/runtime/table/composables/use-table-columns.d.ts +3 -3
- package/dist/runtime/table/composables/use-table-filter-options.d.ts +11 -1
- package/dist/runtime/table/composables/use-table-filter-options.js +128 -17
- package/dist/runtime/table/composables/use-table-filter-selected-options.d.ts +20 -0
- package/dist/runtime/table/composables/use-table-filter-selected-options.js +99 -0
- package/dist/runtime/table/composables/use-table-filters.d.ts +5 -0
- package/dist/runtime/table/composables/use-table-filters.js +20 -1
- package/dist/runtime/table/composables/use-table-internals.d.ts +42 -27
- package/dist/runtime/table/composables/use-table-pagination.d.ts +2 -2
- package/dist/runtime/table/composables/use-table-remote-filter-options.d.ts +42 -0
- package/dist/runtime/table/composables/use-table-remote-filter-options.js +102 -0
- package/dist/runtime/table/composables/use-table-selection.d.ts +1 -1
- package/dist/runtime/table/composables/use-table-state.d.ts +3 -3
- package/dist/runtime/table/types/filters.d.ts +42 -0
- package/dist/runtime/table/types/source.d.ts +9 -5
- package/dist/runtime/table/utils/columns/menu.d.ts +1 -1
- package/dist/runtime/table/utils/columns/state.d.ts +1 -1
- package/dist/runtime/table/utils/data-list-ui.d.ts +1 -1
- package/dist/runtime/table/utils/filters/options.d.ts +2 -0
- package/dist/runtime/table/utils/filters/options.js +1 -1
- package/dist/runtime/table/utils/prefetch.js +21 -1
- package/package.json +28 -1
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { RemoteOptionsPageRequest, RemoteOptionsPagination, RemoteOptionsResult, RemoteOptionsSearch } from '../../shared/types/remote-options.js';
|
|
1
2
|
import type { TableFilterOperator, TableQueryStateFilterRule, TableQueryStateFilterValue } from './query-state.js';
|
|
2
3
|
import type { TableFacetExecutionResult, TableFacetRequestDescriptor, TableFacetsContext, TableQueryDefinition } from './source.js';
|
|
3
4
|
import type { GenericObject, RenderableType, TableFieldPath, TableKnownFieldPath, TableTextValue } from './utils.js';
|
|
@@ -538,6 +539,41 @@ export interface TableFilterOptionQueryContext {
|
|
|
538
539
|
cursor?: string | null;
|
|
539
540
|
}
|
|
540
541
|
export type TableFilterOptionQueryResult<TValue = TableFilterPrimitiveValue> = TableFilterOptionQueryResultForPresentation<TValue, TableOptionFilterPresentation>;
|
|
542
|
+
/** Page requested from a remote option filter source. */
|
|
543
|
+
export interface TableFilterRemoteOptionsRequest {
|
|
544
|
+
/** Current debounced search term. Empty when the editor lists unfiltered options. */
|
|
545
|
+
search: string;
|
|
546
|
+
/** Requested page: `index` (1-based) for page pagination, `cursor` for cursor pagination. */
|
|
547
|
+
page: RemoteOptionsPageRequest;
|
|
548
|
+
}
|
|
549
|
+
/** Selected values a remote option filter needs options for. */
|
|
550
|
+
export interface TableFilterRemoteSelectedRequest<TValue = TableFilterPrimitiveValue> {
|
|
551
|
+
/** Committed filter values that the options loaded so far do not contain. */
|
|
552
|
+
values: readonly TValue[];
|
|
553
|
+
}
|
|
554
|
+
/**
|
|
555
|
+
* Remote option source loaded page by page, following the form engine's remote options:
|
|
556
|
+
* server-side search, page or cursor pagination loaded ahead of the scroll, and options for
|
|
557
|
+
* selected values the loaded pages do not contain (for example values restored from the URL).
|
|
558
|
+
*/
|
|
559
|
+
export interface TableFilterRemoteOptions<TValue = TableFilterPrimitiveValue, TPresentation extends TableOptionFilterPresentation = TableOptionFilterPresentation> {
|
|
560
|
+
/** Query definition of one page of options for the current search term. */
|
|
561
|
+
load: (request: TableFilterRemoteOptionsRequest) => TableQueryDefinition<RemoteOptionsResult<TableOptionEntryForPresentation<TValue, TPresentation>>>;
|
|
562
|
+
/**
|
|
563
|
+
* Query definition resolving the options of selected values the loaded pages do not contain, so
|
|
564
|
+
* tags and editors show their labels. Without it, such values show as their raw value.
|
|
565
|
+
*/
|
|
566
|
+
resolveSelected?: {
|
|
567
|
+
bivarianceHack(request: TableFilterRemoteSelectedRequest<TValue>): TableQueryDefinition<readonly TableOptionEntryForPresentation<TValue, TPresentation>[]>;
|
|
568
|
+
}['bivarianceHack'];
|
|
569
|
+
/**
|
|
570
|
+
* Page size, and how far before the list end the next page loads. Defaults to
|
|
571
|
+
* `{ type: 'page', size: 25 }` with the next page requested three viewport heights ahead.
|
|
572
|
+
*/
|
|
573
|
+
pagination?: RemoteOptionsPagination;
|
|
574
|
+
/** Search debounce (default 250 ms) and minimum term length (default 0). */
|
|
575
|
+
search?: RemoteOptionsSearch;
|
|
576
|
+
}
|
|
541
577
|
export type TableFilterFacetMode = boolean | 'exclude-self' | 'include-self';
|
|
542
578
|
export interface TableFilterFacetQueryContext<TRow extends GenericObject = GenericObject, TContext extends GenericObject = GenericObject, TKey extends string = TableKnownFieldPath<TRow>> {
|
|
543
579
|
table: Omit<TableFacetsContext<TRow, TContext, TKey>, 'facets'>;
|
|
@@ -596,7 +632,13 @@ export interface TableOptionFilterDefinition<TRow extends GenericObject = Generi
|
|
|
596
632
|
kind: 'option';
|
|
597
633
|
source?: {
|
|
598
634
|
options?: readonly TableOptionEntryForPresentation<TValue, TPresentation>[];
|
|
635
|
+
/** Loads the whole option list in one query. For large lists, prefer `remote`. */
|
|
599
636
|
query?: (context: TableFilterOptionQueryContext) => TableQueryDefinition<TableOptionEntryForPresentation<TValue, TPresentation>[] | TableFilterOptionQueryResultForPresentation<TValue, TPresentation>>;
|
|
637
|
+
/**
|
|
638
|
+
* Loads options page by page with server-side search, as the editor scrolls. Takes precedence
|
|
639
|
+
* over `options` and `query`.
|
|
640
|
+
*/
|
|
641
|
+
remote?: TableFilterRemoteOptions<TValue, TPresentation>;
|
|
600
642
|
facet?: TableFilterFacetSpec<TRow, TContext, TKey>;
|
|
601
643
|
sort?: 'alpha' | 'count';
|
|
602
644
|
};
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import type { InfiniteData, QueryFunction, QueryKey
|
|
1
|
+
import type { InfiniteData, QueryFunction, QueryKey } from '@tanstack/vue-query';
|
|
2
|
+
import type { QueryDefinition } from '../../shared/types/query.js';
|
|
2
3
|
import type { TableResolvedFilterGroup } from './filters.js';
|
|
3
4
|
import type { GenericObject, TableKnownFieldPath, TablePaginationState, TableSortKey, TableSortingRule, TableRowsFromSourceResult } from './utils.js';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
queryFn?: QueryFunction<TData, QueryKey, string | null>;
|
|
7
|
-
};
|
|
5
|
+
/** Table name of the shared `QueryDefinition`, kept for public type compatibility. */
|
|
6
|
+
export type TableQueryDefinition<TData = unknown> = QueryDefinition<TData>;
|
|
8
7
|
export interface TableInfiniteQueryDefinition<TData = unknown> {
|
|
9
8
|
queryKey: QueryKey;
|
|
10
9
|
queryFn: QueryFunction<TData, QueryKey, string | null>;
|
|
@@ -63,6 +62,11 @@ export interface TableFacetRequestDescriptor<TKey extends string = string> {
|
|
|
63
62
|
search?: string;
|
|
64
63
|
limit?: number;
|
|
65
64
|
cursor?: string | null;
|
|
65
|
+
/**
|
|
66
|
+
* Values to count, and only these. Filters loading options page by page (`source.remote`) send
|
|
67
|
+
* the values of one loaded page, since no single request can know every value.
|
|
68
|
+
*/
|
|
69
|
+
values?: readonly (string | number | boolean)[];
|
|
66
70
|
}
|
|
67
71
|
export interface TableFacetOptionResult<TValue = unknown> {
|
|
68
72
|
value: TValue;
|
|
@@ -36,4 +36,4 @@ export declare function getColumnHeaderIcon(options: {
|
|
|
36
36
|
columnId: string;
|
|
37
37
|
}) => 'left' | 'right' | null;
|
|
38
38
|
canHide?: boolean;
|
|
39
|
-
}): "i-lucide-
|
|
39
|
+
}): "i-lucide-chevrons-up-down" | "i-lucide-arrow-up" | "i-lucide-arrow-down" | "i-lucide-grip-vertical";
|
|
@@ -73,7 +73,7 @@ export declare function resolveDataListControlGeometry(size: DataListControlSize
|
|
|
73
73
|
toolbarGap: string;
|
|
74
74
|
};
|
|
75
75
|
/** Downsizes controls nested inside another control, such as preview badges in filter tags. */
|
|
76
|
-
export declare function resolveDataListNestedControlSize(size: DataListControlSize): "
|
|
76
|
+
export declare function resolveDataListNestedControlSize(size: DataListControlSize): "xs" | "sm" | "md" | "lg";
|
|
77
77
|
/** Maps the resolved DataList size to table header, row, cell, and skeleton geometry. */
|
|
78
78
|
export declare function resolveDataListTableSize(size: DataListControlSize): {
|
|
79
79
|
cell: string;
|
|
@@ -10,6 +10,8 @@ export declare function resolveFilterOptionEntries(options: {
|
|
|
10
10
|
count: number;
|
|
11
11
|
}[];
|
|
12
12
|
missingCountFallback?: number;
|
|
13
|
+
/** `options` is the complete answer (remote pages): an empty list stays empty instead of listing facet values. */
|
|
14
|
+
authoritative?: boolean;
|
|
13
15
|
}): TableResolvedFilterOptionEntry<import("../../types/index.js").TableFilterPrimitiveValue>[] | {
|
|
14
16
|
children: never[];
|
|
15
17
|
count: number | undefined;
|
|
@@ -21,7 +21,7 @@ export function resolveFilterOptionEntries(options) {
|
|
|
21
21
|
return [];
|
|
22
22
|
}
|
|
23
23
|
const configuredOptions = options.options ?? options.definition.source?.options ?? [];
|
|
24
|
-
const sourceOptions = configuredOptions.length ? configuredOptions : (options.facetCounts ?? []).map((entry) => ({
|
|
24
|
+
const sourceOptions = configuredOptions.length || options.authoritative ? configuredOptions : (options.facetCounts ?? []).map((entry) => ({
|
|
25
25
|
count: entry.count,
|
|
26
26
|
label: String(entry.value),
|
|
27
27
|
value: entry.value
|
|
@@ -40,7 +40,11 @@ export function prefetchTable(params) {
|
|
|
40
40
|
route: params.route,
|
|
41
41
|
schema
|
|
42
42
|
});
|
|
43
|
-
return resolveTableQueries({
|
|
43
|
+
return resolveTableQueries({
|
|
44
|
+
request,
|
|
45
|
+
rules: resolveFilterState(params.route, schema).ui,
|
|
46
|
+
schema
|
|
47
|
+
});
|
|
44
48
|
}).stage((stageContext) => {
|
|
45
49
|
const rows = resolvePrefetchedRows(stageContext.source);
|
|
46
50
|
const context = resolveContextData(schema, stageContext);
|
|
@@ -93,6 +97,13 @@ function resolveTableQueries(options) {
|
|
|
93
97
|
]);
|
|
94
98
|
}
|
|
95
99
|
for (const definition of definitions) {
|
|
100
|
+
const selectedOptions = resolveRemoteSelectedQuery(definition, options.rules);
|
|
101
|
+
if (selectedOptions) {
|
|
102
|
+
entries.push([
|
|
103
|
+
`filter-selected-options:${definition.key}`,
|
|
104
|
+
withQueryDefaults(selectedOptions, QUERY_DEFAULTS.staleTime.filterOptions)
|
|
105
|
+
]);
|
|
106
|
+
}
|
|
96
107
|
if (definition.kind === "option" && isOptionQueryResolver(definition.source?.query)) {
|
|
97
108
|
entries.push([
|
|
98
109
|
`filter-options:${definition.key}`,
|
|
@@ -130,6 +141,15 @@ function resolveTableQueries(options) {
|
|
|
130
141
|
}
|
|
131
142
|
return Object.fromEntries(entries);
|
|
132
143
|
}
|
|
144
|
+
function resolveRemoteSelectedQuery(definition, rules) {
|
|
145
|
+
const resolve = definition.kind === "option" ? definition.source?.remote?.resolveSelected : void 0;
|
|
146
|
+
if (!resolve) return;
|
|
147
|
+
const rule = rules.find((entry) => entry.key === definition.key);
|
|
148
|
+
const values = (Array.isArray(rule?.value) ? rule.value : isNullish(rule?.value) ? [] : [rule.value]).filter(
|
|
149
|
+
(value) => isString(value) || isNumber(value) || isBoolean(value)
|
|
150
|
+
);
|
|
151
|
+
return values.length ? resolve({ values }) : void 0;
|
|
152
|
+
}
|
|
133
153
|
function resolveSourcePrefetchQuery(options) {
|
|
134
154
|
const definition = options.schema.source.mode === "remote" ? options.schema.source.query(
|
|
135
155
|
toTableRemoteSourceRequest(options.request),
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nuxt-ui-tools",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "Nuxt module and runtime toolkit for UI-heavy Nuxt applications",
|
|
5
5
|
"homepage": "https://github.com/ChronicStone/nuxt-ui-tools#readme",
|
|
6
6
|
"bugs": "https://github.com/ChronicStone/nuxt-ui-tools/issues",
|
|
@@ -20,6 +20,9 @@
|
|
|
20
20
|
".": [
|
|
21
21
|
"./dist/types.d.mts"
|
|
22
22
|
],
|
|
23
|
+
"dashboard": [
|
|
24
|
+
"./dist/runtime/dashboard/index.d.ts"
|
|
25
|
+
],
|
|
23
26
|
"form": [
|
|
24
27
|
"./dist/runtime/form/index.d.ts"
|
|
25
28
|
],
|
|
@@ -41,6 +44,14 @@
|
|
|
41
44
|
}
|
|
42
45
|
},
|
|
43
46
|
"imports": {
|
|
47
|
+
"#ui-tools/dashboard": {
|
|
48
|
+
"types": "./dist/runtime/dashboard/index.d.ts",
|
|
49
|
+
"default": "./dist/runtime/dashboard/index.js"
|
|
50
|
+
},
|
|
51
|
+
"#ui-tools/dashboard/*": {
|
|
52
|
+
"types": "./dist/runtime/dashboard/*.d.ts",
|
|
53
|
+
"default": "./dist/runtime/dashboard/*.js"
|
|
54
|
+
},
|
|
44
55
|
"#ui-tools/form": {
|
|
45
56
|
"types": "./dist/runtime/form/index.d.ts",
|
|
46
57
|
"default": "./dist/runtime/form/index.js"
|
|
@@ -95,6 +106,10 @@
|
|
|
95
106
|
"types": "./dist/types.d.mts",
|
|
96
107
|
"import": "./dist/module.mjs"
|
|
97
108
|
},
|
|
109
|
+
"./dashboard": {
|
|
110
|
+
"types": "./dist/runtime/dashboard/index.d.ts",
|
|
111
|
+
"import": "./dist/runtime/dashboard/index.js"
|
|
112
|
+
},
|
|
98
113
|
"./form": {
|
|
99
114
|
"types": "./dist/runtime/form/index.d.ts",
|
|
100
115
|
"import": "./dist/runtime/form/index.js"
|
|
@@ -169,6 +184,8 @@
|
|
|
169
184
|
"@nuxt/ui": "^4.10.0",
|
|
170
185
|
"@tiptap/y-tiptap": "3.0.9",
|
|
171
186
|
"@types/node": "25.4.0",
|
|
187
|
+
"@unovis/ts": "1.7.0",
|
|
188
|
+
"@unovis/vue": "1.7.0",
|
|
172
189
|
"@vitejs/plugin-vue": "^6.0.8",
|
|
173
190
|
"@vitejs/plugin-vue-jsx": "^5.1.6",
|
|
174
191
|
"@vue/test-utils": "2.5.1",
|
|
@@ -186,6 +203,8 @@
|
|
|
186
203
|
"peerDependencies": {
|
|
187
204
|
"@nuxt/ui": ">=4.10.0",
|
|
188
205
|
"@tanstack/vue-query": ">=5.101.4",
|
|
206
|
+
"@unovis/ts": ">=1.6.0",
|
|
207
|
+
"@unovis/vue": ">=1.6.0",
|
|
189
208
|
"nuxt": ">=4.5.2",
|
|
190
209
|
"tailwindcss": ">=4.3.3",
|
|
191
210
|
"typescript": ">=5.9.0",
|
|
@@ -193,6 +212,14 @@
|
|
|
193
212
|
"vue-draggable-plus": ">=0.6.1",
|
|
194
213
|
"vue-router": ">=4.6.4"
|
|
195
214
|
},
|
|
215
|
+
"peerDependenciesMeta": {
|
|
216
|
+
"@unovis/ts": {
|
|
217
|
+
"optional": true
|
|
218
|
+
},
|
|
219
|
+
"@unovis/vue": {
|
|
220
|
+
"optional": true
|
|
221
|
+
}
|
|
222
|
+
},
|
|
196
223
|
"overrides": {
|
|
197
224
|
"@tiptap/y-tiptap": "3.0.9"
|
|
198
225
|
}
|