@vadimcomanescu/nadicode-design-system 2.0.9 → 4.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. package/.agents/skills/seed/SKILL.md +19 -10
  2. package/.agents/skills/seed/contract.md +9 -2
  3. package/.agents/skills/seed/references/blocks.md +5 -5
  4. package/.agents/skills/seed/references/components.md +2 -2
  5. package/.agents/skills/seed/references/nextjs.md +2 -2
  6. package/README.md +3 -3
  7. package/contracts/consumer-intent-map.json +1 -2
  8. package/contracts/release-governance-baseline.json +3 -37
  9. package/dist/catalog/catalog.d.ts +2220 -0
  10. package/dist/catalog/catalog.js +1913 -0
  11. package/dist/catalog/components.d.ts +201 -0
  12. package/dist/catalog/components.js +407 -0
  13. package/dist/catalog/types.d.ts +4 -0
  14. package/dist/catalog/types.js +1 -0
  15. package/dist/chunk-224KPIOG.js +60 -0
  16. package/dist/chunk-25BOZMXA.js +169 -0
  17. package/dist/chunk-32OLQ7FC.js +130 -0
  18. package/dist/chunk-3JJBJ4VR.js +47 -0
  19. package/dist/chunk-3U56FXYC.js +30 -0
  20. package/dist/chunk-4MWKE6F5.js +86 -0
  21. package/dist/chunk-6HGSU24S.js +94 -0
  22. package/dist/chunk-7IADIXDV.js +168 -0
  23. package/dist/chunk-7NS3VFD7.js +86 -0
  24. package/dist/chunk-7XLZCXUL.js +175 -0
  25. package/dist/chunk-ALA6OM7K.js +134 -0
  26. package/dist/chunk-AN5TW4AL.js +50 -0
  27. package/dist/chunk-AWZFQQGN.js +167 -0
  28. package/dist/chunk-BRCBJ3S4.js +42 -0
  29. package/dist/chunk-BRICSLHJ.js +30 -0
  30. package/dist/chunk-BYEHHZZN.js +115 -0
  31. package/dist/chunk-C33GUEDY.js +149 -0
  32. package/dist/chunk-CUDMDYKE.js +150 -0
  33. package/dist/chunk-CVTMWSNS.js +145 -0
  34. package/dist/chunk-DEZXWNYF.js +165 -0
  35. package/dist/chunk-DNJEVMDY.js +40 -0
  36. package/dist/chunk-DNJOBML6.js +66 -0
  37. package/dist/chunk-FTGFOK6T.js +69 -0
  38. package/dist/chunk-HFBJ6L6O.js +104 -0
  39. package/dist/chunk-HPTHS7SX.js +52 -0
  40. package/dist/chunk-KNR3WB5C.js +147 -0
  41. package/dist/chunk-KQ7ZC6EM.js +66 -0
  42. package/dist/chunk-LGW7FVG5.js +83 -0
  43. package/dist/chunk-LP6ZZYOQ.js +36 -0
  44. package/dist/chunk-LV4P7WVM.js +54 -0
  45. package/dist/chunk-MGSGCARB.js +164 -0
  46. package/dist/chunk-N3YFYMNZ.js +73 -0
  47. package/dist/chunk-Q5IYBNA7.js +56 -0
  48. package/dist/chunk-QJCE7NZF.js +85 -0
  49. package/dist/chunk-QW5II6YK.js +96 -0
  50. package/dist/chunk-RMGDDOCD.js +138 -0
  51. package/dist/chunk-RNCX4JIE.js +70 -0
  52. package/dist/chunk-RWCL5OPX.js +112 -0
  53. package/dist/chunk-S5OY2B63.js +28 -0
  54. package/dist/chunk-SIQNG72C.js +257 -0
  55. package/dist/chunk-SP7NIZFP.js +117 -0
  56. package/dist/chunk-SWRJWMGG.js +30 -0
  57. package/dist/chunk-TCQIJ3DO.js +85 -0
  58. package/dist/chunk-TPJ6JJ2F.js +290 -0
  59. package/dist/chunk-TUJZMJXW.js +72 -0
  60. package/dist/chunk-UR43ANYS.js +159 -0
  61. package/dist/chunk-VRGPG2YN.js +79 -0
  62. package/dist/chunk-WSBLCWY7.js +126 -0
  63. package/dist/chunk-XKKFSFYO.js +93 -0
  64. package/dist/chunk-XO7TBM47.js +32 -0
  65. package/dist/chunk-YDYDGG5K.js +132 -0
  66. package/dist/chunk-YMJOUYMT.js +171 -0
  67. package/dist/chunk-Z2WION42.js +32 -0
  68. package/dist/chunk-ZFKSVEYW.js +35 -0
  69. package/dist/components/blocks/AgentProfileGridBlock.js +8 -86
  70. package/dist/components/blocks/AgentRunOverviewBlock.js +8 -147
  71. package/dist/components/blocks/AgentWorkbenchBlock.js +15 -257
  72. package/dist/components/blocks/AudioVisualizerBlock.js +2 -50
  73. package/dist/components/blocks/AuthLayout.js +9 -73
  74. package/dist/components/blocks/BannerBlock.js +8 -66
  75. package/dist/components/blocks/BarChartBlock.js +5 -47
  76. package/dist/components/blocks/ChartBlock.js +7 -54
  77. package/dist/components/blocks/ChartCollectionBlock.js +11 -171
  78. package/dist/components/blocks/ChatLayout.js +12 -126
  79. package/dist/components/blocks/CreateBlock.js +9 -104
  80. package/dist/components/blocks/DataGridBlock.js +9 -117
  81. package/dist/components/blocks/DirectoryBlock.js +12 -85
  82. package/dist/components/blocks/FeatureGridBlock.js +6 -56
  83. package/dist/components/blocks/GalleryBlock.js +6 -69
  84. package/dist/components/blocks/HeroSectionBlock.js +10 -134
  85. package/dist/components/blocks/IntegrationsBlock.js +13 -94
  86. package/dist/components/blocks/InteractiveAreaChartBlock.js +5 -290
  87. package/dist/components/blocks/KanbanDemoBlock.js +8 -145
  88. package/dist/components/blocks/LogoCloud.js +4 -35
  89. package/dist/components/blocks/NavUser.js +5 -85
  90. package/dist/components/blocks/NotFoundBlock.js +8 -32
  91. package/dist/components/blocks/OnboardingBlock.js +7 -66
  92. package/dist/components/blocks/SettingsLayout.js +13 -86
  93. package/dist/components/blocks/SignUpBlock.js +8 -168
  94. package/dist/components/blocks/SolutionShowcaseBlock.js +11 -112
  95. package/dist/components/blocks/StatsBlock.js +6 -60
  96. package/dist/components/blocks/UsageDonutBlock.js +5 -79
  97. package/dist/components/blocks/WizardBlock.js +12 -93
  98. package/dist/components/blocks/user/InviteUserModal.js +10 -132
  99. package/dist/components/page-kits/AccountLockedPageKit.js +3 -40
  100. package/dist/components/page-kits/AgentsChatPageKit.js +11 -159
  101. package/dist/components/page-kits/AnalyticsPageKit.js +12 -150
  102. package/dist/components/page-kits/BlogContentPageKit.js +12 -167
  103. package/dist/components/page-kits/CheckoutPageKit.js +9 -83
  104. package/dist/components/page-kits/CompanySuitePageKit.js +9 -96
  105. package/dist/components/page-kits/DashboardPageKit.js +11 -149
  106. package/dist/components/page-kits/ErrorPageKit.js +5 -52
  107. package/dist/components/page-kits/KanbanBoardPageKit.js +7 -169
  108. package/dist/components/page-kits/LandingPageKit.js +11 -72
  109. package/dist/components/page-kits/LoginPageKit.js +3 -32
  110. package/dist/components/page-kits/OnboardingPageKit.js +6 -115
  111. package/dist/components/page-kits/PricingPageKit.js +12 -138
  112. package/dist/components/page-kits/ProfileSettingsPageKit.js +10 -164
  113. package/dist/components/page-kits/RecoveryPageKit.js +3 -42
  114. package/dist/components/page-kits/ResetPageKit.js +3 -36
  115. package/dist/components/page-kits/ServiceSuitePageKit.js +10 -175
  116. package/dist/components/page-kits/SignupPageKit.js +3 -30
  117. package/dist/components/page-kits/SuccessPageKit.js +4 -30
  118. package/dist/components/page-kits/TeamSettingsPageKit.js +9 -165
  119. package/dist/components/page-kits/TwoFactorPageKit.js +4 -28
  120. package/dist/components/page-kits/VerifyEmailPageKit.js +4 -30
  121. package/dist/components/page-kits/VoiceAgentsPageKit.js +13 -130
  122. package/dist/components/ui/CheckoutForm.js +5 -70
  123. package/eslint-rules/nadicode/config.js +1 -0
  124. package/eslint-rules/nadicode/data/catalog-names.json +93 -0
  125. package/eslint-rules/nadicode/index.js +2 -0
  126. package/eslint-rules/nadicode/rules/__tests__/require-catalog-component.test.js +77 -0
  127. package/eslint-rules/nadicode/rules/require-catalog-component.js +79 -0
  128. package/package.json +18 -25
  129. package/contracts/block-props-schemas.json +0 -2186
  130. package/contracts/component-props-schemas.json +0 -8322
  131. package/contracts/consumer-contract.json +0 -178
  132. package/contracts/page-kit-props-schemas.json +0 -1894
  133. package/contracts/public-surface-registry.json +0 -5822
  134. package/contracts/public-surface-registry.schema.json +0 -219
  135. package/contracts/spec-manifest.json +0 -46
  136. package/dist/catalog.json +0 -5221
