@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,8 +1,9 @@
1
+ import { ColumnDef } from "@atscript/ui";
1
2
  import * as vue from "vue";
2
3
 
3
4
  //#region src/components/as-filters.vue.d.ts
4
5
  declare const _default: typeof __VLS_export;
5
- declare const __VLS_export: vue.DefineComponent<{
6
+ declare const __VLS_export: __VLS_WithSlots<vue.DefineComponent<{
6
7
  filterFields?: string[];
7
8
  /**
8
9
  * Hard cap on how many filter fields render inline. Deterministic and
@@ -41,7 +42,21 @@ declare const __VLS_export: vue.DefineComponent<{
41
42
  * @since 0.1.140
42
43
  */
43
44
  residual?: boolean;
44
- }, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<{
45
+ } & {
46
+ /**
47
+ * Open state of the overflow popover — `v-model:overflow-open` to drive or
48
+ * observe it (e.g. close it before the host opens its own dialog). Unbound →
49
+ * the popover keeps its own state.
50
+ *
51
+ * @since 0.1.142
52
+ */
53
+ overflowOpen?: boolean;
54
+ }, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
55
+ "update:overflowOpen": (value: boolean) => any;
56
+ } & {
57
+ "overflow-open-auto-focus": (event: Event) => any;
58
+ "overflow-close-auto-focus": (event: Event) => any;
59
+ }, string, vue.PublicProps, Readonly<{
45
60
  filterFields?: string[];
46
61
  /**
47
62
  * Hard cap on how many filter fields render inline. Deterministic and
@@ -80,8 +95,45 @@ declare const __VLS_export: vue.DefineComponent<{
80
95
  * @since 0.1.140
81
96
  */
82
97
  residual?: boolean;
83
- }> & Readonly<{}>, {
98
+ } & {
99
+ /**
100
+ * Open state of the overflow popover — `v-model:overflow-open` to drive or
101
+ * observe it (e.g. close it before the host opens its own dialog). Unbound →
102
+ * the popover keeps its own state.
103
+ *
104
+ * @since 0.1.142
105
+ */
106
+ overflowOpen?: boolean;
107
+ }> & Readonly<{
108
+ "onUpdate:overflowOpen"?: ((value: boolean) => any) | undefined;
109
+ "onOverflow-open-auto-focus"?: ((event: Event) => any) | undefined;
110
+ "onOverflow-close-auto-focus"?: ((event: Event) => any) | undefined;
111
+ }>, {
84
112
  residual: boolean;
85
- }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
113
+ }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>, {
114
+ /**
115
+ * Replaces the overflow trigger. Render ONE focusable element (a `<button>`
116
+ * or a component that forwards attrs): the popover merges its ARIA
117
+ * attributes, ref and click handler onto it. `activeCount` = active filters
118
+ * among the overflowed fields. Since 0.1.142.
119
+ */
120
+ "overflow-trigger"?: (props: {
121
+ activeCount: number;
122
+ open: boolean;
123
+ }) => unknown;
124
+ /**
125
+ * Replaces the popover body. `columns` = the overflowed fields' columns,
126
+ * `close()` closes the popover. Since 0.1.142.
127
+ */
128
+ overflow?: (props: {
129
+ columns: ColumnDef[];
130
+ close: () => void;
131
+ }) => unknown;
132
+ }>;
133
+ type __VLS_WithSlots<T, S> = T & {
134
+ new (): {
135
+ $slots: S;
136
+ };
137
+ };
86
138
  //#endregion
87
139
  export { _default as t };
@@ -1,8 +1,9 @@
1
1
  import * as vue from "vue";
2
+ import { ColumnDef } from "@atscript/ui";
2
3
 
3
4
  //#region src/components/as-filters.vue.d.ts
4
5
  declare const _default: typeof __VLS_export;
