@atscript/vue-table 0.1.138 → 0.1.140

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 (185) hide show
  1. package/dist/as-action-form-dialog.cjs +1 -1
  2. package/dist/as-action-form-dialog.mjs +1 -1
  3. package/dist/{as-action-menu-content-D8f60mY-.cjs → as-action-menu-content-B5RFt7Hc.cjs} +1 -1
  4. package/dist/{as-action-menu-content-CVlExEpl.mjs → as-action-menu-content-KNJr1EkO.mjs} +1 -1
  5. package/dist/{as-cell-array-BWHkJX3I.mjs → as-cell-array-Bgc4GYZf.mjs} +1 -1
  6. package/dist/{as-cell-array-D-8Pqlgo.cjs → as-cell-array-CCZ0Ajj9.cjs} +1 -1
  7. package/dist/as-cell-array.cjs +1 -1
  8. package/dist/as-cell-array.d.mts +1 -1
  9. package/dist/as-cell-array.mjs +1 -1
  10. package/dist/{as-cell-date-mGlnDeLP.mjs → as-cell-date-B9mu0OOD.mjs} +1 -1
  11. package/dist/{as-cell-date-DviMJEqs.cjs → as-cell-date-RU5JPJhI.cjs} +1 -1
  12. package/dist/as-cell-date.cjs +1 -1
  13. package/dist/as-cell-date.d.mts +1 -1
  14. package/dist/as-cell-date.mjs +1 -1
  15. package/dist/{as-cell-json-2I081xnO.mjs → as-cell-json-ByEGYRST.mjs} +1 -1
  16. package/dist/{as-cell-json-CaVB6e7V.cjs → as-cell-json-w5YJxNuF.cjs} +1 -1
  17. package/dist/as-cell-json.cjs +1 -1
  18. package/dist/as-cell-json.d.mts +1 -1
  19. package/dist/as-cell-json.mjs +1 -1
  20. package/dist/{as-cell-number-CP2AZI9g.mjs → as-cell-number-CNDT6gfw.mjs} +1 -1
  21. package/dist/{as-cell-number-BnYbxOiG.cjs → as-cell-number-DGJCTXDf.cjs} +1 -1
  22. package/dist/as-cell-number.cjs +1 -1
  23. package/dist/as-cell-number.d.mts +1 -1
  24. package/dist/as-cell-number.mjs +1 -1
  25. package/dist/{as-cell-union-NHpDCXty.mjs → as-cell-union-DMnoa7RM.mjs} +2 -2
  26. package/dist/{as-cell-union-BjMP91PS.cjs → as-cell-union-LOGvhPeK.cjs} +2 -2
  27. package/dist/as-cell-union.cjs +1 -1
  28. package/dist/as-cell-union.d.mts +1 -1
  29. package/dist/as-cell-union.mjs +1 -1
  30. package/dist/{as-column-menu-BMTS3DO2.mjs → as-column-menu-CBtUfYEE.mjs} +2 -2
  31. package/dist/{as-column-menu-D_8NxujZ.cjs → as-column-menu-ChB7hzmr.cjs} +1 -1
  32. package/dist/as-column-menu.cjs +1 -1
  33. package/dist/as-column-menu.d.cts +1 -1
  34. package/dist/as-column-menu.d.mts +1 -1
  35. package/dist/as-column-menu.mjs +1 -1
  36. package/dist/{as-column-menu.vue-SRkxrvo_.d.mts → as-column-menu.vue-DKQNY5gh.d.cts} +2 -2
  37. package/dist/{as-column-menu.vue-CgvDp7JK.d.cts → as-column-menu.vue-hOmuVcKf.d.mts} +2 -2
  38. package/dist/{as-config-dialog-BrVhIV_e.cjs → as-config-dialog-B1KJJSHE.cjs} +4 -4
  39. package/dist/{as-config-dialog-DHdpmRo9.mjs → as-config-dialog-JXNkCCrh.mjs} +5 -5
  40. package/dist/as-config-dialog.cjs +1 -1
  41. package/dist/as-config-dialog.d.mts +1 -1
  42. package/dist/as-config-dialog.mjs +1 -1
  43. package/dist/{as-confirm-dialog-BG5vlbvV.mjs → as-confirm-dialog-CC6U8nLZ.mjs} +1 -1
  44. package/dist/{as-confirm-dialog-iytk-urB.cjs → as-confirm-dialog-a736BLOm.cjs} +1 -1
  45. package/dist/as-confirm-dialog.cjs +1 -1
  46. package/dist/as-confirm-dialog.d.mts +1 -1
  47. package/dist/as-confirm-dialog.mjs +1 -1
  48. package/dist/{as-filter-dialog-Dis7tkN_.mjs → as-filter-dialog-C3wltqrN.mjs} +16 -16
  49. package/dist/{as-filter-dialog-CW8-zoag.cjs → as-filter-dialog-IflKkOd8.cjs} +15 -15
  50. package/dist/as-filter-dialog.cjs +1 -1
  51. package/dist/as-filter-dialog.d.mts +1 -1
  52. package/dist/as-filter-dialog.mjs +1 -1
  53. package/dist/{as-filter-field-BKoxTudl.mjs → as-filter-field-D_6DlFcp.mjs} +5 -6
  54. package/dist/{as-filter-field-bVIXoH3j.cjs → as-filter-field-pygBjA-K.cjs} +4 -5
  55. package/dist/as-filter-field.cjs +1 -1
  56. package/dist/as-filter-field.d.mts +1 -1
  57. package/dist/as-filter-field.mjs +1 -1
  58. package/dist/as-filter-input.cjs +1 -1
  59. package/dist/as-filter-input.d.mts +1 -1
  60. package/dist/as-filter-input.mjs +1 -1
  61. package/dist/{as-filters-CxVy00LQ.mjs → as-filters-BDzQ2SM_.mjs} +19 -4
  62. package/dist/{as-filters-Dx8WkGiA.cjs → as-filters-BIoEsPD0.cjs} +19 -4
  63. package/dist/as-filters.cjs +1 -1
  64. package/dist/as-filters.d.cts +1 -1
  65. package/dist/as-filters.d.mts +1 -1
  66. package/dist/as-filters.mjs +1 -1
  67. package/dist/{as-filters.vue-DcxDnWAU.d.cts → as-filters.vue-BSgUEh4D.d.mts} +23 -1
  68. package/dist/{as-filters.vue-BG_ysCkC.d.mts → as-filters.vue-DMXZhQW3.d.cts} +23 -1
  69. package/dist/{as-preset-dialog-D8o2ChtM.cjs → as-preset-dialog-BgZB8xyk.cjs} +2 -2
  70. package/dist/{as-preset-dialog-C0f_6VxJ.mjs → as-preset-dialog-D_w4cxKS.mjs} +2 -2
  71. package/dist/as-preset-dialog.cjs +1 -1
  72. package/dist/as-preset-dialog.d.mts +1 -1
  73. package/dist/as-preset-dialog.mjs +1 -1
  74. package/dist/{as-preset-picker-CDItDinB.mjs → as-preset-picker-B8d6l3U1.mjs} +12 -7
  75. package/dist/{as-preset-picker-DonMQ8Ia.cjs → as-preset-picker-XnGrqHyF.cjs} +12 -7
  76. package/dist/as-preset-picker.cjs +1 -1
  77. package/dist/as-preset-picker.d.mts +1 -1
  78. package/dist/as-preset-picker.mjs +1 -1
  79. package/dist/as-residual-filter-C65QsWxr.mjs +49 -0
  80. package/dist/as-residual-filter-ihvXCtpH.cjs +54 -0
  81. package/dist/as-residual-filter.cjs +2 -0
  82. package/dist/as-residual-filter.d.cts +2 -0
  83. package/dist/as-residual-filter.d.mts +2 -0
  84. package/dist/as-residual-filter.mjs +2 -0
  85. package/dist/as-residual-filter.vue-Dfw1l2wS.d.cts +21 -0
  86. package/dist/as-residual-filter.vue-N89YqlCz.d.mts +21 -0
  87. package/dist/{as-row-actions-CAiCfw8d.cjs → as-row-actions-C6N0lcZb.cjs} +2 -2
  88. package/dist/{as-row-actions-B8YANdb4.mjs → as-row-actions-xQ9M1PrO.mjs} +2 -2
  89. package/dist/as-row-actions.cjs +1 -1
  90. package/dist/as-row-actions.d.cts +1 -1
  91. package/dist/as-row-actions.d.mts +1 -1
  92. package/dist/as-row-actions.mjs +1 -1
  93. package/dist/{as-row-actions.vue-BCgHsU18.d.mts → as-row-actions.vue-B3XAxDAL.d.cts} +1 -1
  94. package/dist/{as-row-actions.vue-C49h8PpE.d.cts → as-row-actions.vue-C8vslg0n.d.mts} +1 -1
  95. package/dist/{as-table-BAoJ60tx.mjs → as-table-B49x0hDM.mjs} +3 -3
  96. package/dist/{as-table-actions-8yf2QIER.cjs → as-table-actions-B-jY3s6f.cjs} +2 -2
  97. package/dist/{as-table-actions-z5xUWtvK.mjs → as-table-actions-B2Hy3h7v.mjs} +2 -2
  98. package/dist/as-table-actions.cjs +1 -1
  99. package/dist/as-table-actions.d.cts +1 -1
  100. package/dist/as-table-actions.d.mts +1 -1
  101. package/dist/as-table-actions.mjs +1 -1
  102. package/dist/{as-table-actions.vue-BTGQnFH_.d.mts → as-table-actions.vue-BgTJuXEH.d.cts} +2 -2
  103. package/dist/{as-table-actions.vue-oxyikRAt.d.cts → as-table-actions.vue-BnLH2NqO.d.mts} +2 -2
  104. package/dist/{as-table-base-DA5T7x_K.mjs → as-table-base-DErJfFYz.mjs} +2 -2
  105. package/dist/{as-table-base-wPJuru7P.cjs → as-table-base-ceywcVRq.cjs} +2 -2
  106. package/dist/{as-table-cell-value-BAi5yadc.cjs → as-table-cell-value-COyZnwUj.cjs} +1 -1
  107. package/dist/{as-table-cell-value-BVcfhhCb.mjs → as-table-cell-value-DoH8Mieo.mjs} +1 -1
  108. package/dist/as-table-cell-value.cjs +1 -1
  109. package/dist/as-table-cell-value.d.cts +1 -1
  110. package/dist/as-table-cell-value.d.mts +1 -1
  111. package/dist/as-table-cell-value.mjs +1 -1
  112. package/dist/{as-table-header-cell-Cl8waY_g.mjs → as-table-header-cell-Ccf06b2_.mjs} +2 -2
  113. package/dist/{as-table-header-cell-CiRLNVJz.cjs → as-table-header-cell-ZCk3XD_d.cjs} +2 -2
  114. package/dist/as-table-header-cell.cjs +1 -1
  115. package/dist/as-table-header-cell.d.cts +1 -1
  116. package/dist/as-table-header-cell.d.mts +1 -1
  117. package/dist/as-table-header-cell.mjs +1 -1
  118. package/dist/{as-table-header-cell.vue-BjgxfKhi.d.cts → as-table-header-cell.vue-C7jNmdDh.d.mts} +2 -2
  119. package/dist/{as-table-header-cell.vue-zGeuzm3w.d.mts → as-table-header-cell.vue-DkClJBAT.d.cts} +2 -2
  120. package/dist/{as-table-QoXP-NZr.cjs → as-table-ouPxssqv.cjs} +3 -3
  121. package/dist/{as-table-root-Bza3ZGJZ.mjs → as-table-root-CG7bLzcQ.mjs} +18 -29
  122. package/dist/{as-table-root-C6a6iO6M.cjs → as-table-root-_58hdHAi.cjs} +19 -30
  123. package/dist/as-table-root.cjs +1 -1
  124. package/dist/as-table-root.d.cts +1 -1
  125. package/dist/as-table-root.d.mts +1 -1
  126. package/dist/as-table-root.mjs +1 -1
  127. package/dist/{as-table-root.vue-Dze91qga.d.cts → as-table-root.vue-D8hH1xGK.d.cts} +29 -5
  128. package/dist/{as-table-root.vue-DnOHVQtA.d.mts → as-table-root.vue-DpPRMy3v.d.mts} +29 -5
  129. package/dist/{as-table-status-aebsG7bR.mjs → as-table-status-2rA91OFT.mjs} +5 -5
  130. package/dist/{as-table-status-B2O3hLGg.cjs → as-table-status-UWTPJJUL.cjs} +5 -5
  131. package/dist/as-table.cjs +1 -1
  132. package/dist/as-table.d.cts +1 -1
  133. package/dist/as-table.d.mts +1 -1
  134. package/dist/as-table.mjs +1 -1
  135. package/dist/{as-table.vue-emq84QmP.d.mts → as-table.vue-Bv6sKnL5.d.cts} +3 -3
  136. package/dist/{as-table.vue-BSKifGzD.d.cts → as-table.vue-CudFoZTF.d.mts} +3 -3
  137. package/dist/{as-window-table-DS30wumm.cjs → as-window-table-C9YtzepV.cjs} +3 -3
  138. package/dist/{as-window-table-ByTXS8yA.mjs → as-window-table-KyS6YUpa.mjs} +3 -3
  139. package/dist/as-window-table.cjs +1 -1
  140. package/dist/as-window-table.d.cts +1 -1
  141. package/dist/as-window-table.d.mts +1 -1
  142. package/dist/as-window-table.mjs +1 -1
  143. package/dist/{as-window-table.vue-DJNJ-6dd.d.cts → as-window-table.vue-COVl3die.d.mts} +2 -2
  144. package/dist/{as-window-table.vue-DUJgZDXy.d.mts → as-window-table.vue-CRWdhOgC.d.cts} +2 -2
  145. package/dist/index.cjs +45 -71
  146. package/dist/index.d.cts +10 -10
  147. package/dist/index.d.mts +22 -22
  148. package/dist/index.mjs +46 -72
  149. package/dist/{types-CsgAGRfG.d.mts → types-BCixOa8x.d.cts} +41 -11
  150. package/dist/{types-DvWLY5zQ.d.cts → types-D7qVxU_y.d.mts} +41 -11
  151. package/dist/{use-table-DRN4nlZs.mjs → use-table-2xPxoNRX.mjs} +3 -2
  152. package/dist/{use-table-JU7BAX4e.cjs → use-table-B45WZLwg.cjs} +3 -2
  153. package/dist/{use-table-column-handlers-DGn4ZW9j.mjs → use-table-column-handlers-p_xK-l0e.mjs} +1 -1
  154. package/dist/{use-table-column-handlers-r47WDxEh.cjs → use-table-column-handlers-rqFo9HLz.cjs} +1 -1
  155. package/dist/{use-table-component-VUFlxIk-.mjs → use-table-component-BYO0zMQj.mjs} +1 -1
  156. package/dist/{use-table-component-DIWiP_Vs.cjs → use-table-component-XQ-Qt_sp.cjs} +1 -1
  157. package/dist/{use-table-nav-bridge-DT8oU-6r.mjs → use-table-nav-bridge-BDBnRc4C.mjs} +1 -1
  158. package/dist/{use-table-nav-bridge-BBtXE70x.cjs → use-table-nav-bridge-DvrsPanF.cjs} +1 -1
  159. package/dist/{use-table-state-CqU1N4Q9.mjs → use-table-state-BzjbnpBA.mjs} +100 -12
  160. package/dist/{use-table-state-CoVe_8NI.cjs → use-table-state-pF_9gnTG.cjs} +104 -10
  161. package/package.json +14 -7
  162. /package/dist/{as-cell-array.vue-D4vS7C_D.d.mts → as-cell-array.vue-ow34clSF.d.mts} +0 -0
  163. /package/dist/{as-cell-date.vue-Chs7WTZ9.d.mts → as-cell-date.vue-B4JCr1qP.d.mts} +0 -0
  164. /package/dist/{as-cell-json-popover-vty5vMjW.cjs → as-cell-json-popover-BM2QLgfk.cjs} +0 -0
  165. /package/dist/{as-cell-json-popover-CH5bAcLE.mjs → as-cell-json-popover-Dkdv5Y9E.mjs} +0 -0
  166. /package/dist/{as-cell-json.vue-C0_LDvQw.d.mts → as-cell-json.vue-B-T3TuFj.d.mts} +0 -0
  167. /package/dist/{as-cell-number.vue-BBF0OuU8.d.mts → as-cell-number.vue-CNH2fbCB.d.mts} +0 -0
  168. /package/dist/{as-cell-union.vue-CL-Lf-Rm.d.mts → as-cell-union.vue-CZwN81H4.d.mts} +0 -0
  169. /package/dist/{as-config-dialog.vue-BvFZZRuY.d.mts → as-config-dialog.vue-BKo2GpzN.d.mts} +0 -0
  170. /package/dist/{as-confirm-dialog.vue-Cz52-v6c.d.mts → as-confirm-dialog.vue-BN_yzu3h.d.mts} +0 -0
  171. /package/dist/{as-filter-dialog.vue-likNLqzF.d.mts → as-filter-dialog.vue-Bl8OIKOf.d.mts} +0 -0
  172. /package/dist/{as-filter-field.vue-BbXLhd6O.d.mts → as-filter-field.vue-DD0IZXS1.d.mts} +0 -0
  173. /package/dist/{as-filter-input-C8KmOus8.mjs → as-filter-input-BM23TNeh.mjs} +0 -0
  174. /package/dist/{as-filter-input-DUqpkTkg.cjs → as-filter-input-DJu2k9gO.cjs} +0 -0
  175. /package/dist/{as-filter-input.vue-B9ma2l9j.d.mts → as-filter-input.vue-CFZ33B--.d.mts} +0 -0
  176. /package/dist/{as-preset-dialog.vue-BRjjfPty.d.mts → as-preset-dialog.vue-ChM7H7B4.d.mts} +0 -0
  177. /package/dist/{as-preset-picker.vue-BPjsiaVt.d.mts → as-preset-picker.vue-OaAV2v9z.d.mts} +0 -0
  178. /package/dist/{as-table-cell-value.vue-BgFDv2JQ.d.cts → as-table-cell-value.vue-C0VR9GRK.d.cts} +0 -0
  179. /package/dist/{as-table-cell-value.vue-kfNgVhzn.d.mts → as-table-cell-value.vue-DphckGq-.d.mts} +0 -0
  180. /package/dist/{format-cell-Bx7wNc4X.mjs → format-cell-D1Ziv96Q.mjs} +0 -0
  181. /package/dist/{format-cell-DaxV6WIJ.cjs → format-cell-vCNTh4WZ.cjs} +0 -0
  182. /package/dist/{use-cell-locale-caG2Fzpc.cjs → use-cell-locale-BGBRQB7s.cjs} +0 -0
  183. /package/dist/{use-cell-locale-CxQOQsns.mjs → use-cell-locale-MQXoONh5.mjs} +0 -0
  184. /package/dist/{use-seed-on-open-DSh4XFyp.mjs → use-seed-on-open-DO3A1kIb.mjs} +0 -0
  185. /package/dist/{use-seed-on-open-9TSm1Vbv.cjs → use-seed-on-open-Dg9I89fU.cjs} +0 -0