@@ -1,8 +1,9 @@
1
1
  'use client';
2
- import { Typography } from '../../chunk-N53OMWW2.js';
3
- import { Progress } from '../../chunk-JWQXBRE7.js';
4
- import { Checkbox } from '../../chunk-756Q7AC5.js';
5
- import { Card, CardHeader, CardTitle, CardContent } from '../../chunk-AH6YSYYT.js';
2
+ export { OnboardingBlock } from '../../chunk-KQ7ZC6EM.js';
3
+ import '../../chunk-N53OMWW2.js';
4
+ import '../../chunk-JWQXBRE7.js';
5
+ import '../../chunk-756Q7AC5.js';
6
+ import '../../chunk-AH6YSYYT.js';
6
7
  import '../../chunk-PD2YEH3H.js';
7
8
  import '../../chunk-CRY67BIF.js';
8
9
  import '../../chunk-HJC6U46F.js';
@@ -106,7 +107,7 @@ import '../../chunk-G5YLGJXR.js';
106
107
  import '../../chunk-G24VV5NO.js';
107
108
  import '../../chunk-R3AO6AZM.js';
108
109
  import '../../chunk-GCUTJI7M.js';
109
- import { CheckIcon } from '../../chunk-CXACRCZ4.js';
110
+ import '../../chunk-CXACRCZ4.js';
110
111
  import '../../chunk-P6IRHPFM.js';
