@oneli8/tokens 1.0.0-beta.5 → 1.0.0-beta.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -7,7 +7,7 @@ npm install @oneli8/tokens
7
7
  ```
8
8
 
9
9
  ```js
10
- import '@oneli8/tokens/css'; // :root custom properties + .ol8-type-* classes
10
+ import '@oneli8/tokens/css'; // every token as a :root custom property
11
11
  import { tokens } from '@oneli8/tokens'; // flat { 'color-text-primary': '#151817', ... }
12
12
  ```
13
13
 
@@ -17,25 +17,46 @@ rebuild.
17
17
 
18
18
  ## What the vocabulary contains
19
19
 
20
- 99 colour primitives across 9 ramps, 68 semantic colour roles, 45 Gem material
21
- roles, 27 control material roles, a 3px atomic dimension scale, 9 radii, 9
22
- composite typography roles and 5 elevations.
20
+ 601 tokens in three tiers: 170 primitives, 270 semantic roles and 161 component
21
+ roles. Nine colour ramps, a 3px atomic dimension scale, nine radii, nine
22
+ composite typography roles, five elevation surfaces and the Gem material.
23
+
24
+ The tiers are not decoration. A primitive is a value, a semantic role is a
25
+ decision, and a component role is that decision applied to one part of one
26
+ component. Each tier may only reference the tier above it, and the build refuses
27
+ a component token that reaches straight for a primitive.
23
28
 
24
29
  Two rules matter when consuming it:
25
30
 
26
31
  - **Use semantic roles, not primitives.** `color-blue-600` is a swatch;
27
32
  `color-actionprimary-default` is a decision. Primitives are hidden from Figma
28
33
  pickers for the same reason.
29
- - **Use the `.ol8-type-<role>` class, not individual font variables.** Typography
30
- is composite in Figma, a role bundles family, size, line height, weight and
31
- tracking, and the class applies all of them together.
34
+ - **Use a whole typography role, not loose font variables.** Typography is
35
+ composite in Figma: a role bundles family, size, line height, weight and
36
+ tracking, and those five belong together. Nine roles ship, each as five
37
+ custom properties.
38
+
39
+ ```css
40
+ .article-lead {
41
+ font-family: var(--ol8-typography-body-large-font-family);
42
+ font-size: var(--ol8-typography-body-large-font-size);
43
+ font-weight: var(--ol8-typography-body-large-font-weight);
44
+ line-height: var(--ol8-typography-body-large-line-height);
45
+ letter-spacing: var(--ol8-typography-body-large-letter-spacing);
46
+ }
47
+ ```
48
+
49
+ The roles are `display-large`, `display-medium`, `display-small`,
50
+ `title-large`, `title-medium`, `title-small`, `body-large`, `body-medium` and
51
+ `body-small`. This package ships custom properties and no class names, so
52
+ nothing here can collide with your own stylesheet.
32
53
 
33
54
  ## Entry points
34
55
 
35
56
  | Import | What it gives you |
36
57
  |---|---|
37
58
  | `@oneli8/tokens` | flat `{ name: value }` map, with a literal union key type |
38
- | `@oneli8/tokens/css` | the custom properties and `.ol8-type-*` classes |
59
+ | `@oneli8/tokens/css` | every token as a CSS custom property |
39
60
  | `@oneli8/tokens/tailwind` | Tailwind v3 preset |
40
61
  | `@oneli8/tokens/tailwind.css` | Tailwind v4 `@theme` bridge |
41
62
  | `@oneli8/tokens/figma` | round trip payload: collections, theme modes, type and elevation styles |
package/ai-context.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$comment": "GENERATED by packages/sync/src/build-package-context.mjs — do not edit.",
3
3
  "system": "OneLi8",
4
- "version": "1.0.0-beta.5",
4
+ "version": "1.0.0-beta.7",
5
5
  "meaning": "OneLi8 means One Light.",
6
6
  "foundations": {
7
7
  "package": "@oneli8/tokens",
@@ -13,7 +13,7 @@
13
13
  "color-primary-* is an alias ramp onto color-blue-* — identical values, distinct names. Prefer the semantic role over either.",
14
14
  "Dimension scale is 3px-atomic. Even multiples for structural layout; odd multiples are deliberate optical or micro-gap choices.",
15
15
  "Elevation ink is cyan-840 rgb(22,63,75) — never default black.",
16
- "Typography roles are composite. Use the .ol8-type-<role> class, not the individual font vars.",
16
+ "Typography roles are composite. Apply a whole role, all five of --ol8-typography-<role>-{font-family,font-size,font-weight,line-height,letter-spacing}, rather than picking loose font vars. This package ships custom properties and no class names.",
17
17
  "shape-radius-full (999px) is reserved for pills and circles. Soft hexagons are component-specific recipes, not a radius token."
18
18
  ]
19
19
  },
@@ -296,9 +296,9 @@
296
296
  --ol8-material-control-gem--rim-hover: color-mix(in srgb, var(--ol8-color-neutral-030) 36%, transparent);
297
297
  --ol8-material-control-gem--rim-specular: color-mix(in srgb, var(--ol8-color-neutral-030) 54%, transparent);
298
298
  --ol8-material-control-gem--blur: 12px;
299
- --ol8-material-control-gem-gradient-start: 14.639%;
300
- --ol8-material-control-gem-gradient-mid: 48.586%;
301
- --ol8-material-control-gem-gradient-end: 85.361%;
299
+ --ol8-material-control-gem--gradient-start: 14.639%;
300
+ --ol8-material-control-gem--gradient-mid: 48.586%;
301
+ --ol8-material-control-gem--gradient-end: 85.361%;
302
302
  --ol8-material-gem-color-quiet-environmentalface: color-mix(in srgb, var(--ol8-color-neutral-030) 48%, transparent);
303
303
  --ol8-material-gem-color-quiet-stabilizedface: color-mix(in srgb, var(--ol8-color-neutral-060) 72%, transparent);
304
304
  --ol8-material-gem-color-quiet-opaqueequivalent: var(--ol8-color-neutral-030);
@@ -527,6 +527,7 @@
527
527
  --ol8-component-iconbutton-pressedscrim: var(--ol8-color-scrim-pressed);
528
528
  --ol8-component-link-underline-default: 1px;
529
529
  --ol8-component-link-underline-emphasis: 2px;
530
+ --ol8-component-link-underline-current: 3px;
530
531
  --ol8-component-link-underline-offset: 3px;
531
532
  --ol8-component-link-gap-small: 6px;
532
533
  --ol8-component-link-gap-standard: 6px;
@@ -546,7 +547,9 @@
546
547
  --ol8-component-textfield-radius-large: 18px;
547
548
  --ol8-component-textfield-boundary: 2px;
548
549
  --ol8-component-textfield-gap-label: 6px;
550
+ --ol8-component-textfield-gap-requirement: 3px;
549
551
  --ol8-component-textfield-gap-supporting: 6px;
552
+ --ol8-component-textfield-gap-inline: 6px;
550
553
  --ol8-component-textfield-gap-status: 3px;
551
554
  --ol8-component-textfield-gap-messagecounter: 12px;
552
555
  --ol8-component-choice-indicator-compact: 18px;
@@ -581,6 +584,7 @@
581
584
  --ol8-component-selectionpopup-railinsetinline: 3px;
582
585
  --ol8-component-selectionpopup-maximumblock-standard: 288px;
583
586
  --ol8-component-selectionpopup-maximumblock-large: 360px;
587
+ --ol8-component-selectionpopup-inset: 6px;
584
588
  --ol8-component-selectionoption-minimum-standard: 48px;
585
589
  --ol8-component-selectionoption-minimum-large: 60px;
586
590
  --ol8-component-selectionoption-inset-standard: 12px;
@@ -601,18 +605,23 @@
601
605
  --ol8-component-choicechip-inset-standard: 24px;
602
606
  --ol8-component-choicechip-inset-comfortable: 27px;
603
607
  --ol8-component-choicechip-inset-large: 27px;
604
- --ol8-component-choicechip-gap: 6px;
608
+ --ol8-component-choice-chip-gap: 6px;
605
609
  --ol8-component-choicechip-markgap: 9px;
606
610
  --ol8-component-choicechip-mark: 18px;
607
- --ol8-component-tokenfield-minimuminput: 96px;
608
- --ol8-component-tokenfield-gap: 6px;
609
- --ol8-component-tokenfield-paddingblock: 3px;
611
+ --ol8-component-choice-chip-mark-target: 24px;
612
+ --ol8-component-choice-chip-rail-inset-compact: 9px;
613
+ --ol8-component-choice-chip-rail-inset-standard: 12px;
614
+ --ol8-component-choice-chip-rail-inset-comfortable: 15px;
615
+ --ol8-component-choice-chip-rail-inset-large: 15px;
616
+ --ol8-component-token-field-minimum-input: 96px;
617
+ --ol8-component-token-field-gap: 6px;
618
+ --ol8-component-token-field-padding-block: 3px;
610
619
  --ol8-component-suggestionrail-gap: 6px;
611
620
  --ol8-component-suggestionrail-fieldseparation: 6px;
612
- --ol8-component-navigation-itemgap: 6px;
621
+ --ol8-component-navigation-item-gap: 6px;
613
622
  --ol8-component-navigation-icon: 18px;
614
623
  --ol8-component-navigation-target: 48px;
615
- --ol8-component-navigation-focusinset: 3px;
624
+ --ol8-component-navigation-focus-inset: 3px;
616
625
  --ol8-component-tab-item-height-compact: 36px;
617
626
  --ol8-component-tab-item-height-standard: 42px;
618
627
  --ol8-component-tab-item-height-comfortable: 48px;
@@ -621,21 +630,21 @@
621
630
  --ol8-component-tab-item-inset-standard: 15px;
622
631
  --ol8-component-tab-item-inset-comfortable: 18px;
623
632
  --ol8-component-tab-item-inset-large: 24px;
624
- --ol8-component-tabitem-radius: 9px;
633
+ --ol8-component-tab-item-radius: 9px;
625
634
  --ol8-component-tab-item-indicator-thickness: 3px;
626
- --ol8-component-tabitem-indicatorinset: 15px;
627
- --ol8-component-tabitem-rail: 1px;
628
- --ol8-component-segmentedcontrol-trackinset: 3px;
629
- --ol8-component-segmentedcontrol-outlinedgap: 6px;
630
- --ol8-component-segmentedcontrol-trackradius: 12px;
631
- --ol8-component-segmentedcontrol-itemradius: 9px;
632
- --ol8-component-segmentedcontrol-line: 3px;
633
- --ol8-component-segmentedcontrol-boundary: 1px;
634
- --ol8-component-tabbar-inset: 6px;
635
- --ol8-component-tabbar-inlineinset: 3px;
636
- --ol8-component-tabbar-gap: 0px;
637
- --ol8-component-tabbar-radius: 18px;
638
- --ol8-component-tabbar-itemradius: 12px;
635
+ --ol8-component-tab-item-indicator-inset: 15px;
636
+ --ol8-component-tab-item-rail: 1px;
637
+ --ol8-component-segmented-control-track-inset: 3px;
638
+ --ol8-component-segmented-control-outlined-gap: 6px;
639
+ --ol8-component-segmented-control-track-radius: 12px;
640
+ --ol8-component-segmented-control-item-radius: 9px;
641
+ --ol8-component-segmented-control-line: 3px;
642
+ --ol8-component-segmented-control-boundary: 1px;
643
+ --ol8-component-tab-bar-inset: 6px;
644
+ --ol8-component-tab-bar-inline-inset: 3px;
645
+ --ol8-component-tab-bar-gap: 0px;
646
+ --ol8-component-tab-bar-radius: 18px;
647
+ --ol8-component-tab-bar-item-radius: 12px;
639
648
  }
640
649
 
641
650
  [data-ol8-color-scheme="dark"] {
@@ -4523,6 +4523,17 @@
4523
4523
  "reference": "border.width.standard",
4524
4524
  "description": "Hover and Pressed Link underline."
4525
4525
  },
4526
+ {
4527
+ "path": "component.link.underline.current",
4528
+ "name": "Component / Link / Underline / Current",
4529
+ "type": "dimension",
4530
+ "value": {
4531
+ "value": 3,
4532
+ "unit": "px"
4533
+ },
4534
+ "reference": "border.width.strong",
4535
+ "description": "Marker that shows the current destination in a Navigation Link. It sits where the underline sits and replaces it."
4536
+ },
4526
4537
  {
4527
4538
  "path": "component.link.underline.offset",
4528
4539
  "name": "Component / Link / Underline / Offset",
@@ -4732,6 +4743,17 @@
4732
4743
  "reference": "spacing.stack.tight",
4733
4744
  "description": "Label-to-control gap."
4734
4745
  },
4746
+ {
4747
+ "path": "component.textField.gap.requirement",
4748
+ "name": "Component / Text Field / Gap / Requirement",
4749
+ "type": "dimension",
4750
+ "value": {
4751
+ "value": 3,
4752
+ "unit": "px"
4753
+ },
4754
+ "reference": "spacing.inline.minimal",
4755
+ "description": "Gap between the label and the mark that says the field is required."
4756
+ },
4735
4757
  {
4736
4758
  "path": "component.textField.gap.supporting",
4737
4759
  "name": "Component / Text Field / Gap / Supporting",
@@ -4743,6 +4765,17 @@
4743
4765
  "reference": "spacing.stack.tight",
4744
4766
  "description": "Control-to-supporting-region gap."
4745
4767
  },
4768
+ {
4769
+ "path": "component.textField.gap.inline",
4770
+ "name": "Component / Text Field / Gap / Inline",
4771
+ "type": "dimension",
4772
+ "value": {
4773
+ "value": 6,
4774
+ "unit": "px"
4775
+ },
4776
+ "reference": "spacing.inline.related",
4777
+ "description": "Gap between the slots inside the control: leading icon, prefix, value, suffix and trailing action."
4778
+ },
4746
4779
  {
4747
4780
  "path": "component.textField.gap.status",
4748
4781
  "name": "Component / Text Field / Gap / Status",
@@ -5117,6 +5150,17 @@
5117
5150
  "reference": null,
5118
5151
  "description": "Suggested Large maximum visible option region before scrolling."
5119
5152
  },
5153
+ {
5154
+ "path": "component.selectionPopup.inset",
5155
+ "name": "Component / Selection Popup / Inset",
5156
+ "type": "dimension",
5157
+ "value": {
5158
+ "value": 6,
5159
+ "unit": "px"
5160
+ },
5161
+ "reference": "spacing.inline.related",
5162
+ "description": "Selection popup internal inset."
5163
+ },
5120
5164
  {
5121
5165
  "path": "component.selectionOption.minimum.standard",
5122
5166
  "name": "Component / Selection Option / Minimum / Standard",
@@ -5370,6 +5414,61 @@
5370
5414
  "reference": "size.icon.small",
5371
5415
  "description": "Canonical Icon Frame presentation for Check or Remove artwork."
5372
5416
  },
5417
+ {
5418
+ "path": "component.choiceChip.markTarget",
5419
+ "name": "Component / Choice Chip / Mark Target",
5420
+ "type": "dimension",
5421
+ "value": {
5422
+ "value": 24,
5423
+ "unit": "px"
5424
+ },
5425
+ "reference": null,
5426
+ "description": "Minimum reachable target for the Remove mark. The mark is drawn at 18; the contract asks for at least 24 that overlaps neither the label nor the chip edge, so the target is expanded around the drawn mark rather than enlarging it."
5427
+ },
5428
+ {
5429
+ "path": "component.choiceChip.railInset.compact",
5430
+ "name": "Component / Choice Chip / Rail Inset / Compact",
5431
+ "type": "dimension",
5432
+ "value": {
5433
+ "value": 9,
5434
+ "unit": "px"
5435
+ },
5436
+ "reference": null,
5437
+ "description": "9px rail inset; with the 12px terminal this produces the approved 21px content inset."
5438
+ },
5439
+ {
5440
+ "path": "component.choiceChip.railInset.standard",
5441
+ "name": "Component / Choice Chip / Rail Inset / Standard",
5442
+ "type": "dimension",
5443
+ "value": {
5444
+ "value": 12,
5445
+ "unit": "px"
5446
+ },
5447
+ "reference": null,
5448
+ "description": "12px rail inset; with the terminal this produces the approved 24px content inset."
5449
+ },
5450
+ {
5451
+ "path": "component.choiceChip.railInset.comfortable",
5452
+ "name": "Component / Choice Chip / Rail Inset / Comfortable",
5453
+ "type": "dimension",
5454
+ "value": {
5455
+ "value": 15,
5456
+ "unit": "px"
5457
+ },
5458
+ "reference": null,
5459
+ "description": "15px rail inset; with the terminal this produces the approved 27px content inset."
5460
+ },
5461
+ {
5462
+ "path": "component.choiceChip.railInset.large",
5463
+ "name": "Component / Choice Chip / Rail Inset / Large",
5464
+ "type": "dimension",
5465
+ "value": {
5466
+ "value": 15,
5467
+ "unit": "px"
5468
+ },
5469
+ "reference": null,
5470
+ "description": "15px rail inset; with the terminal this produces the approved 27px content inset."
5471
+ },
5373
5472
  {
5374
5473
  "path": "component.tokenField.minimumInput",
5375
5474
  "name": "Component / Token Field / Minimum Input",
@@ -4,9 +4,9 @@
4
4
  "counts": {
5
5
  "primitive": 170,
6
6
  "semantic": 270,
7
- "component": 152,
7
+ "component": 161,
8
8
  "componentStatuses": 10,
9
- "figmaVariables": 578,
9
+ "figmaVariables": 587,
10
10
  "figmaTypographyStyles": 9,
11
11
  "figmaElevationStyles": 5
12
12
  },
@@ -1,5 +1,5 @@
1
1
  // @generated by @oneli8/tokens — do not edit
2
- export type TokenPath = "border.width.hairline" | "border.width.none" | "border.width.standard" | "border.width.strong" | "color.actionDestructive.content" | "color.actionDestructive.default" | "color.actionDestructive.disabled" | "color.actionDestructive.disabledContent" | "color.actionDestructive.hover" | "color.actionDestructive.pressed" | "color.actionPrimary.content" | "color.actionPrimary.default" | "color.actionPrimary.disabled" | "color.actionPrimary.disabledContent" | "color.actionPrimary.hover" | "color.actionPrimary.pressed" | "color.actionQuiet.contentDefault" | "color.actionQuiet.contentDisabled" | "color.actionQuiet.contentHover" | "color.actionQuiet.contentPressed" | "color.actionQuiet.surfaceDefault" | "color.actionQuiet.surfaceDisabled" | "color.actionQuiet.surfaceHover" | "color.actionQuiet.surfacePressed" | "color.actionSecondary.contentDefault" | "color.actionSecondary.contentDisabled" | "color.actionSecondary.contentHover" | "color.actionSecondary.contentPressed" | "color.actionSecondary.surfaceDefault" | "color.actionSecondary.surfaceDisabled" | "color.actionSecondary.surfaceHover" | "color.actionSecondary.surfacePressed" | "color.background.canvas" | "color.background.inverse" | "color.background.subtle" | "color.blue.030" | "color.blue.060" | "color.blue.090" | "color.blue.120" | "color.blue.240" | "color.blue.360" | "color.blue.480" | "color.blue.600" | "color.blue.720" | "color.blue.840" | "color.blue.930" | "color.border.default" | "color.border.disabled" | "color.border.strong" | "color.border.subtle" | "color.control.thumb" | "color.cyan.030" | "color.cyan.060" | "color.cyan.090" | "color.cyan.120" | "color.cyan.240" | "color.cyan.360" | "color.cyan.480" | "color.cyan.600" | "color.cyan.720" | "color.cyan.840" | "color.cyan.930" | "color.feedbackCaution.content" | "color.feedbackCaution.inlineContent" | "color.feedbackCaution.surface" | "color.feedbackCritical.content" | "color.feedbackCritical.inlineContent" | "color.feedbackCritical.surface" | "color.feedbackInformative.content" | "color.feedbackInformative.inlineContent" | "color.feedbackInformative.surface" | "color.feedbackPositive.content" | "color.feedbackPositive.inlineContent" | "color.feedbackPositive.surface" | "color.focus.inner" | "color.focus.outer" | "color.green.030" | "color.green.060" | "color.green.090" | "color.green.120" | "color.green.240" | "color.green.360" | "color.green.480" | "color.green.600" | "color.green.720" | "color.green.840" | "color.green.930" | "color.icon.disabled" | "color.icon.inverse" | "color.icon.muted" | "color.icon.onGem" | "color.icon.primary" | "color.icon.secondary" | "color.iconButton.quietHoverSurface" | "color.iconButton.secondaryHoverSurface" | "color.navigationBadge.contentDefault" | "color.navigationBadge.contentGem" | "color.navigationBadge.contentSelected" | "color.navigationBadge.surfaceDefault" | "color.navigationBadge.surfaceGem" | "color.navigationBadge.surfaceSelected" | "color.neutral.030" | "color.neutral.060" | "color.neutral.090" | "color.neutral.120" | "color.neutral.240" | "color.neutral.360" | "color.neutral.480" | "color.neutral.600" | "color.neutral.720" | "color.neutral.840" | "color.neutral.930" | "color.orange.030" | "color.orange.060" | "color.orange.090" | "color.orange.120" | "color.orange.240" | "color.orange.360" | "color.orange.480" | "color.orange.600" | "color.orange.720" | "color.orange.840" | "color.orange.930" | "color.pink.030" | "color.pink.060" | "color.pink.090" | "color.pink.120" | "color.pink.240" | "color.pink.360" | "color.pink.480" | "color.pink.600" | "color.pink.720" | "color.pink.840" | "color.pink.930" | "color.primary.030" | "color.primary.060" | "color.primary.090" | "color.primary.120" | "color.primary.240" | "color.primary.360" | "color.primary.480" | "color.primary.600" | "color.primary.720" | "color.primary.840" | "color.primary.930" | "color.red.030" | "color.red.060" | "color.red.090" | "color.red.120" | "color.red.240" | "color.red.360" | "color.red.480" | "color.red.600" | "color.red.720" | "color.red.840" | "color.red.930" | "color.scrim.pressed" | "color.selection.content" | "color.selection.surface" | "color.surface.default" | "color.surface.disabled" | "color.surface.raised" | "color.surface.selected" | "color.surface.sunken" | "color.text.disabled" | "color.text.inverse" | "color.text.link.default" | "color.text.link.hover" | "color.text.link.pressed" | "color.text.link.visited" | "color.text.muted" | "color.text.primary" | "color.text.secondary" | "color.violet.030" | "color.violet.060" | "color.violet.090" | "color.violet.120" | "color.violet.240" | "color.violet.360" | "color.violet.480" | "color.violet.600" | "color.violet.720" | "color.violet.840" | "color.violet.930" | "color.yellow.030" | "color.yellow.060" | "color.yellow.090" | "color.yellow.120" | "color.yellow.240" | "color.yellow.360" | "color.yellow.480" | "color.yellow.600" | "color.yellow.720" | "color.yellow.840" | "color.yellow.930" | "component.button.gap.comfortable" | "component.button.gap.compact" | "component.button.height.comfortable" | "component.button.height.compact" | "component.button.height.large" | "component.button.height.standard" | "component.button.icon.comfortable" | "component.button.icon.compact" | "component.button.paddingInline.comfortable" | "component.button.paddingInline.compact" | "component.button.paddingInline.large" | "component.button.paddingInline.standard" | "component.button.radius.comfortable" | "component.button.radius.compact" | "component.button.radius.large" | "component.button.radius.standard" | "component.button.secondaryBoundary" | "component.button.target.comfortable" | "component.button.target.compact" | "component.button.target.large" | "component.button.target.standard" | "component.checkbox.boundary" | "component.checkbox.mark.mixedWidth" | "component.checkbox.mark.stroke" | "component.checkbox.radius.comfortable" | "component.checkbox.radius.compact" | "component.choice.gap.compact" | "component.choice.gap.large" | "component.choice.gap.standard" | "component.choice.indicator.comfortable" | "component.choice.indicator.compact" | "component.choice.opticalStroke" | "component.choice.rowMinimum" | "component.choiceChip.bezelInset" | "component.choiceChip.centerCut" | "component.choiceChip.gap" | "component.choiceChip.height.comfortable" | "component.choiceChip.height.compact" | "component.choiceChip.height.large" | "component.choiceChip.height.standard" | "component.choiceChip.innerCenterCut" | "component.choiceChip.innerTerminal" | "component.choiceChip.inset.comfortable" | "component.choiceChip.inset.compact" | "component.choiceChip.inset.large" | "component.choiceChip.inset.standard" | "component.choiceChip.mark" | "component.choiceChip.markGap" | "component.choiceChip.target.large" | "component.choiceChip.target.standard" | "component.choiceChip.terminal" | "component.icon.stroke" | "component.iconButton.artwork.comfortable" | "component.iconButton.artwork.compact" | "component.iconButton.artwork.large" | "component.iconButton.artwork.standard" | "component.iconButton.box.comfortable" | "component.iconButton.box.compact" | "component.iconButton.box.large" | "component.iconButton.box.standard" | "component.iconButton.pressedScrim" | "component.iconButton.radius.circle" | "component.iconButton.radius.comfortable" | "component.iconButton.radius.compact" | "component.iconButton.radius.large" | "component.iconButton.radius.standard" | "component.iconButton.target.comfortable" | "component.iconButton.target.compact" | "component.iconButton.target.large" | "component.iconButton.target.standard" | "component.link.gap.large" | "component.link.gap.small" | "component.link.gap.standard" | "component.link.targetNavigation" | "component.link.underline.default" | "component.link.underline.emphasis" | "component.link.underline.offset" | "component.navigation.focusInset" | "component.navigation.icon" | "component.navigation.itemGap" | "component.navigation.target" | "component.opticalStroke" | "component.radio.boundary" | "component.radio.dot.comfortable" | "component.radio.dot.compact" | "component.segmentedControl.boundary" | "component.segmentedControl.itemRadius" | "component.segmentedControl.line" | "component.segmentedControl.outlinedGap" | "component.segmentedControl.trackInset" | "component.segmentedControl.trackRadius" | "component.selectionOption.check" | "component.selectionOption.inset.large" | "component.selectionOption.inset.standard" | "component.selectionOption.minimum.large" | "component.selectionOption.minimum.standard" | "component.selectionPopup.gap" | "component.selectionPopup.maximumBlock.large" | "component.selectionPopup.maximumBlock.standard" | "component.selectionPopup.paddingBlock" | "component.selectionPopup.paddingInline" | "component.selectionPopup.railInsetInline" | "component.suggestionRail.fieldSeparation" | "component.suggestionRail.gap" | "component.switch.inset" | "component.switch.thumb.comfortable" | "component.switch.thumb.compact" | "component.switch.thumbIcon.comfortable" | "component.switch.thumbIcon.compact" | "component.switch.trackHeight.comfortable" | "component.switch.trackHeight.compact" | "component.switch.trackWidth.comfortable" | "component.switch.trackWidth.compact" | "component.switch.travel.comfortable" | "component.switch.travel.compact" | "component.tabBar.gap" | "component.tabBar.inlineInset" | "component.tabBar.inset" | "component.tabBar.itemRadius" | "component.tabBar.radius" | "component.tabItem.height.comfortable" | "component.tabItem.height.compact" | "component.tabItem.height.large" | "component.tabItem.height.standard" | "component.tabItem.indicatorInset" | "component.tabItem.indicatorThickness" | "component.tabItem.inset.comfortable" | "component.tabItem.inset.compact" | "component.tabItem.inset.large" | "component.tabItem.inset.standard" | "component.tabItem.radius" | "component.tabItem.rail" | "component.textField.boundary" | "component.textField.gap.label" | "component.textField.gap.messageCounter" | "component.textField.gap.status" | "component.textField.gap.supporting" | "component.textField.height.comfortable" | "component.textField.height.compact" | "component.textField.height.large" | "component.textField.height.standard" | "component.textField.inset.comfortable" | "component.textField.inset.compact" | "component.textField.inset.large" | "component.textField.inset.standard" | "component.textField.radius.comfortable" | "component.textField.radius.compact" | "component.textField.radius.large" | "component.textField.radius.standard" | "component.tokenField.gap" | "component.tokenField.minimumInput" | "component.tokenField.paddingBlock" | "dimension.scale.000" | "dimension.scale.003" | "dimension.scale.006" | "dimension.scale.009" | "dimension.scale.012" | "dimension.scale.015" | "dimension.scale.018" | "dimension.scale.024" | "dimension.scale.030" | "dimension.scale.036" | "dimension.scale.042" | "dimension.scale.048" | "dimension.scale.060" | "dimension.scale.072" | "dimension.scale.084" | "dimension.scale.096" | "dimension.scale.108" | "elevation.surface.blocking" | "elevation.surface.flat" | "elevation.surface.floating" | "elevation.surface.overlay" | "elevation.surface.raised" | "focus.ring.innerWidth" | "focus.ring.offset" | "focus.ring.outerWidth" | "focus.ring.totalWidth" | "font.axis.arrr.baseline" | "font.family.display" | "font.family.fallback" | "font.family.functional" | "font.line.018" | "font.line.024" | "font.line.030" | "font.line.039" | "font.line.048" | "font.line.060" | "font.line.072" | "font.line.096" | "font.line.126" | "font.size.012" | "font.size.016" | "font.size.021" | "font.size.030" | "font.size.039" | "font.size.051" | "font.size.066" | "font.size.090" | "font.size.120" | "font.tracking.displaySoft" | "font.tracking.normal" | "font.tracking.open" | "font.tracking.snug" | "font.tracking.tight" | "font.tracking.tighter" | "font.tracking.titleSoft" | "font.tracking.titleTight" | "font.weight.bold" | "font.weight.regular" | "font.weight.semibold" | "layer.stack.base" | "layer.stack.modal" | "layer.stack.notification" | "layer.stack.overlay" | "layer.stack.sticky" | "material.control.gem.blur" | "material.control.gem.gradient.end" | "material.control.gem.gradient.mid" | "material.control.gem.gradient.start" | "material.control.gem.primary.content" | "material.control.gem.primary.end" | "material.control.gem.primary.hoverEnd" | "material.control.gem.primary.hoverMid" | "material.control.gem.primary.hoverStart" | "material.control.gem.primary.loadingEnd" | "material.control.gem.primary.loadingMid" | "material.control.gem.primary.loadingStart" | "material.control.gem.primary.mid" | "material.control.gem.primary.start" | "material.control.gem.rim.default" | "material.control.gem.rim.hover" | "material.control.gem.rim.specular" | "material.control.gem.secondary.content" | "material.control.gem.secondary.high" | "material.control.gem.secondary.hoverHigh" | "material.control.gem.secondary.hoverLow" | "material.control.gem.secondary.hoverMid" | "material.control.gem.secondary.loadingHigh" | "material.control.gem.secondary.loadingLow" | "material.control.gem.secondary.loadingMid" | "material.control.gem.secondary.low" | "material.control.gem.secondary.mid" | "material.gem.blur.environmental" | "material.gem.blur.stabilized" | "material.gem.color.cutEdge.high" | "material.gem.color.cutEdge.low" | "material.gem.color.cutEdge.mid" | "material.gem.color.cutEdge.outerAccent" | "material.gem.color.cutEdge.outerHigh" | "material.gem.color.cutEdge.outerLow" | "material.gem.color.cutEdge.outerMid" | "material.gem.color.cutEdge.shadow" | "material.gem.color.facet.cool" | "material.gem.color.facet.warm" | "material.gem.color.family.amethyst.edge" | "material.gem.color.family.amethyst.environmentalFace" | "material.gem.color.family.amethyst.innerHigh" | "material.gem.color.family.amethyst.innerLow" | "material.gem.color.family.amethyst.innerMid" | "material.gem.color.family.amethyst.opaqueEquivalent" | "material.gem.color.family.amethyst.stabilizedFace" | "material.gem.color.family.emerald.edge" | "material.gem.color.family.emerald.environmentalFace" | "material.gem.color.family.emerald.innerHigh" | "material.gem.color.family.emerald.innerLow" | "material.gem.color.family.emerald.innerMid" | "material.gem.color.family.emerald.opaqueEquivalent" | "material.gem.color.family.emerald.stabilizedFace" | "material.gem.color.family.ruby.edge" | "material.gem.color.family.ruby.environmentalFace" | "material.gem.color.family.ruby.innerHigh" | "material.gem.color.family.ruby.innerLow" | "material.gem.color.family.ruby.innerMid" | "material.gem.color.family.ruby.opaqueEquivalent" | "material.gem.color.family.ruby.stabilizedFace" | "material.gem.color.family.sapphire.edge" | "material.gem.color.family.sapphire.environmentalFace" | "material.gem.color.family.sapphire.innerHigh" | "material.gem.color.family.sapphire.innerLow" | "material.gem.color.family.sapphire.innerMid" | "material.gem.color.family.sapphire.opaqueEquivalent" | "material.gem.color.family.sapphire.stabilizedFace" | "material.gem.color.innerThinCut.face" | "material.gem.color.innerThinCut.high" | "material.gem.color.innerThinCut.low" | "material.gem.color.innerThinCut.mid" | "material.gem.color.quiet.environmentalFace" | "material.gem.color.quiet.opaqueEquivalent" | "material.gem.color.quiet.stabilizedFace" | "material.gem.opacity.cutDark" | "material.gem.opacity.cutLight" | "material.gem.opacity.edgeHigh" | "material.gem.opacity.edgeLow" | "material.gem.opacity.environmental" | "material.gem.spacing.clusterGap" | "material.gem.spacing.innerSeparation" | "material.gem.spacing.slabInset" | "motion.distance.expansive" | "motion.distance.large" | "motion.distance.minimal" | "motion.distance.short" | "motion.distance.standard" | "motion.duration.deliberate" | "motion.duration.extended" | "motion.duration.fast" | "motion.duration.instant" | "motion.duration.measured" | "motion.duration.quick" | "motion.duration.slow" | "motion.duration.standard" | "motion.easing.enter" | "motion.easing.exit" | "motion.easing.linear" | "motion.easing.standard" | "motion.interaction.focus" | "motion.interaction.hover" | "motion.interaction.press" | "motion.spring.gentle.blend" | "motion.spring.gentle.damping" | "motion.spring.gentle.response" | "motion.spring.interactive.blend" | "motion.spring.interactive.damping" | "motion.spring.interactive.response" | "motion.spring.standard.blend" | "motion.spring.standard.damping" | "motion.spring.standard.response" | "motion.state.change" | "shape.radius.comfortable" | "shape.radius.compact" | "shape.radius.container" | "shape.radius.display" | "shape.radius.full" | "shape.radius.medium" | "shape.radius.none" | "shape.radius.standard" | "shape.radius.subtle" | "size.avatar.display" | "size.avatar.large" | "size.avatar.micro" | "size.avatar.small" | "size.avatar.standard" | "size.avatar.xlarge" | "size.control.comfortable" | "size.control.compact" | "size.control.large" | "size.control.standard" | "size.icon.compact" | "size.icon.display" | "size.icon.hero" | "size.icon.landmark" | "size.icon.large" | "size.icon.medium" | "size.icon.micro" | "size.icon.small" | "size.icon.spacious" | "size.icon.standard" | "size.icon.xlarge" | "size.indicator.large" | "size.indicator.micro" | "size.indicator.small" | "size.indicator.standard" | "size.loader.display" | "size.loader.large" | "size.loader.small" | "size.loader.standard" | "size.target.comfortable" | "size.target.minimum" | "size.target.spacious" | "spacing.inline.minimal" | "spacing.inline.related" | "spacing.inline.standard" | "spacing.inset.comfortable" | "spacing.inset.compact" | "spacing.inset.spacious" | "spacing.inset.standard" | "spacing.layout.gutter" | "spacing.layout.margin" | "spacing.layout.region" | "spacing.none" | "spacing.section.compact" | "spacing.section.expansive" | "spacing.section.spacious" | "spacing.section.standard" | "spacing.stack.grouped" | "spacing.stack.related" | "spacing.stack.separated" | "spacing.stack.tight" | "typography.body.large" | "typography.body.medium" | "typography.body.small" | "typography.display.large" | "typography.display.medium" | "typography.display.small" | "typography.title.large" | "typography.title.medium" | "typography.title.small";
2
+ export type TokenPath = "border.width.hairline" | "border.width.none" | "border.width.standard" | "border.width.strong" | "color.actionDestructive.content" | "color.actionDestructive.default" | "color.actionDestructive.disabled" | "color.actionDestructive.disabledContent" | "color.actionDestructive.hover" | "color.actionDestructive.pressed" | "color.actionPrimary.content" | "color.actionPrimary.default" | "color.actionPrimary.disabled" | "color.actionPrimary.disabledContent" | "color.actionPrimary.hover" | "color.actionPrimary.pressed" | "color.actionQuiet.contentDefault" | "color.actionQuiet.contentDisabled" | "color.actionQuiet.contentHover" | "color.actionQuiet.contentPressed" | "color.actionQuiet.surfaceDefault" | "color.actionQuiet.surfaceDisabled" | "color.actionQuiet.surfaceHover" | "color.actionQuiet.surfacePressed" | "color.actionSecondary.contentDefault" | "color.actionSecondary.contentDisabled" | "color.actionSecondary.contentHover" | "color.actionSecondary.contentPressed" | "color.actionSecondary.surfaceDefault" | "color.actionSecondary.surfaceDisabled" | "color.actionSecondary.surfaceHover" | "color.actionSecondary.surfacePressed" | "color.background.canvas" | "color.background.inverse" | "color.background.subtle" | "color.blue.030" | "color.blue.060" | "color.blue.090" | "color.blue.120" | "color.blue.240" | "color.blue.360" | "color.blue.480" | "color.blue.600" | "color.blue.720" | "color.blue.840" | "color.blue.930" | "color.border.default" | "color.border.disabled" | "color.border.strong" | "color.border.subtle" | "color.control.thumb" | "color.cyan.030" | "color.cyan.060" | "color.cyan.090" | "color.cyan.120" | "color.cyan.240" | "color.cyan.360" | "color.cyan.480" | "color.cyan.600" | "color.cyan.720" | "color.cyan.840" | "color.cyan.930" | "color.feedbackCaution.content" | "color.feedbackCaution.inlineContent" | "color.feedbackCaution.surface" | "color.feedbackCritical.content" | "color.feedbackCritical.inlineContent" | "color.feedbackCritical.surface" | "color.feedbackInformative.content" | "color.feedbackInformative.inlineContent" | "color.feedbackInformative.surface" | "color.feedbackPositive.content" | "color.feedbackPositive.inlineContent" | "color.feedbackPositive.surface" | "color.focus.inner" | "color.focus.outer" | "color.green.030" | "color.green.060" | "color.green.090" | "color.green.120" | "color.green.240" | "color.green.360" | "color.green.480" | "color.green.600" | "color.green.720" | "color.green.840" | "color.green.930" | "color.icon.disabled" | "color.icon.inverse" | "color.icon.muted" | "color.icon.onGem" | "color.icon.primary" | "color.icon.secondary" | "color.iconButton.quietHoverSurface" | "color.iconButton.secondaryHoverSurface" | "color.navigationBadge.contentDefault" | "color.navigationBadge.contentGem" | "color.navigationBadge.contentSelected" | "color.navigationBadge.surfaceDefault" | "color.navigationBadge.surfaceGem" | "color.navigationBadge.surfaceSelected" | "color.neutral.030" | "color.neutral.060" | "color.neutral.090" | "color.neutral.120" | "color.neutral.240" | "color.neutral.360" | "color.neutral.480" | "color.neutral.600" | "color.neutral.720" | "color.neutral.840" | "color.neutral.930" | "color.orange.030" | "color.orange.060" | "color.orange.090" | "color.orange.120" | "color.orange.240" | "color.orange.360" | "color.orange.480" | "color.orange.600" | "color.orange.720" | "color.orange.840" | "color.orange.930" | "color.pink.030" | "color.pink.060" | "color.pink.090" | "color.pink.120" | "color.pink.240" | "color.pink.360" | "color.pink.480" | "color.pink.600" | "color.pink.720" | "color.pink.840" | "color.pink.930" | "color.primary.030" | "color.primary.060" | "color.primary.090" | "color.primary.120" | "color.primary.240" | "color.primary.360" | "color.primary.480" | "color.primary.600" | "color.primary.720" | "color.primary.840" | "color.primary.930" | "color.red.030" | "color.red.060" | "color.red.090" | "color.red.120" | "color.red.240" | "color.red.360" | "color.red.480" | "color.red.600" | "color.red.720" | "color.red.840" | "color.red.930" | "color.scrim.pressed" | "color.selection.content" | "color.selection.surface" | "color.surface.default" | "color.surface.disabled" | "color.surface.raised" | "color.surface.selected" | "color.surface.sunken" | "color.text.disabled" | "color.text.inverse" | "color.text.link.default" | "color.text.link.hover" | "color.text.link.pressed" | "color.text.link.visited" | "color.text.muted" | "color.text.primary" | "color.text.secondary" | "color.violet.030" | "color.violet.060" | "color.violet.090" | "color.violet.120" | "color.violet.240" | "color.violet.360" | "color.violet.480" | "color.violet.600" | "color.violet.720" | "color.violet.840" | "color.violet.930" | "color.yellow.030" | "color.yellow.060" | "color.yellow.090" | "color.yellow.120" | "color.yellow.240" | "color.yellow.360" | "color.yellow.480" | "color.yellow.600" | "color.yellow.720" | "color.yellow.840" | "color.yellow.930" | "component.button.gap.comfortable" | "component.button.gap.compact" | "component.button.height.comfortable" | "component.button.height.compact" | "component.button.height.large" | "component.button.height.standard" | "component.button.icon.comfortable" | "component.button.icon.compact" | "component.button.paddingInline.comfortable" | "component.button.paddingInline.compact" | "component.button.paddingInline.large" | "component.button.paddingInline.standard" | "component.button.radius.comfortable" | "component.button.radius.compact" | "component.button.radius.large" | "component.button.radius.standard" | "component.button.secondaryBoundary" | "component.button.target.comfortable" | "component.button.target.compact" | "component.button.target.large" | "component.button.target.standard" | "component.checkbox.boundary" | "component.checkbox.mark.mixedWidth" | "component.checkbox.mark.stroke" | "component.checkbox.radius.comfortable" | "component.checkbox.radius.compact" | "component.choice.gap.compact" | "component.choice.gap.large" | "component.choice.gap.standard" | "component.choice.indicator.comfortable" | "component.choice.indicator.compact" | "component.choice.opticalStroke" | "component.choice.rowMinimum" | "component.choiceChip.bezelInset" | "component.choiceChip.centerCut" | "component.choiceChip.gap" | "component.choiceChip.height.comfortable" | "component.choiceChip.height.compact" | "component.choiceChip.height.large" | "component.choiceChip.height.standard" | "component.choiceChip.innerCenterCut" | "component.choiceChip.innerTerminal" | "component.choiceChip.inset.comfortable" | "component.choiceChip.inset.compact" | "component.choiceChip.inset.large" | "component.choiceChip.inset.standard" | "component.choiceChip.mark" | "component.choiceChip.markGap" | "component.choiceChip.markTarget" | "component.choiceChip.railInset.comfortable" | "component.choiceChip.railInset.compact" | "component.choiceChip.railInset.large" | "component.choiceChip.railInset.standard" | "component.choiceChip.target.large" | "component.choiceChip.target.standard" | "component.choiceChip.terminal" | "component.icon.stroke" | "component.iconButton.artwork.comfortable" | "component.iconButton.artwork.compact" | "component.iconButton.artwork.large" | "component.iconButton.artwork.standard" | "component.iconButton.box.comfortable" | "component.iconButton.box.compact" | "component.iconButton.box.large" | "component.iconButton.box.standard" | "component.iconButton.pressedScrim" | "component.iconButton.radius.circle" | "component.iconButton.radius.comfortable" | "component.iconButton.radius.compact" | "component.iconButton.radius.large" | "component.iconButton.radius.standard" | "component.iconButton.target.comfortable" | "component.iconButton.target.compact" | "component.iconButton.target.large" | "component.iconButton.target.standard" | "component.link.gap.large" | "component.link.gap.small" | "component.link.gap.standard" | "component.link.targetNavigation" | "component.link.underline.current" | "component.link.underline.default" | "component.link.underline.emphasis" | "component.link.underline.offset" | "component.navigation.focusInset" | "component.navigation.icon" | "component.navigation.itemGap" | "component.navigation.target" | "component.opticalStroke" | "component.radio.boundary" | "component.radio.dot.comfortable" | "component.radio.dot.compact" | "component.segmentedControl.boundary" | "component.segmentedControl.itemRadius" | "component.segmentedControl.line" | "component.segmentedControl.outlinedGap" | "component.segmentedControl.trackInset" | "component.segmentedControl.trackRadius" | "component.selectionOption.check" | "component.selectionOption.inset.large" | "component.selectionOption.inset.standard" | "component.selectionOption.minimum.large" | "component.selectionOption.minimum.standard" | "component.selectionPopup.gap" | "component.selectionPopup.inset" | "component.selectionPopup.maximumBlock.large" | "component.selectionPopup.maximumBlock.standard" | "component.selectionPopup.paddingBlock" | "component.selectionPopup.paddingInline" | "component.selectionPopup.railInsetInline" | "component.suggestionRail.fieldSeparation" | "component.suggestionRail.gap" | "component.switch.inset" | "component.switch.thumb.comfortable" | "component.switch.thumb.compact" | "component.switch.thumbIcon.comfortable" | "component.switch.thumbIcon.compact" | "component.switch.trackHeight.comfortable" | "component.switch.trackHeight.compact" | "component.switch.trackWidth.comfortable" | "component.switch.trackWidth.compact" | "component.switch.travel.comfortable" | "component.switch.travel.compact" | "component.tabBar.gap" | "component.tabBar.inlineInset" | "component.tabBar.inset" | "component.tabBar.itemRadius" | "component.tabBar.radius" | "component.tabItem.height.comfortable" | "component.tabItem.height.compact" | "component.tabItem.height.large" | "component.tabItem.height.standard" | "component.tabItem.indicatorInset" | "component.tabItem.indicatorThickness" | "component.tabItem.inset.comfortable" | "component.tabItem.inset.compact" | "component.tabItem.inset.large" | "component.tabItem.inset.standard" | "component.tabItem.radius" | "component.tabItem.rail" | "component.textField.boundary" | "component.textField.gap.inline" | "component.textField.gap.label" | "component.textField.gap.messageCounter" | "component.textField.gap.requirement" | "component.textField.gap.status" | "component.textField.gap.supporting" | "component.textField.height.comfortable" | "component.textField.height.compact" | "component.textField.height.large" | "component.textField.height.standard" | "component.textField.inset.comfortable" | "component.textField.inset.compact" | "component.textField.inset.large" | "component.textField.inset.standard" | "component.textField.radius.comfortable" | "component.textField.radius.compact" | "component.textField.radius.large" | "component.textField.radius.standard" | "component.tokenField.gap" | "component.tokenField.minimumInput" | "component.tokenField.paddingBlock" | "dimension.scale.000" | "dimension.scale.003" | "dimension.scale.006" | "dimension.scale.009" | "dimension.scale.012" | "dimension.scale.015" | "dimension.scale.018" | "dimension.scale.024" | "dimension.scale.030" | "dimension.scale.036" | "dimension.scale.042" | "dimension.scale.048" | "dimension.scale.060" | "dimension.scale.072" | "dimension.scale.084" | "dimension.scale.096" | "dimension.scale.108" | "elevation.surface.blocking" | "elevation.surface.flat" | "elevation.surface.floating" | "elevation.surface.overlay" | "elevation.surface.raised" | "focus.ring.innerWidth" | "focus.ring.offset" | "focus.ring.outerWidth" | "focus.ring.totalWidth" | "font.axis.arrr.baseline" | "font.family.display" | "font.family.fallback" | "font.family.functional" | "font.line.018" | "font.line.024" | "font.line.030" | "font.line.039" | "font.line.048" | "font.line.060" | "font.line.072" | "font.line.096" | "font.line.126" | "font.size.012" | "font.size.016" | "font.size.021" | "font.size.030" | "font.size.039" | "font.size.051" | "font.size.066" | "font.size.090" | "font.size.120" | "font.tracking.displaySoft" | "font.tracking.normal" | "font.tracking.open" | "font.tracking.snug" | "font.tracking.tight" | "font.tracking.tighter" | "font.tracking.titleSoft" | "font.tracking.titleTight" | "font.weight.bold" | "font.weight.regular" | "font.weight.semibold" | "layer.stack.base" | "layer.stack.modal" | "layer.stack.notification" | "layer.stack.overlay" | "layer.stack.sticky" | "material.control.gem.blur" | "material.control.gem.gradient.end" | "material.control.gem.gradient.mid" | "material.control.gem.gradient.start" | "material.control.gem.primary.content" | "material.control.gem.primary.end" | "material.control.gem.primary.hoverEnd" | "material.control.gem.primary.hoverMid" | "material.control.gem.primary.hoverStart" | "material.control.gem.primary.loadingEnd" | "material.control.gem.primary.loadingMid" | "material.control.gem.primary.loadingStart" | "material.control.gem.primary.mid" | "material.control.gem.primary.start" | "material.control.gem.rim.default" | "material.control.gem.rim.hover" | "material.control.gem.rim.specular" | "material.control.gem.secondary.content" | "material.control.gem.secondary.high" | "material.control.gem.secondary.hoverHigh" | "material.control.gem.secondary.hoverLow" | "material.control.gem.secondary.hoverMid" | "material.control.gem.secondary.loadingHigh" | "material.control.gem.secondary.loadingLow" | "material.control.gem.secondary.loadingMid" | "material.control.gem.secondary.low" | "material.control.gem.secondary.mid" | "material.gem.blur.environmental" | "material.gem.blur.stabilized" | "material.gem.color.cutEdge.high" | "material.gem.color.cutEdge.low" | "material.gem.color.cutEdge.mid" | "material.gem.color.cutEdge.outerAccent" | "material.gem.color.cutEdge.outerHigh" | "material.gem.color.cutEdge.outerLow" | "material.gem.color.cutEdge.outerMid" | "material.gem.color.cutEdge.shadow" | "material.gem.color.facet.cool" | "material.gem.color.facet.warm" | "material.gem.color.family.amethyst.edge" | "material.gem.color.family.amethyst.environmentalFace" | "material.gem.color.family.amethyst.innerHigh" | "material.gem.color.family.amethyst.innerLow" | "material.gem.color.family.amethyst.innerMid" | "material.gem.color.family.amethyst.opaqueEquivalent" | "material.gem.color.family.amethyst.stabilizedFace" | "material.gem.color.family.emerald.edge" | "material.gem.color.family.emerald.environmentalFace" | "material.gem.color.family.emerald.innerHigh" | "material.gem.color.family.emerald.innerLow" | "material.gem.color.family.emerald.innerMid" | "material.gem.color.family.emerald.opaqueEquivalent" | "material.gem.color.family.emerald.stabilizedFace" | "material.gem.color.family.ruby.edge" | "material.gem.color.family.ruby.environmentalFace" | "material.gem.color.family.ruby.innerHigh" | "material.gem.color.family.ruby.innerLow" | "material.gem.color.family.ruby.innerMid" | "material.gem.color.family.ruby.opaqueEquivalent" | "material.gem.color.family.ruby.stabilizedFace" | "material.gem.color.family.sapphire.edge" | "material.gem.color.family.sapphire.environmentalFace" | "material.gem.color.family.sapphire.innerHigh" | "material.gem.color.family.sapphire.innerLow" | "material.gem.color.family.sapphire.innerMid" | "material.gem.color.family.sapphire.opaqueEquivalent" | "material.gem.color.family.sapphire.stabilizedFace" | "material.gem.color.innerThinCut.face" | "material.gem.color.innerThinCut.high" | "material.gem.color.innerThinCut.low" | "material.gem.color.innerThinCut.mid" | "material.gem.color.quiet.environmentalFace" | "material.gem.color.quiet.opaqueEquivalent" | "material.gem.color.quiet.stabilizedFace" | "material.gem.opacity.cutDark" | "material.gem.opacity.cutLight" | "material.gem.opacity.edgeHigh" | "material.gem.opacity.edgeLow" | "material.gem.opacity.environmental" | "material.gem.spacing.clusterGap" | "material.gem.spacing.innerSeparation" | "material.gem.spacing.slabInset" | "motion.distance.expansive" | "motion.distance.large" | "motion.distance.minimal" | "motion.distance.short" | "motion.distance.standard" | "motion.duration.deliberate" | "motion.duration.extended" | "motion.duration.fast" | "motion.duration.instant" | "motion.duration.measured" | "motion.duration.quick" | "motion.duration.slow" | "motion.duration.standard" | "motion.easing.enter" | "motion.easing.exit" | "motion.easing.linear" | "motion.easing.standard" | "motion.interaction.focus" | "motion.interaction.hover" | "motion.interaction.press" | "motion.spring.gentle.blend" | "motion.spring.gentle.damping" | "motion.spring.gentle.response" | "motion.spring.interactive.blend" | "motion.spring.interactive.damping" | "motion.spring.interactive.response" | "motion.spring.standard.blend" | "motion.spring.standard.damping" | "motion.spring.standard.response" | "motion.state.change" | "shape.radius.comfortable" | "shape.radius.compact" | "shape.radius.container" | "shape.radius.display" | "shape.radius.full" | "shape.radius.medium" | "shape.radius.none" | "shape.radius.standard" | "shape.radius.subtle" | "size.avatar.display" | "size.avatar.large" | "size.avatar.micro" | "size.avatar.small" | "size.avatar.standard" | "size.avatar.xlarge" | "size.control.comfortable" | "size.control.compact" | "size.control.large" | "size.control.standard" | "size.icon.compact" | "size.icon.display" | "size.icon.hero" | "size.icon.landmark" | "size.icon.large" | "size.icon.medium" | "size.icon.micro" | "size.icon.small" | "size.icon.spacious" | "size.icon.standard" | "size.icon.xlarge" | "size.indicator.large" | "size.indicator.micro" | "size.indicator.small" | "size.indicator.standard" | "size.loader.display" | "size.loader.large" | "size.loader.small" | "size.loader.standard" | "size.target.comfortable" | "size.target.minimum" | "size.target.spacious" | "spacing.inline.minimal" | "spacing.inline.related" | "spacing.inline.standard" | "spacing.inset.comfortable" | "spacing.inset.compact" | "spacing.inset.spacious" | "spacing.inset.standard" | "spacing.layout.gutter" | "spacing.layout.margin" | "spacing.layout.region" | "spacing.none" | "spacing.section.compact" | "spacing.section.expansive" | "spacing.section.spacious" | "spacing.section.standard" | "spacing.stack.grouped" | "spacing.stack.related" | "spacing.stack.separated" | "spacing.stack.tight" | "typography.body.large" | "typography.body.medium" | "typography.body.small" | "typography.display.large" | "typography.display.medium" | "typography.display.small" | "typography.title.large" | "typography.title.medium" | "typography.title.small";
3
3
  export type ColorScheme = "light" | "dark";
4
4
  export type PrimaryFamily = "blue" | "orange" | "green";
5
5
  export type TypographyViewport = "compact" | "medium" | "expanded";
@@ -3914,6 +3914,15 @@ export const tokens = {
3914
3914
  "description": "Hover and Pressed Link underline.",
3915
3915
  "tier": "component"
3916
3916
  },
3917
+ "component.link.underline.current": {
3918
+ "type": "dimension",
3919
+ "value": {
3920
+ "value": 3,
3921
+ "unit": "px"
3922
+ },
3923
+ "description": "Marker that shows the current destination in a Navigation Link. It sits where the underline sits and replaces it.",
3924
+ "tier": "component"
3925
+ },
3917
3926
  "component.link.underline.offset": {
3918
3927
  "type": "dimension",
3919
3928
  "value": {
@@ -4085,6 +4094,15 @@ export const tokens = {
4085
4094
  "description": "Label-to-control gap.",
4086
4095
  "tier": "component"
4087
4096
  },
4097
+ "component.textField.gap.requirement": {
4098
+ "type": "dimension",
4099
+ "value": {
4100
+ "value": 3,
4101
+ "unit": "px"
4102
+ },
4103
+ "description": "Gap between the label and the mark that says the field is required.",
4104
+ "tier": "component"
4105
+ },
4088
4106
  "component.textField.gap.supporting": {
4089
4107
  "type": "dimension",
4090
4108
  "value": {
@@ -4094,6 +4112,15 @@ export const tokens = {
4094
4112
  "description": "Control-to-supporting-region gap.",
4095
4113
  "tier": "component"
4096
4114
  },
4115
+ "component.textField.gap.inline": {
4116
+ "type": "dimension",
4117
+ "value": {
4118
+ "value": 6,
4119
+ "unit": "px"
4120
+ },
4121
+ "description": "Gap between the slots inside the control: leading icon, prefix, value, suffix and trailing action.",
4122
+ "tier": "component"
4123
+ },
4097
4124
  "component.textField.gap.status": {
4098
4125
  "type": "dimension",
4099
4126
  "value": {
@@ -4400,6 +4427,15 @@ export const tokens = {
4400
4427
  "description": "Suggested Large maximum visible option region before scrolling.",
4401
4428
  "tier": "component"
4402
4429
  },
4430
+ "component.selectionPopup.inset": {
4431
+ "type": "dimension",
4432
+ "value": {
4433
+ "value": 6,
4434
+ "unit": "px"
4435
+ },
4436
+ "description": "Selection popup internal inset.",
4437
+ "tier": "component"
4438
+ },
4403
4439
  "component.selectionOption.minimum.standard": {
4404
4440
  "type": "dimension",
4405
4441
  "value": {
@@ -4607,6 +4643,51 @@ export const tokens = {
4607
4643
  "description": "Canonical Icon Frame presentation for Check or Remove artwork.",
4608
4644
  "tier": "component"
4609
4645
  },
4646
+ "component.choiceChip.markTarget": {
4647
+ "type": "dimension",
4648
+ "value": {
4649
+ "value": 24,
4650
+ "unit": "px"
4651
+ },
4652
+ "description": "Minimum reachable target for the Remove mark. The mark is drawn at 18; the contract asks for at least 24 that overlaps neither the label nor the chip edge, so the target is expanded around the drawn mark rather than enlarging it.",
4653
+ "tier": "component"
4654
+ },
4655
+ "component.choiceChip.railInset.compact": {
4656
+ "type": "dimension",
4657
+ "value": {
4658
+ "value": 9,
4659
+ "unit": "px"
4660
+ },
4661
+ "description": "9px rail inset; with the 12px terminal this produces the approved 21px content inset.",
4662
+ "tier": "component"
4663
+ },
4664
+ "component.choiceChip.railInset.standard": {
4665
+ "type": "dimension",
4666
+ "value": {
4667
+ "value": 12,
4668
+ "unit": "px"
4669
+ },
4670
+ "description": "12px rail inset; with the terminal this produces the approved 24px content inset.",
4671
+ "tier": "component"
4672
+ },
4673
+ "component.choiceChip.railInset.comfortable": {
4674
+ "type": "dimension",
4675
+ "value": {
4676
+ "value": 15,
4677
+ "unit": "px"
4678
+ },
4679
+ "description": "15px rail inset; with the terminal this produces the approved 27px content inset.",
4680
+ "tier": "component"
4681
+ },
4682
+ "component.choiceChip.railInset.large": {
4683
+ "type": "dimension",
4684
+ "value": {
4685
+ "value": 15,
4686
+ "unit": "px"
4687
+ },
4688
+ "description": "15px rail inset; with the terminal this produces the approved 27px content inset.",
4689
+ "tier": "component"
4690
+ },
4610
4691
  "component.tokenField.minimumInput": {
4611
4692
  "type": "dimension",
4612
4693
  "value": {
@@ -5140,6 +5221,11 @@ export const tokenPaths = [
5140
5221
  "component.choiceChip.inset.standard",
5141
5222
  "component.choiceChip.mark",
5142
5223
  "component.choiceChip.markGap",
5224
+ "component.choiceChip.markTarget",
5225
+ "component.choiceChip.railInset.comfortable",
5226
+ "component.choiceChip.railInset.compact",
5227
+ "component.choiceChip.railInset.large",
5228
+ "component.choiceChip.railInset.standard",
5143
5229
  "component.choiceChip.target.large",
5144
5230
  "component.choiceChip.target.standard",
5145
5231
  "component.choiceChip.terminal",
@@ -5166,6 +5252,7 @@ export const tokenPaths = [
5166
5252
  "component.link.gap.small",
5167
5253
  "component.link.gap.standard",
5168
5254
  "component.link.targetNavigation",
5255
+ "component.link.underline.current",
5169
5256
  "component.link.underline.default",
5170
5257
  "component.link.underline.emphasis",
5171
5258
  "component.link.underline.offset",
@@ -5189,6 +5276,7 @@ export const tokenPaths = [
5189
5276
  "component.selectionOption.minimum.large",
5190
5277
  "component.selectionOption.minimum.standard",
5191
5278
  "component.selectionPopup.gap",
5279
+ "component.selectionPopup.inset",
5192
5280
  "component.selectionPopup.maximumBlock.large",
5193
5281
  "component.selectionPopup.maximumBlock.standard",
5194
5282
  "component.selectionPopup.paddingBlock",
@@ -5225,8 +5313,10 @@ export const tokenPaths = [
5225
5313
  "component.tabItem.radius",
5226
5314
  "component.tabItem.rail",
5227
5315
  "component.textField.boundary",
5316
+ "component.textField.gap.inline",
5228
5317
  "component.textField.gap.label",
5229
5318
  "component.textField.gap.messageCounter",
5319
+ "component.textField.gap.requirement",
5230
5320
  "component.textField.gap.status",
5231
5321
  "component.textField.gap.supporting",
5232
5322
  "component.textField.height.comfortable",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oneli8/tokens",
3
- "version": "1.0.0-beta.5",
3
+ "version": "1.0.0-beta.7",
4
4
  "description": "OneLi8 Design System \u2014 design tokens compiled from Figma. CSS custom properties and a flat JS object.",
5
5
  "keywords": [
6
6
  "design-tokens",
package/scripts/test.mjs CHANGED
@@ -89,8 +89,9 @@ ok(builtStatus.generated===true&&builtStatus.components.length===status.componen
89
89
  ok(component.component.choiceChip.height.compact.$value.value===30&&component.component.choiceChip.height.standard.$value==="{size.control.compact}"&&component.component.choiceChip.height.comfortable.$value==="{size.control.standard}","Soft Hexagon visible heights must retain the approved 30px, 36px, and 42px geometry");
90
90
  ok(component.component.choiceChip.terminal.$value==="{spacing.inline.standard}"&&component.component.choiceChip.innerTerminal.$value.value===11,"Soft Hexagon terminal geometry must remain fixed rather than scaling with label length");
91
91
  ok(component.component.choiceChip.inset.compact.$value.value===21&&component.component.choiceChip.inset.standard.$value==="{spacing.inset.comfortable}"&&component.component.choiceChip.inset.comfortable.$value.value===27,"Soft Hexagon insets must retain the approved 21px, 24px, and 27px progression");
92
+ ok(component.component.choiceChip.markTarget.$value.value===24&&component.component.choiceChip.markTarget.$extensions["oneli8.geometry"]==="approved-component-recipe","The Remove mark target must stay a governed 24, not an enlarged 18px mark");
92
93
  ok(component.component.suggestionRail.gap.$value==="{component.choiceChip.gap}"&&component.component.suggestionRail.fieldSeparation.$value==="{spacing.stack.tight}","Suggested Values rail must reuse Choice Chip and structural spacing roles");
93
94
  ok(component.component.tabBar.gap.$value==="{spacing.none}"&&component.component.tabBar.inlineInset.$value==="{spacing.inline.minimal}","Tab Bar spacing must map to canonical zero gap and 3px Inline protection");
94
- ok(manifest.counts.primitive===170&&manifest.counts.semantic===270&&manifest.counts.component===152&&manifest.counts.componentStatuses===10&&manifest.counts.figmaVariables===578&&manifest.counts.figmaElevationStyles===5,"Navigation spacing and contextual token output counts must remain deterministic");
95
+ ok(manifest.counts.primitive===170&&manifest.counts.semantic===270&&manifest.counts.component===161&&manifest.counts.componentStatuses===10&&manifest.counts.figmaVariables===587&&manifest.counts.figmaElevationStyles===5,"Navigation spacing and contextual token output counts must remain deterministic");
95
96
 
96
97
  console.log(`PASS ${checks}/${checks} canonical token package checks.`);