@atscript/vue-table 0.1.58

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 (202) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +24 -0
  3. package/dist/as-action-form-dialog.cjs +221 -0
  4. package/dist/as-action-form-dialog.d.cts +6 -0
  5. package/dist/as-action-form-dialog.d.mts +7 -0
  6. package/dist/as-action-form-dialog.mjs +221 -0
  7. package/dist/as-action-menu-content-CXsdPn42.mjs +104 -0
  8. package/dist/as-action-menu-content-CyUfBrWH.cjs +109 -0
  9. package/dist/as-cell-array-CXeZzZqt.cjs +69 -0
  10. package/dist/as-cell-array-DOQKR6t5.mjs +64 -0
  11. package/dist/as-cell-array.cjs +3 -0
  12. package/dist/as-cell-array.d.cts +2 -0
  13. package/dist/as-cell-array.d.mts +2 -0
  14. package/dist/as-cell-array.mjs +3 -0
  15. package/dist/as-cell-array.vue-DZGM2VHh.d.mts +12 -0
  16. package/dist/as-cell-array.vue-pFs5GcCR.d.cts +12 -0
  17. package/dist/as-cell-date-CTrvxS1h.cjs +78 -0
  18. package/dist/as-cell-date-Cq49RHmL.mjs +73 -0
  19. package/dist/as-cell-date.cjs +3 -0
  20. package/dist/as-cell-date.d.cts +2 -0
  21. package/dist/as-cell-date.d.mts +2 -0
  22. package/dist/as-cell-date.mjs +3 -0
  23. package/dist/as-cell-date.vue-BBSps2B2.d.cts +12 -0
  24. package/dist/as-cell-date.vue-Zlt4mHWb.d.mts +12 -0
  25. package/dist/as-cell-json-BynWIs1d.mjs +37 -0
  26. package/dist/as-cell-json-DvHvQ6IL.cjs +42 -0
  27. package/dist/as-cell-json-popover-BWdNs1YU.cjs +70 -0
  28. package/dist/as-cell-json-popover-DUq25I0L.mjs +65 -0
  29. package/dist/as-cell-json.cjs +3 -0
  30. package/dist/as-cell-json.d.cts +2 -0
  31. package/dist/as-cell-json.d.mts +2 -0
  32. package/dist/as-cell-json.mjs +3 -0
  33. package/dist/as-cell-json.vue-C6wg4ARZ.d.cts +12 -0
  34. package/dist/as-cell-json.vue-CESWuCer.d.mts +12 -0
  35. package/dist/as-cell-number-0_WrSCzu.cjs +76 -0
  36. package/dist/as-cell-number-Bc1C97Vg.mjs +71 -0
  37. package/dist/as-cell-number.cjs +3 -0
  38. package/dist/as-cell-number.d.cts +2 -0
  39. package/dist/as-cell-number.d.mts +2 -0
  40. package/dist/as-cell-number.mjs +3 -0
  41. package/dist/as-cell-number.vue-1Oq7nVI3.d.mts +12 -0
  42. package/dist/as-cell-number.vue-CJ2K5zeM.d.cts +12 -0
  43. package/dist/as-cell-union-C1w3B38J.mjs +88 -0
  44. package/dist/as-cell-union-CFAI0utz.cjs +93 -0
  45. package/dist/as-cell-union.cjs +4 -0
  46. package/dist/as-cell-union.d.cts +2 -0
  47. package/dist/as-cell-union.d.mts +2 -0
  48. package/dist/as-cell-union.mjs +4 -0
  49. package/dist/as-cell-union.vue-CslPM_c2.d.cts +12 -0
  50. package/dist/as-cell-union.vue-NnDmQZOA.d.mts +12 -0
  51. package/dist/as-column-menu-CH9Htz0Q.cjs +220 -0
  52. package/dist/as-column-menu-DCfhorMP.mjs +215 -0
  53. package/dist/as-column-menu.cjs +2 -0
  54. package/dist/as-column-menu.d.cts +2 -0
  55. package/dist/as-column-menu.d.mts +2 -0
  56. package/dist/as-column-menu.mjs +2 -0
  57. package/dist/as-column-menu.vue-C9e6wJ3z.d.mts +47 -0
  58. package/dist/as-column-menu.vue-o0qFdzoL.d.cts +47 -0
  59. package/dist/as-config-dialog-d2k7_l0U.cjs +699 -0
  60. package/dist/as-config-dialog-vRklaKbi.mjs +688 -0
  61. package/dist/as-config-dialog.cjs +3 -0
  62. package/dist/as-config-dialog.d.cts +2 -0
  63. package/dist/as-config-dialog.d.mts +2 -0
  64. package/dist/as-config-dialog.mjs +3 -0
  65. package/dist/as-config-dialog.vue-C6Q62xF5.d.mts +7 -0
  66. package/dist/as-config-dialog.vue-DvvJi3xx.d.cts +7 -0
  67. package/dist/as-confirm-dialog-BLh3Ju4-.mjs +52 -0
  68. package/dist/as-confirm-dialog-BgpIEE2z.cjs +57 -0
  69. package/dist/as-confirm-dialog.cjs +3 -0
  70. package/dist/as-confirm-dialog.d.cts +2 -0
  71. package/dist/as-confirm-dialog.d.mts +2 -0
  72. package/dist/as-confirm-dialog.mjs +3 -0
  73. package/dist/as-confirm-dialog.vue-CXxLpzbu.d.cts +7 -0
  74. package/dist/as-confirm-dialog.vue-pas8jGhv.d.mts +7 -0
  75. package/dist/as-filter-dialog-C0HMpUPT.mjs +610 -0
  76. package/dist/as-filter-dialog-DcGvIV3h.cjs +621 -0
  77. package/dist/as-filter-dialog.cjs +15 -0
  78. package/dist/as-filter-dialog.d.cts +2 -0
  79. package/dist/as-filter-dialog.d.mts +2 -0
  80. package/dist/as-filter-dialog.mjs +15 -0
  81. package/dist/as-filter-dialog.vue-BV2J8PgZ.d.cts +7 -0
  82. package/dist/as-filter-dialog.vue-RDZjp4gJ.d.mts +7 -0
  83. package/dist/as-filter-field-B_tYzvvl.cjs +984 -0
  84. package/dist/as-filter-field-Bqvu2ASN.mjs +943 -0
  85. package/dist/as-filter-field.cjs +9 -0
  86. package/dist/as-filter-field.d.cts +2 -0
  87. package/dist/as-filter-field.d.mts +2 -0
  88. package/dist/as-filter-field.mjs +9 -0
  89. package/dist/as-filter-field.vue-ByQ8xIGq.d.cts +11 -0
  90. package/dist/as-filter-field.vue-QY8wi5S5.d.mts +11 -0
  91. package/dist/as-filter-input--nr72iwX.cjs +106 -0
  92. package/dist/as-filter-input-P1i0CW2-.mjs +101 -0
  93. package/dist/as-filter-input.cjs +2 -0
  94. package/dist/as-filter-input.d.cts +2 -0
  95. package/dist/as-filter-input.d.mts +2 -0
  96. package/dist/as-filter-input.mjs +2 -0
  97. package/dist/as-filter-input.vue-CBQ71eNg.d.mts +18 -0
  98. package/dist/as-filter-input.vue-CS4nOk_Q.d.cts +18 -0
  99. package/dist/as-filters-Bxa9ZEMm.mjs +44 -0
  100. package/dist/as-filters-xRT2qv56.cjs +49 -0
  101. package/dist/as-filters.cjs +10 -0
  102. package/dist/as-filters.d.cts +2 -0
  103. package/dist/as-filters.d.mts +2 -0
  104. package/dist/as-filters.mjs +10 -0
  105. package/dist/as-filters.vue-BsMgYUcX.d.mts +10 -0
  106. package/dist/as-filters.vue-fv-tRL2H.d.cts +10 -0
  107. package/dist/as-preset-dialog-BaTfwMnh.cjs +569 -0
  108. package/dist/as-preset-dialog-BdDRgwf_.mjs +564 -0
  109. package/dist/as-preset-dialog.cjs +4 -0
  110. package/dist/as-preset-dialog.d.cts +2 -0
  111. package/dist/as-preset-dialog.d.mts +2 -0
  112. package/dist/as-preset-dialog.mjs +4 -0
  113. package/dist/as-preset-dialog.vue-Bzv-ON9W.d.mts +7 -0
  114. package/dist/as-preset-dialog.vue-DP9fy00Y.d.cts +7 -0
  115. package/dist/as-preset-picker-BQbNEiy9.mjs +427 -0
  116. package/dist/as-preset-picker-Ce3crTQy.cjs +432 -0
  117. package/dist/as-preset-picker.cjs +4 -0
  118. package/dist/as-preset-picker.d.cts +2 -0
  119. package/dist/as-preset-picker.d.mts +2 -0
  120. package/dist/as-preset-picker.mjs +4 -0
  121. package/dist/as-preset-picker.vue-CTBk6leV.d.mts +7 -0
  122. package/dist/as-preset-picker.vue-DfXS3pGl.d.cts +7 -0
  123. package/dist/as-row-actions-B6Kob6gt.cjs +120 -0
  124. package/dist/as-row-actions-CeWBBGqh.mjs +115 -0
  125. package/dist/as-row-actions.cjs +4 -0
  126. package/dist/as-row-actions.d.cts +2 -0
  127. package/dist/as-row-actions.d.mts +2 -0
  128. package/dist/as-row-actions.mjs +4 -0
  129. package/dist/as-row-actions.vue-BPaQfGev.d.mts +11 -0
  130. package/dist/as-row-actions.vue-Bvcc2tUN.d.cts +11 -0
  131. package/dist/as-table-Cnw2fOqZ.mjs +204 -0
  132. package/dist/as-table-DlDFxdXI.cjs +209 -0
  133. package/dist/as-table-actions-BK1Thy2G.cjs +142 -0
  134. package/dist/as-table-actions-BpMiNFni.mjs +137 -0
  135. package/dist/as-table-actions.cjs +4 -0
  136. package/dist/as-table-actions.d.cts +2 -0
  137. package/dist/as-table-actions.d.mts +2 -0
  138. package/dist/as-table-actions.mjs +4 -0
  139. package/dist/as-table-actions.vue-B7Q-JA3z.d.cts +47 -0
  140. package/dist/as-table-actions.vue-Bs1Jl1ep.d.mts +47 -0
  141. package/dist/as-table-base-D0k4k7k_.mjs +646 -0
  142. package/dist/as-table-base-VIz-B_6_.cjs +651 -0
  143. package/dist/as-table-cell-value-B1CiJYFn.mjs +26 -0
  144. package/dist/as-table-cell-value-CuxRtFn9.cjs +31 -0
  145. package/dist/as-table-cell-value.cjs +3 -0
  146. package/dist/as-table-cell-value.d.cts +2 -0
  147. package/dist/as-table-cell-value.d.mts +2 -0
  148. package/dist/as-table-cell-value.mjs +3 -0
  149. package/dist/as-table-cell-value.vue-BgFDv2JQ.d.cts +12 -0
  150. package/dist/as-table-cell-value.vue-BuPCQ8YA.d.mts +12 -0
  151. package/dist/as-table-header-cell-C3zeZUZo.cjs +117 -0
  152. package/dist/as-table-header-cell-CBn_ioCe.mjs +112 -0
  153. package/dist/as-table-header-cell.cjs +3 -0
  154. package/dist/as-table-header-cell.d.cts +2 -0
  155. package/dist/as-table-header-cell.d.mts +2 -0
  156. package/dist/as-table-header-cell.mjs +3 -0
  157. package/dist/as-table-header-cell.vue-Bc_DSsGY.d.cts +31 -0
  158. package/dist/as-table-header-cell.vue-DNMOHfek.d.mts +31 -0
  159. package/dist/as-table-root-Br6WcGRo.cjs +263 -0
  160. package/dist/as-table-root-gG7pTIdD.mjs +258 -0
  161. package/dist/as-table-root.cjs +28 -0
  162. package/dist/as-table-root.d.cts +2 -0
  163. package/dist/as-table-root.d.mts +2 -0
  164. package/dist/as-table-root.mjs +28 -0
  165. package/dist/as-table-root.vue-5_OhVwse.d.mts +2258 -0
  166. package/dist/as-table-root.vue-CSqEtIll.d.cts +2258 -0
  167. package/dist/as-table-status-BjRGGuhC.mjs +683 -0
  168. package/dist/as-table-status-DWYoJIMC.cjs +724 -0
  169. package/dist/as-table.cjs +10 -0
  170. package/dist/as-table.d.cts +2 -0
  171. package/dist/as-table.d.mts +2 -0
  172. package/dist/as-table.mjs +10 -0
  173. package/dist/as-table.vue-BTYg-e3Z.d.mts +81 -0
  174. package/dist/as-table.vue-wdRARLIe.d.cts +81 -0
  175. package/dist/as-window-table-CKIfo3M_.mjs +709 -0
  176. package/dist/as-window-table-DE7_NyEP.cjs +714 -0
  177. package/dist/as-window-table.cjs +9 -0
  178. package/dist/as-window-table.d.cts +2 -0
  179. package/dist/as-window-table.d.mts +2 -0
  180. package/dist/as-window-table.mjs +9 -0
  181. package/dist/as-window-table.vue-Bf8xGC9M.d.mts +86 -0
  182. package/dist/as-window-table.vue-CA8qsrz4.d.cts +86 -0
  183. package/dist/format-cell-B2xMDYO9.mjs +27 -0
  184. package/dist/format-cell-D4mqaN0E.cjs +32 -0
  185. package/dist/get-cell-value-CZSVfDLg.cjs +19 -0
  186. package/dist/get-cell-value-DiH84HKL.mjs +14 -0
  187. package/dist/index.cjs +598 -0
  188. package/dist/index.d.cts +21 -0
  189. package/dist/index.d.mts +21 -0
  190. package/dist/index.mjs +505 -0
  191. package/dist/preset-aspect-display-BYeiSgcc.mjs +43 -0
  192. package/dist/preset-aspect-display-y8aal_EF.cjs +72 -0
  193. package/dist/types-BvvXN72P.d.mts +531 -0
  194. package/dist/types-CNMmF6W2.d.cts +531 -0
  195. package/dist/use-cell-locale-1uQaFTLQ.mjs +23 -0
  196. package/dist/use-cell-locale-B480_QYK.cjs +34 -0
  197. package/dist/use-table-column-handlers-CGYAY2xH.cjs +65 -0
  198. package/dist/use-table-column-handlers-t6xi1yCE.mjs +54 -0
  199. package/dist/use-table-state-C4JbonEZ.mjs +1822 -0
  200. package/dist/use-table-state-MU-vuzui.cjs +1917 -0
  201. package/package.json +195 -0
  202. package/styles.d.ts +2 -0
