@shwfed/config 3.0.6 → 3.0.7

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 (36) hide show
  1. package/dist/module.json +1 -1
  2. package/dist/runtime/components/actions/config.vue +109 -3
  3. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/config.d.vue.ts +68 -68
  4. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/config.vue.d.ts +68 -68
  5. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/runtime.d.vue.ts +68 -68
  6. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/runtime.vue.d.ts +68 -68
  7. package/dist/runtime/components/config/blocks/2026-05-06/com.shwfed.block.table/schema.d.ts +34 -34
  8. package/dist/runtime/components/config/history-picker.vue +6 -4
  9. package/dist/runtime/components/config/prune-dialog.vue +15 -4
  10. package/dist/runtime/components/config/use-editor.js +2 -2
  11. package/dist/runtime/components/form/unit-config.vue +2 -2
  12. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/config.d.vue.ts +2 -2
  13. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-multi/config.vue.d.ts +2 -2
  14. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/config.d.vue.ts +2 -2
  15. package/dist/runtime/components/table/columns/2026-05-27/com.shwfed.table.column.tree-combobox-single/config.vue.d.ts +2 -2
  16. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/config.d.vue.ts +2 -2
  17. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-multi/config.vue.d.ts +2 -2
  18. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/config.d.vue.ts +2 -2
  19. package/dist/runtime/components/table/columns/2026-05-28/com.shwfed.table.column.tree-combobox-single/config.vue.d.ts +2 -2
  20. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/config.d.vue.ts +2 -2
  21. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-multi/config.vue.d.ts +2 -2
  22. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/config.d.vue.ts +2 -2
  23. package/dist/runtime/components/table/columns/2026-06-14/com.shwfed.table.column.tree-combobox-single/config.vue.d.ts +2 -2
  24. package/dist/runtime/components/table/config.vue +2 -2
  25. package/dist/runtime/components/table/schema.d.ts +68 -68
  26. package/dist/runtime/share/clipboard.d.ts +15 -9
  27. package/dist/runtime/share/clipboard.js +22 -10
  28. package/dist/runtime/vendor/cel-js/CLAUDE.md +7 -2
  29. package/dist/runtime/vendor/cel-js/PROMPT.md +27 -0
  30. package/dist/runtime/vendor/cel-js/lib/evaluator.js +2 -0
  31. package/dist/runtime/vendor/cel-js/lib/globals.d.ts +2 -0
  32. package/dist/runtime/vendor/cel-js/lib/globals.js +10 -0
  33. package/dist/runtime/vendor/cel-js/lib/map-builtins.d.ts +2 -0
  34. package/dist/runtime/vendor/cel-js/lib/map-builtins.js +80 -0
  35. package/dist/runtime/vendor/cel-js/lib/operators.js +2 -12
  36. package/package.json +1 -1
package/dist/module.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "shwfed",
3
3
  "configKey": "shwfed",
