@blocklet/ui-react 3.2.18 → 3.3.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 (100) hide show
  1. package/.aigne/doc-smith/.local/afs-storage.sqlite3 +0 -0
  2. package/.aigne/doc-smith/history.yaml +5 -0
  3. package/.aigne/doc-smith/media-description.yaml +11 -0
  4. package/docs/assets/diagram/component-installer-diagram-0.ja.jpg +0 -0
  5. package/docs/assets/diagram/component-installer-diagram-0.jpg +0 -0
  6. package/docs/assets/diagram/component-installer-diagram-0.zh-TW.jpg +0 -0
  7. package/docs/assets/diagram/component-installer-diagram-0.zh.jpg +0 -0
  8. package/docs/assets/diagram/component-management-diagram-0.ja.jpg +0 -0
  9. package/docs/assets/diagram/component-management-diagram-0.jpg +0 -0
  10. package/docs/assets/diagram/component-management-diagram-0.zh-TW.jpg +0 -0
  11. package/docs/assets/diagram/component-management-diagram-0.zh.jpg +0 -0
  12. package/docs/assets/diagram/core-concepts-diagram-0.ja.jpg +0 -0
  13. package/docs/assets/diagram/core-concepts-diagram-0.jpg +0 -0
  14. package/docs/assets/diagram/core-concepts-diagram-0.zh-TW.jpg +0 -0
  15. package/docs/assets/diagram/core-concepts-diagram-0.zh.jpg +0 -0
  16. package/docs/assets/diagram/dashboard-diagram-0.ja.jpg +0 -0
  17. package/docs/assets/diagram/dashboard-diagram-0.jpg +0 -0
  18. package/docs/assets/diagram/dashboard-diagram-0.zh-TW.jpg +0 -0
  19. package/docs/assets/diagram/dashboard-diagram-0.zh.jpg +0 -0
  20. package/docs/assets/diagram/header-diagram-0.ja.jpg +0 -0
  21. package/docs/assets/diagram/header-diagram-0.jpg +0 -0
  22. package/docs/assets/diagram/header-diagram-0.zh-TW.jpg +0 -0
  23. package/docs/assets/diagram/header-diagram-0.zh.jpg +0 -0
  24. package/docs/assets/diagram/layout-diagram-0.ja.jpg +0 -0
  25. package/docs/assets/diagram/layout-diagram-0.jpg +0 -0
  26. package/docs/assets/diagram/layout-diagram-0.zh-TW.jpg +0 -0
  27. package/docs/assets/diagram/layout-diagram-0.zh.jpg +0 -0
  28. package/docs/assets/diagram/notifications-diagram-0.ja.jpg +0 -0
  29. package/docs/assets/diagram/notifications-diagram-0.jpg +0 -0
  30. package/docs/assets/diagram/notifications-diagram-0.zh-TW.jpg +0 -0
  31. package/docs/assets/diagram/notifications-diagram-0.zh.jpg +0 -0
  32. package/docs/assets/diagram/overview-diagram-0.ja.jpg +0 -0
  33. package/docs/assets/diagram/overview-diagram-0.jpg +0 -0
  34. package/docs/assets/diagram/overview-diagram-0.zh-TW.jpg +0 -0
  35. package/docs/assets/diagram/overview-diagram-0.zh.jpg +0 -0
  36. package/docs/assets/diagram/user-center-diagram-0.ja.jpg +0 -0
  37. package/docs/assets/diagram/user-center-diagram-0.jpg +0 -0
  38. package/docs/assets/diagram/user-center-diagram-0.zh-TW.jpg +0 -0
  39. package/docs/assets/diagram/user-center-diagram-0.zh.jpg +0 -0
  40. package/docs/assets/diagram/user-management-diagram-0.ja.jpg +0 -0
  41. package/docs/assets/diagram/user-management-diagram-0.jpg +0 -0
  42. package/docs/assets/diagram/user-management-diagram-0.zh-TW.jpg +0 -0
  43. package/docs/assets/diagram/user-management-diagram-0.zh.jpg +0 -0
  44. package/docs/assets/diagram/user-sessions-diagram-0.ja.jpg +0 -0
  45. package/docs/assets/diagram/user-sessions-diagram-0.jpg +0 -0
  46. package/docs/assets/diagram/user-sessions-diagram-0.zh-TW.jpg +0 -0
  47. package/docs/assets/diagram/user-sessions-diagram-0.zh.jpg +0 -0
  48. package/docs/components-component-management-component-installer.ja.md +3 -77
  49. package/docs/components-component-management-component-installer.md +4 -78
  50. package/docs/components-component-management-component-installer.zh-TW.md +3 -77
  51. package/docs/components-component-management-component-installer.zh.md +3 -77
  52. package/docs/components-component-management.ja.md +3 -32
  53. package/docs/components-component-management.md +3 -32
  54. package/docs/components-component-management.zh-TW.md +3 -32
  55. package/docs/components-component-management.zh.md +3 -32
  56. package/docs/components-layout-dashboard.ja.md +3 -49
  57. package/docs/components-layout-dashboard.md +5 -49
  58. package/docs/components-layout-dashboard.zh-TW.md +3 -49
  59. package/docs/components-layout-dashboard.zh.md +3 -49
  60. package/docs/components-layout-header.ja.md +3 -53
  61. package/docs/components-layout-header.md +3 -53
  62. package/docs/components-layout-header.zh-TW.md +3 -53
  63. package/docs/components-layout-header.zh.md +3 -53
  64. package/docs/components-layout.ja.md +3 -22
  65. package/docs/components-layout.md +3 -22
  66. package/docs/components-layout.zh-TW.md +3 -22
  67. package/docs/components-layout.zh.md +3 -22
  68. package/docs/components-notifications.ja.md +3 -51
  69. package/docs/components-notifications.md +3 -51
  70. package/docs/components-notifications.zh-TW.md +3 -52
  71. package/docs/components-notifications.zh.md +3 -51
  72. package/docs/components-user-management-user-center.ja.md +3 -38
  73. package/docs/components-user-management-user-center.md +12 -48
  74. package/docs/components-user-management-user-center.zh-TW.md +3 -38
  75. package/docs/components-user-management-user-center.zh.md +3 -38
  76. package/docs/components-user-management-user-sessions.ja.md +3 -46
  77. package/docs/components-user-management-user-sessions.md +4 -45
  78. package/docs/components-user-management-user-sessions.zh-TW.md +3 -46
  79. package/docs/components-user-management-user-sessions.zh.md +3 -46
  80. package/docs/components-user-management.ja.md +3 -30
  81. package/docs/components-user-management.md +6 -31
  82. package/docs/components-user-management.zh-TW.md +3 -30
  83. package/docs/components-user-management.zh.md +3 -30
  84. package/docs/core-concepts.ja.md +3 -33
  85. package/docs/core-concepts.md +4 -33
  86. package/docs/core-concepts.zh-TW.md +3 -33
  87. package/docs/core-concepts.zh.md +3 -33
  88. package/docs/overview.ja.md +3 -43
  89. package/docs/overview.md +3 -43
  90. package/docs/overview.zh-TW.md +3 -43
  91. package/docs/overview.zh.md +3 -43
  92. package/lib/Dashboard/app-shell/app-header.js +47 -39
  93. package/lib/Dashboard/app-shell/app-info-context.d.ts +4 -0
  94. package/lib/Dashboard/app-shell/app-info-context.js +61 -47
  95. package/lib/Dashboard/index.d.ts +1 -1
  96. package/lib/Dashboard/index.js +1 -1
  97. package/package.json +10 -10
  98. package/src/Dashboard/app-shell/app-header.tsx +14 -1
  99. package/src/Dashboard/app-shell/app-info-context.tsx +44 -19
  100. package/src/Dashboard/index.jsx +1 -1
