@vadimcomanescu/nadicode-design-system 2.0.6 → 2.0.8

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 (339) hide show
  1. package/.agents/skills/seed/SKILL.md +17 -8
  2. package/.agents/skills/seed/contract.md +5 -4
  3. package/.agents/skills/seed/intent-map.md +3 -3
  4. package/.agents/skills/seed/recipes/agents-chat.md +44 -20
  5. package/.agents/skills/seed/recipes/marketing-shell.md +10 -19
  6. package/.agents/skills/seed/recipes/navigation-shell.md +5 -5
  7. package/.agents/skills/seed/recipes/service-detail.md +1 -1
  8. package/.agents/skills/seed/references/blocks.md +30 -26
  9. package/.agents/skills/seed/references/brand-override.md +3 -1
  10. package/.agents/skills/seed/references/components.md +22 -2
  11. package/.agents/skills/seed/references/dashboard-patterns.md +12 -12
  12. package/.agents/skills/seed/references/nextjs.md +20 -80
  13. package/.agents/skills/seed/references/tokens.md +57 -248
  14. package/README.md +43 -215
  15. package/contracts/block-props-schemas.json +2186 -0
  16. package/contracts/component-props-schemas.json +8322 -0
  17. package/contracts/consumer-contract.json +178 -0
  18. package/contracts/consumer-intent-map.json +707 -0
  19. package/contracts/message-catalog-contract.json +820 -0
  20. package/contracts/page-kit-props-schemas.json +1894 -0
  21. package/contracts/public-surface-registry.json +6162 -0
  22. package/contracts/public-surface-registry.schema.json +227 -0
  23. package/contracts/release-governance-baseline.json +850 -0
  24. package/contracts/spec-manifest.json +46 -0
  25. package/css/tokens.css +300 -122
  26. package/dist/catalog.json +2166 -162
  27. package/dist/chunk-2BADJLMV.js +117 -0
  28. package/dist/chunk-35EX5FP5.js +106 -0
  29. package/dist/chunk-4IGBBIYW.js +47 -0
  30. package/dist/chunk-4WPZ6T7V.js +186 -0
  31. package/dist/chunk-5PZ4VR2D.js +142 -0
  32. package/dist/chunk-5UESKK6S.js +76 -0
  33. package/dist/chunk-7A2RXKGH.js +205 -0
  34. package/dist/{chunk-DF47R6LN.js → chunk-AWIG4QN6.js} +9 -9
  35. package/dist/chunk-AYWL4IYM.js +67 -0
  36. package/dist/chunk-C7WHMSF3.js +114 -0
  37. package/dist/{chunk-SV3KZ6CB.js → chunk-DSMGCFMJ.js} +7 -2
  38. package/dist/{chunk-4K3PATUT.js → chunk-EEL4RAPC.js} +13 -1
  39. package/dist/{chunk-ILIHQ2KZ.js → chunk-EK43W2Y6.js} +16 -10
  40. package/dist/chunk-FV2G6SAF.js +134 -0
  41. package/dist/chunk-FX23F33E.js +57 -0
  42. package/dist/chunk-GJPTPLCQ.js +52 -0
  43. package/dist/chunk-HJ3A2YNO.js +163 -0
  44. package/dist/chunk-HJZRSPWB.js +38 -0
  45. package/dist/chunk-HWHJ6IRQ.js +78 -0
  46. package/dist/chunk-HZERHGBT.js +77 -0
  47. package/dist/{chunk-AUSYEAIJ.js → chunk-I66XWYSS.js} +32 -8
  48. package/dist/chunk-IXQGKJU4.js +183 -0
  49. package/dist/chunk-JDJY4ABS.js +60 -0
  50. package/dist/chunk-K7NQ6ZAW.js +84 -0
  51. package/dist/chunk-KWILREVQ.js +147 -0
  52. package/dist/chunk-LCKLZ4XK.js +60 -0
  53. package/dist/{chunk-WI37ZYIF.js → chunk-M4XKO45H.js} +13 -1
  54. package/dist/chunk-NEHCPO53.js +44 -0
  55. package/dist/chunk-OJ7OO3QB.js +269 -0
  56. package/dist/{chunk-ZHTQF2KI.js → chunk-OSNTB6RY.js} +29 -22
  57. package/dist/{chunk-GMMPLZLC.js → chunk-PDSQC6VE.js} +1 -1
  58. package/dist/chunk-QIHA7S3A.js +36 -0
  59. package/dist/chunk-QQOWC53X.js +98 -0
  60. package/dist/chunk-RKQPU75I.js +126 -0
  61. package/dist/chunk-U4GYSYGN.js +120 -0
  62. package/dist/chunk-UGV45DH3.js +18 -0
  63. package/dist/chunk-VBZQ4DBE.js +52 -0
  64. package/dist/{chunk-LQLFA2EL.js → chunk-VDONTZZX.js} +2 -2
  65. package/dist/chunk-VEO56RH4.js +105 -0
  66. package/dist/chunk-VJ5VD4UT.js +91 -0
  67. package/dist/{chunk-RWNJ54CI.js → chunk-VN475YZS.js} +1 -1
  68. package/dist/chunk-VNNAL4A6.js +110 -0
  69. package/dist/chunk-VZCB4APK.js +94 -0
  70. package/dist/chunk-W7FXDRQJ.js +94 -0
  71. package/dist/{chunk-5I3FWRC5.js → chunk-WOYBVPXK.js} +10 -10
  72. package/dist/chunk-WST5NLLC.js +73 -0
  73. package/dist/chunk-X6VXWEDO.js +125 -0
  74. package/dist/chunk-XTASI4IY.js +60 -0
  75. package/dist/chunk-Z233ZQZE.js +33 -0
  76. package/dist/chunk-ZKLB5N3Q.js +110 -0
  77. package/dist/chunk-ZM2NODUK.js +39 -0
  78. package/dist/components/blocks/AccountLockedBlock.js +7 -57
  79. package/dist/components/blocks/ActivityFeedBlock.js +6 -39
  80. package/dist/components/blocks/AgentConversationBlock.d.ts +6 -1
  81. package/dist/components/blocks/AgentConversationBlock.js +45 -71
  82. package/dist/components/blocks/AgentRunOverviewBlock.js +1 -1
  83. package/dist/components/blocks/AgentWorkbenchBlock.d.ts +5 -1
  84. package/dist/components/blocks/AgentWorkbenchBlock.js +47 -46
  85. package/dist/components/blocks/AudioVisualizerBlock.d.ts +1 -1
  86. package/dist/components/blocks/AudioVisualizerBlock.js +2 -2
  87. package/dist/components/blocks/AuthLayout.js +2 -2
  88. package/dist/components/blocks/AuthSuccessBlock.js +5 -60
  89. package/dist/components/blocks/BannerBlock.js +38 -38
  90. package/dist/components/blocks/BarChartBlock.d.ts +1 -1
  91. package/dist/components/blocks/BarChartBlock.js +2 -2
  92. package/dist/components/blocks/CallToActionBlock.d.ts +1 -1
  93. package/dist/components/blocks/CallToActionBlock.js +7 -53
  94. package/dist/components/blocks/ChangelogBlock.js +45 -142
  95. package/dist/components/blocks/ChartBlock.js +38 -38
  96. package/dist/components/blocks/ChartCollectionBlock.js +3 -3
  97. package/dist/components/blocks/ChatLayout.d.ts +4 -1
  98. package/dist/components/blocks/ChatLayout.js +39 -39
  99. package/dist/components/blocks/CodeBlock.js +7 -60
  100. package/dist/components/blocks/ComparisonBlock.js +9 -94
  101. package/dist/components/blocks/ContactBlock.js +11 -120
  102. package/dist/components/blocks/CreateBlock.js +39 -39
  103. package/dist/components/blocks/DataGridBlock.js +40 -40
  104. package/dist/components/blocks/DirectoryBlock.js +43 -43
  105. package/dist/components/blocks/FAQBlock.js +44 -82
  106. package/dist/components/blocks/FeatureBlock.d.ts +10 -14
  107. package/dist/components/blocks/FeatureBlock.js +54 -196
  108. package/dist/components/blocks/FeatureGridBlock.d.ts +1 -1
  109. package/dist/components/blocks/FeatureGridBlock.js +2 -2
  110. package/dist/components/blocks/FooterBlock.d.ts +2 -2
  111. package/dist/components/blocks/FooterBlock.js +11 -67
  112. package/dist/components/blocks/GalleryBlock.js +38 -38
  113. package/dist/components/blocks/HeaderBlock.d.ts +2 -2
  114. package/dist/components/blocks/HeaderBlock.js +39 -39
  115. package/dist/components/blocks/HeatmapChartBlock.d.ts +1 -1
  116. package/dist/components/blocks/HeatmapChartBlock.js +1 -1
  117. package/dist/components/blocks/HeroBlock.d.ts +6 -3
  118. package/dist/components/blocks/HeroBlock.js +53 -236
  119. package/dist/components/blocks/HeroSectionBlock.d.ts +1 -1
  120. package/dist/components/blocks/HeroSectionBlock.js +59 -63
  121. package/dist/components/blocks/IntegrationsBlock.d.ts +1 -1
  122. package/dist/components/blocks/IntegrationsBlock.js +42 -42
  123. package/dist/components/blocks/InteractiveAreaChartBlock.d.ts +1 -1
  124. package/dist/components/blocks/InteractiveAreaChartBlock.js +40 -40
  125. package/dist/components/blocks/KanbanDemoBlock.js +3 -3
  126. package/dist/components/blocks/LoginBlock.js +2 -2
  127. package/dist/components/blocks/LogoCloud.js +2 -13
  128. package/dist/components/blocks/NavUser.js +42 -42
  129. package/dist/components/blocks/NewsletterBlock.js +11 -84
  130. package/dist/components/blocks/NotFoundBlock.js +41 -41
  131. package/dist/components/blocks/OnboardingBlock.js +38 -38
  132. package/dist/components/blocks/PasswordRecoveryBlock.js +14 -142
  133. package/dist/components/blocks/PricingBlock.d.ts +1 -1
  134. package/dist/components/blocks/PricingBlock.js +13 -112
  135. package/dist/components/blocks/ProcessFlowBlock.js +10 -77
  136. package/dist/components/blocks/ResetPasswordBlock.js +11 -125
  137. package/dist/components/blocks/SettingsLayout.js +42 -42
  138. package/dist/components/blocks/SignUpBlock.d.ts +1 -1
  139. package/dist/components/blocks/SignUpBlock.js +3 -3
  140. package/dist/components/blocks/SocialProofBlock.d.ts +7 -11
  141. package/dist/components/blocks/SocialProofBlock.js +10 -108
  142. package/dist/components/blocks/StatsBlock.d.ts +1 -1
  143. package/dist/components/blocks/StatsBlock.js +40 -40
  144. package/dist/components/blocks/StatsMarketingBlock.d.ts +1 -1
  145. package/dist/components/blocks/StatsMarketingBlock.js +7 -38
  146. package/dist/components/blocks/TeamBlock.d.ts +1 -1
  147. package/dist/components/blocks/TeamBlock.js +4 -52
  148. package/dist/components/blocks/TestimonialsBlock.d.ts +1 -1
  149. package/dist/components/blocks/TestimonialsBlock.js +5 -133
  150. package/dist/components/blocks/TwoFactorChallengeBlock.js +46 -131
  151. package/dist/components/blocks/TwoFactorSetupBlock.js +53 -220
  152. package/dist/components/blocks/UsageDonutBlock.d.ts +1 -1
  153. package/dist/components/blocks/UsageDonutBlock.js +2 -2
  154. package/dist/components/blocks/VoiceAgentCard.d.ts +3 -1
  155. package/dist/components/blocks/VoiceAgentCard.js +7 -76
  156. package/dist/components/blocks/WizardBlock.js +39 -39
  157. package/dist/components/blocks/user/InviteUserModal.js +38 -38
  158. package/dist/components/logos/index.js +2 -2
  159. package/dist/components/page-kits/AccountLockedPageKit.d.ts +10 -0
  160. package/dist/components/page-kits/AccountLockedPageKit.js +48 -0
  161. package/dist/components/page-kits/AgentsChatPageKit.d.ts +46 -0
  162. package/dist/components/page-kits/AgentsChatPageKit.js +290 -0
  163. package/dist/components/page-kits/AnalyticsPageKit.d.ts +49 -0
  164. package/dist/components/page-kits/AnalyticsPageKit.js +277 -0
  165. package/dist/components/page-kits/BlogContentPageKit.d.ts +64 -0
  166. package/dist/components/page-kits/BlogContentPageKit.js +296 -0
  167. package/dist/components/page-kits/CheckoutPageKit.d.ts +36 -0
  168. package/dist/components/page-kits/CheckoutPageKit.js +209 -0
  169. package/dist/components/page-kits/CompanySuitePageKit.d.ts +25 -0
  170. package/dist/components/page-kits/CompanySuitePageKit.js +240 -0
  171. package/dist/components/page-kits/CrudFormPageKit.d.ts +54 -0
  172. package/dist/components/page-kits/CrudFormPageKit.js +138 -0
  173. package/dist/components/page-kits/CrudListDetailPageKit.d.ts +70 -0
  174. package/dist/components/page-kits/CrudListDetailPageKit.js +138 -0
  175. package/dist/components/page-kits/DashboardPageKit.d.ts +39 -0
  176. package/dist/components/page-kits/DashboardPageKit.js +284 -0
  177. package/dist/components/page-kits/ErrorPageKit.d.ts +22 -0
  178. package/dist/components/page-kits/ErrorPageKit.js +55 -0
  179. package/dist/components/page-kits/KanbanBoardPageKit.d.ts +31 -0
  180. package/dist/components/page-kits/KanbanBoardPageKit.js +305 -0
  181. package/dist/components/page-kits/LandingPageKit.d.ts +29 -0
  182. package/dist/components/page-kits/LandingPageKit.js +222 -0
  183. package/dist/components/page-kits/LoginPageKit.d.ts +16 -0
  184. package/dist/components/page-kits/LoginPageKit.js +43 -0
  185. package/dist/components/page-kits/MarketingShellPageKit.d.ts +21 -0
  186. package/dist/components/page-kits/MarketingShellPageKit.js +131 -0
  187. package/dist/components/page-kits/NavigationShellPageKit.d.ts +41 -0
  188. package/dist/components/page-kits/NavigationShellPageKit.js +132 -0
  189. package/dist/components/page-kits/OnboardingPageKit.d.ts +26 -0
  190. package/dist/components/page-kits/OnboardingPageKit.js +248 -0
  191. package/dist/components/page-kits/PricingPageKit.d.ts +41 -0
  192. package/dist/components/page-kits/PricingPageKit.js +279 -0
  193. package/dist/components/page-kits/ProfileSettingsPageKit.d.ts +50 -0
  194. package/dist/components/page-kits/ProfileSettingsPageKit.js +171 -0
  195. package/dist/components/page-kits/RecoveryPageKit.d.ts +17 -0
  196. package/dist/components/page-kits/RecoveryPageKit.js +58 -0
  197. package/dist/components/page-kits/ResetPageKit.d.ts +14 -0
  198. package/dist/components/page-kits/ResetPageKit.js +52 -0
  199. package/dist/components/page-kits/ServiceSuitePageKit.d.ts +25 -0
  200. package/dist/components/page-kits/ServiceSuitePageKit.js +321 -0
  201. package/dist/components/page-kits/SettingsPageKit.d.ts +27 -0
  202. package/dist/components/page-kits/SettingsPageKit.js +11 -0
  203. package/dist/components/page-kits/SignupPageKit.d.ts +15 -0
  204. package/dist/components/page-kits/SignupPageKit.js +41 -0
  205. package/dist/components/page-kits/SuccessPageKit.d.ts +15 -0
  206. package/dist/components/page-kits/SuccessPageKit.js +146 -0
  207. package/dist/components/page-kits/TeamSettingsPageKit.d.ts +50 -0
  208. package/dist/components/page-kits/TeamSettingsPageKit.js +297 -0
  209. package/dist/components/page-kits/TwoFactorPageKit.d.ts +16 -0
  210. package/dist/components/page-kits/TwoFactorPageKit.js +156 -0
  211. package/dist/components/page-kits/VerifyEmailPageKit.d.ts +15 -0
  212. package/dist/components/page-kits/VerifyEmailPageKit.js +146 -0
  213. package/dist/components/page-kits/VoiceAgentsPageKit.d.ts +35 -0
  214. package/dist/components/page-kits/VoiceAgentsPageKit.js +250 -0
  215. package/dist/components/ui/Accordion.js +38 -38
  216. package/dist/components/ui/AgentMessageBubble.d.ts +20 -4
  217. package/dist/components/ui/AgentMessageBubble.js +39 -39
  218. package/dist/components/ui/AgentStatus.d.ts +1 -1
  219. package/dist/components/ui/AgentStatus.js +5 -10
  220. package/dist/components/ui/AgentTerminal.d.ts +4 -1
  221. package/dist/components/ui/AgentTerminal.js +3 -1
  222. package/dist/components/ui/AgentTimeline.d.ts +2 -2
  223. package/dist/components/ui/AgentTimeline.js +15 -6
  224. package/dist/components/ui/AnimatedDialog.js +38 -38
  225. package/dist/components/ui/AnimatedSheet.js +38 -38
  226. package/dist/components/ui/ApprovalCard.js +1 -1
  227. package/dist/components/ui/AudioWaveform.js +2 -76
  228. package/dist/components/ui/AvatarUpload.js +1 -1
  229. package/dist/components/ui/Breadcrumb.js +41 -143
  230. package/dist/components/ui/Calendar.js +38 -38
  231. package/dist/components/ui/Carousel.js +38 -38
  232. package/dist/components/ui/ChartCard.js +5 -38
  233. package/dist/components/ui/ChatActions.d.ts +14 -0
  234. package/dist/components/ui/ChatActions.js +52 -0
  235. package/dist/components/ui/ChatBranch.d.ts +18 -0
  236. package/dist/components/ui/ChatBranch.js +84 -0
  237. package/dist/components/ui/ChatChainOfThought.d.ts +25 -0
  238. package/dist/components/ui/ChatChainOfThought.js +99 -0
  239. package/dist/components/ui/ChatConfirmation.d.ts +37 -0
  240. package/dist/components/ui/ChatConfirmation.js +115 -0
  241. package/dist/components/ui/ChatGreeting.d.ts +18 -0
  242. package/dist/components/ui/ChatGreeting.js +80 -0
  243. package/dist/components/ui/ChatMessage.d.ts +40 -0
  244. package/dist/components/ui/ChatMessage.js +96 -0
  245. package/dist/components/ui/ChatPlan.d.ts +29 -0
  246. package/dist/components/ui/ChatPlan.js +86 -0
  247. package/dist/components/ui/ChatPromptInput.d.ts +32 -0
  248. package/dist/components/ui/ChatPromptInput.js +193 -0
  249. package/dist/components/ui/ChatPromptInputAttachments.d.ts +9 -0
  250. package/dist/components/ui/ChatPromptInputAttachments.js +145 -0
  251. package/dist/components/ui/ChatQueue.d.ts +32 -0
  252. package/dist/components/ui/ChatQueue.js +93 -0
  253. package/dist/components/ui/ChatReasoning.d.ts +20 -0
  254. package/dist/components/ui/ChatReasoning.js +91 -0
  255. package/dist/components/ui/ChatResponse.d.ts +14 -0
  256. package/dist/components/ui/ChatResponse.js +25 -0
  257. package/dist/components/ui/ChatShimmer.d.ts +23 -0
  258. package/dist/components/ui/ChatShimmer.js +6 -0
  259. package/dist/components/ui/ChatSources.d.ts +30 -0
  260. package/dist/components/ui/ChatSources.js +113 -0
  261. package/dist/components/ui/ChatSuggestion.d.ts +13 -0
  262. package/dist/components/ui/ChatSuggestion.js +41 -0
  263. package/dist/components/ui/ChatThinkingMessage.d.ts +12 -0
  264. package/dist/components/ui/ChatThinkingMessage.js +55 -0
  265. package/dist/components/ui/ChatToolCall.d.ts +41 -0
  266. package/dist/components/ui/ChatToolCall.js +192 -0
  267. package/dist/components/ui/CheckStatus.d.ts +1 -1
  268. package/dist/components/ui/Checkbox.js +38 -38
  269. package/dist/components/ui/CheckoutForm.js +38 -38
  270. package/dist/components/ui/CheckoutFormDemo.js +43 -44
  271. package/dist/components/ui/Combobox.js +38 -38
  272. package/dist/components/ui/Command.js +38 -38
  273. package/dist/components/ui/ContextMenu.js +38 -38
  274. package/dist/components/ui/Conversation.d.ts +21 -0
  275. package/dist/components/ui/Conversation.js +196 -0
  276. package/dist/components/ui/ConversationThread.d.ts +8 -2
  277. package/dist/components/ui/ConversationThread.js +34 -16
  278. package/dist/components/ui/DataFreshness.js +2 -73
  279. package/dist/components/ui/DataTable.js +40 -40
  280. package/dist/components/ui/DatePicker.js +38 -38
  281. package/dist/components/ui/DateRangePicker.js +38 -38
  282. package/dist/components/ui/Dialog.js +38 -38
  283. package/dist/components/ui/DropdownMenu.js +39 -39
  284. package/dist/components/ui/FileUpload.js +38 -38
  285. package/dist/components/ui/InputOTP.js +38 -38
  286. package/dist/components/ui/KanbanBoard.js +2 -2
  287. package/dist/components/ui/LanguageSwitcher.js +38 -38
  288. package/dist/components/ui/Menubar.js +38 -38
  289. package/dist/components/ui/MouseEffect.js +1 -1
  290. package/dist/components/ui/NativeSelect.js +2 -18
  291. package/dist/components/ui/NavigationMenu.js +38 -38
  292. package/dist/components/ui/NotificationCenter.js +38 -38
  293. package/dist/components/ui/Pagination.js +42 -153
  294. package/dist/components/ui/RadioGroup.js +38 -38
  295. package/dist/components/ui/Resizable.js +38 -38
  296. package/dist/components/ui/SearchCommand.js +38 -38
  297. package/dist/components/ui/Select.js +38 -38
  298. package/dist/components/ui/SettingsModal.js +38 -38
  299. package/dist/components/ui/ShaderBackground.js +2 -2
  300. package/dist/components/ui/Sheet.js +38 -38
  301. package/dist/components/ui/Sidebar.js +41 -41
  302. package/dist/components/ui/StyleToggle.js +1 -1
  303. package/dist/components/ui/TagInput.js +38 -38
  304. package/dist/components/ui/ThemeToggle.js +39 -39
  305. package/dist/components/ui/ThinkingIndicator.d.ts +3 -1
  306. package/dist/components/ui/ThinkingIndicator.js +2 -1
  307. package/dist/components/ui/Toast.js +38 -38
  308. package/dist/components/ui/Toaster.js +38 -38
  309. package/dist/components/ui/ToolCallCard.d.ts +1 -1
  310. package/dist/components/ui/ToolCallCard.js +5 -1
  311. package/dist/components/ui/TreeView.js +38 -38
  312. package/dist/components/ui/charts/index.js +1 -1
  313. package/dist/components/ui/icons/index.js +38 -38
  314. package/dist/components/ui/text-effects/index.js +2 -2
  315. package/dist/hooks/use-scroll-to-bottom.d.ts +13 -0
  316. package/dist/hooks/use-scroll-to-bottom.js +2 -0
  317. package/dist/hooks/use-shader-preset.js +2 -2
  318. package/dist/index.js +43 -43
  319. package/dist/internal/local-image-assets.d.ts +12 -0
  320. package/dist/lib/shader-presets.js +1 -1
  321. package/dist/lib/tokens.config.d.ts +19 -0
  322. package/dist/messages/en.js +1 -1
  323. package/dist/messages/it.js +1 -1
  324. package/dist/test/PublicSeedTestProvider.js +2 -2
  325. package/dist/test/simulate-ime-composition.d.ts +54 -0
  326. package/dist/test/simulate-ime-composition.js +55 -0
  327. package/eslint-rules/nadicode/config.js +2 -0
  328. package/eslint-rules/nadicode/index.js +4 -0
  329. package/eslint-rules/nadicode/rules/no-deprecated-ds-import.js +77 -0
  330. package/eslint-rules/nadicode/rules/no-forbidden-page-kit-import.js +99 -0
  331. package/eslint-rules/nadicode/rules/no-unregistered-glass.js +2 -0
  332. package/package.json +895 -686
  333. package/scripts/ds-check.mjs +102 -73
  334. package/src/lib/tokens.config.js +63 -41
  335. package/dist/chunk-MLUSJTS2.js +0 -107
  336. package/dist/{chunk-5DKCZWC6.js → chunk-CQEUNASC.js} +1 -1
  337. package/dist/{chunk-4HRVRW2X.js → chunk-J2DCQDXO.js} +2 -2
  338. package/dist/{chunk-6MFAZU4B.js → chunk-RGE5OQMZ.js} +1 -1
  339. package/dist/{chunk-PJNHVPHF.js → chunk-TYP2MR3Q.js} +1 -1
