@shwfed/nuxt 0.10.3 → 0.10.5

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 (23) hide show
  1. package/dist/module.json +1 -1
  2. package/dist/runtime/components/button.d.vue.ts +95 -0
  3. package/dist/runtime/components/button.vue +39 -0
  4. package/dist/runtime/components/button.vue.d.ts +95 -0
  5. package/dist/runtime/components/fields.d.vue.ts +2 -2
  6. package/dist/runtime/components/fields.vue.d.ts +2 -2
  7. package/dist/runtime/components/ui/button-configurator/ButtonConfiguratorDialog.d.vue.ts +97 -0
  8. package/dist/runtime/components/ui/button-configurator/ButtonConfiguratorDialog.vue +1078 -0
  9. package/dist/runtime/components/ui/button-configurator/ButtonConfiguratorDialog.vue.d.ts +97 -0
  10. package/dist/runtime/components/ui/button-configurator/menu.d.ts +48 -0
  11. package/dist/runtime/components/ui/button-configurator/menu.js +381 -0
  12. package/dist/runtime/components/ui/buttons/Buttons.d.vue.ts +95 -0
  13. package/dist/runtime/components/ui/buttons/Buttons.vue +330 -0
  14. package/dist/runtime/components/ui/buttons/Buttons.vue.d.ts +95 -0
  15. package/dist/runtime/components/ui/buttons/schema.d.ts +374 -0
  16. package/dist/runtime/components/ui/buttons/schema.js +58 -0
  17. package/dist/runtime/components/ui/fields/Fields.d.vue.ts +4 -4
  18. package/dist/runtime/components/ui/fields/Fields.vue.d.ts +4 -4
  19. package/dist/runtime/components/ui/fields/schema.d.ts +3 -3
  20. package/dist/runtime/components/ui/fields-configurator/FieldsConfiguratorDialog.d.vue.ts +2 -2
  21. package/dist/runtime/components/ui/fields-configurator/FieldsConfiguratorDialog.vue.d.ts +2 -2
  22. package/dist/runtime/components/ui/table/Table.vue +11 -10
  23. package/package.json +1 -1
