@mkbabb/glass-ui 3.10.0 → 3.11.0

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.
Files changed (42) hide show
  1. package/dist/{ToggleGroupItem-Cev4pOVK.js → ToggleGroupItem-COu_4IW4.js} +17 -13
  2. package/dist/api/index.d.ts +1 -1
  3. package/dist/api.js +2 -2
  4. package/dist/aurora.js +77 -77
  5. package/dist/components/custom/aurora/constants/presets.d.ts +62 -5
  6. package/dist/components/custom/aurora/index.d.ts +1 -1
  7. package/dist/components/custom/dock/GlassDock.vue.d.ts +5 -1
  8. package/dist/components/custom/expandable-container/ExpandableContainer.vue.d.ts +10 -7
  9. package/dist/components/custom/handmark/brush.d.ts +23 -0
  10. package/dist/components/custom/handmark/geometry.d.ts +20 -2
  11. package/dist/components/custom/handmark/index.d.ts +2 -2
  12. package/dist/components/custom/handmark/useHandMark.d.ts +26 -5
  13. package/dist/components/ui/toggle/Toggle.vue.d.ts +1 -1
  14. package/dist/components/ui/toggle/index.d.ts +1 -1
  15. package/dist/components/ui/toggle-group/ToggleGroup.vue.d.ts +7 -1
  16. package/dist/components/ui/toggle-group/ToggleGroupItem.vue.d.ts +3 -1
  17. package/dist/components/ui/toggle-group/toggleGroupContext.d.ts +13 -0
  18. package/dist/composables/dark/index.d.ts +1 -1
  19. package/dist/composables/dark/useGlobalDark.d.ts +21 -1
  20. package/dist/controls.js +1 -1
  21. package/dist/dark.d.ts +1 -1
  22. package/dist/dark.js +1 -1
  23. package/dist/dock.js +191 -174
  24. package/dist/expandable-container.js +67 -49
  25. package/dist/fourier-field.js +1 -1
  26. package/dist/glass-ui.css +1 -1
  27. package/dist/glass-ui.js +2 -2
  28. package/dist/handmark.js +176 -123
  29. package/dist/labeled-field.js +1 -1
  30. package/dist/{presets-Dkdv55Gt.js → presets-BP_ALM0m.js} +14 -1
  31. package/dist/{slider-CyzcxBoh.js → slider-ClgpP7EB.js} +1 -1
  32. package/dist/slider.js +1 -1
  33. package/dist/styles/animations.css +40 -0
  34. package/dist/styles/components.css +1 -1
  35. package/dist/styles/tokens.css +5 -0
  36. package/dist/styles/utilities.css +44 -13
  37. package/dist/toggle-group.js +1 -1
  38. package/dist/{useGlobalDark-d6waty-X.js → useGlobalDark-D1wgEqfW.js} +21 -2
  39. package/package.json +10 -4
  40. package/src/styles/animations.css +40 -0
  41. package/src/styles/tokens.css +5 -0
  42. package/src/styles/utilities.css +44 -13
@@ -9,6 +9,27 @@
9
9
  @apply data-[state=open]:animate-in data-[state=closed]:animate-out
10
10
  data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0
11
11
  data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95;
12
+
13
+ /* ── 3.11 §2i-bis — the popover rides the SPRING grammar, not the generic
14
+ tw-animate tween. Per the tokens.css EASING DOCTRINE: enter = spring
15
+ (`--spring-snappy`, the crisp floating-surface entry), exit = bezier
16
+ (`--ease-out`, an exit must never overshoot past gone). The four custom
17
+ properties are the consumer seam — override per host, never fork the
18
+ utility. PRM snaps both directions to a single frame. */
19
+ &[data-state="open"] {
20
+ animation-duration: var(--popover-enter-duration, 200ms);
21
+ animation-timing-function: var(--popover-enter-ease, var(--spring-snappy));
22
+ }
23
+ &[data-state="closed"] {
24
+ animation-duration: var(--popover-exit-duration, 100ms);
25
+ animation-timing-function: var(--popover-exit-ease, var(--ease-out));
26
+ }
27
+ @media (prefers-reduced-motion: reduce) {
28
+ &[data-state="open"],
29
+ &[data-state="closed"] {
30
+ animation-duration: 1ms;
31
+ }
32
+ }
12
33
  }
13
34
 
14
35
  /* ── Slide-in entry by side data-attr ──
@@ -380,27 +401,37 @@
380
401
  }
381
402
  }
382
403
 
383
- /* D6.b — `.text-gilt`: the brand-polish ONE-SHOT shimmer. Same gold-clip
384
- gradient pass as `.gold-shimmer`, but the gold passes ONCE then SETS — a
385
- seal being pressed, not a marquee looping forever. This is the lawful home
386
- for the chassis "Complete!" celebration the disco-star used to carry: the
387
- gold sweeps once over the completion label on resolve, then holds the
388
- static gold gradient.
389
-
390
- `animation-iteration-count: 1` + `animation-fill-mode: forwards` so the
391
- slide runs exactly one pass and the final keyframe (background-position
392
- -200%) sticks — no per-frame repaint after settle. PRM users get the
393
- static gradient, no pass (the gold is still present, just unanimated). */
404
+ /* E7c — `.text-gilt`: the brand-polish ONE-SHOT seal, a FULL to-AND-fro round
405
+ trip. The gold gradient sweeps across ONCE (the press), catches the light,
406
+ and RECEDES to the figure's own resting ink — a pressed seal, not a marquee.
407
+
408
+ The defect this corrects: `.text-gilt` formerly set `color: transparent`
409
+ PERMANENTLY and ran the infinite `gold-shimmer-slide` `1 forwards`, so it
410
+ held its gilt terminal frame forever; the consumer then RIPPED the class off
411
+ on a `setTimeout`. But the gold gradient lives in `background-image`, which no
412
+ transition covers — so the gilt SNAPPED off in one frame (the broken to-and-fro
413
+ the user named). The recede was never authored at the library; it lived as a
414
+ JS class-yank in the consumer.
415
+
416
+ The fix is library-rooted: the RESTING state is the figure's OWN ink — `.text-gilt`
417
+ does NOT permanently null the color; only the `gold-shimmer-pulse` animation
418
+ drives `color`/`-webkit-text-fill-color` transparent (revealing the gradient
419
+ through `background-clip:text`) and BACK, over its own `--duration-seal`
420
+ (≈1.5s, NOT the 5s loop token), `ease-in-out`. The final keyframe IS rest, so
421
+ NO `forwards` and NO class-yank: the animation owns the whole envelope and the
422
+ gradient never snaps in a single frame. PRM users see no pass — the figure
423
+ just keeps its resting ink (no gilt sweep). */
394
424
  .text-gilt {
395
425
  background: linear-gradient(90deg, var(--color-gold-dark), var(--color-gold-light), var(--color-gold), var(--color-gold-light), var(--color-gold-dark));
396
426
  background-size: 250% 100%;
397
427
  background-clip: text;
398
428
  -webkit-background-clip: text;
399
- color: transparent;
429
+ /* resting = the figure's own ink (currentColor); the animation, not this
430
+ rule, nulls it to reveal the gradient — so there is nothing to yank. */
400
431
  }
401
432
  @media (prefers-reduced-motion: no-preference) {
402
433
  .text-gilt {
403
- animation: gold-shimmer-slide var(--duration-shimmer) var(--ease-out-expo) 1 forwards;
434
+ animation: gold-shimmer-pulse var(--duration-seal) var(--ease-standard) 1;
404
435
  }
405
436
  }
406
437