> ## Documentation Index
> Fetch the complete documentation index at: https://help.dingtalk.io/llms.txt
> Use this file to discover all available pages before exploring further.

# ブロック要素のデータ構造

> オンラインドキュメントは複数のブロック要素から成るツリー構造です。BlockElement のタイプによって内部に入れ子にできる要素タイプが異なります。例えば、ハイライトブロックには任意の BlockElement を入れ子にできますが、段落ブロックには InlineElement のみを入れ子にできます。

オンラインドキュメントは複数のブロック要素から成るツリー構造です。BlockElement のタイプによって内部に入れ子にできる要素タイプが異なります。例えば、ハイライトブロックには任意の `BlockElement` を入れ子にできますが、段落ブロックには InlineElement のみを入れ子にできます。

1 つのブロック要素のデータ構造は以下のとおりです。

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "blockType": enum(BlockType),             // ブロック要素のタイプ。詳細はドキュメント末尾の `BlockType` 列挙型を参照してください
  /**
   * 以下はサポートされているすべての Block タイプです（Heading、Paragraph など）。
   * タイプの異なる Block はそれぞれ独自の property を持ちます。
  */
  "blockquote": Object(Callout),
  "callout": Object(Callout),
  "columns": Object(Columns),
  "heading": Object(Heading),
  "paragraph": Object(Paragraph),
  "orderedList": Object(OrderedList)
  "unorderedList": Object(UnorderedList),
  "table": Object(Table),
  // 各 Block にはそれぞれサポートする BlockChildren があります。詳細は各 Block タイプ内の `children` の説明を参照してください

  "children": BlockChildren[ ],

}
```

## ブロック要素データ構造の説明

オンラインドキュメントは、複数の **ブロック要素** から成るツリー構造で構成されます。ブロック要素のタイプによって、入れ子にできる子要素のタイプが異なります。

* `callout`、`columns` の `children` は **BlockElement 配列** のみ指定できます。
* `paragraph`、`heading`、`orderedList`、`unorderedList`、`blockquote` の `children` は **InlineElement 配列** のみ指定できます。
* `table` は現時点で `children` の指定をサポートしていません。

### BlockType 列挙

| 列挙値           | 説明                              |
| ------------- | ------------------------------- |
| paragraph     | 段落ブロック。                         |
| heading       | 見出しブロック。                        |
| blockquote    | 引用ブロック。                         |
| callout       | ハイライトブロック。                      |
| columns       | カラム分割ブロック。                      |
| orderedList   | 番号付きリストブロック。                    |
| unorderedList | 箇条書きブロック。                       |
| table         | スプレッドシートブロック。                   |
| tableRow      | テーブル行ブロック（スプレッドシートブロックの子ブロック）。  |
| tableCell     | テーブルセルブロック（スプレッドシートブロックの子ブロック）。 |

> 未サポートの要素タイプは一律 `Undefined` を返します。

### 段落

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "blockType": "paragraph",
  "paragraph": {
    "text": "段落テキストの内容",
    "indent": { "left": 32 },
    "folded": false
  },
  "children": [InlineElement]
}
```

| フィールド名 | タイプ            | 必須 | 説明                                              |
| ------ | -------------- | -- | ----------------------------------------------- |
| text   | string         | 否  | 段落のテキストコンテンツ。                                   |
| indent | object(Indent) | 否  | インデント値。`left` は 0 より大きい整数である必要があります。            |
| folded | boolean        | 否  | 段落を折りたたむかどうか（現在の段落より indent 値が大きいブロック要素を折りたたむ）。 |

* `children`：**InlineElement 配列**。
* `paragraph` オブジェクトは **省略不可** です。コンテンツが空の場合は `{}` を渡してください。

### 見出し

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "blockType": "heading",
  "heading": {
    "level": 1,
    "text": "見出し 1"
  },
  "children": [InlineElement]
}
```

| フィールド名 | タイプ           | 必須 | 説明                                |
| ------ | ------------- | -- | --------------------------------- |
| text   | string        | 否  | 見出しのテキストコンテンツ。                    |
| level  | integer(enum) | 否  | 見出しレベル。値は `1` ～ `6`。1 は H1 を表します。 |

* `children`：**InlineElement 配列**。

### 引用

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "blockType": "blockquote",
  "blockquote": {
    "text": "引用の内容",
    "indent": { "left": 32 }
  },
  "children": [InlineElement]
}
```

