mirror of
https://github.com/penpot/penpot.git
synced 2025-06-11 00:21:39 +02:00
✨ Ability to add multiple strokes to a shape
This commit is contained in:
parent
719aacd6f8
commit
a73a393e26
30 changed files with 680 additions and 353 deletions
|
@ -11,6 +11,7 @@
|
|||
(:require
|
||||
[app.common.data :as d]
|
||||
[app.common.geom.shapes :as gsh]
|
||||
[app.main.ui.context :as muc]
|
||||
[app.util.json :as json]
|
||||
[app.util.object :as obj]
|
||||
[app.util.svg :as usvg]
|
||||
|
@ -272,6 +273,39 @@
|
|||
(for [leaf (->> shape :content :content (filter string?))]
|
||||
[:> "penpot:svg-child" {} leaf])]))]))
|
||||
|
||||
|
||||
(defn- export-fills-data [{:keys [fills]}]
|
||||
(when-let [fills (seq fills)]
|
||||
(mf/html
|
||||
[:> "penpot:fills" #js {}
|
||||
(for [[index fill] (d/enumerate fills)]
|
||||
[:> "penpot:fill"
|
||||
#js {:penpot:fill-color (if (some? (:fill-color-gradient fill))
|
||||
(str/format "url(#%s)" (str "fill-color-gradient_" (mf/use-ctx muc/render-ctx) "_" index))
|
||||
(d/name (:fill-color fill)))
|
||||
:penpot:fill-color-ref-file (d/name (:fill-color-ref-file fill))
|
||||
:penpot:fill-color-ref-id (d/name (:fill-color-ref-id fill))
|
||||
:penpot:fill-opacity (d/name (:fill-opacity fill))}])])))
|
||||
|
||||
(defn- export-strokes-data [{:keys [strokes]}]
|
||||
(when-let [strokes (seq strokes)]
|
||||
(mf/html
|
||||
[:> "penpot:strokes" #js {}
|
||||
(for [[index stroke] (d/enumerate strokes)]
|
||||
[:> "penpot:stroke"
|
||||
#js {:penpot:stroke-color (if (some? (:stroke-color-gradient stroke))
|
||||
(str/format "url(#%s)" (str "stroke-color-gradient_" (mf/use-ctx muc/render-ctx) "_" index))
|
||||
(d/name (:stroke-color stroke)))
|
||||
:penpot:stroke-color-ref-file (d/name (:stroke-color-ref-file stroke))
|
||||
:penpot:stroke-color-ref-id (d/name (:stroke-color-ref-id stroke))
|
||||
:penpot:stroke-opacity (d/name (:stroke-opacity stroke))
|
||||
:penpot:stroke-style (d/name (:stroke-style stroke))
|
||||
:penpot:stroke-width (d/name (:stroke-width stroke))
|
||||
:penpot:stroke-alignment (d/name (:stroke-alignment stroke))
|
||||
:penpot:stroke-cap-start (d/name (:stroke-cap-start stroke))
|
||||
:penpot:stroke-cap-end (d/name (:stroke-cap-end stroke))}])])))
|
||||
|
||||
|
||||
(defn- export-interactions-data [{:keys [interactions]}]
|
||||
(when-let [interactions (seq interactions)]
|
||||
(mf/html
|
||||
|
@ -300,5 +334,7 @@
|
|||
(export-exports-data shape)
|
||||
(export-svg-data shape)
|
||||
(export-interactions-data shape)
|
||||
(export-fills-data shape)
|
||||
(export-strokes-data shape)
|
||||
(export-grid-data shape)]))
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue