@supernova-studio/client 1.96.6 → 1.96.7

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 (349) hide show
  1. package/dist/index.d.mts +101177 -143251
  2. package/dist/index.d.ts +101177 -143251
  3. package/dist/index.js +408 -105
  4. package/dist/index.js.map +1 -1
  5. package/dist/index.mjs +5542 -5239
  6. package/dist/index.mjs.map +1 -1
  7. package/package.json +20 -9
  8. package/src/api/client.ts +62 -0
  9. package/src/api/conversion/analytics/index.ts +3 -0
  10. package/src/api/conversion/analytics/page-visits-to-comparison-dto.ts +65 -0
  11. package/src/api/conversion/analytics/page-visits-to-dto.ts +68 -0
  12. package/src/api/conversion/analytics/page-visits-to-heatmap-dto.ts +49 -0
  13. package/src/api/conversion/documentation/documentation-group-v1-to-dto.ts +114 -0
  14. package/src/api/conversion/documentation/documentation-group-v2-to-dto.ts +91 -0
  15. package/src/api/conversion/documentation/documentation-item-configuration-v1-to-dto.ts +52 -0
  16. package/src/api/conversion/documentation/documentation-item-configuration-v2-to-dto.ts +34 -0
  17. package/src/api/conversion/documentation/documentation-page-to-dto-utils.ts +134 -0
  18. package/src/api/conversion/documentation/documentation-page-v1-to-dto.ts +69 -0
  19. package/src/api/conversion/documentation/documentation-page-v2-to-dto.ts +84 -0
  20. package/src/api/conversion/documentation/documentation-settings-to-dto.ts +14 -0
  21. package/src/api/conversion/documentation/index.ts +8 -0
  22. package/src/api/conversion/export/index.ts +1 -0
  23. package/src/api/conversion/export/pipeline.ts +27 -0
  24. package/src/api/conversion/index.ts +4 -0
  25. package/src/api/conversion/integrations/git.ts +37 -0
  26. package/src/api/conversion/integrations/index.ts +2 -0
  27. package/src/api/conversion/integrations/integration.ts +37 -0
  28. package/src/api/dto/access-tokens/access-token.ts +45 -0
  29. package/src/api/dto/access-tokens/index.ts +1 -0
  30. package/src/api/dto/aux/color.ts +7 -0
  31. package/src/api/dto/aux/index.ts +4 -0
  32. package/src/api/dto/aux/meta.ts +8 -0
  33. package/src/api/dto/aux/object-metadata.ts +29 -0
  34. package/src/api/dto/aux/pagination.ts +8 -0
  35. package/src/api/dto/bff/app-bootstrap-data.ts +20 -0
  36. package/src/api/dto/bff/index.ts +1 -0
  37. package/src/api/dto/collections/index.ts +1 -0
  38. package/src/api/dto/collections/token-collection.ts +32 -0
  39. package/src/api/dto/design-systems/brand.ts +44 -0
  40. package/src/api/dto/design-systems/code-component-usage.ts +52 -0
  41. package/src/api/dto/design-systems/code-component.ts +101 -0
  42. package/src/api/dto/design-systems/code-history.ts +43 -0
  43. package/src/api/dto/design-systems/code-scan.ts +29 -0
  44. package/src/api/dto/design-systems/code-snapshots.ts +46 -0
  45. package/src/api/dto/design-systems/component.ts +40 -0
  46. package/src/api/dto/design-systems/contact.ts +11 -0
  47. package/src/api/dto/design-systems/data-source.ts +216 -0
  48. package/src/api/dto/design-systems/design-system.ts +75 -0
  49. package/src/api/dto/design-systems/documentation-search.ts +31 -0
  50. package/src/api/dto/design-systems/elements-diff.ts +14 -0
  51. package/src/api/dto/design-systems/figma-variables.ts +122 -0
  52. package/src/api/dto/design-systems/file.ts +71 -0
  53. package/src/api/dto/design-systems/import-job.ts +62 -0
  54. package/src/api/dto/design-systems/index.ts +24 -0
  55. package/src/api/dto/design-systems/members.ts +52 -0
  56. package/src/api/dto/design-systems/redirects.ts +33 -0
  57. package/src/api/dto/design-systems/role.ts +11 -0
  58. package/src/api/dto/design-systems/stats.ts +20 -0
  59. package/src/api/dto/design-systems/storybook.ts +45 -0
  60. package/src/api/dto/design-systems/user-design-systems.ts +10 -0
  61. package/src/api/dto/design-systems/version-room.ts +12 -0
  62. package/src/api/dto/design-systems/version.ts +56 -0
  63. package/src/api/dto/design-systems/view.ts +45 -0
  64. package/src/api/dto/design-tokens/design-token.ts +78 -0
  65. package/src/api/dto/design-tokens/index.ts +1 -0
  66. package/src/api/dto/documentation/analytics-v2.ts +80 -0
  67. package/src/api/dto/documentation/analytics.ts +32 -0
  68. package/src/api/dto/documentation/anchor.ts +15 -0
  69. package/src/api/dto/documentation/approvals.ts +21 -0
  70. package/src/api/dto/documentation/block-definition.ts +28 -0
  71. package/src/api/dto/documentation/block.ts +6 -0
  72. package/src/api/dto/documentation/documentation-page-snapshot.ts +18 -0
  73. package/src/api/dto/documentation/documentation.ts +34 -0
  74. package/src/api/dto/documentation/index.ts +11 -0
  75. package/src/api/dto/documentation/link-preview.ts +23 -0
  76. package/src/api/dto/documentation/publish.ts +23 -0
  77. package/src/api/dto/documentation/room.ts +12 -0
  78. package/src/api/dto/elements/components/figma-component-group.ts +19 -0
  79. package/src/api/dto/elements/components/figma-component.ts +56 -0
  80. package/src/api/dto/elements/components/index.ts +2 -0
  81. package/src/api/dto/elements/documentation/configuration.ts +20 -0
  82. package/src/api/dto/elements/documentation/draft-state.ts +37 -0
  83. package/src/api/dto/elements/documentation/group-action.ts +108 -0
  84. package/src/api/dto/elements/documentation/group-v1.ts +35 -0
  85. package/src/api/dto/elements/documentation/group-v2.ts +117 -0
  86. package/src/api/dto/elements/documentation/hierarchy.ts +25 -0
  87. package/src/api/dto/elements/documentation/index.ts +16 -0
  88. package/src/api/dto/elements/documentation/item-configuration-v1.ts +24 -0
  89. package/src/api/dto/elements/documentation/item-configuration-v2.ts +14 -0
  90. package/src/api/dto/elements/documentation/metadata.ts +8 -0
  91. package/src/api/dto/elements/documentation/page-actions-v2.ts +138 -0
  92. package/src/api/dto/elements/documentation/page-content.ts +15 -0
  93. package/src/api/dto/elements/documentation/page-dependencies.ts +30 -0
  94. package/src/api/dto/elements/documentation/page-v1.ts +21 -0
  95. package/src/api/dto/elements/documentation/page-v2.ts +132 -0
  96. package/src/api/dto/elements/documentation/settings.ts +9 -0
  97. package/src/api/dto/elements/documentation/structure.ts +37 -0
  98. package/src/api/dto/elements/elements-action-v2.ts +125 -0
  99. package/src/api/dto/elements/figma-nodes/figma-node-structure.ts +27 -0
  100. package/src/api/dto/elements/figma-nodes/figma-node-v1.ts +32 -0
  101. package/src/api/dto/elements/figma-nodes/figma-node-v2.ts +32 -0
  102. package/src/api/dto/elements/figma-nodes/figma-node.ts +103 -0
  103. package/src/api/dto/elements/figma-nodes/index.ts +5 -0
  104. package/src/api/dto/elements/figma-nodes/node-actions-v2.ts +25 -0
  105. package/src/api/dto/elements/frame-node-structures/frame-node-structure.ts +17 -0
  106. package/src/api/dto/elements/frame-node-structures/index.ts +1 -0
  107. package/src/api/dto/elements/get-elements-v2.ts +27 -0
  108. package/src/api/dto/elements/index.ts +7 -0
  109. package/src/api/dto/elements/properties/index.ts +2 -0
  110. package/src/api/dto/elements/properties/property-definitions.ts +75 -0
  111. package/src/api/dto/elements/properties/property-values.ts +50 -0
  112. package/src/api/dto/events/forge-project.ts +51 -0
  113. package/src/api/dto/events/index.ts +2 -0
  114. package/src/api/dto/events/workspace.ts +81 -0
  115. package/src/api/dto/export/exporter-property.ts +114 -0
  116. package/src/api/dto/export/exporter.ts +115 -0
  117. package/src/api/dto/export/filter.ts +20 -0
  118. package/src/api/dto/export/index.ts +5 -0
  119. package/src/api/dto/export/job.ts +114 -0
  120. package/src/api/dto/export/pipeline.ts +60 -0
  121. package/src/api/dto/figma-components/assets/download.ts +30 -0
  122. package/src/api/dto/figma-components/assets/index.ts +1 -0
  123. package/src/api/dto/figma-components/index.ts +1 -0
  124. package/src/api/dto/figma-exporter/figma-node.ts +11 -0
  125. package/src/api/dto/figma-exporter/index.ts +1 -0
  126. package/src/api/dto/files/files.ts +94 -0
  127. package/src/api/dto/files/index.ts +1 -0
  128. package/src/api/dto/forge/agent.ts +38 -0
  129. package/src/api/dto/forge/artifact.ts +94 -0
  130. package/src/api/dto/forge/feature-messages.ts +551 -0
  131. package/src/api/dto/forge/feature-room.ts +12 -0
  132. package/src/api/dto/forge/figma-node.ts +117 -0
  133. package/src/api/dto/forge/index.ts +28 -0
  134. package/src/api/dto/forge/iteration-message-old.ts +43 -0
  135. package/src/api/dto/forge/knowledge-item.ts +67 -0
  136. package/src/api/dto/forge/memory.ts +67 -0
  137. package/src/api/dto/forge/participant.ts +44 -0
  138. package/src/api/dto/forge/project-action.ts +123 -0
  139. package/src/api/dto/forge/project-artifact-room.ts +12 -0
  140. package/src/api/dto/forge/project-artifact.ts +85 -0
  141. package/src/api/dto/forge/project-context-feedback.ts +141 -0
  142. package/src/api/dto/forge/project-context-override.ts +41 -0
  143. package/src/api/dto/forge/project-context-scope.ts +23 -0
  144. package/src/api/dto/forge/project-context-v2.ts +228 -0
  145. package/src/api/dto/forge/project-context.ts +72 -0
  146. package/src/api/dto/forge/project-feature.ts +86 -0
  147. package/src/api/dto/forge/project-figma-node.ts +9 -0
  148. package/src/api/dto/forge/project-file.ts +48 -0
  149. package/src/api/dto/forge/project-invitation.ts +46 -0
  150. package/src/api/dto/forge/project-iteration-old.ts +54 -0
  151. package/src/api/dto/forge/project-member.ts +67 -0
  152. package/src/api/dto/forge/project-room.ts +12 -0
  153. package/src/api/dto/forge/project-section.ts +37 -0
  154. package/src/api/dto/forge/project.ts +105 -0
  155. package/src/api/dto/forge/relation.ts +34 -0
  156. package/src/api/dto/forge/threads.ts +153 -0
  157. package/src/api/dto/index.ts +25 -0
  158. package/src/api/dto/liveblocks/auth-response.ts +7 -0
  159. package/src/api/dto/liveblocks/index.ts +1 -0
  160. package/src/api/dto/mcp/index.ts +1 -0
  161. package/src/api/dto/mcp/stream.ts +17 -0
  162. package/src/api/dto/notifications/index.ts +2 -0
  163. package/src/api/dto/notifications/notifications.ts +65 -0
  164. package/src/api/dto/notifications/settings.ts +10 -0
  165. package/src/api/dto/portal/index.ts +1 -0
  166. package/src/api/dto/portal/portal-settings.ts +45 -0
  167. package/src/api/dto/sandboxes/index.ts +1 -0
  168. package/src/api/dto/sandboxes/template.ts +143 -0
  169. package/src/api/dto/storybook-sites/index.ts +1 -0
  170. package/src/api/dto/storybook-sites/storybook-sites.ts +60 -0
  171. package/src/api/dto/themes/index.ts +2 -0
  172. package/src/api/dto/themes/override.ts +27 -0
  173. package/src/api/dto/themes/theme.ts +53 -0
  174. package/src/api/dto/threads/index.ts +1 -0
  175. package/src/api/dto/threads/threads.ts +280 -0
  176. package/src/api/dto/trail-events/index.ts +1 -0
  177. package/src/api/dto/trail-events/trail-events.ts +172 -0
  178. package/src/api/dto/users/authenticated-user.ts +92 -0
  179. package/src/api/dto/users/index.ts +2 -0
  180. package/src/api/dto/users/user.ts +27 -0
  181. package/src/api/dto/workspaces/billing.ts +156 -0
  182. package/src/api/dto/workspaces/enums.ts +13 -0
  183. package/src/api/dto/workspaces/git.ts +32 -0
  184. package/src/api/dto/workspaces/index.ts +15 -0
  185. package/src/api/dto/workspaces/integrations.ts +34 -0
  186. package/src/api/dto/workspaces/invitations.ts +47 -0
  187. package/src/api/dto/workspaces/ip-whitelist.ts +33 -0
  188. package/src/api/dto/workspaces/knowledge-items-search.ts +37 -0
  189. package/src/api/dto/workspaces/login-screen.ts +42 -0
  190. package/src/api/dto/workspaces/membership.ts +55 -0
  191. package/src/api/dto/workspaces/npm-registry.ts +62 -0
  192. package/src/api/dto/workspaces/products.ts +45 -0
  193. package/src/api/dto/workspaces/subscription.ts +170 -0
  194. package/src/api/dto/workspaces/transfer-ownership.ts +7 -0
  195. package/src/api/dto/workspaces/untyped-data.ts +35 -0
  196. package/src/api/dto/workspaces/workspace.ts +49 -0
  197. package/src/api/endpoints/auth-tokens.ts +28 -0
  198. package/src/api/endpoints/codegen/codegen.ts +16 -0
  199. package/src/api/endpoints/codegen/ds-pipelines.ts +37 -0
  200. package/src/api/endpoints/codegen/exporters.ts +54 -0
  201. package/src/api/endpoints/codegen/index.ts +5 -0
  202. package/src/api/endpoints/codegen/jobs.ts +15 -0
  203. package/src/api/endpoints/codegen/pipelines.ts +55 -0
  204. package/src/api/endpoints/design-system/analytics.ts +14 -0
  205. package/src/api/endpoints/design-system/bff.ts +13 -0
  206. package/src/api/endpoints/design-system/code-snapshots.ts +47 -0
  207. package/src/api/endpoints/design-system/contact.ts +12 -0
  208. package/src/api/endpoints/design-system/design-systems.ts +90 -0
  209. package/src/api/endpoints/design-system/figma-node-structures.ts +20 -0
  210. package/src/api/endpoints/design-system/index.ts +11 -0
  211. package/src/api/endpoints/design-system/members.ts +24 -0
  212. package/src/api/endpoints/design-system/redirects.ts +46 -0
  213. package/src/api/endpoints/design-system/sources.ts +80 -0
  214. package/src/api/endpoints/design-system/storybook.ts +28 -0
  215. package/src/api/endpoints/design-system/versions/brands.ts +45 -0
  216. package/src/api/endpoints/design-system/versions/documentation.ts +107 -0
  217. package/src/api/endpoints/design-system/versions/ds-components.ts +30 -0
  218. package/src/api/endpoints/design-system/versions/elements-action.ts +65 -0
  219. package/src/api/endpoints/design-system/versions/elements.ts +27 -0
  220. package/src/api/endpoints/design-system/versions/figma-component-groups.ts +13 -0
  221. package/src/api/endpoints/design-system/versions/figma-components.ts +15 -0
  222. package/src/api/endpoints/design-system/versions/figma-frame-structures.ts +13 -0
  223. package/src/api/endpoints/design-system/versions/files.ts +43 -0
  224. package/src/api/endpoints/design-system/versions/import-jobs.ts +13 -0
  225. package/src/api/endpoints/design-system/versions/index.ts +19 -0
  226. package/src/api/endpoints/design-system/versions/overrides.ts +17 -0
  227. package/src/api/endpoints/design-system/versions/property-definitions.ts +43 -0
  228. package/src/api/endpoints/design-system/versions/property-values.ts +25 -0
  229. package/src/api/endpoints/design-system/versions/stats.ts +12 -0
  230. package/src/api/endpoints/design-system/versions/themes.ts +35 -0
  231. package/src/api/endpoints/design-system/versions/token-collections.ts +13 -0
  232. package/src/api/endpoints/design-system/versions/token-groups.ts +30 -0
  233. package/src/api/endpoints/design-system/versions/tokens.ts +29 -0
  234. package/src/api/endpoints/design-system/versions/versions.ts +90 -0
  235. package/src/api/endpoints/feedback.ts +60 -0
  236. package/src/api/endpoints/files.ts +25 -0
  237. package/src/api/endpoints/forge/agents.ts +54 -0
  238. package/src/api/endpoints/forge/artifacts.ts +54 -0
  239. package/src/api/endpoints/forge/documents.ts +18 -0
  240. package/src/api/endpoints/forge/feature-artifacts.ts +39 -0
  241. package/src/api/endpoints/forge/feature-iterations.ts +49 -0
  242. package/src/api/endpoints/forge/feature-messages.ts +68 -0
  243. package/src/api/endpoints/forge/features.ts +63 -0
  244. package/src/api/endpoints/forge/forge.ts +38 -0
  245. package/src/api/endpoints/forge/index.ts +16 -0
  246. package/src/api/endpoints/forge/iteration-tags.ts +13 -0
  247. package/src/api/endpoints/forge/memory.ts +41 -0
  248. package/src/api/endpoints/forge/project-contexts.ts +49 -0
  249. package/src/api/endpoints/forge/project-files.ts +41 -0
  250. package/src/api/endpoints/forge/project-invitations.ts +39 -0
  251. package/src/api/endpoints/forge/project-iterations.ts +65 -0
  252. package/src/api/endpoints/forge/project-members.ts +55 -0
  253. package/src/api/endpoints/forge/projects.ts +56 -0
  254. package/src/api/endpoints/index.ts +13 -0
  255. package/src/api/endpoints/liveblocks.ts +14 -0
  256. package/src/api/endpoints/mcp/index.ts +1 -0
  257. package/src/api/endpoints/mcp/streams.ts +21 -0
  258. package/src/api/endpoints/sandboxes/builds.ts +30 -0
  259. package/src/api/endpoints/sandboxes/index.ts +3 -0
  260. package/src/api/endpoints/sandboxes/sandboxes.ts +13 -0
  261. package/src/api/endpoints/sandboxes/templates.ts +16 -0
  262. package/src/api/endpoints/storybook-sites.ts +42 -0
  263. package/src/api/endpoints/threads.ts +38 -0
  264. package/src/api/endpoints/users.ts +26 -0
  265. package/src/api/endpoints/workspaces/billing.ts +24 -0
  266. package/src/api/endpoints/workspaces/chat-threads.ts +95 -0
  267. package/src/api/endpoints/workspaces/index.ts +9 -0
  268. package/src/api/endpoints/workspaces/integrations.ts +15 -0
  269. package/src/api/endpoints/workspaces/invites.ts +34 -0
  270. package/src/api/endpoints/workspaces/knowledge-items.ts +59 -0
  271. package/src/api/endpoints/workspaces/members.ts +31 -0
  272. package/src/api/endpoints/workspaces/npm-register.ts +20 -0
  273. package/src/api/endpoints/workspaces/subscription.ts +31 -0
  274. package/src/api/endpoints/workspaces/workspaces.ts +84 -0
  275. package/src/api/index.ts +6 -0
  276. package/src/api/payloads/design-systems/code-snapshots.ts +27 -0
  277. package/src/api/payloads/design-systems/index.ts +3 -0
  278. package/src/api/payloads/design-systems/update-design-system.ts +42 -0
  279. package/src/api/payloads/design-systems/version.ts +29 -0
  280. package/src/api/payloads/documentation/analytics.ts +36 -0
  281. package/src/api/payloads/documentation/block-definitions.ts +18 -0
  282. package/src/api/payloads/documentation/design-data-doc-diff.ts +7 -0
  283. package/src/api/payloads/documentation/index.ts +3 -0
  284. package/src/api/payloads/export/index.ts +1 -0
  285. package/src/api/payloads/export/pipeline.ts +111 -0
  286. package/src/api/payloads/index.ts +6 -0
  287. package/src/api/payloads/liveblocks/auth.ts +7 -0
  288. package/src/api/payloads/liveblocks/index.ts +1 -0
  289. package/src/api/payloads/users/index.ts +1 -0
  290. package/src/api/payloads/users/notifications/index.ts +1 -0
  291. package/src/api/payloads/users/notifications/notification-settings.ts +17 -0
  292. package/src/api/payloads/workspaces/index.ts +2 -0
  293. package/src/api/payloads/workspaces/workspace-configuration.ts +62 -0
  294. package/src/api/payloads/workspaces/workspace-integrations.ts +35 -0
  295. package/src/api/transport/index.ts +2 -0
  296. package/src/api/transport/request-executor-error.ts +60 -0
  297. package/src/api/transport/request-executor.ts +94 -0
  298. package/src/events/design-system.ts +21 -0
  299. package/src/events/event.ts +6 -0
  300. package/src/events/index.ts +2 -0
  301. package/src/index.ts +5 -0
  302. package/src/sync/docs-local-action-executor.ts +412 -0
  303. package/src/sync/docs-structure-repo.ts +283 -0
  304. package/src/sync/index.ts +5 -0
  305. package/src/sync/project-content-repo.ts +215 -0
  306. package/src/sync/project-local-action-executor.ts +415 -0
  307. package/src/sync/types.ts +37 -0
  308. package/src/utils/figma.ts +72 -0
  309. package/src/utils/hash.ts +62 -0
  310. package/src/utils/index.ts +4 -0
  311. package/src/utils/query.ts +41 -0
  312. package/src/utils/redirect-validation.ts +76 -0
  313. package/src/yjs/design-system-content/documentation-hierarchy.ts +35 -0
  314. package/src/yjs/design-system-content/index.ts +2 -0
  315. package/src/yjs/design-system-content/item-configuration.ts +62 -0
  316. package/src/yjs/docs-editor/blocks-to-prosemirror.ts +764 -0
  317. package/src/yjs/docs-editor/index.ts +7 -0
  318. package/src/yjs/docs-editor/list-tree-builder.ts +127 -0
  319. package/src/yjs/docs-editor/mock.ts +2271 -0
  320. package/src/yjs/docs-editor/model/block.ts +8 -0
  321. package/src/yjs/docs-editor/model/index.ts +2 -0
  322. package/src/yjs/docs-editor/model/page.ts +8 -0
  323. package/src/yjs/docs-editor/prosemirror/index.ts +3 -0
  324. package/src/yjs/docs-editor/prosemirror/inner-editor-schema.ts +145 -0
  325. package/src/yjs/docs-editor/prosemirror/main-editor-schema.ts +577 -0
  326. package/src/yjs/docs-editor/prosemirror/types.ts +19 -0
  327. package/src/yjs/docs-editor/prosemirror-to-blocks.ts +986 -0
  328. package/src/yjs/docs-editor/utils.ts +115 -0
  329. package/src/yjs/feature-room/backend.ts +36 -0
  330. package/src/yjs/feature-room/base.ts +109 -0
  331. package/src/yjs/feature-room/frontend.ts +53 -0
  332. package/src/yjs/feature-room/index.ts +3 -0
  333. package/src/yjs/forge-project-room/backend.ts +59 -0
  334. package/src/yjs/forge-project-room/base.ts +190 -0
  335. package/src/yjs/forge-project-room/index.ts +2 -0
  336. package/src/yjs/index.ts +7 -0
  337. package/src/yjs/thread-room/backend.ts +32 -0
  338. package/src/yjs/thread-room/base.ts +71 -0
  339. package/src/yjs/thread-room/frontend.ts +39 -0
  340. package/src/yjs/thread-room/index.ts +3 -0
  341. package/src/yjs/utils/index.ts +1 -0
  342. package/src/yjs/utils/key-value-storage.ts +57 -0
  343. package/src/yjs/version-room/backend.ts +101 -0
  344. package/src/yjs/version-room/base.ts +323 -0
  345. package/src/yjs/version-room/compute-dto.ts +387 -0
  346. package/src/yjs/version-room/frontend.ts +76 -0
  347. package/src/yjs/version-room/index.ts +6 -0
  348. package/src/yjs/version-room/types.ts +31 -0
  349. package/src/yjs/version-room/utils.ts +109 -0
@@ -0,0 +1,2271 @@
1
+ import { PageBlockDefinition } from "@supernova-studio/model";
2
+
3
+ export function getMockPageBlockDefinitions(): PageBlockDefinition[] {
4
+ return blocks.map(block => {
5
+ return {
6
+ ...block,
7
+ item: {
8
+ ...block.item,
9
+
10
+ // Make sure variatns array is copied
11
+ variants: [...block.item.variants],
12
+ },
13
+ };
14
+ });
15
+ }
16
+
17
+ const blocks: PageBlockDefinition[] = [
18
+ {
19
+ id: "io.supernova.block.rich-text",
20
+ name: "Text",
21
+ description: "Plain text",
22
+ category: "Text",
23
+ icon: "https://cdn-assets.supernova.io/blocks/icons/v3/text.svg",
24
+ searchKeywords: ["paragraph", "rich text"],
25
+ item: {
26
+ properties: [
27
+ {
28
+ id: "text",
29
+ name: "Text",
30
+ type: "RichText",
31
+ options: {
32
+ richTextStyle: "Default",
33
+ },
34
+ },
35
+ ],
36
+ appearance: {
37
+ isBordered: true,
38
+ hasBackground: false,
39
+ },
40
+ variants: [
41
+ {
42
+ id: "default",
43
+ name: "Default",
44
+ layout: {
45
+ type: "Column",
46
+ children: ["text"],
47
+ columnAlign: "Start",
48
+ columnResizing: "Fill",
49
+ gap: "Medium",
50
+ },
51
+ maxColumns: 1,
52
+ defaultColumns: 1,
53
+ appearance: {
54
+ isEditorPresentationDifferent: false,
55
+ },
56
+ },
57
+ ],
58
+ defaultVariantKey: "default",
59
+ },
60
+ behavior: {
61
+ dataType: "Item",
62
+ items: {
63
+ numberOfItems: 1,
64
+ allowLinks: false,
65
+ },
66
+ },
67
+ editorOptions: {
68
+ onboarding: {
69
+ helpText: "Use rich text block to write text and add additional formatting to it.",
70
+ documentationLink: "https://learn.supernova.io/latest/documentation/types-of-blocks/text/text-HxZ9ssJR",
71
+ },
72
+ },
73
+ appearance: {
74
+ isBordered: true,
75
+ hasBackground: false,
76
+ isEditorPresentationDifferent: false,
77
+ showBlockHeaderInEditor: false,
78
+ },
79
+ },
80
+ {
81
+ id: "io.supernova.block.title1",
82
+ name: "Heading 1",
83
+ description: "Main sections within the page",
84
+ category: "Text",
85
+ icon: "https://cdn-assets.supernova.io/blocks/icons/v2/title-1.svg",
86
+ searchKeywords: ["title", "h1"],
87
+ item: {
88
+ properties: [
89
+ {
90
+ id: "text",
91
+ name: "Text",
92
+ type: "RichText",
93
+ options: {
94
+ placeholder: "Heading 1",
95
+ richTextStyle: "Title1",
96
+ },
97
+ },
98
+ ],
99
+ appearance: {
100
+ isBordered: true,
101
+ hasBackground: false,
102
+ },
103
+ variants: [
104
+ {
105
+ id: "default",
106
+ name: "Default",
107
+ layout: {
108
+ type: "Column",
109
+ children: ["text"],
110
+ columnAlign: "Start",
111
+ columnResizing: "Fill",
112
+ gap: "Medium",
113
+ },
114
+ maxColumns: 1,
115
+ defaultColumns: 1,
116
+ appearance: {},
117
+ },
118
+ ],
119
+ defaultVariantKey: "default",
120
+ },
121
+ behavior: {
122
+ dataType: "Item",
123
+ items: {
124
+ numberOfItems: 1,
125
+ allowLinks: false,
126
+ },
127
+ },
128
+ editorOptions: {
129
+ onboarding: {
130
+ helpText: "Use for main sections within the page, introducing broad topics or themes.",
131
+ documentationLink: "https://learn.supernova.io/latest/documentation/types-of-blocks/text/heading-MUKlJ7dY",
132
+ },
133
+ },
134
+ appearance: {
135
+ isBordered: true,
136
+ hasBackground: false,
137
+ isEditorPresentationDifferent: false,
138
+ showBlockHeaderInEditor: false,
139
+ },
140
+ },
141
+ {
142
+ id: "io.supernova.block.title2",
143
+ name: "Heading 2",
144
+ description: "Section subheadings",
145
+ category: "Text",
146
+ icon: "https://cdn-assets.supernova.io/blocks/icons/v2/title-2.svg",
147
+ searchKeywords: ["title", "h2"],
148
+ item: {
149
+ properties: [
150
+ {
151
+ id: "text",
152
+ name: "Text",
153
+ type: "RichText",
154
+ options: {
155
+ placeholder: "Heading 2",
156
+ richTextStyle: "Title2",
157
+ },
158
+ },
159
+ ],
160
+ appearance: {
161
+ isBordered: true,
162
+ hasBackground: false,
163
+ },
164
+ variants: [
165
+ {
166
+ id: "default",
167
+ name: "Default",
168
+ layout: {
169
+ type: "Column",
170
+ children: ["text"],
171
+ columnAlign: "Start",
172
+ columnResizing: "Fill",
173
+ gap: "Medium",
174
+ },
175
+ maxColumns: 1,
176
+ defaultColumns: 1,
177
+ appearance: {},
178
+ },
179
+ ],
180
+ defaultVariantKey: "default",
181
+ },
182
+ behavior: {
183
+ dataType: "Item",
184
+ items: {
185
+ numberOfItems: 1,
186
+ allowLinks: false,
187
+ },
188
+ },
189
+ editorOptions: {
190
+ onboarding: {
191
+ helpText: "Use for subheadings, indicating major subsections under the main sections.",
192
+ documentationLink: "https://learn.supernova.io/latest/documentation/types-of-blocks/text/heading-MUKlJ7dY",
193
+ },
194
+ },
195
+ appearance: {
196
+ isBordered: true,
197
+ hasBackground: false,
198
+ isEditorPresentationDifferent: false,
199
+ showBlockHeaderInEditor: false,
200
+ },
201
+ },
202
+ {
203
+ id: "io.supernova.block.title3",
204
+ name: "Heading 3",
205
+ description: "Further subsections",
206
+ category: "Text",
207
+ icon: "https://cdn-assets.supernova.io/blocks/icons/v2/title-3.svg",
208
+ searchKeywords: ["title", "h3"],
209
+ item: {
210
+ properties: [
211
+ {
212
+ id: "text",
213
+ name: "Text",
214
+ type: "RichText",
215
+ options: {
216
+ placeholder: "Heading 3",
217
+ richTextStyle: "Title3",
218
+ },
219
+ },
220
+ ],
221
+ appearance: {
222
+ isBordered: true,
223
+ hasBackground: false,
224
+ },
225
+ variants: [
226
+ {
227
+ id: "default",
228
+ name: "Default",
229
+ layout: {
230
+ type: "Column",
231
+ children: ["text"],
232
+ columnAlign: "Start",
233
+ columnResizing: "Fill",
234
+ gap: "Medium",
235
+ },
236
+ maxColumns: 1,
237
+ defaultColumns: 1,
238
+ appearance: {},
239
+ },
240
+ ],
241
+ defaultVariantKey: "default",
242
+ },
243
+ behavior: {
244
+ dataType: "Item",
245
+ items: {
246
+ numberOfItems: 1,
247
+ allowLinks: false,
248
+ },
249
+ },
250
+ editorOptions: {
251
+ onboarding: {
252
+ helpText: "Use for further subsections, detailing specific topics within the major subsections.",
253
+ documentationLink: "https://learn.supernova.io/latest/documentation/types-of-blocks/text/heading-MUKlJ7dY",
254
+ },
255
+ },
256
+ appearance: {
257
+ isBordered: true,
258
+ hasBackground: false,
259
+ isEditorPresentationDifferent: false,
260
+ showBlockHeaderInEditor: false,
261
+ },
262
+ },
263
+ {
264
+ id: "io.supernova.block.title4",
265
+ name: "Heading 4",
266
+ description: "Details in subsections",
267
+ category: "Text",
268
+ icon: "https://cdn-assets.supernova.io/blocks/icons/v2/title-4.svg",
269
+ searchKeywords: ["title", "h4"],
270
+ item: {
271
+ properties: [
272
+ {
273
+ id: "text",
274
+ name: "Text",
275
+ type: "RichText",
276
+ options: {
277
+ placeholder: "Heading 4",
278
+ richTextStyle: "Title4",
279
+ },
280
+ },
281
+ ],
282
+ appearance: {
283
+ isBordered: true,
284
+ hasBackground: false,
285
+ },
286
+ variants: [
287
+ {
288
+ id: "default",
289
+ name: "Default",
290
+ layout: {
291
+ type: "Column",
292
+ children: ["text"],
293
+ columnAlign: "Start",
294
+ columnResizing: "Fill",
295
+ gap: "Medium",
296
+ },
297
+ maxColumns: 1,
298
+ defaultColumns: 1,
299
+ appearance: {},
300
+ },
301
+ ],
302
+ defaultVariantKey: "default",
303
+ },
304
+ behavior: {
305
+ dataType: "Item",
306
+ items: { numberOfItems: 1, allowLinks: false },
307
+ },
308
+ editorOptions: {
309
+ onboarding: {
310
+ helpText: "Use for sub-divisions, elaborating on details within the subsections.",
311
+ documentationLink: "https://learn.supernova.io/latest/documentation/types-of-blocks/text/heading-MUKlJ7dY",
312
+ },
313
+ },
314
+ appearance: {
315
+ isBordered: true,
316
+ hasBackground: false,
317
+ isEditorPresentationDifferent: false,
318
+ showBlockHeaderInEditor: false,
319
+ },
320
+ },
321
+ {
322
+ id: "io.supernova.block.title5",
323
+ name: "Heading 5",
324
+ description: "Nuanced details or sub-points",
325
+ category: "Text",
326
+ icon: "https://cdn-assets.supernova.io/blocks/icons/v2/title-5.svg",
327
+ searchKeywords: ["title", "h5"],
328
+ item: {
329
+ properties: [
330
+ {
331
+ id: "text",
332
+ name: "Text",
333
+ type: "RichText",
334
+ options: {
335
+ placeholder: "Heading 5",
336
+ richTextStyle: "Title5",
337
+ },
338
+ },
339
+ ],
340
+ appearance: {
341
+ isBordered: true,
342
+ hasBackground: false,
343
+ },
344
+ variants: [
345
+ {
346
+ id: "default",
347
+ name: "Default",
348
+ layout: {
349
+ type: "Column",
350
+ children: ["text"],
351
+ columnAlign: "Start",
352
+ columnResizing: "Fill",
353
+ gap: "Medium",
354
+ },
355
+ maxColumns: 1,
356
+ defaultColumns: 1,
357
+ appearance: {},
358
+ },
359
+ ],
360
+ defaultVariantKey: "default",
361
+ },
362
+ behavior: {
363
+ dataType: "Item",
364
+ items: { numberOfItems: 1, allowLinks: false },
365
+ },
366
+ editorOptions: {
367
+ onboarding: {
368
+ helpText: "Use for nuanced details or specific sub-points within sub-divisions.",
369
+ documentationLink: "https://learn.supernova.io/latest/documentation/types-of-blocks/text/heading-MUKlJ7dY",
370
+ },
371
+ },
372
+ appearance: {
373
+ isBordered: true,
374
+ hasBackground: false,
375
+ isEditorPresentationDifferent: false,
376
+ showBlockHeaderInEditor: false,
377
+ },
378
+ },
379
+ {
380
+ id: "io.supernova.block.ordered-list",
381
+ name: "Numbered list",
382
+ description: "An ordered list with numbers",
383
+ category: "Text",
384
+ icon: "https://cdn-assets.supernova.io/blocks/icons/list-ordered.svg",
385
+ searchKeywords: ["ol", "ordered"],
386
+ item: {
387
+ properties: [
388
+ {
389
+ id: "text",
390
+ name: "Text",
391
+ type: "MultiRichText",
392
+ options: { multiRichTextStyle: "OL" },
393
+ },
394
+ ],
395
+ appearance: { isBordered: true, hasBackground: false },
396
+ variants: [
397
+ {
398
+ id: "default",
399
+ name: "Default",
400
+ layout: {
401
+ type: "Column",
402
+ children: ["text"],
403
+ columnAlign: "Start",
404
+ columnResizing: "Fill",
405
+ gap: "Medium",
406
+ },
407
+ maxColumns: 1,
408
+ defaultColumns: 1,
409
+ appearance: {},
410
+ },
411
+ ],
412
+ defaultVariantKey: "default",
413
+ },
414
+ behavior: { dataType: "Item", items: { numberOfItems: 1, allowLinks: false } },
415
+ editorOptions: {
416
+ onboarding: {
417
+ helpText: "Display a sequence of numbers or letters to indicate order.",
418
+ documentationLink: "https://learn.supernova.io/latest/documentation/types-of-blocks/text/list-UC5iPZLK",
419
+ },
420
+ },
421
+ appearance: {
422
+ isBordered: true,
423
+ hasBackground: false,
424
+ isEditorPresentationDifferent: false,
425
+ showBlockHeaderInEditor: false,
426
+ },
427
+ },
428
+ {
429
+ id: "io.supernova.block.unordered-list",
430
+ name: "Bulleted list",
431
+ description: "A list with bullet points",
432
+ category: "Text",
433
+ icon: "https://cdn-assets.supernova.io/blocks/icons/list-unordered.svg",
434
+ searchKeywords: ["ul", "bullet points"],
435
+ item: {
436
+ properties: [
437
+ {
438
+ id: "text",
439
+ name: "Text",
440
+ type: "MultiRichText",
441
+ options: { multiRichTextStyle: "UL" },
442
+ },
443
+ ],
444
+ appearance: { isBordered: true, hasBackground: false },
445
+ variants: [
446
+ {
447
+ id: "default",
448
+ name: "Default",
449
+ layout: {
450
+ type: "Column",
451
+ children: ["text"],
452
+ columnAlign: "Start",
453
+ columnResizing: "Fill",
454
+ gap: "Medium",
455
+ },
456
+ maxColumns: 1,
457
+ defaultColumns: 1,
458
+ appearance: {},
459
+ },
460
+ ],
461
+ defaultVariantKey: "default",
462
+ },
463
+ behavior: { dataType: "Item", items: { numberOfItems: 1, allowLinks: false } },
464
+ editorOptions: {
465
+ onboarding: {
466
+ helpText: "A list of items displayed with bullet points without a specific sequence.",
467
+ documentationLink: "https://learn.supernova.io/latest/documentation/types-of-blocks/text/list-UC5iPZLK",
468
+ },
469
+ },
470
+ appearance: {
471
+ isBordered: true,
472
+ hasBackground: false,
473
+ isEditorPresentationDifferent: false,
474
+ showBlockHeaderInEditor: false,
475
+ },
476
+ },
477
+ {
478
+ id: "io.supernova.block.do-dont-guidelines",
479
+ name: "Guidelines",
480
+ description: "Document your Do's and Don'ts.",
481
+ category: "Guidelines",
482
+ icon: "https://cdn-assets.supernova.io/blocks/icons/guidelines.svg",
483
+ searchKeywords: ["do", "dont", "caution", "rules"],
484
+ item: {
485
+ properties: [
486
+ {
487
+ id: "block.do-dont-guidelines.property.image",
488
+ name: "Image",
489
+ type: "Image",
490
+ options: { allowCaption: true },
491
+ },
492
+ {
493
+ id: "block.do-dont-guidelines.property.type",
494
+ name: "Type",
495
+ type: "SingleSelect",
496
+ options: {
497
+ defaultChoice: "do",
498
+ choices: [
499
+ { value: "do", name: "Do", color: "Green", icon: "CheckCircle" },
500
+ { value: "dont", name: "Don't", color: "Red", icon: "CrossCircle" },
501
+ { value: "caution", name: "Caution", color: "Orange", icon: "Alert" },
502
+ ],
503
+ singleSelectStyle: "ToggleButton",
504
+ },
505
+ },
506
+ {
507
+ id: "block.do-dont-guidelines.property.description",
508
+ name: "Description",
509
+ type: "RichTextEditor",
510
+ options: {
511
+ allowedInlineStyles: ["Bold", "Italic", "Strikethrough", "UL", "OL", "Link", "InlineCode"],
512
+ placeholder: "Add description",
513
+ },
514
+ },
515
+ ],
516
+ appearance: { isBordered: true, hasBackground: false },
517
+ variants: [
518
+ {
519
+ id: "simple",
520
+ name: "Simple",
521
+ image: "https://cdn-assets.supernova.io/blocks/variants/guidelines-simple.svg",
522
+ description: "With a minimalist badge at the top, this design is great for content guidelines.",
523
+ layout: {
524
+ type: "Column",
525
+ children: [
526
+ "block.do-dont-guidelines.property.type",
527
+ "block.do-dont-guidelines.property.image",
528
+ "block.do-dont-guidelines.property.description",
529
+ ],
530
+ columnAlign: "Start",
531
+ columnResizing: "Fill",
532
+ gap: "Medium",
533
+ },
534
+ maxColumns: 3,
535
+ defaultColumns: 2,
536
+ appearance: {},
537
+ },
538
+ {
539
+ id: "prominent",
540
+ name: "Prominent",
541
+ image: "https://cdn-assets.supernova.io/blocks/variants/guidelines-prominent.svg",
542
+ description: "Recommended when you need guidelines that need to stand out.",
543
+ layout: {
544
+ type: "Column",
545
+ children: [
546
+ "block.do-dont-guidelines.property.type",
547
+ "block.do-dont-guidelines.property.image",
548
+ "block.do-dont-guidelines.property.description",
549
+ ],
550
+ columnAlign: "Start",
551
+ columnResizing: "Fill",
552
+ gap: "Medium",
553
+ },
554
+ maxColumns: 3,
555
+ defaultColumns: 1,
556
+ appearance: { isEditorPresentationDifferent: true },
557
+ },
558
+ {
559
+ id: "contained",
560
+ name: "Contained",
561
+ image: "https://cdn-assets.supernova.io/blocks/variants/guidelines-contained.svg",
562
+ description: "Perfect for component guidelines with spacious images.",
563
+ layout: {
564
+ type: "Column",
565
+ children: [
566
+ "block.do-dont-guidelines.property.type",
567
+ "block.do-dont-guidelines.property.image",
568
+ "block.do-dont-guidelines.property.description",
569
+ ],
570
+ columnAlign: "Start",
571
+ columnResizing: "Fill",
572
+ gap: "Medium",
573
+ },
574
+ maxColumns: 3,
575
+ defaultColumns: 1,
576
+ appearance: { isEditorPresentationDifferent: true },
577
+ },
578
+ {
579
+ id: "side-border",
580
+ name: "Side border",
581
+ image: "https://cdn-assets.supernova.io/blocks/variants/guidelines-side-border.svg",
582
+ description: "The side border makes this variant well-suited for longer text guidelines.",
583
+ layout: {
584
+ type: "Column",
585
+ children: [
586
+ "block.do-dont-guidelines.property.type",
587
+ "block.do-dont-guidelines.property.image",
588
+ "block.do-dont-guidelines.property.description",
589
+ ],
590
+ columnAlign: "Start",
591
+ columnResizing: "Fill",
592
+ gap: "Medium",
593
+ },
594
+ maxColumns: 3,
595
+ defaultColumns: 1,
596
+ appearance: { isEditorPresentationDifferent: true },
597
+ },
598
+ ],
599
+ defaultVariantKey: "simple",
600
+ },
601
+ behavior: {
602
+ dataType: "Item",
603
+ items: { numberOfItems: -1, allowLinks: false, newItemLabel: "Add guideline" },
604
+ },
605
+ editorOptions: {
606
+ onboarding: {
607
+ helpText: "Use link block to document your Do/Don't guidelines for your components and patterns.",
608
+ documentationLink:
609
+ "https://learn.supernova.io/latest/documentation/types-of-blocks/links/shortcuts/general-jVfNifo4",
610
+ },
611
+ newItemLabel: "Add guideline",
612
+ },
613
+ appearance: {
614
+ isBordered: true,
615
+ hasBackground: false,
616
+ isEditorPresentationDifferent: false,
617
+ showBlockHeaderInEditor: false,
618
+ },
619
+ },
620
+ {
621
+ id: "io.supernova.block.divider",
622
+ name: "Divider",
623
+ description: "A section divider",
624
+ category: "Layout",
625
+ icon: "https://cdn-assets.supernova.io/blocks/icons/divider.svg",
626
+ searchKeywords: ["hr", "line", "rule", "separator"],
627
+ item: {
628
+ properties: [{ id: "divider", name: "Divider", type: "Divider", options: {} }],
629
+ appearance: { isBordered: true, hasBackground: false },
630
+ variants: [
631
+ {
632
+ id: "default",
633
+ name: "Default",
634
+ layout: {
635
+ type: "Column",
636
+ children: ["divider"],
637
+ columnAlign: "Start",
638
+ columnResizing: "Fill",
639
+ gap: "Medium",
640
+ },
641
+ maxColumns: 1,
642
+ defaultColumns: 1,
643
+ appearance: {},
644
+ },
645
+ ],
646
+ defaultVariantKey: "default",
647
+ },
648
+ behavior: { dataType: "Item", items: { numberOfItems: 1, allowLinks: false } },
649
+ editorOptions: {
650
+ onboarding: {
651
+ helpText: "A thematic break or horizontal rule, often used to separate content or define a change in topic.",
652
+ documentationLink: "https://learn.supernova.io/latest/documentation/types-of-blocks/text/divider-tLuxooLH",
653
+ },
654
+ },
655
+ appearance: {
656
+ isBordered: true,
657
+ hasBackground: false,
658
+ isEditorPresentationDifferent: false,
659
+ showBlockHeaderInEditor: false,
660
+ },
661
+ },
662
+ {
663
+ id: "io.supernova.block.blockquote",
664
+ name: "Quote",
665
+ description: "Display a quotation",
666
+ category: "Text",
667
+ icon: "https://cdn-assets.supernova.io/blocks/icons/blockquote.svg",
668
+ searchKeywords: ["cite", "blockquote"],
669
+ item: {
670
+ properties: [
671
+ {
672
+ id: "text",
673
+ name: "Text",
674
+ type: "RichText",
675
+ options: { placeholder: "Write a quote...", richTextStyle: "Quote" },
676
+ },
677
+ ],
678
+ appearance: { isBordered: true, hasBackground: false },
679
+ variants: [
680
+ {
681
+ id: "default",
682
+ name: "Default",
683
+ layout: { type: "Column", children: ["text"], columnAlign: "Start", columnResizing: "Fill", gap: "Medium" },
684
+ maxColumns: 1,
685
+ defaultColumns: 1,
686
+ appearance: {},
687
+ },
688
+ ],
689
+ defaultVariantKey: "default",
690
+ },
691
+ behavior: { dataType: "Item", items: { numberOfItems: 1, allowLinks: false } },
692
+ editorOptions: {
693
+ onboarding: {
694
+ helpText: "Use a blockquote to set off a quotation or cited content from the main text.",
695
+ documentationLink: "https://learn.supernova.io/latest/documentation/types-of-blocks/text/blockquote-zYWAsb6X",
696
+ },
697
+ },
698
+ appearance: {
699
+ isBordered: true,
700
+ hasBackground: false,
701
+ isEditorPresentationDifferent: false,
702
+ showBlockHeaderInEditor: false,
703
+ },
704
+ },
705
+ {
706
+ id: "io.supernova.block.callout",
707
+ name: "Callout",
708
+ description: "Highlight a section of text",
709
+ category: "Text",
710
+ icon: "https://cdn-assets.supernova.io/blocks/icons/v3/callout.svg",
711
+ searchKeywords: ["banner", "alert", "note", "tip", "warning"],
712
+ item: {
713
+ properties: [
714
+ {
715
+ id: "text",
716
+ name: "Text",
717
+ type: "RichText",
718
+ options: { placeholder: "Highlight some information...", richTextStyle: "Callout" },
719
+ },
720
+ ],
721
+ appearance: { isBordered: true, hasBackground: false },
722
+ variants: [
723
+ {
724
+ id: "default",
725
+ name: "Default",
726
+ layout: { type: "Column", children: ["text"], columnAlign: "Start", columnResizing: "Fill", gap: "Medium" },
727
+ maxColumns: 1,
728
+ defaultColumns: 1,
729
+ appearance: {},
730
+ },
731
+ ],
732
+ defaultVariantKey: "default",
733
+ },
734
+ behavior: { dataType: "Item", items: { numberOfItems: 1, allowLinks: false } },
735
+ editorOptions: {
736
+ onboarding: {
737
+ helpText: "Use to highlight a section of text.",
738
+ documentationLink: "https://learn.supernova.io/latest/documentation/types-of-blocks/text/callout-ZPlZObD1",
739
+ },
740
+ },
741
+ appearance: {
742
+ isBordered: true,
743
+ hasBackground: false,
744
+ isEditorPresentationDifferent: false,
745
+ showBlockHeaderInEditor: false,
746
+ },
747
+ },
748
+ {
749
+ id: "io.supernova.block.image",
750
+ name: "Image",
751
+ description: "Display an image or Figma image",
752
+ category: "Media",
753
+ icon: "https://cdn-assets.supernova.io/blocks/icons/v2/image.svg",
754
+ searchKeywords: ["image", "figma", "frame", "picture", "photo"],
755
+ item: {
756
+ properties: [
757
+ {
758
+ id: "image",
759
+ name: "Image",
760
+ type: "Image",
761
+ options: { allowCaption: true },
762
+ },
763
+ ],
764
+ appearance: { isBordered: true, hasBackground: false },
765
+ variants: [
766
+ {
767
+ id: "default",
768
+ name: "Default",
769
+ layout: { type: "Column", children: ["image"], columnAlign: "Start", columnResizing: "Fill", gap: "Medium" },
770
+ maxColumns: 1,
771
+ defaultColumns: 1,
772
+ appearance: {},
773
+ },
774
+ ],
775
+ defaultVariantKey: "default",
776
+ },
777
+ behavior: { dataType: "Item", items: { numberOfItems: 1, allowLinks: false } },
778
+ editorOptions: {
779
+ onboarding: {
780
+ helpText: "Use to display an image or Figma image.",
781
+ documentationLink:
782
+ "https://learn.supernova.io/latest/documentation/types-of-blocks/media-and-assets/image-Ue8VdT8B",
783
+ },
784
+ },
785
+ appearance: {
786
+ isBordered: false,
787
+ hasBackground: false,
788
+ isEditorPresentationDifferent: false,
789
+ showBlockHeaderInEditor: false,
790
+ },
791
+ },
792
+ {
793
+ id: "io.supernova.block.shortcut-links",
794
+ name: "Shortcut links",
795
+ description: "Link to a page or external URL",
796
+ category: "Media",
797
+ icon: "https://cdn-assets.supernova.io/blocks/icons/v2/shortcuts.svg",
798
+ searchKeywords: ["url", "page", "card"],
799
+ item: {
800
+ properties: [
801
+ {
802
+ id: "block.links.property.image",
803
+ name: "Image",
804
+ type: "Image",
805
+ options: { aspectRatio: "Landscape", allowCaption: false },
806
+ variantOptions: {
807
+ iconOnTop: { width: "Icon", aspectRatio: "Square" },
808
+ imageOnLeft: { width: "Medium" },
809
+ iconOnLeft: { width: "Icon", aspectRatio: "Square" },
810
+ },
811
+ },
812
+ {
813
+ id: "block.links.property.title",
814
+ name: "Title",
815
+ type: "Text",
816
+ options: { textStyle: "Title5", placeholder: "Add title", allowLineBreaks: false },
817
+ },
818
+ {
819
+ id: "block.links.property.description",
820
+ name: "Short description",
821
+ type: "Text",
822
+ options: { textStyle: "Default", color: "NeutralFaded", placeholder: "Add description" },
823
+ },
824
+ ],
825
+ appearance: { isBordered: true, hasBackground: false },
826
+ variants: [
827
+ {
828
+ id: "imageOnTop",
829
+ name: "Image on top",
830
+ image: "https://cdn-assets.supernova.io/blocks/variants/shortcuts-image-on-top.svg",
831
+ layout: {
832
+ type: "Column",
833
+ children: ["block.links.property.image", "block.links.property.title", "block.links.property.description"],
834
+ columnAlign: "Start",
835
+ columnResizing: "Fill",
836
+ gap: "Medium",
837
+ },
838
+ maxColumns: 4,
839
+ defaultColumns: 3,
840
+ appearance: {},
841
+ },
842
+ {
843
+ id: "imageOnLeft",
844
+ name: "Image on left",
845
+ image: "https://cdn-assets.supernova.io/blocks/variants/shortcuts-leading-image.svg",
846
+ layout: {
847
+ type: "Row",
848
+ children: [
849
+ {
850
+ type: "Column",
851
+ children: ["block.links.property.image"],
852
+ columnAlign: "Start",
853
+ columnResizing: "Hug",
854
+ gap: "Medium",
855
+ },
856
+ {
857
+ type: "Column",
858
+ children: ["block.links.property.title", "block.links.property.description"],
859
+ columnAlign: "Start",
860
+ columnResizing: "Fill",
861
+ gap: "Small",
862
+ },
863
+ ],
864
+ columnAlign: "Start",
865
+ columnResizing: "Fill",
866
+ gap: "Medium",
867
+ },
868
+ maxColumns: 1,
869
+ defaultColumns: 1,
870
+ appearance: {},
871
+ },
872
+ {
873
+ id: "iconOnTop",
874
+ name: "Icon on top",
875
+ image: "https://cdn-assets.supernova.io/blocks/variants/shortcuts-icon-on-top.svg",
876
+ layout: {
877
+ type: "Column",
878
+ children: ["block.links.property.image", "block.links.property.title", "block.links.property.description"],
879
+ columnAlign: "Start",
880
+ columnResizing: "Fill",
881
+ gap: "Medium",
882
+ },
883
+ maxColumns: 4,
884
+ defaultColumns: 1,
885
+ appearance: {},
886
+ },
887
+ {
888
+ id: "iconOnLeft",
889
+ name: "Icon on left",
890
+ image: "https://cdn-assets.supernova.io/blocks/variants/shortcuts-leading-icon.svg",
891
+ layout: {
892
+ type: "Row",
893
+ children: [
894
+ {
895
+ type: "Column",
896
+ children: ["block.links.property.image"],
897
+ columnAlign: "Start",
898
+ columnResizing: "Hug",
899
+ gap: "Medium",
900
+ },
901
+ {
902
+ type: "Column",
903
+ children: ["block.links.property.title", "block.links.property.description"],
904
+ columnAlign: "Start",
905
+ columnResizing: "Fill",
906
+ gap: "Small",
907
+ },
908
+ ],
909
+ columnAlign: "Start",
910
+ columnResizing: "Fill",
911
+ gap: "Medium",
912
+ },
913
+ maxColumns: 2,
914
+ defaultColumns: 1,
915
+ appearance: {},
916
+ },
917
+ ],
918
+ defaultVariantKey: "imageOnTop",
919
+ },
920
+ behavior: {
921
+ dataType: "Item",
922
+ items: { numberOfItems: -1, allowLinks: true, newItemLabel: "Add shortcut" },
923
+ },
924
+ editorOptions: {
925
+ onboarding: {
926
+ helpText: "Use link block to create single or multiple links to places in or out of your documentation.",
927
+ documentationLink:
928
+ "https://learn.supernova.io/latest/documentation/types-of-blocks/links/shortcuts/general-jVfNifo4",
929
+ },
930
+ newItemLabel: "Add shortcut",
931
+ },
932
+ appearance: {
933
+ isBordered: true,
934
+ hasBackground: false,
935
+ isEditorPresentationDifferent: false,
936
+ showBlockHeaderInEditor: false,
937
+ },
938
+ },
939
+ {
940
+ id: "io.supernova.block.embed-figma",
941
+ name: "Figma embed",
942
+ description: "Embed a Figma canvas or prototype",
943
+ category: "Media",
944
+ icon: "https://cdn-assets.supernova.io/blocks/icons/embed-figma.svg",
945
+ searchKeywords: ["embed", "figma", "design", "prototype", "canvas"],
946
+ item: {
947
+ properties: [
948
+ {
949
+ id: "embed",
950
+ name: "Figma URL",
951
+ type: "EmbedURL",
952
+ options: {
953
+ allowCaption: false,
954
+ allowResize: true,
955
+ defaultHeight: 400,
956
+ urlValidationRegex: "^(https?://)?(www.)?(figma.com)/.+$",
957
+ },
958
+ },
959
+ ],
960
+ appearance: { isBordered: true, hasBackground: false },
961
+ variants: [
962
+ {
963
+ id: "default",
964
+ name: "Default",
965
+ layout: { type: "Column", children: ["embed"], columnAlign: "Start", columnResizing: "Fill", gap: "Medium" },
966
+ maxColumns: 1,
967
+ defaultColumns: 1,
968
+ appearance: {},
969
+ },
970
+ ],
971
+ defaultVariantKey: "default",
972
+ },
973
+ behavior: { dataType: "Item", items: { numberOfItems: 1, allowLinks: false } },
974
+ editorOptions: {
975
+ onboarding: {
976
+ helpText: "Embed a Figma canvas or prototype to your documentation.",
977
+ documentationLink: "https://learn.supernova.io/latest/documentation/types-of-blocks/figma/embed-figma-GPNJsT8A",
978
+ },
979
+ },
980
+ appearance: {
981
+ isBordered: true,
982
+ hasBackground: false,
983
+ isEditorPresentationDifferent: false,
984
+ showBlockHeaderInEditor: false,
985
+ },
986
+ },
987
+ {
988
+ id: "io.supernova.block.storybook",
989
+ name: "Storybook",
990
+ description: "Embed Storybook canvas",
991
+ category: "Media",
992
+ icon: "https://cdn-assets.supernova.io/blocks/icons/storybook.svg",
993
+ searchKeywords: ["storybook", "story", "stories", "example", "preview", "code", "react"],
994
+ item: {
995
+ properties: [
996
+ {
997
+ id: "embed",
998
+ name: "Storybook URL",
999
+ type: "Storybook",
1000
+ options: {
1001
+ allowCaption: true,
1002
+ allowResize: true,
1003
+ defaultHeight: 400,
1004
+ renderLayoutAs: "Iframe",
1005
+ },
1006
+ variantOptions: {
1007
+ playground: {
1008
+ renderLayoutAs: "Playground",
1009
+ defaultHeight: 400,
1010
+ allowResize: true,
1011
+ },
1012
+ },
1013
+ },
1014
+ ],
1015
+ appearance: {
1016
+ isBordered: true,
1017
+ hasBackground: false,
1018
+ },
1019
+ variants: [
1020
+ {
1021
+ id: "playground",
1022
+ name: "Playground",
1023
+ image: "https://cdn-assets.supernova.io/blocks/variants/storybook-playground.svg",
1024
+ description: "Embed a Storybook story with a preview of the component and controls to adjust the props.",
1025
+ layout: {
1026
+ type: "Column",
1027
+ children: ["embed"],
1028
+ columnAlign: "Start",
1029
+ columnResizing: "Fill",
1030
+ gap: "Medium",
1031
+ },
1032
+ maxColumns: 1,
1033
+ defaultColumns: 1,
1034
+ appearance: {},
1035
+ },
1036
+ {
1037
+ id: "default",
1038
+ name: "HTML iframe",
1039
+ image: "https://cdn-assets.supernova.io/blocks/variants/storybook-iframe.svg",
1040
+ description: "Embed a Storybook story in an iframe.",
1041
+ layout: {
1042
+ type: "Column",
1043
+ children: ["embed"],
1044
+ columnAlign: "Start",
1045
+ columnResizing: "Fill",
1046
+ gap: "Medium",
1047
+ },
1048
+ maxColumns: 1,
1049
+ defaultColumns: 1,
1050
+ appearance: {},
1051
+ },
1052
+ ],
1053
+ defaultVariantKey: "playground",
1054
+ },
1055
+ behavior: {
1056
+ dataType: "Item",
1057
+ items: {
1058
+ numberOfItems: 1,
1059
+ allowLinks: false,
1060
+ },
1061
+ },
1062
+ editorOptions: {
1063
+ onboarding: {
1064
+ helpText: "Embed a Storybook story to your documentation.",
1065
+ documentationLink: "https://learn.supernova.io/latest/documentation/types-of-blocks/code/storybook-1EGPhwBl",
1066
+ },
1067
+ },
1068
+ appearance: {
1069
+ isBordered: true,
1070
+ hasBackground: false,
1071
+ isEditorPresentationDifferent: false,
1072
+ showBlockHeaderInEditor: false,
1073
+ },
1074
+ },
1075
+ {
1076
+ id: "io.supernova.block.embed-youtube",
1077
+ name: "YouTube",
1078
+ description: "Embed a Youtube video",
1079
+ category: "Media",
1080
+ icon: "https://cdn-assets.supernova.io/blocks/icons/embed-youtube.svg",
1081
+ searchKeywords: ["embed", "video", "player", "upload"],
1082
+ item: {
1083
+ properties: [
1084
+ {
1085
+ id: "embed",
1086
+ name: "Youtube URL",
1087
+ type: "EmbedURL",
1088
+ options: {
1089
+ allowCaption: false,
1090
+ allowResize: false,
1091
+ defaultHeight: 400,
1092
+ urlValidationRegex: "^(https?://)?(www.)?(youtube.com|youtu.?be)/.+$",
1093
+ },
1094
+ },
1095
+ ],
1096
+ appearance: { isBordered: true, hasBackground: false },
1097
+ variants: [
1098
+ {
1099
+ id: "default",
1100
+ name: "Default",
1101
+ layout: { type: "Column", children: ["embed"], columnAlign: "Start", columnResizing: "Fill", gap: "Medium" },
1102
+ maxColumns: 1,
1103
+ defaultColumns: 1,
1104
+ appearance: {},
1105
+ },
1106
+ ],
1107
+ defaultVariantKey: "default",
1108
+ },
1109
+ behavior: { dataType: "Item", items: { numberOfItems: 1, allowLinks: false } },
1110
+ editorOptions: {
1111
+ onboarding: {
1112
+ helpText: "Embed a YouTube video to your documentation.",
1113
+ documentationLink:
1114
+ "https://learn.supernova.io/latest/documentation/types-of-blocks/media-and-assets/youtube-Gh8VUrSF",
1115
+ },
1116
+ },
1117
+ appearance: {
1118
+ isBordered: true,
1119
+ hasBackground: false,
1120
+ isEditorPresentationDifferent: false,
1121
+ showBlockHeaderInEditor: false,
1122
+ },
1123
+ },
1124
+ {
1125
+ id: "io.supernova.block.embed-lottie",
1126
+ name: "Lottie animation",
1127
+ description: "Preview a Lottie animation",
1128
+ category: "Media",
1129
+ icon: "https://cdn-assets.supernova.io/blocks/icons/lottie.svg",
1130
+ searchKeywords: ["embed", "lottie", "animation", "rive", "json"],
1131
+ item: {
1132
+ properties: [
1133
+ {
1134
+ id: "url",
1135
+ name: "Lottie URL",
1136
+ type: "URL",
1137
+ description: "Add URL to your Lottie animation file. We support .json and .lottie file extensions.",
1138
+ options: { urlValidationRegex: "^(http|https)://.*.(json|lottie)$" },
1139
+ },
1140
+ {
1141
+ id: "height",
1142
+ name: "Height",
1143
+ type: "Number",
1144
+ options: { defaultValue: 270 },
1145
+ },
1146
+ {
1147
+ id: "width",
1148
+ name: "Width",
1149
+ type: "Number",
1150
+ options: { defaultValue: 400 },
1151
+ },
1152
+ {
1153
+ id: "autoplay",
1154
+ name: "Autoplay",
1155
+ type: "Boolean",
1156
+ options: { defaultValue: true },
1157
+ },
1158
+ {
1159
+ id: "loop",
1160
+ name: "Loop",
1161
+ type: "Boolean",
1162
+ options: { defaultValue: true },
1163
+ },
1164
+ {
1165
+ id: "playerControls",
1166
+ name: "Show player controls",
1167
+ type: "Boolean",
1168
+ options: { defaultValue: true },
1169
+ },
1170
+ ],
1171
+ appearance: { isBordered: true, hasBackground: false },
1172
+ variants: [
1173
+ {
1174
+ id: "default",
1175
+ name: "Default",
1176
+ image: "https://cdn-assets.supernova.io/blocks/variants/lottie-player.svg",
1177
+ description: "Embed a Lottie animation to your documentation.",
1178
+ layout: {
1179
+ type: "Column",
1180
+ children: ["url", "height", "width", "autoplay", "loop", "playerControls"],
1181
+ columnAlign: "Start",
1182
+ columnResizing: "Fill",
1183
+ gap: "Medium",
1184
+ },
1185
+ maxColumns: 1,
1186
+ defaultColumns: 1,
1187
+ appearance: {},
1188
+ },
1189
+ ],
1190
+ defaultVariantKey: "default",
1191
+ },
1192
+ behavior: { dataType: "Item", items: { numberOfItems: 1, allowLinks: false } },
1193
+ editorOptions: {
1194
+ onboarding: {
1195
+ helpText: "Embed a Lottie animation to your documentation.",
1196
+ documentationLink:
1197
+ "https://learn.supernova.io/latest/documentation/types-of-blocks/media-and-assets/lottie-preview-7CqFdGv9",
1198
+ },
1199
+ },
1200
+ appearance: {
1201
+ isBordered: true,
1202
+ hasBackground: false,
1203
+ isEditorPresentationDifferent: true,
1204
+ showBlockHeaderInEditor: true,
1205
+ },
1206
+ },
1207
+ {
1208
+ id: "io.supernova.block.embed",
1209
+ name: "Embed",
1210
+ description: "Embed a generic URL",
1211
+ category: "Media",
1212
+ icon: "https://cdn-assets.supernova.io/blocks/icons/embed.svg",
1213
+ searchKeywords: ["embed", "url", "iframe", "site", "import"],
1214
+ item: {
1215
+ properties: [
1216
+ {
1217
+ id: "embedUrl",
1218
+ name: "Embed URL",
1219
+ type: "EmbedURL",
1220
+ options: {
1221
+ allowCaption: true,
1222
+ allowResize: true,
1223
+ defaultHeight: 400,
1224
+ urlValidationRegex: "^(https?://)?(www.)?.+$",
1225
+ },
1226
+ },
1227
+ ],
1228
+ appearance: { isBordered: true, hasBackground: false },
1229
+ variants: [
1230
+ {
1231
+ id: "default",
1232
+ name: "Default",
1233
+ layout: {
1234
+ type: "Column",
1235
+ children: ["embedUrl"],
1236
+ columnAlign: "Start",
1237
+ columnResizing: "Fill",
1238
+ gap: "Medium",
1239
+ },
1240
+ maxColumns: 1,
1241
+ defaultColumns: 1,
1242
+ appearance: {},
1243
+ },
1244
+ ],
1245
+ defaultVariantKey: "default",
1246
+ },
1247
+ behavior: { dataType: "Item", items: { numberOfItems: 1, allowLinks: false } },
1248
+ editorOptions: {
1249
+ onboarding: {
1250
+ helpText: "Embed any page to your documentation as an iframe.",
1251
+ documentationLink:
1252
+ "https://learn.supernova.io/latest/documentation/types-of-blocks/media-and-assets/embed/public-url-2ZeRQ332",
1253
+ },
1254
+ },
1255
+ appearance: {
1256
+ isBordered: true,
1257
+ hasBackground: false,
1258
+ isEditorPresentationDifferent: false,
1259
+ showBlockHeaderInEditor: false,
1260
+ },
1261
+ },
1262
+ {
1263
+ id: "io.supernova.block.markdown",
1264
+ name: "Markdown",
1265
+ description: "Render Markdown URL",
1266
+ category: "Other",
1267
+ icon: "https://cdn-assets.supernova.io/blocks/icons/markdown.svg",
1268
+ searchKeywords: ["md", "embed", "api", "props", "mdx"],
1269
+ item: {
1270
+ properties: [
1271
+ {
1272
+ id: "markdownUrl",
1273
+ name: "Markdown URL",
1274
+ type: "Markdown",
1275
+ options: { urlValidationRegex: "^(https?://)?(www\\.)?.+\\.md(\\?.*)?$" },
1276
+ },
1277
+ ],
1278
+ appearance: { isBordered: true, hasBackground: false },
1279
+ variants: [
1280
+ {
1281
+ id: "plain",
1282
+ name: "Plain",
1283
+ image: "https://cdn-assets.supernova.io/blocks/variants/markdown-plain.svg",
1284
+ layout: {
1285
+ type: "Column",
1286
+ children: ["markdownUrl"],
1287
+ columnAlign: "Start",
1288
+ columnResizing: "Fill",
1289
+ gap: "Medium",
1290
+ },
1291
+ maxColumns: 1,
1292
+ defaultColumns: 1,
1293
+ appearance: {},
1294
+ },
1295
+ {
1296
+ id: "bordered",
1297
+ name: "Bordered",
1298
+ image: "https://cdn-assets.supernova.io/blocks/variants/markdown-bordered.svg",
1299
+ layout: {
1300
+ type: "Column",
1301
+ children: ["markdownUrl"],
1302
+ columnAlign: "Start",
1303
+ columnResizing: "Fill",
1304
+ gap: "Medium",
1305
+ },
1306
+ maxColumns: 1,
1307
+ defaultColumns: 1,
1308
+ appearance: {},
1309
+ },
1310
+ {
1311
+ id: "boxed",
1312
+ name: "Boxed",
1313
+ image: "https://cdn-assets.supernova.io/blocks/variants/markdown-boxed.svg",
1314
+ layout: {
1315
+ type: "Column",
1316
+ children: ["markdownUrl"],
1317
+ columnAlign: "Start",
1318
+ columnResizing: "Fill",
1319
+ gap: "Medium",
1320
+ },
1321
+ maxColumns: 1,
1322
+ defaultColumns: 1,
1323
+ appearance: {},
1324
+ },
1325
+ ],
1326
+ defaultVariantKey: "plain",
1327
+ },
1328
+ behavior: { dataType: "Item", items: { numberOfItems: 1, allowLinks: false } },
1329
+ editorOptions: {
1330
+ onboarding: {
1331
+ helpText: "Render any markdown file directly inside of your documentation.",
1332
+ documentationLink:
1333
+ "https://learn.supernova.io/latest/documentation/types-of-blocks/code/markdown/general-B8wQVOem",
1334
+ },
1335
+ },
1336
+ appearance: {
1337
+ isBordered: true,
1338
+ hasBackground: false,
1339
+ isEditorPresentationDifferent: true,
1340
+ showBlockHeaderInEditor: false,
1341
+ },
1342
+ },
1343
+ {
1344
+ id: "io.supernova.block.table",
1345
+ name: "Table",
1346
+ description: "Display a simple table",
1347
+ category: "Layout",
1348
+ icon: "https://cdn-assets.supernova.io/blocks/icons/v2/table.svg",
1349
+ searchKeywords: ["grid", "data", "spreadsheet", "api"],
1350
+ item: {
1351
+ properties: [{ id: "table", name: "Table", type: "Table", options: {} }],
1352
+ appearance: { isBordered: true, hasBackground: false },
1353
+ variants: [
1354
+ {
1355
+ id: "default",
1356
+ name: "Default",
1357
+ layout: { type: "Column", children: ["table"], columnAlign: "Start", columnResizing: "Fill", gap: "Medium" },
1358
+ maxColumns: 1,
1359
+ defaultColumns: 1,
1360
+ appearance: {},
1361
+ },
1362
+ ],
1363
+ defaultVariantKey: "default",
1364
+ },
1365
+ behavior: { dataType: "Item", items: { numberOfItems: 1, allowLinks: false } },
1366
+ editorOptions: {
1367
+ onboarding: {
1368
+ helpText: "Use for displaying data in a tabular format.",
1369
+ documentationLink: "https://learn.supernova.io/latest/documentation/types-of-blocks/layout/table-R8KGnxej",
1370
+ },
1371
+ },
1372
+ appearance: {
1373
+ isBordered: true,
1374
+ hasBackground: false,
1375
+ isEditorPresentationDifferent: false,
1376
+ showBlockHeaderInEditor: false,
1377
+ },
1378
+ },
1379
+ {
1380
+ id: "io.supernova.block.design-tokens",
1381
+ name: "Design tokens",
1382
+ description: "A list of design tokens",
1383
+ category: "Tokens",
1384
+ icon: "https://cdn-assets.supernova.io/blocks/icons/v2/design-tokens.svg",
1385
+ searchKeywords: [
1386
+ "tokens",
1387
+ "color",
1388
+ "typography",
1389
+ "spacing",
1390
+ "grid",
1391
+ "material",
1392
+ "theme",
1393
+ "token list",
1394
+ "token group",
1395
+ ],
1396
+ item: {
1397
+ properties: [
1398
+ {
1399
+ id: "tokens",
1400
+ name: "Tokens",
1401
+ type: "Token",
1402
+ options: { renderLayoutAs: "List", defaultTheme: "none", defaultValuePreview: "Split" },
1403
+ variantOptions: { grid: { renderLayoutAs: "Grid" } },
1404
+ },
1405
+ ],
1406
+ appearance: { isBordered: true, hasBackground: false },
1407
+ variants: [
1408
+ {
1409
+ id: "table",
1410
+ name: "Table",
1411
+ image: "https://cdn-assets.supernova.io/blocks/variants/tokens-table.svg",
1412
+ layout: { type: "Column", children: ["tokens"], columnAlign: "Start", columnResizing: "Fill", gap: "Medium" },
1413
+ maxColumns: 1,
1414
+ defaultColumns: 1,
1415
+ appearance: {},
1416
+ },
1417
+ {
1418
+ id: "grid",
1419
+ name: "Grid",
1420
+ image: "https://cdn-assets.supernova.io/blocks/variants/tokens-grid.svg",
1421
+ layout: { type: "Column", children: ["tokens"], columnAlign: "Start", columnResizing: "Fill", gap: "Medium" },
1422
+ maxColumns: 4,
1423
+ defaultColumns: 1,
1424
+ appearance: {},
1425
+ },
1426
+ ],
1427
+ defaultVariantKey: "table",
1428
+ },
1429
+ behavior: { dataType: "Token", entities: { selectionType: "EntityAndGroup", maxSelected: 0 } },
1430
+ editorOptions: {
1431
+ onboarding: {
1432
+ helpText: "Show a group of design tokens. Automatically display all subgroups too.",
1433
+ documentationLink:
1434
+ "https://learn.supernova.io/latest/documentation/types-of-blocks/token/tokens/general-84NRgxGl#section-token-group-09",
1435
+ },
1436
+ },
1437
+ appearance: {
1438
+ isBordered: true,
1439
+ hasBackground: false,
1440
+ isEditorPresentationDifferent: false,
1441
+ showBlockHeaderInEditor: false,
1442
+ },
1443
+ },
1444
+ {
1445
+ id: "io.supernova.block.token-color-ramps",
1446
+ name: "Color ramps",
1447
+ description: "The best way to display colors",
1448
+ category: "Tokens",
1449
+ icon: "https://cdn-assets.supernova.io/blocks/icons/color-ramp.svg",
1450
+ searchKeywords: ["tokens", "ramp", "shades", "palette", "spectrum", "stack", "range", "swatch"],
1451
+ item: {
1452
+ properties: [
1453
+ {
1454
+ id: "tokens",
1455
+ name: "Tokens",
1456
+ type: "Token",
1457
+ options: { allowedTypes: ["Color"], allowPropertySelection: false, allowThemeSelection: true },
1458
+ },
1459
+ ],
1460
+ appearance: { isBordered: true, hasBackground: false },
1461
+ variants: [
1462
+ {
1463
+ id: "default",
1464
+ name: "Default",
1465
+ image: "https://cdn-assets.supernova.io/blocks/variants/tokens-color-stack.svg",
1466
+ layout: { type: "Column", children: ["tokens"], columnAlign: "Start", columnResizing: "Fill", gap: "Medium" },
1467
+ maxColumns: 2,
1468
+ defaultColumns: 1,
1469
+ appearance: { isEditorPresentationDifferent: true },
1470
+ },
1471
+ ],
1472
+ defaultVariantKey: "default",
1473
+ },
1474
+ behavior: { dataType: "Token", entities: { selectionType: "EntityAndGroup", maxSelected: 0 } },
1475
+ editorOptions: {
1476
+ onboarding: { helpText: "The best way to display colors", documentationLink: "https://learn.supernova.io" },
1477
+ },
1478
+ appearance: {
1479
+ isBordered: true,
1480
+ hasBackground: false,
1481
+ isEditorPresentationDifferent: false,
1482
+ showBlockHeaderInEditor: false,
1483
+ },
1484
+ },
1485
+ {
1486
+ id: "io.supernova.block.color-accessibility-grid",
1487
+ name: "Accessibility color grid",
1488
+ description: "Visualize accessibility of your color tokens",
1489
+ category: "Tokens",
1490
+ icon: "https://cdn-assets.supernova.io/blocks/icons/v3/token-accessibility-grid.svg",
1491
+ searchKeywords: ["tokens", "color", "accessibility", "grid", "contrast"],
1492
+ item: {
1493
+ properties: [
1494
+ {
1495
+ id: "tokens",
1496
+ name: "Tokens",
1497
+ type: "Token",
1498
+ options: { allowedTypes: ["Color"], allowPropertySelection: false, allowThemeSelection: false },
1499
+ },
1500
+ ],
1501
+ appearance: { isBordered: true, hasBackground: false },
1502
+ variants: [
1503
+ {
1504
+ id: "default",
1505
+ name: "Default",
1506
+ image: "https://cdn-assets.supernova.io/blocks/variants/contrast-grid-large.svg",
1507
+ description:
1508
+ "Visualize accessibility of your colors by automatically calculating their color contrast ratio.",
1509
+ layout: { type: "Column", children: ["tokens"], columnAlign: "Start", columnResizing: "Fill", gap: "Medium" },
1510
+ maxColumns: 1,
1511
+ defaultColumns: 1,
1512
+ appearance: { isEditorPresentationDifferent: true },
1513
+ },
1514
+ ],
1515
+ defaultVariantKey: "default",
1516
+ },
1517
+ behavior: { dataType: "Token", entities: { selectionType: "EntityAndGroup", maxSelected: 0 } },
1518
+ editorOptions: {
1519
+ onboarding: {
1520
+ helpText: "Visualize accessibility of your colors by automatically calculating their color contrast ratio.",
1521
+ documentationLink: "https://learn.supernova.io",
1522
+ },
1523
+ },
1524
+ appearance: {
1525
+ isBordered: true,
1526
+ hasBackground: false,
1527
+ isEditorPresentationDifferent: false,
1528
+ showBlockHeaderInEditor: false,
1529
+ },
1530
+ },
1531
+ {
1532
+ id: "io.supernova.block.code",
1533
+ name: "Code",
1534
+ description: "Display simple code examples",
1535
+ category: "Code",
1536
+ icon: "https://cdn-assets.supernova.io/blocks/icons/code.svg",
1537
+ searchKeywords: ["code"],
1538
+ item: {
1539
+ properties: [
1540
+ {
1541
+ id: "code",
1542
+ name: "Code",
1543
+ type: "Code",
1544
+ options: {},
1545
+ },
1546
+ ],
1547
+ appearance: {
1548
+ isBordered: true,
1549
+ hasBackground: false,
1550
+ },
1551
+ variants: [
1552
+ {
1553
+ id: "default",
1554
+ name: "Default",
1555
+ layout: {
1556
+ type: "Column",
1557
+ children: ["code"],
1558
+ columnAlign: "Start",
1559
+ columnResizing: "Fill",
1560
+ gap: "Medium",
1561
+ },
1562
+ maxColumns: 1,
1563
+ defaultColumns: 1,
1564
+ appearance: {},
1565
+ },
1566
+ ],
1567
+ defaultVariantKey: "default",
1568
+ },
1569
+ behavior: {
1570
+ dataType: "Item",
1571
+ items: {
1572
+ numberOfItems: 1,
1573
+ allowLinks: false,
1574
+ },
1575
+ },
1576
+ editorOptions: {
1577
+ onboarding: {
1578
+ helpText: "Display simple code examples",
1579
+ },
1580
+ },
1581
+ appearance: {
1582
+ isBordered: false,
1583
+ hasBackground: false,
1584
+ isEditorPresentationDifferent: false,
1585
+ showBlockHeaderInEditor: false,
1586
+ },
1587
+ },
1588
+ {
1589
+ id: "io.supernova.block.code-react",
1590
+ name: "React code",
1591
+ description: "Render a code snippet",
1592
+ category: "Code",
1593
+ icon: "https://cdn-assets.supernova.io/blocks/icons/v3/code-react.svg",
1594
+ searchKeywords: ["code", "react", "snippet", "storybook", "editor", "example", "sandbox"],
1595
+ item: {
1596
+ properties: [
1597
+ {
1598
+ id: "code",
1599
+ name: "Code",
1600
+ type: "CodeSandbox",
1601
+ options: { renderLayoutAs: "PreviewOnTop" },
1602
+ variantOptions: {
1603
+ codeTop: { renderLayoutAs: "PreviewOnBottom" },
1604
+ codeLeft: { renderLayoutAs: "PreviewOnRight" },
1605
+ codeRight: { renderLayoutAs: "PreviewOnLeft" },
1606
+ },
1607
+ },
1608
+ ],
1609
+ appearance: { isBordered: true, hasBackground: false },
1610
+ variants: [
1611
+ {
1612
+ id: "codeBottom",
1613
+ name: "Full width, code bottom",
1614
+ image: "https://cdn-assets.supernova.io/blocks/variants/react-code-bottom.svg",
1615
+ description: "Full-width block of code, with a preview on top.",
1616
+ layout: { type: "Column", children: ["code"], columnAlign: "Start", columnResizing: "Fill", gap: "Medium" },
1617
+ maxColumns: 1,
1618
+ defaultColumns: 1,
1619
+ appearance: {},
1620
+ },
1621
+ {
1622
+ id: "codeTop",
1623
+ name: "Full width, code top",
1624
+ image: "https://cdn-assets.supernova.io/blocks/variants/react-code-top.svg",
1625
+ description: "Full-width block of code, with a preview on bottom.",
1626
+ layout: { type: "Column", children: ["code"], columnAlign: "Start", columnResizing: "Fill", gap: "Medium" },
1627
+ maxColumns: 1,
1628
+ defaultColumns: 1,
1629
+ appearance: {},
1630
+ },
1631
+ {
1632
+ id: "codeLeft",
1633
+ name: "Side by side, code left",
1634
+ image: "https://cdn-assets.supernova.io/blocks/variants/react-code-left.svg",
1635
+ description: "Side-by-side preview and code, with code on the left.",
1636
+ layout: { type: "Column", children: ["code"], columnAlign: "Start", columnResizing: "Fill", gap: "Medium" },
1637
+ maxColumns: 1,
1638
+ defaultColumns: 1,
1639
+ appearance: {},
1640
+ },
1641
+ {
1642
+ id: "codeRight",
1643
+ name: "Side by side, code right",
1644
+ image: "https://cdn-assets.supernova.io/blocks/variants/react-code-right.svg",
1645
+ description: "Side-by-side preview and code, with code on the right.",
1646
+ layout: { type: "Column", children: ["code"], columnAlign: "Start", columnResizing: "Fill", gap: "Medium" },
1647
+ maxColumns: 1,
1648
+ defaultColumns: 1,
1649
+ appearance: {},
1650
+ },
1651
+ ],
1652
+ defaultVariantKey: "codeBottom",
1653
+ },
1654
+ behavior: { dataType: "Item", items: { numberOfItems: 1, allowLinks: false } },
1655
+ editorOptions: {
1656
+ onboarding: {
1657
+ helpText: "Display rendered code example",
1658
+ documentationLink:
1659
+ "https://learn.supernova.io/latest/documentation/types-of-blocks/code/render-react-code-vxufnkFm",
1660
+ },
1661
+ },
1662
+ appearance: {
1663
+ isBordered: false,
1664
+ hasBackground: false,
1665
+ isEditorPresentationDifferent: false,
1666
+ showBlockHeaderInEditor: false,
1667
+ },
1668
+ },
1669
+ {
1670
+ id: "io.supernova.block.assets",
1671
+ name: "Vector assets",
1672
+ description: "Display icons or illustrations",
1673
+ category: "Assets",
1674
+ icon: "https://cdn-assets.supernova.io/blocks/icons/v2/assets.svg",
1675
+ searchKeywords: ["icons", "illustrations", "grid", "svg", "logos", "vectors"],
1676
+ item: {
1677
+ properties: [
1678
+ {
1679
+ id: "assets",
1680
+ name: "Assets",
1681
+ type: "Asset",
1682
+ options: {},
1683
+ },
1684
+ ],
1685
+ appearance: {
1686
+ isBordered: true,
1687
+ hasBackground: false,
1688
+ },
1689
+ variants: [
1690
+ {
1691
+ id: "default",
1692
+ name: "Simple grid",
1693
+ image: "https://cdn-assets.supernova.io/blocks/variants/assets-simple-grid.svg",
1694
+ description: "A simple grid. Both the title and description are displayed below the preview.",
1695
+ layout: {
1696
+ type: "Column",
1697
+ children: ["assets"],
1698
+ columnAlign: "Start",
1699
+ columnResizing: "Fill",
1700
+ gap: "Medium",
1701
+ },
1702
+ maxColumns: 8,
1703
+ defaultColumns: 4,
1704
+ appearance: {},
1705
+ },
1706
+ {
1707
+ id: "square-grid",
1708
+ name: "Square grid",
1709
+ image: "https://cdn-assets.supernova.io/blocks/variants/assets-square-grid.svg",
1710
+ description: "Bordered square grid tailored for displaying icon assets.",
1711
+ layout: {
1712
+ type: "Column",
1713
+ children: ["assets"],
1714
+ columnAlign: "Start",
1715
+ columnResizing: "Fill",
1716
+ gap: "Medium",
1717
+ },
1718
+ maxColumns: 8,
1719
+ defaultColumns: 4,
1720
+ appearance: {
1721
+ isEditorPresentationDifferent: true,
1722
+ },
1723
+ },
1724
+ {
1725
+ id: "borderless-grid",
1726
+ name: "Borderless grid",
1727
+ image: "https://cdn-assets.supernova.io/blocks/variants/assets-borderless-grid.svg",
1728
+ description: "Borderless grid, perfect for displaying vector assets of the same height.",
1729
+ layout: {
1730
+ type: "Column",
1731
+ children: ["assets"],
1732
+ columnAlign: "Start",
1733
+ columnResizing: "Fill",
1734
+ gap: "Medium",
1735
+ },
1736
+ maxColumns: 8,
1737
+ defaultColumns: 4,
1738
+ appearance: {
1739
+ isEditorPresentationDifferent: true,
1740
+ },
1741
+ },
1742
+ ],
1743
+ defaultVariantKey: "default",
1744
+ },
1745
+ behavior: {
1746
+ dataType: "Asset",
1747
+ entities: {
1748
+ selectionType: "EntityAndGroup",
1749
+ maxSelected: 0,
1750
+ },
1751
+ },
1752
+ editorOptions: {
1753
+ onboarding: {
1754
+ helpText: "Display a grid of icons or illustrations.",
1755
+ documentationLink:
1756
+ "https://learn.supernova.io/latest/documentation/types-of-blocks/media-and-assets/asset/general-xa6EgXb2",
1757
+ },
1758
+ },
1759
+ appearance: {
1760
+ isBordered: true,
1761
+ hasBackground: false,
1762
+ isEditorPresentationDifferent: false,
1763
+ showBlockHeaderInEditor: false,
1764
+ },
1765
+ },
1766
+ {
1767
+ id: "io.supernova.block.figma-frames",
1768
+ name: "Figma images",
1769
+ description: "Generate images from Figma layers",
1770
+ category: "Figma",
1771
+ icon: "https://cdn-assets.supernova.io/blocks/icons/v2/figma-frames.svg",
1772
+ searchKeywords: ["figma", "frames", "image", "layer"],
1773
+ item: {
1774
+ properties: [
1775
+ {
1776
+ id: "figmaNodes",
1777
+ name: "Figma Frames",
1778
+ type: "FigmaNode",
1779
+ options: {},
1780
+ },
1781
+ ],
1782
+ appearance: { isBordered: true, hasBackground: false },
1783
+ variants: [
1784
+ {
1785
+ id: "bordered",
1786
+ name: "Bordered",
1787
+ image: "https://cdn-assets.supernova.io/blocks/variants/figma-nodes-boxed.svg",
1788
+ description: "Tiles with background and border, great for larger sets of frames.",
1789
+ layout: {
1790
+ type: "Column",
1791
+ children: ["figmaNodes"],
1792
+ columnAlign: "Start",
1793
+ columnResizing: "Fill",
1794
+ gap: "Medium",
1795
+ },
1796
+ maxColumns: 8,
1797
+ defaultColumns: 1,
1798
+ appearance: {},
1799
+ },
1800
+ {
1801
+ id: "plain",
1802
+ name: "Plain",
1803
+ image: "https://cdn-assets.supernova.io/blocks/variants/figma-nodes-plain.svg",
1804
+ description: "Frame as it is in Figma with no extra formatting, great for single images.",
1805
+ layout: {
1806
+ type: "Column",
1807
+ children: ["figmaNodes"],
1808
+ columnAlign: "Start",
1809
+ columnResizing: "Fill",
1810
+ gap: "Medium",
1811
+ },
1812
+ maxColumns: 8,
1813
+ defaultColumns: 1,
1814
+ appearance: {},
1815
+ },
1816
+ ],
1817
+ defaultVariantKey: "bordered",
1818
+ },
1819
+ behavior: { dataType: "FigmaNode", entities: { selectionType: "Entity", maxSelected: 0 } },
1820
+ editorOptions: {
1821
+ onboarding: {
1822
+ helpText: "Generate images from Figma layers",
1823
+ documentationLink:
1824
+ "https://learn.supernova.io/latest/documentation/types-of-blocks/figma/figma-frames/general-f3IYC5dg",
1825
+ },
1826
+ },
1827
+ appearance: {
1828
+ isBordered: true,
1829
+ hasBackground: false,
1830
+ isEditorPresentationDifferent: false,
1831
+ showBlockHeaderInEditor: false,
1832
+ },
1833
+ },
1834
+ {
1835
+ id: "io.supernova.block.release-notes",
1836
+ name: "Release notes",
1837
+ description: "Show version release notes",
1838
+ category: "Other",
1839
+ icon: "https://cdn-assets.supernova.io/blocks/icons/release-notes.svg",
1840
+ searchKeywords: ["version", "changelog", "history"],
1841
+ item: {
1842
+ properties: [],
1843
+ appearance: { isBordered: true, hasBackground: false },
1844
+ variants: [
1845
+ {
1846
+ id: "default",
1847
+ name: "Default",
1848
+ image: "https://cdn-assets.supernova.io/blocks/variants/release-notes-2.svg",
1849
+ description: "Show formatted release notes from all previously released versions.",
1850
+ layout: { type: "Column", children: [], columnAlign: "Start", columnResizing: "Fill", gap: "Medium" },
1851
+ maxColumns: 1,
1852
+ defaultColumns: 1,
1853
+ appearance: {},
1854
+ },
1855
+ ],
1856
+ defaultVariantKey: "default",
1857
+ },
1858
+ behavior: { dataType: "Item", items: { numberOfItems: 1, allowLinks: false } },
1859
+ editorOptions: {
1860
+ onboarding: {
1861
+ helpText: "Show formatted release notes from all previously released versions.",
1862
+ },
1863
+ },
1864
+ appearance: {
1865
+ isBordered: true,
1866
+ hasBackground: false,
1867
+ isEditorPresentationDifferent: true,
1868
+ showBlockHeaderInEditor: true,
1869
+ },
1870
+ },
1871
+ {
1872
+ id: "io.supernova.block.component-checklist",
1873
+ name: "Component checklist",
1874
+ description: "Highlight specific component properties",
1875
+ category: "Components",
1876
+ icon: "https://cdn-assets.supernova.io/blocks/icons/v2/component-checklist.svg",
1877
+ searchKeywords: ["components", "health", "properties", "overview", "status"],
1878
+ item: {
1879
+ properties: [
1880
+ {
1881
+ id: "components",
1882
+ name: "Components",
1883
+ type: "Component",
1884
+ options: { renderLayoutAs: "List" },
1885
+ },
1886
+ {
1887
+ id: "title",
1888
+ name: "Title",
1889
+ type: "Text",
1890
+ options: { defaultValue: "Component checklist" },
1891
+ },
1892
+ {
1893
+ id: "showDescription",
1894
+ name: "Show description",
1895
+ type: "Boolean",
1896
+ options: { defaultValue: true },
1897
+ },
1898
+ ],
1899
+ appearance: { isBordered: true, hasBackground: false },
1900
+ variants: [
1901
+ {
1902
+ id: "default",
1903
+ name: "Default",
1904
+ image: "https://cdn-assets.supernova.io/blocks/variants/component-checklist.svg",
1905
+ layout: {
1906
+ type: "Column",
1907
+ children: ["components", "showDescription"],
1908
+ columnAlign: "Start",
1909
+ columnResizing: "Fill",
1910
+ gap: "Medium",
1911
+ },
1912
+ maxColumns: 1,
1913
+ defaultColumns: 1,
1914
+ appearance: { isEditorPresentationDifferent: true },
1915
+ },
1916
+ ],
1917
+ defaultVariantKey: "default",
1918
+ },
1919
+ behavior: { dataType: "Component", entities: { selectionType: "Entity", maxSelected: 1 } },
1920
+ editorOptions: {
1921
+ onboarding: {
1922
+ helpText: "Highlight specific component properties",
1923
+ documentationLink:
1924
+ "https://learn.supernova.io/latest/documentation/types-of-blocks/component/component-checklist-NXepPIpZ",
1925
+ },
1926
+ },
1927
+ appearance: {
1928
+ isBordered: true,
1929
+ hasBackground: false,
1930
+ isEditorPresentationDifferent: false,
1931
+ showBlockHeaderInEditor: false,
1932
+ },
1933
+ },
1934
+ {
1935
+ id: "io.supernova.block.component-checklist-all",
1936
+ name: "Component overview table",
1937
+ description: "Show an overview of all components",
1938
+ category: "Components",
1939
+ icon: "https://cdn-assets.supernova.io/blocks/icons/component-overview-table.svg",
1940
+ searchKeywords: ["components", "health", "overview", "status"],
1941
+ item: {
1942
+ properties: [
1943
+ {
1944
+ id: "components",
1945
+ name: "Components",
1946
+ type: "Component",
1947
+ options: { renderLayoutAs: "Table" },
1948
+ },
1949
+ {
1950
+ id: "showLastUpdatedColumn",
1951
+ name: "Show last updated column",
1952
+ type: "Boolean",
1953
+ options: { defaultValue: true },
1954
+ },
1955
+ ],
1956
+ appearance: { isBordered: true, hasBackground: false },
1957
+ variants: [
1958
+ {
1959
+ id: "default",
1960
+ name: "Default",
1961
+ image: "https://cdn-assets.supernova.io/blocks/variants/component-overview-table.svg",
1962
+ layout: {
1963
+ type: "Column",
1964
+ children: ["components", "showLastUpdatedColumn"],
1965
+ columnAlign: "Start",
1966
+ columnResizing: "Fill",
1967
+ gap: "Medium",
1968
+ },
1969
+ maxColumns: 1,
1970
+ defaultColumns: 1,
1971
+ appearance: { isEditorPresentationDifferent: true },
1972
+ },
1973
+ ],
1974
+ defaultVariantKey: "default",
1975
+ },
1976
+ behavior: { dataType: "Component", entities: { selectionType: "Group", maxSelected: 1 } },
1977
+ editorOptions: {
1978
+ onboarding: {
1979
+ helpText: "Show an overview of all your components",
1980
+ documentationLink:
1981
+ "https://learn.supernova.io/latest/documentation/types-of-blocks/component/component-overview-table-W8eOtJ5t",
1982
+ },
1983
+ },
1984
+ appearance: {
1985
+ isBordered: true,
1986
+ hasBackground: false,
1987
+ isEditorPresentationDifferent: false,
1988
+ showBlockHeaderInEditor: false,
1989
+ },
1990
+ },
1991
+ {
1992
+ id: "io.supernova.block.component-health",
1993
+ name: "Component health",
1994
+ description: "Show component health and other attributes",
1995
+ category: "Components",
1996
+ icon: "https://cdn-assets.supernova.io/blocks/icons/v2/component-health.svg",
1997
+ searchKeywords: ["components", "health", "properties", "overview", "status"],
1998
+ item: {
1999
+ properties: [
2000
+ {
2001
+ id: "components",
2002
+ name: "Components",
2003
+ type: "Component",
2004
+ options: { renderLayoutAs: "List" },
2005
+ },
2006
+ ],
2007
+ appearance: { isBordered: true, hasBackground: false },
2008
+ variants: [
2009
+ {
2010
+ id: "default",
2011
+ name: "Default",
2012
+ image: "https://cdn-assets.supernova.io/blocks/variants/component-health.svg",
2013
+ layout: {
2014
+ type: "Column",
2015
+ children: ["components"],
2016
+ columnAlign: "Start",
2017
+ columnResizing: "Fill",
2018
+ gap: "Medium",
2019
+ },
2020
+ maxColumns: 1,
2021
+ defaultColumns: 1,
2022
+ appearance: { isEditorPresentationDifferent: true },
2023
+ },
2024
+ ],
2025
+ defaultVariantKey: "default",
2026
+ },
2027
+ behavior: { dataType: "Component", entities: { selectionType: "Entity", maxSelected: 1 } },
2028
+ editorOptions: {
2029
+ onboarding: {
2030
+ helpText: "Show component health and additional attributes",
2031
+ documentationLink:
2032
+ "https://learn.supernova.io/latest/documentation/types-of-blocks/component/component-health-sezSxEED",
2033
+ },
2034
+ },
2035
+ appearance: {
2036
+ isBordered: true,
2037
+ hasBackground: false,
2038
+ isEditorPresentationDifferent: false,
2039
+ showBlockHeaderInEditor: false,
2040
+ },
2041
+ },
2042
+ {
2043
+ id: "io.supernova.block.figma-components",
2044
+ name: "Figma component",
2045
+ description: "Display components and variants from Figma",
2046
+ category: "Figma",
2047
+ icon: "https://cdn-assets.supernova.io/blocks/icons/figma-component.svg",
2048
+ searchKeywords: ["variants", "properties"],
2049
+ item: {
2050
+ properties: [
2051
+ {
2052
+ id: "figmaComponent",
2053
+ name: "Figma component",
2054
+ type: "FigmaComponent",
2055
+ options: {
2056
+ renderLayoutAs: "Grid",
2057
+ },
2058
+ variantOptions: {
2059
+ canvas: {
2060
+ renderLayoutAs: "Canvas",
2061
+ },
2062
+ },
2063
+ },
2064
+ ],
2065
+ appearance: {
2066
+ isBordered: true,
2067
+ hasBackground: false,
2068
+ },
2069
+ variants: [
2070
+ {
2071
+ id: "grid",
2072
+ name: "Grid",
2073
+ image: "https://cdn-assets.supernova.io/blocks/variants/figma-component-grid.svg",
2074
+ description: "Components or variants will be rendered individually in a grid layout",
2075
+ layout: {
2076
+ type: "Column",
2077
+ children: ["figmaComponent"],
2078
+ columnAlign: "Start",
2079
+ columnResizing: "Fill",
2080
+ gap: "Medium",
2081
+ },
2082
+ maxColumns: 4,
2083
+ defaultColumns: 1,
2084
+ appearance: {},
2085
+ },
2086
+ {
2087
+ id: "canvas",
2088
+ name: "Canvas",
2089
+ image: "https://cdn-assets.supernova.io/blocks/variants/figma-component-canvas.svg",
2090
+ description: "Components or variants will be rendered on a single canvas",
2091
+ layout: {
2092
+ type: "Column",
2093
+ children: ["figmaComponent"],
2094
+ columnAlign: "Start",
2095
+ columnResizing: "Fill",
2096
+ gap: "Medium",
2097
+ },
2098
+ maxColumns: 4,
2099
+ defaultColumns: 1,
2100
+ appearance: {},
2101
+ },
2102
+ ],
2103
+ defaultVariantKey: "grid",
2104
+ },
2105
+ behavior: {
2106
+ dataType: "FigmaComponent",
2107
+ entities: {
2108
+ selectionType: "Entity",
2109
+ maxSelected: 0,
2110
+ },
2111
+ },
2112
+ editorOptions: {
2113
+ onboarding: {
2114
+ helpText: "Display Figma component variants or group of components.",
2115
+ documentationLink:
2116
+ "https://learn.supernova.io/latest/documentation/types-of-blocks/token/tokens/general-84NRgxGl#section-token-group-09",
2117
+ },
2118
+ },
2119
+ appearance: {
2120
+ isBordered: true,
2121
+ hasBackground: false,
2122
+ isEditorPresentationDifferent: false,
2123
+ showBlockHeaderInEditor: false,
2124
+ },
2125
+ },
2126
+ {
2127
+ id: "io.supernova.block.figma-components-propstable",
2128
+ name: "Figma component properties",
2129
+ description: "Display list of Figma component properties",
2130
+ category: "Figma",
2131
+ icon: "https://cdn-assets.supernova.io/blocks/icons/figma-component-properties.svg",
2132
+ searchKeywords: ["variants", "properties", "props", "table"],
2133
+ item: {
2134
+ properties: [
2135
+ {
2136
+ id: "figmaComponent",
2137
+ name: "Figma component",
2138
+ type: "FigmaComponent",
2139
+ options: {
2140
+ renderLayoutAs: "PropsTable",
2141
+ invertPropertySelection: true,
2142
+ },
2143
+ },
2144
+ ],
2145
+ appearance: {
2146
+ isBordered: true,
2147
+ hasBackground: false,
2148
+ },
2149
+ variants: [
2150
+ {
2151
+ id: "default",
2152
+ name: "Default",
2153
+ layout: {
2154
+ type: "Column",
2155
+ children: ["figmaComponent"],
2156
+ columnAlign: "Start",
2157
+ columnResizing: "Fill",
2158
+ gap: "Medium",
2159
+ },
2160
+ maxColumns: 1,
2161
+ defaultColumns: 1,
2162
+ appearance: {},
2163
+ },
2164
+ ],
2165
+ defaultVariantKey: "default",
2166
+ },
2167
+ behavior: {
2168
+ dataType: "FigmaComponent",
2169
+ entities: {
2170
+ selectionType: "Entity",
2171
+ maxSelected: 1,
2172
+ },
2173
+ },
2174
+ editorOptions: {
2175
+ onboarding: {
2176
+ helpText: "Display properties based on Figma component data.",
2177
+ documentationLink: "",
2178
+ },
2179
+ },
2180
+ appearance: {
2181
+ isBordered: true,
2182
+ hasBackground: false,
2183
+ isEditorPresentationDifferent: false,
2184
+ showBlockHeaderInEditor: false,
2185
+ },
2186
+ },
2187
+ {
2188
+ id: "io.supernova.block.files",
2189
+ name: "File upload",
2190
+ description: "Display attachments for download",
2191
+ category: "Media",
2192
+ icon: "https://cdn-assets.supernova.io/blocks/icons/files.svg",
2193
+ searchKeywords: ["files", "attachments", "download", "upload"],
2194
+ item: {
2195
+ properties: [
2196
+ {
2197
+ id: "files",
2198
+ name: "Files",
2199
+ type: "File",
2200
+ options: {
2201
+ renderLayoutAs: "iconOnLeft",
2202
+ },
2203
+ variantOptions: {
2204
+ iconOnTop: {
2205
+ renderLayoutAs: "iconOnTop",
2206
+ },
2207
+ iconOnLeft: {
2208
+ renderLayoutAs: "iconOnLeft",
2209
+ },
2210
+ },
2211
+ },
2212
+ ],
2213
+ appearance: {
2214
+ isBordered: true,
2215
+ hasBackground: false,
2216
+ },
2217
+ variants: [
2218
+ {
2219
+ id: "iconOnTop",
2220
+ name: "Icon on top",
2221
+ image: "https://cdn-assets.supernova.io/blocks/variants/files-icon-on-top.svg",
2222
+ layout: {
2223
+ type: "Column",
2224
+ children: ["files"],
2225
+ columnAlign: "Start",
2226
+ columnResizing: "Fill",
2227
+ gap: "Medium",
2228
+ },
2229
+ maxColumns: 4,
2230
+ defaultColumns: 1,
2231
+ appearance: {},
2232
+ },
2233
+ {
2234
+ id: "iconOnLeft",
2235
+ name: "Icon on left",
2236
+ image: "https://cdn-assets.supernova.io/blocks/variants/files-leading-icon.svg",
2237
+ layout: {
2238
+ type: "Column",
2239
+ children: ["files"],
2240
+ columnAlign: "Start",
2241
+ columnResizing: "Fill",
2242
+ gap: "Medium",
2243
+ },
2244
+ maxColumns: 2,
2245
+ defaultColumns: 1,
2246
+ appearance: {},
2247
+ },
2248
+ ],
2249
+ defaultVariantKey: "iconOnTop",
2250
+ },
2251
+ behavior: {
2252
+ dataType: "File",
2253
+ entities: {
2254
+ selectionType: "Entity",
2255
+ maxSelected: 0,
2256
+ },
2257
+ },
2258
+ editorOptions: {
2259
+ onboarding: {
2260
+ helpText: "Display attachments for download",
2261
+ documentationLink: "https://learn.supernova.io/file-upload-block",
2262
+ },
2263
+ },
2264
+ appearance: {
2265
+ isBordered: false,
2266
+ hasBackground: false,
2267
+ isEditorPresentationDifferent: false,
2268
+ showBlockHeaderInEditor: false,
2269
+ },
2270
+ },
2271
+ ];