5
- declare const __VLS_export: vue.DefineComponent<{
6
+ declare const __VLS_export: __VLS_WithSlots<vue.DefineComponent<{
6
7
  filterFields?: string[];
7
8
  /**
8
9
  * Hard cap on how many filter fields render inline. Deterministic and
@@ -41,7 +42,21 @@ declare const __VLS_export: vue.DefineComponent<{
41
42
  * @since 0.1.140
42
43
  */
43
44
  residual?: boolean;
44
- }, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<{
45
+ } & {
46
+ /**
47
+ * Open state of the overflow popover — `v-model:overflow-open` to drive or
48
+ * observe it (e.g. close it before the host opens its own dialog). Unbound →
49
+ * the popover keeps its own state.
50
+ *
51
+ * @since 0.1.142
52
+ */
53
+ overflowOpen?: boolean;
54
+ }, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
55
+ "update:overflowOpen": (value: boolean) => any;
56
+ } & {
57
+ "overflow-open-auto-focus": (event: Event) => any;
58
+ "overflow-close-auto-focus": (event: Event) => any;
59
+ }, string, vue.PublicProps, Readonly<{
45
60
  filterFields?: string[];
46
61
  /**
47
62
  * Hard cap on how many filter fields render inline. Deterministic and
@@ -80,8 +95,45 @@ declare const __VLS_export: vue.DefineComponent<{
80
95
  * @since 0.1.140
81
96
  */
82
97
  residual?: boolean;
83
- }> & Readonly<{}>, {
98
+ } & {
99
+ /**
100
+ * Open state of the overflow popover — `v-model:overflow-open` to drive or
101
+ * observe it (e.g. close it before the host opens its own dialog). Unbound →
102
+ * the popover keeps its own state.
103
+ *
104
+ * @since 0.1.142
105
+ */
106
+ overflowOpen?: boolean;
107
+ }> & Readonly<{
108
+ "onUpdate:overflowOpen"?: ((value: boolean) => any) | undefined;
109
+ "onOverflow-open-auto-focus"?: ((event: Event) => any) | undefined;
110
+ "onOverflow-close-auto-focus"?: ((event: Event) => any) | undefined;
111
+ }>, {
84
112
  residual: boolean;
85
- }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
113
+ }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>, {
114
+ /**
115
+ * Replaces the overflow trigger. Render ONE focusable element (a `<button>`
116
+ * or a component that forwards attrs): the popover merges its ARIA
117
+ * attributes, ref and click handler onto it. `activeCount` = active filters
118
+ * among the overflowed fields. Since 0.1.142.
119
+ */
120
+ "overflow-trigger"?: (props: {
121
+ activeCount: number;
122
+ open: boolean;
123
+ }) => unknown;
124
+ /**
125
+ * Replaces the popover body. `columns` = the overflowed fields' columns,
126
+ * `close()` closes the popover. Since 0.1.142.
127
+ */
128
+ overflow?: (props: {
129
+ columns: ColumnDef[];
130
+ close: () => void;
131
+ }) => unknown;
132
+ }>;
133
+ type __VLS_WithSlots<T, S> = T & {
134
+ new (): {
135
+ $slots: S;
136
+ };
137
+ };
86
138
  //#endregion
87
139
  export { _default as t };
@@ -1,4 +1,4 @@
1
- import { a as useTableContext, d as ASPECT_LABELS, f as ownerNameOf, p as readPresetLabel, u as ASPECT_ICONS } from "./use-table-state-BgLIOO31.mjs";
1
+ import { a as useTableContext, d as ASPECT_LABELS, f as ownerNameOf, p as readPresetLabel, u as ASPECT_ICONS } from "./use-table-state-Cq-3tbVr.mjs";
2
2
  import { t as useSeedOnOpen } from "./use-seed-on-open-DO3A1kIb.mjs";
3
3
  import { t as errorMessage } from "./error-message-gNEXnnbb.mjs";
4
4
  import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, isRef, nextTick, normalizeClass, openBlock, ref, renderList, toDisplayString, unref, vModelText, watch, withCtx, withDirectives, withKeys, withModifiers } from "vue";
