@lumeo-ui/mcp-server 2.2.2 → 3.0.1
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/index.js +1 -1
- package/package.json +1 -1
- package/src/components-api.json +995 -564
- package/src/registry.json +19 -4
package/src/components-api.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "https://lumeo.nativ.sh/components-api-schema.json",
|
|
3
|
-
"version": "
|
|
4
|
-
"generated": "2026-05-
|
|
3
|
+
"version": "3.0.1",
|
|
4
|
+
"generated": "2026-05-21T13:54:18.3260556Z",
|
|
5
5
|
"stats": {
|
|
6
6
|
"componentCount": 149,
|
|
7
|
-
"totalParameters":
|
|
8
|
-
"totalEnums":
|
|
9
|
-
"totalRecords":
|
|
7
|
+
"totalParameters": 3580,
|
|
8
|
+
"totalEnums": 65,
|
|
9
|
+
"totalRecords": 62,
|
|
10
10
|
"thinFallbacks": []
|
|
11
11
|
},
|
|
12
12
|
"themeTokens": [
|
|
@@ -251,7 +251,7 @@
|
|
|
251
251
|
"examples": [
|
|
252
252
|
{
|
|
253
253
|
"title": "Analytics Dashboard",
|
|
254
|
-
"code": "<Tabs @bind-ActiveValue=\"_activeTab\" Orientation=\"
|
|
254
|
+
"code": "<Tabs @bind-ActiveValue=\"_activeTab\" Orientation=\"Lumeo.Orientation.Vertical\" Class=\"gap-6\">\n\n <TabsList Class=\"flex-col h-auto w-48 shrink-0 justify-start items-stretch gap-0.5 bg-muted/40 border border-border/40 p-2 rounded-[var(--radius-lg)]\">\n <TabsTrigger Value=\"overview\" Class=\"justify-start text-sm h-8\">\n <DynamicIcon Name=\"LayoutDashboard\" Class=\"h-3.5 w-3.5 mr-2\" />\n Overview\n </TabsTrigger>\n <TabsTrigger Value=\"traffic\" Class=\"justify-start text-sm h-8\">\n <DynamicIcon Name=\"Globe\" Class=\"h-3.5 w-3.5 mr-2\" />\n Traffic Sources\n </TabsTrigger>\n <TabsTrigger Value=\"pages\" Class=\"justify-start text-sm h-8\">\n <DynamicIcon Name=\"FileText\" Class=\"h-3.5 w-3.5 mr-2\" />\n Top Pages\n </TabsTrigger>\n <TabsTrigger Value=\"devices\" Class=\"justify-start text-sm h-8\">\n <DynamicIcon Name=\"Monitor\" Class=\"h-3.5 w-3.5 mr-2\" />\n Devices\n </TabsTrigger>\n </TabsList>\n\n <Stack Class=\"flex-1 min-w-0\" Gap=\"0\">\n\n <!-- Overview Tab -->\n <TabsContent Value=\"overview\">\n <!-- KPI Row -->\n <Grid Class=\"grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4\">\n @foreach (var kpi in _kpis) {\n <Card>\n <CardHeader><Lumeo.Text Class=\"text-xs text-muted-foreground\">@kpi.Label</Lumeo.Text></CardHeader>\n <CardContent>\n <Lumeo.Text Class=\"text-2xl font-bold\">@kpi.Value</Lumeo.Text>\n <Progress Value=\"@kpi.Percent\" Class=\"mt-3 h-1\" Variant=\"@kpi.Variant\" />\n </CardContent>\n </Card>\n }\n </Grid>\n <!-- Line Chart -->\n <Card>\n <CardHeader><Heading Level=\"3\">Page Views</Heading></CardHeader>\n <CardContent>\n <LineChart Categories=\"@_lineCategories\" Series=\"@_lineSeries\" Smooth=\"true\" ShowDots=\"true\" Height=\"240px\" />\n </CardContent>\n </Card>\n </TabsContent>\n\n <!-- Traffic Tab -->\n <TabsContent Value=\"traffic\">\n <Grid Class=\"grid-cols-1 lg:grid-cols-2 gap-4\">\n <Card>\n <CardHeader><Heading Level=\"3\">Traffic by Source</Heading></CardHeader>\n <CardContent>\n <DonutChart Data=\"@_trafficDonut\" CenterLabel=\"148.4K\" InnerRadius=\"52%\" OuterRadius=\"72%\" Height=\"260px\" />\n </CardContent>\n </Card>\n <Card>\n <CardHeader><Heading Level=\"3\">Source Breakdown</Heading></CardHeader>\n <CardContent>\n @foreach (var src in _trafficSources) {\n <Flex Class=\"py-2.5 border-b last:border-0 hover:bg-muted/30\">\n <Lumeo.Text Class=\"flex-1 text-sm\">@src.Name</Lumeo.Text>\n <Lumeo.Text Class=\"text-sm font-medium\">@src.Sessions</Lumeo.Text>\n </Flex>\n }\n </CardContent>\n </Card>\n </Grid>\n </TabsContent>\n\n <!-- Pages Tab -->\n <TabsContent Value=\"pages\">\n <Card>\n <CardHeader><Heading Level=\"3\">Top Pages</Heading></CardHeader>\n <CardContent Class=\"px-0\">\n <Table>\n <TableHeader>\n <TableRow>\n <TableHead>Page</TableHead>\n <TableHead Class=\"text-right\">Views</TableHead>\n <TableHead Class=\"text-right\">Bounce</TableHead>\n <TableHead Class=\"text-right\">Avg. Time</TableHead>\n </TableRow>\n </TableHeader>\n <TableBody>\n @foreach (var page in _topPages) {\n <TableRow Class=\"hover:bg-muted/40\">\n <TableCell Class=\"font-medium\">@page.Title</TableCell>\n <TableCell Class=\"text-right\">@page.Views</TableCell>\n <TableCell Class=\"text-right\"><Badge Variant=\"@page.BounceVariant\">@page.Bounce</Badge></TableCell>\n <TableCell Class=\"text-right text-muted-foreground\">@page.AvgTime</TableCell>\n </TableRow>\n }\n </TableBody>\n </Table>\n </CardContent>\n </Card>\n </TabsContent>\n\n <!-- Devices Tab -->\n <TabsContent Value=\"devices\">\n <Grid Class=\"grid-cols-1 lg:grid-cols-2 gap-4\">\n <Card>\n <CardHeader><Heading Level=\"3\">Device Type</Heading></CardHeader>\n <CardContent>\n @foreach (var d in _devices) {\n <Stack Gap=\"1.5\" Class=\"mb-3\">\n <Flex Class=\"items-center justify-between\">\n <Lumeo.Text Class=\"text-sm font-medium\">@d.Name</Lumeo.Text>\n <Lumeo.Text Class=\"text-sm\">@d.Sessions</Lumeo.Text>\n </Flex>\n <Progress Value=\"@d.Pct\" Class=\"h-1.5\" />\n </Stack>\n }\n </CardContent>\n </Card>\n <Card>\n <CardHeader><Heading Level=\"3\">Top Countries</Heading></CardHeader>\n <CardContent>\n @foreach (var c in _countries) {\n <Flex Class=\"py-2 border-b border-border/40 last:border-0 items-center gap-2\">\n <Lumeo.Text As=\"span\" Class=\"text-base\">@c.Flag</Lumeo.Text>\n <Lumeo.Text Class=\"flex-1 text-sm\">@c.Name</Lumeo.Text>\n <Lumeo.Text Class=\"text-sm font-medium\">@c.Sessions</Lumeo.Text>\n </Flex>\n }\n </CardContent>\n </Card>\n </Grid>\n </TabsContent>\n\n </Stack>\n\n</Tabs>"
|
|
255
255
|
}
|
|
256
256
|
]
|
|
257
257
|
},
|
|
@@ -292,7 +292,7 @@
|
|
|
292
292
|
"examples": [
|
|
293
293
|
{
|
|
294
294
|
"title": "Chat Messaging Interface",
|
|
295
|
-
"code": "<!-- Chat layout: contact sidebar | message thread -->\n<Stack Class=\"w-full border border-border/40 rounded-xl overflow-hidden\" style=\"height: 600px;\">\n <Flex Class=\"h-full\">\n\n <!-- Contact Sidebar -->\n <Flex Direction=\"col\" Class=\"w-72 border-r border-border/40 bg-card\">\n <Flex Class=\"items-center justify-between px-4 pt-4 pb-3 border-b border-border/40\">\n <Lumeo.Text As=\"span\" Class=\"text-base font-bold text-foreground\">Messages</Lumeo.Text>\n <Flex Class=\"items-center gap-1\">\n <Button Variant=\"Button.ButtonVariant.Ghost\" Size=\"Button.ButtonSize.Icon\" Class=\"h-8 w-8\">\n <DynamicIcon Name=\"Search\" Class=\"h-4 w-4\" />\n </Button>\n <Button Variant=\"Button.ButtonVariant.Ghost\" Size=\"Button.ButtonSize.Icon\" Class=\"h-8 w-8\">\n <DynamicIcon Name=\"SquarePen\" Class=\"h-4 w-4\" />\n </Button>\n </Flex>\n </Flex>\n <Stack Class=\"flex-1 overflow-y-auto\">\n @foreach (var contact in _contacts)\n {\n <button class=\"flex items-start gap-3 w-full px-3 py-2.5 hover:bg-muted/40 transition-colors\" @onclick=\"@(() => SelectContact(contact))\">\n <Stack Class=\"relative shrink-0\">\n <Avatar Size=\"
|
|
295
|
+
"code": "<!-- Chat layout: contact sidebar | message thread -->\n<Stack Class=\"w-full border border-border/40 rounded-xl overflow-hidden\" style=\"height: 600px;\">\n <Flex Class=\"h-full\">\n\n <!-- Contact Sidebar -->\n <Flex Direction=\"col\" Class=\"w-72 border-r border-border/40 bg-card\">\n <Flex Class=\"items-center justify-between px-4 pt-4 pb-3 border-b border-border/40\">\n <Lumeo.Text As=\"span\" Class=\"text-base font-bold text-foreground\">Messages</Lumeo.Text>\n <Flex Class=\"items-center gap-1\">\n <Button Variant=\"Button.ButtonVariant.Ghost\" Size=\"Button.ButtonSize.Icon\" Class=\"h-8 w-8\">\n <DynamicIcon Name=\"Search\" Class=\"h-4 w-4\" />\n </Button>\n <Button Variant=\"Button.ButtonVariant.Ghost\" Size=\"Button.ButtonSize.Icon\" Class=\"h-8 w-8\">\n <DynamicIcon Name=\"SquarePen\" Class=\"h-4 w-4\" />\n </Button>\n </Flex>\n </Flex>\n <Stack Class=\"flex-1 overflow-y-auto\">\n @foreach (var contact in _contacts)\n {\n <button class=\"flex items-start gap-3 w-full px-3 py-2.5 hover:bg-muted/40 transition-colors\" @onclick=\"@(() => SelectContact(contact))\">\n <Stack Class=\"relative shrink-0\">\n <Avatar Size=\"Lumeo.Size.Sm\">\n <AvatarFallback>@contact.Initials</AvatarFallback>\n </Avatar>\n @if (contact.IsOnline)\n {\n <Lumeo.Text As=\"span\" Class=\"absolute bottom-0 right-0 h-2.5 w-2.5 rounded-full bg-primary border-2 border-card block\"></Lumeo.Text>\n }\n </Stack>\n <Stack Class=\"flex-1 min-w-0 gap-0.5\">\n <Flex Class=\"items-center justify-between\">\n <Lumeo.Text As=\"span\" Class=\"text-sm font-semibold text-foreground truncate\">@contact.Name</Lumeo.Text>\n <Lumeo.Text As=\"span\" Class=\"text-xs text-muted-foreground\">@contact.Timestamp</Lumeo.Text>\n </Flex>\n <Flex Class=\"items-center justify-between\">\n <Lumeo.Text Class=\"text-xs text-muted-foreground truncate\">@contact.LastMessage</Lumeo.Text>\n @if (contact.UnreadCount > 0) { <Badge Class=\"ml-1 shrink-0 h-4 min-w-4 text-[10px] px-1\">@contact.UnreadCount</Badge> }\n </Flex>\n </Stack>\n </button>\n }\n </Stack>\n </Flex>\n\n <!-- Chat Area -->\n <Flex Direction=\"col\" Class=\"flex-1 overflow-hidden bg-background\">\n <!-- Header -->\n <Flex Class=\"items-center gap-3 px-4 py-3 border-b border-border/40 bg-card\">\n <Stack Class=\"relative\">\n <Avatar Size=\"Lumeo.Size.Sm\"><AvatarFallback>PK</AvatarFallback></Avatar>\n <Lumeo.Text As=\"span\" Class=\"absolute bottom-0 right-0 h-2.5 w-2.5 rounded-full bg-primary border-2 border-card block\"></Lumeo.Text>\n </Stack>\n <Stack>\n <Lumeo.Text Class=\"text-sm font-semibold text-foreground\">Priya Kapoor</Lumeo.Text>\n <Lumeo.Text Class=\"text-xs text-primary\">Active now</Lumeo.Text>\n </Stack>\n <Flex Class=\"ml-auto items-center gap-1\">\n <Button Variant=\"Button.ButtonVariant.Ghost\" Size=\"Button.ButtonSize.Icon\" Class=\"h-8 w-8\">\n <DynamicIcon Name=\"Phone\" Class=\"h-4 w-4\" />\n </Button>\n <Button Variant=\"Button.ButtonVariant.Ghost\" Size=\"Button.ButtonSize.Icon\" Class=\"h-8 w-8\">\n <DynamicIcon Name=\"Video\" Class=\"h-4 w-4\" />\n </Button>\n <Button Variant=\"Button.ButtonVariant.Ghost\" Size=\"Button.ButtonSize.Icon\" Class=\"h-8 w-8\">\n <DynamicIcon Name=\"Ellipsis\" Class=\"h-4 w-4\" />\n </Button>\n </Flex>\n </Flex>\n\n <!-- Messages -->\n <Stack Class=\"flex-1 overflow-y-auto px-4 py-4 gap-1\">\n <!-- Time group separator -->\n <Flex Class=\"items-center gap-3 my-3\">\n <Lumeo.Text As=\"span\" Class=\"flex-1 h-px bg-border/40 block\"></Lumeo.Text>\n <Lumeo.Text As=\"span\" Class=\"text-xs text-muted-foreground\">Today</Lumeo.Text>\n <Lumeo.Text As=\"span\" Class=\"flex-1 h-px bg-border/40 block\"></Lumeo.Text>\n </Flex>\n @foreach (var msg in _messages)\n {\n <Flex Class=\"@(msg.IsSent ? \\\"items-end gap-2 justify-end\\\" : \\\"items-end gap-2 justify-start\\\")\">\n @if (!msg.IsSent)\n {\n <Avatar Size=\"Lumeo.Size.Sm\" Class=\"shrink-0 mb-1\"><AvatarFallback>PK</AvatarFallback></Avatar>\n }\n <Stack Class=\"max-w-sm gap-1\">\n <Lumeo.Text As=\"div\" Class=\"@(msg.IsSent ? \\\"rounded-2xl rounded-br-sm px-3.5 py-2.5 text-sm bg-primary text-primary-foreground\\\" : \\\"rounded-2xl rounded-bl-sm px-3.5 py-2.5 text-sm bg-muted text-foreground\\\")\">@msg.Text</Lumeo.Text>\n <Lumeo.Text Class=\"text-xs text-muted-foreground px-1\">@msg.Time</Lumeo.Text>\n </Stack>\n @if (msg.IsSent)\n {\n <Avatar Size=\"Lumeo.Size.Sm\" Class=\"shrink-0 mb-1\"><AvatarFallback>ME</AvatarFallback></Avatar>\n }\n </Flex>\n }\n </Stack>\n\n <!-- Input -->\n <Stack Class=\"border-t border-border/40 bg-card px-4 py-3 gap-2\">\n <Flex Class=\"items-center gap-2 rounded-xl border border-border/40 bg-background px-3 py-2\">\n <Input placeholder=\"Type a message...\" @bind-Value=\"_newMessage\" Class=\"flex-1 border-0 shadow-none bg-transparent text-sm p-0 h-auto focus-visible:ring-0\" />\n </Flex>\n <Flex Class=\"items-center justify-between\">\n <Flex Class=\"items-center gap-1\">\n <Button Variant=\"Button.ButtonVariant.Ghost\" Size=\"Button.ButtonSize.Icon\" Class=\"h-8 w-8\">\n <DynamicIcon Name=\"Paperclip\" Class=\"h-4 w-4\" />\n </Button>\n <Button Variant=\"Button.ButtonVariant.Ghost\" Size=\"Button.ButtonSize.Icon\" Class=\"h-8 w-8\">\n <DynamicIcon Name=\"Smile\" Class=\"h-4 w-4\" />\n </Button>\n <Button Variant=\"Button.ButtonVariant.Ghost\" Size=\"Button.ButtonSize.Icon\" Class=\"h-8 w-8\">\n <DynamicIcon Name=\"Mic\" Class=\"h-4 w-4\" />\n </Button>\n </Flex>\n <Button Size=\"Button.ButtonSize.Sm\" @onclick=\"SendMessage\">\n <DynamicIcon Name=\"Send\" Class=\"h-3.5 w-3.5 mr-1.5\" /> Send\n </Button>\n </Flex>\n </Stack>\n </Flex>\n </Flex>\n</Stack>\n\n@code {\n private void SendMessage()\n {\n if (string.IsNullOrWhiteSpace(_newMessage)) return;\n _messages.Add(new Message(_newMessage, true, DateTime.Now.ToString(\"h:mm tt\")));\n _newMessage = string.Empty;\n }\n}"
|
|
296
296
|
}
|
|
297
297
|
]
|
|
298
298
|
},
|
|
@@ -303,7 +303,7 @@
|
|
|
303
303
|
"examples": [
|
|
304
304
|
{
|
|
305
305
|
"title": "Analytics Dashboard",
|
|
306
|
-
"code": "<!-- Top Bar -->\n<Flex Class=\"items-center justify-between gap-4 rounded-[var(--radius-lg)] bg-card px-4 py-3 shadow-sm\">\n <Flex Class=\"items-center gap-3\">\n <Flex Class=\"h-8 w-8 items-center justify-center rounded-md bg-primary\">\n <DynamicIcon Name=\"BarChart3\" Class=\"h-4 w-4 text-primary-foreground\" />\n </Flex>\n <Lumeo.Text As=\"span\" Class=\"text-sm font-semibold text-foreground\">Nexara</Lumeo.Text>\n </Flex>\n <Flex Class=\"flex-1 max-w-sm items-center gap-2 rounded-md border border-border/40 bg-background px-3 h-9\">\n <DynamicIcon Name=\"Search\" Class=\"h-3.5 w-3.5 text-muted-foreground\" />\n <Input Placeholder=\"Search...\" Class=\"h-8 flex-1 bg-transparent border-0 shadow-none\" />\n </Flex>\n <Flex Class=\"items-center gap-1.5\">\n <Button Variant=\"Button.ButtonVariant.Ghost\" Size=\"Button.ButtonSize.Icon\" Class=\"h-8 w-8\">\n <DynamicIcon Name=\"Bell\" Class=\"h-4 w-4\" />\n </Button>\n <Avatar Size=\"
|
|
306
|
+
"code": "<!-- Top Bar -->\n<Flex Class=\"items-center justify-between gap-4 rounded-[var(--radius-lg)] bg-card px-4 py-3 shadow-sm\">\n <Flex Class=\"items-center gap-3\">\n <Flex Class=\"h-8 w-8 items-center justify-center rounded-md bg-primary\">\n <DynamicIcon Name=\"BarChart3\" Class=\"h-4 w-4 text-primary-foreground\" />\n </Flex>\n <Lumeo.Text As=\"span\" Class=\"text-sm font-semibold text-foreground\">Nexara</Lumeo.Text>\n </Flex>\n <Flex Class=\"flex-1 max-w-sm items-center gap-2 rounded-md border border-border/40 bg-background px-3 h-9\">\n <DynamicIcon Name=\"Search\" Class=\"h-3.5 w-3.5 text-muted-foreground\" />\n <Input Placeholder=\"Search...\" Class=\"h-8 flex-1 bg-transparent border-0 shadow-none\" />\n </Flex>\n <Flex Class=\"items-center gap-1.5\">\n <Button Variant=\"Button.ButtonVariant.Ghost\" Size=\"Button.ButtonSize.Icon\" Class=\"h-8 w-8\">\n <DynamicIcon Name=\"Bell\" Class=\"h-4 w-4\" />\n </Button>\n <Avatar Size=\"Lumeo.Size.Sm\">\n <AvatarFallback>PK</AvatarFallback>\n </Avatar>\n <DynamicIcon Name=\"ChevronDown\" Class=\"h-3.5 w-3.5 text-muted-foreground\" />\n </Flex>\n</Flex>\n\n<!-- Stats Row -->\n<Grid Class=\"grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4\">\n @foreach (var stat in _stats)\n {\n <Card Class=\"rounded-[var(--radius-lg)] border-border/40\">\n <CardHeader Class=\"pb-2\">\n <Flex Class=\"items-center justify-between\">\n <Lumeo.Text Class=\"text-xs font-medium text-muted-foreground uppercase tracking-wider\">@stat.Label</Lumeo.Text>\n <DynamicIcon Name=\"@stat.IconName\" Class=\"h-3.5 w-3.5 text-muted-foreground\" />\n </Flex>\n </CardHeader>\n <CardContent Class=\"pt-0\">\n <Lumeo.Text Class=\"text-2xl font-bold text-foreground\">@stat.Value</Lumeo.Text>\n <Flex Class=\"mt-1.5 items-center gap-1.5\">\n <DynamicIcon Name=\"@(stat.IsPositive ? \"TrendingUp\" : \"TrendingDown\")\" Class=\"h-3.5 w-3.5\" />\n <Lumeo.Text As=\"span\" Class=\"text-xs font-semibold\">@stat.Trend</Lumeo.Text>\n <Lumeo.Text As=\"span\" Class=\"text-xs text-muted-foreground\">vs last month</Lumeo.Text>\n </Flex>\n <Progress Value=\"@stat.ProgressValue\" Class=\"mt-3 h-1\" Variant=\"@stat.ProgressVariant\" />\n </CardContent>\n </Card>\n }\n</Grid>\n\n<!-- Revenue Chart + Activity -->\n<Grid Class=\"grid-cols-1 lg:grid-cols-7 gap-4\">\n <Card Class=\"lg:col-span-5\">\n <CardHeader>\n <Heading Level=\"3\">Revenue Overview</Heading>\n <Lumeo.Text Class=\"text-sm text-muted-foreground\">12-month revenue vs. expenses</Lumeo.Text>\n </CardHeader>\n <CardContent>\n <AreaChart Categories=\"@_areaCategories\" Series=\"@_areaSeries\" Smooth=\"true\" Gradient=\"true\" Height=\"340px\" />\n </CardContent>\n </Card>\n <Card Class=\"lg:col-span-2\">\n <CardHeader>\n <Heading Level=\"3\">Activity</Heading>\n </CardHeader>\n <CardContent>\n @foreach (var a in _activities)\n {\n <Flex Class=\"gap-2.5 py-2.5 border-b border-border/40 last:border-0 items-start hover:bg-muted/30 transition-colors\">\n <Avatar Class=\"h-7 w-7 shrink-0\"><AvatarFallback Class=\"text-[9px]\">@a.Initials</AvatarFallback></Avatar>\n <Stack Gap=\"0\">\n <Lumeo.Text Class=\"text-xs\">@a.Text</Lumeo.Text>\n <Lumeo.Text Class=\"text-[10px] text-muted-foreground\">@a.Time</Lumeo.Text>\n </Stack>\n </Flex>\n }\n </CardContent>\n </Card>\n</Grid>"
|
|
307
307
|
}
|
|
308
308
|
]
|
|
309
309
|
},
|
|
@@ -408,7 +408,7 @@
|
|
|
408
408
|
"examples": [
|
|
409
409
|
{
|
|
410
410
|
"title": "Social Media Timeline",
|
|
411
|
-
"code": "<!-- Three-column social feed layout -->\n<Flex Class=\"w-full gap-0\">\n\n <!-- Left Rail -->\n <Flex Direction=\"col\" Class=\"w-56 shrink-0 pr-4 border-r border-border/40\">\n <Flex Class=\"items-center gap-3 px-2 py-3\">\n <Avatar><AvatarFallback>ME</AvatarFallback></Avatar>\n <Lumeo.Text Class=\"text-sm font-semibold\">You</Lumeo.Text>\n </Flex>\n <Separator />\n @foreach (var nav in _navItems)\n {\n <button class=\"flex items-center gap-3 w-full rounded-lg px-3 py-2 text-sm font-medium transition-colors\n @(nav.IsActive ? 'bg-accent text-accent-foreground' : 'text-muted-foreground hover:bg-accent')\">\n <DynamicIcon Name=\"@nav.Icon\" Class=\"h-4 w-4\" />\n @nav.Label\n @if (nav.Badge > 0) { <Badge Class=\"ml-auto\">@nav.Badge</Badge> }\n </button>\n }\n <Button Class=\"w-full mt-2\" Size=\"Button.ButtonSize.Sm\">\n <DynamicIcon Name=\"PenLine\" Class=\"h-4 w-4 mr-2\" /> New Post\n </Button>\n </Flex>\n\n <!-- Center Feed -->\n <Stack Class=\"flex-1 px-6 min-w-0\">\n <!-- Compose card -->\n <Card Class=\"mb-4 border-border/40\">\n <CardContent Class=\"pt-4\">\n <Flex Gap=\"3\">\n <Avatar><AvatarFallback>ME</AvatarFallback></Avatar>\n <Stack Class=\"flex-1 gap-3\">\n <Textarea AutoResize=\"true\" placeholder=\"What's on your mind?\" />\n <Button IsLoading=\"@_isPosting\" OnClick=\"HandlePost\">\n <DynamicIcon Name=\"Send\" Class=\"h-4 w-4 mr-1.5\" /> Post\n </Button>\n </Stack>\n </Flex>\n </CardContent>\n </Card>\n\n <!-- Post cards with like/comment/share/bookmark -->\n @foreach (var post in _posts) { /* ... */ }\n </Stack>\n\n <!-- Right Rail -->\n <Stack Class=\"w-64 shrink-0 pl-4 border-l border-border/40 gap-4\">\n <Input placeholder=\"Search...\" Class=\"pl-9\" />\n\n <!-- Trending topics -->\n <Card Class=\"border-border/40\">\n <CardHeader><Heading Level=\"4\">Trending</Heading></CardHeader>\n <CardContent>\n @foreach (var t in _trending) { /* tag + post count */ }\n </CardContent>\n </Card>\n\n <!-- Who to follow -->\n <Card Class=\"border-border/40\">\n <CardHeader><Heading Level=\"4\">Who to Follow</Heading></CardHeader>\n <CardContent>\n @foreach (var s in _suggestions)\n {\n <Flex Class=\"items-center gap-3 py-2.5\">\n <Avatar Size=\"
|
|
411
|
+
"code": "<!-- Three-column social feed layout -->\n<Flex Class=\"w-full gap-0\">\n\n <!-- Left Rail -->\n <Flex Direction=\"col\" Class=\"w-56 shrink-0 pr-4 border-r border-border/40\">\n <Flex Class=\"items-center gap-3 px-2 py-3\">\n <Avatar><AvatarFallback>ME</AvatarFallback></Avatar>\n <Lumeo.Text Class=\"text-sm font-semibold\">You</Lumeo.Text>\n </Flex>\n <Separator />\n @foreach (var nav in _navItems)\n {\n <button class=\"flex items-center gap-3 w-full rounded-lg px-3 py-2 text-sm font-medium transition-colors\n @(nav.IsActive ? 'bg-accent text-accent-foreground' : 'text-muted-foreground hover:bg-accent')\">\n <DynamicIcon Name=\"@nav.Icon\" Class=\"h-4 w-4\" />\n @nav.Label\n @if (nav.Badge > 0) { <Badge Class=\"ml-auto\">@nav.Badge</Badge> }\n </button>\n }\n <Button Class=\"w-full mt-2\" Size=\"Button.ButtonSize.Sm\">\n <DynamicIcon Name=\"PenLine\" Class=\"h-4 w-4 mr-2\" /> New Post\n </Button>\n </Flex>\n\n <!-- Center Feed -->\n <Stack Class=\"flex-1 px-6 min-w-0\">\n <!-- Compose card -->\n <Card Class=\"mb-4 border-border/40\">\n <CardContent Class=\"pt-4\">\n <Flex Gap=\"3\">\n <Avatar><AvatarFallback>ME</AvatarFallback></Avatar>\n <Stack Class=\"flex-1 gap-3\">\n <Textarea AutoResize=\"true\" placeholder=\"What's on your mind?\" />\n <Button IsLoading=\"@_isPosting\" OnClick=\"HandlePost\">\n <DynamicIcon Name=\"Send\" Class=\"h-4 w-4 mr-1.5\" /> Post\n </Button>\n </Stack>\n </Flex>\n </CardContent>\n </Card>\n\n <!-- Post cards with like/comment/share/bookmark -->\n @foreach (var post in _posts) { /* ... */ }\n </Stack>\n\n <!-- Right Rail -->\n <Stack Class=\"w-64 shrink-0 pl-4 border-l border-border/40 gap-4\">\n <Input placeholder=\"Search...\" Class=\"pl-9\" />\n\n <!-- Trending topics -->\n <Card Class=\"border-border/40\">\n <CardHeader><Heading Level=\"4\">Trending</Heading></CardHeader>\n <CardContent>\n @foreach (var t in _trending) { /* tag + post count */ }\n </CardContent>\n </Card>\n\n <!-- Who to follow -->\n <Card Class=\"border-border/40\">\n <CardHeader><Heading Level=\"4\">Who to Follow</Heading></CardHeader>\n <CardContent>\n @foreach (var s in _suggestions)\n {\n <Flex Class=\"items-center gap-3 py-2.5\">\n <Avatar Size=\"Lumeo.Size.Sm\"><AvatarFallback>@s.Initials</AvatarFallback></Avatar>\n <Stack Class=\"flex-1 min-w-0\">\n <Lumeo.Text Class=\"text-sm font-medium\">@s.Name</Lumeo.Text>\n <Lumeo.Text Class=\"text-xs text-muted-foreground\">@s.Followers followers</Lumeo.Text>\n </Stack>\n <Button Variant=\"Button.ButtonVariant.Outline\" Size=\"Button.ButtonSize.Sm\">Follow</Button>\n </Flex>\n }\n </CardContent>\n </Card>\n </Stack>\n\n</Flex>"
|
|
412
412
|
}
|
|
413
413
|
]
|
|
414
414
|
},
|
|
@@ -419,7 +419,7 @@
|
|
|
419
419
|
"examples": [
|
|
420
420
|
{
|
|
421
421
|
"title": "Task Tracker",
|
|
422
|
-
"code": "<!-- Task Tracker — Lumeo pattern -->\n<div class=\"flex flex-col rounded-[var(--radius-lg)] border border-border/40 overflow-hidden\" style=\"min-height:640px;\">\n\n <!-- Top bar: breadcrumb, view tabs, search, filter, new issue -->\n <div class=\"flex items-center gap-3 px-4 py-3 border-b border-border/40\">\n <Lumeo.Text Class=\"font-semibold text-foreground\">Lumeo</Lumeo.Text>\n <DynamicIcon Name=\"ChevronRight\" Class=\"h-3.5 w-3.5 text-muted-foreground\" />\n <Lumeo.Text Class=\"text-muted-foreground\">Q2 Sprint</Lumeo.Text>\n\n <Tabs ActiveValue=\"@_activeView\" ActiveValueChanged=\"@(v => _activeView = v)\" Class=\"flex-1\">\n <TabsList Class=\"h-8\">\n <TabsTrigger Value=\"all\">All</TabsTrigger>\n <TabsTrigger Value=\"mine\">My Issues</TabsTrigger>\n <TabsTrigger Value=\"active\">Active</TabsTrigger>\n <TabsTrigger Value=\"backlog\">Backlog</TabsTrigger>\n <TabsTrigger Value=\"done\">Done</TabsTrigger>\n </TabsList>\n </Tabs>\n\n <Input placeholder=\"Search issues…\" Class=\"h-8 w-44\" />\n <Button Size=\"Button.ButtonSize.Sm\" Class=\"h-8\"><DynamicIcon Name=\"Plus\" Class=\"h-4 w-4\" /> New issue</Button>\n </div>\n\n <!-- Body: nav rail + task list -->\n <div class=\"flex flex-1 overflow-hidden\">\n\n <!-- Left nav rail w-56 -->\n <div class=\"w-56 shrink-0 border-r border-border/40 bg-muted/10 flex flex-col p-2 gap-0.5\">\n @foreach (var n in _navRail) {\n <button class=\"flex items-center gap-2.5 rounded-md px-2.5 py-2 text-sm text-muted-foreground hover:bg-accent/40\">\n <DynamicIcon Name=\"@n.Icon\" Class=\"h-4 w-4 shrink-0\" /> @n.Label\n @if (n.Count > 0) { <span class=\"ml-auto text-xs\">@n.Count</span> }\n </button>\n }\n </div>\n\n <!-- Task list, grouped by Status -->\n <div class=\"flex-1 overflow-auto\">\n @foreach (var group in VisibleTasks.GroupBy(t => t.Status).OrderBy(g => StatusOrder(g.Key))) {\n <!-- Group header with collapse toggle -->\n <div class=\"flex items-center gap-2.5 px-4 py-2.5 border-b bg-muted/20 sticky top-0\">\n <DynamicIcon Name=\"ChevronDown\" Class=\"h-3.5 w-3.5 text-muted-foreground\" />\n <DynamicIcon Name=\"@StatusIcon(group.Key)\" Class=\"h-4 w-4\" />\n <Lumeo.Text Class=\"text-sm font-semibold\">@group.Key</Lumeo.Text>\n <Badge Variant=\"Badge.BadgeVariant.Secondary\">@group.Count()</Badge>\n </div>\n <!-- Task rows -->\n @foreach (var t in group) {\n <div class=\"group flex items-center gap-3 px-4 py-2.5 border-b hover:bg-accent/30 transition-colors cursor-pointer\">\n <Checkbox Class=\"opacity-0 group-hover:opacity-100\" />\n <DynamicIcon Name=\"@PriorityIcon(t.Priority)\" Class=\"@PriorityColor(t.Priority)\" />\n <Lumeo.Text Class=\"text-xs text-muted-foreground font-mono w-16\">@t.Id</Lumeo.Text>\n <Lumeo.Text Class=\"flex-1 text-sm font-medium truncate\">@t.Title</Lumeo.Text>\n @foreach (var label in t.Labels.Take(3)) { <Badge Variant=\"Badge.BadgeVariant.Secondary\">@label</Badge> }\n <Avatar Size=\"
|
|
422
|
+
"code": "<!-- Task Tracker — Lumeo pattern -->\n<div class=\"flex flex-col rounded-[var(--radius-lg)] border border-border/40 overflow-hidden\" style=\"min-height:640px;\">\n\n <!-- Top bar: breadcrumb, view tabs, search, filter, new issue -->\n <div class=\"flex items-center gap-3 px-4 py-3 border-b border-border/40\">\n <Lumeo.Text Class=\"font-semibold text-foreground\">Lumeo</Lumeo.Text>\n <DynamicIcon Name=\"ChevronRight\" Class=\"h-3.5 w-3.5 text-muted-foreground\" />\n <Lumeo.Text Class=\"text-muted-foreground\">Q2 Sprint</Lumeo.Text>\n\n <Tabs ActiveValue=\"@_activeView\" ActiveValueChanged=\"@(v => _activeView = v)\" Class=\"flex-1\">\n <TabsList Class=\"h-8\">\n <TabsTrigger Value=\"all\">All</TabsTrigger>\n <TabsTrigger Value=\"mine\">My Issues</TabsTrigger>\n <TabsTrigger Value=\"active\">Active</TabsTrigger>\n <TabsTrigger Value=\"backlog\">Backlog</TabsTrigger>\n <TabsTrigger Value=\"done\">Done</TabsTrigger>\n </TabsList>\n </Tabs>\n\n <Input placeholder=\"Search issues…\" Class=\"h-8 w-44\" />\n <Button Size=\"Button.ButtonSize.Sm\" Class=\"h-8\"><DynamicIcon Name=\"Plus\" Class=\"h-4 w-4\" /> New issue</Button>\n </div>\n\n <!-- Body: nav rail + task list -->\n <div class=\"flex flex-1 overflow-hidden\">\n\n <!-- Left nav rail w-56 -->\n <div class=\"w-56 shrink-0 border-r border-border/40 bg-muted/10 flex flex-col p-2 gap-0.5\">\n @foreach (var n in _navRail) {\n <button class=\"flex items-center gap-2.5 rounded-md px-2.5 py-2 text-sm text-muted-foreground hover:bg-accent/40\">\n <DynamicIcon Name=\"@n.Icon\" Class=\"h-4 w-4 shrink-0\" /> @n.Label\n @if (n.Count > 0) { <span class=\"ml-auto text-xs\">@n.Count</span> }\n </button>\n }\n </div>\n\n <!-- Task list, grouped by Status -->\n <div class=\"flex-1 overflow-auto\">\n @foreach (var group in VisibleTasks.GroupBy(t => t.Status).OrderBy(g => StatusOrder(g.Key))) {\n <!-- Group header with collapse toggle -->\n <div class=\"flex items-center gap-2.5 px-4 py-2.5 border-b bg-muted/20 sticky top-0\">\n <DynamicIcon Name=\"ChevronDown\" Class=\"h-3.5 w-3.5 text-muted-foreground\" />\n <DynamicIcon Name=\"@StatusIcon(group.Key)\" Class=\"h-4 w-4\" />\n <Lumeo.Text Class=\"text-sm font-semibold\">@group.Key</Lumeo.Text>\n <Badge Variant=\"Badge.BadgeVariant.Secondary\">@group.Count()</Badge>\n </div>\n <!-- Task rows -->\n @foreach (var t in group) {\n <div class=\"group flex items-center gap-3 px-4 py-2.5 border-b hover:bg-accent/30 transition-colors cursor-pointer\">\n <Checkbox Class=\"opacity-0 group-hover:opacity-100\" />\n <DynamicIcon Name=\"@PriorityIcon(t.Priority)\" Class=\"@PriorityColor(t.Priority)\" />\n <Lumeo.Text Class=\"text-xs text-muted-foreground font-mono w-16\">@t.Id</Lumeo.Text>\n <Lumeo.Text Class=\"flex-1 text-sm font-medium truncate\">@t.Title</Lumeo.Text>\n @foreach (var label in t.Labels.Take(3)) { <Badge Variant=\"Badge.BadgeVariant.Secondary\">@label</Badge> }\n <Avatar Size=\"Lumeo.Size.Sm\"><AvatarFallback>@t.AssigneeInitials</AvatarFallback></Avatar>\n <Lumeo.Text Class=\"text-xs text-muted-foreground\">@t.DueDate.ToString(\"MMM d\")</Lumeo.Text>\n </div>\n }\n }\n </div>\n </div>\n\n <!-- Bulk action bar (shown when _selectedTasks.Count > 0) -->\n @if (_selectedTasks.Count > 0) {\n <div class=\"flex items-center gap-3 px-4 py-3 border-t border-border/40 bg-accent/20\">\n <Lumeo.Text Class=\"text-sm font-medium\">@_selectedTasks.Count selected</Lumeo.Text>\n <Button Variant=\"Button.ButtonVariant.Outline\" Size=\"Button.ButtonSize.Sm\" @onclick=\"@(() => _selectedTasks.Clear())\">Deselect</Button>\n <Button Variant=\"Button.ButtonVariant.Outline\" Size=\"Button.ButtonSize.Sm\">Assign to</Button>\n <Button Variant=\"Button.ButtonVariant.Outline\" Size=\"Button.ButtonSize.Sm\">Set priority</Button>\n <Button Variant=\"Button.ButtonVariant.Ghost\" Size=\"Button.ButtonSize.Sm\" Class=\"text-destructive ml-auto\">Delete</Button>\n </div>\n }\n</div>"
|
|
423
423
|
}
|
|
424
424
|
]
|
|
425
425
|
}
|
|
@@ -561,7 +561,7 @@
|
|
|
561
561
|
"name": "ForceMount",
|
|
562
562
|
"type": "bool",
|
|
563
563
|
"default": null,
|
|
564
|
-
"description": "
|
|
564
|
+
"description": "Preserved for API compatibility only — Accordion content is now always mounted to allow the grid-rows close animation to run on collapse, so this flag is effectively a no-op. Children always live in the DOM whether the panel is open or closed.",
|
|
565
565
|
"isCascading": false,
|
|
566
566
|
"captureUnmatched": false
|
|
567
567
|
},
|
|
@@ -992,8 +992,8 @@
|
|
|
992
992
|
},
|
|
993
993
|
{
|
|
994
994
|
"name": "Size",
|
|
995
|
-
"type": "
|
|
996
|
-
"default": "
|
|
995
|
+
"type": "Lumeo.Size",
|
|
996
|
+
"default": "Lumeo.Size.Md",
|
|
997
997
|
"description": null,
|
|
998
998
|
"isCascading": false,
|
|
999
999
|
"captureUnmatched": false
|
|
@@ -1089,15 +1089,6 @@
|
|
|
1089
1089
|
"Info"
|
|
1090
1090
|
],
|
|
1091
1091
|
"description": null
|
|
1092
|
-
},
|
|
1093
|
-
{
|
|
1094
|
-
"name": "AlertSize",
|
|
1095
|
-
"values": [
|
|
1096
|
-
"Small",
|
|
1097
|
-
"Medium",
|
|
1098
|
-
"Large"
|
|
1099
|
-
],
|
|
1100
|
-
"description": null
|
|
1101
1092
|
}
|
|
1102
1093
|
],
|
|
1103
1094
|
"records": [],
|
|
@@ -1177,6 +1168,14 @@
|
|
|
1177
1168
|
"isCascading": false,
|
|
1178
1169
|
"captureUnmatched": false
|
|
1179
1170
|
},
|
|
1171
|
+
{
|
|
1172
|
+
"name": "OnBeforeClose",
|
|
1173
|
+
"type": "EventCallback<DismissEventArgs>",
|
|
1174
|
+
"default": null,
|
|
1175
|
+
"description": "Fires before any user-initiated dismiss (Escape key, the Cancel button, or the Action button). Set Cancel to true to abort. The Reason tells you which path fired (\"escape\", \"cancel\", \"action\").",
|
|
1176
|
+
"isCascading": false,
|
|
1177
|
+
"captureUnmatched": false
|
|
1178
|
+
},
|
|
1180
1179
|
{
|
|
1181
1180
|
"name": "IsOpen",
|
|
1182
1181
|
"type": "bool",
|
|
@@ -1200,6 +1199,11 @@
|
|
|
1200
1199
|
"type": "EventCallback<bool>",
|
|
1201
1200
|
"description": null
|
|
1202
1201
|
},
|
|
1202
|
+
{
|
|
1203
|
+
"name": "OnBeforeClose",
|
|
1204
|
+
"type": "EventCallback<DismissEventArgs>",
|
|
1205
|
+
"description": "Fires before any user-initiated dismiss (Escape key, the Cancel button, or the Action button). Set Cancel to true to abort. The Reason tells you which path fired (\"escape\", \"cancel\", \"action\")."
|
|
1206
|
+
},
|
|
1203
1207
|
{
|
|
1204
1208
|
"name": "IsOpenChanged",
|
|
1205
1209
|
"type": "EventCallback<bool>",
|
|
@@ -1210,7 +1214,7 @@
|
|
|
1210
1214
|
"records": [
|
|
1211
1215
|
{
|
|
1212
1216
|
"name": "AlertDialogContext",
|
|
1213
|
-
"signature": "AlertDialogContext(bool IsOpen, EventCallback<bool> SetOpen, string TitleId, string DescriptionId)",
|
|
1217
|
+
"signature": "AlertDialogContext(bool IsOpen, EventCallback<bool> SetOpen, string TitleId, string DescriptionId, Func<string, Task<bool>> TryDismiss)",
|
|
1214
1218
|
"description": null
|
|
1215
1219
|
}
|
|
1216
1220
|
],
|
|
@@ -1391,6 +1395,14 @@
|
|
|
1391
1395
|
"isCascading": false,
|
|
1392
1396
|
"captureUnmatched": false
|
|
1393
1397
|
},
|
|
1398
|
+
{
|
|
1399
|
+
"name": "ZIndex",
|
|
1400
|
+
"type": "int",
|
|
1401
|
+
"default": "OverlayService.BaseZIndex",
|
|
1402
|
+
"description": "Backdrop z-index. Content sits at ZIndex + 1. Defaults to BaseZIndex; OverlayProvider supplies an incrementing value per nested overlay.",
|
|
1403
|
+
"isCascading": false,
|
|
1404
|
+
"captureUnmatched": false
|
|
1405
|
+
},
|
|
1394
1406
|
{
|
|
1395
1407
|
"name": "AdditionalAttributes",
|
|
1396
1408
|
"type": "Dictionary<string, object>?",
|
|
@@ -1987,9 +1999,9 @@
|
|
|
1987
1999
|
},
|
|
1988
2000
|
{
|
|
1989
2001
|
"name": "Size",
|
|
1990
|
-
"type": "
|
|
1991
|
-
"default": "
|
|
1992
|
-
"description":
|
|
2002
|
+
"type": "Lumeo.Size",
|
|
2003
|
+
"default": "Lumeo.Size.Md",
|
|
2004
|
+
"description": "Avatar size. Supported values: Sm, Md (default), Lg, Xl. Other values fall through to Md.",
|
|
1993
2005
|
"isCascading": false,
|
|
1994
2006
|
"captureUnmatched": false
|
|
1995
2007
|
},
|
|
@@ -2028,15 +2040,6 @@
|
|
|
2028
2040
|
],
|
|
2029
2041
|
"events": [],
|
|
2030
2042
|
"enums": [
|
|
2031
|
-
{
|
|
2032
|
-
"name": "AvatarSize",
|
|
2033
|
-
"values": [
|
|
2034
|
-
"Sm",
|
|
2035
|
-
"Default",
|
|
2036
|
-
"Lg"
|
|
2037
|
-
],
|
|
2038
|
-
"description": null
|
|
2039
|
-
},
|
|
2040
2043
|
{
|
|
2041
2044
|
"name": "AvatarShape",
|
|
2042
2045
|
"values": [
|
|
@@ -2075,7 +2078,7 @@
|
|
|
2075
2078
|
},
|
|
2076
2079
|
{
|
|
2077
2080
|
"title": "Sizes",
|
|
2078
|
-
"code": "<Avatar Size=\"
|
|
2081
|
+
"code": "<Avatar Size=\"Lumeo.Size.Sm\">\n <AvatarImage Src=\"...\" Alt=\"Small\" />\n <AvatarFallback>SM</AvatarFallback>\n</Avatar>\n<Avatar Size=\"Lumeo.Size.Lg\">\n <AvatarImage Src=\"...\" Alt=\"Large\" />\n <AvatarFallback>LG</AvatarFallback>\n</Avatar>"
|
|
2079
2082
|
},
|
|
2080
2083
|
{
|
|
2081
2084
|
"title": "Group",
|
|
@@ -3066,15 +3069,15 @@
|
|
|
3066
3069
|
"examples": [
|
|
3067
3070
|
{
|
|
3068
3071
|
"title": "Basic",
|
|
3069
|
-
"code": "<BottomNav>\n <BottomNavItem Href=\"/\" Label=\"Home\">\n <IconContent><Icon Name=\"House\" Size=\"
|
|
3072
|
+
"code": "<BottomNav>\n <BottomNavItem Href=\"/\" Label=\"Home\">\n <IconContent><Icon Name=\"House\" Size=\"Lumeo.Size.Sm\" /></IconContent>\n </BottomNavItem>\n <BottomNavItem Href=\"/search\" Label=\"Search\">\n <IconContent><Icon Name=\"Search\" Size=\"Lumeo.Size.Sm\" /></IconContent>\n </BottomNavItem>\n <BottomNavItem Href=\"/inbox\" Label=\"Inbox\">\n <IconContent><Icon Name=\"Inbox\" Size=\"Lumeo.Size.Sm\" /></IconContent>\n </BottomNavItem>\n <BottomNavItem Href=\"/profile\" Label=\"Profile\">\n <IconContent><Icon Name=\"User\" Size=\"Lumeo.Size.Sm\" /></IconContent>\n </BottomNavItem>\n</BottomNav>"
|
|
3070
3073
|
},
|
|
3071
3074
|
{
|
|
3072
3075
|
"title": "With Badges",
|
|
3073
|
-
"code": "<BottomNavItem Href=\"/chat\" Label=\"Chat\">\n <IconContent><Icon Name=\"MessageCircle\" Size=\"
|
|
3076
|
+
"code": "<BottomNavItem Href=\"/chat\" Label=\"Chat\">\n <IconContent><Icon Name=\"MessageCircle\" Size=\"Lumeo.Size.Sm\" /></IconContent>\n <Badge>3</Badge>\n</BottomNavItem>"
|
|
3074
3077
|
},
|
|
3075
3078
|
{
|
|
3076
3079
|
"title": "With Center FAB",
|
|
3077
|
-
"code": "<BottomNav>\n <BottomNavItem Href=\"/\" Label=\"Home\" />\n <BottomNavItem Href=\"/search\" Label=\"Search\" />\n\n <BottomNavFab AriaLabel=\"Create\" OnClick=\"HandleCreate\">\n <Icon Name=\"Plus\" Size=\"
|
|
3080
|
+
"code": "<BottomNav>\n <BottomNavItem Href=\"/\" Label=\"Home\" />\n <BottomNavItem Href=\"/search\" Label=\"Search\" />\n\n <BottomNavFab AriaLabel=\"Create\" OnClick=\"HandleCreate\">\n <Icon Name=\"Plus\" Size=\"Lumeo.Size.Md\" />\n </BottomNavFab>\n\n <BottomNavItem Href=\"/inbox\" Label=\"Inbox\" />\n <BottomNavItem Href=\"/profile\" Label=\"Profile\" />\n</BottomNav>"
|
|
3078
3081
|
},
|
|
3079
3082
|
{
|
|
3080
3083
|
"title": "Animated Transitions",
|
|
@@ -3825,8 +3828,8 @@
|
|
|
3825
3828
|
},
|
|
3826
3829
|
{
|
|
3827
3830
|
"name": "Orientation",
|
|
3828
|
-
"type": "
|
|
3829
|
-
"default": "
|
|
3831
|
+
"type": "Lumeo.Orientation",
|
|
3832
|
+
"default": "Lumeo.Orientation.Horizontal",
|
|
3830
3833
|
"description": null,
|
|
3831
3834
|
"isCascading": false,
|
|
3832
3835
|
"captureUnmatched": false
|
|
@@ -3841,16 +3844,7 @@
|
|
|
3841
3844
|
}
|
|
3842
3845
|
],
|
|
3843
3846
|
"events": [],
|
|
3844
|
-
"enums": [
|
|
3845
|
-
{
|
|
3846
|
-
"name": "ButtonGroupOrientation",
|
|
3847
|
-
"values": [
|
|
3848
|
-
"Horizontal",
|
|
3849
|
-
"Vertical"
|
|
3850
|
-
],
|
|
3851
|
-
"description": null
|
|
3852
|
-
}
|
|
3853
|
-
],
|
|
3847
|
+
"enums": [],
|
|
3854
3848
|
"records": [],
|
|
3855
3849
|
"cssVars": [
|
|
3856
3850
|
"--radius"
|
|
@@ -3862,7 +3856,7 @@
|
|
|
3862
3856
|
},
|
|
3863
3857
|
{
|
|
3864
3858
|
"title": "Vertical",
|
|
3865
|
-
"code": "<ButtonGroup Orientation=\"
|
|
3859
|
+
"code": "<ButtonGroup Orientation=\"Lumeo.Orientation.Vertical\">\n <Button Variant=\"Button.ButtonVariant.Outline\">Top</Button>\n <Button Variant=\"Button.ButtonVariant.Outline\">Middle</Button>\n <Button Variant=\"Button.ButtonVariant.Outline\">Bottom</Button>\n</ButtonGroup>"
|
|
3866
3860
|
},
|
|
3867
3861
|
{
|
|
3868
3862
|
"title": "Mixed Variants",
|
|
@@ -4344,8 +4338,8 @@
|
|
|
4344
4338
|
"parameters": [
|
|
4345
4339
|
{
|
|
4346
4340
|
"name": "Orientation",
|
|
4347
|
-
"type": "
|
|
4348
|
-
"default": "
|
|
4341
|
+
"type": "Lumeo.Orientation",
|
|
4342
|
+
"default": "Lumeo.Orientation.Horizontal",
|
|
4349
4343
|
"description": null,
|
|
4350
4344
|
"isCascading": false,
|
|
4351
4345
|
"captureUnmatched": false
|
|
@@ -4392,20 +4386,11 @@
|
|
|
4392
4386
|
}
|
|
4393
4387
|
],
|
|
4394
4388
|
"events": [],
|
|
4395
|
-
"enums": [
|
|
4396
|
-
{
|
|
4397
|
-
"name": "CarouselOrientation",
|
|
4398
|
-
"values": [
|
|
4399
|
-
"Horizontal",
|
|
4400
|
-
"Vertical"
|
|
4401
|
-
],
|
|
4402
|
-
"description": null
|
|
4403
|
-
}
|
|
4404
|
-
],
|
|
4389
|
+
"enums": [],
|
|
4405
4390
|
"records": [
|
|
4406
4391
|
{
|
|
4407
4392
|
"name": "CarouselContext",
|
|
4408
|
-
"signature": "CarouselContext(\n string ContentId,\n
|
|
4393
|
+
"signature": "CarouselContext(\n string ContentId,\n Lumeo.Orientation Orientation,\n bool CanScrollPrev,\n bool CanScrollNext,\n EventCallback ScrollPrev,\n EventCallback ScrollNext\n )",
|
|
4409
4394
|
"description": null
|
|
4410
4395
|
}
|
|
4411
4396
|
],
|
|
@@ -4427,7 +4412,7 @@
|
|
|
4427
4412
|
},
|
|
4428
4413
|
{
|
|
4429
4414
|
"title": "Orientation — interactive",
|
|
4430
|
-
"code": "<Segmented @bind-Value=\"_orientationSel\" Options=\"_orientationOptions\" />\n<Carousel Orientation=\"@(Enum.Parse<
|
|
4415
|
+
"code": "<Segmented @bind-Value=\"_orientationSel\" Options=\"_orientationOptions\" />\n<Carousel Orientation=\"@(Enum.Parse<Lumeo.Orientation>(_orientationSel))\">\n <CarouselContent>\n @for (var i = 1; i <= 4; i++) {\n var index = i;\n <CarouselItem>\n <Card>\n <CardContent Class=\"flex aspect-square items-center justify-center p-6\">\n <span class=\"text-4xl font-semibold\">@index</span>\n </CardContent>\n </Card>\n </CarouselItem>\n }\n </CarouselContent>\n <CarouselPrevious />\n <CarouselNext />\n</Carousel>\n\n@code {\n private string _orientationSel = \"Horizontal\";\n private List<Segmented.SegmentedOption> _orientationOptions = new()\n {\n new() { Label = \"Horizontal\", Value = \"Horizontal\" },\n new() { Label = \"Vertical\", Value = \"Vertical\" },\n };\n}"
|
|
4431
4416
|
},
|
|
4432
4417
|
{
|
|
4433
4418
|
"title": "Product Gallery",
|
|
@@ -12752,8 +12737,8 @@
|
|
|
12752
12737
|
},
|
|
12753
12738
|
{
|
|
12754
12739
|
"name": "Size",
|
|
12755
|
-
"type": "
|
|
12756
|
-
"default": "
|
|
12740
|
+
"type": "Lumeo.Size",
|
|
12741
|
+
"default": "Lumeo.Size.Md",
|
|
12757
12742
|
"description": null,
|
|
12758
12743
|
"isCascading": false,
|
|
12759
12744
|
"captureUnmatched": false
|
|
@@ -12860,15 +12845,6 @@
|
|
|
12860
12845
|
"Solid"
|
|
12861
12846
|
],
|
|
12862
12847
|
"description": null
|
|
12863
|
-
},
|
|
12864
|
-
{
|
|
12865
|
-
"name": "ChipSize",
|
|
12866
|
-
"values": [
|
|
12867
|
-
"Sm",
|
|
12868
|
-
"Default",
|
|
12869
|
-
"Lg"
|
|
12870
|
-
],
|
|
12871
|
-
"description": null
|
|
12872
12848
|
}
|
|
12873
12849
|
],
|
|
12874
12850
|
"records": [],
|
|
@@ -12891,7 +12867,7 @@
|
|
|
12891
12867
|
},
|
|
12892
12868
|
{
|
|
12893
12869
|
"title": "Sizes",
|
|
12894
|
-
"code": "<Flex Class=\"items-center gap-2\">\n <Chip Size=\"
|
|
12870
|
+
"code": "<Flex Class=\"items-center gap-2\">\n <Chip Size=\"Lumeo.Size.Sm\">Small</Chip>\n <Chip>Default</Chip>\n <Chip Size=\"Lumeo.Size.Lg\">Large</Chip>\n</Flex>"
|
|
12895
12871
|
},
|
|
12896
12872
|
{
|
|
12897
12873
|
"title": "Closable",
|
|
@@ -13013,7 +12989,7 @@
|
|
|
13013
12989
|
},
|
|
13014
12990
|
{
|
|
13015
12991
|
"title": "Block",
|
|
13016
|
-
"code": "<Code Variant=\"block\">dotnet add package Lumeo --version 2.2.
|
|
12992
|
+
"code": "<Code Variant=\"block\">dotnet add package Lumeo --version 2.2.3</Code>"
|
|
13017
12993
|
},
|
|
13018
12994
|
{
|
|
13019
12995
|
"title": "Custom Size",
|
|
@@ -13166,7 +13142,7 @@
|
|
|
13166
13142
|
"name": "ForceMount",
|
|
13167
13143
|
"type": "bool",
|
|
13168
13144
|
"default": null,
|
|
13169
|
-
"description": "
|
|
13145
|
+
"description": "Preserved for API compatibility only — Collapsible content is now always mounted so the grid-rows close animation can run on collapse, so this flag is effectively a no-op. Children always live in the DOM whether the collapsible is open or closed.",
|
|
13170
13146
|
"isCascading": false,
|
|
13171
13147
|
"captureUnmatched": false
|
|
13172
13148
|
},
|
|
@@ -14827,6 +14803,9 @@
|
|
|
14827
14803
|
"UI/ContextMenu/ContextMenuRadioGroup.razor",
|
|
14828
14804
|
"UI/ContextMenu/ContextMenuRadioItem.razor",
|
|
14829
14805
|
"UI/ContextMenu/ContextMenuSeparator.razor",
|
|
14806
|
+
"UI/ContextMenu/ContextMenuSub.razor",
|
|
14807
|
+
"UI/ContextMenu/ContextMenuSubContent.razor",
|
|
14808
|
+
"UI/ContextMenu/ContextMenuSubTrigger.razor",
|
|
14830
14809
|
"UI/ContextMenu/ContextMenuTrigger.razor"
|
|
14831
14810
|
],
|
|
14832
14811
|
"namespace": "Lumeo",
|
|
@@ -14922,6 +14901,10 @@
|
|
|
14922
14901
|
{
|
|
14923
14902
|
"title": "File Actions",
|
|
14924
14903
|
"code": "<ContextMenu>\n <ContextMenuTrigger>\n <div class=\"flex h-[150px] w-[300px] items-center justify-center rounded-md border border-dashed\">\n <div class=\"text-center\">\n <div class=\"text-sm font-medium\">document.pdf</div>\n <div class=\"text-xs text-muted-foreground mt-1\">Right click for options</div>\n </div>\n </div>\n </ContextMenuTrigger>\n <ContextMenuContent>\n <ContextMenuItem>Open</ContextMenuItem>\n <ContextMenuItem>Duplicate</ContextMenuItem>\n <ContextMenuSeparator />\n <ContextMenuItem>Move to...</ContextMenuItem>\n <ContextMenuSeparator />\n <ContextMenuItem>Add to Favorites</ContextMenuItem>\n <ContextMenuSeparator />\n <ContextMenuItem>Delete</ContextMenuItem>\n </ContextMenuContent>\n</ContextMenu>"
|
|
14904
|
+
},
|
|
14905
|
+
{
|
|
14906
|
+
"title": "Submenus",
|
|
14907
|
+
"code": "<ContextMenu>\n <ContextMenuTrigger>\n <div class=\"rounded border border-dashed p-10 text-center\">Right-click</div>\n </ContextMenuTrigger>\n <ContextMenuContent>\n <ContextMenuItem>Copy</ContextMenuItem>\n\n <ContextMenuSub>\n <ContextMenuSubTrigger>Share</ContextMenuSubTrigger>\n <ContextMenuSubContent>\n <ContextMenuItem>Email</ContextMenuItem>\n <ContextMenuItem>Link</ContextMenuItem>\n\n <ContextMenuSub>\n <ContextMenuSubTrigger>Export as…</ContextMenuSubTrigger>\n <ContextMenuSubContent>\n <ContextMenuItem>PDF</ContextMenuItem>\n <ContextMenuItem>PNG</ContextMenuItem>\n </ContextMenuSubContent>\n </ContextMenuSub>\n </ContextMenuSubContent>\n </ContextMenuSub>\n\n <ContextMenuSeparator />\n <ContextMenuItem>Delete</ContextMenuItem>\n </ContextMenuContent>\n</ContextMenu>"
|
|
14925
14908
|
}
|
|
14926
14909
|
],
|
|
14927
14910
|
"subComponents": {
|
|
@@ -15319,6 +15302,160 @@
|
|
|
15319
15302
|
"parseFailed": false,
|
|
15320
15303
|
"parseError": null
|
|
15321
15304
|
},
|
|
15305
|
+
"ContextMenuSub": {
|
|
15306
|
+
"componentName": "ContextMenuSub",
|
|
15307
|
+
"fileName": "ContextMenuSub.razor",
|
|
15308
|
+
"namespace": "Lumeo",
|
|
15309
|
+
"inheritsFrom": null,
|
|
15310
|
+
"implements": [],
|
|
15311
|
+
"parameters": [
|
|
15312
|
+
{
|
|
15313
|
+
"name": "RootContext",
|
|
15314
|
+
"type": "ContextMenu.ContextMenuContext?",
|
|
15315
|
+
"default": null,
|
|
15316
|
+
"description": null,
|
|
15317
|
+
"isCascading": true,
|
|
15318
|
+
"captureUnmatched": false
|
|
15319
|
+
},
|
|
15320
|
+
{
|
|
15321
|
+
"name": "ParentSubContext",
|
|
15322
|
+
"type": "ContextMenuSubContext?",
|
|
15323
|
+
"default": null,
|
|
15324
|
+
"description": null,
|
|
15325
|
+
"isCascading": true,
|
|
15326
|
+
"captureUnmatched": false
|
|
15327
|
+
},
|
|
15328
|
+
{
|
|
15329
|
+
"name": "ChildContent",
|
|
15330
|
+
"type": "RenderFragment?",
|
|
15331
|
+
"default": null,
|
|
15332
|
+
"description": null,
|
|
15333
|
+
"isCascading": false,
|
|
15334
|
+
"captureUnmatched": false
|
|
15335
|
+
},
|
|
15336
|
+
{
|
|
15337
|
+
"name": "AdditionalAttributes",
|
|
15338
|
+
"type": "Dictionary<string, object>?",
|
|
15339
|
+
"default": null,
|
|
15340
|
+
"description": null,
|
|
15341
|
+
"isCascading": false,
|
|
15342
|
+
"captureUnmatched": true
|
|
15343
|
+
}
|
|
15344
|
+
],
|
|
15345
|
+
"events": [],
|
|
15346
|
+
"enums": [],
|
|
15347
|
+
"records": [
|
|
15348
|
+
{
|
|
15349
|
+
"name": "ContextMenuSubContext",
|
|
15350
|
+
"signature": "ContextMenuSubContext(\n bool IsOpen,\n EventCallback<bool> SetOpen,\n string WrapperId,\n string TriggerId,\n string ContentId,\n EventCallback CloseTree,\n Action ScheduleClose,\n Action CancelClose)",
|
|
15351
|
+
"description": null
|
|
15352
|
+
}
|
|
15353
|
+
],
|
|
15354
|
+
"parseFailed": false,
|
|
15355
|
+
"parseError": null
|
|
15356
|
+
},
|
|
15357
|
+
"ContextMenuSubContent": {
|
|
15358
|
+
"componentName": "ContextMenuSubContent",
|
|
15359
|
+
"fileName": "ContextMenuSubContent.razor",
|
|
15360
|
+
"namespace": "Lumeo",
|
|
15361
|
+
"inheritsFrom": null,
|
|
15362
|
+
"implements": [
|
|
15363
|
+
"IAsyncDisposable"
|
|
15364
|
+
],
|
|
15365
|
+
"parameters": [
|
|
15366
|
+
{
|
|
15367
|
+
"name": "SubContext",
|
|
15368
|
+
"type": "ContextMenuSub.ContextMenuSubContext",
|
|
15369
|
+
"default": "default!",
|
|
15370
|
+
"description": null,
|
|
15371
|
+
"isCascading": true,
|
|
15372
|
+
"captureUnmatched": false
|
|
15373
|
+
},
|
|
15374
|
+
{
|
|
15375
|
+
"name": "ChildContent",
|
|
15376
|
+
"type": "RenderFragment?",
|
|
15377
|
+
"default": null,
|
|
15378
|
+
"description": null,
|
|
15379
|
+
"isCascading": false,
|
|
15380
|
+
"captureUnmatched": false
|
|
15381
|
+
},
|
|
15382
|
+
{
|
|
15383
|
+
"name": "Class",
|
|
15384
|
+
"type": "string?",
|
|
15385
|
+
"default": null,
|
|
15386
|
+
"description": null,
|
|
15387
|
+
"isCascading": false,
|
|
15388
|
+
"captureUnmatched": false
|
|
15389
|
+
},
|
|
15390
|
+
{
|
|
15391
|
+
"name": "AdditionalAttributes",
|
|
15392
|
+
"type": "Dictionary<string, object>?",
|
|
15393
|
+
"default": null,
|
|
15394
|
+
"description": null,
|
|
15395
|
+
"isCascading": false,
|
|
15396
|
+
"captureUnmatched": true
|
|
15397
|
+
}
|
|
15398
|
+
],
|
|
15399
|
+
"events": [],
|
|
15400
|
+
"enums": [],
|
|
15401
|
+
"records": [],
|
|
15402
|
+
"parseFailed": false,
|
|
15403
|
+
"parseError": null
|
|
15404
|
+
},
|
|
15405
|
+
"ContextMenuSubTrigger": {
|
|
15406
|
+
"componentName": "ContextMenuSubTrigger",
|
|
15407
|
+
"fileName": "ContextMenuSubTrigger.razor",
|
|
15408
|
+
"namespace": "Lumeo",
|
|
15409
|
+
"inheritsFrom": null,
|
|
15410
|
+
"implements": [],
|
|
15411
|
+
"parameters": [
|
|
15412
|
+
{
|
|
15413
|
+
"name": "SubContext",
|
|
15414
|
+
"type": "ContextMenuSub.ContextMenuSubContext",
|
|
15415
|
+
"default": "default!",
|
|
15416
|
+
"description": null,
|
|
15417
|
+
"isCascading": true,
|
|
15418
|
+
"captureUnmatched": false
|
|
15419
|
+
},
|
|
15420
|
+
{
|
|
15421
|
+
"name": "ChildContent",
|
|
15422
|
+
"type": "RenderFragment?",
|
|
15423
|
+
"default": null,
|
|
15424
|
+
"description": null,
|
|
15425
|
+
"isCascading": false,
|
|
15426
|
+
"captureUnmatched": false
|
|
15427
|
+
},
|
|
15428
|
+
{
|
|
15429
|
+
"name": "Disabled",
|
|
15430
|
+
"type": "bool",
|
|
15431
|
+
"default": null,
|
|
15432
|
+
"description": null,
|
|
15433
|
+
"isCascading": false,
|
|
15434
|
+
"captureUnmatched": false
|
|
15435
|
+
},
|
|
15436
|
+
{
|
|
15437
|
+
"name": "Class",
|
|
15438
|
+
"type": "string?",
|
|
15439
|
+
"default": null,
|
|
15440
|
+
"description": null,
|
|
15441
|
+
"isCascading": false,
|
|
15442
|
+
"captureUnmatched": false
|
|
15443
|
+
},
|
|
15444
|
+
{
|
|
15445
|
+
"name": "AdditionalAttributes",
|
|
15446
|
+
"type": "Dictionary<string, object>?",
|
|
15447
|
+
"default": null,
|
|
15448
|
+
"description": null,
|
|
15449
|
+
"isCascading": false,
|
|
15450
|
+
"captureUnmatched": true
|
|
15451
|
+
}
|
|
15452
|
+
],
|
|
15453
|
+
"events": [],
|
|
15454
|
+
"enums": [],
|
|
15455
|
+
"records": [],
|
|
15456
|
+
"parseFailed": false,
|
|
15457
|
+
"parseError": null
|
|
15458
|
+
},
|
|
15322
15459
|
"ContextMenuTrigger": {
|
|
15323
15460
|
"componentName": "ContextMenuTrigger",
|
|
15324
15461
|
"fileName": "ContextMenuTrigger.razor",
|
|
@@ -18432,6 +18569,22 @@
|
|
|
18432
18569
|
"isCascading": false,
|
|
18433
18570
|
"captureUnmatched": false
|
|
18434
18571
|
},
|
|
18572
|
+
{
|
|
18573
|
+
"name": "AllowKeyboardInput",
|
|
18574
|
+
"type": "bool",
|
|
18575
|
+
"default": "true",
|
|
18576
|
+
"description": "When true (default), the trigger renders as a typeable <input> in the configured Format. On blur / Enter the buffer is parsed via DateOnly.TryParseExact(string, string, IFormatProvider, System.Globalization.DateTimeStyles, out DateOnly) (with a fallback to DateOnly.TryParse(string, IFormatProvider, System.Globalization.DateTimeStyles, out DateOnly)). On success the value commits via ValueChanged; on failure the buffer reverts and OnParseError fires. Set to false to keep the historic button-only trigger (input readonly). Has no effect for Range, Wheel, Inline, or when a custom TriggerContent is supplied.",
|
|
18577
|
+
"isCascading": false,
|
|
18578
|
+
"captureUnmatched": false
|
|
18579
|
+
},
|
|
18580
|
+
{
|
|
18581
|
+
"name": "OnParseError",
|
|
18582
|
+
"type": "EventCallback<string>",
|
|
18583
|
+
"default": null,
|
|
18584
|
+
"description": "Fires when keyboard input cannot be parsed against the active Format (or culture short pattern). The argument is the offending raw buffer.",
|
|
18585
|
+
"isCascading": false,
|
|
18586
|
+
"captureUnmatched": false
|
|
18587
|
+
},
|
|
18435
18588
|
{
|
|
18436
18589
|
"name": "Inline",
|
|
18437
18590
|
"type": "bool",
|
|
@@ -18515,6 +18668,11 @@
|
|
|
18515
18668
|
"type": "EventCallback<TimeSpan?>",
|
|
18516
18669
|
"description": null
|
|
18517
18670
|
},
|
|
18671
|
+
{
|
|
18672
|
+
"name": "OnParseError",
|
|
18673
|
+
"type": "EventCallback<string>",
|
|
18674
|
+
"description": "Fires when keyboard input cannot be parsed against the active Format (or culture short pattern). The argument is the offending raw buffer."
|
|
18675
|
+
},
|
|
18518
18676
|
{
|
|
18519
18677
|
"name": "OpenChanged",
|
|
18520
18678
|
"type": "EventCallback<bool>",
|
|
@@ -18924,6 +19082,38 @@
|
|
|
18924
19082
|
"isCascading": false,
|
|
18925
19083
|
"captureUnmatched": false
|
|
18926
19084
|
},
|
|
19085
|
+
{
|
|
19086
|
+
"name": "OffsetValue",
|
|
19087
|
+
"type": "DateTimeOffset?",
|
|
19088
|
+
"default": null,
|
|
19089
|
+
"description": "Optional DateTimeOffset binding. When the caller binds this, it takes precedence: writes flow back through OffsetValueChanged with the offset that matches TimeZone at the picked wall-clock time (DST-aware). The plain ValueChanged still fires for back-compat. Recommended over Value when working with multi-zone scenarios.",
|
|
19090
|
+
"isCascading": false,
|
|
19091
|
+
"captureUnmatched": false
|
|
19092
|
+
},
|
|
19093
|
+
{
|
|
19094
|
+
"name": "OffsetValueChanged",
|
|
19095
|
+
"type": "EventCallback<DateTimeOffset?>",
|
|
19096
|
+
"default": null,
|
|
19097
|
+
"description": null,
|
|
19098
|
+
"isCascading": false,
|
|
19099
|
+
"captureUnmatched": false
|
|
19100
|
+
},
|
|
19101
|
+
{
|
|
19102
|
+
"name": "TimeZone",
|
|
19103
|
+
"type": "TimeZoneInfo?",
|
|
19104
|
+
"default": null,
|
|
19105
|
+
"description": "When non-null, all display/edit happens in this zone — the user picks a wall-clock instant in that zone, and the emitted DateTimeOffset carries the matching offset for that instant (DST-aware). When null, the picker behaves exactly as before (local time, no zone indicator).",
|
|
19106
|
+
"isCascading": false,
|
|
19107
|
+
"captureUnmatched": false
|
|
19108
|
+
},
|
|
19109
|
+
{
|
|
19110
|
+
"name": "ShowTimeZoneLabel",
|
|
19111
|
+
"type": "bool",
|
|
19112
|
+
"default": "true",
|
|
19113
|
+
"description": "When true (default) and TimeZone is set, renders a small \"Europe/Berlin (UTC+1)\"-style indicator next to the value.",
|
|
19114
|
+
"isCascading": false,
|
|
19115
|
+
"captureUnmatched": false
|
|
19116
|
+
},
|
|
18927
19117
|
{
|
|
18928
19118
|
"name": "Use24Hour",
|
|
18929
19119
|
"type": "bool",
|
|
@@ -19034,6 +19224,11 @@
|
|
|
19034
19224
|
"name": "ValueChanged",
|
|
19035
19225
|
"type": "EventCallback<DateTime?>",
|
|
19036
19226
|
"description": null
|
|
19227
|
+
},
|
|
19228
|
+
{
|
|
19229
|
+
"name": "OffsetValueChanged",
|
|
19230
|
+
"type": "EventCallback<DateTimeOffset?>",
|
|
19231
|
+
"description": null
|
|
19037
19232
|
}
|
|
19038
19233
|
],
|
|
19039
19234
|
"enums": [],
|
|
@@ -19374,6 +19569,14 @@
|
|
|
19374
19569
|
"isCascading": false,
|
|
19375
19570
|
"captureUnmatched": false
|
|
19376
19571
|
},
|
|
19572
|
+
{
|
|
19573
|
+
"name": "OnBeforeClose",
|
|
19574
|
+
"type": "EventCallback<DismissEventArgs>",
|
|
19575
|
+
"default": null,
|
|
19576
|
+
"description": "Fires before any user-initiated dismiss (Escape, backdrop click, X button, or a DialogClose trigger). Set Cancel to true to abort the dismiss — useful for \"discard unsaved changes?\" guards. Inspect Reason to find out which gesture asked to close.",
|
|
19577
|
+
"isCascading": false,
|
|
19578
|
+
"captureUnmatched": false
|
|
19579
|
+
},
|
|
19377
19580
|
{
|
|
19378
19581
|
"name": "IsOpen",
|
|
19379
19582
|
"type": "bool",
|
|
@@ -19397,6 +19600,11 @@
|
|
|
19397
19600
|
"type": "EventCallback<bool>",
|
|
19398
19601
|
"description": null
|
|
19399
19602
|
},
|
|
19603
|
+
{
|
|
19604
|
+
"name": "OnBeforeClose",
|
|
19605
|
+
"type": "EventCallback<DismissEventArgs>",
|
|
19606
|
+
"description": "Fires before any user-initiated dismiss (Escape, backdrop click, X button, or a DialogClose trigger). Set Cancel to true to abort the dismiss — useful for \"discard unsaved changes?\" guards. Inspect Reason to find out which gesture asked to close."
|
|
19607
|
+
},
|
|
19400
19608
|
{
|
|
19401
19609
|
"name": "IsOpenChanged",
|
|
19402
19610
|
"type": "EventCallback<bool>",
|
|
@@ -19407,7 +19615,7 @@
|
|
|
19407
19615
|
"records": [
|
|
19408
19616
|
{
|
|
19409
19617
|
"name": "DialogContext",
|
|
19410
|
-
"signature": "DialogContext(bool IsOpen, EventCallback<bool> SetOpen, string TitleId, string DescriptionId)",
|
|
19618
|
+
"signature": "DialogContext(bool IsOpen, EventCallback<bool> SetOpen, string TitleId, string DescriptionId, Func<string, Task<bool>> TryDismiss)",
|
|
19411
19619
|
"description": null
|
|
19412
19620
|
}
|
|
19413
19621
|
],
|
|
@@ -19548,6 +19756,14 @@
|
|
|
19548
19756
|
"isCascading": false,
|
|
19549
19757
|
"captureUnmatched": false
|
|
19550
19758
|
},
|
|
19759
|
+
{
|
|
19760
|
+
"name": "ZIndex",
|
|
19761
|
+
"type": "int",
|
|
19762
|
+
"default": "OverlayService.BaseZIndex",
|
|
19763
|
+
"description": "Backdrop z-index. Content sits at ZIndex + 1. Defaults to BaseZIndex; OverlayProvider supplies an incrementing value per nested overlay so a Dialog opened from inside another Dialog stacks above instead of colliding.",
|
|
19764
|
+
"isCascading": false,
|
|
19765
|
+
"captureUnmatched": false
|
|
19766
|
+
},
|
|
19551
19767
|
{
|
|
19552
19768
|
"name": "AdditionalAttributes",
|
|
19553
19769
|
"type": "Dictionary<string, object>?",
|
|
@@ -19921,6 +20137,14 @@
|
|
|
19921
20137
|
"isCascading": false,
|
|
19922
20138
|
"captureUnmatched": false
|
|
19923
20139
|
},
|
|
20140
|
+
{
|
|
20141
|
+
"name": "OnBeforeClose",
|
|
20142
|
+
"type": "EventCallback<DismissEventArgs>",
|
|
20143
|
+
"default": null,
|
|
20144
|
+
"description": "Fires before any user-initiated dismiss (Escape, backdrop click, swipe gesture, or a DrawerClose trigger). Set Cancel to true to abort. The Reason tells you which path fired (\"escape\", \"outside\", \"swipe\", \"close\").",
|
|
20145
|
+
"isCascading": false,
|
|
20146
|
+
"captureUnmatched": false
|
|
20147
|
+
},
|
|
19924
20148
|
{
|
|
19925
20149
|
"name": "IsOpen",
|
|
19926
20150
|
"type": "bool",
|
|
@@ -19944,6 +20168,11 @@
|
|
|
19944
20168
|
"type": "EventCallback<bool>",
|
|
19945
20169
|
"description": null
|
|
19946
20170
|
},
|
|
20171
|
+
{
|
|
20172
|
+
"name": "OnBeforeClose",
|
|
20173
|
+
"type": "EventCallback<DismissEventArgs>",
|
|
20174
|
+
"description": "Fires before any user-initiated dismiss (Escape, backdrop click, swipe gesture, or a DrawerClose trigger). Set Cancel to true to abort. The Reason tells you which path fired (\"escape\", \"outside\", \"swipe\", \"close\")."
|
|
20175
|
+
},
|
|
19947
20176
|
{
|
|
19948
20177
|
"name": "IsOpenChanged",
|
|
19949
20178
|
"type": "EventCallback<bool>",
|
|
@@ -19954,7 +20183,7 @@
|
|
|
19954
20183
|
"records": [
|
|
19955
20184
|
{
|
|
19956
20185
|
"name": "DrawerContext",
|
|
19957
|
-
"signature": "DrawerContext(bool IsOpen, EventCallback<bool> SetOpen, string TitleId, string DescriptionId)",
|
|
20186
|
+
"signature": "DrawerContext(bool IsOpen, EventCallback<bool> SetOpen, string TitleId, string DescriptionId, Func<string, Task<bool>> TryDismiss)",
|
|
19958
20187
|
"description": null
|
|
19959
20188
|
}
|
|
19960
20189
|
],
|
|
@@ -19979,7 +20208,7 @@
|
|
|
19979
20208
|
},
|
|
19980
20209
|
{
|
|
19981
20210
|
"title": "Side — interactive",
|
|
19982
|
-
"code": "<Segmented @bind-Value=\"_drawerSideSel\" Options=\"_drawerSideOptions\" />\n<Drawer @bind-Open=\"_open\">\n <DrawerTrigger>\n <Button Variant=\"Button.ButtonVariant.Outline\">Open Drawer (@_drawerSideSel)</Button>\n </DrawerTrigger>\n <DrawerContent Side=\"@
|
|
20211
|
+
"code": "<Segmented @bind-Value=\"_drawerSideSel\" Options=\"_drawerSideOptions\" />\n<Drawer @bind-Open=\"_open\">\n <DrawerTrigger>\n <Button Variant=\"Button.ButtonVariant.Outline\">Open Drawer (@_drawerSideSel)</Button>\n </DrawerTrigger>\n <DrawerContent Side=\"@_activeSide\">\n <DrawerHeader>\n <DrawerTitle>@_drawerSideSel Drawer</DrawerTitle>\n <DrawerDescription>Slides in from the @_drawerSideSel.ToLower().</DrawerDescription>\n </DrawerHeader>\n <DrawerFooter>\n <DrawerClose><Button Class=\"w-full\">Close</Button></DrawerClose>\n </DrawerFooter>\n </DrawerContent>\n</Drawer>\n\n@code {\n private string _drawerSideSel = \"Bottom\";\n private Lumeo.Side _activeSide => Enum.Parse<Lumeo.Side>(_drawerSideSel);\n private List<Segmented.SegmentedOption> _drawerSideOptions = new()\n {\n new() { Label = \"Top\", Value = \"Top\" },\n new() { Label = \"Right\", Value = \"Right\" },\n new() { Label = \"Bottom\", Value = \"Bottom\" },\n new() { Label = \"Left\", Value = \"Left\" },\n };\n}"
|
|
19983
20212
|
}
|
|
19984
20213
|
],
|
|
19985
20214
|
"subComponents": {
|
|
@@ -20064,8 +20293,8 @@
|
|
|
20064
20293
|
},
|
|
20065
20294
|
{
|
|
20066
20295
|
"name": "Side",
|
|
20067
|
-
"type": "
|
|
20068
|
-
"default": "
|
|
20296
|
+
"type": "Lumeo.Side",
|
|
20297
|
+
"default": "Lumeo.Side.Bottom",
|
|
20069
20298
|
"description": null,
|
|
20070
20299
|
"isCascading": false,
|
|
20071
20300
|
"captureUnmatched": false
|
|
@@ -20094,6 +20323,14 @@
|
|
|
20094
20323
|
"isCascading": false,
|
|
20095
20324
|
"captureUnmatched": false
|
|
20096
20325
|
},
|
|
20326
|
+
{
|
|
20327
|
+
"name": "ZIndex",
|
|
20328
|
+
"type": "int",
|
|
20329
|
+
"default": "OverlayService.BaseZIndex",
|
|
20330
|
+
"description": "Backdrop z-index. Content sits at ZIndex + 1. Defaults to BaseZIndex; OverlayProvider supplies an incrementing value per nested overlay.",
|
|
20331
|
+
"isCascading": false,
|
|
20332
|
+
"captureUnmatched": false
|
|
20333
|
+
},
|
|
20097
20334
|
{
|
|
20098
20335
|
"name": "AdditionalAttributes",
|
|
20099
20336
|
"type": "Dictionary<string, object>?",
|
|
@@ -20105,16 +20342,6 @@
|
|
|
20105
20342
|
],
|
|
20106
20343
|
"events": [],
|
|
20107
20344
|
"enums": [
|
|
20108
|
-
{
|
|
20109
|
-
"name": "DrawerSide",
|
|
20110
|
-
"values": [
|
|
20111
|
-
"Top",
|
|
20112
|
-
"Right",
|
|
20113
|
-
"Bottom",
|
|
20114
|
-
"Left"
|
|
20115
|
-
],
|
|
20116
|
-
"description": null
|
|
20117
|
-
},
|
|
20118
20345
|
{
|
|
20119
20346
|
"name": "DrawerAnimation",
|
|
20120
20347
|
"values": [
|
|
@@ -20469,6 +20696,9 @@
|
|
|
20469
20696
|
"UI/DropdownMenu/DropdownMenuRadioGroup.razor",
|
|
20470
20697
|
"UI/DropdownMenu/DropdownMenuRadioItem.razor",
|
|
20471
20698
|
"UI/DropdownMenu/DropdownMenuSeparator.razor",
|
|
20699
|
+
"UI/DropdownMenu/DropdownMenuSub.razor",
|
|
20700
|
+
"UI/DropdownMenu/DropdownMenuSubContent.razor",
|
|
20701
|
+
"UI/DropdownMenu/DropdownMenuSubTrigger.razor",
|
|
20472
20702
|
"UI/DropdownMenu/DropdownMenuTrigger.razor"
|
|
20473
20703
|
],
|
|
20474
20704
|
"namespace": "Lumeo",
|
|
@@ -20567,7 +20797,7 @@
|
|
|
20567
20797
|
},
|
|
20568
20798
|
{
|
|
20569
20799
|
"title": "Alignment",
|
|
20570
|
-
"code": "<DropdownMenu>\n <DropdownMenuTrigger>\n <Button Variant=\"Button.ButtonVariant.Outline\">Start</Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent Align=\"
|
|
20800
|
+
"code": "<DropdownMenu>\n <DropdownMenuTrigger>\n <Button Variant=\"Button.ButtonVariant.Outline\">Start</Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent Align=\"Lumeo.Align.Start\">\n <DropdownMenuItem>Option 1</DropdownMenuItem>\n <DropdownMenuItem>Option 2</DropdownMenuItem>\n </DropdownMenuContent>\n</DropdownMenu>\n\n<DropdownMenu>\n <DropdownMenuTrigger>\n <Button Variant=\"Button.ButtonVariant.Outline\">End</Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent Align=\"Lumeo.Align.End\">\n <DropdownMenuItem>Option 1</DropdownMenuItem>\n <DropdownMenuItem>Option 2</DropdownMenuItem>\n </DropdownMenuContent>\n</DropdownMenu>"
|
|
20571
20801
|
}
|
|
20572
20802
|
],
|
|
20573
20803
|
"subComponents": {
|
|
@@ -20658,16 +20888,16 @@
|
|
|
20658
20888
|
},
|
|
20659
20889
|
{
|
|
20660
20890
|
"name": "Align",
|
|
20661
|
-
"type": "
|
|
20662
|
-
"default": "
|
|
20891
|
+
"type": "Lumeo.Align",
|
|
20892
|
+
"default": "Lumeo.Align.Start",
|
|
20663
20893
|
"description": null,
|
|
20664
20894
|
"isCascading": false,
|
|
20665
20895
|
"captureUnmatched": false
|
|
20666
20896
|
},
|
|
20667
20897
|
{
|
|
20668
20898
|
"name": "Side",
|
|
20669
|
-
"type": "
|
|
20670
|
-
"default": "
|
|
20899
|
+
"type": "Lumeo.Side",
|
|
20900
|
+
"default": "Lumeo.Side.Bottom",
|
|
20671
20901
|
"description": null,
|
|
20672
20902
|
"isCascading": false,
|
|
20673
20903
|
"captureUnmatched": false
|
|
@@ -20698,27 +20928,7 @@
|
|
|
20698
20928
|
}
|
|
20699
20929
|
],
|
|
20700
20930
|
"events": [],
|
|
20701
|
-
"enums": [
|
|
20702
|
-
{
|
|
20703
|
-
"name": "DropdownMenuAlign",
|
|
20704
|
-
"values": [
|
|
20705
|
-
"Start",
|
|
20706
|
-
"Center",
|
|
20707
|
-
"End"
|
|
20708
|
-
],
|
|
20709
|
-
"description": null
|
|
20710
|
-
},
|
|
20711
|
-
{
|
|
20712
|
-
"name": "DropdownMenuSide",
|
|
20713
|
-
"values": [
|
|
20714
|
-
"Top",
|
|
20715
|
-
"Bottom",
|
|
20716
|
-
"Left",
|
|
20717
|
-
"Right"
|
|
20718
|
-
],
|
|
20719
|
-
"description": null
|
|
20720
|
-
}
|
|
20721
|
-
],
|
|
20931
|
+
"enums": [],
|
|
20722
20932
|
"records": [],
|
|
20723
20933
|
"parseFailed": false,
|
|
20724
20934
|
"parseError": null
|
|
@@ -21017,6 +21227,160 @@
|
|
|
21017
21227
|
"parseFailed": false,
|
|
21018
21228
|
"parseError": null
|
|
21019
21229
|
},
|
|
21230
|
+
"DropdownMenuSub": {
|
|
21231
|
+
"componentName": "DropdownMenuSub",
|
|
21232
|
+
"fileName": "DropdownMenuSub.razor",
|
|
21233
|
+
"namespace": "Lumeo",
|
|
21234
|
+
"inheritsFrom": null,
|
|
21235
|
+
"implements": [],
|
|
21236
|
+
"parameters": [
|
|
21237
|
+
{
|
|
21238
|
+
"name": "RootContext",
|
|
21239
|
+
"type": "DropdownMenu.DropdownMenuContext?",
|
|
21240
|
+
"default": null,
|
|
21241
|
+
"description": null,
|
|
21242
|
+
"isCascading": true,
|
|
21243
|
+
"captureUnmatched": false
|
|
21244
|
+
},
|
|
21245
|
+
{
|
|
21246
|
+
"name": "ParentSubContext",
|
|
21247
|
+
"type": "DropdownMenuSubContext?",
|
|
21248
|
+
"default": null,
|
|
21249
|
+
"description": null,
|
|
21250
|
+
"isCascading": true,
|
|
21251
|
+
"captureUnmatched": false
|
|
21252
|
+
},
|
|
21253
|
+
{
|
|
21254
|
+
"name": "ChildContent",
|
|
21255
|
+
"type": "RenderFragment?",
|
|
21256
|
+
"default": null,
|
|
21257
|
+
"description": null,
|
|
21258
|
+
"isCascading": false,
|
|
21259
|
+
"captureUnmatched": false
|
|
21260
|
+
},
|
|
21261
|
+
{
|
|
21262
|
+
"name": "AdditionalAttributes",
|
|
21263
|
+
"type": "Dictionary<string, object>?",
|
|
21264
|
+
"default": null,
|
|
21265
|
+
"description": null,
|
|
21266
|
+
"isCascading": false,
|
|
21267
|
+
"captureUnmatched": true
|
|
21268
|
+
}
|
|
21269
|
+
],
|
|
21270
|
+
"events": [],
|
|
21271
|
+
"enums": [],
|
|
21272
|
+
"records": [
|
|
21273
|
+
{
|
|
21274
|
+
"name": "DropdownMenuSubContext",
|
|
21275
|
+
"signature": "DropdownMenuSubContext(\n bool IsOpen,\n EventCallback<bool> SetOpen,\n string WrapperId,\n string TriggerId,\n string ContentId,\n EventCallback CloseTree,\n Action ScheduleClose,\n Action CancelClose)",
|
|
21276
|
+
"description": null
|
|
21277
|
+
}
|
|
21278
|
+
],
|
|
21279
|
+
"parseFailed": false,
|
|
21280
|
+
"parseError": null
|
|
21281
|
+
},
|
|
21282
|
+
"DropdownMenuSubContent": {
|
|
21283
|
+
"componentName": "DropdownMenuSubContent",
|
|
21284
|
+
"fileName": "DropdownMenuSubContent.razor",
|
|
21285
|
+
"namespace": "Lumeo",
|
|
21286
|
+
"inheritsFrom": null,
|
|
21287
|
+
"implements": [
|
|
21288
|
+
"IAsyncDisposable"
|
|
21289
|
+
],
|
|
21290
|
+
"parameters": [
|
|
21291
|
+
{
|
|
21292
|
+
"name": "SubContext",
|
|
21293
|
+
"type": "DropdownMenuSub.DropdownMenuSubContext",
|
|
21294
|
+
"default": "default!",
|
|
21295
|
+
"description": null,
|
|
21296
|
+
"isCascading": true,
|
|
21297
|
+
"captureUnmatched": false
|
|
21298
|
+
},
|
|
21299
|
+
{
|
|
21300
|
+
"name": "ChildContent",
|
|
21301
|
+
"type": "RenderFragment?",
|
|
21302
|
+
"default": null,
|
|
21303
|
+
"description": null,
|
|
21304
|
+
"isCascading": false,
|
|
21305
|
+
"captureUnmatched": false
|
|
21306
|
+
},
|
|
21307
|
+
{
|
|
21308
|
+
"name": "Class",
|
|
21309
|
+
"type": "string?",
|
|
21310
|
+
"default": null,
|
|
21311
|
+
"description": null,
|
|
21312
|
+
"isCascading": false,
|
|
21313
|
+
"captureUnmatched": false
|
|
21314
|
+
},
|
|
21315
|
+
{
|
|
21316
|
+
"name": "AdditionalAttributes",
|
|
21317
|
+
"type": "Dictionary<string, object>?",
|
|
21318
|
+
"default": null,
|
|
21319
|
+
"description": null,
|
|
21320
|
+
"isCascading": false,
|
|
21321
|
+
"captureUnmatched": true
|
|
21322
|
+
}
|
|
21323
|
+
],
|
|
21324
|
+
"events": [],
|
|
21325
|
+
"enums": [],
|
|
21326
|
+
"records": [],
|
|
21327
|
+
"parseFailed": false,
|
|
21328
|
+
"parseError": null
|
|
21329
|
+
},
|
|
21330
|
+
"DropdownMenuSubTrigger": {
|
|
21331
|
+
"componentName": "DropdownMenuSubTrigger",
|
|
21332
|
+
"fileName": "DropdownMenuSubTrigger.razor",
|
|
21333
|
+
"namespace": "Lumeo",
|
|
21334
|
+
"inheritsFrom": null,
|
|
21335
|
+
"implements": [],
|
|
21336
|
+
"parameters": [
|
|
21337
|
+
{
|
|
21338
|
+
"name": "SubContext",
|
|
21339
|
+
"type": "DropdownMenuSub.DropdownMenuSubContext",
|
|
21340
|
+
"default": "default!",
|
|
21341
|
+
"description": null,
|
|
21342
|
+
"isCascading": true,
|
|
21343
|
+
"captureUnmatched": false
|
|
21344
|
+
},
|
|
21345
|
+
{
|
|
21346
|
+
"name": "ChildContent",
|
|
21347
|
+
"type": "RenderFragment?",
|
|
21348
|
+
"default": null,
|
|
21349
|
+
"description": null,
|
|
21350
|
+
"isCascading": false,
|
|
21351
|
+
"captureUnmatched": false
|
|
21352
|
+
},
|
|
21353
|
+
{
|
|
21354
|
+
"name": "Disabled",
|
|
21355
|
+
"type": "bool",
|
|
21356
|
+
"default": null,
|
|
21357
|
+
"description": null,
|
|
21358
|
+
"isCascading": false,
|
|
21359
|
+
"captureUnmatched": false
|
|
21360
|
+
},
|
|
21361
|
+
{
|
|
21362
|
+
"name": "Class",
|
|
21363
|
+
"type": "string?",
|
|
21364
|
+
"default": null,
|
|
21365
|
+
"description": null,
|
|
21366
|
+
"isCascading": false,
|
|
21367
|
+
"captureUnmatched": false
|
|
21368
|
+
},
|
|
21369
|
+
{
|
|
21370
|
+
"name": "AdditionalAttributes",
|
|
21371
|
+
"type": "Dictionary<string, object>?",
|
|
21372
|
+
"default": null,
|
|
21373
|
+
"description": null,
|
|
21374
|
+
"isCascading": false,
|
|
21375
|
+
"captureUnmatched": true
|
|
21376
|
+
}
|
|
21377
|
+
],
|
|
21378
|
+
"events": [],
|
|
21379
|
+
"enums": [],
|
|
21380
|
+
"records": [],
|
|
21381
|
+
"parseFailed": false,
|
|
21382
|
+
"parseError": null
|
|
21383
|
+
},
|
|
21020
21384
|
"DropdownMenuTrigger": {
|
|
21021
21385
|
"componentName": "DropdownMenuTrigger",
|
|
21022
21386
|
"fileName": "DropdownMenuTrigger.razor",
|
|
@@ -21486,8 +21850,8 @@
|
|
|
21486
21850
|
},
|
|
21487
21851
|
{
|
|
21488
21852
|
"name": "Size",
|
|
21489
|
-
"type": "
|
|
21490
|
-
"default": "
|
|
21853
|
+
"type": "Lumeo.Size",
|
|
21854
|
+
"default": "Lumeo.Size.Md",
|
|
21491
21855
|
"description": "Size of the trigger when Variant=\"Button\". Mirrors ButtonSize so a button-variant FileUpload can match neighbouring buttons in toolbars or compact forms. Has no visual effect on Dropzone or Avatar variants today.",
|
|
21492
21856
|
"isCascading": false,
|
|
21493
21857
|
"captureUnmatched": false
|
|
@@ -21671,15 +22035,6 @@
|
|
|
21671
22035
|
],
|
|
21672
22036
|
"description": null
|
|
21673
22037
|
},
|
|
21674
|
-
{
|
|
21675
|
-
"name": "FileUploadSize",
|
|
21676
|
-
"values": [
|
|
21677
|
-
"Sm",
|
|
21678
|
-
"Default",
|
|
21679
|
-
"Lg"
|
|
21680
|
-
],
|
|
21681
|
-
"description": null
|
|
21682
|
-
},
|
|
21683
22038
|
{
|
|
21684
22039
|
"name": "FileUploadStatus",
|
|
21685
22040
|
"values": [
|
|
@@ -22146,7 +22501,9 @@
|
|
|
22146
22501
|
"fileName": "FormField.razor",
|
|
22147
22502
|
"namespace": "Lumeo",
|
|
22148
22503
|
"inheritsFrom": null,
|
|
22149
|
-
"implements": [
|
|
22504
|
+
"implements": [
|
|
22505
|
+
"IDisposable"
|
|
22506
|
+
],
|
|
22150
22507
|
"parameters": [
|
|
22151
22508
|
{
|
|
22152
22509
|
"name": "Label",
|
|
@@ -22182,8 +22539,8 @@
|
|
|
22182
22539
|
},
|
|
22183
22540
|
{
|
|
22184
22541
|
"name": "Orientation",
|
|
22185
|
-
"type": "
|
|
22186
|
-
"default": "
|
|
22542
|
+
"type": "Lumeo.Orientation",
|
|
22543
|
+
"default": "Lumeo.Orientation.Vertical",
|
|
22187
22544
|
"description": null,
|
|
22188
22545
|
"isCascading": false,
|
|
22189
22546
|
"captureUnmatched": false
|
|
@@ -22228,6 +22585,46 @@
|
|
|
22228
22585
|
"isCascading": false,
|
|
22229
22586
|
"captureUnmatched": true
|
|
22230
22587
|
},
|
|
22588
|
+
{
|
|
22589
|
+
"name": "AsyncValidator",
|
|
22590
|
+
"type": "Func<object?, Task<string?>>?",
|
|
22591
|
+
"default": null,
|
|
22592
|
+
"description": "Optional async validator. Receives the current Value, returns null when valid or an error message string otherwise. The result is stored in Errors against Name.",
|
|
22593
|
+
"isCascading": false,
|
|
22594
|
+
"captureUnmatched": false
|
|
22595
|
+
},
|
|
22596
|
+
{
|
|
22597
|
+
"name": "AsyncValidationDebounceMs",
|
|
22598
|
+
"type": "int",
|
|
22599
|
+
"default": "0",
|
|
22600
|
+
"description": "Debounce window in ms. 0 disables debouncing.",
|
|
22601
|
+
"isCascading": false,
|
|
22602
|
+
"captureUnmatched": false
|
|
22603
|
+
},
|
|
22604
|
+
{
|
|
22605
|
+
"name": "AsyncValidateOn",
|
|
22606
|
+
"type": "AsyncValidationTrigger",
|
|
22607
|
+
"default": "AsyncValidationTrigger.OnBlur",
|
|
22608
|
+
"description": "When async validation runs. Defaults to OnBlur.",
|
|
22609
|
+
"isCascading": false,
|
|
22610
|
+
"captureUnmatched": false
|
|
22611
|
+
},
|
|
22612
|
+
{
|
|
22613
|
+
"name": "Value",
|
|
22614
|
+
"type": "object?",
|
|
22615
|
+
"default": null,
|
|
22616
|
+
"description": "Current value of the bound input. Required for OnChange auto-triggering; also passed to the validator on blur. If unset, consumers may invoke ValidateAsync(object?) directly.",
|
|
22617
|
+
"isCascading": false,
|
|
22618
|
+
"captureUnmatched": false
|
|
22619
|
+
},
|
|
22620
|
+
{
|
|
22621
|
+
"name": "OnValidatingChanged",
|
|
22622
|
+
"type": "EventCallback<bool>",
|
|
22623
|
+
"default": null,
|
|
22624
|
+
"description": "Fired whenever IsValidating flips.",
|
|
22625
|
+
"isCascading": false,
|
|
22626
|
+
"captureUnmatched": false
|
|
22627
|
+
},
|
|
22231
22628
|
{
|
|
22232
22629
|
"name": "ParentFormContext",
|
|
22233
22630
|
"type": "FormContext?",
|
|
@@ -22237,13 +22634,19 @@
|
|
|
22237
22634
|
"captureUnmatched": false
|
|
22238
22635
|
}
|
|
22239
22636
|
],
|
|
22240
|
-
"events": [
|
|
22637
|
+
"events": [
|
|
22638
|
+
{
|
|
22639
|
+
"name": "OnValidatingChanged",
|
|
22640
|
+
"type": "EventCallback<bool>",
|
|
22641
|
+
"description": "Fired whenever IsValidating flips."
|
|
22642
|
+
}
|
|
22643
|
+
],
|
|
22241
22644
|
"enums": [
|
|
22242
22645
|
{
|
|
22243
|
-
"name": "
|
|
22646
|
+
"name": "AsyncValidationTrigger",
|
|
22244
22647
|
"values": [
|
|
22245
|
-
"
|
|
22246
|
-
"
|
|
22648
|
+
"OnBlur",
|
|
22649
|
+
"OnChange"
|
|
22247
22650
|
],
|
|
22248
22651
|
"description": null
|
|
22249
22652
|
}
|
|
@@ -22251,7 +22654,7 @@
|
|
|
22251
22654
|
"records": [
|
|
22252
22655
|
{
|
|
22253
22656
|
"name": "FormFieldContext",
|
|
22254
|
-
"signature": "FormFieldContext(string? Name, string? Error)",
|
|
22657
|
+
"signature": "FormFieldContext(string? Name, string? Error, bool IsValidating)",
|
|
22255
22658
|
"description": null
|
|
22256
22659
|
}
|
|
22257
22660
|
],
|
|
@@ -23188,7 +23591,7 @@
|
|
|
23188
23591
|
},
|
|
23189
23592
|
{
|
|
23190
23593
|
"title": "Alignment",
|
|
23191
|
-
"code": "<HoverCard>\n <HoverCardTrigger>\n <Button Variant=\"Button.ButtonVariant.Outline\">Start</Button>\n </HoverCardTrigger>\n <HoverCardContent Align=\"
|
|
23594
|
+
"code": "<HoverCard>\n <HoverCardTrigger>\n <Button Variant=\"Button.ButtonVariant.Outline\">Start</Button>\n </HoverCardTrigger>\n <HoverCardContent Align=\"Lumeo.Align.Start\">\n <Lumeo.Text Size=\"sm\">Aligned to start.</Lumeo.Text>\n </HoverCardContent>\n</HoverCard>\n\n<HoverCard>\n <HoverCardTrigger>\n <Button Variant=\"Button.ButtonVariant.Outline\">End</Button>\n </HoverCardTrigger>\n <HoverCardContent Align=\"Lumeo.Align.End\">\n <Lumeo.Text Size=\"sm\">Aligned to end.</Lumeo.Text>\n </HoverCardContent>\n</HoverCard>"
|
|
23192
23595
|
},
|
|
23193
23596
|
{
|
|
23194
23597
|
"title": "With Arrow",
|
|
@@ -23227,16 +23630,16 @@
|
|
|
23227
23630
|
},
|
|
23228
23631
|
{
|
|
23229
23632
|
"name": "Align",
|
|
23230
|
-
"type": "
|
|
23231
|
-
"default": "
|
|
23633
|
+
"type": "Lumeo.Align",
|
|
23634
|
+
"default": "Lumeo.Align.Center",
|
|
23232
23635
|
"description": null,
|
|
23233
23636
|
"isCascading": false,
|
|
23234
23637
|
"captureUnmatched": false
|
|
23235
23638
|
},
|
|
23236
23639
|
{
|
|
23237
23640
|
"name": "Side",
|
|
23238
|
-
"type": "
|
|
23239
|
-
"default": "
|
|
23641
|
+
"type": "Lumeo.Side",
|
|
23642
|
+
"default": "Lumeo.Side.Bottom",
|
|
23240
23643
|
"description": null,
|
|
23241
23644
|
"isCascading": false,
|
|
23242
23645
|
"captureUnmatched": false
|
|
@@ -23267,25 +23670,7 @@
|
|
|
23267
23670
|
}
|
|
23268
23671
|
],
|
|
23269
23672
|
"events": [],
|
|
23270
|
-
"enums": [
|
|
23271
|
-
{
|
|
23272
|
-
"name": "HoverCardAlign",
|
|
23273
|
-
"values": [
|
|
23274
|
-
"Start",
|
|
23275
|
-
"Center",
|
|
23276
|
-
"End"
|
|
23277
|
-
],
|
|
23278
|
-
"description": null
|
|
23279
|
-
},
|
|
23280
|
-
{
|
|
23281
|
-
"name": "HoverCardSide",
|
|
23282
|
-
"values": [
|
|
23283
|
-
"Top",
|
|
23284
|
-
"Bottom"
|
|
23285
|
-
],
|
|
23286
|
-
"description": null
|
|
23287
|
-
}
|
|
23288
|
-
],
|
|
23673
|
+
"enums": [],
|
|
23289
23674
|
"records": [],
|
|
23290
23675
|
"parseFailed": false,
|
|
23291
23676
|
"parseError": null
|
|
@@ -23371,8 +23756,8 @@
|
|
|
23371
23756
|
},
|
|
23372
23757
|
{
|
|
23373
23758
|
"name": "Size",
|
|
23374
|
-
"type": "
|
|
23375
|
-
"default": "
|
|
23759
|
+
"type": "Lumeo.Size",
|
|
23760
|
+
"default": "Lumeo.Size.Md",
|
|
23376
23761
|
"description": "Size preset. Sets Tailwind h-{n} w-{n} on the SVG. Defaults to Md (h-4 w-4).",
|
|
23377
23762
|
"isCascading": false,
|
|
23378
23763
|
"captureUnmatched": false
|
|
@@ -23395,19 +23780,7 @@
|
|
|
23395
23780
|
}
|
|
23396
23781
|
],
|
|
23397
23782
|
"events": [],
|
|
23398
|
-
"enums": [
|
|
23399
|
-
{
|
|
23400
|
-
"name": "IconSize",
|
|
23401
|
-
"values": [
|
|
23402
|
-
"Xs",
|
|
23403
|
-
"Sm",
|
|
23404
|
-
"Md",
|
|
23405
|
-
"Lg",
|
|
23406
|
-
"Xl"
|
|
23407
|
-
],
|
|
23408
|
-
"description": null
|
|
23409
|
-
}
|
|
23410
|
-
],
|
|
23783
|
+
"enums": [],
|
|
23411
23784
|
"records": [],
|
|
23412
23785
|
"cssVars": [
|
|
23413
23786
|
"--color-foreground"
|
|
@@ -23686,8 +24059,8 @@
|
|
|
23686
24059
|
},
|
|
23687
24060
|
{
|
|
23688
24061
|
"name": "Orientation",
|
|
23689
|
-
"type": "
|
|
23690
|
-
"default": "
|
|
24062
|
+
"type": "Lumeo.Orientation",
|
|
24063
|
+
"default": "Lumeo.Orientation.Horizontal",
|
|
23691
24064
|
"description": null,
|
|
23692
24065
|
"isCascading": false,
|
|
23693
24066
|
"captureUnmatched": false
|
|
@@ -23710,16 +24083,7 @@
|
|
|
23710
24083
|
}
|
|
23711
24084
|
],
|
|
23712
24085
|
"events": [],
|
|
23713
|
-
"enums": [
|
|
23714
|
-
{
|
|
23715
|
-
"name": "ImageCompareOrientation",
|
|
23716
|
-
"values": [
|
|
23717
|
-
"Horizontal",
|
|
23718
|
-
"Vertical"
|
|
23719
|
-
],
|
|
23720
|
-
"description": null
|
|
23721
|
-
}
|
|
23722
|
-
],
|
|
24086
|
+
"enums": [],
|
|
23723
24087
|
"records": [],
|
|
23724
24088
|
"cssVars": [
|
|
23725
24089
|
"--color-background",
|
|
@@ -23733,11 +24097,11 @@
|
|
|
23733
24097
|
},
|
|
23734
24098
|
{
|
|
23735
24099
|
"title": "Vertical Comparison",
|
|
23736
|
-
"code": "<ImageCompare BeforeSrc=\"img1.jpg\" AfterSrc=\"img2.jpg\"\n Orientation=\"
|
|
24100
|
+
"code": "<ImageCompare BeforeSrc=\"img1.jpg\" AfterSrc=\"img2.jpg\"\n Orientation=\"Lumeo.Orientation.Vertical\"\n Height=\"320px\" />"
|
|
23737
24101
|
},
|
|
23738
24102
|
{
|
|
23739
24103
|
"title": "Orientation (interactive)",
|
|
23740
|
-
"code": "<Segmented @bind-Value=\"_orientation\">\n <SegmentedItem Value=\"@
|
|
24104
|
+
"code": "<Segmented @bind-Value=\"_orientation\">\n <SegmentedItem Value=\"@Lumeo.Orientation.Horizontal\">Horizontal</SegmentedItem>\n <SegmentedItem Value=\"@Lumeo.Orientation.Vertical\">Vertical</SegmentedItem>\n</Segmented>\n<ImageCompare BeforeSrc=\"before.jpg\" AfterSrc=\"after.jpg\"\n BeforeLabel=\"Before\" AfterLabel=\"After\"\n Orientation=\"@_orientation\" Height=\"280px\" />\n\n@code { private Lumeo.Orientation _orientation = Lumeo.Orientation.Horizontal; }"
|
|
23741
24105
|
},
|
|
23742
24106
|
{
|
|
23743
24107
|
"title": "Custom Initial Position",
|
|
@@ -24064,8 +24428,8 @@
|
|
|
24064
24428
|
},
|
|
24065
24429
|
{
|
|
24066
24430
|
"name": "Size",
|
|
24067
|
-
"type": "
|
|
24068
|
-
"default": "
|
|
24431
|
+
"type": "Lumeo.Size",
|
|
24432
|
+
"default": "Lumeo.Size.Md",
|
|
24069
24433
|
"description": null,
|
|
24070
24434
|
"isCascading": false,
|
|
24071
24435
|
"captureUnmatched": false
|
|
@@ -24168,17 +24532,7 @@
|
|
|
24168
24532
|
"description": null
|
|
24169
24533
|
}
|
|
24170
24534
|
],
|
|
24171
|
-
"enums": [
|
|
24172
|
-
{
|
|
24173
|
-
"name": "InputSize",
|
|
24174
|
-
"values": [
|
|
24175
|
-
"Sm",
|
|
24176
|
-
"Default",
|
|
24177
|
-
"Lg"
|
|
24178
|
-
],
|
|
24179
|
-
"description": null
|
|
24180
|
-
}
|
|
24181
|
-
],
|
|
24535
|
+
"enums": [],
|
|
24182
24536
|
"records": [],
|
|
24183
24537
|
"cssVars": [
|
|
24184
24538
|
"--color-destructive",
|
|
@@ -24672,8 +25026,8 @@
|
|
|
24672
25026
|
},
|
|
24673
25027
|
{
|
|
24674
25028
|
"name": "Size",
|
|
24675
|
-
"type": "
|
|
24676
|
-
"default": "
|
|
25029
|
+
"type": "Lumeo.Size",
|
|
25030
|
+
"default": "Lumeo.Size.Md",
|
|
24677
25031
|
"description": null,
|
|
24678
25032
|
"isCascading": false,
|
|
24679
25033
|
"captureUnmatched": false
|
|
@@ -24696,17 +25050,7 @@
|
|
|
24696
25050
|
}
|
|
24697
25051
|
],
|
|
24698
25052
|
"events": [],
|
|
24699
|
-
"enums": [
|
|
24700
|
-
{
|
|
24701
|
-
"name": "KbdSize",
|
|
24702
|
-
"values": [
|
|
24703
|
-
"Sm",
|
|
24704
|
-
"Default",
|
|
24705
|
-
"Lg"
|
|
24706
|
-
],
|
|
24707
|
-
"description": null
|
|
24708
|
-
}
|
|
24709
|
-
],
|
|
25053
|
+
"enums": [],
|
|
24710
25054
|
"records": [],
|
|
24711
25055
|
"cssVars": [
|
|
24712
25056
|
"--color-border",
|
|
@@ -24721,7 +25065,7 @@
|
|
|
24721
25065
|
},
|
|
24722
25066
|
{
|
|
24723
25067
|
"title": "Sizes",
|
|
24724
|
-
"code": "<Kbd Size=\"
|
|
25068
|
+
"code": "<Kbd Size=\"Lumeo.Size.Sm\">Ctrl</Kbd>\n<Kbd>Ctrl</Kbd>\n<Kbd Size=\"Lumeo.Size.Lg\">Ctrl</Kbd>"
|
|
24725
25069
|
},
|
|
24726
25070
|
{
|
|
24727
25071
|
"title": "In Context",
|
|
@@ -24729,7 +25073,7 @@
|
|
|
24729
25073
|
},
|
|
24730
25074
|
{
|
|
24731
25075
|
"title": "Size — interactive",
|
|
24732
|
-
"code": "<Kbd Size=\"
|
|
25076
|
+
"code": "<Kbd Size=\"Lumeo.Size.Sm\">Ctrl</Kbd>\n<Kbd>Ctrl</Kbd> @* Default *@\n<Kbd Size=\"Lumeo.Size.Lg\">Ctrl</Kbd>"
|
|
24733
25077
|
}
|
|
24734
25078
|
],
|
|
24735
25079
|
"subComponents": {},
|
|
@@ -25080,8 +25424,8 @@
|
|
|
25080
25424
|
},
|
|
25081
25425
|
{
|
|
25082
25426
|
"name": "Size",
|
|
25083
|
-
"type": "
|
|
25084
|
-
"default": "
|
|
25427
|
+
"type": "Lumeo.Size",
|
|
25428
|
+
"default": "Lumeo.Size.Md",
|
|
25085
25429
|
"description": null,
|
|
25086
25430
|
"isCascading": false,
|
|
25087
25431
|
"captureUnmatched": false
|
|
@@ -25104,21 +25448,11 @@
|
|
|
25104
25448
|
}
|
|
25105
25449
|
],
|
|
25106
25450
|
"events": [],
|
|
25107
|
-
"enums": [
|
|
25108
|
-
{
|
|
25109
|
-
"name": "ListSize",
|
|
25110
|
-
"values": [
|
|
25111
|
-
"Sm",
|
|
25112
|
-
"Default",
|
|
25113
|
-
"Lg"
|
|
25114
|
-
],
|
|
25115
|
-
"description": null
|
|
25116
|
-
}
|
|
25117
|
-
],
|
|
25451
|
+
"enums": [],
|
|
25118
25452
|
"records": [
|
|
25119
25453
|
{
|
|
25120
25454
|
"name": "ListContext",
|
|
25121
|
-
"signature": "ListContext(bool Bordered, bool Hoverable,
|
|
25455
|
+
"signature": "ListContext(bool Bordered, bool Hoverable, Lumeo.Size Size)",
|
|
25122
25456
|
"description": null
|
|
25123
25457
|
}
|
|
25124
25458
|
],
|
|
@@ -25144,7 +25478,7 @@
|
|
|
25144
25478
|
},
|
|
25145
25479
|
{
|
|
25146
25480
|
"title": "Sizes",
|
|
25147
|
-
"code": "<List Bordered=\"true\" Size=\"
|
|
25481
|
+
"code": "<List Bordered=\"true\" Size=\"Lumeo.Size.Sm\">...</List>\n<List Bordered=\"true\">...</List>\n<List Bordered=\"true\" Size=\"Lumeo.Size.Lg\">...</List>"
|
|
25148
25482
|
}
|
|
25149
25483
|
],
|
|
25150
25484
|
"subComponents": {
|
|
@@ -25407,8 +25741,8 @@
|
|
|
25407
25741
|
},
|
|
25408
25742
|
{
|
|
25409
25743
|
"name": "Orientation",
|
|
25410
|
-
"type": "
|
|
25411
|
-
"default": "
|
|
25744
|
+
"type": "Lumeo.Orientation",
|
|
25745
|
+
"default": "Lumeo.Orientation.Horizontal",
|
|
25412
25746
|
"description": null,
|
|
25413
25747
|
"isCascading": false,
|
|
25414
25748
|
"captureUnmatched": false
|
|
@@ -25431,16 +25765,7 @@
|
|
|
25431
25765
|
}
|
|
25432
25766
|
],
|
|
25433
25767
|
"events": [],
|
|
25434
|
-
"enums": [
|
|
25435
|
-
{
|
|
25436
|
-
"name": "MegaMenuOrientation",
|
|
25437
|
-
"values": [
|
|
25438
|
-
"Horizontal",
|
|
25439
|
-
"Vertical"
|
|
25440
|
-
],
|
|
25441
|
-
"description": null
|
|
25442
|
-
}
|
|
25443
|
-
],
|
|
25768
|
+
"enums": [],
|
|
25444
25769
|
"records": [
|
|
25445
25770
|
{
|
|
25446
25771
|
"name": "MegaMenuContext",
|
|
@@ -25470,7 +25795,7 @@
|
|
|
25470
25795
|
},
|
|
25471
25796
|
{
|
|
25472
25797
|
"title": "Orientation — interactive",
|
|
25473
|
-
"code": "<Segmented @bind-Value=\"_orientationSel\" Options=\"_orientationOptions\" />\n<MegaMenu Orientation=\"@
|
|
25798
|
+
"code": "<Segmented @bind-Value=\"_orientationSel\" Options=\"_orientationOptions\" />\n<MegaMenu Orientation=\"@_activeOrientation\">\n <MegaMenuItem Label=\"Products\">\n <MegaMenuPanel Columns=\"2\">\n <MegaMenuGroup Title=\"Design\">\n <MegaMenuLink Href=\"#\" Title=\"Components\" Description=\"Pre-built UI components\" />\n </MegaMenuGroup>\n <MegaMenuGroup Title=\"Development\">\n <MegaMenuLink Href=\"#\" Title=\"CLI\" Description=\"Command-line tooling\" />\n </MegaMenuGroup>\n </MegaMenuPanel>\n </MegaMenuItem>\n <MegaMenuItem Label=\"Docs\" Href=\"#\" />\n</MegaMenu>\n\n@code {\n private string _orientationSel = \"Horizontal\";\n private Lumeo.Orientation _activeOrientation =>\n Enum.Parse<Lumeo.Orientation>(_orientationSel);\n private List<Segmented.SegmentedOption> _orientationOptions = new()\n {\n new() { Label = \"Horizontal\", Value = \"Horizontal\" },\n new() { Label = \"Vertical\", Value = \"Vertical\" },\n };\n}"
|
|
25474
25799
|
}
|
|
25475
25800
|
],
|
|
25476
25801
|
"subComponents": {
|
|
@@ -25950,6 +26275,9 @@
|
|
|
25950
26275
|
"UI/Menubar/MenubarMenu.razor",
|
|
25951
26276
|
"UI/Menubar/MenubarSeparator.razor",
|
|
25952
26277
|
"UI/Menubar/MenubarShortcut.razor",
|
|
26278
|
+
"UI/Menubar/MenubarSub.razor",
|
|
26279
|
+
"UI/Menubar/MenubarSubContent.razor",
|
|
26280
|
+
"UI/Menubar/MenubarSubTrigger.razor",
|
|
25953
26281
|
"UI/Menubar/MenubarTrigger.razor"
|
|
25954
26282
|
],
|
|
25955
26283
|
"namespace": "Lumeo",
|
|
@@ -26302,6 +26630,160 @@
|
|
|
26302
26630
|
"parseFailed": false,
|
|
26303
26631
|
"parseError": null
|
|
26304
26632
|
},
|
|
26633
|
+
"MenubarSub": {
|
|
26634
|
+
"componentName": "MenubarSub",
|
|
26635
|
+
"fileName": "MenubarSub.razor",
|
|
26636
|
+
"namespace": "Lumeo",
|
|
26637
|
+
"inheritsFrom": null,
|
|
26638
|
+
"implements": [],
|
|
26639
|
+
"parameters": [
|
|
26640
|
+
{
|
|
26641
|
+
"name": "RootContext",
|
|
26642
|
+
"type": "Menubar.MenubarContext?",
|
|
26643
|
+
"default": null,
|
|
26644
|
+
"description": null,
|
|
26645
|
+
"isCascading": true,
|
|
26646
|
+
"captureUnmatched": false
|
|
26647
|
+
},
|
|
26648
|
+
{
|
|
26649
|
+
"name": "ParentSubContext",
|
|
26650
|
+
"type": "MenubarSubContext?",
|
|
26651
|
+
"default": null,
|
|
26652
|
+
"description": null,
|
|
26653
|
+
"isCascading": true,
|
|
26654
|
+
"captureUnmatched": false
|
|
26655
|
+
},
|
|
26656
|
+
{
|
|
26657
|
+
"name": "ChildContent",
|
|
26658
|
+
"type": "RenderFragment?",
|
|
26659
|
+
"default": null,
|
|
26660
|
+
"description": null,
|
|
26661
|
+
"isCascading": false,
|
|
26662
|
+
"captureUnmatched": false
|
|
26663
|
+
},
|
|
26664
|
+
{
|
|
26665
|
+
"name": "AdditionalAttributes",
|
|
26666
|
+
"type": "Dictionary<string, object>?",
|
|
26667
|
+
"default": null,
|
|
26668
|
+
"description": null,
|
|
26669
|
+
"isCascading": false,
|
|
26670
|
+
"captureUnmatched": true
|
|
26671
|
+
}
|
|
26672
|
+
],
|
|
26673
|
+
"events": [],
|
|
26674
|
+
"enums": [],
|
|
26675
|
+
"records": [
|
|
26676
|
+
{
|
|
26677
|
+
"name": "MenubarSubContext",
|
|
26678
|
+
"signature": "MenubarSubContext(\n bool IsOpen,\n EventCallback<bool> SetOpen,\n string WrapperId,\n string TriggerId,\n string ContentId,\n EventCallback CloseTree,\n Action ScheduleClose,\n Action CancelClose)",
|
|
26679
|
+
"description": null
|
|
26680
|
+
}
|
|
26681
|
+
],
|
|
26682
|
+
"parseFailed": false,
|
|
26683
|
+
"parseError": null
|
|
26684
|
+
},
|
|
26685
|
+
"MenubarSubContent": {
|
|
26686
|
+
"componentName": "MenubarSubContent",
|
|
26687
|
+
"fileName": "MenubarSubContent.razor",
|
|
26688
|
+
"namespace": "Lumeo",
|
|
26689
|
+
"inheritsFrom": null,
|
|
26690
|
+
"implements": [
|
|
26691
|
+
"IAsyncDisposable"
|
|
26692
|
+
],
|
|
26693
|
+
"parameters": [
|
|
26694
|
+
{
|
|
26695
|
+
"name": "SubContext",
|
|
26696
|
+
"type": "MenubarSub.MenubarSubContext",
|
|
26697
|
+
"default": "default!",
|
|
26698
|
+
"description": null,
|
|
26699
|
+
"isCascading": true,
|
|
26700
|
+
"captureUnmatched": false
|
|
26701
|
+
},
|
|
26702
|
+
{
|
|
26703
|
+
"name": "ChildContent",
|
|
26704
|
+
"type": "RenderFragment?",
|
|
26705
|
+
"default": null,
|
|
26706
|
+
"description": null,
|
|
26707
|
+
"isCascading": false,
|
|
26708
|
+
"captureUnmatched": false
|
|
26709
|
+
},
|
|
26710
|
+
{
|
|
26711
|
+
"name": "Class",
|
|
26712
|
+
"type": "string?",
|
|
26713
|
+
"default": null,
|
|
26714
|
+
"description": null,
|
|
26715
|
+
"isCascading": false,
|
|
26716
|
+
"captureUnmatched": false
|
|
26717
|
+
},
|
|
26718
|
+
{
|
|
26719
|
+
"name": "AdditionalAttributes",
|
|
26720
|
+
"type": "Dictionary<string, object>?",
|
|
26721
|
+
"default": null,
|
|
26722
|
+
"description": null,
|
|
26723
|
+
"isCascading": false,
|
|
26724
|
+
"captureUnmatched": true
|
|
26725
|
+
}
|
|
26726
|
+
],
|
|
26727
|
+
"events": [],
|
|
26728
|
+
"enums": [],
|
|
26729
|
+
"records": [],
|
|
26730
|
+
"parseFailed": false,
|
|
26731
|
+
"parseError": null
|
|
26732
|
+
},
|
|
26733
|
+
"MenubarSubTrigger": {
|
|
26734
|
+
"componentName": "MenubarSubTrigger",
|
|
26735
|
+
"fileName": "MenubarSubTrigger.razor",
|
|
26736
|
+
"namespace": "Lumeo",
|
|
26737
|
+
"inheritsFrom": null,
|
|
26738
|
+
"implements": [],
|
|
26739
|
+
"parameters": [
|
|
26740
|
+
{
|
|
26741
|
+
"name": "SubContext",
|
|
26742
|
+
"type": "MenubarSub.MenubarSubContext",
|
|
26743
|
+
"default": "default!",
|
|
26744
|
+
"description": null,
|
|
26745
|
+
"isCascading": true,
|
|
26746
|
+
"captureUnmatched": false
|
|
26747
|
+
},
|
|
26748
|
+
{
|
|
26749
|
+
"name": "ChildContent",
|
|
26750
|
+
"type": "RenderFragment?",
|
|
26751
|
+
"default": null,
|
|
26752
|
+
"description": null,
|
|
26753
|
+
"isCascading": false,
|
|
26754
|
+
"captureUnmatched": false
|
|
26755
|
+
},
|
|
26756
|
+
{
|
|
26757
|
+
"name": "Disabled",
|
|
26758
|
+
"type": "bool",
|
|
26759
|
+
"default": null,
|
|
26760
|
+
"description": null,
|
|
26761
|
+
"isCascading": false,
|
|
26762
|
+
"captureUnmatched": false
|
|
26763
|
+
},
|
|
26764
|
+
{
|
|
26765
|
+
"name": "Class",
|
|
26766
|
+
"type": "string?",
|
|
26767
|
+
"default": null,
|
|
26768
|
+
"description": null,
|
|
26769
|
+
"isCascading": false,
|
|
26770
|
+
"captureUnmatched": false
|
|
26771
|
+
},
|
|
26772
|
+
{
|
|
26773
|
+
"name": "AdditionalAttributes",
|
|
26774
|
+
"type": "Dictionary<string, object>?",
|
|
26775
|
+
"default": null,
|
|
26776
|
+
"description": null,
|
|
26777
|
+
"isCascading": false,
|
|
26778
|
+
"captureUnmatched": true
|
|
26779
|
+
}
|
|
26780
|
+
],
|
|
26781
|
+
"events": [],
|
|
26782
|
+
"enums": [],
|
|
26783
|
+
"records": [],
|
|
26784
|
+
"parseFailed": false,
|
|
26785
|
+
"parseError": null
|
|
26786
|
+
},
|
|
26305
26787
|
"MenubarTrigger": {
|
|
26306
26788
|
"componentName": "MenubarTrigger",
|
|
26307
26789
|
"fileName": "MenubarTrigger.razor",
|
|
@@ -27488,6 +27970,7 @@
|
|
|
27488
27970
|
"description": "Low-level backdrop primitive for custom popovers and modals.",
|
|
27489
27971
|
"nugetPackage": "Lumeo",
|
|
27490
27972
|
"files": [
|
|
27973
|
+
"UI/Overlay/DismissEventArgs.cs",
|
|
27491
27974
|
"UI/Overlay/OverlayProvider.razor"
|
|
27492
27975
|
],
|
|
27493
27976
|
"namespace": "Lumeo",
|
|
@@ -27509,7 +27992,7 @@
|
|
|
27509
27992
|
},
|
|
27510
27993
|
{
|
|
27511
27994
|
"title": "Open a Sheet",
|
|
27512
|
-
"code": "@inject OverlayService OverlayService\n\n<Button OnClick=\"@OpenSheet\">Open Sheet</Button>\n\n@code {\n private async Task OpenSheet()\n {\n await OverlayService.ShowSheetAsync<MySheetContent>(\n title: \"Settings\",\n side:
|
|
27995
|
+
"code": "@inject OverlayService OverlayService\n\n<Button OnClick=\"@OpenSheet\">Open Sheet</Button>\n\n@code {\n private async Task OpenSheet()\n {\n await OverlayService.ShowSheetAsync<MySheetContent>(\n title: \"Settings\",\n side: Lumeo.Side.Right);\n }\n}"
|
|
27513
27996
|
},
|
|
27514
27997
|
{
|
|
27515
27998
|
"title": "Confirmation Dialog",
|
|
@@ -28575,15 +29058,15 @@
|
|
|
28575
29058
|
},
|
|
28576
29059
|
{
|
|
28577
29060
|
"title": "Alignment",
|
|
28578
|
-
"code": "<Popover>\n <PopoverTrigger>\n <Button Variant=\"Button.ButtonVariant.Outline\">Start</Button>\n </PopoverTrigger>\n <PopoverContent Align=\"
|
|
29061
|
+
"code": "<Popover>\n <PopoverTrigger>\n <Button Variant=\"Button.ButtonVariant.Outline\">Start</Button>\n </PopoverTrigger>\n <PopoverContent Align=\"Lumeo.Align.Start\">\n <Lumeo.Text Size=\"sm\">Aligned to start.</Lumeo.Text>\n </PopoverContent>\n</Popover>\n\n<Popover>\n <PopoverTrigger>\n <Button Variant=\"Button.ButtonVariant.Outline\">End</Button>\n </PopoverTrigger>\n <PopoverContent Align=\"Lumeo.Align.End\">\n <Lumeo.Text Size=\"sm\">Aligned to end.</Lumeo.Text>\n </PopoverContent>\n</Popover>"
|
|
28579
29062
|
},
|
|
28580
29063
|
{
|
|
28581
29064
|
"title": "With Arrow",
|
|
28582
|
-
"code": "<Popover>\n <PopoverTrigger><Button Variant=\"Button.ButtonVariant.Outline\">Top</Button></PopoverTrigger>\n <PopoverContent Side=\"
|
|
29065
|
+
"code": "<Popover>\n <PopoverTrigger><Button Variant=\"Button.ButtonVariant.Outline\">Top</Button></PopoverTrigger>\n <PopoverContent Side=\"Lumeo.Side.Top\" ShowArrow=\"true\">\n <Lumeo.Text Size=\"sm\">Popover on top with an arrow pointing at the trigger.</Lumeo.Text>\n </PopoverContent>\n</Popover>"
|
|
28583
29066
|
},
|
|
28584
29067
|
{
|
|
28585
29068
|
"title": "Placement",
|
|
28586
|
-
"code": "<Popover>\n <PopoverTrigger><Button Variant=\"Button.ButtonVariant.Outline\">Top</Button></PopoverTrigger>\n <PopoverContent Side=\"
|
|
29069
|
+
"code": "<Popover>\n <PopoverTrigger><Button Variant=\"Button.ButtonVariant.Outline\">Top</Button></PopoverTrigger>\n <PopoverContent Side=\"Lumeo.Side.Top\">\n <Lumeo.Text Size=\"sm\">Popover on top</Lumeo.Text>\n </PopoverContent>\n</Popover>\n<Popover>\n <PopoverTrigger><Button Variant=\"Button.ButtonVariant.Outline\">Bottom</Button></PopoverTrigger>\n <PopoverContent Side=\"Lumeo.Side.Bottom\">\n <Lumeo.Text Size=\"sm\">Popover on bottom</Lumeo.Text>\n </PopoverContent>\n</Popover>\n<Popover>\n <PopoverTrigger><Button Variant=\"Button.ButtonVariant.Outline\">Left</Button></PopoverTrigger>\n <PopoverContent Side=\"Lumeo.Side.Left\">\n <Lumeo.Text Size=\"sm\">Popover on left</Lumeo.Text>\n </PopoverContent>\n</Popover>\n<Popover>\n <PopoverTrigger><Button Variant=\"Button.ButtonVariant.Outline\">Right</Button></PopoverTrigger>\n <PopoverContent Side=\"Lumeo.Side.Right\">\n <Lumeo.Text Size=\"sm\">Popover on right</Lumeo.Text>\n </PopoverContent>\n</Popover>"
|
|
28587
29070
|
}
|
|
28588
29071
|
],
|
|
28589
29072
|
"subComponents": {
|
|
@@ -28614,16 +29097,16 @@
|
|
|
28614
29097
|
},
|
|
28615
29098
|
{
|
|
28616
29099
|
"name": "Align",
|
|
28617
|
-
"type": "
|
|
28618
|
-
"default": "
|
|
29100
|
+
"type": "Lumeo.Align",
|
|
29101
|
+
"default": "Lumeo.Align.Center",
|
|
28619
29102
|
"description": null,
|
|
28620
29103
|
"isCascading": false,
|
|
28621
29104
|
"captureUnmatched": false
|
|
28622
29105
|
},
|
|
28623
29106
|
{
|
|
28624
29107
|
"name": "Side",
|
|
28625
|
-
"type": "
|
|
28626
|
-
"default": "
|
|
29108
|
+
"type": "Lumeo.Side",
|
|
29109
|
+
"default": "Lumeo.Side.Bottom",
|
|
28627
29110
|
"description": null,
|
|
28628
29111
|
"isCascading": false,
|
|
28629
29112
|
"captureUnmatched": false
|
|
@@ -28654,27 +29137,7 @@
|
|
|
28654
29137
|
}
|
|
28655
29138
|
],
|
|
28656
29139
|
"events": [],
|
|
28657
|
-
"enums": [
|
|
28658
|
-
{
|
|
28659
|
-
"name": "PopoverAlign",
|
|
28660
|
-
"values": [
|
|
28661
|
-
"Start",
|
|
28662
|
-
"Center",
|
|
28663
|
-
"End"
|
|
28664
|
-
],
|
|
28665
|
-
"description": null
|
|
28666
|
-
},
|
|
28667
|
-
{
|
|
28668
|
-
"name": "PopoverSide",
|
|
28669
|
-
"values": [
|
|
28670
|
-
"Top",
|
|
28671
|
-
"Bottom",
|
|
28672
|
-
"Left",
|
|
28673
|
-
"Right"
|
|
28674
|
-
],
|
|
28675
|
-
"description": null
|
|
28676
|
-
}
|
|
28677
|
-
],
|
|
29140
|
+
"enums": [],
|
|
28678
29141
|
"records": [],
|
|
28679
29142
|
"parseFailed": false,
|
|
28680
29143
|
"parseError": null
|
|
@@ -29619,6 +30082,22 @@
|
|
|
29619
30082
|
"description": "The parent group (null for the root) — used to support self-removal.",
|
|
29620
30083
|
"isCascading": false,
|
|
29621
30084
|
"captureUnmatched": false
|
|
30085
|
+
},
|
|
30086
|
+
{
|
|
30087
|
+
"name": "Class",
|
|
30088
|
+
"type": "string?",
|
|
30089
|
+
"default": null,
|
|
30090
|
+
"description": null,
|
|
30091
|
+
"isCascading": false,
|
|
30092
|
+
"captureUnmatched": false
|
|
30093
|
+
},
|
|
30094
|
+
{
|
|
30095
|
+
"name": "AdditionalAttributes",
|
|
30096
|
+
"type": "Dictionary<string, object>?",
|
|
30097
|
+
"default": null,
|
|
30098
|
+
"description": null,
|
|
30099
|
+
"isCascading": false,
|
|
30100
|
+
"captureUnmatched": true
|
|
29622
30101
|
}
|
|
29623
30102
|
],
|
|
29624
30103
|
"events": [],
|
|
@@ -29998,8 +30477,8 @@
|
|
|
29998
30477
|
},
|
|
29999
30478
|
{
|
|
30000
30479
|
"name": "Size",
|
|
30001
|
-
"type": "
|
|
30002
|
-
"default": "
|
|
30480
|
+
"type": "Lumeo.Size",
|
|
30481
|
+
"default": "Lumeo.Size.Md",
|
|
30003
30482
|
"description": null,
|
|
30004
30483
|
"isCascading": false,
|
|
30005
30484
|
"captureUnmatched": false
|
|
@@ -30076,17 +30555,7 @@
|
|
|
30076
30555
|
"description": null
|
|
30077
30556
|
}
|
|
30078
30557
|
],
|
|
30079
|
-
"enums": [
|
|
30080
|
-
{
|
|
30081
|
-
"name": "RatingSize",
|
|
30082
|
-
"values": [
|
|
30083
|
-
"Small",
|
|
30084
|
-
"Default",
|
|
30085
|
-
"Large"
|
|
30086
|
-
],
|
|
30087
|
-
"description": null
|
|
30088
|
-
}
|
|
30089
|
-
],
|
|
30558
|
+
"enums": [],
|
|
30090
30559
|
"records": [],
|
|
30091
30560
|
"cssVars": [
|
|
30092
30561
|
"--color-destructive",
|
|
@@ -30107,7 +30576,7 @@
|
|
|
30107
30576
|
},
|
|
30108
30577
|
{
|
|
30109
30578
|
"title": "Sizes",
|
|
30110
|
-
"code": "<Rating Value=\"3\" ReadOnly=\"true\" Size=\"
|
|
30579
|
+
"code": "<Rating Value=\"3\" ReadOnly=\"true\" Size=\"Lumeo.Size.Sm\" />\n<Rating Value=\"3\" ReadOnly=\"true\" />\n<Rating Value=\"3\" ReadOnly=\"true\" Size=\"Lumeo.Size.Lg\" />"
|
|
30111
30580
|
},
|
|
30112
30581
|
{
|
|
30113
30582
|
"title": "Read-Only",
|
|
@@ -30173,8 +30642,8 @@
|
|
|
30173
30642
|
},
|
|
30174
30643
|
{
|
|
30175
30644
|
"name": "Size",
|
|
30176
|
-
"type": "
|
|
30177
|
-
"default": "
|
|
30645
|
+
"type": "Lumeo.Size",
|
|
30646
|
+
"default": "Lumeo.Size.Md",
|
|
30178
30647
|
"description": null,
|
|
30179
30648
|
"isCascading": false,
|
|
30180
30649
|
"captureUnmatched": false
|
|
@@ -30206,15 +30675,6 @@
|
|
|
30206
30675
|
],
|
|
30207
30676
|
"events": [],
|
|
30208
30677
|
"enums": [
|
|
30209
|
-
{
|
|
30210
|
-
"name": "ReasoningSize",
|
|
30211
|
-
"values": [
|
|
30212
|
-
"Small",
|
|
30213
|
-
"Medium",
|
|
30214
|
-
"Large"
|
|
30215
|
-
],
|
|
30216
|
-
"description": null
|
|
30217
|
-
},
|
|
30218
30678
|
{
|
|
30219
30679
|
"name": "ReasoningVariant",
|
|
30220
30680
|
"values": [
|
|
@@ -30326,15 +30786,15 @@
|
|
|
30326
30786
|
"examples": [
|
|
30327
30787
|
{
|
|
30328
30788
|
"title": "Horizontal",
|
|
30329
|
-
"code": "<ResizablePanelGroup Direction=\"
|
|
30789
|
+
"code": "<ResizablePanelGroup Direction=\"Lumeo.Orientation.Horizontal\"\n DefaultSizes=\"@(new double[] { 50, 50 })\" Class=\"min-h-[200px] rounded-lg border\">\n <ResizablePanel Order=\"0\">\n <div class=\"flex h-full items-center justify-center p-6\">\n <span class=\"font-semibold\">Panel One</span>\n </div>\n </ResizablePanel>\n <ResizableHandle PanelIndex=\"0\" WithHandle=\"true\" />\n <ResizablePanel Order=\"1\">\n <div class=\"flex h-full items-center justify-center p-6\">\n <span class=\"font-semibold\">Panel Two</span>\n </div>\n </ResizablePanel>\n</ResizablePanelGroup>"
|
|
30330
30790
|
},
|
|
30331
30791
|
{
|
|
30332
30792
|
"title": "Vertical",
|
|
30333
|
-
"code": "<ResizablePanelGroup Direction=\"
|
|
30793
|
+
"code": "<ResizablePanelGroup Direction=\"Lumeo.Orientation.Vertical\"\n DefaultSizes=\"@(new double[] { 40, 60 })\" Class=\"min-h-[300px] rounded-lg border\">\n <ResizablePanel Order=\"0\">\n <div class=\"flex h-full items-center justify-center p-6\">\n <span class=\"font-semibold\">Top</span>\n </div>\n </ResizablePanel>\n <ResizableHandle PanelIndex=\"0\" WithHandle=\"true\" />\n <ResizablePanel Order=\"1\">\n <div class=\"flex h-full items-center justify-center p-6\">\n <span class=\"font-semibold\">Bottom</span>\n </div>\n </ResizablePanel>\n</ResizablePanelGroup>"
|
|
30334
30794
|
},
|
|
30335
30795
|
{
|
|
30336
30796
|
"title": "Three Panels",
|
|
30337
|
-
"code": "<ResizablePanelGroup Direction=\"
|
|
30797
|
+
"code": "<ResizablePanelGroup Direction=\"Lumeo.Orientation.Horizontal\"\n DefaultSizes=\"@(new double[] { 25, 50, 25 })\" Class=\"min-h-[200px] rounded-lg border\">\n <ResizablePanel Order=\"0\">\n <div class=\"flex h-full items-center justify-center p-6\">\n <span class=\"font-semibold\">Sidebar</span>\n </div>\n </ResizablePanel>\n <ResizableHandle PanelIndex=\"0\" WithHandle=\"true\" />\n <ResizablePanel Order=\"1\">\n <div class=\"flex h-full items-center justify-center p-6\">\n <span class=\"font-semibold\">Content</span>\n </div>\n </ResizablePanel>\n <ResizableHandle PanelIndex=\"1\" WithHandle=\"true\" />\n <ResizablePanel Order=\"2\">\n <div class=\"flex h-full items-center justify-center p-6\">\n <span class=\"font-semibold\">Panel</span>\n </div>\n </ResizablePanel>\n</ResizablePanelGroup>"
|
|
30338
30798
|
}
|
|
30339
30799
|
],
|
|
30340
30800
|
"subComponents": {
|
|
@@ -30435,8 +30895,8 @@
|
|
|
30435
30895
|
},
|
|
30436
30896
|
{
|
|
30437
30897
|
"name": "Direction",
|
|
30438
|
-
"type": "
|
|
30439
|
-
"default": "
|
|
30898
|
+
"type": "Lumeo.Orientation",
|
|
30899
|
+
"default": "Lumeo.Orientation.Horizontal",
|
|
30440
30900
|
"description": null,
|
|
30441
30901
|
"isCascading": false,
|
|
30442
30902
|
"captureUnmatched": false
|
|
@@ -30467,20 +30927,11 @@
|
|
|
30467
30927
|
}
|
|
30468
30928
|
],
|
|
30469
30929
|
"events": [],
|
|
30470
|
-
"enums": [
|
|
30471
|
-
{
|
|
30472
|
-
"name": "ResizableDirection",
|
|
30473
|
-
"values": [
|
|
30474
|
-
"Horizontal",
|
|
30475
|
-
"Vertical"
|
|
30476
|
-
],
|
|
30477
|
-
"description": null
|
|
30478
|
-
}
|
|
30479
|
-
],
|
|
30930
|
+
"enums": [],
|
|
30480
30931
|
"records": [
|
|
30481
30932
|
{
|
|
30482
30933
|
"name": "ResizablePanelGroupContext",
|
|
30483
|
-
"signature": "ResizablePanelGroupContext(\n string GroupId,\n
|
|
30934
|
+
"signature": "ResizablePanelGroupContext(\n string GroupId,\n Lumeo.Orientation Direction,\n EventCallback<(int PanelIndex, double Delta)> OnHandleDrag,\n Func<int, double> GetPanelSize,\n int PanelCount,\n Action<int, double, double> RegisterPanel\n )",
|
|
30484
30935
|
"description": null
|
|
30485
30936
|
}
|
|
30486
30937
|
],
|
|
@@ -30514,8 +30965,8 @@
|
|
|
30514
30965
|
},
|
|
30515
30966
|
{
|
|
30516
30967
|
"name": "Size",
|
|
30517
|
-
"type": "
|
|
30518
|
-
"default": "
|
|
30968
|
+
"type": "Lumeo.Size",
|
|
30969
|
+
"default": "Lumeo.Size.Md",
|
|
30519
30970
|
"description": null,
|
|
30520
30971
|
"isCascading": false,
|
|
30521
30972
|
"captureUnmatched": false
|
|
@@ -32809,8 +33260,8 @@
|
|
|
32809
33260
|
"parameters": [
|
|
32810
33261
|
{
|
|
32811
33262
|
"name": "Orientation",
|
|
32812
|
-
"type": "
|
|
32813
|
-
"default": "
|
|
33263
|
+
"type": "Lumeo.Orientation",
|
|
33264
|
+
"default": "Lumeo.Orientation.Horizontal",
|
|
32814
33265
|
"description": null,
|
|
32815
33266
|
"isCascading": false,
|
|
32816
33267
|
"captureUnmatched": false
|
|
@@ -32841,16 +33292,7 @@
|
|
|
32841
33292
|
}
|
|
32842
33293
|
],
|
|
32843
33294
|
"events": [],
|
|
32844
|
-
"enums": [
|
|
32845
|
-
{
|
|
32846
|
-
"name": "SeparatorOrientation",
|
|
32847
|
-
"values": [
|
|
32848
|
-
"Horizontal",
|
|
32849
|
-
"Vertical"
|
|
32850
|
-
],
|
|
32851
|
-
"description": null
|
|
32852
|
-
}
|
|
32853
|
-
],
|
|
33295
|
+
"enums": [],
|
|
32854
33296
|
"records": [],
|
|
32855
33297
|
"cssVars": [
|
|
32856
33298
|
"--color-border",
|
|
@@ -32860,7 +33302,7 @@
|
|
|
32860
33302
|
"examples": [
|
|
32861
33303
|
{
|
|
32862
33304
|
"title": "Horizontal",
|
|
32863
|
-
"code": "<Stack Gap=\"1\">\n <Heading Level=\"4\" Size=\"sm\" Weight=\"medium\" Class=\"leading-none\">Lumeo UI</Heading>\n <Lumeo.Text Size=\"sm\" Color=\"muted\">An open-source component library for Blazor.</Lumeo.Text>\n</Stack>\n<Separator Class=\"my-4\" />\n<Flex Gap=\"4\" Align=\"center\" Class=\"h-5 text-sm\">\n <Lumeo.Text As=\"span\" Size=\"sm\">Docs</Lumeo.Text>\n <Separator Orientation=\"
|
|
33305
|
+
"code": "<Stack Gap=\"1\">\n <Heading Level=\"4\" Size=\"sm\" Weight=\"medium\" Class=\"leading-none\">Lumeo UI</Heading>\n <Lumeo.Text Size=\"sm\" Color=\"muted\">An open-source component library for Blazor.</Lumeo.Text>\n</Stack>\n<Separator Class=\"my-4\" />\n<Flex Gap=\"4\" Align=\"center\" Class=\"h-5 text-sm\">\n <Lumeo.Text As=\"span\" Size=\"sm\">Docs</Lumeo.Text>\n <Separator Orientation=\"Lumeo.Orientation.Vertical\" />\n <Lumeo.Text As=\"span\" Size=\"sm\">Source</Lumeo.Text>\n <Separator Orientation=\"Lumeo.Orientation.Vertical\" />\n <Lumeo.Text As=\"span\" Size=\"sm\">Blog</Lumeo.Text>\n</Flex>"
|
|
32864
33306
|
},
|
|
32865
33307
|
{
|
|
32866
33308
|
"title": "In a Card",
|
|
@@ -32868,7 +33310,7 @@
|
|
|
32868
33310
|
},
|
|
32869
33311
|
{
|
|
32870
33312
|
"title": "Vertical",
|
|
32871
|
-
"code": "<Flex Gap=\"4\" Align=\"center\" Class=\"h-5 text-sm\">\n <Lumeo.Text As=\"span\" Size=\"sm\">Home</Lumeo.Text>\n <Separator Orientation=\"
|
|
33313
|
+
"code": "<Flex Gap=\"4\" Align=\"center\" Class=\"h-5 text-sm\">\n <Lumeo.Text As=\"span\" Size=\"sm\">Home</Lumeo.Text>\n <Separator Orientation=\"Lumeo.Orientation.Vertical\" />\n <Lumeo.Text As=\"span\" Size=\"sm\">Components</Lumeo.Text>\n <Separator Orientation=\"Lumeo.Orientation.Vertical\" />\n <Lumeo.Text As=\"span\" Size=\"sm\">Themes</Lumeo.Text>\n <Separator Orientation=\"Lumeo.Orientation.Vertical\" />\n <Lumeo.Text As=\"span\" Size=\"sm\">GitHub</Lumeo.Text>\n</Flex>"
|
|
32872
33314
|
},
|
|
32873
33315
|
{
|
|
32874
33316
|
"title": "With Label",
|
|
@@ -32923,6 +33365,14 @@
|
|
|
32923
33365
|
"isCascading": false,
|
|
32924
33366
|
"captureUnmatched": false
|
|
32925
33367
|
},
|
|
33368
|
+
{
|
|
33369
|
+
"name": "OnBeforeClose",
|
|
33370
|
+
"type": "EventCallback<DismissEventArgs>",
|
|
33371
|
+
"default": null,
|
|
33372
|
+
"description": "Fires before any user-initiated dismiss (Escape, backdrop click, swipe gesture, X button, or a SheetClose trigger). Set Cancel to true to abort. The Reason tells you which path fired (\"escape\", \"outside\", \"swipe\", \"close\").",
|
|
33373
|
+
"isCascading": false,
|
|
33374
|
+
"captureUnmatched": false
|
|
33375
|
+
},
|
|
32926
33376
|
{
|
|
32927
33377
|
"name": "IsOpen",
|
|
32928
33378
|
"type": "bool",
|
|
@@ -32946,6 +33396,11 @@
|
|
|
32946
33396
|
"type": "EventCallback<bool>",
|
|
32947
33397
|
"description": null
|
|
32948
33398
|
},
|
|
33399
|
+
{
|
|
33400
|
+
"name": "OnBeforeClose",
|
|
33401
|
+
"type": "EventCallback<DismissEventArgs>",
|
|
33402
|
+
"description": "Fires before any user-initiated dismiss (Escape, backdrop click, swipe gesture, X button, or a SheetClose trigger). Set Cancel to true to abort. The Reason tells you which path fired (\"escape\", \"outside\", \"swipe\", \"close\")."
|
|
33403
|
+
},
|
|
32949
33404
|
{
|
|
32950
33405
|
"name": "IsOpenChanged",
|
|
32951
33406
|
"type": "EventCallback<bool>",
|
|
@@ -32956,7 +33411,7 @@
|
|
|
32956
33411
|
"records": [
|
|
32957
33412
|
{
|
|
32958
33413
|
"name": "SheetContext",
|
|
32959
|
-
"signature": "SheetContext(bool IsOpen, EventCallback<bool> SetOpen, string TitleId, string DescriptionId)",
|
|
33414
|
+
"signature": "SheetContext(bool IsOpen, EventCallback<bool> SetOpen, string TitleId, string DescriptionId, Func<string, Task<bool>> TryDismiss)",
|
|
32960
33415
|
"description": null
|
|
32961
33416
|
}
|
|
32962
33417
|
],
|
|
@@ -32974,7 +33429,7 @@
|
|
|
32974
33429
|
},
|
|
32975
33430
|
{
|
|
32976
33431
|
"title": "Side Variations",
|
|
32977
|
-
"code": "<Sheet @bind-Open=\"_isTopOpen\">\n <SheetTrigger>\n <Button Variant=\"Button.ButtonVariant.Outline\">Top</Button>\n </SheetTrigger>\n <SheetContent Side=\"
|
|
33432
|
+
"code": "<Sheet @bind-Open=\"_isTopOpen\">\n <SheetTrigger>\n <Button Variant=\"Button.ButtonVariant.Outline\">Top</Button>\n </SheetTrigger>\n <SheetContent Side=\"Lumeo.Side.Top\">\n <SheetHeader>\n <SheetTitle>Top Sheet</SheetTitle>\n <SheetDescription>This sheet slides in from the top.</SheetDescription>\n </SheetHeader>\n </SheetContent>\n</Sheet>\n\n<Sheet @bind-Open=\"_isLeftOpen\">\n <SheetTrigger>\n <Button Variant=\"Button.ButtonVariant.Outline\">Left</Button>\n </SheetTrigger>\n <SheetContent Side=\"Lumeo.Side.Left\">\n <SheetHeader>\n <SheetTitle>Left Sheet</SheetTitle>\n <SheetDescription>This sheet slides in from the left.</SheetDescription>\n </SheetHeader>\n </SheetContent>\n</Sheet>"
|
|
32978
33433
|
},
|
|
32979
33434
|
{
|
|
32980
33435
|
"title": "Sizes",
|
|
@@ -33067,8 +33522,8 @@
|
|
|
33067
33522
|
},
|
|
33068
33523
|
{
|
|
33069
33524
|
"name": "Side",
|
|
33070
|
-
"type": "
|
|
33071
|
-
"default": "
|
|
33525
|
+
"type": "Lumeo.Side",
|
|
33526
|
+
"default": "Lumeo.Side.Right",
|
|
33072
33527
|
"description": null,
|
|
33073
33528
|
"isCascading": false,
|
|
33074
33529
|
"captureUnmatched": false
|
|
@@ -33113,6 +33568,14 @@
|
|
|
33113
33568
|
"isCascading": false,
|
|
33114
33569
|
"captureUnmatched": false
|
|
33115
33570
|
},
|
|
33571
|
+
{
|
|
33572
|
+
"name": "ZIndex",
|
|
33573
|
+
"type": "int",
|
|
33574
|
+
"default": "OverlayService.BaseZIndex",
|
|
33575
|
+
"description": "Backdrop z-index. Content sits at ZIndex + 1. Defaults to BaseZIndex; OverlayProvider supplies an incrementing value per nested overlay.",
|
|
33576
|
+
"isCascading": false,
|
|
33577
|
+
"captureUnmatched": false
|
|
33578
|
+
},
|
|
33116
33579
|
{
|
|
33117
33580
|
"name": "AdditionalAttributes",
|
|
33118
33581
|
"type": "Dictionary<string, object>?",
|
|
@@ -33124,16 +33587,6 @@
|
|
|
33124
33587
|
],
|
|
33125
33588
|
"events": [],
|
|
33126
33589
|
"enums": [
|
|
33127
|
-
{
|
|
33128
|
-
"name": "SheetSide",
|
|
33129
|
-
"values": [
|
|
33130
|
-
"Top",
|
|
33131
|
-
"Right",
|
|
33132
|
-
"Bottom",
|
|
33133
|
-
"Left"
|
|
33134
|
-
],
|
|
33135
|
-
"description": null
|
|
33136
|
-
},
|
|
33137
33590
|
{
|
|
33138
33591
|
"name": "SheetSize",
|
|
33139
33592
|
"values": [
|
|
@@ -33143,7 +33596,7 @@
|
|
|
33143
33596
|
"Xl",
|
|
33144
33597
|
"Full"
|
|
33145
33598
|
],
|
|
33146
|
-
"description":
|
|
33599
|
+
"description": "Sheet sizes. Full is layout-intent (entire viewport), not a scale value, so this enum is intentionally NOT replaced by Size in 3.0."
|
|
33147
33600
|
},
|
|
33148
33601
|
{
|
|
33149
33602
|
"name": "SheetAnimation",
|
|
@@ -33560,9 +34013,9 @@
|
|
|
33560
34013
|
},
|
|
33561
34014
|
{
|
|
33562
34015
|
"name": "Side",
|
|
33563
|
-
"type": "
|
|
33564
|
-
"default": "
|
|
33565
|
-
"description":
|
|
34016
|
+
"type": "Lumeo.Side",
|
|
34017
|
+
"default": "Lumeo.Side.Left",
|
|
34018
|
+
"description": "Which edge the sidebar anchors to. Only Left and Right are supported; Top/Bottom fall through to the Left default.",
|
|
33566
34019
|
"isCascading": false,
|
|
33567
34020
|
"captureUnmatched": false
|
|
33568
34021
|
},
|
|
@@ -33584,16 +34037,7 @@
|
|
|
33584
34037
|
}
|
|
33585
34038
|
],
|
|
33586
34039
|
"events": [],
|
|
33587
|
-
"enums": [
|
|
33588
|
-
{
|
|
33589
|
-
"name": "SidebarSide",
|
|
33590
|
-
"values": [
|
|
33591
|
-
"Left",
|
|
33592
|
-
"Right"
|
|
33593
|
-
],
|
|
33594
|
-
"description": null
|
|
33595
|
-
}
|
|
33596
|
-
],
|
|
34040
|
+
"enums": [],
|
|
33597
34041
|
"records": [],
|
|
33598
34042
|
"cssVars": [
|
|
33599
34043
|
"--color-accent",
|
|
@@ -33616,7 +34060,7 @@
|
|
|
33616
34060
|
},
|
|
33617
34061
|
{
|
|
33618
34062
|
"title": "Side — interactive",
|
|
33619
|
-
"code": "<Segmented @bind-Value=\"_sidebarSideSel\" Options=\"_sidebarSideOptions\" />\n<SidebarProvider>\n <SidebarComponent Side=\"@
|
|
34063
|
+
"code": "<Segmented @bind-Value=\"_sidebarSideSel\" Options=\"_sidebarSideOptions\" />\n<SidebarProvider>\n <SidebarComponent Side=\"@_activeSide\">\n <SidebarHeader>...</SidebarHeader>\n <SidebarContent>...</SidebarContent>\n </SidebarComponent>\n <main class=\"flex-1 p-6\">\n <SidebarTrigger />\n </main>\n</SidebarProvider>\n\n@code {\n private string _sidebarSideSel = \"Left\";\n private Lumeo.Side _activeSide =>\n Enum.Parse<Lumeo.Side>(_sidebarSideSel);\n private List<Segmented.SegmentedOption> _sidebarSideOptions = new()\n {\n new() { Label = \"Left\", Value = \"Left\" },\n new() { Label = \"Right\", Value = \"Right\" },\n };\n}"
|
|
33620
34064
|
},
|
|
33621
34065
|
{
|
|
33622
34066
|
"title": "Icon",
|
|
@@ -34783,7 +35227,7 @@
|
|
|
34783
35227
|
},
|
|
34784
35228
|
{
|
|
34785
35229
|
"title": "Fixed Size",
|
|
34786
|
-
"code": "<Stack Direction=\"
|
|
35230
|
+
"code": "<Stack Direction=\"Lumeo.Orientation.Horizontal\" Align=\"center\">\n <Avatar />\n <Spacer Size=\"4\" />\n <Stack Gap=\"0\">\n <Text Weight=\"medium\" Size=\"sm\">Jane Doe</Text>\n <Text Color=\"muted\" Size=\"xs\">jane@example.com</Text>\n </Stack>\n</Stack>"
|
|
34787
35231
|
}
|
|
34788
35232
|
],
|
|
34789
35233
|
"subComponents": {},
|
|
@@ -34837,8 +35281,8 @@
|
|
|
34837
35281
|
},
|
|
34838
35282
|
{
|
|
34839
35283
|
"name": "Size",
|
|
34840
|
-
"type": "
|
|
34841
|
-
"default": "
|
|
35284
|
+
"type": "Lumeo.Size",
|
|
35285
|
+
"default": "Lumeo.Size.Md",
|
|
34842
35286
|
"description": null,
|
|
34843
35287
|
"isCascading": false,
|
|
34844
35288
|
"captureUnmatched": false
|
|
@@ -34870,15 +35314,6 @@
|
|
|
34870
35314
|
],
|
|
34871
35315
|
"events": [],
|
|
34872
35316
|
"enums": [
|
|
34873
|
-
{
|
|
34874
|
-
"name": "SparkCardSize",
|
|
34875
|
-
"values": [
|
|
34876
|
-
"Small",
|
|
34877
|
-
"Medium",
|
|
34878
|
-
"Large"
|
|
34879
|
-
],
|
|
34880
|
-
"description": null
|
|
34881
|
-
},
|
|
34882
35317
|
{
|
|
34883
35318
|
"name": "SparkCardVariant",
|
|
34884
35319
|
"values": [
|
|
@@ -35288,8 +35723,8 @@
|
|
|
35288
35723
|
"parameters": [
|
|
35289
35724
|
{
|
|
35290
35725
|
"name": "Size",
|
|
35291
|
-
"type": "
|
|
35292
|
-
"default": "
|
|
35726
|
+
"type": "Lumeo.Size",
|
|
35727
|
+
"default": "Lumeo.Size.Md",
|
|
35293
35728
|
"description": null,
|
|
35294
35729
|
"isCascading": false,
|
|
35295
35730
|
"captureUnmatched": false
|
|
@@ -35337,15 +35772,6 @@
|
|
|
35337
35772
|
],
|
|
35338
35773
|
"events": [],
|
|
35339
35774
|
"enums": [
|
|
35340
|
-
{
|
|
35341
|
-
"name": "SpinnerSize",
|
|
35342
|
-
"values": [
|
|
35343
|
-
"Sm",
|
|
35344
|
-
"Default",
|
|
35345
|
-
"Lg"
|
|
35346
|
-
],
|
|
35347
|
-
"description": null
|
|
35348
|
-
},
|
|
35349
35775
|
{
|
|
35350
35776
|
"name": "SpinnerVariant",
|
|
35351
35777
|
"values": [
|
|
@@ -35365,15 +35791,15 @@
|
|
|
35365
35791
|
"examples": [
|
|
35366
35792
|
{
|
|
35367
35793
|
"title": "Sizes",
|
|
35368
|
-
"code": "<Spinner Size=\"
|
|
35794
|
+
"code": "<Spinner Size=\"Lumeo.Size.Sm\" />\n<Spinner />\n<Spinner Size=\"Lumeo.Size.Lg\" />"
|
|
35369
35795
|
},
|
|
35370
35796
|
{
|
|
35371
35797
|
"title": "With Text",
|
|
35372
|
-
"code": "<Flex Align=\"center\" Gap=\"2\">\n <Spinner Size=\"
|
|
35798
|
+
"code": "<Flex Align=\"center\" Gap=\"2\">\n <Spinner Size=\"Lumeo.Size.Sm\" />\n <Lumeo.Text As=\"span\" Size=\"sm\" Color=\"muted\">Loading...</Lumeo.Text>\n</Flex>"
|
|
35373
35799
|
},
|
|
35374
35800
|
{
|
|
35375
35801
|
"title": "In a Button",
|
|
35376
|
-
"code": "<Button Disabled=\"true\">\n <Spinner Size=\"
|
|
35802
|
+
"code": "<Button Disabled=\"true\">\n <Spinner Size=\"Lumeo.Size.Sm\" Class=\"mr-2\" />\n Please wait\n</Button>"
|
|
35377
35803
|
},
|
|
35378
35804
|
{
|
|
35379
35805
|
"title": "Variant — interactive",
|
|
@@ -35521,8 +35947,8 @@
|
|
|
35521
35947
|
"parameters": [
|
|
35522
35948
|
{
|
|
35523
35949
|
"name": "Orientation",
|
|
35524
|
-
"type": "
|
|
35525
|
-
"default": "
|
|
35950
|
+
"type": "Lumeo.Orientation",
|
|
35951
|
+
"default": "Lumeo.Orientation.Horizontal",
|
|
35526
35952
|
"description": null,
|
|
35527
35953
|
"isCascading": false,
|
|
35528
35954
|
"captureUnmatched": false
|
|
@@ -35553,20 +35979,11 @@
|
|
|
35553
35979
|
}
|
|
35554
35980
|
],
|
|
35555
35981
|
"events": [],
|
|
35556
|
-
"enums": [
|
|
35557
|
-
{
|
|
35558
|
-
"name": "SplitterOrientation",
|
|
35559
|
-
"values": [
|
|
35560
|
-
"Horizontal",
|
|
35561
|
-
"Vertical"
|
|
35562
|
-
],
|
|
35563
|
-
"description": null
|
|
35564
|
-
}
|
|
35565
|
-
],
|
|
35982
|
+
"enums": [],
|
|
35566
35983
|
"records": [
|
|
35567
35984
|
{
|
|
35568
35985
|
"name": "SplitterContext",
|
|
35569
|
-
"signature": "SplitterContext(\n string GroupId,\n
|
|
35986
|
+
"signature": "SplitterContext(\n string GroupId,\n Lumeo.Orientation Orientation,\n List<object> Children,\n Action<object> RegisterChild,\n Action<object> UnregisterChild,\n Func<object, double, Task> ResizeNeighbors\n )",
|
|
35570
35987
|
"description": null
|
|
35571
35988
|
}
|
|
35572
35989
|
],
|
|
@@ -35578,19 +35995,19 @@
|
|
|
35578
35995
|
"examples": [
|
|
35579
35996
|
{
|
|
35580
35997
|
"title": "Two Panes — Horizontal",
|
|
35581
|
-
"code": "<Splitter Orientation=\"
|
|
35998
|
+
"code": "<Splitter Orientation=\"Lumeo.Orientation.Horizontal\"\n Class=\"min-h-[200px] rounded-lg border\">\n <SplitterPane Size=\"50\">Left</SplitterPane>\n <SplitterDivider />\n <SplitterPane Size=\"50\">Right</SplitterPane>\n</Splitter>"
|
|
35582
35999
|
},
|
|
35583
36000
|
{
|
|
35584
36001
|
"title": "Three Panes — Sidebar + Main + Aside",
|
|
35585
|
-
"code": "<Splitter Orientation=\"
|
|
36002
|
+
"code": "<Splitter Orientation=\"Lumeo.Orientation.Horizontal\"\n Class=\"min-h-[260px] rounded-lg border\">\n <SplitterPane Size=\"20\" MinSize=\"10\">Sidebar</SplitterPane>\n <SplitterDivider />\n <SplitterPane Size=\"55\">Main</SplitterPane>\n <SplitterDivider />\n <SplitterPane Size=\"25\" MinSize=\"10\">Aside</SplitterPane>\n</Splitter>"
|
|
35586
36003
|
},
|
|
35587
36004
|
{
|
|
35588
36005
|
"title": "Vertical Stack",
|
|
35589
|
-
"code": "<Splitter Orientation=\"
|
|
36006
|
+
"code": "<Splitter Orientation=\"Lumeo.Orientation.Vertical\"\n Class=\"h-[320px] rounded-lg border\">\n <SplitterPane Size=\"60\">Editor</SplitterPane>\n <SplitterDivider />\n <SplitterPane Size=\"40\">Terminal</SplitterPane>\n</Splitter>"
|
|
35590
36007
|
},
|
|
35591
36008
|
{
|
|
35592
36009
|
"title": "Nested — Horizontal containing Vertical",
|
|
35593
|
-
"code": "<Splitter Orientation=\"
|
|
36010
|
+
"code": "<Splitter Orientation=\"Lumeo.Orientation.Horizontal\"\n Class=\"h-[360px] rounded-lg border\">\n <SplitterPane Size=\"25\">Files</SplitterPane>\n <SplitterDivider />\n <SplitterPane Size=\"75\">\n <Splitter Orientation=\"Lumeo.Orientation.Vertical\" Class=\"h-full\">\n <SplitterPane Size=\"65\">Code</SplitterPane>\n <SplitterDivider />\n <SplitterPane Size=\"35\">Output</SplitterPane>\n </Splitter>\n </SplitterPane>\n</Splitter>"
|
|
35594
36011
|
}
|
|
35595
36012
|
],
|
|
35596
36013
|
"subComponents": {
|
|
@@ -35733,8 +36150,8 @@
|
|
|
35733
36150
|
"parameters": [
|
|
35734
36151
|
{
|
|
35735
36152
|
"name": "Direction",
|
|
35736
|
-
"type": "
|
|
35737
|
-
"default": "
|
|
36153
|
+
"type": "Lumeo.Orientation",
|
|
36154
|
+
"default": "Lumeo.Orientation.Vertical",
|
|
35738
36155
|
"description": null,
|
|
35739
36156
|
"isCascading": false,
|
|
35740
36157
|
"captureUnmatched": false
|
|
@@ -35797,16 +36214,7 @@
|
|
|
35797
36214
|
}
|
|
35798
36215
|
],
|
|
35799
36216
|
"events": [],
|
|
35800
|
-
"enums": [
|
|
35801
|
-
{
|
|
35802
|
-
"name": "StackDirection",
|
|
35803
|
-
"values": [
|
|
35804
|
-
"Vertical",
|
|
35805
|
-
"Horizontal"
|
|
35806
|
-
],
|
|
35807
|
-
"description": null
|
|
35808
|
-
}
|
|
35809
|
-
],
|
|
36217
|
+
"enums": [],
|
|
35810
36218
|
"records": [],
|
|
35811
36219
|
"cssVars": [
|
|
35812
36220
|
"--color-foreground"
|
|
@@ -35818,15 +36226,15 @@
|
|
|
35818
36226
|
},
|
|
35819
36227
|
{
|
|
35820
36228
|
"title": "Horizontal",
|
|
35821
|
-
"code": "<Stack Direction=\"
|
|
36229
|
+
"code": "<Stack Direction=\"Lumeo.Orientation.Horizontal\" Gap=\"3\">\n <div>Item 1</div>\n <div>Item 2</div>\n <div>Item 3</div>\n</Stack>"
|
|
35822
36230
|
},
|
|
35823
36231
|
{
|
|
35824
36232
|
"title": "Gap Sizes",
|
|
35825
|
-
"code": "<Stack Direction=\"
|
|
36233
|
+
"code": "<Stack Direction=\"Lumeo.Orientation.Horizontal\" Gap=\"1\">...</Stack>\n<Stack Direction=\"Lumeo.Orientation.Horizontal\" Gap=\"4\">...</Stack>\n<Stack Direction=\"Lumeo.Orientation.Horizontal\" Gap=\"8\">...</Stack>"
|
|
35826
36234
|
},
|
|
35827
36235
|
{
|
|
35828
36236
|
"title": "Alignment",
|
|
35829
|
-
"code": "<Stack Direction=\"
|
|
36237
|
+
"code": "<Stack Direction=\"Lumeo.Orientation.Horizontal\" Gap=\"4\" Align=\"center\" Justify=\"between\" Class=\"w-full\">\n <div>Item 1</div>\n <div>Item 2</div>\n <div>Item 3</div>\n</Stack>"
|
|
35830
36238
|
}
|
|
35831
36239
|
],
|
|
35832
36240
|
"subComponents": {},
|
|
@@ -35920,8 +36328,8 @@
|
|
|
35920
36328
|
},
|
|
35921
36329
|
{
|
|
35922
36330
|
"name": "Size",
|
|
35923
|
-
"type": "
|
|
35924
|
-
"default": "
|
|
36331
|
+
"type": "Lumeo.Size",
|
|
36332
|
+
"default": "Lumeo.Size.Md",
|
|
35925
36333
|
"description": null,
|
|
35926
36334
|
"isCascading": false,
|
|
35927
36335
|
"captureUnmatched": false
|
|
@@ -35961,15 +36369,6 @@
|
|
|
35961
36369
|
],
|
|
35962
36370
|
"description": null
|
|
35963
36371
|
},
|
|
35964
|
-
{
|
|
35965
|
-
"name": "StatisticSize",
|
|
35966
|
-
"values": [
|
|
35967
|
-
"Small",
|
|
35968
|
-
"Medium",
|
|
35969
|
-
"Large"
|
|
35970
|
-
],
|
|
35971
|
-
"description": null
|
|
35972
|
-
},
|
|
35973
36372
|
{
|
|
35974
36373
|
"name": "StatisticVariant",
|
|
35975
36374
|
"values": [
|
|
@@ -36000,7 +36399,7 @@
|
|
|
36000
36399
|
},
|
|
36001
36400
|
{
|
|
36002
36401
|
"title": "Size (interactive)",
|
|
36003
|
-
"code": "<Segmented @bind-Value=\"_size\">\n <SegmentedItem Value=\"@
|
|
36402
|
+
"code": "<Segmented @bind-Value=\"_size\">\n <SegmentedItem Value=\"@Lumeo.Size.Sm\">Small</SegmentedItem>\n <SegmentedItem Value=\"@Lumeo.Size.Md\">Medium</SegmentedItem>\n <SegmentedItem Value=\"@Lumeo.Size.Lg\">Large</SegmentedItem>\n</Segmented>\n<Statistic Title=\"Monthly Revenue\" Value=\"48,290\" Size=\"@_size\" ShowTrend=\"true\" TrendValue=\"+12%\" TrendDirection=\"Statistic.TrendType.Up\">\n <Prefix><Lumeo.Text As=\"span\">$</Lumeo.Text></Prefix>\n</Statistic>\n\n@code { private Lumeo.Size _size = Lumeo.Size.Md; }"
|
|
36004
36403
|
},
|
|
36005
36404
|
{
|
|
36006
36405
|
"title": "Variant (interactive)",
|
|
@@ -36051,8 +36450,8 @@
|
|
|
36051
36450
|
},
|
|
36052
36451
|
{
|
|
36053
36452
|
"name": "Orientation",
|
|
36054
|
-
"type": "
|
|
36055
|
-
"default": "
|
|
36453
|
+
"type": "Lumeo.Orientation",
|
|
36454
|
+
"default": "Lumeo.Orientation.Horizontal",
|
|
36056
36455
|
"description": null,
|
|
36057
36456
|
"isCascading": false,
|
|
36058
36457
|
"captureUnmatched": false
|
|
@@ -36134,20 +36533,11 @@
|
|
|
36134
36533
|
"description": null
|
|
36135
36534
|
}
|
|
36136
36535
|
],
|
|
36137
|
-
"enums": [
|
|
36138
|
-
{
|
|
36139
|
-
"name": "StepperOrientation",
|
|
36140
|
-
"values": [
|
|
36141
|
-
"Horizontal",
|
|
36142
|
-
"Vertical"
|
|
36143
|
-
],
|
|
36144
|
-
"description": null
|
|
36145
|
-
}
|
|
36146
|
-
],
|
|
36536
|
+
"enums": [],
|
|
36147
36537
|
"records": [
|
|
36148
36538
|
{
|
|
36149
36539
|
"name": "StepperContext",
|
|
36150
|
-
"signature": "StepperContext(\n int ActiveStep,\n EventCallback<int> SetActiveStep,\n
|
|
36540
|
+
"signature": "StepperContext(\n int ActiveStep,\n EventCallback<int> SetActiveStep,\n Lumeo.Orientation Orientation,\n bool Linear,\n int StepCount,\n Stepper Parent)",
|
|
36151
36541
|
"description": null
|
|
36152
36542
|
}
|
|
36153
36543
|
],
|
|
@@ -36174,11 +36564,11 @@
|
|
|
36174
36564
|
},
|
|
36175
36565
|
{
|
|
36176
36566
|
"title": "Vertical Orientation",
|
|
36177
|
-
"code": "<Stepper @bind-ActiveStep=\"_step\" Orientation=\"
|
|
36567
|
+
"code": "<Stepper @bind-ActiveStep=\"_step\" Orientation=\"Lumeo.Orientation.Vertical\">\n <StepperStep Title=\"Choose plan\" Description=\"Pick a subscription\">\n <Lumeo.Text Size=\"sm\" Color=\"muted\">Select the plan that fits your needs.</Lumeo.Text>\n </StepperStep>\n <StepperStep Title=\"Payment\" Description=\"Enter billing details\">\n <Input Placeholder=\"Card number\" />\n </StepperStep>\n <StepperStep Title=\"Confirm\">\n <Lumeo.Text Size=\"sm\" Color=\"muted\">Confirm and activate.</Lumeo.Text>\n </StepperStep>\n</Stepper>"
|
|
36178
36568
|
},
|
|
36179
36569
|
{
|
|
36180
36570
|
"title": "Orientation — interactive",
|
|
36181
|
-
"code": "<Segmented @bind-Value=\"_orientationSel\" Options=\"_orientationOptions\" />\n<Stepper @bind-ActiveStep=\"_step\" Orientation=\"@
|
|
36571
|
+
"code": "<Segmented @bind-Value=\"_orientationSel\" Options=\"_orientationOptions\" />\n<Stepper @bind-ActiveStep=\"_step\" Orientation=\"@_activeOrientation\">\n <StepperStep Title=\"Account Info\" Description=\"Set up your account\">\n <Input Placeholder=\"Email address\" />\n </StepperStep>\n <StepperStep Title=\"Profile\" Description=\"Personalize your profile\">\n <Input Placeholder=\"Display name\" />\n </StepperStep>\n <StepperStep Title=\"Review\" Description=\"Confirm your details\">\n <Lumeo.Text Size=\"sm\" Color=\"muted\">Review your information.</Lumeo.Text>\n </StepperStep>\n</Stepper>\n\n@code {\n private string _orientationSel = \"Horizontal\";\n private Lumeo.Orientation _activeOrientation =>\n Enum.Parse<Lumeo.Orientation>(_orientationSel);\n private List<Segmented.SegmentedOption> _orientationOptions = new()\n {\n new() { Label = \"Horizontal\", Value = \"Horizontal\" },\n new() { Label = \"Vertical\", Value = \"Vertical\" },\n };\n}"
|
|
36182
36572
|
}
|
|
36183
36573
|
],
|
|
36184
36574
|
"subComponents": {
|
|
@@ -36342,8 +36732,8 @@
|
|
|
36342
36732
|
},
|
|
36343
36733
|
{
|
|
36344
36734
|
"name": "Orientation",
|
|
36345
|
-
"type": "
|
|
36346
|
-
"default": "
|
|
36735
|
+
"type": "Lumeo.Orientation",
|
|
36736
|
+
"default": "Lumeo.Orientation.Horizontal",
|
|
36347
36737
|
"description": null,
|
|
36348
36738
|
"isCascading": false,
|
|
36349
36739
|
"captureUnmatched": false
|
|
@@ -36381,27 +36771,19 @@
|
|
|
36381
36771
|
}
|
|
36382
36772
|
],
|
|
36383
36773
|
"enums": [
|
|
36384
|
-
{
|
|
36385
|
-
"name": "StepsOrientation",
|
|
36386
|
-
"values": [
|
|
36387
|
-
"Horizontal",
|
|
36388
|
-
"Vertical"
|
|
36389
|
-
],
|
|
36390
|
-
"description": null
|
|
36391
|
-
},
|
|
36392
36774
|
{
|
|
36393
36775
|
"name": "StepsDirection",
|
|
36394
36776
|
"values": [
|
|
36395
36777
|
"Forward",
|
|
36396
36778
|
"Backward"
|
|
36397
36779
|
],
|
|
36398
|
-
"description":
|
|
36780
|
+
"description": "Direction of the user's most recent step transition. Drives the animated connector keyframes (forward draw vs reverse unwind). Component-specific (not a navigation direction in the cardinal sense), so intentionally NOT replaced by Side."
|
|
36399
36781
|
}
|
|
36400
36782
|
],
|
|
36401
36783
|
"records": [
|
|
36402
36784
|
{
|
|
36403
36785
|
"name": "StepsContext",
|
|
36404
|
-
"signature": "StepsContext(int CurrentStep, bool Clickable, EventCallback<int> OnStepClick,
|
|
36786
|
+
"signature": "StepsContext(int CurrentStep, bool Clickable, EventCallback<int> OnStepClick, Lumeo.Orientation Orientation, bool Animated, StepsDirection Direction, int ReplayKey, Steps Parent)",
|
|
36405
36787
|
"description": null
|
|
36406
36788
|
}
|
|
36407
36789
|
],
|
|
@@ -36428,11 +36810,11 @@
|
|
|
36428
36810
|
},
|
|
36429
36811
|
{
|
|
36430
36812
|
"title": "Vertical Steps",
|
|
36431
|
-
"code": "<Steps CurrentStep=\"2\" Orientation=\"
|
|
36813
|
+
"code": "<Steps CurrentStep=\"2\" Orientation=\"Lumeo.Orientation.Vertical\">\n <StepsItem Title=\"Sign Up\" Description=\"Create an account\" />\n <StepsItem Title=\"Verify Email\" Description=\"Confirm your email\" />\n <StepsItem Title=\"Set Password\" Description=\"Choose a password\" />\n <StepsItem Title=\"Done\" Description=\"Start using the app\" />\n</Steps>"
|
|
36432
36814
|
},
|
|
36433
36815
|
{
|
|
36434
36816
|
"title": "Orientation (interactive)",
|
|
36435
|
-
"code": "<Segmented @bind-Value=\"_orientation\">\n <SegmentedItem Value=\"@
|
|
36817
|
+
"code": "<Segmented @bind-Value=\"_orientation\">\n <SegmentedItem Value=\"@Lumeo.Orientation.Horizontal\">Horizontal</SegmentedItem>\n <SegmentedItem Value=\"@Lumeo.Orientation.Vertical\">Vertical</SegmentedItem>\n</Segmented>\n<Steps CurrentStep=\"1\" Orientation=\"@_orientation\">\n <StepsItem Title=\"Account\" Description=\"Create your account\" />\n <StepsItem Title=\"Profile\" Description=\"Set up your profile\" />\n <StepsItem Title=\"Payment\" Description=\"Add billing info\" />\n <StepsItem Title=\"Done\" Description=\"All finished\" />\n</Steps>\n\n@code { private Lumeo.Orientation _orientation = Lumeo.Orientation.Horizontal; }"
|
|
36436
36818
|
}
|
|
36437
36819
|
],
|
|
36438
36820
|
"subComponents": {
|
|
@@ -36821,9 +37203,9 @@
|
|
|
36821
37203
|
},
|
|
36822
37204
|
{
|
|
36823
37205
|
"name": "Size",
|
|
36824
|
-
"type": "
|
|
36825
|
-
"default": "
|
|
36826
|
-
"description":
|
|
37206
|
+
"type": "Lumeo.Size",
|
|
37207
|
+
"default": "Lumeo.Size.Md",
|
|
37208
|
+
"description": "Switch size. Supports Sm, Md (default), Lg.",
|
|
36827
37209
|
"isCascading": false,
|
|
36828
37210
|
"captureUnmatched": false
|
|
36829
37211
|
},
|
|
@@ -36867,17 +37249,7 @@
|
|
|
36867
37249
|
"description": null
|
|
36868
37250
|
}
|
|
36869
37251
|
],
|
|
36870
|
-
"enums": [
|
|
36871
|
-
{
|
|
36872
|
-
"name": "SwitchSize",
|
|
36873
|
-
"values": [
|
|
36874
|
-
"Sm",
|
|
36875
|
-
"Default",
|
|
36876
|
-
"Lg"
|
|
36877
|
-
],
|
|
36878
|
-
"description": null
|
|
36879
|
-
}
|
|
36880
|
-
],
|
|
37252
|
+
"enums": [],
|
|
36881
37253
|
"records": [],
|
|
36882
37254
|
"cssVars": [
|
|
36883
37255
|
"--color-background",
|
|
@@ -37223,7 +37595,9 @@
|
|
|
37223
37595
|
"files": [
|
|
37224
37596
|
"UI/Tabs/Tabs.razor",
|
|
37225
37597
|
"UI/Tabs/TabsContent.razor",
|
|
37598
|
+
"UI/Tabs/TabsLayout.cs",
|
|
37226
37599
|
"UI/Tabs/TabsList.razor",
|
|
37600
|
+
"UI/Tabs/TabsReorderEventArgs.cs",
|
|
37227
37601
|
"UI/Tabs/TabsTrigger.razor"
|
|
37228
37602
|
],
|
|
37229
37603
|
"namespace": "Lumeo",
|
|
@@ -37256,8 +37630,8 @@
|
|
|
37256
37630
|
},
|
|
37257
37631
|
{
|
|
37258
37632
|
"name": "Orientation",
|
|
37259
|
-
"type": "
|
|
37260
|
-
"default": "
|
|
37633
|
+
"type": "Lumeo.Orientation",
|
|
37634
|
+
"default": "Lumeo.Orientation.Horizontal",
|
|
37261
37635
|
"description": null,
|
|
37262
37636
|
"isCascading": false,
|
|
37263
37637
|
"captureUnmatched": false
|
|
@@ -37327,14 +37701,6 @@
|
|
|
37327
37701
|
}
|
|
37328
37702
|
],
|
|
37329
37703
|
"enums": [
|
|
37330
|
-
{
|
|
37331
|
-
"name": "TabsOrientation",
|
|
37332
|
-
"values": [
|
|
37333
|
-
"Horizontal",
|
|
37334
|
-
"Vertical"
|
|
37335
|
-
],
|
|
37336
|
-
"description": null
|
|
37337
|
-
},
|
|
37338
37704
|
{
|
|
37339
37705
|
"name": "TabsVariant",
|
|
37340
37706
|
"values": [
|
|
@@ -37357,7 +37723,7 @@
|
|
|
37357
37723
|
"records": [
|
|
37358
37724
|
{
|
|
37359
37725
|
"name": "TabsContext",
|
|
37360
|
-
"signature": "TabsContext(\n string ActiveValue,\n EventCallback<string> SetValue,\n
|
|
37726
|
+
"signature": "TabsContext(\n string ActiveValue,\n EventCallback<string> SetValue,\n Lumeo.Orientation Orientation,\n TabsVariant Variant,\n Dictionary<string, (string TabId, string PanelId)> TabIds,\n bool AnimatedIndicator,\n TabsRenderMode RenderMode,\n HashSet<string> ActivatedValues,\n bool SwipeEnabled,\n bool SwipeWrap,\n Action<string> RegisterContent,\n Func<string, Task> SwipeNavigate,\n TabsReorderState Reorder)",
|
|
37361
37727
|
"description": null
|
|
37362
37728
|
}
|
|
37363
37729
|
],
|
|
@@ -37384,7 +37750,7 @@
|
|
|
37384
37750
|
},
|
|
37385
37751
|
{
|
|
37386
37752
|
"title": "Vertical Tabs",
|
|
37387
|
-
"code": "<Tabs Orientation=\"
|
|
37753
|
+
"code": "<Tabs Orientation=\"Lumeo.Orientation.Vertical\" @bind-ActiveValue=\"_verticalTab\" Class=\"flex gap-4\">\n <TabsList>\n <TabsTrigger Value=\"account\">Account</TabsTrigger>\n <TabsTrigger Value=\"security\">Security</TabsTrigger>\n <TabsTrigger Value=\"notifications\">Notifications</TabsTrigger>\n </TabsList>\n <div class=\"flex-1\">\n <TabsContent Value=\"account\">\n <Card>\n <CardHeader><CardTitle>Account</CardTitle><CardDescription>Manage your account settings.</CardDescription></CardHeader>\n <CardContent><Lumeo.Text Size=\"sm\" Color=\"muted\">Account settings content goes here.</Lumeo.Text></CardContent>\n </Card>\n </TabsContent>\n <TabsContent Value=\"security\">\n <Card>\n <CardHeader><CardTitle>Security</CardTitle><CardDescription>Update your security preferences.</CardDescription></CardHeader>\n <CardContent><Lumeo.Text Size=\"sm\" Color=\"muted\">Security settings content goes here.</Lumeo.Text></CardContent>\n </Card>\n </TabsContent>\n <TabsContent Value=\"notifications\">\n <Card>\n <CardHeader><CardTitle>Notifications</CardTitle><CardDescription>Configure notification preferences.</CardDescription></CardHeader>\n <CardContent><Lumeo.Text Size=\"sm\" Color=\"muted\">Notification settings content goes here.</Lumeo.Text></CardContent>\n </Card>\n </TabsContent>\n </div>\n</Tabs>\n\n@code {\n private string _verticalTab = \"account\";\n}"
|
|
37388
37754
|
},
|
|
37389
37755
|
{
|
|
37390
37756
|
"title": "Simple",
|
|
@@ -37497,6 +37863,38 @@
|
|
|
37497
37863
|
"isCascading": false,
|
|
37498
37864
|
"captureUnmatched": false
|
|
37499
37865
|
},
|
|
37866
|
+
{
|
|
37867
|
+
"name": "Reorderable",
|
|
37868
|
+
"type": "bool",
|
|
37869
|
+
"default": null,
|
|
37870
|
+
"description": "When true, each enabled TabsTrigger becomes draggable (HTML5 drag-and-drop on desktop, touch drag on mobile). On a successful reorder the library raises OnReorder with the from/to indices and moved value — the library does NOT mutate the order. The consumer's handler is responsible for updating the underlying collection and re-rendering.",
|
|
37871
|
+
"isCascading": false,
|
|
37872
|
+
"captureUnmatched": false
|
|
37873
|
+
},
|
|
37874
|
+
{
|
|
37875
|
+
"name": "OnReorder",
|
|
37876
|
+
"type": "EventCallback<TabsReorderEventArgs>",
|
|
37877
|
+
"default": null,
|
|
37878
|
+
"description": "Fires when the user drops a dragged TabsTrigger on a new position. Only meaningful when Reorderable is true.",
|
|
37879
|
+
"isCascading": false,
|
|
37880
|
+
"captureUnmatched": false
|
|
37881
|
+
},
|
|
37882
|
+
{
|
|
37883
|
+
"name": "SavedLayout",
|
|
37884
|
+
"type": "TabsLayout?",
|
|
37885
|
+
"default": null,
|
|
37886
|
+
"description": "Optional previously-persisted tab ordering. The library does not mutate the consumer's backing collection on its own — pass this to your parent component on init and apply Order to your collection before rendering. Mirrors DataGrid's SavedLayout parameter and pairs with OnLayoutChanged to round-trip the order through your storage of choice.",
|
|
37887
|
+
"isCascading": false,
|
|
37888
|
+
"captureUnmatched": false
|
|
37889
|
+
},
|
|
37890
|
+
{
|
|
37891
|
+
"name": "OnLayoutChanged",
|
|
37892
|
+
"type": "EventCallback<TabsLayout>",
|
|
37893
|
+
"default": null,
|
|
37894
|
+
"description": "Fires immediately after each successful reorder with the post-drop tab order, so the consumer can persist it (e.g. to local storage). The snapshot reflects the order the consumer's collection will have once it applies the corresponding OnReorder. Only meaningful when Reorderable is true. Pairs with SavedLayout to round-trip the order through storage.",
|
|
37895
|
+
"isCascading": false,
|
|
37896
|
+
"captureUnmatched": false
|
|
37897
|
+
},
|
|
37500
37898
|
{
|
|
37501
37899
|
"name": "Class",
|
|
37502
37900
|
"type": "string?",
|
|
@@ -37514,7 +37912,18 @@
|
|
|
37514
37912
|
"captureUnmatched": true
|
|
37515
37913
|
}
|
|
37516
37914
|
],
|
|
37517
|
-
"events": [
|
|
37915
|
+
"events": [
|
|
37916
|
+
{
|
|
37917
|
+
"name": "OnReorder",
|
|
37918
|
+
"type": "EventCallback<TabsReorderEventArgs>",
|
|
37919
|
+
"description": "Fires when the user drops a dragged TabsTrigger on a new position. Only meaningful when Reorderable is true."
|
|
37920
|
+
},
|
|
37921
|
+
{
|
|
37922
|
+
"name": "OnLayoutChanged",
|
|
37923
|
+
"type": "EventCallback<TabsLayout>",
|
|
37924
|
+
"description": "Fires immediately after each successful reorder with the post-drop tab order, so the consumer can persist it (e.g. to local storage). The snapshot reflects the order the consumer's collection will have once it applies the corresponding OnReorder. Only meaningful when Reorderable is true. Pairs with SavedLayout to round-trip the order through storage."
|
|
37925
|
+
}
|
|
37926
|
+
],
|
|
37518
37927
|
"enums": [],
|
|
37519
37928
|
"records": [],
|
|
37520
37929
|
"parseFailed": false,
|
|
@@ -38452,8 +38861,8 @@
|
|
|
38452
38861
|
},
|
|
38453
38862
|
{
|
|
38454
38863
|
"name": "Orientation",
|
|
38455
|
-
"type": "
|
|
38456
|
-
"default": "
|
|
38864
|
+
"type": "Lumeo.Orientation",
|
|
38865
|
+
"default": "Lumeo.Orientation.Vertical",
|
|
38457
38866
|
"description": null,
|
|
38458
38867
|
"isCascading": false,
|
|
38459
38868
|
"captureUnmatched": false
|
|
@@ -38506,20 +38915,11 @@
|
|
|
38506
38915
|
"description": "Two-way binding callback for ActiveIndex."
|
|
38507
38916
|
}
|
|
38508
38917
|
],
|
|
38509
|
-
"enums": [
|
|
38510
|
-
{
|
|
38511
|
-
"name": "TimelineOrientation",
|
|
38512
|
-
"values": [
|
|
38513
|
-
"Vertical",
|
|
38514
|
-
"Horizontal"
|
|
38515
|
-
],
|
|
38516
|
-
"description": null
|
|
38517
|
-
}
|
|
38518
|
-
],
|
|
38918
|
+
"enums": [],
|
|
38519
38919
|
"records": [
|
|
38520
38920
|
{
|
|
38521
38921
|
"name": "TimelineContext",
|
|
38522
|
-
"signature": "TimelineContext(
|
|
38922
|
+
"signature": "TimelineContext(Lumeo.Orientation Orientation, bool Animated, int? ActiveIndex, int? PreviousActiveIndex, int ReplayKey, Timeline Parent)",
|
|
38523
38923
|
"description": null
|
|
38524
38924
|
}
|
|
38525
38925
|
],
|
|
@@ -38544,11 +38944,11 @@
|
|
|
38544
38944
|
},
|
|
38545
38945
|
{
|
|
38546
38946
|
"title": "Horizontal Timeline",
|
|
38547
|
-
"code": "<Timeline Orientation=\"
|
|
38947
|
+
"code": "<Timeline Orientation=\"Lumeo.Orientation.Horizontal\">\n <TimelineItem Title=\"Step 1\" Description=\"Planning\" />\n <TimelineItem Title=\"Step 2\" Description=\"Design\" />\n <TimelineItem Title=\"Step 3\" Description=\"Development\" />\n <TimelineItem Title=\"Step 4\" Description=\"Launch\" />\n</Timeline>"
|
|
38548
38948
|
},
|
|
38549
38949
|
{
|
|
38550
38950
|
"title": "Orientation (interactive)",
|
|
38551
|
-
"code": "<Segmented @bind-Value=\"_orientation\">\n <SegmentedItem Value=\"@
|
|
38951
|
+
"code": "<Segmented @bind-Value=\"_orientation\">\n <SegmentedItem Value=\"@Lumeo.Orientation.Vertical\">Vertical</SegmentedItem>\n <SegmentedItem Value=\"@Lumeo.Orientation.Horizontal\">Horizontal</SegmentedItem>\n</Segmented>\n<Timeline Orientation=\"@_orientation\">\n <TimelineItem Title=\"Planning\" Description=\"Scope defined\" Time=\"Jan 1\" />\n <TimelineItem Title=\"Design\" Description=\"Wireframes approved\" Time=\"Jan 8\" />\n <TimelineItem Title=\"Development\" Description=\"Sprint in progress\" Time=\"Jan 15\" />\n <TimelineItem Title=\"Launch\" Description=\"Shipped to production\" Time=\"Feb 1\" />\n</Timeline>\n\n@code { private Lumeo.Orientation _orientation = Lumeo.Orientation.Vertical; }"
|
|
38552
38952
|
}
|
|
38553
38953
|
],
|
|
38554
38954
|
"subComponents": {
|
|
@@ -38986,6 +39386,38 @@
|
|
|
38986
39386
|
"isCascading": false,
|
|
38987
39387
|
"captureUnmatched": false
|
|
38988
39388
|
},
|
|
39389
|
+
{
|
|
39390
|
+
"name": "OnMouseEnter",
|
|
39391
|
+
"type": "EventCallback",
|
|
39392
|
+
"default": null,
|
|
39393
|
+
"description": null,
|
|
39394
|
+
"isCascading": false,
|
|
39395
|
+
"captureUnmatched": false
|
|
39396
|
+
},
|
|
39397
|
+
{
|
|
39398
|
+
"name": "OnMouseLeave",
|
|
39399
|
+
"type": "EventCallback",
|
|
39400
|
+
"default": null,
|
|
39401
|
+
"description": null,
|
|
39402
|
+
"isCascading": false,
|
|
39403
|
+
"captureUnmatched": false
|
|
39404
|
+
},
|
|
39405
|
+
{
|
|
39406
|
+
"name": "OnFocusIn",
|
|
39407
|
+
"type": "EventCallback",
|
|
39408
|
+
"default": null,
|
|
39409
|
+
"description": null,
|
|
39410
|
+
"isCascading": false,
|
|
39411
|
+
"captureUnmatched": false
|
|
39412
|
+
},
|
|
39413
|
+
{
|
|
39414
|
+
"name": "OnFocusOut",
|
|
39415
|
+
"type": "EventCallback",
|
|
39416
|
+
"default": null,
|
|
39417
|
+
"description": null,
|
|
39418
|
+
"isCascading": false,
|
|
39419
|
+
"captureUnmatched": false
|
|
39420
|
+
},
|
|
38989
39421
|
{
|
|
38990
39422
|
"name": "AdditionalAttributes",
|
|
38991
39423
|
"type": "Dictionary<string, object>?",
|
|
@@ -38995,7 +39427,28 @@
|
|
|
38995
39427
|
"captureUnmatched": true
|
|
38996
39428
|
}
|
|
38997
39429
|
],
|
|
38998
|
-
"events": [
|
|
39430
|
+
"events": [
|
|
39431
|
+
{
|
|
39432
|
+
"name": "OnMouseEnter",
|
|
39433
|
+
"type": "EventCallback",
|
|
39434
|
+
"description": null
|
|
39435
|
+
},
|
|
39436
|
+
{
|
|
39437
|
+
"name": "OnMouseLeave",
|
|
39438
|
+
"type": "EventCallback",
|
|
39439
|
+
"description": null
|
|
39440
|
+
},
|
|
39441
|
+
{
|
|
39442
|
+
"name": "OnFocusIn",
|
|
39443
|
+
"type": "EventCallback",
|
|
39444
|
+
"description": null
|
|
39445
|
+
},
|
|
39446
|
+
{
|
|
39447
|
+
"name": "OnFocusOut",
|
|
39448
|
+
"type": "EventCallback",
|
|
39449
|
+
"description": null
|
|
39450
|
+
}
|
|
39451
|
+
],
|
|
38999
39452
|
"enums": [],
|
|
39000
39453
|
"records": [],
|
|
39001
39454
|
"cssVars": [
|
|
@@ -39363,8 +39816,8 @@
|
|
|
39363
39816
|
},
|
|
39364
39817
|
{
|
|
39365
39818
|
"name": "Size",
|
|
39366
|
-
"type": "
|
|
39367
|
-
"default": "
|
|
39819
|
+
"type": "Lumeo.Size",
|
|
39820
|
+
"default": "Lumeo.Size.Md",
|
|
39368
39821
|
"description": null,
|
|
39369
39822
|
"isCascading": false,
|
|
39370
39823
|
"captureUnmatched": false
|
|
@@ -39417,15 +39870,6 @@
|
|
|
39417
39870
|
"Outline"
|
|
39418
39871
|
],
|
|
39419
39872
|
"description": null
|
|
39420
|
-
},
|
|
39421
|
-
{
|
|
39422
|
-
"name": "ToggleSize",
|
|
39423
|
-
"values": [
|
|
39424
|
-
"Default",
|
|
39425
|
-
"Sm",
|
|
39426
|
-
"Lg"
|
|
39427
|
-
],
|
|
39428
|
-
"description": null
|
|
39429
39873
|
}
|
|
39430
39874
|
],
|
|
39431
39875
|
"records": [],
|
|
@@ -39449,7 +39893,7 @@
|
|
|
39449
39893
|
},
|
|
39450
39894
|
{
|
|
39451
39895
|
"title": "Sizes",
|
|
39452
|
-
"code": "<Toggle Size=\"
|
|
39896
|
+
"code": "<Toggle Size=\"Lumeo.Size.Sm\" @bind-Pressed=\"_sm\">\n <Blazicon Svg=\"Lucide.Bold\" class=\"h-3 w-3\" />\n</Toggle>\n<Toggle @bind-Pressed=\"_md\">\n <Blazicon Svg=\"Lucide.Bold\" class=\"h-4 w-4\" />\n</Toggle>\n<Toggle Size=\"Lumeo.Size.Lg\" @bind-Pressed=\"_lg\">\n <Blazicon Svg=\"Lucide.Bold\" class=\"h-5 w-5\" />\n</Toggle>"
|
|
39453
39897
|
},
|
|
39454
39898
|
{
|
|
39455
39899
|
"title": "With Text",
|
|
@@ -39500,8 +39944,8 @@
|
|
|
39500
39944
|
},
|
|
39501
39945
|
{
|
|
39502
39946
|
"name": "Size",
|
|
39503
|
-
"type": "
|
|
39504
|
-
"default": "
|
|
39947
|
+
"type": "Lumeo.Size",
|
|
39948
|
+
"default": "Lumeo.Size.Md",
|
|
39505
39949
|
"description": null,
|
|
39506
39950
|
"isCascading": false,
|
|
39507
39951
|
"captureUnmatched": false
|
|
@@ -39583,21 +40027,12 @@
|
|
|
39583
40027
|
"Outline"
|
|
39584
40028
|
],
|
|
39585
40029
|
"description": null
|
|
39586
|
-
},
|
|
39587
|
-
{
|
|
39588
|
-
"name": "ToggleGroupSize",
|
|
39589
|
-
"values": [
|
|
39590
|
-
"Default",
|
|
39591
|
-
"Sm",
|
|
39592
|
-
"Lg"
|
|
39593
|
-
],
|
|
39594
|
-
"description": null
|
|
39595
40030
|
}
|
|
39596
40031
|
],
|
|
39597
40032
|
"records": [
|
|
39598
40033
|
{
|
|
39599
40034
|
"name": "ToggleGroupContext",
|
|
39600
|
-
"signature": "ToggleGroupContext(ToggleGroupType Type, HashSet<string> SelectedItems, ToggleGroupVariant Variant,
|
|
40035
|
+
"signature": "ToggleGroupContext(ToggleGroupType Type, HashSet<string> SelectedItems, ToggleGroupVariant Variant, Lumeo.Size Size, EventCallback<string> Toggle)",
|
|
39601
40036
|
"description": null
|
|
39602
40037
|
}
|
|
39603
40038
|
],
|
|
@@ -39625,7 +40060,7 @@
|
|
|
39625
40060
|
},
|
|
39626
40061
|
{
|
|
39627
40062
|
"title": "Sizes",
|
|
39628
|
-
"code": "<ToggleGroup Type=\"ToggleGroup.ToggleGroupType.Single\" Size=\"
|
|
40063
|
+
"code": "<ToggleGroup Type=\"ToggleGroup.ToggleGroupType.Single\" Size=\"Lumeo.Size.Sm\">\n ...\n</ToggleGroup>\n\n<ToggleGroup Type=\"ToggleGroup.ToggleGroupType.Single\">\n ...\n</ToggleGroup>\n\n<ToggleGroup Type=\"ToggleGroup.ToggleGroupType.Single\" Size=\"Lumeo.Size.Lg\">\n ...\n</ToggleGroup>"
|
|
39629
40064
|
}
|
|
39630
40065
|
],
|
|
39631
40066
|
"subComponents": {
|
|
@@ -40101,7 +40536,7 @@
|
|
|
40101
40536
|
"records": [
|
|
40102
40537
|
{
|
|
40103
40538
|
"name": "TooltipContext",
|
|
40104
|
-
"signature": "TooltipContext(bool IsOpen)",
|
|
40539
|
+
"signature": "TooltipContext(bool IsOpen, string WrapperId)",
|
|
40105
40540
|
"description": null
|
|
40106
40541
|
}
|
|
40107
40542
|
],
|
|
@@ -40117,7 +40552,7 @@
|
|
|
40117
40552
|
},
|
|
40118
40553
|
{
|
|
40119
40554
|
"title": "Side Variations",
|
|
40120
|
-
"code": "<Tooltip>\n <TooltipTrigger>\n <Button Variant=\"Button.ButtonVariant.Outline\">Top</Button>\n </TooltipTrigger>\n <TooltipContent Side=\"
|
|
40555
|
+
"code": "<Tooltip>\n <TooltipTrigger>\n <Button Variant=\"Button.ButtonVariant.Outline\">Top</Button>\n </TooltipTrigger>\n <TooltipContent Side=\"Lumeo.Side.Top\">\n <p>Tooltip on top</p>\n </TooltipContent>\n</Tooltip>\n\n<Tooltip>\n <TooltipTrigger>\n <Button Variant=\"Button.ButtonVariant.Outline\">Bottom</Button>\n </TooltipTrigger>\n <TooltipContent Side=\"Lumeo.Side.Bottom\">\n <p>Tooltip on bottom</p>\n </TooltipContent>\n</Tooltip>"
|
|
40121
40556
|
},
|
|
40122
40557
|
{
|
|
40123
40558
|
"title": "With Icons",
|
|
@@ -40125,7 +40560,7 @@
|
|
|
40125
40560
|
},
|
|
40126
40561
|
{
|
|
40127
40562
|
"title": "Placement",
|
|
40128
|
-
"code": "<Tooltip>\n <TooltipTrigger><Button Variant=\"Button.ButtonVariant.Outline\">Top</Button></TooltipTrigger>\n <TooltipContent Side=\"
|
|
40563
|
+
"code": "<Tooltip>\n <TooltipTrigger><Button Variant=\"Button.ButtonVariant.Outline\">Top</Button></TooltipTrigger>\n <TooltipContent Side=\"Lumeo.Side.Top\">Top tooltip</TooltipContent>\n</Tooltip>\n<Tooltip>\n <TooltipTrigger><Button Variant=\"Button.ButtonVariant.Outline\">Bottom</Button></TooltipTrigger>\n <TooltipContent Side=\"Lumeo.Side.Bottom\">Bottom tooltip</TooltipContent>\n</Tooltip>\n<Tooltip>\n <TooltipTrigger><Button Variant=\"Button.ButtonVariant.Outline\">Left</Button></TooltipTrigger>\n <TooltipContent Side=\"Lumeo.Side.Left\">Left tooltip</TooltipContent>\n</Tooltip>\n<Tooltip>\n <TooltipTrigger><Button Variant=\"Button.ButtonVariant.Outline\">Right</Button></TooltipTrigger>\n <TooltipContent Side=\"Lumeo.Side.Right\">Right tooltip</TooltipContent>\n</Tooltip>"
|
|
40129
40564
|
}
|
|
40130
40565
|
],
|
|
40131
40566
|
"subComponents": {
|
|
@@ -40134,7 +40569,9 @@
|
|
|
40134
40569
|
"fileName": "TooltipContent.razor",
|
|
40135
40570
|
"namespace": "Lumeo",
|
|
40136
40571
|
"inheritsFrom": null,
|
|
40137
|
-
"implements": [
|
|
40572
|
+
"implements": [
|
|
40573
|
+
"IAsyncDisposable"
|
|
40574
|
+
],
|
|
40138
40575
|
"parameters": [
|
|
40139
40576
|
{
|
|
40140
40577
|
"name": "Context",
|
|
@@ -40154,8 +40591,8 @@
|
|
|
40154
40591
|
},
|
|
40155
40592
|
{
|
|
40156
40593
|
"name": "Side",
|
|
40157
|
-
"type": "
|
|
40158
|
-
"default": "
|
|
40594
|
+
"type": "Lumeo.Side",
|
|
40595
|
+
"default": "Lumeo.Side.Top",
|
|
40159
40596
|
"description": null,
|
|
40160
40597
|
"isCascading": false,
|
|
40161
40598
|
"captureUnmatched": false
|
|
@@ -40194,18 +40631,7 @@
|
|
|
40194
40631
|
}
|
|
40195
40632
|
],
|
|
40196
40633
|
"events": [],
|
|
40197
|
-
"enums": [
|
|
40198
|
-
{
|
|
40199
|
-
"name": "TooltipSide",
|
|
40200
|
-
"values": [
|
|
40201
|
-
"Top",
|
|
40202
|
-
"Bottom",
|
|
40203
|
-
"Left",
|
|
40204
|
-
"Right"
|
|
40205
|
-
],
|
|
40206
|
-
"description": null
|
|
40207
|
-
}
|
|
40208
|
-
],
|
|
40634
|
+
"enums": [],
|
|
40209
40635
|
"records": [],
|
|
40210
40636
|
"parseFailed": false,
|
|
40211
40637
|
"parseError": null
|
|
@@ -40481,22 +40907,11 @@
|
|
|
40481
40907
|
"description": null
|
|
40482
40908
|
}
|
|
40483
40909
|
],
|
|
40484
|
-
"enums": [
|
|
40485
|
-
{
|
|
40486
|
-
"name": "TourPlacement",
|
|
40487
|
-
"values": [
|
|
40488
|
-
"Top",
|
|
40489
|
-
"Bottom",
|
|
40490
|
-
"Left",
|
|
40491
|
-
"Right"
|
|
40492
|
-
],
|
|
40493
|
-
"description": null
|
|
40494
|
-
}
|
|
40495
|
-
],
|
|
40910
|
+
"enums": [],
|
|
40496
40911
|
"records": [
|
|
40497
40912
|
{
|
|
40498
40913
|
"name": "TourStepConfig",
|
|
40499
|
-
"signature": "TourStepConfig(string? TargetSelector, string Title, string? Description = null,
|
|
40914
|
+
"signature": "TourStepConfig(string? TargetSelector, string Title, string? Description = null, Lumeo.Side Placement = Lumeo.Side.Bottom)",
|
|
40500
40915
|
"description": null
|
|
40501
40916
|
}
|
|
40502
40917
|
],
|
|
@@ -40517,11 +40932,11 @@
|
|
|
40517
40932
|
"examples": [
|
|
40518
40933
|
{
|
|
40519
40934
|
"title": "Basic Tour",
|
|
40520
|
-
"code": "<Flex Class=\"gap-3 flex-wrap\">\n <Button id=\"tour-feature-1\" Variant=\"Button.ButtonVariant.Outline\">Dashboard</Button>\n <Button id=\"tour-feature-2\" Variant=\"Button.ButtonVariant.Outline\">Team</Button>\n <Button id=\"tour-feature-3\" Variant=\"Button.ButtonVariant.Outline\">Settings</Button>\n</Flex>\n<Button Variant=\"Button.ButtonVariant.Default\" OnClick=\"@(() => _tourOpen = true)\">\n Start Tour\n</Button>\n\n<Tour @bind-Open=\"_tourOpen\"\n Steps=\"@_tourSteps\"\n OnComplete=\"@HandleComplete\"\n OnSkip=\"@(() => _tourOpen = false)\" />\n\n@code {\n private bool _tourOpen;\n\n private List<Tour.TourStepConfig> _tourSteps = new()\n {\n new(\"#tour-feature-1\", \"Dashboard\", \"Get an overview of your key metrics.\",
|
|
40935
|
+
"code": "<Flex Class=\"gap-3 flex-wrap\">\n <Button id=\"tour-feature-1\" Variant=\"Button.ButtonVariant.Outline\">Dashboard</Button>\n <Button id=\"tour-feature-2\" Variant=\"Button.ButtonVariant.Outline\">Team</Button>\n <Button id=\"tour-feature-3\" Variant=\"Button.ButtonVariant.Outline\">Settings</Button>\n</Flex>\n<Button Variant=\"Button.ButtonVariant.Default\" OnClick=\"@(() => _tourOpen = true)\">\n Start Tour\n</Button>\n\n<Tour @bind-Open=\"_tourOpen\"\n Steps=\"@_tourSteps\"\n OnComplete=\"@HandleComplete\"\n OnSkip=\"@(() => _tourOpen = false)\" />\n\n@code {\n private bool _tourOpen;\n\n private List<Tour.TourStepConfig> _tourSteps = new()\n {\n new(\"#tour-feature-1\", \"Dashboard\", \"Get an overview of your key metrics.\", Lumeo.Side.Bottom),\n new(\"#tour-feature-2\", \"Team Management\", \"Invite members and manage permissions.\", Lumeo.Side.Bottom),\n new(\"#tour-feature-3\", \"Settings\", \"Customize your workspace and account.\", Lumeo.Side.Bottom),\n };\n\n private void HandleComplete() => _tourOpen = false;\n}"
|
|
40521
40936
|
},
|
|
40522
40937
|
{
|
|
40523
40938
|
"title": "Custom Placements",
|
|
40524
|
-
"code": "<Flex Class=\"justify-between gap-3\">\n <Button id=\"tour-top\" Variant=\"Button.ButtonVariant.Outline\">Top</Button>\n <Button id=\"tour-right\" Variant=\"Button.ButtonVariant.Outline\">Right</Button>\n <Button id=\"tour-bottom\" Variant=\"Button.ButtonVariant.Outline\">Bottom</Button>\n <Button id=\"tour-left\" Variant=\"Button.ButtonVariant.Outline\">Left</Button>\n</Flex>\n<Button Variant=\"Button.ButtonVariant.Secondary\" OnClick=\"@(() => _open = true)\">\n Tour Placements\n</Button>\n\n<Tour @bind-Open=\"_open\"\n Steps=\"@_steps\"\n OnComplete=\"@(() => _open = false)\"\n OnSkip=\"@(() => _open = false)\" />\n\n@code {\n private bool _open;\n\n private List<Tour.TourStepConfig> _steps = new()\n {\n new(\"#tour-top\", \"Top Placement\", \"Tooltip above the element.\",
|
|
40939
|
+
"code": "<Flex Class=\"justify-between gap-3\">\n <Button id=\"tour-top\" Variant=\"Button.ButtonVariant.Outline\">Top</Button>\n <Button id=\"tour-right\" Variant=\"Button.ButtonVariant.Outline\">Right</Button>\n <Button id=\"tour-bottom\" Variant=\"Button.ButtonVariant.Outline\">Bottom</Button>\n <Button id=\"tour-left\" Variant=\"Button.ButtonVariant.Outline\">Left</Button>\n</Flex>\n<Button Variant=\"Button.ButtonVariant.Secondary\" OnClick=\"@(() => _open = true)\">\n Tour Placements\n</Button>\n\n<Tour @bind-Open=\"_open\"\n Steps=\"@_steps\"\n OnComplete=\"@(() => _open = false)\"\n OnSkip=\"@(() => _open = false)\" />\n\n@code {\n private bool _open;\n\n private List<Tour.TourStepConfig> _steps = new()\n {\n new(\"#tour-top\", \"Top Placement\", \"Tooltip above the element.\", Lumeo.Side.Top),\n new(\"#tour-right\", \"Right Placement\", \"Tooltip to the right.\", Lumeo.Side.Right),\n new(\"#tour-bottom\", \"Bottom Placement\", \"Tooltip below the element.\", Lumeo.Side.Bottom),\n new(\"#tour-left\", \"Left Placement\", \"Tooltip to the left.\", Lumeo.Side.Left),\n };\n}"
|
|
40525
40940
|
}
|
|
40526
40941
|
],
|
|
40527
40942
|
"subComponents": {},
|
|
@@ -41211,6 +41626,22 @@
|
|
|
41211
41626
|
"description": null,
|
|
41212
41627
|
"isCascading": false,
|
|
41213
41628
|
"captureUnmatched": false
|
|
41629
|
+
},
|
|
41630
|
+
{
|
|
41631
|
+
"name": "Class",
|
|
41632
|
+
"type": "string?",
|
|
41633
|
+
"default": null,
|
|
41634
|
+
"description": null,
|
|
41635
|
+
"isCascading": false,
|
|
41636
|
+
"captureUnmatched": false
|
|
41637
|
+
},
|
|
41638
|
+
{
|
|
41639
|
+
"name": "AdditionalAttributes",
|
|
41640
|
+
"type": "Dictionary<string, object>?",
|
|
41641
|
+
"default": null,
|
|
41642
|
+
"description": null,
|
|
41643
|
+
"isCascading": false,
|
|
41644
|
+
"captureUnmatched": true
|
|
41214
41645
|
}
|
|
41215
41646
|
],
|
|
41216
41647
|
"events": [
|