@open-feishu-card/schema 0.1.1 → 0.1.3

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 (60) hide show
  1. package/dist/common/behaviors-context.d.ts +2 -0
  2. package/dist/common/behaviors-context.d.ts.map +1 -1
  3. package/dist/index.cjs +3075 -0
  4. package/dist/index.js +2966 -16
  5. package/package.json +7 -4
  6. package/dist/card.js +0 -41
  7. package/dist/card.js.map +0 -1
  8. package/dist/common/behavior.js +0 -39
  9. package/dist/common/behavior.js.map +0 -1
  10. package/dist/common/behaviors-context.js +0 -88
  11. package/dist/common/behaviors-context.js.map +0 -1
  12. package/dist/common/confirm.js +0 -12
  13. package/dist/common/confirm.js.map +0 -1
  14. package/dist/common/enums.js +0 -131
  15. package/dist/common/enums.js.map +0 -1
  16. package/dist/common/fallback.js +0 -22
  17. package/dist/common/fallback.js.map +0 -1
  18. package/dist/common/icon-tokens.js +0 -1163
  19. package/dist/common/icon-tokens.js.map +0 -1
  20. package/dist/common/icon.js +0 -49
  21. package/dist/common/icon.js.map +0 -1
  22. package/dist/common/index.js +0 -9
  23. package/dist/common/index.js.map +0 -1
  24. package/dist/common/text.js +0 -80
  25. package/dist/common/text.js.map +0 -1
  26. package/dist/common/url.js +0 -30
  27. package/dist/common/url.js.map +0 -1
  28. package/dist/config.js +0 -123
  29. package/dist/config.js.map +0 -1
  30. package/dist/containers/index.js +0 -205
  31. package/dist/containers/index.js.map +0 -1
  32. package/dist/content/index.js +0 -426
  33. package/dist/content/index.js.map +0 -1
  34. package/dist/element-ref.js +0 -17
  35. package/dist/element-ref.js.map +0 -1
  36. package/dist/element.js +0 -46
  37. package/dist/element.js.map +0 -1
  38. package/dist/header.js +0 -27
  39. package/dist/header.js.map +0 -1
  40. package/dist/index.js.map +0 -1
  41. package/dist/interactive/index.js +0 -533
  42. package/dist/interactive/index.js.map +0 -1
  43. package/dist/markdown/builders.js +0 -140
  44. package/dist/markdown/builders.js.map +0 -1
  45. package/dist/markdown/code-language.js +0 -79
  46. package/dist/markdown/code-language.js.map +0 -1
  47. package/dist/markdown/component.js +0 -38
  48. package/dist/markdown/component.js.map +0 -1
  49. package/dist/markdown/emoji-tokens.js +0 -193
  50. package/dist/markdown/emoji-tokens.js.map +0 -1
  51. package/dist/markdown/enums.js +0 -49
  52. package/dist/markdown/enums.js.map +0 -1
  53. package/dist/markdown/escape.js +0 -42
  54. package/dist/markdown/escape.js.map +0 -1
  55. package/dist/markdown/index.js +0 -16
  56. package/dist/markdown/index.js.map +0 -1
  57. package/dist/markdown/tags.js +0 -238
  58. package/dist/markdown/tags.js.map +0 -1
  59. package/dist/markdown/text-size.js +0 -58
  60. package/dist/markdown/text-size.js.map +0 -1
