@atscript/vue-table 0.1.141 → 0.1.142

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 (113) hide show
  1. package/dist/as-action-form-dialog.cjs +1 -1
  2. package/dist/as-action-form-dialog.mjs +1 -1
  3. package/dist/{as-action-menu-content-AKbIp4Ni.cjs → as-action-menu-content-BaNFBYn3.cjs} +1 -1
  4. package/dist/{as-action-menu-content-6dR5q8bs.mjs → as-action-menu-content-miQYVP7x.mjs} +1 -1
  5. package/dist/as-column-menu.d.cts +1 -1
  6. package/dist/as-column-menu.d.mts +1 -1
  7. package/dist/{as-column-menu.vue-DapdB_qF.d.cts → as-column-menu.vue-Ca3wSDxw.d.mts} +2 -2
  8. package/dist/{as-column-menu.vue-Ys_sx0VE.d.mts → as-column-menu.vue-Co7FtiEM.d.cts} +2 -2
  9. package/dist/{as-config-dialog-Chpw_2tu.cjs → as-config-dialog-CVSOrS9O.cjs} +2 -2
  10. package/dist/{as-config-dialog-UeMU7jTP.mjs → as-config-dialog-Di02V3bs.mjs} +2 -2
  11. package/dist/as-config-dialog.cjs +1 -1
  12. package/dist/as-config-dialog.mjs +1 -1
  13. package/dist/{as-confirm-dialog-SIqCOw2p.mjs → as-confirm-dialog-C9Qat2rG.mjs} +1 -1
  14. package/dist/{as-confirm-dialog-hHYVEX9E.cjs → as-confirm-dialog-fCwo1ty9.cjs} +1 -1
  15. package/dist/as-confirm-dialog.cjs +1 -1
  16. package/dist/as-confirm-dialog.mjs +1 -1
  17. package/dist/{as-filter-dialog-Xvj5q09A.cjs → as-filter-dialog-DYpbsNDx.cjs} +7 -7
  18. package/dist/{as-filter-dialog-DVRhCx6O.mjs → as-filter-dialog-DdtrTT5w.mjs} +7 -7
  19. package/dist/as-filter-dialog.cjs +1 -1
  20. package/dist/as-filter-dialog.mjs +1 -1
  21. package/dist/{as-filter-field-B7b2sEG0.cjs → as-filter-field-4-qFRsJx.cjs} +8 -10
  22. package/dist/{as-filter-field-D4vQCOEU.mjs → as-filter-field-DEQVodKG.mjs} +8 -10
  23. package/dist/as-filter-field.cjs +1 -1
  24. package/dist/as-filter-field.mjs +1 -1
  25. package/dist/{as-filters-CWQgQBCH.cjs → as-filters-C6ZkLrf4.cjs} +68 -25
  26. package/dist/{as-filters-CudeInPr.mjs → as-filters-Dd_j6_6G.mjs} +69 -26
  27. package/dist/as-filters.cjs +1 -1
  28. package/dist/as-filters.d.cts +1 -1
  29. package/dist/as-filters.d.mts +1 -1
  30. package/dist/as-filters.mjs +1 -1
  31. package/dist/{as-filters.vue-BSgUEh4D.d.mts → as-filters.vue-dHbGmcbr.d.mts} +56 -4
  32. package/dist/{as-filters.vue-DMXZhQW3.d.cts → as-filters.vue-vH1FHn9L.d.cts} +56 -4
  33. package/dist/{as-preset-dialog-BsWSuY9N.mjs → as-preset-dialog-Bap48oUv.mjs} +1 -1
  34. package/dist/{as-preset-dialog-l81WXBmf.cjs → as-preset-dialog-SYA-6lGR.cjs} +1 -1
  35. package/dist/as-preset-dialog.cjs +1 -1
  36. package/dist/as-preset-dialog.mjs +1 -1
  37. package/dist/{as-preset-picker-Bp4xMTua.cjs → as-preset-picker-BdKTZa95.cjs} +1 -1
  38. package/dist/{as-preset-picker-BTkMqSxH.mjs → as-preset-picker-NBrvsE6s.mjs} +1 -1
  39. package/dist/as-preset-picker.cjs +1 -1
  40. package/dist/as-preset-picker.mjs +1 -1
  41. package/dist/{as-residual-filter-D1SGFQ1p.mjs → as-residual-filter-BFnbI3h3.mjs} +1 -1
  42. package/dist/{as-residual-filter-BJ4cwFP4.cjs → as-residual-filter-CZ-Bytdj.cjs} +1 -1
  43. package/dist/as-residual-filter.cjs +1 -1
  44. package/dist/as-residual-filter.mjs +1 -1
  45. package/dist/{as-row-actions-9p_BJPga.cjs → as-row-actions-C3xHkX53.cjs} +2 -2
  46. package/dist/{as-row-actions-CH8WZ5kN.mjs → as-row-actions-KeoHo9Ex.mjs} +2 -2
  47. package/dist/as-row-actions.cjs +1 -1
  48. package/dist/as-row-actions.d.cts +1 -1
  49. package/dist/as-row-actions.d.mts +1 -1
  50. package/dist/as-row-actions.mjs +1 -1
  51. package/dist/{as-row-actions.vue-BezMFOr6.d.cts → as-row-actions.vue-D3_z3ytk.d.cts} +1 -1
  52. package/dist/{as-row-actions.vue-BOURuyjv.d.mts → as-row-actions.vue-nmaDuxBT.d.mts} +1 -1
  53. package/dist/{as-table-status-Bl9XmWqc.mjs → as-select-cell-KD_ns8DS.mjs} +149 -36
  54. package/dist/{as-table-status-bbuFDaaK.cjs → as-select-cell-XnzNuW2v.cjs} +154 -35
  55. package/dist/{as-table-DmmXWq94.mjs → as-table-NHqyekNd.mjs} +10 -11
  56. package/dist/{as-table-actions-CFBAxKIS.mjs → as-table-actions-BpEFcsgh.mjs} +2 -2
  57. package/dist/{as-table-actions-oxVqSH-G.cjs → as-table-actions-UQmFtRdJ.cjs} +2 -2
  58. package/dist/as-table-actions.cjs +1 -1
  59. package/dist/as-table-actions.d.cts +1 -1
  60. package/dist/as-table-actions.d.mts +1 -1
  61. package/dist/as-table-actions.mjs +1 -1
  62. package/dist/{as-table-actions.vue-CrZtcxAY.d.mts → as-table-actions.vue-BG3JVaBQ.d.mts} +2 -2
  63. package/dist/{as-table-actions.vue-Dls_1Vze.d.cts → as-table-actions.vue-DcuzNZoC.d.cts} +2 -2
  64. package/dist/{as-table-fOBpTDrI.cjs → as-table-ay1yel3u.cjs} +10 -11
  65. package/dist/{as-table-base-Cl1XJu4H.mjs → as-table-base-89DkDZ-1.mjs} +46 -60
  66. package/dist/{as-table-base--MfU8LVN.cjs → as-table-base-umzg4PBR.cjs} +51 -65
  67. package/dist/{as-table-header-cell-M8g9X9dR.mjs → as-table-header-cell-DU3ws2x9.mjs} +1 -1
  68. package/dist/{as-table-header-cell-10DQEs00.cjs → as-table-header-cell-f3YpgJX1.cjs} +1 -1
  69. package/dist/as-table-header-cell.cjs +1 -1
  70. package/dist/as-table-header-cell.d.cts +1 -1
  71. package/dist/as-table-header-cell.d.mts +1 -1
  72. package/dist/as-table-header-cell.mjs +1 -1
  73. package/dist/{as-table-header-cell.vue-D-iI_EJY.d.cts → as-table-header-cell.vue-5VGRc23o.d.mts} +2 -2
  74. package/dist/{as-table-header-cell.vue-SMBpzqU2.d.mts → as-table-header-cell.vue-XR90UlHO.d.cts} +2 -2
  75. package/dist/{as-table-root-Bl423S7X.mjs → as-table-root-47hiBEnq.mjs} +4 -4
  76. package/dist/{as-table-root-CGXKfCIk.cjs → as-table-root-DDeGktcl.cjs} +4 -4
  77. package/dist/as-table-root.cjs +1 -1
  78. package/dist/as-table-root.d.cts +1 -1
  79. package/dist/as-table-root.d.mts +1 -1
  80. package/dist/as-table-root.mjs +1 -1
  81. package/dist/{as-table-root.vue-BROdsTqv.d.mts → as-table-root.vue-BGx453_Q.d.mts} +5 -5
  82. package/dist/{as-table-root.vue-D5H8uXFK.d.cts → as-table-root.vue-yZ7ZcwdT.d.cts} +7 -7
  83. package/dist/as-table.cjs +1 -1
  84. package/dist/as-table.d.cts +1 -1
  85. package/dist/as-table.d.mts +1 -1
  86. package/dist/as-table.mjs +1 -1
  87. package/dist/{as-table.vue-B_7Y82yW.d.mts → as-table.vue-CwI5Z0y5.d.cts} +10 -8
  88. package/dist/{as-table.vue-B533pYs6.d.cts → as-table.vue-wdFf4hMW.d.mts} +10 -8
  89. package/dist/{as-window-table-CkTJOvu9.mjs → as-window-table-C312T_bc.mjs} +83 -62
  90. package/dist/{as-window-table-Dpbezh9D.cjs → as-window-table-hOYLNhX3.cjs} +89 -68
  91. package/dist/as-window-table.cjs +1 -1
  92. package/dist/as-window-table.d.cts +1 -1
  93. package/dist/as-window-table.d.mts +1 -1
  94. package/dist/as-window-table.mjs +1 -1
  95. package/dist/{as-window-table.vue-Bar8mWRL.d.cts → as-window-table.vue-D6UDA6td.d.cts} +6 -4
  96. package/dist/{as-window-table.vue-OL4KC7Y-.d.mts → as-window-table.vue-Deg1mj3t.d.mts} +6 -4
  97. package/dist/index.cjs +18 -18
  98. package/dist/index.d.cts +10 -10
  99. package/dist/index.d.mts +10 -10
  100. package/dist/index.mjs +18 -18
  101. package/dist/{types-Cdk5OH1-.d.cts → types-BU7J-a1r.d.mts} +41 -9
  102. package/dist/{types-Ev-A5h_D.d.mts → types-D4dK49sA.d.cts} +41 -9
  103. package/dist/{use-table-BG3IZyCO.mjs → use-table-DlqGHjPh.mjs} +1 -1
  104. package/dist/{use-table-column-handlers-CaT7dYnI.mjs → use-table-column-handlers-0myVzrZR.mjs} +1 -1
  105. package/dist/{use-table-column-handlers-CWHRcQbE.cjs → use-table-column-handlers-BHMCo_HR.cjs} +1 -1
  106. package/dist/{use-table-component-Tc_ZvZua.cjs → use-table-component-IziAm0vk.cjs} +1 -1
  107. package/dist/{use-table-component-OTdgA202.mjs → use-table-component-TLwFq4rx.mjs} +1 -1
  108. package/dist/{use-table-nav-bridge-BNjwR3qy.mjs → use-table-nav-bridge-CkQqimdS.mjs} +1 -1
  109. package/dist/{use-table-nav-bridge-ByQo00IH.cjs → use-table-nav-bridge-QU4jKhqx.cjs} +1 -1
  110. package/dist/{use-table-state-CgXY-ruN.cjs → use-table-state-BiklfjP0.cjs} +79 -28
  111. package/dist/{use-table-state-BgLIOO31.mjs → use-table-state-Cq-3tbVr.mjs} +69 -30
  112. package/dist/{use-table-rc6_sYU6.cjs → use-table-yZNJTfRq.cjs} +1 -1
  113. package/package.json +9 -9