package/dist/index.mjs CHANGED
@@ -1,35 +1,37 @@
1
- import { D as ROW_ACTIONS_TYPE, a as useTableContext, b as extractIdentifier, n as createTableState, o as useTableContextOptional, r as provideTableContext, t as createStaticTableState } from "./use-table-state-CqU1N4Q9.mjs";
1
+ import { O as ROW_ACTIONS_TYPE, a as useTableContext, n as createTableState, o as useTableContextOptional, r as provideTableContext, t as createStaticTableState, x as extractIdentifier } from "./use-table-state-BzjbnpBA.mjs";
2
2
  import { t as getCellValue } from "./get-cell-value-Cb3X8nUn.mjs";
3
3
  import { n as useTableSelection } from "./use-table-selection-ULbKT2xW.mjs";
4
- import { a as useLocalDraft, i as usePresets, o as AS_PRESETS_APP, r as useTable, s as injectPresetsApp, t as clearTableCache } from "./use-table-DRN4nlZs.mjs";
5
- import { t as useTableNavBridge } from "./use-table-nav-bridge-DT8oU-6r.mjs";
6
- import { t as useTableComponent } from "./use-table-component-VUFlxIk-.mjs";
7
- import { t as as_table_root_default } from "./as-table-root-Bza3ZGJZ.mjs";
8
- import { t as as_cell_array_default } from "./as-cell-array-BWHkJX3I.mjs";
9
- import { t as as_cell_date_default } from "./as-cell-date-mGlnDeLP.mjs";
10
- import { n as useCellLocale, t as provideCellLocale } from "./use-cell-locale-CxQOQsns.mjs";
11
- import { t as as_cell_json_default } from "./as-cell-json-2I081xnO.mjs";
12
- import { t as as_cell_number_default } from "./as-cell-number-CP2AZI9g.mjs";
13
- import { t as formatCellValue } from "./format-cell-Bx7wNc4X.mjs";
14
- import { t as as_cell_union_default } from "./as-cell-union-NHpDCXty.mjs";
15
- import { t as as_column_menu_default } from "./as-column-menu-BMTS3DO2.mjs";
16
- import { t as as_config_dialog_default } from "./as-config-dialog-DHdpmRo9.mjs";
17
- import { t as as_confirm_dialog_default } from "./as-confirm-dialog-BG5vlbvV.mjs";
18
- import { t as as_filter_input_default } from "./as-filter-input-C8KmOus8.mjs";
19
- import { t as as_filter_dialog_default } from "./as-filter-dialog-Dis7tkN_.mjs";
20
- import { t as as_table_header_cell_default } from "./as-table-header-cell-Cl8waY_g.mjs";
21
- import { t as as_window_table_default } from "./as-window-table-ByTXS8yA.mjs";
22
- import { t as as_filter_field_default } from "./as-filter-field-BKoxTudl.mjs";
23
- import { t as as_filters_default } from "./as-filters-CxVy00LQ.mjs";
24
- import { t as as_preset_dialog_default } from "./as-preset-dialog-C0f_6VxJ.mjs";
25
- import { t as as_row_actions_default } from "./as-row-actions-B8YANdb4.mjs";
26
- import { t as as_table_cell_value_default } from "./as-table-cell-value-BVcfhhCb.mjs";
27
- import { t as as_table_default } from "./as-table-BAoJ60tx.mjs";
28
- import { t as as_table_actions_default } from "./as-table-actions-z5xUWtvK.mjs";
29
- import { t as as_preset_picker_default } from "./as-preset-picker-CDItDinB.mjs";
4
+ import { a as useLocalDraft, i as usePresets, o as AS_PRESETS_APP, r as useTable, s as injectPresetsApp, t as clearTableCache } from "./use-table-2xPxoNRX.mjs";
5
+ import { t as useTableNavBridge } from "./use-table-nav-bridge-BDBnRc4C.mjs";
6
+ import { t as useTableComponent } from "./use-table-component-BYO0zMQj.mjs";
7
+ import { t as as_cell_array_default } from "./as-cell-array-Bgc4GYZf.mjs";
8
+ import { t as as_cell_date_default } from "./as-cell-date-B9mu0OOD.mjs";
9
+ import { n as useCellLocale, t as provideCellLocale } from "./use-cell-locale-MQXoONh5.mjs";
10
+ import { t as as_cell_json_default } from "./as-cell-json-ByEGYRST.mjs";
11
+ import { t as as_cell_number_default } from "./as-cell-number-CNDT6gfw.mjs";
12
+ import { t as formatCellValue } from "./format-cell-D1Ziv96Q.mjs";
13
+ import { t as as_cell_union_default } from "./as-cell-union-DMnoa7RM.mjs";
14
+ import { t as as_column_menu_default } from "./as-column-menu-CBtUfYEE.mjs";
15
+ import { t as as_config_dialog_default } from "./as-config-dialog-JXNkCCrh.mjs";
16
+ import { t as as_confirm_dialog_default } from "./as-confirm-dialog-CC6U8nLZ.mjs";
17
+ import { t as as_filter_input_default } from "./as-filter-input-BM23TNeh.mjs";
18
+ import { t as as_filter_dialog_default } from "./as-filter-dialog-C3wltqrN.mjs";
19
+ import { t as as_table_header_cell_default } from "./as-table-header-cell-Ccf06b2_.mjs";
20
+ import { t as as_window_table_default } from "./as-window-table-KyS6YUpa.mjs";
21
+ import { t as as_filter_field_default } from "./as-filter-field-D_6DlFcp.mjs";
22
+ import { t as as_residual_filter_default } from "./as-residual-filter-C65QsWxr.mjs";
23
+ import { t as as_filters_default } from "./as-filters-BDzQ2SM_.mjs";
24
+ import { t as as_preset_dialog_default } from "./as-preset-dialog-D_w4cxKS.mjs";
25
+ import { t as as_row_actions_default } from "./as-row-actions-xQ9M1PrO.mjs";
26
+ import { t as as_table_cell_value_default } from "./as-table-cell-value-DoH8Mieo.mjs";
27
+ import { t as as_table_root_default } from "./as-table-root-CG7bLzcQ.mjs";
28
+ import { t as as_table_default } from "./as-table-B49x0hDM.mjs";
29
+ import { t as as_table_actions_default } from "./as-table-actions-B2Hy3h7v.mjs";
30
+ import { t as as_preset_picker_default } from "./as-preset-picker-B8d6l3U1.mjs";
30
31
  import { getDefaultClientFactory, resetDefaultClientFactory, setDefaultClientFactory } from "@atscript/ui";