| フィールド名 | タイプ            | 必須 | 説明          |
| ------ | -------------- | -- | ----------- |
| text   | string         | 否  | 引用内のテキスト。   |
| indent | object(Indent) | 否  | 具体的なインデント値。 |

* `children`：**InlineElement 配列**。

### ハイライトブロック

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "blockType": "callout",
  "callout": {
    "sticker": "灯泡",
    "showstk": true,
    "color": "#333333",
    "border": "#FFD700",
    "bgcolor": "#FFF9C4"
  },
  "children": [BlockElement]
}
```

| フィールド名  | タイプ                | 必須 | 説明                                                                                        |
| ------- | ------------------ | -- | ----------------------------------------------------------------------------------------- |
| sticker | string(enum Emoji) | 否  | 絵文字コード。詳細は [絵文字（Emoji）の列挙値](/ja/open/development/enumeration-values-of-emojis) を参照してください。 |
| showstk | boolean            | 否  | 絵文字を表示するかどうか。                                                                             |
| color   | string             | 否  | 文字色。                                                                                      |
| border  | string             | 否  | 枠線の色。                                                                                     |
| bgcolor | string             | 否  | 背景色。                                                                                      |

* `children`：**BlockElement 配列**（InlineElement は不可）。

### カラム分割

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "blockType": "columns",
  "columns": {
    "size": 2,
    "noFill": false
  },
  "children": [BlockElement]
}
```

| フィールド名 | タイプ     | 必須 | 説明                |
| ------ | ------- | -- | ----------------- |
| size   | number  | 否  | カラムの数。            |
| noFill | boolean | 否  | 背景色を自動で塗りつぶすかどうか。 |

* `children`：**BlockElement 配列**（InlineElement は不可）。

### 番号付きリスト

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "blockType": "orderedList",
  "orderedList": {
    "list": {
      "listId": "list-001",
      "level": 0,
      "listStyleType": "decimal",
      "listStyle": {
        "format": "decimal",
        "text": "%1.",
        "align": "left"
      },
      "symbolStyle": {
        "bold": false
      }
    },
    "indent": { "left": 32 }
  },
  "children": [InlineElement]
}
```

| フィールド名 | タイプ                | 必須 | 説明                                                                    |
| ------ | ------------------ | -- | --------------------------------------------------------------------- |
| list   | object(ListObject) | 是  | 番号付きリストの具体的な属性。詳細は [ListObject（リストオブジェクト）](#e6621bc176irg) を参照してください。 |
| indent | object(Indent)     | 否  | インデント値。`left` は 0 より大きい整数である必要があります。                                  |

* `children`：**InlineElement 配列**。

### 箇条書き

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "blockType": "unorderedList",
  "unorderedList": {
    "list": {
      "listId": "list-002",
      "level": 0,
      "listStyleType": "disc",
      "listStyle": {
        "format": "disc",
        "text": "%1",
        "align": "left"
      },
      "symbolStyle": {
        "bold": false
      }
    },
    "indent": { "left": 32 }
  },
  "children": [InlineElement]
}
```

| フィールド名 | タイプ                | 必須 | 説明                                                                 |
| ------ | ------------------ | -- | ------------------------------------------------------------------ |
| list   | object(ListObject) | 是  | 箇条書きの具体的な属性。詳細は [ListObject（リストオブジェクト）](#e6621bc176irg) を参照してください。 |
| indent | object(Indent)     | 否  | インデント値。`left` は 0 より大きい整数である必要があります。                               |

* `children`：**InlineElement 配列**

### スプレッドシート

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "blockType": "table",
  "table": {
    "rolSize": 3,
    "colSize": 4,
    "cells": [
      ["Row1-Col1", "Row1-Col2", "Row1-Col3", "Row1-Col4"],
      ["Row2-Col1", "Row2-Col2", "Row2-Col3", "Row2-Col4"],
      ["Row3-Col1", "Row3-Col2", "Row3-Col3", "Row3-Col4"]
    ]
  }
}
```

| フィールド名  | タイプ          | 必須 | 説明                          |
| ------- | ------------ | -- | --------------------------- |
| rolSize | number       | 是  | 行数。                         |
| colSize | number       | 是  | 列数。                         |
| cells   | String\[]\[] | 否  | セルのテキストコンテンツ。二次元 String 配列。 |

* `children`：children の指定は **現時点でサポートされていません**。

## InlineElement のデータ構造説明

インライン要素は、テキスト系ブロック要素（段落、見出し、リストなど）の `children` で使用します。

### InlineType 列挙

| 列挙値     | 説明    |
| ------- | ----- |
| text    | テキスト。 |
| sticker | 絵文字。  |
| image   | 画像。   |
| link    | リンク。  |

### テキスト

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "text": "太字の赤色テキスト",
  "sz": 16,
  "color": "red",
  "highlight": "yellow",
  "bold": true,
  "italic": false,
  "stike": false,
  "underline": false,
  "fonts": "monospace"
}
```

