@atscript/vue-table 0.1.97 → 0.1.99

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 (177) 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-cell-array-DOQKR6t5.mjs → as-cell-array-2qmJ1lT2.mjs} +2 -2
  4. package/dist/{as-cell-array-CXeZzZqt.cjs → as-cell-array-iPeUnk2G.cjs} +2 -2
  5. package/dist/as-cell-array.cjs +1 -1
  6. package/dist/as-cell-array.d.mts +1 -1
  7. package/dist/as-cell-array.mjs +1 -1
  8. package/dist/{as-cell-date-DPWBlhyM.mjs → as-cell-date-BwFgi6O0.mjs} +2 -2
  9. package/dist/{as-cell-date-D0rowX5E.cjs → as-cell-date-DyixWKuS.cjs} +2 -2
  10. package/dist/as-cell-date.cjs +1 -1
  11. package/dist/as-cell-date.d.mts +1 -1
  12. package/dist/as-cell-date.mjs +1 -1
  13. package/dist/{as-cell-json-BynWIs1d.mjs → as-cell-json--95Xq6yq.mjs} +2 -2
  14. package/dist/{as-cell-json-DvHvQ6IL.cjs → as-cell-json-Bvv2P7YV.cjs} +2 -2
  15. package/dist/as-cell-json.cjs +1 -1
  16. package/dist/as-cell-json.d.mts +1 -1
  17. package/dist/as-cell-json.mjs +1 -1
  18. package/dist/{as-cell-number-Bc1C97Vg.mjs → as-cell-number-DKRaS9pM.mjs} +2 -2
  19. package/dist/{as-cell-number-0_WrSCzu.cjs → as-cell-number-DuPMOesI.cjs} +2 -2
  20. package/dist/as-cell-number.cjs +1 -1
  21. package/dist/as-cell-number.d.mts +1 -1
  22. package/dist/as-cell-number.mjs +1 -1
  23. package/dist/{as-cell-union-CFAI0utz.cjs → as-cell-union-CT0rIvQq.cjs} +3 -3
  24. package/dist/{as-cell-union-C1w3B38J.mjs → as-cell-union-sAOSdepj.mjs} +3 -3
  25. package/dist/as-cell-union.cjs +1 -1
  26. package/dist/as-cell-union.d.mts +1 -1
  27. package/dist/as-cell-union.mjs +1 -1
  28. package/dist/as-column-menu.cjs +1 -1
  29. package/dist/as-column-menu.d.cts +1 -1
  30. package/dist/as-column-menu.d.mts +1 -1
  31. package/dist/as-column-menu.mjs +1 -1
  32. package/dist/{as-column-menu.vue-C9e6wJ3z.d.mts → as-column-menu.vue-BtXVQywl.d.cts} +2 -2
  33. package/dist/{as-column-menu.vue-o0qFdzoL.d.cts → as-column-menu.vue-D3Z5BVLx.d.mts} +2 -2
  34. package/dist/{as-config-dialog-BB6BDa1E.mjs → as-config-dialog-COwDabdW.mjs} +15 -13
  35. package/dist/{as-config-dialog-BCvtSxi6.cjs → as-config-dialog-vOUtx5zq.cjs} +14 -12
  36. package/dist/as-config-dialog.cjs +1 -1
  37. package/dist/as-config-dialog.d.mts +1 -1
  38. package/dist/as-config-dialog.mjs +1 -1
  39. package/dist/as-confirm-dialog.cjs +1 -1
  40. package/dist/as-confirm-dialog.d.mts +1 -1
  41. package/dist/as-confirm-dialog.mjs +1 -1
  42. package/dist/{as-filter-dialog-O62-CnIQ.cjs → as-filter-dialog-BcPI27cn.cjs} +19 -70
  43. package/dist/{as-filter-dialog-KGyPqr2P.mjs → as-filter-dialog-DuFgEjqE.mjs} +20 -65
  44. package/dist/as-filter-dialog.cjs +1 -1
  45. package/dist/as-filter-dialog.d.mts +1 -1
  46. package/dist/as-filter-dialog.mjs +1 -1
  47. package/dist/{as-filter-field-jL7cnKUR.cjs → as-filter-field-B8idz2UD.cjs} +3 -473
  48. package/dist/{as-filter-field-CkiRXHVx.mjs → as-filter-field-Dsk1l3Et.mjs} +7 -441
  49. package/dist/as-filter-field.cjs +1 -1
  50. package/dist/as-filter-field.d.mts +1 -1
  51. package/dist/as-filter-field.mjs +1 -1
  52. package/dist/as-filter-input.cjs +1 -1
  53. package/dist/as-filter-input.d.mts +1 -1
  54. package/dist/as-filter-input.mjs +1 -1
  55. package/dist/{as-filters-BJM-NjUn.mjs → as-filters-BS7kWJfI.mjs} +5 -3
  56. package/dist/{as-filters-BFpZKtAU.cjs → as-filters-BzdQ4HUx.cjs} +4 -2
  57. package/dist/as-filters.cjs +1 -1
  58. package/dist/as-filters.d.mts +1 -1
  59. package/dist/as-filters.mjs +1 -1
  60. package/dist/{as-preset-dialog-1Xl8DIiN.cjs → as-preset-dialog-DOdrDDKy.cjs} +7 -8
  61. package/dist/{as-preset-dialog-DXbqMVI1.mjs → as-preset-dialog-DoEpCt2j.mjs} +7 -8
  62. package/dist/as-preset-dialog.cjs +1 -1
  63. package/dist/as-preset-dialog.d.mts +1 -1
  64. package/dist/as-preset-dialog.mjs +1 -1
  65. package/dist/{as-preset-picker-CkaaKzYB.cjs → as-preset-picker-2DkH7QfW.cjs} +1 -1
  66. package/dist/{as-preset-picker-DJTF47_V.mjs → as-preset-picker-ByUCQpnX.mjs} +1 -1
  67. package/dist/as-preset-picker.cjs +1 -1
  68. package/dist/as-preset-picker.d.mts +1 -1
  69. package/dist/as-preset-picker.mjs +1 -1
  70. package/dist/{as-row-actions-C78cvaf3.cjs → as-row-actions-05pQX_om.cjs} +1 -1
  71. package/dist/{as-row-actions-CpEMa5NU.mjs → as-row-actions-D7YgGt0x.mjs} +1 -1
  72. package/dist/as-row-actions.cjs +1 -1
  73. package/dist/as-row-actions.d.mts +1 -1
  74. package/dist/as-row-actions.mjs +1 -1
  75. package/dist/{as-table-v42bV1ea.cjs → as-table-DyuL_hUo.cjs} +6 -5
  76. package/dist/{as-table-DDyvnBFL.mjs → as-table-H5uKWieH.mjs} +4 -3
  77. package/dist/{as-table-actions-DtCjMMCI.cjs → as-table-actions-CsdY2_BG.cjs} +1 -1
  78. package/dist/{as-table-actions-D2-MBvoy.mjs → as-table-actions-DCEGQiHi.mjs} +1 -1
  79. package/dist/as-table-actions.cjs +1 -1
  80. package/dist/as-table-actions.d.cts +1 -1
  81. package/dist/as-table-actions.d.mts +1 -1
  82. package/dist/as-table-actions.mjs +1 -1
  83. package/dist/{as-table-actions.vue-pDtCQ0oB.d.cts → as-table-actions.vue-BEjVPzgk.d.cts} +1 -1
  84. package/dist/{as-table-actions.vue-riwwEAGF.d.mts → as-table-actions.vue-Dxkfw34l.d.mts} +1 -1
  85. package/dist/{as-table-base-CSrtmIN2.mjs → as-table-base-DReD74pJ.mjs} +2 -2
  86. package/dist/{as-table-base-CHzULili.cjs → as-table-base-GEf95oXP.cjs} +2 -2
  87. package/dist/{as-table-cell-value-B1CiJYFn.mjs → as-table-cell-value-Byrb_Zyh.mjs} +2 -2
  88. package/dist/{as-table-cell-value-CuxRtFn9.cjs → as-table-cell-value-CcWR5oG4.cjs} +2 -2
  89. package/dist/as-table-cell-value.cjs +1 -1
  90. package/dist/as-table-cell-value.d.mts +1 -1
  91. package/dist/as-table-cell-value.mjs +1 -1
  92. package/dist/{as-table-header-cell-CBn_ioCe.mjs → as-table-header-cell-BUf8wvrw.mjs} +6 -4
  93. package/dist/{as-table-header-cell-C3zeZUZo.cjs → as-table-header-cell-DWONx2MI.cjs} +5 -3
  94. package/dist/as-table-header-cell.cjs +1 -1
  95. package/dist/as-table-header-cell.d.cts +1 -1
  96. package/dist/as-table-header-cell.d.mts +1 -1
  97. package/dist/as-table-header-cell.mjs +1 -1
  98. package/dist/{as-table-header-cell.vue-Bc_DSsGY.d.cts → as-table-header-cell.vue-CzqTEpyk.d.cts} +1 -1
  99. package/dist/{as-table-header-cell.vue-DNMOHfek.d.mts → as-table-header-cell.vue-Dj_Tl7dZ.d.mts} +1 -1
  100. package/dist/{as-table-root-zJdmNnsC.cjs → as-table-root-Cg2zkxR5.cjs} +8 -20
  101. package/dist/{as-table-root-Bc23Z7we.mjs → as-table-root-DpQUTbQ8.mjs} +4 -16
  102. package/dist/as-table-root.cjs +1 -1
  103. package/dist/as-table-root.d.cts +1 -1
  104. package/dist/as-table-root.d.mts +1 -1
  105. package/dist/as-table-root.mjs +1 -1
  106. package/dist/{as-table-root.vue-DuMkOgkl.d.mts → as-table-root.vue-B52eHZRL.d.mts} +11 -2
  107. package/dist/{as-table-root.vue-D3ILISqx.d.cts → as-table-root.vue-Cmk2Altf.d.cts} +11 -2
  108. package/dist/{as-table-status-DKXFSCzE.cjs → as-table-status-DZP8dFpm.cjs} +17 -74
  109. package/dist/{as-table-status-B11orhFu.mjs → as-table-status-Dinns93w.mjs} +19 -64
  110. package/dist/as-table.cjs +1 -1
  111. package/dist/as-table.d.cts +1 -1
  112. package/dist/as-table.d.mts +1 -1
  113. package/dist/as-table.mjs +1 -1
  114. package/dist/{as-table.vue-Bab-ISDO.d.mts → as-table.vue-CBrxpL4X.d.cts} +2 -2
  115. package/dist/{as-table.vue-Dk6YH5ls.d.cts → as-table.vue-WF12BUAO.d.mts} +2 -2
  116. package/dist/{as-window-table-CDTjX7W5.mjs → as-window-table-BwF2t4Zy.mjs} +5 -3
  117. package/dist/{as-window-table-DuwMCDUh.cjs → as-window-table-CCRJKpoE.cjs} +7 -5
  118. package/dist/as-window-table.cjs +1 -1
  119. package/dist/as-window-table.d.cts +1 -1
  120. package/dist/as-window-table.d.mts +1 -1
  121. package/dist/as-window-table.mjs +1 -1
  122. package/dist/{as-window-table.vue-DjTUqghh.d.mts → as-window-table.vue-BJExjL2G.d.mts} +1 -1
  123. package/dist/{as-window-table.vue-BJFSC4Rq.d.cts → as-window-table.vue-Cs5RHe_j.d.cts} +1 -1
  124. package/dist/index.cjs +46 -44
  125. package/dist/index.d.cts +19 -17
  126. package/dist/index.d.mts +23 -21
  127. package/dist/index.mjs +35 -35
  128. package/dist/{types-BvvXN72P.d.mts → types-BPFBxUS_.d.cts} +2 -4
  129. package/dist/{types-CNMmF6W2.d.cts → types-BWeFiZKk.d.mts} +2 -4
  130. package/dist/use-has-emit-listener-BTMDIv2e.mjs +14 -0
  131. package/dist/use-has-emit-listener-hhOH8CBI.cjs +19 -0
  132. package/dist/use-seed-on-open-DO3A1kIb.mjs +30 -0
  133. package/dist/use-seed-on-open-Dg9I89fU.cjs +35 -0
  134. package/dist/use-table-CLsp2mAu.cjs +475 -0
  135. package/dist/use-table-CRsFMyJb.mjs +440 -0
  136. package/dist/{use-table-column-handlers-CGYAY2xH.cjs → use-table-column-handlers-BgC4gUJV.cjs} +0 -19
  137. package/dist/{use-table-column-handlers-t6xi1yCE.mjs → use-table-column-handlers-cm0GxR2u.mjs} +1 -14
  138. package/dist/use-table-component-BbETnUuy.mjs +12 -0
  139. package/dist/use-table-component-CirEOQ_P.cjs +17 -0
  140. package/dist/use-table-nav-bridge-Bh1tpG0X.cjs +57 -0
  141. package/dist/use-table-nav-bridge-i8AjtjIt.mjs +52 -0
  142. package/dist/use-table-selection-C84z4OZy.mjs +59 -0
  143. package/dist/use-table-selection-Cmiu1h4S.cjs +70 -0
  144. package/package.json +10 -7
  145. /package/dist/{as-action-menu-content-CSPPMACR.cjs → as-action-menu-content-BChqFX3E.cjs} +0 -0
  146. /package/dist/{as-action-menu-content-DXWuttt_.mjs → as-action-menu-content-D2yf0zD2.mjs} +0 -0
  147. /package/dist/{as-cell-array.vue-DZGM2VHh.d.mts → as-cell-array.vue-D4vS7C_D.d.mts} +0 -0
  148. /package/dist/{as-cell-date.vue-Zlt4mHWb.d.mts → as-cell-date.vue-Chs7WTZ9.d.mts} +0 -0
  149. /package/dist/{as-cell-json-popover-BWdNs1YU.cjs → as-cell-json-popover-BM2QLgfk.cjs} +0 -0
  150. /package/dist/{as-cell-json-popover-DUq25I0L.mjs → as-cell-json-popover-Dkdv5Y9E.mjs} +0 -0
  151. /package/dist/{as-cell-json.vue-CESWuCer.d.mts → as-cell-json.vue-C0_LDvQw.d.mts} +0 -0
  152. /package/dist/{as-cell-number.vue-1Oq7nVI3.d.mts → as-cell-number.vue-BBF0OuU8.d.mts} +0 -0
  153. /package/dist/{as-cell-union.vue-NnDmQZOA.d.mts → as-cell-union.vue-CL-Lf-Rm.d.mts} +0 -0
  154. /package/dist/{as-column-menu-CH9Htz0Q.cjs → as-column-menu-fZVbJ9lU.cjs} +0 -0
  155. /package/dist/{as-column-menu-DCfhorMP.mjs → as-column-menu-kTIQfLTi.mjs} +0 -0
  156. /package/dist/{as-config-dialog.vue-C6Q62xF5.d.mts → as-config-dialog.vue-BvFZZRuY.d.mts} +0 -0
  157. /package/dist/{as-confirm-dialog-Xtw2wE1X.cjs → as-confirm-dialog-C6HAGzrj.cjs} +0 -0
  158. /package/dist/{as-confirm-dialog-DL0mCEeX.mjs → as-confirm-dialog-ClVKU1Dm.mjs} +0 -0
  159. /package/dist/{as-confirm-dialog.vue-pas8jGhv.d.mts → as-confirm-dialog.vue-Cz52-v6c.d.mts} +0 -0
  160. /package/dist/{as-filter-dialog.vue-RDZjp4gJ.d.mts → as-filter-dialog.vue-likNLqzF.d.mts} +0 -0
  161. /package/dist/{as-filter-field.vue-QY8wi5S5.d.mts → as-filter-field.vue-BbXLhd6O.d.mts} +0 -0
  162. /package/dist/{as-filter-input-P1i0CW2-.mjs → as-filter-input-BM23TNeh.mjs} +0 -0
  163. /package/dist/{as-filter-input--nr72iwX.cjs → as-filter-input-DJu2k9gO.cjs} +0 -0
  164. /package/dist/{as-filter-input.vue-CBQ71eNg.d.mts → as-filter-input.vue-B9ma2l9j.d.mts} +0 -0
  165. /package/dist/{as-filters.vue-BsMgYUcX.d.mts → as-filters.vue-DmECMd1v.d.mts} +0 -0
  166. /package/dist/{as-preset-dialog.vue-Bzv-ON9W.d.mts → as-preset-dialog.vue-BRjjfPty.d.mts} +0 -0
  167. /package/dist/{as-preset-picker.vue-CTBk6leV.d.mts → as-preset-picker.vue-BPjsiaVt.d.mts} +0 -0
  168. /package/dist/{as-row-actions.vue-BPaQfGev.d.mts → as-row-actions.vue-DUSDuoR2.d.mts} +0 -0
  169. /package/dist/{as-table-cell-value.vue-BuPCQ8YA.d.mts → as-table-cell-value.vue-kfNgVhzn.d.mts} +0 -0
  170. /package/dist/{format-cell-B2xMDYO9.mjs → format-cell-CNQ6BpvR.mjs} +0 -0
  171. /package/dist/{format-cell-D4mqaN0E.cjs → format-cell-CSbJgz5B.cjs} +0 -0
  172. /package/dist/{get-cell-value-CZSVfDLg.cjs → get-cell-value-4rHKP-TG.cjs} +0 -0
  173. /package/dist/{get-cell-value-DiH84HKL.mjs → get-cell-value-C8LLc_Rr.mjs} +0 -0
  174. /package/dist/{preset-aspect-display-BYeiSgcc.mjs → preset-aspect-display-IICxAlVo.mjs} +0 -0
  175. /package/dist/{preset-aspect-display-y8aal_EF.cjs → preset-aspect-display-TWwf6j1B.cjs} +0 -0
  176. /package/dist/{use-cell-locale-B480_QYK.cjs → use-cell-locale-BGBRQB7s.cjs} +0 -0
  177. /package/dist/{use-cell-locale-1uQaFTLQ.mjs → use-cell-locale-MQXoONh5.mjs} +0 -0