@@ -1,4 +1,9 @@
1
1
  entries:
2
+ - timestamp: 2025-12-05T01:32:41.364Z
3
+ operation: document_update
4
+ feedback: 使用手绘风格的图表
5
+ docPaths:
6
+ - /overview
2
7
  - timestamp: 2025-10-10T07:34:02.876Z
3
8
  operation: document_update
4
9
  feedback: d2 图表的效果不好,请重新生成
@@ -0,0 +1,11 @@
1
+ descriptions:
2
+ b64f0212be4c7f38dcd4cf260d4af6d23d7f9a011a091361e80b96ddda29e433:
3
+ path: ../src/UserCenter/assets/banner.png
4
+ description: This wide, abstract banner image features a dynamic arrangement of
5
+ numerous 3D cubes, rendered in soft pastel shades of blue, purple, pink,
6
+ and white, with subtle orange accents. The geometric forms are positioned
7
+ at varying heights and angles, creating a layered composition with gentle
8
+ light and shadow effects. This clean, modern graphic is ideal for use as a
9
+ header, banner, or decorative background in documentation.
10
+ generatedAt: 2025-12-05T01:26:47.959Z
11
+ lastUpdated: 2025-12-05T01:26:47.963Z
@@ -8,83 +8,9 @@
8
8
 