4
- "version": "3.0.6",
4
+ "version": "3.0.7",
5
5
  "builder": {
6
6
  "@nuxt/module-builder": "1.0.2",
7
7
  "unbuild": "unknown"
@@ -12,6 +12,7 @@ import {
12
12
  import { Environment } from "../../vendor/cel-js/lib/index";
13
13
  import { cel as rawCel } from "../../utils/cel";
14
14
  import { celBindings, injectCELContext, provideCELContext } from "../../utils/cel-context";
15
+ import { readClip, reidFragment, writeClip } from "../../share/clipboard";
15
16
  import { BUTTONS, findButton, ITEMS, findItem } from "./utils/resolve";
16
17
  import { SIDEBAR_TAKEOVER_KEY } from "../sidebar-takeover";
17
18
  import { BREADCRUMB_EXTENSION_KEY } from "../config/breadcrumb-extension";
@@ -175,6 +176,9 @@ const editingStyle = computed({
175
176
  }
176
177
  });
177
178
  const selected = ref({ kind: "general" });
179
+ const pickedItemIds = ref([]);
180
+ const pickedItemIdSet = computed(() => new Set(pickedItemIds.value));
181
+ const pickAnchor = ref(null);
178
182
  function itemsOfGroup(groupId) {
179
183
  return editingItems.value.filter((it) => it.groupId === groupId);
180
184
  }
@@ -528,12 +532,107 @@ function selectGeneral() {
528
532
  function selectGroup(id) {
529
533
  selected.value = { kind: "group", id };
530
534
  }
531
- function selectItem(id) {
535
+ const orderedItemIds = computed(
536
+ () => editingGroups.value.flatMap((g) => itemsOfGroup(g.id).map((it) => it.id))
537
+ );
538
+ function itemRange(a, b) {
539
+ const ord = orderedItemIds.value;
540
+ const ia = ord.indexOf(a);
541
+ const ib = ord.indexOf(b);
542
+ if (ia === -1 || ib === -1) return [b];
543
+ const [lo, hi] = ia <= ib ? [ia, ib] : [ib, ia];
544
+ return ord.slice(lo, hi + 1);
545
+ }
546
+ function selectItem(id, e) {
547
+ const meta = !!e && (e.metaKey || e.ctrlKey);
548
+ if (meta && e.shiftKey) {
549
+ const range = pickAnchor.value ? itemRange(pickAnchor.value, id) : [id];
550
+ const set = new Set(pickedItemIds.value);
551
+ for (const iid of range) set.add(iid);
552
+ pickedItemIds.value = orderedItemIds.value.filter((iid) => set.has(iid));
553
+ pickAnchor.value = id;
554
+ return;
555
+ }
556
+ if (meta) {
557
+ const set = new Set(pickedItemIds.value);
558
+ if (set.has(id)) set.delete(id);
559
+ else set.add(id);
560
+ pickedItemIds.value = orderedItemIds.value.filter((iid) => set.has(iid));
561
+ pickAnchor.value = id;
562
+ return;
563
+ }
564
+ pickedItemIds.value = [];
565
+ pickAnchor.value = null;
532
566
  selected.value = { kind: "item", id };
533
567
  }
534
568
  function selectSub(id) {
535
569
  selected.value = { kind: "sub", id };
536
570
  }
571
+ watch(selected, (s) => {
572
+ if (s?.kind !== "item") {
573
+ pickedItemIds.value = [];
574
+ pickAnchor.value = null;
575
+ }
576
+ });
577
+ async function copyItems() {
578
+ if (pickedItemIds.value.length === 0) return;
579
+ const set = pickedItemIdSet.value;
580
+ const items = orderedItemIds.value.filter((id) => set.has(id)).map((id) => findItemNode(id)).filter((it) => !!it);
581
+ if (items.length === 0) return;
582
+ const groupIds = new Set(items.map((it) => it.groupId));
583
+ const groups = editingGroups.value.filter((g) => groupIds.has(g.id));
584
+ const ok = await writeClip("actions", { items, groups });
585
+ if (ok) toast.success(`\u5DF2\u590D\u5236 ${items.length} \u4E2A\u6309\u94AE`);
586
+ else toast.error("\u590D\u5236\u5931\u8D25");
587
+ }
588
+ async function pasteItems() {
589
+ const clip = await readClip();
590
+ if (!clip || clip.surface !== "actions") return;
591
+ const { items, groups } = reidFragment(clip);
592
+ const pastedItems = items;
593
+ if (pastedItems.length === 0) return;
594
+ const w = snapshot();
595
+ const pastedGroups = [...groups ?? []];
596
+ const known = new Set(pastedGroups.map((g) => g.id));
597
+ const repaired = pastedItems.map((it) => {
598
+ if (known.has(it.groupId)) return it;
599
+ const group = { id: crypto.randomUUID() };
600
+ pastedGroups.push(group);
601
+ known.add(group.id);
602
+ return { ...it, groupId: group.id };
603
+ });
604
+ w.groups = [...w.groups, ...pastedGroups];
605
+ w.items = sortByGroupOrder(w.groups, [...w.items, ...repaired]);
606
+ commit(w);
607
+ const ids = repaired.map((it) => it.id);
608
+ pickedItemIds.value = ids;
609
+ pickAnchor.value = ids[ids.length - 1] ?? null;
610
+ selected.value = { kind: "item", id: ids[ids.length - 1] };
611
+ toast.success(`\u5DF2\u7C98\u8D34 ${repaired.length} \u4E2A\u6309\u94AE`);
612
+ }
613
+ function isTextInput(el) {
614
+ if (!(el instanceof HTMLElement)) return false;
615
+ const tag = el.tagName;
616
+ return tag === "INPUT" || tag === "TEXTAREA" || el.isContentEditable;
617
+ }
618
+ function onItemListKeydown(e) {
619
+ if (isTextInput(e.target)) return;
620
+ const mod = e.metaKey || e.ctrlKey;
621
+ if (!mod || e.shiftKey || e.altKey) return;
622
+ const key = e.key.toLowerCase();
623
+ if (key === "c") {
624
+ if (pickedItemIds.value.length === 0) return;
625
+ const sel = window.getSelection();
626
+ if (sel && !sel.isCollapsed) return;
627
+ e.preventDefault();
628
+ e.stopPropagation();
629
+ void copyItems();
630
+ } else if (key === "v") {
631
+ e.preventDefault();
632
+ e.stopPropagation();
633
+ void pasteItems();
634
+ }
635
+ }
537
636
  function isSourceDropdown(src) {
538
637
  if (src.kind !== ITEM_DRAG_KIND) return false;
539
638
  const it = editingItems.value.find((i) => i.id === src.id);
@@ -795,6 +894,10 @@ function wrapActionItemInDropdown(itemId) {
795
894
  selected.value = { kind: "item", id: dropdown.id };
796
895
  }
797
896
  function resolveSelection() {
897
+ const live = new Set(editingItems.value.map((it) => it.id));
898
+ if (pickedItemIds.value.some((id) => !live.has(id))) {
899
+ pickedItemIds.value = pickedItemIds.value.filter((id) => live.has(id));
900
+ }
798
901
  const s = selected.value;
799
902
  if (!s || s.kind === "general") return;
800
903
  if (s.kind === "group" && findGroup(s.id)) return;
@@ -959,7 +1062,10 @@ const newGroupZoneId = (insertIndex) => `new-group-${insertIndex}`;
959
1062
  :disabled="!outerTakeoverTarget"
960
1063
  >
961
1064
  <div
1065
+ class="outline-none"
962
1066
  :class="outerTakeoverTarget ? 'flex flex-1 flex-col gap-2 min-h-0' : 'flex gap-2 w-72 shrink-0 flex-col'"
1067
+ tabindex="-1"
1068
+ @keydown="onItemListKeydown"
963
1069
  >
964
1070
  <div
965
1071
  v-if="selectedDrillableAction"
@@ -1040,9 +1146,9 @@ const newGroupZoneId = (insertIndex) => `new-group-${insertIndex}`;
1040
1146
  <div
1041
1147
  class="row group item-row pl-5"
1042
1148
  :class="[
1043
- selected?.kind === 'item' && selected.id === item.id ? 'bg-[color-mix(in_srgb,var(--primary)_10%,white)] text-(--primary)' : 'text-zinc-600 hover:bg-zinc-50'
1149
+ selected?.kind === 'item' && selected.id === item.id ? 'bg-[color-mix(in_srgb,var(--primary)_10%,white)] text-(--primary)' : pickedItemIdSet.has(item.id) ? 'bg-zinc-100 text-zinc-700' : 'text-zinc-600 hover:bg-zinc-50'
1044
1150
  ]"
1045
- @click.stop="selectItem(item.id)"
1151
+ @click.stop="selectItem(item.id, $event)"
1046
1152
  >
1047
1153
  <Icon
1048
1154
  icon="fluent:re-order-dots-vertical-20-regular"
@@ -34,40 +34,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {},
34
34
  readonly message: string;
35
35
  }[]] | undefined;
36
36
  }[];
37
- readonly query?: {
38
- readonly style?: string | undefined;
39
- readonly id?: string | undefined;
40
- readonly initial?: {
41
- readonly data: string;
42
- readonly request?: string | undefined;
43
- } | undefined;
44
- readonly displayName?: string | undefined;
45
- readonly kind: "shwfed.component.form";
46
- readonly fields: readonly any[];
47
- readonly layouts: readonly {
48
- readonly name: string;
49
- readonly layout: {
50
- readonly style?: string | undefined;
51
- readonly columns: number;
52
- readonly gap?: number | undefined;
53
- readonly rows?: number | undefined;
54
- readonly placements: {
55
- readonly [x: string]: {
56
- readonly area: readonly [readonly [number, number], readonly [number, number]];
57
- readonly v?: "stretch" | "center" | "end" | "start" | undefined;
58
- readonly h?: "stretch" | "center" | "end" | "start" | undefined;
59
- };
60
- };
61
- };
62
- readonly media?: string | undefined;
63
- }[];
64
- readonly readonly?: string | undefined;
65
- } | undefined;
66
- readonly dataSource?: {
67
- readonly data: string;
68
- readonly total?: string | undefined;
69
- readonly request?: string | undefined;
70
- } | undefined;
71
37
  readonly actions?: {
72
38
  readonly size: "default" | "sm" | "xs";
73
39
  readonly style?: string | undefined;
@@ -135,6 +101,40 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {},
135
101
  readonly variant?: "default" | "link" | "destructive" | "primary" | "ghost" | undefined;
136
102
  }[];
137
103
  } | undefined;
