@atscript/vue-table 0.1.132 → 0.1.134

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 (163) hide show
  1. package/dist/as-action-form-dialog.cjs +42 -30
  2. package/dist/as-action-form-dialog.mjs +42 -30
  3. package/dist/{as-action-menu-content-C5qx9MPE.cjs → as-action-menu-content-C_D_Fepo.cjs} +1 -1
  4. package/dist/{as-action-menu-content-4UfcabUe.mjs → as-action-menu-content-rim8hAO9.mjs} +1 -1
  5. package/dist/{as-cell-array-2qmJ1lT2.mjs → as-cell-array-BWHkJX3I.mjs} +2 -2
  6. package/dist/{as-cell-array-iPeUnk2G.cjs → as-cell-array-D-8Pqlgo.cjs} +2 -2
  7. package/dist/as-cell-array.cjs +1 -1
  8. package/dist/as-cell-array.mjs +1 -1
  9. package/dist/{as-cell-date-DyixWKuS.cjs → as-cell-date-DviMJEqs.cjs} +2 -2
  10. package/dist/{as-cell-date-BwFgi6O0.mjs → as-cell-date-mGlnDeLP.mjs} +2 -2
  11. package/dist/as-cell-date.cjs +1 -1
  12. package/dist/as-cell-date.mjs +1 -1
  13. package/dist/{as-cell-json--95Xq6yq.mjs → as-cell-json-2I081xnO.mjs} +2 -2
  14. package/dist/{as-cell-json-Bvv2P7YV.cjs → as-cell-json-CaVB6e7V.cjs} +2 -2
  15. package/dist/as-cell-json.cjs +1 -1
  16. package/dist/as-cell-json.mjs +1 -1
  17. package/dist/{as-cell-number-DuPMOesI.cjs → as-cell-number-BnYbxOiG.cjs} +2 -2
  18. package/dist/{as-cell-number-DKRaS9pM.mjs → as-cell-number-CP2AZI9g.mjs} +2 -2
  19. package/dist/as-cell-number.cjs +1 -1
  20. package/dist/as-cell-number.mjs +1 -1
  21. package/dist/{as-cell-union-DJNsEKTi.cjs → as-cell-union-BjMP91PS.cjs} +3 -3
  22. package/dist/{as-cell-union-C9FukGqF.mjs → as-cell-union-NHpDCXty.mjs} +3 -3
  23. package/dist/as-cell-union.cjs +1 -1
  24. package/dist/as-cell-union.mjs +1 -1
  25. package/dist/as-column-menu.cjs +1 -1
  26. package/dist/as-column-menu.d.cts +1 -1
  27. package/dist/as-column-menu.d.mts +1 -1
  28. package/dist/as-column-menu.mjs +1 -1
  29. package/dist/{as-column-menu.vue-u_DNy3f-.d.cts → as-column-menu.vue-De7SRhj6.d.cts} +1 -1
  30. package/dist/{as-column-menu.vue-DL5N9mKR.d.mts → as-column-menu.vue-Dg0H1dOd.d.mts} +1 -1
  31. package/dist/{as-config-dialog-BehfqIGd.mjs → as-config-dialog-BUBHiVlf.mjs} +56 -35
  32. package/dist/{as-config-dialog-BOYWPYYH.cjs → as-config-dialog-DvBptYMS.cjs} +55 -34
  33. package/dist/as-config-dialog.cjs +1 -1
  34. package/dist/as-config-dialog.mjs +1 -1
  35. package/dist/{as-confirm-dialog-UwhDHysk.cjs → as-confirm-dialog-ByMfIG0A.cjs} +12 -9
  36. package/dist/{as-confirm-dialog-bpN4A-KN.mjs → as-confirm-dialog-G4ZoL_Xo.mjs} +12 -9
  37. package/dist/as-confirm-dialog.cjs +1 -1
  38. package/dist/as-confirm-dialog.mjs +1 -1
  39. package/dist/{as-filter-dialog-D1qzq-8b.mjs → as-filter-dialog-BJWH8cvc.mjs} +34 -26
  40. package/dist/{as-filter-dialog-Dh2Ylthb.cjs → as-filter-dialog-C2oyT0yt.cjs} +33 -25
  41. package/dist/as-filter-dialog.cjs +1 -1
  42. package/dist/as-filter-dialog.mjs +1 -1
  43. package/dist/{as-filter-field-DirBmnbb.mjs → as-filter-field-B2skq4K0.mjs} +4 -4
  44. package/dist/{as-filter-field-DRsDJdpx.cjs → as-filter-field-DxGfasQj.cjs} +4 -4
  45. package/dist/as-filter-field.cjs +1 -1
  46. package/dist/as-filter-field.mjs +1 -1
  47. package/dist/as-filter-input.cjs +1 -1
  48. package/dist/as-filter-input.mjs +1 -1
  49. package/dist/as-filters-Bhte22La.cjs +130 -0
  50. package/dist/as-filters-DogNVlqr.mjs +125 -0
  51. package/dist/as-filters.cjs +1 -1
  52. package/dist/as-filters.d.cts +1 -1
  53. package/dist/as-filters.d.mts +1 -1
  54. package/dist/as-filters.mjs +1 -1
  55. package/dist/as-filters.vue-BG_ysCkC.d.mts +65 -0
  56. package/dist/as-filters.vue-DcxDnWAU.d.cts +65 -0
  57. package/dist/{as-preset-dialog-CDqCAR7N.mjs → as-preset-dialog-BwHV6Y77.mjs} +71 -21
  58. package/dist/{as-preset-dialog-DpM06jqR.cjs → as-preset-dialog-D2a6nxEX.cjs} +75 -25
  59. package/dist/as-preset-dialog.cjs +1 -1
  60. package/dist/as-preset-dialog.mjs +1 -1
  61. package/dist/{as-preset-picker-CISaxEZ0.mjs → as-preset-picker-B0JnyAPA.mjs} +39 -15
  62. package/dist/{as-preset-picker-jUS_YDX8.cjs → as-preset-picker-DbkmapBx.cjs} +45 -21
  63. package/dist/as-preset-picker.cjs +1 -1
  64. package/dist/as-preset-picker.mjs +1 -1
  65. package/dist/{as-row-actions-xqJeAdQl.mjs → as-row-actions-BkIsJVBm.mjs} +24 -11
  66. package/dist/{as-row-actions-Bm6Bzyno.cjs → as-row-actions-CRg8LHGk.cjs} +24 -11
  67. package/dist/as-row-actions.cjs +1 -1
  68. package/dist/as-row-actions.d.cts +1 -1
  69. package/dist/as-row-actions.d.mts +1 -1
  70. package/dist/as-row-actions.mjs +1 -1
  71. package/dist/{as-row-actions.vue-Bvcc2tUN.d.cts → as-row-actions.vue-VpJsBAJ4.d.mts} +8 -0
  72. package/dist/{as-row-actions.vue-DUSDuoR2.d.mts → as-row-actions.vue-dn_DKcMm.d.cts} +8 -0
  73. package/dist/{as-table-CDSG2yED.mjs → as-table-BEvsX87E.mjs} +26 -8
  74. package/dist/{as-table-actions-DMxeaczm.mjs → as-table-actions-B5upF1bQ.mjs} +69 -18
  75. package/dist/{as-table-actions-gV4lqqxc.cjs → as-table-actions-B6sKd4sl.cjs} +68 -17
  76. package/dist/as-table-actions.cjs +1 -1
  77. package/dist/as-table-actions.d.cts +1 -1
  78. package/dist/as-table-actions.d.mts +1 -1
  79. package/dist/as-table-actions.mjs +1 -1
  80. package/dist/{as-table-actions.vue-B-cgiCXP.d.cts → as-table-actions.vue-CoxhpIlJ.d.mts} +2 -2
  81. package/dist/{as-table-actions.vue-ClMa0OD1.d.mts → as-table-actions.vue-Kic8m28V.d.cts} +2 -2
  82. package/dist/{as-table-base-BaTE3VSN.mjs → as-table-base-BxKBdIdS.mjs} +142 -47
  83. package/dist/{as-table-base-RG2TEIgV.cjs → as-table-base-DLuhKz69.cjs} +142 -47
  84. package/dist/{as-table-cell-value-D1JkTQt0.cjs → as-table-cell-value-BAi5yadc.cjs} +2 -2
  85. package/dist/{as-table-cell-value-CPcFxSOj.mjs → as-table-cell-value-BVcfhhCb.mjs} +2 -2
  86. package/dist/as-table-cell-value.cjs +1 -1
  87. package/dist/as-table-cell-value.mjs +1 -1
  88. package/dist/{as-table-header-cell-CIqlO6Lw.cjs → as-table-header-cell-Bv6q5iKA.cjs} +2 -2
  89. package/dist/{as-table-header-cell-Bdhl5Lox.mjs → as-table-header-cell-Xd3cvnII.mjs} +2 -2
  90. package/dist/as-table-header-cell.cjs +1 -1
  91. package/dist/as-table-header-cell.d.cts +1 -1
  92. package/dist/as-table-header-cell.d.mts +1 -1
  93. package/dist/as-table-header-cell.mjs +1 -1
  94. package/dist/{as-table-header-cell.vue-BCszzxtU.d.mts → as-table-header-cell.vue-AS6u4e6v.d.cts} +2 -2
  95. package/dist/{as-table-header-cell.vue-BzTzfGRo.d.cts → as-table-header-cell.vue-zKOmlzhT.d.mts} +2 -2
  96. package/dist/{as-table-root-BLReUbRH.mjs → as-table-root-C1A6JkwL.mjs} +112 -10
  97. package/dist/{as-table-root-DLJ_3Jf4.cjs → as-table-root-DlYjnZax.cjs} +112 -10
  98. package/dist/as-table-root.cjs +1 -1
  99. package/dist/as-table-root.d.cts +1 -1
  100. package/dist/as-table-root.d.mts +1 -1
  101. package/dist/as-table-root.mjs +1 -1
  102. package/dist/{as-table-root.vue-QMT93qPk.d.mts → as-table-root.vue-CWk9YgpG.d.mts} +257 -41
  103. package/dist/{as-table-root.vue-D0T3n-Vm.d.cts → as-table-root.vue-D94eypcL.d.cts} +258 -42
  104. package/dist/{as-table-status-Du4WLF4k.cjs → as-table-status-B2HPerJT.cjs} +54 -38
  105. package/dist/{as-table-status-DGTZlpyq.mjs → as-table-status-QzlBdSiR.mjs} +54 -38
  106. package/dist/{as-table-BWUPzjRn.cjs → as-table-vJbZyZVx.cjs} +26 -8
  107. package/dist/as-table.cjs +1 -1
  108. package/dist/as-table.d.cts +1 -1
  109. package/dist/as-table.d.mts +1 -1
  110. package/dist/as-table.mjs +1 -1
  111. package/dist/{as-table.vue-Ds7MEp37.d.cts → as-table.vue-BB1vaNL6.d.cts} +28 -4
  112. package/dist/{as-table.vue-Ce5606ZO.d.mts → as-table.vue-BUDFTCpo.d.mts} +28 -4
  113. package/dist/{as-window-table-DWujiUQy.mjs → as-window-table-BH0tDDnr.mjs} +107 -24
  114. package/dist/{as-window-table-jD_y9yet.cjs → as-window-table-Bl_q72WL.cjs} +107 -24
  115. package/dist/as-window-table.cjs +1 -1
  116. package/dist/as-window-table.d.cts +1 -1
  117. package/dist/as-window-table.d.mts +1 -1
  118. package/dist/as-window-table.mjs +1 -1
  119. package/dist/{as-window-table.vue-DfZF1Mux.d.mts → as-window-table.vue-Be2IA0Eb.d.cts} +27 -4
  120. package/dist/{as-window-table.vue-Bhf9BK8E.d.cts → as-window-table.vue-CLqFM2ff.d.mts} +27 -4
  121. package/dist/error-message-CfKpn_5w.cjs +18 -0
  122. package/dist/error-message-gNEXnnbb.mjs +13 -0
  123. package/dist/index.cjs +237 -41
  124. package/dist/index.d.cts +10 -10
  125. package/dist/index.d.mts +10 -10
  126. package/dist/index.mjs +230 -43
  127. package/dist/{types-ByU4O0Yf.d.mts → types--ex8BJIO.d.cts} +263 -5
  128. package/dist/{types-CTMxE_zA.d.cts → types-CBGaTR2Z.d.mts} +263 -5
  129. package/dist/{use-table-CyFcVtUN.mjs → use-table-BFhbfWgY.mjs} +48 -23
  130. package/dist/{use-table-component-K6xj1obF.mjs → use-table-component-CRmLHdqi.mjs} +1 -1
  131. package/dist/{use-table-component-DO_kvKSf.cjs → use-table-component-DS5NJPzs.cjs} +1 -1
  132. package/dist/{use-table-nav-bridge-uOQUDooh.cjs → use-table-nav-bridge-DS14D_rG.cjs} +1 -1
  133. package/dist/{use-table-nav-bridge-DeGeaQX-.mjs → use-table-nav-bridge-DzJN5v9a.mjs} +1 -1
  134. package/dist/{use-table-nvBq1dZ4.cjs → use-table-nvuZdgUd.cjs} +51 -20
  135. package/dist/{use-table-state-BxX3SpeW.mjs → use-table-state-mBXx11aH.mjs} +501 -105
  136. package/dist/{use-table-state-Oi2ds4_a.cjs → use-table-state-mhm-YWnu.cjs} +541 -109
  137. package/package.json +9 -9
  138. package/dist/as-filters-DCZTHjf5.cjs +0 -51
  139. package/dist/as-filters-beIud9sF.mjs +0 -46
  140. package/dist/as-filters.vue-DmECMd1v.d.mts +0 -10
  141. package/dist/as-filters.vue-fv-tRL2H.d.cts +0 -10
  142. package/dist/preset-aspect-display-IICxAlVo.mjs +0 -43
  143. package/dist/preset-aspect-display-TWwf6j1B.cjs +0 -72
  144. /package/dist/{as-cell-json-popover-Dkdv5Y9E.mjs → as-cell-json-popover-CH5bAcLE.mjs} +0 -0
  145. /package/dist/{as-cell-json-popover-BM2QLgfk.cjs → as-cell-json-popover-vty5vMjW.cjs} +0 -0
  146. /package/dist/{as-column-menu-kTIQfLTi.mjs → as-column-menu-BMTS3DO2.mjs} +0 -0
  147. /package/dist/{as-column-menu-fZVbJ9lU.cjs → as-column-menu-D_8NxujZ.cjs} +0 -0
  148. /package/dist/{as-filter-input-BM23TNeh.mjs → as-filter-input-C8KmOus8.mjs} +0 -0
  149. /package/dist/{as-filter-input-DJu2k9gO.cjs → as-filter-input-DUqpkTkg.cjs} +0 -0
  150. /package/dist/{format-cell-D1Ziv96Q.mjs → format-cell-Bx7wNc4X.mjs} +0 -0
  151. /package/dist/{format-cell-vCNTh4WZ.cjs → format-cell-DaxV6WIJ.cjs} +0 -0
  152. /package/dist/{get-cell-value-4rHKP-TG.cjs → get-cell-value-CJT4fk4y.cjs} +0 -0
  153. /package/dist/{get-cell-value-C8LLc_Rr.mjs → get-cell-value-Cb3X8nUn.mjs} +0 -0
  154. /package/dist/{use-cell-locale-MQXoONh5.mjs → use-cell-locale-CxQOQsns.mjs} +0 -0
  155. /package/dist/{use-cell-locale-BGBRQB7s.cjs → use-cell-locale-caG2Fzpc.cjs} +0 -0
  156. /package/dist/{use-has-emit-listener-hhOH8CBI.cjs → use-has-emit-listener-BaGFZDyM.cjs} +0 -0
  157. /package/dist/{use-has-emit-listener-BTMDIv2e.mjs → use-has-emit-listener-DrBbsLHQ.mjs} +0 -0
  158. /package/dist/{use-seed-on-open-Dg9I89fU.cjs → use-seed-on-open-9TSm1Vbv.cjs} +0 -0
  159. /package/dist/{use-seed-on-open-DO3A1kIb.mjs → use-seed-on-open-DSh4XFyp.mjs} +0 -0
  160. /package/dist/{use-table-column-handlers-ehreEzcx.cjs → use-table-column-handlers-BMrP0WY2.cjs} +0 -0
  161. /package/dist/{use-table-column-handlers-CpiiIniD.mjs → use-table-column-handlers-Bx3JERqs.mjs} +0 -0
  162. /package/dist/{use-table-selection-Cmiu1h4S.cjs → use-table-selection-DtCV3rhu.cjs} +0 -0
  163. /package/dist/{use-table-selection-C84z4OZy.mjs → use-table-selection-ULbKT2xW.mjs} +0 -0
