Skip to content

Commit 34bbce5

Browse files
committed
Merge remote-tracking branch 'origin/staging' into develop
2 parents 9a0538e + 1b041d9 commit 34bbce5

10 files changed

Lines changed: 303 additions & 3 deletions

File tree

7.65 MB
Loading
322 KB
Loading
221 KB
Loading
62.1 KB
Loading
125 KB
Loading

‎frontend/src/app/main/ui/inspect/exports.scss‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939

4040
.multiple-exports {
4141
@include flexRow;
42-
grid-column: 1 / 9;
42+
grid-column: 1 / span 9;
4343
}
4444

4545
.label {

‎frontend/src/app/main/ui/releases.cljs‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
[app.main.ui.releases.v2-5]
3535
[app.main.ui.releases.v2-6]
3636
[app.main.ui.releases.v2-7]
37+
[app.main.ui.releases.v2-8]
3738
[app.util.object :as obj]
3839
[app.util.timers :as tm]
3940
[rumext.v2 :as mf]))
@@ -98,4 +99,4 @@
9899

99100
(defmethod rc/render-release-notes "0.0"
100101
[params]
101-
(rc/render-release-notes (assoc params :version "2.7")))
102+
(rc/render-release-notes (assoc params :version "2.8")))
Lines changed: 196 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,196 @@
1+
;; This Source Code Form is subject to the terms of the Mozilla Public
2+
;; License, v. 2.0. If a copy of the MPL was not distributed with this
3+
;; file, You can obtain one at http://mozilla.org/MPL/2.0/.
4+
;;
5+
;; Copyright (c) KALEIDOS INC
6+
7+
(ns app.main.ui.releases.v2-8
8+
(:require-macros [app.main.style :as stl])
9+
(:require
10+
[app.common.data.macros :as dm]
11+
[app.main.ui.releases.common :as c]
12+
[rumext.v2 :as mf]))
13+
14+
(defmethod c/render-release-notes "2.8"
15+
[{:keys [slide klass next finish navigate version]}]
16+
(mf/html
17+
(case slide
18+
:start
19+
[:div {:class (stl/css-case :modal-overlay true)}
20+
[:div.animated {:class klass}
21+
[:div {:class (stl/css :modal-container)}
22+
[:img {:src "images/features/2.8-slide-0.jpg"
23+
:class (stl/css :start-image)
24+
:border "0"
25+
:alt "Penpot 2.8 is here!"}]
26+
27+
[:div {:class (stl/css :modal-content)}
28+
[:div {:class (stl/css :modal-header)}
29+
[:h1 {:class (stl/css :modal-title)}
30+
"What’s new in Penpot?"]
31+
32+
[:div {:class (stl/css :version-tag)}
33+
(dm/str "Version " version)]]
34+
35+
[:div {:class (stl/css :features-block)}
36+
[:span {:class (stl/css :feature-title)}
37+
"Penpot 2.8 is out!"]
38+
39+
[:p {:class (stl/css :feature-content)}
40+
"Keeping the momentum from our last releases, we're moving forward with a fresh batch of features and improvements."]
41+
42+
[:p {:class (stl/css :feature-content)}
43+
"This update brings significant user experience optimizations, new capabilities for Design Token management, and an important performance enhancement, in addition to the usual bug fixes and general optimizations."]
44+
45+
[:p {:class (stl/css :feature-content)}
46+
"Let’s dive in!"]]
47+
48+
[:div {:class (stl/css :navigation)}
49+
[:button {:class (stl/css :next-btn)
50+
:on-click next} "Continue"]]]]]]
51+
52+
0
53+
[:div {:class (stl/css-case :modal-overlay true)}
54+
[:div.animated {:class klass}
55+
[:div {:class (stl/css :modal-container)}
56+
[:img {:src "images/features/2.8-selection.gif"
57+
:class (stl/css :start-image)
58+
:border "0"
59+
:alt "Quality-of-life improvements"}]
60+
61+
[:div {:class (stl/css :modal-content)}
62+
[:div {:class (stl/css :modal-header)}
63+
[:h1 {:class (stl/css :modal-title)}
64+
"Quality-of-life improvements"]]
65+
66+
[:div {:class (stl/css :feature)}
67+
[:p {:class (stl/css :feature-content)}
68+
"The devil is in the details, and we've added many more improvements than we can list in this introduction, so we’ll list them here:"]
69+
70+
[:p {:class (stl/css :feature-content)}
71+
"- You can now deselect layers with Ctrl+Shift+Drag."]
72+
[:p {:class (stl/css :feature-content)}
73+
"- Synchronize your color theme (light, dark) with your operating system theme."]
74+
[:p {:class (stl/css :feature-content)}
75+
"- Copy objects directly as SVG from the design workspace using the contextual menu."]
76+
[:p {:class (stl/css :feature-content)}
77+
"- Your choice of ruler visibility settings now persists across files and reloads."]
78+
[:p {:class (stl/css :feature-content)}
79+
"- We have introduced a new look and feel for tooltips."]
80+
[:p {:class (stl/css :feature-content)}
81+
"- Our fonts catalog has been updated, highlighting fonts like Atkinson Hyperlegible, developed specifically to increase legibility for readers with low vision."]
82+
[:p {:class (stl/css :feature-content)}
83+
"- And we’ve a new language! Hi Serbians!"]]
84+
85+
[:div {:class (stl/css :navigation)}
86+
[:& c/navigation-bullets
87+
{:slide slide
88+
:navigate navigate
89+
:total 4}]
90+
91+
[:button {:on-click next
92+
:class (stl/css :next-btn)} "Continue"]]]]]]
93+
94+
1
95+
[:div {:class (stl/css-case :modal-overlay true)}
96+
[:div.animated {:class klass}
97+
[:div {:class (stl/css :modal-container)}
98+
[:img {:src "images/features/2.8-json-multi.gif"
99+
:class (stl/css :start-image)
100+
:border "0"
101+
:alt "Multi-file tokens import and export"}]
102+
103+
[:div {:class (stl/css :modal-content)}
104+
[:div {:class (stl/css :modal-header)}
105+
[:h1 {:class (stl/css :modal-title)}
106+
"Multi-file tokens import and export"]]
107+
108+
[:div {:class (stl/css :feature)}
109+
[:p {:class (stl/css :feature-content)}
110+
"Continuing the development of our Design Tokens system, we keep launching new functionalities that will improve your workflow."]
111+
112+
[:p {:class (stl/css :feature-content)}
113+
"It is now possible to perform multi-file token import. This is perfect for handling more complex setups like separate JSON files for themes or metadata. The same goes for exporting. Now you can export tokens choosing between single or multi-file (check your team preference!), being able to preview both options before you decide."]
114+
115+
[:p {:class (stl/css :feature-content)}
116+
"This is just one more step in the evolution of Design Tokens in Penpot. And there's more to come: typography tokens are already in the works!"]]
117+
118+
[:div {:class (stl/css :navigation)}
119+
[:& c/navigation-bullets
120+
{:slide slide
121+
:navigate navigate
122+
:total 4}]
123+
124+
[:button {:on-click next
125+
:class (stl/css :next-btn)} "Continue"]]]]]]
126+
127+
2
128+
[:div {:class (stl/css-case :modal-overlay true)}
129+
[:div.animated {:class klass}
130+
[:div {:class (stl/css :modal-container)}
131+
[:img {:src "images/features/2.8-ia-help.gif"
132+
:class (stl/css :start-image)
133+
:border "0"
134+
:alt "Better onboarding experience"}]
135+
136+
[:div {:class (stl/css :modal-content)}
137+
[:div {:class (stl/css :modal-header)}
138+
[:h1 {:class (stl/css :modal-title)}
139+
"Better onboarding experience"]]
140+
141+
[:div {:class (stl/css :feature)}
142+
[:p {:class (stl/css :feature-content)}
143+
"We know Penpot works perfectly for solo projects, but it’s always more fun and productive to work as a team. That's why we have made significant optimizations to the onboarding process to make your team mates getting started easier and faster."]
144+
145+
[:p {:class (stl/css :feature-content)}
146+
"- We have reduced the number of onboarding steps so new users can start designing sooner. Only essential data will be collected to help you set up your profile more efficiently."]
147+
148+
[:p {:class (stl/css :feature-content)}
149+
"- We have integrated AI-powered help, which is trained on Penpot documentation, directly into the design workspace. Get assistance without switching context, so you can stay in the flow."]]
150+
151+
[:div {:class (stl/css :navigation)}
152+
[:& c/navigation-bullets
153+
{:slide slide
154+
:navigate navigate
155+
:total 4}]
156+
157+
[:button {:on-click next
158+
:class (stl/css :next-btn)} "Continue"]]]]]]
159+
160+
3
161+
[:div {:class (stl/css-case :modal-overlay true)}
162+
[:div.animated {:class klass}
163+
[:div {:class (stl/css :modal-container)}
164+
[:img {:src "images/features/2.8-svg-opt.gif"
165+
:class (stl/css :start-image)
166+
:border "0"
167+
:alt "Performance improvements related to SVG paths"}]
168+
169+
[:div {:class (stl/css :modal-content)}
170+
[:div {:class (stl/css :modal-header)}
171+
[:h1 {:class (stl/css :modal-title)}
172+
"Performance improvements related to SVG paths"]]
173+
[:div {:class (stl/css :feature)}
174+
175+
[:p {:class (stl/css :feature-content)}
176+
"We are putting a special focus on performance. This time, we've made improvements around handling paths, which typically make up icons and illustrations."]
177+
178+
[:p {:class (stl/css :feature-content)}
179+
"We have carried out a refactoring of how Penpot deals with path data. This translates into perceptible performance improvements in SVG-heavily loaded files. This means that, in files with a significant presence of SVG icons and illustrations you can expect:"]
180+
[:p {:class (stl/css :feature-content)}
181+
"- Faster import/export."]
182+
[:p {:class (stl/css :feature-content)}
183+
"- A more fluid user experience."]
184+
[:p {:class (stl/css :feature-content)}
185+
"This is one of many performance improvements to come, including a new rendering engine that is already under development (this will be huge, please be patient!)."]]
186+
187+
[:div {:class (stl/css :navigation)}
188+
189+
[:& c/navigation-bullets
190+
{:slide slide
191+
:navigate navigate
192+
:total 4}]
193+
194+
[:button {:on-click finish
195+
:class (stl/css :next-btn)} "Let's go"]]]]]])))
196+
Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
// This Source Code Form is subject to the terms of the Mozilla Public
2+
// License, v. 2.0. If a copy of the MPL was not distributed with this
3+
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
4+
//
5+
// Copyright (c) KALEIDOS INC
6+
7+
@import "refactor/common-refactor.scss";
8+
9+
.modal-overlay {
10+
@extend .modal-overlay-base;
11+
}
12+
13+
.modal-container {
14+
display: grid;
15+
grid-template-columns: $s-324 1fr;
16+
height: $s-500;
17+
width: $s-888;
18+
border-radius: $br-8;
19+
background-color: var(--modal-background-color);
20+
border: $s-2 solid var(--modal-border-color);
21+
}
22+
23+
.start-image {
24+
width: $s-324;
25+
border-radius: $br-8 0 0 $br-8;
26+
}
27+
28+
.modal-content {
29+
padding: $s-40;
30+
display: grid;
31+
grid-template-rows: auto 1fr $s-32;
32+
gap: $s-24;
33+
34+
a {
35+
color: var(--button-primary-background-color-rest);
36+
}
37+
}
38+
39+
.modal-header {
40+
display: grid;
41+
gap: $s-8;
42+
}
43+
44+
.version-tag {
45+
@include flexCenter;
46+
@include headlineSmallTypography;
47+
height: $s-32;
48+
width: $s-96;
49+
background-color: var(--communication-tag-background-color);
50+
color: var(--communication-tag-foreground-color);
51+
border-radius: $br-8;
52+
}
53+
54+
.modal-title {
55+
@include headlineLargeTypography;
56+
color: var(--modal-title-foreground-color);
57+
}
58+
59+
.features-block {
60+
display: flex;
61+
flex-direction: column;
62+
gap: $s-16;
63+
width: $s-440;
64+
}
65+
66+
.feature {
67+
display: flex;
68+
flex-direction: column;
69+
gap: $s-8;
70+
}
71+
72+
.feature-title {
73+
@include bodyLargeTypography;
74+
color: var(--modal-title-foreground-color);
75+
}
76+
77+
.feature-content {
78+
@include bodyMediumTypography;
79+
margin: 0;
80+
color: var(--modal-text-foreground-color);
81+
}
82+
83+
.feature-list {
84+
@include bodyMediumTypography;
85+
color: var(--modal-text-foreground-color);
86+
list-style: disc;
87+
display: grid;
88+
gap: $s-8;
89+
}
90+
91+
.navigation {
92+
width: 100%;
93+
display: grid;
94+
grid-template-areas: "bullets button";
95+
}
96+
97+
.next-btn {
98+
@extend .button-primary;
99+
width: $s-100;
100+
justify-self: flex-end;
101+
grid-area: button;
102+
}

‎frontend/src/app/main/ui/workspace/sidebar/options/menus/exports.scss‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323

2424
.multiple-exports {
2525
@include flexRow;
26+
grid-column: 1 / span 9;
2627
.label {
2728
@extend .mixed-bar;
2829
}
@@ -73,6 +74,6 @@
7374
.export-btn {
7475
@extend .button-secondary;
7576
@include uppercaseTitleTipography;
76-
grid-column: 1 / span 8;
77+
grid-column: 1 / span 9;
7778
height: $s-32;
7879
}

0 commit comments

Comments
 (0)