@@ -1,207 +1,122 @@
1
1
  'use client';
2
- import { InputOTP, InputOTPGroup, InputOTPSlot } from '../../chunk-WN5ONOHC.js';
3
- import { Separator } from '../../chunk-CUZJIDU7.js';
4
- import { Card, CardHeader, CardTitle, CardDescription, CardContent, CardFooter } from '../../chunk-AH6YSYYT.js';
5
- import { Alert, AlertDescription } from '../../chunk-GJUR6HT3.js';
6
- import { m, scaleIn } from '../../chunk-PD2YEH3H.js';
7
- import { bezier } from '../../chunk-CRY67BIF.js';
2
+ export { TwoFactorChallengeBlock } from '../../chunk-W7FXDRQJ.js';
3
+ import '../../chunk-WN5ONOHC.js';
4
+ import '../../chunk-CUZJIDU7.js';
5
+ import '../../chunk-AH6YSYYT.js';
6
+ import '../../chunk-GJUR6HT3.js';
7
+ import '../../chunk-PD2YEH3H.js';
8
+ import '../../chunk-CRY67BIF.js';
8
9
  import '../../chunk-HJC6U46F.js';
9
10
  import '../../chunk-GO35FTNJ.js';
10
- import '../../chunk-PSVQ7ZNX.js';
11
+ import '../../chunk-WUO7OONN.js';
11
12
  import '../../chunk-FLF5AMNO.js';