104
+ readonly query?: {
105
+ readonly style?: string | undefined;
106
+ readonly id?: string | undefined;
107
+ readonly initial?: {
108
+ readonly data: string;
109
+ readonly request?: string | undefined;
110
+ } | undefined;
111
+ readonly displayName?: string | undefined;
112
+ readonly kind: "shwfed.component.form";
113
+ readonly fields: readonly any[];
114
+ readonly layouts: readonly {
115
+ readonly name: string;
116
+ readonly layout: {
117
+ readonly style?: string | undefined;
118
+ readonly columns: number;
119
+ readonly gap?: number | undefined;
120
+ readonly rows?: number | undefined;
121
+ readonly placements: {
122
+ readonly [x: string]: {
123
+ readonly area: readonly [readonly [number, number], readonly [number, number]];
124
+ readonly v?: "stretch" | "center" | "end" | "start" | undefined;
125
+ readonly h?: "stretch" | "center" | "end" | "start" | undefined;
126
+ };
127
+ };
128
+ };
129
+ readonly media?: string | undefined;
130
+ }[];
131
+ readonly readonly?: string | undefined;
132
+ } | undefined;
133
+ readonly dataSource?: {
134
+ readonly data: string;
135
+ readonly total?: string | undefined;
136
+ readonly request?: string | undefined;
137
+ } | undefined;
138
138
  readonly bottomActions?: {
139
139
  readonly size: "default" | "sm" | "xs";
140
140
  readonly style?: string | undefined;
@@ -282,40 +282,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {},
282
282
  readonly message: string;
283
283
  }[]] | undefined;
