MakrTokens is Overprint for Swift: the colours, type, space and motion the CSS prints, as Swift values you hand straight to SwiftUI. It is generated from the same source as the CSS, so a token never drifts between the site and an app, and everything on this page is read from that generated file. The same press, and no ink on your fingers.
Install with SwiftPM#
In Xcode, choose File › Add Package Dependencies, paste https://github.com/maxgrits/makr-labs-design-system.git, keep the rule Up to Next Major Version from this release and add MakrTokens to your app target. The repository is private, so Xcode needs a GitHub account that can read it (Xcode › Settings › Accounts).
In a package, add the dependency and the product:
// Package.swift
dependencies: [
.package(url: "https://github.com/maxgrits/makr-labs-design-system.git", from: "1.1.0"),
],
targets: [
.target(name: "YourApp", dependencies: [
.product(name: "MakrTokens", package: "makr-labs-design-system"),
]),
],Then import MakrTokens wherever you need a token. Every release from 1.1.0 also tags the repository with its plain version, the tag SwiftPM reads, so from: follows the 1.x releases (the tokens ship as @maxgrits/overprint-tokens@1.1.0). To try a change before it is released, use branch: "main".
What MakrTokens holds#
One namespace, MakrTokens. A look picks the values, exactly like the data-mk-* attributes on the web; everything else is a plain value.
| Type | What it holds | Cases and counts |
|---|---|---|
MakrTokens.Colourway | The colourway axis of a look | .process, .acid, .cool, .jewel |
MakrTokens.Theme | The theme axis of a look | .bone, .night |
MakrTokens.Volume | The volume axis of a look | .quiet, .studio, .max |
MakrTokens.Contrast | The contrast axis of a look | .normal, .more |
MakrTokens.Look | One look: colourway, theme, volume and contrast; Look.standard is Look() | Look(colourway: .process, theme: .bone, volume: .max, contrast: .normal) |
MakrTokens.Role | Every colour role a look resolves | 273 cases |
MakrTokens.Space | Spacing, sections, gaps, the margin, breakpoints, containers, targets | 45 lengths |
MakrTokens.Radius | Corner radii in points | 6 radii |
MakrTokens.Border | Rule weights in points | 5 weights |
MakrTokens.Family | The four type families | .display, .text, .letter, .code |
MakrTokens.Text | Text and lettering roles | 18 roles |
MakrTokens.Display | Display roles with their three voices | 10 roles |
MakrTokens.Eases | Cubic Bézier curves | 20 curves |
MakrTokens.Durations | Durations per volume and under reduced motion | 44 durations |
| Member | What it does |
|---|---|
MakrTokens.RGBA.hexvar hex: String | #RRGGBB (or #RRGGBBAA below full opacity) for an sRGB colour, as the CSS prints it. |
MakrTokens.colour(_:in:)static func colour(_ role: Role, in look: Look = .standard) -> RGBA | The sRGB colour of a role in a look. |
MakrTokens.displayP3(_:in:)static func displayP3(_ role: Role, in look: Look = .standard) -> RGBA? | The Display P3 value of a fill (at Studio and Max) or a band (at Max) in a look, else nil. |
MakrTokens.blend(in:)static func blend(in look: Look = .standard) -> String | The blend the colourway's art overprints with (--mk-blend). |
MakrTokens.Length.compactvar compact: Double | The phone value (the fluid minimum). |
MakrTokens.Display.volume(_:)static func volume(_ v: Volume) -> (scale: Double, weight: Double) | Display scale and weight offset per volume (--mk-v-display-scale, --mk-v-display-wght). |
MakrTokens.Duration.at(_:reduceMotion:)func at(_ v: Volume, reduceMotion: Bool = false) -> Double | A duration in milliseconds per volume (quiet, studio, max) and under reduced motion. |
MakrTokens.RGBA.colorvar color: Color | The SwiftUI colour in its own space. |
Color.makr(_:in:)static func makr(_ role: MakrTokens.Role, in look: MakrTokens.Look = .standard) -> Color | A role in a look: the Display P3 value where the look selects it, else sRGB. |
Colour#
A colour is a role read in a look. Color.makr(.text, in: look) gives the SwiftUI colour (Display P3 where the look selects it, sRGB elsewhere); MakrTokens.colour(.text, in: look) gives the raw RGBA, and its hex is the value the CSS prints.
Role names follow the CSS: drop --mk- and camel-case the rest. --mk-text-2 is .text2, --mk-surface-raised is .surfaceRaised, and a leading 3d reads threeD (--mk-3d-key is .threeDKey). There are 273 roles; every one is listed under Every CSS token in Swift.
import MakrTokens
import SwiftUI
/// A project card on the app's paper: Bone in light mode, Night in dark mode, one step firmer when the reader turns
/// on Increase Contrast.
struct ProjectCard: View {
@Environment(\.colorScheme) private var scheme
@Environment(\.colorSchemeContrast) private var contrast
private var look: MakrTokens.Look {
MakrTokens.Look(
theme: scheme == .dark ? .night : .bone,
contrast: contrast == .increased ? .more : .normal
)
}
var body: some View {
VStack(alignment: .leading, spacing: 8) {
Text("Pebblepath")
.foregroundStyle(Color.makr(.text, in: look))
Text("Hand-thrown cups, shipped weekly")
.foregroundStyle(Color.makr(.text2, in: look))
Text("Get a quote")
.padding(.horizontal, 16)
.padding(.vertical, 12)
.foregroundStyle(Color.makr(.onAction, in: look))
.background(Color.makr(.action, in: look))
}
.padding(16)
.background(Color.makr(.surfaceRaised, in: look))
}
}
Light and dark#
Bone is the light paper and Night the dark one. Read the reader's colour scheme and contrast from the environment and pass them in the look, as the card above does: dark mode is theme: .night, Increase Contrast is contrast: .more. These are the values the Swift file returns for each.
| Role | Bone (light) | Night (dark) | Bone, more contrast | Night, more contrast |
|---|---|---|---|---|
.paper | #F5F2EC | #141016 | #F5F2EC | #141016 |
.surface | #F5F2EC | #141016 | #F5F2EC | #141016 |
.surfaceRaised | #FFFFFF | #1D1820 | #FFFFFF | #1D1820 |
.text | #15131A | #F3EDE7 | #15131A | #F3EDE7 |
.text2 | #524F54 | #D4CFCB | #15131A | #F3EDE7 |
.rule | #888587 | #716C6D | #888587 | #716C6D |
.ruleSoft | #D1CECB | #2E292E | #888587 | #716C6D |
.link | #840068 | #FFCBEA | #15131A | #F3EDE7 |
.focus | #15131A | #F3EDE7 | #15131A | #F3EDE7 |
.action | #FFE500 | #FFE500 | #FFE500 | #FFE500 |
.onAction | #15131A | #141016 | #15131A | #141016 |
.selected | #FFE1F4 | #311A29 | #FFE1F4 | #311A29 |
.onSelected | #15131A | #F3EDE7 | #15131A | #F3EDE7 |
.slab | #15131A | #F3EDE7 | #15131A | #F3EDE7 |
.onSlab | #F5F2EC | #141016 | #F5F2EC | #141016 |
.inkLead | #C31A9D | #DC00AA | #C31A9D | #DC00AA |
.inkSupport | #00B4EA | #37D0FF | #00B4EA | #37D0FF |
.inkSpot | #FFE500 | #FFE500 | #FFE500 | #FFE500 |
Type#
MakrTokens names the families and gives every role's size, weight, leading and tracking. The Swift package carries no fonts: add the variable fonts from the repository's packages/overprint-fonts/src/ to your app target and list them under Fonts provided by application (UIAppFonts) in Info.plist. Their family names are the ones MakrTokens.Family prints.
import MakrTokens
import SwiftUI
extension Font {
/// A text role in its family at the phone size, scaling with Dynamic Type like body text. The family's font files
/// ship with the app (MakrTokens names them; it does not bundle them).
static func makr(_ role: MakrTokens.TextRole) -> Font {
.custom(role.family.rawValue, size: role.size.compact, relativeTo: .body)
}
}
struct CaseStudyIntro: View {
var body: some View {
let lede = MakrTokens.Text.lede
Text("Fernlight sells plants by the window they suit.")
.font(.makr(lede))
.tracking(lede.tracking * lede.size.compact)
.lineSpacing((lede.leading - 1) * lede.size.compact)
}
}
A fluid role gives its phone and wide sizes; compact is the phone one. The display voices set Anybody's width axis (wdth): apply it with a font descriptor's variation, which MakrTokens leaves to the app.
| Case | Font family |
|---|---|
.display | Anybody |
.text | Schibsted Grotesk |
.letter | Shantell Sans |
.code | Geist Mono |
Every text role (18)
| Role | Family | Size | Weight | Leading | Tracking |
|---|---|---|---|---|---|
.lede | Schibsted Grotesk | 20 to 24 pt | 450 | 1.4 | -0.005 em |
.statement | Schibsted Grotesk | 22 to 30 pt | 600 | 1.3 | -0.01 em |
.body | Schibsted Grotesk | 18 pt | 420 | 1.55 | 0 em |
.bodyUi | Schibsted Grotesk | 16 pt | 450 | 1.5 | 0 em |
.meta | Schibsted Grotesk | 16 pt | 500 | 1.4 | 0 em |
.rowTitle | Schibsted Grotesk | 18 pt | 600 | 1.3 | -0.005 em |
.fieldLabel | Schibsted Grotesk | 16 pt | 600 | 1.3 | 0 em |
.label | Schibsted Grotesk | 14 pt | 600 | 1.3 | 0 em |
.controlSm | Schibsted Grotesk | 16 pt | 700 | 1 | 0.005 em |
.controlMd | Schibsted Grotesk | 17 pt | 700 | 1 | 0.005 em |
.controlLg | Schibsted Grotesk | 18 pt | 700 | 1 | 0.005 em |
.nav | Schibsted Grotesk | 16 pt | 600 | 1 | 0 em |
.code | Geist Mono | 16 pt | 450 | 1.6 | 0 em |
.letterBalloon | Shantell Sans | 16 pt | 560 | 1.42 | 0.02 em |
.letterCaption | Shantell Sans | 16 pt | 520 | 1.5 | 0.02 em |
.letterShout | Shantell Sans | 21 pt | 780 | 1.1 | 0.02 em |
.letterWhisper | Shantell Sans | 16 pt | 500 | 1.42 | 0.03 em |
.letterNote | Shantell Sans | 16 pt | 540 | 1.4 | 0.03 em |
Every display role (10)
| Role | Size | Leading | Standard | Wide | Condensed |
|---|---|---|---|---|---|
.display | 48 to 104 pt | 0.9 | wdth 106, 830, -0.016 em | wdth 122, 840, -0.012 em | wdth 76, 860, -0.004 em |
.headSection | 32 to 52 pt | 1 | wdth 104, 780, -0.01 em | wdth 118, 780, -0.01 em | wdth 80, 800, -0.004 em |
.headCard | 24 to 32 pt | 1.05 | wdth 100, 740, -0.01 em | wdth 110, 760, -0.01 em | wdth 90, 760, 0 em |
.kicker | 24 to 32 pt | 1.1 | wdth 104, 740, 0 em | wdth 114, 760, 0 em | wdth 84, 760, 0 em |
.numeralXl | 56 to 88 pt | 0.9 | wdth 100, 900, -0.02 em | wdth 122, 900, 0 em | wdth 72, 900, 0 em |
.numeralL | 44 to 58 pt | 0.9 | wdth 100, 880, 0 em | wdth 122, 880, 0 em | wdth 72, 880, 0 em |
.numeralM | 32 to 36 pt | 0.95 | wdth 100, 860, 0 em | wdth 122, 860, 0 em | wdth 72, 860, 0 em |
.numeralS | 24 pt | 1 | wdth 100, 820, 0 em | wdth 122, 820, 0 em | wdth 72, 820, 0 em |
.sfx | 56 to 128 pt | 0.85 | None | wdth 118, 900, -0.01 em | wdth 72, 900, 0 em |
.wordmark | 21 pt | 1 | wdth 108, 820, -0.005 em | wdth 108, 820, -0.005 em | wdth 108, 820, -0.005 em |
Space, radii and borders#
Lengths are points (1 rem is 16 pt). A fixed length is one value; a fluid one gives its phone and wide values, and the CSS slides between them with the viewport. This plate picks by size class:
import MakrTokens
import SwiftUI
extension MakrTokens.Length {
/// A fluid length's phone value in compact width and its wide value in regular width.
func value(in sizeClass: UserInterfaceSizeClass?) -> Double {
switch self {
case let .fixed(points):
return points
case let .fluid(min, max):
return sizeClass == .regular ? max : min
}
}
}
struct Plate: View {
@Environment(\.horizontalSizeClass) private var sizeClass
let look = MakrTokens.Look.standard
var body: some View {
VStack(alignment: .leading, spacing: MakrTokens.Space.gapStack.value(in: sizeClass)) {
Text("Jordan Reyes")
Text("Booked a call for Thursday")
}
.padding(MakrTokens.Space.space6.compact)
.background(Color.makr(.surfaceRaised, in: look))
.clipShape(RoundedRectangle(cornerRadius: MakrTokens.Radius.plate))
.overlay(
RoundedRectangle(cornerRadius: MakrTokens.Radius.plate)
.stroke(Color.makr(.rule, in: look), lineWidth: MakrTokens.Border.standard)
)
.padding(.horizontal, MakrTokens.Space.margin.value(in: sizeClass))
}
}
| Member | Points |
|---|---|
Radius.none | 0 |
Radius.mark | 3 |
Radius.chip | 8 |
Radius.control | 10 |
Radius.plate | 18 |
Radius.pill | 999 |
Border.thin | 1.5 |
Border.thick | 3 |
Border.heavy | 4 |
Border.standard | 2 |
Border.standardMoreContrast | 3 |
Every length in Space (45)
| Member | Swift value | Points |
|---|---|---|
.space0 | .fixed(0) | 0 pt |
.space1 | .fixed(4) | 4 pt |
.space2 | .fixed(8) | 8 pt |
.space3 | .fixed(12) | 12 pt |
.space4 | .fixed(16) | 16 pt |
.space5 | .fixed(20) | 20 pt |
.space6 | .fixed(24) | 24 pt |
.space7 | .fixed(28) | 28 pt |
.space8 | .fixed(32) | 32 pt |
.space9 | .fixed(36) | 36 pt |
.space10 | .fixed(40) | 40 pt |
.space11 | .fixed(44) | 44 pt |
.space12 | .fixed(48) | 48 pt |
.space13 | .fixed(52) | 52 pt |
.space14 | .fixed(56) | 56 pt |
.space15 | .fixed(60) | 60 pt |
.space16 | .fixed(64) | 64 pt |
.space20 | .fixed(80) | 80 pt |
.space24 | .fixed(96) | 96 pt |
.space32 | .fixed(128) | 128 pt |
.space40 | .fixed(160) | 160 pt |
.sectionSm | .fluid(min: 24, max: 32) | 24 to 32 pt |
.sectionMd | .fluid(min: 48, max: 64) | 48 to 64 pt |
.sectionLg | .fluid(min: 64, max: 96) | 64 to 96 pt |
.gapGroup | .fluid(min: 32, max: 48) | 32 to 48 pt |
.gapStack | .fluid(min: 12, max: 16) | 12 to 16 pt |
.margin | .fluid(min: 16, max: 64) | 16 to 64 pt |
.gutterGrid | .fluid(min: 16, max: 32) | 16 to 32 pt |
.bpTablet | .fixed(768) | 768 pt |
.bpLaptop | .fixed(1024) | 1024 pt |
.bpDesktop | .fixed(1440) | 1440 pt |
.bpWide | .fixed(1920) | 1920 pt |
.containerSm | .fixed(480) | 480 pt |
.containerMd | .fixed(768) | 768 pt |
.containerLg | .fixed(1024) | 1024 pt |
.containerXl | .fixed(1280) | 1280 pt |
.widthContent | .fixed(1152) | 1152 pt |
.widthWide | .fixed(1440) | 1440 pt |
.sheetMax | .fixed(1440) | 1440 pt |
.targetMin | .fixed(24) | 24 pt |
.targetTouch | .fixed(44) | 44 pt |
.controlHSm | .fixed(40) | 40 pt |
.controlHMd | .fixed(48) | 48 pt |
.controlHLg | .fixed(56) | 56 pt |
.widthProseCh | 70 | Characters |
Motion#
A duration holds one value per volume and one for reduced motion. at(look.volume, reduceMotion:) reads the right one: pass accessibilityReduceMotion and a reader who asked for less motion gets the reduced value. Curves are cubic Béziers, ready for Animation.timingCurve.
import MakrTokens
import SwiftUI
/// A "Sent" stamp that lands with the stamp curve and the stamp duration at the look's volume. Under Reduce Motion
/// the duration is the reduced one (0 ms for a stamp), so it simply appears.
struct SentStamp: View {
@Environment(\.accessibilityReduceMotion) private var reduceMotion
@State private var landed = false
let look = MakrTokens.Look.standard
var body: some View {
let curve = MakrTokens.Eases.stamp
let ms = MakrTokens.Durations.stamp.at(look.volume, reduceMotion: reduceMotion)
Text("Sent")
.scaleEffect(landed ? 1 : 1.4)
.opacity(landed ? 1 : 0)
.animation(
.timingCurve(curve.x1, curve.y1, curve.x2, curve.y2, duration: ms / 1000),
value: landed
)
.onAppear { landed = true }
}
}
Every curve (20)
| Curve | Control points |
|---|---|
.pop | 0.34, 1.56, 0.64, 1 |
.out | 0.16, 1, 0.3, 1 |
.inOut | 0.7, 0, 0.2, 1 |
.stamp | 0.2, 0.8, 0.2, 1 |
.drop | 0.2, 0.9, 0.3, 1.1 |
.land | 0.2, 0.9, 0.3, 1.2 |
.title | 0.2, 0.8, 0.3, 1 |
.squeegee | 0.45, 0, 0.35, 1 |
.fold | 0.6, 0, 0.3, 1 |
.fly | 0.5, 0, 0.3, 1 |
.split | 0.55, 0, 0.8, 0.2 |
.snap | 0.3, 0, 0.3, 1.6 |
.register | 0.5, 0, 0.2, 1 |
.slap | 0.2, 0.8, 0.3, 1.3 |
.squash | 0.5, 0, 0.6, 1 |
.wipe | 0.25, 0.1, 0.2, 1 |
.wipeHold | 0.75, 0, 0.25, 1 |
.wipeExit | 0.6, 0, 0.35, 1 |
.hop | 0.25, 1, 0.5, 1 |
.fall | 0.3, 0.7, 0.3, 1 |
Every duration (44)
| Duration | Quiet | Studio | Max | Reduced motion |
|---|---|---|---|---|
.hover | 200 | 200 | 200 | 0 |
.press | 220 | 220 | 220 | 0 |
.keySink | 120 | 120 | 120 | 0 |
.menu | 140 | 140 | 140 | 0 |
.overlayIn | 240 | 240 | 240 | 0 |
.overlayOut | 160 | 160 | 160 | 0 |
.drawerIn | 280 | 280 | 280 | 0 |
.drawerOut | 200 | 200 | 200 | 0 |
.disclosure | 180 | 180 | 180 | 0 |
.gauge | 900 | 900 | 900 | 0 |
.toastIn | 380 | 380 | 380 | 0 |
.toastOut | 260 | 260 | 260 | 0 |
.toastLife | 5200 | 5200 | 5200 | 5200 |
.stickerPop | 0 | 480 | 480 | 0 |
.stickerPopDelay | 0 | 200 | 200 | 0 |
.peel | 240 | 300 | 300 | 0 |
.stamp | 0 | 460 | 460 | 0 |
.thump | 0 | 220 | 220 | 0 |
.specks | 0 | 640 | 640 | 0 |
.sealDelay | 1200 | 1200 | 1200 | 1200 |
.seal | 240 | 300 | 300 | 0 |
.register | 0 | 520 | 520 | 0 |
.sfxPop | 0 | 700 | 700 | 0 |
.sfxHold | 600 | 600 | 600 | 600 |
.sfxOut | 0 | 300 | 300 | 0 |
.panel | 0 | 360 | 420 | 0 |
.panelStagger | 0 | 48 | 55 | 0 |
.arrival | 160 | 440 | 520 | 0 |
.blockHop | 0 | 620 | 620 | 0 |
.blockDrop | 0 | 700 | 700 | 0 |
.blockDropStagger | 0 | 90 | 90 | 0 |
.wipe | 0 | 410 | 480 | 0 |
.pressRun | 0 | 800 | 800 | 0 |
.reink | 400 | 700 | 700 | 0 |
.theme | 400 | 400 | 400 | 140 |
.glFade | 400 | 400 | 400 | 0 |
.fieldWake | 0 | 400 | 400 | 0 |
.fieldRun | 0 | 4000 | 4000 | 0 |
.fieldEase | 0 | 1000 | 1000 | 0 |
.fieldPulse | 0 | 900 | 900 | 0 |
.toppleStep | 0 | 120 | 120 | 0 |
.toppleFall | 0 | 420 | 420 | 0 |
.loaderCycle | 1200 | 1200 | 1200 | 0 |
.reduced | 140 | 140 | 140 | 140 |
Every CSS token in Swift#
521 of the 654 public tokens have a Swift member. Each group lists its tokens with the Swift that reads them; the tokens table has the same column.
Colour: 273 of 285 in Swift
| CSS | Swift |
|---|---|
--mk-paper | MakrTokens.colour(.paper) |
--mk-paper-sunken | MakrTokens.colour(.paperSunken) |
--mk-paper-plate | MakrTokens.colour(.paperPlate) |
--mk-paper-hover | MakrTokens.colour(.paperHover) |
--mk-paper-sunken-hover | MakrTokens.colour(.paperSunkenHover) |
--mk-paper-plate-hover | MakrTokens.colour(.paperPlateHover) |
--mk-slab | MakrTokens.colour(.slab) |
--mk-slab-hover | MakrTokens.colour(.slabHover) |
--mk-scrim | MakrTokens.colour(.scrim) |
--mk-ink | MakrTokens.colour(.ink) |
--mk-ink-2 | MakrTokens.colour(.ink2) |
--mk-ink-3 | MakrTokens.colour(.ink3) |
--mk-ink-display | MakrTokens.colour(.inkDisplay) |
--mk-ink-disabled | MakrTokens.colour(.inkDisabled) |
--mk-on-slab | MakrTokens.colour(.onSlab) |
--mk-on-slab-2 | MakrTokens.colour(.onSlab2) |
--mk-ink-rule | MakrTokens.colour(.inkRule) |
--mk-keyline | MakrTokens.colour(.keyline) |
--mk-stock-bone | MakrTokens.colour(.stockBone) |
--mk-stock-night | MakrTokens.colour(.stockNight) |
--mk-stock-white | MakrTokens.colour(.stockWhite) |
--mk-stock-newsprint | MakrTokens.colour(.stockNewsprint) |
--mk-stock-pulp | MakrTokens.colour(.stockPulp) |
--mk-stock-kraft | MakrTokens.colour(.stockKraft) |
--mk-ink-m | MakrTokens.colour(.inkM) |
--mk-ink-a | MakrTokens.colour(.inkA) |
--mk-ink-r | MakrTokens.colour(.inkR) |
--mk-ink-k | MakrTokens.colour(.inkK) |
--mk-ink-y | MakrTokens.colour(.inkY) |
--mk-ink-wood | MakrTokens.colour(.inkWood) |
--mk-ink-go | MakrTokens.colour(.inkGo) |
--mk-ink-lead | MakrTokens.colour(.inkLead) |
--mk-ink-support | MakrTokens.colour(.inkSupport) |
--mk-ink-spot | MakrTokens.colour(.inkSpot) |
--mk-live | MakrTokens.colour(.live) |
--mk-ink-m-solid | MakrTokens.colour(.inkMSolid) |
--mk-ink-m-hover | MakrTokens.colour(.inkMHover) |
--mk-ink-m-tint | MakrTokens.colour(.inkMTint) |
--mk-ink-m-tint-hover | MakrTokens.colour(.inkMTintHover) |
--mk-ink-a-solid | MakrTokens.colour(.inkASolid) |
--mk-ink-a-hover | MakrTokens.colour(.inkAHover) |
--mk-ink-a-tint | MakrTokens.colour(.inkATint) |
--mk-ink-a-tint-hover | MakrTokens.colour(.inkATintHover) |
--mk-ink-r-solid | MakrTokens.colour(.inkRSolid) |
--mk-ink-r-hover | MakrTokens.colour(.inkRHover) |
--mk-ink-r-tint | MakrTokens.colour(.inkRTint) |
--mk-ink-r-tint-hover | MakrTokens.colour(.inkRTintHover) |
--mk-ink-k-solid | MakrTokens.colour(.inkKSolid) |
--mk-ink-k-hover | MakrTokens.colour(.inkKHover) |
--mk-ink-k-tint | MakrTokens.colour(.inkKTint) |
--mk-ink-k-tint-hover | MakrTokens.colour(.inkKTintHover) |
--mk-ink-y-solid | MakrTokens.colour(.inkYSolid) |
--mk-ink-y-hover | MakrTokens.colour(.inkYHover) |
--mk-ink-y-tint | MakrTokens.colour(.inkYTint) |
--mk-ink-y-tint-hover | MakrTokens.colour(.inkYTintHover) |
--mk-ink-wood-solid | MakrTokens.colour(.inkWoodSolid) |
--mk-ink-wood-hover | MakrTokens.colour(.inkWoodHover) |
--mk-ink-wood-tint | MakrTokens.colour(.inkWoodTint) |
--mk-ink-wood-tint-hover | MakrTokens.colour(.inkWoodTintHover) |
--mk-ink-go-solid | MakrTokens.colour(.inkGoSolid) |
--mk-ink-go-hover | MakrTokens.colour(.inkGoHover) |
--mk-ink-go-tint | MakrTokens.colour(.inkGoTint) |
--mk-ink-go-tint-hover | MakrTokens.colour(.inkGoTintHover) |
--mk-ink-lead-solid | MakrTokens.colour(.inkLeadSolid) |
--mk-ink-lead-hover | MakrTokens.colour(.inkLeadHover) |
--mk-ink-lead-tint | MakrTokens.colour(.inkLeadTint) |
--mk-ink-lead-tint-hover | MakrTokens.colour(.inkLeadTintHover) |
--mk-ink-support-solid | MakrTokens.colour(.inkSupportSolid) |
--mk-ink-support-hover | MakrTokens.colour(.inkSupportHover) |
--mk-ink-support-tint | MakrTokens.colour(.inkSupportTint) |
--mk-ink-support-tint-hover | MakrTokens.colour(.inkSupportTintHover) |
--mk-ink-spot-solid | MakrTokens.colour(.inkSpotSolid) |
--mk-ink-spot-hover | MakrTokens.colour(.inkSpotHover) |
--mk-ink-spot-tint | MakrTokens.colour(.inkSpotTint) |
--mk-ink-spot-tint-hover | MakrTokens.colour(.inkSpotTintHover) |
--mk-action | MakrTokens.colour(.action) |
--mk-action-hover | MakrTokens.colour(.actionHover) |
--mk-action-tint | MakrTokens.colour(.actionTint) |
--mk-on-m | MakrTokens.colour(.onM) |
--mk-ink-m-text | MakrTokens.colour(.inkMText) |
--mk-on-a | MakrTokens.colour(.onA) |
--mk-ink-a-text | MakrTokens.colour(.inkAText) |
--mk-on-r | MakrTokens.colour(.onR) |
--mk-ink-r-text | MakrTokens.colour(.inkRText) |
--mk-on-k | MakrTokens.colour(.onK) |
--mk-ink-k-text | MakrTokens.colour(.inkKText) |
--mk-on-y | MakrTokens.colour(.onY) |
--mk-on-wood | MakrTokens.colour(.onWood) |
--mk-ink-wood-text | MakrTokens.colour(.inkWoodText) |
--mk-on-go | MakrTokens.colour(.onGo) |
--mk-ink-go-text | MakrTokens.colour(.inkGoText) |
--mk-on-lead | MakrTokens.colour(.onLead) |
--mk-ink-lead-text | MakrTokens.colour(.inkLeadText) |
--mk-on-support | MakrTokens.colour(.onSupport) |
--mk-ink-support-text | MakrTokens.colour(.inkSupportText) |
--mk-on-spot | MakrTokens.colour(.onSpot) |
--mk-on-action | MakrTokens.colour(.onAction) |
--mk-ink-m-keyline | MakrTokens.colour(.inkMKeyline) |
--mk-ink-a-keyline | MakrTokens.colour(.inkAKeyline) |
--mk-ink-r-keyline | MakrTokens.colour(.inkRKeyline) |
--mk-ink-k-keyline | MakrTokens.colour(.inkKKeyline) |
--mk-ink-y-keyline | MakrTokens.colour(.inkYKeyline) |
--mk-ink-wood-keyline | MakrTokens.colour(.inkWoodKeyline) |
--mk-ink-go-keyline | MakrTokens.colour(.inkGoKeyline) |
--mk-ink-lead-keyline | MakrTokens.colour(.inkLeadKeyline) |
--mk-ink-support-keyline | MakrTokens.colour(.inkSupportKeyline) |
--mk-ink-spot-keyline | MakrTokens.colour(.inkSpotKeyline) |
--mk-action-edge | MakrTokens.colour(.actionEdge) |
--mk-action-keyline | MakrTokens.colour(.actionKeyline) |
--mk-ink-m-deep | MakrTokens.colour(.inkMDeep) |
--mk-ink-a-deep | MakrTokens.colour(.inkADeep) |
--mk-ink-r-deep | MakrTokens.colour(.inkRDeep) |
--mk-ink-k-deep | MakrTokens.colour(.inkKDeep) |
--mk-ink-y-deep | MakrTokens.colour(.inkYDeep) |
--mk-ink-wood-deep | MakrTokens.colour(.inkWoodDeep) |
--mk-ink-go-deep | MakrTokens.colour(.inkGoDeep) |
--mk-ink-lead-deep | MakrTokens.colour(.inkLeadDeep) |
--mk-ink-support-deep | MakrTokens.colour(.inkSupportDeep) |
--mk-ink-spot-deep | MakrTokens.colour(.inkSpotDeep) |
--mk-ink-m-plate | MakrTokens.colour(.inkMPlate) |
--mk-ink-m-plate-hover | MakrTokens.colour(.inkMPlateHover) |
--mk-ink-a-plate | MakrTokens.colour(.inkAPlate) |
--mk-ink-a-plate-hover | MakrTokens.colour(.inkAPlateHover) |
--mk-ink-r-plate | MakrTokens.colour(.inkRPlate) |
--mk-ink-r-plate-hover | MakrTokens.colour(.inkRPlateHover) |
--mk-ink-k-plate | MakrTokens.colour(.inkKPlate) |
--mk-ink-k-plate-hover | MakrTokens.colour(.inkKPlateHover) |
--mk-ink-y-plate | MakrTokens.colour(.inkYPlate) |
--mk-ink-y-plate-hover | MakrTokens.colour(.inkYPlateHover) |
--mk-ink-wood-plate | MakrTokens.colour(.inkWoodPlate) |
--mk-ink-wood-plate-hover | MakrTokens.colour(.inkWoodPlateHover) |
--mk-ink-lead-plate | MakrTokens.colour(.inkLeadPlate) |
--mk-ink-lead-plate-hover | MakrTokens.colour(.inkLeadPlateHover) |
--mk-ink-support-plate | MakrTokens.colour(.inkSupportPlate) |
--mk-ink-support-plate-hover | MakrTokens.colour(.inkSupportPlateHover) |
--mk-ink-spot-plate | MakrTokens.colour(.inkSpotPlate) |
--mk-ink-spot-plate-hover | MakrTokens.colour(.inkSpotPlateHover) |
--mk-on-m-plate | MakrTokens.colour(.onMPlate) |
--mk-on-a-plate | MakrTokens.colour(.onAPlate) |
--mk-on-r-plate | MakrTokens.colour(.onRPlate) |
--mk-on-k-plate | MakrTokens.colour(.onKPlate) |
--mk-on-y-plate | MakrTokens.colour(.onYPlate) |
--mk-on-wood-plate | MakrTokens.colour(.onWoodPlate) |
--mk-on-lead-plate | MakrTokens.colour(.onLeadPlate) |
--mk-on-support-plate | MakrTokens.colour(.onSupportPlate) |
--mk-on-spot-plate | MakrTokens.colour(.onSpotPlate) |
--mk-surface | MakrTokens.colour(.surface) |
--mk-surface-raised | MakrTokens.colour(.surfaceRaised) |
--mk-surface-sunken | MakrTokens.colour(.surfaceSunken) |
--mk-hover | MakrTokens.colour(.hover) |
--mk-selected | MakrTokens.colour(.selected) |
--mk-control | MakrTokens.colour(.control) |
--mk-disabled | MakrTokens.colour(.disabled) |
--mk-text | MakrTokens.colour(.text) |
--mk-text-2 | MakrTokens.colour(.text2) |
--mk-link | MakrTokens.colour(.link) |
--mk-on-selected | MakrTokens.colour(.onSelected) |
--mk-on-control | MakrTokens.colour(.onControl) |
--mk-on-control-2 | MakrTokens.colour(.onControl2) |
--mk-text-display | MakrTokens.colour(.textDisplay) |
--mk-text-disabled | MakrTokens.colour(.textDisabled) |
--mk-rule | MakrTokens.colour(.rule) |
--mk-control-rule | MakrTokens.colour(.controlRule) |
--mk-rule-soft | MakrTokens.colour(.ruleSoft) |
--mk-focus | MakrTokens.colour(.focus) |
--mk-line-fill | Not in Swift |
--mk-line | Not in Swift |
--mk-line-tint | Not in Swift |
--mk-line-plate | Not in Swift |
--mk-line-hover | Not in Swift |
--mk-linecard-head-surface | Not in Swift |
--mk-on-line | Not in Swift |
--mk-line-text | Not in Swift |
--mk-on-line-plate | Not in Swift |
--mk-linecard-head-text | Not in Swift |
--mk-line-keyline | Not in Swift |
--mk-line-deep | Not in Swift |
--mk-band-1 | MakrTokens.colour(.band1) |
--mk-band-2 | MakrTokens.colour(.band2) |
--mk-band-3 | MakrTokens.colour(.band3) |
--mk-band-4 | MakrTokens.colour(.band4) |
--mk-field-paper | MakrTokens.colour(.fieldPaper) |
--mk-ov-ink | MakrTokens.colour(.ovInk) |
--mk-sep-c | MakrTokens.colour(.sepC) |
--mk-sep-m | MakrTokens.colour(.sepM) |
--mk-sep-y | MakrTokens.colour(.sepY) |
--mk-sep-k | MakrTokens.colour(.sepK) |
--mk-cover-paper | MakrTokens.colour(.coverPaper) |
--mk-cover-ink | MakrTokens.colour(.coverInk) |
--mk-stamp-ink | MakrTokens.colour(.stampInk) |
--mk-3d-m-light | MakrTokens.colour(.threeDMLight) |
--mk-3d-m-fill | MakrTokens.colour(.threeDMFill) |
--mk-3d-m-shade | MakrTokens.colour(.threeDMShade) |
--mk-3d-m-deep | MakrTokens.colour(.threeDMDeep) |
--mk-3d-m-letter | MakrTokens.colour(.threeDMLetter) |
--mk-3d-a-light | MakrTokens.colour(.threeDALight) |
--mk-3d-a-fill | MakrTokens.colour(.threeDAFill) |
--mk-3d-a-shade | MakrTokens.colour(.threeDAShade) |
--mk-3d-a-deep | MakrTokens.colour(.threeDADeep) |
--mk-3d-a-letter | MakrTokens.colour(.threeDALetter) |
--mk-3d-r-light | MakrTokens.colour(.threeDRLight) |
--mk-3d-r-fill | MakrTokens.colour(.threeDRFill) |
--mk-3d-r-shade | MakrTokens.colour(.threeDRShade) |
--mk-3d-r-deep | MakrTokens.colour(.threeDRDeep) |
--mk-3d-r-letter | MakrTokens.colour(.threeDRLetter) |
--mk-3d-k-light | MakrTokens.colour(.threeDKLight) |
--mk-3d-k-fill | MakrTokens.colour(.threeDKFill) |
--mk-3d-k-shade | MakrTokens.colour(.threeDKShade) |
--mk-3d-k-deep | MakrTokens.colour(.threeDKDeep) |
--mk-3d-k-letter | MakrTokens.colour(.threeDKLetter) |
--mk-3d-wood-light | MakrTokens.colour(.threeDWoodLight) |
--mk-3d-wood-fill | MakrTokens.colour(.threeDWoodFill) |
--mk-3d-wood-shade | MakrTokens.colour(.threeDWoodShade) |
--mk-3d-wood-deep | MakrTokens.colour(.threeDWoodDeep) |
--mk-3d-wood-letter | MakrTokens.colour(.threeDWoodLetter) |
--mk-3d-lead-light | MakrTokens.colour(.threeDLeadLight) |
--mk-3d-lead-fill | MakrTokens.colour(.threeDLeadFill) |
--mk-3d-lead-shade | MakrTokens.colour(.threeDLeadShade) |
--mk-3d-lead-deep | MakrTokens.colour(.threeDLeadDeep) |
--mk-3d-lead-letter | MakrTokens.colour(.threeDLeadLetter) |
--mk-3d-support-light | MakrTokens.colour(.threeDSupportLight) |
--mk-3d-support-fill | MakrTokens.colour(.threeDSupportFill) |
--mk-3d-support-shade | MakrTokens.colour(.threeDSupportShade) |
--mk-3d-support-deep | MakrTokens.colour(.threeDSupportDeep) |
--mk-3d-support-letter | MakrTokens.colour(.threeDSupportLetter) |
--mk-3d-key | MakrTokens.colour(.threeDKey) |
--mk-3d-shadow | MakrTokens.colour(.threeDShadow) |
--mk-3d-focus | MakrTokens.colour(.threeDFocus) |
--mk-pair-balloon-paper-bg | MakrTokens.colour(.pairBalloonPaperBg) |
--mk-pair-balloon-paper-fg | MakrTokens.colour(.pairBalloonPaperFg) |
--mk-pair-balloon-white-bg | MakrTokens.colour(.pairBalloonWhiteBg) |
--mk-pair-balloon-white-fg | MakrTokens.colour(.pairBalloonWhiteFg) |
--mk-pair-balloon-caption-bg | MakrTokens.colour(.pairBalloonCaptionBg) |
--mk-pair-balloon-caption-fg | MakrTokens.colour(.pairBalloonCaptionFg) |
--mk-pair-balloon-inverse-bg | MakrTokens.colour(.pairBalloonInverseBg) |
--mk-pair-balloon-inverse-fg | MakrTokens.colour(.pairBalloonInverseFg) |
--mk-pair-balloon-spot-bg | MakrTokens.colour(.pairBalloonSpotBg) |
--mk-pair-balloon-spot-fg | MakrTokens.colour(.pairBalloonSpotFg) |
--mk-pair-caption-narration-bg | MakrTokens.colour(.pairCaptionNarrationBg) |
--mk-pair-caption-narration-fg | MakrTokens.colour(.pairCaptionNarrationFg) |
--mk-pair-caption-place-bg | MakrTokens.colour(.pairCaptionPlaceBg) |
--mk-pair-caption-place-fg | MakrTokens.colour(.pairCaptionPlaceFg) |
--mk-pair-caption-transition-bg | MakrTokens.colour(.pairCaptionTransitionBg) |
--mk-pair-caption-transition-fg | MakrTokens.colour(.pairCaptionTransitionFg) |
--mk-pair-sticker-m-bg | MakrTokens.colour(.pairStickerMBg) |
--mk-pair-sticker-m-fg | MakrTokens.colour(.pairStickerMFg) |
--mk-pair-sticker-a-bg | MakrTokens.colour(.pairStickerABg) |
--mk-pair-sticker-a-fg | MakrTokens.colour(.pairStickerAFg) |
--mk-pair-sticker-r-bg | MakrTokens.colour(.pairStickerRBg) |
--mk-pair-sticker-r-fg | MakrTokens.colour(.pairStickerRFg) |
--mk-pair-sticker-k-bg | MakrTokens.colour(.pairStickerKBg) |
--mk-pair-sticker-k-fg | MakrTokens.colour(.pairStickerKFg) |
--mk-pair-sticker-y-bg | MakrTokens.colour(.pairStickerYBg) |
--mk-pair-sticker-y-fg | MakrTokens.colour(.pairStickerYFg) |
--mk-pair-sticker-wood-bg | MakrTokens.colour(.pairStickerWoodBg) |
--mk-pair-sticker-wood-fg | MakrTokens.colour(.pairStickerWoodFg) |
--mk-pair-sticker-lead-bg | MakrTokens.colour(.pairStickerLeadBg) |
--mk-pair-sticker-lead-fg | MakrTokens.colour(.pairStickerLeadFg) |
--mk-pair-sticker-support-bg | MakrTokens.colour(.pairStickerSupportBg) |
--mk-pair-sticker-support-fg | MakrTokens.colour(.pairStickerSupportFg) |
--mk-pair-sticker-spot-bg | MakrTokens.colour(.pairStickerSpotBg) |
--mk-pair-sticker-spot-fg | MakrTokens.colour(.pairStickerSpotFg) |
--mk-pair-sticker-ink-bg | MakrTokens.colour(.pairStickerInkBg) |
--mk-pair-sticker-ink-fg | MakrTokens.colour(.pairStickerInkFg) |
--mk-pair-sticker-paper-bg | MakrTokens.colour(.pairStickerPaperBg) |
--mk-pair-sticker-paper-fg | MakrTokens.colour(.pairStickerPaperFg) |
--mk-data-accent | MakrTokens.colour(.dataAccent) |
--mk-data-ink | MakrTokens.colour(.dataInk) |
--mk-data-2 | MakrTokens.colour(.data2) |
--mk-data-seq-1 | MakrTokens.colour(.dataSeq1) |
--mk-data-seq-2 | MakrTokens.colour(.dataSeq2) |
--mk-data-seq-3 | MakrTokens.colour(.dataSeq3) |
--mk-data-seq-4 | MakrTokens.colour(.dataSeq4) |
--mk-data-seq-5 | MakrTokens.colour(.dataSeq5) |
--mk-data-grid | MakrTokens.colour(.dataGrid) |
--mk-data-axis | MakrTokens.colour(.dataAxis) |
--mk-data-keyline | MakrTokens.colour(.dataKeyline) |
--mk-code-surface | MakrTokens.colour(.codeSurface) |
--mk-code-text | MakrTokens.colour(.codeText) |
--mk-code-keyword | MakrTokens.colour(.codeKeyword) |
--mk-code-string | MakrTokens.colour(.codeString) |
--mk-code-number | MakrTokens.colour(.codeNumber) |
--mk-code-function | MakrTokens.colour(.codeFunction) |
--mk-code-comment | MakrTokens.colour(.codeComment) |
--mk-code-punctuation | MakrTokens.colour(.codePunctuation) |
Type: 126 of 190 in Swift
| CSS | Swift |
|---|---|
--mk-font-display | MakrTokens.Family.display |
--mk-font-display-italic | Not in Swift |
--mk-font-text | MakrTokens.Family.text |
--mk-font-text-italic | Not in Swift |
--mk-font-letter | MakrTokens.Family.letter |
--mk-font-code | MakrTokens.Family.code |
--mk-display-family | Not in Swift |
--mk-type-lede-size | MakrTokens.Text.lede.size |
--mk-type-statement-size | MakrTokens.Text.statement.size |
--mk-type-body-size | MakrTokens.Text.body.size |
--mk-type-body-ui-size | MakrTokens.Text.bodyUi.size |
--mk-type-meta-size | MakrTokens.Text.meta.size |
--mk-type-row-title-size | MakrTokens.Text.rowTitle.size |
--mk-type-field-label-size | MakrTokens.Text.fieldLabel.size |
--mk-type-label-size | MakrTokens.Text.label.size |
--mk-type-control-sm-size | MakrTokens.Text.controlSm.size |
--mk-type-control-md-size | MakrTokens.Text.controlMd.size |
--mk-type-control-lg-size | MakrTokens.Text.controlLg.size |
--mk-type-nav-size | MakrTokens.Text.nav.size |
--mk-type-code-size | MakrTokens.Text.code.size |
--mk-type-letter-balloon-size | MakrTokens.Text.letterBalloon.size |
--mk-type-letter-caption-size | MakrTokens.Text.letterCaption.size |
--mk-type-letter-shout-size | MakrTokens.Text.letterShout.size |
--mk-type-letter-whisper-size | MakrTokens.Text.letterWhisper.size |
--mk-type-letter-note-size | MakrTokens.Text.letterNote.size |
--mk-type-display-size | MakrTokens.Display.display.size |
--mk-type-head-section-size | MakrTokens.Display.headSection.size |
--mk-type-head-card-size | MakrTokens.Display.headCard.size |
--mk-type-kicker-size | MakrTokens.Display.kicker.size |
--mk-type-numeral-xl-size | MakrTokens.Display.numeralXl.size |
--mk-type-numeral-l-size | MakrTokens.Display.numeralL.size |
--mk-type-numeral-m-size | MakrTokens.Display.numeralM.size |
--mk-type-numeral-s-size | MakrTokens.Display.numeralS.size |
--mk-type-sfx-size | MakrTokens.Display.sfx.size |
--mk-type-wordmark-size | MakrTokens.Display.wordmark.size |
--mk-type-lede-leading | MakrTokens.Text.lede.leading |
--mk-type-statement-leading | MakrTokens.Text.statement.leading |
--mk-type-body-leading | MakrTokens.Text.body.leading |
--mk-type-body-ui-leading | MakrTokens.Text.bodyUi.leading |
--mk-type-meta-leading | MakrTokens.Text.meta.leading |
--mk-type-row-title-leading | MakrTokens.Text.rowTitle.leading |
--mk-type-field-label-leading | MakrTokens.Text.fieldLabel.leading |
--mk-type-label-leading | MakrTokens.Text.label.leading |
--mk-type-control-sm-leading | MakrTokens.Text.controlSm.leading |
--mk-type-control-md-leading | MakrTokens.Text.controlMd.leading |
--mk-type-control-lg-leading | MakrTokens.Text.controlLg.leading |
--mk-type-nav-leading | MakrTokens.Text.nav.leading |
--mk-type-code-leading | MakrTokens.Text.code.leading |
--mk-type-letter-balloon-leading | MakrTokens.Text.letterBalloon.leading |
--mk-type-letter-caption-leading | MakrTokens.Text.letterCaption.leading |
--mk-type-letter-shout-leading | MakrTokens.Text.letterShout.leading |
--mk-type-letter-whisper-leading | MakrTokens.Text.letterWhisper.leading |
--mk-type-letter-note-leading | MakrTokens.Text.letterNote.leading |
--mk-type-display-leading | MakrTokens.Display.display.leading |
--mk-type-head-section-leading | MakrTokens.Display.headSection.leading |
--mk-type-head-card-leading | MakrTokens.Display.headCard.leading |
--mk-type-kicker-leading | MakrTokens.Display.kicker.leading |
--mk-type-numeral-xl-leading | MakrTokens.Display.numeralXl.leading |
--mk-type-numeral-l-leading | MakrTokens.Display.numeralL.leading |
--mk-type-numeral-m-leading | MakrTokens.Display.numeralM.leading |
--mk-type-numeral-s-leading | MakrTokens.Display.numeralS.leading |
--mk-type-sfx-leading | MakrTokens.Display.sfx.leading |
--mk-type-wordmark-leading | MakrTokens.Display.wordmark.leading |
--mk-type-lede-tracking | MakrTokens.Text.lede.tracking |
--mk-type-statement-tracking | MakrTokens.Text.statement.tracking |
--mk-type-body-tracking | MakrTokens.Text.body.tracking |
--mk-type-body-ui-tracking | MakrTokens.Text.bodyUi.tracking |
--mk-type-meta-tracking | MakrTokens.Text.meta.tracking |
--mk-type-row-title-tracking | MakrTokens.Text.rowTitle.tracking |
--mk-type-field-label-tracking | MakrTokens.Text.fieldLabel.tracking |
--mk-type-label-tracking | MakrTokens.Text.label.tracking |
--mk-type-control-sm-tracking | MakrTokens.Text.controlSm.tracking |
--mk-type-control-md-tracking | MakrTokens.Text.controlMd.tracking |
--mk-type-control-lg-tracking | MakrTokens.Text.controlLg.tracking |
--mk-type-nav-tracking | MakrTokens.Text.nav.tracking |
--mk-type-code-tracking | MakrTokens.Text.code.tracking |
--mk-type-letter-balloon-tracking | MakrTokens.Text.letterBalloon.tracking |
--mk-type-letter-caption-tracking | MakrTokens.Text.letterCaption.tracking |
--mk-type-letter-shout-tracking | MakrTokens.Text.letterShout.tracking |
--mk-type-letter-whisper-tracking | MakrTokens.Text.letterWhisper.tracking |
--mk-type-letter-note-tracking | MakrTokens.Text.letterNote.tracking |
--mk-track-display | MakrTokens.Display.display.standard.tracking |
--mk-track-head-section | MakrTokens.Display.headSection.standard.tracking |
--mk-track-head-card | MakrTokens.Display.headCard.standard.tracking |
--mk-track-kicker | MakrTokens.Display.kicker.standard.tracking |
--mk-track-numeral-xl | MakrTokens.Display.numeralXl.standard.tracking |
--mk-track-numeral-l | MakrTokens.Display.numeralL.standard.tracking |
--mk-track-numeral-m | MakrTokens.Display.numeralM.standard.tracking |
--mk-track-numeral-s | MakrTokens.Display.numeralS.standard.tracking |
--mk-track-sfx | MakrTokens.Display.sfx.standard.tracking |
--mk-track-wordmark | MakrTokens.Display.wordmark.standard.tracking |
--mk-type-lede-weight | MakrTokens.Text.lede.weight |
--mk-type-statement-weight | MakrTokens.Text.statement.weight |
--mk-type-body-weight | MakrTokens.Text.body.weight |
--mk-type-body-ui-weight | MakrTokens.Text.bodyUi.weight |
--mk-type-meta-weight | MakrTokens.Text.meta.weight |
--mk-type-row-title-weight | MakrTokens.Text.rowTitle.weight |
--mk-type-field-label-weight | MakrTokens.Text.fieldLabel.weight |
--mk-type-label-weight | MakrTokens.Text.label.weight |
--mk-type-control-sm-weight | MakrTokens.Text.controlSm.weight |
--mk-type-control-md-weight | MakrTokens.Text.controlMd.weight |
--mk-type-control-lg-weight | MakrTokens.Text.controlLg.weight |
--mk-type-nav-weight | MakrTokens.Text.nav.weight |
--mk-type-code-weight | MakrTokens.Text.code.weight |
--mk-type-letter-balloon-weight | MakrTokens.Text.letterBalloon.weight |
--mk-type-letter-caption-weight | MakrTokens.Text.letterCaption.weight |
--mk-type-letter-shout-weight | MakrTokens.Text.letterShout.weight |
--mk-type-letter-whisper-weight | MakrTokens.Text.letterWhisper.weight |
--mk-type-letter-note-weight | MakrTokens.Text.letterNote.weight |
--mk-wght-display | MakrTokens.Display.display.standard.weight |
--mk-wght-head-section | MakrTokens.Display.headSection.standard.weight |
--mk-wght-head-card | MakrTokens.Display.headCard.standard.weight |
--mk-wght-kicker | MakrTokens.Display.kicker.standard.weight |
--mk-wght-numeral-xl | MakrTokens.Display.numeralXl.standard.weight |
--mk-wght-numeral-l | MakrTokens.Display.numeralL.standard.weight |
--mk-wght-numeral-m | MakrTokens.Display.numeralM.standard.weight |
--mk-wght-numeral-s | MakrTokens.Display.numeralS.standard.weight |
--mk-wght-sfx | MakrTokens.Display.sfx.standard.weight |
--mk-wght-wordmark | MakrTokens.Display.wordmark.standard.weight |
--mk-wd-display | MakrTokens.Display.display.standard.width |
--mk-wd-head-section | MakrTokens.Display.headSection.standard.width |
--mk-wd-head-card | MakrTokens.Display.headCard.standard.width |
--mk-wd-kicker | MakrTokens.Display.kicker.standard.width |
--mk-wd-numeral-xl | MakrTokens.Display.numeralXl.standard.width |
--mk-wd-numeral-l | MakrTokens.Display.numeralL.standard.width |
--mk-wd-numeral-m | MakrTokens.Display.numeralM.standard.width |
--mk-wd-numeral-s | MakrTokens.Display.numeralS.standard.width |
--mk-wd-sfx | MakrTokens.Display.sfx.standard.width |
--mk-wd-wordmark | MakrTokens.Display.wordmark.standard.width |
--mk-type-print-title-size | Not in Swift |
--mk-type-print-head-size | Not in Swift |
--mk-type-print-body-size | Not in Swift |
--mk-type-print-table-size | Not in Swift |
--mk-type-print-meta-size | Not in Swift |
--mk-type-print-label-size | Not in Swift |
--mk-type-print-numeral-size | Not in Swift |
--mk-type-print-footer-size | Not in Swift |
--mk-type-print-card-name-size | Not in Swift |
--mk-type-print-card-line-size | Not in Swift |
--mk-type-slide-display-size | Not in Swift |
--mk-type-slide-head-size | Not in Swift |
--mk-type-slide-body-size | Not in Swift |
--mk-type-slide-meta-size | Not in Swift |
--mk-type-print-title-leading | Not in Swift |
--mk-type-print-head-leading | Not in Swift |
--mk-type-print-body-leading | Not in Swift |
--mk-type-print-table-leading | Not in Swift |
--mk-type-print-meta-leading | Not in Swift |
--mk-type-print-label-leading | Not in Swift |
--mk-type-print-numeral-leading | Not in Swift |
--mk-type-print-footer-leading | Not in Swift |
--mk-type-print-card-name-leading | Not in Swift |
--mk-type-print-card-line-leading | Not in Swift |
--mk-type-slide-display-leading | Not in Swift |
--mk-type-slide-head-leading | Not in Swift |
--mk-type-slide-body-leading | Not in Swift |
--mk-type-slide-meta-leading | Not in Swift |
--mk-type-print-title-tracking | Not in Swift |
--mk-type-print-head-tracking | Not in Swift |
--mk-type-print-body-tracking | Not in Swift |
--mk-type-print-table-tracking | Not in Swift |
--mk-type-print-meta-tracking | Not in Swift |
--mk-type-print-label-tracking | Not in Swift |
--mk-type-print-numeral-tracking | Not in Swift |
--mk-type-print-footer-tracking | Not in Swift |
--mk-type-print-card-name-tracking | Not in Swift |
--mk-type-print-card-line-tracking | Not in Swift |
--mk-type-slide-display-tracking | Not in Swift |
--mk-type-slide-head-tracking | Not in Swift |
--mk-type-slide-body-tracking | Not in Swift |
--mk-type-slide-meta-tracking | Not in Swift |
--mk-type-print-title-weight | Not in Swift |
--mk-type-print-head-weight | Not in Swift |
--mk-type-print-body-weight | Not in Swift |
--mk-type-print-table-weight | Not in Swift |
--mk-type-print-meta-weight | Not in Swift |
--mk-type-print-label-weight | Not in Swift |
--mk-type-print-numeral-weight | Not in Swift |
--mk-type-print-footer-weight | Not in Swift |
--mk-type-print-card-name-weight | Not in Swift |
--mk-type-print-card-line-weight | Not in Swift |
--mk-type-slide-display-weight | Not in Swift |
--mk-type-slide-head-weight | Not in Swift |
--mk-type-slide-body-weight | Not in Swift |
--mk-type-slide-meta-weight | Not in Swift |
--mk-type-print-title-wdth | Not in Swift |
--mk-type-print-head-wdth | Not in Swift |
--mk-type-print-numeral-wdth | Not in Swift |
--mk-type-slide-display-wdth | Not in Swift |
--mk-type-slide-head-wdth | Not in Swift |
Space and size: 45 of 45 in Swift
| CSS | Swift |
|---|---|
--mk-space-0 | MakrTokens.Space.space0 |
--mk-space-1 | MakrTokens.Space.space1 |
--mk-space-2 | MakrTokens.Space.space2 |
--mk-space-3 | MakrTokens.Space.space3 |
--mk-space-4 | MakrTokens.Space.space4 |
--mk-space-5 | MakrTokens.Space.space5 |
--mk-space-6 | MakrTokens.Space.space6 |
--mk-space-7 | MakrTokens.Space.space7 |
--mk-space-8 | MakrTokens.Space.space8 |
--mk-space-9 | MakrTokens.Space.space9 |
--mk-space-10 | MakrTokens.Space.space10 |
--mk-space-11 | MakrTokens.Space.space11 |
--mk-space-12 | MakrTokens.Space.space12 |
--mk-space-13 | MakrTokens.Space.space13 |
--mk-space-14 | MakrTokens.Space.space14 |
--mk-space-15 | MakrTokens.Space.space15 |
--mk-space-16 | MakrTokens.Space.space16 |
--mk-space-20 | MakrTokens.Space.space20 |
--mk-space-24 | MakrTokens.Space.space24 |
--mk-space-32 | MakrTokens.Space.space32 |
--mk-space-40 | MakrTokens.Space.space40 |
--mk-section-sm | MakrTokens.Space.sectionSm |
--mk-section-md | MakrTokens.Space.sectionMd |
--mk-section-lg | MakrTokens.Space.sectionLg |
--mk-gap-group | MakrTokens.Space.gapGroup |
--mk-gap-stack | MakrTokens.Space.gapStack |
--mk-margin | MakrTokens.Space.margin |
--mk-gutter-grid | MakrTokens.Space.gutterGrid |
--mk-bp-tablet | MakrTokens.Space.bpTablet |
--mk-bp-laptop | MakrTokens.Space.bpLaptop |
--mk-bp-desktop | MakrTokens.Space.bpDesktop |
--mk-bp-wide | MakrTokens.Space.bpWide |
--mk-container-sm | MakrTokens.Space.containerSm |
--mk-container-md | MakrTokens.Space.containerMd |
--mk-container-lg | MakrTokens.Space.containerLg |
--mk-container-xl | MakrTokens.Space.containerXl |
--mk-width-prose | MakrTokens.Space.widthProseCh |
--mk-width-content | MakrTokens.Space.widthContent |
--mk-width-wide | MakrTokens.Space.widthWide |
--mk-sheet-max | MakrTokens.Space.sheetMax |
--mk-target-min | MakrTokens.Space.targetMin |
--mk-target-touch | MakrTokens.Space.targetTouch |
--mk-control-h-sm | MakrTokens.Space.controlHSm |
--mk-control-h-md | MakrTokens.Space.controlHMd |
--mk-control-h-lg | MakrTokens.Space.controlHLg |
Shape and depth: 10 of 31 in Swift
| CSS | Swift |
|---|---|
--mk-radius-none | MakrTokens.Radius.none |
--mk-radius-mark | MakrTokens.Radius.mark |
--mk-radius-chip | MakrTokens.Radius.chip |
--mk-radius-control | MakrTokens.Radius.control |
--mk-radius-plate | MakrTokens.Radius.plate |
--mk-radius-pill | MakrTokens.Radius.pill |
--mk-corner | Not in Swift |
--mk-border | MakrTokens.Border.standard |
--mk-border-thin | MakrTokens.Border.thin |
--mk-border-thick | MakrTokens.Border.thick |
--mk-border-heavy | MakrTokens.Border.heavy |
--mk-shadow-key | Not in Swift |
--mk-shadow-key-pressed | Not in Swift |
--mk-shadow-plate | Not in Swift |
--mk-shadow-menu | Not in Swift |
--mk-shadow-toast | Not in Swift |
--mk-shadow-pop | Not in Swift |
--mk-shadow-soft | Not in Swift |
--mk-z-base | Not in Swift |
--mk-z-art | Not in Swift |
--mk-z-plate | Not in Swift |
--mk-z-raised | Not in Swift |
--mk-z-header | Not in Swift |
--mk-z-dock | Not in Swift |
--mk-z-overlay | Not in Swift |
--mk-z-popover | Not in Swift |
--mk-z-toast | Not in Swift |
--mk-z-tooltip | Not in Swift |
--mk-z-cursor | Not in Swift |
--mk-z-boot | Not in Swift |
--mk-z-skip | Not in Swift |
Volume and switches: 3 of 39 in Swift
| CSS | Swift |
|---|---|
--mk-blend | MakrTokens.blend(in:) |
--mk-theme | Not in Swift |
--mk-volume-base | Not in Swift |
--mk-volume | Not in Swift |
--mk-contrast | Not in Swift |
--mk-ov-mode | Not in Swift |
--mk-ov-on | Not in Swift |
--mk-ov-on-head | Not in Swift |
--mk-w-quiet | Not in Swift |
--mk-w-studio | Not in Swift |
--mk-w-max | Not in Swift |
--mk-w-bone | Not in Swift |
--mk-w-night | Not in Swift |
--mk-w-hc | Not in Swift |
--mk-w-p3 | Not in Swift |
--mk-w-cx-studio | Not in Swift |
--mk-w-cx-old | Not in Swift |
--mk-w-cx-neon | Not in Swift |
--mk-v-grain | Not in Swift |
--mk-v-texture | Not in Swift |
--mk-v-sep-off | Not in Swift |
--mk-v-sep-plates | Not in Swift |
--mk-v-plate-offset | Not in Swift |
--mk-v-display-scale | MakrTokens.Display.volume(_:) |
--mk-v-display-wght | MakrTokens.Display.volume(_:) |
--mk-v-tilt-max | Not in Swift |
--mk-v-specks | Not in Swift |
--mk-v-krackle | Not in Swift |
--mk-slant-x | Not in Swift |
--mk-break-out | Not in Swift |
--mk-v-sfx | Not in Swift |
--mk-v-loop-control | Not in Swift |
--mk-a-pop | Not in Swift |
--mk-a-land | Not in Swift |
--mk-a-wipe | Not in Swift |
--mk-a-snap | Not in Swift |
--mk-a-flex | Not in Swift |
--mk-a-panel | Not in Swift |
--mk-cx-art-blend | Not in Swift |
Motion: 64 of 64 in Swift
| CSS | Swift |
|---|---|
--mk-ease-pop | MakrTokens.Eases.pop |
--mk-ease-out | MakrTokens.Eases.out |
--mk-ease-in-out | MakrTokens.Eases.inOut |
--mk-ease-stamp | MakrTokens.Eases.stamp |
--mk-ease-drop | MakrTokens.Eases.drop |
--mk-ease-land | MakrTokens.Eases.land |
--mk-ease-title | MakrTokens.Eases.title |
--mk-ease-squeegee | MakrTokens.Eases.squeegee |
--mk-ease-fold | MakrTokens.Eases.fold |
--mk-ease-fly | MakrTokens.Eases.fly |
--mk-ease-split | MakrTokens.Eases.split |
--mk-ease-snap | MakrTokens.Eases.snap |
--mk-ease-register | MakrTokens.Eases.register |
--mk-ease-slap | MakrTokens.Eases.slap |
--mk-ease-squash | MakrTokens.Eases.squash |
--mk-ease-wipe | MakrTokens.Eases.wipe |
--mk-ease-wipe-hold | MakrTokens.Eases.wipeHold |
--mk-ease-wipe-exit | MakrTokens.Eases.wipeExit |
--mk-ease-hop | MakrTokens.Eases.hop |
--mk-ease-fall | MakrTokens.Eases.fall |
--mk-dur-hover | MakrTokens.Durations.hover |
--mk-dur-press | MakrTokens.Durations.press |
--mk-dur-key-sink | MakrTokens.Durations.keySink |
--mk-dur-menu | MakrTokens.Durations.menu |
--mk-dur-overlay-in | MakrTokens.Durations.overlayIn |
--mk-dur-overlay-out | MakrTokens.Durations.overlayOut |
--mk-dur-drawer-in | MakrTokens.Durations.drawerIn |
--mk-dur-drawer-out | MakrTokens.Durations.drawerOut |
--mk-dur-disclosure | MakrTokens.Durations.disclosure |
--mk-dur-gauge | MakrTokens.Durations.gauge |
--mk-dur-toast-in | MakrTokens.Durations.toastIn |
--mk-dur-toast-out | MakrTokens.Durations.toastOut |
--mk-dur-toast-life | MakrTokens.Durations.toastLife |
--mk-dur-sticker-pop | MakrTokens.Durations.stickerPop |
--mk-dur-sticker-pop-delay | MakrTokens.Durations.stickerPopDelay |
--mk-dur-peel | MakrTokens.Durations.peel |
--mk-dur-stamp | MakrTokens.Durations.stamp |
--mk-dur-thump | MakrTokens.Durations.thump |
--mk-dur-specks | MakrTokens.Durations.specks |
--mk-dur-seal-delay | MakrTokens.Durations.sealDelay |
--mk-dur-seal | MakrTokens.Durations.seal |
--mk-dur-register | MakrTokens.Durations.register |
--mk-dur-sfx-pop | MakrTokens.Durations.sfxPop |
--mk-dur-sfx-hold | MakrTokens.Durations.sfxHold |
--mk-dur-sfx-out | MakrTokens.Durations.sfxOut |
--mk-dur-panel | MakrTokens.Durations.panel |
--mk-dur-panel-stagger | MakrTokens.Durations.panelStagger |
--mk-dur-arrival | MakrTokens.Durations.arrival |
--mk-dur-block-hop | MakrTokens.Durations.blockHop |
--mk-dur-block-drop | MakrTokens.Durations.blockDrop |
--mk-dur-block-drop-stagger | MakrTokens.Durations.blockDropStagger |
--mk-dur-wipe | MakrTokens.Durations.wipe |
--mk-dur-press-run | MakrTokens.Durations.pressRun |
--mk-dur-reink | MakrTokens.Durations.reink |
--mk-dur-theme | MakrTokens.Durations.theme |
--mk-dur-gl-fade | MakrTokens.Durations.glFade |
--mk-dur-field-wake | MakrTokens.Durations.fieldWake |
--mk-dur-field-run | MakrTokens.Durations.fieldRun |
--mk-dur-field-ease | MakrTokens.Durations.fieldEase |
--mk-dur-field-pulse | MakrTokens.Durations.fieldPulse |
--mk-dur-topple-step | MakrTokens.Durations.toppleStep |
--mk-dur-topple-fall | MakrTokens.Durations.toppleFall |
--mk-dur-loader-cycle | MakrTokens.Durations.loaderCycle |
--mk-dur-reduced | MakrTokens.Durations.reduced |
Not on iOS#
- The components. The React kit, the print and comic kits and the 3D pile are for the web; MakrTokens is the values, not the views.
- The fonts. They ship with your app (see Type).
- The slide between sizes. A fluid length gives its two ends; the CSS interpolates with the viewport, an app picks by size class.
- Client colourways.
Colourwayholds the 4 built-in colourways; a client's colourway is derived for the web (@maxgrits/overprint-tokens/derive). - The expressive layer and sound. Halftone, grain, the second ink, the ink field, the comic art and the sound engine are web-only.
- The cascade. No
data-mk-*attributes and no media queries: SwiftUI's environment (colorScheme,colorSchemeContrast,accessibilityReduceMotion) feeds the look instead, as the examples do.
Tokens with no Swift member#
| Tokens | Why |
|---|---|
--mk-line-fill--mk-line--mk-line-tint--mk-line-plate--mk-line-hover--mk-linecard-head-surface--mk-on-line--mk-line-textAnd 4 more--mk-on-line-plate--mk-linecard-head-text--mk-line-keyline--mk-line-deep | Line colours resolve per line of work in the CSS (data-mk-line); in Swift read that line's ink roles directly (.inkM for Custom apps, .inkA for Software, .inkR for Growth, .inkK for Websites). |
--mk-type-print-title-size--mk-type-print-head-size--mk-type-print-body-size--mk-type-print-table-size--mk-type-print-meta-size--mk-type-print-label-size--mk-type-print-numeral-size--mk-type-print-footer-sizeAnd 53 more--mk-type-print-card-name-size--mk-type-print-card-line-size--mk-type-slide-display-size--mk-type-slide-head-size--mk-type-slide-body-size--mk-type-slide-meta-size--mk-type-print-title-leading--mk-type-print-head-leading--mk-type-print-body-leading--mk-type-print-table-leading--mk-type-print-meta-leading--mk-type-print-label-leading--mk-type-print-numeral-leading--mk-type-print-footer-leading--mk-type-print-card-name-leading--mk-type-print-card-line-leading--mk-type-slide-display-leading--mk-type-slide-head-leading--mk-type-slide-body-leading--mk-type-slide-meta-leading--mk-type-print-title-tracking--mk-type-print-head-tracking--mk-type-print-body-tracking--mk-type-print-table-tracking--mk-type-print-meta-tracking--mk-type-print-label-tracking--mk-type-print-numeral-tracking--mk-type-print-footer-tracking--mk-type-print-card-name-tracking--mk-type-print-card-line-tracking--mk-type-slide-display-tracking--mk-type-slide-head-tracking--mk-type-slide-body-tracking--mk-type-slide-meta-tracking--mk-type-print-title-weight--mk-type-print-head-weight--mk-type-print-body-weight--mk-type-print-table-weight--mk-type-print-meta-weight--mk-type-print-label-weight--mk-type-print-numeral-weight--mk-type-print-footer-weight--mk-type-print-card-name-weight--mk-type-print-card-line-weight--mk-type-slide-display-weight--mk-type-slide-head-weight--mk-type-slide-body-weight--mk-type-slide-meta-weight--mk-type-print-title-wdth--mk-type-print-head-wdth--mk-type-print-numeral-wdth--mk-type-slide-display-wdth--mk-type-slide-head-wdth | The print and slide type roles, which only the generators' PDFs and decks use. |
--mk-font-display-italic--mk-font-text-italic--mk-display-family | The italic stacks and the family a display voice switches to; the families themselves are MakrTokens.Family. |
--mk-theme--mk-volume-base--mk-volume--mk-contrast--mk-ov-mode--mk-ov-on--mk-ov-on-head--mk-w-quietAnd 9 more--mk-w-studio--mk-w-max--mk-w-bone--mk-w-night--mk-w-hc--mk-w-p3--mk-w-cx-studio--mk-w-cx-old--mk-w-cx-neon | The CSS cascade's own indices and weights; in Swift a Look picks the values directly. |
--mk-v-grain--mk-v-texture--mk-v-sep-off--mk-v-sep-plates--mk-v-plate-offset--mk-v-tilt-max--mk-v-specks--mk-v-krackleAnd 11 more--mk-slant-x--mk-break-out--mk-v-sfx--mk-v-loop-control--mk-a-pop--mk-a-land--mk-a-wipe--mk-a-snap--mk-a-flex--mk-a-panel--mk-cx-art-blend | Animation names and the expressive layer's dials (grain, texture, plate offsets, tilt): there is no expressive layer on iOS. |
--mk-corner | The display voices' corner multiplier; the radii themselves are MakrTokens.Radius. |
--mk-shadow-key--mk-shadow-key-pressed--mk-shadow-plate--mk-shadow-menu--mk-shadow-toast--mk-shadow-pop--mk-shadow-soft | The hard offset shadows of the web kit's keys and plates. |
--mk-z-base--mk-z-art--mk-z-plate--mk-z-raised--mk-z-header--mk-z-dock--mk-z-overlay--mk-z-popoverAnd 5 more--mk-z-toast--mk-z-tooltip--mk-z-cursor--mk-z-boot--mk-z-skip | The page's stacking layers. |