12
- import '../../chunk-WFJQ43SM.js';
13
+ import '../../chunk-3CLXYQKB.js';
13
14
  import '../../chunk-S4GKGKON.js';
14
15
  import '../../chunk-LCDDAE7J.js';
15
16
  import '../../chunk-R674XI7C.js';
16
- import '../../chunk-WUO7OONN.js';
17
+ import '../../chunk-HNY45VUQ.js';
17
18
  import '../../chunk-BPCCTJSK.js';
18
19
  import '../../chunk-CGUCH322.js';
19
20
  import '../../chunk-ELKIUARM.js';
20
- import '../../chunk-ZU2GYVAP.js';
21
21
  import '../../chunk-KSHJQ2VT.js';
22
- import '../../chunk-3CLXYQKB.js';
23
- import '../../chunk-JHQ5NMLZ.js';
24
- import '../../chunk-CRZ2JE24.js';
22
+ import '../../chunk-GAKU7DFY.js';
23
+ import '../../chunk-T6BRD7TS.js';
25
24
  import '../../chunk-TXGANOAX.js';
26
25
  import '../../chunk-OITJWGFV.js';
27
26
  import '../../chunk-Z74D6D2W.js';
28
- import '../../chunk-HNY45VUQ.js';
27
+ import '../../chunk-7WDT2PRI.js';
29
28
  import '../../chunk-IJJI4RQU.js';
