@vadimcomanescu/nadicode-design-system 2.0.5 → 2.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. package/.agents/skills/seed/contract.md +1 -0
  2. package/.agents/skills/seed/recipes/marketing-shell.md +10 -19
  3. package/.agents/skills/seed/recipes/navigation-shell.md +5 -5
  4. package/.agents/skills/seed/recipes/service-detail.md +1 -1
  5. package/.agents/skills/seed/references/blocks.md +25 -24
  6. package/.agents/skills/seed/references/brand-override.md +3 -1
  7. package/css/tokens.css +300 -122
  8. package/dist/catalog.json +1926 -125
  9. package/dist/chunk-2BADJLMV.js +117 -0
  10. package/dist/chunk-35EX5FP5.js +106 -0
  11. package/dist/chunk-5PORR6LE.js +60 -0
  12. package/dist/chunk-5PZ4VR2D.js +142 -0
  13. package/dist/chunk-5UESKK6S.js +76 -0
  14. package/dist/chunk-6N6CSJVE.js +269 -0
  15. package/dist/chunk-AURJQZC4.js +110 -0
  16. package/dist/{chunk-DF47R6LN.js → chunk-AWIG4QN6.js} +9 -9
  17. package/dist/chunk-AYWL4IYM.js +67 -0
  18. package/dist/{chunk-SV3KZ6CB.js → chunk-DSMGCFMJ.js} +7 -2
  19. package/dist/chunk-E4L6LR6P.js +33 -0
  20. package/dist/chunk-EJNF6JLL.js +105 -0
  21. package/dist/chunk-FX23F33E.js +57 -0
  22. package/dist/chunk-GJPTPLCQ.js +52 -0
  23. package/dist/chunk-GV4PKHG4.js +147 -0
  24. package/dist/chunk-HJ3A2YNO.js +163 -0
  25. package/dist/chunk-HJZRSPWB.js +38 -0
  26. package/dist/chunk-IDKZEPWK.js +133 -0
  27. package/dist/chunk-K7NQ6ZAW.js +84 -0
  28. package/dist/chunk-LCKLZ4XK.js +60 -0
  29. package/dist/chunk-MX5FUFQR.js +205 -0
  30. package/dist/chunk-NEHCPO53.js +44 -0
  31. package/dist/chunk-OHOOQUVJ.js +113 -0
  32. package/dist/chunk-QIHA7S3A.js +36 -0
  33. package/dist/chunk-RKQPU75I.js +126 -0
  34. package/dist/chunk-RMLS2QUC.js +77 -0
  35. package/dist/chunk-TS2JSPQR.js +120 -0
  36. package/dist/chunk-TUKZKU72.js +110 -0
  37. package/dist/chunk-TZXZFSD2.js +33 -0
  38. package/dist/chunk-UGV45DH3.js +18 -0
  39. package/dist/chunk-VBZQ4DBE.js +52 -0
  40. package/dist/{chunk-LQLFA2EL.js → chunk-VDONTZZX.js} +2 -2
  41. package/dist/{chunk-RWNJ54CI.js → chunk-VN475YZS.js} +1 -1
  42. package/dist/chunk-VZCB4APK.js +94 -0
  43. package/dist/chunk-W7FXDRQJ.js +94 -0
  44. package/dist/chunk-WAVU744B.js +183 -0
  45. package/dist/{chunk-5I3FWRC5.js → chunk-WOYBVPXK.js} +10 -10
  46. package/dist/chunk-WST5NLLC.js +73 -0
  47. package/dist/chunk-X6VXWEDO.js +125 -0
  48. package/dist/chunk-ZM2NODUK.js +39 -0
  49. package/dist/components/blocks/AccountLockedBlock.js +7 -57
  50. package/dist/components/blocks/ActivityFeedBlock.js +6 -39
  51. package/dist/components/blocks/AgentConversationBlock.js +5 -33
  52. package/dist/components/blocks/AudioVisualizerBlock.d.ts +1 -1
  53. package/dist/components/blocks/AudioVisualizerBlock.js +2 -2
  54. package/dist/components/blocks/AuthSuccessBlock.js +5 -60
  55. package/dist/components/blocks/BarChartBlock.d.ts +1 -1
  56. package/dist/components/blocks/BarChartBlock.js +2 -2
  57. package/dist/components/blocks/CallToActionBlock.d.ts +1 -1
  58. package/dist/components/blocks/CallToActionBlock.js +6 -52
  59. package/dist/components/blocks/ChangelogBlock.js +8 -105
  60. package/dist/components/blocks/ChartCollectionBlock.js +2 -2
  61. package/dist/components/blocks/CodeBlock.js +7 -60
  62. package/dist/components/blocks/ComparisonBlock.js +9 -94
  63. package/dist/components/blocks/ContactBlock.js +11 -120
  64. package/dist/components/blocks/FAQBlock.js +6 -44
  65. package/dist/components/blocks/FeatureBlock.d.ts +10 -14
  66. package/dist/components/blocks/FeatureBlock.js +17 -159
  67. package/dist/components/blocks/FeatureGridBlock.d.ts +1 -1
  68. package/dist/components/blocks/FeatureGridBlock.js +2 -2
  69. package/dist/components/blocks/FooterBlock.d.ts +2 -2
  70. package/dist/components/blocks/FooterBlock.js +11 -67
  71. package/dist/components/blocks/HeaderBlock.d.ts +2 -2
  72. package/dist/components/blocks/HeaderBlock.js +1 -1
  73. package/dist/components/blocks/HeatmapChartBlock.d.ts +1 -1
  74. package/dist/components/blocks/HeatmapChartBlock.js +1 -1
  75. package/dist/components/blocks/HeroBlock.d.ts +6 -3
  76. package/dist/components/blocks/HeroBlock.js +16 -199
  77. package/dist/components/blocks/HeroSectionBlock.d.ts +1 -1
  78. package/dist/components/blocks/HeroSectionBlock.js +4 -4
  79. package/dist/components/blocks/IntegrationsBlock.d.ts +1 -1
  80. package/dist/components/blocks/IntegrationsBlock.js +4 -4
  81. package/dist/components/blocks/InteractiveAreaChartBlock.d.ts +1 -1
  82. package/dist/components/blocks/InteractiveAreaChartBlock.js +2 -2
  83. package/dist/components/blocks/NewsletterBlock.js +11 -84
  84. package/dist/components/blocks/PasswordRecoveryBlock.js +14 -142
  85. package/dist/components/blocks/PricingBlock.d.ts +1 -1
  86. package/dist/components/blocks/PricingBlock.js +11 -110
  87. package/dist/components/blocks/ProcessFlowBlock.js +10 -77
  88. package/dist/components/blocks/ResetPasswordBlock.js +11 -125
  89. package/dist/components/blocks/SignUpBlock.d.ts +1 -1
  90. package/dist/components/blocks/SignUpBlock.js +2 -2
  91. package/dist/components/blocks/SocialProofBlock.d.ts +7 -11
  92. package/dist/components/blocks/SocialProofBlock.js +8 -107
  93. package/dist/components/blocks/StatsBlock.d.ts +1 -1
  94. package/dist/components/blocks/StatsBlock.js +2 -2
  95. package/dist/components/blocks/StatsMarketingBlock.d.ts +1 -1
  96. package/dist/components/blocks/StatsMarketingBlock.js +5 -36
  97. package/dist/components/blocks/TeamBlock.d.ts +1 -1
  98. package/dist/components/blocks/TeamBlock.js +4 -52
  99. package/dist/components/blocks/TestimonialsBlock.d.ts +1 -1
  100. package/dist/components/blocks/TestimonialsBlock.js +4 -133
  101. package/dist/components/blocks/TwoFactorChallengeBlock.js +9 -94
  102. package/dist/components/blocks/TwoFactorSetupBlock.js +16 -183
  103. package/dist/components/blocks/UsageDonutBlock.d.ts +1 -1
  104. package/dist/components/blocks/UsageDonutBlock.js +2 -2
  105. package/dist/components/logos/index.js +2 -2
  106. package/dist/components/page-kits/AccountLockedPageKit.d.ts +10 -0
  107. package/dist/components/page-kits/AccountLockedPageKit.js +48 -0
  108. package/dist/components/page-kits/AgentsChatPageKit.d.ts +46 -0
  109. package/dist/components/page-kits/AgentsChatPageKit.js +289 -0
  110. package/dist/components/page-kits/AnalyticsPageKit.d.ts +49 -0
  111. package/dist/components/page-kits/AnalyticsPageKit.js +277 -0
  112. package/dist/components/page-kits/BlogContentPageKit.d.ts +64 -0
  113. package/dist/components/page-kits/BlogContentPageKit.js +296 -0
  114. package/dist/components/page-kits/CheckoutPageKit.d.ts +36 -0
  115. package/dist/components/page-kits/CheckoutPageKit.js +209 -0
  116. package/dist/components/page-kits/CompanySuitePageKit.d.ts +25 -0
  117. package/dist/components/page-kits/CompanySuitePageKit.js +240 -0
  118. package/dist/components/page-kits/CrudFormPageKit.d.ts +54 -0
  119. package/dist/components/page-kits/CrudFormPageKit.js +138 -0
  120. package/dist/components/page-kits/CrudListDetailPageKit.d.ts +70 -0
  121. package/dist/components/page-kits/CrudListDetailPageKit.js +138 -0
  122. package/dist/components/page-kits/DashboardPageKit.d.ts +39 -0
  123. package/dist/components/page-kits/DashboardPageKit.js +284 -0
  124. package/dist/components/page-kits/ErrorPageKit.d.ts +22 -0
  125. package/dist/components/page-kits/ErrorPageKit.js +55 -0
  126. package/dist/components/page-kits/KanbanBoardPageKit.d.ts +31 -0
  127. package/dist/components/page-kits/KanbanBoardPageKit.js +305 -0
  128. package/dist/components/page-kits/LandingPageKit.d.ts +29 -0
  129. package/dist/components/page-kits/LandingPageKit.js +221 -0
  130. package/dist/components/page-kits/LoginPageKit.d.ts +16 -0
  131. package/dist/components/page-kits/LoginPageKit.js +43 -0
  132. package/dist/components/page-kits/MarketingShellPageKit.d.ts +21 -0
  133. package/dist/components/page-kits/MarketingShellPageKit.js +131 -0
  134. package/dist/components/page-kits/NavigationShellPageKit.d.ts +41 -0
  135. package/dist/components/page-kits/NavigationShellPageKit.js +132 -0
  136. package/dist/components/page-kits/OnboardingPageKit.d.ts +26 -0
  137. package/dist/components/page-kits/OnboardingPageKit.js +248 -0
  138. package/dist/components/page-kits/PricingPageKit.d.ts +41 -0
  139. package/dist/components/page-kits/PricingPageKit.js +279 -0
  140. package/dist/components/page-kits/ProfileSettingsPageKit.d.ts +50 -0
  141. package/dist/components/page-kits/ProfileSettingsPageKit.js +171 -0
  142. package/dist/components/page-kits/RecoveryPageKit.d.ts +17 -0
  143. package/dist/components/page-kits/RecoveryPageKit.js +58 -0
  144. package/dist/components/page-kits/ResetPageKit.d.ts +14 -0
  145. package/dist/components/page-kits/ResetPageKit.js +52 -0
  146. package/dist/components/page-kits/ServiceSuitePageKit.d.ts +25 -0
  147. package/dist/components/page-kits/ServiceSuitePageKit.js +320 -0
  148. package/dist/components/page-kits/SettingsPageKit.d.ts +27 -0
  149. package/dist/components/page-kits/SettingsPageKit.js +11 -0
  150. package/dist/components/page-kits/SignupPageKit.d.ts +15 -0
  151. package/dist/components/page-kits/SignupPageKit.js +41 -0
  152. package/dist/components/page-kits/SuccessPageKit.d.ts +15 -0
  153. package/dist/components/page-kits/SuccessPageKit.js +146 -0
  154. package/dist/components/page-kits/TeamSettingsPageKit.d.ts +50 -0
  155. package/dist/components/page-kits/TeamSettingsPageKit.js +297 -0
  156. package/dist/components/page-kits/TwoFactorPageKit.d.ts +16 -0
  157. package/dist/components/page-kits/TwoFactorPageKit.js +156 -0
  158. package/dist/components/page-kits/VerifyEmailPageKit.d.ts +15 -0
  159. package/dist/components/page-kits/VerifyEmailPageKit.js +146 -0
  160. package/dist/components/page-kits/VoiceAgentsPageKit.d.ts +35 -0
  161. package/dist/components/page-kits/VoiceAgentsPageKit.js +246 -0
  162. package/dist/components/ui/AudioWaveform.js +2 -76
  163. package/dist/components/ui/AvatarUpload.js +1 -1
  164. package/dist/components/ui/Breadcrumb.js +4 -106
  165. package/dist/components/ui/ChartCard.js +5 -38
  166. package/dist/components/ui/CheckoutFormDemo.js +5 -6
  167. package/dist/components/ui/DataFreshness.js +2 -73
  168. package/dist/components/ui/MouseEffect.js +1 -1
  169. package/dist/components/ui/NativeSelect.js +2 -18
  170. package/dist/components/ui/Pagination.js +6 -117
  171. package/dist/components/ui/ShaderBackground.js +2 -2
  172. package/dist/hooks/use-shader-preset.js +2 -2
  173. package/dist/lib/shader-presets.js +1 -1
  174. package/dist/lib/tokens.config.d.ts +19 -0
  175. package/package.json +793 -681
  176. package/scripts/ds-check.mjs +10 -2
  177. package/src/lib/tokens.config.js +63 -41