@@ -1,426 +0,0 @@
1
- import { z } from 'zod';
2
- import { ColorSchema, ElementIdSchema, HorizontalAlignSchema, SpacingValueSchema, VerticalAlignSchema, } from '../common/enums.js';
3
- import { IconSchema, UdIconSchema } from '../common/icon.js';
4
- import { StyledTextObjectSchema } from '../common/text.js';
5
- /**
6
- * 普通文本组件(div)。
7
- * 支持普通文本/lark_md 与前缀图标。
8
- */
9
- export const DivSchema = z
10
- .object({
11
- tag: z.literal('div').describe('组件标签,固定为 div'),
12
- element_id: ElementIdSchema.optional().describe('组件唯一标识'),
13
- margin: SpacingValueSchema.optional().describe('组件外边距'),
14
- /** 宽度:fill / auto / [16,999]px,默认 fill */
15
- width: z
16
- .string()
17
- .optional()
18
- .describe('组件宽度:fill / auto / [16,999]px,默认 fill'),
19
- text: StyledTextObjectSchema.optional().describe('文本内容配置'),
20
- icon: IconSchema.optional().describe('文本前缀图标'),
21
- })
22
- .describe('普通文本组件(div)');
23
- /**
24
- * 图片组件(img)。
25
- */
26
- export const ImageSchema = z
27
- .object({
28
- tag: z.literal('img').describe('组件标签,固定为 img'),
29
- /** 图片 key(上传图片接口返回) */
30
- img_key: z
31
- .string()
32
- .describe('图片 key(上传图片接口返回);禁止臆造。无真实资源时改用 markdown/plain_text/standard_icon'),
33
- /** 图片描述(无障碍/加载失败时展示) */
34
- alt: z
35
- .object({
36
- tag: z.literal('plain_text').describe('文本类型标签,固定为 plain_text'),
37
- content: z.string().describe('图片描述文案'),
38
- })
39
- .describe('图片描述(无障碍/加载失败时展示)'),
40
- element_id: ElementIdSchema.optional().describe('组件唯一标识'),
41
- margin: SpacingValueSchema.optional().describe('组件外边距;通栏配图贴边可用负水平 margin(如 "4px -12px")'),
42
- title: z
43
- .object({
44
- tag: z.literal('plain_text').describe('文本类型标签,固定为 plain_text'),
45
- content: z.string().describe('图片标题文案'),
46
- })
47
- .optional()
48
- .describe('图片标题'),
49
- corner_radius: z.string().optional().describe('圆角半径,如 8px 或 50%'),
50
- scale_type: z
51
- .enum(['crop_center', 'crop_top', 'fit_horizontal'])
52
- .optional()
53
- .describe('裁剪/缩放方式,默认 crop_center。内容图/截图/通栏配图用 fit_horizontal;crop_center/crop_top 仅用于缩略图/小头像式配图'),
54
- /** stretch / large / medium / small / tiny / "Wpx Hpx" */
55
- size: z
56
- .string()
57
- .optional()
58
- .describe('图片尺寸:stretch / large / medium / small / tiny,或自定义 "Wpx Hpx"。仅对 crop_center/crop_top 生效;fit_horizontal 时不要写 size'),
59
- transparent: z
60
- .boolean()
61
- .optional()
62
- .describe('是否透明底色,默认 false'),
63
- preview: z
64
- .boolean()
65
- .optional()
66
- .describe('点击后是否支持大图预览,默认 true'),
67
- /** @deprecated 历史字段 */
68
- mode: z.string().optional().describe('历史字段,已废弃'),
69
- custom_width: z
70
- .number()
71
- .optional()
72
- .describe('历史字段:自定义宽度(px)'),
73
- compact_width: z
74
- .boolean()
75
- .optional()
76
- .describe('历史字段:是否紧凑宽度'),
77
- })
78
- .describe('图片组件(img)。内容图/截图用 scale_type=fit_horizontal 且不写 size;缩略图才用 crop_* + size');
79
- /**
80
- * 多图混排组件(img_combination)。
81
- */
82
- export const ImgCombinationSchema = z
83
- .object({
84
- tag: z
85
- .literal('img_combination')
86
- .describe('组件标签,固定为 img_combination'),
87
- combination_mode: z
88
- .enum(['double', 'triple', 'bisect', 'trisect'])
89
- .describe('混排模式:double(双图)/ triple(三图)/ bisect(等分两列)/ trisect(等分三列)'),
90
- img_list: z
91
- .array(z
92
- .object({
93
- img_key: z.string().describe('图片 key(上传图片接口返回)'),
94
- })
95
- .describe('混排中的单张图片'))
96
- .describe('混排图片列表'),
97
- element_id: ElementIdSchema.optional().describe('组件唯一标识'),
98
- margin: SpacingValueSchema.optional().describe('组件外边距'),
99
- combination_transparent: z
100
- .boolean()
101
- .optional()
102
- .describe('混排区域是否透明底色,默认 false'),
103
- corner_radius: z.string().optional().describe('图片圆角半径'),
104
- })
105
- .describe('多图混排组件(img_combination)');
106
- /**
107
- * 人员组件(person)。
108
- * 仅展示头像/姓名,不会通知对方;要 @/通知请用 markdown `<at>`。
109
- */
110
- export const PersonSchema = z
111
- .object({
112
- tag: z.literal('person').describe('组件标签,固定为 person'),
113
- /** open_id / user_id;优先 ou_,避免 on_ */
114
- user_id: z
115
- .string()
116
- .describe('人员 ID:优先 open_id(ou_) 或 user_id;不要用 union_id(on_)。禁止臆造 ID'),
117
- element_id: ElementIdSchema.optional().describe('组件唯一标识'),
118
- margin: SpacingValueSchema.optional().describe('组件外边距'),
119
- size: z
120
- .enum(['extra_small', 'small', 'medium', 'large'])
121
- .optional()
122
- .describe('人员组件尺寸,默认 medium'),
123
- show_avatar: z
124
- .boolean()
125
- .optional()
126
- .describe('是否展示头像,默认 true'),
127
- show_name: z.boolean().optional().describe('是否展示姓名,默认 true'),
128
- style: z
129
- .enum(['normal', 'capsule'])
130
- .optional()
131
- .describe('展示样式:normal / capsule,默认 normal'),
132
- })
133
- .describe('人员组件(person):仅展示,不发通知。提示词说作者/负责人/名单时用;要 @/通知改用 markdown <at>');
134
- /**
135
- * 人员列表组件(person_list)。
136
- * 仅展示,不发通知;要 @/通知请用 markdown `<at>`。
137
- */
138
- export const PersonListSchema = z
139
- .object({
140
- tag: z.literal('person_list').describe('组件标签,固定为 person_list'),
141
- persons: z
142
- .array(z
143
- .object({
144
- id: z
145
- .string()
146
- .describe('人员 ID:优先 open_id(ou_) 或 user_id;不要用 union_id(on_)。禁止臆造 ID'),
147
- })
148
- .describe('人员列表项'))
149
- .describe('人员列表'),
150
- element_id: ElementIdSchema.optional().describe('组件唯一标识'),
151
- margin: SpacingValueSchema.optional().describe('组件外边距'),
152
- drop_invalid_user_id: z
153
- .boolean()
154
- .optional()
155
- .describe('是否丢弃无效的 user_id,默认 false'),
156
- lines: z
157
- .number()
158
- .int()
159
- .optional()
160
- .describe('最大显示行数,超出省略'),
161
- show_name: z.boolean().optional().describe('是否展示姓名,默认 true'),
162
- show_avatar: z
163
- .boolean()
164
- .optional()
165
- .describe('是否展示头像,默认 true'),
166
- size: z
167
- .enum(['extra_small', 'small', 'medium', 'large'])
168
- .optional()
169
- .describe('人员尺寸,默认 medium'),
170
- icon: IconSchema.optional().describe('列表前缀图标'),
171
- ud_icon: UdIconSchema.optional().describe('历史前缀图标(ud_icon);与 icon 同时存在时以 icon 为准'),
172
- })
173
- .describe('人员列表组件(person_list):仅展示多人,不发通知。多行多人名单也可用 table 的 persons 列');
174
- /**
175
- * 图表组件(chart)。chart_spec 遵循 VChart 规范,此处宽松校验。
176
- */
177
- export const ChartSchema = z
178
- .object({
179
- tag: z.literal('chart').describe('组件标签,固定为 chart'),
180
- chart_spec: z
181
- .record(z.string(), z.unknown())
182
- .describe('图表配置,遵循 VChart 规范'),
183
- element_id: ElementIdSchema.optional().describe('组件唯一标识'),
184
- margin: SpacingValueSchema.optional().describe('组件外边距'),
185
- aspect_ratio: z
186
- .enum(['1:1', '2:1', '4:3', '16:9'])
187
- .optional()
188
- .describe('图表宽高比,默认 16:9'),
189
- color_theme: z
190
- .enum(['brand', 'rainbow', 'complementary', 'converse', 'primary'])
191
- .optional()
192
- .describe('图表配色主题,默认 brand'),
193
- preview: z
194
- .boolean()
195
- .optional()
196
- .describe('点击后是否支持大图预览,默认 true'),
197
- /** auto 或 [1,999]px */
198
- height: z
199
- .string()
200
- .optional()
201
- .describe('图表高度:auto 或 [1,999]px'),
202
- })
203
- .describe('图表组件(chart)。旁侧说明类 icon 可用 info_outlined;图表相关 icon 推荐 insert-chart_outlined / sheet-*_outlined / data-sheet_outlined 等枚举内 token');
204
- const TableHeaderStyleSchema = z
205
- .object({
206
- text_align: HorizontalAlignSchema.optional().describe('表头文本对齐方式'),
207
- text_size: z
208
- .enum(['normal', 'heading'])
209
- .optional()
210
- .describe('表头字号:normal / heading'),
211
- background_style: z
212
- .enum(['none', 'grey'])
213
- .optional()
214
- .describe('表头背景样式:none / grey'),
215
- text_color: z
216
- .enum(['default', 'grey'])
217
- .optional()
218
- .describe('表头文字颜色:default / grey'),
219
- bold: z.boolean().optional().describe('表头文字是否加粗'),
220
- lines: z
221
- .number()
222
- .int()
223
- .positive()
224
- .optional()
225
- .describe('表头最大显示行数'),
226
- })
227
- .describe('表格表头样式');
228
- const TableColumnSchema = z
229
- .object({
230
- name: z.string().describe('列的唯一标识,对应 rows 中的字段名'),
231
- data_type: z
232
- .enum(['text', 'lark_md', 'options', 'number', 'persons', 'date', 'markdown'])
233
- .optional()
234
- .describe('列数据类型:text / lark_md / options / number / persons / date / markdown。Owner/负责人/跟进人等人员列必须用 persons,行值为裸 ou_/user_id(或数组);禁止用 text/lark_md 塞人员 ID,也禁止在单元格写 <person>/<at>'),
235
- display_name: z.string().optional().describe('列展示名称'),
236
- /** auto / px / % */
237
- width: z
238
- .string()
239
- .optional()
240
- .describe('列宽:auto、固定 px 或百分比'),
241
- vertical_align: VerticalAlignSchema.optional().describe('单元格垂直对齐'),
242
- horizontal_align: HorizontalAlignSchema.optional().describe('单元格水平对齐'),
243
- /** number 列格式化 */
244
- format: z
245
- .record(z.string(), z.unknown())
246
- .optional()
247
- .describe('number 列的格式化配置'),
248
- date_format: z
249
- .string()
250
- .optional()
251
- .describe('date 列的日期格式,如 yyyy/MM/dd'),
252
- })
253
- .describe('表格列定义');
254
- /**
255
- * 表格组件(table)。必须在 body.elements 根级;不可嵌套在 column / form / interactive_container 等容器内。
256
- */
257
- export const TableSchema = z
258
- .object({
259
- tag: z.literal('table').describe('组件标签,固定为 table'),
260
- columns: z.array(TableColumnSchema).describe('表格列定义列表'),
261
- rows: z
262
- .array(z.record(z.string(), z.unknown()))
263
- .describe('表格行数据,对象 key 对应 columns.name。persons 列值为裸人员 ID 字符串或数组,勿写 <person>/<at>'),
264
- element_id: ElementIdSchema.optional().describe('组件唯一标识'),
265
- margin: SpacingValueSchema.optional().describe('组件外边距'),
266
- page_size: z
267
- .number()
268
- .int()
269
- .min(1)
270
- .max(10)
271
- .optional()
272
- .describe('每页显示行数,取值 1–10,默认 5'),
273
- row_height: z
274
- .string()
275
- .optional()
276
- .describe('行高,如 low / middle / high 或自定义 px'),
277
- row_max_height: z.string().optional().describe('行最大高度'),
278
- freeze_first_column: z
279
- .boolean()
280
- .optional()
281
- .describe('是否冻结首列,默认 false'),
282
- header_style: TableHeaderStyleSchema.optional().describe('表头样式'),
283
- })
284
- .describe('表格组件(table):必须放在 body.elements 根级,禁止包进 column / interactive_container 等容器');
285
- /**
286
- * 分割线组件(hr)。
287
- */
288
- export const HrSchema = z
289
- .object({
290
- tag: z.literal('hr').describe('组件标签,固定为 hr'),
291
- element_id: ElementIdSchema.optional().describe('组件唯一标识'),
292
- margin: SpacingValueSchema.optional().describe('组件外边距'),
293
- })
294
- .describe('分割线组件(hr)');
295
- /**
296
- * 音频组件(audio)。
297
- */
298
- export const AudioSchema = z
299
- .object({
300
- tag: z.literal('audio').describe('组件标签,固定为 audio'),
301
- file_key: z.string().describe('音频文件 key'),
302
- element_id: ElementIdSchema.optional().describe('组件唯一标识'),
303
- margin: SpacingValueSchema.optional().describe('组件外边距'),
304
- i18n_file_key: z
305
- .record(z.string(), z.string())
306
- .optional()
307
- .describe('多语言音频文件 key 映射'),
308
- audio_id: z.string().optional().describe('音频元素标识,用于区分多个音频'),
309
- disabled: z.boolean().optional().describe('是否禁用音频播放,默认 false'),
310
- disabled_tips: z
311
- .object({
312
- tag: z.literal('plain_text').describe('文本类型标签,固定为 plain_text'),
313
- content: z.string().describe('禁用提示文案'),
314
- })
315
- .optional()
316
- .describe('禁用时的悬浮提示'),
317
- show_progress_bar: z
318
- .boolean()
319
- .optional()
320
- .describe('是否展示进度条,默认 true'),
321
- show_time: z.boolean().optional().describe('是否展示时间,默认 true'),
322
- time_display: z
323
- .enum(['default', 'both'])
324
- .optional()
325
- .describe('时间展示方式:default / both'),
326
- time_position: z
327
- .enum(['end', 'start', 'both_sides'])
328
- .optional()
329
- .describe('时间位置:end / start / both_sides'),
330
- border: z
331
- .object({
332
- color: ColorSchema.optional().describe('边框颜色'),
333
- corner_radius: z.string().optional().describe('边框圆角'),
334
- })
335
- .optional()
336
- .describe('边框样式'),
337
- style: z
338
- .enum(['normal', 'flat', 'speak'])
339
- .optional()
340
- .describe('音频样式:normal / flat / speak,默认 normal'),
341
- padding: SpacingValueSchema.optional().describe('组件内边距'),
342
- background_style: z.string().optional().describe('背景样式'),
343
- fill_color: ColorSchema.optional().describe('填充颜色'),
344
- width: z.string().optional().describe('组件宽度'),
345
- fallback: z
346
- .union([
347
- z.literal('drop').describe('客户端不支持时丢弃该组件'),
348
- z
349
- .object({
350
- tag: z
351
- .literal('fallback_text')
352
- .describe('降级类型,固定为 fallback_text'),
353
- text: z
354
- .object({
355
- tag: z
356
- .literal('plain_text')
357
- .describe('文本类型标签,固定为 plain_text'),
358
- content: z.string().describe('降级文案内容'),
359
- })
360
- .describe('自定义降级文案'),
361
- })
362
- .describe('自定义降级文案对象'),
363
- ])
364
- .optional()
365
- .describe('降级配置:drop 丢弃组件,或 fallback_text 自定义文案;省略则用系统默认文案'),
366
- })
367
- .describe('音频组件(audio)');
368
- /**
369
- * 视频组件(video)。
370
- */
371
- export const VideoSchema = z
372
- .object({
373
- tag: z.literal('video').describe('组件标签,固定为 video'),
374
- file_key: z.string().describe('视频文件 key'),
375
- element_id: ElementIdSchema.optional().describe('组件唯一标识'),
376
- margin: SpacingValueSchema.optional().describe('组件外边距'),
377
- i18n_file_key: z
378
- .record(z.string(), z.string())
379
- .optional()
380
- .describe('多语言视频文件 key 映射'),
381
- enable_download: z
382
- .boolean()
383
- .optional()
384
- .describe('是否允许下载视频,默认 false'),
385
- show_time: z.boolean().optional().describe('是否展示时长,默认 true'),
386
- cover: z
387
- .object({
388
- img_key: z.string().optional().describe('封面图片 key'),
389
- i18n_img_key: z
390
- .record(z.string(), z.string())
391
- .optional()
392
- .describe('多语言封面图片 key 映射'),
393
- })
394
- .optional()
395
- .describe('视频封面配置'),
396
- hover_tips: z
397
- .object({
398
- tag: z.literal('plain_text').describe('文本类型标签,固定为 plain_text'),
399
- content: z.string().describe('悬浮提示文案'),
400
- })
401
- .optional()
402
- .describe('悬浮提示'),
403
- fallback: z
404
- .union([
405
- z.literal('drop').describe('客户端不支持时丢弃该组件'),
406
- z
407
- .object({
408
- tag: z
409
- .literal('fallback_text')
410
- .describe('降级类型,固定为 fallback_text'),
411
- text: z
412
- .object({
413
- tag: z
414
- .literal('plain_text')
415
- .describe('文本类型标签,固定为 plain_text'),
416
- content: z.string().describe('降级文案内容'),
417
- })
418
- .describe('自定义降级文案'),
419
- })
420
- .describe('自定义降级文案对象'),
421
- ])
422
- .optional()
423
- .describe('降级配置:drop 丢弃组件,或 fallback_text 自定义文案;省略则用系统默认文案'),
424
- })
425
- .describe('视频组件(video)');
426
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/content/index.ts"],"names":[],"mappings":"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"}
@@ -1,17 +0,0 @@
1
- /**
2
- * 递归 ElementSchema 的延迟绑定。
3
- * 容器组件通过本模块引用 Element,避免循环依赖在模块初始化时炸掉。
4
- */
5
- let elementSchema;
6
- /** 由 element.ts 在定义完成后注册 */
7
- export function registerElementSchema(schema) {
8
- elementSchema = schema;
9
- }
10
- /** 供 z.lazy(() => getElementSchema()) 使用 */
11
- export function getElementSchema() {
12
- if (!elementSchema) {
13
- throw new Error('ElementSchema 尚未注册,请确认已导入 src/element.ts');
14
- }
15
- return elementSchema;
16
- }
17
- //# sourceMappingURL=element-ref.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"element-ref.js","sourceRoot":"","sources":["../src/element-ref.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,IAAI,aAAkC,CAAC;AAEvC,4BAA4B;AAC5B,MAAM,UAAU,qBAAqB,CAAC,MAAe;IACnD,aAAa,GAAG,MAAM,CAAC;AACzB,CAAC;AAED,4CAA4C;AAC5C,MAAM,UAAU,gBAAgB;IAC9B,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC"}
package/dist/element.js DELETED
@@ -1,46 +0,0 @@
1
- import { z } from 'zod';
2
- import { CollapsiblePanelSchema, ColumnSetSchema, FormSchema, InteractiveContainerSchema, } from './containers/index.js';
3
- import { AudioSchema, ChartSchema, DivSchema, HrSchema, ImageSchema, ImgCombinationSchema, PersonListSchema, PersonSchema, TableSchema, VideoSchema, } from './content/index.js';
4
- import { MarkdownSchema } from './markdown/component.js';
5
- import { registerElementSchema } from './element-ref.js';
6
- import { ButtonSchema, CheckerSchema, DatePickerSchema, InputSchema, MultiSelectPersonSchema, MultiSelectStaticSchema, OverflowSchema, PickerDatetimeSchema, PickerTimeSchema, SelectImgSchema, SelectPersonSchema, SelectStaticSchema, } from './interactive/index.js';
7
- /**
8
- * 卡片正文元素判别联合(基于 tag)。
9
- * 容器类组件通过 z.lazy + registerElementSchema 处理递归嵌套。
10
- */
11
- export const ElementSchema = z
12
- .discriminatedUnion('tag', [
13
- // 容器
14
- ColumnSetSchema,
15
- FormSchema,
16
- InteractiveContainerSchema,
17
- CollapsiblePanelSchema,
18
- // 展示
19
- DivSchema,
20
- MarkdownSchema,
21
- ImageSchema,
22
- ImgCombinationSchema,
23
- PersonSchema,
24
- PersonListSchema,
25
- ChartSchema,
26
- TableSchema,
27
- HrSchema,
28
- AudioSchema,
29
- VideoSchema,
30
- // 交互
31
- ButtonSchema,
32
- InputSchema,
33
- OverflowSchema,
34
- SelectStaticSchema,
35
- MultiSelectStaticSchema,
36
- SelectPersonSchema,
37
- MultiSelectPersonSchema,
38
- DatePickerSchema,
39
- PickerTimeSchema,
40
- PickerDatetimeSchema,
41
- SelectImgSchema,
42
- CheckerSchema,
43
- ])
44
- .describe('卡片正文元素(基于 tag 的判别联合)。form/table 仅允许在 body.elements 根级;column 内不支持二者');
45
- registerElementSchema(ElementSchema);
46
- //# sourceMappingURL=element.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"element.js","sourceRoot":"","sources":["../src/element.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,sBAAsB,EACtB,eAAe,EACf,UAAU,EACV,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACL,WAAW,EACX,WAAW,EACX,SAAS,EACT,QAAQ,EACR,WAAW,EACX,oBAAoB,EACpB,gBAAgB,EAChB,YAAY,EACZ,WAAW,EACX,WAAW,GACZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EACL,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,uBAAuB,EACvB,uBAAuB,EACvB,cAAc,EACd,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,wBAAwB,CAAC;AAEhC;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC;KAC3B,kBAAkB,CAAC,KAAK,EAAE;IACzB,KAAK;IACL,eAAe;IACf,UAAU;IACV,0BAA0B;IAC1B,sBAAsB;IACtB,KAAK;IACL,SAAS;IACT,cAAc;IACd,WAAW;IACX,oBAAoB;IACpB,YAAY;IACZ,gBAAgB;IAChB,WAAW;IACX,WAAW;IACX,QAAQ;IACR,WAAW;IACX,WAAW;IACX,KAAK;IACL,YAAY;IACZ,WAAW;IACX,cAAc;IACd,kBAAkB;IAClB,uBAAuB;IACvB,kBAAkB;IAClB,uBAAuB;IACvB,gBAAgB;IAChB,gBAAgB;IAChB,oBAAoB;IACpB,eAAe;IACf,aAAa;CACd,CAAC;KACD,QAAQ,CACP,qEAAqE,CACtE,CAAC;AAIJ,qBAAqB,CAAC,aAAa,CAAC,CAAC"}
package/dist/header.js DELETED
@@ -1,27 +0,0 @@
1
- import { z } from 'zod';
2
- import { HeaderTemplateSchema, SpacingValueSchema } from './common/enums.js';
3
- import { IconSchema } from './common/icon.js';
4
- import { TextObjectSchema, TextTagSchema } from './common/text.js';
5
- /**
6
- * 卡片标题(header)。
7
- * 位于卡片根级,不进入 body.elements。
8
- */
9
- export const HeaderSchema = z
10
- .object({
11
- title: TextObjectSchema.describe('卡片主标题;若仅配置副标题则实际展示为主标题效果'),
12
- subtitle: TextObjectSchema.optional().describe('卡片副标题,最多一行'),
13
- text_tag_list: z
14
- .array(TextTagSchema)
15
- .max(3)
16
- .optional()
17
- .describe('标题后缀标签,最多 3 个;与 i18n_text_tag_list 同时配置时优先生效多语言配置'),
18
- i18n_text_tag_list: z
19
- .record(z.string(), z.array(TextTagSchema).max(3))
20
- .optional()
21
- .describe('多语言标题后缀标签,每个语言最多 3 个'),
22
- template: HeaderTemplateSchema.optional().describe('标题主题色,默认 default;主题色宜集中在 header.template,勿满屏铺色'),
23
- icon: IconSchema.optional().describe('标题前缀图标'),
24
- padding: SpacingValueSchema.optional().describe('标题内边距,默认 12px'),
25
- })
26
- .describe('卡片标题区(header),位于根级,不进入 body.elements');
27
- //# sourceMappingURL=header.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"header.js","sourceRoot":"","sources":["../src/header.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEnE;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC;KAC1B,MAAM,CAAC;IACN,KAAK,EAAE,gBAAgB,CAAC,QAAQ,CAC9B,0BAA0B,CAC3B;IACD,QAAQ,EAAE,gBAAgB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;IAC5D,aAAa,EAAE,CAAC;SACb,KAAK,CAAC,aAAa,CAAC;SACpB,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,EAAE;SACV,QAAQ,CACP,mDAAmD,CACpD;IACH,kBAAkB,EAAE,CAAC;SAClB,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SACjD,QAAQ,EAAE;SACV,QAAQ,CAAC,sBAAsB,CAAC;IACnC,QAAQ,EAAE,oBAAoB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAChD,gDAAgD,CACjD;IACD,IAAI,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAC9C,OAAO,EAAE,kBAAkB,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC;CACjE,CAAC;KACD,QAAQ,CAAC,sCAAsC,CAAC,CAAC"}
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,4CAA4C;AAC5C,cAAc,cAAc,CAAC;AAE7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,WAAW,CAAC"}