| フィールド名    | タイプ                | 必須 | 説明                                                                                                                                                                                                                                                                                                                    |
| --------- | ------------------ | -- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| text      | string             | 是  | テキストコンテンツ。                                                                                                                                                                                                                                                                                                            |
| sz        | number             | 否  | フォントサイズ（デフォルト単位は px）。                                                                                                                                                                                                                                                                                                 |
| color     | string             | 否  | 文字色。                                                                                                                                                                                                                                                                                                                  |
| highlight | string             | 否  | ハイライト背景色。                                                                                                                                                                                                                                                                                                             |
| bold      | boolean            | 否  | 太字にするかどうか。                                                                                                                                                                                                                                                                                                            |
| italic    | boolean            | 否  | 斜体にするかどうか。                                                                                                                                                                                                                                                                                                            |
| stike     | boolean            | 否  | 取り消し線を引くかどうか。                                                                                                                                                                                                                                                                                                         |
| underline | boolean            | 否  | 下線を引くかどうか。                                                                                                                                                                                                                                                                                                            |
| fonts     | string(enum Fonts) | 否  | フォント。列挙値は以下のとおり：   - **monospace**：等幅フォント - **STSong**：華文宋体 - **Microsoft YaHei**：微軟雅黒 - **FangSong\_GB2312**：仿宋 GB2312 - **Helvetica**：Helvetica フォント - **Helvetica Neue**：Neue Helvetica フォント - **Consolas**：Consolas フォント - **宋体**：宋体 - **Impact**：Impact フォント - **sanrif**：sanrif フォント - **Calibri**：Calibri フォント |

### 絵文字

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "elementType": "sticker",
  "properties": {
    "code": "大笑"
  }
}
```

| フィールド名 | タイプ                | 必須 | 説明                                                                                        |
| ------ | ------------------ | -- | ----------------------------------------------------------------------------------------- |
| code   | string(enum Emoji) | 是  | 絵文字コード。詳細は [絵文字（Emoji）の列挙値](/ja/open/development/enumeration-values-of-emojis) を参照してください。 |

### 画像

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "elementType": "image",
  "properties": {
    "src": "https://example.com/image.jpg"
  }
}
```

| フィールド名 | タイプ    | 必須 | 説明           |
| ------ | ------ | -- | ------------ |
| src    | string | 否  | 画像リソースの URL。 |

