@sableui/react 0.1.1 → 0.3.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 (137) hide show
  1. package/AGENTS.md +3 -1
  2. package/CHANGELOG.md +120 -0
  3. package/CONTRIBUTING.md +8 -0
  4. package/README.md +1 -0
  5. package/bin/sable-lint.mjs +0 -0
  6. package/bin/sable.mjs +68 -26
  7. package/dist/{_contract-CYScOdf5.d.ts → _contract-o3tUc8Ig.d.ts} +1 -1
  8. package/dist/blocks/index.d.ts +396 -0
  9. package/dist/blocks/index.js +1997 -0
  10. package/dist/chunk-6LCIBMMG.js +4908 -0
  11. package/dist/{chunk-J23ELQQZ.js → chunk-CKNM7KSB.js} +1664 -4270
  12. package/dist/chunk-K6LII3OE.js +5093 -0
  13. package/dist/{chunk-RWP4XBSK.js → chunk-KFZ43RKU.js} +1 -1
  14. package/dist/{chunk-PAOZBZME.js → chunk-NGBDP3BM.js} +1 -1
  15. package/dist/{chunk-5Z5KLOAU.js → chunk-TH563WLW.js} +14 -1
  16. package/dist/{chunk-JI7WJP2L.js → chunk-X276MF2W.js} +5 -0
  17. package/dist/foundations/index.js +1 -1
  18. package/dist/icon/index.js +2 -2
  19. package/dist/icon-sets/reicon.js +1 -1
  20. package/dist/index.d.ts +624 -133
  21. package/dist/index.js +767 -4964
  22. package/dist/ios/index.d.ts +14 -2
  23. package/dist/ios/index.js +10 -9
  24. package/dist/ios/preview.d.ts +11 -1
  25. package/dist/ios/preview.js +14 -9
  26. package/dist/ios/styles.css +26 -6
  27. package/dist/{meta-6dUzgC6M.d.ts → meta-CcE_SeFu.d.ts} +37 -1
  28. package/dist/patterns/index.d.ts +1 -1
  29. package/dist/patterns/index.js +1684 -471
  30. package/dist/presets/index.d.ts +1 -1
  31. package/dist/presets/index.js +1 -1
  32. package/dist/styles.css +238 -40
  33. package/dist/{theme-provider-BWcizhAt.d.ts → theme-provider-BE-KqUG-.d.ts} +1 -1
  34. package/dist/themes/atelier/atelier.css +3 -0
  35. package/dist/themes/atelier/index.d.ts +1 -1
  36. package/dist/themes/base/base.css +34 -4
  37. package/dist/themes/base/index.d.ts +1 -1
  38. package/dist/themes/ember/ember.css +3 -0
  39. package/dist/themes/ember/index.d.ts +1 -1
  40. package/dist/themes/index.d.ts +2 -2
  41. package/dist/themes/index.js +2 -2
  42. package/dist/themes/meridian/index.d.ts +1 -1
  43. package/dist/themes/meridian/meridian.css +10 -5
  44. package/dist/themes/poppy/index.d.ts +1 -1
  45. package/dist/themes/poppy/poppy.css +16 -0
  46. package/dist/themes/prism/index.d.ts +1 -1
  47. package/dist/themes/prism/prism.css +4 -1
  48. package/dist/themes/verdant/index.d.ts +1 -1
  49. package/dist/themes/verdant/verdant.css +7 -2
  50. package/llms/blocks/api-keys-block.md +79 -0
  51. package/llms/blocks/chat-thread-block.md +51 -0
  52. package/llms/blocks/command-palette-block.md +48 -0
  53. package/llms/blocks/cta-band-block.md +62 -0
  54. package/llms/blocks/danger-zone-block.md +69 -0
  55. package/llms/blocks/device-comparison-block.md +91 -0
  56. package/llms/blocks/event-card-block.md +84 -0
  57. package/llms/blocks/faq-block.md +72 -0
  58. package/llms/blocks/feature-grid-block.md +75 -0
  59. package/llms/blocks/feedback-form-block.md +66 -0
  60. package/llms/blocks/goal-progress-block.md +54 -0
  61. package/llms/blocks/hero-block.md +65 -0
  62. package/llms/blocks/invite-team-block.md +61 -0
  63. package/llms/blocks/invoice-history-block.md +84 -0
  64. package/llms/blocks/kpi-sparkline-block.md +57 -0
  65. package/llms/blocks/media-player-block.md +100 -0
  66. package/llms/blocks/newsletter-block.md +64 -0
  67. package/llms/blocks/not-found-block.md +56 -0
  68. package/llms/blocks/notification-list-block.md +63 -0
  69. package/llms/blocks/notification-settings-block.md +54 -0
  70. package/llms/blocks/order-tracking-block.md +62 -0
  71. package/llms/blocks/pricing-card-block.md +82 -0
  72. package/llms/blocks/pricing-table-block.md +129 -0
  73. package/llms/blocks/product-card-block.md +69 -0
  74. package/llms/blocks/profile-card-block.md +103 -0
  75. package/llms/blocks/profile-form-block.md +114 -0
  76. package/llms/blocks/revenue-breakdown-block.md +70 -0
  77. package/llms/blocks/sign-in-block.md +64 -0
  78. package/llms/blocks/sign-up-block.md +78 -0
  79. package/llms/blocks/site-footer-block.md +96 -0
  80. package/llms/blocks/stat-row-block.md +59 -0
  81. package/llms/blocks/steps-block.md +73 -0
  82. package/llms/blocks/task-list-block.md +81 -0
  83. package/llms/blocks/team-members-block.md +91 -0
  84. package/llms/blocks/testimonial-block.md +78 -0
  85. package/llms/blocks/traffic-sources-block.md +63 -0
  86. package/llms/blocks/traffic-trend-block.md +95 -0
  87. package/llms/blocks/upload-list-block.md +66 -0
  88. package/llms/blocks/verify-code-block.md +59 -0
  89. package/llms/blocks/wallet-block.md +84 -0
  90. package/llms/components/area-chart.md +112 -0
  91. package/llms/components/bar-chart.md +131 -0
  92. package/llms/components/bubble.md +5 -5
  93. package/llms/components/button.md +1 -1
  94. package/llms/components/card.md +2 -2
  95. package/llms/components/checkbox-card.md +1 -1
  96. package/llms/components/context-card.md +2 -2
  97. package/llms/components/context-menu.md +1 -1
  98. package/llms/components/date-tile.md +79 -0
  99. package/llms/components/dialog.md +1 -1
  100. package/llms/components/empty-state.md +4 -4
  101. package/llms/components/entity.md +5 -3
  102. package/llms/components/fieldset.md +1 -1
  103. package/llms/components/kbd.md +18 -6
  104. package/llms/components/line-chart.md +101 -0
  105. package/llms/components/menu.md +1 -1
  106. package/llms/components/{dots-menu.md → overflow-menu.md} +9 -9
  107. package/llms/components/pie-chart.md +103 -0
  108. package/llms/components/pill.md +1 -1
  109. package/llms/components/radar-chart.md +106 -0
  110. package/llms/components/radial-chart.md +102 -0
  111. package/llms/components/segmented-bar.md +102 -0
  112. package/llms/components/settings-menu.md +2 -2
  113. package/llms/components/side-nav.md +1 -1
  114. package/llms/components/skeleton.md +1 -1
  115. package/llms/components/sparkline.md +80 -0
  116. package/llms/components/table.md +1 -1
  117. package/llms/components/theme-selector.md +1 -1
  118. package/llms/foundations/shape.md +1 -1
  119. package/llms/patterns/auth-page.md +132 -42
  120. package/llms/patterns/brand-landing-page.md +271 -175
  121. package/llms/patterns/chat-panel.md +120 -39
  122. package/llms/patterns/dashboard-page.md +276 -65
  123. package/llms/patterns/feed-page.md +245 -64
  124. package/llms/patterns/landing-page.md +473 -75
  125. package/llms/patterns/list-detail-page.md +377 -68
  126. package/llms/patterns/settings-page.md +268 -67
  127. package/llms/reference/token-intent.md +4 -2
  128. package/llms/reference/utilities.md +20 -5
  129. package/llms/tasks/building-an-ios-prototype.md +4 -1
  130. package/llms/tasks/choosing-a-component.md +2 -2
  131. package/llms-full.txt +6428 -892
  132. package/llms.txt +67 -16
  133. package/package.json +5 -1
  134. package/registry.json +3217 -552
  135. package/targets/ios.json +88 -18
  136. package/llms/components/description.md +0 -96
  137. package/dist/{chunk-L6Y46C62.js → chunk-MXJX3NZI.js} +1 -1
