@blocklet/ui-react 3.4.15 → 3.5.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 (255) hide show
  1. package/lib/common/org-switch/use-org.d.ts +4 -4
  2. package/package.json +9 -6
  3. package/.aigne/doc-smith/.local/afs-storage.sqlite3 +0 -0
  4. package/.aigne/doc-smith/config.yaml +0 -78
  5. package/.aigne/doc-smith/history.yaml +0 -14
  6. package/.aigne/doc-smith/media-description.yaml +0 -11
  7. package/.aigne/doc-smith/output/structure-plan.json +0 -255
  8. package/.aigne/doc-smith/translation-cache.yaml +0 -11
  9. package/.aigne/doc-smith/upload-cache.yaml +0 -528
  10. package/build.config.ts +0 -24
  11. package/docs/_sidebar.md +0 -19
  12. package/docs/assets/diagram/component-installer-diagram-0.ja.jpg +0 -0
  13. package/docs/assets/diagram/component-installer-diagram-0.jpg +0 -0
  14. package/docs/assets/diagram/component-installer-diagram-0.zh-TW.jpg +0 -0
  15. package/docs/assets/diagram/component-installer-diagram-0.zh.jpg +0 -0
  16. package/docs/assets/diagram/component-management-diagram-0.ja.jpg +0 -0
  17. package/docs/assets/diagram/component-management-diagram-0.jpg +0 -0
  18. package/docs/assets/diagram/component-management-diagram-0.zh-TW.jpg +0 -0
  19. package/docs/assets/diagram/component-management-diagram-0.zh.jpg +0 -0
  20. package/docs/assets/diagram/core-concepts-diagram-0.ja.jpg +0 -0
  21. package/docs/assets/diagram/core-concepts-diagram-0.jpg +0 -0
  22. package/docs/assets/diagram/core-concepts-diagram-0.zh-TW.jpg +0 -0
  23. package/docs/assets/diagram/core-concepts-diagram-0.zh.jpg +0 -0
  24. package/docs/assets/diagram/dashboard-diagram-0.ja.jpg +0 -0
  25. package/docs/assets/diagram/dashboard-diagram-0.jpg +0 -0
  26. package/docs/assets/diagram/dashboard-diagram-0.zh-TW.jpg +0 -0
  27. package/docs/assets/diagram/dashboard-diagram-0.zh.jpg +0 -0
  28. package/docs/assets/diagram/header-diagram-0.ja.jpg +0 -0
  29. package/docs/assets/diagram/header-diagram-0.jpg +0 -0
  30. package/docs/assets/diagram/header-diagram-0.zh-TW.jpg +0 -0
  31. package/docs/assets/diagram/header-diagram-0.zh.jpg +0 -0
  32. package/docs/assets/diagram/layout-diagram-0.ja.jpg +0 -0
  33. package/docs/assets/diagram/layout-diagram-0.jpg +0 -0
  34. package/docs/assets/diagram/layout-diagram-0.zh-TW.jpg +0 -0
  35. package/docs/assets/diagram/layout-diagram-0.zh.jpg +0 -0
  36. package/docs/assets/diagram/notifications-diagram-0.ja.jpg +0 -0
  37. package/docs/assets/diagram/notifications-diagram-0.jpg +0 -0
  38. package/docs/assets/diagram/notifications-diagram-0.zh-TW.jpg +0 -0
  39. package/docs/assets/diagram/notifications-diagram-0.zh.jpg +0 -0
  40. package/docs/assets/diagram/overview-diagram-0.ja.jpg +0 -0
  41. package/docs/assets/diagram/overview-diagram-0.jpg +0 -0
  42. package/docs/assets/diagram/overview-diagram-0.zh-TW.jpg +0 -0
  43. package/docs/assets/diagram/overview-diagram-0.zh.jpg +0 -0
  44. package/docs/assets/diagram/user-center-diagram-0.ja.jpg +0 -0
  45. package/docs/assets/diagram/user-center-diagram-0.jpg +0 -0
  46. package/docs/assets/diagram/user-center-diagram-0.zh-TW.jpg +0 -0
  47. package/docs/assets/diagram/user-center-diagram-0.zh.jpg +0 -0
  48. package/docs/assets/diagram/user-management-diagram-0.ja.jpg +0 -0
  49. package/docs/assets/diagram/user-management-diagram-0.jpg +0 -0
  50. package/docs/assets/diagram/user-management-diagram-0.zh-TW.jpg +0 -0
  51. package/docs/assets/diagram/user-management-diagram-0.zh.jpg +0 -0
  52. package/docs/assets/diagram/user-sessions-diagram-0.ja.jpg +0 -0
  53. package/docs/assets/diagram/user-sessions-diagram-0.jpg +0 -0
  54. package/docs/assets/diagram/user-sessions-diagram-0.zh-TW.jpg +0 -0
  55. package/docs/assets/diagram/user-sessions-diagram-0.zh.jpg +0 -0
  56. package/docs/components-component-management-blocklet-studio.ja.md +0 -194
  57. package/docs/components-component-management-blocklet-studio.md +0 -194
  58. package/docs/components-component-management-blocklet-studio.zh-TW.md +0 -194
  59. package/docs/components-component-management-blocklet-studio.zh.md +0 -194
  60. package/docs/components-component-management-component-installer.ja.md +0 -182
  61. package/docs/components-component-management-component-installer.md +0 -182
  62. package/docs/components-component-management-component-installer.zh-TW.md +0 -182
  63. package/docs/components-component-management-component-installer.zh.md +0 -182
  64. package/docs/components-component-management.ja.md +0 -30
  65. package/docs/components-component-management.md +0 -30
  66. package/docs/components-component-management.zh-TW.md +0 -30
  67. package/docs/components-component-management.zh.md +0 -30
  68. package/docs/components-layout-dashboard.ja.md +0 -185
  69. package/docs/components-layout-dashboard.md +0 -187
  70. package/docs/components-layout-dashboard.zh-TW.md +0 -185
  71. package/docs/components-layout-dashboard.zh.md +0 -185
  72. package/docs/components-layout-footer.ja.md +0 -165
  73. package/docs/components-layout-footer.md +0 -165
  74. package/docs/components-layout-footer.zh-TW.md +0 -165
  75. package/docs/components-layout-footer.zh.md +0 -165
  76. package/docs/components-layout-header.ja.md +0 -183
  77. package/docs/components-layout-header.md +0 -183
  78. package/docs/components-layout-header.zh-TW.md +0 -183
  79. package/docs/components-layout-header.zh.md +0 -183
  80. package/docs/components-layout.ja.md +0 -31
  81. package/docs/components-layout.md +0 -31
  82. package/docs/components-layout.zh-TW.md +0 -31
  83. package/docs/components-layout.zh.md +0 -31
  84. package/docs/components-notifications.ja.md +0 -125
  85. package/docs/components-notifications.md +0 -125
  86. package/docs/components-notifications.zh-TW.md +0 -125
  87. package/docs/components-notifications.zh.md +0 -125
  88. package/docs/components-user-management-user-center.ja.md +0 -148
  89. package/docs/components-user-management-user-center.md +0 -147
  90. package/docs/components-user-management-user-center.zh-TW.md +0 -148
  91. package/docs/components-user-management-user-center.zh.md +0 -148
  92. package/docs/components-user-management-user-sessions.ja.md +0 -121
  93. package/docs/components-user-management-user-sessions.md +0 -123
  94. package/docs/components-user-management-user-sessions.zh-TW.md +0 -121
  95. package/docs/components-user-management-user-sessions.zh.md +0 -121
  96. package/docs/components-user-management.ja.md +0 -49
  97. package/docs/components-user-management.md +0 -51
  98. package/docs/components-user-management.zh-TW.md +0 -49
  99. package/docs/components-user-management.zh.md +0 -49
  100. package/docs/components-utilities-icon.ja.md +0 -106
  101. package/docs/components-utilities-icon.md +0 -106
  102. package/docs/components-utilities-icon.zh-TW.md +0 -106
  103. package/docs/components-utilities-icon.zh.md +0 -106
  104. package/docs/components-utilities.ja.md +0 -136
  105. package/docs/components-utilities.md +0 -136
  106. package/docs/components-utilities.zh-TW.md +0 -136
  107. package/docs/components-utilities.zh.md +0 -136
  108. package/docs/components.ja.md +0 -27
  109. package/docs/components.md +0 -27
  110. package/docs/components.zh-TW.md +0 -27
  111. package/docs/components.zh.md +0 -27
  112. package/docs/core-concepts.ja.md +0 -134
  113. package/docs/core-concepts.md +0 -135
  114. package/docs/core-concepts.zh-TW.md +0 -134
  115. package/docs/core-concepts.zh.md +0 -134
  116. package/docs/getting-started.ja.md +0 -132
  117. package/docs/getting-started.md +0 -132
  118. package/docs/getting-started.zh-TW.md +0 -132
  119. package/docs/getting-started.zh.md +0 -132
  120. package/docs/hooks-api.ja.md +0 -214
  121. package/docs/hooks-api.md +0 -214
  122. package/docs/hooks-api.zh-TW.md +0 -214
  123. package/docs/hooks-api.zh.md +0 -214
  124. package/docs/how-to-guides.ja.md +0 -413
  125. package/docs/how-to-guides.md +0 -413
  126. package/docs/how-to-guides.zh-TW.md +0 -413
  127. package/docs/how-to-guides.zh.md +0 -413
  128. package/docs/overview.ja.md +0 -51
  129. package/docs/overview.md +0 -51
  130. package/docs/overview.zh-TW.md +0 -51
  131. package/docs/overview.zh.md +0 -51
  132. package/glossary.md +0 -12
  133. package/src/@types/index.ts +0 -230
  134. package/src/@types/shims.d.ts +0 -18
  135. package/src/BlockletStudio/README.md +0 -116
  136. package/src/BlockletStudio/index.tsx +0 -145
  137. package/src/ComponentInstaller/ComponentInstaller.stories.jsx +0 -16
  138. package/src/ComponentInstaller/index.jsx +0 -207
  139. package/src/ComponentInstaller/installer-item.jsx +0 -129
  140. package/src/ComponentInstaller/locales.js +0 -22
  141. package/src/ComponentInstaller/use-component-installed.js +0 -88
  142. package/src/ComponentManager/components/add-component.tsx +0 -136
  143. package/src/ComponentManager/components/check-component.tsx +0 -3
  144. package/src/ComponentManager/components/publish-component.tsx +0 -90
  145. package/src/ComponentManager/components/resource-dialog.tsx +0 -91
  146. package/src/ComponentManager/index.tsx +0 -3
  147. package/src/ComponentManager/libs/locales.ts +0 -15
  148. package/src/Dashboard/Dashboard.stories.jsx +0 -20
  149. package/src/Dashboard/app-shell/app-badge.stories.tsx +0 -64
  150. package/src/Dashboard/app-shell/app-badge.tsx +0 -94
  151. package/src/Dashboard/app-shell/app-header.tsx +0 -104
  152. package/src/Dashboard/app-shell/app-info-context.tsx +0 -182
  153. package/src/Dashboard/app-shell/badges/app-badge-default.tsx +0 -130
  154. package/src/Dashboard/app-shell/badges/app-badge-did.tsx +0 -28
  155. package/src/Dashboard/app-shell/badges/app-badge-state.tsx +0 -40
  156. package/src/Dashboard/app-shell/badges/app-badge-switch.tsx +0 -72
  157. package/src/Dashboard/app-shell/badges/app-badge-version.tsx +0 -60
  158. package/src/Dashboard/app-shell/index.ts +0 -5
  159. package/src/Dashboard/index.jsx +0 -184
  160. package/src/Footer/Footer.stories.jsx +0 -33
  161. package/src/Footer/brand.jsx +0 -81
  162. package/src/Footer/copyright.jsx +0 -22
  163. package/src/Footer/index.jsx +0 -111
  164. package/src/Footer/internal-footer.jsx +0 -139
  165. package/src/Footer/layout/plain.jsx +0 -55
  166. package/src/Footer/layout/row.jsx +0 -43
  167. package/src/Footer/layout/standard.jsx +0 -114
  168. package/src/Footer/links.jsx +0 -321
  169. package/src/Footer/social-media.jsx +0 -55
  170. package/src/Header/Header.stories.jsx +0 -30
  171. package/src/Header/index.tsx +0 -259
  172. package/src/Icon/Icon.stories.jsx +0 -12
  173. package/src/Icon/index.tsx +0 -87
  174. package/src/Notifications/Snackbar.tsx +0 -261
  175. package/src/Notifications/hooks/use-title.tsx +0 -254
  176. package/src/Notifications/hooks/use-width.tsx +0 -16
  177. package/src/Notifications/utils.ts +0 -246
  178. package/src/UserCenter/assets/banner.png +0 -0
  179. package/src/UserCenter/components/config-inviter.tsx +0 -48
  180. package/src/UserCenter/components/config-profile.tsx +0 -99
  181. package/src/UserCenter/components/danger-zone.tsx +0 -82
  182. package/src/UserCenter/components/editable-field.tsx +0 -273
  183. package/src/UserCenter/components/fallback.tsx +0 -57
  184. package/src/UserCenter/components/nft-preview.tsx +0 -84
  185. package/src/UserCenter/components/nft.tsx +0 -279
  186. package/src/UserCenter/components/notification.tsx +0 -319
  187. package/src/UserCenter/components/passport.tsx +0 -107
  188. package/src/UserCenter/components/privacy.tsx +0 -120
  189. package/src/UserCenter/components/settings.tsx +0 -170
  190. package/src/UserCenter/components/status-dialog/date-picker.tsx +0 -77
  191. package/src/UserCenter/components/status-dialog/index.tsx +0 -293
  192. package/src/UserCenter/components/status-selector/duration-menu.tsx +0 -90
  193. package/src/UserCenter/components/status-selector/index.tsx +0 -58
  194. package/src/UserCenter/components/status-selector/menu-item.tsx +0 -56
  195. package/src/UserCenter/components/storage/action.tsx +0 -49
  196. package/src/UserCenter/components/storage/connected.tsx +0 -61
  197. package/src/UserCenter/components/storage/delete.tsx +0 -72
  198. package/src/UserCenter/components/storage/disconnect.tsx +0 -40
  199. package/src/UserCenter/components/storage/icons/empty-spaces-nft.svg +0 -1
  200. package/src/UserCenter/components/storage/icons/long-arrow.svg +0 -5
  201. package/src/UserCenter/components/storage/icons/space-connected.svg +0 -3
  202. package/src/UserCenter/components/storage/icons/space-disconnect.svg +0 -3
  203. package/src/UserCenter/components/storage/index.tsx +0 -41
  204. package/src/UserCenter/components/storage/preview-nft.tsx +0 -72
  205. package/src/UserCenter/components/third-party-login/index.tsx +0 -199
  206. package/src/UserCenter/components/third-party-login/third-party-item.tsx +0 -296
  207. package/src/UserCenter/components/user-center.tsx +0 -787
  208. package/src/UserCenter/components/user-info/address.tsx +0 -143
  209. package/src/UserCenter/components/user-info/index.tsx +0 -4
  210. package/src/UserCenter/components/user-info/link-preview-input.tsx +0 -274
  211. package/src/UserCenter/components/user-info/metadata.tsx +0 -658
  212. package/src/UserCenter/components/user-info/social-actions/chat.tsx +0 -43
  213. package/src/UserCenter/components/user-info/social-actions/follow.tsx +0 -23
  214. package/src/UserCenter/components/user-info/social-actions/index.tsx +0 -17
  215. package/src/UserCenter/components/user-info/switch-role.tsx +0 -42
  216. package/src/UserCenter/components/user-info/timezone-select.tsx +0 -119
  217. package/src/UserCenter/components/user-info/user-basic-info.tsx +0 -292
  218. package/src/UserCenter/components/user-info/user-info-item.tsx +0 -54
  219. package/src/UserCenter/components/user-info/user-info.tsx +0 -91
  220. package/src/UserCenter/components/user-info/user-status.tsx +0 -234
  221. package/src/UserCenter/components/user-info/utils.ts +0 -320
  222. package/src/UserCenter/components/webhook-item.tsx +0 -248
  223. package/src/UserCenter/index.tsx +0 -1
  224. package/src/UserCenter/libs/locales.ts +0 -378
  225. package/src/UserCenter/libs/utils.ts +0 -30
  226. package/src/UserSessions/components/user-session-info.tsx +0 -78
  227. package/src/UserSessions/components/user-sessions.tsx +0 -545
  228. package/src/UserSessions/index.tsx +0 -1
  229. package/src/UserSessions/libs/locales.ts +0 -60
  230. package/src/UserSessions/libs/utils.ts +0 -82
  231. package/src/blocklets.js +0 -195
  232. package/src/common/domain-warning.jsx +0 -178
  233. package/src/common/header-addons.jsx +0 -119
  234. package/src/common/link-blocker.jsx +0 -20
  235. package/src/common/notification-addon.jsx +0 -135
  236. package/src/common/org-switch/avatar-uploader.jsx +0 -271
  237. package/src/common/org-switch/create.jsx +0 -267
  238. package/src/common/org-switch/index.jsx +0 -407
  239. package/src/common/org-switch/locales.js +0 -52
  240. package/src/common/org-switch/use-org.jsx +0 -79
  241. package/src/common/overridable-theme-provider.jsx +0 -17
  242. package/src/common/wallet-hidden-topbar.js +0 -14
  243. package/src/common/wizard-modal.jsx +0 -200
  244. package/src/common/ws.js +0 -68
  245. package/src/contexts/config-user-space.tsx +0 -88
  246. package/src/contexts/user-followers.tsx +0 -54
  247. package/src/hooks/use-follow.tsx +0 -75
  248. package/src/hooks/use-mobile.tsx +0 -6
  249. package/src/index.ts +0 -16
  250. package/src/libs/constant.ts +0 -1
  251. package/src/libs/spaces.tsx +0 -18
  252. package/src/libs/with-hide-when-embed.tsx +0 -24
  253. package/src/types.js +0 -45
  254. package/src/utils.js +0 -161
  255. package/vite.config.mjs +0 -34