30
29
  import '../../chunk-E7RBK6ML.js';
31
30
  import '../../chunk-UBIGDGOP.js';
32
- import '../../chunk-Q7LVUGFL.js';
33
31
  import '../../chunk-ALMGJVMT.js';
34
32
  import '../../chunk-QPXTBZWN.js';
35
- import '../../chunk-GAKU7DFY.js';
36
- import '../../chunk-T6BRD7TS.js';
33
+ import '../../chunk-4NXZIMYZ.js';
37
34
  import '../../chunk-R5XP45PD.js';
38
35
  import '../../chunk-G5EO5FWC.js';
39
36
  import '../../chunk-NCULQXJE.js';
40
37
  import '../../chunk-VDYPDMYR.js';
41
38
  import '../../chunk-WDGIQDQG.js';
42
- import '../../chunk-WKRIKCJC.js';
43
- import '../../chunk-7WDT2PRI.js';
44
- import '../../chunk-AP5Y5M3R.js';
39
+ import '../../chunk-RYOTIXZO.js';
45
40
  import '../../chunk-JZ4G2SJH.js';
46
41
  import '../../chunk-KYGKJ553.js';
47
42
  import '../../chunk-M7YSMMAC.js';
48
43
  import '../../chunk-XQ2UDMPO.js';
49
44
  import '../../chunk-JMCSAGZ3.js';
50
45
  import '../../chunk-QUKDUSHD.js';
51
- import '../../chunk-4NXZIMYZ.js';
52
- import '../../chunk-TBKJ34BB.js';
46
+ import '../../chunk-O74AEVHW.js';
47
+ import '../../chunk-ZUHIWALK.js';
53
48
  import '../../chunk-2IZC7HSV.js';
54
49
  import '../../chunk-2SDZMTB2.js';
55
- import '../../chunk-R3AO6AZM.js';
56
- import '../../chunk-RYOTIXZO.js';
50
+ import '../../chunk-IQEBXXB5.js';
51
+ import '../../chunk-AZUJNRQU.js';
57
52
  import '../../chunk-W3B3UOEG.js';
58
53
  import '../../chunk-ACRVOD7W.js';
59
54
  import '../../chunk-QSU23VYZ.js';
60
55
  import '../../chunk-BJYCQ2NV.js';
61
56
  import '../../chunk-VM462WZC.js';
62
- import '../../chunk-O74AEVHW.js';
63
- import '../../chunk-ZUHIWALK.js';
64
57
  import '../../chunk-5UZDOF6V.js';
