@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":"tags.d.ts","sourceRoot":"","sources":["../../src/markdown/tags.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,238 @@
1
+ import { z } from 'zod';
2
+ import { IconTokenSchema } from '../common/icon-tokens.js';
3
+ import { ColorSchema } from '../common/enums.js';
4
+ import { MarkdownDateTimeFormatSchema, MarkdownInlineAudioStyleSchema, MarkdownPersonStyleSchema, MarkdownTextTagColorSchema, } from './enums.js';
5
+ function boolAttr(value) {
6
+ if (value === undefined)
7
+ return undefined;
8
+ return value ? 'true' : 'false';
9
+ }
10
+ function renderAttrs(attrs) {
11
+ return Object.entries(attrs)
12
+ .filter(([, v]) => v !== undefined && v !== '')
13
+ .map(([k, v]) => ` ${k}='${String(v)}'`)
14
+ .join('');
15
+ }
16
+ /**
17
+ * `@` 提及标签参数(会通知对方)。
18
+ * 渲染为 `<at id=...></at>` / `<at ids=...></at>` / `<at email=...></at>`。
19
+ * 仅展示不通知请用 `<person>` / person / person_list。
20
+ */
21
+ export const MarkdownAtTagSchema = z
22
+ .object({
23
+ id: z
24
+ .string()
25
+ .optional()
26
+ .describe('单个用户 ID:优先 open_id(ou_) 或 user_id,或 all(@所有人);不要用 union_id(on_)'),
27
+ ids: z
28
+ .array(z.string())
29
+ .optional()
30
+ .describe('多个用户 ID,渲染为 ids=id1,id2;优先 ou_/user_id'),
31
+ email: z.string().optional().describe('通过邮箱 @ 指定人'),
32
+ })
33
+ .superRefine((data, ctx) => {
34
+ const count = [data.id, data.ids?.length, data.email].filter(Boolean).length;
35
+ if (count !== 1) {
36
+ ctx.addIssue({
37
+ code: 'custom',
38
+ message: 'at 标签需且仅需提供 id、ids、email 其中之一',
39
+ });
40
+ }
41
+ })
42
+ .describe('@ 提及标签 <at>:会通知对方。提示词明确要 @/艾特/通知时用;禁止用 person/<person> 冒充。勿把 <at> 包进 <font>');
43
+ /** 渲染 `<at ...></at>` */
44
+ export function renderAtTag(input) {
45
+ const data = MarkdownAtTagSchema.parse(input);
46
+ if (data.id !== undefined)
47
+ return `<at id=${data.id}></at>`;
48
+ if (data.ids)
49
+ return `<at ids=${data.ids.join(',')}></at>`;
50
+ return `<at email=${data.email}></at>`;
51
+ }
52
+ /**
53
+ * 人员展示标签参数(仅展示,不发提及通知)。
54
+ */
55
+ export const MarkdownPersonTagSchema = z
56
+ .object({
57
+ id: z
58
+ .string()
59
+ .describe('用户 ID:优先 open_id(ou_) 或 user_id;不要用 union_id(on_)。禁止臆造'),
60
+ show_name: z.boolean().optional().describe('是否展示用户名,默认 true'),
61
+ show_avatar: z.boolean().optional().describe('是否展示头像,默认 true'),
62
+ style: MarkdownPersonStyleSchema.optional().describe('展示样式,默认 normal'),
63
+ })
64
+ .describe('人员展示标签 <person>:仅渲染头像/姓名,不通知。行内展示优先用此标签;要通知改用 <at>。勿包进 <font>');
65
+ export function renderPersonTag(input) {
66
+ const data = MarkdownPersonTagSchema.parse(input);
67
+ return `<person${renderAttrs({
68
+ id: data.id,
69
+ show_name: boolAttr(data.show_name),
70
+ show_avatar: boolAttr(data.show_avatar),
71
+ style: data.style,
72
+ })}></person>`;
73
+ }
74
+ /**
75
+ * 含图标的多端链接标签。
76
+ */
77
+ export const MarkdownLinkTagSchema = z
78
+ .object({
79
+ text: z.string().describe('链接展示文案'),
80
+ url: z.string().describe('默认跳转地址(必填)'),
81
+ icon: IconTokenSchema.optional().describe('前缀图标 token,颜色固定蓝色'),
82
+ pc_url: z.string().optional().describe('PC 端链接,优先级高于 url'),
83
+ ios_url: z.string().optional().describe('iOS 端链接,优先级高于 url'),
84
+ android_url: z.string().optional().describe('Android 端链接,优先级高于 url'),
85
+ })
86
+ .describe('含图标的多端链接标签 <link> 参数');
87
+ export function renderLinkTag(input) {
88
+ const data = MarkdownLinkTagSchema.parse(input);
89
+ return `<link${renderAttrs({
90
+ icon: data.icon,
91
+ url: data.url,
92
+ pc_url: data.pc_url,
93
+ ios_url: data.ios_url,
94
+ android_url: data.android_url,
95
+ })}>${data.text}</link>`;
96
+ }
97
+ /**
98
+ * 文本标签。状态、优先级、序号等短标识优先用此标签。
99
+ */
100
+ export const MarkdownTextTagSchema = z
101
+ .object({
102
+ text: z.string().describe('标签文案(短标识)'),
103
+ color: MarkdownTextTagColorSchema.optional().describe('标签颜色'),
104
+ })
105
+ .describe('文本标签 <text_tag>:用于状态/优先级/序号等短标识。写法示例:`<text_tag color=\'blue\'>标签</text_tag>` + 两个空格 + 正文');
106
+ export function renderTextTag(input) {
107
+ const data = MarkdownTextTagSchema.parse(input);
108
+ return `<text_tag${renderAttrs({ color: data.color })}>${data.text}</text_tag>`;
109
+ }
110
+ /**
111
+ * 数字角标(0–99)。
112
+ */
113
+ export const MarkdownNumberTagSchema = z
114
+ .object({
115
+ number: z
116
+ .number()
117
+ .int()
118
+ .min(0)
119
+ .max(99)
120
+ .describe('角标数字,0–99'),
121
+ background_color: ColorSchema.optional().describe('圆圈背景色'),
122
+ font_color: ColorSchema.optional().describe('数字颜色'),
123
+ url: z.string().optional().describe('点击跳转默认链接'),
124
+ pc_url: z.string().optional().describe('PC 端跳转链接'),
125
+ ios_url: z.string().optional().describe('iOS 端跳转链接'),
126
+ android_url: z.string().optional().describe('Android 端跳转链接'),
127
+ })
128
+ .describe('数字角标 <number_tag> 参数');
129
+ export function renderNumberTag(input) {
130
+ const data = MarkdownNumberTagSchema.parse(input);
131
+ return `<number_tag${renderAttrs({
132
+ background_color: data.background_color,
133
+ font_color: data.font_color,
134
+ url: data.url,
135
+ pc_url: data.pc_url,
136
+ ios_url: data.ios_url,
137
+ android_url: data.android_url,
138
+ })}>${data.number}</number_tag>`;
139
+ }
140
+ /**
141
+ * 国际化时间标签。
142
+ */
143
+ export const MarkdownLocalDateTimeTagSchema = z
144
+ .object({
145
+ millisecond: z
146
+ .union([z.string(), z.number()])
147
+ .optional()
148
+ .describe('Unix 毫秒时间戳;省略则用发送/发布时间'),
149
+ format_type: MarkdownDateTimeFormatSchema.optional().describe('时间展示格式,默认 date_num'),
150
+ link: z.string().optional().describe('点击时间跳转的链接'),
151
+ })
152
+ .describe('国际化时间标签 <local_datetime> 参数');
153
+ export function renderLocalDateTimeTag(input) {
154
+ const data = MarkdownLocalDateTimeTagSchema.parse(input);
155
+ return `<local_datetime${renderAttrs({
156
+ millisecond: data.millisecond,
157
+ format_type: data.format_type,
158
+ link: data.link,
159
+ })}></local_datetime>`;
160
+ }
161
+ /**
162
+ * 彩色文本(font)标签。
163
+ * 字段标签常用 grey;禁止把 `<at>` / `<person>` 包进 `<font>`(会显示标签原文)。
164
+ */
165
+ export const MarkdownFontTagSchema = z
166
+ .object({
167
+ text: z
168
+ .string()
169
+ .describe('文本内容;不要在其中嵌套 <at>/<person>(嵌套后常显示标签原文)'),
170
+ color: ColorSchema.describe('文本颜色:default、颜色枚举或 rgba;不对链接文本生效。字段标签常用 grey'),
171
+ })
172
+ .describe("彩色文本 <font>。正例:`<font color='grey'>作者:</font><person id='ou_xxx' show_name=true show_avatar=true style='normal'></person>`");
173
+ export function renderFontTag(input) {
174
+ const data = MarkdownFontTagSchema.parse(input);
175
+ return `<font color='${data.color}'>${data.text}</font>`;
176
+ }
177
+ /**
178
+ * 普通超链接(a)标签。
179
+ */
180
+ export const MarkdownAnchorTagSchema = z
181
+ .object({
182
+ href: z.string().describe('跳转地址,仅支持 HTTP/HTTPS'),
183
+ text: z.string().optional().describe('展示文案;省略时通常展示 URL'),
184
+ })
185
+ .describe('超链接 <a> 参数');
186
+ export function renderAnchorTag(input) {
187
+ const data = MarkdownAnchorTagSchema.parse(input);
188
+ return `<a href='${data.href}'>${data.text ?? ''}</a>`;
189
+ }
190
+ /**
191
+ * 富文本内嵌音频标签。
192
+ */
193
+ export const MarkdownInlineAudioTagSchema = z
194
+ .object({
195
+ file_key: z.string().describe('音频文件 key(上传文件接口返回)'),
196
+ audio_id: z.string().optional().describe('音频实例唯一标识'),
197
+ show_time: z.boolean().optional().describe('是否显示时长,默认 false'),
198
+ style: MarkdownInlineAudioStyleSchema.optional().describe('音频样式,默认 normal'),
199
+ background_color: ColorSchema.optional().describe('组件背景色'),
200
+ fill_color: ColorSchema.optional().describe('图标与时间颜色'),
201
+ fallback_text: z
202
+ .string()
203
+ .optional()
204
+ .describe('低版本客户端降级文案;指定时必须同时提供 fallback_url'),
205
+ fallback_url: z.string().optional().describe('低版本客户端兜底 URL'),
206
+ fallback_pc_url: z.string().optional().describe('PC 端兜底 URL'),
207
+ fallback_ios_url: z.string().optional().describe('iOS 端兜底 URL'),
208
+ fallback_android_url: z.string().optional().describe('Android 端兜底 URL'),
209
+ fallback_harmony_url: z.string().optional().describe('鸿蒙端兜底 URL'),
210
+ })
211
+ .superRefine((data, ctx) => {
212
+ if (data.fallback_text && !data.fallback_url) {
213
+ ctx.addIssue({
214
+ code: 'custom',
215
+ message: '指定 fallback_text 时必须同时提供 fallback_url',
216
+ path: ['fallback_url'],
217
+ });
218
+ }
219
+ })
220
+ .describe('富文本内嵌音频 <audio> 参数');
221
+ export function renderInlineAudioTag(input) {
222
+ const data = MarkdownInlineAudioTagSchema.parse(input);
223
+ return `<audio${renderAttrs({
224
+ file_key: data.file_key,
225
+ audio_id: data.audio_id,
226
+ show_time: boolAttr(data.show_time),
227
+ style: data.style,
228
+ background_color: data.background_color,
229
+ fill_color: data.fill_color,
230
+ fallback_text: data.fallback_text,
231
+ fallback_url: data.fallback_url,
232
+ fallback_pc_url: data.fallback_pc_url,
233
+ fallback_ios_url: data.fallback_ios_url,
234
+ fallback_android_url: data.fallback_android_url,
235
+ fallback_harmony_url: data.fallback_harmony_url,
236
+ })}></audio>`;
237
+ }
238
+ //# sourceMappingURL=tags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tags.js","sourceRoot":"","sources":["../../src/markdown/tags.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * 富文本 / 普通文本组件的官方字号枚举。
4
+ */
5
+ export declare const MarkdownTextSizeEnumSchema: z.ZodEnum<{
6
+ heading: "heading";
7
+ "heading-0": "heading-0";
8
+ "heading-1": "heading-1";
9
+ "heading-2": "heading-2";
10
+ "heading-3": "heading-3";
11
+ "heading-4": "heading-4";
12
+ large: "large";
13
+ medium: "medium";
14
+ normal: "normal";
15
+ notation: "notation";
16
+ small: "small";
17
+ "x-large": "x-large";
18
+ "x-small": "x-small";
19
+ "xx-large": "xx-large";
20
+ "xxx-large": "xxx-large";
21
+ "xxxx-large": "xxxx-large";
22
+ }>;
23
+ export type MarkdownTextSizeEnum = z.infer<typeof MarkdownTextSizeEnumSchema>;
24
+ /**
25
+ * 自定义像素字号。支持 10px–40px(覆盖官方最小 x-small 到略大于 heading-0)。
26
+ */
27
+ export declare const MarkdownTextSizePixelSchema: z.ZodString;
28
+ export type MarkdownTextSizePixel = z.infer<typeof MarkdownTextSizePixelSchema>;
29
+ /**
30
+ * config.style.text_size 中声明的自定义 key(如 cus-0)。
31
+ * 不以纯数字 px 形式书写,避免与像素字号混淆。
32
+ */
33
+ export declare const MarkdownTextSizeCustomKeySchema: z.ZodString;
34
+ export type MarkdownTextSizeCustomKey = z.infer<typeof MarkdownTextSizeCustomKeySchema>;
35
+ /**
36
+ * 组件 text_size:
37
+ * 1. 官方枚举
38
+ * 2. 像素值 10px–40px
39
+ * 3. config.style.text_size 自定义 key
40
+ */
41
+ export declare const MarkdownTextSizeSchema: z.ZodUnion<readonly [z.ZodEnum<{
42
+ heading: "heading";
43
+ "heading-0": "heading-0";
44
+ "heading-1": "heading-1";
45
+ "heading-2": "heading-2";
46
+ "heading-3": "heading-3";
47
+ "heading-4": "heading-4";
48
+ large: "large";
49
+ medium: "medium";
50
+ normal: "normal";
51
+ notation: "notation";
52
+ small: "small";
53
+ "x-large": "x-large";
54
+ "x-small": "x-small";
55
+ "xx-large": "xx-large";
56
+ "xxx-large": "xxx-large";
57
+ "xxxx-large": "xxxx-large";
58
+ }>, z.ZodString, z.ZodString]>;
59
+ export type MarkdownTextSize = z.infer<typeof MarkdownTextSizeSchema>;
60
+ //# sourceMappingURL=text-size.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-size.d.ts","sourceRoot":"","sources":["../../src/markdown/text-size.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;EAqBpC,CAAC;AAEJ,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E;;GAEG;AACH,eAAO,MAAM,2BAA2B,aAKL,CAAC;AAEpC,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF;;;GAGG;AACH,eAAO,MAAM,+BAA+B,aAMS,CAAC;AAEtD,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAC7C,OAAO,+BAA+B,CACvC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;8BAQhC,CAAC;AAEJ,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
@@ -0,0 +1,58 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * 富文本 / 普通文本组件的官方字号枚举。
4
+ */
5
+ export const MarkdownTextSizeEnumSchema = z
6
+ .enum([
7
+ 'heading-0',
8
+ 'heading-1',
9
+ 'heading-2',
10
+ 'heading-3',
11
+ 'heading-4',
12
+ 'heading',
13
+ 'normal',
14
+ 'notation',
15
+ 'xxxx-large',
16
+ 'xxx-large',
17
+ 'xx-large',
18
+ 'x-large',
19
+ 'large',
20
+ 'medium',
21
+ 'small',
22
+ 'x-small',
23
+ ])
24
+ .describe('官方字号枚举。heading-* / normal / notation,或 xxxx-large … x-small(约 10–30px)');
25
+ /**
26
+ * 自定义像素字号。支持 10px–40px(覆盖官方最小 x-small 到略大于 heading-0)。
27
+ */
28
+ export const MarkdownTextSizePixelSchema = z
29
+ .string()
30
+ .regex(/^(1[0-9]|2[0-9]|3[0-9]|40)px$/, {
31
+ error: '像素字号须为 10px–40px,例如 "14px"、"28px"',
32
+ })
33
+ .describe('自定义像素字号,支持 10px–40px');
34
+ /**
35
+ * config.style.text_size 中声明的自定义 key(如 cus-0)。
36
+ * 不以纯数字 px 形式书写,避免与像素字号混淆。
37
+ */
38
+ export const MarkdownTextSizeCustomKeySchema = z
39
+ .string()
40
+ .min(1)
41
+ .refine((value) => !/^\d+px$/.test(value), {
42
+ message: '像素字号请使用 10px–40px;其它 px 值不合法',
43
+ })
44
+ .describe('config.style.text_size 自定义 key,如 cus-0');
45
+ /**
46
+ * 组件 text_size:
47
+ * 1. 官方枚举
48
+ * 2. 像素值 10px–40px
49
+ * 3. config.style.text_size 自定义 key
50
+ */
51
+ export const MarkdownTextSizeSchema = z
52
+ .union([
53
+ MarkdownTextSizeEnumSchema,
54
+ MarkdownTextSizePixelSchema,
55
+ MarkdownTextSizeCustomKeySchema,
56
+ ])
57
+ .describe('文本大小:官方枚举、10px–40px 像素值,或 config.style.text_size 自定义 key');
58
+ //# sourceMappingURL=text-size.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-size.js","sourceRoot":"","sources":["../../src/markdown/text-size.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC;KACxC,IAAI,CAAC;IACJ,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,WAAW;IACX,SAAS;IACT,QAAQ;IACR,UAAU;IACV,YAAY;IACZ,WAAW;IACX,UAAU;IACV,SAAS;IACT,OAAO;IACP,QAAQ;IACR,OAAO;IACP,SAAS;CACV,CAAC;KACD,QAAQ,CACP,wEAAwE,CACzE,CAAC;AAIJ;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC;KACzC,MAAM,EAAE;KACR,KAAK,CAAC,+BAA+B,EAAE;IACtC,KAAK,EAAE,mCAAmC;CAC3C,CAAC;KACD,QAAQ,CAAC,sBAAsB,CAAC,CAAC;AAIpC;;;GAGG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,CAAC;KAC7C,MAAM,EAAE;KACR,GAAG,CAAC,CAAC,CAAC;KACN,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;IACzC,OAAO,EAAE,8BAA8B;CACxC,CAAC;KACD,QAAQ,CAAC,wCAAwC,CAAC,CAAC;AAMtD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC;KACpC,KAAK,CAAC;IACL,0BAA0B;IAC1B,2BAA2B;IAC3B,+BAA+B;CAChC,CAAC;KACD,QAAQ,CACP,0DAA0D,CAC3D,CAAC"}
package/package.json ADDED
@@ -0,0 +1,37 @@
1
+ {
2
+ "name": "@open-feishu-card/schema",
3
+ "version": "0.1.0",
4
+ "description": "飞书卡片 JSON Schema 2.0 的 Zod 规范定义与类型导出",
5
+ "type": "module",
6
+ "main": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.js"
12
+ }
13
+ },
14
+ "files": [
15
+ "dist"
16
+ ],
17
+ "dependencies": {
18
+ "zod": "^4.0.0"
19
+ },
20
+ "devDependencies": {
21
+ "typescript": "^7.0.2"
22
+ },
23
+ "license": "MIT",
24
+ "publishConfig": {
25
+ "access": "public"
26
+ },
27
+ "repository": {
28
+ "type": "git",
29
+ "url": "git+https://github.com/ztxtxwd/open-feishu-card-monorepo.git",
30
+ "directory": "packages/schema"
31
+ },
32
+ "scripts": {
33
+ "build": "tsc -p tsconfig.json",
34
+ "typecheck": "tsc --noEmit -p tsconfig.json",
35
+ "test": "echo no tests"
36
+ }
37
+ }