@@ -1,7 +1,7 @@
1
- const require_use_table_state = require("./use-table-state-CgXY-ruN.cjs");
2
- const require_use_table_component = require("./use-table-component-Tc_ZvZua.cjs");
3
- const require_as_table_header_cell = require("./as-table-header-cell-10DQEs00.cjs");
4
- const require_as_row_actions = require("./as-row-actions-9p_BJPga.cjs");
1
+ const require_use_table_state = require("./use-table-state-BiklfjP0.cjs");
2
+ const require_use_table_component = require("./use-table-component-IziAm0vk.cjs");
3
+ const require_as_table_header_cell = require("./as-table-header-cell-f3YpgJX1.cjs");
4
+ const require_as_row_actions = require("./as-row-actions-C3xHkX53.cjs");
5
5
  const require_as_table_cell_value = require("./as-table-cell-value-COyZnwUj.cjs");
6
6
  let _atscript_ui = require("@atscript/ui");
7
7
  let vue = require("vue");
@@ -325,12 +325,12 @@ function useColumnHeaderDragResize(opts) {
325
325
  }
326
326
  //#endregion
327
327
  //#region src/components/internal/as-table-colgroup.vue?vue&type=script&setup=true&lang.ts
328
- const _hoisted_1$2 = {
328
+ const _hoisted_1$3 = {
329
329
  key: 0,
330
330
  class: "as-col-select"
331
331
  };
332
- const _hoisted_2$2 = ["data-column-path"];
333
- const _hoisted_3$2 = {
332
+ const _hoisted_2$3 = ["data-column-path"];
333
+ const _hoisted_3$3 = {
334
334
  key: 1,
335
335
  class: "as-col-filler"
336
336
  };
@@ -365,28 +365,28 @@ var as_table_colgroup_default = /* @__PURE__ */ (0, vue.defineComponent)({
365
365
  return (_ctx, _cache) => {
366
366
  return (0, vue.openBlock)(), (0, vue.createElementBlock)(vue.Fragment, null, [(0, vue.createCommentVNode)("\n `<colgroup>` carries column widths independently of the header so widths\n survive when `<thead>` is omitted (`headless`). Col order MUST match the\n body `<td>` order exactly: select col (when `hasSelect`), data columns,\n then the filler col (when `withFiller`).\n "), (0, vue.createElementVNode)("colgroup", null, [
367
367
  (0, vue.createCommentVNode)(" Placeholder for the leading select column. No width — `as-td-select`\n self-sizes (`w-[4em]`); the col exists only for positional alignment. "),
368
- __props.hasSelect ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("col", _hoisted_1$2)) : (0, vue.createCommentVNode)("v-if", true),
368
+ __props.hasSelect ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("col", _hoisted_1$3)) : (0, vue.createCommentVNode)("v-if", true),
369
369
  ((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(__props.columns, (col) => {
370
370
  return (0, vue.openBlock)(), (0, vue.createElementBlock)("col", {
371
371
  key: col.path,
372
372
  "data-column-path": col.path,
373
373
  style: (0, vue.normalizeStyle)(colStyle(col))
374
- }, null, 12, _hoisted_2$2);
374
+ }, null, 12, _hoisted_2$3);
375
375
  }), 128)),
376
376
  (0, vue.createCommentVNode)(" Trailing filler col; absorbs leftover space, no width. "),
377
- __props.withFiller ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("col", _hoisted_3$2)) : (0, vue.createCommentVNode)("v-if", true)
377
+ __props.withFiller ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("col", _hoisted_3$3)) : (0, vue.createCommentVNode)("v-if", true)
378
378
  ])], 2112);