65
58
  import '../../chunk-PKVTEDKO.js';
66
59
  import '../../chunk-I3TH7PIB.js';
67
60
  import '../../chunk-WGPK3FQ7.js';
68
61
  import '../../chunk-JL4MVVFH.js';
69
- import '../../chunk-IQEBXXB5.js';
70
- import '../../chunk-AZUJNRQU.js';
62
+ import '../../chunk-4FEAWXJD.js';
63
+ import '../../chunk-JHQTKMKG.js';
71
64
  import '../../chunk-WA45EC4Y.js';
72
65
  import '../../chunk-2MOEOEOI.js';
73
66
  import '../../chunk-5LCXASRW.js';
74
67
  import '../../chunk-2ZJVU7NV.js';
75
68
  import '../../chunk-5ESF6N36.js';
76
69
  import '../../chunk-RBPLOM3A.js';
77
- import '../../chunk-GCUTJI7M.js';
70
+ import '../../chunk-6BAV4TZ5.js';
71
+ import '../../chunk-SW6QPJM4.js';
78
72
  import '../../chunk-2NT57K4U.js';
79
- import '../../chunk-6G3RRWJT.js';
80
73
  import '../../chunk-JRJGSNI4.js';
81
74
  import '../../chunk-RF6ECFS5.js';
82
- import '../../chunk-TV4RSQH4.js';
83
- import '../../chunk-4FEAWXJD.js';
84
- import '../../chunk-JHQTKMKG.js';
75
+ import '../../chunk-KYZT3RNW.js';
76
+ import '../../chunk-UEG2LI7Z.js';
85
77
  import '../../chunk-CI7GPGCJ.js';
86
78
  import '../../chunk-226EBOTK.js';
87
- import '../../chunk-G5YLGJXR.js';
88
- import '../../chunk-G24VV5NO.js';
89
- import '../../chunk-6BAV4TZ5.js';
90
- import '../../chunk-SW6QPJM4.js';
79
+ import '../../chunk-74RKVIBV.js';
91
80
  import '../../chunk-V6WNRZT3.js';
92
81
  import '../../chunk-JBK2LA6U.js';
93
82
  import '../../chunk-55U27XY4.js';
94
83
  import '../../chunk-LSPO6OBI.js';
95
84
  import '../../chunk-Y56WBNCY.js';
96
- import '../../chunk-KYZT3RNW.js';
97
- import '../../chunk-UEG2LI7Z.js';
98
85
  import '../../chunk-JJTQOH7J.js';
99
86
  import '../../chunk-72X6SXOX.js';
100
87
  import '../../chunk-SR5U52V3.js';
101
- import '../../chunk-74RKVIBV.js';
102
88
  import '../../chunk-AWIJHDNK.js';
103
- import '../../chunk-BRP6D56U.js';
104
- import '../../chunk-S733NAYS.js';
105
89
  import '../../chunk-MAUTIHQG.js';
90
+ import '../../chunk-S733NAYS.js';
106
91
  import '../../chunk-666N6OTL.js';
107
92
  import '../../chunk-FMH55OKV.js';
108
93
  import '../../chunk-WXVNTJIB.js';
109
- import '../../chunk-CXACRCZ4.js';
110
94
  import '../../chunk-T7H53CK2.js';
111
- import { ShieldCheckIcon } from '../../chunk-BFLN54VR.js';
95
+ import '../../chunk-TBKJ34BB.js';
96
+ import '../../chunk-BRP6D56U.js';
97
+ import '../../chunk-6G3RRWJT.js';
98
+ import '../../chunk-ZU2GYVAP.js';
99
+ import '../../chunk-CRZ2JE24.js';
100
+ import '../../chunk-PSVQ7ZNX.js';
101
+ import '../../chunk-WKRIKCJC.js';
102
+ import '../../chunk-JHQ5NMLZ.js';
103
+ import '../../chunk-WFJQ43SM.js';
104
+ import '../../chunk-AP5Y5M3R.js';
105
+ import '../../chunk-Q7LVUGFL.js';
106
+ import '../../chunk-G5YLGJXR.js';
107
+ import '../../chunk-G24VV5NO.js';
108
+ import '../../chunk-R3AO6AZM.js';
109
+ import '../../chunk-GCUTJI7M.js';
110
+ import '../../chunk-CXACRCZ4.js';
112
111
  import '../../chunk-P6IRHPFM.js';
113
112
  import '../../chunk-SXHYB7JB.js';
113
+ import '../../chunk-BFLN54VR.js';
114
114
  import '../../chunk-ONGJ7AC2.js';
115
115
  import '../../chunk-UHXGBV5N.js';
116
116
  import '../../chunk-UIUMTURU.js';
117
117
  import '../../chunk-PRUXIDBD.js';
118
118
  import '../../chunk-NURPUVUV.js';
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 { jsx, jsxs } from 'react/jsx-runtime';
124
-
125
- var SHAKE_TRANSITION = { duration: 0.3, ease: bezier["out-cubic"] };
126
- function TwoFactorChallengeBlock({
127
- className,
128
- onVerify,
129
- onUseBackupCode,
130
- onBackToLogin,
131
- error,
132
- title = "Two-factor authentication",
133
- description = "Enter the 6-digit code from your authenticator app",
134
- backupCodeLabel = "Use a backup code"
135
- }) {
136
- const [code, setCode] = React.useState("");
137
- const [shake, setShake] = React.useState(false);
138
- React.useEffect(() => {
139
- if (error) {
140
- setShake(true);
141
- setCode("");
142
- const timeout = setTimeout(() => setShake(false), 300);
143
- return () => clearTimeout(timeout);
144
- }
145
- }, [error]);
146
- const handleComplete = (value) => {
147
- setCode(value);
148
- if (value.length === 6) {
149
- onVerify?.(value);
150
- }
151
- };
152
- return /* @__PURE__ */ jsx(m.div, { ...scaleIn, className: cn("w-full max-w-sm mx-auto", className), children: /* @__PURE__ */ jsxs(Card, { children: [
153
- /* @__PURE__ */ jsxs(CardHeader, { className: "text-center", children: [
154
- /* @__PURE__ */ jsx("div", { className: "mx-auto mb-2", children: /* @__PURE__ */ jsx(ShieldCheckIcon, { size: 32, className: "text-text-secondary" }) }),
155
- /* @__PURE__ */ jsx(CardTitle, { className: "text-2xl", children: title }),
156
- /* @__PURE__ */ jsx(CardDescription, { children: description })
157
- ] }),
158
- /* @__PURE__ */ jsxs(CardContent, { className: "grid gap-4", children: [
159
- /* @__PURE__ */ jsx(
160
- m.div,
161
- {
162
- className: "flex justify-center",
163
- animate: shake ? { x: [-4, 4, -4, 4, 0] } : {},
164
- transition: SHAKE_TRANSITION,
165
- children: /* @__PURE__ */ jsx(
166
- InputOTP,
167
- {
168
- maxLength: 6,
169
- value: code,
170
- onChange: handleComplete,
171
- children: /* @__PURE__ */ jsxs(InputOTPGroup, { children: [
172
- /* @__PURE__ */ jsx(InputOTPSlot, { index: 0 }),
173
- /* @__PURE__ */ jsx(InputOTPSlot, { index: 1 }),
174
- /* @__PURE__ */ jsx(InputOTPSlot, { index: 2 }),
175
- /* @__PURE__ */ jsx(InputOTPSlot, { index: 3 }),
176
- /* @__PURE__ */ jsx(InputOTPSlot, { index: 4 }),
177
- /* @__PURE__ */ jsx(InputOTPSlot, { index: 5 })
178
- ] })
179
- }
180
- )
181
- }
182
- ),
183
- !!error && /* @__PURE__ */ jsx(Alert, { variant: "destructive", children: /* @__PURE__ */ jsx(AlertDescription, { children: error }) }),
184
- /* @__PURE__ */ jsx(Separator, {}),
185
- /* @__PURE__ */ jsx("div", { className: "text-center", children: /* @__PURE__ */ jsx(
186
- "button",
187
- {
188
- type: "button",
189
- onClick: onUseBackupCode,
190
- className: "text-sm text-accent hover:text-accent/80 transition-colors",
191
- children: backupCodeLabel
192
- }
193
- ) })
194
- ] }),
195
- /* @__PURE__ */ jsx(CardFooter, { className: "justify-center", children: /* @__PURE__ */ jsx(
196
- "button",
197
- {
198
- type: "button",
199
- onClick: onBackToLogin,
200
- className: "text-sm text-text-tertiary hover:text-text-primary transition-colors",
201
- children: "Back to login"
202
- }
203
- ) })
204
- ] }) });
205
- }
206
-
207
- export { TwoFactorChallengeBlock };
122
+ import '../../chunk-QYZT24TS.js';
@@ -1,296 +1,129 @@
1
1
  'use client';