9
9
  このコンポーネントのロジックは、子コンポーネントをレンダリングする前に依存関係が満たされていることを確認するため、明確で順次的なプロセスに従います。
10
10
 
11
- ```d2
12
- direction: down
13
-
14
- start: {
15
- label: "開始"
16
- shape: oval
17
- }
18
-
19
- check_dependencies: {
20
- label: "'did' プロパティで定義された依存関係を確認"
21
- shape: rectangle
22
- }
23
-
24
- is_installed: {
25
- label: "すべての依存関係はインストール済みか?"
26
- shape: diamond
27
- }
28
-
29
- render_children: {
30
- label: "子コンポーネントをレンダリング"
31
- shape: rectangle
32
- style.fill: "#d4edda"
33
- }
34
-
35
- check_permission: {
36
- label: "'roles' プロパティに対してユーザーのロールを確認"
37
- shape: rectangle
38
- }
39
-
40
- has_permission: {
41
- label: "ユーザーに権限があるか?"
42
- shape: diamond
43
- }
44
-
45
- display_installer: {
46
- label: "インストーラーUIを表示"
47
- shape: rectangle
48
- style.fill: "#cce5ff"
49
- }
50
-
51
- is_mute: {
52
- label: "'noPermissionMute' プロパティは true か?"
53
- shape: diamond
54
- }
55
-
56
- display_suggestion: {
57
- label: "'管理者に連絡' の提案を表示"
58
- shape: rectangle
59
- style.fill: "#f8d7da"
60
- }
61
-
62
- render_fallback: {
63
- label: "フォールバックコンポーネントまたは null をレンダリング"
64
- shape: rectangle
65
- }
66
-
67
- end: {
68
- label: "終了"
69
- shape: oval
70
- }
71
-
72
- start -> check_dependencies
73
- check_dependencies -> is_installed
74
- is_installed -> render_children: "はい"
75
- is_installed -> check_permission: "いいえ"
76
- render_children -> end
77
-
78
- check_permission -> has_permission
79
- has_permission -> display_installer: "はい"
80
- has_permission -> is_mute: "いいえ"
81
- display_installer -> end
82
-
83
- is_mute -> render_fallback: "はい"
84
- is_mute -> display_suggestion: "いいえ"
85
- render_fallback -> end
86
- display_suggestion -> end
87
- ```
11
+ <!-- DIAGRAM_IMAGE_START:flowchart:4:3:1765962229 -->
12
+ ![ComponentInstaller](assets/diagram/component-installer-diagram-0.ja.jpg)
13
+ <!-- DIAGRAM_IMAGE_END -->
88
14
 
