🎉 Add composite typography token

This commit is contained in:
Florian Schroedl
2025-08-18 13:43:20 +02:00
committed by Andrés Moya
parent 68a95cf0d0
commit 9106617436
14 changed files with 1480 additions and 233 deletions

View File

@@ -0,0 +1,264 @@
{
"~:id": "~u021b87d4-813e-8066-8006-b36537098786",
"~:file-id": "~uef9b2783-804c-8017-8006-ae6f7eab52ad",
"~:created-at": "~m1756113434655",
"~:data": {
"~:objects": {
"~u00000000-0000-0000-0000-000000000000": {
"~#shape": {
"~:y": 0,
"~:hide-fill-on-export": false,
"~:transform": {
"~#matrix": {
"~:a": 1.0,
"~:b": 0.0,
"~:c": 0.0,
"~:d": 1.0,
"~:e": 0.0,
"~:f": 0.0
}
},
"~:rotation": 0,
"~:name": "Root Frame",
"~:width": 0.01,
"~:type": "~:frame",
"~:points": [
{
"~#point": {
"~:x": 0.0,
"~:y": 0.0
}
},
{
"~#point": {
"~:x": 0.01,
"~:y": 0.0
}
},
{
"~#point": {
"~:x": 0.01,
"~:y": 0.01
}
},
{
"~#point": {
"~:x": 0.0,
"~:y": 0.01
}
}
],
"~:r2": 0,
"~:proportion-lock": false,
"~:transform-inverse": {
"~#matrix": {
"~:a": 1.0,
"~:b": 0.0,
"~:c": 0.0,
"~:d": 1.0,
"~:e": 0.0,
"~:f": 0.0
}
},
"~:r3": 0,
"~:r1": 0,
"~:id": "~u00000000-0000-0000-0000-000000000000",
"~:parent-id": "~u00000000-0000-0000-0000-000000000000",
"~:frame-id": "~u00000000-0000-0000-0000-000000000000",
"~:strokes": [],
"~:x": 0,
"~:proportion": 1.0,
"~:r4": 0,
"~:selrect": {
"~#rect": {
"~:x": 0,
"~:y": 0,
"~:width": 0.01,
"~:height": 0.01,
"~:x1": 0,
"~:y1": 0,
"~:x2": 0.01,
"~:y2": 0.01
}
},
"~:fills": [
{
"~:fill-color": "#FFFFFF",
"~:fill-opacity": 1
}
],
"~:flip-x": null,
"~:height": 0.01,
"~:flip-y": null,
"~:shapes": ["~u97915939-ccca-808f-8006-aeb8eee2aa47"]
}
},
"~u97915939-ccca-808f-8006-aeb8eee2aa47": {
"~#shape": {
"~:y": 301,
"~:transform": {
"~#matrix": {
"~:a": 1.0,
"~:b": 0.0,
"~:c": 0.0,
"~:d": 1.0,
"~:e": 0.0,
"~:f": 0.0
}
},
"~:rotation": 0,
"~:grow-type": "~:auto-width",
"~:content": {
"~:type": "root",
"~:children": [
{
"~:type": "paragraph-set",
"~:children": [
{
"~:line-height": "1.2",
"~:font-style": "normal",
"~:children": [
{
"~:line-height": "1.2",
"~:font-style": "normal",
"~:text-transform": "unset",
"~:text-align": "left",
"~:font-id": "gfont-open-sans",
"~:font-size": "40",
"~:font-weight": "400",
"~:text-direction": "ltr",
"~:font-variant-id": "regular",
"~:weight": "400",
"~:text-decoration": "none",
"~:letter-spacing": "2",
"~:fills": [
{
"~:fill-color": "#000000",
"~:fill-opacity": 1
}
],
"~:font-family": "Open Sans",
"~:text": "Some Text"
}
],
"~:text-transform": "unset",
"~:text-align": "left",
"~:font-id": "gfont-open-sans",
"~:key": "f7ij3",
"~:font-size": "40",
"~:font-weight": "400",
"~:text-direction": "ltr",
"~:type": "paragraph",
"~:font-variant-id": "regular",
"~:weight": "400",
"~:text-decoration": "none",
"~:letter-spacing": "2",
"~:fills": [
{
"~:fill-color": "#000000",
"~:fill-opacity": 1
}
],
"~:font-family": "Open Sans"
}
]
}
]
},
"~:hide-in-viewer": false,
"~:name": "Some Text",
"~:width": 214,
"~:type": "~:text",
"~:points": [
{
"~#point": {
"~:x": 376,
"~:y": 301
}
},
{
"~#point": {
"~:x": 590,
"~:y": 301
}
},
{
"~#point": {
"~:x": 590,
"~:y": 349
}
},
{
"~#point": {
"~:x": 376,
"~:y": 349
}
}
],
"~:transform-inverse": {
"~#matrix": {
"~:a": 1.0,
"~:b": 0.0,
"~:c": 0.0,
"~:d": 1.0,
"~:e": 0.0,
"~:f": 0.0
}
},
"~:opacity": 1,
"~:id": "~u97915939-ccca-808f-8006-aeb8eee2aa47",
"~:parent-id": "~u00000000-0000-0000-0000-000000000000",
"~:applied-tokens": {},
"~:position-data": [
{
"~#rect": {
"~:y": 352.33333444595337,
"~:font-style": "normal",
"~:text-transform": "none",
"~:font-size": "40px",
"~:font-weight": "400",
"~:y1": -3.3333334922790527,
"~:width": 213.5729217529297,
"~:text-decoration": "none solid rgb(0, 0, 0)",
"~:letter-spacing": "2px",
"~:x": 376,
"~:x1": 0,
"~:y2": 51.33333444595337,
"~:fills": [
{
"~:fill-color": "#000000",
"~:fill-opacity": 1
}
],
"~:x2": 213.5729217529297,
"~:direction": "ltr",
"~:font-family": "\"Open Sans\"",
"~:height": 54.66666793823242,
"~:text": "Some Text"
}
}
],
"~:frame-id": "~u00000000-0000-0000-0000-000000000000",
"~:x": 376,
"~:selrect": {
"~#rect": {
"~:x": 376,
"~:y": 301,
"~:width": 214,
"~:height": 48,
"~:x1": 376,
"~:y1": 301,
"~:x2": 590,
"~:y2": 349
}
},
"~:flip-x": null,
"~:height": 48,
"~:flip-y": null
}
}
},
"~:id": "~uef9b2783-804c-8017-8006-ae6f7eab52ae",
"~:name": "Page 1"
}
}

