@satorijs/adapter-lark 3.11.4 → 3.11.6

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/lib/content.d.ts CHANGED
@@ -290,7 +290,7 @@ export declare namespace MessageContent {
290
290
  /** @see https://open.feishu.cn/document/feishu-cards/card-json-v2-components/content-components/image */
291
291
  interface ImageElement extends BaseImageElement {
292
292
  title?: TextElement;
293
- transparent?: string;
293
+ transparent?: boolean;
294
294
  preview?: boolean;
295
295
  corner_radius?: string;
296
296
  scale_type?: 'crop_center' | 'fit_horizontal' | 'crop_top';
package/lib/index.cjs CHANGED
@@ -770,7 +770,7 @@ var LarkMessageEncoder = class extends import_core3.MessageEncoder {
770
770
  richContent = [];
771
771
  card;
772
772
  elements = [];
773
- isForm = false;
773
+ inline = false;
774
774
  editMessageIds;
775
775
  async post(data) {
776
776
  try {
@@ -966,6 +966,20 @@ var LarkMessageEncoder = class extends import_core3.MessageEncoder {
966
966
  } else if (["video", "audio", "file"].includes(type)) {
967
967
  await this.flush();
968
968
  await this.sendFile(type, attrs);
969
+ } else if (type === "lark:img") {
970
+ this.flushText();
971
+ this.elements.push({
972
+ tag: "img",
973
+ alt: attrs.alt,
974
+ img_key: attrs.imgKey,
975
+ transparent: attrs.transparent,
976
+ preview: attrs.preview,
977
+ corner_radius: attrs.cornerRadius,
978
+ scale_type: attrs.scaleType,
979
+ size: attrs.size,
980
+ mode: attrs.mode,
981
+ margin: attrs.margin
982
+ });
969
983
  } else if (type === "figure" || type === "message") {
970
984
  await this.flush();
971
985
  await this.render(children, true);
@@ -981,9 +995,7 @@ var LarkMessageEncoder = class extends import_core3.MessageEncoder {
981
995
  name: attrs.name || "Form",
982
996
  elements: this.elements = []
983
997
  });
984
- this.isForm = true;
985
998
  await this.render(children);
986
- this.isForm = false;
987
999
  this.elements = parent;
988
1000
  } else if (type === "input") {
989
1001
  if (attrs.type === "checkbox") {
@@ -995,7 +1007,7 @@ var LarkMessageEncoder = class extends import_core3.MessageEncoder {
995
1007
  checked: attrs.value,
996
1008
  disabled: attrs.disabled,
997
1009
  text: {
998
- tag: "plain_text",
1010
+ tag: "lark_md",
999
1011
  content: this.textContent
1000
1012
  }
1001
1013
  });
@@ -1096,7 +1108,9 @@ var LarkMessageEncoder = class extends import_core3.MessageEncoder {
1096
1108
  this.textContent = "";
1097
1109
  } else if (type === "div") {
1098
1110
  this.flushText();
1111
+ this.inline = true;
1099
1112
  await this.render(children);
1113
+ this.inline = false;
1100
1114
  this.elements.push({
1101
1115
  tag: "markdown",
1102
1116
  text_align: attrs.align,
package/lib/message.d.ts CHANGED
@@ -8,7 +8,7 @@ export declare class LarkMessageEncoder<C extends Context = Context> extends Mes
8
8
  private richContent;
9
9
  private card;
10
10
  private elements;
11
- private isForm;
11
+ private inline;
12
12
  editMessageIds: string[] | undefined;
13
13
  post(data?: any): Promise<void>;
14
14
  private flushText;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@satorijs/adapter-lark",
3
3
  "description": "Lark (飞书) Adapter for Satorijs",
4
- "version": "3.11.4",
4
+ "version": "3.11.6",
5
5
  "type": "module",
6
6
  "main": "lib/index.cjs",
7
7
  "types": "lib/index.d.ts",
package/src/content.ts CHANGED
@@ -355,7 +355,7 @@ export namespace MessageContent {
355
355
  /** @see https://open.feishu.cn/document/feishu-cards/card-json-v2-components/content-components/image */
356
356
  export interface ImageElement extends BaseImageElement {
357
357
  title?: TextElement
358
- transparent?: string
358
+ transparent?: boolean
359
359
  preview?: boolean
360
360
  corner_radius?: string
361
361
  scale_type?: 'crop_center' | 'fit_horizontal' | 'crop_top'
package/src/message.ts CHANGED
@@ -12,7 +12,7 @@ export class LarkMessageEncoder<C extends Context = Context> extends MessageEnco
12
12
  private richContent: MessageContent.RichText.Paragraph[] = []
13
13
  private card: MessageContent.Card | undefined
14
14
  private elements: MessageContent.Card.Element[] = []
15
- private isForm = false
15
+ private inline = false
16
16
 
17
17
  public editMessageIds: string[] | undefined
18
18
 
@@ -230,6 +230,20 @@ export class LarkMessageEncoder<C extends Context = Context> extends MessageEnco
230
230
  } else if (['video', 'audio', 'file'].includes(type)) {
231
231
  await this.flush()
232
232
  await this.sendFile(type as any, attrs)
233
+ } else if (type === 'lark:img') {
234
+ this.flushText()
235
+ this.elements.push({
236
+ tag: 'img',
237
+ alt: attrs.alt,
238
+ img_key: attrs.imgKey,
239
+ transparent: attrs.transparent,
240
+ preview: attrs.preview,
241
+ corner_radius: attrs.cornerRadius,
242
+ scale_type: attrs.scaleType,
243
+ size: attrs.size,
244
+ mode: attrs.mode,
245
+ margin: attrs.margin,
246
+ })
233
247
  } else if (type === 'figure' || type === 'message') {
234
248
  await this.flush()
235
249
  await this.render(children, true)
@@ -245,9 +259,7 @@ export class LarkMessageEncoder<C extends Context = Context> extends MessageEnco
245
259
  name: attrs.name || 'Form',
246
260
  elements: this.elements = [],
247
261
  })
248
- this.isForm = true
249
262
  await this.render(children)
250
- this.isForm = false
251
263
  this.elements = parent
252
264
  } else if (type === 'input') {
253
265
  if (attrs.type === 'checkbox') {
@@ -259,7 +271,7 @@ export class LarkMessageEncoder<C extends Context = Context> extends MessageEnco
259
271
  checked: attrs.value,
260
272
  disabled: attrs.disabled,
261
273
  text: {
262
- tag: 'plain_text',
274
+ tag: 'lark_md',
263
275
  content: this.textContent,
264
276
  },
265
277
  })
@@ -360,7 +372,9 @@ export class LarkMessageEncoder<C extends Context = Context> extends MessageEnco
360
372
  this.textContent = ''
361
373
  } else if (type === 'div') {
362
374
  this.flushText()
375
+ this.inline = true
363
376
  await this.render(children)
377
+ this.inline = false
364
378
  this.elements.push({
365
379
  tag: 'markdown',
366
380
  text_align: attrs.align,