@atscript/vue-table 0.1.146 → 0.1.147

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 (167) hide show
  1. package/dist/as-action-form-dialog.cjs +3 -2
  2. package/dist/as-action-form-dialog.mjs +3 -2
  3. package/dist/{as-action-menu-content-DoZnQP0I.mjs → as-action-menu-content-35yQWbLF.mjs} +1 -1
  4. package/dist/{as-action-menu-content-FQ2miGid.cjs → as-action-menu-content-BJ0tn6jq.cjs} +1 -1
  5. package/dist/as-cell-array.d.cts +1 -1
  6. package/dist/as-cell-array.d.mts +1 -1
  7. package/dist/as-cell-date.d.cts +1 -1
  8. package/dist/as-cell-date.d.mts +1 -1
  9. package/dist/as-cell-json.d.cts +1 -1
  10. package/dist/as-cell-json.d.mts +1 -1
  11. package/dist/as-cell-number.d.cts +1 -1
  12. package/dist/as-cell-number.d.mts +1 -1
  13. package/dist/as-cell-union.d.cts +1 -1
  14. package/dist/as-cell-union.d.mts +1 -1
  15. package/dist/as-column-menu.d.cts +1 -1
  16. package/dist/as-column-menu.d.mts +1 -1
  17. package/dist/{as-column-menu.vue-ByTECTbX.d.cts → as-column-menu.vue-B6iuKmIj.d.cts} +1 -1
  18. package/dist/{as-column-menu.vue-TChT482i.d.mts → as-column-menu.vue-wxb2f92k.d.mts} +1 -1
  19. package/dist/{as-config-dialog-CpW1Qemf.cjs → as-config-dialog-BJkBzaku.cjs} +2 -2
  20. package/dist/{as-config-dialog-ObHtungs.mjs → as-config-dialog-D503Ek_m.mjs} +2 -2
  21. package/dist/as-config-dialog.cjs +1 -1
  22. package/dist/as-config-dialog.d.cts +1 -1
  23. package/dist/as-config-dialog.d.mts +1 -1
  24. package/dist/as-config-dialog.mjs +1 -1
  25. package/dist/{as-confirm-dialog-D3Vu1Rb_.cjs → as-confirm-dialog-C5xPbkox.cjs} +1 -1
  26. package/dist/{as-confirm-dialog-zg7jmS3u.mjs → as-confirm-dialog-CJfDnaiU.mjs} +1 -1
  27. package/dist/as-confirm-dialog.cjs +1 -1
  28. package/dist/as-confirm-dialog.d.cts +1 -1
  29. package/dist/as-confirm-dialog.d.mts +1 -1
  30. package/dist/as-confirm-dialog.mjs +1 -1
  31. package/dist/{as-filter-dialog-C4EyRr2_.cjs → as-filter-dialog-Co0WfWOe.cjs} +7 -7
  32. package/dist/{as-filter-dialog-CWy0mjZl.mjs → as-filter-dialog-CxjO-Ge5.mjs} +7 -7
  33. package/dist/as-filter-dialog.cjs +1 -1
  34. package/dist/as-filter-dialog.d.cts +1 -1
  35. package/dist/as-filter-dialog.d.mts +1 -1
  36. package/dist/as-filter-dialog.mjs +1 -1
  37. package/dist/{as-filter-field-CW1_GHZT.mjs → as-filter-field-ByPlGyWz.mjs} +3 -3
  38. package/dist/{as-filter-field-BQ9UlV0y.cjs → as-filter-field-FTrxFkTw.cjs} +3 -3
  39. package/dist/as-filter-field.cjs +1 -1
  40. package/dist/as-filter-field.d.cts +1 -1
  41. package/dist/as-filter-field.d.mts +1 -1
  42. package/dist/as-filter-field.mjs +1 -1
  43. package/dist/as-filter-input.d.cts +1 -1
  44. package/dist/as-filter-input.d.mts +1 -1
  45. package/dist/{as-filters-BLFSS_VP.mjs → as-filters-CJZJiOXb.mjs} +4 -4
  46. package/dist/{as-filters-DUfFkXAo.cjs → as-filters-W3iMELuL.cjs} +4 -4
  47. package/dist/as-filters.cjs +1 -1
  48. package/dist/as-filters.mjs +1 -1
  49. package/dist/{as-preset-dialog-CI2Hw8vi.mjs → as-preset-dialog-CLOVEpWZ.mjs} +1 -1
  50. package/dist/{as-preset-dialog-BlXqTZiT.cjs → as-preset-dialog-Dvvx0jmU.cjs} +1 -1
  51. package/dist/as-preset-dialog.cjs +1 -1
  52. package/dist/as-preset-dialog.d.cts +1 -1
  53. package/dist/as-preset-dialog.d.mts +1 -1
  54. package/dist/as-preset-dialog.mjs +1 -1
  55. package/dist/{as-preset-picker-CbZDGPaf.mjs → as-preset-picker-CwFObhME.mjs} +1 -1
  56. package/dist/{as-preset-picker-CVgyZBG7.cjs → as-preset-picker-DFLhbm59.cjs} +1 -1
  57. package/dist/as-preset-picker.cjs +1 -1
  58. package/dist/as-preset-picker.mjs +1 -1
  59. package/dist/{as-residual-filter-CUTouIn5.mjs → as-residual-filter-BRsEs8oe.mjs} +1 -1
  60. package/dist/{as-residual-filter-C8n7kdGW.cjs → as-residual-filter-sZlsFPDS.cjs} +1 -1
  61. package/dist/as-residual-filter.cjs +1 -1
  62. package/dist/as-residual-filter.d.cts +1 -1
  63. package/dist/as-residual-filter.d.mts +1 -1
  64. package/dist/as-residual-filter.mjs +1 -1
  65. package/dist/{as-row-actions-DfUL9sYB.cjs → as-row-actions-DFv2cSrP.cjs} +7 -5
  66. package/dist/{as-row-actions-ed1P6GEJ.mjs → as-row-actions-DyjIXePd.mjs} +7 -5
  67. package/dist/as-row-actions.cjs +1 -1
  68. package/dist/as-row-actions.d.cts +1 -1
  69. package/dist/as-row-actions.d.mts +1 -1
  70. package/dist/as-row-actions.mjs +1 -1
  71. package/dist/{as-row-actions.vue-Ba3VO9W-.d.cts → as-row-actions.vue-BHrZBXVU.d.cts} +1 -1
  72. package/dist/{as-row-actions.vue-CKOnE0eb.d.mts → as-row-actions.vue-D4MylwCW.d.mts} +1 -1
  73. package/dist/{as-select-cell-DwMfqBMV.cjs → as-select-cell-CoQJjhnq.cjs} +10 -5
  74. package/dist/{as-select-cell-BMptU5sQ.mjs → as-select-cell-Dl8fohIj.mjs} +10 -5
  75. package/dist/as-selection-banner-BI5gKHqW.cjs +206 -0
  76. package/dist/as-selection-banner-DBtLjulh.mjs +189 -0
  77. package/dist/as-table-B1FowaPF.cjs +215 -0
  78. package/dist/as-table-Cpvfv9zA.mjs +210 -0
  79. package/dist/{as-table-actions-DplblFlK.cjs → as-table-actions-B0xaicfv.cjs} +32 -6
  80. package/dist/{as-table-actions-DQco4pGu.mjs → as-table-actions-BlbAps1h.mjs} +32 -6
  81. package/dist/as-table-actions.cjs +1 -1
  82. package/dist/as-table-actions.d.cts +1 -1
  83. package/dist/as-table-actions.d.mts +1 -1
  84. package/dist/as-table-actions.mjs +1 -1
  85. package/dist/{as-table-actions.vue-BYphfAe2.d.cts → as-table-actions.vue-7ml3JiOO.d.mts} +9 -2
  86. package/dist/{as-table-actions.vue-C6hzRtS7.d.mts → as-table-actions.vue-BKRqHprR.d.cts} +9 -2
  87. package/dist/{as-table-base-lfyjPgsO.mjs → as-table-base-EzKaChOp.mjs} +3 -3
  88. package/dist/{as-table-base-CNAn-vpa.cjs → as-table-base-LZ26YlWp.cjs} +3 -3
  89. package/dist/as-table-cell-value.d.cts +1 -1
  90. package/dist/as-table-cell-value.d.mts +1 -1
  91. package/dist/{as-table-header-cell-Csv1KQDa.mjs → as-table-header-cell-DrVzYaof.mjs} +1 -1
  92. package/dist/{as-table-header-cell-BwaOPYwI.cjs → as-table-header-cell-gHhCdxJX.cjs} +1 -1
  93. package/dist/as-table-header-cell.cjs +1 -1
  94. package/dist/as-table-header-cell.d.cts +1 -1
  95. package/dist/as-table-header-cell.d.mts +1 -1
  96. package/dist/as-table-header-cell.mjs +1 -1
  97. package/dist/{as-table-header-cell.vue-DU5h-2C_.d.cts → as-table-header-cell.vue-BCk4NPYT.d.cts} +1 -1
  98. package/dist/{as-table-header-cell.vue-KkANwimG.d.mts → as-table-header-cell.vue-BZU8s9CT.d.mts} +1 -1
  99. package/dist/{as-table-root-BreMYhnv.mjs → as-table-root-BYHXuNPI.mjs} +33 -6
  100. package/dist/{as-table-root-DXewWV9h.cjs → as-table-root-K6fWKHtF.cjs} +33 -6
  101. package/dist/as-table-root.cjs +1 -1
  102. package/dist/as-table-root.d.cts +1 -1
  103. package/dist/as-table-root.d.mts +1 -1
  104. package/dist/as-table-root.mjs +1 -1
  105. package/dist/{as-table-root.vue-XtDgUjO2.d.mts → as-table-root.vue-Bm2DxAqU.d.mts} +319 -9
  106. package/dist/{as-table-root.vue-Bjzp8TJl.d.cts → as-table-root.vue-CF03c4vu.d.cts} +320 -10
  107. package/dist/as-table.cjs +1 -1
  108. package/dist/as-table.d.cts +1 -1
  109. package/dist/as-table.d.mts +1 -1
  110. package/dist/as-table.mjs +1 -1
  111. package/dist/{as-window-table-JOTOi_Nm.mjs → as-window-table-CygDqZMU.mjs} +99 -53
  112. package/dist/{as-window-table-Bj1dXOS6.cjs → as-window-table-_flc8o64.cjs} +101 -55
  113. package/dist/as-window-table.cjs +1 -1
  114. package/dist/as-window-table.d.cts +1 -1
  115. package/dist/as-window-table.d.mts +1 -1
  116. package/dist/as-window-table.mjs +1 -1
  117. package/dist/index.cjs +23 -19
  118. package/dist/index.d.cts +19 -21
  119. package/dist/index.d.mts +19 -21
  120. package/dist/index.mjs +20 -20
  121. package/dist/{types-D1NxhrpW.d.cts → intent-scope-BXPEN5kJ.d.cts} +202 -35
  122. package/dist/{types-BEZ4_erB.d.mts → intent-scope-Ck7RZ0dK.d.mts} +202 -35
  123. package/dist/{use-table-W0KmaJ6L.cjs → use-table-CydIJZbx.cjs} +5 -3
  124. package/dist/{use-table-BTsNGBVx.mjs → use-table-DP6Y0kbl.mjs} +5 -3
  125. package/dist/{use-table-component-DRMXTk9M.mjs → use-table-component-DNGUvhf7.mjs} +1 -1
  126. package/dist/{use-table-component-BvAC82_c.cjs → use-table-component-aqfGzECx.cjs} +1 -1
  127. package/dist/{use-table-nav-bridge-CPI1tql6.cjs → use-table-nav-bridge-B7A30yja.cjs} +1 -1
  128. package/dist/{use-table-nav-bridge-Bw0NFDSf.mjs → use-table-nav-bridge-BhOPIT2R.mjs} +1 -1
  129. package/dist/{use-table-selection-ULbKT2xW.mjs → use-table-selection-CdaOPo1d.mjs} +8 -3
  130. package/dist/{use-table-selection-DtCV3rhu.cjs → use-table-selection-Cs7-gjHg.cjs} +8 -3
  131. package/dist/{use-table-state-DuY-Mf8e.mjs → use-table-state-1OZfdhQi.mjs} +414 -41
  132. package/dist/{use-table-state-Ddr2UZzB.cjs → use-table-state-sDnqOi3b.cjs} +447 -38
  133. package/package.json +11 -10
  134. package/dist/as-table-BjKzKB0a.cjs +0 -207
  135. package/dist/as-table-DGWfzV4w.mjs +0 -202
  136. package/dist/as-table.vue-BULJe49x.d.cts +0 -115
  137. package/dist/as-table.vue-DgCtlV4u.d.mts +0 -115
  138. package/dist/as-window-table.vue-CYFgK10g.d.mts +0 -132
  139. package/dist/as-window-table.vue-ijutqrJ0.d.cts +0 -132
  140. package/dist/use-table-column-handlers-BitvioH4.mjs +0 -85
  141. package/dist/use-table-column-handlers-DksXpbON.cjs +0 -96
  142. /package/dist/{as-cell-array.vue-pFs5GcCR.d.cts → as-cell-array.vue-C4BTM8YW.d.cts} +0 -0
  143. /package/dist/{as-cell-array.vue-ow34clSF.d.mts → as-cell-array.vue-Dj3nZop3.d.mts} +0 -0
  144. /package/dist/{as-cell-date.vue-B4JCr1qP.d.mts → as-cell-date.vue-BPuyH7q3.d.mts} +0 -0
  145. /package/dist/{as-cell-date.vue-BBSps2B2.d.cts → as-cell-date.vue-BcMgxBfm.d.cts} +0 -0
  146. /package/dist/{as-cell-json.vue-B-T3TuFj.d.mts → as-cell-json.vue-D8J7YwVV.d.mts} +0 -0
  147. /package/dist/{as-cell-json.vue-C6wg4ARZ.d.cts → as-cell-json.vue-pwE9uJdv.d.cts} +0 -0
  148. /package/dist/{as-cell-number.vue-CJ2K5zeM.d.cts → as-cell-number.vue-pbgVCIWT.d.cts} +0 -0
  149. /package/dist/{as-cell-number.vue-CNH2fbCB.d.mts → as-cell-number.vue-sUoZvuat.d.mts} +0 -0
  150. /package/dist/{as-cell-union.vue-CslPM_c2.d.cts → as-cell-union.vue-BK_M7opL.d.cts} +0 -0
  151. /package/dist/{as-cell-union.vue-CZwN81H4.d.mts → as-cell-union.vue-DZBejMxR.d.mts} +0 -0
  152. /package/dist/{as-config-dialog.vue-BKo2GpzN.d.mts → as-config-dialog.vue-C-Jw_rb7.d.cts} +0 -0
  153. /package/dist/{as-config-dialog.vue-DvvJi3xx.d.cts → as-config-dialog.vue-D2AVR1a5.d.mts} +0 -0
  154. /package/dist/{as-confirm-dialog.vue-BN_yzu3h.d.mts → as-confirm-dialog.vue-BxAaCuYf.d.mts} +0 -0
  155. /package/dist/{as-confirm-dialog.vue-CXxLpzbu.d.cts → as-confirm-dialog.vue-D8hJ5qPY.d.cts} +0 -0
  156. /package/dist/{as-filter-dialog.vue-BV2J8PgZ.d.cts → as-filter-dialog.vue-CyD6qtuX.d.cts} +0 -0
  157. /package/dist/{as-filter-dialog.vue-Bl8OIKOf.d.mts → as-filter-dialog.vue-WYXGtymZ.d.mts} +0 -0
  158. /package/dist/{as-filter-field.vue-DD0IZXS1.d.mts → as-filter-field.vue-DTpuDkHh.d.mts} +0 -0
  159. /package/dist/{as-filter-field.vue-ByQ8xIGq.d.cts → as-filter-field.vue-ajAFhraz.d.cts} +0 -0
  160. /package/dist/{as-filter-input.vue-CS4nOk_Q.d.cts → as-filter-input.vue-CksJOtqw.d.cts} +0 -0
  161. /package/dist/{as-filter-input.vue-CFZ33B--.d.mts → as-filter-input.vue-DMwr0ArL.d.mts} +0 -0
  162. /package/dist/{as-preset-dialog.vue-ChM7H7B4.d.mts → as-preset-dialog.vue-BEM-L4BY.d.cts} +0 -0
  163. /package/dist/{as-preset-dialog.vue-DP9fy00Y.d.cts → as-preset-dialog.vue-BrnvBWxJ.d.mts} +0 -0
  164. /package/dist/{as-residual-filter.vue-Dfw1l2wS.d.cts → as-residual-filter.vue-CGXCipEn.d.cts} +0 -0
  165. /package/dist/{as-residual-filter.vue-N89YqlCz.d.mts → as-residual-filter.vue-Cev_8Wy7.d.mts} +0 -0
  166. /package/dist/{as-table-cell-value.vue-C0VR9GRK.d.cts → as-table-cell-value.vue-UkAuJanv.d.cts} +0 -0
  167. /package/dist/{as-table-cell-value.vue-DphckGq-.d.mts → as-table-cell-value.vue-kfNgVhzn.d.mts} +0 -0
