@zeldafox/blocks 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,892 @@
1
+ import { ComponentOptionsMixin } from 'vue';
2
+ import { ComponentProvideOptions } from 'vue';
3
+ import { ComputedRef } from 'vue';
4
+ import { DefineComponent } from 'vue';
5
+ import { Plugin as Plugin_2 } from 'vue';
6
+ import { PublicProps } from 'vue';
7
+ import { WritableComputedRef } from 'vue';
8
+
9
+ declare type __VLS_Props = {
10
+ data: NavbarData;
11
+ };
12
+
13
+ declare type __VLS_Props_10 = {
14
+ data: IconWallData;
15
+ };
16
+
17
+ declare type __VLS_Props_11 = {
18
+ data: StepsData;
19
+ };
20
+
21
+ declare type __VLS_Props_12 = {
22
+ data: TimelineData;
23
+ };
24
+
25
+ declare type __VLS_Props_13 = {
26
+ data: VideoData;
27
+ };
28
+
29
+ declare type __VLS_Props_14 = {
30
+ data: TeamData;
31
+ };
32
+
33
+ declare type __VLS_Props_15 = {
34
+ data: TestimonialsData;
35
+ };
36
+
37
+ declare type __VLS_Props_16 = {
38
+ data: PartnersData;
39
+ };
40
+
41
+ declare type __VLS_Props_17 = {
42
+ data: LogoBarData;
43
+ };
44
+
45
+ declare type __VLS_Props_18 = {
46
+ data: ImageTextData;
47
+ };
48
+
49
+ declare type __VLS_Props_19 = {
50
+ data: TopImageData;
51
+ };
52
+
53
+ declare type __VLS_Props_2 = {
54
+ data: BannerData;
55
+ };
56
+
57
+ declare type __VLS_Props_20 = {
58
+ data: ProductListData;
59
+ };
60
+
61
+ declare type __VLS_Props_21 = {
62
+ data: ProductDetailData;
63
+ };
64
+
65
+ declare type __VLS_Props_22 = {
66
+ data: ServiceListData;
67
+ };
68
+
69
+ declare type __VLS_Props_23 = {
70
+ data: CourseListData;
71
+ };
72
+
73
+ declare type __VLS_Props_24 = {
74
+ data: NewsListData;
75
+ };
76
+
77
+ declare type __VLS_Props_25 = {
78
+ data: NewsDetailData;
79
+ };
80
+
81
+ declare type __VLS_Props_26 = {
82
+ data: PricingData;
83
+ };
84
+
85
+ declare type __VLS_Props_27 = {
86
+ data: ComparisonTableData;
87
+ };
88
+
89
+ declare type __VLS_Props_28 = {
90
+ data: ContactFormData;
91
+ };
92
+
93
+ declare type __VLS_Props_29 = {
94
+ data: CTAData;
95
+ };
96
+
97
+ declare type __VLS_Props_3 = {
98
+ data: BreadcrumbData;
99
+ };
100
+
101
+ declare type __VLS_Props_30 = {
102
+ data: FAQData;
103
+ };
104
+
105
+ declare type __VLS_Props_4 = {
106
+ data: FooterData;
107
+ };
108
+
109
+ declare type __VLS_Props_5 = {
110
+ data: HeroData;
111
+ };
112
+
113
+ declare type __VLS_Props_6 = {
114
+ data: HeroBackgroundData;
115
+ };
116
+
117
+ declare type __VLS_Props_7 = {
118
+ data: PageHeaderData;
119
+ };
120
+
121
+ declare type __VLS_Props_8 = {
122
+ data: FeaturesData;
123
+ };
124
+
125
+ declare type __VLS_Props_9 = {
126
+ data: StatsData;
127
+ };
128
+
129
+ /**
130
+ * 归一化颜色名称为 Tailwind 类名
131
+ */
132
+ export declare function badgeColor(color?: string): string;
133
+
134
+ export declare const Banner: DefineComponent<__VLS_Props_2, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_2> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
135
+
136
+ export declare interface BannerData extends BlockBase {
137
+ /** 横幅文字 */
138
+ text: string;
139
+ /** 图标(Emoji) */
140
+ icon?: string;
141
+ /** 右侧 CTA 按钮 */
142
+ action?: BlockAction;
143
+ /** 主题 */
144
+ theme?: 'primary' | 'dark' | 'light';
145
+ }
146
+
147
+ /**
148
+ * 通用按钮
149
+ */
150
+ export declare interface BlockAction {
151
+ /** 按钮文字 */
152
+ text: string;
153
+ /** 链接地址,默认 '#' */
154
+ link?: string;
155
+ /** 是否主按钮(首个按钮默认 true) */
156
+ primary?: boolean;
157
+ /** 是否新窗口打开 */
158
+ newWindow?: boolean;
159
+ }
160
+
161
+ /**
162
+ * 所有区块共有的可选字段
163
+ */
164
+ export declare interface BlockBase {
165
+ /** 区块 id(用于锚点跳转) */
166
+ id?: string;
167
+ /** 附加类名 */
168
+ class?: string;
169
+ }
170
+
171
+ /**
172
+ * 通用图片
173
+ */
174
+ export declare interface BlockImage {
175
+ /** 图片地址 */
176
+ src: string;
177
+ /** 图片 alt(无障碍 & SEO) */
178
+ alt?: string;
179
+ }
180
+
181
+ /**
182
+ * 通用链接项(用于导航、页脚)
183
+ */
184
+ export declare interface BlockLink {
185
+ /** 显示文字 */
186
+ text: string;
187
+ /** 链接地址 */
188
+ link?: string;
189
+ /** 图标(Emoji) */
190
+ icon?: string;
191
+ /** 是否新窗口打开 */
192
+ newWindow?: boolean;
193
+ /** 二级菜单 */
194
+ children?: BlockLink[];
195
+ /**
196
+ * 二级菜单面板宽度(Tailwind 类名,如 `w-64`)
197
+ * 仅 Navbar 生效,默认 `w-56`
198
+ */
199
+ menuWidth?: string;
200
+ }
201
+
202
+ /**
203
+ * 通用标签
204
+ */
205
+ export declare interface BlockTag {
206
+ /** 标签文字 */
207
+ text: string;
208
+ /** 颜色 */
209
+ color?: 'primary' | 'gray' | 'green' | 'red' | 'yellow' | 'emerald' | 'orange' | 'rose' | 'purple' | 'cyan';
210
+ }
211
+
212
+ export declare const Breadcrumb: DefineComponent<__VLS_Props_3, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_3> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLElement>;
213
+
214
+ export declare interface BreadcrumbData extends BlockBase {
215
+ /** 层级列表,按从外到内排列 */
216
+ items: BreadcrumbItem[];
217
+ }
218
+
219
+ export declare interface BreadcrumbItem {
220
+ /** 显示文字 */
221
+ text: string;
222
+ /** 链接地址(最后一项通常无链接) */
223
+ link?: string;
224
+ }
225
+
226
+ declare const ChatflowBlocks: Plugin_2;
227
+ export { ChatflowBlocks }
228
+ export default ChatflowBlocks;
229
+
230
+ /**
231
+ * 合并类名
232
+ */
233
+ export declare function cn(...classes: (string | undefined | null | false | Record<string, boolean>)[]): string;
234
+
235
+ export declare interface ComparisonCell {
236
+ /** 单元格内容,常用 ✓ / ✗ / 文字 */
237
+ value: string;
238
+ /** 单元格配色 */
239
+ color?: 'green' | 'red' | 'yellow' | 'gray';
240
+ }
241
+
242
+ export declare interface ComparisonHeader {
243
+ /** 表头文字 */
244
+ text: string;
245
+ /** 表头配色,用于突出自家产品 */
246
+ color?: 'primary' | 'gray';
247
+ }
248
+
249
+ export declare interface ComparisonRow {
250
+ /** 行首的能力/功能名称 */
251
+ feature: string;
252
+ /** 各列的对比结果,顺序需与 `headers` 对应 */
253
+ columns: ComparisonCell[];
254
+ }
255
+
256
+ export declare const ComparisonTable: DefineComponent<__VLS_Props_27, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_27> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLElement>;
257
+
258
+ export declare interface ComparisonTableData extends BlockBase {
259
+ /** 区块标题 */
260
+ title?: string;
261
+ /** 区块描述 */
262
+ description?: string;
263
+ /** 首列表头文字,默认 '功能' */
264
+ firstColHeader?: string;
265
+ /** 对比列的表头(竞品 / 方案) */
266
+ headers: ComparisonHeader[];
267
+ /** 对比数据行 */
268
+ rows: ComparisonRow[];
269
+ }
270
+
271
+ export declare const ContactForm: DefineComponent<__VLS_Props_28, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {} & {
272
+ submit: (values: Record<string, string>) => any;
273
+ }, string, PublicProps, Readonly<__VLS_Props_28> & Readonly<{
274
+ onSubmit?: ((values: Record<string, string>) => any) | undefined;
275
+ }>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLElement>;
276
+
277
+ export declare interface ContactFormData extends BlockBase {
278
+ /** 区块标题 */
279
+ title?: string;
280
+ /** 区块描述 */
281
+ description?: string;
282
+ /** 表单字段列表 */
283
+ fields: FormField[];
284
+ /** 提交按钮文案,默认 '发送消息' */
285
+ submitText?: string;
286
+ /** 表单底部说明(隐私条款等) */
287
+ footerNote?: string;
288
+ }
289
+
290
+ export declare interface CourseItem {
291
+ /** 课程标题 */
292
+ title: string;
293
+ /** 课程简介 */
294
+ description: string;
295
+ /** 封面图 */
296
+ image: BlockImage;
297
+ /** 标签组 */
298
+ tags?: CourseTag[];
299
+ /** 课时时长,如 '12 小时' */
300
+ duration?: string;
301
+ /** 章节数,如 '48 节' */
302
+ chapters?: string;
303
+ /** 讲师姓名 */
304
+ instructor?: string;
305
+ /** 评分,如 '4.9' */
306
+ rating?: string;
307
+ /** 评分人数,如 '2,341 人评价' */
308
+ ratingCount?: string;
309
+ /** 价格,如 '¥299' */
310
+ price?: string;
311
+ /** 卡片按钮 */
312
+ button?: BlockAction;
313
+ }
314
+
315
+ export declare const CourseList: DefineComponent<__VLS_Props_23, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_23> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLElement>;
316
+
317
+ export declare interface CourseListData extends BlockBase {
318
+ /** 区块标题 */
319
+ title?: string;
320
+ /** 区块描述 */
321
+ description?: string;
322
+ /** 课程列表 */
323
+ items: CourseItem[];
324
+ /** 底部「查看更多」按钮 */
325
+ more?: BlockAction;
326
+ }
327
+
328
+ export declare interface CourseTag {
329
+ /** 标签文字 */
330
+ text: string;
331
+ /** 标签配色 */
332
+ color?: string;
333
+ }
334
+
335
+ export declare const CTA: DefineComponent<__VLS_Props_29, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_29> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLElement>;
336
+
337
+ export declare interface CTAData extends BlockBase {
338
+ /** 标题 */
339
+ title: string;
340
+ /** 描述 */
341
+ description?: string;
342
+ /** 按钮列表 */
343
+ actions?: BlockAction[];
344
+ /** 主题 */
345
+ theme?: 'primary' | 'dark';
346
+ }
347
+
348
+ export declare const FAQ: DefineComponent<__VLS_Props_30, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_30> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLElement>;
349
+
350
+ export declare interface FAQData extends BlockBase {
351
+ /** 区块标题 */
352
+ title?: string;
353
+ /** FAQ 列表 */
354
+ items: FAQItem[];
355
+ }
356
+
357
+ export declare interface FAQItem {
358
+ /** 问题 */
359
+ question: string;
360
+ /** 回答 */
361
+ answer: string;
362
+ }
363
+
364
+ export declare interface FeatureItem {
365
+ /** 图标(Emoji) */
366
+ icon: string;
367
+ /** 标题 */
368
+ title: string;
369
+ /** 描述 */
370
+ description: string;
371
+ }
372
+
373
+ export declare const Features: DefineComponent<__VLS_Props_8, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_8> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLElement>;
374
+
375
+ export declare interface FeaturesData extends BlockBase {
376
+ /** 区块标题 */
377
+ title?: string;
378
+ /** 区块描述 */
379
+ description?: string;
380
+ /** 特性列表 */
381
+ items: FeatureItem[];
382
+ /** 列数 */
383
+ columns?: 2 | 3 | 4;
384
+ /** 背景色 */
385
+ bgColor?: 'white' | 'gray';
386
+ }
387
+
388
+ export declare const Footer: DefineComponent<__VLS_Props_4, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_4> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLElement>;
389
+
390
+ export declare interface FooterData extends BlockBase {
391
+ /** 品牌名称 */
392
+ brand: string;
393
+ /** Logo */
394
+ logo?: BlockImage;
395
+ /** 版权信息 */
396
+ copyright?: string;
397
+ }
398
+
399
+ export declare interface FormField {
400
+ /** 字段名,作为提交数据的 key */
401
+ name: string;
402
+ /** 表单标签文案 */
403
+ label: string;
404
+ /** 控件类型 */
405
+ type: 'text' | 'email' | 'textarea' | 'select';
406
+ /** 占位提示 */
407
+ placeholder?: string;
408
+ /** 是否必填 */
409
+ required?: boolean;
410
+ /** `type: 'select'` 时的下拉选项 */
411
+ options?: {
412
+ label: string;
413
+ value: string;
414
+ }[];
415
+ /**
416
+ * 字段宽度:
417
+ * - `half`:与相邻 half 字段并排(sm 断点以上两列)
418
+ * - `full`:独占一行
419
+ * 仅对 `text` / `email` 生效,其余类型恒为 full。
420
+ */
421
+ width?: 'half' | 'full';
422
+ }
423
+
424
+ export declare const Hero: DefineComponent<__VLS_Props_5, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_5> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLElement>;
425
+
426
+ export declare const HeroBackground: DefineComponent<__VLS_Props_6, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_6> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLElement>;
427
+
428
+ export declare interface HeroBackgroundData extends BlockBase {
429
+ /** 主标题,支持 HTML(如 <br>) */
430
+ title: string;
431
+ /** 副标题/描述 */
432
+ description?: string;
433
+ /** 按钮列表 */
434
+ actions?: BlockAction[];
435
+ /** 背景图片 */
436
+ bgImage: BlockImage;
437
+ /** 遮罩透明度 0-100,默认 50 */
438
+ overlayOpacity?: number;
439
+ /** 文字是否使用白色,默认 true */
440
+ textWhite?: boolean;
441
+ }
442
+
443
+ export declare interface HeroData extends BlockBase {
444
+ /** 主标题,支持 HTML(如 <br>) */
445
+ title: string;
446
+ /** 副标题/描述 */
447
+ description?: string;
448
+ /** 按钮列表 */
449
+ actions?: BlockAction[];
450
+ /** 展示图 */
451
+ image?: BlockImage;
452
+ /** 变体:default=白底大图,background=背景图 + 遮罩 */
453
+ variant?: 'default' | 'background';
454
+ /** 内容对齐方式 */
455
+ align?: 'center' | 'left';
456
+ /** variant='background' 时的背景图 */
457
+ bgImage?: BlockImage;
458
+ /** 遮罩透明度 0-100,仅 variant='background' 有效 */
459
+ overlayOpacity?: number;
460
+ }
461
+
462
+ export declare const IconWall: DefineComponent<__VLS_Props_10, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_10> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLElement>;
463
+
464
+ export declare interface IconWallData extends BlockBase {
465
+ /** 区块标题 */
466
+ title?: string;
467
+ /** 区块描述 */
468
+ description?: string;
469
+ /** 功能图标列表 */
470
+ items: IconWallItem[];
471
+ }
472
+
473
+ export declare interface IconWallItem {
474
+ /** 图标(推荐 Emoji,无需引入图标库) */
475
+ icon: string;
476
+ /** 功能名称 */
477
+ title: string;
478
+ /** 功能描述 */
479
+ description: string;
480
+ }
481
+
482
+ export declare const ImageText: DefineComponent<__VLS_Props_18, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_18> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLElement>;
483
+
484
+ export declare interface ImageTextData extends BlockBase {
485
+ /** 区块标题,支持 HTML(如 <br>) */
486
+ title: string;
487
+ /** 正文描述 */
488
+ description?: string;
489
+ /** 配图 */
490
+ image: BlockImage;
491
+ /** 标签组(渲染为胶囊) */
492
+ tags?: string[];
493
+ /** 图片位置,left = 左图右文,right = 左文右图,默认 'left' */
494
+ imagePosition?: 'left' | 'right';
495
+ /** 背景色,默认 'white' */
496
+ bgColor?: 'white' | 'gray';
497
+ }
498
+
499
+ export declare const LogoBar: DefineComponent<__VLS_Props_17, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_17> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLElement>;
500
+
501
+ export declare interface LogoBarData extends BlockBase {
502
+ /** Logo 列表 */
503
+ items: LogoBarItem[];
504
+ /** 是否显示灰度效果,默认 true */
505
+ grayscale?: boolean;
506
+ }
507
+
508
+ export declare interface LogoBarItem {
509
+ /** 品牌名称(作为 Logo 的 alt 文本) */
510
+ name: string;
511
+ /** Logo 图片 */
512
+ logo: BlockImage;
513
+ /** 点击跳转链接 */
514
+ link?: string;
515
+ }
516
+
517
+ export declare const Navbar: DefineComponent<__VLS_Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLElement>;
518
+
519
+ export declare interface NavbarData extends BlockBase {
520
+ /** 品牌名称 */
521
+ brand: string;
522
+ /** Logo 图片 */
523
+ logo?: BlockImage;
524
+ /** 导航链接(支持二级菜单) */
525
+ links?: BlockLink[];
526
+ /** 右侧 CTA 按钮 */
527
+ actions?: BlockAction[];
528
+ }
529
+
530
+ export declare const NewsDetail: DefineComponent<__VLS_Props_25, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_25> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLElement>;
531
+
532
+ export declare interface NewsDetailData extends BlockBase {
533
+ /** 文章分类 */
534
+ category?: string;
535
+ /** 发布日期 */
536
+ date?: string;
537
+ /** 文章标题 */
538
+ title: string;
539
+ /** 题图 */
540
+ image?: BlockImage;
541
+ /** 正文,支持 HTML */
542
+ body: string;
543
+ /** 文章标签 */
544
+ tags?: string[];
545
+ }
546
+
547
+ export declare interface NewsItem {
548
+ /** 资讯标题 */
549
+ title: string;
550
+ /** 摘要 */
551
+ summary: string;
552
+ /** 封面图 */
553
+ image: BlockImage;
554
+ /** 分类 */
555
+ category?: string;
556
+ /** 发布日期 */
557
+ date?: string;
558
+ /** 详情页链接 */
559
+ link?: string;
560
+ /** 阅读更多链接是否新窗口打开 */
561
+ newWindow?: boolean;
562
+ }
563
+
564
+ export declare const NewsList: DefineComponent<__VLS_Props_24, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_24> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLElement>;
565
+
566
+ export declare interface NewsListData extends BlockBase {
567
+ /** 区块标题 */
568
+ title?: string;
569
+ /** 区块描述 */
570
+ description?: string;
571
+ /** 资讯列表 */
572
+ items: NewsItem[];
573
+ /** 底部「查看更多」按钮 */
574
+ more?: BlockAction;
575
+ }
576
+
577
+ /**
578
+ * 归一化按钮数组:
579
+ * - link 默认 '#'
580
+ * - 首个按钮默认 primary
581
+ * - newWindow 默认 false
582
+ */
583
+ export declare function normalizeActions(actions?: BlockAction[]): Required<BlockAction>[];
584
+
585
+ export declare const PageHeader: DefineComponent<__VLS_Props_7, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_7> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLElement>;
586
+
587
+ export declare interface PageHeaderData extends BlockBase {
588
+ /** 页面标题,支持 HTML(如 <br>) */
589
+ title: string;
590
+ /** 页面描述 */
591
+ description?: string;
592
+ /** 对齐方式,默认 'center' */
593
+ align?: 'center' | 'left';
594
+ /** 背景色 */
595
+ bgColor?: 'white' | 'gray' | 'primary';
596
+ }
597
+
598
+ export declare interface PartnerItem {
599
+ /** 合作方名称(作为 Logo 的 alt 文本) */
600
+ name: string;
601
+ /** Logo 图片 */
602
+ logo: BlockImage;
603
+ }
604
+
605
+ export declare const Partners: DefineComponent<__VLS_Props_16, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_16> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLElement>;
606
+
607
+ export declare interface PartnersData extends BlockBase {
608
+ /** 区块标题 */
609
+ title?: string;
610
+ /** 区块描述 */
611
+ description?: string;
612
+ /** 合作方列表 */
613
+ items: PartnerItem[];
614
+ }
615
+
616
+ export declare const Pricing: DefineComponent<__VLS_Props_26, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_26> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLElement>;
617
+
618
+ export declare interface PricingData extends BlockBase {
619
+ /** 区块标题 */
620
+ title?: string;
621
+ /** 区块描述 */
622
+ description?: string;
623
+ /** 定价方案列表 */
624
+ plans: PricingPlan[];
625
+ }
626
+
627
+ export declare interface PricingPlan {
628
+ /** 方案名称,如 '专业版' */
629
+ name: string;
630
+ /** 价格,如 '¥99' */
631
+ price: string;
632
+ /** 价格单位,如 '/月' */
633
+ unit?: string;
634
+ /** 权益清单,每行一条,换行分隔 */
635
+ features: string;
636
+ /** 方案按钮 */
637
+ button: BlockAction;
638
+ /** 卡片角标文字,如 '最受欢迎' */
639
+ badge?: string;
640
+ /** 是否高亮为主推方案 */
641
+ primary?: boolean;
642
+ }
643
+
644
+ export declare const ProductDetail: DefineComponent<__VLS_Props_21, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_21> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLElement>;
645
+
646
+ export declare interface ProductDetailData extends BlockBase {
647
+ /** 产品名称 */
648
+ name: string;
649
+ /** 产品标语 */
650
+ tagline?: string;
651
+ /** 产品描述 */
652
+ description?: string;
653
+ /** 产品主图 */
654
+ image: BlockImage;
655
+ /** 标签 */
656
+ tags?: BlockTag[];
657
+ /** CTA 按钮 */
658
+ actions?: BlockAction[];
659
+ /** 核心特性 */
660
+ features?: ProductDetailFeature[];
661
+ }
662
+
663
+ export declare interface ProductDetailFeature {
664
+ /** 特性图标(Emoji) */
665
+ icon: string;
666
+ /** 特性标题 */
667
+ title: string;
668
+ /** 特性描述 */
669
+ description: string;
670
+ }
671
+
672
+ export declare interface ProductItem {
673
+ /** 产品名称 */
674
+ title: string;
675
+ /** 产品简介 */
676
+ description: string;
677
+ /** 产品图 */
678
+ image: BlockImage;
679
+ /** 标签组 */
680
+ tags?: string[];
681
+ /** 卡片角标文字 */
682
+ badge?: string;
683
+ /** 角标背景色(Tailwind 类名,如 `bg-emerald-500`) */
684
+ badgeColor?: string;
685
+ /** 详情页链接 */
686
+ link?: string;
687
+ /** 详情链接是否新窗口打开 */
688
+ newWindow?: boolean;
689
+ }
690
+
691
+ export declare const ProductList: DefineComponent<__VLS_Props_20, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_20> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLElement>;
692
+
693
+ export declare interface ProductListData extends BlockBase {
694
+ /** 区块标题 */
695
+ title?: string;
696
+ /** 区块描述 */
697
+ description?: string;
698
+ /** 产品列表 */
699
+ items: ProductItem[];
700
+ }
701
+
702
+ export declare interface ServiceItem {
703
+ /** 图标(推荐 Emoji) */
704
+ icon: string;
705
+ /** 服务名称 */
706
+ title: string;
707
+ /** 服务描述 */
708
+ description: string;
709
+ /** 服务要点列表 */
710
+ points?: string[];
711
+ /** 详情页链接 */
712
+ link?: string;
713
+ /** 详情链接是否新窗口打开 */
714
+ newWindow?: boolean;
715
+ }
716
+
717
+ export declare const ServiceList: DefineComponent<__VLS_Props_22, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_22> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLElement>;
718
+
719
+ export declare interface ServiceListData extends BlockBase {
720
+ /** 区块标题 */
721
+ title?: string;
722
+ /** 区块描述 */
723
+ description?: string;
724
+ /** 服务列表 */
725
+ items: ServiceItem[];
726
+ /** 底部「查看更多」按钮 */
727
+ more?: BlockAction;
728
+ }
729
+
730
+ export declare interface StatItem {
731
+ /** 数值,如 '98%' */
732
+ value: string;
733
+ /** 标签,如 '客户留存率' */
734
+ label: string;
735
+ }
736
+
737
+ export declare const Stats: DefineComponent<__VLS_Props_9, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_9> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLElement>;
738
+
739
+ export declare interface StatsData extends BlockBase {
740
+ /** 统计项列表 */
741
+ items: StatItem[];
742
+ /** 主题:primary=品牌色背景,light=浅色背景 */
743
+ theme?: 'primary' | 'light';
744
+ }
745
+
746
+ export declare interface StepItem {
747
+ /** 步骤编号(如 1、2、3) */
748
+ number: string;
749
+ /** 步骤标题 */
750
+ title: string;
751
+ /** 步骤描述 */
752
+ description: string;
753
+ /** 图标(Emoji,可选) */
754
+ icon?: string;
755
+ }
756
+
757
+ export declare const Steps: DefineComponent<__VLS_Props_11, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_11> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLElement>;
758
+
759
+ export declare interface StepsData extends BlockBase {
760
+ /** 区块标题 */
761
+ title?: string;
762
+ /** 区块描述 */
763
+ description?: string;
764
+ /** 步骤列表 */
765
+ items: StepItem[];
766
+ }
767
+
768
+ export declare const Team: DefineComponent<__VLS_Props_14, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_14> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLElement>;
769
+
770
+ export declare interface TeamData extends BlockBase {
771
+ /** 区块标题 */
772
+ title?: string;
773
+ /** 区块描述 */
774
+ description?: string;
775
+ /** 团队成员列表 */
776
+ members: TeamMember[];
777
+ }
778
+
779
+ export declare interface TeamMember {
780
+ /** 成员姓名 */
781
+ name: string;
782
+ /** 职位 / 角色 */
783
+ role: string;
784
+ /** 头像 */
785
+ avatar: BlockImage;
786
+ }
787
+
788
+ export declare interface TestimonialItem {
789
+ /** 客户评价正文 */
790
+ quote: string;
791
+ /** 客户姓名 */
792
+ name: string;
793
+ /** 客户职位 */
794
+ position: string;
795
+ /** 所属公司 */
796
+ company: string;
797
+ /** 客户头像 */
798
+ avatar: BlockImage;
799
+ /** 星级评分 1-5 */
800
+ rating?: number;
801
+ }
802
+
803
+ export declare const Testimonials: DefineComponent<__VLS_Props_15, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_15> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLElement>;
804
+
805
+ export declare interface TestimonialsData extends BlockBase {
806
+ /** 区块标题 */
807
+ title?: string;
808
+ /** 区块描述 */
809
+ description?: string;
810
+ /** 客户证言列表 */
811
+ items: TestimonialItem[];
812
+ }
813
+
814
+ export declare const Timeline: DefineComponent<__VLS_Props_12, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_12> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLElement>;
815
+
816
+ export declare interface TimelineData extends BlockBase {
817
+ /** 区块标题 */
818
+ title?: string;
819
+ /** 区块描述 */
820
+ description?: string;
821
+ /** 时间节点列表 */
822
+ items: TimelineItem[];
823
+ }
824
+
825
+ export declare interface TimelineItem {
826
+ /** 时间(如 2020、Q1 2024) */
827
+ time: string;
828
+ /** 标题 */
829
+ title: string;
830
+ /** 描述 */
831
+ description?: string;
832
+ /** 图标(Emoji,可选) */
833
+ icon?: string;
834
+ }
835
+
836
+ export declare const TopImage: DefineComponent<__VLS_Props_19, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_19> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLElement>;
837
+
838
+ export declare interface TopImageData extends BlockBase {
839
+ /** 区块标题,支持 HTML(如 <br>) */
840
+ title: string;
841
+ /** 正文描述 */
842
+ description?: string;
843
+ /** 标题下方的通栏配图 */
844
+ image: BlockImage;
845
+ }
846
+
847
+ /**
848
+ * 合并用户数据与默认值
849
+ *
850
+ * @example
851
+ * ```ts
852
+ * const d = useMergedData(props.data, { variant: 'default', align: 'center' })
853
+ * ```
854
+ */
855
+ export declare function useMergedData<T extends object>(data: T, defaults: Partial<T>): ComputedRef<T & Required<Partial<T>>>;
856
+
857
+ /**
858
+ * 深色模式切换
859
+ *
860
+ * @example
861
+ * ```ts
862
+ * const { isDark, toggleDark } = useTheme()
863
+ * ```
864
+ */
865
+ export declare function useTheme(options?: UseThemeOptions): {
866
+ isDark: WritableComputedRef<boolean, boolean>;
867
+ toggleDark: (value?: boolean | undefined) => boolean;
868
+ };
869
+
870
+ export declare interface UseThemeOptions {
871
+ /** localStorage key */
872
+ storageKey?: string;
873
+ }
874
+
875
+ export declare const Video: DefineComponent<__VLS_Props_13, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_13> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLElement>;
876
+
877
+ export declare interface VideoData extends BlockBase {
878
+ /** 区块标题 */
879
+ title?: string;
880
+ /** 区块描述 */
881
+ description?: string;
882
+ /** 视频地址(mp4 或 iframe 嵌入地址) */
883
+ src: string;
884
+ /** 视频类型,默认 'video' */
885
+ type?: 'video' | 'iframe';
886
+ /** 视频封面 */
887
+ poster?: BlockImage;
888
+ /** 宽高比 */
889
+ aspectRatio?: '16/9' | '4/3' | '1/1';
890
+ }
891
+
892
+ export { }