284
284
  }[];
285
- readonly query?: {
286
- readonly style?: string | undefined;
287
- readonly id?: string | undefined;
288
- readonly initial?: {
289
- readonly data: string;
290
- readonly request?: string | undefined;
291
- } | undefined;
292
- readonly displayName?: string | undefined;
293
- readonly kind: "shwfed.component.form";
294
- readonly fields: readonly any[];
295
- readonly layouts: readonly {
296
- readonly name: string;
297
- readonly layout: {
298
- readonly style?: string | undefined;
299
- readonly columns: number;
300
- readonly gap?: number | undefined;
301
- readonly rows?: number | undefined;
302
- readonly placements: {
303
- readonly [x: string]: {
304
- readonly area: readonly [readonly [number, number], readonly [number, number]];
305
- readonly v?: "stretch" | "center" | "end" | "start" | undefined;
306
- readonly h?: "stretch" | "center" | "end" | "start" | undefined;
307
- };
308
- };
309
- };
310
- readonly media?: string | undefined;
311
- }[];
312
- readonly readonly?: string | undefined;
313
- } | undefined;
314
- readonly dataSource?: {
315
- readonly data: string;
316
- readonly total?: string | undefined;
317
- readonly request?: string | undefined;
318
- } | undefined;
319
285
  readonly actions?: {
320
286
  readonly size: "default" | "sm" | "xs";
321
287
  readonly style?: string | undefined;
@@ -383,6 +349,40 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {},
383
349
  readonly variant?: "default" | "link" | "destructive" | "primary" | "ghost" | undefined;
384
350
  }[];
