@oneli8/react 1.0.0-beta.11 → 1.0.0-beta.12

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/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.11",
4
+ "version": "1.0.0-beta.12",
5
5
  "meaning": "OneLi8 means One Light.",
6
6
  "foundations": {
7
7
  "package": "@oneli8/tokens",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oneli8/react",
3
- "version": "1.0.0-beta.11",
3
+ "version": "1.0.0-beta.12",
4
4
  "description": "OneLi8 Design System for React. Components, design tokens, the Gem material, and the design language they follow.",
5
5
  "keywords": [
6
6
  "react",
@@ -52,7 +52,7 @@
52
52
  "NOTICE"
53
53
  ],
54
54
  "dependencies": {
55
- "@oneli8/tokens": "1.0.0-beta.11"
55
+ "@oneli8/tokens": "1.0.0-beta.12"
56
56
  },
57
57
  "peerDependencies": {
58
58
  "react": ">=18"
@@ -447,11 +447,40 @@
447
447
  1 - (1 - a)^4. Measured in proof/gem-halo-contrast.html. */
448
448
  text-shadow: var(--_gem-glow), var(--_gem-glow),
449
449
  var(--_gem-glow), var(--_gem-glow);
450
- /* The cut edge. Invariant it is what keeps a gem recognisable as gem. */
450
+ /* The cut edge, exactly as the Gem slab carries it in Figma Light Gem Slab
451
+ 297:617, which is the container this class is the code equivalent of:
452
+
453
+ INNER_SHADOW offset 3, 3 blur 6 Cut Edge / High
454
+ INNER_SHADOW offset -3,-3 blur 12 spread -3 Cut Edge / Mid
455
+ DROP_SHADOW offset 0,12 blur 36 Cut Edge / Shadow
456
+ DROP_SHADOW offset 0, 3 blur 6 Cut Edge / Shadow
457
+
458
+ TWO inner shadows, from OPPOSITE corners: light falling top-left and shade
459
+ gathering bottom-right. That is why the bezel reads on all four sides in
460
+ Figma. This carried a top specular and a 1px rim instead — the CONTROL
461
+ recipe, which belongs to buttons and fields, not to a slab — so the cut
462
+ only ever showed along the top. Every offset and blur here is on the 3px
463
+ grid, which is how the slab was drawn. */
451
464
  box-shadow:
452
- inset 0 2px 1px 0 var(--ol8-material-gem-color-cutedge-high),
453
- inset 0 0 0 1px var(--ol8-material-gem-color-cutedge-mid),
454
- 0 9px 12px var(--ol8-material-gem-color-cutedge-shadow);
465
+ inset 3px 3px 6px 0 var(--ol8-material-gem-color-cutedge-high),
466
+ inset -3px -3px 12px -3px var(--ol8-material-gem-color-cutedge-mid),
467
+ 0 12px 36px var(--ol8-material-gem-color-cutedge-shadow),
468
+ 0 3px 6px var(--ol8-material-gem-color-cutedge-shadow);
469
+ }
470
+
471
+ /* A Token or Choice Chip sitting ON a Gem surface.
472
+ Both draw the Choice Chip silhouette, whose default --_surface is
473
+ color.surface.sunken — an opaque plate. On glass that reads as a solid
474
+ lozenge stuck to the surface, and in the Light appearance its ink is dark,
475
+ so the label goes invisible against near-white gem content beside it.
476
+ The pill turns transparent and the label takes the gem ink and halo, so the
477
+ chip reads as a boundary around content rather than a second material. */
478
+ .ol8-gem .ol8-chip {
479
+ --_surface: transparent;
480
+ --_edge: var(--ol8-material-gem-color-cutedge-high);
481
+ --_ink: var(--ol8-material-gem-color-quiet-content);
482
+ text-shadow: var(--_gem-glow), var(--_gem-glow),
483
+ var(--_gem-glow), var(--_gem-glow);
455
484
  }
456
485
 
457
486
  /* Disabled on a generic Gem surface, same single grey, same absent halo. */
@@ -481,6 +510,26 @@
481
510
  --_gem-blur: var(--ol8-material-gem-blur-environmental);
482
511
  }
483
512
 
513
+ /* The third rung, and the SAME face as reduced transparency below reached for
514
+ a different reason. That one is the PREFERENCE route — the person asked for
515
+ less transparency, system-wide. This is the CONTEXT route: this surface is
516
+ legibility-critical right now, and the environment losing presence is the
517
+ correct trade rather than a regression. An athlete reading a split while
518
+ running laps is the case: speed is exactly when the ambient face recedes,
519
+ and exactly when this reader can least afford it.
520
+
521
+ Both land on legibilityFace because there is one dense-but-see-through face,
522
+ not two. 0.72 leaves 28% of the scene visible and measures 7.70:1 against
523
+ near-white ink in the worst region of a daylight plate, with no credit taken
524
+ for the halo — AAA while still worn-display honest.
525
+
526
+ Blur holds at the stabilized 12px. Environmental's 18px exists to let the
527
+ scene dominate, which is the opposite of what this face is for. */
528
+ .ol8-gem[data-ol8-face="legibility"] {
529
+ --_gem-face: var(--ol8-material-gem-color-quiet-legibilityface);
530
+ --_gem-blur: var(--ol8-material-gem-blur-stabilized);
531
+ }
532
+
484
533
  /* REDUCED TRANSPARENCY, THE WORN-DISPLAY READING OF IT
485
534
  Gem is worn, so the background is the real world and an opaque panel would
486
535
  occlude the street for the person who needs help reading the interface most.