@yaoxiu/marketing-dsl 2.2.1 → 2.4.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.
- package/README.md +15 -0
- package/dist/{chunk-DTHKC5AL.js → chunk-DT3ZINDI.js} +381 -45
- package/dist/docs/index.cjs +1562 -91
- package/dist/docs/index.d.cts +4 -3
- package/dist/docs/index.d.ts +4 -3
- package/dist/docs/index.js +1530 -95
- package/dist/index.cjs +542 -85
- package/dist/index.d.cts +119 -3
- package/dist/index.d.ts +119 -3
- package/dist/index.js +154 -44
- package/dist/report/index.d.cts +1 -1
- package/dist/report/index.d.ts +1 -1
- package/dist/{types-Bj0xyWnx.d.cts → types-8FNxDXp0.d.cts} +116 -2
- package/dist/{types-Bj0xyWnx.d.ts → types-8FNxDXp0.d.ts} +116 -2
- package/package.json +1 -1
package/dist/docs/index.cjs
CHANGED
|
@@ -5,6 +5,11 @@ function toLength(value) {
|
|
|
5
5
|
return typeof value === "number" ? `${value}px` : String(value);
|
|
6
6
|
}
|
|
7
7
|
var px = toLength;
|
|
8
|
+
function clampZIndex(value) {
|
|
9
|
+
const num = typeof value === "number" ? value : parseFloat(String(value));
|
|
10
|
+
if (!isFinite(num)) return 0;
|
|
11
|
+
return Math.min(10, Math.max(0, Math.round(num)));
|
|
12
|
+
}
|
|
8
13
|
var STYLE_MAP = {
|
|
9
14
|
// 文字
|
|
10
15
|
color: ["color", String],
|
|
@@ -57,6 +62,26 @@ var STYLE_MAP = {
|
|
|
57
62
|
minHeight: ["minHeight", px],
|
|
58
63
|
maxWidth: ["maxWidth", px],
|
|
59
64
|
maxHeight: ["maxHeight", px],
|
|
65
|
+
// 动效相关。transform / transition 是做位移、缩放、hover 过渡的最小必需集;
|
|
66
|
+
// 不放开 position / display / grid —— rect 已经提供绝对定位,栅格用 flex wrap + 百分比宽复刻,
|
|
67
|
+
// 放开 position 等于把「全屏覆盖」这类越权手段又交回给配置。
|
|
68
|
+
transform: ["transform", String],
|
|
69
|
+
transformOrigin: ["transformOrigin", String],
|
|
70
|
+
transition: ["transition", String],
|
|
71
|
+
// 只为 hoverStyle 而放开:`animationPlayState: 'paused'` 才能做到「悬停时暂停呼吸动画」。
|
|
72
|
+
// 写进普通 style 也合法(等于一开始就暂停),但那基本没有意义。
|
|
73
|
+
animationPlayState: ["animationPlayState", String],
|
|
74
|
+
// 毛玻璃。Safari 至今只认带前缀的写法,所以两个键一起输出,见 EXTRA_CSS_KEYS
|
|
75
|
+
backdropFilter: ["backdropFilter", String],
|
|
76
|
+
textShadow: ["textShadow", String],
|
|
77
|
+
// 只允许 0~10:越权提层是弹窗类配置最容易做的坏事(盖住宿主自己的导航 / 收银台),
|
|
78
|
+
// 层内排布十层绰绰有余,真需要压过页面其它内容的是弹窗层,那由解释器自己给 1000
|
|
79
|
+
zIndex: ["zIndex", (v) => String(clampZIndex(v))],
|
|
80
|
+
// 装饰性图层(光斑、扫光)必须让点击穿透,否则会挡住下面的按钮
|
|
81
|
+
pointerEvents: ["pointerEvents", String],
|
|
82
|
+
// 横向排布里「这一项不许被压扁」,图标位和数字位常用
|
|
83
|
+
flexShrink: ["flexShrink", String],
|
|
84
|
+
fontStyle: ["fontStyle", String],
|
|
60
85
|
// 图片
|
|
61
86
|
objectFit: ["objectFit", String],
|
|
62
87
|
// 宽度给百分比、高度按比例算。整图 banner 的热区必须靠它才能用百分比定位:
|
|
@@ -93,6 +118,17 @@ var USER_FIELD_LABELS = {
|
|
|
93
118
|
serviceInfo: "\u5BA2\u670D\u4E0E\u793E\u7FA4\u4FE1\u606F\uFF08\u5BF9\u8C61\uFF0C\u6309\u9700\u53D6\u5B50\u5B57\u6BB5\uFF09"
|
|
94
119
|
};
|
|
95
120
|
|
|
121
|
+
// src/css.ts
|
|
122
|
+
var ALLOWED_EASINGS = [
|
|
123
|
+
"linear",
|
|
124
|
+
"ease",
|
|
125
|
+
"ease-in",
|
|
126
|
+
"ease-out",
|
|
127
|
+
"ease-in-out",
|
|
128
|
+
"step-start",
|
|
129
|
+
"step-end"
|
|
130
|
+
];
|
|
131
|
+
|
|
96
132
|
// src/validate.ts
|
|
97
133
|
var DSL_VERSION = 1;
|
|
98
134
|
var NODE_TYPES = [
|
|
@@ -445,8 +481,228 @@ countdown_end // \u5012\u8BA1\u65F6\u5F52\u96F6`
|
|
|
445
481
|
];
|
|
446
482
|
var action_default = sections;
|
|
447
483
|
|
|
448
|
-
// src/docs/sections/
|
|
484
|
+
// src/docs/sections/animation.ts
|
|
449
485
|
var sections2 = [
|
|
486
|
+
{
|
|
487
|
+
id: "animation",
|
|
488
|
+
title: "15. \u52A8\u753B\u4E0E hover",
|
|
489
|
+
blocks: [
|
|
490
|
+
{
|
|
491
|
+
t: "p",
|
|
492
|
+
text: "\u52A8\u753B\u5206\u4E24\u6B65\u5199\uFF1A\u5148\u5728**\u9876\u5C42** `keyframes` \u91CC\u5B9A\u4E49\u4E00\u7EC4\u5173\u952E\u5E27\uFF0C\u518D\u5728\u8981\u52A8\u7684\u5730\u65B9\u7528 `animate` \u5F15\u7528\u5B83\u3002\u5173\u952E\u5E27\u5E93\u5168\u914D\u7F6E\u5171\u7528\uFF0C\u591A\u89C6\u56FE\u4E4B\u95F4\u4E5F\u5171\u7528\uFF0C\u540C\u4E00\u7EC4\u5173\u952E\u5E27\u53EF\u4EE5\u88AB\u5F15\u7528\u4EFB\u610F\u591A\u6B21\u3002"
|
|
493
|
+
},
|
|
494
|
+
{
|
|
495
|
+
t: "code",
|
|
496
|
+
code: `{
|
|
497
|
+
"version": 1,
|
|
498
|
+
"keyframes": {
|
|
499
|
+
"zoomIn": {
|
|
500
|
+
"from": { "opacity": "0", "transform": "scale(0.7)" },
|
|
501
|
+
"to": { "opacity": "1", "transform": "scale(1)" }
|
|
502
|
+
},
|
|
503
|
+
"floatY": {
|
|
504
|
+
"0%": { "transform": "translateY(0)" },
|
|
505
|
+
"50%": { "transform": "translateY(-8px)" },
|
|
506
|
+
"100%": { "transform": "translateY(0)" }
|
|
507
|
+
}
|
|
508
|
+
},
|
|
509
|
+
"stage": {
|
|
510
|
+
"animate": { "name": "zoomIn", "duration": 500, "easing": "cubic-bezier(0.34, 1.56, 0.64, 1)" },
|
|
511
|
+
"maskAnimate": { "name": "fadeIn", "duration": 400 }
|
|
512
|
+
},
|
|
513
|
+
"nodes": [
|
|
514
|
+
{ "type": "text", "content": "\u{1F9E7}",
|
|
515
|
+
"animate": { "name": "floatY", "duration": 3000, "easing": "ease-in-out", "iteration": "infinite" } }
|
|
516
|
+
]
|
|
517
|
+
}`
|
|
518
|
+
},
|
|
519
|
+
{ t: "h3", text: "keyframes\uFF1A\u5173\u952E\u5E27\u5E93" },
|
|
520
|
+
{
|
|
521
|
+
t: "list",
|
|
522
|
+
items: [
|
|
523
|
+
"\u540D\u5B57\u53EA\u80FD\u7528\u5B57\u6BCD\u5F00\u5934\u7684\u5B57\u6BCD / \u6570\u5B57 / \u4E0B\u5212\u7EBF / \u4E2D\u5212\u7EBF\uFF0C\u6700\u957F 32 \u4E2A\u5B57\u7B26\uFF08\u5B83\u8981\u62FC\u8FDB CSS\uFF0C\u5FC5\u987B\u53EF\u63A7\uFF09",
|
|
524
|
+
"\u504F\u79FB\u91CF\u53EA\u8BA4 `from` / `to` / `50%` \u4E09\u79CD\u5199\u6CD5\uFF0C\u5199 `0.5` \u6216 `half` \u4F1A\u88AB\u62E6\u4E0B",
|
|
525
|
+
"\u6BCF\u4E00\u5E27\u7684\u503C\u662F**\u6837\u5F0F\u5BF9\u8C61**\uFF0C\u952E\u8D70\u7684\u662F\u7B2C 7 \u8282\u90A3\u4EFD style \u767D\u540D\u5355 \u2014\u2014 \u767D\u540D\u5355\u5916\u7684\u5C5E\u6027\u4F1A\u88AB\u4E22\u5F03\u5E76\u7ED9\u51FA\u8B66\u544A",
|
|
526
|
+
"\u52A8\u753B\u91CC\u5E38\u7528\u7684\u5C31 `transform` `opacity` `shadow` `background` `color` \u51E0\u4E2A\uFF1B\u6539\u5BBD\u9AD8\u4F1A\u9010\u5E27\u89E6\u53D1\u91CD\u6392\uFF0C\u80FD\u7528 `transform` \u5C31\u522B\u7528\u5BBD\u9AD8"
|
|
527
|
+
]
|
|
528
|
+
},
|
|
529
|
+
{
|
|
530
|
+
t: "note",
|
|
531
|
+
tone: "info",
|
|
532
|
+
text: "\u5B9A\u4E49\u4E86\u5374\u6CA1\u6709\u4EFB\u4F55 `animate` \u5F15\u7528\u7684\u5173\u952E\u5E27\uFF0C\u4FDD\u5B58\u65F6\u4F1A\u7ED9\u51FA\u8B66\u544A\u3002\u591A\u534A\u662F\u6539\u914D\u7F6E\u65F6\u628A `animate` \u5220\u4E86\u5FD8\u4E86\u5220\u5173\u952E\u5E27\uFF0C\u6216\u8005\u540D\u5B57\u6253\u9519\u4E86\u4E00\u4E2A\u5B57\u6BCD \u2014\u2014 \u540E\u8005\u7684\u8868\u73B0\u662F\u300C\u4EC0\u4E48\u90FD\u6CA1\u53D1\u751F\u300D\uFF0C\u4E0D\u63D0\u793A\u7684\u8BDD\u5F88\u96BE\u60F3\u5230\u662F\u540D\u5B57\u7684\u95EE\u9898\u3002"
|
|
533
|
+
},
|
|
534
|
+
{ t: "h3", text: "animate\uFF1A\u600E\u4E48\u64AD" },
|
|
535
|
+
{
|
|
536
|
+
t: "table",
|
|
537
|
+
head: ["\u5B57\u6BB5", "\u5FC5\u586B", "\u9ED8\u8BA4", "\u8BF4\u660E"],
|
|
538
|
+
rows: [
|
|
539
|
+
["`name`", "\u662F", "\u2014", "\u5173\u952E\u5E27\u540D\uFF0C\u5FC5\u987B\u5728 `keyframes` \u91CC\u5B9A\u4E49\u8FC7\uFF0C\u5426\u5219\u4FDD\u5B58\u65F6\u62A5\u9519"],
|
|
540
|
+
["`duration`", "\u662F", "\u2014", "\u65F6\u957F\uFF0C\u6BEB\u79D2\u3002\u5FC5\u987B\u5927\u4E8E 0"],
|
|
541
|
+
["`delay`", "\u5426", "`0`", "\u5EF6\u8FDF\uFF0C\u6BEB\u79D2\u3002\u4EA4\u9519\u5165\u573A\u5C31\u9760\u5B83\u4E00\u683C\u4E00\u683C\u9519\u5F00"],
|
|
542
|
+
["`easing`", "\u5426", "`ease`", `\u7F13\u52A8\uFF0C\u767D\u540D\u5355\u89C1\u4E0B`],
|
|
543
|
+
["`iteration`", "\u5426", "`1`", "\u64AD\u653E\u6B21\u6570\uFF0C\u6B63\u6574\u6570\uFF1B`'infinite'` \u65E0\u9650\u5FAA\u73AF"],
|
|
544
|
+
[
|
|
545
|
+
"`direction`",
|
|
546
|
+
"\u5426",
|
|
547
|
+
"`normal`",
|
|
548
|
+
"`normal` / `reverse` / `alternate` / `alternate-reverse`"
|
|
549
|
+
],
|
|
550
|
+
[
|
|
551
|
+
"`fill`",
|
|
552
|
+
"\u5426",
|
|
553
|
+
"`both`",
|
|
554
|
+
"`none` / `forwards` / `backwards` / `both`\u3002\u9ED8\u8BA4\u4FDD\u7559\u7EC8\u6001\uFF0C\u5165\u573A\u52A8\u753B\u4E0D\u8981\u6539\u5B83"
|
|
555
|
+
]
|
|
556
|
+
]
|
|
557
|
+
},
|
|
558
|
+
{
|
|
559
|
+
t: "p",
|
|
560
|
+
text: `\u53EF\u7528\u7684 \`easing\`\uFF1A${ALLOWED_EASINGS.map((item) => "`" + item + "`").join(" ")}\uFF0C
|
|
561
|
+
\u4EE5\u53CA \`cubic-bezier(0.34, 1.56, 0.64, 1)\` \u8FD9\u79CD\u56DB\u53C2\u6570\u5199\u6CD5\uFF08\u8D85\u8C03\u66F2\u7EBF\u624D\u6709\u300C\u5F39\u4E00\u4E0B\u300D\u7684\u624B\u611F\uFF09\u3002
|
|
562
|
+
\u522B\u7684\u5199\u6CD5\u4E00\u5F8B\u5728\u4FDD\u5B58\u65F6\u62A5\u9519\uFF0C\u4E0D\u505A\u300C\u770B\u7740\u50CF\u5C31\u653E\u884C\u300D\u7684\u6A21\u7CCA\u5224\u65AD\u3002`
|
|
563
|
+
},
|
|
564
|
+
{
|
|
565
|
+
t: "note",
|
|
566
|
+
tone: "warn",
|
|
567
|
+
text: "`fill` \u9ED8\u8BA4\u662F `both`\uFF0C\u522B\u6539\u6210 `none`\uFF1A\u5165\u573A\u52A8\u753B\u4E0D\u4FDD\u7559\u7EC8\u6001\u7684\u8BDD\uFF0C\u64AD\u5B8C\u90A3\u4E00\u5E27\u4F1A\u76F4\u63A5\u5F39\u56DE\u521D\u59CB\u503C\uFF08\u900F\u660E\u3001\u7F29\u5C0F\uFF09\uFF0C\u770B\u7740\u50CF\u95EA\u4E86\u4E00\u4E0B\u3002"
|
|
568
|
+
},
|
|
569
|
+
{ t: "h3", text: "\u80FD\u6302\u5728\u54EA" },
|
|
570
|
+
{
|
|
571
|
+
t: "table",
|
|
572
|
+
head: ["\u4F4D\u7F6E", "\u5178\u578B\u7528\u9014"],
|
|
573
|
+
rows: [
|
|
574
|
+
["`stage.animate`", "\u5F39\u7A97\u4E3B\u4F53\u5165\u573A\uFF08\u653E\u5927\u56DE\u5F39\u3001\u4E0A\u6ED1\uFF09"],
|
|
575
|
+
[
|
|
576
|
+
"`stage.maskAnimate`",
|
|
577
|
+
"\u906E\u7F69\u6DE1\u5165\u3002\u548C\u821E\u53F0\u5206\u5F00\u914D\uFF0C\u624D\u80FD\u5404\u8D70\u5404\u7684\u65F6\u957F\uFF1B\u906E\u7F69\u914D\u8272\u53E6\u89C1\u7B2C 3 \u8282\u7684 `maskStyle`\uFF0C\u4E24\u8005\u4E92\u4E0D\u5E72\u6270"
|
|
578
|
+
],
|
|
579
|
+
["\u4EFB\u610F\u8282\u70B9\u7684 `animate`", "\u7EA2\u5305\u547C\u5438\u3001\u6309\u94AE\u8109\u51B2\u3001\u626B\u5149\u3001\u5149\u70B9\u4E0A\u6D6E\u3001\u5217\u8868\u4EA4\u9519\u5165\u573A"],
|
|
580
|
+
[
|
|
581
|
+
"`stage.closeButton.animate`",
|
|
582
|
+
"\u5EF6\u8FDF\u6DE1\u5165\u7684 \u2715\uFF08\u5148\u8BA9\u7528\u6237\u770B\u5185\u5BB9\uFF0C\u518D\u9732\u51FA\u5173\u95ED\u5165\u53E3\uFF09"
|
|
583
|
+
]
|
|
584
|
+
]
|
|
585
|
+
},
|
|
586
|
+
{ t: "h3", text: "\u4EA4\u9519\u5165\u573A\uFF1A\u540C\u4E00\u7EC4\u5173\u952E\u5E27 + \u4E0D\u540C delay" },
|
|
587
|
+
{
|
|
588
|
+
t: "p",
|
|
589
|
+
text: "\u4E00\u6392\u5361\u7247\u4F9D\u6B21\u6D6E\u4E0A\u6765\uFF0C\u4E0D\u9700\u8981\u51E0\u7EC4\u5173\u952E\u5E27\uFF0C\u4E00\u7EC4 `cellIn` \u914D\u4E0D\u540C `delay` \u5C31\u591F\u4E86\u3002\u6CE8\u610F `delay` \u5FC5\u987B\u662F**\u5E38\u91CF\u6570\u5B57**\uFF0C\u4E0D\u652F\u6301 `{{ }}` \u63D2\u503C \u2014\u2014 \u5B83\u8981\u62FC\u8FDB CSS \u7B80\u5199\uFF0C\u63D2\u503C\u8FDB\u53BB\u5C31\u6CA1\u6CD5\u505A\u5B89\u5168\u8FC7\u6EE4\u4E86\u3002\u6240\u4EE5\u6570\u91CF\u56FA\u5B9A\u7684\u4EA4\u9519\u5217\u8868\u8981\u4E00\u683C\u4E00\u683C\u5199\uFF0C\u4E0D\u80FD\u7528 `repeat` \u5FAA\u73AF\u51FA\u6765\u3002"
|
|
590
|
+
},
|
|
591
|
+
{
|
|
592
|
+
t: "code",
|
|
593
|
+
code: `"keyframes": {
|
|
594
|
+
"cellIn": {
|
|
595
|
+
"0%": { "opacity": "0", "transform": "translateY(10px)" },
|
|
596
|
+
"100%": { "opacity": "1", "transform": "translateY(0)" }
|
|
597
|
+
}
|
|
598
|
+
}
|
|
599
|
+
|
|
600
|
+
// \u4E94\u4E2A\u683C\u5B50\uFF0C\u6BCF\u683C\u665A 80ms
|
|
601
|
+
{ "animate": { "name": "cellIn", "duration": 460, "delay": 340, "easing": "ease-out" } }
|
|
602
|
+
{ "animate": { "name": "cellIn", "duration": 460, "delay": 420, "easing": "ease-out" } }
|
|
603
|
+
{ "animate": { "name": "cellIn", "duration": 460, "delay": 500, "easing": "ease-out" } }`
|
|
604
|
+
},
|
|
605
|
+
{ t: "h3", text: "\u65E0\u9650\u5FAA\u73AF\uFF1A\u547C\u5438\u3001\u626B\u5149\u3001\u5149\u70B9" },
|
|
606
|
+
{
|
|
607
|
+
t: "list",
|
|
608
|
+
items: [
|
|
609
|
+
'\u5FAA\u73AF\u52A8\u753B\u4E00\u5F8B `"iteration": "infinite"`\uFF0C\u914D `ease-in-out` \u6700\u81EA\u7136\uFF1B\u626B\u5149\u8FD9\u7C7B\u5300\u901F\u7684\u7528 `linear`',
|
|
610
|
+
"\u5FAA\u73AF\u5E45\u5EA6\u8981\u5C0F\u3002\u6309\u94AE\u8109\u51B2\u653E\u5927 2% \u5C31\u591F\uFF0C\u653E\u5927 10% \u4F1A\u628A\u5468\u56F4\u7684\u6392\u7248\u9876\u52A8\u3001\u4E5F\u6643\u773C",
|
|
611
|
+
'\u88C5\u9970\u6027\u56FE\u5C42\uFF08\u5149\u6655\u3001\u626B\u5149\u6761\u3001\u5149\u70B9\uFF09\u5FC5\u987B\u5199 `"pointerEvents": "none"`\uFF0C\u5426\u5219\u4F1A\u6321\u4F4F\u4E0B\u9762\u7684\u6309\u94AE',
|
|
612
|
+
"\u626B\u5149\u7528 `transform` \u4F4D\u79FB\uFF0C\u4E0D\u8981\u52A8 `left`\uFF1A\u52A8 `left` \u6BCF\u5E27\u90FD\u8981\u91CD\u6392\uFF0C`transform` \u53EA\u8D70\u5408\u6210\u5C42",
|
|
613
|
+
"\u6309\u94AE\u547C\u5438\u4F18\u5148\u52A8 `shadow` \u800C\u4E0D\u662F\u5C3A\u5BF8\uFF1A\u5C3A\u5BF8\u4E00\u53D8\uFF0C\u6574\u5757\u5185\u5BB9\u90FD\u4F1A\u8DDF\u7740\u52A8"
|
|
614
|
+
]
|
|
615
|
+
},
|
|
616
|
+
{
|
|
617
|
+
t: "note",
|
|
618
|
+
tone: "info",
|
|
619
|
+
text: "\u4E00\u4E2A\u8282\u70B9\u53EA\u80FD\u6302\u4E00\u7EC4 `animate`\u3002\u65E2\u8981\u5165\u573A\u53C8\u8981\u5FAA\u73AF\u65F6\uFF0C\u628A\u5B83\u4EEC\u62C6\u5230\u7236\u5B50\u4E24\u5C42\u4E0A\uFF1A\u5916\u5C42\u8D1F\u8D23\u5165\u573A\uFF0C\u5185\u5C42\u8D1F\u8D23\u5FAA\u73AF\u3002"
|
|
620
|
+
},
|
|
621
|
+
{ t: "h3", text: "hoverStyle\uFF1A\u9F20\u6807\u60AC\u505C" },
|
|
622
|
+
{
|
|
623
|
+
t: "p",
|
|
624
|
+
text: "`hoverStyle` \u548C `style` \u7528\u7684\u662F**\u540C\u4E00\u5957**\u5C5E\u6027\u767D\u540D\u5355\uFF0C\u5199\u6CD5\u4E5F\u4E00\u6837\uFF0C\u533A\u522B\u53EA\u5728\u4E8E\u5B83\u53EA\u5728\u9F20\u6807\u60AC\u505C\u65F6\u751F\u6548\u3002\u8282\u70B9\u548C `stage.closeButton` \u4E0A\u90FD\u80FD\u5199\u3002"
|
|
625
|
+
},
|
|
626
|
+
{
|
|
627
|
+
t: "code",
|
|
628
|
+
code: `{
|
|
629
|
+
"type": "text", "content": "\u2715",
|
|
630
|
+
"style": { "background": "rgba(0,0,0,0.08)", "transition": "background 0.2s" },
|
|
631
|
+
"hoverStyle": { "background": "rgba(0,0,0,0.2)" }
|
|
632
|
+
}`
|
|
633
|
+
},
|
|
634
|
+
{
|
|
635
|
+
t: "list",
|
|
636
|
+
items: [
|
|
637
|
+
"\u60F3\u8981\u5E73\u6ED1\u8FC7\u6E21\u5C31\u5728 `style` \u91CC\u5199 `transition`\uFF0C`hoverStyle` \u53EA\u8D1F\u8D23\u7EC8\u6001",
|
|
638
|
+
"\u89E6\u5C4F\u6CA1\u6709 hover\uFF0C\u6240\u4EE5 `hoverStyle` \u53EA\u80FD\u505A\u9526\u4E0A\u6DFB\u82B1\u7684\u6548\u679C\uFF0C**\u4E0D\u80FD\u627F\u8F7D\u4FE1\u606F**\uFF08\u522B\u628A\u4EF7\u683C\u85CF\u5728 hover \u91CC\uFF09",
|
|
639
|
+
"`hoverStyle` \u4F1A\u751F\u6210\u4E00\u6761 CSS \u89C4\u5219\u800C\u4E0D\u662F\u884C\u5185\u6837\u5F0F \u2014\u2014 \u884C\u5185\u6837\u5F0F\u6CA1\u6709 `:hover` \u8FD9\u56DE\u4E8B",
|
|
640
|
+
"`hoverStyle` \u91CC\u7684 `{{ }}` \u53EA\u5728\u9996\u5C4F\u6C42\u503C\u4E00\u6B21\uFF0C\u4E4B\u540E\u4E0D\u968F state \u53D8\u5316\u3002\u8981\u8DDF\u7740\u72B6\u6001\u53D8\u7684\u6837\u5F0F\u5199\u5728 `style` \u91CC \u2014\u2014 hover \u89C4\u5219\u82E5\u968F\u72B6\u6001\u53D8\uFF0C\u6574\u5F20\u6837\u5F0F\u8868\u5C31\u5F97\u53CD\u590D\u91CD\u5199\uFF0C\u9875\u9762\u4E0A\u6B63\u5728\u8DD1\u7684\u52A8\u753B\u4F1A\u5168\u90E8\u91CD\u5934\u64AD\u4E00\u904D"
|
|
641
|
+
]
|
|
642
|
+
},
|
|
643
|
+
{ t: "h3", text: "\u60AC\u505C\u65F6\u6682\u505C\u5FAA\u73AF\u52A8\u753B" },
|
|
644
|
+
{
|
|
645
|
+
t: "p",
|
|
646
|
+
text: '\u6309\u94AE\u4E00\u76F4\u5728\u547C\u5438\uFF0C\u9F20\u6807\u79FB\u4E0A\u53BB\u65F6\u505C\u4F4F\u3001\u770B\u6E05\u695A\u518D\u70B9\uFF0C\u662F\u5E38\u89C1\u505A\u6CD5\u3002\u5199 `animationPlayState: "paused"` \u5373\u53EF \u2014\u2014 \u5B83\u4E0D\u91CD\u64AD\u3001\u4E0D\u8DF3\u5E27\uFF0C\u5C31\u505C\u5728\u5F53\u524D\u90A3\u4E00\u5E27\uFF0C\u79FB\u5F00\u7EE7\u7EED\u3002\u53EA\u5728 `hoverStyle` \u91CC\u5199\u624D\u6709\u610F\u4E49\uFF08\u5199\u8FDB `style` \u7B49\u4E8E\u4E00\u4E0A\u6765\u5C31\u662F\u6682\u505C\u7684\uFF09\u3002'
|
|
647
|
+
},
|
|
648
|
+
{
|
|
649
|
+
t: "code",
|
|
650
|
+
code: `{
|
|
651
|
+
"type": "button", "text": "\u7ACB\u5373\u9886\u53D6",
|
|
652
|
+
"style": { "transition": "transform 0.18s" },
|
|
653
|
+
"animate": { "name": "breath", "duration": 2400, "easing": "ease-in-out", "iteration": "infinite" },
|
|
654
|
+
"hoverStyle": { "transform": "translateY(-2px)", "animationPlayState": "paused" }
|
|
655
|
+
}`
|
|
656
|
+
},
|
|
657
|
+
{ t: "h3", text: "\u7CFB\u7EDF\u5F00\u4E86\u300C\u51CF\u5C11\u52A8\u6001\u6548\u679C\u300D\u4F1A\u81EA\u52A8\u9759\u6B62" },
|
|
658
|
+
{
|
|
659
|
+
t: "p",
|
|
660
|
+
text: "\u89E3\u91CA\u5668\u5728\u751F\u6210\u7684 CSS \u672B\u5C3E\u6052\u5B9A\u8FFD\u52A0\u4E00\u6761 `@media (prefers-reduced-motion: reduce)`\uFF0C\u628A\u8FD9\u4EFD\u7269\u6599\u91CC\u7684 `animation` \u4E0E `transition` \u5168\u90E8\u5173\u6389\u3002\u8FD9\u662F\u65E0\u969C\u788D\u8981\u6C42\uFF0C\u4E5F\u786E\u5B9E\u6709\u4EBA\u4E00\u770B\u52A8\u753B\u5C31\u6655\u3002**\u4E0D\u9700\u8981\u5728\u914D\u7F6E\u91CC\u505A\u4EFB\u4F55\u4E8B**\uFF0C\u4E5F\u6CA1\u6709\u5F00\u5173\u53EF\u4EE5\u7ED5\u8FC7\u5B83 \u2014\u2014 \u6240\u4EE5\u52A8\u753B\u53EA\u80FD\u662F\u9526\u4E0A\u6DFB\u82B1\uFF1A\u9759\u6B62\u72B6\u6001\u4E0B\u8FD9\u4EFD\u7269\u6599\u4E5F\u5FC5\u987B\u5B8C\u6574\u53EF\u8BFB\u3001\u53EF\u70B9\u3002"
|
|
661
|
+
},
|
|
662
|
+
{ t: "h3", text: "\u4E3A\u4EC0\u4E48\u4E0D\u80FD\u76F4\u63A5\u5199 CSS" },
|
|
663
|
+
{
|
|
664
|
+
t: "p",
|
|
665
|
+
text: "\u5E38\u6709\u4EBA\u95EE\uFF1A\u65E2\u7136\u90FD\u80FD\u5199 `transform` \u4E86\uFF0C\u4E3A\u4EC0\u4E48\u4E0D\u5E72\u8106\u653E\u5F00 `position`\u3001\u653E\u5F00\u4E00\u4E2A `css` \u5B57\u6BB5\u968F\u4FBF\u5199\uFF1F\u56E0\u4E3A\u8FD9\u4EFD\u914D\u7F6E\u662F**\u4ECE\u540E\u53F0\u4E0B\u53D1\u3001\u8DD1\u5728\u7528\u6237\u9875\u9762\u4E0A\u7684**\uFF0C\u5B83\u548C\u9875\u9762\u5171\u4EAB\u540C\u4E00\u4E2A DOM\u3002"
|
|
666
|
+
},
|
|
667
|
+
{
|
|
668
|
+
t: "list",
|
|
669
|
+
items: [
|
|
670
|
+
"`position: fixed` + \u94FA\u6EE1\u89C6\u53E3 = \u4E00\u4EFD\u7269\u6599\u53EF\u4EE5\u76D6\u4F4F\u6574\u4E2A\u9875\u9762\uFF0C\u5305\u62EC\u6536\u94F6\u53F0\u548C\u5BFC\u822A \u2014\u2014 \u8FD9\u662F\u9493\u9C7C\u7684\u6807\u51C6\u505A\u6CD5\u3002\u5F39\u7A97\u8981\u94FA\u6EE1\u89C6\u53E3\u7531\u89E3\u91CA\u5668\u81EA\u5DF1\u5B8C\u6210\uFF0C\u4E0D\u7ECF\u8FC7\u914D\u7F6E",
|
|
671
|
+
"`z-index` \u53EA\u5141\u8BB8 0~10\uFF1A\u5C42\u5185\u6392\u5E03\u5341\u5C42\u7EF0\u7EF0\u6709\u4F59\uFF0C\u771F\u8981\u538B\u8FC7\u9875\u9762\u5176\u5B83\u5185\u5BB9\u7684\u662F\u5F39\u7A97\u5C42\uFF0C\u90A3\u7531\u89E3\u91CA\u5668\u7ED9",
|
|
672
|
+
"\u81EA\u7531 CSS \u610F\u5473\u7740\u53EF\u4EE5\u5199\u4EFB\u610F\u9009\u62E9\u5668\u53BB\u6539**\u5BBF\u4E3B\u9875\u9762**\u7684\u6837\u5F0F\uFF0C\u8D8A\u6743\u8303\u56F4\u6CA1\u6709\u8FB9\u754C",
|
|
673
|
+
"\u767D\u540D\u5355\u8FD8\u6709\u4E00\u4E2A\u597D\u5904\uFF1A\u5C5E\u6027\u6709\u9650\uFF0C\u7F16\u8F91\u5668\u624D\u80FD\u505A\u51FA\u53EF\u89C6\u5316\u9762\u677F\uFF1B\u81EA\u7531 CSS \u53EA\u80FD\u7ED9\u4E00\u4E2A\u6587\u672C\u6846"
|
|
674
|
+
]
|
|
675
|
+
},
|
|
676
|
+
{ t: "h3", text: "\u5B89\u5168\u8FC7\u6EE4\uFF1A\u4EC0\u4E48\u4F1A\u88AB\u6084\u6084\u4E22\u6389" },
|
|
677
|
+
{
|
|
678
|
+
t: "p",
|
|
679
|
+
text: "`keyframes` \u4E0E `hoverStyle` \u662F\u552F\u4E8C\u4F1A\u88AB**\u62FC\u6210 CSS \u6587\u672C**\u7684\u5730\u65B9\uFF08\u884C\u5185\u6837\u5F0F\u90A3\u6761\u8DEF\u5F84\u7531\u6846\u67B6\u8F6C\u4E49\uFF0C\u503C\u518D\u602A\u4E5F\u53EA\u662F\u4E0D\u751F\u6548\uFF09\u3002\u6240\u4EE5\u8FD9\u4E24\u5904\u7684\u6BCF\u4E2A\u503C\u90FD\u8981\u8FC7\u4E00\u904D\u8FC7\u6EE4\uFF0C\u4E0D\u5408\u683C\u7684**\u6574\u6761\u58F0\u660E\u4E22\u5F03**\uFF1A"
|
|
680
|
+
},
|
|
681
|
+
{
|
|
682
|
+
t: "list",
|
|
683
|
+
items: [
|
|
684
|
+
"\u503C\u91CC\u51FA\u73B0 `{` `}` `<` `>` `;` `@`\u3001\u6CE8\u91CA\u7B26 `/*` `*/` \u6216\u53CD\u659C\u6760 `\\` \u2014\u2014 \u8FD9\u4E9B\u5B57\u7B26\u80FD\u63D0\u524D\u95ED\u5408\u89C4\u5219\u3001\u63A5\u7740\u5199\u4EFB\u610F\u9009\u62E9\u5668",
|
|
685
|
+
"\u767D\u540D\u5355\u5916\u7684\u6837\u5F0F\u5C5E\u6027\uFF08\u540C `style`\uFF09",
|
|
686
|
+
"\u5173\u952E\u5E27\u540D / \u7F13\u52A8\u503C\u683C\u5F0F\u4E0D\u5408\u89C4\uFF08\u8FD9\u4E24\u9879\u5728\u4FDD\u5B58\u65F6\u5C31\u4F1A\u62A5\u9519\uFF0C\u4E0D\u4F1A\u8D70\u5230\u8FD0\u884C\u65F6\uFF09"
|
|
687
|
+
]
|
|
688
|
+
},
|
|
689
|
+
{
|
|
690
|
+
t: "note",
|
|
691
|
+
tone: "warn",
|
|
692
|
+
text: "\u88AB\u4E22\u5F03\u7684\u662F**\u90A3\u4E00\u6761\u58F0\u660E**\uFF0C\u4E0D\u662F\u628A\u8FDD\u89C4\u5B57\u7B26\u5220\u6389\u540E\u7167\u5199 \u2014\u2014 \u534A\u622A\u503C\u540C\u6837\u53EF\u80FD\u62FC\u51FA\u610F\u6599\u5916\u7684\u6548\u679C\u3002\u6B63\u5E38\u5199\u989C\u8272\u3001`transform`\u3001\u9634\u5F71\u90FD\u78B0\u4E0D\u5230\u8FD9\u4E9B\u5B57\u7B26\uFF0C\u771F\u78B0\u5230\u4E86\u57FA\u672C\u5C31\u662F\u590D\u5236\u7C98\u8D34\u5E26\u8FDB\u4E86\u591A\u4F59\u5185\u5BB9\u3002"
|
|
693
|
+
},
|
|
694
|
+
{ t: "h3", text: "\u5B8C\u6574\u4F8B\u5B50" },
|
|
695
|
+
{
|
|
696
|
+
t: "p",
|
|
697
|
+
text: "\u793A\u4F8B \u246A\u246B \u662F\u642C\u5BB6\u6210\u529F\u9875\u4E24\u4E2A\u7EBF\u4E0A\u5F39\u7A97\u7684\u4E00\u6BD4\u4E00\u590D\u523B\uFF1A\u246A \u6F14\u793A\u5165\u573A + \u547C\u5438 + \u76F8\u5BF9\u65F6\u957F\u5012\u8BA1\u65F6\uFF0C\u246B \u662F\u52A8\u753B\u6700\u5BC6\u7684\u4E00\u4EFD\uFF08\u5341\u4E00\u7EC4\u5173\u952E\u5E27\uFF1A\u5149\u6655\u547C\u5438\u3001\u5149\u70B9\u4E0A\u6D6E\u3001\u626B\u5149\u3001\u4EA4\u9519\u5165\u573A\u3001\u89D2\u6807\u8F7B\u6D6E\u3001CTA \u547C\u5438\uFF09\uFF0C\u4E24\u4EFD\u90FD\u5E26\u4E8C\u6B21\u633D\u7559\u5F39\u7A97\u3002\u8981\u505A\u52A8\u753B\u5F39\u7A97\uFF0C\u6539\u8FD9\u4E24\u4EFD\u6BD4\u4ECE\u96F6\u5199\u5FEB\u5F97\u591A\u3002"
|
|
698
|
+
}
|
|
699
|
+
]
|
|
700
|
+
}
|
|
701
|
+
];
|
|
702
|
+
var animation_default = sections2;
|
|
703
|
+
|
|
704
|
+
// src/docs/sections/countdown.ts
|
|
705
|
+
var sections3 = [
|
|
450
706
|
{
|
|
451
707
|
id: "countdown",
|
|
452
708
|
title: "10. \u5012\u8BA1\u65F6",
|
|
@@ -520,6 +776,22 @@ var sections2 = [
|
|
|
520
776
|
"style": { "color": "#999" } }
|
|
521
777
|
]`
|
|
522
778
|
},
|
|
779
|
+
{ t: "h3", text: "duration\uFF1A\u6BCF\u6B21\u6253\u5F00\u91CD\u65B0\u5012\u8BA1\u65F6" },
|
|
780
|
+
{
|
|
781
|
+
t: "p",
|
|
782
|
+
text: '`to` \u662F**\u7EDD\u5BF9**\u7ED3\u675F\u65F6\u95F4\uFF08\u6D3B\u52A8\u51E0\u53F7\u51E0\u70B9\u622A\u6B62\uFF09\uFF0C`duration` \u662F**\u76F8\u5BF9**\u65F6\u957F\uFF08\u6BEB\u79D2\uFF09\uFF0C\u4ECE\u8FD9\u4E00\u5C4F\u771F\u6B63\u5C55\u793A\u7684\u90A3\u4E00\u523B\u8D77\u7B97\u3002\u300C\u6253\u5F00\u5F39\u7A97\u540E 5 \u5206\u949F\u5185\u4E0B\u5355\u300D\u8FD9\u79CD\u8425\u9500\u8BDD\u672F\u7528\u540E\u8005\uFF0C\u5199 `"duration": 300000` \u5373\u53EF\uFF0C\u4E0D\u7528\u53BB\u7B97\u7ED3\u675F\u65F6\u95F4\u3002\u4E24\u4E2A\u81F3\u5C11\u8981\u6709\u4E00\u4E2A\uFF0C\u540C\u65F6\u5199\u4EE5 `to` \u4E3A\u51C6\uFF08\u5E76\u7ED9\u51FA\u8B66\u544A\uFF09\u3002'
|
|
783
|
+
},
|
|
784
|
+
{
|
|
785
|
+
t: "code",
|
|
786
|
+
code: `{ "type": "countdown", "duration": 300000, "precision": "cs",
|
|
787
|
+
"onEnd": { "type": "closeAll", "reason": "countdown-end" },
|
|
788
|
+
"children": [ /* \u540C\u4E0A */ ] }`
|
|
789
|
+
},
|
|
790
|
+
{
|
|
791
|
+
t: "note",
|
|
792
|
+
tone: "info",
|
|
793
|
+
text: "\u8D77\u7B97\u65F6\u523B\u9489\u5728\u8FD0\u884C\u65F6\u91CC\uFF1A\u5207 tab\u3001\u6539 state \u5BFC\u81F4\u6574\u68F5\u6E32\u67D3\u6811\u91CD\u7B97\uFF0C\u5269\u4F59\u65F6\u95F4**\u4E0D\u4F1A**\u88AB\u5237\u56DE\u53BB\u3002\u4F46\u5173\u6389\u518D\u6253\u5F00\u5C31\u662F\u65B0\u7684\u4E00\u8F6E \u2014\u2014 \u8FD9\u6B63\u662F\u300C\u6BCF\u6B21\u6253\u5F00\u91CD\u65B0\u5012 5 \u5206\u949F\u300D\u60F3\u8981\u7684\u6548\u679C\u3002"
|
|
794
|
+
},
|
|
523
795
|
{ t: "h3", text: "to\uFF1A\u7ED3\u675F\u65F6\u95F4\u600E\u4E48\u5199" },
|
|
524
796
|
{ t: "p", text: "**\u4E0D\u9700\u8981\u65F6\u95F4\u6233**\uFF0C\u76F4\u63A5\u5199\u65E5\u671F\u5C31\u884C\u3002\u4E0B\u9762\u8FD9\u4E9B\u5199\u6CD5\u90FD\u80FD\u8BC6\u522B\uFF1A" },
|
|
525
797
|
{
|
|
@@ -551,14 +823,14 @@ var sections2 = [
|
|
|
551
823
|
]
|
|
552
824
|
}
|
|
553
825
|
];
|
|
554
|
-
var countdown_default =
|
|
826
|
+
var countdown_default = sections3;
|
|
555
827
|
|
|
556
828
|
// src/docs/sections/data-state.ts
|
|
557
829
|
var userFieldRows = DEFAULT_USER_FIELDS.map((field) => [
|
|
558
830
|
`\`user.${field}\``,
|
|
559
831
|
USER_FIELD_LABELS[field] || ""
|
|
560
832
|
]);
|
|
561
|
-
var
|
|
833
|
+
var sections4 = [
|
|
562
834
|
{
|
|
563
835
|
id: "data",
|
|
564
836
|
title: "8. \u6570\u636E\u4E0E\u72B6\u6001",
|
|
@@ -726,10 +998,10 @@ var sections3 = [
|
|
|
726
998
|
]
|
|
727
999
|
}
|
|
728
1000
|
];
|
|
729
|
-
var data_state_default =
|
|
1001
|
+
var data_state_default = sections4;
|
|
730
1002
|
|
|
731
1003
|
// src/docs/sections/guide-basics.ts
|
|
732
|
-
var
|
|
1004
|
+
var sections5 = [
|
|
733
1005
|
{
|
|
734
1006
|
id: "ai",
|
|
735
1007
|
title: "0. \u4E0D\u4F1A\u5199 JSON\uFF1F\u7528 AI \u751F\u6210",
|
|
@@ -842,10 +1114,10 @@ var sections4 = [
|
|
|
842
1114
|
]
|
|
843
1115
|
}
|
|
844
1116
|
];
|
|
845
|
-
var guide_basics_default =
|
|
1117
|
+
var guide_basics_default = sections5;
|
|
846
1118
|
|
|
847
1119
|
// src/docs/sections/guide-layout.ts
|
|
848
|
-
var
|
|
1120
|
+
var sections6 = [
|
|
849
1121
|
{
|
|
850
1122
|
id: "layout",
|
|
851
1123
|
title: "4. \u5E03\u5C40\u6A21\u578B\uFF08\u6700\u91CD\u8981\uFF09",
|
|
@@ -988,10 +1260,10 @@ var sections5 = [
|
|
|
988
1260
|
]
|
|
989
1261
|
}
|
|
990
1262
|
];
|
|
991
|
-
var guide_layout_default =
|
|
1263
|
+
var guide_layout_default = sections6;
|
|
992
1264
|
|
|
993
1265
|
// src/docs/sections/guide-stage.ts
|
|
994
|
-
var
|
|
1266
|
+
var sections7 = [
|
|
995
1267
|
{
|
|
996
1268
|
id: "stage",
|
|
997
1269
|
title: "3. stage \u821E\u53F0",
|
|
@@ -1004,6 +1276,8 @@ var sections6 = [
|
|
|
1004
1276
|
"layout": "flow", // absolute\uFF08\u9ED8\u8BA4\uFF09| flow
|
|
1005
1277
|
"mask": true, // \u662F\u5426\u6709\u534A\u900F\u660E\u906E\u7F69\uFF0C\u4EC5 popup \u6709\u6548
|
|
1006
1278
|
"maskClosable": false, // \u70B9\u906E\u7F69\u80FD\u5426\u5173\u95ED
|
|
1279
|
+
"maskStyle": { "background": "rgba(0,0,0,0.65)" }, // \u906E\u7F69\u914D\u8272\uFF08\u53EF\u9009\uFF09
|
|
1280
|
+
"maskAction": { "type": "open", "view": "confirm" }, // \u70B9\u906E\u7F69\u505A\u4EC0\u4E48\uFF08\u53EF\u9009\uFF09
|
|
1007
1281
|
"closeButton": {
|
|
1008
1282
|
"show": true,
|
|
1009
1283
|
"position": "top-right", // top-right | top-left | bottom-center
|
|
@@ -1020,7 +1294,17 @@ var sections6 = [
|
|
|
1020
1294
|
["height", "400", '\u6570\u5B57\u6309 px\uFF1B\u5199 `auto` \u65F6\u5FC5\u987B\u540C\u65F6\u8BBE `layout: "flow"`'],
|
|
1021
1295
|
["layout", "absolute", "\u5B50\u8282\u70B9\u6392\u5E03\u65B9\u5F0F\uFF0C\u89C1\u7B2C 4 \u8282\u3002\u9009\u9519\u662F\u6700\u5E38\u89C1\u7684\u9519\u8BEF"],
|
|
1022
1296
|
["mask", "true", "\u4EC5 popup \u751F\u6548"],
|
|
1023
|
-
["maskClosable", "false", "\u70B9\u906E\u7F69\u5173\
|
|
1297
|
+
["maskClosable", "false", "\u70B9\u906E\u7F69\u80FD\u4E0D\u80FD\u70B9\uFF08\u80FD\u4E0D\u80FD\u5173\uFF09"],
|
|
1298
|
+
[
|
|
1299
|
+
"maskStyle",
|
|
1300
|
+
"`rgba(0,0,0,0.55)`",
|
|
1301
|
+
"\u906E\u7F69\u81EA\u8EAB\u6837\u5F0F\uFF0C\u8D70 style \u767D\u540D\u5355\u3002\u5E38\u7528 `background` \u8C03\u6DF1\u6D45\u3001`backdropFilter` \u52A0\u6BDB\u73BB\u7483"
|
|
1302
|
+
],
|
|
1303
|
+
[
|
|
1304
|
+
"maskAction",
|
|
1305
|
+
"\u65E0\uFF08\u5173\u6389\u8FD9\u4E00\u5C42\uFF09",
|
|
1306
|
+
"\u70B9\u906E\u7F69\u6267\u884C\u7684\u52A8\u4F5C\u3002\u914D\u4E86\u5C31**\u4E0D\u5173\u5C42**\uFF0C\u53EA\u6267\u884C\u52A8\u4F5C"
|
|
1307
|
+
],
|
|
1024
1308
|
["closeButton", "\u65E0", "\u4E0D\u5199\u5C31\u6CA1\u6709\u5173\u95ED\u6309\u94AE"],
|
|
1025
1309
|
["style", "\u65E0", "\u821E\u53F0\u81EA\u8EAB\u6837\u5F0F\uFF0C\u5E38\u7528 `radius` / `maxWidth` / `background`"]
|
|
1026
1310
|
]
|
|
@@ -1030,6 +1314,32 @@ var sections6 = [
|
|
|
1030
1314
|
tone: "info",
|
|
1031
1315
|
text: "\u5F39\u7A97\u6BD4\u5C4F\u5E55\u9AD8\u65F6\u4F1A\u81EA\u52A8\u51FA\u73B0\u6EDA\u52A8\uFF0C\u4E0D\u4F1A\u88AB\u88C1\u6389\u3002\u6240\u4EE5\u505A\u957F\u5F39\u7A97\u4E0D\u7528\u62C5\u5FC3\u5C0F\u5C4F\u770B\u4E0D\u5168\uFF0C\u4F46\u4ECD\u5EFA\u8BAE\u63A7\u5236\u5728 700px \u4EE5\u5185\u3002"
|
|
1032
1316
|
},
|
|
1317
|
+
{ t: "h3", text: "\u906E\u7F69\uFF1A\u6539\u914D\u8272\u3001\u6539\u70B9\u51FB\u884C\u4E3A" },
|
|
1318
|
+
{
|
|
1319
|
+
t: "p",
|
|
1320
|
+
text: "\u906E\u7F69\u9ED8\u8BA4\u662F `rgba(0, 0, 0, 0.55)` \u7684\u7EAF\u8272\u3002`maskStyle` \u8986\u76D6\u5B83\uFF0C\u8D70\u7684\u662F\u7B2C 7 \u8282\u90A3\u4EFD style \u767D\u540D\u5355\uFF0C\u5199\u522B\u7684\u5C5E\u6027\u4F1A\u88AB\u5FFD\u7565\uFF08\u4FDD\u5B58\u65F6\u7ED9\u8B66\u544A\uFF09\u3002\u94FA\u6EE1\u3001\u5C42\u7EA7\u8FD9\u4E9B\u5730\u57FA\u7531\u89E3\u91CA\u5668\u7ED9\uFF0C\u914D\u7F6E\u76D6\u4E0D\u6389\u3002"
|
|
1321
|
+
},
|
|
1322
|
+
{
|
|
1323
|
+
t: "code",
|
|
1324
|
+
code: `"stage": {
|
|
1325
|
+
"mask": true,
|
|
1326
|
+
"maskClosable": true,
|
|
1327
|
+
// \u66F4\u91CD\u7684\u906E\u7F69 + \u6BDB\u73BB\u7483\uFF08\u80CC\u540E\u9875\u9762\u7CCA\u6389\uFF0C\u5F39\u7A97\u66F4\u805A\u7126\uFF09
|
|
1328
|
+
"maskStyle": { "background": "rgba(0,0,0,0.65)", "backdropFilter": "blur(4px)" },
|
|
1329
|
+
// \u70B9\u906E\u7F69\u4E0D\u76F4\u63A5\u5173\uFF0C\u5148\u5F39\u4E8C\u6B21\u633D\u7559
|
|
1330
|
+
"maskAction": { "type": "open", "view": "confirm", "mode": "stack" }
|
|
1331
|
+
}`
|
|
1332
|
+
},
|
|
1333
|
+
{
|
|
1334
|
+
t: "note",
|
|
1335
|
+
tone: "warn",
|
|
1336
|
+
text: "`maskClosable` \u548C `maskAction` \u5404\u7BA1\u4E00\u4EF6\u4E8B\uFF1A\u524D\u8005\u51B3\u5B9A**\u906E\u7F69\u54CD\u4E0D\u54CD\u5E94\u70B9\u51FB**\uFF0C\u540E\u8005\u51B3\u5B9A**\u70B9\u4E86\u4E4B\u540E\u505A\u4EC0\u4E48**\u3002\u6240\u4EE5 `maskClosable: false` \u65F6\u906E\u7F69\u4ECD\u7136\u70B9\u4E0D\u52A8\uFF0C\u5149\u914D `maskAction` \u6CA1\u6709\u7528\uFF08\u4FDD\u5B58\u65F6\u4F1A\u63D0\u9192\uFF09\u3002\u60F3\u300C\u70B9\u906E\u7F69\u5F39\u633D\u7559\u300D\u5C31\u4E24\u4E2A\u4E00\u8D77\u5199\u3002"
|
|
1337
|
+
},
|
|
1338
|
+
{
|
|
1339
|
+
t: "note",
|
|
1340
|
+
tone: "info",
|
|
1341
|
+
text: "`maskStyle` \u548C `maskAnimate`\uFF08\u7B2C 15 \u8282\uFF09\u4E92\u4E0D\u5E72\u6270\uFF1A\u52A8\u753B\u7684 `animation` \u6C38\u8FDC\u6392\u5728\u6700\u540E\uFF0C\u6539\u914D\u8272\u4E0D\u4F1A\u628A\u6DE1\u5165\u5F04\u4E22\u3002"
|
|
1342
|
+
},
|
|
1033
1343
|
{ t: "h3", text: "closeButton \u5173\u95ED\u6309\u94AE" },
|
|
1034
1344
|
{
|
|
1035
1345
|
t: "code",
|
|
@@ -1042,7 +1352,9 @@ var sections6 = [
|
|
|
1042
1352
|
// icon / image \u90FD\u4E0D\u5199\u65F6\uFF0C\u753B\u7684\u662F\u5185\u7F6E\u7684\u77E2\u91CF \xD7 \u56FE\u6807\uFF08\u63A8\u8350\uFF0C\u4E0D\u7528\u914D\uFF09
|
|
1043
1353
|
"icon": "\u2715", // \u53EF\u9009\uFF1A\u6539\u6210\u6587\u672C\u5B57\u7B26 / emoji
|
|
1044
1354
|
"image": "https://...", // \u53EF\u9009\uFF1A\u6539\u6210\u56FE\u7247\uFF0C\u5199\u4E86\u5C31\u76D6\u8FC7 icon
|
|
1045
|
-
"style": { "background": "rgba(0,0,0,0.35)", "color": "#fff", "fontSize": 18 }
|
|
1355
|
+
"style": { "background": "rgba(0,0,0,0.35)", "color": "#fff", "fontSize": 18 },
|
|
1356
|
+
// \u53EF\u9009\uFF1A\u70B9\u5B83\u505A\u4EC0\u4E48\u3002\u4E0D\u5199 = \u5173\u6389\u8FD9\u4E00\u5C42\uFF1B\u5199\u4E86 = \u53EA\u6267\u884C\u8FD9\u4E2A\u52A8\u4F5C\uFF0C\u4E0D\u5173\u5C42
|
|
1357
|
+
"action": { "type": "open", "view": "confirm", "mode": "stack" }
|
|
1046
1358
|
}`
|
|
1047
1359
|
},
|
|
1048
1360
|
{
|
|
@@ -1059,9 +1371,19 @@ var sections6 = [
|
|
|
1059
1371
|
"**\u53EF\u9009\u8986\u76D6\u9879**\u3002\u5199\u4E86\u5C31\u7528\u8FD9\u4E2A\u6587\u672C\u5B57\u7B26 / emoji \u4EE3\u66FF\u5185\u7F6E\u56FE\u6807"
|
|
1060
1372
|
],
|
|
1061
1373
|
["image", "\u65E0", "\u56FE\u7247\u56FE\u6807\uFF0C\u4F1A\u94FA\u6EE1\u6309\u94AE\uFF08`object-fit: contain`\uFF09"],
|
|
1062
|
-
["style", "\u65E0", "\u8D70 style \u767D\u540D\u5355\uFF0C\u53EF\u6539\u80CC\u666F\u3001\u989C\u8272\u3001\u5706\u89D2\u3001\u8FB9\u6846\u3001\u9634\u5F71\u7B49"]
|
|
1374
|
+
["style", "\u65E0", "\u8D70 style \u767D\u540D\u5355\uFF0C\u53EF\u6539\u80CC\u666F\u3001\u989C\u8272\u3001\u5706\u89D2\u3001\u8FB9\u6846\u3001\u9634\u5F71\u7B49"],
|
|
1375
|
+
[
|
|
1376
|
+
"action",
|
|
1377
|
+
"\u65E0\uFF08\u5173\u6389\u8FD9\u4E00\u5C42\uFF09",
|
|
1378
|
+
"\u70B9\u5B83\u6267\u884C\u7684\u52A8\u4F5C\u3002\u914D\u4E86\u5C31**\u4E0D\u5173\u5C42**\uFF0C\u300C\u70B9 \u2715 \u5148\u5F39\u4E8C\u6B21\u633D\u7559\u300D\u9760\u5B83"
|
|
1379
|
+
]
|
|
1063
1380
|
]
|
|
1064
1381
|
},
|
|
1382
|
+
{
|
|
1383
|
+
t: "note",
|
|
1384
|
+
tone: "warn",
|
|
1385
|
+
text: '\u914D\u4E86 `action` \u4E4B\u540E\u8FD9\u4E2A \u2715 **\u4E0D\u4F1A\u518D\u81EA\u52A8\u5173\u95ED\u5F39\u7A97**\u2014\u2014\u60F3\u5728\u52A8\u4F5C\u91CC\u987A\u5E26\u5173\u6389\uFF0C\u81EA\u5DF1\u5199\u8FDB\u53BB\uFF08`{ "type": "sequence", "actions": [ {"type":"track", \u2026}, {"type":"close", "reason":"user-dismiss"} ] }`\uFF09\u3002\u5FD8\u4E86\u5199\u7684\u8868\u73B0\u662F\u300C\u70B9 \u2715 \u6CA1\u53CD\u5E94\u300D\u3002'
|
|
1386
|
+
},
|
|
1065
1387
|
{ t: "h3", text: "\u56FE\u6807\u753B\u4EC0\u4E48\uFF1A\u4E09\u9009\u4E00\uFF0C\u4F18\u5148\u7EA7\u56FA\u5B9A" },
|
|
1066
1388
|
{
|
|
1067
1389
|
t: "table",
|
|
@@ -1152,7 +1474,7 @@ var sections6 = [
|
|
|
1152
1474
|
]
|
|
1153
1475
|
}
|
|
1154
1476
|
];
|
|
1155
|
-
var guide_stage_default =
|
|
1477
|
+
var guide_stage_default = sections7;
|
|
1156
1478
|
|
|
1157
1479
|
// src/docs/sections/nodes.ts
|
|
1158
1480
|
var containerRows = [
|
|
@@ -1182,7 +1504,7 @@ var contentRows = [
|
|
|
1182
1504
|
var styleRows = [
|
|
1183
1505
|
[
|
|
1184
1506
|
"\u6587\u5B57",
|
|
1185
|
-
"`color` `fontSize` `fontWeight` `fontFamily` `lineHeight` `letterSpacing` `textAlign` `textDecoration` `whiteSpace` `fontVariantNumeric`"
|
|
1507
|
+
"`color` `fontSize` `fontWeight` `fontFamily` `fontStyle` `lineHeight` `letterSpacing` `textAlign` `textDecoration` `whiteSpace` `fontVariantNumeric` `textShadow`"
|
|
1186
1508
|
],
|
|
1187
1509
|
[
|
|
1188
1510
|
"\u80CC\u666F",
|
|
@@ -1196,11 +1518,15 @@ var styleRows = [
|
|
|
1196
1518
|
["flex \u5BB9\u5668", "`direction` `gap` `wrap` `align` `justify`"],
|
|
1197
1519
|
[
|
|
1198
1520
|
"flex \u5B50\u9879 / \u5C3A\u5BF8",
|
|
1199
|
-
"`flex` `alignSelf` `width` `height` `minWidth` `minHeight` `maxWidth` `maxHeight`"
|
|
1521
|
+
"`flex` `alignSelf` `flexShrink` `width` `height` `minWidth` `minHeight` `maxWidth` `maxHeight`"
|
|
1522
|
+
],
|
|
1523
|
+
[
|
|
1524
|
+
"\u52A8\u6548 / \u5C42\u7EA7\uFF08\u89C1\u7B2C 15 \u8282\uFF09",
|
|
1525
|
+
"`transform` `transformOrigin` `transition` `animationPlayState` `backdropFilter` `zIndex` `pointerEvents`"
|
|
1200
1526
|
],
|
|
1201
1527
|
["\u56FE\u7247 / \u6BD4\u4F8B", "`objectFit` `aspectRatio`"]
|
|
1202
1528
|
];
|
|
1203
|
-
var
|
|
1529
|
+
var sections8 = [
|
|
1204
1530
|
{
|
|
1205
1531
|
id: "nodes",
|
|
1206
1532
|
title: "6. \u8282\u70B9\u7C7B\u578B",
|
|
@@ -1297,7 +1623,10 @@ var sections7 = [
|
|
|
1297
1623
|
'flex \u5217\u5BB9\u5668\u7684\u5B50\u9879\u9ED8\u8BA4\u88AB\u62C9\u6EE1\u6574\u884C\uFF0C\u6807\u7B7E\u7C7B\u5143\u7D20\u8981\u5199 `alignSelf: "flex-start"`',
|
|
1298
1624
|
"\u5927\u5B57\u53F7\u6587\u672C\u8981\u663E\u5F0F\u5199 `lineHeight`\uFF0C\u5426\u5219\u9ED8\u8BA4\u884C\u9AD8\u4F1A\u628A\u5BB9\u5668\u6491\u9AD8",
|
|
1299
1625
|
'\u9010\u5E27\u53D8\u5316\u7684\u6570\u5B57\uFF08\u5012\u8BA1\u65F6\u5398\u79D2\uFF09\u8981\u5199 `fontVariantNumeric: "tabular-nums"`\uFF0C\u5426\u5219\u6570\u5B57\u4F1A\u6296',
|
|
1300
|
-
"`style` \u7684\u503C\u4E5F\u652F\u6301 `{{ }}` \u63D2\u503C\uFF0C\u9009\u4E2D\u6001\u5C31\u662F\u9760\u8FD9\u4E2A\u505A\u7684"
|
|
1626
|
+
"`style` \u7684\u503C\u4E5F\u652F\u6301 `{{ }}` \u63D2\u503C\uFF0C\u9009\u4E2D\u6001\u5C31\u662F\u9760\u8FD9\u4E2A\u505A\u7684",
|
|
1627
|
+
"`zIndex` \u53EA\u5141\u8BB8 0~10\uFF0C\u8D85\u51FA\u4F1A\u88AB\u5939\u5230\u533A\u95F4\u5185\uFF1B\u6CA1\u6709 `position`\uFF1A\u7EDD\u5BF9\u5B9A\u4F4D\u7EDF\u4E00\u7528 `rect`",
|
|
1628
|
+
"\u914D\u4E86 `zIndex` \u7684\u8282\u70B9\u4F1A\u81EA\u52A8\u5E26\u4E0A\u5B9A\u4F4D\u65B9\u5F0F \u2014\u2014 `z-index` \u5BF9\u9759\u6001\u5143\u7D20\u662F\u6B7B\u58F0\u660E\uFF0C\u4E0D\u8FD9\u4E48\u505A\uFF0C\u9760\u8D1F `marginTop` \u5F80\u4E0A\u76D6\u7684\u5757\uFF08\u5982\u538B\u4F4F\u7EA2\u5934\u4E0B\u6CBF\u7684\u767D\u8272\u4E3B\u4F53\uFF09\u6C38\u8FDC\u76D6\u4E0D\u4F4F\u524D\u4E00\u4E2A\u5144\u5F1F\u8282\u70B9",
|
|
1629
|
+
'\u5149\u6655\u3001\u626B\u5149\u8FD9\u7C7B\u538B\u5728\u6309\u94AE\u4E0A\u7684\u88C5\u9970\u5C42\u8981\u5199 `pointerEvents: "none"`\uFF0C\u5426\u5219\u4F1A\u6321\u4F4F\u70B9\u51FB'
|
|
1301
1630
|
]
|
|
1302
1631
|
},
|
|
1303
1632
|
{
|
|
@@ -1313,10 +1642,10 @@ var sections7 = [
|
|
|
1313
1642
|
]
|
|
1314
1643
|
}
|
|
1315
1644
|
];
|
|
1316
|
-
var nodes_default =
|
|
1645
|
+
var nodes_default = sections8;
|
|
1317
1646
|
|
|
1318
1647
|
// src/docs/sections/views.ts
|
|
1319
|
-
var
|
|
1648
|
+
var sections9 = [
|
|
1320
1649
|
{
|
|
1321
1650
|
id: "views",
|
|
1322
1651
|
title: "12. \u591A\u89C6\u56FE\uFF08\u4E00\u4EFD\u914D\u7F6E\u91CC\u653E\u51E0\u4E2A\u5F39\u7A97\uFF09",
|
|
@@ -1468,10 +1797,10 @@ var sections8 = [
|
|
|
1468
1797
|
]
|
|
1469
1798
|
}
|
|
1470
1799
|
];
|
|
1471
|
-
var views_default =
|
|
1800
|
+
var views_default = sections9;
|
|
1472
1801
|
|
|
1473
1802
|
// src/docs/sections/index.ts
|
|
1474
|
-
var
|
|
1803
|
+
var sections10 = [].concat(
|
|
1475
1804
|
guide_basics_default,
|
|
1476
1805
|
// 0~2
|
|
1477
1806
|
guide_stage_default,
|
|
@@ -1486,13 +1815,42 @@ var sections9 = [].concat(
|
|
|
1486
1815
|
// 10
|
|
1487
1816
|
action_default,
|
|
1488
1817
|
// 11
|
|
1489
|
-
views_default
|
|
1818
|
+
views_default,
|
|
1490
1819
|
// 12~14
|
|
1820
|
+
animation_default
|
|
1821
|
+
// 15
|
|
1491
1822
|
);
|
|
1492
|
-
var sections_default =
|
|
1823
|
+
var sections_default = sections10;
|
|
1493
1824
|
|
|
1494
1825
|
// src/docs/meta.ts
|
|
1495
1826
|
var changelog = [
|
|
1827
|
+
{
|
|
1828
|
+
date: "2026-09-01",
|
|
1829
|
+
items: [
|
|
1830
|
+
"`zIndex` \u73B0\u5728\u4F1A\u81EA\u52A8\u5E26\u4E0A\u5B9A\u4F4D\u65B9\u5F0F\uFF1A`z-index` \u5BF9\u9759\u6001\u5143\u7D20\u662F\u6B7B\u58F0\u660E\uFF0C\u5199\u4E86\u4E0D\u751F\u6548\u3002\u6D41\u5F0F\u6392\u7248\u91CC\u9760\u8D1F `marginTop` \u5F80\u4E0A\u76D6\u7684\u5757\uFF08\u5982\u538B\u4F4F\u7EA2\u5934\u4E0B\u6CBF\u7684\u767D\u8272\u4E3B\u4F53\uFF09\u5FC5\u987B\u6709\u5C42\u7EA7\u624D\u76D6\u5F97\u4F4F\uFF0C\u914D\u4E86 `zIndex` \u5373\u53EF\uFF0C\u4E0D\u7528\uFF08\u4E5F\u6CA1\u6CD5\uFF09\u53E6\u914D `position`",
|
|
1831
|
+
"\u3010\u4FEE\u590D\u3011\u5F39\u51FA\u7B2C\u4E8C\u5C42\u5F39\u7A97\uFF08\u5982\u4E8C\u6B21\u633D\u7559\uFF09\u518D\u5173\u6389\u65F6\uFF0C\u4E0B\u5C42\u5F39\u7A97\u7684\u906E\u7F69\u5165\u573A\u52A8\u753B\u4F1A\u91CD\u64AD\u4E00\u904D\uFF0C\u80CC\u666F\u300C\u95EA\u300D\u4E00\u4E0B\u91CD\u65B0\u6DE1\u5165\u3002\u73B0\u5DF2\u4FEE\u6B63\uFF0C\u914D\u7F6E\u5199\u6CD5\u4E0D\u7528\u6539",
|
|
1832
|
+
"\u3010\u4FEE\u590D\u3011\u5207\u89C6\u56FE / \u5207 tab / `visibleWhen` \u7FFB\u8F6C\u65F6\uFF0C\u9875\u9762\u4E0A\u6B63\u5728\u8DD1\u7684\u5FAA\u73AF\u52A8\u753B\u4F1A\u5168\u90E8\u91CD\u5934\u64AD\u4E00\u904D\u3002\u73B0\u5DF2\u4FEE\u6B63",
|
|
1833
|
+
"`hoverStyle` \u91CC\u7684 `{{ }}` \u53EA\u5728\u9996\u5C4F\u6C42\u503C\u4E00\u6B21\uFF0C\u4E4B\u540E\u4E0D\u968F state \u53D8\u5316\u2014\u2014\u8981\u8DDF\u7740\u72B6\u6001\u53D8\u7684\u6837\u5F0F\u5199\u5728 `style` \u91CC\uFF08\u90A3\u6761\u8DEF\u5F84\u6BCF\u5E27\u90FD\u4F1A\u91CD\u7B97\uFF09"
|
|
1834
|
+
]
|
|
1835
|
+
},
|
|
1836
|
+
{
|
|
1837
|
+
date: "2026-08-31",
|
|
1838
|
+
items: [
|
|
1839
|
+
"\u65B0\u589E\u52A8\u753B\u80FD\u529B\uFF08\u7B2C 15 \u8282\uFF09\uFF1A\u9876\u5C42 keyframes \u5B9A\u4E49\u5173\u952E\u5E27\uFF0C\u8282\u70B9 / stage / \u906E\u7F69 / \u5173\u95ED\u6309\u94AE\u4E0A\u7528 animate \u5F15\u7528\uFF0C\u652F\u6301\u5EF6\u8FDF\u3001\u65E0\u9650\u5FAA\u73AF\u3001\u65B9\u5411\u4E0E\u586B\u5145\u6A21\u5F0F",
|
|
1840
|
+
"\u65B0\u589E hoverStyle\uFF1A\u4E0E style \u540C\u4E00\u5957\u5C5E\u6027\u767D\u540D\u5355\uFF0C\u53EA\u5728\u9F20\u6807\u60AC\u505C\u65F6\u751F\u6548\uFF08\u89E6\u5C4F\u6CA1\u6709 hover\uFF0C\u522B\u628A\u4FE1\u606F\u653E\u8FDB\u53BB\uFF09",
|
|
1841
|
+
"style \u767D\u540D\u5355\u65B0\u589E transform / transformOrigin / transition / backdropFilter / textShadow / zIndex\uFF080~10\uFF09 / pointerEvents / flexShrink / fontStyle\uFF08\u7B2C 7 \u8282\uFF09",
|
|
1842
|
+
"\u4ECD\u7136\u4E0D\u653E\u5F00 position \u4E0E\u81EA\u7531 CSS\uFF1A\u7EDD\u5BF9\u5B9A\u4F4D\u7528 rect\uFF0C\u5F39\u7A97\u94FA\u6EE1\u89C6\u53E3\u7531\u89E3\u91CA\u5668\u5B8C\u6210\u2014\u2014\u653E\u5F00\u7B49\u4E8E\u628A\u300C\u5168\u5C4F\u8986\u76D6\u9493\u9C7C\u300D\u4EA4\u56DE\u7ED9\u914D\u7F6E\uFF08\u7B2C 15 \u8282\u6709\u5B8C\u6574\u7406\u7531\uFF09",
|
|
1843
|
+
"\u7CFB\u7EDF\u5F00\u4E86\u300C\u51CF\u5C11\u52A8\u6001\u6548\u679C\u300D\u65F6\u81EA\u52A8\u5173\u6389\u8FD9\u4EFD\u7269\u6599\u7684\u5168\u90E8\u52A8\u753B\u4E0E\u8FC7\u6E21\uFF0C\u914D\u7F6E\u91CC\u4E0D\u7528\u7BA1\uFF0C\u4E5F\u6CA1\u6709\u5F00\u5173\u80FD\u7ED5\u8FC7",
|
|
1844
|
+
"countdown \u65B0\u589E duration\uFF08\u76F8\u5BF9\u65F6\u957F\uFF0C\u6BEB\u79D2\uFF0C\u4ECE\u8FD9\u4E00\u5C4F\u5C55\u793A\u90A3\u4E00\u523B\u8D77\u7B97\uFF09\uFF1A\u300C\u6BCF\u6B21\u6253\u5F00\u91CD\u65B0\u5012 5 \u5206\u949F\u300D\u4E0D\u7528\u518D\u53BB\u7B97\u7ED3\u675F\u65F6\u95F4\uFF1Bto \u4E0E duration \u81F3\u5C11\u8981\u6709\u4E00\u4E2A\uFF08\u7B2C 10 \u8282\uFF09",
|
|
1845
|
+
"\u65B0\u589E\u793A\u4F8B \u246A 4 \u6298\u4E13\u5C5E\u793C\u5305\u3001\u246B 1 \u5206\u94B1\u534A\u5E74\u5361\uFF1A\u642C\u5BB6\u6210\u529F\u9875\u4E24\u4E2A\u7EBF\u4E0A\u5F39\u7A97\u7684\u4E00\u6BD4\u4E00\u590D\u523B\uFF0C\u542B\u5165\u573A / \u547C\u5438 / \u626B\u5149 / \u4EA4\u9519\u5165\u573A / \u4E8C\u6B21\u633D\u7559\u5F39\u7A97\uFF0C\u8981\u505A\u52A8\u753B\u5F39\u7A97\u6539\u8FD9\u4E24\u4EFD\u6700\u5FEB",
|
|
1846
|
+
"AI \u63D0\u793A\u8BCD\u8865\u4E0A\u52A8\u753B\u4E0E hover \u7684\u786C\u89C4\u5219\uFF0C\u81EA\u68C0\u6E05\u5355\u52A0\u4E86\u5173\u952E\u5E27\u5F15\u7528\u4E0E\u88C5\u9970\u5C42\u70B9\u51FB\u7A7F\u900F\u4E24\u6761",
|
|
1847
|
+
"\u65B0\u589E stage.maskStyle\uFF08\u7B2C 3 \u8282\uFF09\uFF1A\u906E\u7F69\u914D\u8272\u7EC8\u4E8E\u80FD\u6539\u4E86\uFF0C\u8D70 style \u767D\u540D\u5355\uFF0C\u5E38\u7528 background \u8C03\u6DF1\u6D45 + backdropFilter \u52A0\u6BDB\u73BB\u7483\uFF1B\u4E0D\u5199\u4ECD\u662F\u5185\u7F6E\u7684 rgba(0,0,0,0.55)",
|
|
1848
|
+
"\u65B0\u589E stage.maskAction\uFF08\u7B2C 3 \u8282\uFF09\uFF1A\u70B9\u906E\u7F69\u6267\u884C\u6307\u5B9A\u52A8\u4F5C\u800C\u4E0D\u662F\u76F4\u63A5\u5173\uFF0C\u300C\u70B9\u906E\u7F69\u5148\u5F39\u4E8C\u6B21\u633D\u7559\u300D\u4E0D\u7528\u518D\u81EA\u5DF1\u94FA\u4E00\u5C42\u900F\u660E\u8282\u70B9\u3002\u5B83\u4E0E maskClosable \u5404\u7BA1\u4E00\u4EF6\u4E8B\u2014\u2014\u906E\u7F69\u4E0D\u53EF\u70B9\u65F6\u914D\u4E86\u4E5F\u4E0D\u89E6\u53D1\uFF0C\u4FDD\u5B58\u65F6\u4F1A\u63D0\u9192",
|
|
1849
|
+
"\u65B0\u589E stage.closeButton.action\uFF08\u7B2C 3 \u8282\uFF09\uFF1A\u5185\u7F6E \u2715 \u4E5F\u80FD\u63A5\u52A8\u4F5C\u4E86\uFF0C\u4EE5\u524D\u60F3\u300C\u70B9 \u2715 \u5F39\u633D\u7559\u300D\u53EA\u80FD\u653E\u5F03\u5185\u7F6E\u6309\u94AE\u3001\u81EA\u5DF1\u6446\u4E00\u4E2A\u6587\u672C \u2715\uFF08\u5B57\u5F62\u504F\u4E0B\u3001\u8FD8\u5F97\u624B\u5199\u5B9A\u4F4D\uFF09\u3002\u914D\u4E86 action \u5C31\u4E0D\u518D\u81EA\u52A8\u5173\u5C42\uFF0C\u8981\u5173\u81EA\u5DF1\u628A close \u5199\u8FDB\u52A8\u4F5C\u91CC",
|
|
1850
|
+
'style \u767D\u540D\u5355\u65B0\u589E animationPlayState\uFF08\u7B2C 15 \u8282\uFF09\uFF1A\u5728 hoverStyle \u91CC\u5199 "paused" \u5373\u53EF\u8BA9\u5FAA\u73AF\u52A8\u753B\u5728\u60AC\u505C\u65F6\u505C\u4F4F\uFF0C\u79FB\u5F00\u7EE7\u7EED',
|
|
1851
|
+
"\u793A\u4F8B \u246A\u246B \u6539\u7528\u5185\u7F6E\u5173\u95ED\u6309\u94AE + action\uFF0C\u5E76\u6309\u539F\u9875\u9762\u914D\u4E0A rgba(0,0,0,0.65) + 4px \u6BDB\u73BB\u7483\u7684\u906E\u7F69\u3001\u70B9\u906E\u7F69\u5F39\u633D\u7559\uFF1B\u246B \u7684 CTA \u8865\u4E0A\u60AC\u505C\u6682\u505C\u547C\u5438"
|
|
1852
|
+
]
|
|
1853
|
+
},
|
|
1496
1854
|
{
|
|
1497
1855
|
date: "2026-08-24",
|
|
1498
1856
|
items: [
|
|
@@ -3338,73 +3696,1100 @@ var drawerBottomBanner = createDrawerBanner({
|
|
|
3338
3696
|
url: "https://maibaole.example.com/support"
|
|
3339
3697
|
});
|
|
3340
3698
|
|
|
3341
|
-
// src/docs/examples/
|
|
3342
|
-
var
|
|
3343
|
-
|
|
3344
|
-
|
|
3345
|
-
|
|
3346
|
-
|
|
3347
|
-
|
|
3348
|
-
|
|
3349
|
-
|
|
3350
|
-
|
|
3351
|
-
|
|
3352
|
-
|
|
3353
|
-
|
|
3354
|
-
|
|
3355
|
-
|
|
3356
|
-
|
|
3357
|
-
|
|
3358
|
-
|
|
3359
|
-
//
|
|
3360
|
-
|
|
3361
|
-
|
|
3362
|
-
|
|
3363
|
-
fontSize: 18,
|
|
3364
|
-
borderWidth: 1,
|
|
3365
|
-
borderStyle: "solid",
|
|
3366
|
-
borderColor: "rgba(255,255,255,0.55)"
|
|
3367
|
-
}
|
|
3368
|
-
},
|
|
3369
|
-
style: { radius: 12, maxWidth: 420 },
|
|
3370
|
-
// 曝光埋点:数据就绪、弹窗真正展示时触发一次
|
|
3371
|
-
onShow: { type: "track", event: "popup_show", params: { popup: "image_hotspot" } },
|
|
3372
|
-
// 关闭埋点:点 X、点遮罩、点「不再提醒」都会触发,用 closeReason 区分
|
|
3373
|
-
onClose: {
|
|
3374
|
-
type: "track",
|
|
3375
|
-
event: "popup_close",
|
|
3376
|
-
params: { popup: "image_hotspot", reason: "{{ closeReason }}" }
|
|
3377
|
-
}
|
|
3378
|
-
},
|
|
3379
|
-
nodes: [
|
|
3380
|
-
{
|
|
3381
|
-
// 背景图用百分比铺满舞台,舞台宽度变了也不用改配置
|
|
3382
|
-
id: "bg",
|
|
3383
|
-
type: "image",
|
|
3384
|
-
rect: [0, 0, "100%", "100%"],
|
|
3385
|
-
src: "https://picsum.photos/id/1015/420/520"
|
|
3699
|
+
// src/docs/examples/gift-give-up.ts
|
|
3700
|
+
var GIFT_MASK_STYLE = {
|
|
3701
|
+
background: "rgba(0,0,0,0.65)",
|
|
3702
|
+
backdropFilter: "blur(4px)"
|
|
3703
|
+
};
|
|
3704
|
+
function createGiveUpView(options) {
|
|
3705
|
+
return {
|
|
3706
|
+
type: "popup",
|
|
3707
|
+
stage: {
|
|
3708
|
+
width: 360,
|
|
3709
|
+
height: "auto",
|
|
3710
|
+
layout: "flow",
|
|
3711
|
+
mask: true,
|
|
3712
|
+
// 点遮罩 = 关掉栈顶这一层 = 退回主弹窗,正是原页面 hideConfirm 的行为:
|
|
3713
|
+
// 挽留层的 close 不会关掉整份物料,也不产生上报。
|
|
3714
|
+
// 【注意】这一层**不配 maskAction**:它的点击本来就该是「退回主弹窗」,
|
|
3715
|
+
// 配了动作反而会把这个退栈行为顶掉
|
|
3716
|
+
maskClosable: true,
|
|
3717
|
+
// 与主弹窗同一份,弹出这一层时背景不能有落差,见 GIFT_MASK_STYLE
|
|
3718
|
+
maskStyle: GIFT_MASK_STYLE,
|
|
3719
|
+
style: { radius: 16, background: "#ffffff" },
|
|
3720
|
+
onShow: { type: "track", event: `${options.giveUpEvent}_show` }
|
|
3386
3721
|
},
|
|
3387
|
-
|
|
3388
|
-
|
|
3389
|
-
|
|
3390
|
-
|
|
3391
|
-
|
|
3392
|
-
|
|
3393
|
-
rect: ["62%", 24, "30%", 30],
|
|
3394
|
-
style: { radius: 15, background: HOTSPOT_BG, cursor: "pointer" },
|
|
3395
|
-
action: {
|
|
3396
|
-
type: "sequence",
|
|
3397
|
-
actions: [
|
|
3398
|
-
{ type: "track", event: "popup_click", params: { area: "rule" } },
|
|
3722
|
+
nodes: [
|
|
3723
|
+
{
|
|
3724
|
+
type: "flex",
|
|
3725
|
+
style: { direction: "column", align: "center", padding: "28px 24px" },
|
|
3726
|
+
children: [
|
|
3727
|
+
{ type: "text", content: "\u{1F622}", style: { fontSize: 48, marginBottom: 12 } },
|
|
3399
3728
|
{
|
|
3400
|
-
type: "
|
|
3401
|
-
|
|
3402
|
-
|
|
3403
|
-
}
|
|
3404
|
-
|
|
3405
|
-
|
|
3406
|
-
|
|
3407
|
-
|
|
3729
|
+
type: "text",
|
|
3730
|
+
content: "\u771F\u7684\u8981\u653E\u5F03\u5417\uFF1F",
|
|
3731
|
+
style: { fontSize: 18, fontWeight: "700", color: "#1d2129" }
|
|
3732
|
+
},
|
|
3733
|
+
{
|
|
3734
|
+
type: "text",
|
|
3735
|
+
content: "\u60A8\u5C06\u635F\u5931\u793C\u5305\u6536\u76CA",
|
|
3736
|
+
style: {
|
|
3737
|
+
margin: "12px 0 20px",
|
|
3738
|
+
fontSize: 13,
|
|
3739
|
+
lineHeight: 1.6,
|
|
3740
|
+
color: "#4e5969",
|
|
3741
|
+
textAlign: "center"
|
|
3742
|
+
}
|
|
3743
|
+
},
|
|
3744
|
+
{
|
|
3745
|
+
type: "flex",
|
|
3746
|
+
style: { width: "100%", gap: 12 },
|
|
3747
|
+
children: [
|
|
3748
|
+
{
|
|
3749
|
+
type: "button",
|
|
3750
|
+
text: "\u5FCD\u75DB\u653E\u5F03",
|
|
3751
|
+
style: {
|
|
3752
|
+
flex: "1",
|
|
3753
|
+
padding: 12,
|
|
3754
|
+
radius: 8,
|
|
3755
|
+
background: "#f7f8fa",
|
|
3756
|
+
color: "#86909c",
|
|
3757
|
+
fontSize: 14,
|
|
3758
|
+
fontWeight: "600"
|
|
3759
|
+
},
|
|
3760
|
+
hoverStyle: { background: "#f0f1f5" },
|
|
3761
|
+
// closeAll:挽留层和主弹窗一起关掉,只 close 的话会退回主弹窗
|
|
3762
|
+
action: {
|
|
3763
|
+
type: "sequence",
|
|
3764
|
+
actions: [
|
|
3765
|
+
{ type: "track", event: options.giveUpEvent },
|
|
3766
|
+
{ type: "closeAll", reason: "user-give-up" }
|
|
3767
|
+
]
|
|
3768
|
+
}
|
|
3769
|
+
},
|
|
3770
|
+
{
|
|
3771
|
+
type: "button",
|
|
3772
|
+
text: "\u9886\u53D6\u793C\u5305",
|
|
3773
|
+
style: {
|
|
3774
|
+
flex: "1",
|
|
3775
|
+
padding: 12,
|
|
3776
|
+
radius: 8,
|
|
3777
|
+
background: "linear-gradient(90deg,#ff7a00 0%,#f53f3f 100%)",
|
|
3778
|
+
color: "#ffffff",
|
|
3779
|
+
fontSize: 14,
|
|
3780
|
+
fontWeight: "600"
|
|
3781
|
+
},
|
|
3782
|
+
hoverStyle: { transform: "translateY(-1px)" },
|
|
3783
|
+
action: {
|
|
3784
|
+
type: "sequence",
|
|
3785
|
+
actions: [
|
|
3786
|
+
{
|
|
3787
|
+
type: "track",
|
|
3788
|
+
event: options.claimEvent,
|
|
3789
|
+
params: { from: "confirm" }
|
|
3790
|
+
},
|
|
3791
|
+
{ type: "navigate", url: options.url }
|
|
3792
|
+
]
|
|
3793
|
+
}
|
|
3794
|
+
}
|
|
3795
|
+
]
|
|
3796
|
+
}
|
|
3797
|
+
]
|
|
3798
|
+
}
|
|
3799
|
+
]
|
|
3800
|
+
};
|
|
3801
|
+
}
|
|
3802
|
+
|
|
3803
|
+
// src/docs/examples/gift-v6-head.ts
|
|
3804
|
+
var HEAD_HEIGHT = 300;
|
|
3805
|
+
function createHead() {
|
|
3806
|
+
return {
|
|
3807
|
+
type: "box",
|
|
3808
|
+
style: {
|
|
3809
|
+
width: "100%",
|
|
3810
|
+
height: HEAD_HEIGHT,
|
|
3811
|
+
background: "linear-gradient(180deg,#ff4d4d 0%,#d93025 100%)",
|
|
3812
|
+
overflow: "hidden"
|
|
3813
|
+
},
|
|
3814
|
+
children: [
|
|
3815
|
+
{
|
|
3816
|
+
// 左上角的白色光晕,原页面是 .v6-modal-top::before
|
|
3817
|
+
type: "box",
|
|
3818
|
+
rect: [-40, -40, "calc(100% + 80px)", "calc(100% + 80px)"],
|
|
3819
|
+
style: {
|
|
3820
|
+
background: "radial-gradient(circle at 30% 30%, rgba(255,255,255,0.2) 0%, transparent 50%)",
|
|
3821
|
+
// 装饰层必须让点击穿透,否则整块红头都点不动
|
|
3822
|
+
pointerEvents: "none"
|
|
3823
|
+
}
|
|
3824
|
+
},
|
|
3825
|
+
{
|
|
3826
|
+
type: "flex",
|
|
3827
|
+
rect: [0, 0, "100%", "auto"],
|
|
3828
|
+
style: { direction: "column", align: "center", padding: "20px 32px 0" },
|
|
3829
|
+
children: [
|
|
3830
|
+
{
|
|
3831
|
+
type: "text",
|
|
3832
|
+
content: "\u{1F389} \u642C\u5BB6\u6210\u529F \xB7 \u7CFB\u7EDF\u4E13\u5C5E\u5956\u52B1",
|
|
3833
|
+
style: {
|
|
3834
|
+
alignSelf: "center",
|
|
3835
|
+
padding: "4px 16px",
|
|
3836
|
+
marginBottom: 12,
|
|
3837
|
+
fontSize: 12,
|
|
3838
|
+
color: "#ffffff",
|
|
3839
|
+
background: "rgba(255,255,255,0.25)",
|
|
3840
|
+
radius: 12
|
|
3841
|
+
}
|
|
3842
|
+
},
|
|
3843
|
+
{
|
|
3844
|
+
type: "text",
|
|
3845
|
+
content: "\u606D\u559C\uFF01\u60A8\u83B7\u5F97\u4E00\u4EFD\u4E13\u5C5E\u793C\u5305",
|
|
3846
|
+
style: {
|
|
3847
|
+
fontSize: 24,
|
|
3848
|
+
fontWeight: "900",
|
|
3849
|
+
lineHeight: 1.3,
|
|
3850
|
+
color: "#ffffff",
|
|
3851
|
+
textAlign: "center"
|
|
3852
|
+
}
|
|
3853
|
+
},
|
|
3854
|
+
{
|
|
3855
|
+
type: "text",
|
|
3856
|
+
content: "\u4EC5\u9650\u521A\u5B8C\u6210\u642C\u5BB6\u7684\u7528\u6237",
|
|
3857
|
+
style: {
|
|
3858
|
+
marginTop: 6,
|
|
3859
|
+
fontSize: 13,
|
|
3860
|
+
color: "#ffffff",
|
|
3861
|
+
opacity: "0.9"
|
|
3862
|
+
}
|
|
3863
|
+
},
|
|
3864
|
+
{
|
|
3865
|
+
type: "flex",
|
|
3866
|
+
style: {
|
|
3867
|
+
alignSelf: "center",
|
|
3868
|
+
justify: "center",
|
|
3869
|
+
align: "center",
|
|
3870
|
+
width: 110,
|
|
3871
|
+
height: 110,
|
|
3872
|
+
marginTop: 16,
|
|
3873
|
+
radius: "50%",
|
|
3874
|
+
background: "linear-gradient(135deg,#fff5e6 0%,#ffd591 100%)",
|
|
3875
|
+
shadow: "0 8px 24px rgba(0,0,0,0.2), inset 0 4px 8px rgba(255,255,255,0.5)"
|
|
3876
|
+
},
|
|
3877
|
+
animate: {
|
|
3878
|
+
name: "floatY",
|
|
3879
|
+
duration: 3e3,
|
|
3880
|
+
easing: "ease-in-out",
|
|
3881
|
+
iteration: "infinite"
|
|
3882
|
+
},
|
|
3883
|
+
children: [
|
|
3884
|
+
{
|
|
3885
|
+
type: "text",
|
|
3886
|
+
content: "4\u6298",
|
|
3887
|
+
style: {
|
|
3888
|
+
fontSize: 40,
|
|
3889
|
+
fontWeight: "900",
|
|
3890
|
+
lineHeight: 1,
|
|
3891
|
+
color: "#d93025"
|
|
3892
|
+
}
|
|
3893
|
+
}
|
|
3894
|
+
]
|
|
3895
|
+
}
|
|
3896
|
+
]
|
|
3897
|
+
}
|
|
3898
|
+
]
|
|
3899
|
+
};
|
|
3900
|
+
}
|
|
3901
|
+
|
|
3902
|
+
// src/docs/examples/gift-v6.ts
|
|
3903
|
+
var PURCHASE_URL = "https://fuwu.jinritemai.com/detail?from=isv.promotion&service_id=21361&promotionIdCode=CgYIASAHKAESXgpc6AasSWVCtjAmMcE%2B00V9l5ZRXgoh0wWk5uc6B7Z8JN4ILp0xJ0CmyiOhAVTvTbl5yoLE1muPBxT7P5lZMT1SYVI8RleaK62xu%2FEwuJHpwa0hmOuDn0wllsRvaLcaAA%3D%3D";
|
|
3904
|
+
var NUM_STYLE = {
|
|
3905
|
+
minWidth: 26,
|
|
3906
|
+
padding: "2px 6px",
|
|
3907
|
+
fontFamily: "'Courier New', monospace",
|
|
3908
|
+
fontSize: 13,
|
|
3909
|
+
fontWeight: "700",
|
|
3910
|
+
color: "#ffffff",
|
|
3911
|
+
textAlign: "center",
|
|
3912
|
+
background: "#1d2129",
|
|
3913
|
+
radius: 4,
|
|
3914
|
+
fontVariantNumeric: "tabular-nums"
|
|
3915
|
+
};
|
|
3916
|
+
function giftRow(highlight, text) {
|
|
3917
|
+
return {
|
|
3918
|
+
type: "flex",
|
|
3919
|
+
style: { align: "center", gap: 8, padding: "4px 0" },
|
|
3920
|
+
children: [
|
|
3921
|
+
{ type: "text", content: "\u{1F381}", style: { fontSize: 14 } },
|
|
3922
|
+
{
|
|
3923
|
+
type: "flex",
|
|
3924
|
+
// gap 跟外层一致取 8:原页面 li 本身就是 `display:flex; gap:8`,
|
|
3925
|
+
// 🎁、`<b>4折</b>`、说明文案是同一层的三个 flex 项,三段间距相等。
|
|
3926
|
+
// 这里拆成两层是为了让说明文案能独立换行,间距必须还原成 8,
|
|
3927
|
+
// 写 4 会明显比行首那一格紧、看着像没对齐
|
|
3928
|
+
style: { flex: "1", align: "baseline", gap: 8 },
|
|
3929
|
+
children: [
|
|
3930
|
+
{
|
|
3931
|
+
type: "text",
|
|
3932
|
+
content: highlight,
|
|
3933
|
+
style: { fontSize: 11, fontWeight: "700", color: "#d93025" }
|
|
3934
|
+
},
|
|
3935
|
+
{ type: "text", content: text, style: { fontSize: 11, color: "#4e5969" } }
|
|
3936
|
+
]
|
|
3937
|
+
}
|
|
3938
|
+
]
|
|
3939
|
+
};
|
|
3940
|
+
}
|
|
3941
|
+
var giftV6 = {
|
|
3942
|
+
version: 1,
|
|
3943
|
+
meta: { name: "\u590D\u523B\u7EBF\u4E0A\u5F39\u7A97 \xB7 4 \u6298\u4E13\u5C5E\u793C\u5305\uFF08\u52A8\u753B + \u4E8C\u6B21\u633D\u7559\uFF09" },
|
|
3944
|
+
entry: "main",
|
|
3945
|
+
// 关键帧库全配置共用,两个视图都能引用
|
|
3946
|
+
keyframes: {
|
|
3947
|
+
/** 遮罩淡入 */
|
|
3948
|
+
fadeIn: { from: { opacity: "0" }, to: { opacity: "1" } },
|
|
3949
|
+
/** 弹窗回弹放大,配 cubic-bezier 的超调曲线才有「弹一下」的手感 */
|
|
3950
|
+
zoomIn: {
|
|
3951
|
+
from: { opacity: "0", transform: "scale(0.7)" },
|
|
3952
|
+
to: { opacity: "1", transform: "scale(1)" }
|
|
3953
|
+
},
|
|
3954
|
+
/** 红包上下浮动 */
|
|
3955
|
+
floatY: {
|
|
3956
|
+
"0%": { transform: "translateY(0)" },
|
|
3957
|
+
"50%": { transform: "translateY(-8px)" },
|
|
3958
|
+
"100%": { transform: "translateY(0)" }
|
|
3959
|
+
},
|
|
3960
|
+
/** CTA 呼吸:只放大 2%,再多就晃眼了 */
|
|
3961
|
+
pulseBtn: {
|
|
3962
|
+
"0%": { transform: "scale(1)" },
|
|
3963
|
+
"50%": { transform: "scale(1.02)" },
|
|
3964
|
+
"100%": { transform: "scale(1)" }
|
|
3965
|
+
}
|
|
3966
|
+
},
|
|
3967
|
+
views: {
|
|
3968
|
+
main: {
|
|
3969
|
+
type: "popup",
|
|
3970
|
+
stage: {
|
|
3971
|
+
width: 450,
|
|
3972
|
+
height: "auto",
|
|
3973
|
+
layout: "flow",
|
|
3974
|
+
mask: true,
|
|
3975
|
+
maskClosable: true,
|
|
3976
|
+
// 原页面的遮罩是 rgba(0,0,0,0.65) + 4px 毛玻璃,比内置默认(0.55 纯色)更重
|
|
3977
|
+
// 与挽留层共用同一份:只有栈顶那层遮罩会画,两层不一致就会在弹出时看到落差
|
|
3978
|
+
maskStyle: GIFT_MASK_STYLE,
|
|
3979
|
+
// 点遮罩不直接关,先弹二次挽留(原页面 @click.self="tryClose()")
|
|
3980
|
+
maskAction: { type: "open", view: "confirm", mode: "stack" },
|
|
3981
|
+
// 内置关闭按钮(矢量 ✕)+ action:配了 action 就只执行它、不再自动关层
|
|
3982
|
+
closeButton: {
|
|
3983
|
+
position: "top-right",
|
|
3984
|
+
offset: [12, 12],
|
|
3985
|
+
size: 32,
|
|
3986
|
+
style: {
|
|
3987
|
+
background: "rgba(0,0,0,0.08)",
|
|
3988
|
+
backdropFilter: "blur(4px)",
|
|
3989
|
+
color: "#ffffff",
|
|
3990
|
+
transition: "background 0.2s"
|
|
3991
|
+
},
|
|
3992
|
+
hoverStyle: { background: "rgba(0,0,0,0.2)" },
|
|
3993
|
+
action: { type: "open", view: "confirm", mode: "stack" }
|
|
3994
|
+
},
|
|
3995
|
+
style: {
|
|
3996
|
+
radius: 20,
|
|
3997
|
+
background: "#ffffff",
|
|
3998
|
+
shadow: "0 20px 60px rgba(0,0,0,0.3)",
|
|
3999
|
+
maxWidth: "60vw"
|
|
4000
|
+
},
|
|
4001
|
+
animate: {
|
|
4002
|
+
name: "zoomIn",
|
|
4003
|
+
duration: 500,
|
|
4004
|
+
easing: "cubic-bezier(0.34, 1.56, 0.64, 1)"
|
|
4005
|
+
},
|
|
4006
|
+
maskAnimate: { name: "fadeIn", duration: 400 },
|
|
4007
|
+
onShow: { type: "track", event: "move_success_v6_show" },
|
|
4008
|
+
onClose: {
|
|
4009
|
+
type: "track",
|
|
4010
|
+
event: "move_success_v6_close",
|
|
4011
|
+
params: { reason: "{{ closeReason }}" }
|
|
4012
|
+
}
|
|
4013
|
+
},
|
|
4014
|
+
nodes: [
|
|
4015
|
+
createHead(),
|
|
4016
|
+
// ── 白色主体:往上盖住红头下沿 ──
|
|
4017
|
+
{
|
|
4018
|
+
type: "flex",
|
|
4019
|
+
style: {
|
|
4020
|
+
direction: "column",
|
|
4021
|
+
marginTop: -40,
|
|
4022
|
+
// 必须有层级,否则这 40px 根本盖不住:红头是 box 节点,解释器给所有 box
|
|
4023
|
+
// 加了 position:relative(它要当绝对定位子节点的包含块),定位元素恒画在
|
|
4024
|
+
// 静态元素之上。声明 zIndex 会让解释器顺带补一个 relative,见 resolveNodeStyle
|
|
4025
|
+
zIndex: 1,
|
|
4026
|
+
padding: "30px 32px 30px",
|
|
4027
|
+
background: "#ffffff",
|
|
4028
|
+
radius: "20px 20px 0 0"
|
|
4029
|
+
},
|
|
4030
|
+
children: [
|
|
4031
|
+
{
|
|
4032
|
+
type: "flex",
|
|
4033
|
+
style: {
|
|
4034
|
+
direction: "column",
|
|
4035
|
+
padding: 10,
|
|
4036
|
+
marginBottom: 10,
|
|
4037
|
+
background: "#fffbeb",
|
|
4038
|
+
borderWidth: 1,
|
|
4039
|
+
borderStyle: "dashed",
|
|
4040
|
+
borderColor: "#fbbf24",
|
|
4041
|
+
radius: 12
|
|
4042
|
+
},
|
|
4043
|
+
children: [
|
|
4044
|
+
{
|
|
4045
|
+
type: "text",
|
|
4046
|
+
content: "\u{1F4E6} \u793C\u5305\u5185\u5BB9",
|
|
4047
|
+
style: {
|
|
4048
|
+
marginBottom: 8,
|
|
4049
|
+
fontSize: 12,
|
|
4050
|
+
fontWeight: "600",
|
|
4051
|
+
color: "#92400e",
|
|
4052
|
+
textAlign: "center"
|
|
4053
|
+
}
|
|
4054
|
+
},
|
|
4055
|
+
giftRow("4\u6298", "\u300C\u4E00\u952E\u4E0B\u5355\u300D\u771F\u6298\u6263\u6765\u88AD\uFF0C\u4F4E\u81F34\u6298"),
|
|
4056
|
+
giftRow("50 \u5355", "0 \u670D\u52A1\u8D39 \xB7 \u5355\u5355\u8FD4\u4F63 0.5%"),
|
|
4057
|
+
giftRow("200%", "\u81EA\u52A8\u4E0B\u5355\u3001\u53D1\u8D27\u3001\u552E\u540E\uFF0C\u63D0\u9AD8\u4EBA\u6548")
|
|
4058
|
+
]
|
|
4059
|
+
},
|
|
4060
|
+
{
|
|
4061
|
+
// duration 而不是 to:这份物料每次弹出都重新倒 5 分钟,没有绝对结束时间
|
|
4062
|
+
type: "countdown",
|
|
4063
|
+
duration: 3e5,
|
|
4064
|
+
precision: "cs",
|
|
4065
|
+
as: "cd",
|
|
4066
|
+
style: { justify: "center", align: "center", gap: 6, marginBottom: 16 },
|
|
4067
|
+
onEnd: { type: "closeAll", reason: "countdown-end" },
|
|
4068
|
+
children: [
|
|
4069
|
+
{
|
|
4070
|
+
type: "text",
|
|
4071
|
+
content: "\u23F0 \u793C\u5305\u5931\u6548\u5012\u8BA1\u65F6",
|
|
4072
|
+
style: { fontSize: 12, color: "#4e5969" }
|
|
4073
|
+
},
|
|
4074
|
+
{ type: "text", content: "{{ cd.m }}", style: NUM_STYLE },
|
|
4075
|
+
{ type: "text", content: ":", style: { fontSize: 13, color: "#4e5969" } },
|
|
4076
|
+
{ type: "text", content: "{{ cd.s }}", style: NUM_STYLE },
|
|
4077
|
+
{ type: "text", content: ":", style: { fontSize: 13, color: "#4e5969" } },
|
|
4078
|
+
{ type: "text", content: "{{ cd.cs }}", style: NUM_STYLE }
|
|
4079
|
+
]
|
|
4080
|
+
},
|
|
4081
|
+
{
|
|
4082
|
+
type: "button",
|
|
4083
|
+
text: "\u{1F381} \u7ACB\u5373\u9886\u53D6\u5E76\u542F\u7528",
|
|
4084
|
+
style: {
|
|
4085
|
+
width: "100%",
|
|
4086
|
+
padding: 10,
|
|
4087
|
+
fontSize: 16,
|
|
4088
|
+
fontWeight: "700",
|
|
4089
|
+
color: "#ffffff",
|
|
4090
|
+
background: "linear-gradient(90deg,#ff7a00 0%,#f53f3f 100%)",
|
|
4091
|
+
radius: 28,
|
|
4092
|
+
shadow: "0 6px 20px rgba(245,63,63,0.4)"
|
|
4093
|
+
},
|
|
4094
|
+
animate: {
|
|
4095
|
+
name: "pulseBtn",
|
|
4096
|
+
duration: 1500,
|
|
4097
|
+
easing: "ease-in-out",
|
|
4098
|
+
iteration: "infinite"
|
|
4099
|
+
},
|
|
4100
|
+
action: {
|
|
4101
|
+
type: "sequence",
|
|
4102
|
+
actions: [
|
|
4103
|
+
{
|
|
4104
|
+
type: "track",
|
|
4105
|
+
event: "move_success_v6_claim",
|
|
4106
|
+
params: { from: "main" }
|
|
4107
|
+
},
|
|
4108
|
+
{ type: "navigate", url: PURCHASE_URL }
|
|
4109
|
+
]
|
|
4110
|
+
}
|
|
4111
|
+
}
|
|
4112
|
+
]
|
|
4113
|
+
}
|
|
4114
|
+
]
|
|
4115
|
+
},
|
|
4116
|
+
confirm: createGiveUpView({
|
|
4117
|
+
url: PURCHASE_URL,
|
|
4118
|
+
claimEvent: "move_success_v6_claim",
|
|
4119
|
+
giveUpEvent: "move_success_v6_give_up"
|
|
4120
|
+
})
|
|
4121
|
+
}
|
|
4122
|
+
};
|
|
4123
|
+
var gift_v6_default = giftV6;
|
|
4124
|
+
|
|
4125
|
+
// src/docs/examples/gift-red-packet-head.ts
|
|
4126
|
+
var HEAD_HEIGHT2 = 158;
|
|
4127
|
+
function sparkle(left, size, delay) {
|
|
4128
|
+
return {
|
|
4129
|
+
type: "box",
|
|
4130
|
+
// bottom: 14px 换算成 top —— rect 只有 [x, y, w, h],没有 bottom
|
|
4131
|
+
rect: [left, HEAD_HEIGHT2 - 14 - size, size, size],
|
|
4132
|
+
style: {
|
|
4133
|
+
radius: "50%",
|
|
4134
|
+
background: "#ffe3a1",
|
|
4135
|
+
shadow: "0 0 9px rgba(255,214,130,0.95)",
|
|
4136
|
+
// 初始透明:关键帧从 opacity 0 起步,没有这一行会在动画开播前闪一下
|
|
4137
|
+
opacity: "0",
|
|
4138
|
+
pointerEvents: "none"
|
|
4139
|
+
},
|
|
4140
|
+
animate: {
|
|
4141
|
+
name: "floatUp",
|
|
4142
|
+
duration: 4400,
|
|
4143
|
+
delay,
|
|
4144
|
+
easing: "linear",
|
|
4145
|
+
iteration: "infinite"
|
|
4146
|
+
}
|
|
4147
|
+
};
|
|
4148
|
+
}
|
|
4149
|
+
function createHead2() {
|
|
4150
|
+
return {
|
|
4151
|
+
type: "box",
|
|
4152
|
+
style: {
|
|
4153
|
+
width: "100%",
|
|
4154
|
+
height: HEAD_HEIGHT2,
|
|
4155
|
+
background: "linear-gradient(168deg,#ff6a52 0%,#f5433a 54%,#dd2b22 100%)",
|
|
4156
|
+
overflow: "hidden"
|
|
4157
|
+
},
|
|
4158
|
+
children: [
|
|
4159
|
+
{
|
|
4160
|
+
// 顶部的暖光晕,原页面是 .rp-hd::before
|
|
4161
|
+
type: "box",
|
|
4162
|
+
rect: ["50%", -70, 300, 180],
|
|
4163
|
+
style: {
|
|
4164
|
+
background: "radial-gradient(ellipse, rgba(255,220,150,0.4), transparent 66%)",
|
|
4165
|
+
// 关键帧里的 transform 同样带着 translateX(-50%),否则播动画时会向右跳半个身位
|
|
4166
|
+
transform: "translateX(-50%)",
|
|
4167
|
+
pointerEvents: "none"
|
|
4168
|
+
},
|
|
4169
|
+
animate: {
|
|
4170
|
+
name: "glow",
|
|
4171
|
+
duration: 3600,
|
|
4172
|
+
easing: "ease-in-out",
|
|
4173
|
+
iteration: "infinite"
|
|
4174
|
+
}
|
|
4175
|
+
},
|
|
4176
|
+
{
|
|
4177
|
+
type: "flex",
|
|
4178
|
+
rect: [0, 0, "100%", "auto"],
|
|
4179
|
+
style: { direction: "column", align: "center", padding: "26px 26px 0" },
|
|
4180
|
+
children: [
|
|
4181
|
+
{
|
|
4182
|
+
type: "flex",
|
|
4183
|
+
style: {
|
|
4184
|
+
alignSelf: "center",
|
|
4185
|
+
align: "center",
|
|
4186
|
+
gap: 6,
|
|
4187
|
+
padding: "5px 14px",
|
|
4188
|
+
fontSize: 12,
|
|
4189
|
+
color: "#ffe9e2",
|
|
4190
|
+
letterSpacing: "0.04em",
|
|
4191
|
+
background: "rgba(255,255,255,0.2)",
|
|
4192
|
+
radius: 14
|
|
4193
|
+
},
|
|
4194
|
+
animate: {
|
|
4195
|
+
name: "bob",
|
|
4196
|
+
duration: 2800,
|
|
4197
|
+
easing: "ease-in-out",
|
|
4198
|
+
iteration: "infinite"
|
|
4199
|
+
},
|
|
4200
|
+
children: [
|
|
4201
|
+
{ type: "text", content: "\u{1F381}", style: { fontSize: 14 } },
|
|
4202
|
+
{
|
|
4203
|
+
type: "text",
|
|
4204
|
+
content: "\u642C\u5BB6\u6210\u529F \xB7 \u4E13\u5C5E\u56DE\u9988",
|
|
4205
|
+
style: { fontSize: 12, color: "#ffe9e2" }
|
|
4206
|
+
}
|
|
4207
|
+
]
|
|
4208
|
+
},
|
|
4209
|
+
{
|
|
4210
|
+
// 一行混排两种颜色:拆成三个 text,用 baseline 对齐,DSL 没有富文本
|
|
4211
|
+
type: "flex",
|
|
4212
|
+
style: { align: "baseline", justify: "center", marginTop: 14 },
|
|
4213
|
+
children: [
|
|
4214
|
+
{
|
|
4215
|
+
type: "text",
|
|
4216
|
+
content: "\u606D\u559C\u83B7\u5F97 ",
|
|
4217
|
+
style: {
|
|
4218
|
+
fontSize: 25,
|
|
4219
|
+
fontWeight: "800",
|
|
4220
|
+
color: "#ffffff",
|
|
4221
|
+
letterSpacing: "0.02em",
|
|
4222
|
+
textShadow: "0 2px 8px rgba(150,20,10,0.22)"
|
|
4223
|
+
}
|
|
4224
|
+
},
|
|
4225
|
+
{
|
|
4226
|
+
type: "text",
|
|
4227
|
+
content: "1 \u5206\u94B1",
|
|
4228
|
+
style: {
|
|
4229
|
+
fontSize: 25,
|
|
4230
|
+
fontWeight: "800",
|
|
4231
|
+
color: "#ffdc7d",
|
|
4232
|
+
letterSpacing: "0.02em",
|
|
4233
|
+
textShadow: "0 2px 8px rgba(150,20,10,0.22)"
|
|
4234
|
+
}
|
|
4235
|
+
},
|
|
4236
|
+
{
|
|
4237
|
+
type: "text",
|
|
4238
|
+
content: " \u534A\u5E74\u5361",
|
|
4239
|
+
style: {
|
|
4240
|
+
fontSize: 25,
|
|
4241
|
+
fontWeight: "800",
|
|
4242
|
+
color: "#ffffff",
|
|
4243
|
+
letterSpacing: "0.02em",
|
|
4244
|
+
textShadow: "0 2px 8px rgba(150,20,10,0.22)"
|
|
4245
|
+
}
|
|
4246
|
+
}
|
|
4247
|
+
]
|
|
4248
|
+
}
|
|
4249
|
+
]
|
|
4250
|
+
},
|
|
4251
|
+
sparkle("13%", 6, 0),
|
|
4252
|
+
sparkle("33%", 4, 1100),
|
|
4253
|
+
sparkle("64%", 6, 2200),
|
|
4254
|
+
sparkle("85%", 5, 3300)
|
|
4255
|
+
]
|
|
4256
|
+
};
|
|
4257
|
+
}
|
|
4258
|
+
function createPlate() {
|
|
4259
|
+
return {
|
|
4260
|
+
type: "box",
|
|
4261
|
+
style: {
|
|
4262
|
+
// 负的上外边距把牌子提上去压住红头,左右各留 26 与主体对齐
|
|
4263
|
+
margin: "-38px 26px 0",
|
|
4264
|
+
height: 70,
|
|
4265
|
+
background: "linear-gradient(140deg,#fffdf6,#fff2d9)",
|
|
4266
|
+
borderWidth: 1,
|
|
4267
|
+
borderStyle: "solid",
|
|
4268
|
+
borderColor: "#ffe1a8",
|
|
4269
|
+
radius: 13,
|
|
4270
|
+
shadow: "0 10px 26px rgba(140,30,15,0.24)",
|
|
4271
|
+
// 扫光条比牌子宽,不裁会飘到牌子外面
|
|
4272
|
+
overflow: "hidden"
|
|
4273
|
+
},
|
|
4274
|
+
animate: {
|
|
4275
|
+
name: "plateIn",
|
|
4276
|
+
duration: 660,
|
|
4277
|
+
delay: 120,
|
|
4278
|
+
easing: "cubic-bezier(0.18, 1.05, 0.35, 1)"
|
|
4279
|
+
},
|
|
4280
|
+
children: [
|
|
4281
|
+
{
|
|
4282
|
+
type: "box",
|
|
4283
|
+
rect: [-110, 0, 72, "100%"],
|
|
4284
|
+
style: {
|
|
4285
|
+
background: "linear-gradient(100deg, transparent, rgba(255,255,255,0.85), transparent)",
|
|
4286
|
+
pointerEvents: "none"
|
|
4287
|
+
},
|
|
4288
|
+
// 原页面动的是 left,DSL 只放开 transform:改成横向位移,效果等价且不触发重排
|
|
4289
|
+
animate: {
|
|
4290
|
+
name: "sweep",
|
|
4291
|
+
duration: 4e3,
|
|
4292
|
+
delay: 1200,
|
|
4293
|
+
easing: "ease-in-out",
|
|
4294
|
+
iteration: "infinite"
|
|
4295
|
+
}
|
|
4296
|
+
},
|
|
4297
|
+
{
|
|
4298
|
+
type: "flex",
|
|
4299
|
+
rect: [0, 0, "100%", "100%"],
|
|
4300
|
+
style: { align: "center", gap: 14, padding: "0 18px" },
|
|
4301
|
+
children: [
|
|
4302
|
+
{
|
|
4303
|
+
type: "flex",
|
|
4304
|
+
style: {
|
|
4305
|
+
align: "baseline",
|
|
4306
|
+
flexShrink: "0",
|
|
4307
|
+
color: "#d3281f",
|
|
4308
|
+
transformOrigin: "left center"
|
|
4309
|
+
},
|
|
4310
|
+
animate: {
|
|
4311
|
+
name: "pop",
|
|
4312
|
+
duration: 3400,
|
|
4313
|
+
delay: 1e3,
|
|
4314
|
+
easing: "ease-in-out",
|
|
4315
|
+
iteration: "infinite"
|
|
4316
|
+
},
|
|
4317
|
+
children: [
|
|
4318
|
+
{
|
|
4319
|
+
type: "text",
|
|
4320
|
+
content: "\xA5",
|
|
4321
|
+
style: {
|
|
4322
|
+
marginRight: 1,
|
|
4323
|
+
fontSize: 18,
|
|
4324
|
+
fontWeight: "800",
|
|
4325
|
+
color: "#d3281f"
|
|
4326
|
+
}
|
|
4327
|
+
},
|
|
4328
|
+
{
|
|
4329
|
+
type: "text",
|
|
4330
|
+
content: "0.01",
|
|
4331
|
+
style: {
|
|
4332
|
+
fontSize: 42,
|
|
4333
|
+
fontWeight: "900",
|
|
4334
|
+
lineHeight: 1,
|
|
4335
|
+
letterSpacing: "-0.03em",
|
|
4336
|
+
color: "#d3281f"
|
|
4337
|
+
}
|
|
4338
|
+
}
|
|
4339
|
+
]
|
|
4340
|
+
},
|
|
4341
|
+
{
|
|
4342
|
+
type: "box",
|
|
4343
|
+
style: { width: 1, height: 34, background: "#f2dcae", flexShrink: "0" }
|
|
4344
|
+
},
|
|
4345
|
+
{
|
|
4346
|
+
type: "flex",
|
|
4347
|
+
style: { direction: "column", flex: "1" },
|
|
4348
|
+
children: [
|
|
4349
|
+
{
|
|
4350
|
+
type: "text",
|
|
4351
|
+
content: "\u6253\u5355\u53D1\u8D27 \xB7 \u5168\u529F\u80FD\u534A\u5E74\u5361",
|
|
4352
|
+
style: {
|
|
4353
|
+
fontSize: 14.5,
|
|
4354
|
+
fontWeight: "800",
|
|
4355
|
+
color: "#8f3517",
|
|
4356
|
+
letterSpacing: "0.02em"
|
|
4357
|
+
}
|
|
4358
|
+
},
|
|
4359
|
+
{
|
|
4360
|
+
type: "text",
|
|
4361
|
+
content: "\u539F\u4EF7 \xA590 / \u534A\u5E74",
|
|
4362
|
+
style: {
|
|
4363
|
+
marginTop: 5,
|
|
4364
|
+
fontSize: 11.5,
|
|
4365
|
+
lineHeight: 1.5,
|
|
4366
|
+
color: "#b08b62",
|
|
4367
|
+
textDecoration: "line-through"
|
|
4368
|
+
}
|
|
4369
|
+
}
|
|
4370
|
+
]
|
|
4371
|
+
}
|
|
4372
|
+
]
|
|
4373
|
+
}
|
|
4374
|
+
]
|
|
4375
|
+
};
|
|
4376
|
+
}
|
|
4377
|
+
|
|
4378
|
+
// src/docs/examples/gift-red-packet-body.ts
|
|
4379
|
+
var FEATURES = [
|
|
4380
|
+
{ icon: "\u{1F5A8}\uFE0F", title: "\u6279\u91CF\u6253\u5355", desc: "\u6279\u91CF\u9762\u5355\u4E00\u6B21\u51FA", delay: 340 },
|
|
4381
|
+
{ icon: "\u{1F69A}", title: "\u6279\u91CF\u53D1\u8D27", desc: "\u5168\u5E97\u8BA2\u5355\u79D2\u53D1\u5B8C", delay: 420 },
|
|
4382
|
+
{ icon: "\u{1F3EA}", title: "\u591A\u5E97\u7BA1\u7406", desc: "\u7BA1\u7406\u591A\u4E2A\u5E97\u94FA\u8BA2\u5355", delay: 500 },
|
|
4383
|
+
{ icon: "\u{1F9E9}", title: "\u8BA2\u5355\u5408\u5E76", desc: "\u540C\u5740\u5408\u5355\u7701\u8FD0\u8D39", delay: 580 },
|
|
4384
|
+
{
|
|
4385
|
+
icon: "\u{1F4CD}",
|
|
4386
|
+
title: "\u7269\u6D41\u8F68\u8FF9",
|
|
4387
|
+
desc: "\u9762\u5355\u7269\u6D41\u8F68\u8FF9\uFF0C\u5BA2\u8BC9\u63D0\u524D\u62E6\u622A",
|
|
4388
|
+
delay: 660,
|
|
4389
|
+
full: true
|
|
4390
|
+
}
|
|
4391
|
+
];
|
|
4392
|
+
function featureCell(feature) {
|
|
4393
|
+
return {
|
|
4394
|
+
type: "flex",
|
|
4395
|
+
style: {
|
|
4396
|
+
// 两列网格用 flex wrap + 百分比宽复刻:gap 8 时每列是 calc(50% - 4px),
|
|
4397
|
+
// 末项写 100% 就等于原来的 grid-column: 1 / -1
|
|
4398
|
+
width: feature.full ? "100%" : "calc(50% - 4px)",
|
|
4399
|
+
align: "center",
|
|
4400
|
+
gap: 9,
|
|
4401
|
+
padding: "9px 11px",
|
|
4402
|
+
background: "#fff8f1",
|
|
4403
|
+
borderWidth: 1,
|
|
4404
|
+
borderStyle: "solid",
|
|
4405
|
+
borderColor: "#ffe6d5",
|
|
4406
|
+
radius: 9
|
|
4407
|
+
},
|
|
4408
|
+
animate: { name: "cellIn", duration: 460, delay: feature.delay, easing: "ease-out" },
|
|
4409
|
+
children: [
|
|
4410
|
+
{
|
|
4411
|
+
type: "flex",
|
|
4412
|
+
style: {
|
|
4413
|
+
justify: "center",
|
|
4414
|
+
align: "center",
|
|
4415
|
+
width: 26,
|
|
4416
|
+
height: 26,
|
|
4417
|
+
// 图标位不许被压扁,否则长副标题会把它挤成一条
|
|
4418
|
+
flexShrink: "0",
|
|
4419
|
+
background: "#ffe9d8",
|
|
4420
|
+
radius: 7
|
|
4421
|
+
},
|
|
4422
|
+
children: [{ type: "text", content: feature.icon, style: { fontSize: 15 } }]
|
|
4423
|
+
},
|
|
4424
|
+
{
|
|
4425
|
+
type: "flex",
|
|
4426
|
+
style: { direction: "column", minWidth: 0 },
|
|
4427
|
+
children: [
|
|
4428
|
+
{
|
|
4429
|
+
type: "text",
|
|
4430
|
+
content: feature.title,
|
|
4431
|
+
style: {
|
|
4432
|
+
fontSize: 13,
|
|
4433
|
+
fontWeight: "700",
|
|
4434
|
+
lineHeight: 1.35,
|
|
4435
|
+
color: "#8f3517"
|
|
4436
|
+
}
|
|
4437
|
+
},
|
|
4438
|
+
{
|
|
4439
|
+
type: "text",
|
|
4440
|
+
content: feature.desc,
|
|
4441
|
+
style: {
|
|
4442
|
+
fontSize: 11.5,
|
|
4443
|
+
lineHeight: 1.35,
|
|
4444
|
+
color: "#b07a5c",
|
|
4445
|
+
whiteSpace: "nowrap"
|
|
4446
|
+
}
|
|
4447
|
+
}
|
|
4448
|
+
]
|
|
4449
|
+
}
|
|
4450
|
+
]
|
|
4451
|
+
};
|
|
4452
|
+
}
|
|
4453
|
+
function createFeatureGrid() {
|
|
4454
|
+
return {
|
|
4455
|
+
type: "flex",
|
|
4456
|
+
style: { wrap: true, gap: 8 },
|
|
4457
|
+
children: FEATURES.map(featureCell)
|
|
4458
|
+
};
|
|
4459
|
+
}
|
|
4460
|
+
function createCta(action) {
|
|
4461
|
+
return {
|
|
4462
|
+
type: "box",
|
|
4463
|
+
// 【必须写死高度的原因】这是绝对定位容器(角标要骑在按钮上沿外面,只能脱流),
|
|
4464
|
+
// 子节点撑不起它,不写死就塌成 0。52 即原页面 .rp-cta 的按钮高度
|
|
4465
|
+
style: { width: "100%", height: 52, marginTop: 16 },
|
|
4466
|
+
children: [
|
|
4467
|
+
{
|
|
4468
|
+
type: "box",
|
|
4469
|
+
// 高度跟满父级即可,不用再写一遍 52
|
|
4470
|
+
rect: [0, 0, "100%", "100%"],
|
|
4471
|
+
style: {
|
|
4472
|
+
background: "linear-gradient(92deg,#ff8f3d,#f5433a)",
|
|
4473
|
+
radius: 26,
|
|
4474
|
+
overflow: "hidden",
|
|
4475
|
+
cursor: "pointer",
|
|
4476
|
+
shadow: "0 8px 20px rgba(245,67,58,0.34)",
|
|
4477
|
+
transition: "transform 0.18s, box-shadow 0.18s"
|
|
4478
|
+
},
|
|
4479
|
+
animate: {
|
|
4480
|
+
name: "breath",
|
|
4481
|
+
duration: 2400,
|
|
4482
|
+
easing: "ease-in-out",
|
|
4483
|
+
iteration: "infinite"
|
|
4484
|
+
},
|
|
4485
|
+
// 原页面 hover 时上浮并暂停呼吸动画,两条都能配
|
|
4486
|
+
hoverStyle: { transform: "translateY(-2px)", animationPlayState: "paused" },
|
|
4487
|
+
action,
|
|
4488
|
+
children: [
|
|
4489
|
+
{
|
|
4490
|
+
type: "box",
|
|
4491
|
+
rect: [-90, 0, 62, "100%"],
|
|
4492
|
+
style: {
|
|
4493
|
+
background: "linear-gradient(100deg, transparent, rgba(255,255,255,0.5), transparent)",
|
|
4494
|
+
pointerEvents: "none"
|
|
4495
|
+
},
|
|
4496
|
+
animate: {
|
|
4497
|
+
name: "sweep",
|
|
4498
|
+
duration: 2900,
|
|
4499
|
+
delay: 800,
|
|
4500
|
+
easing: "ease-in-out",
|
|
4501
|
+
iteration: "infinite"
|
|
4502
|
+
}
|
|
4503
|
+
},
|
|
4504
|
+
{
|
|
4505
|
+
type: "flex",
|
|
4506
|
+
rect: [0, 0, "100%", "100%"],
|
|
4507
|
+
style: { justify: "center", align: "center", gap: 8 },
|
|
4508
|
+
children: [
|
|
4509
|
+
{ type: "text", content: "\u{1F381}", style: { fontSize: 18 } },
|
|
4510
|
+
{
|
|
4511
|
+
type: "text",
|
|
4512
|
+
content: "1 \u5206\u94B1\u8BA2\u9605\u534A\u5E74",
|
|
4513
|
+
style: {
|
|
4514
|
+
fontSize: 17,
|
|
4515
|
+
fontWeight: "700",
|
|
4516
|
+
color: "#ffffff",
|
|
4517
|
+
letterSpacing: "0.03em"
|
|
4518
|
+
}
|
|
4519
|
+
}
|
|
4520
|
+
]
|
|
4521
|
+
}
|
|
4522
|
+
]
|
|
4523
|
+
},
|
|
4524
|
+
{
|
|
4525
|
+
// 角标骑在按钮上沿外面:y 写负值即可,父级没有 overflow: hidden 就不会被裁
|
|
4526
|
+
type: "flex",
|
|
4527
|
+
rect: ["calc(100% - 112px)", -10, "auto", 22],
|
|
4528
|
+
style: {
|
|
4529
|
+
justify: "center",
|
|
4530
|
+
align: "center",
|
|
4531
|
+
gap: 4,
|
|
4532
|
+
padding: "0 10px",
|
|
4533
|
+
fontSize: 11.5,
|
|
4534
|
+
fontWeight: "700",
|
|
4535
|
+
color: "#7a3b00",
|
|
4536
|
+
letterSpacing: "0.03em",
|
|
4537
|
+
background: "linear-gradient(96deg,#ffe08a,#ffc24d)",
|
|
4538
|
+
borderWidth: 1,
|
|
4539
|
+
borderStyle: "solid",
|
|
4540
|
+
borderColor: "rgba(255,255,255,0.75)",
|
|
4541
|
+
radius: 11,
|
|
4542
|
+
shadow: "0 4px 10px rgba(190,120,20,0.3)",
|
|
4543
|
+
// 角标压在按钮上,不穿透点击的话这一块就点不动了
|
|
4544
|
+
pointerEvents: "none",
|
|
4545
|
+
zIndex: 2
|
|
4546
|
+
},
|
|
4547
|
+
animate: {
|
|
4548
|
+
name: "badge",
|
|
4549
|
+
duration: 2400,
|
|
4550
|
+
easing: "ease-in-out",
|
|
4551
|
+
iteration: "infinite"
|
|
4552
|
+
},
|
|
4553
|
+
children: [
|
|
4554
|
+
{ type: "text", content: "\u23F0", style: { fontSize: 12 } },
|
|
4555
|
+
{
|
|
4556
|
+
type: "text",
|
|
4557
|
+
content: "\u9650\u65F6\u4F18\u60E0",
|
|
4558
|
+
style: { fontSize: 11.5, fontWeight: "700", color: "#7a3b00" }
|
|
4559
|
+
}
|
|
4560
|
+
]
|
|
4561
|
+
}
|
|
4562
|
+
]
|
|
4563
|
+
};
|
|
4564
|
+
}
|
|
4565
|
+
|
|
4566
|
+
// src/docs/examples/gift-red-packet.ts
|
|
4567
|
+
var PURCHASE_URL2 = "https://fuwu.jinritemai.com/detail?from=isv.promotion&service_id=37954&promotionIdCode=CgYIASAHKAESXgpcZiuxEgmEfp%2BCuIELbEjHDmFi85jdhDOrbaXhk7JWo7S2zDy7ZoIOuQoLYASUv9XymFznWhybdvdPTpaa4bhM0ydWadh6ViYxI7%2FhpcEo%2F7W4MlNCKrcmzIu9j3YaAA%3D%3D";
|
|
4568
|
+
var giftRedPacket = {
|
|
4569
|
+
version: 1,
|
|
4570
|
+
meta: { name: "\u590D\u523B\u7EBF\u4E0A\u5F39\u7A97 \xB7 1 \u5206\u94B1\u534A\u5E74\u5361\uFF08\u7EA2\u5305\u5F00\u7BB1\u7248\uFF09" },
|
|
4571
|
+
entry: "main",
|
|
4572
|
+
keyframes: {
|
|
4573
|
+
/** 遮罩淡入 */
|
|
4574
|
+
fadeIn: { from: { opacity: "0" }, to: { opacity: "1" } },
|
|
4575
|
+
/** 弹窗回弹放大 */
|
|
4576
|
+
zoomIn: {
|
|
4577
|
+
from: { opacity: "0", transform: "scale(0.7)" },
|
|
4578
|
+
to: { opacity: "1", transform: "scale(1)" }
|
|
4579
|
+
},
|
|
4580
|
+
/** 红头顶部光晕呼吸。transform 里必须带上 translateX(-50%),否则播动画时会向右跳 */
|
|
4581
|
+
glow: {
|
|
4582
|
+
"0%": { opacity: "0.7", transform: "translateX(-50%) scale(1)" },
|
|
4583
|
+
"50%": { opacity: "1", transform: "translateX(-50%) scale(1.14)" },
|
|
4584
|
+
"100%": { opacity: "0.7", transform: "translateX(-50%) scale(1)" }
|
|
4585
|
+
},
|
|
4586
|
+
/** 缎带轻浮 */
|
|
4587
|
+
bob: {
|
|
4588
|
+
"0%": { transform: "translateY(0)" },
|
|
4589
|
+
"50%": { transform: "translateY(-3px)" },
|
|
4590
|
+
"100%": { transform: "translateY(0)" }
|
|
4591
|
+
},
|
|
4592
|
+
/** 金色光点:从下往上飘 116px,两头都是透明 */
|
|
4593
|
+
floatUp: {
|
|
4594
|
+
"0%": { opacity: "0", transform: "translateY(30px) scale(0.5)" },
|
|
4595
|
+
"18%": { opacity: "0.95" },
|
|
4596
|
+
"100%": { opacity: "0", transform: "translateY(-86px) scale(1)" }
|
|
4597
|
+
},
|
|
4598
|
+
/** 价格牌托上来 */
|
|
4599
|
+
plateIn: {
|
|
4600
|
+
"0%": { opacity: "0", transform: "translateY(24px) scale(0.94)" },
|
|
4601
|
+
"100%": { opacity: "1", transform: "translateY(0) scale(1)" }
|
|
4602
|
+
},
|
|
4603
|
+
/**
|
|
4604
|
+
* 扫光:一条斜光带从左侧滑到右侧外面,停一会儿再来一趟。
|
|
4605
|
+
*
|
|
4606
|
+
* 原页面动的是 `left`,这里改成 `transform` 位移 —— 一是 DSL 只放开 transform,
|
|
4607
|
+
* 二是动 left 每帧都要重排,动 transform 只走合成层。
|
|
4608
|
+
*/
|
|
4609
|
+
sweep: {
|
|
4610
|
+
"0%": { transform: "skew(-18deg) translateX(0)" },
|
|
4611
|
+
"42%": { transform: "skew(-18deg) translateX(600px)" },
|
|
4612
|
+
"100%": { transform: "skew(-18deg) translateX(600px)" }
|
|
4613
|
+
},
|
|
4614
|
+
/** 价格每隔几秒弹一下 */
|
|
4615
|
+
pop: {
|
|
4616
|
+
"0%": { transform: "scale(1)" },
|
|
4617
|
+
"86%": { transform: "scale(1)" },
|
|
4618
|
+
"92%": { transform: "scale(1.09)" },
|
|
4619
|
+
"100%": { transform: "scale(1)" }
|
|
4620
|
+
},
|
|
4621
|
+
/** 权益格入场,五格靠各自的 delay 交错 */
|
|
4622
|
+
cellIn: {
|
|
4623
|
+
"0%": { opacity: "0", transform: "translateY(10px)" },
|
|
4624
|
+
"100%": { opacity: "1", transform: "translateY(0)" }
|
|
4625
|
+
},
|
|
4626
|
+
/** 「限时优惠」角标轻浮 */
|
|
4627
|
+
badge: {
|
|
4628
|
+
"0%": { transform: "translateY(0)" },
|
|
4629
|
+
"50%": { transform: "translateY(-2px)" },
|
|
4630
|
+
"100%": { transform: "translateY(0)" }
|
|
4631
|
+
},
|
|
4632
|
+
/** CTA 呼吸:只放大阴影不放大自身,按钮尺寸恒定,不会把下面的内容顶动 */
|
|
4633
|
+
breath: {
|
|
4634
|
+
"0%": { shadow: "0 8px 20px rgba(245,67,58,0.34)" },
|
|
4635
|
+
"50%": { shadow: "0 12px 30px rgba(245,67,58,0.56)" },
|
|
4636
|
+
"100%": { shadow: "0 8px 20px rgba(245,67,58,0.34)" }
|
|
4637
|
+
}
|
|
4638
|
+
},
|
|
4639
|
+
views: {
|
|
4640
|
+
main: {
|
|
4641
|
+
type: "popup",
|
|
4642
|
+
stage: {
|
|
4643
|
+
width: 460,
|
|
4644
|
+
height: "auto",
|
|
4645
|
+
layout: "flow",
|
|
4646
|
+
mask: true,
|
|
4647
|
+
maskClosable: true,
|
|
4648
|
+
// 原页面遮罩 rgba(0,0,0,0.65) + 4px 毛玻璃;与挽留层共用同一份 ——
|
|
4649
|
+
// 只有栈顶那层遮罩会画,两层不一致就会在弹出挽留层时看到背景落差
|
|
4650
|
+
maskStyle: GIFT_MASK_STYLE,
|
|
4651
|
+
// 点遮罩弹二次挽留,不直接关(原页面 @click.self="tryClose()")
|
|
4652
|
+
maskAction: { type: "open", view: "confirm", mode: "stack" },
|
|
4653
|
+
// 内置关闭按钮画的就是矢量交叉线,和原页面那段内联 SVG 是同一种东西
|
|
4654
|
+
closeButton: {
|
|
4655
|
+
position: "top-right",
|
|
4656
|
+
offset: [14, 14],
|
|
4657
|
+
size: 30,
|
|
4658
|
+
style: {
|
|
4659
|
+
background: "rgba(255,255,255,0.22)",
|
|
4660
|
+
color: "#ffffff",
|
|
4661
|
+
transition: "background 0.2s"
|
|
4662
|
+
},
|
|
4663
|
+
hoverStyle: { background: "rgba(255,255,255,0.38)" },
|
|
4664
|
+
action: { type: "open", view: "confirm", mode: "stack" }
|
|
4665
|
+
},
|
|
4666
|
+
style: {
|
|
4667
|
+
radius: 16,
|
|
4668
|
+
background: "#ffffff",
|
|
4669
|
+
shadow: "0 18px 50px rgba(20,26,45,0.24)",
|
|
4670
|
+
maxWidth: "90vw",
|
|
4671
|
+
// 原页面 .rp-modal 显式指定了字体栈,弹窗内所有文字继承它,
|
|
4672
|
+
// 不写就跟着宿主页面走、字形和字重会有出入
|
|
4673
|
+
fontFamily: "-apple-system, BlinkMacSystemFont, 'PingFang SC', 'Microsoft YaHei', sans-serif"
|
|
4674
|
+
},
|
|
4675
|
+
animate: {
|
|
4676
|
+
name: "zoomIn",
|
|
4677
|
+
duration: 500,
|
|
4678
|
+
easing: "cubic-bezier(0.34, 1.56, 0.64, 1)"
|
|
4679
|
+
},
|
|
4680
|
+
maskAnimate: { name: "fadeIn", duration: 400 },
|
|
4681
|
+
onShow: { type: "track", event: "move_success_rp_show" },
|
|
4682
|
+
onClose: {
|
|
4683
|
+
type: "track",
|
|
4684
|
+
event: "move_success_rp_close",
|
|
4685
|
+
params: { reason: "{{ closeReason }}" }
|
|
4686
|
+
}
|
|
4687
|
+
},
|
|
4688
|
+
nodes: [
|
|
4689
|
+
createHead2(),
|
|
4690
|
+
createPlate(),
|
|
4691
|
+
{
|
|
4692
|
+
type: "flex",
|
|
4693
|
+
style: {
|
|
4694
|
+
direction: "column",
|
|
4695
|
+
// 底部 38 而不是原页面的 20:原页面 CTA 下面还有一行「今日不再提示」
|
|
4696
|
+
// (约 18px + 14px 间距),那一行按需求去掉了,不把留白补回来底部就贴得慌
|
|
4697
|
+
padding: "18px 26px 38px",
|
|
4698
|
+
background: "#ffffff"
|
|
4699
|
+
},
|
|
4700
|
+
children: [
|
|
4701
|
+
createFeatureGrid(),
|
|
4702
|
+
createCta({
|
|
4703
|
+
type: "sequence",
|
|
4704
|
+
actions: [
|
|
4705
|
+
{
|
|
4706
|
+
type: "track",
|
|
4707
|
+
event: "move_success_rp_claim",
|
|
4708
|
+
params: { from: "main" }
|
|
4709
|
+
},
|
|
4710
|
+
{ type: "navigate", url: PURCHASE_URL2 }
|
|
4711
|
+
]
|
|
4712
|
+
})
|
|
4713
|
+
]
|
|
4714
|
+
}
|
|
4715
|
+
]
|
|
4716
|
+
},
|
|
4717
|
+
confirm: createGiveUpView({
|
|
4718
|
+
url: PURCHASE_URL2,
|
|
4719
|
+
claimEvent: "move_success_rp_claim",
|
|
4720
|
+
giveUpEvent: "move_success_rp_give_up"
|
|
4721
|
+
})
|
|
4722
|
+
}
|
|
4723
|
+
};
|
|
4724
|
+
var gift_red_packet_default = giftRedPacket;
|
|
4725
|
+
|
|
4726
|
+
// src/docs/examples/index.ts
|
|
4727
|
+
var HOTSPOT_BG = "rgba(255,68,51,0.16)";
|
|
4728
|
+
var imageHotspot = {
|
|
4729
|
+
version: 1,
|
|
4730
|
+
type: "popup",
|
|
4731
|
+
meta: { name: "\u6574\u56FE\u70ED\u533A\u5F39\u7A97" },
|
|
4732
|
+
stage: {
|
|
4733
|
+
// 窄屏时跟着父级收,最宽不超过 420
|
|
4734
|
+
width: "calc(100% - 48px)",
|
|
4735
|
+
height: 520,
|
|
4736
|
+
mask: true,
|
|
4737
|
+
maskClosable: true,
|
|
4738
|
+
// 关闭按钮放到弹窗正下方外侧:offset 的 y 写负值即可,不会被圆角裁掉
|
|
4739
|
+
closeButton: {
|
|
4740
|
+
show: true,
|
|
4741
|
+
position: "bottom-center",
|
|
4742
|
+
offset: [0, -46],
|
|
4743
|
+
size: 34,
|
|
4744
|
+
// 不写 icon / image,用内置的矢量 × 图标(跟着 style.color 走)
|
|
4745
|
+
style: {
|
|
4746
|
+
background: "rgba(0,0,0,0.4)",
|
|
4747
|
+
color: "#ffffff",
|
|
4748
|
+
fontSize: 18,
|
|
4749
|
+
borderWidth: 1,
|
|
4750
|
+
borderStyle: "solid",
|
|
4751
|
+
borderColor: "rgba(255,255,255,0.55)"
|
|
4752
|
+
}
|
|
4753
|
+
},
|
|
4754
|
+
style: { radius: 12, maxWidth: 420 },
|
|
4755
|
+
// 曝光埋点:数据就绪、弹窗真正展示时触发一次
|
|
4756
|
+
onShow: { type: "track", event: "popup_show", params: { popup: "image_hotspot" } },
|
|
4757
|
+
// 关闭埋点:点 X、点遮罩、点「不再提醒」都会触发,用 closeReason 区分
|
|
4758
|
+
onClose: {
|
|
4759
|
+
type: "track",
|
|
4760
|
+
event: "popup_close",
|
|
4761
|
+
params: { popup: "image_hotspot", reason: "{{ closeReason }}" }
|
|
4762
|
+
}
|
|
4763
|
+
},
|
|
4764
|
+
nodes: [
|
|
4765
|
+
{
|
|
4766
|
+
// 背景图用百分比铺满舞台,舞台宽度变了也不用改配置
|
|
4767
|
+
id: "bg",
|
|
4768
|
+
type: "image",
|
|
4769
|
+
rect: [0, 0, "100%", "100%"],
|
|
4770
|
+
src: "https://picsum.photos/id/1015/420/520"
|
|
4771
|
+
},
|
|
4772
|
+
// 热区想放几个放几个,位置各自由 rect 决定,互不影响。
|
|
4773
|
+
// 热区 = 一个透明的 box + action,调试时把 background 的透明度调高就能看见框。
|
|
4774
|
+
{
|
|
4775
|
+
id: "hotspot-rule",
|
|
4776
|
+
type: "box",
|
|
4777
|
+
// 右上角「活动规则」
|
|
4778
|
+
rect: ["62%", 24, "30%", 30],
|
|
4779
|
+
style: { radius: 15, background: HOTSPOT_BG, cursor: "pointer" },
|
|
4780
|
+
action: {
|
|
4781
|
+
type: "sequence",
|
|
4782
|
+
actions: [
|
|
4783
|
+
{ type: "track", event: "popup_click", params: { area: "rule" } },
|
|
4784
|
+
{
|
|
4785
|
+
type: "navigate",
|
|
4786
|
+
url: "https://maibaole.example.com/rule",
|
|
4787
|
+
target: "_blank"
|
|
4788
|
+
}
|
|
4789
|
+
]
|
|
4790
|
+
}
|
|
4791
|
+
},
|
|
4792
|
+
{
|
|
3408
4793
|
id: "hotspot-plan-a",
|
|
3409
4794
|
type: "box",
|
|
3410
4795
|
// 中部左半:套餐 A
|
|
@@ -3579,6 +4964,16 @@ var examples = [
|
|
|
3579
4964
|
label: "\u2469 \u62BD\u5C49\u5E95\u90E8 Banner\uFF08\u56FA\u5B9A 400\xD745\uFF09",
|
|
3580
4965
|
value: "drawerBottomBanner",
|
|
3581
4966
|
dsl: drawerBottomBanner
|
|
4967
|
+
},
|
|
4968
|
+
{
|
|
4969
|
+
label: "\u246A \u590D\u523B\u7EBF\u4E0A\u5F39\u7A97 \xB7 4 \u6298\u793C\u5305\uFF08\u52A8\u753B + \u4E8C\u6B21\u633D\u7559\uFF09",
|
|
4970
|
+
value: "giftV6",
|
|
4971
|
+
dsl: gift_v6_default
|
|
4972
|
+
},
|
|
4973
|
+
{
|
|
4974
|
+
label: "\u246B \u590D\u523B\u7EBF\u4E0A\u5F39\u7A97 \xB7 1 \u5206\u94B1\u534A\u5E74\u5361\uFF08\u52A8\u753B\u6700\u5BC6\u7684\u4E00\u4EFD\uFF09",
|
|
4975
|
+
value: "giftRedPacket",
|
|
4976
|
+
dsl: gift_red_packet_default
|
|
3582
4977
|
}
|
|
3583
4978
|
];
|
|
3584
4979
|
var examples_default = examples;
|
|
@@ -3612,7 +5007,7 @@ function blockToMarkdown(block) {
|
|
|
3612
5007
|
return "";
|
|
3613
5008
|
}
|
|
3614
5009
|
}
|
|
3615
|
-
function toMarkdown(
|
|
5010
|
+
function toMarkdown(sections11, meta2) {
|
|
3616
5011
|
const lines = [
|
|
3617
5012
|
"# \u8425\u9500\u5185\u5BB9 DSL \xB7 \u5F00\u53D1\u6587\u6863",
|
|
3618
5013
|
"",
|
|
@@ -3622,7 +5017,7 @@ function toMarkdown(sections10, meta2) {
|
|
|
3622
5017
|
"> \u672C\u6587\u4EF6\u7531\u300C\u8425\u9500DSL\u8C03\u8BD5\u53F0 \u2192 \u5F00\u53D1\u6587\u6863\u300D\u5BFC\u51FA\u3002DSL \u6709\u6539\u52A8\u65F6\u8BF7\u91CD\u65B0\u5BFC\u51FA\uFF0C\u4E0D\u8981\u624B\u5DE5\u4FEE\u6539\u672C\u6587\u4EF6\u3002",
|
|
3623
5018
|
""
|
|
3624
5019
|
];
|
|
3625
|
-
|
|
5020
|
+
sections11.forEach((section) => {
|
|
3626
5021
|
lines.push(`## ${section.title}`, "");
|
|
3627
5022
|
section.blocks.forEach((block) => {
|
|
3628
5023
|
const text = blockToMarkdown(block);
|
|
@@ -3683,17 +5078,28 @@ function structureSection() {
|
|
|
3683
5078
|
"layout": "flow", // "absolute" \u6216 "flow"\uFF0C\u89C1\u4E0B\u9762\u300C\u5E03\u5C40\u300D
|
|
3684
5079
|
"mask": true,
|
|
3685
5080
|
"maskClosable": false,
|
|
5081
|
+
// \u53EF\u9009\uFF1A\u906E\u7F69\u6837\u5F0F\uFF0C\u8D70 style \u767D\u540D\u5355\u3002\u4E0D\u5199\u5C31\u662F\u5185\u7F6E\u7684 rgba(0,0,0,0.55) \u7EAF\u8272
|
|
5082
|
+
"maskStyle": { "background": "rgba(0,0,0,0.65)", "backdropFilter": "blur(4px)" },
|
|
5083
|
+
// \u53EF\u9009\uFF1A\u70B9\u906E\u7F69\u505A\u4EC0\u4E48\u3002\u4E0D\u5199 = \u5173\u6389\u8FD9\u4E00\u5C42\uFF1B\u5199\u4E86 = \u53EA\u6267\u884C\u52A8\u4F5C\u3001\u4E0D\u5173\u5C42
|
|
5084
|
+
"maskAction": { "type": "open", "view": "confirm", "mode": "stack" },
|
|
3686
5085
|
"closeButton": {
|
|
3687
5086
|
"position": "top-right", // ${CLOSE_POSITIONS.join(" | ")}
|
|
3688
5087
|
"offset": [12, 12], // [x, y]\uFF1B\u5199\u8D1F\u503C = \u6309\u94AE\u8DD1\u5230\u5F39\u7A97\u5916\u9762
|
|
3689
5088
|
"size": 26,
|
|
3690
5089
|
// icon / image \u90FD\u4E0D\u5199\u65F6\uFF0C\u753B\u7684\u662F\u5185\u7F6E\u7684\u77E2\u91CF \xD7 \u56FE\u6807 \u2014\u2014 \u9ED8\u8BA4\u5C31\u662F\u5BF9\u7684\uFF0C\u4E0D\u7528\u914D
|
|
3691
|
-
"style": { "background": "rgba(0,0,0,0.35)", "color": "#fff" }
|
|
5090
|
+
"style": { "background": "rgba(0,0,0,0.35)", "color": "#fff" },
|
|
5091
|
+
// \u53EF\u9009\uFF1A\u70B9 \u2715 \u505A\u4EC0\u4E48\u3002\u4E0D\u5199 = \u5173\u6389\u8FD9\u4E00\u5C42\uFF1B\u5199\u4E86 = \u53EA\u6267\u884C\u52A8\u4F5C\u3001\u4E0D\u5173\u5C42
|
|
5092
|
+
"action": { "type": "open", "view": "confirm", "mode": "stack" }
|
|
3692
5093
|
},
|
|
3693
5094
|
"style": { "radius": 18, "maxWidth": 420 }
|
|
3694
5095
|
}
|
|
3695
5096
|
\`\`\`
|
|
3696
5097
|
|
|
5098
|
+
\`maskClosable\` \u51B3\u5B9A\u906E\u7F69\u54CD\u4E0D\u54CD\u5E94\u70B9\u51FB\uFF0C\`maskAction\` \u51B3\u5B9A\u70B9\u4E86\u505A\u4EC0\u4E48\uFF0C\u4E24\u4EF6\u4E8B\uFF1A
|
|
5099
|
+
\`maskClosable: false\` \u65F6\u5149\u914D \`maskAction\` \u4E0D\u4F1A\u89E6\u53D1\u3002
|
|
5100
|
+
\`maskAction\` / \`closeButton.action\` \u914D\u4E86\u5C31**\u4E0D\u518D\u81EA\u52A8\u5173\u5C42**\uFF0C\u8981\u5173\u5C31\u628A \`close\` \u5199\u8FDB\u52A8\u4F5C\u91CC\u3002
|
|
5101
|
+
\u300C\u70B9 \u2715 \u6216\u70B9\u906E\u7F69\u5148\u5F39\u4E8C\u6B21\u633D\u7559\u300D\u7684\u6807\u51C6\u5199\u6CD5\u5C31\u662F\u8FD9\u4E24\u4E2A\u5B57\u6BB5\u5404\u914D\u4E00\u4E2A \`open\`\u3002
|
|
5102
|
+
|
|
3697
5103
|
**\u5173\u95ED\u6309\u94AE\u7684\u56FE\u6807\u4E0D\u8981\u778E\u914D\u3002** \u9ED8\u8BA4\u662F\u5185\u7F6E\u77E2\u91CF\u56FE\u6807\uFF08\u4E24\u6761\u4EA4\u53C9\u7EBF\uFF0C\u5C45\u4E2D\u5BF9\u9F50\u5DF2\u7ECF\u8C03\u597D\uFF09\uFF0C
|
|
3698
5104
|
\u7528\u6237\u6CA1\u63D0\u300C\u6362\u56FE\u6807\u300D\u5C31**\u4E0D\u8981\u5199 \`icon\`**\u2014\u2014\u5199\u6210 \`"icon": "\xD7"\` \u4F1A\u9000\u56DE\u6587\u672C\u5B57\u7B26\u6E32\u67D3\uFF0C
|
|
3699
5105
|
\u90A3\u4E2A\u5B57\u5F62\u672C\u8EAB\u504F\u4E0A\u504F\u5C0F\uFF0C\u770B\u7740\u5C31\u662F\u6CA1\u5BF9\u9F50\u3002\u786E\u5B9E\u8981\u6362\u65F6\uFF1A
|
|
@@ -3755,6 +5161,8 @@ function checklistSection() {
|
|
|
3755
5161
|
- [ ] \u6BCF\u4E2A\u89C6\u56FE\u7684 \`stage\` \u90FD\u6709 \`onShow\` \u66DD\u5149\u57CB\u70B9\u548C \`onClose\` \u5173\u95ED\u57CB\u70B9\uFF0C\`onClose\` \u7684 params \u91CC\u5E26\u4E0A \`"reason": "{{ closeReason }}"\`
|
|
3756
5162
|
- [ ] \u5173\u95ED\u6309\u94AE\u6CA1\u6709\u591A\u4F59\u7684 \`icon\`\uFF08\u9ED8\u8BA4\u7684\u5185\u7F6E\u77E2\u91CF\u56FE\u6807\u5C31\u662F\u5BF9\u7684\uFF09
|
|
3757
5163
|
- [ ] \u6CA1\u6709\u7528 \`call\` \u53BB\u8BB0\u5F55\u7528\u6237\u610F\u56FE\u6216\u5199\u672C\u5730\u5B58\u50A8\uFF08\`call\` \u53EA\u7528\u6765\u8BA9\u5BBF\u4E3B\u505A\u4E00\u4EF6\u4E8B\uFF0C\u5982\u5524\u8D77\u5145\u503C / \u6253\u5F00\u5BA2\u670D / \u590D\u5236\u5230\u526A\u8D34\u677F\uFF09\u3002\u300C\u4E0D\u518D\u63D0\u9192\u300D\u5199\u6210 \`{ "type": "close", "reason": "user-dismiss" }\`\uFF0C\u4E0D\u914D \`call\`
|
|
5164
|
+
- [ ] \u6BCF\u4E2A \`animate.name\` \u90FD\u80FD\u5728\u9876\u5C42 \`keyframes\` \u91CC\u627E\u5230\uFF1B\`easing\` \u5728\u767D\u540D\u5355\u91CC\uFF1B\u6CA1\u6709\u5B9A\u4E49\u4E86\u5374\u6CA1\u4EBA\u5F15\u7528\u7684\u5173\u952E\u5E27
|
|
5165
|
+
- [ ] \u88C5\u9970\u6027\u56FE\u5C42\uFF08\u5149\u6655\u3001\u626B\u5149\u3001\u5149\u70B9\uFF09\u90FD\u5199\u4E86 \`"pointerEvents": "none"\`
|
|
3758
5166
|
- [ ] \u8F93\u51FA\u7684\u662F\u5408\u6CD5 JSON\uFF08\u6CA1\u6709\u591A\u4F59\u9017\u53F7\u3001\u6CA1\u6709\u6CE8\u91CA\uFF09`;
|
|
3759
5167
|
}
|
|
3760
5168
|
function requirementSection() {
|
|
@@ -3910,6 +5318,9 @@ function countdownSection() {
|
|
|
3910
5318
|
|
|
3911
5319
|
\u5199\u6210 \`"\u4E0B\u5468\u4E09"\` \u8FD9\u79CD\u8BC6\u522B\u4E0D\u4E86\u7684\u4F1A\u5728\u4FDD\u5B58\u524D\u62A5\u9519\u3002
|
|
3912
5320
|
|
|
5321
|
+
\u300C\u6253\u5F00\u540E 5 \u5206\u949F\u5185\u4E0B\u5355\u300D\u8FD9\u79CD**\u76F8\u5BF9**\u65F6\u957F\u4E0D\u8981\u53BB\u7B97\u7ED3\u675F\u65F6\u95F4\uFF0C\u5199 \`"duration": 300000\`\uFF08\u6BEB\u79D2\uFF09\u4EE3\u66FF \`to\`\uFF0C
|
|
5322
|
+
\u4ECE\u8FD9\u4E00\u5C4F\u5C55\u793A\u90A3\u4E00\u523B\u8D77\u7B97\u3002\`to\` \u548C \`duration\` \u81F3\u5C11\u8981\u6709\u4E00\u4E2A\uFF0C\u540C\u65F6\u5199\u4EE5 \`to\` \u4E3A\u51C6\u3002
|
|
5323
|
+
|
|
3913
5324
|
\u5F52\u96F6\u65F6\u53EF\u4EE5\u505A\u70B9\u4EC0\u4E48\uFF0C\u7528 \`onEnd\`\uFF08\u4EFB\u610F\u52A8\u4F5C\uFF09\uFF1A\`{ "type": "track", "event": "countdown_end" }\` \u4E0A\u62A5\u3001\`{ "type": "close" }\` \u81EA\u52A8\u5173\u5F39\u7A97\u3001\`{ "type": "open", "view": "expired", "mode": "replace" }\` \u6362\u5C4F\u3002**\u53EA\u5728\u7528\u6237\u773C\u770B\u7740\u5B83\u5F52\u96F6\u65F6\u89E6\u53D1**\uFF0C\u6253\u5F00\u65F6\u5C31\u5DF2\u7ECF\u8FC7\u671F\u7684\u4E0D\u89E6\u53D1\u3002
|
|
3914
5325
|
|
|
3915
5326
|
\u60F3\u8BA9\u300C\u5DF2\u7ED3\u675F\u300D\u663E\u793A\u6210\u53E6\u4E00\u5957\u6392\u7248\uFF0C\u7528 \`cd.ended\` \u914D \`visibleWhen\`\uFF0C\u4E0D\u8981\u7528 \`onEnd\`\u3002
|
|
@@ -4023,6 +5434,65 @@ ${DEFAULT_USER_FIELDS.map((field) => `\`${field}\`\uFF08${USER_FIELD_LABELS[fiel
|
|
|
4023
5434
|
\u5207 tab \u8981\u6362\u6210\u5B8C\u5168\u4E0D\u540C\u7684\u6392\u7248\u65F6\uFF0C\u5199\u4E24\u5957\u8282\u70B9\u5404\u914D\u4E00\u4E2A \`visibleWhen\`\uFF08\u5982 \`current.mode == 'grid'\` / \`current.mode == 'list'\`\uFF09\uFF0C\u540C\u4E00\u65F6\u523B\u53EA\u663E\u793A\u4E00\u5957\u3002\u4E0D\u8981\u8BD5\u56FE\u7528\u4E00\u5957\u8282\u70B9\u786C\u51D1\u3002`;
|
|
4024
5435
|
}
|
|
4025
5436
|
|
|
5437
|
+
// src/docs/ai-prompt/animation.ts
|
|
5438
|
+
function animationSection() {
|
|
5439
|
+
return `# \u52A8\u753B\u4E0E hover
|
|
5440
|
+
|
|
5441
|
+
\u4E24\u6B65\uFF1A\u9876\u5C42 \`keyframes\` \u5B9A\u4E49\u5173\u952E\u5E27 \u2192 \u9700\u8981\u52A8\u7684\u5730\u65B9\u5199 \`animate\` \u5F15\u7528\u5B83\u3002\u5173\u952E\u5E27\u5E93\u5168\u914D\u7F6E\u5171\u7528\u3002
|
|
5442
|
+
|
|
5443
|
+
\`\`\`jsonc
|
|
5444
|
+
"keyframes": {
|
|
5445
|
+
"zoomIn": { "from": { "opacity": "0", "transform": "scale(0.7)" },
|
|
5446
|
+
"to": { "opacity": "1", "transform": "scale(1)" } },
|
|
5447
|
+
"floatY": { "0%": { "transform": "translateY(0)" },
|
|
5448
|
+
"50%": { "transform": "translateY(-8px)" },
|
|
5449
|
+
"100%": { "transform": "translateY(0)" } }
|
|
5450
|
+
},
|
|
5451
|
+
"stage": {
|
|
5452
|
+
"animate": { "name": "zoomIn", "duration": 500, "easing": "cubic-bezier(0.34, 1.56, 0.64, 1)" },
|
|
5453
|
+
"maskAnimate": { "name": "fadeIn", "duration": 400 }
|
|
5454
|
+
},
|
|
5455
|
+
// \u4EFB\u610F\u8282\u70B9\u3001\u4EE5\u53CA stage.closeButton \u4E0A\u90FD\u80FD\u5199 animate
|
|
5456
|
+
{ "animate": { "name": "floatY", "duration": 3000, "easing": "ease-in-out", "iteration": "infinite" } }
|
|
5457
|
+
\`\`\`
|
|
5458
|
+
|
|
5459
|
+
\`animate\` \u5B57\u6BB5\uFF1A\`name\`\uFF08\u5FC5\u586B\uFF0C\u5FC5\u987B\u5728 keyframes \u91CC\u5B9A\u4E49\u8FC7\uFF09\u3001\`duration\`\uFF08\u5FC5\u586B\uFF0C\u6BEB\u79D2\uFF0C>0\uFF09\u3001
|
|
5460
|
+
\`delay\`\uFF08\u6BEB\u79D2\uFF0C\u9ED8\u8BA4 0\uFF09\u3001\`easing\`\uFF08\u9ED8\u8BA4 \`ease\`\uFF09\u3001\`iteration\`\uFF08\u6B63\u6574\u6570\u6216 \`"infinite"\`\uFF0C\u9ED8\u8BA4 1\uFF09\u3001
|
|
5461
|
+
\`direction\`\uFF08\`normal\`/\`reverse\`/\`alternate\`/\`alternate-reverse\`\uFF09\u3001\`fill\`\uFF08\u9ED8\u8BA4 \`both\`\uFF0C**\u4E0D\u8981\u6539**\uFF09\u3002
|
|
5462
|
+
|
|
5463
|
+
\`easing\` \u53EA\u80FD\u662F\uFF1A${ALLOWED_EASINGS.map((item) => "`" + item + "`").join(" ")}\uFF0C
|
|
5464
|
+
\u6216 \`cubic-bezier(0.34, 1.56, 0.64, 1)\` \u8FD9\u79CD\u56DB\u53C2\u6570\u5199\u6CD5\u3002**\u522B\u7684\u53D6\u503C\u4E00\u5F8B\u62A5\u9519**\u3002
|
|
5465
|
+
|
|
5466
|
+
\u5173\u952E\u5E27\u7684\u504F\u79FB\u91CF\u53EA\u80FD\u5199 \`"from"\` / \`"to"\` / \`"50%"\`\uFF1B\u6BCF\u4E00\u5E27\u7684\u503C\u662F\u6837\u5F0F\u5BF9\u8C61\uFF0C\u952E\u8D70 style \u767D\u540D\u5355
|
|
5467
|
+
\uFF08\u52A8\u753B\u91CC\u5E38\u7528\u7684\u5C31 \`transform\` \`opacity\` \`shadow\` \`background\` \`color\`\uFF09\u3002
|
|
5468
|
+
|
|
5469
|
+
\u89C4\u5219\uFF1A
|
|
5470
|
+
|
|
5471
|
+
- \u4E00\u4E2A\u8282\u70B9\u53EA\u80FD\u6302\u4E00\u7EC4 \`animate\`\u3002\u65E2\u8981\u5165\u573A\u53C8\u8981\u5FAA\u73AF\uFF0C\u5C31\u62C6\u6210\u7236\u5B50\u4E24\u5C42
|
|
5472
|
+
- \u4EA4\u9519\u5165\u573A\u7528**\u540C\u4E00\u7EC4\u5173\u952E\u5E27 + \u4E0D\u540C \`delay\`**\u3002\`delay\` \u5FC5\u987B\u662F\u5E38\u91CF\u6570\u5B57\uFF0C\u4E0D\u652F\u6301 \`{{ }}\`\uFF0C\u6240\u4EE5\u4EA4\u9519\u5217\u8868\u8981\u4E00\u683C\u4E00\u683C\u5199\u3001\u4E0D\u80FD\u7528 \`repeat\`
|
|
5473
|
+
- \u5FAA\u73AF\u52A8\u753B\u5199 \`"iteration": "infinite"\`\uFF0C\u5E45\u5EA6\u8981\u5C0F\uFF08\u6309\u94AE\u8109\u51B2\u653E\u5927 2% \u5C31\u591F\uFF09
|
|
5474
|
+
- \u4F4D\u79FB\u4E00\u5F8B\u7528 \`transform\`\uFF0C\u4E0D\u8981\u52A8\u5BBD\u9AD8 / \`left\`\uFF08\u6BCF\u5E27\u91CD\u6392\uFF09\uFF1B\u6309\u94AE\u547C\u5438\u4F18\u5148\u52A8 \`shadow\`
|
|
5475
|
+
- \u88C5\u9970\u5C42\uFF08\u5149\u6655\u3001\u626B\u5149\u6761\u3001\u5149\u70B9\uFF09\u5FC5\u987B\u5199 \`"pointerEvents": "none"\`\uFF0C\u5426\u5219\u6321\u4F4F\u4E0B\u9762\u7684\u6309\u94AE
|
|
5476
|
+
- \u5B9A\u4E49\u4E86\u6CA1\u4EBA\u5F15\u7528\u7684\u5173\u952E\u5E27\u4F1A\u544A\u8B66\uFF0C\u4E0D\u8981\u7559
|
|
5477
|
+
|
|
5478
|
+
\`hoverStyle\` \u4E0E \`style\` \u540C\u4E00\u5957\u767D\u540D\u5355\uFF0C\u53EA\u5728\u9F20\u6807\u60AC\u505C\u65F6\u751F\u6548\uFF08\u8282\u70B9\u4E0E \`stage.closeButton\` \u90FD\u80FD\u5199\uFF09\u3002
|
|
5479
|
+
\u8981\u5E73\u6ED1\u8FC7\u6E21\u5C31\u5728 \`style\` \u91CC\u5199 \`transition\`\u3002\u89E6\u5C4F\u6CA1\u6709 hover\uFF0C**hover \u91CC\u4E0D\u80FD\u653E\u4FE1\u606F**\u3002
|
|
5480
|
+
\u5E26\u5FAA\u73AF\u52A8\u753B\u7684\u6309\u94AE\u60F3\u5728\u60AC\u505C\u65F6\u505C\u4F4F\uFF0C\u5728 \`hoverStyle\` \u91CC\u52A0 \`"animationPlayState": "paused"\`
|
|
5481
|
+
\uFF08\u5199\u8FDB \`style\` \u7B49\u4E8E\u4E00\u5F00\u59CB\u5C31\u6682\u505C\uFF0C\u6CA1\u6709\u610F\u4E49\uFF09\u3002
|
|
5482
|
+
|
|
5483
|
+
\`\`\`jsonc
|
|
5484
|
+
{ "type": "text", "content": "\u2715",
|
|
5485
|
+
"style": { "background": "rgba(0,0,0,0.08)", "transition": "background 0.2s" },
|
|
5486
|
+
"hoverStyle": { "background": "rgba(0,0,0,0.2)" } }
|
|
5487
|
+
\`\`\`
|
|
5488
|
+
|
|
5489
|
+
\u7CFB\u7EDF\u5F00\u4E86\u300C\u51CF\u5C11\u52A8\u6001\u6548\u679C\u300D\u65F6\uFF0C\u89E3\u91CA\u5668\u4F1A\u81EA\u52A8\u628A\u8FD9\u4EFD\u7269\u6599\u7684\u52A8\u753B\u548C\u8FC7\u6E21\u5168\u90E8\u5173\u6389\uFF0C\u914D\u7F6E\u91CC\u4E0D\u7528\u7BA1\uFF0C
|
|
5490
|
+
\u4E5F\u6CA1\u6709\u5F00\u5173\u80FD\u7ED5\u8FC7 \u2014\u2014 \u6240\u4EE5**\u9759\u6B62\u72B6\u6001\u4E0B\u8FD9\u4EFD\u7269\u6599\u5FC5\u987B\u5B8C\u6574\u53EF\u8BFB\u3001\u53EF\u70B9**\u3002
|
|
5491
|
+
|
|
5492
|
+
\u6CA1\u6709 \`position\`\u3001\u6CA1\u6709\u81EA\u7531 CSS\uFF1A\u7EDD\u5BF9\u5B9A\u4F4D\u7528 \`rect\`\uFF0C\`zIndex\` \u53EA\u5141\u8BB8 0~10\u3002
|
|
5493
|
+
\`keyframes\` \u548C \`hoverStyle\` \u7684\u503C\u91CC\u51FA\u73B0 \`{\` \`}\` \`<\` \`>\` \`;\` \`@\` \`/*\` \`\\\` \u65F6\uFF0C\u90A3\u6761\u58F0\u660E\u4F1A\u88AB\u6574\u6761\u4E22\u5F03\u3002`;
|
|
5494
|
+
}
|
|
5495
|
+
|
|
4026
5496
|
// src/docs/ai-prompt/index.ts
|
|
4027
5497
|
function findExample(value) {
|
|
4028
5498
|
const found = examples_default.filter((item) => item.value === value)[0];
|
|
@@ -4056,6 +5526,7 @@ ${JSON.stringify(full, null, 2)}
|
|
|
4056
5526
|
actionSection(),
|
|
4057
5527
|
viewsSection(),
|
|
4058
5528
|
countdownSection(),
|
|
5529
|
+
animationSection(),
|
|
4059
5530
|
exampleSection,
|
|
4060
5531
|
checklistSection(),
|
|
4061
5532
|
requirementSection()
|