package/dist/index.cjs CHANGED
@@ -1,37 +1,192 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_use_table_state = require("./use-table-state-Oi2ds4_a.cjs");
3
- const require_use_table_selection = require("./use-table-selection-Cmiu1h4S.cjs");
4
- const require_use_table = require("./use-table-nvBq1dZ4.cjs");
5
- const require_use_table_nav_bridge = require("./use-table-nav-bridge-uOQUDooh.cjs");
6
- const require_use_table_component = require("./use-table-component-DO_kvKSf.cjs");
7
- const require_get_cell_value = require("./get-cell-value-4rHKP-TG.cjs");
8
- const require_as_cell_array = require("./as-cell-array-iPeUnk2G.cjs");
9
- const require_as_cell_date = require("./as-cell-date-DyixWKuS.cjs");
10
- const require_use_cell_locale = require("./use-cell-locale-BGBRQB7s.cjs");
11
- const require_as_cell_json = require("./as-cell-json-Bvv2P7YV.cjs");
12
- const require_as_cell_number = require("./as-cell-number-DuPMOesI.cjs");
13
- const require_format_cell = require("./format-cell-vCNTh4WZ.cjs");
14
- const require_as_cell_union = require("./as-cell-union-DJNsEKTi.cjs");
15
- const require_as_column_menu = require("./as-column-menu-fZVbJ9lU.cjs");
16
- const require_as_config_dialog = require("./as-config-dialog-BOYWPYYH.cjs");
17
- const require_as_confirm_dialog = require("./as-confirm-dialog-UwhDHysk.cjs");
18
- const require_as_filter_input = require("./as-filter-input-DJu2k9gO.cjs");
19
- const require_as_filter_dialog = require("./as-filter-dialog-Dh2Ylthb.cjs");
20
- const require_as_table_header_cell = require("./as-table-header-cell-CIqlO6Lw.cjs");
21
- const require_as_window_table = require("./as-window-table-jD_y9yet.cjs");
22
- const require_as_filter_field = require("./as-filter-field-DRsDJdpx.cjs");
23
- const require_as_filters = require("./as-filters-DCZTHjf5.cjs");
24
- const require_as_preset_dialog = require("./as-preset-dialog-DpM06jqR.cjs");
25
- const require_as_row_actions = require("./as-row-actions-Bm6Bzyno.cjs");
26
- const require_as_table_cell_value = require("./as-table-cell-value-D1JkTQt0.cjs");
27
- const require_as_table_root = require("./as-table-root-DLJ_3Jf4.cjs");
28
- const require_as_table = require("./as-table-BWUPzjRn.cjs");
29
- const require_as_table_actions = require("./as-table-actions-gV4lqqxc.cjs");
30
- const require_as_preset_picker = require("./as-preset-picker-jUS_YDX8.cjs");
2
+ const require_use_table_state = require("./use-table-state-mhm-YWnu.cjs");
3
+ const require_get_cell_value = require("./get-cell-value-CJT4fk4y.cjs");
4
+ const require_use_table_selection = require("./use-table-selection-DtCV3rhu.cjs");
5
+ const require_use_table = require("./use-table-nvuZdgUd.cjs");
6
+ const require_use_table_nav_bridge = require("./use-table-nav-bridge-DS14D_rG.cjs");
7
+ const require_use_table_component = require("./use-table-component-DS5NJPzs.cjs");
8
+ const require_as_table_root = require("./as-table-root-DlYjnZax.cjs");
9
+ const require_as_cell_array = require("./as-cell-array-D-8Pqlgo.cjs");
10
+ const require_as_cell_date = require("./as-cell-date-DviMJEqs.cjs");
11
+ const require_use_cell_locale = require("./use-cell-locale-caG2Fzpc.cjs");
12
+ const require_as_cell_json = require("./as-cell-json-CaVB6e7V.cjs");
13
+ const require_as_cell_number = require("./as-cell-number-BnYbxOiG.cjs");
14
+ const require_format_cell = require("./format-cell-DaxV6WIJ.cjs");
15
+ const require_as_cell_union = require("./as-cell-union-BjMP91PS.cjs");
16
+ const require_as_column_menu = require("./as-column-menu-D_8NxujZ.cjs");
17
+ const require_as_config_dialog = require("./as-config-dialog-DvBptYMS.cjs");
18
+ const require_as_confirm_dialog = require("./as-confirm-dialog-ByMfIG0A.cjs");
19
+ const require_as_filter_input = require("./as-filter-input-DUqpkTkg.cjs");
20
+ const require_as_filter_dialog = require("./as-filter-dialog-C2oyT0yt.cjs");
21
+ const require_as_table_header_cell = require("./as-table-header-cell-Bv6q5iKA.cjs");
22
+ const require_as_window_table = require("./as-window-table-Bl_q72WL.cjs");
23
+ const require_as_filter_field = require("./as-filter-field-DxGfasQj.cjs");
24
+ const require_as_filters = require("./as-filters-Bhte22La.cjs");
25
+ const require_as_preset_dialog = require("./as-preset-dialog-D2a6nxEX.cjs");
26
+ const require_as_row_actions = require("./as-row-actions-CRg8LHGk.cjs");
27
+ const require_as_table_cell_value = require("./as-table-cell-value-BAi5yadc.cjs");
28
+ const require_as_table = require("./as-table-vJbZyZVx.cjs");
29
+ const require_as_table_actions = require("./as-table-actions-B6sKd4sl.cjs");
30
+ const require_as_preset_picker = require("./as-preset-picker-DbkmapBx.cjs");
31
31
  let _atscript_ui = require("@atscript/ui");
