diff --git a/frontend/src/app/main/render.cljs b/frontend/src/app/main/render.cljs index 35183701f5..0655545429 100644 --- a/frontend/src/app/main/render.cljs +++ b/frontend/src/app/main/render.cljs @@ -239,7 +239,7 @@ :fill "none"} (when include-metadata - [:& export/export-page {:page data}]) + [:> export/export-page* {:page data}]) (let [shapes (->> shapes (remove cfh/frame-shape?) diff --git a/frontend/src/app/main/ui/shapes/export.cljs b/frontend/src/app/main/ui/shapes/export.cljs index 39c2ecfa79..649d5b5bb9 100644 --- a/frontend/src/app/main/ui/shapes/export.cljs +++ b/frontend/src/app/main/ui/shapes/export.cljs @@ -24,7 +24,7 @@ (def include-metadata-ctx (mf/create-context false)) -(mf/defc render-xml +(mf/defc render-xml* [{{:keys [tag attrs content] :as node} :xml}] (cond @@ -33,7 +33,7 @@ (json/->js :key-fn name))] [:> (d/name tag) props (for [child content] - [:& render-xml {:xml child :key (swap! internal-counter inc)}])]) + [:> render-xml* {:xml child :key (swap! internal-counter inc)}])]) (string? node) node @@ -166,7 +166,7 @@ (cond-> (some? display) (obj/set! "penpot:display" (str display))))]))]))) -(mf/defc export-flows +(mf/defc export-flows* [{:keys [flows]}] [:> "penpot:flows" #js {} (for [{:keys [id name starting-frame]} (vals flows)] @@ -175,7 +175,7 @@ :name name :starting-frame starting-frame}])]) -(mf/defc export-guides +(mf/defc export-guides* [{:keys [guides]}] [:> "penpot:guides" #js {} (for [{:keys [position frame-id axis]} (vals guides)] @@ -183,8 +183,7 @@ :frame-id frame-id :axis (d/name axis)}])]) -(mf/defc export-page - {::mf/props :obj} +(mf/defc export-page* [{:keys [page]}] (let [id (get page :id) grids (get page :grids) @@ -197,10 +196,10 @@ [:& export-grid-data {:grids grids}])) (when (d/not-empty? flows) - [:& export-flows {:flows flows}]) + [:> export-flows* {:flows flows}]) (when (d/not-empty? guides) - [:& export-guides {:guides guides}])])) + [:> export-guides* {:guides guides}])])) (defn- export-shadow-data [{:keys [shadow]}] (mf/html @@ -273,7 +272,7 @@ (for [[def-id def-xml] (:svg-defs shape)] [:> "penpot:svg-def" #js {:def-id def-id :key (swap! internal-counter inc)} - [:& render-xml {:xml def-xml}]])])) + [:> render-xml* {:xml def-xml}]])])) (when (= (:type shape) :svg-raw) (let [shape (-> shape (d/update-in-when [:content :attrs :style] str->style)) @@ -478,7 +477,7 @@ :penpot:layout-item-z-index layout-item-z-index}]))) -(mf/defc export-data +(mf/defc export-data* [{:keys [shape]}] (let [props (-> (obj/create) (add-data shape) (add-library-refs shape))] [:> "penpot:shape" props diff --git a/frontend/src/app/main/ui/shapes/shape.cljs b/frontend/src/app/main/ui/shapes/shape.cljs index 57366ad03b..63048f3122 100644 --- a/frontend/src/app/main/ui/shapes/shape.cljs +++ b/frontend/src/app/main/ui/shapes/shape.cljs @@ -122,7 +122,7 @@ [:& (mf/provider muc/render-id) {:value render-id} [:> :g wrapper-props (when include-metadata? - [:& ed/export-data {:shape shape}]) + [:> ed/export-data* {:shape shape}]) [:defs [:> defs/svg-defs* {:shape shape :render-id render-id}] diff --git a/frontend/src/app/main/ui/workspace/viewport.cljs b/frontend/src/app/main/ui/workspace/viewport.cljs index f7d95b018b..c7740e9680 100644 --- a/frontend/src/app/main/ui/workspace/viewport.cljs +++ b/frontend/src/app/main/ui/workspace/viewport.cljs @@ -398,7 +398,7 @@ [:stop {:offset "100%" :stop-color (str "color-mix(in srgb-linear, " background " 90%, #777)") :stop-opacity 1}]]] (when (dbg/enabled? :show-export-metadata) - [:& use/export-page {:page page}]) + [:> use/export-page* {:page page}]) ;; We need a "real" background shape so layer transforms work properly in firefox [:rect {:width (:width vbox 0)