Third-party notices
zvena is a hosted service built with open-source software. Here are the parts that come under their own licences, and the source of zvena Design, a modified Penpot.
Open-source parts of zvena
zvena Design
The base: Penpot 2.18.3 (© Kaleidos INC and contributors, licensed under the MPL 2.0). Our changes to Penpot files, and the new files we added inside it, are under the same MPL 2.0 terms. Design's code runs in your browser, so its source for the version that runs is offered below.
Other open-source libraries
Used under their own licences — for example the Docs editor BlockNote 0.55.0 (MPL 2.0; its source is at that link), Tiptap and ProseMirror (MIT). The full list, with each notice its licence asks us to keep: third-party notices (text).
zvena
Everything else is zvena's own, offered as a hosted service under our Terms of Service; it is not open source.
zvena Design source
The archives of this release, version 2.18.3-zvena.clean-69383978, based on Penpot 2.18.3 (MPL-2.0), each with its size and SHA-256.
- zvena-design-2.18.3-zvena.clean-69383978-modified.tar.gz9.4 MB · SHA-256 ee474f49ae6dc678…
- zvena-design-2.18.3-zvena.clean-69383978-src.tar.gz127 MB · SHA-256 49ae4ee9994c8209…
- zvena-design-2.18.3-zvena.clean-69383978.patch6.7 MB · SHA-256 127499b75cd31aa5…
Our changes to Penpot
Every file we changed or added (975), and every file we deleted (119), under the same MPL 2.0 terms as Penpot.
Modified and added files (975)
backend/resources/app/email/change-email/en.htmlbackend/resources/app/email/change-email/en.txtbackend/resources/app/email/comment-mention/en.htmlbackend/resources/app/email/comment-mention/en.txtbackend/resources/app/email/comment-notification/en.htmlbackend/resources/app/email/comment-notification/en.txtbackend/resources/app/email/comment-thread/en.htmlbackend/resources/app/email/comment-thread/en.txtbackend/resources/app/email/feedback/en.subjbackend/resources/app/email/includes/footer.htmlbackend/resources/app/email/invite-to-organization/en.htmlbackend/resources/app/email/invite-to-organization/en.txtbackend/resources/app/email/invite-to-team/en.htmlbackend/resources/app/email/invite-to-team/en.txtbackend/resources/app/email/join-team/en.htmlbackend/resources/app/email/join-team/en.txtbackend/resources/app/email/organization-setup-sso/en.htmlbackend/resources/app/email/organization-setup-sso/en.txtbackend/resources/app/email/password-recovery/en.htmlbackend/resources/app/email/password-recovery/en.txtbackend/resources/app/email/register/en.htmlbackend/resources/app/email/register/en.subjbackend/resources/app/email/register/en.txtbackend/resources/app/email/renewal-notice/en.htmlbackend/resources/app/email/renewal-notice/en.txtbackend/resources/app/email/request-file-access-yourpenpot-view/en.htmlbackend/resources/app/email/request-file-access-yourpenpot-view/en.txtbackend/resources/app/email/request-file-access-yourpenpot/en.htmlbackend/resources/app/email/request-file-access-yourpenpot/en.txtbackend/resources/app/email/request-file-access/en.htmlbackend/resources/app/email/request-file-access/en.txtbackend/resources/app/email/request-team-access/en.htmlbackend/resources/app/email/request-team-access/en.txtbackend/src/app/auth/oidc.cljbackend/src/app/binfile/common.cljbackend/src/app/http/assets.cljbackend/src/app/http/client.cljbackend/src/app/http/errors.cljbackend/src/app/http/management.cljbackend/src/app/main.cljbackend/src/app/migrations.cljbackend/src/app/migrations/sql/zvena-0001-add-comment-reaction-table.sqlbackend/src/app/migrations/sql/zvena-0002-share-link-password-expiry.sqlbackend/src/app/migrations/sql/zvena-0003-library-publish.sqlbackend/src/app/migrations/sql/zvena-0004-branches.sqlbackend/src/app/migrations/sql/zvena-0005-library-events.sqlbackend/src/app/rpc.cljbackend/src/app/rpc/commands/binfile.cljbackend/src/app/rpc/commands/comments.cljbackend/src/app/rpc/commands/files.cljbackend/src/app/rpc/commands/files_share.cljbackend/src/app/rpc/commands/fonts.cljbackend/src/app/rpc/commands/media.cljbackend/src/app/rpc/commands/profile.cljbackend/src/app/rpc/commands/projects.cljbackend/src/app/rpc/commands/teams.cljbackend/src/app/rpc/commands/teams_invitations.cljbackend/src/app/rpc/commands/verify_token.cljbackend/src/app/rpc/commands/viewer.cljbackend/src/app/tasks/file_gc.cljbackend/src/app/zvena/accounts.cljbackend/src/app/zvena/branches.cljbackend/src/app/zvena/bridge.cljbackend/src/app/zvena/figma.cljbackend/src/app/zvena/library_analytics.cljbackend/src/app/zvena/library_publish.cljbackend/src/app/zvena/limits.cljbackend/src/app/zvena/management.cljbackend/src/app/zvena/share_links.cljbackend/src/app/zvena/teams.cljbackend/src/app/zvena/trial.cljbackend/test/backend_tests/rpc_zvena_profile_test.cljcommon/src/app/common/colors.cljccommon/src/app/common/files/changes.cljccommon/src/app/common/geom/modifiers.cljccommon/src/app/common/geom/shapes/flex_layout/baseline.cljccommon/src/app/common/geom/shapes/flex_layout/bounds.cljccommon/src/app/common/geom/shapes/flex_layout/layout_data.cljccommon/src/app/common/geom/shapes/flex_layout/modifiers.cljccommon/src/app/common/geom/shapes/flex_layout/positions.cljccommon/src/app/common/geom/shapes/grid_layout/layout_data.cljccommon/src/app/common/geom/shapes/grid_layout/positions.cljccommon/src/app/common/logic/libraries.cljccommon/src/app/common/logic/shapes.cljccommon/src/app/common/logic/variants.cljccommon/src/app/common/types/color.cljccommon/src/app/common/types/container.cljccommon/src/app/common/types/fills/impl.cljccommon/src/app/common/types/shape/attrs.cljccommon/src/app/common/types/shape/interactions.cljccommon/src/app/common/types/shape/layout.cljccommon/src/app/common/types/shape/zvena.cljccommon/src/app/common/types/shape/zvena_effects.cljccommon/src/app/common/types/shape/zvena_vars.cljccommon/src/app/common/types/shape_tree.cljccommon/src/app/common/types/text.cljccommon/src/app/common/types/typography.cljccommon/src/app/common/types/zvena_slot.cljccommon/test/common_tests/runner.cljccommon/test/common_tests/types/shape_interactions_test.cljccommon/test/common_tests/types/shape_zvena_vars_test.cljcdocs/package.jsondocs/pnpm-lock.yamlexporter/package.jsonexporter/pnpm-lock.yamlfrontend/packages/mousetrap/index.jsfrontend/pnpm-lock.yamlfrontend/pnpm-workspace.yamlfrontend/resources/fonts/Inter-LICENSE.txtfrontend/resources/fonts/InterVariable-Italic.woff2frontend/resources/fonts/InterVariable.woff2frontend/resources/fonts/SourceSans3-LICENSE.mdfrontend/resources/fonts/ba/Inter-LICENSE.txtfrontend/resources/fonts/ba/SourceSerif4-LICENSE.txtfrontend/resources/fonts/ba/inter-cyrillic-wght-normal.woff2frontend/resources/fonts/ba/inter-latin-wght-normal.woff2frontend/resources/fonts/ba/source-serif-4-latin-opsz-normal.woff2frontend/resources/fonts/sourcesanspro-black.ttffrontend/resources/fonts/sourcesanspro-black.wofffrontend/resources/fonts/sourcesanspro-black.woff2frontend/resources/fonts/sourcesanspro-blackitalic.ttffrontend/resources/fonts/sourcesanspro-blackitalic.wofffrontend/resources/fonts/sourcesanspro-blackitalic.woff2frontend/resources/fonts/sourcesanspro-bold.ttffrontend/resources/fonts/sourcesanspro-bold.wofffrontend/resources/fonts/sourcesanspro-bold.woff2frontend/resources/fonts/sourcesanspro-bolditalic.ttffrontend/resources/fonts/sourcesanspro-bolditalic.wofffrontend/resources/fonts/sourcesanspro-bolditalic.woff2frontend/resources/fonts/sourcesanspro-extralight.ttffrontend/resources/fonts/sourcesanspro-extralight.wofffrontend/resources/fonts/sourcesanspro-extralight.woff2frontend/resources/fonts/sourcesanspro-extralightitalic.ttffrontend/resources/fonts/sourcesanspro-extralightitalic.wofffrontend/resources/fonts/sourcesanspro-extralightitalic.woff2frontend/resources/fonts/sourcesanspro-italic.ttffrontend/resources/fonts/sourcesanspro-italic.wofffrontend/resources/fonts/sourcesanspro-italic.woff2frontend/resources/fonts/sourcesanspro-light.ttffrontend/resources/fonts/sourcesanspro-light.wofffrontend/resources/fonts/sourcesanspro-light.woff2frontend/resources/fonts/sourcesanspro-lightitalic.ttffrontend/resources/fonts/sourcesanspro-lightitalic.wofffrontend/resources/fonts/sourcesanspro-lightitalic.woff2frontend/resources/fonts/sourcesanspro-regular.ttffrontend/resources/fonts/sourcesanspro-regular.wofffrontend/resources/fonts/sourcesanspro-regular.woff2frontend/resources/fonts/sourcesanspro-semibold.ttffrontend/resources/fonts/sourcesanspro-semibold.wofffrontend/resources/fonts/sourcesanspro-semibold.woff2frontend/resources/fonts/sourcesanspro-semibolditalic.ttffrontend/resources/fonts/sourcesanspro-semibolditalic.wofffrontend/resources/fonts/sourcesanspro-semibolditalic.woff2frontend/resources/images/app-icon-192.pngfrontend/resources/images/app-icon-512.pngfrontend/resources/images/app-icon-maskable-512.pngfrontend/resources/images/apple-touch-icon.pngfrontend/resources/images/assets/logo-error-screen.svgfrontend/resources/images/assets/penpot-logo-icon.svgfrontend/resources/images/assets/penpot-logo-subtle.svgfrontend/resources/images/assets/penpot-logo.svgfrontend/resources/images/email/logo-zvena.pngfrontend/resources/images/favicon.pngfrontend/resources/images/icons/absolute.svgfrontend/resources/images/icons/add.svgfrontend/resources/images/icons/align-bottom.svgfrontend/resources/images/icons/align-content-column-around.svgfrontend/resources/images/icons/align-content-column-between.svgfrontend/resources/images/icons/align-content-column-center.svgfrontend/resources/images/icons/align-content-column-end.svgfrontend/resources/images/icons/align-content-column-evenly.svgfrontend/resources/images/icons/align-content-column-start.svgfrontend/resources/images/icons/align-content-column-stretch.svgfrontend/resources/images/icons/align-content-row-around.svgfrontend/resources/images/icons/align-content-row-between.svgfrontend/resources/images/icons/align-content-row-center.svgfrontend/resources/images/icons/align-content-row-end.svgfrontend/resources/images/icons/align-content-row-evenly.svgfrontend/resources/images/icons/align-content-row-start.svgfrontend/resources/images/icons/align-content-row-stretch.svgfrontend/resources/images/icons/align-horizontal-center.svgfrontend/resources/images/icons/align-items-column-center.svgfrontend/resources/images/icons/align-items-column-end.svgfrontend/resources/images/icons/align-items-column-start.svgfrontend/resources/images/icons/align-items-row-center.svgfrontend/resources/images/icons/align-items-row-end.svgfrontend/resources/images/icons/align-items-row-start.svgfrontend/resources/images/icons/align-left.svgfrontend/resources/images/icons/align-right.svgfrontend/resources/images/icons/align-self-column-bottom.svgfrontend/resources/images/icons/align-self-column-center.svgfrontend/resources/images/icons/align-self-column-stretch.svgfrontend/resources/images/icons/align-self-column-top.svgfrontend/resources/images/icons/align-self-row-center.svgfrontend/resources/images/icons/align-self-row-left.svgfrontend/resources/images/icons/align-self-row-right.svgfrontend/resources/images/icons/align-self-row-stretch.svgfrontend/resources/images/icons/align-top.svgfrontend/resources/images/icons/align-vertical-center.svgfrontend/resources/images/icons/arrow-down-white.svgfrontend/resources/images/icons/arrow-down.svgfrontend/resources/images/icons/arrow-left.svgfrontend/resources/images/icons/arrow-right.svgfrontend/resources/images/icons/arrow-up-right.svgfrontend/resources/images/icons/arrow-up.svgfrontend/resources/images/icons/arrow.svgfrontend/resources/images/icons/asc-sort.svgfrontend/resources/images/icons/at.svgfrontend/resources/images/icons/bell.svgfrontend/resources/images/icons/board.svgfrontend/resources/images/icons/boards-thumbnail.svgfrontend/resources/images/icons/boolean-difference.svgfrontend/resources/images/icons/boolean-exclude.svgfrontend/resources/images/icons/boolean-flatten.svgfrontend/resources/images/icons/boolean-intersection.svgfrontend/resources/images/icons/boolean-union.svgfrontend/resources/images/icons/broken-link.svgfrontend/resources/images/icons/bug.svgfrontend/resources/images/icons/character-a.svgfrontend/resources/images/icons/character-b.svgfrontend/resources/images/icons/character-c.svgfrontend/resources/images/icons/character-d.svgfrontend/resources/images/icons/character-e.svgfrontend/resources/images/icons/character-f.svgfrontend/resources/images/icons/character-g.svgfrontend/resources/images/icons/character-h.svgfrontend/resources/images/icons/character-i.svgfrontend/resources/images/icons/character-j.svgfrontend/resources/images/icons/character-k.svgfrontend/resources/images/icons/character-l.svgfrontend/resources/images/icons/character-m.svgfrontend/resources/images/icons/character-n.svgfrontend/resources/images/icons/character-ntilde.svgfrontend/resources/images/icons/character-o.svgfrontend/resources/images/icons/character-p.svgfrontend/resources/images/icons/character-q.svgfrontend/resources/images/icons/character-r.svgfrontend/resources/images/icons/character-s.svgfrontend/resources/images/icons/character-t.svgfrontend/resources/images/icons/character-u.svgfrontend/resources/images/icons/character-v.svgfrontend/resources/images/icons/character-w.svgfrontend/resources/images/icons/character-x.svgfrontend/resources/images/icons/character-y.svgfrontend/resources/images/icons/character-z.svgfrontend/resources/images/icons/chart.svgfrontend/resources/images/icons/clip-content.svgfrontend/resources/images/icons/clipboard.svgfrontend/resources/images/icons/clock.svgfrontend/resources/images/icons/close-small.svgfrontend/resources/images/icons/close.svgfrontend/resources/images/icons/code.svgfrontend/resources/images/icons/column-reverse.svgfrontend/resources/images/icons/column.svgfrontend/resources/images/icons/comments.svgfrontend/resources/images/icons/component-copy.svgfrontend/resources/images/icons/component.svgfrontend/resources/images/icons/constraint-horizontal.svgfrontend/resources/images/icons/constraint-vertical.svgfrontend/resources/images/icons/corner-bottom-left.svgfrontend/resources/images/icons/corner-bottom-right.svgfrontend/resources/images/icons/corner-bottom.svgfrontend/resources/images/icons/corner-center.svgfrontend/resources/images/icons/corner-radius.svgfrontend/resources/images/icons/corner-top-left.svgfrontend/resources/images/icons/corner-top-right.svgfrontend/resources/images/icons/corner-top.svgfrontend/resources/images/icons/crown.svgfrontend/resources/images/icons/curve.svgfrontend/resources/images/icons/delete-text.svgfrontend/resources/images/icons/delete.svgfrontend/resources/images/icons/desc-sort.svgfrontend/resources/images/icons/detach.svgfrontend/resources/images/icons/detached.svgfrontend/resources/images/icons/distribute-horizontally.svgfrontend/resources/images/icons/distribute-vertical-spacing.svgfrontend/resources/images/icons/document.svgfrontend/resources/images/icons/download.svgfrontend/resources/images/icons/drop-shadow.svgfrontend/resources/images/icons/drop.svgfrontend/resources/images/icons/easing-ease-in-out.svgfrontend/resources/images/icons/easing-ease-in.svgfrontend/resources/images/icons/easing-ease-out.svgfrontend/resources/images/icons/easing-ease.svgfrontend/resources/images/icons/easing-linear.svgfrontend/resources/images/icons/effects.svgfrontend/resources/images/icons/ellipse.svgfrontend/resources/images/icons/exit.svgfrontend/resources/images/icons/expand.svgfrontend/resources/images/icons/external-link.svgfrontend/resources/images/icons/eye-off.svgfrontend/resources/images/icons/feedback.svgfrontend/resources/images/icons/fill-content.svgfrontend/resources/images/icons/filter.svgfrontend/resources/images/icons/fit-content.svgfrontend/resources/images/icons/fixed-width.svgfrontend/resources/images/icons/flex-grid.svgfrontend/resources/images/icons/flex-horizontal.svgfrontend/resources/images/icons/flex-vertical.svgfrontend/resources/images/icons/flex.svgfrontend/resources/images/icons/flip-horizontal.svgfrontend/resources/images/icons/flip-vertical.svgfrontend/resources/images/icons/folder.svgfrontend/resources/images/icons/forms.svgfrontend/resources/images/icons/gap-horizontal.svgfrontend/resources/images/icons/gap-vertical.svgfrontend/resources/images/icons/graphics.svgfrontend/resources/images/icons/grid-column.svgfrontend/resources/images/icons/grid-columns.svgfrontend/resources/images/icons/grid-gutter.svgfrontend/resources/images/icons/grid-margin.svgfrontend/resources/images/icons/grid-row.svgfrontend/resources/images/icons/grid-rows.svgfrontend/resources/images/icons/grid-square.svgfrontend/resources/images/icons/grid.svgfrontend/resources/images/icons/group.svgfrontend/resources/images/icons/gutter-horizontal.svgfrontend/resources/images/icons/gutter-vertical.svgfrontend/resources/images/icons/hand.svgfrontend/resources/images/icons/help.svgfrontend/resources/images/icons/hide.svgfrontend/resources/images/icons/history.svgfrontend/resources/images/icons/hsva.svgfrontend/resources/images/icons/html.svgfrontend/resources/images/icons/hug-content.svgfrontend/resources/images/icons/icon-verify.svgfrontend/resources/images/icons/icon.svgfrontend/resources/images/icons/img.svgfrontend/resources/images/icons/import-export.svgfrontend/resources/images/icons/info.svgfrontend/resources/images/icons/inner-shadow.svgfrontend/resources/images/icons/interaction.svgfrontend/resources/images/icons/join-nodes.svgfrontend/resources/images/icons/justify-content-column-around.svgfrontend/resources/images/icons/justify-content-column-between.svgfrontend/resources/images/icons/justify-content-column-center.svgfrontend/resources/images/icons/justify-content-column-end.svgfrontend/resources/images/icons/justify-content-column-evenly.svgfrontend/resources/images/icons/justify-content-column-start.svgfrontend/resources/images/icons/justify-content-row-around.svgfrontend/resources/images/icons/justify-content-row-between.svgfrontend/resources/images/icons/justify-content-row-center.svgfrontend/resources/images/icons/justify-content-row-end.svgfrontend/resources/images/icons/justify-content-row-evenly.svgfrontend/resources/images/icons/justify-content-row-start.svgfrontend/resources/images/icons/layers.svgfrontend/resources/images/icons/library.svgfrontend/resources/images/icons/loader.svgfrontend/resources/images/icons/locate.svgfrontend/resources/images/icons/lock.svgfrontend/resources/images/icons/margin-bottom.svgfrontend/resources/images/icons/margin-left-right.svgfrontend/resources/images/icons/margin-left.svgfrontend/resources/images/icons/margin-right.svgfrontend/resources/images/icons/margin-top-bottom.svgfrontend/resources/images/icons/margin-top.svgfrontend/resources/images/icons/margin.svgfrontend/resources/images/icons/mask.svgfrontend/resources/images/icons/masked.svgfrontend/resources/images/icons/menu.svgfrontend/resources/images/icons/merge-nodes.svgfrontend/resources/images/icons/move.svgfrontend/resources/images/icons/msg-error.svgfrontend/resources/images/icons/msg-neutral.svgfrontend/resources/images/icons/msg-success.svgfrontend/resources/images/icons/msg-warning.svgfrontend/resources/images/icons/number.svgfrontend/resources/images/icons/oauth-1.svgfrontend/resources/images/icons/oauth-2.svgfrontend/resources/images/icons/oauth-3.svgfrontend/resources/images/icons/open-link.svgfrontend/resources/images/icons/padding-bottom.svgfrontend/resources/images/icons/padding-extended.svgfrontend/resources/images/icons/padding-left-right.svgfrontend/resources/images/icons/padding-left.svgfrontend/resources/images/icons/padding-right.svgfrontend/resources/images/icons/padding-top-bottom.svgfrontend/resources/images/icons/padding-top.svgfrontend/resources/images/icons/panel-left.svgfrontend/resources/images/icons/path.svgfrontend/resources/images/icons/penpot-logo-icon-loader.svgfrontend/resources/images/icons/penpot-logo-icon.svgfrontend/resources/images/icons/penpot-logo.svgfrontend/resources/images/icons/pentool.svgfrontend/resources/images/icons/percentage.svgfrontend/resources/images/icons/picker.svgfrontend/resources/images/icons/pin.svgfrontend/resources/images/icons/play.svgfrontend/resources/images/icons/polygon.svgfrontend/resources/images/icons/puzzle.svgfrontend/resources/images/icons/rectangle.svgfrontend/resources/images/icons/reload.svgfrontend/resources/images/icons/remove.svgfrontend/resources/images/icons/reorder.svgfrontend/resources/images/icons/rgba-complementary.svgfrontend/resources/images/icons/rgba.svgfrontend/resources/images/icons/rotation.svgfrontend/resources/images/icons/row-reverse.svgfrontend/resources/images/icons/row.svgfrontend/resources/images/icons/scale.svgfrontend/resources/images/icons/search.svgfrontend/resources/images/icons/section.svgfrontend/resources/images/icons/separate-nodes.svgfrontend/resources/images/icons/settings.svgfrontend/resources/images/icons/share.svgfrontend/resources/images/icons/shown.svgfrontend/resources/images/icons/size-horizontal.svgfrontend/resources/images/icons/size-vertical.svgfrontend/resources/images/icons/slice.svgfrontend/resources/images/icons/slot.svgfrontend/resources/images/icons/snap-nodes.svgfrontend/resources/images/icons/sparkles.svgfrontend/resources/images/icons/star.svgfrontend/resources/images/icons/status-alert.svgfrontend/resources/images/icons/status-tick.svgfrontend/resources/images/icons/status-update.svgfrontend/resources/images/icons/status-wrong.svgfrontend/resources/images/icons/stroke-arrow.svgfrontend/resources/images/icons/stroke-bottom.svgfrontend/resources/images/icons/stroke-center.svgfrontend/resources/images/icons/stroke-circle.svgfrontend/resources/images/icons/stroke-dashed.svgfrontend/resources/images/icons/stroke-diamond.svgfrontend/resources/images/icons/stroke-dotted.svgfrontend/resources/images/icons/stroke-extended.svgfrontend/resources/images/icons/stroke-inside.svgfrontend/resources/images/icons/stroke-left.svgfrontend/resources/images/icons/stroke-mixed.svgfrontend/resources/images/icons/stroke-outside.svgfrontend/resources/images/icons/stroke-rectangle.svgfrontend/resources/images/icons/stroke-right.svgfrontend/resources/images/icons/stroke-rounded.svgfrontend/resources/images/icons/stroke-size.svgfrontend/resources/images/icons/stroke-solid.svgfrontend/resources/images/icons/stroke-squared.svgfrontend/resources/images/icons/stroke-top.svgfrontend/resources/images/icons/stroke-triangle.svgfrontend/resources/images/icons/svg.svgfrontend/resources/images/icons/swatches.svgfrontend/resources/images/icons/switch.svgfrontend/resources/images/icons/text-align-center.svgfrontend/resources/images/icons/text-align-left.svgfrontend/resources/images/icons/text-align-right.svgfrontend/resources/images/icons/text-auto-height.svgfrontend/resources/images/icons/text-auto-width.svgfrontend/resources/images/icons/text-bottom.svgfrontend/resources/images/icons/text-fixed.svgfrontend/resources/images/icons/text-font-family.svgfrontend/resources/images/icons/text-font-size.svgfrontend/resources/images/icons/text-font-weight.svgfrontend/resources/images/icons/text-justify.svgfrontend/resources/images/icons/text-letterspacing.svgfrontend/resources/images/icons/text-lineheight.svgfrontend/resources/images/icons/text-lowercase.svgfrontend/resources/images/icons/text-ltr.svgfrontend/resources/images/icons/text-middle.svgfrontend/resources/images/icons/text-mixed.svgfrontend/resources/images/icons/text-palette.svgfrontend/resources/images/icons/text-paragraph.svgfrontend/resources/images/icons/text-rtl.svgfrontend/resources/images/icons/text-stroked.svgfrontend/resources/images/icons/text-top.svgfrontend/resources/images/icons/text-typography.svgfrontend/resources/images/icons/text-underlined.svgfrontend/resources/images/icons/text-uppercase.svgfrontend/resources/images/icons/text.svgfrontend/resources/images/icons/thumbnail.svgfrontend/resources/images/icons/tick.svgfrontend/resources/images/icons/to-corner.svgfrontend/resources/images/icons/to-curve.svgfrontend/resources/images/icons/token-status-full.svgfrontend/resources/images/icons/token-status-non-applied.svgfrontend/resources/images/icons/token-status-partial.svgfrontend/resources/images/icons/tokens.svgfrontend/resources/images/icons/tree.svgfrontend/resources/images/icons/unlock.svgfrontend/resources/images/icons/user.svgfrontend/resources/images/icons/v2-icon-1.svgfrontend/resources/images/icons/v2-icon-2.svgfrontend/resources/images/icons/v2-icon-3.svgfrontend/resources/images/icons/v2-icon-4.svgfrontend/resources/images/icons/variant.svgfrontend/resources/images/icons/vertical-align-items-center.svgfrontend/resources/images/icons/vertical-align-items-end.svgfrontend/resources/images/icons/vertical-align-items-start.svgfrontend/resources/images/icons/view-as-icons.svgfrontend/resources/images/icons/view-as-list.svgfrontend/resources/images/icons/wrap.svgfrontend/resources/images/link-preview.jpgfrontend/resources/images/manifest.jsonfrontend/resources/images/registration-illustration.pngfrontend/resources/styles/common/base.scssfrontend/resources/styles/common/dependencies/fonts.scssfrontend/resources/styles/common/refactor/basic-rules.scssfrontend/resources/styles/common/refactor/borders.scssfrontend/resources/styles/common/refactor/color-defs.scssfrontend/resources/styles/common/refactor/common-dashboard.scssfrontend/resources/styles/common/refactor/design-tokens.scssfrontend/resources/styles/common/refactor/fonts.scssfrontend/resources/styles/common/refactor/mixins.scssfrontend/resources/styles/common/refactor/shadows.scssfrontend/resources/templates/challenge.mustachefrontend/resources/templates/index.mustachefrontend/resources/templates/rasterizer.mustachefrontend/resources/templates/render.mustachefrontend/scripts/_helpers.jsfrontend/src/app/main/constants.cljsfrontend/src/app/main/data/auth.cljsfrontend/src/app/main/data/comments.cljsfrontend/src/app/main/data/common.cljsfrontend/src/app/main/data/dashboard.cljsfrontend/src/app/main/data/exports/assets.cljsfrontend/src/app/main/data/persistence.cljsfrontend/src/app/main/data/plugins.cljsfrontend/src/app/main/data/profile.cljsfrontend/src/app/main/data/style_dictionary.cljsfrontend/src/app/main/data/viewer.cljsfrontend/src/app/main/data/viewer/zvena_variables.cljsfrontend/src/app/main/data/workspace.cljsfrontend/src/app/main/data/workspace/colors.cljsfrontend/src/app/main/data/workspace/drawing.cljsfrontend/src/app/main/data/workspace/drawing/box.cljsfrontend/src/app/main/data/workspace/drawing/common.cljsfrontend/src/app/main/data/workspace/drawing/polygon.cljsfrontend/src/app/main/data/workspace/follow.cljsfrontend/src/app/main/data/workspace/grid_layout/shortcuts.cljsfrontend/src/app/main/data/workspace/interactions.cljsfrontend/src/app/main/data/workspace/layout.cljsfrontend/src/app/main/data/workspace/libraries.cljsfrontend/src/app/main/data/workspace/media.cljsfrontend/src/app/main/data/workspace/notifications.cljsfrontend/src/app/main/data/workspace/path/drawing.cljsfrontend/src/app/main/data/workspace/path/shortcuts.cljsfrontend/src/app/main/data/workspace/reflow/signals.cljsfrontend/src/app/main/data/workspace/selection.cljsfrontend/src/app/main/data/workspace/shortcuts.cljsfrontend/src/app/main/data/workspace/text/shortcuts.cljsfrontend/src/app/main/data/workspace/tokens/application.cljsfrontend/src/app/main/data/workspace/tokens/propagation.cljsfrontend/src/app/main/data/workspace/tokens/zvena_modes.cljsfrontend/src/app/main/data/workspace/tokens/zvena_variable_mode.cljsfrontend/src/app/main/data/workspace/tokens/zvena_variables.cljsfrontend/src/app/main/data/workspace/transforms.cljsfrontend/src/app/main/data/workspace/zvena_branches.cljsfrontend/src/app/main/data/workspace/zvena_component_props.cljsfrontend/src/app/main/data/workspace/zvena_devmode.cljsfrontend/src/app/main/data/workspace/zvena_fills.cljsfrontend/src/app/main/data/workspace/zvena_library_analytics.cljsfrontend/src/app/main/data/workspace/zvena_library_publish.cljsfrontend/src/app/main/data/workspace/zvena_proto_vars.cljsfrontend/src/app/main/data/workspace/zvena_sections.cljsfrontend/src/app/main/data/workspace/zvena_slots.cljsfrontend/src/app/main/data/workspace/zvena_styles.cljsfrontend/src/app/main/errors.cljsfrontend/src/app/main/refs.cljsfrontend/src/app/main/render.cljsfrontend/src/app/main/repo.cljsfrontend/src/app/main/ui.cljsfrontend/src/app/main/ui/auth/login.cljsfrontend/src/app/main/ui/auth/register.cljsfrontend/src/app/main/ui/blueai/phone_notice.cljsfrontend/src/app/main/ui/blueai/phone_notice.scssfrontend/src/app/main/ui/comments.cljsfrontend/src/app/main/ui/comments.scssfrontend/src/app/main/ui/components/code_block.scssfrontend/src/app/main/ui/components/forms.scssfrontend/src/app/main/ui/components/radio_buttons.cljsfrontend/src/app/main/ui/components/radio_buttons.scssfrontend/src/app/main/ui/components/select.cljsfrontend/src/app/main/ui/components/select.scssfrontend/src/app/main/ui/components/title_bar.scssfrontend/src/app/main/ui/context.cljsfrontend/src/app/main/ui/dashboard.cljsfrontend/src/app/main/ui/dashboard.scssfrontend/src/app/main/ui/dashboard/comments.cljsfrontend/src/app/main/ui/dashboard/comments.scssfrontend/src/app/main/ui/dashboard/deleted.cljsfrontend/src/app/main/ui/dashboard/deleted.scssfrontend/src/app/main/ui/dashboard/fonts.scssfrontend/src/app/main/ui/dashboard/grid.cljsfrontend/src/app/main/ui/dashboard/grid.scssfrontend/src/app/main/ui/dashboard/placeholder.cljsfrontend/src/app/main/ui/dashboard/placeholder.scssfrontend/src/app/main/ui/dashboard/projects.cljsfrontend/src/app/main/ui/dashboard/recent.cljsfrontend/src/app/main/ui/dashboard/recent.scssfrontend/src/app/main/ui/dashboard/sidebar.cljsfrontend/src/app/main/ui/dashboard/sidebar.scssfrontend/src/app/main/ui/dashboard/team.cljsfrontend/src/app/main/ui/dashboard/team.scssfrontend/src/app/main/ui/dashboard/team_form.cljsfrontend/src/app/main/ui/ds/_borders.scssfrontend/src/app/main/ui/ds/buttons/_buttons.scssfrontend/src/app/main/ui/ds/buttons/icon_button.cljsfrontend/src/app/main/ui/ds/buttons/icon_button.scssfrontend/src/app/main/ui/ds/colors.scssfrontend/src/app/main/ui/ds/controls/combobox.scssfrontend/src/app/main/ui/ds/controls/radio_buttons.scssfrontend/src/app/main/ui/ds/controls/select.scssfrontend/src/app/main/ui/ds/controls/shared/option.scssfrontend/src/app/main/ui/ds/controls/shared/options_dropdown.cljsfrontend/src/app/main/ui/ds/controls/shared/options_dropdown.scssfrontend/src/app/main/ui/ds/controls/shared/token_option.scssfrontend/src/app/main/ui/ds/controls/utilities/input_field.scssfrontend/src/app/main/ui/ds/controls/utilities/label.cljsfrontend/src/app/main/ui/ds/controls/utilities/token_field.scssfrontend/src/app/main/ui/ds/foundations/assets/icon.cljsfrontend/src/app/main/ui/ds/layout/tab_switcher.scssfrontend/src/app/main/ui/ds/notifications/shared/notification_pill.scssfrontend/src/app/main/ui/ds/notifications/toast.scssfrontend/src/app/main/ui/ds/product/empty_placeholder.cljsfrontend/src/app/main/ui/ds/product/empty_placeholder.scssfrontend/src/app/main/ui/ds/product/loader.cljsfrontend/src/app/main/ui/ds/product/loader.scssfrontend/src/app/main/ui/ds/product/panel_title.scssfrontend/src/app/main/ui/ds/tooltip/tooltip.scssfrontend/src/app/main/ui/ds/typography.scssfrontend/src/app/main/ui/exports/assets.cljsfrontend/src/app/main/ui/inspect/attributes/common.scssfrontend/src/app/main/ui/inspect/attributes/layout.cljsfrontend/src/app/main/ui/inspect/attributes/text.cljsfrontend/src/app/main/ui/inspect/attributes/text.scssfrontend/src/app/main/ui/inspect/attributes/visibility.cljsfrontend/src/app/main/ui/inspect/code.cljsfrontend/src/app/main/ui/inspect/code.scssfrontend/src/app/main/ui/inspect/right_sidebar.cljsfrontend/src/app/main/ui/inspect/right_sidebar.scssfrontend/src/app/main/ui/inspect/styles.cljsfrontend/src/app/main/ui/inspect/styles/style_box.cljsfrontend/src/app/main/ui/measurements.cljsfrontend/src/app/main/ui/onboarding/team_choice.scssfrontend/src/app/main/ui/routes.cljsfrontend/src/app/main/ui/settings.cljsfrontend/src/app/main/ui/settings/feedback.cljsfrontend/src/app/main/ui/settings/notifications.scssfrontend/src/app/main/ui/settings/options.cljsfrontend/src/app/main/ui/settings/profile.cljsfrontend/src/app/main/ui/settings/profile.scssfrontend/src/app/main/ui/settings/sidebar.cljsfrontend/src/app/main/ui/settings/sidebar.scssfrontend/src/app/main/ui/shapes/attrs.cljsfrontend/src/app/main/ui/shapes/custom_stroke.cljsfrontend/src/app/main/ui/shapes/fills.cljsfrontend/src/app/main/ui/shapes/filters.cljsfrontend/src/app/main/ui/shapes/frame.cljsfrontend/src/app/main/ui/shapes/gradients.cljsfrontend/src/app/main/ui/shapes/grid_layout_viewer.cljsfrontend/src/app/main/ui/shapes/group.cljsfrontend/src/app/main/ui/shapes/shape.cljsfrontend/src/app/main/ui/shapes/text/fo_text.cljsfrontend/src/app/main/ui/shapes/text/html_text.cljsfrontend/src/app/main/ui/shapes/text/styles.cljsfrontend/src/app/main/ui/shapes/text/svg_text.cljsfrontend/src/app/main/ui/shapes/zvena_code.cljsfrontend/src/app/main/ui/shapes/zvena_effects.cljsfrontend/src/app/main/ui/static.cljsfrontend/src/app/main/ui/static.scssfrontend/src/app/main/ui/viewer.cljsfrontend/src/app/main/ui/viewer.scssfrontend/src/app/main/ui/viewer/comments.cljsfrontend/src/app/main/ui/viewer/comments.scssfrontend/src/app/main/ui/viewer/header.cljsfrontend/src/app/main/ui/viewer/header.scssfrontend/src/app/main/ui/viewer/interactions.cljsfrontend/src/app/main/ui/viewer/shapes.cljsfrontend/src/app/main/ui/viewer/share_link.cljsfrontend/src/app/main/ui/viewer/share_link.scssfrontend/src/app/main/ui/viewer/share_password.cljsfrontend/src/app/main/ui/viewer/share_password.scssfrontend/src/app/main/ui/viewer/thumbnails.scssfrontend/src/app/main/ui/viewer/viewport_common.cljsfrontend/src/app/main/ui/viewer/zvena/device.cljsfrontend/src/app/main/ui/viewer/zvena/device.scssfrontend/src/app/main/ui/viewer/zvena/easing.cljsfrontend/src/app/main/ui/viewer/zvena/phone.cljsfrontend/src/app/main/ui/viewer/zvena/phone.scssfrontend/src/app/main/ui/viewer/zvena/proto.cljsfrontend/src/app/main/ui/viewer/zvena/scroll.cljsfrontend/src/app/main/ui/viewer/zvena/smart_animate.cljsfrontend/src/app/main/ui/viewer/zvena/touch.cljsfrontend/src/app/main/ui/viewer/zvena/variables.cljsfrontend/src/app/main/ui/viewer/zvena/variants.cljsfrontend/src/app/main/ui/workspace.cljsfrontend/src/app/main/ui/workspace.scssfrontend/src/app/main/ui/workspace/colorpicker.cljsfrontend/src/app/main/ui/workspace/colorpicker.scssfrontend/src/app/main/ui/workspace/colorpicker/gradients.cljsfrontend/src/app/main/ui/workspace/colorpicker/zvena_image.cljsfrontend/src/app/main/ui/workspace/colorpicker/zvena_image.scssfrontend/src/app/main/ui/workspace/context_menu.cljsfrontend/src/app/main/ui/workspace/context_menu.scssfrontend/src/app/main/ui/workspace/help_button.cljsfrontend/src/app/main/ui/workspace/help_button.scssfrontend/src/app/main/ui/workspace/left_header.cljsfrontend/src/app/main/ui/workspace/left_header.scssfrontend/src/app/main/ui/workspace/libraries.cljsfrontend/src/app/main/ui/workspace/main_menu.cljsfrontend/src/app/main/ui/workspace/main_menu.scssfrontend/src/app/main/ui/workspace/palette.scssfrontend/src/app/main/ui/workspace/plugins.cljsfrontend/src/app/main/ui/workspace/plugins.scssfrontend/src/app/main/ui/workspace/presence.cljsfrontend/src/app/main/ui/workspace/presence.scssfrontend/src/app/main/ui/workspace/quick_actions.cljsfrontend/src/app/main/ui/workspace/quick_actions.scssfrontend/src/app/main/ui/workspace/right_header.cljsfrontend/src/app/main/ui/workspace/right_header.scssfrontend/src/app/main/ui/workspace/shapes/text/editor.cljsfrontend/src/app/main/ui/workspace/shapes/text/v2_editor.scssfrontend/src/app/main/ui/workspace/shapes/text/viewport_texts_html.cljsfrontend/src/app/main/ui/workspace/sidebar.cljsfrontend/src/app/main/ui/workspace/sidebar.scssfrontend/src/app/main/ui/workspace/sidebar/assets.cljsfrontend/src/app/main/ui/workspace/sidebar/assets.scssfrontend/src/app/main/ui/workspace/sidebar/common/sidebar.scssfrontend/src/app/main/ui/workspace/sidebar/history.scssfrontend/src/app/main/ui/workspace/sidebar/layer_item.cljsfrontend/src/app/main/ui/workspace/sidebar/layer_item.scssfrontend/src/app/main/ui/workspace/sidebar/layer_name.scssfrontend/src/app/main/ui/workspace/sidebar/layers.cljsfrontend/src/app/main/ui/workspace/sidebar/layers.scssfrontend/src/app/main/ui/workspace/sidebar/options.cljsfrontend/src/app/main/ui/workspace/sidebar/options.scssfrontend/src/app/main/ui/workspace/sidebar/options/drawing/frame.scssfrontend/src/app/main/ui/workspace/sidebar/options/menus/align.cljsfrontend/src/app/main/ui/workspace/sidebar/options/menus/align.scssfrontend/src/app/main/ui/workspace/sidebar/options/menus/blur.cljsfrontend/src/app/main/ui/workspace/sidebar/options/menus/blur.scssfrontend/src/app/main/ui/workspace/sidebar/options/menus/bool.scssfrontend/src/app/main/ui/workspace/sidebar/options/menus/border_radius.cljsfrontend/src/app/main/ui/workspace/sidebar/options/menus/border_radius.scssfrontend/src/app/main/ui/workspace/sidebar/options/menus/color_selection.scssfrontend/src/app/main/ui/workspace/sidebar/options/menus/component.cljsfrontend/src/app/main/ui/workspace/sidebar/options/menus/component.scssfrontend/src/app/main/ui/workspace/sidebar/options/menus/constraints.cljsfrontend/src/app/main/ui/workspace/sidebar/options/menus/constraints.scssfrontend/src/app/main/ui/workspace/sidebar/options/menus/exports.cljsfrontend/src/app/main/ui/workspace/sidebar/options/menus/exports.scssfrontend/src/app/main/ui/workspace/sidebar/options/menus/fill.scssfrontend/src/app/main/ui/workspace/sidebar/options/menus/frame_grid.cljsfrontend/src/app/main/ui/workspace/sidebar/options/menus/frame_grid.scssfrontend/src/app/main/ui/workspace/sidebar/options/menus/grid_cell.cljsfrontend/src/app/main/ui/workspace/sidebar/options/menus/interactions.cljsfrontend/src/app/main/ui/workspace/sidebar/options/menus/interactions.scssfrontend/src/app/main/ui/workspace/sidebar/options/menus/layer.cljsfrontend/src/app/main/ui/workspace/sidebar/options/menus/layer.scssfrontend/src/app/main/ui/workspace/sidebar/options/menus/layout_container.cljsfrontend/src/app/main/ui/workspace/sidebar/options/menus/layout_container.scssfrontend/src/app/main/ui/workspace/sidebar/options/menus/layout_item.cljsfrontend/src/app/main/ui/workspace/sidebar/options/menus/layout_item.scssfrontend/src/app/main/ui/workspace/sidebar/options/menus/measures.cljsfrontend/src/app/main/ui/workspace/sidebar/options/menus/measures.scssfrontend/src/app/main/ui/workspace/sidebar/options/menus/polygon.cljsfrontend/src/app/main/ui/workspace/sidebar/options/menus/polygon.scssfrontend/src/app/main/ui/workspace/sidebar/options/menus/shadow.cljsfrontend/src/app/main/ui/workspace/sidebar/options/menus/shadow.scssfrontend/src/app/main/ui/workspace/sidebar/options/menus/stroke.scssfrontend/src/app/main/ui/workspace/sidebar/options/menus/svg_attrs.scssfrontend/src/app/main/ui/workspace/sidebar/options/menus/text.cljsfrontend/src/app/main/ui/workspace/sidebar/options/menus/text.scssfrontend/src/app/main/ui/workspace/sidebar/options/menus/token_typography_row.scssfrontend/src/app/main/ui/workspace/sidebar/options/menus/typography.cljsfrontend/src/app/main/ui/workspace/sidebar/options/menus/typography.scssfrontend/src/app/main/ui/workspace/sidebar/options/menus/zvena_component_props.cljsfrontend/src/app/main/ui/workspace/sidebar/options/menus/zvena_component_props.scssfrontend/src/app/main/ui/workspace/sidebar/options/menus/zvena_dev_status.cljsfrontend/src/app/main/ui/workspace/sidebar/options/menus/zvena_dev_status.scssfrontend/src/app/main/ui/workspace/sidebar/options/menus/zvena_effect_rows.cljsfrontend/src/app/main/ui/workspace/sidebar/options/menus/zvena_effect_rows.scssfrontend/src/app/main/ui/workspace/sidebar/options/menus/zvena_effects.cljsfrontend/src/app/main/ui/workspace/sidebar/options/menus/zvena_effects.scssfrontend/src/app/main/ui/workspace/sidebar/options/menus/zvena_local_styles.cljsfrontend/src/app/main/ui/workspace/sidebar/options/menus/zvena_local_styles.scssfrontend/src/app/main/ui/workspace/sidebar/options/menus/zvena_proto_vars.cljsfrontend/src/app/main/ui/workspace/sidebar/options/menus/zvena_proto_vars.scssfrontend/src/app/main/ui/workspace/sidebar/options/menus/zvena_prototype_settings.cljsfrontend/src/app/main/ui/workspace/sidebar/options/menus/zvena_prototype_settings.scssfrontend/src/app/main/ui/workspace/sidebar/options/menus/zvena_scroll.cljsfrontend/src/app/main/ui/workspace/sidebar/options/menus/zvena_scroll.scssfrontend/src/app/main/ui/workspace/sidebar/options/menus/zvena_slots.cljsfrontend/src/app/main/ui/workspace/sidebar/options/menus/zvena_slots.scssfrontend/src/app/main/ui/workspace/sidebar/options/menus/zvena_type_settings.cljsfrontend/src/app/main/ui/workspace/sidebar/options/menus/zvena_type_settings.scssfrontend/src/app/main/ui/workspace/sidebar/options/menus/zvena_variable_mode.cljsfrontend/src/app/main/ui/workspace/sidebar/options/menus/zvena_variable_mode.scssfrontend/src/app/main/ui/workspace/sidebar/options/page.cljsfrontend/src/app/main/ui/workspace/sidebar/options/rows/color_row.scssfrontend/src/app/main/ui/workspace/sidebar/options/shapes/bool.cljsfrontend/src/app/main/ui/workspace/sidebar/options/shapes/circle.cljsfrontend/src/app/main/ui/workspace/sidebar/options/shapes/frame.cljsfrontend/src/app/main/ui/workspace/sidebar/options/shapes/group.cljsfrontend/src/app/main/ui/workspace/sidebar/options/shapes/multiple.cljsfrontend/src/app/main/ui/workspace/sidebar/options/shapes/path.cljsfrontend/src/app/main/ui/workspace/sidebar/options/shapes/rect.cljsfrontend/src/app/main/ui/workspace/sidebar/options/shapes/svg_raw.cljsfrontend/src/app/main/ui/workspace/sidebar/options/shapes/text.cljsfrontend/src/app/main/ui/workspace/sidebar/shortcuts.scssfrontend/src/app/main/ui/workspace/sidebar/sitemap.cljsfrontend/src/app/main/ui/workspace/sidebar/sitemap.scssfrontend/src/app/main/ui/workspace/sidebar/versions.cljsfrontend/src/app/main/ui/workspace/sidebar/versions.scssfrontend/src/app/main/ui/workspace/tokens/management/context_menu.cljsfrontend/src/app/main/ui/workspace/tokens/management/forms/generic_form.cljsfrontend/src/app/main/ui/workspace/tokens/management/group.cljsfrontend/src/app/main/ui/workspace/tokens/sidebar.scssfrontend/src/app/main/ui/workspace/top_toolbar.cljsfrontend/src/app/main/ui/workspace/top_toolbar.scssfrontend/src/app/main/ui/workspace/viewport.cljsfrontend/src/app/main/ui/workspace/viewport.scssfrontend/src/app/main/ui/workspace/viewport/actions.cljsfrontend/src/app/main/ui/workspace/viewport/drawarea.cljsfrontend/src/app/main/ui/workspace/viewport/gradients.cljsfrontend/src/app/main/ui/workspace/viewport/grid_layout_editor.cljsfrontend/src/app/main/ui/workspace/viewport/grid_layout_editor.scssfrontend/src/app/main/ui/workspace/viewport/hooks.cljsfrontend/src/app/main/ui/workspace/viewport/interactions.cljsfrontend/src/app/main/ui/workspace/viewport/presence.cljsfrontend/src/app/main/ui/workspace/viewport/presence.scssfrontend/src/app/main/ui/workspace/viewport/rulers.cljsfrontend/src/app/main/ui/workspace/viewport/selection.cljsfrontend/src/app/main/ui/workspace/viewport/top_bar.scssfrontend/src/app/main/ui/workspace/viewport/widgets.cljsfrontend/src/app/main/ui/workspace/viewport/widgets.scssfrontend/src/app/main/ui/workspace/viewport/zvena_smart_selection.cljsfrontend/src/app/main/ui/workspace/viewport_wasm.cljsfrontend/src/app/main/ui/workspace/webgl_unavailable_modal.cljsfrontend/src/app/main/ui/workspace/zvena/annotation_props.cljsfrontend/src/app/main/ui/workspace/zvena/annotations_layer.cljsfrontend/src/app/main/ui/workspace/zvena/annotations_layer.scssfrontend/src/app/main/ui/workspace/zvena/batch_rename.cljsfrontend/src/app/main/ui/workspace/zvena/batch_rename.scssfrontend/src/app/main/ui/workspace/zvena/branches.cljsfrontend/src/app/main/ui/workspace/zvena/branches.scssfrontend/src/app/main/ui/workspace/zvena/compare_changes.cljsfrontend/src/app/main/ui/workspace/zvena/compare_changes.scssfrontend/src/app/main/ui/workspace/zvena/dev_status_badge.cljsfrontend/src/app/main/ui/workspace/zvena/dev_status_badge.scssfrontend/src/app/main/ui/workspace/zvena/devmode_panel.cljsfrontend/src/app/main/ui/workspace/zvena/devmode_panel.scssfrontend/src/app/main/ui/workspace/zvena/fig_file.jsfrontend/src/app/main/ui/workspace/zvena/figma_converter.jsfrontend/src/app/main/ui/workspace/zvena/figma_import.cljsfrontend/src/app/main/ui/workspace/zvena/figma_import.scssfrontend/src/app/main/ui/workspace/zvena/fzstd.jsfrontend/src/app/main/ui/workspace/zvena/library_analytics.cljsfrontend/src/app/main/ui/workspace/zvena/library_analytics.scssfrontend/src/app/main/ui/workspace/zvena/library_publish.cljsfrontend/src/app/main/ui/workspace/zvena/library_publish.scssfrontend/src/app/main/ui/workspace/zvena/ready_for_dev.cljsfrontend/src/app/main/ui/workspace/zvena/ready_for_dev.scssfrontend/src/app/main/ui/workspace/zvena/style_picker.cljsfrontend/src/app/main/ui/workspace/zvena/style_picker.scssfrontend/src/app/main/ui/workspace/zvena/variables_dialog.cljsfrontend/src/app/main/ui/workspace/zvena/variables_dialog.scssfrontend/src/app/main/ui/zvena/nav.cljsfrontend/src/app/main/ui/zvena/nav.scssfrontend/src/app/main/ui/zvena/phone.cljsfrontend/src/app/main/ui/zvena/phone.scssfrontend/src/app/plugins/format.cljsfrontend/src/app/plugins/image_data.cljsfrontend/src/app/plugins/parser.cljsfrontend/src/app/render_wasm/api.cljsfrontend/src/app/render_wasm/api/props.cljsfrontend/src/app/render_wasm/serialize_shape.cljsfrontend/src/app/render_wasm/shape.cljsfrontend/src/app/render_wasm/text_content.cljsfrontend/src/app/util/code_gen/style_css.cljsfrontend/src/app/util/code_gen/zvena_native.cljsfrontend/src/app/util/color.cljsfrontend/src/app/util/help.cljsfrontend/src/app/util/http.cljsfrontend/src/app/util/i18n.cljsfrontend/src/app/util/shape_icon.cljsfrontend/src/app/util/text/content/styles.cljsfrontend/src/app/util/text_position_data.jsfrontend/src/app/util/text_svg_position.cljsfrontend/src/app/util/theme.cljsfrontend/src/app/util/zvena_font_info.cljsfrontend/src/app/zvena.cljsfrontend/src/app/zvena/assist.cljsfrontend/src/app/zvena/bridge.cljsfrontend/src/app/zvena/bridge.scssfrontend/src/app/zvena/mobile.cljsfrontend/src/app/zvena/motion.cljsfrontend/test/frontend_tests/data/persistence_test.cljsfrontend/test/frontend_tests/data/viewer_test.cljsfrontend/test/frontend_tests/runner.cljsfrontend/test/frontend_tests/util_http_keepalive_test.cljsfrontend/text-editor/src/editor/content/dom/Paragraph.jsfrontend/text-editor/src/editor/content/dom/Root.jsfrontend/text-editor/src/editor/content/dom/TextSpan.jsfrontend/translations/af.pofrontend/translations/ar.pofrontend/translations/bn.pofrontend/translations/ca.pofrontend/translations/cs.pofrontend/translations/da.pofrontend/translations/de.pofrontend/translations/el.pofrontend/translations/en.pofrontend/translations/es.pofrontend/translations/es_419.pofrontend/translations/eu.pofrontend/translations/fa.pofrontend/translations/fin_FI.pofrontend/translations/fo.pofrontend/translations/fr.pofrontend/translations/fr_CA.pofrontend/translations/gl.pofrontend/translations/ha.pofrontend/translations/he.pofrontend/translations/hi.pofrontend/translations/hr.pofrontend/translations/id.pofrontend/translations/ig.pofrontend/translations/it.pofrontend/translations/jpn_JP.pofrontend/translations/ko.pofrontend/translations/lt.pofrontend/translations/lv.pofrontend/translations/ms.pofrontend/translations/nb_NO.pofrontend/translations/nl.pofrontend/translations/pl.pofrontend/translations/pt.pofrontend/translations/pt_BR.pofrontend/translations/pt_PT.pofrontend/translations/ro.pofrontend/translations/ru.pofrontend/translations/sr.pofrontend/translations/sv.pofrontend/translations/ta.pofrontend/translations/th.pofrontend/translations/tr.pofrontend/translations/ukr_UA.pofrontend/translations/yo.pofrontend/translations/zh_CN.pofrontend/translations/zh_Hant.pomedia-processor/package.jsonmedia-processor/pnpm-lock.yamlmedia-processor/test/upload-storage.test.tspackage.jsonplugins/libs/plugin-types/index.d.tsplugins/libs/plugins-runtime/src/lib/api/index.tsplugins/libs/plugins-runtime/src/lib/create-modal.spec.tsplugins/libs/plugins-runtime/src/lib/create-modal.tsplugins/libs/plugins-runtime/src/lib/modal/plugin-modal.tsplugins/libs/plugins-runtime/src/lib/modal/plugin.modal.cssplugins/libs/plugins-runtime/src/lib/models/open-ui-options.schema.tsplugins/libs/plugins-runtime/src/lib/plugin-manager.tsrender-wasm/src/main.rsrender-wasm/src/render.rsrender-wasm/src/render/fills.rsrender-wasm/src/render/images.rsrender-wasm/src/render/strokes.rsrender-wasm/src/render/surfaces.rsrender-wasm/src/render/text.rsrender-wasm/src/render/text_editor.rsrender-wasm/src/render/vector.rsrender-wasm/src/shapes.rsrender-wasm/src/shapes/fills.rsrender-wasm/src/shapes/layouts.rsrender-wasm/src/shapes/modifiers/flex_layout.rsrender-wasm/src/shapes/modifiers/grid_layout.rsrender-wasm/src/shapes/smooth_corners.rsrender-wasm/src/shapes/strokes.rsrender-wasm/src/shapes/text.rsrender-wasm/src/shapes/text_paths.rsrender-wasm/src/wasm/fills/gradient.rsrender-wasm/src/wasm/fills/image.rsrender-wasm/src/wasm/layouts.rsrender-wasm/src/wasm/layouts/align.rsrender-wasm/src/wasm/text.rsrender-wasm/src/wasm/text/helpers.rsrender-wasm/src/wasm/text_editor.rs
Deleted files (119)
.clj-kondo/config.edn.clj-kondo/hooks/export.clj.devenv/shared/opencode.json.devenv/templates/opencode.jsonAGENTS.mdTHANKYOU.mdbackend/test/backend_tests/test_files/svg-attrs-camel-case.penpotbackend/test/backend_tests/test_files/template.penpotcommon/target/classes/app/common/UUIDv8.classcommon/target/classes/app/common/svg/path/Parser$ParserImpl.classcommon/target/classes/app/common/svg/path/Parser$Segment.classcommon/target/classes/app/common/svg/path/Parser.classcommon/test/cases/chained-components-changes-propagation.penpotcommon/test/cases/copying-and-duplicating.penpotcommon/test/cases/detach-with-nested.penpotcommon/test/cases/duplicated-pages.penpotcommon/test/cases/multiple-testing-levels.penpotcommon/test/cases/remove-swap-slots.penpotcommon/test/cases/swap-and-reset.penpotcommon/test/cases/swas-as-override.penpotfrontend/.yarn/patches/@zip.js-zip.js-npm-2.7.60-b6b814410b.patchfrontend/playwright/ui/visual-specs/visual-dashboard.spec.jsfrontend/playwright/ui/visual-specs/visual-login.spec.jsfrontend/playwright/ui/visual-specs/visual-viewer.spec.jsfrontend/playwright/ui/visual-specs/workspace.spec.jslibrary/.yarn/patches/@zip.js-zip.js-npm-2.7.60-b6b814410b.patchmcp/.gitignoremcp/.prettierignoremcp/.prettierrcmcp/.serena/.gitignoremcp/.serena/memories/project_overview.mdmcp/.serena/project.ymlmcp/README.mdmcp/bin/client-setup.jsmcp/bin/mcp-local.jsmcp/docs/multi-user-mode.mdmcp/package.jsonmcp/packages/common/package.jsonmcp/packages/common/src/index.tsmcp/packages/common/src/types.tsmcp/packages/common/tsconfig.jsonmcp/packages/plugin/.gitignoremcp/packages/plugin/README.mdmcp/packages/plugin/index.htmlmcp/packages/plugin/package.jsonmcp/packages/plugin/public/icon.jpgmcp/packages/plugin/public/manifest.jsonmcp/packages/plugin/src/ErrorUtils.test.tsmcp/packages/plugin/src/ErrorUtils.tsmcp/packages/plugin/src/PenpotUtils.test.tsmcp/packages/plugin/src/PenpotUtils.tsmcp/packages/plugin/src/TaskHandler.tsmcp/packages/plugin/src/index.d.tsmcp/packages/plugin/src/main.tsmcp/packages/plugin/src/plugin.tsmcp/packages/plugin/src/style.cssmcp/packages/plugin/src/task-handlers/ExecuteCodeTaskHandler.tsmcp/packages/plugin/src/vite-env.d.tsmcp/packages/plugin/tsconfig.jsonmcp/packages/plugin/vite.config.tsmcp/packages/plugin/vite.release.config.tsmcp/packages/server/.gitignoremcp/packages/server/README.mdmcp/packages/server/data/api_types.ymlmcp/packages/server/data/base_instructions.mdmcp/packages/server/data/initial_instructions.mdmcp/packages/server/package.jsonmcp/packages/server/scripts/copy-resources.jsmcp/packages/server/scripts/integration-test-export-image-semaphore.tsmcp/packages/server/src/ApiDocs.tsmcp/packages/server/src/ConfigurationLoader.tsmcp/packages/server/src/NreplClient.tsmcp/packages/server/src/PenpotMcpServer.test.tsmcp/packages/server/src/PenpotMcpServer.tsmcp/packages/server/src/PluginBridge.test.tsmcp/packages/server/src/PluginBridge.tsmcp/packages/server/src/PluginTask.tsmcp/packages/server/src/RedisBridge.tsmcp/packages/server/src/RemotePluginTask.tsmcp/packages/server/src/ReplServer.tsmcp/packages/server/src/Tool.tsmcp/packages/server/src/ToolResponse.tsmcp/packages/server/src/index.tsmcp/packages/server/src/logger.tsmcp/packages/server/src/static/repl.htmlmcp/packages/server/src/tasks/ExecuteCodePluginTask.tsmcp/packages/server/src/tools/CljCheckParentheses.tsmcp/packages/server/src/tools/CljsCompilerOutputTool.tsmcp/packages/server/src/tools/CljsReplTool.tsmcp/packages/server/src/tools/ExecuteCodeTool.tsmcp/packages/server/src/tools/ExportShapeTool.tsmcp/packages/server/src/tools/HighLevelOverviewTool.tsmcp/packages/server/src/tools/ImportImageTool.tsmcp/packages/server/src/tools/ImportPenpotFileTool.tsmcp/packages/server/src/tools/PenpotApiInfoTool.tsmcp/packages/server/src/tools/ReadTaigaIssueTool.tsmcp/packages/server/src/types/nrepl-client.d.tsmcp/packages/server/src/utils/FileUtils.tsmcp/packages/server/src/utils/Semaphore.tsmcp/packages/server/tsconfig.jsonmcp/pnpm-lock.yamlmcp/pnpm-workspace.yamlmcp/resources/architecture.pngmcp/scripts/buildmcp/scripts/build-typesmcp/scripts/checkmcp/scripts/fmtmcp/scripts/packmcp/scripts/set-versionmcp/scripts/setupmcp/scripts/start-mcp-devenvmcp/types-generator/.gitattributesmcp/types-generator/.gitignoremcp/types-generator/README.mdmcp/types-generator/buildmcp/types-generator/pixi.lockmcp/types-generator/pixi.tomlmcp/types-generator/prepare_api_docs.pytracebitmap.txt
Trademarks
“Penpot” is a trademark of its owners. zvena is not affiliated with or endorsed by Kaleidos; the Penpot name is used only to state where the code comes from. The zvena name and logo are ours.