2
- import { useSafeTimeout } from '../../chunk-MDAYDDTC.js';
3
- import { StaggerChildren } from '../../chunk-DQPK2XRL.js';
4
- import { InputOTP, InputOTPGroup, InputOTPSlot } from '../../chunk-WN5ONOHC.js';
5
- import { FormWizard } from '../../chunk-T5LXQNIP.js';
6
- import { Collapsible, CollapsibleTrigger, CollapsibleContent } from '../../chunk-VJIL7W55.js';
7
- import { Empty, EmptyDescription } from '../../chunk-55HD4L6G.js';
8
- import { Checkbox } from '../../chunk-756Q7AC5.js';
9
- import { Label } from '../../chunk-LIBXYD5Q.js';
10
- import { Card, CardHeader, CardTitle, CardDescription, CardContent } from '../../chunk-AH6YSYYT.js';
11
- import { Button } from '../../chunk-7KIDDF3I.js';
12
- import { m, scaleIn } from '../../chunk-PD2YEH3H.js';
2
+ export { TwoFactorSetupBlock } from '../../chunk-IXQGKJU4.js';
3
+ import '../../chunk-MDAYDDTC.js';
4
+ import '../../chunk-DQPK2XRL.js';
5
+ import '../../chunk-WN5ONOHC.js';
6
+ import '../../chunk-T5LXQNIP.js';
7
+ import '../../chunk-756Q7AC5.js';
8
+ import '../../chunk-LIBXYD5Q.js';
9
+ import '../../chunk-55HD4L6G.js';
10
+ import '../../chunk-VJIL7W55.js';
11
+ import '../../chunk-AH6YSYYT.js';
12
+ import '../../chunk-7KIDDF3I.js';
13
+ import '../../chunk-PD2YEH3H.js';
13
14
  import '../../chunk-CRY67BIF.js';
14
15
  import '../../chunk-HJC6U46F.js';
15
16
  import '../../chunk-GO35FTNJ.js';
16
- import '../../chunk-PSVQ7ZNX.js';
17
+ import '../../chunk-WUO7OONN.js';
17
18
  import '../../chunk-FLF5AMNO.js';
18
- import '../../chunk-WFJQ43SM.js';
19
+ import '../../chunk-3CLXYQKB.js';
19
20
  import '../../chunk-S4GKGKON.js';
20
21
  import '../../chunk-LCDDAE7J.js';
21
22
  import '../../chunk-R674XI7C.js';
22
- import '../../chunk-WUO7OONN.js';
23
+ import '../../chunk-HNY45VUQ.js';
23
24
  import '../../chunk-BPCCTJSK.js';
24
25
  import '../../chunk-CGUCH322.js';
25
26
  import '../../chunk-ELKIUARM.js';
26
- import '../../chunk-ZU2GYVAP.js';
27
27
  import '../../chunk-KSHJQ2VT.js';
28
- import '../../chunk-3CLXYQKB.js';
29
- import '../../chunk-JHQ5NMLZ.js';
30
- import '../../chunk-CRZ2JE24.js';
28
+ import '../../chunk-GAKU7DFY.js';
29
+ import '../../chunk-T6BRD7TS.js';
31
30
  import '../../chunk-TXGANOAX.js';
32
31
  import '../../chunk-OITJWGFV.js';
33
32
  import '../../chunk-Z74D6D2W.js';
34
- import '../../chunk-HNY45VUQ.js';
33
+ import '../../chunk-7WDT2PRI.js';
35
34
  import '../../chunk-IJJI4RQU.js';
36
35
  import '../../chunk-E7RBK6ML.js';
37
36
  import '../../chunk-UBIGDGOP.js';
38
- import '../../chunk-Q7LVUGFL.js';
39
37
  import '../../chunk-ALMGJVMT.js';
40
38
  import '../../chunk-QPXTBZWN.js';
41
- import '../../chunk-GAKU7DFY.js';
42
- import '../../chunk-T6BRD7TS.js';
39
+ import '../../chunk-4NXZIMYZ.js';
43
40
  import '../../chunk-R5XP45PD.js';
44
41
  import '../../chunk-G5EO5FWC.js';
45
42
  import '../../chunk-NCULQXJE.js';
46
43
  import '../../chunk-VDYPDMYR.js';
47
44
  import '../../chunk-WDGIQDQG.js';
48
- import '../../chunk-WKRIKCJC.js';
49
- import '../../chunk-7WDT2PRI.js';
50
- import '../../chunk-AP5Y5M3R.js';
45
+ import '../../chunk-RYOTIXZO.js';
51
46
  import '../../chunk-JZ4G2SJH.js';
52
47
  import '../../chunk-KYGKJ553.js';
53
48
  import '../../chunk-M7YSMMAC.js';
54
49
  import '../../chunk-XQ2UDMPO.js';
55
50
  import '../../chunk-JMCSAGZ3.js';
56
51
  import '../../chunk-QUKDUSHD.js';
57
- import '../../chunk-4NXZIMYZ.js';
58
- import '../../chunk-TBKJ34BB.js';
52
+ import '../../chunk-O74AEVHW.js';
53
+ import '../../chunk-ZUHIWALK.js';
59
54
  import '../../chunk-2IZC7HSV.js';
60
55
  import '../../chunk-2SDZMTB2.js';
61
- import '../../chunk-R3AO6AZM.js';
62
- import '../../chunk-RYOTIXZO.js';
56
+ import '../../chunk-IQEBXXB5.js';
57
+ import '../../chunk-AZUJNRQU.js';
63
58
  import '../../chunk-W3B3UOEG.js';
64
59
  import '../../chunk-ACRVOD7W.js';
65
60
  import '../../chunk-QSU23VYZ.js';
66
61
  import '../../chunk-BJYCQ2NV.js';
67
62
  import '../../chunk-VM462WZC.js';
68
- import '../../chunk-O74AEVHW.js';
69
- import '../../chunk-ZUHIWALK.js';
70
63
  import '../../chunk-5UZDOF6V.js';
71
64
  import '../../chunk-PKVTEDKO.js';
72
65
  import '../../chunk-I3TH7PIB.js';
73
66
  import '../../chunk-WGPK3FQ7.js';
74
67
  import '../../chunk-JL4MVVFH.js';
75
- import '../../chunk-IQEBXXB5.js';
76
- import '../../chunk-AZUJNRQU.js';
68
+ import '../../chunk-4FEAWXJD.js';
69
+ import '../../chunk-JHQTKMKG.js';
77
70
  import '../../chunk-WA45EC4Y.js';
78
71
  import '../../chunk-2MOEOEOI.js';