@@ -0,0 +1,396 @@
1
+ import * as react from 'react';
2
+ import { B as BlockMeta } from '../meta-CcE_SeFu.js';
3
+
4
+ interface ApiKeysBlockProps {
5
+ className?: string;
6
+ /** false drops the card's surface and border — for a muted section that already frames it. */
7
+ framed?: boolean;
8
+ onCreate?: () => void;
9
+ /** Called with the key's id and the action chosen from its menu. */
10
+ onKeyAction?: (id: string, action: "rename" | "roll" | "revoke") => void;
11
+ }
12
+ declare function ApiKeysBlock({ className, framed, onCreate, onKeyAction }: ApiKeysBlockProps): react.JSX.Element;
13
+
14
+ declare const apiKeysBlockMeta: BlockMeta;
15
+
16
+ interface ChatThreadBlockProps {
17
+ className?: string;
18
+ /** false drops the card's surface and border. Keep it framed on a muted page: incoming bubbles are the muted surface too. */
19
+ framed?: boolean;
20
+ }
21
+ declare function ChatThreadBlock({ className, framed }: ChatThreadBlockProps): react.JSX.Element;
22
+
23
+ declare const chatThreadBlockMeta: BlockMeta;
24
+
25
+ interface CommandPaletteBlockProps {
26
+ className?: string;
27
+ /** Called with the chosen command's id. */
28
+ onCommand?: (id: string) => void;
29
+ }
30
+ declare function CommandPaletteBlock({ className, onCommand }: CommandPaletteBlockProps): react.JSX.Element;
31
+
32
+ declare const commandPaletteBlockMeta: BlockMeta;
33
+
34
+ interface CtaBandBlockProps {
35
+ className?: string;
36
+ }
37
+ declare function CtaBandBlock({ className }: CtaBandBlockProps): react.JSX.Element;
38
+
39
+ declare const ctaBandBlockMeta: BlockMeta;
40
+
41
+ interface DangerZoneBlockProps {
42
+ className?: string;
43
+ /** false drops the card's surface and border — for a muted section that already frames it. */
44
+ framed?: boolean;
45
+ /** Called once the person has typed the handle and confirmed. */
46
+ onDelete?: () => void;
47
+ }
48
+ declare function DangerZoneBlock({ className, framed, onDelete }: DangerZoneBlockProps): react.JSX.Element;
49
+
50
+ declare const dangerZoneBlockMeta: BlockMeta;
51
+
52
+ interface DeviceComparisonBlockProps {
53
+ className?: string;
54
+ /** false drops the card's surface and border — for a muted section that already frames it. */
55
+ framed?: boolean;
56
+ }
57
+ declare function DeviceComparisonBlock({ className, framed }: DeviceComparisonBlockProps): react.JSX.Element;
58
+
59
+ declare const deviceComparisonBlockMeta: BlockMeta;
60
+
61
+ interface EventCardBlockProps {
62
+ className?: string;
63
+ /** false drops the card's surface and border — for a muted section that already frames it. */
64
+ framed?: boolean;
65
+ /** Called with the person's answer. */
66
+ onRespond?: (answer: "join" | "decline") => void;
67
+ }
68
+ declare function EventCardBlock({ className, framed, onRespond }: EventCardBlockProps): react.JSX.Element;
69
+
70
+ declare const eventCardBlockMeta: BlockMeta;
71
+
72
+ interface FaqBlockProps {
73
+ className?: string;
74
+ }
75
+ declare function FaqBlock({ className }: FaqBlockProps): react.JSX.Element;
76
+
77
+ declare const faqBlockMeta: BlockMeta;
78
+
79
+ interface FeatureGridBlockProps {
80
+ className?: string;
81
+ }
82
+ declare function FeatureGridBlock({ className }: FeatureGridBlockProps): react.JSX.Element;
83
+
84
+ declare const featureGridBlockMeta: BlockMeta;
85
+
86
+ interface FeedbackFormBlockProps {
87
+ className?: string;
88
+ /** false drops the card's surface and border — for a Sheet or Dialog that already frames it. */
89
+ framed?: boolean;
90
+ /** Skip calls it with `sent: false`; Send with `sent: true` and the answers. */
91
+ onDone?: (sent: boolean, feedback?: {
92
+ score: number;
93
+ notes: string;
94
+ }) => void;
95
+ }
96
+ declare function FeedbackFormBlock({ className, framed, onDone }: FeedbackFormBlockProps): react.JSX.Element;
97
+
98
+ declare const feedbackFormBlockMeta: BlockMeta;
99
+
100
+ interface GoalProgressBlockProps {
101
+ className?: string;
102
+ /** false drops the card's surface and border — for a muted section that already frames it. */
103
+ framed?: boolean;
104
+ }
105
+ declare function GoalProgressBlock({ className, framed }: GoalProgressBlockProps): react.JSX.Element;
106
+
107
+ declare const goalProgressBlockMeta: BlockMeta;
108
+
109
+ interface HeroBlockProps {
110
+ className?: string;
111
+ }
112
+ declare function HeroBlock({ className }: HeroBlockProps): react.JSX.Element;
113
+
114
+ declare const heroBlockMeta: BlockMeta;
115
+
116
+ interface InviteTeamBlockProps {
117
+ className?: string;
118
+ /** false drops the card's surface and border — for a Sheet, Dialog or muted section that already frames it. */
119
+ framed?: boolean;
120
+ /** Called with the address typed, on Send or Enter. */
121
+ onSend?: (email: string) => void;
122
+ }
123
+ declare function InviteTeamBlock({ className, framed, onSend }: InviteTeamBlockProps): react.JSX.Element;
124
+
125
+ declare const inviteTeamBlockMeta: BlockMeta;
126
+
127
+ interface InvoiceHistoryBlockProps {
128
+ className?: string;
129
+ /** false drops the card's surface and border — for a muted section that already frames it. */
130
+ framed?: boolean;
131
+ /** Called with the invoice id to download. */
132
+ onDownload?: (id: string) => void;
133
+ }
134
+ declare function InvoiceHistoryBlock({ className, framed, onDownload }: InvoiceHistoryBlockProps): react.JSX.Element;
135
+
136
+ declare const invoiceHistoryBlockMeta: BlockMeta;
137
+
138
+ interface KpiSparklineBlockProps {
139
+ className?: string;
140
+ }
141
+ declare function KpiSparklineBlock({ className }: KpiSparklineBlockProps): react.JSX.Element;
142
+
143
+ declare const kpiSparklineBlockMeta: BlockMeta;
144
+
145
+ interface MediaPlayerBlockProps {
146
+ className?: string;
147
+ /** false drops the card's surface and border — for a Sheet or muted section that already frames it. */
148
+ framed?: boolean;
149
+ /** Called with the new playing state. */
150
+ onPlayingChange?: (playing: boolean) => void;
151
+ onPrevious?: () => void;
152
+ onNext?: () => void;
153
+ }
154
+ declare function MediaPlayerBlock({ className, framed, onPlayingChange, onPrevious, onNext }: MediaPlayerBlockProps): react.JSX.Element;
155
+
156
+ declare const mediaPlayerBlockMeta: BlockMeta;
157
+
158
+ interface NewsletterBlockProps {
159
+ className?: string;
160
+ /** false drops the card's surface and border — for a footer or muted section that already frames it. */
161
+ framed?: boolean;
162
+ /** Called with the address on Subscribe or Enter. */
163
+ onSubscribe?: (email: string) => void;
164
+ }
165
+ declare function NewsletterBlock({ className, framed, onSubscribe }: NewsletterBlockProps): react.JSX.Element;
166
+
167
+ declare const newsletterBlockMeta: BlockMeta;
168
+
169
+ interface NotFoundBlockProps {
170
+ className?: string;
171
+ }
172
+ declare function NotFoundBlock({ className }: NotFoundBlockProps): react.JSX.Element;
173
+
174
+ declare const notFoundBlockMeta: BlockMeta;
175
+
176
+ interface NotificationListBlockProps {
177
+ className?: string;
178
+ /** false drops the card's surface and border — for a Popover or Sheet that already frames it. */
179
+ framed?: boolean;
180
+ }
181
+ declare function NotificationListBlock({ className, framed }: NotificationListBlockProps): react.JSX.Element;
182
+
183
+ declare const notificationListBlockMeta: BlockMeta;
184
+
185
+ interface NotificationSettingsBlockProps {
186
+ className?: string;
187
+ /** false drops the card's surface and border — for a Sheet, Dialog or muted section that already frames it. */
188
+ framed?: boolean;
189
+ /** Called the moment a switch changes. Toggles apply instantly; there is no Save. */
190
+ onChange?: (id: string, on: boolean) => void;
191
+ }
192
+ declare function NotificationSettingsBlock({ className, framed, onChange }: NotificationSettingsBlockProps): react.JSX.Element;
193
+
194
+ declare const notificationSettingsBlockMeta: BlockMeta;
195
+
196
+ interface OrderTrackingBlockProps {
197
+ className?: string;
198
+ /** false drops the card's surface and border — for a Sheet or muted section that already frames it. */
199
+ framed?: boolean;
200
+ }
201
+ declare function OrderTrackingBlock({ className, framed }: OrderTrackingBlockProps): react.JSX.Element;
202
+
203
+ declare const orderTrackingBlockMeta: BlockMeta;
204
+
205
+ type Period$1 = "monthly" | "yearly";
206
+ interface PricingCardBlockProps {
207
+ className?: string;
208
+ /** false drops the card's surface and border — for a muted section that already frames it. */
209
+ framed?: boolean;
210
+ /** Called with the billing period showing when the trial starts. */
211
+ onStart?: (period: Period$1) => void;
212
+ }
213
+ declare function PricingCardBlock({ className, framed, onStart }: PricingCardBlockProps): react.JSX.Element;
214
+
215
+ declare const pricingCardBlockMeta: BlockMeta;
216
+
217
+ type Period = "monthly" | "yearly";
218
+ interface PricingTableBlockProps {
219
+ className?: string;
220
+ /** Called with the chosen tier and the billing period showing. */
221
+ onChoose?: (tier: string, period: Period) => void;
222
+ }
223
+ declare function PricingTableBlock({ className, onChoose }: PricingTableBlockProps): react.JSX.Element;
224
+
225
+ declare const pricingTableBlockMeta: BlockMeta;
226
+
227
+ interface ProductCardBlockProps {
228
+ className?: string;
229
+ /** false drops the card's surface and border — for a muted section that already frames it. */
230
+ framed?: boolean;
231
+ /** The buy action. */
232
+ onCollect?: () => void;
233
+ }
234
+ declare function ProductCardBlock({ className, framed, onCollect }: ProductCardBlockProps): react.JSX.Element;
235
+
236
+ declare const productCardBlockMeta: BlockMeta;
237
+
238
+ interface ProfileCardBlockProps {
239
+ className?: string;
240
+ /** false drops the card's surface and border — for a muted section that already frames it. */
241
+ framed?: boolean;
242
+ /** Called with the new follow state. */
243
+ onFollowChange?: (following: boolean) => void;
244
+ onShare?: () => void;
245
+ }
246
+ declare function ProfileCardBlock({ className, framed, onFollowChange, onShare }: ProfileCardBlockProps): react.JSX.Element;
247
+
248
+ declare const profileCardBlockMeta: BlockMeta;
249
+
250
+ interface ProfileFormBlockProps {
251
+ className?: string;
252
+ /** false drops the card's surface and border — for a muted section that already frames it. */
253
+ framed?: boolean;
254
+ /** Called with the form's fields on Save profile. */
255
+ onSave?: (fields: FormData) => void;
256
+ }
257
+ declare function ProfileFormBlock({ className, framed, onSave }: ProfileFormBlockProps): react.JSX.Element;
258
+
259
+ declare const profileFormBlockMeta: BlockMeta;
260
+
261
+ interface RevenueBreakdownBlockProps {
262
+ className?: string;
263
+ /** false drops the card's surface and border — for a muted section that already frames it. */
264
+ framed?: boolean;
265
+ }
266
+ declare function RevenueBreakdownBlock({ className, framed }: RevenueBreakdownBlockProps): react.JSX.Element;
267
+
268
+ declare const revenueBreakdownBlockMeta: BlockMeta;
269
+
270
+ interface SignInBlockProps {
271
+ className?: string;
272
+ /** false drops the card's surface and border — for a Sheet, Dialog or muted section that already frames it. */
273
+ framed?: boolean;
274
+ /** Called with the method the person chose. Wire your auth here. */
275
+ onSignIn?: (method: "password" | "passkey") => void;
276
+ }
277
+ declare function SignInBlock({ className, framed, onSignIn }: SignInBlockProps): react.JSX.Element;
278
+
279
+ declare const signInBlockMeta: BlockMeta;
280
+
281
+ interface SignUpBlockProps {
282
+ className?: string;
283
+ /** false drops the card's surface and border — for a Sheet, Dialog or muted section that already frames it. */
284
+ framed?: boolean;
285
+ /** Called with the submitted fields once the browser's validation passes. */
286
+ onSignUp?: (account: {
287
+ name: string;
288
+ email: string;
289
+ password: string;
290
+ }) => void;
291
+ }
292
+ declare function SignUpBlock({ className, framed, onSignUp }: SignUpBlockProps): react.JSX.Element;
293
+
294
+ declare const signUpBlockMeta: BlockMeta;
295
+
296
+ interface SiteFooterBlockProps {
297
+ className?: string;
298
+ }
299
+ declare function SiteFooterBlock({ className }: SiteFooterBlockProps): react.JSX.Element;
300
+
301
+ declare const siteFooterBlockMeta: BlockMeta;
302
+
303
+ interface StatRowBlockProps {
304
+ className?: string;
305
+ }
306
+ declare function StatRowBlock({ className }: StatRowBlockProps): react.JSX.Element;
307
+
308
+ declare const statRowBlockMeta: BlockMeta;
309
+
310
+ interface StepsBlockProps {
311
+ className?: string;
312
+ }
313
+ declare function StepsBlock({ className }: StepsBlockProps): react.JSX.Element;
314
+
315
+ declare const stepsBlockMeta: BlockMeta;
316
+
317
+ interface TaskListBlockProps {
318
+ className?: string;
319
+ /** false drops the card's surface and border — for a muted section that already frames it. */
320
+ framed?: boolean;
321
+ onAddTask?: () => void;
322
+ }
323
+ declare function TaskListBlock({ className, framed, onAddTask }: TaskListBlockProps): react.JSX.Element;
324
+
325
+ declare const taskListBlockMeta: BlockMeta;
326
+
327
+ interface TeamMembersBlockProps {
328
+ className?: string;
329
+ /** false drops the card's surface and border — for a muted section that already frames it. */
330
+ framed?: boolean;
331
+ onInvite?: () => void;
332
+ /** Called with the member's id and the action chosen from their menu. */
333
+ onMemberAction?: (id: string, action: "make-admin" | "make-member" | "resend" | "remove") => void;
334
+ }
335
+ declare function TeamMembersBlock({ className, framed, onInvite, onMemberAction }: TeamMembersBlockProps): react.JSX.Element;
336
+
337
+ declare const teamMembersBlockMeta: BlockMeta;
338
+
339
+ interface TestimonialBlockProps {
340
+ className?: string;
341
+ }
342
+ declare function TestimonialBlock({ className }: TestimonialBlockProps): react.JSX.Element;
343
+
344
+ declare const testimonialBlockMeta: BlockMeta;
345
+
346
+ interface TrafficSourcesBlockProps {
347
+ className?: string;
348
+ /** false drops the card's surface and border — for a muted section that already frames it. */
349
+ framed?: boolean;
350
+ }
351
+ declare function TrafficSourcesBlock({ className, framed }: TrafficSourcesBlockProps): react.JSX.Element;
352
+
353
+ declare const trafficSourcesBlockMeta: BlockMeta;
354
+
355
+ interface TrafficTrendBlockProps {
356
+ className?: string;
357
+ /** false drops the card's surface and border — for a muted section that already frames it. */
358
+ framed?: boolean;
359
+ }
360
+ declare function TrafficTrendBlock({ className, framed }: TrafficTrendBlockProps): react.JSX.Element;
361
+
362
+ declare const trafficTrendBlockMeta: BlockMeta;
363
+
364
+ interface UploadListBlockProps {
365
+ className?: string;
366
+ /** Called when the in-progress upload is cancelled. */
367
+ onCancel?: () => void;
368
+ }
369
+ declare function UploadListBlock({ className, onCancel }: UploadListBlockProps): react.JSX.Element;
370
+
371
+ declare const uploadListBlockMeta: BlockMeta;
372
+
373
+ interface VerifyCodeBlockProps {
374
+ className?: string;
375
+ /** false drops the card's surface and border — for a Sheet, Dialog or muted section that already frames it. */
376
+ framed?: boolean;
377
+ /** Called with the code as soon as the last digit is entered. */
378
+ onVerify?: (code: string) => void;
379
+ onResend?: () => void;
380
+ }
381
+ declare function VerifyCodeBlock({ className, framed, onVerify, onResend }: VerifyCodeBlockProps): react.JSX.Element;
382
+
383
+ declare const verifyCodeBlockMeta: BlockMeta;
384
+
385
+ interface WalletBlockProps {
386
+ className?: string;
387
+ /** false drops the card's surface and border — for a Sheet or muted section that already frames it. */
388
+ framed?: boolean;
389
+ onSend?: () => void;
390
+ onReceive?: () => void;
391
+ }
392
+ declare function WalletBlock({ className, framed, onSend, onReceive }: WalletBlockProps): react.JSX.Element;
393
+
394
+ declare const walletBlockMeta: BlockMeta;
395
+
396
+ export { ApiKeysBlock, ChatThreadBlock, CommandPaletteBlock, CtaBandBlock, DangerZoneBlock, DeviceComparisonBlock, EventCardBlock, FaqBlock, FeatureGridBlock, FeedbackFormBlock, GoalProgressBlock, HeroBlock, InviteTeamBlock, InvoiceHistoryBlock, KpiSparklineBlock, MediaPlayerBlock, NewsletterBlock, NotFoundBlock, NotificationListBlock, NotificationSettingsBlock, OrderTrackingBlock, PricingCardBlock, PricingTableBlock, ProductCardBlock, ProfileCardBlock, ProfileFormBlock, RevenueBreakdownBlock, SignInBlock, SignUpBlock, SiteFooterBlock, StatRowBlock, StepsBlock, TaskListBlock, TeamMembersBlock, TestimonialBlock, TrafficSourcesBlock, TrafficTrendBlock, UploadListBlock, VerifyCodeBlock, WalletBlock, apiKeysBlockMeta, chatThreadBlockMeta, commandPaletteBlockMeta, ctaBandBlockMeta, dangerZoneBlockMeta, deviceComparisonBlockMeta, eventCardBlockMeta, faqBlockMeta, featureGridBlockMeta, feedbackFormBlockMeta, goalProgressBlockMeta, heroBlockMeta, inviteTeamBlockMeta, invoiceHistoryBlockMeta, kpiSparklineBlockMeta, mediaPlayerBlockMeta, newsletterBlockMeta, notFoundBlockMeta, notificationListBlockMeta, notificationSettingsBlockMeta, orderTrackingBlockMeta, pricingCardBlockMeta, pricingTableBlockMeta, productCardBlockMeta, profileCardBlockMeta, profileFormBlockMeta, revenueBreakdownBlockMeta, signInBlockMeta, signUpBlockMeta, siteFooterBlockMeta, statRowBlockMeta, stepsBlockMeta, taskListBlockMeta, teamMembersBlockMeta, testimonialBlockMeta, trafficSourcesBlockMeta, trafficTrendBlockMeta, uploadListBlockMeta, verifyCodeBlockMeta, walletBlockMeta };