🐛 Correct animations overflow

This commit is contained in:
Andrés Moya 2022-01-10 14:40:12 +01:00 committed by Alonso Torres
parent 0eb2336bc6
commit aaf8d2a233
3 changed files with 64 additions and 56 deletions

View file

@ -42,6 +42,7 @@
- Fix decimal numbers in export viewbox [Taiga #2290](https://tree.taiga.io/project/penpot/issue/2290) - Fix decimal numbers in export viewbox [Taiga #2290](https://tree.taiga.io/project/penpot/issue/2290)
### :arrow_up: Deps updates ### :arrow_up: Deps updates
### :heart: Community contributions by (Thank you!) ### :heart: Community contributions by (Thank you!)
- Spelling fixes (by @jsoref) [#1340](https://github.com/penpot/penpot/pull/1340). - Spelling fixes (by @jsoref) [#1340](https://github.com/penpot/penpot/pull/1340).

View file

@ -20,11 +20,16 @@
overflow: auto; overflow: auto;
& .viewer-wrapper { & .viewer-wrapper {
position: relative;
}
& .viewer-clipper {
display: grid; display: grid;
grid-template-rows: 1fr; grid-template-rows: 1fr;
grid-template-columns: 1fr; grid-template-columns: 1fr;
justify-items: center; justify-items: center;
align-items: center; align-items: center;
overflow: hidden;
.empty-state { .empty-state {
justify-content: center; justify-content: center;

View file

@ -231,76 +231,78 @@
{:style {:width (:width wrapper-size) {:style {:width (:width wrapper-size)
:height (:height wrapper-size)}} :height (:height wrapper-size)}}
(when orig-frame [:div.viewer-clipper
[:*
(when orig-frame
[:div.viewport-container
{:ref orig-viewport-ref
:style {:width (:width orig-size)
:height (:height orig-size)
:position "relative"}}
[:& interactions/viewport
{:frame orig-frame
:base-frame orig-frame
:frame-offset (gpt/point 0 0)
:size orig-size
:page page
:file file
:users users
:interactions-mode :hide}]])
[:div.viewport-container [:div.viewport-container
{:ref orig-viewport-ref {:ref current-viewport-ref
:style {:width (:width orig-size) :style {:width (:width size)
:height (:height orig-size) :height (:height size)
:position "relative"}} :position "relative"}}
[:& interactions/viewport [:& interactions/viewport
{:frame orig-frame {:frame frame
:base-frame orig-frame :base-frame frame
:frame-offset (gpt/point 0 0) :frame-offset (gpt/point 0 0)
:size orig-size :size size
:page page :page page
:file file :file file
:users users :users users
:interactions-mode :hide}]]) :interactions-mode interactions-mode}]
(for [overlay overlays]
(let [size-over (calculate-size (:frame overlay) zoom)]
[:*
(when (or (:close-click-outside overlay)
(:background-overlay overlay))
[:div.viewer-overlay-background
{:class (dom/classnames
:visible (:background-overlay overlay))
:style {:width (:width wrapper-size)
:height (:height wrapper-size)
:position "absolute"
:left 0
:top 0}
:on-click #(when (:close-click-outside overlay)
(close-overlay (:frame overlay)))}])
[:div.viewport-container.viewer-overlay
{:id (str "overlay-" (str (:id (:frame overlay))))
:style {:width (:width size-over)
:height (:height size-over)
:left (* (:x (:position overlay)) zoom)
:top (* (:y (:position overlay)) zoom)}}
[:& interactions/viewport
{:frame (:frame overlay)
:base-frame frame
:frame-offset (:position overlay)
:size size-over
:page page
:file file
:users users
:interactions-mode interactions-mode}]]]))]]
[:div.viewport-container
{:ref current-viewport-ref
:style {:width (:width size)
:height (:height size)
:position "relative"}
}
(when (= section :comments) (when (= section :comments)
[:& comments-layer {:file file [:& comments-layer {:file file
:users users :users users
:frame frame :frame frame
:page page :page page
:zoom zoom}]) :zoom zoom}])]]]))]]]))
[:& interactions/viewport
{:frame frame
:base-frame frame
:frame-offset (gpt/point 0 0)
:size size
:page page
:file file
:users users
:interactions-mode interactions-mode}]
(for [overlay overlays]
(let [size-over (calculate-size (:frame overlay) zoom)]
[:*
(when (or (:close-click-outside overlay)
(:background-overlay overlay))
[:div.viewer-overlay-background
{:class (dom/classnames
:visible (:background-overlay overlay))
:style {:width (:width wrapper-size)
:height (:height wrapper-size)
:position "absolute"
:left 0
:top 0}
:on-click #(when (:close-click-outside overlay)
(close-overlay (:frame overlay)))}])
[:div.viewport-container.viewer-overlay
{:id (str "overlay-" (str (:id (:frame overlay))))
:style {:width (:width size-over)
:height (:height size-over)
:left (* (:x (:position overlay)) zoom)
:top (* (:y (:position overlay)) zoom)}}
[:& interactions/viewport
{:frame (:frame overlay)
:base-frame frame
:frame-offset (:position overlay)
:size size-over
:page page
:file file
:users users
:interactions-mode interactions-mode}]]]))]]]))]]]))
;; --- Component: Viewer Page ;; --- Component: Viewer Page