79
72
  import '../../chunk-5LCXASRW.js';
80
73
  import '../../chunk-2ZJVU7NV.js';
81
74
  import '../../chunk-5ESF6N36.js';
82
75
  import '../../chunk-RBPLOM3A.js';
83
- import '../../chunk-GCUTJI7M.js';
76
+ import '../../chunk-6BAV4TZ5.js';
77
+ import '../../chunk-SW6QPJM4.js';
84
78
  import '../../chunk-2NT57K4U.js';
85
- import '../../chunk-6G3RRWJT.js';
86
79
  import '../../chunk-JRJGSNI4.js';
87
80
  import '../../chunk-RF6ECFS5.js';
88
- import { CopyIcon } from '../../chunk-TV4RSQH4.js';
89
- import '../../chunk-4FEAWXJD.js';
90
- import '../../chunk-JHQTKMKG.js';
81
+ import '../../chunk-KYZT3RNW.js';
82
+ import '../../chunk-UEG2LI7Z.js';
91
83
  import '../../chunk-CI7GPGCJ.js';
92
84
  import '../../chunk-226EBOTK.js';
93
- import '../../chunk-G5YLGJXR.js';
94
- import '../../chunk-G24VV5NO.js';
95
- import '../../chunk-6BAV4TZ5.js';
96
- import '../../chunk-SW6QPJM4.js';
85
+ import '../../chunk-74RKVIBV.js';
97
86
  import '../../chunk-V6WNRZT3.js';
98
87
  import '../../chunk-JBK2LA6U.js';
99
88
  import '../../chunk-55U27XY4.js';
100
89
  import '../../chunk-LSPO6OBI.js';
101
90
  import '../../chunk-Y56WBNCY.js';
102
- import '../../chunk-KYZT3RNW.js';
103
- import '../../chunk-UEG2LI7Z.js';
104
91
  import '../../chunk-JJTQOH7J.js';
105
92
  import '../../chunk-72X6SXOX.js';
106
93
  import '../../chunk-SR5U52V3.js';
107
- import '../../chunk-74RKVIBV.js';
108
94
  import '../../chunk-AWIJHDNK.js';
109
- import '../../chunk-BRP6D56U.js';
110
- import '../../chunk-S733NAYS.js';
111
95
  import '../../chunk-MAUTIHQG.js';
96
+ import '../../chunk-S733NAYS.js';
112
97
  import '../../chunk-666N6OTL.js';
113
98
  import '../../chunk-FMH55OKV.js';
114
99
  import '../../chunk-WXVNTJIB.js';
115
- import '../../chunk-CXACRCZ4.js';
116
100
  import '../../chunk-T7H53CK2.js';
117
- import '../../chunk-BFLN54VR.js';
118
- import { ShieldIcon } from '../../chunk-P6IRHPFM.js';
101
+ import '../../chunk-TBKJ34BB.js';
102
+ import '../../chunk-BRP6D56U.js';
103
+ import '../../chunk-6G3RRWJT.js';
104
+ import '../../chunk-ZU2GYVAP.js';
105
+ import '../../chunk-CRZ2JE24.js';
106
+ import '../../chunk-PSVQ7ZNX.js';
107
+ import '../../chunk-WKRIKCJC.js';
108
+ import '../../chunk-JHQ5NMLZ.js';
109
+ import '../../chunk-WFJQ43SM.js';
110
+ import '../../chunk-AP5Y5M3R.js';
111
+ import '../../chunk-Q7LVUGFL.js';
112
+ import '../../chunk-G5YLGJXR.js';
113
+ import '../../chunk-G24VV5NO.js';
114
+ import '../../chunk-R3AO6AZM.js';
115
+ import '../../chunk-GCUTJI7M.js';
116
+ import '../../chunk-CXACRCZ4.js';
117
+ import '../../chunk-P6IRHPFM.js';
119
118
  import '../../chunk-SXHYB7JB.js';
119
+ import '../../chunk-BFLN54VR.js';
120
120
  import '../../chunk-ONGJ7AC2.js';
121
121
  import '../../chunk-UHXGBV5N.js';
122
122
  import '../../chunk-UIUMTURU.js';
123
123
  import '../../chunk-PRUXIDBD.js';
124
124
  import '../../chunk-NURPUVUV.js';
125
- import { Badge } from '../../chunk-S4JAHKOP.js';
125
+ import '../../chunk-S4JAHKOP.js';
126
+ import '../../chunk-TV4RSQH4.js';
126
127
  import '../../chunk-HJBXUXTD.js';
127
128
  import '../../chunk-ASKFAYYR.js';