32
32
  let vue = require("vue");
33
33
  let _atscript_ui_table = require("@atscript/ui-table");
34
34
  let _vueuse_core = require("@vueuse/core");
35
+ //#region src/composables/use-table-export.ts
36
+ /**
37
+ * Export the table's data as it is queried right now.
38
+ *
39
+ * The export snapshots the table's own query at call time — the same filters,
40
+ * sorters, search term, force-filters and `$select` projection the on-screen
41
+ * fetch uses (`state.buildQuery()`), through the same fetch path
42
+ * (`state.fetchPage()`, so a custom `queryFn` is honoured) — then pages
43
+ * through every result instead of one page. The primary key(s) are appended
44
+ * to the sort as a tiebreaker so pages never overlap or skip.
45
+ *
46
+ * Values come out of the same column metadata the cells read: union/enum keys
47
+ * become their labels, dates become ISO strings, arrays join. Override per
48
+ * column with `formatters`, or globally with `formatCell`.
49
+ *
50
+ * ```ts
51
+ * const { exportRows } = useTableExport()
52
+ * downloadExport(await exportRows({ filename: "orders.csv", csv: { bom: true } }))
53
+ * ```
54
+ *
55
+ * Since 0.1.134.
56
+ */
57
+ function useTableExport(ctx) {
58
+ const state = (ctx ?? require_use_table_state.useTableContext()).state;
59
+ const progress = (0, vue.ref)(null);
60
+ const exporting = (0, vue.computed)(() => progress.value !== null);
61
+ function resolveColumns(selection, opts) {
62
+ if (selection && selection !== "visible") {
63
+ const byPath = new Map(state.allColumns.value.map((c) => [c.path, c]));
64
+ return selection.map((path) => byPath.get(path) ?? rawColumn(path));
65
+ }
66
+ const local = state.localColumnPaths.value;
67
+ const visible = state.columns.value;
68
+ if (local.size === 0) return visible;
69
+ return visible.filter((c) => !local.has(c.path) || opts.formatters?.[c.path]);
70
+ }
71
+ /**
72
+ * One value resolver per column, built once per run: the formatter lookup
73
+ * and the union-option index happen here instead of per cell.
74
+ */
75
+ function resolversFor(columns, opts) {
76
+ return columns.map((column) => {
77
+ const perColumn = opts.formatters?.[column.path];
78
+ const formatCell = opts.formatCell;
79
+ const labels = column.options?.length ? new Map(column.options.map((o) => [o.key, o.label])) : null;
80
+ return (row) => {
81
+ const raw = require_get_cell_value.getCellValue(row, column.path);
82
+ if (perColumn) {
83
+ const out = perColumn(raw, column, row);
84
+ if (out !== void 0) return out;
85
+ }
86
+ if (formatCell) {
87
+ const out = formatCell(raw, column, row);
88
+ if (out !== void 0) return out;
89
+ }
90
+ if (labels !== null && (typeof raw === "string" || typeof raw === "number")) {
91
+ const hit = labels.get(String(raw));
92
+ if (hit !== void 0) return hit;
93
+ }
94
+ return (0, _atscript_ui_table.resolveExportValue)(raw);
95
+ };
96
+ });
97
+ }
98
+ async function exportRows(opts = {}) {
99
+ if (progress.value !== null) throw new Error("[vue-table] exportRows() is already running on this handle.");
100
+ const columns = resolveColumns(opts.columns, opts);
101
+ const columnPaths = columns.map((c) => c.path);
102
+ const query = (0, _atscript_ui_table.withStableOrder)(state.buildQuery({
103
+ columnPaths,
104
+ includeActions: false
105
+ }), state.tableDef.value?.primaryKeys ?? []);
106
+ const resolvers = resolversFor(columns, opts);
107
+ progress.value = { done: 0 };
108
+ try {
109
+ const { rows: matrix, total } = await (0, _atscript_ui_table.collectExportRows)({
110
+ query,
111
+ pageSize: opts.pageSize,
112
+ maxRows: opts.maxRows,
113
+ signal: opts.signal,
114
+ fetchPage: state.fetchPage,
115
+ mapRow: (row) => resolvers.map((resolve) => resolve(row)),
116
+ onProgress: (done, reported) => {
117
+ progress.value = {
118
+ done,
119
+ total: reported
120
+ };
121
+ opts.onProgress?.(done, reported);
122
+ }
123
+ });
124
+ const header = columns.map((c) => c.label || c.path);
125
+ const base = {
126
+ columns: header,
127
+ columnPaths,
128
+ rowCount: matrix.length,
129
+ total
130
+ };
131
+ if (opts.format === "rows") return {
132
+ ...base,
133
+ format: "rows",
134
+ rows: matrix
135
+ };
136
+ return {
137
+ ...base,
138
+ format: "csv",
139
+ filename: withCsvSuffix(opts.filename ?? "export.csv"),
140
+ csv: (0, _atscript_ui_table.toCsv)(header, matrix, opts.csv)
141
+ };
142
+ } finally {
143
+ progress.value = null;
144
+ }
145
+ }
146
+ return {
147
+ exportRows,
148
+ exporting,
149
+ progress
150
+ };
151
+ }
152
+ /**
153
+ * Hand a finished CSV export to the browser as a file download. Returns
154
+ * `false` without doing anything when there is no DOM (SSR / a worker), so a
155
+ * server render can call it unguarded.
156
+ *
157
+ * Since 0.1.134.
158
+ */
159
+ function downloadExport(result) {
160
+ if (result.format !== "csv") throw new Error("[vue-table] downloadExport() needs a `format: 'csv'` export result.");
161
+ if (typeof document === "undefined" || typeof URL?.createObjectURL !== "function") return false;
162
+ const blob = new Blob([result.csv], { type: "text/csv;charset=utf-8" });
163
+ const href = URL.createObjectURL(blob);
164
+ const anchor = document.createElement("a");
165
+ anchor.href = href;
166
+ anchor.download = result.filename;
167
+ anchor.style.display = "none";
168
+ document.body.appendChild(anchor);
169
+ anchor.click();
170
+ anchor.remove();
171
+ URL.revokeObjectURL(href);
172
+ return true;
173
+ }
174
+ function withCsvSuffix(name) {
175
+ return name.toLowerCase().endsWith(".csv") ? name : `${name}.csv`;
176
+ }
177
+ /** Minimal column for an export path that is not one of the table's columns. */
178
+ function rawColumn(path) {
179
+ return {
180
+ path,
181
+ label: path,
182
+ type: "text",
183
+ sortable: false,
184
+ filterable: false,
185
+ nullable: true,
186
+ order: 0
187
+ };
188
+ }
189
+ //#endregion
35
190
  //#region src/composables/use-table-filter.ts