31
32
  import { computed, effectScope, ref, shallowRef } from "vue";
32
- import { AppPrefsClient, ExportAbortError, PRESET_ASPECTS, STANDARD_PRESET_ID, SYSTEM_PRESET_PREFIX, collectExportRows, columnFilterType, conditionsForType, defaultCondition, isFilled, isSystemPresetId, isUnavailableError, resolveExportValue, resolveSystemPresets, toCsv, urlQueryConsumesKey, withStableOrder } from "@atscript/ui-table";
33
+ import { AppPrefsClient, ExportAbortError, PRESET_ASPECTS, STANDARD_PRESET_ID, SYSTEM_PRESET_PREFIX, collectExportRows, columnDefaultCondition, columnFilterConditions, columnFilterType, isFilled, isSystemPresetId, isUnavailableError, resolveExportValue, resolveSystemPresets, toCsv, urlQueryConsumesKey, withStableOrder } from "@atscript/ui-table";
34
+ import { splitUrlSegments } from "@uniqu/url";
33
35
  import { StorageSerializers, useEventBus, useStorage } from "@vueuse/core";
34
36
  //#region src/composables/use-table-export.ts
35
37
  /**
@@ -197,8 +199,8 @@ function rawColumn(path) {
197
199
  */
198
200
  function useTableFilter(column, state) {
199
201
  const filterType = columnFilterType(column.type);
200
- const availableConditions = conditionsForType(filterType, column.nullable);
201
- const defCondition = defaultCondition(filterType);
202
+ const availableConditions = columnFilterConditions(column);
203
+ const defCondition = columnDefaultCondition(column);
202
204
  function cloneConditions() {
203
205
  const existing = state.filters.value[column.path];
204
206
  if (existing && existing.length > 0) return existing.map((c) => ({
@@ -292,35 +294,6 @@ function useTableActions() {
292
294
  }
293
295
  //#endregion
294
296
  //#region src/composables/use-table-url-query.ts
295
- /**
296
- * Split a uniqu URL string on top-level `&` separators, respecting
297
- * single-quoted string literals (`name='foo&bar'` is one segment, not two).
298
- * Within a quote, `\'` escapes a literal apostrophe per @uniqu/url's encoder.
299
- * Empty segments (from leading/trailing/double `&`) are dropped.
300
- */
301
- function splitSegments(urlString) {
302
- if (!urlString) return [];
303
- const out = [];
304
- let start = 0;
305
- let inQuote = false;
306
- const push = (end) => {
307
- if (end > start) out.push(urlString.slice(start, end));
308
- };
309
- for (let i = 0; i < urlString.length; i++) {
310
- const c = urlString[i];
311
- if (c === "\\" && inQuote) {
312
- i++;
313
- continue;
314
- }
315
- if (c === "'") inQuote = !inQuote;
316
- else if (c === "&" && !inQuote) {
317
- push(i);
318
- start = i + 1;
319
- }
320
- }
321
- push(urlString.length);
322
- return out;
323
- }
324
297
  const KEY_CHAR = /[A-Za-z0-9_.$-]/;
325
298
  /**
326
299
  * Index of `=` if every char before it is URL-key-safe. Returns -1 when any
@@ -348,7 +321,8 @@ function findCleanEq(segment) {
348
321
  * write therefore agree in both directions: a key the parser ignores (a host
349
322
  * flag, an unrecognised `$control`) is never removed, and a key the parser
350
323
  * reads is the bridge's to remove. Every write merges into the current
351
- * `route.query`, in place.
324
+ * `route.query`: foreign keys stay where they are, the table's own keys are
325
+ * written as one block in the table's order.
352
326
  *
353
327
  * Without a `prefix` the bridge cannot tell a plain `field=value` filter from
354
328
  * a page-owned flag of the same shape, so a plain key that was already in the
@@ -395,24 +369,23 @@ function useTableUrlQuery(route, router, opts = {}) {
395
369
  },
396
370
  set: (urlString) => {
397
371
  const serialized = /* @__PURE__ */ new Map();
398
- for (const segment of splitSegments(urlString)) {
372
+ for (const segment of splitUrlSegments(urlString)) {
373
+ if (!segment) continue;
399
374
  const eqIdx = findCleanEq(segment);
400
375
  const key = eqIdx > 0 ? `${prefix}${segment.slice(0, eqIdx)}` : `${prefix}${segment}`;
401
376
  serialized.set(key, eqIdx > 0 ? segment.slice(eqIdx + 1) : null);
402
377
  written.add(key);
403
378
  }
404
379
  const query = {};
405
- for (const key in route.query) {
406
- if (!isOwn(key)) {
407
- query[key] = route.query[key];
408
- continue;
409
- }
410
- if (serialized.has(key)) {
411
- query[key] = serialized.get(key);
412
- serialized.delete(key);
413
- }
414
- }
415
- for (const [key, value] of serialized) query[key] = value;
380
+ let placed = false;
381
+ const place = () => {
382
+ if (placed) return;
383
+ placed = true;
384
+ for (const [key, value] of serialized) query[key] = value;
385
+ };
386
+ for (const key in route.query) if (isOwn(key)) place();
387
+ else query[key] = route.query[key];
388
+ place();
416
389
  navigate({ query });
417
390
  }
418
391
  });
@@ -638,6 +611,7 @@ function createDefaultControls() {
638
611
  filterDialog: as_filter_dialog_default,
639
612
  filterInput: as_filter_input_default,
640
613
  filterField: as_filter_field_default,
614
+ residualFilter: as_residual_filter_default,
641
615
  configDialog: as_config_dialog_default,
642
616
  confirmDialog: as_confirm_dialog_default
643
617
  };
@@ -1,8 +1,8 @@
1
- import { ColumnDef, PaginationControl, SortControl, TableDef } from "@atscript/ui";
2
1
  import { Component, ComputedRef, MaybeRefOrGetter, Ref, ShallowRef } from "vue";
3
- import { AsPresetEntryRow, AspectMask, ColumnWidthsMap, ConfigTab, FieldFilters, PresetAspect, PresetCapabilities, PresetSnapshot, SelectionMode, SystemPreset, SystemPresetInput, TableStateMethods } from "@atscript/ui-table";
4
2
  import { ClientError, PageResult, TDbActionInfo, TDbActionProcessor, TDbDeleteResult } from "@atscript/db-client";
5
- import { Uniquery } from "@uniqu/core";
3
+ import { FilterExpr, Uniquery } from "@uniqu/core";
4
+ import { ColumnDef, PaginationControl, SortControl, TableDef } from "@atscript/ui";
5
+ import { AsPresetEntryRow, AspectMask, ColumnWidthsMap, ConfigTab, FieldFilters, PresetAspect, PresetCapabilities, PresetSnapshot, SelectionMode, SystemPreset, SystemPresetInput, TableStateMethods } from "@atscript/ui-table";
6
6
 
7
7
  //#region src/composables/state/intent-scope.d.ts
8
8
  interface ActionBuckets {
@@ -369,6 +369,11 @@ interface TAsTableControls {
369
369
  filterDialog?: Component;
370
370
  filterField?: Component;
371
371
  filterValueHelp?: Component;
372
+ /**
373
+ * One residual filter condition's chip in `<AsFilters>` — receives
374
+ * `expr` and `index`. Default `AsResidualFilter`. Since 0.1.140.
375
+ */
376
+ residualFilter?: Component;
372
377
  configDialog?: Component;
373
378
  fieldsSelector?: Component;
374
379
  sortersConfig?: Component;
@@ -413,7 +418,10 @@ type TAsCellTypeComponents = {
413
418
  * @since 0.1.137
414
419
  */
415
420
  interface ApplyUrlQueryOptions {
416
- /** `"merge"` (default) keeps them, `"replace"` clears them. */
421
+ /**
422
+ * Overrides what the URL itself decides (see `applyUrlQuery`): `"merge"`
423
+ * falls back to the table's starting values, `"replace"` clears them.
424
+ */
417
425
  mode?: "merge" | "replace";
418
426
  }
419
427
  /**
@@ -439,6 +447,15 @@ interface ReactiveTableState extends TableStateMethods {
439
447
  columnWidths: Ref<ColumnWidthsMap>;
440
448
  filterFields: ShallowRef<string[]>;
441
449
  filters: ShallowRef<FieldFilters>;
450
+ /**
451
+ * Residual filter conditions — AND-ed Uniquery conjuncts the field-filter
452
+ * model cannot hold (a cross-field `$or`, a second range on one field, …).
453
+ * AND'd after `filters` into every query, carried through the URL, shown
454
+ * as "custom filter" chips by `<AsFilters>`. Replace wholesale (or use
455
+ * `setResidualFilters` / `removeResidualFilter`); `resetFilters()`
456
+ * clears them. Not saved in presets. Since 0.1.140.
457
+ */
458
+ residualFilters: ShallowRef<FilterExpr[]>;
442
459
  sorters: ShallowRef<SortControl[]>;
443
460
  results: ShallowRef<Record<string, unknown>[]>;
444
461
  /** Absolute index where `results[0]` sits. */
@@ -668,13 +685,26 @@ interface ReactiveTableState extends TableStateMethods {
668
685
  * bridge's own emissions. Does NOT call `query()` — root watchers refetch in
669
686
  * reaction to the writes.
670
687
  *
671
- * `mode` decides what happens to filters and sorters the URL does NOT
672
- * mention (search and pagination always take the URL's value):
673
- * - `"merge"` (default) — they survive. This is mount-time deep-link
674
- * hydration, where the URL overlays a preset baseline it must not wipe.
675
- * - `"replace"` (since 0.1.137) — they are cleared, within whatever the
676
- * `urlQuerySync` gates actually serialize. This is history navigation,
677
- * where the URL is a complete snapshot of the synced aspects.
688
+ * The URL decides what happens to filters and sorters it does NOT mention,
689
+ * within whatever the `urlQuerySync` gates serialize (search and pagination
690
+ * always take the URL's value; columns and other presentation state are
691
+ * never touched):
692
+ * - A URL carrying the `$snapshot` marker (`URL_SNAPSHOT_KEY` — every URL
693
+ * the table writes) replaces: they are cleared, an empty `$sort`
694
+ * included, so a reload or a shared link reproduces the table exactly.
695
+ * - Any other URL (an app deep link) merges: they fall back to the table's
696
+ * boot baseline — the owned filters and sorters it had before the first
697
+ * URL was applied (preset, persisted drafts, props). Every merge starts
698
+ * from that baseline, not from the current state, so Back to a deep link
699
+ * restores it as first opened. A preset switched to later does not move
700
+ * the baseline.
701
+ *
702
+ * `opts.mode` overrides the marker either way. Since 0.1.139.
703
+ *
704
+ * Filter pieces the field-filter model cannot hold are restored as
705
+ * `residualFilters` (since 0.1.140). A URL owns every path it mentions —
706
+ * in a field filter or inside such a condition — so on merge the
707
+ * baseline's filters and residual conditions on those paths give way.
678
708
  */
679
709
  applyUrlQuery: (urlString: string, opts?: ApplyUrlQueryOptions) => void;
680
710
  /**
@@ -1,8 +1,8 @@
1
- import { Component, ComputedRef, MaybeRefOrGetter, Ref, ShallowRef } from "vue";
2
- import { ClientError, PageResult, TDbActionInfo, TDbActionProcessor, TDbDeleteResult } from "@atscript/db-client";
3
- import { Uniquery } from "@uniqu/core";
4
1
  import { ColumnDef, PaginationControl, SortControl, TableDef } from "@atscript/ui";
2
+ import { Component, ComputedRef, MaybeRefOrGetter, Ref, ShallowRef } from "vue";
5
3
  import { AsPresetEntryRow, AspectMask, ColumnWidthsMap, ConfigTab, FieldFilters, PresetAspect, PresetCapabilities, PresetSnapshot, SelectionMode, SystemPreset, SystemPresetInput, TableStateMethods } from "@atscript/ui-table";
4
+ import { ClientError, PageResult, TDbActionInfo, TDbActionProcessor, TDbDeleteResult } from "@atscript/db-client";
5
+ import { FilterExpr, Uniquery } from "@uniqu/core";
6
6
 
7
7
  //#region src/composables/state/intent-scope.d.ts
8
8
  interface ActionBuckets {
@@ -369,6 +369,11 @@ interface TAsTableControls {
369
369
  filterDialog?: Component;
370
370
  filterField?: Component;
371
371
  filterValueHelp?: Component;
372
+ /**
373
+ * One residual filter condition's chip in `<AsFilters>` — receives
374
+ * `expr` and `index`. Default `AsResidualFilter`. Since 0.1.140.
375
+ */
376
+ residualFilter?: Component;
372
377
  configDialog?: Component;
373
378
  fieldsSelector?: Component;
374
379
  sortersConfig?: Component;
@@ -413,7 +418,10 @@ type TAsCellTypeComponents = {
413
418
  * @since 0.1.137
414
419
  */
415
420
  interface ApplyUrlQueryOptions {
416
- /** `"merge"` (default) keeps them, `"replace"` clears them. */
421
+ /**
422
+ * Overrides what the URL itself decides (see `applyUrlQuery`): `"merge"`
423
+ * falls back to the table's starting values, `"replace"` clears them.
424
+ */
417
425
  mode?: "merge" | "replace";
418
426
  }
419
427
  /**
@@ -439,6 +447,15 @@ interface ReactiveTableState extends TableStateMethods {
439
447
  columnWidths: Ref<ColumnWidthsMap>;
440
448
  filterFields: ShallowRef<string[]>;
441
449
  filters: ShallowRef<FieldFilters>;
450
+ /**
451
+ * Residual filter conditions — AND-ed Uniquery conjuncts the field-filter
452
+ * model cannot hold (a cross-field `$or`, a second range on one field, …).
453
+ * AND'd after `filters` into every query, carried through the URL, shown
454
+ * as "custom filter" chips by `<AsFilters>`. Replace wholesale (or use
455
+ * `setResidualFilters` / `removeResidualFilter`); `resetFilters()`
456
+ * clears them. Not saved in presets. Since 0.1.140.
457
+ */
458
+ residualFilters: ShallowRef<FilterExpr[]>;
442
459
  sorters: ShallowRef<SortControl[]>;
443
460
  results: ShallowRef<Record<string, unknown>[]>;
444
461
  /** Absolute index where `results[0]` sits. */
@@ -668,13 +685,26 @@ interface ReactiveTableState extends TableStateMethods {
668
685
  * bridge's own emissions. Does NOT call `query()` — root watchers refetch in
669
686
  * reaction to the writes.
670
687
  *
671
- * `mode` decides what happens to filters and sorters the URL does NOT
672
- * mention (search and pagination always take the URL's value):
673
- * - `"merge"` (default) — they survive. This is mount-time deep-link
674
- * hydration, where the URL overlays a preset baseline it must not wipe.
675
- * - `"replace"` (since 0.1.137) — they are cleared, within whatever the
676
- * `urlQuerySync` gates actually serialize. This is history navigation,
677
- * where the URL is a complete snapshot of the synced aspects.
688
+ * The URL decides what happens to filters and sorters it does NOT mention,
689
+ * within whatever the `urlQuerySync` gates serialize (search and pagination
690
+ * always take the URL's value; columns and other presentation state are
691
+ * never touched):
692
+ * - A URL carrying the `$snapshot` marker (`URL_SNAPSHOT_KEY` — every URL
693
+ * the table writes) replaces: they are cleared, an empty `$sort`
694
+ * included, so a reload or a shared link reproduces the table exactly.
695
+ * - Any other URL (an app deep link) merges: they fall back to the table's
696
+ * boot baseline — the owned filters and sorters it had before the first
697
+ * URL was applied (preset, persisted drafts, props). Every merge starts
698
+ * from that baseline, not from the current state, so Back to a deep link
699
+ * restores it as first opened. A preset switched to later does not move
700
+ * the baseline.
701
+ *
702
+ * `opts.mode` overrides the marker either way. Since 0.1.139.
703
+ *
704
+ * Filter pieces the field-filter model cannot hold are restored as
705
+ * `residualFilters` (since 0.1.140). A URL owns every path it mentions —
706
+ * in a field filter or inside such a condition — so on merge the
707
+ * baseline's filters and residual conditions on those paths give way.
678
708
  */
679
709
  applyUrlQuery: (urlString: string, opts?: ApplyUrlQueryOptions) => void;
680
710
  /**
@@ -1,4 +1,4 @@
1
- import { n as createTableState, r as provideTableContext, s as DEFAULT_AVAILABLE_ASPECTS } from "./use-table-state-CqU1N4Q9.mjs";
1
+ import { c as DEFAULT_AVAILABLE_ASPECTS, n as createTableState, r as provideTableContext } from "./use-table-state-BzjbnpBA.mjs";
2
2
  import { n as useTableSelection } from "./use-table-selection-ULbKT2xW.mjs";
3
3
  import { createTableDef, getMetaEntry, resetMetaCache } from "@atscript/ui";
4
4
  import { computed, inject, isRef, ref, shallowRef, toValue, watch } from "vue";
@@ -434,7 +434,8 @@ function useTable(url, opts) {
434
434
  ignoreSortersWhenSearched: typeof opts?.ignoreSortersWhenSearched === "boolean" ? opts.ignoreSortersWhenSearched : void 0,
435
435
  urlQueryReady: opts?.urlQueryReady,
436
436
  onUrlQueryChange: opts?.onUrlQueryChange,
437
- urlQuerySync: opts?.urlQuerySync
437
+ urlQuerySync: opts?.urlQuerySync,
438
+ onUnsupportedFilter: opts?.onUnsupportedFilter
438
439
  },
439
440
  window: {
440
441
  blockSize: opts?.blockSize,
@@ -1,4 +1,4 @@
1
- const require_use_table_state = require("./use-table-state-CoVe_8NI.cjs");
1
+ const require_use_table_state = require("./use-table-state-pF_9gnTG.cjs");
2
2
  const require_use_table_selection = require("./use-table-selection-DtCV3rhu.cjs");
3
3
  let _atscript_ui = require("@atscript/ui");
4
4
  let vue = require("vue");
@@ -434,7 +434,8 @@ function useTable(url, opts) {
434
434
  ignoreSortersWhenSearched: typeof opts?.ignoreSortersWhenSearched === "boolean" ? opts.ignoreSortersWhenSearched : void 0,
435
435
  urlQueryReady: opts?.urlQueryReady,
436
436
  onUrlQueryChange: opts?.onUrlQueryChange,
437
- urlQuerySync: opts?.urlQuerySync
437
+ urlQuerySync: opts?.urlQuerySync,
438
+ onUnsupportedFilter: opts?.onUnsupportedFilter
438
439
  },
439
440
  window: {
440
441
  blockSize: opts?.blockSize,
@@ -1,4 +1,4 @@
1
- import { D as ROW_ACTIONS_TYPE, E as ROW_ACTIONS_PATH } from "./use-table-state-CqU1N4Q9.mjs";
1
+ import { D as ROW_ACTIONS_PATH, O as ROW_ACTIONS_TYPE } from "./use-table-state-BzjbnpBA.mjs";
2
2
  import { computed, watch } from "vue";
3
3
  import { reorderColumnNames } from "@atscript/ui-table";
4
4
  //#region src/composables/use-row-actions-column.ts
@@ -1,4 +1,4 @@
1
- const require_use_table_state = require("./use-table-state-CoVe_8NI.cjs");
1
+ const require_use_table_state = require("./use-table-state-pF_9gnTG.cjs");
2
2
  let vue = require("vue");
3
3
  let _atscript_ui_table = require("@atscript/ui-table");
4
4
  //#region src/composables/use-row-actions-column.ts
@@ -1,4 +1,4 @@
1
- import { o as useTableContextOptional } from "./use-table-state-CqU1N4Q9.mjs";
1
+ import { o as useTableContextOptional } from "./use-table-state-BzjbnpBA.mjs";
2
2
  //#region src/composables/use-table-component.ts
3
3
  /**
4
4
  * Resolve a single skin-slot component from the injected `controls` map,
@@ -1,4 +1,4 @@
1
- const require_use_table_state = require("./use-table-state-CoVe_8NI.cjs");
1
+ const require_use_table_state = require("./use-table-state-pF_9gnTG.cjs");
2
2
  //#region src/composables/use-table-component.ts
3
3
  /**
4
4
  * Resolve a single skin-slot component from the injected `controls` map,
@@ -1,4 +1,4 @@
1
- import { o as useTableContextOptional } from "./use-table-state-CqU1N4Q9.mjs";
1
+ import { o as useTableContextOptional } from "./use-table-state-BzjbnpBA.mjs";
2
2
  //#region src/composables/use-table-nav-bridge.ts
3
3
  function isPassthroughKey(event) {
4
4
  const key = event.key;
@@ -1,4 +1,4 @@
1
- const require_use_table_state = require("./use-table-state-CoVe_8NI.cjs");
1
+ const require_use_table_state = require("./use-table-state-pF_9gnTG.cjs");
2
2
  //#region src/composables/use-table-nav-bridge.ts
3
3
  function isPassthroughKey(event) {
4
4
  const key = event.key;