128
- import { cn } from '../../chunk-QYZT24TS.js';
129
- import * as React from 'react';
130
- import { useReducedMotion } from 'motion/react';
131
- import { jsxs, jsx } from 'react/jsx-runtime';
132
-
133
- var DEFAULT_BACKUP_CODES = [
134
- "a1b2-c3d4",
135
- "e5f6-g7h8",
136
- "i9j0-k1l2",
137
- "m3n4-o5p6",
138
- "q7r8-s9t0",
139
- "u1v2-w3x4",
140
- "y5z6-a7b8",
141
- "c9d0-e1f2"
142
- ];
143
- function TwoFactorSetupBlock({
144
- className,
145
- qrCodeUrl,
146
- secret = "JBSWY3DPEHPK3PXP",
147
- backupCodes = DEFAULT_BACKUP_CODES,
148
- onVerify,
149
- onComplete,
150
- title = "Set up two-factor authentication",
151
- description = "Add an extra layer of security to your account"
152
- }) {
153
- const prefersReduced = useReducedMotion();
154
- const [otpCode, setOtpCode] = React.useState("");
155
- const [verified, setVerified] = React.useState(false);
156
- const [verifying, setVerifying] = React.useState(false);
157
- const [verifyError, setVerifyError] = React.useState();
158
- const [savedCodes, setSavedCodes] = React.useState(false);
159
- const [copied, setCopied] = React.useState(false);
160
- const setSafeTimeout = useSafeTimeout();
161
- const copyToClipboard = (text) => {
162
- navigator.clipboard.writeText(text);
163
- setCopied(true);
164
- setSafeTimeout(() => setCopied(false), 2e3);
165
- };
166
- const copyAllCodes = () => {
167
- copyToClipboard(backupCodes.join("\n"));
168
- };
169
- const downloadCodes = () => {
170
- const blob = new Blob([backupCodes.join("\n")], { type: "text/plain" });
171
- const url = URL.createObjectURL(blob);
172
- const a = document.createElement("a");
173
- a.href = url;
174
- a.download = "backup-codes.txt";
175
- a.click();
176
- URL.revokeObjectURL(url);
177
- };
178
- const handleVerify = (value) => {
179
- setOtpCode(value);
180
- setVerifyError(void 0);
181
- setVerified(false);
182
- if (value.length !== 6) {
183
- setVerifying(false);
184
- return;
185
- }
186
- if (!onVerify) {
187
- setVerified(true);
188
- return;
189
- }
190
- setVerifying(true);
191
- void Promise.resolve(onVerify(value)).then((ok) => {
192
- if (ok) {
193
- setVerified(true);
194
- return;
195
- }
196
- setVerifyError("Verification failed. Please try again.");
197
- }).catch(() => {
198
- setVerifyError("Verification failed. Please try again.");
199
- }).finally(() => {
200
- setVerifying(false);
201
- });
202
- };
203
- const steps = [
204
- {
205
- id: "scan",
206
- title: "Scan QR code",
207
- content: /* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
208
- /* @__PURE__ */ jsx("div", { className: "flex justify-center", children: qrCodeUrl ? /* @__PURE__ */ jsx("img", { src: qrCodeUrl, alt: "QR Code", className: "h-48 w-48 rounded-lg border border-border" }) : /* @__PURE__ */ jsx(Empty, { className: "h-48 w-48", children: /* @__PURE__ */ jsx(EmptyDescription, { children: "QR Code" }) }) }),
209
- /* @__PURE__ */ jsxs(Collapsible, { children: [
210
- /* @__PURE__ */ jsx(CollapsibleTrigger, { asChild: true, children: /* @__PURE__ */ jsxs(Button, { variant: "ghost", size: "default", className: "w-full text-text-tertiary", children: [
211
- "Can",
212
- "'",
213
- "t scan? Enter code manually"
214
- ] }) }),
215
- /* @__PURE__ */ jsx(CollapsibleContent, { className: "pt-2", children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 rounded-md border border-border bg-surface p-4", children: [
216
- /* @__PURE__ */ jsx("code", { className: "flex-1 text-sm font-mono text-text-primary break-all", children: secret }),
217
- /* @__PURE__ */ jsx(
218
- Button,
219
- {
220
- variant: "ghost",
221
- size: "icon",
222
- onClick: () => copyToClipboard(secret),
223
- children: /* @__PURE__ */ jsx(CopyIcon, { size: 14 })
224
- }
225
- )
226
- ] }) })
227
- ] })
228
- ] })
229
- },
230
- {
231
- id: "verify",
232
- title: "Verify code",
233
- content: /* @__PURE__ */ jsxs("div", { className: "space-y-4 text-center", children: [
234
- /* @__PURE__ */ jsx("p", { className: "text-sm text-text-secondary", children: "Enter the 6-digit code from your authenticator app" }),
235
- /* @__PURE__ */ jsx("div", { className: "flex justify-center", children: /* @__PURE__ */ jsx(InputOTP, { maxLength: 6, value: otpCode, onChange: handleVerify, children: /* @__PURE__ */ jsxs(InputOTPGroup, { children: [
236
- /* @__PURE__ */ jsx(InputOTPSlot, { index: 0 }),
237
- /* @__PURE__ */ jsx(InputOTPSlot, { index: 1 }),
238
- /* @__PURE__ */ jsx(InputOTPSlot, { index: 2 }),
239
- /* @__PURE__ */ jsx(InputOTPSlot, { index: 3 }),
240
- /* @__PURE__ */ jsx(InputOTPSlot, { index: 4 }),
241
- /* @__PURE__ */ jsx(InputOTPSlot, { index: 5 })
242
- ] }) }) }),
243
- !!verifying && /* @__PURE__ */ jsx("p", { className: "text-sm text-text-secondary", children: "Verifying..." }),
244
- !!verifyError && /* @__PURE__ */ jsx("p", { className: "text-sm font-medium text-destructive", children: verifyError }),
245
- !!verified && /* @__PURE__ */ jsx("p", { className: "text-sm font-medium text-success", children: "Code verified successfully" })
246
- ] }),
247
- validate: () => verified
248
- },
249
- {
250
- id: "backup",
251
- title: "Save backup codes",
252
- content: /* @__PURE__ */ jsxs("div", { className: "space-y-4", children: [
253
- /* @__PURE__ */ jsx("p", { className: "text-sm text-text-secondary", children: "Save these backup codes in a secure location. Each code can only be used once." }),
254
- /* @__PURE__ */ jsx(StaggerChildren, { staggerMs: 40, className: "grid grid-cols-2 gap-2", children: backupCodes.map((code) => /* @__PURE__ */ jsx(Badge, { variant: "outline", className: "justify-center font-mono text-xs py-1.5", children: code }, code)) }),
255
- /* @__PURE__ */ jsxs("div", { className: "flex gap-2", children: [
256
- /* @__PURE__ */ jsxs(Button, { variant: "outline", size: "default", className: "flex-1", onClick: copyAllCodes, children: [
257
- /* @__PURE__ */ jsx(CopyIcon, { size: 14, className: "mr-2" }),
258
- copied ? "Copied!" : "Copy all"
259
- ] }),
260
- /* @__PURE__ */ jsx(Button, { variant: "outline", size: "default", className: "flex-1", onClick: downloadCodes, children: "Download" })
261
- ] }),
262
- /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 pt-2", children: [
263
- /* @__PURE__ */ jsx(
264
- Checkbox,
265
- {
266
- id: "saved-codes",
267
- checked: savedCodes,
268
- onCheckedChange: (v) => setSavedCodes(v === true)
269
- }
270
- ),
271
- /* @__PURE__ */ jsx(Label, { htmlFor: "saved-codes", className: "text-sm", children: "I have saved my backup codes" })
272
- ] })
273
- ] }),
274
- validate: () => savedCodes
275
- }
276
- ];
277
- return /* @__PURE__ */ jsx(m.div, { ...prefersReduced ? {} : scaleIn, className: cn("w-full max-w-lg mx-auto", className), children: /* @__PURE__ */ jsxs(Card, { children: [
278
- /* @__PURE__ */ jsx(CardHeader, { children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-4", children: [
279
- /* @__PURE__ */ jsx(ShieldIcon, { size: 32, className: "text-text-secondary" }),
280
- /* @__PURE__ */ jsxs("div", { children: [
281
- /* @__PURE__ */ jsx(CardTitle, { className: "text-xl", children: title }),
282
- /* @__PURE__ */ jsx(CardDescription, { children: description })
283
- ] })
284
- ] }) }),
285
- /* @__PURE__ */ jsx(CardContent, { children: /* @__PURE__ */ jsx(
286
- FormWizard,
287
- {
288
- steps,
289
- onComplete,
290
- completeLabel: "Done"
291
- }
292
- ) })
293
- ] }) });
294
- }
295
-
296
- export { TwoFactorSetupBlock };
129
+ import '../../chunk-QYZT24TS.js';
@@ -12,5 +12,5 @@ interface UsageDonutProps {
12
12
  centerLabel?: React.ReactNode;
13
13
  className?: string;
14
14
  }
15
- export declare function UsageDonut({ data, config, title, description, centerLabel, className, }: UsageDonutProps): import("react/jsx-runtime").JSX.Element;
15
+ export declare function UsageDonutBlock({ data, config, title, description, centerLabel, className, }: UsageDonutProps): import("react/jsx-runtime").JSX.Element;
16
16
  export {};
@@ -40,7 +40,7 @@ var defaultCenterLabel = /* @__PURE__ */ jsxs(Fragment, { children: [
40
40
  ] }),
41
41
  /* @__PURE__ */ jsx("span", { className: "text-xs text-text-tertiary uppercase tracking-wider", children: "Used" })
42
42
  ] });
43
- function UsageDonut({
43
+ function UsageDonutBlock({
44
44
  data = defaultData,
45
45
  config = defaultConfig,
46
46
  title = "Storage",
@@ -81,4 +81,4 @@ function UsageDonut({
81
81
  ] });
82
82
  }
83
83
 
84
- export { UsageDonut };
84
+ export { UsageDonutBlock };
@@ -10,8 +10,10 @@ interface VoiceAgentCardProps {
10
10
  state: Avatar3DState;
11
11
  selected?: boolean;
12
12
  onSelect?: () => void;
13
+ /** Override the button's accessible name. */
14
+ ariaLabel?: string;
13
15
  className?: string;
14
16
  }
15
- declare function VoiceAgentCard({ agent, state, selected, onSelect, className, }: VoiceAgentCardProps): import("react/jsx-runtime").JSX.Element;
17
+ declare function VoiceAgentCard({ agent, state, selected, onSelect, ariaLabel, className, }: VoiceAgentCardProps): import("react/jsx-runtime").JSX.Element;
16
18
  export { VoiceAgentCard };
17
19
  export type { VoiceAgent, VoiceAgentCardProps };