@@ -1,5 +1,5 @@
1
1
  import { a as useTableContext, c as applyRowGate, d as extractIdentifier, f as intentClass, l as ariaLabelFor, m as triggerAction } from "./use-table-state-CuZ2OXoY.mjs";
2
- import { t as as_action_menu_content_default } from "./as-action-menu-content-DXWuttt_.mjs";
2
+ import { t as as_action_menu_content_default } from "./as-action-menu-content-D2yf0zD2.mjs";
3
3
  import { Fragment, computed, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, normalizeClass, openBlock, 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-C78cvaf3.cjs");
1
+ const require_as_row_actions = require("./as-row-actions-05pQX_om.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-BPaQfGev.mjs";
1
+ import { t as _default } from "./as-row-actions.vue-DUSDuoR2.mjs";
2
2
  export { _default as default };
@@ -1,2 +1,2 @@
1
- import { t as as_row_actions_default } from "./as-row-actions-CpEMa5NU.mjs";
1
+ import { t as as_row_actions_default } from "./as-row-actions-D7YgGt0x.mjs";
2
2
  export { as_row_actions_default as default };
@@ -1,7 +1,8 @@
1
1
  const require_use_table_state = require("./use-table-state-DFQ30m-j.cjs");
2
- const require_as_table_status = require("./as-table-status-DKXFSCzE.cjs");
3
- const require_use_table_column_handlers = require("./use-table-column-handlers-CGYAY2xH.cjs");
4
- const require_as_table_base = require("./as-table-base-CHzULili.cjs");
2
+ const require_use_table_selection = require("./use-table-selection-Cmiu1h4S.cjs");
3
+ const require_use_has_emit_listener = require("./use-has-emit-listener-hhOH8CBI.cjs");
4
+ const require_use_table_column_handlers = require("./use-table-column-handlers-BgC4gUJV.cjs");
5
+ const require_as_table_base = require("./as-table-base-GEf95oXP.cjs");
5
6
  let vue = require("vue");
6
7
  let _atscript_ui_table = require("@atscript/ui-table");
7
8
  //#region src/components/as-table.vue?vue&type=script&setup=true&lang.ts
@@ -84,7 +85,7 @@ var as_table_default = /* @__PURE__ */ (0, vue.defineComponent)({
84
85
  (0, vue.watch)(() => props.rowDelete, (val) => {
85
86
  state.rowDelete.value = val;
86
87
  }, { immediate: true });
87
- require_as_table_status.useSelectModeReset(state, () => props.select);
88
+ require_use_table_selection.useSelectModeReset(state, () => props.select);
88
89
  (0, vue.watch)(() => {
89
90
  const placement = props.rowActionsColumn;
90
91
  if (!placement) return false;
@@ -118,7 +119,7 @@ var as_table_default = /* @__PURE__ */ (0, vue.defineComponent)({
118
119
  if (props.select === "none") return [actionsCol.value, ...base];
119
120
  return base;
120
121
  });
121
- require_use_table_state.useRegisterMainActionListener(state, (req) => emit("main-action", req.row, req.absIndex, req.event), require_use_table_column_handlers.useHasEmitListener("onMainAction"));
122
+ require_use_table_state.useRegisterMainActionListener(state, (req) => emit("main-action", req.row, req.absIndex, req.event), require_use_has_emit_listener.useHasEmitListener("onMainAction"));
122
123
  const { onSort, onHide, onFilter, onFiltersOff, onResetWidth, onReorder, onClearFilters } = require_use_table_column_handlers.useTableColumnHandlers(state);
123
124
  function handleSelectAll() {
124
125
  state.selectedRows.value = (0, _atscript_ui_table.rowsToPks)(effectiveRows.value, state.rowValueFn);
@@ -1,7 +1,8 @@
1
1
  import { a as useTableContext, g as ROW_ACTIONS_TYPE, h as ROW_ACTIONS_PATH, i as useRegisterMainActionListener } from "./use-table-state-CuZ2OXoY.mjs";
2
- import { o as useSelectModeReset } from "./as-table-status-B11orhFu.mjs";
3
- import { n as useHasEmitListener, t as useTableColumnHandlers } from "./use-table-column-handlers-t6xi1yCE.mjs";
4
- import { t as as_table_base_default } from "./as-table-base-CSrtmIN2.mjs";
2
+ import { t as useSelectModeReset } from "./use-table-selection-C84z4OZy.mjs";
3
+ import { t as useHasEmitListener } from "./use-has-emit-listener-BTMDIv2e.mjs";
4
+ import { t as useTableColumnHandlers } from "./use-table-column-handlers-cm0GxR2u.mjs";
5
+ import { t as as_table_base_default } from "./as-table-base-DReD74pJ.mjs";
5
6
  import { computed, createCommentVNode, createElementBlock, createElementVNode, createSlots, createVNode, defineComponent, guardReactiveProps, normalizeProps, openBlock, renderList, renderSlot, unref, watch, withCtx } from "vue";
6
7
  import { rowsToPks } from "@atscript/ui-table";
7
8
  //#region src/components/as-table.vue?vue&type=script&setup=true&lang.ts
@@ -1,5 +1,5 @@
1
1
  const require_use_table_state = require("./use-table-state-DFQ30m-j.cjs");
2
- const require_as_action_menu_content = require("./as-action-menu-content-CSPPMACR.cjs");
2
+ const require_as_action_menu_content = require("./as-action-menu-content-BChqFX3E.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,5 +1,5 @@
1
1
  import { a as useTableContext, c as applyRowGate, f as intentClass, l as ariaLabelFor, m as triggerAction, u as collectIdentifiers } from "./use-table-state-CuZ2OXoY.mjs";
2
- import { t as as_action_menu_content_default } from "./as-action-menu-content-DXWuttt_.mjs";
2
+ import { t as as_action_menu_content_default } from "./as-action-menu-content-D2yf0zD2.mjs";
3
3
  import { computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createSlots, createVNode, defineComponent, normalizeClass, openBlock, renderSlot, toDisplayString, unref, 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,2 +1,2 @@
1
- const require_as_table_actions = require("./as-table-actions-DtCjMMCI.cjs");
1
+ const require_as_table_actions = require("./as-table-actions-CsdY2_BG.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-pDtCQ0oB.cjs";
1
+ import { t as _default } from "./as-table-actions.vue-BEjVPzgk.cjs";
2
2
  export = _default;
@@ -1,2 +1,2 @@
1
- import { t as _default } from "./as-table-actions.vue-riwwEAGF.mjs";
1
+ import { t as _default } from "./as-table-actions.vue-Dxkfw34l.mjs";
2
2
  export { _default as default };
@@ -1,2 +1,2 @@
1
- import { t as as_table_actions_default } from "./as-table-actions-D2-MBvoy.mjs";
1
+ import { t as as_table_actions_default } from "./as-table-actions-DCEGQiHi.mjs";
2
2
  export { as_table_actions_default as default };
@@ -1,4 +1,4 @@
1
- import { h as TVueTableActionInfo } from "./types-CNMmF6W2.cjs";
1
+ import { h as TVueTableActionInfo } from "./types-BPFBxUS_.cjs";
2
2
  import * as vue from "vue";
3
3
 
4
4
  //#region src/components/as-table-actions.vue.d.ts
@@ -1,4 +1,4 @@
1
- import { h as TVueTableActionInfo } from "./types-BvvXN72P.mjs";
1
+ import { h as TVueTableActionInfo } from "./types-BWeFiZKk.mjs";
2
2
  import * as vue from "vue";
3
3
 
4
4
  //#region src/components/as-table-actions.vue.d.ts
@@ -1,6 +1,6 @@
1
1
  import { o as useTableContextOptional } from "./use-table-state-CuZ2OXoY.mjs";
2
- import { a as useCellResolver, i as useCellComponents, n as as_table_header_default, t as as_table_status_default } from "./as-table-status-B11orhFu.mjs";
3
- import { t as getCellValue } from "./get-cell-value-DiH84HKL.mjs";
2
+ import { t as getCellValue } from "./get-cell-value-C8LLc_Rr.mjs";
3
+ import { a as useCellResolver, i as useCellComponents, n as as_table_header_default, t as as_table_status_default } from "./as-table-status-Dinns93w.mjs";
4
4
  import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createSlots, createVNode, defineComponent, guardReactiveProps, mergeProps, nextTick, normalizeClass, normalizeProps, normalizeStyle, onMounted, openBlock, ref, renderList, renderSlot, resolveDynamicComponent, unref, useSlots, watch, withCtx } from "vue";
5
5
  import { DEFAULT_ROW_HEIGHT_PX, filledFilterCount } from "@atscript/ui-table";
6
6
  import { useParentElement, useResizeObserver } from "@vueuse/core";
@@ -1,6 +1,6 @@
1
1
  const require_use_table_state = require("./use-table-state-DFQ30m-j.cjs");
2
- const require_as_table_status = require("./as-table-status-DKXFSCzE.cjs");
3
- const require_get_cell_value = require("./get-cell-value-CZSVfDLg.cjs");
2
+ const require_get_cell_value = require("./get-cell-value-4rHKP-TG.cjs");
3
+ const require_as_table_status = require("./as-table-status-DZP8dFpm.cjs");
4
4
  let vue = require("vue");
5
5
  let _atscript_ui_table = require("@atscript/ui-table");
6
6
  let _vueuse_core = require("@vueuse/core");
@@ -1,5 +1,5 @@
1
- import { t as getCellValue } from "./get-cell-value-DiH84HKL.mjs";
2
- import { t as formatCellValue } from "./format-cell-B2xMDYO9.mjs";
1
+ import { t as getCellValue } from "./get-cell-value-C8LLc_Rr.mjs";
2
+ import { t as formatCellValue } from "./format-cell-CNQ6BpvR.mjs";
3
3
  import { createElementBlock, defineComponent, normalizeClass, openBlock, toDisplayString, unref } from "vue";
4
4
  //#endregion
5
5
  //#region src/components/defaults/as-table-cell-value.vue
@@ -1,5 +1,5 @@
1
- const require_get_cell_value = require("./get-cell-value-CZSVfDLg.cjs");
2
- const require_format_cell = require("./format-cell-D4mqaN0E.cjs");
1
+ const require_get_cell_value = require("./get-cell-value-4rHKP-TG.cjs");
2
+ const require_format_cell = require("./format-cell-CSbJgz5B.cjs");
3
3
  let vue = require("vue");
4
4
  //#endregion
5
5
  //#region src/components/defaults/as-table-cell-value.vue
@@ -1,2 +1,2 @@
1
- const require_as_table_cell_value = require("./as-table-cell-value-CuxRtFn9.cjs");
1
+ const require_as_table_cell_value = require("./as-table-cell-value-CcWR5oG4.cjs");
2
2
  module.exports = require_as_table_cell_value.as_table_cell_value_default;
@@ -1,2 +1,2 @@
1
- import { t as _default } from "./as-table-cell-value.vue-BuPCQ8YA.mjs";
1
+ import { t as _default } from "./as-table-cell-value.vue-kfNgVhzn.mjs";
2
2
  export { _default as default };
@@ -1,2 +1,2 @@
1
- import { t as as_table_cell_value_default } from "./as-table-cell-value-B1CiJYFn.mjs";
1
+ import { t as as_table_cell_value_default } from "./as-table-cell-value-Byrb_Zyh.mjs";
2
2
  export { as_table_cell_value_default as default };
@@ -1,5 +1,6 @@
1
- import { t as as_column_menu_default } from "./as-column-menu-DCfhorMP.mjs";
2
- import { computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, defineComponent, normalizeClass, openBlock, toDisplayString, withCtx, withModifiers } from "vue";
1
+ import { t as useTableComponent } from "./use-table-component-BbETnUuy.mjs";
2
+ import { t as as_column_menu_default } from "./as-column-menu-kTIQfLTi.mjs";
3
+ import { computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, defineComponent, normalizeClass, openBlock, resolveDynamicComponent, toDisplayString, unref, withCtx, withModifiers } from "vue";
3
4
  import { isFilled } from "@atscript/ui-table";
4
5
  //#region src/components/defaults/as-table-header-cell.vue?vue&type=script&setup=true&lang.ts
5
6
  const _hoisted_1 = { class: "as-th-label" };
@@ -49,6 +50,7 @@ var as_table_header_cell_default = /* @__PURE__ */ defineComponent({
49
50
  "reset-width"
50
51
  ],
51
52
  setup(__props, { emit: __emit }) {
53
+ const MenuComponent = useTableComponent("columnMenu", as_column_menu_default);
52
54
  const props = __props;
53
55
  const emit = __emit;
54
56
  const filledCount = computed(() => props.filters?.filter(isFilled).length ?? 0);
@@ -68,7 +70,7 @@ var as_table_header_cell_default = /* @__PURE__ */ defineComponent({
68
70
  emit("reset-width", props.column);
69
71
  }
70
72
  return (_ctx, _cache) => {
71
- return openBlock(), createBlock(as_column_menu_default, {
73
+ return openBlock(), createBlock(resolveDynamicComponent(unref(MenuComponent)), {
72
74
  column: props.column,
73
75
  order: __props.sortDirection,
74
76
  filters: __props.filters,
@@ -98,7 +100,7 @@ var as_table_header_cell_default = /* @__PURE__ */ defineComponent({
98
100
  }, null, 2)) : createCommentVNode("v-if", true)
99
101
  ])], 32)]),
100
102
  _: 1
101
- }, 8, [
103
+ }, 40, [
102
104
  "column",
103
105
  "order",
104
106
  "filters",
@@ -1,4 +1,5 @@
1
- const require_as_column_menu = require("./as-column-menu-CH9Htz0Q.cjs");
1
+ const require_use_table_component = require("./use-table-component-CirEOQ_P.cjs");
2
+ const require_as_column_menu = require("./as-column-menu-fZVbJ9lU.cjs");
2
3
  let vue = require("vue");
3
4
  let _atscript_ui_table = require("@atscript/ui-table");
4
5
  //#region src/components/defaults/as-table-header-cell.vue?vue&type=script&setup=true&lang.ts
@@ -49,6 +50,7 @@ var as_table_header_cell_default = /* @__PURE__ */ (0, vue.defineComponent)({
49
50
  "reset-width"
50
51
  ],
51
52
  setup(__props, { emit: __emit }) {
53
+ const MenuComponent = require_use_table_component.useTableComponent("columnMenu", require_as_column_menu.as_column_menu_default);
52
54
  const props = __props;
53
55
  const emit = __emit;
54
56
  const filledCount = (0, vue.computed)(() => props.filters?.filter(_atscript_ui_table.isFilled).length ?? 0);
@@ -68,7 +70,7 @@ var as_table_header_cell_default = /* @__PURE__ */ (0, vue.defineComponent)({
68
70
  emit("reset-width", props.column);
69
71
  }
70
72
  return (_ctx, _cache) => {
71
- return (0, vue.openBlock)(), (0, vue.createBlock)(require_as_column_menu.as_column_menu_default, {
73
+ return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.resolveDynamicComponent)((0, vue.unref)(MenuComponent)), {
72
74
  column: props.column,
73
75
  order: __props.sortDirection,
74
76
  filters: __props.filters,
@@ -98,7 +100,7 @@ var as_table_header_cell_default = /* @__PURE__ */ (0, vue.defineComponent)({
98
100
  }, null, 2)) : (0, vue.createCommentVNode)("v-if", true)
99
101
  ])], 32)]),
100
102
  _: 1
101
- }, 8, [
103
+ }, 40, [
102
104
  "column",
103
105
  "order",
104
106
  "filters",
@@ -1,2 +1,2 @@
1
- const require_as_table_header_cell = require("./as-table-header-cell-C3zeZUZo.cjs");
1
+ const require_as_table_header_cell = require("./as-table-header-cell-DWONx2MI.cjs");
2
2
  module.exports = require_as_table_header_cell.as_table_header_cell_default;
@@ -1,2 +1,2 @@
1
- import { t as _default } from "./as-table-header-cell.vue-Bc_DSsGY.cjs";
1
+ import { t as _default } from "./as-table-header-cell.vue-CzqTEpyk.cjs";
2
2
  export = _default;
@@ -1,2 +1,2 @@
1
- import { t as _default } from "./as-table-header-cell.vue-DNMOHfek.mjs";
1
+ import { t as _default } from "./as-table-header-cell.vue-Dj_Tl7dZ.mjs";
2
2
  export { _default as default };
@@ -1,2 +1,2 @@
1
- import { t as as_table_header_cell_default } from "./as-table-header-cell-CBn_ioCe.mjs";
1
+ import { t as as_table_header_cell_default } from "./as-table-header-cell-BUf8wvrw.mjs";
2
2
  export { as_table_header_cell_default as default };
@@ -1,4 +1,4 @@
1
- import { n as ColumnMenuConfig } from "./types-CNMmF6W2.cjs";
1
+ import { n as ColumnMenuConfig } from "./types-BPFBxUS_.cjs";
2
2
  import * as vue from "vue";
3
3
  import { ColumnDef } from "@atscript/ui";
4
4
  import { ColumnWidthEntry, FilterCondition } from "@atscript/ui-table";
@@ -1,4 +1,4 @@
1
- import { n as ColumnMenuConfig } from "./types-BvvXN72P.mjs";
1
+ import { n as ColumnMenuConfig } from "./types-BWeFiZKk.mjs";
2
2
  import { ColumnDef } from "@atscript/ui";
3
3
  import * as vue from "vue";
4
4
  import { ColumnWidthEntry, FilterCondition } from "@atscript/ui-table";
@@ -1,20 +1,8 @@
1
1
  const require_use_table_state = require("./use-table-state-DFQ30m-j.cjs");
2
- const require_as_filter_field = require("./as-filter-field-jL7cnKUR.cjs");
3
- const require_as_filter_dialog = require("./as-filter-dialog-O62-CnIQ.cjs");
4
- const require_use_table_column_handlers = require("./use-table-column-handlers-CGYAY2xH.cjs");
5
- require("./as-cell-array-CXeZzZqt.cjs");
6
- require("./as-cell-date-D0rowX5E.cjs");
7
- require("./as-cell-json-DvHvQ6IL.cjs");
8
- require("./as-cell-number-0_WrSCzu.cjs");
9
- require("./as-cell-union-CFAI0utz.cjs");
10
- require("./as-column-menu-CH9Htz0Q.cjs");
11
- require("./as-config-dialog-BCvtSxi6.cjs");
12
- const require_as_confirm_dialog = require("./as-confirm-dialog-Xtw2wE1X.cjs");
13
- require("./as-filter-input--nr72iwX.cjs");
14
- require("./as-table-cell-value-CuxRtFn9.cjs");
15
- require("./as-table-header-cell-C3zeZUZo.cjs");
16
- require("./as-preset-dialog-1Xl8DIiN.cjs");
17
- require("./as-row-actions-C78cvaf3.cjs");
2
+ const require_use_table = require("./use-table-CLsp2mAu.cjs");
3
+ const require_use_table_nav_bridge = require("./use-table-nav-bridge-Bh1tpG0X.cjs");
4
+ const require_use_has_emit_listener = require("./use-has-emit-listener-hhOH8CBI.cjs");
5
+ const require_as_confirm_dialog = require("./as-confirm-dialog-C6HAGzrj.cjs");
18
6
  let vue = require("vue");
19
7
  //#endregion
20
8
  //#region src/components/as-table-root.vue
@@ -166,9 +154,9 @@ var as_table_root_default = /* @__PURE__ */ (0, vue.defineComponent)({
166
154
  * tableDef settle + URL hydration so the table fetches once.
167
155
  */
168
156
  const urlQuery = (0, vue.useModel)(__props, "urlQuery");
169
- const urlQueryActive = require_use_table_column_handlers.useHasEmitListener("onUpdate:urlQuery").value;
157
+ const urlQueryActive = require_use_has_emit_listener.useHasEmitListener("onUpdate:urlQuery").value;
170
158
  const urlQueryReady = (0, vue.ref)(!urlQueryActive);
171
- const state = require_as_filter_field.useTable(props.url, {
159
+ const state = require_use_table.useTable(props.url, {
172
160
  limit: props.limit,
173
161
  rowValueFn: props.rowValueFn,
174
162
  selectionPersistence: props.selectionPersistence,
@@ -209,8 +197,8 @@ var as_table_root_default = /* @__PURE__ */ (0, vue.defineComponent)({
209
197
  if (typeof q === "string" && q !== "") state.applyUrlQuery(q);
210
198
  if (!urlQueryReady.value) urlQueryReady.value = true;
211
199
  }, { immediate: true });
212
- require_use_table_state.useRegisterMainActionListener(state, (req) => emit("main-action", req.row, req.absIndex, req.event), require_use_table_column_handlers.useHasEmitListener("onMainAction"));
213
- const navBridge = require_as_filter_dialog.useTableNavBridge(state);
200
+ require_use_table_state.useRegisterMainActionListener(state, (req) => emit("main-action", req.row, req.absIndex, req.event), require_use_has_emit_listener.useHasEmitListener("onMainAction"));
201
+ const navBridge = require_use_table_nav_bridge.useTableNavBridge(state);
214
202
  function latchOpened(source) {
215
203
  const latched = (0, vue.ref)(false);
216
204
  (0, vue.watch)(source, (v) => {
@@ -1,20 +1,8 @@
1
1
  import { i as useRegisterMainActionListener } from "./use-table-state-CuZ2OXoY.mjs";
2
- import { r as useTable } from "./as-filter-field-CkiRXHVx.mjs";
3
- import { n as useTableNavBridge } from "./as-filter-dialog-KGyPqr2P.mjs";
4
- import { n as useHasEmitListener } from "./use-table-column-handlers-t6xi1yCE.mjs";
5
- import "./as-cell-array-DOQKR6t5.mjs";
6
- import "./as-cell-date-DPWBlhyM.mjs";
7
- import "./as-cell-json-BynWIs1d.mjs";
8
- import "./as-cell-number-Bc1C97Vg.mjs";
9
- import "./as-cell-union-C1w3B38J.mjs";
10
- import "./as-column-menu-DCfhorMP.mjs";
11
- import "./as-config-dialog-BB6BDa1E.mjs";
12
- import { t as as_confirm_dialog_default } from "./as-confirm-dialog-DL0mCEeX.mjs";
13
- import "./as-filter-input-P1i0CW2-.mjs";
14
- import "./as-table-cell-value-B1CiJYFn.mjs";
15
- import "./as-table-header-cell-CBn_ioCe.mjs";
16
- import "./as-preset-dialog-DXbqMVI1.mjs";
17
- import "./as-row-actions-CpEMa5NU.mjs";
2
+ import { n as useTable } from "./use-table-CRsFMyJb.mjs";
3
+ import { t as useTableNavBridge } from "./use-table-nav-bridge-i8AjtjIt.mjs";
4
+ import { t as useHasEmitListener } from "./use-has-emit-listener-BTMDIv2e.mjs";
5
+ import { t as as_confirm_dialog_default } from "./as-confirm-dialog-ClVKU1Dm.mjs";
18
6
  import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, defineAsyncComponent, defineComponent, mergeModels, openBlock, ref, renderSlot, resolveDynamicComponent, unref, useModel, watch } from "vue";
19
7
  //#endregion
20
8
  //#region src/components/as-table-root.vue
@@ -1,2 +1,2 @@
1
- const require_as_table_root = require("./as-table-root-zJdmNnsC.cjs");
1
+ const require_as_table_root = require("./as-table-root-Cg2zkxR5.cjs");
2
2
  module.exports = require_as_table_root.as_table_root_default;
@@ -1,2 +1,2 @@
1
- import { t as _default } from "./as-table-root.vue-D3ILISqx.cjs";
1
+ import { t as _default } from "./as-table-root.vue-Cmk2Altf.cjs";
2
2
  export = _default;
@@ -1,2 +1,2 @@
1
- import { t as _default } from "./as-table-root.vue-DuMkOgkl.mjs";
1
+ import { t as _default } from "./as-table-root.vue-B52eHZRL.mjs";
2
2
  export { _default as default };
@@ -1,2 +1,2 @@
1
- import { t as as_table_root_default } from "./as-table-root-Bc23Z7we.mjs";
1
+ import { t as as_table_root_default } from "./as-table-root-DpQUTbQ8.mjs";
2
2
  export { as_table_root_default as default };
@@ -1,4 +1,4 @@
1
- import { _ as TableNavBridge, c as NavKeyOptions, d as ReactiveTableState, g as TableActionsState, h as TVueTableActionInfo, i as ConfirmOptions, l as PresetConfig, m as TAsTableControls, p as TAsCellTypeComponents, t as ActionResult } from "./types-BvvXN72P.mjs";
1
+ import { _ as TableNavBridge, c as NavKeyOptions, d as ReactiveTableState, g as TableActionsState, h as TVueTableActionInfo, i as ConfirmOptions, l as PresetConfig, m as TAsTableControls, p as TAsCellTypeComponents, t as ActionResult } from "./types-BWeFiZKk.mjs";
2
2
  import * as _atscript_ui0 from "@atscript/ui";
3
3
  import { ClientFactory, ClientFactory as ClientFactory$1, ColumnDef, SortControl, TableDef, getDefaultClientFactory, resetDefaultClientFactory, setDefaultClientFactory } from "@atscript/ui";
4
4
  import * as vue from "vue";
@@ -2059,7 +2059,11 @@ interface UseAppPrefsReturn {
2059
2059
  declare function useAppPrefs(opts: UseAppPrefsOptions): UseAppPrefsReturn;
2060
2060
  //#endregion
2061
2061
  //#region src/composables/use-table-component.d.ts
2062
- /** Resolve a single skin-slot component from the injected `controls` map, falling back to the default. */
2062
+ /**
2063
+ * Resolve a single skin-slot component from the injected `controls` map,
2064
+ * falling back to the default. Safe to call outside a table context (e.g.
2065
+ * a default mounted standalone in tests) — the fallback is returned.
2066
+ */
2063
2067
  declare function useTableComponent<K extends keyof TAsTableControls>(key: K, fallback: Component$1): Component$1;
2064
2068
  //#endregion
2065
2069
  //#region src/composables/create-default-controls.d.ts
@@ -2071,6 +2075,11 @@ declare function useTableComponent<K extends keyof TAsTableControls>(key: K, fal
2071
2075
  * const controls = { ...createDefaultControls(), filterDialog: MyFilterDialog }
2072
2076
  * ```
2073
2077
  *
2078
+ * `rowActions` is intentionally not seeded — the row-actions column
2079
+ * already falls back to the `types` map's `__actions` entry and then the
2080
+ * built-in renderer. Set `controls.rowActions` only to override explicitly
2081
+ * (it wins over the `types` entry).
2082
+ *
2074
2083
  * `actionFormDialog` is intentionally not seeded — the table root
2075
2084
  * lazy-mounts it only when an `@InputForm` action is detected. To override
2076
2085
  * or eager-load, import from `@atscript/vue-table/as-action-form-dialog`
@@ -1,4 +1,4 @@
1
- import { _ as TableNavBridge, c as NavKeyOptions, d as ReactiveTableState, g as TableActionsState, h as TVueTableActionInfo, i as ConfirmOptions, l as PresetConfig, m as TAsTableControls, p as TAsCellTypeComponents, t as ActionResult } from "./types-CNMmF6W2.cjs";
1
+ import { _ as TableNavBridge, c as NavKeyOptions, d as ReactiveTableState, g as TableActionsState, h as TVueTableActionInfo, i as ConfirmOptions, l as PresetConfig, m as TAsTableControls, p as TAsCellTypeComponents, t as ActionResult } from "./types-BPFBxUS_.cjs";
2
2
  import * as vue from "vue";
3
3
  import { AllowedComponentProps, AnchorHTMLAttributes, App, Component as Component$1, ComponentCustomProps, ComponentPublicInstance, ComputedRef, DefineComponent, InjectionKey, MaybeRef, MaybeRefOrGetter, Ref, ShallowRef, UnwrapRef, VNode, VNodeProps, WritableComputedRef } from "vue";
4
4
  import { Client, PageResult, TDbActionInfo } from "@atscript/db-client";
@@ -2059,7 +2059,11 @@ interface UseAppPrefsReturn {
2059
2059
  declare function useAppPrefs(opts: UseAppPrefsOptions): UseAppPrefsReturn;
2060
2060
  //#endregion
2061
2061
  //#region src/composables/use-table-component.d.ts
2062
- /** Resolve a single skin-slot component from the injected `controls` map, falling back to the default. */
2062
+ /**
2063
+ * Resolve a single skin-slot component from the injected `controls` map,
2064
+ * falling back to the default. Safe to call outside a table context (e.g.
2065
+ * a default mounted standalone in tests) — the fallback is returned.
2066
+ */
2063
2067
  declare function useTableComponent<K extends keyof TAsTableControls>(key: K, fallback: Component$1): Component$1;
2064
2068
  //#endregion
2065
2069
  //#region src/composables/create-default-controls.d.ts
@@ -2071,6 +2075,11 @@ declare function useTableComponent<K extends keyof TAsTableControls>(key: K, fal
2071
2075
  * const controls = { ...createDefaultControls(), filterDialog: MyFilterDialog }
2072
2076
  * ```
2073
2077
  *
2078
+ * `rowActions` is intentionally not seeded — the row-actions column
2079
+ * already falls back to the `types` map's `__actions` entry and then the
2080
+ * built-in renderer. Set `controls.rowActions` only to override explicitly
2081
+ * (it wins over the `types` entry).
2082
+ *
2074
2083
  * `actionFormDialog` is intentionally not seeded — the table root
2075
2084
  * lazy-mounts it only when an `@InputForm` action is detected. To override
2076
2085
  * or eager-load, import from `@atscript/vue-table/as-action-form-dialog`
@@ -1,65 +1,10 @@
1
1
  const require_use_table_state = require("./use-table-state-DFQ30m-j.cjs");
2
- const require_as_table_cell_value = require("./as-table-cell-value-CuxRtFn9.cjs");
3
- const require_as_table_header_cell = require("./as-table-header-cell-C3zeZUZo.cjs");
2
+ const require_use_table_component = require("./use-table-component-CirEOQ_P.cjs");
3
+ const require_as_table_header_cell = require("./as-table-header-cell-DWONx2MI.cjs");
4
+ const require_as_row_actions = require("./as-row-actions-05pQX_om.cjs");
5
+ const require_as_table_cell_value = require("./as-table-cell-value-CcWR5oG4.cjs");
4
6
  let _atscript_ui = require("@atscript/ui");
5
7
  let vue = require("vue");
6
- let _atscript_ui_table = require("@atscript/ui-table");
7
- //#region src/composables/use-table-selection.ts
8
- /**
9
- * Renderer-owned cleanup for the `select` prop transition. Dropping into
10
- * `'none'` clears `selectedRows` so the next opt-in to multi-mode starts
11
- * clean; other transitions are no-ops (`'none' → 'multi'` already has an
12
- * empty selection, `'multi' → 'multi'` doesn't change semantics). The
13
- * getter is invoked once per change — NOT immediate, so the mount-time
14
- * default `'none'` doesn't clobber externally-seeded selections.
15
- *
16
- * Lives outside `useTableSelection` because selection mode is a renderer
17
- * concern (a prop, not state) — both `<AsTable>` and `<AsWindowTable>`
18
- * call this from their setup so the cleanup tracks the renderer's prop.
19
- */
20
- function useSelectModeReset(state, selectGetter) {
21
- (0, vue.watch)(selectGetter, (next, prev) => {
22
- if (next === "none" && prev !== "none" && state.selectedRows.value.length > 0) state.selectedRows.value = [];
23
- });
24
- }
25
- /**
26
- * Wire up selection reconciliation on results change.
27
- *
28
- * The watcher distinguishes results-replacement (query / invalidate /
29
- * pagination jump) from results-extension in EITHER direction (queryNext /
30
- * forward-merging loadRange / backward-merging loadRange) and only runs the
31
- * reconciliation logic on replacement. Backward extension prepends rows AND
32
- * decrements `resultsStart` — caught via the last-row reference identity
33
- * check, so scrolling upward doesn't silently mutate selection.
34
- *
35
- * Mode semantics on results-replacement:
36
- * - `"persist"` — no-op; the consumer's ref is untouched.
37
- * - `"trim"` (default) — keep the subset of selected PKs still present in the new results.
38
- * - `"clear"` — drop everything.
39
- */
40
- function useTableSelection(state, opts) {
41
- const mode = opts?.mode ?? "trim";
42
- (0, vue.watch)([() => state.results.value, () => state.resultsStart.value], ([newResults, newResultsStart], [oldResults, oldResultsStart]) => {
43
- if (mode === "persist") return;
44
- if (state.selectedRows.value.length === 0) return;
45
- const oldArr = oldResults ?? [];
46
- const newArr = newResults;
47
- const oldStart = oldResultsStart ?? 0;
48
- const delta = newArr.length - oldArr.length;
49
- if (delta > 0 && oldArr.length > 0) {
50
- if (newResultsStart === oldStart && newArr[0] === oldArr[0]) return;
51
- if (newResultsStart === oldStart - delta && newArr[newArr.length - 1] === oldArr[oldArr.length - 1]) return;
52
- }
53
- if (mode === "clear") {
54
- state.selectedRows.value = [];
55
- return;
56
- }
57
- const presentPks = /* @__PURE__ */ new Set();
58
- for (const r of newArr) presentPks.add(state.rowValueFn(r));
59
- state.selectedRows.value = (0, _atscript_ui_table.trimSelection)(state.selectedRows.value, presentPks);
60
- });
61
- }
62
- //#endregion
63
8
  //#region src/composables/use-cell-resolver.ts
64
9
  /** Frozen sentinel for columns with no cell-level annotations. */
65
10
  const EMPTY_BINDINGS = Object.freeze({});
@@ -170,14 +115,23 @@ function buildScope(state, row, rowIndex) {
170
115
  * 2. `column.type` → `ctx.types[type]`
171
116
  * 3. fallback → `AsTableCellValue`
172
117
  *
118
+ * The synthesized `__actions` pseudo-column is chrome, not data — it
119
+ * dispatches through `controls.rowActions` first, then the `:types` entry,
120
+ * then the built-in `AsRowActions`.
121
+ *
173
122
  * Hoisted out of the per-cell render path because the answer is identical for
174
123
  * every row in a given column — a 50×10 table avoids ~500 redundant lookups.
175
124
  */
176
125
  function useCellComponents(getColumns) {
177
126
  const ctx = require_use_table_state.useTableContextOptional();
127
+ const RowActions = require_use_table_component.useTableComponent("rowActions", ctx?.types?.["__actions"] ?? require_as_row_actions.as_row_actions_default);
178
128
  return (0, vue.computed)(() => {
179
129
  const out = {};
180
130
  for (const col of getColumns()) {
131
+ if (col.type === "__actions") {
132
+ out[col.path] = RowActions;
133
+ continue;
134
+ }
181
135
  let resolved;
182
136
  if (col.component) resolved = ctx?.components?.[col.component];
183
137
  resolved ??= ctx?.types?.[col.type] ?? require_as_table_cell_value.as_table_cell_value_default;
@@ -457,6 +411,7 @@ var as_table_header_default = /* @__PURE__ */ (0, vue.defineComponent)({
457
411
  "select-all-toggle"
458
412
  ],
459
413
  setup(__props, { emit: __emit }) {
414
+ const HeaderCell = require_use_table_component.useTableComponent("headerCell", require_as_table_header_cell.as_table_header_cell_default);
460
415
  const props = __props;
461
416
  const emit = __emit;
462
417
  const sortMap = (0, vue.computed)(() => {
@@ -532,7 +487,7 @@ var as_table_header_default = /* @__PURE__ */ (0, vue.defineComponent)({
532
487
  }, [!col.fixed ? (0, vue.renderSlot)(_ctx.$slots, `header-${col.path}`, {
533
488
  key: 0,
534
489
  column: col
535
- }, () => [(0, vue.createVNode)(require_as_table_header_cell.as_table_header_cell_default, {
490
+ }, () => [((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.resolveDynamicComponent)((0, vue.unref)(HeaderCell)), {
536
491
  column: col,
537
492
  "sort-direction": sortMap.value[col.path] ?? null,
538
493
  filters: __props.filters?.[col.path],
@@ -543,13 +498,13 @@ var as_table_header_default = /* @__PURE__ */ (0, vue.defineComponent)({
543
498
  onFilter: _cache[3] || (_cache[3] = (c) => emit("filter", c)),
544
499
  onFiltersOff: _cache[4] || (_cache[4] = (c) => emit("filters-off", c)),
545
500
  onResetWidth: _cache[5] || (_cache[5] = (c) => emit("reset-width", c))
546
- }, null, 8, [
501
+ }, null, 40, [
547
502
  "column",
548
503
  "sort-direction",
549
504
  "filters",
550
505
  "column-menu",
551
506
  "width-entry"
552
- ])]) : (0, vue.createCommentVNode)("v-if", true), __props.resizable && !col.fixed ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", {
507
+ ]))]) : (0, vue.createCommentVNode)("v-if", true), __props.resizable && !col.fixed ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("div", {
553
508
  key: 1,
554
509
  class: "as-th-resize-handle",
555
510
  draggable: "false",
@@ -710,15 +665,3 @@ Object.defineProperty(exports, "useRafBatch", {
710
665
  return useRafBatch;
711
666
  }
712
667
  });
713
- Object.defineProperty(exports, "useSelectModeReset", {
714
- enumerable: true,
715
- get: function() {
716
- return useSelectModeReset;
717
- }
718
- });
719
- Object.defineProperty(exports, "useTableSelection", {
720
- enumerable: true,
721
- get: function() {
722
- return useTableSelection;
723
- }
724
- });