@rynt/sdk 0.9.53

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 (332) hide show
  1. package/README.md +122 -0
  2. package/REGISTRIES.md +189 -0
  3. package/env.d.ts +11 -0
  4. package/host-shims.d.ts +30 -0
  5. package/package.json +88 -0
  6. package/src/extension-marketplace/api-types.ts +141 -0
  7. package/src/extension-marketplace/client.ts +296 -0
  8. package/src/extension-marketplace/index.ts +22 -0
  9. package/src/extension-marketplace/schemas.ts +178 -0
  10. package/src/extensions/ExtensionRoutePage.vue +17 -0
  11. package/src/extensions/context.ts +37 -0
  12. package/src/extensions/disabled-folder.ts +21 -0
  13. package/src/extensions/extension-expose-map.ts +5 -0
  14. package/src/extensions/extension-expose.ts +48 -0
  15. package/src/extensions/graph.ts +67 -0
  16. package/src/extensions/index.ts +251 -0
  17. package/src/extensions/invite-handler/types.ts +20 -0
  18. package/src/extensions/launcher-entities/create-launcher-entity.ts +25 -0
  19. package/src/extensions/launcher-entities/keys.ts +46 -0
  20. package/src/extensions/launcher-entities/launcher-entity-components.ts +177 -0
  21. package/src/extensions/launcher-entities/props-map.ts +69 -0
  22. package/src/extensions/launcher-entities/registry.ts +32 -0
  23. package/src/extensions/launcher-models/apis/accounts-contracts.ts +102 -0
  24. package/src/extensions/launcher-models/apis/launcher-model-apis.ts +553 -0
  25. package/src/extensions/launcher-models/keys.ts +23 -0
  26. package/src/extensions/launcher-models/public.ts +9 -0
  27. package/src/extensions/launcher-models/registry-core.ts +34 -0
  28. package/src/extensions/manifest-types.ts +22 -0
  29. package/src/extensions/manifest.ts +46 -0
  30. package/src/extensions/marketplace-open-key.ts +26 -0
  31. package/src/extensions/plugin-types.ts +44 -0
  32. package/src/extensions/plugin.ts +62 -0
  33. package/src/extensions/registries/bootstrap.ts +11 -0
  34. package/src/extensions/registries/builtins/account-provider.ts +6 -0
  35. package/src/extensions/registries/builtins/app-topbar-left-widgets.ts +6 -0
  36. package/src/extensions/registries/builtins/app-topbar-right-widgets.ts +6 -0
  37. package/src/extensions/registries/builtins/app-topbar-status-widgets.ts +6 -0
  38. package/src/extensions/registries/builtins/build-card-actions.ts +6 -0
  39. package/src/extensions/registries/builtins/build-card-after-meta.ts +6 -0
  40. package/src/extensions/registries/builtins/build-card-before-media.ts +6 -0
  41. package/src/extensions/registries/builtins/build-card-before-meta.ts +6 -0
  42. package/src/extensions/registries/builtins/build-card-footer-actions.ts +6 -0
  43. package/src/extensions/registries/builtins/build-detail-after-content.ts +6 -0
  44. package/src/extensions/registries/builtins/build-detail-before-content.ts +6 -0
  45. package/src/extensions/registries/builtins/build-detail-before-hero.ts +6 -0
  46. package/src/extensions/registries/builtins/build-detail-header-actions.ts +6 -0
  47. package/src/extensions/registries/builtins/build-detail-mod-row-actions.ts +6 -0
  48. package/src/extensions/registries/builtins/build-detail-resourcepack-row-actions.ts +6 -0
  49. package/src/extensions/registries/builtins/build-detail-right-column-bottom.ts +6 -0
  50. package/src/extensions/registries/builtins/build-detail-right-column-top.ts +6 -0
  51. package/src/extensions/registries/builtins/dialog-footer-actions.ts +6 -0
  52. package/src/extensions/registries/builtins/feed-after-content.ts +6 -0
  53. package/src/extensions/registries/builtins/feed-before-content.ts +6 -0
  54. package/src/extensions/registries/builtins/file-editor.ts +19 -0
  55. package/src/extensions/registries/builtins/friends-after-list.ts +6 -0
  56. package/src/extensions/registries/builtins/friends-before-list.ts +6 -0
  57. package/src/extensions/registries/builtins/index.ts +141 -0
  58. package/src/extensions/registries/builtins/invite-handler.ts +7 -0
  59. package/src/extensions/registries/builtins/library-after-content.ts +6 -0
  60. package/src/extensions/registries/builtins/library-before-content.ts +6 -0
  61. package/src/extensions/registries/builtins/loader.ts +8 -0
  62. package/src/extensions/registries/builtins/map-card-actions.ts +6 -0
  63. package/src/extensions/registries/builtins/map-card-after-meta.ts +6 -0
  64. package/src/extensions/registries/builtins/map-card-before-meta.ts +6 -0
  65. package/src/extensions/registries/builtins/map-card-footer-actions.ts +6 -0
  66. package/src/extensions/registries/builtins/map-detail-after-content.ts +6 -0
  67. package/src/extensions/registries/builtins/map-detail-before-content.ts +6 -0
  68. package/src/extensions/registries/builtins/map-detail-header-actions.ts +6 -0
  69. package/src/extensions/registries/builtins/markdown-editor-tiptap-extensions.ts +7 -0
  70. package/src/extensions/registries/builtins/markdown-editor-toolbar-actions.ts +6 -0
  71. package/src/extensions/registries/builtins/markdown-renderer-after-content.ts +6 -0
  72. package/src/extensions/registries/builtins/markdown-renderer-before-content.ts +6 -0
  73. package/src/extensions/registries/builtins/mod-details-footer-actions.ts +6 -0
  74. package/src/extensions/registries/builtins/mod-manage-actions.ts +6 -0
  75. package/src/extensions/registries/builtins/mod-provider.ts +5 -0
  76. package/src/extensions/registries/builtins/nav.ts +7 -0
  77. package/src/extensions/registries/builtins/page.ts +13 -0
  78. package/src/extensions/registries/builtins/projects-after-content.ts +6 -0
  79. package/src/extensions/registries/builtins/projects-before-content.ts +6 -0
  80. package/src/extensions/registries/builtins/resourcepack-manage-actions.ts +7 -0
  81. package/src/extensions/registries/builtins/server-card-actions.ts +6 -0
  82. package/src/extensions/registries/builtins/server-card-after-meta.ts +6 -0
  83. package/src/extensions/registries/builtins/server-card-before-meta.ts +6 -0
  84. package/src/extensions/registries/builtins/server-card-footer-actions.ts +6 -0
  85. package/src/extensions/registries/builtins/server-detail-after-content.ts +6 -0
  86. package/src/extensions/registries/builtins/server-detail-before-content.ts +6 -0
  87. package/src/extensions/registries/builtins/server-detail-header-actions.ts +6 -0
  88. package/src/extensions/registries/builtins/settings-after-sections.ts +6 -0
  89. package/src/extensions/registries/builtins/settings-before-sections.ts +6 -0
  90. package/src/extensions/registries/builtins/settings-section-widgets.ts +6 -0
  91. package/src/extensions/registries/builtins/shaderpack-manage-actions.ts +7 -0
  92. package/src/extensions/registries/builtins/shell.ts +5 -0
  93. package/src/extensions/registries/builtins/sidebar-after-content.ts +6 -0
  94. package/src/extensions/registries/builtins/sidebar-before-content.ts +6 -0
  95. package/src/extensions/registries/builtins/sidebar-footer-widgets.ts +6 -0
  96. package/src/extensions/registries/builtins/sidebar-header-widgets.ts +6 -0
  97. package/src/extensions/registries/builtins/sidebar.ts +11 -0
  98. package/src/extensions/registries/builtins/theme.ts +5 -0
  99. package/src/extensions/registries/builtins/user-card-after-meta.ts +6 -0
  100. package/src/extensions/registries/builtins/user-card-before-meta.ts +6 -0
  101. package/src/extensions/registries/builtins/user-menu-actions.ts +6 -0
  102. package/src/extensions/registries/builtins/user-menu-after-actions.ts +6 -0
  103. package/src/extensions/registries/builtins/user-menu-before-actions.ts +6 -0
  104. package/src/extensions/registries/builtins/user-strip.ts +5 -0
  105. package/src/extensions/registries/clear-extension-ui-registries.ts +15 -0
  106. package/src/extensions/registries/define-extension-registry.ts +58 -0
  107. package/src/extensions/registries/extension-host-api.ts +41 -0
  108. package/src/extensions/registries/extension-registry-api.ts +103 -0
  109. package/src/extensions/registries/extension-registry-payload-map.ts +9 -0
  110. package/src/extensions/registries/extension-scope.ts +41 -0
  111. package/src/extensions/registries/get-registry.ts +23 -0
  112. package/src/extensions/registries/index.ts +58 -0
  113. package/src/extensions/registries/manifest-rynt.ts +193 -0
  114. package/src/extensions/registries/registry-slot.ts +40 -0
  115. package/src/extensions/registries/registry-value-map.ts +89 -0
  116. package/src/extensions/registries/store.ts +206 -0
  117. package/src/extensions/resolve-extensions.ts +245 -0
  118. package/src/extensions/router-bridge.ts +103 -0
  119. package/src/extensions/session.ts +6 -0
  120. package/src/extensions/slug.ts +23 -0
  121. package/src/extensions/version.ts +147 -0
  122. package/src/host/extensions-composables.ts +33 -0
  123. package/src/host/extensions-init.ts +194 -0
  124. package/src/host/index.ts +11 -0
  125. package/src/host/launcher-models/index.ts +4 -0
  126. package/src/index.ts +229 -0
  127. package/src/minecraft-loader/base-loader.ts +102 -0
  128. package/src/minecraft-loader/index.ts +11 -0
  129. package/src/minecraft-loader/loader-registry.ts +72 -0
  130. package/src/shared/api/assets.ts +112 -0
  131. package/src/shared/api/auth.ts +283 -0
  132. package/src/shared/api/builds.ts +647 -0
  133. package/src/shared/api/config.ts +19 -0
  134. package/src/shared/api/download-stats.ts +103 -0
  135. package/src/shared/api/downloads.ts +36 -0
  136. package/src/shared/api/entity-authorship.ts +60 -0
  137. package/src/shared/api/events.ts +393 -0
  138. package/src/shared/api/friends.ts +140 -0
  139. package/src/shared/api/graphql.ts +87 -0
  140. package/src/shared/api/index.ts +23 -0
  141. package/src/shared/api/invites.ts +262 -0
  142. package/src/shared/api/library.ts +44 -0
  143. package/src/shared/api/maps.ts +385 -0
  144. package/src/shared/api/notify-websocket.ts +140 -0
  145. package/src/shared/api/posts.ts +357 -0
  146. package/src/shared/api/projectServers.ts +379 -0
  147. package/src/shared/api/serverMembers.ts +173 -0
  148. package/src/shared/api/users.ts +294 -0
  149. package/src/shared/composables/buildEditor/useBuildEditor.ts +66 -0
  150. package/src/shared/composables/buildManifest/buildManifest.ts +447 -0
  151. package/src/shared/composables/filesEditor/filesEditor.ts +346 -0
  152. package/src/shared/composables/index.ts +10 -0
  153. package/src/shared/composables/modsEditor/modsEditor.ts +1678 -0
  154. package/src/shared/composables/registrySlot/registry-slot-utils.ts +25 -0
  155. package/src/shared/composables/registrySlot/useRegistrySlotMissing.ts +35 -0
  156. package/src/shared/composables/resourcePacksEditor/resourcePacksEditor.ts +448 -0
  157. package/src/shared/composables/shaderPacksEditor/shaderPacksEditor.ts +395 -0
  158. package/src/shared/composables/useSkinRender.ts +70 -0
  159. package/src/shared/composables/useZlDeepLink.ts +178 -0
  160. package/src/shared/definitions/defineGraphCache.ts +216 -0
  161. package/src/shared/definitions/defineStore.ts +32 -0
  162. package/src/shared/definitions/index.ts +2 -0
  163. package/src/shared/minecraft-types/build-manifest.ts +611 -0
  164. package/src/shared/minecraft-types/index.ts +3 -0
  165. package/src/shared/minecraft-types/launcher-versions.ts +32 -0
  166. package/src/shared/minecraft-types/minecraft-launcher-types.ts +276 -0
  167. package/src/shared/mocks/index.ts +1 -0
  168. package/src/shared/mocks/navigation.ts +17 -0
  169. package/src/shared/mods/http.ts +45 -0
  170. package/src/shared/mods/index.ts +5 -0
  171. package/src/shared/mods/marketplace-editor-search.ts +266 -0
  172. package/src/shared/mods/marketplace-search-utils.ts +42 -0
  173. package/src/shared/mods/mod-marketplace-registry.ts +66 -0
  174. package/src/shared/mods/mod-marketplace-types.ts +28 -0
  175. package/src/shared/mods/providers/curseforge.ts +464 -0
  176. package/src/shared/mods/providers/index.ts +8 -0
  177. package/src/shared/mods/providers/modrinth.ts +402 -0
  178. package/src/shared/mods/resolve-mods-provider-loader-ids.ts +77 -0
  179. package/src/shared/mods/types.ts +76 -0
  180. package/src/shared/styles/index.css +713 -0
  181. package/src/shared/themes/index.ts +23 -0
  182. package/src/shared/themes/theme-tokens-black.json +126 -0
  183. package/src/shared/themes/theme-tokens-classic.json +126 -0
  184. package/src/shared/themes/theme-tokens-pink.json +126 -0
  185. package/src/shared/themes/theme-tokens.json +126 -0
  186. package/src/shared/themes/types.ts +85 -0
  187. package/src/shared/types/API_DOCUMENTATION.md +422 -0
  188. package/src/shared/types/account.ts +40 -0
  189. package/src/shared/types/build.ts +8 -0
  190. package/src/shared/types/entities.ts +181 -0
  191. package/src/shared/types/index.ts +6 -0
  192. package/src/shared/types/invite-payloads.ts +60 -0
  193. package/src/shared/types/navigation.ts +16 -0
  194. package/src/shared/types/running-build.ts +51 -0
  195. package/src/shared/types/serverMember.ts +17 -0
  196. package/src/shared/types/user.ts +55 -0
  197. package/src/shared/ui/base/Avatar.vue +262 -0
  198. package/src/shared/ui/base/Badge.vue +47 -0
  199. package/src/shared/ui/base/Button.vue +78 -0
  200. package/src/shared/ui/base/Divider.vue +42 -0
  201. package/src/shared/ui/base/Icon.vue +597 -0
  202. package/src/shared/ui/base/StatusIndicator.vue +44 -0
  203. package/src/shared/ui/base/index.ts +7 -0
  204. package/src/shared/ui/cards/InviteCard.vue +47 -0
  205. package/src/shared/ui/cards/index.ts +2 -0
  206. package/src/shared/ui/dialog/Dialog.vue +71 -0
  207. package/src/shared/ui/dialog/DialogContent.vue +31 -0
  208. package/src/shared/ui/dialog/DialogFooter.vue +14 -0
  209. package/src/shared/ui/dialog/DialogHeader.vue +41 -0
  210. package/src/shared/ui/dialog/index.ts +5 -0
  211. package/src/shared/ui/editors/AttachmentImagesEditor.vue +133 -0
  212. package/src/shared/ui/editors/ContentAttachmentsDisplay.vue +76 -0
  213. package/src/shared/ui/editors/MarkdownEditor.vue +956 -0
  214. package/src/shared/ui/editors/MarkdownRenderer.vue +299 -0
  215. package/src/shared/ui/editors/RichContentImageViewer.vue +85 -0
  216. package/src/shared/ui/editors/SocialPostMediaZone.vue +320 -0
  217. package/src/shared/ui/editors/index.ts +6 -0
  218. package/src/shared/ui/editors/markdown-editor-gallery.ts +234 -0
  219. package/src/shared/ui/editors/markdown-editor-image.ts +178 -0
  220. package/src/shared/ui/form/Checkbox.vue +38 -0
  221. package/src/shared/ui/form/FormField.vue +30 -0
  222. package/src/shared/ui/form/FormGrid.vue +38 -0
  223. package/src/shared/ui/form/ImageEditor.vue +598 -0
  224. package/src/shared/ui/form/Input.vue +72 -0
  225. package/src/shared/ui/form/Range.vue +65 -0
  226. package/src/shared/ui/form/Select.vue +76 -0
  227. package/src/shared/ui/form/Switch.vue +38 -0
  228. package/src/shared/ui/form/Textarea.vue +144 -0
  229. package/src/shared/ui/form/index.ts +9 -0
  230. package/src/shared/ui/index.ts +9 -0
  231. package/src/shared/ui/layout/BusyOverlay.vue +31 -0
  232. package/src/shared/ui/layout/Callout.vue +44 -0
  233. package/src/shared/ui/layout/Card.vue +38 -0
  234. package/src/shared/ui/layout/Container.vue +36 -0
  235. package/src/shared/ui/layout/EmptyState.vue +99 -0
  236. package/src/shared/ui/layout/EntityMediaRow.vue +54 -0
  237. package/src/shared/ui/layout/FilterResultsLayout.vue +22 -0
  238. package/src/shared/ui/layout/FloatingPanel.vue +37 -0
  239. package/src/shared/ui/layout/FullscreenDimmer.vue +11 -0
  240. package/src/shared/ui/layout/Grid.vue +40 -0
  241. package/src/shared/ui/layout/Inline.vue +59 -0
  242. package/src/shared/ui/layout/LoadingState.vue +39 -0
  243. package/src/shared/ui/layout/MediaBox.vue +47 -0
  244. package/src/shared/ui/layout/OverlayPanel.vue +28 -0
  245. package/src/shared/ui/layout/OverlayWaitPanel.vue +22 -0
  246. package/src/shared/ui/layout/PageSection.vue +43 -0
  247. package/src/shared/ui/layout/PageToolbar.vue +29 -0
  248. package/src/shared/ui/layout/Panel.vue +39 -0
  249. package/src/shared/ui/layout/ProgressBar.vue +49 -0
  250. package/src/shared/ui/layout/Section.vue +30 -0
  251. package/src/shared/ui/layout/SegmentedControl.vue +43 -0
  252. package/src/shared/ui/layout/SelectableCard.vue +46 -0
  253. package/src/shared/ui/layout/SelectableRow.vue +41 -0
  254. package/src/shared/ui/layout/Skeleton.vue +25 -0
  255. package/src/shared/ui/layout/SkeletonAvatar.vue +30 -0
  256. package/src/shared/ui/layout/SkeletonEntityCard.vue +20 -0
  257. package/src/shared/ui/layout/SkeletonFeedPost.vue +22 -0
  258. package/src/shared/ui/layout/SkeletonGrid.vue +18 -0
  259. package/src/shared/ui/layout/SkeletonListRow.vue +31 -0
  260. package/src/shared/ui/layout/SkeletonText.vue +25 -0
  261. package/src/shared/ui/layout/Stack.vue +42 -0
  262. package/src/shared/ui/layout/StateBlock.vue +44 -0
  263. package/src/shared/ui/layout/TwoPaneLayout.vue +35 -0
  264. package/src/shared/ui/layout/VirtualList.vue +160 -0
  265. package/src/shared/ui/layout/index.ts +35 -0
  266. package/src/shared/ui/layout/skeletonSurfaceStyles.ts +24 -0
  267. package/src/shared/ui/navigation/NavItem.vue +139 -0
  268. package/src/shared/ui/navigation/Tab.vue +61 -0
  269. package/src/shared/ui/navigation/Tabs.vue +37 -0
  270. package/src/shared/ui/navigation/index.ts +4 -0
  271. package/src/shared/ui/primitives/Action.vue +19 -0
  272. package/src/shared/ui/primitives/Block.vue +28 -0
  273. package/src/shared/ui/primitives/CanvasView.vue +19 -0
  274. package/src/shared/ui/primitives/Control.vue +24 -0
  275. package/src/shared/ui/primitives/ControlSelect.vue +19 -0
  276. package/src/shared/ui/primitives/ControlTextarea.vue +17 -0
  277. package/src/shared/ui/primitives/FieldLabel.vue +19 -0
  278. package/src/shared/ui/primitives/Form.vue +19 -0
  279. package/src/shared/ui/primitives/Heading.vue +29 -0
  280. package/src/shared/ui/primitives/Image.vue +17 -0
  281. package/src/shared/ui/primitives/LineBreak.vue +3 -0
  282. package/src/shared/ui/primitives/Link.vue +19 -0
  283. package/src/shared/ui/primitives/List.vue +28 -0
  284. package/src/shared/ui/primitives/ListItem.vue +19 -0
  285. package/src/shared/ui/primitives/OptionItem.vue +19 -0
  286. package/src/shared/ui/primitives/Text.vue +28 -0
  287. package/src/shared/ui/primitives/VideoView.vue +19 -0
  288. package/src/shared/ui/primitives/index.ts +19 -0
  289. package/src/shared/ui/primitives/resolveElement.ts +25 -0
  290. package/src/shared/ui/special/AngularAccent.vue +106 -0
  291. package/src/shared/ui/special/ExtensionRegistrySlotButton.vue +143 -0
  292. package/src/shared/ui/special/InfoRow.vue +39 -0
  293. package/src/shared/ui/special/LogViewer.vue +53 -0
  294. package/src/shared/ui/special/PageHeader.vue +23 -0
  295. package/src/shared/ui/special/RegistrySlotMissingCallout.vue +48 -0
  296. package/src/shared/ui/special/WelcomeCard.vue +32 -0
  297. package/src/shared/ui/special/index.ts +9 -0
  298. package/src/shared/utils/app-paths.ts +50 -0
  299. package/src/shared/utils/attachments.ts +16 -0
  300. package/src/shared/utils/autostart.ts +213 -0
  301. package/src/shared/utils/build-files.ts +439 -0
  302. package/src/shared/utils/build-manifest-init.ts +176 -0
  303. package/src/shared/utils/cloudinary.ts +67 -0
  304. package/src/shared/utils/cn.ts +7 -0
  305. package/src/shared/utils/download-stats-week.ts +165 -0
  306. package/src/shared/utils/entity-api-to-cache.ts +84 -0
  307. package/src/shared/utils/entity-build-from-api.ts +1 -0
  308. package/src/shared/utils/entity-display.ts +27 -0
  309. package/src/shared/utils/entity-map-from-api.ts +1 -0
  310. package/src/shared/utils/file-hash.ts +65 -0
  311. package/src/shared/utils/formatSize.ts +5 -0
  312. package/src/shared/utils/formatTime.ts +157 -0
  313. package/src/shared/utils/getAccountSkinRender.ts +32 -0
  314. package/src/shared/utils/index.ts +34 -0
  315. package/src/shared/utils/local-mods.ts +678 -0
  316. package/src/shared/utils/local-settings.ts +217 -0
  317. package/src/shared/utils/member-join-stats.ts +35 -0
  318. package/src/shared/utils/platform.ts +86 -0
  319. package/src/shared/utils/play-host-slug.ts +92 -0
  320. package/src/shared/utils/rich-content.ts +294 -0
  321. package/src/shared/utils/safeRequest.ts +23 -0
  322. package/src/shared/utils/semver.ts +81 -0
  323. package/src/shared/utils/serverPermissions.ts +155 -0
  324. package/src/shared/utils/skin-render-cache.ts +372 -0
  325. package/src/shared/utils/stripMarkdown.ts +45 -0
  326. package/src/shared/utils/transliterate.ts +74 -0
  327. package/src/shared/utils/updateAccountSkinRender.ts +64 -0
  328. package/src/shared/utils/updater.ts +218 -0
  329. package/src/shared/utils/uploadImage.ts +195 -0
  330. package/src/shared/utils/user-status.ts +9 -0
  331. package/src/tiptap/index.ts +7 -0
  332. package/tsconfig.json +13 -0
