@open-feishu-card/schema 0.1.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/dist/card.d.ts +2761 -0
- package/dist/card.d.ts.map +1 -0
- package/dist/card.js +41 -0
- package/dist/card.js.map +1 -0
- package/dist/common/behavior.d.ts +49 -0
- package/dist/common/behavior.d.ts.map +1 -0
- package/dist/common/behavior.js +39 -0
- package/dist/common/behavior.js.map +1 -0
- package/dist/common/behaviors-context.d.ts +19 -0
- package/dist/common/behaviors-context.d.ts.map +1 -0
- package/dist/common/behaviors-context.js +88 -0
- package/dist/common/behaviors-context.js.map +1 -0
- package/dist/common/confirm.d.ts +18 -0
- package/dist/common/confirm.d.ts.map +1 -0
- package/dist/common/confirm.js +12 -0
- package/dist/common/confirm.js.map +1 -0
- package/dist/common/enums.d.ts +115 -0
- package/dist/common/enums.d.ts.map +1 -0
- package/dist/common/enums.js +131 -0
- package/dist/common/enums.js.map +1 -0
- package/dist/common/fallback.d.ts +17 -0
- package/dist/common/fallback.d.ts.map +1 -0
- package/dist/common/fallback.js +22 -0
- package/dist/common/fallback.js.map +1 -0
- package/dist/common/icon-tokens.d.ts +1162 -0
- package/dist/common/icon-tokens.d.ts.map +1 -0
- package/dist/common/icon-tokens.js +1163 -0
- package/dist/common/icon-tokens.js.map +1 -0
- package/dist/common/icon.d.ts +3506 -0
- package/dist/common/icon.d.ts.map +1 -0
- package/dist/common/icon.js +49 -0
- package/dist/common/icon.js.map +1 -0
- package/dist/common/index.d.ts +9 -0
- package/dist/common/index.d.ts.map +1 -0
- package/dist/common/index.js +9 -0
- package/dist/common/index.js.map +1 -0
- package/dist/common/text.d.ts +107 -0
- package/dist/common/text.d.ts.map +1 -0
- package/dist/common/text.js +80 -0
- package/dist/common/text.js.map +1 -0
- package/dist/common/url.d.ts +22 -0
- package/dist/common/url.d.ts.map +1 -0
- package/dist/common/url.js +30 -0
- package/dist/common/url.js.map +1 -0
- package/dist/config.d.ts +226 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +123 -0
- package/dist/config.js.map +1 -0
- package/dist/containers/index.d.ts +1421 -0
- package/dist/containers/index.d.ts.map +1 -0
- package/dist/containers/index.js +205 -0
- package/dist/containers/index.js.map +1 -0
- package/dist/content/index.d.ts +3801 -0
- package/dist/content/index.d.ts.map +1 -0
- package/dist/content/index.js +426 -0
- package/dist/content/index.js.map +1 -0
- package/dist/element-ref.d.ts +6 -0
- package/dist/element-ref.d.ts.map +1 -0
- package/dist/element-ref.js +17 -0
- package/dist/element-ref.js.map +1 -0
- package/dist/element.d.ts +11614 -0
- package/dist/element.d.ts.map +1 -0
- package/dist/element.js +46 -0
- package/dist/element.js.map +1 -0
- package/dist/header.d.ts +1253 -0
- package/dist/header.d.ts.map +1 -0
- package/dist/header.js +27 -0
- package/dist/header.js.map +1 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +16 -0
- package/dist/index.js.map +1 -0
- package/dist/interactive/index.d.ts +5371 -0
- package/dist/interactive/index.d.ts.map +1 -0
- package/dist/interactive/index.js +533 -0
- package/dist/interactive/index.js.map +1 -0
- package/dist/markdown/builders.d.ts +59 -0
- package/dist/markdown/builders.d.ts.map +1 -0
- package/dist/markdown/builders.js +140 -0
- package/dist/markdown/builders.js.map +1 -0
- package/dist/markdown/code-language.d.ts +78 -0
- package/dist/markdown/code-language.d.ts.map +1 -0
- package/dist/markdown/code-language.js +79 -0
- package/dist/markdown/code-language.js.map +1 -0
- package/dist/markdown/component.d.ts +1224 -0
- package/dist/markdown/component.d.ts.map +1 -0
- package/dist/markdown/component.js +38 -0
- package/dist/markdown/component.js.map +1 -0
- package/dist/markdown/emoji-tokens.d.ts +192 -0
- package/dist/markdown/emoji-tokens.d.ts.map +1 -0
- package/dist/markdown/emoji-tokens.js +193 -0
- package/dist/markdown/emoji-tokens.js.map +1 -0
- package/dist/markdown/enums.d.ts +51 -0
- package/dist/markdown/enums.d.ts.map +1 -0
- package/dist/markdown/enums.js +49 -0
- package/dist/markdown/enums.js.map +1 -0
- package/dist/markdown/escape.d.ts +8 -0
- package/dist/markdown/escape.d.ts.map +1 -0
- package/dist/markdown/escape.js +42 -0
- package/dist/markdown/escape.js.map +1 -0
- package/dist/markdown/index.d.ts +16 -0
- package/dist/markdown/index.d.ts.map +1 -0
- package/dist/markdown/index.js +16 -0
- package/dist/markdown/index.js.map +1 -0
- package/dist/markdown/tags.d.ts +1293 -0
- package/dist/markdown/tags.d.ts.map +1 -0
- package/dist/markdown/tags.js +238 -0
- package/dist/markdown/tags.js.map +1 -0
- package/dist/markdown/text-size.d.ts +60 -0
- package/dist/markdown/text-size.d.ts.map +1 -0
- package/dist/markdown/text-size.js +58 -0
- package/dist/markdown/text-size.js.map +1 -0
- package/package.json +37 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.d.ts","sourceRoot":"","sources":["../../src/markdown/component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAWxB;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;kBAI5B,CAAC;AAEJ,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAE9D;;;;;;;;;;GAUG;AACH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAyBxB,CAAC;AAEJ,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { ElementIdSchema, HorizontalAlignSchema, SpacingValueSchema, } from '../common/enums.js';
|
|
3
|
+
import { IconSchema } from '../common/icon.js';
|
|
4
|
+
import { MultiUrlSchema } from '../common/url.js';
|
|
5
|
+
import { MarkdownTextSizeSchema } from './text-size.js';
|
|
6
|
+
/**
|
|
7
|
+
* 历史差异化跳转映射(JSON 1.0 / 旧语法)。
|
|
8
|
+
* JSON 2.0 已不推荐;请优先使用 `<link>` 标签。
|
|
9
|
+
*/
|
|
10
|
+
export const MarkdownHrefSchema = z
|
|
11
|
+
.record(z.string(), MultiUrlSchema)
|
|
12
|
+
.describe('差异化跳转映射(旧语法)。content 中使用 [文案]($key) 引用;JSON 2.0 建议改用 <link>');
|
|
13
|
+
/**
|
|
14
|
+
* 富文本(Markdown)组件。
|
|
15
|
+
*
|
|
16
|
+
* `content` 支持 CommonMark 标准语法(除 HTMLBlock)以及飞书扩展标签:
|
|
17
|
+
* `<at>` / `<person>` / `<link>` / `<text_tag>` / `<number_tag>` /
|
|
18
|
+
* `<local_datetime>` / `<font>` / `<a>` / `<audio>` / `<br>` / `<hr>` 等。
|
|
19
|
+
*
|
|
20
|
+
* 推荐使用 `markdown()` 构建器生成 content。
|
|
21
|
+
*
|
|
22
|
+
* @see https://open.feishu.cn/document/feishu-cards/card-json-v2-components/content-components/rich-text
|
|
23
|
+
*/
|
|
24
|
+
export const MarkdownSchema = z
|
|
25
|
+
.object({
|
|
26
|
+
tag: z.literal('markdown').describe('组件标签,固定为 markdown'),
|
|
27
|
+
content: z
|
|
28
|
+
.string()
|
|
29
|
+
.describe("Markdown 文本。分区标题默认写成 **分区名**(勿用 # 标题、勿默认色条丨)。字段标签用 <font color='grey'>;短标识用 <text_tag>。仅展示人员用 <person>,要通知用 <at>;二者勿包进 <font>。支持 at/person/link/text_tag/number_tag/local_datetime/font/audio 等"),
|
|
30
|
+
element_id: ElementIdSchema.optional().describe('组件唯一标识'),
|
|
31
|
+
margin: SpacingValueSchema.optional().describe('组件外边距,默认 0'),
|
|
32
|
+
text_align: HorizontalAlignSchema.optional().describe('文本对齐方式,默认 left'),
|
|
33
|
+
text_size: MarkdownTextSizeSchema.optional().describe('文本大小,默认 normal;可为官方枚举或自定义 text_size key。标签/辅助说明可用 notation,数值可用 heading'),
|
|
34
|
+
icon: IconSchema.optional().describe('文本前缀图标;与文内 emoji 二选一,不要叠用。图标颜色应与描述的状态文字一致'),
|
|
35
|
+
href: MarkdownHrefSchema.optional().describe('旧版差异化跳转映射;JSON 2.0 建议使用 <link> 替代'),
|
|
36
|
+
})
|
|
37
|
+
.describe('富文本(Markdown)组件。正文默认直接放在 body.elements;分区用 **加粗** 小标题起头');
|
|
38
|
+
//# sourceMappingURL=component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component.js","sourceRoot":"","sources":["../../src/markdown/component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAExD;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC;KAChC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,cAAc,CAAC;KAClC,QAAQ,CACP,6DAA6D,CAC9D,CAAC;AAIJ;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC;KAC5B,MAAM,CAAC;IACN,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,mBAAmB,CAAC;IACxD,OAAO,EAAE,CAAC;SACP,MAAM,EAAE;SACR,QAAQ,CACP,iMAAiM,CAClM;IACH,UAAU,EAAE,eAAe,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;IACzD,MAAM,EAAE,kBAAkB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;IAC5D,UAAU,EAAE,qBAAqB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACnD,gBAAgB,CACjB;IACD,SAAS,EAAE,sBAAsB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACnD,yEAAyE,CAC1E;IACD,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAClC,2CAA2C,CAC5C;IACD,IAAI,EAAE,kBAAkB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAC1C,mCAAmC,CACpC;CACF,CAAC;KACD,QAAQ,CACP,yDAAyD,CAC1D,CAAC"}
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* 飞书表情(emoji_type)枚举。
|
|
4
|
+
* 在富文本中写作 `:KEY:`,例如 `:DONE:`、`:THUMBSUP:`。
|
|
5
|
+
* 来源:开放平台「表情文案说明」。
|
|
6
|
+
*/
|
|
7
|
+
export declare const FeishuEmojiTokenSchema: z.ZodEnum<{
|
|
8
|
+
"18X": "18X";
|
|
9
|
+
2022: "2022";
|
|
10
|
+
ANGRY: "ANGRY";
|
|
11
|
+
APPLAUSE: "APPLAUSE";
|
|
12
|
+
AWESOMEN: "AWESOMEN";
|
|
13
|
+
Alarm: "Alarm";
|
|
14
|
+
BEAR: "BEAR";
|
|
15
|
+
BEER: "BEER";
|
|
16
|
+
BETRAYED: "BETRAYED";
|
|
17
|
+
BLUBBER: "BLUBBER";
|
|
18
|
+
BLUSH: "BLUSH";
|
|
19
|
+
BOMB: "BOMB";
|
|
20
|
+
BULL: "BULL";
|
|
21
|
+
Basketball: "Basketball";
|
|
22
|
+
BeamingFace: "BeamingFace";
|
|
23
|
+
BubbleTea: "BubbleTea";
|
|
24
|
+
CAKE: "CAKE";
|
|
25
|
+
CALF: "CALF";
|
|
26
|
+
CANDIEDHAWS: "CANDIEDHAWS";
|
|
27
|
+
CHUCKLE: "CHUCKLE";
|
|
28
|
+
CLAP: "CLAP";
|
|
29
|
+
"CLEAVER.png": "CLEAVER.png";
|
|
30
|
+
COMFORT: "COMFORT";
|
|
31
|
+
CRAZY: "CRAZY";
|
|
32
|
+
CRY: "CRY";
|
|
33
|
+
CUCUMBER: "CUCUMBER";
|
|
34
|
+
CheckMark: "CheckMark";
|
|
35
|
+
ClownFace: "ClownFace";
|
|
36
|
+
Coffee: "Coffee";
|
|
37
|
+
ColdSweat: "ColdSweat";
|
|
38
|
+
CrossMark: "CrossMark";
|
|
39
|
+
DIZZY: "DIZZY";
|
|
40
|
+
DONE: "DONE";
|
|
41
|
+
DROOL: "DROOL";
|
|
42
|
+
DROWSY: "DROWSY";
|
|
43
|
+
DULL: "DULL";
|
|
44
|
+
Delighted: "Delighted";
|
|
45
|
+
Drumstick: "Drumstick";
|
|
46
|
+
EMBARRASSED: "EMBARRASSED";
|
|
47
|
+
ENOUGH: "ENOUGH";
|
|
48
|
+
ERROR: "ERROR";
|
|
49
|
+
EYESCLOSED: "EYESCLOSED";
|
|
50
|
+
EatingFood: "EatingFood";
|
|
51
|
+
FACEPALM: "FACEPALM";
|
|
52
|
+
FINGERHEART: "FINGERHEART";
|
|
53
|
+
FIRECRACKER: "FIRECRACKER";
|
|
54
|
+
FIREWORKS: "FIREWORKS";
|
|
55
|
+
FISTBUMP: "FISTBUMP";
|
|
56
|
+
FORTUNE: "FORTUNE";
|
|
57
|
+
FROWN: "FROWN";
|
|
58
|
+
Fire: "Fire";
|
|
59
|
+
FullMoonFace: "FullMoonFace";
|
|
60
|
+
GIFT: "GIFT";
|
|
61
|
+
GLANCE: "GLANCE";
|
|
62
|
+
GeneralBusinessTrip: "GeneralBusinessTrip";
|
|
63
|
+
GeneralDoNotDisturb: "GeneralDoNotDisturb";
|
|
64
|
+
GeneralInMeetingBusy: "GeneralInMeetingBusy";
|
|
65
|
+
GeneralMoonRest: "GeneralMoonRest";
|
|
66
|
+
GeneralSun: "GeneralSun";
|
|
67
|
+
GeneralTravellingCar: "GeneralTravellingCar";
|
|
68
|
+
GeneralWorkFromHome: "GeneralWorkFromHome";
|
|
69
|
+
Get: "Get";
|
|
70
|
+
GoGoGo: "GoGoGo";
|
|
71
|
+
"HAMMER.png": "HAMMER.png";
|
|
72
|
+
HAUGHTY: "HAUGHTY";
|
|
73
|
+
HEADSET: "HEADSET";
|
|
74
|
+
HEART: "HEART";
|
|
75
|
+
HEARTBROKEN: "HEARTBROKEN";
|
|
76
|
+
HIGHFIVE: "HIGHFIVE";
|
|
77
|
+
HUG: "HUG";
|
|
78
|
+
HUSKY: "HUSKY";
|
|
79
|
+
HappyDragon: "HappyDragon";
|
|
80
|
+
Hundred: "Hundred";
|
|
81
|
+
INNOCENTSMILE: "INNOCENTSMILE";
|
|
82
|
+
JIAYI: "JIAYI";
|
|
83
|
+
JOYFUL: "JOYFUL";
|
|
84
|
+
JubilantRabbit: "JubilantRabbit";
|
|
85
|
+
KISS: "KISS";
|
|
86
|
+
LAUGH: "LAUGH";
|
|
87
|
+
LGTM: "LGTM";
|
|
88
|
+
LIPS: "LIPS";
|
|
89
|
+
LOL: "LOL";
|
|
90
|
+
LOOKDOWN: "LOOKDOWN";
|
|
91
|
+
LOVE: "LOVE";
|
|
92
|
+
LUCK: "LUCK";
|
|
93
|
+
Lemon: "Lemon";
|
|
94
|
+
Loudspeaker: "Loudspeaker";
|
|
95
|
+
MONEY: "MONEY";
|
|
96
|
+
MUSCLE: "MUSCLE";
|
|
97
|
+
MeMeMe: "MeMeMe";
|
|
98
|
+
MinusOne: "MinusOne";
|
|
99
|
+
MoonRabbit: "MoonRabbit";
|
|
100
|
+
Mooncake: "Mooncake";
|
|
101
|
+
Movie: "Movie";
|
|
102
|
+
Music: "Music";
|
|
103
|
+
NOSEPICK: "NOSEPICK";
|
|
104
|
+
No: "No";
|
|
105
|
+
OBSESSED: "OBSESSED";
|
|
106
|
+
OK: "OK";
|
|
107
|
+
OKR: "OKR";
|
|
108
|
+
"OnIt.png": "OnIt.png";
|
|
109
|
+
OneSecond: "OneSecond";
|
|
110
|
+
PARTY: "PARTY";
|
|
111
|
+
PETRIFIED: "PETRIFIED";
|
|
112
|
+
POOP: "POOP";
|
|
113
|
+
PRAISE: "PRAISE";
|
|
114
|
+
PROUD: "PROUD";
|
|
115
|
+
PUKE: "PUKE";
|
|
116
|
+
Partying: "Partying";
|
|
117
|
+
Pepper: "Pepper";
|
|
118
|
+
Pin: "Pin";
|
|
119
|
+
Pumpkin: "Pumpkin";
|
|
120
|
+
RAINBOWPUKE: "RAINBOWPUKE";
|
|
121
|
+
REDPACKET: "REDPACKET";
|
|
122
|
+
ROSE: "ROSE";
|
|
123
|
+
RoarForYou: "RoarForYou";
|
|
124
|
+
SALUTE: "SALUTE";
|
|
125
|
+
SCOWL: "SCOWL";
|
|
126
|
+
SHAKE: "SHAKE";
|
|
127
|
+
SHHH: "SHHH";
|
|
128
|
+
SHOCKED: "SHOCKED";
|
|
129
|
+
SHOWOFF: "SHOWOFF";
|
|
130
|
+
SHY: "SHY";
|
|
131
|
+
SICK: "SICK";
|
|
132
|
+
SILENT: "SILENT";
|
|
133
|
+
SKULL: "SKULL";
|
|
134
|
+
SLAP: "SLAP";
|
|
135
|
+
SLEEP: "SLEEP";
|
|
136
|
+
SLIGHT: "SLIGHT";
|
|
137
|
+
SMART: "SMART";
|
|
138
|
+
SMILE: "SMILE";
|
|
139
|
+
SMIRK: "SMIRK";
|
|
140
|
+
SMOOCH: "SMOOCH";
|
|
141
|
+
SMUG: "SMUG";
|
|
142
|
+
SOB: "SOB";
|
|
143
|
+
SPEECHLESS: "SPEECHLESS";
|
|
144
|
+
SPITBLOOD: "SPITBLOOD";
|
|
145
|
+
STRIVE: "STRIVE";
|
|
146
|
+
SWEAT: "SWEAT";
|
|
147
|
+
SaluteFace: "SaluteFace";
|
|
148
|
+
Shrug: "Shrug";
|
|
149
|
+
Sigh: "Sigh";
|
|
150
|
+
Snowman: "Snowman";
|
|
151
|
+
Soccer: "Soccer";
|
|
152
|
+
StatusBus: "StatusBus";
|
|
153
|
+
StatusEnjoyLife: "StatusEnjoyLife";
|
|
154
|
+
StatusFlashOfInspiration: "StatusFlashOfInspiration";
|
|
155
|
+
StatusInFlight: "StatusInFlight";
|
|
156
|
+
StatusReading: "StatusReading";
|
|
157
|
+
Status_PrivateMessage: "Status_PrivateMessage";
|
|
158
|
+
StickyRiceBalls: "StickyRiceBalls";
|
|
159
|
+
TEARS: "TEARS";
|
|
160
|
+
TEASE: "TEASE";
|
|
161
|
+
TERROR: "TERROR";
|
|
162
|
+
THANKS: "THANKS";
|
|
163
|
+
THINKING: "THINKING";
|
|
164
|
+
THUMBSUP: "THUMBSUP";
|
|
165
|
+
TOASTED: "TOASTED";
|
|
166
|
+
TONGUE: "TONGUE";
|
|
167
|
+
TRICK: "TRICK";
|
|
168
|
+
TV: "TV";
|
|
169
|
+
ThanksFace: "ThanksFace";
|
|
170
|
+
ThumbsDown: "ThumbsDown";
|
|
171
|
+
Trophy: "Trophy";
|
|
172
|
+
Typing: "Typing";
|
|
173
|
+
UPPERLEFT: "UPPERLEFT";
|
|
174
|
+
VRHeadset: "VRHeadset";
|
|
175
|
+
WAIL: "WAIL";
|
|
176
|
+
WAVE: "WAVE";
|
|
177
|
+
WHAT: "WHAT";
|
|
178
|
+
WHIMPER: "WHIMPER";
|
|
179
|
+
WINK: "WINK";
|
|
180
|
+
WITTY: "WITTY";
|
|
181
|
+
WOW: "WOW";
|
|
182
|
+
WRONGED: "WRONGED";
|
|
183
|
+
XBLUSH: "XBLUSH";
|
|
184
|
+
XmasHat: "XmasHat";
|
|
185
|
+
XmasTree: "XmasTree";
|
|
186
|
+
YAWN: "YAWN";
|
|
187
|
+
YEAH: "YEAH";
|
|
188
|
+
Yes: "Yes";
|
|
189
|
+
YouAreTheBest: "YouAreTheBest";
|
|
190
|
+
}>;
|
|
191
|
+
export type FeishuEmojiToken = z.infer<typeof FeishuEmojiTokenSchema>;
|
|
192
|
+
//# sourceMappingURL=emoji-tokens.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emoji-tokens.d.ts","sourceRoot":"","sources":["../../src/markdown/emoji-tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;GAIG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyLa,CAAC;AAEjD,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* 飞书表情(emoji_type)枚举。
|
|
4
|
+
* 在富文本中写作 `:KEY:`,例如 `:DONE:`、`:THUMBSUP:`。
|
|
5
|
+
* 来源:开放平台「表情文案说明」。
|
|
6
|
+
*/
|
|
7
|
+
export const FeishuEmojiTokenSchema = z
|
|
8
|
+
.enum([
|
|
9
|
+
'OK',
|
|
10
|
+
'THUMBSUP',
|
|
11
|
+
'THANKS',
|
|
12
|
+
'MUSCLE',
|
|
13
|
+
'FINGERHEART',
|
|
14
|
+
'APPLAUSE',
|
|
15
|
+
'FISTBUMP',
|
|
16
|
+
'JIAYI',
|
|
17
|
+
'DONE',
|
|
18
|
+
'SMILE',
|
|
19
|
+
'BLUSH',
|
|
20
|
+
'LAUGH',
|
|
21
|
+
'SMIRK',
|
|
22
|
+
'LOL',
|
|
23
|
+
'FACEPALM',
|
|
24
|
+
'LOVE',
|
|
25
|
+
'WINK',
|
|
26
|
+
'PROUD',
|
|
27
|
+
'WITTY',
|
|
28
|
+
'SMART',
|
|
29
|
+
'SCOWL',
|
|
30
|
+
'THINKING',
|
|
31
|
+
'SOB',
|
|
32
|
+
'CRY',
|
|
33
|
+
'ERROR',
|
|
34
|
+
'NOSEPICK',
|
|
35
|
+
'HAUGHTY',
|
|
36
|
+
'SLAP',
|
|
37
|
+
'SPITBLOOD',
|
|
38
|
+
'TOASTED',
|
|
39
|
+
'GLANCE',
|
|
40
|
+
'DULL',
|
|
41
|
+
'INNOCENTSMILE',
|
|
42
|
+
'JOYFUL',
|
|
43
|
+
'WOW',
|
|
44
|
+
'TRICK',
|
|
45
|
+
'YEAH',
|
|
46
|
+
'ENOUGH',
|
|
47
|
+
'TEARS',
|
|
48
|
+
'EMBARRASSED',
|
|
49
|
+
'KISS',
|
|
50
|
+
'SMOOCH',
|
|
51
|
+
'DROOL',
|
|
52
|
+
'OBSESSED',
|
|
53
|
+
'MONEY',
|
|
54
|
+
'TEASE',
|
|
55
|
+
'SHOWOFF',
|
|
56
|
+
'COMFORT',
|
|
57
|
+
'CLAP',
|
|
58
|
+
'PRAISE',
|
|
59
|
+
'STRIVE',
|
|
60
|
+
'XBLUSH',
|
|
61
|
+
'SILENT',
|
|
62
|
+
'WAVE',
|
|
63
|
+
'WHAT',
|
|
64
|
+
'FROWN',
|
|
65
|
+
'SHY',
|
|
66
|
+
'DIZZY',
|
|
67
|
+
'LOOKDOWN',
|
|
68
|
+
'CHUCKLE',
|
|
69
|
+
'WAIL',
|
|
70
|
+
'CRAZY',
|
|
71
|
+
'WHIMPER',
|
|
72
|
+
'HUG',
|
|
73
|
+
'BLUBBER',
|
|
74
|
+
'WRONGED',
|
|
75
|
+
'HUSKY',
|
|
76
|
+
'SHHH',
|
|
77
|
+
'SMUG',
|
|
78
|
+
'ANGRY',
|
|
79
|
+
'HAMMER.png',
|
|
80
|
+
'SHOCKED',
|
|
81
|
+
'TERROR',
|
|
82
|
+
'PETRIFIED',
|
|
83
|
+
'SKULL',
|
|
84
|
+
'SWEAT',
|
|
85
|
+
'SPEECHLESS',
|
|
86
|
+
'SLEEP',
|
|
87
|
+
'DROWSY',
|
|
88
|
+
'YAWN',
|
|
89
|
+
'SICK',
|
|
90
|
+
'PUKE',
|
|
91
|
+
'BETRAYED',
|
|
92
|
+
'HEADSET',
|
|
93
|
+
'EatingFood',
|
|
94
|
+
'MeMeMe',
|
|
95
|
+
'Sigh',
|
|
96
|
+
'Typing',
|
|
97
|
+
'Lemon',
|
|
98
|
+
'Get',
|
|
99
|
+
'LGTM',
|
|
100
|
+
'OnIt.png',
|
|
101
|
+
'OneSecond',
|
|
102
|
+
'VRHeadset',
|
|
103
|
+
'YouAreTheBest',
|
|
104
|
+
'SALUTE',
|
|
105
|
+
'SHAKE',
|
|
106
|
+
'HIGHFIVE',
|
|
107
|
+
'UPPERLEFT',
|
|
108
|
+
'ThumbsDown',
|
|
109
|
+
'SLIGHT',
|
|
110
|
+
'TONGUE',
|
|
111
|
+
'EYESCLOSED',
|
|
112
|
+
'RoarForYou',
|
|
113
|
+
'CALF',
|
|
114
|
+
'BEAR',
|
|
115
|
+
'BULL',
|
|
116
|
+
'RAINBOWPUKE',
|
|
117
|
+
'ROSE',
|
|
118
|
+
'HEART',
|
|
119
|
+
'PARTY',
|
|
120
|
+
'LIPS',
|
|
121
|
+
'BEER',
|
|
122
|
+
'CAKE',
|
|
123
|
+
'GIFT',
|
|
124
|
+
'CUCUMBER',
|
|
125
|
+
'Drumstick',
|
|
126
|
+
'Pepper',
|
|
127
|
+
'CANDIEDHAWS',
|
|
128
|
+
'BubbleTea',
|
|
129
|
+
'Coffee',
|
|
130
|
+
'Yes',
|
|
131
|
+
'No',
|
|
132
|
+
'OKR',
|
|
133
|
+
'CheckMark',
|
|
134
|
+
'CrossMark',
|
|
135
|
+
'MinusOne',
|
|
136
|
+
'Hundred',
|
|
137
|
+
'AWESOMEN',
|
|
138
|
+
'Pin',
|
|
139
|
+
'Alarm',
|
|
140
|
+
'Loudspeaker',
|
|
141
|
+
'Trophy',
|
|
142
|
+
'Fire',
|
|
143
|
+
'BOMB',
|
|
144
|
+
'Music',
|
|
145
|
+
'XmasTree',
|
|
146
|
+
'Snowman',
|
|
147
|
+
'XmasHat',
|
|
148
|
+
'FIREWORKS',
|
|
149
|
+
'2022',
|
|
150
|
+
'REDPACKET',
|
|
151
|
+
'FORTUNE',
|
|
152
|
+
'LUCK',
|
|
153
|
+
'FIRECRACKER',
|
|
154
|
+
'StickyRiceBalls',
|
|
155
|
+
'HEARTBROKEN',
|
|
156
|
+
'POOP',
|
|
157
|
+
'StatusFlashOfInspiration',
|
|
158
|
+
'18X',
|
|
159
|
+
'CLEAVER.png',
|
|
160
|
+
'Soccer',
|
|
161
|
+
'Basketball',
|
|
162
|
+
'GeneralDoNotDisturb',
|
|
163
|
+
'Status_PrivateMessage',
|
|
164
|
+
'GeneralInMeetingBusy',
|
|
165
|
+
'StatusReading',
|
|
166
|
+
'StatusInFlight',
|
|
167
|
+
'GeneralBusinessTrip',
|
|
168
|
+
'GeneralWorkFromHome',
|
|
169
|
+
'StatusEnjoyLife',
|
|
170
|
+
'GeneralTravellingCar',
|
|
171
|
+
'StatusBus',
|
|
172
|
+
'GeneralSun',
|
|
173
|
+
'GeneralMoonRest',
|
|
174
|
+
'MoonRabbit',
|
|
175
|
+
'Mooncake',
|
|
176
|
+
'JubilantRabbit',
|
|
177
|
+
'TV',
|
|
178
|
+
'Movie',
|
|
179
|
+
'Pumpkin',
|
|
180
|
+
'BeamingFace',
|
|
181
|
+
'Delighted',
|
|
182
|
+
'ColdSweat',
|
|
183
|
+
'FullMoonFace',
|
|
184
|
+
'Partying',
|
|
185
|
+
'GoGoGo',
|
|
186
|
+
'ThanksFace',
|
|
187
|
+
'SaluteFace',
|
|
188
|
+
'Shrug',
|
|
189
|
+
'ClownFace',
|
|
190
|
+
'HappyDragon',
|
|
191
|
+
])
|
|
192
|
+
.describe('飞书表情 key(emoji_type),富文本中写作 :KEY:');
|
|
193
|
+
//# sourceMappingURL=emoji-tokens.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emoji-tokens.js","sourceRoot":"","sources":["../../src/markdown/emoji-tokens.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* 富文本 `<text_tag>` 颜色枚举。
|
|
4
|
+
*/
|
|
5
|
+
export declare const MarkdownTextTagColorSchema: z.ZodEnum<{
|
|
6
|
+
blue: "blue";
|
|
7
|
+
carmine: "carmine";
|
|
8
|
+
green: "green";
|
|
9
|
+
indigo: "indigo";
|
|
10
|
+
lime: "lime";
|
|
11
|
+
neutral: "neutral";
|
|
12
|
+
orange: "orange";
|
|
13
|
+
purple: "purple";
|
|
14
|
+
red: "red";
|
|
15
|
+
turquoise: "turquoise";
|
|
16
|
+
violet: "violet";
|
|
17
|
+
wathet: "wathet";
|
|
18
|
+
yellow: "yellow";
|
|
19
|
+
}>;
|
|
20
|
+
export type MarkdownTextTagColor = z.infer<typeof MarkdownTextTagColorSchema>;
|
|
21
|
+
/**
|
|
22
|
+
* 富文本 `<local_datetime>` 的 format_type。
|
|
23
|
+
*/
|
|
24
|
+
export declare const MarkdownDateTimeFormatSchema: z.ZodEnum<{
|
|
25
|
+
date: "date";
|
|
26
|
+
date_num: "date_num";
|
|
27
|
+
date_short: "date_short";
|
|
28
|
+
time: "time";
|
|
29
|
+
time_sec: "time_sec";
|
|
30
|
+
timezone: "timezone";
|
|
31
|
+
week: "week";
|
|
32
|
+
week_short: "week_short";
|
|
33
|
+
}>;
|
|
34
|
+
export type MarkdownDateTimeFormat = z.infer<typeof MarkdownDateTimeFormatSchema>;
|
|
35
|
+
/**
|
|
36
|
+
* 富文本内嵌 `<person>` 的展示样式。
|
|
37
|
+
*/
|
|
38
|
+
export declare const MarkdownPersonStyleSchema: z.ZodEnum<{
|
|
39
|
+
capsule: "capsule";
|
|
40
|
+
normal: "normal";
|
|
41
|
+
}>;
|
|
42
|
+
export type MarkdownPersonStyle = z.infer<typeof MarkdownPersonStyleSchema>;
|
|
43
|
+
/**
|
|
44
|
+
* 富文本内嵌 `<audio>` 的样式。
|
|
45
|
+
*/
|
|
46
|
+
export declare const MarkdownInlineAudioStyleSchema: z.ZodEnum<{
|
|
47
|
+
normal: "normal";
|
|
48
|
+
speak: "speak";
|
|
49
|
+
}>;
|
|
50
|
+
export type MarkdownInlineAudioStyle = z.infer<typeof MarkdownInlineAudioStyleSchema>;
|
|
51
|
+
//# sourceMappingURL=enums.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../../src/markdown/enums.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;EAgBP,CAAC;AAEjC,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E;;GAEG;AACH,eAAO,MAAM,4BAA4B;;;;;;;;;EAatC,CAAC;AAEJ,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF;;GAEG;AACH,eAAO,MAAM,yBAAyB;;;EAEO,CAAC;AAE9C,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E;;GAEG;AACH,eAAO,MAAM,8BAA8B;;;EAEI,CAAC;AAEhD,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAC5C,OAAO,8BAA8B,CACtC,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* 富文本 `<text_tag>` 颜色枚举。
|
|
4
|
+
*/
|
|
5
|
+
export const MarkdownTextTagColorSchema = z
|
|
6
|
+
.enum([
|
|
7
|
+
'neutral',
|
|
8
|
+
'blue',
|
|
9
|
+
'turquoise',
|
|
10
|
+
'lime',
|
|
11
|
+
'orange',
|
|
12
|
+
'violet',
|
|
13
|
+
'indigo',
|
|
14
|
+
'wathet',
|
|
15
|
+
'green',
|
|
16
|
+
'yellow',
|
|
17
|
+
'red',
|
|
18
|
+
'purple',
|
|
19
|
+
'carmine',
|
|
20
|
+
])
|
|
21
|
+
.describe('富文本 text_tag 颜色枚举');
|
|
22
|
+
/**
|
|
23
|
+
* 富文本 `<local_datetime>` 的 format_type。
|
|
24
|
+
*/
|
|
25
|
+
export const MarkdownDateTimeFormatSchema = z
|
|
26
|
+
.enum([
|
|
27
|
+
'date_num',
|
|
28
|
+
'date_short',
|
|
29
|
+
'date',
|
|
30
|
+
'week',
|
|
31
|
+
'week_short',
|
|
32
|
+
'time',
|
|
33
|
+
'time_sec',
|
|
34
|
+
'timezone',
|
|
35
|
+
])
|
|
36
|
+
.describe('国际化时间展示格式:date_num / date_short / date / week / week_short / time / time_sec / timezone');
|
|
37
|
+
/**
|
|
38
|
+
* 富文本内嵌 `<person>` 的展示样式。
|
|
39
|
+
*/
|
|
40
|
+
export const MarkdownPersonStyleSchema = z
|
|
41
|
+
.enum(['normal', 'capsule'])
|
|
42
|
+
.describe('人员标签样式:normal(普通)/ capsule(胶囊)');
|
|
43
|
+
/**
|
|
44
|
+
* 富文本内嵌 `<audio>` 的样式。
|
|
45
|
+
*/
|
|
46
|
+
export const MarkdownInlineAudioStyleSchema = z
|
|
47
|
+
.enum(['normal', 'speak'])
|
|
48
|
+
.describe('内嵌音频样式:normal(三角播放)/ speak(语音气泡)');
|
|
49
|
+
//# sourceMappingURL=enums.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enums.js","sourceRoot":"","sources":["../../src/markdown/enums.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC;KACxC,IAAI,CAAC;IACJ,SAAS;IACT,MAAM;IACN,WAAW;IACX,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,KAAK;IACL,QAAQ;IACR,SAAS;CACV,CAAC;KACD,QAAQ,CAAC,mBAAmB,CAAC,CAAC;AAIjC;;GAEG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC;KAC1C,IAAI,CAAC;IACJ,UAAU;IACV,YAAY;IACZ,MAAM;IACN,MAAM;IACN,YAAY;IACZ,MAAM;IACN,UAAU;IACV,UAAU;CACX,CAAC;KACD,QAAQ,CACP,yFAAyF,CAC1F,CAAC;AAIJ;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC;KACvC,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;KAC3B,QAAQ,CAAC,gCAAgC,CAAC,CAAC;AAI9C;;GAEG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC;KAC5C,IAAI,CAAC,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;KACzB,QAAQ,CAAC,kCAAkC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"escape.d.ts","sourceRoot":"","sources":["../../src/markdown/escape.ts"],"names":[],"mappings":"AA6BA,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMnD;AAED,YAAY;AACZ,eAAO,MAAM,IAAI,WAAW,CAAC;AAC7B,WAAW;AACX,eAAO,MAAM,IAAI,WAAW,CAAC;AAC7B,WAAW;AACX,eAAO,MAAM,IAAI,WAAW,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 将文本中的 Markdown 特殊字符转义为 HTML 实体,便于按字面量展示。
|
|
3
|
+
*
|
|
4
|
+
* 注意:`&` 必须最先转义,避免二次污染。
|
|
5
|
+
*/
|
|
6
|
+
const ESCAPE_MAP = [
|
|
7
|
+
['&', '&'],
|
|
8
|
+
['<', '<'],
|
|
9
|
+
['>', '>'],
|
|
10
|
+
['*', '*'],
|
|
11
|
+
['~', '∼'],
|
|
12
|
+
['-', '-'],
|
|
13
|
+
['!', '!'],
|
|
14
|
+
['/', '/'],
|
|
15
|
+
['\\', '\'],
|
|
16
|
+
['[', '['],
|
|
17
|
+
[']', ']'],
|
|
18
|
+
['(', '('],
|
|
19
|
+
[')', ')'],
|
|
20
|
+
['#', '#'],
|
|
21
|
+
[':', ':'],
|
|
22
|
+
['+', '+'],
|
|
23
|
+
['"', '"'],
|
|
24
|
+
["'", '''],
|
|
25
|
+
['`', '`'],
|
|
26
|
+
['$', '$'],
|
|
27
|
+
['_', '_'],
|
|
28
|
+
];
|
|
29
|
+
export function escapeMarkdown(text) {
|
|
30
|
+
let result = text;
|
|
31
|
+
for (const [char, entity] of ESCAPE_MAP) {
|
|
32
|
+
result = result.split(char).join(entity);
|
|
33
|
+
}
|
|
34
|
+
return result;
|
|
35
|
+
}
|
|
36
|
+
/** 不换行空格 */
|
|
37
|
+
export const NBSP = ' ';
|
|
38
|
+
/** 半角空格 */
|
|
39
|
+
export const ENSP = ' ';
|
|
40
|
+
/** 全角空格 */
|
|
41
|
+
export const EMSP = ' ';
|
|
42
|
+
//# sourceMappingURL=escape.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"escape.js","sourceRoot":"","sources":["../../src/markdown/escape.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,UAAU,GAA6C;IAC3D,CAAC,GAAG,EAAE,OAAO,CAAC;IACd,CAAC,GAAG,EAAE,OAAO,CAAC;IACd,CAAC,GAAG,EAAE,OAAO,CAAC;IACd,CAAC,GAAG,EAAE,OAAO,CAAC;IACd,CAAC,GAAG,EAAE,OAAO,CAAC;IACd,CAAC,GAAG,EAAE,OAAO,CAAC;IACd,CAAC,GAAG,EAAE,OAAO,CAAC;IACd,CAAC,GAAG,EAAE,OAAO,CAAC;IACd,CAAC,IAAI,EAAE,OAAO,CAAC;IACf,CAAC,GAAG,EAAE,OAAO,CAAC;IACd,CAAC,GAAG,EAAE,OAAO,CAAC;IACd,CAAC,GAAG,EAAE,OAAO,CAAC;IACd,CAAC,GAAG,EAAE,OAAO,CAAC;IACd,CAAC,GAAG,EAAE,OAAO,CAAC;IACd,CAAC,GAAG,EAAE,OAAO,CAAC;IACd,CAAC,GAAG,EAAE,OAAO,CAAC;IACd,CAAC,GAAG,EAAE,OAAO,CAAC;IACd,CAAC,GAAG,EAAE,OAAO,CAAC;IACd,CAAC,GAAG,EAAE,OAAO,CAAC;IACd,CAAC,GAAG,EAAE,OAAO,CAAC;IACd,CAAC,GAAG,EAAE,OAAO,CAAC;CACf,CAAC;AAEF,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,IAAI,MAAM,GAAG,IAAI,CAAC;IAClB,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QACxC,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,YAAY;AACZ,MAAM,CAAC,MAAM,IAAI,GAAG,QAAQ,CAAC;AAC7B,WAAW;AACX,MAAM,CAAC,MAAM,IAAI,GAAG,QAAQ,CAAC;AAC7B,WAAW;AACX,MAAM,CAAC,MAAM,IAAI,GAAG,QAAQ,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 飞书卡片富文本(Markdown)模块。
|
|
3
|
+
*
|
|
4
|
+
* - `MarkdownSchema`:卡片组件 Schema
|
|
5
|
+
* - `markdown()` / `MarkdownContentBuilder`:类型安全地拼接 content
|
|
6
|
+
* - `tags` / `enums`:扩展标签参数 Schema 与渲染函数
|
|
7
|
+
*/
|
|
8
|
+
export * from './text-size.js';
|
|
9
|
+
export * from './code-language.js';
|
|
10
|
+
export * from './emoji-tokens.js';
|
|
11
|
+
export * from './enums.js';
|
|
12
|
+
export * from './escape.js';
|
|
13
|
+
export * from './tags.js';
|
|
14
|
+
export * from './builders.js';
|
|
15
|
+
export * from './component.js';
|
|
16
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/markdown/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 飞书卡片富文本(Markdown)模块。
|
|
3
|
+
*
|
|
4
|
+
* - `MarkdownSchema`:卡片组件 Schema
|
|
5
|
+
* - `markdown()` / `MarkdownContentBuilder`:类型安全地拼接 content
|
|
6
|
+
* - `tags` / `enums`:扩展标签参数 Schema 与渲染函数
|
|
7
|
+
*/
|
|
8
|
+
export * from './text-size.js';
|
|
9
|
+
export * from './code-language.js';
|
|
10
|
+
export * from './emoji-tokens.js';
|
|
11
|
+
export * from './enums.js';
|
|
12
|
+
export * from './escape.js';
|
|
13
|
+
export * from './tags.js';
|
|
14
|
+
export * from './builders.js';
|
|
15
|
+
export * from './component.js';
|
|
16
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/markdown/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC"}
|