111
112
  import '../../chunk-SXHYB7JB.js';
112
113
  import '../../chunk-BFLN54VR.js';
@@ -118,64 +119,4 @@ import '../../chunk-NURPUVUV.js';
118
119
  import '../../chunk-TV4RSQH4.js';
119
120
  import '../../chunk-HJBXUXTD.js';
120
121
  import '../../chunk-ASKFAYYR.js';
121
- import { cn } from '../../chunk-QYZT24TS.js';
122
- import * as React from 'react';
123
- import { useTranslations } from 'next-intl';
124
- import { jsxs, jsx } from 'react/jsx-runtime';
125
-
126
- var defaultSteps = [
127
- { id: "account", title: "Create your account", description: "Sign up and verify your email address.", completed: true },
128
- { id: "profile", title: "Complete your profile", description: "Add your name, avatar, and bio.", completed: true },
129
- { id: "team", title: "Invite your team", description: "Add collaborators to your workspace.", completed: false },
130
- { id: "project", title: "Create first project", description: "Set up your first design system project.", completed: false },
131
- { id: "deploy", title: "Deploy to production", description: "Publish your component library.", completed: false }
132
- ];
133
- function OnboardingBlock({
134
- steps = defaultSteps,
135
- title = "Getting started",
136
- onToggle,
137
- className
138
- }) {
139
- const t = useTranslations("blocks.onboardingBlock");
140
- const completedCount = React.useMemo(() => steps.filter((s) => s.completed).length, [steps]);
141
- const progressPercent = steps.length > 0 ? Math.round(completedCount / steps.length * 100) : 0;
142
- return /* @__PURE__ */ jsxs(Card, { className: cn("w-full max-w-lg", className), children: [
143
- /* @__PURE__ */ jsxs(CardHeader, { children: [
144
- /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
145
- /* @__PURE__ */ jsx(CardTitle, { className: "text-text-primary", children: title }),
146
- /* @__PURE__ */ jsxs(Typography, { variant: "small", className: "text-text-tertiary tabular-nums", children: [
147
- completedCount,
148
- "/",
149
- steps.length
150
- ] })
151
- ] }),
152
- /* @__PURE__ */ jsx(Progress, { value: progressPercent, "aria-label": t("onboardingProgress"), className: "mt-4" })
153
- ] }),
154
- /* @__PURE__ */ jsx(CardContent, { children: /* @__PURE__ */ jsx("ul", { className: "space-y-4", children: steps.map((step) => /* @__PURE__ */ jsxs("li", { className: "flex items-start gap-4", children: [
155
- /* @__PURE__ */ jsx("div", { className: "pt-0.5", children: step.completed ? /* @__PURE__ */ jsx("div", { className: "flex h-5 w-5 items-center justify-center rounded-full bg-success text-success-foreground", children: /* @__PURE__ */ jsx(CheckIcon, { size: 12 }) }) : /* @__PURE__ */ jsx(
156
- Checkbox,
157
- {
158
- checked: step.completed,
159
- onCheckedChange: (checked) => onToggle?.(step.id, checked === true),
160
- "aria-label": step.title
161
- }
162
- ) }),
163
- /* @__PURE__ */ jsxs("div", { className: "flex-1", children: [
164
- /* @__PURE__ */ jsx(
165
- Typography,
166
- {
167
- variant: "small",
168
- className: cn(
169
- "font-medium",
170
- step.completed ? "text-text-tertiary line-through" : "text-text-primary"
171
- ),
172
- children: step.title
173
- }
174
- ),
175
- /* @__PURE__ */ jsx(Typography, { variant: "muted", className: "text-xs", children: step.description })
176
- ] })
177
- ] }, step.id)) }) })
178
- ] });
179
- }
180
-
181
- export { OnboardingBlock };
122
+ import '../../chunk-QYZT24TS.js';
@@ -1,22 +1,23 @@
1
1
  'use client';
2
- import { SidebarProvider, Sidebar, SidebarHeader, SidebarContent, SidebarGroup, SidebarGroupContent, SidebarMenu, SidebarMenuItem, SidebarMenuButton, SidebarTrigger } from '../../chunk-J2DCQDXO.js';
2
+ export { SettingsLayout } from '../../chunk-4MWKE6F5.js';
3
+ import '../../chunk-J2DCQDXO.js';
3
4
  import '../../chunk-C4SNHMYC.js';
4
5
  import '../../chunk-B5QL76GA.js';
5
6
  import '../../chunk-HOWTYZL5.js';
6
- import { siteConfig } from '../../chunk-A7NUWD76.js';
7
+ import '../../chunk-A7NUWD76.js';
7
8
  import '../../chunk-CUZJIDU7.js';
8
9
  import '../../chunk-AP3XXYAY.js';
9
10
  import '../../chunk-LIBXYD5Q.js';
10
11
  import '../../chunk-RASEB2XI.js';
11
- import { Empty, EmptyTitle, EmptyDescription } from '../../chunk-55HD4L6G.js';
12
+ import '../../chunk-55HD4L6G.js';
12
13
  import '../../chunk-MJ4CB6ZL.js';
13
14
  import '../../chunk-7KIDDF3I.js';
14
15
  import '../../chunk-6FOHUNXR.js';
15
- import { useMotionConfig, m, motionSpring } from '../../chunk-PD2YEH3H.js';
16
+ import '../../chunk-PD2YEH3H.js';
16
17
  import '../../chunk-CRY67BIF.js';
17
18
  import '../../chunk-HJC6U46F.js';