385
351
  } | undefined;
352
+ readonly query?: {
353
+ readonly style?: string | undefined;
354
+ readonly id?: string | undefined;
355
+ readonly initial?: {
356
+ readonly data: string;
357
+ readonly request?: string | undefined;
358
+ } | undefined;
359
+ readonly displayName?: string | undefined;
360
+ readonly kind: "shwfed.component.form";
361
+ readonly fields: readonly any[];
362
+ readonly layouts: readonly {
363
+ readonly name: string;
364
+ readonly layout: {
365
+ readonly style?: string | undefined;
366
+ readonly columns: number;
367
+ readonly gap?: number | undefined;
368
+ readonly rows?: number | undefined;
369
+ readonly placements: {
370
+ readonly [x: string]: {
371
+ readonly area: readonly [readonly [number, number], readonly [number, number]];
372
+ readonly v?: "stretch" | "center" | "end" | "start" | undefined;
373
+ readonly h?: "stretch" | "center" | "end" | "start" | undefined;
374
+ };
375
+ };
376
+ };
377
+ readonly media?: string | undefined;
378
+ }[];
379
+ readonly readonly?: string | undefined;
380
+ } | undefined;
381
+ readonly dataSource?: {
382
+ readonly data: string;
383
+ readonly total?: string | undefined;
384
+ readonly request?: string | undefined;
385
+ } | undefined;
386
386
  readonly bottomActions?: {
387
387
  readonly size: "default" | "sm" | "xs";
388
388
  readonly style?: string | undefined;
@@ -34,40 +34,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {},
34
34
  readonly message: string;
35
35
  }[]] | undefined;
36
36
  }[];
37
- readonly query?: {
38
- readonly style?: string | undefined;
39
- readonly id?: string | undefined;
40
- readonly initial?: {
41
- readonly data: string;
42
- readonly request?: string | undefined;
43
- } | undefined;
44
- readonly displayName?: string | undefined;
45
- readonly kind: "shwfed.component.form";
46
- readonly fields: readonly any[];
47
- readonly layouts: readonly {
48
- readonly name: string;
49
- readonly layout: {
50
- readonly style?: string | undefined;
51
- readonly columns: number;
52
- readonly gap?: number | undefined;
53
- readonly rows?: number | undefined;
54
- readonly placements: {
55
- readonly [x: string]: {
56
- readonly area: readonly [readonly [number, number], readonly [number, number]];
57
- readonly v?: "stretch" | "center" | "end" | "start" | undefined;
58
- readonly h?: "stretch" | "center" | "end" | "start" | undefined;
59
- };
60
- };
61
- };
62
- readonly media?: string | undefined;
63
- }[];
64
- readonly readonly?: string | undefined;
65
- } | undefined;
66
- readonly dataSource?: {
67
- readonly data: string;
68
- readonly total?: string | undefined;
69
- readonly request?: string | undefined;
70
- } | undefined;
71
37
  readonly actions?: {
72
38
  readonly size: "default" | "sm" | "xs";
73
39
  readonly style?: string | undefined;
@@ -135,6 +101,40 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {},
135
101
  readonly variant?: "default" | "link" | "destructive" | "primary" | "ghost" | undefined;
136
102
  }[];
