diff --git a/common/src/app/common/types/token.cljc b/common/src/app/common/types/token.cljc index 19d93d932..d9a107054 100644 --- a/common/src/app/common/types/token.cljc +++ b/common/src/app/common/types/token.cljc @@ -89,6 +89,8 @@ [:position-x {:optional true} ::sm/uuid] [:position-y {:optional true} ::sm/uuid]]) +(def spacing-keys (schema-keys ::spacing)) + (sm/def! ::tokens [:map {:title "Applied Tokens"}]) diff --git a/frontend/src/app/main/ui/workspace/tokens/core.cljs b/frontend/src/app/main/ui/workspace/tokens/core.cljs index 1657504cb..08b7dc988 100644 --- a/frontend/src/app/main/ui/workspace/tokens/core.cljs +++ b/frontend/src/app/main/ui/workspace/tokens/core.cljs @@ -10,6 +10,8 @@ [app.common.types.shape.radius :as ctsr] [app.common.types.token :as ctt] [app.main.data.workspace.changes :as dch] + [app.main.data.workspace.shape-layout :as dwsl] + [app.main.data.workspace.state-helpers :as wsh] [app.main.data.workspace.transforms :as dwt] [app.main.store :as st])) @@ -45,6 +47,11 @@ (dwt/update-dimensions shape-ids :width value) (dwt/update-dimensions shape-ids :height value))) +(defn update-layout-spacing-column [value shape-ids] + (let [selected-shapes (wsh/lookup-selected @st/state)] + (st/emit! + (dwsl/update-layout selected-shapes {:layout-gap {:column-gap value :row-gap value}})))) + ;; Token types ----------------------------------------------------------------- (def token-types @@ -100,6 +107,8 @@ :key :rotation}]}}] [:spacing {:title "Spacing" + :attributes ctt/spacing-keys + :on-update-shape update-layout-spacing-column :modal {:key :tokens/spacing :fields [{:label "Spacing" :key :spacing}]}}]