18
19
  import '../../chunk-GO35FTNJ.js';
19
- import { UsersIcon } from '../../chunk-WUO7OONN.js';
20
+ import '../../chunk-WUO7OONN.js';
20
21
  import '../../chunk-FLF5AMNO.js';
21
22
  import '../../chunk-3CLXYQKB.js';
22
23
  import '../../chunk-S4GKGKON.js';
@@ -30,7 +31,7 @@ import '../../chunk-KSHJQ2VT.js';
30
31
  import '../../chunk-GAKU7DFY.js';
31
32
  import '../../chunk-T6BRD7TS.js';
32
33
  import '../../chunk-TXGANOAX.js';
33
- import { SettingsIcon } from '../../chunk-OITJWGFV.js';
34
+ import '../../chunk-OITJWGFV.js';
34
35
  import '../../chunk-Z74D6D2W.js';
35
36
  import '../../chunk-7WDT2PRI.js';
36
37
  import '../../chunk-IJJI4RQU.js';
@@ -44,14 +45,14 @@ import '../../chunk-G5EO5FWC.js';
44
45
  import '../../chunk-NCULQXJE.js';
45
46
  import '../../chunk-VDYPDMYR.js';
46
47
  import '../../chunk-WDGIQDQG.js';
47
- import { LockIcon } from '../../chunk-RYOTIXZO.js';
48
+ import '../../chunk-RYOTIXZO.js';
48
49
  import '../../chunk-JZ4G2SJH.js';
49
50
  import '../../chunk-KYGKJ553.js';
50
51
  import '../../chunk-M7YSMMAC.js';
51
52
  import '../../chunk-XQ2UDMPO.js';
52
53
  import '../../chunk-JMCSAGZ3.js';
53
54
  import '../../chunk-QUKDUSHD.js';
54
- import { LayoutDashboardIcon } from '../../chunk-O74AEVHW.js';
55
+ import '../../chunk-O74AEVHW.js';
55
56
  import '../../chunk-ZUHIWALK.js';
56
57
  import '../../chunk-2IZC7HSV.js';
57
58
  import '../../chunk-2SDZMTB2.js';
@@ -68,7 +69,7 @@ import '../../chunk-I3TH7PIB.js';
68
69
  import '../../chunk-WGPK3FQ7.js';
69
70
  import '../../chunk-JL4MVVFH.js';
70
71
  import '../../chunk-4FEAWXJD.js';
71
- import { CreditCardIcon } from '../../chunk-JHQTKMKG.js';
72
+ import '../../chunk-JHQTKMKG.js';
72
73
  import '../../chunk-WA45EC4Y.js';
73
74
  import '../../chunk-2MOEOEOI.js';
74
75
  import '../../chunk-5LCXASRW.js';
@@ -86,7 +87,7 @@ import '../../chunk-CI7GPGCJ.js';
86
87
  import '../../chunk-226EBOTK.js';
87
88
  import '../../chunk-74RKVIBV.js';
88
89
  import '../../chunk-V6WNRZT3.js';
89
- import { BellIcon } from '../../chunk-JBK2LA6U.js';
90
+ import '../../chunk-JBK2LA6U.js';
90
91
  import '../../chunk-55U27XY4.js';
91
92
  import '../../chunk-LSPO6OBI.js';
92
93
  import '../../chunk-Y56WBNCY.js';
@@ -120,86 +121,12 @@ import '../../chunk-P6IRHPFM.js';
120
121
  import '../../chunk-SXHYB7JB.js';
121
122
  import '../../chunk-BFLN54VR.js';
122
123
  import '../../chunk-ONGJ7AC2.js';
123
- import { UserIcon } from '../../chunk-UHXGBV5N.js';
124
+ import '../../chunk-UHXGBV5N.js';
124
125
  import '../../chunk-UIUMTURU.js';
125
126
  import '../../chunk-PRUXIDBD.js';
126
127
  import '../../chunk-NURPUVUV.js';
127
- import { Badge } from '../../chunk-S4JAHKOP.js';
128
+ import '../../chunk-S4JAHKOP.js';
128
129
  import '../../chunk-TV4RSQH4.js';
129
130
  import '../../chunk-HJBXUXTD.js';
130
131
  import '../../chunk-ASKFAYYR.js';
131
132
  import '../../chunk-QYZT24TS.js';
132
- import React from 'react';
133
- import { AnimatePresence } from 'motion/react';
134
- import { jsx, jsxs } from 'react/jsx-runtime';
135
-
136
- var defaultLinks = [
137
- { label: "General", icon: /* @__PURE__ */ jsx(SettingsIcon, { size: 16 }) },
138
- { label: "Profile", icon: /* @__PURE__ */ jsx(UserIcon, { size: 16 }) },
139
- { label: "Team", icon: /* @__PURE__ */ jsx(UsersIcon, { size: 16 }), badge: "New" },
140
- { label: "Notifications", icon: /* @__PURE__ */ jsx(BellIcon, { size: 16 }) },
141
- { label: "Security", icon: /* @__PURE__ */ jsx(LockIcon, { size: 16 }) },
142
- { label: "Billing", icon: /* @__PURE__ */ jsx(CreditCardIcon, { size: 16 }) }
143
- ];
144
- function SettingsLayout({
145
- links = defaultLinks,
146
- title = siteConfig.name,
147
- subtitle = "Enterprise",
148
- defaultActive = "Profile",
149
- className,
150
- renderContent
151
- }) {
152
- const motionConfig = useMotionConfig();
153
- const [activeLink, setActiveLink] = React.useState(defaultActive);
154
- return /* @__PURE__ */ jsx(SidebarProvider, { className: className ?? "h-[800px] w-full glass-panel rounded-xl overflow-hidden shadow-2xl", children: /* @__PURE__ */ jsxs("div", { className: "h-full w-full bg-background flex", children: [
155
- /* @__PURE__ */ jsxs(Sidebar, { collapsible: "none", className: "hidden sm:flex w-64 border-r border-border bg-muted/20", children: [
156
- /* @__PURE__ */ jsx(SidebarHeader, { className: "p-4", children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-4 px-2", children: [
157
- /* @__PURE__ */ jsx("div", { className: "flex aspect-square size-8 items-center justify-center rounded-lg bg-primary text-primary-foreground shadow-glow", children: /* @__PURE__ */ jsx(LayoutDashboardIcon, { size: 16 }) }),
158
- /* @__PURE__ */ jsxs("div", { className: "grid flex-1 text-left text-sm leading-tight", children: [
159
- /* @__PURE__ */ jsx("span", { className: "truncate font-semibold", children: title }),
160
- /* @__PURE__ */ jsx("span", { className: "truncate text-xs text-text-secondary", children: subtitle })
161
- ] })
162
- ] }) }),
163
- /* @__PURE__ */ jsx(SidebarContent, { className: "px-2", children: /* @__PURE__ */ jsx(SidebarGroup, { children: /* @__PURE__ */ jsx(SidebarGroupContent, { children: /* @__PURE__ */ jsx(SidebarMenu, { className: "space-y-1.5", children: links.map((link) => /* @__PURE__ */ jsx(SidebarMenuItem, { children: /* @__PURE__ */ jsxs(
164
- SidebarMenuButton,
165
- {
166
- isActive: activeLink === link.label,
167
- onClick: () => setActiveLink(link.label),
168
- className: "justify-between",
169
- children: [
170
- /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
171
- link.icon,
172
- /* @__PURE__ */ jsx("span", { children: link.label })
173
- ] }),
174
- link.badge && /* @__PURE__ */ jsx(Badge, { variant: "accent", className: "h-5 px-1.5 text-[10px]", children: link.badge })
175
- ]
176
- }
177
- ) }, link.label)) }) }) }) })
178
- ] }),
179
- /* @__PURE__ */ jsxs("main", { className: "flex-1 min-w-0 overflow-y-auto bg-background/50", children: [
180
- /* @__PURE__ */ jsxs("header", { className: "sticky top-0 z-10 flex items-center border-b border-border bg-background px-4 py-2 sm:hidden", children: [
181
- /* @__PURE__ */ jsx(SidebarTrigger, {}),
182
- /* @__PURE__ */ jsx("span", { className: "ml-2 text-sm font-medium text-text-primary", children: "Settings" })
183
- ] }),
184
- /* @__PURE__ */ jsx("div", { className: "max-w-4xl mx-auto p-8", children: /* @__PURE__ */ jsx(AnimatePresence, { mode: "wait", children: /* @__PURE__ */ jsx(
185
- m.div,
186
- {
187
- initial: { opacity: 0, y: 8 },
188
- animate: { opacity: 1, y: 0 },
189
- exit: { opacity: 0, y: -8 },
190
- transition: { ...motionSpring.snappy, ...motionConfig },
191
- children: renderContent ? renderContent(activeLink) : /* @__PURE__ */ jsxs(Empty, { className: "h-[400px]", children: [
192
- /* @__PURE__ */ jsxs(EmptyTitle, { children: [
193
- activeLink,
194
- " Settings"
195
- ] }),
196
- /* @__PURE__ */ jsx(EmptyDescription, { children: "This section is under construction." })
197
- ] })
198
- },
199
- activeLink
200
- ) }) })
201
- ] })
202
- ] }) });
203
- }
204
-
205
- export { SettingsLayout };
@@ -1,174 +1,14 @@
1
1
  'use client';
2
- import { LogoIcon } from '../../chunk-GHIBG7OM.js';
3
- import { Heading } from '../../chunk-WI547C47.js';
4
- import { Field, FieldLabel } from '../../chunk-RX5EUODB.js';
5
- import { siteConfig } from '../../chunk-A7NUWD76.js';
6
- import { Input } from '../../chunk-AP3XXYAY.js';
2
+ export { SignUpBlock } from '../../chunk-7IADIXDV.js';
3
+ import '../../chunk-GHIBG7OM.js';
4
+ import '../../chunk-WI547C47.js';
5
+ import '../../chunk-RX5EUODB.js';
6
+ import '../../chunk-A7NUWD76.js';
7
+ import '../../chunk-AP3XXYAY.js';
7
8
  import '../../chunk-LIBXYD5Q.js';
8
- import { GoogleIcon, MicrosoftIcon } from '../../chunk-DJTF3XFB.js';
9
- import { Button } from '../../chunk-7KIDDF3I.js';
9
+ import '../../chunk-DJTF3XFB.js';
10
+ import '../../chunk-7KIDDF3I.js';
10
11
  import '../../chunk-PD2YEH3H.js';
11
12
  import '../../chunk-CRY67BIF.js';
12
13
  import '../../chunk-HJC6U46F.js';
13
14
  import '../../chunk-QYZT24TS.js';