137
103
  } | undefined;
104
+ readonly query?: {
105
+ readonly style?: string | undefined;
106
+ readonly id?: string | undefined;
107
+ readonly initial?: {
108
+ readonly data: string;
109
+ readonly request?: string | undefined;
110
+ } | undefined;
111
+ readonly displayName?: string | undefined;
112
+ readonly kind: "shwfed.component.form";
113
+ readonly fields: readonly any[];
114
+ readonly layouts: readonly {
115
+ readonly name: string;
116
+ readonly layout: {
117
+ readonly style?: string | undefined;
118
+ readonly columns: number;
119
+ readonly gap?: number | undefined;
120
+ readonly rows?: number | undefined;
121
+ readonly placements: {
122
+ readonly [x: string]: {
123
+ readonly area: readonly [readonly [number, number], readonly [number, number]];
124
+ readonly v?: "stretch" | "center" | "end" | "start" | undefined;
125
+ readonly h?: "stretch" | "center" | "end" | "start" | undefined;
126
+ };
127
+ };
128
+ };
129
+ readonly media?: string | undefined;
130
+ }[];
131
+ readonly readonly?: string | undefined;
132
+ } | undefined;
133
+ readonly dataSource?: {
134
+ readonly data: string;
135
+ readonly total?: string | undefined;
136
+ readonly request?: string | undefined;
137
+ } | undefined;
138
138
  readonly bottomActions?: {
139
139
  readonly size: "default" | "sm" | "xs";
140
140
  readonly style?: string | undefined;
@@ -282,40 +282,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {},
282
282
  readonly message: string;
283
283
  }[]] | undefined;
284
284
  }[];
285
- readonly query?: {
286
- readonly style?: string | undefined;
287
- readonly id?: string | undefined;
288
- readonly initial?: {
289
- readonly data: string;
290
- readonly request?: string | undefined;
291
- } | undefined;
292
- readonly displayName?: string | undefined;
293
- readonly kind: "shwfed.component.form";
294
- readonly fields: readonly any[];
295
- readonly layouts: readonly {
296
- readonly name: string;
297
- readonly layout: {
298
- readonly style?: string | undefined;
299
- readonly columns: number;
300
- readonly gap?: number | undefined;
301
- readonly rows?: number | undefined;
302
- readonly placements: {
303
- readonly [x: string]: {
304
- readonly area: readonly [readonly [number, number], readonly [number, number]];
305
- readonly v?: "stretch" | "center" | "end" | "start" | undefined;
306
- readonly h?: "stretch" | "center" | "end" | "start" | undefined;
307
- };
308
- };
309
- };
310
- readonly media?: string | undefined;
311
- }[];
312
- readonly readonly?: string | undefined;
313
- } | undefined;
314
- readonly dataSource?: {
315
- readonly data: string;
316
- readonly total?: string | undefined;
317
- readonly request?: string | undefined;
318
- } | undefined;
319
285
  readonly actions?: {
320
286
  readonly size: "default" | "sm" | "xs";
321
287
  readonly style?: string | undefined;
@@ -383,6 +349,40 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {},
383
349
  readonly variant?: "default" | "link" | "destructive" | "primary" | "ghost" | undefined;
384
350
  }[];
385
351
  } | undefined;
