@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.
Files changed (113) hide show
  1. package/dist/card.d.ts +2761 -0
  2. package/dist/card.d.ts.map +1 -0
  3. package/dist/card.js +41 -0
  4. package/dist/card.js.map +1 -0
  5. package/dist/common/behavior.d.ts +49 -0
  6. package/dist/common/behavior.d.ts.map +1 -0
  7. package/dist/common/behavior.js +39 -0
  8. package/dist/common/behavior.js.map +1 -0
  9. package/dist/common/behaviors-context.d.ts +19 -0
  10. package/dist/common/behaviors-context.d.ts.map +1 -0
  11. package/dist/common/behaviors-context.js +88 -0
  12. package/dist/common/behaviors-context.js.map +1 -0
  13. package/dist/common/confirm.d.ts +18 -0
  14. package/dist/common/confirm.d.ts.map +1 -0
  15. package/dist/common/confirm.js +12 -0
  16. package/dist/common/confirm.js.map +1 -0
  17. package/dist/common/enums.d.ts +115 -0
  18. package/dist/common/enums.d.ts.map +1 -0
  19. package/dist/common/enums.js +131 -0
  20. package/dist/common/enums.js.map +1 -0
  21. package/dist/common/fallback.d.ts +17 -0
  22. package/dist/common/fallback.d.ts.map +1 -0
  23. package/dist/common/fallback.js +22 -0
  24. package/dist/common/fallback.js.map +1 -0
  25. package/dist/common/icon-tokens.d.ts +1162 -0
  26. package/dist/common/icon-tokens.d.ts.map +1 -0
  27. package/dist/common/icon-tokens.js +1163 -0
  28. package/dist/common/icon-tokens.js.map +1 -0
  29. package/dist/common/icon.d.ts +3506 -0
  30. package/dist/common/icon.d.ts.map +1 -0
  31. package/dist/common/icon.js +49 -0
  32. package/dist/common/icon.js.map +1 -0
  33. package/dist/common/index.d.ts +9 -0
  34. package/dist/common/index.d.ts.map +1 -0
  35. package/dist/common/index.js +9 -0
  36. package/dist/common/index.js.map +1 -0
  37. package/dist/common/text.d.ts +107 -0
  38. package/dist/common/text.d.ts.map +1 -0
  39. package/dist/common/text.js +80 -0
  40. package/dist/common/text.js.map +1 -0
  41. package/dist/common/url.d.ts +22 -0
  42. package/dist/common/url.d.ts.map +1 -0
  43. package/dist/common/url.js +30 -0
  44. package/dist/common/url.js.map +1 -0
  45. package/dist/config.d.ts +226 -0
  46. package/dist/config.d.ts.map +1 -0
  47. package/dist/config.js +123 -0
  48. package/dist/config.js.map +1 -0
  49. package/dist/containers/index.d.ts +1421 -0
  50. package/dist/containers/index.d.ts.map +1 -0
  51. package/dist/containers/index.js +205 -0
  52. package/dist/containers/index.js.map +1 -0
  53. package/dist/content/index.d.ts +3801 -0
  54. package/dist/content/index.d.ts.map +1 -0
  55. package/dist/content/index.js +426 -0
  56. package/dist/content/index.js.map +1 -0
  57. package/dist/element-ref.d.ts +6 -0
  58. package/dist/element-ref.d.ts.map +1 -0
  59. package/dist/element-ref.js +17 -0
  60. package/dist/element-ref.js.map +1 -0
  61. package/dist/element.d.ts +11614 -0
  62. package/dist/element.d.ts.map +1 -0
  63. package/dist/element.js +46 -0
  64. package/dist/element.js.map +1 -0
  65. package/dist/header.d.ts +1253 -0
  66. package/dist/header.d.ts.map +1 -0
  67. package/dist/header.js +27 -0
  68. package/dist/header.js.map +1 -0
  69. package/dist/index.d.ts +15 -0
  70. package/dist/index.d.ts.map +1 -0
  71. package/dist/index.js +16 -0
  72. package/dist/index.js.map +1 -0
  73. package/dist/interactive/index.d.ts +5371 -0
  74. package/dist/interactive/index.d.ts.map +1 -0
  75. package/dist/interactive/index.js +533 -0
  76. package/dist/interactive/index.js.map +1 -0
  77. package/dist/markdown/builders.d.ts +59 -0
  78. package/dist/markdown/builders.d.ts.map +1 -0
  79. package/dist/markdown/builders.js +140 -0
  80. package/dist/markdown/builders.js.map +1 -0
  81. package/dist/markdown/code-language.d.ts +78 -0
  82. package/dist/markdown/code-language.d.ts.map +1 -0
  83. package/dist/markdown/code-language.js +79 -0
  84. package/dist/markdown/code-language.js.map +1 -0
  85. package/dist/markdown/component.d.ts +1224 -0
  86. package/dist/markdown/component.d.ts.map +1 -0
  87. package/dist/markdown/component.js +38 -0
  88. package/dist/markdown/component.js.map +1 -0
  89. package/dist/markdown/emoji-tokens.d.ts +192 -0
  90. package/dist/markdown/emoji-tokens.d.ts.map +1 -0
  91. package/dist/markdown/emoji-tokens.js +193 -0
  92. package/dist/markdown/emoji-tokens.js.map +1 -0
  93. package/dist/markdown/enums.d.ts +51 -0
  94. package/dist/markdown/enums.d.ts.map +1 -0
  95. package/dist/markdown/enums.js +49 -0
  96. package/dist/markdown/enums.js.map +1 -0
  97. package/dist/markdown/escape.d.ts +8 -0
  98. package/dist/markdown/escape.d.ts.map +1 -0
  99. package/dist/markdown/escape.js +42 -0
  100. package/dist/markdown/escape.js.map +1 -0
  101. package/dist/markdown/index.d.ts +16 -0
  102. package/dist/markdown/index.d.ts.map +1 -0
  103. package/dist/markdown/index.js +16 -0
  104. package/dist/markdown/index.js.map +1 -0
  105. package/dist/markdown/tags.d.ts +1293 -0
  106. package/dist/markdown/tags.d.ts.map +1 -0
  107. package/dist/markdown/tags.js +238 -0
  108. package/dist/markdown/tags.js.map +1 -0
  109. package/dist/markdown/text-size.d.ts +60 -0
  110. package/dist/markdown/text-size.d.ts.map +1 -0
  111. package/dist/markdown/text-size.js +58 -0
  112. package/dist/markdown/text-size.js.map +1 -0
  113. 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,8 @@
