diff --git a/frontend/src/app/plugins/tokens.cljs b/frontend/src/app/plugins/tokens.cljs
index 99eb45b093..c11f8dc373 100644
--- a/frontend/src/app/plugins/tokens.cljs
+++ b/frontend/src/app/plugins/tokens.cljs
@@ -13,6 +13,7 @@
[app.common.types.tokens-lib :as ctob]
[app.common.uuid :as uuid]
[app.main.data.style-dictionary :as sd]
+ [app.main.data.tokenscript :as ts]
[app.main.data.workspace.tokens.application :as dwta]
[app.main.data.workspace.tokens.library-edit :as dwtl]
[app.main.store :as st]
@@ -34,6 +35,14 @@
:shape-ids shape-ids
:expand-with-children false})))))
+(defn- get-resolved-value
+ [token tokens-tree]
+ (let [resolved-tokens (ts/resolve-tokens tokens-tree)
+ resolved-value (-> resolved-tokens
+ (dm/get-in [(:name token) :resolved-value])
+ (ts/tokenscript-symbols->penpot-unit))]
+ resolved-value))
+
(defn token-proxy? [p]
(obj/type-of? p "TokenProxy"))
@@ -85,6 +94,26 @@
(fn [_ value]
(st/emit! (dwtl/update-token set-id id {:value value})))}
+ :resolvedValue
+ {:this true
+ :enumerable false
+ :get
+ (fn [_]
+ (let [token (u/locate-token file-id set-id id)
+ tokens-lib (u/locate-tokens-lib file-id)
+ tokens-tree (ctob/get-tokens-in-active-sets tokens-lib)]
+ (get-resolved-value token tokens-tree)))}
+
+ :resolvedValueString
+ {:this true
+ :enumerable false
+ :get
+ (fn [_]
+ (let [token (u/locate-token file-id set-id id)
+ tokens-lib (u/locate-tokens-lib file-id)
+ tokens-tree (ctob/get-tokens-in-active-sets tokens-lib)]
+ (str (get-resolved-value token tokens-tree))))}
+
:description
{:this true
:get
diff --git a/plugins/apps/poc-tokens-plugin/src/app/app.component.html b/plugins/apps/poc-tokens-plugin/src/app/app.component.html
index 5be709cb57..f5ef5ff940 100644
--- a/plugins/apps/poc-tokens-plugin/src/app/app.component.html
+++ b/plugins/apps/poc-tokens-plugin/src/app/app.component.html
@@ -113,7 +113,9 @@
class="body-m panel-item token-item"
(click)="applyToken(token.id)"
>
- {{ token.name }}
+
+ {{ token.name }}
+