miladyai 2.0.0-alpha.27
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.
- package/dist/_virtual/_rolldown/runtime.js +7 -0
- package/dist/actions/emote.js +64 -0
- package/dist/actions/restart.js +81 -0
- package/dist/actions/send-message.js +152 -0
- package/dist/agent-admin-routes.js +82 -0
- package/dist/agent-lifecycle-routes.js +79 -0
- package/dist/agent-transfer-routes.js +102 -0
- package/dist/api/agent-admin-routes.js +82 -0
- package/dist/api/agent-lifecycle-routes.js +79 -0
- package/dist/api/agent-transfer-routes.js +102 -0
- package/dist/api/apps-hyperscape-routes.js +58 -0
- package/dist/api/apps-routes.js +114 -0
- package/dist/api/auth-routes.js +56 -0
- package/dist/api/autonomy-routes.js +44 -0
- package/dist/api/bug-report-routes.js +111 -0
- package/dist/api/character-routes.js +195 -0
- package/dist/api/cloud-routes.js +330 -0
- package/dist/api/cloud-status-routes.js +155 -0
- package/dist/api/compat-utils.js +111 -0
- package/dist/api/database.js +735 -0
- package/dist/api/diagnostics-routes.js +205 -0
- package/dist/api/drop-service.js +134 -0
- package/dist/api/early-logs.js +86 -0
- package/dist/api/http-helpers.js +131 -0
- package/dist/api/knowledge-routes.js +534 -0
- package/dist/api/memory-bounds.js +71 -0
- package/dist/api/models-routes.js +28 -0
- package/dist/api/og-tracker.js +36 -0
- package/dist/api/permissions-routes.js +109 -0
- package/dist/api/plugin-validation.js +198 -0
- package/dist/api/provider-switch-config.js +41 -0
- package/dist/api/registry-routes.js +86 -0
- package/dist/api/registry-service.js +164 -0
- package/dist/api/sandbox-routes.js +1112 -0
- package/dist/api/server.js +7949 -0
- package/dist/api/subscription-routes.js +172 -0
- package/dist/api/terminal-run-limits.js +24 -0
- package/dist/api/training-routes.js +158 -0
- package/dist/api/trajectory-routes.js +300 -0
- package/dist/api/trigger-routes.js +246 -0
- package/dist/api/twitter-verify.js +134 -0
- package/dist/api/tx-service.js +108 -0
- package/dist/api/wallet-routes.js +266 -0
- package/dist/api/wallet.js +568 -0
- package/dist/api/whatsapp-routes.js +182 -0
- package/dist/api/zip-utils.js +109 -0
- package/dist/apps-hyperscape-routes.js +58 -0
- package/dist/apps-routes.js +114 -0
- package/dist/ascii.js +20 -0
- package/dist/auth/anthropic.js +44 -0
- package/dist/auth/apply-stealth.js +41 -0
- package/dist/auth/claude-code-stealth.js +78 -0
- package/dist/auth/credentials.js +156 -0
- package/dist/auth/index.js +5 -0
- package/dist/auth/openai-codex.js +66 -0
- package/dist/auth/types.js +9 -0
- package/dist/auth-routes.js +56 -0
- package/dist/autonomy-routes.js +44 -0
- package/dist/bug-report-routes.js +111 -0
- package/dist/build-info.json +6 -0
- package/dist/character-routes.js +195 -0
- package/dist/cli/argv.js +63 -0
- package/dist/cli/banner.js +34 -0
- package/dist/cli/cli-name.js +21 -0
- package/dist/cli/cli-utils.js +16 -0
- package/dist/cli/git-commit.js +78 -0
- package/dist/cli/parse-duration.js +15 -0
- package/dist/cli/plugins-cli.js +590 -0
- package/dist/cli/profile-utils.js +9 -0
- package/dist/cli/profile.js +95 -0
- package/dist/cli/program/build-program.js +17 -0
- package/dist/cli/program/command-registry.js +23 -0
- package/dist/cli/program/help.js +47 -0
- package/dist/cli/program/preaction.js +33 -0
- package/dist/cli/program/register.config.js +106 -0
- package/dist/cli/program/register.configure.js +20 -0
- package/dist/cli/program/register.dashboard.js +124 -0
- package/dist/cli/program/register.models.js +23 -0
- package/dist/cli/program/register.setup.js +36 -0
- package/dist/cli/program/register.start.js +22 -0
- package/dist/cli/program/register.subclis.js +70 -0
- package/dist/cli/program/register.tui.js +163 -0
- package/dist/cli/program/register.update.js +154 -0
- package/dist/cli/program.js +3 -0
- package/dist/cli/run-main.js +37 -0
- package/dist/cli/version.js +7 -0
- package/dist/cloud/validate-url.js +93 -0
- package/dist/cloud-routes.js +330 -0
- package/dist/cloud-status-routes.js +155 -0
- package/dist/compat-utils.js +111 -0
- package/dist/config/config.js +69 -0
- package/dist/config/env-vars.js +19 -0
- package/dist/config/includes.js +121 -0
- package/dist/config/object-utils.js +7 -0
- package/dist/config/paths.js +38 -0
- package/dist/config/plugin-auto-enable.js +231 -0
- package/dist/config/schema.js +864 -0
- package/dist/config/telegram-custom-commands.js +76 -0
- package/dist/config/zod-schema.agent-runtime.js +519 -0
- package/dist/config/zod-schema.core.js +538 -0
- package/dist/config/zod-schema.hooks.js +103 -0
- package/dist/config/zod-schema.js +488 -0
- package/dist/config/zod-schema.providers-core.js +785 -0
- package/dist/config/zod-schema.session.js +73 -0
- package/dist/core-plugins.js +37 -0
- package/dist/custom-actions.js +250 -0
- package/dist/database.js +735 -0
- package/dist/diagnostics/integration-observability.js +57 -0
- package/dist/diagnostics-routes.js +205 -0
- package/dist/drop-service.js +134 -0
- package/dist/early-logs.js +24 -0
- package/dist/eliza.js +2061 -0
- package/dist/emotes/catalog.js +271 -0
- package/dist/entry.js +40 -0
- package/dist/hooks/discovery.js +167 -0
- package/dist/hooks/eligibility.js +64 -0
- package/dist/hooks/index.js +4 -0
- package/dist/hooks/loader.js +147 -0
- package/dist/hooks/registry.js +55 -0
- package/dist/http-helpers.js +131 -0
- package/dist/index.js +49 -0
- package/dist/knowledge-routes.js +534 -0
- package/dist/memory-bounds.js +71 -0
- package/dist/milady-plugin.js +90 -0
- package/dist/models-routes.js +28 -0
- package/dist/onboarding-names.js +78 -0
- package/dist/onboarding-presets.js +922 -0
- package/dist/package.json +1 -0
- package/dist/permissions-routes.js +109 -0
- package/dist/plugin-validation.js +107 -0
- package/dist/plugins/whatsapp/actions.js +91 -0
- package/dist/plugins/whatsapp/index.js +16 -0
- package/dist/plugins/whatsapp/service.js +270 -0
- package/dist/provider-switch-config.js +41 -0
- package/dist/providers/admin-trust.js +46 -0
- package/dist/providers/autonomous-state.js +101 -0
- package/dist/providers/session-bridge.js +86 -0
- package/dist/providers/session-utils.js +36 -0
- package/dist/providers/simple-mode.js +50 -0
- package/dist/providers/ui-catalog.js +15 -0
- package/dist/providers/workspace-provider.js +93 -0
- package/dist/providers/workspace.js +348 -0
- package/dist/registry-routes.js +86 -0
- package/dist/registry-service.js +164 -0
- package/dist/restart.js +40 -0
- package/dist/runtime/core-plugins.js +37 -0
- package/dist/runtime/custom-actions.js +250 -0
- package/dist/runtime/eliza.js +2061 -0
- package/dist/runtime/embedding-manager-support.js +185 -0
- package/dist/runtime/embedding-manager.js +193 -0
- package/dist/runtime/embedding-presets.js +54 -0
- package/dist/runtime/embedding-state.js +8 -0
- package/dist/runtime/milady-plugin.js +90 -0
- package/dist/runtime/onboarding-names.js +78 -0
- package/dist/runtime/restart.js +40 -0
- package/dist/runtime/version.js +7 -0
- package/dist/sandbox-routes.js +1112 -0
- package/dist/security/audit-log.js +149 -0
- package/dist/security/network-policy.js +70 -0
- package/dist/server.js +7949 -0
- package/dist/services/agent-export.js +559 -0
- package/dist/services/app-manager.js +389 -0
- package/dist/services/browser-capture.js +86 -0
- package/dist/services/fallback-training-service.js +128 -0
- package/dist/services/mcp-marketplace.js +134 -0
- package/dist/services/plugin-installer.js +396 -0
- package/dist/services/plugin-manager-types.js +15 -0
- package/dist/services/registry-client-app-meta.js +144 -0
- package/dist/services/registry-client-endpoints.js +166 -0
- package/dist/services/registry-client-local.js +271 -0
- package/dist/services/registry-client-network.js +93 -0
- package/dist/services/registry-client-queries.js +70 -0
- package/dist/services/registry-client.js +157 -0
- package/dist/services/sandbox-engine.js +511 -0
- package/dist/services/sandbox-manager.js +297 -0
- package/dist/services/self-updater.js +175 -0
- package/dist/services/skill-catalog-client.js +119 -0
- package/dist/services/skill-marketplace.js +521 -0
- package/dist/services/stream-manager.js +236 -0
- package/dist/services/update-checker.js +121 -0
- package/dist/services/update-notifier.js +29 -0
- package/dist/services/version-compat.js +78 -0
- package/dist/services/whatsapp-pairing.js +196 -0
- package/dist/shared/ui-catalog-prompt.js +728 -0
- package/dist/subscription-routes.js +172 -0
- package/dist/terminal/links.js +19 -0
- package/dist/terminal/palette.js +14 -0
- package/dist/terminal/theme.js +25 -0
- package/dist/terminal-run-limits.js +24 -0
- package/dist/training-routes.js +158 -0
- package/dist/trajectory-routes.js +300 -0
- package/dist/trigger-routes.js +246 -0
- package/dist/triggers/action.js +218 -0
- package/dist/triggers/runtime.js +281 -0
- package/dist/triggers/scheduling.js +295 -0
- package/dist/triggers/types.js +5 -0
- package/dist/tui/components/assistant-message.js +76 -0
- package/dist/tui/components/chat-editor.js +34 -0
- package/dist/tui/components/embeddings-overlay.js +46 -0
- package/dist/tui/components/footer.js +60 -0
- package/dist/tui/components/index.js +15 -0
- package/dist/tui/components/modal-frame.js +45 -0
- package/dist/tui/components/modal-style.js +15 -0
- package/dist/tui/components/model-selector.js +70 -0
- package/dist/tui/components/pinned-chat-layout.js +46 -0
- package/dist/tui/components/plugins-endpoints-tab.js +196 -0
- package/dist/tui/components/plugins-installed-tab-view.js +69 -0
- package/dist/tui/components/plugins-installed-tab.js +319 -0
- package/dist/tui/components/plugins-overlay-catalog.js +81 -0
- package/dist/tui/components/plugins-overlay-data-api.js +21 -0
- package/dist/tui/components/plugins-overlay-data-shared.js +20 -0
- package/dist/tui/components/plugins-overlay-data.js +323 -0
- package/dist/tui/components/plugins-overlay.js +117 -0
- package/dist/tui/components/plugins-store-tab.js +148 -0
- package/dist/tui/components/settings-overlay.js +61 -0
- package/dist/tui/components/status-bar.js +64 -0
- package/dist/tui/components/tool-execution.js +68 -0
- package/dist/tui/components/user-message.js +22 -0
- package/dist/tui/eliza-tui-bridge.js +606 -0
- package/dist/tui/index.js +370 -0
- package/dist/tui/modal-presets.js +33 -0
- package/dist/tui/model-spec.js +46 -0
- package/dist/tui/sse-parser.js +78 -0
- package/dist/tui/theme.js +110 -0
- package/dist/tui/titlebar-spinner.js +62 -0
- package/dist/tui/tui-app.js +311 -0
- package/dist/tui/ws-client.js +215 -0
- package/dist/twitter-verify.js +134 -0
- package/dist/tx-service.js +108 -0
- package/dist/utils/exec-safety.js +17 -0
- package/dist/utils/globals.js +20 -0
- package/dist/utils/milady-root.js +61 -0
- package/dist/utils/number-parsing.js +37 -0
- package/dist/version-resolver.js +37 -0
- package/dist/version.js +7 -0
- package/dist/wallet-routes.js +266 -0
- package/dist/wallet.js +568 -0
- package/dist/whatsapp-routes.js +182 -0
- package/dist/zip-utils.js +109 -0
- package/milady.mjs +14 -0
- package/package.json +111 -0
|
@@ -0,0 +1,728 @@
|
|
|
1
|
+
//#region src/shared/ui-catalog-prompt.ts
|
|
2
|
+
const COMPONENT_CATALOG = {
|
|
3
|
+
Stack: {
|
|
4
|
+
description: "Flexbox container for vertical or horizontal layouts",
|
|
5
|
+
props: {
|
|
6
|
+
direction: {
|
|
7
|
+
type: "\"vertical\" | \"horizontal\"",
|
|
8
|
+
description: "Layout direction. Defaults to vertical.",
|
|
9
|
+
required: false
|
|
10
|
+
},
|
|
11
|
+
gap: {
|
|
12
|
+
type: "\"none\" | \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\"",
|
|
13
|
+
description: "Gap between children. Defaults to md.",
|
|
14
|
+
required: false
|
|
15
|
+
},
|
|
16
|
+
align: {
|
|
17
|
+
type: "\"start\" | \"center\" | \"end\" | \"stretch\"",
|
|
18
|
+
description: "Cross-axis alignment. Defaults to stretch.",
|
|
19
|
+
required: false
|
|
20
|
+
},
|
|
21
|
+
justify: {
|
|
22
|
+
type: "\"start\" | \"center\" | \"end\" | \"between\" | \"around\"",
|
|
23
|
+
description: "Main-axis alignment. Defaults to start.",
|
|
24
|
+
required: false
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
slots: ["default"]
|
|
28
|
+
},
|
|
29
|
+
Grid: {
|
|
30
|
+
description: "CSS grid container with configurable columns",
|
|
31
|
+
props: {
|
|
32
|
+
columns: {
|
|
33
|
+
type: "number",
|
|
34
|
+
description: "Number of grid columns. Defaults to 2.",
|
|
35
|
+
required: false
|
|
36
|
+
},
|
|
37
|
+
gap: {
|
|
38
|
+
type: "\"none\" | \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\"",
|
|
39
|
+
description: "Gap between grid cells. Defaults to md.",
|
|
40
|
+
required: false
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
slots: ["default"]
|
|
44
|
+
},
|
|
45
|
+
Card: {
|
|
46
|
+
description: "Bordered container with optional title and description",
|
|
47
|
+
props: {
|
|
48
|
+
title: {
|
|
49
|
+
type: "string",
|
|
50
|
+
description: "Card heading text",
|
|
51
|
+
required: false
|
|
52
|
+
},
|
|
53
|
+
description: {
|
|
54
|
+
type: "string",
|
|
55
|
+
description: "Card subtitle / description text",
|
|
56
|
+
required: false
|
|
57
|
+
},
|
|
58
|
+
maxWidth: {
|
|
59
|
+
type: "\"full\" | undefined",
|
|
60
|
+
description: "Set to \"full\" for full-width card",
|
|
61
|
+
required: false
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
slots: ["default"]
|
|
65
|
+
},
|
|
66
|
+
Separator: {
|
|
67
|
+
description: "Horizontal or vertical divider line",
|
|
68
|
+
props: { orientation: {
|
|
69
|
+
type: "\"horizontal\" | \"vertical\"",
|
|
70
|
+
description: "Divider direction. Defaults to horizontal.",
|
|
71
|
+
required: false
|
|
72
|
+
} }
|
|
73
|
+
},
|
|
74
|
+
Heading: {
|
|
75
|
+
description: "Heading text with configurable level",
|
|
76
|
+
props: {
|
|
77
|
+
text: {
|
|
78
|
+
type: "string",
|
|
79
|
+
description: "Heading content",
|
|
80
|
+
required: true
|
|
81
|
+
},
|
|
82
|
+
level: {
|
|
83
|
+
type: "\"h1\" | \"h2\" | \"h3\"",
|
|
84
|
+
description: "Heading level. Defaults to h2.",
|
|
85
|
+
required: false
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
Text: {
|
|
90
|
+
description: "Body text with variant styling",
|
|
91
|
+
props: {
|
|
92
|
+
text: {
|
|
93
|
+
type: "string",
|
|
94
|
+
description: "Text content",
|
|
95
|
+
required: true
|
|
96
|
+
},
|
|
97
|
+
variant: {
|
|
98
|
+
type: "\"body\" | \"caption\" | \"muted\" | \"lead\" | \"code\"",
|
|
99
|
+
description: "Text style variant. Defaults to body.",
|
|
100
|
+
required: false
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
},
|
|
104
|
+
Input: {
|
|
105
|
+
description: "Single-line text input with label and state binding",
|
|
106
|
+
props: {
|
|
107
|
+
label: {
|
|
108
|
+
type: "string",
|
|
109
|
+
description: "Input label displayed above the field",
|
|
110
|
+
required: false
|
|
111
|
+
},
|
|
112
|
+
type: {
|
|
113
|
+
type: "\"text\" | \"email\" | \"password\" | \"number\" | \"url\" | \"tel\"",
|
|
114
|
+
description: "HTML input type. Defaults to text.",
|
|
115
|
+
required: false
|
|
116
|
+
},
|
|
117
|
+
name: {
|
|
118
|
+
type: "string",
|
|
119
|
+
description: "Form field name attribute",
|
|
120
|
+
required: false
|
|
121
|
+
},
|
|
122
|
+
placeholder: {
|
|
123
|
+
type: "string",
|
|
124
|
+
description: "Placeholder text",
|
|
125
|
+
required: false
|
|
126
|
+
},
|
|
127
|
+
statePath: {
|
|
128
|
+
type: "string",
|
|
129
|
+
description: "Dot-path into spec state for two-way binding",
|
|
130
|
+
required: false
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
},
|
|
134
|
+
Textarea: {
|
|
135
|
+
description: "Multi-line text input with configurable rows",
|
|
136
|
+
props: {
|
|
137
|
+
label: {
|
|
138
|
+
type: "string",
|
|
139
|
+
description: "Textarea label",
|
|
140
|
+
required: false
|
|
141
|
+
},
|
|
142
|
+
name: {
|
|
143
|
+
type: "string",
|
|
144
|
+
description: "Form field name attribute",
|
|
145
|
+
required: false
|
|
146
|
+
},
|
|
147
|
+
placeholder: {
|
|
148
|
+
type: "string",
|
|
149
|
+
description: "Placeholder text",
|
|
150
|
+
required: false
|
|
151
|
+
},
|
|
152
|
+
rows: {
|
|
153
|
+
type: "number",
|
|
154
|
+
description: "Number of visible rows. Defaults to 3.",
|
|
155
|
+
required: false
|
|
156
|
+
},
|
|
157
|
+
statePath: {
|
|
158
|
+
type: "string",
|
|
159
|
+
description: "Dot-path into spec state for two-way binding",
|
|
160
|
+
required: false
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
},
|
|
164
|
+
Select: {
|
|
165
|
+
description: "Dropdown select with options list",
|
|
166
|
+
props: {
|
|
167
|
+
label: {
|
|
168
|
+
type: "string",
|
|
169
|
+
description: "Select label",
|
|
170
|
+
required: false
|
|
171
|
+
},
|
|
172
|
+
options: {
|
|
173
|
+
type: "Array<{ label: string; value: string }>",
|
|
174
|
+
description: "Array of selectable options",
|
|
175
|
+
required: true
|
|
176
|
+
},
|
|
177
|
+
placeholder: {
|
|
178
|
+
type: "string",
|
|
179
|
+
description: "Placeholder option text",
|
|
180
|
+
required: false
|
|
181
|
+
},
|
|
182
|
+
statePath: {
|
|
183
|
+
type: "string",
|
|
184
|
+
description: "Dot-path into spec state for two-way binding",
|
|
185
|
+
required: false
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
},
|
|
189
|
+
Checkbox: {
|
|
190
|
+
description: "Single checkbox with label",
|
|
191
|
+
props: {
|
|
192
|
+
label: {
|
|
193
|
+
type: "string",
|
|
194
|
+
description: "Checkbox label text",
|
|
195
|
+
required: true
|
|
196
|
+
},
|
|
197
|
+
statePath: {
|
|
198
|
+
type: "string",
|
|
199
|
+
description: "Dot-path into spec state for two-way binding (boolean)",
|
|
200
|
+
required: false
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
},
|
|
204
|
+
Radio: {
|
|
205
|
+
description: "Radio button group",
|
|
206
|
+
props: {
|
|
207
|
+
label: {
|
|
208
|
+
type: "string",
|
|
209
|
+
description: "Group label text",
|
|
210
|
+
required: false
|
|
211
|
+
},
|
|
212
|
+
name: {
|
|
213
|
+
type: "string",
|
|
214
|
+
description: "Radio group name for mutual exclusion",
|
|
215
|
+
required: true
|
|
216
|
+
},
|
|
217
|
+
options: {
|
|
218
|
+
type: "Array<{ label: string; value: string }>",
|
|
219
|
+
description: "Array of radio options",
|
|
220
|
+
required: true
|
|
221
|
+
},
|
|
222
|
+
statePath: {
|
|
223
|
+
type: "string",
|
|
224
|
+
description: "Dot-path into spec state for two-way binding",
|
|
225
|
+
required: false
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
},
|
|
229
|
+
Switch: {
|
|
230
|
+
description: "Toggle switch for boolean values",
|
|
231
|
+
props: {
|
|
232
|
+
label: {
|
|
233
|
+
type: "string",
|
|
234
|
+
description: "Switch label text",
|
|
235
|
+
required: false
|
|
236
|
+
},
|
|
237
|
+
statePath: {
|
|
238
|
+
type: "string",
|
|
239
|
+
description: "Dot-path into spec state for two-way binding (boolean)",
|
|
240
|
+
required: false
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
},
|
|
244
|
+
Slider: {
|
|
245
|
+
description: "Range slider input",
|
|
246
|
+
props: {
|
|
247
|
+
label: {
|
|
248
|
+
type: "string",
|
|
249
|
+
description: "Slider label text",
|
|
250
|
+
required: false
|
|
251
|
+
},
|
|
252
|
+
min: {
|
|
253
|
+
type: "number",
|
|
254
|
+
description: "Minimum value. Defaults to 0.",
|
|
255
|
+
required: false
|
|
256
|
+
},
|
|
257
|
+
max: {
|
|
258
|
+
type: "number",
|
|
259
|
+
description: "Maximum value. Defaults to 100.",
|
|
260
|
+
required: false
|
|
261
|
+
},
|
|
262
|
+
step: {
|
|
263
|
+
type: "number",
|
|
264
|
+
description: "Step increment. Defaults to 1.",
|
|
265
|
+
required: false
|
|
266
|
+
},
|
|
267
|
+
statePath: {
|
|
268
|
+
type: "string",
|
|
269
|
+
description: "Dot-path into spec state for two-way binding (number)",
|
|
270
|
+
required: false
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
},
|
|
274
|
+
Toggle: {
|
|
275
|
+
description: "Pressable toggle button with on/off state",
|
|
276
|
+
props: {
|
|
277
|
+
label: {
|
|
278
|
+
type: "string",
|
|
279
|
+
description: "Toggle button label. Defaults to 'Toggle'.",
|
|
280
|
+
required: false
|
|
281
|
+
},
|
|
282
|
+
statePath: {
|
|
283
|
+
type: "string",
|
|
284
|
+
description: "Dot-path into spec state for two-way binding (boolean)",
|
|
285
|
+
required: false
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
},
|
|
289
|
+
ToggleGroup: {
|
|
290
|
+
description: "Group of toggle buttons for single or multiple selection",
|
|
291
|
+
props: {
|
|
292
|
+
items: {
|
|
293
|
+
type: "Array<{ label: string; value: string }>",
|
|
294
|
+
description: "Selectable toggle items",
|
|
295
|
+
required: true
|
|
296
|
+
},
|
|
297
|
+
type: {
|
|
298
|
+
type: "\"single\" | \"multiple\"",
|
|
299
|
+
description: "Selection mode. Single selects one value, multiple allows many.",
|
|
300
|
+
required: false
|
|
301
|
+
},
|
|
302
|
+
statePath: {
|
|
303
|
+
type: "string",
|
|
304
|
+
description: "Dot-path into spec state. String for single, string[] for multiple.",
|
|
305
|
+
required: false
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
},
|
|
309
|
+
ButtonGroup: {
|
|
310
|
+
description: "Row of mutually exclusive buttons (single selection)",
|
|
311
|
+
props: {
|
|
312
|
+
buttons: {
|
|
313
|
+
type: "Array<{ label: string; value: string }>",
|
|
314
|
+
description: "Button options",
|
|
315
|
+
required: true
|
|
316
|
+
},
|
|
317
|
+
statePath: {
|
|
318
|
+
type: "string",
|
|
319
|
+
description: "Dot-path into spec state for the selected value",
|
|
320
|
+
required: false
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
},
|
|
324
|
+
Table: {
|
|
325
|
+
description: "Data table with column headers and rows",
|
|
326
|
+
props: {
|
|
327
|
+
columns: {
|
|
328
|
+
type: "string[]",
|
|
329
|
+
description: "Array of column header names",
|
|
330
|
+
required: true
|
|
331
|
+
},
|
|
332
|
+
rows: {
|
|
333
|
+
type: "string[][]",
|
|
334
|
+
description: "2D array of row cell values",
|
|
335
|
+
required: true
|
|
336
|
+
},
|
|
337
|
+
caption: {
|
|
338
|
+
type: "string",
|
|
339
|
+
description: "Table caption displayed above",
|
|
340
|
+
required: false
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
},
|
|
344
|
+
Carousel: {
|
|
345
|
+
description: "Paginated carousel that shows one item at a time",
|
|
346
|
+
props: { items: {
|
|
347
|
+
type: "Array<{ title: string; description: string }>",
|
|
348
|
+
description: "Carousel slide items",
|
|
349
|
+
required: true
|
|
350
|
+
} }
|
|
351
|
+
},
|
|
352
|
+
Badge: {
|
|
353
|
+
description: "Small inline label / tag",
|
|
354
|
+
props: {
|
|
355
|
+
text: {
|
|
356
|
+
type: "string",
|
|
357
|
+
description: "Badge text content",
|
|
358
|
+
required: true
|
|
359
|
+
},
|
|
360
|
+
variant: {
|
|
361
|
+
type: "\"default\" | \"success\" | \"warning\" | \"error\" | \"info\"",
|
|
362
|
+
description: "Color variant. Defaults to default.",
|
|
363
|
+
required: false
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
},
|
|
367
|
+
Avatar: {
|
|
368
|
+
description: "Circular avatar showing initials derived from a name",
|
|
369
|
+
props: {
|
|
370
|
+
name: {
|
|
371
|
+
type: "string",
|
|
372
|
+
description: "Full name used to generate initials",
|
|
373
|
+
required: true
|
|
374
|
+
},
|
|
375
|
+
size: {
|
|
376
|
+
type: "\"sm\" | \"md\" | \"lg\"",
|
|
377
|
+
description: "Avatar size. Defaults to md.",
|
|
378
|
+
required: false
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
},
|
|
382
|
+
Image: {
|
|
383
|
+
description: "Image element with fallback placeholder",
|
|
384
|
+
props: {
|
|
385
|
+
src: {
|
|
386
|
+
type: "string",
|
|
387
|
+
description: "Image URL",
|
|
388
|
+
required: false
|
|
389
|
+
},
|
|
390
|
+
alt: {
|
|
391
|
+
type: "string",
|
|
392
|
+
description: "Alt text for accessibility",
|
|
393
|
+
required: false
|
|
394
|
+
},
|
|
395
|
+
width: {
|
|
396
|
+
type: "number",
|
|
397
|
+
description: "Width in pixels",
|
|
398
|
+
required: false
|
|
399
|
+
},
|
|
400
|
+
height: {
|
|
401
|
+
type: "number",
|
|
402
|
+
description: "Height in pixels",
|
|
403
|
+
required: false
|
|
404
|
+
}
|
|
405
|
+
}
|
|
406
|
+
},
|
|
407
|
+
Alert: {
|
|
408
|
+
description: "Alert banner with type-based styling",
|
|
409
|
+
props: {
|
|
410
|
+
type: {
|
|
411
|
+
type: "\"info\" | \"success\" | \"warning\" | \"error\"",
|
|
412
|
+
description: "Alert severity. Defaults to info.",
|
|
413
|
+
required: false
|
|
414
|
+
},
|
|
415
|
+
title: {
|
|
416
|
+
type: "string",
|
|
417
|
+
description: "Alert title",
|
|
418
|
+
required: false
|
|
419
|
+
},
|
|
420
|
+
message: {
|
|
421
|
+
type: "string",
|
|
422
|
+
description: "Alert body text",
|
|
423
|
+
required: false
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
},
|
|
427
|
+
Progress: {
|
|
428
|
+
description: "Horizontal progress bar",
|
|
429
|
+
props: {
|
|
430
|
+
value: {
|
|
431
|
+
type: "number",
|
|
432
|
+
description: "Current progress value",
|
|
433
|
+
required: true
|
|
434
|
+
},
|
|
435
|
+
max: {
|
|
436
|
+
type: "number",
|
|
437
|
+
description: "Maximum value. Defaults to 100.",
|
|
438
|
+
required: false
|
|
439
|
+
},
|
|
440
|
+
label: {
|
|
441
|
+
type: "string",
|
|
442
|
+
description: "Label displayed above the bar",
|
|
443
|
+
required: false
|
|
444
|
+
}
|
|
445
|
+
}
|
|
446
|
+
},
|
|
447
|
+
Rating: {
|
|
448
|
+
description: "Star rating display",
|
|
449
|
+
props: {
|
|
450
|
+
value: {
|
|
451
|
+
type: "number",
|
|
452
|
+
description: "Number of filled stars",
|
|
453
|
+
required: true
|
|
454
|
+
},
|
|
455
|
+
max: {
|
|
456
|
+
type: "number",
|
|
457
|
+
description: "Total number of stars. Defaults to 5.",
|
|
458
|
+
required: false
|
|
459
|
+
},
|
|
460
|
+
label: {
|
|
461
|
+
type: "string",
|
|
462
|
+
description: "Label displayed above the stars",
|
|
463
|
+
required: false
|
|
464
|
+
}
|
|
465
|
+
}
|
|
466
|
+
},
|
|
467
|
+
Skeleton: {
|
|
468
|
+
description: "Loading placeholder with pulse animation",
|
|
469
|
+
props: {
|
|
470
|
+
width: {
|
|
471
|
+
type: "string",
|
|
472
|
+
description: "CSS width value. Defaults to 100%.",
|
|
473
|
+
required: false
|
|
474
|
+
},
|
|
475
|
+
height: {
|
|
476
|
+
type: "string",
|
|
477
|
+
description: "CSS height value. Defaults to 20px.",
|
|
478
|
+
required: false
|
|
479
|
+
},
|
|
480
|
+
rounded: {
|
|
481
|
+
type: "boolean",
|
|
482
|
+
description: "Apply rounded corners",
|
|
483
|
+
required: false
|
|
484
|
+
}
|
|
485
|
+
}
|
|
486
|
+
},
|
|
487
|
+
Spinner: {
|
|
488
|
+
description: "Spinning loading indicator",
|
|
489
|
+
props: {
|
|
490
|
+
size: {
|
|
491
|
+
type: "\"sm\" | \"md\" | \"lg\"",
|
|
492
|
+
description: "Spinner size. Defaults to md.",
|
|
493
|
+
required: false
|
|
494
|
+
},
|
|
495
|
+
label: {
|
|
496
|
+
type: "string",
|
|
497
|
+
description: "Loading text displayed beside the spinner",
|
|
498
|
+
required: false
|
|
499
|
+
}
|
|
500
|
+
}
|
|
501
|
+
},
|
|
502
|
+
Button: {
|
|
503
|
+
description: "Clickable button with variant styling",
|
|
504
|
+
props: {
|
|
505
|
+
label: {
|
|
506
|
+
type: "string",
|
|
507
|
+
description: "Button text. Defaults to 'Button'.",
|
|
508
|
+
required: false
|
|
509
|
+
},
|
|
510
|
+
variant: {
|
|
511
|
+
type: "\"primary\" | \"secondary\" | \"danger\" | \"ghost\"",
|
|
512
|
+
description: "Button style variant. Defaults to primary.",
|
|
513
|
+
required: false
|
|
514
|
+
},
|
|
515
|
+
disabled: {
|
|
516
|
+
type: "boolean",
|
|
517
|
+
description: "Disable the button",
|
|
518
|
+
required: false
|
|
519
|
+
}
|
|
520
|
+
}
|
|
521
|
+
},
|
|
522
|
+
Link: {
|
|
523
|
+
description: "Anchor link, optionally opening in a new tab",
|
|
524
|
+
props: {
|
|
525
|
+
label: {
|
|
526
|
+
type: "string",
|
|
527
|
+
description: "Link text",
|
|
528
|
+
required: false
|
|
529
|
+
},
|
|
530
|
+
href: {
|
|
531
|
+
type: "string",
|
|
532
|
+
description: "URL target",
|
|
533
|
+
required: true
|
|
534
|
+
},
|
|
535
|
+
external: {
|
|
536
|
+
type: "boolean",
|
|
537
|
+
description: "Open in new tab with noopener",
|
|
538
|
+
required: false
|
|
539
|
+
}
|
|
540
|
+
}
|
|
541
|
+
},
|
|
542
|
+
DropdownMenu: {
|
|
543
|
+
description: "Button that reveals a dropdown list of actions",
|
|
544
|
+
props: {
|
|
545
|
+
label: {
|
|
546
|
+
type: "string",
|
|
547
|
+
description: "Trigger button text. Defaults to 'Menu'.",
|
|
548
|
+
required: false
|
|
549
|
+
},
|
|
550
|
+
items: {
|
|
551
|
+
type: "Array<{ label: string; value: string }>",
|
|
552
|
+
description: "Menu items. Selection fires a 'menuSelect' action.",
|
|
553
|
+
required: true
|
|
554
|
+
}
|
|
555
|
+
}
|
|
556
|
+
},
|
|
557
|
+
Tabs: {
|
|
558
|
+
description: "Tabbed navigation with inline text content per tab",
|
|
559
|
+
props: {
|
|
560
|
+
tabs: {
|
|
561
|
+
type: "Array<{ label: string; value: string; content: string }>",
|
|
562
|
+
description: "Tab definitions with labels and text content",
|
|
563
|
+
required: true
|
|
564
|
+
},
|
|
565
|
+
defaultValue: {
|
|
566
|
+
type: "string",
|
|
567
|
+
description: "Initially active tab value",
|
|
568
|
+
required: false
|
|
569
|
+
},
|
|
570
|
+
statePath: {
|
|
571
|
+
type: "string",
|
|
572
|
+
description: "Dot-path into spec state for the active tab value",
|
|
573
|
+
required: false
|
|
574
|
+
}
|
|
575
|
+
}
|
|
576
|
+
},
|
|
577
|
+
Pagination: {
|
|
578
|
+
description: "Page navigation with numbered buttons",
|
|
579
|
+
props: {
|
|
580
|
+
totalPages: {
|
|
581
|
+
type: "number",
|
|
582
|
+
description: "Total number of pages",
|
|
583
|
+
required: true
|
|
584
|
+
},
|
|
585
|
+
statePath: {
|
|
586
|
+
type: "string",
|
|
587
|
+
description: "Dot-path into spec state for the current page (number)",
|
|
588
|
+
required: false
|
|
589
|
+
}
|
|
590
|
+
}
|
|
591
|
+
},
|
|
592
|
+
BarGraph: {
|
|
593
|
+
description: "Vertical bar chart",
|
|
594
|
+
props: {
|
|
595
|
+
data: {
|
|
596
|
+
type: "Array<{ label: string; value: number }>",
|
|
597
|
+
description: "Data points for the bars",
|
|
598
|
+
required: true
|
|
599
|
+
},
|
|
600
|
+
title: {
|
|
601
|
+
type: "string",
|
|
602
|
+
description: "Chart title",
|
|
603
|
+
required: false
|
|
604
|
+
}
|
|
605
|
+
}
|
|
606
|
+
},
|
|
607
|
+
LineGraph: {
|
|
608
|
+
description: "SVG line chart",
|
|
609
|
+
props: {
|
|
610
|
+
data: {
|
|
611
|
+
type: "Array<{ label: string; value: number }>",
|
|
612
|
+
description: "Data points for the line",
|
|
613
|
+
required: true
|
|
614
|
+
},
|
|
615
|
+
title: {
|
|
616
|
+
type: "string",
|
|
617
|
+
description: "Chart title",
|
|
618
|
+
required: false
|
|
619
|
+
}
|
|
620
|
+
}
|
|
621
|
+
},
|
|
622
|
+
Tooltip: {
|
|
623
|
+
description: "Hover tooltip showing extra information",
|
|
624
|
+
props: {
|
|
625
|
+
text: {
|
|
626
|
+
type: "string",
|
|
627
|
+
description: "Trigger text that the user hovers. Defaults to 'Hover'.",
|
|
628
|
+
required: false
|
|
629
|
+
},
|
|
630
|
+
content: {
|
|
631
|
+
type: "string",
|
|
632
|
+
description: "Tooltip popup content",
|
|
633
|
+
required: true
|
|
634
|
+
}
|
|
635
|
+
}
|
|
636
|
+
},
|
|
637
|
+
Popover: {
|
|
638
|
+
description: "Click-triggered popup with content",
|
|
639
|
+
props: {
|
|
640
|
+
trigger: {
|
|
641
|
+
type: "string",
|
|
642
|
+
description: "Trigger text. Defaults to 'Click'.",
|
|
643
|
+
required: false
|
|
644
|
+
},
|
|
645
|
+
content: {
|
|
646
|
+
type: "string",
|
|
647
|
+
description: "Popover body content",
|
|
648
|
+
required: true
|
|
649
|
+
}
|
|
650
|
+
}
|
|
651
|
+
},
|
|
652
|
+
Collapsible: {
|
|
653
|
+
description: "Expandable/collapsible content section",
|
|
654
|
+
props: {
|
|
655
|
+
title: {
|
|
656
|
+
type: "string",
|
|
657
|
+
description: "Header text. Defaults to 'Collapsible'.",
|
|
658
|
+
required: false
|
|
659
|
+
},
|
|
660
|
+
defaultOpen: {
|
|
661
|
+
type: "boolean",
|
|
662
|
+
description: "Start in open state",
|
|
663
|
+
required: false
|
|
664
|
+
}
|
|
665
|
+
},
|
|
666
|
+
slots: ["default"]
|
|
667
|
+
},
|
|
668
|
+
Accordion: {
|
|
669
|
+
description: "Multi-section accordion with expand/collapse",
|
|
670
|
+
props: {
|
|
671
|
+
items: {
|
|
672
|
+
type: "Array<{ title: string; content: string }>",
|
|
673
|
+
description: "Accordion sections",
|
|
674
|
+
required: true
|
|
675
|
+
},
|
|
676
|
+
type: {
|
|
677
|
+
type: "\"single\" | \"multiple\"",
|
|
678
|
+
description: "Whether only one section can be open at a time",
|
|
679
|
+
required: false
|
|
680
|
+
}
|
|
681
|
+
}
|
|
682
|
+
},
|
|
683
|
+
Dialog: {
|
|
684
|
+
description: "Modal dialog controlled by a state path",
|
|
685
|
+
props: {
|
|
686
|
+
title: {
|
|
687
|
+
type: "string",
|
|
688
|
+
description: "Dialog title",
|
|
689
|
+
required: false
|
|
690
|
+
},
|
|
691
|
+
description: {
|
|
692
|
+
type: "string",
|
|
693
|
+
description: "Dialog description text",
|
|
694
|
+
required: false
|
|
695
|
+
},
|
|
696
|
+
openPath: {
|
|
697
|
+
type: "string",
|
|
698
|
+
description: "Dot-path into spec state (boolean) that controls open/close",
|
|
699
|
+
required: true
|
|
700
|
+
}
|
|
701
|
+
},
|
|
702
|
+
slots: ["default"]
|
|
703
|
+
},
|
|
704
|
+
Drawer: {
|
|
705
|
+
description: "Bottom drawer overlay controlled by a state path",
|
|
706
|
+
props: {
|
|
707
|
+
title: {
|
|
708
|
+
type: "string",
|
|
709
|
+
description: "Drawer title",
|
|
710
|
+
required: false
|
|
711
|
+
},
|
|
712
|
+
description: {
|
|
713
|
+
type: "string",
|
|
714
|
+
description: "Drawer description text",
|
|
715
|
+
required: false
|
|
716
|
+
},
|
|
717
|
+
openPath: {
|
|
718
|
+
type: "string",
|
|
719
|
+
description: "Dot-path into spec state (boolean) that controls open/close",
|
|
720
|
+
required: true
|
|
721
|
+
}
|
|
722
|
+
},
|
|
723
|
+
slots: ["default"]
|
|
724
|
+
}
|
|
725
|
+
};
|
|
726
|
+
|
|
727
|
+
//#endregion
|
|
728
|
+
export { COMPONENT_CATALOG };
|