36
191
  /**
37
192
  * Per-field filter state composable.
@@ -188,11 +343,19 @@ function findCleanEq(segment) {
188
343
  * dependency on `vue-router` is added to `@atscript/vue-table`. Consumers
189
344
  * pass in their already-resolved `useRoute()` and `useRouter()` instances.
190
345
  *
191
- * Scope: **owns the whole query string**. The getter returns the entire
192
- * `route.query` serialized; the setter replaces `route.query` wholesale.
193
- * Apps that need the table to coexist with non-table query params should
194
- * write their own `computed` instead — that pattern is small and keeps the
195
- * library's contract crisp.
346
+ * Scope: the bridge owns **only what the table reads back** (since 0.1.133).
347
+ * A key is the table's iff `urlQueryStringToState` would consume it — see
348
+ * `urlQueryConsumesKey` — or the bridge has written it before. Read and
349
+ * write therefore agree in both directions: a key the parser ignores (a host
350
+ * flag, an unrecognised `$control`) is never removed, and a key the parser
351
+ * reads is the bridge's to remove. Every write merges into the current
352
+ * `route.query`, in place.
353
+ *
354
+ * Without a `prefix` the bridge cannot tell a plain `field=value` filter from
355
+ * a page-owned flag of the same shape, so a plain key that was already in the
356
+ * URL when the bridge mounted counts as foreign until the bridge writes it
357
+ * itself. Pass `prefix` when a route carries a host key that could collide
358
+ * with a column path, or when it carries two tables.
196
359
  *
197
360
  * @example
198
361
  * ```vue
@@ -200,6 +363,9 @@ function findCleanEq(segment) {
200
363
  * import { useRoute, useRouter } from 'vue-router';
201
364
  * import { useTableUrlQuery } from '@atscript/vue-table';
202
365
  * const urlQuery = useTableUrlQuery(useRoute(), useRouter());
366
+ * // Two tables on one route:
367
+ * // const left = useTableUrlQuery(useRoute(), useRouter(), { prefix: 'a' });
368
+ * // const right = useTableUrlQuery(useRoute(), useRouter(), { prefix: 'b' });
203
369
  * <\/script>
204
370
  * <template>
205
371
  * <AsTableRoot v-model:url-query="urlQuery" url="/db/products" .../>
@@ -208,25 +374,46 @@ function findCleanEq(segment) {
208
374
  */