89
15
  1. **依存関係のチェック**: `did` プロパティを読み取り、Blocklet のメタデータ(`window.blocklet.optionalComponents`)と照合して、必要なコンポーネントがインストールされているかどうかを判断します。
90
16
  2. **権限チェック**: 不足しているコンポーネントがある場合、`SessionPermission` コンポーネントを使用して、現在のユーザーのロールが `roles` プロパティで指定されたものと一致するかどうかを検証します。
@@ -8,83 +8,9 @@ This component is essential for creating robust applications that can gracefully
8
8
 
9
9
  The component's logic follows a clear, sequential process to ensure dependencies are met before rendering its child components.
10
10
 
11
- ```d2
12
- direction: down
13
-
14
- start: {
15
- label: "Start"
16
- shape: oval
17
- }
18
-
19
- check_dependencies: {
20
- label: "Check dependencies defined in 'did' prop"
21
- shape: rectangle
22
- }
23
-
24
- is_installed: {
25
- label: "Are all dependencies installed?"
26
- shape: diamond
27
- }
28
-
29
- render_children: {
30
- label: "Render child components"
31
- shape: rectangle
32
- style.fill: "#d4edda"
33
- }
34
-
35
- check_permission: {
36
- label: "Check user's role against 'roles' prop"
37
- shape: rectangle
38
- }
39
-
40
- has_permission: {
41
- label: "Does user have permission?"
42
- shape: diamond
43
- }
44
-
45
- display_installer: {
46
- label: "Display Installer UI"
47
- shape: rectangle
48
- style.fill: "#cce5ff"
49
- }
50
-
51
- is_mute: {
52
- label: "Is 'noPermissionMute' prop true?"
53
- shape: diamond
54
- }
55
-
56
- display_suggestion: {
57
- label: "Display 'Contact Admin' suggestion"
58
- shape: rectangle
59
- style.fill: "#f8d7da"
60
- }
61
-
62
- render_fallback: {
63
- label: "Render fallback component or null"
64
- shape: rectangle
65
- }
66
-
67
- end: {
68
- label: "End"
69
- shape: oval
70
- }
71
-
72
- start -> check_dependencies
73
- check_dependencies -> is_installed
74
- is_installed -> render_children: "Yes"
75
- is_installed -> check_permission: "No"
76
- render_children -> end
77
-
78
- check_permission -> has_permission
79
- has_permission -> display_installer: "Yes"
80
- has_permission -> is_mute: "No"
81
- display_installer -> end
82
-
83
- is_mute -> render_fallback: "Yes"
84
- is_mute -> display_suggestion: "No"
85
- render_fallback -> end
86
- display_suggestion -> end
87
- ```
11
+ <!-- DIAGRAM_IMAGE_START:flowchart:4:3:1765962229 -->
12
+ ![ComponentInstaller](assets/diagram/component-installer-diagram-0.jpg)
13
+ <!-- DIAGRAM_IMAGE_END -->
88
14
 
89
15
  1. **Dependency Check**: It reads the `did` prop and checks against the blocklet's metadata (`window.blocklet.optionalComponents`) to determine if the required components are installed.
90
16
  2. **Permission Check**: If any components are missing, it uses the `SessionPermission` component to verify if the current user's role matches those specified in the `roles` prop.