View File

@@ -0,0 +1,400 @@
{
"~:features": {
"~#set": [
"fdata/path-data",
"plugins/runtime",
"design-tokens/v1",
"layout/grid",
"styles/v2",
"fdata/pointer-map",
"fdata/objects-map",
"components/v2",
"fdata/shape-data-type"
]
},
"~:team-id": "~ub34726bd-fd32-8122-8004-b1a4bef38917",
"~:permissions": {
"~:type": "~:membership",
"~:is-owner": true,
"~:is-admin": true,
"~:can-edit": true,
"~:can-read": true,
"~:is-logged": true
},
"~:has-media-trimmed": false,
"~:comment-thread-seqn": 0,
"~:name": "Typography",
"~:revn": 133,
"~:modified-at": "~m1756113434658",
"~:vern": 0,
"~:id": "~uef9b2783-804c-8017-8006-ae6f7eab52ad",
"~:is-shared": false,
"~:migrations": {
"~#ordered-set": []
},
"~:version": 67,
"~:project-id": "~u0df61468-6cbf-8067-8005-6b453ce996d0",
"~:created-at": "~m1755780585133",
"~:data": {
"~:pages": ["~uef9b2783-804c-8017-8006-ae6f7eab52ae"],
"~:pages-index": {
"~uef9b2783-804c-8017-8006-ae6f7eab52ae": {
"~#penpot/pointer": [
"~u021b87d4-813e-8066-8006-b36537098786",
{
"~:created-at": "~m1756113434662"
}
]
}
},
"~:id": "~uef9b2783-804c-8017-8006-ae6f7eab52ad",
"~:options": {
"~:components-v2": true,
"~:base-font-size": "16px"
},
"~:tokens-lib": {
"~#penpot/tokens-lib": {
"~:sets": {
"~#ordered-map": [
[
"S-Typography",
{
"~#penpot/token-set": {
"~:id": "~u7239ff52-c1d9-8014-8006-ae7ad49690e3",
"~:name": "Typography",
"~:description": "",
"~:modified-at": "~m1755800261695",
"~:tokens": {
"~#ordered-map": [
[
"42dotSans",
{
"~#penpot/token": {
"~:id": "~u7239ff52-c1d9-8014-8006-ae7ac05000f0",
"~:name": "42dotSans",
"~:type": "~:font-family",
"~:value": ["Aboreto"],
"~:description": "",
"~:modified-at": "~m1755798229771"
}
}
],
[
"Full",
{
"~#penpot/token": {
"~:id": "~u7239ff52-c1d9-8014-8006-ae7ad49690e3",
"~:name": "Full",
"~:type": "~:typography",
"~:value": {
"~:font-family": ["42dot Sans"],
"~:font-size": "100",
"~:font-weight": "300",
"~:letter-spacing": "2",
"~:text-case": "uppercase",
"~:text-decoration": "underline"
},
"~:description": "",
"~:modified-at": "~m1755800261695"
}
}
],
[
"FontSizeOnly",
{
"~#penpot/token": {
"~:id": "~u97915939-ccca-808f-8006-aeb2b3f4dea3",
"~:name": "FontSizeOnly",
"~:type": "~:typography",
"~:value": {
"~:font-size": "10"
},
"~:description": "",
"~:modified-at": "~m1755798203347"
}
}
],
[
"Empty",
{
"~#penpot/token": {
"~:id": "~u97915939-ccca-808f-8006-aeb2b795ca5b",
"~:name": "Empty",
"~:type": "~:typography",
"~:value": {},
"~:description": "",
"~:modified-at": "~m1755798207063"
}
}
],
[
"WithAtomicReference",
{
"~#penpot/token": {
"~:id": "~u97915939-ccca-808f-8006-aeb2c2049024",
"~:name": "WithAtomicReference",
"~:type": "~:typography",
"~:value": {
"~:font-size": "{Large}",
"~:font-family": ["{42dotSans}"],
"~:font-weight": "{Bold}",
"~:text-decoration": "{striked}",
"~:text-case": "{uppercase}"
},
"~:description": "",
"~:modified-at": "~m1755800252452"
}
}
],
[
"Bold",
{
"~#penpot/token": {
"~:id": "~u97915939-ccca-808f-8006-aeb2d58dc828",
"~:name": "Bold",
"~:type": "~:font-weight",
"~:value": "Bold",
"~:description": "",
"~:modified-at": "~m1755798237751"
}
}
],
[
"Large",
{
"~#penpot/token": {
"~:id": "~u97915939-ccca-808f-8006-aeb2dfd57494",
"~:name": "Large",
"~:type": "~:font-size",
"~:value": "40",
"~:description": "",
"~:modified-at": "~m1755798248277"
}
}
],
[
"Small",
{
"~#penpot/token": {
"~:id": "~u97915939-ccca-808f-8006-aeb2ebc1d2e7",
"~:name": "Small",
"~:type": "~:font-size",
"~:value": "{Large} / 2",
"~:description": "",
"~:modified-at": "~m1755798260488"
}
}
],
[
"uppercase",
{
"~#penpot/token": {
"~:id": "~u97915939-ccca-808f-8006-aeb2f759c415",
"~:name": "uppercase",
"~:type": "~:text-case",
"~:value": "uppercase",
"~:description": "",
"~:modified-at": "~m1755798272360"
}
}
],
[
"striked",
{
"~#penpot/token": {
"~:id": "~u97915939-ccca-808f-8006-aeb305c7a666",
"~:name": "striked",
"~:type": "~:text-decoration",
"~:value": "strike-through",
"~:description": "",
"~:modified-at": "~m1755798287134"
}
}
],
[
"wide",
{
"~#penpot/token": {
"~:id": "~u97915939-ccca-808f-8006-aeb39796c280",
"~:name": "wide",
"~:type": "~:letter-spacing",
"~:value": "20",
"~:description": "",
"~:modified-at": "~m1755798436443"
}
}
],
[
"none",
{
"~#penpot/token": {
"~:id": "~u97915939-ccca-808f-8006-aeb857f7ff94",
"~:name": "none",
"~:type": "~:text-decoration",
"~:value": "none",
"~:description": "",
"~:modified-at": "~m1755799682015"
}
}
]
]
}
}
}
],
[
"S-Other",
{
"~#penpot/token-set": {
"~:id": "~u97915939-ccca-808f-8006-aeb3c391e0f4",
"~:name": "Other",
"~:description": "",
"~:modified-at": "~m1755798626309",
"~:tokens": {
"~#ordered-map": [
[
"red",
{
"~#penpot/token": {
"~:id": "~u97915939-ccca-808f-8006-aeb3f86a2d7e",
"~:name": "red",
"~:type": "~:color",
"~:value": "#AA0022",
"~:description": "",
"~:modified-at": "~m1755798535592"
}
}
],
[
"rounded",
{
"~#penpot/token": {
"~:id": "~u97915939-ccca-808f-8006-aeb412ca40b0",
"~:name": "rounded",
"~:type": "~:border-radius",
"~:value": "20px",
"~:description": "",
"~:modified-at": "~m1755798562602"
}
}
],
[
"dimensions",
{
"~#penpot/token": {
"~:id": "~u97915939-ccca-808f-8006-aeb41bd0336c",
"~:name": "dimensions",
"~:type": "~:dimensions",
"~:value": "20",
"~:description": "",
"~:modified-at": "~m1755798571840"
}
}
],
[
"number",
{
"~#penpot/token": {
"~:id": "~u97915939-ccca-808f-8006-aeb4244ec6e6",
"~:name": "number",
"~:type": "~:number",
"~:value": "30",
"~:description": "",
"~:modified-at": "~m1755798580539"
}
}
],
[
"transparent",
{
"~#penpot/token": {
"~:id": "~u97915939-ccca-808f-8006-aeb4300eff0d",
"~:name": "transparent",
"~:type": "~:opacity",
"~:value": "0.5",
"~:description": "",
"~:modified-at": "~m1755798592571"
}
}
],
[
"45deg",
{
"~#penpot/token": {
"~:id": "~u97915939-ccca-808f-8006-aeb43d30e201",
"~:name": "45deg",
"~:type": "~:rotation",
"~:value": "45",
"~:description": "",
"~:modified-at": "~m1755798606019"
}
}
],
[
"spacing",
{
"~#penpot/token": {
"~:id": "~u97915939-ccca-808f-8006-aeb44783b70f",
"~:name": "spacing",
"~:type": "~:spacing",
"~:value": "20",
"~:description": "",
"~:modified-at": "~m1755798616590"
}
}
],
[
"sizing",
{
"~#penpot/token": {
"~:id": "~u97915939-ccca-808f-8006-aeb44e0e6903",
"~:name": "sizing",
"~:type": "~:sizing",
"~:value": "20",
"~:description": "",
"~:modified-at": "~m1755798623289"
}
}
]
]
}
}
}
]
]
},
"~:themes": {
"~#ordered-map": [
[
"",
{
"~#ordered-map": [
[
"__PENPOT__HIDDEN__TOKEN__THEME__",
{
"~#penpot/token-theme": {
"~:id": "~u00000000-0000-0000-0000-000000000000",
"~:name": "__PENPOT__HIDDEN__TOKEN__THEME__",
"~:group": "",
"~:description": "",
"~:is-source": false,
"~:external-id": "",
"~:modified-at": "~m1755798544595",
"~:sets": {
"~#set": ["Typography", "Other"]
}
}
}
]
]
}
]
]
},
"~:active-themes": {
"~#set": ["/__PENPOT__HIDDEN__TOKEN__THEME__"]
}
}
}
}
}