209
375
  function useTableUrlQuery(route, router, opts = {}) {
210
376
  const navigate = (opts.mode ?? "replace") === "push" ? router.push.bind(router) : router.replace.bind(router);
377
+ const prefix = opts.prefix ? `${opts.prefix}.` : "";
378
+ const written = /* @__PURE__ */ new Set();
379
+ function isOwn(key) {
380
+ if (prefix) return key.startsWith(prefix);
381
+ return written.has(key) || (0, _atscript_ui_table.urlQueryConsumesKey)(key);
382
+ }
211
383
  return (0, vue.computed)({
212
384
  get: () => {
213
385
  const q = route.query;
214
386
  const parts = [];
215
387
  for (const key in q) {
388
+ if (prefix && !key.startsWith(prefix)) continue;
389
+ const own = prefix ? key.slice(prefix.length) : key;
216
390
  const v = q[key];
217
- if (Array.isArray(v)) for (const item of v) parts.push(item == null ? key : `${key}=${item}`);
218
- else if (v == null) parts.push(key);
219
- else parts.push(`${key}=${v}`);
391
+ if (Array.isArray(v)) for (const item of v) parts.push(item == null ? own : `${own}=${item}`);
392
+ else if (v == null) parts.push(own);
393
+ else parts.push(`${own}=${v}`);
220
394
  }
221
395
  return parts.join("&");
222
396
  },
223
397
  set: (urlString) => {
224
- const query = {};
398
+ const serialized = /* @__PURE__ */ new Map();
225
399
  for (const segment of splitSegments(urlString)) {
226
400
  const eqIdx = findCleanEq(segment);
227
- if (eqIdx > 0) query[segment.slice(0, eqIdx)] = segment.slice(eqIdx + 1);
228
- else query[segment] = null;
401
+ const key = eqIdx > 0 ? `${prefix}${segment.slice(0, eqIdx)}` : `${prefix}${segment}`;
402
+ serialized.set(key, eqIdx > 0 ? segment.slice(eqIdx + 1) : null);
403
+ written.add(key);
229
404
  }
405
+ const query = {};
406
+ for (const key in route.query) {
407
+ if (!isOwn(key)) {
408
+ query[key] = route.query[key];
409
+ continue;
410
+ }
411
+ if (serialized.has(key)) {
412
+ query[key] = serialized.get(key);
413
+ serialized.delete(key);
414
+ }
415
+ }
416
+ for (const [key, value] of serialized) query[key] = value;
230
417
  navigate({ query });
231
418
  }
232
419
  });
@@ -317,7 +504,7 @@ function createInstance(app, opts) {
317
504
  cache.value = { ...result.prefs };
318
505
  existing.value = result.row;
319
506
  } catch (err) {
320
- if ((0, _atscript_ui_table.isAuthError)(err)) {
507
+ if ((0, _atscript_ui_table.isUnavailableError)(err)) {
321
508
  denied.value = true;
322
509
  clearCache();
323
510
  existing.value = null;
@@ -520,6 +707,12 @@ exports.AsTableCellValue = require_as_table_cell_value.as_table_cell_value_defau
520
707
  exports.AsTableHeaderCell = require_as_table_header_cell.as_table_header_cell_default;
521
708
  exports.AsTableRoot = require_as_table_root.as_table_root_default;
522
709
  exports.AsWindowTable = require_as_window_table.as_window_table_default;
710
+ Object.defineProperty(exports, "ExportAbortError", {
711
+ enumerable: true,
712
+ get: function() {
713
+ return _atscript_ui_table.ExportAbortError;
714
+ }
715
+ });
523
716
  Object.defineProperty(exports, "PRESET_ASPECTS", {
524
717
  enumerable: true,
525
718
  get: function() {
@@ -543,6 +736,7 @@ exports.createDefaultCellTypes = createDefaultCellTypes;
543
736
  exports.createDefaultControls = createDefaultControls;
544
737
  exports.createStaticTableState = require_use_table_state.createStaticTableState;
545
738
  exports.createTableState = require_use_table_state.createTableState;
739
+ exports.downloadExport = downloadExport;
546
740
  exports.extractIdentifier = require_use_table_state.extractIdentifier;
547
741
  exports.formatCellValue = require_format_cell.formatCellValue;
548
742
  exports.getCellValue = require_get_cell_value.getCellValue;
@@ -561,6 +755,7 @@ Object.defineProperty(exports, "isSystemPresetId", {
561
755
  }
562
756
  });
563
757
  exports.provideCellLocale = require_use_cell_locale.provideCellLocale;
758
+ exports.provideTableContext = require_use_table_state.provideTableContext;
564
759
  Object.defineProperty(exports, "resetDefaultClientFactory", {
565
760
  enumerable: true,
566
761
  get: function() {
@@ -588,6 +783,7 @@ exports.useTableActions = useTableActions;
588
783
  exports.useTableComponent = require_use_table_component.useTableComponent;
589
784
  exports.useTableContext = require_use_table_state.useTableContext;
590
785
  exports.useTableContextOptional = require_use_table_state.useTableContextOptional;
786
+ exports.useTableExport = useTableExport;
591
787
  exports.useTableFilter = useTableFilter;
592
788
  exports.useTableNavBridge = require_use_table_nav_bridge.useTableNavBridge;
593
789
  exports.useTableSearch = useTableSearch;
package/dist/index.d.cts CHANGED
@@ -1,23 +1,23 @@
1
- import { t as _default$11 } from "./as-filters.vue-fv-tRL2H.cjs";
1
+ import { t as _default$11 } from "./as-filters.vue-DcxDnWAU.cjs";
2
2
  import { t as _default$13 } from "./as-preset-picker.vue-DfXS3pGl.cjs";
3
- import { _ as TableNavBridge, c as NavKeyOptions, d as ReactiveTableState, f as RowDeleteOpt, g as TableActionsState, h as TVueTableActionInfo, m as TAsTableControls, n as ColumnMenuConfig, o as InvokeOpts, p as TAsCellTypeComponents, r as ConfigTab, s as MainActionRequest, t as ActionResult, u as QueryErrorKind } from "./types-CTMxE_zA.cjs";
4
- import { t as _default$16 } from "./as-table-actions.vue-B-cgiCXP.cjs";
5
- import { $ as createStaticTableState, A as createDefaultCellTypes, B as useTableActions, C as extractIdentifier, D as CellLocale, E as getColumnWidth, F as useAppPrefs, G as clearTableCache, H as useTableFilter, I as AS_PRESETS_APP, J as useTableSelection, K as useTable, L as injectPresetsApp, M as useTableComponent, N as UseAppPrefsOptions, O as provideCellLocale, P as UseAppPrefsReturn, Q as TableStateInternals, R as UseTableUrlQueryOptions, S as setDefaultClientFactory, T as getCellValue, U as useTableNavBridge, V as useTableSearch, W as UseTableOptions, X as CreateTableStateOptions, Y as CreateStaticTableStateOptions, Z as TableContext, _ as UserConfData, a as PRESET_ASPECTS, at as UsePresetsReturn, b as resetDefaultClientFactory, c as PresetData, ct as UseLocalDraftOptions, d as QueryOptions, et as createTableState, f as STANDARD_PRESET_ID, g as UrlQuerySync, h as SystemPresetInput, i as ClientFactory, it as UsePresetsOptions, j as createDefaultControls, k as useCellLocale, l as PresetSnapshot, lt as UseLocalDraftReturn, m as SystemPreset, n as AppConfData, nt as useTableContextOptional, o as PresetAspect, ot as usePresets, p as SYSTEM_PRESET_PREFIX, q as SelectionPersistence, r as AsPresetEntryRow, rt as ActivePresetView, s as PresetCapabilities, st as StorageLike, t as _default$19, tt as useTableContext, u as PresetSnapshotWire, ut as useLocalDraft, v as getDefaultClientFactory, w as formatCellValue, x as resolveSystemPresets, y as isSystemPresetId, z as useTableUrlQuery } from "./as-table-root.vue-D0T3n-Vm.cjs";
6
- import { t as _default$15 } from "./as-table.vue-Ds7MEp37.cjs";
7
- import { t as _default$20 } from "./as-window-table.vue-Bhf9BK8E.cjs";
3
+ import { C as TableActionsState, S as TVueTableActionInfo, T as extractIdentifier, _ as RowHookContext, b as TAsCellTypeComponents, c as MainActionRequest, d as QueryErrorKind, f as ReactiveTableState, g as RowDeleteOpt, h as RowClassHook, l as NavKeyOptions, m as RowAttrsHook, n as ColumnMenuConfig, o as InvokeOpts, p as RowActionsConfig, r as ConfigTab, s as LocalRowAction, t as ActionResult, v as RowSelectableHook, w as TableNavBridge, x as TAsTableControls, y as RowSelectableVerdict } from "./types--ex8BJIO.cjs";
4
+ import { t as _default$16 } from "./as-table-actions.vue-Kic8m28V.cjs";
5
+ import { $ as useTableExport, A as CellLocale, B as injectPresetsApp, C as isSystemPresetId, Ct as UseLocalDraftReturn, D as formatCellValue, E as setDefaultClientFactory, F as useTableComponent, G as useTableFilter, H as useTableUrlQuery, I as UseAppPrefsOptions, J as ExportProgress, K as useTableNavBridge, L as UseAppPrefsReturn, M as useCellLocale, N as createDefaultCellTypes, O as getCellValue, P as createDefaultControls, Q as downloadExport, R as useAppPrefs, S as getDefaultClientFactory, St as UseLocalDraftOptions, T as resolveSystemPresets, U as useTableActions, V as UseTableUrlQueryOptions, W as useTableSearch, X as ExportRowsOptions, Y as ExportResult, Z as UseTableExportReturn, _ as SYSTEM_PRESET_PREFIX, _t as ActivePresetView, a as CsvOptions, at as BuildQueryOptions, b as UrlQuerySync, bt as usePresets, c as ExportScalar, ct as QueryFn, d as PresetCapabilities, dt as TableStateInternals, et as UseTableOptions, f as PresetData, ft as createStaticTableState, g as STANDARD_PRESET_ID, gt as useTableContextOptional, h as QueryOptions, ht as useTableContext, i as ClientFactory, it as useTableSelection, j as provideCellLocale, k as getColumnWidth, l as PRESET_ASPECTS, lt as TableContext, m as PresetSnapshotWire, mt as provideTableContext, n as AppConfData, nt as useTable, o as DisplayColumnDef, ot as CreateStaticTableStateOptions, p as PresetSnapshot, pt as createTableState, q as ExportCellFormatter, r as AsPresetEntryRow, rt as SelectionPersistence, s as ExportAbortError, st as CreateTableStateOptions, t as _default$19, tt as clearTableCache, u as PresetAspect, ut as TableModelRefs, v as SystemPreset, vt as UsePresetsOptions, w as resetDefaultClientFactory, wt as useLocalDraft, x as UserConfData, xt as StorageLike, y as SystemPresetInput, yt as UsePresetsReturn, z as AS_PRESETS_APP } from "./as-table-root.vue-D94eypcL.cjs";
6
+ import { t as _default$15 } from "./as-table.vue-BB1vaNL6.cjs";
7
+ import { t as _default$20 } from "./as-window-table.vue-Be2IA0Eb.cjs";
8
8
  import { t as _default } from "./as-cell-array.vue-pFs5GcCR.cjs";
9
9
  import { t as _default$1 } from "./as-cell-date.vue-BBSps2B2.cjs";
10
10
  import { t as _default$2 } from "./as-cell-json.vue-C6wg4ARZ.cjs";
11
11
  import { t as _default$3 } from "./as-cell-number.vue-CJ2K5zeM.cjs";
12
12
  import { t as _default$4 } from "./as-cell-union.vue-CslPM_c2.cjs";
13
- import { t as _default$5 } from "./as-column-menu.vue-u_DNy3f-.cjs";
13
+ import { t as _default$5 } from "./as-column-menu.vue-De7SRhj6.cjs";
14
14
  import { t as _default$6 } from "./as-config-dialog.vue-DvvJi3xx.cjs";
15
15
  import { t as _default$7 } from "./as-confirm-dialog.vue-CXxLpzbu.cjs";
16
16
  import { t as _default$8 } from "./as-filter-dialog.vue-BV2J8PgZ.cjs";
17
17
  import { t as _default$9 } from "./as-filter-field.vue-ByQ8xIGq.cjs";
18
18
  import { t as _default$10 } from "./as-filter-input.vue-CS4nOk_Q.cjs";
19
19
  import { t as _default$12 } from "./as-preset-dialog.vue-DP9fy00Y.cjs";
20
- import { t as _default$14 } from "./as-row-actions.vue-Bvcc2tUN.cjs";
20
+ import { t as _default$14 } from "./as-row-actions.vue-dn_DKcMm.cjs";
21
21
  import { t as _default$17 } from "./as-table-cell-value.vue-BgFDv2JQ.cjs";
22
- import { t as _default$18 } from "./as-table-header-cell.vue-BzTzfGRo.cjs";
23
- export { AS_PRESETS_APP, ActionResult, ActivePresetView, AppConfData, _default as AsCellArray, _default$1 as AsCellDate, _default$2 as AsCellJson, _default$3 as AsCellNumber, _default$4 as AsCellUnion, _default$5 as AsColumnMenu, _default$6 as AsConfigDialog, _default$7 as AsConfirmDialog, _default$8 as AsFilterDialog, _default$9 as AsFilterField, _default$10 as AsFilterInput, _default$11 as AsFilters, _default$12 as AsPresetDialog, AsPresetEntryRow, _default$13 as AsPresetPicker, _default$14 as AsRowActions, _default$15 as AsTable, _default$16 as AsTableActions, _default$17 as AsTableCellValue, _default$18 as AsTableHeaderCell, _default$19 as AsTableRoot, _default$20 as AsWindowTable, CellLocale, ClientFactory, ColumnMenuConfig, ConfigTab, CreateStaticTableStateOptions, CreateTableStateOptions, InvokeOpts, MainActionRequest, NavKeyOptions, PRESET_ASPECTS, PresetAspect, PresetCapabilities, PresetData, PresetSnapshot, PresetSnapshotWire, QueryErrorKind, QueryOptions, ReactiveTableState, RowDeleteOpt, STANDARD_PRESET_ID, SYSTEM_PRESET_PREFIX, SelectionPersistence, StorageLike, SystemPreset, SystemPresetInput, TAsCellTypeComponents, TAsTableControls, TVueTableActionInfo, TableActionsState, TableContext, TableNavBridge, TableStateInternals, UrlQuerySync, UseAppPrefsOptions, UseAppPrefsReturn, UseLocalDraftOptions, UseLocalDraftReturn, UsePresetsOptions, UsePresetsReturn, UseTableOptions, UseTableUrlQueryOptions, UserConfData, clearTableCache, createDefaultCellTypes, createDefaultControls, createStaticTableState, createTableState, extractIdentifier, formatCellValue, getCellValue, getColumnWidth, getDefaultClientFactory, injectPresetsApp, isSystemPresetId, provideCellLocale, resetDefaultClientFactory, resolveSystemPresets, setDefaultClientFactory, useAppPrefs, useCellLocale, useLocalDraft, usePresets, useTable, useTableActions, useTableComponent, useTableContext, useTableContextOptional, useTableFilter, useTableNavBridge, useTableSearch, useTableSelection, useTableUrlQuery };
22
+ import { t as _default$18 } from "./as-table-header-cell.vue-AS6u4e6v.cjs";
23
+ export { AS_PRESETS_APP, ActionResult, ActivePresetView, AppConfData, _default as AsCellArray, _default$1 as AsCellDate, _default$2 as AsCellJson, _default$3 as AsCellNumber, _default$4 as AsCellUnion, _default$5 as AsColumnMenu, _default$6 as AsConfigDialog, _default$7 as AsConfirmDialog, _default$8 as AsFilterDialog, _default$9 as AsFilterField, _default$10 as AsFilterInput, _default$11 as AsFilters, _default$12 as AsPresetDialog, AsPresetEntryRow, _default$13 as AsPresetPicker, _default$14 as AsRowActions, _default$15 as AsTable, _default$16 as AsTableActions, _default$17 as AsTableCellValue, _default$18 as AsTableHeaderCell, _default$19 as AsTableRoot, _default$20 as AsWindowTable, BuildQueryOptions, CellLocale, ClientFactory, ColumnMenuConfig, ConfigTab, CreateStaticTableStateOptions, CreateTableStateOptions, CsvOptions, DisplayColumnDef, ExportAbortError, ExportCellFormatter, ExportProgress, ExportResult, ExportRowsOptions, ExportScalar, InvokeOpts, LocalRowAction, MainActionRequest, NavKeyOptions, PRESET_ASPECTS, PresetAspect, PresetCapabilities, PresetData, PresetSnapshot, PresetSnapshotWire, QueryErrorKind, QueryFn, QueryOptions, ReactiveTableState, RowActionsConfig, RowAttrsHook, RowClassHook, RowDeleteOpt, RowHookContext, RowSelectableHook, RowSelectableVerdict, STANDARD_PRESET_ID, SYSTEM_PRESET_PREFIX, SelectionPersistence, StorageLike, SystemPreset, SystemPresetInput, TAsCellTypeComponents, TAsTableControls, TVueTableActionInfo, TableActionsState, TableContext, TableModelRefs, TableNavBridge, TableStateInternals, UrlQuerySync, UseAppPrefsOptions, UseAppPrefsReturn, UseLocalDraftOptions, UseLocalDraftReturn, UsePresetsOptions, UsePresetsReturn, UseTableExportReturn, UseTableOptions, UseTableUrlQueryOptions, UserConfData, clearTableCache, createDefaultCellTypes, createDefaultControls, createStaticTableState, createTableState, downloadExport, extractIdentifier, formatCellValue, getCellValue, getColumnWidth, getDefaultClientFactory, injectPresetsApp, isSystemPresetId, provideCellLocale, provideTableContext, resetDefaultClientFactory, resolveSystemPresets, setDefaultClientFactory, useAppPrefs, useCellLocale, useLocalDraft, usePresets, useTable, useTableActions, useTableComponent, useTableContext, useTableContextOptional, useTableExport, useTableFilter, useTableNavBridge, useTableSearch, useTableSelection, useTableUrlQuery };
package/dist/index.d.mts CHANGED
@@ -1,23 +1,23 @@
1
- import { t as _default$11 } from "./as-filters.vue-DmECMd1v.mjs";
1
+ import { t as _default$11 } from "./as-filters.vue-BG_ysCkC.mjs";
2
2
  import { t as _default$13 } from "./as-preset-picker.vue-BPjsiaVt.mjs";
3
- import { _ as TableNavBridge, c as NavKeyOptions, d as ReactiveTableState, f as RowDeleteOpt, g as TableActionsState, h as TVueTableActionInfo, m as TAsTableControls, n as ColumnMenuConfig, o as InvokeOpts, p as TAsCellTypeComponents, r as ConfigTab, s as MainActionRequest, t as ActionResult, u as QueryErrorKind } from "./types-ByU4O0Yf.mjs";
4
- import { t as _default$16 } from "./as-table-actions.vue-ClMa0OD1.mjs";
5
- import { $ as createStaticTableState, A as createDefaultCellTypes, B as useTableActions, C as extractIdentifier, D as CellLocale, E as getColumnWidth, F as useAppPrefs, G as clearTableCache, H as useTableFilter, I as AS_PRESETS_APP, J as useTableSelection, K as useTable, L as injectPresetsApp, M as useTableComponent, N as UseAppPrefsOptions, O as provideCellLocale, P as UseAppPrefsReturn, Q as TableStateInternals, R as UseTableUrlQueryOptions, S as setDefaultClientFactory, T as getCellValue, U as useTableNavBridge, V as useTableSearch, W as UseTableOptions, X as CreateTableStateOptions, Y as CreateStaticTableStateOptions, Z as TableContext, _ as UserConfData, a as PRESET_ASPECTS, at as UsePresetsReturn, b as resetDefaultClientFactory, c as PresetData, ct as UseLocalDraftOptions, d as QueryOptions, et as createTableState, f as STANDARD_PRESET_ID, g as UrlQuerySync, h as SystemPresetInput, i as ClientFactory, it as UsePresetsOptions, j as createDefaultControls, k as useCellLocale, l as PresetSnapshot, lt as UseLocalDraftReturn, m as SystemPreset, n as AppConfData, nt as useTableContextOptional, o as PresetAspect, ot as usePresets, p as SYSTEM_PRESET_PREFIX, q as SelectionPersistence, r as AsPresetEntryRow, rt as ActivePresetView, s as PresetCapabilities, st as StorageLike, t as _default$19, tt as useTableContext, u as PresetSnapshotWire, ut as useLocalDraft, v as getDefaultClientFactory, w as formatCellValue, x as resolveSystemPresets, y as isSystemPresetId, z as useTableUrlQuery } from "./as-table-root.vue-QMT93qPk.mjs";
6
- import { t as _default$15 } from "./as-table.vue-Ce5606ZO.mjs";
7
- import { t as _default$20 } from "./as-window-table.vue-DfZF1Mux.mjs";
3
+ import { C as TableActionsState, S as TVueTableActionInfo, T as extractIdentifier, _ as RowHookContext, b as TAsCellTypeComponents, c as MainActionRequest, d as QueryErrorKind, f as ReactiveTableState, g as RowDeleteOpt, h as RowClassHook, l as NavKeyOptions, m as RowAttrsHook, n as ColumnMenuConfig, o as InvokeOpts, p as RowActionsConfig, r as ConfigTab, s as LocalRowAction, t as ActionResult, v as RowSelectableHook, w as TableNavBridge, x as TAsTableControls, y as RowSelectableVerdict } from "./types-CBGaTR2Z.mjs";
4
+ import { t as _default$16 } from "./as-table-actions.vue-CoxhpIlJ.mjs";
5
+ import { $ as useTableExport, A as CellLocale, B as injectPresetsApp, C as isSystemPresetId, Ct as UseLocalDraftReturn, D as formatCellValue, E as setDefaultClientFactory, F as useTableComponent, G as useTableFilter, H as useTableUrlQuery, I as UseAppPrefsOptions, J as ExportProgress, K as useTableNavBridge, L as UseAppPrefsReturn, M as useCellLocale, N as createDefaultCellTypes, O as getCellValue, P as createDefaultControls, Q as downloadExport, R as useAppPrefs, S as getDefaultClientFactory, St as UseLocalDraftOptions, T as resolveSystemPresets, U as useTableActions, V as UseTableUrlQueryOptions, W as useTableSearch, X as ExportRowsOptions, Y as ExportResult, Z as UseTableExportReturn, _ as SYSTEM_PRESET_PREFIX, _t as ActivePresetView, a as CsvOptions, at as BuildQueryOptions, b as UrlQuerySync, bt as usePresets, c as ExportScalar, ct as QueryFn, d as PresetCapabilities, dt as TableStateInternals, et as UseTableOptions, f as PresetData, ft as createStaticTableState, g as STANDARD_PRESET_ID, gt as useTableContextOptional, h as QueryOptions, ht as useTableContext, i as ClientFactory, it as useTableSelection, j as provideCellLocale, k as getColumnWidth, l as PRESET_ASPECTS, lt as TableContext, m as PresetSnapshotWire, mt as provideTableContext, n as AppConfData, nt as useTable, o as DisplayColumnDef, ot as CreateStaticTableStateOptions, p as PresetSnapshot, pt as createTableState, q as ExportCellFormatter, r as AsPresetEntryRow, rt as SelectionPersistence, s as ExportAbortError, st as CreateTableStateOptions, t as _default$19, tt as clearTableCache, u as PresetAspect, ut as TableModelRefs, v as SystemPreset, vt as UsePresetsOptions, w as resetDefaultClientFactory, wt as useLocalDraft, x as UserConfData, xt as StorageLike, y as SystemPresetInput, yt as UsePresetsReturn, z as AS_PRESETS_APP } from "./as-table-root.vue-CWk9YgpG.mjs";
6
+ import { t as _default$15 } from "./as-table.vue-BUDFTCpo.mjs";
7
+ import { t as _default$20 } from "./as-window-table.vue-CLqFM2ff.mjs";
8
8
  import { t as _default } from "./as-cell-array.vue-D4vS7C_D.mjs";
9
9
  import { t as _default$1 } from "./as-cell-date.vue-Chs7WTZ9.mjs";
10
10
  import { t as _default$2 } from "./as-cell-json.vue-C0_LDvQw.mjs";
11
11
  import { t as _default$3 } from "./as-cell-number.vue-BBF0OuU8.mjs";
12
12
  import { t as _default$4 } from "./as-cell-union.vue-CL-Lf-Rm.mjs";
13
- import { t as _default$5 } from "./as-column-menu.vue-DL5N9mKR.mjs";
13
+ import { t as _default$5 } from "./as-column-menu.vue-Dg0H1dOd.mjs";
14
14
  import { t as _default$6 } from "./as-config-dialog.vue-BvFZZRuY.mjs";
15
15
  import { t as _default$7 } from "./as-confirm-dialog.vue-Cz52-v6c.mjs";
16
16
  import { t as _default$8 } from "./as-filter-dialog.vue-likNLqzF.mjs";
17
17
  import { t as _default$9 } from "./as-filter-field.vue-BbXLhd6O.mjs";
18
18
  import { t as _default$10 } from "./as-filter-input.vue-B9ma2l9j.mjs";
19
19
  import { t as _default$12 } from "./as-preset-dialog.vue-BRjjfPty.mjs";
20
- import { t as _default$14 } from "./as-row-actions.vue-DUSDuoR2.mjs";
20
+ import { t as _default$14 } from "./as-row-actions.vue-VpJsBAJ4.mjs";
21
21
  import { t as _default$17 } from "./as-table-cell-value.vue-kfNgVhzn.mjs";
22
- import { t as _default$18 } from "./as-table-header-cell.vue-BCszzxtU.mjs";
23
- export { AS_PRESETS_APP, ActionResult, ActivePresetView, AppConfData, _default as AsCellArray, _default$1 as AsCellDate, _default$2 as AsCellJson, _default$3 as AsCellNumber, _default$4 as AsCellUnion, _default$5 as AsColumnMenu, _default$6 as AsConfigDialog, _default$7 as AsConfirmDialog, _default$8 as AsFilterDialog, _default$9 as AsFilterField, _default$10 as AsFilterInput, _default$11 as AsFilters, _default$12 as AsPresetDialog, AsPresetEntryRow, _default$13 as AsPresetPicker, _default$14 as AsRowActions, _default$15 as AsTable, _default$16 as AsTableActions, _default$17 as AsTableCellValue, _default$18 as AsTableHeaderCell, _default$19 as AsTableRoot, _default$20 as AsWindowTable, CellLocale, ClientFactory, ColumnMenuConfig, ConfigTab, CreateStaticTableStateOptions, CreateTableStateOptions, InvokeOpts, MainActionRequest, NavKeyOptions, PRESET_ASPECTS, PresetAspect, PresetCapabilities, PresetData, PresetSnapshot, PresetSnapshotWire, QueryErrorKind, QueryOptions, ReactiveTableState, RowDeleteOpt, STANDARD_PRESET_ID, SYSTEM_PRESET_PREFIX, SelectionPersistence, StorageLike, SystemPreset, SystemPresetInput, TAsCellTypeComponents, TAsTableControls, TVueTableActionInfo, TableActionsState, TableContext, TableNavBridge, TableStateInternals, UrlQuerySync, UseAppPrefsOptions, UseAppPrefsReturn, UseLocalDraftOptions, UseLocalDraftReturn, UsePresetsOptions, UsePresetsReturn, UseTableOptions, UseTableUrlQueryOptions, UserConfData, clearTableCache, createDefaultCellTypes, createDefaultControls, createStaticTableState, createTableState, extractIdentifier, formatCellValue, getCellValue, getColumnWidth, getDefaultClientFactory, injectPresetsApp, isSystemPresetId, provideCellLocale, resetDefaultClientFactory, resolveSystemPresets, setDefaultClientFactory, useAppPrefs, useCellLocale, useLocalDraft, usePresets, useTable, useTableActions, useTableComponent, useTableContext, useTableContextOptional, useTableFilter, useTableNavBridge, useTableSearch, useTableSelection, useTableUrlQuery };
22
+ import { t as _default$18 } from "./as-table-header-cell.vue-zKOmlzhT.mjs";
23
+ export { AS_PRESETS_APP, ActionResult, ActivePresetView, AppConfData, _default as AsCellArray, _default$1 as AsCellDate, _default$2 as AsCellJson, _default$3 as AsCellNumber, _default$4 as AsCellUnion, _default$5 as AsColumnMenu, _default$6 as AsConfigDialog, _default$7 as AsConfirmDialog, _default$8 as AsFilterDialog, _default$9 as AsFilterField, _default$10 as AsFilterInput, _default$11 as AsFilters, _default$12 as AsPresetDialog, AsPresetEntryRow, _default$13 as AsPresetPicker, _default$14 as AsRowActions, _default$15 as AsTable, _default$16 as AsTableActions, _default$17 as AsTableCellValue, _default$18 as AsTableHeaderCell, _default$19 as AsTableRoot, _default$20 as AsWindowTable, BuildQueryOptions, CellLocale, ClientFactory, ColumnMenuConfig, ConfigTab, CreateStaticTableStateOptions, CreateTableStateOptions, CsvOptions, DisplayColumnDef, ExportAbortError, ExportCellFormatter, ExportProgress, ExportResult, ExportRowsOptions, ExportScalar, InvokeOpts, LocalRowAction, MainActionRequest, NavKeyOptions, PRESET_ASPECTS, PresetAspect, PresetCapabilities, PresetData, PresetSnapshot, PresetSnapshotWire, QueryErrorKind, QueryFn, QueryOptions, ReactiveTableState, RowActionsConfig, RowAttrsHook, RowClassHook, RowDeleteOpt, RowHookContext, RowSelectableHook, RowSelectableVerdict, STANDARD_PRESET_ID, SYSTEM_PRESET_PREFIX, SelectionPersistence, StorageLike, SystemPreset, SystemPresetInput, TAsCellTypeComponents, TAsTableControls, TVueTableActionInfo, TableActionsState, TableContext, TableModelRefs, TableNavBridge, TableStateInternals, UrlQuerySync, UseAppPrefsOptions, UseAppPrefsReturn, UseLocalDraftOptions, UseLocalDraftReturn, UsePresetsOptions, UsePresetsReturn, UseTableExportReturn, UseTableOptions, UseTableUrlQueryOptions, UserConfData, clearTableCache, createDefaultCellTypes, createDefaultControls, createStaticTableState, createTableState, downloadExport, extractIdentifier, formatCellValue, getCellValue, getColumnWidth, getDefaultClientFactory, injectPresetsApp, isSystemPresetId, provideCellLocale, provideTableContext, resetDefaultClientFactory, resolveSystemPresets, setDefaultClientFactory, useAppPrefs, useCellLocale, useLocalDraft, usePresets, useTable, useTableActions, useTableComponent, useTableContext, useTableContextOptional, useTableExport, useTableFilter, useTableNavBridge, useTableSearch, useTableSelection, useTableUrlQuery };