@@ -1,4 +1,4 @@
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_seed_on_open = require("./use-seed-on-open-Dg9I89fU.cjs");
3
3
  const require_error_message = require("./error-message-CfKpn_5w.cjs");
4
4
  let vue = require("vue");
@@ -1,2 +1,2 @@
1
- const require_as_preset_dialog = require("./as-preset-dialog-l81WXBmf.cjs");
1
+ const require_as_preset_dialog = require("./as-preset-dialog-SYA-6lGR.cjs");
2
2
  module.exports = require_as_preset_dialog.as_preset_dialog_default;
@@ -1,2 +1,2 @@
1
- import { t as as_preset_dialog_default } from "./as-preset-dialog-BsWSuY9N.mjs";
1
+ import { t as as_preset_dialog_default } from "./as-preset-dialog-Bap48oUv.mjs";
2
2
  export { as_preset_dialog_default as default };
@@ -1,4 +1,4 @@
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_error_message = require("./error-message-CfKpn_5w.cjs");
3
3
  let vue = require("vue");
4
4
  let _atscript_ui_table = require("@atscript/ui-table");
@@ -1,4 +1,4 @@
1
- import { a as useTableContext, d as ASPECT_LABELS, f as ownerNameOf, p as readPresetLabel, u as ASPECT_ICONS } from "./use-table-state-BgLIOO31.mjs";
1
+ import { a as useTableContext, d as ASPECT_LABELS, f as ownerNameOf, p as readPresetLabel, u as ASPECT_ICONS } from "./use-table-state-Cq-3tbVr.mjs";
2
2
  import { t as errorMessage } from "./error-message-gNEXnnbb.mjs";
3
3
  import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, createVNode, defineComponent, h, nextTick, normalizeClass, onScopeDispose, openBlock, ref, renderList, shallowRef, toDisplayString, unref, vModelCheckbox, vModelText, watch, withCtx, withDirectives, withKeys, withModifiers } from "vue";
4
4
  import { isSystemPresetId } from "@atscript/ui-table";
@@ -1,2 +1,2 @@
1
- const require_as_preset_picker = require("./as-preset-picker-Bp4xMTua.cjs");
1
+ const require_as_preset_picker = require("./as-preset-picker-BdKTZa95.cjs");
2
2
  module.exports = require_as_preset_picker.as_preset_picker_default;
@@ -1,2 +1,2 @@
1
- import { t as as_preset_picker_default } from "./as-preset-picker-BTkMqSxH.mjs";
1
+ import { t as as_preset_picker_default } from "./as-preset-picker-NBrvsE6s.mjs";
2
2
  export { as_preset_picker_default as default };
@@ -1,4 +1,4 @@
1
- import { a as useTableContext } from "./use-table-state-BgLIOO31.mjs";
1
+ import { a as useTableContext } from "./use-table-state-Cq-3tbVr.mjs";
2
2
  import { computed, createElementBlock, createElementVNode, defineComponent, openBlock, toDisplayString, unref } from "vue";
3
3
  import { formatFilterExpr } from "@atscript/ui-table";
4
4
  //#region src/components/defaults/as-residual-filter.vue?vue&type=script&setup=true&lang.ts
@@ -1,4 +1,4 @@
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
  let vue = require("vue");
3
3
  let _atscript_ui_table = require("@atscript/ui-table");
4
4
  //#region src/components/defaults/as-residual-filter.vue?vue&type=script&setup=true&lang.ts
@@ -1,2 +1,2 @@
1
- const require_as_residual_filter = require("./as-residual-filter-BJ4cwFP4.cjs");
1
+ const require_as_residual_filter = require("./as-residual-filter-CZ-Bytdj.cjs");
2
2
  module.exports = require_as_residual_filter.as_residual_filter_default;