@@ -0,0 +1,597 @@
1
+ <template>
2
+ <component :is="iconComponent" />
3
+ </template>
4
+
5
+ <script setup lang="ts">
6
+ import { computed, h } from 'vue';
7
+ import { cn } from '../../utils/cn';
8
+
9
+ const iconPaths = {
10
+ rynt: {
11
+ viewBox: '0 0 1115 1052',
12
+ fill: 'currentColor',
13
+ paths: [
14
+ {
15
+ d: 'M705.691 965.476L557.418 1051.08L409.161 965.476V794.265L557.418 879.87L705.691 794.265V965.476Z',
16
+ },
17
+ {
18
+ d: 'M910.82 203.394V373.317L704.576 492.393V730.543L557.433 815.501L557.434 815.511L557.425 815.506L557.417 815.511V815.501L410.276 730.544V492.394L204.031 373.317L204.015 203.395L351.173 118.433L557.418 237.507L763.663 118.433L910.82 203.394Z',
19
+ },
20
+ {
21
+ d: 'M354.305 524.575V697.073L206.032 611.468V438.97L354.305 524.575Z',
22
+ },
23
+ {
24
+ d: 'M909.821 609.469L760.434 695.718V524.507L909.821 438.257V609.469Z',
25
+ },
26
+ {
27
+ d: 'M296.546 85.6064L148.273 171.212L148.289 342.422L0.015625 256.816L0 85.6064L148.273 0.000976562L296.546 85.6064Z',
28
+ },
29
+ {
30
+ d: 'M1114.84 85.6055L1114.83 256.816L966.562 342.422V171.211L818.289 85.6055L966.562 0L1114.84 85.6055Z',
31
+ },
32
+ {
33
+ d: 'M705.807 87.6055L557.533 173.211L408.146 86.9619L556.419 1.35645L705.807 87.6055Z',
34
+ },
35
+ ],
36
+ },
37
+ home: {
38
+ d: 'M3 12l2-2m0 0l7-7 7 7M5 10v10a1 1 0 001 1h3m10-11l2 2m-2-2v10a1 1 0 01-1 1h-3m-6 0a1 1 0 001-1v-4a1 1 0 011-1h2a1 1 0 011 1v4a1 1 0 001 1m-6 0h6',
39
+ },
40
+ server: {
41
+ d: 'M5 12h14M5 12a2 2 0 01-2-2V6a2 2 0 012-2h14a2 2 0 012 2v4a2 2 0 01-2 2M5 12a2 2 0 00-2 2v4a2 2 0 002 2h14a2 2 0 002-2v-4a2 2 0 00-2-2m-2-4h.01M17 16h.01',
42
+ },
43
+ box: {
44
+ d: 'M20 7l-8-4-8 4m16 0l-8 4m8-4v10l-8 4m0-10L4 7m8 4v10M4 7v10l8 4',
45
+ },
46
+ message: {
47
+ d: 'M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z',
48
+ },
49
+ 'message-circle': {
50
+ paths: [
51
+ {
52
+ d: 'M21 11.5a8.38 8.38 0 01-.9 3.8 8.5 8.5 0 01-7.6 4.7 8.38 8.38 0 01-3.8-.9L3 21l1.9-5.7a8.38 8.38 0 01-.9-3.8 8.5 8.5 0 014.7-7.6 8.38 8.38 0 013.8-.9h.5a8.48 8.48 0 018 8v.5z',
53
+ },
54
+ ],
55
+ },
56
+ users: {
57
+ d: 'M12 4.354a4 4 0 110 5.292M15 21H3v-1a6 6 0 0112 0v1zm0 0h6v-1a6 6 0 00-9-5.197M13 7a4 4 0 11-8 0 4 4 0 018 0z',
58
+ },
59
+ settings: {
60
+ paths: [
61
+ {
62
+ d: 'M10.325 4.317c.426-1.756 2.924-1.756 3.35 0a1.724 1.724 0 002.573 1.066c1.543-.94 3.31.826 2.37 2.37a1.724 1.724 0 001.065 2.572c1.756.426 1.756 2.924 0 3.35a1.724 1.724 0 00-1.066 2.573c.94 1.543-.826 3.31-2.37 2.37a1.724 1.724 0 00-2.572 1.065c-.426 1.756-2.924 1.756-3.35 0a1.724 1.724 0 00-2.573-1.066c-1.543.94-3.31-.826-2.37-2.37a1.724 1.724 0 00-1.065-2.572c-1.756-.426-1.756-2.924 0-3.35a1.724 1.724 0 001.066-2.573c-.94-1.543.826-3.31 2.37-2.37.996.608 2.296.07 2.572-1.065z',
63
+ },
64
+ {
65
+ d: 'M15 12a3 3 0 11-6 0 3 3 0 016 0z',
66
+ },
67
+ ],
68
+ },
69
+ play: {
70
+ paths: [
71
+ {
72
+ d: 'M14.752 11.168l-3.197-2.132A1 1 0 0010 9.87v4.263a1 1 0 001.555.832l3.197-2.132a1 1 0 000-1.664z',
73
+ },
74
+ {
75
+ d: 'M21 12a9 9 0 11-18 0 9 9 0 0118 0z',
76
+ },
77
+ ],
78
+ },
79
+ close: {
80
+ d: 'M6 18L18 6M6 6l12 12',
81
+ },
82
+ x: {
83
+ d: 'M6 18L18 6M6 6l12 12',
84
+ },
85
+ check: {
86
+ d: 'M5 13l4 4L19 7',
87
+ },
88
+ support: {
89
+ viewBox: '0 0 377 377',
90
+ fill: 'currentColor',
91
+ d: 'M141.41,147.539c-6.6,0-12.755,3.555-16.065,9.277c-2.489,4.303-7.994,5.773-12.297,3.285s-5.773-7.994-3.285-12.297 c6.516-11.267,18.643-18.266,31.647-18.266c13.003,0,25.13,6.999,31.647,18.265c2.489,4.303,1.019,9.809-3.284,12.297 c-1.418,0.821-2.969,1.211-4.498,1.212c-3.108,0-6.131-1.611-7.799-4.495C154.166,151.093,148.009,147.539,141.41,147.539z M188.75,242.974c-6.6,0-12.756-3.555-16.066-9.277c-2.489-4.303-7.995-5.774-12.297-3.285c-4.303,2.488-5.773,7.994-3.285,12.297 c6.516,11.267,18.643,18.266,31.648,18.266c13.003,0,25.13-6.999,31.647-18.265c2.489-4.303,1.019-9.809-3.284-12.297 c-4.302-2.489-9.808-1.019-12.297,3.283C201.506,239.419,195.35,242.974,188.75,242.974z M377,155.254v41.042 c0,15.308-12.045,28.204-27.353,28.204h-16.622c-5.459,17-14.122,33.459-25.788,48.17c-19.169,24.173-45.547,41.731-74.881,50.584 c-1.319,14.808-13.791,26.247-28.931,26.247h-29.349c-16.017,0-29.048-12.982-29.048-28.999c0-16.021,13.031-29.001,29.048-29.001 h29.349c10.542,0,19.79,5.802,24.881,14.228c55.474-17.164,93.58-68.237,93.58-127.003c0-57.195-36.252-106.083-86.987-124.889 c-13.186,16.208-29.765,29.692-48.292,39.227c-21.189,10.903-45.068,16.667-69.054,16.667c-2.783,0-5.617-0.078-8.422-0.232 c-4.963-0.271-8.767-4.515-8.495-9.478s4.5-8.797,9.478-8.496c2.48,0.136,4.983,0.203,7.44,0.203 c38.001,0,73.151-15.651,98.335-43.363c-8.427-1.752-17.139-2.711-26.062-2.782c-0.052-0.005-0.139-0.012-0.211-0.012 c-0.032,0.002-0.07-0.023-0.103-0.023c-0.069-0.002-0.148-0.046-0.217-0.046c-0.034,0-0.065,0-0.1,0c-0.068,0-0.148,0-0.22,0 c-0.034,0-0.063,0-0.101,0c-0.042,0-0.084,0-0.125,0C115.338,45.5,56,105.314,56,178.725v36.332c0,4.971-4.416,9.443-9.386,9.443 H27.853C12.545,224.5,0,211.604,0,196.296v-41.042c0-12.095,7.786-22.718,19.323-26.432c4.732-1.527,9.837,1.076,11.36,5.809 c1.523,4.73-1.1,9.802-5.832,11.325c-4.007,1.29-6.852,5.113-6.852,9.298v41.042c0,5.382,4.47,10.204,9.853,10.204H38v-27.775 C38,95.388,105.413,27.5,188.75,27.5c0.047,0,0.097,0,0.143,0c0.037,0,0.076,0,0.114,0c0.036,0,0.074,0,0.11,0h0.001 c0.045,0,0.096,0,0.142,0c0.037,0,0.078,0,0.112,0c0.036,0,0.073,0,0.109,0h0.008c0.048,0,0.091,0,0.139,0c0.04,0,0.075,0,0.114,0 c0.038,0,0.083,0,0.122,0c0.045,0,0.086,0,0.131,0c0.039,0,0.072,0,0.111,0c0.049,0,0.086,0,0.131,0c0.041,0,0.083,0,0.126,0 c0.035,0,0.075,0,0.111,0c0.05,0,0.091,0,0.142,0c0.036,0,0.082,0,0.116,0c0.034,0,0.074-0.002,0.108,0c0.046,0,0.099,0,0.146,0 c0.039,0,0.073,0,0.112,0c0.033,0,0.076,0.056,0.107,0.055c0.047,0.002,0.094,0.054,0.143,0.056c0.036-0.001,0.08-0.001,0.114,0.002 c0.032,0,0.076-0.001,0.108,0.002c0.047-0.001,0.098,0.002,0.147,0.002c0.038,0.002,0.071,0.001,0.11,0.003 c0.031,0,0.076,0.001,0.108,0.002c0.045,0.001,0.106,0.004,0.153,0.003c0.037,0.002,0.071,0.002,0.106,0.003 c0.036,0,0.071,0.002,0.106,0.002c0.046,0.003,0.103,0.002,0.149,0.004c0.036-0.001,0.071,0.002,0.108,0.002 c0.036,0.003,0.071,0.003,0.107,0.003c0.047,0.002,0.098,0.002,0.146,0.004c0.037,0.002,0.07,0.002,0.108,0.003 c0.035,0.002,0.074,0.002,0.107,0.002c0.047,0.003,0.084,0.001,0.131,0.003c0.039,0.002,0.079,0,0.119,0 c0.038,0.002,0.07-0.004,0.11-0.002c0.04,0.001,0.077-0.015,0.117-0.007c0.043,0.002,0.087-0.023,0.131-0.018 c0.039,0.001,0.069-0.041,0.11-0.042c0.076,0.003,0.153-0.081,0.229-0.081h0.012c0.036,0,0.074,0,0.11,0h0.006 c13.752,1,27.309,2.961,40.374,7.104c0.183,0.058,0.363,0.268,0.54,0.337c60.779,19.586,104.871,76.798,104.871,144.005 c0,9.278-0.819,18.554-2.434,27.554h12.195c5.382,0,9.353-4.822,9.353-10.204v-41.042c0-4.185-2.646-8.008-6.653-9.298 c-4.731-1.523-7.179-6.594-5.656-11.325s6.492-7.33,11.223-5.81C369.452,132.537,377,143.159,377,155.254z M214.472,320.619 c0-0.745-0.074-1.305-0.215-2.009c-0.02-0.086-0.038-0.251-0.055-0.337c-1.111-4.928-5.521-8.772-10.776-8.772h-29.349 c-6.092,0-11.048,4.907-11.048,10.998c0,6.096,4.956,11.002,11.048,11.002h29.349C209.516,331.5,214.472,326.711,214.472,320.619z M207.727,160.1c4.302,2.49,9.808,1.019,12.297-3.283c3.311-5.724,9.467-9.278,16.066-9.278s12.756,3.555,16.066,9.278 c1.668,2.884,4.691,4.495,7.799,4.495c1.529-0.001,3.08-0.391,4.498-1.212c4.303-2.488,5.773-7.994,3.284-12.297 c-6.517-11.266-18.644-18.265-31.647-18.265c-13.003,0-25.13,6.999-31.647,18.265C201.954,152.106,203.424,157.612,207.727,160.1z',
92
+ },
93
+ 'check-circle': {
94
+ paths: [
95
+ {
96
+ d: 'M9 12l2 2 4-4',
97
+ },
98
+ {
99
+ d: 'M21 12a9 9 0 11-18 0 9 9 0 0118 0z',
100
+ },
101
+ ],
102
+ },
103
+ clock: {
104
+ d: 'M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z',
105
+ },
106
+ activity: {
107
+ d: 'M13 10V3L4 14h7v7l9-11h-7z',
108
+ },
109
+ user: {
110
+ d: 'M16 7a4 4 0 11-8 0 4 4 0 018 0zM12 14a7 7 0 00-7 7h14a7 7 0 00-7-7z',
111
+ },
112
+ plus: {
113
+ d: 'M12 4v16m8-8H4',
114
+ },
115
+ 'arrow-left': {
116
+ d: 'M15 19l-7-7 7-7',
117
+ },
118
+ 'arrow-right': {
119
+ d: 'M9 5l7 7-7 7',
120
+ },
121
+ 'arrow-top': {
122
+ paths: [{ d: 'M12 19V5' }, { d: 'M5 12l7-7 7 7' }],
123
+ },
124
+ trash: {
125
+ d: 'M19 7l-.867 12.142A2 2 0 0116.138 21H7.862a2 2 0 01-1.995-1.858L5 7m5 4v6m4-6v6m1-10V4a1 1 0 00-1-1h-4a1 1 0 00-1 1v3M4 7h16',
126
+ },
127
+ search: {
128
+ d: 'M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z',
129
+ },
130
+ download: {
131
+ d: 'M4 16v1a3 3 0 003 3h10a3 3 0 003-3v-1m-4-4l-4 4m0 0l-4-4m4 4V4',
132
+ },
133
+ eye: {
134
+ paths: [
135
+ {
136
+ d: 'M15 12a3 3 0 11-6 0 3 3 0 016 0z',
137
+ },
138
+ {
139
+ d: 'M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z',
140
+ },
141
+ ],
142
+ },
143
+ 'eye-off': {
144
+ d: 'M13.875 18.825A10.05 10.05 0 0112 19c-4.478 0-8.268-2.943-9.543-7a9.97 9.97 0 011.563-3.029m5.858.908a3 3 0 114.243 4.243M9.878 9.88l-3.29-3.29m7.532 7.532l3.29 3.29M3 3l3.59 3.59m0 0A9.953 9.953 0 0112 5c4.478 0 8.268 2.943 9.543 7a10.025 10.025 0 01-4.132 5.411m0 0L21 21',
145
+ },
146
+ calendar: {
147
+ d: 'M8 7V3m8 4V3m-9 8h10M5 21h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v12a2 2 0 002 2z',
148
+ },
149
+ 'edit-2': {
150
+ paths: [
151
+ {
152
+ d: 'M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z',
153
+ },
154
+ ],
155
+ },
156
+ lock: {
157
+ paths: [
158
+ {
159
+ d: 'M12 15v2m-6 4h12a2 2 0 002-2v-6a2 2 0 00-2-2H6a2 2 0 00-2 2v6a2 2 0 002 2zm10-10V7a4 4 0 00-8 0v4h8z',
160
+ },
161
+ ],
162
+ },
163
+ 'refresh-cw': {
164
+ d: 'M4 4v5h.582m15.356 2A8.001 8.001 0 004.582 9m0 0H9m11 11v-5h-.581m0 0a8.003 8.003 0 01-15.357-2m15.357 2H15',
165
+ },
166
+ 'check-square': {
167
+ paths: [
168
+ {
169
+ d: 'M9 12l2 2 4-4m6 2a9 9 0 11-18 0 9 9 0 0118 0z',
170
+ },
171
+ ],
172
+ },
173
+ 'file-text': {
174
+ paths: [
175
+ {
176
+ d: 'M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z',
177
+ },
178
+ ],
179
+ },
180
+ upload: {
181
+ paths: [
182
+ {
183
+ d: 'M7 16a4 4 0 01-.88-7.903A5 5 0 1115.9 6L16 6a5 5 0 011 9.9M15 13l-3-3m0 0l-3 3m3-3v12',
184
+ },
185
+ ],
186
+ },
187
+ package: {
188
+ d: 'M20 7l-8-4-8 4m16 0l-8 4m8-4v10l-8 4m0-10L4 7m8 4v10M4 7v10l8 4',
189
+ },
190
+ folder: {
191
+ d: 'M3 7v10a2 2 0 002 2h14a2 2 0 002-2V9a2 2 0 00-2-2h-6l-2-2H5a2 2 0 00-2 2z',
192
+ },
193
+ 'log-in': {
194
+ d: 'M11 16l-4-4m0 0l4-4m-4 4h14m-5 4v1a3 3 0 01-3 3H6a3 3 0 01-3-3V7a3 3 0 013-3h7a3 3 0 013 3v1',
195
+ },
196
+ 'user-plus': {
197
+ d: 'M18 9v3m0 0v3m0-3h3m-3 0h-3m-2-5a4 4 0 11-8 0 4 4 0 018 0zM3 20a6 6 0 0112 0v1H3v-1z',
198
+ },
199
+ 'user-minus': {
200
+ d: 'M13 7a4 4 0 11-8 0 4 4 0 018 0zM16 11H6m5 14a6 6 0 01-6-6v-1a6 6 0 0112 0v1a6 6 0 01-6 6z',
201
+ },
202
+ 'more-vertical': {
203
+ paths: [
204
+ {
205
+ d: 'M12 8a1.5 1.5 0 100-3 1.5 1.5 0 000 3z',
206
+ },
207
+ {
208
+ d: 'M12 13.5a1.5 1.5 0 100-3 1.5 1.5 0 000 3z',
209
+ },
210
+ {
211
+ d: 'M12 19a1.5 1.5 0 100-3 1.5 1.5 0 000 3z',
212
+ },
213
+ ],
214
+ },
215
+ mail: {
216
+ d: 'M3 8l7.89 5.26a2 2 0 002.22 0L21 8M5 19h14a2 2 0 002-2V7a2 2 0 00-2-2H5a2 2 0 00-2 2v10a2 2 0 002 2z',
217
+ },
218
+ globe: {
219
+ d: 'M3.055 11H5a2 2 0 012 2v1a2 2 0 002 2 2 2 0 012 2v2.945M8 3.935V5.5A2.5 2.5 0 0010.5 8h.5a2 2 0 012 2 2 2 0 104 0 2 2 0 012-2h1.064M15 20.488V18a2 2 0 012-2h3.064M21 12a9 9 0 11-18 0 9 9 0 0118 0z',
220
+ },
221
+ /** Сигнал / стрим (шаринг локальной игры). */
222
+ stream: {
223
+ viewBox: '0 0 76 76',
224
+ paths: [
225
+ {
226
+ 'fill-rule': 'evenodd',
227
+ d: 'M38 31.667c3.498 0 6.333 2.835 6.333 6.333S41.498 44.333 38 44.333 31.667 41.498 31.667 38 34.502 31.667 38 31.667zm-11.083 6.333c0 3.061 1.24 5.831 3.246 7.837l-3.359 3.359a11.083 11.083 0 010-15.674l3.359 3.359a8.25 8.25 0 00-3.246 7.837zm22.167 0c0-3.061-1.24-5.831-3.246-7.837l3.359-3.358a11.083 11.083 0 010 15.674l-3.359-3.359a8.25 8.25 0 003.246-7.837zm-31.667 0c0 5.684 2.304 10.83 6.029 14.555l-3.359 3.358A14.417 14.417 0 0112.667 38c0-6.996 2.835-13.329 7.42-17.913l3.358 3.358A12.917 12.917 0 0017.417 38zm41.167 0c0-5.684-2.304-10.83-6.029-14.555l3.359-3.359A14.417 14.417 0 0163.333 38c0 6.996-2.835 13.329-7.42 17.913l-3.358-3.358A12.917 12.917 0 0058.583 38z',
228
+ },
229
+ ],
230
+ },
231
+ github: {
232
+ paths: [
233
+ {
234
+ d: 'M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z',
235
+ },
236
+ ],
237
+ },
238
+ 'chevron-down': {
239
+ d: 'M19 9l-7 7-7-7',
240
+ },
241
+ 'chevron-left': {
242
+ d: 'M15 19l-7-7 7-7',
243
+ },
244
+ 'chevron-right': {
245
+ d: 'M9 5l7 7-7 7',
246
+ },
247
+ file: {
248
+ d: 'M9 12h6m-6 4h6m2 5H7a2 2 0 01-2-2V5a2 2 0 012-2h5.586a1 1 0 01.707.293l5.414 5.414a1 1 0 01.293.707V19a2 2 0 01-2 2z',
249
+ },
250
+ 'alert-triangle': {
251
+ paths: [
252
+ {
253
+ d: 'M10.29 3.86L1.82 18a2 2 0 001.71 3h16.94a2 2 0 001.71-3L13.71 3.86a2 2 0 00-3.42 0z',
254
+ },
255
+ {
256
+ d: 'M12 9v4',
257
+ },
258
+ {
259
+ d: 'M12 17h.01',
260
+ },
261
+ ],
262
+ },
263
+ 'alert-circle': {
264
+ paths: [
265
+ {
266
+ d: 'M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z',
267
+ },
268
+ ],
269
+ },
270
+ 'trash-2': {
271
+ paths: [
272
+ {
273
+ d: 'M3 6h18',
274
+ },
275
+ {
276
+ d: 'M19 6v14a2 2 0 01-2 2H7a2 2 0 01-2-2V6m3 0V4a2 2 0 012-2h4a2 2 0 012 2v2',
277
+ },
278
+ {
279
+ d: 'M10 11v6',
280
+ },
281
+ {
282
+ d: 'M14 11v6',
283
+ },
284
+ ],
285
+ },
286
+ star: {
287
+ paths: [
288
+ {
289
+ d: 'M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z',
290
+ },
291
+ ],
292
+ },
293
+ bold: {
294
+ d: 'M6 4h8a4 4 0 014 4 4 4 0 01-4 4H6zM6 12h9a4 4 0 014 4 4 4 0 01-4 4H6z',
295
+ },
296
+ italic: {
297
+ d: 'M10 4h6M14 4l-4 16M14 20h-6',
298
+ },
299
+ list: {
300
+ paths: [
301
+ { d: 'M8 6h13' },
302
+ { d: 'M8 12h13' },
303
+ { d: 'M8 18h13' },
304
+ { d: 'M3 6h.01' },
305
+ { d: 'M3 12h.01' },
306
+ { d: 'M3 18h.01' },
307
+ ],
308
+ },
309
+ grid: {
310
+ paths: [
311
+ {
312
+ d: 'M4 6a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2V6z',
313
+ },
314
+ {
315
+ d: 'M14 6a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2V6z',
316
+ },
317
+ {
318
+ d: 'M4 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2H6a2 2 0 01-2-2v-2z',
319
+ },
320
+ {
321
+ d: 'M14 16a2 2 0 012-2h2a2 2 0 012 2v2a2 2 0 01-2 2h-2a2 2 0 01-2-2v-2z',
322
+ },
323
+ ],
324
+ },
325
+ 'list-ordered': {
326
+ paths: [
327
+ { d: 'M8 6h13' },
328
+ { d: 'M8 12h13' },
329
+ { d: 'M8 18h13' },
330
+ { d: 'M3 4v2M3 10v2M3 16v2' },
331
+ { d: 'M5 4h1v4H5z' },
332
+ { d: 'M5 10h1v4H5z' },
333
+ { d: 'M5 16h1v4H5z' },
334
+ ],
335
+ },
336
+ link: {
337
+ paths: [
338
+ { d: 'M10 13a5 5 0 007.54.54l3-3a5 5 0 00-7.07-7.07l-1.72 1.71' },
339
+ { d: 'M14 11a5 5 0 00-7.54-.54l-3 3a5 5 0 007.07 7.07l1.71-1.71' },
340
+ ],
341
+ },
342
+ 'share-2': {
343
+ paths: [
344
+ { d: 'M18 8a3 3 0 100-6 3 3 0 000 6z' },
345
+ { d: 'M6 15a3 3 0 100-6 3 3 0 000 6z' },
346
+ { d: 'M18 22a3 3 0 100-6 3 3 0 000 6z' },
347
+ { d: 'M8.59 13.51l6.83 3.98' },
348
+ { d: 'M15.41 6.51l-6.82 3.98' },
349
+ ],
350
+ },
351
+ send: {
352
+ paths: [{ d: 'M22 2L11 13' }, { d: 'M22 2l-7 20-4-9-9-4 20-7z' }],
353
+ },
354
+ image: {
355
+ paths: [
356
+ {
357
+ d: 'M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z',
358
+ },
359
+ ],
360
+ },
361
+ edit: {
362
+ paths: [
363
+ {
364
+ d: 'M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z',
365
+ },
366
+ ],
367
+ },
368
+ book: {
369
+ d: 'M12 6.253v13m0-13C10.832 5.477 9.246 5 7.5 5S4.168 5.477 3 6.253v13C4.168 18.477 5.754 18 7.5 18s3.332.477 4.5 1.253m0-13C13.168 5.477 14.754 5 16.5 5c1.747 0 3.332.477 4.5 1.253v13C19.832 18.477 18.247 18 16.5 18c-1.746 0-3.332.477-4.5 1.253',
370
+ },
371
+ phone: {
372
+ d: 'M3 5a2 2 0 012-2h3.28a1 1 0 01.948.684l1.498 4.493a1 1 0 01-.502 1.21l-2.257 1.13a11.042 11.042 0 005.516 5.516l1.13-2.257a1 1 0 011.21-.502l4.493 1.498a1 1 0 01.684.949V19a2 2 0 01-2 2h-1C9.716 21 3 14.284 3 6V5z',
373
+ },
374
+ mic: {
375
+ paths: [
376
+ {
377
+ d: 'M12 1.5A4.5 4.5 0 0 0 7.5 6v6a4.5 4.5 0 1 0 9 0V6A4.5 4.5 0 0 0 12 1.5ZM15 12V6a3 3 0 1 0-6 0v6a3 3 0 1 0 6 0Z',
378
+ 'fill-rule': 'evenodd',
379
+ 'clip-rule': 'evenodd',
380
+ },
381
+ {
382
+ d: 'M11.25 19.463A7.501 7.501 0 0 1 4.5 12v-1.5a.75.75 0 0 1 1.5 0V12a6 6 0 0 0 12 0v-1.5a.75.75 0 0 1 1.5 0V12a7.501 7.501 0 0 1-6.75 7.463v2.287a.75.75 0 0 1-1.5 0v-2.287Z',
383
+ 'fill-rule': 'evenodd',
384
+ 'clip-rule': 'evenodd',
385
+ },
386
+ ],
387
+ },
388
+ 'mic-off': {
389
+ paths: [
390
+ {
391
+ d: 'M16.5 6.44V6a4.5 4.5 0 1 0-9 0v6c0 .972.308 1.872.832 2.607L7.26 15.68A5.974 5.974 0 0 1 6 12v-1.5a.75.75 0 0 0-1.5 0V12c0 1.801.635 3.454 1.693 4.747ZM15 7.94V6a3 3 0 1 0-6 0v6c0 .556.151 1.077.415 1.524L15 7.939Z',
392
+ 'fill-rule': 'evenodd',
393
+ 'clip-rule': 'evenodd',
394
+ },
395
+ {
396
+ d: 'M9.79 17.58A6 6 0 0 0 18 12v-1.5a.75.75 0 0 1 1.5 0V12a7.501 7.501 0 0 1-6.75 7.463v2.287a.75.75 0 0 1-1.5 0v-2.287a7.452 7.452 0 0 1-2.188-.56c-.465-.199-.541-.799-.183-1.156.237-.238.6-.29.911-.167Z',
397
+ 'fill-rule': 'evenodd',
398
+ 'clip-rule': 'evenodd',
399
+ },
400
+ {
401
+ d: 'M15.75 11.25A.75.75 0 0 0 15 12a3 3 0 0 1-3 3 .75.75 0 0 0 0 1.5 4.5 4.5 0 0 0 4.5-4.5.75.75 0 0 0-.75-.75Z',
402
+ 'fill-rule': 'evenodd',
403
+ 'clip-rule': 'evenodd',
404
+ },
405
+ {
406
+ d: 'M3.22 19.72a.75.75 0 0 0 1.06 1.06l16.5-16.5a.75.75 0 1 0-1.06-1.06L3.22 19.72Z',
407
+ 'fill-rule': 'evenodd',
408
+ 'clip-rule': 'evenodd',
409
+ },
410
+ ],
411
+ },
412
+ video: {
413
+ paths: [
414
+ {
415
+ d: 'M17.25 16.226v.274a3 3 0 0 1-3 3H4.5a3 3 0 0 1-3-3v-9a3 3 0 0 1 3-3h9.75a3 3 0 0 1 3 3v.274l2.834-2.186c.986-.76 2.416-.058 2.416 1.188v10.448c0 1.246-1.43 1.949-2.416 1.188l-2.834-2.186ZM4.5 6h9.75a1.5 1.5 0 0 1 1.5 1.5v9a1.5 1.5 0 0 1-1.5 1.5H4.5A1.5 1.5 0 0 1 3 16.5v-9A1.5 1.5 0 0 1 4.5 6Zm12.75 8.331L21 17.224V6.776l-3.75 2.893v4.662Z',
416
+ 'fill-rule': 'evenodd',
417
+ 'clip-rule': 'evenodd',
418
+ },
419
+ ],
420
+ },
421
+ 'video-off': {
422
+ paths: [
423
+ {
424
+ d: 'M20.78 3.22a.75.75 0 0 1 0 1.06l-3.37 3.371.005-.004-1.665 1.665V9.31L7.06 18h.002l-1.5 1.5H5.56l-1.28 1.28a.75.75 0 0 1-1.061-1.06l.362-.363A3.001 3.001 0 0 1 1.5 16.5v-9a3 3 0 0 1 3-3h9.75a3 3 0 0 1 2.631 1.558L19.72 3.22a.75.75 0 0 1 1.06 0Zm-5.057 3.996A1.5 1.5 0 0 0 14.25 6H4.5A1.5 1.5 0 0 0 3 7.5v9A1.5 1.5 0 0 0 4.5 18h.44L15.722 7.216Z',
425
+ 'fill-rule': 'evenodd',
426
+ 'clip-rule': 'evenodd',
427
+ },
428
+ {
429
+ d: 'M21 6.75a.75.75 0 0 1 1.5 0v10.474c0 1.246-1.43 1.949-2.416 1.188l-2.834-2.186v.274a3 3 0 0 1-3 3H9A.75.75 0 0 1 9 18h5.25a1.5 1.5 0 0 0 1.5-1.5V12a.75.75 0 0 1 1.5 0v2.331L21 17.224V6.75Z',
430
+ 'fill-rule': 'evenodd',
431
+ 'clip-rule': 'evenodd',
432
+ },
433
+ ],
434
+ },
435
+ 'phone-off': {
436
+ paths: [
437
+ {
438
+ d: 'M3 5a2 2 0 012-2h3.28a1 1 0 01.948.684l1.498 4.493a1 1 0 01-.502 1.21l-2.257 1.13a11.042 11.042 0 005.516 5.516l1.13-2.257a1 1 0 011.21-.502l4.493 1.498a1 1 0 01.684.949V19a2 2 0 01-2 2h-1C9.716 21 3 14.284 3 6V5z',
439
+ },
440
+ {
441
+ d: 'M3.22 19.72a.75.75 0 0 0 1.06 1.06l16.5-16.5a.75.75 0 1 0-1.06-1.06L3.22 19.72Z',
442
+ 'fill-rule': 'evenodd',
443
+ 'clip-rule': 'evenodd',
444
+ },
445
+ ],
446
+ },
447
+ monitor: {
448
+ paths: [
449
+ {
450
+ d: 'M5 3h14a2 2 0 012 2v10a2 2 0 01-2 2H5a2 2 0 01-2-2V5a2 2 0 012-2z',
451
+ },
452
+ { d: 'M8 21h8' },
453
+ { d: 'M12 17v4' },
454
+ ],
455
+ },
456
+ 'monitor-off': {
457
+ paths: [
458
+ { d: 'M17 21H4a2 2 0 01-2-2V5c0-1.5 1-2 1-2' },
459
+ { d: 'M22 15V5a2 2 0 00-2-2H9' },
460
+ { d: 'M8 21h8' },
461
+ { d: 'M12 17v4' },
462
+ { d: 'M2 2l20 20' },
463
+ ],
464
+ },
465
+ 'picture-in-picture': {
466
+ paths: [
467
+ {
468
+ d: 'M3 5a2 2 0 012-2h14a2 2 0 012 2v14a2 2 0 01-2 2H5a2 2 0 01-2-2V5z',
469
+ },
470
+ { d: 'M13 13h6v5h-6z' },
471
+ ],
472
+ },
473
+ 'volume-x': {
474
+ paths: [
475
+ { d: 'M11 5L6 9H2v6h4l5 4V5z' },
476
+ { d: 'M22 9l-6 6' },
477
+ { d: 'M16 9l6 6' },
478
+ ],
479
+ },
480
+ 'volume-2': {
481
+ paths: [
482
+ { d: 'M11 5L6 9H2v6h4l5 4V5z' },
483
+ { d: 'M15.54 8.46a5 5 0 010 7.07' },
484
+ { d: 'M19.07 4.93a10 10 0 010 14.14' },
485
+ ],
486
+ },
487
+ radar: {
488
+ paths: [
489
+ { d: 'M19.07 4.93A10 10 0 0 0 6.99 3.34' },
490
+ { d: 'M12 12 16 8' },
491
+ { d: 'M3.34 6.99a10 10 0 0 0-1.59 12.07' },
492
+ { d: 'M12 12a2 2 0 1 0 0-4 2 2 0 0 0 0 4z' },
493
+ ],
494
+ },
495
+ };
496
+
497
+ interface Props {
498
+ /** Литералы из регистра; `string` — для динамических имён в шаблонах и при typecheck без строгой суженной литерации. */
499
+ name: keyof typeof iconPaths | (string & {});
500
+ size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl';
501
+ class?: string;
502
+ }
503
+
504
+ const props = withDefaults(defineProps<Props>(), {
505
+ size: 'md',
506
+ });
507
+
508
+ /** Rem-размеры инлайном: утилиты из строк в `<script>` Tailwind v4 не подхватывает — в CSS не попадают, SVG визуально 0×0. */
509
+ const iconSizeRem: Record<NonNullable<Props['size']>, string> = {
510
+ xs: '0.75rem',
511
+ sm: '1rem',
512
+ md: '1.125rem',
513
+ lg: '1.5rem',
514
+ xl: '2rem',
515
+ xxl: '2.5rem',
516
+ };
517
+
518
+ const iconLayoutStyle = computed(() => {
519
+ const s = iconSizeRem[props.size];
520
+ return {
521
+ width: s,
522
+ height: s,
523
+ minWidth: s,
524
+ flexShrink: 0,
525
+ } as const;
526
+ });
527
+
528
+ const iconClasses = computed(() => cn('block', props.class));
529
+
530
+ // Базовая библиотека иконок (можно расширить)
531
+
532
+ const iconComponent = computed(() => {
533
+ const resolvedName = props.name as keyof typeof iconPaths;
534
+ const icon = iconPaths[resolvedName] as any;
535
+ if (!icon) {
536
+ console.warn(`Icon "${props.name}" not found`);
537
+ return () =>
538
+ h('div', {
539
+ class: iconClasses.value,
540
+ style: { ...iconLayoutStyle.value },
541
+ });
542
+ }
543
+
544
+ if (icon.paths) {
545
+ return () => {
546
+ return h(
547
+ 'svg',
548
+ {
549
+ fill: 'none',
550
+ viewBox: icon.viewBox || '0 0 24 24',
551
+ class: iconClasses.value,
552
+ style: { ...iconLayoutStyle.value },
553
+ },
554
+ icon.paths.map((path: any) => {
555
+ const isFilled = path['fill-rule'] || path['clip-rule'];
556
+ if (isFilled) {
557
+ return h('path', { ...path, fill: 'currentColor' });
558
+ }
559
+ return h('path', {
560
+ ...path,
561
+ fill: icon.fill || 'none',
562
+ stroke: icon.stroke || 'currentColor',
563
+ 'stroke-linecap': 'round',
564
+ 'stroke-linejoin': 'round',
565
+ 'stroke-width': '2',
566
+ });
567
+ }),
568
+ );
569
+ };
570
+ }
571
+
572
+ // Для иконок с кастомным viewBox используем его, иначе стандартный
573
+ const viewBox = icon.viewBox || '0 0 24 24';
574
+
575
+ return () =>
576
+ h(
577
+ 'svg',
578
+ {
579
+ fill: 'none',
580
+ stroke: 'currentColor',
581
+ viewBox,
582
+ class: iconClasses.value,
583
+ style: { ...iconLayoutStyle.value },
584
+ },
585
+ [
586
+ h('path', {
587
+ fill: 'none',
588
+ ...icon,
589
+
590
+ 'stroke-linecap': 'round',
591
+ 'stroke-linejoin': 'round',
592
+ 'stroke-width': '2',
593
+ }),
594
+ ],
595
+ );
596
+ });
597
+ </script>
@@ -0,0 +1,44 @@
1
+ <template>
2
+ <div :class="indicatorClasses" :style="angularStyle" />
3
+ </template>
4
+
5
+ <script setup lang="ts">
6
+ import { computed } from 'vue';
7
+ import { cn } from '../../utils/cn';
8
+
9
+ interface Props {
10
+ status: 'online' | 'offline' | 'away' | 'busy' | 'running' | 'idle';
11
+ size?: 'xs' | 'sm' | 'md';
12
+ angular?: boolean;
13
+ }
14
+
15
+ const props = withDefaults(defineProps<Props>(), {
16
+ size: 'sm',
17
+ angular: true,
18
+ });
19
+
20
+ const sizeMap = {
21
+ xs: 'w-1.5 h-1.5',
22
+ sm: 'w-2 h-2',
23
+ md: 'w-2.5 h-2.5',
24
+ };
25
+
26
+ const statusClasses = {
27
+ online: 'bg-success shadow-[0_0_4px_color-mix(in_srgb,var(--success)_60%,transparent)]',
28
+ offline: 'bg-subtle-fg',
29
+ away: 'bg-warning',
30
+ busy: 'bg-destructive',
31
+ running: 'bg-success shadow-[0_0_6px_color-mix(in_srgb,var(--success)_60%,transparent)]',
32
+ idle: 'bg-warning',
33
+ };
34
+
35
+ const indicatorClasses = computed(() => {
36
+ return cn(sizeMap[props.size], statusClasses[props.status], 'rounded-full');
37
+ });
38
+
39
+ const angularStyle = computed(() => {
40
+ // Убрали clip-path для индикаторов (кроме навигации, где используется через NavItem)
41
+ return '';
42
+ });
43
+ </script>
44
+
@@ -0,0 +1,7 @@
1
+ export { default as Button } from './Button.vue';
2
+ export { default as Icon } from './Icon.vue';
3
+ export { default as Badge } from './Badge.vue';
4
+ export { default as Avatar } from './Avatar.vue';
5
+ export { default as StatusIndicator } from './StatusIndicator.vue';
6
+ export { default as Divider } from './Divider.vue';
7
+