@@ -0,0 +1,97 @@
1
+ import { type ButtonConfig } from '../buttons/schema.js';
2
+ type __VLS_Props = {
3
+ config: ButtonConfig;
4
+ };
5
+ type __VLS_ModelProps = {
6
+ 'open'?: boolean;
7
+ };
8
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
9
+ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
10
+ "update:open": (value: boolean) => any;
11
+ confirm: (args_0: Readonly<{
12
+ groups: readonly Readonly<{
13
+ id: string;
14
+ items: readonly (Readonly<{
15
+ id: string;
16
+ title: readonly {
17
+ locale: "zh" | "ja" | "en" | "ko";
18
+ message: string;
19
+ }[];
20
+ tooltip?: readonly {
21
+ locale: "zh" | "ja" | "en" | "ko";
22
+ message: string;
23
+ }[] | undefined;
24
+ icon?: string | undefined;
25
+ variant?: "default" | "destructive" | "primary" | "ghost" | undefined;
26
+ hideTitle?: boolean | undefined;
27
+ }> | Readonly<{
28
+ id: string;
29
+ title: readonly {
30
+ locale: "zh" | "ja" | "en" | "ko";
31
+ message: string;
32
+ }[];
33
+ items: readonly Readonly<{
34
+ id: string;
35
+ title: readonly {
36
+ locale: "zh" | "ja" | "en" | "ko";
37
+ message: string;
38
+ }[];
39
+ tooltip?: readonly {
40
+ locale: "zh" | "ja" | "en" | "ko";
41
+ message: string;
42
+ }[] | undefined;
43
+ icon?: string | undefined;
44
+ variant?: "default" | "destructive" | "primary" | "ghost" | undefined;
45
+ }>[];
46
+ icon?: string | undefined;
47
+ }>)[];
48
+ }>[];
49
+ gap?: number | undefined;
50
+ style?: string | undefined;
51
+ }>) => any;
52
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
53
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
54
+ onConfirm?: ((args_0: Readonly<{
55
+ groups: readonly Readonly<{
56
+ id: string;
57
+ items: readonly (Readonly<{
58
+ id: string;
59
+ title: readonly {
60
+ locale: "zh" | "ja" | "en" | "ko";
61
+ message: string;
62
+ }[];
63
+ tooltip?: readonly {
64
+ locale: "zh" | "ja" | "en" | "ko";
65
+ message: string;
66
+ }[] | undefined;
67
+ icon?: string | undefined;
68
+ variant?: "default" | "destructive" | "primary" | "ghost" | undefined;
69
+ hideTitle?: boolean | undefined;
70
+ }> | Readonly<{
71
+ id: string;
72
+ title: readonly {
73
+ locale: "zh" | "ja" | "en" | "ko";
74
+ message: string;
75
+ }[];
76
+ items: readonly Readonly<{
77
+ id: string;
78
+ title: readonly {
79
+ locale: "zh" | "ja" | "en" | "ko";
80
+ message: string;
81
+ }[];
82
+ tooltip?: readonly {
83
+ locale: "zh" | "ja" | "en" | "ko";
84
+ message: string;
85
+ }[] | undefined;
86
+ icon?: string | undefined;
87
+ variant?: "default" | "destructive" | "primary" | "ghost" | undefined;
88
+ }>[];
89
+ icon?: string | undefined;
90
+ }>)[];
91
+ }>[];
92
+ gap?: number | undefined;
93
+ style?: string | undefined;
94
+ }>) => any) | undefined;
95
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
96
+ declare const _default: typeof __VLS_export;
97
+ export default _default;
@@ -0,0 +1,48 @@
1
+ import type { LocaleValue } from '../../../utils/coders.js';
2
+ import type { ButtonAction, ButtonDropdown, ButtonGroup } from '../buttons/schema.js';
3
+ export type ButtonConfiguratorDraftNodeData = Readonly<{
4
+ type: 'group';
5
+ id: string;
6
+ }> | Readonly<{
7
+ type: 'button';
8
+ id: string;
9
+ title: LocaleValue;
10
+ tooltip?: LocaleValue;
11
+ icon?: string;
12
+ variant?: ButtonAction['variant'];
13
+ hideTitle?: boolean;
14
+ }> | Readonly<{
15
+ type: 'dropdown';
16
+ id: string;
17
+ title: LocaleValue;
18
+ icon?: string;
19
+ }>;
20
+ export type ButtonConfiguratorDraftNode = Readonly<{
21
+ itemId: string;
22
+ parentItemId?: string;
23
+ childItemIds: Array<string>;
24
+ item: ButtonConfiguratorDraftNodeData;
25
+ }>;
26
+ export type ButtonConfiguratorDraftTree = Readonly<{
27
+ rootItemIds: Array<string>;
28
+ nodes: Array<ButtonConfiguratorDraftNode>;
29
+ }>;
30
+ export type ButtonConfiguratorFlattenedItem = Readonly<{
31
+ itemId: string;
32
+ depth: number;
33
+ item: ButtonConfiguratorDraftNodeData;
34
+ }>;
35
+ export declare function createButtonConfiguratorGroupNode(group?: ButtonGroup, createItemId?: () => string): ButtonConfiguratorDraftNode;
36
+ export declare function createButtonConfiguratorButtonNode(button?: ButtonAction, createItemId?: () => string): ButtonConfiguratorDraftNode;
37
+ export declare function createButtonConfiguratorDropdownNode(dropdown?: ButtonDropdown, createItemId?: () => string): ButtonConfiguratorDraftNode;
38
+ export declare function buildButtonConfiguratorTree(groups: ReadonlyArray<ButtonGroup>, createItemId?: () => string): ButtonConfiguratorDraftTree;
39
+ export declare function getButtonConfiguratorNode(tree: ButtonConfiguratorDraftTree, itemId: string): ButtonConfiguratorDraftNode | undefined;
40
+ export declare function flattenButtonConfiguratorTree(tree: ButtonConfiguratorDraftTree): Array<ButtonConfiguratorFlattenedItem>;
41
+ export declare function updateButtonConfiguratorNode(tree: ButtonConfiguratorDraftTree, itemId: string, update: (item: ButtonConfiguratorDraftNodeData) => ButtonConfiguratorDraftNodeData): ButtonConfiguratorDraftTree;
42
+ export declare function insertButtonConfiguratorRootNode(tree: ButtonConfiguratorDraftTree, node: ButtonConfiguratorDraftNode, index?: number): ButtonConfiguratorDraftTree;
43
+ export declare function insertButtonConfiguratorChildNode(tree: ButtonConfiguratorDraftTree, parentItemId: string, node: ButtonConfiguratorDraftNode, index?: number): ButtonConfiguratorDraftTree;
44
+ export declare function moveButtonConfiguratorNodeToParent(tree: ButtonConfiguratorDraftTree, itemId: string, parentItemId: string | undefined, index?: number): ButtonConfiguratorDraftTree;
45
+ export declare function moveButtonConfiguratorSibling(tree: ButtonConfiguratorDraftTree, parentItemId: string | undefined, oldIndex: number, newIndex: number): ButtonConfiguratorDraftTree;
46
+ export declare function removeButtonConfiguratorSubtree(tree: ButtonConfiguratorDraftTree, itemId: string): ButtonConfiguratorDraftTree;
47
+ export declare function materializeButtonConfiguratorTree(tree: ButtonConfiguratorDraftTree): Array<ButtonGroup>;
48
+ export declare function isButtonConfiguratorNodeContainer(node: ButtonConfiguratorDraftNode | undefined): boolean;
@@ -0,0 +1,381 @@
1
+ function insertItemId(itemIds, itemId, index = itemIds.length) {
2
+ const nextItemIds = itemIds.slice();
3
+ const normalizedIndex = Math.min(Math.max(index, 0), nextItemIds.length);
4
+ nextItemIds.splice(normalizedIndex, 0, itemId);
5
+ return nextItemIds;
6
+ }
7
+ function moveItemId(itemIds, oldIndex, newIndex) {
8
+ if (oldIndex < 0 || newIndex < 0 || oldIndex >= itemIds.length || newIndex >= itemIds.length) {
9
+ return itemIds.slice();
10
+ }
11
+ const nextItemIds = itemIds.slice();
12
+ const movedItemId = nextItemIds[oldIndex];
13
+ if (!movedItemId) {
14
+ return nextItemIds;
15
+ }
16
+ nextItemIds.splice(oldIndex, 1);
17
+ nextItemIds.splice(newIndex, 0, movedItemId);
18
+ return nextItemIds;
19
+ }
20
+ function replaceNode(tree, itemId, update) {
21
+ return {
22
+ ...tree,
23
+ nodes: tree.nodes.map((node) => node.itemId === itemId ? update(node) : node)
24
+ };
25
+ }
26
+ function updateSiblingIds(tree, parentItemId, update) {
27
+ if (!parentItemId) {
28
+ return {
29
+ ...tree,
30
+ rootItemIds: update(tree.rootItemIds)
31
+ };
32
+ }
33
+ return replaceNode(tree, parentItemId, (node) => ({
34
+ ...node,
35
+ childItemIds: update(node.childItemIds)
36
+ }));
37
+ }
38
+ function stripButton(button) {
39
+ const nextItem = {
40
+ type: "button",
41
+ id: button.id,
42
+ title: button.title
43
+ };
44
+ if (button.tooltip) {
45
+ nextItem.tooltip = button.tooltip;
46
+ }
47
+ if (button.icon) {
48
+ nextItem.icon = button.icon;
49
+ }
50
+ if (button.variant) {
51
+ nextItem.variant = button.variant;
52
+ }
53
+ if (button.hideTitle) {
54
+ nextItem.hideTitle = button.hideTitle;
55
+ }
56
+ return nextItem;
57
+ }
58
+ function stripDropdown(dropdown) {
59
+ const nextItem = {
60
+ type: "dropdown",
61
+ id: dropdown.id,
62
+ title: dropdown.title
63
+ };
64
+ if (dropdown.icon) {
65
+ nextItem.icon = dropdown.icon;
66
+ }
67
+ return nextItem;
68
+ }
69
+ function stripGroup(group) {
70
+ return {
71
+ type: "group",
72
+ id: group.id
73
+ };
74
+ }
75
+ export function createButtonConfiguratorGroupNode(group, createItemId) {
76
+ return {
77
+ itemId: createItemId?.() ?? crypto.randomUUID(),
78
+ childItemIds: [],
79
+ item: group ? stripGroup(group) : {
80
+ type: "group",
81
+ id: crypto.randomUUID()
82
+ }
83
+ };
84
+ }
85
+ export function createButtonConfiguratorButtonNode(button, createItemId) {
86
+ return {
87
+ itemId: createItemId?.() ?? crypto.randomUUID(),
88
+ childItemIds: [],
89
+ item: button ? stripButton(button) : {
90
+ type: "button",
91
+ id: crypto.randomUUID(),
92
+ title: [{ locale: "zh", message: "" }],
93
+ tooltip: [{ locale: "zh", message: "" }]
94
+ }
95
+ };
96
+ }
97
+ export function createButtonConfiguratorDropdownNode(dropdown, createItemId) {
98
+ return {
99
+ itemId: createItemId?.() ?? crypto.randomUUID(),
100
+ childItemIds: [],
101
+ item: dropdown ? stripDropdown(dropdown) : {
102
+ type: "dropdown",
103
+ id: crypto.randomUUID(),
104
+ title: [{ locale: "zh", message: "" }]
105
+ }
106
+ };
107
+ }
108
+ export function buildButtonConfiguratorTree(groups, createItemId) {
109
+ const nodes = [];
110
+ function visitButton(button, parentItemId) {
111
+ const itemId = createItemId?.() ?? crypto.randomUUID();
112
+ nodes.push({
113
+ itemId,
114
+ parentItemId,
115
+ childItemIds: [],
116
+ item: stripButton(button)
117
+ });
118
+ return itemId;
119
+ }
120
+ function visitDropdown(dropdown, parentItemId) {
121
+ const itemId = createItemId?.() ?? crypto.randomUUID();
122
+ const childItemIds = dropdown.items.map((button) => visitButton(button, itemId));
123
+ nodes.push({
124
+ itemId,
125
+ parentItemId,
126
+ childItemIds,
127
+ item: stripDropdown(dropdown)
128
+ });
129
+ return itemId;
130
+ }
131
+ function visitItem(item, parentItemId) {
132
+ if ("items" in item) {
133
+ return visitDropdown(item, parentItemId);
134
+ }
135
+ return visitButton(item, parentItemId);
136
+ }
137
+ function visitGroup(group) {
138
+ const itemId = createItemId?.() ?? crypto.randomUUID();
139
+ const childItemIds = group.items.map((item) => visitItem(item, itemId));
140
+ nodes.push({
141
+ itemId,
142
+ childItemIds,
143
+ item: stripGroup(group)
144
+ });
145
+ return itemId;
146
+ }
147
+ return {
148
+ rootItemIds: groups.map((group) => visitGroup(group)),
149
+ nodes
150
+ };
151
+ }
152
+ export function getButtonConfiguratorNode(tree, itemId) {
153
+ return tree.nodes.find((node) => node.itemId === itemId);
154
+ }
155
+ export function flattenButtonConfiguratorTree(tree) {
156
+ function visit(itemId, depth) {
157
+ const node = getButtonConfiguratorNode(tree, itemId);
158
+ if (!node) {
159
+ return [];
160
+ }
161
+ return [
162
+ {
163
+ itemId: node.itemId,
164
+ depth,
165
+ item: node.item
166
+ },
167
+ ...node.childItemIds.flatMap((childItemId) => visit(childItemId, depth + 1))
168
+ ];
169
+ }
170
+ return tree.rootItemIds.flatMap((itemId) => visit(itemId, 0));
171
+ }
172
+ export function updateButtonConfiguratorNode(tree, itemId, update) {
173
+ return replaceNode(tree, itemId, (node) => ({
174
+ ...node,
175
+ item: update(node.item)
176
+ }));
177
+ }
178
+ function canAttachNode(tree, itemId, parentItemId) {
179
+ const node = getButtonConfiguratorNode(tree, itemId);
180
+ if (!node) {
181
+ return false;
182
+ }
183
+ if (!parentItemId) {
184
+ return node.item.type === "group";
185
+ }
186
+ const parentNode = getButtonConfiguratorNode(tree, parentItemId);
187
+ if (!parentNode) {
188
+ return false;
189
+ }
190
+ if (parentNode.item.type === "group") {
191
+ return node.item.type === "button" || node.item.type === "dropdown";
192
+ }
193
+ if (parentNode.item.type === "dropdown") {
194
+ return node.item.type === "button";
195
+ }
196
+ return false;
197
+ }
198
+ function detachNode(tree, itemId) {
199
+ const node = getButtonConfiguratorNode(tree, itemId);
200
+ if (!node) {
201
+ return tree;
202
+ }
203
+ const detachedTree = updateSiblingIds(
204
+ tree,
205
+ node.parentItemId,
206
+ (itemIds) => itemIds.filter((currentItemId) => currentItemId !== itemId)
207
+ );
208
+ return replaceNode(detachedTree, itemId, (currentNode) => ({
209
+ ...currentNode,
210
+ parentItemId: void 0
211
+ }));
212
+ }
213
+ function attachNode(tree, itemId, parentItemId, index = Number.POSITIVE_INFINITY) {
214
+ if (!canAttachNode(tree, itemId, parentItemId)) {
215
+ return tree;
216
+ }
217
+ const attachedTree = updateSiblingIds(
218
+ tree,
219
+ parentItemId,
220
+ (itemIds) => insertItemId(itemIds, itemId, index)
221
+ );
222
+ return replaceNode(attachedTree, itemId, (currentNode) => ({
223
+ ...currentNode,
224
+ parentItemId
225
+ }));
226
+ }
227
+ export function insertButtonConfiguratorRootNode(tree, node, index = tree.rootItemIds.length) {
228
+ if (node.item.type !== "group") {
229
+ return tree;
230
+ }
231
+ return {
232
+ rootItemIds: insertItemId(tree.rootItemIds, node.itemId, index),
233
+ nodes: [...tree.nodes, node]
234
+ };
235
+ }
236
+ export function insertButtonConfiguratorChildNode(tree, parentItemId, node, index = Number.POSITIVE_INFINITY) {
237
+ if (!canAttachNode({
238
+ ...tree,
239
+ nodes: [...tree.nodes, node]
240
+ }, node.itemId, parentItemId)) {
241
+ return tree;
242
+ }
243
+ return {
244
+ rootItemIds: tree.rootItemIds,
245
+ nodes: [
246
+ ...tree.nodes,
247
+ {
248
+ ...node,
249
+ parentItemId
250
+ }
251
+ ].map((currentNode) => currentNode.itemId === parentItemId ? {
252
+ ...currentNode,
253
+ childItemIds: insertItemId(currentNode.childItemIds, node.itemId, index)
254
+ } : currentNode)
255
+ };
256
+ }
257
+ export function moveButtonConfiguratorNodeToParent(tree, itemId, parentItemId, index = Number.POSITIVE_INFINITY) {
258
+ if (itemId === parentItemId) {
259
+ return tree;
260
+ }
261
+ if (!canAttachNode(tree, itemId, parentItemId)) {
262
+ return tree;
263
+ }
264
+ const detachedTree = detachNode(tree, itemId);
265
+ return attachNode(detachedTree, itemId, parentItemId, index);
266
+ }
267
+ export function moveButtonConfiguratorSibling(tree, parentItemId, oldIndex, newIndex) {
268
+ return updateSiblingIds(tree, parentItemId, (itemIds) => moveItemId(itemIds, oldIndex, newIndex));
269
+ }
270
+ function collectDescendantItemIds(tree, itemId) {
271
+ const node = getButtonConfiguratorNode(tree, itemId);
272
+ if (!node) {
273
+ return [];
274
+ }
275
+ return [
276
+ itemId,
277
+ ...node.childItemIds.flatMap((childItemId) => collectDescendantItemIds(tree, childItemId))
278
+ ];
279
+ }
280
+ export function removeButtonConfiguratorSubtree(tree, itemId) {
281
+ const node = getButtonConfiguratorNode(tree, itemId);
282
+ if (!node) {
283
+ return tree;
284
+ }
285
+ const removedItemIds = collectDescendantItemIds(tree, itemId);
286
+ const detachedTree = updateSiblingIds(
287
+ tree,
288
+ node.parentItemId,
289
+ (itemIds) => itemIds.filter((currentItemId) => currentItemId !== itemId)
290
+ );
291
+ return {
292
+ ...detachedTree,
293
+ nodes: detachedTree.nodes.filter((currentNode) => !removedItemIds.includes(currentNode.itemId))
294
+ };
295
+ }
296
+ export function materializeButtonConfiguratorTree(tree) {
297
+ function visitButton(itemId) {
298
+ const node = getButtonConfiguratorNode(tree, itemId);
299
+ if (!node || node.item.type !== "button") {
300
+ return void 0;
301
+ }
302
+ const nextButton = {
303
+ id: node.item.id,
304
+ title: node.item.title
305
+ };
306
+ if (node.item.icon) {
307
+ nextButton.icon = node.item.icon;
308
+ }
309
+ if (node.item.variant === "default" || node.item.variant === "primary" || node.item.variant === "destructive" || node.item.variant === "ghost") {
310
+ nextButton.variant = node.item.variant;
311
+ }
312
+ if (node.item.tooltip) {
313
+ nextButton.tooltip = node.item.tooltip;
314
+ }
315
+ const parentNode = node.parentItemId ? getButtonConfiguratorNode(tree, node.parentItemId) : void 0;
316
+ if (parentNode?.item.type === "group" && node.item.hideTitle) {
317
+ nextButton.hideTitle = node.item.hideTitle;
318
+ }
319
+ return nextButton;
320
+ }
321
+ function visitDropdown(itemId) {
322
+ const node = getButtonConfiguratorNode(tree, itemId);
323
+ if (!node || node.item.type !== "dropdown") {
324
+ return void 0;
325
+ }
326
+ const nextDropdown = {
327
+ id: node.item.id,
328
+ title: node.item.title,
329
+ items: node.childItemIds.flatMap((childItemId) => {
330
+ const button = visitButton(childItemId);
331
+ return button ? [{
332
+ id: button.id,
333
+ title: button.title,
334
+ tooltip: button.tooltip,
335
+ icon: button.icon,
336
+ variant: button.variant
337
+ }] : [];
338
+ })
339
+ };
340
+ if (node.item.icon) {
341
+ nextDropdown.icon = node.item.icon;
342
+ }
343
+ return nextDropdown;
344
+ }
345
+ function visitGroupItem(itemId) {
346
+ const node = getButtonConfiguratorNode(tree, itemId);
347
+ if (!node) {
348
+ return void 0;
349
+ }
350
+ if (node.item.type === "dropdown") {
351
+ return visitDropdown(itemId);
352
+ }
353
+ if (node.item.type === "button") {
354
+ return visitButton(itemId);
355
+ }
356
+ return void 0;
357
+ }
358
+ function visitGroup(itemId) {
359
+ const node = getButtonConfiguratorNode(tree, itemId);
360
+ if (!node || node.item.type !== "group") {
361
+ return void 0;
362
+ }
363
+ return {
364
+ id: node.item.id,
365
+ items: node.childItemIds.flatMap((childItemId) => {
366
+ const item = visitGroupItem(childItemId);
367
+ return item ? [item] : [];
368
+ })
369
+ };
370
+ }
371
+ return tree.rootItemIds.flatMap((itemId) => {
372
+ const group = visitGroup(itemId);
373
+ return group ? [group] : [];
374
+ });
375
+ }
376
+ export function isButtonConfiguratorNodeContainer(node) {
377
+ if (!node) {
378
+ return false;
379
+ }
380
+ return node.item.type === "group" || node.item.type === "dropdown";
381
+ }
@@ -0,0 +1,95 @@
1
+ import { Effect } from 'effect';
2
+ import { type ButtonConfig } from './schema.js';
3
+ export { ButtonActionC, ButtonConfigC, ButtonConfigInputC, ButtonDropdownC, ButtonGroupC, ButtonsStyleC } from './schema.js';
4
+ export type { ButtonAction, ButtonConfig, ButtonConfigInput, ButtonDropdown, ButtonGroup, ButtonGroupItem } from './schema.js';
5
+ declare const _default: typeof __VLS_export;
6
+ export default _default;
7
+ declare const __VLS_export: import("vue").DefineComponent<{
8
+ config: Effect.Effect<ButtonConfig | import("./schema.js").ButtonConfigInput | undefined>;
9
+ }, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
10
+ "update:config": (args_0: Readonly<{
11
+ groups: readonly Readonly<{
12
+ id: string;
13
+ items: readonly (Readonly<{
14
+ id: string;
15
+ title: readonly {
16
+ locale: "zh" | "ja" | "en" | "ko";
17
+ message: string;
18
+ }[];
19
+ tooltip?: readonly {
20
+ locale: "zh" | "ja" | "en" | "ko";
21
+ message: string;
22
+ }[] | undefined;
23
+ icon?: string | undefined;
24
+ variant?: "default" | "destructive" | "primary" | "ghost" | undefined;
25
+ hideTitle?: boolean | undefined;
26
+ }> | Readonly<{
27
+ id: string;
28
+ title: readonly {
29
+ locale: "zh" | "ja" | "en" | "ko";
30
+ message: string;
31
+ }[];
32
+ items: readonly Readonly<{
33
+ id: string;
34
+ title: readonly {
35
+ locale: "zh" | "ja" | "en" | "ko";
36
+ message: string;
37
+ }[];
38
+ tooltip?: readonly {
39
+ locale: "zh" | "ja" | "en" | "ko";
40
+ message: string;
41
+ }[] | undefined;
42
+ icon?: string | undefined;
43
+ variant?: "default" | "destructive" | "primary" | "ghost" | undefined;
44
+ }>[];
45
+ icon?: string | undefined;
46
+ }>)[];
47
+ }>[];
48
+ gap?: number | undefined;
49
+ style?: string | undefined;
50
+ }>) => any;
51
+ }, string, import("vue").PublicProps, Readonly<{
52
+ config: Effect.Effect<ButtonConfig | import("./schema.js").ButtonConfigInput | undefined>;
53
+ }> & Readonly<{
54
+ "onUpdate:config"?: ((args_0: Readonly<{
55
+ groups: readonly Readonly<{
56
+ id: string;
57
+ items: readonly (Readonly<{
58
+ id: string;
59
+ title: readonly {
60
+ locale: "zh" | "ja" | "en" | "ko";
61
+ message: string;
62
+ }[];
63
+ tooltip?: readonly {
64
+ locale: "zh" | "ja" | "en" | "ko";
65
+ message: string;
66
+ }[] | undefined;
67
+ icon?: string | undefined;
68
+ variant?: "default" | "destructive" | "primary" | "ghost" | undefined;
69
+ hideTitle?: boolean | undefined;
70
+ }> | Readonly<{
71
+ id: string;
72
+ title: readonly {
73
+ locale: "zh" | "ja" | "en" | "ko";
74
+ message: string;
75
+ }[];
76
+ items: readonly Readonly<{
77
+ id: string;
78
+ title: readonly {
79
+ locale: "zh" | "ja" | "en" | "ko";
80
+ message: string;
81
+ }[];
82
+ tooltip?: readonly {
83
+ locale: "zh" | "ja" | "en" | "ko";
84
+ message: string;
85
+ }[] | undefined;
86
+ icon?: string | undefined;
87
+ variant?: "default" | "destructive" | "primary" | "ghost" | undefined;
88
+ }>[];
89
+ icon?: string | undefined;
90
+ }>)[];
91
+ }>[];
92
+ gap?: number | undefined;
93
+ style?: string | undefined;
94
+ }>) => any) | undefined;
95
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;