@@ -1,2 +1,2 @@
1
- import { t as as_residual_filter_default } from "./as-residual-filter-D1SGFQ1p.mjs";
1
+ import { t as as_residual_filter_default } from "./as-residual-filter-BFnbI3h3.mjs";
2
2
  export { as_residual_filter_default as default };
@@ -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/defaults/as-row-actions.vue?vue&type=script&setup=true&lang.ts
@@ -1,5 +1,5 @@
1
- import { C as intentClass, D as triggerAction, S as extractIdentifier, _ as applyRowGate, a as useTableContext, g as rowActionHref, 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, T as intentClass, a as useTableContext, k as triggerAction, v as rowActionHref, w as extractIdentifier, 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 { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, normalizeClass, openBlock, resolveDynamicComponent, toDisplayString, unref, withCtx, withModifiers } from "vue";
4
4
  import { DropdownMenuPortal, DropdownMenuRoot, DropdownMenuTrigger } from "reka-ui";
5
5
  //#region src/components/defaults/as-row-actions.vue?vue&type=script&setup=true&lang.ts
@@ -1,2 +1,2 @@
1
- const require_as_row_actions = require("./as-row-actions-9p_BJPga.cjs");
1
+ const require_as_row_actions = require("./as-row-actions-C3xHkX53.cjs");
2
2
  module.exports = require_as_row_actions.as_row_actions_default;
@@ -1,2 +1,2 @@
1
- import { t as _default } from "./as-row-actions.vue-BezMFOr6.cjs";
1
+ import { t as _default } from "./as-row-actions.vue-D3_z3ytk.cjs";
2
2
  export = _default;
@@ -1,2 +1,2 @@
1
- import { t as _default } from "./as-row-actions.vue-BOURuyjv.mjs";
1
+ import { t as _default } from "./as-row-actions.vue-nmaDuxBT.mjs";
2
2
  export { _default as default };
@@ -1,2 +1,2 @@
1
- import { t as as_row_actions_default } from "./as-row-actions-CH8WZ5kN.mjs";
1
+ import { t as as_row_actions_default } from "./as-row-actions-KeoHo9Ex.mjs";
2
2
  export { as_row_actions_default as default };
@@ -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/defaults/as-row-actions.vue.d.ts
@@ -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/defaults/as-row-actions.vue.d.ts
@@ -1,7 +1,7 @@
1
- import { o as useTableContextOptional } from "./use-table-state-BgLIOO31.mjs";
2
- import { t as useTableComponent } from "./use-table-component-OTdgA202.mjs";
3
- import { t as as_table_header_cell_default } from "./as-table-header-cell-M8g9X9dR.mjs";
4
- import { t as as_row_actions_default } from "./as-row-actions-CH8WZ5kN.mjs";
1
+ import { g as toggleRowAt, h as onSelectControlKeydown, o as useTableContextOptional } from "./use-table-state-Cq-3tbVr.mjs";
2
+ import { t as useTableComponent } from "./use-table-component-TLwFq4rx.mjs";
3
+ import { t as as_table_header_cell_default } from "./as-table-header-cell-DU3ws2x9.mjs";
4
+ import { t as as_row_actions_default } from "./as-row-actions-KeoHo9Ex.mjs";
5
5
  import { t as as_table_cell_value_default } from "./as-table-cell-value-DoH8Mieo.mjs";
6
6
  import { UI_TABLE_ATTR, UI_TABLE_CLASSES, UI_TABLE_FN_ATTR, UI_TABLE_FN_CLASSES, UI_TABLE_FN_STYLES, UI_TABLE_STYLES, getFieldMeta, parseStaticAttrs, resolveAttrs, resolveFieldProp } from "@atscript/ui";
7
7
  import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createTextVNode, defineComponent, normalizeClass, normalizeStyle, onBeforeUnmount, openBlock, ref, renderList, renderSlot, resolveDynamicComponent, toDisplayString, unref, withModifiers } from "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__ */ defineComponent({