@@ -0,0 +1,31 @@
1
+ const require_get_cell_value = require("./get-cell-value-CZSVfDLg.cjs");
2
+ const require_format_cell = require("./format-cell-D4mqaN0E.cjs");
3
+ let vue = require("vue");
4
+ //#endregion
5
+ //#region src/components/defaults/as-table-cell-value.vue
6
+ var as_table_cell_value_default = /* @__PURE__ */ (0, vue.defineComponent)({
7
+ __name: "as-table-cell-value",
8
+ props: {
9
+ row: {
10
+ type: Object,
11
+ required: true
12
+ },
13
+ column: {
14
+ type: Object,
15
+ required: true
16
+ }
17
+ },
18
+ setup(__props) {
19
+ const props = __props;
20
+ return (_ctx, _cache) => {
21
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)("td", { class: (0, vue.normalizeClass)({ "as-cell-number": props.column.type === "number" }) }, (0, vue.toDisplayString)((0, vue.unref)(require_format_cell.formatCellValue)((0, vue.unref)(require_get_cell_value.getCellValue)(props.row, props.column.path), props.column.type)), 3);
22
+ };
23
+ }
24
+ });
25
+ //#endregion
26
+ Object.defineProperty(exports, "as_table_cell_value_default", {
27
+ enumerable: true,
28
+ get: function() {
29
+ return as_table_cell_value_default;
30
+ }
31
+ });
@@ -0,0 +1,3 @@
1
+ require("./format-cell-D4mqaN0E.cjs");
2
+ const require_as_table_cell_value = require("./as-table-cell-value-CuxRtFn9.cjs");
3
+ module.exports = require_as_table_cell_value.as_table_cell_value_default;
@@ -0,0 +1,2 @@
1
+ import { t as _default } from "./as-table-cell-value.vue-BgFDv2JQ.cjs";
2
+ export = _default;
@@ -0,0 +1,2 @@
1
+ import { t as _default } from "./as-table-cell-value.vue-BuPCQ8YA.mjs";
2
+ export { _default as default };
@@ -0,0 +1,3 @@
1
+ import "./format-cell-B2xMDYO9.mjs";
2
+ import { t as as_table_cell_value_default } from "./as-table-cell-value-B1CiJYFn.mjs";
3
+ export { as_table_cell_value_default as default };
@@ -0,0 +1,12 @@
1
+ import * as vue from "vue";
2
+ import { ColumnDef } from "@atscript/ui";
3
+
4
+ //#region src/components/defaults/as-table-cell-value.vue.d.ts
5
+ type __VLS_Props = {
6
+ row: Record<string, unknown>;
7
+ column: ColumnDef;
8
+ };
9
+ declare const __VLS_export: vue.DefineComponent<__VLS_Props, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
10
+ declare const _default: typeof __VLS_export;
11
+ //#endregion
12
+ export { _default as t };
@@ -0,0 +1,12 @@
1
+ import { ColumnDef } from "@atscript/ui";
2
+ import * as vue from "vue";
3
+
4
+ //#region src/components/defaults/as-table-cell-value.vue.d.ts
5
+ type __VLS_Props = {
6
+ row: Record<string, unknown>;
7
+ column: ColumnDef;
8
+ };
9
+ declare const __VLS_export: vue.DefineComponent<__VLS_Props, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
10
+ declare const _default: typeof __VLS_export;
11
+ //#endregion
12
+ export { _default as t };
@@ -0,0 +1,117 @@
1
+ const require_as_column_menu = require("./as-column-menu-CH9Htz0Q.cjs");
2
+ let vue = require("vue");
3
+ let _atscript_ui_table = require("@atscript/ui-table");
4
+ //#region src/components/defaults/as-table-header-cell.vue?vue&type=script&setup=true&lang.ts
5
+ const _hoisted_1 = { class: "as-th-label" };
6
+ const _hoisted_2 = { class: "as-th-indicators" };
7
+ const _hoisted_3 = {
8
+ key: 0,
9
+ class: "as-th-filter-badge i-as-filter",
10
+ "aria-hidden": "true"
11
+ };
12
+ //#endregion
13
+ //#region src/components/defaults/as-table-header-cell.vue
14
+ var as_table_header_cell_default = /* @__PURE__ */ (0, vue.defineComponent)({
15
+ __name: "as-table-header-cell",
16
+ props: {
17
+ column: {
18
+ type: Object,
19
+ required: true
20
+ },
21
+ sortDirection: {
22
+ type: [String, null],
23
+ required: false
24
+ },
25
+ filters: {
26
+ type: Array,
27
+ required: false
28
+ },
29
+ columnMenu: {
30
+ type: Object,
31
+ required: false,
32
+ default: () => ({
33
+ sort: true,
34
+ filters: true,
35
+ hide: true,
36
+ resetWidth: true
37
+ })
38
+ },
39
+ widthEntry: {
40
+ type: Object,
41
+ required: false
42
+ }
43
+ },
44
+ emits: [
45
+ "sort",
46
+ "hide",
47
+ "filter",
48
+ "filters-off",
49
+ "reset-width"
50
+ ],
51
+ setup(__props, { emit: __emit }) {
52
+ const props = __props;
53
+ const emit = __emit;
54
+ const filledCount = (0, vue.computed)(() => props.filters?.filter(_atscript_ui_table.isFilled).length ?? 0);
55
+ function onMenuSort(direction) {
56
+ emit("sort", props.column, direction);
57
+ }
58
+ function onMenuHide() {
59
+ emit("hide", props.column);
60
+ }
61
+ function onMenuFilter() {
62
+ emit("filter", props.column);
63
+ }
64
+ function onMenuFiltersOff() {
65
+ emit("filters-off", props.column);
66
+ }
67
+ function onMenuResetWidth() {
68
+ emit("reset-width", props.column);
69
+ }
70
+ return (_ctx, _cache) => {
71
+ return (0, vue.openBlock)(), (0, vue.createBlock)(require_as_column_menu.as_column_menu_default, {
72
+ column: props.column,
73
+ order: __props.sortDirection,
74
+ filters: __props.filters,
75
+ config: __props.columnMenu,
76
+ "width-entry": __props.widthEntry,
77
+ onSort: onMenuSort,
78
+ onHide: onMenuHide,
79
+ onFilter: onMenuFilter,
80
+ onFiltersOff: onMenuFiltersOff,
81
+ onResetWidth: onMenuResetWidth
82
+ }, {
83
+ default: (0, vue.withCtx)(({ open, hasMenu }) => [(0, vue.createElementVNode)("button", {
84
+ class: "as-th-btn",
85
+ type: "button",
86
+ onDragstart: _cache[0] || (_cache[0] = (0, vue.withModifiers)(() => {}, ["stop"]))
87
+ }, [(0, vue.createElementVNode)("span", _hoisted_1, (0, vue.toDisplayString)(props.column.label), 1), (0, vue.createElementVNode)("span", _hoisted_2, [
88
+ filledCount.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", _hoisted_3)) : (0, vue.createCommentVNode)("v-if", true),
89
+ __props.sortDirection ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", {
90
+ key: 1,
91
+ class: (0, vue.normalizeClass)(["as-th-sort", __props.sortDirection === "asc" ? "i-as-arrow-up" : "i-as-arrow-down"]),
92
+ "aria-hidden": "true"
93
+ }, null, 2)) : (0, vue.createCommentVNode)("v-if", true),
94
+ hasMenu && !__props.sortDirection && !filledCount.value ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", {
95
+ key: 2,
96
+ class: (0, vue.normalizeClass)(["as-th-chevron", open ? "i-as-chevron-up" : "i-as-chevron-down"]),
97
+ "aria-hidden": "true"
98
+ }, null, 2)) : (0, vue.createCommentVNode)("v-if", true)
99
+ ])], 32)]),
100
+ _: 1
101
+ }, 8, [
102
+ "column",
103
+ "order",
104
+ "filters",
105
+ "config",
106
+ "width-entry"
107
+ ]);
108
+ };
109
+ }
110
+ });
111
+ //#endregion
112
+ Object.defineProperty(exports, "as_table_header_cell_default", {
113
+ enumerable: true,
114
+ get: function() {
115
+ return as_table_header_cell_default;
116
+ }
117
+ });
@@ -0,0 +1,112 @@
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";
3
+ import { isFilled } from "@atscript/ui-table";
4
+ //#region src/components/defaults/as-table-header-cell.vue?vue&type=script&setup=true&lang.ts
5
+ const _hoisted_1 = { class: "as-th-label" };
6
+ const _hoisted_2 = { class: "as-th-indicators" };
7
+ const _hoisted_3 = {
8
+ key: 0,
9
+ class: "as-th-filter-badge i-as-filter",
10
+ "aria-hidden": "true"
11
+ };
12
+ //#endregion
13
+ //#region src/components/defaults/as-table-header-cell.vue
14
+ var as_table_header_cell_default = /* @__PURE__ */ defineComponent({
15
+ __name: "as-table-header-cell",
16
+ props: {
17
+ column: {
18
+ type: Object,
19
+ required: true
20
+ },
21
+ sortDirection: {
22
+ type: [String, null],
23
+ required: false
24
+ },
25
+ filters: {
26
+ type: Array,
27
+ required: false
28
+ },
29
+ columnMenu: {
30
+ type: Object,
31
+ required: false,
32
+ default: () => ({
33
+ sort: true,
34
+ filters: true,
35
+ hide: true,
36
+ resetWidth: true
37
+ })
38
+ },
39
+ widthEntry: {
40
+ type: Object,
41
+ required: false
42
+ }
43
+ },
44
+ emits: [
45
+ "sort",
46
+ "hide",
47
+ "filter",
48
+ "filters-off",
49
+ "reset-width"
50
+ ],
51
+ setup(__props, { emit: __emit }) {
52
+ const props = __props;
53
+ const emit = __emit;
54
+ const filledCount = computed(() => props.filters?.filter(isFilled).length ?? 0);
55
+ function onMenuSort(direction) {
56
+ emit("sort", props.column, direction);
57
+ }
58
+ function onMenuHide() {
59
+ emit("hide", props.column);
60
+ }
61
+ function onMenuFilter() {
62
+ emit("filter", props.column);
63
+ }
64
+ function onMenuFiltersOff() {
65
+ emit("filters-off", props.column);
66
+ }
67
+ function onMenuResetWidth() {
68
+ emit("reset-width", props.column);
69
+ }
70
+ return (_ctx, _cache) => {
71
+ return openBlock(), createBlock(as_column_menu_default, {
72
+ column: props.column,
73
+ order: __props.sortDirection,
74
+ filters: __props.filters,
75
+ config: __props.columnMenu,
76
+ "width-entry": __props.widthEntry,
77
+ onSort: onMenuSort,
78
+ onHide: onMenuHide,
79
+ onFilter: onMenuFilter,
80
+ onFiltersOff: onMenuFiltersOff,
81
+ onResetWidth: onMenuResetWidth
82
+ }, {
83
+ default: withCtx(({ open, hasMenu }) => [createElementVNode("button", {
84
+ class: "as-th-btn",
85
+ type: "button",
86
+ onDragstart: _cache[0] || (_cache[0] = withModifiers(() => {}, ["stop"]))
87
+ }, [createElementVNode("span", _hoisted_1, toDisplayString(props.column.label), 1), createElementVNode("span", _hoisted_2, [
88
+ filledCount.value ? (openBlock(), createElementBlock("span", _hoisted_3)) : createCommentVNode("v-if", true),
89
+ __props.sortDirection ? (openBlock(), createElementBlock("span", {
90
+ key: 1,
91
+ class: normalizeClass(["as-th-sort", __props.sortDirection === "asc" ? "i-as-arrow-up" : "i-as-arrow-down"]),
92
+ "aria-hidden": "true"
93
+ }, null, 2)) : createCommentVNode("v-if", true),
94
+ hasMenu && !__props.sortDirection && !filledCount.value ? (openBlock(), createElementBlock("span", {
95
+ key: 2,
96
+ class: normalizeClass(["as-th-chevron", open ? "i-as-chevron-up" : "i-as-chevron-down"]),
97
+ "aria-hidden": "true"
98
+ }, null, 2)) : createCommentVNode("v-if", true)
99
+ ])], 32)]),
100
+ _: 1
101
+ }, 8, [
102
+ "column",
103
+ "order",
104
+ "filters",
105
+ "config",
106
+ "width-entry"
107
+ ]);
108
+ };
109
+ }
110
+ });
111
+ //#endregion
112
+ export { as_table_header_cell_default as t };
@@ -0,0 +1,3 @@
1
+ require("./as-column-menu-CH9Htz0Q.cjs");
2
+ const require_as_table_header_cell = require("./as-table-header-cell-C3zeZUZo.cjs");
3
+ module.exports = require_as_table_header_cell.as_table_header_cell_default;
@@ -0,0 +1,2 @@
1
+ import { t as _default } from "./as-table-header-cell.vue-Bc_DSsGY.cjs";
2
+ export = _default;
@@ -0,0 +1,2 @@
1
+ import { t as _default } from "./as-table-header-cell.vue-DNMOHfek.mjs";
2
+ export { _default as default };
@@ -0,0 +1,3 @@
1
+ import "./as-column-menu-DCfhorMP.mjs";
2
+ import { t as as_table_header_cell_default } from "./as-table-header-cell-CBn_ioCe.mjs";
3
+ export { as_table_header_cell_default as default };
@@ -0,0 +1,31 @@
1
+ import { n as ColumnMenuConfig } from "./types-CNMmF6W2.cjs";
2
+ import * as vue from "vue";
3
+ import { ColumnDef } from "@atscript/ui";
4
+ import { ColumnWidthEntry, FilterCondition } from "@atscript/ui-table";
5
+
6
+ //#region src/components/defaults/as-table-header-cell.vue.d.ts
7
+ type __VLS_Props = {
8
+ column: ColumnDef;
9
+ sortDirection?: "asc" | "desc" | null;
10
+ filters?: FilterCondition[];
11
+ columnMenu?: ColumnMenuConfig; /** Current column width entry (`{ w, d }`) — used to gate Reset Width. */
12
+ widthEntry?: ColumnWidthEntry;
13
+ };
14
+ declare const __VLS_export: vue.DefineComponent<__VLS_Props, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {} & {
15
+ sort: (column: ColumnDef, direction: "asc" | "desc" | null) => any;
16
+ filter: (column: ColumnDef) => any;
17
+ hide: (column: ColumnDef) => any;
18
+ "filters-off": (column: ColumnDef) => any;
19
+ "reset-width": (column: ColumnDef) => any;
20
+ }, string, vue.PublicProps, Readonly<__VLS_Props> & Readonly<{
21
+ onSort?: ((column: ColumnDef, direction: "asc" | "desc" | null) => any) | undefined;
22
+ onFilter?: ((column: ColumnDef) => any) | undefined;
23
+ onHide?: ((column: ColumnDef) => any) | undefined;
24
+ "onFilters-off"?: ((column: ColumnDef) => any) | undefined;
25
+ "onReset-width"?: ((column: ColumnDef) => any) | undefined;
26
+ }>, {
27
+ columnMenu: ColumnMenuConfig;
28
+ }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
29
+ declare const _default: typeof __VLS_export;
30
+ //#endregion
31
+ export { _default as t };
@@ -0,0 +1,31 @@
1
+ import { n as ColumnMenuConfig } from "./types-BvvXN72P.mjs";
2
+ import { ColumnDef } from "@atscript/ui";
3
+ import * as vue from "vue";
4
+ import { ColumnWidthEntry, FilterCondition } from "@atscript/ui-table";
5
+
6
+ //#region src/components/defaults/as-table-header-cell.vue.d.ts
7
+ type __VLS_Props = {
8
+ column: ColumnDef;
9
+ sortDirection?: "asc" | "desc" | null;
10
+ filters?: FilterCondition[];
11
+ columnMenu?: ColumnMenuConfig; /** Current column width entry (`{ w, d }`) — used to gate Reset Width. */
12
+ widthEntry?: ColumnWidthEntry;
13
+ };
14
+ declare const __VLS_export: vue.DefineComponent<__VLS_Props, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {} & {
15
+ sort: (column: ColumnDef, direction: "asc" | "desc" | null) => any;
16
+ filter: (column: ColumnDef) => any;
17
+ hide: (column: ColumnDef) => any;
18
+ "filters-off": (column: ColumnDef) => any;
19
+ "reset-width": (column: ColumnDef) => any;
20
+ }, string, vue.PublicProps, Readonly<__VLS_Props> & Readonly<{
21
+ onSort?: ((column: ColumnDef, direction: "asc" | "desc" | null) => any) | undefined;
22
+ onFilter?: ((column: ColumnDef) => any) | undefined;
23
+ onHide?: ((column: ColumnDef) => any) | undefined;
24
+ "onFilters-off"?: ((column: ColumnDef) => any) | undefined;
25
+ "onReset-width"?: ((column: ColumnDef) => any) | undefined;
26
+ }>, {
27
+ columnMenu: ColumnMenuConfig;
28
+ }, {}, {}, {}, string, vue.ComponentProvideOptions, false, {}, any>;
29
+ declare const _default: typeof __VLS_export;
30
+ //#endregion
31
+ export { _default as t };
@@ -0,0 +1,263 @@
1
+ const require_use_table_state = require("./use-table-state-MU-vuzui.cjs");
2
+ const require_as_filter_field = require("./as-filter-field-B_tYzvvl.cjs");
3
+ const require_as_filter_dialog = require("./as-filter-dialog-DcGvIV3h.cjs");
4
+ const require_use_table_column_handlers = require("./use-table-column-handlers-CGYAY2xH.cjs");
5
+ const require_as_config_dialog = require("./as-config-dialog-d2k7_l0U.cjs");
6
+ const require_as_confirm_dialog = require("./as-confirm-dialog-BgpIEE2z.cjs");
7
+ const require_as_preset_dialog = require("./as-preset-dialog-BaTfwMnh.cjs");
8
+ let vue = require("vue");
9
+ //#endregion
10
+ //#region src/components/as-table-root.vue
11
+ var as_table_root_default = /* @__PURE__ */ (0, vue.defineComponent)({
12
+ __name: "as-table-root",
13
+ props: /* @__PURE__ */ (0, vue.mergeModels)({
14
+ url: {
15
+ type: String,
16
+ required: true
17
+ },
18
+ clientFactory: {
19
+ type: Function,
20
+ required: false
21
+ },
22
+ controls: {
23
+ type: Object,
24
+ required: false
25
+ },
26
+ types: {
27
+ type: Object,
28
+ required: false
29
+ },
30
+ components: {
31
+ type: Object,
32
+ required: false
33
+ },
34
+ formTypes: {
35
+ type: Object,
36
+ required: false
37
+ },
38
+ formComponents: {
39
+ type: Object,
40
+ required: false
41
+ },
42
+ limit: {
43
+ type: Number,
44
+ required: false
45
+ },
46
+ forceFilters: {
47
+ type: null,
48
+ required: false
49
+ },
50
+ forceSorters: {
51
+ type: Array,
52
+ required: false
53
+ },
54
+ queryOnMount: {
55
+ type: Boolean,
56
+ required: false,
57
+ default: true
58
+ },
59
+ queryFn: {
60
+ type: Function,
61
+ required: false
62
+ },
63
+ blockQuery: {
64
+ type: Boolean,
65
+ required: false
66
+ },
67
+ rowValueFn: {
68
+ type: Function,
69
+ required: false
70
+ },
71
+ selectionPersistence: {
72
+ type: String,
73
+ required: false,
74
+ default: "trim"
75
+ },
76
+ blockSize: {
77
+ type: Number,
78
+ required: false
79
+ },
80
+ dragReleaseDebounceMs: {
81
+ type: Number,
82
+ required: false
83
+ },
84
+ refreshOnAction: {
85
+ type: Boolean,
86
+ required: false,
87
+ default: true
88
+ },
89
+ urlQuerySync: {
90
+ type: Object,
91
+ required: false
92
+ },
93
+ preset: {
94
+ type: Object,
95
+ required: false
96
+ }
97
+ }, {
98
+ "filterFields": {
99
+ type: Array,
100
+ default: () => []
101
+ },
102
+ "filterFieldsModifiers": {},
103
+ "columnNames": {
104
+ type: Array,
105
+ default: () => []
106
+ },
107
+ "columnNamesModifiers": {},
108
+ "columnWidths": {
109
+ type: Object,
110
+ default: () => ({})
111
+ },
112
+ "columnWidthsModifiers": {},
113
+ "sorters": {
114
+ type: Array,
115
+ default: () => []
116
+ },
117
+ "sortersModifiers": {},
118
+ "selectedRows": {
119
+ type: Array,
120
+ default: () => []
121
+ },
122
+ "selectedRowsModifiers": {},
123
+ "urlQuery": {
124
+ type: null,
125
+ default: () => void 0
126
+ },
127
+ "urlQueryModifiers": {}
128
+ }),
129
+ emits: /* @__PURE__ */ (0, vue.mergeModels)(["main-action", "action"], [
130
+ "update:filterFields",
131
+ "update:columnNames",
132
+ "update:columnWidths",
133
+ "update:sorters",
134
+ "update:selectedRows",
135
+ "update:urlQuery"
136
+ ]),
137
+ setup(__props, { expose: __expose, emit: __emit }) {
138
+ const LazyActionFormDialog = (0, vue.defineAsyncComponent)(() => Promise.resolve().then(() => require("./as-action-form-dialog.cjs")));
139
+ const props = __props;
140
+ const emit = __emit;
141
+ const filterFields = (0, vue.useModel)(__props, "filterFields");
142
+ const columnNames = (0, vue.useModel)(__props, "columnNames");
143
+ const columnWidths = (0, vue.useModel)(__props, "columnWidths");
144
+ const sorters = (0, vue.useModel)(__props, "sorters");
145
+ const selectedRows = (0, vue.useModel)(__props, "selectedRows");
146
+ /**
147
+ * Bidirectional URL bridge bound via `v-model:url-query`. When unbound the
148
+ * feature is off (zero overhead); when bound the first query is gated on
149
+ * tableDef settle + URL hydration so the table fetches once.
150
+ */
151
+ const urlQuery = (0, vue.useModel)(__props, "urlQuery");
152
+ const urlQueryActive = require_use_table_column_handlers.useHasEmitListener("onUpdate:urlQuery").value;
153
+ const urlQueryReady = (0, vue.ref)(!urlQueryActive);
154
+ const state = require_as_filter_field.useTable(props.url, {
155
+ limit: props.limit,
156
+ rowValueFn: props.rowValueFn,
157
+ selectionPersistence: props.selectionPersistence,
158
+ forceFilters: props.forceFilters,
159
+ forceSorters: props.forceSorters,
160
+ queryFn: props.queryFn,
161
+ queryOnMount: props.queryOnMount,
162
+ blockQuery: props.blockQuery,
163
+ blockSize: props.blockSize,
164
+ dragReleaseDebounceMs: props.dragReleaseDebounceMs,
165
+ clientFactory: props.clientFactory,
166
+ controls: props.controls,
167
+ types: props.types,
168
+ components: props.components,
169
+ formTypes: props.formTypes,
170
+ formComponents: props.formComponents,
171
+ refreshOnAction: () => props.refreshOnAction,
172
+ onActionResolved: (action, ids, result, event) => {
173
+ emit("action", action, ids, result, event);
174
+ },
175
+ filterFields,
176
+ columnNames,
177
+ columnWidths,
178
+ sorters,
179
+ selectedRows,
180
+ urlQueryReady: urlQueryActive ? urlQueryReady : void 0,
181
+ onUrlQueryChange: urlQueryActive ? (s) => urlQuery.value = s : void 0,
182
+ urlQuerySync: props.urlQuerySync,
183
+ preset: props.preset
184
+ });
185
+ if (urlQueryActive) (0, vue.watch)([
186
+ () => state.tableDef.value,
187
+ () => urlQuery.value,
188
+ () => state.preset.ready.value
189
+ ], ([def, q, presetReady]) => {
190
+ if (def === null || !presetReady) return;
191
+ if (typeof q === "string" && q !== "") state.applyUrlQuery(q);
192
+ if (!urlQueryReady.value) urlQueryReady.value = true;
193
+ }, { immediate: true });
194
+ require_use_table_state.useRegisterMainActionListener(state, (req) => emit("main-action", req.row, req.absIndex, req.event), require_use_table_column_handlers.useHasEmitListener("onMainAction"));
195
+ const navBridge = require_as_filter_dialog.useTableNavBridge(state);
196
+ const hasInputFormActions = (0, vue.computed)(() => {
197
+ const a = state.tableDef.value?.actions;
198
+ if (!a) return false;
199
+ for (const list of [
200
+ a.table,
201
+ a.row,
202
+ a.rows
203
+ ]) for (const x of list) if (x.inputForm) return true;
204
+ return false;
205
+ });
206
+ __expose({
207
+ state,
208
+ navBridge
209
+ });
210
+ return (_ctx, _cache) => {
211
+ return (0, vue.openBlock)(), (0, vue.createElementBlock)(vue.Fragment, null, [
212
+ (0, vue.renderSlot)(_ctx.$slots, "default", {
213
+ tableDef: (0, vue.unref)(state).tableDef.value,
214
+ loadingMetadata: (0, vue.unref)(state).loadingMetadata.value,
215
+ allColumns: (0, vue.unref)(state).allColumns.value,
216
+ columnNames: (0, vue.unref)(state).columnNames.value,
217
+ columnWidths: (0, vue.unref)(state).columnWidths.value,
218
+ columns: (0, vue.unref)(state).columns.value,
219
+ filterFields: (0, vue.unref)(state).filterFields.value,
220
+ filters: (0, vue.unref)(state).filters.value,
221
+ sorters: (0, vue.unref)(state).sorters.value,
222
+ results: (0, vue.unref)(state).results.value,
223
+ querying: (0, vue.unref)(state).querying.value,
224
+ queryingNext: (0, vue.unref)(state).queryingNext.value,
225
+ totalCount: (0, vue.unref)(state).totalCount.value,
226
+ loadedCount: (0, vue.unref)(state).loadedCount.value,
227
+ pagination: (0, vue.unref)(state).pagination.value,
228
+ queryError: (0, vue.unref)(state).queryError.value,
229
+ metadataError: (0, vue.unref)(state).metadataError.value,
230
+ mustRefresh: (0, vue.unref)(state).mustRefresh.value,
231
+ searchTerm: (0, vue.unref)(state).searchTerm.value,
232
+ selectedRows: (0, vue.unref)(state).selectedRows.value,
233
+ selectedCount: (0, vue.unref)(state).selectedCount.value,
234
+ navBridge: (0, vue.unref)(navBridge),
235
+ query: (0, vue.unref)(state).query,
236
+ queryNext: (0, vue.unref)(state).queryNext,
237
+ resetFilters: (0, vue.unref)(state).resetFilters,
238
+ showConfigDialog: (0, vue.unref)(state).showConfigDialog,
239
+ openFilterDialog: (0, vue.unref)(state).openFilterDialog,
240
+ closeFilterDialog: (0, vue.unref)(state).closeFilterDialog,
241
+ setFieldFilter: (0, vue.unref)(state).setFieldFilter,
242
+ removeFieldFilter: (0, vue.unref)(state).removeFieldFilter,
243
+ addFilterField: (0, vue.unref)(state).addFilterField,
244
+ removeFilterField: (0, vue.unref)(state).removeFilterField,
245
+ actions: (0, vue.unref)(state).actions,
246
+ prompt: (0, vue.unref)(state).prompt
247
+ }),
248
+ ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.resolveDynamicComponent)(props.controls?.filterDialog ?? (0, vue.unref)(require_as_filter_dialog.as_filter_dialog_default)))),
249
+ ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.resolveDynamicComponent)(props.controls?.configDialog ?? (0, vue.unref)(require_as_config_dialog.as_config_dialog_default)))),
250
+ ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.resolveDynamicComponent)(props.controls?.confirmDialog ?? (0, vue.unref)(require_as_confirm_dialog.as_confirm_dialog_default)))),
251
+ (0, vue.unref)(state).preset.available.value ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.resolveDynamicComponent)(props.controls?.presetDialog ?? (0, vue.unref)(require_as_preset_dialog.as_preset_dialog_default)), { key: 0 })) : (0, vue.createCommentVNode)("v-if", true),
252
+ hasInputFormActions.value || props.controls?.actionFormDialog ? ((0, vue.openBlock)(), (0, vue.createBlock)((0, vue.resolveDynamicComponent)(props.controls?.actionFormDialog ?? (0, vue.unref)(LazyActionFormDialog)), { key: 1 })) : (0, vue.createCommentVNode)("v-if", true)
253
+ ], 64);
254
+ };
255
+ }
256
+ });
257
+ //#endregion
258
+ Object.defineProperty(exports, "as_table_root_default", {
259
+ enumerable: true,
260
+ get: function() {
261
+ return as_table_root_default;
262
+ }
263
+ });