@@ -1,9 +1,9 @@
1
- import { _ as toSelectAllState, a as useTableContext, i as useRegisterMainActionListener } from "./use-table-state-DuY-Mf8e.mjs";
1
+ import { _ as toSelectAllState, a as useTableContext, i as useRegisterMainActionListener } from "./use-table-state-1OZfdhQi.mjs";
2
2
  import { t as getCellValue } from "./get-cell-value-Cb3X8nUn.mjs";
3
- import { t as useSelectModeReset } from "./use-table-selection-ULbKT2xW.mjs";
3
+ import { t as useSelectModeReset } from "./use-table-selection-CdaOPo1d.mjs";
4
4
  import { t as useHasEmitListener } from "./use-has-emit-listener-DrBbsLHQ.mjs";
5
- import { n as useRowActionsColumn, t as useTableColumnHandlers } from "./use-table-column-handlers-BitvioH4.mjs";
6
- import { a as useRafBatch, i as as_table_colgroup_default, n as as_table_status_default, o as useCellComponents, r as as_table_header_default, s as useCellResolver, t as as_select_cell_default } from "./as-select-cell-BMptU5sQ.mjs";
5
+ import { n as useTableColumnHandlers, r as useRowActionsColumn, t as as_selection_banner_default } from "./as-selection-banner-DBtLjulh.mjs";
6
+ import { a as useRafBatch, i as as_table_colgroup_default, n as as_table_status_default, o as useCellComponents, r as as_table_header_default, s as useCellResolver, t as as_select_cell_default } from "./as-select-cell-Dl8fohIj.mjs";
7
7
  import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createSlots, createVNode, defineComponent, guardReactiveProps, mergeProps, nextTick, normalizeClass, normalizeProps, normalizeStyle, onBeforeUnmount, onMounted, openBlock, ref, renderList, renderSlot, resolveDynamicComponent, unref, useSlots, watch, withCtx, withModifiers } from "vue";