14
- import Link from 'next/link';
15
- import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
16
-
17
- function SignUpBlock({
18
- title = `Create a ${siteConfig.name} Account`,
19
- description = "Welcome! Create an account to get started",
20
- showSocial = true,
21
- signInHref = "#",
22
- onSubmit,
23
- className
24
- }) {
25
- return /* @__PURE__ */ jsx("section", { className: className ?? "flex min-h-dvh bg-background px-4 py-16 md:py-32 dark:bg-transparent", children: /* @__PURE__ */ jsxs(
26
- "form",
27
- {
28
- action: "",
29
- onSubmit,
30
- className: "bg-surface m-auto h-fit w-full max-w-sm rounded-[calc(var(--radius)+.125rem)] border p-0.5 shadow-md dark:[--color-muted:var(--color-surface)]",
31
- children: [
32
- /* @__PURE__ */ jsxs("div", { className: "p-8 pb-6", children: [
33
- /* @__PURE__ */ jsxs("div", { children: [
34
- /* @__PURE__ */ jsx(
35
- Link,
36
- {
37
- href: "#",
38
- "aria-label": "go home",
39
- children: /* @__PURE__ */ jsx(LogoIcon, {})
40
- }
41
- ),
42
- /* @__PURE__ */ jsx(Heading, { level: 1, size: "title", className: "mb-1.5 mt-4", children: title }),
43
- /* @__PURE__ */ jsx("p", { className: "text-sm", children: description })
44
- ] }),
45
- !!showSocial && /* @__PURE__ */ jsxs(Fragment, { children: [
46
- /* @__PURE__ */ jsxs("div", { className: "mt-6 grid grid-cols-2 gap-4", children: [
47
- /* @__PURE__ */ jsxs(
48
- Button,
49
- {
50
- type: "button",
51
- variant: "outline",
52
- className: "h-11",
53
- children: [
54
- /* @__PURE__ */ jsx(GoogleIcon, {}),
55
- /* @__PURE__ */ jsx("span", { children: "Google" })
56
- ]
57
- }
58
- ),
59
- /* @__PURE__ */ jsxs(
60
- Button,
61
- {
62
- type: "button",
63
- variant: "outline",
64
- className: "h-11",
65
- children: [
66
- /* @__PURE__ */ jsx(MicrosoftIcon, {}),
67
- /* @__PURE__ */ jsx("span", { children: "Microsoft" })
68
- ]
69
- }
70
- )
71
- ] }),
72
- /* @__PURE__ */ jsx("hr", { className: "my-4 border-dashed" })
73
- ] }),
74
- /* @__PURE__ */ jsxs("div", { className: "space-y-6", children: [
75
- /* @__PURE__ */ jsxs("div", { className: "grid grid-cols-2 gap-4", children: [
76
- /* @__PURE__ */ jsxs(Field, { children: [
77
- /* @__PURE__ */ jsx(
78
- FieldLabel,
79
- {
80
- htmlFor: "firstname",
81
- className: "block text-sm",
82
- children: "Firstname"
83
- }
84
- ),
85
- /* @__PURE__ */ jsx(
86
- Input,
87
- {
88
- type: "text",
89
- required: true,
90
- name: "firstname",
91
- id: "firstname"
92
- }
93
- )
94
- ] }),
95
- /* @__PURE__ */ jsxs(Field, { children: [
96
- /* @__PURE__ */ jsx(
97
- FieldLabel,
98
- {
99
- htmlFor: "lastname",
100
- className: "block text-sm",
101
- children: "Lastname"
102
- }
103
- ),
104
- /* @__PURE__ */ jsx(
105
- Input,
106
- {
107
- type: "text",
108
- required: true,
109
- name: "lastname",
110
- id: "lastname"
111
- }
112
- )
113
- ] })
114
- ] }),
115
- /* @__PURE__ */ jsxs(Field, { children: [
116
- /* @__PURE__ */ jsx(
117
- FieldLabel,
118
- {
119
- htmlFor: "email",
120
- className: "block text-sm",
121
- children: "Username"
122
- }
123
- ),
124
- /* @__PURE__ */ jsx(
125
- Input,
126
- {
127
- type: "email",
128
- required: true,
129
- name: "email",
130
- id: "email"
131
- }
132
- )
133
- ] }),
134
- /* @__PURE__ */ jsxs(Field, { children: [
135
- /* @__PURE__ */ jsx(
136
- FieldLabel,
137
- {
138
- htmlFor: "pwd",
139
- className: "text-sm",
140
- children: "Password"
141
- }
142
- ),
143
- /* @__PURE__ */ jsx(
144
- Input,
145
- {
146
- type: "password",
147
- required: true,
148
- name: "pwd",
149
- id: "pwd",
150
- className: "input sz-md variant-mixed"
151
- }
152
- )
153
- ] }),
154
- /* @__PURE__ */ jsx(Button, { className: "w-full", children: "Continue" })
155
- ] })
156
- ] }),
157
- /* @__PURE__ */ jsx("div", { className: "bg-muted rounded-(--radius) border p-4", children: /* @__PURE__ */ jsxs("p", { className: "text-accent-foreground text-center text-sm", children: [
158
- "Have an account ?",
159
- /* @__PURE__ */ jsx(
160
- Button,
161
- {
162
- asChild: true,
163
- variant: "link",
164
- className: "px-2",
165
- children: /* @__PURE__ */ jsx(Link, { href: signInHref, children: "Sign In" })
166
- }
167
- )
168
- ] }) })
169
- ]
170
- }
171
- ) });
172
- }
173
-
174
- export { SignUpBlock };
@@ -1,117 +1,16 @@
1
1
  'use client';