379
379
  };
380
380
  }
381
381
  });
382
382
  //#endregion
383
383
  //#region src/components/internal/as-table-header.vue?vue&type=script&setup=true&lang.ts
384
- const _hoisted_1$1 = {
384
+ const _hoisted_1$2 = {
385
385
  key: 0,
386
386
  class: "as-th-select"
387
387
  };
388
- const _hoisted_2$1 = ["aria-checked"];
389
- const _hoisted_3$1 = {
388
+ const _hoisted_2$2 = ["aria-checked"];
389
+ const _hoisted_3$2 = {
390
390
  key: 0,
391
391
  class: "as-table-checkbox-tick",
392
392
  "aria-hidden": "true"
@@ -457,6 +457,10 @@ var as_table_header_default = /* @__PURE__ */ (0, vue.defineComponent)({
457
457
  type: String,
458
458
  required: false
459
459
  },
460
+ selectedCount: {
461
+ type: Number,
462
+ required: false
463
+ },
460
464
  withFiller: {
461
465
  type: Boolean,
462
466
  required: false,
@@ -476,7 +480,7 @@ var as_table_header_default = /* @__PURE__ */ (0, vue.defineComponent)({
476
480
  "reset-width",
477
481
  "reorder",
478
482
  "resize",
479
- "select-all-toggle"
483
+ "toggle-all"
480
484
  ],
481
485
  setup(__props, { emit: __emit }) {
482
486
  const HeaderCell = require_use_table_component.useTableComponent("headerCell", require_as_table_header_cell.as_table_header_cell_default);
@@ -542,11 +546,19 @@ var as_table_header_default = /* @__PURE__ */ (0, vue.defineComponent)({
542
546
  if (!props.selectAllState) return;
543
547
  event.preventDefault();
544
548
  event.stopPropagation();
545
- emit("select-all-toggle", props.selectAllState);
549
+ toggleSelectAll();
550
+ }
551
+ /** The header control's action — click, keys and the `header-__select` slot. */
552
+ function toggleSelectAll() {
553
+ if (props.selectAllState) emit("toggle-all");
546
554
  }
547
555
  return (_ctx, _cache) => {
548
556
  return (0, vue.openBlock)(), (0, vue.createElementBlock)("thead", null, [(0, vue.createElementVNode)("tr", null, [
549
- __props.hasSelectColumn ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("th", _hoisted_1$1, [__props.selectAllState ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", {
557
+ __props.hasSelectColumn ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("th", _hoisted_1$2, [(0, vue.renderSlot)(_ctx.$slots, "header-__select", {
558
+ state: __props.selectAllState,
559
+ toggle: toggleSelectAll,
560
+ selectedCount: __props.selectedCount ?? 0
561
+ }, () => [__props.selectAllState ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", {
550
562
  key: 0,
551
563
  class: (0, vue.normalizeClass)(["as-table-checkbox", {
552
564
  "as-table-checkbox-checked": __props.selectAllState === "all",
@@ -556,9 +568,9 @@ var as_table_header_default = /* @__PURE__ */ (0, vue.defineComponent)({
556
568
  tabindex: "0",
557
569
  "aria-label": "Select all rows",
558
570
  "aria-checked": __props.selectAllState === "none" ? "false" : __props.selectAllState === "all" ? "true" : "mixed",
559
- onClick: _cache[0] || (_cache[0] = ($event) => emit("select-all-toggle", __props.selectAllState)),
571
+ onClick: toggleSelectAll,
560
572
  onKeydown: onSelectAllKeydown
561
- }, [__props.selectAllState === "all" ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_3$1)) : __props.selectAllState === "some" ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_4$1)) : (0, vue.createCommentVNode)("v-if", true)], 42, _hoisted_2$1)) : (0, vue.createCommentVNode)("v-if", true)])) : (0, vue.createCommentVNode)("v-if", true),
573
+ }, [__props.selectAllState === "all" ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_3$2)) : __props.selectAllState === "some" ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_4$1)) : (0, vue.createCommentVNode)("v-if", true)], 42, _hoisted_2$2)) : (0, vue.createCommentVNode)("v-if", true)])])) : (0, vue.createCommentVNode)("v-if", true),
562
574
  ((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(__props.columns, (col) => {
563
575
  return (0, vue.openBlock)(), (0, vue.createElementBlock)("th", {
564
576
  key: col.path,
@@ -580,11 +592,11 @@ var as_table_header_default = /* @__PURE__ */ (0, vue.defineComponent)({
580
592
  filters: __props.filters?.[col.path],
581
593
  "column-menu": __props.columnMenu,
582
594
  "width-entry": __props.columnWidths[col.path],
583
- onSort: _cache[1] || (_cache[1] = (c, d) => emit("sort", c, d)),
584
- onHide: _cache[2] || (_cache[2] = (c) => emit("hide", c)),
585
- onFilter: _cache[3] || (_cache[3] = (c) => emit("filter", c)),
586
- onFiltersOff: _cache[4] || (_cache[4] = (c) => emit("filters-off", c)),
587
- onResetWidth: _cache[5] || (_cache[5] = (c) => emit("reset-width", c))
595
+ onSort: _cache[0] || (_cache[0] = (c, d) => emit("sort", c, d)),
596
+ onHide: _cache[1] || (_cache[1] = (c) => emit("hide", c)),
597
+ onFilter: _cache[2] || (_cache[2] = (c) => emit("filter", c)),
598
+ onFiltersOff: _cache[3] || (_cache[3] = (c) => emit("filters-off", c)),
599
+ onResetWidth: _cache[4] || (_cache[4] = (c) => emit("reset-width", c))
588
600
  }, null, 40, [
589
601
  "column",
590
602
  "sort-direction",
@@ -596,12 +608,12 @@ var as_table_header_default = /* @__PURE__ */ (0, vue.defineComponent)({
596
608
  key: 0,
597
609
  class: "as-th-resize-handle",
598
610
  draggable: "false",
599
- onDragstart: _cache[6] || (_cache[6] = (0, vue.withModifiers)(() => {}, ["prevent", "stop"])),
600
- onPointerdown: _cache[7] || (_cache[7] = (0, vue.withModifiers)((...args) => (0, vue.unref)(onResizeHandlePointerDown) && (0, vue.unref)(onResizeHandlePointerDown)(...args), ["stop"])),
601
- onPointermove: _cache[8] || (_cache[8] = (...args) => (0, vue.unref)(onResizeHandlePointerMove) && (0, vue.unref)(onResizeHandlePointerMove)(...args)),
602
- onPointerup: _cache[9] || (_cache[9] = (...args) => (0, vue.unref)(onResizeHandleEnd) && (0, vue.unref)(onResizeHandleEnd)(...args)),
603
- onPointercancel: _cache[10] || (_cache[10] = (...args) => (0, vue.unref)(onResizeHandleEnd) && (0, vue.unref)(onResizeHandleEnd)(...args)),
604
- onDblclick: _cache[11] || (_cache[11] = (0, vue.withModifiers)((...args) => (0, vue.unref)(onResizeHandleDoubleClick) && (0, vue.unref)(onResizeHandleDoubleClick)(...args), ["stop"]))
611
+ onDragstart: _cache[5] || (_cache[5] = (0, vue.withModifiers)(() => {}, ["prevent", "stop"])),
612
+ onPointerdown: _cache[6] || (_cache[6] = (0, vue.withModifiers)((...args) => (0, vue.unref)(onResizeHandlePointerDown) && (0, vue.unref)(onResizeHandlePointerDown)(...args), ["stop"])),
613
+ onPointermove: _cache[7] || (_cache[7] = (...args) => (0, vue.unref)(onResizeHandlePointerMove) && (0, vue.unref)(onResizeHandlePointerMove)(...args)),
614
+ onPointerup: _cache[8] || (_cache[8] = (...args) => (0, vue.unref)(onResizeHandleEnd) && (0, vue.unref)(onResizeHandleEnd)(...args)),
615
+ onPointercancel: _cache[9] || (_cache[9] = (...args) => (0, vue.unref)(onResizeHandleEnd) && (0, vue.unref)(onResizeHandleEnd)(...args)),
616
+ onDblclick: _cache[10] || (_cache[10] = (0, vue.withModifiers)((...args) => (0, vue.unref)(onResizeHandleDoubleClick) && (0, vue.unref)(onResizeHandleDoubleClick)(...args), ["stop"]))
605
617
  }, null, 32)) : (0, vue.createCommentVNode)("v-if", true)
606
618
  ], 46, _hoisted_5$1);
607
619
  }), 128)),
@@ -612,12 +624,12 @@ var as_table_header_default = /* @__PURE__ */ (0, vue.defineComponent)({
612
624
  });
613
625
  //#endregion
614
626
  //#region src/components/internal/as-table-status.vue?vue&type=script&setup=true&lang.ts
615
- const _hoisted_1 = {
627
+ const _hoisted_1$1 = {
616
628
  key: 0,
617
629
  class: "as-table-error"
618
630
  };
619
- const _hoisted_2 = { class: "as-vh-empty" };
620
- const _hoisted_3 = { class: "as-vh-empty-body" };
631
+ const _hoisted_2$1 = { class: "as-vh-empty" };
632
+ const _hoisted_3$1 = { class: "as-vh-empty-body" };
621
633
  const _hoisted_4 = {
622
634
  key: 1,
623
635
  class: "as-table-empty"
@@ -676,16 +688,16 @@ var as_table_status_default = /* @__PURE__ */ (0, vue.defineComponent)({
676
688
  },
677
689
  setup(__props) {
678
690
  return (_ctx, _cache) => {
679
- return __props.queryError ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1, [(0, vue.renderSlot)(_ctx.$slots, "error", {
691
+ return __props.queryError ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1$1, [(0, vue.renderSlot)(_ctx.$slots, "error", {
680
692
  error: __props.queryError,
681
693
  retry: __props.onRetry
682
- }, () => [(0, vue.createElementVNode)("div", _hoisted_2, [
694
+ }, () => [(0, vue.createElementVNode)("div", _hoisted_2$1, [
683
695
  _cache[3] || (_cache[3] = (0, vue.createElementVNode)("span", {
684
696
  class: "as-vh-error-icon i-as-warning",
685
697
  "aria-hidden": "true"
686
698
  }, null, -1)),
687
699
  _cache[4] || (_cache[4] = (0, vue.createElementVNode)("p", { class: "as-vh-empty-title" }, "Failed to load values", -1)),
688
- (0, vue.createElementVNode)("p", _hoisted_3, (0, vue.toDisplayString)(__props.queryError.message), 1),
700
+ (0, vue.createElementVNode)("p", _hoisted_3$1, (0, vue.toDisplayString)(__props.queryError.message), 1),
689
701
  __props.onRetry ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("button", {
690
702
  key: 0,
691
703
  type: "button",
@@ -724,6 +736,113 @@ var as_table_status_default = /* @__PURE__ */ (0, vue.defineComponent)({
724
736
  }
725
737
  });
726
738
  //#endregion
739
+ //#region src/components/internal/as-select-cell.vue?vue&type=script&setup=true&lang.ts
740
+ const _hoisted_1 = {
741
+ class: "as-td-select",
742
+ role: "gridcell"
743
+ };
744
+ const _hoisted_2 = [
745
+ "tabindex",
746
+ "aria-checked",
747
+ "aria-disabled",
748
+ "aria-label",
749
+ "title"
750
+ ];
751
+ const _hoisted_3 = {
752
+ key: 0,
753
+ class: "as-table-checkbox-tick",
754
+ "aria-hidden": "true"
755
+ };
756
+ //#endregion
757
+ //#region src/components/internal/as-select-cell.vue
758
+ var as_select_cell_default = /* @__PURE__ */ (0, vue.defineComponent)({
759
+ __name: "as-select-cell",
760
+ props: {
761
+ row: {
762
+ type: Object,
763
+ required: true
764
+ },
765
+ index: {
766
+ type: Number,
767
+ required: true
768
+ },
769
+ selected: {
770
+ type: Boolean,
771
+ required: true
772
+ },
773
+ verdict: {
774
+ type: Object,
775
+ required: true
776
+ },
777
+ select: {
778
+ type: String,
779
+ required: true
780
+ },
781
+ selectOn: {
782
+ type: String,
783
+ required: true
784
+ }
785
+ },
786
+ setup(__props) {
787
+ const props = __props;
788
+ const ctx = require_use_table_state.useTableContextOptional();
789
+ function toggle() {
790
+ if (ctx) require_use_table_state.toggleRowAt(props.index, props.select, ctx.state);
791
+ }
792
+ /**
793
+ * With `selectOn: "row"` the click bubbles to the row, which toggles; with
794
+ * `"control"` it toggles here and stops, so the row click (active-row move,
795
+ * `row-click`) and a double-click main action don't also fire.
796
+ */
797
+ function onClick(event) {
798
+ if (props.selectOn !== "control") return;
799
+ event.stopPropagation();
800
+ toggle();
801
+ }
802
+ function onDblClick(event) {
803
+ if (props.selectOn === "control") event.stopPropagation();
804
+ }
805
+ function onKeydown(event) {
806
+ if (ctx) require_use_table_state.onSelectControlKeydown(event, props.index, props.select, ctx.state);
807
+ }
808
+ /** Accessible name for the control, carrying the disabled reason. */
809
+ function label() {
810
+ if (props.verdict.ok) return "Select row";
811
+ return props.verdict.reason ? `Select row, ${props.verdict.reason}` : "Select row, not selectable";
812
+ }
813
+ return (_ctx, _cache) => {
814
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("td", _hoisted_1, [(0, vue.renderSlot)(_ctx.$slots, "default", {
815
+ row: __props.row,
816
+ index: __props.index,
817
+ selected: __props.selected,
818
+ selectable: __props.verdict.ok,
819
+ reason: __props.verdict.reason,
820
+ toggle
821
+ }, () => [(0, vue.createElementVNode)("span", {
822
+ class: (0, vue.normalizeClass)(["as-table-checkbox", {
823
+ "as-table-checkbox-checked": __props.selected,
824
+ "as-table-checkbox-disabled": !__props.verdict.ok
825
+ }]),
826
+ role: "checkbox",
827
+ tabindex: __props.verdict.ok ? 0 : void 0,
828
+ "aria-checked": __props.selected ? "true" : "false",
829
+ "aria-disabled": __props.verdict.ok ? void 0 : "true",
830
+ "aria-label": label(),
831
+ title: __props.verdict.reason,
832
+ onClick,
833
+ onDblclick: onDblClick,
834
+ onKeydown
835
+ }, [__props.selected ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_3)) : (0, vue.createCommentVNode)("v-if", true)], 42, _hoisted_2)])]);
836
+ };
837
+ }
838
+ });
839
+ //#endregion
840
+ Object.defineProperty(exports, "as_select_cell_default", {
841
+ enumerable: true,
842
+ get: function() {
843
+ return as_select_cell_default;
844
+ }
845
+ });
727
846
  Object.defineProperty(exports, "as_table_colgroup_default", {
728
847
  enumerable: true,
729
848
  get: function() {
@@ -1,8 +1,8 @@
1
- import { a as useTableContext, i as useRegisterMainActionListener } from "./use-table-state-BgLIOO31.mjs";
1
+ import { a as useTableContext, i as useRegisterMainActionListener } from "./use-table-state-Cq-3tbVr.mjs";
2
2
  import { t as useSelectModeReset } from "./use-table-selection-ULbKT2xW.mjs";
3
3
  import { t as useHasEmitListener } from "./use-has-emit-listener-DrBbsLHQ.mjs";
4
- import { n as useRowActionsColumn, t as useTableColumnHandlers } from "./use-table-column-handlers-CaT7dYnI.mjs";
5
- import { t as as_table_base_default } from "./as-table-base-Cl1XJu4H.mjs";
4
+ import { n as useRowActionsColumn, t as useTableColumnHandlers } from "./use-table-column-handlers-0myVzrZR.mjs";
5
+ import { t as as_table_base_default } from "./as-table-base-89DkDZ-1.mjs";
6
6
  import { computed, createCommentVNode, createElementBlock, createElementVNode, createSlots, createVNode, defineComponent, guardReactiveProps, normalizeProps, openBlock, renderList, renderSlot, unref, watch, withCtx } from "vue";
7
7
  //#region src/components/as-table.vue?vue&type=script&setup=true&lang.ts
8
8
  const _hoisted_1 = { class: "as-table-outer-wrap" };
@@ -61,6 +61,11 @@ var as_table_default = /* @__PURE__ */ defineComponent({
61
61
  required: false,
62
62
  default: "none"
63
63
  },
64
+ selectOn: {
65
+ type: String,
66
+ required: false,
67
+ default: "row"
68
+ },
64
69
  rowDelete: {
65
70
  type: [Boolean, Object],
66
71
  required: false,
@@ -113,12 +118,6 @@ var as_table_default = /* @__PURE__ */ defineComponent({
113
118
  });
114
119
  useRegisterMainActionListener(state, (req) => emit("main-action", req.row, req.absIndex, req.event), useHasEmitListener("onMainAction"));
115
120
  const { onSort, onHide, onFilter, onFiltersOff, onResetWidth, onReorder, onClearFilters } = useTableColumnHandlers(state);
116
- function handleSelectAll() {
117
- state.selectAll(effectiveRows.value);
118
- }
119
- function handleDeselectAll() {
120
- state.selectedRows.value = [];
121
- }
122
121
  return (_ctx, _cache) => {
123
122
  return openBlock(), createElementBlock("div", _hoisted_1, [createVNode(as_table_base_default, {
124
123
  "render-mode": "standalone",
@@ -127,6 +126,7 @@ var as_table_default = /* @__PURE__ */ defineComponent({
127
126
  sorters: unref(state).sorters.value,
128
127
  "selected-rows": unref(state).selectedRows.value,
129
128
  select: props.select,
129
+ "select-on": props.selectOn,
130
130
  "row-value-fn": unref(state).rowValueFn,
131
131
  querying: unref(state).querying.value,
132
132
  "query-error": unref(state).queryError.value,
@@ -149,8 +149,6 @@ var as_table_default = /* @__PURE__ */ defineComponent({
149
149
  onHide: unref(onHide),
150
150
  onFilter: unref(onFilter),
151
151
  onFiltersOff: unref(onFiltersOff),
152
- onSelectAll: handleSelectAll,
153
- onDeselectAll: handleDeselectAll,
154
152
  onReorder: unref(onReorder),
155
153
  onResize: unref(state).setColumnWidth,
156
154
  onResetWidth: unref(onResetWidth),
@@ -167,6 +165,7 @@ var as_table_default = /* @__PURE__ */ defineComponent({
167
165
  "sorters",
168
166
  "selected-rows",
169
167
  "select",
168
+ "select-on",
170
169
  "row-value-fn",
171
170
  "querying",
172
171
  "query-error",
@@ -1,5 +1,5 @@
1
- import { C as intentClass, D as triggerAction, _ as applyRowGate, a as useTableContext, b as collectIdentifiers, g as rowActionHref, v as applyRowsGate, x as createNavigateGestures, y as ariaLabelFor } from "./use-table-state-BgLIOO31.mjs";
2
- import { t as as_action_menu_content_default } from "./as-action-menu-content-6dR5q8bs.mjs";
1
+ import { C as createNavigateGestures, S as collectIdentifiers, T as intentClass, a as useTableContext, b as applyRowsGate, k as triggerAction, v as rowActionHref, x as ariaLabelFor, y as applyRowGate } from "./use-table-state-Cq-3tbVr.mjs";
2
+ import { t as as_action_menu_content_default } from "./as-action-menu-content-miQYVP7x.mjs";
3
3
  import { computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createSlots, createVNode, defineComponent, normalizeClass, openBlock, ref, renderSlot, resolveDynamicComponent, toDisplayString, unref, watch, withCtx } from "vue";
4
4
  import { DropdownMenuPortal, DropdownMenuRoot, DropdownMenuTrigger } from "reka-ui";
5
5
  //#region src/components/as-table-actions.vue?vue&type=script&setup=true&lang.ts
@@ -1,5 +1,5 @@
1
- const require_use_table_state = require("./use-table-state-CgXY-ruN.cjs");
2
- const require_as_action_menu_content = require("./as-action-menu-content-AKbIp4Ni.cjs");
1
+ const require_use_table_state = require("./use-table-state-BiklfjP0.cjs");
2
+ const require_as_action_menu_content = require("./as-action-menu-content-BaNFBYn3.cjs");
3
3
  let vue = require("vue");
4
4
  let reka_ui = require("reka-ui");
5
5
  //#region src/components/as-table-actions.vue?vue&type=script&setup=true&lang.ts
@@ -1,2 +1,2 @@
1
- const require_as_table_actions = require("./as-table-actions-oxVqSH-G.cjs");
1
+ const require_as_table_actions = require("./as-table-actions-UQmFtRdJ.cjs");
2
2
  module.exports = require_as_table_actions.as_table_actions_default;
@@ -1,2 +1,2 @@
1
- import { t as _default } from "./as-table-actions.vue-Dls_1Vze.cjs";
1
+ import { t as _default } from "./as-table-actions.vue-DcuzNZoC.cjs";
2
2
  export = _default;
@@ -1,2 +1,2 @@
1
- import { t as _default } from "./as-table-actions.vue-CrZtcxAY.mjs";
1
+ import { t as _default } from "./as-table-actions.vue-BG3JVaBQ.mjs";
2
2
  export { _default as default };
@@ -1,2 +1,2 @@
1
- import { t as as_table_actions_default } from "./as-table-actions-CFBAxKIS.mjs";
1
+ import { t as as_table_actions_default } from "./as-table-actions-BpEFcsgh.mjs";
2
2
  export { as_table_actions_default as default };
@@ -1,4 +1,4 @@
1
- import { T as TVueTableActionInfo } from "./types-Ev-A5h_D.mjs";
1
+ import { D as TVueTableActionInfo } from "./types-BU7J-a1r.mjs";
2
2
  import * as vue from "vue";
3
3
 
4
4
  //#region src/components/as-table-actions.vue.d.ts
@@ -18,7 +18,7 @@ declare var __VLS_1: {
18
18
  defaultAction: TVueTableActionInfo | undefined;
19
19
  otherActions: TVueTableActionInfo[];
20
20
  trailingRowActions: TVueTableActionInfo[];
21
- level: "rows" | "table" | "row";
21
+ level: "row" | "rows" | "table";
22
22
  ids: Record<string, unknown>[];
23
23
  invoke: typeof invokeWith;
24
24
  }, __VLS_12: {
@@ -1,4 +1,4 @@
1
- import { T as TVueTableActionInfo } from "./types-Cdk5OH1-.cjs";
1
+ import { D as TVueTableActionInfo } from "./types-D4dK49sA.cjs";
2
2
  import * as vue from "vue";
3
3
 
4
4
  //#region src/components/as-table-actions.vue.d.ts
@@ -18,7 +18,7 @@ declare var __VLS_1: {
18
18
  defaultAction: TVueTableActionInfo | undefined;
19
19
  otherActions: TVueTableActionInfo[];
20
20
  trailingRowActions: TVueTableActionInfo[];
21
- level: "rows" | "table" | "row";
21
+ level: "row" | "rows" | "table";
22
22
  ids: Record<string, unknown>[];
23
23
  invoke: typeof invokeWith;
24
24
  }, __VLS_12: {
@@ -1,8 +1,8 @@
1
- const require_use_table_state = require("./use-table-state-CgXY-ruN.cjs");
1
+ const require_use_table_state = require("./use-table-state-BiklfjP0.cjs");
2
2
  const require_use_table_selection = require("./use-table-selection-DtCV3rhu.cjs");
3
3
  const require_use_has_emit_listener = require("./use-has-emit-listener-BaGFZDyM.cjs");
4
- const require_use_table_column_handlers = require("./use-table-column-handlers-CWHRcQbE.cjs");
5
- const require_as_table_base = require("./as-table-base--MfU8LVN.cjs");
4
+ const require_use_table_column_handlers = require("./use-table-column-handlers-BHMCo_HR.cjs");
5
+ const require_as_table_base = require("./as-table-base-umzg4PBR.cjs");
6
6
  let vue = require("vue");
7
7
  //#region src/components/as-table.vue?vue&type=script&setup=true&lang.ts
8
8
  const _hoisted_1 = { class: "as-table-outer-wrap" };
@@ -61,6 +61,11 @@ var as_table_default = /* @__PURE__ */ (0, vue.defineComponent)({
61
61
  required: false,
62
62
  default: "none"
63
63
  },
64
+ selectOn: {
65
+ type: String,
66
+ required: false,
67
+ default: "row"
68
+ },
64
69
  rowDelete: {
65
70
  type: [Boolean, Object],
66
71
  required: false,
@@ -113,12 +118,6 @@ var as_table_default = /* @__PURE__ */ (0, vue.defineComponent)({
113
118
  });
114
119
  require_use_table_state.useRegisterMainActionListener(state, (req) => emit("main-action", req.row, req.absIndex, req.event), require_use_has_emit_listener.useHasEmitListener("onMainAction"));
115
120
  const { onSort, onHide, onFilter, onFiltersOff, onResetWidth, onReorder, onClearFilters } = require_use_table_column_handlers.useTableColumnHandlers(state);
116
- function handleSelectAll() {
117
- state.selectAll(effectiveRows.value);
118
- }
119
- function handleDeselectAll() {
120
- state.selectedRows.value = [];
121
- }
122
121
  return (_ctx, _cache) => {
123
122
  return (0, vue.openBlock)(), (0, vue.createElementBlock)("div", _hoisted_1, [(0, vue.createVNode)(require_as_table_base.as_table_base_default, {
124
123
  "render-mode": "standalone",
@@ -127,6 +126,7 @@ var as_table_default = /* @__PURE__ */ (0, vue.defineComponent)({
127
126
  sorters: (0, vue.unref)(state).sorters.value,
128
127
  "selected-rows": (0, vue.unref)(state).selectedRows.value,
129
128
  select: props.select,
129
+ "select-on": props.selectOn,
130
130
  "row-value-fn": (0, vue.unref)(state).rowValueFn,
131
131
  querying: (0, vue.unref)(state).querying.value,
132
132
  "query-error": (0, vue.unref)(state).queryError.value,
@@ -149,8 +149,6 @@ var as_table_default = /* @__PURE__ */ (0, vue.defineComponent)({
149
149
  onHide: (0, vue.unref)(onHide),
150
150
  onFilter: (0, vue.unref)(onFilter),
151
151
  onFiltersOff: (0, vue.unref)(onFiltersOff),
152
- onSelectAll: handleSelectAll,
153
- onDeselectAll: handleDeselectAll,
154
152
  onReorder: (0, vue.unref)(onReorder),
155
153
  onResize: (0, vue.unref)(state).setColumnWidth,
156
154
  onResetWidth: (0, vue.unref)(onResetWidth),
@@ -167,6 +165,7 @@ var as_table_default = /* @__PURE__ */ (0, vue.defineComponent)({
167
165
  "sorters",
168
166
  "selected-rows",
169
167
  "select",
168
+ "select-on",
170
169
  "row-value-fn",
171
170
  "querying",
172
171
  "query-error",