8
8
  import { DEFAULT_ROW_HEIGHT_PX, clampTopIndex, filledFilterCount, rowsToPks } from "@atscript/ui-table";
9
9
  import { useElementSize, useResizeObserver } from "@vueuse/core";
@@ -292,7 +292,16 @@ var as_window_table_base_default = /* @__PURE__ */ defineComponent({
292
292
  const rows = allLoadedRows.value;
293
293
  return rows ? new Set(rowsToPks(state.selectableRows(rows), state.rowValueFn)) : null;
294
294
  });
295
+ /**
296
+ * The header acts on the CACHED rows instead of the whole dataset while a
297
+ * query selection is held (it covers unloaded rows anyway), and — for a
298
+ * table that offers "Select all N matching" — while the dataset is only
299
+ * partly loaded: picking the cached rows is the step before the banner's
300
+ * offer. Since 0.1.147.
301
+ */
302
+ const cachedScope = computed(() => props.select === "multi" && (!!state.querySelection.value || allLoadedRows.value === null && state.canSelectAllMatching.value));
295
303
  const selectAllState = computed(() => {
304
+ if (cachedScope.value) return toSelectAllState(state.loadedSelectedCount.value, state.loadedEligiblePks.value.length, !!state.querySelection.value);
296
305
  const eligible = eligibleLoadedPks.value;
297
306
  if (!eligible) return void 0;
298
307
  let selected = 0;
@@ -315,7 +324,7 @@ var as_window_table_base_default = /* @__PURE__ */ defineComponent({
315
324
  const top = state.topIndex.value;
316
325
  const rowValueFn = state.rowValueFn;
317
326
  const hasSelection = props.select !== "none";
318
- const selectedSet = hasSelection ? new Set(state.selectedRows.value) : null;
327
+ const isSelected = state.isPkSelected;
319
328
  const gated = !!state.rowSelectable.value;
320
329
  const hasHooks = gated || !!props.rowClass || !!props.rowAttrs;
321
330
  const out = [];
@@ -323,7 +332,7 @@ var as_window_table_base_default = /* @__PURE__ */ defineComponent({
323
332
  const abs = top + s;
324
333
  const row = state.dataAt(abs);
325
334
  const pk = row === void 0 ? void 0 : rowValueFn(row);
326
- const selected = selectedSet !== null && row !== void 0 && selectedSet.has(pk);
335
+ const selected = hasSelection && row !== void 0 && isSelected(pk);
327
336
  let selectable = SELECTABLE;
328
337
  let cls;
329
338
  let attrs;
@@ -422,8 +431,13 @@ var as_window_table_base_default = /* @__PURE__ */ defineComponent({
422
431
  state.requestMainAction(event);
423
432
  }
424
433
  function onToggleAll() {
425
- const rows = allLoadedRows.value;
426
- if (rows) state.toggleAll(rows);
434
+ if (!cachedScope.value) {
435
+ const rows = allLoadedRows.value;
436
+ if (rows) state.toggleAll(rows);
437
+ return;
438
+ }
439
+ const entries = [...state.windowCache.value.entries()];
440
+ state.toggleAll(entries.map(([, row]) => row), (i) => entries[i][0]);
427
441
  }
428
442
  const { onSort, onHide, onFilter, onFiltersOff, onResetWidth, onReorder, onClearFilters } = useTableColumnHandlers(state);
429
443
  const wrapperRef = ref(null);
@@ -789,6 +803,26 @@ var as_window_table_default = /* @__PURE__ */ defineComponent({
789
803
  });
790
804
  useRegisterMainActionListener(state, (req) => emit("main-action", req.row, req.absIndex, req.event), useHasEmitListener("onMainAction"));
791
805
  const containerRef = ref(null);
806
+ const bannerRef = ref(null);
807
+ const bannerHeight = ref(0);
808
+ useResizeObserver(() => {
809
+ const el = bannerRef.value?.$el;
810
+ return el instanceof HTMLElement ? el : void 0;
811
+ }, (entries) => {
812
+ bannerHeight.value = (entries[0]?.target)?.offsetHeight ?? 0;
813
+ });
814
+ let lastMetrics = null;
815
+ watch(bannerHeight, () => applyContainerSize());
816
+ function applyContainerSize() {
817
+ const container = containerRef.value;
818
+ if (!container || !lastMetrics) return;
819
+ const minR = props.rows ?? props.minRows;
820
+ const maxR = props.rows ?? props.maxRows;
821
+ const { rowHeightPx, chromePx } = lastMetrics;
822
+ const px = (n) => `${n * rowHeightPx + chromePx + bannerHeight.value}px`;
823
+ container.style.minHeight = minR !== void 0 ? px(minR) : "";
824
+ container.style.maxHeight = maxR !== void 0 ? px(maxR) : "";
825
+ }
792
826
  function onMetrics({ fits, rowHeightPx, chromePx }) {
793
827
  const minR = props.rows ?? props.minRows;
794
828
  const maxR = props.rows ?? props.maxRows;
@@ -798,11 +832,11 @@ var as_window_table_default = /* @__PURE__ */ defineComponent({
798
832
  state.viewportRowCount.value = target;
799
833
  const clamped = clampTopIndex(state.topIndex.value, state.totalCount.value, target);
800
834
  if (clamped !== state.topIndex.value) state.topIndex.value = clamped;
801
- const container = containerRef.value;
802
- if (!container) return;
803
- const px = (n) => `${n * rowHeightPx + chromePx}px`;
804
- container.style.minHeight = minR !== void 0 ? px(minR) : "";
805
- container.style.maxHeight = maxR !== void 0 ? px(maxR) : "";
835
+ lastMetrics = {
836
+ rowHeightPx,
837
+ chromePx
838
+ };
839
+ applyContainerSize();
806
840
  }
807
841
  watch(() => state.lastError.value, (info) => {
808
842
  if (info) emit("error", info.error, info.kind);
@@ -812,46 +846,58 @@ var as_window_table_default = /* @__PURE__ */ defineComponent({
812
846
  ref_key: "containerRef",
813
847
  ref: containerRef,
814
848
  class: "as-table-outer-wrap"
815
- }, [createVNode(as_window_table_base_default, {
816
- columns: unref(effectiveColumns),
817
- "row-height": __props.rowHeight,
818
- "wheel-rows-per-tick": __props.wheelRowsPerTick,
819
- "column-menu": __props.columnMenu,
820
- reorderable: __props.reorderable,
821
- resizable: __props.resizable,
822
- "column-min-width": __props.columnMinWidth,
823
- select: __props.select,
824
- "select-on": __props.selectOn,
825
- headless: __props.headless,
826
- "enter-action": __props.enterAction,
827
- "row-class": __props.rowClass,
828
- "row-attrs": __props.rowAttrs,
829
- onRowClick: _cache[0] || (_cache[0] = (row, ev) => emit("row-click", row, ev)),
830
- onRowDblclick: _cache[1] || (_cache[1] = (row, ev) => emit("row-dblclick", row, ev)),
831
- onViewportMetricsChange: onMetrics
832
- }, createSlots({ _: 2 }, [renderList(_ctx.$slots, (_, name) => {
833
- return {
834
- name,
835
- fn: withCtx((slotProps) => [renderSlot(_ctx.$slots, name, normalizeProps(guardReactiveProps(slotProps ?? {})))])
836
- };
837
- })]), 1032, [
838
- "columns",
839
- "row-height",
840
- "wheel-rows-per-tick",
841
- "column-menu",
842
- "reorderable",
843
- "resizable",
844
- "column-min-width",
845
- "select",
846
- "select-on",
847
- "headless",
848
- "enter-action",
849
- "row-class",
850
- "row-attrs"
851
- ]), unref(state).querying.value ? (openBlock(), createElementBlock("div", _hoisted_1, [renderSlot(_ctx.$slots, "query-loading", {}, () => [_cache[2] || (_cache[2] = createElementVNode("span", {
852
- class: "as-table-query-overlay-icon",
853
- "aria-hidden": "true"
854
- }, null, -1))])])) : createCommentVNode("v-if", true)], 512);
849
+ }, [
850
+ createVNode(as_selection_banner_default, {
851
+ ref_key: "bannerRef",
852
+ ref: bannerRef,
853
+ scope: "loaded"
854
+ }, createSlots({ _: 2 }, [_ctx.$slots["selection-banner"] ? {
855
+ name: "default",
856
+ fn: withCtx((bannerProps) => [renderSlot(_ctx.$slots, "selection-banner", normalizeProps(guardReactiveProps(bannerProps)))]),
857
+ key: "0"
858
+ } : void 0]), 1536),
859
+ createVNode(as_window_table_base_default, {
860
+ columns: unref(effectiveColumns),
861
+ "row-height": __props.rowHeight,
862
+ "wheel-rows-per-tick": __props.wheelRowsPerTick,
863
+ "column-menu": __props.columnMenu,
864
+ reorderable: __props.reorderable,
865
+ resizable: __props.resizable,
866
+ "column-min-width": __props.columnMinWidth,
867
+ select: __props.select,
868
+ "select-on": __props.selectOn,
869
+ headless: __props.headless,
870
+ "enter-action": __props.enterAction,
871
+ "row-class": __props.rowClass,
872
+ "row-attrs": __props.rowAttrs,
873
+ onRowClick: _cache[0] || (_cache[0] = (row, ev) => emit("row-click", row, ev)),
874
+ onRowDblclick: _cache[1] || (_cache[1] = (row, ev) => emit("row-dblclick", row, ev)),
875
+ onViewportMetricsChange: onMetrics
876
+ }, createSlots({ _: 2 }, [renderList(_ctx.$slots, (_, name) => {
877
+ return {
878
+ name,
879
+ fn: withCtx((slotProps) => [renderSlot(_ctx.$slots, name, normalizeProps(guardReactiveProps(slotProps ?? {})))])
880
+ };
881
+ })]), 1032, [
882
+ "columns",
883
+ "row-height",
884
+ "wheel-rows-per-tick",
885
+ "column-menu",
886
+ "reorderable",
887
+ "resizable",
888
+ "column-min-width",
889
+ "select",
890
+ "select-on",
891
+ "headless",
892
+ "enter-action",
893
+ "row-class",
894
+ "row-attrs"
895
+ ]),
896
+ unref(state).querying.value ? (openBlock(), createElementBlock("div", _hoisted_1, [renderSlot(_ctx.$slots, "query-loading", {}, () => [_cache[2] || (_cache[2] = createElementVNode("span", {
897
+ class: "as-table-query-overlay-icon",
898
+ "aria-hidden": "true"
899
+ }, null, -1))])])) : createCommentVNode("v-if", true)
900
+ ], 512);
855
901
  };
856
902
  }
857
903
  });
@@ -1,9 +1,9 @@
1
- const require_use_table_state = require("./use-table-state-Ddr2UZzB.cjs");
1
+ const require_use_table_state = require("./use-table-state-sDnqOi3b.cjs");
2
2
  const require_get_cell_value = require("./get-cell-value-CJT4fk4y.cjs");
3
- const require_use_table_selection = require("./use-table-selection-DtCV3rhu.cjs");
3
+ const require_use_table_selection = require("./use-table-selection-Cs7-gjHg.cjs");
4
4
  const require_use_has_emit_listener = require("./use-has-emit-listener-BaGFZDyM.cjs");
5
- const require_use_table_column_handlers = require("./use-table-column-handlers-DksXpbON.cjs");
6
- const require_as_select_cell = require("./as-select-cell-DwMfqBMV.cjs");
5
+ const require_as_selection_banner = require("./as-selection-banner-BI5gKHqW.cjs");
6
+ const require_as_select_cell = require("./as-select-cell-CoQJjhnq.cjs");
7
7
  let vue = require("vue");
8
8
  let _atscript_ui_table = require("@atscript/ui-table");
9
9
  let _vueuse_core = require("@vueuse/core");
@@ -292,7 +292,16 @@ var as_window_table_base_default = /* @__PURE__ */ (0, vue.defineComponent)({
292
292
  const rows = allLoadedRows.value;
293
293
  return rows ? new Set((0, _atscript_ui_table.rowsToPks)(state.selectableRows(rows), state.rowValueFn)) : null;
294
294
  });
295
+ /**
296
+ * The header acts on the CACHED rows instead of the whole dataset while a
297
+ * query selection is held (it covers unloaded rows anyway), and — for a
298
+ * table that offers "Select all N matching" — while the dataset is only
299
+ * partly loaded: picking the cached rows is the step before the banner's
300
+ * offer. Since 0.1.147.
301
+ */
302
+ const cachedScope = (0, vue.computed)(() => props.select === "multi" && (!!state.querySelection.value || allLoadedRows.value === null && state.canSelectAllMatching.value));
295
303
  const selectAllState = (0, vue.computed)(() => {
304
+ if (cachedScope.value) return require_use_table_state.toSelectAllState(state.loadedSelectedCount.value, state.loadedEligiblePks.value.length, !!state.querySelection.value);
296
305
  const eligible = eligibleLoadedPks.value;
297
306
  if (!eligible) return void 0;
298
307
  let selected = 0;
@@ -315,7 +324,7 @@ var as_window_table_base_default = /* @__PURE__ */ (0, vue.defineComponent)({
315
324
  const top = state.topIndex.value;
316
325
  const rowValueFn = state.rowValueFn;
317
326
  const hasSelection = props.select !== "none";
318
- const selectedSet = hasSelection ? new Set(state.selectedRows.value) : null;
327
+ const isSelected = state.isPkSelected;
319
328
  const gated = !!state.rowSelectable.value;
320
329
  const hasHooks = gated || !!props.rowClass || !!props.rowAttrs;
321
330
  const out = [];
@@ -323,7 +332,7 @@ var as_window_table_base_default = /* @__PURE__ */ (0, vue.defineComponent)({
323
332
  const abs = top + s;
324
333
  const row = state.dataAt(abs);
325
334
  const pk = row === void 0 ? void 0 : rowValueFn(row);
326
- const selected = selectedSet !== null && row !== void 0 && selectedSet.has(pk);
335
+ const selected = hasSelection && row !== void 0 && isSelected(pk);
327
336
  let selectable = SELECTABLE;
328
337
  let cls;
329
338
  let attrs;
@@ -422,10 +431,15 @@ var as_window_table_base_default = /* @__PURE__ */ (0, vue.defineComponent)({
422
431
  state.requestMainAction(event);
423
432
  }
424
433
  function onToggleAll() {
425
- const rows = allLoadedRows.value;
426
- if (rows) state.toggleAll(rows);
434
+ if (!cachedScope.value) {
435
+ const rows = allLoadedRows.value;
436
+ if (rows) state.toggleAll(rows);
437
+ return;
438
+ }
439
+ const entries = [...state.windowCache.value.entries()];
440
+ state.toggleAll(entries.map(([, row]) => row), (i) => entries[i][0]);
427
441
  }
428
- const { onSort, onHide, onFilter, onFiltersOff, onResetWidth, onReorder, onClearFilters } = require_use_table_column_handlers.useTableColumnHandlers(state);
442
+ const { onSort, onHide, onFilter, onFiltersOff, onResetWidth, onReorder, onClearFilters } = require_as_selection_banner.useTableColumnHandlers(state);
429
443
  const wrapperRef = (0, vue.ref)(null);
430
444
  const poolRef = (0, vue.ref)(null);
431
445
  let recomputeScheduled = false;
@@ -782,13 +796,33 @@ var as_window_table_default = /* @__PURE__ */ (0, vue.defineComponent)({
782
796
  state.rowSelectable.value = val;
783
797
  }, { immediate: true });
784
798
  require_use_table_selection.useSelectModeReset(state, () => props.select);
785
- const effectiveColumns = require_use_table_column_handlers.useRowActionsColumn(state, {
799
+ const effectiveColumns = require_as_selection_banner.useRowActionsColumn(state, {
786
800
  placement: () => props.rowActionsColumn,
787
801
  select: () => props.select,
788
802
  columns: () => state.columns.value
789
803
  });
790
804
  require_use_table_state.useRegisterMainActionListener(state, (req) => emit("main-action", req.row, req.absIndex, req.event), require_use_has_emit_listener.useHasEmitListener("onMainAction"));
791
805
  const containerRef = (0, vue.ref)(null);
806
+ const bannerRef = (0, vue.ref)(null);
807
+ const bannerHeight = (0, vue.ref)(0);
808
+ (0, _vueuse_core.useResizeObserver)(() => {
809
+ const el = bannerRef.value?.$el;
810
+ return el instanceof HTMLElement ? el : void 0;
811
+ }, (entries) => {
812
+ bannerHeight.value = (entries[0]?.target)?.offsetHeight ?? 0;
813
+ });
814
+ let lastMetrics = null;
815
+ (0, vue.watch)(bannerHeight, () => applyContainerSize());
816
+ function applyContainerSize() {
817
+ const container = containerRef.value;
818
+ if (!container || !lastMetrics) return;
819
+ const minR = props.rows ?? props.minRows;
820
+ const maxR = props.rows ?? props.maxRows;
821
+ const { rowHeightPx, chromePx } = lastMetrics;
822
+ const px = (n) => `${n * rowHeightPx + chromePx + bannerHeight.value}px`;
823
+ container.style.minHeight = minR !== void 0 ? px(minR) : "";
824
+ container.style.maxHeight = maxR !== void 0 ? px(maxR) : "";
825
+ }
792
826
  function onMetrics({ fits, rowHeightPx, chromePx }) {
793
827
  const minR = props.rows ?? props.minRows;
794
828
  const maxR = props.rows ?? props.maxRows;
@@ -798,11 +832,11 @@ var as_window_table_default = /* @__PURE__ */ (0, vue.defineComponent)({
798
832
  state.viewportRowCount.value = target;
799
833
  const clamped = (0, _atscript_ui_table.clampTopIndex)(state.topIndex.value, state.totalCount.value, target);
800
834
  if (clamped !== state.topIndex.value) state.topIndex.value = clamped;
801
- const container = containerRef.value;
802
- if (!container) return;
803
- const px = (n) => `${n * rowHeightPx + chromePx}px`;
804
- container.style.minHeight = minR !== void 0 ? px(minR) : "";
805
- container.style.maxHeight = maxR !== void 0 ? px(maxR) : "";
835
+ lastMetrics = {
836
+ rowHeightPx,
837
+ chromePx
838
+ };
839
+ applyContainerSize();
806
840
  }
807
841
  (0, vue.watch)(() => state.lastError.value, (info) => {
808
842
  if (info) emit("error", info.error, info.kind);
@@ -812,46 +846,58 @@ var as_window_table_default = /* @__PURE__ */ (0, vue.defineComponent)({
812
846
  ref_key: "containerRef",
813
847
  ref: containerRef,
814
848
  class: "as-table-outer-wrap"
815
- }, [(0, vue.createVNode)(as_window_table_base_default, {
816
- columns: (0, vue.unref)(effectiveColumns),
817
- "row-height": __props.rowHeight,
818
- "wheel-rows-per-tick": __props.wheelRowsPerTick,
819
- "column-menu": __props.columnMenu,
820
- reorderable: __props.reorderable,
821
- resizable: __props.resizable,
822
- "column-min-width": __props.columnMinWidth,
823
- select: __props.select,
824
- "select-on": __props.selectOn,
825
- headless: __props.headless,
826
- "enter-action": __props.enterAction,
827
- "row-class": __props.rowClass,
828
- "row-attrs": __props.rowAttrs,
829
- onRowClick: _cache[0] || (_cache[0] = (row, ev) => emit("row-click", row, ev)),
830
- onRowDblclick: _cache[1] || (_cache[1] = (row, ev) => emit("row-dblclick", row, ev)),
831
- onViewportMetricsChange: onMetrics
832
- }, (0, vue.createSlots)({ _: 2 }, [(0, vue.renderList)(_ctx.$slots, (_, name) => {
833
- return {
834
- name,
835
- fn: (0, vue.withCtx)((slotProps) => [(0, vue.renderSlot)(_ctx.$slots, name, (0, vue.normalizeProps)((0, vue.guardReactiveProps)(slotProps ?? {})))])
836
- };
837
- })]), 1032, [
838
- "columns",
839
- "row-height",
840
- "wheel-rows-per-tick",
841
- "column-menu",
842
- "reorderable",
843
- "resizable",
844
- "column-min-width",
845
- "select",
846
- "select-on",
847
- "headless",
848
- "enter-action",
849
- "row-class",
850
- "row-attrs"
851
- ]), (0, vue.unref)(state).querying.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1, [(0, vue.renderSlot)(_ctx.$slots, "query-loading", {}, () => [_cache[2] || (_cache[2] = (0, vue.createElementVNode)("span", {
852
- class: "as-table-query-overlay-icon",
853
- "aria-hidden": "true"
854
- }, null, -1))])])) : (0, vue.createCommentVNode)("v-if", true)], 512);
849
+ }, [
850
+ (0, vue.createVNode)(require_as_selection_banner.as_selection_banner_default, {
851
+ ref_key: "bannerRef",
852
+ ref: bannerRef,
853
+ scope: "loaded"
854
+ }, (0, vue.createSlots)({ _: 2 }, [_ctx.$slots["selection-banner"] ? {
855
+ name: "default",
856
+ fn: (0, vue.withCtx)((bannerProps) => [(0, vue.renderSlot)(_ctx.$slots, "selection-banner", (0, vue.normalizeProps)((0, vue.guardReactiveProps)(bannerProps)))]),
857
+ key: "0"
858
+ } : void 0]), 1536),
859
+ (0, vue.createVNode)(as_window_table_base_default, {
860
+ columns: (0, vue.unref)(effectiveColumns),
861
+ "row-height": __props.rowHeight,
862
+ "wheel-rows-per-tick": __props.wheelRowsPerTick,
863
+ "column-menu": __props.columnMenu,
864
+ reorderable: __props.reorderable,
865
+ resizable: __props.resizable,
866
+ "column-min-width": __props.columnMinWidth,
867
+ select: __props.select,
868
+ "select-on": __props.selectOn,
869
+ headless: __props.headless,
870
+ "enter-action": __props.enterAction,
871
+ "row-class": __props.rowClass,
872
+ "row-attrs": __props.rowAttrs,
873
+ onRowClick: _cache[0] || (_cache[0] = (row, ev) => emit("row-click", row, ev)),
874
+ onRowDblclick: _cache[1] || (_cache[1] = (row, ev) => emit("row-dblclick", row, ev)),
875
+ onViewportMetricsChange: onMetrics
876
+ }, (0, vue.createSlots)({ _: 2 }, [(0, vue.renderList)(_ctx.$slots, (_, name) => {
877
+ return {
878
+ name,
879
+ fn: (0, vue.withCtx)((slotProps) => [(0, vue.renderSlot)(_ctx.$slots, name, (0, vue.normalizeProps)((0, vue.guardReactiveProps)(slotProps ?? {})))])
880
+ };
881
+ })]), 1032, [
882
+ "columns",
883
+ "row-height",
884
+ "wheel-rows-per-tick",
885
+ "column-menu",
886
+ "reorderable",
887
+ "resizable",
888
+ "column-min-width",
889
+ "select",
890
+ "select-on",
891
+ "headless",
892
+ "enter-action",
893
+ "row-class",
894
+ "row-attrs"
895
+ ]),
896
+ (0, vue.unref)(state).querying.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1, [(0, vue.renderSlot)(_ctx.$slots, "query-loading", {}, () => [_cache[2] || (_cache[2] = (0, vue.createElementVNode)("span", {
897
+ class: "as-table-query-overlay-icon",
898
+ "aria-hidden": "true"
899
+ }, null, -1))])])) : (0, vue.createCommentVNode)("v-if", true)
900
+ ], 512);
855
901
  };
856
902
  }
857
903
  });
@@ -1,2 +1,2 @@
1
- const require_as_window_table = require("./as-window-table-Bj1dXOS6.cjs");
1
+ const require_as_window_table = require("./as-window-table-_flc8o64.cjs");
2
2
  module.exports = require_as_window_table.as_window_table_default;
@@ -1,2 +1,2 @@
1
- import { t as _default } from "./as-window-table.vue-ijutqrJ0.cjs";
1
+ import { I as _default } from "./as-table-root.vue-CF03c4vu.cjs";
2
2
  export = _default;
@@ -1,2 +1,2 @@
1
- import { t as _default } from "./as-window-table.vue-CYFgK10g.mjs";
1
+ import { I as _default } from "./as-table-root.vue-Bm2DxAqU.mjs";
2
2
  export { _default as default };
@@ -1,2 +1,2 @@
1
- import { t as as_window_table_default } from "./as-window-table-JOTOi_Nm.mjs";
1
+ import { t as as_window_table_default } from "./as-window-table-CygDqZMU.mjs";
2
2
  export { as_window_table_default as default };
package/dist/index.cjs CHANGED
@@ -1,10 +1,10 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_use_table_state = require("./use-table-state-Ddr2UZzB.cjs");
2
+ const require_use_table_state = require("./use-table-state-sDnqOi3b.cjs");
3
3
  const require_get_cell_value = require("./get-cell-value-CJT4fk4y.cjs");
4
- const require_use_table_selection = require("./use-table-selection-DtCV3rhu.cjs");
5
- const require_use_table = require("./use-table-W0KmaJ6L.cjs");
6
- const require_use_table_nav_bridge = require("./use-table-nav-bridge-CPI1tql6.cjs");
7
- const require_use_table_component = require("./use-table-component-BvAC82_c.cjs");
4
+ const require_use_table_selection = require("./use-table-selection-Cs7-gjHg.cjs");
5
+ const require_use_table = require("./use-table-CydIJZbx.cjs");
6
+ const require_use_table_nav_bridge = require("./use-table-nav-bridge-B7A30yja.cjs");
7
+ const require_use_table_component = require("./use-table-component-aqfGzECx.cjs");
8
8
  const require_as_cell_array = require("./as-cell-array-CCZ0Ajj9.cjs");
9
9
  const require_as_cell_date = require("./as-cell-date-RU5JPJhI.cjs");
10
10
  const require_use_cell_locale = require("./use-cell-locale-BGBRQB7s.cjs");
@@ -13,22 +13,22 @@ const require_as_cell_number = require("./as-cell-number-DGJCTXDf.cjs");
13
13
  const require_format_cell = require("./format-cell-vCNTh4WZ.cjs");
14
14
  const require_as_cell_union = require("./as-cell-union-LOGvhPeK.cjs");
15
15
  const require_as_column_menu = require("./as-column-menu-ChB7hzmr.cjs");
16
- const require_as_config_dialog = require("./as-config-dialog-CpW1Qemf.cjs");
17
- const require_as_confirm_dialog = require("./as-confirm-dialog-D3Vu1Rb_.cjs");
16
+ const require_as_config_dialog = require("./as-config-dialog-BJkBzaku.cjs");
17
+ const require_as_confirm_dialog = require("./as-confirm-dialog-C5xPbkox.cjs");
18
18
  const require_as_filter_input = require("./as-filter-input-DJu2k9gO.cjs");
19
- const require_as_filter_dialog = require("./as-filter-dialog-C4EyRr2_.cjs");
20
- const require_as_table_header_cell = require("./as-table-header-cell-BwaOPYwI.cjs");
21
- const require_as_window_table = require("./as-window-table-Bj1dXOS6.cjs");
22
- const require_as_filter_field = require("./as-filter-field-BQ9UlV0y.cjs");
23
- const require_as_residual_filter = require("./as-residual-filter-C8n7kdGW.cjs");
24
- const require_as_filters = require("./as-filters-DUfFkXAo.cjs");
25
- const require_as_preset_dialog = require("./as-preset-dialog-BlXqTZiT.cjs");
26
- const require_as_row_actions = require("./as-row-actions-DfUL9sYB.cjs");
19
+ const require_as_filter_dialog = require("./as-filter-dialog-Co0WfWOe.cjs");
20
+ const require_as_table_header_cell = require("./as-table-header-cell-gHhCdxJX.cjs");
21
+ const require_as_window_table = require("./as-window-table-_flc8o64.cjs");
22
+ const require_as_filter_field = require("./as-filter-field-FTrxFkTw.cjs");
23
+ const require_as_residual_filter = require("./as-residual-filter-sZlsFPDS.cjs");
24
+ const require_as_filters = require("./as-filters-W3iMELuL.cjs");
25
+ const require_as_preset_dialog = require("./as-preset-dialog-Dvvx0jmU.cjs");
26
+ const require_as_row_actions = require("./as-row-actions-DFv2cSrP.cjs");
27
27
  const require_as_table_cell_value = require("./as-table-cell-value-COyZnwUj.cjs");
28
- const require_as_table_root = require("./as-table-root-DXewWV9h.cjs");
29
- const require_as_table = require("./as-table-BjKzKB0a.cjs");
30
- const require_as_table_actions = require("./as-table-actions-DplblFlK.cjs");
31
- const require_as_preset_picker = require("./as-preset-picker-CVgyZBG7.cjs");
28
+ const require_as_table_root = require("./as-table-root-K6fWKHtF.cjs");
29
+ const require_as_table = require("./as-table-B1FowaPF.cjs");
30
+ const require_as_table_actions = require("./as-table-actions-B0xaicfv.cjs");
31
+ const require_as_preset_picker = require("./as-preset-picker-DFLhbm59.cjs");
32
32
  let _atscript_ui = require("@atscript/ui");
33
33
  let vue = require("vue");
34
34
  let _atscript_ui_table = require("@atscript/ui-table");
@@ -693,6 +693,7 @@ Object.defineProperty(exports, "PRESET_ASPECTS", {
693
693
  return _atscript_ui_table.PRESET_ASPECTS;
694
694
  }
695
695
  });
696
+ exports.QUERY_TARGET_UNSUPPORTED_REASON = require_use_table_state.QUERY_TARGET_UNSUPPORTED_REASON;
696
697
  Object.defineProperty(exports, "STANDARD_PRESET_ID", {
697
698
  enumerable: true,
698
699
  get: function() {
@@ -705,6 +706,7 @@ Object.defineProperty(exports, "SYSTEM_PRESET_PREFIX", {
705
706
  return _atscript_ui_table.SYSTEM_PRESET_PREFIX;
706
707
  }
707
708
  });
709
+ exports.actionIdentifiers = require_use_table_state.actionIdentifiers;
708
710
  exports.clearTableCache = require_use_table.clearTableCache;
709
711
  exports.createDefaultCellTypes = createDefaultCellTypes;
710
712
  exports.createDefaultControls = createDefaultControls;
@@ -721,6 +723,7 @@ Object.defineProperty(exports, "getDefaultClientFactory", {
721
723
  return _atscript_ui.getDefaultClientFactory;
722
724
  }
723
725
  });
726
+ exports.identifierFieldsOf = require_use_table_state.identifierFieldsOf;
724
727
  exports.injectPresetsApp = require_use_table.injectPresetsApp;
725
728
  Object.defineProperty(exports, "isSystemPresetId", {
726
729
  enumerable: true,
@@ -730,6 +733,7 @@ Object.defineProperty(exports, "isSystemPresetId", {
730
733
  });
731
734
  exports.provideCellLocale = require_use_cell_locale.provideCellLocale;
732
735
  exports.provideTableContext = require_use_table_state.provideTableContext;
736
+ exports.queryTargetGate = require_use_table_state.queryTargetGate;
733
737
  Object.defineProperty(exports, "resetDefaultClientFactory", {
734
738
  enumerable: true,
735
739
  get: function() {
package/dist/index.d.cts CHANGED
@@ -1,23 +1,21 @@
1
1
  import { t as _default$11 } from "./as-filters.vue-vH1FHn9L.cjs";
2
2
  import { t as _default$13 } from "./as-preset-picker.vue-DfXS3pGl.cjs";
3
- import { A as TableNavBridge, C as RowSelectableVerdict, D as TAsTableControls, E as TAsCellTypeComponents, M as extractIdentifier, O as TVueTableActionInfo, S as RowSelectableHook, T as SelectOn, _ as RowActionsConfig, b as RowDeleteOpt, c as InvokeOpts, d as NavKeyOptions, h as ResolvedRowActions, i as ConfigTab, j as resolveRowActions, k as TableActionsState, l as LocalRowAction, m as ReactiveTableState, n as ApplyUrlQueryOptions, o as DroppedFieldsReport, p as QueryErrorKind, r as ColumnMenuConfig, t as ActionResult, u as MainActionRequest, v as RowAttrsHook, w as SelectAllState, x as RowHookContext, y as RowClassHook } from "./types-D1NxhrpW.cjs";
4
- import { t as _default$16 } from "./as-table-actions.vue-BYphfAe2.cjs";
5
- import { $ as useTableExport, A as CellLocale, B as injectPresetsApp, C as isSystemPresetId, Ct as UseLocalDraftReturn, D as formatCellValue, E as setDefaultClientFactory, F as useTableComponent, G as useTableFilter, H as useTableUrlQuery, I as UseAppPrefsOptions, J as ExportProgress, K as useTableNavBridge, L as UseAppPrefsReturn, M as useCellLocale, N as createDefaultCellTypes, O as getCellValue, P as createDefaultControls, Q as downloadExport, R as useAppPrefs, S as getDefaultClientFactory, St as UseLocalDraftOptions, T as resolveSystemPresets, U as useTableActions, V as UseTableUrlQueryOptions, W as useTableSearch, X as ExportRowsOptions, Y as ExportResult, Z as UseTableExportReturn, _ as SYSTEM_PRESET_PREFIX, _t as ActivePresetView, a as CsvOptions, at as BuildQueryOptions, b as UrlQuerySync, bt as usePresets, c as ExportScalar, ct as QueryFn, d as PresetCapabilities, dt as TableStateInternals, et as UseTableOptions, f as PresetData, ft as createStaticTableState, g as STANDARD_PRESET_ID, gt as useTableContextOptional, h as QueryOptions, ht as useTableContext, i as ClientFactory, it as useTableSelection, j as provideCellLocale, k as getColumnWidth, l as PRESET_ASPECTS, lt as TableContext, m as PresetSnapshotWire, mt as provideTableContext, n as AppConfData, nt as useTable, o as DisplayColumnDef, ot as CreateStaticTableStateOptions, p as PresetSnapshot, pt as createTableState, q as ExportCellFormatter, r as AsPresetEntryRow, rt as SelectionPersistence, s as ExportAbortError, st as CreateTableStateOptions, t as _default$19, tt as clearTableCache, u as PresetAspect, ut as TableModelRefs, v as SystemPreset, vt as UsePresetsOptions, w as resetDefaultClientFactory, wt as useLocalDraft, x as UserConfData, xt as StorageLike, y as SystemPresetInput, yt as UsePresetsReturn, z as AS_PRESETS_APP } from "./as-table-root.vue-Bjzp8TJl.cjs";
6
- import { t as _default$15 } from "./as-table.vue-BULJe49x.cjs";
7
- import { t as _default$20 } from "./as-window-table.vue-ijutqrJ0.cjs";
8
- import { t as _default } from "./as-cell-array.vue-pFs5GcCR.cjs";
9
- import { t as _default$1 } from "./as-cell-date.vue-BBSps2B2.cjs";
10
- import { t as _default$2 } from "./as-cell-json.vue-C6wg4ARZ.cjs";
11
- import { t as _default$3 } from "./as-cell-number.vue-CJ2K5zeM.cjs";
12
- import { t as _default$4 } from "./as-cell-union.vue-CslPM_c2.cjs";
13
- import { t as _default$5 } from "./as-column-menu.vue-ByTECTbX.cjs";
14
- import { t as _default$6 } from "./as-config-dialog.vue-DvvJi3xx.cjs";
15
- import { t as _default$7 } from "./as-confirm-dialog.vue-CXxLpzbu.cjs";
16
- import { t as _default$8 } from "./as-filter-dialog.vue-BV2J8PgZ.cjs";
17
- import { t as _default$9 } from "./as-filter-field.vue-ByQ8xIGq.cjs";
18
- import { t as _default$10 } from "./as-filter-input.vue-CS4nOk_Q.cjs";
19
- import { t as _default$12 } from "./as-preset-dialog.vue-DP9fy00Y.cjs";
20
- import { t as _default$14 } from "./as-row-actions.vue-Ba3VO9W-.cjs";
21
- import { t as _default$17 } from "./as-table-cell-value.vue-C0VR9GRK.cjs";
22
- import { t as _default$18 } from "./as-table-header-cell.vue-DU5h-2C_.cjs";
23
- export { AS_PRESETS_APP, ActionResult, ActivePresetView, AppConfData, ApplyUrlQueryOptions, _default as AsCellArray, _default$1 as AsCellDate, _default$2 as AsCellJson, _default$3 as AsCellNumber, _default$4 as AsCellUnion, _default$5 as AsColumnMenu, _default$6 as AsConfigDialog, _default$7 as AsConfirmDialog, _default$8 as AsFilterDialog, _default$9 as AsFilterField, _default$10 as AsFilterInput, _default$11 as AsFilters, _default$12 as AsPresetDialog, AsPresetEntryRow, _default$13 as AsPresetPicker, _default$14 as AsRowActions, _default$15 as AsTable, _default$16 as AsTableActions, _default$17 as AsTableCellValue, _default$18 as AsTableHeaderCell, _default$19 as AsTableRoot, _default$20 as AsWindowTable, BuildQueryOptions, CellLocale, ClientFactory, ColumnMenuConfig, ConfigTab, CreateStaticTableStateOptions, CreateTableStateOptions, CsvOptions, DisplayColumnDef, DroppedFieldsReport, ExportAbortError, ExportCellFormatter, ExportProgress, ExportResult, ExportRowsOptions, ExportScalar, InvokeOpts, LocalRowAction, MainActionRequest, NavKeyOptions, PRESET_ASPECTS, PresetAspect, PresetCapabilities, PresetData, PresetSnapshot, PresetSnapshotWire, QueryErrorKind, QueryFn, QueryOptions, ReactiveTableState, ResolvedRowActions, RowActionsConfig, RowAttrsHook, RowClassHook, RowDeleteOpt, RowHookContext, RowSelectableHook, RowSelectableVerdict, STANDARD_PRESET_ID, SYSTEM_PRESET_PREFIX, SelectAllState, SelectOn, SelectionPersistence, StorageLike, SystemPreset, SystemPresetInput, TAsCellTypeComponents, TAsTableControls, TVueTableActionInfo, TableActionsState, TableContext, TableModelRefs, TableNavBridge, TableStateInternals, UrlQuerySync, UseAppPrefsOptions, UseAppPrefsReturn, UseLocalDraftOptions, UseLocalDraftReturn, UsePresetsOptions, UsePresetsReturn, UseTableExportReturn, UseTableOptions, UseTableUrlQueryOptions, UserConfData, clearTableCache, createDefaultCellTypes, createDefaultControls, createStaticTableState, createTableState, downloadExport, extractIdentifier, formatCellValue, getCellValue, getColumnWidth, getDefaultClientFactory, injectPresetsApp, isSystemPresetId, provideCellLocale, provideTableContext, resetDefaultClientFactory, resolveRowActions, resolveSystemPresets, setDefaultClientFactory, useAppPrefs, useCellLocale, useLocalDraft, usePresets, useTable, useTableActions, useTableComponent, useTableContext, useTableContextOptional, useTableExport, useTableFilter, useTableNavBridge, useTableSearch, useTableSelection, useTableUrlQuery };
3
+ import { A as RowSelectableHook, B as TableSelection, C as ResolvedRowActions, D as RowClassHook, E as RowAttrsHook, F as TAsCellTypeComponents, I as TAsTableControls, L as TVueTableActionInfo, M as SelectAllState, N as SelectOn, O as RowDeleteOpt, P as SelectionResetEvent, R as TableActionsState, S as ReactiveTableState, T as RowActionsConfig, V as resolveRowActions, _ as MainActionRequest, a as identifierFieldsOf, b as QueryErrorKind, c as ActionResult, d as ConfigTab, g as LocalRowAction, h as InvokeOpts, i as extractIdentifier, j as RowSelectableVerdict, k as RowHookContext, l as ApplyUrlQueryOptions, n as QUERY_TARGET_UNSUPPORTED_REASON, o as queryTargetGate, p as DroppedFieldsReport, r as actionIdentifiers, s as ActionQueryTarget, u as ColumnMenuConfig, v as NavKeyOptions, x as QuerySelection, z as TableNavBridge } from "./intent-scope-BXPEN5kJ.cjs";
4
+ import { t as _default$16 } from "./as-table-actions.vue-BKRqHprR.cjs";
5
+ import { $ as ExportRowsOptions, A as getColumnWidth, B as UseAppPrefsReturn, C as getDefaultClientFactory, Ct as usePresets, D as setDefaultClientFactory, Dt as useLocalDraft, E as resolveSystemPresets, Et as UseLocalDraftReturn, F as createDefaultControls, G as useTableUrlQuery, H as AS_PRESETS_APP, I as _default$20, J as useTableFilter, K as useTableActions, L as _default$15, M as provideCellLocale, N as useCellLocale, O as formatCellValue, P as createDefaultCellTypes, Q as ExportResult, R as useTableComponent, S as UserConfData, St as UsePresetsReturn, T as resetDefaultClientFactory, Tt as UseLocalDraftOptions, U as injectPresetsApp, V as useAppPrefs, W as UseTableUrlQueryOptions, X as ExportCellFormatter, Y as useTableNavBridge, Z as ExportProgress, _ as SYSTEM_PRESET_PREFIX, _t as provideTableContext, a as CsvOptions, at as useTable, b as SystemPresetInput, bt as ActivePresetView, c as ExportScalar, ct as BuildQueryOptions, d as PresetCapabilities, dt as QueryFn, et as UseTableExportReturn, f as PresetData, ft as TableContext, g as STANDARD_PRESET_ID, gt as createTableState, h as QueryOptions, ht as createStaticTableState, i as ClientFactory, it as clearTableCache, j as CellLocale, k as getCellValue, l as PRESET_ASPECTS, lt as CreateStaticTableStateOptions, m as PresetSnapshotWire, mt as TableStateInternals, n as AppConfData, nt as useTableExport, o as DisplayColumnDef, ot as SelectionPersistence, p as PresetSnapshot, pt as TableModelRefs, q as useTableSearch, r as AsPresetEntryRow, rt as UseTableOptions, s as ExportAbortError, st as useTableSelection, t as _default$19, tt as downloadExport, u as PresetAspect, ut as CreateTableStateOptions, v as SelectionQuery, vt as useTableContext, w as isSystemPresetId, wt as StorageLike, x as UrlQuerySync, xt as UsePresetsOptions, y as SystemPreset, yt as useTableContextOptional, z as UseAppPrefsOptions } from "./as-table-root.vue-CF03c4vu.cjs";
6
+ import { t as _default } from "./as-cell-array.vue-C4BTM8YW.cjs";
7
+ import { t as _default$1 } from "./as-cell-date.vue-BcMgxBfm.cjs";
8
+ import { t as _default$2 } from "./as-cell-json.vue-pwE9uJdv.cjs";
9
+ import { t as _default$3 } from "./as-cell-number.vue-pbgVCIWT.cjs";
10
+ import { t as _default$4 } from "./as-cell-union.vue-BK_M7opL.cjs";
11
+ import { t as _default$5 } from "./as-column-menu.vue-B6iuKmIj.cjs";
12
+ import { t as _default$6 } from "./as-config-dialog.vue-C-Jw_rb7.cjs";
13
+ import { t as _default$7 } from "./as-confirm-dialog.vue-D8hJ5qPY.cjs";
14
+ import { t as _default$8 } from "./as-filter-dialog.vue-CyD6qtuX.cjs";
15
+ import { t as _default$9 } from "./as-filter-field.vue-ajAFhraz.cjs";
16
+ import { t as _default$10 } from "./as-filter-input.vue-CksJOtqw.cjs";
17
+ import { t as _default$12 } from "./as-preset-dialog.vue-BEM-L4BY.cjs";
18
+ import { t as _default$14 } from "./as-row-actions.vue-BHrZBXVU.cjs";
19
+ import { t as _default$17 } from "./as-table-cell-value.vue-UkAuJanv.cjs";
20
+ import { t as _default$18 } from "./as-table-header-cell.vue-BCk4NPYT.cjs";
21
+ export { AS_PRESETS_APP, ActionQueryTarget, ActionResult, ActivePresetView, AppConfData, ApplyUrlQueryOptions, _default as AsCellArray, _default$1 as AsCellDate, _default$2 as AsCellJson, _default$3 as AsCellNumber, _default$4 as AsCellUnion, _default$5 as AsColumnMenu, _default$6 as AsConfigDialog, _default$7 as AsConfirmDialog, _default$8 as AsFilterDialog, _default$9 as AsFilterField, _default$10 as AsFilterInput, _default$11 as AsFilters, _default$12 as AsPresetDialog, AsPresetEntryRow, _default$13 as AsPresetPicker, _default$14 as AsRowActions, _default$15 as AsTable, _default$16 as AsTableActions, _default$17 as AsTableCellValue, _default$18 as AsTableHeaderCell, _default$19 as AsTableRoot, _default$20 as AsWindowTable, BuildQueryOptions, CellLocale, ClientFactory, ColumnMenuConfig, ConfigTab, CreateStaticTableStateOptions, CreateTableStateOptions, CsvOptions, DisplayColumnDef, DroppedFieldsReport, ExportAbortError, ExportCellFormatter, ExportProgress, ExportResult, ExportRowsOptions, ExportScalar, InvokeOpts, LocalRowAction, MainActionRequest, NavKeyOptions, PRESET_ASPECTS, PresetAspect, PresetCapabilities, PresetData, PresetSnapshot, PresetSnapshotWire, QUERY_TARGET_UNSUPPORTED_REASON, QueryErrorKind, QueryFn, QueryOptions, QuerySelection, ReactiveTableState, ResolvedRowActions, RowActionsConfig, RowAttrsHook, RowClassHook, RowDeleteOpt, RowHookContext, RowSelectableHook, RowSelectableVerdict, STANDARD_PRESET_ID, SYSTEM_PRESET_PREFIX, SelectAllState, SelectOn, SelectionPersistence, SelectionQuery, SelectionResetEvent, StorageLike, SystemPreset, SystemPresetInput, TAsCellTypeComponents, TAsTableControls, TVueTableActionInfo, TableActionsState, TableContext, TableModelRefs, TableNavBridge, TableSelection, TableStateInternals, UrlQuerySync, UseAppPrefsOptions, UseAppPrefsReturn, UseLocalDraftOptions, UseLocalDraftReturn, UsePresetsOptions, UsePresetsReturn, UseTableExportReturn, UseTableOptions, UseTableUrlQueryOptions, UserConfData, actionIdentifiers, clearTableCache, createDefaultCellTypes, createDefaultControls, createStaticTableState, createTableState, downloadExport, extractIdentifier, formatCellValue, getCellValue, getColumnWidth, getDefaultClientFactory, identifierFieldsOf, injectPresetsApp, isSystemPresetId, provideCellLocale, provideTableContext, queryTargetGate, resetDefaultClientFactory, resolveRowActions, resolveSystemPresets, setDefaultClientFactory, useAppPrefs, useCellLocale, useLocalDraft, usePresets, useTable, useTableActions, useTableComponent, useTableContext, useTableContextOptional, useTableExport, useTableFilter, useTableNavBridge, useTableSearch, useTableSelection, useTableUrlQuery };