352
+ readonly query?: {
353
+ readonly style?: string | undefined;
354
+ readonly id?: string | undefined;
355
+ readonly initial?: {
356
+ readonly data: string;
357
+ readonly request?: string | undefined;
358
+ } | undefined;
359
+ readonly displayName?: string | undefined;
360
+ readonly kind: "shwfed.component.form";
361
+ readonly fields: readonly any[];
362
+ readonly layouts: readonly {
363
+ readonly name: string;
364
+ readonly layout: {
365
+ readonly style?: string | undefined;
366
+ readonly columns: number;
367
+ readonly gap?: number | undefined;
368
+ readonly rows?: number | undefined;
369
+ readonly placements: {
370
+ readonly [x: string]: {
371
+ readonly area: readonly [readonly [number, number], readonly [number, number]];
372
+ readonly v?: "stretch" | "center" | "end" | "start" | undefined;
373
+ readonly h?: "stretch" | "center" | "end" | "start" | undefined;
374
+ };
375
+ };
376
+ };
377
+ readonly media?: string | undefined;
378
+ }[];
379
+ readonly readonly?: string | undefined;
380
+ } | undefined;
381
+ readonly dataSource?: {
382
+ readonly data: string;
383
+ readonly total?: string | undefined;
384
+ readonly request?: string | undefined;
385
+ } | undefined;
386
386
  readonly bottomActions?: {
387
387
  readonly size: "default" | "sm" | "xs";
388
388
  readonly style?: string | undefined;
@@ -29,40 +29,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
29
29
  readonly message: string;
30
30
  }[]] | undefined;
31
31
  }[];
32
- readonly query?: {
33
- readonly style?: string | undefined;
34
- readonly id?: string | undefined;
35
- readonly initial?: {
36
- readonly data: string;
37
- readonly request?: string | undefined;
38
- } | undefined;
39
- readonly displayName?: string | undefined;
40
- readonly kind: "shwfed.component.form";
41
- readonly fields: readonly any[];
42
- readonly layouts: readonly {
43
- readonly name: string;
44
- readonly layout: {
45
- readonly style?: string | undefined;
46
- readonly columns: number;
47
- readonly gap?: number | undefined;
48
- readonly rows?: number | undefined;
49
- readonly placements: {
50
- readonly [x: string]: {
51
- readonly area: readonly [readonly [number, number], readonly [number, number]];
52
- readonly v?: "stretch" | "center" | "end" | "start" | undefined;
53
- readonly h?: "stretch" | "center" | "end" | "start" | undefined;
54
- };
55
- };
56
- };
57
- readonly media?: string | undefined;
58
- }[];
59
- readonly readonly?: string | undefined;
60
- } | undefined;
61
- readonly dataSource?: {
62
- readonly data: string;
63
- readonly total?: string | undefined;
64
- readonly request?: string | undefined;
65
- } | undefined;
66
32
  readonly actions?: {
67
33
  readonly size: "default" | "sm" | "xs";
68
34
  readonly style?: string | undefined;
@@ -130,6 +96,40 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
130
96
  readonly variant?: "default" | "link" | "destructive" | "primary" | "ghost" | undefined;
131
97
  }[];
132
98
  } | undefined;
99
+ readonly query?: {
100
+ readonly style?: string | undefined;
101
+ readonly id?: string | undefined;
102
+ readonly initial?: {
103
+ readonly data: string;
104
+ readonly request?: string | undefined;
105
+ } | undefined;
106
+ readonly displayName?: string | undefined;
107
+ readonly kind: "shwfed.component.form";
108
+ readonly fields: readonly any[];
109
+ readonly layouts: readonly {
110
+ readonly name: string;
111
+ readonly layout: {
112
+ readonly style?: string | undefined;
113
+ readonly columns: number;
114
+ readonly gap?: number | undefined;
115
+ readonly rows?: number | undefined;
116
+ readonly placements: {
117
+ readonly [x: string]: {
118
+ readonly area: readonly [readonly [number, number], readonly [number, number]];
119
+ readonly v?: "stretch" | "center" | "end" | "start" | undefined;
120
+ readonly h?: "stretch" | "center" | "end" | "start" | undefined;
121
+ };
122
+ };
123
+ };
124
+ readonly media?: string | undefined;
125
+ }[];
126
+ readonly readonly?: string | undefined;
127
+ } | undefined;
128
+ readonly dataSource?: {
129
+ readonly data: string;
130
+ readonly total?: string | undefined;
131
+ readonly request?: string | undefined;
132
+ } | undefined;
133
133
  readonly bottomActions?: {
134
134
  readonly size: "default" | "sm" | "xs";
135
135
  readonly style?: string | undefined;
@@ -277,40 +277,6 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
277
277
  readonly message: string;
278
278
  }[]] | undefined;
