@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":"index.d.ts","sourceRoot":"","sources":["../../src/containers/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAyBxB;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAqDtB,CAAC;AAEJ,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAElD;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAqBzB,CAAC;AAEJ,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAExD;;;;GAIG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;iBA2BpB,CAAC;AAEJ,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAE9C;;;GAGG;AACH,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAqDpC,CAAC;AAEJ,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAyC9E;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA2ChC,CAAC;AAEJ,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
@@ -0,0 +1,205 @@
1
+ import { z } from 'zod';
2
+ import { BehaviorsSchema } from '../common/behavior.js';
3
+ import { ConfirmSchema } from '../common/confirm.js';
4
+ import { ColorSchema, DirectionSchema, ElementIdSchema, HorizontalAlignSchema, SpacingTokenSchema, SpacingValueSchema, VerticalAlignSchema, } from '../common/enums.js';
5
+ import { IconSchema } from '../common/icon.js';
6
+ import { MarkdownTextObjectSchema, TipsTextSchema } from '../common/text.js';
7
+ import { MultiUrlSchema } from '../common/url.js';
8
+ import { getElementSchema } from '../element-ref.js';
9
+ /** 列/分栏点击跳转 */
10
+ const ColumnActionSchema = z
11
+ .object({
12
+ multi_url: MultiUrlSchema.optional().describe('点击跳转的多端链接'),
13
+ })
14
+ .describe('列/分栏点击跳转配置');
15
+ /**
16
+ * 分栏中的列(column)。仅嵌套在 column_set 内,不进入 body Element 联合。
17
+ */
18
+ export const ColumnSchema = z
19
+ .object({
20
+ tag: z.literal('column').describe('组件标签,固定为 column'),
21
+ element_id: ElementIdSchema.optional().describe('组件唯一标识'),
22
+ background_style: z
23
+ .string()
24
+ .optional()
25
+ .describe('列背景样式/颜色。并排指标/KPI 列默认 grey-50;勿逐列换彩虹色。彩色 -50 仅作少量点缀'),
26
+ /** auto / weighted / [16,600]px */
27
+ width: z
28
+ .string()
29
+ .optional()
30
+ .describe('列宽:auto / weighted / [16,600]px。并排按钮须与按钮 width 配套:① 满宽均分 → weighted + weight:1,按钮 width:fill;② 内容自适应 → auto,按钮不写 width。图标行:auto 放图标 + weighted 放文本'),
31
+ /** width 为 weighted 时的权重,1–5 */
32
+ weight: z
33
+ .number()
34
+ .int()
35
+ .min(1)
36
+ .max(5)
37
+ .optional()
38
+ .describe('width 为 weighted 时的权重,取值 1–5;等宽并排常用 1'),
39
+ horizontal_spacing: SpacingTokenSchema.optional().describe('列内子组件水平间距'),
40
+ horizontal_align: HorizontalAlignSchema.optional().describe('列内子组件水平对齐'),
41
+ vertical_align: VerticalAlignSchema.optional().describe('列内子组件垂直对齐;图标+文本行推荐 center'),
42
+ vertical_spacing: SpacingTokenSchema.optional().describe('列内子组件垂直间距'),
43
+ direction: DirectionSchema.optional().describe('列内子组件排列方向'),
44
+ padding: SpacingValueSchema.optional().describe('列内边距;并排指标列默认 "8px 12px 8px 12px"'),
45
+ margin: SpacingValueSchema.optional().describe('列外边距'),
46
+ action: ColumnActionSchema.optional().describe('列点击跳转配置'),
47
+ /** 列内嵌组件;不支持 form、table */
48
+ elements: z
49
+ .lazy(() => z.array(getElementSchema()))
50
+ .optional()
51
+ .describe('列内嵌组件列表;不支持 form、table(二者必须在 body.elements 根级)、交互容器(interactive_container)'),
52
+ })
53
+ .describe('分栏中的列(column)。KPI 列默认 background_style=grey-50 + padding;按钮宽度必须与列宽模式配套');
54
+ /**
55
+ * 分栏组件(column_set)。
56
+ */
57
+ export const ColumnSetSchema = z
58
+ .object({
59
+ tag: z.literal('column_set').describe('组件标签,固定为 column_set'),
60
+ columns: z.array(ColumnSchema).describe('分栏中的列列表'),
61
+ element_id: ElementIdSchema.optional().describe('组件唯一标识'),
62
+ margin: SpacingValueSchema.optional().describe('组件外边距'),
63
+ horizontal_spacing: SpacingTokenSchema.optional().describe('列间距'),
64
+ horizontal_align: HorizontalAlignSchema.optional().describe('分栏内列的水平对齐'),
65
+ flex_mode: z
66
+ .enum(['none', 'stretch', 'flow', 'bisect', 'trisect'])
67
+ .optional()
68
+ .describe('窄屏自适应模式:none / stretch / flow / bisect / trisect,默认 none'),
69
+ background_style: z.string().optional().describe('分栏背景样式/颜色'),
70
+ action: ColumnActionSchema.optional().describe('分栏点击跳转配置'),
71
+ })
72
+ .describe('分栏组件(column_set)。并排信息等宽排列;图标行用 auto+weighted 两列且 vertical_align=center');
73
+ /**
74
+ * 表单容器(form)。
75
+ * 仅可出现在卡片 body 根级;禁止包进 column / interactive_container 等容器。
76
+ * 内部必须包含 form_action_type 为 submit 的按钮。
77
+ */
78
+ export const FormSchema = z
79
+ .object({
80
+ tag: z.literal('form').describe('组件标签,固定为 form'),
81
+ /** 表单标识,卡片内唯一 */
82
+ name: z.string().describe('表单标识,卡片内唯一'),
83
+ elements: z
84
+ .lazy(() => z.array(getElementSchema()))
85
+ .describe('表单内嵌组件列表'),
86
+ element_id: ElementIdSchema.optional().describe('组件唯一标识'),
87
+ direction: DirectionSchema.optional().describe('表单内子组件排列方向'),
88
+ margin: SpacingValueSchema.optional().describe('组件外边距'),
89
+ padding: SpacingValueSchema.optional().describe('组件内边距'),
90
+ horizontal_spacing: SpacingTokenSchema.optional().describe('表单内子组件水平间距'),
91
+ horizontal_align: HorizontalAlignSchema.optional().describe('表单内子组件水平对齐'),
92
+ vertical_align: VerticalAlignSchema.optional().describe('表单内子组件垂直对齐'),
93
+ vertical_spacing: SpacingTokenSchema.optional().describe('表单内子组件垂直间距'),
94
+ })
95
+ .describe('表单容器(form):必须在 body.elements 根级,禁止包进 column / interactive_container;内需含 submit 按钮');
96
+ /**
97
+ * 交互容器(interactive_container)。
98
+ * 仅用于整块可点击、营销通栏、并排 KPI 等明确需要弱卡片感的场景;默认不要给每个文案块套带边框容器。
99
+ */
100
+ export const InteractiveContainerSchema = z
101
+ .object({
102
+ tag: z
103
+ .literal('interactive_container')
104
+ .describe('组件标签,固定为 interactive_container'),
105
+ behaviors: BehaviorsSchema.optional().describe('表单外必填。纯展示弱卡片感时设 disabled:true 且不要依赖点击;真正可点才配 behaviors'),
106
+ elements: z
107
+ .lazy(() => z.array(getElementSchema()))
108
+ .describe('容器内嵌组件列表;不支持 form、table'),
109
+ width: z.string().optional().describe('容器宽度'),
110
+ height: z.string().optional().describe('容器高度'),
111
+ element_id: ElementIdSchema.optional().describe('组件唯一标识'),
112
+ margin: SpacingValueSchema.optional().describe('组件外边距'),
113
+ direction: DirectionSchema.optional().describe('容器内子组件排列方向'),
114
+ horizontal_spacing: SpacingTokenSchema.optional().describe('容器内子组件水平间距'),
115
+ horizontal_align: HorizontalAlignSchema.optional().describe('容器内子组件水平对齐'),
116
+ vertical_spacing: SpacingTokenSchema.optional().describe('容器内子组件垂直间距'),
117
+ vertical_align: VerticalAlignSchema.optional().describe('容器内子组件垂直对齐'),
118
+ background_style: z
119
+ .string()
120
+ .optional()
121
+ .describe('容器背景样式/颜色。弱分组可用 grey-50/grey-100;勿大面积色系-50+色系-100 边框铺内容区'),
122
+ has_border: z
123
+ .boolean()
124
+ .optional()
125
+ .describe('是否展示边框,默认 false;默认不要开边框墙'),
126
+ border_color: ColorSchema.optional().describe('边框颜色'),
127
+ corner_radius: z.string().optional().describe('圆角半径'),
128
+ padding: SpacingValueSchema.optional().describe('组件内边距'),
129
+ hover_tips: TipsTextSchema.optional().describe('悬浮提示'),
130
+ disabled: z
131
+ .boolean()
132
+ .optional()
133
+ .describe('是否禁用交互,默认 false。纯展示容器写 true 且不配有效点击行为'),
134
+ disabled_tips: TipsTextSchema.optional().describe('禁用时的悬浮提示'),
135
+ confirm: ConfirmSchema.optional().describe('二次确认弹窗配置'),
136
+ })
137
+ .describe('交互容器(interactive_container):仅用于整块可点击/营销通栏/并排 KPI 等;默认 has_border=false,勿给每个文案块套带边框容器');
138
+ const CollapsiblePanelHeaderSchema = z
139
+ .object({
140
+ title: MarkdownTextObjectSchema.optional().describe('面板标题'),
141
+ background_color: ColorSchema.optional().describe('标题区背景色'),
142
+ /** fill / auto / auto_when_fold */
143
+ width: z
144
+ .string()
145
+ .optional()
146
+ .describe('标题区宽度:fill / auto / auto_when_fold'),
147
+ vertical_align: VerticalAlignSchema.optional().describe('标题区内垂直对齐'),
148
+ padding: SpacingValueSchema.optional().describe('标题区内边距'),
149
+ icon: IconSchema.optional().describe('展开/折叠图标;推荐 down-bold_outlined,置右'),
150
+ icon_position: z
151
+ .enum(['left', 'right', 'follow_text'])
152
+ .optional()
153
+ .describe('图标位置:left / right / follow_text;推荐 right'),
154
+ icon_expanded_angle: z
155
+ .union([
156
+ z.literal(-180).describe('展开态图标旋转 -180°'),
157
+ z.literal(-90).describe('展开态图标旋转 -90°'),
158
+ z.literal(90).describe('展开态图标旋转 90°'),
159
+ z.literal(180).describe('展开态图标旋转 180°'),
160
+ ])
161
+ .optional()
162
+ .describe('展开状态下图标旋转角度;推荐 -180'),
163
+ /** JSON 示例中出现,字段表未正式列出 */
164
+ position: z
165
+ .string()
166
+ .optional()
167
+ .describe('标题位置(示例字段,字段表未正式列出)'),
168
+ })
169
+ .describe('折叠面板标题区;推荐 icon=down-bold_outlined、icon_position=right、icon_expanded_angle=-180');
170
+ /**
171
+ * 折叠面板(collapsible_panel)。
172
+ */
173
+ export const CollapsiblePanelSchema = z
174
+ .object({
175
+ tag: z
176
+ .literal('collapsible_panel')
177
+ .describe('组件标签,固定为 collapsible_panel'),
178
+ header: CollapsiblePanelHeaderSchema.describe('折叠面板标题区'),
179
+ expanded: z
180
+ .boolean()
181
+ .optional()
182
+ .describe('是否默认展开,默认 false'),
183
+ element_id: ElementIdSchema.optional().describe('组件唯一标识'),
184
+ margin: SpacingValueSchema.optional().describe('组件外边距'),
185
+ direction: DirectionSchema.optional().describe('面板内子组件排列方向'),
186
+ horizontal_spacing: SpacingTokenSchema.optional().describe('面板内子组件水平间距'),
187
+ horizontal_align: HorizontalAlignSchema.optional().describe('面板内子组件水平对齐'),
188
+ vertical_spacing: SpacingTokenSchema.optional().describe('面板内子组件垂直间距'),
189
+ vertical_align: VerticalAlignSchema.optional().describe('面板内子组件垂直对齐'),
190
+ padding: SpacingValueSchema.optional().describe('面板内边距'),
191
+ background_color: ColorSchema.optional().describe('面板背景色;推荐 bg-white / white'),
192
+ border: z
193
+ .object({
194
+ color: ColorSchema.optional().describe('边框颜色;推荐 grey-200'),
195
+ corner_radius: z.string().optional().describe('边框圆角;推荐 8px'),
196
+ })
197
+ .optional()
198
+ .describe('面板边框样式;推荐 { color: "grey-200", corner_radius: "8px" }'),
199
+ elements: z
200
+ .lazy(() => z.array(getElementSchema()))
201
+ .optional()
202
+ .describe('面板折叠区域内嵌组件列表'),
203
+ })
204
+ .describe('折叠面板(collapsible_panel)。推荐:白底 + grey-200/8px 边框 + 右侧 down-bold_outlined + icon_expanded_angle=-180');
205
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/containers/index.ts"],"names":[],"mappings":"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"}