### リンク

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "elementType": "link",
  "properties": {
    "href": "https://example.com"
  },
  "children": [
    { "text": "リンクをクリックして遷移" }
  ]
}
```

| フィールド名 | タイプ    | 必須 | 説明       |
| ------ | ------ | -- | -------- |
| href   | string | 否  | リンク URL。 |

* `children`：**Text 配列**。リンクを挿入する際は必ず `children` を指定する必要があり、`text` が空でないテキストノードを少なくとも 1 つ含めてください。

## 共通データ構造

### Indent（インデント）

| フィールド名 | タイプ    | 必須 | 説明                                               | 例    |
| ------ | ------ | -- | ------------------------------------------------ | ---- |
| left   | number | 否  | 具体的なインデント値。0 より大きい整数である必要があります。それ以外の場合はエラーになります。 | `32` |

***

### ListObject（リストオブジェクト）

| フィールド名        | タイプ                 | 必須 | 説明                                                                                         |
| ------------- | ------------------- | -- | ------------------------------------------------------------------------------------------ |
| listId        | string              | 否  | 現在のリストの ID。複数階層の番号付きリストを挿入する場合、同一グループ内の複数階層リストで `listId` を一致させる必要があります。一致しない場合は表示エラーになります。 |
| level         | number              | 是  | リストの階層（0 から始まる）。                                                                           |
| listStyleType | string              | 是  | リストスタイルのタイプ。                                                                               |
| listStyle     | object(ListStyle)   | 是  | リストの具体的なスタイル。詳細は [ListStyle（リストスタイル）](#bad921c2ebc3h) を参照してください。                           |
| symbolStyle   | object(SymbolStyle) | 否  | リスト記号のスタイル。詳細は [SymbolStyle（リスト記号スタイル）](#b16d5427cbutg) を参照してください。                         |

***

### ListStyle（リストスタイル）

| フィールド名 | タイプ    | 必須 | 説明                             |
| ------ | ------ | -- | ------------------------------ |
| format | string | 是  | 箇条書きのフォーマット。                   |
| text   | string | 是  | テキスト。                          |
| align  | string | 是  | 揃え方。例：`left`、`center`、`right`。 |

***

### SymbolStyle（リスト記号スタイル）

| フィールド名 | タイプ     | 必須 | 説明              |
| ------ | ------- | -- | --------------- |
| sz     | number  | 否  | 箇条書きのフォントサイズ。   |
| shd    | string  | 否  | 箇条書きの背景色。       |
| fonts  | string  | 否  | 箇条書きのフォント形式。    |
| color  | string  | 否  | 箇条書きのフォント色。     |
| bold   | boolean | 否  | 太字にするかどうか。      |
| strike | boolean | 否  | 取り消し線を表示するかどうか。 |
| italic | boolean | 否  | 斜体で表示するかどうか。    |

***

## Emoji 列挙値（絵文字コード一覧）

以下の列挙値は `callout.sticker` およびインライン絵文字要素 `sticker.properties.code` で使用できます。

| 絵文字                   | 絵文字                      | 絵文字                   | 絵文字                   |
| --------------------- | ------------------------ | --------------------- | --------------------- |
| `优先级: 1`  // 優先度: 1   | `优先级: 2`  // 優先度: 2      | `优先级: 3`  // 優先度: 3   | `优先级: 4`  // 優先度: 4   |
| `优先级: 5`  // 優先度: 5   | `优先级: 6`  // 優先度: 6      | `优先级: 7`  // 優先度: 7   | `进度: 未开始`  // 進捗: 未着手 |
| `进度: 20%`  // 進捗: 20% | `进度: 40%`  // 進捗: 40%    | `进度: 50%`  // 進捗: 50% | `进度: 70%`  // 進捗: 70% |
| `进度: 90%`  // 進捗: 90% | `进度: 已完成`  // 進捗: 完了しました | `微笑`  // ほほえみ         | `憨笑`  // にっこり         |
| `大笑`  // 大笑い          | `加油`  // ファイト            | `色`  // 色っぽい          | `偷笑`  // こっそり笑う       |
| `跳舞`  // ダンス          | `捂脸哭`  // 顔を覆って泣く        | `笑哭`  // 嬉し泣き         | `流泪`  // 涙を流す         |
| `疑问`  // 疑問           | `傻笑`  // にやにや            | `流鼻血`  // 鼻血          | `狗子`  // ワンコ          |
| `赞`  // いいね           | `OK`  // OK              | `抱拳`  // 拱手           | `向上`  // 上向き          |
| `向下`  // 下向き          | `向左`  // 左向き             | `向右`  // 右向き          | `资料`  // 資料           |
| `本子`  // ノート          | `笔记本`  // ノートブック         | `折线图`  // 折れ線チャート     | `柱状图`  // 縦棒チャート      |
| `羽毛笔`  // 羽根ペン        | `钢笔`  // 万年筆             | `警告`  // お知らせ         | `问号`  // クエスチョン       |
| `禁止`  // 禁止           | `禁行`  // 通行禁止            | `锁`  // 鍵             | `气泡`  // 吹き出し         |
| `沙漏`  // 砂時計          | `公文包`  // ブリーフケース        | `火箭`  // ロケット         | `火`  // 炎             |
| `奖牌`  // メダル          | `灯泡`  // 電球              | `钉子`  // 釘            | `旗子`  // 旗            |
| `茶`  // お茶            | `休假`  // 休暇              | `气球`  // 風船           | `锦鲤`  // 錦鯉           |
| `咖啡`  // コーヒー         | `奶茶`  // ミルクティー          | `调色板`  // パレット        | `感谢`  // 感謝           |
| `打招呼`  // あいさつ        | `666`  // 666            | `握手`  // 握手           | `胜利`  // 勝利           |
| `一点点`  // ちょっとだけ      | `鼓掌`  // 拍手              | `送花花`  // 花を贈る        | `比心`  // 指ハート         |
| `加一`  // 賛成           | `100分`  // 100点          | `KPI`  // KPI         | `对勾`  // チェック         |
| `爱心`  // ハート          | `可爱`  // かわいい            | `发呆`  // ぼんやり         | `老板`  // ボス           |
| `害羞`  // 照れ           | `闭嘴`  // だんまり            | `睡`  // 睡眠            | `大哭`  // 大泣き          |
| `尴尬`  // 気まずい         | `调皮`  // いたずら            | `惊讶`  // 驚き           | `流汗`  // 汗            |
| `广播`  // 放送           | `自信`  // 自信              | `你强`  // あなた強い        | `怒吼`  // 怒鳴る          |
| `惊愕`  // 驚愕           | `快哭了`  // 泣きそう           | `无聊`  // 退屈           | `吐`  // 嘔吐            |
| `算账`  // 計算           | `晕`  // めまい              | `摸摸`  // なでなで         | `飞吻`  // 投げキッス        |
| `鄙视`  // 軽蔑           | `嘘`  // しーっ              | `思考`  // 思考           | `亲亲`  // チュー          |
| `感冒`  // 風邪           | `对不起`  // ごめんなさい         | `再见`  // さようなら        | `投降`  // 降参           |
| `哼`  // ふん            | `欠扁`  // やんちゃ            | `坏笑`  // 悪い笑い         | `拜托`  // お願い          |
| `可怜`  // かわいそう        | `舒服`  // 気持ちいい           | `爱意`  // 愛            | `财迷`  // お金大好き        |
| `迷惑`  // 困惑           | `PK`  // PK              | `委屈`  // しょんぼり        | `灵感`  // ひらめき         |
| `天使`  // 天使           | `鬼脸`  // しかめ面            | `凄凉`  // もの寂しい        | `郁闷`  // 憂鬱           |
| `吃瓜`  // 野次馬          | `嘿嘿`  // へへ              | `抠鼻`  // 鼻ほじり         | `呲牙`  // 歯出し笑い        |
| `彩虹`  // 虹            | `耶`  // イェイ              | `捂眼睛`  // 目を覆う        | `推眼镜`  // 眼鏡を上げる      |
| `暗中观察`  // こっそり観察     | `开心`  // 楽しい             | `惊喜`  // サプライズ        | `回头`  // 振り返り         |
| `发怒`  // 怒り           | `忍者`  // 忍者              | `衰`  // ついてない         | `脑暴`  // ブレスト         |
| `冷笑`  // 冷笑           | `黑眼圈`  // クマ             | `恭喜`  // おめでとう        | `费解`  // 不可解          |
| `收到`  // 了解           | `炸弹`  // 爆弾              | `白眼`  // 白目           | `一团乱麻`  // 混乱         |
| `无奈`  // やれやれ         | `敲打`  // ぽかり             | `专注`  // 集中           | `忙疯了`  // 大忙し         |
| `鞠躬`  // お辞儀          | `摊手`  // 両手を広げる          | `抱抱`  // ハグ           | `举手`  // 挙手           |
| `跪了`  // 脱帽           | `猫咪`  // ねこ              | `二哈`  // ハスキー犬        | `三多`  // 三多           |
| `承让`  // お手柔らかに       | `撒花`  // 紙吹雪             | `邮件`  // メール          | `文档`  // ドキュメント       |
| `演示`  // プレゼン         | `表格`  // スプレッドシート        | `生日快乐`  // お誕生日おめでとう  | `心碎`  // 失恋           |
| `红包`  // お年玉          | `嘴唇`  // 唇               | `鲜花`  // 花            | `残花`  // しおれた花        |
| `干杯`  // 乾杯           | `出差`  // 出張              | `时间`  // 時間           | `福`  // 福             |
| `月饼`  // 月餅           | `礼物`  // プレゼント           | `幼苗`  // 苗            | `烟花`  // 花火           |
| `灯笼`  // 提灯           | `爆竹`  // 爆竹              | `鸡腿`  // チキンレッグ       | `高铁`  // 高速鉄道         |
| `三连`  // 三連           | `OKR`  // OKR            | `Done`  // Done       |                       |

***