365
365
  return (_ctx, _cache) => {
366
366
  return openBlock(), createElementBlock(Fragment, null, [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 "), createElementVNode("colgroup", null, [
367
367
  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 ? (openBlock(), createElementBlock("col", _hoisted_1$2)) : createCommentVNode("v-if", true),
368
+ __props.hasSelect ? (openBlock(), createElementBlock("col", _hoisted_1$3)) : createCommentVNode("v-if", true),
369
369
  (openBlock(true), createElementBlock(Fragment, null, renderList(__props.columns, (col) => {
370
370
  return openBlock(), createElementBlock("col", {
371
371
  key: col.path,
372
372
  "data-column-path": col.path,
373
373
  style: normalizeStyle(colStyle(col))
374
- }, null, 12, _hoisted_2$2);
374
+ }, null, 12, _hoisted_2$3);
375
375
  }), 128)),
376
376
  createCommentVNode(" Trailing filler col; absorbs leftover space, no width. "),
377
- __props.withFiller ? (openBlock(), createElementBlock("col", _hoisted_3$2)) : createCommentVNode("v-if", true)
377
+ __props.withFiller ? (openBlock(), createElementBlock("col", _hoisted_3$3)) : 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__ */ 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__ */ 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 = useTableComponent("headerCell", as_table_header_cell_default);
@@ -542,11 +546,19 @@ var as_table_header_default = /* @__PURE__ */ 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 openBlock(), createElementBlock("thead", null, [createElementVNode("tr", null, [
549
- __props.hasSelectColumn ? (openBlock(), createElementBlock("th", _hoisted_1$1, [__props.selectAllState ? (openBlock(), createElementBlock("span", {
557
+ __props.hasSelectColumn ? (openBlock(), createElementBlock("th", _hoisted_1$2, [renderSlot(_ctx.$slots, "header-__select", {
558
+ state: __props.selectAllState,
559
+ toggle: toggleSelectAll,
560
+ selectedCount: __props.selectedCount ?? 0
561
+ }, () => [__props.selectAllState ? (openBlock(), createElementBlock("span", {
550
562
  key: 0,
551
563
  class: normalizeClass(["as-table-checkbox", {
552
564
  "as-table-checkbox-checked": __props.selectAllState === "all",
@@ -556,9 +568,9 @@ var as_table_header_default = /* @__PURE__ */ 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" ? (openBlock(), createElementBlock("span", _hoisted_3$1)) : __props.selectAllState === "some" ? (openBlock(), createElementBlock("span", _hoisted_4$1)) : createCommentVNode("v-if", true)], 42, _hoisted_2$1)) : createCommentVNode("v-if", true)])) : createCommentVNode("v-if", true),
573
+ }, [__props.selectAllState === "all" ? (openBlock(), createElementBlock("span", _hoisted_3$2)) : __props.selectAllState === "some" ? (openBlock(), createElementBlock("span", _hoisted_4$1)) : createCommentVNode("v-if", true)], 42, _hoisted_2$2)) : createCommentVNode("v-if", true)])])) : createCommentVNode("v-if", true),
562
574
  (openBlock(true), createElementBlock(Fragment, null, renderList(__props.columns, (col) => {
563
575
  return openBlock(), createElementBlock("th", {
564
576
  key: col.path,
@@ -580,11 +592,11 @@ var as_table_header_default = /* @__PURE__ */ 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__ */ defineComponent({
596
608
  key: 0,
597
609
  class: "as-th-resize-handle",
598
610
  draggable: "false",
599
- onDragstart: _cache[6] || (_cache[6] = withModifiers(() => {}, ["prevent", "stop"])),
600
- onPointerdown: _cache[7] || (_cache[7] = withModifiers((...args) => unref(onResizeHandlePointerDown) && unref(onResizeHandlePointerDown)(...args), ["stop"])),
601
- onPointermove: _cache[8] || (_cache[8] = (...args) => unref(onResizeHandlePointerMove) && unref(onResizeHandlePointerMove)(...args)),
602
- onPointerup: _cache[9] || (_cache[9] = (...args) => unref(onResizeHandleEnd) && unref(onResizeHandleEnd)(...args)),
603
- onPointercancel: _cache[10] || (_cache[10] = (...args) => unref(onResizeHandleEnd) && unref(onResizeHandleEnd)(...args)),
604
- onDblclick: _cache[11] || (_cache[11] = withModifiers((...args) => unref(onResizeHandleDoubleClick) && unref(onResizeHandleDoubleClick)(...args), ["stop"]))
611
+ onDragstart: _cache[5] || (_cache[5] = withModifiers(() => {}, ["prevent", "stop"])),
612
+ onPointerdown: _cache[6] || (_cache[6] = withModifiers((...args) => unref(onResizeHandlePointerDown) && unref(onResizeHandlePointerDown)(...args), ["stop"])),
613
+ onPointermove: _cache[7] || (_cache[7] = (...args) => unref(onResizeHandlePointerMove) && unref(onResizeHandlePointerMove)(...args)),
614
+ onPointerup: _cache[8] || (_cache[8] = (...args) => unref(onResizeHandleEnd) && unref(onResizeHandleEnd)(...args)),
615
+ onPointercancel: _cache[9] || (_cache[9] = (...args) => unref(onResizeHandleEnd) && unref(onResizeHandleEnd)(...args)),
616
+ onDblclick: _cache[10] || (_cache[10] = withModifiers((...args) => unref(onResizeHandleDoubleClick) && unref(onResizeHandleDoubleClick)(...args), ["stop"]))
605
617
  }, null, 32)) : createCommentVNode("v-if", true)
606
618
  ], 46, _hoisted_5$1);
607
619
  }), 128)),
@@ -612,12 +624,12 @@ var as_table_header_default = /* @__PURE__ */ 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__ */ defineComponent({
676
688
  },
677
689
  setup(__props) {
678
690
  return (_ctx, _cache) => {
679
- return __props.queryError ? (openBlock(), createElementBlock("div", _hoisted_1, [renderSlot(_ctx.$slots, "error", {
691
+ return __props.queryError ? (openBlock(), createElementBlock("div", _hoisted_1$1, [renderSlot(_ctx.$slots, "error", {
680
692
  error: __props.queryError,
681
693
  retry: __props.onRetry
682
- }, () => [createElementVNode("div", _hoisted_2, [
694
+ }, () => [createElementVNode("div", _hoisted_2$1, [
683
695
  _cache[3] || (_cache[3] = 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] = createElementVNode("p", { class: "as-vh-empty-title" }, "Failed to load values", -1)),
688
- createElementVNode("p", _hoisted_3, toDisplayString(__props.queryError.message), 1),
700
+ createElementVNode("p", _hoisted_3$1, toDisplayString(__props.queryError.message), 1),
689
701
  __props.onRetry ? (openBlock(), createElementBlock("button", {
690
702
  key: 0,
691
703
  type: "button",
@@ -724,4 +736,105 @@ var as_table_status_default = /* @__PURE__ */ defineComponent({
724
736
  }
725
737
  });
726
738
  //#endregion
727
- export { useCellComponents as a, useRafBatch as i, as_table_header_default as n, useCellResolver as o, as_table_colgroup_default as r, as_table_status_default as t };
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__ */ 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 = useTableContextOptional();
789
+ function toggle() {
790
+ if (ctx) 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) 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 openBlock(), createElementBlock("td", _hoisted_1, [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
+ }, () => [createElementVNode("span", {
822
+ class: 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 ? (openBlock(), createElementBlock("span", _hoisted_3)) : createCommentVNode("v-if", true)], 42, _hoisted_2)])]);
836
+ };
837
+ }
838
+ });
839
+ //#endregion
840
+ export { useRafBatch as a, as_table_colgroup_default as i, as_table_status_default as n, useCellComponents as o, as_table_header_default as r, useCellResolver as s, as_select_cell_default as t };