@@ -253,4 +179,4 @@ export default function CustomInstallerButton() {
253
179
 
254
180
  The `ComponentInstaller` is a powerful component for managing optional dependencies within a blocklet application. It provides a structured and user-friendly way to ensure that required components are available, guiding administrators through the installation process when necessary. By using this component, you can build more resilient and feature-rich applications that adapt to the user's environment.
255
181
 
256
- For further details on managing components, you may also be interested in the [BlockletStudio](./components-component-management-blocklet-studio.md) component, which offers a more comprehensive interface for resource and component management.
182
+ For further details on managing components, you may also be interested in the [BlockletStudio](./components-component-management-blocklet-studio.md) component, which offers a more comprehensive interface for resource and component management.
@@ -8,83 +8,9 @@
8
8
 
9
9
  該元件的邏輯遵循一個清晰的順序流程,以確保在渲染其子元件之前滿足所有相依性。
10
10
 
11
- ```d2
12
- direction: down
13
-
14
- start: {
15
- label: "開始"
16
- shape: oval
17
- }
18
-
19
- check_dependencies: {
20
- label: "檢查 'did' prop 中定義的相依性"
21
- shape: rectangle
22
- }
23
-
24
- is_installed: {
25
- label: "是否所有相依性都已安裝?"
26
- shape: diamond
27
- }
28
-
29
- render_children: {
30
- label: "渲染子元件"
31
- shape: rectangle
32
- style.fill: "#d4edda"
33
- }
34
-
35
- check_permission: {
36
- label: "根據 'roles' prop 檢查使用者角色"
37
- shape: rectangle
38
- }
39
-
40
- has_permission: {
41
- label: "使用者是否有權限?"
42
- shape: diamond
43
- }
44
-
45
- display_installer: {
46
- label: "顯示安裝程式 UI"
47
- shape: rectangle
48
- style.fill: "#cce5ff"
49
- }
50
-
51
- is_mute: {
52
- label: "'noPermissionMute' prop 是否為 true?"
53
- shape: diamond
54
- }
55
-
56
- display_suggestion: {
57
- label: "顯示『聯絡管理員』建議"
58
- shape: rectangle
59
- style.fill: "#f8d7da"
60
- }
61
-
62
- render_fallback: {
63
- label: "渲染備用元件或 null"
64
- shape: rectangle
65
- }
66
-
67
- end: {
68
- label: "結束"
69
- shape: oval
70
- }
71
-
72
- start -> check_dependencies
73
- check_dependencies -> is_installed
74
- is_installed -> render_children: "是"
75
- is_installed -> check_permission: "否"
76
- render_children -> end
77
-
78
- check_permission -> has_permission
79
- has_permission -> display_installer: "是"
80
- has_permission -> is_mute: "否"
81
- display_installer -> end
82
-
83
- is_mute -> render_fallback: "是"
84
- is_mute -> display_suggestion: "否"
85
- render_fallback -> end
86
- display_suggestion -> end
87
- ```
11
+ <!-- DIAGRAM_IMAGE_START:flowchart:4:3:1765962229 -->
12
+ ![ComponentInstaller](assets/diagram/component-installer-diagram-0.zh-TW.jpg)
13
+ <!-- DIAGRAM_IMAGE_END -->
88
14
 
89
15
  1. **相依性檢查**:它會讀取 `did` prop,並對照 blocklet 的元資料(`window.blocklet.optionalComponents`)進行檢查,以確定所需元件是否已安裝。
90
16
  2. **權限檢查**:如果有任何元件缺失,它會使用 `SessionPermission` 元件來驗證目前使用者的角色是否與 `roles` prop 中指定的角色相符。
@@ -8,83 +8,9 @@
8
8
 
9
9
  该组件的逻辑遵循一个清晰的顺序流程,以确保在渲染其子组件之前满足依赖关系。
10
10
 
11
- ```d2
12
- direction: down
13
-
14
- start: {
15
- label: "开始"
16
- shape: oval
17
- }
18
-
19
- check_dependencies: {
20
- label: "检查在 'did' prop 中定义的依赖项"
21
- shape: rectangle
22
- }
23
-
24
- is_installed: {
25
- label: "所有依赖项都已安装吗?"
26
- shape: diamond
27
- }
28
-
29
- render_children: {
30
- label: "渲染子组件"
31
- shape: rectangle
32
- style.fill: "#d4edda"
33
- }
34
-
35
- check_permission: {
36
- label: "根据 'roles' prop 检查用户角色"
37
- shape: rectangle
38
- }
39
-
40
- has_permission: {
41
- label: "用户有权限吗?"
42
- shape: diamond
43
- }
44
-
45
- display_installer: {
46
- label: "显示安装器界面"
47
- shape: rectangle
48
- style.fill: "#cce5ff"
49
- }
50
-
51
- is_mute: {
52
- label: "'noPermissionMute' prop 是否为 true?"
53
- shape: diamond
54
- }
55
-
56
- display_suggestion: {
57
- label: "显示“联系管理员”建议"
58
- shape: rectangle
59
- style.fill: "#f8d7da"
60
- }
61
-
62
- render_fallback: {
63
- label: "渲染回退组件或 null"
64
- shape: rectangle
65
- }
66
-
67
- end: {
68
- label: "结束"
69
- shape: oval
70
- }
71
-
72
- start -> check_dependencies
73
- check_dependencies -> is_installed
74
- is_installed -> render_children: "是"
75
- is_installed -> check_permission: "否"
76
- render_children -> end
77
-
78
- check_permission -> has_permission
79
- has_permission -> display_installer: "是"
80
- has_permission -> is_mute: "否"
81
- display_installer -> end
82
-
83
- is_mute -> render_fallback: "是"
84
- is_mute -> display_suggestion: "否"
85
- render_fallback -> end
86
- display_suggestion -> end
87
- ```
11
+ <!-- DIAGRAM_IMAGE_START:flowchart:4:3:1765962229 -->
12
+ ![ComponentInstaller](assets/diagram/component-installer-diagram-0.zh.jpg)
13
+ <!-- DIAGRAM_IMAGE_END -->
88
14
 
89
15
  1. **依赖检查**:它读取 `did` prop,并与 blocklet 的元数据(`window.blocklet.optionalComponents`)进行核对,以确定所需的组件是否已安装。
90
16
  2. **权限检查**:如果缺少任何组件,它会使用 `SessionPermission` 组件来验证当前用户的角色是否与 `roles` prop 中指定的角色匹配。
@@ -6,38 +6,9 @@
6
6
 
7
7
  このライフサイクルを管理するための主要なコンポーネントは `ComponentInstaller` と `BlockletStudio` です。
8
8
 
9
- ```d2
10
- direction: down
11
-
12
- Application: {
13
- label: "メインアプリケーション"
14
- shape: rectangle
15
- style.fill: "#f0f7ff"
16
- }
17
-
18
- Blocklet-Components: {
19
- label: "Blocklet コンポーネント"
20
- shape: rectangle
21
- style.fill: "#f6ffed"
22
- style.stroke-dash: 2
23
- }
24
-
25
- ComponentInstaller: {
26
- label: "ComponentInstaller"
27
- shape: rectangle
28
- style.fill: "#fff7e6"
29
- }
30
-
31
- BlockletStudio: {
32
- label: "BlockletStudio"
33
- shape: rectangle
34
- style.fill: "#fff1f0"
35
- }
36
-
37
- Application -> Blocklet-Components: "依存/使用"
38
- ComponentInstaller -> Blocklet-Components: "インストール & 検証"
39
- BlockletStudio -> Blocklet-Components: "公開 & 管理"
40
- ```
9
+ <!-- DIAGRAM_IMAGE_START:intro:16:9:1765962229 -->
10
+ ![Component Management](assets/diagram/component-management-diagram-0.ja.jpg)
11
+ <!-- DIAGRAM_IMAGE_END -->
41
12
 
42
13
  ## コアツール
43
14
 
@@ -6,38 +6,9 @@ These tools are essential for creating flexible systems where functionality can
6
6
 
7
7
  The primary components for managing this lifecycle are `ComponentInstaller` and `BlockletStudio`.
8
8
 
9
- ```d2
10
- direction: down
11
-
12
- Application: {
13
- label: "Main Application"
14
- shape: rectangle
15
- style.fill: "#f0f7ff"
16
- }
17
-
18
- Blocklet-Components: {
19
- label: "Blocklet Components"
20
- shape: rectangle
21
- style.fill: "#f6ffed"
22
- style.stroke-dash: 2
23
- }
24
-
25
- ComponentInstaller: {
26
- label: "ComponentInstaller"
27
- shape: rectangle
28
- style.fill: "#fff7e6"
29
- }
30
-
31
- BlockletStudio: {
32
- label: "BlockletStudio"
33
- shape: rectangle
34
- style.fill: "#fff1f0"
35
- }
36
-
37
- Application -> Blocklet-Components: "Depends on / Uses"
38
- ComponentInstaller -> Blocklet-Components: "Installs & Verifies"
39
- BlockletStudio -> Blocklet-Components: "Publishes & Manages"
40
- ```
9
+ <!-- DIAGRAM_IMAGE_START:intro:16:9:1765962229 -->
10
+ ![Component Management](assets/diagram/component-management-diagram-0.jpg)
11
+ <!-- DIAGRAM_IMAGE_END -->
41
12
 
42
13
  ## Core Tools
43
14
 
@@ -6,38 +6,9 @@
6
6
 
7
7
  管理此生命週期的主要組件是 `ComponentInstaller` 和 `BlockletStudio`。
8
8
 
9
- ```d2
10
- direction: down
11
-
12
- Application: {
13
- label: "主應用程式"
14
- shape: rectangle
15
- style.fill: "#f0f7ff"
16
- }
17
-
18
- Blocklet-Components: {
19
- label: "Blocklet 組件"
20
- shape: rectangle
21
- style.fill: "#f6ffed"
22
- style.stroke-dash: 2
23
- }
24
-
25
- ComponentInstaller: {
26
- label: "ComponentInstaller"
27
- shape: rectangle
28
- style.fill: "#fff7e6"
29
- }
30
-
31
- BlockletStudio: {
32
- label: "BlockletStudio"
33
- shape: rectangle
34
- style.fill: "#fff1f0"
35
- }
36
-
37
- Application -> Blocklet-Components: "依賴 / 使用"
38
- ComponentInstaller -> Blocklet-Components: "安裝與驗證"
39
- BlockletStudio -> Blocklet-Components: "發布與管理"
40
- ```
9
+ <!-- DIAGRAM_IMAGE_START:intro:16:9:1765962229 -->
10
+ ![Component Management](assets/diagram/component-management-diagram-0.zh-TW.jpg)
11
+ <!-- DIAGRAM_IMAGE_END -->
41
12
 
42
13
  ## 核心工具
43
14
 
@@ -6,38 +6,9 @@
6
6
 
7
7
  管理此生命周期的主要组件是 `ComponentInstaller` 和 `BlockletStudio`。
8
8
 
9
- ```d2
10
- direction: down
11
-
12
- Application: {
13
- label: "主应用程序"
14
- shape: rectangle
15
- style.fill: "#f0f7ff"
16
- }
17
-
18
- Blocklet-Components: {
19
- label: "Blocklet 组件"
20
- shape: rectangle
21
- style.fill: "#f6ffed"
22
- style.stroke-dash: 2
23
- }
24
-
25
- ComponentInstaller: {
26
- label: "ComponentInstaller"
27
- shape: rectangle
28
- style.fill: "#fff7e6"
29
- }
30
-
31
- BlockletStudio: {
32
- label: "BlockletStudio"
33
- shape: rectangle
34
- style.fill: "#fff1f0"
35
- }
36
-
37
- Application -> Blocklet-Components: "依赖/使用"
38
- ComponentInstaller -> Blocklet-Components: "安装与验证"
39
- BlockletStudio -> Blocklet-Components: "发布与管理"
40
- ```
9
+ <!-- DIAGRAM_IMAGE_START:intro:16:9:1765962229 -->
10
+ ![Component Management](assets/diagram/component-management-diagram-0.zh.jpg)
11
+ <!-- DIAGRAM_IMAGE_END -->
41
12
 
42
13
  ## 核心工具
43
14