@@ -1,49 +0,0 @@
1
- # 用户管理
2
-
3
- 用户管理套件提供了一系列预构建的 React 组件,旨在处理与用户相关的基本功能。这些组件简化了在您的应用中实现用户个人资料、会话管理和组织切换的过程,确保了用户体验的一致性和可靠性。
4
-
5
- 本节概述了该套件中可用的主要组件。有关详细的实现指南和 API 参考,请参阅下方链接的特定组件文档。
6
-
7
- <!-- DIAGRAM_IMAGE_START:architecture:16:9:1765962229 -->
8
- ![User Management](assets/diagram/user-management-diagram-0.zh.jpg)
9
- <!-- DIAGRAM_IMAGE_END -->
10
-
11
- ## 核心组件
12
-
13
- 该套件由几个关键组件组成,每个组件都针对用户管理的特定方面。
14
-
15
- <x-cards>
16
- <x-card data-title="UserCenter" data-icon="lucide:user-cog" data-href="/components/user-management/user-center">
17
- 一个用于显示和管理用户个人资料的综合性组件。它包含处理用户设置、通行证管理以及关注其他用户等社交互动的功能。
18
- </x-card>
19
- <x-card data-title="UserSessions" data-icon="lucide:smartphone-nfc" data-href="/components/user-management/user-sessions">
20
- 一个注重安全的组件,允许用户查看和管理他们在不同设备上的活动和历史登录会话,从而增强账户安全性。
21
- </x-card>
22
- </x-cards>
23
-
24
- ### 组织切换
25
-
26
- `OrgsSwitch` 组件为属于多个组织的用户提供了一个下拉菜单界面。它支持无缝的上下文切换,这对于具有基于团队或多租户功能的应用至关重要。
27
-
28
- **主要功能:**
29
-
30
- * **当前组织显示:** 清晰地显示用户当前的组织上下文。
31
- * **组织列表:** 列出用户可以切换到的所有可用组织,并支持无限滚动以提高性能。
32
- * **搜索功能:** 包含一个搜索栏,用于快速筛选和查找特定组织。
33
- * **创建与导航:** 提供创建新组织的选项,以及一个用于管理所有组织的专用页面链接。
34
-
35
- ### 用于用户交互的钩子 (Hooks)
36
-
37
- 为便于开发社交功能,该库还包含了自定义钩子 (hooks) 和上下文 (contexts),用以抽象复杂的逻辑。
38
-
39
- * **`useFollow` 钩子 (hook)**:此钩子管理关注和取消关注其他用户的完整逻辑。它处理 API 请求和状态变更,返回当前的关注状态(`followed`)以及 `followUser` 和 `unfollowUser` 函数。
40
- * **`UserFollowersProvider` 上下文 (context)**:对于需要在多个组件之间访问关注状态的应用,此提供程序 (provider) 会包装您的组件树的一部分,并通过 `useUserFollowersContext` 钩子 (hook) 使关注状态和操作可用。
41
-
42
- ## 总结
43
-
44
- 这套组件为任何使用该库构建的应用提供了实现强大用户管理的必要构建块。通过使用这些组件,您可以加速开发,并确保您的应用遵循用户账户管理和安全方面的最佳实践。
45
-
46
- 有关详细的实现指南,请继续阅读特定组件的文档。
47
-
48
- * **下一步:** [UserCenter](./components-user-management-user-center.md)
49
- * **另请参阅:** [UserSessions](./components-user-management-user-sessions.md)
@@ -1,106 +0,0 @@
1
- # Icon
2
-
3
- `Icon` コンポーネントは、Material-UI の `Avatar` コンポーネントを基に構築された柔軟なユーティリティです。[Iconify](https://iconify.design/) のアイコン文字列、画像 URL、文字ベースの「レターアバター」など、複数のソースからアイコンをレンダリングするように設計されています。この汎用性により、アプリケーション内のほとんどのアイコンやアバターの表示ニーズに対応するための標準化されたコンポーネントとなっています。
4
-
5
- ## Props
6
-
7
- `Icon` コンポーネントは以下の props を受け入れます:
8
-
9
- <x-field-group>
10
- <x-field data-name="icon" data-type="string" data-required="true">
11
- <x-field-desc markdown>アイコンの主要な識別子。コンポーネントは文字列の形式に基づいてレンダリング方法を賢く決定します。Iconify 文字列(例:`mdi:home`)、直接の画像 URL、またはレターアバターを生成するための単純な文字列(例:「U」)を指定できます。</x-field-desc>
12
- </x-field>
13
- <x-field data-name="size" data-type="number" data-required="false">
14
- <x-field-desc markdown>アイコンコンテナの `width` と `height` をピクセル単位で均一に設定します。</x-field-desc>
15
- </x-field>
16
- <x-field data-name="sx" data-type="BoxProps['sx']" data-required="false">
17
- <x-field-desc markdown>Material-UI のシステムと一貫性のあるカスタムスタイリングのための `sx` prop。</x-field-desc>
18
- </x-field>
19
- <x-field data-name="..." data-type="AvatarProps" data-required="false">
20
- <x-field-desc markdown>このコンポーネントは、Material-UI の [Avatar](https://mui.com/material-ui/react-avatar/) コンポーネントでサポートされている他のすべての props(`variant`、`alt`、`onClick` など)も受け入れます。</x-field-desc>
21
- </x-field>
22
- </x-field-group>
23
-
24
- ## 使用例
25
-
26
- `Icon` コンポーネントのさまざまな使用方法を示す実践的な例を以下に示します。
27
-
28
- ### Iconify アイコン
29
-
30
- Iconify エコシステムからアイコンを表示するには、その一意の文字列識別子を `icon` prop に指定します。コンポーネントは対応する SVG を動的に読み込み、レンダリングします。
31
-
32
- ```jsx Displaying an Iconify icon icon=mdi:react
33
- import Icon from '@blocklet/ui-react/lib/Icon';
34
-
35
- export default function IconifyExample() {
36
- return <Icon icon="mdi:react" size={48} />;
37
- }
38
- ```
39
-
40
- この例では、Material Design Icons コレクションの「react」アイコンをレンダリングします。
41
-
42
- ### 画像 URL
43
-
44
- URL を `icon` prop に渡すことで、画像を直接レンダリングできます。コンポーネントは URL 形式を検出し、それを Avatar 内の `<img>` タグの `src` として使用します。
45
-
46
- ```jsx Rendering an icon from a URL icon=mdi:image
47
- import Icon from '@blocklet/ui-react/lib/Icon';
48
-
49
- export default function ImageUrlExample() {
50
- return <Icon icon="https://www.arcblock.io/image-bin/uploads/eb1cf5d60cd85c42362920c49e3768cb.svg" size={48} />;
51
- }
52
- ```
53
-
54
- ### レターアバター
55
-
56
- `icon` prop が有効な Iconify アイコンでも URL でもない文字列を受け取った場合、その文字列の最初の文字を使用してレターアバターをレンダリングします。これはユーザープロファイルのプレースホルダーとして便利です。
57
-
58
- ```jsx Creating a letter avatar icon=mdi:format-letter-case
59
- import Icon from '@blocklet/ui-react/lib/Icon';
60
-
61
- export default function LetterAvatarExample() {
62
- return <Icon icon="Blocklet" size={48} variant="rounded" sx={{ bgcolor: 'primary.main', color: 'primary.contrastText' }} />;
63
- }
64
- ```
65
-
66
- この場合、コンポーネントは文字「B」を表示します。`variant` と `sx` prop の使用に注意してください。これらは基盤となる Material-UI Avatar に直接渡されます。
67
-
68
- ### カスタムサイズ
69
-
70
- `size` prop を使用すると、アイコンの寸法を簡単に制御できます。
71
-
72
- ```jsx Adjusting the icon size icon=mdi:ruler
73
- import Icon from '@blocklet/ui-react/lib/Icon';
74
-
75
- export default function SizingExample() {
76
- return (
77
- <div>
78
- <Icon icon="mdi:home" size={24} />
79
- <Icon icon="mdi:home" size={32} />
80
- <Icon icon="mdi:home" size={48} />
81
- </div>
82
- );
83
- }
84
- ```
85
-
86
- この例では、同じアイコンを3つの異なるサイズでレンダリングしています。
87
-
88
- ### Avatar Props の使用
89
-
90
- `Icon` コンポーネントは Material-UI の `Avatar` のラッパーであるため、任意の `Avatar` prop を使用してその外観をカスタマイズできます。たとえば、`variant` prop を使用して形状を変更できます。
91
-
92
- ```jsx Customizing with Avatar props icon=mdi:shape
93
- import Icon from '@blocklet/ui-react/lib/Icon';
94
-
95
- export default function AvatarPropsExample() {
96
- return (
97
- <div>
98
- <Icon icon="B" variant="circular" size={48} sx={{ bgcolor: 'secondary.main' }} />
99
- <Icon icon="L" variant="rounded" size={48} sx={{ bgcolor: 'success.main' }} />
100
- <Icon icon="T" variant="square" size={48} sx={{ bgcolor: 'info.main' }} />
101
- </div>
102
- );
103
- }
104
- ```
105
-
106
- これは、円形、角丸、四角形のアバターを作成する方法を示しています。
@@ -1,106 +0,0 @@
1
- # Icon
2
-
3
- The `Icon` component is a flexible utility built upon Material-UI's `Avatar` component. It is designed to render icons from multiple sources, including [Iconify](https://iconify.design/) icon strings, image URLs, and character-based "letter avatars". This versatility makes it a standardized component for handling most icon and avatar display needs within an application.
4
-
5
- ## Props
6
-
7
- The `Icon` component accepts the following props:
8
-
9
- <x-field-group>
10
- <x-field data-name="icon" data-type="string" data-required="true">
11
- <x-field-desc markdown>The primary identifier for the icon. The component intelligently determines how to render it based on the string's format. It can be an Iconify string (e.g., `mdi:home`), a direct image URL, or a simple string to generate a letter avatar (e.g., "U").</x-field-desc>
12
- </x-field>
13
- <x-field data-name="size" data-type="number" data-required="false">
14
- <x-field-desc markdown>Sets a uniform `width` and `height` for the icon container in pixels.</x-field-desc>
15
- </x-field>
16
- <x-field data-name="sx" data-type="BoxProps['sx']" data-required="false">
17
- <x-field-desc markdown>The `sx` prop for custom styling, consistent with Material-UI's system.</x-field-desc>
18
- </x-field>
19
- <x-field data-name="..." data-type="AvatarProps" data-required="false">
20
- <x-field-desc markdown>The component also accepts any other props supported by the Material-UI [Avatar](https://mui.com/material-ui/react-avatar/) component, such as `variant`, `alt`, and `onClick`.</x-field-desc>
21
- </x-field>
22
- </x-field-group>
23
-
24
- ## Usage Examples
25
-
26
- Here are practical examples demonstrating the different ways to use the `Icon` component.
27
-
28
- ### Iconify Icon
29
-
30
- To display an icon from the Iconify ecosystem, provide its unique string identifier to the `icon` prop. The component will dynamically load and render the corresponding SVG.
31
-
32
- ```jsx Displaying an Iconify icon icon=mdi:react
33
- import Icon from '@blocklet/ui-react/lib/Icon';
34
-
35
- export default function IconifyExample() {
36
- return <Icon icon="mdi:react" size={48} />;
37
- }
38
- ```
39
-
40
- This example renders the "react" icon from the Material Design Icons collection.
41
-
42
- ### Image URL
43
-
44
- You can render an image directly by passing its URL to the `icon` prop. The component will detect the URL format and use it as the `src` for an `<img>` tag within the Avatar.
45
-
46
- ```jsx Rendering an icon from a URL icon=mdi:image
47
- import Icon from '@blocklet/ui-react/lib/Icon';
48
-
49
- export default function ImageUrlExample() {
50
- return <Icon icon="https://www.arcblock.io/image-bin/uploads/eb1cf5d60cd85c42362920c49e3768cb.svg" size={48} />;
51
- }
52
- ```
53
-
54
- ### Letter Avatar
55
-
56
- If the `icon` prop receives a string that is neither a valid Iconify icon nor a URL, it will render a letter avatar using the first character of the string. This is useful for user profile placeholders.
57
-
58
- ```jsx Creating a letter avatar icon=mdi:format-letter-case
59
- import Icon from '@blocklet/ui-react/lib/Icon';
60
-
61
- export default function LetterAvatarExample() {
62
- return <Icon icon="Blocklet" size={48} variant="rounded" sx={{ bgcolor: 'primary.main', color: 'primary.contrastText' }} />;
63
- }
64
- ```
65
-
66
- In this case, the component will display the letter "B". Note the use of the `variant` and `sx` props, which are passed directly to the underlying Material-UI Avatar.
67
-
68
- ### Custom Size
69
-
70
- The `size` prop provides a convenient way to control the icon's dimensions.
71
-
72
- ```jsx Adjusting the icon size icon=mdi:ruler
73
- import Icon from '@blocklet/ui-react/lib/Icon';
74
-
75
- export default function SizingExample() {
76
- return (
77
- <div>
78
- <Icon icon="mdi:home" size={24} />
79
- <Icon icon="mdi:home" size={32} />
80
- <Icon icon="mdi:home" size={48} />
81
- </div>
82
- );
83
- }
84
- ```
85
-
86
- This example shows the same icon rendered at three different sizes.
87
-
88
- ### Using Avatar Props
89
-
90
- Since the `Icon` component is a wrapper around Material-UI's `Avatar`, you can use any `Avatar` prop to customize its appearance. For instance, you can change the shape using the `variant` prop.
91
-
92
- ```jsx Customizing with Avatar props icon=mdi:shape
93
- import Icon from '@blocklet/ui-react/lib/Icon';
94
-
95
- export default function AvatarPropsExample() {
96
- return (
97
- <div>
98
- <Icon icon="B" variant="circular" size={48} sx={{ bgcolor: 'secondary.main' }} />
99
- <Icon icon="L" variant="rounded" size={48} sx={{ bgcolor: 'success.main' }} />
100
- <Icon icon="T" variant="square" size={48} sx={{ bgcolor: 'info.main' }} />
101
- </div>
102
- );
103
- }
104
- ```
105
-
106
- This demonstrates how to create circular, rounded, and square avatars.
@@ -1,106 +0,0 @@
1
- # Icon
2
-
3
- `Icon` 元件是一個基於 Material-UI 的 `Avatar` 元件所建構的靈活工具。它旨在渲染來自多種來源的圖示,包括 [Iconify](https://iconify.design/) 圖示字串、圖片 URL 以及基於字元的「字母頭像」。這種多功能性使其成為一個標準化元件,可滿足應用程式中大多數圖示和頭像的顯示需求。
4
-
5
- ## 屬性
6
-
7
- `Icon` 元件接受以下屬性:
8
-
9
- <x-field-group>
10
- <x-field data-name="icon" data-type="string" data-required="true">
11
- <x-field-desc markdown>圖示的主要識別碼。元件會根據字串的格式智慧地決定如何渲染它。它可以是 Iconify 字串(例如 `mdi:home`)、直接的圖片 URL,或用於產生字母頭像的簡單字串(例如 "U")。</x-field-desc>
12
- </x-field>
13
- <x-field data-name="size" data-type="number" data-required="false">
14
- <x-field-desc markdown>設定圖示容器的統一 `width` 和 `height`(以像素為單位)。</x-field-desc>
15
- </x-field>
16
- <x-field data-name="sx" data-type="BoxProps['sx']" data-required="false">
17
- <x-field-desc markdown>用於自訂樣式的 `sx` 屬性,與 Material-UI 的系統一致。</x-field-desc>
18
- </x-field>
19
- <x-field data-name="..." data-type="AvatarProps" data-required="false">
20
- <x-field-desc markdown>該元件也接受 Material-UI [Avatar](https://mui.com/material-ui/react-avatar/) 元件支援的任何其他屬性,例如 `variant`、`alt` 和 `onClick`。</x-field-desc>
21
- </x-field>
22
- </x-field-group>
23
-
24
- ## 使用範例
25
-
26
- 以下是展示 `Icon` 元件不同使用方式的實際範例。
27
-
28
- ### Iconify 圖示
29
-
30
- 要顯示來自 Iconify 生態系統的圖示,請將其唯一的字串識別碼提供給 `icon` 屬性。元件將動態載入並渲染對應的 SVG。
31
-
32
- ```jsx Displaying an Iconify icon icon=mdi:react
33
- import Icon from '@blocklet/ui-react/lib/Icon';
34
-
35
- export default function IconifyExample() {
36
- return <Icon icon="mdi:react" size={48} />;
37
- }
38
- ```
39
-
40
- 此範例渲染了 Material Design Icons 集合中的 "react" 圖示。
41
-
42
- ### 圖片 URL
43
-
44
- 您可以透過將圖片的 URL 傳遞給 `icon` 屬性來直接渲染圖片。元件將偵測 URL 格式,並將其用作 Avatar 內 `<img>` 標籤的 `src`。
45
-
46
- ```jsx Rendering an icon from a URL icon=mdi:image
47
- import Icon from '@blocklet/ui-react/lib/Icon';
48
-
49
- export default function ImageUrlExample() {
50
- return <Icon icon="https://www.arcblock.io/image-bin/uploads/eb1cf5d60cd85c42362920c49e3768cb.svg" size={48} />;
51
- }
52
- ```
53
-
54
- ### 字母頭像
55
-
56
- 如果 `icon` 屬性收到的字串既不是有效的 Iconify 圖示也不是 URL,它將使用字串的第一個字元渲染一個字母頭像。這對於使用者個人資料的預留位置很有用。
57
-
58
- ```jsx Creating a letter avatar icon=mdi:format-letter-case
59
- import Icon from '@blocklet/ui-react/lib/Icon';
60
-
61
- export default function LetterAvatarExample() {
62
- return <Icon icon="Blocklet" size={48} variant="rounded" sx={{ bgcolor: 'primary.main', color: 'primary.contrastText' }} />;
63
- }
64
- ```
65
-
66
- 在這種情況下,元件將顯示字母 "B"。請注意 `variant` 和 `sx` 屬性的使用,它們會直接傳遞給底層的 Material-UI Avatar。
67
-
68
- ### 自訂尺寸
69
-
70
- `size` 屬性提供了一種方便的方式來控制圖示的尺寸。
71
-
72
- ```jsx Adjusting the icon size icon=mdi:ruler
73
- import Icon from '@blocklet/ui-react/lib/Icon';
74
-
75
- export default function SizingExample() {
76
- return (
77
- <div>
78
- <Icon icon="mdi:home" size={24} />
79
- <Icon icon="mdi:home" size={32} />
80
- <Icon icon="mdi:home" size={48} />
81
- </div>
82
- );
83
- }
84
- ```
85
-
86
- 此範例展示了以三種不同尺寸渲染的同一個圖示。
87
-
88
- ### 使用 Avatar 屬性
89
-
90
- 由於 `Icon` 元件是 Material-UI 的 `Avatar` 的封裝,您可以使用任何 `Avatar` 屬性來自訂其外觀。例如,您可以使用 `variant` 屬性來改變形狀。
91
-
92
- ```jsx Customizing with Avatar props icon=mdi:shape
93
- import Icon from '@blocklet/ui-react/lib/Icon';
94
-
95
- export default function AvatarPropsExample() {
96
- return (
97
- <div>
98
- <Icon icon="B" variant="circular" size={48} sx={{ bgcolor: 'secondary.main' }} />
99
- <Icon icon="L" variant="rounded" size={48} sx={{ bgcolor: 'success.main' }} />
100
- <Icon icon="T" variant="square" size={48} sx={{ bgcolor: 'info.main' }} />
101
- </div>
102
- );
103
- }
104
- ```
105
-
106
- 這展示了如何創建圓形、圓角和方形的頭像。
@@ -1,106 +0,0 @@
1
- # Icon
2
-
3
- `Icon` 组件是一个基于 Material-UI 的 `Avatar` 组件构建的灵活实用工具。它旨在从多种来源渲染图标,包括 [Iconify](https://iconify.design/) 图标字符串、图像 URL 和基于字符的“字母头像”。这种多功能性使其成为一个标准化组件,可用于处理应用程序中的大多数图标和头像显示需求。
4
-
5
- ## Props
6
-
7
- `Icon` 组件接受以下 props:
8
-
9
- <x-field-group>
10
- <x-field data-name="icon" data-type="string" data-required="true">
11
- <x-field-desc markdown>图标的主要标识符。组件会根据字符串的格式智能地确定如何渲染它。它可以是 Iconify 字符串(例如 `mdi:home`)、直接的图像 URL 或用于生成字母头像的简单字符串(例如 “U”)。</x-field-desc>
12
- </x-field>
13
- <x-field data-name="size" data-type="number" data-required="false">
14
- <x-field-desc markdown>以像素为单位,为图标容器设置统一的 `width` 和 `height`。</x-field-desc>
15
- </x-field>
16
- <x-field data-name="sx" data-type="BoxProps['sx']" data-required="false">
17
- <x-field-desc markdown>用于自定义样式的 `sx` prop,与 Material-UI 的系统一致。</x-field-desc>
18
- </x-field>
19
- <x-field data-name="..." data-type="AvatarProps" data-required="false">
20
- <x-field-desc markdown>该组件也接受 Material-UI [Avatar](https://mui.com/material-ui/react-avatar/) 组件支持的任何其他 props,例如 `variant`、`alt` 和 `onClick`。</x-field-desc>
21
- </x-field>
22
- </x-field-group>
23
-
24
- ## 用法示例
25
-
26
- 以下是演示 `Icon` 组件不同使用方式的实际示例。
27
-
28
- ### Iconify 图标
29
-
30
- 要显示来自 Iconify 生态系统的图标,请将其唯一的字符串标识符提供给 `icon` prop。该组件将动态加载并渲染相应的 SVG。
31
-
32
- ```jsx 显示 Iconify 图标 icon=mdi:react
33
- import Icon from '@blocklet/ui-react/lib/Icon';
34
-
35
- export default function IconifyExample() {
36
- return <Icon icon="mdi:react" size={48} />;
37
- }
38
- ```
39
-
40
- 此示例渲染了 Material Design Icons 集合中的 “react” 图标。
41
-
42
- ### 图像 URL
43
-
44
- 您可以通过将其 URL 传递给 `icon` prop 来直接渲染图像。该组件将检测 URL 格式,并将其用作 Avatar 内 `<img>` 标签的 `src`。
45
-
46
- ```jsx 从 URL 渲染图标 icon=mdi:image
47
- import Icon from '@blocklet/ui-react/lib/Icon';
48
-
49
- export default function ImageUrlExample() {
50
- return <Icon icon="https://www.arcblock.io/image-bin/uploads/eb1cf5d60cd85c42362920c49e3768cb.svg" size={48} />;
51
- }
52
- ```
53
-
54
- ### 字母头像
55
-
56
- 如果 `icon` prop 接收到的字符串既不是有效的 Iconify 图标也不是 URL,它将使用该字符串的第一个字符渲染一个字母头像。这对于用户个人资料的占位符很有用。
57
-
58
- ```jsx 创建字母头像 icon=mdi:format-letter-case
59
- import Icon from '@blocklet/ui-react/lib/Icon';
60
-
61
- export default function LetterAvatarExample() {
62
- return <Icon icon="Blocklet" size={48} variant="rounded" sx={{ bgcolor: 'primary.main', color: 'primary.contrastText' }} />;
63
- }
64
- ```
65
-
66
- 在这种情况下,组件将显示字母 “B”。请注意 `variant` 和 `sx` props 的使用,它们被直接传递给底层的 Material-UI Avatar。
67
-
68
- ### 自定义尺寸
69
-
70
- `size` prop 提供了一种便捷的方式来控制图标的尺寸。
71
-
72
- ```jsx 调整图标尺寸 icon=mdi:ruler
73
- import Icon from '@blocklet/ui-react/lib/Icon';
74
-
75
- export default function SizingExample() {
76
- return (
77
- <div>
78
- <Icon icon="mdi:home" size={24} />
79
- <Icon icon="mdi:home" size={32} />
80
- <Icon icon="mdi:home" size={48} />
81
- </div>
82
- );
83
- }
84
- ```
85
-
86
- 此示例展示了以三种不同尺寸渲染的同一个图标。
87
-
88
- ### 使用 Avatar Props
89
-
90
- 由于 `Icon` 组件是 Material-UI 的 `Avatar` 的包装器,您可以使用任何 `Avatar` prop 来自定义其外观。例如,您可以使用 `variant` prop 来改变形状。
91
-
92
- ```jsx 使用 Avatar props 进行自定义 icon=mdi:shape
93
- import Icon from '@blocklet/ui-react/lib/Icon';
94
-
95
- export default function AvatarPropsExample() {
96
- return (
97
- <div>
98
- <Icon icon="B" variant="circular" size={48} sx={{ bgcolor: 'secondary.main' }} />
99
- <Icon icon="L" variant="rounded" size={48} sx={{ bgcolor: 'success.main' }} />
100
- <Icon icon="T" variant="square" size={48} sx={{ bgcolor: 'info.main' }} />
101
- </div>
102
- );
103
- }
104
- ```
105
-
106
- 这演示了如何创建圆形、圆角和方形的头像。
@@ -1,136 +0,0 @@
1
- # ユーティリティ
2
-
3
- このセクションでは、ヘルパーコンポーネント、高階コンポーネント (HOC)、およびユーティリティ関数のコレクションに関するドキュメントを提供します。これらのツールは、一般的な開発タスクを簡素化し、アプリケーションのテーマを管理し、複雑なデータ構造を処理するように設計されています。
4
-
5
- 利用可能な主なユーティリティは次のとおりです。
6
-
7
- <x-cards data-columns="2">
8
- <x-card data-title="アイコンコンポーネント" data-icon="lucide:image" data-href="/components/utilities/icon">
9
- Iconify、画像 URL、またはレターアバターなど、さまざまなソースからアイコンを表示するための多用途なコンポーネント。
10
- </x-card>
11
- <x-card data-title="OverridableThemeProvider" data-icon="lucide:palette">
12
- 開発者が独自のテーマオブジェクトを提供して、デフォルトの Blocklet UI テーマを上書きできるようにするテーマプロバイダー。
13
- </x-card>
14
- <x-card data-title="withHideWhenEmbed HOC" data-icon="lucide:eye-off">
15
- アプリケーションが埋め込みモードの場合にコンポーネントを条件付きでレンダリングし、非表示にする高階コンポーネント。
16
- </x-card>
17
- <x-card data-title="JavaScript ヘルパー" data-icon="lucide:function-square">
18
- 再帰的な配列操作、URL 検証、パスのマッチングなどのタスクのためのスタンドアロン関数のスイート。
19
- </x-card>
20
- </x-cards>
21
-
22
- `Icon` コンポーネントの詳細なガイドについては、専用のドキュメントページを参照してください。その他のユーティリティについては、以下で説明します。
23
-
24
- ## OverridableThemeProvider
25
-
26
- このコンポーネントは、Material-UI の `ThemeProvider` のラッパーです。これにより、その子コンポーネントに一貫したテーマを適用できます。デフォルトでは、標準の Blocklet UI テーマを使用しますが、`theme` プロパティを介してカスタムテーマオブジェクトを提供することで、デフォルトのスタイルを上書きできます。
27
-
28
- ### 使用方法
29
-
30
- カスタムテーマを適用するには、`theme` プロパティにテーマオブジェクトを渡します。コンポーネントは、あなたのオーバーライドをデフォルトテーマとマージします。
31
-
32
- ```javascript テーマプロバイダーの例 icon=logos:javascript
33
- import OverridableThemeProvider from '@blocklet/ui-react/lib/common/overridable-theme-provider';
34
- import { Button } from '@mui/material';
35
-
36
- const customTheme = {
37
- palette: {
38
- primary: {
39
- main: '#ff5722',
40
- },
41
- },
42
- };
43
-
44
- function App() {
45
- return (
46
- <OverridableThemeProvider theme={customTheme}>
47
- <Button color="primary" variant="contained">
48
- Custom Themed Button
49
- </Button>
50
- </OverridableThemeProvider>
51
- );
52
- }
53
- ```
54
-
55
- ## withHideWhenEmbed
56
-
57
- `withHideWhenEmbed` は、アプリケーションが「埋め込みモード」の場合にコンポーネントのレンダリングを防ぐ高階コンポーネント (HOC) です。セッションストレージキー (`EMBED_MODE_KEY`) をチェックして現在のモードを判断します。値が `1` の場合、ラップされたコンポーネントは `null` を返します。
58
-
59
- これは、ヘッダーやフッターなど、不要な埋め込みコンテキストで要素を非表示にするのに役立ちます。
60
-
61
- ### 使用方法
62
-
63
- 条件付きで非表示にしたいコンポーネントを `withHideWhenEmbed` HOC でラップします。
64
-
65
- ```javascript HOC の例 icon=logos:javascript
66
- import withHideWhenEmbed from '@blocklet/ui-react/lib/libs/with-hide-when-embed';
67
-
68
- function PageHeader() {
69
- return (
70
- <header>
71
- <h1>My Application</h1>
72
- </header>
73
- );
74
- }
75
-
76
- const MaybeHiddenHeader = withHideWhenEmbed(PageHeader);
77
-
78
- function App() {
79
- return (
80
- <div>
81
- <MaybeHiddenHeader />
82
- <main>
83
- {/* Main content goes here */}
84
- </main>
85
- </div>
86
- );
87
- }
88
- ```
89
-
90
- ## ヘルパー関数
91
-
92
- 一般的なデータ操作および検証タスクのために、一連の純粋な JavaScript 関数が利用可能です。これらは、ライブラリのユーティリティモジュールから直接インポートできます。
93
-
94
- ### 配列操作
95
-
96
- これらの関数は、ナビゲーションメニューやファイルツリーなど、ネストされたオブジェクトの配列を扱うように設計されています。
97
-
98
- | 関数 | 説明 |
99
- | --- | --- |
100
- | `mapRecursive(array, fn, childrenKey = 'children')` | ネストされた配列の各項目に再帰的に関数を適用します。 |
101
- | `flatRecursive(array, childrenKey = 'children')` | ネストされた配列を単一レベルの配列にフラット化します。 |
102
- | `countRecursive(array, childrenKey = 'children')` | ネストされた配列内の項目の総数を数えます。 |
103
- | `filterRecursive(array, predicate, childrenKey = 'children')` | 述語関数に基づいてネストされた配列を再帰的にフィルタリングし、子が一致する場合は親の構造を保持します。 |
104
-
105
- ### 文字列と URL の検証
106
-
107
- 文字列形式をチェックするためのシンプルなヘルパーです。
108
-
109
- | 関数 | 説明 |
110
- | --- | --- |
111
- | `isUrl(str)` | 文字列が `http://` または `https://` で始まる場合に `true` を返します。 |
112
- | `isMailProtocol(str)` | 文字列が `mailto:` で始まる場合に `true` を返します。 |
113
-
114
- ### ルーティング
115
-
116
- クライアント側のルーティングロジックを支援するユーティリティです。
117
-
118
- | 関数 | 説明 |
119
- | --- | --- |
120
- | `matchPath(path)` | 指定されたパスが現在の `window.location.pathname` と一致するかどうかをチェックします。 |
121
- | `matchPaths(paths)` | パスの配列から、現在のロケーションに対して最も一致するパスを見つけます。 |
122
-
123
- ### レイアウト
124
-
125
- | 関数 | 説明 |
126
- | --- | --- |
127
- | `splitNavColumns(items, options)` | ナビゲーション項目のリストを指定された数の列に分割します。メガメニューの作成に便利です。 |
128
-
129
- ---
130
-
131
- ### まとめ
132
-
133
- このセクションでは、ライブラリに含まれる汎用ユーティリティの概要を説明しました。より強力で専門的な機能については、個々のコンポーネントの詳細なドキュメントに進んでください。
134
-
135
- 柔軟な `Icon` コンポーネントの使用に関する包括的なガイドについては、次のセクションを参照してください。
136
- - **[アイコン](./components-utilities-icon.md)**