2
- import { StaggerChildren } from '../../chunk-DQPK2XRL.js';
3
- import { Heading } from '../../chunk-WI547C47.js';
4
- import { ScrollFadeIn } from '../../chunk-I23DDSU7.js';
5
- import { Card, CardHeader, CardContent } from '../../chunk-AH6YSYYT.js';
2
+ export { SolutionShowcaseBlock } from '../../chunk-RWCL5OPX.js';
3
+ import '../../chunk-DQPK2XRL.js';
4
+ import '../../chunk-WI547C47.js';
5
+ import '../../chunk-I23DDSU7.js';
6
+ import '../../chunk-AH6YSYYT.js';
6
7
  import '../../chunk-PD2YEH3H.js';
7
8
  import '../../chunk-CRY67BIF.js';
8
9
  import '../../chunk-HJC6U46F.js';
9
- import { SparklesIcon } from '../../chunk-CGUCH322.js';
10
- import { RocketIcon } from '../../chunk-QPXTBZWN.js';
11
- import { CheckIcon } from '../../chunk-CXACRCZ4.js';
12
- import { AlertTriangleIcon } from '../../chunk-SXHYB7JB.js';
13
- import { Badge } from '../../chunk-S4JAHKOP.js';
10
+ import '../../chunk-CGUCH322.js';
11
+ import '../../chunk-QPXTBZWN.js';
12
+ import '../../chunk-CXACRCZ4.js';
13
+ import '../../chunk-SXHYB7JB.js';
14
+ import '../../chunk-S4JAHKOP.js';
14
15
  import '../../chunk-ASKFAYYR.js';
15
- import { cn } from '../../chunk-QYZT24TS.js';
16
- import { jsx, jsxs } from 'react/jsx-runtime';
17
-
18
- var sectionStyles = [
19
- { border: "border-destructive/30", badgeVariant: "destructive" },
20
- { border: "border-accent/30", badgeVariant: "accent" },
21
- { border: "border-success/30", badgeVariant: "accent" }
22
- ];
23
- var defaultSections = [
24
- {
25
- icon: /* @__PURE__ */ jsx(AlertTriangleIcon, { size: 20, "aria-hidden": true }),
26
- label: "The Problem",
27
- title: "Manual processes drain your team",
28
- description: "Repetitive tasks consume valuable hours that could be spent on strategic work.",
29
- bullets: [
30
- "Hours lost to data entry and reporting",
31
- "Inconsistent quality from manual processes",
32
- "Scaling requires proportional headcount"
33
- ]
34
- },
35
- {
36
- icon: /* @__PURE__ */ jsx(SparklesIcon, { size: 20, "aria-hidden": true }),
37
- label: "Our Solution",
38
- title: "AI workers that integrate seamlessly",
39
- description: "Purpose-built digital workers that slot into your existing workflows.",
40
- bullets: [
41
- "Trained on your specific business processes",
42
- "Real-time monitoring and quality assurance",
43
- "Seamless integration with existing tools"
44
- ]
45
- },
46
- {
47
- icon: /* @__PURE__ */ jsx(RocketIcon, { size: 20, "aria-hidden": true }),
48
- label: "The Output",
49
- title: "Measurable business impact",
50
- description: "Concrete results from day one, with continuous improvement over time.",
51
- bullets: [
52
- "70% reduction in processing time",
53
- "99.5% accuracy on routine tasks",
54
- "ROI positive within 90 days"
55
- ]
56
- }
57
- ];
58
- function SolutionShowcaseBlock({
59
- title = "How we deliver results",
60
- description = "A proven three-stage approach that transforms how your team operates.",
61
- badge,
62
- sections = defaultSections,
63
- className
64
- }) {
65
- return /* @__PURE__ */ jsx(ScrollFadeIn, { children: /* @__PURE__ */ jsx("section", { className: cn("py-16 md:py-32", className), children: /* @__PURE__ */ jsxs("div", { className: "mx-auto max-w-5xl px-6", children: [
66
- /* @__PURE__ */ jsxs("div", { className: "text-center", children: [
67
- !!badge && /* @__PURE__ */ jsx(Badge, { variant: "outline", className: "mb-4", children: badge }),
68
- /* @__PURE__ */ jsx(Heading, { level: 2, size: "section", className: "text-4xl lg:text-5xl", children: title }),
69
- /* @__PURE__ */ jsx("p", { className: "mt-4 text-lg text-text-secondary", children: description })
70
- ] }),
71
- /* @__PURE__ */ jsx(StaggerChildren, { staggerMs: 120, className: "mt-12 flex flex-col gap-8 md:mt-16", children: sections.map((section, i) => {
72
- const style = sectionStyles[i % sectionStyles.length];
73
- return /* @__PURE__ */ jsxs(
74
- Card,
75
- {
76
- className: cn(
77
- "glass-panel border-l-4 p-6 sm:p-8",
78
- style.border
79
- ),
80
- children: [
81
- /* @__PURE__ */ jsxs(CardHeader, { className: "gap-4 p-0 pb-4", children: [
82
- /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
83
- section.icon && /* @__PURE__ */ jsx("span", { className: "text-text-secondary", children: section.icon }),
84
- /* @__PURE__ */ jsx(Badge, { variant: style.badgeVariant, children: section.label })
85
- ] }),
86
- /* @__PURE__ */ jsx(Heading, { level: 3, size: "subsection", className: "text-xl sm:text-2xl", children: section.title })
87
- ] }),
88
- /* @__PURE__ */ jsxs(CardContent, { className: "p-0", children: [
89
- /* @__PURE__ */ jsx("p", { className: "text-text-secondary", children: section.description }),
90
- /* @__PURE__ */ jsx("ul", { className: "mt-4 space-y-2", children: section.bullets.map((bullet, j) => /* @__PURE__ */ jsxs(
91
- "li",
92
- {
93
- className: "flex items-start gap-2 text-sm text-text-secondary",
94
- children: [
95
- /* @__PURE__ */ jsx(
96
- CheckIcon,
97
- {
98
- size: 16,
99
- className: "mt-0.5 shrink-0 text-accent",
100
- "aria-hidden": true
101
- }
102
- ),
103
- /* @__PURE__ */ jsx("span", { children: bullet })
104
- ]
105
- },
106
- j
107
- )) })
108
- ] })
109
- ]
110
- },
111
- i
112
- );
113
- }) })
114
- ] }) }) });
115
- }
116
-
117
- export { SolutionShowcaseBlock };
16
+ import '../../chunk-QYZT24TS.js';
@@ -1,5 +1,6 @@
1
1
  'use client';