279
279
  }[];
280
- readonly query?: {
281
- readonly style?: string | undefined;
282
- readonly id?: string | undefined;
283
- readonly initial?: {
284
- readonly data: string;
285
- readonly request?: string | undefined;
286
- } | undefined;
287
- readonly displayName?: string | undefined;
288
- readonly kind: "shwfed.component.form";
289
- readonly fields: readonly any[];
290
- readonly layouts: readonly {
291
- readonly name: string;
292
- readonly layout: {
293
- readonly style?: string | undefined;
294
- readonly columns: number;
295
- readonly gap?: number | undefined;
296
- readonly rows?: number | undefined;
297
- readonly placements: {
298
- readonly [x: string]: {
299
- readonly area: readonly [readonly [number, number], readonly [number, number]];
300
- readonly v?: "stretch" | "center" | "end" | "start" | undefined;
301
- readonly h?: "stretch" | "center" | "end" | "start" | undefined;
302
- };
303
- };
304
- };
305
- readonly media?: string | undefined;
306
- }[];
307
- readonly readonly?: string | undefined;
308
- } | undefined;
309
- readonly dataSource?: {
310
- readonly data: string;
311
- readonly total?: string | undefined;
312
- readonly request?: string | undefined;
313
- } | undefined;
314
280
  readonly actions?: {
315
281
  readonly size: "default" | "sm" | "xs";
316
282
  readonly style?: string | undefined;
@@ -378,6 +344,40 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_ModelProps, {},
378
344
  readonly variant?: "default" | "link" | "destructive" | "primary" | "ghost" | undefined;
379
345
  }[];
380
346
  } | undefined;
347
+ readonly query?: {
348
+ readonly style?: string | undefined;
349
+ readonly id?: string | undefined;
350
+ readonly initial?: {
351
+ readonly data: string;
352
+ readonly request?: string | undefined;
353
+ } | undefined;
354
+ readonly displayName?: string | undefined;
355
+ readonly kind: "shwfed.component.form";
356
+ readonly fields: readonly any[];
357
+ readonly layouts: readonly {
358
+ readonly name: string;
359
+ readonly layout: {
360
+ readonly style?: string | undefined;
361
+ readonly columns: number;
362
+ readonly gap?: number | undefined;
363
+ readonly rows?: number | undefined;
364
+ readonly placements: {
365
+ readonly [x: string]: {
366
+ readonly area: readonly [readonly [number, number], readonly [number, number]];
367
+ readonly v?: "stretch" | "center" | "end" | "start" | undefined;
368
+ readonly h?: "stretch" | "center" | "end" | "start" | undefined;
369
+ };
370
+ };
371
+ };
372
+ readonly media?: string | undefined;
373
+ }[];
374
+ readonly readonly?: string | undefined;
375
+ } | undefined;
376
+ readonly dataSource?: {
377
+ readonly data: string;
378
+ readonly total?: string | undefined;
379
+ readonly request?: string | undefined;
380
+ } | undefined;
381
381
  readonly bottomActions?: {
382
382
  readonly size: "default" | "sm" | "xs";
383
383
  readonly style?: string | undefined;