@@ -0,0 +1,320 @@
1
+ import { MarketingShellPageKit } from '../../chunk-E4L6LR6P.js';
2
+ import { TeamBlock } from '../../chunk-VBZQ4DBE.js';
3
+ import { TestimonialsBlock } from '../../chunk-IDKZEPWK.js';
4
+ import { ProcessFlowBlock } from '../../chunk-RMLS2QUC.js';
5
+ import { HeroBlock } from '../../chunk-MX5FUFQR.js';
6
+ import { FAQBlock } from '../../chunk-NEHCPO53.js';
7
+ import { FeatureBlock } from '../../chunk-HJ3A2YNO.js';
8
+ import '../../chunk-AYWL4IYM.js';
9
+ import '../../chunk-WOYBVPXK.js';
10
+ import { CallToActionBlock } from '../../chunk-GJPTPLCQ.js';
11
+ import '../../chunk-G5EO22OR.js';
12
+ import '../../chunk-ANBJ2OLC.js';
13
+ import '../../chunk-LV4LBWCS.js';
14
+ import '../../chunk-XZ3A33GP.js';
15
+ import '../../chunk-F3T2U7YL.js';
16
+ import '../../chunk-6DYFX5IR.js';
17
+ import '../../chunk-EB5PYS7Q.js';
18
+ import '../../chunk-OHX2LFAH.js';
19
+ import '../../chunk-SGI25ZJ6.js';
20
+ import '../../chunk-N53OMWW2.js';
21
+ import '../../chunk-DQPK2XRL.js';
22
+ import '../../chunk-HOWTYZL5.js';
23
+ import '../../chunk-GHIBG7OM.js';
24
+ import '../../chunk-ULLTRLBD.js';
25
+ import '../../chunk-4O6L5YWT.js';
26
+ import '../../chunk-WI547C47.js';
27
+ import '../../chunk-A7NUWD76.js';
28
+ import '../../chunk-CUZJIDU7.js';
29
+ import '../../chunk-AP3XXYAY.js';
30
+ import '../../chunk-LIBXYD5Q.js';
31
+ import '../../chunk-I23DDSU7.js';
32
+ import '../../chunk-AH6YSYYT.js';
33
+ import '../../chunk-NAAU5IWU.js';
34
+ import '../../chunk-DSMGCFMJ.js';
35
+ import '../../chunk-7KIDDF3I.js';
36
+ import '../../chunk-6FOHUNXR.js';
37
+ import '../../chunk-PD2YEH3H.js';
38
+ import '../../chunk-CRY67BIF.js';
39
+ import '../../chunk-HJC6U46F.js';
40
+ import '../../chunk-W4YX7N46.js';
41
+ import '../../chunk-GO35FTNJ.js';
42
+ import '../../chunk-PSVQ7ZNX.js';
43
+ import '../../chunk-FLF5AMNO.js';
44
+ import '../../chunk-WFJQ43SM.js';
45
+ import '../../chunk-S4GKGKON.js';
46
+ import '../../chunk-LCDDAE7J.js';
47
+ import '../../chunk-R674XI7C.js';
48
+ import '../../chunk-WUO7OONN.js';
49
+ import '../../chunk-BPCCTJSK.js';
50
+ import '../../chunk-CGUCH322.js';
51
+ import '../../chunk-ELKIUARM.js';
52
+ import '../../chunk-ZU2GYVAP.js';
53
+ import '../../chunk-KSHJQ2VT.js';
54
+ import '../../chunk-3CLXYQKB.js';
55
+ import '../../chunk-JHQ5NMLZ.js';
56
+ import '../../chunk-CRZ2JE24.js';
57
+ import '../../chunk-TXGANOAX.js';
58
+ import '../../chunk-OITJWGFV.js';
59
+ import '../../chunk-Z74D6D2W.js';
60
+ import '../../chunk-HNY45VUQ.js';
61
+ import '../../chunk-IJJI4RQU.js';
62
+ import '../../chunk-E7RBK6ML.js';
63
+ import '../../chunk-UBIGDGOP.js';
64
+ import '../../chunk-Q7LVUGFL.js';
65
+ import '../../chunk-ALMGJVMT.js';
66
+ import '../../chunk-QPXTBZWN.js';
67
+ import '../../chunk-GAKU7DFY.js';
68
+ import '../../chunk-T6BRD7TS.js';
69
+ import '../../chunk-R5XP45PD.js';
70
+ import '../../chunk-G5EO5FWC.js';
71
+ import '../../chunk-NCULQXJE.js';
72
+ import '../../chunk-VDYPDMYR.js';
73
+ import '../../chunk-WDGIQDQG.js';
74
+ import '../../chunk-WKRIKCJC.js';
75
+ import '../../chunk-7WDT2PRI.js';
76
+ import '../../chunk-AP5Y5M3R.js';
77
+ import '../../chunk-JZ4G2SJH.js';
78
+ import '../../chunk-KYGKJ553.js';
79
+ import '../../chunk-M7YSMMAC.js';
80
+ import '../../chunk-XQ2UDMPO.js';
81
+ import '../../chunk-JMCSAGZ3.js';
82
+ import '../../chunk-QUKDUSHD.js';
83
+ import '../../chunk-4NXZIMYZ.js';
84
+ import '../../chunk-TBKJ34BB.js';
85
+ import '../../chunk-2IZC7HSV.js';
86
+ import '../../chunk-2SDZMTB2.js';
87
+ import '../../chunk-R3AO6AZM.js';
88
+ import '../../chunk-RYOTIXZO.js';
89
+ import '../../chunk-W3B3UOEG.js';
90
+ import '../../chunk-ACRVOD7W.js';
91
+ import '../../chunk-QSU23VYZ.js';
92
+ import '../../chunk-BJYCQ2NV.js';
93
+ import '../../chunk-VM462WZC.js';
94
+ import '../../chunk-O74AEVHW.js';
95
+ import '../../chunk-ZUHIWALK.js';
96
+ import '../../chunk-5UZDOF6V.js';
97
+ import '../../chunk-PKVTEDKO.js';
98
+ import '../../chunk-I3TH7PIB.js';
99
+ import '../../chunk-WGPK3FQ7.js';
100
+ import '../../chunk-JL4MVVFH.js';
101
+ import '../../chunk-IQEBXXB5.js';
102
+ import '../../chunk-AZUJNRQU.js';
103
+ import '../../chunk-WA45EC4Y.js';
104
+ import '../../chunk-2MOEOEOI.js';
105
+ import '../../chunk-5LCXASRW.js';
106
+ import '../../chunk-2ZJVU7NV.js';
107
+ import '../../chunk-5ESF6N36.js';
108
+ import '../../chunk-RBPLOM3A.js';
109
+ import '../../chunk-GCUTJI7M.js';
110
+ import '../../chunk-2NT57K4U.js';
111
+ import '../../chunk-6G3RRWJT.js';
112
+ import '../../chunk-JRJGSNI4.js';
113
+ import '../../chunk-RF6ECFS5.js';
114
+ import '../../chunk-TV4RSQH4.js';
115
+ import '../../chunk-4FEAWXJD.js';
116
+ import '../../chunk-JHQTKMKG.js';
117
+ import '../../chunk-CI7GPGCJ.js';
118
+ import '../../chunk-226EBOTK.js';
119
+ import '../../chunk-G5YLGJXR.js';
120
+ import '../../chunk-G24VV5NO.js';
121
+ import '../../chunk-6BAV4TZ5.js';
122
+ import '../../chunk-SW6QPJM4.js';
123
+ import '../../chunk-V6WNRZT3.js';
124
+ import '../../chunk-JBK2LA6U.js';
125
+ import '../../chunk-55U27XY4.js';
126
+ import '../../chunk-LSPO6OBI.js';
127
+ import '../../chunk-Y56WBNCY.js';
128
+ import '../../chunk-KYZT3RNW.js';
129
+ import '../../chunk-UEG2LI7Z.js';
130
+ import '../../chunk-JJTQOH7J.js';
131
+ import '../../chunk-72X6SXOX.js';
132
+ import '../../chunk-SR5U52V3.js';
133
+ import '../../chunk-74RKVIBV.js';
134
+ import '../../chunk-AWIJHDNK.js';
135
+ import '../../chunk-BRP6D56U.js';
136
+ import '../../chunk-S733NAYS.js';
137
+ import '../../chunk-MAUTIHQG.js';
138
+ import '../../chunk-666N6OTL.js';
139
+ import '../../chunk-FMH55OKV.js';
140
+ import '../../chunk-WXVNTJIB.js';
141
+ import '../../chunk-CXACRCZ4.js';
142
+ import '../../chunk-T7H53CK2.js';
143
+ import '../../chunk-BFLN54VR.js';
144
+ import '../../chunk-P6IRHPFM.js';
145
+ import '../../chunk-SXHYB7JB.js';
146
+ import '../../chunk-ONGJ7AC2.js';
147
+ import '../../chunk-UHXGBV5N.js';
148
+ import '../../chunk-UIUMTURU.js';
149
+ import '../../chunk-PRUXIDBD.js';
150
+ import '../../chunk-NURPUVUV.js';
151
+ import '../../chunk-S4JAHKOP.js';
152
+ import '../../chunk-HJBXUXTD.js';
153
+ import '../../chunk-ASKFAYYR.js';
154
+ import { cn } from '../../chunk-QYZT24TS.js';
155
+ import React from 'react';
156
+ import { jsx } from 'react/jsx-runtime';
157
+
158
+ var DEFAULT_SECTION_ORDER = [
159
+ "hero",
160
+ "features",
161
+ "process",
162
+ "team",
163
+ "testimonials",
164
+ "faq",
165
+ "cta"
166
+ ];
167
+ var DEFAULTS_BY_VARIANT = {
168
+ "agency-home": {
169
+ hero: {
170
+ headline: "A service partner for design and engineering velocity.",
171
+ subheadline: "Launch polished digital experiences with a repeatable service system.",
172
+ primaryAction: { label: "Talk to sales" }
173
+ },
174
+ features: {
175
+ features: [
176
+ {
177
+ title: "Cross-functional squads",
178
+ description: "Design, engineering, and QA operating in one weekly cadence.",
179
+ icon: /* @__PURE__ */ jsx("span", { "aria-hidden": true, children: "\u25CF" }),
180
+ bullets: ["Shared backlog", "Contract-first delivery", "Continuous validation"],
181
+ buttonLabel: "Learn more"
182
+ }
183
+ ]
184
+ },
185
+ process: {
186
+ title: "Service process",
187
+ steps: [
188
+ { title: "Discover", description: "Map goals, constraints, and target outcomes." },
189
+ { title: "Build", description: "Ship slices weekly with measurable acceptance." },
190
+ { title: "Scale", description: "Expand coverage using reusable contracts and kits." }
191
+ ]
192
+ },
193
+ team: null,
194
+ testimonials: {},
195
+ faq: {},
196
+ cta: {
197
+ title: "Need an execution partner?",
198
+ description: "Book a planning session and get a route-level rollout plan.",
199
+ primaryAction: { label: "Book planning", href: "/contact" }
200
+ }
201
+ },
202
+ "digital-workers": {
203
+ hero: {
204
+ headline: "Digital workers for planning, delivery, and quality.",
205
+ subheadline: "Deploy role-based workers that execute work while humans stay in control.",
206
+ primaryAction: { label: "Request demo" }
207
+ },
208
+ features: {
209
+ features: [
210
+ {
211
+ title: "Role-specialized workers",
212
+ description: "Assign planner, coder, and QA workers per workflow.",
213
+ icon: /* @__PURE__ */ jsx("span", { "aria-hidden": true, children: "\u25CD" }),
214
+ bullets: ["Shared context", "Traceable decisions", "Approval checkpoints"],
215
+ buttonLabel: "Explore workers"
216
+ }
217
+ ]
218
+ },
219
+ process: {
220
+ title: "Delivery process",
221
+ steps: [
222
+ { title: "Select workers", description: "Pick the worker stack for each objective." },
223
+ { title: "Run supervised", description: "Review outputs before execution-critical actions." },
224
+ { title: "Promote safely", description: "Ship with tests and release gates enforced." }
225
+ ]
226
+ },
227
+ team: {
228
+ title: "Worker team"
229
+ },
230
+ testimonials: {},
231
+ faq: {},
232
+ cta: {
233
+ title: "Design your worker stack",
234
+ description: "Start with a pilot route and scale based on measured outcomes.",
235
+ primaryAction: { label: "Start pilot", href: "/contact" }
236
+ }
237
+ },
238
+ "service-detail": {
239
+ hero: {
240
+ headline: "A focused service track for your highest-impact route.",
241
+ subheadline: "Bring one route from concept to production with a contract-first approach.",
242
+ primaryAction: { label: "Request proposal" }
243
+ },
244
+ features: {
245
+ features: [
246
+ {
247
+ title: "Outcome-led scope",
248
+ description: "Every section is mapped to a measurable business outcome.",
249
+ icon: /* @__PURE__ */ jsx("span", { "aria-hidden": true, children: "\u25C9" }),
250
+ bullets: ["Delivery milestones", "Weekly demos", "Launch checklist"],
251
+ buttonLabel: "See deliverables"
252
+ }
253
+ ]
254
+ },
255
+ process: {
256
+ title: "Implementation steps",
257
+ steps: [
258
+ { title: "Audit", description: "Review current route structure and conversion friction." },
259
+ { title: "Design", description: "Define section contracts and interaction states." },
260
+ { title: "Implement", description: "Ship validated route kit with test coverage." }
261
+ ]
262
+ },
263
+ team: null,
264
+ testimonials: {},
265
+ faq: {},
266
+ cta: {
267
+ title: "Need this service for your route?",
268
+ description: "Share your current page and goals, we will map a rollout plan.",
269
+ primaryAction: { label: "Contact team", href: "/contact" }
270
+ }
271
+ }
272
+ };
273
+ function normalizeSectionOrder(sectionOrder) {
274
+ if (!sectionOrder || sectionOrder.length === 0) {
275
+ return DEFAULT_SECTION_ORDER;
276
+ }
277
+ const seen = /* @__PURE__ */ new Set();
278
+ return sectionOrder.filter((sectionId) => {
279
+ if (seen.has(sectionId)) {
280
+ return false;
281
+ }
282
+ seen.add(sectionId);
283
+ return true;
284
+ });
285
+ }
286
+ function ServiceSuitePageKit({
287
+ shell,
288
+ variant = "agency-home",
289
+ sectionOrder,
290
+ hero,
291
+ features,
292
+ process,
293
+ team,
294
+ testimonials,
295
+ faq,
296
+ cta,
297
+ className
298
+ }) {
299
+ const defaults = DEFAULTS_BY_VARIANT[variant];
300
+ const resolvedHero = hero ?? defaults.hero;
301
+ const resolvedFeatures = features === void 0 ? defaults.features : features;
302
+ const resolvedProcess = process === void 0 ? defaults.process : process;
303
+ const resolvedTeam = team === void 0 ? defaults.team : team;
304
+ const resolvedTestimonials = testimonials === void 0 ? defaults.testimonials : testimonials;
305
+ const resolvedFaq = faq === void 0 ? defaults.faq : faq;
306
+ const resolvedCta = cta === void 0 ? defaults.cta : cta;
307
+ const orderedSections = normalizeSectionOrder(sectionOrder);
308
+ const sectionById = {
309
+ hero: resolvedHero === null ? null : /* @__PURE__ */ jsx("section", { "data-testid": "service-section-hero", className: "mx-auto w-full max-w-6xl px-6", children: /* @__PURE__ */ jsx(HeroBlock, { variant: "split", ...resolvedHero }) }),
310
+ features: resolvedFeatures === null ? null : /* @__PURE__ */ jsx("section", { "data-testid": "service-section-features", className: "mx-auto w-full max-w-6xl px-6", children: /* @__PURE__ */ jsx(FeatureBlock, { variant: "list", ...resolvedFeatures }) }),
311
+ process: resolvedProcess === null ? null : /* @__PURE__ */ jsx("section", { "data-testid": "service-section-process", className: "mx-auto w-full max-w-6xl px-6", children: /* @__PURE__ */ jsx(ProcessFlowBlock, { ...resolvedProcess }) }),
312
+ team: resolvedTeam === null ? null : /* @__PURE__ */ jsx("section", { "data-testid": "service-section-team", className: "mx-auto w-full max-w-6xl px-6", children: /* @__PURE__ */ jsx(TeamBlock, { ...resolvedTeam }) }),
313
+ testimonials: resolvedTestimonials === null ? null : /* @__PURE__ */ jsx("section", { "data-testid": "service-section-testimonials", className: "mx-auto w-full max-w-6xl px-6", children: /* @__PURE__ */ jsx(TestimonialsBlock, { ...resolvedTestimonials }) }),
314
+ faq: resolvedFaq === null ? null : /* @__PURE__ */ jsx("section", { "data-testid": "service-section-faq", className: "mx-auto w-full max-w-6xl px-6", children: /* @__PURE__ */ jsx(FAQBlock, { ...resolvedFaq }) }),
315
+ cta: resolvedCta === null ? null : /* @__PURE__ */ jsx("section", { "data-testid": "service-section-cta", className: "mx-auto w-full max-w-6xl px-6 pb-16", children: /* @__PURE__ */ jsx(CallToActionBlock, { ...resolvedCta }) })
316
+ };
317
+ return /* @__PURE__ */ jsx(MarketingShellPageKit, { ...shell, children: /* @__PURE__ */ jsx("div", { className: cn("space-y-10 pb-10", className), children: orderedSections.map((sectionId) => /* @__PURE__ */ jsx(React.Fragment, { children: sectionById[sectionId] }, sectionId)) }) });
318
+ }
319
+
320
+ export { ServiceSuitePageKit };
@@ -0,0 +1,27 @@
1
+ import React from "react";
2
+ export type SettingsPageKitSaveState = "loading" | "default" | "dirty" | "saving" | "saved" | "validation-error" | "fatal-error";
3
+ export interface SettingsPageKitSection {
4
+ id: string;
5
+ label: string;
6
+ description?: string;
7
+ isAvailable?: boolean;
8
+ unavailableReason?: string;
9
+ }
10
+ export interface SettingsPageKitProps {
11
+ title?: string;
12
+ description?: string;
13
+ sections: SettingsPageKitSection[];
14
+ activeSectionId: string;
15
+ onSectionChange?: (sectionId: string) => void;
16
+ renderSection: (section: SettingsPageKitSection) => React.ReactNode;
17
+ saveState?: SettingsPageKitSaveState;
18
+ validationMessage?: string;
19
+ fatalErrorMessage?: string;
20
+ savedMessage?: string;
21
+ onSave?: () => void;
22
+ onDiscard?: () => void;
23
+ saveLabel?: string;
24
+ discardLabel?: string;
25
+ className?: string;
26
+ }
27
+ export declare function SettingsPageKit({ title, description, sections, activeSectionId, onSectionChange, renderSection, saveState, validationMessage, fatalErrorMessage, savedMessage, onSave, onDiscard, saveLabel, discardLabel, className, }: SettingsPageKitProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,11 @@
1
+ export { SettingsPageKit } from '../../chunk-RKQPU75I.js';
2
+ import '../../chunk-N53OMWW2.js';
3
+ import '../../chunk-WI547C47.js';
4
+ import '../../chunk-55HD4L6G.js';
5
+ import '../../chunk-AH6YSYYT.js';
6
+ import '../../chunk-7KIDDF3I.js';
7
+ import '../../chunk-PD2YEH3H.js';
8
+ import '../../chunk-CRY67BIF.js';
9
+ import '../../chunk-HJC6U46F.js';
10
+ import '../../chunk-S4JAHKOP.js';
11
+ import '../../chunk-QYZT24TS.js';
@@ -0,0 +1,15 @@
1
+ import React from "react";
2
+ import { LoginBlock } from "../blocks/LoginBlock";
3
+ type LoginBlockProps = React.ComponentProps<typeof LoginBlock>;
4
+ export interface SignupPageKitProps {
5
+ action?: LoginBlockProps["action"];
6
+ googleAction?: LoginBlockProps["googleAction"];
7
+ error?: LoginBlockProps["error"];
8
+ showSocial?: LoginBlockProps["showSocial"];
9
+ labels?: LoginBlockProps["labels"];
10
+ signInHref?: LoginBlockProps["signInHref"];
11
+ className?: string;
12
+ cardClassName?: string;
13
+ }
14
+ export declare function SignupPageKit({ action, googleAction, error, showSocial, labels, signInHref, className, cardClassName, }: SignupPageKitProps): import("react/jsx-runtime").JSX.Element;
15
+ export {};
@@ -0,0 +1,41 @@
1
+ import { LoginBlock } from '../../chunk-6MFAZU4B.js';
2
+ import '../../chunk-DQPK2XRL.js';
3
+ import '../../chunk-RX5EUODB.js';
4
+ import '../../chunk-WI547C47.js';
5
+ import '../../chunk-AP3XXYAY.js';
6
+ import '../../chunk-LIBXYD5Q.js';
7
+ import '../../chunk-DJTF3XFB.js';
8
+ import '../../chunk-AH6YSYYT.js';
9
+ import '../../chunk-7KIDDF3I.js';
10
+ import '../../chunk-PD2YEH3H.js';
11
+ import '../../chunk-CRY67BIF.js';
12
+ import '../../chunk-HJC6U46F.js';
13
+ import { cn } from '../../chunk-QYZT24TS.js';
14
+ import { jsx } from 'react/jsx-runtime';
15
+
16
+ function SignupPageKit({
17
+ action,
18
+ googleAction,
19
+ error,
20
+ showSocial = true,
21
+ labels,
22
+ signInHref,
23
+ className,
24
+ cardClassName
25
+ }) {
26
+ return /* @__PURE__ */ jsx("section", { className: cn("min-h-dvh w-full bg-background px-4 py-12 md:px-8 md:py-20", className), children: /* @__PURE__ */ jsx("div", { className: "mx-auto flex w-full max-w-5xl items-center justify-center", children: /* @__PURE__ */ jsx(
27
+ LoginBlock,
28
+ {
29
+ className: cn("w-full", cardClassName),
30
+ type: "signup",
31
+ action,
32
+ googleAction,
33
+ error,
34
+ showSocial,
35
+ labels,
36
+ signInHref
37
+ }
38
+ ) }) });
39
+ }
40
+
41
+ export { SignupPageKit };
@@ -0,0 +1,15 @@
1
+ import React from "react";
2
+ import { AuthSuccessBlock } from "../blocks/AuthSuccessBlock";
3
+ type AuthSuccessBlockProps = React.ComponentProps<typeof AuthSuccessBlock>;
4
+ export interface SuccessPageKitProps {
5
+ icon?: AuthSuccessBlockProps["icon"];
6
+ title?: AuthSuccessBlockProps["title"];
7
+ description?: AuthSuccessBlockProps["description"];
8
+ buttonText?: AuthSuccessBlockProps["buttonText"];
9
+ onContinue?: AuthSuccessBlockProps["onContinue"];
10
+ autoRedirectSeconds?: AuthSuccessBlockProps["autoRedirectSeconds"];
11
+ className?: string;
12
+ cardClassName?: string;
13
+ }
14
+ export declare function SuccessPageKit({ icon, title, description, buttonText, onContinue, autoRedirectSeconds, className, cardClassName, }: SuccessPageKitProps): import("react/jsx-runtime").JSX.Element;
15
+ export {};
@@ -0,0 +1,146 @@
1
+ import { AuthSuccessBlock } from '../../chunk-LCKLZ4XK.js';
2
+ import '../../chunk-AH6YSYYT.js';
3
+ import '../../chunk-7KIDDF3I.js';
4
+ import '../../chunk-PD2YEH3H.js';
5
+ import '../../chunk-CRY67BIF.js';
6
+ import '../../chunk-HJC6U46F.js';
7
+ import '../../chunk-GO35FTNJ.js';
8
+ import '../../chunk-PSVQ7ZNX.js';
9
+ import '../../chunk-FLF5AMNO.js';
10
+ import '../../chunk-WFJQ43SM.js';
11
+ import '../../chunk-S4GKGKON.js';
12
+ import '../../chunk-LCDDAE7J.js';
13
+ import '../../chunk-R674XI7C.js';
14
+ import '../../chunk-WUO7OONN.js';
15
+ import '../../chunk-BPCCTJSK.js';
16
+ import '../../chunk-CGUCH322.js';
17
+ import '../../chunk-ELKIUARM.js';
18
+ import '../../chunk-ZU2GYVAP.js';
19
+ import '../../chunk-KSHJQ2VT.js';
20
+ import '../../chunk-3CLXYQKB.js';
21
+ import '../../chunk-JHQ5NMLZ.js';
22
+ import '../../chunk-CRZ2JE24.js';
23
+ import '../../chunk-TXGANOAX.js';
24
+ import '../../chunk-OITJWGFV.js';
25
+ import '../../chunk-Z74D6D2W.js';
26
+ import '../../chunk-HNY45VUQ.js';
27
+ import '../../chunk-IJJI4RQU.js';
28
+ import '../../chunk-E7RBK6ML.js';
29
+ import '../../chunk-UBIGDGOP.js';
30
+ import '../../chunk-Q7LVUGFL.js';
31
+ import '../../chunk-ALMGJVMT.js';
32
+ import '../../chunk-QPXTBZWN.js';
33
+ import '../../chunk-GAKU7DFY.js';
34
+ import '../../chunk-T6BRD7TS.js';
35
+ import '../../chunk-R5XP45PD.js';
36
+ import '../../chunk-G5EO5FWC.js';
37
+ import '../../chunk-NCULQXJE.js';
38
+ import '../../chunk-VDYPDMYR.js';
39
+ import '../../chunk-WDGIQDQG.js';
40
+ import '../../chunk-WKRIKCJC.js';
41
+ import '../../chunk-7WDT2PRI.js';
42
+ import '../../chunk-AP5Y5M3R.js';
43
+ import '../../chunk-JZ4G2SJH.js';
44
+ import '../../chunk-KYGKJ553.js';
45
+ import '../../chunk-M7YSMMAC.js';
46
+ import '../../chunk-XQ2UDMPO.js';
47
+ import '../../chunk-JMCSAGZ3.js';
48
+ import '../../chunk-QUKDUSHD.js';
49
+ import '../../chunk-4NXZIMYZ.js';
50
+ import '../../chunk-TBKJ34BB.js';
51
+ import '../../chunk-2IZC7HSV.js';
52
+ import '../../chunk-2SDZMTB2.js';
53
+ import '../../chunk-R3AO6AZM.js';
54
+ import '../../chunk-RYOTIXZO.js';
55
+ import '../../chunk-W3B3UOEG.js';
56
+ import '../../chunk-ACRVOD7W.js';
57
+ import '../../chunk-QSU23VYZ.js';
58
+ import '../../chunk-BJYCQ2NV.js';
59
+ import '../../chunk-VM462WZC.js';
60
+ import '../../chunk-O74AEVHW.js';
61
+ import '../../chunk-ZUHIWALK.js';
62
+ import '../../chunk-5UZDOF6V.js';
63
+ import '../../chunk-PKVTEDKO.js';
64
+ import '../../chunk-I3TH7PIB.js';
65
+ import '../../chunk-WGPK3FQ7.js';
66
+ import '../../chunk-JL4MVVFH.js';
67
+ import '../../chunk-IQEBXXB5.js';
68
+ import '../../chunk-AZUJNRQU.js';
69
+ import '../../chunk-WA45EC4Y.js';
70
+ import '../../chunk-2MOEOEOI.js';
71
+ import '../../chunk-5LCXASRW.js';
72
+ import '../../chunk-2ZJVU7NV.js';
73
+ import '../../chunk-5ESF6N36.js';
74
+ import '../../chunk-RBPLOM3A.js';
75
+ import '../../chunk-GCUTJI7M.js';
76
+ import '../../chunk-2NT57K4U.js';
77
+ import '../../chunk-6G3RRWJT.js';
78
+ import '../../chunk-JRJGSNI4.js';
79
+ import '../../chunk-RF6ECFS5.js';
80
+ import '../../chunk-TV4RSQH4.js';
81
+ import '../../chunk-4FEAWXJD.js';
82
+ import '../../chunk-JHQTKMKG.js';
83
+ import '../../chunk-CI7GPGCJ.js';
84
+ import { CheckCircleIcon } from '../../chunk-226EBOTK.js';
85
+ import '../../chunk-G5YLGJXR.js';
86
+ import '../../chunk-G24VV5NO.js';
87
+ import '../../chunk-6BAV4TZ5.js';
88
+ import '../../chunk-SW6QPJM4.js';
89
+ import '../../chunk-V6WNRZT3.js';
90
+ import '../../chunk-JBK2LA6U.js';
91
+ import '../../chunk-55U27XY4.js';
92
+ import '../../chunk-LSPO6OBI.js';
93
+ import '../../chunk-Y56WBNCY.js';
94
+ import '../../chunk-KYZT3RNW.js';
95
+ import '../../chunk-UEG2LI7Z.js';
96
+ import '../../chunk-JJTQOH7J.js';
97
+ import '../../chunk-72X6SXOX.js';
98
+ import '../../chunk-SR5U52V3.js';
99
+ import '../../chunk-74RKVIBV.js';
100
+ import '../../chunk-AWIJHDNK.js';
101
+ import '../../chunk-BRP6D56U.js';
102
+ import '../../chunk-S733NAYS.js';
103
+ import '../../chunk-MAUTIHQG.js';
104
+ import '../../chunk-666N6OTL.js';
105
+ import '../../chunk-FMH55OKV.js';
106
+ import '../../chunk-WXVNTJIB.js';
107
+ import '../../chunk-CXACRCZ4.js';
108
+ import '../../chunk-T7H53CK2.js';
109
+ import '../../chunk-BFLN54VR.js';
110
+ import '../../chunk-P6IRHPFM.js';
111
+ import '../../chunk-SXHYB7JB.js';
112
+ import '../../chunk-ONGJ7AC2.js';
113
+ import '../../chunk-UHXGBV5N.js';
114
+ import '../../chunk-UIUMTURU.js';
115
+ import '../../chunk-PRUXIDBD.js';
116
+ import '../../chunk-NURPUVUV.js';
117
+ import '../../chunk-HJBXUXTD.js';
118
+ import '../../chunk-ASKFAYYR.js';
119
+ import { cn } from '../../chunk-QYZT24TS.js';
120
+ import { jsx } from 'react/jsx-runtime';
121
+
122
+ function SuccessPageKit({
123
+ icon = /* @__PURE__ */ jsx(CheckCircleIcon, { size: 32, className: "text-success" }),
124
+ title = "Success",
125
+ description = "Your request completed successfully.",
126
+ buttonText = "Continue",
127
+ onContinue,
128
+ autoRedirectSeconds,
129
+ className,
130
+ cardClassName
131
+ }) {
132
+ return /* @__PURE__ */ jsx("section", { className: cn("min-h-dvh w-full bg-background px-4 py-12 md:px-8 md:py-20", className), children: /* @__PURE__ */ jsx("div", { className: "mx-auto flex w-full max-w-5xl items-center justify-center", children: /* @__PURE__ */ jsx(
133
+ AuthSuccessBlock,
134
+ {
135
+ className: cn("w-full", cardClassName),
136
+ icon,
137
+ title,
138
+ description,
139
+ buttonText,
140
+ onContinue,
141
+ autoRedirectSeconds
142
+ }
143
+ ) }) });
144
+ }
145
+
146
+ export { SuccessPageKit };
@@ -0,0 +1,50 @@
1
+ import type { NavigationShellPageKitProps } from "./NavigationShellPageKit";
2
+ export type TeamSettingsPageKitRole = "owner" | "admin" | "member" | "guest";
3
+ export type TeamSettingsPageKitStatus = "active" | "invited" | "suspended";
4
+ export type TeamSettingsPageKitState = "loading" | "empty" | "filtered" | "invited-member" | "active-member" | "saving" | "fatal-error";
5
+ export interface TeamSettingsPageKitMember {
6
+ id: string;
7
+ name: string;
8
+ email: string;
9
+ role: TeamSettingsPageKitRole;
10
+ status: TeamSettingsPageKitStatus;
11
+ joinedLabel?: string;
12
+ avatarUrl?: string;
13
+ avatarFallback?: string;
14
+ }
15
+ export interface TeamSettingsPageKitSeatSummary {
16
+ usedSeats: number;
17
+ totalSeats: number;
18
+ }
19
+ export interface TeamSettingsPageKitSearch {
20
+ value: string;
21
+ onChange: (value: string) => void;
22
+ placeholder?: string;
23
+ label?: string;
24
+ }
25
+ export interface TeamSettingsPageKitInviteAction {
26
+ label: string;
27
+ onInvite: () => void;
28
+ canInvite?: boolean;
29
+ disabledReason?: string;
30
+ }
31
+ export interface TeamSettingsPageKitMemberAction {
32
+ id: string;
33
+ label: string;
34
+ tone?: "default" | "destructive";
35
+ }
36
+ export interface TeamSettingsPageKitProps {
37
+ shell: Omit<NavigationShellPageKitProps, "children">;
38
+ state?: TeamSettingsPageKitState;
39
+ members: TeamSettingsPageKitMember[];
40
+ seatSummary: TeamSettingsPageKitSeatSummary;
41
+ search: TeamSettingsPageKitSearch;
42
+ inviteAction: TeamSettingsPageKitInviteAction;
43
+ memberActions: TeamSettingsPageKitMemberAction[];
44
+ onMemberAction?: (memberId: string, actionId: string) => void;
45
+ selectedMemberId?: string | null;
46
+ onSelectedMemberChange?: (memberId: string | null) => void;
47
+ errorMessage?: string;
48
+ className?: string;
49
+ }
50
+ export declare function TeamSettingsPageKit({ shell, state, members, seatSummary, search, inviteAction, memberActions, onMemberAction, selectedMemberId, onSelectedMemberChange, errorMessage, className, }: TeamSettingsPageKitProps): import("react/jsx-runtime").JSX.Element;