2
- import { MetricCard } from '../../chunk-BRXNGF5W.js';
2
+ export { StatsBlock } from '../../chunk-224KPIOG.js';
3
+ import '../../chunk-BRXNGF5W.js';
3
4
  import '../../chunk-ULLTRLBD.js';
4
5
  import '../../chunk-RHEF3WH6.js';
5
6
  import '../../chunk-3R2VLZUR.js';
@@ -10,7 +11,7 @@ import '../../chunk-PD2YEH3H.js';
10
11
  import '../../chunk-CRY67BIF.js';
11
12
  import '../../chunk-HJC6U46F.js';
12
13
  import '../../chunk-GO35FTNJ.js';
13
- import { UsersIcon } from '../../chunk-WUO7OONN.js';
14
+ import '../../chunk-WUO7OONN.js';
14
15
  import '../../chunk-FLF5AMNO.js';
15
16
  import '../../chunk-3CLXYQKB.js';
16
17
  import '../../chunk-S4GKGKON.js';
@@ -62,9 +63,9 @@ import '../../chunk-I3TH7PIB.js';
62
63
  import '../../chunk-WGPK3FQ7.js';
63
64
  import '../../chunk-JL4MVVFH.js';
64
65
  import '../../chunk-4FEAWXJD.js';
65
- import { CreditCardIcon } from '../../chunk-JHQTKMKG.js';
66
+ import '../../chunk-JHQTKMKG.js';
66
67
  import '../../chunk-WA45EC4Y.js';
67
- import { DollarSignIcon } from '../../chunk-2MOEOEOI.js';
68
+ import '../../chunk-2MOEOEOI.js';
68
69
  import '../../chunk-5LCXASRW.js';
69
70
  import '../../chunk-2ZJVU7NV.js';
70
71
  import '../../chunk-5ESF6N36.js';
@@ -84,7 +85,7 @@ import '../../chunk-JBK2LA6U.js';
84
85
  import '../../chunk-55U27XY4.js';
85
86
  import '../../chunk-LSPO6OBI.js';
86
87
  import '../../chunk-Y56WBNCY.js';
87
- import { ActivityIcon } from '../../chunk-JJTQOH7J.js';
88
+ import '../../chunk-JJTQOH7J.js';
88
89
  import '../../chunk-72X6SXOX.js';
89
90
  import '../../chunk-SR5U52V3.js';
90
91
  import '../../chunk-AWIJHDNK.js';
@@ -123,58 +124,3 @@ import '../../chunk-TV4RSQH4.js';
123
124
  import '../../chunk-HJBXUXTD.js';
124
125
  import '../../chunk-ASKFAYYR.js';
125
126
  import '../../chunk-QYZT24TS.js';
126
- import { jsx } from 'react/jsx-runtime';
127
-
128
- var defaultStats = [
129
- {
130
- title: "Total Revenue",
131
- value: 45231.89,
132
- icon: /* @__PURE__ */ jsx(DollarSignIcon, { size: 16, className: "text-text-tertiary" }),
133
- prefix: "$",
134
- formatter: (v) => v.toLocaleString("en-US", { minimumFractionDigits: 2, maximumFractionDigits: 2 }),
135
- trend: { value: 20.1, direction: "up" },
136
- periodText: "from last month"
137
- },
138
- {
139
- title: "Subscriptions",
140
- value: 2350,
141
- icon: /* @__PURE__ */ jsx(UsersIcon, { size: 16, className: "text-text-tertiary" }),
142
- trend: { value: 180.1, direction: "up" },
143
- periodText: "from last month"
144
- },
145
- {
146
- title: "Sales",
147
- value: 12234,
148
- icon: /* @__PURE__ */ jsx(CreditCardIcon, { size: 16, className: "text-text-tertiary" }),
149
- trend: { value: -19, direction: "down" },
150
- periodText: "from last month"
151
- },
152
- {
153
- title: "Active Now",
154
- value: 573,
155
- icon: /* @__PURE__ */ jsx(ActivityIcon, { size: 16, className: "text-text-tertiary" }),
156
- trend: { value: 201, direction: "up" },
157
- periodText: "since last hour"
158
- }
159
- ];
160
- function StatsBlock({
161
- stats = defaultStats,
162
- className
163
- }) {
164
- return /* @__PURE__ */ jsx("div", { className: className ?? "grid gap-4 md:grid-cols-2 lg:grid-cols-4", children: stats.map((stat) => /* @__PURE__ */ jsx(
165
- MetricCard,
166
- {
167
- label: stat.title,
168
- value: stat.value,
169
- icon: stat.icon,
170
- prefix: stat.prefix,
171
- suffix: stat.suffix,
172
- formatter: stat.formatter,
173
- trend: stat.trend,
174
- sparklineData: stat.sparklineData
175
- },
176
- stat.title
177
- )) });
178
- }
179
-
180
- export { StatsBlock };