@oneli8/tokens 1.0.0-beta.4 → 1.0.0-beta.6
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 +58 -18
- package/ai-context.json +1 -1
- package/build/css/tokens.css +32 -23
- package/build/figma/variables.json +99 -0
- package/build/manifest.json +2 -2
- package/build/typescript/index.d.ts +1 -1
- package/build/typescript/index.js +90 -0
- package/package.json +1 -1
- package/scripts/test.mjs +2 -1
- package/src/component.json +77 -0
- package/src/figma-code-syntax.txt +330 -299
|
@@ -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
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===
|
|
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.`);
|
package/src/component.json
CHANGED
|
@@ -266,6 +266,11 @@
|
|
|
266
266
|
"$value": "{border.width.standard}",
|
|
267
267
|
"$description": "Hover and Pressed Link underline."
|
|
268
268
|
},
|
|
269
|
+
"current": {
|
|
270
|
+
"$type": "dimension",
|
|
271
|
+
"$value": "{border.width.strong}",
|
|
272
|
+
"$description": "Marker that shows the current destination in a Navigation Link. It sits where the underline sits and replaces it."
|
|
273
|
+
},
|
|
269
274
|
"offset": {
|
|
270
275
|
"$type": "dimension",
|
|
271
276
|
"$value": "{focus.ring.offset}",
|
|
@@ -385,11 +390,21 @@
|
|
|
385
390
|
"$value": "{spacing.stack.tight}",
|
|
386
391
|
"$description": "Label-to-control gap."
|
|
387
392
|
},
|
|
393
|
+
"requirement": {
|
|
394
|
+
"$type": "dimension",
|
|
395
|
+
"$value": "{spacing.inline.minimal}",
|
|
396
|
+
"$description": "Gap between the label and the mark that says the field is required."
|
|
397
|
+
},
|
|
388
398
|
"supporting": {
|
|
389
399
|
"$type": "dimension",
|
|
390
400
|
"$value": "{spacing.stack.tight}",
|
|
391
401
|
"$description": "Control-to-supporting-region gap."
|
|
392
402
|
},
|
|
403
|
+
"inline": {
|
|
404
|
+
"$type": "dimension",
|
|
405
|
+
"$value": "{spacing.inline.related}",
|
|
406
|
+
"$description": "Gap between the slots inside the control: leading icon, prefix, value, suffix and trailing action."
|
|
407
|
+
},
|
|
393
408
|
"status": {
|
|
394
409
|
"$type": "dimension",
|
|
395
410
|
"$value": "{spacing.inline.minimal}",
|
|
@@ -634,6 +649,11 @@
|
|
|
634
649
|
},
|
|
635
650
|
"$description": "Suggested Large maximum visible option region before scrolling."
|
|
636
651
|
}
|
|
652
|
+
},
|
|
653
|
+
"inset": {
|
|
654
|
+
"$type": "dimension",
|
|
655
|
+
"$value": "{spacing.inline.related}",
|
|
656
|
+
"$description": "Selection popup internal inset."
|
|
637
657
|
}
|
|
638
658
|
},
|
|
639
659
|
"selectionOption": {
|
|
@@ -811,6 +831,63 @@
|
|
|
811
831
|
"$type": "dimension",
|
|
812
832
|
"$value": "{size.icon.small}",
|
|
813
833
|
"$description": "Canonical Icon Frame presentation for Check or Remove artwork."
|
|
834
|
+
},
|
|
835
|
+
"markTarget": {
|
|
836
|
+
"$type": "dimension",
|
|
837
|
+
"$value": {
|
|
838
|
+
"value": 24,
|
|
839
|
+
"unit": "px"
|
|
840
|
+
},
|
|
841
|
+
"$extensions": {
|
|
842
|
+
"oneli8.geometry": "approved-component-recipe"
|
|
843
|
+
},
|
|
844
|
+
"$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."
|
|
845
|
+
},
|
|
846
|
+
"railInset": {
|
|
847
|
+
"compact": {
|
|
848
|
+
"$type": "dimension",
|
|
849
|
+
"$value": {
|
|
850
|
+
"value": 9,
|
|
851
|
+
"unit": "px"
|
|
852
|
+
},
|
|
853
|
+
"$extensions": {
|
|
854
|
+
"oneli8.geometry": "approved-component-recipe"
|
|
855
|
+
},
|
|
856
|
+
"$description": "9px rail inset; with the 12px terminal this produces the approved 21px content inset."
|
|
857
|
+
},
|
|
858
|
+
"standard": {
|
|
859
|
+
"$type": "dimension",
|
|
860
|
+
"$value": {
|
|
861
|
+
"value": 12,
|
|
862
|
+
"unit": "px"
|
|
863
|
+
},
|
|
864
|
+
"$extensions": {
|
|
865
|
+
"oneli8.geometry": "approved-component-recipe"
|
|
866
|
+
},
|
|
867
|
+
"$description": "12px rail inset; with the terminal this produces the approved 24px content inset."
|
|
868
|
+
},
|
|
869
|
+
"comfortable": {
|
|
870
|
+
"$type": "dimension",
|
|
871
|
+
"$value": {
|
|
872
|
+
"value": 15,
|
|
873
|
+
"unit": "px"
|
|
874
|
+
},
|
|
875
|
+
"$extensions": {
|
|
876
|
+
"oneli8.geometry": "approved-component-recipe"
|
|
877
|
+
},
|
|
878
|
+
"$description": "15px rail inset; with the terminal this produces the approved 27px content inset."
|
|
879
|
+
},
|
|
880
|
+
"large": {
|
|
881
|
+
"$type": "dimension",
|
|
882
|
+
"$value": {
|
|
883
|
+
"value": 15,
|
|
884
|
+
"unit": "px"
|
|
885
|
+
},
|
|
886
|
+
"$extensions": {
|
|
887
|
+
"oneli8.geometry": "approved-component-recipe"
|
|
888
|
+
},
|
|
889
|
+
"$description": "15px rail inset; with the terminal this produces the approved 27px content inset."
|
|
890
|
+
}
|
|
814
891
|
}
|
|
815
892
|
},
|
|
816
893
|
"tokenField": {
|