1
+ export declare function escapeMarkdown(text: string): string;
2
+ /** 不换行空格 */
3
+ export declare const NBSP = "&nbsp;";
4
+ /** 半角空格 */
5
+ export declare const ENSP = "&ensp;";
6
+ /** 全角空格 */
7
+ export declare const EMSP = "&emsp;";
8
+ //# sourceMappingURL=escape.d.ts.map
@@ -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
+ ['&', '&amp;'],
8
+ ['<', '&#60;'],
9
+ ['>', '&#62;'],
10
+ ['*', '&#42;'],
11
+ ['~', '&sim;'],
12
+ ['-', '&#45;'],
13
+ ['!', '&#33;'],
14
+ ['/', '&#47;'],
15
+ ['\\', '&#92;'],
16
+ ['[', '&#91;'],
17
+ [']', '&#93;'],
18
+ ['(', '&#40;'],
19
+ [')', '&#41;'],
20
+ ['#', '&#35;'],
21
+ [':', '&#58;'],
22
+ ['+', '&#43;'],
23
+ ['"', '&#34;'],
24
+ ["'", '&#39;'],
25
+ ['`', '&#96;'],
26
+ ['$', '&#36;'],
27
+ ['_', '&#95;'],
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 = '&nbsp;';
38
+ /** 半角空格 */
39
+ export const ENSP = '&ensp;';
40
+ /** 全角空格 */
41
+ export const EMSP = '&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"}